{"id":10818,"library":"eslint-config-seekingalpha-typescript","title":"SeekingAlpha TypeScript ESLint Config","description":"eslint-config-seekingalpha-typescript provides a sharable ESLint configuration tailored for TypeScript projects, reflecting the code quality standards and conventions used internally by SeekingAlpha. Currently at version 8.73.0, this configuration package is actively maintained and updated to align with the latest versions of ESLint and `typescript-eslint`. Its primary function is to enforce a consistent and opinionated set of rules, including those specific to TypeScript, to enhance code quality and maintainability across projects. Key differentiators include its tight integration with `typescript-eslint` for robust TypeScript linting and its proven application in a large-scale production environment. Users should anticipate updates as major versions of its peer dependencies (ESLint and `typescript-eslint`) are released, ensuring compatibility and leveraging new features and rule enhancements.","status":"active","version":"8.73.0","language":"javascript","source_language":"en","source_url":"https://github.com/seekingalpha/javascript","tags":["javascript","code","codelinter","policy","quality","eslint","eslintconfig","ECMAScript6","sa"],"install":[{"cmd":"npm install eslint-config-seekingalpha-typescript","lang":"bash","label":"npm"},{"cmd":"yarn add eslint-config-seekingalpha-typescript","lang":"bash","label":"yarn"},{"cmd":"pnpm add eslint-config-seekingalpha-typescript","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"Required runtime for ESLint to execute and apply linting rules.","package":"eslint","optional":false},{"reason":"Provides TypeScript-specific rules and parser necessary for linting TypeScript code.","package":"typescript-eslint","optional":false}],"imports":[{"note":"ESLint v9+ flat configs (eslint.config.js) are typically ESM modules, requiring 'import' syntax for the default export.","wrong":"const tsConfig = require('eslint-config-seekingalpha-typescript');","symbol":"tsConfig","correct":"import tsConfig from 'eslint-config-seekingalpha-typescript';"}],"quickstart":{"code":"import tsConfig from 'eslint-config-seekingalpha-typescript';\n\nexport default [\n  {\n    plugins: {\n      ...tsConfig.plugins,\n    },\n    rules: {\n      ...tsConfig.rules,\n    },\n    settings: {\n      ...tsConfig.settings,\n    },\n  },\n];","lang":"javascript","description":"This quickstart demonstrates how to apply the SeekingAlpha TypeScript ESLint configuration in an `eslint.config.js` file."},"warnings":[{"fix":"Migrate your ESLint setup to the flat config format as documented by ESLint (https://eslint.org/docs/latest/use/configure/configuration-files-new).","message":"This package is designed for ESLint v9+ and uses the new flat configuration format (`eslint.config.js`). It is incompatible with legacy ESLint v8 and older `eslintrc` configurations.","severity":"breaking","affected_versions":">=8.0.0"},{"fix":"Upgrade your Node.js environment to version 24 or higher using a tool like nvm or by installing a newer Node.js distribution.","message":"Strict Node.js engine requirement: This package, and its peer dependencies, require Node.js version 24 or newer.","severity":"breaking","affected_versions":">=8.0.0"},{"fix":"Ensure you install the exact peer dependency versions specified in the package's `peerDependencies` section using `npm install eslint@9.39.2 typescript-eslint@8.58.2 --save-dev`.","message":"This package has strict peer dependency versions for `eslint` (9.39.2) and `typescript-eslint` (8.58.2). Mismatched versions will likely lead to errors or unexpected behavior.","severity":"breaking","affected_versions":">=8.0.0"},{"fix":"To override rules, add them directly to the `rules` property in your `eslint.config.js` after spreading the `tsConfig.rules`. For example: `{ rules: { ...tsConfig.rules, 'indent': ['error', 2] } }`.","message":"The configuration is opinionated based on SeekingAlpha's internal standards. Users may need to override specific rules to fit their project's unique requirements.","severity":"gotcha","affected_versions":">=1.0.0"}],"env_vars":null,"last_verified":"2026-04-19T00:00:00.000Z","next_check":"2026-07-18T00:00:00.000Z","problems":[{"fix":"Run `npm install eslint-config-seekingalpha-typescript --save-dev` to install the package.","cause":"The package has not been installed or there's a typo in the import path.","error":"Error: Cannot find module 'eslint-config-seekingalpha-typescript'"},{"fix":"Install the correct version: `npm install typescript-eslint@8.58.2 --save-dev`.","cause":"The `typescript-eslint` peer dependency is either missing or an incompatible version is installed.","error":"Error: Failed to load plugin '@typescript-eslint' declared in 'eslint-config-seekingalpha-typescript/index.js': Cannot find module '@typescript-eslint/eslint-plugin'"},{"fix":"Upgrade your Node.js version to 24 or higher. Use `nvm install 24` and `nvm use 24` or similar version management tools.","cause":"Your Node.js environment does not meet the minimum version requirement specified in the package's `engines` field.","error":"Error: The current Node.js version (vX.Y.Z) does not satisfy the required version '>= 24'."}],"ecosystem":"npm"}