@mexty/cli 1.2.0 → 1.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. package/BLOCKS_OVERVIEW.md +229 -0
  2. package/dist/commands/create.d.ts +9 -0
  3. package/dist/commands/create.d.ts.map +1 -0
  4. package/dist/commands/create.js +120 -0
  5. package/dist/commands/create.js.map +1 -0
  6. package/dist/commands/delete.d.ts +2 -0
  7. package/dist/commands/delete.d.ts.map +1 -0
  8. package/dist/commands/delete.js +59 -0
  9. package/dist/commands/delete.js.map +1 -0
  10. package/dist/commands/fork.d.ts +2 -0
  11. package/dist/commands/fork.d.ts.map +1 -0
  12. package/dist/commands/fork.js +57 -0
  13. package/dist/commands/fork.js.map +1 -0
  14. package/dist/commands/login.d.ts +2 -0
  15. package/dist/commands/login.d.ts.map +1 -0
  16. package/dist/commands/login.js +90 -0
  17. package/dist/commands/login.js.map +1 -0
  18. package/dist/commands/publish.d.ts +6 -0
  19. package/dist/commands/publish.d.ts.map +1 -0
  20. package/dist/commands/publish.js +173 -0
  21. package/dist/commands/publish.js.map +1 -0
  22. package/dist/commands/save.d.ts +2 -0
  23. package/dist/commands/save.d.ts.map +1 -0
  24. package/dist/commands/save.js +162 -0
  25. package/dist/commands/save.js.map +1 -0
  26. package/dist/commands/sync.d.ts +2 -0
  27. package/dist/commands/sync.d.ts.map +1 -0
  28. package/dist/commands/sync.js +250 -0
  29. package/dist/commands/sync.js.map +1 -0
  30. package/dist/index.d.ts +3 -0
  31. package/dist/index.d.ts.map +1 -0
  32. package/dist/index.js +76 -0
  33. package/dist/index.js.map +1 -0
  34. package/dist/utils/api.d.ts +92 -0
  35. package/dist/utils/api.d.ts.map +1 -0
  36. package/dist/utils/api.js +169 -0
  37. package/dist/utils/api.js.map +1 -0
  38. package/dist/utils/auth.d.ts +4 -0
  39. package/dist/utils/auth.d.ts.map +1 -0
  40. package/dist/utils/auth.js +27 -0
  41. package/dist/utils/auth.js.map +1 -0
  42. package/dist/utils/git.d.ts +42 -0
  43. package/dist/utils/git.d.ts.map +1 -0
  44. package/dist/utils/git.js +171 -0
  45. package/dist/utils/git.js.map +1 -0
  46. package/package.json +1 -1
  47. package/src/commands/create.ts +11 -7
  48. package/src/commands/publish.ts +146 -55
  49. package/src/index.ts +2 -13
  50. package/src/utils/api.ts +27 -0
  51. package/src/commands/fork.ts +0 -58
  52. package/src/commands/sync.ts +0 -350
@@ -0,0 +1,173 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.publishCommand = publishCommand;
7
+ const chalk_1 = __importDefault(require("chalk"));
8
+ const fs_1 = __importDefault(require("fs"));
9
+ const path_1 = __importDefault(require("path"));
10
+ const api_1 = require("../utils/api");
11
+ const git_1 = require("../utils/git");
12
+ const readline_1 = require("readline");
13
+ // Removed sync command import as it's been deleted
14
+ const auth_1 = require("../utils/auth");
15
+ // Simple confirmation function
16
+ async function confirm(question) {
17
+ return new Promise((resolve) => {
18
+ const rl = (0, readline_1.createInterface)({
19
+ input: process.stdin,
20
+ output: process.stdout
21
+ });
22
+ rl.question(`${question} (y/N): `, (answer) => {
23
+ rl.close();
24
+ resolve(answer.toLowerCase().trim() === 'y' || answer.toLowerCase().trim() === 'yes');
25
+ });
26
+ });
27
+ }
28
+ // Extract block ID from package.json or git URL
29
+ async function findBlockId() {
30
+ const packageJsonPath = path_1.default.join(process.cwd(), 'package.json');
31
+ if (fs_1.default.existsSync(packageJsonPath)) {
32
+ try {
33
+ const packageJson = JSON.parse(fs_1.default.readFileSync(packageJsonPath, 'utf8'));
34
+ // Look for block ID in package.json name or description
35
+ if (packageJson.name && packageJson.name.startsWith('block-')) {
36
+ return packageJson.name.replace('block-', '');
37
+ }
38
+ // Look in description for block ID pattern
39
+ if (packageJson.description) {
40
+ const match = packageJson.description.match(/block[:\s]+([a-f0-9]{24})/i);
41
+ if (match) {
42
+ return match[1];
43
+ }
44
+ }
45
+ }
46
+ catch (error) {
47
+ console.warn(chalk_1.default.yellow('⚠️ Could not parse package.json'));
48
+ }
49
+ }
50
+ // Try to extract from git remote URL
51
+ try {
52
+ const gitManager = new git_1.GitManager();
53
+ const remoteUrl = await gitManager.getRemoteUrl();
54
+ if (remoteUrl) {
55
+ const match = remoteUrl.match(/block-([a-f0-9]{24})/);
56
+ if (match) {
57
+ return match[1];
58
+ }
59
+ }
60
+ }
61
+ catch (error) {
62
+ // Ignore git errors
63
+ }
64
+ return null;
65
+ }
66
+ async function publishCommand(options = {}) {
67
+ try {
68
+ // Check authentication first
69
+ (0, auth_1.requireAuthentication)();
70
+ const user = (0, auth_1.getAuthenticatedUser)();
71
+ console.log(chalk_1.default.blue('🚀 Publishing block to marketplace...'));
72
+ console.log(chalk_1.default.gray(` User: ${user?.fullName || user?.email || 'Unknown'}`));
73
+ console.log(chalk_1.default.gray(` Agent insertable: ${options.agent ? 'Yes' : 'No'}`));
74
+ // Check if we're in a git repository
75
+ const gitManager = new git_1.GitManager();
76
+ const isGitRepo = await gitManager.isGitRepository();
77
+ if (!isGitRepo) {
78
+ console.error(chalk_1.default.red('❌ Not a git repository. Please run this command from a block repository.'));
79
+ process.exit(1);
80
+ }
81
+ // Get repository information
82
+ const repoInfo = await gitManager.getRepositoryInfo();
83
+ console.log(chalk_1.default.gray(` Current branch: ${repoInfo.branch}`));
84
+ console.log(chalk_1.default.gray(` Remote URL: ${repoInfo.remoteUrl}`));
85
+ // Find block ID
86
+ const blockId = await findBlockId();
87
+ if (!blockId) {
88
+ console.error(chalk_1.default.red('❌ Could not determine block ID from repository.'));
89
+ console.error(chalk_1.default.yellow(' Make sure you are in a block repository created with mexty'));
90
+ process.exit(1);
91
+ }
92
+ console.log(chalk_1.default.gray(` Block ID: ${blockId}`));
93
+ // Check for uncommitted changes
94
+ if (repoInfo.hasChanges) {
95
+ console.log(chalk_1.default.yellow('⚠️ You have uncommitted changes.'));
96
+ console.log(chalk_1.default.gray(' Please commit your changes before publishing:'));
97
+ console.log(chalk_1.default.gray(' git add . && git commit -m "Your commit message"'));
98
+ const proceed = await confirm('Do you want to continue anyway?');
99
+ if (!proceed) {
100
+ console.log(chalk_1.default.yellow('🚫 Publishing cancelled.'));
101
+ return;
102
+ }
103
+ }
104
+ // Ask user to push changes
105
+ console.log(chalk_1.default.blue('\n📤 Push your changes to GitHub:'));
106
+ console.log(chalk_1.default.gray(` git push origin ${repoInfo.branch}`));
107
+ const pushed = await confirm('Have you pushed your changes to GitHub?');
108
+ if (!pushed) {
109
+ console.log(chalk_1.default.yellow('🚫 Please push your changes first and then run publish again.'));
110
+ return;
111
+ }
112
+ // Trigger save and bundle
113
+ console.log(chalk_1.default.yellow('📡 Triggering build and bundle process...'));
114
+ try {
115
+ const result = await api_1.apiClient.saveAndBundle({ blockId });
116
+ console.log(chalk_1.default.green('✅ Block bundled successfully!'));
117
+ console.log(chalk_1.default.gray(` Bundle Path: ${result.bundlePath}`));
118
+ console.log(chalk_1.default.gray(` Federation URL: ${result.federationUrl}`));
119
+ if (result.message) {
120
+ console.log(chalk_1.default.blue(` ${result.message}`));
121
+ }
122
+ // Update sharing scope to publish to marketplace (free only)
123
+ console.log(chalk_1.default.blue('\n🌐 Publishing to marketplace...'));
124
+ try {
125
+ // Get current block to check existing scope
126
+ const block = await api_1.apiClient.getBlock(blockId);
127
+ const currentScope = block?.scope || ['user-store'];
128
+ // Add published-store to scope if not already present
129
+ const newScope = [...new Set([...currentScope, 'user-store', 'published-store'])];
130
+ await api_1.apiClient.updateBlockSharing(blockId, newScope);
131
+ console.log(chalk_1.default.green('✅ Block published to marketplace (free)'));
132
+ // Update agent insertability if requested
133
+ if (options.agent) {
134
+ console.log(chalk_1.default.blue('🤖 Making block insertable by AI agents...'));
135
+ try {
136
+ await api_1.apiClient.updateBlockAgentInsertable(blockId, true);
137
+ console.log(chalk_1.default.green('✅ Block is now insertable by AI agents'));
138
+ }
139
+ catch (agentError) {
140
+ // This might fail if user is not Mext staff, but that's okay
141
+ console.log(chalk_1.default.yellow('⚠️ Could not set agent insertability (requires Mext staff permissions)'));
142
+ console.log(chalk_1.default.gray(` Error: ${agentError.message || 'Permission denied'}`));
143
+ }
144
+ }
145
+ }
146
+ catch (sharingError) {
147
+ console.error(chalk_1.default.red('❌ Failed to publish to marketplace:'), sharingError.message);
148
+ console.log(chalk_1.default.yellow(' Block was built successfully but not published to marketplace.'));
149
+ console.log(chalk_1.default.gray(' You can try publishing again or contact support.'));
150
+ return;
151
+ }
152
+ // Success message
153
+ console.log(chalk_1.default.green('\n🎉 Block published to marketplace successfully!'));
154
+ console.log(chalk_1.default.blue('Your block is now:'));
155
+ console.log(chalk_1.default.gray(' ✓ Available for free download by anyone'));
156
+ console.log(chalk_1.default.gray(' ✓ Discoverable in the marketplace'));
157
+ if (options.agent) {
158
+ console.log(chalk_1.default.gray(' ✓ Insertable by AI agents (if you have permissions)'));
159
+ }
160
+ console.log(chalk_1.default.gray(` ✓ Viewable at: https://mexty.ai/preview.html?blockId=${blockId}`));
161
+ }
162
+ catch (buildError) {
163
+ console.error(chalk_1.default.red(`❌ Build failed: ${buildError.message}`));
164
+ console.log(chalk_1.default.yellow(' Check the server logs for more details.'));
165
+ process.exit(1);
166
+ }
167
+ }
168
+ catch (error) {
169
+ console.error(chalk_1.default.red(`❌ Failed to publish block: ${error.message}`));
170
+ process.exit(1);
171
+ }
172
+ }
173
+ //# sourceMappingURL=publish.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"publish.js","sourceRoot":"","sources":["../../src/commands/publish.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function saveCommand(): Promise<void>;
2
+ //# sourceMappingURL=save.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"save.d.ts","sourceRoot":"","sources":["../../src/commands/save.ts"],"names":[],"mappings":"AA2EA,wBAAsB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAyIjD"}
@@ -0,0 +1,162 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.saveCommand = saveCommand;
7
+ const chalk_1 = __importDefault(require("chalk"));
8
+ const fs_1 = __importDefault(require("fs"));
9
+ const path_1 = __importDefault(require("path"));
10
+ const api_1 = require("../utils/api");
11
+ const git_1 = require("../utils/git");
12
+ const readline_1 = require("readline");
13
+ const auth_1 = require("../utils/auth");
14
+ // Simple prompt function
15
+ async function prompt(question, defaultValue) {
16
+ return new Promise((resolve) => {
17
+ const rl = (0, readline_1.createInterface)({
18
+ input: process.stdin,
19
+ output: process.stdout,
20
+ });
21
+ const promptText = defaultValue
22
+ ? `${question} (${defaultValue}): `
23
+ : `${question}: `;
24
+ rl.question(promptText, (answer) => {
25
+ rl.close();
26
+ resolve(answer.trim() || defaultValue || "");
27
+ });
28
+ });
29
+ }
30
+ // Extract block ID from package.json or git URL
31
+ async function findBlockId() {
32
+ const packageJsonPath = path_1.default.join(process.cwd(), "package.json");
33
+ if (fs_1.default.existsSync(packageJsonPath)) {
34
+ try {
35
+ const packageJson = JSON.parse(fs_1.default.readFileSync(packageJsonPath, "utf8"));
36
+ // Look for block ID in package.json name or description
37
+ if (packageJson.name && packageJson.name.startsWith("block-")) {
38
+ return packageJson.name.replace("block-", "");
39
+ }
40
+ // Look in description for block ID pattern
41
+ if (packageJson.description) {
42
+ const match = packageJson.description.match(/block[:\s]+([a-f0-9]{24})/i);
43
+ if (match) {
44
+ return match[1];
45
+ }
46
+ }
47
+ }
48
+ catch (error) {
49
+ console.warn(chalk_1.default.yellow("⚠️ Could not parse package.json"));
50
+ }
51
+ }
52
+ // Try to extract from git remote URL
53
+ try {
54
+ const gitManager = new git_1.GitManager();
55
+ const remoteUrl = await gitManager.getRemoteUrl();
56
+ if (remoteUrl) {
57
+ const match = remoteUrl.match(/block-([a-f0-9]{24})/);
58
+ if (match) {
59
+ return match[1];
60
+ }
61
+ }
62
+ }
63
+ catch (error) {
64
+ // Ignore git errors
65
+ }
66
+ return null;
67
+ }
68
+ async function saveCommand() {
69
+ try {
70
+ // Check authentication first
71
+ (0, auth_1.requireAuthentication)();
72
+ const user = (0, auth_1.getAuthenticatedUser)();
73
+ console.log(chalk_1.default.blue("💾 Saving and publishing block..."));
74
+ console.log(chalk_1.default.gray(` User: ${user?.fullName || user?.email || "Unknown"}`));
75
+ // Check if we're in a git repository
76
+ const gitManager = new git_1.GitManager();
77
+ const isGitRepo = await gitManager.isGitRepository();
78
+ if (!isGitRepo) {
79
+ console.error(chalk_1.default.red("❌ Not a git repository. Please run this command from a block repository."));
80
+ process.exit(1);
81
+ }
82
+ // Get repository information
83
+ const repoInfo = await gitManager.getRepositoryInfo();
84
+ console.log(chalk_1.default.gray(` Current branch: ${repoInfo.branch}`));
85
+ console.log(chalk_1.default.gray(` Remote URL: ${repoInfo.remoteUrl}`));
86
+ // Find block ID
87
+ const blockId = await findBlockId();
88
+ if (!blockId) {
89
+ console.error(chalk_1.default.red("❌ Could not determine block ID from repository."));
90
+ console.error(chalk_1.default.yellow(" Make sure you are in a block repository created with mexty"));
91
+ process.exit(1);
92
+ }
93
+ console.log(chalk_1.default.gray(` Block ID: ${blockId}`));
94
+ // Check if there are changes to commit
95
+ if (repoInfo.hasChanges) {
96
+ console.log(chalk_1.default.yellow("📝 Found uncommitted changes, preparing to commit..."));
97
+ // Get commit message from user
98
+ const commitMessage = await prompt("Enter commit message", "Update block content");
99
+ if (!commitMessage.trim()) {
100
+ console.error(chalk_1.default.red("❌ Commit message cannot be empty"));
101
+ process.exit(1);
102
+ }
103
+ // Stage all changes
104
+ console.log(chalk_1.default.yellow("📋 Staging changes (git add .)..."));
105
+ try {
106
+ await gitManager.git.add(".");
107
+ console.log(chalk_1.default.green("✅ Changes staged successfully"));
108
+ }
109
+ catch (addError) {
110
+ console.error(chalk_1.default.red(`❌ Failed to stage changes: ${addError.message}`));
111
+ process.exit(1);
112
+ }
113
+ // Commit changes
114
+ console.log(chalk_1.default.yellow(`💬 Committing changes: "${commitMessage}"...`));
115
+ try {
116
+ await gitManager.git.commit(commitMessage);
117
+ console.log(chalk_1.default.green("✅ Changes committed successfully"));
118
+ }
119
+ catch (commitError) {
120
+ console.error(chalk_1.default.red(`❌ Failed to commit changes: ${commitError.message}`));
121
+ process.exit(1);
122
+ }
123
+ }
124
+ else {
125
+ console.log(chalk_1.default.green("✅ No uncommitted changes found"));
126
+ }
127
+ // Push changes to remote
128
+ console.log(chalk_1.default.yellow(`📤 Pushing changes to remote (${repoInfo.branch})...`));
129
+ try {
130
+ await gitManager.pushToRemote();
131
+ console.log(chalk_1.default.green("✅ Changes pushed successfully"));
132
+ }
133
+ catch (pushError) {
134
+ console.error(chalk_1.default.red(`❌ Failed to push changes: ${pushError.message}`));
135
+ console.log(chalk_1.default.yellow(" Please check your network connection and GitHub permissions"));
136
+ process.exit(1);
137
+ }
138
+ // Trigger save and bundle
139
+ console.log(chalk_1.default.yellow("🏗️ Triggering build and bundle process..."));
140
+ try {
141
+ const result = await api_1.apiClient.saveAndBundle({ blockId });
142
+ console.log(chalk_1.default.green("🎉 Block saved and published successfully!"));
143
+ console.log(chalk_1.default.gray(` Bundle Path: ${result.bundlePath}`));
144
+ console.log(chalk_1.default.gray(` Federation URL: ${result.federationUrl}`));
145
+ if (result.message) {
146
+ console.log(chalk_1.default.blue(` ${result.message}`));
147
+ }
148
+ console.log(chalk_1.default.blue("\n📋 Your block is now building in the background."));
149
+ console.log(chalk_1.default.gray(" You can check the build status in the web interface."));
150
+ }
151
+ catch (buildError) {
152
+ console.error(chalk_1.default.red(`❌ Build failed: ${buildError.message}`));
153
+ console.log(chalk_1.default.yellow(" Check the server logs for more details."));
154
+ process.exit(1);
155
+ }
156
+ }
157
+ catch (error) {
158
+ console.error(chalk_1.default.red(`❌ Failed to save block: ${error.message}`));
159
+ process.exit(1);
160
+ }
161
+ }
162
+ //# sourceMappingURL=save.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"save.js","sourceRoot":"","sources":["../../src/commands/save.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function syncCommand(): Promise<void>;
2
+ //# sourceMappingURL=sync.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../src/commands/sync.ts"],"names":[],"mappings":"AA0BA,wBAAsB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAkGjD"}
@@ -0,0 +1,250 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.syncCommand = syncCommand;
7
+ const chalk_1 = __importDefault(require("chalk"));
8
+ const fs_1 = __importDefault(require("fs"));
9
+ const path_1 = __importDefault(require("path"));
10
+ async function syncCommand() {
11
+ try {
12
+ console.log(chalk_1.default.blue("🔄 Syncing block registry..."));
13
+ // Fetch registry from server
14
+ console.log(chalk_1.default.yellow("📡 Fetching registry from server..."));
15
+ const response = await fetch("https://api.mexty.ai/api/blocks/registry");
16
+ if (!response.ok) {
17
+ throw new Error(`Server responded with ${response.status}: ${response.statusText}`);
18
+ }
19
+ const data = await response.json();
20
+ const registry = data.registry;
21
+ const authorRegistry = data.authorRegistry;
22
+ const meta = data.meta;
23
+ console.log(chalk_1.default.green(`✅ Registry fetched successfully!`));
24
+ console.log(chalk_1.default.gray(` Total blocks: ${meta.totalBlocks}`));
25
+ console.log(chalk_1.default.gray(` Total components: ${meta.totalComponents}`));
26
+ console.log(chalk_1.default.gray(` Total authors: ${meta.totalAuthors || 0}`));
27
+ console.log(chalk_1.default.gray(` Last updated: ${meta.lastUpdated}`));
28
+ if (Object.keys(registry).length === 0) {
29
+ console.log(chalk_1.default.yellow("⚠️ No components found in registry."));
30
+ console.log(chalk_1.default.gray(' Make sure you have built some blocks first using "mexty publish"'));
31
+ return;
32
+ }
33
+ // Display available components
34
+ console.log(chalk_1.default.blue("\n📋 Available components (global namespace):"));
35
+ for (const [componentName, entry] of Object.entries(registry)) {
36
+ console.log(chalk_1.default.green(` ${componentName}${entry.author ? chalk_1.default.gray(` (by ${entry.author})`) : ""}`));
37
+ console.log(chalk_1.default.gray(` Block ID: ${entry.blockId}`));
38
+ console.log(chalk_1.default.gray(` Title: ${entry.title}`));
39
+ console.log(chalk_1.default.gray(` Description: ${entry.description.substring(0, 60)}${entry.description.length > 60 ? "..." : ""}`));
40
+ console.log(chalk_1.default.gray(` Tags: ${entry.tags?.join(", ") || "none"}`));
41
+ console.log("");
42
+ }
43
+ // Display author namespaces
44
+ if (Object.keys(authorRegistry).length > 0) {
45
+ console.log(chalk_1.default.blue("\n👤 Author namespaces:"));
46
+ for (const [author, components] of Object.entries(authorRegistry)) {
47
+ console.log(chalk_1.default.cyan(` @${author}:`));
48
+ for (const [componentName, entry] of Object.entries(components)) {
49
+ console.log(chalk_1.default.green(` ${componentName}`));
50
+ console.log(chalk_1.default.gray(` Block ID: ${entry.blockId}`));
51
+ console.log(chalk_1.default.gray(` Title: ${entry.title}`));
52
+ }
53
+ console.log("");
54
+ }
55
+ }
56
+ // Generate named exports file and author entry files
57
+ const mextBlockPath = findMextBlockPath();
58
+ if (mextBlockPath) {
59
+ console.log(chalk_1.default.blue("🔧 Updating mext-block exports..."));
60
+ await generateNamedExports(mextBlockPath, registry, authorRegistry);
61
+ await generateAuthorEntryFiles(mextBlockPath, authorRegistry);
62
+ console.log(chalk_1.default.green(`✅ Exports updated in ${mextBlockPath}`));
63
+ console.log(chalk_1.default.gray(` Generated ${Object.keys(authorRegistry).length} author entry files`));
64
+ }
65
+ else {
66
+ console.log(chalk_1.default.yellow("⚠️ mext-block package not found locally."));
67
+ console.log(chalk_1.default.gray(" Named exports file not generated."));
68
+ }
69
+ console.log(chalk_1.default.green("\n🎉 Registry sync completed!"));
70
+ }
71
+ catch (error) {
72
+ console.error(chalk_1.default.red(`❌ Failed to sync registry: ${error.message}`));
73
+ process.exit(1);
74
+ }
75
+ }
76
+ /**
77
+ * Find the mext-block package path
78
+ */
79
+ function findMextBlockPath() {
80
+ // Look for mext-block in common locations
81
+ const possiblePaths = [
82
+ path_1.default.join(process.cwd(), "..", "mext-block"),
83
+ path_1.default.join(process.cwd(), "mext-block"),
84
+ path_1.default.join(process.cwd(), "..", "..", "mext-block"),
85
+ ];
86
+ for (const possiblePath of possiblePaths) {
87
+ if (fs_1.default.existsSync(path_1.default.join(possiblePath, "package.json"))) {
88
+ try {
89
+ const packageJson = JSON.parse(fs_1.default.readFileSync(path_1.default.join(possiblePath, "package.json"), "utf8"));
90
+ if (packageJson.name === "@mexty/block" ||
91
+ packageJson.name === "@mexty/block") {
92
+ return possiblePath;
93
+ }
94
+ }
95
+ catch (error) {
96
+ // Ignore invalid package.json files
97
+ }
98
+ }
99
+ }
100
+ return null;
101
+ }
102
+ /**
103
+ * Generate named exports file for the mext-block package
104
+ */
105
+ async function generateNamedExports(mextBlockPath, registry, authorRegistry) {
106
+ const namedExportsPath = path_1.default.join(mextBlockPath, "src", "namedExports.ts");
107
+ // Generate the file content
108
+ const content = `// Auto-generated file - DO NOT EDIT MANUALLY
109
+ // Generated on: ${new Date().toISOString()}
110
+ // Total components: ${Object.keys(registry).length}
111
+ // Total authors: ${Object.keys(authorRegistry).length}
112
+
113
+ import { createNamedBlock } from './components/NamedBlock';
114
+ import { createAuthorBlock } from './components/AuthorBlock';
115
+
116
+ // ===== GLOBAL NAMESPACE COMPONENTS =====
117
+ ${Object.entries(registry)
118
+ .map(([componentName, entry]) => `// ${entry.title}${entry.author ? ` (by ${entry.author})` : ""}
119
+ // Block ID: ${entry.blockId}
120
+ // Description: ${entry.description}
121
+ // Tags: ${entry.tags?.join(", ") || "none"}
122
+ export const ${componentName} = createNamedBlock('${componentName}');`)
123
+ .join("\n\n")}
124
+
125
+ // Export all global components as an object for convenience
126
+ export const NamedComponents = {
127
+ ${Object.keys(registry)
128
+ .map((componentName) => ` ${componentName},`)
129
+ .join("\n")}
130
+ };
131
+
132
+ // Note: Author-specific components are now available via direct imports:
133
+ // import { ComponentName } from '@mexty/block/authorname'
134
+ // Available authors: ${Object.keys(authorRegistry).join(", ")}
135
+
136
+ // Registry metadata
137
+ export const registryMetadata = {
138
+ totalComponents: ${Object.keys(registry).length},
139
+ totalAuthors: ${Object.keys(authorRegistry).length},
140
+ lastGenerated: '${new Date().toISOString()}',
141
+ components: {
142
+ ${Object.entries(registry)
143
+ .map(([componentName, entry]) => ` ${componentName}: {
144
+ blockId: '${entry.blockId}',
145
+ title: '${entry.title}',
146
+ description: '${entry.description.replace(/'/g, "\\'")}',
147
+ author: '${entry.author || ""}',
148
+ tags: [${entry.tags?.map((tag) => `'${tag}'`).join(", ") || ""}],
149
+ lastUpdated: '${entry.lastUpdated}'
150
+ },`)
151
+ .join("\n")}
152
+ },
153
+ authors: {
154
+ ${Object.entries(authorRegistry)
155
+ .map(([author, components]) => ` ${author}: {
156
+ ${Object.entries(components)
157
+ .map(([componentName, entry]) => ` ${componentName}: {
158
+ blockId: '${entry.blockId}',
159
+ title: '${entry.title}',
160
+ description: '${entry.description.replace(/'/g, "\\'")}',
161
+ tags: [${entry.tags?.map((tag) => `'${tag}'`).join(", ") || ""}],
162
+ lastUpdated: '${entry.lastUpdated}'
163
+ },`)
164
+ .join("\n")}
165
+ },`)
166
+ .join("\n")}
167
+ }
168
+ };
169
+ `;
170
+ // Ensure directory exists
171
+ const srcDir = path_1.default.dirname(namedExportsPath);
172
+ if (!fs_1.default.existsSync(srcDir)) {
173
+ fs_1.default.mkdirSync(srcDir, { recursive: true });
174
+ }
175
+ // Write the file
176
+ fs_1.default.writeFileSync(namedExportsPath, content, "utf8");
177
+ // Update the main index.ts to include these exports
178
+ const indexPath = path_1.default.join(mextBlockPath, "src", "index.ts");
179
+ if (fs_1.default.existsSync(indexPath)) {
180
+ let indexContent = fs_1.default.readFileSync(indexPath, "utf8");
181
+ // Add export for named exports if not already present
182
+ if (!indexContent.includes("export * from './namedExports'")) {
183
+ indexContent +=
184
+ "\n// Auto-generated named exports\nexport * from './namedExports';\n";
185
+ fs_1.default.writeFileSync(indexPath, indexContent, "utf8");
186
+ }
187
+ }
188
+ }
189
+ /**
190
+ * Generate author-specific entry files for direct imports
191
+ */
192
+ async function generateAuthorEntryFiles(mextBlockPath, authorRegistry) {
193
+ const authorsDir = path_1.default.join(mextBlockPath, "src", "authors");
194
+ // Clean up existing author files
195
+ if (fs_1.default.existsSync(authorsDir)) {
196
+ fs_1.default.rmSync(authorsDir, { recursive: true, force: true });
197
+ }
198
+ // Create authors directory
199
+ fs_1.default.mkdirSync(authorsDir, { recursive: true });
200
+ // Generate an entry file for each author
201
+ for (const [author, components] of Object.entries(authorRegistry)) {
202
+ const authorDir = path_1.default.join(authorsDir, author);
203
+ fs_1.default.mkdirSync(authorDir, { recursive: true });
204
+ const authorEntryPath = path_1.default.join(authorDir, "index.ts");
205
+ // Generate the author's entry file content
206
+ const content = `// Auto-generated author entry file for ${author}
207
+ // Generated on: ${new Date().toISOString()}
208
+ // Total components: ${Object.keys(components).length}
209
+
210
+ import { createAuthorBlock } from '../../components/AuthorBlock';
211
+
212
+ ${Object.entries(components)
213
+ .map(([componentName, entry]) => `// ${entry.title}
214
+ // Block ID: ${entry.blockId}
215
+ // Description: ${entry.description}
216
+ // Tags: ${entry.tags?.join(", ") || "none"}
217
+ export const ${componentName} = createAuthorBlock('${author}', '${componentName}');`)
218
+ .join("\n\n")}
219
+
220
+ // Export all components as default for convenience
221
+ export default {
222
+ ${Object.keys(components)
223
+ .map((componentName) => ` ${componentName},`)
224
+ .join("\n")}
225
+ };
226
+
227
+ // Author metadata
228
+ export const authorMetadata = {
229
+ author: '${author}',
230
+ totalComponents: ${Object.keys(components).length},
231
+ lastGenerated: '${new Date().toISOString()}',
232
+ components: {
233
+ ${Object.entries(components)
234
+ .map(([componentName, entry]) => ` ${componentName}: {
235
+ blockId: '${entry.blockId}',
236
+ title: '${entry.title}',
237
+ description: '${entry.description.replace(/'/g, "\\'")}',
238
+ tags: [${entry.tags?.map((tag) => `'${tag}'`).join(", ") || ""}],
239
+ lastUpdated: '${entry.lastUpdated}'
240
+ },`)
241
+ .join("\n")}
242
+ }
243
+ };
244
+ `;
245
+ // Write the author entry file
246
+ fs_1.default.writeFileSync(authorEntryPath, content, "utf8");
247
+ console.log(chalk_1.default.gray(` Created entry file for ${author} (${Object.keys(components).length} components)`));
248
+ }
249
+ }
250
+ //# sourceMappingURL=sync.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sync.js","sourceRoot":"","sources":["../../src/commands/sync.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ export {};
3
+ //# sourceMappingURL=index.d.ts.map