{"_id":"@putout/plugin-apply-overrides","_rev":"4159774","name":"@putout/plugin-apply-overrides","description":"🐊Putout plugin adds ability apply 'overrides'","dist-tags":{"latest":"3.0.0"},"maintainers":[{"name":"coderaiser","email":"mnemonic.enemy@gmail.com"}],"time":{"modified":"2026-03-01T20:36:19.000Z","created":"2024-05-03T14:20:44.345Z","3.0.0":"2025-04-14T16:10:38.370Z","2.1.0":"2024-08-22T15:03:05.821Z","2.0.0":"2024-08-22T10:11:55.669Z","1.3.0":"2024-05-09T21:03:40.193Z","1.2.0":"2024-05-06T11:15:23.810Z","1.1.0":"2024-05-04T09:47:06.276Z","1.0.0":"2024-05-03T14:20:44.345Z"},"users":{},"author":{"name":"coderaiser","email":"mnemonic.enemy@gmail.com","url":"https://github.com/coderaiser"},"repository":{"type":"git","url":"git+https://github.com/coderaiser/putout.git"},"versions":{"3.0.0":{"name":"@putout/plugin-apply-overrides","version":"3.0.0","type":"module","author":{"name":"coderaiser","email":"mnemonic.enemy@gmail.com","url":"https://github.com/coderaiser"},"description":"🐊Putout plugin adds ability apply 'overrides'","homepage":"https://github.com/coderaiser/putout/tree/master/packages/plugin-apply-overrides#readme","main":"lib/apply-overrides.js","release":false,"tag":false,"changelog":false,"repository":{"type":"git","url":"git+https://github.com/coderaiser/putout.git"},"scripts":{"test":"madrun test","watch:test":"madrun watch:test","lint":"madrun lint","fresh:lint":"madrun fresh:lint","lint:fresh":"madrun lint:fresh","fix:lint":"madrun fix:lint","coverage":"madrun coverage","report":"madrun report"},"dependencies":{},"keywords":["putout","putout-plugin","plugin","overrides"],"devDependencies":{"@putout/test":"^13.0.0","c8":"^10.0.0","eslint":"^9.0.0","eslint-plugin-n":"^17.0.0","eslint-plugin-putout":"^26.0.0","madrun":"^11.0.0","nodemon":"^3.0.1"},"peerDependencies":{"putout":">=40"},"license":"MIT","engines":{"node":">=20"},"publishConfig":{"access":"public"},"_id":"@putout/plugin-apply-overrides@3.0.0","gitHead":"ade7dca8bf8aa5bf31195c6931e7feee11720365","bugs":{"url":"https://github.com/coderaiser/putout/issues"},"_nodeVersion":"20.19.0","_npmVersion":"11.1.0","dist":{"shasum":"b8b1b4f63a8b6b5c253f011002cbacdca9b7f68e","size":2738,"noattachment":false,"key":"/@putout/plugin-apply-overrides/-/@putout/plugin-apply-overrides-3.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/@putout/plugin-apply-overrides/download/@putout/plugin-apply-overrides-3.0.0.tgz"},"_npmUser":{"name":"coderaiser","email":"mnemonic.enemy@gmail.com"},"directories":{},"maintainers":[{"name":"coderaiser","email":"mnemonic.enemy@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/plugin-apply-overrides_3.0.0_1744647038211_0.05029275932220445"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-04-14T16:10:38.370Z","publish_time":1744647038370,"_source_registry_name":"default","_cnpm_publish_time":1744647038370},"2.1.0":{"name":"@putout/plugin-apply-overrides","version":"2.1.0","type":"commonjs","author":{"name":"coderaiser","email":"mnemonic.enemy@gmail.com","url":"https://github.com/coderaiser"},"description":"🐊Putout plugin adds ability apply 'overrides'","homepage":"https://github.com/coderaiser/putout/tree/master/packages/plugin-apply-overrides#readme","main":"lib/apply-overrides.js","release":false,"tag":false,"changelog":false,"repository":{"type":"git","url":"git://github.com/coderaiser/putout.git"},"scripts":{"test":"madrun test","watch:test":"madrun watch:test","lint":"madrun lint","fresh:lint":"madrun fresh:lint","lint:fresh":"madrun lint:fresh","fix:lint":"madrun fix:lint","coverage":"madrun coverage","report":"madrun report"},"dependencies":{},"keywords":["putout","putout-plugin","plugin","overrides"],"devDependencies":{"@putout/test":"^11.0.0","c8":"^10.0.0","eslint":"^9.0.0","eslint-plugin-n":"^17.0.0","eslint-plugin-putout":"^22.0.0","lerna":"^6.0.1","madrun":"^10.0.0","nodemon":"^3.0.1"},"peerDependencies":{"putout":">=36"},"license":"MIT","engines":{"node":">=18"},"publishConfig":{"access":"public"},"_id":"@putout/plugin-apply-overrides@2.1.0","gitHead":"1dc711b6dc11ec0103fab2451eeea10f82031d35","bugs":{"url":"https://github.com/coderaiser/putout/issues"},"_nodeVersion":"20.15.1","_npmVersion":"10.8.2","dist":{"shasum":"c0e4ad36b21a76a404ee67a82aa6e20399f0cb86","size":2763,"noattachment":false,"key":"/@putout/plugin-apply-overrides/-/@putout/plugin-apply-overrides-2.1.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/@putout/plugin-apply-overrides/download/@putout/plugin-apply-overrides-2.1.0.tgz"},"_npmUser":{"name":"coderaiser","email":"mnemonic.enemy@gmail.com"},"directories":{},"maintainers":[{"name":"coderaiser","email":"mnemonic.enemy@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/plugin-apply-overrides_2.1.0_1724338985538_0.6579617021193593"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2024-08-22T15:03:05.821Z","publish_time":1724338985821,"_source_registry_name":"default","_cnpm_publish_time":1724338985821},"2.0.0":{"name":"@putout/plugin-apply-overrides","version":"2.0.0","type":"commonjs","author":{"name":"coderaiser","email":"mnemonic.enemy@gmail.com","url":"https://github.com/coderaiser"},"description":"🐊Putout plugin adds ability apply 'overrides'","homepage":"https://github.com/coderaiser/putout/tree/master/packages/plugin-apply-overrides#readme","main":"lib/apply-overrides.js","release":false,"tag":false,"changelog":false,"repository":{"type":"git","url":"git://github.com/coderaiser/putout.git"},"scripts":{"test":"madrun test","watch:test":"madrun watch:test","lint":"madrun lint","fresh:lint":"madrun fresh:lint","lint:fresh":"madrun lint:fresh","fix:lint":"madrun fix:lint","coverage":"madrun coverage","report":"madrun report"},"dependencies":{},"keywords":["putout","putout-plugin","plugin","overrides"],"devDependencies":{"@putout/test":"^11.0.0","c8":"^10.0.0","eslint":"^9.0.0","eslint-plugin-n":"^17.0.0","eslint-plugin-putout":"^22.0.0","lerna":"^6.0.1","madrun":"^10.0.0","nodemon":"^3.0.1"},"peerDependencies":{"putout":">=36"},"license":"MIT","engines":{"node":">=18"},"publishConfig":{"access":"public"},"_id":"@putout/plugin-apply-overrides@2.0.0","gitHead":"1e1f39d3b03a53f1dff4af267c7a0e8604772b50","bugs":{"url":"https://github.com/coderaiser/putout/issues"},"_nodeVersion":"18.20.4","_npmVersion":"10.8.2","dist":{"shasum":"3863ffb326f7aba0ef61fc9edec6c04c79bbd8e2","size":2771,"noattachment":false,"key":"/@putout/plugin-apply-overrides/-/@putout/plugin-apply-overrides-2.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/@putout/plugin-apply-overrides/download/@putout/plugin-apply-overrides-2.0.0.tgz"},"_npmUser":{"name":"coderaiser","email":"mnemonic.enemy@gmail.com"},"directories":{},"maintainers":[{"name":"coderaiser","email":"mnemonic.enemy@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/plugin-apply-overrides_2.0.0_1724321515544_0.10533672229210511"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2024-08-22T10:11:55.669Z","publish_time":1724321515669,"_source_registry_name":"default","_cnpm_publish_time":1724321515669},"1.3.0":{"name":"@putout/plugin-apply-overrides","version":"1.3.0","type":"commonjs","author":{"name":"coderaiser","email":"mnemonic.enemy@gmail.com","url":"https://github.com/coderaiser"},"description":"🐊Putout plugin adds ability apply 'overrides'","homepage":"https://github.com/coderaiser/putout/tree/master/packages/plugin-apply-overrides#readme","main":"lib/apply-overrides.js","release":false,"tag":false,"changelog":false,"repository":{"type":"git","url":"git://github.com/coderaiser/putout.git"},"scripts":{"test":"madrun test","watch:test":"madrun watch:test","lint":"madrun lint","fresh:lint":"madrun fresh:lint","lint:fresh":"madrun lint:fresh","fix:lint":"madrun fix:lint","coverage":"madrun coverage","report":"madrun report"},"dependencies":{},"keywords":["putout","putout-plugin","plugin","overrides"],"devDependencies":{"@putout/test":"^9.0.0","c8":"^9.0.0","eslint":"^9.0.0","eslint-plugin-n":"^17.0.0","eslint-plugin-putout":"^22.0.0","lerna":"^6.0.1","madrun":"^10.0.0","nodemon":"^3.0.1"},"peerDependencies":{"putout":">=35"},"license":"MIT","engines":{"node":">=18"},"publishConfig":{"access":"public"},"_id":"@putout/plugin-apply-overrides@1.3.0","gitHead":"55dd40f7cb469863d4c86d897921e9e5533f8757","bugs":{"url":"https://github.com/coderaiser/putout/issues"},"_nodeVersion":"20.12.2","_npmVersion":"10.5.0","dist":{"shasum":"d17b6137be13cc3c6c6efcef781f7ed9bee9698d","size":2712,"noattachment":false,"key":"/@putout/plugin-apply-overrides/-/@putout/plugin-apply-overrides-1.3.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/@putout/plugin-apply-overrides/download/@putout/plugin-apply-overrides-1.3.0.tgz"},"_npmUser":{"name":"coderaiser","email":"mnemonic.enemy@gmail.com"},"directories":{},"maintainers":[{"name":"coderaiser","email":"mnemonic.enemy@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/plugin-apply-overrides_1.3.0_1715288620040_0.6123448452883886"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2024-05-09T21:03:40.193Z","publish_time":1715288620193,"_source_registry_name":"default","_cnpm_publish_time":1715288620193},"1.2.0":{"name":"@putout/plugin-apply-overrides","version":"1.2.0","type":"commonjs","author":{"name":"coderaiser","email":"mnemonic.enemy@gmail.com","url":"https://github.com/coderaiser"},"description":"🐊Putout plugin adds ability apply 'overrides'","homepage":"https://github.com/coderaiser/putout/tree/master/packages/plugin-apply-overrides#readme","main":"lib/apply-overrides.js","release":false,"tag":false,"changelog":false,"repository":{"type":"git","url":"git://github.com/coderaiser/putout.git"},"scripts":{"test":"madrun test","watch:test":"madrun watch:test","lint":"madrun lint","fresh:lint":"madrun fresh:lint","lint:fresh":"madrun lint:fresh","fix:lint":"madrun fix:lint","coverage":"madrun coverage","report":"madrun report"},"dependencies":{},"keywords":["putout","putout-plugin","plugin","overrides"],"devDependencies":{"@putout/test":"^9.0.0","c8":"^9.0.0","eslint":"^9.0.0","eslint-plugin-n":"^17.0.0","eslint-plugin-putout":"^22.0.0","lerna":"^6.0.1","madrun":"^10.0.0","nodemon":"^3.0.1"},"peerDependencies":{"putout":">=35"},"license":"MIT","engines":{"node":">=18"},"publishConfig":{"access":"public"},"_id":"@putout/plugin-apply-overrides@1.2.0","gitHead":"74d926d77dfeba93f1462289eb4a1ba5fb792854","bugs":{"url":"https://github.com/coderaiser/putout/issues"},"_nodeVersion":"20.12.2","_npmVersion":"10.5.0","dist":{"shasum":"b298b833ffe8d27325766263a74bbae66549a6d3","size":2698,"noattachment":false,"key":"/@putout/plugin-apply-overrides/-/@putout/plugin-apply-overrides-1.2.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/@putout/plugin-apply-overrides/download/@putout/plugin-apply-overrides-1.2.0.tgz"},"_npmUser":{"name":"coderaiser","email":"mnemonic.enemy@gmail.com"},"directories":{},"maintainers":[{"name":"coderaiser","email":"mnemonic.enemy@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/plugin-apply-overrides_1.2.0_1714994123664_0.5160372160516165"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2024-05-06T11:15:23.810Z","publish_time":1714994123810,"_source_registry_name":"default","_cnpm_publish_time":1714994123810},"1.1.0":{"name":"@putout/plugin-apply-overrides","version":"1.1.0","type":"commonjs","author":{"name":"coderaiser","email":"mnemonic.enemy@gmail.com","url":"https://github.com/coderaiser"},"description":"🐊Putout plugin adds ability apply 'overrides'","homepage":"https://github.com/coderaiser/putout/tree/master/packages/plugin-apply-overrides#readme","main":"lib/apply-overrides.js","release":false,"tag":false,"changelog":false,"repository":{"type":"git","url":"git://github.com/coderaiser/putout.git"},"scripts":{"test":"madrun test","watch:test":"madrun watch:test","lint":"madrun lint","fresh:lint":"madrun fresh:lint","lint:fresh":"madrun lint:fresh","fix:lint":"madrun fix:lint","coverage":"madrun coverage","report":"madrun report"},"dependencies":{},"keywords":["putout","putout-plugin","plugin","overrides"],"devDependencies":{"@putout/test":"^9.0.0","c8":"^9.0.0","eslint":"^9.0.0","eslint-plugin-n":"^17.0.0","eslint-plugin-putout":"^22.0.0","lerna":"^6.0.1","madrun":"^10.0.0","nodemon":"^3.0.1"},"peerDependencies":{"putout":">=35"},"license":"MIT","engines":{"node":">=18"},"publishConfig":{"access":"public"},"_id":"@putout/plugin-apply-overrides@1.1.0","gitHead":"9cb59ed7b4edcece80768afd2a20891f8ddc72a7","bugs":{"url":"https://github.com/coderaiser/putout/issues"},"_nodeVersion":"20.12.2","_npmVersion":"10.5.0","dist":{"shasum":"66512655d1547900efd388f3c2051a3cdc7666a5","size":2702,"noattachment":false,"key":"/@putout/plugin-apply-overrides/-/@putout/plugin-apply-overrides-1.1.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/@putout/plugin-apply-overrides/download/@putout/plugin-apply-overrides-1.1.0.tgz"},"_npmUser":{"name":"coderaiser","email":"mnemonic.enemy@gmail.com"},"directories":{},"maintainers":[{"name":"coderaiser","email":"mnemonic.enemy@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/plugin-apply-overrides_1.1.0_1714816026086_0.48083594935370777"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2024-05-04T09:47:06.276Z","publish_time":1714816026276,"_source_registry_name":"default","_cnpm_publish_time":1714816026276},"1.0.0":{"name":"@putout/plugin-apply-overrides","version":"1.0.0","type":"commonjs","author":{"name":"coderaiser","email":"mnemonic.enemy@gmail.com","url":"https://github.com/coderaiser"},"description":"🐊Putout plugin adds ability apply 'overrides'","homepage":"https://github.com/coderaiser/putout/tree/master/packages/plugin-apply-overrides#readme","main":"lib/apply-overrides.js","release":false,"tag":false,"changelog":false,"repository":{"type":"git","url":"git://github.com/coderaiser/putout.git"},"scripts":{"test":"madrun test","watch:test":"madrun watch:test","lint":"madrun lint","fresh:lint":"madrun fresh:lint","lint:fresh":"madrun lint:fresh","fix:lint":"madrun fix:lint","coverage":"madrun coverage","report":"madrun report"},"dependencies":{},"keywords":["putout","putout-plugin","plugin","overrides"],"devDependencies":{"@putout/test":"^9.0.0","c8":"^9.0.0","eslint":"^9.0.0","eslint-plugin-n":"^17.0.0","eslint-plugin-putout":"^22.0.0","lerna":"^6.0.1","madrun":"^10.0.0","nodemon":"^3.0.1"},"peerDependencies":{"putout":">=35"},"license":"MIT","engines":{"node":">=18"},"publishConfig":{"access":"public"},"_id":"@putout/plugin-apply-overrides@1.0.0","gitHead":"36c206606d3e40c01cf50350f549e7651733bc33","bugs":{"url":"https://github.com/coderaiser/putout/issues"},"_nodeVersion":"20.12.2","_npmVersion":"10.5.0","dist":{"shasum":"6d2c0bc72dc89eac7d9469d01852b6a1d6bcf64f","size":2753,"noattachment":false,"key":"/@putout/plugin-apply-overrides/-/@putout/plugin-apply-overrides-1.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/@putout/plugin-apply-overrides/download/@putout/plugin-apply-overrides-1.0.0.tgz"},"_npmUser":{"name":"coderaiser","email":"mnemonic.enemy@gmail.com"},"directories":{},"maintainers":[{"name":"coderaiser","email":"mnemonic.enemy@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/plugin-apply-overrides_1.0.0_1714746044183_0.5539967805389896"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2024-05-03T14:20:44.345Z","publish_time":1714746044345,"_source_registry_name":"default","_cnpm_publish_time":1714746044345}},"readme":"# @putout/plugin-apply-overrides [![NPM version][NPMIMGURL]][NPMURL]\n\n[NPMIMGURL]: https://img.shields.io/npm/v/@putout/plugin-apply-overrides.svg?style=flat&longCache=true\n[NPMURL]: https://npmjs.org/package/@putout/plugin-apply-overrides \"npm\"\n\n????[**Putout**](https://github.com/coderaiser/putout) plugin adds ability to apply `overrides`.\n\nCheckout in ????[**Putout Editor**](https://putout.cloudcmd.io/#/gist/2f03cfd6d8dab1431ef388fb9168a017/098a08fd5ba26e5b7dc12e3adcd9766dce6aca0c).\n\nWhen you write testable code and want to avoid mocking `require`d or `import`ed modules, one of a solutions to use simple form\nof dependency injection:\n\n```js\nimport {readDirSync as _readdirSync} from 'node:fs/promises';\n\nexport const readRules = (dirOpt, rulesDir, overrides = {}) => {\n    const {\n        cwd,\n        readdirSync = _readdirSync,\n    } = overrides;\n};\n```\n\nPass `overrides` as last parameter, in this case use can test easily your function `readFules`:\n\n```js\nimport {test, stub} from 'supertape';\n\ntest('readRules', (t) => {\n    const readdirSync = stub().returns([]);\n    const rules = readRules('', '', {\n        readdirSync,\n    });\n    \n    t.equal(rules, []);\n    t.end();\n});\n```\n\nThen only issue is, when you have lots of parameters, your function declaration will be to long, or to hard to read, so recommended way is to use `overrides` variable.\n\n## Install\n\n```\nnpm i @putout/plugin-apply-overrides\n```\n\n## Rule\n\n```json\n{\n    \"rules\": {\n        \"apply-overrides\": \"on\"\n    }\n}\n```\n\n## ❌ Example of incorrect code\n\n```js\nasync function matchToFlatDir(path, config, {readESLintConfig = _readESLintConfig} = {}) {}\n```\n\n## ✅ Example of correct code\n\n```js\nasync function matchToFlatDir(path, config, overrides = {}) {\n    const {\n        readESLintConfig = _readESLintConfig,\n    } = overrides;\n}\n```\n\n## License\n\nMIT\n","_attachments":{},"homepage":"https://github.com/coderaiser/putout/tree/master/packages/plugin-apply-overrides#readme","bugs":{"url":"https://github.com/coderaiser/putout/issues"},"license":"MIT"}