@xylabs/ts-scripts-yarn3 7.0.0-rc.9 → 7.0.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.
- 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 +84 -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 +84 -50
- package/dist/actions/deplint/checkPackage/index.mjs.map +1 -1
- package/dist/actions/deplint/deplint.mjs +120 -81
- 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 +120 -81
- 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 +1555 -966
- 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 +341 -185
- 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 +341 -267
- 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 +94 -25
- package/dist/actions/package/compile/packageCompileTscTypes.mjs.map +1 -1
- package/dist/actions/package/compile/packageCompileTsup.mjs +321 -123
- 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 +13 -12
- package/dist/actions/package/gen-docs.mjs.map +1 -1
- package/dist/actions/package/index.mjs +507 -347
- 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 +9 -6
- package/dist/actions/package/publint.mjs.map +1 -1
- package/dist/actions/package/recompile.mjs +371 -201
- 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 +346 -191
- package/dist/bin/package/build-only.mjs.map +1 -1
- package/dist/bin/package/build.mjs +348 -191
- 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 +345 -190
- package/dist/bin/package/compile-only.mjs.map +1 -1
- package/dist/bin/package/compile-tsup.mjs +323 -126
- package/dist/bin/package/compile-tsup.mjs.map +1 -1
- package/dist/bin/package/compile.mjs +346 -191
- 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 +12 -12
- 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 +8 -6
- package/dist/bin/package/publint.mjs.map +1 -1
- package/dist/bin/package/recompile.mjs +372 -203
- 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 +1351 -1075
- package/dist/bin/xy.mjs.map +1 -1
- package/dist/index.d.ts +133 -121
- package/dist/index.mjs +1908 -1460
- 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 +1351 -1074
- 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 +1351 -1074
- 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 +437 -321
- 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 +13 -12
- package/dist/actions/compile-types.mjs +0 -153
- package/dist/actions/compile-types.mjs.map +0 -1
|
@@ -1,39 +1,63 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
|
+
|
|
1
4
|
// src/actions/deplint/deplint.ts
|
|
2
5
|
import chalk5 from "chalk";
|
|
3
6
|
|
|
4
7
|
// src/lib/yarn/workspace/yarnWorkspaces.ts
|
|
5
8
|
import { spawnSync } from "child_process";
|
|
6
|
-
var yarnWorkspaces = () => {
|
|
7
|
-
const result = spawnSync("yarn", [
|
|
9
|
+
var yarnWorkspaces = /* @__PURE__ */ __name(() => {
|
|
10
|
+
const result = spawnSync("yarn", [
|
|
11
|
+
"workspaces",
|
|
12
|
+
"list",
|
|
13
|
+
"--json",
|
|
14
|
+
"--recursive"
|
|
15
|
+
], {
|
|
16
|
+
encoding: "utf8",
|
|
17
|
+
shell: true
|
|
18
|
+
});
|
|
8
19
|
if (result.error) {
|
|
9
20
|
throw result.error;
|
|
10
21
|
}
|
|
11
22
|
return result.stdout.toString().split("\n").slice(0, -1).map((item) => {
|
|
12
23
|
return JSON.parse(item);
|
|
13
24
|
});
|
|
14
|
-
};
|
|
25
|
+
}, "yarnWorkspaces");
|
|
15
26
|
|
|
16
27
|
// src/lib/yarn/workspace/yarnWorkspace.ts
|
|
17
|
-
var yarnWorkspace = (pkg) => {
|
|
28
|
+
var yarnWorkspace = /* @__PURE__ */ __name((pkg) => {
|
|
18
29
|
const workspace = yarnWorkspaces().find(({ name }) => name === pkg);
|
|
19
30
|
if (!workspace) throw new Error(`Workspace ${pkg} not found`);
|
|
20
31
|
return workspace;
|
|
21
|
-
};
|
|
32
|
+
}, "yarnWorkspace");
|
|
22
33
|
|
|
23
34
|
// src/actions/deplint/findFilesByGlob.ts
|
|
24
35
|
import { globSync } from "glob";
|
|
25
36
|
function findFilesByGlob(cwd, pattern) {
|
|
26
|
-
return globSync(pattern, {
|
|
37
|
+
return globSync(pattern, {
|
|
38
|
+
cwd,
|
|
39
|
+
absolute: true
|
|
40
|
+
});
|
|
27
41
|
}
|
|
42
|
+
__name(findFilesByGlob, "findFilesByGlob");
|
|
28
43
|
|
|
29
44
|
// src/actions/deplint/findFiles.ts
|
|
30
45
|
function findFiles(path3) {
|
|
31
|
-
const allSourceInclude = [
|
|
32
|
-
|
|
46
|
+
const allSourceInclude = [
|
|
47
|
+
"./src/**/*.{ts,tsx}"
|
|
48
|
+
];
|
|
49
|
+
const allDistInclude = [
|
|
50
|
+
"./dist/**/*.d.ts",
|
|
51
|
+
"./dist/**/*.{mjs,js,cjs}"
|
|
52
|
+
];
|
|
33
53
|
const srcFiles = allSourceInclude.flatMap((pattern) => findFilesByGlob(path3, pattern));
|
|
34
54
|
const distFiles = allDistInclude.flatMap((pattern) => findFilesByGlob(path3, pattern));
|
|
35
|
-
return {
|
|
55
|
+
return {
|
|
56
|
+
srcFiles,
|
|
57
|
+
distFiles
|
|
58
|
+
};
|
|
36
59
|
}
|
|
60
|
+
__name(findFiles, "findFiles");
|
|
37
61
|
|
|
38
62
|
// src/actions/deplint/getDependenciesFromPackageJson.ts
|
|
39
63
|
import fs from "fs";
|
|
@@ -51,6 +75,7 @@ function getDependenciesFromPackageJson(packageJsonPath) {
|
|
|
51
75
|
peerDependencies
|
|
52
76
|
};
|
|
53
77
|
}
|
|
78
|
+
__name(getDependenciesFromPackageJson, "getDependenciesFromPackageJson");
|
|
54
79
|
|
|
55
80
|
// src/actions/deplint/getImportsFromFile.ts
|
|
56
81
|
import fs2 from "fs";
|
|
@@ -66,18 +91,13 @@ function getBasePackageName(importName) {
|
|
|
66
91
|
}
|
|
67
92
|
return importNameScrubbed.split("/")[0];
|
|
68
93
|
}
|
|
94
|
+
__name(getBasePackageName, "getBasePackageName");
|
|
69
95
|
|
|
70
96
|
// src/actions/deplint/getImportsFromFile.ts
|
|
71
97
|
function getImportsFromFile(filePath, importPaths, typeImportPaths) {
|
|
72
98
|
const sourceCode = fs2.readFileSync(filePath, "utf8");
|
|
73
99
|
const isMjsFile = filePath.endsWith(".mjs");
|
|
74
|
-
const sourceFile = ts.createSourceFile(
|
|
75
|
-
path2.basename(filePath),
|
|
76
|
-
sourceCode,
|
|
77
|
-
ts.ScriptTarget.Latest,
|
|
78
|
-
true,
|
|
79
|
-
isMjsFile ? ts.ScriptKind.JS : void 0
|
|
80
|
-
);
|
|
100
|
+
const sourceFile = ts.createSourceFile(path2.basename(filePath), sourceCode, ts.ScriptTarget.Latest, true, isMjsFile ? ts.ScriptKind.JS : void 0);
|
|
81
101
|
const imports = [];
|
|
82
102
|
const typeImports = [];
|
|
83
103
|
const isDeclarationFile = filePath.endsWith(".d.ts");
|
|
@@ -102,8 +122,13 @@ function getImportsFromFile(filePath, importPaths, typeImportPaths) {
|
|
|
102
122
|
}
|
|
103
123
|
ts.forEachChild(node, visit);
|
|
104
124
|
}
|
|
125
|
+
__name(visit, "visit");
|
|
105
126
|
visit(sourceFile);
|
|
106
|
-
const importsStartsWithExcludes = [
|
|
127
|
+
const importsStartsWithExcludes = [
|
|
128
|
+
".",
|
|
129
|
+
"#",
|
|
130
|
+
"node:"
|
|
131
|
+
];
|
|
107
132
|
const cleanedImports = imports.filter((imp) => !importsStartsWithExcludes.some((exc) => imp.startsWith(exc))).map(getBasePackageName);
|
|
108
133
|
const cleanedTypeImports = typeImports.filter((imp) => !importsStartsWithExcludes.some((exc) => imp.startsWith(exc))).map(getBasePackageName);
|
|
109
134
|
for (const imp of cleanedImports) {
|
|
@@ -114,14 +139,22 @@ function getImportsFromFile(filePath, importPaths, typeImportPaths) {
|
|
|
114
139
|
typeImportPaths[imp] = typeImportPaths[imp] ?? [];
|
|
115
140
|
typeImportPaths[imp].push(filePath);
|
|
116
141
|
}
|
|
117
|
-
return [
|
|
142
|
+
return [
|
|
143
|
+
cleanedImports,
|
|
144
|
+
cleanedTypeImports
|
|
145
|
+
];
|
|
118
146
|
}
|
|
147
|
+
__name(getImportsFromFile, "getImportsFromFile");
|
|
119
148
|
|
|
120
149
|
// src/actions/deplint/getExternalImportsFromFiles.ts
|
|
121
|
-
var internalImportPrefixes = [
|
|
122
|
-
|
|
150
|
+
var internalImportPrefixes = [
|
|
151
|
+
".",
|
|
152
|
+
"#",
|
|
153
|
+
"node:"
|
|
154
|
+
];
|
|
155
|
+
var removeInternalImports = /* @__PURE__ */ __name((imports) => {
|
|
123
156
|
return imports.filter((imp) => !internalImportPrefixes.some((prefix) => imp.startsWith(prefix)));
|
|
124
|
-
};
|
|
157
|
+
}, "removeInternalImports");
|
|
125
158
|
function getExternalImportsFromFiles({ srcFiles, distFiles }) {
|
|
126
159
|
const srcImportPaths = {};
|
|
127
160
|
const distImportPaths = {};
|
|
@@ -147,25 +180,22 @@ function getExternalImportsFromFiles({ srcFiles, distFiles }) {
|
|
|
147
180
|
externalDistTypeImports
|
|
148
181
|
};
|
|
149
182
|
}
|
|
183
|
+
__name(getExternalImportsFromFiles, "getExternalImportsFromFiles");
|
|
150
184
|
|
|
151
185
|
// src/actions/deplint/checkPackage/getUnlistedDependencies.ts
|
|
152
186
|
import { builtinModules } from "module";
|
|
153
187
|
import chalk from "chalk";
|
|
154
|
-
function getUnlistedDependencies({ name, location }, { dependencies, peerDependencies }, {
|
|
155
|
-
externalDistImports,
|
|
156
|
-
externalDistTypeImports,
|
|
157
|
-
distImportPaths
|
|
158
|
-
}) {
|
|
188
|
+
function getUnlistedDependencies({ name, location }, { dependencies, peerDependencies }, { externalDistImports, externalDistTypeImports, distImportPaths }) {
|
|
159
189
|
let unlistedDependencies = 0;
|
|
160
190
|
for (const imp of externalDistImports) {
|
|
161
|
-
if (!dependencies.includes(imp) && !dependencies.includes(`@types/${imp}`) && !peerDependencies.includes(imp) && !peerDependencies.includes(`@types/${imp}`) && !builtinModules.includes(imp) && !builtinModules.includes(`@types/${imp}`)) {
|
|
191
|
+
if (!dependencies.includes(imp) && imp !== name && !dependencies.includes(`@types/${imp}`) && !peerDependencies.includes(imp) && !peerDependencies.includes(`@types/${imp}`) && !builtinModules.includes(imp) && !builtinModules.includes(`@types/${imp}`)) {
|
|
162
192
|
unlistedDependencies++;
|
|
163
193
|
console.log(`[${chalk.blue(name)}] Missing dependency in package.json: ${chalk.red(imp)}`);
|
|
164
194
|
console.log(` ${distImportPaths[imp].join("\n ")}`);
|
|
165
195
|
}
|
|
166
196
|
}
|
|
167
197
|
for (const imp of externalDistTypeImports) {
|
|
168
|
-
if (!dependencies.includes(imp) && dependencies.includes(`@types/${imp}`) && !peerDependencies.includes(imp) && peerDependencies.includes(`@types/${imp}`) && !builtinModules.includes(imp) && builtinModules.includes(`@types/${imp}`)) {
|
|
198
|
+
if (!dependencies.includes(imp) && imp !== name && dependencies.includes(`@types/${imp}`) && !peerDependencies.includes(imp) && peerDependencies.includes(`@types/${imp}`) && !builtinModules.includes(imp) && builtinModules.includes(`@types/${imp}`)) {
|
|
169
199
|
unlistedDependencies++;
|
|
170
200
|
console.log(`[${chalk.blue(name)}] Missing dependency in package.json: ${chalk.red(imp)}`);
|
|
171
201
|
console.log(` ${distImportPaths[imp].join("\n ")}`);
|
|
@@ -178,22 +208,15 @@ function getUnlistedDependencies({ name, location }, { dependencies, peerDepende
|
|
|
178
208
|
}
|
|
179
209
|
return unlistedDependencies;
|
|
180
210
|
}
|
|
211
|
+
__name(getUnlistedDependencies, "getUnlistedDependencies");
|
|
181
212
|
|
|
182
213
|
// src/actions/deplint/checkPackage/getUnlistedDevDependencies.ts
|
|
183
214
|
import { builtinModules as builtinModules2 } from "module";
|
|
184
215
|
import chalk2 from "chalk";
|
|
185
|
-
function getUnlistedDevDependencies({ name, location }, {
|
|
186
|
-
devDependencies,
|
|
187
|
-
dependencies,
|
|
188
|
-
peerDependencies
|
|
189
|
-
}, {
|
|
190
|
-
srcImportPaths,
|
|
191
|
-
externalSrcImports,
|
|
192
|
-
distImports
|
|
193
|
-
}) {
|
|
216
|
+
function getUnlistedDevDependencies({ name, location }, { devDependencies, dependencies, peerDependencies }, { srcImportPaths, externalSrcImports, distImports }) {
|
|
194
217
|
let unlistedDevDependencies = 0;
|
|
195
218
|
for (const imp of externalSrcImports) {
|
|
196
|
-
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)) {
|
|
219
|
+
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)) {
|
|
197
220
|
unlistedDevDependencies++;
|
|
198
221
|
console.log(`[${chalk2.blue(name)}] Missing devDependency in package.json: ${chalk2.red(imp)}`);
|
|
199
222
|
console.log(` ${srcImportPaths[imp].join("\n ")}`);
|
|
@@ -206,14 +229,11 @@ function getUnlistedDevDependencies({ name, location }, {
|
|
|
206
229
|
}
|
|
207
230
|
return unlistedDevDependencies;
|
|
208
231
|
}
|
|
232
|
+
__name(getUnlistedDevDependencies, "getUnlistedDevDependencies");
|
|
209
233
|
|
|
210
234
|
// src/actions/deplint/checkPackage/getUnusedDependencies.ts
|
|
211
235
|
import chalk3 from "chalk";
|
|
212
|
-
function getUnusedDependencies({ name, location }, { dependencies }, {
|
|
213
|
-
externalDistImports,
|
|
214
|
-
externalDistTypeImports,
|
|
215
|
-
externalSrcImports
|
|
216
|
-
}) {
|
|
236
|
+
function getUnusedDependencies({ name, location }, { dependencies }, { externalDistImports, externalDistTypeImports, externalSrcImports }) {
|
|
217
237
|
let unusedDependencies = 0;
|
|
218
238
|
for (const dep of dependencies) {
|
|
219
239
|
if (!externalDistImports.includes(dep) && !externalDistImports.includes(dep.replace(/^@types\//, "")) && !externalDistTypeImports.includes(dep) && !externalDistTypeImports.includes(dep.replace(/^@types\//, ""))) {
|
|
@@ -232,6 +252,7 @@ function getUnusedDependencies({ name, location }, { dependencies }, {
|
|
|
232
252
|
}
|
|
233
253
|
return unusedDependencies;
|
|
234
254
|
}
|
|
255
|
+
__name(getUnusedDependencies, "getUnusedDependencies");
|
|
235
256
|
|
|
236
257
|
// src/actions/deplint/checkPackage/getUnusedPeerDependencies.ts
|
|
237
258
|
import chalk4 from "chalk";
|
|
@@ -254,66 +275,84 @@ function getUnusedPeerDependencies({ name, location }, { peerDependencies, depen
|
|
|
254
275
|
}
|
|
255
276
|
return unusedDependencies;
|
|
256
277
|
}
|
|
278
|
+
__name(getUnusedPeerDependencies, "getUnusedPeerDependencies");
|
|
257
279
|
|
|
258
280
|
// src/actions/deplint/checkPackage/checkPackage.ts
|
|
259
|
-
function checkPackage({
|
|
260
|
-
name,
|
|
261
|
-
location,
|
|
262
|
-
deps = false,
|
|
263
|
-
devDeps = false,
|
|
264
|
-
peerDeps = false
|
|
265
|
-
}) {
|
|
281
|
+
function checkPackage({ name, location, deps = false, devDeps = false, peerDeps = false, verbose = false }) {
|
|
266
282
|
const { srcFiles, distFiles } = findFiles(location);
|
|
283
|
+
if (verbose) {
|
|
284
|
+
console.info(`Checking package: ${name} at ${location}`);
|
|
285
|
+
console.info(`Source files: ${srcFiles.length}, Distribution files: ${distFiles.length}`);
|
|
286
|
+
for (const file of srcFiles) {
|
|
287
|
+
console.info(`Source file: ${file}`);
|
|
288
|
+
}
|
|
289
|
+
for (const file of distFiles) {
|
|
290
|
+
console.info(`Distribution file: ${file}`);
|
|
291
|
+
}
|
|
292
|
+
}
|
|
267
293
|
const checkDeps = deps || !(deps || devDeps || peerDeps);
|
|
268
294
|
const checkDevDeps = devDeps || !(deps || devDeps || peerDeps);
|
|
269
295
|
const checkPeerDeps = peerDeps;
|
|
270
|
-
const sourceParams = getExternalImportsFromFiles({
|
|
296
|
+
const sourceParams = getExternalImportsFromFiles({
|
|
297
|
+
srcFiles,
|
|
298
|
+
distFiles
|
|
299
|
+
});
|
|
271
300
|
const packageParams = getDependenciesFromPackageJson(`${location}/package.json`);
|
|
272
|
-
const unlistedDependencies = checkDeps ? getUnlistedDependencies({
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
301
|
+
const unlistedDependencies = checkDeps ? getUnlistedDependencies({
|
|
302
|
+
name,
|
|
303
|
+
location
|
|
304
|
+
}, packageParams, sourceParams) : 0;
|
|
305
|
+
const unusedDependencies = checkDeps ? getUnusedDependencies({
|
|
306
|
+
name,
|
|
307
|
+
location
|
|
308
|
+
}, packageParams, sourceParams) : 0;
|
|
309
|
+
const unlistedDevDependencies = checkDevDeps ? getUnlistedDevDependencies({
|
|
310
|
+
name,
|
|
311
|
+
location
|
|
312
|
+
}, packageParams, sourceParams) : 0;
|
|
313
|
+
const unusedPeerDependencies = checkPeerDeps ? getUnusedPeerDependencies({
|
|
314
|
+
name,
|
|
315
|
+
location
|
|
316
|
+
}, packageParams, sourceParams) : 0;
|
|
276
317
|
const totalErrors = unlistedDependencies + unlistedDevDependencies + unusedDependencies + unusedPeerDependencies;
|
|
277
318
|
return totalErrors;
|
|
278
319
|
}
|
|
320
|
+
__name(checkPackage, "checkPackage");
|
|
279
321
|
|
|
280
322
|
// src/actions/deplint/deplint.ts
|
|
281
|
-
var deplint = ({
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
devDeps,
|
|
285
|
-
peerDeps
|
|
286
|
-
}) => {
|
|
287
|
-
if (pkg) {
|
|
288
|
-
const { location, name } = yarnWorkspace(pkg);
|
|
289
|
-
console.log(`Running Deplint for ${name}`);
|
|
290
|
-
checkPackage({
|
|
291
|
-
name,
|
|
292
|
-
location,
|
|
293
|
-
devDeps,
|
|
294
|
-
deps,
|
|
295
|
-
peerDeps
|
|
296
|
-
});
|
|
297
|
-
} else {
|
|
323
|
+
var deplint = /* @__PURE__ */ __name(({ pkg, deps, devDeps, peerDeps, verbose }) => {
|
|
324
|
+
let totalErrors = 0;
|
|
325
|
+
if (pkg === void 0) {
|
|
298
326
|
const workspaces = yarnWorkspaces();
|
|
299
|
-
console.
|
|
300
|
-
let totalErrors = 0;
|
|
327
|
+
console.info("Deplint Started...");
|
|
301
328
|
for (const workspace of workspaces) {
|
|
302
329
|
totalErrors += checkPackage({
|
|
303
330
|
...workspace,
|
|
304
331
|
deps,
|
|
305
332
|
devDeps,
|
|
306
|
-
peerDeps
|
|
333
|
+
peerDeps,
|
|
334
|
+
verbose
|
|
307
335
|
});
|
|
308
336
|
}
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
337
|
+
} else {
|
|
338
|
+
const { location, name } = yarnWorkspace(pkg);
|
|
339
|
+
console.info(`Running Deplint for ${name}`);
|
|
340
|
+
totalErrors += checkPackage({
|
|
341
|
+
name,
|
|
342
|
+
location,
|
|
343
|
+
devDeps,
|
|
344
|
+
deps,
|
|
345
|
+
peerDeps,
|
|
346
|
+
verbose
|
|
347
|
+
});
|
|
348
|
+
}
|
|
349
|
+
if (totalErrors > 0) {
|
|
350
|
+
console.warn(`Deplint: Found ${chalk5.red(totalErrors)} dependency problems. ${chalk5.red("\u2716")}`);
|
|
351
|
+
} else {
|
|
352
|
+
console.info(`Deplint: Found no dependency problems. ${chalk5.green("\u2714")}`);
|
|
314
353
|
}
|
|
315
354
|
return 0;
|
|
316
|
-
};
|
|
355
|
+
}, "deplint");
|
|
317
356
|
export {
|
|
318
357
|
deplint
|
|
319
358
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/actions/deplint/deplint.ts","../../../src/lib/yarn/workspace/yarnWorkspaces.ts","../../../src/lib/yarn/workspace/yarnWorkspace.ts","../../../src/actions/deplint/findFilesByGlob.ts","../../../src/actions/deplint/findFiles.ts","../../../src/actions/deplint/getDependenciesFromPackageJson.ts","../../../src/actions/deplint/getImportsFromFile.ts","../../../src/actions/deplint/getBasePackageName.ts","../../../src/actions/deplint/getExternalImportsFromFiles.ts","../../../src/actions/deplint/checkPackage/getUnlistedDependencies.ts","../../../src/actions/deplint/checkPackage/getUnlistedDevDependencies.ts","../../../src/actions/deplint/checkPackage/getUnusedDependencies.ts","../../../src/actions/deplint/checkPackage/getUnusedPeerDependencies.ts","../../../src/actions/deplint/checkPackage/checkPackage.ts"],"sourcesContent":["import chalk from 'chalk'\n\nimport { yarnWorkspace, yarnWorkspaces } from '../../lib/index.ts'\nimport { checkPackage } from './checkPackage/index.ts'\n\nexport const deplint = ({\n pkg, deps, devDeps, peerDeps,\n}: { deps: boolean; devDeps: boolean; peerDeps: boolean; pkg: string }) => {\n if (pkg) {\n const { location, name } = yarnWorkspace(pkg)\n\n console.log(`Running Deplint for ${name}`)\n checkPackage({\n name, location, devDeps, deps, peerDeps,\n })\n } else {\n const workspaces = yarnWorkspaces()\n\n console.log('Deplint Started...')\n\n let totalErrors = 0\n\n for (const workspace of workspaces) {\n totalErrors += checkPackage({\n ...workspace, deps, devDeps, peerDeps,\n })\n }\n\n if (totalErrors > 0) {\n console.log(`Deplint: Found ${chalk.red(totalErrors)} dependency problems. ${chalk.red('✖')}`)\n } else {\n console.log(`Deplint: Found no dependency problems. ${chalk.green('✔')}`)\n }\n }\n return 0\n}\n","import { spawnSync } from 'node:child_process'\n\nimport type { Workspace } from './Workspace.ts'\n\nexport const yarnWorkspaces = (): Workspace[] => {\n const result = spawnSync('yarn', ['workspaces', 'list', '--json', '--recursive'], { encoding: 'utf8', shell: true })\n if (result.error) {\n throw result.error\n }\n return (\n result.stdout\n .toString()\n // NOTE: This probably doesn't work on Windows\n // TODO: Replace /r/n with /n first\n .split('\\n')\n .slice(0, -1)\n .map((item) => {\n return JSON.parse(item)\n })\n )\n}\n","import type { Workspace } from './Workspace.ts'\nimport { yarnWorkspaces } from './yarnWorkspaces.ts'\n\nexport const yarnWorkspace = (pkg: string): Workspace => {\n const workspace = yarnWorkspaces().find(({ name }) => name === pkg)\n if (!workspace) throw new Error(`Workspace ${pkg} not found`)\n return workspace\n}\n","import { globSync } from 'glob'\n\nexport function findFilesByGlob(cwd: string, pattern: string) {\n return globSync(pattern, { cwd, absolute: true })\n}\n","import { findFilesByGlob } from './findFilesByGlob.ts'\n\nexport function findFiles(path: string) {\n const allSourceInclude = ['./src/**/*.{ts,tsx}']\n const allDistInclude = ['./dist/**/*.d.ts', './dist/**/*.{mjs,js,cjs}']\n const srcFiles = allSourceInclude.flatMap(pattern => findFilesByGlob(path, pattern))\n const distFiles = allDistInclude.flatMap(pattern => findFilesByGlob(path, pattern))\n\n return { srcFiles, distFiles }\n}\n","import fs from 'node:fs'\nimport path from 'node:path'\n\nexport function getDependenciesFromPackageJson(packageJsonPath: string) {\n const packageJsonFullPath = path.resolve(packageJsonPath)\n const rawContent = fs.readFileSync(packageJsonFullPath, 'utf8')\n const packageJson = JSON.parse(rawContent)\n\n const dependencies = packageJson.dependencies\n ? Object.keys(packageJson.dependencies)\n : []\n\n const devDependencies = packageJson.devDependencies\n ? Object.keys(packageJson.devDependencies)\n : []\n\n const peerDependencies = packageJson.peerDependencies\n ? Object.keys(packageJson.peerDependencies)\n : []\n\n return {\n dependencies, devDependencies, peerDependencies,\n }\n}\n","import fs from 'node:fs'\nimport path from 'node:path'\n\nimport ts from 'typescript'\n\nimport { getBasePackageName } from './getBasePackageName.ts'\n\nexport function getImportsFromFile(filePath: string, importPaths: Record<string, string[]>, typeImportPaths: Record<string, string[]>) {\n const sourceCode = fs.readFileSync(filePath, 'utf8')\n\n const isMjsFile = filePath.endsWith('.mjs')\n\n const sourceFile = ts.createSourceFile(\n path.basename(filePath),\n sourceCode,\n ts.ScriptTarget.Latest,\n true,\n isMjsFile ? ts.ScriptKind.JS : undefined,\n )\n\n const imports: string[] = []\n const typeImports: string[] = []\n\n const isDeclarationFile = filePath.endsWith('.d.ts')\n\n function visit(node: ts.Node) {\n if (ts.isImportDeclaration(node) || ts.isExportDeclaration(node)) {\n const moduleSpecifier = (node.moduleSpecifier)?.getFullText()\n const isTypeImport = ts.isImportDeclaration(node) ? (node.importClause?.isTypeOnly ?? false) : false\n if (typeof moduleSpecifier === 'string') {\n const trimmed = moduleSpecifier.replaceAll(\"'\", '').replaceAll('\"', '').trim()\n // we are determining if the type import is being imported in an exported d.ts file\n if (isTypeImport || isDeclarationFile) {\n typeImports.push(trimmed)\n } else {\n imports.push(trimmed)\n }\n }\n } else if (ts.isCallExpression(node) && node.expression.kind === ts.SyntaxKind.ImportKeyword) {\n const [arg] = node.arguments\n if (ts.isStringLiteral(arg)) {\n const trimmed = arg.text\n imports.push(trimmed)\n }\n }\n ts.forEachChild(node, visit)\n }\n\n visit(sourceFile)\n\n const importsStartsWithExcludes = ['.', '#', 'node:']\n\n const cleanedImports = imports.filter(imp => !importsStartsWithExcludes.some(exc => imp.startsWith(exc))).map(getBasePackageName)\n const cleanedTypeImports = typeImports.filter(imp => !importsStartsWithExcludes.some(exc => imp.startsWith(exc))).map(getBasePackageName)\n\n for (const imp of cleanedImports) {\n importPaths[imp] = importPaths[imp] ?? []\n importPaths[imp].push(filePath)\n }\n\n for (const imp of cleanedTypeImports) {\n typeImportPaths[imp] = typeImportPaths[imp] ?? []\n typeImportPaths[imp].push(filePath)\n }\n\n return [cleanedImports, cleanedTypeImports]\n}\n","export function getBasePackageName(importName: string) {\n const importNameScrubbed = importName.replaceAll('\"', '').trim()\n if (importNameScrubbed.startsWith('@')) {\n const parts = importNameScrubbed.split('/')\n return parts.length >= 2 ? `${parts[0]}/${parts[1]}` : importNameScrubbed\n }\n return importNameScrubbed.split('/')[0]\n}\n","import type { CheckSourceParams } from './checkPackage/index.ts'\nimport { getImportsFromFile } from './getImportsFromFile.ts'\n\nconst internalImportPrefixes = ['.', '#', 'node:']\n\nconst removeInternalImports = (imports: string[]) => {\n return imports.filter(imp => !internalImportPrefixes.some(prefix => imp.startsWith(prefix)))\n}\n\nexport function getExternalImportsFromFiles({ srcFiles, distFiles }: { distFiles: string []; srcFiles: string[] }): CheckSourceParams {\n const srcImportPaths: Record<string, string[]> = {}\n const distImportPaths: Record<string, string[]> = {}\n const distTypeImportPaths: Record<string, string[]> = {}\n for (const path of srcFiles) getImportsFromFile(path, srcImportPaths, srcImportPaths).flat()\n const distTypeFiles = distFiles.filter(file => file.endsWith('.d.ts') || file.endsWith('.d.cts') || file.endsWith('.d.mts'))\n const distCodeFiles = distFiles.filter(file => !(file.endsWith('.d.ts') || file.endsWith('.d.cts') || file.endsWith('.d.mts')))\n for (const path of distCodeFiles) getImportsFromFile(path, distImportPaths, distImportPaths).flat()\n for (const path of distTypeFiles) getImportsFromFile(path, distTypeImportPaths, distTypeImportPaths).flat()\n const srcImports = Object.keys(srcImportPaths)\n const distImports = Object.keys(distImportPaths)\n const distTypeImports = Object.keys(distTypeImportPaths)\n\n const externalSrcImports = removeInternalImports(srcImports)\n const externalDistImports = removeInternalImports(distImports)\n const externalDistTypeImports = removeInternalImports(distTypeImports)\n\n return {\n srcImports,\n srcImportPaths,\n externalSrcImports,\n distImports,\n distImportPaths,\n externalDistImports,\n externalDistTypeImports,\n }\n}\n","import { builtinModules } from 'node:module'\n\nimport chalk from 'chalk'\n\nimport type { Workspace } from '../../../lib/index.ts'\nimport type { CheckPackageParams, CheckSourceParams } from './checkPackageTypes.ts'\n\nexport function getUnlistedDependencies(\n { name, location }: Workspace,\n { dependencies, peerDependencies }: CheckPackageParams,\n {\n externalDistImports, externalDistTypeImports, distImportPaths,\n }: CheckSourceParams,\n) {\n let unlistedDependencies = 0\n\n for (const imp of externalDistImports) {\n if (!dependencies.includes(imp)\n && !dependencies.includes(`@types/${imp}`)\n && !peerDependencies.includes(imp)\n && !peerDependencies.includes(`@types/${imp}`)\n && !builtinModules.includes(imp)\n && !builtinModules.includes(`@types/${imp}`)) {\n unlistedDependencies++\n console.log(`[${chalk.blue(name)}] Missing dependency in package.json: ${chalk.red(imp)}`)\n console.log(` ${distImportPaths[imp].join('\\n ')}`)\n }\n }\n\n for (const imp of externalDistTypeImports) {\n if (!dependencies.includes(imp)\n && dependencies.includes(`@types/${imp}`)\n && !peerDependencies.includes(imp)\n && peerDependencies.includes(`@types/${imp}`)\n && !builtinModules.includes(imp)\n && builtinModules.includes(`@types/${imp}`)) {\n unlistedDependencies++\n console.log(`[${chalk.blue(name)}] Missing dependency in package.json: ${chalk.red(imp)}`)\n console.log(` ${distImportPaths[imp].join('\\n ')}`)\n }\n }\n\n if (unlistedDependencies > 0) {\n const packageLocation = `${location}/package.json`\n console.log(` ${chalk.yellow(packageLocation)}\\n`)\n }\n return unlistedDependencies\n}\n","import { builtinModules } from 'node:module'\n\nimport chalk from 'chalk'\n\nimport type { Workspace } from '../../../lib/index.ts'\nimport type { CheckPackageParams, CheckSourceParams } from './checkPackageTypes.ts'\n\nexport function getUnlistedDevDependencies(\n { name, location }: Workspace,\n {\n devDependencies, dependencies, peerDependencies,\n }: CheckPackageParams,\n {\n srcImportPaths, externalSrcImports, distImports,\n }: CheckSourceParams,\n) {\n let unlistedDevDependencies = 0\n for (const imp of externalSrcImports) {\n if (!distImports.includes(imp)\n && !dependencies.includes(imp)\n && !dependencies.includes(`@types/${imp}`)\n && !peerDependencies.includes(imp)\n && !peerDependencies.includes(`@types/${imp}`)\n && !devDependencies.includes(imp)\n && !devDependencies.includes(`@types/${imp}`)\n && !builtinModules.includes(imp)\n ) {\n unlistedDevDependencies++\n console.log(`[${chalk.blue(name)}] Missing devDependency in package.json: ${chalk.red(imp)}`)\n console.log(` ${srcImportPaths[imp].join('\\n ')}`)\n }\n }\n if (unlistedDevDependencies > 0) {\n const packageLocation = `${location}/package.json`\n console.log(` ${chalk.yellow(packageLocation)}\\n`)\n }\n return unlistedDevDependencies\n}\n","import chalk from 'chalk'\n\nimport type { Workspace } from '../../../lib/index.ts'\nimport type { CheckPackageParams, CheckSourceParams } from './checkPackageTypes.ts'\n\nexport function getUnusedDependencies(\n { name, location }: Workspace,\n { dependencies }: CheckPackageParams,\n {\n externalDistImports,\n externalDistTypeImports,\n externalSrcImports,\n }: CheckSourceParams,\n) {\n let unusedDependencies = 0\n for (const dep of dependencies) {\n if (!externalDistImports.includes(dep)\n && !externalDistImports.includes(dep.replace(/^@types\\//, ''))\n && !externalDistTypeImports.includes(dep)\n && !externalDistTypeImports.includes(dep.replace(/^@types\\//, ''))) {\n unusedDependencies++\n if (externalSrcImports.includes(dep)) {\n console.log(`[${chalk.blue(name)}] dependency should be devDependency in package.json: ${chalk.red(dep)}`)\n } else {\n console.log(`[${chalk.blue(name)}] Unused dependency in package.json: ${chalk.red(dep)}`)\n }\n }\n }\n if (unusedDependencies > 0) {\n const packageLocation = `${location}/package.json`\n console.log(` ${chalk.yellow(packageLocation)}\\n`)\n }\n return unusedDependencies\n}\n","import chalk from 'chalk'\n\nimport type { Workspace } from '../../../lib/index.ts'\nimport type { CheckPackageParams, CheckSourceParams } from './checkPackageTypes.ts'\n\nexport function getUnusedPeerDependencies(\n { name, location }: Workspace,\n { peerDependencies, dependencies }: CheckPackageParams,\n { externalDistImports, externalDistTypeImports }: CheckSourceParams,\n) {\n let unusedDependencies = 0\n for (const dep of peerDependencies) {\n if (!externalDistImports.includes(dep) && !externalDistImports.includes(dep.replace(/^@types\\//, ''))\n && !externalDistTypeImports.includes(dep) && !externalDistTypeImports.includes(dep.replace(/^@types\\//, ''))) {\n unusedDependencies++\n if (dependencies.includes(dep)) {\n console.log(`[${chalk.blue(name)}] Unused peerDependency [already a dependency] in package.json: ${chalk.red(dep)}`)\n } else {\n console.log(`[${chalk.blue(name)}] Unused peerDependency in package.json: ${chalk.red(dep)}`)\n }\n }\n }\n if (unusedDependencies > 0) {\n const packageLocation = `${location}/package.json`\n console.log(` ${chalk.yellow(packageLocation)}\\n`)\n }\n return unusedDependencies\n}\n","import type { Workspace } from '../../../lib/index.ts'\nimport { findFiles } from '../findFiles.ts'\nimport { getDependenciesFromPackageJson } from '../getDependenciesFromPackageJson.ts'\nimport { getExternalImportsFromFiles } from '../getExternalImportsFromFiles.ts'\nimport { getUnlistedDependencies } from './getUnlistedDependencies.ts'\nimport { getUnlistedDevDependencies } from './getUnlistedDevDependencies.ts'\nimport { getUnusedDependencies } from './getUnusedDependencies.ts'\nimport { getUnusedPeerDependencies } from './getUnusedPeerDependencies.ts'\n\nexport interface CheckPackageOptions extends Workspace {\n deps?: boolean\n devDeps?: boolean\n peerDeps?: boolean\n}\n\nexport function checkPackage({\n name, location, deps = false, devDeps = false, peerDeps = false,\n}: CheckPackageOptions) {\n const { srcFiles, distFiles } = findFiles(location)\n const checkDeps = deps || !(deps || devDeps || peerDeps)\n const checkDevDeps = devDeps || !(deps || devDeps || peerDeps)\n const checkPeerDeps = peerDeps // || !(deps || devDeps || peerDeps)\n const sourceParams = getExternalImportsFromFiles({ srcFiles, distFiles })\n\n const packageParams = getDependenciesFromPackageJson(`${location}/package.json`)\n\n const unlistedDependencies = checkDeps ? getUnlistedDependencies({ name, location }, packageParams, sourceParams) : 0\n const unusedDependencies = checkDeps ? getUnusedDependencies({ name, location }, packageParams, sourceParams) : 0\n const unlistedDevDependencies = checkDevDeps ? getUnlistedDevDependencies({ name, location }, packageParams, sourceParams) : 0\n const unusedPeerDependencies = checkPeerDeps ? getUnusedPeerDependencies({ name, location }, packageParams, sourceParams) : 0\n\n const totalErrors = unlistedDependencies + unlistedDevDependencies + unusedDependencies + unusedPeerDependencies\n return totalErrors\n}\n"],"mappings":"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","names":["chalk","path","fs","path","fs","path","path","builtinModules","chalk","chalk","chalk","chalk"]}
|
|
1
|
+
{"version":3,"sources":["../../../src/actions/deplint/deplint.ts","../../../src/lib/yarn/workspace/yarnWorkspaces.ts","../../../src/lib/yarn/workspace/yarnWorkspace.ts","../../../src/actions/deplint/findFilesByGlob.ts","../../../src/actions/deplint/findFiles.ts","../../../src/actions/deplint/getDependenciesFromPackageJson.ts","../../../src/actions/deplint/getImportsFromFile.ts","../../../src/actions/deplint/getBasePackageName.ts","../../../src/actions/deplint/getExternalImportsFromFiles.ts","../../../src/actions/deplint/checkPackage/getUnlistedDependencies.ts","../../../src/actions/deplint/checkPackage/getUnlistedDevDependencies.ts","../../../src/actions/deplint/checkPackage/getUnusedDependencies.ts","../../../src/actions/deplint/checkPackage/getUnusedPeerDependencies.ts","../../../src/actions/deplint/checkPackage/checkPackage.ts"],"sourcesContent":["import chalk from 'chalk'\n\nimport { yarnWorkspace, yarnWorkspaces } from '../../lib/index.ts'\nimport type { CheckPackageOptions } from './checkPackage/index.ts'\nimport { checkPackage } from './checkPackage/index.ts'\n\nexport interface DepLintOptions extends CheckPackageOptions {\n pkg?: string\n}\n\nexport const deplint = ({\n pkg, deps, devDeps, peerDeps, verbose,\n}: DepLintOptions) => {\n let totalErrors = 0\n\n if (pkg === undefined) {\n const workspaces = yarnWorkspaces()\n\n console.info('Deplint Started...')\n\n for (const workspace of workspaces) {\n totalErrors += checkPackage({\n ...workspace, deps, devDeps, peerDeps, verbose,\n })\n }\n } else {\n const { location, name } = yarnWorkspace(pkg)\n\n console.info(`Running Deplint for ${name}`)\n totalErrors += checkPackage({\n name, location, devDeps, deps, peerDeps, verbose,\n })\n }\n\n if (totalErrors > 0) {\n console.warn(`Deplint: Found ${chalk.red(totalErrors)} dependency problems. ${chalk.red('✖')}`)\n } else {\n console.info(`Deplint: Found no dependency problems. ${chalk.green('✔')}`)\n }\n return 0\n}\n","import { spawnSync } from 'node:child_process'\n\nimport type { Workspace } from './Workspace.ts'\n\nexport const yarnWorkspaces = (): Workspace[] => {\n const result = spawnSync('yarn', ['workspaces', 'list', '--json', '--recursive'], { encoding: 'utf8', shell: true })\n if (result.error) {\n throw result.error\n }\n return (\n result.stdout\n .toString()\n // NOTE: This probably doesn't work on Windows\n // TODO: Replace /r/n with /n first\n .split('\\n')\n .slice(0, -1)\n .map((item) => {\n return JSON.parse(item)\n })\n )\n}\n","import type { Workspace } from './Workspace.ts'\nimport { yarnWorkspaces } from './yarnWorkspaces.ts'\n\nexport const yarnWorkspace = (pkg: string): Workspace => {\n const workspace = yarnWorkspaces().find(({ name }) => name === pkg)\n if (!workspace) throw new Error(`Workspace ${pkg} not found`)\n return workspace\n}\n","import { globSync } from 'glob'\n\nexport function findFilesByGlob(cwd: string, pattern: string) {\n return globSync(pattern, { cwd, absolute: true })\n}\n","import { findFilesByGlob } from './findFilesByGlob.ts'\n\nexport function findFiles(path: string) {\n const allSourceInclude = ['./src/**/*.{ts,tsx}']\n const allDistInclude = ['./dist/**/*.d.ts', './dist/**/*.{mjs,js,cjs}']\n const srcFiles = allSourceInclude.flatMap(pattern => findFilesByGlob(path, pattern))\n const distFiles = allDistInclude.flatMap(pattern => findFilesByGlob(path, pattern))\n\n return { srcFiles, distFiles }\n}\n","import fs from 'node:fs'\nimport path from 'node:path'\n\nexport function getDependenciesFromPackageJson(packageJsonPath: string) {\n const packageJsonFullPath = path.resolve(packageJsonPath)\n const rawContent = fs.readFileSync(packageJsonFullPath, 'utf8')\n const packageJson = JSON.parse(rawContent)\n\n const dependencies = packageJson.dependencies\n ? Object.keys(packageJson.dependencies)\n : []\n\n const devDependencies = packageJson.devDependencies\n ? Object.keys(packageJson.devDependencies)\n : []\n\n const peerDependencies = packageJson.peerDependencies\n ? Object.keys(packageJson.peerDependencies)\n : []\n\n return {\n dependencies, devDependencies, peerDependencies,\n }\n}\n","import fs from 'node:fs'\nimport path from 'node:path'\n\nimport ts from 'typescript'\n\nimport { getBasePackageName } from './getBasePackageName.ts'\n\nexport function getImportsFromFile(filePath: string, importPaths: Record<string, string[]>, typeImportPaths: Record<string, string[]>) {\n const sourceCode = fs.readFileSync(filePath, 'utf8')\n\n const isMjsFile = filePath.endsWith('.mjs')\n\n const sourceFile = ts.createSourceFile(\n path.basename(filePath),\n sourceCode,\n ts.ScriptTarget.Latest,\n true,\n isMjsFile ? ts.ScriptKind.JS : undefined,\n )\n\n const imports: string[] = []\n const typeImports: string[] = []\n\n const isDeclarationFile = filePath.endsWith('.d.ts')\n\n function visit(node: ts.Node) {\n if (ts.isImportDeclaration(node) || ts.isExportDeclaration(node)) {\n const moduleSpecifier = (node.moduleSpecifier)?.getFullText()\n const isTypeImport = ts.isImportDeclaration(node) ? (node.importClause?.isTypeOnly ?? false) : false\n if (typeof moduleSpecifier === 'string') {\n const trimmed = moduleSpecifier.replaceAll(\"'\", '').replaceAll('\"', '').trim()\n // we are determining if the type import is being imported in an exported d.ts file\n if (isTypeImport || isDeclarationFile) {\n typeImports.push(trimmed)\n } else {\n imports.push(trimmed)\n }\n }\n } else if (ts.isCallExpression(node) && node.expression.kind === ts.SyntaxKind.ImportKeyword) {\n const [arg] = node.arguments\n if (ts.isStringLiteral(arg)) {\n const trimmed = arg.text\n imports.push(trimmed)\n }\n }\n ts.forEachChild(node, visit)\n }\n\n visit(sourceFile)\n\n const importsStartsWithExcludes = ['.', '#', 'node:']\n\n const cleanedImports = imports.filter(imp => !importsStartsWithExcludes.some(exc => imp.startsWith(exc))).map(getBasePackageName)\n const cleanedTypeImports = typeImports.filter(imp => !importsStartsWithExcludes.some(exc => imp.startsWith(exc))).map(getBasePackageName)\n\n for (const imp of cleanedImports) {\n importPaths[imp] = importPaths[imp] ?? []\n importPaths[imp].push(filePath)\n }\n\n for (const imp of cleanedTypeImports) {\n typeImportPaths[imp] = typeImportPaths[imp] ?? []\n typeImportPaths[imp].push(filePath)\n }\n\n return [cleanedImports, cleanedTypeImports]\n}\n","export function getBasePackageName(importName: string) {\n const importNameScrubbed = importName.replaceAll('\"', '').trim()\n if (importNameScrubbed.startsWith('@')) {\n const parts = importNameScrubbed.split('/')\n return parts.length >= 2 ? `${parts[0]}/${parts[1]}` : importNameScrubbed\n }\n return importNameScrubbed.split('/')[0]\n}\n","import type { CheckSourceParams } from './checkPackage/index.ts'\nimport { getImportsFromFile } from './getImportsFromFile.ts'\n\nconst internalImportPrefixes = ['.', '#', 'node:']\n\nconst removeInternalImports = (imports: string[]) => {\n return imports.filter(imp => !internalImportPrefixes.some(prefix => imp.startsWith(prefix)))\n}\n\nexport function getExternalImportsFromFiles({ srcFiles, distFiles }: { distFiles: string []; srcFiles: string[] }): CheckSourceParams {\n const srcImportPaths: Record<string, string[]> = {}\n const distImportPaths: Record<string, string[]> = {}\n const distTypeImportPaths: Record<string, string[]> = {}\n for (const path of srcFiles) getImportsFromFile(path, srcImportPaths, srcImportPaths).flat()\n const distTypeFiles = distFiles.filter(file => file.endsWith('.d.ts') || file.endsWith('.d.cts') || file.endsWith('.d.mts'))\n const distCodeFiles = distFiles.filter(file => !(file.endsWith('.d.ts') || file.endsWith('.d.cts') || file.endsWith('.d.mts')))\n for (const path of distCodeFiles) getImportsFromFile(path, distImportPaths, distImportPaths).flat()\n for (const path of distTypeFiles) getImportsFromFile(path, distTypeImportPaths, distTypeImportPaths).flat()\n const srcImports = Object.keys(srcImportPaths)\n const distImports = Object.keys(distImportPaths)\n const distTypeImports = Object.keys(distTypeImportPaths)\n\n const externalSrcImports = removeInternalImports(srcImports)\n const externalDistImports = removeInternalImports(distImports)\n const externalDistTypeImports = removeInternalImports(distTypeImports)\n\n return {\n srcImports,\n srcImportPaths,\n externalSrcImports,\n distImports,\n distImportPaths,\n externalDistImports,\n externalDistTypeImports,\n }\n}\n","import { builtinModules } from 'node:module'\n\nimport chalk from 'chalk'\n\nimport type { Workspace } from '../../../lib/index.ts'\nimport type { CheckPackageParams, CheckSourceParams } from './checkPackageTypes.ts'\n\nexport function getUnlistedDependencies(\n { name, location }: Workspace,\n { dependencies, peerDependencies }: CheckPackageParams,\n {\n externalDistImports, externalDistTypeImports, distImportPaths,\n }: CheckSourceParams,\n) {\n let unlistedDependencies = 0\n\n for (const imp of externalDistImports) {\n if (!dependencies.includes(imp)\n && imp !== name\n && !dependencies.includes(`@types/${imp}`)\n && !peerDependencies.includes(imp)\n && !peerDependencies.includes(`@types/${imp}`)\n && !builtinModules.includes(imp)\n && !builtinModules.includes(`@types/${imp}`)) {\n unlistedDependencies++\n console.log(`[${chalk.blue(name)}] Missing dependency in package.json: ${chalk.red(imp)}`)\n console.log(` ${distImportPaths[imp].join('\\n ')}`)\n }\n }\n\n for (const imp of externalDistTypeImports) {\n if (!dependencies.includes(imp)\n && imp !== name\n && dependencies.includes(`@types/${imp}`)\n && !peerDependencies.includes(imp)\n && peerDependencies.includes(`@types/${imp}`)\n && !builtinModules.includes(imp)\n && builtinModules.includes(`@types/${imp}`)) {\n unlistedDependencies++\n console.log(`[${chalk.blue(name)}] Missing dependency in package.json: ${chalk.red(imp)}`)\n console.log(` ${distImportPaths[imp].join('\\n ')}`)\n }\n }\n\n if (unlistedDependencies > 0) {\n const packageLocation = `${location}/package.json`\n console.log(` ${chalk.yellow(packageLocation)}\\n`)\n }\n return unlistedDependencies\n}\n","import { builtinModules } from 'node:module'\n\nimport chalk from 'chalk'\n\nimport type { Workspace } from '../../../lib/index.ts'\nimport type { CheckPackageParams, CheckSourceParams } from './checkPackageTypes.ts'\n\nexport function getUnlistedDevDependencies(\n { name, location }: Workspace,\n {\n devDependencies, dependencies, peerDependencies,\n }: CheckPackageParams,\n {\n srcImportPaths, externalSrcImports, distImports,\n }: CheckSourceParams,\n) {\n let unlistedDevDependencies = 0\n for (const imp of externalSrcImports) {\n if (!distImports.includes(imp)\n && imp !== name\n && !dependencies.includes(imp)\n && !dependencies.includes(`@types/${imp}`)\n && !peerDependencies.includes(imp)\n && !peerDependencies.includes(`@types/${imp}`)\n && !devDependencies.includes(imp)\n && !devDependencies.includes(`@types/${imp}`)\n && !builtinModules.includes(imp)\n ) {\n unlistedDevDependencies++\n console.log(`[${chalk.blue(name)}] Missing devDependency in package.json: ${chalk.red(imp)}`)\n console.log(` ${srcImportPaths[imp].join('\\n ')}`)\n }\n }\n if (unlistedDevDependencies > 0) {\n const packageLocation = `${location}/package.json`\n console.log(` ${chalk.yellow(packageLocation)}\\n`)\n }\n return unlistedDevDependencies\n}\n","import chalk from 'chalk'\n\nimport type { Workspace } from '../../../lib/index.ts'\nimport type { CheckPackageParams, CheckSourceParams } from './checkPackageTypes.ts'\n\nexport function getUnusedDependencies(\n { name, location }: Workspace,\n { dependencies }: CheckPackageParams,\n {\n externalDistImports,\n externalDistTypeImports,\n externalSrcImports,\n }: CheckSourceParams,\n) {\n let unusedDependencies = 0\n for (const dep of dependencies) {\n if (!externalDistImports.includes(dep)\n && !externalDistImports.includes(dep.replace(/^@types\\//, ''))\n && !externalDistTypeImports.includes(dep)\n && !externalDistTypeImports.includes(dep.replace(/^@types\\//, ''))) {\n unusedDependencies++\n if (externalSrcImports.includes(dep)) {\n console.log(`[${chalk.blue(name)}] dependency should be devDependency in package.json: ${chalk.red(dep)}`)\n } else {\n console.log(`[${chalk.blue(name)}] Unused dependency in package.json: ${chalk.red(dep)}`)\n }\n }\n }\n if (unusedDependencies > 0) {\n const packageLocation = `${location}/package.json`\n console.log(` ${chalk.yellow(packageLocation)}\\n`)\n }\n return unusedDependencies\n}\n","import chalk from 'chalk'\n\nimport type { Workspace } from '../../../lib/index.ts'\nimport type { CheckPackageParams, CheckSourceParams } from './checkPackageTypes.ts'\n\nexport function getUnusedPeerDependencies(\n { name, location }: Workspace,\n { peerDependencies, dependencies }: CheckPackageParams,\n { externalDistImports, externalDistTypeImports }: CheckSourceParams,\n) {\n let unusedDependencies = 0\n for (const dep of peerDependencies) {\n if (!externalDistImports.includes(dep) && !externalDistImports.includes(dep.replace(/^@types\\//, ''))\n && !externalDistTypeImports.includes(dep) && !externalDistTypeImports.includes(dep.replace(/^@types\\//, ''))) {\n unusedDependencies++\n if (dependencies.includes(dep)) {\n console.log(`[${chalk.blue(name)}] Unused peerDependency [already a dependency] in package.json: ${chalk.red(dep)}`)\n } else {\n console.log(`[${chalk.blue(name)}] Unused peerDependency in package.json: ${chalk.red(dep)}`)\n }\n }\n }\n if (unusedDependencies > 0) {\n const packageLocation = `${location}/package.json`\n console.log(` ${chalk.yellow(packageLocation)}\\n`)\n }\n return unusedDependencies\n}\n","import type { Workspace } from '../../../lib/index.ts'\nimport { findFiles } from '../findFiles.ts'\nimport { getDependenciesFromPackageJson } from '../getDependenciesFromPackageJson.ts'\nimport { getExternalImportsFromFiles } from '../getExternalImportsFromFiles.ts'\nimport { getUnlistedDependencies } from './getUnlistedDependencies.ts'\nimport { getUnlistedDevDependencies } from './getUnlistedDevDependencies.ts'\nimport { getUnusedDependencies } from './getUnusedDependencies.ts'\nimport { getUnusedPeerDependencies } from './getUnusedPeerDependencies.ts'\n\nexport interface CheckPackageOptions {\n deps?: boolean\n devDeps?: boolean\n peerDeps?: boolean\n verbose?: boolean\n}\n\nexport function checkPackage({\n name, location, deps = false, devDeps = false, peerDeps = false, verbose = false,\n}: CheckPackageOptions & Workspace) {\n const { srcFiles, distFiles } = findFiles(location)\n if (verbose) {\n console.info(`Checking package: ${name} at ${location}`)\n console.info(`Source files: ${srcFiles.length}, Distribution files: ${distFiles.length}`)\n for (const file of srcFiles) {\n console.info(`Source file: ${file}`)\n }\n for (const file of distFiles) {\n console.info(`Distribution file: ${file}`)\n }\n }\n const checkDeps = deps || !(deps || devDeps || peerDeps)\n const checkDevDeps = devDeps || !(deps || devDeps || peerDeps)\n const checkPeerDeps = peerDeps // || !(deps || devDeps || peerDeps)\n const sourceParams = getExternalImportsFromFiles({ srcFiles, distFiles })\n\n const packageParams = getDependenciesFromPackageJson(`${location}/package.json`)\n\n const unlistedDependencies = checkDeps ? getUnlistedDependencies({ name, location }, packageParams, sourceParams) : 0\n const unusedDependencies = checkDeps ? getUnusedDependencies({ name, location }, packageParams, sourceParams) : 0\n const unlistedDevDependencies = checkDevDeps ? getUnlistedDevDependencies({ name, location }, packageParams, sourceParams) : 0\n const unusedPeerDependencies = checkPeerDeps ? getUnusedPeerDependencies({ name, location }, packageParams, sourceParams) : 0\n\n const totalErrors = unlistedDependencies + unlistedDevDependencies + unusedDependencies + unusedPeerDependencies\n return totalErrors\n}\n"],"mappings":"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","names":["chalk","spawnSync","yarnWorkspaces","result","spawnSync","encoding","shell","error","stdout","toString","split","slice","map","item","JSON","parse","yarnWorkspace","pkg","workspace","yarnWorkspaces","find","name","Error","globSync","findFilesByGlob","cwd","pattern","globSync","absolute","findFiles","path","allSourceInclude","allDistInclude","srcFiles","flatMap","pattern","findFilesByGlob","distFiles","fs","path","getDependenciesFromPackageJson","packageJsonPath","packageJsonFullPath","path","resolve","rawContent","fs","readFileSync","packageJson","JSON","parse","dependencies","Object","keys","devDependencies","peerDependencies","fs","path","ts","getBasePackageName","importName","importNameScrubbed","replaceAll","trim","startsWith","parts","split","length","getImportsFromFile","filePath","importPaths","typeImportPaths","sourceCode","fs","readFileSync","isMjsFile","endsWith","sourceFile","ts","createSourceFile","path","basename","ScriptTarget","Latest","ScriptKind","JS","undefined","imports","typeImports","isDeclarationFile","visit","node","isImportDeclaration","isExportDeclaration","moduleSpecifier","getFullText","isTypeImport","importClause","isTypeOnly","trimmed","replaceAll","trim","push","isCallExpression","expression","kind","SyntaxKind","ImportKeyword","arg","arguments","isStringLiteral","text","forEachChild","importsStartsWithExcludes","cleanedImports","filter","imp","some","exc","startsWith","map","getBasePackageName","cleanedTypeImports","internalImportPrefixes","removeInternalImports","imports","filter","imp","some","prefix","startsWith","getExternalImportsFromFiles","srcFiles","distFiles","srcImportPaths","distImportPaths","distTypeImportPaths","path","getImportsFromFile","flat","distTypeFiles","file","endsWith","distCodeFiles","srcImports","Object","keys","distImports","distTypeImports","externalSrcImports","externalDistImports","externalDistTypeImports","builtinModules","chalk","getUnlistedDependencies","name","location","dependencies","peerDependencies","externalDistImports","externalDistTypeImports","distImportPaths","unlistedDependencies","imp","includes","builtinModules","console","log","chalk","blue","red","join","packageLocation","yellow","builtinModules","chalk","getUnlistedDevDependencies","name","location","devDependencies","dependencies","peerDependencies","srcImportPaths","externalSrcImports","distImports","unlistedDevDependencies","imp","includes","builtinModules","console","log","chalk","blue","red","join","packageLocation","yellow","chalk","getUnusedDependencies","name","location","dependencies","externalDistImports","externalDistTypeImports","externalSrcImports","unusedDependencies","dep","includes","replace","console","log","chalk","blue","red","packageLocation","yellow","chalk","getUnusedPeerDependencies","name","location","peerDependencies","dependencies","externalDistImports","externalDistTypeImports","unusedDependencies","dep","includes","replace","console","log","chalk","blue","red","packageLocation","yellow","checkPackage","name","location","deps","devDeps","peerDeps","verbose","srcFiles","distFiles","findFiles","console","info","length","file","checkDeps","checkDevDeps","checkPeerDeps","sourceParams","getExternalImportsFromFiles","packageParams","getDependenciesFromPackageJson","unlistedDependencies","getUnlistedDependencies","unusedDependencies","getUnusedDependencies","unlistedDevDependencies","getUnlistedDevDependencies","unusedPeerDependencies","getUnusedPeerDependencies","totalErrors","deplint","pkg","deps","devDeps","peerDeps","verbose","totalErrors","undefined","workspaces","yarnWorkspaces","console","info","workspace","checkPackage","location","name","yarnWorkspace","warn","chalk","red","green"]}
|
|
@@ -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/deploy-major.ts
|
|
2
5
|
import { readFileSync } from "fs";
|
|
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,25 +61,33 @@ 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/yarn/workspace/yarnWorkspaces.ts
|
|
64
67
|
import { spawnSync } from "child_process";
|
|
65
|
-
var yarnWorkspaces = () => {
|
|
66
|
-
const result = spawnSync("yarn", [
|
|
68
|
+
var yarnWorkspaces = /* @__PURE__ */ __name(() => {
|
|
69
|
+
const result = spawnSync("yarn", [
|
|
70
|
+
"workspaces",
|
|
71
|
+
"list",
|
|
72
|
+
"--json",
|
|
73
|
+
"--recursive"
|
|
74
|
+
], {
|
|
75
|
+
encoding: "utf8",
|
|
76
|
+
shell: true
|
|
77
|
+
});
|
|
67
78
|
if (result.error) {
|
|
68
79
|
throw result.error;
|
|
69
80
|
}
|
|
70
81
|
return result.stdout.toString().split("\n").slice(0, -1).map((item) => {
|
|
71
82
|
return JSON.parse(item);
|
|
72
83
|
});
|
|
73
|
-
};
|
|
84
|
+
}, "yarnWorkspaces");
|
|
74
85
|
|
|
75
86
|
// src/lib/runSteps.ts
|
|
76
87
|
import { spawnSync as spawnSync2 } from "child_process";
|
|
77
88
|
import { existsSync } from "fs";
|
|
78
89
|
import chalk3 from "chalk";
|
|
79
|
-
var runSteps = (name, steps, exitOnFail = true, messages) => {
|
|
90
|
+
var runSteps = /* @__PURE__ */ __name((name, steps, exitOnFail = true, messages) => {
|
|
80
91
|
return safeExit(() => {
|
|
81
92
|
const pkgName = process.env.npm_package_name;
|
|
82
93
|
console.log(chalk3.green(`${name} [${pkgName}]`));
|
|
@@ -92,7 +103,10 @@ var runSteps = (name, steps, exitOnFail = true, messages) => {
|
|
|
92
103
|
const status = spawnSync2(command, Array.isArray(args) ? args : args.split(" "), {
|
|
93
104
|
...config,
|
|
94
105
|
encoding: "utf8",
|
|
95
|
-
env: {
|
|
106
|
+
env: {
|
|
107
|
+
FORCE_COLOR: "3",
|
|
108
|
+
...process.env
|
|
109
|
+
},
|
|
96
110
|
shell: true,
|
|
97
111
|
stdio: "inherit"
|
|
98
112
|
}).status ?? 0;
|
|
@@ -101,31 +115,48 @@ var runSteps = (name, steps, exitOnFail = true, messages) => {
|
|
|
101
115
|
}
|
|
102
116
|
return totalStatus;
|
|
103
117
|
}, !!exitOnFail);
|
|
104
|
-
};
|
|
118
|
+
}, "runSteps");
|
|
105
119
|
|
|
106
120
|
// src/actions/deploy-major.ts
|
|
107
|
-
var privatePackageExcludeList = () => {
|
|
121
|
+
var privatePackageExcludeList = /* @__PURE__ */ __name(() => {
|
|
108
122
|
const possibleDeployablePackages = yarnWorkspaces().map((workspace) => [
|
|
109
123
|
workspace,
|
|
110
|
-
JSON.parse(readFileSync(`${workspace.location}/package.json`, {
|
|
124
|
+
JSON.parse(readFileSync(`${workspace.location}/package.json`, {
|
|
125
|
+
encoding: "utf8"
|
|
126
|
+
}))
|
|
111
127
|
]);
|
|
112
128
|
const privatePackages = possibleDeployablePackages.filter(([_, pkg]) => pkg.private).map(([workspace]) => workspace);
|
|
113
129
|
const excludeList = privatePackages.map((workspace) => `--exclude ${workspace.name}`);
|
|
114
130
|
return excludeList;
|
|
115
|
-
};
|
|
116
|
-
var deployMajor = () => {
|
|
131
|
+
}, "privatePackageExcludeList");
|
|
132
|
+
var deployMajor = /* @__PURE__ */ __name(() => {
|
|
117
133
|
const excludeList = privatePackageExcludeList();
|
|
118
134
|
if (excludeList.length > 0) {
|
|
119
135
|
console.log("Excluding private packages from deployment:", excludeList);
|
|
120
136
|
}
|
|
121
137
|
return runSteps("Deploy [Major]", [
|
|
122
|
-
[
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
[
|
|
138
|
+
[
|
|
139
|
+
"yarn",
|
|
140
|
+
"workspaces foreach --all version major --deferred"
|
|
141
|
+
],
|
|
142
|
+
[
|
|
143
|
+
"yarn",
|
|
144
|
+
"xy clean"
|
|
145
|
+
],
|
|
146
|
+
[
|
|
147
|
+
"yarn",
|
|
148
|
+
"xy build"
|
|
149
|
+
],
|
|
150
|
+
[
|
|
151
|
+
"yarn",
|
|
152
|
+
"version apply --all"
|
|
153
|
+
],
|
|
154
|
+
[
|
|
155
|
+
"yarn",
|
|
156
|
+
`workspaces foreach --all ${excludeList.join(" ")} --parallel npm publish`
|
|
157
|
+
]
|
|
127
158
|
]);
|
|
128
|
-
};
|
|
159
|
+
}, "deployMajor");
|
|
129
160
|
export {
|
|
130
161
|
deployMajor
|
|
131
162
|
};
|