orez 0.4.15 → 0.4.17

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.
@@ -1,4 +1,9 @@
1
1
  import type { CompileOptions, CompileResult } from './types.js';
2
+ export declare class CompileError extends Error {
3
+ readonly warnings: CompileResult['warnings'];
4
+ readonly sql: string;
5
+ constructor(warnings: CompileResult['warnings'], sql: string);
6
+ }
2
7
  /**
3
8
  * Compile a single PG SQL statement into a SQLite-compatible statement.
4
9
  *
@@ -8,5 +13,5 @@ import type { CompileOptions, CompileResult } from './types.js';
8
13
  */
9
14
  export declare function compile(pgSql: string, opts?: CompileOptions): CompileResult;
10
15
  export declare function compileMany(pgSqls: string[], opts?: CompileOptions): CompileResult[];
11
- export type { CompileOptions, CompileResult, SchemaInfo } from './types.js';
16
+ export type { CompileOptions, CompileResult, CompileWarning, SchemaInfo, } from './types.js';
12
17
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/pg-sqlite-compiler/index.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAc,MAAM,YAAY,CAAA;AAiB3E;;;;;;GAMG;AACH,wBAAgB,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,GAAE,cAAmB,GAAG,aAAa,CA8B/E;AAED,wBAAgB,WAAW,CACzB,MAAM,EAAE,MAAM,EAAE,EAChB,IAAI,GAAE,cAAmB,GACxB,aAAa,EAAE,CAEjB;AAED,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/pg-sqlite-compiler/index.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAc,MAAM,YAAY,CAAA;AAmB3E,qBAAa,YAAa,SAAQ,KAAK;IAEnC,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC,UAAU,CAAC;IAC5C,QAAQ,CAAC,GAAG,EAAE,MAAM;gBADX,QAAQ,EAAE,aAAa,CAAC,UAAU,CAAC,EACnC,GAAG,EAAE,MAAM;CAKvB;AAYD;;;;;;GAMG;AACH,wBAAgB,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,GAAE,cAAmB,GAAG,aAAa,CAmC/E;AAED,wBAAgB,WAAW,CACzB,MAAM,EAAE,MAAM,EAAE,EAChB,IAAI,GAAE,cAAmB,GACxB,aAAa,EAAE,CAEjB;AAED,YAAY,EACV,cAAc,EACd,aAAa,EACb,cAAc,EACd,UAAU,GACX,MAAM,YAAY,CAAA"}
@@ -7,9 +7,10 @@
7
7
  * compile(pgSql, opts?) → { sql, warnings }
8
8
  * compileMany(pgSqls, opts?) → results[]
9
9
  */
10
- import { deparseSync, parseSync } from 'pgsql-parser';
10
+ import { deparseSync, loadModule, parseSync } from 'pgsql-parser';
11
11
  import { markSQLiteKeywordIdentifiers, restoreSQLiteKeywordIdentifierMarkers, } from '../sqlite-keyword-identifiers.js';
12
12
  import { runPasses } from './passes/index.js';
13
+ await loadModule();
13
14
  const DEFAULT_VERSION = 170004;
14
15
  const NOOP_SCHEMA = {
15
16
  getColumnType: () => undefined,
@@ -23,6 +24,21 @@ function stripTrailingSemicolon(s) {
23
24
  i--;
24
25
  return s.slice(0, i);
25
26
  }
27
+ export class CompileError extends Error {
28
+ warnings;
29
+ sql;
30
+ constructor(warnings, sql) {
31
+ super(`pg-to-sqlite compile failed with ${warnings.length} warning(s)`);
32
+ this.warnings = warnings;
33
+ this.sql = sql;
34
+ this.name = 'CompileError';
35
+ }
36
+ }
37
+ function throwIfStrict(opts, warnings, sql) {
38
+ if (opts.strict && warnings.length > 0) {
39
+ throw new CompileError(warnings, sql);
40
+ }
41
+ }
26
42
  /**
27
43
  * Compile a single PG SQL statement into a SQLite-compatible statement.
28
44
  *
@@ -42,18 +58,23 @@ export function compile(pgSql, opts = {}) {
42
58
  const parsed = parseSync(trimmed);
43
59
  const stmts = Array.isArray(parsed?.stmts) ? parsed.stmts : [];
44
60
  if (stmts.length === 0) {
45
- return {
61
+ const result = {
46
62
  sql: trimmed,
47
63
  warnings: [{ kind: 'parse-empty', message: 'no statements parsed' }],
48
64
  };
65
+ throwIfStrict(opts, result.warnings, result.sql);
66
+ return result;
49
67
  }
50
68
  // Run all passes on each top-level RawStmt entry (so passes can walk from root).
51
69
  for (let i = 0; i < stmts.length; i++) {
52
70
  runPasses(stmts[i], { schema, warnings, passes });
53
71
  }
72
+ throwIfStrict(opts, warnings, trimmed);
54
73
  const quotedByMarker = markSQLiteKeywordIdentifiers(stmts);
55
74
  const emitted = restoreSQLiteKeywordIdentifierMarkers(deparseSync({ version: parsed.version ?? version, stmts }), quotedByMarker);
56
- return { sql: stripTrailingSemicolon(emitted.trim()), warnings };
75
+ const sql = stripTrailingSemicolon(emitted.trim());
76
+ throwIfStrict(opts, warnings, sql);
77
+ return { sql, warnings };
57
78
  }
58
79
  export function compileMany(pgSqls, opts = {}) {
59
80
  return pgSqls.map((s) => compile(s, opts));
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/pg-sqlite-compiler/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/pg-sqlite-compiler/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/pg-sqlite-compiler/passes/index.ts"],"names":[],"mappings":"AAIA;;;;;;;;GAQG;AACH,OAAO,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAEpD,eAAO,MAAM,cAAc,EAAE,IAAI,EAShC,CAAA;AAED;;;;;;;GAOG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,WAAW,GAAG,IAAI,CAc9D"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/pg-sqlite-compiler/passes/index.ts"],"names":[],"mappings":"AAMA;;;;;;;;GAQG;AACH,OAAO,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAEpD,eAAO,MAAM,cAAc,EAAE,IAAI,EAWhC,CAAA;AAED;;;;;;;GAOG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,WAAW,GAAG,IAAI,CAc9D"}
@@ -1,10 +1,14 @@
1
1
  import { catalogPass } from './catalog.js';
2
2
  import { datetimePass } from './datetime.js';
3
+ import { schemaPass } from './schema.js';
3
4
  import { typesPass } from './types.js';
5
+ import { unsupportedPass } from './unsupported.js';
4
6
  export const DEFAULT_PASSES = [
5
7
  typesPass,
6
8
  datetimePass,
7
9
  catalogPass,
10
+ schemaPass,
11
+ unsupportedPass,
8
12
  // future:
9
13
  // castPass,
10
14
  // arrayPass,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/pg-sqlite-compiler/passes/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAatC,MAAM,CAAC,MAAM,cAAc,GAAW;IACpC,SAAS;IACT,YAAY;IACZ,WAAW;IACX,UAAU;IACV,cAAc;IACd,eAAe;IACf,cAAc;IACd,gBAAgB;CACjB,CAAA;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,SAAS,CAAC,OAAY,EAAE,GAAgB;IACtD,MAAM,IAAI,GAAG,OAAO,EAAE,IAAI,IAAI,OAAO,CAAA;IACrC,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ;QAAE,OAAM;IAC7C,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,IAAI,cAAc,CAAA;IAC3C,KAAK,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;QAC1B,IAAI,CAAC;YACH,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;QACrB,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC;gBAChB,IAAI,EAAE,YAAY;gBAClB,OAAO,EAAE,QAAQ,IAAI,CAAC,IAAI,WAAW,GAAG,CAAC,OAAO,EAAE;aACnD,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/pg-sqlite-compiler/passes/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAalD,MAAM,CAAC,MAAM,cAAc,GAAW;IACpC,SAAS;IACT,YAAY;IACZ,WAAW;IACX,UAAU;IACV,eAAe;IACf,UAAU;IACV,cAAc;IACd,eAAe;IACf,cAAc;IACd,gBAAgB;CACjB,CAAA;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,SAAS,CAAC,OAAY,EAAE,GAAgB;IACtD,MAAM,IAAI,GAAG,OAAO,EAAE,IAAI,IAAI,OAAO,CAAA;IACrC,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ;QAAE,OAAM;IAC7C,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,IAAI,cAAc,CAAA;IAC3C,KAAK,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;QAC1B,IAAI,CAAC;YACH,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;QACrB,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC;gBAChB,IAAI,EAAE,YAAY;gBAClB,OAAO,EAAE,QAAQ,IAAI,CAAC,IAAI,WAAW,GAAG,CAAC,OAAO,EAAE;aACnD,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;AACH,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { Pass } from '../types.js';
2
+ export declare const schemaPass: Pass;
3
+ //# sourceMappingURL=schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/pg-sqlite-compiler/passes/schema.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AAkFvC,eAAO,MAAM,UAAU,EAAE,IAwBxB,CAAA"}
@@ -0,0 +1,113 @@
1
+ import { walkAst } from './ast-utils.js';
2
+ function stringNode(value) {
3
+ return { String: { sval: value } };
4
+ }
5
+ function stringValue(node) {
6
+ return node?.String?.sval ?? node?.String?.str ?? null;
7
+ }
8
+ function flattenSchemaName(schema, name) {
9
+ if (schema === 'public' && name === 'migrations')
10
+ return 'public_migrations';
11
+ if (schema === 'public')
12
+ return name;
13
+ if (schema === '_orez' && name === '_zero_changes')
14
+ return '_zero_changes';
15
+ if (schema === '_orez' && name === '_zero_replication_slots')
16
+ return '_orez__zero_replication_slots';
17
+ if (schema === '_orez')
18
+ return `_orez__${name}`;
19
+ if (schema === '_zero')
20
+ return `_zero_${name}`;
21
+ return `${schema}_${name}`;
22
+ }
23
+ function flattenRangeVar(rangeVar) {
24
+ if (!rangeVar?.schemaname || !rangeVar.relname)
25
+ return rangeVar?.relname ?? null;
26
+ const flattened = flattenSchemaName(rangeVar.schemaname, rangeVar.relname);
27
+ rangeVar.relname = flattened;
28
+ delete rangeVar.schemaname;
29
+ return flattened;
30
+ }
31
+ function flattenColumnRef(columnRef) {
32
+ const fields = columnRef?.fields;
33
+ if (!Array.isArray(fields) || fields.length < 3)
34
+ return;
35
+ const schema = stringValue(fields[0]);
36
+ const table = stringValue(fields[1]);
37
+ if (!schema || !table)
38
+ return;
39
+ fields.splice(0, 2, stringNode(flattenSchemaName(schema, table)));
40
+ }
41
+ function rewriteColumnRefQualifier(node, from, to) {
42
+ if (!node || typeof node !== 'object')
43
+ return;
44
+ if (Array.isArray(node)) {
45
+ for (const item of node)
46
+ rewriteColumnRefQualifier(item, from, to);
47
+ return;
48
+ }
49
+ const fields = node.ColumnRef?.fields;
50
+ if (Array.isArray(fields) && fields.length > 1 && stringValue(fields[0]) === from) {
51
+ fields[0] = stringNode(to);
52
+ }
53
+ for (const child of Object.values(node)) {
54
+ rewriteColumnRefQualifier(child, from, to);
55
+ }
56
+ }
57
+ function flattenSelectRangeVarQualifiers(stmt) {
58
+ const visitFromNode = (node) => {
59
+ if (!node || typeof node !== 'object')
60
+ return;
61
+ const rangeVar = node.RangeVar;
62
+ if (rangeVar?.schemaname && rangeVar.relname) {
63
+ const from = rangeVar.alias?.aliasname ? null : rangeVar.relname;
64
+ const to = flattenRangeVar(rangeVar);
65
+ if (from && to)
66
+ rewriteColumnRefQualifier(stmt, from, to);
67
+ return;
68
+ }
69
+ const join = node.JoinExpr;
70
+ if (join) {
71
+ visitFromNode(join.larg);
72
+ visitFromNode(join.rarg);
73
+ }
74
+ };
75
+ for (const fromNode of stmt?.fromClause ?? [])
76
+ visitFromNode(fromNode);
77
+ }
78
+ function flattenWriteTargetQualifiers(stmt) {
79
+ const relation = stmt?.relation;
80
+ const from = relation?.alias?.aliasname ?? (relation?.schemaname ? relation.relname : null);
81
+ const to = flattenRangeVar(relation);
82
+ if (!from || !to)
83
+ return;
84
+ if (relation?.alias?.aliasname)
85
+ delete relation.alias;
86
+ rewriteColumnRefQualifier(stmt, from, to);
87
+ }
88
+ export const schemaPass = {
89
+ name: 'schema',
90
+ run(rawStmt) {
91
+ walkAst(rawStmt, {
92
+ SelectStmt: (node) => {
93
+ flattenSelectRangeVarQualifiers(node);
94
+ },
95
+ InsertStmt: (node) => {
96
+ flattenWriteTargetQualifiers(node);
97
+ },
98
+ UpdateStmt: (node) => {
99
+ flattenWriteTargetQualifiers(node);
100
+ },
101
+ DeleteStmt: (node) => {
102
+ flattenRangeVar(node.relation);
103
+ },
104
+ RangeVar: (node) => {
105
+ flattenRangeVar(node);
106
+ },
107
+ ColumnRef: (node) => {
108
+ flattenColumnRef(node);
109
+ },
110
+ });
111
+ },
112
+ };
113
+ //# sourceMappingURL=schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/pg-sqlite-compiler/passes/schema.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { Pass } from '../types.js';
2
+ export declare const unsupportedPass: Pass;
3
+ //# sourceMappingURL=unsupported.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unsupported.d.ts","sourceRoot":"","sources":["../../../src/pg-sqlite-compiler/passes/unsupported.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AAiBvC,eAAO,MAAM,eAAe,EAAE,IAe7B,CAAA"}
@@ -0,0 +1,33 @@
1
+ import { walkAst } from './ast-utils.js';
2
+ const UNSUPPORTED_FUNCTIONS = new Set([
3
+ 'date_trunc',
4
+ 'gen_random_uuid',
5
+ 'right',
6
+ 'unnest',
7
+ ]);
8
+ function functionName(func) {
9
+ const parts = func?.funcname;
10
+ if (!Array.isArray(parts) || parts.length === 0)
11
+ return null;
12
+ const last = parts[parts.length - 1];
13
+ const value = last?.String?.sval ?? last?.String?.str;
14
+ return typeof value === 'string' ? value.toLowerCase() : null;
15
+ }
16
+ export const unsupportedPass = {
17
+ name: 'unsupported',
18
+ run(rawStmt, ctx) {
19
+ walkAst(rawStmt, {
20
+ FuncCall: (node) => {
21
+ const name = functionName(node);
22
+ if (!name || !UNSUPPORTED_FUNCTIONS.has(name))
23
+ return;
24
+ ctx.warnings.push({
25
+ kind: 'unsupported-function',
26
+ near: 'FuncCall',
27
+ message: `${name}() is not supported by pg-to-sqlite`,
28
+ });
29
+ },
30
+ });
31
+ },
32
+ };
33
+ //# sourceMappingURL=unsupported.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unsupported.js","sourceRoot":"","sources":["../../../src/pg-sqlite-compiler/passes/unsupported.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAA;AAIxC,MAAM,qBAAqB,GAAG,IAAI,GAAG,CAAC;IACpC,YAAY;IACZ,iBAAiB;IACjB,OAAO;IACP,QAAQ;CACT,CAAC,CAAA;AAEF,SAAS,YAAY,CAAC,IAAS;IAC7B,MAAM,KAAK,GAAG,IAAI,EAAE,QAAQ,CAAA;IAC5B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAA;IAC5D,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;IACpC,MAAM,KAAK,GAAG,IAAI,EAAE,MAAM,EAAE,IAAI,IAAI,IAAI,EAAE,MAAM,EAAE,GAAG,CAAA;IACrD,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,CAAA;AAC/D,CAAC;AAED,MAAM,CAAC,MAAM,eAAe,GAAS;IACnC,IAAI,EAAE,aAAa;IACnB,GAAG,CAAC,OAAO,EAAE,GAAG;QACd,OAAO,CAAC,OAAO,EAAE;YACf,QAAQ,EAAE,CAAC,IAAS,EAAE,EAAE;gBACtB,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,CAAA;gBAC/B,IAAI,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,IAAI,CAAC;oBAAE,OAAM;gBACrD,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC;oBAChB,IAAI,EAAE,sBAAsB;oBAC5B,IAAI,EAAE,UAAU;oBAChB,OAAO,EAAE,GAAG,IAAI,qCAAqC;iBACtD,CAAC,CAAA;YACJ,CAAC;SACF,CAAC,CAAA;IACJ,CAAC;CACF,CAAA"}
@@ -34,6 +34,8 @@ export interface CompileResult {
34
34
  export interface CompileOptions {
35
35
  schema?: SchemaInfo;
36
36
  pgVersion?: number;
37
+ /** Throw instead of returning SQL when compilation produces warnings. */
38
+ strict?: boolean;
37
39
  /** Override pass list (mainly for testing individual passes). */
38
40
  passes?: Pass[];
39
41
  }
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/pg-sqlite-compiler/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,MAAM,WAAW,UAAU;IACzB,wEAAwE;IACxE,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAA;IAEhF,8CAA8C;IAC9C,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,CAAA;IAE/C,sCAAsC;IACtC,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAA;IAEpD,0EAA0E;IAC1E,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,GAAG,SAAS,CAAA;CAC9E;AAED,MAAM,WAAW,QAAQ;IACvB,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,SAAS,MAAM,EAAE,CAAA;CAC1B;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,oDAAoD;IACpD,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,MAAM,CAAA;IACX,QAAQ,EAAE,cAAc,EAAE,CAAA;CAC3B;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,CAAC,EAAE,UAAU,CAAA;IACnB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,iEAAiE;IACjE,MAAM,CAAC,EAAE,IAAI,EAAE,CAAA;CAChB;AAED,oCAAoC;AACpC,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,UAAU,CAAA;IAClB,QAAQ,EAAE,cAAc,EAAE,CAAA;IAC1B;;;OAGG;IACH,MAAM,CAAC,EAAE,IAAI,EAAE,CAAA;CAChB;AAED,4DAA4D;AAC5D,MAAM,WAAW,IAAI;IACnB,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,WAAW,GAAG,IAAI,CAAA;CAC1C"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/pg-sqlite-compiler/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,MAAM,WAAW,UAAU;IACzB,wEAAwE;IACxE,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAA;IAEhF,8CAA8C;IAC9C,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,CAAA;IAE/C,sCAAsC;IACtC,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAA;IAEpD,0EAA0E;IAC1E,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,GAAG,SAAS,CAAA;CAC9E;AAED,MAAM,WAAW,QAAQ;IACvB,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,SAAS,MAAM,EAAE,CAAA;CAC1B;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,oDAAoD;IACpD,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,MAAM,CAAA;IACX,QAAQ,EAAE,cAAc,EAAE,CAAA;CAC3B;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,CAAC,EAAE,UAAU,CAAA;IACnB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,yEAAyE;IACzE,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,iEAAiE;IACjE,MAAM,CAAC,EAAE,IAAI,EAAE,CAAA;CAChB;AAED,oCAAoC;AACpC,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,UAAU,CAAA;IAClB,QAAQ,EAAE,cAAc,EAAE,CAAA;IAC1B;;;OAGG;IACH,MAAM,CAAC,EAAE,IAAI,EAAE,CAAA;CAChB;AAED,4DAA4D;AAC5D,MAAM,WAAW,IAAI;IACnB,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,WAAW,GAAG,IAAI,CAAA;CAC1C"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "orez",
3
- "version": "0.4.15",
3
+ "version": "0.4.17",
4
4
  "description": "PGlite-powered zero-sync development backend. No Docker required.",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -87,7 +87,7 @@
87
87
  "@electric-sql/pglite": "0.4.1",
88
88
  "@electric-sql/pglite-tools": "^0.3.1",
89
89
  "@pgsql/traverse": "17.2.6",
90
- "bedrock-sqlite": "0.4.15",
90
+ "bedrock-sqlite": "0.4.17",
91
91
  "citty": "^0.2.0",
92
92
  "pg-gateway": "0.3.0-beta.4",
93
93
  "pgsql-parser": "^17.9.11",