@prisma/cli-init 0.0.5 → 0.1.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.
|
@@ -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.
|
|
348
|
+
var version = "0.1.1";
|
|
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-
|
|
7
|
+
} from "./chunk-BGEDXNS4.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=eyJkYXRhYmFzZVVybCI6InBvc3RncmVzOi8vcG9zdGdyZXM6cG9zdGdyZXNAbG9jYWxob3N0OjUxMjE0L3RlbXBsYXRlMT9jb25uZWN0aW9uX2xpbWl0PTEmY29ubmVjdF90aW1lb3V0PTAmbWF4X2lkbGVfY29ubmVjdGlvbl9saWZldGltZT0wJnBvb2xfdGltZW91dD0wJnNvY2tldF90aW1lb3V0PTAmc3NsbW9kZT1kaXNhYmxlIiwic2hhZG93RGF0YWJhc2VVcmwiOiJwb3N0Z3JlczovL3Bvc3RncmVzOnBvc3RncmVzQGxvY2FsaG9zdDo1MTIxNS90ZW1wbGF0ZTE_Y29ubmVjdGlvbl9saW1pdD0xJmNvbm5lY3RfdGltZW91dD0wJm1heF9pZGxlX2Nvbm5lY3Rpb25fbGlmZXRpbWU9MCZwb29sX3RpbWVvdXQ9MCZzb2NrZXRfdGltZW91dD0wJnNzbG1vZGU9ZGlzYWJsZSJ9";
|
|
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
|
|
285
|
-
|
|
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
|
|
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
|
|
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("./_-
|
|
334
|
+
const PlatformCommands = await import("./_-4E3YIM4T.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.
|
|
3
|
+
"version": "0.1.1",
|
|
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.3.0"
|
|
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
|
}
|