@cmssy/cli 0.16.0 → 0.18.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli.js +46 -1
- package/dist/cli.js.map +1 -1
- package/dist/commands/lib.d.ts +17 -0
- package/dist/commands/lib.d.ts.map +1 -0
- package/dist/commands/lib.js +132 -0
- package/dist/commands/lib.js.map +1 -0
- package/dist/commands/publish-block-buildtime.d.ts +8 -0
- package/dist/commands/publish-block-buildtime.d.ts.map +1 -0
- package/dist/commands/publish-block-buildtime.js +255 -0
- package/dist/commands/publish-block-buildtime.js.map +1 -0
- package/dist/commands/publish.js +3 -13
- package/dist/commands/publish.js.map +1 -1
- package/dist/types/publish-job.d.ts +61 -0
- package/dist/types/publish-job.d.ts.map +1 -0
- package/dist/types/publish-job.js +13 -0
- package/dist/types/publish-job.js.map +1 -0
- package/dist/utils/block-config.d.ts +1 -0
- package/dist/utils/block-config.d.ts.map +1 -1
- package/dist/utils/block-config.js +1 -1
- package/dist/utils/block-config.js.map +1 -1
- package/dist/utils/graphql.d.ts +4 -0
- package/dist/utils/graphql.d.ts.map +1 -1
- package/dist/utils/graphql.js +78 -0
- package/dist/utils/graphql.js.map +1 -1
- package/dist/utils/lib-manifest.d.ts +7 -0
- package/dist/utils/lib-manifest.d.ts.map +1 -0
- package/dist/utils/lib-manifest.js +59 -0
- package/dist/utils/lib-manifest.js.map +1 -0
- package/dist/utils/resolve-workspace.d.ts +6 -0
- package/dist/utils/resolve-workspace.d.ts.map +1 -0
- package/dist/utils/resolve-workspace.js +32 -0
- package/dist/utils/resolve-workspace.js.map +1 -0
- package/dist/utils/source-collector.d.ts +19 -0
- package/dist/utils/source-collector.d.ts.map +1 -0
- package/dist/utils/source-collector.js +563 -0
- package/dist/utils/source-collector.js.map +1 -0
- package/package.json +1 -1
package/dist/cli.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import chalk from "chalk";
|
|
3
|
-
import { Command } from "commander";
|
|
3
|
+
import { Command, Option } from "commander";
|
|
4
4
|
import { buildCommand } from "./commands/build.js";
|
|
5
5
|
import { codegenCommand } from "./commands/codegen.js";
|
|
6
6
|
import { configureCommand } from "./commands/configure.js";
|
|
@@ -13,6 +13,8 @@ import { testCommand } from "./commands/test.js";
|
|
|
13
13
|
import { syncCommand } from "./commands/sync.js";
|
|
14
14
|
import { migrateCommand } from "./commands/migrate.js";
|
|
15
15
|
import { publishCommand } from "./commands/publish.js";
|
|
16
|
+
import { publishBlockBuildtimeCommand } from "./commands/publish-block-buildtime.js";
|
|
17
|
+
import { libInstallCommand, libSyncCommand } from "./commands/lib.js";
|
|
16
18
|
import { packageCommand } from "./commands/package.js";
|
|
17
19
|
import { skillsInstallCommand, skillsListCommand } from "./commands/skills.js";
|
|
18
20
|
import { uploadCommand } from "./commands/upload.js";
|
|
@@ -220,6 +222,49 @@ Content preservation:
|
|
|
220
222
|
from config.ts / preview.json.
|
|
221
223
|
`)
|
|
222
224
|
.action(publishCommand);
|
|
225
|
+
program
|
|
226
|
+
.command("publish-block")
|
|
227
|
+
.description("Publish a single block via the build pipeline (Vercel Sandbox + Inngest).\n\n" +
|
|
228
|
+
" Sends the block source tree to the backend, which packs it as tar.gz,\n" +
|
|
229
|
+
" uploads to Vercel Blob, then enqueues an Inngest job that bundles in\n" +
|
|
230
|
+
" a sandbox and stores artifacts back to Blob.")
|
|
231
|
+
.argument("<name>", "Block directory name under blocks/")
|
|
232
|
+
.option("-w, --workspace [id]", "Workspace id (defaults to .env)")
|
|
233
|
+
.option("--entry <path>", "Entry path inside block dir (default: src/index.tsx)")
|
|
234
|
+
.option("--dry-run", "Collect files and print plan without uploading")
|
|
235
|
+
.addHelpText("after", `
|
|
236
|
+
Examples:
|
|
237
|
+
$ cmssy publish-block hero Publish blocks/hero
|
|
238
|
+
$ cmssy publish-block hero --dry-run Show what would be sent
|
|
239
|
+
$ cmssy publish-block faq -w 65f... Override workspace
|
|
240
|
+
|
|
241
|
+
Limits per block: 200 files, 10 MB total.
|
|
242
|
+
Build polling: 1.5s interval, 10 minute cap, gives up after 5 consecutive errors.
|
|
243
|
+
`)
|
|
244
|
+
.action((name, options) => publishBlockBuildtimeCommand(name, options));
|
|
245
|
+
const lib = program
|
|
246
|
+
.command("lib")
|
|
247
|
+
.description("Manage the workspace's npm dependency manifest");
|
|
248
|
+
lib
|
|
249
|
+
.command("install")
|
|
250
|
+
.description("Install npm package(s) locally and sync the manifest")
|
|
251
|
+
.argument("<packages...>", "npm package specs (e.g. lodash zod@^4)")
|
|
252
|
+
.option("-w, --workspace [id]", "Workspace id (defaults to .env)")
|
|
253
|
+
.addOption(new Option("--package-manager <pm>", "Force the package manager").choices([
|
|
254
|
+
"npm",
|
|
255
|
+
"pnpm",
|
|
256
|
+
"yarn",
|
|
257
|
+
"bun",
|
|
258
|
+
]))
|
|
259
|
+
.option("--skip-install", "Skip local install; only sync from package.json")
|
|
260
|
+
.option("--dry-run", "Don't push manifest, just print it")
|
|
261
|
+
.action((packages, options) => libInstallCommand(packages, options));
|
|
262
|
+
lib
|
|
263
|
+
.command("sync")
|
|
264
|
+
.description("Push current package.json deps to the workspace manifest")
|
|
265
|
+
.option("-w, --workspace [id]", "Workspace id (defaults to .env)")
|
|
266
|
+
.option("--dry-run", "Don't push manifest, just print it")
|
|
267
|
+
.action((options) => libSyncCommand(options));
|
|
223
268
|
// cmssy sync
|
|
224
269
|
program
|
|
225
270
|
.command("sync")
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
type PackageManager = "npm" | "pnpm" | "yarn" | "bun";
|
|
2
|
+
interface LibInstallOptions {
|
|
3
|
+
workspace?: string | boolean;
|
|
4
|
+
packageManager?: PackageManager;
|
|
5
|
+
skipInstall?: boolean;
|
|
6
|
+
dryRun?: boolean;
|
|
7
|
+
}
|
|
8
|
+
interface LibSyncOptions {
|
|
9
|
+
workspace?: string | boolean;
|
|
10
|
+
dryRun?: boolean;
|
|
11
|
+
}
|
|
12
|
+
export declare function libInstallCommand(packages: string[], options: LibInstallOptions): Promise<void>;
|
|
13
|
+
export declare function libSyncCommand(options: LibSyncOptions): Promise<void>;
|
|
14
|
+
export declare function detectPackageManager(cwd: string): PackageManager;
|
|
15
|
+
export declare function buildAddArgs(pm: PackageManager, packages: string[]): string[];
|
|
16
|
+
export {};
|
|
17
|
+
//# sourceMappingURL=lib.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lib.d.ts","sourceRoot":"","sources":["../../src/commands/lib.ts"],"names":[],"mappings":"AAoBA,KAAK,cAAc,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,CAAC;AAEtD,UAAU,iBAAiB;IACzB,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAC7B,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,UAAU,cAAc;IACtB,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAC7B,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,wBAAsB,iBAAiB,CACrC,QAAQ,EAAE,MAAM,EAAE,EAClB,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,IAAI,CAAC,CA4Ff;AAED,wBAAsB,cAAc,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAkB3E;AAqCD,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,CAMhE;AAED,wBAAgB,YAAY,CAAC,EAAE,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAG7E"}
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
import chalk from "chalk";
|
|
2
|
+
import { spawnSync } from "child_process";
|
|
3
|
+
import fs from "fs-extra";
|
|
4
|
+
import ora from "ora";
|
|
5
|
+
import path from "path";
|
|
6
|
+
import { hasConfig, loadConfig } from "../utils/config.js";
|
|
7
|
+
import { createClient, UPDATE_WORKSPACE_LIBS_MUTATION, } from "../utils/graphql.js";
|
|
8
|
+
import { loadLibManifestFromProject, RESERVED_PEERS, } from "../utils/lib-manifest.js";
|
|
9
|
+
import { resolveWorkspaceId, warnIfWorkspaceIdLooksWrong, } from "../utils/resolve-workspace.js";
|
|
10
|
+
export async function libInstallCommand(packages, options) {
|
|
11
|
+
console.log(chalk.blue.bold("\n📚 Cmssy - lib install\n"));
|
|
12
|
+
if (!hasConfig()) {
|
|
13
|
+
console.error(chalk.red("✖ Not configured. Run: cmssy link\n"));
|
|
14
|
+
process.exit(1);
|
|
15
|
+
}
|
|
16
|
+
const config = loadConfig();
|
|
17
|
+
if (!config.apiToken) {
|
|
18
|
+
console.error(chalk.red("✖ CMSSY_API_TOKEN missing in .env. Run: cmssy link\n"));
|
|
19
|
+
process.exit(1);
|
|
20
|
+
}
|
|
21
|
+
if (packages.length === 0) {
|
|
22
|
+
console.error(chalk.red("✖ No packages specified. Example: cmssy lib install lodash"));
|
|
23
|
+
process.exit(1);
|
|
24
|
+
}
|
|
25
|
+
const reserved = packages.filter((p) => RESERVED_PEERS.has(stripVersion(p)));
|
|
26
|
+
if (reserved.length > 0) {
|
|
27
|
+
console.log(chalk.yellow(`⚠ Skipping reserved peer dep(s) (managed by build worker): ${reserved.join(", ")}`));
|
|
28
|
+
}
|
|
29
|
+
const filtered = packages.filter((p) => !RESERVED_PEERS.has(stripVersion(p)));
|
|
30
|
+
if (filtered.length === 0 && !options.skipInstall) {
|
|
31
|
+
console.error(chalk.red("✖ Nothing to install after filtering reserved peers."));
|
|
32
|
+
process.exit(1);
|
|
33
|
+
}
|
|
34
|
+
const cwd = process.cwd();
|
|
35
|
+
const pm = options.packageManager ?? detectPackageManager(cwd);
|
|
36
|
+
if (!options.skipInstall) {
|
|
37
|
+
const args = buildAddArgs(pm, filtered);
|
|
38
|
+
console.log(chalk.gray(`▶ ${pm} ${args.join(" ")}`));
|
|
39
|
+
const result = spawnSync(pm, args, {
|
|
40
|
+
cwd,
|
|
41
|
+
stdio: "inherit",
|
|
42
|
+
shell: false,
|
|
43
|
+
});
|
|
44
|
+
if (result.error) {
|
|
45
|
+
console.error(chalk.red(`✖ ${pm} not found on PATH (${result.error.message}). Install it or pass --package-manager.`));
|
|
46
|
+
process.exit(1);
|
|
47
|
+
}
|
|
48
|
+
if (result.signal) {
|
|
49
|
+
console.error(chalk.red(`✖ ${pm} ${args.join(" ")} terminated by signal ${result.signal}`));
|
|
50
|
+
process.exit(1);
|
|
51
|
+
}
|
|
52
|
+
if (typeof result.status === "number" && result.status !== 0) {
|
|
53
|
+
console.error(chalk.red(`✖ ${pm} ${args.join(" ")} exited with code ${result.status}`));
|
|
54
|
+
process.exit(1);
|
|
55
|
+
}
|
|
56
|
+
if (result.status === null) {
|
|
57
|
+
console.error(chalk.red(`✖ ${pm} ${args.join(" ")} ended without an exit code (no signal reported)`));
|
|
58
|
+
process.exit(1);
|
|
59
|
+
}
|
|
60
|
+
console.log(chalk.green(`✔ ${pm} install complete`));
|
|
61
|
+
}
|
|
62
|
+
else {
|
|
63
|
+
console.log(chalk.gray(`Skipping local install (--skip-install). Reading manifest from existing package.json.`));
|
|
64
|
+
}
|
|
65
|
+
const manifest = await loadLibManifestFromProject(cwd);
|
|
66
|
+
await pushManifestToBackend(manifest, options, config);
|
|
67
|
+
}
|
|
68
|
+
export async function libSyncCommand(options) {
|
|
69
|
+
console.log(chalk.blue.bold("\n📚 Cmssy - lib sync\n"));
|
|
70
|
+
if (!hasConfig()) {
|
|
71
|
+
console.error(chalk.red("✖ Not configured. Run: cmssy link\n"));
|
|
72
|
+
process.exit(1);
|
|
73
|
+
}
|
|
74
|
+
const config = loadConfig();
|
|
75
|
+
if (!config.apiToken) {
|
|
76
|
+
console.error(chalk.red("✖ CMSSY_API_TOKEN missing in .env. Run: cmssy link\n"));
|
|
77
|
+
process.exit(1);
|
|
78
|
+
}
|
|
79
|
+
const cwd = process.cwd();
|
|
80
|
+
const manifest = await loadLibManifestFromProject(cwd);
|
|
81
|
+
await pushManifestToBackend(manifest, options, config);
|
|
82
|
+
}
|
|
83
|
+
async function pushManifestToBackend(manifest, options, config) {
|
|
84
|
+
const workspaceId = await resolveWorkspaceId(options.workspace, config);
|
|
85
|
+
warnIfWorkspaceIdLooksWrong(workspaceId);
|
|
86
|
+
const depsCount = Object.keys(manifest.dependencies).length;
|
|
87
|
+
console.log(chalk.gray(`\nManifest: ${depsCount} dependency(ies)`));
|
|
88
|
+
for (const [name, spec] of Object.entries(manifest.dependencies)) {
|
|
89
|
+
console.log(` ${name}@${spec}`);
|
|
90
|
+
}
|
|
91
|
+
if (options.dryRun) {
|
|
92
|
+
console.log(chalk.cyan(`\nDry run - not pushing to ${config.apiUrl}.`));
|
|
93
|
+
return;
|
|
94
|
+
}
|
|
95
|
+
const client = createClient();
|
|
96
|
+
client.setHeader("x-workspace-id", workspaceId);
|
|
97
|
+
const spinner = ora(`Updating workspace lib manifest`).start();
|
|
98
|
+
try {
|
|
99
|
+
await client.request(UPDATE_WORKSPACE_LIBS_MUTATION, {
|
|
100
|
+
input: { dependencies: manifest.dependencies },
|
|
101
|
+
});
|
|
102
|
+
spinner.succeed(`Lib manifest updated for workspace ${workspaceId}`);
|
|
103
|
+
}
|
|
104
|
+
catch (err) {
|
|
105
|
+
spinner.fail(`updateWorkspaceLibs failed: ${err instanceof Error ? err.message : String(err)}`);
|
|
106
|
+
process.exit(1);
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
export function detectPackageManager(cwd) {
|
|
110
|
+
if (fs.existsSync(path.join(cwd, "pnpm-lock.yaml")))
|
|
111
|
+
return "pnpm";
|
|
112
|
+
if (fs.existsSync(path.join(cwd, "yarn.lock")))
|
|
113
|
+
return "yarn";
|
|
114
|
+
if (fs.existsSync(path.join(cwd, "bun.lockb")))
|
|
115
|
+
return "bun";
|
|
116
|
+
if (fs.existsSync(path.join(cwd, "bun.lock")))
|
|
117
|
+
return "bun";
|
|
118
|
+
return "npm";
|
|
119
|
+
}
|
|
120
|
+
export function buildAddArgs(pm, packages) {
|
|
121
|
+
const verb = pm === "npm" ? "install" : "add";
|
|
122
|
+
return [verb, ...packages];
|
|
123
|
+
}
|
|
124
|
+
function stripVersion(spec) {
|
|
125
|
+
if (spec.startsWith("@")) {
|
|
126
|
+
const idx = spec.indexOf("@", 1);
|
|
127
|
+
return idx === -1 ? spec : spec.slice(0, idx);
|
|
128
|
+
}
|
|
129
|
+
const idx = spec.indexOf("@");
|
|
130
|
+
return idx === -1 ? spec : spec.slice(0, idx);
|
|
131
|
+
}
|
|
132
|
+
//# sourceMappingURL=lib.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lib.js","sourceRoot":"","sources":["../../src/commands/lib.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
interface PublishBuildtimeOptions {
|
|
2
|
+
workspace?: string | boolean;
|
|
3
|
+
entry?: string;
|
|
4
|
+
dryRun?: boolean;
|
|
5
|
+
}
|
|
6
|
+
export declare function publishBlockBuildtimeCommand(blockName: string, options: PublishBuildtimeOptions): Promise<void>;
|
|
7
|
+
export {};
|
|
8
|
+
//# sourceMappingURL=publish-block-buildtime.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"publish-block-buildtime.d.ts","sourceRoot":"","sources":["../../src/commands/publish-block-buildtime.ts"],"names":[],"mappings":"AAoCA,UAAU,uBAAuB;IAC/B,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,wBAAsB,4BAA4B,CAChD,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,uBAAuB,GAC/B,OAAO,CAAC,IAAI,CAAC,CAsLf"}
|
|
@@ -0,0 +1,255 @@
|
|
|
1
|
+
import chalk from "chalk";
|
|
2
|
+
import fs from "fs-extra";
|
|
3
|
+
import ora from "ora";
|
|
4
|
+
import path from "path";
|
|
5
|
+
import { hasConfig, loadConfig } from "../utils/config.js";
|
|
6
|
+
import { createClient, PUBLISH_BLOCK_MUTATION, PUBLISH_JOB_FULL_QUERY, PUBLISH_JOB_STATUS_QUERY, } from "../utils/graphql.js";
|
|
7
|
+
import { collectBlockSources, } from "../utils/source-collector.js";
|
|
8
|
+
import { extractDefaultContent, loadBlockConfig, } from "../utils/block-config.js";
|
|
9
|
+
import { resolveWorkspaceId, warnIfWorkspaceIdLooksWrong, } from "../utils/resolve-workspace.js";
|
|
10
|
+
import { BLOCK_BUILD_STATUS, PUBLISH_JOB_STATUS, } from "../types/publish-job.js";
|
|
11
|
+
const BLOCK_TYPE_REGEX = /^[a-z][a-z0-9-]*$/;
|
|
12
|
+
const BLOCK_VERSION_REGEX = /^\d/;
|
|
13
|
+
const POLL_INTERVAL_MS = 1500;
|
|
14
|
+
const POLL_MAX_MS = 10 * 60 * 1000;
|
|
15
|
+
const POLL_MAX_CONSECUTIVE_ERRORS = 5;
|
|
16
|
+
export async function publishBlockBuildtimeCommand(blockName, options) {
|
|
17
|
+
console.log(chalk.blue.bold("\n📦 Cmssy - Publish (build pipeline)\n"));
|
|
18
|
+
if (!hasConfig()) {
|
|
19
|
+
console.error(chalk.red("✖ Not configured. Run: cmssy link\n"));
|
|
20
|
+
process.exit(1);
|
|
21
|
+
}
|
|
22
|
+
const config = loadConfig();
|
|
23
|
+
if (!config.apiToken) {
|
|
24
|
+
console.error(chalk.red("✖ CMSSY_API_TOKEN missing in .env. Run: cmssy link\n"));
|
|
25
|
+
process.exit(1);
|
|
26
|
+
}
|
|
27
|
+
if (!BLOCK_TYPE_REGEX.test(blockName)) {
|
|
28
|
+
console.error(chalk.red(`✖ Block name "${blockName}" must match /^[a-z][a-z0-9-]*$/ for the build pipeline (rejects path separators, traversal, uppercase)`));
|
|
29
|
+
process.exit(1);
|
|
30
|
+
}
|
|
31
|
+
const workspaceId = await resolveWorkspaceId(options.workspace, config);
|
|
32
|
+
warnIfWorkspaceIdLooksWrong(workspaceId);
|
|
33
|
+
const cwd = process.cwd();
|
|
34
|
+
const blocksRoot = path.resolve(cwd, "blocks");
|
|
35
|
+
const blockDir = path.resolve(blocksRoot, blockName);
|
|
36
|
+
if (blockDir !== blocksRoot && !blockDir.startsWith(blocksRoot + path.sep)) {
|
|
37
|
+
console.error(chalk.red(`✖ Block path "${blockDir}" escapes blocks/ root (refusing to read).`));
|
|
38
|
+
process.exit(1);
|
|
39
|
+
}
|
|
40
|
+
if (!(await fs.pathExists(blockDir))) {
|
|
41
|
+
console.error(chalk.red(`✖ Block "${blockName}" not found at ${blockDir}`));
|
|
42
|
+
process.exit(1);
|
|
43
|
+
}
|
|
44
|
+
const pkgPath = path.join(blockDir, "package.json");
|
|
45
|
+
if (!(await fs.pathExists(pkgPath))) {
|
|
46
|
+
console.error(chalk.red(`✖ ${pkgPath} not found - block must declare name+version`));
|
|
47
|
+
process.exit(1);
|
|
48
|
+
}
|
|
49
|
+
const pkg = (await fs.readJson(pkgPath));
|
|
50
|
+
if (typeof pkg.version !== "string") {
|
|
51
|
+
console.error(chalk.red(`✖ "version" field missing or not a string in ${pkgPath}`));
|
|
52
|
+
process.exit(1);
|
|
53
|
+
}
|
|
54
|
+
if (typeof pkg.name === "string" && pkg.name !== blockName) {
|
|
55
|
+
console.log(chalk.yellow(`⚠ package.json name "${pkg.name}" differs from directory "${blockName}"; using directory name as block type.`));
|
|
56
|
+
}
|
|
57
|
+
const blockType = blockName;
|
|
58
|
+
const blockVersion = pkg.version;
|
|
59
|
+
if (!BLOCK_VERSION_REGEX.test(blockVersion)) {
|
|
60
|
+
console.error(chalk.red(`✖ Block version "${blockVersion}" must start with a digit (loose semver)`));
|
|
61
|
+
process.exit(1);
|
|
62
|
+
}
|
|
63
|
+
const spinnerCollect = ora(`Collecting source files from blocks/${blockName}/`).start();
|
|
64
|
+
let collected;
|
|
65
|
+
try {
|
|
66
|
+
collected = await collectBlockSources({
|
|
67
|
+
blockDir,
|
|
68
|
+
entryRel: options.entry,
|
|
69
|
+
});
|
|
70
|
+
spinnerCollect.succeed(`Collected ${collected.files.length} source file(s) (entry: ${collected.entryPath})`);
|
|
71
|
+
}
|
|
72
|
+
catch (err) {
|
|
73
|
+
spinnerCollect.fail(err instanceof Error ? err.message : String(err));
|
|
74
|
+
process.exit(1);
|
|
75
|
+
}
|
|
76
|
+
if (options.dryRun) {
|
|
77
|
+
console.log(chalk.cyan(`\nDry run - would publish ${blockType}@${blockVersion} (${collected.files.length} file(s)):`));
|
|
78
|
+
for (const f of collected.files) {
|
|
79
|
+
console.log(` ${f.relPath}`);
|
|
80
|
+
}
|
|
81
|
+
console.log(chalk.gray(`\nTarget API: ${config.apiUrl}`));
|
|
82
|
+
console.log(chalk.gray(`Target workspace: ${workspaceId}\n`));
|
|
83
|
+
return;
|
|
84
|
+
}
|
|
85
|
+
// Extract defaultContent from config.ts so the backend smoke test
|
|
86
|
+
// can render the block with realistic props instead of a sentinel
|
|
87
|
+
// object. Null is fine - backend falls back to the legacy smoke
|
|
88
|
+
// sentinel. Deferred until after the dry-run short-circuit so the
|
|
89
|
+
// dry-run preview never executes the block's config.ts (which may
|
|
90
|
+
// have side effects: cache files, network, etc.).
|
|
91
|
+
let defaultContent = null;
|
|
92
|
+
try {
|
|
93
|
+
const blockConfig = await loadBlockConfig(blockDir);
|
|
94
|
+
if (blockConfig?.schema) {
|
|
95
|
+
defaultContent = extractDefaultContent(blockConfig.schema);
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
catch {
|
|
99
|
+
// Non-fatal - publish continues without defaultContent and the
|
|
100
|
+
// smoke test runs against the legacy sentinel content.
|
|
101
|
+
defaultContent = null;
|
|
102
|
+
}
|
|
103
|
+
const client = createClient();
|
|
104
|
+
client.setHeader("x-workspace-id", workspaceId);
|
|
105
|
+
const spinnerEnqueue = ora(`Enqueueing publish for ${blockType}@${blockVersion}`).start();
|
|
106
|
+
let job;
|
|
107
|
+
try {
|
|
108
|
+
const data = await client.request(PUBLISH_BLOCK_MUTATION, {
|
|
109
|
+
input: {
|
|
110
|
+
blockType,
|
|
111
|
+
blockVersion,
|
|
112
|
+
entryPath: collected.entryPath,
|
|
113
|
+
defaultContent,
|
|
114
|
+
files: collected.files.map((f) => ({
|
|
115
|
+
path: f.relPath,
|
|
116
|
+
contentBase64: f.contentBase64,
|
|
117
|
+
})),
|
|
118
|
+
},
|
|
119
|
+
});
|
|
120
|
+
job = data.publishBlock;
|
|
121
|
+
spinnerEnqueue.succeed(`Job queued: ${job.id}`);
|
|
122
|
+
}
|
|
123
|
+
catch (err) {
|
|
124
|
+
spinnerEnqueue.fail(err instanceof Error ? err.message : String(err));
|
|
125
|
+
process.exit(1);
|
|
126
|
+
}
|
|
127
|
+
let finalJob;
|
|
128
|
+
try {
|
|
129
|
+
finalJob = await pollJobUntilTerminal(client, job.id);
|
|
130
|
+
}
|
|
131
|
+
catch (err) {
|
|
132
|
+
console.error(chalk.red(`✖ ${err instanceof Error ? err.message : String(err)}`));
|
|
133
|
+
process.exit(1);
|
|
134
|
+
}
|
|
135
|
+
try {
|
|
136
|
+
const full = await client.request(PUBLISH_JOB_FULL_QUERY, { jobId: job.id });
|
|
137
|
+
if (full.publishJobStatus)
|
|
138
|
+
finalJob = full.publishJobStatus;
|
|
139
|
+
}
|
|
140
|
+
catch {
|
|
141
|
+
void 0;
|
|
142
|
+
}
|
|
143
|
+
printJobReport(finalJob);
|
|
144
|
+
if (finalJob.status !== PUBLISH_JOB_STATUS.COMPLETED) {
|
|
145
|
+
process.exit(1);
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
async function pollJobUntilTerminal(client, jobId) {
|
|
149
|
+
const spinner = ora("Building...").start();
|
|
150
|
+
const start = Date.now();
|
|
151
|
+
let last = null;
|
|
152
|
+
let consecutiveErrors = 0;
|
|
153
|
+
try {
|
|
154
|
+
while (Date.now() - start < POLL_MAX_MS) {
|
|
155
|
+
let res = null;
|
|
156
|
+
try {
|
|
157
|
+
res = await client.request(PUBLISH_JOB_STATUS_QUERY, { jobId });
|
|
158
|
+
consecutiveErrors = 0;
|
|
159
|
+
}
|
|
160
|
+
catch (err) {
|
|
161
|
+
consecutiveErrors += 1;
|
|
162
|
+
if (consecutiveErrors >= POLL_MAX_CONSECUTIVE_ERRORS) {
|
|
163
|
+
spinner.fail(`Polling failed ${consecutiveErrors} times in a row; giving up.`);
|
|
164
|
+
throw err;
|
|
165
|
+
}
|
|
166
|
+
spinner.text = `Polling error ${consecutiveErrors}/${POLL_MAX_CONSECUTIVE_ERRORS} (will retry): ${err instanceof Error ? err.message : String(err)}`;
|
|
167
|
+
await sleep(POLL_INTERVAL_MS);
|
|
168
|
+
continue;
|
|
169
|
+
}
|
|
170
|
+
if (!res.publishJobStatus) {
|
|
171
|
+
spinner.fail(`Job ${jobId} not visible (workspace mismatch or job deleted).`);
|
|
172
|
+
throw new Error(`publishJobStatus returned null for job ${jobId} - check workspace context`);
|
|
173
|
+
}
|
|
174
|
+
last = res.publishJobStatus;
|
|
175
|
+
spinner.text = renderProgress(last);
|
|
176
|
+
if (last.status === PUBLISH_JOB_STATUS.COMPLETED ||
|
|
177
|
+
last.status === PUBLISH_JOB_STATUS.FAILED) {
|
|
178
|
+
if (last.status === PUBLISH_JOB_STATUS.COMPLETED) {
|
|
179
|
+
spinner.succeed(`Job completed: ${jobId}`);
|
|
180
|
+
}
|
|
181
|
+
else {
|
|
182
|
+
spinner.fail(`Job failed: ${jobId}`);
|
|
183
|
+
}
|
|
184
|
+
return last;
|
|
185
|
+
}
|
|
186
|
+
await sleep(POLL_INTERVAL_MS);
|
|
187
|
+
}
|
|
188
|
+
const lastStatus = last?.status ?? "unknown";
|
|
189
|
+
spinner.fail(`Polling timed out after ${Math.round(POLL_MAX_MS / 1000)}s (job ${jobId}, last status: ${lastStatus})`);
|
|
190
|
+
throw new Error(`publish job ${jobId} did not reach a terminal state within ${Math.round(POLL_MAX_MS / 1000)}s (last status: ${lastStatus}). Check the workspace publish jobs UI for progress.`);
|
|
191
|
+
}
|
|
192
|
+
finally {
|
|
193
|
+
if (spinner.isSpinning)
|
|
194
|
+
spinner.stop();
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
function renderProgress(job) {
|
|
198
|
+
const phases = [];
|
|
199
|
+
const t = job.timings;
|
|
200
|
+
if (t.spawnMs)
|
|
201
|
+
phases.push(`spawn ${t.spawnMs}ms`);
|
|
202
|
+
if (t.networkLockdownMs)
|
|
203
|
+
phases.push(`netlock ${t.networkLockdownMs}ms`);
|
|
204
|
+
if (t.pnpmInstallMs)
|
|
205
|
+
phases.push(`pnpm ${t.pnpmInstallMs}ms`);
|
|
206
|
+
if (t.snapshotMs)
|
|
207
|
+
phases.push(`snap ${t.snapshotMs}ms`);
|
|
208
|
+
const blockBits = job.blocks.map((b) => `${b.type}=${b.status}${b.bundleMs ? `(${b.bundleMs}ms)` : ""}`);
|
|
209
|
+
return [
|
|
210
|
+
`Status: ${job.status}`,
|
|
211
|
+
phases.length ? phases.join(", ") : null,
|
|
212
|
+
blockBits.join(", "),
|
|
213
|
+
]
|
|
214
|
+
.filter(Boolean)
|
|
215
|
+
.join(" | ");
|
|
216
|
+
}
|
|
217
|
+
function printJobReport(job) {
|
|
218
|
+
console.log("");
|
|
219
|
+
if (job.error) {
|
|
220
|
+
console.log(chalk.red(`✖ Fatal: ${job.error.code} (${job.error.stage}): ${job.error.message}`));
|
|
221
|
+
}
|
|
222
|
+
for (const b of job.blocks) {
|
|
223
|
+
const head = `${b.type}@${b.version}`;
|
|
224
|
+
if (b.status === BLOCK_BUILD_STATUS.PUBLISHED) {
|
|
225
|
+
const sizes = b.bundleSizes
|
|
226
|
+
? ` server=${b.bundleSizes.server}B client=${b.bundleSizes.client}B styles=${b.bundleSizes.styles}B`
|
|
227
|
+
: "";
|
|
228
|
+
console.log(chalk.green(` ✔ ${head} - published${sizes}`));
|
|
229
|
+
if (b.bundleUrls) {
|
|
230
|
+
console.log(chalk.gray(` server: ${b.bundleUrls.server}`));
|
|
231
|
+
console.log(chalk.gray(` client: ${b.bundleUrls.client}`));
|
|
232
|
+
console.log(chalk.gray(` styles: ${b.bundleUrls.styles}`));
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
else {
|
|
236
|
+
const reason = b.error
|
|
237
|
+
? `${b.error.code} (${b.error.stage}): ${b.error.message}`
|
|
238
|
+
: b.status;
|
|
239
|
+
console.log(chalk.red(` ✖ ${head} - ${reason}`));
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
const t = job.timings;
|
|
243
|
+
const anyTiming = t.spawnMs != null ||
|
|
244
|
+
t.networkLockdownMs != null ||
|
|
245
|
+
t.pnpmInstallMs != null ||
|
|
246
|
+
t.snapshotMs != null;
|
|
247
|
+
if (anyTiming) {
|
|
248
|
+
console.log(chalk.gray(`\nTimings: spawn=${t.spawnMs ?? 0}ms netlock=${t.networkLockdownMs ?? 0}ms pnpm=${t.pnpmInstallMs ?? 0}ms snap=${t.snapshotMs ?? 0}ms`));
|
|
249
|
+
}
|
|
250
|
+
console.log("");
|
|
251
|
+
}
|
|
252
|
+
function sleep(ms) {
|
|
253
|
+
return new Promise((res) => setTimeout(res, ms));
|
|
254
|
+
}
|
|
255
|
+
//# sourceMappingURL=publish-block-buildtime.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"publish-block-buildtime.js","sourceRoot":"","sources":["../../src/commands/publish-block-buildtime.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/publish.js
CHANGED
|
@@ -1014,17 +1014,7 @@ async function publishToWorkspace(pkg, workspaceId, apiToken, apiUrl, preserveCo
|
|
|
1014
1014
|
// Re-export from publish-helpers (single source of truth)
|
|
1015
1015
|
// DO NOT duplicate convertSchemaToFields here
|
|
1016
1016
|
import { convertSchemaToFields } from "../utils/publish-helpers.js";
|
|
1017
|
-
//
|
|
1018
|
-
|
|
1019
|
-
|
|
1020
|
-
Object.entries(schema).forEach(([key, field]) => {
|
|
1021
|
-
if (field.defaultValue !== undefined) {
|
|
1022
|
-
content[key] = field.defaultValue;
|
|
1023
|
-
}
|
|
1024
|
-
else if (field.type === "repeater") {
|
|
1025
|
-
content[key] = [];
|
|
1026
|
-
}
|
|
1027
|
-
});
|
|
1028
|
-
return content;
|
|
1029
|
-
}
|
|
1017
|
+
// Single source of truth shared with publish-block-buildtime so the
|
|
1018
|
+
// two publish paths can't drift on what "default content" means.
|
|
1019
|
+
import { extractDefaultContent } from "../utils/block-config.js";
|
|
1030
1020
|
//# sourceMappingURL=publish.js.map
|