everything-dev 1.43.0 → 1.44.1
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/api-contract.cjs +35 -39
- package/dist/api-contract.cjs.map +1 -1
- package/dist/api-contract.mjs +35 -39
- package/dist/api-contract.mjs.map +1 -1
- package/dist/cli/catalog.cjs +2 -2
- package/dist/cli/catalog.cjs.map +1 -1
- package/dist/cli/catalog.mjs +2 -2
- package/dist/cli/catalog.mjs.map +1 -1
- package/dist/cli/infra.cjs +14 -4
- package/dist/cli/infra.cjs.map +1 -1
- package/dist/cli/infra.mjs +14 -4
- package/dist/cli/infra.mjs.map +1 -1
- package/dist/cli/init.cjs +9 -4
- package/dist/cli/init.cjs.map +1 -1
- package/dist/cli/init.d.cts +1 -1
- package/dist/cli/init.d.cts.map +1 -1
- package/dist/cli/init.d.mts +1 -1
- package/dist/cli/init.d.mts.map +1 -1
- package/dist/cli/init.mjs +9 -4
- package/dist/cli/init.mjs.map +1 -1
- package/dist/cli/status.cjs +13 -29
- package/dist/cli/status.cjs.map +1 -1
- package/dist/cli/status.mjs +13 -29
- package/dist/cli/status.mjs.map +1 -1
- package/dist/cli.cjs +9 -4
- package/dist/cli.cjs.map +1 -1
- package/dist/cli.mjs +9 -4
- package/dist/cli.mjs.map +1 -1
- package/dist/config.cjs +27 -23
- package/dist/config.cjs.map +1 -1
- package/dist/config.d.cts.map +1 -1
- package/dist/config.d.mts.map +1 -1
- package/dist/config.mjs +27 -23
- package/dist/config.mjs.map +1 -1
- package/dist/contract.cjs +6 -5
- package/dist/contract.cjs.map +1 -1
- package/dist/contract.d.cts +12 -4
- package/dist/contract.d.cts.map +1 -1
- package/dist/contract.d.mts +12 -4
- package/dist/contract.d.mts.map +1 -1
- package/dist/contract.mjs +6 -5
- package/dist/contract.mjs.map +1 -1
- package/dist/dev-session.cjs +3 -1
- package/dist/dev-session.cjs.map +1 -1
- package/dist/dev-session.mjs +3 -1
- package/dist/dev-session.mjs.map +1 -1
- package/dist/fastkv.cjs +13 -29
- package/dist/fastkv.cjs.map +1 -1
- package/dist/fastkv.mjs +14 -29
- package/dist/fastkv.mjs.map +1 -1
- package/dist/http-client.cjs +102 -0
- package/dist/http-client.cjs.map +1 -0
- package/dist/http-client.mjs +100 -0
- package/dist/http-client.mjs.map +1 -0
- package/dist/integrity.cjs +3 -2
- package/dist/integrity.cjs.map +1 -1
- package/dist/integrity.d.cts.map +1 -1
- package/dist/integrity.d.mts.map +1 -1
- package/dist/integrity.mjs +3 -2
- package/dist/integrity.mjs.map +1 -1
- package/dist/mf.cjs +10 -2
- package/dist/mf.cjs.map +1 -1
- package/dist/mf.d.cts.map +1 -1
- package/dist/mf.d.mts.map +1 -1
- package/dist/mf.mjs +10 -2
- package/dist/mf.mjs.map +1 -1
- package/dist/near-cli.cjs +1 -1
- package/dist/near-cli.mjs +1 -1
- package/dist/orchestrator.cjs +39 -23
- package/dist/orchestrator.cjs.map +1 -1
- package/dist/orchestrator.mjs +39 -23
- package/dist/orchestrator.mjs.map +1 -1
- package/dist/plugin.cjs +57 -65
- package/dist/plugin.cjs.map +1 -1
- package/dist/plugin.d.cts +4 -0
- package/dist/plugin.d.mts +4 -0
- package/dist/plugin.mjs +57 -65
- package/dist/plugin.mjs.map +1 -1
- package/package.json +1 -1
package/dist/plugin.mjs
CHANGED
|
@@ -21,10 +21,10 @@ import { buildDescription, buildServiceDescriptorMap } from "./service-descripto
|
|
|
21
21
|
import { run } from "./utils/run.mjs";
|
|
22
22
|
import { existsSync, readFileSync, writeFileSync } from "node:fs";
|
|
23
23
|
import { basename, dirname, join, resolve } from "node:path";
|
|
24
|
+
import { Effect } from "effect";
|
|
24
25
|
import { EventEmitter } from "node:events";
|
|
25
26
|
import { access, readFile } from "node:fs/promises";
|
|
26
27
|
import process from "node:process";
|
|
27
|
-
import { Effect } from "effect";
|
|
28
28
|
|
|
29
29
|
//#region src/plugin.ts
|
|
30
30
|
const pluginEvents = new EventEmitter();
|
|
@@ -317,8 +317,10 @@ async function buildWorkspaceTargets(opts) {
|
|
|
317
317
|
bosConfig: opts.bosConfig ?? void 0,
|
|
318
318
|
extendsChain: []
|
|
319
319
|
})).catalogChanged) await run("bun", ["install"], { cwd: opts.configDir });
|
|
320
|
-
|
|
321
|
-
|
|
320
|
+
const shouldBuildPlugin = existing.some((entry) => entry.key === "api");
|
|
321
|
+
const buildTasks = [buildEverythingDevQuietly(opts.configDir)];
|
|
322
|
+
if (shouldBuildPlugin) buildTasks.push(buildEveryPluginQuietly(opts.configDir));
|
|
323
|
+
await Promise.all(buildTasks);
|
|
322
324
|
const env = {
|
|
323
325
|
...process.env,
|
|
324
326
|
NODE_ENV: opts.deploy ? "production" : "development"
|
|
@@ -521,12 +523,9 @@ var plugin_default = createPlugin({
|
|
|
521
523
|
};
|
|
522
524
|
}),
|
|
523
525
|
dev: builder.dev.handler(async ({ input }) => {
|
|
526
|
+
const devTimings = [];
|
|
524
527
|
ensureEnvFile(deps.configDir);
|
|
525
528
|
loadProjectEnv(deps.configDir);
|
|
526
|
-
pluginEvents.emit("progress", {
|
|
527
|
-
phase: "config",
|
|
528
|
-
status: "running"
|
|
529
|
-
});
|
|
530
529
|
const localPackages = detectLocalPackages(deps.bosConfig ?? void 0, deps.runtimeConfig ?? void 0);
|
|
531
530
|
const hostSource = localPackages.includes("host") ? parseSourceMode(input.host, "local") : "remote";
|
|
532
531
|
const uiSource = localPackages.includes("ui") ? parseSourceMode(input.ui, "local") : "remote";
|
|
@@ -534,61 +533,44 @@ var plugin_default = createPlugin({
|
|
|
534
533
|
const authSource = localPackages.includes("auth") ? parseSourceMode(input.auth, "local") : "remote";
|
|
535
534
|
const ssr = input.ssr ?? false;
|
|
536
535
|
const proxy = input.proxy ?? false;
|
|
537
|
-
|
|
536
|
+
const sharedSync = await timePhase(devTimings, "shared deps", () => syncResolvedSharedDeps({
|
|
538
537
|
configDir: deps.configDir,
|
|
539
538
|
hostMode: hostSource,
|
|
540
539
|
bosConfig: deps.bosConfig ?? void 0,
|
|
541
540
|
extendsChain: []
|
|
542
|
-
}))
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
await run("bun", ["install"], { cwd: deps.configDir });
|
|
548
|
-
pluginEvents.emit("progress", {
|
|
549
|
-
phase: "install",
|
|
550
|
-
status: "done"
|
|
551
|
-
});
|
|
552
|
-
}
|
|
553
|
-
if (apiSource === "local" && !proxy || localPackages.some((pkg) => pkg.startsWith("plugin:"))) {
|
|
554
|
-
pluginEvents.emit("progress", {
|
|
555
|
-
phase: "build plugin",
|
|
556
|
-
status: "running"
|
|
557
|
-
});
|
|
558
|
-
await buildEveryPluginQuietly(deps.configDir);
|
|
559
|
-
pluginEvents.emit("progress", {
|
|
560
|
-
phase: "build plugin",
|
|
561
|
-
status: "done"
|
|
562
|
-
});
|
|
541
|
+
}));
|
|
542
|
+
let configMayHaveChanged = false;
|
|
543
|
+
if (sharedSync.catalogChanged) {
|
|
544
|
+
await timePhase(devTimings, "install", () => run("bun", ["install"], { cwd: deps.configDir }));
|
|
545
|
+
configMayHaveChanged = true;
|
|
563
546
|
}
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
547
|
+
const shouldBuildPlugin = apiSource === "local" && !proxy || localPackages.some((pkg) => pkg.startsWith("plugin:"));
|
|
548
|
+
await timePhase(devTimings, "build", async () => {
|
|
549
|
+
const buildTasks = [buildEverythingDevQuietly(deps.configDir)];
|
|
550
|
+
if (shouldBuildPlugin) buildTasks.push(buildEveryPluginQuietly(deps.configDir));
|
|
551
|
+
await Promise.all(buildTasks);
|
|
567
552
|
});
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
cwd: deps.configDir,
|
|
579
|
-
remotePlugins: input.remotePlugins
|
|
580
|
-
});
|
|
581
|
-
deps.bosConfig = refreshed?.config ?? deps.bosConfig;
|
|
582
|
-
deps.runtimeConfig = refreshed?.runtime ?? deps.runtimeConfig;
|
|
553
|
+
let devExtendsChain;
|
|
554
|
+
if (configMayHaveChanged || input.remotePlugins?.length) {
|
|
555
|
+
const refreshed = await timePhase(devTimings, "resolve config", () => loadResolvedConfig({
|
|
556
|
+
cwd: deps.configDir,
|
|
557
|
+
remotePlugins: input.remotePlugins
|
|
558
|
+
}));
|
|
559
|
+
deps.bosConfig = refreshed?.config ?? deps.bosConfig;
|
|
560
|
+
deps.runtimeConfig = refreshed?.runtime ?? deps.runtimeConfig;
|
|
561
|
+
devExtendsChain = refreshed?.source.extended;
|
|
562
|
+
}
|
|
583
563
|
if (!deps.bosConfig) return {
|
|
584
564
|
status: "error",
|
|
585
565
|
description: "No bos.config.json found",
|
|
586
|
-
processes: []
|
|
566
|
+
processes: [],
|
|
567
|
+
timings: devTimings
|
|
587
568
|
};
|
|
588
569
|
if (proxy && !resolveProxyUrl(deps.bosConfig)) return {
|
|
589
570
|
status: "error",
|
|
590
571
|
description: "No valid proxy URL configured in bos.config.json",
|
|
591
|
-
processes: []
|
|
572
|
+
processes: [],
|
|
573
|
+
timings: devTimings
|
|
592
574
|
};
|
|
593
575
|
const hostPort = input.port ?? getHostDevelopmentPort(deps.bosConfig.app.host.development);
|
|
594
576
|
suppressWarnings();
|
|
@@ -602,20 +584,18 @@ var plugin_default = createPlugin({
|
|
|
602
584
|
});
|
|
603
585
|
drainConfigWarnings();
|
|
604
586
|
resumeWarnings();
|
|
605
|
-
const runtimeConfig = await prepareDevelopmentRuntimeConfig(developmentRuntime, {
|
|
587
|
+
const runtimeConfig = await timePhase(devTimings, "ports", () => prepareDevelopmentRuntimeConfig(developmentRuntime, {
|
|
606
588
|
hostPort,
|
|
607
589
|
ssr
|
|
608
|
-
});
|
|
590
|
+
}));
|
|
609
591
|
syncGeneratedInfra(deps.configDir, runtimeConfig);
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
}
|
|
614
|
-
await generateCodeArtifacts(deps.configDir, deps.bosConfig, {
|
|
592
|
+
ensureEnvFile(deps.configDir);
|
|
593
|
+
loadProjectEnv(deps.configDir);
|
|
594
|
+
await timePhase(devTimings, "generate artifacts", () => generateCodeArtifacts(deps.configDir, deps.bosConfig, {
|
|
615
595
|
env: "development",
|
|
616
|
-
extendsChain:
|
|
596
|
+
extendsChain: devExtendsChain,
|
|
617
597
|
runtimeConfig
|
|
618
|
-
});
|
|
598
|
+
}));
|
|
619
599
|
const services = buildServiceDescriptorMap(runtimeConfig, {
|
|
620
600
|
ssr,
|
|
621
601
|
proxy
|
|
@@ -647,7 +627,8 @@ var plugin_default = createPlugin({
|
|
|
647
627
|
return {
|
|
648
628
|
status: "started",
|
|
649
629
|
description: orchestrator.description,
|
|
650
|
-
processes: packages
|
|
630
|
+
processes: packages,
|
|
631
|
+
timings: devTimings
|
|
651
632
|
};
|
|
652
633
|
}),
|
|
653
634
|
start: builder.start.handler(async ({ input }) => {
|
|
@@ -708,10 +689,8 @@ var plugin_default = createPlugin({
|
|
|
708
689
|
if (isStaging && config.staging?.domain) runtimeConfig.domain = config.staging.domain;
|
|
709
690
|
if (isStaging) runtimeConfig.env = "staging";
|
|
710
691
|
syncGeneratedInfra(deps.configDir, runtimeConfig);
|
|
711
|
-
|
|
712
|
-
|
|
713
|
-
loadProjectEnv(deps.configDir);
|
|
714
|
-
}
|
|
692
|
+
ensureEnvFile(deps.configDir);
|
|
693
|
+
loadProjectEnv(deps.configDir);
|
|
715
694
|
pluginEvents.emit("progress", {
|
|
716
695
|
phase: "generate artifacts",
|
|
717
696
|
status: "running"
|
|
@@ -1033,10 +1012,23 @@ var plugin_default = createPlugin({
|
|
|
1033
1012
|
try {
|
|
1034
1013
|
parentConfig = await timePhase(timings, "parent config", () => fetchParentConfig(extendsAccount, extendsGateway));
|
|
1035
1014
|
if (parentConfig?.plugins && typeof parentConfig.plugins === "object") parentPluginKeys = Object.keys(parentConfig.plugins);
|
|
1036
|
-
} catch {
|
|
1015
|
+
} catch (e) {
|
|
1016
|
+
console.warn(`[init] Failed to fetch parent config from ${extendsAccount}/${extendsGateway}: ${e instanceof Error ? e.message : e}`);
|
|
1017
|
+
}
|
|
1037
1018
|
overrides = overrides?.length ? overrides : ["ui", "api"];
|
|
1038
1019
|
if (overrides.includes("plugins") && plugins === void 0) plugins = parentPluginKeys;
|
|
1039
1020
|
plugins = plugins ?? [];
|
|
1021
|
+
const pluginDirMap = {};
|
|
1022
|
+
if (parentConfig?.plugins) for (const plugin of plugins) {
|
|
1023
|
+
const entry = parentConfig.plugins?.[plugin];
|
|
1024
|
+
if (entry && typeof entry === "object") {
|
|
1025
|
+
const dev = entry.development;
|
|
1026
|
+
if (typeof dev === "string") {
|
|
1027
|
+
const match = dev.match(/^local:plugins\/(.+)$/);
|
|
1028
|
+
if (match?.[1] && match[1] !== plugin) pluginDirMap[plugin] = match[1];
|
|
1029
|
+
}
|
|
1030
|
+
}
|
|
1031
|
+
}
|
|
1040
1032
|
directory = directory || domain || extendsGateway;
|
|
1041
1033
|
const targetDir = resolve(directory);
|
|
1042
1034
|
const extendsRef = `bos://${extendsAccount}/${extendsGateway}`;
|
|
@@ -1094,7 +1086,7 @@ var plugin_default = createPlugin({
|
|
|
1094
1086
|
staging: parentConfig?.staging
|
|
1095
1087
|
}));
|
|
1096
1088
|
} else {
|
|
1097
|
-
const patterns = buildInitPatterns(overrides, plugins);
|
|
1089
|
+
const patterns = buildInitPatterns(overrides, plugins, pluginDirMap);
|
|
1098
1090
|
filesCopied = await timePhase(timings, "copy files", () => copyFilteredFiles(sourceDir, targetDir, patterns, {
|
|
1099
1091
|
overrides,
|
|
1100
1092
|
plugins
|