@supabase/lite 0.8.0 → 0.8.1-next.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.
@@ -1,4 +1,4 @@
1
- import {loadEnv}from'vite';import S from'node:path';import K from'chokidar';import {watchSchema,migrationsDir,applyPendingMigrations,ensureInitialStructure,createApi,listMigrationFiles,ensureSchema}from'@supabase/lite/cli';import {getRequestListener}from'@hono/node-server';try {
1
+ import {loadEnv}from'vite';import A from'node:path';import G from'chokidar';import {watchSchema,migrationsDir,applyPendingMigrations,ensureInitialStructure,resolveConfiguredPublishableKey,createApi,listMigrationFiles,ensureSchema}from'@supabase/lite/cli';import {getRequestListener}from'@hono/node-server';try {
2
2
  /**
3
3
  * Adding this to avoid warnings from node:sqlite being experimental
4
4
  */
@@ -9,4 +9,4 @@ import {loadEnv}from'vite';import S from'node:path';import K from'chokidar';impo
9
9
  };
10
10
  } catch {}
11
11
 
12
- var P=Object.create;var v=Object.defineProperty;var R=Object.getOwnPropertyDescriptor;var I=Object.getOwnPropertyNames;var T=Object.getPrototypeOf,D=Object.prototype.hasOwnProperty;var C=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var L=(t,e,o,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of I(e))!D.call(t,r)&&r!==o&&v(t,r,{get:()=>e[r],enumerable:!(i=R(e,r))||i.enumerable});return t};var M=(t,e,o)=>(o=t!=null?P(T(t)):{},L(v(o,"default",{value:t,enumerable:true}),t));var _=C((Z,w)=>{var f=process||{},y=f.argv||[],g=f.env||{},N=!(g.NO_COLOR||y.includes("--no-color"))&&(!!g.FORCE_COLOR||y.includes("--color")||f.platform==="win32"||(f.stdout||{}).isTTY&&g.TERM!=="dumb"||!!g.CI),k=(t,e,o=t)=>i=>{let r=""+i,n=r.indexOf(e,t.length);return ~n?t+V(r,e,o,n)+e:t+r+e},V=(t,e,o,i)=>{let r="",n=0;do r+=t.substring(n,i)+o,n=i+e.length,i=t.indexOf(e,n);while(~i);return r+t.substring(n)},A=(t=N)=>{let e=t?k:()=>String;return {isColorSupported:t,reset:e("\x1B[0m","\x1B[0m"),bold:e("\x1B[1m","\x1B[22m","\x1B[22m\x1B[1m"),dim:e("\x1B[2m","\x1B[22m","\x1B[22m\x1B[2m"),italic:e("\x1B[3m","\x1B[23m"),underline:e("\x1B[4m","\x1B[24m"),inverse:e("\x1B[7m","\x1B[27m"),hidden:e("\x1B[8m","\x1B[28m"),strikethrough:e("\x1B[9m","\x1B[29m"),black:e("\x1B[30m","\x1B[39m"),red:e("\x1B[31m","\x1B[39m"),green:e("\x1B[32m","\x1B[39m"),yellow:e("\x1B[33m","\x1B[39m"),blue:e("\x1B[34m","\x1B[39m"),magenta:e("\x1B[35m","\x1B[39m"),cyan:e("\x1B[36m","\x1B[39m"),white:e("\x1B[37m","\x1B[39m"),gray:e("\x1B[90m","\x1B[39m"),bgBlack:e("\x1B[40m","\x1B[49m"),bgRed:e("\x1B[41m","\x1B[49m"),bgGreen:e("\x1B[42m","\x1B[49m"),bgYellow:e("\x1B[43m","\x1B[49m"),bgBlue:e("\x1B[44m","\x1B[49m"),bgMagenta:e("\x1B[45m","\x1B[49m"),bgCyan:e("\x1B[46m","\x1B[49m"),bgWhite:e("\x1B[47m","\x1B[49m"),blackBright:e("\x1B[90m","\x1B[39m"),redBright:e("\x1B[91m","\x1B[39m"),greenBright:e("\x1B[92m","\x1B[39m"),yellowBright:e("\x1B[93m","\x1B[39m"),blueBright:e("\x1B[94m","\x1B[39m"),magentaBright:e("\x1B[95m","\x1B[39m"),cyanBright:e("\x1B[96m","\x1B[39m"),whiteBright:e("\x1B[97m","\x1B[39m"),bgBlackBright:e("\x1B[100m","\x1B[49m"),bgRedBright:e("\x1B[101m","\x1B[49m"),bgGreenBright:e("\x1B[102m","\x1B[49m"),bgYellowBright:e("\x1B[103m","\x1B[49m"),bgBlueBright:e("\x1B[104m","\x1B[49m"),bgMagentaBright:e("\x1B[105m","\x1B[49m"),bgCyanBright:e("\x1B[106m","\x1B[49m"),bgWhiteBright:e("\x1B[107m","\x1B[49m")}};w.exports=A();w.exports.createColors=A;});var c=M(_());var u=["/auth/v1","/rest/v1","/_system"];function h(t,e=u){let o=getRequestListener(async i=>t.fetch(i));return (i,r,n)=>{let x=i.url??"";if(!e.some(a=>x===a||x.startsWith(`${a}/`)||x.startsWith(`${a}?`)))return n();o(i,r).catch(n);}}function q(t,e){let o=t.root?S.resolve(t.root):process.cwd(),r=t.envFile===false||t.envDir===false?false:t.envDir?S.resolve(o,t.envDir):o,n=t.envPrefix??"VITE_";return loadEnv(e,r,n)}function z(t={}){let{config:e,migrateOnBoot:o=true,watchSchema:i=true,forceSchema:r=false,initOnBoot:n=true,prefixes:x=u}=t,a;async function B(){n&&await ensureInitialStructure({recreate:false,template:false});let s=await(await createApi({withSupabaseClient:false})).project.local.createApp(e);if(r&&console.log(c.default.yellow("\u26A0 supalite: forceSchema=true \u2014 data-loss migrations allowed")),o){if((await listMigrationFiles(s)).length>0){let b=await applyPendingMigrations(s);for(let l of b.applied)console.log(c.default.green(" \u2713"),"Applied migration",c.default.cyan(l.filename));}await ensureSchema(s,{force:r});}return s}async function d(){try{await a?.connection.close();}catch{}}return {name:"@supabase/lite",config(m,{mode:s}){let p=q(m,s),b=m.define??{},l={},E=(U,F)=>U in p||F in b;return E("VITE_SUPABASE_URL","import.meta.env.VITE_SUPABASE_URL")||(l["import.meta.env.VITE_SUPABASE_URL"]="window.location.origin"),E("VITE_SUPABASE_ANON_KEY","import.meta.env.VITE_SUPABASE_ANON_KEY")||(l["import.meta.env.VITE_SUPABASE_ANON_KEY"]=JSON.stringify("sb-lite-anon-key")),{define:l}},async configureServer(m){if(a=await B(),m.middlewares.use(h(a,x)),i){watchSchema(a,{translate:true,force:r});let s=S.join(process.cwd(),"supabase",migrationsDir(a)),p=K.watch(s,{ignoreInitial:true});p.on("add",async()=>{try{let b=await applyPendingMigrations(a);for(let l of b.applied)console.log(c.default.green(" \u2713"),"Applied",c.default.cyan(l.filename));}catch(b){console.error(c.default.red("Migration failed: "+String(b.message??b)));}}),m.httpServer?.once("close",()=>{p.close();});}m.httpServer?.once("close",d);},async configurePreviewServer(m){a=await B(),m.middlewares.use(h(a,x)),m.httpServer?.once("close",d);},async closeBundle(){await d();}}}var me=z;export{u as DEFAULT_PREFIXES,me as default,h as honoMiddleware,z as supalite};
12
+ var I=Object.create;var E=Object.defineProperty;var T=Object.getOwnPropertyDescriptor;var k=Object.getOwnPropertyNames;var C=Object.getPrototypeOf,L=Object.prototype.hasOwnProperty;var M=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var N=(t,e,n,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of k(e))!L.call(t,r)&&r!==n&&E(t,r,{get:()=>e[r],enumerable:!(i=T(e,r))||i.enumerable});return t};var V=(t,e,n)=>(n=t!=null?I(C(t)):{},N(E(n,"default",{value:t,enumerable:true}),t));var O=M((ie,v)=>{var u=process||{},_=u.argv||[],d=u.env||{},W=!(d.NO_COLOR||_.includes("--no-color"))&&(!!d.FORCE_COLOR||_.includes("--color")||u.platform==="win32"||(u.stdout||{}).isTTY&&d.TERM!=="dumb"||!!d.CI),Y=(t,e,n=t)=>i=>{let r=""+i,o=r.indexOf(e,t.length);return ~o?t+K(r,e,n,o)+e:t+r+e},K=(t,e,n,i)=>{let r="",o=0;do r+=t.substring(o,i)+n,o=i+e.length,i=t.indexOf(e,o);while(~i);return r+t.substring(o)},P=(t=W)=>{let e=t?Y:()=>String;return {isColorSupported:t,reset:e("\x1B[0m","\x1B[0m"),bold:e("\x1B[1m","\x1B[22m","\x1B[22m\x1B[1m"),dim:e("\x1B[2m","\x1B[22m","\x1B[22m\x1B[2m"),italic:e("\x1B[3m","\x1B[23m"),underline:e("\x1B[4m","\x1B[24m"),inverse:e("\x1B[7m","\x1B[27m"),hidden:e("\x1B[8m","\x1B[28m"),strikethrough:e("\x1B[9m","\x1B[29m"),black:e("\x1B[30m","\x1B[39m"),red:e("\x1B[31m","\x1B[39m"),green:e("\x1B[32m","\x1B[39m"),yellow:e("\x1B[33m","\x1B[39m"),blue:e("\x1B[34m","\x1B[39m"),magenta:e("\x1B[35m","\x1B[39m"),cyan:e("\x1B[36m","\x1B[39m"),white:e("\x1B[37m","\x1B[39m"),gray:e("\x1B[90m","\x1B[39m"),bgBlack:e("\x1B[40m","\x1B[49m"),bgRed:e("\x1B[41m","\x1B[49m"),bgGreen:e("\x1B[42m","\x1B[49m"),bgYellow:e("\x1B[43m","\x1B[49m"),bgBlue:e("\x1B[44m","\x1B[49m"),bgMagenta:e("\x1B[45m","\x1B[49m"),bgCyan:e("\x1B[46m","\x1B[49m"),bgWhite:e("\x1B[47m","\x1B[49m"),blackBright:e("\x1B[90m","\x1B[39m"),redBright:e("\x1B[91m","\x1B[39m"),greenBright:e("\x1B[92m","\x1B[39m"),yellowBright:e("\x1B[93m","\x1B[39m"),blueBright:e("\x1B[94m","\x1B[39m"),magentaBright:e("\x1B[95m","\x1B[39m"),cyanBright:e("\x1B[96m","\x1B[39m"),whiteBright:e("\x1B[97m","\x1B[39m"),bgBlackBright:e("\x1B[100m","\x1B[49m"),bgRedBright:e("\x1B[101m","\x1B[49m"),bgGreenBright:e("\x1B[102m","\x1B[49m"),bgYellowBright:e("\x1B[103m","\x1B[49m"),bgBlueBright:e("\x1B[104m","\x1B[49m"),bgMagentaBright:e("\x1B[105m","\x1B[49m"),bgCyanBright:e("\x1B[106m","\x1B[49m"),bgWhiteBright:e("\x1B[107m","\x1B[49m")}};v.exports=P();v.exports.createColors=P;});var b=V(O());var j=Symbol("lite-peer-address");function R(t,e){e&&Object.defineProperty(t,j,{value:e,enumerable:false,configurable:false,writable:false});}var h=["/auth/v1","/rest/v1","/_system"];function w(t,e=h){let n=getRequestListener(async(i,...r)=>{let o=r[0]?.incoming;return R(i,o?.socket?.remoteAddress),t.fetch(i)});return (i,r,o)=>{let c=i.url??"";if(!e.some(p=>c===p||c.startsWith(`${p}/`)||c.startsWith(`${p}?`)))return o();n(i,r).catch(o);}}function ee(t,e){let n=t.root?A.resolve(t.root):process.cwd(),r=t.envFile===false||t.envDir===false?false:t.envDir?A.resolve(n,t.envDir):n,o=t.envPrefix??"VITE_";return loadEnv(e,r,o)}function te(t={}){let{config:e,migrateOnBoot:n=true,watchSchema:i=true,forceSchema:r=false,initOnBoot:o=true,prefixes:c=h,admin:p}=t,s;async function B(a){o&&await ensureInitialStructure({recreate:false,template:false});let l=await(await createApi({withSupabaseClient:false})).project.local.createApp(e,a);if(r&&console.log(b.default.yellow("\u26A0 supalite: forceSchema=true \u2014 data-loss migrations allowed")),n){if((await listMigrationFiles(l)).length>0){let m=await applyPendingMigrations(l);for(let x of m.applied)console.log(b.default.green(" \u2713"),"Applied migration",b.default.cyan(x.filename));}await ensureSchema(l,{force:r});}return l}async function S(){try{await s?.connection.close();}catch{}}return {name:"@supabase/lite",async config(a,{mode:f}){let l=ee(a,f),g=a.define??{},m={},x=(y,F)=>y in l||F in g;if(x("VITE_SUPABASE_URL","import.meta.env.VITE_SUPABASE_URL")||(m["import.meta.env.VITE_SUPABASE_URL"]="window.location.origin"),!x("VITE_SUPABASE_ANON_KEY","import.meta.env.VITE_SUPABASE_ANON_KEY")){o&&await ensureInitialStructure({recreate:false,template:false});let y=await resolveConfiguredPublishableKey(e);m["import.meta.env.VITE_SUPABASE_ANON_KEY"]=JSON.stringify(y??"sb-lite-anon-key");}return {define:m}},async configureServer(a){if(s=await B({admin:p,adminDefault:true}),a.middlewares.use(w(s,c)),i){let f=watchSchema(s,{translate:true,force:r}),l=A.join(process.cwd(),"supabase",migrationsDir(s)),g=G.watch(l,{ignoreInitial:true});g.on("add",async()=>{try{let m=await applyPendingMigrations(s);for(let x of m.applied)console.log(b.default.green(" \u2713"),"Applied",b.default.cyan(x.filename));}catch(m){console.error(b.default.red("Migration failed: "+String(m.message??m)));}}),a.httpServer?.once("close",()=>{g.close(),f();});}a.httpServer?.once("close",S);},async configurePreviewServer(a){s=await B({admin:false,adminDefault:false}),a.middlewares.use(w(s,c)),a.httpServer?.once("close",S);},async closeBundle(){await S();}}}var pe=te;export{h as DEFAULT_PREFIXES,pe as default,w as honoMiddleware,te as supalite};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@supabase/lite",
3
- "version": "0.8.0",
3
+ "version": "0.8.1-next.2",
4
4
  "description": "Lightweight TypeScript-native Supabase implementation on SQLite (alpha). PostgREST + GoTrue compatible — use @supabase/supabase-js as-is.",
5
5
  "license": "Apache-2.0",
6
6
  "type": "module",
@@ -135,10 +135,13 @@
135
135
  "@commander-js/extra-typings": "^14.0.0",
136
136
  "@electric-sql/pglite": "0.4.5",
137
137
  "@hono/node-server": "^1.19.9",
138
- "@supabase/pg-delta": "1.0.0-alpha.10",
138
+ "@supabase/pg-delta": "1.0.0-alpha.34",
139
+ "@supabase/supabase-js": "^2.97.0",
139
140
  "@sentry/node": "^10.51.0",
140
141
  "@vercel/detect-agent": "^1.2.3",
141
142
  "dotenv": "^17.3.1",
143
+ "jose": "^6.1.3",
144
+ "jsonv-ts": "^0.10.1",
142
145
  "libpg-query": "17.7.3",
143
146
  "kysely": "^0.28.11",
144
147
  "kysely-generic-sqlite": "^1.2.1",
@@ -147,6 +150,7 @@
147
150
  "pgsql-deparser": "17.18.3",
148
151
  "bcryptjs": "^3.0.3",
149
152
  "chokidar": "^5.0.0",
153
+ "nodemailer": "^9.0.5",
150
154
  "uuid": "^13.0.0"
151
155
  },
152
156
  "peerDependencies": {
@@ -175,16 +179,14 @@
175
179
  "@pgsql/types": "^17.6.2",
176
180
  "@pgsql/utils": "^17.8.15",
177
181
  "@sqlite.org/sqlite-wasm": "^3.51.2-build7",
178
- "@supabase/supabase-js": "^2.97.0",
179
182
  "@types/bcryptjs": "^3.0.0",
183
+ "@types/nodemailer": "^8.0.1",
180
184
  "aws4fetch": "^1.0.20",
181
185
  "bun-plugin-tailwind": "^0.1.2",
182
186
  "dedent": "^1.7.2",
183
187
  "fs-extra": "^11.3.3",
184
188
  "hono": "^4.12.2",
185
189
  "ink": "^6.8.0",
186
- "jose": "^6.1.3",
187
- "jsonv-ts": "^0.10.1",
188
190
  "open": "^11.0.0",
189
191
  "pgserve": "^1.1.6",
190
192
  "picocolors": "^1.1.1",
@@ -22,7 +22,7 @@ The package is pre-1.0 and changes fast. **Do not rely on this skill's specifics
22
22
 
23
23
  | Scenario | Use | Notes |
24
24
  |---|---|---|
25
- | Vite project | `@supabase/lite/vite` plugin (same-process) | No separate CLI. Pass `window.location.origin` + any non-empty string to `createClient`. |
25
+ | Vite project | `@supabase/lite/vite` plugin (same-process) | No separate CLI. Pass `window.location.origin` + the project's `sb_publishable_*` key (or any string if no API keys are configured) to `createClient`. |
26
26
  | Non-Vite app, want auto schema-reload | `lite dev` (separate process) | Watches `schemas/*.sql`. |
27
27
  | Non-Vite app, manual control / CI / prod-like | `lite start` (separate process) | No watch, no auto-migrate. |
28
28