orez 0.9.5 → 0.9.6
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 +23 -0
- package/dist/cf-deploy/bundle.d.ts +21 -0
- package/dist/cf-deploy/bundle.d.ts.map +1 -0
- package/dist/cf-deploy/bundle.js +347 -0
- package/dist/cf-deploy/bundle.js.map +1 -0
- package/dist/cf-deploy/config.d.ts +52 -0
- package/dist/cf-deploy/config.d.ts.map +1 -0
- package/dist/cf-deploy/config.js +23 -0
- package/dist/cf-deploy/config.js.map +1 -0
- package/dist/cf-deploy/index.d.ts +11 -0
- package/dist/cf-deploy/index.d.ts.map +1 -0
- package/dist/cf-deploy/index.js +17 -0
- package/dist/cf-deploy/index.js.map +1 -0
- package/dist/cf-deploy/leaves.d.ts +19 -0
- package/dist/cf-deploy/leaves.d.ts.map +1 -0
- package/dist/cf-deploy/leaves.js +109 -0
- package/dist/cf-deploy/leaves.js.map +1 -0
- package/dist/cf-deploy/migration.d.ts +40 -0
- package/dist/cf-deploy/migration.d.ts.map +1 -0
- package/dist/cf-deploy/migration.js +853 -0
- package/dist/cf-deploy/migration.js.map +1 -0
- package/dist/cf-deploy/nativeMigrations.d.ts +20 -0
- package/dist/cf-deploy/nativeMigrations.d.ts.map +1 -0
- package/dist/cf-deploy/nativeMigrations.js +171 -0
- package/dist/cf-deploy/nativeMigrations.js.map +1 -0
- package/dist/cf-deploy/prune.d.ts +14 -0
- package/dist/cf-deploy/prune.d.ts.map +1 -0
- package/dist/cf-deploy/prune.js +235 -0
- package/dist/cf-deploy/prune.js.map +1 -0
- package/dist/cf-deploy/shims.d.ts +13 -0
- package/dist/cf-deploy/shims.d.ts.map +1 -0
- package/dist/cf-deploy/shims.js +737 -0
- package/dist/cf-deploy/shims.js.map +1 -0
- package/dist/cf-deploy/smoke.d.ts +15 -0
- package/dist/cf-deploy/smoke.d.ts.map +1 -0
- package/dist/cf-deploy/smoke.js +141 -0
- package/dist/cf-deploy/smoke.js.map +1 -0
- package/dist/cf-deploy/sources.d.ts +9 -0
- package/dist/cf-deploy/sources.d.ts.map +1 -0
- package/dist/cf-deploy/sources.js +276 -0
- package/dist/cf-deploy/sources.js.map +1 -0
- package/dist/cf-deploy/wrangler.d.ts +6 -0
- package/dist/cf-deploy/wrangler.d.ts.map +1 -0
- package/dist/cf-deploy/wrangler.js +168 -0
- package/dist/cf-deploy/wrangler.js.map +1 -0
- package/dist/cf-do/tx-journal.d.ts.map +1 -1
- package/dist/cf-do/tx-journal.js +63 -1
- package/dist/cf-do/tx-journal.js.map +1 -1
- package/dist/cf-do/worker.d.ts +1 -0
- package/dist/cf-do/worker.d.ts.map +1 -1
- package/dist/cf-do/worker.js +32 -11
- package/dist/cf-do/worker.js.map +1 -1
- package/dist/pg-sqlite-compiler/passes/types.d.ts.map +1 -1
- package/dist/pg-sqlite-compiler/passes/types.js +12 -0
- package/dist/pg-sqlite-compiler/passes/types.js.map +1 -1
- package/dist/worker/cf-patches.d.ts.map +1 -1
- package/dist/worker/cf-patches.js +7 -0
- package/dist/worker/cf-patches.js.map +1 -1
- package/dist/worker/zero-cache-embed.d.ts.map +1 -1
- package/dist/worker/zero-cache-embed.js +16 -1
- package/dist/worker/zero-cache-embed.js.map +1 -1
- package/dist/zero-worker-argv-patch.d.ts +13 -0
- package/dist/zero-worker-argv-patch.d.ts.map +1 -0
- package/dist/zero-worker-argv-patch.js +76 -0
- package/dist/zero-worker-argv-patch.js.map +1 -0
- package/package.json +13 -6
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
import { existsSync, readFileSync } from 'fs';
|
|
2
|
+
import { join, relative } from 'path';
|
|
3
|
+
export const WORKERS_DEV_URL_PATTERN = /https?:\/\/[a-z0-9-]+\.[a-z0-9-]+\.workers\.dev\b/i;
|
|
4
|
+
export const HEALTH_POLL_INTERVAL_MS = 2_000;
|
|
5
|
+
export const HEALTH_POLL_MAX_ATTEMPTS = 60;
|
|
6
|
+
// after the worker is reachable, wait for the zero-cache embed to finish its
|
|
7
|
+
// cold-boot initial-sync (per-statement libpg parses over the full publication)
|
|
8
|
+
// so neither the runtime validation nor the first visitor races a half-booted
|
|
9
|
+
// embed whose view-syncer can't hydrate yet. /keepalive returns 200 once ready,
|
|
10
|
+
// 202 while booting. generous ceiling because a large publication's initial
|
|
11
|
+
// sync can run minutes; the outer deploy budget also needs time for DO
|
|
12
|
+
// preparation before orez starts its own readiness clock.
|
|
13
|
+
export const EMBED_READY_TIMEOUT_MS = 600_000;
|
|
14
|
+
export const EMBED_WARM_TIMEOUT_MS = EMBED_READY_TIMEOUT_MS + 300_000;
|
|
15
|
+
export const EMBED_WARM_INTERVAL_MS = 3_000;
|
|
16
|
+
export const EMBED_WARM_REQUEST_TIMEOUT_MS = 8_000;
|
|
17
|
+
export const INTERNAL_ZERO_MUTATE_URL = 'https://orez-zero-api.local/api/zero/push';
|
|
18
|
+
export const INTERNAL_ZERO_QUERY_URL = 'https://orez-zero-api.local/api/zero/pull';
|
|
19
|
+
export function isOrezAliasImporter(importer) {
|
|
20
|
+
const normalized = importer.replaceAll('\\', '/');
|
|
21
|
+
return (normalized.includes('/node_modules/orez/') ||
|
|
22
|
+
normalized.includes('/.orez/zero-cache-cf/') ||
|
|
23
|
+
normalized.includes('/node_modules/pgsql-parser/') ||
|
|
24
|
+
normalized.includes('/node_modules/basic-auth/') ||
|
|
25
|
+
normalized.includes('/node_modules/safe-buffer/') ||
|
|
26
|
+
normalized.includes('/node_modules/cloudevents/') ||
|
|
27
|
+
normalized.includes('/node_modules/@databases/') ||
|
|
28
|
+
normalized.includes('/node_modules/pg/') ||
|
|
29
|
+
normalized.includes('/node_modules/pg-cloudflare/') ||
|
|
30
|
+
normalized.includes('/node_modules/pg-connection-string/') ||
|
|
31
|
+
normalized.includes('/node_modules/pg-pool/') ||
|
|
32
|
+
normalized.includes('/node_modules/pgpass/') ||
|
|
33
|
+
normalized.includes('/node_modules/split2/'));
|
|
34
|
+
}
|
|
35
|
+
export async function resolveAlias(buildApi, path, resolveDir, kind) {
|
|
36
|
+
const target = packageEntryForDirectory(path);
|
|
37
|
+
const resolved = await buildApi.resolve(target, { resolveDir, kind });
|
|
38
|
+
if (resolved.errors.length)
|
|
39
|
+
return undefined;
|
|
40
|
+
return resolved;
|
|
41
|
+
}
|
|
42
|
+
export function packageEntryForDirectory(path) {
|
|
43
|
+
const packagePath = join(path, 'package.json');
|
|
44
|
+
if (!existsSync(packagePath))
|
|
45
|
+
return path;
|
|
46
|
+
const pkg = JSON.parse(readFileSync(packagePath, 'utf-8'));
|
|
47
|
+
return join(path, pkg.module || pkg.main || 'index.js');
|
|
48
|
+
}
|
|
49
|
+
export function importSpecifier(fromDir, filePath) {
|
|
50
|
+
const specifier = relative(fromDir, filePath).replaceAll('\\', '/');
|
|
51
|
+
return specifier.startsWith('.') ? specifier : `./${specifier}`;
|
|
52
|
+
}
|
|
53
|
+
export function quoteSqlIdentifier(value) {
|
|
54
|
+
return `"${value.replaceAll('"', '""')}"`;
|
|
55
|
+
}
|
|
56
|
+
export function isCloudflarePgImporter(importer, workerDir) {
|
|
57
|
+
const normalized = normalizeTmpSymlinkPath(importer.replaceAll('\\', '/'));
|
|
58
|
+
const normalizedWorkerDir = normalizeTmpSymlinkPath(workerDir.replaceAll('\\', '/'));
|
|
59
|
+
return (normalized.startsWith(normalizedWorkerDir) ||
|
|
60
|
+
normalized.includes('/node_modules/on-zero/') ||
|
|
61
|
+
normalized.includes('/node_modules/@take-out/database/') ||
|
|
62
|
+
// drizzle's node-postgres driver imports 'pg' directly; in the data-worker
|
|
63
|
+
// push bundle real pg is fatal (its module init requires util/types and
|
|
64
|
+
// later net/tls, none of which exist in a DO worker)
|
|
65
|
+
normalized.includes('/node_modules/drizzle-orm/') ||
|
|
66
|
+
normalized.includes('/node_modules/@rocicorp/zero/out/zero-server/'));
|
|
67
|
+
}
|
|
68
|
+
// macOS symlinks /tmp and /var into /private; esbuild reports realpathed
|
|
69
|
+
// importers while callers hold the symlinked form, so importer-prefix checks
|
|
70
|
+
// must compare on one side of the link.
|
|
71
|
+
export function normalizeTmpSymlinkPath(path) {
|
|
72
|
+
return path.startsWith('/private/tmp/') || path.startsWith('/private/var/')
|
|
73
|
+
? path.slice('/private'.length)
|
|
74
|
+
: path;
|
|
75
|
+
}
|
|
76
|
+
export const NODE_EXTERNALS = [
|
|
77
|
+
'node:*',
|
|
78
|
+
'async_hooks',
|
|
79
|
+
'buffer',
|
|
80
|
+
'child_process',
|
|
81
|
+
'crypto',
|
|
82
|
+
'diagnostics_channel',
|
|
83
|
+
'dns',
|
|
84
|
+
'dns/promises',
|
|
85
|
+
'events',
|
|
86
|
+
'fs',
|
|
87
|
+
'fs/promises',
|
|
88
|
+
'http',
|
|
89
|
+
'http2',
|
|
90
|
+
'https',
|
|
91
|
+
'inspector/promises',
|
|
92
|
+
'module',
|
|
93
|
+
'net',
|
|
94
|
+
'os',
|
|
95
|
+
'path',
|
|
96
|
+
'perf_hooks',
|
|
97
|
+
'process',
|
|
98
|
+
'querystring',
|
|
99
|
+
'stream',
|
|
100
|
+
'stream/promises',
|
|
101
|
+
'tls',
|
|
102
|
+
'tty',
|
|
103
|
+
'url',
|
|
104
|
+
'util',
|
|
105
|
+
'v8',
|
|
106
|
+
'worker_threads',
|
|
107
|
+
'zlib',
|
|
108
|
+
];
|
|
109
|
+
//# sourceMappingURL=leaves.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"leaves.js","sourceRoot":"","sources":["../../src/cf-deploy/leaves.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import type { CfDeployConfig } from './config.js';
|
|
2
|
+
export interface CloudflareMigrationModuleFile {
|
|
3
|
+
id: string;
|
|
4
|
+
importSpecifier: string;
|
|
5
|
+
}
|
|
6
|
+
export type CloudflareNativeTableShape = {
|
|
7
|
+
columns: Array<{
|
|
8
|
+
name: string;
|
|
9
|
+
notNull: boolean;
|
|
10
|
+
primaryKeyOrder: number;
|
|
11
|
+
sqlType: string;
|
|
12
|
+
}>;
|
|
13
|
+
name: string;
|
|
14
|
+
};
|
|
15
|
+
export type CloudflareMigrationModuleSourceParts = {
|
|
16
|
+
mode: 'noop';
|
|
17
|
+
schemaVersion: string;
|
|
18
|
+
} | {
|
|
19
|
+
/** SQLite-native schema path for the Rust-sync application worker. */
|
|
20
|
+
mode: 'native';
|
|
21
|
+
schemaVersion: string;
|
|
22
|
+
schemaImportSpecifier: string;
|
|
23
|
+
nativeSqlStatements: unknown;
|
|
24
|
+
publicTables?: Array<{
|
|
25
|
+
table: string;
|
|
26
|
+
publicTable: string;
|
|
27
|
+
}>;
|
|
28
|
+
expectedTables?: CloudflareNativeTableShape[];
|
|
29
|
+
} | {
|
|
30
|
+
mode: 'full';
|
|
31
|
+
schemaVersion: string;
|
|
32
|
+
schemaImportSpecifier: string;
|
|
33
|
+
migrationFiles: CloudflareMigrationModuleFile[];
|
|
34
|
+
initSql: string;
|
|
35
|
+
initSqlBatchStatements: unknown;
|
|
36
|
+
zeroHttpShardSql: string;
|
|
37
|
+
zeroHttpShardBatchStatements: unknown;
|
|
38
|
+
};
|
|
39
|
+
export declare function buildMigrationModuleSource(cfg: CfDeployConfig, parts: CloudflareMigrationModuleSourceParts): string;
|
|
40
|
+
//# sourceMappingURL=migration.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"migration.d.ts","sourceRoot":"","sources":["../../src/cf-deploy/migration.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAajD,MAAM,WAAW,6BAA6B;IAC5C,EAAE,EAAE,MAAM,CAAA;IACV,eAAe,EAAE,MAAM,CAAA;CACxB;AAED,MAAM,MAAM,0BAA0B,GAAG;IACvC,OAAO,EAAE,KAAK,CAAC;QACb,IAAI,EAAE,MAAM,CAAA;QACZ,OAAO,EAAE,OAAO,CAAA;QAChB,eAAe,EAAE,MAAM,CAAA;QACvB,OAAO,EAAE,MAAM,CAAA;KAChB,CAAC,CAAA;IACF,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AAED,MAAM,MAAM,oCAAoC,GAC5C;IACE,IAAI,EAAE,MAAM,CAAA;IACZ,aAAa,EAAE,MAAM,CAAA;CACtB,GACD;IACE,sEAAsE;IACtE,IAAI,EAAE,QAAQ,CAAA;IACd,aAAa,EAAE,MAAM,CAAA;IACrB,qBAAqB,EAAE,MAAM,CAAA;IAC7B,mBAAmB,EAAE,OAAO,CAAA;IAC5B,YAAY,CAAC,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IAC5D,cAAc,CAAC,EAAE,0BAA0B,EAAE,CAAA;CAC9C,GACD;IACE,IAAI,EAAE,MAAM,CAAA;IACZ,aAAa,EAAE,MAAM,CAAA;IACrB,qBAAqB,EAAE,MAAM,CAAA;IAC7B,cAAc,EAAE,6BAA6B,EAAE,CAAA;IAC/C,OAAO,EAAE,MAAM,CAAA;IACf,sBAAsB,EAAE,OAAO,CAAA;IAC/B,gBAAgB,EAAE,MAAM,CAAA;IACxB,4BAA4B,EAAE,OAAO,CAAA;CACtC,CAAA;AAEL,wBAAgB,0BAA0B,CACxC,GAAG,EAAE,cAAc,EACnB,KAAK,EAAE,oCAAoC,GAC1C,MAAM,CAi1BR"}
|