eslint-plugin-esm 0.8.1 → 0.8.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (73) hide show
  1. package/dist/common.d.ts +8 -3
  2. package/dist/common.d.ts.map +1 -1
  3. package/dist/common.js +1 -1
  4. package/dist/index.d.ts +4 -0
  5. package/dist/index.d.ts.map +1 -1
  6. package/dist/index.js +5 -1
  7. package/dist/rules/no-circular-imports.d.ts +8 -0
  8. package/dist/rules/no-circular-imports.d.ts.map +1 -0
  9. package/dist/rules/no-circular-imports.js +56 -0
  10. package/dist/rules/no-dynamic-imports.d.ts +2 -1
  11. package/dist/rules/no-dynamic-imports.d.ts.map +1 -1
  12. package/dist/rules/no-dynamic-imports.js +1 -1
  13. package/dist/rules/no-empty-exports.d.ts +2 -1
  14. package/dist/rules/no-empty-exports.d.ts.map +1 -1
  15. package/dist/rules/no-empty-exports.js +1 -1
  16. package/dist/rules/no-query-suffixes.d.ts +5 -0
  17. package/dist/rules/no-query-suffixes.d.ts.map +1 -0
  18. package/dist/rules/no-query-suffixes.js +10 -0
  19. package/dist/rules/no-side-effect-imports.d.ts.map +1 -1
  20. package/dist/rules/no-side-effect-imports.js +1 -1
  21. package/dist/rules/top-side-effect-imports.d.ts.map +1 -1
  22. package/dist/rules/top-side-effect-imports.js +1 -1
  23. package/dist/utils.d.ts +2 -0
  24. package/dist/utils.d.ts.map +1 -1
  25. package/dist/utils.js +1 -1
  26. package/package.json +5 -4
  27. package/CHANGELOG.md +0 -96
  28. package/doc/rules/existing-file-imports.md +0 -28
  29. package/doc/rules/no-declaration-file-imports.md +0 -35
  30. package/doc/rules/no-directory-imports.md +0 -30
  31. package/doc/rules/no-dynamic-imports.md +0 -30
  32. package/doc/rules/no-empty-exports.md +0 -29
  33. package/doc/rules/no-git-ignored-imports.md +0 -36
  34. package/doc/rules/no-phantom-dep-imports.md +0 -31
  35. package/doc/rules/no-relative-parent-imports.md +0 -33
  36. package/doc/rules/no-rename-exports.md +0 -29
  37. package/doc/rules/no-rename-imports.md +0 -28
  38. package/doc/rules/no-side-effect-imports.md +0 -30
  39. package/doc/rules/no-useless-path-segments.md +0 -54
  40. package/doc/rules/required-exports.md +0 -31
  41. package/doc/rules/top-side-effect-imports.md +0 -31
  42. package/src/common.ts +0 -97
  43. package/src/index.ts +0 -31
  44. package/src/rules/existing-file-imports.test.ts +0 -28
  45. package/src/rules/existing-file-imports.ts +0 -25
  46. package/src/rules/no-declaration-file-imports.test.ts +0 -33
  47. package/src/rules/no-declaration-file-imports.ts +0 -12
  48. package/src/rules/no-directory-imports.test.ts +0 -31
  49. package/src/rules/no-directory-imports.ts +0 -34
  50. package/src/rules/no-dynamic-imports.test.ts +0 -27
  51. package/src/rules/no-dynamic-imports.ts +0 -15
  52. package/src/rules/no-empty-exports.test.ts +0 -22
  53. package/src/rules/no-empty-exports.ts +0 -14
  54. package/src/rules/no-git-ignored-imports.test.ts +0 -40
  55. package/src/rules/no-git-ignored-imports.ts +0 -58
  56. package/src/rules/no-phantom-dep-imports.test.ts +0 -35
  57. package/src/rules/no-phantom-dep-imports.ts +0 -124
  58. package/src/rules/no-relative-parent-imports.test.ts +0 -28
  59. package/src/rules/no-relative-parent-imports.ts +0 -13
  60. package/src/rules/no-rename-exports.test.ts +0 -22
  61. package/src/rules/no-rename-exports.ts +0 -17
  62. package/src/rules/no-rename-imports.test.ts +0 -22
  63. package/src/rules/no-rename-imports.ts +0 -16
  64. package/src/rules/no-side-effect-imports.test.ts +0 -24
  65. package/src/rules/no-side-effect-imports.ts +0 -39
  66. package/src/rules/no-useless-path-segments.test.ts +0 -52
  67. package/src/rules/no-useless-path-segments.ts +0 -31
  68. package/src/rules/required-exports.test.ts +0 -24
  69. package/src/rules/required-exports.ts +0 -22
  70. package/src/rules/top-side-effect-imports.test.ts +0 -24
  71. package/src/rules/top-side-effect-imports.ts +0 -22
  72. package/src/utils.ts +0 -18
  73. package/tsconfig.json +0 -5
package/dist/common.d.ts CHANGED
@@ -1,11 +1,15 @@
1
1
  import type { Rule } from "eslint";
2
- import type { ExportAllDeclaration, ExportNamedDeclaration, ImportDeclaration, ImportExpression } from "estree";
3
- import type { JSONSchema4 } from "json-schema";
2
+ import type { GetNode } from "./utils.ts";
3
+ type ExtractArray<T> = T extends Array<infer U> ? U[] : never;
4
+ type ExportAllDeclaration = GetNode<"ExportAllDeclaration">;
5
+ type ExportNamedDeclaration = GetNode<"ExportNamedDeclaration">;
6
+ type ImportDeclaration = GetNode<"ImportDeclaration">;
7
+ type ImportExpression = GetNode<"ImportExpression">;
4
8
  export declare const DEFAULT_MESSAGE_ID = "default";
5
9
  export declare function createRule({ name, message, schema, fixable, type, create: createFn, }: {
6
10
  name: string;
7
11
  message: string;
8
- schema?: JSONSchema4[];
12
+ schema?: ExtractArray<Rule.RuleMetaData["schema"]>;
9
13
  fixable?: Rule.RuleMetaData["fixable"];
10
14
  type?: Rule.RuleMetaData["type"];
11
15
  create: (context: Rule.RuleContext) => Rule.RuleListener;
@@ -23,4 +27,5 @@ export type ImportationNode = ImportDeclaration | ImportExpression | ExportAllDe
23
27
  */
24
28
  export declare function create(context: Rule.RuleContext, check: (filename: string, source: string, node: ImportationNode) => boolean): Rule.RuleListener;
25
29
  export declare function getSourceType(source: string): "local" | "builtin" | "module";
30
+ export {};
26
31
  //# sourceMappingURL=common.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../src/common.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,KAAK,EACV,oBAAoB,EACpB,sBAAsB,EACtB,iBAAiB,EACjB,gBAAgB,EACjB,MAAM,QAAQ,CAAC;AAChB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C,eAAO,MAAM,kBAAkB,YAAY,CAAC;AAE5C,wBAAgB,UAAU,CAAC,EACzB,IAAI,EACJ,OAAO,EACP,MAAM,EACN,OAAO,EACP,IAAmB,EACnB,MAAM,EAAE,QAAQ,GACjB,EAAE;IACD,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,WAAW,EAAE,CAAC;IACvB,OAAO,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;IACvC,IAAI,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IACjC,MAAM,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,KAAK,IAAI,CAAC,YAAY,CAAC;CAC1D,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAA;CAAE,CAiB1C;AAED,wBAAgB,WAAW,CAAC,aAAa,EAAE,MAAM,UAGhD;AAED,MAAM,MAAM,eAAe,GACvB,iBAAiB,GACjB,gBAAgB,GAChB,oBAAoB,GACpB,sBAAsB,CAAC;AAE3B;;;;;GAKG;AACH,wBAAgB,MAAM,CACpB,OAAO,EAAE,IAAI,CAAC,WAAW,EACzB,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,KAAK,OAAO,GAC1E,IAAI,CAAC,YAAY,CAcnB;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,kCAc3C"}
1
+ {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../src/common.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAE1C,KAAK,YAAY,CAAC,CAAC,IAAI,CAAC,SAAS,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,KAAK,CAAC;AAE9D,KAAK,oBAAoB,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAAC;AAC5D,KAAK,sBAAsB,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAAC;AAChE,KAAK,iBAAiB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;AACtD,KAAK,gBAAgB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;AAEpD,eAAO,MAAM,kBAAkB,YAAY,CAAC;AAE5C,wBAAgB,UAAU,CAAC,EACzB,IAAI,EACJ,OAAO,EACP,MAAM,EACN,OAAO,EACP,IAAmB,EACnB,MAAM,EAAE,QAAQ,GACjB,EAAE;IACD,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC;IACnD,OAAO,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;IACvC,IAAI,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IACjC,MAAM,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,KAAK,IAAI,CAAC,YAAY,CAAC;CAC1D,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAA;CAAE,CAiB1C;AAED,wBAAgB,WAAW,CAAC,aAAa,EAAE,MAAM,UAGhD;AAED,MAAM,MAAM,eAAe,GACvB,iBAAiB,GACjB,gBAAgB,GAChB,oBAAoB,GACpB,sBAAsB,CAAC;AAE3B;;;;;GAKG;AACH,wBAAgB,MAAM,CACpB,OAAO,EAAE,IAAI,CAAC,WAAW,EACzB,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,KAAK,OAAO,GAC1E,IAAI,CAAC,YAAY,CAcnB;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,kCAc3C"}
package/dist/common.js CHANGED
@@ -60,4 +60,4 @@ export function getSourceType(source) {
60
60
  }
61
61
  return "module";
62
62
  }
63
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2NvbW1vbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLElBQUksTUFBTSxXQUFXLENBQUM7QUFDN0IsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQVV6QyxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxTQUFTLENBQUM7QUFFNUMsTUFBTSxVQUFVLFVBQVUsQ0FBQyxFQUN6QixJQUFJLEVBQ0osT0FBTyxFQUNQLE1BQU0sRUFDTixPQUFPLEVBQ1AsSUFBSSxHQUFHLFlBQVksRUFDbkIsTUFBTSxFQUFFLFFBQVEsR0FRakI7SUFDQyxNQUFNLElBQUksR0FBb0I7UUFDNUIsSUFBSSxFQUFFO1lBQ0osR0FBRyxDQUFDLE1BQU0sSUFBSSxFQUFFLE1BQU0sRUFBRSxDQUFDO1lBQ3pCLEdBQUcsQ0FBQyxPQUFPLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQztZQUMzQixRQUFRLEVBQUU7Z0JBQ1IsQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLE9BQU87YUFDOUI7WUFDRCxJQUFJO1lBQ0osSUFBSSxFQUFFO2dCQUNKLEdBQUcsRUFBRSxzRkFBc0YsSUFBSSxLQUFLO2dCQUNwRyxXQUFXLEVBQUUsT0FBTzthQUNyQjtTQUNGO1FBQ0QsTUFBTSxFQUFFLFFBQVE7S0FDakIsQ0FBQztJQUNGLE9BQU8sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUM7QUFDeEIsQ0FBQztBQUVELE1BQU0sVUFBVSxXQUFXLENBQUMsYUFBcUI7SUFDL0MseUJBQXlCO0lBQ3pCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7QUFDdkQsQ0FBQztBQVFEOzs7OztHQUtHO0FBQ0gsTUFBTSxVQUFVLE1BQU0sQ0FDcEIsT0FBeUIsRUFDekIsS0FBMkU7SUFFM0UsTUFBTSxNQUFNLEdBQUcsQ0FBQyxJQUFxQixFQUFFLEVBQUU7UUFDdkMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNO1lBQUUsT0FBTztRQUN6QixJQUFJLENBQUMsQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQztZQUFFLE9BQU87UUFDdEMsSUFBSSxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxLQUFLLFFBQVE7WUFBRSxPQUFPO1FBQ2xELElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDO1lBQ2xELE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxTQUFTLEVBQUUsa0JBQWtCLEVBQUUsQ0FBQyxDQUFDO0lBQ3pFLENBQUMsQ0FBQztJQUNGLE9BQU87UUFDTCxpQkFBaUIsRUFBRSxNQUFNO1FBQ3pCLGdCQUFnQixFQUFFLE1BQU07UUFDeEIsb0JBQW9CLEVBQUUsTUFBTTtRQUM1QixzQkFBc0IsRUFBRSxNQUFNO0tBQy9CLENBQUM7QUFDSixDQUFDO0FBRUQsTUFBTSxVQUFVLGFBQWEsQ0FBQyxNQUFjO0lBQzFDLElBQ0UsTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUM7UUFDdEIsTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUM7UUFDdkIsTUFBTSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUM7UUFDeEIsTUFBTSxLQUFLLEdBQUc7UUFDZCxNQUFNLEtBQUssSUFBSSxFQUNmLENBQUM7UUFDRCxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0lBQ0QsSUFBSSxNQUFNLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7UUFDL0IsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQUNELE9BQU8sUUFBUSxDQUFDO0FBQ2xCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgcGF0aCBmcm9tIFwibm9kZTpwYXRoXCI7XG5pbXBvcnQgeyBmaWxlVVJMVG9QYXRoIH0gZnJvbSBcIm5vZGU6dXJsXCI7XG5pbXBvcnQgdHlwZSB7IFJ1bGUgfSBmcm9tIFwiZXNsaW50XCI7XG5pbXBvcnQgdHlwZSB7XG4gIEV4cG9ydEFsbERlY2xhcmF0aW9uLFxuICBFeHBvcnROYW1lZERlY2xhcmF0aW9uLFxuICBJbXBvcnREZWNsYXJhdGlvbixcbiAgSW1wb3J0RXhwcmVzc2lvbixcbn0gZnJvbSBcImVzdHJlZVwiO1xuaW1wb3J0IHR5cGUgeyBKU09OU2NoZW1hNCB9IGZyb20gXCJqc29uLXNjaGVtYVwiO1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9NRVNTQUdFX0lEID0gXCJkZWZhdWx0XCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVSdWxlKHtcbiAgbmFtZSxcbiAgbWVzc2FnZSxcbiAgc2NoZW1hLFxuICBmaXhhYmxlLFxuICB0eXBlID0gXCJzdWdnZXN0aW9uXCIsXG4gIGNyZWF0ZTogY3JlYXRlRm4sXG59OiB7XG4gIG5hbWU6IHN0cmluZztcbiAgbWVzc2FnZTogc3RyaW5nO1xuICBzY2hlbWE/OiBKU09OU2NoZW1hNFtdO1xuICBmaXhhYmxlPzogUnVsZS5SdWxlTWV0YURhdGFbXCJmaXhhYmxlXCJdO1xuICB0eXBlPzogUnVsZS5SdWxlTWV0YURhdGFbXCJ0eXBlXCJdO1xuICBjcmVhdGU6IChjb250ZXh0OiBSdWxlLlJ1bGVDb250ZXh0KSA9PiBSdWxlLlJ1bGVMaXN0ZW5lcjtcbn0pOiB7IG5hbWU6IHN0cmluZzsgcnVsZTogUnVsZS5SdWxlTW9kdWxlIH0ge1xuICBjb25zdCBydWxlOiBSdWxlLlJ1bGVNb2R1bGUgPSB7XG4gICAgbWV0YToge1xuICAgICAgLi4uKHNjaGVtYSAmJiB7IHNjaGVtYSB9KSxcbiAgICAgIC4uLihmaXhhYmxlICYmIHsgZml4YWJsZSB9KSxcbiAgICAgIG1lc3NhZ2VzOiB7XG4gICAgICAgIFtERUZBVUxUX01FU1NBR0VfSURdOiBtZXNzYWdlLFxuICAgICAgfSxcbiAgICAgIHR5cGUsXG4gICAgICBkb2NzOiB7XG4gICAgICAgIHVybDogYGh0dHBzOi8vZ2l0aHViLmNvbS96YW5taW5raWFuL2ZlbmdlL2Jsb2IvbWFpbi9wYWNrYWdlcy9lc2xpbnQtcGx1Z2luLWVzbS9kb2MvcnVsZXMvJHtuYW1lfS5tZGAsXG4gICAgICAgIGRlc2NyaXB0aW9uOiBtZXNzYWdlLFxuICAgICAgfSxcbiAgICB9LFxuICAgIGNyZWF0ZTogY3JlYXRlRm4sXG4gIH07XG4gIHJldHVybiB7IG5hbWUsIHJ1bGUgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFJ1bGVOYW1lKGltcG9ydE1ldGFVcmw6IHN0cmluZykge1xuICAvLyByZW1vdmUgJy5qcycgZXh0ZW5zaW9uXG4gIHJldHVybiBwYXRoLnBhcnNlKGZpbGVVUkxUb1BhdGgoaW1wb3J0TWV0YVVybCkpLm5hbWU7XG59XG5cbmV4cG9ydCB0eXBlIEltcG9ydGF0aW9uTm9kZSA9XG4gIHwgSW1wb3J0RGVjbGFyYXRpb25cbiAgfCBJbXBvcnRFeHByZXNzaW9uXG4gIHwgRXhwb3J0QWxsRGVjbGFyYXRpb25cbiAgfCBFeHBvcnROYW1lZERlY2xhcmF0aW9uO1xuXG4vKipcbiAqIENyZWF0ZSBFU0xpbnQgUnVsZUxpc3RlbmVyIHRvIGNoZWNrIHN0cmluZyBpbXBvcnRhdGlvbiBzb3VyY2UuXG4gKiBAcGFyYW0gY29udGV4dCBFU0xpbnQgUnVsZUNvbnRleHRcbiAqIEBwYXJhbSBjaGVjayB0aGUgY2hlY2sgbG9naWNcbiAqIEByZXR1cm5zIEVTTGludCBSdWxlTGlzdGVuZXJcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZShcbiAgY29udGV4dDogUnVsZS5SdWxlQ29udGV4dCxcbiAgY2hlY2s6IChmaWxlbmFtZTogc3RyaW5nLCBzb3VyY2U6IHN0cmluZywgbm9kZTogSW1wb3J0YXRpb25Ob2RlKSA9PiBib29sZWFuLFxuKTogUnVsZS5SdWxlTGlzdGVuZXIge1xuICBjb25zdCBoYW5kbGUgPSAobm9kZTogSW1wb3J0YXRpb25Ob2RlKSA9PiB7XG4gICAgaWYgKCFub2RlLnNvdXJjZSkgcmV0dXJuO1xuICAgIGlmICghKFwidmFsdWVcIiBpbiBub2RlLnNvdXJjZSkpIHJldHVybjtcbiAgICBpZiAodHlwZW9mIG5vZGUuc291cmNlLnZhbHVlICE9PSBcInN0cmluZ1wiKSByZXR1cm47XG4gICAgaWYgKGNoZWNrKGNvbnRleHQuZmlsZW5hbWUsIG5vZGUuc291cmNlLnZhbHVlLCBub2RlKSlcbiAgICAgIGNvbnRleHQucmVwb3J0KHsgbm9kZTogbm9kZS5zb3VyY2UsIG1lc3NhZ2VJZDogREVGQVVMVF9NRVNTQUdFX0lEIH0pO1xuICB9O1xuICByZXR1cm4ge1xuICAgIEltcG9ydERlY2xhcmF0aW9uOiBoYW5kbGUsXG4gICAgSW1wb3J0RXhwcmVzc2lvbjogaGFuZGxlLFxuICAgIEV4cG9ydEFsbERlY2xhcmF0aW9uOiBoYW5kbGUsXG4gICAgRXhwb3J0TmFtZWREZWNsYXJhdGlvbjogaGFuZGxlLFxuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0U291cmNlVHlwZShzb3VyY2U6IHN0cmluZykge1xuICBpZiAoXG4gICAgc291cmNlLnN0YXJ0c1dpdGgoXCIvXCIpIHx8XG4gICAgc291cmNlLnN0YXJ0c1dpdGgoXCIuL1wiKSB8fFxuICAgIHNvdXJjZS5zdGFydHNXaXRoKFwiLi4vXCIpIHx8XG4gICAgc291cmNlID09PSBcIi5cIiB8fFxuICAgIHNvdXJjZSA9PT0gXCIuLlwiXG4gICkge1xuICAgIHJldHVybiBcImxvY2FsXCI7XG4gIH1cbiAgaWYgKHNvdXJjZS5zdGFydHNXaXRoKFwibm9kZTpcIikpIHtcbiAgICByZXR1cm4gXCJidWlsdGluXCI7XG4gIH1cbiAgcmV0dXJuIFwibW9kdWxlXCI7XG59XG4iXX0=
63
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2NvbW1vbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLElBQUksTUFBTSxXQUFXLENBQUM7QUFDN0IsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQVd6QyxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxTQUFTLENBQUM7QUFFNUMsTUFBTSxVQUFVLFVBQVUsQ0FBQyxFQUN6QixJQUFJLEVBQ0osT0FBTyxFQUNQLE1BQU0sRUFDTixPQUFPLEVBQ1AsSUFBSSxHQUFHLFlBQVksRUFDbkIsTUFBTSxFQUFFLFFBQVEsR0FRakI7SUFDQyxNQUFNLElBQUksR0FBb0I7UUFDNUIsSUFBSSxFQUFFO1lBQ0osR0FBRyxDQUFDLE1BQU0sSUFBSSxFQUFFLE1BQU0sRUFBRSxDQUFDO1lBQ3pCLEdBQUcsQ0FBQyxPQUFPLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQztZQUMzQixRQUFRLEVBQUU7Z0JBQ1IsQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLE9BQU87YUFDOUI7WUFDRCxJQUFJO1lBQ0osSUFBSSxFQUFFO2dCQUNKLEdBQUcsRUFBRSxzRkFBc0YsSUFBSSxLQUFLO2dCQUNwRyxXQUFXLEVBQUUsT0FBTzthQUNyQjtTQUNGO1FBQ0QsTUFBTSxFQUFFLFFBQVE7S0FDakIsQ0FBQztJQUNGLE9BQU8sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUM7QUFDeEIsQ0FBQztBQUVELE1BQU0sVUFBVSxXQUFXLENBQUMsYUFBcUI7SUFDL0MseUJBQXlCO0lBQ3pCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7QUFDdkQsQ0FBQztBQVFEOzs7OztHQUtHO0FBQ0gsTUFBTSxVQUFVLE1BQU0sQ0FDcEIsT0FBeUIsRUFDekIsS0FBMkU7SUFFM0UsTUFBTSxNQUFNLEdBQUcsQ0FBQyxJQUFxQixFQUFFLEVBQUU7UUFDdkMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNO1lBQUUsT0FBTztRQUN6QixJQUFJLENBQUMsQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQztZQUFFLE9BQU87UUFDdEMsSUFBSSxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxLQUFLLFFBQVE7WUFBRSxPQUFPO1FBQ2xELElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDO1lBQ2xELE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxTQUFTLEVBQUUsa0JBQWtCLEVBQUUsQ0FBQyxDQUFDO0lBQ3pFLENBQUMsQ0FBQztJQUNGLE9BQU87UUFDTCxpQkFBaUIsRUFBRSxNQUFNO1FBQ3pCLGdCQUFnQixFQUFFLE1BQU07UUFDeEIsb0JBQW9CLEVBQUUsTUFBTTtRQUM1QixzQkFBc0IsRUFBRSxNQUFNO0tBQy9CLENBQUM7QUFDSixDQUFDO0FBRUQsTUFBTSxVQUFVLGFBQWEsQ0FBQyxNQUFjO0lBQzFDLElBQ0UsTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUM7UUFDdEIsTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUM7UUFDdkIsTUFBTSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUM7UUFDeEIsTUFBTSxLQUFLLEdBQUc7UUFDZCxNQUFNLEtBQUssSUFBSSxFQUNmLENBQUM7UUFDRCxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0lBQ0QsSUFBSSxNQUFNLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7UUFDL0IsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQUNELE9BQU8sUUFBUSxDQUFDO0FBQ2xCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgcGF0aCBmcm9tIFwibm9kZTpwYXRoXCI7XG5pbXBvcnQgeyBmaWxlVVJMVG9QYXRoIH0gZnJvbSBcIm5vZGU6dXJsXCI7XG5pbXBvcnQgdHlwZSB7IFJ1bGUgfSBmcm9tIFwiZXNsaW50XCI7XG5pbXBvcnQgdHlwZSB7IEdldE5vZGUgfSBmcm9tIFwiLi91dGlscy50c1wiO1xuXG50eXBlIEV4dHJhY3RBcnJheTxUPiA9IFQgZXh0ZW5kcyBBcnJheTxpbmZlciBVPiA/IFVbXSA6IG5ldmVyO1xuXG50eXBlIEV4cG9ydEFsbERlY2xhcmF0aW9uID0gR2V0Tm9kZTxcIkV4cG9ydEFsbERlY2xhcmF0aW9uXCI+O1xudHlwZSBFeHBvcnROYW1lZERlY2xhcmF0aW9uID0gR2V0Tm9kZTxcIkV4cG9ydE5hbWVkRGVjbGFyYXRpb25cIj47XG50eXBlIEltcG9ydERlY2xhcmF0aW9uID0gR2V0Tm9kZTxcIkltcG9ydERlY2xhcmF0aW9uXCI+O1xudHlwZSBJbXBvcnRFeHByZXNzaW9uID0gR2V0Tm9kZTxcIkltcG9ydEV4cHJlc3Npb25cIj47XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX01FU1NBR0VfSUQgPSBcImRlZmF1bHRcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVJ1bGUoe1xuICBuYW1lLFxuICBtZXNzYWdlLFxuICBzY2hlbWEsXG4gIGZpeGFibGUsXG4gIHR5cGUgPSBcInN1Z2dlc3Rpb25cIixcbiAgY3JlYXRlOiBjcmVhdGVGbixcbn06IHtcbiAgbmFtZTogc3RyaW5nO1xuICBtZXNzYWdlOiBzdHJpbmc7XG4gIHNjaGVtYT86IEV4dHJhY3RBcnJheTxSdWxlLlJ1bGVNZXRhRGF0YVtcInNjaGVtYVwiXT47IC8vIEkgd291bGQgbGlrZSB0byB1c2UgYEpTT05TY2hlbWE0W11gIG9ubHkuXG4gIGZpeGFibGU/OiBSdWxlLlJ1bGVNZXRhRGF0YVtcImZpeGFibGVcIl07XG4gIHR5cGU/OiBSdWxlLlJ1bGVNZXRhRGF0YVtcInR5cGVcIl07XG4gIGNyZWF0ZTogKGNvbnRleHQ6IFJ1bGUuUnVsZUNvbnRleHQpID0+IFJ1bGUuUnVsZUxpc3RlbmVyO1xufSk6IHsgbmFtZTogc3RyaW5nOyBydWxlOiBSdWxlLlJ1bGVNb2R1bGUgfSB7XG4gIGNvbnN0IHJ1bGU6IFJ1bGUuUnVsZU1vZHVsZSA9IHtcbiAgICBtZXRhOiB7XG4gICAgICAuLi4oc2NoZW1hICYmIHsgc2NoZW1hIH0pLFxuICAgICAgLi4uKGZpeGFibGUgJiYgeyBmaXhhYmxlIH0pLFxuICAgICAgbWVzc2FnZXM6IHtcbiAgICAgICAgW0RFRkFVTFRfTUVTU0FHRV9JRF06IG1lc3NhZ2UsXG4gICAgICB9LFxuICAgICAgdHlwZSxcbiAgICAgIGRvY3M6IHtcbiAgICAgICAgdXJsOiBgaHR0cHM6Ly9naXRodWIuY29tL3phbm1pbmtpYW4vZmVuZ2UvYmxvYi9tYWluL3BhY2thZ2VzL2VzbGludC1wbHVnaW4tZXNtL2RvYy9ydWxlcy8ke25hbWV9Lm1kYCxcbiAgICAgICAgZGVzY3JpcHRpb246IG1lc3NhZ2UsXG4gICAgICB9LFxuICAgIH0sXG4gICAgY3JlYXRlOiBjcmVhdGVGbixcbiAgfTtcbiAgcmV0dXJuIHsgbmFtZSwgcnVsZSB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0UnVsZU5hbWUoaW1wb3J0TWV0YVVybDogc3RyaW5nKSB7XG4gIC8vIHJlbW92ZSAnLmpzJyBleHRlbnNpb25cbiAgcmV0dXJuIHBhdGgucGFyc2UoZmlsZVVSTFRvUGF0aChpbXBvcnRNZXRhVXJsKSkubmFtZTtcbn1cblxuZXhwb3J0IHR5cGUgSW1wb3J0YXRpb25Ob2RlID1cbiAgfCBJbXBvcnREZWNsYXJhdGlvblxuICB8IEltcG9ydEV4cHJlc3Npb25cbiAgfCBFeHBvcnRBbGxEZWNsYXJhdGlvblxuICB8IEV4cG9ydE5hbWVkRGVjbGFyYXRpb247XG5cbi8qKlxuICogQ3JlYXRlIEVTTGludCBSdWxlTGlzdGVuZXIgdG8gY2hlY2sgc3RyaW5nIGltcG9ydGF0aW9uIHNvdXJjZS5cbiAqIEBwYXJhbSBjb250ZXh0IEVTTGludCBSdWxlQ29udGV4dFxuICogQHBhcmFtIGNoZWNrIHRoZSBjaGVjayBsb2dpY1xuICogQHJldHVybnMgRVNMaW50IFJ1bGVMaXN0ZW5lclxuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlKFxuICBjb250ZXh0OiBSdWxlLlJ1bGVDb250ZXh0LFxuICBjaGVjazogKGZpbGVuYW1lOiBzdHJpbmcsIHNvdXJjZTogc3RyaW5nLCBub2RlOiBJbXBvcnRhdGlvbk5vZGUpID0+IGJvb2xlYW4sXG4pOiBSdWxlLlJ1bGVMaXN0ZW5lciB7XG4gIGNvbnN0IGhhbmRsZSA9IChub2RlOiBJbXBvcnRhdGlvbk5vZGUpID0+IHtcbiAgICBpZiAoIW5vZGUuc291cmNlKSByZXR1cm47XG4gICAgaWYgKCEoXCJ2YWx1ZVwiIGluIG5vZGUuc291cmNlKSkgcmV0dXJuO1xuICAgIGlmICh0eXBlb2Ygbm9kZS5zb3VyY2UudmFsdWUgIT09IFwic3RyaW5nXCIpIHJldHVybjtcbiAgICBpZiAoY2hlY2soY29udGV4dC5maWxlbmFtZSwgbm9kZS5zb3VyY2UudmFsdWUsIG5vZGUpKVxuICAgICAgY29udGV4dC5yZXBvcnQoeyBub2RlOiBub2RlLnNvdXJjZSwgbWVzc2FnZUlkOiBERUZBVUxUX01FU1NBR0VfSUQgfSk7XG4gIH07XG4gIHJldHVybiB7XG4gICAgSW1wb3J0RGVjbGFyYXRpb246IGhhbmRsZSxcbiAgICBJbXBvcnRFeHByZXNzaW9uOiBoYW5kbGUsXG4gICAgRXhwb3J0QWxsRGVjbGFyYXRpb246IGhhbmRsZSxcbiAgICBFeHBvcnROYW1lZERlY2xhcmF0aW9uOiBoYW5kbGUsXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRTb3VyY2VUeXBlKHNvdXJjZTogc3RyaW5nKSB7XG4gIGlmIChcbiAgICBzb3VyY2Uuc3RhcnRzV2l0aChcIi9cIikgfHxcbiAgICBzb3VyY2Uuc3RhcnRzV2l0aChcIi4vXCIpIHx8XG4gICAgc291cmNlLnN0YXJ0c1dpdGgoXCIuLi9cIikgfHxcbiAgICBzb3VyY2UgPT09IFwiLlwiIHx8XG4gICAgc291cmNlID09PSBcIi4uXCJcbiAgKSB7XG4gICAgcmV0dXJuIFwibG9jYWxcIjtcbiAgfVxuICBpZiAoc291cmNlLnN0YXJ0c1dpdGgoXCJub2RlOlwiKSkge1xuICAgIHJldHVybiBcImJ1aWx0aW5cIjtcbiAgfVxuICByZXR1cm4gXCJtb2R1bGVcIjtcbn1cbiJdfQ==
package/dist/index.d.ts CHANGED
@@ -1,10 +1,12 @@
1
1
  import { existingFileImports } from "./rules/existing-file-imports.ts";
2
+ import { noCircularImports } from "./rules/no-circular-imports.ts";
2
3
  import { noDeclarationFileImports } from "./rules/no-declaration-file-imports.ts";
3
4
  import { noDirectoryImports } from "./rules/no-directory-imports.ts";
4
5
  import { noDynamicImports } from "./rules/no-dynamic-imports.ts";
5
6
  import { noEmptyExports } from "./rules/no-empty-exports.ts";
6
7
  import { noGitIgnoredImports } from "./rules/no-git-ignored-imports.ts";
7
8
  import { noPhantomDepImports } from "./rules/no-phantom-dep-imports.ts";
9
+ import { noQuerySuffixes } from "./rules/no-query-suffixes.ts";
8
10
  import { noRelativeParentImports } from "./rules/no-relative-parent-imports.ts";
9
11
  import { noRenameExports } from "./rules/no-rename-exports.ts";
10
12
  import { noRenameImports } from "./rules/no-rename-imports.ts";
@@ -14,12 +16,14 @@ import { requiredExports } from "./rules/required-exports.ts";
14
16
  import { topSideEffectImports } from "./rules/top-side-effect-imports.ts";
15
17
  export declare const rules: {
16
18
  [existingFileImports.name]: import("eslint").Rule.RuleModule;
19
+ [noCircularImports.name]: import("eslint").Rule.RuleModule;
17
20
  [noDeclarationFileImports.name]: import("eslint").Rule.RuleModule;
18
21
  [noDirectoryImports.name]: import("eslint").Rule.RuleModule;
19
22
  [noDynamicImports.name]: import("eslint").Rule.RuleModule;
20
23
  [noEmptyExports.name]: import("eslint").Rule.RuleModule;
21
24
  [noGitIgnoredImports.name]: import("eslint").Rule.RuleModule;
22
25
  [noPhantomDepImports.name]: import("eslint").Rule.RuleModule;
26
+ [noQuerySuffixes.name]: import("eslint").Rule.RuleModule;
23
27
  [noRelativeParentImports.name]: import("eslint").Rule.RuleModule;
24
28
  [noRenameExports.name]: import("eslint").Rule.RuleModule;
25
29
  [noRenameImports.name]: import("eslint").Rule.RuleModule;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,EAAE,wBAAwB,EAAE,MAAM,wCAAwC,CAAC;AAClF,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,uBAAuB,EAAE,MAAM,uCAAuC,CAAC;AAChF,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAC5E,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAE1E,eAAO,MAAM,KAAK;IAChB,CAAC,mBAAmB,CAAC,IAAI,CAAC,mCAA0B;IACpD,CAAC,wBAAwB,CAAC,IAAI,CAAC,mCAA+B;IAC9D,CAAC,kBAAkB,CAAC,IAAI,CAAC,mCAAyB;IAClD,CAAC,gBAAgB,CAAC,IAAI,CAAC,mCAAuB;IAC9C,CAAC,cAAc,CAAC,IAAI,CAAC,mCAAqB;IAC1C,CAAC,mBAAmB,CAAC,IAAI,CAAC,mCAA0B;IACpD,CAAC,mBAAmB,CAAC,IAAI,CAAC,mCAA0B;IACpD,CAAC,uBAAuB,CAAC,IAAI,CAAC,mCAA8B;IAC5D,CAAC,eAAe,CAAC,IAAI,CAAC,mCAAsB;IAC5C,CAAC,eAAe,CAAC,IAAI,CAAC,mCAAsB;IAC5C,CAAC,mBAAmB,CAAC,IAAI,CAAC,mCAA0B;IACpD,CAAC,qBAAqB,CAAC,IAAI,CAAC,mCAA4B;IACxD,CAAC,eAAe,CAAC,IAAI,CAAC,mCAAsB;IAC5C,CAAC,oBAAoB,CAAC,IAAI,CAAC,mCAA2B;CACvD,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,wBAAwB,EAAE,MAAM,wCAAwC,CAAC;AAClF,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,uBAAuB,EAAE,MAAM,uCAAuC,CAAC;AAChF,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAC5E,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAE1E,eAAO,MAAM,KAAK;IAChB,CAAC,mBAAmB,CAAC,IAAI,CAAC,mCAA0B;IACpD,CAAC,iBAAiB,CAAC,IAAI,CAAC,mCAAwB;IAChD,CAAC,wBAAwB,CAAC,IAAI,CAAC,mCAA+B;IAC9D,CAAC,kBAAkB,CAAC,IAAI,CAAC,mCAAyB;IAClD,CAAC,gBAAgB,CAAC,IAAI,CAAC,mCAAuB;IAC9C,CAAC,cAAc,CAAC,IAAI,CAAC,mCAAqB;IAC1C,CAAC,mBAAmB,CAAC,IAAI,CAAC,mCAA0B;IACpD,CAAC,mBAAmB,CAAC,IAAI,CAAC,mCAA0B;IACpD,CAAC,eAAe,CAAC,IAAI,CAAC,mCAAsB;IAC5C,CAAC,uBAAuB,CAAC,IAAI,CAAC,mCAA8B;IAC5D,CAAC,eAAe,CAAC,IAAI,CAAC,mCAAsB;IAC5C,CAAC,eAAe,CAAC,IAAI,CAAC,mCAAsB;IAC5C,CAAC,mBAAmB,CAAC,IAAI,CAAC,mCAA0B;IACpD,CAAC,qBAAqB,CAAC,IAAI,CAAC,mCAA4B;IACxD,CAAC,eAAe,CAAC,IAAI,CAAC,mCAAsB;IAC5C,CAAC,oBAAoB,CAAC,IAAI,CAAC,mCAA2B;CACvD,CAAC"}
package/dist/index.js CHANGED
@@ -1,10 +1,12 @@
1
1
  import { existingFileImports } from "./rules/existing-file-imports.js";
2
+ import { noCircularImports } from "./rules/no-circular-imports.js";
2
3
  import { noDeclarationFileImports } from "./rules/no-declaration-file-imports.js";
3
4
  import { noDirectoryImports } from "./rules/no-directory-imports.js";
4
5
  import { noDynamicImports } from "./rules/no-dynamic-imports.js";
5
6
  import { noEmptyExports } from "./rules/no-empty-exports.js";
6
7
  import { noGitIgnoredImports } from "./rules/no-git-ignored-imports.js";
7
8
  import { noPhantomDepImports } from "./rules/no-phantom-dep-imports.js";
9
+ import { noQuerySuffixes } from "./rules/no-query-suffixes.js";
8
10
  import { noRelativeParentImports } from "./rules/no-relative-parent-imports.js";
9
11
  import { noRenameExports } from "./rules/no-rename-exports.js";
10
12
  import { noRenameImports } from "./rules/no-rename-imports.js";
@@ -14,12 +16,14 @@ import { requiredExports } from "./rules/required-exports.js";
14
16
  import { topSideEffectImports } from "./rules/top-side-effect-imports.js";
15
17
  export const rules = {
16
18
  [existingFileImports.name]: existingFileImports.rule,
19
+ [noCircularImports.name]: noCircularImports.rule,
17
20
  [noDeclarationFileImports.name]: noDeclarationFileImports.rule,
18
21
  [noDirectoryImports.name]: noDirectoryImports.rule,
19
22
  [noDynamicImports.name]: noDynamicImports.rule,
20
23
  [noEmptyExports.name]: noEmptyExports.rule,
21
24
  [noGitIgnoredImports.name]: noGitIgnoredImports.rule,
22
25
  [noPhantomDepImports.name]: noPhantomDepImports.rule,
26
+ [noQuerySuffixes.name]: noQuerySuffixes.rule,
23
27
  [noRelativeParentImports.name]: noRelativeParentImports.rule,
24
28
  [noRenameExports.name]: noRenameExports.rule,
25
29
  [noRenameImports.name]: noRenameImports.rule,
@@ -28,4 +32,4 @@ export const rules = {
28
32
  [requiredExports.name]: requiredExports.rule,
29
33
  [topSideEffectImports.name]: topSideEffectImports.rule,
30
34
  };
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDdkUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDbEYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDckUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDakUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzdELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDL0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDeEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDNUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzlELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBRTFFLE1BQU0sQ0FBQyxNQUFNLEtBQUssR0FBRztJQUNuQixDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxFQUFFLG1CQUFtQixDQUFDLElBQUk7SUFDcEQsQ0FBQyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsRUFBRSx3QkFBd0IsQ0FBQyxJQUFJO0lBQzlELENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLEVBQUUsa0JBQWtCLENBQUMsSUFBSTtJQUNsRCxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxFQUFFLGdCQUFnQixDQUFDLElBQUk7SUFDOUMsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEVBQUUsY0FBYyxDQUFDLElBQUk7SUFDMUMsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsRUFBRSxtQkFBbUIsQ0FBQyxJQUFJO0lBQ3BELENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLEVBQUUsbUJBQW1CLENBQUMsSUFBSTtJQUNwRCxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxFQUFFLHVCQUF1QixDQUFDLElBQUk7SUFDNUQsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEVBQUUsZUFBZSxDQUFDLElBQUk7SUFDNUMsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEVBQUUsZUFBZSxDQUFDLElBQUk7SUFDNUMsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsRUFBRSxtQkFBbUIsQ0FBQyxJQUFJO0lBQ3BELENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLEVBQUUscUJBQXFCLENBQUMsSUFBSTtJQUN4RCxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsRUFBRSxlQUFlLENBQUMsSUFBSTtJQUM1QyxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxFQUFFLG9CQUFvQixDQUFDLElBQUk7Q0FDdkQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGV4aXN0aW5nRmlsZUltcG9ydHMgfSBmcm9tIFwiLi9ydWxlcy9leGlzdGluZy1maWxlLWltcG9ydHMudHNcIjtcbmltcG9ydCB7IG5vRGVjbGFyYXRpb25GaWxlSW1wb3J0cyB9IGZyb20gXCIuL3J1bGVzL25vLWRlY2xhcmF0aW9uLWZpbGUtaW1wb3J0cy50c1wiO1xuaW1wb3J0IHsgbm9EaXJlY3RvcnlJbXBvcnRzIH0gZnJvbSBcIi4vcnVsZXMvbm8tZGlyZWN0b3J5LWltcG9ydHMudHNcIjtcbmltcG9ydCB7IG5vRHluYW1pY0ltcG9ydHMgfSBmcm9tIFwiLi9ydWxlcy9uby1keW5hbWljLWltcG9ydHMudHNcIjtcbmltcG9ydCB7IG5vRW1wdHlFeHBvcnRzIH0gZnJvbSBcIi4vcnVsZXMvbm8tZW1wdHktZXhwb3J0cy50c1wiO1xuaW1wb3J0IHsgbm9HaXRJZ25vcmVkSW1wb3J0cyB9IGZyb20gXCIuL3J1bGVzL25vLWdpdC1pZ25vcmVkLWltcG9ydHMudHNcIjtcbmltcG9ydCB7IG5vUGhhbnRvbURlcEltcG9ydHMgfSBmcm9tIFwiLi9ydWxlcy9uby1waGFudG9tLWRlcC1pbXBvcnRzLnRzXCI7XG5pbXBvcnQgeyBub1JlbGF0aXZlUGFyZW50SW1wb3J0cyB9IGZyb20gXCIuL3J1bGVzL25vLXJlbGF0aXZlLXBhcmVudC1pbXBvcnRzLnRzXCI7XG5pbXBvcnQgeyBub1JlbmFtZUV4cG9ydHMgfSBmcm9tIFwiLi9ydWxlcy9uby1yZW5hbWUtZXhwb3J0cy50c1wiO1xuaW1wb3J0IHsgbm9SZW5hbWVJbXBvcnRzIH0gZnJvbSBcIi4vcnVsZXMvbm8tcmVuYW1lLWltcG9ydHMudHNcIjtcbmltcG9ydCB7IG5vU2lkZUVmZmVjdEltcG9ydHMgfSBmcm9tIFwiLi9ydWxlcy9uby1zaWRlLWVmZmVjdC1pbXBvcnRzLnRzXCI7XG5pbXBvcnQgeyBub1VzZWxlc3NQYXRoU2VnbWVudHMgfSBmcm9tIFwiLi9ydWxlcy9uby11c2VsZXNzLXBhdGgtc2VnbWVudHMudHNcIjtcbmltcG9ydCB7IHJlcXVpcmVkRXhwb3J0cyB9IGZyb20gXCIuL3J1bGVzL3JlcXVpcmVkLWV4cG9ydHMudHNcIjtcbmltcG9ydCB7IHRvcFNpZGVFZmZlY3RJbXBvcnRzIH0gZnJvbSBcIi4vcnVsZXMvdG9wLXNpZGUtZWZmZWN0LWltcG9ydHMudHNcIjtcblxuZXhwb3J0IGNvbnN0IHJ1bGVzID0ge1xuICBbZXhpc3RpbmdGaWxlSW1wb3J0cy5uYW1lXTogZXhpc3RpbmdGaWxlSW1wb3J0cy5ydWxlLFxuICBbbm9EZWNsYXJhdGlvbkZpbGVJbXBvcnRzLm5hbWVdOiBub0RlY2xhcmF0aW9uRmlsZUltcG9ydHMucnVsZSxcbiAgW25vRGlyZWN0b3J5SW1wb3J0cy5uYW1lXTogbm9EaXJlY3RvcnlJbXBvcnRzLnJ1bGUsXG4gIFtub0R5bmFtaWNJbXBvcnRzLm5hbWVdOiBub0R5bmFtaWNJbXBvcnRzLnJ1bGUsXG4gIFtub0VtcHR5RXhwb3J0cy5uYW1lXTogbm9FbXB0eUV4cG9ydHMucnVsZSxcbiAgW25vR2l0SWdub3JlZEltcG9ydHMubmFtZV06IG5vR2l0SWdub3JlZEltcG9ydHMucnVsZSxcbiAgW25vUGhhbnRvbURlcEltcG9ydHMubmFtZV06IG5vUGhhbnRvbURlcEltcG9ydHMucnVsZSxcbiAgW25vUmVsYXRpdmVQYXJlbnRJbXBvcnRzLm5hbWVdOiBub1JlbGF0aXZlUGFyZW50SW1wb3J0cy5ydWxlLFxuICBbbm9SZW5hbWVFeHBvcnRzLm5hbWVdOiBub1JlbmFtZUV4cG9ydHMucnVsZSxcbiAgW25vUmVuYW1lSW1wb3J0cy5uYW1lXTogbm9SZW5hbWVJbXBvcnRzLnJ1bGUsXG4gIFtub1NpZGVFZmZlY3RJbXBvcnRzLm5hbWVdOiBub1NpZGVFZmZlY3RJbXBvcnRzLnJ1bGUsXG4gIFtub1VzZWxlc3NQYXRoU2VnbWVudHMubmFtZV06IG5vVXNlbGVzc1BhdGhTZWdtZW50cy5ydWxlLFxuICBbcmVxdWlyZWRFeHBvcnRzLm5hbWVdOiByZXF1aXJlZEV4cG9ydHMucnVsZSxcbiAgW3RvcFNpZGVFZmZlY3RJbXBvcnRzLm5hbWVdOiB0b3BTaWRlRWZmZWN0SW1wb3J0cy5ydWxlLFxufTtcbiJdfQ==
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDdkUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDbkUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDbEYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDckUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDakUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzdELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUNoRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUUxRSxNQUFNLENBQUMsTUFBTSxLQUFLLEdBQUc7SUFDbkIsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsRUFBRSxtQkFBbUIsQ0FBQyxJQUFJO0lBQ3BELENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtJQUNoRCxDQUFDLHdCQUF3QixDQUFDLElBQUksQ0FBQyxFQUFFLHdCQUF3QixDQUFDLElBQUk7SUFDOUQsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsRUFBRSxrQkFBa0IsQ0FBQyxJQUFJO0lBQ2xELENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEVBQUUsZ0JBQWdCLENBQUMsSUFBSTtJQUM5QyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsRUFBRSxjQUFjLENBQUMsSUFBSTtJQUMxQyxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxFQUFFLG1CQUFtQixDQUFDLElBQUk7SUFDcEQsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsRUFBRSxtQkFBbUIsQ0FBQyxJQUFJO0lBQ3BELENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxFQUFFLGVBQWUsQ0FBQyxJQUFJO0lBQzVDLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLEVBQUUsdUJBQXVCLENBQUMsSUFBSTtJQUM1RCxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsRUFBRSxlQUFlLENBQUMsSUFBSTtJQUM1QyxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsRUFBRSxlQUFlLENBQUMsSUFBSTtJQUM1QyxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxFQUFFLG1CQUFtQixDQUFDLElBQUk7SUFDcEQsQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsRUFBRSxxQkFBcUIsQ0FBQyxJQUFJO0lBQ3hELENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxFQUFFLGVBQWUsQ0FBQyxJQUFJO0lBQzVDLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLEVBQUUsb0JBQW9CLENBQUMsSUFBSTtDQUN2RCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZXhpc3RpbmdGaWxlSW1wb3J0cyB9IGZyb20gXCIuL3J1bGVzL2V4aXN0aW5nLWZpbGUtaW1wb3J0cy50c1wiO1xuaW1wb3J0IHsgbm9DaXJjdWxhckltcG9ydHMgfSBmcm9tIFwiLi9ydWxlcy9uby1jaXJjdWxhci1pbXBvcnRzLnRzXCI7XG5pbXBvcnQgeyBub0RlY2xhcmF0aW9uRmlsZUltcG9ydHMgfSBmcm9tIFwiLi9ydWxlcy9uby1kZWNsYXJhdGlvbi1maWxlLWltcG9ydHMudHNcIjtcbmltcG9ydCB7IG5vRGlyZWN0b3J5SW1wb3J0cyB9IGZyb20gXCIuL3J1bGVzL25vLWRpcmVjdG9yeS1pbXBvcnRzLnRzXCI7XG5pbXBvcnQgeyBub0R5bmFtaWNJbXBvcnRzIH0gZnJvbSBcIi4vcnVsZXMvbm8tZHluYW1pYy1pbXBvcnRzLnRzXCI7XG5pbXBvcnQgeyBub0VtcHR5RXhwb3J0cyB9IGZyb20gXCIuL3J1bGVzL25vLWVtcHR5LWV4cG9ydHMudHNcIjtcbmltcG9ydCB7IG5vR2l0SWdub3JlZEltcG9ydHMgfSBmcm9tIFwiLi9ydWxlcy9uby1naXQtaWdub3JlZC1pbXBvcnRzLnRzXCI7XG5pbXBvcnQgeyBub1BoYW50b21EZXBJbXBvcnRzIH0gZnJvbSBcIi4vcnVsZXMvbm8tcGhhbnRvbS1kZXAtaW1wb3J0cy50c1wiO1xuaW1wb3J0IHsgbm9RdWVyeVN1ZmZpeGVzIH0gZnJvbSBcIi4vcnVsZXMvbm8tcXVlcnktc3VmZml4ZXMudHNcIjtcbmltcG9ydCB7IG5vUmVsYXRpdmVQYXJlbnRJbXBvcnRzIH0gZnJvbSBcIi4vcnVsZXMvbm8tcmVsYXRpdmUtcGFyZW50LWltcG9ydHMudHNcIjtcbmltcG9ydCB7IG5vUmVuYW1lRXhwb3J0cyB9IGZyb20gXCIuL3J1bGVzL25vLXJlbmFtZS1leHBvcnRzLnRzXCI7XG5pbXBvcnQgeyBub1JlbmFtZUltcG9ydHMgfSBmcm9tIFwiLi9ydWxlcy9uby1yZW5hbWUtaW1wb3J0cy50c1wiO1xuaW1wb3J0IHsgbm9TaWRlRWZmZWN0SW1wb3J0cyB9IGZyb20gXCIuL3J1bGVzL25vLXNpZGUtZWZmZWN0LWltcG9ydHMudHNcIjtcbmltcG9ydCB7IG5vVXNlbGVzc1BhdGhTZWdtZW50cyB9IGZyb20gXCIuL3J1bGVzL25vLXVzZWxlc3MtcGF0aC1zZWdtZW50cy50c1wiO1xuaW1wb3J0IHsgcmVxdWlyZWRFeHBvcnRzIH0gZnJvbSBcIi4vcnVsZXMvcmVxdWlyZWQtZXhwb3J0cy50c1wiO1xuaW1wb3J0IHsgdG9wU2lkZUVmZmVjdEltcG9ydHMgfSBmcm9tIFwiLi9ydWxlcy90b3Atc2lkZS1lZmZlY3QtaW1wb3J0cy50c1wiO1xuXG5leHBvcnQgY29uc3QgcnVsZXMgPSB7XG4gIFtleGlzdGluZ0ZpbGVJbXBvcnRzLm5hbWVdOiBleGlzdGluZ0ZpbGVJbXBvcnRzLnJ1bGUsXG4gIFtub0NpcmN1bGFySW1wb3J0cy5uYW1lXTogbm9DaXJjdWxhckltcG9ydHMucnVsZSxcbiAgW25vRGVjbGFyYXRpb25GaWxlSW1wb3J0cy5uYW1lXTogbm9EZWNsYXJhdGlvbkZpbGVJbXBvcnRzLnJ1bGUsXG4gIFtub0RpcmVjdG9yeUltcG9ydHMubmFtZV06IG5vRGlyZWN0b3J5SW1wb3J0cy5ydWxlLFxuICBbbm9EeW5hbWljSW1wb3J0cy5uYW1lXTogbm9EeW5hbWljSW1wb3J0cy5ydWxlLFxuICBbbm9FbXB0eUV4cG9ydHMubmFtZV06IG5vRW1wdHlFeHBvcnRzLnJ1bGUsXG4gIFtub0dpdElnbm9yZWRJbXBvcnRzLm5hbWVdOiBub0dpdElnbm9yZWRJbXBvcnRzLnJ1bGUsXG4gIFtub1BoYW50b21EZXBJbXBvcnRzLm5hbWVdOiBub1BoYW50b21EZXBJbXBvcnRzLnJ1bGUsXG4gIFtub1F1ZXJ5U3VmZml4ZXMubmFtZV06IG5vUXVlcnlTdWZmaXhlcy5ydWxlLFxuICBbbm9SZWxhdGl2ZVBhcmVudEltcG9ydHMubmFtZV06IG5vUmVsYXRpdmVQYXJlbnRJbXBvcnRzLnJ1bGUsXG4gIFtub1JlbmFtZUV4cG9ydHMubmFtZV06IG5vUmVuYW1lRXhwb3J0cy5ydWxlLFxuICBbbm9SZW5hbWVJbXBvcnRzLm5hbWVdOiBub1JlbmFtZUltcG9ydHMucnVsZSxcbiAgW25vU2lkZUVmZmVjdEltcG9ydHMubmFtZV06IG5vU2lkZUVmZmVjdEltcG9ydHMucnVsZSxcbiAgW25vVXNlbGVzc1BhdGhTZWdtZW50cy5uYW1lXTogbm9Vc2VsZXNzUGF0aFNlZ21lbnRzLnJ1bGUsXG4gIFtyZXF1aXJlZEV4cG9ydHMubmFtZV06IHJlcXVpcmVkRXhwb3J0cy5ydWxlLFxuICBbdG9wU2lkZUVmZmVjdEltcG9ydHMubmFtZV06IHRvcFNpZGVFZmZlY3RJbXBvcnRzLnJ1bGUsXG59O1xuIl19
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Note: This rule do not support importing files without extensions and directory imports.
3
+ */
4
+ export declare const noCircularImports: {
5
+ name: string;
6
+ rule: import("eslint").Rule.RuleModule;
7
+ };
8
+ //# sourceMappingURL=no-circular-imports.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"no-circular-imports.d.ts","sourceRoot":"","sources":["../../src/rules/no-circular-imports.ts"],"names":[],"mappings":"AA+BA;;GAEG;AACH,eAAO,MAAM,iBAAiB;;;CAwC5B,CAAC"}
@@ -0,0 +1,56 @@
1
+ import path from "node:path";
2
+ import process from "node:process";
3
+ import { createRule, getRuleName, getSourceType } from "../common.js";
4
+ /**
5
+ * Key is the source file, value is its imports.
6
+ */
7
+ const store = new Map();
8
+ function isCircular(currentFile, visited = new Set()) {
9
+ if (visited.has(currentFile)) {
10
+ return [true, [...visited]];
11
+ }
12
+ visited.add(currentFile);
13
+ const dependencies = store.get(currentFile) ?? new Set();
14
+ for (const dependency of dependencies) {
15
+ const [isCircularResult, circularPaths] = isCircular(path.resolve(path.dirname(currentFile), dependency), new Set(visited));
16
+ if (isCircularResult) {
17
+ return [isCircularResult, circularPaths];
18
+ }
19
+ }
20
+ return [false, []];
21
+ }
22
+ /**
23
+ * Note: This rule do not support importing files without extensions and directory imports.
24
+ */
25
+ export const noCircularImports = createRule({
26
+ name: getRuleName(import.meta.url),
27
+ message: "Circular imports are not allowed.",
28
+ create: (context) => {
29
+ const filePath = context.filename;
30
+ const imports = store.get(filePath) ?? new Set();
31
+ store.set(filePath, imports);
32
+ return {
33
+ ImportDeclaration: (node) => {
34
+ if (typeof node.source.value !== "string" ||
35
+ getSourceType(node.source.value) !== "local")
36
+ return;
37
+ imports.add(node.source.value);
38
+ },
39
+ "ImportDeclaration:exit": (node) => {
40
+ if (typeof node.source.value !== "string" ||
41
+ getSourceType(node.source.value) !== "local")
42
+ return;
43
+ const [isCircularResult, circularPaths] = isCircular(path.resolve(path.dirname(filePath), node.source.value), new Set([filePath]));
44
+ if (isCircularResult) {
45
+ context.report({
46
+ node,
47
+ message: `Circular import detected: ${circularPaths
48
+ .map((p) => path.relative(process.cwd(), p))
49
+ .join(" -> ")}`,
50
+ });
51
+ }
52
+ },
53
+ };
54
+ },
55
+ });
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm8tY2lyY3VsYXItaW1wb3J0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ydWxlcy9uby1jaXJjdWxhci1pbXBvcnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sSUFBSSxNQUFNLFdBQVcsQ0FBQztBQUM3QixPQUFPLE9BQU8sTUFBTSxjQUFjLENBQUM7QUFDbkMsT0FBTyxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsYUFBYSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRXRFOztHQUVHO0FBQ0gsTUFBTSxLQUFLLEdBQUcsSUFBSSxHQUFHLEVBQXVCLENBQUM7QUFFN0MsU0FBUyxVQUFVLENBQ2pCLFdBQW1CLEVBQ25CLFVBQVUsSUFBSSxHQUFHLEVBQVU7SUFFM0IsSUFBSSxPQUFPLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUM7UUFDN0IsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBQ0QsT0FBTyxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUV6QixNQUFNLFlBQVksR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxJQUFJLElBQUksR0FBRyxFQUFVLENBQUM7SUFDakUsS0FBSyxNQUFNLFVBQVUsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUN0QyxNQUFNLENBQUMsZ0JBQWdCLEVBQUUsYUFBYSxDQUFDLEdBQUcsVUFBVSxDQUNsRCxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLEVBQUUsVUFBVSxDQUFDLEVBQ25ELElBQUksR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUNqQixDQUFDO1FBQ0YsSUFBSSxnQkFBZ0IsRUFBRSxDQUFDO1lBQ3JCLE9BQU8sQ0FBQyxnQkFBZ0IsRUFBRSxhQUFhLENBQUMsQ0FBQztRQUMzQyxDQUFDO0lBQ0gsQ0FBQztJQUNELE9BQU8sQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7QUFDckIsQ0FBQztBQUVEOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsVUFBVSxDQUFDO0lBQzFDLElBQUksRUFBRSxXQUFXLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUM7SUFDbEMsT0FBTyxFQUFFLG1DQUFtQztJQUM1QyxNQUFNLEVBQUUsQ0FBQyxPQUFPLEVBQUUsRUFBRTtRQUNsQixNQUFNLFFBQVEsR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDO1FBQ2xDLE1BQU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLElBQUksSUFBSSxHQUFHLEVBQVUsQ0FBQztRQUN6RCxLQUFLLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUU3QixPQUFPO1lBQ0wsaUJBQWlCLEVBQUUsQ0FBQyxJQUFJLEVBQUUsRUFBRTtnQkFDMUIsSUFDRSxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxLQUFLLFFBQVE7b0JBQ3JDLGFBQWEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxLQUFLLE9BQU87b0JBRTVDLE9BQU87Z0JBQ1QsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ2pDLENBQUM7WUFFRCx3QkFBd0IsRUFBRSxDQUFDLElBQUksRUFBRSxFQUFFO2dCQUNqQyxJQUNFLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEtBQUssUUFBUTtvQkFDckMsYUFBYSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEtBQUssT0FBTztvQkFFNUMsT0FBTztnQkFFVCxNQUFNLENBQUMsZ0JBQWdCLEVBQUUsYUFBYSxDQUFDLEdBQUcsVUFBVSxDQUNsRCxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFDdkQsSUFBSSxHQUFHLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUNwQixDQUFDO2dCQUNGLElBQUksZ0JBQWdCLEVBQUUsQ0FBQztvQkFDckIsT0FBTyxDQUFDLE1BQU0sQ0FBQzt3QkFDYixJQUFJO3dCQUNKLE9BQU8sRUFBRSw2QkFBNkIsYUFBYTs2QkFDaEQsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQzs2QkFDM0MsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFO3FCQUNsQixDQUFDLENBQUM7Z0JBQ0wsQ0FBQztZQUNILENBQUM7U0FDRixDQUFDO0lBQ0osQ0FBQztDQUNGLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBwYXRoIGZyb20gXCJub2RlOnBhdGhcIjtcbmltcG9ydCBwcm9jZXNzIGZyb20gXCJub2RlOnByb2Nlc3NcIjtcbmltcG9ydCB7IGNyZWF0ZVJ1bGUsIGdldFJ1bGVOYW1lLCBnZXRTb3VyY2VUeXBlIH0gZnJvbSBcIi4uL2NvbW1vbi50c1wiO1xuXG4vKipcbiAqIEtleSBpcyB0aGUgc291cmNlIGZpbGUsIHZhbHVlIGlzIGl0cyBpbXBvcnRzLlxuICovXG5jb25zdCBzdG9yZSA9IG5ldyBNYXA8c3RyaW5nLCBTZXQ8c3RyaW5nPj4oKTtcblxuZnVuY3Rpb24gaXNDaXJjdWxhcihcbiAgY3VycmVudEZpbGU6IHN0cmluZyxcbiAgdmlzaXRlZCA9IG5ldyBTZXQ8c3RyaW5nPigpLFxuKTogW2Jvb2xlYW4sIHN0cmluZ1tdXSB7XG4gIGlmICh2aXNpdGVkLmhhcyhjdXJyZW50RmlsZSkpIHtcbiAgICByZXR1cm4gW3RydWUsIFsuLi52aXNpdGVkXV07XG4gIH1cbiAgdmlzaXRlZC5hZGQoY3VycmVudEZpbGUpO1xuXG4gIGNvbnN0IGRlcGVuZGVuY2llcyA9IHN0b3JlLmdldChjdXJyZW50RmlsZSkgPz8gbmV3IFNldDxzdHJpbmc+KCk7XG4gIGZvciAoY29uc3QgZGVwZW5kZW5jeSBvZiBkZXBlbmRlbmNpZXMpIHtcbiAgICBjb25zdCBbaXNDaXJjdWxhclJlc3VsdCwgY2lyY3VsYXJQYXRoc10gPSBpc0NpcmN1bGFyKFxuICAgICAgcGF0aC5yZXNvbHZlKHBhdGguZGlybmFtZShjdXJyZW50RmlsZSksIGRlcGVuZGVuY3kpLFxuICAgICAgbmV3IFNldCh2aXNpdGVkKSxcbiAgICApO1xuICAgIGlmIChpc0NpcmN1bGFyUmVzdWx0KSB7XG4gICAgICByZXR1cm4gW2lzQ2lyY3VsYXJSZXN1bHQsIGNpcmN1bGFyUGF0aHNdO1xuICAgIH1cbiAgfVxuICByZXR1cm4gW2ZhbHNlLCBbXV07XG59XG5cbi8qKlxuICogTm90ZTogVGhpcyBydWxlIGRvIG5vdCBzdXBwb3J0IGltcG9ydGluZyBmaWxlcyB3aXRob3V0IGV4dGVuc2lvbnMgYW5kIGRpcmVjdG9yeSBpbXBvcnRzLlxuICovXG5leHBvcnQgY29uc3Qgbm9DaXJjdWxhckltcG9ydHMgPSBjcmVhdGVSdWxlKHtcbiAgbmFtZTogZ2V0UnVsZU5hbWUoaW1wb3J0Lm1ldGEudXJsKSxcbiAgbWVzc2FnZTogXCJDaXJjdWxhciBpbXBvcnRzIGFyZSBub3QgYWxsb3dlZC5cIixcbiAgY3JlYXRlOiAoY29udGV4dCkgPT4ge1xuICAgIGNvbnN0IGZpbGVQYXRoID0gY29udGV4dC5maWxlbmFtZTtcbiAgICBjb25zdCBpbXBvcnRzID0gc3RvcmUuZ2V0KGZpbGVQYXRoKSA/PyBuZXcgU2V0PHN0cmluZz4oKTtcbiAgICBzdG9yZS5zZXQoZmlsZVBhdGgsIGltcG9ydHMpO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIEltcG9ydERlY2xhcmF0aW9uOiAobm9kZSkgPT4ge1xuICAgICAgICBpZiAoXG4gICAgICAgICAgdHlwZW9mIG5vZGUuc291cmNlLnZhbHVlICE9PSBcInN0cmluZ1wiIHx8XG4gICAgICAgICAgZ2V0U291cmNlVHlwZShub2RlLnNvdXJjZS52YWx1ZSkgIT09IFwibG9jYWxcIlxuICAgICAgICApXG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICBpbXBvcnRzLmFkZChub2RlLnNvdXJjZS52YWx1ZSk7XG4gICAgICB9LFxuXG4gICAgICBcIkltcG9ydERlY2xhcmF0aW9uOmV4aXRcIjogKG5vZGUpID0+IHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgIHR5cGVvZiBub2RlLnNvdXJjZS52YWx1ZSAhPT0gXCJzdHJpbmdcIiB8fFxuICAgICAgICAgIGdldFNvdXJjZVR5cGUobm9kZS5zb3VyY2UudmFsdWUpICE9PSBcImxvY2FsXCJcbiAgICAgICAgKVxuICAgICAgICAgIHJldHVybjtcblxuICAgICAgICBjb25zdCBbaXNDaXJjdWxhclJlc3VsdCwgY2lyY3VsYXJQYXRoc10gPSBpc0NpcmN1bGFyKFxuICAgICAgICAgIHBhdGgucmVzb2x2ZShwYXRoLmRpcm5hbWUoZmlsZVBhdGgpLCBub2RlLnNvdXJjZS52YWx1ZSksXG4gICAgICAgICAgbmV3IFNldChbZmlsZVBhdGhdKSxcbiAgICAgICAgKTtcbiAgICAgICAgaWYgKGlzQ2lyY3VsYXJSZXN1bHQpIHtcbiAgICAgICAgICBjb250ZXh0LnJlcG9ydCh7XG4gICAgICAgICAgICBub2RlLFxuICAgICAgICAgICAgbWVzc2FnZTogYENpcmN1bGFyIGltcG9ydCBkZXRlY3RlZDogJHtjaXJjdWxhclBhdGhzXG4gICAgICAgICAgICAgIC5tYXAoKHApID0+IHBhdGgucmVsYXRpdmUocHJvY2Vzcy5jd2QoKSwgcCkpXG4gICAgICAgICAgICAgIC5qb2luKFwiIC0+IFwiKX1gLFxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgIH07XG4gIH0sXG59KTtcbiJdfQ==
@@ -1,5 +1,6 @@
1
+ import type { Rule } from "eslint";
1
2
  export declare const noDynamicImports: {
2
3
  name: string;
3
- rule: import("eslint").Rule.RuleModule;
4
+ rule: Rule.RuleModule;
4
5
  };
5
6
  //# sourceMappingURL=no-dynamic-imports.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"no-dynamic-imports.d.ts","sourceRoot":"","sources":["../../src/rules/no-dynamic-imports.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,gBAAgB;;;CAW3B,CAAC"}
1
+ {"version":3,"file":"no-dynamic-imports.d.ts","sourceRoot":"","sources":["../../src/rules/no-dynamic-imports.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAGnC,eAAO,MAAM,gBAAgB;;;CAW3B,CAAC"}
@@ -11,4 +11,4 @@ export const noDynamicImports = createRule({
11
11
  },
12
12
  }),
13
13
  });
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm8tZHluYW1pYy1pbXBvcnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3J1bGVzL25vLWR5bmFtaWMtaW1wb3J0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLGtCQUFrQixFQUFFLFdBQVcsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUUzRSxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxVQUFVLENBQUM7SUFDekMsSUFBSSxFQUFFLFdBQVcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQztJQUNsQyxPQUFPLEVBQUUsa0RBQWtEO0lBQzNELE1BQU0sRUFBRSxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNwQixrQ0FBa0MsRUFBRSxDQUFDLElBQVUsRUFBRSxFQUFFO1lBQ2pELE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLGtCQUFrQixFQUFFLENBQUMsQ0FBQztRQUMxRCxDQUFDO1FBQ0Qsb0RBQW9ELEVBQUUsQ0FBQyxJQUFVLEVBQUUsRUFBRTtZQUNuRSxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxrQkFBa0IsRUFBRSxDQUFDLENBQUM7UUFDMUQsQ0FBQztLQUNGLENBQUM7Q0FDSCxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IE5vZGUgfSBmcm9tIFwiZXN0cmVlXCI7XG5pbXBvcnQgeyBjcmVhdGVSdWxlLCBERUZBVUxUX01FU1NBR0VfSUQsIGdldFJ1bGVOYW1lIH0gZnJvbSBcIi4uL2NvbW1vbi50c1wiO1xuXG5leHBvcnQgY29uc3Qgbm9EeW5hbWljSW1wb3J0cyA9IGNyZWF0ZVJ1bGUoe1xuICBuYW1lOiBnZXRSdWxlTmFtZShpbXBvcnQubWV0YS51cmwpLFxuICBtZXNzYWdlOiBcImBpbXBvcnQoKWAgc2hvdWxkIGJlIGNhbGxlZCB3aXRoIHN0cmluZyBsaXRlcmFsLlwiLFxuICBjcmVhdGU6IChjb250ZXh0KSA9PiAoe1xuICAgIFwiSW1wb3J0RXhwcmVzc2lvbiA+IDpub3QoTGl0ZXJhbClcIjogKG5vZGU6IE5vZGUpID0+IHtcbiAgICAgIGNvbnRleHQucmVwb3J0KHsgbm9kZSwgbWVzc2FnZUlkOiBERUZBVUxUX01FU1NBR0VfSUQgfSk7XG4gICAgfSxcbiAgICBcIkltcG9ydEV4cHJlc3Npb24gPiBMaXRlcmFsW3Jhdz0vXlteJ1xcXCJdLipbXidcXFwiXSQvXVwiOiAobm9kZTogTm9kZSkgPT4ge1xuICAgICAgY29udGV4dC5yZXBvcnQoeyBub2RlLCBtZXNzYWdlSWQ6IERFRkFVTFRfTUVTU0FHRV9JRCB9KTtcbiAgICB9LFxuICB9KSxcbn0pO1xuIl19
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm8tZHluYW1pYy1pbXBvcnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3J1bGVzL25vLWR5bmFtaWMtaW1wb3J0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLGtCQUFrQixFQUFFLFdBQVcsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUUzRSxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxVQUFVLENBQUM7SUFDekMsSUFBSSxFQUFFLFdBQVcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQztJQUNsQyxPQUFPLEVBQUUsa0RBQWtEO0lBQzNELE1BQU0sRUFBRSxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNwQixrQ0FBa0MsRUFBRSxDQUFDLElBQWUsRUFBRSxFQUFFO1lBQ3RELE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLGtCQUFrQixFQUFFLENBQUMsQ0FBQztRQUMxRCxDQUFDO1FBQ0Qsb0RBQW9ELEVBQUUsQ0FBQyxJQUFlLEVBQUUsRUFBRTtZQUN4RSxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxrQkFBa0IsRUFBRSxDQUFDLENBQUM7UUFDMUQsQ0FBQztLQUNGLENBQUM7Q0FDSCxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFJ1bGUgfSBmcm9tIFwiZXNsaW50XCI7XG5pbXBvcnQgeyBjcmVhdGVSdWxlLCBERUZBVUxUX01FU1NBR0VfSUQsIGdldFJ1bGVOYW1lIH0gZnJvbSBcIi4uL2NvbW1vbi50c1wiO1xuXG5leHBvcnQgY29uc3Qgbm9EeW5hbWljSW1wb3J0cyA9IGNyZWF0ZVJ1bGUoe1xuICBuYW1lOiBnZXRSdWxlTmFtZShpbXBvcnQubWV0YS51cmwpLFxuICBtZXNzYWdlOiBcImBpbXBvcnQoKWAgc2hvdWxkIGJlIGNhbGxlZCB3aXRoIHN0cmluZyBsaXRlcmFsLlwiLFxuICBjcmVhdGU6IChjb250ZXh0KSA9PiAoe1xuICAgIFwiSW1wb3J0RXhwcmVzc2lvbiA+IDpub3QoTGl0ZXJhbClcIjogKG5vZGU6IFJ1bGUuTm9kZSkgPT4ge1xuICAgICAgY29udGV4dC5yZXBvcnQoeyBub2RlLCBtZXNzYWdlSWQ6IERFRkFVTFRfTUVTU0FHRV9JRCB9KTtcbiAgICB9LFxuICAgIFwiSW1wb3J0RXhwcmVzc2lvbiA+IExpdGVyYWxbcmF3PS9eW14nXFxcIl0uKlteJ1xcXCJdJC9dXCI6IChub2RlOiBSdWxlLk5vZGUpID0+IHtcbiAgICAgIGNvbnRleHQucmVwb3J0KHsgbm9kZSwgbWVzc2FnZUlkOiBERUZBVUxUX01FU1NBR0VfSUQgfSk7XG4gICAgfSxcbiAgfSksXG59KTtcbiJdfQ==
@@ -1,5 +1,6 @@
1
+ import type { Rule } from "eslint";
1
2
  export declare const noEmptyExports: {
2
3
  name: string;
3
- rule: import("eslint").Rule.RuleModule;
4
+ rule: Rule.RuleModule;
4
5
  };
5
6
  //# sourceMappingURL=no-empty-exports.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"no-empty-exports.d.ts","sourceRoot":"","sources":["../../src/rules/no-empty-exports.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,cAAc;;;CAUzB,CAAC"}
1
+ {"version":3,"file":"no-empty-exports.d.ts","sourceRoot":"","sources":["../../src/rules/no-empty-exports.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAGnC,eAAO,MAAM,cAAc;;;CAUzB,CAAC"}
@@ -8,4 +8,4 @@ export const noEmptyExports = createRule({
8
8
  },
9
9
  }),
10
10
  });
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm8tZW1wdHktZXhwb3J0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ydWxlcy9uby1lbXB0eS1leHBvcnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxVQUFVLEVBQUUsa0JBQWtCLEVBQUUsV0FBVyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRTNFLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxVQUFVLENBQUM7SUFDdkMsSUFBSSxFQUFFLFdBQVcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQztJQUNsQyxPQUFPLEVBQUUsdUJBQXVCO0lBQ2hDLE1BQU0sRUFBRSxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNwQiwrREFBK0QsRUFBRSxDQUMvRCxJQUFVLEVBQ1YsRUFBRTtZQUNGLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLGtCQUFrQixFQUFFLENBQUMsQ0FBQztRQUMxRCxDQUFDO0tBQ0YsQ0FBQztDQUNILENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgTm9kZSB9IGZyb20gXCJlc3RyZWVcIjtcbmltcG9ydCB7IGNyZWF0ZVJ1bGUsIERFRkFVTFRfTUVTU0FHRV9JRCwgZ2V0UnVsZU5hbWUgfSBmcm9tIFwiLi4vY29tbW9uLnRzXCI7XG5cbmV4cG9ydCBjb25zdCBub0VtcHR5RXhwb3J0cyA9IGNyZWF0ZVJ1bGUoe1xuICBuYW1lOiBnZXRSdWxlTmFtZShpbXBvcnQubWV0YS51cmwpLFxuICBtZXNzYWdlOiBcIkRpc2FsbG93IGBleHBvcnQge31gLlwiLFxuICBjcmVhdGU6IChjb250ZXh0KSA9PiAoe1xuICAgIFwiRXhwb3J0TmFtZWREZWNsYXJhdGlvbltzcGVjaWZpZXJzLmxlbmd0aD0wXVtkZWNsYXJhdGlvbj1udWxsXVwiOiAoXG4gICAgICBub2RlOiBOb2RlLFxuICAgICkgPT4ge1xuICAgICAgY29udGV4dC5yZXBvcnQoeyBub2RlLCBtZXNzYWdlSWQ6IERFRkFVTFRfTUVTU0FHRV9JRCB9KTtcbiAgICB9LFxuICB9KSxcbn0pO1xuIl19
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm8tZW1wdHktZXhwb3J0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ydWxlcy9uby1lbXB0eS1leHBvcnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxVQUFVLEVBQUUsa0JBQWtCLEVBQUUsV0FBVyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRTNFLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxVQUFVLENBQUM7SUFDdkMsSUFBSSxFQUFFLFdBQVcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQztJQUNsQyxPQUFPLEVBQUUsdUJBQXVCO0lBQ2hDLE1BQU0sRUFBRSxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNwQiwrREFBK0QsRUFBRSxDQUMvRCxJQUFlLEVBQ2YsRUFBRTtZQUNGLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLGtCQUFrQixFQUFFLENBQUMsQ0FBQztRQUMxRCxDQUFDO0tBQ0YsQ0FBQztDQUNILENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgUnVsZSB9IGZyb20gXCJlc2xpbnRcIjtcbmltcG9ydCB7IGNyZWF0ZVJ1bGUsIERFRkFVTFRfTUVTU0FHRV9JRCwgZ2V0UnVsZU5hbWUgfSBmcm9tIFwiLi4vY29tbW9uLnRzXCI7XG5cbmV4cG9ydCBjb25zdCBub0VtcHR5RXhwb3J0cyA9IGNyZWF0ZVJ1bGUoe1xuICBuYW1lOiBnZXRSdWxlTmFtZShpbXBvcnQubWV0YS51cmwpLFxuICBtZXNzYWdlOiBcIkRpc2FsbG93IGBleHBvcnQge31gLlwiLFxuICBjcmVhdGU6IChjb250ZXh0KSA9PiAoe1xuICAgIFwiRXhwb3J0TmFtZWREZWNsYXJhdGlvbltzcGVjaWZpZXJzLmxlbmd0aD0wXVtkZWNsYXJhdGlvbj1udWxsXVwiOiAoXG4gICAgICBub2RlOiBSdWxlLk5vZGUsXG4gICAgKSA9PiB7XG4gICAgICBjb250ZXh0LnJlcG9ydCh7IG5vZGUsIG1lc3NhZ2VJZDogREVGQVVMVF9NRVNTQUdFX0lEIH0pO1xuICAgIH0sXG4gIH0pLFxufSk7XG4iXX0=
@@ -0,0 +1,5 @@
1
+ export declare const noQuerySuffixes: {
2
+ name: string;
3
+ rule: import("eslint").Rule.RuleModule;
4
+ };
5
+ //# sourceMappingURL=no-query-suffixes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"no-query-suffixes.d.ts","sourceRoot":"","sources":["../../src/rules/no-query-suffixes.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,eAAe;;;CAI1B,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { create, createRule, getRuleName } from "../common.js";
2
+ export const noQuerySuffixes = createRule({
3
+ name: getRuleName(import.meta.url),
4
+ message: "Disallow using query suffixes in import paths.",
5
+ create: (context) => create(context, checkQuerySuffix),
6
+ });
7
+ function checkQuerySuffix(_filename, source) {
8
+ return /\?.*$/.test(source);
9
+ }
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm8tcXVlcnktc3VmZml4ZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcnVsZXMvbm8tcXVlcnktc3VmZml4ZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRS9ELE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxVQUFVLENBQUM7SUFDeEMsSUFBSSxFQUFFLFdBQVcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQztJQUNsQyxPQUFPLEVBQUUsZ0RBQWdEO0lBQ3pELE1BQU0sRUFBRSxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxnQkFBZ0IsQ0FBQztDQUN2RCxDQUFDLENBQUM7QUFFSCxTQUFTLGdCQUFnQixDQUFDLFNBQWlCLEVBQUUsTUFBYztJQUN6RCxPQUFPLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDOUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNyZWF0ZSwgY3JlYXRlUnVsZSwgZ2V0UnVsZU5hbWUgfSBmcm9tIFwiLi4vY29tbW9uLnRzXCI7XG5cbmV4cG9ydCBjb25zdCBub1F1ZXJ5U3VmZml4ZXMgPSBjcmVhdGVSdWxlKHtcbiAgbmFtZTogZ2V0UnVsZU5hbWUoaW1wb3J0Lm1ldGEudXJsKSxcbiAgbWVzc2FnZTogXCJEaXNhbGxvdyB1c2luZyBxdWVyeSBzdWZmaXhlcyBpbiBpbXBvcnQgcGF0aHMuXCIsXG4gIGNyZWF0ZTogKGNvbnRleHQpID0+IGNyZWF0ZShjb250ZXh0LCBjaGVja1F1ZXJ5U3VmZml4KSxcbn0pO1xuXG5mdW5jdGlvbiBjaGVja1F1ZXJ5U3VmZml4KF9maWxlbmFtZTogc3RyaW5nLCBzb3VyY2U6IHN0cmluZykge1xuICByZXR1cm4gL1xcPy4qJC8udGVzdChzb3VyY2UpO1xufVxuIl19
@@ -1 +1 @@
1
- {"version":3,"file":"no-side-effect-imports.d.ts","sourceRoot":"","sources":["../../src/rules/no-side-effect-imports.ts"],"names":[],"mappings":"AAiBA,eAAO,MAAM,mBAAmB;;;CAqB9B,CAAC"}
1
+ {"version":3,"file":"no-side-effect-imports.d.ts","sourceRoot":"","sources":["../../src/rules/no-side-effect-imports.ts"],"names":[],"mappings":"AAmBA,eAAO,MAAM,mBAAmB;;;CAqB9B,CAAC"}
@@ -28,4 +28,4 @@ export const noSideEffectImports = createRule({
28
28
  };
29
29
  },
30
30
  });
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm8tc2lkZS1lZmZlY3QtaW1wb3J0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ydWxlcy9uby1zaWRlLWVmZmVjdC1pbXBvcnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxVQUFVLEVBQUUsa0JBQWtCLEVBQUUsV0FBVyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRTNFLE1BQU0sT0FBTyxHQUFHO0lBQ2Qsb0JBQW9CO0lBQ3BCLHFFQUFxRTtJQUNyRSwyQkFBMkI7SUFDM0IsNEJBQTRCO0lBQzVCLDRCQUE0QjtJQUM1Qiw0QkFBNEI7SUFDNUIsNEJBQTRCO0lBQzVCLDhCQUE4QjtJQUM5Qiw0QkFBNEI7SUFDNUIsMkJBQTJCO0NBQzVCLENBQUM7QUFFRixzRkFBc0Y7QUFDdEYsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsVUFBVSxDQUFDO0lBQzVDLElBQUksRUFBRSxXQUFXLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUM7SUFDbEMsT0FBTyxFQUNMLGdGQUFnRjtJQUNsRixNQUFNLEVBQUUsQ0FBQyxPQUFPLEVBQUUsRUFBRTtRQUNsQixNQUFNLFVBQVUsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQy9ELE9BQU87WUFDTCx3Q0FBd0MsRUFBRSxDQUFDLElBQXVCLEVBQUUsRUFBRTtnQkFDcEUsSUFDRSxVQUFVLENBQUMsSUFBSSxDQUNiLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FDTixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxLQUFLLFFBQVE7b0JBQ3JDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FDOUIsRUFDRCxDQUFDO29CQUNELE9BQU87Z0JBQ1QsQ0FBQztnQkFDRCxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxrQkFBa0IsRUFBRSxDQUFDLENBQUM7WUFDMUQsQ0FBQztTQUNGLENBQUM7SUFDSixDQUFDO0NBQ0YsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBJbXBvcnREZWNsYXJhdGlvbiB9IGZyb20gXCJlc3RyZWVcIjtcbmltcG9ydCB7IGNyZWF0ZVJ1bGUsIERFRkFVTFRfTUVTU0FHRV9JRCwgZ2V0UnVsZU5hbWUgfSBmcm9tIFwiLi4vY29tbW9uLnRzXCI7XG5cbmNvbnN0IGlnbm9yZXMgPSBbXG4gIFwiXnJlZmxlY3QtbWV0YWRhdGEkXCIsXG4gIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS92aXRlanMvdml0ZS9ibG9iL21haW4vcGFja2FnZXMvdml0ZS9jbGllbnQuZC50c1xuICAvLyBcIig/PCFcXFxcLm1vZHVsZSlcXFxcLmNzcyRcIixcbiAgLy8gXCIoPzwhXFxcXC5tb2R1bGUpXFxcXC5zY3NzJFwiLFxuICAvLyBcIig/PCFcXFxcLm1vZHVsZSlcXFxcLnNhc3MkXCIsXG4gIC8vIFwiKD88IVxcXFwubW9kdWxlKVxcXFwubGVzcyRcIixcbiAgLy8gXCIoPzwhXFxcXC5tb2R1bGUpXFxcXC5zdHlsJFwiLFxuICAvLyBcIig/PCFcXFxcLm1vZHVsZSlcXFxcLnN0eWx1cyRcIixcbiAgLy8gXCIoPzwhXFxcXC5tb2R1bGUpXFxcXC5wY3NzJFwiLFxuICAvLyBcIig/PCFcXFxcLm1vZHVsZSlcXFxcLnNzcyRcIixcbl07XG5cbi8vIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0phdmFTY3JpcHQvUmVmZXJlbmNlL1N0YXRlbWVudHMvaW1wb3J0XG5leHBvcnQgY29uc3Qgbm9TaWRlRWZmZWN0SW1wb3J0cyA9IGNyZWF0ZVJ1bGUoe1xuICBuYW1lOiBnZXRSdWxlTmFtZShpbXBvcnQubWV0YS51cmwpLFxuICBtZXNzYWdlOlxuICAgIFwiU2lkZSBlZmZlY3QgaW1wb3J0IGlzIG9mdGVuIHVzZWQgZm9yIHBvbHlmaWxscyBhbmQgY3NzLiBJdCdzIHVuc2FmZSB0byB1c2UgaXQuXCIsXG4gIGNyZWF0ZTogKGNvbnRleHQpID0+IHtcbiAgICBjb25zdCBpZ25vcmVFeHBzID0gaWdub3Jlcy5tYXAoKGlnbm9yZSkgPT4gbmV3IFJlZ0V4cChpZ25vcmUpKTtcbiAgICByZXR1cm4ge1xuICAgICAgXCJJbXBvcnREZWNsYXJhdGlvbltzcGVjaWZpZXJzLmxlbmd0aD0wXVwiOiAobm9kZTogSW1wb3J0RGVjbGFyYXRpb24pID0+IHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgIGlnbm9yZUV4cHMuc29tZShcbiAgICAgICAgICAgIChleHApID0+XG4gICAgICAgICAgICAgIHR5cGVvZiBub2RlLnNvdXJjZS52YWx1ZSA9PT0gXCJzdHJpbmdcIiAmJlxuICAgICAgICAgICAgICBleHAudGVzdChub2RlLnNvdXJjZS52YWx1ZSksXG4gICAgICAgICAgKVxuICAgICAgICApIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29udGV4dC5yZXBvcnQoeyBub2RlLCBtZXNzYWdlSWQ6IERFRkFVTFRfTUVTU0FHRV9JRCB9KTtcbiAgICAgIH0sXG4gICAgfTtcbiAgfSxcbn0pO1xuIl19
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm8tc2lkZS1lZmZlY3QtaW1wb3J0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ydWxlcy9uby1zaWRlLWVmZmVjdC1pbXBvcnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsa0JBQWtCLEVBQUUsV0FBVyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBSzNFLE1BQU0sT0FBTyxHQUFHO0lBQ2Qsb0JBQW9CO0lBQ3BCLHFFQUFxRTtJQUNyRSwyQkFBMkI7SUFDM0IsNEJBQTRCO0lBQzVCLDRCQUE0QjtJQUM1Qiw0QkFBNEI7SUFDNUIsNEJBQTRCO0lBQzVCLDhCQUE4QjtJQUM5Qiw0QkFBNEI7SUFDNUIsMkJBQTJCO0NBQzVCLENBQUM7QUFFRixzRkFBc0Y7QUFDdEYsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsVUFBVSxDQUFDO0lBQzVDLElBQUksRUFBRSxXQUFXLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUM7SUFDbEMsT0FBTyxFQUNMLGdGQUFnRjtJQUNsRixNQUFNLEVBQUUsQ0FBQyxPQUFPLEVBQUUsRUFBRTtRQUNsQixNQUFNLFVBQVUsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQy9ELE9BQU87WUFDTCx3Q0FBd0MsRUFBRSxDQUFDLElBQXVCLEVBQUUsRUFBRTtnQkFDcEUsSUFDRSxVQUFVLENBQUMsSUFBSSxDQUNiLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FDTixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxLQUFLLFFBQVE7b0JBQ3JDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FDOUIsRUFDRCxDQUFDO29CQUNELE9BQU87Z0JBQ1QsQ0FBQztnQkFDRCxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxrQkFBa0IsRUFBRSxDQUFDLENBQUM7WUFDMUQsQ0FBQztTQUNGLENBQUM7SUFDSixDQUFDO0NBQ0YsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3JlYXRlUnVsZSwgREVGQVVMVF9NRVNTQUdFX0lELCBnZXRSdWxlTmFtZSB9IGZyb20gXCIuLi9jb21tb24udHNcIjtcbmltcG9ydCB0eXBlIHsgR2V0Tm9kZSB9IGZyb20gXCIuLi91dGlscy50c1wiO1xuXG50eXBlIEltcG9ydERlY2xhcmF0aW9uID0gR2V0Tm9kZTxcIkltcG9ydERlY2xhcmF0aW9uXCI+O1xuXG5jb25zdCBpZ25vcmVzID0gW1xuICBcIl5yZWZsZWN0LW1ldGFkYXRhJFwiLFxuICAvLyBodHRwczovL2dpdGh1Yi5jb20vdml0ZWpzL3ZpdGUvYmxvYi9tYWluL3BhY2thZ2VzL3ZpdGUvY2xpZW50LmQudHNcbiAgLy8gXCIoPzwhXFxcXC5tb2R1bGUpXFxcXC5jc3MkXCIsXG4gIC8vIFwiKD88IVxcXFwubW9kdWxlKVxcXFwuc2NzcyRcIixcbiAgLy8gXCIoPzwhXFxcXC5tb2R1bGUpXFxcXC5zYXNzJFwiLFxuICAvLyBcIig/PCFcXFxcLm1vZHVsZSlcXFxcLmxlc3MkXCIsXG4gIC8vIFwiKD88IVxcXFwubW9kdWxlKVxcXFwuc3R5bCRcIixcbiAgLy8gXCIoPzwhXFxcXC5tb2R1bGUpXFxcXC5zdHlsdXMkXCIsXG4gIC8vIFwiKD88IVxcXFwubW9kdWxlKVxcXFwucGNzcyRcIixcbiAgLy8gXCIoPzwhXFxcXC5tb2R1bGUpXFxcXC5zc3MkXCIsXG5dO1xuXG4vLyBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9KYXZhU2NyaXB0L1JlZmVyZW5jZS9TdGF0ZW1lbnRzL2ltcG9ydFxuZXhwb3J0IGNvbnN0IG5vU2lkZUVmZmVjdEltcG9ydHMgPSBjcmVhdGVSdWxlKHtcbiAgbmFtZTogZ2V0UnVsZU5hbWUoaW1wb3J0Lm1ldGEudXJsKSxcbiAgbWVzc2FnZTpcbiAgICBcIlNpZGUgZWZmZWN0IGltcG9ydCBpcyBvZnRlbiB1c2VkIGZvciBwb2x5ZmlsbHMgYW5kIGNzcy4gSXQncyB1bnNhZmUgdG8gdXNlIGl0LlwiLFxuICBjcmVhdGU6IChjb250ZXh0KSA9PiB7XG4gICAgY29uc3QgaWdub3JlRXhwcyA9IGlnbm9yZXMubWFwKChpZ25vcmUpID0+IG5ldyBSZWdFeHAoaWdub3JlKSk7XG4gICAgcmV0dXJuIHtcbiAgICAgIFwiSW1wb3J0RGVjbGFyYXRpb25bc3BlY2lmaWVycy5sZW5ndGg9MF1cIjogKG5vZGU6IEltcG9ydERlY2xhcmF0aW9uKSA9PiB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICBpZ25vcmVFeHBzLnNvbWUoXG4gICAgICAgICAgICAoZXhwKSA9PlxuICAgICAgICAgICAgICB0eXBlb2Ygbm9kZS5zb3VyY2UudmFsdWUgPT09IFwic3RyaW5nXCIgJiZcbiAgICAgICAgICAgICAgZXhwLnRlc3Qobm9kZS5zb3VyY2UudmFsdWUpLFxuICAgICAgICAgIClcbiAgICAgICAgKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnRleHQucmVwb3J0KHsgbm9kZSwgbWVzc2FnZUlkOiBERUZBVUxUX01FU1NBR0VfSUQgfSk7XG4gICAgICB9LFxuICAgIH07XG4gIH0sXG59KTtcbiJdfQ==
@@ -1 +1 @@
1
- {"version":3,"file":"top-side-effect-imports.d.ts","sourceRoot":"","sources":["../../src/rules/top-side-effect-imports.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,oBAAoB;;;CAkB/B,CAAC"}
1
+ {"version":3,"file":"top-side-effect-imports.d.ts","sourceRoot":"","sources":["../../src/rules/top-side-effect-imports.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,oBAAoB;;;CAkB/B,CAAC"}
@@ -17,4 +17,4 @@ export const topSideEffectImports = createRule({
17
17
  };
18
18
  },
19
19
  });
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9wLXNpZGUtZWZmZWN0LWltcG9ydHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcnVsZXMvdG9wLXNpZGUtZWZmZWN0LWltcG9ydHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFVBQVUsRUFBRSxrQkFBa0IsRUFBRSxXQUFXLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFM0UsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsVUFBVSxDQUFDO0lBQzdDLElBQUksRUFBRSxXQUFXLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUM7SUFDbEMsT0FBTyxFQUFFLG9FQUFvRTtJQUM3RSxNQUFNLEVBQUUsQ0FBQyxPQUFPLEVBQUUsRUFBRTtRQUNsQixJQUFJLHNCQUFzQixHQUFHLEtBQUssQ0FBQztRQUVuQyxPQUFPO1lBQ0wsaUJBQWlCLEVBQUUsQ0FBQyxJQUF1QixFQUFFLEVBQUU7Z0JBQzdDLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7b0JBQy9CLHNCQUFzQixHQUFHLElBQUksQ0FBQztvQkFDOUIsT0FBTztnQkFDVCxDQUFDO2dCQUNELElBQUksc0JBQXNCLEVBQUUsQ0FBQztvQkFDM0IsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsa0JBQWtCLEVBQUUsQ0FBQyxDQUFDO2dCQUMxRCxDQUFDO1lBQ0gsQ0FBQztTQUNGLENBQUM7SUFDSixDQUFDO0NBQ0YsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBJbXBvcnREZWNsYXJhdGlvbiB9IGZyb20gXCJlc3RyZWVcIjtcbmltcG9ydCB7IGNyZWF0ZVJ1bGUsIERFRkFVTFRfTUVTU0FHRV9JRCwgZ2V0UnVsZU5hbWUgfSBmcm9tIFwiLi4vY29tbW9uLnRzXCI7XG5cbmV4cG9ydCBjb25zdCB0b3BTaWRlRWZmZWN0SW1wb3J0cyA9IGNyZWF0ZVJ1bGUoe1xuICBuYW1lOiBnZXRSdWxlTmFtZShpbXBvcnQubWV0YS51cmwpLFxuICBtZXNzYWdlOiBcIlNpZGUgZWZmZWN0IGltcG9ydHMgbXVzdCBiZSBwbGFjZWQgYmVmb3JlIG90aGVyIGltcG9ydCBzdGF0ZW1lbnRzLlwiLFxuICBjcmVhdGU6IChjb250ZXh0KSA9PiB7XG4gICAgbGV0IGhhc05vblNpZGVFZmZlY3RJbXBvcnQgPSBmYWxzZTtcblxuICAgIHJldHVybiB7XG4gICAgICBJbXBvcnREZWNsYXJhdGlvbjogKG5vZGU6IEltcG9ydERlY2xhcmF0aW9uKSA9PiB7XG4gICAgICAgIGlmIChub2RlLnNwZWNpZmllcnMubGVuZ3RoID4gMCkge1xuICAgICAgICAgIGhhc05vblNpZGVFZmZlY3RJbXBvcnQgPSB0cnVlO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoaGFzTm9uU2lkZUVmZmVjdEltcG9ydCkge1xuICAgICAgICAgIGNvbnRleHQucmVwb3J0KHsgbm9kZSwgbWVzc2FnZUlkOiBERUZBVUxUX01FU1NBR0VfSUQgfSk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgfTtcbiAgfSxcbn0pO1xuIl19
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9wLXNpZGUtZWZmZWN0LWltcG9ydHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcnVsZXMvdG9wLXNpZGUtZWZmZWN0LWltcG9ydHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxrQkFBa0IsRUFBRSxXQUFXLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFLM0UsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsVUFBVSxDQUFDO0lBQzdDLElBQUksRUFBRSxXQUFXLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUM7SUFDbEMsT0FBTyxFQUFFLG9FQUFvRTtJQUM3RSxNQUFNLEVBQUUsQ0FBQyxPQUFPLEVBQUUsRUFBRTtRQUNsQixJQUFJLHNCQUFzQixHQUFHLEtBQUssQ0FBQztRQUVuQyxPQUFPO1lBQ0wsaUJBQWlCLEVBQUUsQ0FBQyxJQUF1QixFQUFFLEVBQUU7Z0JBQzdDLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7b0JBQy9CLHNCQUFzQixHQUFHLElBQUksQ0FBQztvQkFDOUIsT0FBTztnQkFDVCxDQUFDO2dCQUNELElBQUksc0JBQXNCLEVBQUUsQ0FBQztvQkFDM0IsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsa0JBQWtCLEVBQUUsQ0FBQyxDQUFDO2dCQUMxRCxDQUFDO1lBQ0gsQ0FBQztTQUNGLENBQUM7SUFDSixDQUFDO0NBQ0YsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3JlYXRlUnVsZSwgREVGQVVMVF9NRVNTQUdFX0lELCBnZXRSdWxlTmFtZSB9IGZyb20gXCIuLi9jb21tb24udHNcIjtcbmltcG9ydCB0eXBlIHsgR2V0Tm9kZSB9IGZyb20gXCIuLi91dGlscy50c1wiO1xuXG50eXBlIEltcG9ydERlY2xhcmF0aW9uID0gR2V0Tm9kZTxcIkltcG9ydERlY2xhcmF0aW9uXCI+O1xuXG5leHBvcnQgY29uc3QgdG9wU2lkZUVmZmVjdEltcG9ydHMgPSBjcmVhdGVSdWxlKHtcbiAgbmFtZTogZ2V0UnVsZU5hbWUoaW1wb3J0Lm1ldGEudXJsKSxcbiAgbWVzc2FnZTogXCJTaWRlIGVmZmVjdCBpbXBvcnRzIG11c3QgYmUgcGxhY2VkIGJlZm9yZSBvdGhlciBpbXBvcnQgc3RhdGVtZW50cy5cIixcbiAgY3JlYXRlOiAoY29udGV4dCkgPT4ge1xuICAgIGxldCBoYXNOb25TaWRlRWZmZWN0SW1wb3J0ID0gZmFsc2U7XG5cbiAgICByZXR1cm4ge1xuICAgICAgSW1wb3J0RGVjbGFyYXRpb246IChub2RlOiBJbXBvcnREZWNsYXJhdGlvbikgPT4ge1xuICAgICAgICBpZiAobm9kZS5zcGVjaWZpZXJzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICBoYXNOb25TaWRlRWZmZWN0SW1wb3J0ID0gdHJ1ZTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGhhc05vblNpZGVFZmZlY3RJbXBvcnQpIHtcbiAgICAgICAgICBjb250ZXh0LnJlcG9ydCh7IG5vZGUsIG1lc3NhZ2VJZDogREVGQVVMVF9NRVNTQUdFX0lEIH0pO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgIH07XG4gIH0sXG59KTtcbiJdfQ==
package/dist/utils.d.ts CHANGED
@@ -1,6 +1,8 @@
1
+ import type { Rule } from "eslint";
1
2
  /**
2
3
  * Like [lodash.memoize](https://lodash.com/docs/4.17.15#memoize)
3
4
  * Type `Res` must be non-nullable, otherwise it will cause bug.
4
5
  */
5
6
  export declare function memoize<Arg, Res extends NonNullable<unknown>>(fn: (arg: Arg) => Res): (arg: Arg) => Res;
7
+ export type GetNode<T extends keyof Rule.NodeListener> = Parameters<NonNullable<Rule.NodeListener[T]>>[0];
6
8
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,wBAAgB,OAAO,CAAC,GAAG,EAAE,GAAG,SAAS,WAAW,CAAC,OAAO,CAAC,EAC3D,EAAE,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,GAAG,GACpB,CAAC,GAAG,EAAE,GAAG,KAAK,GAAG,CAWnB"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAEnC;;;GAGG;AACH,wBAAgB,OAAO,CAAC,GAAG,EAAE,GAAG,SAAS,WAAW,CAAC,OAAO,CAAC,EAC3D,EAAE,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,GAAG,GACpB,CAAC,GAAG,EAAE,GAAG,KAAK,GAAG,CAWnB;AAED,MAAM,MAAM,OAAO,CAAC,CAAC,SAAS,MAAM,IAAI,CAAC,YAAY,IAAI,UAAU,CACjE,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAClC,CAAC,CAAC,CAAC,CAAC"}
package/dist/utils.js CHANGED
@@ -14,4 +14,4 @@ export function memoize(fn) {
14
14
  return result;
15
15
  };
16
16
  }
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7OztHQUdHO0FBQ0gsTUFBTSxVQUFVLE9BQU8sQ0FDckIsRUFBcUI7SUFFckIsTUFBTSxLQUFLLEdBQUcsSUFBSSxHQUFHLEVBQVksQ0FBQyxDQUFDLGNBQWM7SUFDakQsT0FBTyxDQUFDLEdBQVEsRUFBRSxFQUFFO1FBQ2xCLE1BQU0sWUFBWSxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDcEMsSUFBSSxZQUFZLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDL0IsT0FBTyxZQUFZLENBQUM7UUFDdEIsQ0FBQztRQUNELE1BQU0sTUFBTSxHQUFHLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN2QixLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUN2QixPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBMaWtlIFtsb2Rhc2gubWVtb2l6ZV0oaHR0cHM6Ly9sb2Rhc2guY29tL2RvY3MvNC4xNy4xNSNtZW1vaXplKVxuICogVHlwZSBgUmVzYCBtdXN0IGJlIG5vbi1udWxsYWJsZSwgb3RoZXJ3aXNlIGl0IHdpbGwgY2F1c2UgYnVnLlxuICovXG5leHBvcnQgZnVuY3Rpb24gbWVtb2l6ZTxBcmcsIFJlcyBleHRlbmRzIE5vbk51bGxhYmxlPHVua25vd24+PihcbiAgZm46IChhcmc6IEFyZykgPT4gUmVzLFxuKTogKGFyZzogQXJnKSA9PiBSZXMge1xuICBjb25zdCBjYWNoZSA9IG5ldyBNYXA8QXJnLCBSZXM+KCk7IC8vIG1lbW9yeSBsZWFrXG4gIHJldHVybiAoYXJnOiBBcmcpID0+IHtcbiAgICBjb25zdCBjYWNoZWRSZXN1bHQgPSBjYWNoZS5nZXQoYXJnKTtcbiAgICBpZiAoY2FjaGVkUmVzdWx0ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiBjYWNoZWRSZXN1bHQ7XG4gICAgfVxuICAgIGNvbnN0IHJlc3VsdCA9IGZuKGFyZyk7XG4gICAgY2FjaGUuc2V0KGFyZywgcmVzdWx0KTtcbiAgICByZXR1cm4gcmVzdWx0O1xuICB9O1xufVxuIl19
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUE7OztHQUdHO0FBQ0gsTUFBTSxVQUFVLE9BQU8sQ0FDckIsRUFBcUI7SUFFckIsTUFBTSxLQUFLLEdBQUcsSUFBSSxHQUFHLEVBQVksQ0FBQyxDQUFDLGNBQWM7SUFDakQsT0FBTyxDQUFDLEdBQVEsRUFBRSxFQUFFO1FBQ2xCLE1BQU0sWUFBWSxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDcEMsSUFBSSxZQUFZLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDL0IsT0FBTyxZQUFZLENBQUM7UUFDdEIsQ0FBQztRQUNELE1BQU0sTUFBTSxHQUFHLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN2QixLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUN2QixPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBSdWxlIH0gZnJvbSBcImVzbGludFwiO1xuXG4vKipcbiAqIExpa2UgW2xvZGFzaC5tZW1vaXplXShodHRwczovL2xvZGFzaC5jb20vZG9jcy80LjE3LjE1I21lbW9pemUpXG4gKiBUeXBlIGBSZXNgIG11c3QgYmUgbm9uLW51bGxhYmxlLCBvdGhlcndpc2UgaXQgd2lsbCBjYXVzZSBidWcuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBtZW1vaXplPEFyZywgUmVzIGV4dGVuZHMgTm9uTnVsbGFibGU8dW5rbm93bj4+KFxuICBmbjogKGFyZzogQXJnKSA9PiBSZXMsXG4pOiAoYXJnOiBBcmcpID0+IFJlcyB7XG4gIGNvbnN0IGNhY2hlID0gbmV3IE1hcDxBcmcsIFJlcz4oKTsgLy8gbWVtb3J5IGxlYWtcbiAgcmV0dXJuIChhcmc6IEFyZykgPT4ge1xuICAgIGNvbnN0IGNhY2hlZFJlc3VsdCA9IGNhY2hlLmdldChhcmcpO1xuICAgIGlmIChjYWNoZWRSZXN1bHQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuIGNhY2hlZFJlc3VsdDtcbiAgICB9XG4gICAgY29uc3QgcmVzdWx0ID0gZm4oYXJnKTtcbiAgICBjYWNoZS5zZXQoYXJnLCByZXN1bHQpO1xuICAgIHJldHVybiByZXN1bHQ7XG4gIH07XG59XG5cbmV4cG9ydCB0eXBlIEdldE5vZGU8VCBleHRlbmRzIGtleW9mIFJ1bGUuTm9kZUxpc3RlbmVyPiA9IFBhcmFtZXRlcnM8XG4gIE5vbk51bGxhYmxlPFJ1bGUuTm9kZUxpc3RlbmVyW1RdPlxuPlswXTtcbiJdfQ==
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "eslint-plugin-esm",
3
- "version": "0.8.1",
3
+ "version": "0.8.3",
4
4
  "description": "ESLint plugin for linting ESM (import/export syntax)",
5
5
  "keywords": [
6
6
  "eslint",
@@ -24,10 +24,11 @@
24
24
  "author": "hellozmj@qq.com",
25
25
  "type": "module",
26
26
  "exports": "./dist/index.js",
27
+ "files": [
28
+ "dist"
29
+ ],
27
30
  "devDependencies": {
28
- "@types/estree": "1.0.6",
29
- "@types/json-schema": "7.0.15",
30
- "@types/node": "22.13.10",
31
+ "@types/node": "22.14.1",
31
32
  "eslint": "9.22.0",
32
33
  "@fenge/dev-utils": "0.0.0"
33
34
  },
package/CHANGELOG.md DELETED
@@ -1,96 +0,0 @@
1
- # eslint-plugin-esm
2
-
3
- ## 0.8.1
4
-
5
- ### Patch Changes
6
-
7
- - 57c267d: feat: add rule `esm/top-side-effect-imports`
8
-
9
- ## 0.8.0
10
-
11
- ### Minor Changes
12
-
13
- - 28d8553: chore: required node ^18.20.0 or >=20.10.0
14
-
15
- ## 0.7.0
16
-
17
- ### Minor Changes
18
-
19
- - 01657a8: feat(eslint-plugin-esm): rename `no-inexistent-relative-imports` to `existing-file-imports`
20
-
21
- ## 0.6.1
22
-
23
- ### Patch Changes
24
-
25
- - 501e3b4: feat(eslint-plugin-esm): disallow side effect imports for `no-side-effect-imports` rule
26
- - da63d2e: fix(eslint-plugin-esm): depress unexpected error messages in console
27
-
28
- ## 0.6.0
29
-
30
- ### Minor Changes
31
-
32
- - 02d0164: chore(eslint-plugin-esm): make `no-inexistent-relative-imports` stricter
33
-
34
- ## 0.5.0
35
-
36
- ### Minor Changes
37
-
38
- - cb2a822: feat: remove `esm/no-ts-file-imports`, and add `esm/no-declaration-file-imports`
39
-
40
- ### Patch Changes
41
-
42
- - cb2a822: feat: add rule `no-inexistent-relative-imports`
43
-
44
- ## 0.4.0
45
-
46
- ### Minor Changes
47
-
48
- - 85cd2d5: refactor(eslint-plugin-esm): rename rule `nearest-relative-path` to `no-useless-path-segments`
49
-
50
- ### Patch Changes
51
-
52
- - 36c4c6b: fix(eslint-plugin-esm): report on `./..` and `./`
53
-
54
- ## 0.3.0
55
-
56
- ### Minor Changes
57
-
58
- - 1b7d98c: refactor(eslint-plugin-esm): `no-side-effect-imports` will not ignore declaration files now
59
- - 2d485c9: refactor(eslint-plugin-esm): `no-ts-file-imports` will not ignore declaration files now
60
-
61
- ### Patch Changes
62
-
63
- - 6c64129: feat: add rule `no-empty-exports`
64
- - d54423b: fix(eslint-plugin-esm): additionally check for importing node built-in module
65
- - 778a198: feat: add rule `esm/required-exports`
66
-
67
- ## 0.2.2
68
-
69
- ### Patch Changes
70
-
71
- - 905e445: chore: update deps
72
- - 0c4462d: fix(eslint-plugin-esm): fix incorrect report on `import type {} from "@foo/bar"`
73
-
74
- ## 0.2.1
75
-
76
- ### Patch Changes
77
-
78
- - 2b04bbd: fix(eslint-plugin-esm): allow module existing in peerDependencies for `no-phantom-dep-imports` rule
79
-
80
- ## 0.2.0
81
-
82
- ### Minor Changes
83
-
84
- - 28edf1c: feat(eslint-plugin-esm)!: support `allowDevDependencies` option
85
-
86
- ## 0.1.1
87
-
88
- ### Patch Changes
89
-
90
- - 52c7428: fix(eslint-plugin-esm): fix `nearest-relative-path` rule problem when importing from `.`
91
-
92
- ## 0.1.0
93
-
94
- ### Minor Changes
95
-
96
- - d0491d8: refactor: migrate rules from `@git-validator/eslint-plugin` to `eslint-plugin-esm`
@@ -1,28 +0,0 @@
1
- <!-- prettier-ignore-start -->
2
- # existing-file-imports
3
-
4
- Only allow importing from an existing local file.
5
-
6
- ## Rule Details
7
-
8
- ### Fail
9
-
10
- ```ts
11
- import foo from './existing-file-imports.test.js' // filename: /foo/src/rules/existing-file-imports.test.ts
12
- import foo from './existing-file-imports.test' // filename: /foo/src/rules/existing-file-imports.test.ts
13
- import foo from './inexistent-file' // filename: /foo/src/rules/existing-file-imports.test.ts
14
- import foo from '../inexistent-file' // filename: /foo/src/rules/existing-file-imports.test.ts
15
- import foo from '../rules' // filename: /foo/src/rules/existing-file-imports.test.ts
16
- import foo from '.' // filename: /foo/src/rules/existing-file-imports.test.ts
17
- import foo from './' // filename: /foo/src/rules/existing-file-imports.test.ts
18
- import foo from '..' // filename: /foo/src/rules/existing-file-imports.test.ts
19
- import foo from '../' // filename: /foo/src/rules/existing-file-imports.test.ts
20
- ```
21
-
22
- ### Pass
23
-
24
- ```ts
25
- import foo from 'foo' // filename: /foo/src/rules/existing-file-imports.test.ts
26
- import foo from './existing-file-imports.test.ts' // filename: /foo/src/rules/existing-file-imports.test.ts
27
- ```
28
- <!-- prettier-ignore-end -->
@@ -1,35 +0,0 @@
1
- <!-- prettier-ignore-start -->
2
- # no-declaration-file-imports
3
-
4
- Disallow importing from a declaration style file.
5
-
6
- ## Rule Details
7
-
8
- ### Fail
9
-
10
- ```ts
11
- import foo from 'foo.d.bar'
12
- import foo from './foo.d.bar'
13
- import foo from './foo/foo.d.bar'
14
- import foo from './foo.d.ts'
15
- import foo from './foo.d.cts'
16
- import foo from './foo.d.mts'
17
- import foo from './foo.d.tsx'
18
- import foo from './foo.d.js'
19
- import foo from './foo.d.cjs'
20
- import foo from './foo.d.mjs'
21
- import foo from './foo.d.jsx'
22
- import foo from '/foo.d.js'
23
- ```
24
-
25
- ### Pass
26
-
27
- ```ts
28
- import foo from 'foo'
29
- import foo from './foo.ts'
30
- import foo from './foo.cts'
31
- import foo from './foo.mts'
32
- import foo from './foo.tsx'
33
- import foo from '/foo.ts'
34
- ```
35
- <!-- prettier-ignore-end -->
@@ -1,30 +0,0 @@
1
- <!-- prettier-ignore-start -->
2
- # no-directory-imports
3
-
4
- Disallow importing from a directory.
5
-
6
- ## Rule Details
7
-
8
- ### Fail
9
-
10
- ```ts
11
- import foo from '.' // filename: /foo/src/rules/no-directory-imports.test.ts
12
- import foo from './' // filename: /foo/src/rules/no-directory-imports.test.ts
13
- import foo from '..' // filename: /foo/src/rules/no-directory-imports.test.ts
14
- import foo from '../' // filename: /foo/src/rules/no-directory-imports.test.ts
15
- import foo from '../rules' // filename: /foo/src/rules/no-directory-imports.test.ts
16
- import foo from '../rules/' // filename: /foo/src/rules/no-directory-imports.test.ts
17
- import foo from '../../src' // filename: /foo/src/rules/no-directory-imports.test.ts
18
- import foo from '/foo' // filename: /foo/src/rules/no-directory-imports.test.ts
19
- ```
20
-
21
- ### Pass
22
-
23
- ```ts
24
- import foo from 'foo' // filename: /foo/src/rules/no-directory-imports.test.ts
25
- import foo from './foo' // filename: /foo/src/rules/no-directory-imports.test.ts
26
- import foo from '/foo/index.js' // filename: /foo/src/rules/no-directory-imports.test.ts
27
- import foo from '/foo/index.ts' // filename: /foo/src/rules/no-directory-imports.test.ts
28
- import foo from '/foo/package.json' // filename: /foo/src/rules/no-directory-imports.test.ts
29
- ```
30
- <!-- prettier-ignore-end -->