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
@@ -1,24 +0,0 @@
1
- import { test } from "@fenge/dev-utils";
2
- import { topSideEffectImports } from "./top-side-effect-imports.ts";
3
-
4
- const valid = [
5
- "import 'reflect-metadata'; import {foo} from 'foo'",
6
- "import 'foo.css'; import {bar} from 'bar'",
7
- "import 'reflect-metadata'; import 'foo.css'",
8
- "import 'foo.css'; import 'bar'",
9
- "import 'reflect-metadata'; import {foo} from 'foo'; import {bar} from 'bar'",
10
- "import 'foo.css'; import {foo} from 'foo'; import {bar} from 'bar'",
11
- "import 'reflect-metadata'", // Single side-effect import
12
- "import {foo} from 'foo'", // Single non-side-effect import
13
- ];
14
-
15
- const invalid = [
16
- "import {foo} from 'foo'; import 'reflect-metadata'",
17
- "import {bar} from 'bar'; import 'foo.css'",
18
- "import {foo} from 'foo'; import {} from 'bar'",
19
- "import {foo} from 'foo'; import 'bar'; import * as foo from 'reflect-metadata'", // Three import statements
20
- "import {foo} from 'foo'; import {} from 'reflect-metadata'; import * as bar from 'bar'", // Three import statements
21
- "import 'bar'; import r from 'reflect-metadata'; import {} from 'foo'", // Three import statements
22
- ];
23
-
24
- test({ valid, invalid, ...topSideEffectImports });
@@ -1,22 +0,0 @@
1
- import type { ImportDeclaration } from "estree";
2
- import { createRule, DEFAULT_MESSAGE_ID, getRuleName } from "../common.ts";
3
-
4
- export const topSideEffectImports = createRule({
5
- name: getRuleName(import.meta.url),
6
- message: "Side effect imports must be placed before other import statements.",
7
- create: (context) => {
8
- let hasNonSideEffectImport = false;
9
-
10
- return {
11
- ImportDeclaration: (node: ImportDeclaration) => {
12
- if (node.specifiers.length > 0) {
13
- hasNonSideEffectImport = true;
14
- return;
15
- }
16
- if (hasNonSideEffectImport) {
17
- context.report({ node, messageId: DEFAULT_MESSAGE_ID });
18
- }
19
- },
20
- };
21
- },
22
- });
package/src/utils.ts DELETED
@@ -1,18 +0,0 @@
1
- /**
2
- * Like [lodash.memoize](https://lodash.com/docs/4.17.15#memoize)
3
- * Type `Res` must be non-nullable, otherwise it will cause bug.
4
- */
5
- export function memoize<Arg, Res extends NonNullable<unknown>>(
6
- fn: (arg: Arg) => Res,
7
- ): (arg: Arg) => Res {
8
- const cache = new Map<Arg, Res>(); // memory leak
9
- return (arg: Arg) => {
10
- const cachedResult = cache.get(arg);
11
- if (cachedResult !== undefined) {
12
- return cachedResult;
13
- }
14
- const result = fn(arg);
15
- cache.set(arg, result);
16
- return result;
17
- };
18
- }
package/tsconfig.json DELETED
@@ -1,5 +0,0 @@
1
- {
2
- "extends": "../../tsconfig",
3
- "include": ["src"],
4
- "exclude": ["**/*.test.ts"]
5
- }