{"id":17702443,"url":"https://github.com/teppeis/eslint-config-teppeis","last_synced_at":"2025-04-07T06:05:48.418Z","repository":{"id":6052353,"uuid":"54585736","full_name":"teppeis/eslint-config-teppeis","owner":"teppeis","description":"ESLint shareable config for me!","archived":false,"fork":false,"pushed_at":"2025-04-06T17:18:19.000Z","size":3312,"stargazers_count":44,"open_issues_count":2,"forks_count":4,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-06T18:27:07.966Z","etag":null,"topics":["closure","eslint","javascript","prettier","typescript"],"latest_commit_sha":null,"homepage":"https://npm.im/eslint-config-teppeis","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/teppeis.png","metadata":{"files":{"readme":"README.md","changelog":null,"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":"2016-03-23T19:01:10.000Z","updated_at":"2025-04-06T17:18:22.000Z","dependencies_parsed_at":"2023-09-24T16:28:36.398Z","dependency_job_id":"5918c9f1-aff5-4311-8566-21e9e8617f09","html_url":"https://github.com/teppeis/eslint-config-teppeis","commit_stats":{"total_commits":1759,"total_committers":6,"mean_commits":293.1666666666667,"dds":"0.38032973280272886","last_synced_commit":"3e692c24c42b08a9ee505214da64ef7f5dd9b542"},"previous_names":[],"tags_count":160,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/teppeis%2Feslint-config-teppeis","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/teppeis%2Feslint-config-teppeis/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/teppeis%2Feslint-config-teppeis/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/teppeis%2Feslint-config-teppeis/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/teppeis","download_url":"https://codeload.github.com/teppeis/eslint-config-teppeis/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247534604,"owners_count":20954565,"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":["closure","eslint","javascript","prettier","typescript"],"created_at":"2024-10-24T19:07:27.006Z","updated_at":"2025-04-07T06:05:48.395Z","avatar_url":"https://github.com/teppeis.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# eslint-config-teppeis\n\n[ESLint](https://github.com/eslint/eslint) shareable configs for me!\n\n[![npm version][npm-image]][npm-url]\n![supported node.js version][node-version]\n[![build status][ci-image]][ci-url]\n![license][license]\n\n\u003e [!IMPORTANT]\n\u003e This config uses [new flat config style](https://eslint.org/docs/latest/use/configure/configuration-files-new) since v19.\n\n## Priority\n\n1.  Avoid [\"Possible Problems\"](https://eslint.org/docs/latest/rules/#possible-problems)\n2.  Enable [\"Suggestions\"](https://eslint.org/docs/latest/rules/#suggestions) if reasonable or fixable\n3.  Use Prettier for stylistic formatting issues\n\n## Install\n\n```console\n$ npm i -D eslint eslint-config-teppeis\n```\n\nand run `npx eslint-config-teppeis --init` to generate initial config files.\n\n## Usage\n\nLoad `eslint-config-teppeis` and export default `build()` in your `eslint.config.js`:\n\n```js\nimport { build } from \"eslint-config-teppeis\";\nimport { mocha } from \"eslint-config-teppeis/configs/mocha\";\n\nexport default await build(\n  { base: \"node18\", typescript: true, esm: true },\n  mocha,\n  {\n    ignores: [\"dist\", \"test/fixtures\"],\n  },\n);\n```\n\n### Options\n\n- `base` (enum, required): `es2021`, `es2022`, `es2023`, `node18` or `node20`\n- `typescript` (boolean, default false): use TypeScript\n- `project` (boolean|string|srting[], default false): the property of `parserOptions` to enable linting with type information\n- `esm` (boolean, default false): treat `.js` and `.ts` as ESM for a project that configures `type:module` in `package.json`\n\n## Configs for customization\n\n### Pure ECMAScript\n\nConfigs for ECMAScript versions\n\n```js\nimport { es2021 } from \"eslint-config-teppeis/configs/es2021\";\n\nexport default [es2021];\n```\n\n- `es2021`\n- `es2022`\n- `es2023`\n\n### Node.js\n\nConfigs for [Node versions](https://github.com/nodejs/Release)\n\n- `node18` (v18.18+ Maintenance)\n- `node20` (v20.9+ Active LTS)\n\n```js\nimport { node18 } from \"eslint-config-teppeis/configs/node18\";\n\nexport default [node18];\n```\n\n### TypeScript\n\nConfigs for TypeScript\n\n- `typescript`: Enable rules that don't require type information\n- `typescriptTypeChecked`: Require type information\n\n```js\nimport { node18, typescript } from \"eslint-config-teppeis/configs\";\n\nexport default [node18, typescript];\n```\n\n### ES Modules\n\nBy default, only `*.mjs` and `*.mts` are treated as ES Modules in configs for Node.js.\nIf you use `type:module` in package.json, use `esm: true` like:\n\n```js\nimport { build } from \"eslint-config-teppeis\";\n\nexport default build({ base: \"node18\", esm: true });\n```\n\n### Browsers\n\nThis enables globals for browsers.\n\n```js\nimport { es2023, browser } from \"eslint-config-teppeis/configs\";\n\nexport default [es2023, browser];\n```\n\n### Mocha\n\nThis enables globals for Mocha like `describe` or `it` only in `**/test/*.js`.\n\n```js\nimport { es2023, mocha } from \"eslint-config-teppeis\";\n\nexport default [es2023, mocha];\n```\n\n## Note: Prettier\n\nJust intall `prettier` and use it with `eslint-config-teppeis`.\nThese configs don't include rule settings that conflict with Pretteir.\n\n## License\n\nLicensed under the MIT license.\nCopyright (c) 2023, Teppei Sato\n\n[npm-image]: https://badgen.net/npm/v/eslint-config-teppeis?icon=npm\u0026label=\n[npm-url]: https://npmjs.org/package/eslint-config-teppeis\n[ci-image]: https://github.com/teppeis/eslint-config-teppeis/workflows/ci/badge.svg\n[ci-url]: https://github.com/teppeis/eslint-config-teppeis/actions?query=workflow%3A%22ci%22\n[deps-image]: https://img.shields.io/librariesio/release/npm/eslint-config-teppeis\n[deps-url]: https://libraries.io/npm/eslint-config-teppeis\n[node-version]: https://badgen.net/npm/node/eslint-config-teppeis\n[license]: https://badgen.net/npm/license/eslint-config-teppeis\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fteppeis%2Feslint-config-teppeis","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fteppeis%2Feslint-config-teppeis","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fteppeis%2Feslint-config-teppeis/lists"}