@monorepolint/rules 0.5.0-alpha.10 → 0.5.0-alpha.106

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 (156) hide show
  1. package/.turbo/turbo-clean.log +4 -0
  2. package/.turbo/turbo-compile-typescript.log +4 -0
  3. package/.turbo/turbo-lint.log +110 -0
  4. package/.turbo/turbo-test.log +638 -0
  5. package/.turbo/turbo-transpile-typescript.log +14 -0
  6. package/build/js/index.js +1417 -0
  7. package/build/js/index.js.map +1 -0
  8. package/build/tsconfig.tsbuildinfo +1 -0
  9. package/{lib/__tests__/utils.d.ts → build/types/__tests__/alphabeticalScripts.spec.d.ts} +2 -2
  10. package/build/types/__tests__/alphabeticalScripts.spec.d.ts.map +1 -0
  11. package/build/types/__tests__/bannedDependencies.spec.d.ts +2 -0
  12. package/build/types/__tests__/bannedDependencies.spec.d.ts.map +1 -0
  13. package/build/types/__tests__/consistentDependencies.spec.d.ts.map +1 -0
  14. package/build/types/__tests__/consistentVersions.spec.d.ts +8 -0
  15. package/build/types/__tests__/consistentVersions.spec.d.ts.map +1 -0
  16. package/build/types/__tests__/fileContents.spec.d.ts +8 -0
  17. package/build/types/__tests__/fileContents.spec.d.ts.map +1 -0
  18. package/build/types/__tests__/mustSatisfyPeerDependencies.spec.d.ts +8 -0
  19. package/build/types/__tests__/mustSatisfyPeerDependencies.spec.d.ts.map +1 -0
  20. package/build/types/__tests__/nestedWorkspaces.spec.d.ts +2 -0
  21. package/build/types/__tests__/nestedWorkspaces.spec.d.ts.map +1 -0
  22. package/build/types/__tests__/packageEntry.spec.d.ts.map +1 -0
  23. package/build/types/__tests__/packageOrder.spec.d.ts.map +1 -0
  24. package/build/types/__tests__/packageScript.spec.d.ts.map +1 -0
  25. package/build/types/__tests__/requireDependency.spec.d.ts +2 -0
  26. package/build/types/__tests__/requireDependency.spec.d.ts.map +1 -0
  27. package/build/types/__tests__/utils.d.ts +81 -0
  28. package/build/types/__tests__/utils.d.ts.map +1 -0
  29. package/build/types/alphabeticalDependencies.d.ts +9 -0
  30. package/build/types/alphabeticalDependencies.d.ts.map +1 -0
  31. package/build/types/alphabeticalScripts.d.ts +9 -0
  32. package/build/types/alphabeticalScripts.d.ts.map +1 -0
  33. package/build/types/bannedDependencies.d.ts +66 -0
  34. package/build/types/bannedDependencies.d.ts.map +1 -0
  35. package/build/types/consistentDependencies.d.ts +18 -0
  36. package/build/types/consistentDependencies.d.ts.map +1 -0
  37. package/build/types/consistentVersions.d.ts +21 -0
  38. package/build/types/consistentVersions.d.ts.map +1 -0
  39. package/build/types/fileContents.d.ts +39 -0
  40. package/build/types/fileContents.d.ts.map +1 -0
  41. package/build/types/index.d.ts +20 -0
  42. package/build/types/index.d.ts.map +1 -0
  43. package/build/types/mustSatisfyPeerDependencies.d.ts +427 -0
  44. package/build/types/mustSatisfyPeerDependencies.d.ts.map +1 -0
  45. package/build/types/nestedWorkspaces.d.ts +10 -0
  46. package/build/types/nestedWorkspaces.d.ts.map +1 -0
  47. package/build/types/packageEntry.d.ts +54 -0
  48. package/build/types/packageEntry.d.ts.map +1 -0
  49. package/build/types/packageOrder.d.ts +13 -0
  50. package/build/types/packageOrder.d.ts.map +1 -0
  51. package/build/types/packageScript.d.ts +37 -0
  52. package/build/types/packageScript.d.ts.map +1 -0
  53. package/build/types/public/util.d.ts +2 -0
  54. package/build/types/public/util.d.ts.map +1 -0
  55. package/build/types/requireDependency.d.ts +35 -0
  56. package/build/types/requireDependency.d.ts.map +1 -0
  57. package/build/types/standardTsconfig.d.ts +53 -0
  58. package/build/types/standardTsconfig.d.ts.map +1 -0
  59. package/build/types/util/checkAlpha.d.ts +10 -0
  60. package/build/types/util/checkAlpha.d.ts.map +1 -0
  61. package/build/types/util/makeDirectory.d.ts +8 -0
  62. package/build/types/util/makeDirectory.d.ts.map +1 -0
  63. package/build/types/util/makeRule.d.ts +13 -0
  64. package/build/types/util/makeRule.d.ts.map +1 -0
  65. package/build/types/util/packageDependencyGraphService.d.ts +37 -0
  66. package/build/types/util/packageDependencyGraphService.d.ts.map +1 -0
  67. package/package.json +45 -20
  68. package/src/__tests__/alphabeticalScripts.spec.ts +76 -0
  69. package/src/__tests__/bannedDependencies.spec.ts +189 -0
  70. package/src/__tests__/consistentDependencies.spec.ts +42 -28
  71. package/src/__tests__/consistentVersions.spec.ts +224 -0
  72. package/src/__tests__/fileContents.spec.ts +79 -0
  73. package/src/__tests__/mustSatisfyPeerDependencies.spec.ts +1189 -0
  74. package/src/__tests__/nestedWorkspaces.spec.ts +153 -0
  75. package/src/__tests__/packageEntry.spec.ts +127 -49
  76. package/src/__tests__/packageOrder.spec.ts +68 -53
  77. package/src/__tests__/packageScript.spec.ts +124 -98
  78. package/src/__tests__/requireDependency.spec.ts +152 -0
  79. package/src/__tests__/utils.ts +115 -11
  80. package/src/alphabeticalDependencies.ts +6 -50
  81. package/src/alphabeticalScripts.ts +19 -0
  82. package/src/bannedDependencies.ts +134 -45
  83. package/src/consistentDependencies.ts +39 -16
  84. package/src/consistentVersions.ts +141 -0
  85. package/src/fileContents.ts +39 -35
  86. package/src/index.ts +13 -8
  87. package/src/mustSatisfyPeerDependencies.ts +744 -0
  88. package/src/nestedWorkspaces.ts +60 -0
  89. package/src/packageEntry.ts +71 -27
  90. package/src/packageOrder.ts +15 -12
  91. package/src/packageScript.ts +14 -18
  92. package/src/public/util.ts +1 -0
  93. package/src/requireDependency.ts +71 -0
  94. package/src/standardTsconfig.ts +49 -26
  95. package/src/util/checkAlpha.ts +59 -0
  96. package/src/util/makeDirectory.ts +24 -0
  97. package/src/util/makeRule.ts +29 -0
  98. package/src/util/packageDependencyGraphService.ts +114 -0
  99. package/tsconfig.json +10 -2
  100. package/lib/__tests__/consistentDependencies.spec.d.ts.map +0 -1
  101. package/lib/__tests__/consistentDependencies.spec.js +0 -108
  102. package/lib/__tests__/consistentDependencies.spec.js.map +0 -1
  103. package/lib/__tests__/packageEntry.spec.d.ts.map +0 -1
  104. package/lib/__tests__/packageEntry.spec.js +0 -99
  105. package/lib/__tests__/packageEntry.spec.js.map +0 -1
  106. package/lib/__tests__/packageOrder.spec.d.ts.map +0 -1
  107. package/lib/__tests__/packageOrder.spec.js +0 -115
  108. package/lib/__tests__/packageOrder.spec.js.map +0 -1
  109. package/lib/__tests__/packageScript.spec.d.ts.map +0 -1
  110. package/lib/__tests__/packageScript.spec.js +0 -172
  111. package/lib/__tests__/packageScript.spec.js.map +0 -1
  112. package/lib/__tests__/utils.d.ts.map +0 -1
  113. package/lib/__tests__/utils.js +0 -23
  114. package/lib/__tests__/utils.js.map +0 -1
  115. package/lib/alphabeticalDependencies.d.ts +0 -10
  116. package/lib/alphabeticalDependencies.d.ts.map +0 -1
  117. package/lib/alphabeticalDependencies.js +0 -56
  118. package/lib/alphabeticalDependencies.js.map +0 -1
  119. package/lib/bannedDependencies.d.ts +0 -15
  120. package/lib/bannedDependencies.d.ts.map +0 -1
  121. package/lib/bannedDependencies.js +0 -57
  122. package/lib/bannedDependencies.js.map +0 -1
  123. package/lib/consistentDependencies.d.ts +0 -10
  124. package/lib/consistentDependencies.d.ts.map +0 -1
  125. package/lib/consistentDependencies.js +0 -57
  126. package/lib/consistentDependencies.js.map +0 -1
  127. package/lib/fileContents.d.ts +0 -25
  128. package/lib/fileContents.d.ts.map +0 -1
  129. package/lib/fileContents.js +0 -77
  130. package/lib/fileContents.js.map +0 -1
  131. package/lib/index.d.ts +0 -15
  132. package/lib/index.d.ts.map +0 -1
  133. package/lib/index.js +0 -25
  134. package/lib/index.js.map +0 -1
  135. package/lib/packageEntry.d.ts +0 -16
  136. package/lib/packageEntry.d.ts.map +0 -1
  137. package/lib/packageEntry.js +0 -40
  138. package/lib/packageEntry.js.map +0 -1
  139. package/lib/packageOrder.d.ts +0 -12
  140. package/lib/packageOrder.d.ts.map +0 -1
  141. package/lib/packageOrder.js +0 -103
  142. package/lib/packageOrder.js.map +0 -1
  143. package/lib/packageScript.d.ts +0 -25
  144. package/lib/packageScript.d.ts.map +0 -1
  145. package/lib/packageScript.js +0 -89
  146. package/lib/packageScript.js.map +0 -1
  147. package/lib/standardTsconfig.d.ts +0 -33
  148. package/lib/standardTsconfig.d.ts.map +0 -1
  149. package/lib/standardTsconfig.js +0 -98
  150. package/lib/standardTsconfig.js.map +0 -1
  151. package/tsconfig.tsbuildinfo +0 -2439
  152. /package/{lib → build/types}/__tests__/consistentDependencies.spec.d.ts +0 -0
  153. /package/{lib → build/types}/__tests__/packageEntry.spec.d.ts +0 -0
  154. /package/{lib → build/types}/__tests__/packageOrder.spec.d.ts +0 -0
  155. /package/{lib → build/types}/__tests__/packageScript.spec.d.ts +0 -0
  156. /package/{jest.config.js → jest.config.cjs} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"file":"packageOrder.js","sourceRoot":"","sources":["../src/packageOrder.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAGH,+CAAgD;AAChD,kEAA6B;AAC7B,oDAA8B;AAI9B,MAAM,OAAO,GAAG,CAAC;KACd,MAAM,CAAC;IACN,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC;CAC9C,CAAC;KACD,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;AAInB,MAAM,eAAe,GAAG;IACtB,MAAM;IACN,SAAS;IACT,aAAa;IACb,QAAQ;IACR,cAAc;IACd,KAAK;IACL,SAAS;IACT,SAAS;IACT,SAAS;IACT,KAAK;IACL,MAAM;IACN,QAAQ;IACR,SAAS;IACT,OAAO;IACP,aAAa;IACb,YAAY;IACZ,OAAO;IACP,aAAa;IACb,OAAO;IACP,SAAS;IACT,aAAa;IACb,cAAc;IACd,kBAAkB;IAClB,iBAAiB;IACjB,sBAAsB;IACtB,eAAe;CAChB,CAAC;AAEW,QAAA,YAAY,GAAG;IAC1B,KAAK,EAAE,SAAS,kBAAkB,CAAC,OAAgB,EAAE,IAAa;QAChE,MAAM,WAAW,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;QAC7C,MAAM,WAAW,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC;QAEjD,MAAM,KAAK,GAA6B,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;QAE1F,MAAM,SAAS,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QAEnF,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC7C,MAAM,aAAa,GAAG,WAAW,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,uDAAuD;QAElH,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE,aAAa,CAAC,EAAE;YAClD,OAAO,CAAC,QAAQ,CAAC;gBACf,IAAI,EAAE,WAAW;gBACjB,OAAO,EAAE,2CAA2C;gBACpD,WAAW,EAAE,mBAAI,CAAC,aAAa,EAAE,WAAW,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;gBAC/D,KAAK,EAAE,GAAG,EAAE;oBACV,MAAM,mBAAmB,GAAwB,EAAE,CAAC;oBAEpD,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;wBAC1B,mBAAmB,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;oBAC9C,CAAC,CAAC,CAAC;oBAEH,iBAAS,CAAC,WAAW,EAAE,mBAAmB,CAAC,CAAC;gBAC9C,CAAC;aACF,CAAC,CAAC;SACJ;IACH,CAAC;IACD,cAAc,EAAE,OAAO;CACM,CAAC;AAEhC,SAAS,iBAAiB,CAAC,CAAwB,EAAE,CAAwB;IAC3E,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;QAC7C,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,EAAE;YACzB,OAAO,KAAK,CAAC;SACd;KACF;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,eAAe,CAAC,KAA4B;IACnD,OAAO,CAAC,CAAS,EAAE,CAAS,EAAE,EAAE;QAC9B,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAChC,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAEhC,0EAA0E;QAC1E,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,GAAG,CAAC,EAAE;YAC7B,OAAO,CAAC,CAAC,CAAC;SACX;aAAM,IAAI,MAAM,GAAG,CAAC,IAAI,MAAM,IAAI,CAAC,EAAE;YACpC,OAAO,CAAC,CAAC;SACV;QAED,sEAAsE;QACtE,MAAM,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAC;QAEjC,IAAI,QAAQ,KAAK,CAAC,EAAE;YAClB,OAAO,QAAQ,CAAC;SACjB;aAAM;YACL,OAAO,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;SAC3B;IACH,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,KAA4C;IACnE,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC/B,CAAC"}
@@ -1,25 +0,0 @@
1
- /*!
2
- * Copyright 2019 Palantir Technologies, Inc.
3
- *
4
- * Licensed under the MIT license. See LICENSE file in the project root for details.
5
- *
6
- */
7
- import { RuleModule } from "@monorepolint/core";
8
- import * as r from "runtypes";
9
- export declare const Options: r.Record<{
10
- scripts: r.StringDictionary<r.Union2<r.String, r.Intersect2<r.Record<{
11
- options: r.Array<r.Union2<r.String, r.Literal<undefined>>, false>;
12
- }, false>, r.Part<{
13
- fixValue: r.Union3<r.String, r.Literal<undefined>, r.Literal<false>>;
14
- }>>>>;
15
- }, false>;
16
- export declare type Options = r.Static<typeof Options>;
17
- export declare const MSG_NO_SCRIPTS_BLOCK = "No scripts block in package.json";
18
- export declare const packageScript: RuleModule<r.Record<{
19
- scripts: r.StringDictionary<r.Union2<r.String, r.Intersect2<r.Record<{
20
- options: r.Array<r.Union2<r.String, r.Literal<undefined>>, false>;
21
- }, false>, r.Part<{
22
- fixValue: r.Union3<r.String, r.Literal<undefined>, r.Literal<false>>;
23
- }>>>>;
24
- }, false>>;
25
- //# sourceMappingURL=packageScript.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"packageScript.d.ts","sourceRoot":"","sources":["../src/packageScript.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAW,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAGzD,OAAO,KAAK,CAAC,MAAM,UAAU,CAAC;AAE9B,eAAO,MAAM,OAAO;;;;;;SAelB,CAAC;AAEH,oBAAY,OAAO,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,OAAO,CAAC,CAAC;AAE/C,eAAO,MAAM,oBAAoB,qCAAqC,CAAC;AAEvE,eAAO,MAAM,aAAa;;;;;;UAqEK,CAAC"}
@@ -1,89 +0,0 @@
1
- "use strict";
2
- /*!
3
- * Copyright 2019 Palantir Technologies, Inc.
4
- *
5
- * Licensed under the MIT license. See LICENSE file in the project root for details.
6
- *
7
- */
8
- Object.defineProperty(exports, "__esModule", { value: true });
9
- const tslib_1 = require("tslib");
10
- const utils_1 = require("@monorepolint/utils");
11
- const jest_diff_1 = tslib_1.__importDefault(require("jest-diff"));
12
- const r = tslib_1.__importStar(require("runtypes"));
13
- exports.Options = r.Record({
14
- scripts: r.Dictionary(r.Union(r.String, r
15
- .Record({
16
- options: r.Array(r.String.Or(r.Undefined)),
17
- })
18
- .And(r.Partial({
19
- fixValue: r.Union(r.String, r.Undefined, r.Literal(false)),
20
- })))),
21
- });
22
- exports.MSG_NO_SCRIPTS_BLOCK = "No scripts block in package.json";
23
- exports.packageScript = {
24
- check: function expectPackageScript(context, options) {
25
- const packageJson = context.getPackageJson();
26
- if (packageJson.scripts === undefined) {
27
- context.addError({
28
- file: context.getPackageJsonPath(),
29
- message: exports.MSG_NO_SCRIPTS_BLOCK,
30
- fixer: () => {
31
- utils_1.mutateJson(context.getPackageJsonPath(), input => {
32
- input.scripts = {};
33
- return input;
34
- });
35
- },
36
- });
37
- return;
38
- }
39
- for (const [name, value] of Object.entries(options.scripts)) {
40
- const allowedValues = new Set();
41
- let fixValue;
42
- let allowEmpty = false;
43
- let fixToEmpty = false;
44
- if (typeof value === "string") {
45
- allowedValues.add(value);
46
- fixValue = value;
47
- }
48
- else {
49
- for (const q of value.options) {
50
- if (q === undefined) {
51
- allowEmpty = true;
52
- }
53
- allowedValues.add(q);
54
- }
55
- fixToEmpty = value.hasOwnProperty("fixValue") && value.fixValue === undefined;
56
- fixValue = value.fixValue;
57
- }
58
- const actualValue = packageJson.scripts[name];
59
- if (!allowedValues.has(actualValue) && !(allowEmpty === true && actualValue === undefined)) {
60
- let fixer;
61
- if (fixValue !== false && (fixValue !== undefined || fixToEmpty === true)) {
62
- const q = fixValue;
63
- fixer = () => {
64
- utils_1.mutateJson(context.getPackageJsonPath(), input => {
65
- if (fixToEmpty && q === undefined) {
66
- delete input.scripts[name];
67
- }
68
- else {
69
- input.scripts[name] = q;
70
- }
71
- return input;
72
- });
73
- };
74
- }
75
- const validOptionsString = Array.from(allowedValues.values())
76
- .map(a => (a === undefined ? "(empty)" : `'${a}'`))
77
- .join(", ");
78
- context.addError({
79
- file: context.getPackageJsonPath(),
80
- message: `Expected standardized script entry for '${name}'. Valid options: ${validOptionsString}`,
81
- longMessage: jest_diff_1.default(validOptionsString + "\n", (packageJson.scripts[name] || "") + "\n"),
82
- fixer,
83
- });
84
- }
85
- }
86
- },
87
- optionsRuntype: exports.Options,
88
- };
89
- //# sourceMappingURL=packageScript.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"packageScript.js","sourceRoot":"","sources":["../src/packageScript.ts"],"names":[],"mappings":"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"}
@@ -1,33 +0,0 @@
1
- /*!
2
- * Copyright 2019 Palantir Technologies, Inc.
3
- *
4
- * Licensed under the MIT license. See LICENSE file in the project root for details.
5
- *
6
- */
7
- import { RuleModule } from "@monorepolint/core";
8
- import * as r from "runtypes";
9
- declare const Options: r.Constraint<r.Part<{
10
- generator: r.Function;
11
- template: r.Union2<r.Record<{}, false>, r.String>;
12
- templateFile: r.String;
13
- excludedReferences: r.Union2<r.Array<r.String, false>, r.Literal<undefined>>;
14
- }>, {
15
- generator?: ((...args: any[]) => any) | undefined;
16
- template?: string | {} | undefined;
17
- templateFile?: string | undefined;
18
- excludedReferences?: string[] | undefined;
19
- }, unknown>;
20
- export declare type Options = r.Static<typeof Options>;
21
- export declare const standardTsconfig: RuleModule<r.Constraint<r.Part<{
22
- generator: r.Function;
23
- template: r.Union2<r.Record<{}, false>, r.String>;
24
- templateFile: r.String;
25
- excludedReferences: r.Union2<r.Array<r.String, false>, r.Literal<undefined>>;
26
- }>, {
27
- generator?: ((...args: any[]) => any) | undefined;
28
- template?: string | {} | undefined;
29
- templateFile?: string | undefined;
30
- excludedReferences?: string[] | undefined;
31
- }, unknown>>;
32
- export {};
33
- //# sourceMappingURL=standardTsconfig.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"standardTsconfig.d.ts","sourceRoot":"","sources":["../src/standardTsconfig.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAW,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAMzD,OAAO,KAAK,CAAC,MAAM,UAAU,CAAC;AAE9B,QAAA,MAAM,OAAO;;;;;;;;;;WAoBT,CAAC;AAEL,oBAAY,OAAO,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,OAAO,CAAC,CAAC;AAE/C,eAAO,MAAM,gBAAgB;;;;;;;;;;YA4BE,CAAC"}
@@ -1,98 +0,0 @@
1
- "use strict";
2
- /*!
3
- * Copyright 2019 Palantir Technologies, Inc.
4
- *
5
- * Licensed under the MIT license. See LICENSE file in the project root for details.
6
- *
7
- */
8
- Object.defineProperty(exports, "__esModule", { value: true });
9
- const tslib_1 = require("tslib");
10
- const utils_1 = require("@monorepolint/utils");
11
- const fs_1 = require("fs");
12
- const jest_diff_1 = tslib_1.__importDefault(require("jest-diff"));
13
- const minimatch_1 = tslib_1.__importDefault(require("minimatch"));
14
- const path = tslib_1.__importStar(require("path"));
15
- const r = tslib_1.__importStar(require("runtypes"));
16
- const Options = r
17
- .Partial({
18
- generator: r.Function,
19
- template: r.Record({}).Or(r.String),
20
- templateFile: r.String,
21
- excludedReferences: r.Array(r.String).Or(r.Undefined),
22
- })
23
- .withConstraint(({ generator, template, templateFile }) => {
24
- let count = 0;
25
- if (generator) {
26
- count++;
27
- }
28
- if (template) {
29
- count++;
30
- }
31
- if (templateFile) {
32
- count++;
33
- }
34
- return count === 1 || "Expect one of { generator, template, templateFile }";
35
- });
36
- exports.standardTsconfig = {
37
- check: function expectStandardTsconfig(context, opts) {
38
- const fullPath = path.resolve(context.packageDir, "tsconfig.json");
39
- const generator = getGenerator(context, opts);
40
- const expectedContent = generator(context);
41
- const actualContent = fs_1.existsSync(fullPath) ? fs_1.readFileSync(fullPath, "utf-8") : undefined;
42
- if (expectedContent === undefined) {
43
- context.addWarning({
44
- file: fullPath,
45
- message: "Excluding from expect-standard-tsconfig",
46
- });
47
- return;
48
- }
49
- if (actualContent !== expectedContent) {
50
- context.addError({
51
- file: fullPath,
52
- message: "Expect file contents to match",
53
- longMessage: jest_diff_1.default(expectedContent, actualContent, { expand: true }),
54
- fixer: () => {
55
- fs_1.writeFileSync(fullPath, expectedContent);
56
- },
57
- });
58
- }
59
- },
60
- optionsRuntype: Options,
61
- };
62
- function getGenerator(context, opts) {
63
- if (opts.generator) {
64
- return opts.generator;
65
- }
66
- else if (opts.templateFile) {
67
- const { packageDir: workspacePackageDir } = context.getWorkspaceContext();
68
- const fullPath = path.resolve(workspacePackageDir, opts.templateFile);
69
- const template = JSON.parse(fs_1.readFileSync(fullPath, "utf-8"));
70
- return makeGenerator(template, opts.excludedReferences);
71
- }
72
- else if (opts.template) {
73
- return makeGenerator(opts.template, opts.excludedReferences);
74
- }
75
- else {
76
- throw new Error("Unable to make generator");
77
- }
78
- }
79
- function makeGenerator(template, excludedReferences = []) {
80
- return function generator(context) {
81
- template = {
82
- ...template,
83
- references: [],
84
- }; // make a copy and ensure we have a references array
85
- const nameToDirectory = utils_1.getPackageNameToDir(context.getWorkspaceContext().packageDir);
86
- const packageJson = context.getPackageJson();
87
- const deps = [...Object.keys(packageJson.dependencies || {}), ...Object.keys(packageJson.devDependencies || {})];
88
- deps
89
- .filter(name => nameToDirectory.has(name) && !excludedReferences.some(excludedRef => minimatch_1.default(name, excludedRef)))
90
- .forEach(packageName => {
91
- template.references.push({
92
- path: path.relative(context.packageDir, nameToDirectory.get(packageName)),
93
- });
94
- });
95
- return JSON.stringify(template, undefined, 2) + "\n";
96
- };
97
- }
98
- //# sourceMappingURL=standardTsconfig.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"standardTsconfig.js","sourceRoot":"","sources":["../src/standardTsconfig.ts"],"names":[],"mappings":"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"}