@prisma/dev 0.19.1 → 0.21.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.
- package/dist/{accelerate-EEKAFGN3.js → accelerate-HABH6RJU.js} +1 -1
- package/dist/{chunk-7NDL3ECU.js → chunk-6ORCLJD5.js} +1 -1
- package/dist/chunk-DZGCLGSX.js +84 -0
- package/dist/{chunk-LKYVOPH3.js → chunk-FIY24ARL.js} +1 -1
- package/dist/chunk-VXHP3HPZ.js +1 -0
- package/dist/daemon.cjs +88 -5
- package/dist/daemon.d.cts +2 -4
- package/dist/daemon.d.ts +2 -4
- package/dist/daemon.js +1 -1
- package/dist/db.cjs +84 -1
- package/dist/db.d.cts +31 -1
- package/dist/db.d.ts +31 -1
- package/dist/db.js +1 -1
- package/dist/index.cjs +88 -5
- package/dist/index.d.cts +6 -9
- package/dist/index.d.ts +6 -9
- package/dist/index.js +1 -1
- package/dist/programmatic-CRY-l5_J.d.cts +8 -0
- package/dist/programmatic-QofJRfwC.d.ts +8 -0
- package/dist/state.d.cts +7 -9
- package/dist/state.d.ts +7 -9
- package/dist/state.js +1 -1
- package/package.json +14 -12
- package/dist/chunk-RJ42AYBU.js +0 -1
- package/dist/chunk-XMKRRRGB.js +0 -1
- /package/dist/{chunk-ITQ6ILGR.js → chunk-DGKV2DPF.js} +0 -0
package/dist/state.d.cts
CHANGED
|
@@ -51,21 +51,19 @@ interface ServerOptions {
|
|
|
51
51
|
/**
|
|
52
52
|
* Connection timeout in milliseconds for pending database connections.
|
|
53
53
|
*
|
|
54
|
-
*
|
|
55
|
-
*
|
|
54
|
+
* This option is currently not enforced by the multiplexed
|
|
55
|
+
* `@electric-sql/pglite-socket` server used by `@prisma/dev`.
|
|
56
|
+
* It is kept for API compatibility until upstream exposes a queue-timeout
|
|
57
|
+
* equivalent again.
|
|
56
58
|
*
|
|
57
59
|
* Default is 1 minute (60,000 milliseconds).
|
|
58
|
-
*
|
|
59
|
-
* Use it with caution, as it may lead to unexpected behavior. Best used with
|
|
60
|
-
* a pool client that retries connections.
|
|
61
60
|
*/
|
|
62
61
|
databaseConnectTimeoutMillis?: number;
|
|
63
62
|
/**
|
|
64
|
-
* Idle timeout in milliseconds for
|
|
63
|
+
* Idle timeout in milliseconds for open database connections.
|
|
65
64
|
*
|
|
66
|
-
* Re-starts ticking after each message received on
|
|
67
|
-
*
|
|
68
|
-
* client connection is closed, and a pending connection is promoted to active.
|
|
65
|
+
* Re-starts ticking after each message received on a connection. When exceeded,
|
|
66
|
+
* that client connection is closed by the socket server.
|
|
69
67
|
*
|
|
70
68
|
* Is not applied by default.
|
|
71
69
|
*
|
package/dist/state.d.ts
CHANGED
|
@@ -51,21 +51,19 @@ interface ServerOptions {
|
|
|
51
51
|
/**
|
|
52
52
|
* Connection timeout in milliseconds for pending database connections.
|
|
53
53
|
*
|
|
54
|
-
*
|
|
55
|
-
*
|
|
54
|
+
* This option is currently not enforced by the multiplexed
|
|
55
|
+
* `@electric-sql/pglite-socket` server used by `@prisma/dev`.
|
|
56
|
+
* It is kept for API compatibility until upstream exposes a queue-timeout
|
|
57
|
+
* equivalent again.
|
|
56
58
|
*
|
|
57
59
|
* Default is 1 minute (60,000 milliseconds).
|
|
58
|
-
*
|
|
59
|
-
* Use it with caution, as it may lead to unexpected behavior. Best used with
|
|
60
|
-
* a pool client that retries connections.
|
|
61
60
|
*/
|
|
62
61
|
databaseConnectTimeoutMillis?: number;
|
|
63
62
|
/**
|
|
64
|
-
* Idle timeout in milliseconds for
|
|
63
|
+
* Idle timeout in milliseconds for open database connections.
|
|
65
64
|
*
|
|
66
|
-
* Re-starts ticking after each message received on
|
|
67
|
-
*
|
|
68
|
-
* client connection is closed, and a pending connection is promoted to active.
|
|
65
|
+
* Re-starts ticking after each message received on a connection. When exceeded,
|
|
66
|
+
* that client connection is closed by the socket server.
|
|
69
67
|
*
|
|
70
68
|
* Is not applied by default.
|
|
71
69
|
*
|
package/dist/state.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a,b,c,d,e,f,g}from"./chunk-
|
|
1
|
+
import{a,b,c,d,e,f,g}from"./chunk-FIY24ARL.js";import"./chunk-OTI5SWIV.js";import"./chunk-DGKV2DPF.js";export{g as ServerAlreadyRunningError,a as ServerState,f as ServerStateAlreadyExistsError,b as deleteServer,c as getServerStatus,d as isServerRunning,e as killServer};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@prisma/dev",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.21.0",
|
|
4
4
|
"description": "A local Prisma Postgres server for development and testing",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"author": "Igal Klebanov <igalklebanov@gmail.com> (https://github.com/igalklebanov)",
|
|
@@ -64,31 +64,33 @@
|
|
|
64
64
|
"license": "ISC",
|
|
65
65
|
"devDependencies": {
|
|
66
66
|
"@arethetypeswrong/cli": "0.18.2",
|
|
67
|
-
"@types/node": "25.0.
|
|
67
|
+
"@types/node": "25.0.9",
|
|
68
68
|
"@types/pako": "2.0.4",
|
|
69
|
+
"@types/pg": "8.15.6",
|
|
69
70
|
"@types/proper-lockfile": "4.1.4",
|
|
70
71
|
"env-paths": "3.0.0",
|
|
72
|
+
"pg": "8.16.0",
|
|
71
73
|
"pkg-types": "2.3.0",
|
|
72
74
|
"tsup": "8.5.1",
|
|
73
75
|
"typescript": "5.9.3",
|
|
74
|
-
"vitest": "4.0.
|
|
76
|
+
"vitest": "4.0.17",
|
|
75
77
|
"common-stuff": "^0.0.0"
|
|
76
78
|
},
|
|
77
79
|
"dependencies": {
|
|
78
|
-
"@electric-sql/pglite": "0.3.
|
|
79
|
-
"@electric-sql/pglite-socket": "0.0.
|
|
80
|
-
"@electric-sql/pglite-tools": "0.2.
|
|
81
|
-
"@hono/node-server": "1.19.
|
|
80
|
+
"@electric-sql/pglite": "0.3.16",
|
|
81
|
+
"@electric-sql/pglite-socket": "0.0.22",
|
|
82
|
+
"@electric-sql/pglite-tools": "0.2.21",
|
|
83
|
+
"@hono/node-server": "1.19.9",
|
|
82
84
|
"@mrleebo/prisma-ast": "0.13.1",
|
|
83
|
-
"@prisma/get-platform": "7.
|
|
84
|
-
"@prisma/query-plan-executor": "7.
|
|
85
|
+
"@prisma/get-platform": "7.2.0",
|
|
86
|
+
"@prisma/query-plan-executor": "7.2.0",
|
|
85
87
|
"foreground-child": "3.3.1",
|
|
86
88
|
"get-port-please": "3.2.0",
|
|
87
|
-
"hono": "4.11.
|
|
89
|
+
"hono": "4.11.4",
|
|
88
90
|
"http-status-codes": "2.3.0",
|
|
89
91
|
"pathe": "2.0.3",
|
|
90
92
|
"proper-lockfile": "4.1.2",
|
|
91
|
-
"remeda": "2.
|
|
93
|
+
"remeda": "2.33.4",
|
|
92
94
|
"std-env": "3.10.0",
|
|
93
95
|
"valibot": "1.2.0",
|
|
94
96
|
"zeptomatch": "2.1.0"
|
|
@@ -98,7 +100,7 @@
|
|
|
98
100
|
"check:exports": "attw . --pack --profile node16",
|
|
99
101
|
"dev": "tsup --watch",
|
|
100
102
|
"lint": "eslint --fix .",
|
|
101
|
-
"test": "",
|
|
103
|
+
"test": "vitest run",
|
|
102
104
|
"typecheck": "tsc --noEmit"
|
|
103
105
|
}
|
|
104
106
|
}
|
package/dist/chunk-RJ42AYBU.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a as d}from"./chunk-XMKRRRGB.js";import{a as P}from"./chunk-LKYVOPH3.js";import{g as u}from"./chunk-OTI5SWIV.js";import{a as f,c as v,d as g}from"./chunk-7NDL3ECU.js";import{createServer as A}from"http";import{promisify as R}from"util";import T from"@prisma/get-platform";async function y(o,e){let{port:r}=e;if(e.dryRun)return w(r,null);let n=await D(o,e),{promise:m,reject:l,resolve:a}=v(),{serve:c}=await import("@hono/node-server"),i=c({createServer:A,fetch:n.fetch,overrideGlobalObjects:!1,port:r},a);i.on("error",s=>{if(typeof s=="object"&&"code"in s&&s.code==="EADDRINUSE")return l(new u(r));console.error("[Accelerate]",s)});let{port:t}=await m;return e.port=t,w(t,i)}function w(o,e){return{async close(){e&&await Promise.allSettled([R(e.close.bind(e))(),g.stopAll()])},port:o,url:`http://localhost:${o}`}}async function D(o,e){let{debug:r}=e,[{Hono:n},{accelerateRoute:m},{utilityRoute:l}]=await Promise.all([import("hono/tiny"),import("./accelerate-EEKAFGN3.js"),import("./utility-Q5A254LJ.js")]),a=new n,c=await T.getPlatformInfo();if(r&&console.debug("[Accelerate] platform info: %s",JSON.stringify(c)),r){let{logger:t}=await import("hono/logger");a.use("*",t((...s)=>console.log("[Accelerate]",...s)))}a.use("*",async(t,s)=>(t.set("databaseDumpPath",e.databaseDumpPath),t.set("db",o),t.set("debug",!!r),t.set("name",e.name),t.set("platform",c),t.set("shadowDBPort",e.shadowDatabasePort),await s()));let i=new n;return i.route("/",m),i.route("/",l),a.route("/",i),a}async function E(o){let e=await P.createExclusively(o),[r,n]=await Promise.all([d("database",e),d("shadow_database",e)]),m=await y(r,e),l=`prisma+postgres://localhost:${m.port}/?${new URLSearchParams({api_key:f({databaseUrl:r.prismaORMConnectionString,name:e.name,shadowDatabaseUrl:n.prismaORMConnectionString})}).toString()}`,a={database:{connectionString:r.connectionString,prismaORMConnectionString:r.prismaORMConnectionString,terminalCommand:r.terminalCommand},http:{url:m.url},ppg:{url:l},shadowDatabase:{connectionString:n.prismaORMConnectionString,prismaORMConnectionString:n.prismaORMConnectionString,terminalCommand:n.terminalCommand}};return await e.writeServerDump(a),{...a,close:()=>c(e,[m,r,n]),name:e.name};async function c(i,t){let S=(await Promise.allSettled(t.map(p=>p.close()))).filter(p=>p.status==="rejected").map(p=>new Error(p.reason));try{await i.close()}catch(p){S.push(p)}if(S.length>0)throw new AggregateError(S,"Failed to close some servers")}}async function J(o){return await E(o)}export{E as a,J as b};
|
package/dist/chunk-XMKRRRGB.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{g as b}from"./chunk-OTI5SWIV.js";import{e as g}from"./chunk-ITQ6ILGR.js";import{filename as S}from"pathe/utils";var o={connectionLimit:1,connectTimeout:0,database:"template1",maxIdleConnectionLifetime:0,password:"postgres",poolTimeout:0,socketTimeout:0,sslMode:"disable",username:"postgres"},h=`postgres://${o.username}:${o.password}@localhost`,y=new URLSearchParams({sslmode:o.sslMode}),T=new URLSearchParams({...Object.fromEntries(y.entries()),connection_limit:String(o.connectionLimit),connect_timeout:String(o.connectTimeout),max_idle_connection_lifetime:String(o.maxIdleConnectionLifetime),pool_timeout:String(o.poolTimeout),single_use_connections:"true",socket_timeout:String(o.socketTimeout)});async function x(e,t){let r=e==="database"?t.databasePort:t.shadowDatabasePort;if(t.dryRun)return f(e,t,{db:null,port:r,server:null});let{debug:n}=t,a=await(e==="shadow_database"?v:_)(t.pgliteDataDirPath,n);n&&a.onNotification((d,l)=>{console.debug(`[${e}][${d}] ${l}`)});let{PGLiteSocketHandler:m,PGLiteSocketServer:s}=await import("@electric-sql/pglite-socket"),c=e==="shadow_database"?t.shadowDatabaseIdleTimeoutMillis:t.databaseIdleTimeoutMillis;E(c,a,m);let u=new s({connectionQueueTimeout:e==="shadow_database"?t.shadowDatabaseConnectTimeoutMillis:t.databaseConnectTimeoutMillis,db:a,debug:n,inspect:n,port:r});n&&(u.addEventListener("listening",d=>{let{detail:l}=d;console.debug(`[${e}] server listening on ${JSON.stringify(l)}`)}),u.addEventListener("connection",d=>{let{clientAddress:l,clientPort:P}=d.detail;console.debug(`[${e}] client connected from ${l}:${P}`)}),u.addEventListener("error",d=>{let{detail:l}=d;console.error(`[${e}] server error:`,l)}));try{await u.start()}catch(d){throw d instanceof Error&&"code"in d&&d.code==="EADDRINUSE"?new b(r):d}let p=Number(u.getServerConn().split(":").at(1));return t[e==="database"?"databasePort":"shadowDatabasePort"]=p,f(e,t,{db:a,port:p,server:u})}function f(e,t,r){let{debug:n}=t,{db:i,port:a,server:m}=r||{};return n&&console.debug(`[${e}] server started on port ${a}`),{...o,close:async()=>{let s=[];try{await m?.stop(),n&&console.debug(`[${e}] server stopped on port ${a}`)}catch(c){console.error(`[${e}] server stop error`,c),s.push(c)}if(e==="database")try{await i?.syncToFs(),n&&console.debug(`[${e}] synced to filesystem`)}catch(c){console.error(`[${e}] sync error`,c),s.push(c)}try{await i?.close(),n&&console.debug(`[${e}] closed`)}catch(c){console.error(`[${e}] close error`,c),s.push(c)}if(s.length>0)throw new AggregateError(s,`Failed to close ${e} properly`)},connectionString:D(a,y),dump:async s=>{e==="shadow_database"||!i||await $({db:i,debug:n,destinationPath:s})},port:a,prismaORMConnectionString:D(a,T),terminalCommand:`PGPASSWORD=${o.password} PGSSLMODE=${o.sslMode} psql -h localhost -p ${a} -U ${o.username} -d ${o.database}`}}function D(e,t){return`${h}:${e}/${o.database}?${t.toString()}`}async function _(e,t){let{PGlite:r}=await import("@electric-sql/pglite");return await r.create({database:o.database,dataDir:e,debug:t?5:void 0,extensions:await w(),relaxedDurability:!1,username:o.username})}async function v(e,t){let{PGlite:r}=await import("@electric-sql/pglite");return await r.create({database:o.database,dataDir:"memory://",debug:t?5:void 0,extensions:await w(),relaxedDurability:!1,username:o.username})}async function w(){let e=await Promise.all([import("@electric-sql/pglite/contrib/amcheck"),import("@electric-sql/pglite/contrib/bloom"),import("@electric-sql/pglite/contrib/btree_gin"),import("@electric-sql/pglite/contrib/btree_gist"),import("@electric-sql/pglite/contrib/citext"),import("@electric-sql/pglite/contrib/cube"),import("@electric-sql/pglite/contrib/dict_int"),import("@electric-sql/pglite/contrib/dict_xsyn"),import("@electric-sql/pglite/contrib/earthdistance"),import("@electric-sql/pglite/contrib/file_fdw"),import("@electric-sql/pglite/contrib/fuzzystrmatch"),import("@electric-sql/pglite/contrib/hstore"),import("@electric-sql/pglite/contrib/intarray"),import("@electric-sql/pglite/contrib/isn"),import("@electric-sql/pglite/contrib/lo"),import("@electric-sql/pglite/contrib/ltree"),import("@electric-sql/pglite/contrib/pageinspect"),import("@electric-sql/pglite/contrib/pg_buffercache"),import("@electric-sql/pglite/contrib/pg_freespacemap"),import("@electric-sql/pglite/contrib/pg_surgery"),import("@electric-sql/pglite/contrib/pg_trgm"),import("@electric-sql/pglite/contrib/pg_visibility"),import("@electric-sql/pglite/contrib/pg_walinspect"),import("@electric-sql/pglite/contrib/seg"),import("@electric-sql/pglite/contrib/tablefunc"),import("@electric-sql/pglite/contrib/tcn"),import("@electric-sql/pglite/contrib/tsm_system_rows"),import("@electric-sql/pglite/contrib/tsm_system_time"),import("@electric-sql/pglite/contrib/unaccent"),import("@electric-sql/pglite/contrib/uuid_ossp"),import("@electric-sql/pglite/vector")]);return Object.assign({},...e)}function E(e,t,r){if(t.__IDLE_TIMEOUT__=e,r.prototype.__ATTACH_OVERRIDDEN__)return;r.prototype.__ATTACH_OVERRIDDEN__=!0;let n=r.prototype.attach;r.prototype.attach=async function(i){let a=await n.call(this,i);if(!Number.isFinite(this.db.__IDLE_TIMEOUT__))return a;let m=null,s=()=>{m!=null&&(clearTimeout(m),m=null)},c=()=>{s(),m=setTimeout(()=>{this.dispatchEvent(new CustomEvent("close")),this.detach(!1)},this.db.__IDLE_TIMEOUT__)};return i.on("error",()=>{s()}),i.on("data",()=>{c()}),i.on("close",()=>{s()}),c(),a}}async function $(e){let{dataDir:t,db:r,debug:n,destinationPath:i}=e,a=r||await _(t,n),{pgDump:m}=await import("@electric-sql/pglite-tools/pg_dump"),s=await m({args:["--schema-only","--no-owner"],fileName:i?S(i):void 0,pg:await a.clone()});return i?(n&&console.debug(`[DB] Dumping database to ${i}`),await g(s,i)):(n&&console.debug("[DB] Dumping database to memory"),await s.text())}export{x as a,$ as b};
|
|
File without changes
|