@chris.araneo/eslint-config 0.0.98 → 0.0.100

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.
Files changed (41) hide show
  1. package/README.md +218 -0
  2. package/dist/index.d.ts +2 -5
  3. package/dist/index.js +2 -5
  4. package/dist/index.js.map +1 -1
  5. package/dist/src/angular/angular-eslint-template.d.ts +1 -1
  6. package/dist/src/angular/angular-eslint-template.js.map +1 -1
  7. package/dist/src/angular/angular-eslint.d.ts +1 -1
  8. package/dist/src/angular/angular-eslint.js +2 -2
  9. package/dist/src/angular/angular-eslint.js.map +1 -1
  10. package/dist/src/angular/index.d.ts +2 -3
  11. package/dist/src/angular/index.js +11 -11
  12. package/dist/src/angular/index.js.map +1 -1
  13. package/dist/src/builder.d.ts +15 -0
  14. package/dist/src/builder.js +84 -0
  15. package/dist/src/builder.js.map +1 -0
  16. package/dist/src/interfaces.d.ts +45 -0
  17. package/dist/src/interfaces.js +7 -0
  18. package/dist/src/interfaces.js.map +1 -0
  19. package/dist/src/json/index.d.ts +2 -2
  20. package/dist/src/json/index.js +4 -2
  21. package/dist/src/json/index.js.map +1 -1
  22. package/dist/src/json/jsonc.d.ts +1 -1
  23. package/dist/src/json/jsonc.js.map +1 -1
  24. package/dist/src/nx/index.d.ts +2 -3
  25. package/dist/src/nx/index.js +4 -2
  26. package/dist/src/nx/index.js.map +1 -1
  27. package/dist/src/nx/nx.d.ts +1 -1
  28. package/dist/src/nx/nx.js.map +1 -1
  29. package/dist/src/typescript/eslint.d.ts +1 -1
  30. package/dist/src/typescript/eslint.js.map +1 -1
  31. package/dist/src/typescript/index.d.ts +3 -3
  32. package/dist/src/typescript/index.js +7 -2
  33. package/dist/src/typescript/index.js.map +1 -1
  34. package/dist/src/typescript/simple-import-sort.d.ts +1 -1
  35. package/dist/src/typescript/simple-import-sort.js.map +1 -1
  36. package/dist/src/typescript/typescript-eslint.d.ts +1 -1
  37. package/dist/src/typescript/typescript-eslint.js +1 -1
  38. package/dist/src/typescript/typescript-eslint.js.map +1 -1
  39. package/dist/src/typescript/unicorn.d.ts +1 -1
  40. package/dist/src/typescript/unicorn.js.map +1 -1
  41. package/package.json +1 -1
package/README.md CHANGED
@@ -1 +1,219 @@
1
1
  # @chris.araneo/eslint-config
2
+
3
+ A flexible and composable ESLint configuration builder for TypeScript, Angular, JSON, and Nx projects.
4
+
5
+ ## Installation
6
+
7
+ ```bash
8
+ npm install --save-dev @chris.araneo/eslint-config
9
+ ```
10
+
11
+ ## Quick Start
12
+
13
+ Create an `eslint.config.mjs` file in your project root:
14
+
15
+ ```javascript
16
+ import { createConfigBuilder } from '@chris.araneo/eslint-config';
17
+
18
+ export default createConfigBuilder()
19
+ .addTypeScript({
20
+ sources: ['src/**/*.ts'],
21
+ })
22
+ .addIgnored({
23
+ ignored: ['dist/**', 'node_modules/**'],
24
+ })
25
+ .build();
26
+ ```
27
+
28
+ ## Usage
29
+
30
+ ### TypeScript Configuration
31
+
32
+ Add TypeScript linting for your source files:
33
+
34
+ ```javascript
35
+ createConfigBuilder()
36
+ .addTypeScript({
37
+ sources: ['src/**/*.ts'],
38
+ tsconfigRootDir: import.meta.dirname,
39
+ shouldResolveAppRootDir: false,
40
+ })
41
+ .build();
42
+ ```
43
+
44
+ **Options:**
45
+
46
+ - `sources` (optional): Array of glob patterns for TypeScript files (default: `[]`)
47
+ - `tsconfigRootDir` (optional): Root directory for TypeScript configuration
48
+ - `shouldResolveAppRootDir` (optional): Whether to resolve the app root directory (default: `false`)
49
+
50
+ ### TypeScript Tests Configuration
51
+
52
+ Add specific linting rules for test files:
53
+
54
+ ```javascript
55
+ createConfigBuilder()
56
+ .addTypeScriptTests({
57
+ sources: ['**/*.spec.ts', '**/*.test.ts'],
58
+ tsconfigRootDir: import.meta.dirname,
59
+ })
60
+ .build();
61
+ ```
62
+
63
+ **Options:**
64
+
65
+ - `sources` (optional): Array of glob patterns for test files (default: `[]`)
66
+ - `tsconfigRootDir` (optional): Root directory for TypeScript configuration
67
+
68
+ ### Angular Configuration
69
+
70
+ Add Angular-specific linting rules:
71
+
72
+ ```javascript
73
+ createConfigBuilder()
74
+ .addAngularConfigs({
75
+ prefix: 'app',
76
+ sources: ['src/**/*.ts'],
77
+ })
78
+ .build();
79
+ ```
80
+
81
+ **Options:**
82
+
83
+ - `prefix` (optional): Angular component selector prefix (default: `'app'`)
84
+ - `sources` (optional): Array of glob patterns for Angular files (default: `[]`)
85
+
86
+ ### JSON Configuration
87
+
88
+ Add linting for JSON files:
89
+
90
+ ```javascript
91
+ createConfigBuilder()
92
+ .addJson({
93
+ jsons: ['**/*.json', 'tsconfig.json'],
94
+ })
95
+ .build();
96
+ ```
97
+
98
+ **Options:**
99
+
100
+ - `jsons` (optional): Array of glob patterns for JSON files (default: `[]`)
101
+
102
+ ### Nx Configuration
103
+
104
+ Add Nx-specific linting rules for monorepos:
105
+
106
+ ```javascript
107
+ createConfigBuilder()
108
+ .addNx({
109
+ sources: ['apps/**/*', 'libs/**/*'],
110
+ })
111
+ .build();
112
+ ```
113
+
114
+ **Options:**
115
+
116
+ - `sources` (optional): Array of glob patterns for Nx workspace files (default: `[]`)
117
+
118
+ ### Ignored Files
119
+
120
+ Specify files and directories to ignore:
121
+
122
+ ```javascript
123
+ createConfigBuilder()
124
+ .addIgnored({
125
+ ignored: ['dist/**', 'coverage/**', 'node_modules/**'],
126
+ })
127
+ .build();
128
+ ```
129
+
130
+ **Options:**
131
+
132
+ - `ignored` (optional): Array of glob patterns for files to ignore (default: `[]`)
133
+
134
+ ## Example
135
+
136
+ Here's a comprehensive example for an Angular + Nx monorepo:
137
+
138
+ ```javascript
139
+ import { createConfigBuilder } from '@chris.araneo/eslint-config';
140
+
141
+ export default createConfigBuilder()
142
+ .addTypeScript({
143
+ sources: ['src/**/*.ts', 'apps/**/*.ts', 'libs/**/*.ts'],
144
+ tsconfigRootDir: import.meta.dirname,
145
+ })
146
+ .addTypeScriptTests({
147
+ sources: ['**/*.spec.ts', '**/*.test.ts'],
148
+ tsconfigRootDir: import.meta.dirname,
149
+ })
150
+ .addAngularConfigs({
151
+ prefix: 'app',
152
+ sources: ['src/**/*.ts', 'apps/**/*.ts', 'libs/**/*.ts'],
153
+ })
154
+ .addJson({
155
+ jsons: ['**/*.json'],
156
+ })
157
+ .addNx({
158
+ sources: ['apps/**/*', 'libs/**/*'],
159
+ })
160
+ .addIgnored({
161
+ ignored: ['dist/**', 'coverage/**', 'node_modules/**', '.angular/**'],
162
+ })
163
+ .build({
164
+ order: ['typescript', 'tests', 'angular', 'json', 'nx', 'ignored'],
165
+ });
166
+ ```
167
+
168
+ ## Build Options
169
+
170
+ The `build()` method accepts optional configuration:
171
+
172
+ ```javascript
173
+ .build({
174
+ order: ['typescript', 'json', 'ignored']
175
+ })
176
+ ```
177
+
178
+ **Options:**
179
+
180
+ - `order` (optional): Array specifying the order of configuration blocks
181
+
182
+ ## Included Plugins
183
+
184
+ This configuration includes the following ESLint plugins:
185
+
186
+ - **typescript-eslint**: TypeScript-specific linting rules
187
+ - **angular-eslint**: Angular-specific linting rules
188
+ - **@nx/eslint-plugin**: Nx workspace linting rules
189
+ - **eslint-plugin-jsonc**: JSON and JSONC linting
190
+ - **eslint-plugin-perfectionist**: Sorting and organizing imports, objects, etc.
191
+ - **eslint-plugin-simple-import-sort**: Simple import sorting
192
+ - **eslint-plugin-unicorn**: Various awesome ESLint rules
193
+
194
+ ## API Reference
195
+
196
+ ### `createConfigBuilder()`
197
+
198
+ Creates a new instance of the ESLint configuration builder.
199
+
200
+ **Returns:** `ESLintConfigBuilder`
201
+
202
+ ### `ESLintConfigBuilder`
203
+
204
+ #### Methods
205
+
206
+ - `addTypeScript(options)`: Add TypeScript configuration
207
+ - `addTypeScriptTests(options)`: Add TypeScript test configuration
208
+ - `addAngularConfigs(options)`: Add Angular configuration
209
+ - `addJson(options)`: Add JSON configuration
210
+ - `addNx(options)`: Add Nx configuration
211
+ - `addIgnored(options)`: Add ignored files configuration
212
+ - `build(options?)`: Build and return the final ESLint configuration
213
+ - `reset()`: Reset the builder to its initial state
214
+
215
+ All `add*` methods return `this` for method chaining.
216
+
217
+ ## License
218
+
219
+ MIT © [Krzysztof Pająk (Chris Araneo)](mailto:chris.araneo@gmail.com)
package/dist/index.d.ts CHANGED
@@ -1,5 +1,2 @@
1
- import createAngularConfigs from './src/angular/index.js';
2
- import createJsonConfigs from './src/json/index.js';
3
- import createNxConfigs from './src/nx/index.js';
4
- import { createTypeScriptConfigs, createTypeScriptTestsConfigs } from './src/typescript/index.js';
5
- export { createAngularConfigs, createJsonConfigs, createNxConfigs, createTypeScriptConfigs, createTypeScriptTestsConfigs, };
1
+ import { createConfigBuilder } from './src/builder.js';
2
+ export { createConfigBuilder };
package/dist/index.js CHANGED
@@ -1,6 +1,3 @@
1
- import createAngularConfigs from './src/angular/index.js';
2
- import createJsonConfigs from './src/json/index.js';
3
- import createNxConfigs from './src/nx/index.js';
4
- import { createTypeScriptConfigs, createTypeScriptTestsConfigs, } from './src/typescript/index.js';
5
- export { createAngularConfigs, createJsonConfigs, createNxConfigs, createTypeScriptConfigs, createTypeScriptTestsConfigs, };
1
+ import { createConfigBuilder } from './src/builder.js';
2
+ export { createConfigBuilder };
6
3
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"/","sources":["index.ts"],"names":[],"mappings":"AAAA,OAAO,oBAAoB,MAAM,wBAAwB,CAAC;AAC1D,OAAO,iBAAiB,MAAM,qBAAqB,CAAC;AACpD,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAChD,OAAO,EACL,uBAAuB,EACvB,4BAA4B,GAC7B,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,eAAe,EACf,uBAAuB,EACvB,4BAA4B,GAC7B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"/","sources":["index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAevD,OAAO,EAAE,mBAAmB,EAAE,CAAC"}
@@ -1,2 +1,2 @@
1
1
  import type { Linter } from 'eslint';
2
- export declare const getAngularTemplatesConfigs: (templates: string[]) => Linter.Config[];
2
+ export declare const getAngularTemplatesConfigs: (templates?: string[]) => Linter.Config[];
@@ -1 +1 @@
1
- {"version":3,"file":"angular-eslint-template.js","sourceRoot":"/","sources":["src/angular/angular-eslint-template.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,gBAAgB,CAAC;AAErC,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAEjC,MAAM,CAAC,MAAM,0BAA0B,GAAG,CACxC,SAAmB,EACF,EAAE,CACnB,OAAO,CAAC,SAAS,CAAC;IAChB,CAAC,CAAC,EAAE;IACJ,CAAC,CAAC;QACE,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,CAChC,CAAC,MAAM,EAAE,EAAE,CACT,CAAC;YACC,GAAG,MAAM;YACT,KAAK,EAAE,SAAS;YAChB,KAAK,EAAE;gBACL,GAAG,MAAM,CAAC,KAAK;gBACf,+BAA+B,EAAE,KAAK;gBACtC,8CAA8C,EAAE,KAAK;aACtD;SACF,CAAkB,CACtB;KACF,CAAC"}
1
+ {"version":3,"file":"angular-eslint-template.js","sourceRoot":"/","sources":["src/angular/angular-eslint-template.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,gBAAgB,CAAC;AAErC,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAEjC,MAAM,CAAC,MAAM,0BAA0B,GAAG,CACxC,SAAoB,EACH,EAAE,CACnB,OAAO,CAAC,SAAS,CAAC;IAChB,CAAC,CAAC,EAAE;IACJ,CAAC,CAAC;QACE,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,CAChC,CAAC,MAAM,EAAE,EAAE,CACT,CAAC;YACC,GAAG,MAAM;YACT,KAAK,EAAE,SAAS;YAChB,KAAK,EAAE;gBACL,GAAG,MAAM,CAAC,KAAK;gBACf,+BAA+B,EAAE,KAAK;gBACtC,8CAA8C,EAAE,KAAK;aACtD;SACF,CAAkB,CACtB;KACF,CAAC"}
@@ -1,2 +1,2 @@
1
1
  import type { Linter } from 'eslint';
2
- export declare const getAngularSourcesConfigs: (prefix: string, sources: string[]) => Linter.Config[];
2
+ export declare const getAngularSourcesConfigs: (prefix?: string, sources?: string[]) => Linter.Config[];
@@ -10,7 +10,7 @@ export const getAngularSourcesConfigs = (prefix, sources) => isEmpty(sources)
10
10
  '@angular-eslint/component-selector': [
11
11
  'error',
12
12
  {
13
- prefix,
13
+ prefix: prefix ?? 'app',
14
14
  style: 'kebab-case',
15
15
  type: 'element',
16
16
  },
@@ -18,7 +18,7 @@ export const getAngularSourcesConfigs = (prefix, sources) => isEmpty(sources)
18
18
  '@angular-eslint/directive-selector': [
19
19
  'error',
20
20
  {
21
- prefix,
21
+ prefix: prefix ?? 'app',
22
22
  style: 'camelCase',
23
23
  type: 'attribute',
24
24
  },
@@ -1 +1 @@
1
- {"version":3,"file":"angular-eslint.js","sourceRoot":"/","sources":["src/angular/angular-eslint.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,gBAAgB,CAAC;AAErC,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAEjC,MAAM,CAAC,MAAM,wBAAwB,GAAG,CACtC,MAAc,EACd,OAAiB,EACA,EAAE,CACnB,OAAO,CAAC,OAAO,CAAC;IACd,CAAC,CAAC,EAAE;IACJ,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CACvB,CAAC,MAAM,EAAE,EAAE,CACT,CAAC;QACC,GAAG,MAAM;QACT,KAAK,EAAE,OAAO;QACd,KAAK,EAAE;YACL,GAAG,MAAM,CAAC,KAAK;YACf,oCAAoC,EAAE;gBACpC,OAAO;gBACP;oBACE,MAAM;oBACN,KAAK,EAAE,YAAY;oBACnB,IAAI,EAAE,SAAS;iBAChB;aACF;YACD,oCAAoC,EAAE;gBACpC,OAAO;gBACP;oBACE,MAAM;oBACN,KAAK,EAAE,WAAW;oBAClB,IAAI,EAAE,WAAW;iBAClB;aACF;YACD,gCAAgC,EAAE,KAAK;YACvC,2DAA2D,EACzD,KAAK;YACP,2CAA2C,EAAE,KAAK;YAClD,gCAAgC,EAAE,KAAK;SACxC;KACF,CAAkB,CACtB,CAAC"}
1
+ {"version":3,"file":"angular-eslint.js","sourceRoot":"/","sources":["src/angular/angular-eslint.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,gBAAgB,CAAC;AAErC,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAEjC,MAAM,CAAC,MAAM,wBAAwB,GAAG,CACtC,MAAe,EACf,OAAkB,EACD,EAAE,CACnB,OAAO,CAAC,OAAO,CAAC;IACd,CAAC,CAAC,EAAE;IACJ,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CACvB,CAAC,MAAM,EAAE,EAAE,CACT,CAAC;QACC,GAAG,MAAM;QACT,KAAK,EAAE,OAAO;QACd,KAAK,EAAE;YACL,GAAG,MAAM,CAAC,KAAK;YACf,oCAAoC,EAAE;gBACpC,OAAO;gBACP;oBACE,MAAM,EAAE,MAAM,IAAI,KAAK;oBACvB,KAAK,EAAE,YAAY;oBACnB,IAAI,EAAE,SAAS;iBAChB;aACF;YACD,oCAAoC,EAAE;gBACpC,OAAO;gBACP;oBACE,MAAM,EAAE,MAAM,IAAI,KAAK;oBACvB,KAAK,EAAE,WAAW;oBAClB,IAAI,EAAE,WAAW;iBAClB;aACF;YACD,gCAAgC,EAAE,KAAK;YACvC,2DAA2D,EACzD,KAAK;YACP,2CAA2C,EAAE,KAAK;YAClD,gCAAgC,EAAE,KAAK;SACxC;KACF,CAAkB,CACtB,CAAC"}
@@ -1,3 +1,2 @@
1
- import { InfiniteDepthConfigWithExtends } from 'typescript-eslint';
2
- declare const _default: (prefix?: string, sources?: string[], templates?: string[], jsons?: string[], ignored?: string[]) => InfiniteDepthConfigWithExtends[];
3
- export default _default;
1
+ import { ConfigBlock } from '../interfaces.js';
2
+ export declare const createAngularConfigBlock: (prefix?: string, sources?: string[], tests?: string[], templates?: string[], jsons?: string[], ignored?: string[]) => ConfigBlock;
@@ -1,20 +1,20 @@
1
- import { defineConfig } from 'eslint/config';
2
- import createJsonConfigs from '../json/index.js';
3
- import { createTypeScriptConfigs } from '../typescript/index.js';
4
- import { addCrossConfigOffRules } from '../utils.js';
1
+ import { IGNORED, JSONS, SOURCES, TEMPLATES, TESTS, } from '../interfaces.js';
2
+ import { getJsoncConfigs } from '../json/jsonc.js';
3
+ import { createTypeScriptConfigBlock, createTypeScriptTestsConfigBlock, } from '../typescript/index.js';
5
4
  import { getAngularSourcesConfigs } from './angular-eslint.js';
6
5
  import { getAngularTemplatesConfigs } from './angular-eslint-template.js';
7
- export default (prefix = 'app', sources = [], templates = [], jsons = [], ignored) => defineConfig(addCrossConfigOffRules({
8
- ignored: [
6
+ export const createAngularConfigBlock = (prefix = 'app', sources = [], tests = [], templates = [], jsons = [], ignored) => ({
7
+ [IGNORED]: [
9
8
  {
10
9
  ignores: ignored,
11
10
  },
12
11
  ],
13
- json: createJsonConfigs(jsons),
14
- sources: [
15
- ...createTypeScriptConfigs(sources),
12
+ [JSONS]: getJsoncConfigs(jsons),
13
+ [SOURCES]: [
14
+ ...(createTypeScriptConfigBlock(sources)[SOURCES] || []),
16
15
  ...getAngularSourcesConfigs(prefix, sources),
17
16
  ],
18
- templates: getAngularTemplatesConfigs(templates),
19
- }, { order: ['sources', 'templates', 'json', 'ignored'] }));
17
+ [TEMPLATES]: getAngularTemplatesConfigs(templates),
18
+ [TESTS]: [...(createTypeScriptTestsConfigBlock(tests)[TESTS] || [])],
19
+ });
20
20
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"/","sources":["src/angular/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAG7C,OAAO,iBAAiB,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAE1E,eAAe,CACb,MAAM,GAAG,KAAK,EACd,UAAoB,EAAE,EACtB,YAAsB,EAAE,EACxB,QAAkB,EAAE,EACpB,OAAkB,EACgB,EAAE,CACpC,YAAY,CACV,sBAAsB,CACpB;IACE,OAAO,EAAE;QACP;YACE,OAAO,EAAE,OAAO;SACjB;KACF;IACD,IAAI,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC9B,OAAO,EAAE;QACP,GAAG,uBAAuB,CAAC,OAAO,CAAC;QACnC,GAAG,wBAAwB,CAAC,MAAM,EAAE,OAAO,CAAC;KAC7C;IACD,SAAS,EAAE,0BAA0B,CAAC,SAAS,CAAC;CACjD,EACD,EAAE,KAAK,EAAE,CAAC,SAAS,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,CACvD,CACF,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"/","sources":["src/angular/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,OAAO,EACP,KAAK,EACL,OAAO,EACP,SAAS,EACT,KAAK,GACN,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EACL,2BAA2B,EAC3B,gCAAgC,GACjC,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAE1E,MAAM,CAAC,MAAM,wBAAwB,GAAG,CACtC,MAAM,GAAG,KAAK,EACd,UAAoB,EAAE,EACtB,QAAkB,EAAE,EACpB,YAAsB,EAAE,EACxB,QAAkB,EAAE,EACpB,OAAkB,EACL,EAAE,CAAC,CAAC;IACjB,CAAC,OAAO,CAAC,EAAE;QACT;YACE,OAAO,EAAE,OAAO;SACjB;KACF;IACD,CAAC,KAAK,CAAC,EAAE,eAAe,CAAC,KAAK,CAAC;IAC/B,CAAC,OAAO,CAAC,EAAE;QACT,GAAG,CAAC,2BAA2B,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACxD,GAAG,wBAAwB,CAAC,MAAM,EAAE,OAAO,CAAC;KAC7C;IACD,CAAC,SAAS,CAAC,EAAE,0BAA0B,CAAC,SAAS,CAAC;IAClD,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,gCAAgC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;CACrE,CAAC,CAAC"}
@@ -0,0 +1,15 @@
1
+ import type { Linter } from 'eslint';
2
+ import { AngularConfigOptions, BuilderOptions, IgnoredConfigOptions, JsonConfigOptions, NxConfigOptions, TypeScriptConfigOptions, TypeScriptTestConfigOptions } from './interfaces.js';
3
+ export declare class ESLintConfigBuilder {
4
+ private configBlocks;
5
+ addTypeScript(options: TypeScriptConfigOptions): this;
6
+ addTypeScriptTests(options: TypeScriptTestConfigOptions): this;
7
+ addAngularConfigs(options: AngularConfigOptions): this;
8
+ addJson(options: JsonConfigOptions): this;
9
+ addNx(options: NxConfigOptions): this;
10
+ addIgnored(options: IgnoredConfigOptions): this;
11
+ build(options?: BuilderOptions): Linter.Config[];
12
+ reset(): this;
13
+ private addConfigBlock;
14
+ }
15
+ export declare const createConfigBuilder: () => ESLintConfigBuilder;
@@ -0,0 +1,84 @@
1
+ import { defineConfig } from 'eslint/config';
2
+ import { createAngularConfigBlock } from './angular/index.js';
3
+ import { IGNORED, JSONS, NX, SOURCES, TEMPLATES, TESTS, } from './interfaces.js';
4
+ import { createJsonConfigBlock } from './json/index.js';
5
+ import { createNxConfigBlock } from './nx/index.js';
6
+ import { createTypeScriptConfigBlock, createTypeScriptTestsConfigBlock, } from './typescript/index.js';
7
+ import { addCrossConfigOffRules } from './utils.js';
8
+ export class ESLintConfigBuilder {
9
+ constructor() {
10
+ this.configBlocks = {};
11
+ }
12
+ addTypeScript(options) {
13
+ const { shouldResolveAppRootDir, sources = [], tsconfigRootDir } = options;
14
+ return this.addConfigBlock(createTypeScriptConfigBlock(sources, tsconfigRootDir, shouldResolveAppRootDir));
15
+ }
16
+ addTypeScriptTests(options) {
17
+ const { sources = [], tsconfigRootDir } = options;
18
+ return this.addConfigBlock(createTypeScriptTestsConfigBlock(sources, tsconfigRootDir));
19
+ }
20
+ addAngularConfigs(options) {
21
+ const { ignored, jsons = [], prefix = 'app', sources = [], templates = [], tests = [], } = options;
22
+ return this.addConfigBlock(createAngularConfigBlock(prefix, sources, tests, templates, jsons, ignored));
23
+ }
24
+ addJson(options) {
25
+ const { jsons = [] } = options;
26
+ return this.addConfigBlock(createJsonConfigBlock(jsons));
27
+ }
28
+ addNx(options) {
29
+ const { sources = [] } = options;
30
+ return this.addConfigBlock(createNxConfigBlock(sources));
31
+ }
32
+ addIgnored(options) {
33
+ const { ignored } = options;
34
+ return this.addConfigBlock({
35
+ [IGNORED]: [
36
+ {
37
+ ignores: ignored,
38
+ },
39
+ ],
40
+ });
41
+ }
42
+ build(options) {
43
+ const configsWithValues = {};
44
+ for (const [key, value] of Object.entries(this.configBlocks)) {
45
+ if (value && value.length > 0) {
46
+ configsWithValues[key] = value;
47
+ }
48
+ }
49
+ return defineConfig(addCrossConfigOffRules(configsWithValues, { order: options?.order }));
50
+ }
51
+ reset() {
52
+ this.configBlocks = {};
53
+ return this;
54
+ }
55
+ addConfigBlock(block) {
56
+ this.configBlocks[SOURCES] = [
57
+ ...(this.configBlocks[SOURCES] ?? []),
58
+ ...(block[SOURCES] ?? []),
59
+ ];
60
+ this.configBlocks[TESTS] = [
61
+ ...(this.configBlocks[TESTS] ?? []),
62
+ ...(block[TESTS] ?? []),
63
+ ];
64
+ this.configBlocks[TEMPLATES] = [
65
+ ...(this.configBlocks[TEMPLATES] ?? []),
66
+ ...(block[TEMPLATES] ?? []),
67
+ ];
68
+ this.configBlocks[JSONS] = [
69
+ ...(this.configBlocks[JSONS] ?? []),
70
+ ...(block[JSONS] ?? []),
71
+ ];
72
+ this.configBlocks[NX] = [
73
+ ...(this.configBlocks[NX] ?? []),
74
+ ...(block[NX] ?? []),
75
+ ];
76
+ this.configBlocks[IGNORED] = [
77
+ ...(this.configBlocks[IGNORED] ?? []),
78
+ ...(block[IGNORED] ?? []),
79
+ ];
80
+ return this;
81
+ }
82
+ }
83
+ export const createConfigBuilder = () => new ESLintConfigBuilder();
84
+ //# sourceMappingURL=builder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"builder.js","sourceRoot":"/","sources":["src/builder.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,45 @@
1
+ import type { Linter } from 'eslint';
2
+ import { InfiniteDepthConfigWithExtends } from 'typescript-eslint';
3
+ export declare const SOURCES: unique symbol;
4
+ export declare const TESTS: unique symbol;
5
+ export declare const TEMPLATES: unique symbol;
6
+ export declare const JSONS: unique symbol;
7
+ export declare const NX: unique symbol;
8
+ export declare const IGNORED: unique symbol;
9
+ export interface ConfigBlock {
10
+ [SOURCES]?: Linter.Config[] | InfiniteDepthConfigWithExtends[];
11
+ [TESTS]?: Linter.Config[] | InfiniteDepthConfigWithExtends[];
12
+ [TEMPLATES]?: Linter.Config[] | InfiniteDepthConfigWithExtends[];
13
+ [JSONS]?: Linter.Config[] | InfiniteDepthConfigWithExtends[];
14
+ [NX]?: Linter.Config[] | InfiniteDepthConfigWithExtends[];
15
+ [IGNORED]?: Linter.Config[] | InfiniteDepthConfigWithExtends[];
16
+ }
17
+ export interface TypeScriptConfigOptions {
18
+ sources?: string[];
19
+ tsconfigRootDir?: string;
20
+ shouldResolveAppRootDir?: boolean;
21
+ }
22
+ export interface TypeScriptTestConfigOptions {
23
+ sources?: string[];
24
+ tsconfigRootDir?: string;
25
+ }
26
+ export interface AngularConfigOptions {
27
+ prefix?: string;
28
+ sources?: string[];
29
+ tests?: string[];
30
+ templates?: string[];
31
+ jsons?: string[];
32
+ ignored?: string[];
33
+ }
34
+ export interface JsonConfigOptions {
35
+ jsons?: string[];
36
+ }
37
+ export interface NxConfigOptions {
38
+ sources?: string[];
39
+ }
40
+ export interface IgnoredConfigOptions {
41
+ ignored?: string[];
42
+ }
43
+ export interface BuilderOptions {
44
+ order?: string[];
45
+ }
@@ -0,0 +1,7 @@
1
+ export const SOURCES = Symbol('sources');
2
+ export const TESTS = Symbol('tests');
3
+ export const TEMPLATES = Symbol('templates');
4
+ export const JSONS = Symbol('jsons');
5
+ export const NX = Symbol('nx');
6
+ export const IGNORED = Symbol('ignored');
7
+ //# sourceMappingURL=interfaces.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interfaces.js","sourceRoot":"/","sources":["src/interfaces.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,OAAO,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;AACzC,MAAM,CAAC,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;AACrC,MAAM,CAAC,MAAM,SAAS,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;AAC7C,MAAM,CAAC,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;AACrC,MAAM,CAAC,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;AAC/B,MAAM,CAAC,MAAM,OAAO,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC"}
@@ -1,2 +1,2 @@
1
- declare const _default: (jsons?: string[]) => import("eslint/config").Config[];
2
- export default _default;
1
+ import { ConfigBlock } from '../interfaces.js';
2
+ export declare const createJsonConfigBlock: (jsons?: string[]) => ConfigBlock;
@@ -1,4 +1,6 @@
1
- import { defineConfig } from 'eslint/config';
1
+ import { JSONS } from '../interfaces.js';
2
2
  import { getJsoncConfigs } from './jsonc.js';
3
- export default (jsons = []) => defineConfig(getJsoncConfigs(jsons));
3
+ export const createJsonConfigBlock = (jsons = []) => ({
4
+ [JSONS]: getJsoncConfigs(jsons),
5
+ });
4
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"/","sources":["src/json/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE7C,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE7C,eAAe,CAAC,QAAkB,EAAE,EAAE,EAAE,CAAC,YAAY,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"/","sources":["src/json/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE7C,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,QAAkB,EAAE,EAAe,EAAE,CAAC,CAAC;IAC3E,CAAC,KAAK,CAAC,EAAE,eAAe,CAAC,KAAK,CAAC;CAChC,CAAC,CAAC"}
@@ -1,2 +1,2 @@
1
1
  import type { Linter } from 'eslint';
2
- export declare const getJsoncConfigs: (jsons: string[]) => Linter.Config[];
2
+ export declare const getJsoncConfigs: (jsons?: string[]) => Linter.Config[];
@@ -1 +1 @@
1
- {"version":3,"file":"jsonc.js","sourceRoot":"/","sources":["src/json/jsonc.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,cAAc,CAAC;AAEhC,OAAO,KAAK,MAAM,qBAAqB,CAAC;AACxC,OAAO,WAAW,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAEjC,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,KAAe,EAAmB,EAAE,CAClE,OAAO,CAAC,KAAK,CAAC;IACZ,CAAC,CAAC,EAAE;IACJ,CAAC,CAAC;QACE;YACE,KAAK,EAAE,KAAK;YACZ,eAAe,EAAE;gBACf,MAAM,EAAE,WAAW;aACpB;YACD,OAAO,EAAE;gBACP,IAAI;gBACJ,KAAK;aACiC;YACxC,KAAK,EAAE;gBAEL,GAAI,KAAK,CAAC,OAAO,CAAC,6BAA6B,CAAS,CAAC,KAAK;gBAC9D,mBAAmB,EAAE,OAAO;gBAC5B,oBAAoB,EAAE,OAAO;gBAC7B,iBAAiB,EAAE,OAAO;gBAC1B,yBAAyB,EAAE,OAAO;aACnC;SACF;KACF,CAAC"}
1
+ {"version":3,"file":"jsonc.js","sourceRoot":"/","sources":["src/json/jsonc.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,cAAc,CAAC;AAEhC,OAAO,KAAK,MAAM,qBAAqB,CAAC;AACxC,OAAO,WAAW,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAEjC,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,KAAgB,EAAmB,EAAE,CACnE,OAAO,CAAC,KAAK,CAAC;IACZ,CAAC,CAAC,EAAE;IACJ,CAAC,CAAC;QACE;YACE,KAAK,EAAE,KAAK;YACZ,eAAe,EAAE;gBACf,MAAM,EAAE,WAAW;aACpB;YACD,OAAO,EAAE;gBACP,IAAI;gBACJ,KAAK;aACiC;YACxC,KAAK,EAAE;gBAEL,GAAI,KAAK,CAAC,OAAO,CAAC,6BAA6B,CAAS,CAAC,KAAK;gBAC9D,mBAAmB,EAAE,OAAO;gBAC5B,oBAAoB,EAAE,OAAO;gBAC7B,iBAAiB,EAAE,OAAO;gBAC1B,yBAAyB,EAAE,OAAO;aACnC;SACF;KACF,CAAC"}
@@ -1,3 +1,2 @@
1
- import { InfiniteDepthConfigWithExtends } from 'typescript-eslint';
2
- declare const _default: (sources?: string[]) => InfiniteDepthConfigWithExtends[];
3
- export default _default;
1
+ import { ConfigBlock } from '../interfaces.js';
2
+ export declare const createNxConfigBlock: (sources?: string[]) => ConfigBlock;
@@ -1,4 +1,6 @@
1
- import { defineConfig } from 'eslint/config';
1
+ import { SOURCES } from '../interfaces.js';
2
2
  import { getNxConfigs } from './nx.js';
3
- export default (sources = []) => defineConfig(getNxConfigs(sources));
3
+ export const createNxConfigBlock = (sources = []) => ({
4
+ [SOURCES]: getNxConfigs(sources),
5
+ });
4
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"/","sources":["src/nx/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAG7C,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC,eAAe,CAAC,UAAoB,EAAE,EAAoC,EAAE,CAC1E,YAAY,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"/","sources":["src/nx/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,OAAO,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,UAAoB,EAAE,EAAe,EAAE,CAAC,CAAC;IAC3E,CAAC,OAAO,CAAC,EAAE,YAAY,CAAC,OAAO,CAAC;CACjC,CAAC,CAAC"}
@@ -1,2 +1,2 @@
1
1
  import type { Linter } from 'eslint';
2
- export declare const getNxConfigs: (sources: string[]) => Linter.Config[];
2
+ export declare const getNxConfigs: (sources?: string[]) => Linter.Config[];
@@ -1 +1 @@
1
- {"version":3,"file":"nx.js","sourceRoot":"/","sources":["src/nx/nx.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAEnC,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAEjC,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,OAAiB,EAAmB,EAAE,CACjE,OAAO,CAAC,OAAO,CAAC;IACd,CAAC,CAAC,EAAE;IACJ,CAAC,CAAE;QACC,GAAG,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC;QAC1B,GAAG,EAAE,CAAC,OAAO,CAAC,iBAAiB,CAAC;QAChC,GAAG,EAAE,CAAC,OAAO,CAAC,iBAAiB,CAAC;QAChC;YACE,KAAK,EAAE,OAAO;YACd,KAAK,EAAE;gBACL,+BAA+B,EAAE;oBAC/B,OAAO;oBACP;wBACE,KAAK,EAAE,CAAC,0CAA0C,CAAC;wBACnD,cAAc,EAAE;4BACd;gCACE,wBAAwB,EAAE,CAAC,GAAG,CAAC;gCAC/B,SAAS,EAAE,GAAG;6BACf;yBACF;wBACD,6BAA6B,EAAE,IAAI;qBACpC;iBACF;aACF;SACF;KACkB,CAAC"}
1
+ {"version":3,"file":"nx.js","sourceRoot":"/","sources":["src/nx/nx.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAEnC,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAEjC,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,OAAkB,EAAmB,EAAE,CAClE,OAAO,CAAC,OAAO,CAAC;IACd,CAAC,CAAC,EAAE;IACJ,CAAC,CAAE;QACC,GAAG,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC;QAC1B,GAAG,EAAE,CAAC,OAAO,CAAC,iBAAiB,CAAC;QAChC,GAAG,EAAE,CAAC,OAAO,CAAC,iBAAiB,CAAC;QAChC;YACE,KAAK,EAAE,OAAO;YACd,KAAK,EAAE;gBACL,+BAA+B,EAAE;oBAC/B,OAAO;oBACP;wBACE,KAAK,EAAE,CAAC,0CAA0C,CAAC;wBACnD,cAAc,EAAE;4BACd;gCACE,wBAAwB,EAAE,CAAC,GAAG,CAAC;gCAC/B,SAAS,EAAE,GAAG;6BACf;yBACF;wBACD,6BAA6B,EAAE,IAAI;qBACpC;iBACF;aACF;SACF;KACkB,CAAC"}
@@ -1,2 +1,2 @@
1
1
  import type { Linter } from 'eslint';
2
- export declare const getEslintConfigs: (sources: string[], isTests: boolean) => Linter.Config[];
2
+ export declare const getEslintConfigs: (sources?: string[], isTests?: boolean) => Linter.Config[];
@@ -1 +1 @@
1
- {"version":3,"file":"eslint.js","sourceRoot":"/","sources":["src/typescript/eslint.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,YAAY,CAAC;AAEhC,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAEjC,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,OAAiB,EACjB,OAAgB,EACC,EAAE;IACnB,MAAM,iBAAiB,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;IAErD,OAAO,OAAO,CAAC,OAAO,CAAC;QACrB,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC;YACE;gBACE,KAAK,EAAE,OAAO;gBACd,KAAK,EAAE;oBACL,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK;oBAC3B,WAAW,EAAE,KAAK;oBAClB,wBAAwB,EAAE,iBAAiB;oBAC3C,YAAY,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;oBAC1B,gBAAgB,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC;oBAC/B,SAAS,EAAE,KAAK;oBAChB,kBAAkB,EAAE,KAAK;oBACzB,sBAAsB,EAAE,KAAK;oBAC7B,kBAAkB,EAAE,KAAK;oBACzB,aAAa,EAAE,KAAK;oBACpB,YAAY,EAAE,KAAK;oBACnB,sBAAsB,EAAE,KAAK;oBAC7B,gBAAgB,EAAE,KAAK;oBACvB,SAAS,EAAE,KAAK;oBAChB,qBAAqB,EAAE,KAAK;oBAC5B,SAAS,EAAE,KAAK;oBAChB,cAAc,EAAE,KAAK;oBACrB,WAAW,EAAE,KAAK;oBAClB,WAAW,EAAE,KAAK;iBACnB;aACF;SACF,CAAC;AACR,CAAC,CAAC"}
1
+ {"version":3,"file":"eslint.js","sourceRoot":"/","sources":["src/typescript/eslint.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,YAAY,CAAC;AAEhC,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAEjC,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,OAAkB,EAClB,OAAiB,EACA,EAAE;IACnB,MAAM,iBAAiB,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;IAErD,OAAO,OAAO,CAAC,OAAO,CAAC;QACrB,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC;YACE;gBACE,KAAK,EAAE,OAAO;gBACd,KAAK,EAAE;oBACL,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK;oBAC3B,WAAW,EAAE,KAAK;oBAClB,wBAAwB,EAAE,iBAAiB;oBAC3C,YAAY,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;oBAC1B,gBAAgB,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC;oBAC/B,SAAS,EAAE,KAAK;oBAChB,kBAAkB,EAAE,KAAK;oBACzB,sBAAsB,EAAE,KAAK;oBAC7B,kBAAkB,EAAE,KAAK;oBACzB,aAAa,EAAE,KAAK;oBACpB,YAAY,EAAE,KAAK;oBACnB,sBAAsB,EAAE,KAAK;oBAC7B,gBAAgB,EAAE,KAAK;oBACvB,SAAS,EAAE,KAAK;oBAChB,qBAAqB,EAAE,KAAK;oBAC5B,SAAS,EAAE,KAAK;oBAChB,cAAc,EAAE,KAAK;oBACrB,WAAW,EAAE,KAAK;oBAClB,WAAW,EAAE,KAAK;iBACnB;aACF;SACF,CAAC;AACR,CAAC,CAAC"}
@@ -1,3 +1,3 @@
1
- import type { Linter } from 'eslint';
2
- export declare const createTypeScriptConfigs: (sources?: string[], tsconfigRootDir?: string, shouldResolveAppRootDir?: boolean) => Linter.Config[];
3
- export declare const createTypeScriptTestsConfigs: (sources?: string[], tsconfigRootDir?: string) => Linter.Config[];
1
+ import { ConfigBlock } from '../interfaces.js';
2
+ export declare const createTypeScriptConfigBlock: (sources?: string[], tsconfigRootDir?: string, shouldResolveAppRootDir?: boolean) => ConfigBlock;
3
+ export declare const createTypeScriptTestsConfigBlock: (tests?: string[], tsconfigRootDir?: string) => ConfigBlock;
@@ -1,6 +1,7 @@
1
1
  import { get as getAppRootDir } from 'app-root-dir';
2
2
  import { defineConfig } from 'eslint/config';
3
3
  import { isEmpty } from 'lodash';
4
+ import { SOURCES, TESTS } from '../interfaces.js';
4
5
  import { getEslintConfigs } from './eslint.js';
5
6
  import { getSimpleImportSortConfigs } from './simple-import-sort.js';
6
7
  import { getTypescriptEslintConfigs } from './typescript-eslint.js';
@@ -20,6 +21,10 @@ const createConfigs = (sources = [], isTests = false, tsconfigRootDir, shouldRes
20
21
  ...getUnicornConfigs(sources),
21
22
  ...getSimpleImportSortConfigs(sources),
22
23
  ]);
23
- export const createTypeScriptConfigs = (sources = [], tsconfigRootDir, shouldResolveAppRootDir) => createConfigs(sources, false, tsconfigRootDir, shouldResolveAppRootDir);
24
- export const createTypeScriptTestsConfigs = (sources = [], tsconfigRootDir) => createConfigs(sources, true, tsconfigRootDir);
24
+ export const createTypeScriptConfigBlock = (sources = [], tsconfigRootDir, shouldResolveAppRootDir) => ({
25
+ [SOURCES]: createConfigs(sources, false, tsconfigRootDir, shouldResolveAppRootDir),
26
+ });
27
+ export const createTypeScriptTestsConfigBlock = (tests, tsconfigRootDir) => ({
28
+ [TESTS]: createConfigs(tests, true, tsconfigRootDir),
29
+ });
25
30
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"/","sources":["src/typescript/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,IAAI,aAAa,EAAE,MAAM,cAAc,CAAC;AAEpD,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAEjC,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAC;AACrE,OAAO,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEjD,MAAM,aAAa,GAAG,CACpB,UAAoB,EAAE,EACtB,OAAO,GAAG,KAAK,EACf,eAAwB,EACxB,uBAAiC,EAChB,EAAE,CACnB,OAAO,CAAC,OAAO,CAAC;IACd,CAAC,CAAC,EAAE;IACJ,CAAC,CAAC,YAAY,CAAC;QACX,GAAG,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC;QACrC,GAAG,0BAA0B,CAC3B,OAAO,EACP;YACE,GAAG,CAAC,eAAe,IAAI,CAAC,uBAAuB;gBAC7C,CAAC,CAAC,EAAE,eAAe,EAAE;gBACrB,CAAC,CAAC,EAAE,CAAC;YACP,GAAG,CAAC,uBAAuB;gBACzB,CAAC,CAAC,EAAE,eAAe,EAAE,aAAa,EAAE,EAAE;gBACtC,CAAC,CAAC,EAAE,CAAC;SACR,EACD,OAAO,CACR;QACD,GAAG,iBAAiB,CAAC,OAAO,CAAC;QAC7B,GAAG,0BAA0B,CAAC,OAAO,CAAC;KACvC,CAAC,CAAC;AAET,MAAM,CAAC,MAAM,uBAAuB,GAAG,CACrC,UAAoB,EAAE,EACtB,eAAwB,EACxB,uBAAiC,EAChB,EAAE,CACnB,aAAa,CAAC,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,uBAAuB,CAAC,CAAC;AAE1E,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAC1C,UAAoB,EAAE,EACtB,eAAwB,EACP,EAAE,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,EAAE,eAAe,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"/","sources":["src/typescript/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,IAAI,aAAa,EAAE,MAAM,cAAc,CAAC;AAEpD,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAEjC,OAAO,EAAe,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAC;AACrE,OAAO,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEjD,MAAM,aAAa,GAAG,CACpB,UAAoB,EAAE,EACtB,OAAO,GAAG,KAAK,EACf,eAAwB,EACxB,uBAAiC,EAChB,EAAE,CACnB,OAAO,CAAC,OAAO,CAAC;IACd,CAAC,CAAC,EAAE;IACJ,CAAC,CAAC,YAAY,CAAC;QACX,GAAG,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC;QACrC,GAAG,0BAA0B,CAC3B,OAAO,EACP;YACE,GAAG,CAAC,eAAe,IAAI,CAAC,uBAAuB;gBAC7C,CAAC,CAAC,EAAE,eAAe,EAAE;gBACrB,CAAC,CAAC,EAAE,CAAC;YACP,GAAG,CAAC,uBAAuB;gBACzB,CAAC,CAAC,EAAE,eAAe,EAAE,aAAa,EAAE,EAAE;gBACtC,CAAC,CAAC,EAAE,CAAC;SACR,EACD,OAAO,CACR;QACD,GAAG,iBAAiB,CAAC,OAAO,CAAC;QAC7B,GAAG,0BAA0B,CAAC,OAAO,CAAC;KACvC,CAAC,CAAC;AAET,MAAM,CAAC,MAAM,2BAA2B,GAAG,CACzC,UAAoB,EAAE,EACtB,eAAwB,EACxB,uBAAiC,EACpB,EAAE,CAAC,CAAC;IACjB,CAAC,OAAO,CAAC,EAAE,aAAa,CACtB,OAAO,EACP,KAAK,EACL,eAAe,EACf,uBAAuB,CACxB;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,gCAAgC,GAAG,CAC9C,KAAgB,EAChB,eAAwB,EACX,EAAE,CAAC,CAAC;IACjB,CAAC,KAAK,CAAC,EAAE,aAAa,CAAC,KAAK,EAAE,IAAI,EAAE,eAAe,CAAC;CACrD,CAAC,CAAC"}
@@ -1,2 +1,2 @@
1
1
  import type { Linter } from 'eslint';
2
- export declare const getSimpleImportSortConfigs: (sources: string[]) => Linter.Config[];
2
+ export declare const getSimpleImportSortConfigs: (sources?: string[]) => Linter.Config[];
@@ -1 +1 @@
1
- {"version":3,"file":"simple-import-sort.js","sourceRoot":"/","sources":["src/typescript/simple-import-sort.ts"],"names":[],"mappings":"AACA,OAAO,gBAAgB,MAAM,kCAAkC,CAAC;AAChE,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAEjC,MAAM,CAAC,MAAM,0BAA0B,GAAG,CACxC,OAAiB,EACA,EAAE,CACnB,OAAO,CAAC,OAAO,CAAC;IACd,CAAC,CAAC,EAAE;IACJ,CAAC,CAAC;QACE;YACE,KAAK,EAAE,OAAO;YACd,OAAO,EAAE,EAAE,oBAAoB,EAAE,gBAAgB,EAAE;YACnD,KAAK,EAAE;gBACL,4BAA4B,EAAE,OAAO;gBACrC,4BAA4B,EAAE,OAAO;aACtC;SACF;KACF,CAAC"}
1
+ {"version":3,"file":"simple-import-sort.js","sourceRoot":"/","sources":["src/typescript/simple-import-sort.ts"],"names":[],"mappings":"AACA,OAAO,gBAAgB,MAAM,kCAAkC,CAAC;AAChE,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAEjC,MAAM,CAAC,MAAM,0BAA0B,GAAG,CACxC,OAAkB,EACD,EAAE,CACnB,OAAO,CAAC,OAAO,CAAC;IACd,CAAC,CAAC,EAAE;IACJ,CAAC,CAAC;QACE;YACE,KAAK,EAAE,OAAO;YACd,OAAO,EAAE,EAAE,oBAAoB,EAAE,gBAAgB,EAAE;YACnD,KAAK,EAAE;gBACL,4BAA4B,EAAE,OAAO;gBACrC,4BAA4B,EAAE,OAAO;aACtC;SACF;KACF,CAAC"}
@@ -1,2 +1,2 @@
1
1
  import type { Linter } from 'eslint';
2
- export declare const getTypescriptEslintConfigs: (sources: string[], parserOptions: Record<string, unknown>, isTests: boolean) => Linter.Config[];
2
+ export declare const getTypescriptEslintConfigs: (sources?: string[], parserOptions?: Record<string, unknown>, isTests?: boolean) => Linter.Config[];
@@ -11,7 +11,7 @@ export const getTypescriptEslintConfigs = (sources, parserOptions, isTests) => {
11
11
  languageOptions: {
12
12
  parser: tseslint.parser,
13
13
  parserOptions: {
14
- ...parserOptions,
14
+ ...(parserOptions ?? {}),
15
15
  allowAutomaticSingleRunInference: true,
16
16
  projectService: true,
17
17
  },
@@ -1 +1 @@
1
- {"version":3,"file":"typescript-eslint.js","sourceRoot":"/","sources":["src/typescript/typescript-eslint.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"typescript-eslint.js","sourceRoot":"/","sources":["src/typescript/typescript-eslint.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
1
  import type { Linter } from 'eslint';
2
- export declare const getUnicornConfigs: (sources: string[]) => Linter.Config[];
2
+ export declare const getUnicornConfigs: (sources?: string[]) => Linter.Config[];
@@ -1 +1 @@
1
- {"version":3,"file":"unicorn.js","sourceRoot":"/","sources":["src/typescript/unicorn.ts"],"names":[],"mappings":"AACA,OAAO,OAAO,MAAM,uBAAuB,CAAC;AAC5C,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAEjC,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,OAAiB,EAAmB,EAAE,CACtE,OAAO,CAAC,OAAO,CAAC;IACd,CAAC,CAAC,EAAE;IACJ,CAAC,CAAC;QACE;YACE,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG;YACtB,KAAK,EAAE,OAAO;YACd,eAAe,EAAE;gBACf,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe;gBACtC,OAAO,EAAE,OAAO,CAAC,OAAO;aACzB;YACD,KAAK,EAAE;gBACL,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK;gBAC5B,sBAAsB,EAAE,KAAK;gBAC7B,2BAA2B,EAAE,KAAK;gBAClC,yBAAyB,EAAE,KAAK;gBAChC,qBAAqB,EAAE,OAAO;gBAC9B,iBAAiB,EAAE,KAAK;gBACxB,6BAA6B,EAAE,KAAK;gBACpC,4BAA4B,EAAE,KAAK;gBACnC,wBAAwB,EAAE,KAAK;gBAC/B,+BAA+B,EAAE,KAAK;gBACtC,yBAAyB,EAAE,KAAK;aACjC;SACF;KACF,CAAC"}
1
+ {"version":3,"file":"unicorn.js","sourceRoot":"/","sources":["src/typescript/unicorn.ts"],"names":[],"mappings":"AACA,OAAO,OAAO,MAAM,uBAAuB,CAAC;AAC5C,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAEjC,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,OAAkB,EAAmB,EAAE,CACvE,OAAO,CAAC,OAAO,CAAC;IACd,CAAC,CAAC,EAAE;IACJ,CAAC,CAAC;QACE;YACE,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG;YACtB,KAAK,EAAE,OAAO;YACd,eAAe,EAAE;gBACf,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe;gBACtC,OAAO,EAAE,OAAO,CAAC,OAAO;aACzB;YACD,KAAK,EAAE;gBACL,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK;gBAC5B,sBAAsB,EAAE,KAAK;gBAC7B,2BAA2B,EAAE,KAAK;gBAClC,yBAAyB,EAAE,KAAK;gBAChC,qBAAqB,EAAE,OAAO;gBAC9B,iBAAiB,EAAE,KAAK;gBACxB,6BAA6B,EAAE,KAAK;gBACpC,4BAA4B,EAAE,KAAK;gBACnC,wBAAwB,EAAE,KAAK;gBAC/B,+BAA+B,EAAE,KAAK;gBACtC,yBAAyB,EAAE,KAAK;aACjC;SACF;KACF,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@chris.araneo/eslint-config",
3
- "version": "0.0.98",
3
+ "version": "0.0.100",
4
4
  "description": "",
5
5
  "keywords": [
6
6
  "eslint",