{"id":19283281,"url":"https://github.com/clazex/eslint-config-lux","last_synced_at":"2026-04-13T06:03:14.164Z","repository":{"id":44913213,"uuid":"271977893","full_name":"Clazex/eslint-config-lux","owner":"Clazex","description":"An ESLint Config","archived":false,"fork":false,"pushed_at":"2023-03-06T11:43:48.000Z","size":413,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-05T20:06:00.331Z","etag":null,"topics":["babel","eslint","eslint-config","esm","import","node","npm","npm-package","promise","quasar-framework","vue"],"latest_commit_sha":null,"homepage":"https://www.npmjs.com/package/eslint-config-lux","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Clazex.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":"2020-06-13T09:24:27.000Z","updated_at":"2021-05-08T13:18:23.000Z","dependencies_parsed_at":"2024-11-09T21:31:48.914Z","dependency_job_id":"9dea3be4-5136-4db5-a228-fc129577121d","html_url":"https://github.com/Clazex/eslint-config-lux","commit_stats":{"total_commits":28,"total_committers":2,"mean_commits":14.0,"dds":0.0357142857142857,"last_synced_commit":"280c962870842935002b3fc9a0160e18beaec2ae"},"previous_names":[],"tags_count":15,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Clazex%2Feslint-config-lux","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Clazex%2Feslint-config-lux/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Clazex%2Feslint-config-lux/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Clazex%2Feslint-config-lux/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Clazex","download_url":"https://codeload.github.com/Clazex/eslint-config-lux/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240387616,"owners_count":19793385,"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":["babel","eslint","eslint-config","esm","import","node","npm","npm-package","promise","quasar-framework","vue"],"created_at":"2024-11-09T21:31:09.792Z","updated_at":"2026-04-13T06:03:14.104Z","avatar_url":"https://github.com/Clazex.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# eslint-config-lux\n\n\u003e An ESLint Config\n\n[![License](https://img.shields.io/github/license/Sciencmine/eslint-config-lux?label=License\u0026logo=apache)](https://github.com/Sciencmine/eslint-config-lux/blob/master/LICENSE)\n\n[![Last Commit](https://badgen.net/github/last-commit/Sciencmine/eslint-config-lux?label=Last%20Commit\u0026icon=github)](https://github.com/Sciencmine/eslint-config-lux/commits)\n[![Lint](https://img.shields.io/github/workflow/status/Sciencmine/eslint-config-lux/Lint?label=Lint\u0026logo=github-actions\u0026logoColor=white)](https://github.com/Sciencmine/eslint-config-lux/actions?query=workflow%3ALint)\n[![Open Issues](https://img.shields.io/github/issues-raw/Sciencmine/eslint-config-lux?label=Open%20Issues\u0026logo=github)](https://github.com/Sciencmine/eslint-config-lux/issues?q=is%3Aissue+is%3Aopen)\n[![Commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg)](http://commitizen.github.io/cz-cli/)\n\n[![NPM](https://nodei.co/npm/eslint-config-lux.png?downloads=true\u0026stars=true)](https://www.npmjs.com/package/eslint-config-lux)\n\n## Usage\n\n1. Ensure [ESLint](https://npmjs.com/package/eslint) is installed, all peer dependencies are installed, the configuration file is initiated, and the config package is installed\n\n```bash\nnpm install --save-dev eslint@^7.18.0 # Install ESLint\nnpm install --save-dev eslint-plugin-import@^2.22.1 eslint-plugin-node@^11.1.0 eslint-plugin-promise@^4.2.1 # Install peer dependencies\nnpm install --save-dev eslint-config-lux # Install this package\n```\n\n```bash\nnpx eslint --init # Init config file\n```\n\nOr also with optional dependencies\n\n```bash\nnpm install --save-dev @babel/core@^7.12.10 @babel/eslint-parser@^7.12.1 @babel/eslint-plugin@^7.12.1 # Babel\n```\n\n2. Extend the config in the config file\n\n```js\n// In .eslintrc.js\nmodule.exports = {\n/*\n  parserOptions: {\n    parser: \"babel-eslint\"\n  },\n*/ // Use this if you want \"babel-eslint\" enabled\n\n  extends: [\n    // The \"eslint-config-\" prefix can be omitted\n    \"lux\" // alias for \"lux/base\"\n    // \"lux/base\",\n\n    // \"lux/import\", // Rules for esm related rules, requires \"eslint-plugin-import\"\n    // \"lux/node\", // Rules for Node.js related rules, requires \"eslint-plugin-node\"\n ]\n};\n```\n\n3. Add `npm` tasks for code linting and fixing\n\n```json\n// In package.json\n{\n  \"scripts\": {\n    \"lint\": \"eslint --ext .js --ignore-path .gitignore ./\",\n    \"fix\": \"npm run lint -- --fix\"\n  }\n}\n```\n\nUse the following instead if you are using Vue\n\n```json\n// In package.json\n{\n  \"scripts\": {\n    \"lint\": \"eslint --ext .js,.vue --ignore-path .gitignore ./\",\n    \"fix\": \"npm run lint -- --fix\"\n  }\n}\n```\n\n4. Run linting and fixing for the first time and enforce the code styles\n\n```bash\nnpm run fix\n```\n\n5. Extra configuration for editors\n\n+ Visual Studio Code\n\nThe [ESLint plugin](https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint) is needed.\n\n```json\n{\n  \"eslint.validate\": [\n    \"javascript\"\n  ],\n  \"editor.insertSpaces\": false,\n  \"editor.detectIndentation\": false,\n  \"editor.formatOnPaste\": true,\n  \"editor.formatOnSave\": true,\n  \"editor.codeActionsOnSave\": {\n    \"source.fixAll\": true\n  },\n  \"javascript.format.insertSpaceBeforeFunctionParenthesis\": false,\n  \"javascript.format.placeOpenBraceOnNewLineForControlBlocks\": false,\n  \"javascript.format.placeOpenBraceOnNewLineForFunctions\": false,\n  \"typescript.format.insertSpaceBeforeFunctionParenthesis\": false,\n  \"typescript.format.placeOpenBraceOnNewLineForControlBlocks\": false,\n  \"typescript.format.placeOpenBraceOnNewLineForFunctions\": false,\n  \"eslint.lintTask.enable\": true\n}\n```\n\n...And also the following if you are using Vue\n\n```json\n{\n \"eslint.validate\": [\n  \"vue\"\n ],\n \"vetur.validation.template\": false\n}\n```\n\n+ EditorConfig\n\n```editorconfig\nroot = true\n\n[*]\ncharset = utf-8\nend_of_line = lf\nindent_style = tab\nindent_size = tab\ninsert_final_newline = true\ntrim_trailing_whitespace = true\n```\n\n+ Others\nPlease refer to [ESLint Integrations](https://eslint.org/docs/user-guide/integrations)\nAdd [ESLint Plugin Vue Editor integrations](https://github.com/vuejs/eslint-plugin-vue/tree/v6.2.2/docs/user-guide#computer-editor-integrations) for Vue\n\n6. Enjoy!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fclazex%2Feslint-config-lux","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fclazex%2Feslint-config-lux","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fclazex%2Feslint-config-lux/lists"}