create-whop-kit 0.9.2 → 0.9.4

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.
@@ -167,33 +167,45 @@ async function ghLogin() {
167
167
  return ok;
168
168
  }
169
169
  async function createGitHubRepo(projectDir, projectName) {
170
- const s = p2.spinner();
170
+ let s = p2.spinner();
171
171
  s.start("Creating private GitHub repository...");
172
- const result = exec(
173
- `gh repo create ${projectName} --private --source=. --push`,
172
+ const createResult = exec(
173
+ `gh repo create ${projectName} --private --source=.`,
174
174
  projectDir,
175
175
  6e4
176
176
  );
177
- if (!result.success) {
178
- s.stop("Could not create repo");
179
- const stderr = result.stderr || result.stdout;
177
+ if (!createResult.success) {
178
+ const stderr = createResult.stderr || createResult.stdout;
180
179
  if (stderr.includes("already exists")) {
181
- p2.log.warning(`Repository "${projectName}" already exists on GitHub.`);
180
+ s.stop(`Repository "${projectName}" already exists`);
182
181
  exec(`git remote add origin https://github.com/$(gh api user --jq .login)/${projectName}.git`, projectDir);
183
- const pushResult = exec("git push -u origin main", projectDir, 3e4);
184
- if (pushResult.success) {
185
- const remote = exec("gh repo view --json url --jq .url", projectDir);
186
- return remote.success ? remote.stdout.trim() : null;
187
- }
182
+ } else {
183
+ s.stop("Could not create GitHub repo");
184
+ if (stderr) p2.log.error(pc2.dim(stderr.substring(0, 200)));
185
+ return null;
188
186
  }
189
- return null;
187
+ } else {
188
+ s.stop("GitHub repo created");
189
+ }
190
+ s = p2.spinner();
191
+ s.start("Pushing code to GitHub...");
192
+ let pushOk = exec("git push -u origin main", projectDir, 3e4).success;
193
+ if (!pushOk) {
194
+ s.stop("Push failed, retrying...");
195
+ await new Promise((r) => setTimeout(r, 3e3));
196
+ s = p2.spinner();
197
+ s.start("Retrying push...");
198
+ pushOk = exec("git push -u origin main", projectDir, 3e4).success;
199
+ }
200
+ if (!pushOk) {
201
+ s.stop("Could not push (push manually with: git push -u origin main)");
202
+ } else {
203
+ s.stop("Code pushed to GitHub");
190
204
  }
191
205
  const repoUrl = exec("gh repo view --json url --jq .url", projectDir);
192
- if (repoUrl.success) {
193
- s.stop(`GitHub repo created: ${pc2.cyan(repoUrl.stdout.trim())}`);
206
+ if (repoUrl.success && repoUrl.stdout.trim()) {
194
207
  return repoUrl.stdout.trim();
195
208
  }
196
- s.stop("GitHub repo created");
197
209
  return `https://github.com/${projectName}`;
198
210
  }
199
211
  function getGitHubOrgs() {
@@ -666,16 +666,24 @@ var init_default = defineCommand({
666
666
  let deployResult = null;
667
667
  let deployAttempted = false;
668
668
  if (!args["skip-deploy"] && !args["dry-run"]) {
669
- const shouldDeploy = isNonInteractive ? false : await (async () => {
670
- const result = await p5.confirm({
671
- message: "Deploy to Vercel and connect to Whop?",
672
- initialValue: true
673
- });
674
- return !isCancelled(result) && result;
675
- })();
676
- if (shouldDeploy) {
669
+ const deployChoice = isNonInteractive ? "local" : await p5.select({
670
+ message: "What would you like to do next?",
671
+ options: [
672
+ {
673
+ value: "deploy",
674
+ label: "Deploy to GitHub + Vercel + connect Whop (recommended)",
675
+ hint: "Private repo, auto-deploy on push, OAuth + webhooks configured"
676
+ },
677
+ {
678
+ value: "local",
679
+ label: "Develop locally first",
680
+ hint: "Run on localhost:3000, deploy later with whop-kit deploy"
681
+ }
682
+ ]
683
+ });
684
+ if (!isCancelled(deployChoice) && deployChoice === "deploy") {
677
685
  deployAttempted = true;
678
- const { runDeployPipeline } = await import("./deploy-CSKD63OJ.js");
686
+ const { runDeployPipeline } = await import("./deploy-RKFHMMX4.js");
679
687
  deployResult = await runDeployPipeline({
680
688
  projectDir,
681
689
  projectName,
package/dist/cli-kit.js CHANGED
@@ -9,7 +9,7 @@ import {
9
9
  } from "./chunk-HOQ5QQ2M.js";
10
10
  import {
11
11
  runDeployPipeline
12
- } from "./chunk-HOQRG54A.js";
12
+ } from "./chunk-WU4NOKT4.js";
13
13
  import {
14
14
  detectPackageManager,
15
15
  exec
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  runDeployPipeline
4
- } from "./chunk-HOQRG54A.js";
4
+ } from "./chunk-WU4NOKT4.js";
5
5
  import "./chunk-42L7PRMT.js";
6
6
  export {
7
7
  runDeployPipeline
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-whop-kit",
3
- "version": "0.9.2",
3
+ "version": "0.9.4",
4
4
  "description": "Scaffold and manage Whop-powered apps with whop-kit",
5
5
  "type": "module",
6
6
  "license": "MIT",