spine-framework 0.1.8 → 0.1.9

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.
@@ -36,16 +36,6 @@ const supabaseServiceKey: string = _env.SUPABASE_SERVICE_ROLE_KEY!
36
36
  const supabaseAnonKey: string = _env.SUPABASE_ANON_KEY!
37
37
  const dbSchema: string = _env.DB_SCHEMA || 'public'
38
38
 
39
- function getEnv() {
40
- const e = (globalThis as any).process?.env || {}
41
- return {
42
- supabaseUrl: e.SUPABASE_URL as string,
43
- supabaseServiceKey: e.SUPABASE_SERVICE_ROLE_KEY as string,
44
- supabaseAnonKey: e.SUPABASE_ANON_KEY as string,
45
- dbSchema: (e.DB_SCHEMA || 'public') as string,
46
- }
47
- }
48
-
49
39
  // ─── CLIENTS ─────────────────────────────────────────────────────────────────
50
40
 
51
41
  /**
@@ -83,7 +73,9 @@ function getEnv() {
83
73
  * ```
84
74
  */
85
75
  export const adminDb = createClient(supabaseUrl, supabaseServiceKey, {
86
- db: { schema: dbSchema }
76
+ db: {
77
+ schema: dbSchema
78
+ }
87
79
  })
88
80
 
89
81
  // ─── CHUNK_START: SHARED_DB_GET_USER_DB ──────────────────────────────────────────────
@@ -101,7 +93,6 @@ export const adminDb = createClient(supabaseUrl, supabaseServiceKey, {
101
93
  * @tags database, supabase, rls, authentication, user-scoped
102
94
  */
103
95
  export function getUserDb(jwt: string) {
104
- const { supabaseUrl, supabaseAnonKey, dbSchema } = getEnv()
105
96
  return createClient(supabaseUrl, supabaseAnonKey, {
106
97
  db: {
107
98
  schema: dbSchema
@@ -3,6 +3,7 @@
3
3
  // This file is the npm bin entry point for spine-framework.
4
4
  const { execFileSync } = require('child_process')
5
5
  const { resolve } = require('path')
6
+ const fs = require('fs')
6
7
 
7
8
  const pkgRoot = resolve(__dirname, '..')
8
9
  const projectRoot = resolve(pkgRoot, '../..')
@@ -13,10 +14,19 @@ if (process.argv.length === 2) {
13
14
  process.exit(0)
14
15
  }
15
16
 
17
+ // Pre-parse credential flags so db.ts sees them as env vars at module load time.
18
+ // tsx evaluates db.ts before Commander parses args, so we must inject here.
19
+ const args = process.argv.slice(2)
20
+ const childEnv = { ...process.env }
21
+ for (let i = 0; i < args.length; i++) {
22
+ if (args[i] === '--url' && args[i + 1]) childEnv.SUPABASE_URL = args[++i]
23
+ if (args[i] === '--anon-key' && args[i + 1]) childEnv.SUPABASE_ANON_KEY = args[++i]
24
+ if (args[i] === '--service-role-key' && args[i + 1]) childEnv.SUPABASE_SERVICE_ROLE_KEY = args[++i]
25
+ }
26
+
16
27
  const entry = resolve(pkgRoot, '.framework/cli/index.ts')
17
28
 
18
29
  // Find tsx: prefer consuming project's copy, fall back to our own
19
- const fs = require('fs')
20
30
  const tsxPaths = [
21
31
  resolve(projectRoot, 'node_modules/.bin/tsx'),
22
32
  resolve(pkgRoot, 'node_modules/.bin/tsx'),
@@ -29,7 +39,7 @@ if (!tsx) {
29
39
  }
30
40
 
31
41
  try {
32
- execFileSync(tsx, [entry, ...process.argv.slice(2)], { stdio: 'inherit' })
42
+ execFileSync(tsx, [entry, ...process.argv.slice(2)], { stdio: 'inherit', env: childEnv })
33
43
  } catch (e) {
34
44
  process.exit(e.status ?? 1)
35
45
  }
@@ -1 +1 @@
1
- {"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../../../.framework/functions/_shared/db.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAoCH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,eAAO,MAAM,OAAO,iFAElB,CAAA;AAGF;;;;;;;;;;;;GAYG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,mFAYpC;AAKD;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI;IACxB,IAAI,EAAE,CAAC,GAAG,IAAI,CAAA;IACd,KAAK,EAAE,GAAG,CAAA;CACX,CAAA;AAID;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,eAAO,MAAM,KAAK;;;;;;;;CAQjB,CAAA"}
1
+ {"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../../../.framework/functions/_shared/db.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AA0BH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,eAAO,MAAM,OAAO,iFAIlB,CAAA;AAGF;;;;;;;;;;;;GAYG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,mFAWpC;AAKD;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI;IACxB,IAAI,EAAE,CAAC,GAAG,IAAI,CAAA;IACd,KAAK,EAAE,GAAG,CAAA;CACX,CAAA;AAID;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,eAAO,MAAM,KAAK;;;;;;;;CAQjB,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "spine-framework",
3
- "version": "0.1.8",
3
+ "version": "0.1.9",
4
4
  "private": false,
5
5
  "description": "Spine — enterprise application framework built on Supabase + Netlify + React",
6
6
  "type": "module",