@xylabs/ts-scripts-yarn3 7.0.0-rc.8 → 7.0.0
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/dist/actions/build.mjs +87 -39
- package/dist/actions/build.mjs.map +1 -1
- package/dist/actions/clean-docs.mjs +22 -8
- package/dist/actions/clean-docs.mjs.map +1 -1
- package/dist/actions/clean-eslint.mjs +11 -5
- package/dist/actions/clean-eslint.mjs.map +1 -1
- package/dist/actions/clean-jest.mjs +29 -16
- package/dist/actions/clean-jest.mjs.map +1 -1
- package/dist/actions/clean.mjs +63 -32
- package/dist/actions/clean.mjs.map +1 -1
- package/dist/actions/compile.mjs +76 -50
- package/dist/actions/compile.mjs.map +1 -1
- package/dist/actions/copy-assets.mjs +38 -23
- package/dist/actions/copy-assets.mjs.map +1 -1
- package/dist/actions/cycle.mjs +57 -28
- package/dist/actions/cycle.mjs.map +1 -1
- package/dist/actions/dead.mjs +31 -16
- package/dist/actions/dead.mjs.map +1 -1
- package/dist/actions/deplint/checkPackage/checkPackage.mjs +74 -50
- package/dist/actions/deplint/checkPackage/checkPackage.mjs.map +1 -1
- package/dist/actions/deplint/checkPackage/getUnlistedDependencies.mjs +7 -7
- package/dist/actions/deplint/checkPackage/getUnlistedDependencies.mjs.map +1 -1
- package/dist/actions/deplint/checkPackage/getUnlistedDevDependencies.mjs +6 -10
- package/dist/actions/deplint/checkPackage/getUnlistedDevDependencies.mjs.map +1 -1
- package/dist/actions/deplint/checkPackage/getUnusedDependencies.mjs +5 -5
- package/dist/actions/deplint/checkPackage/getUnusedDependencies.mjs.map +1 -1
- package/dist/actions/deplint/checkPackage/getUnusedPeerDependencies.mjs +4 -0
- package/dist/actions/deplint/checkPackage/getUnusedPeerDependencies.mjs.map +1 -1
- package/dist/actions/deplint/checkPackage/index.mjs +74 -50
- package/dist/actions/deplint/checkPackage/index.mjs.map +1 -1
- package/dist/actions/deplint/deplint.mjs +89 -62
- package/dist/actions/deplint/deplint.mjs.map +1 -1
- package/dist/actions/deplint/findFiles.mjs +20 -4
- package/dist/actions/deplint/findFiles.mjs.map +1 -1
- package/dist/actions/deplint/findFilesByGlob.mjs +8 -1
- package/dist/actions/deplint/findFilesByGlob.mjs.map +1 -1
- package/dist/actions/deplint/getBasePackageName.mjs +4 -0
- package/dist/actions/deplint/getBasePackageName.mjs.map +1 -1
- package/dist/actions/deplint/getDependenciesFromPackageJson.mjs +4 -0
- package/dist/actions/deplint/getDependenciesFromPackageJson.mjs.map +1 -1
- package/dist/actions/deplint/getExternalImportsFromFiles.mjs +24 -12
- package/dist/actions/deplint/getExternalImportsFromFiles.mjs.map +1 -1
- package/dist/actions/deplint/getImportsFromFile.mjs +16 -9
- package/dist/actions/deplint/getImportsFromFile.mjs.map +1 -1
- package/dist/actions/deplint/index.mjs +89 -62
- package/dist/actions/deplint/index.mjs.map +1 -1
- package/dist/actions/deploy-major.mjs +57 -26
- package/dist/actions/deploy-major.mjs.map +1 -1
- package/dist/actions/deploy-minor.mjs +57 -26
- package/dist/actions/deploy-minor.mjs.map +1 -1
- package/dist/actions/deploy-next.mjs +57 -26
- package/dist/actions/deploy-next.mjs.map +1 -1
- package/dist/actions/deploy.mjs +57 -26
- package/dist/actions/deploy.mjs.map +1 -1
- package/dist/actions/dupdeps.mjs +37 -26
- package/dist/actions/dupdeps.mjs.map +1 -1
- package/dist/actions/fix.mjs +54 -36
- package/dist/actions/fix.mjs.map +1 -1
- package/dist/actions/gen-docs.mjs +65 -25
- package/dist/actions/gen-docs.mjs.map +1 -1
- package/dist/actions/gitignore-gen.mjs +44 -28
- package/dist/actions/gitignore-gen.mjs.map +1 -1
- package/dist/actions/gitlint-fix.mjs +14 -5
- package/dist/actions/gitlint-fix.mjs.map +1 -1
- package/dist/actions/gitlint.mjs +7 -4
- package/dist/actions/gitlint.mjs.map +1 -1
- package/dist/actions/index.mjs +1481 -901
- package/dist/actions/index.mjs.map +1 -1
- package/dist/actions/knip.mjs +31 -16
- package/dist/actions/knip.mjs.map +1 -1
- package/dist/actions/license.mjs +51 -37
- package/dist/actions/license.mjs.map +1 -1
- package/dist/actions/lint.mjs +48 -33
- package/dist/actions/lint.mjs.map +1 -1
- package/dist/actions/npmignore-gen.mjs +44 -28
- package/dist/actions/npmignore-gen.mjs.map +1 -1
- package/dist/actions/package/clean-outputs.mjs +16 -6
- package/dist/actions/package/clean-outputs.mjs.map +1 -1
- package/dist/actions/package/clean-typescript.mjs +16 -6
- package/dist/actions/package/clean-typescript.mjs.map +1 -1
- package/dist/actions/package/clean.mjs +29 -12
- package/dist/actions/package/clean.mjs.map +1 -1
- package/dist/actions/package/compile/buildEntries.mjs +36 -8
- package/dist/actions/package/compile/buildEntries.mjs.map +1 -1
- package/dist/actions/package/compile/compile.mjs +347 -144
- package/dist/actions/package/compile/compile.mjs.map +1 -1
- package/dist/actions/package/compile/copyTypeFiles.mjs +23 -20
- package/dist/actions/package/compile/copyTypeFiles.mjs.map +1 -1
- package/dist/actions/package/compile/deepMerge.mjs +5 -0
- package/dist/actions/package/compile/deepMerge.mjs.map +1 -1
- package/dist/actions/package/compile/getCompilerOptions.mjs +9 -23
- package/dist/actions/package/compile/getCompilerOptions.mjs.map +1 -1
- package/dist/actions/package/compile/index.mjs +347 -226
- package/dist/actions/package/compile/index.mjs.map +1 -1
- package/dist/actions/package/compile/inputs.mjs +26 -3
- package/dist/actions/package/compile/inputs.mjs.map +1 -1
- package/dist/actions/package/compile/packageCompileTsc.mjs +57 -96
- package/dist/actions/package/compile/packageCompileTsc.mjs.map +1 -1
- package/dist/actions/package/compile/packageCompileTscTypes.mjs +95 -24
- package/dist/actions/package/compile/packageCompileTscTypes.mjs.map +1 -1
- package/dist/actions/package/compile/packageCompileTsup.mjs +322 -126
- package/dist/actions/package/compile/packageCompileTsup.mjs.map +1 -1
- package/dist/actions/package/copy-assets.mjs +21 -12
- package/dist/actions/package/copy-assets.mjs.map +1 -1
- package/dist/actions/package/cycle.mjs +16 -9
- package/dist/actions/package/cycle.mjs.map +1 -1
- package/dist/actions/package/gen-docs.mjs +12 -11
- package/dist/actions/package/gen-docs.mjs.map +1 -1
- package/dist/actions/package/index.mjs +467 -304
- package/dist/actions/package/index.mjs.map +1 -1
- package/dist/actions/package/lint.mjs +39 -16
- package/dist/actions/package/lint.mjs.map +1 -1
- package/dist/actions/package/publint.mjs +7 -4
- package/dist/actions/package/publint.mjs.map +1 -1
- package/dist/actions/package/recompile.mjs +375 -158
- package/dist/actions/package/recompile.mjs.map +1 -1
- package/dist/actions/publint.mjs +71 -37
- package/dist/actions/publint.mjs.map +1 -1
- package/dist/actions/rebuild.mjs +29 -17
- package/dist/actions/rebuild.mjs.map +1 -1
- package/dist/actions/recompile.mjs +67 -50
- package/dist/actions/recompile.mjs.map +1 -1
- package/dist/actions/reinstall.mjs +43 -25
- package/dist/actions/reinstall.mjs.map +1 -1
- package/dist/actions/relint.mjs +63 -40
- package/dist/actions/relint.mjs.map +1 -1
- package/dist/actions/retest.mjs +35 -17
- package/dist/actions/retest.mjs.map +1 -1
- package/dist/actions/sonar.mjs +32 -16
- package/dist/actions/sonar.mjs.map +1 -1
- package/dist/actions/statics.mjs +46 -27
- package/dist/actions/statics.mjs.map +1 -1
- package/dist/actions/test.mjs +30 -16
- package/dist/actions/test.mjs.map +1 -1
- package/dist/actions/up.mjs +27 -16
- package/dist/actions/up.mjs.map +1 -1
- package/dist/actions/updo.mjs +33 -18
- package/dist/actions/updo.mjs.map +1 -1
- package/dist/actions/upplug.mjs +53 -19
- package/dist/actions/upplug.mjs.map +1 -1
- package/dist/actions/upyarn.mjs +31 -16
- package/dist/actions/upyarn.mjs.map +1 -1
- package/dist/actions/yarn3only.mjs +23 -12
- package/dist/actions/yarn3only.mjs.map +1 -1
- package/dist/bin/package/build-only.mjs +350 -148
- package/dist/bin/package/build-only.mjs.map +1 -1
- package/dist/bin/package/build.mjs +352 -148
- package/dist/bin/package/build.mjs.map +1 -1
- package/dist/bin/package/clean-outputs.mjs +15 -6
- package/dist/bin/package/clean-outputs.mjs.map +1 -1
- package/dist/bin/package/clean-typescript.mjs +15 -6
- package/dist/bin/package/clean-typescript.mjs.map +1 -1
- package/dist/bin/package/clean.mjs +28 -12
- package/dist/bin/package/clean.mjs.map +1 -1
- package/dist/bin/package/compile-only.mjs +349 -147
- package/dist/bin/package/compile-only.mjs.map +1 -1
- package/dist/bin/package/compile-tsup.mjs +324 -129
- package/dist/bin/package/compile-tsup.mjs.map +1 -1
- package/dist/bin/package/compile.mjs +350 -148
- package/dist/bin/package/compile.mjs.map +1 -1
- package/dist/bin/package/copy-assets-cjs.mjs +23 -13
- package/dist/bin/package/copy-assets-cjs.mjs.map +1 -1
- package/dist/bin/package/copy-assets-esm.mjs +23 -13
- package/dist/bin/package/copy-assets-esm.mjs.map +1 -1
- package/dist/bin/package/cycle.mjs +17 -11
- package/dist/bin/package/cycle.mjs.map +1 -1
- package/dist/bin/package/fix.mjs +38 -16
- package/dist/bin/package/fix.mjs.map +1 -1
- package/dist/bin/package/gen-docs.mjs +11 -11
- package/dist/bin/package/gen-docs.mjs.map +1 -1
- package/dist/bin/package/lint.mjs +38 -16
- package/dist/bin/package/lint.mjs.map +1 -1
- package/dist/bin/package/publint.mjs +6 -4
- package/dist/bin/package/publint.mjs.map +1 -1
- package/dist/bin/package/recompile.mjs +376 -160
- package/dist/bin/package/recompile.mjs.map +1 -1
- package/dist/bin/package/relint.mjs +38 -16
- package/dist/bin/package/relint.mjs.map +1 -1
- package/dist/bin/xy.mjs +1319 -1056
- package/dist/bin/xy.mjs.map +1 -1
- package/dist/index.d.ts +9 -26
- package/dist/index.mjs +1848 -1410
- package/dist/index.mjs.map +1 -1
- package/dist/lib/checkResult.mjs +5 -2
- package/dist/lib/checkResult.mjs.map +1 -1
- package/dist/lib/createBuildConfig.mjs +24 -9
- package/dist/lib/createBuildConfig.mjs.map +1 -1
- package/dist/lib/defaultBuildConfig.mjs +6 -2
- package/dist/lib/defaultBuildConfig.mjs.map +1 -1
- package/dist/lib/deleteGlob.mjs +9 -3
- package/dist/lib/deleteGlob.mjs.map +1 -1
- package/dist/lib/dependencies/DuplicateDetector.mjs +23 -12
- package/dist/lib/dependencies/DuplicateDetector.mjs.map +1 -1
- package/dist/lib/dependencies/detectDuplicateDependencies.mjs +33 -22
- package/dist/lib/dependencies/detectDuplicateDependencies.mjs.map +1 -1
- package/dist/lib/dependencies/index.mjs +33 -22
- package/dist/lib/dependencies/index.mjs.map +1 -1
- package/dist/lib/file/ReadFileSyncOptions.mjs +3 -1
- package/dist/lib/file/ReadFileSyncOptions.mjs.map +1 -1
- package/dist/lib/file/constants.mjs.map +1 -1
- package/dist/lib/file/fileLines.mjs +13 -12
- package/dist/lib/file/fileLines.mjs.map +1 -1
- package/dist/lib/file/index.mjs +15 -14
- package/dist/lib/file/index.mjs.map +1 -1
- package/dist/lib/file/tryReadFileSync.mjs +8 -3
- package/dist/lib/file/tryReadFileSync.mjs.map +1 -1
- package/dist/lib/generateIgnoreFiles.mjs +43 -27
- package/dist/lib/generateIgnoreFiles.mjs.map +1 -1
- package/dist/lib/index.mjs +166 -106
- package/dist/lib/index.mjs.map +1 -1
- package/dist/lib/jsonFormatters.mjs +5 -2
- package/dist/lib/jsonFormatters.mjs.map +1 -1
- package/dist/lib/loadConfig.mjs +20 -10
- package/dist/lib/loadConfig.mjs.map +1 -1
- package/dist/lib/parsedPackageJSON.mjs +5 -2
- package/dist/lib/parsedPackageJSON.mjs.map +1 -1
- package/dist/lib/processEx.mjs +9 -6
- package/dist/lib/processEx.mjs.map +1 -1
- package/dist/lib/runSteps.mjs +19 -13
- package/dist/lib/runSteps.mjs.map +1 -1
- package/dist/lib/runStepsAsync.mjs +22 -22
- package/dist/lib/runStepsAsync.mjs.map +1 -1
- package/dist/lib/runXy.mjs +31 -19
- package/dist/lib/runXy.mjs.map +1 -1
- package/dist/lib/runXyWithWarning.mjs +5 -2
- package/dist/lib/runXyWithWarning.mjs.map +1 -1
- package/dist/lib/safeExit.mjs +13 -10
- package/dist/lib/safeExit.mjs.map +1 -1
- package/dist/lib/string/empty.mjs +5 -2
- package/dist/lib/string/empty.mjs.map +1 -1
- package/dist/lib/string/index.mjs +9 -3
- package/dist/lib/string/index.mjs.map +1 -1
- package/dist/lib/string/union.mjs +7 -1
- package/dist/lib/string/union.mjs.map +1 -1
- package/dist/lib/withErrnoException.mjs +7 -4
- package/dist/lib/withErrnoException.mjs.map +1 -1
- package/dist/lib/withError.mjs +5 -2
- package/dist/lib/withError.mjs.map +1 -1
- package/dist/lib/yarn/index.mjs +30 -11
- package/dist/lib/yarn/index.mjs.map +1 -1
- package/dist/lib/yarn/isYarnVersionOrGreater.mjs +15 -4
- package/dist/lib/yarn/isYarnVersionOrGreater.mjs.map +1 -1
- package/dist/lib/yarn/workspace/index.mjs +16 -5
- package/dist/lib/yarn/workspace/index.mjs.map +1 -1
- package/dist/lib/yarn/workspace/yarnWorkspace.mjs +16 -5
- package/dist/lib/yarn/workspace/yarnWorkspace.mjs.map +1 -1
- package/dist/lib/yarn/workspace/yarnWorkspaces.mjs +14 -3
- package/dist/lib/yarn/workspace/yarnWorkspaces.mjs.map +1 -1
- package/dist/lib/yarn/yarnInitCwd.mjs +5 -2
- package/dist/lib/yarn/yarnInitCwd.mjs.map +1 -1
- package/dist/loadPackageConfig.mjs +8 -3
- package/dist/loadPackageConfig.mjs.map +1 -1
- package/dist/xy/index.mjs +1320 -1056
- package/dist/xy/index.mjs.map +1 -1
- package/dist/xy/param.mjs +9 -3
- package/dist/xy/param.mjs.map +1 -1
- package/dist/xy/xy.mjs +1320 -1056
- package/dist/xy/xy.mjs.map +1 -1
- package/dist/xy/xyBuildCommands.mjs +324 -305
- package/dist/xy/xyBuildCommands.mjs.map +1 -1
- package/dist/xy/xyCommonCommands.mjs +336 -251
- package/dist/xy/xyCommonCommands.mjs.map +1 -1
- package/dist/xy/xyDeployCommands.mjs +161 -99
- package/dist/xy/xyDeployCommands.mjs.map +1 -1
- package/dist/xy/xyInstallCommands.mjs +193 -145
- package/dist/xy/xyInstallCommands.mjs.map +1 -1
- package/dist/xy/xyLintCommands.mjs +405 -302
- package/dist/xy/xyLintCommands.mjs.map +1 -1
- package/dist/xy/xyParseOptions.mjs +5 -2
- package/dist/xy/xyParseOptions.mjs.map +1 -1
- package/package.json +11 -9
- package/dist/actions/compile-types.mjs +0 -153
- package/dist/actions/compile-types.mjs.map +0 -1
package/dist/actions/cycle.mjs
CHANGED
|
@@ -1,9 +1,12 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
|
+
|
|
1
4
|
// src/actions/cycle.ts
|
|
2
5
|
import { cruise } from "dependency-cruiser";
|
|
3
6
|
|
|
4
7
|
// src/lib/checkResult.ts
|
|
5
8
|
import chalk from "chalk";
|
|
6
|
-
var checkResult = (name, result, level = "error", exitOnFail = false) => {
|
|
9
|
+
var checkResult = /* @__PURE__ */ __name((name, result, level = "error", exitOnFail = false) => {
|
|
7
10
|
if (result) {
|
|
8
11
|
const exiting = exitOnFail ? "[Exiting Process]" : "[Continuing]";
|
|
9
12
|
const chalkFunc = level === "error" ? chalk.red : chalk.yellow;
|
|
@@ -12,23 +15,23 @@ var checkResult = (name, result, level = "error", exitOnFail = false) => {
|
|
|
12
15
|
process.exit(result);
|
|
13
16
|
}
|
|
14
17
|
}
|
|
15
|
-
};
|
|
18
|
+
}, "checkResult");
|
|
16
19
|
|
|
17
20
|
// src/lib/processEx.ts
|
|
18
21
|
import chalk2 from "chalk";
|
|
19
22
|
|
|
20
23
|
// src/lib/withError.ts
|
|
21
|
-
var withError = (ex, closure, predicate = (ex2) => !!ex2.name && !!ex2.message) => {
|
|
24
|
+
var withError = /* @__PURE__ */ __name((ex, closure, predicate = (ex2) => !!ex2.name && !!ex2.message) => {
|
|
22
25
|
return predicate(ex) ? closure(ex) : void 0;
|
|
23
|
-
};
|
|
26
|
+
}, "withError");
|
|
24
27
|
|
|
25
28
|
// src/lib/withErrnoException.ts
|
|
26
|
-
var withErrnoException = (ex, closure) => {
|
|
29
|
+
var withErrnoException = /* @__PURE__ */ __name((ex, closure) => {
|
|
27
30
|
return withError(ex, closure, (ex2) => ex2.errno !== void 0);
|
|
28
|
-
};
|
|
31
|
+
}, "withErrnoException");
|
|
29
32
|
|
|
30
33
|
// src/lib/processEx.ts
|
|
31
|
-
var processEx = (ex) => {
|
|
34
|
+
var processEx = /* @__PURE__ */ __name((ex) => {
|
|
32
35
|
const error = typeof ex === "string" ? new Error(ex) : ex;
|
|
33
36
|
const exitCode = withErrnoException(error, (error2) => {
|
|
34
37
|
if (error2.code === "ENOENT") {
|
|
@@ -45,10 +48,10 @@ var processEx = (ex) => {
|
|
|
45
48
|
return -1;
|
|
46
49
|
})();
|
|
47
50
|
process.exit(process.exitCode ?? exitCode);
|
|
48
|
-
};
|
|
51
|
+
}, "processEx");
|
|
49
52
|
|
|
50
53
|
// src/lib/safeExit.ts
|
|
51
|
-
var safeExit = (func, exitOnFail = true) => {
|
|
54
|
+
var safeExit = /* @__PURE__ */ __name((func, exitOnFail = true) => {
|
|
52
55
|
try {
|
|
53
56
|
const result = func();
|
|
54
57
|
if (result && exitOnFail) {
|
|
@@ -58,13 +61,13 @@ var safeExit = (func, exitOnFail = true) => {
|
|
|
58
61
|
} catch (ex) {
|
|
59
62
|
return processEx(ex);
|
|
60
63
|
}
|
|
61
|
-
};
|
|
64
|
+
}, "safeExit");
|
|
62
65
|
|
|
63
66
|
// src/lib/runSteps.ts
|
|
64
67
|
import { spawnSync } from "child_process";
|
|
65
68
|
import { existsSync } from "fs";
|
|
66
69
|
import chalk3 from "chalk";
|
|
67
|
-
var runSteps = (name, steps, exitOnFail = true, messages) => {
|
|
70
|
+
var runSteps = /* @__PURE__ */ __name((name, steps, exitOnFail = true, messages) => {
|
|
68
71
|
return safeExit(() => {
|
|
69
72
|
const pkgName = process.env.npm_package_name;
|
|
70
73
|
console.log(chalk3.green(`${name} [${pkgName}]`));
|
|
@@ -80,7 +83,10 @@ var runSteps = (name, steps, exitOnFail = true, messages) => {
|
|
|
80
83
|
const status = spawnSync(command, Array.isArray(args) ? args : args.split(" "), {
|
|
81
84
|
...config,
|
|
82
85
|
encoding: "utf8",
|
|
83
|
-
env: {
|
|
86
|
+
env: {
|
|
87
|
+
FORCE_COLOR: "3",
|
|
88
|
+
...process.env
|
|
89
|
+
},
|
|
84
90
|
shell: true,
|
|
85
91
|
stdio: "inherit"
|
|
86
92
|
}).status ?? 0;
|
|
@@ -89,20 +95,37 @@ var runSteps = (name, steps, exitOnFail = true, messages) => {
|
|
|
89
95
|
}
|
|
90
96
|
return totalStatus;
|
|
91
97
|
}, !!exitOnFail);
|
|
92
|
-
};
|
|
98
|
+
}, "runSteps");
|
|
93
99
|
|
|
94
100
|
// src/actions/cycle.ts
|
|
95
|
-
var cycle = async ({ verbose, pkg } = {}) => {
|
|
96
|
-
return pkg ? cyclePackage({
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
101
|
+
var cycle = /* @__PURE__ */ __name(async ({ verbose, pkg } = {}) => {
|
|
102
|
+
return pkg ? cyclePackage({
|
|
103
|
+
pkg,
|
|
104
|
+
verbose
|
|
105
|
+
}) : await cycleAll({
|
|
106
|
+
verbose
|
|
107
|
+
});
|
|
108
|
+
}, "cycle");
|
|
109
|
+
var cyclePackage = /* @__PURE__ */ __name(({ pkg, verbose }) => {
|
|
110
|
+
const verboseOptions = verbose ? [
|
|
111
|
+
"--verbose"
|
|
112
|
+
] : [
|
|
113
|
+
"--no-verbose"
|
|
114
|
+
];
|
|
115
|
+
return runSteps(`Cycle [${pkg}]`, [
|
|
116
|
+
[
|
|
117
|
+
"yarn",
|
|
118
|
+
[
|
|
119
|
+
"workspace",
|
|
120
|
+
pkg,
|
|
121
|
+
"run",
|
|
122
|
+
"package-cycle",
|
|
123
|
+
...verboseOptions
|
|
124
|
+
]
|
|
125
|
+
]
|
|
126
|
+
]);
|
|
127
|
+
}, "cyclePackage");
|
|
128
|
+
var cycleAll = /* @__PURE__ */ __name(async ({ verbose = false }) => {
|
|
106
129
|
const pkgName = process.env.npm_package_name;
|
|
107
130
|
const cruiseOptions = {
|
|
108
131
|
ruleSet: {
|
|
@@ -112,20 +135,26 @@ var cycleAll = async ({ verbose = false }) => {
|
|
|
112
135
|
severity: "error",
|
|
113
136
|
comment: "This dependency creates a circular reference",
|
|
114
137
|
from: {},
|
|
115
|
-
to: {
|
|
138
|
+
to: {
|
|
139
|
+
circular: true
|
|
140
|
+
}
|
|
116
141
|
}
|
|
117
142
|
]
|
|
118
143
|
},
|
|
119
144
|
exclude: "node_modules|packages/.*/packages",
|
|
120
145
|
validate: true,
|
|
121
|
-
doNotFollow: {
|
|
146
|
+
doNotFollow: {
|
|
147
|
+
path: "node_modules|packages/.*/packages"
|
|
148
|
+
},
|
|
122
149
|
tsPreCompilationDeps: false,
|
|
123
150
|
combinedDependencies: true,
|
|
124
151
|
outputType: verbose ? "text" : "err"
|
|
125
152
|
};
|
|
126
153
|
const target = "**/src";
|
|
127
154
|
console.log(`Checking for circular dependencies in ${target}...`);
|
|
128
|
-
const result = await cruise([
|
|
155
|
+
const result = await cruise([
|
|
156
|
+
target
|
|
157
|
+
], cruiseOptions);
|
|
129
158
|
if (result.output) {
|
|
130
159
|
console.log(result.output);
|
|
131
160
|
}
|
|
@@ -135,7 +164,7 @@ var cycleAll = async ({ verbose = false }) => {
|
|
|
135
164
|
console.error(`${pkgName} \u274C Dependency violations found`);
|
|
136
165
|
}
|
|
137
166
|
return result.exitCode;
|
|
138
|
-
};
|
|
167
|
+
}, "cycleAll");
|
|
139
168
|
export {
|
|
140
169
|
cycle,
|
|
141
170
|
cycleAll,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/actions/cycle.ts","../../src/lib/checkResult.ts","../../src/lib/processEx.ts","../../src/lib/withError.ts","../../src/lib/withErrnoException.ts","../../src/lib/safeExit.ts","../../src/lib/runSteps.ts"],"sourcesContent":["import { cruise, type ICruiseOptions } from 'dependency-cruiser'\n\nimport { runSteps } from '../lib/index.ts'\n\nexport interface CycleParams {\n incremental?: boolean\n jobs?: number\n pkg?: string\n verbose?: boolean\n}\n\ninterface CyclePackageParams {\n pkg: string\n verbose?: boolean\n}\n\nexport const cycle = async ({ verbose, pkg }: CycleParams = {}) => {\n return pkg\n ? cyclePackage({ pkg, verbose })\n : await cycleAll({ verbose })\n}\n\nexport const cyclePackage = ({ pkg, verbose }: CyclePackageParams) => {\n const verboseOptions = verbose ? ['--verbose'] : ['--no-verbose']\n return runSteps(\n `Cycle [${pkg}]`,\n [['yarn', ['workspace', pkg, 'run', 'package-cycle', ...verboseOptions]]],\n )\n}\n\nexport const cycleAll = async ({ verbose = false }: { verbose?: boolean }) => {\n const pkgName = process.env.npm_package_name\n\n const cruiseOptions: ICruiseOptions = {\n ruleSet: {\n forbidden: [\n {\n name: 'no-circular',\n severity: 'error',\n comment: 'This dependency creates a circular reference',\n from: {},\n to: { circular: true },\n },\n ],\n },\n exclude: 'node_modules|packages/.*/packages',\n validate: true,\n doNotFollow: { path: 'node_modules|packages/.*/packages' },\n tsPreCompilationDeps: false,\n combinedDependencies: true,\n outputType: verbose ? 'text' : 'err',\n }\n\n const target = '**/src'\n\n console.log(`Checking for circular dependencies in ${target}...`)\n\n const result = await cruise([target], cruiseOptions)\n if (result.output) {\n console.log(result.output)\n }\n\n if (result.exitCode === 0) {\n console.log(`${pkgName} ✅ No dependency violations`)\n } else {\n console.error(`${pkgName} ❌ Dependency violations found`)\n }\n return result.exitCode\n}\n","import chalk from 'chalk'\n\nexport const checkResult = (name: string, result: number, level: 'error' | 'warn' = 'error', exitOnFail = false) => {\n if (result) {\n const exiting = exitOnFail ? '[Exiting Process]' : '[Continuing]'\n const chalkFunc = level === 'error' ? chalk.red : chalk.yellow\n console[level](chalkFunc(`${name} had ${result} failures ${exiting}`))\n if (exitOnFail) {\n process.exit(result)\n }\n }\n}\n","import chalk from 'chalk'\n\nimport { withErrnoException } from './withErrnoException.ts'\nimport { withError } from './withError.ts'\n\nexport const processEx = (ex: unknown) => {\n const error = typeof ex === 'string' ? new Error(ex) : ex\n const exitCode\n = withErrnoException(error, (error) => {\n if (error.code === 'ENOENT') {\n console.error(chalk.red(`'${error.path}' not found.`))\n } else {\n console.error(chalk.red(`Errno: ${error.code}`))\n }\n return error.errno ?? -1\n })\n ?? withError(error, (error) => {\n console.error(chalk.red(`${error.name}: ${error.message}`))\n return -1\n })\n ?? (() => {\n console.error(chalk.red(`Unexpected Error: ${JSON.stringify(ex, null, 2)}`))\n return -1\n })()\n // This allows us to use a previously set exit code\n process.exit(process.exitCode ?? exitCode)\n}\n","export const withError = <T extends Error = Error>(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ex: any,\n closure: (error: T) => number,\n predicate = (ex: T) => (!!ex.name && !!ex.message),\n) => {\n return predicate(ex as T) ? closure(ex as T) : undefined\n}\n","import { withError } from './withError.ts'\n\nexport const withErrnoException = <T extends NodeJS.ErrnoException = NodeJS.ErrnoException>(\n ex: unknown, closure: (error: T) => number,\n) => {\n return withError<T>(ex, closure, (ex: unknown) => (ex as NodeJS.ErrnoException).errno !== undefined)\n}\n","/** Catch child process a crash and returns the code */\n\nimport { processEx } from './processEx.ts'\n\nconst safeExit = (func: () => number, exitOnFail = true): number => {\n try {\n const result = func()\n if (result && exitOnFail) {\n process.exit(result)\n }\n return result\n } catch (ex) {\n return processEx(ex)\n }\n}\n\nconst safeExitAsync = async (func: () => Promise<number>, exitOnFail = true): Promise<number> => {\n try {\n const result = await func()\n if (result && exitOnFail) {\n process.exit(result)\n }\n return result\n } catch (ex) {\n return processEx(ex)\n }\n}\n\nexport { safeExit, safeExitAsync }\n","import type { SpawnSyncOptionsWithBufferEncoding } from 'node:child_process'\nimport { spawnSync } from 'node:child_process'\nimport { existsSync } from 'node:fs'\n\nimport chalk from 'chalk'\n\nimport { checkResult } from './checkResult.ts'\nimport { safeExit } from './safeExit.ts'\n\nexport type ScriptStep\n = | [/* command */ 'yarn' | 'node' | 'ts-node-script' | 'tsc' | 'jest', /* arg */ string | string[]]\n | [/* command */ string, /* arg */ string | string[], /* config */ SpawnSyncOptionsWithBufferEncoding]\n\nexport const runSteps = (name: string, steps: ScriptStep[], exitOnFail = true, messages?: string[]): number => {\n return safeExit(() => {\n const pkgName = process.env.npm_package_name\n console.log(chalk.green(`${name} [${pkgName}]`))\n let totalStatus = 0\n for (const [i, [command, args, config]] of steps.entries()) {\n if (messages?.[i]) {\n console.log(chalk.gray(messages?.[i]))\n }\n const argList = Array.isArray(args) ? args : args.split(' ')\n if (command === 'node' && !existsSync(argList[0])) {\n throw new Error(`File not found [${argList[0]}]`)\n }\n const status\n = spawnSync(command, Array.isArray(args) ? args : args.split(' '), {\n ...config,\n encoding: 'utf8',\n env: { FORCE_COLOR: '3', ...process.env },\n shell: true,\n stdio: 'inherit',\n }).status ?? 0\n checkResult(name, status, 'error', exitOnFail)\n totalStatus += status ?? 0\n }\n return totalStatus\n }, !!exitOnFail)\n}\n"],"mappings":"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","names":["chalk","ex","ex","error","chalk","chalk","chalk"]}
|
|
1
|
+
{"version":3,"sources":["../../src/actions/cycle.ts","../../src/lib/checkResult.ts","../../src/lib/processEx.ts","../../src/lib/withError.ts","../../src/lib/withErrnoException.ts","../../src/lib/safeExit.ts","../../src/lib/runSteps.ts"],"sourcesContent":["import { cruise, type ICruiseOptions } from 'dependency-cruiser'\n\nimport { runSteps } from '../lib/index.ts'\n\nexport interface CycleParams {\n incremental?: boolean\n jobs?: number\n pkg?: string\n verbose?: boolean\n}\n\ninterface CyclePackageParams {\n pkg: string\n verbose?: boolean\n}\n\nexport const cycle = async ({ verbose, pkg }: CycleParams = {}) => {\n return pkg\n ? cyclePackage({ pkg, verbose })\n : await cycleAll({ verbose })\n}\n\nexport const cyclePackage = ({ pkg, verbose }: CyclePackageParams) => {\n const verboseOptions = verbose ? ['--verbose'] : ['--no-verbose']\n return runSteps(\n `Cycle [${pkg}]`,\n [['yarn', ['workspace', pkg, 'run', 'package-cycle', ...verboseOptions]]],\n )\n}\n\nexport const cycleAll = async ({ verbose = false }: { verbose?: boolean }) => {\n const pkgName = process.env.npm_package_name\n\n const cruiseOptions: ICruiseOptions = {\n ruleSet: {\n forbidden: [\n {\n name: 'no-circular',\n severity: 'error',\n comment: 'This dependency creates a circular reference',\n from: {},\n to: { circular: true },\n },\n ],\n },\n exclude: 'node_modules|packages/.*/packages',\n validate: true,\n doNotFollow: { path: 'node_modules|packages/.*/packages' },\n tsPreCompilationDeps: false,\n combinedDependencies: true,\n outputType: verbose ? 'text' : 'err',\n }\n\n const target = '**/src'\n\n console.log(`Checking for circular dependencies in ${target}...`)\n\n const result = await cruise([target], cruiseOptions)\n if (result.output) {\n console.log(result.output)\n }\n\n if (result.exitCode === 0) {\n console.log(`${pkgName} ✅ No dependency violations`)\n } else {\n console.error(`${pkgName} ❌ Dependency violations found`)\n }\n return result.exitCode\n}\n","import chalk from 'chalk'\n\nexport const checkResult = (name: string, result: number, level: 'error' | 'warn' = 'error', exitOnFail = false) => {\n if (result) {\n const exiting = exitOnFail ? '[Exiting Process]' : '[Continuing]'\n const chalkFunc = level === 'error' ? chalk.red : chalk.yellow\n console[level](chalkFunc(`${name} had ${result} failures ${exiting}`))\n if (exitOnFail) {\n process.exit(result)\n }\n }\n}\n","import chalk from 'chalk'\n\nimport { withErrnoException } from './withErrnoException.ts'\nimport { withError } from './withError.ts'\n\nexport const processEx = (ex: unknown) => {\n const error = typeof ex === 'string' ? new Error(ex) : ex\n const exitCode\n = withErrnoException(error, (error) => {\n if (error.code === 'ENOENT') {\n console.error(chalk.red(`'${error.path}' not found.`))\n } else {\n console.error(chalk.red(`Errno: ${error.code}`))\n }\n return error.errno ?? -1\n })\n ?? withError(error, (error) => {\n console.error(chalk.red(`${error.name}: ${error.message}`))\n return -1\n })\n ?? (() => {\n console.error(chalk.red(`Unexpected Error: ${JSON.stringify(ex, null, 2)}`))\n return -1\n })()\n // This allows us to use a previously set exit code\n process.exit(process.exitCode ?? exitCode)\n}\n","export const withError = <T extends Error = Error>(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ex: any,\n closure: (error: T) => number,\n predicate = (ex: T) => (!!ex.name && !!ex.message),\n) => {\n return predicate(ex as T) ? closure(ex as T) : undefined\n}\n","import { withError } from './withError.ts'\n\nexport const withErrnoException = <T extends NodeJS.ErrnoException = NodeJS.ErrnoException>(\n ex: unknown, closure: (error: T) => number,\n) => {\n return withError<T>(ex, closure, (ex: unknown) => (ex as NodeJS.ErrnoException).errno !== undefined)\n}\n","/** Catch child process a crash and returns the code */\n\nimport { processEx } from './processEx.ts'\n\nconst safeExit = (func: () => number, exitOnFail = true): number => {\n try {\n const result = func()\n if (result && exitOnFail) {\n process.exit(result)\n }\n return result\n } catch (ex) {\n return processEx(ex)\n }\n}\n\nconst safeExitAsync = async (func: () => Promise<number>, exitOnFail = true): Promise<number> => {\n try {\n const result = await func()\n if (result && exitOnFail) {\n process.exit(result)\n }\n return result\n } catch (ex) {\n return processEx(ex)\n }\n}\n\nexport { safeExit, safeExitAsync }\n","import type { SpawnSyncOptionsWithBufferEncoding } from 'node:child_process'\nimport { spawnSync } from 'node:child_process'\nimport { existsSync } from 'node:fs'\n\nimport chalk from 'chalk'\n\nimport { checkResult } from './checkResult.ts'\nimport { safeExit } from './safeExit.ts'\n\nexport type ScriptStep\n = | [/* command */ 'yarn' | 'node' | 'ts-node-script' | 'tsc' | 'jest', /* arg */ string | string[]]\n | [/* command */ string, /* arg */ string | string[], /* config */ SpawnSyncOptionsWithBufferEncoding]\n\nexport const runSteps = (name: string, steps: ScriptStep[], exitOnFail = true, messages?: string[]): number => {\n return safeExit(() => {\n const pkgName = process.env.npm_package_name\n console.log(chalk.green(`${name} [${pkgName}]`))\n let totalStatus = 0\n for (const [i, [command, args, config]] of steps.entries()) {\n if (messages?.[i]) {\n console.log(chalk.gray(messages?.[i]))\n }\n const argList = Array.isArray(args) ? args : args.split(' ')\n if (command === 'node' && !existsSync(argList[0])) {\n throw new Error(`File not found [${argList[0]}]`)\n }\n const status\n = spawnSync(command, Array.isArray(args) ? args : args.split(' '), {\n ...config,\n encoding: 'utf8',\n env: { FORCE_COLOR: '3', ...process.env },\n shell: true,\n stdio: 'inherit',\n }).status ?? 0\n checkResult(name, status, 'error', exitOnFail)\n totalStatus += status ?? 0\n }\n return totalStatus\n }, !!exitOnFail)\n}\n"],"mappings":"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","names":["cruise","chalk","checkResult","name","result","level","exitOnFail","exiting","chalkFunc","chalk","red","yellow","console","process","exit","chalk","withError","ex","closure","predicate","name","message","undefined","withErrnoException","ex","closure","withError","errno","undefined","processEx","ex","error","Error","exitCode","withErrnoException","code","console","chalk","red","path","errno","withError","name","message","JSON","stringify","process","exit","safeExit","func","exitOnFail","result","process","exit","ex","processEx","spawnSync","existsSync","chalk","runSteps","name","steps","exitOnFail","messages","safeExit","pkgName","process","env","npm_package_name","console","log","chalk","green","totalStatus","i","command","args","config","entries","gray","argList","Array","isArray","split","existsSync","Error","status","spawnSync","encoding","FORCE_COLOR","shell","stdio","checkResult","cycle","verbose","pkg","cyclePackage","cycleAll","verboseOptions","runSteps","pkgName","process","env","npm_package_name","cruiseOptions","ruleSet","forbidden","name","severity","comment","from","to","circular","exclude","validate","doNotFollow","path","tsPreCompilationDeps","combinedDependencies","outputType","target","console","log","result","cruise","output","exitCode","error"]}
|
package/dist/actions/dead.mjs
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
|
+
|
|
1
4
|
// src/lib/checkResult.ts
|
|
2
5
|
import chalk from "chalk";
|
|
3
|
-
var checkResult = (name, result, level = "error", exitOnFail = false) => {
|
|
6
|
+
var checkResult = /* @__PURE__ */ __name((name, result, level = "error", exitOnFail = false) => {
|
|
4
7
|
if (result) {
|
|
5
8
|
const exiting = exitOnFail ? "[Exiting Process]" : "[Continuing]";
|
|
6
9
|
const chalkFunc = level === "error" ? chalk.red : chalk.yellow;
|
|
@@ -9,23 +12,23 @@ var checkResult = (name, result, level = "error", exitOnFail = false) => {
|
|
|
9
12
|
process.exit(result);
|
|
10
13
|
}
|
|
11
14
|
}
|
|
12
|
-
};
|
|
15
|
+
}, "checkResult");
|
|
13
16
|
|
|
14
17
|
// src/lib/processEx.ts
|
|
15
18
|
import chalk2 from "chalk";
|
|
16
19
|
|
|
17
20
|
// src/lib/withError.ts
|
|
18
|
-
var withError = (ex, closure, predicate = (ex2) => !!ex2.name && !!ex2.message) => {
|
|
21
|
+
var withError = /* @__PURE__ */ __name((ex, closure, predicate = (ex2) => !!ex2.name && !!ex2.message) => {
|
|
19
22
|
return predicate(ex) ? closure(ex) : void 0;
|
|
20
|
-
};
|
|
23
|
+
}, "withError");
|
|
21
24
|
|
|
22
25
|
// src/lib/withErrnoException.ts
|
|
23
|
-
var withErrnoException = (ex, closure) => {
|
|
26
|
+
var withErrnoException = /* @__PURE__ */ __name((ex, closure) => {
|
|
24
27
|
return withError(ex, closure, (ex2) => ex2.errno !== void 0);
|
|
25
|
-
};
|
|
28
|
+
}, "withErrnoException");
|
|
26
29
|
|
|
27
30
|
// src/lib/processEx.ts
|
|
28
|
-
var processEx = (ex) => {
|
|
31
|
+
var processEx = /* @__PURE__ */ __name((ex) => {
|
|
29
32
|
const error = typeof ex === "string" ? new Error(ex) : ex;
|
|
30
33
|
const exitCode = withErrnoException(error, (error2) => {
|
|
31
34
|
if (error2.code === "ENOENT") {
|
|
@@ -42,10 +45,10 @@ var processEx = (ex) => {
|
|
|
42
45
|
return -1;
|
|
43
46
|
})();
|
|
44
47
|
process.exit(process.exitCode ?? exitCode);
|
|
45
|
-
};
|
|
48
|
+
}, "processEx");
|
|
46
49
|
|
|
47
50
|
// src/lib/safeExit.ts
|
|
48
|
-
var safeExit = (func, exitOnFail = true) => {
|
|
51
|
+
var safeExit = /* @__PURE__ */ __name((func, exitOnFail = true) => {
|
|
49
52
|
try {
|
|
50
53
|
const result = func();
|
|
51
54
|
if (result && exitOnFail) {
|
|
@@ -55,13 +58,13 @@ var safeExit = (func, exitOnFail = true) => {
|
|
|
55
58
|
} catch (ex) {
|
|
56
59
|
return processEx(ex);
|
|
57
60
|
}
|
|
58
|
-
};
|
|
61
|
+
}, "safeExit");
|
|
59
62
|
|
|
60
63
|
// src/lib/runSteps.ts
|
|
61
64
|
import { spawnSync } from "child_process";
|
|
62
65
|
import { existsSync } from "fs";
|
|
63
66
|
import chalk3 from "chalk";
|
|
64
|
-
var runSteps = (name, steps, exitOnFail = true, messages) => {
|
|
67
|
+
var runSteps = /* @__PURE__ */ __name((name, steps, exitOnFail = true, messages) => {
|
|
65
68
|
return safeExit(() => {
|
|
66
69
|
const pkgName = process.env.npm_package_name;
|
|
67
70
|
console.log(chalk3.green(`${name} [${pkgName}]`));
|
|
@@ -77,7 +80,10 @@ var runSteps = (name, steps, exitOnFail = true, messages) => {
|
|
|
77
80
|
const status = spawnSync(command, Array.isArray(args) ? args : args.split(" "), {
|
|
78
81
|
...config,
|
|
79
82
|
encoding: "utf8",
|
|
80
|
-
env: {
|
|
83
|
+
env: {
|
|
84
|
+
FORCE_COLOR: "3",
|
|
85
|
+
...process.env
|
|
86
|
+
},
|
|
81
87
|
shell: true,
|
|
82
88
|
stdio: "inherit"
|
|
83
89
|
}).status ?? 0;
|
|
@@ -86,12 +92,21 @@ var runSteps = (name, steps, exitOnFail = true, messages) => {
|
|
|
86
92
|
}
|
|
87
93
|
return totalStatus;
|
|
88
94
|
}, !!exitOnFail);
|
|
89
|
-
};
|
|
95
|
+
}, "runSteps");
|
|
90
96
|
|
|
91
97
|
// src/actions/dead.ts
|
|
92
|
-
var dead = () => {
|
|
93
|
-
return runSteps("Dead", [
|
|
94
|
-
|
|
98
|
+
var dead = /* @__PURE__ */ __name(() => {
|
|
99
|
+
return runSteps("Dead", [
|
|
100
|
+
[
|
|
101
|
+
"yarn",
|
|
102
|
+
[
|
|
103
|
+
"ts-prune",
|
|
104
|
+
"-p",
|
|
105
|
+
"tsconfig.json"
|
|
106
|
+
]
|
|
107
|
+
]
|
|
108
|
+
]);
|
|
109
|
+
}, "dead");
|
|
95
110
|
export {
|
|
96
111
|
dead
|
|
97
112
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/lib/checkResult.ts","../../src/lib/processEx.ts","../../src/lib/withError.ts","../../src/lib/withErrnoException.ts","../../src/lib/safeExit.ts","../../src/lib/runSteps.ts","../../src/actions/dead.ts"],"sourcesContent":["import chalk from 'chalk'\n\nexport const checkResult = (name: string, result: number, level: 'error' | 'warn' = 'error', exitOnFail = false) => {\n if (result) {\n const exiting = exitOnFail ? '[Exiting Process]' : '[Continuing]'\n const chalkFunc = level === 'error' ? chalk.red : chalk.yellow\n console[level](chalkFunc(`${name} had ${result} failures ${exiting}`))\n if (exitOnFail) {\n process.exit(result)\n }\n }\n}\n","import chalk from 'chalk'\n\nimport { withErrnoException } from './withErrnoException.ts'\nimport { withError } from './withError.ts'\n\nexport const processEx = (ex: unknown) => {\n const error = typeof ex === 'string' ? new Error(ex) : ex\n const exitCode\n = withErrnoException(error, (error) => {\n if (error.code === 'ENOENT') {\n console.error(chalk.red(`'${error.path}' not found.`))\n } else {\n console.error(chalk.red(`Errno: ${error.code}`))\n }\n return error.errno ?? -1\n })\n ?? withError(error, (error) => {\n console.error(chalk.red(`${error.name}: ${error.message}`))\n return -1\n })\n ?? (() => {\n console.error(chalk.red(`Unexpected Error: ${JSON.stringify(ex, null, 2)}`))\n return -1\n })()\n // This allows us to use a previously set exit code\n process.exit(process.exitCode ?? exitCode)\n}\n","export const withError = <T extends Error = Error>(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ex: any,\n closure: (error: T) => number,\n predicate = (ex: T) => (!!ex.name && !!ex.message),\n) => {\n return predicate(ex as T) ? closure(ex as T) : undefined\n}\n","import { withError } from './withError.ts'\n\nexport const withErrnoException = <T extends NodeJS.ErrnoException = NodeJS.ErrnoException>(\n ex: unknown, closure: (error: T) => number,\n) => {\n return withError<T>(ex, closure, (ex: unknown) => (ex as NodeJS.ErrnoException).errno !== undefined)\n}\n","/** Catch child process a crash and returns the code */\n\nimport { processEx } from './processEx.ts'\n\nconst safeExit = (func: () => number, exitOnFail = true): number => {\n try {\n const result = func()\n if (result && exitOnFail) {\n process.exit(result)\n }\n return result\n } catch (ex) {\n return processEx(ex)\n }\n}\n\nconst safeExitAsync = async (func: () => Promise<number>, exitOnFail = true): Promise<number> => {\n try {\n const result = await func()\n if (result && exitOnFail) {\n process.exit(result)\n }\n return result\n } catch (ex) {\n return processEx(ex)\n }\n}\n\nexport { safeExit, safeExitAsync }\n","import type { SpawnSyncOptionsWithBufferEncoding } from 'node:child_process'\nimport { spawnSync } from 'node:child_process'\nimport { existsSync } from 'node:fs'\n\nimport chalk from 'chalk'\n\nimport { checkResult } from './checkResult.ts'\nimport { safeExit } from './safeExit.ts'\n\nexport type ScriptStep\n = | [/* command */ 'yarn' | 'node' | 'ts-node-script' | 'tsc' | 'jest', /* arg */ string | string[]]\n | [/* command */ string, /* arg */ string | string[], /* config */ SpawnSyncOptionsWithBufferEncoding]\n\nexport const runSteps = (name: string, steps: ScriptStep[], exitOnFail = true, messages?: string[]): number => {\n return safeExit(() => {\n const pkgName = process.env.npm_package_name\n console.log(chalk.green(`${name} [${pkgName}]`))\n let totalStatus = 0\n for (const [i, [command, args, config]] of steps.entries()) {\n if (messages?.[i]) {\n console.log(chalk.gray(messages?.[i]))\n }\n const argList = Array.isArray(args) ? args : args.split(' ')\n if (command === 'node' && !existsSync(argList[0])) {\n throw new Error(`File not found [${argList[0]}]`)\n }\n const status\n = spawnSync(command, Array.isArray(args) ? args : args.split(' '), {\n ...config,\n encoding: 'utf8',\n env: { FORCE_COLOR: '3', ...process.env },\n shell: true,\n stdio: 'inherit',\n }).status ?? 0\n checkResult(name, status, 'error', exitOnFail)\n totalStatus += status ?? 0\n }\n return totalStatus\n }, !!exitOnFail)\n}\n","import { runSteps } from '../lib/index.ts'\n\nexport const dead = () => {\n return runSteps('Dead', [['yarn', ['ts-prune', '-p', 'tsconfig.json']]])\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../src/lib/checkResult.ts","../../src/lib/processEx.ts","../../src/lib/withError.ts","../../src/lib/withErrnoException.ts","../../src/lib/safeExit.ts","../../src/lib/runSteps.ts","../../src/actions/dead.ts"],"sourcesContent":["import chalk from 'chalk'\n\nexport const checkResult = (name: string, result: number, level: 'error' | 'warn' = 'error', exitOnFail = false) => {\n if (result) {\n const exiting = exitOnFail ? '[Exiting Process]' : '[Continuing]'\n const chalkFunc = level === 'error' ? chalk.red : chalk.yellow\n console[level](chalkFunc(`${name} had ${result} failures ${exiting}`))\n if (exitOnFail) {\n process.exit(result)\n }\n }\n}\n","import chalk from 'chalk'\n\nimport { withErrnoException } from './withErrnoException.ts'\nimport { withError } from './withError.ts'\n\nexport const processEx = (ex: unknown) => {\n const error = typeof ex === 'string' ? new Error(ex) : ex\n const exitCode\n = withErrnoException(error, (error) => {\n if (error.code === 'ENOENT') {\n console.error(chalk.red(`'${error.path}' not found.`))\n } else {\n console.error(chalk.red(`Errno: ${error.code}`))\n }\n return error.errno ?? -1\n })\n ?? withError(error, (error) => {\n console.error(chalk.red(`${error.name}: ${error.message}`))\n return -1\n })\n ?? (() => {\n console.error(chalk.red(`Unexpected Error: ${JSON.stringify(ex, null, 2)}`))\n return -1\n })()\n // This allows us to use a previously set exit code\n process.exit(process.exitCode ?? exitCode)\n}\n","export const withError = <T extends Error = Error>(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ex: any,\n closure: (error: T) => number,\n predicate = (ex: T) => (!!ex.name && !!ex.message),\n) => {\n return predicate(ex as T) ? closure(ex as T) : undefined\n}\n","import { withError } from './withError.ts'\n\nexport const withErrnoException = <T extends NodeJS.ErrnoException = NodeJS.ErrnoException>(\n ex: unknown, closure: (error: T) => number,\n) => {\n return withError<T>(ex, closure, (ex: unknown) => (ex as NodeJS.ErrnoException).errno !== undefined)\n}\n","/** Catch child process a crash and returns the code */\n\nimport { processEx } from './processEx.ts'\n\nconst safeExit = (func: () => number, exitOnFail = true): number => {\n try {\n const result = func()\n if (result && exitOnFail) {\n process.exit(result)\n }\n return result\n } catch (ex) {\n return processEx(ex)\n }\n}\n\nconst safeExitAsync = async (func: () => Promise<number>, exitOnFail = true): Promise<number> => {\n try {\n const result = await func()\n if (result && exitOnFail) {\n process.exit(result)\n }\n return result\n } catch (ex) {\n return processEx(ex)\n }\n}\n\nexport { safeExit, safeExitAsync }\n","import type { SpawnSyncOptionsWithBufferEncoding } from 'node:child_process'\nimport { spawnSync } from 'node:child_process'\nimport { existsSync } from 'node:fs'\n\nimport chalk from 'chalk'\n\nimport { checkResult } from './checkResult.ts'\nimport { safeExit } from './safeExit.ts'\n\nexport type ScriptStep\n = | [/* command */ 'yarn' | 'node' | 'ts-node-script' | 'tsc' | 'jest', /* arg */ string | string[]]\n | [/* command */ string, /* arg */ string | string[], /* config */ SpawnSyncOptionsWithBufferEncoding]\n\nexport const runSteps = (name: string, steps: ScriptStep[], exitOnFail = true, messages?: string[]): number => {\n return safeExit(() => {\n const pkgName = process.env.npm_package_name\n console.log(chalk.green(`${name} [${pkgName}]`))\n let totalStatus = 0\n for (const [i, [command, args, config]] of steps.entries()) {\n if (messages?.[i]) {\n console.log(chalk.gray(messages?.[i]))\n }\n const argList = Array.isArray(args) ? args : args.split(' ')\n if (command === 'node' && !existsSync(argList[0])) {\n throw new Error(`File not found [${argList[0]}]`)\n }\n const status\n = spawnSync(command, Array.isArray(args) ? args : args.split(' '), {\n ...config,\n encoding: 'utf8',\n env: { FORCE_COLOR: '3', ...process.env },\n shell: true,\n stdio: 'inherit',\n }).status ?? 0\n checkResult(name, status, 'error', exitOnFail)\n totalStatus += status ?? 0\n }\n return totalStatus\n }, !!exitOnFail)\n}\n","import { runSteps } from '../lib/index.ts'\n\nexport const dead = () => {\n return runSteps('Dead', [['yarn', ['ts-prune', '-p', 'tsconfig.json']]])\n}\n"],"mappings":";;;;AAAA,OAAOA,WAAW;AAEX,IAAMC,cAAc,wBAACC,MAAcC,QAAgBC,QAA0B,SAASC,aAAa,UAAK;AAC7G,MAAIF,QAAQ;AACV,UAAMG,UAAUD,aAAa,sBAAsB;AACnD,UAAME,YAAYH,UAAU,UAAUI,MAAMC,MAAMD,MAAME;AACxDC,YAAQP,KAAAA,EAAOG,UAAU,GAAGL,IAAAA,QAAYC,MAAAA,aAAmBG,OAAAA,EAAS,CAAA;AACpE,QAAID,YAAY;AACdO,cAAQC,KAAKV,MAAAA;IACf;EACF;AACF,GAT2B;;;ACF3B,OAAOW,YAAW;;;ACAX,IAAMC,YAAY,wBAEvBC,IACAC,SACAC,YAAY,CAACF,QAAW,CAAC,CAACA,IAAGG,QAAQ,CAAC,CAACH,IAAGI,YAAQ;AAElD,SAAOF,UAAUF,EAAAA,IAAWC,QAAQD,EAAAA,IAAWK;AACjD,GAPyB;;;ACElB,IAAMC,qBAAqB,wBAChCC,IAAaC,YAAAA;AAEb,SAAOC,UAAaF,IAAIC,SAAS,CAACD,QAAiBA,IAA6BG,UAAUC,MAAAA;AAC5F,GAJkC;;;AFG3B,IAAMC,YAAY,wBAACC,OAAAA;AACxB,QAAMC,QAAQ,OAAOD,OAAO,WAAW,IAAIE,MAAMF,EAAAA,IAAMA;AACvD,QAAMG,WACFC,mBAAmBH,OAAO,CAACA,WAAAA;AAC3B,QAAIA,OAAMI,SAAS,UAAU;AAC3BC,cAAQL,MAAMM,OAAMC,IAAI,IAAIP,OAAMQ,IAAI,cAAc,CAAA;IACtD,OAAO;AACLH,cAAQL,MAAMM,OAAMC,IAAI,UAAUP,OAAMI,IAAI,EAAE,CAAA;IAChD;AACA,WAAOJ,OAAMS,SAAS;EACxB,CAAA,KACGC,UAAUV,OAAO,CAACA,WAAAA;AACnBK,YAAQL,MAAMM,OAAMC,IAAI,GAAGP,OAAMW,IAAI,KAAKX,OAAMY,OAAO,EAAE,CAAA;AACzD,WAAO;EACT,CAAA,MACI,MAAA;AACFP,YAAQL,MAAMM,OAAMC,IAAI,qBAAqBM,KAAKC,UAAUf,IAAI,MAAM,CAAA,CAAA,EAAI,CAAA;AAC1E,WAAO;EACT,GAAA;AAEFgB,UAAQC,KAAKD,QAAQb,YAAYA,QAAAA;AACnC,GArByB;;;AGDzB,IAAMe,WAAW,wBAACC,MAAoBC,aAAa,SAAI;AACrD,MAAI;AACF,UAAMC,SAASF,KAAAA;AACf,QAAIE,UAAUD,YAAY;AACxBE,cAAQC,KAAKF,MAAAA;IACf;AACA,WAAOA;EACT,SAASG,IAAI;AACX,WAAOC,UAAUD,EAAAA;EACnB;AACF,GAViB;;;ACHjB,SAASE,iBAAiB;AAC1B,SAASC,kBAAkB;AAE3B,OAAOC,YAAW;AASX,IAAMC,WAAW,wBAACC,MAAcC,OAAqBC,aAAa,MAAMC,aAAAA;AAC7E,SAAOC,SAAS,MAAA;AACd,UAAMC,UAAUC,QAAQC,IAAIC;AAC5BC,YAAQC,IAAIC,OAAMC,MAAM,GAAGZ,IAAAA,KAASK,OAAAA,GAAU,CAAA;AAC9C,QAAIQ,cAAc;AAClB,eAAW,CAACC,GAAG,CAACC,SAASC,MAAMC,MAAAA,CAAO,KAAKhB,MAAMiB,QAAO,GAAI;AAC1D,UAAIf,WAAWW,CAAAA,GAAI;AACjBL,gBAAQC,IAAIC,OAAMQ,KAAKhB,WAAWW,CAAAA,CAAE,CAAA;MACtC;AACA,YAAMM,UAAUC,MAAMC,QAAQN,IAAAA,IAAQA,OAAOA,KAAKO,MAAM,GAAA;AACxD,UAAIR,YAAY,UAAU,CAACS,WAAWJ,QAAQ,CAAA,CAAE,GAAG;AACjD,cAAM,IAAIK,MAAM,mBAAmBL,QAAQ,CAAA,CAAE,GAAG;MAClD;AACA,YAAMM,SACFC,UAAUZ,SAASM,MAAMC,QAAQN,IAAAA,IAAQA,OAAOA,KAAKO,MAAM,GAAA,GAAM;QACjE,GAAGN;QACHW,UAAU;QACVrB,KAAK;UAAEsB,aAAa;UAAK,GAAGvB,QAAQC;QAAI;QACxCuB,OAAO;QACPC,OAAO;MACT,CAAA,EAAGL,UAAU;AACfM,kBAAYhC,MAAM0B,QAAQ,SAASxB,UAAAA;AACnCW,qBAAea,UAAU;IAC3B;AACA,WAAOb;EACT,GAAG,CAAC,CAACX,UAAAA;AACP,GA1BwB;;;ACXjB,IAAM+B,OAAO,6BAAA;AAClB,SAAOC,SAAS,QAAQ;IAAC;MAAC;MAAQ;QAAC;QAAY;QAAM;;;GAAkB;AACzE,GAFoB;","names":["chalk","checkResult","name","result","level","exitOnFail","exiting","chalkFunc","chalk","red","yellow","console","process","exit","chalk","withError","ex","closure","predicate","name","message","undefined","withErrnoException","ex","closure","withError","errno","undefined","processEx","ex","error","Error","exitCode","withErrnoException","code","console","chalk","red","path","errno","withError","name","message","JSON","stringify","process","exit","safeExit","func","exitOnFail","result","process","exit","ex","processEx","spawnSync","existsSync","chalk","runSteps","name","steps","exitOnFail","messages","safeExit","pkgName","process","env","npm_package_name","console","log","chalk","green","totalStatus","i","command","args","config","entries","gray","argList","Array","isArray","split","existsSync","Error","status","spawnSync","encoding","FORCE_COLOR","shell","stdio","checkResult","dead","runSteps"]}
|
|
@@ -1,17 +1,33 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
|
+
|
|
1
4
|
// src/actions/deplint/findFilesByGlob.ts
|
|
2
5
|
import { globSync } from "glob";
|
|
3
6
|
function findFilesByGlob(cwd, pattern) {
|
|
4
|
-
return globSync(pattern, {
|
|
7
|
+
return globSync(pattern, {
|
|
8
|
+
cwd,
|
|
9
|
+
absolute: true
|
|
10
|
+
});
|
|
5
11
|
}
|
|
12
|
+
__name(findFilesByGlob, "findFilesByGlob");
|
|
6
13
|
|
|
7
14
|
// src/actions/deplint/findFiles.ts
|
|
8
15
|
function findFiles(path3) {
|
|
9
|
-
const allSourceInclude = [
|
|
10
|
-
|
|
16
|
+
const allSourceInclude = [
|
|
17
|
+
"./src/**/*.{ts,tsx}"
|
|
18
|
+
];
|
|
19
|
+
const allDistInclude = [
|
|
20
|
+
"./dist/**/*.d.ts",
|
|
21
|
+
"./dist/**/*.{mjs,js,cjs}"
|
|
22
|
+
];
|
|
11
23
|
const srcFiles = allSourceInclude.flatMap((pattern) => findFilesByGlob(path3, pattern));
|
|
12
24
|
const distFiles = allDistInclude.flatMap((pattern) => findFilesByGlob(path3, pattern));
|
|
13
|
-
return {
|
|
25
|
+
return {
|
|
26
|
+
srcFiles,
|
|
27
|
+
distFiles
|
|
28
|
+
};
|
|
14
29
|
}
|
|
30
|
+
__name(findFiles, "findFiles");
|
|
15
31
|
|
|
16
32
|
// src/actions/deplint/getDependenciesFromPackageJson.ts
|
|
17
33
|
import fs from "fs";
|
|
@@ -29,6 +45,7 @@ function getDependenciesFromPackageJson(packageJsonPath) {
|
|
|
29
45
|
peerDependencies
|
|
30
46
|
};
|
|
31
47
|
}
|
|
48
|
+
__name(getDependenciesFromPackageJson, "getDependenciesFromPackageJson");
|
|
32
49
|
|
|
33
50
|
// src/actions/deplint/getImportsFromFile.ts
|
|
34
51
|
import fs2 from "fs";
|
|
@@ -44,18 +61,13 @@ function getBasePackageName(importName) {
|
|
|
44
61
|
}
|
|
45
62
|
return importNameScrubbed.split("/")[0];
|
|
46
63
|
}
|
|
64
|
+
__name(getBasePackageName, "getBasePackageName");
|
|
47
65
|
|
|
48
66
|
// src/actions/deplint/getImportsFromFile.ts
|
|
49
67
|
function getImportsFromFile(filePath, importPaths, typeImportPaths) {
|
|
50
68
|
const sourceCode = fs2.readFileSync(filePath, "utf8");
|
|
51
69
|
const isMjsFile = filePath.endsWith(".mjs");
|
|
52
|
-
const sourceFile = ts.createSourceFile(
|
|
53
|
-
path2.basename(filePath),
|
|
54
|
-
sourceCode,
|
|
55
|
-
ts.ScriptTarget.Latest,
|
|
56
|
-
true,
|
|
57
|
-
isMjsFile ? ts.ScriptKind.JS : void 0
|
|
58
|
-
);
|
|
70
|
+
const sourceFile = ts.createSourceFile(path2.basename(filePath), sourceCode, ts.ScriptTarget.Latest, true, isMjsFile ? ts.ScriptKind.JS : void 0);
|
|
59
71
|
const imports = [];
|
|
60
72
|
const typeImports = [];
|
|
61
73
|
const isDeclarationFile = filePath.endsWith(".d.ts");
|
|
@@ -80,8 +92,13 @@ function getImportsFromFile(filePath, importPaths, typeImportPaths) {
|
|
|
80
92
|
}
|
|
81
93
|
ts.forEachChild(node, visit);
|
|
82
94
|
}
|
|
95
|
+
__name(visit, "visit");
|
|
83
96
|
visit(sourceFile);
|
|
84
|
-
const importsStartsWithExcludes = [
|
|
97
|
+
const importsStartsWithExcludes = [
|
|
98
|
+
".",
|
|
99
|
+
"#",
|
|
100
|
+
"node:"
|
|
101
|
+
];
|
|
85
102
|
const cleanedImports = imports.filter((imp) => !importsStartsWithExcludes.some((exc) => imp.startsWith(exc))).map(getBasePackageName);
|
|
86
103
|
const cleanedTypeImports = typeImports.filter((imp) => !importsStartsWithExcludes.some((exc) => imp.startsWith(exc))).map(getBasePackageName);
|
|
87
104
|
for (const imp of cleanedImports) {
|
|
@@ -92,14 +109,22 @@ function getImportsFromFile(filePath, importPaths, typeImportPaths) {
|
|
|
92
109
|
typeImportPaths[imp] = typeImportPaths[imp] ?? [];
|
|
93
110
|
typeImportPaths[imp].push(filePath);
|
|
94
111
|
}
|
|
95
|
-
return [
|
|
112
|
+
return [
|
|
113
|
+
cleanedImports,
|
|
114
|
+
cleanedTypeImports
|
|
115
|
+
];
|
|
96
116
|
}
|
|
117
|
+
__name(getImportsFromFile, "getImportsFromFile");
|
|
97
118
|
|
|
98
119
|
// src/actions/deplint/getExternalImportsFromFiles.ts
|
|
99
|
-
var internalImportPrefixes = [
|
|
100
|
-
|
|
120
|
+
var internalImportPrefixes = [
|
|
121
|
+
".",
|
|
122
|
+
"#",
|
|
123
|
+
"node:"
|
|
124
|
+
];
|
|
125
|
+
var removeInternalImports = /* @__PURE__ */ __name((imports) => {
|
|
101
126
|
return imports.filter((imp) => !internalImportPrefixes.some((prefix) => imp.startsWith(prefix)));
|
|
102
|
-
};
|
|
127
|
+
}, "removeInternalImports");
|
|
103
128
|
function getExternalImportsFromFiles({ srcFiles, distFiles }) {
|
|
104
129
|
const srcImportPaths = {};
|
|
105
130
|
const distImportPaths = {};
|
|
@@ -125,25 +150,22 @@ function getExternalImportsFromFiles({ srcFiles, distFiles }) {
|
|
|
125
150
|
externalDistTypeImports
|
|
126
151
|
};
|
|
127
152
|
}
|
|
153
|
+
__name(getExternalImportsFromFiles, "getExternalImportsFromFiles");
|
|
128
154
|
|
|
129
155
|
// src/actions/deplint/checkPackage/getUnlistedDependencies.ts
|
|
130
156
|
import { builtinModules } from "module";
|
|
131
157
|
import chalk from "chalk";
|
|
132
|
-
function getUnlistedDependencies({ name, location }, { dependencies, peerDependencies }, {
|
|
133
|
-
externalDistImports,
|
|
134
|
-
externalDistTypeImports,
|
|
135
|
-
distImportPaths
|
|
136
|
-
}) {
|
|
158
|
+
function getUnlistedDependencies({ name, location }, { dependencies, peerDependencies }, { externalDistImports, externalDistTypeImports, distImportPaths }) {
|
|
137
159
|
let unlistedDependencies = 0;
|
|
138
160
|
for (const imp of externalDistImports) {
|
|
139
|
-
if (!dependencies.includes(imp) && !dependencies.includes(`@types/${imp}`) && !peerDependencies.includes(imp) && !peerDependencies.includes(`@types/${imp}`) && !builtinModules.includes(imp) && !builtinModules.includes(`@types/${imp}`)) {
|
|
161
|
+
if (!dependencies.includes(imp) && imp !== name && !dependencies.includes(`@types/${imp}`) && !peerDependencies.includes(imp) && !peerDependencies.includes(`@types/${imp}`) && !builtinModules.includes(imp) && !builtinModules.includes(`@types/${imp}`)) {
|
|
140
162
|
unlistedDependencies++;
|
|
141
163
|
console.log(`[${chalk.blue(name)}] Missing dependency in package.json: ${chalk.red(imp)}`);
|
|
142
164
|
console.log(` ${distImportPaths[imp].join("\n ")}`);
|
|
143
165
|
}
|
|
144
166
|
}
|
|
145
167
|
for (const imp of externalDistTypeImports) {
|
|
146
|
-
if (!dependencies.includes(imp) && dependencies.includes(`@types/${imp}`) && !peerDependencies.includes(imp) && peerDependencies.includes(`@types/${imp}`) && !builtinModules.includes(imp) && builtinModules.includes(`@types/${imp}`)) {
|
|
168
|
+
if (!dependencies.includes(imp) && imp !== name && dependencies.includes(`@types/${imp}`) && !peerDependencies.includes(imp) && peerDependencies.includes(`@types/${imp}`) && !builtinModules.includes(imp) && builtinModules.includes(`@types/${imp}`)) {
|
|
147
169
|
unlistedDependencies++;
|
|
148
170
|
console.log(`[${chalk.blue(name)}] Missing dependency in package.json: ${chalk.red(imp)}`);
|
|
149
171
|
console.log(` ${distImportPaths[imp].join("\n ")}`);
|
|
@@ -156,22 +178,15 @@ function getUnlistedDependencies({ name, location }, { dependencies, peerDepende
|
|
|
156
178
|
}
|
|
157
179
|
return unlistedDependencies;
|
|
158
180
|
}
|
|
181
|
+
__name(getUnlistedDependencies, "getUnlistedDependencies");
|
|
159
182
|
|
|
160
183
|
// src/actions/deplint/checkPackage/getUnlistedDevDependencies.ts
|
|
161
184
|
import { builtinModules as builtinModules2 } from "module";
|
|
162
185
|
import chalk2 from "chalk";
|
|
163
|
-
function getUnlistedDevDependencies({ name, location }, {
|
|
164
|
-
devDependencies,
|
|
165
|
-
dependencies,
|
|
166
|
-
peerDependencies
|
|
167
|
-
}, {
|
|
168
|
-
srcImportPaths,
|
|
169
|
-
externalSrcImports,
|
|
170
|
-
distImports
|
|
171
|
-
}) {
|
|
186
|
+
function getUnlistedDevDependencies({ name, location }, { devDependencies, dependencies, peerDependencies }, { srcImportPaths, externalSrcImports, distImports }) {
|
|
172
187
|
let unlistedDevDependencies = 0;
|
|
173
188
|
for (const imp of externalSrcImports) {
|
|
174
|
-
if (!distImports.includes(imp) && !dependencies.includes(imp) && !dependencies.includes(`@types/${imp}`) && !peerDependencies.includes(imp) && !peerDependencies.includes(`@types/${imp}`) && !devDependencies.includes(imp) && !devDependencies.includes(`@types/${imp}`) && !builtinModules2.includes(imp)) {
|
|
189
|
+
if (!distImports.includes(imp) && imp !== name && !dependencies.includes(imp) && !dependencies.includes(`@types/${imp}`) && !peerDependencies.includes(imp) && !peerDependencies.includes(`@types/${imp}`) && !devDependencies.includes(imp) && !devDependencies.includes(`@types/${imp}`) && !builtinModules2.includes(imp)) {
|
|
175
190
|
unlistedDevDependencies++;
|
|
176
191
|
console.log(`[${chalk2.blue(name)}] Missing devDependency in package.json: ${chalk2.red(imp)}`);
|
|
177
192
|
console.log(` ${srcImportPaths[imp].join("\n ")}`);
|
|
@@ -184,14 +199,11 @@ function getUnlistedDevDependencies({ name, location }, {
|
|
|
184
199
|
}
|
|
185
200
|
return unlistedDevDependencies;
|
|
186
201
|
}
|
|
202
|
+
__name(getUnlistedDevDependencies, "getUnlistedDevDependencies");
|
|
187
203
|
|
|
188
204
|
// src/actions/deplint/checkPackage/getUnusedDependencies.ts
|
|
189
205
|
import chalk3 from "chalk";
|
|
190
|
-
function getUnusedDependencies({ name, location }, { dependencies }, {
|
|
191
|
-
externalDistImports,
|
|
192
|
-
externalDistTypeImports,
|
|
193
|
-
externalSrcImports
|
|
194
|
-
}) {
|
|
206
|
+
function getUnusedDependencies({ name, location }, { dependencies }, { externalDistImports, externalDistTypeImports, externalSrcImports }) {
|
|
195
207
|
let unusedDependencies = 0;
|
|
196
208
|
for (const dep of dependencies) {
|
|
197
209
|
if (!externalDistImports.includes(dep) && !externalDistImports.includes(dep.replace(/^@types\//, "")) && !externalDistTypeImports.includes(dep) && !externalDistTypeImports.includes(dep.replace(/^@types\//, ""))) {
|
|
@@ -210,6 +222,7 @@ function getUnusedDependencies({ name, location }, { dependencies }, {
|
|
|
210
222
|
}
|
|
211
223
|
return unusedDependencies;
|
|
212
224
|
}
|
|
225
|
+
__name(getUnusedDependencies, "getUnusedDependencies");
|
|
213
226
|
|
|
214
227
|
// src/actions/deplint/checkPackage/getUnusedPeerDependencies.ts
|
|
215
228
|
import chalk4 from "chalk";
|
|
@@ -232,28 +245,39 @@ function getUnusedPeerDependencies({ name, location }, { peerDependencies, depen
|
|
|
232
245
|
}
|
|
233
246
|
return unusedDependencies;
|
|
234
247
|
}
|
|
248
|
+
__name(getUnusedPeerDependencies, "getUnusedPeerDependencies");
|
|
235
249
|
|
|
236
250
|
// src/actions/deplint/checkPackage/checkPackage.ts
|
|
237
|
-
function checkPackage({
|
|
238
|
-
name,
|
|
239
|
-
location,
|
|
240
|
-
deps = false,
|
|
241
|
-
devDeps = false,
|
|
242
|
-
peerDeps = false
|
|
243
|
-
}) {
|
|
251
|
+
function checkPackage({ name, location, deps = false, devDeps = false, peerDeps = false }) {
|
|
244
252
|
const { srcFiles, distFiles } = findFiles(location);
|
|
245
253
|
const checkDeps = deps || !(deps || devDeps || peerDeps);
|
|
246
254
|
const checkDevDeps = devDeps || !(deps || devDeps || peerDeps);
|
|
247
255
|
const checkPeerDeps = peerDeps;
|
|
248
|
-
const sourceParams = getExternalImportsFromFiles({
|
|
256
|
+
const sourceParams = getExternalImportsFromFiles({
|
|
257
|
+
srcFiles,
|
|
258
|
+
distFiles
|
|
259
|
+
});
|
|
249
260
|
const packageParams = getDependenciesFromPackageJson(`${location}/package.json`);
|
|
250
|
-
const unlistedDependencies = checkDeps ? getUnlistedDependencies({
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
261
|
+
const unlistedDependencies = checkDeps ? getUnlistedDependencies({
|
|
262
|
+
name,
|
|
263
|
+
location
|
|
264
|
+
}, packageParams, sourceParams) : 0;
|
|
265
|
+
const unusedDependencies = checkDeps ? getUnusedDependencies({
|
|
266
|
+
name,
|
|
267
|
+
location
|
|
268
|
+
}, packageParams, sourceParams) : 0;
|
|
269
|
+
const unlistedDevDependencies = checkDevDeps ? getUnlistedDevDependencies({
|
|
270
|
+
name,
|
|
271
|
+
location
|
|
272
|
+
}, packageParams, sourceParams) : 0;
|
|
273
|
+
const unusedPeerDependencies = checkPeerDeps ? getUnusedPeerDependencies({
|
|
274
|
+
name,
|
|
275
|
+
location
|
|
276
|
+
}, packageParams, sourceParams) : 0;
|
|
254
277
|
const totalErrors = unlistedDependencies + unlistedDevDependencies + unusedDependencies + unusedPeerDependencies;
|
|
255
278
|
return totalErrors;
|
|
256
279
|
}
|
|
280
|
+
__name(checkPackage, "checkPackage");
|
|
257
281
|
export {
|
|
258
282
|
checkPackage
|
|
259
283
|
};
|