@s-hirano-ist/s-database 1.19.0 → 1.20.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/package.json +9 -9
- package/prisma/schema.prisma +4 -4
- package/src/generated/edge.js +7 -7
- package/src/generated/index-browser.js +4 -4
- package/src/generated/index.d.ts +3 -3
- package/src/generated/index.js +7 -7
- package/src/generated/package.json +3 -3
- package/src/generated/query_compiler_fast_bg.wasm +0 -0
- package/src/generated/query_compiler_fast_bg.wasm-base64.js +1 -1
- package/src/generated/runtime/client.d.ts +28 -0
- package/src/generated/runtime/client.js +15 -15
- package/src/generated/runtime/wasm-compiler-edge.js +13 -13
- package/src/generated/schema.prisma +4 -4
- package/src/resolve-db-env.ts +36 -0
|
@@ -3,10 +3,10 @@ generator client {
|
|
|
3
3
|
output = "../src/generated"
|
|
4
4
|
}
|
|
5
5
|
|
|
6
|
-
generator
|
|
7
|
-
provider
|
|
8
|
-
output
|
|
9
|
-
|
|
6
|
+
generator erd {
|
|
7
|
+
provider = "prisma-erd-generator"
|
|
8
|
+
output = "../erd/schema.md"
|
|
9
|
+
mmdcPath = ""
|
|
10
10
|
}
|
|
11
11
|
|
|
12
12
|
datasource db {
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
// Side-effect module: aliases Vercel Supabase Marketplace env vars
|
|
2
|
+
// (POSTGRES_PRISMA_URL / POSTGRES_URL_NON_POOLING) to the canonical
|
|
3
|
+
// names Prisma expects. Import this before any code reads
|
|
4
|
+
// process.env.DATABASE_URL or DIRECT_URL.
|
|
5
|
+
//
|
|
6
|
+
// Vercel-Supabase Marketplace で注入される URL には `sslmode=require` が
|
|
7
|
+
// 既に付与されているが、@prisma/adapter-pg (pg) はそれを strict verify
|
|
8
|
+
// として解釈し、Supabase の cert chain を Node.js が信頼できず
|
|
9
|
+
// `SELF_SIGNED_CERT_IN_CHAIN` / Prisma `P1011 TlsConnectionError` を投げる。
|
|
10
|
+
// そこで `sslmode` を **常に `no-verify` に正規化** して TLS 検証だけを
|
|
11
|
+
// 緩める(暗号化自体は維持される)。
|
|
12
|
+
//
|
|
13
|
+
// SECURITY:
|
|
14
|
+
// sslmode=no-verify はサーバー証明書の検証を行わず MITM 耐性が下がる。
|
|
15
|
+
// Vercel ↔ Supabase は同一クラウド内 routing のため現実的リスクは低いが、
|
|
16
|
+
// 理想形は Supabase root CA を `ssl.ca` で pin する形 (TODO)。
|
|
17
|
+
//
|
|
18
|
+
// ローカル開発:
|
|
19
|
+
// Doppler で `DATABASE_URL` を直接設定しているケースでは、下の `??=` で
|
|
20
|
+
// 何も上書きしないため、Docker Postgres (`sslmode=disable`) など既存の
|
|
21
|
+
// 設定にも影響しない。
|
|
22
|
+
export function withNoVerifySsl(url: string | undefined): string | undefined {
|
|
23
|
+
if (!url) return url;
|
|
24
|
+
if (/[?&]sslmode=no-verify\b/i.test(url)) return url;
|
|
25
|
+
if (/[?&]sslmode=[^&]*/i.test(url)) {
|
|
26
|
+
return url.replace(/([?&])sslmode=[^&]*/i, "$1sslmode=no-verify");
|
|
27
|
+
}
|
|
28
|
+
return `${url}${url.includes("?") ? "&" : "?"}sslmode=no-verify`;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
process.env.DATABASE_URL ??= withNoVerifySsl(
|
|
32
|
+
process.env.POSTGRES_PRISMA_URL ?? process.env.POSTGRES_URL,
|
|
33
|
+
);
|
|
34
|
+
process.env.DIRECT_URL ??=
|
|
35
|
+
withNoVerifySsl(process.env.POSTGRES_URL_NON_POOLING) ??
|
|
36
|
+
process.env.DATABASE_URL;
|