@shigen/eslint-plugin 0.4.0 → 0.5.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.
@@ -1,30 +1,32 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.rule = exports.TypeImportConfiguration = exports.ModuleClass = void 0;
4
- const tslib_1 = require("tslib");
5
- const node_module_1 = tslib_1.__importDefault(require("node:module"));
3
+ exports.rule = exports.TypeImport = exports.ModuleClass = void 0;
4
+ const node_module_1 = require("node:module");
6
5
  const node_path_1 = require("node:path");
6
+ const enum_1 = require("@shigen/enum");
7
7
  const ast_1 = require("../tools/ast");
8
8
  const rule_1 = require("../tools/rule");
9
9
  const sort_1 = require("../tools/sort");
10
- var ModuleClass;
11
- (function (ModuleClass) {
12
- ModuleClass["Node"] = "node";
13
- ModuleClass["External"] = "external";
14
- ModuleClass["Absolute"] = "absolute";
15
- ModuleClass["Relative"] = "relative";
16
- })(ModuleClass || (exports.ModuleClass = ModuleClass = {}));
17
- var TypeImportConfiguration;
18
- (function (TypeImportConfiguration) {
19
- TypeImportConfiguration["Include"] = "include";
20
- TypeImportConfiguration["Exclude"] = "exclude";
21
- TypeImportConfiguration["Only"] = "only";
22
- })(TypeImportConfiguration || (exports.TypeImportConfiguration = TypeImportConfiguration = {}));
10
+ const moduleClassId = Symbol();
11
+ const typeImportId = Symbol();
12
+ class ModuleClass extends (0, enum_1.Enum)(moduleClassId) {
13
+ static Node = new ModuleClass(moduleClassId, { key: 'node' });
14
+ static External = new ModuleClass(moduleClassId, { key: 'external' });
15
+ static Absolute = new ModuleClass(moduleClassId, { key: 'absolute' });
16
+ static Relative = new ModuleClass(moduleClassId, { key: 'relative' });
17
+ }
18
+ exports.ModuleClass = ModuleClass;
19
+ class TypeImport extends (0, enum_1.Enum)(typeImportId) {
20
+ static Include = new TypeImport(typeImportId, { key: 'include' });
21
+ static Exclude = new TypeImport(typeImportId, { key: 'exclude' });
22
+ static Only = new TypeImport(typeImportId, { key: 'only' });
23
+ }
24
+ exports.TypeImport = TypeImport;
23
25
  const defaultConfiguration = [
24
- { class: ModuleClass.Node },
25
- { class: ModuleClass.External },
26
- { class: ModuleClass.Absolute },
27
- { class: ModuleClass.Relative },
26
+ { class: ModuleClass.Node.key },
27
+ { class: ModuleClass.External.key },
28
+ { class: ModuleClass.Absolute.key },
29
+ { class: ModuleClass.Relative.key },
28
30
  ];
29
31
  function groupIndex(node, groups) {
30
32
  if (typeof node.source.value !== 'string') {
@@ -46,9 +48,9 @@ function groupIndex(node, groups) {
46
48
  return false;
47
49
  }
48
50
  if (isTypeImport) {
49
- return importPath.startsWith(group.path) && group.types !== TypeImportConfiguration.Exclude;
51
+ return importPath.startsWith(group.path) && group.types !== TypeImport.Exclude.key;
50
52
  }
51
- return importPath.startsWith(group.path) && group.types !== TypeImportConfiguration.Only;
53
+ return importPath.startsWith(group.path) && group.types !== TypeImport.Only.key;
52
54
  });
53
55
  if (hardCodedIndex >= 0) {
54
56
  return hardCodedIndex;
@@ -59,7 +61,7 @@ function groupIndex(node, groups) {
59
61
  throw new Error(`group-imports: unexpected undefined module name for path '${importPath}'`);
60
62
  }
61
63
  let moduleClass = ModuleClass.External;
62
- if (node_module_1.default.isBuiltin(moduleName)) {
64
+ if ((0, node_module_1.isBuiltin)(moduleName)) {
63
65
  moduleClass = ModuleClass.Node;
64
66
  }
65
67
  else if (/^(?:\/|\.)/u.exec(moduleName)) {
@@ -70,9 +72,9 @@ function groupIndex(node, groups) {
70
72
  return false;
71
73
  }
72
74
  if (isTypeImport) {
73
- return group.class === moduleClass && group.types !== TypeImportConfiguration.Exclude;
75
+ return group.class === moduleClass.key && group.types !== TypeImport.Exclude.key;
74
76
  }
75
- return group.class === moduleClass && group.types !== TypeImportConfiguration.Only;
77
+ return group.class === moduleClass.key && group.types !== TypeImport.Only.key;
76
78
  });
77
79
  return classIndex >= 0 ? classIndex : groups.length;
78
80
  }
@@ -80,19 +82,75 @@ function checkLines(context, previous, next, lineCount) {
80
82
  if (!previous || !next) {
81
83
  throw new Error(`group-imports: unexpected undefined node`);
82
84
  }
83
- if ((0, ast_1.linesBetween)(previous, next) === lineCount) {
84
- return;
85
+ const tokensBetween = context.sourceCode.getTokensBetween(previous, next, { includeComments: true });
86
+ const relevantItems = [previous];
87
+ for (const token of tokensBetween) {
88
+ if (!(0, ast_1.isComment)(token)) {
89
+ return context.report({
90
+ loc: {
91
+ start: (0, ast_1.assertLoc)(tokensBetween.find((t) => !(0, ast_1.isComment)(t))).start,
92
+ end: (0, ast_1.assertLoc)(tokensBetween.findLast((t) => !(0, ast_1.isComment)(t))).end,
93
+ },
94
+ message: `Unexpected code between imports of group`,
95
+ });
96
+ }
97
+ relevantItems.push(token);
85
98
  }
86
- context.report({
87
- node: previous,
88
- message: `Expected ${lineCount} empty line${lineCount === 1 ? '' : 's'} after import`,
89
- fix(fixer) {
90
- if (!previous.range || !next.range || !(0, ast_1.onlyWhiteSpaceBetween)(previous, next, context.getSourceCode())) {
91
- return null;
99
+ relevantItems.push(next);
100
+ for (let i = 0; i < relevantItems.length - 1; i++) {
101
+ const a = relevantItems[i];
102
+ const b = relevantItems[i + 1];
103
+ const locA = (0, ast_1.assertLoc)(a);
104
+ const locB = (0, ast_1.assertLoc)(b);
105
+ const rangeA = (0, ast_1.assertRange)(a);
106
+ const rangeB = (0, ast_1.assertRange)(b);
107
+ const linesBetween = locB.start.line - locA.end.line - 1;
108
+ if (lineCount === 0) {
109
+ if (linesBetween > 0) {
110
+ const range = [rangeA[1], rangeB[0] - locB.start.column];
111
+ context.report({
112
+ loc: {
113
+ start: locA.end,
114
+ end: {
115
+ line: locB.start.line,
116
+ column: 0,
117
+ },
118
+ },
119
+ message: `Unexpected white space between imports`,
120
+ fix: (fixer) => fixer.replaceTextRange(range, '\n'),
121
+ });
92
122
  }
93
- return fixer.replaceTextRange([previous.range[1], next.range[0]], ''.padEnd(lineCount + 1, '\n'));
94
- },
95
- });
123
+ }
124
+ else {
125
+ const columnOffset = (0, ast_1.isComment)(b) ? 0 : locB.start.column;
126
+ const reportLoc = {
127
+ start: locA.end,
128
+ end: {
129
+ line: locB.start.line,
130
+ column: columnOffset,
131
+ },
132
+ };
133
+ const fix = (fixer) => fixer.replaceTextRange([rangeA[1], rangeB[0] - columnOffset], '\n\n');
134
+ if ((0, ast_1.isComment)(a) || (0, ast_1.isComment)(b)) {
135
+ if (linesBetween > 1) {
136
+ context.report({
137
+ loc: reportLoc,
138
+ message: `TODO 1`,
139
+ fix,
140
+ });
141
+ }
142
+ }
143
+ else {
144
+ if (linesBetween !== 1) {
145
+ context.report({
146
+ loc: reportLoc,
147
+ message: `TODO 2`,
148
+ fix,
149
+ });
150
+ }
151
+ }
152
+ }
153
+ }
96
154
  }
97
155
  function groupLabels(groups) {
98
156
  return groups.map((group) => {
@@ -108,7 +166,7 @@ exports.rule = {
108
166
  schema: {
109
167
  definitions: {
110
168
  typeImportConfiguration: {
111
- enum: ['include', 'exclude', 'only'],
169
+ enum: [...TypeImport.keys()],
112
170
  },
113
171
  moduleConfiguration: {
114
172
  oneOf: [
@@ -117,7 +175,7 @@ exports.rule = {
117
175
  type: 'object',
118
176
  properties: {
119
177
  class: {
120
- enum: ['node', 'external', 'absolute', 'relative'],
178
+ enum: [...ModuleClass.keys()],
121
179
  },
122
180
  types: {
123
181
  $ref: '#/definitions/typeImportConfiguration',
@@ -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":";;;AAAA,6CAAwC;AACxC,yCAAuC;AAIvC,uCAAoC;AAIpC,sCAA+G;AAC/G,wCAAyC;AACzC,wCAA2C;AAK3C,MAAM,aAAa,GAAG,MAAM,EAAE,CAAC;AAC/B,MAAM,YAAY,GAAG,MAAM,EAAE,CAAC;AAE9B,MAAa,WAAY,SAAQ,IAAA,WAAI,EAA6B,aAAa,CAAC;IAC/E,MAAM,CAAU,IAAI,GAAG,IAAI,WAAW,CAAC,aAAa,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC;IACvE,MAAM,CAAU,QAAQ,GAAG,IAAI,WAAW,CAAC,aAAa,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC,CAAC;IAC/E,MAAM,CAAU,QAAQ,GAAG,IAAI,WAAW,CAAC,aAAa,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC,CAAC;IAC/E,MAAM,CAAU,QAAQ,GAAG,IAAI,WAAW,CAAC,aAAa,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC,CAAC;;AAJhF,kCAKC;AAED,MAAa,UAAW,SAAQ,IAAA,WAAI,EAA4B,YAAY,CAAC;IAC5E,MAAM,CAAU,OAAO,GAAG,IAAI,UAAU,CAAC,YAAY,EAAE,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC;IAC3E,MAAM,CAAU,OAAO,GAAG,IAAI,UAAU,CAAC,YAAY,EAAE,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC;IAC3E,MAAM,CAAU,IAAI,GAAG,IAAI,UAAU,CAAC,YAAY,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC;;AAHtE,gCAIC;AAgBD,MAAM,oBAAoB,GAAyB;IAClD,EAAE,KAAK,EAAE,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE;IAC/B,EAAE,KAAK,EAAE,WAAW,CAAC,QAAQ,CAAC,GAAG,EAAE;IACnC,EAAE,KAAK,EAAE,WAAW,CAAC,QAAQ,CAAC,GAAG,EAAE;IACnC,EAAE,KAAK,EAAE,WAAW,CAAC,QAAQ,CAAC,GAAG,EAAE;CACnC,CAAC;AAEF,SAAS,UAAU,CAAC,IAA6B,EAAE,MAA4B;IAC9E,IAAI,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,KAAK,QAAQ,EAAE;QAC1C,OAAO,MAAM,CAAC,MAAM,CAAC;KACrB;IAED,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;IAErC,MAAM,SAAS,GAAG,CAAC,QAAiD,EAAE,EAAE,CACvE,MAAM,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE;QAC1B,IAAI,KAAK,YAAY,KAAK,EAAE;YAC3B,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,aAAa,EAAE,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC;SAC9D;QAED,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC;IACxB,CAAC,CAAC,CAAC;IAEJ,MAAM,YAAY,GAAG,IAAA,0BAAoB,EAAC,IAAI,CAAC,CAAC;IAEhD,MAAM,cAAc,GAAG,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE;QAC1C,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YAC9B,OAAO,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;SACpC;QAED,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE;YAChC,OAAO,KAAK,CAAC;SACb;QAED,IAAI,YAAY,EAAE;YACjB,OAAO,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,KAAK,KAAK,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC;SACnF;QAED,OAAO,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,KAAK,KAAK,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC;IACjF,CAAC,CAAC,CAAC;IAEH,IAAI,cAAc,IAAI,CAAC,EAAE;QACxB,OAAO,cAAc,CAAC;KACtB;IAED,gEAAgE;IAChE,MAAM,CAAC,UAAU,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IAErD,IAAI,CAAC,UAAU,EAAE;QAChB,MAAM,IAAI,KAAK,CAAC,6DAA6D,UAAU,GAAG,CAAC,CAAC;KAC5F;IAED,IAAI,WAAW,GAAG,WAAW,CAAC,QAAQ,CAAC;IAEvC,IAAI,IAAA,uBAAS,EAAC,UAAU,CAAC,EAAE;QAC1B,WAAW,GAAG,WAAW,CAAC,IAAI,CAAC;KAC/B;SAAM,IAAI,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;QAC1C,WAAW,GAAG,IAAA,sBAAU,EAAC,UAAU,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC;KACnF;IAED,MAAM,UAAU,GAAG,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE;QACtC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE;YAC9D,OAAO,KAAK,CAAC;SACb;QAED,IAAI,YAAY,EAAE;YACjB,OAAO,KAAK,CAAC,KAAK,KAAK,WAAW,CAAC,GAAG,IAAI,KAAK,CAAC,KAAK,KAAK,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC;SACjF;QAED,OAAO,KAAK,CAAC,KAAK,KAAK,WAAW,CAAC,GAAG,IAAI,KAAK,CAAC,KAAK,KAAK,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC;IAC/E,CAAC,CAAC,CAAC;IAEH,OAAO,UAAU,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;AACrD,CAAC;AAED,SAAS,UAAU,CAClB,OAA0C,EAC1C,QAA6C,EAC7C,IAAyC,EACzC,SAAgB;IAEhB,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,EAAE;QACvB,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;KAC5D;IAED,MAAM,aAAa,GAAG,OAAO,CAAC,UAAU,CAAC,gBAAgB,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC;IACrG,MAAM,aAAa,GAAuB,CAAC,QAAQ,CAAC,CAAC;IAErD,KAAK,MAAM,KAAK,IAAI,aAAa,EAAE;QAClC,IAAI,CAAC,IAAA,eAAS,EAAC,KAAK,CAAC,EAAE;YACtB,OAAO,OAAO,CAAC,MAAM,CAAC;gBACrB,GAAG,EAAE;oBACJ,KAAK,EAAE,IAAA,eAAS,EAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAA,eAAS,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK;oBAChE,GAAG,EAAE,IAAA,eAAS,EAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAA,eAAS,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG;iBAChE;gBACD,OAAO,EAAE,0CAA0C;aACnD,CAAC,CAAC;SACH;QAED,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAC1B;IAED,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;QAClD,MAAM,CAAC,GAAG,aAAa,CAAC,CAAC,CAAE,CAAC;QAC5B,MAAM,CAAC,GAAG,aAAa,CAAC,CAAC,GAAG,CAAC,CAAE,CAAC;QAEhC,MAAM,IAAI,GAAG,IAAA,eAAS,EAAC,CAAC,CAAC,CAAC;QAC1B,MAAM,IAAI,GAAG,IAAA,eAAS,EAAC,CAAC,CAAC,CAAC;QAE1B,MAAM,MAAM,GAAG,IAAA,iBAAW,EAAC,CAAC,CAAC,CAAC;QAC9B,MAAM,MAAM,GAAG,IAAA,iBAAW,EAAC,CAAC,CAAC,CAAC;QAE9B,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC;QAEzD,IAAI,SAAS,KAAK,CAAC,EAAE;YACpB,IAAI,YAAY,GAAG,CAAC,EAAE;gBACrB,MAAM,KAAK,GAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBACpE,OAAO,CAAC,MAAM,CAAC;oBACd,GAAG,EAAE;wBACJ,KAAK,EAAE,IAAI,CAAC,GAAG;wBACf,GAAG,EAAE;4BACJ,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI;4BACrB,MAAM,EAAE,CAAC;yBACT;qBACD;oBACD,OAAO,EAAE,wCAAwC;oBACjD,GAAG,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,gBAAgB,CAAC,KAAK,EAAE,IAAI,CAAC;iBACnD,CAAC,CAAC;aACH;SACD;aAAM;YACN,MAAM,YAAY,GAAG,IAAA,eAAS,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;YAC1D,MAAM,SAAS,GAAG;gBACjB,KAAK,EAAE,IAAI,CAAC,GAAG;gBACf,GAAG,EAAE;oBACJ,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI;oBACrB,MAAM,EAAE,YAAY;iBACpB;aACD,CAAC;YAEF,MAAM,GAAG,GAAG,CAAC,KAAqB,EAAE,EAAE,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,EAAE,MAAM,CAAC,CAAC;YAE7G,IAAI,IAAA,eAAS,EAAC,CAAC,CAAC,IAAI,IAAA,eAAS,EAAC,CAAC,CAAC,EAAE;gBACjC,IAAI,YAAY,GAAG,CAAC,EAAE;oBACrB,OAAO,CAAC,MAAM,CAAC;wBACd,GAAG,EAAE,SAAS;wBACd,OAAO,EAAE,QAAQ;wBACjB,GAAG;qBACH,CAAC,CAAC;iBACH;aACD;iBAAM;gBACN,IAAI,YAAY,KAAK,CAAC,EAAE;oBACvB,OAAO,CAAC,MAAM,CAAC;wBACd,GAAG,EAAE,SAAS;wBACd,OAAO,EAAE,QAAQ;wBACjB,GAAG;qBACH,CAAC,CAAC;iBACH;aACD;SACD;KACD;AACF,CAAC;AAED,SAAS,WAAW,CAAC,MAA4B;IAChD,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QAC3B,IAAI,KAAK,YAAY,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE;YACtF,OAAO,QAAQ,CAAC;SAChB;QAED,OAAO,KAAK,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;IAClC,CAAC,CAAC,CAAC;AACJ,CAAC;AAEY,QAAA,IAAI,GAAqC;IACrD,IAAI,EAAE;QACL,OAAO,EAAE,MAAM;QACf,MAAM,EAAE;YACP,WAAW,EAAE;gBACZ,uBAAuB,EAAE;oBACxB,IAAI,EAAE,CAAC,GAAG,UAAU,CAAC,IAAI,EAAE,CAAC;iBAC5B;gBACD,mBAAmB,EAAE;oBACpB,KAAK,EAAE;wBACN,EAAE,IAAI,EAAE,QAAQ,EAAE;wBAClB;4BACC,IAAI,EAAE,QAAQ;4BACd,UAAU,EAAE;gCACX,KAAK,EAAE;oCACN,IAAI,EAAE,CAAC,GAAG,WAAW,CAAC,IAAI,EAAE,CAAC;iCAC7B;gCACD,KAAK,EAAE;oCACN,IAAI,EAAE,uCAAuC;iCAC7C;6BACD;4BACD,QAAQ,EAAE,CAAC,OAAO,CAAC;4BACnB,oBAAoB,EAAE,KAAK;yBAC3B;wBACD;4BACC,IAAI,EAAE,QAAQ;4BACd,UAAU,EAAE;gCACX,IAAI,EAAE;oCACL,IAAI,EAAE,QAAQ;iCACd;gCACD,KAAK,EAAE;oCACN,IAAI,EAAE,uCAAuC;iCAC7C;6BACD;4BACD,QAAQ,EAAE,CAAC,MAAM,CAAC;4BAClB,oBAAoB,EAAE,KAAK;yBAC3B;qBACD;iBACD;aACD;YACD,IAAI,EAAE,OAAO;YACb,KAAK,EAAE;gBACN,KAAK,EAAE;oBACN;wBACC,IAAI,EAAE,mCAAmC;qBACzC;oBACD;wBACC,IAAI,EAAE,OAAO;wBACb,KAAK,EAAE;4BACN,IAAI,EAAE,mCAAmC;yBACzC;qBACD;iBACD;aACD;SACD;KACD;IACD,MAAM,CAAC,OAAO;QACb,MAAM,mBAAmB,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,oBAAoB,CAAC;QAE5F,MAAM,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;QAElC,MAAM,OAAO,GAAG,IAAA,mBAAa,EAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YAClD,OAAO;gBACN,KAAK,EAAE,UAAU,CAAC,IAAI,EAAE,mBAAmB,CAAC;gBAC5C,IAAI;aACJ,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;YACzB,OAAO,EAAE,CAAC;SACV;QAED,MAAM,MAAM,GAAG,IAAA,iBAAU,EAAC,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;QAE9C,IAAI,aAAa,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC;QAErC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAC3B,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;YACjB,MAAM,OAAO,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YAE9B,IAAI,OAAO,IAAI,aAAa,KAAK,KAAK,CAAC,KAAK,EAAE;gBAC7C,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;aACzB;iBAAM;gBACN,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;aAC1B;YAED,aAAa,GAAG,KAAK,CAAC,KAAK,CAAC;YAE5B,OAAO,MAAM,CAAC;QACf,CAAC,EACD,CAAC,EAAE,CAAC,CACJ,CAAC;QAEF,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE;YAClD,IAAA,eAAQ,EAAC,OAAO,EAAE;gBACjB,KAAK,EAAE,IAAA,aAAO,EAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;gBAC/C,OAAO,EAAE,2BAA2B,WAAW,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;gBACjF,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;aAC9F,CAAC,CAAC;SACH;aAAM;YACN,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;gBAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBACtC,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBAC9B,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;oBACzB,UAAU,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;iBAC1C;gBAED,IAAI,CAAC,KAAK,CAAC,EAAE;oBACZ,OAAO;iBACP;gBAED,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;gBACvC,MAAM,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC;gBACxB,UAAU,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;YAC3C,CAAC,CAAC,CAAC;SACH;QAED,OAAO,EAAE,CAAC;IACX,CAAC;CACD,CAAC"}
@@ -1,31 +1,34 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.rule = exports.TypeImportInlinePosition = exports.TypeImportGroupPosition = void 0;
4
+ const enum_1 = require("@shigen/enum");
4
5
  const ast_1 = require("../tools/ast");
5
6
  const rule_1 = require("../tools/rule");
6
7
  const sort_1 = require("../tools/sort");
7
- var TypeImportGroupPosition;
8
- (function (TypeImportGroupPosition) {
9
- TypeImportGroupPosition["Ignore"] = "ignore";
10
- TypeImportGroupPosition["Top"] = "top";
11
- TypeImportGroupPosition["Bottom"] = "bottom";
12
- TypeImportGroupPosition["AboveValue"] = "above-value";
13
- TypeImportGroupPosition["BelowValue"] = "below-value";
14
- })(TypeImportGroupPosition || (exports.TypeImportGroupPosition = TypeImportGroupPosition = {}));
15
- var TypeImportInlinePosition;
16
- (function (TypeImportInlinePosition) {
17
- TypeImportInlinePosition["Ignore"] = "ignore";
18
- TypeImportInlinePosition["Start"] = "start";
19
- TypeImportInlinePosition["End"] = "End";
20
- })(TypeImportInlinePosition || (exports.TypeImportInlinePosition = TypeImportInlinePosition = {}));
8
+ const typeImportGroupPositionId = Symbol();
9
+ 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' });
16
+ }
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' });
22
+ }
23
+ exports.TypeImportInlinePosition = TypeImportInlinePosition;
21
24
  const defaultConfiguration = {
22
25
  specifier: 'source',
23
26
  locales: ['en-US'],
24
27
  numeric: true,
25
28
  caseFirst: 'lower',
26
29
  sortExports: true,
27
- typesInGroup: TypeImportGroupPosition.Ignore,
28
- inlineTypes: TypeImportInlinePosition.Ignore,
30
+ typesInGroup: TypeImportGroupPosition.Ignore.key,
31
+ inlineTypes: TypeImportInlinePosition.Ignore.key,
29
32
  };
30
33
  exports.rule = {
31
34
  meta: {
@@ -62,7 +65,10 @@ exports.rule = {
62
65
  type: 'boolean',
63
66
  },
64
67
  typesInGroup: {
65
- enum: ['ignore', 'top', 'bottom', 'above-value', 'below-value'],
68
+ enum: [...TypeImportGroupPosition.keys()],
69
+ },
70
+ inlineTypes: {
71
+ enum: [...TypeImportInlinePosition.keys()],
66
72
  },
67
73
  },
68
74
  },
@@ -80,7 +86,7 @@ exports.rule = {
80
86
  };
81
87
  const sortModules = (group) => {
82
88
  const sorted = (0, sort_1.sortByPath)(group, ['source', 'value'], configuration);
83
- if (configuration.typesInGroup !== TypeImportGroupPosition.Ignore) {
89
+ if (configuration.typesInGroup !== TypeImportGroupPosition.Ignore.key) {
84
90
  sorted.sort((a, b) => {
85
91
  const aIsType = (0, ast_1.isTypeImportOrExport)(a);
86
92
  const bIsType = (0, ast_1.isTypeImportOrExport)(b);
@@ -89,17 +95,17 @@ exports.rule = {
89
95
  }
90
96
  // eslint-disable-next-line @typescript-eslint/switch-exhaustiveness-check
91
97
  switch (configuration.typesInGroup) {
92
- case TypeImportGroupPosition.Top:
98
+ case TypeImportGroupPosition.Top.key:
93
99
  return aIsType ? -1 : 1;
94
- case TypeImportGroupPosition.Bottom:
100
+ case TypeImportGroupPosition.Bottom.key:
95
101
  return aIsType ? 1 : -1;
96
102
  }
97
103
  if (a.source.value === b.source.value) {
98
104
  // eslint-disable-next-line @typescript-eslint/switch-exhaustiveness-check
99
105
  switch (configuration.typesInGroup) {
100
- case TypeImportGroupPosition.AboveValue:
106
+ case TypeImportGroupPosition.AboveValue.key:
101
107
  return aIsType ? -1 : 1;
102
- case TypeImportGroupPosition.BelowValue:
108
+ case TypeImportGroupPosition.BelowValue.key:
103
109
  return aIsType ? 1 : -1;
104
110
  }
105
111
  }
@@ -126,7 +132,7 @@ exports.rule = {
126
132
  const from = configuration.specifier === 'source' ? 'local' : 'exported';
127
133
  return (0, sort_1.sortByPath)(specifiers, [from, 'name'], configuration);
128
134
  })();
129
- if (configuration.inlineTypes !== TypeImportInlinePosition.Ignore) {
135
+ if (configuration.inlineTypes !== TypeImportInlinePosition.Ignore.key) {
130
136
  sorted.sort((a, b) => {
131
137
  const aIsType = (0, ast_1.isTypeImportOrExport)(a);
132
138
  const bIsType = (0, ast_1.isTypeImportOrExport)(b);
@@ -135,9 +141,9 @@ exports.rule = {
135
141
  }
136
142
  // eslint-disable-next-line @typescript-eslint/switch-exhaustiveness-check
137
143
  switch (configuration.inlineTypes) {
138
- case TypeImportInlinePosition.Start:
144
+ case TypeImportInlinePosition.Start.key:
139
145
  return aIsType ? -1 : 1;
140
- case TypeImportInlinePosition.End:
146
+ case TypeImportInlinePosition.End.key:
141
147
  return aIsType ? 1 : -1;
142
148
  }
143
149
  return 0;
@@ -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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"}
package/dist/tools/ast.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.onlyWhiteSpaceBetween = exports.linesBetween = exports.extrema = exports.isTypeImportOrExport = exports.exportModules = exports.importModules = void 0;
3
+ exports.assertRange = exports.assertLoc = exports.isComment = exports.linesBetween = exports.extrema = exports.isTypeImportOrExport = exports.exportModules = exports.importModules = void 0;
4
4
  function importModules(source) {
5
5
  return source.ast.body.filter((node) => node.type === 'ImportDeclaration');
6
6
  }
@@ -29,8 +29,22 @@ function linesBetween(a, b) {
29
29
  return b.loc.start.line - a.loc.end.line - 1;
30
30
  }
31
31
  exports.linesBetween = linesBetween;
32
- function onlyWhiteSpaceBetween(a, b, source) {
33
- return !source.getFirstTokenBetween(a, b, { includeComments: true });
32
+ function isComment(value) {
33
+ return value.type === 'Block' || value.type === 'Line';
34
34
  }
35
- exports.onlyWhiteSpaceBetween = onlyWhiteSpaceBetween;
35
+ exports.isComment = isComment;
36
+ function assertLoc(value) {
37
+ if (value?.loc) {
38
+ return value.loc;
39
+ }
40
+ throw new Error(`error: AST was generated without node location information`);
41
+ }
42
+ exports.assertLoc = assertLoc;
43
+ function assertRange(value) {
44
+ if (value?.range) {
45
+ return value.range;
46
+ }
47
+ throw new Error();
48
+ }
49
+ exports.assertRange = assertRange;
36
50
  //# 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,CACN,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,YAAY,CAAC,IAAI,IAAI,CAAC,UAAU,KAAK,MAAM,CAAC;QAC/D,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,YAAY,CAAC,IAAI,IAAI,CAAC,UAAU,KAAK,MAAM,CAAC,CAC/D,CAAC;AACH,CAAC;AALD,oDAKC;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;QACb,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;KAC1C;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;QACvB,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;KAC9E;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,qBAAqB,CAAC,CAAc,EAAE,CAAc,EAAE,MAAkB;IACvF,OAAO,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC;AACtE,CAAC;AAFD,sDAEC"}
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,CACN,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,YAAY,CAAC,IAAI,IAAI,CAAC,UAAU,KAAK,MAAM,CAAC;QAC/D,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,YAAY,CAAC,IAAI,IAAI,CAAC,UAAU,KAAK,MAAM,CAAC,CAC/D,CAAC;AACH,CAAC;AALD,oDAKC;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;QACb,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;KAC1C;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;QACvB,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;KAC9E;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;QACf,OAAO,KAAK,CAAC,GAAG,CAAC;KACjB;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;QACjB,OAAO,KAAK,CAAC,KAAK,CAAC;KACnB;IAED,MAAM,IAAI,KAAK,EAAE,CAAC;AACnB,CAAC;AAND,kCAMC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@shigen/eslint-plugin",
3
- "version": "0.4.0",
3
+ "version": "0.5.0",
4
4
  "description": "General purpose plugin for ESLint",
5
5
  "keywords": [
6
6
  "eslint",
@@ -51,23 +51,22 @@
51
51
  }
52
52
  },
53
53
  "engines": {
54
- "node": "^18.18.0 || >=20.0.0"
54
+ "node": "^18.18.0 || >=20.9.0"
55
55
  },
56
56
  "dependencies": {
57
- "tslib": "~2.6.2"
57
+ "@shigen/enum": "0.5.0"
58
58
  },
59
59
  "devDependencies": {
60
- "@types/eslint": "8.56.10",
60
+ "@types/eslint": "9.6.1",
61
61
  "@types/estree": "1.0.5",
62
- "@typescript-eslint/parser": "7.7.1",
63
- "@typescript-eslint/types": "7.7.1",
64
- "ajv": "8.12.0",
65
- "eslint": "8.57.0",
62
+ "typescript-eslint": "8.3.0",
63
+ "ajv": "8.17.1",
64
+ "eslint": "9.9.1",
66
65
  "dedent": "1.5.3"
67
66
  },
68
67
  "peerDependencies": {
69
- "@typescript-eslint/parser": "^7.0.0",
70
- "eslint": "^8.56.0"
68
+ "@typescript-eslint/parser": "^8.0.0",
69
+ "eslint": "^9.0.0"
71
70
  },
72
71
  "peerDependenciesMeta": {
73
72
  "@typescript-eslint/parser": {