@cmssy/cli 0.22.4 → 1.0.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/README.md +49 -650
- package/dist/cli.js +706 -328
- package/package.json +26 -73
- package/templates/block/Component.module.css.tpl +12 -0
- package/templates/block/Component.tsx.tpl +15 -0
- package/templates/block/block.ts.tpl +11 -0
- package/templates/init/app/[[...path]]/page.tsx +19 -0
- package/templates/init/app/api/draft/route.ts +5 -0
- package/templates/init/blocks/hero/Hero.module.css +131 -0
- package/templates/init/blocks/hero/Hero.tsx +100 -0
- package/templates/init/blocks/hero/block.ts +21 -0
- package/templates/init/cmssy/blocks.ts +5 -0
- package/templates/init/cmssy/editor.tsx +10 -0
- package/templates/init/cmssy.config.ts +8 -0
- package/templates/init/env.example +4 -0
- package/templates/init/next.config.mjs +8 -0
- package/templates/init/proxy.ts +32 -0
- package/config.d.ts +0 -3
- package/config.js +0 -4
- package/dist/cli.d.ts +0 -3
- package/dist/cli.d.ts.map +0 -1
- package/dist/cli.js.map +0 -1
- package/dist/commands/add-source.d.ts +0 -13
- package/dist/commands/add-source.d.ts.map +0 -1
- package/dist/commands/add-source.js +0 -273
- package/dist/commands/add-source.js.map +0 -1
- package/dist/commands/build.d.ts +0 -7
- package/dist/commands/build.d.ts.map +0 -1
- package/dist/commands/build.js +0 -127
- package/dist/commands/build.js.map +0 -1
- package/dist/commands/codegen.d.ts +0 -7
- package/dist/commands/codegen.d.ts.map +0 -1
- package/dist/commands/codegen.js +0 -150
- package/dist/commands/codegen.js.map +0 -1
- package/dist/commands/configure.d.ts +0 -6
- package/dist/commands/configure.d.ts.map +0 -1
- package/dist/commands/configure.js +0 -39
- package/dist/commands/configure.js.map +0 -1
- package/dist/commands/create.d.ts +0 -18
- package/dist/commands/create.d.ts.map +0 -1
- package/dist/commands/create.js +0 -403
- package/dist/commands/create.js.map +0 -1
- package/dist/commands/dev.d.ts +0 -6
- package/dist/commands/dev.d.ts.map +0 -1
- package/dist/commands/dev.js +0 -144
- package/dist/commands/dev.js.map +0 -1
- package/dist/commands/doctor.d.ts +0 -2
- package/dist/commands/doctor.d.ts.map +0 -1
- package/dist/commands/doctor.js +0 -230
- package/dist/commands/doctor.js.map +0 -1
- package/dist/commands/init.d.ts +0 -6
- package/dist/commands/init.d.ts.map +0 -1
- package/dist/commands/init.js +0 -414
- package/dist/commands/init.js.map +0 -1
- package/dist/commands/lib.d.ts +0 -17
- package/dist/commands/lib.d.ts.map +0 -1
- package/dist/commands/lib.js +0 -132
- package/dist/commands/lib.js.map +0 -1
- package/dist/commands/link.d.ts +0 -8
- package/dist/commands/link.d.ts.map +0 -1
- package/dist/commands/link.js +0 -116
- package/dist/commands/link.js.map +0 -1
- package/dist/commands/migrate.d.ts +0 -2
- package/dist/commands/migrate.d.ts.map +0 -1
- package/dist/commands/migrate.js +0 -231
- package/dist/commands/migrate.js.map +0 -1
- package/dist/commands/package.d.ts +0 -14
- package/dist/commands/package.d.ts.map +0 -1
- package/dist/commands/package.js +0 -137
- package/dist/commands/package.js.map +0 -1
- package/dist/commands/publish-block-buildtime.d.ts +0 -8
- package/dist/commands/publish-block-buildtime.d.ts.map +0 -1
- package/dist/commands/publish-block-buildtime.js +0 -290
- package/dist/commands/publish-block-buildtime.js.map +0 -1
- package/dist/commands/publish-template.d.ts +0 -22
- package/dist/commands/publish-template.d.ts.map +0 -1
- package/dist/commands/publish-template.js +0 -345
- package/dist/commands/publish-template.js.map +0 -1
- package/dist/commands/publish.d.ts +0 -15
- package/dist/commands/publish.d.ts.map +0 -1
- package/dist/commands/publish.js +0 -1003
- package/dist/commands/publish.js.map +0 -1
- package/dist/commands/skills.d.ts +0 -11
- package/dist/commands/skills.d.ts.map +0 -1
- package/dist/commands/skills.js +0 -178
- package/dist/commands/skills.js.map +0 -1
- package/dist/commands/sync.d.ts +0 -6
- package/dist/commands/sync.d.ts.map +0 -1
- package/dist/commands/sync.js +0 -208
- package/dist/commands/sync.js.map +0 -1
- package/dist/commands/test.d.ts +0 -8
- package/dist/commands/test.d.ts.map +0 -1
- package/dist/commands/test.js +0 -60
- package/dist/commands/test.js.map +0 -1
- package/dist/commands/upload.d.ts +0 -11
- package/dist/commands/upload.d.ts.map +0 -1
- package/dist/commands/upload.js +0 -128
- package/dist/commands/upload.js.map +0 -1
- package/dist/commands/workspaces.d.ts +0 -2
- package/dist/commands/workspaces.d.ts.map +0 -1
- package/dist/commands/workspaces.js +0 -62
- package/dist/commands/workspaces.js.map +0 -1
- package/dist/dev-ui/app.js +0 -1284
- package/dist/dev-ui/index.html +0 -1511
- package/dist/dev-ui-react/App.tsx +0 -164
- package/dist/dev-ui-react/__tests__/previewData.test.ts +0 -193
- package/dist/dev-ui-react/components/BlocksList.tsx +0 -232
- package/dist/dev-ui-react/components/Editor.tsx +0 -469
- package/dist/dev-ui-react/components/Preview.tsx +0 -146
- package/dist/dev-ui-react/hooks/useBlocks.ts +0 -80
- package/dist/dev-ui-react/index.html +0 -13
- package/dist/dev-ui-react/main.tsx +0 -8
- package/dist/dev-ui-react/styles.css +0 -856
- package/dist/dev-ui-react/types.ts +0 -45
- package/dist/skills/claude/cmssy-block.md +0 -454
- package/dist/skills/claude/cmssy-mcp-content.md +0 -235
- package/dist/test-helpers/index.d.ts +0 -23
- package/dist/test-helpers/index.d.ts.map +0 -1
- package/dist/test-helpers/index.js +0 -50
- package/dist/test-helpers/index.js.map +0 -1
- package/dist/types/block-config.d.ts +0 -6
- package/dist/types/block-config.d.ts.map +0 -1
- package/dist/types/block-config.js +0 -12
- package/dist/types/block-config.js.map +0 -1
- package/dist/types/publish-job.d.ts +0 -61
- package/dist/types/publish-job.d.ts.map +0 -1
- package/dist/types/publish-job.js +0 -13
- package/dist/types/publish-job.js.map +0 -1
- package/dist/utils/api-error.d.ts +0 -10
- package/dist/utils/api-error.d.ts.map +0 -1
- package/dist/utils/api-error.js +0 -55
- package/dist/utils/api-error.js.map +0 -1
- package/dist/utils/block-config.d.ts +0 -87
- package/dist/utils/block-config.d.ts.map +0 -1
- package/dist/utils/block-config.js +0 -214
- package/dist/utils/block-config.js.map +0 -1
- package/dist/utils/blocks-meta-cache.d.ts +0 -28
- package/dist/utils/blocks-meta-cache.d.ts.map +0 -1
- package/dist/utils/blocks-meta-cache.js +0 -72
- package/dist/utils/blocks-meta-cache.js.map +0 -1
- package/dist/utils/builder.d.ts +0 -34
- package/dist/utils/builder.d.ts.map +0 -1
- package/dist/utils/builder.js +0 -140
- package/dist/utils/builder.js.map +0 -1
- package/dist/utils/cmssy-config.d.ts +0 -16
- package/dist/utils/cmssy-config.d.ts.map +0 -1
- package/dist/utils/cmssy-config.js +0 -19
- package/dist/utils/cmssy-config.js.map +0 -1
- package/dist/utils/config.d.ts +0 -9
- package/dist/utils/config.d.ts.map +0 -1
- package/dist/utils/config.js +0 -51
- package/dist/utils/config.js.map +0 -1
- package/dist/utils/dependency-check.d.ts +0 -21
- package/dist/utils/dependency-check.d.ts.map +0 -1
- package/dist/utils/dependency-check.js +0 -56
- package/dist/utils/dependency-check.js.map +0 -1
- package/dist/utils/dev-generator/api-routes/blocks.d.ts +0 -3
- package/dist/utils/dev-generator/api-routes/blocks.d.ts.map +0 -1
- package/dist/utils/dev-generator/api-routes/blocks.js +0 -194
- package/dist/utils/dev-generator/api-routes/blocks.js.map +0 -1
- package/dist/utils/dev-generator/api-routes/config.d.ts +0 -2
- package/dist/utils/dev-generator/api-routes/config.d.ts.map +0 -1
- package/dist/utils/dev-generator/api-routes/config.js +0 -107
- package/dist/utils/dev-generator/api-routes/config.js.map +0 -1
- package/dist/utils/dev-generator/api-routes/preview.d.ts +0 -2
- package/dist/utils/dev-generator/api-routes/preview.d.ts.map +0 -1
- package/dist/utils/dev-generator/api-routes/preview.js +0 -50
- package/dist/utils/dev-generator/api-routes/preview.js.map +0 -1
- package/dist/utils/dev-generator/api-routes/workspaces.d.ts +0 -2
- package/dist/utils/dev-generator/api-routes/workspaces.d.ts.map +0 -1
- package/dist/utils/dev-generator/api-routes/workspaces.js +0 -128
- package/dist/utils/dev-generator/api-routes/workspaces.js.map +0 -1
- package/dist/utils/dev-generator/helpers.d.ts +0 -23
- package/dist/utils/dev-generator/helpers.d.ts.map +0 -1
- package/dist/utils/dev-generator/helpers.js +0 -128
- package/dist/utils/dev-generator/helpers.js.map +0 -1
- package/dist/utils/dev-generator/home-page.d.ts +0 -2
- package/dist/utils/dev-generator/home-page.d.ts.map +0 -1
- package/dist/utils/dev-generator/home-page.js +0 -643
- package/dist/utils/dev-generator/home-page.js.map +0 -1
- package/dist/utils/dev-generator/index.d.ts +0 -11
- package/dist/utils/dev-generator/index.d.ts.map +0 -1
- package/dist/utils/dev-generator/index.js +0 -85
- package/dist/utils/dev-generator/index.js.map +0 -1
- package/dist/utils/dev-generator/layout.d.ts +0 -3
- package/dist/utils/dev-generator/layout.d.ts.map +0 -1
- package/dist/utils/dev-generator/layout.js +0 -63
- package/dist/utils/dev-generator/layout.js.map +0 -1
- package/dist/utils/dev-generator/next-config.d.ts +0 -3
- package/dist/utils/dev-generator/next-config.d.ts.map +0 -1
- package/dist/utils/dev-generator/next-config.js +0 -111
- package/dist/utils/dev-generator/next-config.js.map +0 -1
- package/dist/utils/dev-generator/preview-pages.d.ts +0 -3
- package/dist/utils/dev-generator/preview-pages.d.ts.map +0 -1
- package/dist/utils/dev-generator/preview-pages.js +0 -833
- package/dist/utils/dev-generator/preview-pages.js.map +0 -1
- package/dist/utils/dev-generator.d.ts +0 -12
- package/dist/utils/dev-generator.d.ts.map +0 -1
- package/dist/utils/dev-generator.js +0 -1752
- package/dist/utils/dev-generator.js.map +0 -1
- package/dist/utils/field-schema.d.ts +0 -13
- package/dist/utils/field-schema.d.ts.map +0 -1
- package/dist/utils/field-schema.js +0 -182
- package/dist/utils/field-schema.js.map +0 -1
- package/dist/utils/graphql.d.ts +0 -39
- package/dist/utils/graphql.d.ts.map +0 -1
- package/dist/utils/graphql.js +0 -138
- package/dist/utils/graphql.js.map +0 -1
- package/dist/utils/lib-manifest.d.ts +0 -7
- package/dist/utils/lib-manifest.d.ts.map +0 -1
- package/dist/utils/lib-manifest.js +0 -59
- package/dist/utils/lib-manifest.js.map +0 -1
- package/dist/utils/publish-helpers.d.ts +0 -43
- package/dist/utils/publish-helpers.d.ts.map +0 -1
- package/dist/utils/publish-helpers.js +0 -215
- package/dist/utils/publish-helpers.js.map +0 -1
- package/dist/utils/publish-helpers.test.d.ts +0 -2
- package/dist/utils/publish-helpers.test.d.ts.map +0 -1
- package/dist/utils/publish-helpers.test.js +0 -24
- package/dist/utils/publish-helpers.test.js.map +0 -1
- package/dist/utils/resolve-workspace.d.ts +0 -6
- package/dist/utils/resolve-workspace.d.ts.map +0 -1
- package/dist/utils/resolve-workspace.js +0 -32
- package/dist/utils/resolve-workspace.js.map +0 -1
- package/dist/utils/scanner.d.ts +0 -42
- package/dist/utils/scanner.d.ts.map +0 -1
- package/dist/utils/scanner.js +0 -156
- package/dist/utils/scanner.js.map +0 -1
- package/dist/utils/schema-diff.d.ts +0 -22
- package/dist/utils/schema-diff.d.ts.map +0 -1
- package/dist/utils/schema-diff.js +0 -107
- package/dist/utils/schema-diff.js.map +0 -1
- package/dist/utils/source-collector.d.ts +0 -19
- package/dist/utils/source-collector.d.ts.map +0 -1
- package/dist/utils/source-collector.js +0 -565
- package/dist/utils/source-collector.js.map +0 -1
- package/dist/utils/theme-builder.d.ts +0 -12
- package/dist/utils/theme-builder.d.ts.map +0 -1
- package/dist/utils/theme-builder.js +0 -117
- package/dist/utils/theme-builder.js.map +0 -1
- package/dist/utils/type-generator.d.ts +0 -9
- package/dist/utils/type-generator.d.ts.map +0 -1
- package/dist/utils/type-generator.js +0 -86
- package/dist/utils/type-generator.js.map +0 -1
- package/dist/utils/version.d.ts +0 -10
- package/dist/utils/version.d.ts.map +0 -1
- package/dist/utils/version.js +0 -30
- package/dist/utils/version.js.map +0 -1
- package/dist/utils/versions.d.ts.map +0 -1
- package/dist/utils/versions.js.map +0 -1
- package/src/dev-app/app/api/blocks/[name]/config/route.ts +0 -140
- package/src/dev-app/app/api/blocks/route.ts +0 -61
- package/src/dev-app/app/api/config/route.ts +0 -98
- package/src/dev-app/app/api/context/route.ts +0 -126
- package/src/dev-app/app/api/preview/[name]/route.ts +0 -137
- package/src/dev-app/app/api/workspaces/route.ts +0 -124
- package/src/dev-app/app/layout.tsx +0 -18
- package/src/dev-app/app/page.tsx +0 -1785
- package/test.d.ts +0 -1
- package/test.js +0 -2
|
@@ -1,345 +0,0 @@
|
|
|
1
|
-
import chalk from "chalk";
|
|
2
|
-
import fs from "fs-extra";
|
|
3
|
-
import path from "path";
|
|
4
|
-
import semver from "semver";
|
|
5
|
-
import { hasConfig, loadConfig } from "../utils/config.js";
|
|
6
|
-
import { buildClient, IMPORT_TEMPLATE_MUTATION, } from "../utils/graphql.js";
|
|
7
|
-
import { convertConfigToPagesData, extractBlockType, loadTemplateConfig, } from "../utils/publish-helpers.js";
|
|
8
|
-
import { resolveWorkspaceId, warnIfWorkspaceIdLooksWrong, } from "../utils/resolve-workspace.js";
|
|
9
|
-
const REQUEST_TIMEOUT_MS = 180_000;
|
|
10
|
-
const DEFAULT_API_URL = "https://api.cmssy.io/graphql";
|
|
11
|
-
// A safe single path segment: case-insensitive alphanumeric, `-`,
|
|
12
|
-
// `_`. Rejects path separators, `.`, and whitespace so `../`, `..`,
|
|
13
|
-
// and absolute paths can't slip through; the realpath containment
|
|
14
|
-
// check below is the real defense. Note: a name starting with `-`
|
|
15
|
-
// is valid here but Commander treats `-foo` as an option - the user
|
|
16
|
-
// must pass it as `cmssy publish-template -- -foo`.
|
|
17
|
-
export const TEMPLATE_NAME_REGEX = /^[A-Za-z0-9_-]+$/;
|
|
18
|
-
const isNonEmptyString = (v) => typeof v === "string" && v.trim().length > 0;
|
|
19
|
-
function bail(msg) {
|
|
20
|
-
console.error(chalk.red(`✖ ${msg}\n`));
|
|
21
|
-
process.exit(1);
|
|
22
|
-
}
|
|
23
|
-
function readJsonOrBail(filePath, label) {
|
|
24
|
-
try {
|
|
25
|
-
return fs.readJsonSync(filePath);
|
|
26
|
-
}
|
|
27
|
-
catch (err) {
|
|
28
|
-
bail(`Failed to read ${label}: ${err instanceof Error ? err.message : String(err)}`);
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
// pages.json and config.ts both accept layoutPositions as either an
|
|
32
|
-
// array `[{position, type, content}]` or an object `{[position]:
|
|
33
|
-
// {type, content}}`. Normalize to [position, entry] pairs so the
|
|
34
|
-
// validation and build phases share one shape. `isArray` is returned
|
|
35
|
-
// so validators can require `position` on array-form entries (object
|
|
36
|
-
// form derives it from the parent key).
|
|
37
|
-
function normalizeLayoutPositions(raw) {
|
|
38
|
-
if (Array.isArray(raw)) {
|
|
39
|
-
return {
|
|
40
|
-
entries: raw.map((lp) => [lp?.position, lp]),
|
|
41
|
-
isArray: true,
|
|
42
|
-
};
|
|
43
|
-
}
|
|
44
|
-
if (raw && typeof raw === "object") {
|
|
45
|
-
return {
|
|
46
|
-
entries: Object.entries(raw),
|
|
47
|
-
isArray: false,
|
|
48
|
-
};
|
|
49
|
-
}
|
|
50
|
-
return { entries: [], isArray: false };
|
|
51
|
-
}
|
|
52
|
-
/**
|
|
53
|
-
* Templates are declarative - no sandbox build needed. Reads
|
|
54
|
-
* `templates/<name>/config.ts` + `pages.json` and uploads via
|
|
55
|
-
* `IMPORT_TEMPLATE_MUTATION`, which triggers cache revalidation
|
|
56
|
-
* backend-side (CMS-604/CMS-843).
|
|
57
|
-
*
|
|
58
|
-
* Mirrors `publish-block` UX (same option flags, same workspace
|
|
59
|
-
* resolution) so users can mentally swap `block` ↔ `template`.
|
|
60
|
-
*/
|
|
61
|
-
export async function publishTemplateCommand(templateName, options) {
|
|
62
|
-
console.log(chalk.blue.bold("\n📄 Cmssy - Publish Template\n"));
|
|
63
|
-
if (!hasConfig())
|
|
64
|
-
bail("Not configured. Run: cmssy link");
|
|
65
|
-
const config = loadConfig();
|
|
66
|
-
if (!config.apiToken) {
|
|
67
|
-
bail("Missing CMSSY_API_TOKEN. Run: cmssy link --token <token>");
|
|
68
|
-
}
|
|
69
|
-
const apiUrl = config.apiUrl ?? DEFAULT_API_URL;
|
|
70
|
-
const workspaceId = await resolveWorkspaceId(options.workspace, config);
|
|
71
|
-
warnIfWorkspaceIdLooksWrong(workspaceId);
|
|
72
|
-
const templatePath = resolveTemplatePath(templateName);
|
|
73
|
-
const pkgJsonPath = path.join(templatePath, "package.json");
|
|
74
|
-
if (!fs.existsSync(pkgJsonPath)) {
|
|
75
|
-
bail(`Missing templates/${templateName}/package.json - run \`cmssy create template ${templateName}\` to scaffold.`);
|
|
76
|
-
}
|
|
77
|
-
const packageJson = readJsonOrBail(pkgJsonPath, `templates/${templateName}/package.json`);
|
|
78
|
-
// `loadTemplateConfig` returns null for both "file missing" AND
|
|
79
|
-
// "file exists but failed to evaluate" - check existence first so
|
|
80
|
-
// the error message points at the right problem.
|
|
81
|
-
const configPath = path.join(templatePath, "config.ts");
|
|
82
|
-
if (!fs.existsSync(configPath)) {
|
|
83
|
-
bail(`Missing templates/${templateName}/config.ts - templates require a defineTemplate() config.`);
|
|
84
|
-
}
|
|
85
|
-
const templateConfig = loadTemplateConfig(templatePath, process.cwd());
|
|
86
|
-
if (!templateConfig) {
|
|
87
|
-
bail(`Failed to load templates/${templateName}/config.ts - check for syntax errors or missing imports.`);
|
|
88
|
-
}
|
|
89
|
-
const pagesData = loadPagesData(templatePath, templateName, templateConfig);
|
|
90
|
-
const currentVersion = packageJson.version ?? "0.0.0";
|
|
91
|
-
const nextVersion = resolveNextVersion(currentVersion, options, templateName);
|
|
92
|
-
validatePagesData(pagesData, templateName);
|
|
93
|
-
const { pages, layoutPositions, requiredBlockTypes } = buildMutationContent(pagesData);
|
|
94
|
-
const input = {
|
|
95
|
-
blockType: extractBlockType(packageJson.name ?? templateName),
|
|
96
|
-
name: templateConfig.name ?? templateName,
|
|
97
|
-
description: templateConfig.description ?? "",
|
|
98
|
-
category: templateConfig.category ?? "website",
|
|
99
|
-
version: nextVersion,
|
|
100
|
-
pages,
|
|
101
|
-
layoutPositions,
|
|
102
|
-
// Sorted so the CLI output, the uploaded payload, and a git diff
|
|
103
|
-
// of consecutive publishes are stable. Otherwise the order depends
|
|
104
|
-
// on Object.entries() traversal of `layoutPositions`, which is
|
|
105
|
-
// close to insertion-order in modern engines but not guaranteed.
|
|
106
|
-
requiredBlocks: Array.from(requiredBlockTypes).sort(),
|
|
107
|
-
// Default backend behavior preserves existing page content on
|
|
108
|
-
// republish; --overwrite-content flips it.
|
|
109
|
-
preserveContent: !options.overwriteContent,
|
|
110
|
-
};
|
|
111
|
-
if (Array.isArray(pagesData.pageTypes) && pagesData.pageTypes.length > 0) {
|
|
112
|
-
input.pageTypes = pagesData.pageTypes;
|
|
113
|
-
}
|
|
114
|
-
printPlan({
|
|
115
|
-
templateName,
|
|
116
|
-
currentVersion,
|
|
117
|
-
nextVersion,
|
|
118
|
-
workspaceId,
|
|
119
|
-
pages,
|
|
120
|
-
requiredBlockTypes,
|
|
121
|
-
});
|
|
122
|
-
if (options.dryRun) {
|
|
123
|
-
console.log(chalk.yellow("\n🔍 Dry run - nothing will be uploaded.\n"));
|
|
124
|
-
return;
|
|
125
|
-
}
|
|
126
|
-
// Bump on disk BEFORE upload so a successful publish leaves the
|
|
127
|
-
// source tree consistent; roll back on failure.
|
|
128
|
-
if (nextVersion !== currentVersion) {
|
|
129
|
-
packageJson.version = nextVersion;
|
|
130
|
-
fs.writeJsonSync(pkgJsonPath, packageJson, { spaces: 2 });
|
|
131
|
-
}
|
|
132
|
-
await uploadTemplate({
|
|
133
|
-
apiUrl,
|
|
134
|
-
apiToken: config.apiToken,
|
|
135
|
-
workspaceId,
|
|
136
|
-
input,
|
|
137
|
-
onFailure: () => {
|
|
138
|
-
if (nextVersion !== currentVersion) {
|
|
139
|
-
packageJson.version = currentVersion;
|
|
140
|
-
fs.writeJsonSync(pkgJsonPath, packageJson, { spaces: 2 });
|
|
141
|
-
}
|
|
142
|
-
},
|
|
143
|
-
templateName,
|
|
144
|
-
nextVersion,
|
|
145
|
-
});
|
|
146
|
-
}
|
|
147
|
-
function resolveTemplatePath(templateName) {
|
|
148
|
-
// Validate name BEFORE touching the filesystem. Anything that could
|
|
149
|
-
// be interpreted as a path segment (`../`, absolute paths) is
|
|
150
|
-
// rejected here.
|
|
151
|
-
if (!TEMPLATE_NAME_REGEX.test(templateName)) {
|
|
152
|
-
bail(`Invalid template name "${templateName}" - alphanumeric plus \`-\`/\`_\` only (no path separators).`);
|
|
153
|
-
}
|
|
154
|
-
const templatesRoot = path.resolve(process.cwd(), "templates");
|
|
155
|
-
const templatePath = path.resolve(templatesRoot, templateName);
|
|
156
|
-
if (templatePath !== templatesRoot &&
|
|
157
|
-
!templatePath.startsWith(templatesRoot + path.sep)) {
|
|
158
|
-
bail(`Template path "${templatePath}" escapes templates/ root (refusing to read).`);
|
|
159
|
-
}
|
|
160
|
-
if (!fs.existsSync(templatePath) ||
|
|
161
|
-
!fs.statSync(templatePath).isDirectory()) {
|
|
162
|
-
bail(`Template not found: templates/${templateName}/`);
|
|
163
|
-
}
|
|
164
|
-
// Lexical startsWith catches `..` but NOT symlinks (`templates/foo
|
|
165
|
-
// -> /etc` is syntactically inside templates/ while pointing
|
|
166
|
-
// outside). Compare realpaths to close that gap. realpathSync
|
|
167
|
-
// requires the path to exist - the existsSync check above
|
|
168
|
-
// guarantees that.
|
|
169
|
-
const realRoot = fs.realpathSync(templatesRoot);
|
|
170
|
-
const realPath = fs.realpathSync(templatePath);
|
|
171
|
-
if (realPath !== realRoot && !realPath.startsWith(realRoot + path.sep)) {
|
|
172
|
-
bail(`Template path "${templatePath}" resolves to "${realPath}" (outside templates/) - refusing to read.`);
|
|
173
|
-
}
|
|
174
|
-
return templatePath;
|
|
175
|
-
}
|
|
176
|
-
function loadPagesData(templatePath, templateName, templateConfig) {
|
|
177
|
-
const pagesJsonPath = path.join(templatePath, "pages.json");
|
|
178
|
-
if (fs.existsSync(pagesJsonPath)) {
|
|
179
|
-
return readJsonOrBail(pagesJsonPath, `templates/${templateName}/pages.json`);
|
|
180
|
-
}
|
|
181
|
-
if (templateConfig.pages || templateConfig.layoutPositions) {
|
|
182
|
-
return convertConfigToPagesData(templateConfig);
|
|
183
|
-
}
|
|
184
|
-
bail(`Template has no pages - add a templates/${templateName}/pages.json or define pages in config.ts.`);
|
|
185
|
-
}
|
|
186
|
-
function resolveNextVersion(currentVersion, options, templateName) {
|
|
187
|
-
if (options.bump === false)
|
|
188
|
-
return currentVersion;
|
|
189
|
-
const flags = [];
|
|
190
|
-
if (options.major)
|
|
191
|
-
flags.push("major");
|
|
192
|
-
if (options.minor)
|
|
193
|
-
flags.push("minor");
|
|
194
|
-
if (options.patch)
|
|
195
|
-
flags.push("patch");
|
|
196
|
-
if (flags.length > 1) {
|
|
197
|
-
bail(`Conflicting bump flags: ${flags.map((f) => `--${f}`).join(" + ")}. Pass at most one of --patch / --minor / --major.`);
|
|
198
|
-
}
|
|
199
|
-
const bumpType = flags[0] ?? "patch";
|
|
200
|
-
const bumped = semver.inc(currentVersion, bumpType);
|
|
201
|
-
if (!bumped) {
|
|
202
|
-
// Silent fallback would publish "in place" and hide a real config
|
|
203
|
-
// problem (typo in package.json version, unrecognized pre-release).
|
|
204
|
-
bail(`Cannot ${bumpType}-bump invalid version "${currentVersion}" in templates/${templateName}/package.json. Fix it or pass --no-bump.`);
|
|
205
|
-
}
|
|
206
|
-
return bumped;
|
|
207
|
-
}
|
|
208
|
-
function validatePagesData(pagesData, templateName) {
|
|
209
|
-
const fail = (msg) => bail(`templates/${templateName}: ${msg}`);
|
|
210
|
-
const validateLayoutPositions = (raw, scope) => {
|
|
211
|
-
const { entries, isArray } = normalizeLayoutPositions(raw);
|
|
212
|
-
entries.forEach(([position, lp], i) => {
|
|
213
|
-
// `position` must be non-empty in BOTH forms: an array entry can
|
|
214
|
-
// omit the field, and an object can have an empty/whitespace key
|
|
215
|
-
// (`{ " ": {...} }`) - both trim to "" in the payload otherwise.
|
|
216
|
-
if (!isNonEmptyString(position)) {
|
|
217
|
-
fail(`${scope} layoutPosition[${i}] has an empty \`position\` ${isArray ? "field" : "key"}`);
|
|
218
|
-
}
|
|
219
|
-
if (!isNonEmptyString(lp?.type)) {
|
|
220
|
-
fail(`${scope} layoutPosition[${i}] is missing a non-empty string \`type\``);
|
|
221
|
-
}
|
|
222
|
-
});
|
|
223
|
-
};
|
|
224
|
-
// Guard the .forEach calls below - malformed pages.json could ship
|
|
225
|
-
// `pages: {}` or `blocks: {}` which would throw a TypeError on
|
|
226
|
-
// .forEach and print a raw stack trace instead of an actionable
|
|
227
|
-
// error.
|
|
228
|
-
if (pagesData.pages !== undefined && !Array.isArray(pagesData.pages)) {
|
|
229
|
-
fail("`pages` must be an array");
|
|
230
|
-
}
|
|
231
|
-
(pagesData.pages ?? []).forEach((page, pageIdx) => {
|
|
232
|
-
const pageLabel = isNonEmptyString(page?.slug)
|
|
233
|
-
? page.slug
|
|
234
|
-
: `page[${pageIdx}]`;
|
|
235
|
-
if (!isNonEmptyString(page?.slug)) {
|
|
236
|
-
fail(`${pageLabel} is missing a non-empty string \`slug\``);
|
|
237
|
-
}
|
|
238
|
-
// After stripping leading `/`, a slug must still have content
|
|
239
|
-
// (unless the page IS the root `/`). Otherwise inputs like `"///"`
|
|
240
|
-
// or `"/ "` pass the non-empty check but normalize to an empty
|
|
241
|
-
// string downstream and get uploaded as blank.
|
|
242
|
-
const normalizedSlug = page.slug === "/" ? "/" : page.slug.replace(/^\/+/, "").trim();
|
|
243
|
-
if (normalizedSlug.length === 0) {
|
|
244
|
-
fail(`${pageLabel} slug normalizes to empty - use "/" for the root page or provide a non-slash path`);
|
|
245
|
-
}
|
|
246
|
-
if (page.blocks !== undefined && !Array.isArray(page.blocks)) {
|
|
247
|
-
fail(`${pageLabel} \`blocks\` must be an array`);
|
|
248
|
-
}
|
|
249
|
-
(page.blocks ?? []).forEach((block, blockIdx) => {
|
|
250
|
-
if (!isNonEmptyString(block?.type)) {
|
|
251
|
-
fail(`${pageLabel} block[${blockIdx}] is missing a non-empty string \`type\``);
|
|
252
|
-
}
|
|
253
|
-
});
|
|
254
|
-
validateLayoutPositions(page?.layoutPositions, pageLabel);
|
|
255
|
-
});
|
|
256
|
-
validateLayoutPositions(pagesData.layoutPositions, "global");
|
|
257
|
-
}
|
|
258
|
-
function buildMutationContent(pagesData) {
|
|
259
|
-
const requiredBlockTypes = new Set();
|
|
260
|
-
const buildLpList = (raw) => normalizeLayoutPositions(raw).entries.map(([position, data]) => {
|
|
261
|
-
// `extractBlockType` trims the type; trim `position` too so a
|
|
262
|
-
// whitespace-padded slot name from pages.json doesn't reach the
|
|
263
|
-
// mutation (validation only checks non-empty-after-trim).
|
|
264
|
-
const type = extractBlockType(data.type);
|
|
265
|
-
requiredBlockTypes.add(type);
|
|
266
|
-
return { position: position.trim(), type, content: data.content ?? {} };
|
|
267
|
-
});
|
|
268
|
-
const pages = (pagesData.pages ?? []).map((page) => {
|
|
269
|
-
// Match the validation pass: strip leading slashes AND trim. Skipping
|
|
270
|
-
// `.trim()` here lets inputs like `"/foo "` upload with a trailing
|
|
271
|
-
// space even though validation accepted them.
|
|
272
|
-
const slug = page.slug === "/" ? "/" : page.slug.replace(/^\/+/, "").trim();
|
|
273
|
-
const result = {
|
|
274
|
-
name: page.name,
|
|
275
|
-
slug,
|
|
276
|
-
blocks: (page.blocks ?? []).map((block) => {
|
|
277
|
-
const type = extractBlockType(block.type);
|
|
278
|
-
requiredBlockTypes.add(type);
|
|
279
|
-
return { type, content: block.content ?? {} };
|
|
280
|
-
}),
|
|
281
|
-
};
|
|
282
|
-
if (page.pageType)
|
|
283
|
-
result.pageType = page.pageType;
|
|
284
|
-
if (page.parentSlug) {
|
|
285
|
-
result.parentSlug = String(page.parentSlug).replace(/^\/+/, "").trim();
|
|
286
|
-
}
|
|
287
|
-
if (page.layoutPositions) {
|
|
288
|
-
result.layoutPositions = buildLpList(page.layoutPositions);
|
|
289
|
-
}
|
|
290
|
-
return result;
|
|
291
|
-
});
|
|
292
|
-
const layoutPositions = buildLpList(pagesData.layoutPositions);
|
|
293
|
-
return { pages, layoutPositions, requiredBlockTypes };
|
|
294
|
-
}
|
|
295
|
-
function printPlan(args) {
|
|
296
|
-
const { templateName, currentVersion, nextVersion, workspaceId, pages } = args;
|
|
297
|
-
console.log(chalk.gray(`Template: `) + chalk.white(templateName));
|
|
298
|
-
console.log(chalk.gray(`Version: `) +
|
|
299
|
-
chalk.white(`${currentVersion} → ${nextVersion}`));
|
|
300
|
-
console.log(chalk.gray(`Workspace: `) + chalk.white(workspaceId));
|
|
301
|
-
console.log(chalk.gray(`Pages: `) + chalk.white(String(pages.length)));
|
|
302
|
-
console.log(chalk.gray(`Required blocks: `) +
|
|
303
|
-
chalk.white(Array.from(args.requiredBlockTypes).sort().join(", ") || "(none)"));
|
|
304
|
-
}
|
|
305
|
-
async function uploadTemplate(args) {
|
|
306
|
-
const client = buildClient(args.apiUrl, args.apiToken, {
|
|
307
|
-
extraHeaders: { "X-Workspace-ID": args.workspaceId },
|
|
308
|
-
});
|
|
309
|
-
// AbortController + signal so the request is actually cancelled on
|
|
310
|
-
// timeout - otherwise the mutation can succeed server-side AFTER
|
|
311
|
-
// the CLI reports failure and rolls back the local version,
|
|
312
|
-
// leaving the user in an inconsistent state.
|
|
313
|
-
const controller = new AbortController();
|
|
314
|
-
const timer = setTimeout(() => controller.abort(), REQUEST_TIMEOUT_MS);
|
|
315
|
-
try {
|
|
316
|
-
const result = (await client.request({
|
|
317
|
-
document: IMPORT_TEMPLATE_MUTATION,
|
|
318
|
-
variables: { input: args.input },
|
|
319
|
-
signal: controller.signal,
|
|
320
|
-
}));
|
|
321
|
-
if (!result.importTemplate?.success) {
|
|
322
|
-
throw new Error(result.importTemplate?.message ?? "Failed to import template");
|
|
323
|
-
}
|
|
324
|
-
const { pagesCreated = 0, pagesUpdated = 0 } = result.importTemplate;
|
|
325
|
-
console.log(chalk.green(`\n✔ Published ${args.templateName}@${args.nextVersion} - ${pagesCreated} pages created, ${pagesUpdated} updated.\n`));
|
|
326
|
-
}
|
|
327
|
-
catch (err) {
|
|
328
|
-
// On a true server-side failure we know the publish didn't land,
|
|
329
|
-
// so roll the local version back. On an abort (timeout) the server
|
|
330
|
-
// may have already accepted the mutation - rolling back would
|
|
331
|
-
// leave the user one version behind reality and the next publish
|
|
332
|
-
// would try to reuse the published number. Keep the local bump
|
|
333
|
-
// and tell the user to verify.
|
|
334
|
-
if (controller.signal.aborted) {
|
|
335
|
-
bail(`Template upload timed out after ${REQUEST_TIMEOUT_MS / 1000}s. The server may have accepted the mutation - check whether ${args.templateName}@${args.nextVersion} exists in the workspace before retrying. The local version was kept at ${args.nextVersion}; bump manually if you confirm the publish did NOT land.`);
|
|
336
|
-
}
|
|
337
|
-
args.onFailure();
|
|
338
|
-
const userMessage = err instanceof Error ? err.message : String(err);
|
|
339
|
-
bail(`Failed to publish template ${args.templateName}: ${userMessage}`);
|
|
340
|
-
}
|
|
341
|
-
finally {
|
|
342
|
-
clearTimeout(timer);
|
|
343
|
-
}
|
|
344
|
-
}
|
|
345
|
-
//# sourceMappingURL=publish-template.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"publish-template.js","sourceRoot":"","sources":["../../src/commands/publish-template.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
interface PublishOptions {
|
|
2
|
-
workspace?: string;
|
|
3
|
-
patch?: boolean;
|
|
4
|
-
minor?: boolean;
|
|
5
|
-
major?: boolean;
|
|
6
|
-
bump?: boolean;
|
|
7
|
-
dryRun?: boolean;
|
|
8
|
-
all?: boolean;
|
|
9
|
-
overwriteContent?: boolean;
|
|
10
|
-
zip?: boolean;
|
|
11
|
-
force?: boolean;
|
|
12
|
-
}
|
|
13
|
-
export declare function publishCommand(packageNames: string[] | undefined, options: PublishOptions): Promise<void>;
|
|
14
|
-
export {};
|
|
15
|
-
//# sourceMappingURL=publish.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"publish.d.ts","sourceRoot":"","sources":["../../src/commands/publish.ts"],"names":[],"mappings":"AAkCA,UAAU,cAAc;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAUD,wBAAsB,cAAc,CAClC,YAAY,EAAE,MAAM,EAAE,YAAK,EAC3B,OAAO,EAAE,cAAc,iBA+gBxB"}
|