@eslinted/core 29.4.7 → 29.4.8

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.
@@ -1 +1 @@
1
- {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../src/factory.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,IAAI,MAAM,GAAG,CAAC;AAG1B,MAAM,CAAC,OAAO,UAAU,OAAO,CAC7B,KAAK,SAAS,MAAM,EACpB,QAAQ,SAAS,KAAK,EACtB,cAAc,SAAS,MAAM,EAC7B,cAAc,SAAS,KAAK,EAC5B,MAAM,SAAS,cAAc,GAAG,QAAQ,EAExC,MAAM,EAAE,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAC3F,QAAQ,EAAE,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAC7F,IAAI,EAAE,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EACzF,EACE,OAAO,EACP,OAAO,GACR,EAAE,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EACtF,QAAQ,EAAE,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAC7F,EACE,QAAQ,EACR,UAAe,GAChB,EAAE,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,6CAsIvF"}
1
+ {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../src/factory.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,IAAI,MAAM,GAAG,CAAC;AAG1B,MAAM,CAAC,OAAO,UAAU,OAAO,CAC7B,KAAK,SAAS,MAAM,EACpB,QAAQ,SAAS,KAAK,EACtB,cAAc,SAAS,MAAM,EAC7B,cAAc,SAAS,KAAK,EAC5B,MAAM,SAAS,cAAc,GAAG,QAAQ,EAExC,MAAM,EAAE,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAC3F,QAAQ,EAAE,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAC7F,IAAI,EAAE,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EACzF,EACE,OAAO,EACP,OAAO,GACR,EAAE,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EACtF,QAAQ,EAAE,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAC7F,EACE,QAAQ,EACR,UAAe,GAChB,EAAE,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,6CAgJvF"}
package/dist/factory.js CHANGED
@@ -37,35 +37,34 @@ export default function factory(scopes, optional, tree, { plugins, parsers, }, s
37
37
  .filter(scope => defaults.files[scope].length !== 0)
38
38
  .filter(scope => defaults.rules[scope].length !== 0);
39
39
  return defineConfig({ plugins }, globalIgnores(defaults.ignores["*"] ?? []), enabledScopes
40
- .filter(scope => settings[scope] !== undefined)
41
40
  .map(scope => {
42
- const { languageOptions, parserOptions, processor, language, } = settings[scope];
43
- if (languageOptions?.parser !== undefined)
44
- languageOptions.parser = parsers[languageOptions.parser];
45
- if (parserOptions?.parser !== undefined)
46
- parserOptions.parser = parsers[parserOptions.parser];
47
- const definition = languageOptions === undefined
48
- ? parserOptions === undefined
49
- ? {}
50
- : {
51
- languageOptions: {
52
- parserOptions,
53
- },
54
- }
55
- : {
56
- languageOptions: parserOptions === undefined
57
- ? languageOptions
58
- : Object.assign(languageOptions, { parserOptions }),
59
- };
60
- if (processor !== undefined)
61
- definition.processor = processor;
62
- if (language !== undefined)
63
- definition.language = language;
41
+ const definition = {};
42
+ if (settings[scope] !== undefined) {
43
+ const { languageOptions, parserOptions, processor, language, } = settings[scope];
44
+ if (languageOptions?.parser !== undefined)
45
+ languageOptions.parser = parsers[languageOptions.parser];
46
+ if (parserOptions?.parser !== undefined)
47
+ parserOptions.parser = parsers[parserOptions.parser];
48
+ if (parserOptions === undefined) {
49
+ if (languageOptions !== undefined)
50
+ definition.languageOptions = languageOptions;
51
+ }
52
+ else if (languageOptions === undefined)
53
+ definition.languageOptions = {
54
+ parserOptions,
55
+ };
56
+ else
57
+ definition.languageOptions = Object.assign(languageOptions, { parserOptions });
58
+ if (processor !== undefined)
59
+ definition.processor = processor;
60
+ if (language !== undefined)
61
+ definition.language = language;
62
+ }
64
63
  return {
65
64
  files: defaults.files[scope],
66
65
  ignores: defaults.ignores[scope] ?? [],
67
66
  "extends": [
68
- definition,
67
+ Object.keys(definition).length === 0 ? [] : definition,
69
68
  defaults.rules[scope],
70
69
  ],
71
70
  };
@@ -1 +1 @@
1
- {"version":3,"file":"factory.js","sourceRoot":"","sources":["../src/factory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"factory.js","sourceRoot":"","sources":["../src/factory.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,aAAa,GACd,MAAM,wBAAwB,CAAC;AAIhC,MAAM,CAAC,OAAO,UAAU,OAAO,CAO7B,MAA2F,EAC3F,QAA6F,EAC7F,IAAyF,EACzF,EACE,OAAO,EACP,OAAO,GAC6E,EACtF,QAA6F,EAC7F,EACE,QAAQ,EACR,UAAU,GAAG,EAAE,GACqE;IAEtF,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,EAC9B,cAAc,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,EAClC,cAAc,GAAG,MAAM,CAAC,UAAU,CAAC,cAAc,CAAC,EAClD,cAAc,GAAG,IAAI,GAAG,CACtB,MAAM,CAAC,IAAI,CAAC,UAAU,CAAY,CACnC;SACE,YAAY,CAAC,MAAM,CAAC,EACvB,sBAAsB,GAAG,cAAc;SACpC,YAAY,CAAC,cAAc,CAAC,EAC/B,gBAAgB,GAAG,cAAc;SAC9B,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAEjC,KAAK,MAAM,KAAK,IAAI,sBAAsB,EAAE,CAAC;QAE3C,OAAO,CAAC,KAAK,CAAC,GAAG,UAAU,CAAC,KAAK,CAAE,CAAC,MAAkC,CAAC;QACvE,OAAO,CAAC,KAAK,CAAC,GAAG,UAAU,CAAC,KAAK,CAAE,CAAC,MAAkC,CAAC;IACzE,CAAC;IAED,KAAK,MAAM,KAAK,IAAI,cAAc,EAAE,CAAC;QACnC,MAAM,EACJ,CAAC,KAAK,CAAC,EAAE,EACP,KAAK,EACL,OAAO,EACP,KAAK,GACN,GAAG,EAAE,GACP,GAAG,UAAU,CAAC;QAEf,IAAI,KAAK,KAAK,SAAS;YACrB,KAAK,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,CAC7B,GAAG,KAAK,CACT,CAAC;QAEJ,IAAI,OAAO,KAAK,SAAS;YACvB,IAAI,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,SAAS;gBAEvC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC;;gBAElC,KAAK,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,CAC/B,GAAG,OAAO,CACX,CAAC;QAEN,IAAI,KAAK,KAAK,SAAS;YAErB,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CACnB,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAC7B,GAAG,EAAE,KAAK,EAAE,CAAC;IAClB,CAAC;IAED,KAAK,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,IAAI;QACjC,IACE,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC;eACxB,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC;YAErC,KAAK,MAAM,MAAM,IAAI,OAAO;gBAC1B,KAAK,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAC9B,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CACzB,CAAC;IAER,IAAI,UAAU,CAAC,GAAG,CAAC,KAAK,SAAS;QAC/B,IACE,UAAU,CAAC,GAAG,CAAC,CAAC,QAAQ,KAAK,IAAI;eAC9B,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,SAAS;YAEtC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC;aAEtD,IACE,UAAU,CAAC,GAAG,CAAC,CAAC,OAAO,KAAK,SAAS;eAClC,UAAU,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC;YAEvC,KAAK,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAC7B,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,OAAO,CAC3B,CAAC;IAER,MAAM,aAAa,GAAG,MAAM;SACzB,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;SAC5C,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC;SACnD,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC;IAEvD,OAAO,YAAY,CACjB,EAAE,OAAO,EAAE,EACX,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,EAC1C,aAAa;SACV,GAAG,CACF,KAAK,CAAC,EAAE;QACN,MAAM,UAAU,GASZ,EAAE,CAAC;QAEP,IAAI,QAAQ,CAAC,KAAK,CAAC,KAAK,SAAS,EAAE,CAAC;YAClC,MAAM,EACJ,eAAe,EACf,aAAa,EACb,SAAS,EACT,QAAQ,GACT,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;YAEpB,IAAI,eAAe,EAAE,MAAM,KAAK,SAAS;gBACvC,eAAe,CAAC,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,MAAM,CAAW,CAAC;YAErE,IAAI,aAAa,EAAE,MAAM,KAAK,SAAS;gBACrC,aAAa,CAAC,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAW,CAAC;YAEjE,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;gBAChC,IAAI,eAAe,KAAK,SAAS;oBAC/B,UAAU,CAAC,eAAe,GAAG,eAAe,CAAC;YACjD,CAAC;iBAGC,IAAI,eAAe,KAAK,SAAS;gBAE/B,UAAU,CAAC,eAAe,GAAG;oBAC3B,aAAa;iBACd,CAAC;;gBAGF,UAAU,CAAC,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC,eAAe,EAAE,EAAE,aAAa,EAAE,CAAC,CAAC;YAEnF,IAAI,SAAS,KAAK,SAAS;gBACxB,UAAwD,CAAC,SAAS,GAAG,SAAS,CAAC;YAElF,IAAI,QAAQ,KAAK,SAAS;gBACvB,UAAuD,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACjF,CAAC;QAED,OAAO;YACL,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC;YAC5B,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE;YACtC,SAAS,EAAE;gBACT,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU;gBACtD,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAyE;aAC9F;SACF,CAAC;IACJ,CAAC,CACF,CACJ,CAAC;AACJ,CAAC"}
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "$schema": "https://json.schemastore.org/package",
4
4
  "$help": "https://docs.npmjs.com/cli/configuring-npm/package-json",
5
5
  "name": "@eslinted/core",
6
- "version": "29.4.7",
6
+ "version": "29.4.8",
7
7
  "repository": "github:jimmy-zhening-luo/linted-core",
8
8
  "description": "Internal core for npm package `linted`, responsible for producing an array of fully-formed ESLint configurations according to `linted` spec.",
9
9
  "keywords": [],
package/src/factory.ts CHANGED
@@ -107,50 +107,60 @@ export default function factory<
107
107
  { plugins },
108
108
  globalIgnores(defaults.ignores["*"] ?? []),
109
109
  enabledScopes
110
- .filter(scope => settings[scope] !== undefined)
111
110
  .map(
112
111
  scope => {
113
- const {
114
- languageOptions,
115
- parserOptions,
116
- processor,
117
- language,
118
- } = settings[scope]!;
119
-
120
- if (languageOptions?.parser !== undefined)
121
- languageOptions.parser = parsers[languageOptions.parser] as Parser;
122
-
123
- if (parserOptions?.parser !== undefined)
124
- parserOptions.parser = parsers[parserOptions.parser] as Parser;
125
-
126
- const definition = languageOptions === undefined
127
- ? parserOptions === undefined
128
- ? {}
129
- : {
130
- languageOptions: {
131
- parserOptions,
132
- },
133
- }
134
- : {
135
- languageOptions: parserOptions === undefined
136
- ? languageOptions
137
- : Object.assign(
138
- languageOptions,
139
- { parserOptions },
140
- ),
112
+ const definition: {
113
+ languageOptions?: {
114
+ parserOptions?: {
115
+ parser?: Parser;
141
116
  };
142
-
143
- if (processor !== undefined)
144
- (definition as typeof definition & { processor: string }).processor = processor;
145
-
146
- if (language !== undefined)
147
- (definition as typeof definition & { language: string }).language = language;
117
+ parser?: Parser;
118
+ };
119
+ processor?: string;
120
+ language?: string;
121
+ } = {};
122
+
123
+ if (settings[scope] !== undefined) {
124
+ const {
125
+ languageOptions,
126
+ parserOptions,
127
+ processor,
128
+ language,
129
+ } = settings[scope];
130
+
131
+ if (languageOptions?.parser !== undefined)
132
+ languageOptions.parser = parsers[languageOptions.parser] as Parser;
133
+
134
+ if (parserOptions?.parser !== undefined)
135
+ parserOptions.parser = parsers[parserOptions.parser] as Parser;
136
+
137
+ if (parserOptions === undefined) {
138
+ if (languageOptions !== undefined)
139
+ definition.languageOptions = languageOptions;
140
+ }
141
+ else
142
+ // parser YES
143
+ if (languageOptions === undefined)
144
+ // language NO parser YES
145
+ definition.languageOptions = {
146
+ parserOptions,
147
+ };
148
+ else
149
+ // language YES parser YES
150
+ definition.languageOptions = Object.assign(languageOptions, { parserOptions });
151
+
152
+ if (processor !== undefined)
153
+ (definition as typeof definition & { processor: string }).processor = processor;
154
+
155
+ if (language !== undefined)
156
+ (definition as typeof definition & { language: string }).language = language;
157
+ }
148
158
 
149
159
  return {
150
160
  files: defaults.files[scope],
151
161
  ignores: defaults.ignores[scope] ?? [],
152
162
  "extends": [
153
- definition,
163
+ Object.keys(definition).length === 0 ? [] : definition,
154
164
  defaults.rules[scope] as MutableRuleConfigs<NonNullable<typeof defaults.rules[typeof scope]>>,
155
165
  ],
156
166
  };