@fougere/adapter-sql 0.9.2-alpha.0 → 0.10.0-alpha.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/check.d.ts +1 -1
- package/dist/check.d.ts.map +1 -1
- package/dist/{crud.d.ts → crud/SqlStorage.d.ts} +4 -8
- package/dist/crud/SqlStorage.d.ts.map +1 -0
- package/dist/{crud.js → crud/SqlStorage.js} +6 -9
- package/dist/crud/SqlStorage.js.map +1 -0
- package/dist/crud/StorageFactoryOptions.d.ts +5 -0
- package/dist/crud/StorageFactoryOptions.d.ts.map +1 -0
- package/dist/crud/StorageFactoryOptions.js +2 -0
- package/dist/crud/StorageFactoryOptions.js.map +1 -0
- package/dist/ddl/GenerateOptions.d.ts +8 -0
- package/dist/ddl/GenerateOptions.d.ts.map +1 -0
- package/dist/ddl/GenerateOptions.js +2 -0
- package/dist/ddl/GenerateOptions.js.map +1 -0
- package/dist/{ddl.d.ts → ddl/SqlSink.d.ts} +6 -10
- package/dist/ddl/SqlSink.d.ts.map +1 -0
- package/dist/{ddl.js → ddl/SqlSink.js} +6 -7
- package/dist/ddl/SqlSink.js.map +1 -0
- package/dist/{dialect.d.ts → dialect/Dialect.d.ts} +3 -4
- package/dist/dialect/Dialect.d.ts.map +1 -0
- package/dist/{dialect.js → dialect/Dialect.js} +1 -1
- package/dist/dialect/Dialect.js.map +1 -0
- package/dist/dialect/DialectName.d.ts +2 -0
- package/dist/dialect/DialectName.d.ts.map +1 -0
- package/dist/dialect/DialectName.js +2 -0
- package/dist/dialect/DialectName.js.map +1 -0
- package/dist/{diff.d.ts → diff/Change.d.ts} +7 -8
- package/dist/diff/Change.d.ts.map +1 -0
- package/dist/{diff.js → diff/Change.js} +6 -8
- package/dist/diff/Change.js.map +1 -0
- package/dist/diff/SchemaState.d.ts +6 -0
- package/dist/diff/SchemaState.d.ts.map +1 -0
- package/dist/diff/SchemaState.js +11 -0
- package/dist/diff/SchemaState.js.map +1 -0
- package/dist/drift.d.ts +1 -1
- package/dist/drift.d.ts.map +1 -1
- package/dist/drift.js +1 -1
- package/dist/drift.js.map +1 -1
- package/dist/fields/Engine.d.ts +4 -0
- package/dist/fields/Engine.d.ts.map +1 -0
- package/dist/fields/Engine.js +2 -0
- package/dist/fields/Engine.js.map +1 -0
- package/dist/fields/SqlField.d.ts +6 -0
- package/dist/fields/SqlField.d.ts.map +1 -0
- package/dist/fields/SqlField.js +2 -0
- package/dist/fields/SqlField.js.map +1 -0
- package/dist/{fields.d.ts → fields/SqlFields.d.ts} +2 -9
- package/dist/fields/SqlFields.d.ts.map +1 -0
- package/dist/{fields.js → fields/SqlFields.js} +2 -2
- package/dist/fields/SqlFields.js.map +1 -0
- package/dist/index.d.ts +23 -15
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +10 -9
- package/dist/index.js.map +1 -1
- package/dist/order/FkEdge.d.ts +7 -0
- package/dist/order/FkEdge.d.ts.map +1 -0
- package/dist/order/FkEdge.js +2 -0
- package/dist/order/FkEdge.js.map +1 -0
- package/dist/{order.d.ts → order/TableOrder.d.ts} +3 -10
- package/dist/order/TableOrder.d.ts.map +1 -0
- package/dist/{order.js → order/TableOrder.js} +1 -1
- package/dist/order/TableOrder.js.map +1 -0
- package/dist/query/QueryEvent.d.ts +17 -0
- package/dist/query/QueryEvent.d.ts.map +1 -0
- package/dist/query/QueryEvent.js +2 -0
- package/dist/query/QueryEvent.js.map +1 -0
- package/dist/query/QuerySink.d.ts +8 -0
- package/dist/query/QuerySink.d.ts.map +1 -0
- package/dist/{query.js → query/QuerySink.js} +13 -1
- package/dist/query/QuerySink.js.map +1 -0
- package/dist/source/Setup.d.ts +4 -0
- package/dist/source/Setup.d.ts.map +1 -0
- package/dist/source/Setup.js +2 -0
- package/dist/source/Setup.js.map +1 -0
- package/dist/{source.d.ts → source/SqlSource.d.ts} +5 -13
- package/dist/source/SqlSource.d.ts.map +1 -0
- package/dist/{source.js → source/SqlSource.js} +6 -7
- package/dist/source/SqlSource.js.map +1 -0
- package/dist/source/SqlSourceOptions.d.ts +8 -0
- package/dist/source/SqlSourceOptions.d.ts.map +1 -0
- package/dist/source/SqlSourceOptions.js +2 -0
- package/dist/source/SqlSourceOptions.js.map +1 -0
- package/dist/{sqlite.d.ts → sqlite/SqliteSource.d.ts} +3 -6
- package/dist/sqlite/SqliteSource.d.ts.map +1 -0
- package/dist/{sqlite.js → sqlite/SqliteSource.js} +7 -8
- package/dist/sqlite/SqliteSource.js.map +1 -0
- package/dist/sqlite/SqliteSourceOptions.d.ts +6 -0
- package/dist/sqlite/SqliteSourceOptions.d.ts.map +1 -0
- package/dist/sqlite/SqliteSourceOptions.js +2 -0
- package/dist/sqlite/SqliteSourceOptions.js.map +1 -0
- package/dist/sqlite/index.d.ts +3 -0
- package/dist/sqlite/index.d.ts.map +1 -0
- package/dist/sqlite/index.js +2 -0
- package/dist/sqlite/index.js.map +1 -0
- package/dist/{step.d.ts → step/Plan.d.ts} +6 -28
- package/dist/step/Plan.d.ts.map +1 -0
- package/dist/{step.js → step/Plan.js} +5 -6
- package/dist/step/Plan.js.map +1 -0
- package/dist/step/PlanOptions.d.ts +8 -0
- package/dist/step/PlanOptions.d.ts.map +1 -0
- package/dist/step/PlanOptions.js +2 -0
- package/dist/step/PlanOptions.js.map +1 -0
- package/dist/step/Refusal.d.ts +7 -0
- package/dist/step/Refusal.d.ts.map +1 -0
- package/dist/step/Refusal.js +2 -0
- package/dist/step/Refusal.js.map +1 -0
- package/dist/step/StepChange.d.ts +12 -0
- package/dist/step/StepChange.d.ts.map +1 -0
- package/dist/step/StepChange.js +2 -0
- package/dist/step/StepChange.js.map +1 -0
- package/dist/table/AppLike.d.ts +12 -0
- package/dist/table/AppLike.d.ts.map +1 -0
- package/dist/table/AppLike.js +2 -0
- package/dist/table/AppLike.js.map +1 -0
- package/dist/table/ColumnDef.d.ts +34 -0
- package/dist/table/ColumnDef.d.ts.map +1 -0
- package/dist/table/ColumnDef.js +2 -0
- package/dist/table/ColumnDef.js.map +1 -0
- package/dist/table/ColumnReference.d.ts +6 -0
- package/dist/table/ColumnReference.d.ts.map +1 -0
- package/dist/table/ColumnReference.js +2 -0
- package/dist/table/ColumnReference.js.map +1 -0
- package/dist/table/EntityEntry.d.ts +7 -0
- package/dist/table/EntityEntry.d.ts.map +1 -0
- package/dist/table/EntityEntry.js +2 -0
- package/dist/table/EntityEntry.js.map +1 -0
- package/dist/table/FrondLike.d.ts +6 -0
- package/dist/table/FrondLike.d.ts.map +1 -0
- package/dist/table/FrondLike.js +2 -0
- package/dist/table/FrondLike.js.map +1 -0
- package/dist/table/HostedNames.d.ts +8 -0
- package/dist/table/HostedNames.d.ts.map +1 -0
- package/dist/table/HostedNames.js +2 -0
- package/dist/table/HostedNames.js.map +1 -0
- package/dist/table/RelationResolve.d.ts +12 -0
- package/dist/table/RelationResolve.d.ts.map +1 -0
- package/dist/table/RelationResolve.js +2 -0
- package/dist/table/RelationResolve.js.map +1 -0
- package/dist/table/TableDef.d.ts +29 -0
- package/dist/table/TableDef.d.ts.map +1 -0
- package/dist/{table.js → table/TableDef.js} +3 -4
- package/dist/table/TableDef.js.map +1 -0
- package/package.json +6 -6
- package/src/check.ts +1 -1
- package/src/{crud.ts → crud/SqlStorage.ts} +7 -14
- package/src/crud/StorageFactoryOptions.ts +4 -0
- package/src/ddl/GenerateOptions.ts +8 -0
- package/src/{ddl.ts → ddl/SqlSink.ts} +8 -21
- package/src/{dialect.ts → dialect/Dialect.ts} +2 -4
- package/src/dialect/DialectName.ts +1 -0
- package/src/{diff.ts → diff/Change.ts} +10 -17
- package/src/diff/SchemaState.ts +13 -0
- package/src/drift.ts +2 -2
- package/src/fields/Engine.ts +4 -0
- package/src/fields/SqlField.ts +6 -0
- package/src/{fields.ts → fields/SqlFields.ts} +5 -10
- package/src/index.ts +23 -22
- package/src/order/FkEdge.ts +7 -0
- package/src/{order.ts → order/TableOrder.ts} +2 -10
- package/src/query/QueryEvent.ts +16 -0
- package/src/{query.ts → query/QuerySink.ts} +16 -13
- package/src/source/Setup.ts +4 -0
- package/src/{source.ts → source/SqlSource.ts} +8 -18
- package/src/source/SqlSourceOptions.ts +8 -0
- package/src/{sqlite.ts → sqlite/SqliteSource.ts} +7 -12
- package/src/sqlite/SqliteSourceOptions.ts +6 -0
- package/src/sqlite/index.ts +2 -0
- package/src/{step.ts → step/Plan.ts} +8 -27
- package/src/step/PlanOptions.ts +8 -0
- package/src/step/Refusal.ts +6 -0
- package/src/step/StepChange.ts +4 -0
- package/src/table/AppLike.ts +10 -0
- package/src/table/ColumnDef.ts +34 -0
- package/src/table/ColumnReference.ts +5 -0
- package/src/table/EntityEntry.ts +7 -0
- package/src/table/FrondLike.ts +6 -0
- package/src/table/HostedNames.ts +7 -0
- package/src/table/RelationResolve.ts +12 -0
- package/src/{table.ts → table/TableDef.ts} +10 -77
- package/dist/crud.d.ts.map +0 -1
- package/dist/crud.js.map +0 -1
- package/dist/ddl.d.ts.map +0 -1
- package/dist/ddl.js.map +0 -1
- package/dist/dialect.d.ts.map +0 -1
- package/dist/dialect.js.map +0 -1
- package/dist/diff.d.ts.map +0 -1
- package/dist/diff.js.map +0 -1
- package/dist/fields.d.ts.map +0 -1
- package/dist/fields.js.map +0 -1
- package/dist/order.d.ts.map +0 -1
- package/dist/order.js.map +0 -1
- package/dist/query.d.ts +0 -19
- package/dist/query.d.ts.map +0 -1
- package/dist/query.js.map +0 -1
- package/dist/source.d.ts.map +0 -1
- package/dist/source.js.map +0 -1
- package/dist/sqlite.d.ts.map +0 -1
- package/dist/sqlite.js.map +0 -1
- package/dist/step.d.ts.map +0 -1
- package/dist/step.js.map +0 -1
- package/dist/table.d.ts +0 -97
- package/dist/table.d.ts.map +0 -1
- package/dist/table.js.map +0 -1
package/dist/index.d.ts
CHANGED
|
@@ -1,19 +1,27 @@
|
|
|
1
|
-
export {
|
|
2
|
-
export { onQuery } from './query.js';
|
|
3
|
-
export {
|
|
4
|
-
export {
|
|
5
|
-
export
|
|
6
|
-
export {
|
|
7
|
-
export type {
|
|
8
|
-
export type {
|
|
9
|
-
export {
|
|
1
|
+
export { autoMigrate, compiler, createTableSQL, generateSQL } from './ddl/SqlSink.js';
|
|
2
|
+
export { onQuery } from './query/QuerySink.js';
|
|
3
|
+
export type { QueryEvent } from './query/QueryEvent.js';
|
|
4
|
+
export type { QuerySink } from './query/QuerySink.js';
|
|
5
|
+
export { toSnakeCase, toTable, toTableName, toTables } from './table/TableDef.js';
|
|
6
|
+
export { orderTables } from './order/TableOrder.js';
|
|
7
|
+
export type { AppLike } from './table/AppLike.js';
|
|
8
|
+
export type { EntityEntry } from './table/EntityEntry.js';
|
|
9
|
+
export type { FrondLike } from './table/FrondLike.js';
|
|
10
|
+
export { columnTypeFor, dialects } from './dialect/Dialect.js';
|
|
11
|
+
export type { Dialect } from './dialect/Dialect.js';
|
|
12
|
+
export type { SqlField } from './fields/SqlField.js';
|
|
13
|
+
export type { SqlFields } from './fields/SqlFields.js';
|
|
14
|
+
export { SqlStorage, createStorageFactory } from './crud/SqlStorage.js';
|
|
10
15
|
export { codecsOf } from './values.js';
|
|
11
|
-
export { createKyselySource } from './source.js';
|
|
12
|
-
export type { SqlSource } from './source.js';
|
|
16
|
+
export { createKyselySource } from './source/SqlSource.js';
|
|
17
|
+
export type { SqlSource } from './source/SqlSource.js';
|
|
13
18
|
export { drift } from './drift.js';
|
|
14
19
|
export type { Drift } from './drift.js';
|
|
15
|
-
export { actualState
|
|
16
|
-
export
|
|
17
|
-
export {
|
|
18
|
-
export type {
|
|
20
|
+
export { actualState } from './diff/SchemaState.js';
|
|
21
|
+
export { changeSQL, delta, desiredTables, migrate } from './diff/Change.js';
|
|
22
|
+
export type { Change } from './diff/Change.js';
|
|
23
|
+
export type { SchemaState } from './diff/SchemaState.js';
|
|
24
|
+
export { applyStep, collapseChain, planStep } from './step/Plan.js';
|
|
25
|
+
export type { Plan } from './step/Plan.js';
|
|
26
|
+
export type { StepChange } from './step/StepChange.js';
|
|
19
27
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACtF,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,YAAY,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACxD,YAAY,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAClF,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,YAAY,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAClD,YAAY,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC1D,YAAY,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAC/D,YAAY,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AACpD,YAAY,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACrD,YAAY,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AACxE,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAIvC,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,YAAY,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,YAAY,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC5E,YAAY,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC/C,YAAY,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEzD,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AACpE,YAAY,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAC3C,YAAY,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,16 +1,17 @@
|
|
|
1
|
-
export {
|
|
2
|
-
export { onQuery } from './query.js';
|
|
3
|
-
export {
|
|
4
|
-
export { orderTables } from './order.js';
|
|
5
|
-
export { columnTypeFor, dialects
|
|
6
|
-
export { SqlStorage, createStorageFactory } from './crud.js';
|
|
1
|
+
export { autoMigrate, compiler, createTableSQL, generateSQL } from './ddl/SqlSink.js';
|
|
2
|
+
export { onQuery } from './query/QuerySink.js';
|
|
3
|
+
export { toSnakeCase, toTable, toTableName, toTables } from './table/TableDef.js';
|
|
4
|
+
export { orderTables } from './order/TableOrder.js';
|
|
5
|
+
export { columnTypeFor, dialects } from './dialect/Dialect.js';
|
|
6
|
+
export { SqlStorage, createStorageFactory } from './crud/SqlStorage.js';
|
|
7
7
|
export { codecsOf } from './values.js';
|
|
8
8
|
// The driver this package owns is NOT here: `better-sqlite3` is native and `node:fs` is a
|
|
9
9
|
// builtin, and an index that re-exported them made the whole adapter unreachable from a
|
|
10
10
|
// runtime that has neither. It lives at `@fougere/adapter-sql/sqlite`.
|
|
11
|
-
export { createKyselySource } from './source.js';
|
|
11
|
+
export { createKyselySource } from './source/SqlSource.js';
|
|
12
12
|
export { drift } from './drift.js';
|
|
13
|
-
export { actualState
|
|
13
|
+
export { actualState } from './diff/SchemaState.js';
|
|
14
|
+
export { changeSQL, delta, desiredTables, migrate } from './diff/Change.js';
|
|
14
15
|
// The non-additive half — realised only from a step a human wrote down.
|
|
15
|
-
export {
|
|
16
|
+
export { applyStep, collapseChain, planStep } from './step/Plan.js';
|
|
16
17
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACtF,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAG/C,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAClF,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAIpD,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAI/D,OAAO,EAAE,UAAU,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AACxE,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,0FAA0F;AAC1F,wFAAwF;AACxF,uEAAuE;AACvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAE3D,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAG5E,wEAAwE;AACxE,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FkEdge.d.ts","sourceRoot":"","sources":["../../src/order/FkEdge.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAErD,MAAM,WAAW,MAAM;IACrB,KAAK,EAAE,QAAQ,CAAC;IAChB,MAAM,EAAE,SAAS,CAAC;CACnB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FkEdge.js","sourceRoot":"","sources":["../../src/order/FkEdge.ts"],"names":[],"mappings":""}
|
|
@@ -1,12 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
* knows nothing above it: no entity, no axis, no schema.
|
|
4
|
-
*/
|
|
5
|
-
import type { ColumnDef, TableDef } from './table.js';
|
|
6
|
-
export interface FkEdge {
|
|
7
|
-
table: TableDef;
|
|
8
|
-
column: ColumnDef;
|
|
9
|
-
}
|
|
1
|
+
import type { TableDef } from '../table/TableDef.js';
|
|
2
|
+
import type { FkEdge } from './FkEdge.js';
|
|
10
3
|
export interface TableOrder {
|
|
11
4
|
/** Tables in dependency order — a `ref()` target always precedes its referrer. */
|
|
12
5
|
ordered: TableDef[];
|
|
@@ -20,4 +13,4 @@ export interface TableOrder {
|
|
|
20
13
|
* this function entirely).
|
|
21
14
|
*/
|
|
22
15
|
export declare function orderTables(tables: TableDef[]): TableOrder;
|
|
23
|
-
//# sourceMappingURL=
|
|
16
|
+
//# sourceMappingURL=TableOrder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TableOrder.d.ts","sourceRoot":"","sources":["../../src/order/TableOrder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAE1C,MAAM,WAAW,UAAU;IACzB,kFAAkF;IAClF,OAAO,EAAE,QAAQ,EAAE,CAAC;IACpB,8FAA8F;IAC9F,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,QAAQ,EAAE,GAAG,UAAU,CAsC1D"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TableOrder.js","sourceRoot":"","sources":["../../src/order/TableOrder.ts"],"names":[],"mappings":"AAUA;;;;;GAKG;AACH,MAAM,UAAU,WAAW,CAAC,MAAkB;IAC5C,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IACnE,MAAM,KAAK,GAAG,IAAI,GAAG,CACnB,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC;QACpB,KAAK,CAAC,IAAI;QACV,IAAI,GAAG,CACL,KAAK,CAAC,OAAO;aACV,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,UAAU,CAAC,KAAK,KAAK,KAAK,CAAC,IAAI,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;aAClG,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAW,CAAC,KAAK,CAAC,CACnC;KACF,CAAC,CACH,CAAC;IAEF,MAAM,OAAO,GAAe,EAAE,CAAC;IAC/B,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAE/B,OAAO,KAAK,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;QACtB,MAAM,KAAK,GAAG,CAAC,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACpG,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAE,CAAC,CAAC;YACjC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAChB,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACpB,SAAS;QACX,CAAC;QACD,sEAAsE;QACtE,4EAA4E;QAC5E,iCAAiC;QACjC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7C,MAAM,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAE,CAAC;QACjD,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC;QAChC,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YACnC,IAAI,MAAM,CAAC,UAAU,EAAE,KAAK,KAAK,GAAG;gBAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;QACzE,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACnB,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;AAC/B,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/** One statement this process ran, and what it cost. */
|
|
2
|
+
export interface QueryEvent {
|
|
3
|
+
/** Which storage ran it — a process may open several (`sources:`). */
|
|
4
|
+
storage: string;
|
|
5
|
+
sql: string;
|
|
6
|
+
/** What it read or wrote, or the storage when the statement names no table. */
|
|
7
|
+
subject: string;
|
|
8
|
+
/** `select`, `insert`, `update`, `delete` — its first word, whatever that turns out to be. */
|
|
9
|
+
verb: string;
|
|
10
|
+
/** How MANY parameters, never their values. */
|
|
11
|
+
parameters: number;
|
|
12
|
+
/** Rounded to three decimals: a sub-microsecond statement reports 17 digits otherwise. */
|
|
13
|
+
ms: number;
|
|
14
|
+
failed: boolean;
|
|
15
|
+
at: number;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=QueryEvent.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"QueryEvent.d.ts","sourceRoot":"","sources":["../../src/query/QueryEvent.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,MAAM,WAAW,UAAU;IACzB,sEAAsE;IACtE,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,+EAA+E;IAC/E,OAAO,EAAE,MAAM,CAAC;IAChB,8FAA8F;IAC9F,IAAI,EAAE,MAAM,CAAC;IACb,+CAA+C;IAC/C,UAAU,EAAE,MAAM,CAAC;IACnB,0FAA0F;IAC1F,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,OAAO,CAAC;IAChB,EAAE,EAAE,MAAM,CAAC;CACZ"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"QueryEvent.js","sourceRoot":"","sources":["../../src/query/QueryEvent.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { LogEvent } from 'kysely';
|
|
2
|
+
import type { QueryEvent } from './QueryEvent.js';
|
|
3
|
+
export type QuerySink = (event: QueryEvent) => void;
|
|
4
|
+
/** Be told about every statement this process runs, and get the unsubscription back. */
|
|
5
|
+
export declare function onQuery(sink: QuerySink): () => void;
|
|
6
|
+
/** The `log` every Kysely is built with. Named by storage, since a sink sees them all. */
|
|
7
|
+
export declare function logQueries(storage: string): (event: LogEvent) => void;
|
|
8
|
+
//# sourceMappingURL=QuerySink.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"QuerySink.d.ts","sourceRoot":"","sources":["../../src/query/QuerySink.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AACvC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAElD,MAAM,MAAM,SAAS,GAAG,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;AAIpD,wFAAwF;AACxF,wBAAgB,OAAO,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM,IAAI,CAOnD;AAeD,0FAA0F;AAC1F,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,CAAC,KAAK,EAAE,QAAQ,KAAK,IAAI,CAoBrE"}
|
|
@@ -8,6 +8,16 @@ export function onQuery(sink) {
|
|
|
8
8
|
sinks.splice(at, 1);
|
|
9
9
|
};
|
|
10
10
|
}
|
|
11
|
+
const VERB = /^\s*(\w+)/;
|
|
12
|
+
/** Every dialect quotes an identifier its own way, so all three forms are admitted. */
|
|
13
|
+
const SUBJECT = /\b(?:from|into|update)\s+["`[]?([\w$.]+)/i;
|
|
14
|
+
/**
|
|
15
|
+
* What a statement is ABOUT, read here rather than by each reader: a label wants a table and
|
|
16
|
+
* a verb, and re-reading the sql downstream would be the same regex written twice.
|
|
17
|
+
*/
|
|
18
|
+
function subjectOf(sql) {
|
|
19
|
+
return SUBJECT.exec(sql)?.[1];
|
|
20
|
+
}
|
|
11
21
|
/** The `log` every Kysely is built with. Named by storage, since a sink sees them all. */
|
|
12
22
|
export function logQueries(storage) {
|
|
13
23
|
return (event) => {
|
|
@@ -16,6 +26,8 @@ export function logQueries(storage) {
|
|
|
16
26
|
const told = {
|
|
17
27
|
storage,
|
|
18
28
|
sql: event.query.sql,
|
|
29
|
+
subject: subjectOf(event.query.sql) ?? storage,
|
|
30
|
+
verb: (VERB.exec(event.query.sql)?.[1] ?? 'statement').toLowerCase(),
|
|
19
31
|
parameters: event.query.parameters.length,
|
|
20
32
|
ms: Math.round(event.queryDurationMillis * 1000) / 1000,
|
|
21
33
|
failed: event.level === 'error',
|
|
@@ -31,4 +43,4 @@ export function logQueries(storage) {
|
|
|
31
43
|
}
|
|
32
44
|
};
|
|
33
45
|
}
|
|
34
|
-
//# sourceMappingURL=
|
|
46
|
+
//# sourceMappingURL=QuerySink.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"QuerySink.js","sourceRoot":"","sources":["../../src/query/QuerySink.ts"],"names":[],"mappings":"AAKA,MAAM,KAAK,GAAgB,EAAE,CAAC;AAE9B,wFAAwF;AACxF,MAAM,UAAU,OAAO,CAAC,IAAe;IACrC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEjB,OAAO,GAAG,EAAE;QACV,MAAM,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAI,EAAE,KAAK,CAAC,CAAC;YAAE,KAAK,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IACrC,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,IAAI,GAAG,WAAW,CAAC;AAEzB,uFAAuF;AACvF,MAAM,OAAO,GAAG,2CAA2C,CAAC;AAE5D;;;GAGG;AACH,SAAS,SAAS,CAAC,GAAW;IAC5B,OAAO,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAChC,CAAC;AAED,0FAA0F;AAC1F,MAAM,UAAU,UAAU,CAAC,OAAe;IACxC,OAAO,CAAC,KAAK,EAAE,EAAE;QACf,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAE/B,MAAM,IAAI,GAAe;YACvB,OAAO;YACP,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG;YACpB,OAAO,EAAE,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,OAAO;YAC9C,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,WAAW,CAAC,CAAC,WAAW,EAAE;YACpE,UAAU,EAAE,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM;YACzC,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,mBAAmB,GAAG,IAAI,CAAC,GAAG,IAAI;YACvD,MAAM,EAAE,KAAK,CAAC,KAAK,KAAK,OAAO;YAC/B,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE;SACf,CAAC;QACF,qFAAqF;QACrF,gFAAgF;QAChF,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,CAAC;gBAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,mBAAmB,CAAC,CAAC;QACnD,CAAC;IACH,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Setup.d.ts","sourceRoot":"","sources":["../../src/source/Setup.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEhD,mFAAmF;AACnF,MAAM,MAAM,KAAK,GAAG,SAAS,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Setup.js","sourceRoot":"","sources":["../../src/source/Setup.ts"],"names":[],"mappings":""}
|
|
@@ -1,15 +1,9 @@
|
|
|
1
|
-
/** Storage setup — the shape every engine answers, and no driver at all. */
|
|
2
1
|
import { Kysely, type Dialect as KyselyDialect } from 'kysely';
|
|
3
2
|
import type { Source } from '@fougere/core';
|
|
4
|
-
import { createStorageFactory
|
|
5
|
-
import type { DialectName } from '
|
|
6
|
-
import type { SqlSink } from '
|
|
7
|
-
|
|
8
|
-
/** Override naming for specific entities (e.g. better-auth wants singular table names). */
|
|
9
|
-
storageFactoryOptions?: StorageFactoryOptions;
|
|
10
|
-
/** What to call this storage when a query is reported. */
|
|
11
|
-
name?: string;
|
|
12
|
-
}
|
|
3
|
+
import { createStorageFactory } from '../crud/SqlStorage.js';
|
|
4
|
+
import type { DialectName } from '../dialect/DialectName.js';
|
|
5
|
+
import type { SqlSink } from '../ddl/SqlSink.js';
|
|
6
|
+
import type { SqlSourceOptions } from './SqlSourceOptions.js';
|
|
13
7
|
/** A `Source` realized by SQL — and the three members that are SQL's, not the routing's. */
|
|
14
8
|
export interface SqlSource extends Source {
|
|
15
9
|
dialect: DialectName;
|
|
@@ -24,12 +18,10 @@ export interface SqlSource extends Source {
|
|
|
24
18
|
/** Run `fn` inside one transaction of this engine, with a storage factory bound to it. */
|
|
25
19
|
transacted<R>(fn: (storageFactory: ReturnType<typeof createStorageFactory>) => Promise<R>): Promise<R>;
|
|
26
20
|
}
|
|
27
|
-
/** The name this shape answered to before it was one realization among several. */
|
|
28
|
-
export type Setup = SqlSource;
|
|
29
21
|
/** What every SQL engine keeps at the rows, whatever the dialect: the index IS the constraint. */
|
|
30
22
|
export declare const sqlEnforces: readonly ['unique'];
|
|
31
23
|
/** A sink that runs statements through Kysely — works on every engine. */
|
|
32
24
|
export declare function sqlSink(db: Kysely<any>): SqlSink;
|
|
33
25
|
/** Wrap any Kysely dialect — Postgres, MySQL, SQL Server. */
|
|
34
26
|
export declare function createKyselySource(kyselyDialect: KyselyDialect, dialect: DialectName, opts?: SqlSourceOptions): SqlSource;
|
|
35
|
-
//# sourceMappingURL=
|
|
27
|
+
//# sourceMappingURL=SqlSource.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SqlSource.d.ts","sourceRoot":"","sources":["../../src/source/SqlSource.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAO,KAAK,OAAO,IAAI,aAAa,EAAE,MAAM,QAAQ,CAAC;AACpE,OAAO,KAAK,EAAE,MAAM,EAAc,MAAM,eAAe,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAK7D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAE9D,4FAA4F;AAC5F,MAAM,WAAW,SAAU,SAAQ,MAAM;IACvC,OAAO,EAAE,WAAW,CAAC;IACrB,cAAc,EAAE,UAAU,CAAC,OAAO,oBAAoB,CAAC,CAAC;IACxD,+DAA+D;IAC/D,IAAI,EAAE,OAAO,CAAC;IACd;;;OAGG;IACH,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;IAChB,0FAA0F;IAC1F,UAAU,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,cAAc,EAAE,UAAU,CAAC,OAAO,oBAAoB,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;CACxG;AAED,kGAAkG;AAClG,eAAO,MAAM,WAAW,YAAI,QAAQ,CAAU,CAAC;AAa/C,0EAA0E;AAC1E,wBAAgB,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,GAAG,OAAO,CAEhD;AAED,6DAA6D;AAC7D,wBAAgB,kBAAkB,CAChC,aAAa,EAAE,aAAa,EAC5B,OAAO,EAAE,WAAW,EACpB,IAAI,GAAE,gBAAqB,GAC1B,SAAS,CAaX"}
|
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
/** Storage setup — the shape every engine answers, and no driver at all. */
|
|
2
1
|
import { Kysely, sql } from 'kysely';
|
|
3
|
-
import { createStorageFactory } from '
|
|
4
|
-
import { logQueries } from '
|
|
5
|
-
import { desiredTables, migrate } from '
|
|
6
|
-
import { drift, driftReport } from '
|
|
7
|
-
import { toTableName } from '
|
|
2
|
+
import { createStorageFactory } from '../crud/SqlStorage.js';
|
|
3
|
+
import { logQueries } from '../query/QuerySink.js';
|
|
4
|
+
import { desiredTables, migrate } from '../diff/Change.js';
|
|
5
|
+
import { drift, driftReport } from '../drift.js';
|
|
6
|
+
import { toTableName } from '../table/TableDef.js';
|
|
8
7
|
/** What every SQL engine keeps at the rows, whatever the dialect: the index IS the constraint. */
|
|
9
8
|
export const sqlEnforces = ['unique'];
|
|
10
9
|
/** The migration of what lives in ONE sql source, carrying its own dialect. */
|
|
@@ -35,4 +34,4 @@ export function createKyselySource(kyselyDialect, dialect, opts = {}) {
|
|
|
35
34
|
transacted: (fn) => db.transaction().execute((trx) => fn(createStorageFactory(trx, opts.storageFactoryOptions, dialect))),
|
|
36
35
|
};
|
|
37
36
|
}
|
|
38
|
-
//# sourceMappingURL=
|
|
37
|
+
//# sourceMappingURL=SqlSource.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SqlSource.js","sourceRoot":"","sources":["../../src/source/SqlSource.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,GAAG,EAAiC,MAAM,QAAQ,CAAC;AAEpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAoBnD,kGAAkG;AAClG,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,QAAQ,CAAU,CAAC;AAE/C,+EAA+E;AAC/E,SAAS,SAAS,CAAC,EAAe,EAAE,OAAoB,EAAE,IAAsB;IAC9E,OAAO,KAAK,EAAE,IAAgB,EAA0B,EAAE;QACxD,MAAM,OAAO,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,qBAAqB,EAAE,SAAS,IAAI,WAAW,EAAE,CAAC;QAC7F,MAAM,OAAO,CAAC,IAAa,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;QAC1C,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,EAAE,EAAE,aAAa,CAAC,IAAa,EAAE,OAAO,CAAC,CAAC,CAAC;QAErE,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACvD,CAAC,CAAC;AACJ,CAAC;AAED,0EAA0E;AAC1E,MAAM,UAAU,OAAO,CAAC,EAAe;IACrC,OAAO,EAAE,OAAO,EAAE,CAAC,SAAiB,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC;AAC5E,CAAC;AAED,6DAA6D;AAC7D,MAAM,UAAU,kBAAkB,CAChC,aAA4B,EAC5B,OAAoB,EACpB,IAAI,GAAqB,EAAE;IAE3B,MAAM,EAAE,GAAG,IAAI,MAAM,CAAM,EAAE,OAAO,EAAE,aAAa,EAAE,GAAG,EAAE,UAAU,CAAC,IAAI,CAAC,IAAI,IAAI,OAAO,CAAC,EAAE,CAAC,CAAC;IAC9F,OAAO;QACL,EAAE;QACF,OAAO;QACP,cAAc,EAAE,oBAAoB,CAAC,EAAE,EAAE,IAAI,CAAC,qBAAqB,EAAE,OAAO,CAAC;QAC7E,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC;QACjB,OAAO,EAAE,SAAS,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC;QACrC,KAAK,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE;QACzB,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,OAAO;QAC1B,QAAQ,EAAE,WAAW;QACrB,UAAU,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,oBAAoB,CAAC,GAAG,EAAE,IAAI,CAAC,qBAAqB,EAAE,OAAO,CAAC,CAAC,CAAC;KAC1H,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { type StorageFactoryOptions } from '../crud/StorageFactoryOptions.js';
|
|
2
|
+
export interface SqlSourceOptions {
|
|
3
|
+
/** Override naming for specific entities (e.g. better-auth wants singular table names). */
|
|
4
|
+
storageFactoryOptions?: StorageFactoryOptions;
|
|
5
|
+
/** What to call this storage when a query is reported. */
|
|
6
|
+
name?: string;
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=SqlSourceOptions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SqlSourceOptions.d.ts","sourceRoot":"","sources":["../../src/source/SqlSourceOptions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AAE9E,MAAM,WAAW,gBAAgB;IAC/B,2FAA2F;IAC3F,qBAAqB,CAAC,EAAE,qBAAqB,CAAC;IAC9C,0DAA0D;IAC1D,IAAI,CAAC,EAAE,MAAM,CAAC;CACf"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SqlSourceOptions.js","sourceRoot":"","sources":["../../src/source/SqlSourceOptions.ts"],"names":[],"mappings":""}
|
|
@@ -1,12 +1,9 @@
|
|
|
1
1
|
import Database from 'better-sqlite3';
|
|
2
|
-
import { type
|
|
3
|
-
|
|
4
|
-
/** Filesystem path to the database. Defaults to a project-local file. */
|
|
5
|
-
path?: string;
|
|
6
|
-
}
|
|
2
|
+
import { type SqlSource } from '../source/SqlSource.js';
|
|
3
|
+
import type { SqliteSourceOptions } from './SqliteSourceOptions.js';
|
|
7
4
|
export interface SqliteSource extends SqlSource {
|
|
8
5
|
/** The raw handle, for pragmas and synchronous exec. */
|
|
9
6
|
sqlite: Database.Database;
|
|
10
7
|
}
|
|
11
8
|
export declare function createSqliteSource(opts?: SqliteSourceOptions): SqliteSource;
|
|
12
|
-
//# sourceMappingURL=
|
|
9
|
+
//# sourceMappingURL=SqliteSource.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SqliteSource.d.ts","sourceRoot":"","sources":["../../src/sqlite/SqliteSource.ts"],"names":[],"mappings":"AAGA,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AAItC,OAAO,EAAwB,KAAK,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAI9E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAEpE,MAAM,WAAW,YAAa,SAAQ,SAAS;IAC7C,wDAAwD;IACxD,MAAM,EAAE,QAAQ,CAAC,QAAQ,CAAC;CAC3B;AAED,wBAAgB,kBAAkB,CAAC,IAAI,GAAE,mBAAwB,GAAG,YAAY,CA4B/E"}
|
|
@@ -1,14 +1,13 @@
|
|
|
1
|
-
/** SQLite on a file — the convention a first run meets, and the only driver this package owns. */
|
|
2
1
|
import { mkdirSync } from 'node:fs';
|
|
3
2
|
import { dirname } from 'node:path';
|
|
4
3
|
import { Kysely, SqliteDialect } from 'kysely';
|
|
5
4
|
import Database from 'better-sqlite3';
|
|
6
|
-
import { createStorageFactory } from '
|
|
7
|
-
import { logQueries } from '
|
|
8
|
-
import { drift, driftReport } from '
|
|
9
|
-
import {
|
|
10
|
-
import { desiredTables, migrate } from '
|
|
11
|
-
import { toTableName } from '
|
|
5
|
+
import { createStorageFactory } from '../crud/SqlStorage.js';
|
|
6
|
+
import { logQueries } from '../query/QuerySink.js';
|
|
7
|
+
import { drift, driftReport } from '../drift.js';
|
|
8
|
+
import { sqlEnforces, sqlSink } from '../source/SqlSource.js';
|
|
9
|
+
import { desiredTables, migrate } from '../diff/Change.js';
|
|
10
|
+
import { toTableName } from '../table/TableDef.js';
|
|
12
11
|
import { Sources } from '@fougere/core';
|
|
13
12
|
export function createSqliteSource(opts = {}) {
|
|
14
13
|
const path = opts.path ?? 'fougere.db';
|
|
@@ -49,4 +48,4 @@ Sources.register('sql', (conf) => {
|
|
|
49
48
|
}
|
|
50
49
|
return createSqliteSource({ path: conf.path, name: conf.name });
|
|
51
50
|
});
|
|
52
|
-
//# sourceMappingURL=
|
|
51
|
+
//# sourceMappingURL=SqliteSource.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SqliteSource.js","sourceRoot":"","sources":["../../src/sqlite/SqliteSource.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { type SqlSourceOptions } from '../source/SqlSourceOptions.js';
|
|
2
|
+
export interface SqliteSourceOptions extends SqlSourceOptions {
|
|
3
|
+
/** Filesystem path to the database. Defaults to a project-local file. */
|
|
4
|
+
path?: string;
|
|
5
|
+
}
|
|
6
|
+
//# sourceMappingURL=SqliteSourceOptions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SqliteSourceOptions.d.ts","sourceRoot":"","sources":["../../src/sqlite/SqliteSourceOptions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAEtE,MAAM,WAAW,mBAAoB,SAAQ,gBAAgB;IAC3D,yEAAyE;IACzE,IAAI,CAAC,EAAE,MAAM,CAAC;CACf"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SqliteSourceOptions.js","sourceRoot":"","sources":["../../src/sqlite/SqliteSourceOptions.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/sqlite/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,EAAE,KAAK,YAAY,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/sqlite/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAqB,kBAAkB,EAAE,MAAM,mBAAmB,CAAC"}
|
|
@@ -1,26 +1,10 @@
|
|
|
1
|
-
/** The half `delta()` refuses — realised from an intention that was written down. */
|
|
2
1
|
import { type Kysely } from 'kysely';
|
|
3
2
|
import type { SetDiff } from '@fougere/schema';
|
|
4
|
-
import { type DialectName } from '
|
|
5
|
-
import { type TableDef } from '
|
|
6
|
-
import type {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
kind: 'renameColumn';
|
|
10
|
-
table: string;
|
|
11
|
-
from: string;
|
|
12
|
-
to: string;
|
|
13
|
-
} | {
|
|
14
|
-
kind: 'dropColumn';
|
|
15
|
-
table: string;
|
|
16
|
-
column: string;
|
|
17
|
-
};
|
|
18
|
-
/** Something the step asks and the DDL will not do, naming why and what fixes it. */
|
|
19
|
-
export interface Refusal {
|
|
20
|
-
entity: string;
|
|
21
|
-
field: string;
|
|
22
|
-
reason: string;
|
|
23
|
-
}
|
|
3
|
+
import { type DialectName } from '../dialect/DialectName.js';
|
|
4
|
+
import { type TableDef } from '../table/TableDef.js';
|
|
5
|
+
import type { StepChange } from './StepChange.js';
|
|
6
|
+
import type { Refusal } from './Refusal.js';
|
|
7
|
+
import type { PlanOptions } from './PlanOptions.js';
|
|
24
8
|
export interface Plan {
|
|
25
9
|
changes: StepChange[];
|
|
26
10
|
/**
|
|
@@ -29,12 +13,6 @@ export interface Plan {
|
|
|
29
13
|
*/
|
|
30
14
|
refusals: Refusal[];
|
|
31
15
|
}
|
|
32
|
-
export interface PlanOptions {
|
|
33
|
-
/** Entity key → table name. Same resolver `desiredTables` takes. */
|
|
34
|
-
tableName?: (name: string) => string;
|
|
35
|
-
/** What the database actually holds, from `actualState`. */
|
|
36
|
-
actual?: SchemaState;
|
|
37
|
-
}
|
|
38
16
|
/** Collapse a chain of steps into one, following each field through its renames. */
|
|
39
17
|
export declare function collapseChain(steps: readonly SetDiff[]): SetDiff;
|
|
40
18
|
/** Turn a frozen step into what the tables must do, and what nobody may decide for you. */
|
|
@@ -46,4 +24,4 @@ export declare function stepSQL(change: StepChange, dialectName?: DialectName):
|
|
|
46
24
|
* plan someone has to read, and half a rename is worse than none.
|
|
47
25
|
*/
|
|
48
26
|
export declare function applyStep(plan: Plan, db: Kysely<any>, dialectName?: DialectName): Promise<string[]>;
|
|
49
|
-
//# sourceMappingURL=
|
|
27
|
+
//# sourceMappingURL=Plan.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Plan.d.ts","sourceRoot":"","sources":["../../src/step/Plan.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,KAAK,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC1C,OAAO,KAAK,EAAyB,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAGtE,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAA4B,KAAK,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAC/E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEpD,MAAM,WAAW,IAAI;IACnB,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB;;;OAGG;IACH,QAAQ,EAAE,OAAO,EAAE,CAAC;CACrB;AAED,oFAAoF;AACpF,wBAAgB,aAAa,CAAC,KAAK,EAAE,SAAS,OAAO,EAAE,GAAG,OAAO,CAgBhE;AAmCD,2FAA2F;AAC3F,wBAAgB,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,OAAO,GAAE,WAAgB,GAAG,IAAI,CAwB3F;AAyGD,0FAA0F;AAC1F,wBAAgB,OAAO,CAAC,MAAM,EAAE,UAAU,EAAE,WAAW,GAAE,WAAsB,GAAG,MAAM,CAKvF;AAED;;;GAGG;AACH,wBAAsB,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,WAAW,GAAE,WAAsB,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAYnH"}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
/** The half `delta()` refuses — realised from an intention that was written down. */
|
|
2
1
|
import { sql } from 'kysely';
|
|
3
2
|
import { dequal } from 'dequal';
|
|
4
|
-
import { compiler } from '
|
|
5
|
-
import { toSnakeCase, toTableName } from '
|
|
3
|
+
import { compiler } from '../ddl/SqlSink.js';
|
|
4
|
+
import { toSnakeCase, toTableName } from '../table/TableDef.js';
|
|
6
5
|
/** Collapse a chain of steps into one, following each field through its renames. */
|
|
7
6
|
export function collapseChain(steps) {
|
|
8
7
|
const entities = {};
|
|
@@ -118,11 +117,11 @@ function realise(entity, table, change, target) {
|
|
|
118
117
|
};
|
|
119
118
|
case 'reshaped':
|
|
120
119
|
// A tightened bound is a CHECK, and altering one on a live table is engine-specific
|
|
121
|
-
// AND may be refused by rows already stored. The validator still enforces it at the
|
|
120
|
+
// AND may be refused by rows already stored. The validator still enforces it at the facade.
|
|
122
121
|
return {
|
|
123
122
|
entity,
|
|
124
123
|
field: change.field,
|
|
125
|
-
reason: `bounds moved — the
|
|
124
|
+
reason: `bounds moved — the facade enforces them, the table keeps its old CHECK until you migrate it`,
|
|
126
125
|
};
|
|
127
126
|
case 'restated':
|
|
128
127
|
return restated(entity, change);
|
|
@@ -195,4 +194,4 @@ export async function applyStep(plan, db, dialectName = 'sqlite') {
|
|
|
195
194
|
}
|
|
196
195
|
return run;
|
|
197
196
|
}
|
|
198
|
-
//# sourceMappingURL=
|
|
197
|
+
//# sourceMappingURL=Plan.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Plan.js","sourceRoot":"","sources":["../../src/step/Plan.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { SchemaState } from '../diff/SchemaState.js';
|
|
2
|
+
export interface PlanOptions {
|
|
3
|
+
/** Entity key → table name. Same resolver `desiredTables` takes. */
|
|
4
|
+
tableName?: (name: string) => string;
|
|
5
|
+
/** What the database actually holds, from `actualState`. */
|
|
6
|
+
actual?: SchemaState;
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=PlanOptions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PlanOptions.d.ts","sourceRoot":"","sources":["../../src/step/PlanOptions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAE1D,MAAM,WAAW,WAAW;IAC1B,oEAAoE;IACpE,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;IACrC,4DAA4D;IAC5D,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PlanOptions.js","sourceRoot":"","sources":["../../src/step/PlanOptions.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Refusal.d.ts","sourceRoot":"","sources":["../../src/step/Refusal.ts"],"names":[],"mappings":"AAAA,qFAAqF;AACrF,MAAM,WAAW,OAAO;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Refusal.js","sourceRoot":"","sources":["../../src/step/Refusal.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/** What a step asks of the tables — beyond what an additive pass already covers. */
|
|
2
|
+
export type StepChange = {
|
|
3
|
+
kind: 'renameColumn';
|
|
4
|
+
table: string;
|
|
5
|
+
from: string;
|
|
6
|
+
to: string;
|
|
7
|
+
} | {
|
|
8
|
+
kind: 'dropColumn';
|
|
9
|
+
table: string;
|
|
10
|
+
column: string;
|
|
11
|
+
};
|
|
12
|
+
//# sourceMappingURL=StepChange.d.ts.map
|