{"id":24659126,"url":"https://github.com/KnodesCommunity/eslint-config","last_synced_at":"2025-10-07T21:31:36.264Z","repository":{"id":37566055,"uuid":"326877011","full_name":"KnodesCommunity/eslint-config","owner":"KnodesCommunity","description":"ESLint rules \u0026 presets for Knodes","archived":false,"fork":false,"pushed_at":"2024-10-25T03:59:40.000Z","size":1735,"stargazers_count":1,"open_issues_count":12,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-10-25T12:42:14.353Z","etag":null,"topics":["eslint","eslint-plugin","javascript","typescript"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/KnodesCommunity.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-01-05T03:38:13.000Z","updated_at":"2023-04-09T12:04:36.000Z","dependencies_parsed_at":"2024-07-29T23:48:26.439Z","dependency_job_id":"13f76626-cd4d-4532-af77-64dfdda5978e","html_url":"https://github.com/KnodesCommunity/eslint-config","commit_stats":{"total_commits":111,"total_committers":3,"mean_commits":37.0,"dds":"0.16216216216216217","last_synced_commit":"cd1f8b515ec17de5050b978df16c820a740e655a"},"previous_names":["scitizen/eslint-config"],"tags_count":28,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KnodesCommunity%2Feslint-config","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KnodesCommunity%2Feslint-config/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KnodesCommunity%2Feslint-config/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KnodesCommunity%2Feslint-config/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/KnodesCommunity","download_url":"https://codeload.github.com/KnodesCommunity/eslint-config/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":235656502,"owners_count":19024781,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["eslint","eslint-plugin","javascript","typescript"],"created_at":"2025-01-26T02:32:03.330Z","updated_at":"2025-10-07T21:31:35.871Z","avatar_url":"https://github.com/KnodesCommunity.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# @knodes/eslint-config\nESLint rules \u0026amp; presets for Knodes\n---\n\nThis set of rules is released open-source for anyone to use. It is meant to be a strict, aerated configuration.\n\n### Main features\n\n\u003e :white_check_mark: is always installed, :white_medium_square: is optional.\n\n* **Languages:**\n  * :white_check_mark: Javascript\n  * :white_medium_square: Typescript\n    * :white_medium_square: with rxjs\n* **Frameworks:**\n  * :white_check_mark: Bare node/browser\n  * :white_medium_square: [Nest](https://nestjs.com/)\u003c!-- ([:information_source: more infos]()) --\u003e\n  * :white_medium_square: [Angular](https://angular.io/) ([:information_source: more infos](#angular))\n* **Plugins:** (checked are always used)\n  * :white_check_mark: [eslint-plugin-import](https://www.npmjs.com/package/eslint-plugin-import)\n  * :white_check_mark: [eslint-plugin-jsdoc](https://www.npmjs.com/package/eslint-plugin-jsdoc)\n  * :white_check_mark: [eslint-plugin-prefer-arrow](https://www.npmjs.com/package/eslint-plugin-prefer-arrow)\n  * :white_check_mark: [eslint-plugin-sort-export-all](https://www.npmjs.com/package/eslint-plugin-sort-export-all)\n  * :white_check_mark: [eslint-plugin-eslint-comments](https://www.npmjs.com/package/eslint-plugin-eslint-comments)\n  * :white_medium_square: [@angular-eslint](https://www.npmjs.com/package/@angular-eslint/eslint-plugin)\n  * :white_medium_square: [@typescript-eslint](https://www.npmjs.com/package/@typescript-eslint/eslint-plugin)\n\n### Configurations quick outline:\n\n* Angular:\n  * `@knodes/eslint-config/angular`\n  * `@knodes/eslint-config/angular/jest`\n  * For libs:\n    * `@knodes/eslint-config/angular/lib`\n    * `@knodes/eslint-config/angular/lib/jest`\n* Nest: `@knodes/eslint-config/nest`\n* Bare:\n  * Pure JS: `@knodes/eslint-config/js`\n  * JS + TS: `@knodes/eslint-config/ts`\n  * JS + TS + rxjs: `@knodes/eslint-config/ts-rxjs`\n\nYou can also use configuration fragments from `@knodes/eslint-config/config-fragments/*`. See [the directory on GitHub](https://github.com/KnodesCommunity/eslint-config/tree/main/src/config-fragments).\n\n### Installation \u0026 configuration\n\nFor any preset, you must at least install base dependencies.\n\n```sh\nnpm install --save-dev @knodes/eslint-config eslint eslint-plugin-import eslint-plugin-jsdoc eslint-plugin-prefer-arrow eslint-plugin-sort-export-all eslint-plugin-eslint-comments\n```\n\nIf you're using **Typescript**, install also `@typescript-eslint` related dependencies.\n\n```sh\nnpm install --save-dev @typescript-eslint/eslint-plugin @typescript-eslint/parser\n```\n\n#### Angular\n\n```sh\nnpm install --save-dev @knodes/eslint-config eslint \\\n  eslint-plugin-import eslint-plugin-jsdoc eslint-plugin-prefer-arrow eslint-plugin-sort-export-all eslint-plugin-eslint-comments \\\n  @typescript-eslint/eslint-plugin @typescript-eslint/parser \\\n  @angular-eslint/eslint-plugin @angular-eslint/eslint-plugin-template @angular-eslint/template-parser\n```\n\n#### Without/other framework\n\n\u003cblockquote\u003e\n\u003cdetails\u003e\n\u003csummary\u003eSee sample \u003ccode\u003e.eslintrc.js\u003c/code\u003e for Typescript\u003c/summary\u003e\n\n```js\nmodule.exports = {\n\tenv: { /* See https://eslint.org/docs/user-guide/configuring#specifying-environments. es2020 is enabled by default */ },\n\textends: '@knodes/eslint-config/ts',\n\tparserOptions: {\n\t\tproject: './tsconfig.json',\n\t},\n};\n```\n\n\u003c/details\u003e\n\u003c/blockquote\u003e\n\n\u003cblockquote\u003e\n\u003cdetails\u003e\n\u003csummary\u003eSee sample \u003ccode\u003e.eslintrc.js\u003c/code\u003e for Javascript\u003c/summary\u003e\n\n```js\nmodule.exports = {\n\tenv: { /* See https://eslint.org/docs/user-guide/configuring#specifying-environments. es2020 is enabled by default */ },\n\textends: '@knodes/eslint-config/js',\n};\n```\n\n\u003c/details\u003e\n\u003c/blockquote\u003e\n\n##### Assumed directory structure\n\n* `*.{j,t}s`: Project configuration files. Light lint rules are applied. It includes `.eslintrc.js`.\n* `**`\n  * `index.[jt]s{x,}`: Barrel files, only exporting other source files\n  * `*.[jt]s{x,}`: Source files\n  * `*.{spec,test}.[jt]s{x,}`: Unit test files. Configured for *jest* by default, unless framework use a different test runner\n  * `__mocks__/**/*.[jt]s{x,}`: Module mocks for unit tests\n  * `test-utils/**/*.[jt]s{x,}`: Various testing utilities\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FKnodesCommunity%2Feslint-config","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FKnodesCommunity%2Feslint-config","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FKnodesCommunity%2Feslint-config/lists"}