@eslinted/core 29.0.0 → 29.0.3

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,3 +1,3 @@
1
1
  import type Core from "../index.js";
2
- export default function factory<Scope extends string, Optional extends Scope, RequiredPlugin extends string, RequiredParser extends Scope, Parser extends RequiredParser | Optional>(scopes: Parameters<typeof Core<Scope, Optional, RequiredPlugin, RequiredParser, Parser>>[0], optional: Parameters<typeof Core<Scope, Optional, RequiredPlugin, RequiredParser, Parser>>[1], tree: Parameters<typeof Core<Scope, Optional, RequiredPlugin, RequiredParser, Parser>>[2], { plugins, parsers, }: Parameters<typeof Core<Scope, Optional, RequiredPlugin, RequiredParser, Parser>>[3], settings: Parameters<typeof Core<Scope, Optional, RequiredPlugin, RequiredParser, Parser>>[4], { defaults, extensions, }: Parameters<typeof Core<Scope, Optional, RequiredPlugin, RequiredParser, Parser>>[5]): import("@eslint/config-helpers").Config[];
2
+ export default function factory<Scope extends string, Optional extends Scope, RequiredPlugin extends string, RequiredParser extends Scope, TPlugin extends RequiredPlugin | Optional, Parser extends RequiredParser | Optional>(scopes: Parameters<typeof Core<Scope, Optional, RequiredPlugin, RequiredParser, TPlugin, Parser>>[0], optional: Parameters<typeof Core<Scope, Optional, RequiredPlugin, RequiredParser, TPlugin, Parser>>[1], tree: Parameters<typeof Core<Scope, Optional, RequiredPlugin, RequiredParser, TPlugin, Parser>>[2], { plugins, parsers, }: Parameters<typeof Core<Scope, Optional, RequiredPlugin, RequiredParser, TPlugin, Parser>>[3], settings: Parameters<typeof Core<Scope, Optional, RequiredPlugin, RequiredParser, TPlugin, Parser>>[4], { defaults, extensions, }: Parameters<typeof Core<Scope, Optional, RequiredPlugin, RequiredParser, TPlugin, Parser>>[5]): import("@eslint/config-helpers").Config[];
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/factory/index.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,IAAI,MAAM,IAAI,CAAC;AAuB3B,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,6CAuNvF"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/factory/index.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,IAAI,MAAM,IAAI,CAAC;AAuB3B,MAAM,CAAC,OAAO,UAAU,OAAO,CAC7B,KAAK,SAAS,MAAM,EACpB,QAAQ,SAAS,KAAK,EACtB,cAAc,SAAS,MAAM,EAC7B,cAAc,SAAS,KAAK,EAC5B,OAAO,SAAS,cAAc,GAAG,QAAQ,EACzC,MAAM,SAAS,cAAc,GAAG,QAAQ,EAExC,MAAM,EAAE,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EACpG,QAAQ,EAAE,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EACtG,IAAI,EAAE,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAClG,EACE,OAAO,EACP,OAAO,GACR,EAAE,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAC/F,QAAQ,EAAE,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EACtG,EACE,QAAQ,EACR,UAAe,GAChB,EAAE,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,6CA0OhG"}
@@ -77,50 +77,57 @@ export default function factory(scopes, optional, tree, { plugins, parsers, }, s
77
77
  for (let i = 0; i < ignores.length; i++)
78
78
  defaultGlobals[L + i] = ignores[i];
79
79
  }
80
- return defineConfig({
81
- name: "plugins",
82
- plugins,
83
- }, globalIgnores(defaults.ignores["*"]), scopes.map(scope => {
84
- const { files: { [scope]: files }, ignores: { [scope]: ignores = [] }, rules: { [scope]: rules }, } = defaults;
85
- if (rules === undefined
86
- || files.length === 0
87
- || rules.length === 0
88
- || Optional.has(scope)
89
- && !(scope in parsers))
90
- return [];
91
- else {
92
- if (settings[scope] !== undefined) {
93
- const { languageOptions, parserOptions, processor, language, } = settings[scope];
94
- if (languageOptions?.parser !== undefined)
95
- languageOptions.parser = parsers[languageOptions.parser];
96
- if (parserOptions?.parser !== undefined)
97
- parserOptions.parser = parsers[parserOptions.parser];
98
- const definition = languageOptions === undefined
99
- ? parserOptions === undefined
100
- ? {}
101
- : {
102
- languageOptions: {
103
- parserOptions,
104
- },
105
- }
106
- : {
107
- languageOptions: parserOptions === undefined
108
- ? languageOptions
109
- : Object.assign(languageOptions, { parserOptions }),
110
- };
111
- if (processor !== undefined)
112
- Object.assign(definition, { processor });
113
- if (language !== undefined)
114
- Object.assign(definition, { language });
115
- rules[rules.length] = definition;
116
- }
117
- return {
118
- name: "scope/".concat(scope),
119
- files,
120
- ignores,
121
- "extends": [rules],
80
+ const activeScopes = scopes.filter(scope => defaults.rules[scope] !== undefined
81
+ && defaults.files[scope].length !== 0
82
+ && defaults.rules[scope].length !== 0
83
+ && (!Optional.has(scope)
84
+ || scope in parsers)), activeScopeSettings = activeScopes.filter(scope => settings[scope] !== undefined);
85
+ return defineConfig(globalIgnores(defaults.ignores["*"]), activeScopeSettings
86
+ .filter(scope => settings[scope].plugins !== undefined)
87
+ .map(scope => ({
88
+ files: defaults.files[scope],
89
+ ignores: defaults.ignores[scope] ?? [],
90
+ "extends": [
91
+ settings[scope].plugins.map(plugin => ({
92
+ plugins: {
93
+ [plugin]: plugins[plugin],
94
+ },
95
+ })),
96
+ ],
97
+ })), activeScopeSettings.map(scope => {
98
+ const { languageOptions, parserOptions, processor, language, } = settings[scope];
99
+ if (languageOptions?.parser !== undefined)
100
+ languageOptions.parser = parsers[languageOptions.parser];
101
+ if (parserOptions?.parser !== undefined)
102
+ parserOptions.parser = parsers[parserOptions.parser];
103
+ const definition = languageOptions === undefined
104
+ ? parserOptions === undefined
105
+ ? {}
106
+ : {
107
+ languageOptions: {
108
+ parserOptions,
109
+ },
110
+ }
111
+ : {
112
+ languageOptions: parserOptions === undefined
113
+ ? languageOptions
114
+ : Object.assign(languageOptions, { parserOptions }),
122
115
  };
123
- }
124
- }));
116
+ if (processor !== undefined)
117
+ Object.assign(definition, { processor });
118
+ if (language !== undefined)
119
+ Object.assign(definition, { language });
120
+ return {
121
+ name: "scope/".concat(scope, "/definition"),
122
+ files: defaults.files[scope],
123
+ ignores: defaults.ignores[scope] ?? [],
124
+ "extends": [definition],
125
+ };
126
+ }), activeScopes.map(scope => ({
127
+ name: "scope/".concat(scope),
128
+ files: defaults.files[scope],
129
+ ignores: defaults.ignores[scope] ?? [],
130
+ "extends": [defaults.rules[scope]],
131
+ })));
125
132
  }
126
133
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/factory/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/factory/index.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,9 +1,9 @@
1
1
  import type { Settings, Configuration } from "./interface/index.js";
2
- export default function <Scope extends string, Optional extends Scope, RequiredPlugin extends string, RequiredParser extends Scope, Parser extends RequiredParser | Optional>(scopes: readonly Scope[], optional: readonly Optional[], tree: Array<readonly [
2
+ export default function <Scope extends string, Optional extends Scope, RequiredPlugin extends string, RequiredParser extends Scope, Plugin extends RequiredPlugin | Optional, Parser extends RequiredParser | Optional>(scopes: readonly Scope[], optional: readonly Optional[], tree: Array<readonly [
3
3
  Scope,
4
4
  readonly Scope[]
5
5
  ]>, imports: {
6
6
  plugins: Record<RequiredPlugin, unknown> & Partial<Record<Optional, unknown>>;
7
7
  parsers: Record<RequiredParser, unknown> & Partial<Record<Optional, unknown>>;
8
- }, settings: Settings<Scope, Parser>, configuration: Configuration<Scope, Optional>): import("@eslint/config-helpers").Config[];
8
+ }, settings: Settings<Scope, Plugin, Parser>, configuration: Configuration<Scope, Optional>): import("@eslint/config-helpers").Config[];
9
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,QAAQ,EACR,aAAa,EACd,MAAM,aAAa,CAAC;AAGrB,MAAM,CAAC,OAAO,WACZ,KAAK,SAAS,MAAM,EACpB,QAAQ,SAAS,KAAK,EACtB,cAAc,SAAS,MAAM,EAC7B,cAAc,SAAS,KAAK,EAC5B,MAAM,SAAS,cAAc,GAAG,QAAQ,EAExC,MAAM,EAAE,SAAS,KAAK,EAAE,EACxB,QAAQ,EAAE,SAAS,QAAQ,EAAE,EAC7B,IAAI,EAAE,KAAK,CACT,SAAS,CAAC,KAAK,EAAE,SAAS,KAAK,EAAE,CAAC,CACnC,EACD,OAAO,EAAE;IACP,OAAO,EACH,MAAM,CAAC,cAAc,EAAE,OAAO,CAAC,GAC/B,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;IACvC,OAAO,EACH,MAAM,CAAC,cAAc,EAAE,OAAO,CAAC,GAC/B,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;CACxC,EACD,QAAQ,EAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,EACjC,aAAa,EAAE,aAAa,CAAC,KAAK,EAAE,QAAQ,CAAC,6CAU9C"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,QAAQ,EACR,aAAa,EACd,MAAM,aAAa,CAAC;AAGrB,MAAM,CAAC,OAAO,WACZ,KAAK,SAAS,MAAM,EACpB,QAAQ,SAAS,KAAK,EACtB,cAAc,SAAS,MAAM,EAC7B,cAAc,SAAS,KAAK,EAC5B,MAAM,SAAS,cAAc,GAAG,QAAQ,EACxC,MAAM,SAAS,cAAc,GAAG,QAAQ,EAExC,MAAM,EAAE,SAAS,KAAK,EAAE,EACxB,QAAQ,EAAE,SAAS,QAAQ,EAAE,EAC7B,IAAI,EAAE,KAAK,CACT,SAAS,CAAC,KAAK,EAAE,SAAS,KAAK,EAAE,CAAC,CACnC,EACD,OAAO,EAAE;IACP,OAAO,EACH,MAAM,CAAC,cAAc,EAAE,OAAO,CAAC,GAC/B,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;IACvC,OAAO,EACH,MAAM,CAAC,cAAc,EAAE,OAAO,CAAC,GAC/B,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;CACxC,EACD,QAAQ,EAAE,QAAQ,CAChB,KAAK,EACL,MAAM,EACN,MAAM,CACP,EACD,aAAa,EAAE,aAAa,CAAC,KAAK,EAAE,QAAQ,CAAC,6CAU9C"}
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,OAAO,MAAM,WAAW,CAAC;AAEhC,MAAM,CAAC,OAAO,WAOZ,MAAwB,EACxB,QAA6B,EAC7B,IAEC,EACD,OAOC,EACD,QAAiC,EACjC,aAA6C;IAE7C,OAAO,OAAO,CACZ,MAAM,EACN,QAAQ,EACR,IAAI,EACJ,OAAO,EACP,QAAQ,EACR,aAAa,CACd,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,OAAO,MAAM,WAAW,CAAC;AAEhC,MAAM,CAAC,OAAO,WAQZ,MAAwB,EACxB,QAA6B,EAC7B,IAEC,EACD,OAOC,EACD,QAIC,EACD,aAA6C;IAE7C,OAAO,OAAO,CACZ,MAAM,EACN,QAAQ,EACR,IAAI,EACJ,OAAO,EACP,QAAQ,EACR,aAAa,CACd,CAAC;AACJ,CAAC"}
@@ -32,16 +32,5 @@ describe("Core", function () {
32
32
  && typeof config.name === "string"));
33
33
  });
34
34
  });
35
- describe("configs", function () {
36
- it("has plugins", function () {
37
- configs
38
- .should
39
- .satisfy((configs) => configs
40
- .some(config => typeof config === "object"
41
- && config !== null
42
- && "plugins" in config
43
- && typeof config.plugins === "object"));
44
- });
45
- });
46
35
  });
47
36
  //# sourceMappingURL=index.spec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.spec.js","sourceRoot":"","sources":["../src/index.spec.ts"],"names":[],"mappings":"AAAA,OAAO,yBAAyB,CAAC;AACjC,OAAO,IAAI,MAAM,GAAG,CAAC;AACrB,OAAO,EACL,MAAM,EACN,QAAQ,EACR,IAAI,EACJ,OAAO,EACP,QAAQ,EACR,aAAa,GACd,MAAM,oBAAoB,CAAC;AAE5B,MAAM,OAAO,GAAG,IAAI,CAClB,MAAM,EACN,QAAQ,EACR,IAAI,EACJ,OAAO,EACP,QAAQ,EACR,aAAa,CACd,CAAC;AAEF,QAAQ,CACN,MAAM,EACN;IACE,QAAQ,CACN,OAAO,EACP;QACE,EAAE,CACA,eAAe,EACf;YACE,IAAI;iBACD,MAAM,CAAC,EAAE;iBACT,CAAC,CAAC,UAAU,CAAC,CAAC;QACnB,CAAC,CACF,CAAC;IACJ,CAAC,CACF,CAAC;IACF,QAAQ,CACN,QAAQ,EACR;QACE,EAAE,CACA,sBAAsB,EACtB;YACE,OAAO;iBACJ,MAAM,CAAC,EAAE;iBACT,EAAE,CAAC,OAAO,CAAC;iBACX,GAAG,CAAC,KAAK,CAAC;QACf,CAAC,CACF,CAAC;QACF,EAAE,CACA,+BAA+B,MAAM,CAAC,MAAM,aAAa,MAAM,CAAC,MAAM,GAAG,CAAC,cAAc,OAAO,CAAC,MAAM,GAAG,EACzG;YACE,OAAO;iBACJ,MAAM,CAAC,IAAI;iBACX,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACvC,CAAC,CACF,CAAC;QACF,EAAE,CACA,qCAAqC,EACrC;YACE,OAAO;iBACJ,MAAM;iBACN,OAAO,CACN,CAAC,OAAkB,EAAE,EAAE,CAAC,OAAO;iBAC5B,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,MAAM,KAAK,QAAQ;mBACtC,MAAM,KAAK,IAAI;mBACf,MAAM,IAAI,MAAM;mBAChB,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAC,CACxC,CAAC;QACN,CAAC,CACF,CAAC;IACJ,CAAC,CACF,CAAC;IACF,QAAQ,CACN,SAAS,EACT;QACE,EAAE,CACA,aAAa,EACb;YACE,OAAO;iBACJ,MAAM;iBACN,OAAO,CACN,CAAC,OAAkB,EAAE,EAAE,CAAC,OAAO;iBAC5B,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,MAAM,KAAK,QAAQ;mBACrC,MAAM,KAAK,IAAI;mBACf,SAAS,IAAI,MAAM;mBACnB,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,CAAC,CAC3C,CAAC;QACN,CAAC,CACF,CAAC;IACJ,CAAC,CACF,CAAC;AACJ,CAAC,CACF,CAAC"}
1
+ {"version":3,"file":"index.spec.js","sourceRoot":"","sources":["../src/index.spec.ts"],"names":[],"mappings":"AAAA,OAAO,yBAAyB,CAAC;AACjC,OAAO,IAAI,MAAM,GAAG,CAAC;AACrB,OAAO,EACL,MAAM,EACN,QAAQ,EACR,IAAI,EACJ,OAAO,EACP,QAAQ,EACR,aAAa,GACd,MAAM,oBAAoB,CAAC;AAE5B,MAAM,OAAO,GAAG,IAAI,CAClB,MAAM,EACN,QAAQ,EACR,IAAI,EACJ,OAAO,EACP,QAAQ,EACR,aAAa,CACd,CAAC;AAEF,QAAQ,CACN,MAAM,EACN;IACE,QAAQ,CACN,OAAO,EACP;QACE,EAAE,CACA,eAAe,EACf;YACE,IAAI;iBACD,MAAM,CAAC,EAAE;iBACT,CAAC,CAAC,UAAU,CAAC,CAAC;QACnB,CAAC,CACF,CAAC;IACJ,CAAC,CACF,CAAC;IACF,QAAQ,CACN,QAAQ,EACR;QACE,EAAE,CACA,sBAAsB,EACtB;YACE,OAAO;iBACJ,MAAM,CAAC,EAAE;iBACT,EAAE,CAAC,OAAO,CAAC;iBACX,GAAG,CAAC,KAAK,CAAC;QACf,CAAC,CACF,CAAC;QACF,EAAE,CACA,+BAA+B,MAAM,CAAC,MAAM,aAAa,MAAM,CAAC,MAAM,GAAG,CAAC,cAAc,OAAO,CAAC,MAAM,GAAG,EACzG;YACE,OAAO;iBACJ,MAAM,CAAC,IAAI;iBACX,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACvC,CAAC,CACF,CAAC;QACF,EAAE,CACA,qCAAqC,EACrC;YACE,OAAO;iBACJ,MAAM;iBACN,OAAO,CACN,CAAC,OAAkB,EAAE,EAAE,CAAC,OAAO;iBAC5B,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,MAAM,KAAK,QAAQ;mBACtC,MAAM,KAAK,IAAI;mBACf,MAAM,IAAI,MAAM;mBAChB,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAC,CACxC,CAAC;QACN,CAAC,CACF,CAAC;IACJ,CAAC,CACF,CAAC;AACJ,CAAC,CACF,CAAC"}
@@ -1,3 +1,3 @@
1
1
  import type { ScopeManifest } from "./manifest.js";
2
- export type Settings<Scope extends string, Parser extends Scope> = Partial<Record<Scope, ScopeManifest<Parser>>>;
2
+ export type Settings<Scope extends string, Plugin extends string, Parser extends Scope> = Partial<Record<Scope, ScopeManifest<Plugin, Parser>>>;
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/interface/settings/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,MAAM,MAAM,QAAQ,CAClB,KAAK,SAAS,MAAM,EACpB,MAAM,SAAS,KAAK,IAClB,OAAO,CACT,MAAM,CACJ,KAAK,EACL,aAAa,CAAC,MAAM,CAAC,CACtB,CACF,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/interface/settings/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,MAAM,MAAM,QAAQ,CAClB,KAAK,SAAS,MAAM,EACpB,MAAM,SAAS,MAAM,EACrB,MAAM,SAAS,KAAK,IAClB,OAAO,CACT,MAAM,CACJ,KAAK,EACL,aAAa,CACX,MAAM,EACN,MAAM,CACP,CACF,CACF,CAAC"}
@@ -1,4 +1,5 @@
1
- export interface ScopeManifest<Parser extends string> {
1
+ export interface ScopeManifest<Plugin extends string, Parser extends string> {
2
+ plugins?: readonly Plugin[];
2
3
  languageOptions?: {
3
4
  [property: string]: unknown;
4
5
  parser?: Parser;
@@ -1 +1 @@
1
- {"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../../../src/interface/settings/manifest.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,aAAa,CAAC,MAAM,SAAS,MAAM;IAClD,eAAe,CAAC,EAAE;QAChB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;QAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,aAAa,CAAC,EAAE;QACd,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;QAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB"}
1
+ {"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../../../src/interface/settings/manifest.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,aAAa,CAC5B,MAAM,SAAS,MAAM,EACrB,MAAM,SAAS,MAAM;IAErB,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5B,eAAe,CAAC,EAAE;QAChB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;QAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,aAAa,CAAC,EAAE;QACd,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;QAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB"}
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.0.0",
6
+ "version": "29.0.3",
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": [],
@@ -1,6 +1,7 @@
1
1
  import {
2
2
  defineConfig,
3
3
  globalIgnores,
4
+ type Plugin,
4
5
  type RuleConfig,
5
6
  } from "@eslint/config-helpers";
6
7
  import type Core from "..";
@@ -31,20 +32,21 @@ export default function factory<
31
32
  Optional extends Scope,
32
33
  RequiredPlugin extends string,
33
34
  RequiredParser extends Scope,
35
+ TPlugin extends RequiredPlugin | Optional,
34
36
  Parser extends RequiredParser | Optional,
35
37
  >(
36
- scopes: Parameters<typeof Core<Scope, Optional, RequiredPlugin, RequiredParser, Parser>>[0],
37
- optional: Parameters<typeof Core<Scope, Optional, RequiredPlugin, RequiredParser, Parser>>[1],
38
- tree: Parameters<typeof Core<Scope, Optional, RequiredPlugin, RequiredParser, Parser>>[2],
38
+ scopes: Parameters<typeof Core<Scope, Optional, RequiredPlugin, RequiredParser, TPlugin, Parser>>[0],
39
+ optional: Parameters<typeof Core<Scope, Optional, RequiredPlugin, RequiredParser, TPlugin, Parser>>[1],
40
+ tree: Parameters<typeof Core<Scope, Optional, RequiredPlugin, RequiredParser, TPlugin, Parser>>[2],
39
41
  {
40
42
  plugins,
41
43
  parsers,
42
- }: Parameters<typeof Core<Scope, Optional, RequiredPlugin, RequiredParser, Parser>>[3],
43
- settings: Parameters<typeof Core<Scope, Optional, RequiredPlugin, RequiredParser, Parser>>[4],
44
+ }: Parameters<typeof Core<Scope, Optional, RequiredPlugin, RequiredParser, TPlugin, Parser>>[3],
45
+ settings: Parameters<typeof Core<Scope, Optional, RequiredPlugin, RequiredParser, TPlugin, Parser>>[4],
44
46
  {
45
47
  defaults,
46
48
  extensions = {},
47
- }: Parameters<typeof Core<Scope, Optional, RequiredPlugin, RequiredParser, Parser>>[5],
49
+ }: Parameters<typeof Core<Scope, Optional, RequiredPlugin, RequiredParser, TPlugin, Parser>>[5],
48
50
  ) {
49
51
  for (const scope of optional)
50
52
  if (extensions[scope] !== undefined) {
@@ -180,83 +182,102 @@ export default function factory<
180
182
  defaultGlobals[L + i] = ignores[i]!;
181
183
  }
182
184
 
185
+ const activeScopes = scopes.filter(
186
+ scope => defaults.rules[scope] !== undefined
187
+ && defaults.files[scope].length !== 0
188
+ && defaults.rules[scope].length !== 0
189
+ && (
190
+ !Optional.has(scope)
191
+ || scope in parsers
192
+ ),
193
+ ),
194
+ activeScopeSettings = activeScopes.filter(
195
+ scope => settings[scope] !== undefined,
196
+ );
197
+
183
198
  return defineConfig(
184
- {
185
- name: "plugins",
186
- plugins,
187
- },
188
199
  globalIgnores(defaults.ignores["*"]),
189
- scopes.map(
200
+ activeScopeSettings
201
+ .filter(
202
+ scope => settings[scope]!.plugins !== undefined,
203
+ )
204
+ .map(
205
+ scope => ({
206
+ files: defaults.files[scope],
207
+ ignores: defaults.ignores[scope] ?? [],
208
+ "extends": [
209
+ settings[scope]!.plugins!.map(
210
+ plugin => ({
211
+ plugins: {
212
+ [plugin]: plugins[plugin] as Plugin,
213
+ },
214
+ }),
215
+ ),
216
+ ],
217
+ }),
218
+ ),
219
+ activeScopeSettings.map(
190
220
  scope => {
191
221
  const {
192
- files: { [scope]: files },
193
- ignores: { [scope]: ignores = [] },
194
- rules: { [scope]: rules },
195
- } = defaults;
196
-
197
- if (
198
- rules === undefined
199
- || files.length === 0
200
- || rules.length === 0
201
- || Optional.has(scope)
202
- && !(scope in parsers)
203
- )
204
- return [];
205
- else {
206
- if (settings[scope] !== undefined) {
207
- const {
208
- languageOptions,
209
- parserOptions,
210
- processor,
211
- language,
212
- } = settings[scope];
222
+ languageOptions,
223
+ parserOptions,
224
+ processor,
225
+ language,
226
+ } = settings[scope]!;
213
227
 
214
- if (languageOptions?.parser !== undefined)
215
- languageOptions.parser = parsers[languageOptions.parser] as Parser;
228
+ if (languageOptions?.parser !== undefined)
229
+ languageOptions.parser = parsers[languageOptions.parser] as Parser;
216
230
 
217
- if (parserOptions?.parser !== undefined)
218
- parserOptions.parser = parsers[parserOptions.parser] as Parser;
231
+ if (parserOptions?.parser !== undefined)
232
+ parserOptions.parser = parsers[parserOptions.parser] as Parser;
219
233
 
220
- const definition = languageOptions === undefined
221
- ? parserOptions === undefined
222
- ? {}
223
- : {
224
- languageOptions: {
225
- parserOptions,
226
- },
227
- }
228
- : {
229
- languageOptions: parserOptions === undefined
230
- ? languageOptions
231
- : Object.assign(
232
- languageOptions,
233
- { parserOptions },
234
- ),
235
- };
236
-
237
- if (processor !== undefined)
238
- Object.assign(
239
- definition,
240
- { processor },
241
- );
234
+ const definition = languageOptions === undefined
235
+ ? parserOptions === undefined
236
+ ? {}
237
+ : {
238
+ languageOptions: {
239
+ parserOptions,
240
+ },
241
+ }
242
+ : {
243
+ languageOptions: parserOptions === undefined
244
+ ? languageOptions
245
+ : Object.assign(
246
+ languageOptions,
247
+ { parserOptions },
248
+ ),
249
+ };
242
250
 
243
- if (language !== undefined)
244
- Object.assign(
245
- definition,
246
- { language },
247
- );
251
+ if (processor !== undefined)
252
+ Object.assign(
253
+ definition,
254
+ { processor },
255
+ );
248
256
 
249
- (rules as unknown[])[rules.length] = definition;
250
- }
257
+ if (language !== undefined)
258
+ Object.assign(
259
+ definition,
260
+ { language },
261
+ );
251
262
 
252
- return {
253
- name: "scope/".concat(scope),
254
- files,
255
- ignores,
256
- "extends": [rules as MutableRules<typeof rules>],
257
- };
258
- }
263
+ return {
264
+ name: "scope/".concat(
265
+ scope,
266
+ "/definition",
267
+ ),
268
+ files: defaults.files[scope],
269
+ ignores: defaults.ignores[scope] ?? [],
270
+ "extends": [definition],
271
+ };
259
272
  },
260
273
  ),
274
+ activeScopes.map(
275
+ scope => ({
276
+ name: "scope/".concat(scope),
277
+ files: defaults.files[scope],
278
+ ignores: defaults.ignores[scope] ?? [],
279
+ "extends": [defaults.rules[scope] as MutableRules<NonNullable<typeof defaults.rules[typeof scope]>>],
280
+ }),
281
+ ),
261
282
  );
262
283
  }
package/src/index.spec.ts CHANGED
@@ -70,24 +70,5 @@ describe(
70
70
  );
71
71
  },
72
72
  );
73
- describe(
74
- "configs",
75
- function () {
76
- it(
77
- "has plugins",
78
- function () {
79
- configs
80
- .should
81
- .satisfy(
82
- (configs: unknown[]) => configs
83
- .some(config => typeof config === "object"
84
- && config !== null
85
- && "plugins" in config
86
- && typeof config.plugins === "object"),
87
- );
88
- },
89
- );
90
- },
91
- );
92
73
  },
93
74
  );
package/src/index.ts CHANGED
@@ -9,6 +9,7 @@ export default function<
9
9
  Optional extends Scope,
10
10
  RequiredPlugin extends string,
11
11
  RequiredParser extends Scope,
12
+ Plugin extends RequiredPlugin | Optional,
12
13
  Parser extends RequiredParser | Optional,
13
14
  >(
14
15
  scopes: readonly Scope[],
@@ -24,7 +25,11 @@ export default function<
24
25
  & Record<RequiredParser, unknown>
25
26
  & Partial<Record<Optional, unknown>>;
26
27
  },
27
- settings: Settings<Scope, Parser>,
28
+ settings: Settings<
29
+ Scope,
30
+ Plugin,
31
+ Parser
32
+ >,
28
33
  configuration: Configuration<Scope, Optional>,
29
34
  ) {
30
35
  return factory(
@@ -2,10 +2,14 @@ import type { ScopeManifest } from "./manifest";
2
2
 
3
3
  export type Settings<
4
4
  Scope extends string,
5
+ Plugin extends string,
5
6
  Parser extends Scope,
6
7
  > = Partial<
7
8
  Record<
8
9
  Scope,
9
- ScopeManifest<Parser>
10
+ ScopeManifest<
11
+ Plugin,
12
+ Parser
13
+ >
10
14
  >
11
15
  >;
@@ -1,4 +1,8 @@
1
- export interface ScopeManifest<Parser extends string> {
1
+ export interface ScopeManifest<
2
+ Plugin extends string,
3
+ Parser extends string,
4
+ > {
5
+ plugins?: readonly Plugin[];
2
6
  languageOptions?: {
3
7
  [property: string]: unknown;
4
8
  parser?: Parser;