@eslinted/core 29.0.0-rc.0 → 29.0.0-rc.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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]): unknown[];
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[];
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/factory/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,IAAI,CAAC;AAE3B,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,aAyQvF"}
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,6CA6NvF"}
@@ -1,3 +1,4 @@
1
+ import { defineConfig, globalIgnores, } from "@eslint/config-helpers";
1
2
  export default function factory(scopes, optional, tree, { plugins, parsers, }, settings, { defaults, extensions = {}, }) {
2
3
  for (const scope of optional)
3
4
  if (extensions[scope] !== undefined) {
@@ -83,71 +84,46 @@ export default function factory(scopes, optional, tree, { plugins, parsers, }, s
83
84
  for (let i = 0; i < ignores.length; i++)
84
85
  defaultGlobals[L + i] = ignores[i];
85
86
  }
86
- const configs = scopes.flatMap(scope => {
87
+ return defineConfig({
88
+ name: "plugins",
89
+ plugins,
90
+ }, globalIgnores(defaults.ignores["*"]), scopes.map(scope => {
87
91
  const { files: { [scope]: files }, ignores: { [scope]: ignores = [] }, rules: { [scope]: rules }, } = defaults;
88
- if (files === undefined
89
- || rules === undefined
92
+ if (rules === undefined
90
93
  || files.length === 0
91
94
  || rules.length === 0
92
95
  || Optional.has(scope)
93
96
  && !(scope in parsers))
94
97
  return [];
95
98
  else {
96
- const R = rules.length;
97
- for (let i = 0; i < R; ++i)
98
- Object.assign(rules[i], {
99
- files,
100
- ignores,
101
- });
102
99
  if (settings[scope] !== undefined) {
103
- const { languageOptions, parserOptions, processor, language, } = settings[scope], manifest = {
104
- name: "linted/".concat(scope),
105
- files,
106
- ignores,
107
- };
100
+ const { languageOptions, parserOptions, processor, language, } = settings[scope];
108
101
  if (languageOptions?.parser !== undefined)
109
102
  languageOptions.parser = parsers[languageOptions.parser];
110
103
  if (parserOptions?.parser !== undefined)
111
104
  parserOptions.parser = parsers[parserOptions.parser];
112
- if (languageOptions === undefined) {
113
- if (parserOptions !== undefined
114
- && Object.keys(parserOptions).length !== 0)
115
- Object.assign(manifest, {
105
+ const definition = languageOptions === undefined
106
+ ? parserOptions === undefined
107
+ ? {}
108
+ : {
116
109
  languageOptions: {
117
110
  parserOptions,
118
111
  },
119
- });
120
- }
121
- else {
122
- if (parserOptions !== undefined
123
- && Object.keys(parserOptions).length !== 0)
124
- Object.assign(languageOptions, { parserOptions });
125
- if (Object.keys(languageOptions).length !== 0)
126
- Object.assign(manifest, { languageOptions });
127
- }
112
+ }
113
+ : { languageOptions };
128
114
  if (processor !== undefined)
129
- Object.assign(manifest, { processor });
115
+ Object.assign(definition, { processor });
130
116
  if (language !== undefined)
131
- Object.assign(manifest, { language });
132
- rules[rules.length] = manifest;
117
+ Object.assign(definition, { language });
118
+ rules[rules.length] = definition;
133
119
  }
134
- return rules;
120
+ return {
121
+ name: "scope/".concat(scope),
122
+ files,
123
+ ignores,
124
+ "extends": [rules],
125
+ };
135
126
  }
136
- });
137
- if (configs.length === 0)
138
- return [];
139
- else {
140
- const { length } = configs;
141
- configs.length += 2;
142
- configs[length] = {
143
- name: "linted/*/ignores",
144
- ignores: defaults.ignores["*"],
145
- };
146
- configs[length + 1] = {
147
- name: "linted/*/plugins",
148
- plugins,
149
- };
150
- return configs;
151
- }
127
+ }));
152
128
  }
153
129
  //# 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
@@ -5,5 +5,5 @@ export default function <Scope extends string, Optional extends Scope, RequiredP
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>): unknown[];
8
+ }, settings: Settings<Scope, 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,aAU9C"}
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"}
@@ -33,15 +33,14 @@ describe("Core", function () {
33
33
  });
34
34
  });
35
35
  describe("configs", function () {
36
- const global = configs.at(-2);
37
- it("ends with global ignores and plugins", function () {
38
- global
39
- .should.have
40
- .property("name", "linted/*/ignores");
41
- global
42
- .should.have
43
- .property("ignores")
44
- .an("array");
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"));
45
44
  });
46
45
  });
47
46
  });
@@ -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,CAAC,CAAC,OAAkB,EAAE,EAAE,CAAC,OAAO;iBACrC,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,CAAC,CAAC;QAC7C,CAAC,CACF,CAAC;IACJ,CAAC,CACF,CAAC;IACF,QAAQ,CACN,SAAS,EACT;QACE,MAAM,MAAM,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAqB,CAAC;QAElD,EAAE,CACA,sCAAsC,EACtC;YACE,MAAM;iBACH,MAAM,CAAC,IAAI;iBACX,QAAQ,CACP,MAAM,EACN,kBAAkB,CACnB,CAAC;YACJ,MAAM;iBACH,MAAM,CAAC,IAAI;iBACX,QAAQ,CAAC,SAAS,CAAC;iBACnB,EAAE,CAAC,OAAO,CAAC,CAAC;QACjB,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;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,10 +1,10 @@
1
- import type { Rules } from "../../rules.js";
1
+ import type { RuleConfig } from "@eslint/config-helpers";
2
2
  export interface Defaults<Scope extends string> {
3
- files: Partial<Record<Scope, string[]>>;
3
+ files: Record<Scope, string[]>;
4
4
  ignores: Record<"*", string[]> & Partial<Record<Scope, string[]>>;
5
- rules: Partial<Record<Scope, {
5
+ rules: Partial<Record<Scope, Array<{
6
6
  name: string;
7
- rules: Rules;
8
- }[]>>;
7
+ rules: Record<string, Readonly<RuleConfig>>;
8
+ }>>>;
9
9
  }
10
- //# sourceMappingURL=index.d.ts.map
10
+ //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/interface/configuration/defaults/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEzC,MAAM,WAAW,QAAQ,CAAC,KAAK,SAAS,MAAM;IAC5C,KAAK,EAAE,OAAO,CACZ,MAAM,CACJ,KAAK,EACL,MAAM,EAAE,CACT,CACF,CAAC;IACF,OAAO,EACH,MAAM,CACN,GAAG,EACH,MAAM,EAAE,CACT,GACC,OAAO,CACP,MAAM,CACJ,KAAK,EACL,MAAM,EAAE,CACT,CACF,CAAC;IACJ,KAAK,EAAE,OAAO,CACZ,MAAM,CACJ,KAAK,EACL;QACE,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,KAAK,CAAC;KACd,EAAE,CACJ,CACF,CAAC;CACH"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/interface/configuration/defaults/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEzD,MAAM,WAAW,QAAQ,CAAC,KAAK,SAAS,MAAM;IAC5C,KAAK,EAAE,MAAM,CACX,KAAK,EACL,MAAM,EAAE,CACT,CAAC;IACF,OAAO,EACH,MAAM,CACN,GAAG,EACH,MAAM,EAAE,CACT,GACC,OAAO,CACP,MAAM,CACJ,KAAK,EACL,MAAM,EAAE,CACT,CACF,CAAC;IACJ,KAAK,EAAE,OAAO,CACZ,MAAM,CACJ,KAAK,EACL,KAAK,CACH;QACE,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CACX,MAAM,EACN,QAAQ,CAAC,UAAU,CAAC,CACrB,CAAC;KACH,CACF,CACF,CACF,CAAC;CACH"}
@@ -1,10 +1,10 @@
1
- import type { Rules } from "../../rules.js";
1
+ import type { RuleConfig } from "@eslint/config-helpers";
2
2
  export type ScopeExtensions<Scope extends string, Optional extends Scope> = Record<Scope, {
3
3
  files?: string[];
4
4
  ignores?: string[];
5
- rules?: Rules;
5
+ rules?: Record<string, Readonly<RuleConfig>>;
6
6
  }> & Record<Optional, {
7
7
  plugin: unknown;
8
8
  parser: unknown;
9
9
  }>;
10
- //# sourceMappingURL=scopes.d.ts.map
10
+ //# sourceMappingURL=scopes.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"scopes.d.ts","sourceRoot":"","sources":["../../../../src/interface/configuration/extensions/scopes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEzC,MAAM,MAAM,eAAe,CACzB,KAAK,SAAS,MAAM,EACpB,QAAQ,SAAS,KAAK,IAEpB,MAAM,CACR,KAAK,EACL;IACE,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC;CACf,CACF,GACC,MAAM,CACN,QAAQ,EACR;IACE,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;CACjB,CACF,CAAC"}
1
+ {"version":3,"file":"scopes.d.ts","sourceRoot":"","sources":["../../../../src/interface/configuration/extensions/scopes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEzD,MAAM,MAAM,eAAe,CACzB,KAAK,SAAS,MAAM,EACpB,QAAQ,SAAS,KAAK,IAEpB,MAAM,CACR,KAAK,EACL;IACE,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CACZ,MAAM,EACN,QAAQ,CAAC,UAAU,CAAC,CACrB,CAAC;CACH,CACF,GACC,MAAM,CACN,QAAQ,EACR;IACE,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;CACjB,CACF,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.0.0-rc.0",
6
+ "version": "29.0.0-rc.2",
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": [],
@@ -16,6 +16,9 @@
16
16
  },
17
17
  "type": "module",
18
18
  "peerDependenciesMeta": {},
19
+ "dependencies": {
20
+ "@eslint/config-helpers": "^0.4.1"
21
+ },
19
22
  "devDependencies": {
20
23
  "@types/chai": "^5.2.2",
21
24
  "@types/mocha": "^10.0.10",
@@ -1,5 +1,31 @@
1
+ import {
2
+ defineConfig,
3
+ globalIgnores,
4
+ type RuleConfig,
5
+ } from "@eslint/config-helpers";
1
6
  import type Core from "..";
2
7
 
8
+ type MutableRules<RuleArray> = RuleArray extends Array<
9
+ infer Rules extends {
10
+ name: string;
11
+ rules: Record<
12
+ string,
13
+ Readonly<RuleConfig>
14
+ >;
15
+ }
16
+ >
17
+ ? {
18
+ name: Rules["name"];
19
+ rules: {
20
+ [Rule in keyof Rules["rules"]]: Mutable<Rules["rules"][Rule
21
+ ]>
22
+ };
23
+ }[]
24
+ : RuleArray;
25
+ type Mutable<V> = V extends object
26
+ ? { -readonly [I in keyof V]: V[I] }
27
+ : V;
28
+
3
29
  export default function factory<
4
30
  Scope extends string,
5
31
  Optional extends Scope,
@@ -167,120 +193,76 @@ export default function factory<
167
193
  defaultGlobals[L + i] = ignores[i]!;
168
194
  }
169
195
 
170
- const configs: unknown[] = scopes.flatMap(
171
- scope => {
172
- const {
173
- files: { [scope]: files },
174
- ignores: { [scope]: ignores = [] },
175
- rules: { [scope]: rules },
176
- } = defaults;
177
-
178
- if (
179
- files === undefined
180
- || rules === undefined
181
- || files.length === 0
182
- || rules.length === 0
183
- || Optional.has(scope)
184
- && !(scope in parsers)
185
- )
186
- return [];
187
- else {
188
- const R = rules.length;
189
-
190
- for (let i = 0; i < R; ++i)
191
- Object.assign(
192
- rules[i]!,
193
- {
194
- files,
195
- ignores,
196
- },
197
- );
198
-
199
- if (settings[scope] !== undefined) {
200
- const {
201
- languageOptions,
202
- parserOptions,
203
- processor,
204
- language,
205
- } = settings[scope],
206
- manifest = {
207
- name: "linted/".concat(scope),
208
- files,
209
- ignores,
210
- };
211
-
212
- if (languageOptions?.parser !== undefined)
213
- languageOptions.parser = parsers[languageOptions.parser] as Parser;
214
-
215
- if (parserOptions?.parser !== undefined)
216
- parserOptions.parser = parsers[parserOptions.parser] as Parser;
217
-
218
- if (languageOptions === undefined) {
219
- if (
220
- parserOptions !== undefined
221
- && Object.keys(parserOptions).length !== 0
222
- )
223
- Object.assign(
224
- manifest,
225
- {
226
- languageOptions: {
227
- parserOptions,
228
- },
229
- },
230
- );
231
- }
232
- else {
233
- if (
234
- parserOptions !== undefined
235
- && Object.keys(parserOptions).length !== 0
236
- )
196
+ return defineConfig(
197
+ {
198
+ name: "plugins",
199
+ plugins,
200
+ },
201
+ globalIgnores(defaults.ignores["*"]),
202
+ scopes.map(
203
+ scope => {
204
+ const {
205
+ files: { [scope]: files },
206
+ ignores: { [scope]: ignores = [] },
207
+ rules: { [scope]: rules },
208
+ } = defaults;
209
+
210
+ if (
211
+ rules === undefined
212
+ || files.length === 0
213
+ || rules.length === 0
214
+ || Optional.has(scope)
215
+ && !(scope in parsers)
216
+ )
217
+ return [];
218
+ else {
219
+ if (settings[scope] !== undefined) {
220
+ const {
221
+ languageOptions,
222
+ parserOptions,
223
+ processor,
224
+ language,
225
+ } = settings[scope];
226
+
227
+ if (languageOptions?.parser !== undefined)
228
+ languageOptions.parser = parsers[languageOptions.parser] as Parser;
229
+
230
+ if (parserOptions?.parser !== undefined)
231
+ parserOptions.parser = parsers[parserOptions.parser] as Parser;
232
+
233
+ const definition = languageOptions === undefined
234
+ ? parserOptions === undefined
235
+ ? {}
236
+ : {
237
+ languageOptions: {
238
+ parserOptions,
239
+ },
240
+ }
241
+ : { languageOptions };
242
+
243
+ if (processor !== undefined)
237
244
  Object.assign(
238
- languageOptions,
239
- { parserOptions },
245
+ definition,
246
+ { processor },
240
247
  );
241
248
 
242
- if (Object.keys(languageOptions).length !== 0)
249
+ if (language !== undefined)
243
250
  Object.assign(
244
- manifest,
245
- { languageOptions },
251
+ definition,
252
+ { language },
246
253
  );
247
- }
248
-
249
- if (processor !== undefined)
250
- Object.assign(
251
- manifest,
252
- { processor },
253
- );
254
254
 
255
- if (language !== undefined)
256
- Object.assign(
257
- manifest,
258
- { language },
259
- );
255
+ (rules as unknown[])[rules.length] = definition;
256
+ }
260
257
 
261
- (rules as unknown[])[rules.length] = manifest;
258
+ return {
259
+ name: "scope/".concat(scope),
260
+ files,
261
+ ignores,
262
+ "extends": [rules as MutableRules<typeof rules>],
263
+ };
262
264
  }
263
-
264
- return rules as unknown[];
265
- }
266
- },
265
+ },
266
+ ),
267
267
  );
268
-
269
- if (configs.length === 0)
270
- return [];
271
- else {
272
- const { length } = configs;
273
-
274
- configs.length += 2;
275
- configs[length] = {
276
- name: "linted/*/ignores",
277
- ignores: defaults.ignores["*"],
278
- };
279
- configs[length + 1] = {
280
- name: "linted/*/plugins",
281
- plugins,
282
- };
283
-
284
- return configs;
285
- }
286
268
  }
package/src/index.spec.ts CHANGED
@@ -59,11 +59,13 @@ describe(
59
59
  function () {
60
60
  configs
61
61
  .should
62
- .satisfy((configs: unknown[]) => configs
63
- .every(config => typeof config === "object"
64
- && config !== null
65
- && "name" in config
66
- && typeof config.name === "string"));
62
+ .satisfy(
63
+ (configs: unknown[]) => configs
64
+ .every(config => typeof config === "object"
65
+ && config !== null
66
+ && "name" in config
67
+ && typeof config.name === "string"),
68
+ );
67
69
  },
68
70
  );
69
71
  },
@@ -71,21 +73,18 @@ describe(
71
73
  describe(
72
74
  "configs",
73
75
  function () {
74
- const global = configs.at(-2) as [object, object];
75
-
76
76
  it(
77
- "ends with global ignores and plugins",
77
+ "has plugins",
78
78
  function () {
79
- global
80
- .should.have
81
- .property(
82
- "name",
83
- "linted/*/ignores",
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"),
84
87
  );
85
- global
86
- .should.have
87
- .property("ignores")
88
- .an("array");
89
88
  },
90
89
  );
91
90
  },
@@ -1,11 +1,9 @@
1
- import type { Rules } from "../../rules";
1
+ import type { RuleConfig } from "@eslint/config-helpers";
2
2
 
3
3
  export interface Defaults<Scope extends string> {
4
- files: Partial<
5
- Record<
6
- Scope,
7
- string[]
8
- >
4
+ files: Record<
5
+ Scope,
6
+ string[]
9
7
  >;
10
8
  ignores:
11
9
  & Record<
@@ -21,10 +19,15 @@ export interface Defaults<Scope extends string> {
21
19
  rules: Partial<
22
20
  Record<
23
21
  Scope,
24
- {
25
- name: string;
26
- rules: Rules;
27
- }[]
22
+ Array<
23
+ {
24
+ name: string;
25
+ rules: Record<
26
+ string,
27
+ Readonly<RuleConfig>
28
+ >;
29
+ }
30
+ >
28
31
  >
29
32
  >;
30
33
  }
@@ -1,4 +1,4 @@
1
- import type { Rules } from "../../rules";
1
+ import type { RuleConfig } from "@eslint/config-helpers";
2
2
 
3
3
  export type ScopeExtensions<
4
4
  Scope extends string,
@@ -9,7 +9,10 @@ export type ScopeExtensions<
9
9
  {
10
10
  files?: string[];
11
11
  ignores?: string[];
12
- rules?: Rules;
12
+ rules?: Record<
13
+ string,
14
+ Readonly<RuleConfig>
15
+ >;
13
16
  }
14
17
  >
15
18
  & Record<
@@ -1,6 +0,0 @@
1
- export type Rules = Record<string, State | readonly [
2
- State,
3
- ...unknown[]
4
- ]>;
5
- export type State = 0 | 1 | 2 | "off" | "warn" | "error";
6
- //# sourceMappingURL=rules.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"rules.d.ts","sourceRoot":"","sources":["../../src/interface/rules.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,KAAK,GAAG,MAAM,CACxB,MAAM,EACJ,KAAK,GACL,SAAS;IACT,KAAK;IACL,GAAG,OAAO,EAAE;CACb,CACF,CAAC;AACF,MAAM,MAAM,KAAK,GACb,CAAC,GACD,CAAC,GACD,CAAC,GACD,KAAK,GACL,MAAM,GACN,OAAO,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=rules.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"rules.js","sourceRoot":"","sources":["../../src/interface/rules.ts"],"names":[],"mappings":""}
@@ -1,15 +0,0 @@
1
- export type Rules = Record<
2
- string,
3
- | State
4
- | readonly [
5
- State,
6
- ...unknown[],
7
- ]
8
- >;
9
- export type State
10
- = | 0
11
- | 1
12
- | 2
13
- | "off"
14
- | "warn"
15
- | "error";