cmssy-cli 0.21.0 → 0.25.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/config.d.ts +1 -1
- package/dist/cli.js +131 -30
- package/dist/cli.js.map +1 -1
- 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 +31 -4
- 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/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/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.25.0",
|
|
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"}
|
package/dist/commands/deploy.js
DELETED
|
@@ -1,226 +0,0 @@
|
|
|
1
|
-
import chalk from "chalk";
|
|
2
|
-
import FormData from "form-data";
|
|
3
|
-
import fs from "fs-extra";
|
|
4
|
-
import fetch from "node-fetch";
|
|
5
|
-
import ora from "ora";
|
|
6
|
-
import path from "path";
|
|
7
|
-
import { hasConfig, loadConfig } from "../utils/config.js";
|
|
8
|
-
import { createClient, PUBLISH_PACKAGE_MUTATION } from "../utils/graphql.js";
|
|
9
|
-
export async function deployCommand(options) {
|
|
10
|
-
console.log(chalk.blue.bold("\n🔨 Cmssy - Deploy to Marketplace\n"));
|
|
11
|
-
// Check configuration
|
|
12
|
-
if (!hasConfig()) {
|
|
13
|
-
console.error(chalk.red("✖ Not configured. Run: cmssy configure\n"));
|
|
14
|
-
process.exit(1);
|
|
15
|
-
}
|
|
16
|
-
const config = loadConfig();
|
|
17
|
-
// Find cmssy.config.js
|
|
18
|
-
const configPath = path.join(process.cwd(), "cmssy.config.js");
|
|
19
|
-
if (!fs.existsSync(configPath)) {
|
|
20
|
-
console.error(chalk.red("✖ Not a cmssy project (missing cmssy.config.js)\n"));
|
|
21
|
-
process.exit(1);
|
|
22
|
-
}
|
|
23
|
-
// Scan for packages to deploy
|
|
24
|
-
const packages = await scanPackages(options);
|
|
25
|
-
if (packages.length === 0) {
|
|
26
|
-
console.log(chalk.yellow("⚠ No packages found to deploy\n"));
|
|
27
|
-
return;
|
|
28
|
-
}
|
|
29
|
-
console.log(chalk.cyan(`Found ${packages.length} package(s) to deploy:\n`));
|
|
30
|
-
packages.forEach((pkg) => {
|
|
31
|
-
console.log(chalk.white(` • ${pkg.packageJson.name} v${pkg.packageJson.version}`));
|
|
32
|
-
});
|
|
33
|
-
console.log("");
|
|
34
|
-
if (options.dryRun) {
|
|
35
|
-
console.log(chalk.yellow("🔍 Dry run mode - nothing will be published\n"));
|
|
36
|
-
return;
|
|
37
|
-
}
|
|
38
|
-
// Deploy each package
|
|
39
|
-
const client = createClient();
|
|
40
|
-
let successCount = 0;
|
|
41
|
-
let errorCount = 0;
|
|
42
|
-
for (const pkg of packages) {
|
|
43
|
-
const spinner = ora(`Uploading ${pkg.packageJson.name} to Cmssy...`).start();
|
|
44
|
-
try {
|
|
45
|
-
await deployPackage(client, pkg, config.apiToken, config.apiUrl);
|
|
46
|
-
spinner.succeed(chalk.green(`${pkg.packageJson.name} submitted for review`));
|
|
47
|
-
successCount++;
|
|
48
|
-
}
|
|
49
|
-
catch (error) {
|
|
50
|
-
spinner.fail(chalk.red(`${pkg.packageJson.name} failed`));
|
|
51
|
-
console.error(chalk.red(` Error: ${error.message}\n`));
|
|
52
|
-
errorCount++;
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
console.log("");
|
|
56
|
-
if (errorCount === 0) {
|
|
57
|
-
console.log(chalk.green.bold(`✓ ${successCount} package(s) submitted for review\n`));
|
|
58
|
-
console.log(chalk.cyan("Your packages are pending Cmssy review."));
|
|
59
|
-
console.log(chalk.cyan("You'll be notified when they're approved.\n"));
|
|
60
|
-
}
|
|
61
|
-
else {
|
|
62
|
-
console.log(chalk.yellow(`⚠ ${successCount} succeeded, ${errorCount} failed\n`));
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
async function scanPackages(options) {
|
|
66
|
-
const packages = [];
|
|
67
|
-
// Scan blocks
|
|
68
|
-
const blocksDir = path.join(process.cwd(), "blocks");
|
|
69
|
-
if (fs.existsSync(blocksDir)) {
|
|
70
|
-
const blockDirs = fs
|
|
71
|
-
.readdirSync(blocksDir, { withFileTypes: true })
|
|
72
|
-
.filter((dirent) => dirent.isDirectory())
|
|
73
|
-
.map((dirent) => dirent.name);
|
|
74
|
-
for (const blockName of blockDirs) {
|
|
75
|
-
// Filter by options
|
|
76
|
-
if (options.blocks && !options.blocks.includes(blockName)) {
|
|
77
|
-
continue;
|
|
78
|
-
}
|
|
79
|
-
if (!options.all && !options.blocks) {
|
|
80
|
-
continue; // Skip unless --all or specifically listed
|
|
81
|
-
}
|
|
82
|
-
const blockPath = path.join(blocksDir, blockName);
|
|
83
|
-
const pkgPath = path.join(blockPath, "package.json");
|
|
84
|
-
if (!fs.existsSync(pkgPath))
|
|
85
|
-
continue;
|
|
86
|
-
const packageJson = fs.readJsonSync(pkgPath);
|
|
87
|
-
if (!packageJson.cmssy)
|
|
88
|
-
continue;
|
|
89
|
-
packages.push({
|
|
90
|
-
type: "block",
|
|
91
|
-
name: blockName,
|
|
92
|
-
path: blockPath,
|
|
93
|
-
packageJson,
|
|
94
|
-
});
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
// Scan templates
|
|
98
|
-
const templatesDir = path.join(process.cwd(), "templates");
|
|
99
|
-
if (fs.existsSync(templatesDir)) {
|
|
100
|
-
const templateDirs = fs
|
|
101
|
-
.readdirSync(templatesDir, { withFileTypes: true })
|
|
102
|
-
.filter((dirent) => dirent.isDirectory())
|
|
103
|
-
.map((dirent) => dirent.name);
|
|
104
|
-
for (const templateName of templateDirs) {
|
|
105
|
-
// Filter by options
|
|
106
|
-
if (options.templates && !options.templates.includes(templateName)) {
|
|
107
|
-
continue;
|
|
108
|
-
}
|
|
109
|
-
if (!options.all && !options.templates) {
|
|
110
|
-
continue;
|
|
111
|
-
}
|
|
112
|
-
const templatePath = path.join(templatesDir, templateName);
|
|
113
|
-
const pkgPath = path.join(templatePath, "package.json");
|
|
114
|
-
if (!fs.existsSync(pkgPath))
|
|
115
|
-
continue;
|
|
116
|
-
const packageJson = fs.readJsonSync(pkgPath);
|
|
117
|
-
if (!packageJson.cmssy)
|
|
118
|
-
continue;
|
|
119
|
-
packages.push({
|
|
120
|
-
type: "template",
|
|
121
|
-
name: templateName,
|
|
122
|
-
path: templatePath,
|
|
123
|
-
packageJson,
|
|
124
|
-
});
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
return packages;
|
|
128
|
-
}
|
|
129
|
-
async function uploadFilesToBackend(packagePublicPath, packageName, version, apiUrl, apiToken) {
|
|
130
|
-
const form = new FormData();
|
|
131
|
-
// Add package metadata
|
|
132
|
-
form.append("packageName", packageName);
|
|
133
|
-
form.append("version", version);
|
|
134
|
-
// Add index.js file
|
|
135
|
-
const indexJsPath = path.join(packagePublicPath, "index.js");
|
|
136
|
-
if (!fs.existsSync(indexJsPath)) {
|
|
137
|
-
throw new Error(`index.js not found at ${indexJsPath}`);
|
|
138
|
-
}
|
|
139
|
-
form.append("component", fs.createReadStream(indexJsPath), {
|
|
140
|
-
filename: "index.js",
|
|
141
|
-
contentType: "application/javascript",
|
|
142
|
-
});
|
|
143
|
-
// Add index.css if exists
|
|
144
|
-
const indexCssPath = path.join(packagePublicPath, "index.css");
|
|
145
|
-
if (fs.existsSync(indexCssPath)) {
|
|
146
|
-
form.append("css", fs.createReadStream(indexCssPath), {
|
|
147
|
-
filename: "index.css",
|
|
148
|
-
contentType: "text/css",
|
|
149
|
-
});
|
|
150
|
-
}
|
|
151
|
-
// Add package.json
|
|
152
|
-
const packageJsonPath = path.join(packagePublicPath, "package.json");
|
|
153
|
-
let pkgJsonToUpload = packageJsonPath;
|
|
154
|
-
if (!fs.existsSync(packageJsonPath)) {
|
|
155
|
-
// If package.json doesn't exist in build output, use source
|
|
156
|
-
pkgJsonToUpload = path.join(path.dirname(path.dirname(packagePublicPath)), "package.json");
|
|
157
|
-
}
|
|
158
|
-
form.append("packageJson", fs.createReadStream(pkgJsonToUpload), {
|
|
159
|
-
filename: "package.json",
|
|
160
|
-
contentType: "application/json",
|
|
161
|
-
});
|
|
162
|
-
// Determine API base URL (remove /graphql suffix if present)
|
|
163
|
-
const apiBase = apiUrl.replace("/graphql", "");
|
|
164
|
-
const uploadUrl = `${apiBase}/api/upload-package`;
|
|
165
|
-
// Upload to backend
|
|
166
|
-
const response = await fetch(uploadUrl, {
|
|
167
|
-
method: "POST",
|
|
168
|
-
headers: {
|
|
169
|
-
Authorization: `Bearer ${apiToken}`,
|
|
170
|
-
...form.getHeaders(),
|
|
171
|
-
},
|
|
172
|
-
body: form,
|
|
173
|
-
});
|
|
174
|
-
if (!response.ok) {
|
|
175
|
-
const errorText = await response.text();
|
|
176
|
-
throw new Error(`Upload failed: ${response.statusText}. ${errorText}`);
|
|
177
|
-
}
|
|
178
|
-
const result = (await response.json());
|
|
179
|
-
return {
|
|
180
|
-
componentUrl: result.componentUrl,
|
|
181
|
-
cssUrl: result.cssUrl || null,
|
|
182
|
-
packageJsonUrl: result.packageJsonUrl,
|
|
183
|
-
};
|
|
184
|
-
}
|
|
185
|
-
async function deployPackage(client, pkg, apiToken, apiUrl) {
|
|
186
|
-
const { packageJson } = pkg;
|
|
187
|
-
const metadata = packageJson.cmssy;
|
|
188
|
-
// Find built files in public/ directory
|
|
189
|
-
const publicDir = path.join(process.cwd(), "public");
|
|
190
|
-
const packagePublicPath = path.join(publicDir, packageJson.name, packageJson.version);
|
|
191
|
-
if (!fs.existsSync(packagePublicPath)) {
|
|
192
|
-
throw new Error(`Build output not found at ${packagePublicPath}. Run: cmssy build`);
|
|
193
|
-
}
|
|
194
|
-
// Upload package files to Cmssy backend, which uploads to Vercel Blob
|
|
195
|
-
const { componentUrl, cssUrl, packageJsonUrl } = await uploadFilesToBackend(packagePublicPath, packageJson.name, packageJson.version, apiUrl, apiToken);
|
|
196
|
-
// Build input
|
|
197
|
-
const input = {
|
|
198
|
-
name: packageJson.name,
|
|
199
|
-
version: packageJson.version,
|
|
200
|
-
displayName: metadata.displayName,
|
|
201
|
-
description: packageJson.description || metadata.description || "",
|
|
202
|
-
longDescription: metadata.longDescription || packageJson.description || "",
|
|
203
|
-
packageType: metadata.packageType || pkg.type,
|
|
204
|
-
category: metadata.category || "other",
|
|
205
|
-
tags: metadata.tags || [],
|
|
206
|
-
componentUrl,
|
|
207
|
-
cssUrl,
|
|
208
|
-
packageJsonUrl,
|
|
209
|
-
schemaFields: metadata.schemaFields || null,
|
|
210
|
-
defaultContent: metadata.defaultContent || null,
|
|
211
|
-
vendorName: packageJson.author?.name || packageJson.author || "Unknown",
|
|
212
|
-
vendorEmail: packageJson.author?.email || null,
|
|
213
|
-
vendorUrl: packageJson.author?.url || packageJson.homepage || null,
|
|
214
|
-
licenseType: metadata.pricing?.licenseType || "free",
|
|
215
|
-
priceCents: metadata.pricing?.priceCents || 0,
|
|
216
|
-
};
|
|
217
|
-
// Send mutation
|
|
218
|
-
const result = await client.request(PUBLISH_PACKAGE_MUTATION, {
|
|
219
|
-
token: apiToken,
|
|
220
|
-
input,
|
|
221
|
-
});
|
|
222
|
-
if (!result.publishPackage.success) {
|
|
223
|
-
throw new Error(result.publishPackage.message);
|
|
224
|
-
}
|
|
225
|
-
}
|
|
226
|
-
//# sourceMappingURL=deploy.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../src/commands/deploy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,QAAQ,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,KAAK,MAAM,YAAY,CAAC;AAC/B,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAgB7E,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,OAAsB;IACxD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC,CAAC;IAErE,sBAAsB;IACtB,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC;QACjB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC,CAAC;QACrE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAE5B,uBAAuB;IACvB,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,iBAAiB,CAAC,CAAC;IAC/D,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/B,OAAO,CAAC,KAAK,CACX,KAAK,CAAC,GAAG,CAAC,mDAAmD,CAAC,CAC/D,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,8BAA8B;IAC9B,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,OAAO,CAAC,CAAC;IAE7C,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,iCAAiC,CAAC,CAAC,CAAC;QAC7D,OAAO;IACT,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,QAAQ,CAAC,MAAM,0BAA0B,CAAC,CAAC,CAAC;IAC5E,QAAQ,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;QACvB,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,WAAW,CAAC,IAAI,KAAK,GAAG,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC,CACvE,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAEhB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,+CAA+C,CAAC,CAAC,CAAC;QAC3E,OAAO;IACT,CAAC;IAED,sBAAsB;IACtB,MAAM,MAAM,GAAG,YAAY,EAAE,CAAC;IAC9B,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,IAAI,UAAU,GAAG,CAAC,CAAC;IAEnB,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC3B,MAAM,OAAO,GAAG,GAAG,CACjB,aAAa,GAAG,CAAC,WAAW,CAAC,IAAI,cAAc,CAChD,CAAC,KAAK,EAAE,CAAC;QAEV,IAAI,CAAC;YACH,MAAM,aAAa,CAAC,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,QAAS,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;YAClE,OAAO,CAAC,OAAO,CACb,KAAK,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,WAAW,CAAC,IAAI,uBAAuB,CAAC,CAC5D,CAAC;YACF,YAAY,EAAE,CAAC;QACjB,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,WAAW,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC;YAC1D,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC;YACxD,UAAU,EAAE,CAAC;QACf,CAAC;IACH,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,IAAI,UAAU,KAAK,CAAC,EAAE,CAAC;QACrB,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,YAAY,oCAAoC,CAAC,CACxE,CAAC;QACF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC,CAAC;QACnE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC,CAAC;IACzE,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,MAAM,CAAC,KAAK,YAAY,eAAe,UAAU,WAAW,CAAC,CACpE,CAAC;IACJ,CAAC;AACH,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,OAAsB;IAChD,MAAM,QAAQ,GAAkB,EAAE,CAAC;IAEnC,cAAc;IACd,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,QAAQ,CAAC,CAAC;IACrD,IAAI,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC7B,MAAM,SAAS,GAAG,EAAE;aACjB,WAAW,CAAC,SAAS,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;aAC/C,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;aACxC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAEhC,KAAK,MAAM,SAAS,IAAI,SAAS,EAAE,CAAC;YAClC,oBAAoB;YACpB,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC1D,SAAS;YACX,CAAC;YACD,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;gBACpC,SAAS,CAAC,2CAA2C;YACvD,CAAC;YAED,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;YAClD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;YAErD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC;gBAAE,SAAS;YAEtC,MAAM,WAAW,GAAG,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;YAC7C,IAAI,CAAC,WAAW,CAAC,KAAK;gBAAE,SAAS;YAEjC,QAAQ,CAAC,IAAI,CAAC;gBACZ,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,SAAS;gBACf,WAAW;aACZ,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,iBAAiB;IACjB,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,WAAW,CAAC,CAAC;IAC3D,IAAI,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QAChC,MAAM,YAAY,GAAG,EAAE;aACpB,WAAW,CAAC,YAAY,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;aAClD,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;aACxC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAEhC,KAAK,MAAM,YAAY,IAAI,YAAY,EAAE,CAAC;YACxC,oBAAoB;YACpB,IAAI,OAAO,CAAC,SAAS,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;gBACnE,SAAS;YACX,CAAC;YACD,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;gBACvC,SAAS;YACX,CAAC;YAED,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;YAC3D,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC;YAExD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC;gBAAE,SAAS;YAEtC,MAAM,WAAW,GAAG,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;YAC7C,IAAI,CAAC,WAAW,CAAC,KAAK;gBAAE,SAAS;YAEjC,QAAQ,CAAC,IAAI,CAAC;gBACZ,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,YAAY;gBAClB,WAAW;aACZ,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAcD,KAAK,UAAU,oBAAoB,CACjC,iBAAyB,EACzB,WAAmB,EACnB,OAAe,EACf,MAAc,EACd,QAAgB;IAEhB,MAAM,IAAI,GAAG,IAAI,QAAQ,EAAE,CAAC;IAE5B,uBAAuB;IACvB,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;IACxC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAEhC,oBAAoB;IACpB,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,UAAU,CAAC,CAAC;IAC7D,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAChC,MAAM,IAAI,KAAK,CAAC,yBAAyB,WAAW,EAAE,CAAC,CAAC;IAC1D,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC,gBAAgB,CAAC,WAAW,CAAC,EAAE;QACzD,QAAQ,EAAE,UAAU;QACpB,WAAW,EAAE,wBAAwB;KACtC,CAAC,CAAC;IAEH,0BAA0B;IAC1B,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,WAAW,CAAC,CAAC;IAC/D,IAAI,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QAChC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC,gBAAgB,CAAC,YAAY,CAAC,EAAE;YACpD,QAAQ,EAAE,WAAW;YACrB,WAAW,EAAE,UAAU;SACxB,CAAC,CAAC;IACL,CAAC;IAED,mBAAmB;IACnB,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,cAAc,CAAC,CAAC;IACrE,IAAI,eAAe,GAAG,eAAe,CAAC;IAEtC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;QACpC,4DAA4D;QAC5D,eAAe,GAAG,IAAI,CAAC,IAAI,CACzB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,EAC7C,cAAc,CACf,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,EAAE,CAAC,gBAAgB,CAAC,eAAe,CAAC,EAAE;QAC/D,QAAQ,EAAE,cAAc;QACxB,WAAW,EAAE,kBAAkB;KAChC,CAAC,CAAC;IAEH,6DAA6D;IAC7D,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;IAC/C,MAAM,SAAS,GAAG,GAAG,OAAO,qBAAqB,CAAC;IAElD,oBAAoB;IACpB,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,SAAS,EAAE;QACtC,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACP,aAAa,EAAE,UAAU,QAAQ,EAAE;YACnC,GAAG,IAAI,CAAC,UAAU,EAAE;SACrB;QACD,IAAI,EAAE,IAAI;KACX,CAAC,CAAC;IAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QACxC,MAAM,IAAI,KAAK,CAAC,kBAAkB,QAAQ,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC,CAAC;IACzE,CAAC;IAED,MAAM,MAAM,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAmB,CAAC;IAEzD,OAAO;QACL,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,IAAI;QAC7B,cAAc,EAAE,MAAM,CAAC,cAAc;KACtC,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,aAAa,CAC1B,MAAW,EACX,GAAgB,EAChB,QAAgB,EAChB,MAAc;IAEd,MAAM,EAAE,WAAW,EAAE,GAAG,GAAG,CAAC;IAC5B,MAAM,QAAQ,GAAG,WAAW,CAAC,KAAK,CAAC;IAEnC,wCAAwC;IACxC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,QAAQ,CAAC,CAAC;IACrD,MAAM,iBAAiB,GAAG,IAAI,CAAC,IAAI,CACjC,SAAS,EACT,WAAW,CAAC,IAAI,EAChB,WAAW,CAAC,OAAO,CACpB,CAAC;IAEF,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAE,CAAC;QACtC,MAAM,IAAI,KAAK,CACb,6BAA6B,iBAAiB,oBAAoB,CACnE,CAAC;IACJ,CAAC;IAED,sEAAsE;IACtE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,oBAAoB,CACzE,iBAAiB,EACjB,WAAW,CAAC,IAAI,EAChB,WAAW,CAAC,OAAO,EACnB,MAAM,EACN,QAAQ,CACT,CAAC;IAEF,cAAc;IACd,MAAM,KAAK,GAAG;QACZ,IAAI,EAAE,WAAW,CAAC,IAAI;QACtB,OAAO,EAAE,WAAW,CAAC,OAAO;QAC5B,WAAW,EAAE,QAAQ,CAAC,WAAW;QACjC,WAAW,EAAE,WAAW,CAAC,WAAW,IAAI,QAAQ,CAAC,WAAW,IAAI,EAAE;QAClE,eAAe,EAAE,QAAQ,CAAC,eAAe,IAAI,WAAW,CAAC,WAAW,IAAI,EAAE;QAC1E,WAAW,EAAE,QAAQ,CAAC,WAAW,IAAI,GAAG,CAAC,IAAI;QAC7C,QAAQ,EAAE,QAAQ,CAAC,QAAQ,IAAI,OAAO;QACtC,IAAI,EAAE,QAAQ,CAAC,IAAI,IAAI,EAAE;QACzB,YAAY;QACZ,MAAM;QACN,cAAc;QACd,YAAY,EAAE,QAAQ,CAAC,YAAY,IAAI,IAAI;QAC3C,cAAc,EAAE,QAAQ,CAAC,cAAc,IAAI,IAAI;QAC/C,UAAU,EAAE,WAAW,CAAC,MAAM,EAAE,IAAI,IAAI,WAAW,CAAC,MAAM,IAAI,SAAS;QACvE,WAAW,EAAE,WAAW,CAAC,MAAM,EAAE,KAAK,IAAI,IAAI;QAC9C,SAAS,EAAE,WAAW,CAAC,MAAM,EAAE,GAAG,IAAI,WAAW,CAAC,QAAQ,IAAI,IAAI;QAClE,WAAW,EAAE,QAAQ,CAAC,OAAO,EAAE,WAAW,IAAI,MAAM;QACpD,UAAU,EAAE,QAAQ,CAAC,OAAO,EAAE,UAAU,IAAI,CAAC;KAC9C,CAAC;IAEF,gBAAgB;IAChB,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,wBAAwB,EAAE;QAC5D,KAAK,EAAE,QAAQ;QACf,KAAK;KACN,CAAC,CAAC;IAEH,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;IACjD,CAAC;AACH,CAAC"}
|
package/dist/commands/push.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"push.d.ts","sourceRoot":"","sources":["../../src/commands/push.ts"],"names":[],"mappings":"AASA,UAAU,WAAW;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;CACtB;AASD,wBAAsB,WAAW,CAAC,OAAO,EAAE,WAAW,iBAuFrD"}
|