cmssy-cli 0.20.1 → 0.24.1
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/config.d.ts +1 -1
- package/dist/cli.js +136 -23
- package/dist/cli.js.map +1 -1
- package/dist/commands/add-source.d.ts +7 -0
- package/dist/commands/add-source.d.ts.map +1 -0
- package/dist/commands/add-source.js +238 -0
- package/dist/commands/add-source.js.map +1 -0
- package/dist/commands/build.d.ts +1 -0
- package/dist/commands/build.d.ts.map +1 -1
- package/dist/commands/build.js +56 -12
- package/dist/commands/build.js.map +1 -1
- package/dist/commands/create.d.ts.map +1 -1
- package/dist/commands/create.js +22 -2
- package/dist/commands/create.js.map +1 -1
- package/dist/commands/dev.d.ts.map +1 -1
- package/dist/commands/dev.js +652 -410
- package/dist/commands/dev.js.map +1 -1
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +3 -1
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/migrate.d.ts.map +1 -1
- package/dist/commands/migrate.js +3 -1
- package/dist/commands/migrate.js.map +1 -1
- package/dist/commands/publish.js +74 -0
- package/dist/commands/publish.js.map +1 -1
- package/dist/dev-ui/app.js +166 -19
- package/dist/dev-ui/index.html +138 -0
- package/dist/dev-ui-react/App.tsx +164 -0
- package/dist/dev-ui-react/__tests__/previewData.test.ts +193 -0
- package/dist/dev-ui-react/components/BlocksList.tsx +232 -0
- package/dist/dev-ui-react/components/Editor.tsx +469 -0
- package/dist/dev-ui-react/components/Preview.tsx +146 -0
- package/dist/dev-ui-react/hooks/useBlocks.ts +80 -0
- package/dist/dev-ui-react/index.html +13 -0
- package/dist/dev-ui-react/main.tsx +8 -0
- package/dist/dev-ui-react/styles.css +856 -0
- package/dist/dev-ui-react/types.ts +45 -0
- package/dist/types/block-config.d.ts +100 -2
- package/dist/types/block-config.d.ts.map +1 -1
- package/dist/types/block-config.js +6 -1
- package/dist/types/block-config.js.map +1 -1
- package/dist/utils/block-config.js +3 -3
- package/dist/utils/block-config.js.map +1 -1
- package/dist/utils/blocks-meta-cache.d.ts +28 -0
- package/dist/utils/blocks-meta-cache.d.ts.map +1 -0
- package/dist/utils/blocks-meta-cache.js +72 -0
- package/dist/utils/blocks-meta-cache.js.map +1 -0
- package/dist/utils/builder.d.ts +3 -0
- package/dist/utils/builder.d.ts.map +1 -1
- package/dist/utils/builder.js +17 -14
- package/dist/utils/builder.js.map +1 -1
- package/dist/utils/field-schema.d.ts +2 -0
- package/dist/utils/field-schema.d.ts.map +1 -1
- package/dist/utils/field-schema.js +21 -4
- package/dist/utils/field-schema.js.map +1 -1
- package/dist/utils/graphql.d.ts +2 -0
- package/dist/utils/graphql.d.ts.map +1 -1
- package/dist/utils/graphql.js +22 -0
- package/dist/utils/graphql.js.map +1 -1
- package/dist/utils/scanner.d.ts +5 -3
- package/dist/utils/scanner.d.ts.map +1 -1
- package/dist/utils/scanner.js +23 -16
- package/dist/utils/scanner.js.map +1 -1
- package/dist/utils/type-generator.d.ts +7 -1
- package/dist/utils/type-generator.d.ts.map +1 -1
- package/dist/utils/type-generator.js +58 -41
- package/dist/utils/type-generator.js.map +1 -1
- package/package.json +8 -3
- package/dist/commands/deploy.d.ts +0 -9
- package/dist/commands/deploy.d.ts.map +0 -1
- package/dist/commands/deploy.js +0 -226
- package/dist/commands/deploy.js.map +0 -1
- package/dist/commands/push.d.ts +0 -9
- package/dist/commands/push.d.ts.map +0 -1
- package/dist/commands/push.js +0 -199
- package/dist/commands/push.js.map +0 -1
- package/dist/utils/blockforge-config.d.ts +0 -19
- package/dist/utils/blockforge-config.d.ts.map +0 -1
- package/dist/utils/blockforge-config.js +0 -19
- package/dist/utils/blockforge-config.js.map +0 -1
package/dist/utils/graphql.d.ts
CHANGED
|
@@ -3,4 +3,6 @@ export declare function createClient(): GraphQLClient;
|
|
|
3
3
|
export declare const PUBLISH_PACKAGE_MUTATION = "\n mutation PublishPackage($token: String!, $input: PublishPackageInput!) {\n publishPackage(token: $token, input: $input) {\n success\n message\n packageId\n status\n }\n }\n";
|
|
4
4
|
export declare const IMPORT_BLOCK_MUTATION = "\n mutation ImportBlock($input: ImportBlockInput!) {\n importBlock(input: $input) {\n id\n blockType\n name\n description\n icon\n category\n layoutSlot\n schemaFields {\n key\n type\n label\n defaultValue\n placeholder\n required\n helperText\n options\n minValue\n maxValue\n group\n showWhen {\n field\n equals\n notEquals\n notEmpty\n isEmpty\n }\n validation {\n minLength\n maxLength\n min\n max\n pattern\n message\n }\n }\n defaultContent\n requires {\n auth\n language\n workspace\n modules\n permissions\n features\n }\n version\n createdAt\n }\n }\n";
|
|
5
5
|
export declare const IMPORT_TEMPLATE_MUTATION = "\n mutation ImportTemplate($input: ImportTemplateInput!) {\n importTemplate(input: $input) {\n success\n block {\n id\n blockType\n name\n version\n }\n pagesCreated\n pagesUpdated\n layoutSlotsCreated\n layoutSlotsUpdated\n message\n }\n }\n";
|
|
6
|
+
export declare const ADD_BLOCK_SOURCE_CODE_MUTATION = "\n mutation AddBlockSourceCode($input: AddBlockSourceCodeInput!) {\n addBlockSourceCode(input: $input) {\n id\n blockType\n name\n sourceUrl\n sourceCssUrl\n dependenciesUrl\n }\n }\n";
|
|
7
|
+
export declare const GET_WORKSPACE_BLOCKS_QUERY = "\n query GetWorkspaceBlocks {\n workspaceBlocks {\n id\n blockType\n name\n sourceUrl\n }\n }\n";
|
|
6
8
|
//# 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;AAGhD,wBAAgB,YAAY,IAAI,aAAa,CAe5C;AAGD,eAAO,MAAM,wBAAwB,gNASpC,CAAC;AAEF,eAAO,MAAM,qBAAqB,y3BAmDjC,CAAC;AAEF,eAAO,MAAM,wBAAwB,mUAiBpC,CAAC"}
|
|
1
|
+
{"version":3,"file":"graphql.d.ts","sourceRoot":"","sources":["../../src/utils/graphql.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGhD,wBAAgB,YAAY,IAAI,aAAa,CAe5C;AAGD,eAAO,MAAM,wBAAwB,gNASpC,CAAC;AAEF,eAAO,MAAM,qBAAqB,y3BAmDjC,CAAC;AAEF,eAAO,MAAM,wBAAwB,mUAiBpC,CAAC;AAEF,eAAO,MAAM,8BAA8B,kOAW1C,CAAC;AAEF,eAAO,MAAM,0BAA0B,gIAStC,CAAC"}
|
package/dist/utils/graphql.js
CHANGED
|
@@ -93,4 +93,26 @@ export const IMPORT_TEMPLATE_MUTATION = `
|
|
|
93
93
|
}
|
|
94
94
|
}
|
|
95
95
|
`;
|
|
96
|
+
export const ADD_BLOCK_SOURCE_CODE_MUTATION = `
|
|
97
|
+
mutation AddBlockSourceCode($input: AddBlockSourceCodeInput!) {
|
|
98
|
+
addBlockSourceCode(input: $input) {
|
|
99
|
+
id
|
|
100
|
+
blockType
|
|
101
|
+
name
|
|
102
|
+
sourceUrl
|
|
103
|
+
sourceCssUrl
|
|
104
|
+
dependenciesUrl
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
`;
|
|
108
|
+
export const GET_WORKSPACE_BLOCKS_QUERY = `
|
|
109
|
+
query GetWorkspaceBlocks {
|
|
110
|
+
workspaceBlocks {
|
|
111
|
+
id
|
|
112
|
+
blockType
|
|
113
|
+
name
|
|
114
|
+
sourceUrl
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
`;
|
|
96
118
|
//# 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,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;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmDpC,CAAC;AAEF,MAAM,CAAC,MAAM,wBAAwB,GAAG;;;;;;;;;;;;;;;;;CAiBvC,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;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmDpC,CAAC;AAEF,MAAM,CAAC,MAAM,wBAAwB,GAAG;;;;;;;;;;;;;;;;;CAiBvC,CAAC;AAEF,MAAM,CAAC,MAAM,8BAA8B,GAAG;;;;;;;;;;;CAW7C,CAAC;AAEF,MAAM,CAAC,MAAM,0BAA0B,GAAG;;;;;;;;;CASzC,CAAC"}
|
package/dist/utils/scanner.d.ts
CHANGED
|
@@ -11,6 +11,8 @@ export interface ScanOptions {
|
|
|
11
11
|
requirePackageJson?: boolean;
|
|
12
12
|
/** Custom working directory (default: process.cwd()) */
|
|
13
13
|
cwd?: string;
|
|
14
|
+
/** Only scan specific blocks/templates by name (case-insensitive) */
|
|
15
|
+
names?: string[];
|
|
14
16
|
}
|
|
15
17
|
export interface ScannedResource {
|
|
16
18
|
type: "block" | "template";
|
|
@@ -26,9 +28,9 @@ export interface ScannedResource {
|
|
|
26
28
|
/**
|
|
27
29
|
* Scan blocks and templates directories with configurable options.
|
|
28
30
|
* Supports 3 modes:
|
|
29
|
-
* - Strict mode (build):
|
|
30
|
-
* - Lenient mode (dev):
|
|
31
|
-
* - Minimal mode (package):
|
|
31
|
+
* - Strict mode (build): throws errors, requires block.config.ts + validation
|
|
32
|
+
* - Lenient mode (dev): warns, loads preview.json, metadata
|
|
33
|
+
* - Minimal mode (package): only package.json, no validation
|
|
32
34
|
*/
|
|
33
35
|
export declare function scanResources(options?: ScanOptions): Promise<ScannedResource[]>;
|
|
34
36
|
//# sourceMappingURL=scanner.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scanner.d.ts","sourceRoot":"","sources":["../../src/utils/scanner.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,WAAW;IAC1B,wDAAwD;IACxD,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,2CAA2C;IAC3C,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,sCAAsC;IACtC,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,yCAAyC;IACzC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,2CAA2C;IAC3C,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,wDAAwD;IACxD,GAAG,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"scanner.d.ts","sourceRoot":"","sources":["../../src/utils/scanner.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,WAAW;IAC1B,wDAAwD;IACxD,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,2CAA2C;IAC3C,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,sCAAsC;IACtC,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,yCAAyC;IACzC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,2CAA2C;IAC3C,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,wDAAwD;IACxD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,qEAAqE;IACrE,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,OAAO,GAAG,UAAU,CAAC;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,GAAG,CAAC;IAClB,WAAW,CAAC,EAAE,GAAG,CAAC;IAClB,WAAW,CAAC,EAAE,GAAG,CAAC;CACnB;AAED;;;;;;GAMG;AACH,wBAAsB,aAAa,CACjC,OAAO,GAAE,WAAgB,GACxB,OAAO,CAAC,eAAe,EAAE,CAAC,CAwC5B"}
|
package/dist/utils/scanner.js
CHANGED
|
@@ -6,12 +6,12 @@ import { getPackageJson } from "./cmssy-config.js";
|
|
|
6
6
|
/**
|
|
7
7
|
* Scan blocks and templates directories with configurable options.
|
|
8
8
|
* Supports 3 modes:
|
|
9
|
-
* - Strict mode (build):
|
|
10
|
-
* - Lenient mode (dev):
|
|
11
|
-
* - Minimal mode (package):
|
|
9
|
+
* - Strict mode (build): throws errors, requires block.config.ts + validation
|
|
10
|
+
* - Lenient mode (dev): warns, loads preview.json, metadata
|
|
11
|
+
* - Minimal mode (package): only package.json, no validation
|
|
12
12
|
*/
|
|
13
13
|
export async function scanResources(options = {}) {
|
|
14
|
-
const { strict = false, loadConfig = true, validateSchema: shouldValidate = true, loadPreview = false, requirePackageJson = true, cwd = process.cwd(), } = options;
|
|
14
|
+
const { strict = false, loadConfig = true, validateSchema: shouldValidate = true, loadPreview = false, requirePackageJson = true, cwd = process.cwd(), names, } = options;
|
|
15
15
|
const resources = [];
|
|
16
16
|
// Scan blocks
|
|
17
17
|
await scanDirectory({
|
|
@@ -23,6 +23,7 @@ export async function scanResources(options = {}) {
|
|
|
23
23
|
shouldValidate,
|
|
24
24
|
loadPreview,
|
|
25
25
|
requirePackageJson,
|
|
26
|
+
names,
|
|
26
27
|
});
|
|
27
28
|
// Scan templates
|
|
28
29
|
await scanDirectory({
|
|
@@ -34,18 +35,24 @@ export async function scanResources(options = {}) {
|
|
|
34
35
|
shouldValidate,
|
|
35
36
|
loadPreview,
|
|
36
37
|
requirePackageJson,
|
|
38
|
+
names,
|
|
37
39
|
});
|
|
38
40
|
return resources;
|
|
39
41
|
}
|
|
40
42
|
async function scanDirectory(opts) {
|
|
41
|
-
const { type, dir, resources, strict, loadConfig, shouldValidate, loadPreview, requirePackageJson } = opts;
|
|
43
|
+
const { type, dir, resources, strict, loadConfig, shouldValidate, loadPreview, requirePackageJson, names } = opts;
|
|
42
44
|
if (!fs.existsSync(dir)) {
|
|
43
45
|
return;
|
|
44
46
|
}
|
|
45
|
-
|
|
47
|
+
let itemDirs = fs
|
|
46
48
|
.readdirSync(dir, { withFileTypes: true })
|
|
47
49
|
.filter((dirent) => dirent.isDirectory())
|
|
48
50
|
.map((dirent) => dirent.name);
|
|
51
|
+
// Filter by names if provided (case-insensitive)
|
|
52
|
+
if (names && names.length > 0) {
|
|
53
|
+
const lowerNames = names.map((n) => n.toLowerCase());
|
|
54
|
+
itemDirs = itemDirs.filter((name) => lowerNames.includes(name.toLowerCase()));
|
|
55
|
+
}
|
|
49
56
|
for (const itemName of itemDirs) {
|
|
50
57
|
const itemPath = path.join(dir, itemName);
|
|
51
58
|
// Try loading block.config.ts if requested
|
|
@@ -69,11 +76,12 @@ async function scanDirectory(opts) {
|
|
|
69
76
|
}
|
|
70
77
|
if (strict) {
|
|
71
78
|
console.warn(chalk.yellow(`Warning: Skipping ${itemName} - no block.config.ts found`));
|
|
79
|
+
continue;
|
|
72
80
|
}
|
|
73
|
-
continue
|
|
81
|
+
// In non-strict mode, continue without config
|
|
74
82
|
}
|
|
75
|
-
// Validate schema if requested
|
|
76
|
-
if (shouldValidate) {
|
|
83
|
+
// Validate schema if requested and config exists and has schema
|
|
84
|
+
if (shouldValidate && blockConfig && blockConfig.schema) {
|
|
77
85
|
const validation = await validateSchema(blockConfig.schema, itemPath);
|
|
78
86
|
if (!validation.valid) {
|
|
79
87
|
const errorMessage = `\nValidation ${strict ? "errors" : "warnings"} in ${itemName}:`;
|
|
@@ -85,22 +93,19 @@ async function scanDirectory(opts) {
|
|
|
85
93
|
else {
|
|
86
94
|
console.warn(chalk.yellow(errorMessage));
|
|
87
95
|
validation.errors.forEach((err) => console.warn(chalk.yellow(` - ${err}`)));
|
|
88
|
-
|
|
96
|
+
// Don't skip in non-strict - just warn
|
|
89
97
|
}
|
|
90
98
|
}
|
|
91
99
|
}
|
|
92
100
|
}
|
|
93
|
-
// Load package.json
|
|
101
|
+
// Load package.json (optional in non-strict mode)
|
|
94
102
|
const pkg = getPackageJson(itemPath);
|
|
95
103
|
if (requirePackageJson && (!pkg || !pkg.name || !pkg.version)) {
|
|
96
104
|
const message = `${type === "block" ? "Block" : "Template"} "${itemName}" must have package.json with name and version`;
|
|
97
105
|
if (strict) {
|
|
98
106
|
throw new Error(message);
|
|
99
107
|
}
|
|
100
|
-
|
|
101
|
-
console.warn(chalk.yellow(`Warning: ${message}`));
|
|
102
|
-
continue;
|
|
103
|
-
}
|
|
108
|
+
// In non-strict mode, continue without valid package.json
|
|
104
109
|
}
|
|
105
110
|
// Load preview.json if requested
|
|
106
111
|
let previewData = {};
|
|
@@ -116,11 +121,13 @@ async function scanDirectory(opts) {
|
|
|
116
121
|
name: itemName,
|
|
117
122
|
path: itemPath,
|
|
118
123
|
packageJson: pkg,
|
|
124
|
+
// Default displayName from directory name (PascalCase)
|
|
125
|
+
displayName: itemName.split('-').map(w => w.charAt(0).toUpperCase() + w.slice(1)).join(''),
|
|
119
126
|
};
|
|
120
127
|
// Add optional fields if block.config.ts was loaded
|
|
121
128
|
if (blockConfig) {
|
|
122
129
|
resource.blockConfig = blockConfig;
|
|
123
|
-
resource.displayName = blockConfig.name ||
|
|
130
|
+
resource.displayName = blockConfig.name || resource.displayName;
|
|
124
131
|
resource.description = blockConfig.description || pkg?.description;
|
|
125
132
|
resource.category = blockConfig.category;
|
|
126
133
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scanner.js","sourceRoot":"","sources":["../../src/utils/scanner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"scanner.js","sourceRoot":"","sources":["../../src/utils/scanner.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,9 @@
|
|
|
1
1
|
import { FieldConfig } from "../types/block-config.js";
|
|
2
|
-
|
|
2
|
+
import { FieldTypeDefinition } from "./field-schema.js";
|
|
3
|
+
export interface GenerateTypesOptions {
|
|
4
|
+
blockPath: string;
|
|
5
|
+
schema: Record<string, FieldConfig>;
|
|
6
|
+
fieldTypes?: FieldTypeDefinition[];
|
|
7
|
+
}
|
|
8
|
+
export declare function generateTypes(options: GenerateTypesOptions): Promise<void>;
|
|
3
9
|
//# sourceMappingURL=type-generator.d.ts.map
|
|
@@ -1 +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;
|
|
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;AAClC,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAsBxD,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACpC,UAAU,CAAC,EAAE,mBAAmB,EAAE,CAAC;CACpC;AAED,wBAAsB,aAAa,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CAchF"}
|
|
@@ -1,7 +1,27 @@
|
|
|
1
1
|
import fs from "fs-extra";
|
|
2
2
|
import path from "path";
|
|
3
|
-
|
|
4
|
-
|
|
3
|
+
// Default value type mappings (used when field types are not provided)
|
|
4
|
+
const DEFAULT_VALUE_TYPES = {
|
|
5
|
+
singleLine: "string",
|
|
6
|
+
multiLine: "string",
|
|
7
|
+
richText: "string",
|
|
8
|
+
numeric: "number",
|
|
9
|
+
date: "string",
|
|
10
|
+
media: "string",
|
|
11
|
+
link: "string",
|
|
12
|
+
select: "string",
|
|
13
|
+
multiselect: "string[]",
|
|
14
|
+
boolean: "boolean",
|
|
15
|
+
color: "string",
|
|
16
|
+
slider: "number",
|
|
17
|
+
repeater: "Record<string, unknown>[]",
|
|
18
|
+
form: "string",
|
|
19
|
+
emailTemplate: "string",
|
|
20
|
+
emailConfiguration: "string",
|
|
21
|
+
};
|
|
22
|
+
export async function generateTypes(options) {
|
|
23
|
+
const { blockPath, schema, fieldTypes } = options;
|
|
24
|
+
const typeDefinition = generateTypeDefinition({ schema, fieldTypes, indent: " " });
|
|
5
25
|
const outputPath = path.join(blockPath, "src", "block.d.ts");
|
|
6
26
|
const fileContent = `// Auto-generated from block.config.ts
|
|
7
27
|
// DO NOT EDIT - This file is automatically regenerated
|
|
@@ -12,11 +32,12 @@ ${typeDefinition}
|
|
|
12
32
|
`;
|
|
13
33
|
await fs.writeFile(outputPath, fileContent);
|
|
14
34
|
}
|
|
15
|
-
function generateTypeDefinition(
|
|
35
|
+
function generateTypeDefinition(options) {
|
|
36
|
+
const { schema, fieldTypes, indent = " " } = options;
|
|
16
37
|
const lines = [];
|
|
17
38
|
Object.entries(schema).forEach(([key, field]) => {
|
|
18
39
|
const optional = field.required ? "" : "?";
|
|
19
|
-
const tsType = mapFieldTypeToTypeScript(field);
|
|
40
|
+
const tsType = mapFieldTypeToTypeScript({ field, fieldTypes, indent });
|
|
20
41
|
if (field.helpText) {
|
|
21
42
|
lines.push(`${indent}/** ${field.helpText} */`);
|
|
22
43
|
}
|
|
@@ -24,45 +45,41 @@ function generateTypeDefinition(schema, indent = " ") {
|
|
|
24
45
|
});
|
|
25
46
|
return lines.join("\n");
|
|
26
47
|
}
|
|
27
|
-
function mapFieldTypeToTypeScript(
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
return "number";
|
|
38
|
-
case "boolean":
|
|
39
|
-
return "boolean";
|
|
40
|
-
case "date":
|
|
41
|
-
return "string";
|
|
42
|
-
case "media":
|
|
43
|
-
return "{ url: string; alt?: string; width?: number; height?: number }";
|
|
44
|
-
case "select": {
|
|
45
|
-
const selectField = field;
|
|
46
|
-
if (selectField.options && selectField.options.length > 0) {
|
|
47
|
-
const unionTypes = selectField.options
|
|
48
|
-
.map((opt) => `"${opt.value}"`)
|
|
49
|
-
.join(" | ");
|
|
50
|
-
return unionTypes;
|
|
51
|
-
}
|
|
52
|
-
return "string";
|
|
48
|
+
function mapFieldTypeToTypeScript(options) {
|
|
49
|
+
const { field, fieldTypes, indent = " " } = options;
|
|
50
|
+
// Special handling for select (generate union type from options)
|
|
51
|
+
if (field.type === "select") {
|
|
52
|
+
const selectField = field;
|
|
53
|
+
if (selectField.options && selectField.options.length > 0) {
|
|
54
|
+
const unionTypes = selectField.options
|
|
55
|
+
.map((opt) => `"${opt.value}"`)
|
|
56
|
+
.join(" | ");
|
|
57
|
+
return unionTypes;
|
|
53
58
|
}
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
59
|
+
return "string";
|
|
60
|
+
}
|
|
61
|
+
// Special handling for repeater (generate nested type from schema)
|
|
62
|
+
if (field.type === "repeater") {
|
|
63
|
+
const repeaterField = field;
|
|
64
|
+
if (repeaterField.schema) {
|
|
65
|
+
const nestedIndent = indent + " ";
|
|
66
|
+
const nestedType = `{\n${generateTypeDefinition({
|
|
67
|
+
schema: repeaterField.schema,
|
|
68
|
+
fieldTypes,
|
|
69
|
+
indent: nestedIndent,
|
|
70
|
+
})}\n${indent}}`;
|
|
71
|
+
return `Array<${nestedType}>`;
|
|
72
|
+
}
|
|
73
|
+
return "any[]";
|
|
74
|
+
}
|
|
75
|
+
// Look up valueType from backend field types
|
|
76
|
+
if (fieldTypes) {
|
|
77
|
+
const fieldTypeDef = fieldTypes.find((ft) => ft.type === field.type);
|
|
78
|
+
if (fieldTypeDef?.valueType) {
|
|
79
|
+
return fieldTypeDef.valueType;
|
|
63
80
|
}
|
|
64
|
-
default:
|
|
65
|
-
return "any";
|
|
66
81
|
}
|
|
82
|
+
// Fall back to default mappings
|
|
83
|
+
return DEFAULT_VALUE_TYPES[field.type] || "any";
|
|
67
84
|
}
|
|
68
85
|
//# sourceMappingURL=type-generator.js.map
|
|
@@ -1 +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;
|
|
1
|
+
{"version":3,"file":"type-generator.js","sourceRoot":"","sources":["../../src/utils/type-generator.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.
|
|
3
|
+
"version": "0.24.1",
|
|
4
4
|
"description": "Unified CLI for building and publishing blocks to Cmssy marketplace",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
"./config": "./config.js"
|
|
13
13
|
},
|
|
14
14
|
"scripts": {
|
|
15
|
-
"build": "tsc && tsc config.ts --module esnext --target esnext --moduleResolution bundler && tsc config.ts --declaration --emitDeclarationOnly --module esnext --target esnext --moduleResolution bundler && cp -r src/dev-ui dist/",
|
|
15
|
+
"build": "tsc && tsc config.ts --module esnext --target esnext --moduleResolution bundler && tsc config.ts --declaration --emitDeclarationOnly --module esnext --target esnext --moduleResolution bundler && cp -r src/dev-ui-react dist/",
|
|
16
16
|
"dev": "tsc --watch",
|
|
17
17
|
"test": "vitest run",
|
|
18
18
|
"test:watch": "vitest",
|
|
@@ -46,6 +46,8 @@
|
|
|
46
46
|
"node": ">=18.0.0"
|
|
47
47
|
},
|
|
48
48
|
"dependencies": {
|
|
49
|
+
"@tailwindcss/postcss": "^4.1.18",
|
|
50
|
+
"@vitejs/plugin-react": "^5.1.2",
|
|
49
51
|
"archiver": "^7.0.1",
|
|
50
52
|
"chalk": "^5.3.0",
|
|
51
53
|
"chokidar": "^4.0.1",
|
|
@@ -62,8 +64,10 @@
|
|
|
62
64
|
"node-fetch": "^3.3.2",
|
|
63
65
|
"ora": "^8.0.1",
|
|
64
66
|
"postcss": "^8.4.49",
|
|
67
|
+
"postcss-import": "^16.1.1",
|
|
65
68
|
"semver": "^7.6.3",
|
|
66
|
-
"tsx": "^4.21.0"
|
|
69
|
+
"tsx": "^4.21.0",
|
|
70
|
+
"vite": "^7.3.1"
|
|
67
71
|
},
|
|
68
72
|
"devDependencies": {
|
|
69
73
|
"@types/archiver": "^7.0.0",
|
|
@@ -73,6 +77,7 @@
|
|
|
73
77
|
"@types/inquirer": "^9.0.7",
|
|
74
78
|
"@types/node": "^22.10.2",
|
|
75
79
|
"@types/node-fetch": "^2.6.13",
|
|
80
|
+
"@types/postcss-import": "^14.0.3",
|
|
76
81
|
"@types/semver": "^7.7.1",
|
|
77
82
|
"@vitest/coverage-v8": "^4.0.18",
|
|
78
83
|
"typescript": "^5.7.2",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"deploy.d.ts","sourceRoot":"","sources":["../../src/commands/deploy.ts"],"names":[],"mappings":"AASA,UAAU,aAAa;IACrB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AASD,wBAAsB,aAAa,CAAC,OAAO,EAAE,aAAa,iBA4EzD"}
|