{"id":18678251,"url":"https://github.com/stackr23/config-eslint","last_synced_at":"2025-11-07T09:30:35.169Z","repository":{"id":44784444,"uuid":"366703780","full_name":"stackr23/config-eslint","owner":"stackr23","description":"StackR23's modular config for EsLint (rules, plugins and integration)","archived":false,"fork":false,"pushed_at":"2022-01-24T23:44:30.000Z","size":509,"stargazers_count":0,"open_issues_count":5,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-12-27T21:14:42.710Z","etag":null,"topics":["eslint-config","modular","stackr23"],"latest_commit_sha":null,"homepage":"https://www.npmjs.com/package/@stackr23/config-eslint","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/stackr23.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-05-12T12:13:30.000Z","updated_at":"2022-01-24T23:40:05.000Z","dependencies_parsed_at":"2022-09-26T19:02:26.843Z","dependency_job_id":null,"html_url":"https://github.com/stackr23/config-eslint","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stackr23%2Fconfig-eslint","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stackr23%2Fconfig-eslint/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stackr23%2Fconfig-eslint/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stackr23%2Fconfig-eslint/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/stackr23","download_url":"https://codeload.github.com/stackr23/config-eslint/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239525525,"owners_count":19653345,"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-config","modular","stackr23"],"created_at":"2024-11-07T09:36:40.846Z","updated_at":"2025-11-07T09:30:35.107Z","avatar_url":"https://github.com/stackr23.png","language":"JavaScript","readme":"# @stackr23/config-eslint\n\n- [Installation](#installation)\n- [Configuration](#configuration)\n  - [NPM Lint Script](#npm-lint-script)\n  - [Integration (VsCode)](#integration-vscode)\n  - [Import Resolvers](#import-resolvers)\n    - [webpack](#webpack)\n    - [node](#node)\n\n## Installation\n\n\u003e **to skip installation and configuration,**  \n\u003e **just run** `mrm --preset @stackr23/mrm lint`\n\u003e\n\u003e **see:** [lint Task of '@stackr23/mrm'](https://github.com/stackr23/mrm#lint)\n\n**install package:** `npm i -D eslint @stackr23/config-eslint`  \n_includes all eslint and prettier related plugins and shared configs_\n\n## Configuration\n\n**eslint** (_either JS or JSON_)\n\n**JS - {workspace}/.eslintrc.js:**\n\n```js\nmodule.exports = { extends: [require.resolve('@stackr23/config-eslint')] }\n```\n\n**JSON - {workspace}/.eslintrc:**\n\n```json\n{ \"extends\": [\"./node_modules/@stackr23/config-eslint/index.js\"] }\n```\n\n**prettier**\n\n```js\n// {workspace}/prettier.config.js\nmodule.exports = require('@stackr23/config-eslint/prettier.config.js')\n```\n\n### NPM Lint Script\n\n`\"lint\": \"eslint --fix --ext \\\".js,.jsx,.ts,.tsx\\\" . --quiet --format pretty \u0026\u0026 prettier **/*.{css,scss,md,json} --write\"`\n\n### Integration (VsCode)\n\n**install extensions:**\n\n- \"dbaeumer.vscode-eslint\"\n- \"teeLang.vsprettier\"\n\n**configure vscode:**\n\n```javascript\n// {workspace}/.vscode/settings.json\n{\n  // PRETTIER\n  {\n  \"editor.formatOnSaveTimeout\": 500,\n\n  \"editor.defaultFormatter\": \"teeLang.vsprettier\",\n  \"vsprettier.requireConfig\": true,\n  \"vsprettier.packageManager\": \"npm\",\n  \"vsprettier.useEsLint\": false,\n  \"vsprettier.useStyleLint\": true,\n\n  \"editor.codeActionsOnSave\": { \"source.fixAll.eslint\": true },\n  \"eslint.validate\": [ \"javascript\", \"javascriptreact\", \"typescript\", \"typescriptreact\" ],\n  \"eslint.alwaysShowStatus\": true,\n  \"eslint.run\": \"onType\",\n  \"eslint.lintTask.enable\": true,\n  \"eslint.workingDirectories\": [{ \"directory\": \".\", \"changeProcessCWD\": true }],\n\n  \"javascript.implicitProjectConfig.checkJs\": true,\n\n  \"javascript.validate.enable\": false,\n  \"javascript.format.enable\": false,\n  \"[javascriptreact]\": {\n    \"editor.defaultFormatter\": \"dbaeumer.vscode-eslint\",\n    \"editor.formatOnPaste\": false,\n    \"editor.formatOnSave\": false,\n    \"editor.formatOnType\": false,\n    \"editor.formatOnSaveTimeout\": 500\n  },\n}\n\n```\n\n### Import Resolvers\n\n\u003e enables absolute import paths  \n\u003e like `import Header from 'components/Header'`\n\n#### webpack\n\n\u003e applied to env 'react'\n\n- **uses '[tsconfig-paths-webpack-plugin](https://github.com/dividab/tsconfig-paths-webpack-plugin#readme)'** to resolve import paths  \n  **requires:** workspaceRoot/tsconfig.json  \n  see [path-mapping for typescript](https://www.typescriptlang.org/docs/handbook/module-resolution.html#path-mapping)\n- **if tsconfig.json is not present** it won't use that plugin  \n  and uses the **default resolve config**:\n\n  ```js\n    resolve: {\n      extensions: ['.jsx', '.js', '.ts', '.tsx', '.json'],\n      // paths are relative to workspace root\n      alias:      {\n        components: join(basename(CONSTANTS.paths.src), 'components'),\n        assets: CONSTANTS.paths.assets\n      },\n      modules: ['node_modules'],\n    }\n  ```\n\n- **you can overwrite this config** to fit your projects module resolvement,  \n  if you **add 'webpack.config.resolve.js'** to your workspaceRoot  \n  _(use format of '[src/webpack.config.resolve.js](https://github.com/stackr23/webpack/blob/master/src/webpack.config.resolve.js)')_\n  - This config will also be used by '[@stackr23/webpack](https://github.com/stackr23/webpack)'\n  - for more information see [webpack's resolve config](https://webpack.js.org/configuration/resolve/)\n\n#### node\n\n\u003e applied to env 'browser' and 'node'\n\n```javascript\n{\n  paths:      [ './src' ],\n  extensions: [ '.js', '.jsx', '.json' ],\n}\n```\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstackr23%2Fconfig-eslint","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstackr23%2Fconfig-eslint","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstackr23%2Fconfig-eslint/lists"}