eslint-plugin-esm 0.8.0 → 0.8.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (68) hide show
  1. package/dist/common.d.ts +6 -1
  2. package/dist/common.d.ts.map +1 -1
  3. package/dist/common.js +3 -3
  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-dynamic-imports.d.ts +2 -1
  8. package/dist/rules/no-dynamic-imports.d.ts.map +1 -1
  9. package/dist/rules/no-dynamic-imports.js +1 -1
  10. package/dist/rules/no-empty-exports.d.ts +2 -1
  11. package/dist/rules/no-empty-exports.d.ts.map +1 -1
  12. package/dist/rules/no-empty-exports.js +1 -1
  13. package/dist/rules/no-query-suffixes.d.ts +5 -0
  14. package/dist/rules/no-query-suffixes.d.ts.map +1 -0
  15. package/dist/rules/no-query-suffixes.js +10 -0
  16. package/dist/rules/no-side-effect-imports.d.ts.map +1 -1
  17. package/dist/rules/no-side-effect-imports.js +1 -1
  18. package/dist/rules/top-side-effect-imports.d.ts +5 -0
  19. package/dist/rules/top-side-effect-imports.d.ts.map +1 -0
  20. package/dist/rules/top-side-effect-imports.js +20 -0
  21. package/dist/utils.d.ts +2 -0
  22. package/dist/utils.d.ts.map +1 -1
  23. package/dist/utils.js +1 -1
  24. package/package.json +5 -3
  25. package/CHANGELOG.md +0 -90
  26. package/doc/rules/existing-file-imports.md +0 -28
  27. package/doc/rules/no-declaration-file-imports.md +0 -35
  28. package/doc/rules/no-directory-imports.md +0 -30
  29. package/doc/rules/no-dynamic-imports.md +0 -30
  30. package/doc/rules/no-empty-exports.md +0 -29
  31. package/doc/rules/no-git-ignored-imports.md +0 -36
  32. package/doc/rules/no-phantom-dep-imports.md +0 -31
  33. package/doc/rules/no-relative-parent-imports.md +0 -33
  34. package/doc/rules/no-rename-exports.md +0 -29
  35. package/doc/rules/no-rename-imports.md +0 -28
  36. package/doc/rules/no-side-effect-imports.md +0 -30
  37. package/doc/rules/no-useless-path-segments.md +0 -54
  38. package/doc/rules/required-exports.md +0 -31
  39. package/src/common.ts +0 -97
  40. package/src/index.ts +0 -29
  41. package/src/rules/existing-file-imports.test.ts +0 -28
  42. package/src/rules/existing-file-imports.ts +0 -25
  43. package/src/rules/no-declaration-file-imports.test.ts +0 -33
  44. package/src/rules/no-declaration-file-imports.ts +0 -12
  45. package/src/rules/no-directory-imports.test.ts +0 -31
  46. package/src/rules/no-directory-imports.ts +0 -34
  47. package/src/rules/no-dynamic-imports.test.ts +0 -27
  48. package/src/rules/no-dynamic-imports.ts +0 -15
  49. package/src/rules/no-empty-exports.test.ts +0 -22
  50. package/src/rules/no-empty-exports.ts +0 -14
  51. package/src/rules/no-git-ignored-imports.test.ts +0 -40
  52. package/src/rules/no-git-ignored-imports.ts +0 -58
  53. package/src/rules/no-phantom-dep-imports.test.ts +0 -35
  54. package/src/rules/no-phantom-dep-imports.ts +0 -124
  55. package/src/rules/no-relative-parent-imports.test.ts +0 -28
  56. package/src/rules/no-relative-parent-imports.ts +0 -13
  57. package/src/rules/no-rename-exports.test.ts +0 -22
  58. package/src/rules/no-rename-exports.ts +0 -17
  59. package/src/rules/no-rename-imports.test.ts +0 -22
  60. package/src/rules/no-rename-imports.ts +0 -16
  61. package/src/rules/no-side-effect-imports.test.ts +0 -24
  62. package/src/rules/no-side-effect-imports.ts +0 -39
  63. package/src/rules/no-useless-path-segments.test.ts +0 -52
  64. package/src/rules/no-useless-path-segments.ts +0 -31
  65. package/src/rules/required-exports.test.ts +0 -24
  66. package/src/rules/required-exports.ts +0 -22
  67. package/src/utils.ts +0 -18
  68. package/tsconfig.json +0 -5
package/dist/common.d.ts CHANGED
@@ -1,6 +1,10 @@
1
1
  import type { Rule } from "eslint";
2
- import type { ExportAllDeclaration, ExportNamedDeclaration, ImportDeclaration, ImportExpression } from "estree";
3
2
  import type { JSONSchema4 } from "json-schema";
3
+ import type { GetNode } from "./utils.ts";
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;
@@ -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,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAE1C,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,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"}
package/dist/common.js CHANGED
@@ -11,7 +11,7 @@ export function createRule({ name, message, schema, fixable, type = "suggestion"
11
11
  },
12
12
  type,
13
13
  docs: {
14
- // TODO: add url
14
+ url: `https://github.com/zanminkian/fenge/blob/main/packages/eslint-plugin-esm/doc/rules/${name}.md`,
15
15
  description: message,
16
16
  },
17
17
  },
@@ -21,7 +21,7 @@ export function createRule({ name, message, schema, fixable, type = "suggestion"
21
21
  }
22
22
  export function getRuleName(importMetaUrl) {
23
23
  // remove '.js' extension
24
- return path.basename(fileURLToPath(importMetaUrl)).slice(0, -3);
24
+ return path.parse(fileURLToPath(importMetaUrl)).name;
25
25
  }
26
26
  /**
27
27
  * Create ESLint RuleListener to check string importation source.
@@ -60,4 +60,4 @@ export function getSourceType(source) {
60
60
  }
61
61
  return "module";
62
62
  }
63
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2NvbW1vbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLElBQUksTUFBTSxXQUFXLENBQUM7QUFDN0IsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQVV6QyxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxTQUFTLENBQUM7QUFFNUMsTUFBTSxVQUFVLFVBQVUsQ0FBQyxFQUN6QixJQUFJLEVBQ0osT0FBTyxFQUNQLE1BQU0sRUFDTixPQUFPLEVBQ1AsSUFBSSxHQUFHLFlBQVksRUFDbkIsTUFBTSxFQUFFLFFBQVEsR0FRakI7SUFDQyxNQUFNLElBQUksR0FBb0I7UUFDNUIsSUFBSSxFQUFFO1lBQ0osR0FBRyxDQUFDLE1BQU0sSUFBSSxFQUFFLE1BQU0sRUFBRSxDQUFDO1lBQ3pCLEdBQUcsQ0FBQyxPQUFPLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQztZQUMzQixRQUFRLEVBQUU7Z0JBQ1IsQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLE9BQU87YUFDOUI7WUFDRCxJQUFJO1lBQ0osSUFBSSxFQUFFO2dCQUNKLGdCQUFnQjtnQkFDaEIsV0FBVyxFQUFFLE9BQU87YUFDckI7U0FDRjtRQUNELE1BQU0sRUFBRSxRQUFRO0tBQ2pCLENBQUM7SUFDRixPQUFPLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDO0FBQ3hCLENBQUM7QUFFRCxNQUFNLFVBQVUsV0FBVyxDQUFDLGFBQXFCO0lBQy9DLHlCQUF5QjtJQUN6QixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2xFLENBQUM7QUFRRDs7Ozs7R0FLRztBQUNILE1BQU0sVUFBVSxNQUFNLENBQ3BCLE9BQXlCLEVBQ3pCLEtBQTJFO0lBRTNFLE1BQU0sTUFBTSxHQUFHLENBQUMsSUFBcUIsRUFBRSxFQUFFO1FBQ3ZDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTTtZQUFFLE9BQU87UUFDekIsSUFBSSxDQUFDLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUM7WUFBRSxPQUFPO1FBQ3RDLElBQUksT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssS0FBSyxRQUFRO1lBQUUsT0FBTztRQUNsRCxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQztZQUNsRCxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsU0FBUyxFQUFFLGtCQUFrQixFQUFFLENBQUMsQ0FBQztJQUN6RSxDQUFDLENBQUM7SUFDRixPQUFPO1FBQ0wsaUJBQWlCLEVBQUUsTUFBTTtRQUN6QixnQkFBZ0IsRUFBRSxNQUFNO1FBQ3hCLG9CQUFvQixFQUFFLE1BQU07UUFDNUIsc0JBQXNCLEVBQUUsTUFBTTtLQUMvQixDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sVUFBVSxhQUFhLENBQUMsTUFBYztJQUMxQyxJQUNFLE1BQU0sQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDO1FBQ3RCLE1BQU0sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDO1FBQ3ZCLE1BQU0sQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDO1FBQ3hCLE1BQU0sS0FBSyxHQUFHO1FBQ2QsTUFBTSxLQUFLLElBQUksRUFDZixDQUFDO1FBQ0QsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztJQUNELElBQUksTUFBTSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1FBQy9CLE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFDRCxPQUFPLFFBQVEsQ0FBQztBQUNsQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHBhdGggZnJvbSBcIm5vZGU6cGF0aFwiO1xuaW1wb3J0IHsgZmlsZVVSTFRvUGF0aCB9IGZyb20gXCJub2RlOnVybFwiO1xuaW1wb3J0IHR5cGUgeyBSdWxlIH0gZnJvbSBcImVzbGludFwiO1xuaW1wb3J0IHR5cGUge1xuICBFeHBvcnRBbGxEZWNsYXJhdGlvbixcbiAgRXhwb3J0TmFtZWREZWNsYXJhdGlvbixcbiAgSW1wb3J0RGVjbGFyYXRpb24sXG4gIEltcG9ydEV4cHJlc3Npb24sXG59IGZyb20gXCJlc3RyZWVcIjtcbmltcG9ydCB0eXBlIHsgSlNPTlNjaGVtYTQgfSBmcm9tIFwianNvbi1zY2hlbWFcIjtcblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfTUVTU0FHRV9JRCA9IFwiZGVmYXVsdFwiO1xuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlUnVsZSh7XG4gIG5hbWUsXG4gIG1lc3NhZ2UsXG4gIHNjaGVtYSxcbiAgZml4YWJsZSxcbiAgdHlwZSA9IFwic3VnZ2VzdGlvblwiLFxuICBjcmVhdGU6IGNyZWF0ZUZuLFxufToge1xuICBuYW1lOiBzdHJpbmc7XG4gIG1lc3NhZ2U6IHN0cmluZztcbiAgc2NoZW1hPzogSlNPTlNjaGVtYTRbXTtcbiAgZml4YWJsZT86IFJ1bGUuUnVsZU1ldGFEYXRhW1wiZml4YWJsZVwiXTtcbiAgdHlwZT86IFJ1bGUuUnVsZU1ldGFEYXRhW1widHlwZVwiXTtcbiAgY3JlYXRlOiAoY29udGV4dDogUnVsZS5SdWxlQ29udGV4dCkgPT4gUnVsZS5SdWxlTGlzdGVuZXI7XG59KTogeyBuYW1lOiBzdHJpbmc7IHJ1bGU6IFJ1bGUuUnVsZU1vZHVsZSB9IHtcbiAgY29uc3QgcnVsZTogUnVsZS5SdWxlTW9kdWxlID0ge1xuICAgIG1ldGE6IHtcbiAgICAgIC4uLihzY2hlbWEgJiYgeyBzY2hlbWEgfSksXG4gICAgICAuLi4oZml4YWJsZSAmJiB7IGZpeGFibGUgfSksXG4gICAgICBtZXNzYWdlczoge1xuICAgICAgICBbREVGQVVMVF9NRVNTQUdFX0lEXTogbWVzc2FnZSxcbiAgICAgIH0sXG4gICAgICB0eXBlLFxuICAgICAgZG9jczoge1xuICAgICAgICAvLyBUT0RPOiBhZGQgdXJsXG4gICAgICAgIGRlc2NyaXB0aW9uOiBtZXNzYWdlLFxuICAgICAgfSxcbiAgICB9LFxuICAgIGNyZWF0ZTogY3JlYXRlRm4sXG4gIH07XG4gIHJldHVybiB7IG5hbWUsIHJ1bGUgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFJ1bGVOYW1lKGltcG9ydE1ldGFVcmw6IHN0cmluZykge1xuICAvLyByZW1vdmUgJy5qcycgZXh0ZW5zaW9uXG4gIHJldHVybiBwYXRoLmJhc2VuYW1lKGZpbGVVUkxUb1BhdGgoaW1wb3J0TWV0YVVybCkpLnNsaWNlKDAsIC0zKTtcbn1cblxuZXhwb3J0IHR5cGUgSW1wb3J0YXRpb25Ob2RlID1cbiAgfCBJbXBvcnREZWNsYXJhdGlvblxuICB8IEltcG9ydEV4cHJlc3Npb25cbiAgfCBFeHBvcnRBbGxEZWNsYXJhdGlvblxuICB8IEV4cG9ydE5hbWVkRGVjbGFyYXRpb247XG5cbi8qKlxuICogQ3JlYXRlIEVTTGludCBSdWxlTGlzdGVuZXIgdG8gY2hlY2sgc3RyaW5nIGltcG9ydGF0aW9uIHNvdXJjZS5cbiAqIEBwYXJhbSBjb250ZXh0IEVTTGludCBSdWxlQ29udGV4dFxuICogQHBhcmFtIGNoZWNrIHRoZSBjaGVjayBsb2dpY1xuICogQHJldHVybnMgRVNMaW50IFJ1bGVMaXN0ZW5lclxuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlKFxuICBjb250ZXh0OiBSdWxlLlJ1bGVDb250ZXh0LFxuICBjaGVjazogKGZpbGVuYW1lOiBzdHJpbmcsIHNvdXJjZTogc3RyaW5nLCBub2RlOiBJbXBvcnRhdGlvbk5vZGUpID0+IGJvb2xlYW4sXG4pOiBSdWxlLlJ1bGVMaXN0ZW5lciB7XG4gIGNvbnN0IGhhbmRsZSA9IChub2RlOiBJbXBvcnRhdGlvbk5vZGUpID0+IHtcbiAgICBpZiAoIW5vZGUuc291cmNlKSByZXR1cm47XG4gICAgaWYgKCEoXCJ2YWx1ZVwiIGluIG5vZGUuc291cmNlKSkgcmV0dXJuO1xuICAgIGlmICh0eXBlb2Ygbm9kZS5zb3VyY2UudmFsdWUgIT09IFwic3RyaW5nXCIpIHJldHVybjtcbiAgICBpZiAoY2hlY2soY29udGV4dC5maWxlbmFtZSwgbm9kZS5zb3VyY2UudmFsdWUsIG5vZGUpKVxuICAgICAgY29udGV4dC5yZXBvcnQoeyBub2RlOiBub2RlLnNvdXJjZSwgbWVzc2FnZUlkOiBERUZBVUxUX01FU1NBR0VfSUQgfSk7XG4gIH07XG4gIHJldHVybiB7XG4gICAgSW1wb3J0RGVjbGFyYXRpb246IGhhbmRsZSxcbiAgICBJbXBvcnRFeHByZXNzaW9uOiBoYW5kbGUsXG4gICAgRXhwb3J0QWxsRGVjbGFyYXRpb246IGhhbmRsZSxcbiAgICBFeHBvcnROYW1lZERlY2xhcmF0aW9uOiBoYW5kbGUsXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRTb3VyY2VUeXBlKHNvdXJjZTogc3RyaW5nKSB7XG4gIGlmIChcbiAgICBzb3VyY2Uuc3RhcnRzV2l0aChcIi9cIikgfHxcbiAgICBzb3VyY2Uuc3RhcnRzV2l0aChcIi4vXCIpIHx8XG4gICAgc291cmNlLnN0YXJ0c1dpdGgoXCIuLi9cIikgfHxcbiAgICBzb3VyY2UgPT09IFwiLlwiIHx8XG4gICAgc291cmNlID09PSBcIi4uXCJcbiAgKSB7XG4gICAgcmV0dXJuIFwibG9jYWxcIjtcbiAgfVxuICBpZiAoc291cmNlLnN0YXJ0c1dpdGgoXCJub2RlOlwiKSkge1xuICAgIHJldHVybiBcImJ1aWx0aW5cIjtcbiAgfVxuICByZXR1cm4gXCJtb2R1bGVcIjtcbn1cbiJdfQ==
63
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2NvbW1vbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLElBQUksTUFBTSxXQUFXLENBQUM7QUFDN0IsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQVV6QyxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxTQUFTLENBQUM7QUFFNUMsTUFBTSxVQUFVLFVBQVUsQ0FBQyxFQUN6QixJQUFJLEVBQ0osT0FBTyxFQUNQLE1BQU0sRUFDTixPQUFPLEVBQ1AsSUFBSSxHQUFHLFlBQVksRUFDbkIsTUFBTSxFQUFFLFFBQVEsR0FRakI7SUFDQyxNQUFNLElBQUksR0FBb0I7UUFDNUIsSUFBSSxFQUFFO1lBQ0osR0FBRyxDQUFDLE1BQU0sSUFBSSxFQUFFLE1BQU0sRUFBRSxDQUFDO1lBQ3pCLEdBQUcsQ0FBQyxPQUFPLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQztZQUMzQixRQUFRLEVBQUU7Z0JBQ1IsQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLE9BQU87YUFDOUI7WUFDRCxJQUFJO1lBQ0osSUFBSSxFQUFFO2dCQUNKLEdBQUcsRUFBRSxzRkFBc0YsSUFBSSxLQUFLO2dCQUNwRyxXQUFXLEVBQUUsT0FBTzthQUNyQjtTQUNGO1FBQ0QsTUFBTSxFQUFFLFFBQVE7S0FDakIsQ0FBQztJQUNGLE9BQU8sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUM7QUFDeEIsQ0FBQztBQUVELE1BQU0sVUFBVSxXQUFXLENBQUMsYUFBcUI7SUFDL0MseUJBQXlCO0lBQ3pCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7QUFDdkQsQ0FBQztBQVFEOzs7OztHQUtHO0FBQ0gsTUFBTSxVQUFVLE1BQU0sQ0FDcEIsT0FBeUIsRUFDekIsS0FBMkU7SUFFM0UsTUFBTSxNQUFNLEdBQUcsQ0FBQyxJQUFxQixFQUFFLEVBQUU7UUFDdkMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNO1lBQUUsT0FBTztRQUN6QixJQUFJLENBQUMsQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQztZQUFFLE9BQU87UUFDdEMsSUFBSSxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxLQUFLLFFBQVE7WUFBRSxPQUFPO1FBQ2xELElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDO1lBQ2xELE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxTQUFTLEVBQUUsa0JBQWtCLEVBQUUsQ0FBQyxDQUFDO0lBQ3pFLENBQUMsQ0FBQztJQUNGLE9BQU87UUFDTCxpQkFBaUIsRUFBRSxNQUFNO1FBQ3pCLGdCQUFnQixFQUFFLE1BQU07UUFDeEIsb0JBQW9CLEVBQUUsTUFBTTtRQUM1QixzQkFBc0IsRUFBRSxNQUFNO0tBQy9CLENBQUM7QUFDSixDQUFDO0FBRUQsTUFBTSxVQUFVLGFBQWEsQ0FBQyxNQUFjO0lBQzFDLElBQ0UsTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUM7UUFDdEIsTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUM7UUFDdkIsTUFBTSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUM7UUFDeEIsTUFBTSxLQUFLLEdBQUc7UUFDZCxNQUFNLEtBQUssSUFBSSxFQUNmLENBQUM7UUFDRCxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0lBQ0QsSUFBSSxNQUFNLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7UUFDL0IsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQUNELE9BQU8sUUFBUSxDQUFDO0FBQ2xCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgcGF0aCBmcm9tIFwibm9kZTpwYXRoXCI7XG5pbXBvcnQgeyBmaWxlVVJMVG9QYXRoIH0gZnJvbSBcIm5vZGU6dXJsXCI7XG5pbXBvcnQgdHlwZSB7IFJ1bGUgfSBmcm9tIFwiZXNsaW50XCI7XG5pbXBvcnQgdHlwZSB7IEpTT05TY2hlbWE0IH0gZnJvbSBcImpzb24tc2NoZW1hXCI7XG5pbXBvcnQgdHlwZSB7IEdldE5vZGUgfSBmcm9tIFwiLi91dGlscy50c1wiO1xuXG50eXBlIEV4cG9ydEFsbERlY2xhcmF0aW9uID0gR2V0Tm9kZTxcIkV4cG9ydEFsbERlY2xhcmF0aW9uXCI+O1xudHlwZSBFeHBvcnROYW1lZERlY2xhcmF0aW9uID0gR2V0Tm9kZTxcIkV4cG9ydE5hbWVkRGVjbGFyYXRpb25cIj47XG50eXBlIEltcG9ydERlY2xhcmF0aW9uID0gR2V0Tm9kZTxcIkltcG9ydERlY2xhcmF0aW9uXCI+O1xudHlwZSBJbXBvcnRFeHByZXNzaW9uID0gR2V0Tm9kZTxcIkltcG9ydEV4cHJlc3Npb25cIj47XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX01FU1NBR0VfSUQgPSBcImRlZmF1bHRcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVJ1bGUoe1xuICBuYW1lLFxuICBtZXNzYWdlLFxuICBzY2hlbWEsXG4gIGZpeGFibGUsXG4gIHR5cGUgPSBcInN1Z2dlc3Rpb25cIixcbiAgY3JlYXRlOiBjcmVhdGVGbixcbn06IHtcbiAgbmFtZTogc3RyaW5nO1xuICBtZXNzYWdlOiBzdHJpbmc7XG4gIHNjaGVtYT86IEpTT05TY2hlbWE0W107XG4gIGZpeGFibGU/OiBSdWxlLlJ1bGVNZXRhRGF0YVtcImZpeGFibGVcIl07XG4gIHR5cGU/OiBSdWxlLlJ1bGVNZXRhRGF0YVtcInR5cGVcIl07XG4gIGNyZWF0ZTogKGNvbnRleHQ6IFJ1bGUuUnVsZUNvbnRleHQpID0+IFJ1bGUuUnVsZUxpc3RlbmVyO1xufSk6IHsgbmFtZTogc3RyaW5nOyBydWxlOiBSdWxlLlJ1bGVNb2R1bGUgfSB7XG4gIGNvbnN0IHJ1bGU6IFJ1bGUuUnVsZU1vZHVsZSA9IHtcbiAgICBtZXRhOiB7XG4gICAgICAuLi4oc2NoZW1hICYmIHsgc2NoZW1hIH0pLFxuICAgICAgLi4uKGZpeGFibGUgJiYgeyBmaXhhYmxlIH0pLFxuICAgICAgbWVzc2FnZXM6IHtcbiAgICAgICAgW0RFRkFVTFRfTUVTU0FHRV9JRF06IG1lc3NhZ2UsXG4gICAgICB9LFxuICAgICAgdHlwZSxcbiAgICAgIGRvY3M6IHtcbiAgICAgICAgdXJsOiBgaHR0cHM6Ly9naXRodWIuY29tL3phbm1pbmtpYW4vZmVuZ2UvYmxvYi9tYWluL3BhY2thZ2VzL2VzbGludC1wbHVnaW4tZXNtL2RvYy9ydWxlcy8ke25hbWV9Lm1kYCxcbiAgICAgICAgZGVzY3JpcHRpb246IG1lc3NhZ2UsXG4gICAgICB9LFxuICAgIH0sXG4gICAgY3JlYXRlOiBjcmVhdGVGbixcbiAgfTtcbiAgcmV0dXJuIHsgbmFtZSwgcnVsZSB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0UnVsZU5hbWUoaW1wb3J0TWV0YVVybDogc3RyaW5nKSB7XG4gIC8vIHJlbW92ZSAnLmpzJyBleHRlbnNpb25cbiAgcmV0dXJuIHBhdGgucGFyc2UoZmlsZVVSTFRvUGF0aChpbXBvcnRNZXRhVXJsKSkubmFtZTtcbn1cblxuZXhwb3J0IHR5cGUgSW1wb3J0YXRpb25Ob2RlID1cbiAgfCBJbXBvcnREZWNsYXJhdGlvblxuICB8IEltcG9ydEV4cHJlc3Npb25cbiAgfCBFeHBvcnRBbGxEZWNsYXJhdGlvblxuICB8IEV4cG9ydE5hbWVkRGVjbGFyYXRpb247XG5cbi8qKlxuICogQ3JlYXRlIEVTTGludCBSdWxlTGlzdGVuZXIgdG8gY2hlY2sgc3RyaW5nIGltcG9ydGF0aW9uIHNvdXJjZS5cbiAqIEBwYXJhbSBjb250ZXh0IEVTTGludCBSdWxlQ29udGV4dFxuICogQHBhcmFtIGNoZWNrIHRoZSBjaGVjayBsb2dpY1xuICogQHJldHVybnMgRVNMaW50IFJ1bGVMaXN0ZW5lclxuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlKFxuICBjb250ZXh0OiBSdWxlLlJ1bGVDb250ZXh0LFxuICBjaGVjazogKGZpbGVuYW1lOiBzdHJpbmcsIHNvdXJjZTogc3RyaW5nLCBub2RlOiBJbXBvcnRhdGlvbk5vZGUpID0+IGJvb2xlYW4sXG4pOiBSdWxlLlJ1bGVMaXN0ZW5lciB7XG4gIGNvbnN0IGhhbmRsZSA9IChub2RlOiBJbXBvcnRhdGlvbk5vZGUpID0+IHtcbiAgICBpZiAoIW5vZGUuc291cmNlKSByZXR1cm47XG4gICAgaWYgKCEoXCJ2YWx1ZVwiIGluIG5vZGUuc291cmNlKSkgcmV0dXJuO1xuICAgIGlmICh0eXBlb2Ygbm9kZS5zb3VyY2UudmFsdWUgIT09IFwic3RyaW5nXCIpIHJldHVybjtcbiAgICBpZiAoY2hlY2soY29udGV4dC5maWxlbmFtZSwgbm9kZS5zb3VyY2UudmFsdWUsIG5vZGUpKVxuICAgICAgY29udGV4dC5yZXBvcnQoeyBub2RlOiBub2RlLnNvdXJjZSwgbWVzc2FnZUlkOiBERUZBVUxUX01FU1NBR0VfSUQgfSk7XG4gIH07XG4gIHJldHVybiB7XG4gICAgSW1wb3J0RGVjbGFyYXRpb246IGhhbmRsZSxcbiAgICBJbXBvcnRFeHByZXNzaW9uOiBoYW5kbGUsXG4gICAgRXhwb3J0QWxsRGVjbGFyYXRpb246IGhhbmRsZSxcbiAgICBFeHBvcnROYW1lZERlY2xhcmF0aW9uOiBoYW5kbGUsXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRTb3VyY2VUeXBlKHNvdXJjZTogc3RyaW5nKSB7XG4gIGlmIChcbiAgICBzb3VyY2Uuc3RhcnRzV2l0aChcIi9cIikgfHxcbiAgICBzb3VyY2Uuc3RhcnRzV2l0aChcIi4vXCIpIHx8XG4gICAgc291cmNlLnN0YXJ0c1dpdGgoXCIuLi9cIikgfHxcbiAgICBzb3VyY2UgPT09IFwiLlwiIHx8XG4gICAgc291cmNlID09PSBcIi4uXCJcbiAgKSB7XG4gICAgcmV0dXJuIFwibG9jYWxcIjtcbiAgfVxuICBpZiAoc291cmNlLnN0YXJ0c1dpdGgoXCJub2RlOlwiKSkge1xuICAgIHJldHVybiBcImJ1aWx0aW5cIjtcbiAgfVxuICByZXR1cm4gXCJtb2R1bGVcIjtcbn1cbiJdfQ==
package/dist/index.d.ts CHANGED
@@ -5,12 +5,14 @@ import { noDynamicImports } from "./rules/no-dynamic-imports.ts";
5
5
  import { noEmptyExports } from "./rules/no-empty-exports.ts";
6
6
  import { noGitIgnoredImports } from "./rules/no-git-ignored-imports.ts";
7
7
  import { noPhantomDepImports } from "./rules/no-phantom-dep-imports.ts";
8
+ import { noQuerySuffixes } from "./rules/no-query-suffixes.ts";
8
9
  import { noRelativeParentImports } from "./rules/no-relative-parent-imports.ts";
9
10
  import { noRenameExports } from "./rules/no-rename-exports.ts";
10
11
  import { noRenameImports } from "./rules/no-rename-imports.ts";
11
12
  import { noSideEffectImports } from "./rules/no-side-effect-imports.ts";
12
13
  import { noUselessPathSegments } from "./rules/no-useless-path-segments.ts";
13
14
  import { requiredExports } from "./rules/required-exports.ts";
15
+ import { topSideEffectImports } from "./rules/top-side-effect-imports.ts";
14
16
  export declare const rules: {
15
17
  [existingFileImports.name]: import("eslint").Rule.RuleModule;
16
18
  [noDeclarationFileImports.name]: import("eslint").Rule.RuleModule;
@@ -19,11 +21,13 @@ export declare const rules: {
19
21
  [noEmptyExports.name]: import("eslint").Rule.RuleModule;
20
22
  [noGitIgnoredImports.name]: import("eslint").Rule.RuleModule;
21
23
  [noPhantomDepImports.name]: import("eslint").Rule.RuleModule;
24
+ [noQuerySuffixes.name]: import("eslint").Rule.RuleModule;
22
25
  [noRelativeParentImports.name]: import("eslint").Rule.RuleModule;
23
26
  [noRenameExports.name]: import("eslint").Rule.RuleModule;
24
27
  [noRenameImports.name]: import("eslint").Rule.RuleModule;
25
28
  [noSideEffectImports.name]: import("eslint").Rule.RuleModule;
26
29
  [noUselessPathSegments.name]: import("eslint").Rule.RuleModule;
27
30
  [requiredExports.name]: import("eslint").Rule.RuleModule;
31
+ [topSideEffectImports.name]: import("eslint").Rule.RuleModule;
28
32
  };
29
33
  //# sourceMappingURL=index.d.ts.map
@@ -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;AAE9D,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;CAC7C,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,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,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
@@ -5,12 +5,14 @@ import { noDynamicImports } from "./rules/no-dynamic-imports.js";
5
5
  import { noEmptyExports } from "./rules/no-empty-exports.js";
6
6
  import { noGitIgnoredImports } from "./rules/no-git-ignored-imports.js";
7
7
  import { noPhantomDepImports } from "./rules/no-phantom-dep-imports.js";
8
+ import { noQuerySuffixes } from "./rules/no-query-suffixes.js";
8
9
  import { noRelativeParentImports } from "./rules/no-relative-parent-imports.js";
9
10
  import { noRenameExports } from "./rules/no-rename-exports.js";
10
11
  import { noRenameImports } from "./rules/no-rename-imports.js";
11
12
  import { noSideEffectImports } from "./rules/no-side-effect-imports.js";
12
13
  import { noUselessPathSegments } from "./rules/no-useless-path-segments.js";
13
14
  import { requiredExports } from "./rules/required-exports.js";
15
+ import { topSideEffectImports } from "./rules/top-side-effect-imports.js";
14
16
  export const rules = {
15
17
  [existingFileImports.name]: existingFileImports.rule,
16
18
  [noDeclarationFileImports.name]: noDeclarationFileImports.rule,
@@ -19,11 +21,13 @@ export const rules = {
19
21
  [noEmptyExports.name]: noEmptyExports.rule,
20
22
  [noGitIgnoredImports.name]: noGitIgnoredImports.rule,
21
23
  [noPhantomDepImports.name]: noPhantomDepImports.rule,
24
+ [noQuerySuffixes.name]: noQuerySuffixes.rule,
22
25
  [noRelativeParentImports.name]: noRelativeParentImports.rule,
23
26
  [noRenameExports.name]: noRenameExports.rule,
24
27
  [noRenameImports.name]: noRenameImports.rule,
25
28
  [noSideEffectImports.name]: noSideEffectImports.rule,
26
29
  [noUselessPathSegments.name]: noUselessPathSegments.rule,
27
30
  [requiredExports.name]: requiredExports.rule,
31
+ [topSideEffectImports.name]: topSideEffectImports.rule,
28
32
  };
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDdkUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDbEYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDckUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDakUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzdELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDL0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDeEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDNUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRTlELE1BQU0sQ0FBQyxNQUFNLEtBQUssR0FBRztJQUNuQixDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxFQUFFLG1CQUFtQixDQUFDLElBQUk7SUFDcEQsQ0FBQyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsRUFBRSx3QkFBd0IsQ0FBQyxJQUFJO0lBQzlELENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLEVBQUUsa0JBQWtCLENBQUMsSUFBSTtJQUNsRCxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxFQUFFLGdCQUFnQixDQUFDLElBQUk7SUFDOUMsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEVBQUUsY0FBYyxDQUFDLElBQUk7SUFDMUMsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsRUFBRSxtQkFBbUIsQ0FBQyxJQUFJO0lBQ3BELENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLEVBQUUsbUJBQW1CLENBQUMsSUFBSTtJQUNwRCxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxFQUFFLHVCQUF1QixDQUFDLElBQUk7SUFDNUQsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEVBQUUsZUFBZSxDQUFDLElBQUk7SUFDNUMsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEVBQUUsZUFBZSxDQUFDLElBQUk7SUFDNUMsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsRUFBRSxtQkFBbUIsQ0FBQyxJQUFJO0lBQ3BELENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLEVBQUUscUJBQXFCLENBQUMsSUFBSTtJQUN4RCxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsRUFBRSxlQUFlLENBQUMsSUFBSTtDQUM3QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZXhpc3RpbmdGaWxlSW1wb3J0cyB9IGZyb20gXCIuL3J1bGVzL2V4aXN0aW5nLWZpbGUtaW1wb3J0cy50c1wiO1xuaW1wb3J0IHsgbm9EZWNsYXJhdGlvbkZpbGVJbXBvcnRzIH0gZnJvbSBcIi4vcnVsZXMvbm8tZGVjbGFyYXRpb24tZmlsZS1pbXBvcnRzLnRzXCI7XG5pbXBvcnQgeyBub0RpcmVjdG9yeUltcG9ydHMgfSBmcm9tIFwiLi9ydWxlcy9uby1kaXJlY3RvcnktaW1wb3J0cy50c1wiO1xuaW1wb3J0IHsgbm9EeW5hbWljSW1wb3J0cyB9IGZyb20gXCIuL3J1bGVzL25vLWR5bmFtaWMtaW1wb3J0cy50c1wiO1xuaW1wb3J0IHsgbm9FbXB0eUV4cG9ydHMgfSBmcm9tIFwiLi9ydWxlcy9uby1lbXB0eS1leHBvcnRzLnRzXCI7XG5pbXBvcnQgeyBub0dpdElnbm9yZWRJbXBvcnRzIH0gZnJvbSBcIi4vcnVsZXMvbm8tZ2l0LWlnbm9yZWQtaW1wb3J0cy50c1wiO1xuaW1wb3J0IHsgbm9QaGFudG9tRGVwSW1wb3J0cyB9IGZyb20gXCIuL3J1bGVzL25vLXBoYW50b20tZGVwLWltcG9ydHMudHNcIjtcbmltcG9ydCB7IG5vUmVsYXRpdmVQYXJlbnRJbXBvcnRzIH0gZnJvbSBcIi4vcnVsZXMvbm8tcmVsYXRpdmUtcGFyZW50LWltcG9ydHMudHNcIjtcbmltcG9ydCB7IG5vUmVuYW1lRXhwb3J0cyB9IGZyb20gXCIuL3J1bGVzL25vLXJlbmFtZS1leHBvcnRzLnRzXCI7XG5pbXBvcnQgeyBub1JlbmFtZUltcG9ydHMgfSBmcm9tIFwiLi9ydWxlcy9uby1yZW5hbWUtaW1wb3J0cy50c1wiO1xuaW1wb3J0IHsgbm9TaWRlRWZmZWN0SW1wb3J0cyB9IGZyb20gXCIuL3J1bGVzL25vLXNpZGUtZWZmZWN0LWltcG9ydHMudHNcIjtcbmltcG9ydCB7IG5vVXNlbGVzc1BhdGhTZWdtZW50cyB9IGZyb20gXCIuL3J1bGVzL25vLXVzZWxlc3MtcGF0aC1zZWdtZW50cy50c1wiO1xuaW1wb3J0IHsgcmVxdWlyZWRFeHBvcnRzIH0gZnJvbSBcIi4vcnVsZXMvcmVxdWlyZWQtZXhwb3J0cy50c1wiO1xuXG5leHBvcnQgY29uc3QgcnVsZXMgPSB7XG4gIFtleGlzdGluZ0ZpbGVJbXBvcnRzLm5hbWVdOiBleGlzdGluZ0ZpbGVJbXBvcnRzLnJ1bGUsXG4gIFtub0RlY2xhcmF0aW9uRmlsZUltcG9ydHMubmFtZV06IG5vRGVjbGFyYXRpb25GaWxlSW1wb3J0cy5ydWxlLFxuICBbbm9EaXJlY3RvcnlJbXBvcnRzLm5hbWVdOiBub0RpcmVjdG9yeUltcG9ydHMucnVsZSxcbiAgW25vRHluYW1pY0ltcG9ydHMubmFtZV06IG5vRHluYW1pY0ltcG9ydHMucnVsZSxcbiAgW25vRW1wdHlFeHBvcnRzLm5hbWVdOiBub0VtcHR5RXhwb3J0cy5ydWxlLFxuICBbbm9HaXRJZ25vcmVkSW1wb3J0cy5uYW1lXTogbm9HaXRJZ25vcmVkSW1wb3J0cy5ydWxlLFxuICBbbm9QaGFudG9tRGVwSW1wb3J0cy5uYW1lXTogbm9QaGFudG9tRGVwSW1wb3J0cy5ydWxlLFxuICBbbm9SZWxhdGl2ZVBhcmVudEltcG9ydHMubmFtZV06IG5vUmVsYXRpdmVQYXJlbnRJbXBvcnRzLnJ1bGUsXG4gIFtub1JlbmFtZUV4cG9ydHMubmFtZV06IG5vUmVuYW1lRXhwb3J0cy5ydWxlLFxuICBbbm9SZW5hbWVJbXBvcnRzLm5hbWVdOiBub1JlbmFtZUltcG9ydHMucnVsZSxcbiAgW25vU2lkZUVmZmVjdEltcG9ydHMubmFtZV06IG5vU2lkZUVmZmVjdEltcG9ydHMucnVsZSxcbiAgW25vVXNlbGVzc1BhdGhTZWdtZW50cy5uYW1lXTogbm9Vc2VsZXNzUGF0aFNlZ21lbnRzLnJ1bGUsXG4gIFtyZXF1aXJlZEV4cG9ydHMubmFtZV06IHJlcXVpcmVkRXhwb3J0cy5ydWxlLFxufTtcbiJdfQ==
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDdkUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDbEYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDckUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDakUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzdELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUNoRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUUxRSxNQUFNLENBQUMsTUFBTSxLQUFLLEdBQUc7SUFDbkIsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsRUFBRSxtQkFBbUIsQ0FBQyxJQUFJO0lBQ3BELENBQUMsd0JBQXdCLENBQUMsSUFBSSxDQUFDLEVBQUUsd0JBQXdCLENBQUMsSUFBSTtJQUM5RCxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxFQUFFLGtCQUFrQixDQUFDLElBQUk7SUFDbEQsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsRUFBRSxnQkFBZ0IsQ0FBQyxJQUFJO0lBQzlDLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxFQUFFLGNBQWMsQ0FBQyxJQUFJO0lBQzFDLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLEVBQUUsbUJBQW1CLENBQUMsSUFBSTtJQUNwRCxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxFQUFFLG1CQUFtQixDQUFDLElBQUk7SUFDcEQsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEVBQUUsZUFBZSxDQUFDLElBQUk7SUFDNUMsQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsRUFBRSx1QkFBdUIsQ0FBQyxJQUFJO0lBQzVELENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxFQUFFLGVBQWUsQ0FBQyxJQUFJO0lBQzVDLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxFQUFFLGVBQWUsQ0FBQyxJQUFJO0lBQzVDLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLEVBQUUsbUJBQW1CLENBQUMsSUFBSTtJQUNwRCxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxFQUFFLHFCQUFxQixDQUFDLElBQUk7SUFDeEQsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEVBQUUsZUFBZSxDQUFDLElBQUk7SUFDNUMsQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsRUFBRSxvQkFBb0IsQ0FBQyxJQUFJO0NBQ3ZELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBleGlzdGluZ0ZpbGVJbXBvcnRzIH0gZnJvbSBcIi4vcnVsZXMvZXhpc3RpbmctZmlsZS1pbXBvcnRzLnRzXCI7XG5pbXBvcnQgeyBub0RlY2xhcmF0aW9uRmlsZUltcG9ydHMgfSBmcm9tIFwiLi9ydWxlcy9uby1kZWNsYXJhdGlvbi1maWxlLWltcG9ydHMudHNcIjtcbmltcG9ydCB7IG5vRGlyZWN0b3J5SW1wb3J0cyB9IGZyb20gXCIuL3J1bGVzL25vLWRpcmVjdG9yeS1pbXBvcnRzLnRzXCI7XG5pbXBvcnQgeyBub0R5bmFtaWNJbXBvcnRzIH0gZnJvbSBcIi4vcnVsZXMvbm8tZHluYW1pYy1pbXBvcnRzLnRzXCI7XG5pbXBvcnQgeyBub0VtcHR5RXhwb3J0cyB9IGZyb20gXCIuL3J1bGVzL25vLWVtcHR5LWV4cG9ydHMudHNcIjtcbmltcG9ydCB7IG5vR2l0SWdub3JlZEltcG9ydHMgfSBmcm9tIFwiLi9ydWxlcy9uby1naXQtaWdub3JlZC1pbXBvcnRzLnRzXCI7XG5pbXBvcnQgeyBub1BoYW50b21EZXBJbXBvcnRzIH0gZnJvbSBcIi4vcnVsZXMvbm8tcGhhbnRvbS1kZXAtaW1wb3J0cy50c1wiO1xuaW1wb3J0IHsgbm9RdWVyeVN1ZmZpeGVzIH0gZnJvbSBcIi4vcnVsZXMvbm8tcXVlcnktc3VmZml4ZXMudHNcIjtcbmltcG9ydCB7IG5vUmVsYXRpdmVQYXJlbnRJbXBvcnRzIH0gZnJvbSBcIi4vcnVsZXMvbm8tcmVsYXRpdmUtcGFyZW50LWltcG9ydHMudHNcIjtcbmltcG9ydCB7IG5vUmVuYW1lRXhwb3J0cyB9IGZyb20gXCIuL3J1bGVzL25vLXJlbmFtZS1leHBvcnRzLnRzXCI7XG5pbXBvcnQgeyBub1JlbmFtZUltcG9ydHMgfSBmcm9tIFwiLi9ydWxlcy9uby1yZW5hbWUtaW1wb3J0cy50c1wiO1xuaW1wb3J0IHsgbm9TaWRlRWZmZWN0SW1wb3J0cyB9IGZyb20gXCIuL3J1bGVzL25vLXNpZGUtZWZmZWN0LWltcG9ydHMudHNcIjtcbmltcG9ydCB7IG5vVXNlbGVzc1BhdGhTZWdtZW50cyB9IGZyb20gXCIuL3J1bGVzL25vLXVzZWxlc3MtcGF0aC1zZWdtZW50cy50c1wiO1xuaW1wb3J0IHsgcmVxdWlyZWRFeHBvcnRzIH0gZnJvbSBcIi4vcnVsZXMvcmVxdWlyZWQtZXhwb3J0cy50c1wiO1xuaW1wb3J0IHsgdG9wU2lkZUVmZmVjdEltcG9ydHMgfSBmcm9tIFwiLi9ydWxlcy90b3Atc2lkZS1lZmZlY3QtaW1wb3J0cy50c1wiO1xuXG5leHBvcnQgY29uc3QgcnVsZXMgPSB7XG4gIFtleGlzdGluZ0ZpbGVJbXBvcnRzLm5hbWVdOiBleGlzdGluZ0ZpbGVJbXBvcnRzLnJ1bGUsXG4gIFtub0RlY2xhcmF0aW9uRmlsZUltcG9ydHMubmFtZV06IG5vRGVjbGFyYXRpb25GaWxlSW1wb3J0cy5ydWxlLFxuICBbbm9EaXJlY3RvcnlJbXBvcnRzLm5hbWVdOiBub0RpcmVjdG9yeUltcG9ydHMucnVsZSxcbiAgW25vRHluYW1pY0ltcG9ydHMubmFtZV06IG5vRHluYW1pY0ltcG9ydHMucnVsZSxcbiAgW25vRW1wdHlFeHBvcnRzLm5hbWVdOiBub0VtcHR5RXhwb3J0cy5ydWxlLFxuICBbbm9HaXRJZ25vcmVkSW1wb3J0cy5uYW1lXTogbm9HaXRJZ25vcmVkSW1wb3J0cy5ydWxlLFxuICBbbm9QaGFudG9tRGVwSW1wb3J0cy5uYW1lXTogbm9QaGFudG9tRGVwSW1wb3J0cy5ydWxlLFxuICBbbm9RdWVyeVN1ZmZpeGVzLm5hbWVdOiBub1F1ZXJ5U3VmZml4ZXMucnVsZSxcbiAgW25vUmVsYXRpdmVQYXJlbnRJbXBvcnRzLm5hbWVdOiBub1JlbGF0aXZlUGFyZW50SW1wb3J0cy5ydWxlLFxuICBbbm9SZW5hbWVFeHBvcnRzLm5hbWVdOiBub1JlbmFtZUV4cG9ydHMucnVsZSxcbiAgW25vUmVuYW1lSW1wb3J0cy5uYW1lXTogbm9SZW5hbWVJbXBvcnRzLnJ1bGUsXG4gIFtub1NpZGVFZmZlY3RJbXBvcnRzLm5hbWVdOiBub1NpZGVFZmZlY3RJbXBvcnRzLnJ1bGUsXG4gIFtub1VzZWxlc3NQYXRoU2VnbWVudHMubmFtZV06IG5vVXNlbGVzc1BhdGhTZWdtZW50cy5ydWxlLFxuICBbcmVxdWlyZWRFeHBvcnRzLm5hbWVdOiByZXF1aXJlZEV4cG9ydHMucnVsZSxcbiAgW3RvcFNpZGVFZmZlY3RJbXBvcnRzLm5hbWVdOiB0b3BTaWRlRWZmZWN0SW1wb3J0cy5ydWxlLFxufTtcbiJdfQ==
@@ -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==
@@ -0,0 +1,5 @@
1
+ export declare const topSideEffectImports: {
2
+ name: string;
3
+ rule: import("eslint").Rule.RuleModule;
4
+ };
5
+ //# sourceMappingURL=top-side-effect-imports.d.ts.map
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,20 @@
1
+ import { createRule, DEFAULT_MESSAGE_ID, getRuleName } from "../common.js";
2
+ export const topSideEffectImports = createRule({
3
+ name: getRuleName(import.meta.url),
4
+ message: "Side effect imports must be placed before other import statements.",
5
+ create: (context) => {
6
+ let hasNonSideEffectImport = false;
7
+ return {
8
+ ImportDeclaration: (node) => {
9
+ if (node.specifiers.length > 0) {
10
+ hasNonSideEffectImport = true;
11
+ return;
12
+ }
13
+ if (hasNonSideEffectImport) {
14
+ context.report({ node, messageId: DEFAULT_MESSAGE_ID });
15
+ }
16
+ },
17
+ };
18
+ },
19
+ });
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.0",
3
+ "version": "0.8.2",
4
4
  "description": "ESLint plugin for linting ESM (import/export syntax)",
5
5
  "keywords": [
6
6
  "eslint",
@@ -24,10 +24,12 @@
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
31
  "@types/json-schema": "7.0.15",
30
- "@types/node": "22.13.10",
32
+ "@types/node": "22.14.1",
31
33
  "eslint": "9.22.0",
32
34
  "@fenge/dev-utils": "0.0.0"
33
35
  },
package/CHANGELOG.md DELETED
@@ -1,90 +0,0 @@
1
- # eslint-plugin-esm
2
-
3
- ## 0.8.0
4
-
5
- ### Minor Changes
6
-
7
- - 28d8553: chore: required node ^18.20.0 or >=20.10.0
8
-
9
- ## 0.7.0
10
-
11
- ### Minor Changes
12
-
13
- - 01657a8: feat(eslint-plugin-esm): rename `no-inexistent-relative-imports` to `existing-file-imports`
14
-
15
- ## 0.6.1
16
-
17
- ### Patch Changes
18
-
19
- - 501e3b4: feat(eslint-plugin-esm): disallow side effect imports for `no-side-effect-imports` rule
20
- - da63d2e: fix(eslint-plugin-esm): depress unexpected error messages in console
21
-
22
- ## 0.6.0
23
-
24
- ### Minor Changes
25
-
26
- - 02d0164: chore(eslint-plugin-esm): make `no-inexistent-relative-imports` stricter
27
-
28
- ## 0.5.0
29
-
30
- ### Minor Changes
31
-
32
- - cb2a822: feat: remove `esm/no-ts-file-imports`, and add `esm/no-declaration-file-imports`
33
-
34
- ### Patch Changes
35
-
36
- - cb2a822: feat: add rule `no-inexistent-relative-imports`
37
-
38
- ## 0.4.0
39
-
40
- ### Minor Changes
41
-
42
- - 85cd2d5: refactor(eslint-plugin-esm): rename rule `nearest-relative-path` to `no-useless-path-segments`
43
-
44
- ### Patch Changes
45
-
46
- - 36c4c6b: fix(eslint-plugin-esm): report on `./..` and `./`
47
-
48
- ## 0.3.0
49
-
50
- ### Minor Changes
51
-
52
- - 1b7d98c: refactor(eslint-plugin-esm): `no-side-effect-imports` will not ignore declaration files now
53
- - 2d485c9: refactor(eslint-plugin-esm): `no-ts-file-imports` will not ignore declaration files now
54
-
55
- ### Patch Changes
56
-
57
- - 6c64129: feat: add rule `no-empty-exports`
58
- - d54423b: fix(eslint-plugin-esm): additionally check for importing node built-in module
59
- - 778a198: feat: add rule `esm/required-exports`
60
-
61
- ## 0.2.2
62
-
63
- ### Patch Changes
64
-
65
- - 905e445: chore: update deps
66
- - 0c4462d: fix(eslint-plugin-esm): fix incorrect report on `import type {} from "@foo/bar"`
67
-
68
- ## 0.2.1
69
-
70
- ### Patch Changes
71
-
72
- - 2b04bbd: fix(eslint-plugin-esm): allow module existing in peerDependencies for `no-phantom-dep-imports` rule
73
-
74
- ## 0.2.0
75
-
76
- ### Minor Changes
77
-
78
- - 28edf1c: feat(eslint-plugin-esm)!: support `allowDevDependencies` option
79
-
80
- ## 0.1.1
81
-
82
- ### Patch Changes
83
-
84
- - 52c7428: fix(eslint-plugin-esm): fix `nearest-relative-path` rule problem when importing from `.`
85
-
86
- ## 0.1.0
87
-
88
- ### Minor Changes
89
-
90
- - 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 -->
@@ -1,30 +0,0 @@
1
- <!-- prettier-ignore-start -->
2
- # no-dynamic-imports
3
-
4
- `import()` should be called with string literal.
5
-
6
- ## Rule Details
7
-
8
- ### Fail
9
-
10
- ```ts
11
- import(false)
12
- import(123)
13
- await import(123)
14
- import(`foo`)
15
- import(foo)
16
- import({})
17
- import([])
18
- const foo = await import(foo)
19
- ```
20
-
21
- ### Pass
22
-
23
- ```ts
24
- import('foo')
25
- import("foo")
26
- import("./foo")
27
- await import("foo")
28
- const foo = await import("foo")
29
- ```
30
- <!-- prettier-ignore-end -->
@@ -1,29 +0,0 @@
1
- <!-- prettier-ignore-start -->
2
- # no-empty-exports
3
-
4
- Disallow `export {}`.
5
-
6
- ## Rule Details
7
-
8
- ### Fail
9
-
10
- ```ts
11
- export {};
12
- console.log(123); export {};
13
- export default {}; export {};
14
- export {} from 'foo';
15
- export {} from './foo';
16
- ```
17
-
18
- ### Pass
19
-
20
- ```ts
21
- var name = 123; export {name as age};
22
- const name = {}; export {name};
23
- export const name = {};
24
- export default {};
25
- var foo = 213; export {foo as default};
26
- export {default} from 'foo';
27
- export * as foo from 'foo';
28
- ```
29
- <!-- prettier-ignore-end -->