@monorepolint/rules 0.5.0-alpha.12 → 0.5.0-alpha.125

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 (171) 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 +14 -0
  4. package/.turbo/turbo-test.log +666 -0
  5. package/.turbo/turbo-transpile-typescript.log +18 -0
  6. package/build/js/chunk-A2MUUSNE.js +26 -0
  7. package/build/js/chunk-A2MUUSNE.js.map +1 -0
  8. package/build/js/index.js +1402 -0
  9. package/build/js/index.js.map +1 -0
  10. package/build/js/public/util.js +7 -0
  11. package/build/js/public/util.js.map +1 -0
  12. package/build/tsconfig.tsbuildinfo +1 -0
  13. package/build/types/__tests__/alphabeticalScripts.spec.d.ts.map +1 -0
  14. package/build/types/__tests__/bannedDependencies.spec.d.ts +2 -0
  15. package/build/types/__tests__/bannedDependencies.spec.d.ts.map +1 -0
  16. package/build/types/__tests__/consistentDependencies.spec.d.ts.map +1 -0
  17. package/build/types/__tests__/consistentVersions.spec.d.ts +8 -0
  18. package/build/types/__tests__/consistentVersions.spec.d.ts.map +1 -0
  19. package/build/types/__tests__/fileContents.spec.d.ts +8 -0
  20. package/build/types/__tests__/fileContents.spec.d.ts.map +1 -0
  21. package/build/types/__tests__/mustSatisfyPeerDependencies.spec.d.ts +8 -0
  22. package/build/types/__tests__/mustSatisfyPeerDependencies.spec.d.ts.map +1 -0
  23. package/build/types/__tests__/nestedWorkspaces.spec.d.ts +2 -0
  24. package/build/types/__tests__/nestedWorkspaces.spec.d.ts.map +1 -0
  25. package/build/types/__tests__/packageEntry.spec.d.ts.map +1 -0
  26. package/build/types/__tests__/packageOrder.spec.d.ts.map +1 -0
  27. package/build/types/__tests__/packageScript.spec.d.ts.map +1 -0
  28. package/build/types/__tests__/requireDependency.spec.d.ts +2 -0
  29. package/build/types/__tests__/requireDependency.spec.d.ts.map +1 -0
  30. package/build/types/__tests__/utils.d.ts +81 -0
  31. package/build/types/__tests__/utils.d.ts.map +1 -0
  32. package/build/types/alphabeticalDependencies.d.ts +8 -0
  33. package/build/types/alphabeticalDependencies.d.ts.map +1 -0
  34. package/build/types/alphabeticalScripts.d.ts +8 -0
  35. package/build/types/alphabeticalScripts.d.ts.map +1 -0
  36. package/build/types/bannedDependencies.d.ts +66 -0
  37. package/build/types/bannedDependencies.d.ts.map +1 -0
  38. package/build/types/consistentDependencies.d.ts +18 -0
  39. package/build/types/consistentDependencies.d.ts.map +1 -0
  40. package/build/types/consistentVersions.d.ts +25 -0
  41. package/build/types/consistentVersions.d.ts.map +1 -0
  42. package/build/types/fileContents.d.ts +39 -0
  43. package/build/types/fileContents.d.ts.map +1 -0
  44. package/build/types/index.d.ts +20 -0
  45. package/build/types/index.d.ts.map +1 -0
  46. package/build/types/mustSatisfyPeerDependencies.d.ts +427 -0
  47. package/build/types/mustSatisfyPeerDependencies.d.ts.map +1 -0
  48. package/build/types/nestedWorkspaces.d.ts +10 -0
  49. package/build/types/nestedWorkspaces.d.ts.map +1 -0
  50. package/build/types/packageEntry.d.ts +62 -0
  51. package/build/types/packageEntry.d.ts.map +1 -0
  52. package/build/types/packageOrder.d.ts +12 -0
  53. package/build/types/packageOrder.d.ts.map +1 -0
  54. package/build/types/packageScript.d.ts +47 -0
  55. package/build/types/packageScript.d.ts.map +1 -0
  56. package/build/types/public/util.d.ts +2 -0
  57. package/build/types/public/util.d.ts.map +1 -0
  58. package/build/types/requireDependency.d.ts +50 -0
  59. package/build/types/requireDependency.d.ts.map +1 -0
  60. package/build/types/standardTsconfig.d.ts +29 -0
  61. package/build/types/standardTsconfig.d.ts.map +1 -0
  62. package/{lib → build/types}/util/checkAlpha.d.ts +2 -1
  63. package/build/types/util/checkAlpha.d.ts.map +1 -0
  64. package/build/types/util/makeDirectory.d.ts +8 -0
  65. package/build/types/util/makeDirectory.d.ts.map +1 -0
  66. package/build/types/util/makeRule.d.ts +12 -0
  67. package/build/types/util/makeRule.d.ts.map +1 -0
  68. package/build/types/util/packageDependencyGraphService.d.ts +37 -0
  69. package/build/types/util/packageDependencyGraphService.d.ts.map +1 -0
  70. package/package.json +45 -20
  71. package/src/__tests__/alphabeticalScripts.spec.ts +33 -31
  72. package/src/__tests__/bannedDependencies.spec.ts +189 -0
  73. package/src/__tests__/consistentDependencies.spec.ts +42 -26
  74. package/src/__tests__/consistentVersions.spec.ts +224 -0
  75. package/src/__tests__/fileContents.spec.ts +101 -0
  76. package/src/__tests__/mustSatisfyPeerDependencies.spec.ts +1189 -0
  77. package/src/__tests__/nestedWorkspaces.spec.ts +153 -0
  78. package/src/__tests__/packageEntry.spec.ts +127 -49
  79. package/src/__tests__/packageOrder.spec.ts +68 -53
  80. package/src/__tests__/packageScript.spec.ts +124 -98
  81. package/src/__tests__/requireDependency.spec.ts +152 -0
  82. package/src/__tests__/utils.ts +113 -13
  83. package/src/alphabeticalDependencies.ts +7 -9
  84. package/src/alphabeticalScripts.ts +7 -9
  85. package/src/bannedDependencies.ts +135 -46
  86. package/src/consistentDependencies.ts +41 -17
  87. package/src/consistentVersions.ts +141 -0
  88. package/src/fileContents.ts +44 -37
  89. package/src/index.ts +13 -9
  90. package/src/mustSatisfyPeerDependencies.ts +744 -0
  91. package/src/nestedWorkspaces.ts +60 -0
  92. package/src/packageEntry.ts +72 -28
  93. package/src/packageOrder.ts +17 -13
  94. package/src/packageScript.ts +15 -19
  95. package/src/public/util.ts +1 -0
  96. package/src/requireDependency.ts +71 -0
  97. package/src/standardTsconfig.ts +51 -27
  98. package/src/util/checkAlpha.ts +9 -6
  99. package/src/util/makeDirectory.ts +24 -0
  100. package/src/util/makeRule.ts +29 -0
  101. package/src/util/packageDependencyGraphService.ts +114 -0
  102. package/tsconfig.json +10 -2
  103. package/lib/__tests__/alphabeticalScripts.spec.d.ts.map +0 -1
  104. package/lib/__tests__/alphabeticalScripts.spec.js +0 -61
  105. package/lib/__tests__/alphabeticalScripts.spec.js.map +0 -1
  106. package/lib/__tests__/consistentDependencies.spec.d.ts.map +0 -1
  107. package/lib/__tests__/consistentDependencies.spec.js +0 -107
  108. package/lib/__tests__/consistentDependencies.spec.js.map +0 -1
  109. package/lib/__tests__/packageEntry.spec.d.ts.map +0 -1
  110. package/lib/__tests__/packageEntry.spec.js +0 -99
  111. package/lib/__tests__/packageEntry.spec.js.map +0 -1
  112. package/lib/__tests__/packageOrder.spec.d.ts.map +0 -1
  113. package/lib/__tests__/packageOrder.spec.js +0 -115
  114. package/lib/__tests__/packageOrder.spec.js.map +0 -1
  115. package/lib/__tests__/packageScript.spec.d.ts.map +0 -1
  116. package/lib/__tests__/packageScript.spec.js +0 -172
  117. package/lib/__tests__/packageScript.spec.js.map +0 -1
  118. package/lib/__tests__/utils.d.ts +0 -9
  119. package/lib/__tests__/utils.d.ts.map +0 -1
  120. package/lib/__tests__/utils.js +0 -27
  121. package/lib/__tests__/utils.js.map +0 -1
  122. package/lib/alphabeticalDependencies.d.ts +0 -12
  123. package/lib/alphabeticalDependencies.d.ts.map +0 -1
  124. package/lib/alphabeticalDependencies.js +0 -21
  125. package/lib/alphabeticalDependencies.js.map +0 -1
  126. package/lib/alphabeticalScripts.d.ts +0 -12
  127. package/lib/alphabeticalScripts.d.ts.map +0 -1
  128. package/lib/alphabeticalScripts.js +0 -19
  129. package/lib/alphabeticalScripts.js.map +0 -1
  130. package/lib/bannedDependencies.d.ts +0 -15
  131. package/lib/bannedDependencies.d.ts.map +0 -1
  132. package/lib/bannedDependencies.js +0 -57
  133. package/lib/bannedDependencies.js.map +0 -1
  134. package/lib/consistentDependencies.d.ts +0 -10
  135. package/lib/consistentDependencies.d.ts.map +0 -1
  136. package/lib/consistentDependencies.js +0 -57
  137. package/lib/consistentDependencies.js.map +0 -1
  138. package/lib/fileContents.d.ts +0 -25
  139. package/lib/fileContents.d.ts.map +0 -1
  140. package/lib/fileContents.js +0 -77
  141. package/lib/fileContents.js.map +0 -1
  142. package/lib/index.d.ts +0 -16
  143. package/lib/index.d.ts.map +0 -1
  144. package/lib/index.js +0 -27
  145. package/lib/index.js.map +0 -1
  146. package/lib/packageEntry.d.ts +0 -16
  147. package/lib/packageEntry.d.ts.map +0 -1
  148. package/lib/packageEntry.js +0 -40
  149. package/lib/packageEntry.js.map +0 -1
  150. package/lib/packageOrder.d.ts +0 -12
  151. package/lib/packageOrder.d.ts.map +0 -1
  152. package/lib/packageOrder.js +0 -103
  153. package/lib/packageOrder.js.map +0 -1
  154. package/lib/packageScript.d.ts +0 -25
  155. package/lib/packageScript.d.ts.map +0 -1
  156. package/lib/packageScript.js +0 -89
  157. package/lib/packageScript.js.map +0 -1
  158. package/lib/standardTsconfig.d.ts +0 -33
  159. package/lib/standardTsconfig.d.ts.map +0 -1
  160. package/lib/standardTsconfig.js +0 -98
  161. package/lib/standardTsconfig.js.map +0 -1
  162. package/lib/util/checkAlpha.d.ts.map +0 -1
  163. package/lib/util/checkAlpha.js +0 -47
  164. package/lib/util/checkAlpha.js.map +0 -1
  165. package/tsconfig.tsbuildinfo +0 -2484
  166. /package/{lib → build/types}/__tests__/alphabeticalScripts.spec.d.ts +0 -0
  167. /package/{lib → build/types}/__tests__/consistentDependencies.spec.d.ts +0 -0
  168. /package/{lib → build/types}/__tests__/packageEntry.spec.d.ts +0 -0
  169. /package/{lib → build/types}/__tests__/packageOrder.spec.d.ts +0 -0
  170. /package/{lib → build/types}/__tests__/packageScript.spec.d.ts +0 -0
  171. /package/{jest.config.js → jest.config.cjs} +0 -0
@@ -1,16 +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
- entries: r.StringDictionary<r.Unknown>;
11
- }, false>;
12
- export declare type Options = r.Static<typeof Options>;
13
- export declare const packageEntry: RuleModule<r.Record<{
14
- entries: r.StringDictionary<r.Unknown>;
15
- }, false>>;
16
- //# sourceMappingURL=packageEntry.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"packageEntry.d.ts","sourceRoot":"","sources":["../src/packageEntry.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,YAAY;;UA2BM,CAAC"}
@@ -1,40 +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
- entries: r.Dictionary(r.Unknown),
15
- });
16
- exports.packageEntry = {
17
- check: function expectPackageEntry(context, options) {
18
- const packageJson = context.getPackageJson();
19
- for (const key of Object.keys(options.entries)) {
20
- const value = options.entries[key];
21
- const entryDiff = jest_diff_1.default(JSON.stringify(value) + "\n", (JSON.stringify(packageJson[key]) || "") + "\n");
22
- if ((typeof value !== "object" && value !== packageJson[key]) ||
23
- (entryDiff == null || !entryDiff.includes("Compared values have no visual difference"))) {
24
- context.addError({
25
- file: context.getPackageJsonPath(),
26
- message: `Expected standardized entry for '${key}'`,
27
- longMessage: entryDiff,
28
- fixer: () => {
29
- utils_1.mutateJson(context.getPackageJsonPath(), input => {
30
- input[key] = value;
31
- return input;
32
- });
33
- },
34
- });
35
- }
36
- }
37
- },
38
- optionsRuntype: exports.Options,
39
- };
40
- //# sourceMappingURL=packageEntry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"packageEntry.js","sourceRoot":"","sources":["../src/packageEntry.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAGH,+CAA8D;AAC9D,kEAA6B;AAC7B,oDAA8B;AAEjB,QAAA,OAAO,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9B,OAAO,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC;CACjC,CAAC,CAAC;AAIU,QAAA,YAAY,GAAG;IAC1B,KAAK,EAAE,SAAS,kBAAkB,CAAC,OAAgB,EAAE,OAAgB;QACnE,MAAM,WAAW,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;QAE7C,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;YAC9C,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAEnC,MAAM,SAAS,GAAG,mBAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,IAAI,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;YACtG,IACE,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,WAAW,CAAC,GAAG,CAAC,CAAC;gBACzD,CAAC,SAAS,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,2CAA2C,CAAC,CAAC,EACvF;gBACA,OAAO,CAAC,QAAQ,CAAC;oBACf,IAAI,EAAE,OAAO,CAAC,kBAAkB,EAAE;oBAClC,OAAO,EAAE,oCAAoC,GAAG,GAAG;oBACnD,WAAW,EAAE,SAAS;oBACtB,KAAK,EAAE,GAAG,EAAE;wBACV,kBAAU,CAAc,OAAO,CAAC,kBAAkB,EAAE,EAAE,KAAK,CAAC,EAAE;4BAC5D,KAAK,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;4BACnB,OAAO,KAAK,CAAC;wBACf,CAAC,CAAC,CAAC;oBACL,CAAC;iBACF,CAAC,CAAC;aACJ;SACF;IACH,CAAC;IACD,cAAc,EAAE,eAAO;CACM,CAAC"}
@@ -1,12 +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 packageOrder: RuleModule<r.Union2<r.Record<{
10
- order: r.Union2<r.Array<r.String, false>, r.Function>;
11
- }, false>, r.Literal<undefined>>>;
12
- //# sourceMappingURL=packageOrder.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"packageOrder.d.ts","sourceRoot":"","sources":["../src/packageOrder.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAW,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAGzD,OAAO,KAAK,CAAC,MAAM,UAAU,CAAC;AAyC9B,eAAO,MAAM,YAAY;;iCA8BM,CAAC"}
@@ -1,103 +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
- const Options = r
14
- .Record({
15
- order: r.Union(r.Array(r.String), r.Function),
16
- })
17
- .Or(r.Undefined);
18
- const defaultKeyOrder = [
19
- "name",
20
- "version",
21
- "description",
22
- "author",
23
- "contributors",
24
- "url",
25
- "license",
26
- "private",
27
- "engines",
28
- "bin",
29
- "main",
30
- "module",
31
- "typings",
32
- "style",
33
- "sideEffects",
34
- "workspaces",
35
- "husky",
36
- "lint-staged",
37
- "files",
38
- "scripts",
39
- "resolutions",
40
- "dependencies",
41
- "peerDependencies",
42
- "devDependencies",
43
- "optionalDependencies",
44
- "publishConfig",
45
- ];
46
- exports.packageOrder = {
47
- check: function expectPackageOrder(context, opts) {
48
- const packageJson = context.getPackageJson();
49
- const packagePath = context.getPackageJsonPath();
50
- const order = opts === undefined ? defaultKeyOrder : opts.order;
51
- const compartor = isOrderFunction(order) ? order(context) : createCompartor(order);
52
- const actualOrder = Object.keys(packageJson);
53
- const expectedOrder = actualOrder.slice().sort(compartor); // sort mutates, so we need to copy the previous result
54
- if (!arrayOrderCompare(actualOrder, expectedOrder)) {
55
- context.addError({
56
- file: packagePath,
57
- message: "Incorrect order of fields in package.json",
58
- longMessage: jest_diff_1.default(expectedOrder, actualOrder, { expand: true }),
59
- fixer: () => {
60
- const expectedPackageJson = {};
61
- expectedOrder.forEach(key => {
62
- expectedPackageJson[key] = packageJson[key];
63
- });
64
- utils_1.writeJson(packagePath, expectedPackageJson);
65
- },
66
- });
67
- }
68
- },
69
- optionsRuntype: Options,
70
- };
71
- function arrayOrderCompare(a, b) {
72
- for (let index = 0; index < a.length; index++) {
73
- if (a[index] !== b[index]) {
74
- return false;
75
- }
76
- }
77
- return true;
78
- }
79
- function createCompartor(order) {
80
- return (a, b) => {
81
- const aIndex = order.indexOf(a);
82
- const bIndex = order.indexOf(b);
83
- // if one of the two is missing from the order array, push it further down
84
- if (aIndex >= 0 && bIndex < 0) {
85
- return -1;
86
- }
87
- else if (aIndex < 0 && bIndex >= 0) {
88
- return 1;
89
- }
90
- // otherwise compare the indexes and use alphabetical as a tie breaker
91
- const compared = aIndex - bIndex;
92
- if (compared !== 0) {
93
- return compared;
94
- }
95
- else {
96
- return a.localeCompare(b);
97
- }
98
- };
99
- }
100
- function isOrderFunction(order) {
101
- return !Array.isArray(order);
102
- }
103
- //# sourceMappingURL=packageOrder.js.map
@@ -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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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"checkAlpha.d.ts","sourceRoot":"","sources":["../../src/util/checkAlpha.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAI7C,wBAAgB,UAAU,CACxB,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,cAAc,GAAG,iBAAiB,GAAG,kBAAkB,GAAG,SAAS,QAgC3E"}
@@ -1,47 +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
- function checkAlpha(context, block) {
13
- const packageJson = context.getPackageJson();
14
- const packagePath = context.getPackageJsonPath();
15
- const blockToSort = packageJson[block];
16
- if (blockToSort === undefined) {
17
- return;
18
- }
19
- const actualOrder = Object.keys(blockToSort);
20
- const expectedOrder = actualOrder.slice().sort(); // sort mutates, so we need to copy the previous result
21
- if (!arrayOrderCompare(actualOrder, expectedOrder)) {
22
- context.addError({
23
- file: packagePath,
24
- message: `Incorrect order of ${block} in package.json`,
25
- longMessage: jest_diff_1.default(expectedOrder, actualOrder, { expand: true }),
26
- fixer: () => {
27
- const expectedDependencies = {};
28
- expectedOrder.forEach(dep => {
29
- expectedDependencies[dep] = blockToSort[dep];
30
- });
31
- const newPackageJson = { ...packageJson };
32
- newPackageJson[block] = expectedDependencies;
33
- utils_1.writeJson(packagePath, newPackageJson);
34
- },
35
- });
36
- }
37
- }
38
- exports.checkAlpha = checkAlpha;
39
- function arrayOrderCompare(a, b) {
40
- for (let index = 0; index < a.length; index++) {
41
- if (a[index] !== b[index]) {
42
- return false;
43
- }
44
- }
45
- return true;
46
- }
47
- //# sourceMappingURL=checkAlpha.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"checkAlpha.js","sourceRoot":"","sources":["../../src/util/checkAlpha.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAGH,+CAAgD;AAChD,kEAA6B;AAE7B,SAAgB,UAAU,CACxB,OAAgB,EAChB,KAA0E;IAE1E,MAAM,WAAW,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAC7C,MAAM,WAAW,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC;IAEjD,MAAM,WAAW,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;IAEvC,IAAI,WAAW,KAAK,SAAS,EAAE;QAC7B,OAAO;KACR;IAED,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC7C,MAAM,aAAa,GAAG,WAAW,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,uDAAuD;IAEzG,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE,aAAa,CAAC,EAAE;QAClD,OAAO,CAAC,QAAQ,CAAC;YACf,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,sBAAsB,KAAK,kBAAkB;YACtD,WAAW,EAAE,mBAAI,CAAC,aAAa,EAAE,WAAW,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;YAC/D,KAAK,EAAE,GAAG,EAAE;gBACV,MAAM,oBAAoB,GAA2B,EAAE,CAAC;gBAExD,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;oBAC1B,oBAAoB,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;gBAC/C,CAAC,CAAC,CAAC;gBAEH,MAAM,cAAc,GAAG,EAAE,GAAG,WAAW,EAAE,CAAC;gBAC1C,cAAc,CAAC,KAAK,CAAC,GAAG,oBAAoB,CAAC;gBAC7C,iBAAS,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;YACzC,CAAC;SACF,CAAC,CAAC;KACJ;AACH,CAAC;AAlCD,gCAkCC;AAED,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"}