@prisma/cli-init 0.0.5 → 0.1.0

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.
@@ -14,7 +14,7 @@ import {
14
14
  platformParameters,
15
15
  poll,
16
16
  printPpgInitOutput
17
- } from "./chunk-BGUTM6CI.js";
17
+ } from "./chunk-K4YS2DUC.js";
18
18
  export {
19
19
  __exports as Accelerate,
20
20
  __exports2 as Auth,
@@ -345,7 +345,7 @@ import internals5 from "@prisma/internals";
345
345
  import * as Checkpoint from "checkpoint-client";
346
346
 
347
347
  // package.json
348
- var version = "0.0.5";
348
+ var version = "0.1.0";
349
349
 
350
350
  // src/platform/_lib/userAgent.ts
351
351
  var debug = Debug("prisma:cli:platform:_lib:userAgent");
package/dist/index.js CHANGED
@@ -4,7 +4,7 @@ import {
4
4
  printPpgInitOutput,
5
5
  requestOrThrow,
6
6
  successMessage
7
- } from "./chunk-BGUTM6CI.js";
7
+ } from "./chunk-K4YS2DUC.js";
8
8
 
9
9
  // src/Init.ts
10
10
  import { confirm, input, select } from "@inquirer/prompts";
@@ -89,6 +89,8 @@ function printError(text) {
89
89
  }
90
90
 
91
91
  // src/Init.ts
92
+ var PRISMA_DEV_DEFAULT_URL = "prisma+postgres://localhost:51213/?api_key=eyJkYXRhYmFzZVVybCI6InBvc3RncmVzOi8vcG9zdGdyZXM6cG9zdGdyZXNAbG9jYWxob3N0OjUxMjE0L3Bvc3RncmVzP2Nvbm5lY3Rpb25fbGltaXQ9MSZjb25uZWN0X3RpbWVvdXQ9MCZtYXhfaWRsZV9jb25uZWN0aW9uX2xpZmV0aW1lPTAmcG9vbF90aW1lb3V0PTAmc29ja2V0X3RpbWVvdXQ9MCZzc2xtb2RlPWRpc2FibGUiLCJzaGFkb3dEYXRhYmFzZVVybCI6InBvc3RncmVzOi8vcG9zdGdyZXM6cG9zdGdyZXNAbG9jYWxob3N0OjUxMjE1L3Bvc3RncmVzP2Nvbm5lY3Rpb25fbGltaXQ9MSZjb25uZWN0X3RpbWVvdXQ9MCZtYXhfaWRsZV9jb25uZWN0aW9uX2xpZmV0aW1lPTAmcG9vbF90aW1lb3V0PTAmc29ja2V0X3RpbWVvdXQ9MCZzc2xtb2RlPWRpc2FibGUifQ";
93
+ var { PRISMA_INIT_DEV_PREVIEW } = (typeof process !== "undefined" ? process.env : {}) || {};
92
94
  var defaultSchema = (props) => {
93
95
  const {
94
96
  datasourceProvider = "postgresql",
@@ -147,14 +149,18 @@ model User {
147
149
  }
148
150
  return schema;
149
151
  };
150
- var defaultEnv = (url = "postgresql://johndoe:randompassword@localhost:5432/mydb?schema=public", comments = true) => {
152
+ var defaultEnv = (url = PRISMA_INIT_DEV_PREVIEW ? PRISMA_DEV_DEFAULT_URL : "postgresql://johndoe:randompassword@localhost:5432/mydb?schema=public", comments = true) => {
151
153
  let env = comments ? `# Environment variables declared in this file are automatically made available to Prisma.
152
154
  # See the documentation for more detail: https://pris.ly/d/prisma-schema#accessing-environment-variables-from-the-schema
153
155
 
154
156
  # Prisma supports the native connection string format for PostgreSQL, MySQL, SQLite, SQL Server, MongoDB and CockroachDB.
155
157
  # See the documentation for all the connection string options: https://pris.ly/d/connection-strings
156
158
 
157
- ` : "";
159
+ ${PRISMA_INIT_DEV_PREVIEW && url === PRISMA_DEV_DEFAULT_URL ? `# The following \`prisma+postgres\` URL is similar to the URL produced by running a local Prisma Postgres
160
+ # server with the \`prisma dev\` CLI command, when not choosing any non-default ports or settings. The API key, unlike the
161
+ # one found in a remote Prisma Postgres URL, does not contain any sensitive information.
162
+
163
+ ` : ""}` : "";
158
164
  env += `DATABASE_URL="${url}"`;
159
165
  return env;
160
166
  };
@@ -228,7 +234,7 @@ var Init = class _Init {
228
234
 
229
235
  ${bold2("Examples")}
230
236
 
231
- Set up a new Prisma project with PostgreSQL (default)
237
+ Set up a new ${PRISMA_INIT_DEV_PREVIEW ? "local Prisma Postgres project" : "Prisma project with PostgreSQL"} (default)
232
238
  ${dim("$")} prisma init
233
239
 
234
240
  Set up a new Prisma project and specify MySQL as the datasource provider to use
@@ -281,27 +287,10 @@ var Init = class _Init {
281
287
  )
282
288
  },
283
289
  (input2) => {
284
- const datasourceProviderLowercase = input2["--datasource-provider"].toLowerCase();
285
- if (![
286
- "postgresql",
287
- "mysql",
288
- "sqlserver",
289
- "sqlite",
290
- "mongodb",
291
- "cockroachdb",
292
- "prismapostgres",
293
- "prisma+postgres"
294
- ].includes(datasourceProviderLowercase)) {
295
- throw new Error(
296
- `Provider "${args["--datasource-provider"]}" is invalid or not supported. Try again with "postgresql", "mysql", "sqlite", "sqlserver", "mongodb" or "cockroachdb".`
297
- );
298
- }
299
- const datasourceProvider2 = datasourceProviderLowercase;
290
+ const datasourceProvider2 = input2["--datasource-provider"].toLowerCase();
291
+ assertDatasourceProvider(datasourceProvider2);
300
292
  const url2 = defaultURL(datasourceProvider2);
301
- return Promise.resolve({
302
- datasourceProvider: datasourceProvider2,
303
- url: url2
304
- });
293
+ return { datasourceProvider: datasourceProvider2, url: url2 };
305
294
  }
306
295
  ).with(
307
296
  {
@@ -324,10 +313,10 @@ var Init = class _Init {
324
313
  return { datasourceProvider: datasourceProvider2, url: url2 };
325
314
  }
326
315
  ).otherwise(() => {
327
- return Promise.resolve({
316
+ return {
328
317
  datasourceProvider: "postgresql",
329
318
  url: void 0
330
- });
319
+ };
331
320
  });
332
321
  const generatorProvider = args["--generator-provider"];
333
322
  const previewFeatures = args["--preview-feature"];
@@ -342,7 +331,7 @@ var Init = class _Init {
342
331
  let generatedSchema;
343
332
  let generatedName;
344
333
  if (isPpgCommand) {
345
- const PlatformCommands = await import("./_-MD33MAJW.js");
334
+ const PlatformCommands = await import("./_-46NDLHTP.js");
346
335
  const credentials = await credentialsFile.load();
347
336
  if (internals.isError(credentials))
348
337
  throw credentials;
@@ -528,6 +517,14 @@ var Init = class _Init {
528
517
  console.error("Failed to write .gitignore file, reason: ", e);
529
518
  }
530
519
  }
520
+ const clientPathRelativeToOutputDir = path2.relative(outputDir, path2.resolve(prismaFolder, clientOutput));
521
+ try {
522
+ fs2.appendFileSync(gitignorePath, `
523
+ /${clientPathRelativeToOutputDir.replaceAll(path2.sep, "/")}
524
+ `);
525
+ } catch (e) {
526
+ console.error("Failed to append client path to .gitignore file, reason: ", e);
527
+ }
531
528
  const steps = [];
532
529
  if (datasourceProvider === "mongodb") {
533
530
  steps.push(`Define models in the schema.prisma file.`);
@@ -586,6 +583,23 @@ ${_Init.help}`);
586
583
  return _Init.help;
587
584
  }
588
585
  };
586
+ var DATASOURCE_PROVIDERS = [
587
+ "postgresql",
588
+ "mysql",
589
+ "sqlite",
590
+ "sqlserver",
591
+ "mongodb",
592
+ "cockroachdb",
593
+ "prismapostgres",
594
+ "prisma+postgres"
595
+ ];
596
+ function assertDatasourceProvider(thing) {
597
+ if (typeof thing !== "string" || !DATASOURCE_PROVIDERS.includes(thing)) {
598
+ throw new Error(
599
+ `Provider "${thing}" is invalid or not supported. Try again with ${DATASOURCE_PROVIDERS.slice(0, -1).map((p) => `"${p}"`).join(", ")} or "${DATASOURCE_PROVIDERS.at(-1)}".`
600
+ );
601
+ }
602
+ }
589
603
 
590
604
  // src/index.ts
591
605
  async function run(args, config) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prisma/cli-init",
3
- "version": "0.0.5",
3
+ "version": "0.1.0",
4
4
  "description": "Init CLI for Prisma",
5
5
  "type": "module",
6
6
  "sideEffects": false,
@@ -31,10 +31,12 @@
31
31
  "@prisma/get-platform": "6.7.0",
32
32
  "@types/fs-extra": "11.0.4",
33
33
  "@types/node": "22.3.0",
34
+ "importx": "0.5.2",
34
35
  "strip-ansi": "7.1.0",
35
36
  "tsup": "8.0.2",
36
37
  "typescript": "5.8.3",
37
- "vitest": "3.1.3"
38
+ "vitest": "3.1.3",
39
+ "@prisma/dev": "0.1.1"
38
40
  },
39
41
  "dependencies": {
40
42
  "@inquirer/prompts": "7.3.3",
@@ -61,7 +63,7 @@
61
63
  "check:exports": "attw . --pack --profile esm-only",
62
64
  "dev": "tsup --watch",
63
65
  "lint": "eslint --fix .",
64
- "test": "vitest",
66
+ "test": "PRISMA_INIT_DEV_PREVIEW=1 vitest",
65
67
  "typecheck": "tsc --noEmit"
66
68
  }
67
69
  }