@rx-ted/packages-honest-plugins 1.0.1
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/CHANGELOG.md +13 -0
- package/README.md +45 -0
- package/api-doc/.turbo/turbo-build.log +1 -0
- package/api-doc/.turbo/turbo-test.log +11 -0
- package/api-doc/.turbo/turbo-typecheck.log +1 -0
- package/api-doc/CHANGELOG.md +22 -0
- package/api-doc/README.md +80 -0
- package/api-doc/dist/api-doc.plugin.d.ts +53 -0
- package/api-doc/dist/api-doc.plugin.js +452 -0
- package/api-doc/dist/index.d.ts +5 -0
- package/api-doc/dist/index.js +3 -0
- package/api-doc/dist/interfaces/renderer.interface.d.ts +7 -0
- package/api-doc/dist/interfaces/renderer.interface.js +1 -0
- package/api-doc/dist/renderers/scalar.renderer.d.ts +10 -0
- package/api-doc/dist/renderers/scalar.renderer.js +76 -0
- package/api-doc/dist/renderers/swagger.renderer.d.ts +10 -0
- package/api-doc/dist/renderers/swagger.renderer.js +83 -0
- package/api-doc/node_modules/.bin/esbuild +22 -0
- package/api-doc/node_modules/.bin/jiti +22 -0
- package/api-doc/node_modules/.bin/sass +22 -0
- package/api-doc/node_modules/.bin/tsx +22 -0
- package/api-doc/node_modules/.bin/vite +22 -0
- package/api-doc/node_modules/.bin/vitest +22 -0
- package/api-doc/node_modules/.bin/yaml +22 -0
- package/api-doc/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +1 -0
- package/api-doc/package.json +48 -0
- package/api-doc/src/api-doc.plugin.ts +554 -0
- package/api-doc/src/index.ts +5 -0
- package/api-doc/src/interfaces/renderer.interface.ts +5 -0
- package/api-doc/src/plugin.test.ts +740 -0
- package/api-doc/src/renderers/scalar.renderer.ts +82 -0
- package/api-doc/src/renderers/swagger.renderer.ts +89 -0
- package/api-doc/tsconfig.json +21 -0
- package/api-doc/vitest.config.ts +13 -0
- package/cache/.turbo/turbo-build.log +1 -0
- package/cache/.turbo/turbo-test.log +16 -0
- package/cache/CHANGELOG.md +23 -0
- package/cache/README.md +79 -0
- package/cache/dist/cache-service.d.ts +8 -0
- package/cache/dist/cache-service.js +21 -0
- package/cache/dist/cacheable.d.ts +2 -0
- package/cache/dist/cacheable.js +10 -0
- package/cache/dist/cloudflare/driver.d.ts +23 -0
- package/cache/dist/cloudflare/driver.js +102 -0
- package/cache/dist/cloudflare/index.d.ts +3 -0
- package/cache/dist/cloudflare/index.js +2 -0
- package/cache/dist/cloudflare/plugin.d.ts +19 -0
- package/cache/dist/cloudflare/plugin.js +58 -0
- package/cache/dist/index.d.ts +11 -0
- package/cache/dist/index.js +14 -0
- package/cache/dist/local/driver.d.ts +2 -0
- package/cache/dist/local/driver.js +98 -0
- package/cache/dist/local/index.d.ts +2 -0
- package/cache/dist/local/index.js +2 -0
- package/cache/dist/local/plugin.d.ts +14 -0
- package/cache/dist/local/plugin.js +24 -0
- package/cache/dist/redis/driver.d.ts +10 -0
- package/cache/dist/redis/driver.js +102 -0
- package/cache/dist/redis/index.d.ts +4 -0
- package/cache/dist/redis/index.js +2 -0
- package/cache/dist/redis/plugin.d.ts +25 -0
- package/cache/dist/redis/plugin.js +61 -0
- package/cache/dist/resolve.d.ts +24 -0
- package/cache/dist/resolve.js +114 -0
- package/cache/dist/types.d.ts +18 -0
- package/cache/dist/types.js +1 -0
- package/cache/node_modules/.bin/esbuild +22 -0
- package/cache/node_modules/.bin/jiti +22 -0
- package/cache/node_modules/.bin/sass +22 -0
- package/cache/node_modules/.bin/tsx +22 -0
- package/cache/node_modules/.bin/vite +22 -0
- package/cache/node_modules/.bin/vitest +22 -0
- package/cache/node_modules/.bin/yaml +22 -0
- package/cache/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +1 -0
- package/cache/package.json +46 -0
- package/cache/src/cache-service.test.ts +16 -0
- package/cache/src/cache-service.ts +15 -0
- package/cache/src/cacheable.test.ts +78 -0
- package/cache/src/cacheable.ts +16 -0
- package/cache/src/cloudflare/driver.test.ts +188 -0
- package/cache/src/cloudflare/driver.ts +118 -0
- package/cache/src/cloudflare/index.ts +3 -0
- package/cache/src/cloudflare/plugin.ts +71 -0
- package/cache/src/index.test.ts +68 -0
- package/cache/src/index.ts +20 -0
- package/cache/src/local/driver.ts +117 -0
- package/cache/src/local/index.ts +2 -0
- package/cache/src/local/plugin.ts +34 -0
- package/cache/src/redis/driver.test.ts +71 -0
- package/cache/src/redis/driver.ts +124 -0
- package/cache/src/redis/index.ts +4 -0
- package/cache/src/redis/plugin.ts +84 -0
- package/cache/src/resolve.test.ts +257 -0
- package/cache/src/resolve.ts +140 -0
- package/cache/src/types.ts +14 -0
- package/cache/tsconfig.json +21 -0
- package/cache/vitest.config.ts +13 -0
- package/db/.turbo/turbo-build.log +1 -0
- package/db/.turbo/turbo-test.log +21 -0
- package/db/CHANGELOG.md +26 -0
- package/db/README.md +99 -0
- package/db/dist/constants.d.ts +1 -0
- package/db/dist/constants.js +1 -0
- package/db/dist/d1/index.d.ts +3 -0
- package/db/dist/d1/index.js +2 -0
- package/db/dist/d1/plugin.d.ts +18 -0
- package/db/dist/d1/plugin.js +104 -0
- package/db/dist/db-service.d.ts +7 -0
- package/db/dist/db-service.js +21 -0
- package/db/dist/index.d.ts +15 -0
- package/db/dist/index.js +20 -0
- package/db/dist/mysql/client.d.ts +36 -0
- package/db/dist/mysql/client.js +84 -0
- package/db/dist/mysql/driver.d.ts +18 -0
- package/db/dist/mysql/driver.js +107 -0
- package/db/dist/mysql/index.d.ts +11 -0
- package/db/dist/mysql/index.js +11 -0
- package/db/dist/mysql/plugin.d.ts +51 -0
- package/db/dist/mysql/plugin.js +94 -0
- package/db/dist/mysql/types.d.ts +38 -0
- package/db/dist/mysql/types.js +1 -0
- package/db/dist/postgres/index.d.ts +2 -0
- package/db/dist/postgres/index.js +3 -0
- package/db/dist/repository.d.ts +14 -0
- package/db/dist/repository.js +79 -0
- package/db/dist/resolve.d.ts +6 -0
- package/db/dist/resolve.js +81 -0
- package/db/dist/schema-builder/column-builder.d.ts +26 -0
- package/db/dist/schema-builder/column-builder.js +53 -0
- package/db/dist/schema-builder/compile-d1.d.ts +5 -0
- package/db/dist/schema-builder/compile-d1.js +67 -0
- package/db/dist/schema-builder/compile-mysql.d.ts +12 -0
- package/db/dist/schema-builder/compile-mysql.js +78 -0
- package/db/dist/schema-builder/index.d.ts +8 -0
- package/db/dist/schema-builder/index.js +22 -0
- package/db/dist/schema-builder/table-builder.d.ts +16 -0
- package/db/dist/schema-builder/table-builder.js +38 -0
- package/db/dist/schema-builder/types.d.ts +26 -0
- package/db/dist/schema-builder/types.js +1 -0
- package/db/dist/schema-builder/zod-bridge.d.ts +24 -0
- package/db/dist/schema-builder/zod-bridge.js +53 -0
- package/db/dist/sqlite/index.d.ts +4 -0
- package/db/dist/sqlite/index.js +2 -0
- package/db/dist/sqlite/plugin.d.ts +17 -0
- package/db/dist/sqlite/plugin.js +33 -0
- package/db/dist/types.d.ts +42 -0
- package/db/dist/types.js +1 -0
- package/db/node_modules/.bin/esbuild +22 -0
- package/db/node_modules/.bin/jiti +22 -0
- package/db/node_modules/.bin/sass +22 -0
- package/db/node_modules/.bin/tsx +22 -0
- package/db/node_modules/.bin/vite +22 -0
- package/db/node_modules/.bin/vitest +22 -0
- package/db/node_modules/.bin/yaml +22 -0
- package/db/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +1 -0
- package/db/package.json +59 -0
- package/db/src/constants.test.ts +8 -0
- package/db/src/constants.ts +1 -0
- package/db/src/d1/index.ts +13 -0
- package/db/src/d1/plugin.ts +135 -0
- package/db/src/db-service.ts +14 -0
- package/db/src/index.test.ts +63 -0
- package/db/src/index.ts +57 -0
- package/db/src/mysql/client.ts +112 -0
- package/db/src/mysql/driver.test.ts +190 -0
- package/db/src/mysql/driver.ts +116 -0
- package/db/src/mysql/index.ts +51 -0
- package/db/src/mysql/plugin.test.ts +228 -0
- package/db/src/mysql/plugin.ts +128 -0
- package/db/src/mysql/types.ts +32 -0
- package/db/src/postgres/index.ts +15 -0
- package/db/src/repository.test.ts +195 -0
- package/db/src/repository.ts +95 -0
- package/db/src/resolve.ts +105 -0
- package/db/src/schema-builder/column-builder.test.ts +55 -0
- package/db/src/schema-builder/column-builder.ts +87 -0
- package/db/src/schema-builder/compile-d1.test.ts +60 -0
- package/db/src/schema-builder/compile-d1.ts +70 -0
- package/db/src/schema-builder/compile-mysql.test.ts +64 -0
- package/db/src/schema-builder/compile-mysql.ts +102 -0
- package/db/src/schema-builder/index.test.ts +36 -0
- package/db/src/schema-builder/index.ts +41 -0
- package/db/src/schema-builder/table-builder.test.ts +55 -0
- package/db/src/schema-builder/table-builder.ts +50 -0
- package/db/src/schema-builder/types.test.ts +68 -0
- package/db/src/schema-builder/types.ts +30 -0
- package/db/src/schema-builder/zod-bridge.ts +89 -0
- package/db/src/sqlite/index.ts +14 -0
- package/db/src/sqlite/plugin.ts +46 -0
- package/db/src/types.ts +45 -0
- package/db/tsconfig.json +21 -0
- package/db/vitest.config.ts +13 -0
- package/mail/.turbo/turbo-build.log +1 -0
- package/mail/.turbo/turbo-test.log +12 -0
- package/mail/.turbo/turbo-typecheck.log +1 -0
- package/mail/CHANGELOG.md +25 -0
- package/mail/README.md +214 -0
- package/mail/dist/index.d.ts +4 -0
- package/mail/dist/index.js +2 -0
- package/mail/dist/plugin.d.ts +64 -0
- package/mail/dist/plugin.js +232 -0
- package/mail/dist/providers/brevo.provider.d.ts +15 -0
- package/mail/dist/providers/brevo.provider.js +75 -0
- package/mail/dist/providers/custom.provider.d.ts +9 -0
- package/mail/dist/providers/custom.provider.js +22 -0
- package/mail/dist/providers/resend.provider.d.ts +16 -0
- package/mail/dist/providers/resend.provider.js +77 -0
- package/mail/dist/providers/smtp.provider.d.ts +21 -0
- package/mail/dist/providers/smtp.provider.js +86 -0
- package/mail/dist/rate-limiter.d.ts +16 -0
- package/mail/dist/rate-limiter.js +49 -0
- package/mail/dist/types.d.ts +68 -0
- package/mail/dist/types.js +6 -0
- package/mail/node_modules/.bin/esbuild +22 -0
- package/mail/node_modules/.bin/jiti +22 -0
- package/mail/node_modules/.bin/sass +22 -0
- package/mail/node_modules/.bin/tsx +22 -0
- package/mail/node_modules/.bin/vite +22 -0
- package/mail/node_modules/.bin/vitest +22 -0
- package/mail/node_modules/.bin/yaml +22 -0
- package/mail/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +1 -0
- package/mail/package.json +52 -0
- package/mail/src/index.ts +4 -0
- package/mail/src/plugin.test.ts +219 -0
- package/mail/src/plugin.ts +313 -0
- package/mail/src/providers/brevo.provider.ts +78 -0
- package/mail/src/providers/custom.provider.ts +29 -0
- package/mail/src/providers/resend.provider.ts +74 -0
- package/mail/src/providers/smtp.provider.ts +85 -0
- package/mail/src/rate-limiter.test.ts +81 -0
- package/mail/src/rate-limiter.ts +54 -0
- package/mail/src/types.ts +81 -0
- package/mail/tsconfig.json +21 -0
- package/mail/vitest.config.ts +13 -0
- package/package.json +36 -0
- package/s3/.turbo/turbo-build.log +1 -0
- package/s3/.turbo/turbo-test.log +11 -0
- package/s3/CHANGELOG.md +20 -0
- package/s3/README.md +90 -0
- package/s3/dist/index.d.ts +6 -0
- package/s3/dist/index.js +4 -0
- package/s3/dist/s3-service.d.ts +7 -0
- package/s3/dist/s3-service.js +21 -0
- package/s3/dist/s3.driver.d.ts +6 -0
- package/s3/dist/s3.driver.js +221 -0
- package/s3/dist/s3.plugin.d.ts +24 -0
- package/s3/dist/s3.plugin.js +58 -0
- package/s3/dist/types.d.ts +30 -0
- package/s3/dist/types.js +1 -0
- package/s3/node_modules/.bin/esbuild +22 -0
- package/s3/node_modules/.bin/jiti +22 -0
- package/s3/node_modules/.bin/sass +22 -0
- package/s3/node_modules/.bin/tsx +22 -0
- package/s3/node_modules/.bin/vite +22 -0
- package/s3/node_modules/.bin/vitest +22 -0
- package/s3/node_modules/.bin/yaml +22 -0
- package/s3/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +1 -0
- package/s3/package.json +47 -0
- package/s3/src/index.test.ts +20 -0
- package/s3/src/index.ts +13 -0
- package/s3/src/s3-service.ts +14 -0
- package/s3/src/s3.driver.ts +259 -0
- package/s3/src/s3.plugin.ts +80 -0
- package/s3/src/types.ts +37 -0
- package/s3/tsconfig.json +21 -0
- package/s3/vitest.config.ts +13 -0
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { sqliteTable, text, integer, real } from 'drizzle-orm/sqlite-core';
|
|
2
|
+
export function compileD1(schema) {
|
|
3
|
+
const compiled = {};
|
|
4
|
+
const dbNameToKey = {};
|
|
5
|
+
for (const key of Object.keys(schema)) {
|
|
6
|
+
dbNameToKey[schema[key].name] = key;
|
|
7
|
+
}
|
|
8
|
+
for (const tableName of Object.keys(schema)) {
|
|
9
|
+
const tableDef = schema[tableName];
|
|
10
|
+
const builders = {};
|
|
11
|
+
for (const [colName, colDef] of Object.entries(tableDef.columns)) {
|
|
12
|
+
let col = toD1Column(colDef.name, colDef);
|
|
13
|
+
if (colDef.references) {
|
|
14
|
+
const refKey = dbNameToKey[colDef.references.table] ?? colDef.references.table;
|
|
15
|
+
col = col.references(() => compiled[refKey]?.[colDef.references.column], {
|
|
16
|
+
onDelete: colDef.references.onDelete,
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
builders[colName] = col;
|
|
20
|
+
}
|
|
21
|
+
compiled[tableName] = sqliteTable(tableDef.name, builders);
|
|
22
|
+
}
|
|
23
|
+
return compiled;
|
|
24
|
+
}
|
|
25
|
+
function toD1Column(name, def) {
|
|
26
|
+
let col;
|
|
27
|
+
switch (def.type) {
|
|
28
|
+
case 'varchar':
|
|
29
|
+
case 'char':
|
|
30
|
+
case 'text':
|
|
31
|
+
case 'enum':
|
|
32
|
+
col = text(name);
|
|
33
|
+
break;
|
|
34
|
+
case 'json':
|
|
35
|
+
col = text(name, { mode: 'json' });
|
|
36
|
+
break;
|
|
37
|
+
case 'bigint':
|
|
38
|
+
case 'integer':
|
|
39
|
+
col = integer(name);
|
|
40
|
+
break;
|
|
41
|
+
case 'boolean':
|
|
42
|
+
col = integer(name, { mode: 'boolean' });
|
|
43
|
+
break;
|
|
44
|
+
case 'timestamp':
|
|
45
|
+
case 'date':
|
|
46
|
+
col = integer(name, { mode: 'timestamp' });
|
|
47
|
+
break;
|
|
48
|
+
case 'decimal':
|
|
49
|
+
col = real(name);
|
|
50
|
+
break;
|
|
51
|
+
default:
|
|
52
|
+
col = text(name);
|
|
53
|
+
}
|
|
54
|
+
if (def.autoIncrement) {
|
|
55
|
+
col = col.primaryKey({ autoIncrement: true });
|
|
56
|
+
}
|
|
57
|
+
else if (def.primaryKey) {
|
|
58
|
+
col = col.primaryKey();
|
|
59
|
+
}
|
|
60
|
+
if (def.notNull)
|
|
61
|
+
col = col.notNull();
|
|
62
|
+
if (def.unique)
|
|
63
|
+
col = col.unique();
|
|
64
|
+
if (def.default !== undefined)
|
|
65
|
+
col = col.default(def.default);
|
|
66
|
+
return col;
|
|
67
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { MySqlTableWithColumns } from 'drizzle-orm/mysql-core';
|
|
2
|
+
import type { TableDefinition } from './types';
|
|
3
|
+
type AnyMySqlTable<N extends string = string> = MySqlTableWithColumns<{
|
|
4
|
+
name: N;
|
|
5
|
+
columns: Record<string, any>;
|
|
6
|
+
dialect: string;
|
|
7
|
+
schema: string | undefined;
|
|
8
|
+
}>;
|
|
9
|
+
export declare function compileMysql<T extends Record<string, TableDefinition>>(schema: T): {
|
|
10
|
+
[K in keyof T]: T[K] extends TableDefinition<infer N> ? AnyMySqlTable<N & string> : never;
|
|
11
|
+
};
|
|
12
|
+
export {};
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { mysqlTable, varchar, char, text, int, bigint, boolean, datetime, date, mysqlEnum, json, decimal, } from 'drizzle-orm/mysql-core';
|
|
2
|
+
export function compileMysql(schema) {
|
|
3
|
+
const compiled = {};
|
|
4
|
+
const dbNameToKey = {};
|
|
5
|
+
for (const key of Object.keys(schema)) {
|
|
6
|
+
dbNameToKey[schema[key].name] = key;
|
|
7
|
+
}
|
|
8
|
+
for (const tableName of Object.keys(schema)) {
|
|
9
|
+
const tableDef = schema[tableName];
|
|
10
|
+
const builders = {};
|
|
11
|
+
for (const [colName, colDef] of Object.entries(tableDef.columns)) {
|
|
12
|
+
let col = toMysqlColumn(colDef.name, colDef);
|
|
13
|
+
if (colDef.references) {
|
|
14
|
+
const refKey = dbNameToKey[colDef.references.table] ?? colDef.references.table;
|
|
15
|
+
col = col.references(() => compiled[refKey]?.[colDef.references.column], {
|
|
16
|
+
onDelete: colDef.references.onDelete,
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
builders[colName] = col;
|
|
20
|
+
}
|
|
21
|
+
compiled[tableName] = mysqlTable(tableDef.name, builders);
|
|
22
|
+
}
|
|
23
|
+
return compiled;
|
|
24
|
+
}
|
|
25
|
+
function toMysqlColumn(name, def) {
|
|
26
|
+
let col;
|
|
27
|
+
switch (def.type) {
|
|
28
|
+
case 'varchar':
|
|
29
|
+
col = varchar(name, { length: def.length ?? 255 });
|
|
30
|
+
break;
|
|
31
|
+
case 'char':
|
|
32
|
+
col = char(name, { length: def.length ?? 1 });
|
|
33
|
+
break;
|
|
34
|
+
case 'text':
|
|
35
|
+
col = text(name);
|
|
36
|
+
break;
|
|
37
|
+
case 'bigint':
|
|
38
|
+
col = bigint(name, { mode: 'number', unsigned: true });
|
|
39
|
+
break;
|
|
40
|
+
case 'integer':
|
|
41
|
+
col = int(name);
|
|
42
|
+
break;
|
|
43
|
+
case 'boolean':
|
|
44
|
+
col = boolean(name);
|
|
45
|
+
break;
|
|
46
|
+
case 'timestamp':
|
|
47
|
+
col = datetime(name);
|
|
48
|
+
break;
|
|
49
|
+
case 'date':
|
|
50
|
+
col = date(name);
|
|
51
|
+
break;
|
|
52
|
+
case 'enum':
|
|
53
|
+
col =
|
|
54
|
+
def.values && def.values.length > 0
|
|
55
|
+
? mysqlEnum(name, def.values)
|
|
56
|
+
: text(name);
|
|
57
|
+
break;
|
|
58
|
+
case 'json':
|
|
59
|
+
col = json(name);
|
|
60
|
+
break;
|
|
61
|
+
case 'decimal':
|
|
62
|
+
col = decimal(name, { precision: def.precision, scale: def.scale });
|
|
63
|
+
break;
|
|
64
|
+
default:
|
|
65
|
+
col = text(name);
|
|
66
|
+
}
|
|
67
|
+
if (def.primaryKey)
|
|
68
|
+
col = col.primaryKey();
|
|
69
|
+
if (def.autoIncrement)
|
|
70
|
+
col = col.autoincrement();
|
|
71
|
+
if (def.notNull)
|
|
72
|
+
col = col.notNull();
|
|
73
|
+
if (def.unique)
|
|
74
|
+
col = col.unique();
|
|
75
|
+
if (def.default !== undefined)
|
|
76
|
+
col = col.default(def.default);
|
|
77
|
+
return col;
|
|
78
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export { t, table } from './table-builder';
|
|
2
|
+
export type { Dialect, ColumnDefinition, TableDefinition, SchemaDefinition, ReferenceDef, } from './types';
|
|
3
|
+
export { compileMysql } from './compile-mysql';
|
|
4
|
+
export { compileD1 } from './compile-d1';
|
|
5
|
+
export { zdb, getZodDbMeta, isZodObject, toTableDefinition, toColumnDefinition, } from './zod-bridge';
|
|
6
|
+
export type { ZodDbMeta } from './zod-bridge';
|
|
7
|
+
import type { Dialect } from './types';
|
|
8
|
+
export declare function compileSchema<T extends Record<string, any>>(dialect: Dialect, schema: T): Record<string, any>;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
export { t, table } from './table-builder';
|
|
2
|
+
export { compileMysql } from './compile-mysql';
|
|
3
|
+
export { compileD1 } from './compile-d1';
|
|
4
|
+
export { zdb, getZodDbMeta, isZodObject, toTableDefinition, toColumnDefinition, } from './zod-bridge';
|
|
5
|
+
import { isZodObject, toTableDefinition } from './zod-bridge';
|
|
6
|
+
import { compileMysql } from './compile-mysql';
|
|
7
|
+
import { compileD1 } from './compile-d1';
|
|
8
|
+
export function compileSchema(dialect, schema) {
|
|
9
|
+
const definitions = {};
|
|
10
|
+
for (const [name, def] of Object.entries(schema)) {
|
|
11
|
+
definitions[name] = isZodObject(def) ? toTableDefinition(name, def) : def;
|
|
12
|
+
}
|
|
13
|
+
switch (dialect) {
|
|
14
|
+
case 'mysql':
|
|
15
|
+
return compileMysql(definitions);
|
|
16
|
+
case 'd1':
|
|
17
|
+
case 'sqlite':
|
|
18
|
+
return compileD1(definitions);
|
|
19
|
+
default:
|
|
20
|
+
throw new Error(`Unknown dialect: ${dialect}`);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { ColumnBuilder } from './column-builder';
|
|
2
|
+
import type { TableDefinition } from './types';
|
|
3
|
+
export declare const t: {
|
|
4
|
+
varchar: (length: number) => ColumnBuilder;
|
|
5
|
+
char: (length: number) => ColumnBuilder;
|
|
6
|
+
text: () => ColumnBuilder;
|
|
7
|
+
bigint: () => ColumnBuilder;
|
|
8
|
+
integer: () => ColumnBuilder;
|
|
9
|
+
boolean: () => ColumnBuilder;
|
|
10
|
+
timestamp: () => ColumnBuilder;
|
|
11
|
+
date: () => ColumnBuilder;
|
|
12
|
+
enum: (values: string[]) => ColumnBuilder;
|
|
13
|
+
json: () => ColumnBuilder;
|
|
14
|
+
decimal: (p: number, s: number) => ColumnBuilder;
|
|
15
|
+
};
|
|
16
|
+
export declare function table<N extends string>(name: N, columns: Record<string, ColumnBuilder>): TableDefinition<N>;
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { ColumnBuilder } from './column-builder';
|
|
2
|
+
function c(type, opts) {
|
|
3
|
+
return new ColumnBuilder(type, opts);
|
|
4
|
+
}
|
|
5
|
+
export const t = {
|
|
6
|
+
varchar: (length) => c('varchar', { length }),
|
|
7
|
+
char: (length) => c('char', { length }),
|
|
8
|
+
text: () => c('text'),
|
|
9
|
+
bigint: () => c('bigint'),
|
|
10
|
+
integer: () => c('integer'),
|
|
11
|
+
boolean: () => c('boolean'),
|
|
12
|
+
timestamp: () => c('timestamp'),
|
|
13
|
+
date: () => c('date'),
|
|
14
|
+
enum: (values) => c('enum', { values }),
|
|
15
|
+
json: () => c('json'),
|
|
16
|
+
decimal: (p, s) => c('decimal', { precision: p, scale: s }),
|
|
17
|
+
};
|
|
18
|
+
export function table(name, columns) {
|
|
19
|
+
const defs = {};
|
|
20
|
+
for (const [colName, builder] of Object.entries(columns)) {
|
|
21
|
+
builder.__tableName = name;
|
|
22
|
+
builder.__columnName = colName;
|
|
23
|
+
defs[colName] = builder.build(colName);
|
|
24
|
+
}
|
|
25
|
+
const tbl = { name, columns: defs };
|
|
26
|
+
return proxyTable(tbl, columns);
|
|
27
|
+
}
|
|
28
|
+
function proxyTable(tbl, columns) {
|
|
29
|
+
return new Proxy(tbl, {
|
|
30
|
+
get(target, prop) {
|
|
31
|
+
if (prop in target)
|
|
32
|
+
return target[prop];
|
|
33
|
+
if (typeof prop === 'string' && prop in columns)
|
|
34
|
+
return columns[prop];
|
|
35
|
+
return undefined;
|
|
36
|
+
},
|
|
37
|
+
});
|
|
38
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
export type Dialect = 'mysql' | 'd1' | 'sqlite';
|
|
2
|
+
export interface ReferenceDef {
|
|
3
|
+
table: string;
|
|
4
|
+
column: string;
|
|
5
|
+
onDelete?: 'cascade' | 'set null' | 'restrict' | 'no action';
|
|
6
|
+
}
|
|
7
|
+
export interface ColumnDefinition {
|
|
8
|
+
type: string;
|
|
9
|
+
/** DB column name (distinct from the Record key which is the JS property name) */
|
|
10
|
+
name: string;
|
|
11
|
+
primaryKey?: boolean;
|
|
12
|
+
autoIncrement?: boolean;
|
|
13
|
+
notNull?: boolean;
|
|
14
|
+
unique?: boolean;
|
|
15
|
+
default?: unknown;
|
|
16
|
+
length?: number;
|
|
17
|
+
values?: string[];
|
|
18
|
+
precision?: number;
|
|
19
|
+
scale?: number;
|
|
20
|
+
references?: ReferenceDef;
|
|
21
|
+
}
|
|
22
|
+
export interface TableDefinition<N extends string = string> {
|
|
23
|
+
name: N;
|
|
24
|
+
columns: Record<string, ColumnDefinition>;
|
|
25
|
+
}
|
|
26
|
+
export type SchemaDefinition = Record<string, TableDefinition>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import type { ColumnDefinition, ReferenceDef } from './types';
|
|
3
|
+
export interface ZodDbMeta {
|
|
4
|
+
type: 'varchar' | 'char' | 'text' | 'bigint' | 'integer' | 'boolean' | 'timestamp' | 'date' | 'enum' | 'json' | 'decimal';
|
|
5
|
+
dbName?: string;
|
|
6
|
+
primaryKey?: boolean;
|
|
7
|
+
autoIncrement?: boolean;
|
|
8
|
+
notNull?: boolean;
|
|
9
|
+
unique?: boolean;
|
|
10
|
+
default?: unknown;
|
|
11
|
+
length?: number;
|
|
12
|
+
values?: string[];
|
|
13
|
+
precision?: number;
|
|
14
|
+
scale?: number;
|
|
15
|
+
references?: ReferenceDef;
|
|
16
|
+
}
|
|
17
|
+
export declare function zdb<T extends z.ZodType>(zod: T, meta: ZodDbMeta): T;
|
|
18
|
+
export declare function getZodDbMeta(zod: z.ZodType): ZodDbMeta | undefined;
|
|
19
|
+
export declare function isZodObject(schema: unknown): schema is z.ZodObject<any>;
|
|
20
|
+
export declare function toColumnDefinition(jsName: string, zod: z.ZodType): ColumnDefinition;
|
|
21
|
+
export declare function toTableDefinition(name: string, schema: z.ZodObject<any>): {
|
|
22
|
+
name: string;
|
|
23
|
+
columns: Record<string, ColumnDefinition>;
|
|
24
|
+
};
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
const DB_COL = Symbol('zod:db-col');
|
|
3
|
+
export function zdb(zod, meta) {
|
|
4
|
+
Object.defineProperty(zod, DB_COL, {
|
|
5
|
+
value: meta,
|
|
6
|
+
writable: true,
|
|
7
|
+
configurable: true,
|
|
8
|
+
});
|
|
9
|
+
return zod;
|
|
10
|
+
}
|
|
11
|
+
export function getZodDbMeta(zod) {
|
|
12
|
+
return zod[DB_COL];
|
|
13
|
+
}
|
|
14
|
+
export function isZodObject(schema) {
|
|
15
|
+
return typeof schema === 'object' && schema !== null && 'shape' in schema;
|
|
16
|
+
}
|
|
17
|
+
export function toColumnDefinition(jsName, zod) {
|
|
18
|
+
const meta = getZodDbMeta(zod);
|
|
19
|
+
if (!meta) {
|
|
20
|
+
const inner = zod._def?.innerType;
|
|
21
|
+
if (zod instanceof z.ZodDefault && inner) {
|
|
22
|
+
return toColumnDefinition(jsName, inner);
|
|
23
|
+
}
|
|
24
|
+
if (zod instanceof z.ZodNullable && inner) {
|
|
25
|
+
return toColumnDefinition(jsName, inner);
|
|
26
|
+
}
|
|
27
|
+
if (zod instanceof z.ZodOptional && inner) {
|
|
28
|
+
return toColumnDefinition(jsName, inner);
|
|
29
|
+
}
|
|
30
|
+
throw new Error(`Column "${jsName}" has no db metadata. Use zdb() to attach metadata.`);
|
|
31
|
+
}
|
|
32
|
+
return {
|
|
33
|
+
name: meta.dbName ?? jsName,
|
|
34
|
+
type: meta.type,
|
|
35
|
+
primaryKey: meta.primaryKey,
|
|
36
|
+
autoIncrement: meta.autoIncrement,
|
|
37
|
+
notNull: meta.notNull,
|
|
38
|
+
unique: meta.unique,
|
|
39
|
+
default: meta.default,
|
|
40
|
+
length: meta.length,
|
|
41
|
+
values: meta.values,
|
|
42
|
+
precision: meta.precision,
|
|
43
|
+
scale: meta.scale,
|
|
44
|
+
references: meta.references,
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
export function toTableDefinition(name, schema) {
|
|
48
|
+
const columns = {};
|
|
49
|
+
for (const [key, zod] of Object.entries(schema.shape)) {
|
|
50
|
+
columns[key] = toColumnDefinition(key, zod);
|
|
51
|
+
}
|
|
52
|
+
return { name, columns };
|
|
53
|
+
}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export { sqliteTable, text, integer, real, blob, uniqueIndex, index, primaryKey, foreignKey, } from 'drizzle-orm/sqlite-core';
|
|
2
|
+
export type { BaseSQLiteDatabase } from 'drizzle-orm/sqlite-core';
|
|
3
|
+
export { SqlitePlugin } from './plugin';
|
|
4
|
+
export type { SqlitePluginOptions } from './plugin';
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { Hono } from 'hono';
|
|
2
|
+
import type { IPlugin, Application } from '@rx-ted/packages-honest';
|
|
3
|
+
import { type ILogger } from '@rx-ted/packages-core';
|
|
4
|
+
export interface SqlitePluginOptions {
|
|
5
|
+
dbPath: string;
|
|
6
|
+
schema: Record<string, any>;
|
|
7
|
+
}
|
|
8
|
+
export declare class SqlitePlugin implements IPlugin {
|
|
9
|
+
private options;
|
|
10
|
+
readonly name = "sqlite-plugin";
|
|
11
|
+
readonly version = "0.0.1";
|
|
12
|
+
logger?: ILogger;
|
|
13
|
+
private db;
|
|
14
|
+
constructor(options: SqlitePluginOptions);
|
|
15
|
+
beforeModulesRegistered(_app: Application, _hono: Hono): Promise<void>;
|
|
16
|
+
close(): Promise<void>;
|
|
17
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { ComponentManager, resolvePluginLogger } from '@rx-ted/packages-honest';
|
|
2
|
+
import { ENV_SYMBOL } from '@rx-ted/packages-core';
|
|
3
|
+
import { createClient } from '@libsql/client';
|
|
4
|
+
import { drizzle } from 'drizzle-orm/libsql';
|
|
5
|
+
import { DB_GLOBAL_KEY } from '../constants';
|
|
6
|
+
import { assertRuntimeSupport } from '../resolve';
|
|
7
|
+
export class SqlitePlugin {
|
|
8
|
+
options;
|
|
9
|
+
name = 'sqlite-plugin';
|
|
10
|
+
version = '0.0.1';
|
|
11
|
+
logger;
|
|
12
|
+
db = null;
|
|
13
|
+
constructor(options) {
|
|
14
|
+
this.options = options;
|
|
15
|
+
}
|
|
16
|
+
async beforeModulesRegistered(_app, _hono) {
|
|
17
|
+
this.logger ??= resolvePluginLogger(this.name);
|
|
18
|
+
const env = ComponentManager.getPlugin(ENV_SYMBOL);
|
|
19
|
+
assertRuntimeSupport(env.platform, 'sqlite');
|
|
20
|
+
this.logger.info(`connecting to SQLite: ${this.options.dbPath}`);
|
|
21
|
+
const client = createClient({ url: `file:${this.options.dbPath}` });
|
|
22
|
+
const raw = drizzle(client, { schema: this.options.schema });
|
|
23
|
+
this.db = raw;
|
|
24
|
+
ComponentManager.registerPlugin(DB_GLOBAL_KEY, this.db);
|
|
25
|
+
this.logger.info(`SQLite connected: ${this.options.dbPath}`);
|
|
26
|
+
}
|
|
27
|
+
async close() {
|
|
28
|
+
if (this.db?.$client) {
|
|
29
|
+
this.db.$client.close();
|
|
30
|
+
this.logger?.info('SQLite connection closed');
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
export interface PreparedStatement {
|
|
2
|
+
execute(params?: unknown[]): Promise<QueryResult>;
|
|
3
|
+
release(): void;
|
|
4
|
+
}
|
|
5
|
+
export interface DatabaseConnection {
|
|
6
|
+
prepare(sql: string): PreparedStatement;
|
|
7
|
+
query<T>(sql: string, params?: unknown[]): Promise<T[]>;
|
|
8
|
+
execute(sql: string, params?: unknown[]): Promise<QueryResult>;
|
|
9
|
+
release(): void;
|
|
10
|
+
}
|
|
11
|
+
export interface DatabaseClient {
|
|
12
|
+
prepare(sql: string): PreparedStatement;
|
|
13
|
+
getConnection(): Promise<DatabaseConnection>;
|
|
14
|
+
close(): Promise<void>;
|
|
15
|
+
}
|
|
16
|
+
export interface QueryResult {
|
|
17
|
+
affectedRows: number;
|
|
18
|
+
insertId?: number;
|
|
19
|
+
}
|
|
20
|
+
export interface DatabaseDriver {
|
|
21
|
+
query<T = unknown>(sql: string, params?: unknown[]): Promise<T[]>;
|
|
22
|
+
execute(sql: string, params?: unknown[]): Promise<QueryResult>;
|
|
23
|
+
transaction<T>(fn: (driver: DatabaseDriver) => Promise<T>): Promise<T>;
|
|
24
|
+
close(): Promise<void>;
|
|
25
|
+
healthCheck(): Promise<boolean>;
|
|
26
|
+
}
|
|
27
|
+
export interface QueryOptions {
|
|
28
|
+
where?: Record<string, any>;
|
|
29
|
+
orderBy?: Record<string, 'asc' | 'desc'>;
|
|
30
|
+
pagination?: {
|
|
31
|
+
page: number;
|
|
32
|
+
pageSize: number;
|
|
33
|
+
};
|
|
34
|
+
include?: string[];
|
|
35
|
+
}
|
|
36
|
+
export interface PaginationResult<T> {
|
|
37
|
+
data: T[];
|
|
38
|
+
total: number;
|
|
39
|
+
page: number;
|
|
40
|
+
pageSize: number;
|
|
41
|
+
totalPages: number;
|
|
42
|
+
}
|
package/db/dist/types.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
#!/bin/sh
|
|
2
|
+
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
|
|
3
|
+
|
|
4
|
+
case `uname` in
|
|
5
|
+
*CYGWIN*|*MINGW*|*MSYS*)
|
|
6
|
+
if command -v cygpath > /dev/null 2>&1; then
|
|
7
|
+
basedir=`cygpath -w "$basedir"`
|
|
8
|
+
fi
|
|
9
|
+
;;
|
|
10
|
+
esac
|
|
11
|
+
|
|
12
|
+
if [ -z "$NODE_PATH" ]; then
|
|
13
|
+
export NODE_PATH="/Users/ben/projects/app/node_modules/.pnpm/esbuild@0.28.1/node_modules/esbuild/node_modules:/Users/ben/projects/app/node_modules/.pnpm/esbuild@0.28.1/node_modules:/Users/ben/projects/app/node_modules/.pnpm/node_modules"
|
|
14
|
+
else
|
|
15
|
+
export NODE_PATH="/Users/ben/projects/app/node_modules/.pnpm/esbuild@0.28.1/node_modules/esbuild/node_modules:/Users/ben/projects/app/node_modules/.pnpm/esbuild@0.28.1/node_modules:/Users/ben/projects/app/node_modules/.pnpm/node_modules:$NODE_PATH"
|
|
16
|
+
fi
|
|
17
|
+
if [ -x "$basedir/node" ]; then
|
|
18
|
+
exec "$basedir/node" "$basedir/../../../../../node_modules/.pnpm/esbuild@0.28.1/node_modules/esbuild/bin/esbuild" "$@"
|
|
19
|
+
else
|
|
20
|
+
exec node "$basedir/../../../../../node_modules/.pnpm/esbuild@0.28.1/node_modules/esbuild/bin/esbuild" "$@"
|
|
21
|
+
fi
|
|
22
|
+
# cmd-shim-target=/Users/ben/projects/app/node_modules/.pnpm/esbuild@0.28.1/node_modules/esbuild/bin/esbuild
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
#!/bin/sh
|
|
2
|
+
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
|
|
3
|
+
|
|
4
|
+
case `uname` in
|
|
5
|
+
*CYGWIN*|*MINGW*|*MSYS*)
|
|
6
|
+
if command -v cygpath > /dev/null 2>&1; then
|
|
7
|
+
basedir=`cygpath -w "$basedir"`
|
|
8
|
+
fi
|
|
9
|
+
;;
|
|
10
|
+
esac
|
|
11
|
+
|
|
12
|
+
if [ -z "$NODE_PATH" ]; then
|
|
13
|
+
export NODE_PATH="/Users/ben/projects/app/node_modules/.pnpm/jiti@2.6.1/node_modules/jiti/node_modules:/Users/ben/projects/app/node_modules/.pnpm/jiti@2.6.1/node_modules:/Users/ben/projects/app/node_modules/.pnpm/node_modules"
|
|
14
|
+
else
|
|
15
|
+
export NODE_PATH="/Users/ben/projects/app/node_modules/.pnpm/jiti@2.6.1/node_modules/jiti/node_modules:/Users/ben/projects/app/node_modules/.pnpm/jiti@2.6.1/node_modules:/Users/ben/projects/app/node_modules/.pnpm/node_modules:$NODE_PATH"
|
|
16
|
+
fi
|
|
17
|
+
if [ -x "$basedir/node" ]; then
|
|
18
|
+
exec "$basedir/node" "$basedir/../../../../../node_modules/.pnpm/jiti@2.6.1/node_modules/jiti/lib/jiti-cli.mjs" "$@"
|
|
19
|
+
else
|
|
20
|
+
exec node "$basedir/../../../../../node_modules/.pnpm/jiti@2.6.1/node_modules/jiti/lib/jiti-cli.mjs" "$@"
|
|
21
|
+
fi
|
|
22
|
+
# cmd-shim-target=/Users/ben/projects/app/node_modules/.pnpm/jiti@2.6.1/node_modules/jiti/lib/jiti-cli.mjs
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
#!/bin/sh
|
|
2
|
+
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
|
|
3
|
+
|
|
4
|
+
case `uname` in
|
|
5
|
+
*CYGWIN*|*MINGW*|*MSYS*)
|
|
6
|
+
if command -v cygpath > /dev/null 2>&1; then
|
|
7
|
+
basedir=`cygpath -w "$basedir"`
|
|
8
|
+
fi
|
|
9
|
+
;;
|
|
10
|
+
esac
|
|
11
|
+
|
|
12
|
+
if [ -z "$NODE_PATH" ]; then
|
|
13
|
+
export NODE_PATH="/Users/ben/projects/app/node_modules/.pnpm/sass@1.100.0/node_modules/sass/node_modules:/Users/ben/projects/app/node_modules/.pnpm/sass@1.100.0/node_modules:/Users/ben/projects/app/node_modules/.pnpm/node_modules"
|
|
14
|
+
else
|
|
15
|
+
export NODE_PATH="/Users/ben/projects/app/node_modules/.pnpm/sass@1.100.0/node_modules/sass/node_modules:/Users/ben/projects/app/node_modules/.pnpm/sass@1.100.0/node_modules:/Users/ben/projects/app/node_modules/.pnpm/node_modules:$NODE_PATH"
|
|
16
|
+
fi
|
|
17
|
+
if [ -x "$basedir/node" ]; then
|
|
18
|
+
exec "$basedir/node" "$basedir/../../../../../node_modules/.pnpm/sass@1.100.0/node_modules/sass/sass.js" "$@"
|
|
19
|
+
else
|
|
20
|
+
exec node "$basedir/../../../../../node_modules/.pnpm/sass@1.100.0/node_modules/sass/sass.js" "$@"
|
|
21
|
+
fi
|
|
22
|
+
# cmd-shim-target=/Users/ben/projects/app/node_modules/.pnpm/sass@1.100.0/node_modules/sass/sass.js
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
#!/bin/sh
|
|
2
|
+
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
|
|
3
|
+
|
|
4
|
+
case `uname` in
|
|
5
|
+
*CYGWIN*|*MINGW*|*MSYS*)
|
|
6
|
+
if command -v cygpath > /dev/null 2>&1; then
|
|
7
|
+
basedir=`cygpath -w "$basedir"`
|
|
8
|
+
fi
|
|
9
|
+
;;
|
|
10
|
+
esac
|
|
11
|
+
|
|
12
|
+
if [ -z "$NODE_PATH" ]; then
|
|
13
|
+
export NODE_PATH="/Users/ben/projects/app/node_modules/.pnpm/tsx@4.23.0/node_modules/tsx/node_modules:/Users/ben/projects/app/node_modules/.pnpm/tsx@4.23.0/node_modules:/Users/ben/projects/app/node_modules/.pnpm/node_modules"
|
|
14
|
+
else
|
|
15
|
+
export NODE_PATH="/Users/ben/projects/app/node_modules/.pnpm/tsx@4.23.0/node_modules/tsx/node_modules:/Users/ben/projects/app/node_modules/.pnpm/tsx@4.23.0/node_modules:/Users/ben/projects/app/node_modules/.pnpm/node_modules:$NODE_PATH"
|
|
16
|
+
fi
|
|
17
|
+
if [ -x "$basedir/node" ]; then
|
|
18
|
+
exec "$basedir/node" "$basedir/../../../../../node_modules/.pnpm/tsx@4.23.0/node_modules/tsx/dist/cli.mjs" "$@"
|
|
19
|
+
else
|
|
20
|
+
exec node "$basedir/../../../../../node_modules/.pnpm/tsx@4.23.0/node_modules/tsx/dist/cli.mjs" "$@"
|
|
21
|
+
fi
|
|
22
|
+
# cmd-shim-target=/Users/ben/projects/app/node_modules/.pnpm/tsx@4.23.0/node_modules/tsx/dist/cli.mjs
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
#!/bin/sh
|
|
2
|
+
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
|
|
3
|
+
|
|
4
|
+
case `uname` in
|
|
5
|
+
*CYGWIN*|*MINGW*|*MSYS*)
|
|
6
|
+
if command -v cygpath > /dev/null 2>&1; then
|
|
7
|
+
basedir=`cygpath -w "$basedir"`
|
|
8
|
+
fi
|
|
9
|
+
;;
|
|
10
|
+
esac
|
|
11
|
+
|
|
12
|
+
if [ -z "$NODE_PATH" ]; then
|
|
13
|
+
export NODE_PATH="/Users/ben/projects/app/node_modules/.pnpm/vite@8.0.16_@types+node@22.20.0_esbuild@0.28.1_jiti@2.6.1_sass@1.100.0_tsx@4.23.0_yaml@2.9.0/node_modules/vite/node_modules:/Users/ben/projects/app/node_modules/.pnpm/vite@8.0.16_@types+node@22.20.0_esbuild@0.28.1_jiti@2.6.1_sass@1.100.0_tsx@4.23.0_yaml@2.9.0/node_modules:/Users/ben/projects/app/node_modules/.pnpm/node_modules"
|
|
14
|
+
else
|
|
15
|
+
export NODE_PATH="/Users/ben/projects/app/node_modules/.pnpm/vite@8.0.16_@types+node@22.20.0_esbuild@0.28.1_jiti@2.6.1_sass@1.100.0_tsx@4.23.0_yaml@2.9.0/node_modules/vite/node_modules:/Users/ben/projects/app/node_modules/.pnpm/vite@8.0.16_@types+node@22.20.0_esbuild@0.28.1_jiti@2.6.1_sass@1.100.0_tsx@4.23.0_yaml@2.9.0/node_modules:/Users/ben/projects/app/node_modules/.pnpm/node_modules:$NODE_PATH"
|
|
16
|
+
fi
|
|
17
|
+
if [ -x "$basedir/node" ]; then
|
|
18
|
+
exec "$basedir/node" "$basedir/../../../../../node_modules/.pnpm/vite@8.0.16_@types+node@22.20.0_esbuild@0.28.1_jiti@2.6.1_sass@1.100.0_tsx@4.23.0_yaml@2.9.0/node_modules/vite/bin/vite.js" "$@"
|
|
19
|
+
else
|
|
20
|
+
exec node "$basedir/../../../../../node_modules/.pnpm/vite@8.0.16_@types+node@22.20.0_esbuild@0.28.1_jiti@2.6.1_sass@1.100.0_tsx@4.23.0_yaml@2.9.0/node_modules/vite/bin/vite.js" "$@"
|
|
21
|
+
fi
|
|
22
|
+
# cmd-shim-target=/Users/ben/projects/app/node_modules/.pnpm/vite@8.0.16_@types+node@22.20.0_esbuild@0.28.1_jiti@2.6.1_sass@1.100.0_tsx@4.23.0_yaml@2.9.0/node_modules/vite/bin/vite.js
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
#!/bin/sh
|
|
2
|
+
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
|
|
3
|
+
|
|
4
|
+
case `uname` in
|
|
5
|
+
*CYGWIN*|*MINGW*|*MSYS*)
|
|
6
|
+
if command -v cygpath > /dev/null 2>&1; then
|
|
7
|
+
basedir=`cygpath -w "$basedir"`
|
|
8
|
+
fi
|
|
9
|
+
;;
|
|
10
|
+
esac
|
|
11
|
+
|
|
12
|
+
if [ -z "$NODE_PATH" ]; then
|
|
13
|
+
export NODE_PATH="/Users/ben/projects/app/node_modules/.pnpm/vitest@4.1.8_@types+node@22.20.0_jsdom@29.1.1_@noble+hashes@1.8.0__vite@8.0.16_@types+n_00428d692ba30ea818d9bef8a0ebfc48/node_modules/vitest/node_modules:/Users/ben/projects/app/node_modules/.pnpm/vitest@4.1.8_@types+node@22.20.0_jsdom@29.1.1_@noble+hashes@1.8.0__vite@8.0.16_@types+n_00428d692ba30ea818d9bef8a0ebfc48/node_modules:/Users/ben/projects/app/node_modules/.pnpm/node_modules"
|
|
14
|
+
else
|
|
15
|
+
export NODE_PATH="/Users/ben/projects/app/node_modules/.pnpm/vitest@4.1.8_@types+node@22.20.0_jsdom@29.1.1_@noble+hashes@1.8.0__vite@8.0.16_@types+n_00428d692ba30ea818d9bef8a0ebfc48/node_modules/vitest/node_modules:/Users/ben/projects/app/node_modules/.pnpm/vitest@4.1.8_@types+node@22.20.0_jsdom@29.1.1_@noble+hashes@1.8.0__vite@8.0.16_@types+n_00428d692ba30ea818d9bef8a0ebfc48/node_modules:/Users/ben/projects/app/node_modules/.pnpm/node_modules:$NODE_PATH"
|
|
16
|
+
fi
|
|
17
|
+
if [ -x "$basedir/node" ]; then
|
|
18
|
+
exec "$basedir/node" "$basedir/../vitest/vitest.mjs" "$@"
|
|
19
|
+
else
|
|
20
|
+
exec node "$basedir/../vitest/vitest.mjs" "$@"
|
|
21
|
+
fi
|
|
22
|
+
# cmd-shim-target=/Users/ben/projects/app/packages/honest-plugins/db/node_modules/vitest/vitest.mjs
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
#!/bin/sh
|
|
2
|
+
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
|
|
3
|
+
|
|
4
|
+
case `uname` in
|
|
5
|
+
*CYGWIN*|*MINGW*|*MSYS*)
|
|
6
|
+
if command -v cygpath > /dev/null 2>&1; then
|
|
7
|
+
basedir=`cygpath -w "$basedir"`
|
|
8
|
+
fi
|
|
9
|
+
;;
|
|
10
|
+
esac
|
|
11
|
+
|
|
12
|
+
if [ -z "$NODE_PATH" ]; then
|
|
13
|
+
export NODE_PATH="/Users/ben/projects/app/node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/node_modules:/Users/ben/projects/app/node_modules/.pnpm/yaml@2.9.0/node_modules:/Users/ben/projects/app/node_modules/.pnpm/node_modules"
|
|
14
|
+
else
|
|
15
|
+
export NODE_PATH="/Users/ben/projects/app/node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/node_modules:/Users/ben/projects/app/node_modules/.pnpm/yaml@2.9.0/node_modules:/Users/ben/projects/app/node_modules/.pnpm/node_modules:$NODE_PATH"
|
|
16
|
+
fi
|
|
17
|
+
if [ -x "$basedir/node" ]; then
|
|
18
|
+
exec "$basedir/node" "$basedir/../../../../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/bin.mjs" "$@"
|
|
19
|
+
else
|
|
20
|
+
exec node "$basedir/../../../../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/bin.mjs" "$@"
|
|
21
|
+
fi
|
|
22
|
+
# cmd-shim-target=/Users/ben/projects/app/node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/bin.mjs
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":"4.1.8","results":[[":src/schema-builder/column-builder.test.ts",{"duration":2.6967920000000163,"failed":false}],[":src/schema-builder/table-builder.test.ts",{"duration":2.1784580000000062,"failed":false}],[":src/mysql/driver.test.ts",{"duration":6.58612500000001,"failed":false}],[":src/repository.test.ts",{"duration":4.9656250000000455,"failed":false}],[":src/mysql/plugin.test.ts",{"duration":10.834833000000003,"failed":false}],[":src/schema-builder/compile-d1.test.ts",{"duration":2.1357080000000224,"failed":false}],[":src/index.test.ts",{"duration":1.7949170000001686,"failed":false}],[":src/schema-builder/compile-mysql.test.ts",{"duration":2.222582999999986,"failed":false}],[":src/schema-builder/types.test.ts",{"duration":2.004084000000006,"failed":false}],[":src/constants.test.ts",{"duration":2.9622499999999974,"failed":false}],[":src/schema-builder/index.test.ts",{"duration":3.2766249999999673,"failed":false}]]}
|