@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
@@ -0,0 +1,64 @@
1
+ import { TSESLint, ESLintUtils } from "@typescript-eslint/utils";
2
+ import path from "path";
3
+ import fs from "fs";
4
+
5
+ export const fixtureRoot = path.join(__dirname, "fixtures");
6
+
7
+ export function getFixturePath(filename: string): string {
8
+ return path.join(fixtureRoot, filename);
9
+ }
10
+
11
+ type ValidTestCase<TOptions extends Readonly<unknown[]>> = Omit<
12
+ TSESLint.ValidTestCase<TOptions>,
13
+ "code" | "filename"
14
+ > & {
15
+ filename: string;
16
+ };
17
+
18
+ type InvalidTestCase<TMessageIds extends string, TOptions extends Readonly<unknown[]>> = Omit<
19
+ TSESLint.InvalidTestCase<TMessageIds, TOptions>,
20
+ "code" | "filename"
21
+ > & {
22
+ filename: string;
23
+ };
24
+
25
+ interface RunTests<TMessageIds extends string, TOptions extends Readonly<unknown[]>> {
26
+ readonly valid: readonly ValidTestCase<TOptions>[];
27
+ readonly invalid: readonly InvalidTestCase<TMessageIds, TOptions>[];
28
+ }
29
+
30
+ function convertTestCase<TOptions extends Readonly<unknown[]>>(
31
+ test: ValidTestCase<TOptions>
32
+ ): TSESLint.ValidTestCase<TOptions>;
33
+ function convertTestCase<TMessageIds extends string, TOptions extends Readonly<unknown[]>>(
34
+ test: InvalidTestCase<TMessageIds, TOptions>
35
+ ): TSESLint.InvalidTestCase<TMessageIds, TOptions>;
36
+ function convertTestCase<
37
+ TMessageIds extends string,
38
+ TOptions extends Readonly<unknown[]>,
39
+ T extends ValidTestCase<TOptions> | InvalidTestCase<TMessageIds, TOptions>
40
+ >(test: T): TSESLint.ValidTestCase<TOptions> | TSESLint.InvalidTestCase<TMessageIds, TOptions> {
41
+ const fixture = getFixturePath(test.filename);
42
+ const code = fs.readFileSync(fixture, "utf8");
43
+ return {
44
+ name: test.filename,
45
+ ...test,
46
+ code,
47
+ filename: fixture,
48
+ };
49
+ }
50
+
51
+ export function runTestsWithFixtures<TMessageIds extends string, TOptions extends Readonly<unknown[]>>(
52
+ name: string,
53
+ rule: TSESLint.RuleModule<TMessageIds, TOptions>,
54
+ tests: RunTests<TMessageIds, TOptions>
55
+ ): void {
56
+ const ruleTester = new ESLintUtils.RuleTester({
57
+ parser: "@typescript-eslint/parser",
58
+ });
59
+
60
+ return ruleTester.run(name, rule, {
61
+ valid: tests.valid.map(convertTestCase<TOptions>),
62
+ invalid: tests.invalid.map(convertTestCase<TMessageIds, TOptions>),
63
+ });
64
+ }
@@ -0,0 +1,3 @@
1
+ {
2
+ "packages": {}
3
+ }
@@ -0,0 +1,4 @@
1
+ {
2
+ "name": "definitely-typed",
3
+ "private": "true"
4
+ }
File without changes
@@ -0,0 +1 @@
1
+ export const foo = 1234;
@@ -0,0 +1,5 @@
1
+ {
2
+ "name": "@types/foo",
3
+ "version": "2.0.9999",
4
+ "owners": []
5
+ }
@@ -0,0 +1,20 @@
1
+ {
2
+ "compilerOptions": {
3
+ "module": "commonjs",
4
+ "lib": [
5
+ "es6",
6
+ "dom"
7
+ ],
8
+ "noImplicitAny": true,
9
+ "noImplicitThis": true,
10
+ "strictFunctionTypes": true,
11
+ "strictNullChecks": true,
12
+ "types": [],
13
+ "noEmit": true,
14
+ "forceConsistentCasingInFileNames": true
15
+ },
16
+ "files": [
17
+ "index.d.ts",
18
+ "foo-tests.ts"
19
+ ]
20
+ }
File without changes
@@ -0,0 +1 @@
1
+ export const foo = 1234;
@@ -0,0 +1,5 @@
1
+ {
2
+ "name": "@types/foo",
3
+ "version": "1.0.9999",
4
+ "owners": []
5
+ }
@@ -0,0 +1,20 @@
1
+ {
2
+ "compilerOptions": {
3
+ "module": "commonjs",
4
+ "lib": [
5
+ "es6",
6
+ "dom"
7
+ ],
8
+ "noImplicitAny": true,
9
+ "noImplicitThis": true,
10
+ "strictFunctionTypes": true,
11
+ "strictNullChecks": true,
12
+ "types": [],
13
+ "noEmit": true,
14
+ "forceConsistentCasingInFileNames": true
15
+ },
16
+ "files": [
17
+ "index.d.ts",
18
+ "foo-tests.ts"
19
+ ]
20
+ }
@@ -0,0 +1,16 @@
1
+ /// <reference path="../other" />
2
+ /// <reference path="./v11" />
3
+ /// <reference path="./v11/index" />
4
+ /// <reference path="./v11/subdir/file" />
5
+ /// <reference path="./v0.1" />
6
+ /// <reference path="./v0.1/index" />
7
+ /// <reference path="other" />
8
+ /// <reference path="./other" />
9
+ /// <reference path="./v1gardenpath" />
10
+ /// <reference path="./v1verb/other" />
11
+ /// <reference path="other" />
12
+ /// <reference path="other2" />
13
+ /// <reference path="..\index.d.ts" />
14
+
15
+ // unrelated comment
16
+ /// similar (reference path) comment
@@ -0,0 +1,2 @@
1
+ /// <reference path="../other" />
2
+ /// <reference path="other" />
@@ -0,0 +1,5 @@
1
+ {
2
+ "name": "@types/no-bad-references",
3
+ "version": "12.0.9999",
4
+ "owners": []
5
+ }
@@ -0,0 +1,20 @@
1
+ {
2
+ "compilerOptions": {
3
+ "module": "commonjs",
4
+ "lib": [
5
+ "es6",
6
+ "dom"
7
+ ],
8
+ "noImplicitAny": true,
9
+ "noImplicitThis": true,
10
+ "strictFunctionTypes": true,
11
+ "strictNullChecks": true,
12
+ "types": [],
13
+ "noEmit": true,
14
+ "forceConsistentCasingInFileNames": true
15
+ },
16
+ "files": [
17
+ "index.d.ts",
18
+ "no-relative-references-tests.ts"
19
+ ]
20
+ }
@@ -0,0 +1,15 @@
1
+ /// <reference path="../../foo/index.d.ts" />
2
+ /// <reference path="../v1/index.d.ts" />
3
+ /// <reference path="../../foo/v0.1/index.d.ts" />
4
+ /// <reference path="../index.d.ts" />
5
+
6
+ import * as foo from "../../foo";
7
+ import * as foo2 from "../v0.1";
8
+ import * as foo3 from "../../foo/v0.1";
9
+ import * as va4 from "../index";
10
+
11
+ declare module "no-relative-references" {
12
+ import A = require("no-relative-references/blah"); // Okay; relative
13
+ import B = require("no-relative-references/v0.1"); // Okay; no versioned dir here
14
+ import C = require("../index"); // Bad; parent dir
15
+ }
@@ -0,0 +1,5 @@
1
+ {
2
+ "name": "@types/no-bad-references",
3
+ "version": "0.1.9999",
4
+ "owners": []
5
+ }
@@ -0,0 +1,20 @@
1
+ {
2
+ "compilerOptions": {
3
+ "module": "commonjs",
4
+ "lib": [
5
+ "es6",
6
+ "dom"
7
+ ],
8
+ "noImplicitAny": true,
9
+ "noImplicitThis": true,
10
+ "strictFunctionTypes": true,
11
+ "strictNullChecks": true,
12
+ "types": [],
13
+ "noEmit": true,
14
+ "forceConsistentCasingInFileNames": true
15
+ },
16
+ "files": [
17
+ "index.d.ts",
18
+ "no-relative-references-tests.ts"
19
+ ]
20
+ }
@@ -0,0 +1,15 @@
1
+ /// <reference path="../../foo/index.d.ts" />
2
+ /// <reference path="../v11/index.d.ts" />
3
+ /// <reference path="../../foo/v1/index.d.ts" />
4
+ /// <reference path="../index.d.ts" />
5
+
6
+ import * as foo from "../../foo";
7
+ import * as foo2 from "../v11";
8
+ import * as foo3 from "../../foo/v11";
9
+ import * as va4 from "../index";
10
+
11
+ declare module "no-relative-references" {
12
+ import A = require("no-relative-references/blah"); // Okay; relative
13
+ import B = require("no-relative-references/v11"); // Okay; no versioned dir here
14
+ import C = require("../index"); // Bad; parent dir
15
+ }
@@ -0,0 +1,5 @@
1
+ {
2
+ "name": "@types/no-bad-references",
3
+ "version": "11.0.9999",
4
+ "owners": []
5
+ }
@@ -0,0 +1,20 @@
1
+ {
2
+ "compilerOptions": {
3
+ "module": "commonjs",
4
+ "lib": [
5
+ "es6",
6
+ "dom"
7
+ ],
8
+ "noImplicitAny": true,
9
+ "noImplicitThis": true,
10
+ "strictFunctionTypes": true,
11
+ "strictNullChecks": true,
12
+ "types": [],
13
+ "noEmit": true,
14
+ "forceConsistentCasingInFileNames": true
15
+ },
16
+ "files": [
17
+ "index.d.ts",
18
+ "no-relative-references-tests.ts"
19
+ ]
20
+ }
@@ -0,0 +1 @@
1
+ declare module "no-declare-current-package" { }
@@ -0,0 +1,8 @@
1
+ {
2
+ "name": "@types/no-declare-current-package",
3
+ "version": "2.0.9999",
4
+ "owners": [],
5
+ "devDependencies": {
6
+ "@types/no-declare-current-package": "workspace:."
7
+ }
8
+ }
@@ -0,0 +1 @@
1
+ declare module "no-declare-current-package/deep/import" { }
@@ -0,0 +1,20 @@
1
+ {
2
+ "compilerOptions": {
3
+ "module": "commonjs",
4
+ "lib": [
5
+ "es6",
6
+ "dom"
7
+ ],
8
+ "noImplicitAny": true,
9
+ "noImplicitThis": true,
10
+ "strictFunctionTypes": true,
11
+ "strictNullChecks": true,
12
+ "types": [],
13
+ "noEmit": true,
14
+ "forceConsistentCasingInFileNames": true
15
+ },
16
+ "files": [
17
+ "index.d.ts",
18
+ "no-import-of-dev-dependencies-tests.ts"
19
+ ]
20
+ }
@@ -0,0 +1,2 @@
1
+ declare module "no-declare-current-package" { }
2
+ declare module "@scoped/no-declare-current-package" { }
@@ -0,0 +1,8 @@
1
+ {
2
+ "name": "@types/no-declare-current-package-other",
3
+ "version": "2.0.9999",
4
+ "owners": [],
5
+ "devDependencies": {
6
+ "@types/no-declare-current-package-other": "workspace:."
7
+ }
8
+ }
@@ -0,0 +1,20 @@
1
+ {
2
+ "compilerOptions": {
3
+ "module": "commonjs",
4
+ "lib": [
5
+ "es6",
6
+ "dom"
7
+ ],
8
+ "noImplicitAny": true,
9
+ "noImplicitThis": true,
10
+ "strictFunctionTypes": true,
11
+ "strictNullChecks": true,
12
+ "types": [],
13
+ "noEmit": true,
14
+ "forceConsistentCasingInFileNames": true
15
+ },
16
+ "files": [
17
+ "index.d.ts",
18
+ "no-import-of-dev-dependencies-tests.ts"
19
+ ]
20
+ }
@@ -0,0 +1,5 @@
1
+ /// <reference types="devdep"/>
2
+ /// <reference types="otherdevdep"/>
3
+
4
+ import devdep from "devdep";
5
+ import * as otherdevdep from "otherdevdep";
@@ -0,0 +1,4 @@
1
+ /// <reference types="other"/>
2
+
3
+ import other from "other";
4
+ import self from "no-import-of-dev-dependencies";
@@ -0,0 +1,9 @@
1
+ /// <reference types="devdep"/>
2
+ /// <reference types="otherdevdep"/>
3
+ /// <reference types="other"/>
4
+
5
+ import other from "other";
6
+ import self from "no-import-of-dev-dependencies";
7
+
8
+ import devdep from "devdep";
9
+ import * as otherdevdep from "otherdevdep";
@@ -0,0 +1,14 @@
1
+ {
2
+ "name": "@types/no-import-of-dev-dependencies",
3
+ "version": "2.0.9999",
4
+ "owners": [],
5
+ "dependencies": {
6
+ "@types/foo": "*",
7
+ "other": "*"
8
+ },
9
+ "devDependencies": {
10
+ "@types/devdep": "*",
11
+ "@types/no-import-of-dev-dependencies": "workspace:.",
12
+ "otherdevdep": "*"
13
+ }
14
+ }
@@ -0,0 +1,20 @@
1
+ {
2
+ "compilerOptions": {
3
+ "module": "commonjs",
4
+ "lib": [
5
+ "es6",
6
+ "dom"
7
+ ],
8
+ "noImplicitAny": true,
9
+ "noImplicitThis": true,
10
+ "strictFunctionTypes": true,
11
+ "strictNullChecks": true,
12
+ "types": [],
13
+ "noEmit": true,
14
+ "forceConsistentCasingInFileNames": true
15
+ },
16
+ "files": [
17
+ "index.d.ts",
18
+ "no-import-of-dev-dependencies-tests.ts"
19
+ ]
20
+ }
@@ -0,0 +1,12 @@
1
+ /// <reference path="../foo/index.d.ts" />
2
+ /// <reference path="./v1/index.d.ts" />
3
+ /// <reference path="../foo/v1/index.d.ts" />
4
+
5
+ import * as foo from "../foo";
6
+ import * as foo2 from "./v1";
7
+ import * as foo3 from "../foo/v1";
8
+
9
+ declare module "no-relative-references" {
10
+ import A = require("no-relative-references/blah"); // Okay; relative
11
+ import B = require("no-relative-references/v1"); // Bad; versioned subdir
12
+ }
@@ -0,0 +1,7 @@
1
+ /// <reference path="../../foo/index.d.ts" />
2
+ /// <reference path="../v1/index.d.ts" />
3
+ /// <reference path="../../foo/v1/index.d.ts" />
4
+
5
+ import * as foo from "../../foo";
6
+ import * as foo2 from "../v1";
7
+ import * as foo3 from "../../foo/v1";
@@ -0,0 +1,5 @@
1
+ {
2
+ "name": "@types/no-relative-references",
3
+ "version": "2.0.9999",
4
+ "owners": []
5
+ }
@@ -0,0 +1,20 @@
1
+ {
2
+ "compilerOptions": {
3
+ "module": "commonjs",
4
+ "lib": [
5
+ "es6",
6
+ "dom"
7
+ ],
8
+ "noImplicitAny": true,
9
+ "noImplicitThis": true,
10
+ "strictFunctionTypes": true,
11
+ "strictNullChecks": true,
12
+ "types": [],
13
+ "noEmit": true,
14
+ "forceConsistentCasingInFileNames": true
15
+ },
16
+ "files": [
17
+ "index.d.ts",
18
+ "no-relative-references-tests.ts"
19
+ ]
20
+ }
@@ -0,0 +1,15 @@
1
+ /// <reference path="../../foo/index.d.ts" />
2
+ /// <reference path="../v1/index.d.ts" />
3
+ /// <reference path="../../foo/v1/index.d.ts" />
4
+ /// <reference path="../index.d.ts" />
5
+
6
+ import * as foo from "../../foo";
7
+ import * as foo2 from "../v1";
8
+ import * as foo3 from "../../foo/v1";
9
+ import * as va4 from "../index";
10
+
11
+ declare module "no-relative-references" {
12
+ import A = require("no-relative-references/blah"); // Okay; relative
13
+ import B = require("no-relative-references/v1"); // Okay; no versioned dir here
14
+ import C = require("../index"); // Bad; parent dir
15
+ }
@@ -0,0 +1,7 @@
1
+ /// <reference path="../../../foo/index.d.ts" />
2
+ /// <reference path="../../v1/index.d.ts" />
3
+ /// <reference path="../../../foo/v1/index.d.ts" />
4
+
5
+ import * as foo from "../../../foo";
6
+ import * as foo2 from "../../v1";
7
+ import * as foo3 from "../../../foo/v1";
@@ -0,0 +1,5 @@
1
+ {
2
+ "name": "@types/no-relative-references",
3
+ "version": "1.0.9999",
4
+ "owners": []
5
+ }
@@ -0,0 +1,20 @@
1
+ {
2
+ "compilerOptions": {
3
+ "module": "commonjs",
4
+ "lib": [
5
+ "es6",
6
+ "dom"
7
+ ],
8
+ "noImplicitAny": true,
9
+ "noImplicitThis": true,
10
+ "strictFunctionTypes": true,
11
+ "strictNullChecks": true,
12
+ "types": [],
13
+ "noEmit": true,
14
+ "forceConsistentCasingInFileNames": true
15
+ },
16
+ "files": [
17
+ "index.d.ts",
18
+ "no-relative-references-tests.ts"
19
+ ]
20
+ }
@@ -0,0 +1,8 @@
1
+ import myself from "no-self-import";
2
+ import abc from "no-self-import/abc.d.ts"
3
+
4
+ import old1 from "./v11";
5
+ import old2 from "./v11/index";
6
+ import old3 from "./v11/subdir/file";
7
+ import old4 from "./v0.1"
8
+ import old5 from "./v0.1/index"
@@ -0,0 +1,7 @@
1
+ import other from "other-package";
2
+
3
+ import other from "other-package/this-package";
4
+
5
+ import old from "./v1gardenpath"
6
+
7
+ import old from "./v1verb/other"
@@ -0,0 +1,9 @@
1
+ /// <reference types="devdep"/>
2
+ /// <reference types="otherdevdep"/>
3
+ /// <reference types="other"/>
4
+
5
+ import other from "other";
6
+ import self from "no-import-of-dev-dependencies";
7
+
8
+ import devdep from "devdep";
9
+ import * as otherdevdep from "otherdevdep";
@@ -0,0 +1,11 @@
1
+ {
2
+ "name": "@types/no-self-import",
3
+ "version": "2.0.9999",
4
+ "owners": [],
5
+ "dependencies": {
6
+ "other-package": "*"
7
+ },
8
+ "devDependencies": {
9
+ "@types/no-self-import": "workspace:."
10
+ }
11
+ }
@@ -0,0 +1,20 @@
1
+ {
2
+ "compilerOptions": {
3
+ "module": "commonjs",
4
+ "lib": [
5
+ "es6",
6
+ "dom"
7
+ ],
8
+ "noImplicitAny": true,
9
+ "noImplicitThis": true,
10
+ "strictFunctionTypes": true,
11
+ "strictNullChecks": true,
12
+ "types": [],
13
+ "noEmit": true,
14
+ "forceConsistentCasingInFileNames": true
15
+ },
16
+ "files": [
17
+ "index.d.ts",
18
+ "no-import-of-dev-dependencies-tests.ts"
19
+ ]
20
+ }
@@ -0,0 +1 @@
1
+ export const foo = 1234;
File without changes
@@ -0,0 +1,5 @@
1
+ {
2
+ "name": "@types/other",
3
+ "version": "2.0.9999",
4
+ "owners": []
5
+ }
@@ -0,0 +1,20 @@
1
+ {
2
+ "compilerOptions": {
3
+ "module": "commonjs",
4
+ "lib": [
5
+ "es6",
6
+ "dom"
7
+ ],
8
+ "noImplicitAny": true,
9
+ "noImplicitThis": true,
10
+ "strictFunctionTypes": true,
11
+ "strictNullChecks": true,
12
+ "types": [],
13
+ "noEmit": true,
14
+ "forceConsistentCasingInFileNames": true
15
+ },
16
+ "files": [
17
+ "index.d.ts",
18
+ "foo-tests.ts"
19
+ ]
20
+ }
@@ -0,0 +1 @@
1
+ export const foo = 1234;
File without changes