@ghentcdh/create-crouton 0.0.1-alpha.79 → 0.0.1-alpha.81

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/index.js CHANGED
@@ -26019,7 +26019,7 @@ import { join as join4 } from "path";
26019
26019
 
26020
26020
  // ../crouton-codegen/src/prisma-shell.ts
26021
26021
  import { spawn } from "child_process";
26022
- import { existsSync as existsSync2, readdirSync as readdirSync2 } from "fs";
26022
+ import { existsSync as existsSync2 } from "fs";
26023
26023
  import { copyFile, readFile as readFile4, readdir as readdir4, writeFile as writeFile2 } from "fs/promises";
26024
26024
  import { createRequire } from "module";
26025
26025
  import { dirname as dirname6, join as join5 } from "path";
@@ -26074,6 +26074,7 @@ var installDeps = (pm, cwd) => new Promise((resolve3, reject) => {
26074
26074
  );
26075
26075
  child.on("error", reject);
26076
26076
  });
26077
+ var pmExec = (pm, bin) => ({ pnpm: `pnpm exec ${bin}`, yarn: `yarn ${bin}`, bun: `bunx ${bin}`, npm: `npx ${bin}` })[pm];
26077
26078
 
26078
26079
  // src/lib/prompts.ts
26079
26080
  var CancelledError = class extends Error {
@@ -26136,13 +26137,13 @@ var runCreate = async (name, opts) => {
26136
26137
  log.info(`Using pnpm ${pnpmVersion}`);
26137
26138
  }
26138
26139
  const dbUrl = await resolveDbUrl(opts);
26139
- const postgres = opts.docker !== false ? await resolvePostgres(opts) : false;
26140
+ const postgres = opts.docker !== false && !dbUrl ? await resolvePostgres(opts) : false;
26140
26141
  const dbName = name.replace(/[^a-zA-Z0-9]/g, "_");
26141
26142
  const appName = prefix || name;
26142
26143
  const tokens = {
26143
26144
  name,
26144
26145
  Name: toTitle(name),
26145
- version: true ? "0.0.1-alpha.79" : "latest",
26146
+ version: true ? "0.0.1-alpha.81" : "latest",
26146
26147
  year: String((/* @__PURE__ */ new Date()).getFullYear()),
26147
26148
  pmRun: pm === "npm" ? "npm run" : pm,
26148
26149
  urlEnv: "DATABASE_URL",
@@ -26245,7 +26246,7 @@ var runCreate = async (name, opts) => {
26245
26246
  }
26246
26247
  const written = await writeFiles(files, { force: opts.force });
26247
26248
  log.success(`Wrote ${written} file(s) to ${import_picocolors.default.cyan(name)}/`);
26248
- await postScaffold(opts, targetDir, pm, dbUrl, prefix);
26249
+ const { resourcesUpdated: resourcesUpdated2 } = await postScaffold(opts, targetDir, pm, dbUrl, prefix);
26249
26250
  } else {
26250
26251
  const templateDir = resolve2(templateRoot, "regular");
26251
26252
  const files = await loadAndRenderTemplates(
@@ -26284,16 +26285,15 @@ var runCreate = async (name, opts) => {
26284
26285
  }
26285
26286
  const written = await writeFiles(files, { force: opts.force });
26286
26287
  log.success(`Wrote ${written} file(s) to ${import_picocolors.default.cyan(name)}/`);
26287
- await postScaffold(opts, targetDir, pm, dbUrl);
26288
+ const { resourcesUpdated: resourcesUpdated2 } = await postScaffold(opts, targetDir, pm, dbUrl);
26288
26289
  }
26289
26290
  const pmRun = pm === "npm" ? "npm run" : pm;
26290
26291
  const prefixFlag = prefix ? ` --prefix ${prefix}` : "";
26291
26292
  note(
26292
26293
  [
26293
- opts.docker !== false && postgres ? "docker compose up -d # start postgres" : null,
26294
- `${pmRun} prisma:migrate # create initial migration`,
26295
- `crouton update resources${prefixFlag} # generate resource CRUD`,
26296
- `${pmRun} dev # start dev server`
26294
+ postgres ? "docker compose up -d # start postgres" : null,
26295
+ !resourcesUpdated ? `${pmExec(pm, "crouton")} update resources${prefixFlag} # generate resource CRUD` : null,
26296
+ `${pmRun} dev # start dev server`
26297
26297
  ].filter(Boolean).join("\n"),
26298
26298
  "Next steps"
26299
26299
  );
@@ -26392,6 +26392,7 @@ var postScaffold = async (opts, targetDir, pm, dbUrl, prefix) => {
26392
26392
  s.error("Git init failed (non-fatal)");
26393
26393
  }
26394
26394
  }
26395
+ let resourcesUpdated2 = false;
26395
26396
  if (opts.install !== false) {
26396
26397
  const s = spinner();
26397
26398
  s.start(`Installing dependencies with ${pm}`);
@@ -26406,21 +26407,24 @@ var postScaffold = async (opts, targetDir, pm, dbUrl, prefix) => {
26406
26407
  const s2 = spinner();
26407
26408
  s2.start("Running crouton update resources");
26408
26409
  const prefixArg = prefix ? ` --prefix ${prefix}` : "";
26409
- execSync2(`npx crouton update resources --yes${prefixArg}`, {
26410
+ execSync2(`${pmExec(pm, "crouton")} update resources --yes${prefixArg}`, {
26410
26411
  cwd: targetDir,
26411
26412
  stdio: "pipe",
26412
26413
  env: { ...process.env, DATABASE_URL: dbUrl }
26413
26414
  });
26415
+ resourcesUpdated2 = true;
26414
26416
  s2.stop("Resources updated");
26415
26417
  } catch (err) {
26416
26418
  const stderr = err instanceof Error && "stderr" in err ? String(err.stderr).trim() : "";
26419
+ const firstLine = stderr.split("\n").find((l2) => l2.trim()) ?? "";
26417
26420
  log.warn(
26418
- "crouton update resources failed \u2014 run it manually after setting up your database." + (stderr ? `
26419
- ${import_picocolors.default.dim(stderr)}` : "")
26421
+ "crouton update resources failed \u2014 run it manually after setting up your database."
26420
26422
  );
26423
+ if (firstLine) log.error(firstLine);
26421
26424
  }
26422
26425
  }
26423
26426
  }
26427
+ return { resourcesUpdated: resourcesUpdated2 };
26424
26428
  };
26425
26429
  var resolveLayout = async (opts) => {
26426
26430
  if (opts.prefix) return "nx";