{"_id":"@1inch/eslint-config","_rev":"20-907019ebd7cca60fd7406ff07c5774fd","name":"@1inch/eslint-config","dist-tags":{"next":"5.0.3-rc.0","latest":"5.1.0"},"versions":{"1.4.2":{"name":"@1inch/eslint-config","version":"1.4.2","license":"UNLICENSED","_id":"@1inch/eslint-config@1.4.2","maintainers":[{"name":"1inch-robot","email":"devops@1inch.io"},{"name":"k06a","email":"k06aaa@gmail.com"},{"name":"d.kotsiuba","email":"d.kotsiuba@1inch.io"},{"name":"artall641inch","email":"a.vorobev@1inch.io"},{"name":"zumzoom","email":"by.zumzoom@gmail.com"},{"name":"sevenswen","email":"tihonenko.v.v@gmail.com"},{"name":"zzomrot","email":"d.bukov@1inch.io"},{"name":"krboktv-inch","email":"kirill@1inch.io"}],"dist":{"shasum":"d36c0eae00bd5f70043fb566f3b6edd488a71c20","tarball":"https://registry.npmjs.org/@1inch/eslint-config/-/eslint-config-1.4.2.tgz","fileCount":5,"integrity":"sha512-PrdMB61DQ+TuPhfuo+7KoyKG/TOKJnTsLmGqaST+Q5M9h0CRJr7kzl57YlF6vwKCyMmxBN5nKG7KYg+7MqjDsg==","signatures":[{"sig":"MEYCIQC+dhLeIm7omv1WV1AGSf5pi81mAkTFr4A5cbca+WbaIgIhANz0i5pZLsxDkqWcnwUEA4ZOeGYW9U2BramwggMVP3QG","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":6485},"main":"index.js","gitHead":"f4c67216a52c65b84ae1bae897c303b196103435","scripts":{"release":"node ./release.mjs"},"_npmUser":{"name":"1inch-robot","email":"devops@1inch.io"},"_npmVersion":"10.2.4","description":"Common eslint config for all node.js repositories","directories":{},"_nodeVersion":"21.6.2","dependencies":{"semver":"^7.5.0"},"_hasShrinkwrap":false,"peerDependencies":{"eslint":"^8.2.0","prettier":"^2","typescript":"^4.9","eslint-plugin-n":"^16.0.0","eslint-plugin-import":"^2.26.0","eslint-plugin-promise":"^6.0.0","eslint-config-prettier":"^8.3.0","eslint-config-standard":"^17.0.0","eslint-plugin-prettier":"^4.0.0","@typescript-eslint/parser":"^5.51.0","eslint-plugin-unused-imports":"^2.0.0","@typescript-eslint/eslint-plugin":"^5.59.0","eslint-import-resolver-typescript":"3.5.5"},"_npmOperationalInternal":{"tmp":"tmp/eslint-config_1.4.2_1709558429934_0.23332044363031446","host":"s3://npm-registry-packages"}},"1.4.3":{"name":"@1inch/eslint-config","version":"1.4.3","license":"UNLICENSED","_id":"@1inch/eslint-config@1.4.3","maintainers":[{"name":"1inch-robot","email":"devops@1inch.io"},{"name":"k06a","email":"k06aaa@gmail.com"},{"name":"d.kotsiuba","email":"d.kotsiuba@1inch.io"},{"name":"artall641inch","email":"a.vorobev@1inch.io"},{"name":"zumzoom","email":"by.zumzoom@gmail.com"},{"name":"sevenswen","email":"tihonenko.v.v@gmail.com"},{"name":"zzomrot","email":"d.bukov@1inch.io"},{"name":"krboktv-inch","email":"kirill@1inch.io"}],"dist":{"shasum":"a98b3bdc58feceb7db8e137fde4b9bc17c3b5eb1","tarball":"https://registry.npmjs.org/@1inch/eslint-config/-/eslint-config-1.4.3.tgz","fileCount":8,"integrity":"sha512-I2fMNrQqoqhKCh6T+PVaXVeFEsOTawuYxBHXXa0+upgpzFkT1/IkoNkAnEJ19s+ne+9qlXIcD0ZCkptux1f9og==","signatures":[{"sig":"MEQCIBd26sP7wtUx0Oq1j6LBVLfTtjB8b0xsboySnNcfSa43AiAipTWyVPf13XsjVYaMIFtJ3PK3IbyrCdXRyDzPf0GmQg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":7453},"main":"index.js","scripts":{"release":"node ./release.mjs"},"_npmUser":{"name":"1inch-robot","email":"devops@1inch.io"},"description":"Common eslint config for all node.js repositories","directories":{},"dependencies":{"semver":"^7.5.0"},"_hasShrinkwrap":false,"peerDependencies":{"eslint":"^8.2.0","prettier":"^2","typescript":"^4.9","eslint-plugin-n":"^16.0.0","eslint-plugin-import":"^2.26.0","eslint-plugin-promise":"^6.0.0","eslint-config-prettier":"^8.3.0","eslint-config-standard":"^17.0.0","eslint-plugin-prettier":"^4.0.0","@typescript-eslint/parser":"^5.51.0","eslint-plugin-unused-imports":"^2.0.0","@typescript-eslint/eslint-plugin":"^5.59.0","eslint-import-resolver-typescript":"3.5.5"},"_npmOperationalInternal":{"tmp":"tmp/eslint-config_1.4.3_1709559580050_0.8084171066600414","host":"s3://npm-registry-packages"}},"1.4.4":{"name":"@1inch/eslint-config","version":"1.4.4","license":"UNLICENSED","_id":"@1inch/eslint-config@1.4.4","maintainers":[{"name":"1inch-robot","email":"devops@1inch.io"},{"name":"k06a","email":"k06aaa@gmail.com"},{"name":"d.kotsiuba","email":"d.kotsiuba@1inch.io"},{"name":"artall641inch","email":"a.vorobev@1inch.io"},{"name":"zumzoom","email":"by.zumzoom@gmail.com"},{"name":"sevenswen","email":"tihonenko.v.v@gmail.com"},{"name":"zzomrot","email":"d.bukov@1inch.io"},{"name":"krboktv-inch","email":"kirill@1inch.io"}],"dist":{"shasum":"0f82dd369aa62b66a2a17865f7e1897d8a7b2df1","tarball":"https://registry.npmjs.org/@1inch/eslint-config/-/eslint-config-1.4.4.tgz","fileCount":8,"integrity":"sha512-CRu9VBb8Dtp00lkyg+2EnGT1GyjPuJjFRC+5QnG4IsQf+swmxEaItOGiBJmJcw/e6sbmmzWgmG/LTwDVt5X+ow==","signatures":[{"sig":"MEUCIQC0lDLT5/xsN90UNVy+/EgM44ZXEBm7HXYf4nj0X9ThNAIgftD8WFzgGy4O7vTHyfN1gKOBhmKeO0+fhpqmPL3pn1k=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":7500},"main":"index.js","scripts":{"release":"node ./release.mjs"},"_npmUser":{"name":"1inch-robot","email":"devops@1inch.io"},"description":"Common eslint config for all node.js repositories","directories":{},"dependencies":{"semver":"^7.5.0"},"_hasShrinkwrap":false,"peerDependencies":{"eslint":"^8.2.0","prettier":"^2","typescript":"^4.9","eslint-plugin-n":"^16.0.0","eslint-plugin-import":"^2.26.0","eslint-plugin-promise":"^6.0.0","eslint-config-prettier":"^8.3.0","eslint-config-standard":"^17.0.0","eslint-plugin-prettier":"^4.0.0","@typescript-eslint/parser":"^5.51.0","eslint-plugin-unused-imports":"^2.0.0","@typescript-eslint/eslint-plugin":"^5.59.0","eslint-import-resolver-typescript":"3.5.5"},"_npmOperationalInternal":{"tmp":"tmp/eslint-config_1.4.4_1710323684681_0.01562447500984021","host":"s3://npm-registry-packages"}},"1.5.0":{"name":"@1inch/eslint-config","version":"1.5.0","license":"UNLICENSED","_id":"@1inch/eslint-config@1.5.0","maintainers":[{"name":"1inch-robot","email":"devops@1inch.io"},{"name":"k06a","email":"k06aaa@gmail.com"},{"name":"d.kotsiuba","email":"d.kotsiuba@1inch.io"},{"name":"artall641inch","email":"a.vorobev@1inch.io"},{"name":"zumzoom","email":"by.zumzoom@gmail.com"},{"name":"sevenswen","email":"tihonenko.v.v@gmail.com"},{"name":"zzomrot","email":"d.bukov@1inch.io"},{"name":"krboktv-inch","email":"kirill@1inch.io"}],"dist":{"shasum":"5f4b8d77dce2d119da1732379336b23d600ffa3b","tarball":"https://registry.npmjs.org/@1inch/eslint-config/-/eslint-config-1.5.0.tgz","fileCount":8,"integrity":"sha512-VuBn52KmGBbfiumIiWfERnT6LTju90nRsr/kJGnuEThqMad5TWAFvi59hUUzuUOoRPJOPv+bTuolK4mIgnXuYg==","signatures":[{"sig":"MEUCICBK8KTBa8ISIBuiWaefreP/9UowpwIODO4ugx4IlPAxAiEAqecFa6Uw73td9rgyJQwUN2w3pBPxCGFJReteMgcmiR8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":7500},"main":"index.js","scripts":{"release":"node ./release.mjs"},"_npmUser":{"name":"1inch-robot","email":"devops@1inch.io"},"description":"Common eslint config for all node.js repositories","directories":{},"dependencies":{"semver":"^7.5.0"},"_hasShrinkwrap":false,"peerDependencies":{"eslint":"^8.2.0","prettier":"^2","typescript":"^4.9","eslint-plugin-n":"^16.0.0","eslint-plugin-import":"^2.26.0","eslint-plugin-promise":"^6.0.0","eslint-config-prettier":"^8.3.0","eslint-config-standard":"^17.0.0","eslint-plugin-prettier":"^4.0.0","@typescript-eslint/parser":"^5.51.0","eslint-plugin-unused-imports":"^2.0.0","@typescript-eslint/eslint-plugin":"^5.59.0","eslint-import-resolver-typescript":"3.5.5"},"_npmOperationalInternal":{"tmp":"tmp/eslint-config_1.5.0_1710324115444_0.953428870369982","host":"s3://npm-registry-packages"}},"1.5.1":{"name":"@1inch/eslint-config","version":"1.5.1","license":"UNLICENSED","_id":"@1inch/eslint-config@1.5.1","maintainers":[{"name":"1inch-robot","email":"devops@1inch.io"},{"name":"k06a","email":"k06aaa@gmail.com"},{"name":"d.kotsiuba","email":"d.kotsiuba@1inch.io"},{"name":"artall641inch","email":"a.vorobev@1inch.io"},{"name":"zumzoom","email":"by.zumzoom@gmail.com"},{"name":"sevenswen","email":"tihonenko.v.v@gmail.com"},{"name":"zzomrot","email":"d.bukov@1inch.io"},{"name":"krboktv-inch","email":"kirill@1inch.io"}],"dist":{"shasum":"b49e917891f80d7cd93d8b5dd868f97ac8877d6a","tarball":"https://registry.npmjs.org/@1inch/eslint-config/-/eslint-config-1.5.1.tgz","fileCount":8,"integrity":"sha512-KQnWM0c+VpQ11LbGsBEJJcIHeeD6x55aE69IhGt4lWG6xYqblq7ZP6Y3q5EZG00kxNj3p/yigktB81Nqz8BmEw==","signatures":[{"sig":"MEUCIQDbvRAfeo2HAY+NmGGobP3y8O294BjvHWSEnVer9pAjyQIgLqDxs+j2ZMBn6qXL3xvTifFfF1GPLbALD1zPSVWk4uk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":7500},"main":"index.js","scripts":{"release":"node ./release.mjs"},"_npmUser":{"name":"1inch-robot","email":"devops@1inch.io"},"description":"Common eslint config for all node.js repositories","directories":{},"dependencies":{"semver":"^7.5.0"},"_hasShrinkwrap":false,"peerDependencies":{"eslint":"^8.2.0","prettier":"^2","typescript":"^4.9","eslint-plugin-n":"^16.0.0","eslint-plugin-import":"^2.26.0","eslint-plugin-promise":"^6.0.0","eslint-config-prettier":"^8.3.0","eslint-config-standard":"^17.0.0","eslint-plugin-prettier":"^4.0.0","@typescript-eslint/parser":"^5.51.0","eslint-plugin-unused-imports":"^2.0.0","@typescript-eslint/eslint-plugin":"^5.59.0","eslint-import-resolver-typescript":"3.5.5"},"_npmOperationalInternal":{"tmp":"tmp/eslint-config_1.5.1_1710502469399_0.6738100683459107","host":"s3://npm-registry-packages"}},"3.0.6":{"name":"@1inch/eslint-config","version":"3.0.6","license":"UNLICENSED","_id":"@1inch/eslint-config@3.0.6","maintainers":[{"name":"1inch-robot","email":"devops@1inch.io"},{"name":"k06a","email":"k06aaa@gmail.com"},{"name":"d.kotsiuba","email":"d.kotsiuba@1inch.io"},{"name":"artall641inch","email":"a.vorobev@1inch.io"},{"name":"zumzoom","email":"by.zumzoom@gmail.com"},{"name":"sevenswen","email":"tihonenko.v.v@gmail.com"},{"name":"zzomrot","email":"d.bukov@1inch.io"},{"name":"krboktv-inch","email":"kirill@1inch.io"}],"dist":{"shasum":"1f938de42af87ffb89875537c3d2171848c3bffb","tarball":"https://registry.npmjs.org/@1inch/eslint-config/-/eslint-config-3.0.6.tgz","fileCount":5,"integrity":"sha512-apfoU2TFLhpBYcVzPJlU80a8WRuMheGA3tDhd27w4X5nkKvA3wZH9vX61NAgJ+0aDNbACd1VDQ2lAcU3xseLfw==","signatures":[{"sig":"MEUCIAv3tncj4fUYlRvcdOCVgG8AbSK+45UKQuiug4ES0tHKAiEAvIRt/dGUzpCOI6rvQG2BJODfyGNTgbfaHhISIzKmrjg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":10112},"main":"index.mjs","_from":"file:1inch-eslint-config-3.0.6.tgz","scripts":{"changelog:generate":"changelog generate -a"},"_npmUser":{"name":"1inch-robot","email":"devops@1inch.io"},"_resolved":"/tmp/d70bc1ac2bdce44cf76ed0774dd4963f/1inch-eslint-config-3.0.6.tgz","_integrity":"sha512-apfoU2TFLhpBYcVzPJlU80a8WRuMheGA3tDhd27w4X5nkKvA3wZH9vX61NAgJ+0aDNbACd1VDQ2lAcU3xseLfw==","_npmVersion":"10.8.1","description":"Common eslint config for all node.js repositories","directories":{},"_nodeVersion":"20.16.0","dependencies":{"semver":"^7.5.2"},"_hasShrinkwrap":false,"devDependencies":{"generate-changelog":"^1.8.0"},"peerDependencies":{"eslint":"^9.5.0","globals":"^15.6.0","prettier":"^3.3.2","@eslint/js":"^9.5.0","typescript":"^5.5.2","@eslint/compat":"^1.1.0","eslint-plugin-n":"^17.9.0","@eslint/eslintrc":"^3.1.0","eslint-plugin-import":"^2.29.1","eslint-plugin-promise":"^6.2.0","eslint-config-prettier":"^9.1.0","eslint-config-standard":"^17.1.0","eslint-plugin-prettier":"^5.1.3","@stylistic/eslint-plugin":"^2.3.0","@typescript-eslint/parser":"^7.14.1","eslint-plugin-unused-imports":"^4.0.0","@typescript-eslint/eslint-plugin":"^7.14.1","eslint-import-resolver-typescript":"^3.6.1"},"_npmOperationalInternal":{"tmp":"tmp/eslint-config_3.0.6_1724252292818_0.2110171046851319","host":"s3://npm-registry-packages"}},"3.0.7":{"name":"@1inch/eslint-config","version":"3.0.7","license":"UNLICENSED","_id":"@1inch/eslint-config@3.0.7","maintainers":[{"name":"krboktv-inch","email":"kirill@1inch.io"},{"name":"sevenswen","email":"tihonenko.v.v@gmail.com"},{"name":"zzomrot","email":"d.bukov@1inch.io"},{"name":"zumzoom","email":"by.zumzoom@gmail.com"},{"name":"k06a","email":"k06aaa@gmail.com"},{"name":"1inch-robot","email":"devops@1inch.io"}],"dist":{"shasum":"5774b1fcbdb11e487651d358463f9976942cf482","tarball":"https://registry.npmjs.org/@1inch/eslint-config/-/eslint-config-3.0.7.tgz","fileCount":5,"integrity":"sha512-2qsAgDb+fRpSbuHhKz9rChWQx70Xp59K7by72nCbuK6y8/fx7YDokas9ujOZ0nfj0dGUM5xWGB4EXvdWpqcvfA==","signatures":[{"sig":"MEQCICfUyO08IySkEHzUQ9oDkmgCy6RhM2I6pQhaxeP1XtZQAiB+CsxHL14dx4uKHiEQseM6kgU6+LhDPlLZDWd0HxHk5A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10164},"main":"index.mjs","_from":"file:1inch-eslint-config-3.0.7.tgz","scripts":{"changelog:generate":"changelog generate -a"},"_npmUser":{"name":"1inch-robot","email":"devops@1inch.io"},"_resolved":"/tmp/ba5a0a186c5b61e27724feb4939fabb6/1inch-eslint-config-3.0.7.tgz","_integrity":"sha512-2qsAgDb+fRpSbuHhKz9rChWQx70Xp59K7by72nCbuK6y8/fx7YDokas9ujOZ0nfj0dGUM5xWGB4EXvdWpqcvfA==","_npmVersion":"10.8.2","description":"Common eslint config for all node.js repositories","directories":{},"_nodeVersion":"20.18.2","dependencies":{"semver":"^7.5.2"},"_hasShrinkwrap":false,"devDependencies":{"generate-changelog":"^1.8.0"},"peerDependencies":{"eslint":"^9.5.0","globals":"^15.6.0","prettier":"^3.3.2","@eslint/js":"^9.5.0","typescript":"^5.5.2","@eslint/compat":"^1.1.0","eslint-plugin-n":"^17.9.0","@eslint/eslintrc":"^3.1.0","eslint-plugin-import":"^2.29.1","eslint-plugin-promise":"^6.2.0","eslint-config-prettier":"^9.1.0","eslint-config-standard":"^17.1.0","eslint-plugin-prettier":"^5.1.3","@stylistic/eslint-plugin":"^2.3.0","@typescript-eslint/parser":"^7.14.1","eslint-plugin-unused-imports":"^4.0.0","@typescript-eslint/eslint-plugin":"^7.14.1","eslint-import-resolver-typescript":"^3.6.1"},"_npmOperationalInternal":{"tmp":"tmp/eslint-config_3.0.7_1738052094896_0.66612863276837","host":"s3://npm-registry-packages-npm-production"}},"3.0.8":{"name":"@1inch/eslint-config","version":"3.0.8","license":"UNLICENSED","_id":"@1inch/eslint-config@3.0.8","maintainers":[{"name":"krboktv-inch","email":"kirill@1inch.io"},{"name":"sevenswen","email":"tihonenko.v.v@gmail.com"},{"name":"zzomrot","email":"d.bukov@1inch.io"},{"name":"zumzoom","email":"by.zumzoom@gmail.com"},{"name":"k06a","email":"k06aaa@gmail.com"},{"name":"1inch-robot","email":"devops@1inch.io"}],"homepage":"https://github.com/1inch/eslint-config#readme","bugs":{"url":"https://github.com/1inch/eslint-config/issues"},"dist":{"shasum":"ef440afdc2fe95e46b73f3cadb16c52e0fd96041","tarball":"https://registry.npmjs.org/@1inch/eslint-config/-/eslint-config-3.0.8.tgz","fileCount":5,"integrity":"sha512-6TyORwvpiaZdJq7AadWcGvxNHV/QtZvkgsrC0n1bZvkRf0py1W5bt9C/8dEmvpgNfAhj36knX6qWFU8go81cvA==","signatures":[{"sig":"MEUCIQCW7j93LrPsSzgqt6Mp6e7Z31oxS2SCSRNKqhHVM3wvhQIgGN51vKSlBNouRfz+DiDLQ4XTZsxG8gkWfByqncyDUn0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@1inch%2feslint-config@3.0.8","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":10441},"main":"index.mjs","_from":"file:1inch-eslint-config-3.0.8.tgz","scripts":{"changelog:generate":"changelog generate -a"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:e9127de0-676c-4e56-bdd3-7e72bf784f72"}},"_resolved":"/tmp/94a2c1deb52aa5430f20c907af8283c2/1inch-eslint-config-3.0.8.tgz","_integrity":"sha512-6TyORwvpiaZdJq7AadWcGvxNHV/QtZvkgsrC0n1bZvkRf0py1W5bt9C/8dEmvpgNfAhj36knX6qWFU8go81cvA==","repository":{"url":"git+https://github.com/1inch/eslint-config.git","type":"git","directory":"@1inch/eslint-config"},"_npmVersion":"11.6.2","description":"Common eslint config for all node.js repositories","directories":{},"_nodeVersion":"20.19.5","dependencies":{"semver":"^7.5.2"},"_hasShrinkwrap":false,"devDependencies":{"generate-changelog":"^1.8.0"},"peerDependencies":{"eslint":"^9.5.0","globals":"^15.6.0","prettier":"^3.3.2","@eslint/js":"^9.5.0","typescript":"^5.5.2","@eslint/compat":"^1.1.0","eslint-plugin-n":"^17.9.0","@eslint/eslintrc":"^3.1.0","eslint-plugin-import":"^2.29.1","eslint-plugin-promise":"^6.2.0","eslint-config-prettier":"^9.1.0","eslint-config-standard":"^17.1.0","eslint-plugin-prettier":"^5.1.3","@stylistic/eslint-plugin":"^2.3.0","@typescript-eslint/parser":"^7.14.1","eslint-plugin-unused-imports":"^4.0.0","@typescript-eslint/eslint-plugin":"^7.14.1","eslint-import-resolver-typescript":"^3.6.1"},"_npmOperationalInternal":{"tmp":"tmp/eslint-config_3.0.8_1761061813994_0.41369168655022315","host":"s3://npm-registry-packages-npm-production"}},"5.0.0":{"name":"@1inch/eslint-config","version":"5.0.0","license":"UNLICENSED","_id":"@1inch/eslint-config@5.0.0","maintainers":[{"name":"phantomydn","email":"phantom@ydn.ru"},{"name":"krboktv-inch","email":"kirill@1inch.io"},{"name":"sevenswen","email":"tihonenko.v.v@gmail.com"},{"name":"1inch-robot","email":"devops@1inch.io"}],"homepage":"https://github.com/1inch/eslint-config#readme","bugs":{"url":"https://github.com/1inch/eslint-config/issues"},"dist":{"shasum":"7ed665fab93214d898aa311efe7506e4ccea4ccb","tarball":"https://registry.npmjs.org/@1inch/eslint-config/-/eslint-config-5.0.0.tgz","fileCount":7,"integrity":"sha512-gRDnp7O+HJd8ZKzofna4SmVIOomnc7U3PuYieg5KWoLKa5xRM1iDHyhY3iS/B+fcmUC2d9a7j9blF3/OJbYIgQ==","signatures":[{"sig":"MEUCIQCl4CScz8I60mGpOmmW4A4rlpKiuZC2tdrMBBEzlSb4CQIgcHdZ6AixTjaSq55Vijx7QvsZdxJ+svhIAgU+5WPBj3Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@1inch%2feslint-config@5.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":14608},"main":"index.mjs","_from":"file:1inch-eslint-config-5.0.0.tgz","scripts":{"test":"vitest run","changelog:generate":"changelog generate -a"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:e9127de0-676c-4e56-bdd3-7e72bf784f72"}},"_resolved":"/tmp/5fe45f4b20603aeb3bafb0b2ec0da2ff/1inch-eslint-config-5.0.0.tgz","_integrity":"sha512-gRDnp7O+HJd8ZKzofna4SmVIOomnc7U3PuYieg5KWoLKa5xRM1iDHyhY3iS/B+fcmUC2d9a7j9blF3/OJbYIgQ==","repository":{"url":"git+https://github.com/1inch/eslint-config.git","type":"git","directory":"@1inch/eslint-config"},"_npmVersion":"11.12.1","description":"Common eslint config for all node.js repositories","directories":{},"_nodeVersion":"20.20.2","dependencies":{"semver":"^7.7.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.1.0","vitest":"^4.1.2","globals":"^17.4.0","prettier":"^3.8.1","@eslint/js":"^10.0.1","typescript":"^6.0.2","typescript-eslint":"^8.58.0","generate-changelog":"^1.8.0","eslint-config-prettier":"^10.1.8","eslint-plugin-import-x":"^4.16.2","eslint-plugin-prettier":"^5.5.5","@stylistic/eslint-plugin":"^5.10.0","eslint-plugin-unused-imports":"^4.4.1","eslint-import-resolver-typescript":"^4.4.4"},"peerDependencies":{"eslint":"^10.0.0","globals":"^17.0.0","prettier":"^3.3.2","@eslint/js":"^10.0.0","typescript":"^5.5.2 || ^6.0.0","typescript-eslint":"^8.0.0","eslint-config-prettier":"^10.0.0","eslint-plugin-import-x":"^4.0.0","eslint-plugin-prettier":"^5.5.0","@stylistic/eslint-plugin":"^5.0.0","eslint-plugin-unused-imports":"^4.0.0","eslint-import-resolver-typescript":"^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/eslint-config_5.0.0_1775507191135_0.7958353564226957","host":"s3://npm-registry-packages-npm-production"}},"5.0.1":{"name":"@1inch/eslint-config","version":"5.0.1","license":"UNLICENSED","_id":"@1inch/eslint-config@5.0.1","maintainers":[{"name":"phantomydn","email":"phantom@ydn.ru"},{"name":"krboktv-inch","email":"kirill@1inch.io"},{"name":"sevenswen","email":"tihonenko.v.v@gmail.com"},{"name":"1inch-robot","email":"devops@1inch.io"}],"homepage":"https://github.com/1inch/eslint-config#readme","bugs":{"url":"https://github.com/1inch/eslint-config/issues"},"dist":{"shasum":"2871dfdffcb05d08683e0a59f3f98b9908f5569d","tarball":"https://registry.npmjs.org/@1inch/eslint-config/-/eslint-config-5.0.1.tgz","fileCount":7,"integrity":"sha512-06RoxmAYAPpCEQiMkfCvfwt/okYox6TCiadM0zXZ6Ze1wXRIERr3oWL/T7HCr1jjcsv33asjopXJCwPluehpow==","signatures":[{"sig":"MEQCIEsROAmZrz/aYEzkswVlV7zdxE798YCNIJCg+PYyFFTNAiBlzRie7aQR7cArDqTTr/01VQo5c2CEDZqUctup2oIgug==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@1inch%2feslint-config@5.0.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":14675},"main":"index.mjs","_from":"file:1inch-eslint-config-5.0.1.tgz","scripts":{"test":"vitest run","changelog:generate":"changelog generate -a"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:e9127de0-676c-4e56-bdd3-7e72bf784f72"}},"_resolved":"/tmp/a33b73faf7b66620421f15129a724de4/1inch-eslint-config-5.0.1.tgz","_integrity":"sha512-06RoxmAYAPpCEQiMkfCvfwt/okYox6TCiadM0zXZ6Ze1wXRIERr3oWL/T7HCr1jjcsv33asjopXJCwPluehpow==","repository":{"url":"git+https://github.com/1inch/eslint-config.git","type":"git","directory":"@1inch/eslint-config"},"_npmVersion":"11.13.0","description":"Common eslint config for all node.js repositories","directories":{},"_nodeVersion":"20.20.2","dependencies":{"semver":"^7.7.4"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.0.10","eslint":"^10.1.0","vitest":"^4.1.5","globals":"^17.4.0","prettier":"^3.8.1","@eslint/js":"^10.0.1","typescript":"^6.0.2","typescript-eslint":"^8.58.0","generate-changelog":"^1.8.0","eslint-config-prettier":"^10.1.8","eslint-plugin-import-x":"^4.16.2","eslint-plugin-prettier":"^5.5.5","@stylistic/eslint-plugin":"^5.10.0","eslint-plugin-unused-imports":"^4.4.1","eslint-import-resolver-typescript":"^4.4.4"},"peerDependencies":{"eslint":"^10.0.0","globals":"^17.0.0","prettier":"^3.3.2","@eslint/js":"^10.0.0","typescript":"^5.5.2 || ^6.0.0","typescript-eslint":"^8.0.0","eslint-config-prettier":"^10.0.0","eslint-plugin-import-x":"^4.0.0","eslint-plugin-prettier":"^5.5.0","@stylistic/eslint-plugin":"^5.0.0","eslint-plugin-unused-imports":"^4.0.0","eslint-import-resolver-typescript":"^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/eslint-config_5.0.1_1777455080356_0.7384709783822769","host":"s3://npm-registry-packages-npm-production"}},"5.0.2":{"name":"@1inch/eslint-config","version":"5.0.2","license":"UNLICENSED","_id":"@1inch/eslint-config@5.0.2","maintainers":[{"name":"phantomydn","email":"phantom@ydn.ru"},{"name":"krboktv-inch","email":"kirill@1inch.io"},{"name":"sevenswen","email":"tihonenko.v.v@gmail.com"},{"name":"1inch-robot","email":"devops@1inch.io"}],"homepage":"https://github.com/1inch/eslint-config#readme","bugs":{"url":"https://github.com/1inch/eslint-config/issues"},"dist":{"shasum":"e57811839c2ef3973ee27b5e82b85733e4ba5b7c","tarball":"https://registry.npmjs.org/@1inch/eslint-config/-/eslint-config-5.0.2.tgz","fileCount":7,"integrity":"sha512-YIXhKaXLP00OiuhCK/uXypTrjQx04JaJ8JXOK9AVtZWyAd1AfSSdL7u/sHZRG3jHJmJAmCCHWR/7CF2RzsBx9Q==","signatures":[{"sig":"MEUCIDVTSxHEwIhMLbesw/m6lt+qM/50EN0mDt5E5nltLo6QAiEA58mnWL7Z/69XLwqTzQ+Q9Lim8F9a028Ol2peXMW4eS4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@1inch%2feslint-config@5.0.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":14659},"main":"index.mjs","_from":"file:1inch-eslint-config-5.0.2.tgz","scripts":{"test":"vitest run","changelog:generate":"changelog generate -a"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:e9127de0-676c-4e56-bdd3-7e72bf784f72"}},"_resolved":"/tmp/00bc3cf1be9884f5086d95cb3d02ae4a/1inch-eslint-config-5.0.2.tgz","_integrity":"sha512-YIXhKaXLP00OiuhCK/uXypTrjQx04JaJ8JXOK9AVtZWyAd1AfSSdL7u/sHZRG3jHJmJAmCCHWR/7CF2RzsBx9Q==","repository":{"url":"git+https://github.com/1inch/eslint-config.git","type":"git","directory":"@1inch/eslint-config"},"_npmVersion":"11.19.0","description":"Common eslint config for all node.js repositories","directories":{},"_nodeVersion":"20.20.2","dependencies":{"semver":"7.7.4"},"_hasShrinkwrap":false,"devDependencies":{"vite":"8.0.16","eslint":"10.1.0","vitest":"4.1.5","globals":"17.4.0","prettier":"3.8.1","@eslint/js":"10.0.1","typescript":"6.0.2","typescript-eslint":"8.58.0","generate-changelog":"1.8.0","eslint-config-prettier":"10.1.8","eslint-plugin-import-x":"4.16.2","eslint-plugin-prettier":"5.5.5","@stylistic/eslint-plugin":"5.10.0","eslint-plugin-unused-imports":"4.4.1","eslint-import-resolver-typescript":"4.4.4"},"peerDependencies":{"eslint":"^10.0.0","globals":"^17.0.0","prettier":"^3.3.2","@eslint/js":"^10.0.0","typescript":"^5.5.2 || ^6.0.0","typescript-eslint":"^8.0.0","eslint-config-prettier":"^10.0.0","eslint-plugin-import-x":"^4.0.0","eslint-plugin-prettier":"^5.5.0","@stylistic/eslint-plugin":"^5.0.0","eslint-plugin-unused-imports":"^4.0.0","eslint-import-resolver-typescript":"^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/eslint-config_5.0.2_1787140757203_0.01137407996780837","host":"s3://npm-registry-packages-npm-production"}},"5.0.3-rc.0":{"name":"@1inch/eslint-config","version":"5.0.3-rc.0","license":"UNLICENSED","_id":"@1inch/eslint-config@5.0.3-rc.0","maintainers":[{"name":"phantomydn","email":"phantom@ydn.ru"},{"name":"krboktv-inch","email":"kirill@1inch.io"},{"name":"sevenswen","email":"tihonenko.v.v@gmail.com"},{"name":"1inch-robot","email":"devops@1inch.io"}],"homepage":"https://github.com/1inch/eslint-config#readme","bugs":{"url":"https://github.com/1inch/eslint-config/issues"},"dist":{"shasum":"1bb38c5be8e6216fa9ead7d8930b9b6941c85556","tarball":"https://registry.npmjs.org/@1inch/eslint-config/-/eslint-config-5.0.3-rc.0.tgz","fileCount":7,"integrity":"sha512-0107GRMK6xsMnfT4jeNKwUFSDPRldTD/gT9Az+f2hFQqGDzCS3SPyuCikTWVpqR3nPE30MBRCbKIxs3eDT4FiA==","signatures":[{"sig":"MEYCIQCx/nKefJw8Iy9WwWHsXXnc1/MpcL7VG+BrLWfPcQr4XQIhAOSnnu+PGemJLAZ8ETWaTkfB3LZsGel2BZ1wNDl15ata","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@1inch%2feslint-config@5.0.3-rc.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":27834},"main":"index.mjs","_from":"file:1inch-eslint-config-5.0.3-rc.0.tgz","exports":{".":"./index.mjs","./testing":"./testing.mjs","./package.json":"./package.json"},"scripts":{"test":"vitest run","changelog:generate":"changelog generate -a"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:e9127de0-676c-4e56-bdd3-7e72bf784f72"}},"_resolved":"/tmp/10d11bdf52d354963920b029a81547b0/1inch-eslint-config-5.0.3-rc.0.tgz","_integrity":"sha512-0107GRMK6xsMnfT4jeNKwUFSDPRldTD/gT9Az+f2hFQqGDzCS3SPyuCikTWVpqR3nPE30MBRCbKIxs3eDT4FiA==","repository":{"url":"git+https://github.com/1inch/eslint-config.git","type":"git","directory":"@1inch/eslint-config"},"_npmVersion":"11.19.0","description":"Common eslint config for all node.js repositories","directories":{},"_nodeVersion":"20.20.2","dependencies":{"semver":"7.7.4"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"vite":"8.0.16","eslint":"10.1.0","vitest":"4.1.5","globals":"17.4.0","prettier":"3.8.1","@eslint/js":"10.0.1","typescript":"6.0.2","typescript-eslint":"8.58.0","generate-changelog":"1.8.0","eslint-config-prettier":"10.1.8","eslint-plugin-import-x":"4.16.2","eslint-plugin-prettier":"5.5.5","@stylistic/eslint-plugin":"5.10.0","eslint-plugin-unused-imports":"4.4.1","eslint-import-resolver-typescript":"4.4.4"},"peerDependencies":{"eslint":"^10.0.0","globals":"^17.0.0","prettier":"^3.3.2","@eslint/js":"^10.0.0","typescript":"^5.5.2 || ^6.0.0","typescript-eslint":"^8.0.0","eslint-config-prettier":"^10.0.0","eslint-plugin-import-x":"^4.0.0","eslint-plugin-prettier":"^5.5.0","@stylistic/eslint-plugin":"^5.0.0","eslint-plugin-unused-imports":"^4.0.0","eslint-import-resolver-typescript":"^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/eslint-config_5.0.3-rc.0_1787223367216_0.795876975772019","host":"s3://npm-registry-packages-npm-production"}},"5.1.0":{"name":"@1inch/eslint-config","version":"5.1.0","license":"UNLICENSED","_id":"@1inch/eslint-config@5.1.0","maintainers":[{"name":"phantomydn","email":"phantom@ydn.ru"},{"name":"krboktv-inch","email":"kirill@1inch.io"},{"name":"sevenswen","email":"tihonenko.v.v@gmail.com"},{"name":"1inch-robot","email":"devops@1inch.io"}],"homepage":"https://github.com/1inch/eslint-config#readme","bugs":{"url":"https://github.com/1inch/eslint-config/issues"},"dist":{"shasum":"1b39f32729f64ba78107eb7434639bf64dc32b76","tarball":"https://registry.npmjs.org/@1inch/eslint-config/-/eslint-config-5.1.0.tgz","fileCount":7,"integrity":"sha512-G3rDI2D/hdAtcwLmlhJwcmtJTaTbVXYDGnGNF7C9WKMDg8NhAsu2YtqXmezmsKyrsKCVFDChWNz+D0nUT8UUqA==","signatures":[{"sig":"MEUCIQCJm+X8sQz4bAFBlurTo45wYss5RzYK9sWPUeJbeFvlSwIgbTCYB95DarNPMHWjrU9x4eGeVtqG1Osr2H5xBkrJwGk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@1inch%2feslint-config@5.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":27829},"main":"index.mjs","_from":"file:1inch-eslint-config-5.1.0.tgz","exports":{".":"./index.mjs","./testing":"./testing.mjs","./package.json":"./package.json"},"scripts":{"test":"vitest run","changelog:generate":"changelog generate -a"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:e9127de0-676c-4e56-bdd3-7e72bf784f72"}},"_resolved":"/tmp/5d243dba2181bfc93d82aceb8456f63c/1inch-eslint-config-5.1.0.tgz","_integrity":"sha512-G3rDI2D/hdAtcwLmlhJwcmtJTaTbVXYDGnGNF7C9WKMDg8NhAsu2YtqXmezmsKyrsKCVFDChWNz+D0nUT8UUqA==","repository":{"url":"git+https://github.com/1inch/eslint-config.git","type":"git","directory":"@1inch/eslint-config"},"_npmVersion":"11.19.0","description":"Common eslint config for all node.js repositories","directories":{},"_nodeVersion":"20.20.2","dependencies":{"semver":"7.7.4"},"_hasShrinkwrap":false,"devDependencies":{"vite":"8.0.16","eslint":"10.1.0","vitest":"4.1.5","globals":"17.4.0","prettier":"3.8.1","@eslint/js":"10.0.1","typescript":"6.0.2","typescript-eslint":"8.58.0","generate-changelog":"1.8.0","eslint-config-prettier":"10.1.8","eslint-plugin-import-x":"4.16.2","eslint-plugin-prettier":"5.5.5","@stylistic/eslint-plugin":"5.10.0","eslint-plugin-unused-imports":"4.4.1","eslint-import-resolver-typescript":"4.4.4"},"peerDependencies":{"eslint":"^10.0.0","globals":"^17.0.0","prettier":"^3.3.2","@eslint/js":"^10.0.0","typescript":"^5.5.2 || ^6.0.0","typescript-eslint":"^8.0.0","eslint-config-prettier":"^10.0.0","eslint-plugin-import-x":"^4.0.0","eslint-plugin-prettier":"^5.5.0","@stylistic/eslint-plugin":"^5.0.0","eslint-plugin-unused-imports":"^4.0.0","eslint-import-resolver-typescript":"^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/eslint-config_5.1.0_1787249957721_0.3423951027662917","host":"s3://npm-registry-packages-npm-production"}}},"time":{"created":"2024-03-04T13:20:29.830Z","modified":"2026-09-15T14:08:30.575Z","1.4.2":"2024-03-04T13:20:30.115Z","1.4.3":"2024-03-04T13:39:40.212Z","1.4.4":"2024-03-13T09:54:44.823Z","1.5.0":"2024-03-13T10:01:55.600Z","1.5.1":"2024-03-15T11:34:29.556Z","3.0.6":"2024-08-21T14:58:12.989Z","3.0.7":"2025-01-28T08:14:55.079Z","3.0.8":"2025-10-21T15:50:14.236Z","5.0.0":"2026-04-06T20:26:31.335Z","5.0.1":"2026-04-29T09:31:20.564Z","5.0.2":"2026-08-19T11:59:17.372Z","5.0.3-rc.0":"2026-08-20T10:56:07.353Z","5.1.0":"2026-08-20T18:19:17.863Z"},"bugs":{"url":"https://github.com/1inch/eslint-config/issues"},"license":"UNLICENSED","homepage":"https://github.com/1inch/eslint-config#readme","repository":{"url":"git+https://github.com/1inch/eslint-config.git","type":"git","directory":"@1inch/eslint-config"},"description":"Common eslint config for all node.js repositories","maintainers":[{"email":"kirill@1inch.io","name":"krboktv-inch"},{"email":"tihonenko.v.v@gmail.com","name":"sevenswen"},{"email":"devops@1inch.io","name":"1inch-robot"},{"email":"ext.a.babkina@1inch.io","name":"ababkina-1inch"}],"readme":"# eslint-config\n\nCommon eslint config for all node.js repositories\n\n## Install\n\nInstall packages\n```shell\npnpm install --save-dev @1inch/eslint-config@latest\n```\n\nAlso it is required to install peer dependencies\n\nAnd then add file `eslint.config.mjs`:\n```javascript\nimport oneInchEslintConfig from \"@1inch/eslint-config\";\n\nexport default oneInchEslintConfig\n```\n\nRemove `.eslintrc.js` / `.eslintrc.json` and `.eslintignore` — ESLint 9 flat config replaces them.\n\nUse `eslint.config.mjs` for ignores and custom rules:\n```javascript\nimport oneInchEslintConfig from \"@1inch/eslint-config\";\n\nexport default [\n    ...oneInchEslintConfig,\n    {\n        ignores: [\n            \"**/*.mock.ts\",\n            \"**/node_modules\",\n            \"**/.github\",\n            \"**/.idea\",\n            \"**/dist\",\n            \"**/*.json\",\n            \"**/*.yml\",\n            \"**/*.html\",\n            \"**/migrations\",\n        ],\n    },\n    {\n        settings: {\n            \"import-x/resolver\": {\n                typescript: {}\n            }\n        },\n        rules: {\n            // your custom rules here\n        }\n    }\n];\n```\n\nAdd prettier file `.prettierrc.js`:\n```js\nmodule.exports = {\n    singleQuote: true,\n    trailingComma: 'none',\n    tabWidth: 4,\n    printWidth: 120,\n    bracketSpacing: false,\n    semi: false\n}\n```\n\n## Testing preset (opt-in)\n\n`@1inch/eslint-config/testing` is a separate, **opt-in** preset enforcing test-coverage\nconventions. It is NOT part of the default export — enabling the main config does not\nenable these rules.\n\nRequires `@1inch/eslint-config` >= the first release containing the preset (expected `5.1.0`).\nThe preset itself is dependency-free (plain rule objects) and runs under ESLint 9 and ESLint 10.\n\n```javascript\nimport oneInchEslintConfig from \"@1inch/eslint-config\";\nimport oneInchTestingConfig from \"@1inch/eslint-config/testing\";\n\nexport default [\n    ...oneInchEslintConfig,\n    ...oneInchTestingConfig,\n];\n```\n\nThe preset registers a single plugin namespace `1inch-testing` and enables all six rules\nat `error` severity with the default options below.\n\n### Rules\n\n| Rule | Enforces |\n|---|---|\n| `1inch-testing/require-test-for-class-or-function` | every exported testable artifact (concrete class, function, arrow/function expression) has a sibling unit test; `.cache.ts` files may have an integration test instead |\n| `1inch-testing/require-controller-integration-test` | `*.controller.ts`, `*.scheduler.ts`, `*.consumer.ts`, `*.listener.ts`, `*.worker.ts` under `/controllers/` have a sibling integration test |\n| `1inch-testing/require-secondary-adapter-integration-test` | `*.repository.ts`, `*.client.ts`, `*.producer.ts`, `*.service.ts` under `/secondary/` have a sibling integration test |\n| `1inch-testing/require-use-case-unit-test` | `*.use-case.ts` under `/core/` has a sibling unit test |\n| `1inch-testing/require-cache-integration-test` | `*.cache.ts` under `/src/components/` has a sibling integration test |\n| `1inch-testing/no-internal-overrides-in-integration-tests` | integration tests do not override internal implementation (`.overrideProvider(...)`, `.overrideGuard(...)`, `.overrideInterceptor(...)`, `.overridePipe(...)`, `.overrideFilter(...)`, `.useValue(...)`, `.useClass(...)`, `.useFactory(...)`, `.useExisting(...)` method calls are forbidden; provider-definition object properties like `{provide: X, useValue: Y}` remain allowed) |\n\n### Rule options and defaults\n\nEvery rule accepts a single options object; the defaults are listed in the table below.\n\n`pathIncludes` is a list of path fragments that must ALL be present in the file path for the\nrule to apply (AND semantics). To scope a rule to several alternative locations, add extra\nflat-config entries restricted via `files`.\n\n| Rule | Option | Default |\n|---|---|---|\n| `require-test-for-class-or-function` | `pathIncludes` | `['/src/components/', '/core/']` |\n| | `unitTestSuffix` | `'.test.ts'` |\n| | `integrationTestSuffix` | `'.integration.test.ts'` |\n| | `cacheFileSuffix` | `'.cache.ts'` |\n| `require-controller-integration-test` | `pathIncludes` | `['/controllers/']` |\n| | `unitTestSuffix` | `'.test.ts'` |\n| | `integrationTestSuffix` | `'.integration.test.ts'` |\n| `require-secondary-adapter-integration-test` | `pathIncludes` | `['/secondary/']` |\n| | `unitTestSuffix` | `'.test.ts'` |\n| | `integrationTestSuffix` | `'.integration.test.ts'` |\n| `require-use-case-unit-test` | `pathIncludes` | `['/core/']` |\n| | `unitTestSuffix` | `'.test.ts'` |\n| | `integrationTestSuffix` | `'.integration.test.ts'` |\n| `require-cache-integration-test` | `pathIncludes` | `['/src/components/']` |\n| | `unitTestSuffix` | `'.test.ts'` |\n| | `integrationTestSuffix` | `'.integration.test.ts'` |\n| `no-internal-overrides-in-integration-tests` | `integrationTestSuffixes` | `['.integration.test.ts', '.integration.spec.ts']` |\n\nRepos using `.spec.ts` naming (e.g. `cross-chain-trader`) override the suffixes:\n\n```javascript\nimport oneInchEslintConfig from \"@1inch/eslint-config\";\nimport oneInchTestingConfig from \"@1inch/eslint-config/testing\";\n\nconst specNaming = { unitTestSuffix: \".spec.ts\", integrationTestSuffix: \".integration.spec.ts\" };\n\nexport default [\n    ...oneInchEslintConfig,\n    ...oneInchTestingConfig,\n    {\n        rules: {\n            \"1inch-testing/require-test-for-class-or-function\": [\"error\", specNaming],\n            \"1inch-testing/require-controller-integration-test\": [\"error\", specNaming],\n            \"1inch-testing/require-secondary-adapter-integration-test\": [\"error\", specNaming],\n            \"1inch-testing/require-use-case-unit-test\": [\"error\", specNaming],\n            \"1inch-testing/require-cache-integration-test\": [\"error\", specNaming],\n            // .integration.spec.ts is already covered by the defaults\n        },\n    },\n];\n```\n\n## Migration from v3\n\n### Breaking changes\n\n1. **ESLint flat config only** — delete `.eslintrc.js` / `.eslintrc.json` and `.eslintignore`, create `eslint.config.mjs` instead\n\n2. **`eslint-plugin-import` replaced by `eslint-plugin-import-x`** — all `import/` rule prefixes and settings changed to `import-x/`:\n\n| Before (v3) | After (v4) |\n|---|---|\n| `plugins: ['import']` | not needed (included in config) |\n| `settings: { 'import/resolver': { typescript: {} } }` | `settings: { 'import-x/resolver': { typescript: {} } }` |\n| `rules: { 'import/order': ... }` | `rules: { 'import-x/order': ... }` |\n\n3. **Removed packages** — uninstall these, they are no longer needed:\n```shell\npnpm remove \\\n  @typescript-eslint/eslint-plugin \\\n  @typescript-eslint/parser \\\n  eslint-plugin-import \\\n  eslint-config-standard \\\n  eslint-plugin-n \\\n  eslint-plugin-promise \\\n  @eslint/compat \\\n  @eslint/eslintrc\n```\n\n4. **New packages** — install these instead:\n```shell\npnpm install --save-dev \\\n  eslint@10 \\\n  @eslint/js@10 \\\n  typescript-eslint@8 \\\n  eslint-plugin-import-x@4 \\\n  eslint-import-resolver-typescript@4 \\\n  eslint-config-prettier@10 \\\n  eslint-plugin-unused-imports@4 \\\n  @stylistic/eslint-plugin@5 \\\n  globals@17\n```\n\n### Example migration\n\nBefore (`.eslintrc.js`):\n```js\nmodule.exports = {\n    extends: ['@1inch'],\n    plugins: ['import'],\n    settings: {\n        'import/resolver': {\n            typescript: {}\n        }\n    },\n    rules: {\n    }\n}\n```\n\nAfter (`eslint.config.mjs`):\n```javascript\nimport oneInchEslintConfig from \"@1inch/eslint-config\";\n\nexport default [\n    ...oneInchEslintConfig,\n    {\n        settings: {\n            \"import-x/resolver\": {\n                typescript: {}\n            }\n        },\n        rules: {\n        }\n    }\n];\n```\n","readmeFilename":"README.md"}