@cmssy/cli 0.16.0 → 0.17.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 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":"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"}
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":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EACL,YAAY,EACZ,8BAA8B,GAC/B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,0BAA0B,EAC1B,cAAc,GAEf,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,kBAAkB,EAClB,2BAA2B,GAC5B,MAAM,+BAA+B,CAAC;AAgBvC,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,QAAkB,EAClB,OAA0B;IAE1B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC,CAAC;IAE3D,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC;QACjB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC,CAAC;QAChE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAC5B,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QACrB,OAAO,CAAC,KAAK,CACX,KAAK,CAAC,GAAG,CAAC,sDAAsD,CAAC,CAClE,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,CAAC,KAAK,CACX,KAAK,CAAC,GAAG,CAAC,4DAA4D,CAAC,CACxE,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7E,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,MAAM,CACV,8DAA8D,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACpF,CACF,CAAC;IACJ,CAAC;IACD,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9E,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;QAClD,OAAO,CAAC,KAAK,CACX,KAAK,CAAC,GAAG,CAAC,sDAAsD,CAAC,CAClE,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAC1B,MAAM,EAAE,GAAG,OAAO,CAAC,cAAc,IAAI,oBAAoB,CAAC,GAAG,CAAC,CAAC;IAE/D,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;QACzB,MAAM,IAAI,GAAG,YAAY,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;QACxC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;QACrD,MAAM,MAAM,GAAG,SAAS,CAAC,EAAE,EAAE,IAAI,EAAE;YACjC,GAAG;YACH,KAAK,EAAE,SAAS;YAChB,KAAK,EAAE,KAAK;SACb,CAAC,CAAC;QACH,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YACjB,OAAO,CAAC,KAAK,CACX,KAAK,CAAC,GAAG,CACP,KAAK,EAAE,uBAAuB,MAAM,CAAC,KAAK,CAAC,OAAO,0CAA0C,CAC7F,CACF,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAClB,OAAO,CAAC,KAAK,CACX,KAAK,CAAC,GAAG,CACP,KAAK,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,yBAAyB,MAAM,CAAC,MAAM,EAAE,CAClE,CACF,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,IAAI,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7D,OAAO,CAAC,KAAK,CACX,KAAK,CAAC,GAAG,CACP,KAAK,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,qBAAqB,MAAM,CAAC,MAAM,EAAE,CAC9D,CACF,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,IAAI,MAAM,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;YAC3B,OAAO,CAAC,KAAK,CACX,KAAK,CAAC,GAAG,CACP,KAAK,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,kDAAkD,CAC5E,CACF,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,mBAAmB,CAAC,CAAC,CAAC;IACvD,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,IAAI,CACR,uFAAuF,CACxF,CACF,CAAC;IACJ,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,0BAA0B,CAAC,GAAG,CAAC,CAAC;IACvD,MAAM,qBAAqB,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;AACzD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,OAAuB;IAC1D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC,CAAC;IAExD,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC;QACjB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC,CAAC;QAChE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAC5B,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QACrB,OAAO,CAAC,KAAK,CACX,KAAK,CAAC,GAAG,CAAC,sDAAsD,CAAC,CAClE,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAC1B,MAAM,QAAQ,GAAG,MAAM,0BAA0B,CAAC,GAAG,CAAC,CAAC;IACvD,MAAM,qBAAqB,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;AACzD,CAAC;AAED,KAAK,UAAU,qBAAqB,CAClC,QAAqB,EACrB,OAA2D,EAC3D,MAAqC;IAErC,MAAM,WAAW,GAAG,MAAM,kBAAkB,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IACxE,2BAA2B,CAAC,WAAW,CAAC,CAAC;IAEzC,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC;IAC5D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,SAAS,kBAAkB,CAAC,CAAC,CAAC;IACpE,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;QACjE,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,IAAI,IAAI,EAAE,CAAC,CAAC;IACnC,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,8BAA8B,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACxE,OAAO;IACT,CAAC;IAED,MAAM,MAAM,GAAG,YAAY,EAAE,CAAC;IAC9B,MAAM,CAAC,SAAS,CAAC,gBAAgB,EAAE,WAAW,CAAC,CAAC;IAChD,MAAM,OAAO,GAAG,GAAG,CAAC,iCAAiC,CAAC,CAAC,KAAK,EAAE,CAAC;IAC/D,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,OAAO,CAAC,8BAA8B,EAAE;YACnD,KAAK,EAAE,EAAE,YAAY,EAAE,QAAQ,CAAC,YAAY,EAAE;SAC/C,CAAC,CAAC;QACH,OAAO,CAAC,OAAO,CAAC,sCAAsC,WAAW,EAAE,CAAC,CAAC;IACvE,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,IAAI,CACV,+BAA+B,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAClF,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,GAAW;IAC9C,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC;QAAE,OAAO,MAAM,CAAC;IACnE,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;QAAE,OAAO,MAAM,CAAC;IAC9D,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IAC7D,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IAC5D,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,EAAkB,EAAE,QAAkB;IACjE,MAAM,IAAI,GAAG,EAAE,KAAK,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC;IAC9C,OAAO,CAAC,IAAI,EAAE,GAAG,QAAQ,CAAC,CAAC;AAC7B,CAAC;AAED,SAAS,YAAY,CAAC,IAAY;IAChC,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACzB,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACjC,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAChD,CAAC;IACD,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC9B,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AAChD,CAAC"}
@@ -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":"AAgCA,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,CAmKf"}
@@ -0,0 +1,235 @@
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 { resolveWorkspaceId, warnIfWorkspaceIdLooksWrong, } from "../utils/resolve-workspace.js";
9
+ import { BLOCK_BUILD_STATUS, PUBLISH_JOB_STATUS, } from "../types/publish-job.js";
10
+ const BLOCK_TYPE_REGEX = /^[a-z][a-z0-9-]*$/;
11
+ const BLOCK_VERSION_REGEX = /^\d/;
12
+ const POLL_INTERVAL_MS = 1500;
13
+ const POLL_MAX_MS = 10 * 60 * 1000;
14
+ const POLL_MAX_CONSECUTIVE_ERRORS = 5;
15
+ export async function publishBlockBuildtimeCommand(blockName, options) {
16
+ console.log(chalk.blue.bold("\n📦 Cmssy - Publish (build pipeline)\n"));
17
+ if (!hasConfig()) {
18
+ console.error(chalk.red("✖ Not configured. Run: cmssy link\n"));
19
+ process.exit(1);
20
+ }
21
+ const config = loadConfig();
22
+ if (!config.apiToken) {
23
+ console.error(chalk.red("✖ CMSSY_API_TOKEN missing in .env. Run: cmssy link\n"));
24
+ process.exit(1);
25
+ }
26
+ if (!BLOCK_TYPE_REGEX.test(blockName)) {
27
+ console.error(chalk.red(`✖ Block name "${blockName}" must match /^[a-z][a-z0-9-]*$/ for the build pipeline (rejects path separators, traversal, uppercase)`));
28
+ process.exit(1);
29
+ }
30
+ const workspaceId = await resolveWorkspaceId(options.workspace, config);
31
+ warnIfWorkspaceIdLooksWrong(workspaceId);
32
+ const cwd = process.cwd();
33
+ const blocksRoot = path.resolve(cwd, "blocks");
34
+ const blockDir = path.resolve(blocksRoot, blockName);
35
+ if (blockDir !== blocksRoot && !blockDir.startsWith(blocksRoot + path.sep)) {
36
+ console.error(chalk.red(`✖ Block path "${blockDir}" escapes blocks/ root (refusing to read).`));
37
+ process.exit(1);
38
+ }
39
+ if (!(await fs.pathExists(blockDir))) {
40
+ console.error(chalk.red(`✖ Block "${blockName}" not found at ${blockDir}`));
41
+ process.exit(1);
42
+ }
43
+ const pkgPath = path.join(blockDir, "package.json");
44
+ if (!(await fs.pathExists(pkgPath))) {
45
+ console.error(chalk.red(`✖ ${pkgPath} not found - block must declare name+version`));
46
+ process.exit(1);
47
+ }
48
+ const pkg = (await fs.readJson(pkgPath));
49
+ if (typeof pkg.version !== "string") {
50
+ console.error(chalk.red(`✖ "version" field missing or not a string in ${pkgPath}`));
51
+ process.exit(1);
52
+ }
53
+ if (typeof pkg.name === "string" && pkg.name !== blockName) {
54
+ console.log(chalk.yellow(`⚠ package.json name "${pkg.name}" differs from directory "${blockName}"; using directory name as block type.`));
55
+ }
56
+ const blockType = blockName;
57
+ const blockVersion = pkg.version;
58
+ if (!BLOCK_VERSION_REGEX.test(blockVersion)) {
59
+ console.error(chalk.red(`✖ Block version "${blockVersion}" must start with a digit (loose semver)`));
60
+ process.exit(1);
61
+ }
62
+ const spinnerCollect = ora(`Collecting source files from blocks/${blockName}/`).start();
63
+ let collected;
64
+ try {
65
+ collected = await collectBlockSources({
66
+ blockDir,
67
+ entryRel: options.entry,
68
+ });
69
+ spinnerCollect.succeed(`Collected ${collected.files.length} source file(s) (entry: ${collected.entryPath})`);
70
+ }
71
+ catch (err) {
72
+ spinnerCollect.fail(err instanceof Error ? err.message : String(err));
73
+ process.exit(1);
74
+ }
75
+ if (options.dryRun) {
76
+ console.log(chalk.cyan(`\nDry run - would publish ${blockType}@${blockVersion} (${collected.files.length} file(s)):`));
77
+ for (const f of collected.files) {
78
+ console.log(` ${f.relPath}`);
79
+ }
80
+ console.log(chalk.gray(`\nTarget API: ${config.apiUrl}`));
81
+ console.log(chalk.gray(`Target workspace: ${workspaceId}\n`));
82
+ return;
83
+ }
84
+ const client = createClient();
85
+ client.setHeader("x-workspace-id", workspaceId);
86
+ const spinnerEnqueue = ora(`Enqueueing publish for ${blockType}@${blockVersion}`).start();
87
+ let job;
88
+ try {
89
+ const data = await client.request(PUBLISH_BLOCK_MUTATION, {
90
+ input: {
91
+ blockType,
92
+ blockVersion,
93
+ entryPath: collected.entryPath,
94
+ files: collected.files.map((f) => ({
95
+ path: f.relPath,
96
+ contentBase64: f.contentBase64,
97
+ })),
98
+ },
99
+ });
100
+ job = data.publishBlock;
101
+ spinnerEnqueue.succeed(`Job queued: ${job.id}`);
102
+ }
103
+ catch (err) {
104
+ spinnerEnqueue.fail(err instanceof Error ? err.message : String(err));
105
+ process.exit(1);
106
+ }
107
+ let finalJob;
108
+ try {
109
+ finalJob = await pollJobUntilTerminal(client, job.id);
110
+ }
111
+ catch (err) {
112
+ console.error(chalk.red(`✖ ${err instanceof Error ? err.message : String(err)}`));
113
+ process.exit(1);
114
+ }
115
+ try {
116
+ const full = await client.request(PUBLISH_JOB_FULL_QUERY, { jobId: job.id });
117
+ if (full.publishJobStatus)
118
+ finalJob = full.publishJobStatus;
119
+ }
120
+ catch {
121
+ void 0;
122
+ }
123
+ printJobReport(finalJob);
124
+ if (finalJob.status !== PUBLISH_JOB_STATUS.COMPLETED) {
125
+ process.exit(1);
126
+ }
127
+ }
128
+ async function pollJobUntilTerminal(client, jobId) {
129
+ const spinner = ora("Building...").start();
130
+ const start = Date.now();
131
+ let last = null;
132
+ let consecutiveErrors = 0;
133
+ try {
134
+ while (Date.now() - start < POLL_MAX_MS) {
135
+ let res = null;
136
+ try {
137
+ res = await client.request(PUBLISH_JOB_STATUS_QUERY, { jobId });
138
+ consecutiveErrors = 0;
139
+ }
140
+ catch (err) {
141
+ consecutiveErrors += 1;
142
+ if (consecutiveErrors >= POLL_MAX_CONSECUTIVE_ERRORS) {
143
+ spinner.fail(`Polling failed ${consecutiveErrors} times in a row; giving up.`);
144
+ throw err;
145
+ }
146
+ spinner.text = `Polling error ${consecutiveErrors}/${POLL_MAX_CONSECUTIVE_ERRORS} (will retry): ${err instanceof Error ? err.message : String(err)}`;
147
+ await sleep(POLL_INTERVAL_MS);
148
+ continue;
149
+ }
150
+ if (!res.publishJobStatus) {
151
+ spinner.fail(`Job ${jobId} not visible (workspace mismatch or job deleted).`);
152
+ throw new Error(`publishJobStatus returned null for job ${jobId} - check workspace context`);
153
+ }
154
+ last = res.publishJobStatus;
155
+ spinner.text = renderProgress(last);
156
+ if (last.status === PUBLISH_JOB_STATUS.COMPLETED ||
157
+ last.status === PUBLISH_JOB_STATUS.FAILED) {
158
+ if (last.status === PUBLISH_JOB_STATUS.COMPLETED) {
159
+ spinner.succeed(`Job completed: ${jobId}`);
160
+ }
161
+ else {
162
+ spinner.fail(`Job failed: ${jobId}`);
163
+ }
164
+ return last;
165
+ }
166
+ await sleep(POLL_INTERVAL_MS);
167
+ }
168
+ const lastStatus = last?.status ?? "unknown";
169
+ spinner.fail(`Polling timed out after ${Math.round(POLL_MAX_MS / 1000)}s (job ${jobId}, last status: ${lastStatus})`);
170
+ 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.`);
171
+ }
172
+ finally {
173
+ if (spinner.isSpinning)
174
+ spinner.stop();
175
+ }
176
+ }
177
+ function renderProgress(job) {
178
+ const phases = [];
179
+ const t = job.timings;
180
+ if (t.spawnMs)
181
+ phases.push(`spawn ${t.spawnMs}ms`);
182
+ if (t.networkLockdownMs)
183
+ phases.push(`netlock ${t.networkLockdownMs}ms`);
184
+ if (t.pnpmInstallMs)
185
+ phases.push(`pnpm ${t.pnpmInstallMs}ms`);
186
+ if (t.snapshotMs)
187
+ phases.push(`snap ${t.snapshotMs}ms`);
188
+ const blockBits = job.blocks.map((b) => `${b.type}=${b.status}${b.bundleMs ? `(${b.bundleMs}ms)` : ""}`);
189
+ return [
190
+ `Status: ${job.status}`,
191
+ phases.length ? phases.join(", ") : null,
192
+ blockBits.join(", "),
193
+ ]
194
+ .filter(Boolean)
195
+ .join(" | ");
196
+ }
197
+ function printJobReport(job) {
198
+ console.log("");
199
+ if (job.error) {
200
+ console.log(chalk.red(`✖ Fatal: ${job.error.code} (${job.error.stage}): ${job.error.message}`));
201
+ }
202
+ for (const b of job.blocks) {
203
+ const head = `${b.type}@${b.version}`;
204
+ if (b.status === BLOCK_BUILD_STATUS.PUBLISHED) {
205
+ const sizes = b.bundleSizes
206
+ ? ` server=${b.bundleSizes.server}B client=${b.bundleSizes.client}B styles=${b.bundleSizes.styles}B`
207
+ : "";
208
+ console.log(chalk.green(` ✔ ${head} - published${sizes}`));
209
+ if (b.bundleUrls) {
210
+ console.log(chalk.gray(` server: ${b.bundleUrls.server}`));
211
+ console.log(chalk.gray(` client: ${b.bundleUrls.client}`));
212
+ console.log(chalk.gray(` styles: ${b.bundleUrls.styles}`));
213
+ }
214
+ }
215
+ else {
216
+ const reason = b.error
217
+ ? `${b.error.code} (${b.error.stage}): ${b.error.message}`
218
+ : b.status;
219
+ console.log(chalk.red(` ✖ ${head} - ${reason}`));
220
+ }
221
+ }
222
+ const t = job.timings;
223
+ const anyTiming = t.spawnMs != null ||
224
+ t.networkLockdownMs != null ||
225
+ t.pnpmInstallMs != null ||
226
+ t.snapshotMs != null;
227
+ if (anyTiming) {
228
+ 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`));
229
+ }
230
+ console.log("");
231
+ }
232
+ function sleep(ms) {
233
+ return new Promise((res) => setTimeout(res, ms));
234
+ }
235
+ //# 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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"}
@@ -0,0 +1,61 @@
1
+ export declare const PUBLISH_JOB_STATUS: {
2
+ readonly QUEUED: "queued";
3
+ readonly BUILDING: "building";
4
+ readonly COMPLETED: "completed";
5
+ readonly FAILED: "failed";
6
+ };
7
+ export type PublishJobStatus = (typeof PUBLISH_JOB_STATUS)[keyof typeof PUBLISH_JOB_STATUS];
8
+ export declare const BLOCK_BUILD_STATUS: {
9
+ readonly PENDING: "pending";
10
+ readonly BUILDING: "building";
11
+ readonly PUBLISHED: "published";
12
+ readonly FAILED: "failed";
13
+ };
14
+ export type BlockBuildStatus = (typeof BLOCK_BUILD_STATUS)[keyof typeof BLOCK_BUILD_STATUS];
15
+ export interface PublishJobBlockResult {
16
+ type: string;
17
+ version: string;
18
+ status: BlockBuildStatus | string;
19
+ sourceUrl?: string | null;
20
+ bundleUrls?: {
21
+ server: string;
22
+ client: string;
23
+ styles: string;
24
+ } | null;
25
+ bundleSizes?: {
26
+ server: number;
27
+ client: number;
28
+ styles: number;
29
+ } | null;
30
+ bundleMs?: number | null;
31
+ ssrTestMs?: number | null;
32
+ error?: {
33
+ code: string;
34
+ stage: string;
35
+ message: string;
36
+ } | null;
37
+ }
38
+ export interface PublishJobTimings {
39
+ queuedAt: string;
40
+ buildStartedAt?: string | null;
41
+ buildCompletedAt?: string | null;
42
+ spawnMs?: number | null;
43
+ pnpmInstallMs?: number | null;
44
+ networkLockdownMs?: number | null;
45
+ snapshotMs?: number | null;
46
+ }
47
+ export interface PublishJob {
48
+ id: string;
49
+ workspaceId: string;
50
+ status: PublishJobStatus | string;
51
+ libManifestHash?: string | null;
52
+ snapshotId?: string | null;
53
+ blocks: PublishJobBlockResult[];
54
+ timings: PublishJobTimings;
55
+ error?: {
56
+ code: string;
57
+ stage: string;
58
+ message: string;
59
+ } | null;
60
+ }
61
+ //# sourceMappingURL=publish-job.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"publish-job.d.ts","sourceRoot":"","sources":["../../src/types/publish-job.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kBAAkB;;;;;CAKrB,CAAC;AAEX,MAAM,MAAM,gBAAgB,GAC1B,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,OAAO,kBAAkB,CAAC,CAAC;AAE/D,eAAO,MAAM,kBAAkB;;;;;CAKrB,CAAC;AAEX,MAAM,MAAM,gBAAgB,GAC1B,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,OAAO,kBAAkB,CAAC,CAAC;AAE/D,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,gBAAgB,GAAG,MAAM,CAAC;IAClC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,UAAU,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IACvE,WAAW,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IACxE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,KAAK,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;CACjE;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,gBAAgB,GAAG,MAAM,CAAC;IAClC,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,MAAM,EAAE,qBAAqB,EAAE,CAAC;IAChC,OAAO,EAAE,iBAAiB,CAAC;IAC3B,KAAK,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;CACjE"}
@@ -0,0 +1,13 @@
1
+ export const PUBLISH_JOB_STATUS = {
2
+ QUEUED: "queued",
3
+ BUILDING: "building",
4
+ COMPLETED: "completed",
5
+ FAILED: "failed",
6
+ };
7
+ export const BLOCK_BUILD_STATUS = {
8
+ PENDING: "pending",
9
+ BUILDING: "building",
10
+ PUBLISHED: "published",
11
+ FAILED: "failed",
12
+ };
13
+ //# sourceMappingURL=publish-job.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"publish-job.js","sourceRoot":"","sources":["../../src/types/publish-job.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,MAAM,EAAE,QAAQ;IAChB,QAAQ,EAAE,UAAU;IACpB,SAAS,EAAE,WAAW;IACtB,MAAM,EAAE,QAAQ;CACR,CAAC;AAKX,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,OAAO,EAAE,SAAS;IAClB,QAAQ,EAAE,UAAU;IACpB,SAAS,EAAE,WAAW;IACtB,MAAM,EAAE,QAAQ;CACR,CAAC"}
@@ -5,4 +5,8 @@ export declare const IMPORT_TEMPLATE_MUTATION = "\n mutation ImportTemplate($in
5
5
  export declare const UPDATE_THEME_MUTATION = "\n mutation UpdateTheme($input: ThemeConfigInput!) {\n updateTheme(input: $input) {\n id\n theme {\n fonts {\n heading { family source weights customFontUrl }\n body { family source weights customFontUrl }\n }\n colors {\n primary primaryForeground secondary secondaryForeground\n accent accentForeground background foreground\n muted mutedForeground card cardForeground\n border input ring destructive\n }\n typography { h1 h2 h3 h4 h5 h6 body small }\n spacing\n borderRadius\n customCSS\n }\n }\n }\n";
6
6
  export declare const GET_SITE_CONFIG_THEME_QUERY = "\n query GetSiteConfigTheme {\n siteConfig {\n theme {\n fonts {\n heading { family source weights customFontUrl }\n body { family source weights customFontUrl }\n }\n colors {\n primary primaryForeground secondary secondaryForeground\n accent accentForeground background foreground\n muted mutedForeground card cardForeground\n border input ring destructive\n }\n typography { h1 h2 h3 h4 h5 h6 body small }\n spacing\n borderRadius\n customCSS\n }\n }\n }\n";
7
7
  export declare const GET_WORKSPACE_BLOCKS_QUERY: string;
8
+ export declare const PUBLISH_BLOCK_MUTATION = "\n mutation PublishBlock($input: PublishBlockInput!) {\n publishBlock(input: $input) {\n \n id\n workspaceId\n status\n libManifestHash\n snapshotId\n blocks {\n type\n version\n sourceUrl\n status\n bundleUrls { server client styles }\n bundleSizes { server client styles }\n bundleMs\n ssrTestMs\n error { code stage message }\n }\n timings {\n queuedAt\n buildStartedAt\n buildCompletedAt\n spawnMs\n pnpmInstallMs\n networkLockdownMs\n snapshotMs\n }\n error { code stage message }\n\n }\n }\n";
9
+ export declare const PUBLISH_JOB_STATUS_QUERY = "\n query PublishJobStatus($jobId: ID!) {\n publishJobStatus(jobId: $jobId) {\n \n id\n workspaceId\n status\n blocks {\n type\n version\n status\n bundleMs\n error { code stage message }\n }\n timings {\n queuedAt\n buildStartedAt\n buildCompletedAt\n spawnMs\n pnpmInstallMs\n networkLockdownMs\n snapshotMs\n }\n error { code stage message }\n\n }\n }\n";
10
+ export declare const PUBLISH_JOB_FULL_QUERY = "\n query PublishJobFull($jobId: ID!) {\n publishJobStatus(jobId: $jobId) {\n \n id\n workspaceId\n status\n libManifestHash\n snapshotId\n blocks {\n type\n version\n sourceUrl\n status\n bundleUrls { server client styles }\n bundleSizes { server client styles }\n bundleMs\n ssrTestMs\n error { code stage message }\n }\n timings {\n queuedAt\n buildStartedAt\n buildCompletedAt\n spawnMs\n pnpmInstallMs\n networkLockdownMs\n snapshotMs\n }\n error { code stage message }\n\n }\n }\n";
11
+ export declare const UPDATE_WORKSPACE_LIBS_MUTATION = "\n mutation UpdateWorkspaceLibs($input: UpdateWorkspaceLibsInput!) {\n updateWorkspaceLibs(input: $input) {\n dependencies\n }\n }\n";
8
12
  //# sourceMappingURL=graphql.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"graphql.d.ts","sourceRoot":"","sources":["../../src/utils/graphql.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAIhD,wBAAgB,YAAY,IAAI,aAAa,CAa5C;AAKD,eAAO,MAAM,qBAAqB,QA4BjC,CAAC;AAEF,eAAO,MAAM,wBAAwB,+QAepC,CAAC;AAMF,eAAO,MAAM,qBAAqB,ioBAsBjC,CAAC;AAEF,eAAO,MAAM,2BAA2B,glBAqBvC,CAAC;AAEF,eAAO,MAAM,0BAA0B,QAYtC,CAAC"}
1
+ {"version":3,"file":"graphql.d.ts","sourceRoot":"","sources":["../../src/utils/graphql.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAIhD,wBAAgB,YAAY,IAAI,aAAa,CAa5C;AAKD,eAAO,MAAM,qBAAqB,QA4BjC,CAAC;AAEF,eAAO,MAAM,wBAAwB,+QAepC,CAAC;AAMF,eAAO,MAAM,qBAAqB,ioBAsBjC,CAAC;AAEF,eAAO,MAAM,2BAA2B,glBAqBvC,CAAC;AAEF,eAAO,MAAM,0BAA0B,QAYtC,CAAC;AAsDF,eAAO,MAAM,sBAAsB,6jBAMlC,CAAC;AAEF,eAAO,MAAM,wBAAwB,iaAMpC,CAAC;AAEF,eAAO,MAAM,sBAAsB,ijBAMlC,CAAC;AAEF,eAAO,MAAM,8BAA8B,sJAM1C,CAAC"}
@@ -121,4 +121,82 @@ export const GET_WORKSPACE_BLOCKS_QUERY = `
121
121
  }
122
122
  }
123
123
  `;
124
+ const PUBLISH_JOB_POLL_FIELDS = `
125
+ id
126
+ workspaceId
127
+ status
128
+ blocks {
129
+ type
130
+ version
131
+ status
132
+ bundleMs
133
+ error { code stage message }
134
+ }
135
+ timings {
136
+ queuedAt
137
+ buildStartedAt
138
+ buildCompletedAt
139
+ spawnMs
140
+ pnpmInstallMs
141
+ networkLockdownMs
142
+ snapshotMs
143
+ }
144
+ error { code stage message }
145
+ `;
146
+ const PUBLISH_JOB_FULL_FIELDS = `
147
+ id
148
+ workspaceId
149
+ status
150
+ libManifestHash
151
+ snapshotId
152
+ blocks {
153
+ type
154
+ version
155
+ sourceUrl
156
+ status
157
+ bundleUrls { server client styles }
158
+ bundleSizes { server client styles }
159
+ bundleMs
160
+ ssrTestMs
161
+ error { code stage message }
162
+ }
163
+ timings {
164
+ queuedAt
165
+ buildStartedAt
166
+ buildCompletedAt
167
+ spawnMs
168
+ pnpmInstallMs
169
+ networkLockdownMs
170
+ snapshotMs
171
+ }
172
+ error { code stage message }
173
+ `;
174
+ export const PUBLISH_BLOCK_MUTATION = `
175
+ mutation PublishBlock($input: PublishBlockInput!) {
176
+ publishBlock(input: $input) {
177
+ ${PUBLISH_JOB_FULL_FIELDS}
178
+ }
179
+ }
180
+ `;
181
+ export const PUBLISH_JOB_STATUS_QUERY = `
182
+ query PublishJobStatus($jobId: ID!) {
183
+ publishJobStatus(jobId: $jobId) {
184
+ ${PUBLISH_JOB_POLL_FIELDS}
185
+ }
186
+ }
187
+ `;
188
+ export const PUBLISH_JOB_FULL_QUERY = `
189
+ query PublishJobFull($jobId: ID!) {
190
+ publishJobStatus(jobId: $jobId) {
191
+ ${PUBLISH_JOB_FULL_FIELDS}
192
+ }
193
+ }
194
+ `;
195
+ export const UPDATE_WORKSPACE_LIBS_MUTATION = `
196
+ mutation UpdateWorkspaceLibs($input: UpdateWorkspaceLibsInput!) {
197
+ updateWorkspaceLibs(input: $input) {
198
+ dependencies
199
+ }
200
+ }
201
+ `;
124
202
  //# sourceMappingURL=graphql.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"graphql.js","sourceRoot":"","sources":["../../src/utils/graphql.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,MAAM,UAAU,YAAY;IAC1B,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAE5B,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;IACrE,CAAC;IAED,OAAO,IAAI,aAAa,CAAC,MAAM,CAAC,MAAM,EAAE;QACtC,OAAO,EAAE;YACP,cAAc,EAAE,kBAAkB;YAClC,aAAa,EAAE,UAAU,MAAM,CAAC,QAAQ,EAAE;SAC3C;KACF,CAAC,CAAC;AACL,CAAC;AAED,MAAM,sBAAsB,GAAG,0BAA0B,EAAE,CAAC;AAE5D,oBAAoB;AACpB,MAAM,CAAC,MAAM,qBAAqB,GAAG;;;;;;;;;;;UAW3B,sBAAsB;;;;;;;;;;;;;;;;;CAiB/B,CAAC;AAEF,MAAM,CAAC,MAAM,wBAAwB,GAAG;;;;;;;;;;;;;;;CAevC,CAAC;AAEF,8DAA8D;AAC9D,+EAA+E;AAC/E,8EAA8E;AAE9E,MAAM,CAAC,MAAM,qBAAqB,GAAG;;;;;;;;;;;;;;;;;;;;;;CAsBpC,CAAC;AAEF,MAAM,CAAC,MAAM,2BAA2B,GAAG;;;;;;;;;;;;;;;;;;;;;CAqB1C,CAAC;AAEF,MAAM,CAAC,MAAM,0BAA0B,GAAG;;;;;;;;UAQhC,sBAAsB;;;;CAI/B,CAAC"}
1
+ {"version":3,"file":"graphql.js","sourceRoot":"","sources":["../../src/utils/graphql.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,MAAM,UAAU,YAAY;IAC1B,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAE5B,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;IACrE,CAAC;IAED,OAAO,IAAI,aAAa,CAAC,MAAM,CAAC,MAAM,EAAE;QACtC,OAAO,EAAE;YACP,cAAc,EAAE,kBAAkB;YAClC,aAAa,EAAE,UAAU,MAAM,CAAC,QAAQ,EAAE;SAC3C;KACF,CAAC,CAAC;AACL,CAAC;AAED,MAAM,sBAAsB,GAAG,0BAA0B,EAAE,CAAC;AAE5D,oBAAoB;AACpB,MAAM,CAAC,MAAM,qBAAqB,GAAG;;;;;;;;;;;UAW3B,sBAAsB;;;;;;;;;;;;;;;;;CAiB/B,CAAC;AAEF,MAAM,CAAC,MAAM,wBAAwB,GAAG;;;;;;;;;;;;;;;CAevC,CAAC;AAEF,8DAA8D;AAC9D,+EAA+E;AAC/E,8EAA8E;AAE9E,MAAM,CAAC,MAAM,qBAAqB,GAAG;;;;;;;;;;;;;;;;;;;;;;CAsBpC,CAAC;AAEF,MAAM,CAAC,MAAM,2BAA2B,GAAG;;;;;;;;;;;;;;;;;;;;;CAqB1C,CAAC;AAEF,MAAM,CAAC,MAAM,0BAA0B,GAAG;;;;;;;;UAQhC,sBAAsB;;;;CAI/B,CAAC;AAEF,MAAM,uBAAuB,GAAG;;;;;;;;;;;;;;;;;;;;;CAqB/B,CAAC;AAEF,MAAM,uBAAuB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2B/B,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAG;;;QAG9B,uBAAuB;;;CAG9B,CAAC;AAEF,MAAM,CAAC,MAAM,wBAAwB,GAAG;;;QAGhC,uBAAuB;;;CAG9B,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAG;;;QAG9B,uBAAuB;;;CAG9B,CAAC;AAEF,MAAM,CAAC,MAAM,8BAA8B,GAAG;;;;;;CAM7C,CAAC"}
@@ -0,0 +1,7 @@
1
+ export declare const RESERVED_PEERS: Set<string>;
2
+ export interface LibManifest {
3
+ dependencies: Record<string, string>;
4
+ }
5
+ export declare function buildLibManifest(deps: Record<string, string>): LibManifest;
6
+ export declare function loadLibManifestFromProject(cwd?: string): Promise<LibManifest>;
7
+ //# sourceMappingURL=lib-manifest.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lib-manifest.d.ts","sourceRoot":"","sources":["../../src/utils/lib-manifest.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,cAAc,aAA6C,CAAC;AAEzE,MAAM,WAAW,WAAW;IAC1B,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACtC;AAeD,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,WAAW,CA+C1E;AAED,wBAAsB,0BAA0B,CAC9C,GAAG,GAAE,MAAsB,GAC1B,OAAO,CAAC,WAAW,CAAC,CAGtB"}
@@ -0,0 +1,59 @@
1
+ import fs from "fs-extra";
2
+ import path from "path";
3
+ const NPM_PACKAGE_NAME_REGEX = /^(@[a-z0-9][a-z0-9_.-]*\/)?[a-z0-9][a-z0-9_.-]*$/;
4
+ const VALID_VERSION_SPEC = /^[a-zA-Z0-9.\-+_^~<>=*| ]+$/;
5
+ export const RESERVED_PEERS = new Set(["react", "react-dom", "esbuild"]);
6
+ async function readPackageJsonDeps(cwd = process.cwd()) {
7
+ const pkgPath = path.join(cwd, "package.json");
8
+ if (!(await fs.pathExists(pkgPath))) {
9
+ throw new Error(`package.json not found at ${pkgPath}`);
10
+ }
11
+ const pkg = (await fs.readJson(pkgPath));
12
+ return pkg.dependencies ?? {};
13
+ }
14
+ export function buildLibManifest(deps) {
15
+ const out = {};
16
+ const errors = [];
17
+ for (const [name, spec] of Object.entries(deps)) {
18
+ if (RESERVED_PEERS.has(name))
19
+ continue;
20
+ if (!NPM_PACKAGE_NAME_REGEX.test(name)) {
21
+ errors.push(`invalid npm package name: "${name}"`);
22
+ continue;
23
+ }
24
+ if (typeof spec !== "string" || spec.trim().length === 0) {
25
+ errors.push(`empty version spec for "${name}"`);
26
+ continue;
27
+ }
28
+ const normalizedSpec = spec.trim();
29
+ if (normalizedSpec.length > 100) {
30
+ errors.push(`version spec too long for "${name}" (max 100 chars)`);
31
+ continue;
32
+ }
33
+ const lowerSpec = normalizedSpec.toLowerCase();
34
+ if (lowerSpec.startsWith("npm:") ||
35
+ lowerSpec.startsWith("git") ||
36
+ lowerSpec.startsWith("file:") ||
37
+ lowerSpec.startsWith("workspace:") ||
38
+ lowerSpec.startsWith("link:") ||
39
+ lowerSpec.startsWith("http:") ||
40
+ lowerSpec.startsWith("https:")) {
41
+ errors.push(`unsupported version source for "${name}": "${spec}" (aliases, git, file:, workspace:, link:, http(s) all rejected)`);
42
+ continue;
43
+ }
44
+ if (!VALID_VERSION_SPEC.test(normalizedSpec)) {
45
+ errors.push(`version spec for "${name}" contains illegal characters: "${spec}"`);
46
+ continue;
47
+ }
48
+ out[name] = normalizedSpec;
49
+ }
50
+ if (errors.length > 0) {
51
+ throw new Error(`lib manifest validation failed:\n - ${errors.join("\n - ")}`);
52
+ }
53
+ return { dependencies: out };
54
+ }
55
+ export async function loadLibManifestFromProject(cwd = process.cwd()) {
56
+ const deps = await readPackageJsonDeps(cwd);
57
+ return buildLibManifest(deps);
58
+ }
59
+ //# sourceMappingURL=lib-manifest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lib-manifest.js","sourceRoot":"","sources":["../../src/utils/lib-manifest.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ export interface WorkspaceResolveSource {
2
+ workspaceId?: string | null;
3
+ }
4
+ export declare function resolveWorkspaceId(optsValue: string | boolean | undefined, config: WorkspaceResolveSource): Promise<string>;
5
+ export declare function warnIfWorkspaceIdLooksWrong(workspaceId: string): void;
6
+ //# sourceMappingURL=resolve-workspace.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolve-workspace.d.ts","sourceRoot":"","sources":["../../src/utils/resolve-workspace.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,sBAAsB;IACrC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAED,wBAAsB,kBAAkB,CACtC,SAAS,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,EACvC,MAAM,EAAE,sBAAsB,GAC7B,OAAO,CAAC,MAAM,CAAC,CAsBjB;AAED,wBAAgB,2BAA2B,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAQrE"}
@@ -0,0 +1,32 @@
1
+ import chalk from "chalk";
2
+ import inquirer from "inquirer";
3
+ const OBJECT_ID_REGEX = /^[a-f0-9]{24}$/;
4
+ export async function resolveWorkspaceId(optsValue, config) {
5
+ if (typeof optsValue === "string") {
6
+ const trimmed = optsValue.trim();
7
+ if (trimmed.length > 0)
8
+ return trimmed;
9
+ }
10
+ const fromEnv = config.workspaceId?.trim();
11
+ if (fromEnv) {
12
+ console.log(chalk.gray(`Using workspace ID from .env: ${fromEnv}`));
13
+ return fromEnv;
14
+ }
15
+ const answer = await inquirer.prompt([
16
+ {
17
+ type: "input",
18
+ name: "workspaceId",
19
+ message: "Enter Workspace ID:",
20
+ validate: (v) => v.trim().length > 0
21
+ ? true
22
+ : "Workspace ID is required (or set CMSSY_WORKSPACE_ID)",
23
+ },
24
+ ]);
25
+ return answer.workspaceId.trim();
26
+ }
27
+ export function warnIfWorkspaceIdLooksWrong(workspaceId) {
28
+ if (!OBJECT_ID_REGEX.test(workspaceId)) {
29
+ console.log(chalk.yellow(`⚠ workspace id "${workspaceId}" does not look like a 24-char hex ObjectId; backend will reject it.`));
30
+ }
31
+ }
32
+ //# sourceMappingURL=resolve-workspace.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolve-workspace.js","sourceRoot":"","sources":["../../src/utils/resolve-workspace.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,QAAQ,MAAM,UAAU,CAAC;AAEhC,MAAM,eAAe,GAAG,gBAAgB,CAAC;AAMzC,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,SAAuC,EACvC,MAA8B;IAE9B,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;QAClC,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC;QACjC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,OAAO,CAAC;IACzC,CAAC;IACD,MAAM,OAAO,GAAG,MAAM,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC;IAC3C,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,iCAAiC,OAAO,EAAE,CAAC,CAAC,CAAC;QACpE,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,MAAM,CAA0B;QAC5D;YACE,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,aAAa;YACnB,OAAO,EAAE,qBAAqB;YAC9B,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CACd,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC;gBACjB,CAAC,CAAC,IAAI;gBACN,CAAC,CAAC,sDAAsD;SAC7D;KACF,CAAC,CAAC;IACH,OAAO,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;AACnC,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,WAAmB;IAC7D,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QACvC,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,MAAM,CACV,mBAAmB,WAAW,sEAAsE,CACrG,CACF,CAAC;IACJ,CAAC;AACH,CAAC"}
@@ -0,0 +1,19 @@
1
+ export interface CollectedFile {
2
+ relPath: string;
3
+ contentBase64: string;
4
+ }
5
+ export interface CollectResult {
6
+ files: CollectedFile[];
7
+ entryPath: string;
8
+ }
9
+ export declare const MAX_FILES = 200;
10
+ export declare const MAX_TOTAL_BYTES: number;
11
+ export interface CollectOptions {
12
+ blockDir: string;
13
+ entryRel?: string;
14
+ includeExt?: Set<string>;
15
+ ignoreDirs?: Set<string>;
16
+ }
17
+ export declare function collectBlockSources(options: CollectOptions): Promise<CollectResult>;
18
+ export declare function normalizeEntryPath(input: string): string;
19
+ //# sourceMappingURL=source-collector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"source-collector.d.ts","sourceRoot":"","sources":["../../src/utils/source-collector.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;CACnB;AAwCD,eAAO,MAAM,SAAS,MAAM,CAAC;AAC7B,eAAO,MAAM,eAAe,QAAmB,CAAC;AAEhD,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACzB,UAAU,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CAC1B;AAED,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,aAAa,CAAC,CAsFxB;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAsBxD"}
@@ -0,0 +1,135 @@
1
+ import fs from "fs-extra";
2
+ import path from "path";
3
+ const SEGMENT_REGEX = /^[a-zA-Z0-9_.-][a-zA-Z0-9._-]*$/;
4
+ const DEFAULT_INCLUDE_EXT = new Set([
5
+ ".ts",
6
+ ".tsx",
7
+ ".js",
8
+ ".jsx",
9
+ ".mjs",
10
+ ".cjs",
11
+ ".css",
12
+ ".json",
13
+ ".md",
14
+ ".svg",
15
+ ]);
16
+ const DEFAULT_IGNORE_DIRS = new Set([
17
+ "node_modules",
18
+ "dist",
19
+ "build",
20
+ ".next",
21
+ ".turbo",
22
+ "coverage",
23
+ ".git",
24
+ ".cache",
25
+ ".vercel",
26
+ "__snapshots__",
27
+ "__tests__",
28
+ ]);
29
+ const DEFAULT_IGNORE_FILES = new Set([
30
+ ".DS_Store",
31
+ "Thumbs.db",
32
+ "tsconfig.tsbuildinfo",
33
+ ]);
34
+ const TEST_FILE_REGEX = /\.(test|spec|stories|story)\.(ts|tsx|js|jsx|mjs|cjs)$/i;
35
+ export const MAX_FILES = 200;
36
+ export const MAX_TOTAL_BYTES = 10 * 1024 * 1024;
37
+ export async function collectBlockSources(options) {
38
+ const { blockDir } = options;
39
+ const includeExt = options.includeExt ?? DEFAULT_INCLUDE_EXT;
40
+ const ignoreDirs = options.ignoreDirs ?? DEFAULT_IGNORE_DIRS;
41
+ const entryRel = normalizeEntryPath(options.entryRel ?? "src/index.tsx");
42
+ if (!(await fs.pathExists(blockDir))) {
43
+ throw new Error(`block directory not found: ${blockDir}`);
44
+ }
45
+ const stat = await fs.stat(blockDir);
46
+ if (!stat.isDirectory()) {
47
+ throw new Error(`block path is not a directory: ${blockDir}`);
48
+ }
49
+ const files = [];
50
+ const seenLowercased = new Set();
51
+ let totalBytes = 0;
52
+ async function walk(dir, relParent) {
53
+ const entries = await fs.readdir(dir, { withFileTypes: true });
54
+ for (const entry of entries) {
55
+ const name = entry.name;
56
+ if (entry.isSymbolicLink())
57
+ continue;
58
+ if (entry.isDirectory()) {
59
+ if (ignoreDirs.has(name))
60
+ continue;
61
+ if (name.startsWith("."))
62
+ continue;
63
+ if (!SEGMENT_REGEX.test(name))
64
+ continue;
65
+ const nextRel = relParent ? `${relParent}/${name}` : name;
66
+ await walk(path.join(dir, name), nextRel);
67
+ continue;
68
+ }
69
+ if (!entry.isFile())
70
+ continue;
71
+ if (DEFAULT_IGNORE_FILES.has(name))
72
+ continue;
73
+ if (name.startsWith("."))
74
+ continue;
75
+ if (TEST_FILE_REGEX.test(name))
76
+ continue;
77
+ if (!SEGMENT_REGEX.test(name))
78
+ continue;
79
+ const ext = path.extname(name).toLowerCase();
80
+ const baseName = path.basename(name);
81
+ const isPkg = baseName === "package.json";
82
+ const isCfg = baseName === "config.ts" || baseName === "config.js";
83
+ const isPreview = baseName === "preview.json";
84
+ if (!isPkg && !isCfg && !isPreview && !includeExt.has(ext)) {
85
+ continue;
86
+ }
87
+ const absPath = path.join(dir, name);
88
+ const fileStat = await fs.stat(absPath);
89
+ if (totalBytes + fileStat.size > MAX_TOTAL_BYTES) {
90
+ throw new Error(`block sources exceed ${MAX_TOTAL_BYTES} bytes (would-be ${totalBytes + fileStat.size} after "${relParent ? `${relParent}/${name}` : name}") - prune large assets or split the block`);
91
+ }
92
+ const buf = await fs.readFile(absPath);
93
+ totalBytes += buf.byteLength;
94
+ const relPath = relParent ? `${relParent}/${name}` : name;
95
+ const lower = relPath.toLowerCase();
96
+ if (seenLowercased.has(lower)) {
97
+ throw new Error(`duplicate path "${relPath}" (paths must be unique case-insensitively)`);
98
+ }
99
+ seenLowercased.add(lower);
100
+ files.push({ relPath, contentBase64: buf.toString("base64") });
101
+ if (files.length > MAX_FILES) {
102
+ throw new Error(`block has more than ${MAX_FILES} source files - prune the tree before publishing`);
103
+ }
104
+ }
105
+ }
106
+ await walk(blockDir, "");
107
+ if (files.length === 0) {
108
+ throw new Error(`block at ${blockDir} contains no recognized source files`);
109
+ }
110
+ const entryLower = entryRel.toLowerCase();
111
+ const entryMatch = files.find((f) => f.relPath.toLowerCase() === entryLower);
112
+ if (!entryMatch) {
113
+ throw new Error(`entry path "${entryRel}" not found in block source tree (${blockDir})`);
114
+ }
115
+ files.sort((a, b) => a.relPath.localeCompare(b.relPath));
116
+ return { files, entryPath: entryMatch.relPath };
117
+ }
118
+ export function normalizeEntryPath(input) {
119
+ const trimmed = input.trim();
120
+ if (path.isAbsolute(trimmed) || path.win32.isAbsolute(trimmed)) {
121
+ throw new Error(`entry path must be relative to the block directory, got "${input}"`);
122
+ }
123
+ let p = trimmed.replace(/\\/g, "/");
124
+ while (p.startsWith("./")) {
125
+ p = p.slice(2);
126
+ }
127
+ if (p.startsWith("/")) {
128
+ throw new Error(`entry path must be relative to the block directory, got "${input}"`);
129
+ }
130
+ if (p.length === 0) {
131
+ throw new Error(`entry path is empty after normalization (input: "${input}")`);
132
+ }
133
+ return p;
134
+ }
135
+ //# sourceMappingURL=source-collector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"source-collector.js","sourceRoot":"","sources":["../../src/utils/source-collector.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cmssy/cli",
3
- "version": "0.16.0",
3
+ "version": "0.17.0",
4
4
  "description": "Unified CLI for building and publishing blocks to Cmssy design library",
5
5
  "type": "module",
6
6
  "bin": {