@cmssy/cli 0.22.3 → 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.
Files changed (260) hide show
  1. package/README.md +49 -650
  2. package/dist/cli.js +706 -328
  3. package/package.json +26 -73
  4. package/templates/block/Component.module.css.tpl +12 -0
  5. package/templates/block/Component.tsx.tpl +15 -0
  6. package/templates/block/block.ts.tpl +11 -0
  7. package/templates/init/app/[[...path]]/page.tsx +19 -0
  8. package/templates/init/app/api/draft/route.ts +5 -0
  9. package/templates/init/blocks/hero/Hero.module.css +131 -0
  10. package/templates/init/blocks/hero/Hero.tsx +100 -0
  11. package/templates/init/blocks/hero/block.ts +21 -0
  12. package/templates/init/cmssy/blocks.ts +5 -0
  13. package/templates/init/cmssy/editor.tsx +10 -0
  14. package/templates/init/cmssy.config.ts +8 -0
  15. package/templates/init/env.example +4 -0
  16. package/templates/init/next.config.mjs +8 -0
  17. package/templates/init/proxy.ts +32 -0
  18. package/config.d.ts +0 -3
  19. package/config.js +0 -4
  20. package/dist/cli.d.ts +0 -3
  21. package/dist/cli.d.ts.map +0 -1
  22. package/dist/cli.js.map +0 -1
  23. package/dist/commands/add-source.d.ts +0 -13
  24. package/dist/commands/add-source.d.ts.map +0 -1
  25. package/dist/commands/add-source.js +0 -273
  26. package/dist/commands/add-source.js.map +0 -1
  27. package/dist/commands/build.d.ts +0 -7
  28. package/dist/commands/build.d.ts.map +0 -1
  29. package/dist/commands/build.js +0 -127
  30. package/dist/commands/build.js.map +0 -1
  31. package/dist/commands/codegen.d.ts +0 -7
  32. package/dist/commands/codegen.d.ts.map +0 -1
  33. package/dist/commands/codegen.js +0 -150
  34. package/dist/commands/codegen.js.map +0 -1
  35. package/dist/commands/configure.d.ts +0 -6
  36. package/dist/commands/configure.d.ts.map +0 -1
  37. package/dist/commands/configure.js +0 -39
  38. package/dist/commands/configure.js.map +0 -1
  39. package/dist/commands/create.d.ts +0 -18
  40. package/dist/commands/create.d.ts.map +0 -1
  41. package/dist/commands/create.js +0 -403
  42. package/dist/commands/create.js.map +0 -1
  43. package/dist/commands/dev.d.ts +0 -6
  44. package/dist/commands/dev.d.ts.map +0 -1
  45. package/dist/commands/dev.js +0 -144
  46. package/dist/commands/dev.js.map +0 -1
  47. package/dist/commands/doctor.d.ts +0 -2
  48. package/dist/commands/doctor.d.ts.map +0 -1
  49. package/dist/commands/doctor.js +0 -230
  50. package/dist/commands/doctor.js.map +0 -1
  51. package/dist/commands/init.d.ts +0 -6
  52. package/dist/commands/init.d.ts.map +0 -1
  53. package/dist/commands/init.js +0 -414
  54. package/dist/commands/init.js.map +0 -1
  55. package/dist/commands/lib.d.ts +0 -17
  56. package/dist/commands/lib.d.ts.map +0 -1
  57. package/dist/commands/lib.js +0 -132
  58. package/dist/commands/lib.js.map +0 -1
  59. package/dist/commands/link.d.ts +0 -8
  60. package/dist/commands/link.d.ts.map +0 -1
  61. package/dist/commands/link.js +0 -116
  62. package/dist/commands/link.js.map +0 -1
  63. package/dist/commands/migrate.d.ts +0 -2
  64. package/dist/commands/migrate.d.ts.map +0 -1
  65. package/dist/commands/migrate.js +0 -231
  66. package/dist/commands/migrate.js.map +0 -1
  67. package/dist/commands/package.d.ts +0 -14
  68. package/dist/commands/package.d.ts.map +0 -1
  69. package/dist/commands/package.js +0 -137
  70. package/dist/commands/package.js.map +0 -1
  71. package/dist/commands/publish-block-buildtime.d.ts +0 -8
  72. package/dist/commands/publish-block-buildtime.d.ts.map +0 -1
  73. package/dist/commands/publish-block-buildtime.js +0 -290
  74. package/dist/commands/publish-block-buildtime.js.map +0 -1
  75. package/dist/commands/publish-template.d.ts +0 -22
  76. package/dist/commands/publish-template.d.ts.map +0 -1
  77. package/dist/commands/publish-template.js +0 -345
  78. package/dist/commands/publish-template.js.map +0 -1
  79. package/dist/commands/publish.d.ts +0 -15
  80. package/dist/commands/publish.d.ts.map +0 -1
  81. package/dist/commands/publish.js +0 -1003
  82. package/dist/commands/publish.js.map +0 -1
  83. package/dist/commands/skills.d.ts +0 -11
  84. package/dist/commands/skills.d.ts.map +0 -1
  85. package/dist/commands/skills.js +0 -178
  86. package/dist/commands/skills.js.map +0 -1
  87. package/dist/commands/sync.d.ts +0 -6
  88. package/dist/commands/sync.d.ts.map +0 -1
  89. package/dist/commands/sync.js +0 -208
  90. package/dist/commands/sync.js.map +0 -1
  91. package/dist/commands/test.d.ts +0 -8
  92. package/dist/commands/test.d.ts.map +0 -1
  93. package/dist/commands/test.js +0 -60
  94. package/dist/commands/test.js.map +0 -1
  95. package/dist/commands/upload.d.ts +0 -11
  96. package/dist/commands/upload.d.ts.map +0 -1
  97. package/dist/commands/upload.js +0 -128
  98. package/dist/commands/upload.js.map +0 -1
  99. package/dist/commands/workspaces.d.ts +0 -2
  100. package/dist/commands/workspaces.d.ts.map +0 -1
  101. package/dist/commands/workspaces.js +0 -62
  102. package/dist/commands/workspaces.js.map +0 -1
  103. package/dist/dev-ui/app.js +0 -1284
  104. package/dist/dev-ui/index.html +0 -1511
  105. package/dist/dev-ui-react/App.tsx +0 -164
  106. package/dist/dev-ui-react/__tests__/previewData.test.ts +0 -193
  107. package/dist/dev-ui-react/components/BlocksList.tsx +0 -232
  108. package/dist/dev-ui-react/components/Editor.tsx +0 -469
  109. package/dist/dev-ui-react/components/Preview.tsx +0 -146
  110. package/dist/dev-ui-react/hooks/useBlocks.ts +0 -80
  111. package/dist/dev-ui-react/index.html +0 -13
  112. package/dist/dev-ui-react/main.tsx +0 -8
  113. package/dist/dev-ui-react/styles.css +0 -856
  114. package/dist/dev-ui-react/types.ts +0 -45
  115. package/dist/skills/claude/cmssy-block.md +0 -454
  116. package/dist/skills/claude/cmssy-mcp-content.md +0 -231
  117. package/dist/test-helpers/index.d.ts +0 -23
  118. package/dist/test-helpers/index.d.ts.map +0 -1
  119. package/dist/test-helpers/index.js +0 -50
  120. package/dist/test-helpers/index.js.map +0 -1
  121. package/dist/types/block-config.d.ts +0 -6
  122. package/dist/types/block-config.d.ts.map +0 -1
  123. package/dist/types/block-config.js +0 -12
  124. package/dist/types/block-config.js.map +0 -1
  125. package/dist/types/publish-job.d.ts +0 -61
  126. package/dist/types/publish-job.d.ts.map +0 -1
  127. package/dist/types/publish-job.js +0 -13
  128. package/dist/types/publish-job.js.map +0 -1
  129. package/dist/utils/api-error.d.ts +0 -10
  130. package/dist/utils/api-error.d.ts.map +0 -1
  131. package/dist/utils/api-error.js +0 -55
  132. package/dist/utils/api-error.js.map +0 -1
  133. package/dist/utils/block-config.d.ts +0 -87
  134. package/dist/utils/block-config.d.ts.map +0 -1
  135. package/dist/utils/block-config.js +0 -214
  136. package/dist/utils/block-config.js.map +0 -1
  137. package/dist/utils/blocks-meta-cache.d.ts +0 -28
  138. package/dist/utils/blocks-meta-cache.d.ts.map +0 -1
  139. package/dist/utils/blocks-meta-cache.js +0 -72
  140. package/dist/utils/blocks-meta-cache.js.map +0 -1
  141. package/dist/utils/builder.d.ts +0 -34
  142. package/dist/utils/builder.d.ts.map +0 -1
  143. package/dist/utils/builder.js +0 -140
  144. package/dist/utils/builder.js.map +0 -1
  145. package/dist/utils/cmssy-config.d.ts +0 -16
  146. package/dist/utils/cmssy-config.d.ts.map +0 -1
  147. package/dist/utils/cmssy-config.js +0 -19
  148. package/dist/utils/cmssy-config.js.map +0 -1
  149. package/dist/utils/config.d.ts +0 -9
  150. package/dist/utils/config.d.ts.map +0 -1
  151. package/dist/utils/config.js +0 -51
  152. package/dist/utils/config.js.map +0 -1
  153. package/dist/utils/dependency-check.d.ts +0 -21
  154. package/dist/utils/dependency-check.d.ts.map +0 -1
  155. package/dist/utils/dependency-check.js +0 -56
  156. package/dist/utils/dependency-check.js.map +0 -1
  157. package/dist/utils/dev-generator/api-routes/blocks.d.ts +0 -3
  158. package/dist/utils/dev-generator/api-routes/blocks.d.ts.map +0 -1
  159. package/dist/utils/dev-generator/api-routes/blocks.js +0 -194
  160. package/dist/utils/dev-generator/api-routes/blocks.js.map +0 -1
  161. package/dist/utils/dev-generator/api-routes/config.d.ts +0 -2
  162. package/dist/utils/dev-generator/api-routes/config.d.ts.map +0 -1
  163. package/dist/utils/dev-generator/api-routes/config.js +0 -107
  164. package/dist/utils/dev-generator/api-routes/config.js.map +0 -1
  165. package/dist/utils/dev-generator/api-routes/preview.d.ts +0 -2
  166. package/dist/utils/dev-generator/api-routes/preview.d.ts.map +0 -1
  167. package/dist/utils/dev-generator/api-routes/preview.js +0 -50
  168. package/dist/utils/dev-generator/api-routes/preview.js.map +0 -1
  169. package/dist/utils/dev-generator/api-routes/workspaces.d.ts +0 -2
  170. package/dist/utils/dev-generator/api-routes/workspaces.d.ts.map +0 -1
  171. package/dist/utils/dev-generator/api-routes/workspaces.js +0 -128
  172. package/dist/utils/dev-generator/api-routes/workspaces.js.map +0 -1
  173. package/dist/utils/dev-generator/helpers.d.ts +0 -23
  174. package/dist/utils/dev-generator/helpers.d.ts.map +0 -1
  175. package/dist/utils/dev-generator/helpers.js +0 -128
  176. package/dist/utils/dev-generator/helpers.js.map +0 -1
  177. package/dist/utils/dev-generator/home-page.d.ts +0 -2
  178. package/dist/utils/dev-generator/home-page.d.ts.map +0 -1
  179. package/dist/utils/dev-generator/home-page.js +0 -643
  180. package/dist/utils/dev-generator/home-page.js.map +0 -1
  181. package/dist/utils/dev-generator/index.d.ts +0 -11
  182. package/dist/utils/dev-generator/index.d.ts.map +0 -1
  183. package/dist/utils/dev-generator/index.js +0 -85
  184. package/dist/utils/dev-generator/index.js.map +0 -1
  185. package/dist/utils/dev-generator/layout.d.ts +0 -3
  186. package/dist/utils/dev-generator/layout.d.ts.map +0 -1
  187. package/dist/utils/dev-generator/layout.js +0 -63
  188. package/dist/utils/dev-generator/layout.js.map +0 -1
  189. package/dist/utils/dev-generator/next-config.d.ts +0 -3
  190. package/dist/utils/dev-generator/next-config.d.ts.map +0 -1
  191. package/dist/utils/dev-generator/next-config.js +0 -111
  192. package/dist/utils/dev-generator/next-config.js.map +0 -1
  193. package/dist/utils/dev-generator/preview-pages.d.ts +0 -3
  194. package/dist/utils/dev-generator/preview-pages.d.ts.map +0 -1
  195. package/dist/utils/dev-generator/preview-pages.js +0 -833
  196. package/dist/utils/dev-generator/preview-pages.js.map +0 -1
  197. package/dist/utils/dev-generator.d.ts +0 -12
  198. package/dist/utils/dev-generator.d.ts.map +0 -1
  199. package/dist/utils/dev-generator.js +0 -1752
  200. package/dist/utils/dev-generator.js.map +0 -1
  201. package/dist/utils/field-schema.d.ts +0 -13
  202. package/dist/utils/field-schema.d.ts.map +0 -1
  203. package/dist/utils/field-schema.js +0 -182
  204. package/dist/utils/field-schema.js.map +0 -1
  205. package/dist/utils/graphql.d.ts +0 -39
  206. package/dist/utils/graphql.d.ts.map +0 -1
  207. package/dist/utils/graphql.js +0 -138
  208. package/dist/utils/graphql.js.map +0 -1
  209. package/dist/utils/lib-manifest.d.ts +0 -7
  210. package/dist/utils/lib-manifest.d.ts.map +0 -1
  211. package/dist/utils/lib-manifest.js +0 -59
  212. package/dist/utils/lib-manifest.js.map +0 -1
  213. package/dist/utils/publish-helpers.d.ts +0 -43
  214. package/dist/utils/publish-helpers.d.ts.map +0 -1
  215. package/dist/utils/publish-helpers.js +0 -215
  216. package/dist/utils/publish-helpers.js.map +0 -1
  217. package/dist/utils/publish-helpers.test.d.ts +0 -2
  218. package/dist/utils/publish-helpers.test.d.ts.map +0 -1
  219. package/dist/utils/publish-helpers.test.js +0 -24
  220. package/dist/utils/publish-helpers.test.js.map +0 -1
  221. package/dist/utils/resolve-workspace.d.ts +0 -6
  222. package/dist/utils/resolve-workspace.d.ts.map +0 -1
  223. package/dist/utils/resolve-workspace.js +0 -32
  224. package/dist/utils/resolve-workspace.js.map +0 -1
  225. package/dist/utils/scanner.d.ts +0 -42
  226. package/dist/utils/scanner.d.ts.map +0 -1
  227. package/dist/utils/scanner.js +0 -156
  228. package/dist/utils/scanner.js.map +0 -1
  229. package/dist/utils/schema-diff.d.ts +0 -22
  230. package/dist/utils/schema-diff.d.ts.map +0 -1
  231. package/dist/utils/schema-diff.js +0 -107
  232. package/dist/utils/schema-diff.js.map +0 -1
  233. package/dist/utils/source-collector.d.ts +0 -19
  234. package/dist/utils/source-collector.d.ts.map +0 -1
  235. package/dist/utils/source-collector.js +0 -565
  236. package/dist/utils/source-collector.js.map +0 -1
  237. package/dist/utils/theme-builder.d.ts +0 -12
  238. package/dist/utils/theme-builder.d.ts.map +0 -1
  239. package/dist/utils/theme-builder.js +0 -117
  240. package/dist/utils/theme-builder.js.map +0 -1
  241. package/dist/utils/type-generator.d.ts +0 -9
  242. package/dist/utils/type-generator.d.ts.map +0 -1
  243. package/dist/utils/type-generator.js +0 -86
  244. package/dist/utils/type-generator.js.map +0 -1
  245. package/dist/utils/version.d.ts +0 -10
  246. package/dist/utils/version.d.ts.map +0 -1
  247. package/dist/utils/version.js +0 -30
  248. package/dist/utils/version.js.map +0 -1
  249. package/dist/utils/versions.d.ts.map +0 -1
  250. package/dist/utils/versions.js.map +0 -1
  251. package/src/dev-app/app/api/blocks/[name]/config/route.ts +0 -140
  252. package/src/dev-app/app/api/blocks/route.ts +0 -61
  253. package/src/dev-app/app/api/config/route.ts +0 -98
  254. package/src/dev-app/app/api/context/route.ts +0 -126
  255. package/src/dev-app/app/api/preview/[name]/route.ts +0 -137
  256. package/src/dev-app/app/api/workspaces/route.ts +0 -124
  257. package/src/dev-app/app/layout.tsx +0 -18
  258. package/src/dev-app/app/page.tsx +0 -1785
  259. package/test.d.ts +0 -1
  260. 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"}