@creo-team/eslint-config 2.4.1 → 2.4.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -11,6 +11,8 @@ ESLint flat config for TypeScript/React: strict type-checking, Prettier, JSDoc,
11
11
  npm install @creo-team/eslint-config --save-dev
12
12
  ```
13
13
 
14
+ **Node:** Supports Node 20–24. Prefer Node 24 for best compatibility.
15
+
14
16
  ## Usage patterns
15
17
 
16
18
  ### 1. Single repo (default)
@@ -178,13 +180,34 @@ module.exports = [
178
180
 
179
181
  ```javascript
180
182
  const { createConfig } = require('@creo-team/eslint-config')
183
+ const { off } = require('@creo-team/eslint-config/constants')
184
+
185
+ module.exports = [
186
+ ...createConfig(),
187
+ {
188
+ rules: {
189
+ 'jsdoc/require-jsdoc': off,
190
+ 'no-magic-numbers': off,
191
+ },
192
+ },
193
+ ]
194
+ ```
195
+
196
+ **4. Rule severity constants**
197
+
198
+ Import `off`, `warn`, and `error` from `@creo-team/eslint-config/constants` for consistent, typo-free overrides:
199
+
200
+ ```javascript
201
+ const { createConfig } = require('@creo-team/eslint-config')
202
+ const { error, off, warn } = require('@creo-team/eslint-config/constants')
181
203
 
182
204
  module.exports = [
183
205
  ...createConfig(),
184
206
  {
185
207
  rules: {
186
- 'jsdoc/require-jsdoc': 'off',
187
- 'no-magic-numbers': 'off',
208
+ 'no-console': warn,
209
+ 'jsdoc/require-jsdoc': off,
210
+ 'some-rule': [error, { option: true }],
188
211
  },
189
212
  },
190
213
  ]
@@ -210,9 +233,82 @@ module.exports = [
210
233
 
211
234
  **LLM- and assistant-friendly.** Cursor, Claude, and other tools behave better when the codebase is consistent and documented. This config enforces one style (so generated code matches), requires JSDoc on public surfaces (so the model has context), and keeps complexity and magic numbers in check (so suggestions stay in the same style and refactors are local). Use the [ESLint MCP server](https://eslint.org/docs/latest/use/mcp) so the assistant can run ESLint and fix violations in your editor.
212
235
 
213
- ## Optional: project structure
236
+ ## Optional: lock in project structure
237
+
238
+ Lock in monorepo workspace dirs and app directory structure. Requires [eslint-plugin-project-structure](https://www.npmjs.com/package/eslint-plugin-project-structure):
239
+
240
+ ```bash
241
+ npm install eslint-plugin-project-structure --save-dev
242
+ ```
243
+
244
+ ### Monorepo — lock workspace dirs
245
+
246
+ Enforce that only `nextjs`, `aws/infra`, and `shared` exist at the root:
247
+
248
+ ```javascript
249
+ const { createConfig } = require('@creo-team/eslint-config')
250
+
251
+ module.exports = createConfig({
252
+ projectService: true,
253
+ structure: {
254
+ workspaces: ['nextjs', 'aws/infra', 'shared'],
255
+ },
256
+ ignores: ['**/node_modules/**', '**/dist/**', '**/.next/**', '**/cdk.out/**', '**/*.config.*'],
257
+ })
258
+ ```
259
+
260
+ ### Monorepo + app structure
261
+
262
+ Lock workspaces and enforce app layout (e.g. `components`, `lib`, `utils`) inside the `nextjs` package:
263
+
264
+ ```javascript
265
+ const { createConfig } = require('@creo-team/eslint-config')
214
266
 
215
- For folder/file structure enforcement, add [eslint-plugin-project-structure](https://www.npmjs.com/package/eslint-plugin-project-structure) in your project and configure it (e.g. `.projectStructurerc`). This package does not include it by default.
267
+ module.exports = createConfig({
268
+ projectService: true,
269
+ structure: {
270
+ workspaces: ['nextjs', 'aws/infra', 'shared'],
271
+ appStructure: 'nextjs', // preset: app/, components/, lib/, utils/, hooks/, styles/, public/
272
+ appPath: 'nextjs', // which workspace gets app structure
273
+ },
274
+ ignores: ['**/node_modules/**', '**/dist/**', '**/.next/**', '**/cdk.out/**', '**/*.config.*'],
275
+ })
276
+ ```
277
+
278
+ ### Single repo — app structure only
279
+
280
+ Enforce structure for a single Next.js app:
281
+
282
+ ```javascript
283
+ const { createConfig } = require('@creo-team/eslint-config')
284
+
285
+ module.exports = createConfig({
286
+ structure: {
287
+ appStructure: 'nextjs', // app/, components/, lib/, utils/, hooks/, styles/, public/
288
+ },
289
+ ignores: ['.next/**', 'node_modules/**'],
290
+ })
291
+ ```
292
+
293
+ ### App structure presets
294
+
295
+ | Preset | Dirs |
296
+ |--------|------|
297
+ | `nextjs` | app, components, lib, utils, hooks, styles, public |
298
+ | `nextjsAppRouter` | Same + settings |
299
+ | `react` | src/{components, lib, utils, hooks, styles}, public |
300
+ | `express` | src/{routes, controllers, services, utils, middleware} |
301
+ | `src` | src/{components, lib, utils, settings} |
302
+
303
+ ### Custom dirs
304
+
305
+ Pass an array of dir names instead of a preset:
306
+
307
+ ```javascript
308
+ structure: {
309
+ appStructure: ['components', 'lib', 'utils', 'hooks', 'settings'],
310
+ }
311
+ ```
216
312
 
217
313
  ## What’s included
218
314
 
@@ -230,6 +326,7 @@ Trunk-based. Bump `version` in `package.json`, push `main` → `github-release`
230
326
  ## Examples
231
327
 
232
328
  - **Monorepo:** `examples/monorepo/` — root config with `projectService`, npm workspaces. See [examples/README.md](./examples/README.md).
329
+ - **Structure:** `examples/structure/` — lock in workspaces and app dirs with `structure` option. See [examples/structure/README.md](./examples/structure/README.md).
233
330
 
234
331
  ## Development
235
332
 
@@ -0,0 +1,8 @@
1
+ export const all: "all";
2
+ export const always: "always";
3
+ export const error: "error";
4
+ export const never: "never";
5
+ export const none: "none";
6
+ export const off: "off";
7
+ export const warn: "warn";
8
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ const off = 'off';
3
+ const warn = 'warn';
4
+ const error = 'error';
5
+ const always = 'always';
6
+ const never = 'never';
7
+ const none = 'none';
8
+ const all = 'all';
9
+ module.exports = {
10
+ all,
11
+ always,
12
+ error,
13
+ never,
14
+ none,
15
+ off,
16
+ warn,
17
+ };
18
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../constants.js"],"names":[],"mappings":";AAeA,MAAM,GAAG,GAAG,KAAK,CAAA;AACjB,MAAM,IAAI,GAAG,MAAM,CAAA;AACnB,MAAM,KAAK,GAAG,OAAO,CAAA;AAMrB,MAAM,MAAM,GAAG,QAAQ,CAAA;AACvB,MAAM,KAAK,GAAG,OAAO,CAAA;AACrB,MAAM,IAAI,GAAG,MAAM,CAAA;AACnB,MAAM,GAAG,GAAG,KAAK,CAAA;AAEjB,MAAM,CAAC,OAAO,GAAG;IAChB,GAAG;IACH,MAAM;IACN,KAAK;IACL,KAAK;IACL,IAAI;IACJ,GAAG;IACH,IAAI;CACJ,CAAA"}
@@ -6,63 +6,98 @@ const jsdoc = require('eslint-plugin-jsdoc');
6
6
  const perfectionist = require('eslint-plugin-perfectionist');
7
7
  const prettier = require('eslint-plugin-prettier');
8
8
  const tsEslint = require('typescript-eslint');
9
+ const { off } = require('./constants.js');
9
10
  const { rules } = require('./rules.js');
11
+ const { buildStructureConfig } = require('./structure.js');
10
12
  const { getTsConfigFile } = require('./utils.js');
11
13
  const DEFAULT_IGNORES = ['dist/**', 'test/**'];
12
14
  function createConfig(options = {}) {
13
- const { ignores = DEFAULT_IGNORES, projectService = false, tsconfig = getTsConfigFile() } = options;
15
+ const { ignores = DEFAULT_IGNORES, projectService = false, structure: structureOpts = null, tsconfig = getTsConfigFile(), } = options;
14
16
  const parserOptions = projectService
15
17
  ? { projectService: true, sourceType: 'unambiguous' }
16
18
  : { project: tsconfig, sourceType: 'unambiguous' };
17
- return tsEslint.config({ ignores }, eslint.configs.recommended, ...tsEslint.configs.recommendedTypeChecked, ...tsEslint.configs.stylisticTypeChecked, ...tsEslint.configs.strictTypeChecked, perfectionist.configs['recommended-alphabetical'], {
18
- files: ['*.js', '*.jsx'],
19
- ...tsEslint.configs.disableTypeChecked,
20
- }, {
21
- languageOptions: {
22
- globals: {
23
- console: 'readonly',
24
- module: 'readonly',
25
- process: 'readonly',
26
- require: 'readonly',
27
- },
28
- parser: tsEslint.parser,
29
- parserOptions,
30
- },
31
- plugins: {
32
- '@stylistic': pluginStylistic,
33
- import: pluginImport,
34
- jsdoc,
35
- prettier,
36
- },
37
- rules: {
38
- ...rules,
39
- '@typescript-eslint/no-misused-spread': 'off',
19
+ let projectStructureBlock = null;
20
+ if (structureOpts) {
21
+ try {
22
+ const { createFolderStructure, projectStructureParser, projectStructurePlugin, } = require('eslint-plugin-project-structure');
23
+ const folderConfig = buildStructureConfig(structureOpts);
24
+ if (folderConfig) {
25
+ projectStructureBlock = {
26
+ files: ['**'],
27
+ ignores: ['projectStructure.cache.json'],
28
+ languageOptions: { parser: projectStructureParser },
29
+ plugins: { 'project-structure': projectStructurePlugin },
30
+ rules: {
31
+ 'project-structure/folder-structure': ['error', createFolderStructure(folderConfig)],
32
+ },
33
+ };
34
+ }
35
+ }
36
+ catch {
37
+ throw new Error('@creo-team/eslint-config: structure option requires eslint-plugin-project-structure. Run: npm install eslint-plugin-project-structure --save-dev');
38
+ }
39
+ }
40
+ const configBlocks = [
41
+ { ignores },
42
+ ...(projectStructureBlock ? [projectStructureBlock] : []),
43
+ eslint.configs.recommended,
44
+ ...tsEslint.configs.recommendedTypeChecked,
45
+ ...tsEslint.configs.stylisticTypeChecked,
46
+ ...tsEslint.configs.strictTypeChecked,
47
+ perfectionist.configs['recommended-alphabetical'],
48
+ {
49
+ files: ['*.js', '*.jsx'],
50
+ ...tsEslint.configs.disableTypeChecked,
40
51
  },
41
- settings: {
42
- 'import/resolver': {
43
- typescript: {},
52
+ {
53
+ languageOptions: {
54
+ globals: {
55
+ console: 'readonly',
56
+ module: 'readonly',
57
+ process: 'readonly',
58
+ require: 'readonly',
59
+ },
60
+ parser: tsEslint.parser,
61
+ parserOptions,
62
+ },
63
+ plugins: {
64
+ '@stylistic': pluginStylistic,
65
+ import: pluginImport,
66
+ jsdoc,
67
+ prettier,
68
+ },
69
+ rules: {
70
+ ...rules,
71
+ '@typescript-eslint/no-misused-spread': off,
72
+ },
73
+ settings: {
74
+ 'import/resolver': {
75
+ typescript: {},
76
+ },
44
77
  },
45
78
  },
46
- }, {
47
- files: ['**/*.tsx'],
48
- languageOptions: {
49
- parser: tsEslint.parser,
50
- parserOptions,
51
- },
52
- rules: {
53
- ...rules,
54
- '@typescript-eslint/naming-convention': [
55
- 'error',
56
- { format: ['camelCase'], selector: 'default' },
57
- { format: ['camelCase', 'PascalCase'], selector: 'import' },
58
- { format: ['camelCase', 'PascalCase'], selector: 'variable' },
59
- { format: ['PascalCase'], selector: 'typeLike' },
60
- { format: ['PascalCase'], selector: 'enumMember' },
61
- ],
62
- '@typescript-eslint/no-misused-spread': 'off',
63
- '@typescript-eslint/no-unsafe-return': 'off',
79
+ {
80
+ files: ['**/*.tsx'],
81
+ languageOptions: {
82
+ parser: tsEslint.parser,
83
+ parserOptions,
84
+ },
85
+ rules: {
86
+ ...rules,
87
+ '@typescript-eslint/naming-convention': [
88
+ 'error',
89
+ { format: ['camelCase'], selector: 'default' },
90
+ { format: ['camelCase', 'PascalCase'], selector: 'import' },
91
+ { format: ['camelCase', 'PascalCase'], selector: 'variable' },
92
+ { format: ['PascalCase'], selector: 'typeLike' },
93
+ { format: ['PascalCase'], selector: 'enumMember' },
94
+ ],
95
+ '@typescript-eslint/no-misused-spread': off,
96
+ '@typescript-eslint/no-unsafe-return': off,
97
+ },
64
98
  },
65
- });
99
+ ];
100
+ return tsEslint.config(...configBlocks);
66
101
  }
67
102
  module.exports = createConfig({ ignores: ['dist/**', 'test/**', 'examples/**'] });
68
103
  module.exports.createConfig = createConfig;
@@ -1 +1 @@
1
- {"version":3,"file":"eslint.config.js","sourceRoot":"","sources":["../eslint.config.js"],"names":[],"mappings":";AAEA,MAAM,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAAA;AACpC,MAAM,eAAe,GAAG,OAAO,CAAC,0BAA0B,CAAC,CAAA;AAC3D,MAAM,YAAY,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAAA;AACpD,MAAM,KAAK,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAA;AAC5C,MAAM,aAAa,GAAG,OAAO,CAAC,6BAA6B,CAAC,CAAA;AAC5D,MAAM,QAAQ,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAAA;AAClD,MAAM,QAAQ,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAA;AAE7C,MAAM,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC,YAAY,CAAC,CAAA;AACvC,MAAM,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC,YAAY,CAAC,CAAA;AAEjD,MAAM,eAAe,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAA;AAW9C,SAAS,YAAY,CAAC,OAAO,GAAG,EAAE;IACjC,MAAM,EAAE,OAAO,GAAG,eAAe,EAAE,cAAc,GAAG,KAAK,EAAE,QAAQ,GAAG,eAAe,EAAE,EAAE,GAAG,OAAO,CAAA;IAEnG,MAAM,aAAa,GAAG,cAAc;QACnC,CAAC,CAAC,EAAE,cAAc,EAAE,IAAI,EAAE,UAAU,EAAE,aAAa,EAAE;QACrD,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,aAAa,EAAE,CAAA;IAEnD,OAAO,QAAQ,CAAC,MAAM,CACrB,EAAE,OAAO,EAAE,EACX,MAAM,CAAC,OAAO,CAAC,WAAW,EAC1B,GAAG,QAAQ,CAAC,OAAO,CAAC,sBAAsB,EAC1C,GAAG,QAAQ,CAAC,OAAO,CAAC,oBAAoB,EACxC,GAAG,QAAQ,CAAC,OAAO,CAAC,iBAAiB,EACrC,aAAa,CAAC,OAAO,CAAC,0BAA0B,CAAC,EACjD;QACC,KAAK,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;QACxB,GAAG,QAAQ,CAAC,OAAO,CAAC,kBAAkB;KACtC,EACD;QACC,eAAe,EAAE;YAChB,OAAO,EAAE;gBACR,OAAO,EAAE,UAAU;gBACnB,MAAM,EAAE,UAAU;gBAClB,OAAO,EAAE,UAAU;gBACnB,OAAO,EAAE,UAAU;aACnB;YACD,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,aAAa;SACb;QACD,OAAO,EAAE;YACR,YAAY,EAAE,eAAe;YAC7B,MAAM,EAAE,YAAY;YACpB,KAAK;YACL,QAAQ;SACR;QACD,KAAK,EAAE;YACN,GAAG,KAAK;YACR,sCAAsC,EAAE,KAAK;SAC7C;QACD,QAAQ,EAAE;YACT,iBAAiB,EAAE;gBAClB,UAAU,EAAE,EAAE;aACd;SACD;KACD,EACD;QACC,KAAK,EAAE,CAAC,UAAU,CAAC;QACnB,eAAe,EAAE;YAChB,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,aAAa;SACb;QACD,KAAK,EAAE;YACN,GAAG,KAAK;YACR,sCAAsC,EAAE;gBACvC,OAAO;gBACP,EAAE,MAAM,EAAE,CAAC,WAAW,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE;gBAC9C,EAAE,MAAM,EAAE,CAAC,WAAW,EAAE,YAAY,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE;gBAC3D,EAAE,MAAM,EAAE,CAAC,WAAW,EAAE,YAAY,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE;gBAC7D,EAAE,MAAM,EAAE,CAAC,YAAY,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE;gBAChD,EAAE,MAAM,EAAE,CAAC,YAAY,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE;aAClD;YACD,sCAAsC,EAAE,KAAK;YAC7C,qCAAqC,EAAE,KAAK;SAC5C;KACD,CACD,CAAA;AACF,CAAC;AAED,MAAM,CAAC,OAAO,GAAG,YAAY,CAAC,EAAE,OAAO,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,aAAa,CAAC,EAAE,CAAC,CAAA;AACjF,MAAM,CAAC,OAAO,CAAC,YAAY,GAAG,YAAY,CAAA"}
1
+ {"version":3,"file":"eslint.config.js","sourceRoot":"","sources":["../eslint.config.js"],"names":[],"mappings":"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"}
package/dist/rules.js CHANGED
@@ -1,12 +1,5 @@
1
1
  "use strict";
2
- const { all, always, error, never, none, off } = {
3
- all: 'all',
4
- always: 'always',
5
- error: 'error',
6
- never: 'never',
7
- none: 'none',
8
- off: 'off',
9
- };
2
+ const { all, always, error, never, none, off, warn } = require('./constants.js');
10
3
  const { camelCase, pascalCase } = {
11
4
  camelCase: 'camelCase',
12
5
  pascalCase: 'PascalCase',
@@ -19,7 +12,6 @@ const maxConsecutiveEmptyLines = 1;
19
12
  const printWidth = 120;
20
13
  const tabWidth = 4;
21
14
  const newlineCount = 1;
22
- const warn = 'warn';
23
15
  const jsDoc = {
24
16
  'jsdoc/require-description-complete-sentence': error,
25
17
  'jsdoc/require-hyphen-before-param-description': error,
@@ -143,11 +135,11 @@ const tsEslint = {
143
135
  '@typescript-eslint/no-explicit-any': 'warn',
144
136
  '@typescript-eslint/no-extraneous-class': off,
145
137
  '@typescript-eslint/no-unnecessary-condition': off,
146
- '@typescript-eslint/no-unsafe-argument': 'warn',
138
+ '@typescript-eslint/no-unsafe-argument': warn,
147
139
  '@typescript-eslint/no-unsafe-assignment': off,
148
140
  '@typescript-eslint/no-unsafe-call': off,
149
141
  '@typescript-eslint/no-unsafe-member-access': off,
150
- '@typescript-eslint/no-unsafe-return': 'warn',
142
+ '@typescript-eslint/no-unsafe-return': warn,
151
143
  '@typescript-eslint/restrict-template-expressions': off,
152
144
  '@typescript-eslint/unbound-method': off,
153
145
  complexity: [error, { max: maxComplexity }],
@@ -194,7 +186,7 @@ const commonjsPreventRules = {
194
186
  'import/no-default-export': off,
195
187
  };
196
188
  const rulesToDisable = {
197
- 'perfectionist/sort-imports': 'off',
189
+ 'perfectionist/sort-imports': off,
198
190
  };
199
191
  const rules = {
200
192
  ...commonjsPreventRules,
package/dist/rules.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"rules.js","sourceRoot":"","sources":["../rules.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rules.js","sourceRoot":"","sources":["../rules.js"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ export const appStructurePresets: Record<string, object>;
2
+ export function buildStructureConfig(options?: {
3
+ workspaces?: string[] | undefined;
4
+ appStructure?: string | object | string[] | undefined;
5
+ appPath?: string | undefined;
6
+ }): object | null;
7
+ export function createAppStructure(presetOrDirs: string | string[] | object): object | null;
8
+ export function createMonorepoStructure(workspaces: string[]): object;
9
+ //# sourceMappingURL=structure.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"structure.js","sourceRoot":"","sources":["../structure.js"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@creo-team/eslint-config",
3
- "version": "2.4.1",
3
+ "version": "2.4.2",
4
4
  "description": "ESLint flat config: TypeScript (strict), Prettier, JSDoc, complexity, no-magic-numbers. createConfig() for options.",
5
5
  "author": "Colten Krauter <coltenkrauter>",
6
6
  "main": "dist/eslint.config.js",
@@ -47,6 +47,7 @@
47
47
  "dist/eslint.config.js",
48
48
  "dist/rules.js",
49
49
  "dist/utils.js",
50
+ "dist/constants.js",
50
51
  "dist/*.d.ts",
51
52
  "dist/*.js.map"
52
53
  ],
@@ -57,7 +58,7 @@
57
58
  "vitest": "^3.2.4"
58
59
  },
59
60
  "engines": {
60
- "node": ">=24",
61
+ "node": ">=20.0.0",
61
62
  "npm": ">=10"
62
63
  },
63
64
  "publishConfig": {
@@ -67,6 +68,10 @@
67
68
  ".": {
68
69
  "require": "./dist/eslint.config.js",
69
70
  "default": "./dist/eslint.config.js"
71
+ },
72
+ "./constants": {
73
+ "require": "./dist/constants.js",
74
+ "default": "./dist/constants.js"
70
75
  }
71
76
  }
72
77
  }