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.
Files changed (80) hide show
  1. package/config.d.ts +1 -1
  2. package/dist/cli.js +136 -23
  3. package/dist/cli.js.map +1 -1
  4. package/dist/commands/add-source.d.ts +7 -0
  5. package/dist/commands/add-source.d.ts.map +1 -0
  6. package/dist/commands/add-source.js +238 -0
  7. package/dist/commands/add-source.js.map +1 -0
  8. package/dist/commands/build.d.ts +1 -0
  9. package/dist/commands/build.d.ts.map +1 -1
  10. package/dist/commands/build.js +56 -12
  11. package/dist/commands/build.js.map +1 -1
  12. package/dist/commands/create.d.ts.map +1 -1
  13. package/dist/commands/create.js +22 -2
  14. package/dist/commands/create.js.map +1 -1
  15. package/dist/commands/dev.d.ts.map +1 -1
  16. package/dist/commands/dev.js +652 -410
  17. package/dist/commands/dev.js.map +1 -1
  18. package/dist/commands/init.d.ts.map +1 -1
  19. package/dist/commands/init.js +3 -1
  20. package/dist/commands/init.js.map +1 -1
  21. package/dist/commands/migrate.d.ts.map +1 -1
  22. package/dist/commands/migrate.js +3 -1
  23. package/dist/commands/migrate.js.map +1 -1
  24. package/dist/commands/publish.js +74 -0
  25. package/dist/commands/publish.js.map +1 -1
  26. package/dist/dev-ui/app.js +166 -19
  27. package/dist/dev-ui/index.html +138 -0
  28. package/dist/dev-ui-react/App.tsx +164 -0
  29. package/dist/dev-ui-react/__tests__/previewData.test.ts +193 -0
  30. package/dist/dev-ui-react/components/BlocksList.tsx +232 -0
  31. package/dist/dev-ui-react/components/Editor.tsx +469 -0
  32. package/dist/dev-ui-react/components/Preview.tsx +146 -0
  33. package/dist/dev-ui-react/hooks/useBlocks.ts +80 -0
  34. package/dist/dev-ui-react/index.html +13 -0
  35. package/dist/dev-ui-react/main.tsx +8 -0
  36. package/dist/dev-ui-react/styles.css +856 -0
  37. package/dist/dev-ui-react/types.ts +45 -0
  38. package/dist/types/block-config.d.ts +100 -2
  39. package/dist/types/block-config.d.ts.map +1 -1
  40. package/dist/types/block-config.js +6 -1
  41. package/dist/types/block-config.js.map +1 -1
  42. package/dist/utils/block-config.js +3 -3
  43. package/dist/utils/block-config.js.map +1 -1
  44. package/dist/utils/blocks-meta-cache.d.ts +28 -0
  45. package/dist/utils/blocks-meta-cache.d.ts.map +1 -0
  46. package/dist/utils/blocks-meta-cache.js +72 -0
  47. package/dist/utils/blocks-meta-cache.js.map +1 -0
  48. package/dist/utils/builder.d.ts +3 -0
  49. package/dist/utils/builder.d.ts.map +1 -1
  50. package/dist/utils/builder.js +17 -14
  51. package/dist/utils/builder.js.map +1 -1
  52. package/dist/utils/field-schema.d.ts +2 -0
  53. package/dist/utils/field-schema.d.ts.map +1 -1
  54. package/dist/utils/field-schema.js +21 -4
  55. package/dist/utils/field-schema.js.map +1 -1
  56. package/dist/utils/graphql.d.ts +2 -0
  57. package/dist/utils/graphql.d.ts.map +1 -1
  58. package/dist/utils/graphql.js +22 -0
  59. package/dist/utils/graphql.js.map +1 -1
  60. package/dist/utils/scanner.d.ts +5 -3
  61. package/dist/utils/scanner.d.ts.map +1 -1
  62. package/dist/utils/scanner.js +23 -16
  63. package/dist/utils/scanner.js.map +1 -1
  64. package/dist/utils/type-generator.d.ts +7 -1
  65. package/dist/utils/type-generator.d.ts.map +1 -1
  66. package/dist/utils/type-generator.js +58 -41
  67. package/dist/utils/type-generator.js.map +1 -1
  68. package/package.json +8 -3
  69. package/dist/commands/deploy.d.ts +0 -9
  70. package/dist/commands/deploy.d.ts.map +0 -1
  71. package/dist/commands/deploy.js +0 -226
  72. package/dist/commands/deploy.js.map +0 -1
  73. package/dist/commands/push.d.ts +0 -9
  74. package/dist/commands/push.d.ts.map +0 -1
  75. package/dist/commands/push.js +0 -199
  76. package/dist/commands/push.js.map +0 -1
  77. package/dist/utils/blockforge-config.d.ts +0 -19
  78. package/dist/utils/blockforge-config.d.ts.map +0 -1
  79. package/dist/utils/blockforge-config.js +0 -19
  80. package/dist/utils/blockforge-config.js.map +0 -1
@@ -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":"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"}
@@ -1,9 +0,0 @@
1
- interface PushOptions {
2
- workspace?: string;
3
- all?: boolean;
4
- blocks?: string[];
5
- templates?: string[];
6
- }
7
- export declare function pushCommand(options: PushOptions): Promise<void>;
8
- export {};
9
- //# sourceMappingURL=push.d.ts.map
@@ -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"}
@@ -1,199 +0,0 @@
1
- import chalk from "chalk";
2
- import fs from "fs-extra";
3
- import { GraphQLClient } from "graphql-request";
4
- import inquirer from "inquirer";
5
- import ora from "ora";
6
- import path from "path";
7
- import { hasConfig, loadConfig } from "../utils/config.js";
8
- import { IMPORT_BLOCK_MUTATION } from "../utils/graphql.js";
9
- export async function pushCommand(options) {
10
- console.log(chalk.blue.bold("\n🚀 Cmssy - Push to Workspace\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
- // Get workspace ID
24
- let workspaceId = options.workspace;
25
- if (!workspaceId) {
26
- const answer = await inquirer.prompt([
27
- {
28
- type: "input",
29
- name: "workspaceId",
30
- message: "Enter Workspace ID:",
31
- validate: (input) => {
32
- if (!input) {
33
- return "Workspace ID is required";
34
- }
35
- return true;
36
- },
37
- },
38
- ]);
39
- workspaceId = answer.workspaceId;
40
- }
41
- // Scan for packages to push
42
- const packages = await scanPackages(options);
43
- if (packages.length === 0) {
44
- console.log(chalk.yellow("⚠ No packages found to push\n"));
45
- return;
46
- }
47
- console.log(chalk.cyan(`Found ${packages.length} package(s) to push:\n`));
48
- packages.forEach((pkg) => {
49
- console.log(chalk.white(` • ${pkg.packageJson.name} v${pkg.packageJson.version}`));
50
- });
51
- console.log("");
52
- // Push each package
53
- let successCount = 0;
54
- let errorCount = 0;
55
- for (const pkg of packages) {
56
- const spinner = ora(`Pushing ${pkg.packageJson.name} to workspace...`).start();
57
- try {
58
- await pushPackage(pkg, workspaceId, config.apiToken, config.apiUrl);
59
- spinner.succeed(chalk.green(`${pkg.packageJson.name} pushed successfully`));
60
- successCount++;
61
- }
62
- catch (error) {
63
- spinner.fail(chalk.red(`${pkg.packageJson.name} failed`));
64
- console.error(chalk.red(` Error: ${error.message}\n`));
65
- errorCount++;
66
- }
67
- }
68
- console.log("");
69
- if (errorCount === 0) {
70
- console.log(chalk.green.bold(`✓ ${successCount} package(s) pushed to workspace\n`));
71
- }
72
- else {
73
- console.log(chalk.yellow(`⚠ ${successCount} succeeded, ${errorCount} failed\n`));
74
- }
75
- }
76
- async function scanPackages(options) {
77
- const packages = [];
78
- // Scan blocks
79
- const blocksDir = path.join(process.cwd(), "blocks");
80
- if (fs.existsSync(blocksDir)) {
81
- const blockDirs = fs
82
- .readdirSync(blocksDir, { withFileTypes: true })
83
- .filter((dirent) => dirent.isDirectory())
84
- .map((dirent) => dirent.name);
85
- for (const blockName of blockDirs) {
86
- // Filter by options
87
- if (options.blocks && !options.blocks.includes(blockName)) {
88
- continue;
89
- }
90
- if (!options.all && !options.blocks) {
91
- continue; // Skip unless --all or specifically listed
92
- }
93
- const blockPath = path.join(blocksDir, blockName);
94
- const pkgPath = path.join(blockPath, "package.json");
95
- if (!fs.existsSync(pkgPath))
96
- continue;
97
- const packageJson = fs.readJsonSync(pkgPath);
98
- if (!packageJson.cmssy)
99
- continue;
100
- packages.push({
101
- type: "block",
102
- name: blockName,
103
- path: blockPath,
104
- packageJson,
105
- });
106
- }
107
- }
108
- // Scan templates
109
- const templatesDir = path.join(process.cwd(), "templates");
110
- if (fs.existsSync(templatesDir)) {
111
- const templateDirs = fs
112
- .readdirSync(templatesDir, { withFileTypes: true })
113
- .filter((dirent) => dirent.isDirectory())
114
- .map((dirent) => dirent.name);
115
- for (const templateName of templateDirs) {
116
- // Filter by options
117
- if (options.templates && !options.templates.includes(templateName)) {
118
- continue;
119
- }
120
- if (!options.all && !options.templates) {
121
- continue;
122
- }
123
- const templatePath = path.join(templatesDir, templateName);
124
- const pkgPath = path.join(templatePath, "package.json");
125
- if (!fs.existsSync(pkgPath))
126
- continue;
127
- const packageJson = fs.readJsonSync(pkgPath);
128
- if (!packageJson.cmssy)
129
- continue;
130
- packages.push({
131
- type: "template",
132
- name: templateName,
133
- path: templatePath,
134
- packageJson,
135
- });
136
- }
137
- }
138
- return packages;
139
- }
140
- async function pushPackage(pkg, workspaceId, apiToken, apiUrl) {
141
- const { packageJson, path: packagePath } = pkg;
142
- const metadata = packageJson.cmssy;
143
- // Read source code from src/index.tsx or src/index.ts
144
- const srcDir = path.join(packagePath, "src");
145
- let sourceCode;
146
- const tsxPath = path.join(srcDir, "index.tsx");
147
- const tsPath = path.join(srcDir, "index.ts");
148
- if (fs.existsSync(tsxPath)) {
149
- sourceCode = fs.readFileSync(tsxPath, "utf-8");
150
- }
151
- else if (fs.existsSync(tsPath)) {
152
- sourceCode = fs.readFileSync(tsPath, "utf-8");
153
- }
154
- else {
155
- throw new Error(`Source code not found. Expected ${tsxPath} or ${tsPath}`);
156
- }
157
- // Read CSS if exists
158
- const cssPath = path.join(srcDir, "index.css");
159
- let cssCode;
160
- if (fs.existsSync(cssPath)) {
161
- cssCode = fs.readFileSync(cssPath, "utf-8");
162
- }
163
- // Generate block_type from package name
164
- // @cmssy/blocks.hero -> hero
165
- const blockType = packageJson.name
166
- .replace(/@[^/]+\//, "")
167
- .replace(/^blocks\./, "")
168
- .replace(/^templates\./, "");
169
- // Build input
170
- const input = {
171
- blockType,
172
- name: metadata.displayName,
173
- description: packageJson.description || metadata.description || "",
174
- icon: metadata.icon || "Blocks",
175
- category: metadata.category || "Custom",
176
- sourceCode,
177
- schemaFields: metadata.schemaFields || [],
178
- defaultContent: metadata.defaultContent || {},
179
- sourceRegistry: "local",
180
- sourceItem: packageJson.name,
181
- version: packageJson.version || "1.0.0",
182
- };
183
- // Create client with workspace header
184
- const client = new GraphQLClient(apiUrl, {
185
- headers: {
186
- "Content-Type": "application/json",
187
- Authorization: `Bearer ${apiToken}`,
188
- "X-Workspace-ID": workspaceId,
189
- },
190
- });
191
- // Send mutation
192
- const result = await client.request(IMPORT_BLOCK_MUTATION, {
193
- input,
194
- });
195
- if (!result.importBlock) {
196
- throw new Error("Failed to import block");
197
- }
198
- }
199
- //# sourceMappingURL=push.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"push.js","sourceRoot":"","sources":["../../src/commands/push.ts"],"names":[],"mappings":"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"}
@@ -1,19 +0,0 @@
1
- export interface BlockForgeConfig {
2
- framework: string;
3
- projectName?: string;
4
- author?: {
5
- name: string;
6
- email: string;
7
- };
8
- cdn?: {
9
- baseUrl: string;
10
- };
11
- build?: {
12
- outDir: string;
13
- minify: boolean;
14
- sourcemap: boolean;
15
- };
16
- }
17
- export declare function loadConfig(): Promise<BlockForgeConfig>;
18
- export declare function getPackageJson(packagePath: string): any;
19
- //# sourceMappingURL=blockforge-config.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"blockforge-config.d.ts","sourceRoot":"","sources":["../../src/utils/blockforge-config.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE;QACP,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;IACF,GAAG,CAAC,EAAE;QACJ,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,KAAK,CAAC,EAAE;QACN,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,OAAO,CAAC;QAChB,SAAS,EAAE,OAAO,CAAC;KACpB,CAAC;CACH;AAED,wBAAsB,UAAU,IAAI,OAAO,CAAC,gBAAgB,CAAC,CAY5D;AAED,wBAAgB,cAAc,CAAC,WAAW,EAAE,MAAM,OAMjD"}
@@ -1,19 +0,0 @@
1
- import fs from "fs-extra";
2
- import path from "path";
3
- export async function loadConfig() {
4
- const configPath = path.join(process.cwd(), "blockforge.config.js");
5
- if (!fs.existsSync(configPath)) {
6
- throw new Error("blockforge.config.js not found. Are you in a blockforge project?");
7
- }
8
- // Dynamic import for ESM
9
- const configModule = await import(`file://${configPath}`);
10
- return configModule.default;
11
- }
12
- export function getPackageJson(packagePath) {
13
- const pkgPath = path.join(packagePath, "package.json");
14
- if (!fs.existsSync(pkgPath)) {
15
- return null;
16
- }
17
- return fs.readJsonSync(pkgPath);
18
- }
19
- //# sourceMappingURL=blockforge-config.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"blockforge-config.js","sourceRoot":"","sources":["../../src/utils/blockforge-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,IAAI,MAAM,MAAM,CAAC;AAmBxB,MAAM,CAAC,KAAK,UAAU,UAAU;IAC9B,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,sBAAsB,CAAC,CAAC;IAEpE,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CACb,kEAAkE,CACnE,CAAC;IACJ,CAAC;IAED,yBAAyB;IACzB,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,UAAU,UAAU,EAAE,CAAC,CAAC;IAC1D,OAAO,YAAY,CAAC,OAAO,CAAC;AAC9B,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,WAAmB;IAChD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;IACvD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QAC5B,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;AAClC,CAAC"}