mirror of
https://github.com/Kaelio/ktx.git
synced 2026-06-10 08:05:14 +02:00
Promote the CLI workspace package to the public name `@kaelio/ktx` and drop the separate `scripts/build-public-npm-package.mjs` wrapper. The CLI package is now publishable in place (`publishConfig.access: public`, `provenance: true`), so artifact packing uses `pnpm pack` against `packages/cli/` instead of assembling a parallel package tree. Updates all workspace filter invocations, docs, tests, and release readiness checks to reference the new package name, and folds the tarball-name helper into `scripts/public-npm-release-metadata.mjs`.
42 lines
1.1 KiB
TypeScript
42 lines
1.1 KiB
TypeScript
import { fileURLToPath } from 'node:url';
|
|
import { buildKtxProgram } from './cli-program.js';
|
|
import type { KtxCliIo, KtxCliPackageInfo } from './cli-runtime.js';
|
|
import { formatCommandTree, walkCommandTree } from './command-tree.js';
|
|
|
|
function silentIo(): KtxCliIo {
|
|
return {
|
|
stdout: { isTTY: false, columns: 80, write: () => {} },
|
|
stderr: { write: () => {} },
|
|
};
|
|
}
|
|
|
|
function stubPackageInfo(): KtxCliPackageInfo {
|
|
return {
|
|
name: '@kaelio/ktx',
|
|
version: '0.0.0-docs',
|
|
};
|
|
}
|
|
|
|
export function renderKtxCommandTree(): string {
|
|
const program = buildKtxProgram({
|
|
io: silentIo(),
|
|
deps: {},
|
|
packageInfo: stubPackageInfo(),
|
|
runInit: async () => 0,
|
|
});
|
|
return formatCommandTree(walkCommandTree(program));
|
|
}
|
|
|
|
export function main(stdout: { write(chunk: string): void }): void {
|
|
stdout.write(renderKtxCommandTree());
|
|
}
|
|
|
|
const invokedAsScript =
|
|
typeof process !== 'undefined' &&
|
|
Array.isArray(process.argv) &&
|
|
process.argv[1] !== undefined &&
|
|
fileURLToPath(import.meta.url) === process.argv[1];
|
|
|
|
if (invokedAsScript) {
|
|
main(process.stdout);
|
|
}
|