create-shopify-firebase-app 1.1.1 → 1.1.2

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/README.md CHANGED
@@ -38,11 +38,11 @@ One `npx` command scaffolds everything, installs dependencies, wires up Firebase
38
38
 
39
39
  ### Prerequisites
40
40
 
41
- | Tool | Install |
42
- |------|---------|
43
- | Node.js 18+ | [nodejs.org](https://nodejs.org/) |
44
- | Firebase CLI | `npm i -g firebase-tools` |
45
- | Shopify CLI *(optional)* | `npm i -g @shopify/cli` |
41
+ | Tool | Install | Auto-installed? |
42
+ |------|---------|----------------|
43
+ | Node.js 18+ | [nodejs.org](https://nodejs.org/) | Required |
44
+ | Firebase CLI | `npm i -g firebase-tools` | Yes, installed automatically if missing |
45
+ | Shopify CLI | `npm i -g @shopify/cli` | Yes, installed automatically if missing |
46
46
 
47
47
  ### 1. Create your Shopify app
48
48
 
package/lib/index.js CHANGED
@@ -352,8 +352,19 @@ export async function run(argv) {
352
352
  warn("Build failed — run manually: cd functions && npm run build");
353
353
  }
354
354
 
355
- // ── Step 4: Firebase provisioning ───────────────────────────────────
355
+ // ── Step 4: Firebase CLI ─────────────────────────────────────────────
356
356
  step(4, totalSteps, "Setting up Firebase...");
357
+ if (!hasCommand("firebase")) {
358
+ info("Firebase CLI not found — installing globally...");
359
+ try {
360
+ await exec("npm install -g firebase-tools");
361
+ ok("Firebase CLI installed");
362
+ } catch (e) {
363
+ warn("Could not install Firebase CLI automatically");
364
+ info("Install manually: npm i -g firebase-tools");
365
+ info(`Then run: cd ${config.projectName} && firebase use ${config.projectId}`);
366
+ }
367
+ }
357
368
  if (hasCommand("firebase")) {
358
369
  const isCI = args["api-key"] && args["api-secret"] && args["project-id"];
359
370
  await provisionFirebase(config, {
@@ -362,19 +373,22 @@ export async function run(argv) {
362
373
  nonInteractive: isCI,
363
374
  cwd: outputDir,
364
375
  });
365
- } else {
366
- warn("Firebase CLI not found. Install: npm i -g firebase-tools");
367
- info(`Then run: cd ${config.projectName} && firebase use ${config.projectId}`);
368
- info("After installing, re-run with --skip-provision to skip provisioning");
369
376
  }
370
377
 
371
- // ── Step 5: Shopify CLI check ─────────────────────────────────────
378
+ // ── Step 5: Shopify CLI ─────────────────────────────────────────────
372
379
  step(5, totalSteps, "Checking Shopify CLI...");
373
380
  if (hasCommand("shopify")) {
374
381
  ok("Shopify CLI detected — you can use `shopify app dev` for local development");
375
382
  } else {
376
- warn("Shopify CLI not found. Install: npm i -g @shopify/cli");
377
- info("Optional — you can also develop with Firebase emulators");
383
+ info("Shopify CLI not found installing globally...");
384
+ try {
385
+ await exec("npm install -g @shopify/cli");
386
+ ok("Shopify CLI installed");
387
+ } catch (e) {
388
+ warn("Could not install Shopify CLI automatically");
389
+ info("Install manually: npm i -g @shopify/cli");
390
+ info("Optional — you can also develop with Firebase emulators");
391
+ }
378
392
  }
379
393
 
380
394
  // ── Step 6: Initialize git ────────────────────────────────────────
@@ -483,7 +497,8 @@ function printHelp() {
483
497
  ✔ Firestore for sessions and app data
484
498
  ✔ App Bridge embedded admin dashboard (vanilla HTML/JS)
485
499
  ✔ Theme App Extension for storefront UI
486
- ✔ Firebase Hosting (free tier covers most apps)
500
+ ✔ Firebase Hosting ($0/month — free for up to 25K installed stores)
501
+ ✔ Auto-installs Firebase CLI + Shopify CLI if missing
487
502
  ✔ Auto-provisioning: Firestore, Web App, Hosting (interactive)
488
503
  `);
489
504
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-shopify-firebase-app",
3
- "version": "1.1.1",
3
+ "version": "1.1.2",
4
4
  "description": "Create Shopify apps powered by Firebase — serverless, lightweight, zero-framework. The official alternative to Remix for Shopify + Firebase developers.",
5
5
  "keywords": [
6
6
  "shopify",