@xylabs/ts-scripts-yarn3 6.3.5 → 6.4.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 +39 -87
- package/dist/actions/build.mjs.map +1 -1
- package/dist/actions/clean-docs.mjs +8 -22
- package/dist/actions/clean-docs.mjs.map +1 -1
- package/dist/actions/clean-eslint.mjs +5 -11
- package/dist/actions/clean-eslint.mjs.map +1 -1
- package/dist/actions/clean-jest.mjs +16 -29
- package/dist/actions/clean-jest.mjs.map +1 -1
- package/dist/actions/clean.mjs +32 -63
- package/dist/actions/clean.mjs.map +1 -1
- package/dist/actions/compile-types.mjs +45 -68
- package/dist/actions/compile-types.mjs.map +1 -1
- package/dist/actions/compile.mjs +50 -76
- package/dist/actions/compile.mjs.map +1 -1
- package/dist/actions/copy-assets.mjs +23 -38
- package/dist/actions/copy-assets.mjs.map +1 -1
- package/dist/actions/cycle.mjs +28 -57
- package/dist/actions/cycle.mjs.map +1 -1
- package/dist/actions/dead.mjs +16 -31
- package/dist/actions/dead.mjs.map +1 -1
- package/dist/actions/deplint.mjs +195 -0
- package/dist/actions/deplint.mjs.map +1 -0
- package/dist/actions/deploy-major.mjs +20 -41
- package/dist/actions/deploy-major.mjs.map +1 -1
- package/dist/actions/deploy-minor.mjs +20 -41
- package/dist/actions/deploy-minor.mjs.map +1 -1
- package/dist/actions/deploy-next.mjs +20 -41
- package/dist/actions/deploy-next.mjs.map +1 -1
- package/dist/actions/deploy.mjs +20 -41
- package/dist/actions/deploy.mjs.map +1 -1
- package/dist/actions/dupdeps.mjs +26 -37
- package/dist/actions/dupdeps.mjs.map +1 -1
- package/dist/actions/fix.mjs +36 -54
- package/dist/actions/fix.mjs.map +1 -1
- package/dist/actions/gen-docs.mjs +25 -65
- package/dist/actions/gen-docs.mjs.map +1 -1
- package/dist/actions/gitignore-gen.mjs +28 -44
- package/dist/actions/gitignore-gen.mjs.map +1 -1
- package/dist/actions/gitlint-fix.mjs +5 -14
- package/dist/actions/gitlint-fix.mjs.map +1 -1
- package/dist/actions/gitlint.mjs +4 -7
- package/dist/actions/gitlint.mjs.map +1 -1
- package/dist/actions/index.mjs +864 -1241
- package/dist/actions/index.mjs.map +1 -1
- package/dist/actions/knip.mjs +16 -31
- package/dist/actions/knip.mjs.map +1 -1
- package/dist/actions/license.mjs +37 -51
- package/dist/actions/license.mjs.map +1 -1
- package/dist/actions/lint.mjs +33 -48
- package/dist/actions/lint.mjs.map +1 -1
- package/dist/actions/npmignore-gen.mjs +28 -44
- package/dist/actions/npmignore-gen.mjs.map +1 -1
- package/dist/actions/package/clean-outputs.mjs +6 -16
- package/dist/actions/package/clean-outputs.mjs.map +1 -1
- package/dist/actions/package/clean-typescript.mjs +6 -16
- package/dist/actions/package/clean-typescript.mjs.map +1 -1
- package/dist/actions/package/clean.mjs +12 -29
- package/dist/actions/package/clean.mjs.map +1 -1
- package/dist/actions/package/compile/buildEntries.mjs +7 -17
- package/dist/actions/package/compile/buildEntries.mjs.map +1 -1
- package/dist/actions/package/compile/compile.mjs +133 -169
- package/dist/actions/package/compile/compile.mjs.map +1 -1
- package/dist/actions/package/compile/compileTypes.mjs +43 -59
- package/dist/actions/package/compile/compileTypes.mjs.map +1 -1
- package/dist/actions/package/compile/copyTypeFiles.mjs +20 -23
- package/dist/actions/package/compile/copyTypeFiles.mjs.map +1 -1
- package/dist/actions/package/compile/deepMerge.mjs +0 -5
- package/dist/actions/package/compile/deepMerge.mjs.map +1 -1
- package/dist/actions/package/compile/getCompilerOptions.mjs +11 -10
- package/dist/actions/package/compile/getCompilerOptions.mjs.map +1 -1
- package/dist/actions/package/compile/index.mjs +133 -169
- package/dist/actions/package/compile/index.mjs.map +1 -1
- package/dist/actions/package/compile/inputs.mjs +3 -8
- package/dist/actions/package/compile/inputs.mjs.map +1 -1
- package/dist/actions/package/compile/packageCompileTsc.mjs +37 -52
- package/dist/actions/package/compile/packageCompileTsc.mjs.map +1 -1
- package/dist/actions/package/compile/packageCompileTscTypes.mjs +37 -52
- package/dist/actions/package/compile/packageCompileTscTypes.mjs.map +1 -1
- package/dist/actions/package/compile/packageCompileTsup.mjs +127 -163
- package/dist/actions/package/compile/packageCompileTsup.mjs.map +1 -1
- package/dist/actions/package/copy-assets.mjs +12 -21
- package/dist/actions/package/copy-assets.mjs.map +1 -1
- package/dist/actions/package/cycle.mjs +5 -14
- package/dist/actions/package/cycle.mjs.map +1 -1
- package/dist/actions/package/gen-docs.mjs +11 -12
- package/dist/actions/package/gen-docs.mjs.map +1 -1
- package/dist/actions/package/index.mjs +191 -271
- package/dist/actions/package/index.mjs.map +1 -1
- package/dist/actions/package/lint.mjs +16 -39
- package/dist/actions/package/lint.mjs.map +1 -1
- package/dist/actions/package/publint.mjs +4 -7
- package/dist/actions/package/publint.mjs.map +1 -1
- package/dist/actions/package/recompile.mjs +147 -197
- package/dist/actions/package/recompile.mjs.map +1 -1
- package/dist/actions/publint.mjs +37 -71
- package/dist/actions/publint.mjs.map +1 -1
- package/dist/actions/rebuild.mjs +17 -29
- package/dist/actions/rebuild.mjs.map +1 -1
- package/dist/actions/recompile.mjs +50 -67
- package/dist/actions/recompile.mjs.map +1 -1
- package/dist/actions/reinstall.mjs +25 -43
- package/dist/actions/reinstall.mjs.map +1 -1
- package/dist/actions/relint.mjs +40 -63
- package/dist/actions/relint.mjs.map +1 -1
- package/dist/actions/retest.mjs +17 -35
- package/dist/actions/retest.mjs.map +1 -1
- package/dist/actions/sonar.mjs +16 -32
- package/dist/actions/sonar.mjs.map +1 -1
- package/dist/actions/statics.mjs +27 -46
- package/dist/actions/statics.mjs.map +1 -1
- package/dist/actions/test.mjs +16 -30
- package/dist/actions/test.mjs.map +1 -1
- package/dist/actions/up.mjs +16 -27
- package/dist/actions/up.mjs.map +1 -1
- package/dist/actions/updo.mjs +18 -33
- package/dist/actions/updo.mjs.map +1 -1
- package/dist/actions/upplug.mjs +19 -53
- package/dist/actions/upplug.mjs.map +1 -1
- package/dist/actions/upyarn.mjs +16 -31
- package/dist/actions/upyarn.mjs.map +1 -1
- package/dist/actions/yarn3only.mjs +12 -23
- package/dist/actions/yarn3only.mjs.map +1 -1
- package/dist/bin/package/build-only.mjs +134 -172
- package/dist/bin/package/build-only.mjs.map +1 -1
- package/dist/bin/package/build.mjs +134 -172
- package/dist/bin/package/build.mjs.map +1 -1
- package/dist/bin/package/clean-outputs.mjs +6 -15
- package/dist/bin/package/clean-outputs.mjs.map +1 -1
- package/dist/bin/package/clean-typescript.mjs +6 -15
- package/dist/bin/package/clean-typescript.mjs.map +1 -1
- package/dist/bin/package/clean.mjs +12 -28
- package/dist/bin/package/clean.mjs.map +1 -1
- package/dist/bin/package/compile-only.mjs +134 -172
- package/dist/bin/package/compile-only.mjs.map +1 -1
- package/dist/bin/package/compile-tsup.mjs +128 -165
- package/dist/bin/package/compile-tsup.mjs.map +1 -1
- package/dist/bin/package/compile-types.mjs +44 -61
- package/dist/bin/package/compile-types.mjs.map +1 -1
- package/dist/bin/package/compile.mjs +134 -171
- package/dist/bin/package/compile.mjs.map +1 -1
- package/dist/bin/package/copy-assets-cjs.mjs +13 -23
- package/dist/bin/package/copy-assets-cjs.mjs.map +1 -1
- package/dist/bin/package/copy-assets-esm.mjs +13 -23
- package/dist/bin/package/copy-assets-esm.mjs.map +1 -1
- package/dist/bin/package/cycle.mjs +6 -16
- package/dist/bin/package/cycle.mjs.map +1 -1
- package/dist/bin/package/fix.mjs +16 -38
- 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 +16 -38
- package/dist/bin/package/lint.mjs.map +1 -1
- package/dist/bin/package/publint.mjs +4 -6
- package/dist/bin/package/publint.mjs.map +1 -1
- package/dist/bin/package/recompile.mjs +147 -196
- package/dist/bin/package/recompile.mjs.map +1 -1
- package/dist/bin/package/relint.mjs +16 -38
- package/dist/bin/package/relint.mjs.map +1 -1
- package/dist/bin/xy.mjs +1086 -1237
- package/dist/bin/xy.mjs.map +1 -1
- package/dist/index.d.ts +5 -1
- package/dist/index.mjs +1338 -1583
- package/dist/index.mjs.map +1 -1
- package/dist/lib/checkResult.mjs +2 -5
- package/dist/lib/checkResult.mjs.map +1 -1
- package/dist/lib/createBuildConfig.mjs +9 -24
- package/dist/lib/createBuildConfig.mjs.map +1 -1
- package/dist/lib/defaultBuildConfig.mjs +2 -6
- package/dist/lib/defaultBuildConfig.mjs.map +1 -1
- package/dist/lib/deleteGlob.mjs +3 -9
- package/dist/lib/deleteGlob.mjs.map +1 -1
- package/dist/lib/dependencies/DuplicateDetector.mjs +12 -23
- package/dist/lib/dependencies/DuplicateDetector.mjs.map +1 -1
- package/dist/lib/dependencies/detectDuplicateDependencies.mjs +22 -33
- package/dist/lib/dependencies/detectDuplicateDependencies.mjs.map +1 -1
- package/dist/lib/dependencies/index.mjs +22 -33
- package/dist/lib/dependencies/index.mjs.map +1 -1
- package/dist/lib/file/ReadFileSyncOptions.mjs +1 -3
- package/dist/lib/file/ReadFileSyncOptions.mjs.map +1 -1
- package/dist/lib/file/constants.mjs.map +1 -1
- package/dist/lib/file/fileLines.mjs +12 -13
- package/dist/lib/file/fileLines.mjs.map +1 -1
- package/dist/lib/file/index.mjs +14 -15
- package/dist/lib/file/index.mjs.map +1 -1
- package/dist/lib/file/tryReadFileSync.mjs +3 -8
- package/dist/lib/file/tryReadFileSync.mjs.map +1 -1
- package/dist/lib/generateIgnoreFiles.mjs +27 -43
- package/dist/lib/generateIgnoreFiles.mjs.map +1 -1
- package/dist/lib/index.mjs +100 -154
- package/dist/lib/index.mjs.map +1 -1
- package/dist/lib/jsonFormatters.mjs +2 -5
- package/dist/lib/jsonFormatters.mjs.map +1 -1
- package/dist/lib/loadConfig.mjs +4 -8
- package/dist/lib/loadConfig.mjs.map +1 -1
- package/dist/lib/parsedPackageJSON.mjs +2 -5
- package/dist/lib/parsedPackageJSON.mjs.map +1 -1
- package/dist/lib/processEx.mjs +6 -9
- package/dist/lib/processEx.mjs.map +1 -1
- package/dist/lib/runSteps.mjs +13 -19
- 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 +19 -31
- package/dist/lib/runXy.mjs.map +1 -1
- package/dist/lib/runXyWithWarning.mjs +2 -5
- package/dist/lib/runXyWithWarning.mjs.map +1 -1
- package/dist/lib/safeExit.mjs +10 -13
- package/dist/lib/safeExit.mjs.map +1 -1
- package/dist/lib/string/empty.mjs +2 -5
- package/dist/lib/string/empty.mjs.map +1 -1
- package/dist/lib/string/index.mjs +3 -9
- package/dist/lib/string/index.mjs.map +1 -1
- package/dist/lib/string/union.mjs +1 -7
- package/dist/lib/string/union.mjs.map +1 -1
- package/dist/lib/withErrnoException.mjs +4 -7
- package/dist/lib/withErrnoException.mjs.map +1 -1
- package/dist/lib/withError.mjs +2 -5
- package/dist/lib/withError.mjs.map +1 -1
- package/dist/lib/yarn/index.mjs +11 -30
- package/dist/lib/yarn/index.mjs.map +1 -1
- package/dist/lib/yarn/isYarnVersionOrGreater.mjs +4 -15
- package/dist/lib/yarn/isYarnVersionOrGreater.mjs.map +1 -1
- package/dist/lib/yarn/workspace/index.mjs +5 -16
- package/dist/lib/yarn/workspace/index.mjs.map +1 -1
- package/dist/lib/yarn/workspace/yarnWorkspace.mjs +5 -16
- package/dist/lib/yarn/workspace/yarnWorkspace.mjs.map +1 -1
- package/dist/lib/yarn/workspace/yarnWorkspaces.mjs +3 -14
- package/dist/lib/yarn/workspace/yarnWorkspaces.mjs.map +1 -1
- package/dist/lib/yarn/yarnInitCwd.mjs +2 -5
- package/dist/lib/yarn/yarnInitCwd.mjs.map +1 -1
- package/dist/loadPackageConfig.mjs +3 -8
- package/dist/loadPackageConfig.mjs.map +1 -1
- package/dist/xy/index.mjs +1086 -1238
- package/dist/xy/index.mjs.map +1 -1
- package/dist/xy/param.mjs +3 -8
- package/dist/xy/param.mjs.map +1 -1
- package/dist/xy/xy.mjs +1086 -1238
- package/dist/xy/xy.mjs.map +1 -1
- package/dist/xy/xyBuildCommands.mjs +276 -382
- package/dist/xy/xyBuildCommands.mjs.map +1 -1
- package/dist/xy/xyCommonCommands.mjs +251 -335
- package/dist/xy/xyCommonCommands.mjs.map +1 -1
- package/dist/xy/xyDeployCommands.mjs +84 -130
- package/dist/xy/xyDeployCommands.mjs.map +1 -1
- package/dist/xy/xyInstallCommands.mjs +145 -193
- package/dist/xy/xyInstallCommands.mjs.map +1 -1
- package/dist/xy/xyLintCommands.mjs +413 -292
- package/dist/xy/xyLintCommands.mjs.map +1 -1
- package/dist/xy/xyParseOptions.mjs +4 -13
- package/dist/xy/xyParseOptions.mjs.map +1 -1
- package/package.json +3 -22
package/dist/actions/dupdeps.mjs
CHANGED
|
@@ -1,6 +1,3 @@
|
|
|
1
|
-
var __defProp = Object.defineProperty;
|
|
2
|
-
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
|
-
|
|
4
1
|
// src/actions/dupdeps.ts
|
|
5
2
|
import chalk3 from "chalk";
|
|
6
3
|
|
|
@@ -11,17 +8,17 @@ import { execSync } from "node:child_process";
|
|
|
11
8
|
import chalk from "chalk";
|
|
12
9
|
|
|
13
10
|
// src/lib/withError.ts
|
|
14
|
-
var withError =
|
|
11
|
+
var withError = (ex, closure, predicate = (ex2) => !!ex2.name && !!ex2.message) => {
|
|
15
12
|
return predicate(ex) ? closure(ex) : void 0;
|
|
16
|
-
}
|
|
13
|
+
};
|
|
17
14
|
|
|
18
15
|
// src/lib/withErrnoException.ts
|
|
19
|
-
var withErrnoException =
|
|
16
|
+
var withErrnoException = (ex, closure) => {
|
|
20
17
|
return withError(ex, closure, (ex2) => ex2.errno !== void 0);
|
|
21
|
-
}
|
|
18
|
+
};
|
|
22
19
|
|
|
23
20
|
// src/lib/processEx.ts
|
|
24
|
-
var processEx =
|
|
21
|
+
var processEx = (ex) => {
|
|
25
22
|
const error = typeof ex === "string" ? new Error(ex) : ex;
|
|
26
23
|
const exitCode = withErrnoException(error, (error2) => {
|
|
27
24
|
if (error2.code === "ENOENT") {
|
|
@@ -38,10 +35,10 @@ var processEx = /* @__PURE__ */ __name((ex) => {
|
|
|
38
35
|
return -1;
|
|
39
36
|
})();
|
|
40
37
|
process.exit(process.exitCode ?? exitCode);
|
|
41
|
-
}
|
|
38
|
+
};
|
|
42
39
|
|
|
43
40
|
// src/lib/safeExit.ts
|
|
44
|
-
var safeExit =
|
|
41
|
+
var safeExit = (func, exitOnFail = true) => {
|
|
45
42
|
try {
|
|
46
43
|
const result = func();
|
|
47
44
|
if (result && exitOnFail) {
|
|
@@ -51,22 +48,22 @@ var safeExit = /* @__PURE__ */ __name((func, exitOnFail = true) => {
|
|
|
51
48
|
} catch (ex) {
|
|
52
49
|
return processEx(ex);
|
|
53
50
|
}
|
|
54
|
-
}
|
|
51
|
+
};
|
|
55
52
|
|
|
56
53
|
// src/lib/dependencies/DuplicateDetector.ts
|
|
57
54
|
import { EOL } from "node:os";
|
|
58
55
|
import chalk2 from "chalk";
|
|
59
56
|
|
|
60
57
|
// src/lib/jsonFormatters.ts
|
|
61
|
-
var multiLineToJSONArray =
|
|
58
|
+
var multiLineToJSONArray = (output) => {
|
|
62
59
|
const withCommas = output.replaceAll("\r\n", "").replaceAll("\n", ",");
|
|
63
60
|
const cleanCollection = withCommas.slice(0, Math.max(0, withCommas.length - 1));
|
|
64
61
|
const collection = `[${cleanCollection}]`;
|
|
65
62
|
return JSON.parse(collection);
|
|
66
|
-
}
|
|
63
|
+
};
|
|
67
64
|
|
|
68
65
|
// src/lib/dependencies/DuplicateDetector.ts
|
|
69
|
-
var trimVirtualMeta =
|
|
66
|
+
var trimVirtualMeta = (value) => {
|
|
70
67
|
const virtualParts = value.split("virtual:");
|
|
71
68
|
if (virtualParts.length > 1) {
|
|
72
69
|
const hashParts = virtualParts[1].split("#");
|
|
@@ -74,8 +71,8 @@ var trimVirtualMeta = /* @__PURE__ */ __name((value) => {
|
|
|
74
71
|
} else {
|
|
75
72
|
return value;
|
|
76
73
|
}
|
|
77
|
-
}
|
|
78
|
-
var trimObjectDependencyVirtualMeta =
|
|
74
|
+
};
|
|
75
|
+
var trimObjectDependencyVirtualMeta = (obj) => {
|
|
79
76
|
const resultObj = {};
|
|
80
77
|
for (const [key, value] of Object.entries(obj)) {
|
|
81
78
|
resultObj[trimVirtualMeta(key)] = {
|
|
@@ -84,19 +81,13 @@ var trimObjectDependencyVirtualMeta = /* @__PURE__ */ __name((obj) => {
|
|
|
84
81
|
};
|
|
85
82
|
}
|
|
86
83
|
return resultObj;
|
|
87
|
-
}
|
|
88
|
-
var trimDependencyVirtualMeta =
|
|
84
|
+
};
|
|
85
|
+
var trimDependencyVirtualMeta = (dependencies) => {
|
|
89
86
|
return dependencies.map((dependency) => {
|
|
90
|
-
return {
|
|
91
|
-
children: trimObjectDependencyVirtualMeta(dependency.children),
|
|
92
|
-
value: trimVirtualMeta(dependency.value)
|
|
93
|
-
};
|
|
87
|
+
return { children: trimObjectDependencyVirtualMeta(dependency.children), value: trimVirtualMeta(dependency.value) };
|
|
94
88
|
});
|
|
95
|
-
}
|
|
89
|
+
};
|
|
96
90
|
var DuplicateDetector = class {
|
|
97
|
-
static {
|
|
98
|
-
__name(this, "DuplicateDetector");
|
|
99
|
-
}
|
|
100
91
|
dependency;
|
|
101
92
|
dependencyEntries;
|
|
102
93
|
constructor(output, dependency) {
|
|
@@ -126,21 +117,19 @@ var DuplicateDetector = class {
|
|
|
126
117
|
acc.duplicateVersions.push(acc.currentVersion);
|
|
127
118
|
}
|
|
128
119
|
acc.duplicateVersions.push(version);
|
|
129
|
-
acc.duplicateVersions = [
|
|
130
|
-
...new Set(acc.duplicateVersions)
|
|
131
|
-
];
|
|
120
|
+
acc.duplicateVersions = [...new Set(acc.duplicateVersions)];
|
|
132
121
|
}
|
|
133
122
|
return acc;
|
|
134
123
|
}
|
|
135
|
-
resultsFactory =
|
|
124
|
+
resultsFactory = (dependency) => ({
|
|
136
125
|
currentVersion: void 0,
|
|
137
126
|
dependency,
|
|
138
127
|
duplicateVersions: []
|
|
139
|
-
})
|
|
128
|
+
});
|
|
140
129
|
};
|
|
141
130
|
|
|
142
131
|
// src/lib/dependencies/detectDuplicateDependencies.ts
|
|
143
|
-
var detectDuplicateDependencies =
|
|
132
|
+
var detectDuplicateDependencies = (depsFromPackageJSON, DefaultDependencies) => {
|
|
144
133
|
let exitCode = 0;
|
|
145
134
|
const dependencies = depsFromPackageJSON?.length ? depsFromPackageJSON : DefaultDependencies;
|
|
146
135
|
return safeExit(() => {
|
|
@@ -171,23 +160,23 @@ var detectDuplicateDependencies = /* @__PURE__ */ __name((depsFromPackageJSON, D
|
|
|
171
160
|
return exitCode;
|
|
172
161
|
}
|
|
173
162
|
});
|
|
174
|
-
}
|
|
163
|
+
};
|
|
175
164
|
|
|
176
165
|
// src/lib/parsedPackageJSON.ts
|
|
177
166
|
import { readFileSync } from "node:fs";
|
|
178
|
-
var parsedPackageJSON =
|
|
167
|
+
var parsedPackageJSON = (path) => {
|
|
179
168
|
const pathToPackageJSON = path ?? process.env.npm_package_json ?? "";
|
|
180
169
|
const packageJSON = readFileSync(pathToPackageJSON).toString();
|
|
181
170
|
return JSON.parse(packageJSON);
|
|
182
|
-
}
|
|
171
|
+
};
|
|
183
172
|
|
|
184
173
|
// src/actions/dupdeps.ts
|
|
185
|
-
var dupdeps =
|
|
174
|
+
var dupdeps = () => {
|
|
186
175
|
console.log(chalk3.green("Checking all Dependencies for Duplicates"));
|
|
187
176
|
const allDependencies = parsedPackageJSON()?.dependencies;
|
|
188
177
|
const dependencies = Object.entries(allDependencies).map(([k]) => k);
|
|
189
178
|
return detectDuplicateDependencies(dependencies);
|
|
190
|
-
}
|
|
179
|
+
};
|
|
191
180
|
export {
|
|
192
181
|
dupdeps
|
|
193
182
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/actions/dupdeps.ts","../../src/lib/dependencies/detectDuplicateDependencies.ts","../../src/lib/processEx.ts","../../src/lib/withError.ts","../../src/lib/withErrnoException.ts","../../src/lib/safeExit.ts","../../src/lib/dependencies/DuplicateDetector.ts","../../src/lib/jsonFormatters.ts","../../src/lib/parsedPackageJSON.ts"],"sourcesContent":["import chalk from 'chalk'\n\nimport { detectDuplicateDependencies, parsedPackageJSON } from '../lib/index.ts'\n\nexport const dupdeps = () => {\n console.log(chalk.green('Checking all Dependencies for Duplicates'))\n\n const allDependencies = parsedPackageJSON()?.dependencies\n const dependencies = Object.entries(allDependencies).map(([k]) => k)\n\n return detectDuplicateDependencies(dependencies)\n}\n","import { execSync } from 'node:child_process'\n\nimport { safeExit } from '../safeExit.ts'\nimport { DuplicateDetector } from './DuplicateDetector.ts'\n\nexport const detectDuplicateDependencies = (depsFromPackageJSON?: string[], DefaultDependencies?: string[]) => {\n let exitCode = 0\n\n const dependencies = depsFromPackageJSON?.length ? depsFromPackageJSON : DefaultDependencies\n\n return safeExit(() => {\n if (dependencies) {\n for (const dependency of dependencies) {\n let output: string\n\n try {\n const cmd = `yarn why ${dependency} --json`\n output = execSync(cmd).toString()\n } catch (e) {\n console.error(`Error running yarn why: ${e}`)\n exitCode = 1\n continue\n }\n\n if (output) {\n exitCode = new DuplicateDetector(output, dependency).detect()\n } else {\n console.log(`${dependency} - N/A`)\n if (depsFromPackageJSON) {\n exitCode = 1\n console.log(`🚨 Library ${dependency} was requested in package.json but not found`)\n }\n }\n }\n return exitCode\n } else {\n console.log('🚨 No dependencies where passed')\n return exitCode\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 { EOL } from 'node:os'\n\nimport chalk from 'chalk'\n\nimport { multiLineToJSONArray } from '../jsonFormatters.ts'\n\ninterface ChildFields {\n descriptor: string\n locator: string\n}\n\nconst trimVirtualMeta = (value: string): string => {\n const virtualParts = value.split('virtual:')\n if (virtualParts.length > 1) {\n const hashParts = virtualParts[1].split('#')\n return virtualParts[0] + hashParts[1]\n } else {\n return value\n }\n}\n\nconst trimObjectDependencyVirtualMeta = (obj: Record<string, ChildFields>): Record<string, ChildFields> => {\n const resultObj: Record<string, ChildFields> = {}\n for (const [key, value] of Object.entries(obj)) {\n resultObj[trimVirtualMeta(key)] = {\n descriptor: trimVirtualMeta(value.descriptor),\n locator: trimVirtualMeta(value.locator),\n }\n }\n return resultObj\n}\n\nconst trimDependencyVirtualMeta = (dependencies: DependencyEntries): DependencyEntries => {\n return dependencies.map((dependency) => {\n return { children: trimObjectDependencyVirtualMeta(dependency.children), value: trimVirtualMeta(dependency.value) }\n })\n}\n\ninterface DependencyEntry {\n children: Record<string, ChildFields>\n value: string\n}\n\ntype DependencyEntries = DependencyEntry[]\n\ninterface Results {\n currentVersion: string | undefined\n dependency: string\n duplicateVersions: string[]\n}\n\nexport class DuplicateDetector {\n private dependency: string\n private dependencyEntries: DependencyEntries\n\n constructor(output: string, dependency: string) {\n this.dependency = dependency\n this.dependencyEntries = trimDependencyVirtualMeta(multiLineToJSONArray(output))\n }\n\n detect() {\n // eslint-disable-next-line unicorn/no-array-reduce\n const result = this.dependencyEntries.reduce(this.detectReducer, this.resultsFactory(this.dependency))\n if (result.duplicateVersions.length > 0) {\n console.log(chalk.yellow(`${EOL}Duplicates found for: ${this.dependency}`))\n const duplicateVersions = result.duplicateVersions.toString().replaceAll(',', `${EOL} `)\n console.log(chalk.grey(` ${duplicateVersions}`, EOL))\n return 1\n } else {\n console.log(`${this.dependency} - OK`)\n return 0\n }\n }\n\n private detectReducer(acc: Results, entry: DependencyEntry) {\n const version = Object.entries(entry.children).map(([k]) => k)[0]\n\n if (!acc.currentVersion) {\n acc.currentVersion = version\n return acc\n }\n\n if (acc.currentVersion && acc.currentVersion !== version && !version.includes('@virtual:')) {\n // if first duplicate, push the current version as the first duplicate\n if (acc.duplicateVersions.length === 0) {\n acc.duplicateVersions.push(acc.currentVersion)\n }\n acc.duplicateVersions.push(version)\n acc.duplicateVersions = [...new Set(acc.duplicateVersions)]\n }\n return acc\n }\n\n private resultsFactory = (dependency: string): Results => ({\n currentVersion: undefined, dependency, duplicateVersions: [],\n })\n}\n","export const multiLineToJSONArray = (output: string) => {\n const withCommas = output.replaceAll('\\r\\n', '').replaceAll('\\n', ',')\n const cleanCollection = withCommas.slice(0, Math.max(0, withCommas.length - 1))\n const collection = `[${cleanCollection}]`\n return JSON.parse(collection)\n}\n","import { readFileSync } from 'node:fs'\n\nexport const parsedPackageJSON = (path?: string) => {\n const pathToPackageJSON = path ?? process.env.npm_package_json ?? ''\n const packageJSON = readFileSync(pathToPackageJSON).toString()\n return JSON.parse(packageJSON)\n}\n"],"mappings":"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","names":["chalk","execSync","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","EOL","chalk","multiLineToJSONArray","output","withCommas","replaceAll","cleanCollection","slice","Math","max","length","collection","JSON","parse","trimVirtualMeta","value","virtualParts","split","length","hashParts","trimObjectDependencyVirtualMeta","obj","resultObj","key","Object","entries","descriptor","locator","trimDependencyVirtualMeta","dependencies","map","dependency","children","DuplicateDetector","dependencyEntries","constructor","output","multiLineToJSONArray","detect","result","reduce","detectReducer","resultsFactory","duplicateVersions","console","log","chalk","yellow","EOL","toString","replaceAll","grey","acc","entry","version","k","currentVersion","includes","push","Set","undefined","detectDuplicateDependencies","depsFromPackageJSON","DefaultDependencies","exitCode","dependencies","length","safeExit","dependency","output","cmd","execSync","toString","e","console","error","DuplicateDetector","detect","log","readFileSync","parsedPackageJSON","path","pathToPackageJSON","process","env","npm_package_json","packageJSON","readFileSync","toString","JSON","parse","dupdeps","console","log","chalk","green","allDependencies","parsedPackageJSON","dependencies","Object","entries","map","k","detectDuplicateDependencies"]}
|
|
1
|
+
{"version":3,"sources":["../../src/actions/dupdeps.ts","../../src/lib/dependencies/detectDuplicateDependencies.ts","../../src/lib/processEx.ts","../../src/lib/withError.ts","../../src/lib/withErrnoException.ts","../../src/lib/safeExit.ts","../../src/lib/dependencies/DuplicateDetector.ts","../../src/lib/jsonFormatters.ts","../../src/lib/parsedPackageJSON.ts"],"sourcesContent":["import chalk from 'chalk'\n\nimport { detectDuplicateDependencies, parsedPackageJSON } from '../lib/index.ts'\n\nexport const dupdeps = () => {\n console.log(chalk.green('Checking all Dependencies for Duplicates'))\n\n const allDependencies = parsedPackageJSON()?.dependencies\n const dependencies = Object.entries(allDependencies).map(([k]) => k)\n\n return detectDuplicateDependencies(dependencies)\n}\n","import { execSync } from 'node:child_process'\n\nimport { safeExit } from '../safeExit.ts'\nimport { DuplicateDetector } from './DuplicateDetector.ts'\n\nexport const detectDuplicateDependencies = (depsFromPackageJSON?: string[], DefaultDependencies?: string[]) => {\n let exitCode = 0\n\n const dependencies = depsFromPackageJSON?.length ? depsFromPackageJSON : DefaultDependencies\n\n return safeExit(() => {\n if (dependencies) {\n for (const dependency of dependencies) {\n let output: string\n\n try {\n const cmd = `yarn why ${dependency} --json`\n output = execSync(cmd).toString()\n } catch (e) {\n console.error(`Error running yarn why: ${e}`)\n exitCode = 1\n continue\n }\n\n if (output) {\n exitCode = new DuplicateDetector(output, dependency).detect()\n } else {\n console.log(`${dependency} - N/A`)\n if (depsFromPackageJSON) {\n exitCode = 1\n console.log(`🚨 Library ${dependency} was requested in package.json but not found`)\n }\n }\n }\n return exitCode\n } else {\n console.log('🚨 No dependencies where passed')\n return exitCode\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 { EOL } from 'node:os'\n\nimport chalk from 'chalk'\n\nimport { multiLineToJSONArray } from '../jsonFormatters.ts'\n\ninterface ChildFields {\n descriptor: string\n locator: string\n}\n\nconst trimVirtualMeta = (value: string): string => {\n const virtualParts = value.split('virtual:')\n if (virtualParts.length > 1) {\n const hashParts = virtualParts[1].split('#')\n return virtualParts[0] + hashParts[1]\n } else {\n return value\n }\n}\n\nconst trimObjectDependencyVirtualMeta = (obj: Record<string, ChildFields>): Record<string, ChildFields> => {\n const resultObj: Record<string, ChildFields> = {}\n for (const [key, value] of Object.entries(obj)) {\n resultObj[trimVirtualMeta(key)] = {\n descriptor: trimVirtualMeta(value.descriptor),\n locator: trimVirtualMeta(value.locator),\n }\n }\n return resultObj\n}\n\nconst trimDependencyVirtualMeta = (dependencies: DependencyEntries): DependencyEntries => {\n return dependencies.map((dependency) => {\n return { children: trimObjectDependencyVirtualMeta(dependency.children), value: trimVirtualMeta(dependency.value) }\n })\n}\n\ninterface DependencyEntry {\n children: Record<string, ChildFields>\n value: string\n}\n\ntype DependencyEntries = DependencyEntry[]\n\ninterface Results {\n currentVersion: string | undefined\n dependency: string\n duplicateVersions: string[]\n}\n\nexport class DuplicateDetector {\n private dependency: string\n private dependencyEntries: DependencyEntries\n\n constructor(output: string, dependency: string) {\n this.dependency = dependency\n this.dependencyEntries = trimDependencyVirtualMeta(multiLineToJSONArray(output))\n }\n\n detect() {\n // eslint-disable-next-line unicorn/no-array-reduce\n const result = this.dependencyEntries.reduce(this.detectReducer, this.resultsFactory(this.dependency))\n if (result.duplicateVersions.length > 0) {\n console.log(chalk.yellow(`${EOL}Duplicates found for: ${this.dependency}`))\n const duplicateVersions = result.duplicateVersions.toString().replaceAll(',', `${EOL} `)\n console.log(chalk.grey(` ${duplicateVersions}`, EOL))\n return 1\n } else {\n console.log(`${this.dependency} - OK`)\n return 0\n }\n }\n\n private detectReducer(acc: Results, entry: DependencyEntry) {\n const version = Object.entries(entry.children).map(([k]) => k)[0]\n\n if (!acc.currentVersion) {\n acc.currentVersion = version\n return acc\n }\n\n if (acc.currentVersion && acc.currentVersion !== version && !version.includes('@virtual:')) {\n // if first duplicate, push the current version as the first duplicate\n if (acc.duplicateVersions.length === 0) {\n acc.duplicateVersions.push(acc.currentVersion)\n }\n acc.duplicateVersions.push(version)\n acc.duplicateVersions = [...new Set(acc.duplicateVersions)]\n }\n return acc\n }\n\n private resultsFactory = (dependency: string): Results => ({\n currentVersion: undefined, dependency, duplicateVersions: [],\n })\n}\n","export const multiLineToJSONArray = (output: string) => {\n const withCommas = output.replaceAll('\\r\\n', '').replaceAll('\\n', ',')\n const cleanCollection = withCommas.slice(0, Math.max(0, withCommas.length - 1))\n const collection = `[${cleanCollection}]`\n return JSON.parse(collection)\n}\n","import { readFileSync } from 'node:fs'\n\nexport const parsedPackageJSON = (path?: string) => {\n const pathToPackageJSON = path ?? process.env.npm_package_json ?? ''\n const packageJSON = readFileSync(pathToPackageJSON).toString()\n return JSON.parse(packageJSON)\n}\n"],"mappings":"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","names":["chalk","ex","ex","error","chalk","chalk","chalk"]}
|
package/dist/actions/fix.mjs
CHANGED
|
@@ -1,12 +1,9 @@
|
|
|
1
|
-
var __defProp = Object.defineProperty;
|
|
2
|
-
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
|
-
|
|
4
1
|
// src/actions/lint.ts
|
|
5
2
|
import chalk4 from "chalk";
|
|
6
3
|
|
|
7
4
|
// src/lib/checkResult.ts
|
|
8
5
|
import chalk from "chalk";
|
|
9
|
-
var checkResult =
|
|
6
|
+
var checkResult = (name, result, level = "error", exitOnFail = false) => {
|
|
10
7
|
if (result) {
|
|
11
8
|
const exiting = exitOnFail ? "[Exiting Process]" : "[Continuing]";
|
|
12
9
|
const chalkFunc = level === "error" ? chalk.red : chalk.yellow;
|
|
@@ -15,23 +12,23 @@ var checkResult = /* @__PURE__ */ __name((name, result, level = "error", exitOnF
|
|
|
15
12
|
process.exit(result);
|
|
16
13
|
}
|
|
17
14
|
}
|
|
18
|
-
}
|
|
15
|
+
};
|
|
19
16
|
|
|
20
17
|
// src/lib/processEx.ts
|
|
21
18
|
import chalk2 from "chalk";
|
|
22
19
|
|
|
23
20
|
// src/lib/withError.ts
|
|
24
|
-
var withError =
|
|
21
|
+
var withError = (ex, closure, predicate = (ex2) => !!ex2.name && !!ex2.message) => {
|
|
25
22
|
return predicate(ex) ? closure(ex) : void 0;
|
|
26
|
-
}
|
|
23
|
+
};
|
|
27
24
|
|
|
28
25
|
// src/lib/withErrnoException.ts
|
|
29
|
-
var withErrnoException =
|
|
26
|
+
var withErrnoException = (ex, closure) => {
|
|
30
27
|
return withError(ex, closure, (ex2) => ex2.errno !== void 0);
|
|
31
|
-
}
|
|
28
|
+
};
|
|
32
29
|
|
|
33
30
|
// src/lib/processEx.ts
|
|
34
|
-
var processEx =
|
|
31
|
+
var processEx = (ex) => {
|
|
35
32
|
const error = typeof ex === "string" ? new Error(ex) : ex;
|
|
36
33
|
const exitCode = withErrnoException(error, (error2) => {
|
|
37
34
|
if (error2.code === "ENOENT") {
|
|
@@ -48,10 +45,10 @@ var processEx = /* @__PURE__ */ __name((ex) => {
|
|
|
48
45
|
return -1;
|
|
49
46
|
})();
|
|
50
47
|
process.exit(process.exitCode ?? exitCode);
|
|
51
|
-
}
|
|
48
|
+
};
|
|
52
49
|
|
|
53
50
|
// src/lib/safeExit.ts
|
|
54
|
-
var safeExit =
|
|
51
|
+
var safeExit = (func, exitOnFail = true) => {
|
|
55
52
|
try {
|
|
56
53
|
const result = func();
|
|
57
54
|
if (result && exitOnFail) {
|
|
@@ -61,13 +58,13 @@ var safeExit = /* @__PURE__ */ __name((func, exitOnFail = true) => {
|
|
|
61
58
|
} catch (ex) {
|
|
62
59
|
return processEx(ex);
|
|
63
60
|
}
|
|
64
|
-
}
|
|
61
|
+
};
|
|
65
62
|
|
|
66
63
|
// src/lib/runSteps.ts
|
|
67
64
|
import { spawnSync } from "node:child_process";
|
|
68
65
|
import { existsSync } from "node:fs";
|
|
69
66
|
import chalk3 from "chalk";
|
|
70
|
-
var runSteps =
|
|
67
|
+
var runSteps = (name, steps, exitOnFail = true, messages) => {
|
|
71
68
|
return safeExit(() => {
|
|
72
69
|
const pkgName = process.env.npm_package_name;
|
|
73
70
|
console.log(chalk3.green(`${name} [${pkgName}]`));
|
|
@@ -83,10 +80,7 @@ var runSteps = /* @__PURE__ */ __name((name, steps, exitOnFail = true, messages)
|
|
|
83
80
|
const status = spawnSync(command, Array.isArray(args) ? args : args.split(" "), {
|
|
84
81
|
...config,
|
|
85
82
|
encoding: "utf8",
|
|
86
|
-
env: {
|
|
87
|
-
FORCE_COLOR: "3",
|
|
88
|
-
...process.env
|
|
89
|
-
},
|
|
83
|
+
env: { FORCE_COLOR: "3", ...process.env },
|
|
90
84
|
shell: true,
|
|
91
85
|
stdio: "inherit"
|
|
92
86
|
}).status ?? 0;
|
|
@@ -95,62 +89,50 @@ var runSteps = /* @__PURE__ */ __name((name, steps, exitOnFail = true, messages)
|
|
|
95
89
|
}
|
|
96
90
|
return totalStatus;
|
|
97
91
|
}, !!exitOnFail);
|
|
98
|
-
}
|
|
92
|
+
};
|
|
99
93
|
|
|
100
94
|
// src/actions/lint.ts
|
|
101
|
-
var lintPackage =
|
|
95
|
+
var lintPackage = ({ pkg, fix: fix2 }) => {
|
|
102
96
|
console.log(chalk4.gray(`${fix2 ? "Fix" : "Lint"} [${pkg}]`));
|
|
103
97
|
const start = Date.now();
|
|
104
98
|
const result = runSteps(`${fix2 ? "Fix" : "Lint"} [${pkg}]`, [
|
|
105
|
-
[
|
|
106
|
-
"
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
fix2 ? "package-fix" : "package-lint"
|
|
112
|
-
]
|
|
113
|
-
]
|
|
99
|
+
["yarn", [
|
|
100
|
+
"workspace",
|
|
101
|
+
pkg,
|
|
102
|
+
"run",
|
|
103
|
+
fix2 ? "package-fix" : "package-lint"
|
|
104
|
+
]]
|
|
114
105
|
]);
|
|
115
106
|
console.log(chalk4.gray(`${fix2 ? "Fixed in" : "Linted in"} [${chalk4.magenta(((Date.now() - start) / 1e3).toFixed(2))}] ${chalk4.gray("seconds")}`));
|
|
116
107
|
return result;
|
|
117
|
-
}
|
|
118
|
-
var lint =
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
108
|
+
};
|
|
109
|
+
var lint = ({
|
|
110
|
+
pkg,
|
|
111
|
+
verbose,
|
|
112
|
+
incremental,
|
|
113
|
+
fix: fix2
|
|
114
|
+
} = {}) => {
|
|
115
|
+
return pkg ? lintPackage({ pkg, fix: fix2 }) : lintAllPackages({
|
|
123
116
|
verbose,
|
|
124
117
|
incremental,
|
|
125
118
|
fix: fix2
|
|
126
119
|
});
|
|
127
|
-
}
|
|
128
|
-
var lintAllPackages =
|
|
120
|
+
};
|
|
121
|
+
var lintAllPackages = ({ fix: fix2 = false } = {}) => {
|
|
129
122
|
console.log(chalk4.gray(`${fix2 ? "Fix" : "Lint"} [All-Packages]`));
|
|
130
123
|
const start = Date.now();
|
|
131
|
-
const fixOptions = fix2 ? [
|
|
132
|
-
"--fix"
|
|
133
|
-
] : [];
|
|
124
|
+
const fixOptions = fix2 ? ["--fix"] : [];
|
|
134
125
|
const result = runSteps(`${fix2 ? "Fix" : "Lint"} [All-Packages]`, [
|
|
135
|
-
[
|
|
136
|
-
"yarn",
|
|
137
|
-
[
|
|
138
|
-
"eslint",
|
|
139
|
-
...fixOptions
|
|
140
|
-
]
|
|
141
|
-
]
|
|
126
|
+
["yarn", ["eslint", ...fixOptions]]
|
|
142
127
|
]);
|
|
143
128
|
console.log(chalk4.gray(`${fix2 ? "Fixed in" : "Linted in"} [${chalk4.magenta(((Date.now() - start) / 1e3).toFixed(2))}] ${chalk4.gray("seconds")}`));
|
|
144
129
|
return result;
|
|
145
|
-
}
|
|
130
|
+
};
|
|
146
131
|
|
|
147
132
|
// src/actions/fix.ts
|
|
148
|
-
var fix =
|
|
149
|
-
return lint({
|
|
150
|
-
|
|
151
|
-
fix: true
|
|
152
|
-
});
|
|
153
|
-
}, "fix");
|
|
133
|
+
var fix = (params) => {
|
|
134
|
+
return lint({ ...params, fix: true });
|
|
135
|
+
};
|
|
154
136
|
export {
|
|
155
137
|
fix
|
|
156
138
|
};
|
package/dist/actions/fix.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/actions/lint.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","../../src/actions/fix.ts"],"sourcesContent":["import chalk from 'chalk'\n\nimport { runSteps } from '../lib/index.ts'\n\nexport interface LintParams {\n fix?: boolean\n incremental?: boolean\n pkg?: string\n verbose?: boolean\n}\n\nexport interface LintPackageParams {\n pkg: string\n verbose?: boolean\n}\n\nexport const lintPackage = ({ pkg, fix }: LintParams & Required<Pick<LintParams, 'pkg'>>) => {\n console.log(chalk.gray(`${fix ? 'Fix' : 'Lint'} [${pkg}]`))\n const start = Date.now()\n\n const result = runSteps(`${fix ? 'Fix' : 'Lint'} [${pkg}]`, [\n ['yarn', ['workspace',\n pkg,\n 'run',\n fix ? 'package-fix' : 'package-lint',\n ]],\n ])\n console.log(chalk.gray(`${fix ? 'Fixed in' : 'Linted in'} [${chalk.magenta(((Date.now() - start) / 1000).toFixed(2))}] ${chalk.gray('seconds')}`))\n return result\n}\n\nexport const lint = ({\n pkg, verbose, incremental, fix,\n}: LintParams = {}) => {\n return pkg\n ? lintPackage({ pkg, fix })\n : lintAllPackages({\n verbose, incremental, fix,\n })\n}\n\nexport const lintAllPackages = ({ fix = false }: LintParams = {}) => {\n console.log(chalk.gray(`${fix ? 'Fix' : 'Lint'} [All-Packages]`))\n const start = Date.now()\n // const verboseOptions = verbose ? ['--verbose'] : ['--no-verbose']\n // const incrementalOptions = incremental ? ['--since', '-Ap'] : ['--parallel', '-Ap']\n const fixOptions = fix ? ['--fix'] : []\n\n const result = runSteps(`${fix ? 'Fix' : 'Lint'} [All-Packages]`, [\n ['yarn', ['eslint', ...fixOptions]],\n ])\n console.log(chalk.gray(`${fix ? 'Fixed in' : 'Linted in'} [${chalk.magenta(((Date.now() - start) / 1000).toFixed(2))}] ${chalk.gray('seconds')}`))\n return result\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","import type { LintParams } from './lint.ts'\nimport { lint } from './lint.ts'\n\nexport const fix = (params?: LintParams) => {\n return lint({ ...params, fix: true })\n}\n"],"mappings":"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","names":["chalk","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","lintPackage","pkg","fix","console","log","chalk","gray","start","Date","now","result","runSteps","magenta","toFixed","lint","verbose","incremental","lintAllPackages","fixOptions","fix","params","lint"]}
|
|
1
|
+
{"version":3,"sources":["../../src/actions/lint.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","../../src/actions/fix.ts"],"sourcesContent":["import chalk from 'chalk'\n\nimport { runSteps } from '../lib/index.ts'\n\nexport interface LintParams {\n fix?: boolean\n incremental?: boolean\n pkg?: string\n verbose?: boolean\n}\n\nexport interface LintPackageParams {\n pkg: string\n verbose?: boolean\n}\n\nexport const lintPackage = ({ pkg, fix }: LintParams & Required<Pick<LintParams, 'pkg'>>) => {\n console.log(chalk.gray(`${fix ? 'Fix' : 'Lint'} [${pkg}]`))\n const start = Date.now()\n\n const result = runSteps(`${fix ? 'Fix' : 'Lint'} [${pkg}]`, [\n ['yarn', ['workspace',\n pkg,\n 'run',\n fix ? 'package-fix' : 'package-lint',\n ]],\n ])\n console.log(chalk.gray(`${fix ? 'Fixed in' : 'Linted in'} [${chalk.magenta(((Date.now() - start) / 1000).toFixed(2))}] ${chalk.gray('seconds')}`))\n return result\n}\n\nexport const lint = ({\n pkg, verbose, incremental, fix,\n}: LintParams = {}) => {\n return pkg\n ? lintPackage({ pkg, fix })\n : lintAllPackages({\n verbose, incremental, fix,\n })\n}\n\nexport const lintAllPackages = ({ fix = false }: LintParams = {}) => {\n console.log(chalk.gray(`${fix ? 'Fix' : 'Lint'} [All-Packages]`))\n const start = Date.now()\n // const verboseOptions = verbose ? ['--verbose'] : ['--no-verbose']\n // const incrementalOptions = incremental ? ['--since', '-Ap'] : ['--parallel', '-Ap']\n const fixOptions = fix ? ['--fix'] : []\n\n const result = runSteps(`${fix ? 'Fix' : 'Lint'} [All-Packages]`, [\n ['yarn', ['eslint', ...fixOptions]],\n ])\n console.log(chalk.gray(`${fix ? 'Fixed in' : 'Linted in'} [${chalk.magenta(((Date.now() - start) / 1000).toFixed(2))}] ${chalk.gray('seconds')}`))\n return result\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","import type { LintParams } from './lint.ts'\nimport { lint } from './lint.ts'\n\nexport const fix = (params?: LintParams) => {\n return lint({ ...params, fix: true })\n}\n"],"mappings":"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","names":["chalk","chalk","ex","ex","error","chalk","chalk","chalk","fix","chalk"]}
|
|
@@ -1,9 +1,6 @@
|
|
|
1
|
-
var __defProp = Object.defineProperty;
|
|
2
|
-
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
|
-
|
|
4
1
|
// src/lib/checkResult.ts
|
|
5
2
|
import chalk from "chalk";
|
|
6
|
-
var checkResult =
|
|
3
|
+
var checkResult = (name, result, level = "error", exitOnFail = false) => {
|
|
7
4
|
if (result) {
|
|
8
5
|
const exiting = exitOnFail ? "[Exiting Process]" : "[Continuing]";
|
|
9
6
|
const chalkFunc = level === "error" ? chalk.red : chalk.yellow;
|
|
@@ -12,23 +9,23 @@ var checkResult = /* @__PURE__ */ __name((name, result, level = "error", exitOnF
|
|
|
12
9
|
process.exit(result);
|
|
13
10
|
}
|
|
14
11
|
}
|
|
15
|
-
}
|
|
12
|
+
};
|
|
16
13
|
|
|
17
14
|
// src/lib/processEx.ts
|
|
18
15
|
import chalk2 from "chalk";
|
|
19
16
|
|
|
20
17
|
// src/lib/withError.ts
|
|
21
|
-
var withError =
|
|
18
|
+
var withError = (ex, closure, predicate = (ex2) => !!ex2.name && !!ex2.message) => {
|
|
22
19
|
return predicate(ex) ? closure(ex) : void 0;
|
|
23
|
-
}
|
|
20
|
+
};
|
|
24
21
|
|
|
25
22
|
// src/lib/withErrnoException.ts
|
|
26
|
-
var withErrnoException =
|
|
23
|
+
var withErrnoException = (ex, closure) => {
|
|
27
24
|
return withError(ex, closure, (ex2) => ex2.errno !== void 0);
|
|
28
|
-
}
|
|
25
|
+
};
|
|
29
26
|
|
|
30
27
|
// src/lib/processEx.ts
|
|
31
|
-
var processEx =
|
|
28
|
+
var processEx = (ex) => {
|
|
32
29
|
const error = typeof ex === "string" ? new Error(ex) : ex;
|
|
33
30
|
const exitCode = withErrnoException(error, (error2) => {
|
|
34
31
|
if (error2.code === "ENOENT") {
|
|
@@ -45,10 +42,10 @@ var processEx = /* @__PURE__ */ __name((ex) => {
|
|
|
45
42
|
return -1;
|
|
46
43
|
})();
|
|
47
44
|
process.exit(process.exitCode ?? exitCode);
|
|
48
|
-
}
|
|
45
|
+
};
|
|
49
46
|
|
|
50
47
|
// src/lib/safeExit.ts
|
|
51
|
-
var safeExit =
|
|
48
|
+
var safeExit = (func, exitOnFail = true) => {
|
|
52
49
|
try {
|
|
53
50
|
const result = func();
|
|
54
51
|
if (result && exitOnFail) {
|
|
@@ -58,13 +55,13 @@ var safeExit = /* @__PURE__ */ __name((func, exitOnFail = true) => {
|
|
|
58
55
|
} catch (ex) {
|
|
59
56
|
return processEx(ex);
|
|
60
57
|
}
|
|
61
|
-
}
|
|
58
|
+
};
|
|
62
59
|
|
|
63
60
|
// src/lib/runSteps.ts
|
|
64
61
|
import { spawnSync } from "node:child_process";
|
|
65
62
|
import { existsSync } from "node:fs";
|
|
66
63
|
import chalk3 from "chalk";
|
|
67
|
-
var runSteps =
|
|
64
|
+
var runSteps = (name, steps, exitOnFail = true, messages) => {
|
|
68
65
|
return safeExit(() => {
|
|
69
66
|
const pkgName = process.env.npm_package_name;
|
|
70
67
|
console.log(chalk3.green(`${name} [${pkgName}]`));
|
|
@@ -80,10 +77,7 @@ var runSteps = /* @__PURE__ */ __name((name, steps, exitOnFail = true, messages)
|
|
|
80
77
|
const status = spawnSync(command, Array.isArray(args) ? args : args.split(" "), {
|
|
81
78
|
...config,
|
|
82
79
|
encoding: "utf8",
|
|
83
|
-
env: {
|
|
84
|
-
FORCE_COLOR: "3",
|
|
85
|
-
...process.env
|
|
86
|
-
},
|
|
80
|
+
env: { FORCE_COLOR: "3", ...process.env },
|
|
87
81
|
shell: true,
|
|
88
82
|
stdio: "inherit"
|
|
89
83
|
}).status ?? 0;
|
|
@@ -92,55 +86,21 @@ var runSteps = /* @__PURE__ */ __name((name, steps, exitOnFail = true, messages)
|
|
|
92
86
|
}
|
|
93
87
|
return totalStatus;
|
|
94
88
|
}, !!exitOnFail);
|
|
95
|
-
}
|
|
89
|
+
};
|
|
96
90
|
|
|
97
91
|
// src/actions/gen-docs.ts
|
|
98
|
-
var genDocs =
|
|
99
|
-
return pkg ? genDocsPackage({
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
});
|
|
104
|
-
}
|
|
105
|
-
var
|
|
106
|
-
const
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
"workspace",
|
|
111
|
-
pkg,
|
|
112
|
-
"run",
|
|
113
|
-
"package-gen-docs"
|
|
114
|
-
]
|
|
115
|
-
]
|
|
116
|
-
];
|
|
117
|
-
return runSteps(`GenDocs [${pkg}]`, [
|
|
118
|
-
...steps
|
|
119
|
-
]);
|
|
120
|
-
}, "genDocsPackage");
|
|
121
|
-
var genDocsAll = /* @__PURE__ */ __name(({ incremental }) => {
|
|
122
|
-
const incrementalOptions = incremental ? [
|
|
123
|
-
"--since",
|
|
124
|
-
"-pA"
|
|
125
|
-
] : [
|
|
126
|
-
"-pA"
|
|
127
|
-
];
|
|
128
|
-
const steps = [
|
|
129
|
-
[
|
|
130
|
-
"yarn",
|
|
131
|
-
[
|
|
132
|
-
"workspaces",
|
|
133
|
-
"foreach",
|
|
134
|
-
...incrementalOptions,
|
|
135
|
-
"run",
|
|
136
|
-
"package-gen-docs"
|
|
137
|
-
]
|
|
138
|
-
]
|
|
139
|
-
];
|
|
140
|
-
return runSteps(`GenDocs [All${incremental ? "-Incremental" : ""}]`, [
|
|
141
|
-
...steps
|
|
142
|
-
]);
|
|
143
|
-
}, "genDocsAll");
|
|
92
|
+
var genDocs = ({ pkg, incremental }) => {
|
|
93
|
+
return pkg ? genDocsPackage({ pkg }) : genDocsAll({ incremental });
|
|
94
|
+
};
|
|
95
|
+
var genDocsPackage = ({ pkg }) => {
|
|
96
|
+
const steps = [["yarn", ["workspace", pkg, "run", "package-gen-docs"]]];
|
|
97
|
+
return runSteps(`GenDocs [${pkg}]`, [...steps]);
|
|
98
|
+
};
|
|
99
|
+
var genDocsAll = ({ incremental }) => {
|
|
100
|
+
const incrementalOptions = incremental ? ["--since", "-pA"] : ["-pA"];
|
|
101
|
+
const steps = [["yarn", ["workspaces", "foreach", ...incrementalOptions, "run", "package-gen-docs"]]];
|
|
102
|
+
return runSteps(`GenDocs [All${incremental ? "-Incremental" : ""}]`, [...steps]);
|
|
103
|
+
};
|
|
144
104
|
export {
|
|
145
105
|
genDocs,
|
|
146
106
|
genDocsAll,
|