@holo-js/cli 0.2.0 → 0.2.2

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 (36) hide show
  1. package/dist/bin/holo.mjs +34 -20
  2. package/dist/{broadcast-WI6PJS5P.mjs → broadcast-B6CPVMYN.mjs} +8 -8
  3. package/dist/{broadcast-YWS4N5QU.mjs → broadcast-PY56C7D6.mjs} +8 -8
  4. package/dist/{cache-KWNQECAA.mjs → cache-HUQPA6QN.mjs} +4 -4
  5. package/dist/{cache-QARFSW4F.mjs → cache-XN3YO6B3.mjs} +4 -4
  6. package/dist/{cache-migrations-3OXR4FN5.mjs → cache-migrations-LBX6QVA2.mjs} +5 -5
  7. package/dist/{cache-migrations-MDFMDVTK.mjs → cache-migrations-SPPABVD6.mjs} +5 -5
  8. package/dist/{chunk-KWRIBHC3.mjs → chunk-5HHYM7UA.mjs} +51 -51
  9. package/dist/{chunk-EWYXSN2C.mjs → chunk-7OQLMDIN.mjs} +40 -10
  10. package/dist/{chunk-QA7TP5EO.mjs → chunk-AKUNREVI.mjs} +40 -10
  11. package/dist/{chunk-2DKQKZML.mjs → chunk-J76GH2DR.mjs} +41 -13
  12. package/dist/{chunk-IUDD5FYL.mjs → chunk-KS5TWO75.mjs} +5 -3
  13. package/dist/{chunk-UPZH6KCF.mjs → chunk-RP2K5N7W.mjs} +51 -51
  14. package/dist/{chunk-2RGJTPYF.mjs → chunk-VP2E62DF.mjs} +1 -1
  15. package/dist/{chunk-ONKESAQA.mjs → chunk-YEFJBN56.mjs} +1 -1
  16. package/dist/{config-TWEO2R4N.mjs → config-MD27U4FM.mjs} +2 -2
  17. package/dist/{dev-2OULECTU.mjs → dev-G3MHQQOY.mjs} +9 -7
  18. package/dist/{dev-PJMEGTAC.mjs → dev-LMUEQXFZ.mjs} +9 -7
  19. package/dist/{discovery-7FXND7Y6.mjs → discovery-GWTBF5RZ.mjs} +2 -2
  20. package/dist/{generators-Z4XLSMC7.mjs → generators-FY6IFXHB.mjs} +8 -8
  21. package/dist/{generators-4BP7B47W.mjs → generators-OICUDXO2.mjs} +8 -8
  22. package/dist/index.mjs +34 -20
  23. package/dist/{media-migrations-BFEL7NFG.mjs → media-migrations-3TEETGWU.mjs} +5 -5
  24. package/dist/{media-migrations-VR7DLLR6.mjs → media-migrations-GCLWLC3N.mjs} +5 -5
  25. package/dist/{queue-SVOJPTRO.mjs → queue-3EU62AMG.mjs} +6 -6
  26. package/dist/{queue-YCBQTCYI.mjs → queue-LWKVPNC4.mjs} +6 -6
  27. package/dist/{queue-migrations-HPXOO3NA.mjs → queue-migrations-6N67JOV3.mjs} +6 -6
  28. package/dist/{queue-migrations-X4P7FZKJ.mjs → queue-migrations-D7KTW6BK.mjs} +6 -6
  29. package/dist/{runtime-CPKR663Y.mjs → runtime-HVPH3GVK.mjs} +5 -5
  30. package/dist/{runtime-GIE56H47.mjs → runtime-MPLZ46TJ.mjs} +5 -5
  31. package/dist/runtime-worker.mjs +42 -8
  32. package/dist/{scaffold-3QPGYQEQ.mjs → scaffold-2VXB4DBD.mjs} +3 -3
  33. package/dist/{scaffold-RGAAHC6I.mjs → scaffold-MH5NVE5O.mjs} +3 -3
  34. package/dist/{security-7H5TNHZY.mjs → security-DZHYTKX6.mjs} +4 -4
  35. package/dist/{security-BZGD6ONY.mjs → security-N2GXRBVR.mjs} +4 -4
  36. package/package.json +8 -8
package/dist/bin/holo.mjs CHANGED
@@ -29,10 +29,10 @@ import {
29
29
  fileExists
30
30
  } from "../chunk-LBJAJLKU.mjs";
31
31
  import "../chunk-D7O4SU6N.mjs";
32
- import "../chunk-2RGJTPYF.mjs";
33
- import "../chunk-UPZH6KCF.mjs";
34
- import "../chunk-ONKESAQA.mjs";
35
- import "../chunk-2DKQKZML.mjs";
32
+ import "../chunk-VP2E62DF.mjs";
33
+ import "../chunk-5HHYM7UA.mjs";
34
+ import "../chunk-YEFJBN56.mjs";
35
+ import "../chunk-J76GH2DR.mjs";
36
36
  import {
37
37
  SUPPORTED_AUTH_SOCIAL_PROVIDERS
38
38
  } from "../chunk-ILU426CF.mjs";
@@ -127,51 +127,51 @@ var projectDiscoveryModulePromise;
127
127
  var projectRuntimeModulePromise;
128
128
  var projectScaffoldModulePromise;
129
129
  function loadRuntimeModule() {
130
- runtimeModulePromise ??= import("../runtime-CPKR663Y.mjs");
130
+ runtimeModulePromise ??= import("../runtime-HVPH3GVK.mjs");
131
131
  return runtimeModulePromise;
132
132
  }
133
133
  function loadQueueModule() {
134
- queueModulePromise ??= import("../queue-SVOJPTRO.mjs");
134
+ queueModulePromise ??= import("../queue-3EU62AMG.mjs");
135
135
  return queueModulePromise;
136
136
  }
137
137
  function loadCacheModule() {
138
- cacheModulePromise ??= import("../cache-QARFSW4F.mjs");
138
+ cacheModulePromise ??= import("../cache-XN3YO6B3.mjs");
139
139
  return cacheModulePromise;
140
140
  }
141
141
  function loadQueueMigrationsModule() {
142
- queueMigrationsModulePromise ??= import("../queue-migrations-HPXOO3NA.mjs");
142
+ queueMigrationsModulePromise ??= import("../queue-migrations-D7KTW6BK.mjs");
143
143
  return queueMigrationsModulePromise;
144
144
  }
145
145
  function loadCacheMigrationsModule() {
146
- cacheMigrationsModulePromise ??= import("../cache-migrations-3OXR4FN5.mjs");
146
+ cacheMigrationsModulePromise ??= import("../cache-migrations-LBX6QVA2.mjs");
147
147
  return cacheMigrationsModulePromise;
148
148
  }
149
149
  function loadMediaMigrationsModule() {
150
- mediaMigrationsModulePromise ??= import("../media-migrations-VR7DLLR6.mjs");
150
+ mediaMigrationsModulePromise ??= import("../media-migrations-GCLWLC3N.mjs");
151
151
  return mediaMigrationsModulePromise;
152
152
  }
153
153
  function loadGeneratorsModule() {
154
- generatorsModulePromise ??= import("../generators-4BP7B47W.mjs");
154
+ generatorsModulePromise ??= import("../generators-FY6IFXHB.mjs");
155
155
  return generatorsModulePromise;
156
156
  }
157
157
  function loadBroadcastModule() {
158
- broadcastModulePromise ??= import("../broadcast-YWS4N5QU.mjs");
158
+ broadcastModulePromise ??= import("../broadcast-B6CPVMYN.mjs");
159
159
  return broadcastModulePromise;
160
160
  }
161
161
  function loadSecurityModule() {
162
- securityModulePromise ??= import("../security-7H5TNHZY.mjs");
162
+ securityModulePromise ??= import("../security-N2GXRBVR.mjs");
163
163
  return securityModulePromise;
164
164
  }
165
165
  function loadDevModule() {
166
- devModulePromise ??= import("../dev-2OULECTU.mjs");
166
+ devModulePromise ??= import("../dev-LMUEQXFZ.mjs");
167
167
  return devModulePromise;
168
168
  }
169
169
  function loadProjectConfigModule() {
170
- projectConfigModulePromise ??= import("../config-TWEO2R4N.mjs");
170
+ projectConfigModulePromise ??= import("../config-MD27U4FM.mjs");
171
171
  return projectConfigModulePromise;
172
172
  }
173
173
  function loadProjectDiscoveryModule() {
174
- projectDiscoveryModulePromise ??= import("../discovery-7FXND7Y6.mjs");
174
+ projectDiscoveryModulePromise ??= import("../discovery-GWTBF5RZ.mjs");
175
175
  return projectDiscoveryModulePromise;
176
176
  }
177
177
  function loadProjectRuntimeModule() {
@@ -179,7 +179,7 @@ function loadProjectRuntimeModule() {
179
179
  return projectRuntimeModulePromise;
180
180
  }
181
181
  function loadProjectScaffoldModule() {
182
- projectScaffoldModulePromise ??= import("../scaffold-3QPGYQEQ.mjs");
182
+ projectScaffoldModulePromise ??= import("../scaffold-MH5NVE5O.mjs");
183
183
  return projectScaffoldModulePromise;
184
184
  }
185
185
  async function resolveRuntimeExecutor(runtimeExecutor) {
@@ -188,7 +188,8 @@ async function resolveRuntimeExecutor(runtimeExecutor) {
188
188
  var projectExecutorLoaders = {
189
189
  runProjectPrepare: async () => (await loadDevModule()).runProjectPrepare,
190
190
  runProjectDevServer: async () => (await loadDevModule()).runProjectDevServer,
191
- runProjectLifecycleScript: async () => (await loadDevModule()).runProjectLifecycleScript,
191
+ runProjectBuild: async () => (await loadDevModule()).runProjectBuild,
192
+ runProjectStartServer: async () => (await loadDevModule()).runProjectStartServer,
192
193
  runProjectDependencyInstall: async () => (await loadDevModule()).runProjectDependencyInstall
193
194
  };
194
195
  async function resolveExecutor(executors, loaders, key) {
@@ -740,9 +741,22 @@ function createInternalCommands(context, runtimeExecutor, queueExecutors = {}, p
740
741
  },
741
742
  async run() {
742
743
  const runProjectPrepare = await resolveProjectExecutor(projectExecutors, "runProjectPrepare");
743
- const runProjectLifecycleScript = await resolveProjectExecutor(projectExecutors, "runProjectLifecycleScript");
744
+ const runProjectBuild = await resolveProjectExecutor(projectExecutors, "runProjectBuild");
744
745
  await runProjectPrepare(context.projectRoot, context);
745
- await runProjectLifecycleScript(context, context.projectRoot, "holo:build");
746
+ await runProjectBuild(context, context.projectRoot);
747
+ }
748
+ },
749
+ {
750
+ name: "start",
751
+ description: "Run the production framework server with Holo runtime preloads.",
752
+ usage: "holo start",
753
+ source: "internal",
754
+ async prepare() {
755
+ return { args: [], flags: {} };
756
+ },
757
+ async run() {
758
+ const runProjectStartServer = await resolveProjectExecutor(projectExecutors, "runProjectStartServer");
759
+ await runProjectStartServer(context, context.projectRoot);
746
760
  }
747
761
  },
748
762
  {
@@ -1,21 +1,21 @@
1
- import {
2
- initializeProjectRuntime
3
- } from "./chunk-IUDD5FYL.mjs";
4
- import "./chunk-LBJAJLKU.mjs";
5
1
  import {
6
2
  writeLine
7
3
  } from "./chunk-I7QBCEV7.mjs";
4
+ import {
5
+ initializeProjectRuntime
6
+ } from "./chunk-KS5TWO75.mjs";
7
+ import "./chunk-LBJAJLKU.mjs";
8
8
  import "./chunk-D7O4SU6N.mjs";
9
9
  import {
10
10
  prepareProjectDiscovery
11
- } from "./chunk-2RGJTPYF.mjs";
12
- import "./chunk-KWRIBHC3.mjs";
11
+ } from "./chunk-VP2E62DF.mjs";
12
+ import "./chunk-5HHYM7UA.mjs";
13
13
  import {
14
14
  loadProjectConfig
15
- } from "./chunk-ONKESAQA.mjs";
15
+ } from "./chunk-YEFJBN56.mjs";
16
16
  import {
17
17
  loadGeneratedProjectRegistry
18
- } from "./chunk-2DKQKZML.mjs";
18
+ } from "./chunk-J76GH2DR.mjs";
19
19
  import {
20
20
  importProjectModule,
21
21
  resolveProjectPackageImportSpecifier
@@ -1,21 +1,21 @@
1
- import {
2
- writeLine
3
- } from "./chunk-I7QBCEV7.mjs";
4
1
  import {
5
2
  initializeProjectRuntime
6
- } from "./chunk-IUDD5FYL.mjs";
3
+ } from "./chunk-KS5TWO75.mjs";
7
4
  import "./chunk-LBJAJLKU.mjs";
5
+ import {
6
+ writeLine
7
+ } from "./chunk-I7QBCEV7.mjs";
8
8
  import "./chunk-D7O4SU6N.mjs";
9
9
  import {
10
10
  prepareProjectDiscovery
11
- } from "./chunk-2RGJTPYF.mjs";
12
- import "./chunk-UPZH6KCF.mjs";
11
+ } from "./chunk-VP2E62DF.mjs";
12
+ import "./chunk-RP2K5N7W.mjs";
13
13
  import {
14
14
  loadProjectConfig
15
- } from "./chunk-ONKESAQA.mjs";
15
+ } from "./chunk-YEFJBN56.mjs";
16
16
  import {
17
17
  loadGeneratedProjectRegistry
18
- } from "./chunk-2DKQKZML.mjs";
18
+ } from "./chunk-J76GH2DR.mjs";
19
19
  import {
20
20
  importProjectModule,
21
21
  resolveProjectPackageImportSpecifier
@@ -2,10 +2,10 @@ import {
2
2
  writeLine
3
3
  } from "./chunk-I7QBCEV7.mjs";
4
4
  import "./chunk-D7O4SU6N.mjs";
5
- import "./chunk-2RGJTPYF.mjs";
6
- import "./chunk-KWRIBHC3.mjs";
7
- import "./chunk-ONKESAQA.mjs";
8
- import "./chunk-2DKQKZML.mjs";
5
+ import "./chunk-VP2E62DF.mjs";
6
+ import "./chunk-RP2K5N7W.mjs";
7
+ import "./chunk-YEFJBN56.mjs";
8
+ import "./chunk-J76GH2DR.mjs";
9
9
  import {
10
10
  resolveProjectPackageImportSpecifier
11
11
  } from "./chunk-ILU426CF.mjs";
@@ -2,10 +2,10 @@ import {
2
2
  writeLine
3
3
  } from "./chunk-I7QBCEV7.mjs";
4
4
  import "./chunk-D7O4SU6N.mjs";
5
- import "./chunk-2RGJTPYF.mjs";
6
- import "./chunk-UPZH6KCF.mjs";
7
- import "./chunk-ONKESAQA.mjs";
8
- import "./chunk-2DKQKZML.mjs";
5
+ import "./chunk-VP2E62DF.mjs";
6
+ import "./chunk-5HHYM7UA.mjs";
7
+ import "./chunk-YEFJBN56.mjs";
8
+ import "./chunk-J76GH2DR.mjs";
9
9
  import {
10
10
  resolveProjectPackageImportSpecifier
11
11
  } from "./chunk-ILU426CF.mjs";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  runProjectPrepare
3
- } from "./chunk-EWYXSN2C.mjs";
3
+ } from "./chunk-AKUNREVI.mjs";
4
4
  import "./chunk-FGQ2I2YH.mjs";
5
5
  import {
6
6
  getRegistryMigrationSlug,
@@ -15,14 +15,14 @@ import "./chunk-LBJAJLKU.mjs";
15
15
  import "./chunk-D7O4SU6N.mjs";
16
16
  import {
17
17
  prepareProjectDiscovery
18
- } from "./chunk-2RGJTPYF.mjs";
19
- import "./chunk-UPZH6KCF.mjs";
18
+ } from "./chunk-VP2E62DF.mjs";
19
+ import "./chunk-5HHYM7UA.mjs";
20
20
  import {
21
21
  ensureProjectConfig
22
- } from "./chunk-ONKESAQA.mjs";
22
+ } from "./chunk-YEFJBN56.mjs";
23
23
  import {
24
24
  loadGeneratedProjectRegistry
25
- } from "./chunk-2DKQKZML.mjs";
25
+ } from "./chunk-J76GH2DR.mjs";
26
26
  import {
27
27
  makeProjectRelativePath,
28
28
  resolveDefaultArtifactPath,
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  runProjectPrepare
3
- } from "./chunk-QA7TP5EO.mjs";
3
+ } from "./chunk-7OQLMDIN.mjs";
4
4
  import "./chunk-FGQ2I2YH.mjs";
5
5
  import {
6
6
  getRegistryMigrationSlug,
@@ -15,14 +15,14 @@ import {
15
15
  import "./chunk-D7O4SU6N.mjs";
16
16
  import {
17
17
  prepareProjectDiscovery
18
- } from "./chunk-2RGJTPYF.mjs";
19
- import "./chunk-KWRIBHC3.mjs";
18
+ } from "./chunk-VP2E62DF.mjs";
19
+ import "./chunk-RP2K5N7W.mjs";
20
20
  import {
21
21
  ensureProjectConfig
22
- } from "./chunk-ONKESAQA.mjs";
22
+ } from "./chunk-YEFJBN56.mjs";
23
23
  import {
24
24
  loadGeneratedProjectRegistry
25
- } from "./chunk-2DKQKZML.mjs";
25
+ } from "./chunk-J76GH2DR.mjs";
26
26
  import {
27
27
  makeProjectRelativePath,
28
28
  resolveDefaultArtifactPath,
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  loadProjectConfig,
3
3
  resolveGeneratedSchemaPath
4
- } from "./chunk-ONKESAQA.mjs";
4
+ } from "./chunk-YEFJBN56.mjs";
5
5
  import {
6
6
  loadGeneratedProjectRegistry,
7
7
  relativeImportPath,
@@ -20,7 +20,7 @@ import {
20
20
  renderNextRuntimeBootstrap,
21
21
  renderSvelteHoloHelper,
22
22
  renderSvelteViteConfig
23
- } from "./chunk-2DKQKZML.mjs";
23
+ } from "./chunk-J76GH2DR.mjs";
24
24
  import {
25
25
  AUTH_CONFIG_FILE_NAMES,
26
26
  AUTH_SOCIAL_PROVIDER_PACKAGE_NAMES,
@@ -64,7 +64,7 @@ import { loadConfigDirectory } from "@holo-js/config";
64
64
  // package.json
65
65
  var package_default = {
66
66
  name: "@holo-js/cli",
67
- version: "0.2.0",
67
+ version: "0.2.2",
68
68
  description: "Holo-JS Framework - project creation, discovery, and operational CLI",
69
69
  type: "module",
70
70
  license: "MIT",
@@ -118,49 +118,49 @@ var WORKSPACE_CATALOG = Object.freeze({
118
118
  "@clerk/backend": "^3.4.7",
119
119
  "@clack/prompts": "^1.5.1",
120
120
  "@eslint/js": "^9.17.0",
121
- "@holo-js/adapter-next": "^0.2.0",
122
- "@holo-js/adapter-nuxt": "^0.2.0",
123
- "@holo-js/adapter-sveltekit": "^0.2.0",
124
- "@holo-js/auth": "^0.2.0",
125
- "@holo-js/auth-clerk": "^0.2.0",
126
- "@holo-js/auth-social": "^0.2.0",
127
- "@holo-js/auth-social-apple": "^0.2.0",
128
- "@holo-js/auth-social-discord": "^0.2.0",
129
- "@holo-js/auth-social-facebook": "^0.2.0",
130
- "@holo-js/auth-social-github": "^0.2.0",
131
- "@holo-js/auth-social-google": "^0.2.0",
132
- "@holo-js/auth-social-linkedin": "^0.2.0",
133
- "@holo-js/auth-workos": "^0.2.0",
134
- "@holo-js/authorization": "^0.2.0",
135
- "@holo-js/broadcast": "^0.2.0",
136
- "@holo-js/cache": "^0.2.0",
137
- "@holo-js/cache-db": "^0.2.0",
138
- "@holo-js/cache-redis": "^0.2.0",
139
- "@holo-js/cli": "^0.2.0",
140
- "@holo-js/config": "^0.2.0",
141
- "@holo-js/core": "^0.2.0",
142
- "@holo-js/db": "^0.2.0",
143
- "@holo-js/db-mysql": "^0.2.0",
144
- "@holo-js/db-postgres": "^0.2.0",
145
- "@holo-js/db-sqlite": "^0.2.0",
146
- "@holo-js/events": "^0.2.0",
147
- "@holo-js/flux": "^0.2.0",
148
- "@holo-js/flux-react": "^0.2.0",
149
- "@holo-js/flux-svelte": "^0.2.0",
150
- "@holo-js/flux-vue": "^0.2.0",
151
- "@holo-js/forms": "^0.2.0",
152
- "@holo-js/mail": "^0.2.0",
153
- "@holo-js/media": "^0.2.0",
154
- "@holo-js/notifications": "^0.2.0",
155
- "@holo-js/queue": "^0.2.0",
156
- "@holo-js/queue-db": "^0.2.0",
157
- "@holo-js/queue-redis": "^0.2.0",
158
- "@holo-js/realtime": "^0.2.0",
159
- "@holo-js/security": "^0.2.0",
160
- "@holo-js/session": "^0.2.0",
161
- "@holo-js/storage": "^0.2.0",
162
- "@holo-js/storage-s3": "^0.2.0",
163
- "@holo-js/validation": "^0.2.0",
121
+ "@holo-js/adapter-next": "^0.2.2",
122
+ "@holo-js/adapter-nuxt": "^0.2.2",
123
+ "@holo-js/adapter-sveltekit": "^0.2.2",
124
+ "@holo-js/auth": "^0.2.2",
125
+ "@holo-js/auth-clerk": "^0.2.2",
126
+ "@holo-js/auth-social": "^0.2.2",
127
+ "@holo-js/auth-social-apple": "^0.2.2",
128
+ "@holo-js/auth-social-discord": "^0.2.2",
129
+ "@holo-js/auth-social-facebook": "^0.2.2",
130
+ "@holo-js/auth-social-github": "^0.2.2",
131
+ "@holo-js/auth-social-google": "^0.2.2",
132
+ "@holo-js/auth-social-linkedin": "^0.2.2",
133
+ "@holo-js/auth-workos": "^0.2.2",
134
+ "@holo-js/authorization": "^0.2.2",
135
+ "@holo-js/broadcast": "^0.2.2",
136
+ "@holo-js/cache": "^0.2.2",
137
+ "@holo-js/cache-db": "^0.2.2",
138
+ "@holo-js/cache-redis": "^0.2.2",
139
+ "@holo-js/cli": "^0.2.2",
140
+ "@holo-js/config": "^0.2.2",
141
+ "@holo-js/core": "^0.2.2",
142
+ "@holo-js/db": "^0.2.2",
143
+ "@holo-js/db-mysql": "^0.2.2",
144
+ "@holo-js/db-postgres": "^0.2.2",
145
+ "@holo-js/db-sqlite": "^0.2.2",
146
+ "@holo-js/events": "^0.2.2",
147
+ "@holo-js/flux": "^0.2.2",
148
+ "@holo-js/flux-react": "^0.2.2",
149
+ "@holo-js/flux-svelte": "^0.2.2",
150
+ "@holo-js/flux-vue": "^0.2.2",
151
+ "@holo-js/forms": "^0.2.2",
152
+ "@holo-js/mail": "^0.2.2",
153
+ "@holo-js/media": "^0.2.2",
154
+ "@holo-js/notifications": "^0.2.2",
155
+ "@holo-js/queue": "^0.2.2",
156
+ "@holo-js/queue-db": "^0.2.2",
157
+ "@holo-js/queue-redis": "^0.2.2",
158
+ "@holo-js/realtime": "^0.2.2",
159
+ "@holo-js/security": "^0.2.2",
160
+ "@holo-js/session": "^0.2.2",
161
+ "@holo-js/storage": "^0.2.2",
162
+ "@holo-js/storage-s3": "^0.2.2",
163
+ "@holo-js/validation": "^0.2.2",
164
164
  "@nuxt/kit": "^4.4.4",
165
165
  "@nuxt/module-builder": "^1.0.2",
166
166
  "@sveltejs/adapter-node": "^5.5.4",
@@ -177,7 +177,7 @@ var WORKSPACE_CATALOG = Object.freeze({
177
177
  "@vitest/coverage-v8": "^4.1.5",
178
178
  "better-sqlite3": "^11.7.0",
179
179
  "bullmq": "^5.71.0",
180
- "create-holo-js": "^0.2.0",
180
+ "create-holo-js": "^0.2.2",
181
181
  "esbuild": "^0.27.4",
182
182
  "eslint": "^9.17.0",
183
183
  "fast-check": "^4.5.3",
@@ -2209,6 +2209,7 @@ function renderScaffoldGitignore() {
2209
2209
  ".env.*.local",
2210
2210
  "",
2211
2211
  "# Holo",
2212
+ ".holo-js/framework",
2212
2213
  ".holo-js/generated",
2213
2214
  ".holo-js/runtime",
2214
2215
  ".holo-cli",
@@ -2418,12 +2419,11 @@ function renderScaffoldPackageJson(options) {
2418
2419
  prepare: "holo key:generate && holo prepare",
2419
2420
  dev: "holo dev",
2420
2421
  build: "holo build",
2422
+ start: "holo start",
2421
2423
  lint: options.framework === "nuxt" ? "eslint app config server shared tests *.d.ts --fix --no-warn-ignored --no-error-on-unmatched-pattern" : options.framework === "next" ? "eslint app config server tests --fix --no-warn-ignored --no-error-on-unmatched-pattern" : "eslint src config server tests --fix --no-warn-ignored --no-error-on-unmatched-pattern",
2422
2424
  typecheck: options.framework === "nuxt" ? "nuxt typecheck" : options.framework === "next" ? "tsc -p tsconfig.json --noEmit" : "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json",
2423
2425
  ["config:cache"]: "holo config:cache",
2424
- ["config:clear"]: "holo config:clear",
2425
- ["holo:dev"]: "node ./.holo-js/framework/run.mjs dev",
2426
- ["holo:build"]: "node ./.holo-js/framework/run.mjs build"
2426
+ ["config:clear"]: "holo config:clear"
2427
2427
  },
2428
2428
  dependencies,
2429
2429
  devDependencies
@@ -3092,7 +3092,7 @@ async function installMediaIntoProject(projectRoot) {
3092
3092
  if (!mediaConfigPath) {
3093
3093
  await writeTextFile(resolve4(projectRoot, "config/media.ts"), renderMediaConfig());
3094
3094
  }
3095
- const { createMediaTableMigration } = await import("./media-migrations-BFEL7NFG.mjs");
3095
+ const { createMediaTableMigration } = await import("./media-migrations-GCLWLC3N.mjs");
3096
3096
  const migrationFilePath = await createMediaTableMigration(projectRoot, {
3097
3097
  skipIfExists: true
3098
3098
  });
@@ -1,16 +1,16 @@
1
1
  import {
2
2
  prepareProjectDiscovery
3
- } from "./chunk-2RGJTPYF.mjs";
3
+ } from "./chunk-VP2E62DF.mjs";
4
4
  import {
5
5
  syncManagedDriverDependencies
6
- } from "./chunk-UPZH6KCF.mjs";
6
+ } from "./chunk-RP2K5N7W.mjs";
7
7
  import {
8
8
  ensureGeneratedSchemaPlaceholder,
9
9
  ensureProjectConfig
10
- } from "./chunk-ONKESAQA.mjs";
10
+ } from "./chunk-YEFJBN56.mjs";
11
11
  import {
12
12
  renderFrameworkRunner
13
- } from "./chunk-2DKQKZML.mjs";
13
+ } from "./chunk-J76GH2DR.mjs";
14
14
  import {
15
15
  readTextFile,
16
16
  writeTextFile
@@ -71,8 +71,14 @@ async function resolvePackageManagerInstallInvocation(projectRoot) {
71
71
  args: ["install"]
72
72
  };
73
73
  }
74
- async function runProjectLifecycleScript(io, projectRoot, scriptName, spawn2 = spawnSync) {
75
- const invocation = await resolvePackageManagerCommand(projectRoot, scriptName);
74
+ function resolveFrameworkRunnerInvocation(projectRoot, mode) {
75
+ return {
76
+ command: process.execPath,
77
+ args: [join(projectRoot, ".holo-js/framework/run.mjs"), mode]
78
+ };
79
+ }
80
+ async function runProjectBuild(io, projectRoot, spawn2 = spawnSync) {
81
+ const invocation = resolveFrameworkRunnerInvocation(projectRoot, "build");
76
82
  const result = spawn2(invocation.command, [...invocation.args], {
77
83
  cwd: projectRoot,
78
84
  encoding: "utf8",
@@ -85,7 +91,30 @@ async function runProjectLifecycleScript(io, projectRoot, scriptName, spawn2 = s
85
91
  io.stderr.write(result.stderr);
86
92
  }
87
93
  if (result.status !== 0) {
88
- throw new Error(result.stderr?.trim() || result.stdout?.trim() || `Project script "${scriptName}" failed.`);
94
+ throw new Error(result.stderr?.trim() || result.stdout?.trim() || "Project build failed.");
95
+ }
96
+ }
97
+ async function runProjectStartServer(io, projectRoot, spawnProcess = spawn) {
98
+ const invocation = resolveFrameworkRunnerInvocation(projectRoot, "start");
99
+ const child = spawnProcess(invocation.command, [...invocation.args], {
100
+ cwd: projectRoot,
101
+ env: process.env,
102
+ stdio: ["pipe", "pipe", "pipe"]
103
+ });
104
+ child.stdout?.on("data", (chunk) => io.stdout.write(chunk));
105
+ child.stderr?.on("data", (chunk) => io.stderr.write(chunk));
106
+ if (child.stdin) {
107
+ io.stdin.pipe(child.stdin);
108
+ }
109
+ const result = await new Promise((resolvePromise) => {
110
+ child.on("error", (error) => resolvePromise({ kind: "error", error }));
111
+ child.on("close", (code) => resolvePromise({ kind: "close", code }));
112
+ });
113
+ if (result.kind === "error") {
114
+ throw result.error;
115
+ }
116
+ if (result.code !== 0) {
117
+ throw new Error(`Project production server failed with exit code ${result.code ?? "unknown"}.`);
89
118
  }
90
119
  }
91
120
  async function runProjectDependencyInstall(io, projectRoot, spawn2 = spawnSync) {
@@ -370,7 +399,7 @@ async function runProjectDevServer(io, projectRoot, spawnProcess = spawn, create
370
399
  }
371
400
  })();
372
401
  await refreshNonRecursiveWatchers?.();
373
- const invocation = await resolvePackageManagerCommand(projectRoot, "holo:dev");
402
+ const invocation = resolveFrameworkRunnerInvocation(projectRoot, "dev");
374
403
  while (!shuttingDown) {
375
404
  const child = spawnProcess(invocation.command, [...invocation.args], {
376
405
  cwd: projectRoot,
@@ -426,7 +455,7 @@ async function runProjectDevServer(io, projectRoot, spawnProcess = spawn, create
426
455
  if (result.code === 0) {
427
456
  return;
428
457
  }
429
- throw new Error(`Project script "holo:dev" failed with exit code ${result.code ?? "unknown"}.`);
458
+ throw new Error(`Project development server failed with exit code ${result.code ?? "unknown"}.`);
430
459
  }
431
460
  }
432
461
 
@@ -434,7 +463,8 @@ export {
434
463
  resolveProjectPackageManager,
435
464
  resolvePackageManagerCommand,
436
465
  resolvePackageManagerInstallInvocation,
437
- runProjectLifecycleScript,
466
+ runProjectBuild,
467
+ runProjectStartServer,
438
468
  runProjectDependencyInstall,
439
469
  runProjectPrepare,
440
470
  toPosixSlashes,
@@ -1,16 +1,16 @@
1
1
  import {
2
2
  prepareProjectDiscovery
3
- } from "./chunk-2RGJTPYF.mjs";
3
+ } from "./chunk-VP2E62DF.mjs";
4
4
  import {
5
5
  syncManagedDriverDependencies
6
- } from "./chunk-KWRIBHC3.mjs";
6
+ } from "./chunk-5HHYM7UA.mjs";
7
7
  import {
8
8
  ensureGeneratedSchemaPlaceholder,
9
9
  ensureProjectConfig
10
- } from "./chunk-ONKESAQA.mjs";
10
+ } from "./chunk-YEFJBN56.mjs";
11
11
  import {
12
12
  renderFrameworkRunner
13
- } from "./chunk-2DKQKZML.mjs";
13
+ } from "./chunk-J76GH2DR.mjs";
14
14
  import {
15
15
  readTextFile,
16
16
  writeTextFile
@@ -71,8 +71,14 @@ async function resolvePackageManagerInstallInvocation(projectRoot) {
71
71
  args: ["install"]
72
72
  };
73
73
  }
74
- async function runProjectLifecycleScript(io, projectRoot, scriptName, spawn2 = spawnSync) {
75
- const invocation = await resolvePackageManagerCommand(projectRoot, scriptName);
74
+ function resolveFrameworkRunnerInvocation(projectRoot, mode) {
75
+ return {
76
+ command: process.execPath,
77
+ args: [join(projectRoot, ".holo-js/framework/run.mjs"), mode]
78
+ };
79
+ }
80
+ async function runProjectBuild(io, projectRoot, spawn2 = spawnSync) {
81
+ const invocation = resolveFrameworkRunnerInvocation(projectRoot, "build");
76
82
  const result = spawn2(invocation.command, [...invocation.args], {
77
83
  cwd: projectRoot,
78
84
  encoding: "utf8",
@@ -85,7 +91,30 @@ async function runProjectLifecycleScript(io, projectRoot, scriptName, spawn2 = s
85
91
  io.stderr.write(result.stderr);
86
92
  }
87
93
  if (result.status !== 0) {
88
- throw new Error(result.stderr?.trim() || result.stdout?.trim() || `Project script "${scriptName}" failed.`);
94
+ throw new Error(result.stderr?.trim() || result.stdout?.trim() || "Project build failed.");
95
+ }
96
+ }
97
+ async function runProjectStartServer(io, projectRoot, spawnProcess = spawn) {
98
+ const invocation = resolveFrameworkRunnerInvocation(projectRoot, "start");
99
+ const child = spawnProcess(invocation.command, [...invocation.args], {
100
+ cwd: projectRoot,
101
+ env: process.env,
102
+ stdio: ["pipe", "pipe", "pipe"]
103
+ });
104
+ child.stdout?.on("data", (chunk) => io.stdout.write(chunk));
105
+ child.stderr?.on("data", (chunk) => io.stderr.write(chunk));
106
+ if (child.stdin) {
107
+ io.stdin.pipe(child.stdin);
108
+ }
109
+ const result = await new Promise((resolvePromise) => {
110
+ child.on("error", (error) => resolvePromise({ kind: "error", error }));
111
+ child.on("close", (code) => resolvePromise({ kind: "close", code }));
112
+ });
113
+ if (result.kind === "error") {
114
+ throw result.error;
115
+ }
116
+ if (result.code !== 0) {
117
+ throw new Error(`Project production server failed with exit code ${result.code ?? "unknown"}.`);
89
118
  }
90
119
  }
91
120
  async function runProjectDependencyInstall(io, projectRoot, spawn2 = spawnSync) {
@@ -370,7 +399,7 @@ async function runProjectDevServer(io, projectRoot, spawnProcess = spawn, create
370
399
  }
371
400
  })();
372
401
  await refreshNonRecursiveWatchers?.();
373
- const invocation = await resolvePackageManagerCommand(projectRoot, "holo:dev");
402
+ const invocation = resolveFrameworkRunnerInvocation(projectRoot, "dev");
374
403
  while (!shuttingDown) {
375
404
  const child = spawnProcess(invocation.command, [...invocation.args], {
376
405
  cwd: projectRoot,
@@ -426,7 +455,7 @@ async function runProjectDevServer(io, projectRoot, spawnProcess = spawn, create
426
455
  if (result.code === 0) {
427
456
  return;
428
457
  }
429
- throw new Error(`Project script "holo:dev" failed with exit code ${result.code ?? "unknown"}.`);
458
+ throw new Error(`Project development server failed with exit code ${result.code ?? "unknown"}.`);
430
459
  }
431
460
  }
432
461
 
@@ -434,7 +463,8 @@ export {
434
463
  resolveProjectPackageManager,
435
464
  resolvePackageManagerCommand,
436
465
  resolvePackageManagerInstallInvocation,
437
- runProjectLifecycleScript,
466
+ runProjectBuild,
467
+ runProjectStartServer,
438
468
  runProjectDependencyInstall,
439
469
  runProjectPrepare,
440
470
  toPosixSlashes,