@c9up/atlas 0.1.3 → 0.1.5
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/db.darwin-arm64.node +0 -0
- package/db.darwin-x64.node +0 -0
- package/db.linux-arm64-gnu.node +0 -0
- package/db.linux-x64-gnu.node +0 -0
- package/db.win32-x64-msvc.node +0 -0
- package/dist/AtlasProvider.d.ts +106 -0
- package/dist/AtlasProvider.d.ts.map +1 -0
- package/dist/AtlasProvider.js +190 -0
- package/dist/AtlasProvider.js.map +1 -0
- package/dist/BaseEntity.d.ts +255 -0
- package/dist/BaseEntity.d.ts.map +1 -0
- package/dist/BaseEntity.js +420 -0
- package/dist/BaseEntity.js.map +1 -0
- package/dist/BaseRepository.d.ts +175 -0
- package/dist/BaseRepository.d.ts.map +1 -0
- package/dist/BaseRepository.js +1451 -0
- package/dist/BaseRepository.js.map +1 -0
- package/dist/ModelQuery.d.ts +338 -0
- package/dist/ModelQuery.d.ts.map +1 -0
- package/dist/ModelQuery.js +1598 -0
- package/dist/ModelQuery.js.map +1 -0
- package/dist/Transaction.d.ts +15 -0
- package/dist/Transaction.d.ts.map +1 -0
- package/dist/Transaction.js +67 -0
- package/dist/Transaction.js.map +1 -0
- package/dist/adapters/NapiDbAdapter.d.ts +34 -0
- package/dist/adapters/NapiDbAdapter.d.ts.map +1 -0
- package/dist/adapters/NapiDbAdapter.js +96 -0
- package/dist/adapters/NapiDbAdapter.js.map +1 -0
- package/dist/config.d.ts +4 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +4 -0
- package/dist/config.js.map +1 -0
- package/dist/configure.d.ts +10 -0
- package/dist/configure.d.ts.map +1 -0
- package/dist/configure.js +25 -0
- package/dist/configure.js.map +1 -0
- package/dist/decorators/entity.d.ts +235 -0
- package/dist/decorators/entity.d.ts.map +1 -0
- package/dist/decorators/entity.js +264 -0
- package/dist/decorators/entity.js.map +1 -0
- package/dist/decorators/hooks.d.ts +70 -0
- package/dist/decorators/hooks.d.ts.map +1 -0
- package/dist/decorators/hooks.js +107 -0
- package/dist/decorators/hooks.js.map +1 -0
- package/dist/decorators/scope.d.ts +35 -0
- package/dist/decorators/scope.d.ts.map +1 -0
- package/dist/decorators/scope.js +29 -0
- package/dist/decorators/scope.js.map +1 -0
- package/dist/errors.d.ts +54 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +82 -0
- package/dist/errors.js.map +1 -0
- package/dist/index.d.ts +39 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +28 -0
- package/dist/index.js.map +1 -0
- package/dist/naming/NamingStrategy.d.ts +52 -0
- package/dist/naming/NamingStrategy.d.ts.map +1 -0
- package/dist/naming/NamingStrategy.js +65 -0
- package/dist/naming/NamingStrategy.js.map +1 -0
- package/dist/query/QueryBuilder.d.ts +95 -0
- package/dist/query/QueryBuilder.d.ts.map +1 -0
- package/dist/query/QueryBuilder.js +310 -0
- package/dist/query/QueryBuilder.js.map +1 -0
- package/dist/query/native.d.ts +18 -0
- package/dist/query/native.d.ts.map +1 -0
- package/dist/query/native.js +49 -0
- package/dist/query/native.js.map +1 -0
- package/dist/schema/Migration.d.ts +55 -0
- package/dist/schema/Migration.d.ts.map +1 -0
- package/dist/schema/Migration.js +68 -0
- package/dist/schema/Migration.js.map +1 -0
- package/dist/schema/MigrationRunner.d.ts +115 -0
- package/dist/schema/MigrationRunner.d.ts.map +1 -0
- package/dist/schema/MigrationRunner.js +406 -0
- package/dist/schema/MigrationRunner.js.map +1 -0
- package/dist/schema/Schema.d.ts +22 -0
- package/dist/schema/Schema.d.ts.map +1 -0
- package/dist/schema/Schema.js +51 -0
- package/dist/schema/Schema.js.map +1 -0
- package/dist/schema/SchemaBuilder.d.ts +14 -0
- package/dist/schema/SchemaBuilder.d.ts.map +1 -0
- package/dist/schema/SchemaBuilder.js +13 -0
- package/dist/schema/SchemaBuilder.js.map +1 -0
- package/dist/schema/Seeder.d.ts +54 -0
- package/dist/schema/Seeder.d.ts.map +1 -0
- package/dist/schema/Seeder.js +89 -0
- package/dist/schema/Seeder.js.map +1 -0
- package/dist/schema/TableBuilder.d.ts +95 -0
- package/dist/schema/TableBuilder.d.ts.map +1 -0
- package/dist/schema/TableBuilder.js +234 -0
- package/dist/schema/TableBuilder.js.map +1 -0
- package/dist/schema/types.d.ts +30 -0
- package/dist/schema/types.d.ts.map +1 -0
- package/dist/schema/types.js +19 -0
- package/dist/schema/types.js.map +1 -0
- package/dist/services/db.d.ts +22 -0
- package/dist/services/db.d.ts.map +1 -0
- package/dist/services/db.js +37 -0
- package/dist/services/db.js.map +1 -0
- package/dist/testing/DatabaseCleanup.d.ts +19 -0
- package/dist/testing/DatabaseCleanup.d.ts.map +1 -0
- package/dist/testing/DatabaseCleanup.js +39 -0
- package/dist/testing/DatabaseCleanup.js.map +1 -0
- package/dist/testing/Factory.d.ts +59 -0
- package/dist/testing/Factory.d.ts.map +1 -0
- package/dist/testing/Factory.js +105 -0
- package/dist/testing/Factory.js.map +1 -0
- package/dist/testing/TestDatabase.d.ts +25 -0
- package/dist/testing/TestDatabase.d.ts.map +1 -0
- package/dist/testing/TestDatabase.js +52 -0
- package/dist/testing/TestDatabase.js.map +1 -0
- package/dist/testing/index.d.ts +4 -0
- package/dist/testing/index.d.ts.map +1 -0
- package/dist/testing/index.js +4 -0
- package/dist/testing/index.js.map +1 -0
- package/dist/utils/casing.d.ts +5 -0
- package/dist/utils/casing.d.ts.map +1 -0
- package/dist/utils/casing.js +9 -0
- package/dist/utils/casing.js.map +1 -0
- package/dist/utils/dialectFromUrl.d.ts +10 -0
- package/dist/utils/dialectFromUrl.d.ts.map +1 -0
- package/dist/utils/dialectFromUrl.js +8 -0
- package/dist/utils/dialectFromUrl.js.map +1 -0
- package/dist/utils/identifier.d.ts +19 -0
- package/dist/utils/identifier.d.ts.map +1 -0
- package/dist/utils/identifier.js +27 -0
- package/dist/utils/identifier.js.map +1 -0
- package/dist/utils/safePath.d.ts +22 -0
- package/dist/utils/safePath.d.ts.map +1 -0
- package/dist/utils/safePath.js +46 -0
- package/dist/utils/safePath.js.map +1 -0
- package/dist/utils/transactionBrand.d.ts +5 -0
- package/dist/utils/transactionBrand.d.ts.map +1 -0
- package/dist/utils/transactionBrand.js +5 -0
- package/dist/utils/transactionBrand.js.map +1 -0
- package/index.darwin-arm64.node +0 -0
- package/index.darwin-x64.node +0 -0
- package/index.linux-arm64-gnu.node +0 -0
- package/index.linux-x64-gnu.node +0 -0
- package/index.win32-x64-msvc.node +0 -0
- package/package.json +1 -1
- package/src/AtlasProvider.ts +2 -2
- package/src/BaseRepository.ts +73 -11
- package/src/adapters/NapiDbAdapter.ts +1 -1
- package/src/schema/MigrationRunner.ts +16 -12
- package/src/schema/TableBuilder.ts +26 -0
- package/src/schema/types.ts +2 -0
- package/src/testing/DatabaseCleanup.ts +6 -7
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ModelQuery.js","sourceRoot":"","sources":["../src/ModelQuery.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Transaction — wraps database operations in BEGIN/COMMIT/ROLLBACK.
|
|
3
|
+
*
|
|
4
|
+
* @implements MISS-1
|
|
5
|
+
*/
|
|
6
|
+
import type { DatabaseConnection } from "./BaseRepository.js";
|
|
7
|
+
import { TRANSACTION_BRAND } from "./utils/transactionBrand.js";
|
|
8
|
+
export interface TransactionClient extends DatabaseConnection {
|
|
9
|
+
commit(): Promise<void>;
|
|
10
|
+
rollback(): Promise<void>;
|
|
11
|
+
readonly isNested: boolean;
|
|
12
|
+
readonly [TRANSACTION_BRAND]: true;
|
|
13
|
+
}
|
|
14
|
+
export declare function transaction<T>(db: DatabaseConnection, callback: (trx: TransactionClient) => Promise<T> | T): Promise<T>;
|
|
15
|
+
//# sourceMappingURL=Transaction.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Transaction.d.ts","sourceRoot":"","sources":["../src/Transaction.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EAEN,iBAAiB,EACjB,MAAM,6BAA6B,CAAC;AAErC,MAAM,WAAW,iBAAkB,SAAQ,kBAAkB;IAC5D,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACxB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,CAAC,iBAAiB,CAAC,EAAE,IAAI,CAAC;CACnC;AAED,wBAAsB,WAAW,CAAC,CAAC,EAClC,EAAE,EAAE,kBAAkB,EACtB,QAAQ,EAAE,CAAC,GAAG,EAAE,iBAAiB,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,GAClD,OAAO,CAAC,CAAC,CAAC,CA2DZ"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Transaction — wraps database operations in BEGIN/COMMIT/ROLLBACK.
|
|
3
|
+
*
|
|
4
|
+
* @implements MISS-1
|
|
5
|
+
*/
|
|
6
|
+
import { randomBytes } from "node:crypto";
|
|
7
|
+
import { isTransactionClient, TRANSACTION_BRAND, } from "./utils/transactionBrand.js";
|
|
8
|
+
export async function transaction(db, callback) {
|
|
9
|
+
if (isTransactionClient(db)) {
|
|
10
|
+
const name = `sp_${randomBytes(6).toString("hex")}`;
|
|
11
|
+
await db.execute(`SAVEPOINT ${name}`, []);
|
|
12
|
+
const trx = {
|
|
13
|
+
execute: db.execute.bind(db),
|
|
14
|
+
query: db.query.bind(db),
|
|
15
|
+
async commit() {
|
|
16
|
+
await db.execute(`RELEASE SAVEPOINT ${name}`, []);
|
|
17
|
+
},
|
|
18
|
+
async rollback() {
|
|
19
|
+
await db.execute(`ROLLBACK TO SAVEPOINT ${name}`, []);
|
|
20
|
+
},
|
|
21
|
+
isNested: true,
|
|
22
|
+
[TRANSACTION_BRAND]: true,
|
|
23
|
+
};
|
|
24
|
+
try {
|
|
25
|
+
const result = await callback(trx);
|
|
26
|
+
await trx.commit();
|
|
27
|
+
return result;
|
|
28
|
+
}
|
|
29
|
+
catch (err) {
|
|
30
|
+
try {
|
|
31
|
+
await trx.rollback();
|
|
32
|
+
}
|
|
33
|
+
catch {
|
|
34
|
+
/* best-effort */
|
|
35
|
+
}
|
|
36
|
+
throw err;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
await db.execute("BEGIN", []);
|
|
40
|
+
const trx = {
|
|
41
|
+
execute: db.execute.bind(db),
|
|
42
|
+
query: db.query.bind(db),
|
|
43
|
+
async commit() {
|
|
44
|
+
await db.execute("COMMIT", []);
|
|
45
|
+
},
|
|
46
|
+
async rollback() {
|
|
47
|
+
await db.execute("ROLLBACK", []);
|
|
48
|
+
},
|
|
49
|
+
isNested: false,
|
|
50
|
+
[TRANSACTION_BRAND]: true,
|
|
51
|
+
};
|
|
52
|
+
try {
|
|
53
|
+
const result = await callback(trx);
|
|
54
|
+
await trx.commit();
|
|
55
|
+
return result;
|
|
56
|
+
}
|
|
57
|
+
catch (err) {
|
|
58
|
+
try {
|
|
59
|
+
await trx.rollback();
|
|
60
|
+
}
|
|
61
|
+
catch {
|
|
62
|
+
/* best-effort */
|
|
63
|
+
}
|
|
64
|
+
throw err;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
//# sourceMappingURL=Transaction.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Transaction.js","sourceRoot":"","sources":["../src/Transaction.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,OAAO,EACN,mBAAmB,EACnB,iBAAiB,GACjB,MAAM,6BAA6B,CAAC;AASrC,MAAM,CAAC,KAAK,UAAU,WAAW,CAChC,EAAsB,EACtB,QAAoD;IAEpD,IAAI,mBAAmB,CAAC,EAAE,CAAC,EAAE,CAAC;QAC7B,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACpD,MAAM,EAAE,CAAC,OAAO,CAAC,aAAa,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;QAE1C,MAAM,GAAG,GAAsB;YAC9B,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5B,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YACxB,KAAK,CAAC,MAAM;gBACX,MAAM,EAAE,CAAC,OAAO,CAAC,qBAAqB,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;YACnD,CAAC;YACD,KAAK,CAAC,QAAQ;gBACb,MAAM,EAAE,CAAC,OAAO,CAAC,yBAAyB,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;YACvD,CAAC;YACD,QAAQ,EAAE,IAAI;YACd,CAAC,iBAAiB,CAAC,EAAE,IAAI;SACzB,CAAC;QAEF,IAAI,CAAC;YACJ,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,GAAG,CAAC,CAAC;YACnC,MAAM,GAAG,CAAC,MAAM,EAAE,CAAC;YACnB,OAAO,MAAM,CAAC;QACf,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACd,IAAI,CAAC;gBACJ,MAAM,GAAG,CAAC,QAAQ,EAAE,CAAC;YACtB,CAAC;YAAC,MAAM,CAAC;gBACR,iBAAiB;YAClB,CAAC;YACD,MAAM,GAAG,CAAC;QACX,CAAC;IACF,CAAC;IAED,MAAM,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IAE9B,MAAM,GAAG,GAAsB;QAC9B,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5B,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACxB,KAAK,CAAC,MAAM;YACX,MAAM,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QAChC,CAAC;QACD,KAAK,CAAC,QAAQ;YACb,MAAM,EAAE,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;QAClC,CAAC;QACD,QAAQ,EAAE,KAAK;QACf,CAAC,iBAAiB,CAAC,EAAE,IAAI;KACzB,CAAC;IAEF,IAAI,CAAC;QACJ,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,GAAG,CAAC,CAAC;QACnC,MAAM,GAAG,CAAC,MAAM,EAAE,CAAC;QACnB,OAAO,MAAM,CAAC;IACf,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACd,IAAI,CAAC;YACJ,MAAM,GAAG,CAAC,QAAQ,EAAE,CAAC;QACtB,CAAC;QAAC,MAAM,CAAC;YACR,iBAAiB;QAClB,CAAC;QACD,MAAM,GAAG,CAAC;IACX,CAAC;AACF,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* NapiDbAdapter — bridges the Rust atlas-db NAPI binding to Atlas.
|
|
3
|
+
*/
|
|
4
|
+
/** One `(sql, params)` pair passed to `runInTransaction`. */
|
|
5
|
+
export interface BatchStatement {
|
|
6
|
+
sql: string;
|
|
7
|
+
params?: unknown[];
|
|
8
|
+
}
|
|
9
|
+
/** Async database connection backed by Rust (sqlx). */
|
|
10
|
+
export interface AsyncDatabaseConnection {
|
|
11
|
+
/** The dialect this connection targets — derived from the URL scheme at connect time. */
|
|
12
|
+
readonly dialect: "sqlite" | "postgres" | "mysql";
|
|
13
|
+
query<T = Record<string, unknown>>(sql: string, params?: unknown[]): Promise<T[]>;
|
|
14
|
+
execute(sql: string, params?: unknown[]): Promise<{
|
|
15
|
+
rowsAffected: number;
|
|
16
|
+
}>;
|
|
17
|
+
/**
|
|
18
|
+
* Run every statement in `batch` atomically inside a single sqlx transaction.
|
|
19
|
+
* Either every statement commits or none do — used by MigrationRunner to
|
|
20
|
+
* wrap `up()` / `down()` SQL together with the `ream_migrations` bookkeeping.
|
|
21
|
+
*/
|
|
22
|
+
runInTransaction(batch: readonly BatchStatement[]): Promise<number>;
|
|
23
|
+
close(): Promise<void>;
|
|
24
|
+
ping(): Promise<void>;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Connect to a database via the Rust NAPI driver.
|
|
28
|
+
*
|
|
29
|
+
* const db = await createNapiConnection('sqlite:data/app.db')
|
|
30
|
+
* const db = await createNapiConnection('postgres://user:pass@host/db')
|
|
31
|
+
* const db = await createNapiConnection('mysql://user:pass@host/db')
|
|
32
|
+
*/
|
|
33
|
+
export declare function createNapiConnection(url: string, poolMin?: number, poolMax?: number, pragmas?: Record<string, string | number>): Promise<AsyncDatabaseConnection>;
|
|
34
|
+
//# sourceMappingURL=NapiDbAdapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NapiDbAdapter.d.ts","sourceRoot":"","sources":["../../src/adapters/NapiDbAdapter.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,6DAA6D;AAC7D,MAAM,WAAW,cAAc;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC;CACnB;AAED,uDAAuD;AACvD,MAAM,WAAW,uBAAuB;IACvC,yFAAyF;IACzF,QAAQ,CAAC,OAAO,EAAE,QAAQ,GAAG,UAAU,GAAG,OAAO,CAAC;IAClD,KAAK,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,OAAO,EAAE,GAChB,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;QAAE,YAAY,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC5E;;;;OAIG;IACH,gBAAgB,CAAC,KAAK,EAAE,SAAS,cAAc,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACpE,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACtB;AAuBD;;;;;;GAMG;AACH,wBAAsB,oBAAoB,CACzC,GAAG,EAAE,MAAM,EACX,OAAO,SAAI,EACX,OAAO,SAAK,EACZ,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,GACvC,OAAO,CAAC,uBAAuB,CAAC,CAiFlC"}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* NapiDbAdapter — bridges the Rust atlas-db NAPI binding to Atlas.
|
|
3
|
+
*/
|
|
4
|
+
import { dialectFromUrl } from "../utils/dialectFromUrl.js";
|
|
5
|
+
/**
|
|
6
|
+
* Connect to a database via the Rust NAPI driver.
|
|
7
|
+
*
|
|
8
|
+
* const db = await createNapiConnection('sqlite:data/app.db')
|
|
9
|
+
* const db = await createNapiConnection('postgres://user:pass@host/db')
|
|
10
|
+
* const db = await createNapiConnection('mysql://user:pass@host/db')
|
|
11
|
+
*/
|
|
12
|
+
export async function createNapiConnection(url, poolMin = 1, poolMax = 10, pragmas) {
|
|
13
|
+
const native = await loadNativeDb();
|
|
14
|
+
if (!native) {
|
|
15
|
+
throw new Error("[ATLAS] Rust DB driver (atlas-db-napi) not available. Build with: cargo build --release");
|
|
16
|
+
}
|
|
17
|
+
// Validate sqlite pragmas before crossing the NAPI boundary.
|
|
18
|
+
// PRAGMA syntax doesn't take bound parameters — the Rust side will
|
|
19
|
+
// interpolate the (key, value) pair into the statement, so the
|
|
20
|
+
// alphabet is locked to `[A-Za-z0-9_]+` on both sides. Failing
|
|
21
|
+
// here gives a clearer error than a Rust panic in `after_connect`.
|
|
22
|
+
const dialect = dialectFromUrl(url);
|
|
23
|
+
if (dialect === "sqlite" && pragmas) {
|
|
24
|
+
const safe = /^[A-Za-z0-9_]+$/;
|
|
25
|
+
for (const [key, value] of Object.entries(pragmas)) {
|
|
26
|
+
if (!safe.test(key)) {
|
|
27
|
+
throw new Error(`[ATLAS] Invalid sqlite pragma key: ${JSON.stringify(key)}`);
|
|
28
|
+
}
|
|
29
|
+
if (!safe.test(String(value))) {
|
|
30
|
+
throw new Error(`[ATLAS] Invalid sqlite pragma value for '${key}': ${JSON.stringify(value)}`);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
// Pragmas are pushed THROUGH the NAPI boundary so the Rust side can
|
|
35
|
+
// wire them into `SqliteConnectOptions::pragma()`. That's the only
|
|
36
|
+
// path that guarantees every connection sqlx opens for the pool
|
|
37
|
+
// starts in the requested journal_mode / synchronous state — running
|
|
38
|
+
// PRAGMA from the query path can silently no-op when the first
|
|
39
|
+
// pooled connection already claimed the journal in another mode.
|
|
40
|
+
const pragmaList = dialect === "sqlite" && pragmas
|
|
41
|
+
? Object.entries(pragmas).map(([k, v]) => [k, String(v)])
|
|
42
|
+
: undefined;
|
|
43
|
+
const db = await native.ReamDatabase.connect(url, poolMin, poolMax, pragmaList);
|
|
44
|
+
return {
|
|
45
|
+
dialect,
|
|
46
|
+
async query(sql, params = []) {
|
|
47
|
+
const json = await db.query(sql, JSON.stringify(params));
|
|
48
|
+
return JSON.parse(json);
|
|
49
|
+
},
|
|
50
|
+
async execute(sql, params = []) {
|
|
51
|
+
const affected = await db.execute(sql, JSON.stringify(params));
|
|
52
|
+
return { rowsAffected: affected };
|
|
53
|
+
},
|
|
54
|
+
async runInTransaction(batch) {
|
|
55
|
+
// Rust side expects `[[sql, params], ...]`
|
|
56
|
+
const payload = batch.map((s) => [s.sql, s.params ?? []]);
|
|
57
|
+
return db.runInTransaction(JSON.stringify(payload));
|
|
58
|
+
},
|
|
59
|
+
async close() {
|
|
60
|
+
await db.close();
|
|
61
|
+
},
|
|
62
|
+
async ping() {
|
|
63
|
+
await db.ping();
|
|
64
|
+
},
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
// dialectFromUrl moved to ../utils/dialectFromUrl.ts — single source of truth
|
|
68
|
+
// shared with AtlasProvider.
|
|
69
|
+
/** Load the native DB binding from the prebuilt `.node` binary in the package root. */
|
|
70
|
+
async function loadNativeDb() {
|
|
71
|
+
const platform = process.platform;
|
|
72
|
+
const arch = process.arch;
|
|
73
|
+
// Same naming convention as napi-rs / src/query/native.ts: the build emits
|
|
74
|
+
// `db.win32-x64-msvc.node` and `db.linux-x64-gnu.node`, so win32 needs the
|
|
75
|
+
// `-msvc` ABI tag and linux the `-gnu` one — a bare `win32-x64` misses the file.
|
|
76
|
+
const suffix = platform === "linux"
|
|
77
|
+
? `${platform}-${arch}-gnu`
|
|
78
|
+
: platform === "win32"
|
|
79
|
+
? `${platform}-${arch}-msvc`
|
|
80
|
+
: `${platform}-${arch}`;
|
|
81
|
+
const binaryName = `db.${suffix}.node`;
|
|
82
|
+
try {
|
|
83
|
+
const { createRequire } = await import("node:module");
|
|
84
|
+
const { fileURLToPath } = await import("node:url");
|
|
85
|
+
const { dirname, join } = await import("node:path");
|
|
86
|
+
const require = createRequire(import.meta.url);
|
|
87
|
+
const here = dirname(fileURLToPath(import.meta.url));
|
|
88
|
+
// The binary lives at the package root (../../db.<suffix>.node from src/adapters/)
|
|
89
|
+
const binaryPath = join(here, "..", "..", binaryName);
|
|
90
|
+
return require(binaryPath);
|
|
91
|
+
}
|
|
92
|
+
catch {
|
|
93
|
+
return null;
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
//# sourceMappingURL=NapiDbAdapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NapiDbAdapter.js","sourceRoot":"","sources":["../../src/adapters/NapiDbAdapter.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAgD5D;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACzC,GAAW,EACX,OAAO,GAAG,CAAC,EACX,OAAO,GAAG,EAAE,EACZ,OAAyC;IAEzC,MAAM,MAAM,GAAG,MAAM,YAAY,EAAE,CAAC;IACpC,IAAI,CAAC,MAAM,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CACd,yFAAyF,CACzF,CAAC;IACH,CAAC;IAED,6DAA6D;IAC7D,mEAAmE;IACnE,+DAA+D;IAC/D,+DAA+D;IAC/D,mEAAmE;IACnE,MAAM,OAAO,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;IACpC,IAAI,OAAO,KAAK,QAAQ,IAAI,OAAO,EAAE,CAAC;QACrC,MAAM,IAAI,GAAG,iBAAiB,CAAC;QAC/B,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YACpD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBACrB,MAAM,IAAI,KAAK,CACd,sCAAsC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAC3D,CAAC;YACH,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;gBAC/B,MAAM,IAAI,KAAK,CACd,4CAA4C,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAC5E,CAAC;YACH,CAAC;QACF,CAAC;IACF,CAAC;IACD,oEAAoE;IACpE,mEAAmE;IACnE,gEAAgE;IAChE,qEAAqE;IACrE,+DAA+D;IAC/D,iEAAiE;IACjE,MAAM,UAAU,GACf,OAAO,KAAK,QAAQ,IAAI,OAAO;QAC9B,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,CAC3B,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAqB,CAC9C;QACF,CAAC,CAAC,SAAS,CAAC;IAEd,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,OAAO,CAC3C,GAAG,EACH,OAAO,EACP,OAAO,EACP,UAAU,CACV,CAAC;IAEF,OAAO;QACN,OAAO;QACP,KAAK,CAAC,KAAK,CACV,GAAW,EACX,SAAoB,EAAE;YAEtB,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;YACzD,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAQ,CAAC;QAChC,CAAC;QAED,KAAK,CAAC,OAAO,CACZ,GAAW,EACX,SAAoB,EAAE;YAEtB,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;YAC/D,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC;QACnC,CAAC;QAED,KAAK,CAAC,gBAAgB,CAAC,KAAgC;YACtD,2CAA2C;YAC3C,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC;YAC1D,OAAO,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;QACrD,CAAC;QAED,KAAK,CAAC,KAAK;YACV,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC;QAClB,CAAC;QAED,KAAK,CAAC,IAAI;YACT,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC;QACjB,CAAC;KACD,CAAC;AACH,CAAC;AAED,8EAA8E;AAC9E,6BAA6B;AAE7B,uFAAuF;AACvF,KAAK,UAAU,YAAY;IAC1B,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;IAClC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAC1B,2EAA2E;IAC3E,2EAA2E;IAC3E,iFAAiF;IACjF,MAAM,MAAM,GACX,QAAQ,KAAK,OAAO;QACnB,CAAC,CAAC,GAAG,QAAQ,IAAI,IAAI,MAAM;QAC3B,CAAC,CAAC,QAAQ,KAAK,OAAO;YACrB,CAAC,CAAC,GAAG,QAAQ,IAAI,IAAI,OAAO;YAC5B,CAAC,CAAC,GAAG,QAAQ,IAAI,IAAI,EAAE,CAAC;IAC3B,MAAM,UAAU,GAAG,MAAM,MAAM,OAAO,CAAC;IAEvC,IAAI,CAAC;QACJ,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC;QACtD,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,CAAC;QACnD,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC;QACpD,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC/C,MAAM,IAAI,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QACrD,mFAAmF;QACnF,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;QACtD,OAAO,OAAO,CAAC,UAAU,CAAe,CAAC;IAC1C,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,IAAI,CAAC;IACb,CAAC;AACF,CAAC"}
|
package/dist/config.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAE9D,wBAAgB,YAAY,CAAC,MAAM,EAAE,mBAAmB,GAAG,mBAAmB,CAE7E;AAED,YAAY,EAAE,mBAAmB,EAAE,CAAC"}
|
package/dist/config.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,YAAY,CAAC,MAA2B;IACvD,OAAO,MAAM,CAAC;AACf,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
interface Codemods {
|
|
2
|
+
addProvider(importPath: string): Promise<void>;
|
|
3
|
+
addEnvVars(vars: Record<string, string>): Promise<void>;
|
|
4
|
+
writeFile(filePath: string, content: string, options?: {
|
|
5
|
+
force?: boolean;
|
|
6
|
+
}): Promise<void>;
|
|
7
|
+
}
|
|
8
|
+
export declare function configure(codemods: Codemods): Promise<void>;
|
|
9
|
+
export {};
|
|
10
|
+
//# sourceMappingURL=configure.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"configure.d.ts","sourceRoot":"","sources":["../src/configure.ts"],"names":[],"mappings":"AAAA,UAAU,QAAQ;IACjB,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/C,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxD,SAAS,CACR,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,GAC3B,OAAO,CAAC,IAAI,CAAC,CAAC;CACjB;AAED,wBAAsB,SAAS,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CA0BjE"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
export async function configure(codemods) {
|
|
2
|
+
await codemods.addProvider("@c9up/atlas/provider");
|
|
3
|
+
await codemods.addEnvVars({
|
|
4
|
+
DB_CONNECTION: "postgres",
|
|
5
|
+
DB_HOST: "localhost",
|
|
6
|
+
DB_PORT: "5432",
|
|
7
|
+
DB_DATABASE: "ream",
|
|
8
|
+
DB_USER: "postgres",
|
|
9
|
+
DB_PASSWORD: "secret",
|
|
10
|
+
});
|
|
11
|
+
await codemods.writeFile("config/database.ts", `import { defineConfig } from '@c9up/atlas'
|
|
12
|
+
|
|
13
|
+
export default defineConfig({
|
|
14
|
+
connection: process.env.DB_CONNECTION ?? 'postgres',
|
|
15
|
+
connections: {
|
|
16
|
+
postgres: {
|
|
17
|
+
host: process.env.DB_HOST ?? 'localhost',
|
|
18
|
+
port: Number(process.env.DB_PORT ?? '5432'),
|
|
19
|
+
database: process.env.DB_DATABASE ?? 'ream',
|
|
20
|
+
},
|
|
21
|
+
},
|
|
22
|
+
})
|
|
23
|
+
`);
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=configure.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"configure.js","sourceRoot":"","sources":["../src/configure.ts"],"names":[],"mappings":"AAUA,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,QAAkB;IACjD,MAAM,QAAQ,CAAC,WAAW,CAAC,sBAAsB,CAAC,CAAC;IACnD,MAAM,QAAQ,CAAC,UAAU,CAAC;QACzB,aAAa,EAAE,UAAU;QACzB,OAAO,EAAE,WAAW;QACpB,OAAO,EAAE,MAAM;QACf,WAAW,EAAE,MAAM;QACnB,OAAO,EAAE,UAAU;QACnB,WAAW,EAAE,QAAQ;KACrB,CAAC,CAAC;IACH,MAAM,QAAQ,CAAC,SAAS,CACvB,oBAAoB,EACpB;;;;;;;;;;;;CAYD,CACC,CAAC;AACH,CAAC"}
|