everything-dev 1.44.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.
Files changed (65) hide show
  1. package/dist/api-contract.cjs +26 -21
  2. package/dist/api-contract.cjs.map +1 -1
  3. package/dist/api-contract.mjs +27 -22
  4. package/dist/api-contract.mjs.map +1 -1
  5. package/dist/cli/catalog.cjs +2 -2
  6. package/dist/cli/catalog.cjs.map +1 -1
  7. package/dist/cli/catalog.mjs +2 -2
  8. package/dist/cli/catalog.mjs.map +1 -1
  9. package/dist/cli/infra.cjs +3 -0
  10. package/dist/cli/infra.cjs.map +1 -1
  11. package/dist/cli/infra.mjs +3 -0
  12. package/dist/cli/infra.mjs.map +1 -1
  13. package/dist/cli/init.cjs +5 -2
  14. package/dist/cli/init.cjs.map +1 -1
  15. package/dist/cli/init.d.cts +1 -1
  16. package/dist/cli/init.d.cts.map +1 -1
  17. package/dist/cli/init.d.mts +1 -1
  18. package/dist/cli/init.d.mts.map +1 -1
  19. package/dist/cli/init.mjs +5 -2
  20. package/dist/cli/init.mjs.map +1 -1
  21. package/dist/cli/status.cjs +8 -19
  22. package/dist/cli/status.cjs.map +1 -1
  23. package/dist/cli/status.mjs +8 -19
  24. package/dist/cli/status.mjs.map +1 -1
  25. package/dist/cli.cjs +9 -4
  26. package/dist/cli.cjs.map +1 -1
  27. package/dist/cli.mjs +9 -4
  28. package/dist/cli.mjs.map +1 -1
  29. package/dist/config.cjs +22 -11
  30. package/dist/config.cjs.map +1 -1
  31. package/dist/config.d.cts.map +1 -1
  32. package/dist/config.d.mts.map +1 -1
  33. package/dist/config.mjs +22 -11
  34. package/dist/config.mjs.map +1 -1
  35. package/dist/contract.cjs +6 -5
  36. package/dist/contract.cjs.map +1 -1
  37. package/dist/contract.d.cts +12 -4
  38. package/dist/contract.d.cts.map +1 -1
  39. package/dist/contract.d.mts +12 -4
  40. package/dist/contract.d.mts.map +1 -1
  41. package/dist/contract.mjs +6 -5
  42. package/dist/contract.mjs.map +1 -1
  43. package/dist/dev-session.cjs +3 -1
  44. package/dist/dev-session.cjs.map +1 -1
  45. package/dist/dev-session.mjs +3 -1
  46. package/dist/dev-session.mjs.map +1 -1
  47. package/dist/fastkv.cjs +2 -1
  48. package/dist/fastkv.cjs.map +1 -1
  49. package/dist/fastkv.mjs +2 -1
  50. package/dist/fastkv.mjs.map +1 -1
  51. package/dist/http-client.cjs +22 -2
  52. package/dist/http-client.cjs.map +1 -1
  53. package/dist/http-client.mjs +22 -2
  54. package/dist/http-client.mjs.map +1 -1
  55. package/dist/orchestrator.cjs +39 -23
  56. package/dist/orchestrator.cjs.map +1 -1
  57. package/dist/orchestrator.mjs +39 -23
  58. package/dist/orchestrator.mjs.map +1 -1
  59. package/dist/plugin.cjs +53 -63
  60. package/dist/plugin.cjs.map +1 -1
  61. package/dist/plugin.d.cts +4 -0
  62. package/dist/plugin.d.mts +4 -0
  63. package/dist/plugin.mjs +53 -63
  64. package/dist/plugin.mjs.map +1 -1
  65. package/package.json +1 -1
package/dist/plugin.cjs CHANGED
@@ -321,8 +321,10 @@ async function buildWorkspaceTargets(opts) {
321
321
  bosConfig: opts.bosConfig ?? void 0,
322
322
  extendsChain: []
323
323
  })).catalogChanged) await require_run.run("bun", ["install"], { cwd: opts.configDir });
324
- if (existing.some((entry) => entry.key === "api")) await buildEveryPluginQuietly(opts.configDir);
325
- await buildEverythingDevQuietly(opts.configDir);
324
+ const shouldBuildPlugin = existing.some((entry) => entry.key === "api");
325
+ const buildTasks = [buildEverythingDevQuietly(opts.configDir)];
326
+ if (shouldBuildPlugin) buildTasks.push(buildEveryPluginQuietly(opts.configDir));
327
+ await Promise.all(buildTasks);
326
328
  const env = {
327
329
  ...node_process.default.env,
328
330
  NODE_ENV: opts.deploy ? "production" : "development"
@@ -525,12 +527,9 @@ var plugin_default = (0, every_plugin.createPlugin)({
525
527
  };
526
528
  }),
527
529
  dev: builder.dev.handler(async ({ input }) => {
530
+ const devTimings = [];
528
531
  require_infra.ensureEnvFile(deps.configDir);
529
532
  require_infra.loadProjectEnv(deps.configDir);
530
- pluginEvents.emit("progress", {
531
- phase: "config",
532
- status: "running"
533
- });
534
533
  const localPackages = require_app.detectLocalPackages(deps.bosConfig ?? void 0, deps.runtimeConfig ?? void 0);
535
534
  const hostSource = localPackages.includes("host") ? parseSourceMode(input.host, "local") : "remote";
536
535
  const uiSource = localPackages.includes("ui") ? parseSourceMode(input.ui, "local") : "remote";
@@ -538,61 +537,44 @@ var plugin_default = (0, every_plugin.createPlugin)({
538
537
  const authSource = localPackages.includes("auth") ? parseSourceMode(input.auth, "local") : "remote";
539
538
  const ssr = input.ssr ?? false;
540
539
  const proxy = input.proxy ?? false;
541
- if ((await require_shared_deps.syncResolvedSharedDeps({
540
+ const sharedSync = await timePhase(devTimings, "shared deps", () => require_shared_deps.syncResolvedSharedDeps({
542
541
  configDir: deps.configDir,
543
542
  hostMode: hostSource,
544
543
  bosConfig: deps.bosConfig ?? void 0,
545
544
  extendsChain: []
546
- })).catalogChanged) {
547
- pluginEvents.emit("progress", {
548
- phase: "install",
549
- status: "running"
550
- });
551
- await require_run.run("bun", ["install"], { cwd: deps.configDir });
552
- pluginEvents.emit("progress", {
553
- phase: "install",
554
- status: "done"
555
- });
556
- }
557
- if (apiSource === "local" && !proxy || localPackages.some((pkg) => pkg.startsWith("plugin:"))) {
558
- pluginEvents.emit("progress", {
559
- phase: "build plugin",
560
- status: "running"
561
- });
562
- await buildEveryPluginQuietly(deps.configDir);
563
- pluginEvents.emit("progress", {
564
- phase: "build plugin",
565
- status: "done"
566
- });
545
+ }));
546
+ let configMayHaveChanged = false;
547
+ if (sharedSync.catalogChanged) {
548
+ await timePhase(devTimings, "install", () => require_run.run("bun", ["install"], { cwd: deps.configDir }));
549
+ configMayHaveChanged = true;
567
550
  }
568
- pluginEvents.emit("progress", {
569
- phase: "build",
570
- status: "running"
571
- });
572
- await buildEverythingDevQuietly(deps.configDir);
573
- pluginEvents.emit("progress", {
574
- phase: "build",
575
- status: "done"
576
- });
577
- pluginEvents.emit("progress", {
578
- phase: "config",
579
- status: "done"
551
+ const shouldBuildPlugin = apiSource === "local" && !proxy || localPackages.some((pkg) => pkg.startsWith("plugin:"));
552
+ await timePhase(devTimings, "build", async () => {
553
+ const buildTasks = [buildEverythingDevQuietly(deps.configDir)];
554
+ if (shouldBuildPlugin) buildTasks.push(buildEveryPluginQuietly(deps.configDir));
555
+ await Promise.all(buildTasks);
580
556
  });
581
- const refreshed = await require_config.loadResolvedConfig({
582
- cwd: deps.configDir,
583
- remotePlugins: input.remotePlugins
584
- });
585
- deps.bosConfig = refreshed?.config ?? deps.bosConfig;
586
- deps.runtimeConfig = refreshed?.runtime ?? deps.runtimeConfig;
557
+ let devExtendsChain;
558
+ if (configMayHaveChanged || input.remotePlugins?.length) {
559
+ const refreshed = await timePhase(devTimings, "resolve config", () => require_config.loadResolvedConfig({
560
+ cwd: deps.configDir,
561
+ remotePlugins: input.remotePlugins
562
+ }));
563
+ deps.bosConfig = refreshed?.config ?? deps.bosConfig;
564
+ deps.runtimeConfig = refreshed?.runtime ?? deps.runtimeConfig;
565
+ devExtendsChain = refreshed?.source.extended;
566
+ }
587
567
  if (!deps.bosConfig) return {
588
568
  status: "error",
589
569
  description: "No bos.config.json found",
590
- processes: []
570
+ processes: [],
571
+ timings: devTimings
591
572
  };
592
573
  if (proxy && !resolveProxyUrl(deps.bosConfig)) return {
593
574
  status: "error",
594
575
  description: "No valid proxy URL configured in bos.config.json",
595
- processes: []
576
+ processes: [],
577
+ timings: devTimings
596
578
  };
597
579
  const hostPort = input.port ?? require_config.getHostDevelopmentPort(deps.bosConfig.app.host.development);
598
580
  require_config.suppressWarnings();
@@ -606,20 +588,18 @@ var plugin_default = (0, every_plugin.createPlugin)({
606
588
  });
607
589
  require_config.drainConfigWarnings();
608
590
  require_config.resumeWarnings();
609
- const runtimeConfig = await require_app.prepareDevelopmentRuntimeConfig(developmentRuntime, {
591
+ const runtimeConfig = await timePhase(devTimings, "ports", () => require_app.prepareDevelopmentRuntimeConfig(developmentRuntime, {
610
592
  hostPort,
611
593
  ssr
612
- });
594
+ }));
613
595
  require_infra.syncGeneratedInfra(deps.configDir, runtimeConfig);
614
- if (!(0, node_fs.existsSync)((0, node_path.join)(deps.configDir, ".env"))) {
615
- require_infra.ensureEnvFile(deps.configDir);
616
- require_infra.loadProjectEnv(deps.configDir);
617
- }
618
- await generateCodeArtifacts(deps.configDir, deps.bosConfig, {
596
+ require_infra.ensureEnvFile(deps.configDir);
597
+ require_infra.loadProjectEnv(deps.configDir);
598
+ await timePhase(devTimings, "generate artifacts", () => generateCodeArtifacts(deps.configDir, deps.bosConfig, {
619
599
  env: "development",
620
- extendsChain: refreshed?.source.extended,
600
+ extendsChain: devExtendsChain,
621
601
  runtimeConfig
622
- });
602
+ }));
623
603
  const services = require_service_descriptor.buildServiceDescriptorMap(runtimeConfig, {
624
604
  ssr,
625
605
  proxy
@@ -651,7 +631,8 @@ var plugin_default = (0, every_plugin.createPlugin)({
651
631
  return {
652
632
  status: "started",
653
633
  description: orchestrator.description,
654
- processes: packages
634
+ processes: packages,
635
+ timings: devTimings
655
636
  };
656
637
  }),
657
638
  start: builder.start.handler(async ({ input }) => {
@@ -712,10 +693,8 @@ var plugin_default = (0, every_plugin.createPlugin)({
712
693
  if (isStaging && config.staging?.domain) runtimeConfig.domain = config.staging.domain;
713
694
  if (isStaging) runtimeConfig.env = "staging";
714
695
  require_infra.syncGeneratedInfra(deps.configDir, runtimeConfig);
715
- if (!(0, node_fs.existsSync)((0, node_path.join)(deps.configDir, ".env"))) {
716
- require_infra.ensureEnvFile(deps.configDir);
717
- require_infra.loadProjectEnv(deps.configDir);
718
- }
696
+ require_infra.ensureEnvFile(deps.configDir);
697
+ require_infra.loadProjectEnv(deps.configDir);
719
698
  pluginEvents.emit("progress", {
720
699
  phase: "generate artifacts",
721
700
  status: "running"
@@ -1043,6 +1022,17 @@ var plugin_default = (0, every_plugin.createPlugin)({
1043
1022
  overrides = overrides?.length ? overrides : ["ui", "api"];
1044
1023
  if (overrides.includes("plugins") && plugins === void 0) plugins = parentPluginKeys;
1045
1024
  plugins = plugins ?? [];
1025
+ const pluginDirMap = {};
1026
+ if (parentConfig?.plugins) for (const plugin of plugins) {
1027
+ const entry = parentConfig.plugins?.[plugin];
1028
+ if (entry && typeof entry === "object") {
1029
+ const dev = entry.development;
1030
+ if (typeof dev === "string") {
1031
+ const match = dev.match(/^local:plugins\/(.+)$/);
1032
+ if (match?.[1] && match[1] !== plugin) pluginDirMap[plugin] = match[1];
1033
+ }
1034
+ }
1035
+ }
1046
1036
  directory = directory || domain || extendsGateway;
1047
1037
  const targetDir = (0, node_path.resolve)(directory);
1048
1038
  const extendsRef = `bos://${extendsAccount}/${extendsGateway}`;
@@ -1100,7 +1090,7 @@ var plugin_default = (0, every_plugin.createPlugin)({
1100
1090
  staging: parentConfig?.staging
1101
1091
  }));
1102
1092
  } else {
1103
- const patterns = require_cli_init.buildInitPatterns(overrides, plugins);
1093
+ const patterns = require_cli_init.buildInitPatterns(overrides, plugins, pluginDirMap);
1104
1094
  filesCopied = await timePhase(timings, "copy files", () => require_cli_init.copyFilteredFiles(sourceDir, targetDir, patterns, {
1105
1095
  overrides,
1106
1096
  plugins