{"_id":"@edyd/eslint-config","name":"@edyd/eslint-config","dist-tags":{"latest":"1.0.0"},"versions":{"1.0.0":{"name":"@edyd/eslint-config","version":"1.0.0","description":"My eslint configs","keywords":["eslint","config"],"author":{"name":"Edy Deleon","email":"contact@edydeleon.me"},"type":"module","module":"./index.js","exports":{".":{"import":"./index.js"},"./src":{"import":"./src/index.js"},"./package.json":"./package.json"},"peerDependencies":{"eslint":"^9.8.0","typescript-eslint":"^8.29.0"},"dependencies":{"eslint-plugin-import":"^2.32.0","eslint-plugin-unused-imports":"^4.1.4"},"_id":"@edyd/eslint-config@1.0.0","gitHead":"b2807ba629de61b43d7a715e3fd52cbe87bc6a75","_nodeVersion":"22.18.0","_npmVersion":"10.9.3","dist":{"integrity":"sha512-9uc37WvS0OUVVcFTDRLSrOHRTC+mjWVx5ZswES9pzGz0PALe7MYQ5icIvGLgfkOfqOWvzs6EyslwDz6uFv+8ug==","shasum":"7c9d8cb7c561930e8e4a761c91ff09ed12ac7f88","tarball":"https://registry.npmjs.org/@edyd/eslint-config/-/eslint-config-1.0.0.tgz","fileCount":3,"unpackedSize":14701,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDtDZML9Ae6j/t//AJ7dpi+ZW83qE38huxUhc7rMPElKQIgGvV4HbqKshXF/JLinjGZBKOEhBK1UvL8hb6UB1D7VGo="}]},"_npmUser":{"name":"edydeleon","email":"edy@familydeleon.com"},"directories":{},"maintainers":[{"name":"edydeleon","email":"edy@familydeleon.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/eslint-config_1.0.0_1754879821557_0.21228986935946637"},"_hasShrinkwrap":false}},"time":{"created":"2025-08-11T02:37:01.468Z","1.0.0":"2025-08-11T02:37:01.749Z","modified":"2025-08-11T02:37:02.148Z"},"maintainers":[{"name":"edydeleon","email":"edy@familydeleon.com"}],"description":"My eslint configs","keywords":["eslint","config"],"author":{"name":"Edy Deleon","email":"contact@edydeleon.me"},"readme":"# `@edyd/eslint-config`\n\n> My ESLint configurations.\n\n---\n\n## Prerequisites\n\nBefore using these eslint configurations, you must first\n[set up eslint for your project](https://eslint.org/docs/latest/use/getting-started).\n\nFor Angular projects, we recommend using\n[Angular ESLint](https://github.com/angular-eslint/angular-eslint#quick-start)\nor the\n[Nx ESLint Plugin](https://nx.dev/packages/linter/documents/eslint-plugin-nx) if\nyou are using Nx.\n\n## Installation\n\nInstall via npm\n\n```bash\nnpm i --save-dev  @edyd/eslint-config\n```\n\n---\n\n## Usage\n\nThis package exports various different eslint configurations that can be used\nfor different projects.\n\n<table width=\"100%\" border=\"1\">\n  <tr>\n    <td><strong>javascript</strong></td>\n    <td>Base JavaScript rules</td>\n  </tr>\n\n  <tr>\n    <td><strong>typescript</strong></td>\n    <td>Base TypeScript rules. Includes base JavaScript rules</td>\n  </tr>\n\n  <tr>\n    <td><strong>typescriptStrict</strong></td>\n    <td>Base TypeScript and JavaScript rules with additional strict rules that require type information</td>\n  </tr>\n</table>\n\n### Base Configs\n\nOur configs only support the latest flat config syntax. Please refer to the\n[ESLint Migration Guide](https://eslint.org/docs/latest/use/configure/migration-guide)\nfor instructions on how to migrate from the legacy syntax.\n\nHere's a basic example of how to use the eslint configs.\n\n```javascript\n// eslint.config.js\nimport { defineConfig } from 'eslint/config';\nimport eslintConfig from '@edyd/eslint-config';\n\nexport default defineConfig([\n  {\n    files: ['**/*.js'],\n    extends: [eslintConfig.javscript],\n  },\n  {\n    files: ['**/*.ts'],\n    extends: [eslintConfig.typescript],\n  },\n]);\n```\n\n### Strict Config\n\nThe `typescriptStrict` config is a stricter ruleset that takes advantage of type\ninformation provided by the typescript compiler. It's intended to be the most\nsecure ruleset to follow.\n\n## Adapting to Stricter Rules\n\nGenerally, stricter ESLint rules should help reduce potential runtime errors and\nhelp make your code more readable. However, your project might produce a ton of\nlint errors if you enable our strict ruleset. In order to help migrate your code\nover time to conform to stricter standards, we recommend setting offending rules\nfrom `'error'` to `'warn'`. This will point out code that violates the rules\nwithout causing a lint failure.\n\nIf you're using VS Code, we recommend installing the\n[ESLint extension](https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint)\nand enabling it in your `settings.json`:\n\n```json\n{\n  \"eslint.format.enable\": true\n}\n```\n\nThis will highlight offending code in your IDE.\n\n## Auto Formatting\n\nIn order to enable auto formatting of code, we recommend either using\n[eslint-plugin-prettier](https://github.com/prettier/eslint-plugin-prettier) or\n[eslint-stylistic](https://eslint.style/). Our configs do not include formatting\nrules. You can also add [eslint-perfectionist](https://perfectionist.dev/) for\nadditional formatting options.\n\nExample eslint config with formatting:\n\n```javascript\nimport eslintConfig from '@edyd/eslint-config';\nimport perfectionist from 'eslint-plugin-perfectionist';\nimport eslintPluginPrettier from 'eslint-plugin-prettier/recommended';\n\nexport default [\n  ...eslintConfig.typescriptStrict,\n  ...eslintConfig.javascript,\n  perfectionist.configs['recommended-natural'],\n  eslintPluginPrettier,\n  {\n    files: ['**/*.ts', '**/*.tsx', '**/*.js', '**/*.jsx'],\n    rules: {\n      // your overrides\n    },\n  },\n];\n```\n\nWith the ESLint extension in VS Code, you can enable auto formatting your code\non save:\n\n```json\n{\n  \"editor.formatOnSave\": true,\n  \"editor.codeActionsOnSave\": {\n    \"source.organizeImports\": false\n  },\n  \"[javascript]\": {\n    \"editor.defaultFormatter\": \"dbaeumer.vscode-eslint\"\n  },\n  \"[typescript]\": {\n    \"editor.defaultFormatter\": \"dbaeumer.vscode-eslint\"\n  }\n}\n```\n\nEnabling this will auto format your code changes on save. For many ESLint rules,\nthis will also apply any auto-fixable suggestions automatically.\n\n---\n\nMore information about using configurations available at\n[ESLint documentation](https://eslint.org/docs/user-guide/configuring/configuration-files#using-configuration-files)\n","readmeFilename":"README.md","_rev":"1-12de5e8448c4cbe07bab4f6239365f86"}