@definitelytyped/eslint-plugin 0.0.187 → 0.0.188

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 (124) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/dist/configs/all.js +1 -0
  3. package/dist/configs/all.js.map +1 -1
  4. package/dist/rules/index.d.ts +1 -1
  5. package/dist/rules/no-bad-reference.d.ts +1 -1
  6. package/dist/rules/no-bad-reference.js +172 -28
  7. package/dist/rules/no-bad-reference.js.map +1 -1
  8. package/dist/rules/no-declare-current-package.js +4 -1
  9. package/dist/rules/no-declare-current-package.js.map +1 -1
  10. package/dist/rules/no-import-default-of-export-equals.js +4 -3
  11. package/dist/rules/no-import-default-of-export-equals.js.map +1 -1
  12. package/dist/rules/no-import-of-dev-dependencies.js +32 -60
  13. package/dist/rules/no-import-of-dev-dependencies.js.map +1 -1
  14. package/dist/rules/no-old-dt-header.js +2 -1
  15. package/dist/rules/no-old-dt-header.js.map +1 -1
  16. package/dist/rules/no-relative-import-in-test.js +2 -3
  17. package/dist/rules/no-relative-import-in-test.js.map +1 -1
  18. package/dist/rules/no-self-import.js +3 -0
  19. package/dist/rules/no-self-import.js.map +1 -1
  20. package/dist/rules/prefer-declare-function.js +2 -1
  21. package/dist/rules/prefer-declare-function.js.map +1 -1
  22. package/dist/util.d.ts +15 -0
  23. package/dist/util.js +50 -8
  24. package/dist/util.js.map +1 -1
  25. package/package.json +2 -2
  26. package/src/configs/all.ts +1 -0
  27. package/src/rules/no-bad-reference.ts +176 -33
  28. package/src/rules/no-declare-current-package.ts +4 -1
  29. package/src/rules/no-import-default-of-export-equals.ts +2 -1
  30. package/src/rules/no-import-of-dev-dependencies.ts +40 -59
  31. package/src/rules/no-old-dt-header.ts +2 -1
  32. package/src/rules/no-relative-import-in-test.ts +2 -5
  33. package/src/rules/no-self-import.ts +3 -0
  34. package/src/rules/prefer-declare-function.ts +2 -1
  35. package/src/util.ts +69 -9
  36. package/test/fixtureTester.ts +64 -0
  37. package/test/fixtures/notNeededPackages.json +3 -0
  38. package/test/fixtures/package.json +4 -0
  39. package/test/fixtures/types/foo/foo-tests.ts +0 -0
  40. package/test/fixtures/types/foo/index.d.ts +1 -0
  41. package/test/fixtures/types/foo/package.json +5 -0
  42. package/test/fixtures/types/foo/tsconfig.json +20 -0
  43. package/test/fixtures/types/foo/v1/foo-tests.ts +0 -0
  44. package/test/fixtures/types/foo/v1/index.d.ts +1 -0
  45. package/test/fixtures/types/foo/v1/package.json +5 -0
  46. package/test/fixtures/types/foo/v1/tsconfig.json +20 -0
  47. package/test/fixtures/types/no-bad-reference/index.d.ts +16 -0
  48. package/test/fixtures/types/no-bad-reference/no-bad-reference-tests.ts +2 -0
  49. package/test/fixtures/types/no-bad-reference/package.json +5 -0
  50. package/test/fixtures/types/no-bad-reference/tsconfig.json +20 -0
  51. package/test/fixtures/types/no-bad-reference/v0.1/index.d.ts +15 -0
  52. package/test/fixtures/types/no-bad-reference/v0.1/no-bad-reference-tests.ts +0 -0
  53. package/test/fixtures/types/no-bad-reference/v0.1/package.json +5 -0
  54. package/test/fixtures/types/no-bad-reference/v0.1/tsconfig.json +20 -0
  55. package/test/fixtures/types/no-bad-reference/v11/index.d.ts +15 -0
  56. package/test/fixtures/types/no-bad-reference/v11/no-bad-reference-tests.ts +0 -0
  57. package/test/fixtures/types/no-bad-reference/v11/package.json +5 -0
  58. package/test/fixtures/types/no-bad-reference/v11/tsconfig.json +20 -0
  59. package/test/fixtures/types/no-declare-current-package/index.d.ts +1 -0
  60. package/test/fixtures/types/no-declare-current-package/no-declare-current-package-tests.ts +0 -0
  61. package/test/fixtures/types/no-declare-current-package/package.json +8 -0
  62. package/test/fixtures/types/no-declare-current-package/test/deep/import.d.ts +1 -0
  63. package/test/fixtures/types/no-declare-current-package/tsconfig.json +20 -0
  64. package/test/fixtures/types/no-declare-current-package-other/index.d.ts +2 -0
  65. package/test/fixtures/types/no-declare-current-package-other/no-declare-current-package-other-tests.ts +0 -0
  66. package/test/fixtures/types/no-declare-current-package-other/package.json +8 -0
  67. package/test/fixtures/types/no-declare-current-package-other/tsconfig.json +20 -0
  68. package/test/fixtures/types/no-import-of-dev-dependencies/bad.d.ts +5 -0
  69. package/test/fixtures/types/no-import-of-dev-dependencies/index.d.ts +4 -0
  70. package/test/fixtures/types/no-import-of-dev-dependencies/no-import-of-dev-dependencies-tests.ts +9 -0
  71. package/test/fixtures/types/no-import-of-dev-dependencies/package.json +14 -0
  72. package/test/fixtures/types/no-import-of-dev-dependencies/tsconfig.json +20 -0
  73. package/test/fixtures/types/no-relative-references/index.d.ts +12 -0
  74. package/test/fixtures/types/no-relative-references/no-relative-references-tests.ts +0 -0
  75. package/test/fixtures/types/no-relative-references/other/other.d.ts +7 -0
  76. package/test/fixtures/types/no-relative-references/package.json +5 -0
  77. package/test/fixtures/types/no-relative-references/tsconfig.json +20 -0
  78. package/test/fixtures/types/no-relative-references/v1/index.d.ts +15 -0
  79. package/test/fixtures/types/no-relative-references/v1/no-relative-references-tests.ts +0 -0
  80. package/test/fixtures/types/no-relative-references/v1/other/other.d.ts +7 -0
  81. package/test/fixtures/types/no-relative-references/v1/package.json +5 -0
  82. package/test/fixtures/types/no-relative-references/v1/tsconfig.json +20 -0
  83. package/test/fixtures/types/no-self-import/bad.d.ts +8 -0
  84. package/test/fixtures/types/no-self-import/index.d.ts +7 -0
  85. package/test/fixtures/types/no-self-import/no-self-import-tests.ts +9 -0
  86. package/test/fixtures/types/no-self-import/package.json +11 -0
  87. package/test/fixtures/types/no-self-import/tsconfig.json +20 -0
  88. package/test/fixtures/types/other/index.d.ts +1 -0
  89. package/test/fixtures/types/other/other-tests.ts +0 -0
  90. package/test/fixtures/types/other/package.json +5 -0
  91. package/test/fixtures/types/other/tsconfig.json +20 -0
  92. package/test/fixtures/types/other/v1/index.d.ts +1 -0
  93. package/test/fixtures/types/other/v1/other-tests.ts +0 -0
  94. package/test/fixtures/types/other/v1/package.json +5 -0
  95. package/test/fixtures/types/other/v1/tsconfig.json +20 -0
  96. package/test/fixtures/types/scoped__foo/index.d.ts +1 -0
  97. package/test/fixtures/types/scoped__foo/package.json +5 -0
  98. package/test/fixtures/types/scoped__foo/scoped__foo-tests.ts +0 -0
  99. package/test/fixtures/types/scoped__foo/tsconfig.json +20 -0
  100. package/test/fixtures/types/scoped__foo/v1/index.d.ts +1 -0
  101. package/test/fixtures/types/scoped__foo/v1/package.json +5 -0
  102. package/test/fixtures/types/scoped__foo/v1/scoped__foo-tests.ts +0 -0
  103. package/test/fixtures/types/scoped__foo/v1/tsconfig.json +20 -0
  104. package/test/fixtures/types/scoped__no-declare-current-package/index.d.ts +1 -0
  105. package/test/fixtures/types/scoped__no-declare-current-package/no-declare-current-package-tests.ts +0 -0
  106. package/test/fixtures/types/scoped__no-declare-current-package/package.json +8 -0
  107. package/test/fixtures/types/scoped__no-declare-current-package/test/deep/import.d.ts +1 -0
  108. package/test/fixtures/types/scoped__no-declare-current-package/tsconfig.json +20 -0
  109. package/test/fixtures/types/scoped__no-relative-references/index.d.ts +12 -0
  110. package/test/fixtures/types/scoped__no-relative-references/no-relative-references-tests.ts +0 -0
  111. package/test/fixtures/types/scoped__no-relative-references/other/other.d.ts +7 -0
  112. package/test/fixtures/types/scoped__no-relative-references/package.json +5 -0
  113. package/test/fixtures/types/scoped__no-relative-references/tsconfig.json +20 -0
  114. package/test/fixtures/types/scoped__no-relative-references/v1/index.d.ts +15 -0
  115. package/test/fixtures/types/scoped__no-relative-references/v1/no-relative-references-tests.ts +0 -0
  116. package/test/fixtures/types/scoped__no-relative-references/v1/other/other.d.ts +7 -0
  117. package/test/fixtures/types/scoped__no-relative-references/v1/package.json +5 -0
  118. package/test/fixtures/types/scoped__no-relative-references/v1/tsconfig.json +20 -0
  119. package/test/no-bad-reference.test.ts +87 -94
  120. package/test/no-declare-current-package.test.ts +31 -31
  121. package/test/no-import-of-dev-dependencies.test.ts +14 -59
  122. package/test/no-self-import.test.ts +16 -100
  123. package/test/util.test.ts +29 -18
  124. package/tsconfig.tsbuildinfo +1 -1
@@ -1,114 +1,30 @@
1
- import { ESLintUtils } from "@typescript-eslint/utils";
2
-
3
1
  import * as dtHeader from "../src/rules/no-self-import";
2
+ import { runTestsWithFixtures } from "./fixtureTester";
4
3
 
5
- const ruleTester = new ESLintUtils.RuleTester({
6
- parser: "@typescript-eslint/parser",
7
- });
8
-
9
- ruleTester.run("@definitelytyped/no-self-import", dtHeader, {
10
- invalid: [
11
- {
12
- code: `import myself from "this-package";`,
13
- errors: [
14
- {
15
- line: 1,
16
- messageId: "useRelativeImport",
17
- },
18
- ],
19
- filename: "types/this-package/index.d.ts",
20
- },
21
- {
22
- code: `import abc from "this-package/abc.d.ts";`,
23
- errors: [
24
- {
25
- line: 1,
26
- messageId: "useRelativeImport",
27
- },
28
- ],
29
- filename: "types/this-package/index.d.ts",
30
- },
4
+ runTestsWithFixtures("@definitelytyped/no-self-import", dtHeader, {
5
+ valid: [
31
6
  {
32
- code: `import old from "./v11"`,
33
- errors: [
34
- {
35
- column: 1,
36
- endColumn: 24,
37
- line: 1,
38
- messageId: "useOnlyCurrentVersion",
39
- },
40
- ],
41
- filename: "types.d.ts",
7
+ filename: "types/foo/index.d.ts",
42
8
  },
43
9
  {
44
- code: `import old from "./v11/index"`,
45
- errors: [
46
- {
47
- column: 1,
48
- endColumn: 30,
49
- line: 1,
50
- messageId: "useOnlyCurrentVersion",
51
- },
52
- ],
53
- filename: "types.d.ts",
10
+ filename: "types/no-self-import/index.d.ts",
54
11
  },
55
12
  {
56
- code: `import old from "./v11/subdir/file"`,
57
- errors: [
58
- {
59
- column: 1,
60
- endColumn: 36,
61
- line: 1,
62
- messageId: "useOnlyCurrentVersion",
63
- },
64
- ],
65
- filename: "types.d.ts",
66
- },
67
- {
68
- code: `import old from "./v0.1"`,
69
- errors: [
70
- {
71
- column: 1,
72
- endColumn: 25,
73
- line: 1,
74
- messageId: "useOnlyCurrentVersion",
75
- },
76
- ],
77
- filename: "types.d.ts",
13
+ filename: "types/no-self-import/no-self-import-tests.ts",
78
14
  },
15
+ ],
16
+ invalid: [
79
17
  {
80
- code: `import old from "./v0.1/index"`,
18
+ filename: "types/no-self-import/bad.d.ts",
81
19
  errors: [
82
- {
83
- column: 1,
84
- endColumn: 31,
85
- line: 1,
86
- messageId: "useOnlyCurrentVersion",
87
- },
20
+ { messageId: "useRelativeImport" },
21
+ { messageId: "useRelativeImport" },
22
+ { messageId: "useOnlyCurrentVersion" },
23
+ { messageId: "useOnlyCurrentVersion" },
24
+ { messageId: "useOnlyCurrentVersion" },
25
+ { messageId: "useOnlyCurrentVersion" },
26
+ { messageId: "useOnlyCurrentVersion" },
88
27
  ],
89
- filename: "types.d.ts",
90
- },
91
- ],
92
- valid: [
93
- {
94
- code: `import other from "other-package";`,
95
- filename: "types/this-package/index.d.ts",
96
- },
97
- {
98
- code: `import other from "other-package/this-package";`,
99
- filename: "types/this-package/index.d.ts",
100
- },
101
- {
102
- code: `import myself from "this-package";`,
103
- filename: "types/grandparent/this-package/index.d.ts",
104
- },
105
- {
106
- code: `import old from "./v1gardenpath"`,
107
- filename: "types.d.ts",
108
- },
109
- {
110
- code: `import old from "./v1verb/other"`,
111
- filename: "types.d.ts",
112
28
  },
113
29
  ],
114
30
  });
package/test/util.test.ts CHANGED
@@ -1,24 +1,35 @@
1
- import { getTypesPackageForDeclarationFile } from "../src/util";
1
+ import { findTypesPackage, getTypesPackageForDeclarationFile } from "../src/util";
2
+ import { getFixturePath } from "./fixtureTester";
2
3
 
3
4
  describe("getTypesPackageForDeclarationFile", () => {
4
5
  test.each([
5
- ["types/abc/index.d.ts", "abc"],
6
- ["types/abc/other.d.ts", "abc"],
7
- ["types/scope__abc/other.d.ts", "@scope/abc"],
8
- ["types/abc/nested/index.d.ts", "abc"],
9
- ["types/abc/nested/other.d.ts", "abc"],
10
- ["/types/abc/index.d.ts", "abc"],
11
- ["/types/abc/other.d.ts", "abc"],
12
- ["/types/scope__abc/other.d.ts", "@scope/abc"],
13
- ["/types/abc/nested/index.d.ts", "abc"],
14
- ["/types/abc/nested/other.d.ts", "abc"],
15
- ["DefinitelyTyped/types/abc/index.d.ts", "abc"],
16
- ["DefinitelyTyped/types/abc/other.d.ts", "abc"],
17
- ["DefinitelyTyped/types/scope__abc/other.d.ts", "@scope/abc"],
18
- ["DefinitelyTyped/types/abc/nested/index.d.ts", "abc"],
19
- ["DefinitelyTyped/types/abc/nested/other.d.ts", "abc"],
20
- ["DefinitelyTyped/types/scope__abc/nested/other.d.ts", "@scope/abc"],
6
+ ["types/foo/index.d.ts", "foo"],
7
+ ["types/foo/foo-tests.ts", undefined],
8
+ ["types/foo/v1/index.d.ts", "foo"],
9
+ ["types/foo/v1/foo-tests.ts", undefined],
10
+ ["types/scoped__foo/index.d.ts", "@scoped/foo"],
11
+ ["types/scoped__foo/scoped__foo-tests.ts", undefined],
12
+ ["types/scoped__foo/v1/index.d.ts", "@scoped/foo"],
13
+ ["types/scoped__foo/v1/scoped__foo-tests.ts", undefined],
14
+ ["bad.d.ts", undefined],
21
15
  ])("%s becomes %s", (input, expected) => {
22
- expect(getTypesPackageForDeclarationFile(input)).toEqual(expected);
16
+ expect(getTypesPackageForDeclarationFile(getFixturePath(input))).toEqual(expected);
17
+ });
18
+ });
19
+
20
+ describe("findTypesPackage realName", () => {
21
+ test.each([
22
+ ["types/foo/index.d.ts", "foo"],
23
+ ["types/foo/foo-tests.ts", "foo"],
24
+ ["types/foo/v1/index.d.ts", "foo"],
25
+ ["types/foo/v1/foo-tests.ts", "foo"],
26
+ ["types/scoped__foo/index.d.ts", "@scoped/foo"],
27
+ ["types/scoped__foo/scoped__foo-tests.ts", "@scoped/foo"],
28
+ ["types/scoped__foo/v1/index.d.ts", "@scoped/foo"],
29
+ ["types/scoped__foo/v1/scoped__foo-tests.ts", "@scoped/foo"],
30
+ ["bad.d.ts", undefined],
31
+ ])("%s becomes %s", (input, expected) => {
32
+ const realName = findTypesPackage(getFixturePath(input))?.realName;
33
+ expect(realName).toEqual(expected);
23
34
  });
24
35
  });