@pellux/goodvibes-toolchain 1.11.0 → 1.11.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.
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toolchain.d.ts","sourceRoot":"","sources":["../../src/bin/toolchain.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* Dispatcher bin, named after the package itself (`goodvibes-toolchain`).
|
|
4
|
+
*
|
|
5
|
+
* `bunx @pellux/goodvibes-toolchain <tool> [flags]` resolves the bin whose
|
|
6
|
+
* name matches the package's final path segment. Without this dispatcher the
|
|
7
|
+
* package exposed only the eleven `goodvibes-*` tool bins, and bunx silently
|
|
8
|
+
* fell back to the FIRST bin in the map (sdk-pin-gate) with the intended tool
|
|
9
|
+
* name as a stray argument — crashing in workspaces without a toolchain
|
|
10
|
+
* config, and worse, "passing" while running the wrong tool in workspaces
|
|
11
|
+
* with one. Every tool stays directly invocable by its own bin name; this
|
|
12
|
+
* entry only adds the package-name route.
|
|
13
|
+
*
|
|
14
|
+
* The tool argument accepts both the bare tool name (`per-job-green`) and the
|
|
15
|
+
* bin-prefixed form (`goodvibes-per-job-green`) so existing invocation
|
|
16
|
+
* strings work unchanged.
|
|
17
|
+
*/
|
|
18
|
+
const TOOLS = {
|
|
19
|
+
'sdk-pin-gate': './sdk-pin-gate.js',
|
|
20
|
+
'build-binaries': './build-binaries.js',
|
|
21
|
+
'release-cut': './release-cut.js',
|
|
22
|
+
'coverage-gate': './coverage-gate.js',
|
|
23
|
+
'verification-ledger': './verification-ledger.js',
|
|
24
|
+
'post-build-smoke': './post-build-smoke.js',
|
|
25
|
+
'package-install-check': './package-install-check.js',
|
|
26
|
+
'publish-package': './publish-package.js',
|
|
27
|
+
'per-job-green': './per-job-green.js',
|
|
28
|
+
'changelog-gate': './changelog-gate.js',
|
|
29
|
+
'sha256sums': './sha256sums.js',
|
|
30
|
+
};
|
|
31
|
+
const [tool, ...rest] = process.argv.slice(2);
|
|
32
|
+
const key = tool?.replace(/^goodvibes-/, '') ?? '';
|
|
33
|
+
const target = TOOLS[key];
|
|
34
|
+
if (!target) {
|
|
35
|
+
const usage = [
|
|
36
|
+
`goodvibes-toolchain: ${tool ? `unknown tool '${tool}'` : 'a tool name is required'}.`,
|
|
37
|
+
'Usage: goodvibes-toolchain <tool> [flags]',
|
|
38
|
+
`Tools: ${Object.keys(TOOLS).join(', ')}`,
|
|
39
|
+
].join('\n');
|
|
40
|
+
console.error(usage);
|
|
41
|
+
process.exit(2);
|
|
42
|
+
}
|
|
43
|
+
// Tool bins read flags positionally from process.argv; splice the dispatcher
|
|
44
|
+
// hop out so their view is identical to a direct bin invocation.
|
|
45
|
+
process.argv = [process.argv[0], process.argv[1], ...rest];
|
|
46
|
+
await import(target);
|
|
47
|
+
export {};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pellux/goodvibes-toolchain",
|
|
3
|
-
"version": "1.11.
|
|
3
|
+
"version": "1.11.1",
|
|
4
4
|
"engines": {
|
|
5
5
|
"bun": "1.3.10",
|
|
6
6
|
"node": ">=22.0.0"
|
|
@@ -21,6 +21,7 @@
|
|
|
21
21
|
"./package.json": "./package.json"
|
|
22
22
|
},
|
|
23
23
|
"bin": {
|
|
24
|
+
"goodvibes-toolchain": "./dist/bin/toolchain.js",
|
|
24
25
|
"goodvibes-sdk-pin-gate": "./dist/bin/sdk-pin-gate.js",
|
|
25
26
|
"goodvibes-build-binaries": "./dist/bin/build-binaries.js",
|
|
26
27
|
"goodvibes-release-cut": "./dist/bin/release-cut.js",
|