@metaobjectsdev/cli 0.8.1 → 0.9.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/README.md +40 -1
- package/dist/src/commands/migrate.d.ts +16 -0
- package/dist/src/commands/migrate.d.ts.map +1 -1
- package/dist/src/commands/migrate.js +252 -39
- package/dist/src/commands/migrate.js.map +1 -1
- package/dist/src/commands/verify.d.ts.map +1 -1
- package/dist/src/commands/verify.js +162 -53
- package/dist/src/commands/verify.js.map +1 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +6 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/lib/allow.d.ts +10 -0
- package/dist/src/lib/allow.d.ts.map +1 -0
- package/dist/src/lib/allow.js +50 -0
- package/dist/src/lib/allow.js.map +1 -0
- package/dist/src/lib/args.d.ts +22 -4
- package/dist/src/lib/args.d.ts.map +1 -1
- package/dist/src/lib/args.js +47 -11
- package/dist/src/lib/args.js.map +1 -1
- package/dist/src/lib/bun-sqlite-dialect.d.ts +13 -0
- package/dist/src/lib/bun-sqlite-dialect.d.ts.map +1 -0
- package/dist/src/lib/bun-sqlite-dialect.js +119 -0
- package/dist/src/lib/bun-sqlite-dialect.js.map +1 -0
- package/dist/src/lib/config.d.ts +11 -0
- package/dist/src/lib/config.d.ts.map +1 -1
- package/dist/src/lib/config.js +4 -0
- package/dist/src/lib/config.js.map +1 -1
- package/dist/src/lib/kysely.d.ts.map +1 -1
- package/dist/src/lib/kysely.js +21 -7
- package/dist/src/lib/kysely.js.map +1 -1
- package/dist/src/lib/projection-migrations.d.ts.map +1 -1
- package/dist/src/lib/projection-migrations.js +2 -6
- package/dist/src/lib/projection-migrations.js.map +1 -1
- package/package.json +11 -10
- package/src/commands/migrate.ts +277 -42
- package/src/commands/verify.ts +172 -61
- package/src/index.ts +6 -0
- package/src/lib/allow.ts +54 -0
- package/src/lib/args.ts +77 -15
- package/src/lib/bun-sqlite-dialect.ts +146 -0
- package/src/lib/config.ts +15 -0
- package/src/lib/kysely.ts +23 -10
- package/src/lib/projection-migrations.ts +2 -6
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
// A Kysely SQLite dialect backed by Bun's built-in `bun:sqlite`.
|
|
2
|
+
//
|
|
3
|
+
// WHY: the standalone `meta` binary is produced with `bun build --compile`,
|
|
4
|
+
// which embeds the Bun runtime but CANNOT bundle native node addons. The
|
|
5
|
+
// default sqlite driver (`@libsql/kysely-libsql`) loads a platform-native
|
|
6
|
+
// `.node` addon (`@libsql/linux-x64-gnu` etc.) via a runtime require that the
|
|
7
|
+
// single-file binary's virtual filesystem can't resolve — so libsql fails
|
|
8
|
+
// inside the compiled binary with `Cannot find module '@libsql/linux-x64-gnu'`.
|
|
9
|
+
//
|
|
10
|
+
// `bun:sqlite` ships *inside* the Bun runtime that `--compile` embeds, so it
|
|
11
|
+
// needs no on-disk addon. This dialect is therefore the sqlite driver the
|
|
12
|
+
// standalone binary uses. The npm/Node distribution keeps using libsql (this
|
|
13
|
+
// module is only loaded when running under Bun — see buildKyselyFromUrl).
|
|
14
|
+
//
|
|
15
|
+
// The `bun:sqlite` import is dynamic + typed loosely so the tsc → Node build
|
|
16
|
+
// (which has no `bun:sqlite` module) never tries to resolve it statically.
|
|
17
|
+
import { SqliteAdapter, SqliteIntrospector, SqliteQueryCompiler, } from "kysely";
|
|
18
|
+
/**
|
|
19
|
+
* Open a `bun:sqlite` database for a `file:`/`libsql:` URL (or a bare path).
|
|
20
|
+
* Throws when not running under Bun (no `bun:sqlite` module).
|
|
21
|
+
*/
|
|
22
|
+
async function openBunSqlite(url) {
|
|
23
|
+
// `bun:sqlite` is a Bun built-in; the dynamic specifier keeps Node/tsc from
|
|
24
|
+
// resolving it. The cast is necessary because there's no ambient type here.
|
|
25
|
+
const mod = (await import("bun:sqlite"));
|
|
26
|
+
// Strip a file:/libsql: scheme to a plain filesystem path; `:memory:` stays.
|
|
27
|
+
let filename = url;
|
|
28
|
+
const schemeMatch = /^(file|libsql):\/\/(.*)$/i.exec(url) ?? /^(file|libsql):(.*)$/i.exec(url);
|
|
29
|
+
if (schemeMatch)
|
|
30
|
+
filename = schemeMatch[2] ?? "";
|
|
31
|
+
if (filename === "")
|
|
32
|
+
filename = ":memory:";
|
|
33
|
+
return new mod.Database(filename);
|
|
34
|
+
}
|
|
35
|
+
class BunSqliteConnection {
|
|
36
|
+
db;
|
|
37
|
+
constructor(db) {
|
|
38
|
+
this.db = db;
|
|
39
|
+
}
|
|
40
|
+
async executeQuery(compiledQuery) {
|
|
41
|
+
const { sql, parameters } = compiledQuery;
|
|
42
|
+
const stmt = this.db.query(sql);
|
|
43
|
+
const params = parameters;
|
|
44
|
+
// SELECT-shaped statements return rows; everything else reports counts.
|
|
45
|
+
const isReturningRows = /^\s*(select|with|pragma)\b/i.test(sql);
|
|
46
|
+
if (isReturningRows) {
|
|
47
|
+
const rows = stmt.all(...params);
|
|
48
|
+
return { rows };
|
|
49
|
+
}
|
|
50
|
+
const info = stmt.run(...params);
|
|
51
|
+
return {
|
|
52
|
+
numAffectedRows: BigInt(info.changes),
|
|
53
|
+
insertId: BigInt(info.lastInsertRowid),
|
|
54
|
+
rows: [],
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
// Async generator that never yields by design — streaming is unsupported.
|
|
58
|
+
async *streamQuery() {
|
|
59
|
+
throw new Error("bun:sqlite dialect does not support streaming");
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
class BunSqliteDriver {
|
|
63
|
+
url;
|
|
64
|
+
db;
|
|
65
|
+
connection;
|
|
66
|
+
constructor(url) {
|
|
67
|
+
this.url = url;
|
|
68
|
+
}
|
|
69
|
+
async init() {
|
|
70
|
+
this.db = await openBunSqlite(this.url);
|
|
71
|
+
this.connection = new BunSqliteConnection(this.db);
|
|
72
|
+
}
|
|
73
|
+
async acquireConnection() {
|
|
74
|
+
if (this.connection === undefined)
|
|
75
|
+
throw new Error("bun:sqlite driver not initialized");
|
|
76
|
+
return this.connection;
|
|
77
|
+
}
|
|
78
|
+
async beginTransaction(conn) {
|
|
79
|
+
await conn.executeQuery({ sql: "begin", parameters: [], query: { kind: "RawNode" } });
|
|
80
|
+
}
|
|
81
|
+
async commitTransaction(conn) {
|
|
82
|
+
await conn.executeQuery({ sql: "commit", parameters: [], query: { kind: "RawNode" } });
|
|
83
|
+
}
|
|
84
|
+
async rollbackTransaction(conn) {
|
|
85
|
+
await conn.executeQuery({ sql: "rollback", parameters: [], query: { kind: "RawNode" } });
|
|
86
|
+
}
|
|
87
|
+
async releaseConnection() {
|
|
88
|
+
/* single shared connection — nothing to release */
|
|
89
|
+
}
|
|
90
|
+
async destroy() {
|
|
91
|
+
this.db?.close();
|
|
92
|
+
this.db = undefined;
|
|
93
|
+
this.connection = undefined;
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
/** Kysely Dialect backed by `bun:sqlite`. */
|
|
97
|
+
export class BunSqliteDialect {
|
|
98
|
+
url;
|
|
99
|
+
constructor(url) {
|
|
100
|
+
this.url = url;
|
|
101
|
+
}
|
|
102
|
+
createDriver() {
|
|
103
|
+
return new BunSqliteDriver(this.url);
|
|
104
|
+
}
|
|
105
|
+
createQueryCompiler() {
|
|
106
|
+
return new SqliteQueryCompiler();
|
|
107
|
+
}
|
|
108
|
+
createAdapter() {
|
|
109
|
+
return new SqliteAdapter();
|
|
110
|
+
}
|
|
111
|
+
createIntrospector(db) {
|
|
112
|
+
return new SqliteIntrospector(db);
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
/** True when running under the Bun runtime (where `bun:sqlite` is available). */
|
|
116
|
+
export function isBun() {
|
|
117
|
+
return typeof globalThis.Bun !== "undefined";
|
|
118
|
+
}
|
|
119
|
+
//# sourceMappingURL=bun-sqlite-dialect.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bun-sqlite-dialect.js","sourceRoot":"","sources":["../../../src/lib/bun-sqlite-dialect.ts"],"names":[],"mappings":"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"}
|
package/dist/src/lib/config.d.ts
CHANGED
|
@@ -19,7 +19,18 @@ export interface ResolvedMigrateConfig {
|
|
|
19
19
|
allow: string[];
|
|
20
20
|
slug: string | undefined;
|
|
21
21
|
dryRun: boolean;
|
|
22
|
+
/** Run pending migration files against the DB (postgres/sqlite, ledger-backed). */
|
|
23
|
+
apply: boolean;
|
|
24
|
+
/**
|
|
25
|
+
* Roll back all applied migrations newer than this target (target retained),
|
|
26
|
+
* postgres/sqlite only. Mutually exclusive with apply.
|
|
27
|
+
*/
|
|
28
|
+
rollback: string | undefined;
|
|
22
29
|
yes: boolean;
|
|
30
|
+
/** Use live-DB introspection instead of the committed snapshot. */
|
|
31
|
+
fromDb: boolean;
|
|
32
|
+
/** Seed the snapshot and exit (no migration). */
|
|
33
|
+
baseline: boolean;
|
|
23
34
|
d1: ResolvedD1Config;
|
|
24
35
|
}
|
|
25
36
|
export declare function resolveGenConfig(flags: GenFlags): ResolvedGenConfig;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/lib/config.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACxD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAM3C,eAAO,MAAM,uBAAuB,8BAA8B,CAAC;AAcnE,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,OAAO,CAAC;IACnB,kBAAkB,EAAE,MAAM,GAAG,SAAS,CAAC;CACxC;AAED,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,OAAO,EAAE,OAAO,GAAG,SAAS,CAAC;IAC7B,WAAW,EAAE,OAAO,GAAG,QAAQ,GAAG,UAAU,CAAC;IAC7C,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,MAAM,EAAE,OAAO,CAAC;IAChB,GAAG,EAAE,OAAO,CAAC;IACb,EAAE,EAAE,gBAAgB,CAAC;CACtB;AAmBD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,QAAQ,GAAG,iBAAiB,CAEnE;AAED,wBAAsB,oBAAoB,CACxC,KAAK,EAAE,YAAY,EACnB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,qBAAqB,CAAC,
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/lib/config.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACxD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAM3C,eAAO,MAAM,uBAAuB,8BAA8B,CAAC;AAcnE,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,OAAO,CAAC;IACnB,kBAAkB,EAAE,MAAM,GAAG,SAAS,CAAC;CACxC;AAED,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,OAAO,EAAE,OAAO,GAAG,SAAS,CAAC;IAC7B,WAAW,EAAE,OAAO,GAAG,QAAQ,GAAG,UAAU,CAAC;IAC7C,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,MAAM,EAAE,OAAO,CAAC;IAChB,mFAAmF;IACnF,KAAK,EAAE,OAAO,CAAC;IACf;;;OAGG;IACH,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,GAAG,EAAE,OAAO,CAAC;IACb,mEAAmE;IACnE,MAAM,EAAE,OAAO,CAAC;IAChB,iDAAiD;IACjD,QAAQ,EAAE,OAAO,CAAC;IAClB,EAAE,EAAE,gBAAgB,CAAC;CACtB;AAmBD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,QAAQ,GAAG,iBAAiB,CAEnE;AAED,wBAAsB,oBAAoB,CACxC,KAAK,EAAE,YAAY,EACnB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,qBAAqB,CAAC,CA6BhC"}
|
package/dist/src/lib/config.js
CHANGED
|
@@ -45,7 +45,11 @@ export async function resolveMigrateConfig(flags, metaRoot) {
|
|
|
45
45
|
: (cfgBlock.allow ?? MIGRATE_DEFAULTS.allow),
|
|
46
46
|
slug: flags.slug,
|
|
47
47
|
dryRun: flags.dryRun,
|
|
48
|
+
apply: flags.apply,
|
|
49
|
+
rollback: flags.rollback,
|
|
48
50
|
yes: flags.yes,
|
|
51
|
+
fromDb: flags.fromDb,
|
|
52
|
+
baseline: flags.baseline,
|
|
49
53
|
d1: {
|
|
50
54
|
binding: flags.d1Binding ?? d1Block.binding,
|
|
51
55
|
remote: flags.remote || (d1Block.remote ?? false),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/lib/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,YAAY,EAAe,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAIzF,8EAA8E;AAC9E,oBAAoB;AACpB,8EAA8E;AAE9E,MAAM,CAAC,MAAM,uBAAuB,GAAG,2BAA2B,CAAC;AAEnE,MAAM,gBAAgB,GAAG;IACvB,MAAM,EAAE,uBAAuB;IAC/B,WAAW,EAAE,SAA+B;IAC5C,OAAO,EAAE,SAAgC;IACzC,WAAW,EAAE,OAAgB;IAC7B,KAAK,EAAE,EAAc;CACtB,CAAC;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/lib/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kysely.d.ts","sourceRoot":"","sources":["../../../src/lib/kysely.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"kysely.d.ts","sourceRoot":"","sources":["../../../src/lib/kysely.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAGhC,MAAM,MAAM,OAAO,GAAG,QAAQ,GAAG,UAAU,GAAG,IAAI,CAAC;AAEnD,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACpC,OAAO,EAAE,OAAO,CAAC;IACjB,uDAAuD;IACvD,UAAU,EAAE,MAAM,CAAC;IACnB,gDAAgD;IAChD,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5B;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAkBjD;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE7C;AAED;;;;;;;GAOG;AACH,wBAAsB,kBAAkB,CACtC,GAAG,EAAE,MAAM,EACX,eAAe,CAAC,EAAE,OAAO,GACxB,OAAO,CAAC,YAAY,CAAC,CA6EvB"}
|
package/dist/src/lib/kysely.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Kysely } from "kysely";
|
|
2
|
+
import { BunSqliteDialect, isBun } from "./bun-sqlite-dialect.js";
|
|
2
3
|
/**
|
|
3
4
|
* Infer dialect from URL scheme. Throws if the scheme isn't recognized.
|
|
4
5
|
*/
|
|
@@ -40,15 +41,28 @@ export async function buildKyselyFromUrl(url, dialectOverride) {
|
|
|
40
41
|
throw new Error(`dialect 'd1' does not use a URL connection; use meta migrate --d1 <binding>`);
|
|
41
42
|
}
|
|
42
43
|
if (dialect === "sqlite") {
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
44
|
+
// Under Bun (notably the `bun build --compile` standalone binary), use the
|
|
45
|
+
// built-in `bun:sqlite` driver. It ships inside the embedded Bun runtime,
|
|
46
|
+
// so — unlike `@libsql/kysely-libsql`, whose platform-native `.node` addon
|
|
47
|
+
// can't be bundled into a single-file binary — it works in the compiled
|
|
48
|
+
// `meta` binary with no on-disk dependency. The Node/npm distribution falls
|
|
49
|
+
// through to libsql below.
|
|
50
|
+
let sqliteDialect;
|
|
51
|
+
if (isBun()) {
|
|
52
|
+
sqliteDialect = new BunSqliteDialect(url);
|
|
47
53
|
}
|
|
48
|
-
|
|
49
|
-
|
|
54
|
+
else {
|
|
55
|
+
let LibsqlDialect;
|
|
56
|
+
try {
|
|
57
|
+
const mod = await import("@libsql/kysely-libsql");
|
|
58
|
+
LibsqlDialect = mod.LibsqlDialect;
|
|
59
|
+
}
|
|
60
|
+
catch {
|
|
61
|
+
throw new Error(`dialect 'sqlite' requires '@libsql/kysely-libsql'; install it: 'bun add @libsql/kysely-libsql'`);
|
|
62
|
+
}
|
|
63
|
+
sqliteDialect = new LibsqlDialect({ url });
|
|
50
64
|
}
|
|
51
|
-
const db = new Kysely({ dialect:
|
|
65
|
+
const db = new Kysely({ dialect: sqliteDialect });
|
|
52
66
|
let closed = false;
|
|
53
67
|
return {
|
|
54
68
|
db,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kysely.js","sourceRoot":"","sources":["../../../src/lib/kysely.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"kysely.js","sourceRoot":"","sources":["../../../src/lib/kysely.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"projection-migrations.d.ts","sourceRoot":"","sources":["../../../src/lib/projection-migrations.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,QAAQ,EACd,MAAM,0BAA0B,CAAC;AAMlC,OAAO,
|
|
1
|
+
{"version":3,"file":"projection-migrations.d.ts","sourceRoot":"","sources":["../../../src/lib/projection-migrations.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,QAAQ,EACd,MAAM,0BAA0B,CAAC;AAMlC,OAAO,EAIL,KAAK,oBAAoB,EAC1B,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAE3C,0EAA0E;AAC1E,MAAM,MAAM,0BAA0B,GAAG,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;AAElF,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC;IACjC,qFAAqF;IACrF,QAAQ,CAAC,oBAAoB,CAAC,EAAE,YAAY,GAAG,SAAS,GAAG,YAAY,CAAC;IACxE;;;;;OAKG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACxD;AAED;;;;;;;GAOG;AACH,wBAAgB,2BAA2B,CACzC,IAAI,EAAE,wBAAwB,GAC7B,oBAAoB,CAsEtB;AAED;;;;GAIG;AACH,wBAAgB,iCAAiC,CAC/C,IAAI,EAAE,IAAI,CAAC,wBAAwB,EAAE,UAAU,GAAG,sBAAsB,CAAC,GACxE,0BAA0B,CAgC5B"}
|
|
@@ -1,10 +1,6 @@
|
|
|
1
1
|
import { resolveTableName, MetaRoot, } from "@metaobjectsdev/metadata";
|
|
2
2
|
import { isProjection, extractViewSpec, emitViewDdl, } from "@metaobjectsdev/codegen-ts";
|
|
3
|
-
import { computeViewMigrations, } from "@metaobjectsdev/migrate-ts";
|
|
4
|
-
/** Collapse whitespace + strip trailing ";" for textual view-SQL comparison. */
|
|
5
|
-
function normalizeViewSql(sql) {
|
|
6
|
-
return sql.replace(/\s+/g, " ").replace(/;\s*$/, "").trim();
|
|
7
|
-
}
|
|
3
|
+
import { computeViewMigrations, viewSqlEquals, } from "@metaobjectsdev/migrate-ts";
|
|
8
4
|
/**
|
|
9
5
|
* Walk all projection entities in metadata, extract their ViewSpec, emit CREATE
|
|
10
6
|
* VIEW DDL, and compute view migration SQL via computeViewMigrations.
|
|
@@ -54,7 +50,7 @@ export function computeProjectionMigrations(opts) {
|
|
|
54
50
|
// Avoids the "every migration re-creates every view" noise when nothing
|
|
55
51
|
// about the view's body actually changed.
|
|
56
52
|
const existing = opts.existingViewSql?.get(spec.viewName);
|
|
57
|
-
if (existing !== undefined &&
|
|
53
|
+
if (existing !== undefined && viewSqlEquals(existing, createSql)) {
|
|
58
54
|
continue;
|
|
59
55
|
}
|
|
60
56
|
views.push({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"projection-migrations.js","sourceRoot":"","sources":["../../../src/lib/projection-migrations.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,QAAQ,GAET,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,YAAY,EACZ,eAAe,EACf,WAAW,GACZ,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,qBAAqB,
|
|
1
|
+
{"version":3,"file":"projection-migrations.js","sourceRoot":"","sources":["../../../src/lib/projection-migrations.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@metaobjectsdev/cli",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.9.0",
|
|
4
4
|
"description": "CLI for MetaObjects: scaffold, codegen, migrate, and drift-detection commands.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/src/index.js",
|
|
@@ -21,7 +21,8 @@
|
|
|
21
21
|
"files": ["dist", "src", "README.md", "LICENSE"],
|
|
22
22
|
"scripts": {
|
|
23
23
|
"build": "tsc -p .",
|
|
24
|
-
"typecheck": "tsc -p tsconfig.typecheck.json"
|
|
24
|
+
"typecheck": "tsc -p tsconfig.typecheck.json",
|
|
25
|
+
"build:binary": "bun build ./bin/meta.ts --compile --outfile dist/meta --external @biomejs/wasm-bundler --external @biomejs/wasm-web"
|
|
25
26
|
},
|
|
26
27
|
"license": "Apache-2.0",
|
|
27
28
|
"author": "Doug Mealing <doug@dougmealing.com>",
|
|
@@ -36,14 +37,14 @@
|
|
|
36
37
|
},
|
|
37
38
|
"keywords": ["metaobjects", "cli", "scaffold", "codegen", "drift-detection"],
|
|
38
39
|
"dependencies": {
|
|
39
|
-
"@metaobjectsdev/sdk": "0.
|
|
40
|
-
"@metaobjectsdev/metadata": "0.
|
|
41
|
-
"@metaobjectsdev/render": "0.
|
|
42
|
-
"@metaobjectsdev/codegen-ts": "0.
|
|
43
|
-
"@metaobjectsdev/codegen-ts-react": "0.
|
|
44
|
-
"@metaobjectsdev/codegen-ts-tanstack": "0.
|
|
45
|
-
"@metaobjectsdev/migrate-ts": "0.
|
|
46
|
-
"@metaobjectsdev/runtime-ts": "0.
|
|
40
|
+
"@metaobjectsdev/sdk": "0.9.0",
|
|
41
|
+
"@metaobjectsdev/metadata": "0.9.0",
|
|
42
|
+
"@metaobjectsdev/render": "0.9.0",
|
|
43
|
+
"@metaobjectsdev/codegen-ts": "0.9.0",
|
|
44
|
+
"@metaobjectsdev/codegen-ts-react": "0.9.0",
|
|
45
|
+
"@metaobjectsdev/codegen-ts-tanstack": "0.9.0",
|
|
46
|
+
"@metaobjectsdev/migrate-ts": "0.9.0",
|
|
47
|
+
"@metaobjectsdev/runtime-ts": "0.9.0",
|
|
47
48
|
"jiti": "^2.4.0"
|
|
48
49
|
},
|
|
49
50
|
"peerDependencies": {
|