@zenbujs/core 0.0.3 → 0.0.4
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/{advice-config-CjgkEf2E.mjs → advice-config-BLXjqjGN.mjs} +21 -13
- package/dist/advice-config-D6K_a7e9.mjs +2 -0
- package/dist/advice.mjs +1 -1
- package/dist/{base-window-BUt8pwbw.mjs → base-window-D8CpxMU3.mjs} +2 -2
- package/dist/base-window-OXg2KSyP.mjs +2 -0
- package/dist/{build-config-pbv0w4oN.mjs → build-config-BwnnfrN-.mjs} +8 -2
- package/dist/{build-electron-BzHa_hRi.mjs → build-electron-C3Beey84.mjs} +12 -6
- package/dist/{build-source-CnTfQBGK.mjs → build-source-BvC4bPqH.mjs} +13 -8
- package/dist/cli/bin.mjs +12 -15
- package/dist/cli/build.d.mts +1 -52
- package/dist/cli/build.mjs +2 -47
- package/dist/cli/resolve-config.mjs +36 -0
- package/dist/{cli-BLbQQIVB.mjs → cli-F0B4dvSg.mjs} +3 -3
- package/dist/config-Ch1FreWU.mjs +2 -0
- package/dist/config.d.mts +2 -0
- package/dist/config.mjs +3 -0
- package/dist/db-Bz_CDIWg.mjs +2 -0
- package/dist/{db-BXadETOb.mjs → db-Cd5ETuPG.mjs} +47 -41
- package/dist/db.d.mts +1 -1
- package/dist/env-bootstrap.d.mts +1 -1
- package/dist/http-B36qtsm0.mjs +2 -0
- package/dist/index-CKKoxA9V.d.mts +1 -0
- package/dist/index.d.mts +5 -5
- package/dist/index.mjs +2 -2
- package/dist/{link-VOoGs-pY.mjs → link-BJmsKgPa.mjs} +87 -120
- package/dist/load-config-BG2tPIfF.mjs +126 -0
- package/dist/load-config-CQG4297M.mjs +2 -0
- package/dist/loaders/zenbu.d.mts +16 -0
- package/dist/loaders/zenbu.mjs +151 -62
- package/dist/{monorepo-CQeQBIpa.mjs → monorepo-DCruz9Jx.mjs} +2 -2
- package/dist/{publish-source-BJdpDAFH.mjs → publish-source-34Hn9zb0.mjs} +12 -6
- package/dist/react.d.mts +3 -3
- package/dist/{registry-Dh_e7HU1.d.mts → registry-CioEYLI5.d.mts} +1 -1
- package/dist/registry.d.mts +1 -1
- package/dist/{reloader-lLAJ3lqg.mjs → reloader-DJoCB0bC.mjs} +2 -2
- package/dist/reloader-FeHKV2jd.mjs +2 -0
- package/dist/renderer-host-BQpS0ZM2.mjs +2 -0
- package/dist/{renderer-host-Bg8QdeeH.mjs → renderer-host-ztaSIOGx.mjs} +71 -205
- package/dist/{rpc-BwwQK6hD.mjs → rpc-CsgWnlZx.mjs} +2 -2
- package/dist/rpc-D_s7-WZe.mjs +2 -0
- package/dist/rpc.d.mts +1 -1
- package/dist/{runtime-DUFKDIe4.mjs → runtime-C95iyVn6.mjs} +53 -1
- package/dist/{runtime-CjqDr8Yf.d.mts → runtime-CsiDppGF.d.mts} +41 -1
- package/dist/runtime.d.mts +2 -2
- package/dist/runtime.mjs +2 -2
- package/dist/{schema-DMoSkwUx.d.mts → schema-DvT61x2_.d.mts} +1 -1
- package/dist/schema.d.mts +1 -1
- package/dist/server-CgzQOPSW.mjs +2 -0
- package/dist/{server-BXwZEQ-n.mjs → server-DB3Eki_G.mjs} +1 -1
- package/dist/services/default.mjs +10 -10
- package/dist/services/index.d.mts +3 -3
- package/dist/services/index.mjs +6 -6
- package/dist/{setup-gate-BcoqWu8S.mjs → setup-gate-D8XfYY52.mjs} +35 -5
- package/dist/setup-gate.d.mts +1 -1
- package/dist/setup-gate.mjs +1 -1
- package/dist/transforms-DVoy8dCu.mjs +47 -0
- package/dist/transforms-EVd5Fgyk.d.mts +136 -0
- package/dist/view-registry-2zePxTEg.mjs +2 -0
- package/dist/{vite-plugins-Bh3SCOw-.mjs → vite-plugins-t4MlFcz3.mjs} +4 -18
- package/dist/vite.mjs +1 -1
- package/dist/{window-CmmpCVX6.mjs → window-DUvMTons.mjs} +3 -3
- package/dist/window-S3TlTXlK.mjs +2 -0
- package/package.json +9 -8
- package/dist/advice-config-Cy133IQP.mjs +0 -2
- package/dist/base-window-DEIAk618.mjs +0 -2
- package/dist/config-LK73dJmO.mjs +0 -2
- package/dist/db-ByKPbnP6.mjs +0 -2
- package/dist/http-IBcLzbYu.mjs +0 -2
- package/dist/load-build-config-DozuRhAN.mjs +0 -40
- package/dist/reloader-BCkLjDhS.mjs +0 -2
- package/dist/renderer-host-DpvBPTHJ.mjs +0 -2
- package/dist/rpc-CqitnyR4.mjs +0 -2
- package/dist/server-DjrZUbbu.mjs +0 -2
- package/dist/view-registry-BualWgAf.mjs +0 -2
- package/dist/window-CM2a9Kyc.mjs +0 -2
- package/dist/{index-FtE8MXJ_.d.mts → cli/resolve-config.d.mts} +0 -0
- package/dist/{config-CdVrW85P.mjs → config-BlRXeUXx.mjs} +0 -0
- package/dist/{dev-BU_llQh1.mjs → dev-DLutFPyo.mjs} +0 -0
- package/dist/{env-bootstrap-BtVME-CU.d.mts → env-bootstrap-uCKbw2q8.d.mts} +0 -0
- package/dist/{index-Bhlbyrn7.d.mts → index-CE0iPntP.d.mts} +0 -0
- package/dist/{index-CPZ5d6Hl.d.mts → index-UK58xuoR.d.mts} +0 -0
- package/dist/{mirror-sync-BN59kMCG.mjs → mirror-sync-EiWvdzTJ.mjs} +1 -1
- /package/dist/{node-D4M19_mV.mjs → node-CvZnTx53.mjs} +0 -0
- /package/dist/{setup-gate-BqOzm7zp.d.mts → setup-gate-D62nX5lk.d.mts} +0 -0
package/dist/loaders/zenbu.mjs
CHANGED
|
@@ -2,6 +2,7 @@ import { createRequire } from "node:module";
|
|
|
2
2
|
import fs from "node:fs";
|
|
3
3
|
import path from "node:path";
|
|
4
4
|
import { fileURLToPath, pathToFileURL } from "node:url";
|
|
5
|
+
import { execFileSync } from "node:child_process";
|
|
5
6
|
//#region src/loaders/zenbu.ts
|
|
6
7
|
const verbose = process.env.ZENBU_VERBOSE === "1";
|
|
7
8
|
const { subscribe } = createRequire(import.meta.url)("@parcel/watcher");
|
|
@@ -20,48 +21,42 @@ const stats = {
|
|
|
20
21
|
};
|
|
21
22
|
const barrels = /* @__PURE__ */ new Map();
|
|
22
23
|
const dirWatchers = /* @__PURE__ */ new Map();
|
|
24
|
+
let resolvedPayload = null;
|
|
25
|
+
let resolvedPluginSourceFiles = [];
|
|
26
|
+
/**
|
|
27
|
+
* Number of times we've materialized the plugin root since boot. The first
|
|
28
|
+
* call uses the payload that setup-gate sent through `register()`'s `data`
|
|
29
|
+
* channel; every subsequent call shells out to `resolve-config.mjs` to
|
|
30
|
+
* re-evaluate `zenbu.config.ts` from scratch (so editing the config file
|
|
31
|
+
* actually picks up new plugins / removed plugins / changed paths).
|
|
32
|
+
*
|
|
33
|
+
* We can't `await import()` from inside the loader (Node's ESM loader hooks
|
|
34
|
+
* run in a worker thread and serialize on this same hook, deadlocking).
|
|
35
|
+
* `execFileSync` blocks the loader for ~300ms per HMR cycle, which is fine.
|
|
36
|
+
*/
|
|
37
|
+
let pluginsRootInvocations = 0;
|
|
23
38
|
function initialize(data) {
|
|
24
|
-
if (
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
while (i < str.length) if (str[i] === "\"") {
|
|
45
|
-
let j = i + 1;
|
|
46
|
-
while (j < str.length) if (str[j] === "\\") j += 2;
|
|
47
|
-
else if (str[j] === "\"") {
|
|
48
|
-
j++;
|
|
49
|
-
break;
|
|
50
|
-
} else j++;
|
|
51
|
-
result += str.slice(i, j);
|
|
52
|
-
i = j;
|
|
53
|
-
} else if (str[i] === "/" && str[i + 1] === "/") {
|
|
54
|
-
i += 2;
|
|
55
|
-
while (i < str.length && str[i] !== "\n") i++;
|
|
56
|
-
} else if (str[i] === "/" && str[i + 1] === "*") {
|
|
57
|
-
i += 2;
|
|
58
|
-
while (i < str.length && !(str[i] === "*" && str[i + 1] === "/")) i++;
|
|
59
|
-
i += 2;
|
|
60
|
-
} else {
|
|
61
|
-
result += str[i];
|
|
62
|
-
i++;
|
|
39
|
+
if (data?.payload) {
|
|
40
|
+
resolvedPayload = data.payload;
|
|
41
|
+
resolvedPluginSourceFiles = data.pluginSourceFiles ?? [];
|
|
42
|
+
}
|
|
43
|
+
if (data?.tracePort) {
|
|
44
|
+
tracePort = data.tracePort;
|
|
45
|
+
tracePort.on("message", (msg) => {
|
|
46
|
+
if (msg !== "flush") return;
|
|
47
|
+
try {
|
|
48
|
+
tracePort?.postMessage({
|
|
49
|
+
name: loaderName,
|
|
50
|
+
...stats
|
|
51
|
+
});
|
|
52
|
+
} catch {}
|
|
53
|
+
stats.resolveCount = 0;
|
|
54
|
+
stats.resolveMs = 0;
|
|
55
|
+
stats.loadCount = 0;
|
|
56
|
+
stats.loadMs = 0;
|
|
57
|
+
});
|
|
58
|
+
tracePort.unref?.();
|
|
63
59
|
}
|
|
64
|
-
return JSON.parse(result.replace(/,\s*([\]}])/g, "$1"));
|
|
65
60
|
}
|
|
66
61
|
function globRegex(filePattern) {
|
|
67
62
|
return new RegExp(`^${filePattern.replace(/\./g, "\\.").replace(/\*/g, ".*")}$`);
|
|
@@ -123,26 +118,94 @@ function ensureDirWatcher(dir) {
|
|
|
123
118
|
function buildSource(imports) {
|
|
124
119
|
return imports.map((specifier) => `import ${JSON.stringify(specifier)}\n`).join("");
|
|
125
120
|
}
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
121
|
+
/**
|
|
122
|
+
* Read the resolved config from the process global. setup-gate populates
|
|
123
|
+
* this before registering our loader, so by the time `load()` is invoked
|
|
124
|
+
* the snapshot is always present.
|
|
125
|
+
*
|
|
126
|
+
* We can't `await import("zenbu.config.ts")` from inside `load()` because
|
|
127
|
+
* Node's ESM loader serializes load hooks — a dynamic import re-enters the
|
|
128
|
+
* loader chain and deadlocks. Pre-resolving in setup-gate sidesteps that.
|
|
129
|
+
*/
|
|
130
|
+
function resolveConfigViaSubprocess(projectDir) {
|
|
131
|
+
const here = path.dirname(fileURLToPath(import.meta.url));
|
|
132
|
+
const candidates = [path.resolve(here, "..", "cli", "resolve-config.mjs"), path.resolve(here, "..", "..", "dist", "cli", "resolve-config.mjs")];
|
|
133
|
+
const resolverScript = candidates.find((c) => fs.existsSync(c));
|
|
134
|
+
if (!resolverScript) throw new Error(`[zenbu-loader] resolve-config.mjs not found (looked in: ${candidates.join(", ")})`);
|
|
135
|
+
/**
|
|
136
|
+
* this takes ~100ms and can be heavily optimized, but its a fine solution for now
|
|
137
|
+
*/
|
|
138
|
+
const env = {
|
|
139
|
+
...process.env,
|
|
140
|
+
ELECTRON_RUN_AS_NODE: "1"
|
|
141
|
+
};
|
|
142
|
+
const out = execFileSync(process.execPath, [resolverScript, projectDir], {
|
|
143
|
+
encoding: "utf8",
|
|
144
|
+
timeout: 1e3,
|
|
145
|
+
env,
|
|
146
|
+
stdio: [
|
|
147
|
+
"ignore",
|
|
148
|
+
"pipe",
|
|
149
|
+
"inherit"
|
|
150
|
+
]
|
|
151
|
+
});
|
|
152
|
+
return JSON.parse(out);
|
|
130
153
|
}
|
|
131
|
-
function
|
|
154
|
+
function getResolvedConfig(configPath) {
|
|
155
|
+
if (pluginsRootInvocations === 0) {
|
|
156
|
+
pluginsRootInvocations += 1;
|
|
157
|
+
if (!resolvedPayload) throw new Error("[zenbu-loader] zenbu config not resolved before loader registration. setup-gate must pass it via register(specifier, { data: { payload, pluginSourceFiles } }).");
|
|
158
|
+
return {
|
|
159
|
+
payload: resolvedPayload,
|
|
160
|
+
pluginSourceFiles: resolvedPluginSourceFiles
|
|
161
|
+
};
|
|
162
|
+
}
|
|
163
|
+
pluginsRootInvocations += 1;
|
|
164
|
+
const fresh = resolveConfigViaSubprocess(path.dirname(configPath));
|
|
165
|
+
resolvedPayload = fresh.payload;
|
|
166
|
+
resolvedPluginSourceFiles = fresh.pluginSourceFiles;
|
|
167
|
+
return fresh;
|
|
168
|
+
}
|
|
169
|
+
/**
|
|
170
|
+
* Generate the top-level plugins barrel. The first import is the registry
|
|
171
|
+
* setup module; ESM evaluates left-to-right in import order, so by the time
|
|
172
|
+
* the plugin barrels start importing service files, `replacePlugins(...)` and
|
|
173
|
+
* `registerAppEntrypoint(...)` have already populated the runtime registry.
|
|
174
|
+
*/
|
|
175
|
+
function buildPluginsRoot(payload) {
|
|
176
|
+
const registryUrl = `zenbu:registry?data=${encodeURIComponent(JSON.stringify(payload))}`;
|
|
177
|
+
const barrelUrls = payload.plugins.map((p) => `zenbu:barrel?plugin=${encodeURIComponent(JSON.stringify(p))}`);
|
|
132
178
|
return {
|
|
133
|
-
source: `${buildSource(
|
|
134
|
-
|
|
179
|
+
source: `${buildSource([registryUrl, ...barrelUrls])}import.meta.hot?.accept()\n`,
|
|
180
|
+
barrelUrls
|
|
135
181
|
};
|
|
136
182
|
}
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
183
|
+
/**
|
|
184
|
+
* Generate the registry-setup module body. Side-effect only — no exports.
|
|
185
|
+
* Imported FIRST by the plugins root so its `replacePlugins` /
|
|
186
|
+
* `registerAppEntrypoint` calls run before any plugin's service files
|
|
187
|
+
* evaluate.
|
|
188
|
+
*/
|
|
189
|
+
function buildRegistryModule(payload) {
|
|
190
|
+
return [
|
|
191
|
+
"import { replacePlugins, registerAppEntrypoint } from \"@zenbujs/core/runtime\"",
|
|
192
|
+
`replacePlugins(${JSON.stringify(payload.plugins)})`,
|
|
193
|
+
`registerAppEntrypoint(${JSON.stringify(payload.appEntrypoint)})`,
|
|
194
|
+
"import.meta.hot?.accept()"
|
|
195
|
+
].join("\n") + "\n";
|
|
196
|
+
}
|
|
197
|
+
/**
|
|
198
|
+
* Generate a per-plugin barrel: just service-file imports anchored at the
|
|
199
|
+
* plugin's `dir`. Glob-form entries get expanded via `fs.readdirSync` and
|
|
200
|
+
* a parcel-watcher subscription is opened so dynohot invalidates the
|
|
201
|
+
* barrel when service files are added/removed under the watched directory.
|
|
202
|
+
*/
|
|
203
|
+
function buildPluginBarrel(plugin) {
|
|
141
204
|
const imports = [];
|
|
142
|
-
const watchPaths = new Set([
|
|
205
|
+
const watchPaths = new Set([plugin.dir]);
|
|
143
206
|
const globs = [];
|
|
144
|
-
for (const entry of
|
|
145
|
-
const resolved = path.resolve(
|
|
207
|
+
for (const entry of plugin.services) {
|
|
208
|
+
const resolved = path.isAbsolute(entry) ? entry : path.resolve(plugin.dir, entry);
|
|
146
209
|
if (resolved.includes("*")) {
|
|
147
210
|
const dir = path.dirname(resolved);
|
|
148
211
|
const regex = globRegex(path.basename(resolved));
|
|
@@ -153,8 +216,7 @@ function buildBarrel(manifestPath) {
|
|
|
153
216
|
snapshot: snapshotDir(dir, regex)
|
|
154
217
|
});
|
|
155
218
|
for (const file of expandGlob(resolved)) imports.push(pathToFileURL(file).href);
|
|
156
|
-
} else
|
|
157
|
-
else imports.push(pathToFileURL(resolved).href);
|
|
219
|
+
} else imports.push(pathToFileURL(resolved).href);
|
|
158
220
|
}
|
|
159
221
|
return {
|
|
160
222
|
source: `${buildSource(imports)}import.meta.hot?.accept()\n`,
|
|
@@ -224,9 +286,30 @@ function loadImpl(url, context, nextLoad) {
|
|
|
224
286
|
if (url.startsWith("zenbu:plugins?")) {
|
|
225
287
|
const params = new URL(url).searchParams;
|
|
226
288
|
const configPath = decodeURIComponent(params.get("config") ?? "");
|
|
227
|
-
const {
|
|
228
|
-
|
|
229
|
-
if (
|
|
289
|
+
const { payload, pluginSourceFiles } = getResolvedConfig(configPath);
|
|
290
|
+
const { source, barrelUrls } = buildPluginsRoot(payload);
|
|
291
|
+
if (context.hot?.watch) {
|
|
292
|
+
context.hot.watch(pathToFileURL(configPath));
|
|
293
|
+
for (const file of pluginSourceFiles) context.hot.watch(pathToFileURL(file));
|
|
294
|
+
}
|
|
295
|
+
if (verbose) console.log(`[zenbu-loader] generated plugin root for ${path.basename(configPath)} (${payload.plugins.length} plugins, ${barrelUrls.length} barrels)`);
|
|
296
|
+
return {
|
|
297
|
+
format: "module",
|
|
298
|
+
source,
|
|
299
|
+
shortCircuit: true
|
|
300
|
+
};
|
|
301
|
+
}
|
|
302
|
+
if (url.startsWith("zenbu:registry?")) {
|
|
303
|
+
const params = new URL(url).searchParams;
|
|
304
|
+
const data = decodeURIComponent(params.get("data") ?? "");
|
|
305
|
+
let payload;
|
|
306
|
+
try {
|
|
307
|
+
payload = JSON.parse(data);
|
|
308
|
+
} catch (err) {
|
|
309
|
+
throw new Error(`[zenbu-loader] bad registry payload: ${err.message}`);
|
|
310
|
+
}
|
|
311
|
+
const source = buildRegistryModule(payload);
|
|
312
|
+
if (verbose) console.log(`[zenbu-loader] emitted registry module (${payload.plugins.length} plugins, entrypoint=${path.basename(payload.appEntrypoint)})`);
|
|
230
313
|
return {
|
|
231
314
|
format: "module",
|
|
232
315
|
source,
|
|
@@ -235,8 +318,14 @@ function loadImpl(url, context, nextLoad) {
|
|
|
235
318
|
}
|
|
236
319
|
if (url.startsWith("zenbu:barrel?")) {
|
|
237
320
|
const params = new URL(url).searchParams;
|
|
238
|
-
const
|
|
239
|
-
|
|
321
|
+
const pluginRaw = decodeURIComponent(params.get("plugin") ?? "");
|
|
322
|
+
let plugin;
|
|
323
|
+
try {
|
|
324
|
+
plugin = JSON.parse(pluginRaw);
|
|
325
|
+
} catch (err) {
|
|
326
|
+
throw new Error(`[zenbu-loader] bad plugin payload: ${err.message}`);
|
|
327
|
+
}
|
|
328
|
+
const { source, watchPaths, globs } = buildPluginBarrel(plugin);
|
|
240
329
|
if (context.hot?.watch) for (const watchPath of watchPaths) context.hot.watch(pathToFileURL(watchPath));
|
|
241
330
|
if (context.hot) {
|
|
242
331
|
barrels.set(url, {
|
|
@@ -245,7 +334,7 @@ function loadImpl(url, context, nextLoad) {
|
|
|
245
334
|
});
|
|
246
335
|
for (const glob of globs) ensureDirWatcher(glob.dir);
|
|
247
336
|
}
|
|
248
|
-
if (verbose) console.log(`[zenbu-loader] generated barrel for ${
|
|
337
|
+
if (verbose) console.log(`[zenbu-loader] generated barrel for plugin ${plugin.name} (${source.split("\n").filter(Boolean).length} imports, ${watchPaths.size} watches, ${globs.length} globs)`);
|
|
249
338
|
return {
|
|
250
339
|
format: "module",
|
|
251
340
|
source,
|
|
@@ -7,8 +7,8 @@ const MARKER_FILE = ".zenbu-dev-link";
|
|
|
7
7
|
const DEFAULT_MONOREPO = path.join(os.homedir(), ".zenbu", "plugins", "zenbu");
|
|
8
8
|
function resolveProjectDir() {
|
|
9
9
|
const cwd = process.cwd();
|
|
10
|
-
if (fs.existsSync(path.join(cwd, "zenbu.
|
|
11
|
-
console.error("zen monorepo: not in a zenbu project (no zenbu.
|
|
10
|
+
if (fs.existsSync(path.join(cwd, "zenbu.config.ts")) || fs.existsSync(path.join(cwd, "zenbu")) || fs.existsSync(path.join(cwd, MARKER_FILE))) return cwd;
|
|
11
|
+
console.error("zen monorepo: not in a zenbu project (no zenbu.config.ts or zenbu/ found)");
|
|
12
12
|
process.exit(1);
|
|
13
13
|
}
|
|
14
14
|
function resolveMonorepoPath(explicit) {
|
|
@@ -1,14 +1,19 @@
|
|
|
1
|
-
import { n as
|
|
2
|
-
import { n as init, r as push } from "./mirror-sync-
|
|
1
|
+
import { n as loadConfig } from "./load-config-BG2tPIfF.mjs";
|
|
2
|
+
import { n as init, r as push } from "./mirror-sync-EiWvdzTJ.mjs";
|
|
3
3
|
import fs from "node:fs";
|
|
4
4
|
import path from "node:path";
|
|
5
|
-
import fsp from "node:fs/promises";
|
|
6
5
|
import { execFileSync } from "node:child_process";
|
|
6
|
+
import fsp from "node:fs/promises";
|
|
7
7
|
//#region src/cli/commands/publish-source.ts
|
|
8
8
|
function resolveProjectDir() {
|
|
9
9
|
const cwd = process.cwd();
|
|
10
|
-
|
|
11
|
-
|
|
10
|
+
for (const name of [
|
|
11
|
+
"zenbu.config.ts",
|
|
12
|
+
"zenbu.config.mts",
|
|
13
|
+
"zenbu.config.js",
|
|
14
|
+
"zenbu.config.mjs"
|
|
15
|
+
]) if (fs.existsSync(path.join(cwd, name))) return cwd;
|
|
16
|
+
console.error("zen publish:source: no zenbu.config.ts found in current directory");
|
|
12
17
|
process.exit(1);
|
|
13
18
|
}
|
|
14
19
|
function currentSourceSha(projectDir) {
|
|
@@ -85,7 +90,8 @@ function logResult(action, result, mirrorUrl) {
|
|
|
85
90
|
async function runPublishSource(argv) {
|
|
86
91
|
const projectDir = resolveProjectDir();
|
|
87
92
|
const flags = parseFlags(argv);
|
|
88
|
-
const
|
|
93
|
+
const { resolved } = await loadConfig(projectDir);
|
|
94
|
+
const config = resolved.build;
|
|
89
95
|
const target = flags.target ?? config.mirror?.target;
|
|
90
96
|
if (!target) {
|
|
91
97
|
console.error("zen publish:source: no mirror target specified (config.mirror.target or --target)");
|
package/dist/react.d.mts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { f as CollectionRefBrand, h as InferCollectionItem, n as connectReplica, o as ClientProxy, p as CollectionRefValue, u as CollectionState, y as SchemaShape } from "./index-
|
|
2
|
-
import { c as ResolvedServiceRouter, l as ZenbuRegister, o as ResolvedDbRoot, s as ResolvedEvents } from "./registry-
|
|
3
|
-
import { n as EventProxy, r as RouterProxy } from "./index-
|
|
1
|
+
import { f as CollectionRefBrand, h as InferCollectionItem, n as connectReplica, o as ClientProxy, p as CollectionRefValue, u as CollectionState, y as SchemaShape } from "./index-UK58xuoR.mjs";
|
|
2
|
+
import { c as ResolvedServiceRouter, l as ZenbuRegister, o as ResolvedDbRoot, s as ResolvedEvents } from "./registry-CioEYLI5.mjs";
|
|
3
|
+
import { n as EventProxy, r as RouterProxy } from "./index-CE0iPntP.mjs";
|
|
4
4
|
import * as _$react from "react";
|
|
5
5
|
import { ReactNode } from "react";
|
|
6
6
|
|
package/dist/registry.d.mts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { a as Events, c as ResolvedServiceRouter, i as CoreServiceRouter, l as ZenbuRegister, n as CoreEvents, o as ResolvedDbRoot, r as CorePreloads, s as ResolvedEvents, t as CoreDbSections } from "./registry-
|
|
1
|
+
import { a as Events, c as ResolvedServiceRouter, i as CoreServiceRouter, l as ZenbuRegister, n as CoreEvents, o as ResolvedDbRoot, r as CorePreloads, s as ResolvedEvents, t as CoreDbSections } from "./registry-CioEYLI5.mjs";
|
|
2
2
|
export { CoreDbSections, CoreEvents, CorePreloads, CoreServiceRouter, Events, ResolvedDbRoot, ResolvedEvents, ResolvedServiceRouter, ZenbuRegister };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { t as Service, u as runtime } from "./runtime-C95iyVn6.mjs";
|
|
2
2
|
import { t as createLogger } from "./log-CyKv8hQg.mjs";
|
|
3
|
-
import { a as zenbuVitePlugins } from "./vite-plugins-
|
|
3
|
+
import { a as zenbuVitePlugins } from "./vite-plugins-t4MlFcz3.mjs";
|
|
4
4
|
import os from "node:os";
|
|
5
5
|
import path, { resolve } from "node:path";
|
|
6
6
|
import { createHash } from "node:crypto";
|