@mexty/cli 1.6.0 ā 1.7.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/GITHUB_OAUTH_SETUP.md +247 -0
- package/dist/commands/create.d.ts +9 -0
- package/dist/commands/create.d.ts.map +1 -0
- package/dist/commands/create.js +130 -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/github-disconnect.d.ts +2 -0
- package/dist/commands/github-disconnect.d.ts.map +1 -0
- package/dist/commands/github-disconnect.js +73 -0
- package/dist/commands/github-disconnect.js.map +1 -0
- package/dist/commands/github-login.d.ts +2 -0
- package/dist/commands/github-login.d.ts.map +1 -0
- package/dist/commands/github-login.js +100 -0
- package/dist/commands/github-login.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 +6 -0
- package/dist/commands/publish.d.ts.map +1 -0
- package/dist/commands/publish.js +176 -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/update-git-url.d.ts +2 -0
- package/dist/commands/update-git-url.d.ts.map +1 -0
- package/dist/commands/update-git-url.js +153 -0
- package/dist/commands/update-git-url.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +119 -0
- package/dist/index.js.map +1 -0
- package/dist/utils/api.d.ts +117 -0
- package/dist/utils/api.d.ts.map +1 -0
- package/dist/utils/api.js +202 -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 +47 -0
- package/dist/utils/git.d.ts.map +1 -0
- package/dist/utils/git.js +224 -0
- package/dist/utils/git.js.map +1 -0
- package/package.json +2 -1
- package/src/commands/github-disconnect.ts +80 -0
- package/src/commands/github-login.ts +107 -0
- package/src/index.ts +37 -0
- package/src/utils/api.ts +21 -0
- package/src/utils/git.ts +60 -2
|
@@ -0,0 +1,100 @@
|
|
|
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.githubLoginCommand = githubLoginCommand;
|
|
7
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
8
|
+
const open_1 = __importDefault(require("open"));
|
|
9
|
+
const api_1 = require("../utils/api");
|
|
10
|
+
const auth_1 = require("../utils/auth");
|
|
11
|
+
async function wait(seconds) {
|
|
12
|
+
return new Promise(resolve => setTimeout(resolve, seconds * 1000));
|
|
13
|
+
}
|
|
14
|
+
async function githubLoginCommand() {
|
|
15
|
+
try {
|
|
16
|
+
// Check authentication first
|
|
17
|
+
(0, auth_1.requireAuthentication)();
|
|
18
|
+
console.log(chalk_1.default.blue('š GitHub Authentication'));
|
|
19
|
+
console.log(chalk_1.default.gray(' Connecting your GitHub account for private repository access\n'));
|
|
20
|
+
// Check if already connected
|
|
21
|
+
try {
|
|
22
|
+
const status = await api_1.apiClient.getGitHubStatus();
|
|
23
|
+
if (status.connected) {
|
|
24
|
+
console.log(chalk_1.default.green('ā
GitHub already connected!'));
|
|
25
|
+
console.log(chalk_1.default.gray(` Username: ${status.githubUsername}`));
|
|
26
|
+
console.log(chalk_1.default.gray(` Status: ${status.message}\n`));
|
|
27
|
+
console.log(chalk_1.default.yellow('To disconnect and reconnect, run: mexty github-disconnect'));
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
catch (error) {
|
|
32
|
+
// If status check fails, continue with login
|
|
33
|
+
console.log(chalk_1.default.yellow('ā ļø Could not check GitHub status, proceeding with login...'));
|
|
34
|
+
}
|
|
35
|
+
// Get GitHub OAuth URL
|
|
36
|
+
console.log(chalk_1.default.yellow('š” Requesting GitHub OAuth URL...'));
|
|
37
|
+
const authData = await api_1.apiClient.getGitHubAuthUrl();
|
|
38
|
+
if (!authData.success || !authData.url) {
|
|
39
|
+
console.error(chalk_1.default.red(`ā ${authData.message}`));
|
|
40
|
+
process.exit(1);
|
|
41
|
+
}
|
|
42
|
+
console.log(chalk_1.default.green('ā
OAuth URL generated'));
|
|
43
|
+
console.log(chalk_1.default.blue('\nš Opening browser for GitHub authentication...'));
|
|
44
|
+
console.log(chalk_1.default.gray(` URL: ${authData.url}\n`));
|
|
45
|
+
// Open browser
|
|
46
|
+
try {
|
|
47
|
+
await (0, open_1.default)(authData.url);
|
|
48
|
+
console.log(chalk_1.default.yellow('š Please authorize MEXTY in your browser'));
|
|
49
|
+
}
|
|
50
|
+
catch (error) {
|
|
51
|
+
console.warn(chalk_1.default.yellow('ā ļø Could not open browser automatically'));
|
|
52
|
+
console.log(chalk_1.default.blue('\nPlease open this URL in your browser:'));
|
|
53
|
+
console.log(chalk_1.default.cyan(authData.url));
|
|
54
|
+
}
|
|
55
|
+
console.log(chalk_1.default.gray('\nā³ Waiting for you to authorize...'));
|
|
56
|
+
console.log(chalk_1.default.gray(' This may take a moment\n'));
|
|
57
|
+
// Poll for connection status
|
|
58
|
+
let connected = false;
|
|
59
|
+
let attempts = 0;
|
|
60
|
+
const maxAttempts = 60; // 2 minutes (2 second intervals)
|
|
61
|
+
while (!connected && attempts < maxAttempts) {
|
|
62
|
+
await wait(2);
|
|
63
|
+
attempts++;
|
|
64
|
+
try {
|
|
65
|
+
const status = await api_1.apiClient.getGitHubStatus();
|
|
66
|
+
if (status.connected) {
|
|
67
|
+
connected = true;
|
|
68
|
+
console.log(chalk_1.default.green('\nš GitHub connected successfully!'));
|
|
69
|
+
console.log(chalk_1.default.gray(` Username: ${status.githubUsername}`));
|
|
70
|
+
console.log(chalk_1.default.gray(` Status: ${status.message}\n`));
|
|
71
|
+
console.log(chalk_1.default.blue('You can now clone private block repositories!'));
|
|
72
|
+
break;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
catch (error) {
|
|
76
|
+
// Continue polling
|
|
77
|
+
}
|
|
78
|
+
// Show progress indicator every 10 attempts
|
|
79
|
+
if (attempts % 10 === 0) {
|
|
80
|
+
console.log(chalk_1.default.gray(` Still waiting... (${attempts * 2}s)`));
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
if (!connected) {
|
|
84
|
+
console.error(chalk_1.default.red('\nā Authentication timeout'));
|
|
85
|
+
console.log(chalk_1.default.yellow(' Please try again: mexty github-login'));
|
|
86
|
+
process.exit(1);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
catch (error) {
|
|
90
|
+
console.error(chalk_1.default.red(`ā GitHub login failed: ${error.message}`));
|
|
91
|
+
if (error.response?.status === 401) {
|
|
92
|
+
console.log(chalk_1.default.yellow(' Please login first: mexty login'));
|
|
93
|
+
}
|
|
94
|
+
else if (error.response?.status === 500) {
|
|
95
|
+
console.log(chalk_1.default.yellow(' GitHub OAuth may not be configured on the server'));
|
|
96
|
+
}
|
|
97
|
+
process.exit(1);
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
//# sourceMappingURL=github-login.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"github-login.js","sourceRoot":"","sources":["../../src/commands/github-login.ts"],"names":[],"mappings":";;;;;AASA,gDAgGC;AAzGD,kDAA0B;AAC1B,gDAAwB;AACxB,sCAAyC;AACzC,wCAAsD;AAEtD,KAAK,UAAU,IAAI,CAAC,OAAe;IACjC,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC;AACrE,CAAC;AAEM,KAAK,UAAU,kBAAkB;IACtC,IAAI,CAAC;QACH,6BAA6B;QAC7B,IAAA,4BAAqB,GAAE,CAAC;QAExB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC,CAAC;QACpD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,mEAAmE,CAAC,CAAC,CAAC;QAE7F,6BAA6B;QAC7B,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,eAAS,CAAC,eAAe,EAAE,CAAC;YACjD,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;gBACrB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC,CAAC;gBACxD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,gBAAgB,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;gBACjE,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,cAAc,MAAM,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC;gBAE1D,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,2DAA2D,CAAC,CAAC,CAAC;gBACvF,OAAO;YACT,CAAC;QACH,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,6CAA6C;YAC7C,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,6DAA6D,CAAC,CAAC,CAAC;QAC3F,CAAC;QAED,uBAAuB;QACvB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,mCAAmC,CAAC,CAAC,CAAC;QAC/D,MAAM,QAAQ,GAAG,MAAM,eAAS,CAAC,gBAAgB,EAAE,CAAC;QAEpD,IAAI,CAAC,QAAQ,CAAC,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;YACvC,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,KAAK,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YAClD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC,CAAC;QAClD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAAC,CAAC;QAC7E,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,WAAW,QAAQ,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;QAErD,eAAe;QACf,IAAI,CAAC;YACH,MAAM,IAAA,cAAI,EAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YACzB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,2CAA2C,CAAC,CAAC,CAAC;QACzE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC,eAAK,CAAC,MAAM,CAAC,0CAA0C,CAAC,CAAC,CAAC;YACvE,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC,CAAC;YACnE,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;QACxC,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC,CAAC;QAC/D,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC,CAAC;QAEvD,6BAA6B;QAC7B,IAAI,SAAS,GAAG,KAAK,CAAC;QACtB,IAAI,QAAQ,GAAG,CAAC,CAAC;QACjB,MAAM,WAAW,GAAG,EAAE,CAAC,CAAC,iCAAiC;QAEzD,OAAO,CAAC,SAAS,IAAI,QAAQ,GAAG,WAAW,EAAE,CAAC;YAC5C,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC;YACd,QAAQ,EAAE,CAAC;YAEX,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,eAAS,CAAC,eAAe,EAAE,CAAC;gBACjD,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;oBACrB,SAAS,GAAG,IAAI,CAAC;oBACjB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC,CAAC;oBAChE,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,gBAAgB,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;oBACjE,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,cAAc,MAAM,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC;oBAC1D,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAC,CAAC;oBACzE,MAAM;gBACR,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,mBAAmB;YACrB,CAAC;YAED,4CAA4C;YAC5C,IAAI,QAAQ,GAAG,EAAE,KAAK,CAAC,EAAE,CAAC;gBACxB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,wBAAwB,QAAQ,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;YACpE,CAAC;QACH,CAAC;QAED,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC,CAAC;YACvD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,yCAAyC,CAAC,CAAC,CAAC;YACrE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IAEH,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,0BAA0B,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAEpE,IAAI,KAAK,CAAC,QAAQ,EAAE,MAAM,KAAK,GAAG,EAAE,CAAC;YACnC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,oCAAoC,CAAC,CAAC,CAAC;QAClE,CAAC;aAAM,IAAI,KAAK,CAAC,QAAQ,EAAE,MAAM,KAAK,GAAG,EAAE,CAAC;YAC1C,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,qDAAqD,CAAC,CAAC,CAAC;QACnF,CAAC;QAED,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../src/commands/login.ts"],"names":[],"mappings":"AAwBA,wBAAsB,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CA+ElD"}
|
|
@@ -0,0 +1,90 @@
|
|
|
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.loginCommand = loginCommand;
|
|
7
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
8
|
+
const readline_1 = require("readline");
|
|
9
|
+
const api_1 = require("../utils/api");
|
|
10
|
+
// Simple prompt function
|
|
11
|
+
async function prompt(question) {
|
|
12
|
+
return new Promise((resolve) => {
|
|
13
|
+
const rl = (0, readline_1.createInterface)({
|
|
14
|
+
input: process.stdin,
|
|
15
|
+
output: process.stdout
|
|
16
|
+
});
|
|
17
|
+
rl.question(question, (answer) => {
|
|
18
|
+
rl.close();
|
|
19
|
+
resolve(answer.trim());
|
|
20
|
+
});
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
// Wait function for countdown
|
|
24
|
+
async function wait(seconds) {
|
|
25
|
+
return new Promise(resolve => setTimeout(resolve, seconds * 1000));
|
|
26
|
+
}
|
|
27
|
+
async function loginCommand() {
|
|
28
|
+
try {
|
|
29
|
+
console.log(chalk_1.default.blue('š Login to MEXT'));
|
|
30
|
+
// Check if already authenticated
|
|
31
|
+
if (api_1.apiClient.isAuthenticated()) {
|
|
32
|
+
const user = api_1.apiClient.getStoredUser();
|
|
33
|
+
console.log(chalk_1.default.green('ā
You are already logged in!'));
|
|
34
|
+
console.log(chalk_1.default.gray(` Email: ${user?.email || 'Unknown'}`));
|
|
35
|
+
console.log(chalk_1.default.gray(` Name: ${user?.fullName || 'Not set'}`));
|
|
36
|
+
const logout = await prompt('Do you want to logout and login as a different user? (y/N): ');
|
|
37
|
+
if (logout.toLowerCase() !== 'y' && logout.toLowerCase() !== 'yes') {
|
|
38
|
+
return;
|
|
39
|
+
}
|
|
40
|
+
await api_1.apiClient.logout();
|
|
41
|
+
console.log(chalk_1.default.yellow('š¤ Logged out successfully'));
|
|
42
|
+
}
|
|
43
|
+
// Request email
|
|
44
|
+
const email = await prompt('Enter your email address: ');
|
|
45
|
+
if (!email || !email.includes('@')) {
|
|
46
|
+
console.error(chalk_1.default.red('ā Please provide a valid email address'));
|
|
47
|
+
process.exit(1);
|
|
48
|
+
}
|
|
49
|
+
console.log(chalk_1.default.yellow('š§ Requesting verification code...'));
|
|
50
|
+
// Request OTP
|
|
51
|
+
try {
|
|
52
|
+
const otpResponse = await api_1.apiClient.requestOTP(email);
|
|
53
|
+
if (!otpResponse.success) {
|
|
54
|
+
console.error(chalk_1.default.red(`ā ${otpResponse.message}`));
|
|
55
|
+
process.exit(1);
|
|
56
|
+
}
|
|
57
|
+
console.log(chalk_1.default.green('ā
Verification code sent to your email'));
|
|
58
|
+
console.log(chalk_1.default.gray(' Please check your inbox (and spam folder)'));
|
|
59
|
+
// Wait a moment for the user to check email
|
|
60
|
+
await wait(2);
|
|
61
|
+
// Request OTP code
|
|
62
|
+
const otp = await prompt('Enter the 6-digit verification code: ');
|
|
63
|
+
if (!otp || otp.length !== 6 || !/^\d{6}$/.test(otp)) {
|
|
64
|
+
console.error(chalk_1.default.red('ā Please provide a valid 6-digit code'));
|
|
65
|
+
process.exit(1);
|
|
66
|
+
}
|
|
67
|
+
console.log(chalk_1.default.yellow('š Verifying code...'));
|
|
68
|
+
// Verify OTP
|
|
69
|
+
const verifyResponse = await api_1.apiClient.verifyOTP(email, otp);
|
|
70
|
+
if (!verifyResponse.success) {
|
|
71
|
+
console.error(chalk_1.default.red(`ā ${verifyResponse.message}`));
|
|
72
|
+
process.exit(1);
|
|
73
|
+
}
|
|
74
|
+
console.log(chalk_1.default.green('š Login successful!'));
|
|
75
|
+
console.log(chalk_1.default.gray(` Welcome, ${verifyResponse.user?.fullName || verifyResponse.user?.email || 'User'}!`));
|
|
76
|
+
if (!verifyResponse.user?.isProfileComplete) {
|
|
77
|
+
console.log(chalk_1.default.yellow('ā ļø Your profile is incomplete. Please complete it in the web interface.'));
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
catch (error) {
|
|
81
|
+
console.error(chalk_1.default.red(`ā Login failed: ${error.message}`));
|
|
82
|
+
process.exit(1);
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
catch (error) {
|
|
86
|
+
console.error(chalk_1.default.red(`ā Login error: ${error.message}`));
|
|
87
|
+
process.exit(1);
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
//# sourceMappingURL=login.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"login.js","sourceRoot":"","sources":["../../src/commands/login.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"publish.d.ts","sourceRoot":"","sources":["../../src/commands/publish.ts"],"names":[],"mappings":"AAwEA,UAAU,cAAc;IACtB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,wBAAsB,cAAc,CAClC,OAAO,GAAE,cAAmB,GAC3B,OAAO,CAAC,IAAI,CAAC,CA2Kf"}
|
|
@@ -0,0 +1,176 @@
|
|
|
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" ||
|
|
25
|
+
answer.toLowerCase().trim() === "yes");
|
|
26
|
+
});
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
// Extract block ID from package.json or git URL
|
|
30
|
+
async function findBlockId() {
|
|
31
|
+
const packageJsonPath = path_1.default.join(process.cwd(), "package.json");
|
|
32
|
+
if (fs_1.default.existsSync(packageJsonPath)) {
|
|
33
|
+
try {
|
|
34
|
+
const packageJson = JSON.parse(fs_1.default.readFileSync(packageJsonPath, "utf8"));
|
|
35
|
+
// Look for block ID in package.json name or description
|
|
36
|
+
if (packageJson.name && packageJson.name.startsWith("block-")) {
|
|
37
|
+
return packageJson.name.replace("block-", "");
|
|
38
|
+
}
|
|
39
|
+
// Look in description for block ID pattern
|
|
40
|
+
if (packageJson.description) {
|
|
41
|
+
const match = packageJson.description.match(/block[:\s]+([a-f0-9]{24})/i);
|
|
42
|
+
if (match) {
|
|
43
|
+
return match[1];
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
catch (error) {
|
|
48
|
+
console.warn(chalk_1.default.yellow("ā ļø Could not parse package.json"));
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
// Try to extract from git remote URL
|
|
52
|
+
try {
|
|
53
|
+
const gitManager = new git_1.GitManager();
|
|
54
|
+
const remoteUrl = await gitManager.getRemoteUrl();
|
|
55
|
+
if (remoteUrl) {
|
|
56
|
+
const match = remoteUrl.match(/block-([a-f0-9]{24})/);
|
|
57
|
+
if (match) {
|
|
58
|
+
return match[1];
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
catch (error) {
|
|
63
|
+
// Ignore git errors
|
|
64
|
+
}
|
|
65
|
+
return null;
|
|
66
|
+
}
|
|
67
|
+
async function publishCommand(options = {}) {
|
|
68
|
+
try {
|
|
69
|
+
// Check authentication first
|
|
70
|
+
(0, auth_1.requireAuthentication)();
|
|
71
|
+
const user = (0, auth_1.getAuthenticatedUser)();
|
|
72
|
+
console.log(chalk_1.default.blue("š Publishing block to marketplace..."));
|
|
73
|
+
console.log(chalk_1.default.gray(` User: ${user?.fullName || user?.email || "Unknown"}`));
|
|
74
|
+
console.log(chalk_1.default.gray(` Agent insertable: ${options.agent ? "Yes" : "No"}`));
|
|
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 for uncommitted changes
|
|
95
|
+
if (repoInfo.hasChanges) {
|
|
96
|
+
console.log(chalk_1.default.yellow("ā ļø You have uncommitted changes."));
|
|
97
|
+
console.log(chalk_1.default.gray(" Please commit your changes before publishing:"));
|
|
98
|
+
console.log(chalk_1.default.gray(' git add . && git commit -m "Your commit message"'));
|
|
99
|
+
const proceed = await confirm("Do you want to continue anyway?");
|
|
100
|
+
if (!proceed) {
|
|
101
|
+
console.log(chalk_1.default.yellow("š« Publishing cancelled."));
|
|
102
|
+
return;
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
// Ask user to push changes
|
|
106
|
+
console.log(chalk_1.default.blue("\nš¤ Push your changes to GitHub:"));
|
|
107
|
+
console.log(chalk_1.default.gray(` git push origin ${repoInfo.branch}`));
|
|
108
|
+
const pushed = await confirm("Have you pushed your changes to GitHub?");
|
|
109
|
+
if (!pushed) {
|
|
110
|
+
console.log(chalk_1.default.yellow("š« Please push your changes first and then run publish again."));
|
|
111
|
+
return;
|
|
112
|
+
}
|
|
113
|
+
// Trigger save and bundle
|
|
114
|
+
console.log(chalk_1.default.yellow("š” Triggering build and bundle process..."));
|
|
115
|
+
try {
|
|
116
|
+
const result = await api_1.apiClient.saveAndBundle({ blockId });
|
|
117
|
+
console.log(chalk_1.default.green("ā
Block bundled successfully!"));
|
|
118
|
+
console.log(chalk_1.default.gray(` Bundle Path: ${result.bundlePath}`));
|
|
119
|
+
console.log(chalk_1.default.gray(` Federation URL: ${result.federationUrl}`));
|
|
120
|
+
if (result.message) {
|
|
121
|
+
console.log(chalk_1.default.blue(` ${result.message}`));
|
|
122
|
+
}
|
|
123
|
+
// Update sharing scope to publish to marketplace (free only)
|
|
124
|
+
console.log(chalk_1.default.blue("\nš Publishing to marketplace..."));
|
|
125
|
+
try {
|
|
126
|
+
// Get current block to check existing scope
|
|
127
|
+
const block = await api_1.apiClient.getBlock(blockId);
|
|
128
|
+
const currentScope = block?.scope || ["user-store"];
|
|
129
|
+
// Add published-store to scope if not already present
|
|
130
|
+
const newScope = [
|
|
131
|
+
...new Set([...currentScope, "user-store", "published-store"]),
|
|
132
|
+
];
|
|
133
|
+
await api_1.apiClient.updateBlockSharing(blockId, newScope);
|
|
134
|
+
console.log(chalk_1.default.green("ā
Block published to marketplace (free)"));
|
|
135
|
+
// Update agent insertability if requested
|
|
136
|
+
if (options.agent) {
|
|
137
|
+
console.log(chalk_1.default.blue("š¤ Making block insertable by AI agents..."));
|
|
138
|
+
try {
|
|
139
|
+
await api_1.apiClient.updateBlockAgentInsertable(blockId, true);
|
|
140
|
+
console.log(chalk_1.default.green("ā
Block is now insertable by AI agents"));
|
|
141
|
+
}
|
|
142
|
+
catch (agentError) {
|
|
143
|
+
// This might fail if user is not Mext staff, but that's okay
|
|
144
|
+
console.log(chalk_1.default.yellow("ā ļø Could not set agent insertability (requires Mext staff permissions)"));
|
|
145
|
+
console.log(chalk_1.default.gray(` Error: ${agentError.message || "Permission denied"}`));
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
catch (sharingError) {
|
|
150
|
+
console.error(chalk_1.default.red("ā Failed to publish to marketplace:"), sharingError.message);
|
|
151
|
+
console.log(chalk_1.default.yellow(" Block was built successfully but not published to marketplace."));
|
|
152
|
+
console.log(chalk_1.default.gray(" You can try publishing again or contact support."));
|
|
153
|
+
return;
|
|
154
|
+
}
|
|
155
|
+
// Success message
|
|
156
|
+
console.log(chalk_1.default.green("\nš Block published to marketplace successfully!"));
|
|
157
|
+
console.log(chalk_1.default.blue("Your block is now:"));
|
|
158
|
+
console.log(chalk_1.default.gray(" ā Available for free download by anyone"));
|
|
159
|
+
console.log(chalk_1.default.gray(" ā Discoverable in the marketplace"));
|
|
160
|
+
if (options.agent) {
|
|
161
|
+
console.log(chalk_1.default.gray(" ā Insertable by AI agents (if you have permissions)"));
|
|
162
|
+
}
|
|
163
|
+
console.log(chalk_1.default.gray(` ā Viewable at: https://mexty.ai/preview.html?blockId=${blockId}`));
|
|
164
|
+
}
|
|
165
|
+
catch (buildError) {
|
|
166
|
+
console.error(chalk_1.default.red(`ā Build failed: ${buildError.message}`));
|
|
167
|
+
console.log(chalk_1.default.yellow(" Check the server logs for more details."));
|
|
168
|
+
process.exit(1);
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
catch (error) {
|
|
172
|
+
console.error(chalk_1.default.red(`ā Failed to publish block: ${error.message}`));
|
|
173
|
+
process.exit(1);
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
//# sourceMappingURL=publish.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"publish.js","sourceRoot":"","sources":["../../src/commands/publish.ts"],"names":[],"mappings":";;;;;AA4EA,wCA6KC;AAzPD,kDAA0B;AAC1B,4CAAoB;AACpB,gDAAwB;AACxB,sCAAyC;AACzC,sCAA0C;AAC1C,uCAA2C;AAC3C,mDAAmD;AACnD,wCAA4E;AAE5E,+BAA+B;AAC/B,KAAK,UAAU,OAAO,CAAC,QAAgB;IACrC,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,EAAE,CAAC,QAAQ,CAAC,GAAG,QAAQ,UAAU,EAAE,CAAC,MAAM,EAAE,EAAE;YAC5C,EAAE,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,CACL,MAAM,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,KAAK,GAAG;gBACjC,MAAM,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,KAAK,KAAK,CACxC,CAAC;QACJ,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;AAMM,KAAK,UAAU,cAAc,CAClC,UAA0B,EAAE;IAE5B,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,uCAAuC,CAAC,CAAC,CAAC;QACjE,OAAO,CAAC,GAAG,CACT,eAAK,CAAC,IAAI,CAAC,YAAY,IAAI,EAAE,QAAQ,IAAI,IAAI,EAAE,KAAK,IAAI,SAAS,EAAE,CAAC,CACrE,CAAC;QACF,OAAO,CAAC,GAAG,CACT,eAAK,CAAC,IAAI,CAAC,wBAAwB,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CACnE,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,gCAAgC;QAChC,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC;YACxB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,mCAAmC,CAAC,CAAC,CAAC;YAC/D,OAAO,CAAC,GAAG,CACT,eAAK,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAC/D,CAAC;YACF,OAAO,CAAC,GAAG,CACT,eAAK,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAClE,CAAC;YAEF,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,iCAAiC,CAAC,CAAC;YACjE,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,0BAA0B,CAAC,CAAC,CAAC;gBACtD,OAAO;YACT,CAAC;QACH,CAAC;QAED,2BAA2B;QAC3B,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC,CAAC;QAC7D,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,sBAAsB,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAEjE,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,yCAAyC,CAAC,CAAC;QACxE,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,CAAC,GAAG,CACT,eAAK,CAAC,MAAM,CACV,+DAA+D,CAChE,CACF,CAAC;YACF,OAAO;QACT,CAAC;QAED,0BAA0B;QAC1B,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,2CAA2C,CAAC,CAAC,CAAC;QAEvE,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,+BAA+B,CAAC,CAAC,CAAC;YAC1D,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,6DAA6D;YAC7D,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC,CAAC;YAE7D,IAAI,CAAC;gBACH,4CAA4C;gBAC5C,MAAM,KAAK,GAAG,MAAM,eAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;gBAChD,MAAM,YAAY,GAAG,KAAK,EAAE,KAAK,IAAI,CAAC,YAAY,CAAC,CAAC;gBAEpD,sDAAsD;gBACtD,MAAM,QAAQ,GAAG;oBACf,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,YAAY,EAAE,YAAY,EAAE,iBAAiB,CAAC,CAAC;iBAC/D,CAAC;gBAEF,MAAM,eAAS,CAAC,kBAAkB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;gBACtD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC,CAAC;gBAEpE,0CAA0C;gBAC1C,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;oBAClB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC,CAAC;oBACtE,IAAI,CAAC;wBACH,MAAM,eAAS,CAAC,0BAA0B,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;wBAC1D,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC,CAAC;oBACrE,CAAC;oBAAC,OAAO,UAAe,EAAE,CAAC;wBACzB,6DAA6D;wBAC7D,OAAO,CAAC,GAAG,CACT,eAAK,CAAC,MAAM,CACV,yEAAyE,CAC1E,CACF,CAAC;wBACF,OAAO,CAAC,GAAG,CACT,eAAK,CAAC,IAAI,CACR,aAAa,UAAU,CAAC,OAAO,IAAI,mBAAmB,EAAE,CACzD,CACF,CAAC;oBACJ,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,OAAO,YAAiB,EAAE,CAAC;gBAC3B,OAAO,CAAC,KAAK,CACX,eAAK,CAAC,GAAG,CAAC,qCAAqC,CAAC,EAChD,YAAY,CAAC,OAAO,CACrB,CAAC;gBACF,OAAO,CAAC,GAAG,CACT,eAAK,CAAC,MAAM,CACV,mEAAmE,CACpE,CACF,CAAC;gBACF,OAAO,CAAC,GAAG,CACT,eAAK,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAClE,CAAC;gBACF,OAAO;YACT,CAAC;YAED,kBAAkB;YAClB,OAAO,CAAC,GAAG,CACT,eAAK,CAAC,KAAK,CAAC,mDAAmD,CAAC,CACjE,CAAC;YACF,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC;YAC9C,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC,CAAC;YACrE,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC,CAAC;YAC/D,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;gBAClB,OAAO,CAAC,GAAG,CACT,eAAK,CAAC,IAAI,CAAC,uDAAuD,CAAC,CACpE,CAAC;YACJ,CAAC;YACD,OAAO,CAAC,GAAG,CACT,eAAK,CAAC,IAAI,CACR,0DAA0D,OAAO,EAAE,CACpE,CACF,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,8BAA8B,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QACxE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC"}
|
|
@@ -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":";;;;;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":"update-git-url.d.ts","sourceRoot":"","sources":["../../src/commands/update-git-url.ts"],"names":[],"mappings":"AA0CA,wBAAsB,mBAAmB,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,iBA+H3F"}
|