@mexty/cli 1.2.0 → 1.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/commands/create.d.ts +9 -0
- package/dist/commands/create.d.ts.map +1 -0
- package/dist/commands/create.js +118 -0
- package/dist/commands/create.js.map +1 -0
- package/dist/commands/delete.d.ts +2 -0
- package/dist/commands/delete.d.ts.map +1 -0
- package/dist/commands/delete.js +59 -0
- package/dist/commands/delete.js.map +1 -0
- package/dist/commands/fork.d.ts +2 -0
- package/dist/commands/fork.d.ts.map +1 -0
- package/dist/commands/fork.js +57 -0
- package/dist/commands/fork.js.map +1 -0
- package/dist/commands/login.d.ts +2 -0
- package/dist/commands/login.d.ts.map +1 -0
- package/dist/commands/login.js +90 -0
- package/dist/commands/login.js.map +1 -0
- package/dist/commands/publish.d.ts +2 -0
- package/dist/commands/publish.d.ts.map +1 -0
- package/dist/commands/publish.js +144 -0
- package/dist/commands/publish.js.map +1 -0
- package/dist/commands/save.d.ts +2 -0
- package/dist/commands/save.d.ts.map +1 -0
- package/dist/commands/save.js +162 -0
- package/dist/commands/save.js.map +1 -0
- package/dist/commands/sync.d.ts +2 -0
- package/dist/commands/sync.d.ts.map +1 -0
- package/dist/commands/sync.js +250 -0
- package/dist/commands/sync.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +85 -0
- package/dist/index.js.map +1 -0
- package/dist/utils/api.d.ts +81 -0
- package/dist/utils/api.d.ts.map +1 -0
- package/dist/utils/api.js +161 -0
- package/dist/utils/api.js.map +1 -0
- package/dist/utils/auth.d.ts +4 -0
- package/dist/utils/auth.d.ts.map +1 -0
- package/dist/utils/auth.js +27 -0
- package/dist/utils/auth.js.map +1 -0
- package/dist/utils/git.d.ts +42 -0
- package/dist/utils/git.d.ts.map +1 -0
- package/dist/utils/git.js +171 -0
- package/dist/utils/git.js.map +1 -0
- package/package.json +1 -1
@@ -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":";;;;;AA2EA,kCAyIC;AApND,kDAA0B;AAC1B,4CAAoB;AACpB,gDAAwB;AACxB,sCAAyC;AACzC,sCAA0C;AAC1C,uCAA2C;AAC3C,wCAA4E;AAE5E,yBAAyB;AACzB,KAAK,UAAU,MAAM,CACnB,QAAgB,EAChB,YAAqB;IAErB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,MAAM,EAAE,GAAG,IAAA,0BAAe,EAAC;YACzB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,MAAM,EAAE,OAAO,CAAC,MAAM;SACvB,CAAC,CAAC;QAEH,MAAM,UAAU,GAAG,YAAY;YAC7B,CAAC,CAAC,GAAG,QAAQ,KAAK,YAAY,KAAK;YACnC,CAAC,CAAC,GAAG,QAAQ,IAAI,CAAC;QAEpB,EAAE,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC,MAAM,EAAE,EAAE;YACjC,EAAE,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,YAAY,IAAI,EAAE,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,gDAAgD;AAChD,KAAK,UAAU,WAAW;IACxB,MAAM,eAAe,GAAG,cAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,cAAc,CAAC,CAAC;IAEjE,IAAI,YAAE,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;QACnC,IAAI,CAAC;YACH,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAE,CAAC,YAAY,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC,CAAC;YAEzE,wDAAwD;YACxD,IAAI,WAAW,CAAC,IAAI,IAAI,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC9D,OAAO,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;YAChD,CAAC;YAED,2CAA2C;YAC3C,IAAI,WAAW,CAAC,WAAW,EAAE,CAAC;gBAC5B,MAAM,KAAK,GAAG,WAAW,CAAC,WAAW,CAAC,KAAK,CACzC,4BAA4B,CAC7B,CAAC;gBACF,IAAI,KAAK,EAAE,CAAC;oBACV,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;gBAClB,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC,eAAK,CAAC,MAAM,CAAC,kCAAkC,CAAC,CAAC,CAAC;QACjE,CAAC;IACH,CAAC;IAED,qCAAqC;IACrC,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,IAAI,gBAAU,EAAE,CAAC;QACpC,MAAM,SAAS,GAAG,MAAM,UAAU,CAAC,YAAY,EAAE,CAAC;QAElD,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;YACtD,IAAI,KAAK,EAAE,CAAC;gBACV,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;QACH,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,oBAAoB;IACtB,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAEM,KAAK,UAAU,WAAW;IAC/B,IAAI,CAAC;QACH,6BAA6B;QAC7B,IAAA,4BAAqB,GAAE,CAAC;QAExB,MAAM,IAAI,GAAG,IAAA,2BAAoB,GAAE,CAAC;QACpC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC,CAAC;QAC7D,OAAO,CAAC,GAAG,CACT,eAAK,CAAC,IAAI,CAAC,YAAY,IAAI,EAAE,QAAQ,IAAI,IAAI,EAAE,KAAK,IAAI,SAAS,EAAE,CAAC,CACrE,CAAC;QAEF,qCAAqC;QACrC,MAAM,UAAU,GAAG,IAAI,gBAAU,EAAE,CAAC;QACpC,MAAM,SAAS,GAAG,MAAM,UAAU,CAAC,eAAe,EAAE,CAAC;QAErD,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CACX,eAAK,CAAC,GAAG,CACP,0EAA0E,CAC3E,CACF,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,6BAA6B;QAC7B,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,iBAAiB,EAAE,CAAC;QACtD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,sBAAsB,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QACjE,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,kBAAkB,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;QAEhE,gBAAgB;QAChB,MAAM,OAAO,GAAG,MAAM,WAAW,EAAE,CAAC;QACpC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CACX,eAAK,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAC7D,CAAC;YACF,OAAO,CAAC,KAAK,CACX,eAAK,CAAC,MAAM,CACV,+DAA+D,CAChE,CACF,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,gBAAgB,OAAO,EAAE,CAAC,CAAC,CAAC;QAEnD,uCAAuC;QACvC,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC;YACxB,OAAO,CAAC,GAAG,CACT,eAAK,CAAC,MAAM,CAAC,sDAAsD,CAAC,CACrE,CAAC;YAEF,+BAA+B;YAC/B,MAAM,aAAa,GAAG,MAAM,MAAM,CAChC,sBAAsB,EACtB,sBAAsB,CACvB,CAAC;YAEF,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,EAAE,CAAC;gBAC1B,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC,CAAC;gBAC7D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YAED,oBAAoB;YACpB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,mCAAmC,CAAC,CAAC,CAAC;YAC/D,IAAI,CAAC;gBACH,MAAM,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBAC9B,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC,CAAC;YAC5D,CAAC;YAAC,OAAO,QAAa,EAAE,CAAC;gBACvB,OAAO,CAAC,KAAK,CACX,eAAK,CAAC,GAAG,CAAC,8BAA8B,QAAQ,CAAC,OAAO,EAAE,CAAC,CAC5D,CAAC;gBACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YAED,iBAAiB;YACjB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,2BAA2B,aAAa,MAAM,CAAC,CAAC,CAAC;YAC1E,IAAI,CAAC;gBACH,MAAM,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;gBAC3C,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC,CAAC;YAC/D,CAAC;YAAC,OAAO,WAAgB,EAAE,CAAC;gBAC1B,OAAO,CAAC,KAAK,CACX,eAAK,CAAC,GAAG,CAAC,+BAA+B,WAAW,CAAC,OAAO,EAAE,CAAC,CAChE,CAAC;gBACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;QACH,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC,CAAC;QAC7D,CAAC;QAED,yBAAyB;QACzB,OAAO,CAAC,GAAG,CACT,eAAK,CAAC,MAAM,CAAC,iCAAiC,QAAQ,CAAC,MAAM,MAAM,CAAC,CACrE,CAAC;QACF,IAAI,CAAC;YACH,MAAM,UAAU,CAAC,YAAY,EAAE,CAAC;YAChC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC,CAAC;QAC5D,CAAC;QAAC,OAAO,SAAc,EAAE,CAAC;YACxB,OAAO,CAAC,KAAK,CACX,eAAK,CAAC,GAAG,CAAC,6BAA6B,SAAS,CAAC,OAAO,EAAE,CAAC,CAC5D,CAAC;YACF,OAAO,CAAC,GAAG,CACT,eAAK,CAAC,MAAM,CACV,gEAAgE,CACjE,CACF,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,0BAA0B;QAC1B,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,6CAA6C,CAAC,CAAC,CAAC;QAEzE,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,eAAS,CAAC,aAAa,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;YAE1D,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,4CAA4C,CAAC,CAAC,CAAC;YACvE,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,mBAAmB,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;YAChE,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,sBAAsB,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;YAEtE,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACnB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YAClD,CAAC;YAED,OAAO,CAAC,GAAG,CACT,eAAK,CAAC,IAAI,CAAC,oDAAoD,CAAC,CACjE,CAAC;YACF,OAAO,CAAC,GAAG,CACT,eAAK,CAAC,IAAI,CAAC,yDAAyD,CAAC,CACtE,CAAC;QACJ,CAAC;QAAC,OAAO,UAAe,EAAE,CAAC;YACzB,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,mBAAmB,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YAClE,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,4CAA4C,CAAC,CAAC,CAAC;YACxE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,2BAA2B,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QACrE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC"}
|
@@ -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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"}
|
package/dist/index.d.ts
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":""}
|
package/dist/index.js
ADDED
@@ -0,0 +1,85 @@
|
|
1
|
+
#!/usr/bin/env node
|
2
|
+
"use strict";
|
3
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
4
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
5
|
+
};
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
7
|
+
const commander_1 = require("commander");
|
8
|
+
const chalk_1 = __importDefault(require("chalk"));
|
9
|
+
const login_1 = require("./commands/login");
|
10
|
+
const create_1 = require("./commands/create");
|
11
|
+
const fork_1 = require("./commands/fork");
|
12
|
+
const delete_1 = require("./commands/delete");
|
13
|
+
const publish_1 = require("./commands/publish");
|
14
|
+
const sync_1 = require("./commands/sync");
|
15
|
+
const save_1 = require("./commands/save");
|
16
|
+
const api_1 = require("./utils/api");
|
17
|
+
const program = new commander_1.Command();
|
18
|
+
// CLI Configuration
|
19
|
+
program
|
20
|
+
.name("mexty")
|
21
|
+
.description("MEXT CLI for managing React microfrontend blocks and components")
|
22
|
+
.version("1.0.0");
|
23
|
+
// Add commands
|
24
|
+
program
|
25
|
+
.command("login")
|
26
|
+
.description("Authenticate with MEXT")
|
27
|
+
.action(login_1.loginCommand);
|
28
|
+
program
|
29
|
+
.command("logout")
|
30
|
+
.description("Logout from MEXT")
|
31
|
+
.action(async () => {
|
32
|
+
try {
|
33
|
+
if (!api_1.apiClient.isAuthenticated()) {
|
34
|
+
console.log(chalk_1.default.yellow("⚠️ You are not logged in"));
|
35
|
+
return;
|
36
|
+
}
|
37
|
+
await api_1.apiClient.logout();
|
38
|
+
console.log(chalk_1.default.green("✅ Logged out successfully"));
|
39
|
+
}
|
40
|
+
catch (error) {
|
41
|
+
console.error(chalk_1.default.red(`❌ Logout failed: ${error.message}`));
|
42
|
+
}
|
43
|
+
});
|
44
|
+
// Support both old and new create syntax
|
45
|
+
program
|
46
|
+
.command("create [subcommand]")
|
47
|
+
.description("Create a new React microfrontend block")
|
48
|
+
.option("-d, --description <description>", "Block description")
|
49
|
+
.option("-t, --type <type>", "Block type", "custom")
|
50
|
+
.option("-n, --name <name>", 'Block name (for "create block" syntax)')
|
51
|
+
.option("-c, --category <category>", 'Block category (for "create block" syntax)')
|
52
|
+
.action(create_1.createCommand);
|
53
|
+
program
|
54
|
+
.command("fork <blockId>")
|
55
|
+
.description("Fork an existing block and clone its repository")
|
56
|
+
.action(fork_1.forkCommand);
|
57
|
+
program
|
58
|
+
.command("delete <blockId>")
|
59
|
+
.description("Delete a block (requires ownership)")
|
60
|
+
.action(delete_1.deleteCommand);
|
61
|
+
program
|
62
|
+
.command("publish")
|
63
|
+
.description("Publish current block with automatic bundling")
|
64
|
+
.action(publish_1.publishCommand);
|
65
|
+
program
|
66
|
+
.command("sync")
|
67
|
+
.description("Sync block registry and update typed exports")
|
68
|
+
.action(sync_1.syncCommand);
|
69
|
+
program
|
70
|
+
.command("save")
|
71
|
+
.description("Save current block (git add, commit, push, and trigger build)")
|
72
|
+
.action(save_1.saveCommand);
|
73
|
+
// Error handling
|
74
|
+
program.on("command:*", () => {
|
75
|
+
console.error(chalk_1.default.red(`Invalid command: ${program.args.join(" ")}`));
|
76
|
+
console.log(chalk_1.default.yellow("See --help for a list of available commands."));
|
77
|
+
process.exit(1);
|
78
|
+
});
|
79
|
+
// Parse arguments
|
80
|
+
program.parse(process.argv);
|
81
|
+
// Show help if no command provided
|
82
|
+
if (!process.argv.slice(2).length) {
|
83
|
+
program.outputHelp();
|
84
|
+
}
|
85
|
+
//# sourceMappingURL=index.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,81 @@
|
|
1
|
+
export interface Block {
|
2
|
+
_id: string;
|
3
|
+
blockType: string;
|
4
|
+
title: string;
|
5
|
+
description: string;
|
6
|
+
gitUrl?: string;
|
7
|
+
courseId?: string;
|
8
|
+
courseName?: string;
|
9
|
+
allowedBrickTypes: string[];
|
10
|
+
allowedBlockTypes?: string[];
|
11
|
+
scope: ("library" | "user-store" | "published-store")[];
|
12
|
+
content: any[];
|
13
|
+
forkedId?: string;
|
14
|
+
bundlePath?: string;
|
15
|
+
federationUrl?: string;
|
16
|
+
buildStatus?: "pending" | "building" | "success" | "failed";
|
17
|
+
buildError?: string;
|
18
|
+
lastBuilt?: Date;
|
19
|
+
createdAt: Date;
|
20
|
+
updatedAt: Date;
|
21
|
+
}
|
22
|
+
export interface CreateBlockRequest {
|
23
|
+
blockType: string;
|
24
|
+
title: string;
|
25
|
+
description: string;
|
26
|
+
gitUrl?: string;
|
27
|
+
courseId?: string;
|
28
|
+
courseName?: string;
|
29
|
+
allowedBrickTypes: string[];
|
30
|
+
allowedBlockTypes?: string[];
|
31
|
+
scope: string[];
|
32
|
+
content?: any[];
|
33
|
+
}
|
34
|
+
export interface ForkBlockRequest {
|
35
|
+
blockId: string;
|
36
|
+
title?: string;
|
37
|
+
description?: string;
|
38
|
+
}
|
39
|
+
export interface SaveAndBundleRequest {
|
40
|
+
blockId: string;
|
41
|
+
}
|
42
|
+
export interface AuthResponse {
|
43
|
+
success: boolean;
|
44
|
+
message: string;
|
45
|
+
token?: string;
|
46
|
+
user?: {
|
47
|
+
id: string;
|
48
|
+
email: string;
|
49
|
+
fullName?: string;
|
50
|
+
occupation?: string;
|
51
|
+
isProfileComplete: boolean;
|
52
|
+
};
|
53
|
+
}
|
54
|
+
export interface LoginRequest {
|
55
|
+
email: string;
|
56
|
+
otp: string;
|
57
|
+
}
|
58
|
+
declare class ApiClient {
|
59
|
+
private client;
|
60
|
+
private baseUrl;
|
61
|
+
private tokenPath;
|
62
|
+
constructor(baseUrl?: string);
|
63
|
+
private getStoredToken;
|
64
|
+
private storeToken;
|
65
|
+
private clearStoredToken;
|
66
|
+
isAuthenticated(): boolean;
|
67
|
+
getStoredUser(): any;
|
68
|
+
createBlock(data: CreateBlockRequest): Promise<Block>;
|
69
|
+
forkBlock(data: ForkBlockRequest): Promise<Block>;
|
70
|
+
deleteBlock(blockId: string): Promise<void>;
|
71
|
+
getBlock(blockId: string): Promise<Block>;
|
72
|
+
saveAndBundle(data: SaveAndBundleRequest): Promise<any>;
|
73
|
+
healthCheck(): Promise<boolean>;
|
74
|
+
requestOTP(email: string): Promise<AuthResponse>;
|
75
|
+
verifyOTP(email: string, otp: string): Promise<AuthResponse>;
|
76
|
+
logout(): Promise<void>;
|
77
|
+
setBaseUrl(url: string): void;
|
78
|
+
}
|
79
|
+
export declare const apiClient: ApiClient;
|
80
|
+
export {};
|
81
|
+
//# sourceMappingURL=api.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/utils/api.ts"],"names":[],"mappings":"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"}
|