@monorepolint/rules 0.5.0-alpha.103 → 0.5.0-alpha.107
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.
- package/.turbo/turbo-lint.log +34 -31
- package/.turbo/turbo-test.log +131 -124
- package/.turbo/turbo-transpile-typescript.log +9 -9
- package/build/js/chunk-GMT7IGKM.js +25 -0
- package/build/js/chunk-GMT7IGKM.js.map +1 -0
- package/build/js/index.js +61 -94
- package/build/js/index.js.map +1 -1
- package/build/js/public/util.js +7 -0
- package/build/js/public/util.js.map +1 -0
- package/build/tsconfig.tsbuildinfo +1 -1
- package/build/types/alphabeticalDependencies.d.ts +1 -15
- package/build/types/alphabeticalDependencies.d.ts.map +1 -1
- package/build/types/alphabeticalScripts.d.ts +1 -15
- package/build/types/alphabeticalScripts.d.ts.map +1 -1
- package/build/types/bannedDependencies.d.ts +36 -104
- package/build/types/bannedDependencies.d.ts.map +1 -1
- package/build/types/consistentDependencies.d.ts +3 -23
- package/build/types/consistentDependencies.d.ts.map +1 -1
- package/build/types/consistentVersions.d.ts +8 -34
- package/build/types/consistentVersions.d.ts.map +1 -1
- package/build/types/fileContents.d.ts +17 -89
- package/build/types/fileContents.d.ts.map +1 -1
- package/build/types/index.d.ts +13 -13
- package/build/types/index.d.ts.map +1 -1
- package/build/types/mustSatisfyPeerDependencies.d.ts +189 -483
- package/build/types/mustSatisfyPeerDependencies.d.ts.map +1 -1
- package/build/types/nestedWorkspaces.d.ts +1 -15
- package/build/types/nestedWorkspaces.d.ts.map +1 -1
- package/build/types/packageEntry.d.ts +30 -91
- package/build/types/packageEntry.d.ts.map +1 -1
- package/build/types/packageOrder.d.ts +3 -23
- package/build/types/packageOrder.d.ts.map +1 -1
- package/build/types/packageScript.d.ts +16 -68
- package/build/types/packageScript.d.ts.map +1 -1
- package/build/types/public/util.d.ts +2 -0
- package/build/types/public/util.d.ts.map +1 -0
- package/build/types/requireDependency.d.ts +22 -86
- package/build/types/requireDependency.d.ts.map +1 -1
- package/build/types/standardTsconfig.d.ts +9 -69
- package/build/types/standardTsconfig.d.ts.map +1 -1
- package/build/types/util/makeRule.d.ts +13 -0
- package/build/types/util/makeRule.d.ts.map +1 -0
- package/package.json +18 -12
- package/src/__tests__/alphabeticalScripts.spec.ts +2 -2
- package/src/__tests__/bannedDependencies.spec.ts +1 -3
- package/src/__tests__/consistentDependencies.spec.ts +2 -2
- package/src/__tests__/consistentVersions.spec.ts +1 -1
- package/src/__tests__/fileContents.spec.ts +16 -12
- package/src/__tests__/mustSatisfyPeerDependencies.spec.ts +1 -1
- package/src/__tests__/nestedWorkspaces.spec.ts +1 -1
- package/src/__tests__/packageEntry.spec.ts +40 -30
- package/src/__tests__/packageOrder.spec.ts +20 -12
- package/src/__tests__/packageScript.spec.ts +55 -39
- package/src/__tests__/requireDependency.spec.ts +2 -2
- package/src/alphabeticalDependencies.ts +5 -7
- package/src/alphabeticalScripts.ts +5 -7
- package/src/bannedDependencies.ts +6 -8
- package/src/consistentDependencies.ts +6 -7
- package/src/consistentVersions.ts +5 -6
- package/src/fileContents.ts +7 -8
- package/src/index.ts +13 -13
- package/src/mustSatisfyPeerDependencies.ts +5 -9
- package/src/nestedWorkspaces.ts +6 -7
- package/src/packageEntry.ts +6 -7
- package/src/packageOrder.ts +6 -7
- package/src/packageScript.ts +5 -7
- package/src/public/util.ts +1 -0
- package/src/requireDependency.ts +6 -6
- package/src/standardTsconfig.ts +7 -9
- package/src/util/makeRule.ts +29 -0
- package/build/js/index.cjs +0 -1491
- package/build/js/index.cjs.map +0 -1
- package/build/types/util/createNewRuleConversion.d.ts +0 -30
- package/build/types/util/createNewRuleConversion.d.ts.map +0 -1
- package/src/util/createNewRuleConversion.ts +0 -38
|
@@ -2,17 +2,17 @@
|
|
|
2
2
|
> @monorepolint/rules@0.4.0 transpile-typescript /home/runner/work/monorepolint/monorepolint/packages/rules
|
|
3
3
|
> tsup --config ../../tsup.config.cjs
|
|
4
4
|
|
|
5
|
-
[34mCLI[39m Building entry: src/index.ts
|
|
5
|
+
[34mCLI[39m Building entry: src/index.ts, src/public/util.ts
|
|
6
6
|
[34mCLI[39m Using tsconfig: tsconfig.json
|
|
7
7
|
[34mCLI[39m tsup v6.5.0
|
|
8
8
|
[34mCLI[39m Using tsup config: /home/runner/work/monorepolint/monorepolint/tsup.config.cjs
|
|
9
|
-
[34mCLI[39m Target:
|
|
9
|
+
[34mCLI[39m Target: node16
|
|
10
10
|
[34mCLI[39m Cleaning output folder
|
|
11
|
-
[34mCJS[39m Build start
|
|
12
11
|
[34mESM[39m Build start
|
|
13
|
-
[
|
|
14
|
-
[
|
|
15
|
-
[
|
|
16
|
-
[32mESM[39m [1mbuild/js/index.js
|
|
17
|
-
[32mESM[39m [1mbuild/js/
|
|
18
|
-
[32mESM[39m
|
|
12
|
+
[32mESM[39m [1mbuild/js/index.js [22m[32m49.84 KB[39m
|
|
13
|
+
[32mESM[39m [1mbuild/js/chunk-GMT7IGKM.js [22m[32m429.00 B[39m
|
|
14
|
+
[32mESM[39m [1mbuild/js/public/util.js [22m[32m106.00 B[39m
|
|
15
|
+
[32mESM[39m [1mbuild/js/index.js.map [22m[32m99.17 KB[39m
|
|
16
|
+
[32mESM[39m [1mbuild/js/chunk-GMT7IGKM.js.map [22m[32m1.16 KB[39m
|
|
17
|
+
[32mESM[39m [1mbuild/js/public/util.js.map [22m[32m71.00 B[39m
|
|
18
|
+
[32mESM[39m ⚡️ Build success in 47ms
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
// src/util/makeRule.ts
|
|
2
|
+
var globalId = 0;
|
|
3
|
+
function makeRule({
|
|
4
|
+
name,
|
|
5
|
+
check,
|
|
6
|
+
optionsRuntype,
|
|
7
|
+
printStats
|
|
8
|
+
}) {
|
|
9
|
+
return function(ruleEntry) {
|
|
10
|
+
const id = `${name} :: ${globalId++}`;
|
|
11
|
+
return {
|
|
12
|
+
id,
|
|
13
|
+
check: (context) => check(context, ruleEntry.options, { id }),
|
|
14
|
+
name,
|
|
15
|
+
optionsRuntype,
|
|
16
|
+
ruleEntry,
|
|
17
|
+
printStats
|
|
18
|
+
};
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
export {
|
|
23
|
+
makeRule
|
|
24
|
+
};
|
|
25
|
+
//# sourceMappingURL=chunk-GMT7IGKM.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/util/makeRule.ts"],"sourcesContent":["import { Context, RuleEntry, RuleModule } from \"@monorepolint/config\";\nimport * as r from \"runtypes\";\n\nlet globalId = 0;\nexport function makeRule<T extends r.Runtype<unknown>>({\n name,\n check,\n optionsRuntype,\n printStats,\n}: {\n name: string;\n check: (context: Context, options: r.Static<T>, extra: { id: string }) => Promise<unknown> | unknown;\n optionsRuntype: T;\n printStats?: () => void;\n}): RuleFunction<T> {\n return function (ruleEntry) {\n const id = `${name} :: ${globalId++}`;\n return {\n id,\n check: (context) => check(context, ruleEntry.options, { id }),\n name,\n optionsRuntype,\n ruleEntry,\n printStats,\n };\n };\n}\n\ntype RuleFunction<T extends r.Runtype<any>> = (ruleEntry: RuleEntry<r.Static<T>>) => RuleModule<T>;\n"],"mappings":";AAGA,IAAI,WAAW;AACR,SAAS,SAAuC;AAAA,EACrD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAKoB;AAClB,SAAO,SAAU,WAAW;AAC1B,UAAM,KAAK,GAAG,WAAW;AACzB,WAAO;AAAA,MACL;AAAA,MACA,OAAO,CAAC,YAAY,MAAM,SAAS,UAAU,SAAS,EAAE,GAAG,CAAC;AAAA,MAC5D;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,EACF;AACF;","names":[]}
|
package/build/js/index.js
CHANGED
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
import {
|
|
2
|
+
makeRule
|
|
3
|
+
} from "./chunk-GMT7IGKM.js";
|
|
4
|
+
|
|
1
5
|
// src/alphabeticalDependencies.ts
|
|
2
6
|
import * as r from "runtypes";
|
|
3
7
|
|
|
@@ -41,58 +45,37 @@ function createIncorrectOrderErrorMessage(block, packageName) {
|
|
|
41
45
|
return `Incorrect order of ${block} in ${packageName}'s package.json`;
|
|
42
46
|
}
|
|
43
47
|
|
|
44
|
-
// src/util/createNewRuleConversion.ts
|
|
45
|
-
var id = 0;
|
|
46
|
-
var NewRuleConverterBase = class {
|
|
47
|
-
constructor(name, checkFunc, optionsRuntype, ruleEntry) {
|
|
48
|
-
this.name = name;
|
|
49
|
-
this.checkFunc = checkFunc;
|
|
50
|
-
this.optionsRuntype = optionsRuntype;
|
|
51
|
-
this.ruleEntry = ruleEntry;
|
|
52
|
-
this.check = (context) => this.checkFunc(context, this.ruleEntry.options, { id: this.id });
|
|
53
|
-
this.options = ruleEntry.options;
|
|
54
|
-
this.id = `${this.name} :: ${id++}`;
|
|
55
|
-
}
|
|
56
|
-
};
|
|
57
|
-
function createNewRuleConversion(name, old) {
|
|
58
|
-
return class NewRule extends NewRuleConverterBase {
|
|
59
|
-
constructor(ruleEntry) {
|
|
60
|
-
super(name, old.check, old.optionsRuntype, ruleEntry);
|
|
61
|
-
}
|
|
62
|
-
};
|
|
63
|
-
}
|
|
64
|
-
|
|
65
48
|
// src/alphabeticalDependencies.ts
|
|
66
49
|
var Options = r.Undefined;
|
|
67
|
-
var alphabeticalDependencies = {
|
|
68
|
-
|
|
50
|
+
var alphabeticalDependencies = makeRule({
|
|
51
|
+
name: "alphabeticalDependencies",
|
|
52
|
+
check: (context) => {
|
|
69
53
|
checkAlpha(context, "dependencies");
|
|
70
54
|
checkAlpha(context, "devDependencies");
|
|
71
55
|
checkAlpha(context, "peerDependencies");
|
|
72
56
|
},
|
|
73
57
|
optionsRuntype: Options
|
|
74
|
-
};
|
|
75
|
-
var AlphabeticalDependencies = createNewRuleConversion("AlphabetialDependencies", alphabeticalDependencies);
|
|
58
|
+
});
|
|
76
59
|
|
|
77
60
|
// src/alphabeticalScripts.ts
|
|
78
61
|
import * as r2 from "runtypes";
|
|
79
62
|
var Options2 = r2.Undefined;
|
|
80
|
-
var alphabeticalScripts = {
|
|
81
|
-
|
|
63
|
+
var alphabeticalScripts = makeRule({
|
|
64
|
+
name: "alphabeticalScripts",
|
|
65
|
+
check: (context) => {
|
|
82
66
|
checkAlpha(context, "scripts");
|
|
83
67
|
},
|
|
84
68
|
optionsRuntype: Options2
|
|
85
|
-
};
|
|
86
|
-
var AlphabeticalScripts = createNewRuleConversion("AlphabeticalScripts", alphabeticalScripts);
|
|
69
|
+
});
|
|
87
70
|
|
|
88
71
|
// src/bannedDependencies.ts
|
|
89
72
|
import { matchesAnyGlob } from "@monorepolint/utils";
|
|
90
73
|
import { AggregateTiming } from "@monorepolint/utils";
|
|
91
|
-
import * as path2 from "path";
|
|
74
|
+
import * as path2 from "node:path";
|
|
92
75
|
import * as r3 from "runtypes";
|
|
93
76
|
|
|
94
77
|
// src/util/packageDependencyGraphService.ts
|
|
95
|
-
import * as path from "path";
|
|
78
|
+
import * as path from "node:path";
|
|
96
79
|
import resolvePackagePath from "resolve-package-path";
|
|
97
80
|
var PackageDependencyGraphService = class {
|
|
98
81
|
buildDependencyGraph(startPackageJsonPath, host, maxDepth) {
|
|
@@ -170,9 +153,10 @@ var Options3 = r3.Union(
|
|
|
170
153
|
);
|
|
171
154
|
var setCache = /* @__PURE__ */ new Map();
|
|
172
155
|
var aggregateTiming = new AggregateTiming(":bannedDependencies stats");
|
|
173
|
-
var bannedDependencies = {
|
|
174
|
-
|
|
175
|
-
|
|
156
|
+
var bannedDependencies = makeRule({
|
|
157
|
+
name: "bannedDependencies",
|
|
158
|
+
check: (context, opts, extra) => {
|
|
159
|
+
aggregateTiming.start((extra == null ? void 0 : extra.id) ?? "unknown id");
|
|
176
160
|
const packageJson = context.getPackageJson();
|
|
177
161
|
const packagePath = context.getPackageJsonPath();
|
|
178
162
|
const curDeps = packageJson.dependencies && Object.keys(packageJson.dependencies);
|
|
@@ -224,8 +208,7 @@ var bannedDependencies = {
|
|
|
224
208
|
printStats: () => {
|
|
225
209
|
aggregateTiming.printResults();
|
|
226
210
|
}
|
|
227
|
-
};
|
|
228
|
-
var BannedDependencies = createNewRuleConversion("BannedDependencies", bannedDependencies);
|
|
211
|
+
});
|
|
229
212
|
function populateProblemsExact(banned, dependencies, violations) {
|
|
230
213
|
for (const dependency of dependencies) {
|
|
231
214
|
if (banned.has(dependency)) {
|
|
@@ -267,21 +250,21 @@ var Options4 = r4.Record({
|
|
|
267
250
|
ignoredDependencies: r4.Array(r4.String).Or(r4.Undefined)
|
|
268
251
|
}).Or(r4.Undefined);
|
|
269
252
|
var skippedVersions = ["*", "latest"];
|
|
270
|
-
var consistentDependencies = {
|
|
271
|
-
|
|
253
|
+
var consistentDependencies = makeRule({
|
|
254
|
+
name: "consistentDependencies",
|
|
255
|
+
check: (context, args) => {
|
|
272
256
|
checkDeps(context, args, "dependencies");
|
|
273
257
|
checkDeps(context, args, "devDependencies");
|
|
274
258
|
},
|
|
275
259
|
optionsRuntype: Options4
|
|
276
|
-
};
|
|
277
|
-
var ConsistentDependencies = createNewRuleConversion("ConsistentDependencies", consistentDependencies);
|
|
260
|
+
});
|
|
278
261
|
function checkDeps(context, args, block) {
|
|
279
262
|
const packageJson = context.getPackageJson();
|
|
280
263
|
const packagePath = context.getPackageJsonPath();
|
|
281
264
|
const dependencies = packageJson[block];
|
|
282
265
|
const workspacePackageJson = context.getWorkspaceContext().getPackageJson();
|
|
283
266
|
const workspaceDependencies = workspacePackageJson[block];
|
|
284
|
-
const ignoredDeps = args
|
|
267
|
+
const ignoredDeps = (args == null ? void 0 : args.ignoredDependencies) ?? [];
|
|
285
268
|
const depsToCheck = workspaceDependencies == null || ignoredDeps.length === 0 ? workspaceDependencies : omit(workspaceDependencies, ignoredDeps);
|
|
286
269
|
if (dependencies === void 0 || depsToCheck === void 0) {
|
|
287
270
|
return;
|
|
@@ -328,10 +311,11 @@ import { coerce } from "semver";
|
|
|
328
311
|
var Options5 = r5.Record({
|
|
329
312
|
matchDependencyVersions: r5.Dictionary(r5.Union(r5.String, r5.Array(r5.String)))
|
|
330
313
|
});
|
|
331
|
-
var consistentVersions = {
|
|
314
|
+
var consistentVersions = makeRule({
|
|
315
|
+
name: "consistentVersions",
|
|
332
316
|
check: checkConsistentVersions,
|
|
333
317
|
optionsRuntype: Options5
|
|
334
|
-
};
|
|
318
|
+
});
|
|
335
319
|
function checkConsistentVersions(context, options) {
|
|
336
320
|
for (const [dependencyPackageName, expectedPackageDependencyValue] of Object.entries(
|
|
337
321
|
options.matchDependencyVersions
|
|
@@ -416,7 +400,6 @@ var ensurePackageMatchesSomeVersion = (context, dependencyPackageName, acceptedP
|
|
|
416
400
|
});
|
|
417
401
|
}
|
|
418
402
|
};
|
|
419
|
-
var ConsistentVersions = createNewRuleConversion("ConsistentVersions", consistentVersions);
|
|
420
403
|
|
|
421
404
|
// src/fileContents.ts
|
|
422
405
|
import { diff as diff3 } from "jest-diff";
|
|
@@ -442,8 +425,9 @@ var Options6 = r6.Union(
|
|
|
442
425
|
templateFile: r6.String
|
|
443
426
|
})
|
|
444
427
|
);
|
|
445
|
-
var fileContents = {
|
|
446
|
-
|
|
428
|
+
var fileContents = makeRule({
|
|
429
|
+
name: "fileContents",
|
|
430
|
+
check: (context, opts) => {
|
|
447
431
|
const fullPath = path3.join(context.packageDir, opts.file);
|
|
448
432
|
const expectedContent = getExpectedContents(context, opts);
|
|
449
433
|
const pathExists = context.host.exists(fullPath);
|
|
@@ -466,7 +450,7 @@ var fileContents = {
|
|
|
466
450
|
}
|
|
467
451
|
},
|
|
468
452
|
optionsRuntype: Options6
|
|
469
|
-
};
|
|
453
|
+
});
|
|
470
454
|
var optionsCache = /* @__PURE__ */ new Map();
|
|
471
455
|
function getExpectedContents(context, opts) {
|
|
472
456
|
if (optionsCache.has(opts)) {
|
|
@@ -490,11 +474,10 @@ function getExpectedContents(context, opts) {
|
|
|
490
474
|
return opts.template;
|
|
491
475
|
}
|
|
492
476
|
}
|
|
493
|
-
var FileContents = createNewRuleConversion("FileContents", fileContents);
|
|
494
477
|
|
|
495
478
|
// src/mustSatisfyPeerDependencies.ts
|
|
496
479
|
import { mutateJson as mutateJson2 } from "@monorepolint/utils";
|
|
497
|
-
import * as path4 from "path";
|
|
480
|
+
import * as path4 from "node:path";
|
|
498
481
|
import * as r7 from "runtypes";
|
|
499
482
|
import { coerce as coerce2 } from "semver";
|
|
500
483
|
import resolvePackagePath2 from "resolve-package-path";
|
|
@@ -638,14 +621,11 @@ var Options7 = r7.Union(
|
|
|
638
621
|
enforceForDevDependencies: r7.Boolean
|
|
639
622
|
})
|
|
640
623
|
);
|
|
641
|
-
var mustSatisfyPeerDependencies = {
|
|
624
|
+
var mustSatisfyPeerDependencies = makeRule({
|
|
625
|
+
name: "mustSatisfyPeerDependencies",
|
|
642
626
|
check: checkSatisfyPeerDependencies,
|
|
643
627
|
optionsRuntype: Options7
|
|
644
|
-
};
|
|
645
|
-
var MustSatisfyPeerDependencies = createNewRuleConversion(
|
|
646
|
-
"MustSatisfyPeerDependencies",
|
|
647
|
-
mustSatisfyPeerDependencies
|
|
648
|
-
);
|
|
628
|
+
});
|
|
649
629
|
var MATCH_ANY_VERSION_RANGE = /^(\*|x)$/;
|
|
650
630
|
var MATCH_GREATER_OR_EQUAL_VERSION_RANGE = /^>= ?\d+(?:\.\d+|\.\d+\.\d+(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?)?$/;
|
|
651
631
|
var MATCH_MAJOR_VERSION_RANGE = /^(?:\^?\d+|\^?\d+\.x|\^?\d+\.x\.x|\^\d+\.\d+|\^\d+\.\d+\.x|\^\d+\.\d+\.\d+(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?)$/;
|
|
@@ -989,8 +969,9 @@ var defaultKeyOrder = [
|
|
|
989
969
|
"optionalDependencies",
|
|
990
970
|
"publishConfig"
|
|
991
971
|
];
|
|
992
|
-
var packageOrder = {
|
|
993
|
-
|
|
972
|
+
var packageOrder = makeRule({
|
|
973
|
+
name: "packageOrder",
|
|
974
|
+
check: (context, opts) => {
|
|
994
975
|
const packageJson = context.getPackageJson();
|
|
995
976
|
const packagePath = context.getPackageJsonPath();
|
|
996
977
|
const order = opts === void 0 ? defaultKeyOrder : opts.order;
|
|
@@ -1013,8 +994,7 @@ var packageOrder = {
|
|
|
1013
994
|
}
|
|
1014
995
|
},
|
|
1015
996
|
optionsRuntype: Options8
|
|
1016
|
-
};
|
|
1017
|
-
var PackageOrder = createNewRuleConversion("PackageOrder", packageOrder);
|
|
997
|
+
});
|
|
1018
998
|
function arrayOrderCompare2(a, b) {
|
|
1019
999
|
for (let index = 0; index < a.length; index++) {
|
|
1020
1000
|
if (a[index] !== b[index]) {
|
|
@@ -1068,8 +1048,9 @@ var Options9 = r9.Union(
|
|
|
1068
1048
|
entriesExist: r9.Array(r9.String)
|
|
1069
1049
|
})
|
|
1070
1050
|
);
|
|
1071
|
-
var packageEntry = {
|
|
1072
|
-
|
|
1051
|
+
var packageEntry = makeRule({
|
|
1052
|
+
name: "packageEntry",
|
|
1053
|
+
check: (context, options) => {
|
|
1073
1054
|
const packageJson = context.getPackageJson();
|
|
1074
1055
|
if (options.entries) {
|
|
1075
1056
|
for (const key of Object.keys(options.entries)) {
|
|
@@ -1102,8 +1083,7 @@ var packageEntry = {
|
|
|
1102
1083
|
}
|
|
1103
1084
|
},
|
|
1104
1085
|
optionsRuntype: Options9
|
|
1105
|
-
};
|
|
1106
|
-
var PackageEntry = createNewRuleConversion("PackageEntry", packageEntry);
|
|
1086
|
+
});
|
|
1107
1087
|
function createStandardizedEntryErrorMessage(key) {
|
|
1108
1088
|
return `Expected standardized entry for '${key}'`;
|
|
1109
1089
|
}
|
|
@@ -1127,8 +1107,9 @@ var Options10 = r10.Record({
|
|
|
1127
1107
|
)
|
|
1128
1108
|
});
|
|
1129
1109
|
var MSG_NO_SCRIPTS_BLOCK = "No scripts block in package.json";
|
|
1130
|
-
var packageScript = {
|
|
1131
|
-
|
|
1110
|
+
var packageScript = makeRule({
|
|
1111
|
+
name: "packageScript",
|
|
1112
|
+
check: (context, options) => {
|
|
1132
1113
|
const packageJson = context.getPackageJson();
|
|
1133
1114
|
if (packageJson.scripts === void 0) {
|
|
1134
1115
|
context.addError({
|
|
@@ -1188,8 +1169,7 @@ var packageScript = {
|
|
|
1188
1169
|
}
|
|
1189
1170
|
},
|
|
1190
1171
|
optionsRuntype: Options10
|
|
1191
|
-
};
|
|
1192
|
-
var PackageScript = createNewRuleConversion("PackageScript", packageScript);
|
|
1172
|
+
});
|
|
1193
1173
|
|
|
1194
1174
|
// src/standardTsconfig.ts
|
|
1195
1175
|
import { matchesAnyGlob as matchesAnyGlob2 } from "@monorepolint/utils";
|
|
@@ -1218,8 +1198,9 @@ var Options11 = r11.Partial({
|
|
|
1218
1198
|
}
|
|
1219
1199
|
return count === 1 || "Expect one of { generator, template, templateFile }";
|
|
1220
1200
|
});
|
|
1221
|
-
var standardTsconfig = {
|
|
1222
|
-
|
|
1201
|
+
var standardTsconfig = makeRule({
|
|
1202
|
+
name: "standardTsconfig",
|
|
1203
|
+
check: async (context, opts) => {
|
|
1223
1204
|
const tsconfigFileName = opts.file ?? DEFAULT_TSCONFIG_FILENAME;
|
|
1224
1205
|
const fullPath = path5.resolve(context.packageDir, tsconfigFileName);
|
|
1225
1206
|
const generator = getGenerator(context, opts);
|
|
@@ -1246,8 +1227,7 @@ var standardTsconfig = {
|
|
|
1246
1227
|
}
|
|
1247
1228
|
},
|
|
1248
1229
|
optionsRuntype: Options11
|
|
1249
|
-
};
|
|
1250
|
-
var StandardTsConfig = createNewRuleConversion("StandardTsconfig", standardTsconfig);
|
|
1230
|
+
});
|
|
1251
1231
|
function getGenerator(context, opts) {
|
|
1252
1232
|
if (opts.generator) {
|
|
1253
1233
|
return opts.generator;
|
|
@@ -1273,7 +1253,7 @@ function makeGenerator(template, excludedReferences, additionalReferences, tscon
|
|
|
1273
1253
|
const deps = [...Object.keys(packageJson.dependencies || {}), ...Object.keys(packageJson.devDependencies || {})];
|
|
1274
1254
|
for (const dep of deps) {
|
|
1275
1255
|
const packageDir = nameToDirectory.get(dep);
|
|
1276
|
-
if (packageDir !== void 0 && (excludedReferences === void 0 || matchesAnyGlob2(dep, excludedReferences))) {
|
|
1256
|
+
if (packageDir !== void 0 && (excludedReferences === void 0 || !matchesAnyGlob2(dep, excludedReferences))) {
|
|
1277
1257
|
const absoluteReferencePath = tsconfigReferenceFile !== void 0 ? path5.join(packageDir, tsconfigReferenceFile) : packageDir;
|
|
1278
1258
|
template.references.push({
|
|
1279
1259
|
path: path5.relative(context.packageDir, absoluteReferencePath)
|
|
@@ -1293,10 +1273,11 @@ function makeGenerator(template, excludedReferences, additionalReferences, tscon
|
|
|
1293
1273
|
|
|
1294
1274
|
// src/nestedWorkspaces.ts
|
|
1295
1275
|
import * as globby from "globby";
|
|
1296
|
-
import * as path6 from "path";
|
|
1276
|
+
import * as path6 from "node:path";
|
|
1297
1277
|
import * as r12 from "runtypes";
|
|
1298
1278
|
var Options12 = r12.Undefined;
|
|
1299
|
-
var nestedWorkspaces = {
|
|
1279
|
+
var nestedWorkspaces = makeRule({
|
|
1280
|
+
name: "nestedWorkspaces",
|
|
1300
1281
|
check: (context) => {
|
|
1301
1282
|
const rootPackageJson = context.getWorkspaceContext().getPackageJson();
|
|
1302
1283
|
const packageJsonPaths = globby.globbySync(["*/**/package.json", "!**/node_modules/**"]);
|
|
@@ -1320,8 +1301,7 @@ var nestedWorkspaces = {
|
|
|
1320
1301
|
}
|
|
1321
1302
|
},
|
|
1322
1303
|
optionsRuntype: Options12
|
|
1323
|
-
};
|
|
1324
|
-
var NestedWorkspaces = createNewRuleConversion("NestedWorkspaces", nestedWorkspaces);
|
|
1304
|
+
});
|
|
1325
1305
|
|
|
1326
1306
|
// src/requireDependency.ts
|
|
1327
1307
|
import { mutateJson as mutateJson5 } from "@monorepolint/utils";
|
|
@@ -1333,8 +1313,9 @@ var Options13 = r13.Partial({
|
|
|
1333
1313
|
peerDependencies: r13.Dictionary(r13.String),
|
|
1334
1314
|
optionalDependencies: r13.Dictionary(r13.String)
|
|
1335
1315
|
});
|
|
1336
|
-
var requireDependency = {
|
|
1337
|
-
|
|
1316
|
+
var requireDependency = makeRule({
|
|
1317
|
+
name: "requireDependency",
|
|
1318
|
+
check: function expectPackageEntry(context, options) {
|
|
1338
1319
|
const packageJson = context.getPackageJson();
|
|
1339
1320
|
const packageJsonPath = context.getPackageJsonPath();
|
|
1340
1321
|
[
|
|
@@ -1379,22 +1360,8 @@ var requireDependency = {
|
|
|
1379
1360
|
});
|
|
1380
1361
|
},
|
|
1381
1362
|
optionsRuntype: Options13
|
|
1382
|
-
};
|
|
1383
|
-
var RequireDependency = createNewRuleConversion("RequireDependency", requireDependency);
|
|
1363
|
+
});
|
|
1384
1364
|
export {
|
|
1385
|
-
AlphabeticalDependencies,
|
|
1386
|
-
AlphabeticalScripts,
|
|
1387
|
-
BannedDependencies,
|
|
1388
|
-
ConsistentDependencies,
|
|
1389
|
-
ConsistentVersions,
|
|
1390
|
-
FileContents,
|
|
1391
|
-
MustSatisfyPeerDependencies,
|
|
1392
|
-
NestedWorkspaces,
|
|
1393
|
-
PackageEntry,
|
|
1394
|
-
PackageOrder,
|
|
1395
|
-
PackageScript,
|
|
1396
|
-
RequireDependency,
|
|
1397
|
-
StandardTsConfig,
|
|
1398
1365
|
alphabeticalDependencies,
|
|
1399
1366
|
alphabeticalScripts,
|
|
1400
1367
|
bannedDependencies,
|
|
@@ -1422,7 +1389,7 @@ export {
|
|
|
1422
1389
|
*
|
|
1423
1390
|
*/
|
|
1424
1391
|
/*!
|
|
1425
|
-
* Copyright
|
|
1392
|
+
* Copyright 2023 Palantir Technologies, Inc.
|
|
1426
1393
|
*
|
|
1427
1394
|
* Licensed under the MIT license. See LICENSE file in the project root for details.
|
|
1428
1395
|
*
|