@snapcommit/cli 3.8.16 → 3.8.18
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/github-connect.js +40 -89
- package/package.json +1 -1
|
@@ -3,39 +3,6 @@
|
|
|
3
3
|
* GitHub authentication - Auto-fetches OAuth token from SnapCommit account
|
|
4
4
|
* Falls back to manual PAT if OAuth token not available
|
|
5
5
|
*/
|
|
6
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
7
|
-
if (k2 === undefined) k2 = k;
|
|
8
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
9
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
10
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
11
|
-
}
|
|
12
|
-
Object.defineProperty(o, k2, desc);
|
|
13
|
-
}) : (function(o, m, k, k2) {
|
|
14
|
-
if (k2 === undefined) k2 = k;
|
|
15
|
-
o[k2] = m[k];
|
|
16
|
-
}));
|
|
17
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
18
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
19
|
-
}) : function(o, v) {
|
|
20
|
-
o["default"] = v;
|
|
21
|
-
});
|
|
22
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
23
|
-
var ownKeys = function(o) {
|
|
24
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
25
|
-
var ar = [];
|
|
26
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
27
|
-
return ar;
|
|
28
|
-
};
|
|
29
|
-
return ownKeys(o);
|
|
30
|
-
};
|
|
31
|
-
return function (mod) {
|
|
32
|
-
if (mod && mod.__esModule) return mod;
|
|
33
|
-
var result = {};
|
|
34
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
35
|
-
__setModuleDefault(result, mod);
|
|
36
|
-
return result;
|
|
37
|
-
};
|
|
38
|
-
})();
|
|
39
6
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
40
7
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
41
8
|
};
|
|
@@ -213,77 +180,61 @@ async function githubConnectCommand(tokenArg) {
|
|
|
213
180
|
console.log(chalk_1.default.cyan(' • "list my open PRs"\n'));
|
|
214
181
|
return;
|
|
215
182
|
}
|
|
216
|
-
//
|
|
217
|
-
console.log(chalk_1.default.yellow('\n⚠️ GitHub token not found in
|
|
218
|
-
console.log(chalk_1.default.
|
|
219
|
-
console.log(chalk_1.default.bold.cyan('Quick Setup (30 seconds):\n'));
|
|
220
|
-
console.log(chalk_1.default.gray(' 1. A browser window will open'));
|
|
221
|
-
console.log(chalk_1.default.gray(' 2. Authorize SnapCommit to access your GitHub'));
|
|
222
|
-
console.log(chalk_1.default.gray(" 3. Come back here - you'll be connected!\n"));
|
|
223
|
-
console.log(chalk_1.default.gray('This enables:\n'));
|
|
224
|
-
console.log(chalk_1.default.white(' - Create pull requests with natural language'));
|
|
225
|
-
console.log(chalk_1.default.white(' - Check CI/workflow status'));
|
|
226
|
-
console.log(chalk_1.default.white(' - Manage issues and PRs\n'));
|
|
227
|
-
// Get auth config to get CLI token
|
|
183
|
+
// Token not found - try to sync from Supabase auth
|
|
184
|
+
console.log(chalk_1.default.yellow('\n⚠️ GitHub token not found in CLI cache\n'));
|
|
185
|
+
console.log(chalk_1.default.cyan('🔄 Attempting to sync from your account...\n'));
|
|
228
186
|
const authConfig = (0, auth_1.getAuthConfig)();
|
|
229
187
|
if (!authConfig || !authConfig.token) {
|
|
230
|
-
console.log(chalk_1.default.red('
|
|
188
|
+
console.log(chalk_1.default.red('❌ You must be logged in first!'));
|
|
231
189
|
console.log(chalk_1.default.gray(' Run: ') + chalk_1.default.cyan('snap login\n'));
|
|
232
190
|
return;
|
|
233
191
|
}
|
|
234
|
-
console.log(chalk_1.default.yellow('━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n'));
|
|
235
|
-
console.log(chalk_1.default.cyan('🔄 Getting GitHub OAuth URL...\n'));
|
|
236
192
|
try {
|
|
237
|
-
// Call
|
|
238
|
-
const
|
|
193
|
+
// Call sync endpoint
|
|
194
|
+
const syncResponse = await fetch('https://snapcommit.dev/api/github/sync', {
|
|
239
195
|
method: 'POST',
|
|
240
196
|
headers: {
|
|
241
197
|
'Content-Type': 'application/json',
|
|
242
198
|
},
|
|
243
199
|
body: JSON.stringify({ token: authConfig.token }),
|
|
244
200
|
});
|
|
245
|
-
if (
|
|
246
|
-
const
|
|
247
|
-
console.log(chalk_1.default.
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
const autoConfig2 = await autoFetchGitHubToken();
|
|
263
|
-
if (autoConfig2) {
|
|
264
|
-
saveGitHubToken(autoConfig2);
|
|
265
|
-
console.log(chalk_1.default.green.bold('\n✅ GITHUB CONNECTED! 🎉\n'));
|
|
266
|
-
console.log(chalk_1.default.white(` Connected as: ${chalk_1.default.bold('@' + autoConfig2.username)}\n`));
|
|
267
|
-
console.log(chalk_1.default.yellow('━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n'));
|
|
268
|
-
console.log(chalk_1.default.bold('🚀 You can now use GitHub features!\n'));
|
|
269
|
-
console.log(chalk_1.default.gray(' Try these commands in snap REPL:\n'));
|
|
270
|
-
console.log(chalk_1.default.cyan(' • "create a pull request"'));
|
|
271
|
-
console.log(chalk_1.default.cyan(' • "check CI status"'));
|
|
272
|
-
console.log(chalk_1.default.cyan(' • "list my open PRs"\n'));
|
|
273
|
-
}
|
|
274
|
-
else {
|
|
275
|
-
console.log(chalk_1.default.red('\n❌ Connection failed\n'));
|
|
276
|
-
console.log(chalk_1.default.yellow('Possible reasons:'));
|
|
277
|
-
console.log(chalk_1.default.gray(' • Authorization was cancelled'));
|
|
278
|
-
console.log(chalk_1.default.gray(' • GitHub authorization not completed'));
|
|
279
|
-
console.log(chalk_1.default.gray(' • Network error\n'));
|
|
280
|
-
console.log(chalk_1.default.gray('Try running ') + chalk_1.default.cyan('github connect') + chalk_1.default.gray(' again\n'));
|
|
201
|
+
if (syncResponse.ok) {
|
|
202
|
+
const syncData = await syncResponse.json();
|
|
203
|
+
console.log(chalk_1.default.green('✅ GitHub token synced from your account!\n'));
|
|
204
|
+
// Try to fetch again
|
|
205
|
+
const autoConfig3 = await autoFetchGitHubToken();
|
|
206
|
+
if (autoConfig3) {
|
|
207
|
+
saveGitHubToken(autoConfig3);
|
|
208
|
+
console.log(chalk_1.default.green.bold('✅ GITHUB AUTO-CONNECTED! 🎉\n'));
|
|
209
|
+
console.log(chalk_1.default.white(` Connected as: ${chalk_1.default.bold('@' + autoConfig3.username)}\n`));
|
|
210
|
+
console.log(chalk_1.default.yellow('━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n'));
|
|
211
|
+
console.log(chalk_1.default.bold('🚀 You can now use GitHub features!\n'));
|
|
212
|
+
console.log(chalk_1.default.gray(' Try these commands in snap REPL:\n'));
|
|
213
|
+
console.log(chalk_1.default.cyan(' • "create a pull request"'));
|
|
214
|
+
console.log(chalk_1.default.cyan(' • "check CI status"'));
|
|
215
|
+
console.log(chalk_1.default.cyan(' • "list my open PRs"\n'));
|
|
216
|
+
return;
|
|
217
|
+
}
|
|
281
218
|
}
|
|
219
|
+
// Sync failed - user needs to sign up with GitHub
|
|
220
|
+
const error = await syncResponse.json();
|
|
221
|
+
console.log(chalk_1.default.red(`❌ ${error.message || error.error}\n`));
|
|
282
222
|
}
|
|
283
|
-
catch (
|
|
284
|
-
console.log(chalk_1.default.red(
|
|
285
|
-
console.log(chalk_1.default.gray('Try running ') + chalk_1.default.cyan('github connect') + chalk_1.default.gray(' again\n'));
|
|
223
|
+
catch (syncError) {
|
|
224
|
+
console.log(chalk_1.default.red(`❌ Sync failed: ${syncError.message}\n`));
|
|
286
225
|
}
|
|
226
|
+
// Show signup instructions
|
|
227
|
+
console.log(chalk_1.default.yellow('━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n'));
|
|
228
|
+
console.log(chalk_1.default.white('To use GitHub features, sign up with GitHub on our website.\n'));
|
|
229
|
+
console.log(chalk_1.default.bold.cyan('📝 Quick Setup:\n'));
|
|
230
|
+
console.log(chalk_1.default.gray(' 1. Visit: ') + chalk_1.default.cyan.underline('https://snapcommit.dev'));
|
|
231
|
+
console.log(chalk_1.default.gray(' 2. Click "Get Started"'));
|
|
232
|
+
console.log(chalk_1.default.gray(' 3. Sign up with GitHub'));
|
|
233
|
+
console.log(chalk_1.default.gray(' 4. Come back here and run ') + chalk_1.default.cyan('github connect') + chalk_1.default.gray(' again\n'));
|
|
234
|
+
console.log(chalk_1.default.bold('💡 Why sign up on the website?\n'));
|
|
235
|
+
console.log(chalk_1.default.gray(' • Your GitHub account is automatically connected'));
|
|
236
|
+
console.log(chalk_1.default.gray(' • Secure OAuth flow through Supabase'));
|
|
237
|
+
console.log(chalk_1.default.gray(' • Works seamlessly with the CLI\n'));
|
|
287
238
|
}
|
|
288
239
|
/**
|
|
289
240
|
* GitHub status command
|