{"_id":"@putout/plugin-merge-duplicate-functions","_rev":"4159341","name":"@putout/plugin-merge-duplicate-functions","description":"🐊Putout plugin adds ability to merge duplicate functions","dist-tags":{"latest":"4.0.0"},"maintainers":[{"name":"coderaiser","email":"mnemonic.enemy@gmail.com"}],"time":{"modified":"2026-03-01T20:34:51.000Z","created":"2023-03-10T16:25:45.860Z","4.0.0":"2025-05-14T17:50:08.910Z","3.0.0":"2025-04-02T10:14:55.458Z","2.0.0":"2023-09-15T08:02:33.819Z","1.0.3":"2023-05-09T10:58:05.383Z","1.0.2":"2023-05-09T10:49:19.768Z","1.0.1":"2023-05-01T09:50:44.996Z","1.0.0":"2023-03-10T16:25:45.860Z"},"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":{"4.0.0":{"name":"@putout/plugin-merge-duplicate-functions","version":"4.0.0","type":"module","author":{"name":"coderaiser","email":"mnemonic.enemy@gmail.com","url":"https://github.com/coderaiser"},"description":"🐊Putout plugin adds ability to merge duplicate functions","homepage":"https://github.com/coderaiser/putout/tree/master/packages/plugin-merge-duplicate-functions#readme","main":"lib/merge-duplicate-functions.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","putout-plugin-merge","plugin","merge","duplicate","functions"],"devDependencies":{"@putout/eslint-flat":"^3.0.0","@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-merge-duplicate-functions@4.0.0","gitHead":"6e7496d7aa213b02511cc9a29da171e5003df81d","bugs":{"url":"https://github.com/coderaiser/putout/issues"},"_nodeVersion":"22.15.0","_npmVersion":"11.1.0","dist":{"shasum":"3fc5bc473279c32ff9da9b6b02f337b7f71c27ee","size":2659,"noattachment":false,"key":"/@putout/plugin-merge-duplicate-functions/-/@putout/plugin-merge-duplicate-functions-4.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/@putout/plugin-merge-duplicate-functions/download/@putout/plugin-merge-duplicate-functions-4.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-merge-duplicate-functions_4.0.0_1747245008719_0.6334670164923213"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-05-14T17:50:08.910Z","publish_time":1747245008910,"_source_registry_name":"default","_cnpm_publish_time":1747245008910},"3.0.0":{"name":"@putout/plugin-merge-duplicate-functions","version":"3.0.0","type":"module","author":{"name":"coderaiser","email":"mnemonic.enemy@gmail.com","url":"https://github.com/coderaiser"},"description":"🐊Putout plugin adds ability to merge duplicate functions","homepage":"https://github.com/coderaiser/putout/tree/master/packages/plugin-merge-duplicate-functions#readme","main":"lib/merge-duplicate-functions.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","putout-plugin-merge","plugin","merge","duplicate","functions"],"devDependencies":{"@putout/eslint-flat":"^3.0.0","@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":">=39"},"license":"MIT","engines":{"node":">=20"},"publishConfig":{"access":"public"},"_id":"@putout/plugin-merge-duplicate-functions@3.0.0","gitHead":"2af50891c9248eea4aff13faecb874baaa4533de","bugs":{"url":"https://github.com/coderaiser/putout/issues"},"_nodeVersion":"20.19.0","_npmVersion":"11.1.0","dist":{"shasum":"9924768910bc833fb141c51237d07255f047fdb8","size":2601,"noattachment":false,"key":"/@putout/plugin-merge-duplicate-functions/-/@putout/plugin-merge-duplicate-functions-3.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/@putout/plugin-merge-duplicate-functions/download/@putout/plugin-merge-duplicate-functions-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-merge-duplicate-functions_3.0.0_1743588895264_0.8768237811376718"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-04-02T10:14:55.458Z","publish_time":1743588895458,"_source_registry_name":"default","_cnpm_publish_time":1743588895458},"2.0.0":{"name":"@putout/plugin-merge-duplicate-functions","version":"2.0.0","type":"commonjs","author":{"name":"coderaiser","email":"mnemonic.enemy@gmail.com","url":"https://github.com/coderaiser"},"description":"🐊Putout plugin adds ability to merge duplicate functions","homepage":"https://github.com/coderaiser/putout/tree/master/packages/plugin-merge-duplicate-functions#readme","main":"lib/merge-duplicate-functions.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":{},"keyswords":["putout","putout-plugin","putout-plugin-merge","plugin","merge","duplicate","functions"],"devDependencies":{"@putout/test":"^7.0.0","c8":"^8.0.0","eslint":"^8.0.1","eslint-plugin-n":"^16.0.0","eslint-plugin-putout":"^19.0.0","lerna":"^6.0.1","madrun":"^9.0.0","nodemon":"^3.0.1"},"peerDependencies":{"putout":">=32"},"license":"MIT","engines":{"node":">=16"},"publishConfig":{"access":"public"},"gitHead":"b02487411bbc4660eb9003520b7a6ffe8f462815","bugs":{"url":"https://github.com/coderaiser/putout/issues"},"_id":"@putout/plugin-merge-duplicate-functions@2.0.0","_nodeVersion":"20.6.1","_npmVersion":"9.6.6","dist":{"shasum":"9686de022d1bbdeee1c0a4ef6e5e55ae9c03f2d6","size":2603,"noattachment":false,"key":"/@putout/plugin-merge-duplicate-functions/-/@putout/plugin-merge-duplicate-functions-2.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/@putout/plugin-merge-duplicate-functions/download/@putout/plugin-merge-duplicate-functions-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-merge-duplicate-functions_2.0.0_1694764953655_0.8806259081330998"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-09-15T08:02:33.819Z","publish_time":1694764953819,"_source_registry_name":"default","_cnpm_publish_time":1694764953819},"1.0.3":{"name":"@putout/plugin-merge-duplicate-functions","version":"1.0.3","type":"commonjs","author":{"name":"coderaiser","email":"mnemonic.enemy@gmail.com","url":"https://github.com/coderaiser"},"description":"🐊Putout plugin adds ability to merge duplicate functions","homepage":"https://github.com/coderaiser/putout/tree/master/packages/plugin-merge-duplicate-functions#readme","main":"lib/merge-duplicate-functions.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":{},"keyswords":["putout","putout-plugin","putout-plugin-merge","plugin","merge","duplicate","functions"],"devDependencies":{"@putout/test":"^6.0.0","c8":"^7.5.0","eslint":"^8.0.1","eslint-plugin-n":"^15.2.4","eslint-plugin-putout":"^17.0.0","lerna":"^6.0.1","madrun":"^9.0.0","nodemon":"^2.0.1"},"peerDependencies":{"putout":">=29"},"license":"MIT","engines":{"node":">=16"},"publishConfig":{"access":"public"},"gitHead":"0e4e6e2df3512f51931d509cd6ac748c6900ed1c","bugs":{"url":"https://github.com/coderaiser/putout/issues"},"_id":"@putout/plugin-merge-duplicate-functions@1.0.3","_nodeVersion":"18.16.0","_npmVersion":"9.1.3","dist":{"shasum":"7c38e2dd1a693693040064e66e7a767064fe0dac","size":2608,"noattachment":false,"key":"/@putout/plugin-merge-duplicate-functions/-/@putout/plugin-merge-duplicate-functions-1.0.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/@putout/plugin-merge-duplicate-functions/download/@putout/plugin-merge-duplicate-functions-1.0.3.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-merge-duplicate-functions_1.0.3_1683629885227_0.7569707091819349"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-05-09T10:58:05.383Z","publish_time":1683629885383,"_source_registry_name":"default","_cnpm_publish_time":1683629885383},"1.0.2":{"name":"@putout/plugin-merge-duplicate-functions","version":"1.0.2","type":"commonjs","author":{"name":"coderaiser","email":"mnemonic.enemy@gmail.com","url":"https://github.com/coderaiser"},"description":"🐊Putout plugin adds ability to merge duplicate functions","homepage":"https://github.com/coderaiser/putout/tree/master/packages/plugin-merge-duplicate-functions#readme","main":"lib/merge-duplicate-functions.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":{},"keyswords":["putout","putout-plugin","putout-plugin-merge","plugin","merge","duplicate","functions"],"devDependencies":{"@putout/test":"^6.0.0","c8":"^7.5.0","eslint":"^8.0.1","eslint-plugin-n":"^15.2.4","eslint-plugin-putout":"^17.0.0","lerna":"^6.0.1","madrun":"^9.0.0","nodemon":"^2.0.1"},"peerDependencies":{"putout":">=29"},"license":"MIT","engines":{"node":">=16"},"publishConfig":{"access":"public"},"gitHead":"2aad6961b9cc341079d119caae117fbc1a55034c","bugs":{"url":"https://github.com/coderaiser/putout/issues"},"_id":"@putout/plugin-merge-duplicate-functions@1.0.2","_nodeVersion":"18.16.0","_npmVersion":"9.1.3","dist":{"shasum":"70ca49598017d86e41695c7bafd0e6b8440155b4","size":2608,"noattachment":false,"key":"/@putout/plugin-merge-duplicate-functions/-/@putout/plugin-merge-duplicate-functions-1.0.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/@putout/plugin-merge-duplicate-functions/download/@putout/plugin-merge-duplicate-functions-1.0.2.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-merge-duplicate-functions_1.0.2_1683629359609_0.5861218633115532"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-05-09T10:49:19.768Z","publish_time":1683629359768,"_source_registry_name":"default","_cnpm_publish_time":1683629359768},"1.0.1":{"name":"@putout/plugin-merge-duplicate-functions","version":"1.0.1","type":"commonjs","author":{"name":"coderaiser","email":"mnemonic.enemy@gmail.com","url":"https://github.com/coderaiser"},"description":"🐊Putout plugin adds ability to merge duplicate functions","homepage":"https://github.com/coderaiser/putout/tree/master/packages/plugin-merge-duplicate-functions#readme","main":"lib/merge-duplicate-functions.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":{},"keyswords":["putout","putout-plugin","putout-plugin-merge","plugin","merge","duplicate","functions"],"devDependencies":{"@putout/test":"^6.0.0","c8":"^7.5.0","eslint":"^8.0.1","eslint-plugin-n":"^15.2.4","eslint-plugin-putout":"^17.0.0","lerna":"^6.0.1","madrun":"^9.0.0","nodemon":"^2.0.1"},"peerDependencies":{"putout":">=29"},"license":"MIT","engines":{"node":">=16"},"publishConfig":{"access":"public"},"gitHead":"48713142ba3f8d8bb84bdf4a97945da92a7d7cea","bugs":{"url":"https://github.com/coderaiser/putout/issues"},"_id":"@putout/plugin-merge-duplicate-functions@1.0.1","_nodeVersion":"18.15.0","_npmVersion":"9.1.3","dist":{"shasum":"19a6ecb772fc45605474ab5d058f7ae22c067211","size":2516,"noattachment":false,"key":"/@putout/plugin-merge-duplicate-functions/-/@putout/plugin-merge-duplicate-functions-1.0.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/@putout/plugin-merge-duplicate-functions/download/@putout/plugin-merge-duplicate-functions-1.0.1.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-merge-duplicate-functions_1.0.1_1682934644825_0.9731587420406487"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-05-01T09:50:44.996Z","publish_time":1682934644996,"_source_registry_name":"default","_cnpm_publish_time":1682934644996},"1.0.0":{"name":"@putout/plugin-merge-duplicate-functions","version":"1.0.0","type":"commonjs","author":{"name":"coderaiser","email":"mnemonic.enemy@gmail.com","url":"https://github.com/coderaiser"},"description":"🐊Putout plugin adds ability to merge duplicate functions","homepage":"https://github.com/coderaiser/putout/tree/master/packages/plugin-merge-duplicate-functions#readme","main":"lib/merge-duplicate-functions.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":{},"keyswords":["putout","putout-plugin","putout-plugin-merge","plugin","merge","duplicate","functions"],"devDependencies":{"@putout/test":"^6.0.0","c8":"^7.5.0","eslint":"^8.0.1","eslint-plugin-n":"^15.2.4","eslint-plugin-putout":"^16.0.0","lerna":"^6.0.1","madrun":"^9.0.0","nodemon":"^2.0.1"},"peerDependencies":{"putout":">=29"},"license":"MIT","engines":{"node":">=16"},"publishConfig":{"access":"public"},"gitHead":"c6ed0821f4311adb9b43c16f30aa6722fdbd2645","bugs":{"url":"https://github.com/coderaiser/putout/issues"},"_id":"@putout/plugin-merge-duplicate-functions@1.0.0","_nodeVersion":"18.14.2","_npmVersion":"9.1.3","dist":{"shasum":"7384fd37392857300d6bca0a4da89221a68d6274","size":2480,"noattachment":false,"key":"/@putout/plugin-merge-duplicate-functions/-/@putout/plugin-merge-duplicate-functions-1.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/@putout/plugin-merge-duplicate-functions/download/@putout/plugin-merge-duplicate-functions-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-merge-duplicate-functions_1.0.0_1678465545714_0.4446584773968876"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-03-10T16:25:45.860Z","publish_time":1678465545860,"_cnpm_publish_time":1678465545860}},"readme":"# @putout/plugin-merge-duplicate-functions [![NPM version][NPMIMGURL]][NPMURL]\n\n[NPMIMGURL]: https://img.shields.io/npm/v/@putout/plugin-merge-duplicate-functions.svg?style=flat&longCache=true\n[NPMURL]: https://npmjs.org/package/@putout/plugin-merge-duplicate-functions \"npm\"\n\n> Functions are one of the fundamental building blocks in JavaScript. A function in JavaScript is similar to a procedure—a set of statements that performs a task or calculates a value, but for a procedure to qualify as a function, it should take some input and return an output where there is some obvious relationship between the input and the output. To use a function, you must define it somewhere in the scope from which you wish to call it.\n>\n> (c) [MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Functions)\n\n????[**Putout**](https://github.com/coderaiser/putout) plugin adds ability to find and merge duplicate functions. Checkout in ????[**Putout Editor**](https://putout.cloudcmd.io/#/gist/2cb7e8836ce0adb6009f21859f8a0c15/9eea5b36a4f6664b05f2f9f0abd271a62a4dbbbe).\n\n## Install\n\n```\nnpm i @putout/plugin-merge-duplicate-functions\n```\n\n## Rule\n\n```json\n{\n    \"rules\": {\n        \"merge-duplicate-functions\": \"on\"\n    }\n}\n```\n\n## ❌ Example of incorrect code\n\n```js\nconst isFn = (a) => typeof a === 'function';\nconst isFn1 = (a) => typeof a === 'function';\nconst isFn2 = (a) => typeof a === 'function';\n\nisFn(1);\nisFn1(2);\n```\n\n## ✅ Example of correct code\n\n```js\nconst isFn = (a) => typeof a === 'function';\n\nisFn(1);\nisFn(2);\n```\n\n## License\n\nMIT\n","_attachments":{},"homepage":"https://github.com/coderaiser/putout/tree/master/packages/plugin-merge-duplicate-functions#readme","bugs":{"url":"https://github.com/coderaiser/putout/issues"},"license":"MIT"}