@prisma/cli-dev 0.2.0 → 0.2.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/dist/index.d.ts CHANGED
@@ -1,3 +1,5 @@
1
- declare function run(rawArgs: string[]): void;
1
+ import { PrismaConfigInternal } from '@prisma/config';
2
+
3
+ declare function run(rawArgs: string[], _config: PrismaConfigInternal): Promise<void>;
2
4
 
3
5
  export { run };
package/dist/index.js CHANGED
@@ -1,7 +1,9 @@
1
1
  import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
- import{runMain as y}from"citty";import{DEFAULT_DATABASE_PORT as v,DEFAULT_SERVER_PORT as b,DEFAULT_SHADOW_DATABASE_PORT as f,PortNotAvailableError as P,unstable_startServer as w}from"@prisma/dev";import{defineCommand as E}from"citty";var m="0.2.0";var e={database:"db-port",server:"port",shadow_database:"shadow-db-port"},x=/^[a-zA-Z0-9-_]+$/,g=E({meta:{description:"Spin up a local Prisma Postgres database",name:"dev",version:m},args:{[e.database]:{alias:"P",description:`Port number the database server will listen on. Defaults to \`${v}\`.`,required:!1,type:"string"},debug:{default:!1,description:"Enable debug logging. Defaults to `false`.",required:!1,type:"boolean"},name:{alias:"n",default:"default",description:"Name of the server. Helps keep state isolated between different projects. Defaults to `default`",required:!1,type:"string"},[e.server]:{alias:"p",description:`Main port number the Prisma Dev server will listen on. Defaults to \`${b}\`.`,required:!1,type:"string"},[e.shadow_database]:{description:`Port number the shadow database server will listen on. Defaults to \`${f}\`.`,required:!1,type:"string"}},run:async n=>{let{[e.server]:i,[e.database]:d,[e.shadow_database]:p,debug:l,name:c}=n.args,s=d?Number(d):v,t=i?Number(i):b,a=p?Number(p):f;if(i&&isNaN(t))return console.error(`Invalid server port number provided. Please provide a valid port number in \`--${e.server}\`.`),process.exit(1);if(d&&isNaN(s))return console.error(`Invalid database port number provided. Please provide a valid port number in \`--${e.database}\`.`),process.exit(1);if(p&&isNaN(a))return console.error(`Invalid shadow database port number provided. Please provide a valid port number in \`--${e.shadow_database}\`.`),process.exit(1);if(t===s)return console.error(`The server port and database port cannot be the same. Please provide different port numbers in \`--${e.server}\` and/or \`--${e.database}\`.`),process.exit(1);if(s===a)return console.error(`The database port and shadow database port cannot be the same. Please provide different port numbers in \`--${e.database}\` and/or \`--${e.shadow_database}\`.`),process.exit(1);if(t===a)return console.error(`The server port and shadow database port cannot be the same. Please provide different port numbers in \`--${e.server}\` and/or \`--${e.shadow_database}\`.`),process.exit(1);if(!x.test(c))return console.error("Invalid name provided. The name can only contain letters, numbers, dashes, and underscores. Please provide a valid name in `--name`."),process.exit(1);console.log(`Starting Prisma Dev...
3
- `);try{let r=await w({databasePort:s,debug:l,name:c,persistenceMode:"stateful",port:t,shadowDatabasePort:a}),u=o=>()=>{console.log(`${o} signal receieved. closing Prisma Dev server gracefully...`),r.close().then(()=>process.exit(0))};process.once("SIGINT",u("SIGINT")),process.once("SIGTERM",u("SIGTERM")),process.on("uncaughtException",o=>{if("code"in o&&o.code==="ECONNRESET"){l&&console.error("uncaught ECONNRESET from PGLite");return}process.exit(1)}),console.log(`Great Success!
2
+ import{runMain as R}from"citty";import{unstable_startServer as E}from"@prisma/dev";import{defineCommand as A}from"citty";function l(){let e,s,i=new Promise((r,n)=>{e=r,s=n}),t=r=>{t=a=null,s(r)},a=r=>{a=t=null,e(r)};return{promise:i,reject:r=>t?.(r),resolve:r=>a?.(r)}}var p="0.2.2";import{DEFAULT_DATABASE_PORT as u,DEFAULT_SERVER_PORT as m,DEFAULT_SHADOW_DATABASE_PORT as f}from"@prisma/dev";var o={database:"db-port",server:"port",shadow_database:"shadow-db-port"},v={[o.database]:{alias:"P",description:`Port number the database server will listen on. Defaults to \`${u}\`.`,required:!1,type:"string"},debug:{default:!1,description:"Enable debug logging. Defaults to `false`.",required:!1,type:"boolean"},name:{alias:"n",default:"default",description:"Name of the server. Helps keep state isolated between different projects. Defaults to `default`",required:!1,type:"string"},[o.server]:{alias:"p",description:`Main port number the Prisma Dev server will listen on. Defaults to \`${m}\`.`,required:!1,type:"string"},[o.shadow_database]:{description:`Port number the shadow database server will listen on. Defaults to \`${f}\`.`,required:!1,type:"string"}},y=/^[a-zA-Z0-9-_]+$/;function b(e){let{[o.server]:s,[o.database]:i,[o.shadow_database]:t,name:a}=e.args,r=i?Number(i):u,n=s?Number(s):m,d=t?Number(t):f;return s&&isNaN(n)?(console.error(`Invalid server port number provided. Please provide a valid port number in \`--${o.server}\`.`),process.exit(1)):i&&isNaN(r)?(console.error(`Invalid database port number provided. Please provide a valid port number in \`--${o.database}\`.`),process.exit(1)):t&&isNaN(d)?(console.error(`Invalid shadow database port number provided. Please provide a valid port number in \`--${o.shadow_database}\`.`),process.exit(1)):n===r?(console.error(`The server port and database port cannot be the same. Please provide different port numbers in \`--${o.server}\` and/or \`--${o.database}\`.`),process.exit(1)):r===d?(console.error(`The database port and shadow database port cannot be the same. Please provide different port numbers in \`--${o.database}\` and/or \`--${o.shadow_database}\`.`),process.exit(1)):n===d?(console.error(`The server port and shadow database port cannot be the same. Please provide different port numbers in \`--${o.server}\` and/or \`--${o.shadow_database}\`.`),process.exit(1)):y.test(a)?{databasePort:r,debug:e.args.debug,name:a,serverPort:n,shadowDatabasePort:d}:(console.error("Invalid name provided. The name can only contain letters, numbers, dashes, and underscores. Please provide a valid name in `--name`."),process.exit(1))}import{PortNotAvailableError as T}from"@prisma/dev";function g(e){throw console.error(e instanceof T?`Prisma Dev Error: port number \`${e.port}\` is already in use. Please pass a different port number in the \`--${o[e.service]}\` option.`:e),process.exitCode||=1,e}function w(e){let s={shutdownAlreadyStarted:!1};process.once("SIGINT",h("SIGINT",e,s)),process.once("SIGTERM",h("SIGTERM",e,s))}function h(e,s,i){let{debug:t,onFailure:a,onSuccess:r,server:n}=s;return()=>{if(i.shutdownAlreadyStarted){t&&console.debug(`Received ${e} signal, ignoring.`);return}i.shutdownAlreadyStarted=!0,t&&console.debug(`${e} signal receieved.`),console.log(`
3
+ Closing Prisma Dev...
4
+ `),process.exitCode=e==="SIGINT"?130:143,n.close().then(()=>{t&&console.debug("Prisma Dev server closed."),e==="SIGINT"&&(process.exitCode=0),r()}).catch(a)}}var x={description:"Spin up a local Prisma Postgres database",name:"dev",version:p},P=A({args:v,meta:x,run:async e=>{let{debug:s,serverPort:i,...t}=b(e);console.log(`Starting Prisma Dev...
5
+ `);try{let a=await E({...t,debug:s,persistenceMode:"stateful",port:i}),{promise:r,reject:n,resolve:d}=l();w({debug:s,onFailure:n,onSuccess:d,server:a}),process.on("uncaughtException",c=>{if("code"in c&&c.code==="ECONNRESET"){s&&console.error("uncaught ECONNRESET from PGLite");return}n(c)}),console.log(`Great Success!
4
6
  `),console.log(`To connect to your local Prisma Postgres database via Prisma ORM, use the following connection string:
5
7
 
6
- DATABASE_URL="${r.ppg.url}"
7
- `),await new Promise(()=>{})}catch(r){if(r instanceof P)return console.error(`Prisma Dev Error: port number \`${r.port}\` is already in use. Please pass a different port number in the \`--${e[r.service]}\` option.`),process.exit(1);console.error(`Error starting Prisma Dev: ${r instanceof Error?r.message:String(r)}`),process.exit(1)}}});function $(n){y(g,{rawArgs:n})}export{$ as run};
8
+ DATABASE_URL="${a.ppg.url}"
9
+ `),await r,console.log("Buh Bye!")}catch(a){g(a)}}});async function z(e,s){await R(P,{rawArgs:e})}export{z as run};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prisma/cli-dev",
3
- "version": "0.2.0",
3
+ "version": "0.2.2",
4
4
  "description": "Dev CLI for Prisma",
5
5
  "type": "module",
6
6
  "sideEffects": false,
@@ -31,14 +31,16 @@
31
31
  ],
32
32
  "devDependencies": {
33
33
  "@arethetypeswrong/cli": "0.18.1",
34
+ "@prisma/config": "6.8.2",
34
35
  "@types/node": "22.15.21",
35
36
  "tsup": "8.5.0",
36
37
  "typescript": "5.8.3",
37
- "vitest": "3.1.4"
38
+ "vitest": "3.1.4",
39
+ "common-stuff": "^0.0.0"
38
40
  },
39
41
  "dependencies": {
40
42
  "citty": "0.1.6",
41
- "@prisma/dev": "0.2.0"
43
+ "@prisma/dev": "0.4.0"
42
44
  },
43
45
  "scripts": {
44
46
  "build": "tsup",