@shigen/eslint-plugin 0.12.1 → 0.14.0

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/dist/index.d.ts CHANGED
@@ -1,11 +1,11 @@
1
1
  export declare const rules: {
2
- 'group-imports': import("./tools/rule.js").RuleModule<import("./rules/group-imports.js").GroupConfiguration[]>;
3
- 'sort-imports': import("./tools/rule.js").RuleModule<[(Partial<import("./rules/sort-imports.js").Configuration> | undefined)?]>;
2
+ "group-imports": import("./tools/rule.ts").RuleModule<import("./rules/group-imports.ts").GroupConfiguration[]>;
3
+ "sort-imports": import("./tools/rule.ts").RuleModule<[Partial<import("./rules/sort-imports.ts").Configuration>?]>;
4
4
  };
5
5
  declare const plugin: {
6
6
  rules: {
7
- 'group-imports': import("./tools/rule.js").RuleModule<import("./rules/group-imports.js").GroupConfiguration[]>;
8
- 'sort-imports': import("./tools/rule.js").RuleModule<[(Partial<import("./rules/sort-imports.js").Configuration> | undefined)?]>;
7
+ "group-imports": import("./tools/rule.ts").RuleModule<import("./rules/group-imports.ts").GroupConfiguration[]>;
8
+ "sort-imports": import("./tools/rule.ts").RuleModule<[Partial<import("./rules/sort-imports.ts").Configuration>?]>;
9
9
  };
10
10
  };
11
11
  export default plugin;
package/dist/index.js CHANGED
@@ -1,14 +1,11 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.rules = void 0;
4
- const group_imports_js_1 = require("./rules/group-imports.js");
5
- const sort_imports_js_1 = require("./rules/sort-imports.js");
6
- exports.rules = {
7
- 'group-imports': group_imports_js_1.rule,
8
- 'sort-imports': sort_imports_js_1.rule,
1
+ import { rule as groupImports } from "./rules/group-imports.js";
2
+ import { rule as sortImports } from "./rules/sort-imports.js";
3
+ export const rules = {
4
+ "group-imports": groupImports,
5
+ "sort-imports": sortImports,
9
6
  };
10
7
  const plugin = {
11
- rules: exports.rules,
8
+ rules,
12
9
  };
13
- exports.default = plugin;
10
+ export default plugin;
14
11
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAEA,+DAAgE;AAChE,6DAA8D;AAEjD,QAAA,KAAK,GAAG;IACpB,eAAe,EAAE,uBAAY;IAC7B,cAAc,EAAE,sBAAW;CAC3B,CAAC;AAEF,MAAM,MAAM,GAAG;IACd,KAAK,EAAL,aAAK;CACmB,CAAC;AAE1B,kBAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,IAAI,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,IAAI,IAAI,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAE9D,MAAM,CAAC,MAAM,KAAK,GAAG;IACpB,eAAe,EAAE,YAAY;IAC7B,cAAc,EAAE,WAAW;CAC3B,CAAC;AAEF,MAAM,MAAM,GAAG;IACd,KAAK;CACmB,CAAC;AAE1B,eAAe,MAAM,CAAC"}
@@ -1,22 +1,23 @@
1
- import type { RuleModule } from '../tools/rule.js';
2
- export type ModuleClassOption = 'node' | 'external' | 'absolute' | 'relative';
3
- export type TypeImportOption = 'include' | 'exclude' | 'only';
1
+ import { type RuleModule } from "../tools/rule.ts";
2
+ export type ModuleClassOption = "node" | "external" | "internal" | "absolute" | "relative";
3
+ export type TypeImportOption = "include" | "exclude" | "only";
4
4
  declare const ModuleClass_base: import("@shigen/enum").EnumConstructor<{
5
5
  Key: ModuleClassOption;
6
6
  }, [fields: {
7
- readonly name?: string | undefined;
7
+ readonly name?: string;
8
8
  readonly key: ModuleClassOption;
9
9
  }]>;
10
10
  export declare class ModuleClass extends ModuleClass_base {
11
11
  static readonly Node: ModuleClass;
12
12
  static readonly External: ModuleClass;
13
+ static readonly Internal: ModuleClass;
13
14
  static readonly Absolute: ModuleClass;
14
15
  static readonly Relative: ModuleClass;
15
16
  }
16
17
  declare const TypeImport_base: import("@shigen/enum").EnumConstructor<{
17
18
  Key: TypeImportOption;
18
19
  }, [fields: {
19
- readonly name?: string | undefined;
20
+ readonly name?: string;
20
21
  readonly key: TypeImportOption;
21
22
  }]>;
22
23
  export declare class TypeImport extends TypeImport_base {
@@ -1 +1 @@
1
- {"version":3,"file":"group-imports.d.ts","sourceRoot":"","sources":["../../src/rules/group-imports.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAe,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAKhE,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,UAAU,GAAG,UAAU,GAAG,UAAU,CAAC;AAC9E,MAAM,MAAM,gBAAgB,GAAG,SAAS,GAAG,SAAS,GAAG,MAAM,CAAC;;SAKjB,iBAAiB;;;;;AAA9D,qBAAa,WAAY,SAAQ,gBAA+C;IAC/E,MAAM,CAAC,QAAQ,CAAC,IAAI,cAAmD;IACvE,MAAM,CAAC,QAAQ,CAAC,QAAQ,cAAuD;IAC/E,MAAM,CAAC,QAAQ,CAAC,QAAQ,cAAuD;IAC/E,MAAM,CAAC,QAAQ,CAAC,QAAQ,cAAuD;CAC/E;;SAE2C,gBAAgB;;;;;AAA5D,qBAAa,UAAW,SAAQ,eAA6C;IAC5E,MAAM,CAAC,QAAQ,CAAC,OAAO,aAAoD;IAC3E,MAAM,CAAC,QAAQ,CAAC,OAAO,aAAoD;IAC3E,MAAM,CAAC,QAAQ,CAAC,IAAI,aAAiD;CACrE;AAED,UAAU,wBAAwB;IACjC,KAAK,EAAE,iBAAiB,CAAC;IACzB,KAAK,CAAC,EAAE,gBAAgB,CAAC;CACzB;AAED,UAAU,uBAAuB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,gBAAgB,CAAC;CACzB;AAED,KAAK,mBAAmB,GAAG,MAAM,GAAG,uBAAuB,GAAG,wBAAwB,CAAC;AAEvF,MAAM,MAAM,kBAAkB,GAAG,mBAAmB,GAAG,mBAAmB,EAAE,CAAC;AAgL7E,eAAO,MAAM,IAAI,EAAE,UAAU,CAAC,kBAAkB,EAAE,CAuHjD,CAAC"}
1
+ {"version":3,"file":"group-imports.d.ts","sourceRoot":"","sources":["../../src/rules/group-imports.ts"],"names":[],"mappings":"AASA,OAAO,EAA8B,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAG/E,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,UAAU,GAAG,UAAU,GAAG,UAAU,GAAG,UAAU,CAAC;AAC3F,MAAM,MAAM,gBAAgB,GAAG,SAAS,GAAG,SAAS,GAAG,MAAM,CAAC;;SAKjB,iBAAiB;;;;;AAA9D,qBAAa,WAAY,SAAQ,gBAAgD;IAChF,MAAM,CAAC,QAAQ,CAAC,IAAI,cAAoD;IACxE,MAAM,CAAC,QAAQ,CAAC,QAAQ,cAAwD;IAChF,MAAM,CAAC,QAAQ,CAAC,QAAQ,cAAwD;IAChF,MAAM,CAAC,QAAQ,CAAC,QAAQ,cAAwD;IAChF,MAAM,CAAC,QAAQ,CAAC,QAAQ,cAAwD;CAChF;;SAE2C,gBAAgB;;;;;AAA5D,qBAAa,UAAW,SAAQ,eAA8C;IAC7E,MAAM,CAAC,QAAQ,CAAC,OAAO,aAAqD;IAC5E,MAAM,CAAC,QAAQ,CAAC,OAAO,aAAqD;IAC5E,MAAM,CAAC,QAAQ,CAAC,IAAI,aAAkD;CACtE;AAED,UAAU,wBAAwB;IACjC,KAAK,EAAE,iBAAiB,CAAC;IACzB,KAAK,CAAC,EAAE,gBAAgB,CAAC;CACzB;AAED,UAAU,uBAAuB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,gBAAgB,CAAC;CACzB;AAED,KAAK,mBAAmB,GAAG,MAAM,GAAG,uBAAuB,GAAG,wBAAwB,CAAC;AAEvF,MAAM,MAAM,kBAAkB,GAAG,mBAAmB,GAAG,mBAAmB,EAAE,CAAC;AAmL7E,eAAO,MAAM,IAAI,EAAE,UAAU,CAAC,kBAAkB,EAAE,CAuHjD,CAAC"}
@@ -1,36 +1,33 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.rule = exports.TypeImport = exports.ModuleClass = void 0;
4
- const node_module_1 = require("node:module");
5
- const node_path_1 = require("node:path");
6
- const enum_1 = require("@shigen/enum");
7
- const minimatch_1 = require("minimatch");
8
- const ast_js_1 = require("../tools/ast.js");
9
- const rule_js_1 = require("../tools/rule.js");
10
- const sort_js_1 = require("../tools/sort.js");
1
+ import { isBuiltin } from "node:module";
2
+ import { isAbsolute } from "node:path";
3
+ import { Enum } from "@shigen/enum";
4
+ import { minimatch } from "minimatch";
5
+ import { assertLoc, assertRange, extrema, importModules, isComment, isTypeImportOrExport } from "../tools/ast.js";
6
+ import { fixRange } from "../tools/rule.js";
7
+ import { sortByPath } from "../tools/sort.js";
11
8
  const moduleClassId = Symbol();
12
9
  const typeImportId = Symbol();
13
- class ModuleClass extends (0, enum_1.Enum)(moduleClassId) {
14
- static Node = new ModuleClass(moduleClassId, { key: 'node' });
15
- static External = new ModuleClass(moduleClassId, { key: 'external' });
16
- static Absolute = new ModuleClass(moduleClassId, { key: 'absolute' });
17
- static Relative = new ModuleClass(moduleClassId, { key: 'relative' });
10
+ export class ModuleClass extends Enum(moduleClassId) {
11
+ static Node = new ModuleClass(moduleClassId, { key: "node", });
12
+ static External = new ModuleClass(moduleClassId, { key: "external", });
13
+ static Internal = new ModuleClass(moduleClassId, { key: "internal", });
14
+ static Absolute = new ModuleClass(moduleClassId, { key: "absolute", });
15
+ static Relative = new ModuleClass(moduleClassId, { key: "relative", });
18
16
  }
19
- exports.ModuleClass = ModuleClass;
20
- class TypeImport extends (0, enum_1.Enum)(typeImportId) {
21
- static Include = new TypeImport(typeImportId, { key: 'include' });
22
- static Exclude = new TypeImport(typeImportId, { key: 'exclude' });
23
- static Only = new TypeImport(typeImportId, { key: 'only' });
17
+ export class TypeImport extends Enum(typeImportId) {
18
+ static Include = new TypeImport(typeImportId, { key: "include", });
19
+ static Exclude = new TypeImport(typeImportId, { key: "exclude", });
20
+ static Only = new TypeImport(typeImportId, { key: "only", });
24
21
  }
25
- exports.TypeImport = TypeImport;
26
22
  const defaultConfiguration = [
27
- { class: ModuleClass.Node.key },
28
- { class: ModuleClass.External.key },
29
- { class: ModuleClass.Absolute.key },
30
- { class: ModuleClass.Relative.key },
23
+ { class: ModuleClass.Node.key, },
24
+ { class: ModuleClass.External.key, },
25
+ { class: ModuleClass.Absolute.key, },
26
+ { class: ModuleClass.Internal.key, },
27
+ { class: ModuleClass.Relative.key, },
31
28
  ];
32
29
  function groupIndex(node, groups) {
33
- if (typeof node.source.value !== 'string') {
30
+ if (typeof node.source.value !== "string") {
34
31
  return groups.length;
35
32
  }
36
33
  const importPath = node.source.value;
@@ -40,36 +37,39 @@ function groupIndex(node, groups) {
40
37
  }
41
38
  return callback(group);
42
39
  });
43
- const isTypeImport = (0, ast_js_1.isTypeImportOrExport)(node);
40
+ const isTypeImport = isTypeImportOrExport(node);
44
41
  const hardCodedIndex = findIndex((group) => {
45
- if (typeof group === 'string') {
46
- return (0, minimatch_1.minimatch)(importPath, group, { matchBase: true });
42
+ if (typeof group === "string") {
43
+ return minimatch(importPath, group, { matchBase: true, });
47
44
  }
48
- if (!('path' in group)) {
45
+ if (!("path" in group)) {
49
46
  return false;
50
47
  }
51
48
  if (isTypeImport) {
52
- return (0, minimatch_1.minimatch)(importPath, group.path, { matchBase: true }) && group.types !== TypeImport.Exclude.key;
49
+ return minimatch(importPath, group.path, { matchBase: true, }) && group.types !== TypeImport.Exclude.key;
53
50
  }
54
- return (0, minimatch_1.minimatch)(importPath, group.path, { matchBase: true }) && group.types !== TypeImport.Only.key;
51
+ return minimatch(importPath, group.path, { matchBase: true, }) && group.types !== TypeImport.Only.key;
55
52
  });
56
53
  if (hardCodedIndex >= 0) {
57
54
  return hardCodedIndex;
58
55
  }
59
56
  // split path at / delimiter but keep first / for absolute paths
60
- const [moduleName] = importPath.split(/(?=^\/)|\//u);
57
+ const [moduleName,] = importPath.split(/(?=^\/)|\//u);
61
58
  if (!moduleName) {
62
59
  throw new Error(`group-imports: unexpected undefined module name for path '${importPath}'`);
63
60
  }
64
61
  let moduleClass = ModuleClass.External;
65
- if ((0, node_module_1.isBuiltin)(moduleName)) {
62
+ if (isBuiltin(moduleName)) {
66
63
  moduleClass = ModuleClass.Node;
67
64
  }
65
+ else if (moduleName.startsWith("#")) {
66
+ moduleClass = ModuleClass.Internal;
67
+ }
68
68
  else if (/^(?:\/|\.)/u.exec(moduleName)) {
69
- moduleClass = (0, node_path_1.isAbsolute)(moduleName) ? ModuleClass.Absolute : ModuleClass.Relative;
69
+ moduleClass = isAbsolute(moduleName) ? ModuleClass.Absolute : ModuleClass.Relative;
70
70
  }
71
71
  const classIndex = findIndex((group) => {
72
- if (typeof group !== 'object' || !('class' in group)) {
72
+ if (typeof group !== "object" || !("class" in group)) {
73
73
  return false;
74
74
  }
75
75
  if (isTypeImport) {
@@ -83,14 +83,14 @@ function checkLines(context, previous, next, lineCount) {
83
83
  if (!previous || !next) {
84
84
  throw new Error(`group-imports: unexpected undefined node`);
85
85
  }
86
- const tokensBetween = context.sourceCode.getTokensBetween(previous, next, { includeComments: true });
87
- const relevantItems = [previous];
86
+ const tokensBetween = context.sourceCode.getTokensBetween(previous, next, { includeComments: true, });
87
+ const relevantItems = [previous,];
88
88
  for (const token of tokensBetween) {
89
- if (!(0, ast_js_1.isComment)(token)) {
89
+ if (!isComment(token)) {
90
90
  return context.report({
91
91
  loc: {
92
- start: (0, ast_js_1.assertLoc)(tokensBetween.find((t) => !(0, ast_js_1.isComment)(t))).start,
93
- end: (0, ast_js_1.assertLoc)(tokensBetween.findLast((t) => !(0, ast_js_1.isComment)(t))).end,
92
+ start: assertLoc(tokensBetween.find((t) => !isComment(t))).start,
93
+ end: assertLoc(tokensBetween.findLast((t) => !isComment(t))).end,
94
94
  },
95
95
  message: `Unexpected code between imports of group`,
96
96
  });
@@ -101,14 +101,14 @@ function checkLines(context, previous, next, lineCount) {
101
101
  for (let i = 0; i < relevantItems.length - 1; i++) {
102
102
  const a = relevantItems[i];
103
103
  const b = relevantItems[i + 1];
104
- const locA = (0, ast_js_1.assertLoc)(a);
105
- const locB = (0, ast_js_1.assertLoc)(b);
106
- const rangeA = (0, ast_js_1.assertRange)(a);
107
- const rangeB = (0, ast_js_1.assertRange)(b);
104
+ const locA = assertLoc(a);
105
+ const locB = assertLoc(b);
106
+ const rangeA = assertRange(a);
107
+ const rangeB = assertRange(b);
108
108
  const linesBetween = locB.start.line - locA.end.line - 1;
109
109
  if (lineCount === 0) {
110
110
  if (linesBetween > 0) {
111
- const range = [rangeA[1], rangeB[0] - locB.start.column];
111
+ const range = [rangeA[1], rangeB[0] - locB.start.column,];
112
112
  context.report({
113
113
  loc: {
114
114
  start: locA.end,
@@ -118,12 +118,12 @@ function checkLines(context, previous, next, lineCount) {
118
118
  },
119
119
  },
120
120
  message: `Unexpected white space between imports`,
121
- fix: (fixer) => fixer.replaceTextRange(range, '\n'),
121
+ fix: (fixer) => fixer.replaceTextRange(range, "\n"),
122
122
  });
123
123
  }
124
124
  }
125
125
  else {
126
- const columnOffset = (0, ast_js_1.isComment)(b) ? 0 : locB.start.column;
126
+ const columnOffset = isComment(b) ? 0 : locB.start.column;
127
127
  const reportLoc = {
128
128
  start: locA.end,
129
129
  end: {
@@ -131,8 +131,8 @@ function checkLines(context, previous, next, lineCount) {
131
131
  column: columnOffset,
132
132
  },
133
133
  };
134
- const fix = (fixer) => fixer.replaceTextRange([rangeA[1], rangeB[0] - columnOffset], '\n\n');
135
- if ((0, ast_js_1.isComment)(a) || (0, ast_js_1.isComment)(b)) {
134
+ const fix = (fixer) => fixer.replaceTextRange([rangeA[1], rangeB[0] - columnOffset,], "\n\n");
135
+ if (isComment(a) || isComment(b)) {
136
136
  if (linesBetween > 1) {
137
137
  context.report({
138
138
  loc: reportLoc,
@@ -155,62 +155,62 @@ function checkLines(context, previous, next, lineCount) {
155
155
  }
156
156
  function groupLabels(groups) {
157
157
  return groups.map((group) => {
158
- if (group instanceof Array || typeof group === 'string' || 'path' in group || 'pattern' in group) {
159
- return 'custom';
158
+ if (group instanceof Array || typeof group === "string" || "path" in group || "pattern" in group) {
159
+ return "custom";
160
160
  }
161
161
  return group.class.toUpperCase();
162
162
  });
163
163
  }
164
- exports.rule = {
164
+ export const rule = {
165
165
  meta: {
166
- fixable: 'code',
166
+ fixable: "code",
167
167
  schema: {
168
168
  definitions: {
169
169
  typeImportConfiguration: {
170
- enum: [...TypeImport.keys()],
170
+ enum: [...TypeImport.keys(),],
171
171
  },
172
172
  moduleConfiguration: {
173
173
  oneOf: [
174
- { type: 'string' },
174
+ { type: "string", },
175
175
  {
176
- type: 'object',
176
+ type: "object",
177
177
  properties: {
178
178
  class: {
179
- enum: [...ModuleClass.keys()],
179
+ enum: [...ModuleClass.keys(),],
180
180
  },
181
181
  types: {
182
- $ref: '#/definitions/typeImportConfiguration',
182
+ $ref: "#/definitions/typeImportConfiguration",
183
183
  },
184
184
  },
185
- required: ['class'],
185
+ required: ["class",],
186
186
  additionalProperties: false,
187
187
  },
188
188
  {
189
- type: 'object',
189
+ type: "object",
190
190
  properties: {
191
191
  path: {
192
- type: 'string',
192
+ type: "string",
193
193
  },
194
194
  types: {
195
- $ref: '#/definitions/typeImportConfiguration',
195
+ $ref: "#/definitions/typeImportConfiguration",
196
196
  },
197
197
  },
198
- required: ['path'],
198
+ required: ["path",],
199
199
  additionalProperties: false,
200
200
  },
201
201
  ],
202
202
  },
203
203
  },
204
- type: 'array',
204
+ type: "array",
205
205
  items: {
206
206
  anyOf: [
207
207
  {
208
- $ref: '#/definitions/moduleConfiguration',
208
+ $ref: "#/definitions/moduleConfiguration",
209
209
  },
210
210
  {
211
- type: 'array',
211
+ type: "array",
212
212
  items: {
213
- $ref: '#/definitions/moduleConfiguration',
213
+ $ref: "#/definitions/moduleConfiguration",
214
214
  },
215
215
  },
216
216
  ],
@@ -220,7 +220,7 @@ exports.rule = {
220
220
  create(context) {
221
221
  const groupConfigurations = context.options.length ? context.options : defaultConfiguration;
222
222
  const source = context.sourceCode;
223
- const imports = (0, ast_js_1.importModules)(source).map((node) => {
223
+ const imports = importModules(source).map((node) => {
224
224
  return {
225
225
  index: groupIndex(node, groupConfigurations),
226
226
  node,
@@ -229,7 +229,7 @@ exports.rule = {
229
229
  if (imports.length === 0) {
230
230
  return {};
231
231
  }
232
- const sorted = (0, sort_js_1.sortByPath)(imports, ['index']);
232
+ const sorted = sortByPath(imports, ["index",]);
233
233
  let previousIndex = sorted[0]?.index;
234
234
  const groups = sorted.reduce((result, value) => {
235
235
  const current = result.at(-1);
@@ -237,16 +237,16 @@ exports.rule = {
237
237
  current.push(value.node);
238
238
  }
239
239
  else {
240
- result.push([value.node]);
240
+ result.push([value.node,]);
241
241
  }
242
242
  previousIndex = value.index;
243
243
  return result;
244
- }, [[]]);
244
+ }, [[],]);
245
245
  if (sorted.some((node, i) => node !== imports[i])) {
246
- (0, rule_js_1.fixRange)(context, {
247
- range: (0, ast_js_1.extrema)(imports.map(({ node }) => node)),
248
- message: `Expected import groups: ${groupLabels(groupConfigurations).join(', ')}`,
249
- code: groups.map((nodes) => nodes.map((node) => source.getText(node)).join('\n')).join('\n\n'),
246
+ fixRange(context, {
247
+ range: extrema(imports.map(({ node, }) => node)),
248
+ message: `Expected import groups: ${groupLabels(groupConfigurations).join(", ")}`,
249
+ code: groups.map((nodes) => nodes.map((node) => source.getText(node)).join("\n")).join("\n\n"),
250
250
  });
251
251
  }
252
252
  else {
@@ -260,7 +260,7 @@ exports.rule = {
260
260
  return;
261
261
  }
262
262
  const previous = groups[i - 1]?.at(-1);
263
- const [current] = group;
263
+ const [current,] = group;
264
264
  checkLines(context, previous, current, 1);
265
265
  });
266
266
  }
@@ -1 +1 @@
1
- {"version":3,"file":"group-imports.js","sourceRoot":"","sources":["../../src/rules/group-imports.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"group-imports.js","sourceRoot":"","sources":["../../src/rules/group-imports.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,11 @@
1
- import type { RuleModule } from '../tools/rule.js';
2
- import type { SortOptions } from '../tools/sort.js';
3
- export type GroupPositionOption = 'ignore' | 'top' | 'bottom' | 'above-value' | 'below-value';
4
- export type InlinePositionOption = 'ignore' | 'start' | 'end';
1
+ import { type RuleModule } from "../tools/rule.ts";
2
+ import { type SortOptions } from "../tools/sort.ts";
3
+ export type GroupPositionOption = "ignore" | "top" | "bottom" | "above-value" | "below-value";
4
+ export type InlinePositionOption = "ignore" | "start" | "end";
5
5
  declare const TypeImportGroupPosition_base: import("@shigen/enum").EnumConstructor<{
6
6
  Key: GroupPositionOption;
7
7
  }, [fields: {
8
- readonly name?: string | undefined;
8
+ readonly name?: string;
9
9
  readonly key: GroupPositionOption;
10
10
  }]>;
11
11
  export declare class TypeImportGroupPosition extends TypeImportGroupPosition_base {
@@ -18,7 +18,7 @@ export declare class TypeImportGroupPosition extends TypeImportGroupPosition_bas
18
18
  declare const TypeImportInlinePosition_base: import("@shigen/enum").EnumConstructor<{
19
19
  Key: InlinePositionOption;
20
20
  }, [fields: {
21
- readonly name?: string | undefined;
21
+ readonly name?: string;
22
22
  readonly key: InlinePositionOption;
23
23
  }]>;
24
24
  export declare class TypeImportInlinePosition extends TypeImportInlinePosition_base {
@@ -27,7 +27,7 @@ export declare class TypeImportInlinePosition extends TypeImportInlinePosition_b
27
27
  static readonly End: TypeImportInlinePosition;
28
28
  }
29
29
  export interface Configuration extends SortOptions {
30
- specifier: 'source' | 'rename';
30
+ specifier: "source" | "rename";
31
31
  sortExports: boolean;
32
32
  typesInGroup: GroupPositionOption;
33
33
  inlineTypes: InlinePositionOption;
@@ -1 +1 @@
1
- {"version":3,"file":"sort-imports.d.ts","sourceRoot":"","sources":["../../src/rules/sort-imports.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAKpD,MAAM,MAAM,mBAAmB,GAAG,QAAQ,GAAG,KAAK,GAAG,QAAQ,GAAG,aAAa,GAAG,aAAa,CAAC;AAC9F,MAAM,MAAM,oBAAoB,GAAG,QAAQ,GAAG,OAAO,GAAG,KAAK,CAAC;;SAKL,mBAAmB;;;;;AAA5E,qBAAa,uBAAwB,SAAQ,4BAA6D;IACzG,MAAM,CAAC,QAAQ,CAAC,MAAM,0BAA6E;IACnG,MAAM,CAAC,QAAQ,CAAC,GAAG,0BAA0E;IAC7F,MAAM,CAAC,QAAQ,CAAC,MAAM,0BAA6E;IACnG,MAAM,CAAC,QAAQ,CAAC,UAAU,0BAAkF;IAC5G,MAAM,CAAC,QAAQ,CAAC,UAAU,0BAAkF;CAC5G;;SAEyD,oBAAoB;;;;;AAA9E,qBAAa,wBAAyB,SAAQ,6BAA+D;IAC5G,MAAM,CAAC,QAAQ,CAAC,MAAM,2BAA+E;IACrG,MAAM,CAAC,QAAQ,CAAC,KAAK,2BAA8E;IACnG,MAAM,CAAC,QAAQ,CAAC,GAAG,2BAA4E;CAC/F;AAED,MAAM,WAAW,aAAc,SAAQ,WAAW;IACjD,SAAS,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAC/B,WAAW,EAAE,OAAO,CAAC;IACrB,YAAY,EAAE,mBAAmB,CAAC;IAClC,WAAW,EAAE,oBAAoB,CAAC;CAClC;AAYD,eAAO,MAAM,IAAI,EAAE,UAAU,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAgLtD,CAAC"}
1
+ {"version":3,"file":"sort-imports.d.ts","sourceRoot":"","sources":["../../src/rules/sort-imports.ts"],"names":[],"mappings":"AAeA,OAAO,EAAY,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAc,KAAK,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEhE,MAAM,MAAM,mBAAmB,GAAG,QAAQ,GAAG,KAAK,GAAG,QAAQ,GAAG,aAAa,GAAG,aAAa,CAAC;AAC9F,MAAM,MAAM,oBAAoB,GAAG,QAAQ,GAAG,OAAO,GAAG,KAAK,CAAC;;SAKL,mBAAmB;;;;;AAA5E,qBAAa,uBAAwB,SAAQ,4BAA8D;IAC1G,MAAM,CAAC,QAAQ,CAAC,MAAM,0BAA8E;IACpG,MAAM,CAAC,QAAQ,CAAC,GAAG,0BAA2E;IAC9F,MAAM,CAAC,QAAQ,CAAC,MAAM,0BAA8E;IACpG,MAAM,CAAC,QAAQ,CAAC,UAAU,0BAAmF;IAC7G,MAAM,CAAC,QAAQ,CAAC,UAAU,0BAAmF;CAC7G;;SAEyD,oBAAoB;;;;;AAA9E,qBAAa,wBAAyB,SAAQ,6BAAgE;IAC7G,MAAM,CAAC,QAAQ,CAAC,MAAM,2BAAgF;IACtG,MAAM,CAAC,QAAQ,CAAC,KAAK,2BAA+E;IACpG,MAAM,CAAC,QAAQ,CAAC,GAAG,2BAA6E;CAChG;AAED,MAAM,WAAW,aAAc,SAAQ,WAAW;IACjD,SAAS,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAC/B,WAAW,EAAE,OAAO,CAAC;IACrB,YAAY,EAAE,mBAAmB,CAAC;IAClC,WAAW,EAAE,oBAAoB,CAAC;CAClC;AAYD,eAAO,MAAM,IAAI,EAAE,UAAU,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CA6KtD,CAAC"}
@@ -1,99 +1,93 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.rule = exports.TypeImportInlinePosition = exports.TypeImportGroupPosition = void 0;
4
- const enum_1 = require("@shigen/enum");
5
- const ast_js_1 = require("../tools/ast.js");
6
- const rule_js_1 = require("../tools/rule.js");
7
- const sort_js_1 = require("../tools/sort.js");
1
+ import { Enum } from "@shigen/enum";
2
+ import { exportModules, extrema, importModules, isTypeImportOrExport, linesBetween, } from "../tools/ast.js";
3
+ import { fixRange } from "../tools/rule.js";
4
+ import { sortByPath } from "../tools/sort.js";
8
5
  const typeImportGroupPositionId = Symbol();
9
6
  const typeImportInlinePositionId = Symbol();
10
- class TypeImportGroupPosition extends (0, enum_1.Enum)(typeImportGroupPositionId) {
11
- static Ignore = new TypeImportGroupPosition(typeImportGroupPositionId, { key: 'ignore' });
12
- static Top = new TypeImportGroupPosition(typeImportGroupPositionId, { key: 'top' });
13
- static Bottom = new TypeImportGroupPosition(typeImportGroupPositionId, { key: 'bottom' });
14
- static AboveValue = new TypeImportGroupPosition(typeImportGroupPositionId, { key: 'above-value' });
15
- static BelowValue = new TypeImportGroupPosition(typeImportGroupPositionId, { key: 'below-value' });
7
+ export class TypeImportGroupPosition extends Enum(typeImportGroupPositionId) {
8
+ static Ignore = new TypeImportGroupPosition(typeImportGroupPositionId, { key: "ignore", });
9
+ static Top = new TypeImportGroupPosition(typeImportGroupPositionId, { key: "top", });
10
+ static Bottom = new TypeImportGroupPosition(typeImportGroupPositionId, { key: "bottom", });
11
+ static AboveValue = new TypeImportGroupPosition(typeImportGroupPositionId, { key: "above-value", });
12
+ static BelowValue = new TypeImportGroupPosition(typeImportGroupPositionId, { key: "below-value", });
16
13
  }
17
- exports.TypeImportGroupPosition = TypeImportGroupPosition;
18
- class TypeImportInlinePosition extends (0, enum_1.Enum)(typeImportInlinePositionId) {
19
- static Ignore = new TypeImportInlinePosition(typeImportInlinePositionId, { key: 'ignore' });
20
- static Start = new TypeImportInlinePosition(typeImportInlinePositionId, { key: 'start' });
21
- static End = new TypeImportInlinePosition(typeImportInlinePositionId, { key: 'end' });
14
+ export class TypeImportInlinePosition extends Enum(typeImportInlinePositionId) {
15
+ static Ignore = new TypeImportInlinePosition(typeImportInlinePositionId, { key: "ignore", });
16
+ static Start = new TypeImportInlinePosition(typeImportInlinePositionId, { key: "start", });
17
+ static End = new TypeImportInlinePosition(typeImportInlinePositionId, { key: "end", });
22
18
  }
23
- exports.TypeImportInlinePosition = TypeImportInlinePosition;
24
19
  const defaultConfiguration = {
25
- specifier: 'source',
26
- locales: ['en-US'],
20
+ specifier: "source",
21
+ locales: ["en-US",],
27
22
  numeric: true,
28
- caseFirst: 'lower',
23
+ caseFirst: "lower",
29
24
  sortExports: true,
30
25
  typesInGroup: TypeImportGroupPosition.Ignore.key,
31
26
  inlineTypes: TypeImportInlinePosition.Ignore.key,
32
27
  };
33
- exports.rule = {
28
+ export const rule = {
34
29
  meta: {
35
- fixable: 'code',
30
+ fixable: "code",
36
31
  schema: [
37
32
  {
38
- type: 'object',
33
+ type: "object",
39
34
  properties: {
40
35
  locales: {
41
- type: 'array',
36
+ type: "array",
42
37
  items: {
43
- type: 'string',
38
+ type: "string",
44
39
  },
45
40
  },
46
41
  sensitivity: {
47
- enum: ['base', 'accent', 'case', 'variant'],
42
+ enum: ["base", "accent", "case", "variant",],
48
43
  },
49
44
  ignorePunctuation: {
50
- type: 'boolean',
45
+ type: "boolean",
51
46
  },
52
47
  numeric: {
53
- type: 'boolean',
48
+ type: "boolean",
54
49
  },
55
50
  caseFirst: {
56
- enum: ['upper', 'lower', 'false'],
51
+ enum: ["upper", "lower", "false",],
57
52
  },
58
53
  caseGroups: {
59
- type: 'boolean',
54
+ type: "boolean",
60
55
  },
61
56
  specifier: {
62
- enum: ['source', 'rename'],
57
+ enum: ["source", "rename",],
63
58
  },
64
59
  sortExports: {
65
- type: 'boolean',
60
+ type: "boolean",
66
61
  },
67
62
  typesInGroup: {
68
- enum: [...TypeImportGroupPosition.keys()],
63
+ enum: [...TypeImportGroupPosition.keys(),],
69
64
  },
70
65
  inlineTypes: {
71
- enum: [...TypeImportInlinePosition.keys()],
66
+ enum: [...TypeImportInlinePosition.keys(),],
72
67
  },
73
68
  },
74
69
  },
75
70
  ],
76
71
  },
77
72
  create(context) {
78
- const configuration = { ...defaultConfiguration, ...context.options[0] };
73
+ const configuration = { ...defaultConfiguration, ...context.options[0], };
79
74
  const source = context.sourceCode;
80
75
  const partition = (result, node, index, from) => {
81
- if (index > 0 && (0, ast_js_1.linesBetween)(from[index - 1], node) > 0) {
76
+ if (index > 0 && linesBetween(from[index - 1], node) > 0) {
82
77
  result.push([]);
83
78
  }
84
79
  result.at(-1)?.push(node);
85
80
  return result;
86
81
  };
87
82
  const sortModules = (group) => {
88
- const sorted = (0, sort_js_1.sortByPath)(group, ['source', 'value'], configuration);
83
+ const sorted = sortByPath(group, ["source", "value",], configuration);
89
84
  if (configuration.typesInGroup !== TypeImportGroupPosition.Ignore.key) {
90
85
  sorted.sort((a, b) => {
91
- const aIsType = (0, ast_js_1.isTypeImportOrExport)(a);
92
- const bIsType = (0, ast_js_1.isTypeImportOrExport)(b);
86
+ const aIsType = isTypeImportOrExport(a);
87
+ const bIsType = isTypeImportOrExport(b);
93
88
  if (aIsType === bIsType) {
94
89
  return 0;
95
90
  }
96
- // eslint-disable-next-line @typescript-eslint/switch-exhaustiveness-check
97
91
  switch (configuration.typesInGroup) {
98
92
  case TypeImportGroupPosition.Top.key:
99
93
  return aIsType ? -1 : 1;
@@ -101,7 +95,6 @@ exports.rule = {
101
95
  return aIsType ? 1 : -1;
102
96
  }
103
97
  if (a.source.value === b.source.value) {
104
- // eslint-disable-next-line @typescript-eslint/switch-exhaustiveness-check
105
98
  switch (configuration.typesInGroup) {
106
99
  case TypeImportGroupPosition.AboveValue.key:
107
100
  return aIsType ? -1 : 1;
@@ -113,40 +106,39 @@ exports.rule = {
113
106
  });
114
107
  }
115
108
  if (sorted.some((node, i) => node !== group[i])) {
116
- (0, rule_js_1.fixRange)(context, {
117
- range: (0, ast_js_1.extrema)(group),
118
- message: 'Expected modules in group to be sorted',
119
- code: sorted.map((node) => source.getText(node)).join('\n'),
109
+ fixRange(context, {
110
+ range: extrema(group),
111
+ message: "Expected modules in group to be sorted",
112
+ code: sorted.map((node) => source.getText(node)).join("\n"),
120
113
  });
121
114
  }
122
115
  };
123
116
  const specifiersText = (nodes) => {
124
117
  if (nodes[0]?.loc?.start.line !== nodes[1]?.loc?.start.line) {
125
- const indent = source.lines[nodes[0].loc.start.line - 1]?.match(/^\s+/g)?.[0] ?? '';
126
- return nodes.map((node, index) => `${index > 0 ? indent : ''}${source.getText(node)}`).join(',\n');
118
+ const indent = source.lines[nodes[0].loc.start.line - 1]?.match(/^\s+/g)?.[0] ?? "";
119
+ return nodes.map((node, index) => `${index > 0 ? indent : ""}${source.getText(node)}`).join(",\n");
127
120
  }
128
- return nodes.map((node) => source.getText(node)).join(', ');
121
+ return nodes.map((node) => source.getText(node)).join(", ");
129
122
  };
130
123
  const sortSpecifiers = (specifiers) => {
131
124
  if (!specifiers.length) {
132
125
  return;
133
126
  }
134
127
  const sorted = (() => {
135
- if (specifiers[0]?.type === 'ImportSpecifier') {
136
- const from = configuration.specifier === 'source' ? 'imported' : 'local';
137
- return (0, sort_js_1.sortByPath)(specifiers, [from, 'name'], configuration);
128
+ if (specifiers[0]?.type === "ImportSpecifier") {
129
+ const from = configuration.specifier === "source" ? "imported" : "local";
130
+ return sortByPath(specifiers, [from, "name",], configuration);
138
131
  }
139
- const from = configuration.specifier === 'source' ? 'local' : 'exported';
140
- return (0, sort_js_1.sortByPath)(specifiers, [from, 'name'], configuration);
132
+ const from = configuration.specifier === "source" ? "local" : "exported";
133
+ return sortByPath(specifiers, [from, "name",], configuration);
141
134
  })();
142
135
  if (configuration.inlineTypes !== TypeImportInlinePosition.Ignore.key) {
143
136
  sorted.sort((a, b) => {
144
- const aIsType = (0, ast_js_1.isTypeImportOrExport)(a);
145
- const bIsType = (0, ast_js_1.isTypeImportOrExport)(b);
137
+ const aIsType = isTypeImportOrExport(a);
138
+ const bIsType = isTypeImportOrExport(b);
146
139
  if (aIsType === bIsType) {
147
140
  return 0;
148
141
  }
149
- // eslint-disable-next-line @typescript-eslint/switch-exhaustiveness-check
150
142
  switch (configuration.inlineTypes) {
151
143
  case TypeImportInlinePosition.Start.key:
152
144
  return aIsType ? -1 : 1;
@@ -157,24 +149,24 @@ exports.rule = {
157
149
  });
158
150
  }
159
151
  if (sorted.some((node, i) => node !== specifiers[i])) {
160
- (0, rule_js_1.fixRange)(context, {
161
- range: (0, ast_js_1.extrema)(specifiers),
162
- message: 'Expected specifiers to be sorted',
152
+ fixRange(context, {
153
+ range: extrema(specifiers),
154
+ message: "Expected specifiers to be sorted",
163
155
  code: specifiersText(sorted),
164
156
  });
165
157
  }
166
158
  };
167
- (0, ast_js_1.importModules)(source)
168
- .reduce(partition, [[]])
159
+ importModules(source)
160
+ .reduce(partition, [[],])
169
161
  .forEach((group) => {
170
162
  sortModules(group);
171
163
  group.forEach((node) => {
172
- sortSpecifiers(node.specifiers.filter(($) => $.type === 'ImportSpecifier'));
164
+ sortSpecifiers(node.specifiers.filter(($) => $.type === "ImportSpecifier"));
173
165
  });
174
166
  });
175
167
  if (configuration.sortExports) {
176
- (0, ast_js_1.exportModules)(source)
177
- .reduce(partition, [[]])
168
+ exportModules(source)
169
+ .reduce(partition, [[],])
178
170
  .forEach((group) => {
179
171
  sortModules(group);
180
172
  group.forEach((node) => sortSpecifiers(node.specifiers ?? []));
@@ -1 +1 @@
1
- {"version":3,"file":"sort-imports.js","sourceRoot":"","sources":["../../src/rules/sort-imports.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sort-imports.js","sourceRoot":"","sources":["../../src/rules/sort-imports.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,11 @@
1
- import type { TSESTree } from '@typescript-eslint/types';
2
- import type { AST, SourceCode } from 'eslint';
3
- import type estree from 'estree';
4
- export type ImportModuleDeclaration = estree.ImportDeclaration & Partial<Pick<TSESTree.ImportDeclaration, 'importKind'>>;
5
- export type ExportModuleDeclaration = estree.ExportAllDeclaration & Partial<Pick<estree.ExportNamedDeclaration, 'specifiers'> & Pick<TSESTree.ExportAllDeclaration, 'exportKind'>>;
1
+ import type { TSESTree } from "@typescript-eslint/types";
2
+ import type { AST, SourceCode } from "eslint";
3
+ import type estree from "estree";
4
+ export type ImportModuleDeclaration = estree.ImportDeclaration & Partial<Pick<TSESTree.ImportDeclaration, "importKind">>;
5
+ export type ExportModuleDeclaration = estree.ExportAllDeclaration & Partial<Pick<estree.ExportNamedDeclaration, "specifiers"> & Pick<TSESTree.ExportAllDeclaration, "exportKind">>;
6
6
  export type ModuleDeclaration = ImportModuleDeclaration | ExportModuleDeclaration;
7
- export type ImportSpecifier = estree.ImportSpecifier & Partial<Pick<TSESTree.ImportSpecifier, 'importKind'>>;
8
- export type ExportSpecifier = estree.ExportSpecifier & Partial<Pick<TSESTree.ExportSpecifier, 'exportKind'>>;
7
+ export type ImportSpecifier = estree.ImportSpecifier & Partial<Pick<TSESTree.ImportSpecifier, "importKind">>;
8
+ export type ExportSpecifier = estree.ExportSpecifier & Partial<Pick<TSESTree.ExportSpecifier, "exportKind">>;
9
9
  export declare function importModules(source: SourceCode): ImportModuleDeclaration[];
10
10
  export declare function exportModules(source: SourceCode): ExportModuleDeclaration[];
11
11
  export declare function isTypeImportOrExport(node: ModuleDeclaration | ImportSpecifier | ExportSpecifier): boolean;
@@ -13,9 +13,9 @@ export declare function extrema<T extends estree.Node>(source: readonly T[]): [T
13
13
  export declare function linesBetween(a: estree.Node | undefined, b: estree.Node | undefined): number;
14
14
  export declare function isComment(value: AST.Token | estree.Comment | estree.Node): value is estree.Comment;
15
15
  export declare function assertLoc(value: {
16
- loc?: AST.SourceLocation | null;
16
+ loc?: AST.SourceLocation | null | undefined;
17
17
  } | undefined): AST.SourceLocation;
18
18
  export declare function assertRange(value: {
19
- range?: AST.Range | null;
19
+ range?: AST.Range | null | undefined;
20
20
  } | undefined): AST.Range;
21
21
  //# sourceMappingURL=ast.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ast.d.ts","sourceRoot":"","sources":["../../src/tools/ast.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,KAAK,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AAEjC,MAAM,MAAM,uBAAuB,GAAG,MAAM,CAAC,iBAAiB,GAC7D,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,iBAAiB,EAAE,YAAY,CAAC,CAAC,CAAC;AAGzD,MAAM,MAAM,uBAAuB,GAAG,MAAM,CAAC,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,sBAAsB,EAAE,YAAY,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,oBAAoB,EAAE,YAAY,CAAC,CAAC,CAAC;AAEnL,MAAM,MAAM,iBAAiB,GAAG,uBAAuB,GAAG,uBAAuB,CAAC;AAElF,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC,CAAC;AAC7G,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC,CAAC;AAE7G,wBAAgB,aAAa,CAAC,MAAM,EAAE,UAAU,GAAG,uBAAuB,EAAE,CAE3E;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,UAAU,GAAG,uBAAuB,EAAE,CAK3E;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,iBAAiB,GAAG,eAAe,GAAG,eAAe,GAAG,OAAO,CAEzG;AAED,wBAAgB,OAAO,CAAC,CAAC,SAAS,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAQ3E;AAED,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,GAAG,SAAS,EAAE,CAAC,EAAE,MAAM,CAAC,IAAI,GAAG,SAAS,GAAG,MAAM,CAM3F;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,GAAG,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,IAAI,GAAG,KAAK,IAAI,MAAM,CAAC,OAAO,CAElG;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE;IAAE,GAAG,CAAC,EAAE,GAAG,CAAC,cAAc,GAAG,IAAI,CAAA;CAAE,GAAG,SAAS,GAAG,GAAG,CAAC,cAAc,CAMpG;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE;IAAE,KAAK,CAAC,EAAE,GAAG,CAAC,KAAK,GAAG,IAAI,CAAA;CAAE,GAAG,SAAS,GAAG,GAAG,CAAC,KAAK,CAMtF"}
1
+ {"version":3,"file":"ast.d.ts","sourceRoot":"","sources":["../../src/tools/ast.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,KAAK,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AAEjC,MAAM,MAAM,uBAAuB,GAAG,MAAM,CAAC,iBAAiB,GAC7D,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,iBAAiB,EAAE,YAAY,CAAC,CAAC,CAAC;AAGzD,MAAM,MAAM,uBAAuB,GAAG,MAAM,CAAC,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,sBAAsB,EAAE,YAAY,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,oBAAoB,EAAE,YAAY,CAAC,CAAC,CAAC;AAEnL,MAAM,MAAM,iBAAiB,GAAG,uBAAuB,GAAG,uBAAuB,CAAC;AAElF,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC,CAAC;AAC7G,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC,CAAC;AAE7G,wBAAgB,aAAa,CAAC,MAAM,EAAE,UAAU,GAAG,uBAAuB,EAAE,CAE3E;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,UAAU,GAAG,uBAAuB,EAAE,CAK3E;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,iBAAiB,GAAG,eAAe,GAAG,eAAe,GAAG,OAAO,CAEzG;AAED,wBAAgB,OAAO,CAAC,CAAC,SAAS,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAQ3E;AAED,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,GAAG,SAAS,EAAE,CAAC,EAAE,MAAM,CAAC,IAAI,GAAG,SAAS,GAAG,MAAM,CAM3F;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,GAAG,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,IAAI,GAAG,KAAK,IAAI,MAAM,CAAC,OAAO,CAElG;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE;IAAE,GAAG,CAAC,EAAE,GAAG,CAAC,cAAc,GAAG,IAAI,GAAG,SAAS,CAAC;CAAE,GAAG,SAAS,GAAG,GAAG,CAAC,cAAc,CAMjH;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE;IAAE,KAAK,CAAC,EAAE,GAAG,CAAC,KAAK,GAAG,IAAI,GAAG,SAAS,CAAC;CAAE,GAAG,SAAS,GAAG,GAAG,CAAC,KAAK,CAMnG"}
package/dist/tools/ast.js CHANGED
@@ -1,49 +1,38 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.assertRange = exports.assertLoc = exports.isComment = exports.linesBetween = exports.extrema = exports.isTypeImportOrExport = exports.exportModules = exports.importModules = void 0;
4
- function importModules(source) {
5
- return source.ast.body.filter((node) => node.type === 'ImportDeclaration');
6
- }
7
- exports.importModules = importModules;
8
- function exportModules(source) {
9
- return source.ast.body.filter((node) => (node.type === 'ExportNamedDeclaration' || node.type === 'ExportAllDeclaration') && Boolean(node.source));
10
- }
11
- exports.exportModules = exportModules;
12
- function isTypeImportOrExport(node) {
13
- return ('importKind' in node && node.importKind === 'type') || ('exportKind' in node && node.exportKind === 'type');
14
- }
15
- exports.isTypeImportOrExport = isTypeImportOrExport;
16
- function extrema(source) {
17
- const [a, b] = [source.at(0), source.at(-1)];
1
+ export function importModules(source) {
2
+ return source.ast.body.filter((node) => node.type === "ImportDeclaration");
3
+ }
4
+ export function exportModules(source) {
5
+ return source.ast.body.filter((node) => (node.type === "ExportNamedDeclaration" || node.type === "ExportAllDeclaration") && Boolean(node.source));
6
+ }
7
+ export function isTypeImportOrExport(node) {
8
+ return ("importKind" in node && node.importKind === "type") || ("exportKind" in node && node.exportKind === "type");
9
+ }
10
+ export function extrema(source) {
11
+ const [a, b,] = [source.at(0), source.at(-1),];
18
12
  if (!a || !b) {
19
13
  throw new Error(`extrema: invalid input`);
20
14
  }
21
- return [a, b];
15
+ return [a, b,];
22
16
  }
23
- exports.extrema = extrema;
24
- function linesBetween(a, b) {
17
+ export function linesBetween(a, b) {
25
18
  if (!a?.loc || !b?.loc) {
26
19
  throw new Error(`error: AST was generated without node location information`);
27
20
  }
28
21
  return b.loc.start.line - a.loc.end.line - 1;
29
22
  }
30
- exports.linesBetween = linesBetween;
31
- function isComment(value) {
32
- return value.type === 'Block' || value.type === 'Line';
23
+ export function isComment(value) {
24
+ return value.type === "Block" || value.type === "Line";
33
25
  }
34
- exports.isComment = isComment;
35
- function assertLoc(value) {
26
+ export function assertLoc(value) {
36
27
  if (value?.loc) {
37
28
  return value.loc;
38
29
  }
39
30
  throw new Error(`error: AST was generated without node location information`);
40
31
  }
41
- exports.assertLoc = assertLoc;
42
- function assertRange(value) {
32
+ export function assertRange(value) {
43
33
  if (value?.range) {
44
34
  return value.range;
45
35
  }
46
36
  throw new Error();
47
37
  }
48
- exports.assertRange = assertRange;
49
38
  //# sourceMappingURL=ast.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ast.js","sourceRoot":"","sources":["../../src/tools/ast.ts"],"names":[],"mappings":";;;AAeA,SAAgB,aAAa,CAAC,MAAkB;IAC/C,OAAO,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,EAAmC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,mBAAmB,CAAC,CAAC;AAC7G,CAAC;AAFD,sCAEC;AAED,SAAgB,aAAa,CAAC,MAAkB;IAC/C,OAAO,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAC5B,CAAC,IAAI,EAAmC,EAAE,CACzC,CAAC,IAAI,CAAC,IAAI,KAAK,wBAAwB,IAAI,IAAI,CAAC,IAAI,KAAK,sBAAsB,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CACzG,CAAC;AACH,CAAC;AALD,sCAKC;AAED,SAAgB,oBAAoB,CAAC,IAA2D;IAC/F,OAAO,CAAC,YAAY,IAAI,IAAI,IAAI,IAAI,CAAC,UAAU,KAAK,MAAM,CAAC,IAAI,CAAC,YAAY,IAAI,IAAI,IAAI,IAAI,CAAC,UAAU,KAAK,MAAM,CAAC,CAAC;AACrH,CAAC;AAFD,oDAEC;AAED,SAAgB,OAAO,CAAwB,MAAoB;IAClE,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAE7C,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;IAC3C,CAAC;IAED,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACf,CAAC;AARD,0BAQC;AAED,SAAgB,YAAY,CAAC,CAA0B,EAAE,CAA0B;IAClF,IAAI,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;IAC/E,CAAC;IAED,OAAO,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC;AAC9C,CAAC;AAND,oCAMC;AAED,SAAgB,SAAS,CAAC,KAA+C;IACxE,OAAO,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC;AACxD,CAAC;AAFD,8BAEC;AAED,SAAgB,SAAS,CAAC,KAAsD;IAC/E,IAAI,KAAK,EAAE,GAAG,EAAE,CAAC;QAChB,OAAO,KAAK,CAAC,GAAG,CAAC;IAClB,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;AAC/E,CAAC;AAND,8BAMC;AAED,SAAgB,WAAW,CAAC,KAA+C;IAC1E,IAAI,KAAK,EAAE,KAAK,EAAE,CAAC;QAClB,OAAO,KAAK,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,MAAM,IAAI,KAAK,EAAE,CAAC;AACnB,CAAC;AAND,kCAMC"}
1
+ {"version":3,"file":"ast.js","sourceRoot":"","sources":["../../src/tools/ast.ts"],"names":[],"mappings":"AAeA,MAAM,UAAU,aAAa,CAAC,MAAkB;IAC/C,OAAO,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,EAAmC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,mBAAmB,CAAC,CAAC;AAC7G,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,MAAkB;IAC/C,OAAO,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAC5B,CAAC,IAAI,EAAmC,EAAE,CACzC,CAAC,IAAI,CAAC,IAAI,KAAK,wBAAwB,IAAI,IAAI,CAAC,IAAI,KAAK,sBAAsB,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CACzG,CAAC;AACH,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,IAA2D;IAC/F,OAAO,CAAC,YAAY,IAAI,IAAI,IAAI,IAAI,CAAC,UAAU,KAAK,MAAM,CAAC,IAAI,CAAC,YAAY,IAAI,IAAI,IAAI,IAAI,CAAC,UAAU,KAAK,MAAM,CAAC,CAAC;AACrH,CAAC;AAED,MAAM,UAAU,OAAO,CAAwB,MAAoB;IAClE,MAAM,CAAE,CAAC,EAAE,CAAC,EAAG,GAAG,CAAE,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAG,CAAC;IAEnD,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;IAC3C,CAAC;IAED,OAAO,CAAE,CAAC,EAAE,CAAC,EAAG,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,CAA0B,EAAE,CAA0B;IAClF,IAAI,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;IAC/E,CAAC;IAED,OAAO,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC;AAC9C,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,KAA+C;IACxE,OAAO,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC;AACxD,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,KAAmE;IAC5F,IAAI,KAAK,EAAE,GAAG,EAAE,CAAC;QAChB,OAAO,KAAK,CAAC,GAAG,CAAC;IAClB,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;AAC/E,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,KAA4D;IACvF,IAAI,KAAK,EAAE,KAAK,EAAE,CAAC;QAClB,OAAO,KAAK,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,MAAM,IAAI,KAAK,EAAE,CAAC;AACnB,CAAC"}
@@ -1,5 +1,5 @@
1
- import type { Rule } from 'eslint';
2
- import type { Node } from 'estree';
1
+ import type { Rule } from "eslint";
2
+ import type { Node } from "estree";
3
3
  export interface RuleContext<Configuration extends unknown[]> extends Rule.RuleContext {
4
4
  options: Configuration;
5
5
  }
@@ -1,8 +1,5 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.fixRange = void 0;
4
- function fixRange(context, data) {
5
- const [first, last] = data.range;
1
+ export function fixRange(context, data) {
2
+ const [first, last,] = data.range;
6
3
  context.report({
7
4
  node: last,
8
5
  message: data.message,
@@ -10,9 +7,8 @@ function fixRange(context, data) {
10
7
  if (!first.range || !last.range) {
11
8
  return null;
12
9
  }
13
- return fixer.replaceTextRange([first.range[0], last.range[1]], data.code);
10
+ return fixer.replaceTextRange([first.range[0], last.range[1],], data.code);
14
11
  },
15
12
  });
16
13
  }
17
- exports.fixRange = fixRange;
18
14
  //# sourceMappingURL=rule.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"rule.js","sourceRoot":"","sources":["../../src/tools/rule.ts"],"names":[],"mappings":";;;AAWA,SAAgB,QAAQ,CACvB,OAAyB,EACzB,IAIC;IAED,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;IAEjC,OAAO,CAAC,MAAM,CAAC;QACd,IAAI,EAAE,IAAI;QACV,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,GAAG,CAAC,KAAK;YACR,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;gBACjC,OAAO,IAAI,CAAC;YACb,CAAC;YAED,OAAO,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3E,CAAC;KACD,CAAC,CAAC;AACJ,CAAC;AArBD,4BAqBC"}
1
+ {"version":3,"file":"rule.js","sourceRoot":"","sources":["../../src/tools/rule.ts"],"names":[],"mappings":"AAWA,MAAM,UAAU,QAAQ,CACvB,OAAyB,EACzB,IAIC;IAED,MAAM,CAAE,KAAK,EAAE,IAAI,EAAG,GAAG,IAAI,CAAC,KAAK,CAAC;IAEpC,OAAO,CAAC,MAAM,CAAC;QACd,IAAI,EAAE,IAAI;QACV,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,GAAG,CAAC,KAAK;YACR,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;gBACjC,OAAO,IAAI,CAAC;YACb,CAAC;YAED,OAAO,KAAK,CAAC,gBAAgB,CAAC,CAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAG,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9E,CAAC;KACD,CAAC,CAAC;AACJ,CAAC"}
@@ -1,8 +1,6 @@
1
- export type SortOptions = Pick<Intl.CollatorOptions, 'sensitivity' | 'ignorePunctuation' | 'numeric' | 'caseFirst'> & {
1
+ export type SortOptions = Pick<Intl.CollatorOptions, "sensitivity" | "ignorePunctuation" | "numeric" | "caseFirst"> & {
2
2
  locales?: string[];
3
3
  caseGroups?: boolean;
4
4
  };
5
- export declare function sortByPath<T extends object, K1 extends keyof T, K2 extends keyof T[K1], K3 extends keyof T[K1][K2]>(source: T[], path: readonly [K1, K2, K3], options?: SortOptions): T[];
6
- export declare function sortByPath<T extends object, K1 extends keyof T, K2 extends keyof T[K1]>(source: T[], path: readonly [K1, K2], options?: SortOptions): T[];
7
- export declare function sortByPath<T extends object, K extends keyof T>(source: T[], path: readonly [K], options?: SortOptions): T[];
5
+ export declare function sortByPath<T extends object>(sources: T[], path: ReadonlyArray<string | number>, options?: SortOptions): T[];
8
6
  //# sourceMappingURL=sort.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sort.d.ts","sourceRoot":"","sources":["../../src/tools/sort.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,aAAa,GAAG,mBAAmB,GAAG,SAAS,GAAG,WAAW,CAAC,GAAG;IACrH,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AAqDF,wBAAgB,UAAU,CAAC,CAAC,SAAS,MAAM,EAAE,EAAE,SAAS,MAAM,CAAC,EAAE,EAAE,SAAS,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,SAAS,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,SAAS,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,CAAC,EAAE,CAAC;AAE3L,wBAAgB,UAAU,CAAC,CAAC,SAAS,MAAM,EAAE,EAAE,SAAS,MAAM,CAAC,EAAE,EAAE,SAAS,MAAM,CAAC,CAAC,EAAE,CAAC,EACtF,MAAM,EAAE,CAAC,EAAE,EACX,IAAI,EAAE,SAAS,CAAC,EAAE,EAAE,EAAE,CAAC,EACvB,OAAO,CAAC,EAAE,WAAW,GACnB,CAAC,EAAE,CAAC;AAEP,wBAAgB,UAAU,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM,CAAC,EAC7D,MAAM,EAAE,CAAC,EAAE,EACX,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,EAClB,OAAO,CAAC,EAAE,WAAW,GACnB,CAAC,EAAE,CAAC"}
1
+ {"version":3,"file":"sort.d.ts","sourceRoot":"","sources":["../../src/tools/sort.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,aAAa,GAAG,mBAAmB,GAAG,SAAS,GAAG,WAAW,CAAC,GAAG;IACrH,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AAmDF,wBAAgB,UAAU,CAAC,CAAC,SAAS,MAAM,EAC1C,OAAO,EAAE,CAAC,EAAE,EACZ,IAAI,EAAE,aAAa,CAAC,MAAM,GAAG,MAAM,CAAC,EACpC,OAAO,CAAC,EAAE,WAAW,GACnB,CAAC,EAAE,CAwCL"}
@@ -1,8 +1,5 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.sortByPath = void 0;
4
1
  function isIndexable(value) {
5
- return typeof value === 'object' && value !== null;
2
+ return typeof value === "object" && value !== null;
6
3
  }
7
4
  function readPath(from, path) {
8
5
  if (!isIndexable(from)) {
@@ -19,17 +16,16 @@ function readPath(from, path) {
19
16
  }
20
17
  function sort(options) {
21
18
  return (a, b) => {
22
- if (typeof a.sortValue === 'number' && typeof b.sortValue === 'number') {
19
+ if (typeof a.sortValue === "number" && typeof b.sortValue === "number") {
23
20
  return a.sortValue - b.sortValue;
24
21
  }
25
- if (typeof a.sortValue === 'string' && typeof b.sortValue === 'string') {
22
+ if (typeof a.sortValue === "string" && typeof b.sortValue === "string") {
26
23
  return a.sortValue.localeCompare(b.sortValue, options?.locales, options);
27
24
  }
28
25
  return 0;
29
26
  };
30
27
  }
31
- // eslint-disable-next-line @typescript-eslint/ban-types
32
- function sortByPath(sources, path, options) {
28
+ export function sortByPath(sources, path, options) {
33
29
  const caseGroups = sources.reduce((groups, source) => {
34
30
  const sortValue = readPath(source, path);
35
31
  const sortable = {
@@ -37,7 +33,7 @@ function sortByPath(sources, path, options) {
37
33
  sortValue,
38
34
  };
39
35
  let target = groups.lower;
40
- if (options?.caseGroups && typeof sortValue === 'string' && sortValue.length) {
36
+ if (options?.caseGroups && typeof sortValue === "string" && sortValue.length) {
41
37
  if (/^[@$_]/u.test(sortValue)) {
42
38
  target = groups.punctuation;
43
39
  }
@@ -56,10 +52,9 @@ function sortByPath(sources, path, options) {
56
52
  caseGroups.upper.sort(sort(options));
57
53
  caseGroups.lower.sort(sort(options));
58
54
  return [
59
- ...caseGroups.punctuation.map(({ source }) => source),
60
- ...(options?.caseFirst === 'upper' ? caseGroups.upper : caseGroups.lower).map(({ source }) => source),
61
- ...(options?.caseFirst === 'upper' ? caseGroups.lower : caseGroups.upper).map(({ source }) => source),
55
+ ...caseGroups.punctuation.map(({ source, }) => source),
56
+ ...(options?.caseFirst === "upper" ? caseGroups.upper : caseGroups.lower).map(({ source, }) => source),
57
+ ...(options?.caseFirst === "upper" ? caseGroups.lower : caseGroups.upper).map(({ source, }) => source),
62
58
  ];
63
59
  }
64
- exports.sortByPath = sortByPath;
65
60
  //# sourceMappingURL=sort.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sort.js","sourceRoot":"","sources":["../../src/tools/sort.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sort.js","sourceRoot":"","sources":["../../src/tools/sort.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@shigen/eslint-plugin",
3
- "version": "0.12.1",
3
+ "version": "0.14.0",
4
4
  "description": "General purpose plugin for ESLint",
5
5
  "keywords": [
6
6
  "eslint",
@@ -19,8 +19,10 @@
19
19
  "readme.md",
20
20
  "dist/**/*"
21
21
  ],
22
- "main": "dist/index.js",
23
- "types": "dist/index.d.ts",
22
+ "type": "module",
23
+ "exports": {
24
+ ".": "./dist/index.js"
25
+ },
24
26
  "wireit": {
25
27
  "prepublishOnly": {
26
28
  "dependencies": [
@@ -29,21 +31,21 @@
29
31
  ]
30
32
  },
31
33
  "test": {
32
- "command": "tsx --tsconfig tsconfig.test.json --test-reporter spec --test 'src/**/*.test.ts'",
34
+ "command": "node --test-reporter spec --test 'src/**/*.test.ts'",
33
35
  "files": [
34
36
  "src/**/*.ts"
35
37
  ],
36
38
  "output": []
37
39
  },
38
40
  "build": {
39
- "command": "tsc --build tsconfig.build.json",
41
+ "command": "tsc --build tsconfig.json",
40
42
  "clean": "if-file-deleted",
41
43
  "files": [
42
44
  "src/**/*.ts",
43
45
  "!src/**/*.test.ts",
44
46
  "!src/tools/test.ts",
45
47
  "../../tsconfig.base.json",
46
- "tsconfig.build.json"
48
+ "tsconfig.json"
47
49
  ],
48
50
  "output": [
49
51
  "dist/**",
@@ -56,22 +58,23 @@
56
58
  },
57
59
  "dependencies": {
58
60
  "@shigen/enum": "~0.5.0",
59
- "minimatch": "^10.0.1"
61
+ "minimatch": "^10.0.3"
60
62
  },
61
63
  "devDependencies": {
62
64
  "@types/eslint": "9.6.1",
63
- "@types/estree": "1.0.5",
64
- "typescript-eslint": "8.3.0",
65
+ "@types/estree": "1.0.8",
66
+ "@typescript-eslint/types": "8.42.0",
67
+ "typescript-eslint": "8.42.0",
65
68
  "ajv": "8.17.1",
66
- "eslint": "9.9.1",
67
- "dedent": "1.5.3"
69
+ "eslint": "9.35.0",
70
+ "dedent": "1.7.0"
68
71
  },
69
72
  "peerDependencies": {
70
- "@typescript-eslint/parser": "^8.0.0",
73
+ "typescript-eslint": "^8.0.0",
71
74
  "eslint": "^9.0.0"
72
75
  },
73
76
  "peerDependenciesMeta": {
74
- "@typescript-eslint/parser": {
77
+ "typescript-eslint": {
75
78
  "optional": true
76
79
  }
77
80
  },