@monorepolint/rules 0.5.0-alpha.98 → 0.5.0-beta.1

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/CHANGELOG.md +22 -0
  2. package/package.json +47 -26
  3. package/src/__tests__/alphabeticalScripts.spec.ts +6 -5
  4. package/src/__tests__/bannedDependencies.spec.ts +5 -7
  5. package/src/__tests__/consistentDependencies.spec.ts +6 -5
  6. package/src/__tests__/consistentVersions.spec.ts +5 -4
  7. package/src/__tests__/fileContents.spec.ts +44 -17
  8. package/src/__tests__/mustSatisfyPeerDependencies.spec.ts +39 -38
  9. package/src/__tests__/nestedWorkspaces.spec.ts +5 -4
  10. package/src/__tests__/packageEntry.spec.ts +43 -32
  11. package/src/__tests__/packageOrder.spec.ts +23 -14
  12. package/src/__tests__/packageScript.spec.ts +61 -43
  13. package/src/__tests__/requireDependency.spec.ts +8 -7
  14. package/src/__tests__/utils.ts +8 -4
  15. package/src/alphabeticalDependencies.ts +7 -12
  16. package/src/alphabeticalScripts.ts +7 -12
  17. package/src/bannedDependencies.ts +9 -12
  18. package/src/consistentDependencies.ts +9 -10
  19. package/src/consistentVersions.ts +6 -8
  20. package/src/fileContents.ts +17 -16
  21. package/src/index.ts +13 -13
  22. package/src/mustSatisfyPeerDependencies.ts +16 -17
  23. package/src/nestedWorkspaces.ts +10 -12
  24. package/src/packageEntry.ts +7 -9
  25. package/src/packageOrder.ts +12 -10
  26. package/src/packageScript.ts +12 -19
  27. package/src/public/util.ts +1 -0
  28. package/src/requireDependency.ts +9 -10
  29. package/src/standardTsconfig.ts +10 -11
  30. package/src/util/checkAlpha.ts +1 -1
  31. package/src/util/makeRule.ts +29 -0
  32. package/src/util/packageDependencyGraphService.ts +2 -2
  33. package/tsconfig.json +7 -2
  34. package/lib/__tests__/alphabeticalScripts.spec.d.ts +0 -8
  35. package/lib/__tests__/alphabeticalScripts.spec.d.ts.map +0 -1
  36. package/lib/__tests__/alphabeticalScripts.spec.js +0 -61
  37. package/lib/__tests__/alphabeticalScripts.spec.js.map +0 -1
  38. package/lib/__tests__/bannedDependencies.spec.d.ts +0 -2
  39. package/lib/__tests__/bannedDependencies.spec.d.ts.map +0 -1
  40. package/lib/__tests__/bannedDependencies.spec.js +0 -161
  41. package/lib/__tests__/bannedDependencies.spec.js.map +0 -1
  42. package/lib/__tests__/consistentDependencies.spec.d.ts +0 -2
  43. package/lib/__tests__/consistentDependencies.spec.d.ts.map +0 -1
  44. package/lib/__tests__/consistentDependencies.spec.js +0 -115
  45. package/lib/__tests__/consistentDependencies.spec.js.map +0 -1
  46. package/lib/__tests__/consistentVersions.spec.d.ts +0 -8
  47. package/lib/__tests__/consistentVersions.spec.d.ts.map +0 -1
  48. package/lib/__tests__/consistentVersions.spec.js +0 -183
  49. package/lib/__tests__/consistentVersions.spec.js.map +0 -1
  50. package/lib/__tests__/fileContents.spec.d.ts +0 -8
  51. package/lib/__tests__/fileContents.spec.d.ts.map +0 -1
  52. package/lib/__tests__/fileContents.spec.js +0 -59
  53. package/lib/__tests__/fileContents.spec.js.map +0 -1
  54. package/lib/__tests__/mustSatisfyPeerDependencies.spec.d.ts +0 -8
  55. package/lib/__tests__/mustSatisfyPeerDependencies.spec.d.ts.map +0 -1
  56. package/lib/__tests__/mustSatisfyPeerDependencies.spec.js +0 -1063
  57. package/lib/__tests__/mustSatisfyPeerDependencies.spec.js.map +0 -1
  58. package/lib/__tests__/nestedWorkspaces.spec.d.ts +0 -2
  59. package/lib/__tests__/nestedWorkspaces.spec.d.ts.map +0 -1
  60. package/lib/__tests__/nestedWorkspaces.spec.js +0 -124
  61. package/lib/__tests__/nestedWorkspaces.spec.js.map +0 -1
  62. package/lib/__tests__/packageEntry.spec.d.ts +0 -8
  63. package/lib/__tests__/packageEntry.spec.d.ts.map +0 -1
  64. package/lib/__tests__/packageEntry.spec.js +0 -144
  65. package/lib/__tests__/packageEntry.spec.js.map +0 -1
  66. package/lib/__tests__/packageOrder.spec.d.ts +0 -8
  67. package/lib/__tests__/packageOrder.spec.d.ts.map +0 -1
  68. package/lib/__tests__/packageOrder.spec.js +0 -116
  69. package/lib/__tests__/packageOrder.spec.js.map +0 -1
  70. package/lib/__tests__/packageScript.spec.d.ts +0 -8
  71. package/lib/__tests__/packageScript.spec.d.ts.map +0 -1
  72. package/lib/__tests__/packageScript.spec.js +0 -171
  73. package/lib/__tests__/packageScript.spec.js.map +0 -1
  74. package/lib/__tests__/requireDependency.spec.d.ts +0 -2
  75. package/lib/__tests__/requireDependency.spec.d.ts.map +0 -1
  76. package/lib/__tests__/requireDependency.spec.js +0 -123
  77. package/lib/__tests__/requireDependency.spec.js.map +0 -1
  78. package/lib/__tests__/utils.d.ts +0 -76
  79. package/lib/__tests__/utils.d.ts.map +0 -1
  80. package/lib/__tests__/utils.js +0 -83
  81. package/lib/__tests__/utils.js.map +0 -1
  82. package/lib/alphabeticalDependencies.d.ts +0 -23
  83. package/lib/alphabeticalDependencies.d.ts.map +0 -1
  84. package/lib/alphabeticalDependencies.js +0 -24
  85. package/lib/alphabeticalDependencies.js.map +0 -1
  86. package/lib/alphabeticalScripts.d.ts +0 -23
  87. package/lib/alphabeticalScripts.d.ts.map +0 -1
  88. package/lib/alphabeticalScripts.js +0 -22
  89. package/lib/alphabeticalScripts.js.map +0 -1
  90. package/lib/bannedDependencies.d.ts +0 -134
  91. package/lib/bannedDependencies.d.ts.map +0 -1
  92. package/lib/bannedDependencies.js +0 -133
  93. package/lib/bannedDependencies.js.map +0 -1
  94. package/lib/consistentDependencies.d.ts +0 -38
  95. package/lib/consistentDependencies.d.ts.map +0 -1
  96. package/lib/consistentDependencies.js +0 -77
  97. package/lib/consistentDependencies.js.map +0 -1
  98. package/lib/consistentVersions.d.ts +0 -47
  99. package/lib/consistentVersions.d.ts.map +0 -1
  100. package/lib/consistentVersions.js +0 -96
  101. package/lib/consistentVersions.js.map +0 -1
  102. package/lib/fileContents.d.ts +0 -111
  103. package/lib/fileContents.d.ts.map +0 -1
  104. package/lib/fileContents.js +0 -84
  105. package/lib/fileContents.js.map +0 -1
  106. package/lib/index.d.ts +0 -20
  107. package/lib/index.d.ts.map +0 -1
  108. package/lib/index.js +0 -49
  109. package/lib/index.js.map +0 -1
  110. package/lib/mustSatisfyPeerDependencies.d.ts +0 -721
  111. package/lib/mustSatisfyPeerDependencies.d.ts.map +0 -1
  112. package/lib/mustSatisfyPeerDependencies.js +0 -638
  113. package/lib/mustSatisfyPeerDependencies.js.map +0 -1
  114. package/lib/nestedWorkspaces.d.ts +0 -24
  115. package/lib/nestedWorkspaces.d.ts.map +0 -1
  116. package/lib/nestedWorkspaces.js +0 -52
  117. package/lib/nestedWorkspaces.js.map +0 -1
  118. package/lib/packageEntry.d.ts +0 -115
  119. package/lib/packageEntry.d.ts.map +0 -1
  120. package/lib/packageEntry.js +0 -77
  121. package/lib/packageEntry.js.map +0 -1
  122. package/lib/packageOrder.d.ts +0 -33
  123. package/lib/packageOrder.d.ts.map +0 -1
  124. package/lib/packageOrder.js +0 -105
  125. package/lib/packageOrder.js.map +0 -1
  126. package/lib/packageScript.d.ts +0 -102
  127. package/lib/packageScript.d.ts.map +0 -1
  128. package/lib/packageScript.js +0 -92
  129. package/lib/packageScript.js.map +0 -1
  130. package/lib/requireDependency.d.ts +0 -99
  131. package/lib/requireDependency.d.ts.map +0 -1
  132. package/lib/requireDependency.js +0 -67
  133. package/lib/requireDependency.js.map +0 -1
  134. package/lib/standardTsconfig.d.ts +0 -113
  135. package/lib/standardTsconfig.d.ts.map +0 -1
  136. package/lib/standardTsconfig.js +0 -118
  137. package/lib/standardTsconfig.js.map +0 -1
  138. package/lib/util/checkAlpha.d.ts +0 -10
  139. package/lib/util/checkAlpha.d.ts.map +0 -1
  140. package/lib/util/checkAlpha.js +0 -51
  141. package/lib/util/checkAlpha.js.map +0 -1
  142. package/lib/util/createNewRuleConversion.d.ts +0 -30
  143. package/lib/util/createNewRuleConversion.d.ts.map +0 -1
  144. package/lib/util/createNewRuleConversion.js +0 -33
  145. package/lib/util/createNewRuleConversion.js.map +0 -1
  146. package/lib/util/makeDirectory.d.ts +0 -8
  147. package/lib/util/makeDirectory.d.ts.map +0 -1
  148. package/lib/util/makeDirectory.js +0 -28
  149. package/lib/util/makeDirectory.js.map +0 -1
  150. package/lib/util/packageDependencyGraphService.d.ts +0 -37
  151. package/lib/util/packageDependencyGraphService.d.ts.map +0 -1
  152. package/lib/util/packageDependencyGraphService.js +0 -70
  153. package/lib/util/packageDependencyGraphService.js.map +0 -1
  154. package/src/util/createNewRuleConversion.ts +0 -38
  155. package/tsconfig.tsbuildinfo +0 -1
  156. /package/{jest.config.js → jest.config.cjs} +0 -0
@@ -1,171 +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 packageScript_1 = require("../packageScript");
10
- const utils_1 = require("./utils");
11
- const json = (a) => JSON.stringify(a, undefined, 2) + "\n";
12
- const PACKAGE_WITHOUT_SCRIPTS = json({
13
- name: "package-without-scripts",
14
- });
15
- const MISSING_SCRIPT_NAME = "missing";
16
- const MISSING_SCRIPT_VALUE = "missing value";
17
- const SCRIPT_NAME = "exists";
18
- const SCRIPT_VALUE = "exists value";
19
- const PACKAGE_WITH_SCRIPTS = json({
20
- name: "package-with-scripts",
21
- scripts: {
22
- [SCRIPT_NAME]: SCRIPT_VALUE,
23
- },
24
- });
25
- describe.each(utils_1.HOST_FACTORIES)("expectPackageScript ($name)", (hostFactory) => {
26
- describe("fix: false", () => {
27
- let workspace;
28
- let spy;
29
- beforeEach(async () => {
30
- workspace = await (0, utils_1.createTestingWorkspace)({
31
- fixFlag: false,
32
- host: hostFactory.make(),
33
- });
34
- spy = jest.spyOn(workspace.context, "addError");
35
- });
36
- it("handles an empty script section", () => {
37
- workspace.writeFile("package.json", PACKAGE_WITHOUT_SCRIPTS);
38
- packageScript_1.packageScript.check(workspace.context, {
39
- scripts: {
40
- foo: "bar",
41
- },
42
- });
43
- expect(spy).toHaveBeenCalledTimes(1);
44
- const failure = spy.mock.calls[0][0];
45
- expect(failure).toMatchObject(workspace.failureMatcher({
46
- file: "package.json",
47
- hasFixer: true,
48
- message: "No scripts block in package.json",
49
- }));
50
- });
51
- });
52
- describe("fix: true", () => {
53
- let workspace;
54
- let spy;
55
- let context;
56
- beforeEach(async () => {
57
- workspace = await (0, utils_1.createTestingWorkspace)({
58
- fixFlag: true,
59
- host: hostFactory.make(),
60
- });
61
- spy = jest.spyOn(workspace.context, "addError");
62
- context = workspace.context; // minimizing delta
63
- });
64
- it("fixes an empty script section", () => {
65
- workspace.writeFile("package.json", PACKAGE_WITHOUT_SCRIPTS);
66
- packageScript_1.packageScript.check(context, {
67
- scripts: {
68
- foo: "bar",
69
- },
70
- });
71
- expect(spy).toHaveBeenCalledTimes(1);
72
- const failure = spy.mock.calls[0][0];
73
- expect(failure).toMatchObject(workspace.failureMatcher({
74
- file: "package.json",
75
- hasFixer: true,
76
- message: "No scripts block in package.json",
77
- }));
78
- expect(JSON.parse(workspace.readFile("package.json")).scripts).toEqual({});
79
- });
80
- it("adds a script", () => {
81
- workspace.writeFile("package.json", PACKAGE_WITH_SCRIPTS);
82
- packageScript_1.packageScript.check(context, {
83
- scripts: {
84
- [MISSING_SCRIPT_NAME]: MISSING_SCRIPT_VALUE,
85
- },
86
- });
87
- expect(spy).toHaveBeenCalledTimes(1);
88
- const failure = spy.mock.calls[0][0];
89
- expect(failure).toMatchObject(workspace.failureMatcher({
90
- file: "package.json",
91
- hasFixer: true,
92
- message: expect.stringContaining(`Expected standardized script entry for '${MISSING_SCRIPT_NAME}'`),
93
- }));
94
- expect(JSON.parse(workspace.readFile("package.json")).scripts[MISSING_SCRIPT_NAME]).toEqual(MISSING_SCRIPT_VALUE);
95
- });
96
- it("does nothing if the value exists", () => {
97
- workspace.writeFile("package.json", PACKAGE_WITH_SCRIPTS);
98
- packageScript_1.packageScript.check(context, {
99
- scripts: {
100
- [SCRIPT_NAME]: SCRIPT_VALUE,
101
- },
102
- });
103
- expect(spy).not.toHaveBeenCalled();
104
- expect(JSON.parse(workspace.readFile("package.json")).scripts).toEqual({
105
- [SCRIPT_NAME]: SCRIPT_VALUE,
106
- });
107
- });
108
- it("errors if long form is used and no value matches and there is no fixValue", () => {
109
- workspace.writeFile("package.json", PACKAGE_WITH_SCRIPTS);
110
- packageScript_1.packageScript.check(context, {
111
- scripts: {
112
- foo: {
113
- options: ["a", "b"],
114
- },
115
- },
116
- });
117
- const errors = spy.mock.calls;
118
- expect(errors.length).toBe(1);
119
- expect(errors[0][0].fixer).toBeUndefined();
120
- });
121
- it("uses the fixValue for fixing if provided", () => {
122
- workspace.writeFile("package.json", PACKAGE_WITH_SCRIPTS);
123
- packageScript_1.packageScript.check(context, {
124
- scripts: {
125
- foo: {
126
- options: ["a", "b"],
127
- fixValue: "a",
128
- },
129
- },
130
- });
131
- const errors = spy.mock.calls;
132
- expect(errors.length).toBe(1);
133
- expect(errors[0][0].fixer).toBeDefined();
134
- expect(JSON.parse(workspace.readFile("package.json")).scripts).toEqual({
135
- [SCRIPT_NAME]: SCRIPT_VALUE,
136
- foo: "a",
137
- });
138
- });
139
- it("can fix to empty", () => {
140
- workspace.writeFile("package.json", PACKAGE_WITH_SCRIPTS);
141
- packageScript_1.packageScript.check(context, {
142
- scripts: {
143
- [SCRIPT_NAME]: {
144
- options: ["a", undefined],
145
- fixValue: undefined,
146
- },
147
- },
148
- });
149
- const errors = spy.mock.calls;
150
- expect(errors.length).toBe(1);
151
- expect(errors[0][0].fixer).toBeDefined();
152
- expect(JSON.parse(workspace.readFile("package.json")).scripts).toEqual({});
153
- });
154
- it("can allow only empty", () => {
155
- workspace.writeFile("package.json", PACKAGE_WITH_SCRIPTS);
156
- packageScript_1.packageScript.check(context, {
157
- scripts: {
158
- [SCRIPT_NAME]: {
159
- options: [undefined],
160
- fixValue: undefined,
161
- },
162
- },
163
- });
164
- const errors = spy.mock.calls;
165
- expect(errors.length).toBe(1);
166
- expect(errors[0][0].fixer).toBeDefined();
167
- expect(JSON.parse(workspace.readFile("package.json")).scripts).toEqual({});
168
- });
169
- });
170
- });
171
- //# sourceMappingURL=packageScript.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"packageScript.spec.js","sourceRoot":"","sources":["../../src/__tests__/packageScript.spec.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=requireDependency.spec.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"requireDependency.spec.d.ts","sourceRoot":"","sources":["../../src/__tests__/requireDependency.spec.ts"],"names":[],"mappings":""}
@@ -1,123 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
- /*!
5
- * Copyright 2019 Palantir Technologies, Inc.
6
- *
7
- * Licensed under the MIT license. See LICENSE file in the project root for details.
8
- *
9
- */
10
- const core_1 = require("@monorepolint/core");
11
- const utils_1 = require("@monorepolint/utils");
12
- const fs_1 = require("fs");
13
- const path = tslib_1.__importStar(require("path"));
14
- const tmp = tslib_1.__importStar(require("tmp"));
15
- const requireDependency_1 = require("../requireDependency");
16
- const makeDirectory_1 = require("../util/makeDirectory");
17
- const utils_2 = require("./utils");
18
- const PACKAGE_ROOT = (0, utils_2.jsonToString)({
19
- workspaces: {
20
- packages: ["packages/*"],
21
- },
22
- dependencies: {
23
- foo: "5",
24
- },
25
- });
26
- const PACKAGE_WITH_NO_ENTRIES = (0, utils_2.jsonToString)({});
27
- const PACKAGE_WITH_ENTRIES_MISSING = (0, utils_2.jsonToString)({
28
- dependencies: {},
29
- devDependencies: {},
30
- });
31
- const PACKAGE_WITH_WRONG_ENTRIES = (0, utils_2.jsonToString)({
32
- dependencies: {
33
- foo: "0.1.0",
34
- },
35
- devDependencies: {
36
- bar: "1.0.0",
37
- },
38
- });
39
- const PACKAGE_WITH_RIGHT_ENTRIES = (0, utils_2.jsonToString)({
40
- dependencies: {
41
- foo: "1.0.0",
42
- },
43
- devDependencies: {
44
- bar: "^2.0.0",
45
- },
46
- });
47
- const OPTIONS = {
48
- dependencies: {
49
- foo: "1.0.0",
50
- },
51
- devDependencies: {
52
- bar: "^2.0.0",
53
- },
54
- };
55
- const CORRECT_OUTPUT = (0, utils_2.jsonToString)(OPTIONS);
56
- describe("requireDependency", () => {
57
- tmp.setGracefulCleanup();
58
- let cleanupJobs = [];
59
- afterEach(() => {
60
- for (const cleanupJob of cleanupJobs) {
61
- cleanupJob();
62
- }
63
- cleanupJobs = [];
64
- });
65
- function makeWorkspace({ fix }) {
66
- const dir = tmp.dirSync({ unsafeCleanup: true });
67
- cleanupJobs.push(() => dir.removeCallback());
68
- const workspaceContext = new core_1.WorkspaceContextImpl(dir.name, {
69
- rules: [],
70
- fix,
71
- verbose: false,
72
- silent: true,
73
- }, new utils_1.SimpleHost());
74
- function checkAndSpy(q) {
75
- const context = workspaceContext.createChildContext(path.resolve(dir.name, q));
76
- const addErrorSpy = jest.spyOn(context, "addError");
77
- requireDependency_1.requireDependency.check(context, OPTIONS);
78
- return { context, addErrorSpy };
79
- }
80
- function addFile(filePath, content) {
81
- const dirPath = path.resolve(dir.name, path.dirname(filePath));
82
- const resolvedFilePath = path.resolve(dir.name, filePath);
83
- (0, makeDirectory_1.makeDirectoryRecursively)(dirPath);
84
- (0, fs_1.writeFileSync)(resolvedFilePath, content);
85
- }
86
- function readFile(filePath) {
87
- return (0, fs_1.readFileSync)(path.resolve(dir.name, filePath)).toString();
88
- }
89
- return { addFile, readFile, workspaceContext, checkAndSpy };
90
- }
91
- it("checks correctly", () => {
92
- const { addFile, workspaceContext, checkAndSpy } = makeWorkspace({ fix: false });
93
- addFile("./package.json", PACKAGE_ROOT);
94
- addFile("./packages/none/package.json", PACKAGE_WITH_NO_ENTRIES);
95
- addFile("./packages/missing/package.json", PACKAGE_WITH_ENTRIES_MISSING);
96
- addFile("./packages/wrong/package.json", PACKAGE_WITH_WRONG_ENTRIES);
97
- addFile("./packages/right/package.json", PACKAGE_WITH_RIGHT_ENTRIES);
98
- requireDependency_1.requireDependency.check(workspaceContext, OPTIONS);
99
- const none = checkAndSpy("./packages/none");
100
- expect(none.addErrorSpy).toHaveBeenCalledTimes(2);
101
- const missing = checkAndSpy("./packages/missing");
102
- expect(missing.addErrorSpy).toHaveBeenCalledTimes(2);
103
- const wrong = checkAndSpy("./packages/wrong");
104
- expect(wrong.addErrorSpy).toHaveBeenCalledTimes(2);
105
- const right = checkAndSpy("./packages/right");
106
- expect(right.addErrorSpy).toHaveBeenCalledTimes(0);
107
- });
108
- it("fixes correctly", () => {
109
- const { addFile, readFile, checkAndSpy } = makeWorkspace({ fix: true });
110
- addFile("./package.json", PACKAGE_ROOT);
111
- addFile("./packages/missing/package.json", PACKAGE_WITH_ENTRIES_MISSING);
112
- addFile("./packages/wrong/package.json", PACKAGE_WITH_WRONG_ENTRIES);
113
- const missing = checkAndSpy("./packages/missing");
114
- expect(missing.addErrorSpy).toHaveBeenCalledTimes(2);
115
- const wrong = checkAndSpy("./packages/wrong");
116
- expect(wrong.addErrorSpy).toHaveBeenCalledTimes(2);
117
- const missingContents = readFile("./packages/missing/package.json");
118
- expect(missingContents).toEqual(CORRECT_OUTPUT);
119
- const contents = readFile("./packages/wrong/package.json");
120
- expect(contents).toEqual(CORRECT_OUTPUT);
121
- });
122
- });
123
- //# sourceMappingURL=requireDependency.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"requireDependency.spec.js","sourceRoot":"","sources":["../../src/__tests__/requireDependency.spec.ts"],"names":[],"mappings":";;;AAAA;;;;;GAKG;AACH,6CAA0D;AAC1D,+CAAiD;AACjD,2BAAiD;AACjD,mDAA6B;AAC7B,iDAA2B;AAC3B,4DAAyD;AACzD,yDAAiE;AACjE,mCAAuC;AAEvC,MAAM,YAAY,GAAG,IAAA,oBAAY,EAAC;IAChC,UAAU,EAAE;QACV,QAAQ,EAAE,CAAC,YAAY,CAAC;KACzB;IACD,YAAY,EAAE;QACZ,GAAG,EAAE,GAAG;KACT;CACF,CAAC,CAAC;AAEH,MAAM,uBAAuB,GAAG,IAAA,oBAAY,EAAC,EAAE,CAAC,CAAC;AAEjD,MAAM,4BAA4B,GAAG,IAAA,oBAAY,EAAC;IAChD,YAAY,EAAE,EAAE;IAChB,eAAe,EAAE,EAAE;CACpB,CAAC,CAAC;AAEH,MAAM,0BAA0B,GAAG,IAAA,oBAAY,EAAC;IAC9C,YAAY,EAAE;QACZ,GAAG,EAAE,OAAO;KACb;IACD,eAAe,EAAE;QACf,GAAG,EAAE,OAAO;KACb;CACF,CAAC,CAAC;AAEH,MAAM,0BAA0B,GAAG,IAAA,oBAAY,EAAC;IAC9C,YAAY,EAAE;QACZ,GAAG,EAAE,OAAO;KACb;IACD,eAAe,EAAE;QACf,GAAG,EAAE,QAAQ;KACd;CACF,CAAC,CAAC;AAEH,MAAM,OAAO,GAAG;IACd,YAAY,EAAE;QACZ,GAAG,EAAE,OAAO;KACb;IACD,eAAe,EAAE;QACf,GAAG,EAAE,QAAQ;KACd;CACO,CAAC;AAEX,MAAM,cAAc,GAAG,IAAA,oBAAY,EAAC,OAAO,CAAC,CAAC;AAE7C,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;IACjC,GAAG,CAAC,kBAAkB,EAAE,CAAC;IAEzB,IAAI,WAAW,GAAsB,EAAE,CAAC;IAExC,SAAS,CAAC,GAAG,EAAE;QACb,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE;YACpC,UAAU,EAAE,CAAC;SACd;QACD,WAAW,GAAG,EAAE,CAAC;IACnB,CAAC,CAAC,CAAC;IAEH,SAAS,aAAa,CAAC,EAAE,GAAG,EAAoB;QAC9C,MAAM,GAAG,GAAkB,GAAG,CAAC,OAAO,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QAChE,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC,CAAC;QAE7C,MAAM,gBAAgB,GAAG,IAAI,2BAAoB,CAC/C,GAAG,CAAC,IAAI,EACR;YACE,KAAK,EAAE,EAAE;YACT,GAAG;YACH,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,IAAI;SACb,EACD,IAAI,kBAAU,EAAE,CACjB,CAAC;QAEF,SAAS,WAAW,CAAC,CAAS;YAC5B,MAAM,OAAO,GAAG,gBAAgB,CAAC,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAC/E,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;YACpD,qCAAiB,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAC1C,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC;QAClC,CAAC;QAED,SAAS,OAAO,CAAC,QAAgB,EAAE,OAAe;YAChD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC/D,MAAM,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAE1D,IAAA,wCAAwB,EAAC,OAAO,CAAC,CAAC;YAClC,IAAA,kBAAa,EAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;QAC3C,CAAC;QAED,SAAS,QAAQ,CAAC,QAAgB;YAChC,OAAO,IAAA,iBAAY,EAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;QACnE,CAAC;QAED,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,WAAW,EAAE,CAAC;IAC9D,CAAC;IAED,EAAE,CAAC,kBAAkB,EAAE,GAAG,EAAE;QAC1B,MAAM,EAAE,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,GAAG,aAAa,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC;QACjF,OAAO,CAAC,gBAAgB,EAAE,YAAY,CAAC,CAAC;QACxC,OAAO,CAAC,8BAA8B,EAAE,uBAAuB,CAAC,CAAC;QACjE,OAAO,CAAC,iCAAiC,EAAE,4BAA4B,CAAC,CAAC;QACzE,OAAO,CAAC,+BAA+B,EAAE,0BAA0B,CAAC,CAAC;QACrE,OAAO,CAAC,+BAA+B,EAAE,0BAA0B,CAAC,CAAC;QAErE,qCAAiB,CAAC,KAAK,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;QAEnD,MAAM,IAAI,GAAG,WAAW,CAAC,iBAAiB,CAAC,CAAC;QAC5C,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QAElD,MAAM,OAAO,GAAG,WAAW,CAAC,oBAAoB,CAAC,CAAC;QAClD,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QAErD,MAAM,KAAK,GAAG,WAAW,CAAC,kBAAkB,CAAC,CAAC;QAC9C,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QAEnD,MAAM,KAAK,GAAG,WAAW,CAAC,kBAAkB,CAAC,CAAC;QAC9C,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iBAAiB,EAAE,GAAG,EAAE;QACzB,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,aAAa,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;QACxE,OAAO,CAAC,gBAAgB,EAAE,YAAY,CAAC,CAAC;QACxC,OAAO,CAAC,iCAAiC,EAAE,4BAA4B,CAAC,CAAC;QACzE,OAAO,CAAC,+BAA+B,EAAE,0BAA0B,CAAC,CAAC;QAErE,MAAM,OAAO,GAAG,WAAW,CAAC,oBAAoB,CAAC,CAAC;QAClD,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QAErD,MAAM,KAAK,GAAG,WAAW,CAAC,kBAAkB,CAAC,CAAC;QAC9C,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QAEnD,MAAM,eAAe,GAAG,QAAQ,CAAC,iCAAiC,CAAC,CAAC;QACpE,MAAM,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QAEhD,MAAM,QAAQ,GAAG,QAAQ,CAAC,+BAA+B,CAAC,CAAC;QAC3D,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,76 +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
- /// <reference types="jest" />
8
- import { AddErrorOptions, WorkspaceContext } from "@monorepolint/config";
9
- import { Host } from "@monorepolint/utils";
10
- export declare function jsonToString(obj: {}): string;
11
- interface TestingWorkspaceOpts {
12
- host: Host;
13
- rootProjectName?: string;
14
- fixFlag: boolean;
15
- }
16
- export declare function createTestingWorkspace(inboundOpts: TestingWorkspaceOpts): Promise<DefaultTestingWorkspace>;
17
- interface RealTestingWorkspaceOpts extends Required<TestingWorkspaceOpts> {
18
- rootPath: string;
19
- }
20
- export interface TestingWorkspace {
21
- /**
22
- * Adds a utf8 file to `packageName` with `relativePath` to the package directory.
23
- *
24
- * @param packageName The child package to add to or undefined for root package
25
- * @param filePath The path of the file to be written. Will be prepended with package dir
26
- * @param contents the contents to be written (as utf8)
27
- */
28
- writeFile(filePath: string, contents: string): void;
29
- writeJsonFile(filePath: string, json: object): void;
30
- addProject(name: string, fields: object): void;
31
- getFilePath(filePath: string): string;
32
- readFile(filePath: string): string;
33
- /**
34
- * Helper method for matching failures via jest `expect().toMatchObject
35
- *
36
- */
37
- failureMatcher(opts: {
38
- file: string;
39
- message: string;
40
- hasFixer: boolean;
41
- }): any;
42
- readonly context: WorkspaceContext;
43
- }
44
- declare class DefaultTestingWorkspace implements TestingWorkspace {
45
- private opts;
46
- readonly context: WorkspaceContext;
47
- constructor(opts: RealTestingWorkspaceOpts, context: WorkspaceContext);
48
- addProject(name: string, fields: object): void;
49
- writeJsonFile(filePath: string, json: object): void;
50
- /**
51
- * Adds a utf8 file to `packageName` with `relativePath` to the package directory.
52
- *
53
- * @param packageName The child package to add to or undefined for root package
54
- * @param filePath The path of the file to be written. Will be prepended with package dir
55
- * @param contents the contents to be written (as utf8)
56
- */
57
- writeFile(filePath: string, contents: string): void;
58
- getFilePath(filePath: string): string;
59
- readFile(filePath: string): string;
60
- failureMatcher(opts: {
61
- file: string;
62
- message: string;
63
- hasFixer: boolean;
64
- }): {
65
- fixer?: any;
66
- file: string;
67
- message: string;
68
- };
69
- }
70
- export declare type AddErrorSpy = jest.SpyInstance<void, [AddErrorOptions]>;
71
- export declare const HOST_FACTORIES: Array<{
72
- name: string;
73
- make: () => Host;
74
- }>;
75
- export {};
76
- //# sourceMappingURL=utils.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/__tests__/utils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;;AAEH,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAEzE,OAAO,EAAe,IAAI,EAAc,MAAM,qBAAqB,CAAC;AAIpE,wBAAgB,YAAY,CAAC,GAAG,EAAE,EAAE,UAEnC;AAED,UAAU,oBAAoB;IAC5B,IAAI,EAAE,IAAI,CAAC;IACX,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,wBAAsB,sBAAsB,CAAC,WAAW,EAAE,oBAAoB,oCAuB7E;AAED,UAAU,wBAAyB,SAAQ,QAAQ,CAAC,oBAAoB,CAAC;IACvE,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,gBAAgB;IAC/B;;;;;;OAMG;IACH,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IAEpD,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpD,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/C,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC;IACtC,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC;IAEnC;;;OAGG;IACH,cAAc,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAE,GAAG,GAAG,CAAC;IAEhF,QAAQ,CAAC,OAAO,EAAE,gBAAgB,CAAC;CACpC;AAED,cAAM,uBAAwB,YAAW,gBAAgB;IAC3C,OAAO,CAAC,IAAI;aAA4C,OAAO,EAAE,gBAAgB;gBAAzE,IAAI,EAAE,wBAAwB,EAAkB,OAAO,EAAE,gBAAgB;IAE7F,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAOvC,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAI5C;;;;;;OAMG;IACH,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;IAM5C,WAAW,CAAC,QAAQ,EAAE,MAAM;IAI5B,QAAQ,CAAC,QAAQ,EAAE,MAAM;IAIzB,cAAc,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAE;;;;;CAO1E;AAED,oBAAY,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC;AAEpE,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,IAAI,CAAA;CAAE,CAGpE,CAAC"}
@@ -1,83 +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
- exports.HOST_FACTORIES = exports.createTestingWorkspace = exports.jsonToString = void 0;
10
- const tslib_1 = require("tslib");
11
- const core_1 = require("@monorepolint/core");
12
- const utils_1 = require("@monorepolint/utils");
13
- const path = tslib_1.__importStar(require("path"));
14
- const tmp = tslib_1.__importStar(require("tmp"));
15
- function jsonToString(obj) {
16
- return JSON.stringify(obj, undefined, 2) + "\n";
17
- }
18
- exports.jsonToString = jsonToString;
19
- async function createTestingWorkspace(inboundOpts) {
20
- var _a;
21
- tmp.setGracefulCleanup();
22
- const tmpdir = tmp.dirSync();
23
- const opts = {
24
- ...inboundOpts,
25
- rootProjectName: (_a = inboundOpts.rootProjectName) !== null && _a !== void 0 ? _a : "rootProject",
26
- };
27
- const rootPath = tmpdir.name;
28
- opts.host.mkdir(rootPath, { recursive: true });
29
- opts.host.writeJson(path.join(rootPath, "package.json"), {
30
- name: opts.rootProjectName,
31
- workspaces: {
32
- packages: ["packages/*"],
33
- },
34
- });
35
- await opts.host.flush();
36
- return new DefaultTestingWorkspace({ ...opts, rootPath }, new core_1.WorkspaceContextImpl(rootPath, { fix: opts.fixFlag, rules: [] }, opts.host));
37
- }
38
- exports.createTestingWorkspace = createTestingWorkspace;
39
- class DefaultTestingWorkspace {
40
- constructor(opts, context) {
41
- this.opts = opts;
42
- this.context = context;
43
- }
44
- addProject(name, fields) {
45
- this.writeJsonFile(path.join("packages", name, "package.json"), {
46
- name,
47
- ...fields,
48
- });
49
- }
50
- writeJsonFile(filePath, json) {
51
- this.writeFile(filePath, JSON.stringify(json, undefined, 2));
52
- }
53
- /**
54
- * Adds a utf8 file to `packageName` with `relativePath` to the package directory.
55
- *
56
- * @param packageName The child package to add to or undefined for root package
57
- * @param filePath The path of the file to be written. Will be prepended with package dir
58
- * @param contents the contents to be written (as utf8)
59
- */
60
- writeFile(filePath, contents) {
61
- const fullFilePath = this.getFilePath(filePath);
62
- this.opts.host.mkdir(path.dirname(fullFilePath), { recursive: true });
63
- this.opts.host.writeFile(fullFilePath, contents, { encoding: "utf-8" });
64
- }
65
- getFilePath(filePath) {
66
- return path.join(this.opts.rootPath, filePath);
67
- }
68
- readFile(filePath) {
69
- return this.opts.host.readFile(this.getFilePath(filePath), { encoding: "utf-8" });
70
- }
71
- failureMatcher(opts) {
72
- return {
73
- file: this.getFilePath(opts.file),
74
- message: opts.message,
75
- ...(opts.hasFixer ? { fixer: expect.any(Function) } : {}),
76
- };
77
- }
78
- }
79
- exports.HOST_FACTORIES = [
80
- { name: "SimpleHost", make: () => new utils_1.SimpleHost() },
81
- { name: "CachingHost", make: () => new utils_1.CachingHost() },
82
- ];
83
- //# sourceMappingURL=utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/__tests__/utils.ts"],"names":[],"mappings":"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"}
@@ -1,23 +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 { Context, RuleModule } from "@monorepolint/config";
8
- import * as r from "runtypes";
9
- declare const Options: r.Literal<undefined>;
10
- export declare const alphabeticalDependencies: RuleModule<typeof Options>;
11
- export declare const AlphabeticalDependencies: {
12
- new (ruleEntry: import("@monorepolint/config").RuleEntry<undefined>): {
13
- readonly id: string;
14
- options: undefined;
15
- readonly name: string;
16
- checkFunc: import("@monorepolint/config").Checker<r.Literal<undefined>>;
17
- readonly optionsRuntype: r.Literal<undefined>;
18
- readonly ruleEntry: import("@monorepolint/config").RuleEntry<undefined>;
19
- check: (context: Context) => void | Promise<void>;
20
- };
21
- };
22
- export {};
23
- //# sourceMappingURL=alphabeticalDependencies.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"alphabeticalDependencies.d.ts","sourceRoot":"","sources":["../src/alphabeticalDependencies.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,CAAC,MAAM,UAAU,CAAC;AAI9B,QAAA,MAAM,OAAO,sBAAc,CAAC;AAE5B,eAAO,MAAM,wBAAwB,EAAE,UAAU,CAAC,OAAO,OAAO,CAO/D,CAAC;AAEF,eAAO,MAAM,wBAAwB;;;;;;;;;;CAA+E,CAAC"}
@@ -1,24 +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
- exports.AlphabeticalDependencies = exports.alphabeticalDependencies = void 0;
10
- const tslib_1 = require("tslib");
11
- const r = tslib_1.__importStar(require("runtypes"));
12
- const checkAlpha_1 = require("./util/checkAlpha");
13
- const createNewRuleConversion_1 = require("./util/createNewRuleConversion");
14
- const Options = r.Undefined;
15
- exports.alphabeticalDependencies = {
16
- check: function expectAlphabeticalDependencies(context) {
17
- (0, checkAlpha_1.checkAlpha)(context, "dependencies");
18
- (0, checkAlpha_1.checkAlpha)(context, "devDependencies");
19
- (0, checkAlpha_1.checkAlpha)(context, "peerDependencies");
20
- },
21
- optionsRuntype: Options,
22
- };
23
- exports.AlphabeticalDependencies = (0, createNewRuleConversion_1.createNewRuleConversion)("AlphabetialDependencies", exports.alphabeticalDependencies);
24
- //# sourceMappingURL=alphabeticalDependencies.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"alphabeticalDependencies.js","sourceRoot":"","sources":["../src/alphabeticalDependencies.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;AAGH,oDAA8B;AAC9B,kDAA+C;AAC/C,4EAAyE;AAEzE,MAAM,OAAO,GAAG,CAAC,CAAC,SAAS,CAAC;AAEf,QAAA,wBAAwB,GAA+B;IAClE,KAAK,EAAE,SAAS,8BAA8B,CAAC,OAAgB;QAC7D,IAAA,uBAAU,EAAC,OAAO,EAAE,cAAc,CAAC,CAAC;QACpC,IAAA,uBAAU,EAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;QACvC,IAAA,uBAAU,EAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC;IAC1C,CAAC;IACD,cAAc,EAAE,OAAO;CACxB,CAAC;AAEW,QAAA,wBAAwB,GAAG,IAAA,iDAAuB,EAAC,yBAAyB,EAAE,gCAAwB,CAAC,CAAC"}
@@ -1,23 +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 { Context, RuleModule } from "@monorepolint/config";
8
- import * as r from "runtypes";
9
- declare const Options: r.Literal<undefined>;
10
- export declare const alphabeticalScripts: RuleModule<typeof Options>;
11
- export declare const AlphabeticalScripts: {
12
- new (ruleEntry: import("@monorepolint/config").RuleEntry<undefined>): {
13
- readonly id: string;
14
- options: undefined;
15
- readonly name: string;
16
- checkFunc: import("@monorepolint/config").Checker<r.Literal<undefined>>;
17
- readonly optionsRuntype: r.Literal<undefined>;
18
- readonly ruleEntry: import("@monorepolint/config").RuleEntry<undefined>;
19
- check: (context: Context) => void | Promise<void>;
20
- };
21
- };
22
- export {};
23
- //# sourceMappingURL=alphabeticalScripts.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"alphabeticalScripts.d.ts","sourceRoot":"","sources":["../src/alphabeticalScripts.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,CAAC,MAAM,UAAU,CAAC;AAI9B,QAAA,MAAM,OAAO,sBAAc,CAAC;AAE5B,eAAO,MAAM,mBAAmB,EAAE,UAAU,CAAC,OAAO,OAAO,CAK1D,CAAC;AAEF,eAAO,MAAM,mBAAmB;;;;;;;;;;CAAsE,CAAC"}
@@ -1,22 +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
- exports.AlphabeticalScripts = exports.alphabeticalScripts = void 0;
10
- const tslib_1 = require("tslib");
11
- const r = tslib_1.__importStar(require("runtypes"));
12
- const checkAlpha_1 = require("./util/checkAlpha");
13
- const createNewRuleConversion_1 = require("./util/createNewRuleConversion");
14
- const Options = r.Undefined;
15
- exports.alphabeticalScripts = {
16
- check: function expectAlphabeticalScripts(context) {
17
- (0, checkAlpha_1.checkAlpha)(context, "scripts");
18
- },
19
- optionsRuntype: Options,
20
- };
21
- exports.AlphabeticalScripts = (0, createNewRuleConversion_1.createNewRuleConversion)("AlphabeticalScripts", exports.alphabeticalScripts);
22
- //# sourceMappingURL=alphabeticalScripts.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"alphabeticalScripts.js","sourceRoot":"","sources":["../src/alphabeticalScripts.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;AAGH,oDAA8B;AAC9B,kDAA+C;AAC/C,4EAAyE;AAEzE,MAAM,OAAO,GAAG,CAAC,CAAC,SAAS,CAAC;AAEf,QAAA,mBAAmB,GAA+B;IAC7D,KAAK,EAAE,SAAS,yBAAyB,CAAC,OAAgB;QACxD,IAAA,uBAAU,EAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IACjC,CAAC;IACD,cAAc,EAAE,OAAO;CACxB,CAAC;AAEW,QAAA,mBAAmB,GAAG,IAAA,iDAAuB,EAAC,qBAAqB,EAAE,2BAAmB,CAAC,CAAC"}