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.
- package/dist/cli.js +7 -1
- package/dist/cli.js.map +1 -1
- package/dist/commands/build.d.ts.map +1 -1
- package/dist/commands/build.js +67 -8
- package/dist/commands/build.js.map +1 -1
- package/dist/commands/create.d.ts.map +1 -1
- package/dist/commands/create.js +114 -70
- package/dist/commands/create.js.map +1 -1
- package/dist/commands/dev.d.ts.map +1 -1
- package/dist/commands/dev.js +73 -10
- package/dist/commands/dev.js.map +1 -1
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +70 -67
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/migrate.d.ts +2 -0
- package/dist/commands/migrate.d.ts.map +1 -0
- package/dist/commands/migrate.js +225 -0
- package/dist/commands/migrate.js.map +1 -0
- package/dist/types/block-config.d.ts +40 -0
- package/dist/types/block-config.d.ts.map +1 -0
- package/dist/types/block-config.js +3 -0
- package/dist/types/block-config.js.map +1 -0
- package/dist/utils/block-config.d.ts +10 -0
- package/dist/utils/block-config.d.ts.map +1 -0
- package/dist/utils/block-config.js +145 -0
- package/dist/utils/block-config.js.map +1 -0
- package/dist/utils/field-schema.d.ts +10 -0
- package/dist/utils/field-schema.d.ts.map +1 -0
- package/dist/utils/field-schema.js +155 -0
- package/dist/utils/field-schema.js.map +1 -0
- package/dist/utils/graphql.js +1 -1
- package/dist/utils/graphql.js.map +1 -1
- package/dist/utils/type-generator.d.ts +3 -0
- package/dist/utils/type-generator.d.ts.map +1 -0
- package/dist/utils/type-generator.js +67 -0
- package/dist/utils/type-generator.js.map +1 -0
- 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,
|
|
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 @@
|
|
|
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.
|
|
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",
|