cmssy-cli 0.5.0 → 0.6.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 (37) hide show
  1. package/dist/cli.js +7 -1
  2. package/dist/cli.js.map +1 -1
  3. package/dist/commands/build.d.ts.map +1 -1
  4. package/dist/commands/build.js +67 -8
  5. package/dist/commands/build.js.map +1 -1
  6. package/dist/commands/create.d.ts.map +1 -1
  7. package/dist/commands/create.js +114 -70
  8. package/dist/commands/create.js.map +1 -1
  9. package/dist/commands/dev.d.ts.map +1 -1
  10. package/dist/commands/dev.js +73 -10
  11. package/dist/commands/dev.js.map +1 -1
  12. package/dist/commands/init.d.ts.map +1 -1
  13. package/dist/commands/init.js +70 -67
  14. package/dist/commands/init.js.map +1 -1
  15. package/dist/commands/migrate.d.ts +2 -0
  16. package/dist/commands/migrate.d.ts.map +1 -0
  17. package/dist/commands/migrate.js +225 -0
  18. package/dist/commands/migrate.js.map +1 -0
  19. package/dist/types/block-config.d.ts +40 -0
  20. package/dist/types/block-config.d.ts.map +1 -0
  21. package/dist/types/block-config.js +3 -0
  22. package/dist/types/block-config.js.map +1 -0
  23. package/dist/utils/block-config.d.ts +10 -0
  24. package/dist/utils/block-config.d.ts.map +1 -0
  25. package/dist/utils/block-config.js +145 -0
  26. package/dist/utils/block-config.js.map +1 -0
  27. package/dist/utils/field-schema.d.ts +10 -0
  28. package/dist/utils/field-schema.d.ts.map +1 -0
  29. package/dist/utils/field-schema.js +155 -0
  30. package/dist/utils/field-schema.js.map +1 -0
  31. package/dist/utils/graphql.js +1 -1
  32. package/dist/utils/graphql.js.map +1 -1
  33. package/dist/utils/type-generator.d.ts +3 -0
  34. package/dist/utils/type-generator.d.ts.map +1 -0
  35. package/dist/utils/type-generator.js +67 -0
  36. package/dist/utils/type-generator.js.map +1 -0
  37. package/package.json +5 -1
@@ -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,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,CACb,4DAA4D,CAC7D,CAAC;IACJ,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,oBAAoB;AACpB,MAAM,CAAC,MAAM,wBAAwB,GAAG;;;;;;;;;CASvC,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,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,CACb,sDAAsD,CACvD,CAAC;IACJ,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,oBAAoB;AACpB,MAAM,CAAC,MAAM,wBAAwB,GAAG;;;;;;;;;CASvC,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { FieldConfig } from "../types/block-config.js";
2
+ export declare function generateTypes(blockPath: string, schema: Record<string, FieldConfig>): Promise<void>;
3
+ //# sourceMappingURL=type-generator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"type-generator.d.ts","sourceRoot":"","sources":["../../src/utils/type-generator.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,WAAW,EAGZ,MAAM,0BAA0B,CAAC;AAElC,wBAAsB,aAAa,CACjC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,GAClC,OAAO,CAAC,IAAI,CAAC,CAaf"}
@@ -0,0 +1,67 @@
1
+ import fs from "fs-extra";
2
+ import path from "path";
3
+ export async function generateTypes(blockPath, schema) {
4
+ const typeDefinition = generateTypeDefinition(schema);
5
+ const outputPath = path.join(blockPath, "src", "block.d.ts");
6
+ const fileContent = `// Auto-generated from block.config.ts
7
+ // DO NOT EDIT - This file is automatically regenerated
8
+
9
+ export interface BlockContent {
10
+ ${typeDefinition}
11
+ }
12
+ `;
13
+ await fs.writeFile(outputPath, fileContent);
14
+ }
15
+ function generateTypeDefinition(schema, indent = " ") {
16
+ const lines = [];
17
+ Object.entries(schema).forEach(([key, field]) => {
18
+ const optional = field.required ? "" : "?";
19
+ const tsType = mapFieldTypeToTypeScript(field);
20
+ if (field.helpText) {
21
+ lines.push(`${indent}/** ${field.helpText} */`);
22
+ }
23
+ lines.push(`${indent}${key}${optional}: ${tsType};`);
24
+ });
25
+ return lines.join("\n");
26
+ }
27
+ function mapFieldTypeToTypeScript(field) {
28
+ switch (field.type) {
29
+ case "singleLine":
30
+ case "multiLine":
31
+ case "richText":
32
+ case "text":
33
+ case "string":
34
+ case "link":
35
+ case "color":
36
+ return "string";
37
+ case "number":
38
+ return "number";
39
+ case "boolean":
40
+ return "boolean";
41
+ case "date":
42
+ return "string"; // ISO date string
43
+ case "media":
44
+ return "{ url: string; alt?: string; width?: number; height?: number }";
45
+ case "select": {
46
+ const selectField = field;
47
+ if (selectField.options && selectField.options.length > 0) {
48
+ const unionTypes = selectField.options
49
+ .map((opt) => `"${opt.value}"`)
50
+ .join(" | ");
51
+ return unionTypes;
52
+ }
53
+ return "string";
54
+ }
55
+ case "repeater": {
56
+ const repeaterField = field;
57
+ if (repeaterField.schema) {
58
+ const nestedType = `{\n${generateTypeDefinition(repeaterField.schema, " ")}\n }`;
59
+ return `Array<${nestedType}>`;
60
+ }
61
+ return "any[]";
62
+ }
63
+ default:
64
+ return "any";
65
+ }
66
+ }
67
+ //# sourceMappingURL=type-generator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"type-generator.js","sourceRoot":"","sources":["../../src/utils/type-generator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,IAAI,MAAM,MAAM,CAAC;AAOxB,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,SAAiB,EACjB,MAAmC;IAEnC,MAAM,cAAc,GAAG,sBAAsB,CAAC,MAAM,CAAC,CAAC;IACtD,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;IAE7D,MAAM,WAAW,GAAG;;;;EAIpB,cAAc;;CAEf,CAAC;IAEA,MAAM,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;AAC9C,CAAC;AAED,SAAS,sBAAsB,CAC7B,MAAmC,EACnC,MAAM,GAAG,IAAI;IAEb,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;QAC9C,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;QAC3C,MAAM,MAAM,GAAG,wBAAwB,CAAC,KAAK,CAAC,CAAC;QAE/C,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YACnB,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,OAAO,KAAK,CAAC,QAAQ,KAAK,CAAC,CAAC;QAClD,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,GAAG,GAAG,GAAG,QAAQ,KAAK,MAAM,GAAG,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;IAEH,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,SAAS,wBAAwB,CAAC,KAAkB;IAClD,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;QACnB,KAAK,YAAY,CAAC;QAClB,KAAK,WAAW,CAAC;QACjB,KAAK,UAAU,CAAC;QAChB,KAAK,MAAM,CAAC;QACZ,KAAK,QAAQ,CAAC;QACd,KAAK,MAAM,CAAC;QACZ,KAAK,OAAO;YACV,OAAO,QAAQ,CAAC;QAElB,KAAK,QAAQ;YACX,OAAO,QAAQ,CAAC;QAElB,KAAK,SAAS;YACZ,OAAO,SAAS,CAAC;QAEnB,KAAK,MAAM;YACT,OAAO,QAAQ,CAAC,CAAC,kBAAkB;QAErC,KAAK,OAAO;YACV,OAAO,gEAAgE,CAAC;QAE1E,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,MAAM,WAAW,GAAG,KAA0B,CAAC;YAC/C,IAAI,WAAW,CAAC,OAAO,IAAI,WAAW,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC1D,MAAM,UAAU,GAAG,WAAW,CAAC,OAAO;qBACnC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,KAAK,GAAG,CAAC;qBAC9B,IAAI,CAAC,KAAK,CAAC,CAAC;gBACf,OAAO,UAAU,CAAC;YACpB,CAAC;YACD,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,KAAK,UAAU,CAAC,CAAC,CAAC;YAChB,MAAM,aAAa,GAAG,KAA4B,CAAC;YACnD,IAAI,aAAa,CAAC,MAAM,EAAE,CAAC;gBACzB,MAAM,UAAU,GAAG,MAAM,sBAAsB,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC;gBACrF,OAAO,SAAS,UAAU,GAAG,CAAC;YAChC,CAAC;YACD,OAAO,OAAO,CAAC;QACjB,CAAC;QAED;YACE,OAAO,KAAK,CAAC;IACjB,CAAC;AACH,CAAC"}
package/package.json CHANGED
@@ -1,12 +1,16 @@
1
1
  {
2
2
  "name": "cmssy-cli",
3
- "version": "0.5.0",
3
+ "version": "0.6.0",
4
4
  "description": "Unified CLI for building and publishing blocks to Cmssy marketplace",
5
5
  "type": "module",
6
6
  "bin": {
7
7
  "cmssy": "./dist/cli.js",
8
8
  "cmssy-cli": "./dist/cli.js"
9
9
  },
10
+ "exports": {
11
+ ".": "./dist/cli.js",
12
+ "./config": "./config.js"
13
+ },
10
14
  "scripts": {
11
15
  "build": "tsc",
12
16
  "dev": "tsc --watch",