{"id":26659,"library":"wttj-config","title":"wttj-config","description":"wttj-config (v3.1.5) is a shared front-end lint and formatting config used by WTTJ. It provides preconfigured ESLint (React, TypeScript, Cypress), Prettier, Stylelint, and TypeScript configs. Active development with regular releases. Key differentiator: opinionated all-in-one config from a larger company, including i18n sorting scripts and release-it automation.","status":"active","version":"3.1.5","language":"javascript","source_language":"en","source_url":"https://github.com/WTTJ/front-config","tags":["javascript","eslint","eslintconfig","prettier","prettierconfig","babel","babelconfig","typescript","tsconfig"],"install":[{"cmd":"npm install wttj-config","lang":"bash","label":"npm"},{"cmd":"yarn add wttj-config","lang":"bash","label":"yarn"},{"cmd":"pnpm add wttj-config","lang":"bash","label":"pnpm"}],"dependencies":[],"imports":[{"note":"Use a relative path from the .eslintrc.js file due to ESLint resolution constraints.","wrong":"extends: 'wttj-config/lib/eslint'","symbol":"ESLint config","correct":"extends: './node_modules/wttj-config/lib/eslint'"},{"note":"Use require('wttj-config/lib/prettier') in prettier.config.js. No default export.","wrong":"","symbol":"Prettier config","correct":"module.exports = require('wttj-config/lib/prettier')"},{"note":"The tsconfig extends must point to the nested path under lib/tsconfig/.","wrong":"\"extends\": \"wttj-config/tsconfig.json\"","symbol":"TypeScript config","correct":"\"extends\": \"wttj-config/lib/tsconfig/tsconfig.json\""},{"note":"Similar to ESLint, use a relative path to avoid resolution issues.","wrong":"extends: 'wttj-config/lib/stylelint'","symbol":"Stylelint config","correct":"extends: './node_modules/wttj-config/lib/stylelint'"}],"quickstart":{"code":"yarn add --dev wttj-config\n# In .eslintrc.js:\nmodule.exports = {\n  extends: './node_modules/wttj-config/lib/eslint',\n}\n# In prettier.config.js:\nmodule.exports = require('wttj-config/lib/prettier')\n# In stylelint.config.js:\nmodule.exports = {\n  extends: './node_modules/wttj-config/lib/stylelint',\n}\n# In tsconfig.json:\n{\n  \"extends\": \"wttj-config/lib/tsconfig/tsconfig.json\",\n  \"compilerOptions\": {\n    \"baseUrl\": \"src\"\n  },\n  \"include\": [\"src\"]\n}","lang":"javascript","description":"Shows installation and configuration for ESLint, Prettier, Stylelint, and TypeScript using wttj-config."},"warnings":[{"fix":"Review your ESLint overrides for any conflicts with typescript-sort-keys rules; adjust or disable if necessary.","message":"Version 3.0.0 upgraded all dependencies and added `eslint-plugin-typescript-sort-keys` rule. Existing ESLint configurations may break if they override rules that now conflict with this plugin.","severity":"breaking","affected_versions":">=3.0.0"},{"fix":"Use `'./node_modules/wttj-config/lib/eslint'` instead of `'wttj-config/lib/eslint'`.","message":"ESLint and Stylelint extends must use relative paths (e.g., './node_modules/wttj-config/lib/eslint') rather than package name paths to avoid resolution failures in some CRA or monorepo setups.","severity":"gotcha","affected_versions":">=3.0.0"},{"fix":"Use `\"extends\": \"wttj-config/lib/tsconfig/tsconfig.json\"` in your tsconfig.json.","message":"The TypeScript config file path is 'wttj-config/lib/tsconfig/tsconfig.json', not 'wttj-config/tsconfig.json'.","severity":"gotcha","affected_versions":">=2.0.0"},{"fix":"Use `module.exports = require('wttj-config/lib/prettier')` in your prettier.config.js.","message":"Prettier config uses `require('wttj-config/lib/prettier')` and expects a module.exports, not a default export.","severity":"gotcha","affected_versions":">=1.0.0"},{"fix":"Upgrade to wttj-config@3.1.4 or later to fix the pre-commit diff issue.","message":"The pre-commit hook in wttj-config (via husky) may ignore diffs when path_to_ignore option is set. Fixed in 3.1.4.","severity":"gotcha","affected_versions":">=3.0.0 <3.1.4"}],"env_vars":null,"last_verified":"2026-05-01T00:00:00.000Z","next_check":"2026-07-30T00:00:00.000Z","problems":[{"fix":"Run `yarn add --dev wttj-config` (or npm install) and ensure the require path is exactly 'wttj-config/lib/prettier'.","cause":"The package is installed but the require path is incorrect or the package is not installed properly.","error":"Cannot find module 'wttj-config/lib/prettier'"},{"fix":"Change extends to './node_modules/wttj-config/lib/eslint'. If still failing, check that wttj-config is in devDependencies and installed.","cause":"Using package name path instead of relative path, or ESLint cannot resolve the module.","error":"ESLint: Failed to load config 'wttj-config/lib/eslint' to extend from."},{"fix":"Ensure tsconfig.json has `\"extends\": \"wttj-config/lib/tsconfig/tsconfig.json\"` and that wttj-config is installed.","cause":"The tsconfig extends path is wrong or the tsconfig.json is missing.","error":"Parsing error: Cannot read file 'tsconfig.json'."},{"fix":"Ensure stylelint and stylelint-config-standard are installed. wttj-config may rely on specific peer dependencies.","cause":"Stylelint version mismatch or stylelint-config-standard not installed.","error":"stylelint: Unknown rule order/properties-order"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}