@rudderjs/orm-drizzle 1.5.2 → 1.6.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/doctor.d.ts +2 -0
- package/dist/doctor.d.ts.map +1 -0
- package/dist/doctor.js +71 -0
- package/dist/doctor.js.map +1 -0
- package/package.json +11 -6
package/dist/doctor.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../src/doctor.ts"],"names":[],"mappings":""}
|
package/dist/doctor.js
ADDED
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
// Doctor checks contributed by @rudderjs/orm-drizzle.
|
|
2
|
+
import fs from 'node:fs';
|
|
3
|
+
import path from 'node:path';
|
|
4
|
+
import { registerDoctorCheck } from '@rudderjs/console';
|
|
5
|
+
function anyExists(rels) {
|
|
6
|
+
for (const rel of rels) {
|
|
7
|
+
try {
|
|
8
|
+
fs.statSync(path.join(process.cwd(), rel));
|
|
9
|
+
return rel;
|
|
10
|
+
}
|
|
11
|
+
catch { /* keep looking */ }
|
|
12
|
+
}
|
|
13
|
+
return null;
|
|
14
|
+
}
|
|
15
|
+
registerDoctorCheck({
|
|
16
|
+
id: 'orm-drizzle:schema',
|
|
17
|
+
category: 'orm',
|
|
18
|
+
title: 'Drizzle schema',
|
|
19
|
+
run() {
|
|
20
|
+
// Drizzle convention: db/schema.ts or src/db/schema.ts or drizzle/schema.ts.
|
|
21
|
+
// Some projects also split into db/schema/*.ts.
|
|
22
|
+
const candidates = [
|
|
23
|
+
'db/schema.ts', 'db/schema.js',
|
|
24
|
+
'drizzle/schema.ts', 'drizzle/schema.js',
|
|
25
|
+
'src/db/schema.ts', 'src/db/schema.js',
|
|
26
|
+
];
|
|
27
|
+
const dirCandidates = ['db/schema', 'drizzle/schema', 'src/db/schema'];
|
|
28
|
+
const file = anyExists(candidates);
|
|
29
|
+
if (file)
|
|
30
|
+
return { status: 'ok', message: file };
|
|
31
|
+
for (const dir of dirCandidates) {
|
|
32
|
+
try {
|
|
33
|
+
const full = path.join(process.cwd(), dir);
|
|
34
|
+
const entries = fs.readdirSync(full).filter(f => f.endsWith('.ts') || f.endsWith('.js'));
|
|
35
|
+
if (entries.length > 0) {
|
|
36
|
+
return { status: 'ok', message: `${dir} (${entries.length} files)` };
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
catch { /* dir missing */ }
|
|
40
|
+
}
|
|
41
|
+
return {
|
|
42
|
+
status: 'error',
|
|
43
|
+
message: 'no db/schema.ts (or equivalent) found',
|
|
44
|
+
fix: 'Create db/schema.ts and export your drizzle tables — see https://orm.drizzle.team for the syntax',
|
|
45
|
+
};
|
|
46
|
+
},
|
|
47
|
+
});
|
|
48
|
+
registerDoctorCheck({
|
|
49
|
+
id: 'orm-drizzle:database-url',
|
|
50
|
+
category: 'orm',
|
|
51
|
+
title: 'DATABASE_URL',
|
|
52
|
+
run() {
|
|
53
|
+
const v = process.env['DATABASE_URL'];
|
|
54
|
+
if (!v) {
|
|
55
|
+
return {
|
|
56
|
+
status: 'error',
|
|
57
|
+
message: 'unset',
|
|
58
|
+
fix: 'Add DATABASE_URL to .env (e.g. postgres://user:pass@host:5432/db, mysql://..., or file:./dev.db)',
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
if (!/^(file:|postgres(ql)?:\/\/|mysql:\/\/|libsql:\/\/)/.test(v)) {
|
|
62
|
+
return {
|
|
63
|
+
status: 'warn',
|
|
64
|
+
message: 'set but doesn\'t look like a Drizzle-supported URL scheme',
|
|
65
|
+
fix: 'Drizzle accepts file:, postgres://, postgresql://, mysql://, libsql://',
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
return { status: 'ok', message: `set (${v.split(':')[0]})` };
|
|
69
|
+
},
|
|
70
|
+
});
|
|
71
|
+
//# sourceMappingURL=doctor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../src/doctor.ts"],"names":[],"mappings":"AAAA,sDAAsD;AAEtD,OAAO,EAAE,MAAM,SAAS,CAAA;AACxB,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,EAAE,mBAAmB,EAAqB,MAAM,mBAAmB,CAAA;AAE1E,SAAS,SAAS,CAAC,IAAc;IAC/B,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,CAAC;YACH,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,GAAG,CAAC,CAAC,CAAA;YAC1C,OAAO,GAAG,CAAA;QACZ,CAAC;QAAC,MAAM,CAAC,CAAC,kBAAkB,CAAC,CAAC;IAChC,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED,mBAAmB,CAAC;IAClB,EAAE,EAAQ,oBAAoB;IAC9B,QAAQ,EAAE,KAAK;IACf,KAAK,EAAK,gBAAgB;IAC1B,GAAG;QACD,6EAA6E;QAC7E,gDAAgD;QAChD,MAAM,UAAU,GAAG;YACjB,cAAc,EAAM,cAAc;YAClC,mBAAmB,EAAE,mBAAmB;YACxC,kBAAkB,EAAE,kBAAkB;SACvC,CAAA;QACD,MAAM,aAAa,GAAG,CAAC,WAAW,EAAE,gBAAgB,EAAE,eAAe,CAAC,CAAA;QACtE,MAAM,IAAI,GAAG,SAAS,CAAC,UAAU,CAAC,CAAA;QAClC,IAAI,IAAI;YAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;QAChD,KAAK,MAAM,GAAG,IAAI,aAAa,EAAE,CAAC;YAChC,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,GAAG,CAAC,CAAA;gBAC1C,MAAM,OAAO,GAAG,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAA;gBACxF,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACvB,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,GAAG,KAAK,OAAO,CAAC,MAAM,SAAS,EAAE,CAAA;gBACtE,CAAC;YACH,CAAC;YAAC,MAAM,CAAC,CAAC,iBAAiB,CAAC,CAAC;QAC/B,CAAC;QACD,OAAO;YACL,MAAM,EAAG,OAAO;YAChB,OAAO,EAAE,uCAAuC;YAChD,GAAG,EAAM,kGAAkG;SAC5G,CAAA;IACH,CAAC;CACF,CAAC,CAAA;AAEF,mBAAmB,CAAC;IAClB,EAAE,EAAQ,0BAA0B;IACpC,QAAQ,EAAE,KAAK;IACf,KAAK,EAAK,cAAc;IACxB,GAAG;QACD,MAAM,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAA;QACrC,IAAI,CAAC,CAAC,EAAE,CAAC;YACP,OAAO;gBACL,MAAM,EAAG,OAAO;gBAChB,OAAO,EAAE,OAAO;gBAChB,GAAG,EAAM,kGAAkG;aAC5G,CAAA;QACH,CAAC;QACD,IAAI,CAAC,oDAAoD,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YAClE,OAAO;gBACL,MAAM,EAAG,MAAM;gBACf,OAAO,EAAE,2DAA2D;gBACpE,GAAG,EAAM,wEAAwE;aAClF,CAAA;QACH,CAAC;QACD,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAA;IAC9D,CAAC;CACF,CAAC,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rudderjs/orm-drizzle",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.6.0",
|
|
4
4
|
"description": "Drizzle ORM adapter for RudderJS. Implements OrmAdapterProvider / OrmAdapter / QueryBuilder<T> using Drizzle's SQL-like fluent API.",
|
|
5
5
|
"rudderjs": {
|
|
6
6
|
"provider": "DatabaseProvider",
|
|
@@ -28,17 +28,22 @@
|
|
|
28
28
|
"import": "./dist/index.js",
|
|
29
29
|
"default": "./dist/index.js",
|
|
30
30
|
"types": "./dist/index.d.ts"
|
|
31
|
+
},
|
|
32
|
+
"./doctor": {
|
|
33
|
+
"import": "./dist/doctor.js",
|
|
34
|
+
"types": "./dist/doctor.d.ts"
|
|
31
35
|
}
|
|
32
36
|
},
|
|
33
37
|
"dependencies": {
|
|
34
38
|
"drizzle-orm": "^0.38.0",
|
|
35
|
-
"@rudderjs/
|
|
36
|
-
"@rudderjs/
|
|
37
|
-
"@rudderjs/
|
|
39
|
+
"@rudderjs/console": "^1.1.0",
|
|
40
|
+
"@rudderjs/contracts": "^1.7.0",
|
|
41
|
+
"@rudderjs/core": "^1.1.7",
|
|
42
|
+
"@rudderjs/orm": "^1.10.0",
|
|
38
43
|
"@rudderjs/support": "^1.2.2"
|
|
39
44
|
},
|
|
40
45
|
"peerDependencies": {
|
|
41
|
-
"@rudderjs/ai": "^1.
|
|
46
|
+
"@rudderjs/ai": "^1.8.0"
|
|
42
47
|
},
|
|
43
48
|
"peerDependenciesMeta": {
|
|
44
49
|
"@rudderjs/ai": {
|
|
@@ -61,7 +66,7 @@
|
|
|
61
66
|
"dev": "tsc -p tsconfig.build.json --watch",
|
|
62
67
|
"typecheck": "tsc --noEmit",
|
|
63
68
|
"lint": "eslint src",
|
|
64
|
-
"test": "tsc -p tsconfig.test.json &&
|
|
69
|
+
"test": "tsc -p tsconfig.test.json && cd dist-test && node --test",
|
|
65
70
|
"clean": "rm -rf dist"
|
|
66
71
|
}
|
|
67
72
|
}
|