{"_id":"@akio/eslint-plugin","_rev":"4-6d5b62c241a56c220e940e937c5b082d","name":"@akio/eslint-plugin","dist-tags":{"latest":"2.1.0"},"versions":{"1.0.0":{"name":"@akio/eslint-plugin","version":"1.0.0","keywords":["eslint","eslintplugin","eslint-plugin","configuration","ruleset","linter"],"author":{"name":"TheAkio","email":"me@theak.io"},"license":"MIT","_id":"@akio/eslint-plugin@1.0.0","maintainers":[{"name":"akio","email":"me@theak.io"}],"homepage":"https://gitlab.com/TheAkio/tooling#readme","bugs":{"url":"https://gitlab.com/TheAkio/tooling/-/issues"},"bin":{"akiolint":"bin/akiolint"},"dist":{"shasum":"ce410e06ad88db15672f8852e1fbeeece60a9e34","tarball":"https://registry.npmjs.org/@akio/eslint-plugin/-/eslint-plugin-1.0.0.tgz","fileCount":26,"integrity":"sha512-/ldiS+24aJRang7dZEYgPKrpC2AugAFXeozdSvN+5x1Tz5UG+5DGYfbbgRzRTKADY68ojEJoL+L/FvhkwxBOzg==","signatures":[{"sig":"MEUCIQDswWkFp2KJnXhvAmk1hZX1juUsFtnwQjd1o9kCYCNdcwIgT21ySRybFfOTmfiUm5FWxDUGCluIpFmqgNv+mxZNVXc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":55026,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjle1cACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpoIw/+KwAHVku5xJuHqiJ9j4oPbYonS7y3g86PAOlUUKkBSscA2DgX\r\nH2mQ03bWV+6T+0mc7rZazDcif5/9KTYbkfgrNnOSap1yixgTQog76kAQ67Qq\r\nSNBYPR/lL1FvNY4PP80TsKZ6V8JQecYQZDYY/U6aJVmhKJIfGQ0u/oWwgQYJ\r\n8/Qa4NaUAqum/BbL55l6zNKQA9tuNo/sVQ+BrdY0e22w8hR2DaiodnEWT/n/\r\ncpnf/bOM5ZPWTrs3+1VudpY6k/veD4cZUylnxLNasmIi03LwQAgIwy9FjttO\r\nEG4tML18yRBgGWrGXA4uIzJHq5hyzXkmyxKARICTplQyhFYd3Wt67sjjDl5b\r\nYTOcHLcmms9OyzIj+z5oxgMfp/+3AKOpt9hwHZEhCCng0J4aa19G4fR4mFjo\r\n77KzmiPk2+VwkJ5CxzHPYghffotVgo+i1wA9eJusaz1ZmZCXjRaE8VWiB3Js\r\nAAMraFRsbkzoFIKTYnOyqhJc3L6IzzQd0CUBBDCv9FxrlFm0I63kaEtHdu9e\r\npR9WzQsw4X2ZZdvCNRji85hTK/PTdy2udB45I7LZiCwdkm4iKyOQPoKLaJwI\r\nWAXOQiB9jF0TAvh82ZU0TiS/fR9Dnvor8DzNnUj/4e9TDBVAE1R+UpRrRmDa\r\niBHahkoZIgTSj+8/fOtnJLY7RRaYFhKNx0Q=\r\n=I3Ut\r\n-----END PGP SIGNATURE-----\r\n"},"main":"src/index.js","gitHead":"9987f7a5780a3b0ae3fac3f6cb2361e61e06936a","scripts":{"checkdeps":"node ./bin/akiolint checkdeps all"},"_npmUser":{"name":"akio","email":"me@theak.io"},"repository":{"url":"git+https://gitlab.com/TheAkio/tooling.git","type":"git"},"_npmVersion":"9.2.0","description":"Akio's ESLint plugin","directories":{},"_nodeVersion":"18.12.1","dependencies":{"chalk":"^4","semver":"^7"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.29.x","typescript":">=4.6","@angular/compiler":"^15","eslint-plugin-import":"^2.26.0","@typescript-eslint/parser":"^5.46.0","eslint-plugin-deprecation":"^1.3.3","@angular-eslint/eslint-plugin":"^15.1.0","@angular-eslint/template-parser":"^15.1.0","@typescript-eslint/eslint-plugin":"^5.46.0","eslint-import-resolver-typescript":"^3.5.2","@angular-eslint/eslint-plugin-template":"^15.1.0"},"peerDependencies":{"eslint":"^8.29.x"},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin_1.0.0_1670770012297_0.06951335477037723","host":"s3://npm-registry-packages"}},"1.0.1":{"name":"@akio/eslint-plugin","version":"1.0.1","keywords":["eslint","eslintplugin","eslint-plugin","configuration","ruleset","linter"],"author":{"name":"TheAkio","email":"me@theak.io"},"license":"MIT","_id":"@akio/eslint-plugin@1.0.1","maintainers":[{"name":"akio","email":"me@theak.io"}],"homepage":"https://gitlab.com/TheAkio/eslint-plugin#readme","bugs":{"url":"https://gitlab.com/TheAkio/eslint-plugin/-/issues"},"bin":{"akiolint":"bin/akiolint"},"dist":{"shasum":"923ae3391a04438c1d9a9b3ddab63ada597f5e63","tarball":"https://registry.npmjs.org/@akio/eslint-plugin/-/eslint-plugin-1.0.1.tgz","fileCount":26,"integrity":"sha512-t0mgl0mB9cE5P0nBglXFm0u8KSIphlLp+Ycbwn0viuXEqmr7Zj1bCiEE2LCPZ6/MHtFGC0Lfd4JREoUbakkMXw==","signatures":[{"sig":"MEYCIQD4w02i5njByfKpizp04rh+1ZBo8o9Ut9OknjsPM90siAIhAKk7/j8Mp+HMXYGBwoXPYHcshJ0w/3IgeX0jyI3RCtWA","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":55252,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjlfvgACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmpuyw//YziScalPhHQYpYs3L1Z8BmxhwSyf8Yd5SgZvfwLSGt9JwUBg\r\nvcoPaeOc5Hmh6sNaSa61fwyIbj8cdzxcHUhVIV4kbqsZgSq2CWiO6wfeQcN+\r\nbaQolhfHtR5fBfKfaeZi2S4FpoJcSbGK/OzM8dT5tMXZqUPPFi6bSff3j0+i\r\naI/TD0ayqalpRFsKAfz8sJXOyNYzyFUvprEbOCrf7ZCxYc8csDN9t/2Os0Ff\r\nG34mp+RJvW+RiXj0igty9/8r5U9a6VL25+iioGBZSGqKjpjH+NzXedIysn4r\r\nznTEVKQcJsz9JHPO6OIHKpABOP+XX4Yfk1zDkPQMTtZb3LdjA8xuMGtg4zSR\r\neR+6aJOMWa3mm+j3WNMBQubjaOWul12x7BWQnU8Kh0m27g+urUU2txg6nMIf\r\nBDOfbhYnONZe76bmh/AhIIiPTU23NdZvACGvDbRjmqh2eTzCa1TNqUVatGrd\r\npnHub1rUuZxPnRkD5QGZmr9JWTOTVfS7IoREfMGaMFBcvNFAiSMb/0cPWS4d\r\nRlV1nToo4w0nULfJd3+ysArO/4MjjUikWf3RuE7JJZGR7Y6D/IKsTpzkVjk0\r\nCl086X9ZXGOJCjn3pho6RY8abOh02T3harvqcuFJJ738eFCUoFCmUbp7oHYB\r\nzZWnC7Qe1lYaB2WNBcolSj5bTzALjoT/18s=\r\n=Oio2\r\n-----END PGP SIGNATURE-----\r\n"},"main":"src/index.js","gitHead":"75d94d8fc1c958495023022a76939bb0d881f436","scripts":{"checkdeps":"node ./bin/akiolint checkdeps all"},"_npmUser":{"name":"akio","email":"me@theak.io"},"repository":{"url":"git+https://gitlab.com/TheAkio/eslint-plugin.git","type":"git"},"_npmVersion":"9.2.0","description":"Akio's ESLint plugin","directories":{},"_nodeVersion":"18.12.1","dependencies":{"chalk":"^4","semver":"^7"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.29.x","typescript":">=4.6","@angular/compiler":"^15","eslint-plugin-import":"^2.26.0","@typescript-eslint/parser":"^5.46.0","eslint-plugin-deprecation":"^1.3.3","@angular-eslint/eslint-plugin":"^15.1.0","@angular-eslint/template-parser":"^15.1.0","@typescript-eslint/eslint-plugin":"^5.46.0","eslint-import-resolver-typescript":"^3.5.2","@angular-eslint/eslint-plugin-template":"^15.1.0"},"peerDependencies":{"eslint":"^8.29.x"},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin_1.0.1_1670773728016_0.8819831169023657","host":"s3://npm-registry-packages"}},"2.0.0":{"name":"@akio/eslint-plugin","version":"2.0.0","keywords":["eslint","eslintplugin","eslint-plugin","ruleset","linter"],"author":{"name":"TheAkio","email":"me@theak.io"},"license":"MIT","_id":"@akio/eslint-plugin@2.0.0","maintainers":[{"name":"akio","email":"me@theak.io"}],"homepage":"https://gitlab.com/TheAkio/eslint-plugin#readme","bugs":{"url":"https://gitlab.com/TheAkio/eslint-plugin/-/issues"},"dist":{"shasum":"04532419221a34fea546decb4b42d690bb94db5e","tarball":"https://registry.npmjs.org/@akio/eslint-plugin/-/eslint-plugin-2.0.0.tgz","fileCount":24,"integrity":"sha512-ljDT3RY3YT51LaOy5Ij5wk22Iikyht62nLU08d9b5I0TvTvJM37OJtZNg+Cop7SYBEcYSjinTj0genefNE79Qw==","signatures":[{"sig":"MEUCIQDwtCjL3naec67cpOfzDuxP/A8VhERB6IGQhJsLgqbd7gIgM8iByoE+8KLa1qEdiICmuVDxfC9I8qMKBj/pIAjHAdQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":48790},"main":"src/index.js","type":"module","gitHead":"a41aa30571bb48d3448001a889656b472bb8f32a","_npmUser":{"name":"akio","email":"me@theak.io"},"repository":{"url":"git+https://gitlab.com/TheAkio/eslint-plugin.git","type":"git"},"_npmVersion":"11.0.0","description":"ESLint configuration for JavaScript, TypeScript and Angular and some self-written rules","directories":{},"_nodeVersion":"22.13.0","dependencies":{"chalk":"^4","semver":"^7","@eslint/js":"^9","eslint-plugin-import":"^2.31.0","@stylistic/eslint-plugin-ts":"^2.13.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^22.10.7"},"peerDependencies":{"eslint":"^9","globals":">=15.11.0","typescript":">=4.7.4","angular-eslint":">=19","typescript-eslint":"^8.20.0","@typescript-eslint/parser":"^8.20.0","eslint-formatter-checkstyle":"^8.40.0","eslint-import-resolver-typescript":"^3.7.0"},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin_2.0.0_1737135047729_0.21043493971694605","host":"s3://npm-registry-packages-npm-production"}},"2.1.0":{"name":"@akio/eslint-plugin","version":"2.1.0","description":"ESLint configuration for JavaScript, TypeScript and Angular and some self-written rules","author":{"name":"TheAkio","email":"me@theak.io"},"license":"MIT","type":"module","repository":{"type":"git","url":"git+https://gitlab.com/TheAkio/eslint-plugin.git"},"bugs":{"url":"https://gitlab.com/TheAkio/eslint-plugin/-/issues"},"keywords":["eslint","eslintplugin","eslint-plugin","ruleset","linter"],"main":"src/index.js","peerDependencies":{"@typescript-eslint/parser":"^8.20.0","angular-eslint":">=21","eslint":"^9","eslint-formatter-checkstyle":"^9.0.1","eslint-import-resolver-typescript":"^4.4.4","globals":">=15.11.0","typescript":">=4.7.4","typescript-eslint":"^8.20.0"},"dependencies":{"@eslint/js":"^9","@stylistic/eslint-plugin-ts":"^4.4.1","chalk":"^4","eslint-plugin-import":"^2.32.0","semver":"^7"},"devDependencies":{"@types/node":"^22.10.7"},"gitHead":"e3c14f96adc211593caeb06916c7c4467ecf0c99","_id":"@akio/eslint-plugin@2.1.0","homepage":"https://gitlab.com/TheAkio/eslint-plugin#readme","_nodeVersion":"24.13.1","_npmVersion":"11.10.1","dist":{"integrity":"sha512-UlmzCaWsSpdZbDNgaQ5D/s7kjIssDZoDxbmNqvvg1Z4myG+9KOC070v6gt/nXd/uyFz+oNPEpIXg+nCMll1xfQ==","shasum":"8104ffe0c144060f20aef8c02f05a08e49572d4b","tarball":"https://registry.npmjs.org/@akio/eslint-plugin/-/eslint-plugin-2.1.0.tgz","fileCount":24,"unpackedSize":48762,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDz2Fcn3yoZMTXufrTP2p38sivMgQ13JxOEX+BbaqMvXQIgXh/wZqyrKCsfQbDjtGG7rrpJ0ZPfMvJIsG8zwRGV+qM="}]},"_npmUser":{"name":"akio","email":"me@theak.io"},"directories":{},"maintainers":[{"name":"akio","email":"me@theak.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/eslint-plugin_2.1.0_1771629010294_0.8334424801721836"},"_hasShrinkwrap":false}},"time":{"created":"2022-12-11T14:46:52.234Z","modified":"2026-02-20T23:10:10.556Z","1.0.0":"2022-12-11T14:46:52.485Z","1.0.1":"2022-12-11T15:48:48.216Z","2.0.0":"2025-01-17T17:30:47.929Z","2.1.0":"2026-02-20T23:10:10.450Z"},"bugs":{"url":"https://gitlab.com/TheAkio/eslint-plugin/-/issues"},"author":{"name":"TheAkio","email":"me@theak.io"},"license":"MIT","homepage":"https://gitlab.com/TheAkio/eslint-plugin#readme","keywords":["eslint","eslintplugin","eslint-plugin","ruleset","linter"],"repository":{"type":"git","url":"git+https://gitlab.com/TheAkio/eslint-plugin.git"},"description":"ESLint configuration for JavaScript, TypeScript and Angular and some self-written rules","maintainers":[{"name":"akio","email":"me@theak.io"}],"readme":"# @akio/eslint-plugin [![NPM](https://img.shields.io/npm/v/@akio/eslint-plugin.svg)](https://www.npmjs.com/package/@akio/eslint-plugin) [![MIT License](https://img.shields.io/npm/l/@akio/eslint-plugin)](https://www.npmjs.com/package/@akio/eslint-plugin) [![Dependencies](https://img.shields.io/librariesio/release/npm/@akio/eslint-plugin)](https://www.npmjs.com/package/@akio/eslint-plugin?activeTab=dependencies)\n\nPersonal ESLint plugin for JavaScript, TypeScript and Angular with mainly configuration and some self-written rules. Feel free to suggest changes but I'll be keeping my tabs :)\n\n## Installation\n\nInstall via npm:\n```bash\nnpm i --save-dev @akio/eslint-plugin\n```\n\n## Setup\n\nCreate your `eslint.config.mjs` (Or `eslint.config.js` if `\"type\": \"module\"` is set in your `package.json`) file and configure it according to the steps in the **Configuration** section.\n\n## Updating\n\nTo update this package, follow all the steps of the installation guide again, except configuring the `eslint.config.mjs` file.\n\n## Configuration\n\nPut the `eslint.config.mjs` file into the root folder of your project.\nSome default globals may be given, but they should be configured according to <https://eslint.org/docs/latest/use/configure/language-options#predefined-global-variables>\n\n### For JavaScript linting\n\n`eslint.config.mjs`:\n\n```js\nimport globals from 'globals';\nimport akiolint from '@akio/eslint-plugin';\n\nexport default [\n    ...akiolint.configs.javascript,\n    {\n        languageOptions: {\n            ecmaVersion: 'latest',\n            globals: {\n                ...globals.browser,\n            },\n        },\n    },\n];\n```\n\n### For TypeScript linting\n\n`eslint.config.mjs`:\n\n```js\nimport globals from 'globals';\nimport akiolint from '@akio/eslint-plugin';\n\nexport default [\n    ...akiolint.configs.typescript,\n    {\n        languageOptions: {\n            ecmaVersion: 'latest',\n            globals: {\n                ...globals.browser,\n            },\n        },\n    },\n];\n```\n\n### For Angular linting\n\n`eslint.config.mjs`:\n\n```js\nimport globals from 'globals';\nimport akiolint from '@akio/eslint-plugin';\n\nexport default [\n    ...akiolint.configs.typescript,\n    ...akiolint.configs.angularTypescript,\n    ...akiolint.configs.angularTemplate,\n    {\n        languageOptions: {\n            ecmaVersion: 'latest',\n            globals: {\n                ...globals.browser,\n            },\n        },\n    },\n    {\n        files: [\n            '**/*.ts',\n        ],\n        rules: {\n            '@angular-eslint/component-selector': [\n                'error',\n                {\n                    type: 'element',\n                    prefix: /* Replace with prefix for components */,\n                    style: 'kebab-case',\n                },\n            ],\n            '@angular-eslint/directive-selector': [\n                'error',\n                {\n                    type: 'attribute',\n                    prefix: /* Replace with prefix for components */,\n                    style: 'camelCase',\n                },\n            ],\n        },\n    },\n];\n```\n\n## Migrate from V1\n\nESLint 9 threw everything ESLint 8 did out of the window and basically created a completely different linting infrastructure.\nAll used plugins basically did the same, and so Akiolint was kind of forced to do the same.\n**The easiest way to migrate from V1 is probably to just setup Akiolint again.**\n\nTo remove Akiolint V1, remove the following things from your `package.json`:\n\n- The `update-akiolint` script\n- The `@akio/eslint-plugin` dependency\n- All other dependencies with `eslint` in their name (`@angular-eslint/...`, `@typescript-eslint/...`, etc.)\n\nAlso remove all ESLint configuration files (like `.eslintrc.json` or `.eslintrc.js`) from your project.\n\nFinally remove your `package-lock.json` and `node_modules` and then run `npm i`.\n\nNow you can start with the **Installation** section above.\n","readmeFilename":"README.md"}