@chris.araneo/eslint-config 0.0.96 → 0.0.98
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/LICENSE +1 -1
- package/dist/src/angular/angular-eslint-template.js +14 -11
- package/dist/src/angular/angular-eslint-template.js.map +1 -1
- package/dist/src/angular/angular-eslint.d.ts +0 -1
- package/dist/src/angular/angular-eslint.js +30 -28
- package/dist/src/angular/angular-eslint.js.map +1 -1
- package/dist/src/angular/index.js +14 -33
- package/dist/src/angular/index.js.map +1 -1
- package/dist/src/json/index.js +2 -8
- package/dist/src/json/index.js.map +1 -1
- package/dist/src/json/jsonc.d.ts +1 -1
- package/dist/src/json/jsonc.js +21 -18
- package/dist/src/json/jsonc.js.map +1 -1
- package/dist/src/nx/index.js +1 -8
- package/dist/src/nx/index.js.map +1 -1
- package/dist/src/nx/nx.js +25 -22
- package/dist/src/nx/nx.js.map +1 -1
- package/dist/src/typescript/eslint.d.ts +1 -2
- package/dist/src/typescript/eslint.js +30 -26
- package/dist/src/typescript/eslint.js.map +1 -1
- package/dist/src/typescript/index.d.ts +2 -2
- package/dist/src/typescript/index.js +21 -28
- package/dist/src/typescript/index.js.map +1 -1
- package/dist/src/typescript/simple-import-sort.d.ts +1 -1
- package/dist/src/typescript/simple-import-sort.js +13 -8
- package/dist/src/typescript/simple-import-sort.js.map +1 -1
- package/dist/src/typescript/typescript-eslint.d.ts +1 -2
- package/dist/src/typescript/typescript-eslint.js +203 -181
- package/dist/src/typescript/typescript-eslint.js.map +1 -1
- package/dist/src/typescript/unicorn.d.ts +1 -1
- package/dist/src/typescript/unicorn.js +26 -21
- package/dist/src/typescript/unicorn.js.map +1 -1
- package/dist/src/utils.d.ts +5 -2
- package/dist/src/utils.js +52 -6
- package/dist/src/utils.js.map +1 -1
- package/package.json +9 -7
package/LICENSE
CHANGED
|
@@ -1,13 +1,16 @@
|
|
|
1
1
|
import angular from 'angular-eslint';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
...config
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
2
|
+
import { isEmpty } from 'lodash';
|
|
3
|
+
export const getAngularTemplatesConfigs = (templates) => isEmpty(templates)
|
|
4
|
+
? []
|
|
5
|
+
: [
|
|
6
|
+
...angular.configs.templateAll.map((config) => ({
|
|
7
|
+
...config,
|
|
8
|
+
files: templates,
|
|
9
|
+
rules: {
|
|
10
|
+
...config.rules,
|
|
11
|
+
'@angular-eslint/template/i18n': 'off',
|
|
12
|
+
'@angular-eslint/template/prefer-control-flow': 'off',
|
|
13
|
+
},
|
|
14
|
+
})),
|
|
15
|
+
];
|
|
13
16
|
//# sourceMappingURL=angular-eslint-template.js.map
|
|
@@ -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;
|
|
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,30 +1,32 @@
|
|
|
1
1
|
import angular from 'angular-eslint';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
...config
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
2
|
+
import { isEmpty } from 'lodash';
|
|
3
|
+
export const getAngularSourcesConfigs = (prefix, sources) => isEmpty(sources)
|
|
4
|
+
? []
|
|
5
|
+
: angular.configs.tsAll.map((config) => ({
|
|
6
|
+
...config,
|
|
7
|
+
files: sources,
|
|
8
|
+
rules: {
|
|
9
|
+
...config.rules,
|
|
10
|
+
'@angular-eslint/component-selector': [
|
|
11
|
+
'error',
|
|
12
|
+
{
|
|
13
|
+
prefix,
|
|
14
|
+
style: 'kebab-case',
|
|
15
|
+
type: 'element',
|
|
16
|
+
},
|
|
17
|
+
],
|
|
18
|
+
'@angular-eslint/directive-selector': [
|
|
19
|
+
'error',
|
|
20
|
+
{
|
|
21
|
+
prefix,
|
|
22
|
+
style: 'camelCase',
|
|
23
|
+
type: 'attribute',
|
|
24
|
+
},
|
|
25
|
+
],
|
|
26
|
+
'@angular-eslint/no-forward-ref': 'off',
|
|
27
|
+
'@angular-eslint/prefer-on-push-component-change-detection': 'off',
|
|
28
|
+
'@angular-eslint/prefer-output-emitter-ref': 'off',
|
|
29
|
+
'@angular-eslint/prefer-signals': 'off',
|
|
30
|
+
},
|
|
31
|
+
}));
|
|
30
32
|
//# sourceMappingURL=angular-eslint.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"angular-eslint.js","sourceRoot":"/","sources":["src/angular/angular-eslint.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,gBAAgB,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,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,39 +1,20 @@
|
|
|
1
1
|
import { defineConfig } from 'eslint/config';
|
|
2
2
|
import createJsonConfigs from '../json/index.js';
|
|
3
|
-
import { getEslintConfigRuleKeys } from '../typescript/eslint.js';
|
|
4
3
|
import { createTypeScriptConfigs } from '../typescript/index.js';
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import { getAngularSourcesConfigs, getAngularSourcesConfigsRuleKeys, } from './angular-eslint.js';
|
|
4
|
+
import { addCrossConfigOffRules } from '../utils.js';
|
|
5
|
+
import { getAngularSourcesConfigs } from './angular-eslint.js';
|
|
8
6
|
import { getAngularTemplatesConfigs } from './angular-eslint-template.js';
|
|
9
|
-
export default (prefix = 'app', sources = [], templates = [], jsons = [], ignored) => {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
configs.push(...createTypeScriptConfigs(sources));
|
|
13
|
-
configs.push(...getAngularSourcesConfigs(prefix, sources));
|
|
14
|
-
}
|
|
15
|
-
if (!isEmpty(templates)) {
|
|
16
|
-
configs.push(...[
|
|
17
|
-
...getAngularTemplatesConfigs(templates),
|
|
18
|
-
getDisabledSourceRules(templates),
|
|
19
|
-
]);
|
|
20
|
-
}
|
|
21
|
-
if (!isEmpty(jsons)) {
|
|
22
|
-
configs.push(...[...createJsonConfigs(jsons), getDisabledSourceRules(jsons)]);
|
|
23
|
-
}
|
|
24
|
-
if (!isEmpty(ignored)) {
|
|
25
|
-
configs.push({
|
|
7
|
+
export default (prefix = 'app', sources = [], templates = [], jsons = [], ignored) => defineConfig(addCrossConfigOffRules({
|
|
8
|
+
ignored: [
|
|
9
|
+
{
|
|
26
10
|
ignores: ignored,
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
...getAngularSourcesConfigsRuleKeys(),
|
|
37
|
-
].reduce((acc, key) => ({ ...acc, [key]: 'off' }), {}),
|
|
38
|
-
});
|
|
11
|
+
},
|
|
12
|
+
],
|
|
13
|
+
json: createJsonConfigs(jsons),
|
|
14
|
+
sources: [
|
|
15
|
+
...createTypeScriptConfigs(sources),
|
|
16
|
+
...getAngularSourcesConfigs(prefix, sources),
|
|
17
|
+
],
|
|
18
|
+
templates: getAngularTemplatesConfigs(templates),
|
|
19
|
+
}, { order: ['sources', 'templates', 'json', 'ignored'] }));
|
|
39
20
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"/","sources":["src/angular/index.ts"],"names":[],"mappings":"
|
|
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"}
|
package/dist/src/json/index.js
CHANGED
|
@@ -1,10 +1,4 @@
|
|
|
1
1
|
import { defineConfig } from 'eslint/config';
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
export default (jsons = []) => {
|
|
5
|
-
if (isEmpty(jsons)) {
|
|
6
|
-
return [];
|
|
7
|
-
}
|
|
8
|
-
return defineConfig(getJsoncConfig(jsons));
|
|
9
|
-
};
|
|
2
|
+
import { getJsoncConfigs } from './jsonc.js';
|
|
3
|
+
export default (jsons = []) => defineConfig(getJsoncConfigs(jsons));
|
|
10
4
|
//# 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,
|
|
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"}
|
package/dist/src/json/jsonc.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import type { Linter } from 'eslint';
|
|
2
|
-
export declare const
|
|
2
|
+
export declare const getJsoncConfigs: (jsons: string[]) => Linter.Config[];
|
package/dist/src/json/jsonc.js
CHANGED
|
@@ -1,23 +1,26 @@
|
|
|
1
1
|
import json from '@eslint/json';
|
|
2
2
|
import jsonc from 'eslint-plugin-jsonc';
|
|
3
3
|
import jsoncParser from 'jsonc-eslint-parser';
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
4
|
+
import { isEmpty } from 'lodash';
|
|
5
|
+
export const getJsoncConfigs = (jsons) => isEmpty(jsons)
|
|
6
|
+
? []
|
|
7
|
+
: [
|
|
8
|
+
{
|
|
9
|
+
files: jsons,
|
|
10
|
+
languageOptions: {
|
|
11
|
+
parser: jsoncParser,
|
|
12
|
+
},
|
|
13
|
+
plugins: {
|
|
14
|
+
json,
|
|
15
|
+
jsonc,
|
|
16
|
+
},
|
|
17
|
+
rules: {
|
|
18
|
+
...jsonc.configs['flat/recommended-with-jsonc'].rules,
|
|
19
|
+
'jsonc/no-comments': 'error',
|
|
20
|
+
'jsonc/no-dupe-keys': 'error',
|
|
21
|
+
'jsonc/sort-keys': 'error',
|
|
22
|
+
'jsonc/valid-json-number': 'error',
|
|
23
|
+
},
|
|
9
24
|
},
|
|
10
|
-
|
|
11
|
-
json,
|
|
12
|
-
jsonc,
|
|
13
|
-
},
|
|
14
|
-
rules: {
|
|
15
|
-
...jsonc.configs['flat/recommended-with-jsonc'].rules,
|
|
16
|
-
'jsonc/no-comments': 'error',
|
|
17
|
-
'jsonc/no-dupe-keys': 'error',
|
|
18
|
-
'jsonc/sort-keys': 'error',
|
|
19
|
-
'jsonc/valid-json-number': 'error',
|
|
20
|
-
},
|
|
21
|
-
},
|
|
22
|
-
];
|
|
25
|
+
];
|
|
23
26
|
//# sourceMappingURL=jsonc.js.map
|
|
@@ -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;
|
|
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"}
|
package/dist/src/nx/index.js
CHANGED
|
@@ -1,11 +1,4 @@
|
|
|
1
1
|
import { defineConfig } from 'eslint/config';
|
|
2
|
-
import { isEmpty } from '../utils.js';
|
|
3
2
|
import { getNxConfigs } from './nx.js';
|
|
4
|
-
export default (sources = []) =>
|
|
5
|
-
const configs = [];
|
|
6
|
-
if (!isEmpty(sources)) {
|
|
7
|
-
configs.push(...getNxConfigs(sources));
|
|
8
|
-
}
|
|
9
|
-
return defineConfig(configs);
|
|
10
|
-
};
|
|
3
|
+
export default (sources = []) => defineConfig(getNxConfigs(sources));
|
|
11
4
|
//# sourceMappingURL=index.js.map
|
package/dist/src/nx/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"/","sources":["src/nx/index.ts"],"names":[],"mappings":"
|
|
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"}
|
package/dist/src/nx/nx.js
CHANGED
|
@@ -1,25 +1,28 @@
|
|
|
1
1
|
import nx from '@nx/eslint-plugin';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
2
|
+
import { isEmpty } from 'lodash';
|
|
3
|
+
export const getNxConfigs = (sources) => isEmpty(sources)
|
|
4
|
+
? []
|
|
5
|
+
: [
|
|
6
|
+
...nx.configs['flat/base'],
|
|
7
|
+
...nx.configs['flat/typescript'],
|
|
8
|
+
...nx.configs['flat/javascript'],
|
|
9
|
+
{
|
|
10
|
+
files: sources,
|
|
11
|
+
rules: {
|
|
12
|
+
'@nx/enforce-module-boundaries': [
|
|
13
|
+
'error',
|
|
14
|
+
{
|
|
15
|
+
allow: ['^.*/eslint(\\.base)?\\.config\\.[cm]?js$'],
|
|
16
|
+
depConstraints: [
|
|
17
|
+
{
|
|
18
|
+
onlyDependOnLibsWithTags: ['*'],
|
|
19
|
+
sourceTag: '*',
|
|
20
|
+
},
|
|
21
|
+
],
|
|
22
|
+
enforceBuildableLibDependency: true,
|
|
23
|
+
},
|
|
24
|
+
],
|
|
25
|
+
},
|
|
22
26
|
},
|
|
23
|
-
|
|
24
|
-
];
|
|
27
|
+
];
|
|
25
28
|
//# sourceMappingURL=nx.js.map
|
package/dist/src/nx/nx.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nx.js","sourceRoot":"/","sources":["src/nx/nx.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,mBAAmB,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,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,3 +1,2 @@
|
|
|
1
1
|
import type { Linter } from 'eslint';
|
|
2
|
-
export declare const
|
|
3
|
-
export declare const getEslintConfigRuleKeys: () => string[];
|
|
2
|
+
export declare const getEslintConfigs: (sources: string[], isTests: boolean) => Linter.Config[];
|
|
@@ -1,30 +1,34 @@
|
|
|
1
1
|
import eslint from '@eslint/js';
|
|
2
|
-
|
|
2
|
+
import { isEmpty } from 'lodash';
|
|
3
|
+
export const getEslintConfigs = (sources, isTests) => {
|
|
3
4
|
const errorWhenNotTests = !isTests ? 'error' : 'off';
|
|
4
|
-
return
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
5
|
+
return isEmpty(sources)
|
|
6
|
+
? []
|
|
7
|
+
: [
|
|
8
|
+
{
|
|
9
|
+
files: sources,
|
|
10
|
+
rules: {
|
|
11
|
+
...eslint.configs.all.rules,
|
|
12
|
+
'id-length': 'off',
|
|
13
|
+
'max-lines-per-function': errorWhenNotTests,
|
|
14
|
+
'max-params': ['error', 6],
|
|
15
|
+
'max-statements': ['error', 15],
|
|
16
|
+
'new-cap': 'off',
|
|
17
|
+
'no-await-in-loop': 'off',
|
|
18
|
+
'no-duplicate-imports': 'off',
|
|
19
|
+
'no-magic-numbers': 'off',
|
|
20
|
+
'no-plusplus': 'off',
|
|
21
|
+
'no-ternary': 'off',
|
|
22
|
+
'no-underscore-dangle': 'off',
|
|
23
|
+
'no-unused-vars': 'off',
|
|
24
|
+
'no-void': 'off',
|
|
25
|
+
'no-warning-comments': 'off',
|
|
26
|
+
'one-var': 'off',
|
|
27
|
+
'sort-imports': 'off',
|
|
28
|
+
'sort-keys': 'off',
|
|
29
|
+
'sort-vars': 'off',
|
|
30
|
+
},
|
|
31
|
+
},
|
|
32
|
+
];
|
|
28
33
|
};
|
|
29
|
-
export const getEslintConfigRuleKeys = () => Object.keys(getEslintConfig([], false).rules ?? {});
|
|
30
34
|
//# sourceMappingURL=eslint.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eslint.js","sourceRoot":"/","sources":["src/typescript/eslint.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,YAAY,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,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,3 +1,3 @@
|
|
|
1
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
|
|
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,32 +1,25 @@
|
|
|
1
1
|
import { get as getAppRootDir } from 'app-root-dir';
|
|
2
2
|
import { defineConfig } from 'eslint/config';
|
|
3
|
-
import { isEmpty } from '
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
const createConfigs = (sources = [], isTests = false, tsconfigRootDir, shouldResolveAppRootDir) =>
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
getUnicornConfig(sources),
|
|
23
|
-
getSimpleImportSortConfig(sources),
|
|
3
|
+
import { isEmpty } from 'lodash';
|
|
4
|
+
import { getEslintConfigs } from './eslint.js';
|
|
5
|
+
import { getSimpleImportSortConfigs } from './simple-import-sort.js';
|
|
6
|
+
import { getTypescriptEslintConfigs } from './typescript-eslint.js';
|
|
7
|
+
import { getUnicornConfigs } from './unicorn.js';
|
|
8
|
+
const createConfigs = (sources = [], isTests = false, tsconfigRootDir, shouldResolveAppRootDir) => isEmpty(sources)
|
|
9
|
+
? []
|
|
10
|
+
: defineConfig([
|
|
11
|
+
...getEslintConfigs(sources, isTests),
|
|
12
|
+
...getTypescriptEslintConfigs(sources, {
|
|
13
|
+
...(tsconfigRootDir && !shouldResolveAppRootDir
|
|
14
|
+
? { tsconfigRootDir }
|
|
15
|
+
: {}),
|
|
16
|
+
...(shouldResolveAppRootDir
|
|
17
|
+
? { tsconfigRootDir: getAppRootDir() }
|
|
18
|
+
: {}),
|
|
19
|
+
}, isTests),
|
|
20
|
+
...getUnicornConfigs(sources),
|
|
21
|
+
...getSimpleImportSortConfigs(sources),
|
|
24
22
|
]);
|
|
25
|
-
|
|
26
|
-
export const
|
|
27
|
-
return createConfigs(sources, false, tsconfigRootDir, shouldResolveAppRootDir);
|
|
28
|
-
};
|
|
29
|
-
export const createTypeScriptTestsConfigs = (sources = [], tsconfigRootDir) => {
|
|
30
|
-
return createConfigs(sources, true, tsconfigRootDir);
|
|
31
|
-
};
|
|
23
|
+
export const createTypeScriptConfigs = (sources = [], tsconfigRootDir, shouldResolveAppRootDir) => createConfigs(sources, false, tsconfigRootDir, shouldResolveAppRootDir);
|
|
24
|
+
export const createTypeScriptTestsConfigs = (sources = [], tsconfigRootDir) => createConfigs(sources, true, tsconfigRootDir);
|
|
32
25
|
//# 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;
|
|
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,2 +1,2 @@
|
|
|
1
1
|
import type { Linter } from 'eslint';
|
|
2
|
-
export declare const
|
|
2
|
+
export declare const getSimpleImportSortConfigs: (sources: string[]) => Linter.Config[];
|
|
@@ -1,10 +1,15 @@
|
|
|
1
1
|
import simpleImportSort from 'eslint-plugin-simple-import-sort';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
2
|
+
import { isEmpty } from 'lodash';
|
|
3
|
+
export const getSimpleImportSortConfigs = (sources) => isEmpty(sources)
|
|
4
|
+
? []
|
|
5
|
+
: [
|
|
6
|
+
{
|
|
7
|
+
files: sources,
|
|
8
|
+
plugins: { 'simple-import-sort': simpleImportSort },
|
|
9
|
+
rules: {
|
|
10
|
+
'simple-import-sort/exports': 'error',
|
|
11
|
+
'simple-import-sort/imports': 'error',
|
|
12
|
+
},
|
|
13
|
+
},
|
|
14
|
+
];
|
|
10
15
|
//# sourceMappingURL=simple-import-sort.js.map
|
|
@@ -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;
|
|
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,3 +1,2 @@
|
|
|
1
1
|
import type { Linter } from 'eslint';
|
|
2
|
-
export declare const
|
|
3
|
-
export declare const getTypescriptEslintConfigRuleKeys: () => string[];
|
|
2
|
+
export declare const getTypescriptEslintConfigs: (sources: string[], parserOptions: Record<string, unknown>, isTests: boolean) => Linter.Config[];
|
|
@@ -1,191 +1,213 @@
|
|
|
1
|
+
import { isEmpty } from 'lodash';
|
|
1
2
|
import tseslint from 'typescript-eslint';
|
|
2
|
-
export const
|
|
3
|
+
export const getTypescriptEslintConfigs = (sources, parserOptions, isTests) => {
|
|
3
4
|
const warnWhenNotTests = !isTests ? 'warn' : 'off';
|
|
4
5
|
const errorWhenNotTests = !isTests ? 'error' : 'off';
|
|
5
|
-
return
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
'@typescript-eslint': tseslint.plugin,
|
|
17
|
-
},
|
|
18
|
-
rules: {
|
|
19
|
-
...tseslint.configs.strictTypeChecked
|
|
20
|
-
.map((config) => config.rules)
|
|
21
|
-
.reduce((a, b) => ({ ...a, ...b }), {}),
|
|
22
|
-
'@typescript-eslint/class-methods-use-this': 'off',
|
|
23
|
-
'@typescript-eslint/consistent-type-imports': 'off',
|
|
24
|
-
'@typescript-eslint/explicit-member-accessibility': [
|
|
25
|
-
'error',
|
|
26
|
-
{ accessibility: 'no-public' },
|
|
27
|
-
],
|
|
28
|
-
'@typescript-eslint/init-declarations': 'off',
|
|
29
|
-
'@typescript-eslint/max-params': 'off',
|
|
30
|
-
'@typescript-eslint/member-ordering': [
|
|
31
|
-
'error',
|
|
32
|
-
{
|
|
33
|
-
default: {
|
|
34
|
-
memberTypes: [
|
|
35
|
-
'public-decorated-field',
|
|
36
|
-
'protected-decorated-field',
|
|
37
|
-
'private-decorated-field',
|
|
38
|
-
'public-static-field',
|
|
39
|
-
'protected-static-field',
|
|
40
|
-
'private-static-field',
|
|
41
|
-
'public-instance-field',
|
|
42
|
-
'protected-instance-field',
|
|
43
|
-
'private-instance-field',
|
|
44
|
-
'static-field',
|
|
45
|
-
'public-field',
|
|
46
|
-
'instance-field',
|
|
47
|
-
'protected-field',
|
|
48
|
-
'private-field',
|
|
49
|
-
'constructor',
|
|
50
|
-
'public-static-method',
|
|
51
|
-
'protected-static-method',
|
|
52
|
-
'private-static-method',
|
|
53
|
-
'public-method',
|
|
54
|
-
'protected-method',
|
|
55
|
-
'private-method',
|
|
56
|
-
],
|
|
57
|
-
},
|
|
58
|
-
},
|
|
59
|
-
],
|
|
60
|
-
'@typescript-eslint/naming-convention': [
|
|
61
|
-
'warn',
|
|
62
|
-
{ format: ['strictCamelCase'], selector: 'default' },
|
|
63
|
-
{
|
|
64
|
-
filter: {
|
|
65
|
-
match: false,
|
|
66
|
-
regex: '^_+$',
|
|
6
|
+
return isEmpty(sources)
|
|
7
|
+
? []
|
|
8
|
+
: [
|
|
9
|
+
{
|
|
10
|
+
files: sources,
|
|
11
|
+
languageOptions: {
|
|
12
|
+
parser: tseslint.parser,
|
|
13
|
+
parserOptions: {
|
|
14
|
+
...parserOptions,
|
|
15
|
+
allowAutomaticSingleRunInference: true,
|
|
16
|
+
projectService: true,
|
|
67
17
|
},
|
|
68
|
-
format: ['strictCamelCase'],
|
|
69
|
-
leadingUnderscore: 'allow',
|
|
70
|
-
selector: 'parameter',
|
|
71
|
-
},
|
|
72
|
-
{
|
|
73
|
-
custom: {
|
|
74
|
-
match: true,
|
|
75
|
-
regex: '^_+$',
|
|
76
|
-
},
|
|
77
|
-
format: null,
|
|
78
|
-
selector: 'parameter',
|
|
79
|
-
},
|
|
80
|
-
{
|
|
81
|
-
format: ['strictCamelCase', 'StrictPascalCase'],
|
|
82
|
-
selector: ['function', 'import'],
|
|
83
18
|
},
|
|
84
|
-
{
|
|
85
|
-
|
|
86
|
-
selector: ['typeLike'],
|
|
87
|
-
},
|
|
88
|
-
{ format: ['PascalCase'], selector: 'enumMember' },
|
|
89
|
-
{
|
|
90
|
-
format: ['PascalCase'],
|
|
91
|
-
modifiers: ['static'],
|
|
92
|
-
selector: 'classProperty',
|
|
93
|
-
},
|
|
94
|
-
{
|
|
95
|
-
format: ['PascalCase'],
|
|
96
|
-
prefix: ['is', 'has', 'are', 'can', 'should', 'did', 'will', 'with'],
|
|
97
|
-
selector: ['variable', 'parameter', 'accessor'],
|
|
98
|
-
types: ['boolean'],
|
|
99
|
-
},
|
|
100
|
-
{
|
|
101
|
-
format: null,
|
|
102
|
-
modifiers: ['requiresQuotes'],
|
|
103
|
-
selector: ['objectLiteralProperty'],
|
|
104
|
-
},
|
|
105
|
-
{
|
|
106
|
-
filter: {
|
|
107
|
-
match: false,
|
|
108
|
-
regex: '^(allowfullscreen|allowFullScreen|async|autofocus|autoFocus|autoplay|autoPlay|checked|defaultChecked|contenteditable|contentEditable|controls|default|defer|disabled|draggable|formnovalidate|formNoValidate|hidden|inert|ismap|itemscope|itemScope|loop|multiple|muted|nomodule|noModule|novalidate|noValidate|open|playsinline|playsInline|readonly|readOnly|required|reversed|selected|spellcheck|spellCheck)$',
|
|
109
|
-
},
|
|
110
|
-
format: ['PascalCase'],
|
|
111
|
-
prefix: ['is', 'has', 'are', 'can', 'should', 'did', 'will', 'with'],
|
|
112
|
-
selector: ['property'],
|
|
113
|
-
types: ['boolean'],
|
|
19
|
+
plugins: {
|
|
20
|
+
'@typescript-eslint': tseslint.plugin,
|
|
114
21
|
},
|
|
115
|
-
{
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
'
|
|
123
|
-
'
|
|
124
|
-
'SHOULD_',
|
|
125
|
-
'DID_',
|
|
126
|
-
'WILL_',
|
|
127
|
-
'WITH_',
|
|
22
|
+
rules: {
|
|
23
|
+
...tseslint.configs.strictTypeChecked
|
|
24
|
+
.map((config) => config.rules)
|
|
25
|
+
.reduce((a, b) => ({ ...a, ...b }), {}),
|
|
26
|
+
'@typescript-eslint/class-methods-use-this': 'off',
|
|
27
|
+
'@typescript-eslint/consistent-type-imports': 'off',
|
|
28
|
+
'@typescript-eslint/explicit-member-accessibility': [
|
|
29
|
+
'error',
|
|
30
|
+
{ accessibility: 'no-public' },
|
|
128
31
|
],
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
32
|
+
'@typescript-eslint/init-declarations': 'off',
|
|
33
|
+
'@typescript-eslint/max-params': 'off',
|
|
34
|
+
'@typescript-eslint/member-ordering': [
|
|
35
|
+
'error',
|
|
36
|
+
{
|
|
37
|
+
default: {
|
|
38
|
+
memberTypes: [
|
|
39
|
+
'public-decorated-field',
|
|
40
|
+
'protected-decorated-field',
|
|
41
|
+
'private-decorated-field',
|
|
42
|
+
'public-static-field',
|
|
43
|
+
'protected-static-field',
|
|
44
|
+
'private-static-field',
|
|
45
|
+
'public-instance-field',
|
|
46
|
+
'protected-instance-field',
|
|
47
|
+
'private-instance-field',
|
|
48
|
+
'static-field',
|
|
49
|
+
'public-field',
|
|
50
|
+
'instance-field',
|
|
51
|
+
'protected-field',
|
|
52
|
+
'private-field',
|
|
53
|
+
'constructor',
|
|
54
|
+
'public-static-method',
|
|
55
|
+
'protected-static-method',
|
|
56
|
+
'private-static-method',
|
|
57
|
+
'public-method',
|
|
58
|
+
'protected-method',
|
|
59
|
+
'private-method',
|
|
60
|
+
],
|
|
61
|
+
},
|
|
62
|
+
},
|
|
63
|
+
],
|
|
64
|
+
'@typescript-eslint/naming-convention': [
|
|
65
|
+
'warn',
|
|
66
|
+
{ format: ['strictCamelCase'], selector: 'default' },
|
|
67
|
+
{
|
|
68
|
+
filter: {
|
|
69
|
+
match: false,
|
|
70
|
+
regex: '^_+$',
|
|
71
|
+
},
|
|
72
|
+
format: ['strictCamelCase'],
|
|
73
|
+
leadingUnderscore: 'allow',
|
|
74
|
+
selector: 'parameter',
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
custom: {
|
|
78
|
+
match: true,
|
|
79
|
+
regex: '^_+$',
|
|
80
|
+
},
|
|
81
|
+
format: null,
|
|
82
|
+
selector: 'parameter',
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
format: ['strictCamelCase', 'StrictPascalCase'],
|
|
86
|
+
selector: ['function', 'import'],
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
format: ['StrictPascalCase'],
|
|
90
|
+
selector: ['typeLike'],
|
|
91
|
+
},
|
|
92
|
+
{ format: ['PascalCase'], selector: 'enumMember' },
|
|
93
|
+
{
|
|
94
|
+
format: ['PascalCase'],
|
|
95
|
+
modifiers: ['static'],
|
|
96
|
+
selector: 'classProperty',
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
format: ['PascalCase'],
|
|
100
|
+
prefix: [
|
|
101
|
+
'is',
|
|
102
|
+
'has',
|
|
103
|
+
'are',
|
|
104
|
+
'can',
|
|
105
|
+
'should',
|
|
106
|
+
'did',
|
|
107
|
+
'will',
|
|
108
|
+
'with',
|
|
109
|
+
],
|
|
110
|
+
selector: ['variable', 'parameter', 'accessor'],
|
|
111
|
+
types: ['boolean'],
|
|
112
|
+
},
|
|
113
|
+
{
|
|
114
|
+
format: null,
|
|
115
|
+
modifiers: ['requiresQuotes'],
|
|
116
|
+
selector: ['objectLiteralProperty'],
|
|
117
|
+
},
|
|
118
|
+
{
|
|
119
|
+
filter: {
|
|
120
|
+
match: false,
|
|
121
|
+
regex: '^(allowfullscreen|allowFullScreen|async|autofocus|autoFocus|autoplay|autoPlay|checked|defaultChecked|contenteditable|contentEditable|controls|default|defer|disabled|draggable|formnovalidate|formNoValidate|hidden|inert|ismap|itemscope|itemScope|loop|multiple|muted|nomodule|noModule|novalidate|noValidate|open|playsinline|playsInline|readonly|readOnly|required|reversed|selected|spellcheck|spellCheck)$',
|
|
122
|
+
},
|
|
123
|
+
format: ['PascalCase'],
|
|
124
|
+
prefix: [
|
|
125
|
+
'is',
|
|
126
|
+
'has',
|
|
127
|
+
'are',
|
|
128
|
+
'can',
|
|
129
|
+
'should',
|
|
130
|
+
'did',
|
|
131
|
+
'will',
|
|
132
|
+
'with',
|
|
133
|
+
],
|
|
134
|
+
selector: ['property'],
|
|
135
|
+
types: ['boolean'],
|
|
136
|
+
},
|
|
137
|
+
{
|
|
138
|
+
format: ['UPPER_CASE'],
|
|
139
|
+
leadingUnderscore: 'allow',
|
|
140
|
+
modifiers: ['const', 'global'],
|
|
141
|
+
prefix: [
|
|
142
|
+
'IS_',
|
|
143
|
+
'HAS_',
|
|
144
|
+
'ARE_',
|
|
145
|
+
'CAN_',
|
|
146
|
+
'SHOULD_',
|
|
147
|
+
'DID_',
|
|
148
|
+
'WILL_',
|
|
149
|
+
'WITH_',
|
|
150
|
+
],
|
|
151
|
+
selector: 'variable',
|
|
152
|
+
types: ['boolean'],
|
|
153
|
+
},
|
|
154
|
+
{
|
|
155
|
+
format: ['UPPER_CASE'],
|
|
156
|
+
leadingUnderscore: 'allow',
|
|
157
|
+
modifiers: ['const', 'global'],
|
|
158
|
+
selector: 'variable',
|
|
159
|
+
types: ['string', 'number', 'array'],
|
|
160
|
+
},
|
|
161
|
+
{
|
|
162
|
+
format: ['UPPER_CASE'],
|
|
163
|
+
modifiers: ['const', 'global'],
|
|
164
|
+
selector: 'default',
|
|
165
|
+
},
|
|
166
|
+
{
|
|
167
|
+
format: ['strictCamelCase'],
|
|
168
|
+
modifiers: ['const', 'global'],
|
|
169
|
+
selector: 'variable',
|
|
170
|
+
types: ['function'],
|
|
171
|
+
},
|
|
172
|
+
],
|
|
173
|
+
'@typescript-eslint/no-confusing-void-expression': 'off',
|
|
174
|
+
'@typescript-eslint/no-explicit-any': errorWhenNotTests,
|
|
175
|
+
'@typescript-eslint/no-extraneous-class': 'off',
|
|
176
|
+
'@typescript-eslint/no-magic-numbers': [
|
|
177
|
+
errorWhenNotTests,
|
|
178
|
+
{
|
|
179
|
+
ignoreEnums: true,
|
|
180
|
+
ignoreNumericLiteralTypes: true,
|
|
181
|
+
ignoreReadonlyClassProperties: true,
|
|
182
|
+
ignoreTypeIndexes: true,
|
|
183
|
+
},
|
|
184
|
+
],
|
|
185
|
+
'@typescript-eslint/no-non-null-assertion': errorWhenNotTests,
|
|
186
|
+
'@typescript-eslint/no-unsafe-assignment': errorWhenNotTests,
|
|
187
|
+
'@typescript-eslint/no-unsafe-call': errorWhenNotTests,
|
|
188
|
+
'@typescript-eslint/no-unsafe-function-type': errorWhenNotTests,
|
|
189
|
+
'@typescript-eslint/no-unsafe-member-access': errorWhenNotTests,
|
|
190
|
+
'@typescript-eslint/no-unsafe-return': errorWhenNotTests,
|
|
191
|
+
'@typescript-eslint/no-unsafe-type-assertion': warnWhenNotTests,
|
|
192
|
+
'@typescript-eslint/no-unused-vars': [
|
|
193
|
+
'error',
|
|
194
|
+
{
|
|
195
|
+
args: 'all',
|
|
196
|
+
argsIgnorePattern: '^_',
|
|
197
|
+
caughtErrors: 'all',
|
|
198
|
+
caughtErrorsIgnorePattern: '^_',
|
|
199
|
+
destructuredArrayIgnorePattern: '^_',
|
|
200
|
+
ignoreRestSiblings: true,
|
|
201
|
+
varsIgnorePattern: '^_',
|
|
202
|
+
},
|
|
203
|
+
],
|
|
204
|
+
'@typescript-eslint/parameter-properties': 'off',
|
|
205
|
+
'@typescript-eslint/prefer-destructuring': errorWhenNotTests,
|
|
206
|
+
'@typescript-eslint/prefer-readonly-parameter-types': 'off',
|
|
207
|
+
'@typescript-eslint/require-await': 'off',
|
|
208
|
+
'@typescript-eslint/strict-boolean-expressions': 'off',
|
|
180
209
|
},
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
'@typescript-eslint/prefer-destructuring': errorWhenNotTests,
|
|
184
|
-
'@typescript-eslint/prefer-readonly-parameter-types': 'off',
|
|
185
|
-
'@typescript-eslint/require-await': 'off',
|
|
186
|
-
'@typescript-eslint/strict-boolean-expressions': 'off',
|
|
187
|
-
},
|
|
188
|
-
};
|
|
210
|
+
},
|
|
211
|
+
];
|
|
189
212
|
};
|
|
190
|
-
export const getTypescriptEslintConfigRuleKeys = () => Object.keys(getTypescriptEslintConfig([], {}, false).rules ?? {});
|
|
191
213
|
//# sourceMappingURL=typescript-eslint.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typescript-eslint.js","sourceRoot":"/","sources":["src/typescript/typescript-eslint.ts"],"names":[],"mappings":"
|
|
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
|
|
2
|
+
export declare const getUnicornConfigs: (sources: string[]) => Linter.Config[];
|
|
@@ -1,24 +1,29 @@
|
|
|
1
1
|
import unicorn from 'eslint-plugin-unicorn';
|
|
2
2
|
import globals from 'globals';
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
3
|
+
import { isEmpty } from 'lodash';
|
|
4
|
+
export const getUnicornConfigs = (sources) => isEmpty(sources)
|
|
5
|
+
? []
|
|
6
|
+
: [
|
|
7
|
+
{
|
|
8
|
+
...unicorn.configs.all,
|
|
9
|
+
files: sources,
|
|
10
|
+
languageOptions: {
|
|
11
|
+
...unicorn.configs.all.languageOptions,
|
|
12
|
+
globals: globals.builtin,
|
|
13
|
+
},
|
|
14
|
+
rules: {
|
|
15
|
+
...unicorn.configs.all.rules,
|
|
16
|
+
'unicorn/import-style': 'off',
|
|
17
|
+
'unicorn/no-array-for-each': 'off',
|
|
18
|
+
'unicorn/no-array-reduce': 'off',
|
|
19
|
+
'unicorn/no-for-loop': 'error',
|
|
20
|
+
'unicorn/no-null': 'off',
|
|
21
|
+
'unicorn/number-literal-case': 'off',
|
|
22
|
+
'unicorn/prefer-global-this': 'off',
|
|
23
|
+
'unicorn/prefer-ternary': 'off',
|
|
24
|
+
'unicorn/prevent-abbreviations': 'off',
|
|
25
|
+
'unicorn/template-indent': 'off',
|
|
26
|
+
},
|
|
27
|
+
},
|
|
28
|
+
];
|
|
24
29
|
//# sourceMappingURL=unicorn.js.map
|
|
@@ -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;
|
|
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"}
|
package/dist/src/utils.d.ts
CHANGED
|
@@ -1,2 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
export declare
|
|
1
|
+
import type { Linter } from 'eslint';
|
|
2
|
+
export declare const isNotEmpty: (value: unknown) => boolean;
|
|
3
|
+
export declare const addCrossConfigOffRules: (configs: Record<string, Linter.Config[]>, options?: {
|
|
4
|
+
order?: string[];
|
|
5
|
+
}) => Linter.Config[];
|
package/dist/src/utils.js
CHANGED
|
@@ -1,7 +1,53 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
1
|
+
import { chain, isEmpty, keys as getKeys, mapValues } from 'lodash';
|
|
2
|
+
export const isNotEmpty = (value) => !isEmpty(value);
|
|
3
|
+
const extractRulesPerKey = (configs) => mapValues(configs, (configArray) => chain(configArray)
|
|
4
|
+
.flatMap((config) => getKeys(config.rules ?? {}))
|
|
5
|
+
.uniq()
|
|
6
|
+
.value());
|
|
7
|
+
const extractFilesPerKey = (configs) => mapValues(configs, (configArray) => chain(configArray)
|
|
8
|
+
.flatMap((config) => config.files ?? [])
|
|
9
|
+
.flatten()
|
|
10
|
+
.filter((f) => typeof f === 'string')
|
|
11
|
+
.uniq()
|
|
12
|
+
.value());
|
|
13
|
+
const createOffRulesConfigs = (keys, rulesPerKey, filesPerKey) => chain(keys)
|
|
14
|
+
.map((key) => ({
|
|
15
|
+
files: filesPerKey[key] ?? [],
|
|
16
|
+
filesKey: JSON.stringify([...(filesPerKey[key] ?? [])].sort()),
|
|
17
|
+
key,
|
|
18
|
+
otherRules: chain(keys)
|
|
19
|
+
.filter((k) => k !== key)
|
|
20
|
+
.flatMap((k) => rulesPerKey[k] ?? [])
|
|
21
|
+
.uniq()
|
|
22
|
+
.value(),
|
|
23
|
+
}))
|
|
24
|
+
.filter(({ otherRules }) => otherRules.length > 0)
|
|
25
|
+
.groupBy('filesKey')
|
|
26
|
+
.values()
|
|
27
|
+
.map((group) => ({
|
|
28
|
+
files: group[0]?.files ?? [],
|
|
29
|
+
rules: chain(group)
|
|
30
|
+
.flatMap((g) => g.otherRules)
|
|
31
|
+
.uniq()
|
|
32
|
+
.keyBy()
|
|
33
|
+
.mapValues(() => 'off')
|
|
34
|
+
.value(),
|
|
35
|
+
}))
|
|
36
|
+
.map(({ files, rules }) => ({
|
|
37
|
+
name: 'disable-other-rules',
|
|
38
|
+
...(files.length > 0 && { files }),
|
|
39
|
+
rules,
|
|
40
|
+
}))
|
|
41
|
+
.value();
|
|
42
|
+
export const addCrossConfigOffRules = (configs, options) => {
|
|
43
|
+
const keys = getKeys(configs);
|
|
44
|
+
const orderedKeys = isEmpty(options?.order) ? keys : (options?.order ?? keys);
|
|
45
|
+
const rulesPerKey = extractRulesPerKey(configs);
|
|
46
|
+
const filesPerKey = extractFilesPerKey(configs);
|
|
47
|
+
const offRulesConfigs = createOffRulesConfigs(keys, rulesPerKey, filesPerKey);
|
|
48
|
+
return chain(orderedKeys)
|
|
49
|
+
.flatMap((key) => configs[key] ?? [])
|
|
50
|
+
.concat(offRulesConfigs)
|
|
51
|
+
.value();
|
|
52
|
+
};
|
|
7
53
|
//# sourceMappingURL=utils.js.map
|
package/dist/src/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"/","sources":["src/utils.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"/","sources":["src/utils.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@chris.araneo/eslint-config",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.98",
|
|
4
4
|
"description": "",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"eslint",
|
|
@@ -27,10 +27,10 @@
|
|
|
27
27
|
"lint:fix": "eslint . --fix"
|
|
28
28
|
},
|
|
29
29
|
"dependencies": {
|
|
30
|
-
"@eslint/json": "^0.
|
|
30
|
+
"@eslint/json": "^1.0.0",
|
|
31
31
|
"@humanwhocodes/momoa": "^3.3.10",
|
|
32
|
-
"@nx/eslint-plugin": "^22.4.
|
|
33
|
-
"angular-eslint": "^21.
|
|
32
|
+
"@nx/eslint-plugin": "^22.4.4",
|
|
33
|
+
"angular-eslint": "^21.2.0",
|
|
34
34
|
"app-root-dir": "^1.0.2",
|
|
35
35
|
"eslint": "^9.39.2",
|
|
36
36
|
"eslint-plugin-jsonc": "^2.21.0",
|
|
@@ -38,14 +38,16 @@
|
|
|
38
38
|
"eslint-plugin-simple-import-sort": "^12.1.1",
|
|
39
39
|
"eslint-plugin-unicorn": "^62.0.0",
|
|
40
40
|
"jsonc-eslint-parser": "^2.4.2",
|
|
41
|
-
"
|
|
41
|
+
"lodash": "^4.17.23",
|
|
42
|
+
"typescript-eslint": "^8.54.0"
|
|
42
43
|
},
|
|
43
44
|
"devDependencies": {
|
|
44
45
|
"@types/app-root-dir": "^0.1.4",
|
|
46
|
+
"@types/lodash": "^4.17.23",
|
|
45
47
|
"jiti": "^2.6.1",
|
|
46
|
-
"prettier": "^3.
|
|
48
|
+
"prettier": "^3.8.1",
|
|
47
49
|
"rimraf": "^6.1.2",
|
|
48
|
-
"sort-package-json": "^3.6.
|
|
50
|
+
"sort-package-json": "^3.6.1",
|
|
49
51
|
"typescript": "^5.9.3"
|
|
50
52
|
},
|
|
51
53
|
"publishConfig": {
|