create-prisma 0.14.1-pr.128.420.1 → 0.14.1

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
@@ -22,7 +22,10 @@ PostgreSQL apps with Composer include `@prisma/dev` as a project devDependency f
22
22
  local Postgres. In a monorepo it belongs at the root, where Composer runs. Prisma 8
23
23
  does not include this runtime itself. MongoDB and Deno-only apps do not need it.
24
24
 
25
- The npm that ships with a supported Node.js release works, including npm 10 on Node.js 22. create-prisma checks the selected package manager before writing project files and never upgrades your package manager automatically. Yarn 1 is not supported.
25
+ For npm, use 11.6.0 or newer, which includes the [upstream resolver fix](https://github.com/npm/cli/pull/8448).
26
+ Older npm releases can crash resolving the dependency tree (`Cannot read properties of null (reading 'edgesOut')`). Run
27
+ `npm install --global npm@11` to update. create-prisma checks the selected package manager
28
+ before writing project files and never upgrades your package manager automatically. Yarn 1 is not supported.
26
29
 
27
30
  The deployment prompt is:
28
31
 
package/dist/cli.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- import { a as ApplicationLayer, i as runCreatePrismaCli } from "./src-DRmbnjIJ.mjs";
2
+ import { a as ApplicationLayer, i as runCreatePrismaCli } from "./src-Cyh2vdRk.mjs";
3
3
  import { Effect } from "effect";
4
4
  import { NodeRuntime } from "@effect/platform-node-shared";
5
5
  //#region src/cli.ts
package/dist/index.mjs CHANGED
@@ -1,3 +1,3 @@
1
1
  #!/usr/bin/env node
2
- import { c as AgentSkillTargetSchema, d as CreateTemplateSchema, f as DatabaseProviderSchema, i as runCreatePrismaCli, l as AuthoringStyleSchema, n as createCreatePrismaCli, o as CREATE_PRISMA_RESULT_SCHEMA_VERSION, p as PackageManagerSchema, r as createPrismaCommand, s as CreateCommandResultSchema, t as create, u as CreateCommandInputSchema } from "./src-DRmbnjIJ.mjs";
2
+ import { c as AgentSkillTargetSchema, d as CreateTemplateSchema, f as DatabaseProviderSchema, i as runCreatePrismaCli, l as AuthoringStyleSchema, n as createCreatePrismaCli, o as CREATE_PRISMA_RESULT_SCHEMA_VERSION, p as PackageManagerSchema, r as createPrismaCommand, s as CreateCommandResultSchema, t as create, u as CreateCommandInputSchema } from "./src-Cyh2vdRk.mjs";
3
3
  export { AgentSkillTargetSchema, AuthoringStyleSchema, CREATE_PRISMA_RESULT_SCHEMA_VERSION, CreateCommandInputSchema, CreateCommandResultSchema, CreateTemplateSchema, DatabaseProviderSchema, PackageManagerSchema, create, createCreatePrismaCli, createPrismaCommand, runCreatePrismaCli };
@@ -464,14 +464,20 @@ function getPackageManagerErrorCode(command, output) {
464
464
  }
465
465
  //#endregion
466
466
  //#region src/telemetry/client.ts
467
- const TELEMETRY_API_KEY = "";
467
+ const TELEMETRY_API_KEY = "phc_cmc85avbWyuJ2JyKdGPdv7dxXli8xLdWDBPbvIXWJfs";
468
468
  const TELEMETRY_HOST = "https://us.i.posthog.com";
469
469
  const TELEMETRY_CONFIG_FILE = "telemetry.json";
470
470
  const TELEMETRY_TIMEOUT_MS = 2e3;
471
471
  const AnonymousId = Schema.String.check(Schema.isUUID(4));
472
472
  const decodeAnonymousId = Schema.decodeUnknownExit(AnonymousId);
473
+ const isTruthyEnvValue = (value) => [
474
+ "1",
475
+ "true",
476
+ "yes",
477
+ "on"
478
+ ].includes(String(value ?? "").trim().toLowerCase());
473
479
  function shouldDisableTelemetry() {
474
- return true;
480
+ return isTruthyEnvValue(process.env.CI) || isTruthyEnvValue(process.env.GITHUB_ACTIONS) || process.env.CREATE_PRISMA_DISABLE_TELEMETRY !== void 0 || process.env.CREATE_PRISMA_TELEMETRY_DISABLED !== void 0 || process.env.DO_NOT_TRACK !== void 0;
475
481
  }
476
482
  function getTelemetryConfigDir() {
477
483
  if (process.platform === "darwin") return path.join(os.homedir(), "Library", "Application Support", "create-prisma");
@@ -495,7 +501,7 @@ const getAnonymousIdEffect = Effect.fn("Telemetry.getAnonymousId")(function* ()
495
501
  return anonymousId;
496
502
  });
497
503
  const getCommonProperties = () => ({
498
- "cli-version": "0.14.1-pr.128.420.1",
504
+ "cli-version": "0.14.1",
499
505
  "node-version": process.version,
500
506
  platform: process.platform,
501
507
  arch: process.arch
@@ -736,17 +742,8 @@ function getErrorMessage(error) {
736
742
  //#endregion
737
743
  //#region src/utils/package-manager.ts
738
744
  const DENO_ALLOW_FRESH_DEPENDENCIES = "--minimum-dependency-age=0";
739
- const npmForMinimumNode = {
740
- node: [
741
- 22,
742
- 18,
743
- 0
744
- ],
745
- fallback: "10.9.3",
746
- majors: /* @__PURE__ */ new Set([10, 11])
747
- };
748
745
  const packageManagerManifestValues = {
749
- npm: `npm@${npmForMinimumNode.fallback}`,
746
+ npm: "npm@12.2.0",
750
747
  pnpm: "pnpm@11.28.5",
751
748
  yarn: "yarn@4.18.1",
752
749
  bun: "bun@1.4.2"
@@ -755,7 +752,15 @@ const packageManagerChecks = {
755
752
  npm: {
756
753
  name: "npm",
757
754
  versionArgs: ["--version"],
758
- install: "Install Node.js from https://nodejs.org to get npm"
755
+ install: "Install Node.js from https://nodejs.org to get npm",
756
+ minimum: {
757
+ version: [
758
+ 11,
759
+ 6,
760
+ 0
761
+ ],
762
+ guidance: "Older npm releases can crash while resolving Prisma dependencies. Run npm install --global npm@11, then retry create-prisma."
763
+ }
759
764
  },
760
765
  pnpm: {
761
766
  name: "pnpm",
@@ -831,7 +836,6 @@ const probePackageManagerEffect = Effect.fn("PackageManager.probe")(function* (p
831
836
  reason: "unsupported_package_manager_version",
832
837
  message: `${name} ${version.join(".")} is unsupported. Required: ${name} ${minimum.version.join(".")} or newer. ${minimum.guidance}`
833
838
  });
834
- return version;
835
839
  });
836
840
  const verifyPackageManagerEffect = Effect.fn("PackageManager.verify")(function* (packageManager, projectDir) {
837
841
  if (projectDir) return yield* probePackageManagerEffect(packageManager, projectDir);
@@ -846,7 +850,7 @@ const verifyPackageManagerEffect = Effect.fn("PackageManager.verify")(function*
846
850
  message: `Could not prepare a directory to check ${packageManagerChecks[packageManager].name}: ${getErrorMessage(cause)}`,
847
851
  cause
848
852
  })));
849
- return yield* probePackageManagerEffect(packageManager, probeDir);
853
+ yield* probePackageManagerEffect(packageManager, probeDir);
850
854
  }, Effect.scoped);
851
855
  function parseUserAgent(userAgent) {
852
856
  if (userAgent?.startsWith("pnpm")) return "pnpm";
@@ -919,10 +923,9 @@ const detectPackageManagerEffect = Effect.fn("PackageManager.detect")(function*
919
923
  if (fromUserAgent) return fromUserAgent;
920
924
  return "npm";
921
925
  });
922
- function getPackageManagerManifestValue(packageManager, detectedVersion) {
926
+ function getPackageManagerManifestValue(packageManager) {
923
927
  if (!packageManager) return;
924
928
  if (packageManager === "deno") return;
925
- if (packageManager === "npm" && detectedVersion && npmForMinimumNode.majors.has(detectedVersion[0])) return `npm@${detectedVersion.join(".")}`;
926
929
  return packageManagerManifestValues[packageManager];
927
930
  }
928
931
  function getInstallCommand(packageManager) {
@@ -1077,6 +1080,7 @@ function getRunScriptArgs(packageManager, scriptName) {
1077
1080
  //#region src/templates/shared.ts
1078
1081
  Handlebars.registerHelper("eq", (left, right) => left === right);
1079
1082
  Handlebars.registerHelper("runScriptCommand", (packageManager, scriptName) => packageManager ? getRunScriptCommand(packageManager, scriptName) : "");
1083
+ Handlebars.registerHelper("packageManagerManifestValue", (packageManager) => getPackageManagerManifestValue(packageManager) ?? "");
1080
1084
  Handlebars.registerHelper("runtimeScript", (packageManager, kind, sourceEntrypoint, builtEntrypoint, _options) => packageManager ? getRuntimeScriptCommand(packageManager, kind, {
1081
1085
  sourceEntrypoint,
1082
1086
  builtEntrypoint
@@ -1150,7 +1154,6 @@ function createTemplateContext(options) {
1150
1154
  provider: options.provider,
1151
1155
  authoring: options.authoring,
1152
1156
  packageManager: options.packageManager,
1153
- packageManagerManifest: getPackageManagerManifestValue(options.packageManager, options.packageManagerVersion) ?? null,
1154
1157
  skillAgents: options.skillAgents ?? agentSkillTargets,
1155
1158
  tsdownEntry: tsdownEntries[options.template] ?? null
1156
1159
  };
@@ -2632,7 +2635,7 @@ const initializeExistingApp = Effect.fn("Create.initExisting")(function* (contex
2632
2635
  initialization
2633
2636
  };
2634
2637
  });
2635
- const executeCreateContext = Effect.fn("Create.execute")(function* (context, packageManagerVersion) {
2638
+ const executeCreateContext = Effect.fn("Create.execute")(function* (context) {
2636
2639
  const output = context.prismaSetupContext.output;
2637
2640
  const createSpinner = context.prismaSetupContext.verbose ? void 0 : spinner({ output });
2638
2641
  yield* Effect.sync(() => {
@@ -2646,7 +2649,6 @@ const executeCreateContext = Effect.fn("Create.execute")(function* (context, pac
2646
2649
  provider: context.prismaSetupContext.databaseProvider,
2647
2650
  authoring: context.prismaSetupContext.authoring,
2648
2651
  packageManager: context.prismaSetupContext.packageManager,
2649
- packageManagerVersion,
2650
2652
  skillAgents: context.prismaSetupContext.skillAgents
2651
2653
  }).pipe(Effect.andThen(writeCreateTemplateDependenciesEffect({
2652
2654
  template: context.template,
@@ -2710,11 +2712,11 @@ const createProjectEffect = Effect.fn("Create.project")(function* (rawInput, inp
2710
2712
  yield* Effect.sync(() => intro(getCreatePrismaIntro(), { output }));
2711
2713
  const context = yield* atCreateStage(collectCreateContext(input), "collect_context", "unexpected_error");
2712
2714
  yield* Ref.set(contextRef, Option.some(context));
2713
- const packageManagerVersion = yield* atCreateStage(context.operation === "orm_init" ? verifyPackageManagerEffect(context.packageManager, context.targetDirectory) : verifyPackageManagerEffect(context.prismaSetupContext.packageManager), "validate_input", "package_manager_check_failed");
2715
+ yield* atCreateStage(context.operation === "orm_init" ? verifyPackageManagerEffect(context.packageManager, context.targetDirectory) : verifyPackageManagerEffect(context.prismaSetupContext.packageManager), "validate_input", "package_manager_check_failed");
2714
2716
  return {
2715
2717
  input,
2716
2718
  context,
2717
- result: context.operation === "orm_init" ? yield* initializeExistingApp(context, input) : yield* executeCreateContext(context, packageManagerVersion)
2719
+ result: context.operation === "orm_init" ? yield* initializeExistingApp(context, input) : yield* executeCreateContext(context)
2718
2720
  };
2719
2721
  });
2720
2722
  const runCreateCommandEffect = Effect.fn("Create.run")(function* (rawInput = {}) {
@@ -2776,7 +2778,7 @@ function isJsonOutputRequested(argv) {
2776
2778
  const writeJsonResult = Effect.fn("JsonOutput.write")((result) => Effect.sync(() => process.stdout.write(`${JSON.stringify(result)}\n`)));
2777
2779
  //#endregion
2778
2780
  //#region src/index.ts
2779
- const CLI_VERSION = "0.14.1-pr.128.420.1";
2781
+ const CLI_VERSION = "0.14.1";
2780
2782
  const optionalArgument = (name, description) => Argument.String(name).pipe(Argument.withDescription(description), Argument.optional, Argument.map(Option.getOrUndefined));
2781
2783
  const optionalBoolean = (name, description) => Flag.Boolean(name).pipe(Flag.withDescription(description), Flag.optional, Flag.map(Option.getOrUndefined));
2782
2784
  const optionalString = (name, description) => Flag.String(name).pipe(Flag.withDescription(description), Flag.optional, Flag.map(Option.getOrUndefined));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-prisma",
3
- "version": "0.14.1-pr.128.420.1",
3
+ "version": "0.14.1",
4
4
  "private": false,
5
5
  "description": "Create Prisma 8 projects with first-party templates and great DX.",
6
6
  "homepage": "https://github.com/prisma/create-prisma",
@@ -2,8 +2,8 @@
2
2
  "name": "{{projectName}}",
3
3
  "type": "module",
4
4
  "version": "0.0.1",
5
- {{#if packageManagerManifest}}
6
- "packageManager": "{{packageManagerManifest}}",
5
+ {{#if (packageManagerManifestValue packageManager)}}
6
+ "packageManager": "{{packageManagerManifestValue packageManager}}",
7
7
  {{/if}}
8
8
  "scripts": {
9
9
  "dev": "astro dev",
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "{{projectName}}",
3
3
  "private": true,
4
- {{#if packageManagerManifest}}
5
- "packageManager": "{{packageManagerManifest}}",
4
+ {{#if (packageManagerManifestValue packageManager)}}
5
+ "packageManager": "{{packageManagerManifestValue packageManager}}",
6
6
  {{/if}}
7
7
  "type": "module",
8
8
  "engines": {
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "{{projectName}}",
3
3
  "private": true,
4
- {{#if packageManagerManifest}}
5
- "packageManager": "{{packageManagerManifest}}",
4
+ {{#if (packageManagerManifestValue packageManager)}}
5
+ "packageManager": "{{packageManagerManifestValue packageManager}}",
6
6
  {{/if}}
7
7
  "type": "module",
8
8
  "engines": {
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "{{projectName}}",
3
3
  "private": true,
4
- {{#if packageManagerManifest}}
5
- "packageManager": "{{packageManagerManifest}}",
4
+ {{#if (packageManagerManifestValue packageManager)}}
5
+ "packageManager": "{{packageManagerManifestValue packageManager}}",
6
6
  {{/if}}
7
7
  "type": "module",
8
8
  {{#unless (eq packageManager "deno")}}
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "{{projectName}}",
3
3
  "private": true,
4
- {{#if packageManagerManifest}}
5
- "packageManager": "{{packageManagerManifest}}",
4
+ {{#if (packageManagerManifestValue packageManager)}}
5
+ "packageManager": "{{packageManagerManifestValue packageManager}}",
6
6
  {{/if}}
7
7
  "type": "module",
8
8
  "engines": {
@@ -2,8 +2,8 @@
2
2
  "name": "{{projectName}}",
3
3
  "version": "0.1.0",
4
4
  "private": true,
5
- {{#if packageManagerManifest}}
6
- "packageManager": "{{packageManagerManifest}}",
5
+ {{#if (packageManagerManifestValue packageManager)}}
6
+ "packageManager": "{{packageManagerManifestValue packageManager}}",
7
7
  {{/if}}
8
8
  "type": "module",
9
9
  "scripts": {
@@ -6,8 +6,8 @@
6
6
  },
7
7
  "private": true,
8
8
  "version": "0.0.1",
9
- {{#if packageManagerManifest}}
10
- "packageManager": "{{packageManagerManifest}}",
9
+ {{#if (packageManagerManifestValue packageManager)}}
10
+ "packageManager": "{{packageManagerManifestValue packageManager}}",
11
11
  {{/if}}
12
12
  "scripts": {
13
13
  "build": "nuxt build",
@@ -2,8 +2,8 @@
2
2
  "name": "{{projectName}}",
3
3
  "private": true,
4
4
  "version": "0.0.1",
5
- {{#if packageManagerManifest}}
6
- "packageManager": "{{packageManagerManifest}}",
5
+ {{#if (packageManagerManifestValue packageManager)}}
6
+ "packageManager": "{{packageManagerManifestValue packageManager}}",
7
7
  {{/if}}
8
8
  "type": "module",
9
9
  "imports": {
@@ -2,8 +2,8 @@
2
2
  "name": "{{projectName}}",
3
3
  "private": true,
4
4
  "version": "0.1.0",
5
- {{#if packageManagerManifest}}
6
- "packageManager": "{{packageManagerManifest}}",
5
+ {{#if (packageManagerManifestValue packageManager)}}
6
+ "packageManager": "{{packageManagerManifestValue packageManager}}",
7
7
  {{/if}}
8
8
  "type": "module",
9
9
  "scripts": {
@@ -2,8 +2,8 @@
2
2
  "name": "{{projectName}}",
3
3
  "version": "0.1.0",
4
4
  "private": true,
5
- {{#if packageManagerManifest}}
6
- "packageManager": "{{packageManagerManifest}}",
5
+ {{#if (packageManagerManifestValue packageManager)}}
6
+ "packageManager": "{{packageManagerManifestValue packageManager}}",
7
7
  {{/if}}
8
8
  "type": "module",
9
9
  "workspaces": [