@monorepolint/rules 0.5.0-alpha.1 → 0.5.0-alpha.103

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 (149) 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 +107 -0
  4. package/.turbo/turbo-test.log +631 -0
  5. package/.turbo/turbo-transpile-typescript.log +18 -0
  6. package/build/js/index.cjs +1491 -0
  7. package/build/js/index.cjs.map +1 -0
  8. package/build/js/index.js +1433 -0
  9. package/build/js/index.js.map +1 -0
  10. package/build/tsconfig.tsbuildinfo +1 -0
  11. package/{lib/__tests__/utils.d.ts → build/types/__tests__/alphabeticalScripts.spec.d.ts} +2 -2
  12. package/build/types/__tests__/alphabeticalScripts.spec.d.ts.map +1 -0
  13. package/build/types/__tests__/bannedDependencies.spec.d.ts +2 -0
  14. package/build/types/__tests__/bannedDependencies.spec.d.ts.map +1 -0
  15. package/build/types/__tests__/consistentDependencies.spec.d.ts +2 -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 +8 -0
  26. package/build/types/__tests__/packageEntry.spec.d.ts.map +1 -0
  27. package/{lib → build/types}/__tests__/packageOrder.spec.d.ts +0 -0
  28. package/build/types/__tests__/packageOrder.spec.d.ts.map +1 -0
  29. package/{lib → build/types}/__tests__/packageScript.spec.d.ts +0 -0
  30. package/build/types/__tests__/packageScript.spec.d.ts.map +1 -0
  31. package/build/types/__tests__/requireDependency.spec.d.ts +2 -0
  32. package/build/types/__tests__/requireDependency.spec.d.ts.map +1 -0
  33. package/build/types/__tests__/utils.d.ts +81 -0
  34. package/build/types/__tests__/utils.d.ts.map +1 -0
  35. package/build/types/alphabeticalDependencies.d.ts +23 -0
  36. package/build/types/alphabeticalDependencies.d.ts.map +1 -0
  37. package/build/types/alphabeticalScripts.d.ts +23 -0
  38. package/build/types/alphabeticalScripts.d.ts.map +1 -0
  39. package/build/types/bannedDependencies.d.ts +134 -0
  40. package/build/types/bannedDependencies.d.ts.map +1 -0
  41. package/build/types/consistentDependencies.d.ts +38 -0
  42. package/build/types/consistentDependencies.d.ts.map +1 -0
  43. package/build/types/consistentVersions.d.ts +47 -0
  44. package/build/types/consistentVersions.d.ts.map +1 -0
  45. package/build/types/fileContents.d.ts +111 -0
  46. package/build/types/fileContents.d.ts.map +1 -0
  47. package/build/types/index.d.ts +20 -0
  48. package/build/types/index.d.ts.map +1 -0
  49. package/build/types/mustSatisfyPeerDependencies.d.ts +721 -0
  50. package/build/types/mustSatisfyPeerDependencies.d.ts.map +1 -0
  51. package/build/types/nestedWorkspaces.d.ts +24 -0
  52. package/build/types/nestedWorkspaces.d.ts.map +1 -0
  53. package/build/types/packageEntry.d.ts +115 -0
  54. package/build/types/packageEntry.d.ts.map +1 -0
  55. package/build/types/packageOrder.d.ts +33 -0
  56. package/build/types/packageOrder.d.ts.map +1 -0
  57. package/build/types/packageScript.d.ts +89 -0
  58. package/build/types/packageScript.d.ts.map +1 -0
  59. package/build/types/requireDependency.d.ts +99 -0
  60. package/build/types/requireDependency.d.ts.map +1 -0
  61. package/build/types/standardTsconfig.d.ts +113 -0
  62. package/build/types/standardTsconfig.d.ts.map +1 -0
  63. package/build/types/util/checkAlpha.d.ts +10 -0
  64. package/build/types/util/checkAlpha.d.ts.map +1 -0
  65. package/build/types/util/createNewRuleConversion.d.ts +30 -0
  66. package/build/types/util/createNewRuleConversion.d.ts.map +1 -0
  67. package/build/types/util/makeDirectory.d.ts +8 -0
  68. package/build/types/util/makeDirectory.d.ts.map +1 -0
  69. package/build/types/util/packageDependencyGraphService.d.ts +37 -0
  70. package/build/types/util/packageDependencyGraphService.d.ts.map +1 -0
  71. package/{jest.config.js → jest.config.cjs} +0 -0
  72. package/package.json +39 -18
  73. package/src/__tests__/alphabeticalScripts.spec.ts +76 -0
  74. package/src/__tests__/bannedDependencies.spec.ts +191 -0
  75. package/src/__tests__/consistentDependencies.spec.ts +142 -0
  76. package/src/__tests__/consistentVersions.spec.ts +224 -0
  77. package/src/__tests__/fileContents.spec.ts +75 -0
  78. package/src/__tests__/mustSatisfyPeerDependencies.spec.ts +1189 -0
  79. package/src/__tests__/nestedWorkspaces.spec.ts +153 -0
  80. package/src/__tests__/packageEntry.spec.ts +201 -0
  81. package/src/__tests__/packageOrder.spec.ts +48 -40
  82. package/src/__tests__/packageScript.spec.ts +149 -65
  83. package/src/__tests__/requireDependency.spec.ts +152 -0
  84. package/src/__tests__/utils.ts +115 -11
  85. package/src/alphabeticalDependencies.ts +6 -48
  86. package/src/alphabeticalScripts.ts +21 -0
  87. package/src/bannedDependencies.ts +135 -44
  88. package/src/consistentDependencies.ts +38 -14
  89. package/src/consistentVersions.ts +142 -0
  90. package/src/fileContents.ts +35 -30
  91. package/src/index.ts +13 -8
  92. package/src/mustSatisfyPeerDependencies.ts +748 -0
  93. package/src/nestedWorkspaces.ts +61 -0
  94. package/src/packageEntry.ts +72 -23
  95. package/src/packageOrder.ts +15 -10
  96. package/src/packageScript.ts +60 -13
  97. package/src/requireDependency.ts +71 -0
  98. package/src/standardTsconfig.ts +50 -21
  99. package/src/util/checkAlpha.ts +59 -0
  100. package/src/util/createNewRuleConversion.ts +38 -0
  101. package/src/util/makeDirectory.ts +24 -0
  102. package/src/util/packageDependencyGraphService.ts +114 -0
  103. package/tsconfig.json +10 -2
  104. package/lib/__tests__/packageOrder.spec.d.ts.map +0 -1
  105. package/lib/__tests__/packageOrder.spec.js +0 -114
  106. package/lib/__tests__/packageOrder.spec.js.map +0 -1
  107. package/lib/__tests__/packageScript.spec.d.ts.map +0 -1
  108. package/lib/__tests__/packageScript.spec.js +0 -108
  109. package/lib/__tests__/packageScript.spec.js.map +0 -1
  110. package/lib/__tests__/utils.d.ts.map +0 -1
  111. package/lib/__tests__/utils.js +0 -23
  112. package/lib/__tests__/utils.js.map +0 -1
  113. package/lib/alphabeticalDependencies.d.ts +0 -10
  114. package/lib/alphabeticalDependencies.d.ts.map +0 -1
  115. package/lib/alphabeticalDependencies.js +0 -56
  116. package/lib/alphabeticalDependencies.js.map +0 -1
  117. package/lib/bannedDependencies.d.ts +0 -15
  118. package/lib/bannedDependencies.d.ts.map +0 -1
  119. package/lib/bannedDependencies.js +0 -57
  120. package/lib/bannedDependencies.js.map +0 -1
  121. package/lib/consistentDependencies.d.ts +0 -10
  122. package/lib/consistentDependencies.d.ts.map +0 -1
  123. package/lib/consistentDependencies.js +0 -57
  124. package/lib/consistentDependencies.js.map +0 -1
  125. package/lib/fileContents.d.ts +0 -25
  126. package/lib/fileContents.d.ts.map +0 -1
  127. package/lib/fileContents.js +0 -77
  128. package/lib/fileContents.js.map +0 -1
  129. package/lib/index.d.ts +0 -15
  130. package/lib/index.d.ts.map +0 -1
  131. package/lib/index.js +0 -25
  132. package/lib/index.js.map +0 -1
  133. package/lib/packageEntry.d.ts +0 -16
  134. package/lib/packageEntry.d.ts.map +0 -1
  135. package/lib/packageEntry.js +0 -38
  136. package/lib/packageEntry.js.map +0 -1
  137. package/lib/packageOrder.d.ts +0 -12
  138. package/lib/packageOrder.d.ts.map +0 -1
  139. package/lib/packageOrder.js +0 -102
  140. package/lib/packageOrder.js.map +0 -1
  141. package/lib/packageScript.d.ts +0 -17
  142. package/lib/packageScript.d.ts.map +0 -1
  143. package/lib/packageScript.js +0 -51
  144. package/lib/packageScript.js.map +0 -1
  145. package/lib/standardTsconfig.d.ts +0 -29
  146. package/lib/standardTsconfig.d.ts.map +0 -1
  147. package/lib/standardTsconfig.js +0 -96
  148. package/lib/standardTsconfig.js.map +0 -1
  149. package/tsconfig.tsbuildinfo +0 -2181
@@ -1,57 +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.Undefined;
14
- exports.consistentDependencies = {
15
- check: function expectConsistentDependencies(context) {
16
- checkDeps(context, "dependencies");
17
- checkDeps(context, "devDependencies");
18
- // we don't check peer deps since they can be more lenient
19
- },
20
- optionsRuntype: Options,
21
- };
22
- function checkDeps(context, block) {
23
- const packageJson = context.getPackageJson();
24
- const packagePath = context.getPackageJsonPath();
25
- const dependencies = packageJson[block];
26
- const workspacePackageJson = context.getWorkspaceContext().getPackageJson();
27
- const workspaceDependencies = workspacePackageJson[block];
28
- if (dependencies === undefined || workspaceDependencies === undefined) {
29
- return;
30
- }
31
- const expectedDependencies = {
32
- ...dependencies,
33
- ...filterKeys(workspaceDependencies, dependencies),
34
- };
35
- if (JSON.stringify(dependencies) !== JSON.stringify(expectedDependencies)) {
36
- context.addError({
37
- file: packagePath,
38
- message: `Inconsitent ${block} with root in package.json`,
39
- longMessage: jest_diff_1.default(expectedDependencies, dependencies, { expand: true }),
40
- fixer: () => {
41
- const newPackageJson = { ...packageJson };
42
- newPackageJson[block] = expectedDependencies;
43
- utils_1.writeJson(packagePath, newPackageJson);
44
- },
45
- });
46
- }
47
- }
48
- function filterKeys(ob, filterOb) {
49
- const newOb = {};
50
- for (const key of Object.keys(filterOb)) {
51
- if (ob[key] !== undefined) {
52
- newOb[key] = ob[key];
53
- }
54
- }
55
- return newOb;
56
- }
57
- //# sourceMappingURL=consistentDependencies.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"consistentDependencies.js","sourceRoot":"","sources":["../src/consistentDependencies.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAGH,+CAAgD;AAChD,kEAA6B;AAC7B,oDAA8B;AAE9B,MAAM,OAAO,GAAG,CAAC,CAAC,SAAS,CAAC;AAGf,QAAA,sBAAsB,GAAG;IACpC,KAAK,EAAE,SAAS,4BAA4B,CAAC,OAAgB;QAC3D,SAAS,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;QACnC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;QACtC,0DAA0D;IAC5D,CAAC;IACD,cAAc,EAAE,OAAO;CACM,CAAC;AAEhC,SAAS,SAAS,CAAC,OAAgB,EAAE,KAA8D;IACjG,MAAM,WAAW,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAC7C,MAAM,WAAW,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC;IACjD,MAAM,YAAY,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;IAExC,MAAM,oBAAoB,GAAG,OAAO,CAAC,mBAAmB,EAAE,CAAC,cAAc,EAAE,CAAC;IAC5E,MAAM,qBAAqB,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC;IAE1D,IAAI,YAAY,KAAK,SAAS,IAAI,qBAAqB,KAAK,SAAS,EAAE;QACrE,OAAO;KACR;IAED,MAAM,oBAAoB,GAAG;QAC3B,GAAG,YAAY;QACf,GAAG,UAAU,CAAC,qBAAqB,EAAE,YAAY,CAAC;KACnD,CAAC;IAEF,IAAI,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,oBAAoB,CAAC,EAAE;QACzE,OAAO,CAAC,QAAQ,CAAC;YACf,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,eAAe,KAAK,4BAA4B;YACzD,WAAW,EAAE,mBAAI,CAAC,oBAAoB,EAAE,YAAY,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;YACvE,KAAK,EAAE,GAAG,EAAE;gBACV,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;AAED,SAAS,UAAU,CAAC,EAA0B,EAAE,QAAgC;IAC9E,MAAM,KAAK,GAAwB,EAAE,CAAC;IAEtC,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;QACvC,IAAI,EAAE,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE;YACzB,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;SACtB;KACF;IAED,OAAO,KAAK,CAAC;AACf,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 fileContents: RuleModule<r.Union3<r.Record<{
10
- file: r.String;
11
- generator: r.Function;
12
- template: r.Literal<undefined>;
13
- templateFile: r.Literal<undefined>;
14
- }, false>, r.Record<{
15
- file: r.String;
16
- generator: r.Literal<undefined>;
17
- template: r.String;
18
- templateFile: r.Literal<undefined>;
19
- }, false>, r.Record<{
20
- file: r.String;
21
- generator: r.Literal<undefined>;
22
- template: r.Literal<undefined>;
23
- templateFile: r.String;
24
- }, false>>>;
25
- //# sourceMappingURL=fileContents.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"fileContents.d.ts","sourceRoot":"","sources":["../src/fileContents.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAIhD,OAAO,KAAK,CAAC,MAAM,UAAU,CAAC;AA2B9B,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;WAwBM,CAAC"}
@@ -1,77 +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 fs = tslib_1.__importStar(require("fs"));
11
- const jest_diff_1 = tslib_1.__importDefault(require("jest-diff"));
12
- const path = tslib_1.__importStar(require("path"));
13
- const r = tslib_1.__importStar(require("runtypes"));
14
- const Options = r.Union(r.Record({
15
- file: r.String,
16
- generator: r.Function,
17
- template: r.Undefined,
18
- templateFile: r.Undefined,
19
- }), r.Record({
20
- file: r.String,
21
- generator: r.Undefined,
22
- template: r.String,
23
- templateFile: r.Undefined,
24
- }), r.Record({
25
- file: r.String,
26
- generator: r.Undefined,
27
- template: r.Undefined,
28
- templateFile: r.String,
29
- }));
30
- exports.fileContents = {
31
- check: function expectFileContents(context, opts) {
32
- const fullPath = path.join(context.packageDir, opts.file);
33
- const generator = getGenerator(context, opts);
34
- const expectedContent = generator(context);
35
- const actualContent = fs.existsSync(fullPath) ? fs.readFileSync(fullPath, "utf-8") : undefined;
36
- if (actualContent !== expectedContent) {
37
- context.addError({
38
- file: fullPath,
39
- message: "Expect file contents to match",
40
- longMessage: jest_diff_1.default(expectedContent, actualContent, { expand: true }),
41
- fixer: () => {
42
- if (expectedContent === undefined) {
43
- fs.unlinkSync(fullPath);
44
- }
45
- else {
46
- fs.writeFileSync(fullPath, expectedContent);
47
- }
48
- },
49
- });
50
- }
51
- },
52
- optionsRuntype: Options,
53
- };
54
- function getGenerator(context, opts) {
55
- if (opts.generator) {
56
- return opts.generator;
57
- }
58
- else if (opts.templateFile) {
59
- const { packageDir: workspacePackageDir } = context.getWorkspaceContext();
60
- const fullPath = path.resolve(workspacePackageDir, opts.templateFile);
61
- const template = fs.readFileSync(fullPath, "utf-8");
62
- return makeGenerator(template);
63
- }
64
- else if (opts.template) {
65
- return makeGenerator(opts.template);
66
- }
67
- else {
68
- throw new Error("Unable to make generator");
69
- }
70
- }
71
- function makeGenerator(template) {
72
- // tslint:disable-next-line:variable-name
73
- return function generator(_context) {
74
- return template;
75
- };
76
- }
77
- //# sourceMappingURL=fileContents.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"fileContents.js","sourceRoot":"","sources":["../src/fileContents.ts"],"names":[],"mappings":"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"}
package/lib/index.d.ts DELETED
@@ -1,15 +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
- export { alphabeticalDependencies } from "./alphabeticalDependencies";
8
- export { bannedDependencies } from "./bannedDependencies";
9
- export { consistentDependencies } from "./consistentDependencies";
10
- export { fileContents } from "./fileContents";
11
- export { packageOrder } from "./packageOrder";
12
- export { packageEntry } from "./packageEntry";
13
- export { packageScript } from "./packageScript";
14
- export { standardTsconfig } from "./standardTsconfig";
15
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC"}
package/lib/index.js DELETED
@@ -1,25 +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
- var alphabeticalDependencies_1 = require("./alphabeticalDependencies");
10
- exports.alphabeticalDependencies = alphabeticalDependencies_1.alphabeticalDependencies;
11
- var bannedDependencies_1 = require("./bannedDependencies");
12
- exports.bannedDependencies = bannedDependencies_1.bannedDependencies;
13
- var consistentDependencies_1 = require("./consistentDependencies");
14
- exports.consistentDependencies = consistentDependencies_1.consistentDependencies;
15
- var fileContents_1 = require("./fileContents");
16
- exports.fileContents = fileContents_1.fileContents;
17
- var packageOrder_1 = require("./packageOrder");
18
- exports.packageOrder = packageOrder_1.packageOrder;
19
- var packageEntry_1 = require("./packageEntry");
20
- exports.packageEntry = packageEntry_1.packageEntry;
21
- var packageScript_1 = require("./packageScript");
22
- exports.packageScript = packageScript_1.packageScript;
23
- var standardTsconfig_1 = require("./standardTsconfig");
24
- exports.standardTsconfig = standardTsconfig_1.standardTsconfig;
25
- //# sourceMappingURL=index.js.map
package/lib/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AAEH,uEAAsE;AAA7D,8DAAA,wBAAwB,CAAA;AACjC,2DAA0D;AAAjD,kDAAA,kBAAkB,CAAA;AAC3B,mEAAkE;AAAzD,0DAAA,sBAAsB,CAAA;AAC/B,+CAA8C;AAArC,sCAAA,YAAY,CAAA;AACrB,+CAA8C;AAArC,sCAAA,YAAY,CAAA;AACrB,+CAA8C;AAArC,sCAAA,YAAY,CAAA;AACrB,iDAAgD;AAAvC,wCAAA,aAAa,CAAA;AACtB,uDAAsD;AAA7C,8CAAA,gBAAgB,CAAA"}
@@ -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;;UAuBM,CAAC"}
@@ -1,38 +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
- if (packageJson[key] !== value) {
22
- context.addError({
23
- file: context.getPackageJsonPath(),
24
- message: `Expected standardized entry for '${key}'`,
25
- longMessage: jest_diff_1.default(value + "\n", (packageJson[key] || "") + "\n"),
26
- fixer: () => {
27
- utils_1.mutateJson(context.getPackageJsonPath(), input => {
28
- input[key] = value;
29
- return input;
30
- });
31
- },
32
- });
33
- }
34
- }
35
- },
36
- optionsRuntype: exports.Options,
37
- };
38
- //# 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,IAAI,WAAW,CAAC,GAAG,CAAC,KAAK,KAAK,EAAE;gBAC9B,OAAO,CAAC,QAAQ,CAAC;oBACf,IAAI,EAAE,OAAO,CAAC,kBAAkB,EAAE;oBAClC,OAAO,EAAE,oCAAoC,GAAG,GAAG;oBACnD,WAAW,EAAE,mBAAI,CAAC,KAAK,GAAG,IAAI,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;oBAChE,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;AAwC9B,eAAO,MAAM,YAAY;;iCA8BM,CAAC"}
@@ -1,102 +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
- "author",
22
- "contributors",
23
- "url",
24
- "license",
25
- "private",
26
- "engines",
27
- "bin",
28
- "main",
29
- "module",
30
- "typings",
31
- "style",
32
- "sideEffects",
33
- "workspaces",
34
- "husky",
35
- "lint-staged",
36
- "files",
37
- "scripts",
38
- "resolutions",
39
- "dependencies",
40
- "peerDependencies",
41
- "devDependencies",
42
- "optionalDependencies",
43
- "publishConfig",
44
- ];
45
- exports.packageOrder = {
46
- check: function expectPackageOrder(context, opts) {
47
- const packageJson = context.getPackageJson();
48
- const packagePath = context.getPackageJsonPath();
49
- const order = opts === undefined ? defaultKeyOrder : opts.order;
50
- const compartor = isOrderFunction(order) ? order(context) : createCompartor(order);
51
- const actualOrder = Object.keys(packageJson);
52
- const expectedOrder = actualOrder.slice().sort(compartor); // sort mutates, so we need to copy the previous result
53
- if (!arrayOrderCompare(actualOrder, expectedOrder)) {
54
- context.addError({
55
- file: packagePath,
56
- message: "Incorrect order of fields in package.json",
57
- longMessage: jest_diff_1.default(expectedOrder, actualOrder, { expand: true }),
58
- fixer: () => {
59
- const expectedPackageJson = {};
60
- expectedOrder.forEach(key => {
61
- expectedPackageJson[key] = packageJson[key];
62
- });
63
- utils_1.writeJson(packagePath, expectedPackageJson);
64
- },
65
- });
66
- }
67
- },
68
- optionsRuntype: Options,
69
- };
70
- function arrayOrderCompare(a, b) {
71
- for (let index = 0; index < a.length; index++) {
72
- if (a[index] !== b[index]) {
73
- return false;
74
- }
75
- }
76
- return true;
77
- }
78
- function createCompartor(order) {
79
- return (a, b) => {
80
- const aIndex = order.indexOf(a);
81
- const bIndex = order.indexOf(b);
82
- // if one of the two is missing from the order array, push it further down
83
- if (aIndex >= 0 && bIndex < 0) {
84
- return -1;
85
- }
86
- else if (aIndex < 0 && bIndex >= 0) {
87
- return 1;
88
- }
89
- // otherwise compare the indexes and use alphabetical as a tie breaker
90
- const compared = aIndex - bIndex;
91
- if (compared !== 0) {
92
- return compared;
93
- }
94
- else {
95
- return a.localeCompare(b);
96
- }
97
- };
98
- }
99
- function isOrderFunction(order) {
100
- return !Array.isArray(order);
101
- }
102
- //# sourceMappingURL=packageOrder.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"packageOrder.js","sourceRoot":"","sources":["../src/packageOrder.ts"],"names":[],"mappings":"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"}
@@ -1,17 +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.String>;
11
- }, false>;
12
- export declare type Options = r.Static<typeof Options>;
13
- export declare const MSG_NO_SCRIPTS_BLOCK = "No scripts block in package.json";
14
- export declare const packageScript: RuleModule<r.Record<{
15
- scripts: r.StringDictionary<r.String>;
16
- }, false>>;
17
- //# 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;;UAiCK,CAAC"}
@@ -1,51 +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.String),
15
- });
16
- exports.MSG_NO_SCRIPTS_BLOCK = "No scripts block in package.json";
17
- exports.packageScript = {
18
- check: function expectPackageScript(context, options) {
19
- const packageJson = context.getPackageJson();
20
- if (packageJson.scripts === undefined) {
21
- context.addError({
22
- file: context.getPackageJsonPath(),
23
- message: exports.MSG_NO_SCRIPTS_BLOCK,
24
- fixer: () => {
25
- utils_1.mutateJson(context.getPackageJsonPath(), input => {
26
- input.scripts = {};
27
- return input;
28
- });
29
- },
30
- });
31
- return;
32
- }
33
- for (const [name, value] of Object.entries(options.scripts)) {
34
- if (packageJson.scripts[name] !== value) {
35
- context.addError({
36
- file: context.getPackageJsonPath(),
37
- message: `Expected standardized script entry for '${name}'`,
38
- longMessage: jest_diff_1.default(value + "\n", (packageJson.scripts[name] || "") + "\n"),
39
- fixer: () => {
40
- utils_1.mutateJson(context.getPackageJsonPath(), input => {
41
- input.scripts[name] = value;
42
- return input;
43
- });
44
- },
45
- });
46
- }
47
- }
48
- },
49
- optionsRuntype: exports.Options,
50
- };
51
- //# sourceMappingURL=packageScript.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"packageScript.js","sourceRoot":"","sources":["../src/packageScript.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,MAAM,CAAC;CAChC,CAAC,CAAC;AAIU,QAAA,oBAAoB,GAAG,kCAAkC,CAAC;AAE1D,QAAA,aAAa,GAAG;IAC3B,KAAK,EAAE,SAAS,mBAAmB,CAAC,OAAgB,EAAE,OAAgB;QACpE,MAAM,WAAW,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;QAC7C,IAAI,WAAW,CAAC,OAAO,KAAK,SAAS,EAAE;YACrC,OAAO,CAAC,QAAQ,CAAC;gBACf,IAAI,EAAE,OAAO,CAAC,kBAAkB,EAAE;gBAClC,OAAO,EAAE,4BAAoB;gBAC7B,KAAK,EAAE,GAAG,EAAE;oBACV,kBAAU,CAAc,OAAO,CAAC,kBAAkB,EAAE,EAAE,KAAK,CAAC,EAAE;wBAC5D,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC;wBACnB,OAAO,KAAK,CAAC;oBACf,CAAC,CAAC,CAAC;gBACL,CAAC;aACF,CAAC,CAAC;YACH,OAAO;SACR;QACD,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;YAC3D,IAAI,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,KAAK,EAAE;gBACvC,OAAO,CAAC,QAAQ,CAAC;oBACf,IAAI,EAAE,OAAO,CAAC,kBAAkB,EAAE;oBAClC,OAAO,EAAE,2CAA2C,IAAI,GAAG;oBAC3D,WAAW,EAAE,mBAAI,CAAC,KAAK,GAAG,IAAI,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;oBACzE,KAAK,EAAE,GAAG,EAAE;wBACV,kBAAU,CAAc,OAAO,CAAC,kBAAkB,EAAE,EAAE,KAAK,CAAC,EAAE;4BAC5D,KAAK,CAAC,OAAQ,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;4BAC7B,OAAO,KAAK,CAAC;wBACf,CAAC,CAAC,CAAC;oBACL,CAAC;iBACF,CAAC,CAAC;aACJ;SACF;IACH,CAAC;IACD,cAAc,EAAE,eAAO;CACM,CAAC"}
@@ -1,29 +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
- }>, {
14
- generator?: ((...args: any[]) => any) | undefined;
15
- template?: string | {} | undefined;
16
- templateFile?: string | undefined;
17
- }, unknown>;
18
- export declare type Options = r.Static<typeof Options>;
19
- export declare const standardTsconfig: RuleModule<r.Constraint<r.Part<{
20
- generator: r.Function;
21
- template: r.Union2<r.Record<{}, false>, r.String>;
22
- templateFile: r.String;
23
- }>, {
24
- generator?: ((...args: any[]) => any) | undefined;
25
- template?: string | {} | undefined;
26
- templateFile?: string | undefined;
27
- }, unknown>>;
28
- export {};
29
- //# 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;AAKzD,OAAO,KAAK,CAAC,MAAM,UAAU,CAAC;AAE9B,QAAA,MAAM,OAAO;;;;;;;;WAmBT,CAAC;AAEL,oBAAY,OAAO,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,OAAO,CAAC,CAAC;AAE/C,eAAO,MAAM,gBAAgB;;;;;;;;YA4BE,CAAC"}
@@ -1,96 +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 = tslib_1.__importStar(require("fs"));
12
- const jest_diff_1 = tslib_1.__importDefault(require("jest-diff"));
13
- const path = tslib_1.__importStar(require("path"));
14
- const r = tslib_1.__importStar(require("runtypes"));
15
- const Options = r
16
- .Partial({
17
- generator: r.Function,
18
- template: r.Record({}).Or(r.String),
19
- templateFile: r.String,
20
- })
21
- .withConstraint(({ generator, template, templateFile }) => {
22
- let count = 0;
23
- if (generator) {
24
- count++;
25
- }
26
- if (template) {
27
- count++;
28
- }
29
- if (templateFile) {
30
- count++;
31
- }
32
- return count === 1 || "Expect one of { generator, template, templateFile }";
33
- });
34
- exports.standardTsconfig = {
35
- check: function expectStandardTsconfig(context, opts) {
36
- const fullPath = path.resolve(context.packageDir, "tsconfig.json");
37
- const generator = getGenerator(context, opts);
38
- const expectedContent = generator(context);
39
- const actualContent = fs.existsSync(fullPath) ? fs.readFileSync(fullPath, "utf-8") : undefined;
40
- if (expectedContent === undefined) {
41
- context.addWarning({
42
- file: fullPath,
43
- message: "Excluding from expect-standard-tsconfig",
44
- });
45
- return;
46
- }
47
- if (actualContent !== expectedContent) {
48
- context.addError({
49
- file: fullPath,
50
- message: "Expect file contents to match",
51
- longMessage: jest_diff_1.default(expectedContent, actualContent, { expand: true }),
52
- fixer: () => {
53
- fs.writeFileSync(fullPath, expectedContent);
54
- },
55
- });
56
- }
57
- },
58
- optionsRuntype: Options,
59
- };
60
- function getGenerator(context, opts) {
61
- if (opts.generator) {
62
- return opts.generator;
63
- }
64
- else if (opts.templateFile) {
65
- const { packageDir: workspacePackageDir } = context.getWorkspaceContext();
66
- const fullPath = path.resolve(workspacePackageDir, opts.templateFile);
67
- const template = JSON.parse(fs.readFileSync(fullPath, "utf-8"));
68
- return makeGenerator(template);
69
- }
70
- else if (opts.template) {
71
- return makeGenerator(opts.template);
72
- }
73
- else {
74
- throw new Error("Unable to make generator");
75
- }
76
- }
77
- function makeGenerator(template) {
78
- return function generator(context) {
79
- template = {
80
- ...template,
81
- references: [],
82
- }; // make a copy and ensure we have a references array
83
- const nameToDirectory = utils_1.getPackageNameToDir(context.getWorkspaceContext().packageDir);
84
- const packageJson = context.getPackageJson();
85
- const deps = [...Object.keys(packageJson.dependencies || {}), ...Object.keys(packageJson.devDependencies || {})];
86
- deps
87
- .filter(name => nameToDirectory.has(name))
88
- .forEach(packageName => {
89
- template.references.push({
90
- path: path.relative(context.packageDir, nameToDirectory.get(packageName)),
91
- });
92
- });
93
- return JSON.stringify(template, undefined, 2) + "\n";
94
- };
95
- }
96
- //# sourceMappingURL=standardTsconfig.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"standardTsconfig.js","sourceRoot":"","sources":["../src/standardTsconfig.ts"],"names":[],"mappings":"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"}