@definitelytyped/dtslint 0.0.95 → 0.0.97

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 (95) hide show
  1. package/README.md +1 -1
  2. package/bin/src/checks.d.ts +7 -0
  3. package/bin/src/checks.js +133 -0
  4. package/bin/src/checks.js.map +1 -0
  5. package/bin/src/index.d.ts +2 -0
  6. package/bin/src/index.js +233 -0
  7. package/bin/src/index.js.map +1 -0
  8. package/bin/src/lint.d.ts +6 -0
  9. package/bin/src/lint.js +194 -0
  10. package/bin/src/lint.js.map +1 -0
  11. package/bin/src/rules/dtHeaderRule.d.ts +6 -0
  12. package/bin/src/rules/dtHeaderRule.js +62 -0
  13. package/bin/src/rules/dtHeaderRule.js.map +1 -0
  14. package/bin/src/rules/expectRule.d.ts +23 -0
  15. package/bin/src/rules/expectRule.js +346 -0
  16. package/bin/src/rules/expectRule.js.map +1 -0
  17. package/bin/src/rules/exportJustNamespaceRule.d.ts +7 -0
  18. package/bin/src/rules/exportJustNamespaceRule.js +105 -0
  19. package/bin/src/rules/exportJustNamespaceRule.js.map +1 -0
  20. package/bin/src/rules/noAnyUnionRule.d.ts +7 -0
  21. package/bin/src/rules/noAnyUnionRule.js +49 -0
  22. package/bin/src/rules/noAnyUnionRule.js.map +1 -0
  23. package/bin/src/rules/noBadReferenceRule.d.ts +8 -0
  24. package/bin/src/rules/noBadReferenceRule.js +54 -0
  25. package/bin/src/rules/noBadReferenceRule.js.map +1 -0
  26. package/bin/src/rules/noConstEnumRule.d.ts +7 -0
  27. package/bin/src/rules/noConstEnumRule.js +51 -0
  28. package/bin/src/rules/noConstEnumRule.js.map +1 -0
  29. package/bin/src/rules/noDeadReferenceRule.d.ts +7 -0
  30. package/bin/src/rules/noDeadReferenceRule.js +62 -0
  31. package/bin/src/rules/noDeadReferenceRule.js.map +1 -0
  32. package/bin/src/rules/noDeclareCurrentPackageRule.d.ts +6 -0
  33. package/bin/src/rules/noDeclareCurrentPackageRule.js +56 -0
  34. package/bin/src/rules/noDeclareCurrentPackageRule.js.map +1 -0
  35. package/bin/src/rules/noImportDefaultOfExportEqualsRule.d.ts +7 -0
  36. package/bin/src/rules/noImportDefaultOfExportEqualsRule.js +71 -0
  37. package/bin/src/rules/noImportDefaultOfExportEqualsRule.js.map +1 -0
  38. package/bin/src/rules/noOutsideDependenciesRule.d.ts +6 -0
  39. package/bin/src/rules/noOutsideDependenciesRule.js +52 -0
  40. package/bin/src/rules/noOutsideDependenciesRule.js.map +1 -0
  41. package/bin/src/rules/noPaddingRule.d.ts +7 -0
  42. package/bin/src/rules/noPaddingRule.js +98 -0
  43. package/bin/src/rules/noPaddingRule.js.map +1 -0
  44. package/bin/src/rules/noRedundantJsdoc2Rule.d.ts +10 -0
  45. package/bin/src/rules/noRedundantJsdoc2Rule.js +245 -0
  46. package/bin/src/rules/noRedundantJsdoc2Rule.js.map +1 -0
  47. package/bin/src/rules/noRelativeImportInTestRule.d.ts +11 -0
  48. package/bin/src/rules/noRelativeImportInTestRule.js +60 -0
  49. package/bin/src/rules/noRelativeImportInTestRule.js.map +1 -0
  50. package/bin/src/rules/noSelfImportRule.d.ts +6 -0
  51. package/bin/src/rules/noSelfImportRule.js +51 -0
  52. package/bin/src/rules/noSelfImportRule.js.map +1 -0
  53. package/bin/src/rules/noSingleDeclareModuleRule.d.ts +7 -0
  54. package/bin/src/rules/noSingleDeclareModuleRule.js +68 -0
  55. package/bin/src/rules/noSingleDeclareModuleRule.js.map +1 -0
  56. package/bin/src/rules/noSingleElementTupleTypeRule.d.ts +6 -0
  57. package/bin/src/rules/noSingleElementTupleTypeRule.js +50 -0
  58. package/bin/src/rules/noSingleElementTupleTypeRule.js.map +1 -0
  59. package/bin/src/rules/noUnnecessaryGenericsRule.d.ts +8 -0
  60. package/bin/src/rules/noUnnecessaryGenericsRule.js +130 -0
  61. package/bin/src/rules/noUnnecessaryGenericsRule.js.map +1 -0
  62. package/bin/src/rules/noUselessFilesRule.d.ts +7 -0
  63. package/bin/src/rules/noUselessFilesRule.js +46 -0
  64. package/bin/src/rules/noUselessFilesRule.js.map +1 -0
  65. package/bin/src/rules/npmNamingRule.d.ts +21 -0
  66. package/bin/src/rules/npmNamingRule.js +291 -0
  67. package/bin/src/rules/npmNamingRule.js.map +1 -0
  68. package/bin/src/rules/preferDeclareFunctionRule.d.ts +7 -0
  69. package/bin/src/rules/preferDeclareFunctionRule.js +52 -0
  70. package/bin/src/rules/preferDeclareFunctionRule.js.map +1 -0
  71. package/bin/src/rules/redundantUndefinedRule.d.ts +6 -0
  72. package/bin/src/rules/redundantUndefinedRule.js +55 -0
  73. package/bin/src/rules/redundantUndefinedRule.js.map +1 -0
  74. package/bin/src/rules/strictExportDeclareModifiersRule.d.ts +6 -0
  75. package/bin/src/rules/strictExportDeclareModifiersRule.js +162 -0
  76. package/bin/src/rules/strictExportDeclareModifiersRule.js.map +1 -0
  77. package/bin/src/rules/trimFileRule.d.ts +8 -0
  78. package/bin/src/rules/trimFileRule.js +51 -0
  79. package/bin/src/rules/trimFileRule.js.map +1 -0
  80. package/bin/src/rules/voidReturnRule.d.ts +7 -0
  81. package/bin/src/rules/voidReturnRule.js +85 -0
  82. package/bin/src/rules/voidReturnRule.js.map +1 -0
  83. package/bin/src/suggestions.d.ts +12 -0
  84. package/bin/src/suggestions.js +62 -0
  85. package/bin/src/suggestions.js.map +1 -0
  86. package/bin/src/updateConfig.d.ts +1 -0
  87. package/bin/src/updateConfig.js +220 -0
  88. package/bin/src/updateConfig.js.map +1 -0
  89. package/bin/src/util.d.ts +12 -0
  90. package/bin/src/util.js +130 -0
  91. package/bin/src/util.js.map +1 -0
  92. package/bin/tsconfig.tsbuildinfo +1 -0
  93. package/dtslint-expect-only.json +1 -1
  94. package/dtslint.json +1 -1
  95. package/package.json +7 -6
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
11
+ }) : function(o, v) {
12
+ o["default"] = v;
13
+ });
14
+ var __importStar = (this && this.__importStar) || function (mod) {
15
+ if (mod && mod.__esModule) return mod;
16
+ var result = {};
17
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
+ __setModuleDefault(result, mod);
19
+ return result;
20
+ };
21
+ Object.defineProperty(exports, "__esModule", { value: true });
22
+ exports.Rule = void 0;
23
+ const Lint = __importStar(require("tslint"));
24
+ const util_1 = require("../util");
25
+ class Rule extends Lint.Rules.AbstractRule {
26
+ apply(sourceFile) {
27
+ return this.applyWithFunction(sourceFile, walk);
28
+ }
29
+ }
30
+ exports.Rule = Rule;
31
+ Rule.metadata = {
32
+ ruleName: "no-bad-reference",
33
+ description: 'Forbid <reference path="../etc"/> in any file, and forbid <reference path> in test files.',
34
+ optionsDescription: "Not configurable.",
35
+ options: null,
36
+ type: "functionality",
37
+ typescriptOnly: true
38
+ };
39
+ Rule.FAILURE_STRING = util_1.failure(Rule.metadata.ruleName, "Don't use <reference path> to reference another package. Use an import or <reference types> instead.");
40
+ Rule.FAILURE_STRING_REFERENCE_IN_TEST = util_1.failure(Rule.metadata.ruleName, "Don't use <reference path> in test files. Use <reference types> or include the file in 'tsconfig.json'.");
41
+ function walk(ctx) {
42
+ const { sourceFile } = ctx;
43
+ for (const ref of sourceFile.referencedFiles) {
44
+ if (sourceFile.isDeclarationFile) {
45
+ if (ref.fileName.startsWith("..")) {
46
+ ctx.addFailure(ref.pos, ref.end, Rule.FAILURE_STRING);
47
+ }
48
+ }
49
+ else {
50
+ ctx.addFailure(ref.pos, ref.end, Rule.FAILURE_STRING_REFERENCE_IN_TEST);
51
+ }
52
+ }
53
+ }
54
+ //# sourceMappingURL=noBadReferenceRule.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"noBadReferenceRule.js","sourceRoot":"","sources":["../../../src/rules/noBadReferenceRule.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,6CAA+B;AAG/B,kCAAkC;AAElC,MAAa,IAAK,SAAQ,IAAI,CAAC,KAAK,CAAC,YAAY;IAmB/C,KAAK,CAAC,UAAyB;QAC7B,OAAO,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IAClD,CAAC;;AArBH,oBAsBC;AArBQ,aAAQ,GAAuB;IACpC,QAAQ,EAAE,kBAAkB;IAC5B,WAAW,EAAE,2FAA2F;IACxG,kBAAkB,EAAE,mBAAmB;IACvC,OAAO,EAAE,IAAI;IACb,IAAI,EAAE,eAAe;IACrB,cAAc,EAAE,IAAI;CACrB,CAAC;AAEK,mBAAc,GAAG,cAAO,CAC7B,IAAI,CAAC,QAAQ,CAAC,QAAQ,EACtB,sGAAsG,CACvG,CAAC;AACK,qCAAgC,GAAG,cAAO,CAC/C,IAAI,CAAC,QAAQ,CAAC,QAAQ,EACtB,yGAAyG,CAC1G,CAAC;AAOJ,SAAS,IAAI,CAAC,GAA2B;IACvC,MAAM,EAAE,UAAU,EAAE,GAAG,GAAG,CAAC;IAC3B,KAAK,MAAM,GAAG,IAAI,UAAU,CAAC,eAAe,EAAE;QAC5C,IAAI,UAAU,CAAC,iBAAiB,EAAE;YAChC,IAAI,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;gBACjC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;aACvD;SACF;aAAM;YACL,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,gCAAgC,CAAC,CAAC;SACzE;KACF;AACH,CAAC"}
@@ -0,0 +1,7 @@
1
+ import * as Lint from "tslint";
2
+ import * as ts from "typescript";
3
+ export declare class Rule extends Lint.Rules.AbstractRule {
4
+ static metadata: Lint.IRuleMetadata;
5
+ static FAILURE_STRING: string;
6
+ apply(sourceFile: ts.SourceFile): Lint.RuleFailure[];
7
+ }
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
11
+ }) : function(o, v) {
12
+ o["default"] = v;
13
+ });
14
+ var __importStar = (this && this.__importStar) || function (mod) {
15
+ if (mod && mod.__esModule) return mod;
16
+ var result = {};
17
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
+ __setModuleDefault(result, mod);
19
+ return result;
20
+ };
21
+ Object.defineProperty(exports, "__esModule", { value: true });
22
+ exports.Rule = void 0;
23
+ const Lint = __importStar(require("tslint"));
24
+ const ts = __importStar(require("typescript"));
25
+ const util_1 = require("../util");
26
+ class Rule extends Lint.Rules.AbstractRule {
27
+ apply(sourceFile) {
28
+ return this.applyWithFunction(sourceFile, walk);
29
+ }
30
+ }
31
+ exports.Rule = Rule;
32
+ Rule.metadata = {
33
+ ruleName: "no-const-enum",
34
+ description: "Forbid `const enum`",
35
+ optionsDescription: "Not configurable.",
36
+ options: null,
37
+ type: "functionality",
38
+ typescriptOnly: true
39
+ };
40
+ Rule.FAILURE_STRING = util_1.failure(Rule.metadata.ruleName, "Use of `const enum`s is forbidden.");
41
+ function walk(ctx) {
42
+ ctx.sourceFile.forEachChild(function recur(node) {
43
+ if (ts.isEnumDeclaration(node) &&
44
+ node.modifiers &&
45
+ node.modifiers.some(m => m.kind === ts.SyntaxKind.ConstKeyword)) {
46
+ ctx.addFailureAtNode(node.name, Rule.FAILURE_STRING);
47
+ }
48
+ node.forEachChild(recur);
49
+ });
50
+ }
51
+ //# sourceMappingURL=noConstEnumRule.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"noConstEnumRule.js","sourceRoot":"","sources":["../../../src/rules/noConstEnumRule.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,6CAA+B;AAC/B,+CAAiC;AAEjC,kCAAkC;AAElC,MAAa,IAAK,SAAQ,IAAI,CAAC,KAAK,CAAC,YAAY;IAY/C,KAAK,CAAC,UAAyB;QAC7B,OAAO,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IAClD,CAAC;;AAdH,oBAeC;AAdQ,aAAQ,GAAuB;IACpC,QAAQ,EAAE,eAAe;IACzB,WAAW,EAAE,qBAAqB;IAClC,kBAAkB,EAAE,mBAAmB;IACvC,OAAO,EAAE,IAAI;IACb,IAAI,EAAE,eAAe;IACrB,cAAc,EAAE,IAAI;CACrB,CAAC;AAEK,mBAAc,GAAG,cAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,oCAAoC,CAAC,CAAC;AAOhG,SAAS,IAAI,CAAC,GAA2B;IACvC,GAAG,CAAC,UAAU,CAAC,YAAY,CAAC,SAAS,KAAK,CAAC,IAAI;QAC7C,IACE,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC;YAC1B,IAAI,CAAC,SAAS;YACd,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAC/D;YACA,GAAG,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;SACtD;QACD,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,7 @@
1
+ import * as Lint from "tslint";
2
+ import * as ts from "typescript";
3
+ export declare class Rule extends Lint.Rules.AbstractRule {
4
+ static metadata: Lint.IRuleMetadata;
5
+ static FAILURE_STRING: string;
6
+ apply(sourceFile: ts.SourceFile): Lint.RuleFailure[];
7
+ }
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
11
+ }) : function(o, v) {
12
+ o["default"] = v;
13
+ });
14
+ var __importStar = (this && this.__importStar) || function (mod) {
15
+ if (mod && mod.__esModule) return mod;
16
+ var result = {};
17
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
+ __setModuleDefault(result, mod);
19
+ return result;
20
+ };
21
+ Object.defineProperty(exports, "__esModule", { value: true });
22
+ exports.Rule = void 0;
23
+ const Lint = __importStar(require("tslint"));
24
+ const util_1 = require("../util");
25
+ class Rule extends Lint.Rules.AbstractRule {
26
+ apply(sourceFile) {
27
+ return this.applyWithFunction(sourceFile, walk);
28
+ }
29
+ }
30
+ exports.Rule = Rule;
31
+ Rule.metadata = {
32
+ ruleName: "no-dead-reference",
33
+ description: "Ensures that all `/// <reference>` comments go at the top of the file.",
34
+ rationale: "style",
35
+ optionsDescription: "Not configurable.",
36
+ options: null,
37
+ type: "functionality",
38
+ typescriptOnly: true
39
+ };
40
+ Rule.FAILURE_STRING = util_1.failure(Rule.metadata.ruleName, "`/// <reference>` directive must be at top of file to take effect.");
41
+ function walk(ctx) {
42
+ const { sourceFile: { statements, text } } = ctx;
43
+ if (!statements.length) {
44
+ return;
45
+ }
46
+ // 'm' flag makes it multiline, so `^` matches the beginning of any line.
47
+ // 'g' flag lets us set rgx.lastIndex
48
+ const rgx = /^\s*(\/\/\/ <reference)/gm;
49
+ // Start search at the first statement. (`/// <reference>` before that is OK.)
50
+ rgx.lastIndex = statements[0].getStart();
51
+ // eslint-disable-next-line no-constant-condition
52
+ while (true) {
53
+ const match = rgx.exec(text);
54
+ if (match === null) {
55
+ break;
56
+ }
57
+ const length = match[1].length;
58
+ const start = match.index + match[0].length - length;
59
+ ctx.addFailureAt(start, length, Rule.FAILURE_STRING);
60
+ }
61
+ }
62
+ //# sourceMappingURL=noDeadReferenceRule.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"noDeadReferenceRule.js","sourceRoot":"","sources":["../../../src/rules/noDeadReferenceRule.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,6CAA+B;AAG/B,kCAAkC;AAElC,MAAa,IAAK,SAAQ,IAAI,CAAC,KAAK,CAAC,YAAY;IAgB/C,KAAK,CAAC,UAAyB;QAC7B,OAAO,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IAClD,CAAC;;AAlBH,oBAmBC;AAlBQ,aAAQ,GAAuB;IACpC,QAAQ,EAAE,mBAAmB;IAC7B,WAAW,EAAE,wEAAwE;IACrF,SAAS,EAAE,OAAO;IAClB,kBAAkB,EAAE,mBAAmB;IACvC,OAAO,EAAE,IAAI;IACb,IAAI,EAAE,eAAe;IACrB,cAAc,EAAE,IAAI;CACrB,CAAC;AAEK,mBAAc,GAAG,cAAO,CAC7B,IAAI,CAAC,QAAQ,CAAC,QAAQ,EACtB,oEAAoE,CACrE,CAAC;AAOJ,SAAS,IAAI,CAAC,GAA2B;IACvC,MAAM,EACJ,UAAU,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,EACjC,GAAG,GAAG,CAAC;IACR,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE;QACtB,OAAO;KACR;IAED,yEAAyE;IACzE,qCAAqC;IACrC,MAAM,GAAG,GAAG,2BAA2B,CAAC;IAExC,8EAA8E;IAC9E,GAAG,CAAC,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;IAEzC,iDAAiD;IACjD,OAAO,IAAI,EAAE;QACX,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7B,IAAI,KAAK,KAAK,IAAI,EAAE;YAClB,MAAM;SACP;QAED,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QAC/B,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,MAAM,CAAC;QACrD,GAAG,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;KACtD;AACH,CAAC"}
@@ -0,0 +1,6 @@
1
+ import * as Lint from "tslint";
2
+ import * as ts from "typescript";
3
+ export declare class Rule extends Lint.Rules.TypedRule {
4
+ static metadata: Lint.IRuleMetadata;
5
+ applyWithProgram(sourceFile: ts.SourceFile, program: ts.Program): Lint.RuleFailure[];
6
+ }
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
11
+ }) : function(o, v) {
12
+ o["default"] = v;
13
+ });
14
+ var __importStar = (this && this.__importStar) || function (mod) {
15
+ if (mod && mod.__esModule) return mod;
16
+ var result = {};
17
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
+ __setModuleDefault(result, mod);
19
+ return result;
20
+ };
21
+ Object.defineProperty(exports, "__esModule", { value: true });
22
+ exports.Rule = void 0;
23
+ const Lint = __importStar(require("tslint"));
24
+ const ts = __importStar(require("typescript"));
25
+ const util_1 = require("../util");
26
+ class Rule extends Lint.Rules.TypedRule {
27
+ applyWithProgram(sourceFile, program) {
28
+ if (!sourceFile.isDeclarationFile) {
29
+ return [];
30
+ }
31
+ const packageName = util_1.getCommonDirectoryName(program.getRootFileNames());
32
+ return this.applyWithFunction(sourceFile, ctx => walk(ctx, packageName));
33
+ }
34
+ }
35
+ exports.Rule = Rule;
36
+ Rule.metadata = {
37
+ ruleName: "no-declare-current-package",
38
+ description: "Don't use an ambient module declaration of the current package; use a normal module.",
39
+ optionsDescription: "Not configurable.",
40
+ options: null,
41
+ type: "functionality",
42
+ typescriptOnly: true
43
+ };
44
+ function walk(ctx, packageName) {
45
+ for (const statement of ctx.sourceFile.statements) {
46
+ if (ts.isModuleDeclaration(statement) && ts.isStringLiteral(statement.name)) {
47
+ const { text } = statement.name;
48
+ if (text === packageName || text.startsWith(`${packageName}/`)) {
49
+ const preferred = text === packageName ? '"index.d.ts"' : `"${text}.d.ts" or "${text}/index.d.ts`;
50
+ ctx.addFailureAtNode(statement.name, util_1.failure(Rule.metadata.ruleName, `Instead of declaring a module with \`declare module "${text}"\`, ` +
51
+ `write its contents in directly in ${preferred}.`));
52
+ }
53
+ }
54
+ }
55
+ }
56
+ //# sourceMappingURL=noDeclareCurrentPackageRule.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"noDeclareCurrentPackageRule.js","sourceRoot":"","sources":["../../../src/rules/noDeclareCurrentPackageRule.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,6CAA+B;AAC/B,+CAAiC;AAEjC,kCAA0D;AAE1D,MAAa,IAAK,SAAQ,IAAI,CAAC,KAAK,CAAC,SAAS;IAU5C,gBAAgB,CAAC,UAAyB,EAAE,OAAmB;QAC7D,IAAI,CAAC,UAAU,CAAC,iBAAiB,EAAE;YACjC,OAAO,EAAE,CAAC;SACX;QAED,MAAM,WAAW,GAAG,6BAAsB,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAAC;QACvE,OAAO,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC,CAAC;IAC3E,CAAC;;AAjBH,oBAkBC;AAjBQ,aAAQ,GAAuB;IACpC,QAAQ,EAAE,4BAA4B;IACtC,WAAW,EAAE,sFAAsF;IACnG,kBAAkB,EAAE,mBAAmB;IACvC,OAAO,EAAE,IAAI;IACb,IAAI,EAAE,eAAe;IACrB,cAAc,EAAE,IAAI;CACrB,CAAC;AAYJ,SAAS,IAAI,CAAC,GAA2B,EAAE,WAAmB;IAC5D,KAAK,MAAM,SAAS,IAAI,GAAG,CAAC,UAAU,CAAC,UAAU,EAAE;QACjD,IAAI,EAAE,CAAC,mBAAmB,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;YAC3E,MAAM,EAAE,IAAI,EAAE,GAAG,SAAS,CAAC,IAAI,CAAC;YAChC,IAAI,IAAI,KAAK,WAAW,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,WAAW,GAAG,CAAC,EAAE;gBAC9D,MAAM,SAAS,GAAG,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,IAAI,cAAc,IAAI,aAAa,CAAC;gBAClG,GAAG,CAAC,gBAAgB,CAClB,SAAS,CAAC,IAAI,EACd,cAAO,CACL,IAAI,CAAC,QAAQ,CAAC,QAAQ,EACtB,wDAAwD,IAAI,OAAO;oBACjE,qCAAqC,SAAS,GAAG,CACpD,CACF,CAAC;aACH;SACF;KACF;AACH,CAAC"}
@@ -0,0 +1,7 @@
1
+ import * as Lint from "tslint";
2
+ import * as ts from "typescript";
3
+ export declare class Rule extends Lint.Rules.TypedRule {
4
+ static metadata: Lint.IRuleMetadata;
5
+ static FAILURE_STRING(importName: string, moduleName: string): string;
6
+ applyWithProgram(sourceFile: ts.SourceFile, program: ts.Program): Lint.RuleFailure[];
7
+ }
@@ -0,0 +1,71 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
11
+ }) : function(o, v) {
12
+ o["default"] = v;
13
+ });
14
+ var __importStar = (this && this.__importStar) || function (mod) {
15
+ if (mod && mod.__esModule) return mod;
16
+ var result = {};
17
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
+ __setModuleDefault(result, mod);
19
+ return result;
20
+ };
21
+ Object.defineProperty(exports, "__esModule", { value: true });
22
+ exports.Rule = void 0;
23
+ const Lint = __importStar(require("tslint"));
24
+ const ts = __importStar(require("typescript"));
25
+ const util_1 = require("../util");
26
+ class Rule extends Lint.Rules.TypedRule {
27
+ // eslint-disable-next-line @typescript-eslint/naming-convention
28
+ static FAILURE_STRING(importName, moduleName) {
29
+ return util_1.failure(Rule.metadata.ruleName, `The module ${moduleName} uses \`export = \`. Import with \`import ${importName} = require(${moduleName})\`.`);
30
+ }
31
+ applyWithProgram(sourceFile, program) {
32
+ return this.applyWithFunction(sourceFile, ctx => walk(ctx, program.getTypeChecker()));
33
+ }
34
+ }
35
+ exports.Rule = Rule;
36
+ Rule.metadata = {
37
+ ruleName: "no-import-default-of-export-equals",
38
+ description: "Forbid a default import to reference an `export =` module.",
39
+ optionsDescription: "Not configurable.",
40
+ options: null,
41
+ type: "functionality",
42
+ typescriptOnly: true
43
+ };
44
+ function walk(ctx, checker) {
45
+ util_1.eachModuleStatement(ctx.sourceFile, statement => {
46
+ if (!ts.isImportDeclaration(statement)) {
47
+ return;
48
+ }
49
+ const defaultName = statement.importClause && statement.importClause.name;
50
+ if (!defaultName) {
51
+ return;
52
+ }
53
+ const sym = checker.getSymbolAtLocation(statement.moduleSpecifier);
54
+ if (sym &&
55
+ sym.declarations &&
56
+ sym.declarations.some(d => {
57
+ const statements = getStatements(d);
58
+ return statements !== undefined && statements.some(s => ts.isExportAssignment(s) && !!s.isExportEquals);
59
+ })) {
60
+ ctx.addFailureAtNode(defaultName, Rule.FAILURE_STRING(defaultName.text, statement.moduleSpecifier.getText()));
61
+ }
62
+ });
63
+ }
64
+ function getStatements(decl) {
65
+ return ts.isSourceFile(decl)
66
+ ? decl.statements
67
+ : ts.isModuleDeclaration(decl)
68
+ ? util_1.getModuleDeclarationStatements(decl)
69
+ : undefined;
70
+ }
71
+ //# sourceMappingURL=noImportDefaultOfExportEqualsRule.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"noImportDefaultOfExportEqualsRule.js","sourceRoot":"","sources":["../../../src/rules/noImportDefaultOfExportEqualsRule.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,6CAA+B;AAC/B,+CAAiC;AAEjC,kCAAuF;AAEvF,MAAa,IAAK,SAAQ,IAAI,CAAC,KAAK,CAAC,SAAS;IAU5C,gEAAgE;IAChE,MAAM,CAAC,cAAc,CAAC,UAAkB,EAAE,UAAkB;QAC1D,OAAO,cAAO,CACZ,IAAI,CAAC,QAAQ,CAAC,QAAQ,EACtB,cAAc,UAAU,6CAA6C,UAAU,cAAc,UAAU,MAAM,CAC9G,CAAC;IACJ,CAAC;IAED,gBAAgB,CAAC,UAAyB,EAAE,OAAmB;QAC7D,OAAO,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;IACxF,CAAC;;AApBH,oBAqBC;AApBQ,aAAQ,GAAuB;IACpC,QAAQ,EAAE,oCAAoC;IAC9C,WAAW,EAAE,4DAA4D;IACzE,kBAAkB,EAAE,mBAAmB;IACvC,OAAO,EAAE,IAAI;IACb,IAAI,EAAE,eAAe;IACrB,cAAc,EAAE,IAAI;CACrB,CAAC;AAeJ,SAAS,IAAI,CAAC,GAA2B,EAAE,OAAuB;IAChE,0BAAmB,CAAC,GAAG,CAAC,UAAU,EAAE,SAAS,CAAC,EAAE;QAC9C,IAAI,CAAC,EAAE,CAAC,mBAAmB,CAAC,SAAS,CAAC,EAAE;YACtC,OAAO;SACR;QACD,MAAM,WAAW,GAAG,SAAS,CAAC,YAAY,IAAI,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC;QAC1E,IAAI,CAAC,WAAW,EAAE;YAChB,OAAO;SACR;QACD,MAAM,GAAG,GAAG,OAAO,CAAC,mBAAmB,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;QACnE,IACE,GAAG;YACH,GAAG,CAAC,YAAY;YAChB,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;gBACxB,MAAM,UAAU,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;gBACpC,OAAO,UAAU,KAAK,SAAS,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;YAC1G,CAAC,CAAC,EACF;YACA,GAAG,CAAC,gBAAgB,CAAC,WAAW,EAAE,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,IAAI,EAAE,SAAS,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;SAC/G;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,aAAa,CAAC,IAAoB;IACzC,OAAO,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC;QAC1B,CAAC,CAAC,IAAI,CAAC,UAAU;QACjB,CAAC,CAAC,EAAE,CAAC,mBAAmB,CAAC,IAAI,CAAC;YAC9B,CAAC,CAAC,qCAA8B,CAAC,IAAI,CAAC;YACtC,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC"}
@@ -0,0 +1,6 @@
1
+ import * as Lint from "tslint";
2
+ import * as ts from "typescript";
3
+ export declare class Rule extends Lint.Rules.TypedRule {
4
+ static metadata: Lint.IRuleMetadata;
5
+ applyWithProgram(_sourceFile: ts.SourceFile, program: ts.Program): Lint.RuleFailure[];
6
+ }
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
11
+ }) : function(o, v) {
12
+ o["default"] = v;
13
+ });
14
+ var __importStar = (this && this.__importStar) || function (mod) {
15
+ if (mod && mod.__esModule) return mod;
16
+ var result = {};
17
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
+ __setModuleDefault(result, mod);
19
+ return result;
20
+ };
21
+ Object.defineProperty(exports, "__esModule", { value: true });
22
+ exports.Rule = void 0;
23
+ const Lint = __importStar(require("tslint"));
24
+ const util_1 = require("../util");
25
+ class Rule extends Lint.Rules.TypedRule {
26
+ applyWithProgram(_sourceFile, program) {
27
+ if (seenPrograms.has(program)) {
28
+ return [];
29
+ }
30
+ seenPrograms.add(program);
31
+ const failures = [];
32
+ for (const sourceFile of program.getSourceFiles()) {
33
+ const { fileName } = sourceFile;
34
+ if (fileName.includes("/DefinitelyTyped/node_modules/") && !program.isSourceFileDefaultLibrary(sourceFile)) {
35
+ const msg = util_1.failure(Rule.metadata.ruleName, `File ${fileName} comes from a \`node_modules\` but is not declared in this type's \`package.json\`. `);
36
+ failures.push(new Lint.RuleFailure(sourceFile, 0, 1, msg, Rule.metadata.ruleName));
37
+ }
38
+ }
39
+ return failures;
40
+ }
41
+ }
42
+ exports.Rule = Rule;
43
+ Rule.metadata = {
44
+ ruleName: "no-outside-dependencies",
45
+ description: "Don't import things in `DefinitelyTyped/node_modules`.",
46
+ optionsDescription: "Not configurable.",
47
+ options: null,
48
+ type: "functionality",
49
+ typescriptOnly: true
50
+ };
51
+ const seenPrograms = new WeakSet();
52
+ //# sourceMappingURL=noOutsideDependenciesRule.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"noOutsideDependenciesRule.js","sourceRoot":"","sources":["../../../src/rules/noOutsideDependenciesRule.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,6CAA+B;AAG/B,kCAAkC;AAElC,MAAa,IAAK,SAAQ,IAAI,CAAC,KAAK,CAAC,SAAS;IAU5C,gBAAgB,CAAC,WAA0B,EAAE,OAAmB;QAC9D,IAAI,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;YAC7B,OAAO,EAAE,CAAC;SACX;QACD,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAE1B,MAAM,QAAQ,GAAuB,EAAE,CAAC;QACxC,KAAK,MAAM,UAAU,IAAI,OAAO,CAAC,cAAc,EAAE,EAAE;YACjD,MAAM,EAAE,QAAQ,EAAE,GAAG,UAAU,CAAC;YAChC,IAAI,QAAQ,CAAC,QAAQ,CAAC,gCAAgC,CAAC,IAAI,CAAC,OAAO,CAAC,0BAA0B,CAAC,UAAU,CAAC,EAAE;gBAC1G,MAAM,GAAG,GAAG,cAAO,CACjB,IAAI,CAAC,QAAQ,CAAC,QAAQ,EACtB,QAAQ,QAAQ,sFAAsF,CACvG,CAAC;gBACF,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;aACpF;SACF;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;;AA5BH,oBA6BC;AA5BQ,aAAQ,GAAuB;IACpC,QAAQ,EAAE,yBAAyB;IACnC,WAAW,EAAE,wDAAwD;IACrE,kBAAkB,EAAE,mBAAmB;IACvC,OAAO,EAAE,IAAI;IACb,IAAI,EAAE,eAAe;IACrB,cAAc,EAAE,IAAI;CACrB,CAAC;AAuBJ,MAAM,YAAY,GAAG,IAAI,OAAO,EAAc,CAAC"}
@@ -0,0 +1,7 @@
1
+ import * as Lint from "tslint";
2
+ import * as ts from "typescript";
3
+ export declare class Rule extends Lint.Rules.AbstractRule {
4
+ static metadata: Lint.IRuleMetadata;
5
+ static FAILURE_STRING(kind: "before" | "after", token: ts.SyntaxKind): string;
6
+ apply(sourceFile: ts.SourceFile): Lint.RuleFailure[];
7
+ }
@@ -0,0 +1,98 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
11
+ }) : function(o, v) {
12
+ o["default"] = v;
13
+ });
14
+ var __importStar = (this && this.__importStar) || function (mod) {
15
+ if (mod && mod.__esModule) return mod;
16
+ var result = {};
17
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
+ __setModuleDefault(result, mod);
19
+ return result;
20
+ };
21
+ Object.defineProperty(exports, "__esModule", { value: true });
22
+ exports.Rule = void 0;
23
+ const Lint = __importStar(require("tslint"));
24
+ const ts = __importStar(require("typescript"));
25
+ const util_1 = require("../util");
26
+ class Rule extends Lint.Rules.AbstractRule {
27
+ // eslint-disable-next-line @typescript-eslint/naming-convention
28
+ static FAILURE_STRING(kind, token) {
29
+ return util_1.failure(Rule.metadata.ruleName, `Don't leave a blank line ${kind} '${ts.tokenToString(token)}'.`);
30
+ }
31
+ apply(sourceFile) {
32
+ return this.applyWithFunction(sourceFile, walk);
33
+ }
34
+ }
35
+ exports.Rule = Rule;
36
+ Rule.metadata = {
37
+ ruleName: "no-padding",
38
+ description: "Forbids a blank line after `(` / `[` / `{`, or before `)` / `]` / `}`.",
39
+ optionsDescription: "Not configurable.",
40
+ options: null,
41
+ type: "style",
42
+ typescriptOnly: true
43
+ };
44
+ function walk(ctx) {
45
+ const { sourceFile } = ctx;
46
+ function fail(kind, child) {
47
+ ctx.addFailureAtNode(child, Rule.FAILURE_STRING(kind, child.kind));
48
+ }
49
+ sourceFile.forEachChild(function cb(node) {
50
+ const children = node.getChildren();
51
+ for (let i = 0; i < children.length; i++) {
52
+ const child = children[i];
53
+ switch (child.kind) {
54
+ case ts.SyntaxKind.OpenParenToken:
55
+ case ts.SyntaxKind.OpenBracketToken:
56
+ case ts.SyntaxKind.OpenBraceToken:
57
+ if (i < children.length - 1 && blankLineInBetween(child.getEnd(), children[i + 1].getStart())) {
58
+ fail("after", child);
59
+ }
60
+ break;
61
+ case ts.SyntaxKind.CloseParenToken:
62
+ case ts.SyntaxKind.CloseBracketToken:
63
+ case ts.SyntaxKind.CloseBraceToken:
64
+ if (i > 0 && blankLineInBetween(child.getStart() - 1, children[i - 1].getEnd() - 1)) {
65
+ fail("before", child);
66
+ }
67
+ break;
68
+ default:
69
+ cb(child);
70
+ }
71
+ }
72
+ });
73
+ // Looks for two newlines (with nothing else in between besides whitespace)
74
+ function blankLineInBetween(start, end) {
75
+ const step = start < end ? 1 : -1;
76
+ let seenLine = false;
77
+ for (let i = start; i !== end; i += step) {
78
+ switch (sourceFile.text[i]) {
79
+ case "\n":
80
+ if (seenLine) {
81
+ return true;
82
+ }
83
+ else {
84
+ seenLine = true;
85
+ }
86
+ break;
87
+ case " ":
88
+ case "\t":
89
+ case "\r":
90
+ break;
91
+ default:
92
+ return false;
93
+ }
94
+ }
95
+ return false;
96
+ }
97
+ }
98
+ //# sourceMappingURL=noPaddingRule.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"noPaddingRule.js","sourceRoot":"","sources":["../../../src/rules/noPaddingRule.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import * as Lint from "tslint";
2
+ import * as ts from "typescript";
3
+ export declare class Rule extends Lint.Rules.AbstractRule {
4
+ static metadata: Lint.IRuleMetadata;
5
+ static readonly FAILURE_STRING_REDUNDANT_TYPE = "Type annotation in JSDoc is redundant in TypeScript code.";
6
+ static readonly FAILURE_STRING_EMPTY = "JSDoc comment is empty.";
7
+ static FAILURE_STRING_REDUNDANT_TAG(tagName: string): string;
8
+ static FAILURE_STRING_NO_COMMENT(tagName: string): string;
9
+ apply(sourceFile: ts.SourceFile): Lint.RuleFailure[];
10
+ }