{"id":25836,"library":"ko-lint-config","title":"ko-lint-config","description":"A shared lint configuration package from DTStack that bundles ESLint, Stylelint, and Prettier rules into a single dependency. Version 2.2.22 requires Node >=14 and ships TypeScript types. It enforces a specific code style (4-space indent, single quotes, no forced semicolons, optional trailing commas) designed for team consistency. Releases follow the ko monorepo's cadence. Differentiators: no configuration overhead, automatic formatting via pnpm lint-fix, and pre-defined rules that discourage overriding to maintain group style guide compliance.","status":"active","version":"2.2.22","language":"javascript","source_language":"en","source_url":"https://github.com/DTStack/ko","tags":["javascript","code style","eslint","eslint config","prettier","stylelint","lint","typescript"],"install":[{"cmd":"npm install ko-lint-config","lang":"bash","label":"npm"},{"cmd":"yarn add ko-lint-config","lang":"bash","label":"yarn"},{"cmd":"pnpm add ko-lint-config","lang":"bash","label":"pnpm"}],"dependencies":[],"imports":[{"note":"Use require.resolve to find the config file; string literal may resolve incorrectly in some environments.","wrong":"module.exports = { extends: ['ko-lint-config'] }","symbol":"ko-lint-config (ESLint config)","correct":"module.exports = { extends: [require.resolve('ko-lint-config')] }"},{"note":"The .prettierrc file is a plain JS object, not a config with extends; spread it into your config.","wrong":"module.exports = { extends: [require.resolve('ko-lint-config/.prettierrc')] }","symbol":"Prettier config","correct":"const prettier = require('ko-lint-config/.prettierrc'); module.exports = { ...prettier }"},{"note":"Same as ESLint: use require.resolve to ensure correct path resolution.","wrong":"module.exports = { extends: ['ko-lint-config/.stylelintrc'] }","symbol":"Stylelint config","correct":"module.exports = { extends: [require.resolve('ko-lint-config/.stylelintrc')] }"}],"quickstart":{"code":"pnpm add ko-lint-config -D\n\n// .eslintrc.js\nmodule.exports = {\n  extends: [require.resolve('ko-lint-config')],\n}\n\n// .prettierrc.js\nconst prettier = require('ko-lint-config/.prettierrc')\nmodule.exports = { ...prettier }\n\n// package.json \"scripts\"\n{\n  \"lint\": \"npx eslint './src/**/*.ts' './src/**/*.tsx'\",\n  \"lint-fix\": \"npx eslint './src/**/*.ts' './src/**/*.tsx' --fix\",\n  \"lint-css\": \"npx stylelint './src/**/*.scss' './src/**/*.css'\",\n  \"lint-css-fix\": \"npx stylelint './src/**/*.scss' './src/**/*.css' --fix\"\n}\n\n// Then run\npnpm lint-fix","lang":"javascript","description":"Install ko-lint-config, configure ESLint and Prettier via require.resolve, and add lint scripts."},"warnings":[{"fix":"Use require.resolve('ko-lint-config') in extends array.","message":"Do not use string literal 'ko-lint-config' in extends; use require.resolve() to avoid module resolution failures.","severity":"gotcha","affected_versions":"all"},{"fix":"Stick with ESLint 8 or migrate to a flat config manually.","message":"The package expects ESLint <9 (flat config not supported). If you use ESLint 9+, this config will not work.","severity":"deprecated","affected_versions":">=2.0.0"},{"fix":"Pin version and test lint output after upgrade.","message":"Major version bumps may change lint rules significantly without warning. Always review changelog before upgrading.","severity":"breaking","affected_versions":">=1.0.0"},{"fix":"Use const prettier = require('ko-lint-config/.prettierrc'); module.exports = { ...prettier }","message":"Prettier config is spread, not extended. Using extends will cause errors.","severity":"gotcha","affected_versions":"all"}],"env_vars":null,"last_verified":"2026-05-01T00:00:00.000Z","next_check":"2026-07-30T00:00:00.000Z","problems":[{"fix":"Run `npm install ko-lint-config --save-dev` and ensure node_modules contains it.","cause":"ko-lint-config not installed or require.resolve used without installing.","error":"Error: Cannot find module 'ko-lint-config'"},{"fix":"Remove custom rule overrides and rely solely on ko-lint-config's defaults.","cause":"Overriding rules from ko-lint-config can cause incompatibility.","error":"ESLint: Configuration for rule \"indent\" is invalid"},{"fix":"Add `extends: [require.resolve('ko-lint-config/.stylelintrc')]` to your .stylelintrc.js","cause":"Stylelint config not loaded; missing require.resolve for .stylelintrc.","error":"Error: No configuration provided for stylelint"},{"fix":"Use `const prettier = require('ko-lint-config/.prettierrc')` without require.resolve.","cause":"Using require.resolve on .prettierrc file when it's not a valid module export.","error":"Error: Could not resolve 'ko-lint-config/.prettierrc'"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}