@holo-js/cli 0.2.1 → 0.2.3

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 (29) hide show
  1. package/dist/bin/holo.mjs +15 -15
  2. package/dist/{broadcast-III5MB3R.mjs → broadcast-IL24KZHW.mjs} +1 -1
  3. package/dist/{broadcast-ZIFYFOUQ.mjs → broadcast-NVBDC5DR.mjs} +1 -1
  4. package/dist/{cache-634WUR3T.mjs → cache-INHARA5B.mjs} +1 -1
  5. package/dist/{cache-7J7DIOP6.mjs → cache-QT4L44AW.mjs} +1 -1
  6. package/dist/{cache-migrations-2NBEUF2T.mjs → cache-migrations-A3PXSAEM.mjs} +3 -3
  7. package/dist/{cache-migrations-S2LJMDOQ.mjs → cache-migrations-MOIIT5FK.mjs} +3 -3
  8. package/dist/{chunk-SFRAGRHY.mjs → chunk-42V4KAVA.mjs} +38 -13
  9. package/dist/{chunk-4OHJC3GL.mjs → chunk-HHQZB6Z4.mjs} +48 -50
  10. package/dist/{chunk-MCVRN7KX.mjs → chunk-PJOYKYYG.mjs} +48 -50
  11. package/dist/{chunk-5TEH2QPK.mjs → chunk-YKFOYZLS.mjs} +38 -13
  12. package/dist/{dev-M2GGURAX.mjs → dev-I3SVGKBU.mjs} +4 -4
  13. package/dist/{dev-PBNFQK6Y.mjs → dev-KOQ3MDF4.mjs} +4 -4
  14. package/dist/{generators-BZJ53PUU.mjs → generators-M4IS5JUN.mjs} +2 -2
  15. package/dist/{generators-DEPLONDJ.mjs → generators-YJJHKGCV.mjs} +2 -2
  16. package/dist/index.mjs +15 -15
  17. package/dist/{media-migrations-5EISZBSD.mjs → media-migrations-TLZ5TC4Y.mjs} +3 -3
  18. package/dist/{media-migrations-NMUWBEKE.mjs → media-migrations-ZIYGFLLR.mjs} +3 -3
  19. package/dist/{queue-FRAVPNFJ.mjs → queue-C4GCAEO3.mjs} +6 -6
  20. package/dist/{queue-GY7BWGTX.mjs → queue-VNBAQSXD.mjs} +6 -6
  21. package/dist/{queue-migrations-J7YPIKRB.mjs → queue-migrations-KLI35TWM.mjs} +2 -2
  22. package/dist/{queue-migrations-O24ERNFF.mjs → queue-migrations-UPPGTXUT.mjs} +2 -2
  23. package/dist/{runtime-2AA7ZLJ6.mjs → runtime-UK77C7Y5.mjs} +1 -1
  24. package/dist/{runtime-HGK2MWSC.mjs → runtime-UMBLJHYV.mjs} +1 -1
  25. package/dist/{scaffold-DEOTRALR.mjs → scaffold-BQDH5BKC.mjs} +1 -1
  26. package/dist/{scaffold-Y232IGYS.mjs → scaffold-K3J5J2O6.mjs} +1 -1
  27. package/dist/{security-MZW2CJKS.mjs → security-2S6523NZ.mjs} +1 -1
  28. package/dist/{security-XVG673UR.mjs → security-73KA2VFP.mjs} +1 -1
  29. package/package.json +8 -8
package/dist/bin/holo.mjs CHANGED
@@ -30,7 +30,7 @@ import {
30
30
  } from "../chunk-LBJAJLKU.mjs";
31
31
  import "../chunk-D7O4SU6N.mjs";
32
32
  import "../chunk-VP2E62DF.mjs";
33
- import "../chunk-4OHJC3GL.mjs";
33
+ import "../chunk-PJOYKYYG.mjs";
34
34
  import "../chunk-YEFJBN56.mjs";
35
35
  import "../chunk-J76GH2DR.mjs";
36
36
  import {
@@ -127,43 +127,43 @@ var projectDiscoveryModulePromise;
127
127
  var projectRuntimeModulePromise;
128
128
  var projectScaffoldModulePromise;
129
129
  function loadRuntimeModule() {
130
- runtimeModulePromise ??= import("../runtime-HGK2MWSC.mjs");
130
+ runtimeModulePromise ??= import("../runtime-UK77C7Y5.mjs");
131
131
  return runtimeModulePromise;
132
132
  }
133
133
  function loadQueueModule() {
134
- queueModulePromise ??= import("../queue-GY7BWGTX.mjs");
134
+ queueModulePromise ??= import("../queue-C4GCAEO3.mjs");
135
135
  return queueModulePromise;
136
136
  }
137
137
  function loadCacheModule() {
138
- cacheModulePromise ??= import("../cache-634WUR3T.mjs");
138
+ cacheModulePromise ??= import("../cache-QT4L44AW.mjs");
139
139
  return cacheModulePromise;
140
140
  }
141
141
  function loadQueueMigrationsModule() {
142
- queueMigrationsModulePromise ??= import("../queue-migrations-J7YPIKRB.mjs");
142
+ queueMigrationsModulePromise ??= import("../queue-migrations-KLI35TWM.mjs");
143
143
  return queueMigrationsModulePromise;
144
144
  }
145
145
  function loadCacheMigrationsModule() {
146
- cacheMigrationsModulePromise ??= import("../cache-migrations-2NBEUF2T.mjs");
146
+ cacheMigrationsModulePromise ??= import("../cache-migrations-MOIIT5FK.mjs");
147
147
  return cacheMigrationsModulePromise;
148
148
  }
149
149
  function loadMediaMigrationsModule() {
150
- mediaMigrationsModulePromise ??= import("../media-migrations-5EISZBSD.mjs");
150
+ mediaMigrationsModulePromise ??= import("../media-migrations-ZIYGFLLR.mjs");
151
151
  return mediaMigrationsModulePromise;
152
152
  }
153
153
  function loadGeneratorsModule() {
154
- generatorsModulePromise ??= import("../generators-DEPLONDJ.mjs");
154
+ generatorsModulePromise ??= import("../generators-YJJHKGCV.mjs");
155
155
  return generatorsModulePromise;
156
156
  }
157
157
  function loadBroadcastModule() {
158
- broadcastModulePromise ??= import("../broadcast-ZIFYFOUQ.mjs");
158
+ broadcastModulePromise ??= import("../broadcast-NVBDC5DR.mjs");
159
159
  return broadcastModulePromise;
160
160
  }
161
161
  function loadSecurityModule() {
162
- securityModulePromise ??= import("../security-XVG673UR.mjs");
162
+ securityModulePromise ??= import("../security-2S6523NZ.mjs");
163
163
  return securityModulePromise;
164
164
  }
165
165
  function loadDevModule() {
166
- devModulePromise ??= import("../dev-M2GGURAX.mjs");
166
+ devModulePromise ??= import("../dev-I3SVGKBU.mjs");
167
167
  return devModulePromise;
168
168
  }
169
169
  function loadProjectConfigModule() {
@@ -179,7 +179,7 @@ function loadProjectRuntimeModule() {
179
179
  return projectRuntimeModulePromise;
180
180
  }
181
181
  function loadProjectScaffoldModule() {
182
- projectScaffoldModulePromise ??= import("../scaffold-Y232IGYS.mjs");
182
+ projectScaffoldModulePromise ??= import("../scaffold-BQDH5BKC.mjs");
183
183
  return projectScaffoldModulePromise;
184
184
  }
185
185
  async function resolveRuntimeExecutor(runtimeExecutor) {
@@ -188,7 +188,7 @@ 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
192
  runProjectStartServer: async () => (await loadDevModule()).runProjectStartServer,
193
193
  runProjectDependencyInstall: async () => (await loadDevModule()).runProjectDependencyInstall
194
194
  };
@@ -741,9 +741,9 @@ function createInternalCommands(context, runtimeExecutor, queueExecutors = {}, p
741
741
  },
742
742
  async run() {
743
743
  const runProjectPrepare = await resolveProjectExecutor(projectExecutors, "runProjectPrepare");
744
- const runProjectLifecycleScript = await resolveProjectExecutor(projectExecutors, "runProjectLifecycleScript");
744
+ const runProjectBuild = await resolveProjectExecutor(projectExecutors, "runProjectBuild");
745
745
  await runProjectPrepare(context.projectRoot, context);
746
- await runProjectLifecycleScript(context, context.projectRoot, "holo:build");
746
+ await runProjectBuild(context, context.projectRoot);
747
747
  }
748
748
  },
749
749
  {
@@ -9,7 +9,7 @@ import "./chunk-D7O4SU6N.mjs";
9
9
  import {
10
10
  prepareProjectDiscovery
11
11
  } from "./chunk-VP2E62DF.mjs";
12
- import "./chunk-MCVRN7KX.mjs";
12
+ import "./chunk-HHQZB6Z4.mjs";
13
13
  import {
14
14
  loadProjectConfig
15
15
  } from "./chunk-YEFJBN56.mjs";
@@ -9,7 +9,7 @@ import "./chunk-D7O4SU6N.mjs";
9
9
  import {
10
10
  prepareProjectDiscovery
11
11
  } from "./chunk-VP2E62DF.mjs";
12
- import "./chunk-4OHJC3GL.mjs";
12
+ import "./chunk-PJOYKYYG.mjs";
13
13
  import {
14
14
  loadProjectConfig
15
15
  } from "./chunk-YEFJBN56.mjs";
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-I7QBCEV7.mjs";
4
4
  import "./chunk-D7O4SU6N.mjs";
5
5
  import "./chunk-VP2E62DF.mjs";
6
- import "./chunk-4OHJC3GL.mjs";
6
+ import "./chunk-HHQZB6Z4.mjs";
7
7
  import "./chunk-YEFJBN56.mjs";
8
8
  import "./chunk-J76GH2DR.mjs";
9
9
  import {
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-I7QBCEV7.mjs";
4
4
  import "./chunk-D7O4SU6N.mjs";
5
5
  import "./chunk-VP2E62DF.mjs";
6
- import "./chunk-MCVRN7KX.mjs";
6
+ import "./chunk-PJOYKYYG.mjs";
7
7
  import "./chunk-YEFJBN56.mjs";
8
8
  import "./chunk-J76GH2DR.mjs";
9
9
  import {
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  runProjectPrepare
3
- } from "./chunk-5TEH2QPK.mjs";
3
+ } from "./chunk-42V4KAVA.mjs";
4
4
  import "./chunk-FGQ2I2YH.mjs";
5
5
  import {
6
6
  getRegistryMigrationSlug,
@@ -8,15 +8,15 @@ import {
8
8
  hasRegisteredMigrationSlug,
9
9
  nextMigrationTemplate
10
10
  } from "./chunk-LXGQCG56.mjs";
11
+ import "./chunk-LBJAJLKU.mjs";
11
12
  import {
12
13
  writeLine
13
14
  } from "./chunk-I7QBCEV7.mjs";
14
- import "./chunk-LBJAJLKU.mjs";
15
15
  import "./chunk-D7O4SU6N.mjs";
16
16
  import {
17
17
  prepareProjectDiscovery
18
18
  } from "./chunk-VP2E62DF.mjs";
19
- import "./chunk-4OHJC3GL.mjs";
19
+ import "./chunk-HHQZB6Z4.mjs";
20
20
  import {
21
21
  ensureProjectConfig
22
22
  } from "./chunk-YEFJBN56.mjs";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  runProjectPrepare
3
- } from "./chunk-SFRAGRHY.mjs";
3
+ } from "./chunk-YKFOYZLS.mjs";
4
4
  import "./chunk-FGQ2I2YH.mjs";
5
5
  import {
6
6
  getRegistryMigrationSlug,
@@ -8,15 +8,15 @@ import {
8
8
  hasRegisteredMigrationSlug,
9
9
  nextMigrationTemplate
10
10
  } from "./chunk-LXGQCG56.mjs";
11
- import "./chunk-LBJAJLKU.mjs";
12
11
  import {
13
12
  writeLine
14
13
  } from "./chunk-I7QBCEV7.mjs";
14
+ import "./chunk-LBJAJLKU.mjs";
15
15
  import "./chunk-D7O4SU6N.mjs";
16
16
  import {
17
17
  prepareProjectDiscovery
18
18
  } from "./chunk-VP2E62DF.mjs";
19
- import "./chunk-MCVRN7KX.mjs";
19
+ import "./chunk-PJOYKYYG.mjs";
20
20
  import {
21
21
  ensureProjectConfig
22
22
  } from "./chunk-YEFJBN56.mjs";
@@ -1,9 +1,12 @@
1
+ import {
2
+ hasProjectDependency
3
+ } from "./chunk-FGQ2I2YH.mjs";
1
4
  import {
2
5
  prepareProjectDiscovery
3
6
  } from "./chunk-VP2E62DF.mjs";
4
7
  import {
5
8
  syncManagedDriverDependencies
6
- } from "./chunk-MCVRN7KX.mjs";
9
+ } from "./chunk-HHQZB6Z4.mjs";
7
10
  import {
8
11
  ensureGeneratedSchemaPlaceholder,
9
12
  ensureProjectConfig
@@ -71,8 +74,14 @@ async function resolvePackageManagerInstallInvocation(projectRoot) {
71
74
  args: ["install"]
72
75
  };
73
76
  }
74
- async function runProjectLifecycleScript(io, projectRoot, scriptName, spawn2 = spawnSync) {
75
- const invocation = await resolvePackageManagerCommand(projectRoot, scriptName);
77
+ function resolveFrameworkRunnerInvocation(projectRoot, mode) {
78
+ return {
79
+ command: process.execPath,
80
+ args: [join(projectRoot, ".holo-js/framework/run.mjs"), mode]
81
+ };
82
+ }
83
+ async function runProjectBuild(io, projectRoot, spawn2 = spawnSync) {
84
+ const invocation = resolveFrameworkRunnerInvocation(projectRoot, "build");
76
85
  const result = spawn2(invocation.command, [...invocation.args], {
77
86
  cwd: projectRoot,
78
87
  encoding: "utf8",
@@ -85,12 +94,12 @@ async function runProjectLifecycleScript(io, projectRoot, scriptName, spawn2 = s
85
94
  io.stderr.write(result.stderr);
86
95
  }
87
96
  if (result.status !== 0) {
88
- throw new Error(result.stderr?.trim() || result.stdout?.trim() || `Project script "${scriptName}" failed.`);
97
+ throw new Error(result.stderr?.trim() || result.stdout?.trim() || "Project build failed.");
89
98
  }
90
99
  }
91
100
  async function runProjectStartServer(io, projectRoot, spawnProcess = spawn) {
92
- const runnerPath = join(projectRoot, ".holo-js/framework/run.mjs");
93
- const child = spawnProcess(process.execPath, [runnerPath, "start"], {
101
+ const invocation = resolveFrameworkRunnerInvocation(projectRoot, "start");
102
+ const child = spawnProcess(invocation.command, [...invocation.args], {
94
103
  cwd: projectRoot,
95
104
  env: process.env,
96
105
  stdio: ["pipe", "pipe", "pipe"]
@@ -177,18 +186,34 @@ async function runProjectHotPrepare(projectRoot, io) {
177
186
  async function refreshFrameworkRunner(projectRoot) {
178
187
  const frameworkProjectPath = resolve(projectRoot, ".holo-js/framework/project.json");
179
188
  const frameworkRunnerPath = resolve(projectRoot, ".holo-js/framework/run.mjs");
180
- let framework;
189
+ const framework = await resolveProjectFramework(projectRoot, frameworkProjectPath);
190
+ if (!framework) {
191
+ return;
192
+ }
193
+ await writeTextFile(frameworkProjectPath, `${JSON.stringify({ framework }, null, 2)}
194
+ `);
195
+ await writeTextFile(frameworkRunnerPath, renderFrameworkRunner({ framework }));
196
+ }
197
+ async function resolveProjectFramework(projectRoot, frameworkProjectPath) {
181
198
  try {
182
199
  const content = await readFile(frameworkProjectPath, "utf8");
183
200
  const manifest = JSON.parse(content);
184
201
  if (manifest.framework !== "next" && manifest.framework !== "nuxt" && manifest.framework !== "sveltekit") {
185
202
  return;
186
203
  }
187
- framework = manifest.framework;
204
+ return manifest.framework;
188
205
  } catch {
189
- return;
190
206
  }
191
- await writeTextFile(frameworkRunnerPath, renderFrameworkRunner({ framework }));
207
+ if (await hasProjectDependency(projectRoot, "next")) {
208
+ return "next";
209
+ }
210
+ if (await hasProjectDependency(projectRoot, "nuxt")) {
211
+ return "nuxt";
212
+ }
213
+ if (await hasProjectDependency(projectRoot, "@sveltejs/kit")) {
214
+ return "sveltekit";
215
+ }
216
+ return void 0;
192
217
  }
193
218
  async function runFrameworkSync(projectRoot, definition) {
194
219
  const frameworkProjectPath = resolve(projectRoot, ".holo-js/framework/project.json");
@@ -393,7 +418,7 @@ async function runProjectDevServer(io, projectRoot, spawnProcess = spawn, create
393
418
  }
394
419
  })();
395
420
  await refreshNonRecursiveWatchers?.();
396
- const invocation = await resolvePackageManagerCommand(projectRoot, "holo:dev");
421
+ const invocation = resolveFrameworkRunnerInvocation(projectRoot, "dev");
397
422
  while (!shuttingDown) {
398
423
  const child = spawnProcess(invocation.command, [...invocation.args], {
399
424
  cwd: projectRoot,
@@ -449,7 +474,7 @@ async function runProjectDevServer(io, projectRoot, spawnProcess = spawn, create
449
474
  if (result.code === 0) {
450
475
  return;
451
476
  }
452
- throw new Error(`Project script "holo:dev" failed with exit code ${result.code ?? "unknown"}.`);
477
+ throw new Error(`Project development server failed with exit code ${result.code ?? "unknown"}.`);
453
478
  }
454
479
  }
455
480
 
@@ -457,7 +482,7 @@ export {
457
482
  resolveProjectPackageManager,
458
483
  resolvePackageManagerCommand,
459
484
  resolvePackageManagerInstallInvocation,
460
- runProjectLifecycleScript,
485
+ runProjectBuild,
461
486
  runProjectStartServer,
462
487
  runProjectDependencyInstall,
463
488
  runProjectPrepare,
@@ -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.1",
67
+ version: "0.2.3",
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.1",
122
- "@holo-js/adapter-nuxt": "^0.2.1",
123
- "@holo-js/adapter-sveltekit": "^0.2.1",
124
- "@holo-js/auth": "^0.2.1",
125
- "@holo-js/auth-clerk": "^0.2.1",
126
- "@holo-js/auth-social": "^0.2.1",
127
- "@holo-js/auth-social-apple": "^0.2.1",
128
- "@holo-js/auth-social-discord": "^0.2.1",
129
- "@holo-js/auth-social-facebook": "^0.2.1",
130
- "@holo-js/auth-social-github": "^0.2.1",
131
- "@holo-js/auth-social-google": "^0.2.1",
132
- "@holo-js/auth-social-linkedin": "^0.2.1",
133
- "@holo-js/auth-workos": "^0.2.1",
134
- "@holo-js/authorization": "^0.2.1",
135
- "@holo-js/broadcast": "^0.2.1",
136
- "@holo-js/cache": "^0.2.1",
137
- "@holo-js/cache-db": "^0.2.1",
138
- "@holo-js/cache-redis": "^0.2.1",
139
- "@holo-js/cli": "^0.2.1",
140
- "@holo-js/config": "^0.2.1",
141
- "@holo-js/core": "^0.2.1",
142
- "@holo-js/db": "^0.2.1",
143
- "@holo-js/db-mysql": "^0.2.1",
144
- "@holo-js/db-postgres": "^0.2.1",
145
- "@holo-js/db-sqlite": "^0.2.1",
146
- "@holo-js/events": "^0.2.1",
147
- "@holo-js/flux": "^0.2.1",
148
- "@holo-js/flux-react": "^0.2.1",
149
- "@holo-js/flux-svelte": "^0.2.1",
150
- "@holo-js/flux-vue": "^0.2.1",
151
- "@holo-js/forms": "^0.2.1",
152
- "@holo-js/mail": "^0.2.1",
153
- "@holo-js/media": "^0.2.1",
154
- "@holo-js/notifications": "^0.2.1",
155
- "@holo-js/queue": "^0.2.1",
156
- "@holo-js/queue-db": "^0.2.1",
157
- "@holo-js/queue-redis": "^0.2.1",
158
- "@holo-js/realtime": "^0.2.1",
159
- "@holo-js/security": "^0.2.1",
160
- "@holo-js/session": "^0.2.1",
161
- "@holo-js/storage": "^0.2.1",
162
- "@holo-js/storage-s3": "^0.2.1",
163
- "@holo-js/validation": "^0.2.1",
121
+ "@holo-js/adapter-next": "^0.2.3",
122
+ "@holo-js/adapter-nuxt": "^0.2.3",
123
+ "@holo-js/adapter-sveltekit": "^0.2.3",
124
+ "@holo-js/auth": "^0.2.3",
125
+ "@holo-js/auth-clerk": "^0.2.3",
126
+ "@holo-js/auth-social": "^0.2.3",
127
+ "@holo-js/auth-social-apple": "^0.2.3",
128
+ "@holo-js/auth-social-discord": "^0.2.3",
129
+ "@holo-js/auth-social-facebook": "^0.2.3",
130
+ "@holo-js/auth-social-github": "^0.2.3",
131
+ "@holo-js/auth-social-google": "^0.2.3",
132
+ "@holo-js/auth-social-linkedin": "^0.2.3",
133
+ "@holo-js/auth-workos": "^0.2.3",
134
+ "@holo-js/authorization": "^0.2.3",
135
+ "@holo-js/broadcast": "^0.2.3",
136
+ "@holo-js/cache": "^0.2.3",
137
+ "@holo-js/cache-db": "^0.2.3",
138
+ "@holo-js/cache-redis": "^0.2.3",
139
+ "@holo-js/cli": "^0.2.3",
140
+ "@holo-js/config": "^0.2.3",
141
+ "@holo-js/core": "^0.2.3",
142
+ "@holo-js/db": "^0.2.3",
143
+ "@holo-js/db-mysql": "^0.2.3",
144
+ "@holo-js/db-postgres": "^0.2.3",
145
+ "@holo-js/db-sqlite": "^0.2.3",
146
+ "@holo-js/events": "^0.2.3",
147
+ "@holo-js/flux": "^0.2.3",
148
+ "@holo-js/flux-react": "^0.2.3",
149
+ "@holo-js/flux-svelte": "^0.2.3",
150
+ "@holo-js/flux-vue": "^0.2.3",
151
+ "@holo-js/forms": "^0.2.3",
152
+ "@holo-js/mail": "^0.2.3",
153
+ "@holo-js/media": "^0.2.3",
154
+ "@holo-js/notifications": "^0.2.3",
155
+ "@holo-js/queue": "^0.2.3",
156
+ "@holo-js/queue-db": "^0.2.3",
157
+ "@holo-js/queue-redis": "^0.2.3",
158
+ "@holo-js/realtime": "^0.2.3",
159
+ "@holo-js/security": "^0.2.3",
160
+ "@holo-js/session": "^0.2.3",
161
+ "@holo-js/storage": "^0.2.3",
162
+ "@holo-js/storage-s3": "^0.2.3",
163
+ "@holo-js/validation": "^0.2.3",
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.1",
180
+ "create-holo-js": "^0.2.3",
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",
@@ -2422,10 +2423,7 @@ function renderScaffoldPackageJson(options) {
2422
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",
2423
2424
  typecheck: options.framework === "nuxt" ? "nuxt typecheck" : options.framework === "next" ? "tsc -p tsconfig.json --noEmit" : "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json",
2424
2425
  ["config:cache"]: "holo config:cache",
2425
- ["config:clear"]: "holo config:clear",
2426
- ["holo:dev"]: "node ./.holo-js/framework/run.mjs dev",
2427
- ["holo:build"]: "node ./.holo-js/framework/run.mjs build",
2428
- ["holo:start"]: "node ./.holo-js/framework/run.mjs start"
2426
+ ["config:clear"]: "holo config:clear"
2429
2427
  },
2430
2428
  dependencies,
2431
2429
  devDependencies
@@ -3094,7 +3092,7 @@ async function installMediaIntoProject(projectRoot) {
3094
3092
  if (!mediaConfigPath) {
3095
3093
  await writeTextFile(resolve4(projectRoot, "config/media.ts"), renderMediaConfig());
3096
3094
  }
3097
- const { createMediaTableMigration } = await import("./media-migrations-5EISZBSD.mjs");
3095
+ const { createMediaTableMigration } = await import("./media-migrations-TLZ5TC4Y.mjs");
3098
3096
  const migrationFilePath = await createMediaTableMigration(projectRoot, {
3099
3097
  skipIfExists: true
3100
3098
  });
@@ -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.1",
67
+ version: "0.2.3",
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.1",
122
- "@holo-js/adapter-nuxt": "^0.2.1",
123
- "@holo-js/adapter-sveltekit": "^0.2.1",
124
- "@holo-js/auth": "^0.2.1",
125
- "@holo-js/auth-clerk": "^0.2.1",
126
- "@holo-js/auth-social": "^0.2.1",
127
- "@holo-js/auth-social-apple": "^0.2.1",
128
- "@holo-js/auth-social-discord": "^0.2.1",
129
- "@holo-js/auth-social-facebook": "^0.2.1",
130
- "@holo-js/auth-social-github": "^0.2.1",
131
- "@holo-js/auth-social-google": "^0.2.1",
132
- "@holo-js/auth-social-linkedin": "^0.2.1",
133
- "@holo-js/auth-workos": "^0.2.1",
134
- "@holo-js/authorization": "^0.2.1",
135
- "@holo-js/broadcast": "^0.2.1",
136
- "@holo-js/cache": "^0.2.1",
137
- "@holo-js/cache-db": "^0.2.1",
138
- "@holo-js/cache-redis": "^0.2.1",
139
- "@holo-js/cli": "^0.2.1",
140
- "@holo-js/config": "^0.2.1",
141
- "@holo-js/core": "^0.2.1",
142
- "@holo-js/db": "^0.2.1",
143
- "@holo-js/db-mysql": "^0.2.1",
144
- "@holo-js/db-postgres": "^0.2.1",
145
- "@holo-js/db-sqlite": "^0.2.1",
146
- "@holo-js/events": "^0.2.1",
147
- "@holo-js/flux": "^0.2.1",
148
- "@holo-js/flux-react": "^0.2.1",
149
- "@holo-js/flux-svelte": "^0.2.1",
150
- "@holo-js/flux-vue": "^0.2.1",
151
- "@holo-js/forms": "^0.2.1",
152
- "@holo-js/mail": "^0.2.1",
153
- "@holo-js/media": "^0.2.1",
154
- "@holo-js/notifications": "^0.2.1",
155
- "@holo-js/queue": "^0.2.1",
156
- "@holo-js/queue-db": "^0.2.1",
157
- "@holo-js/queue-redis": "^0.2.1",
158
- "@holo-js/realtime": "^0.2.1",
159
- "@holo-js/security": "^0.2.1",
160
- "@holo-js/session": "^0.2.1",
161
- "@holo-js/storage": "^0.2.1",
162
- "@holo-js/storage-s3": "^0.2.1",
163
- "@holo-js/validation": "^0.2.1",
121
+ "@holo-js/adapter-next": "^0.2.3",
122
+ "@holo-js/adapter-nuxt": "^0.2.3",
123
+ "@holo-js/adapter-sveltekit": "^0.2.3",
124
+ "@holo-js/auth": "^0.2.3",
125
+ "@holo-js/auth-clerk": "^0.2.3",
126
+ "@holo-js/auth-social": "^0.2.3",
127
+ "@holo-js/auth-social-apple": "^0.2.3",
128
+ "@holo-js/auth-social-discord": "^0.2.3",
129
+ "@holo-js/auth-social-facebook": "^0.2.3",
130
+ "@holo-js/auth-social-github": "^0.2.3",
131
+ "@holo-js/auth-social-google": "^0.2.3",
132
+ "@holo-js/auth-social-linkedin": "^0.2.3",
133
+ "@holo-js/auth-workos": "^0.2.3",
134
+ "@holo-js/authorization": "^0.2.3",
135
+ "@holo-js/broadcast": "^0.2.3",
136
+ "@holo-js/cache": "^0.2.3",
137
+ "@holo-js/cache-db": "^0.2.3",
138
+ "@holo-js/cache-redis": "^0.2.3",
139
+ "@holo-js/cli": "^0.2.3",
140
+ "@holo-js/config": "^0.2.3",
141
+ "@holo-js/core": "^0.2.3",
142
+ "@holo-js/db": "^0.2.3",
143
+ "@holo-js/db-mysql": "^0.2.3",
144
+ "@holo-js/db-postgres": "^0.2.3",
145
+ "@holo-js/db-sqlite": "^0.2.3",
146
+ "@holo-js/events": "^0.2.3",
147
+ "@holo-js/flux": "^0.2.3",
148
+ "@holo-js/flux-react": "^0.2.3",
149
+ "@holo-js/flux-svelte": "^0.2.3",
150
+ "@holo-js/flux-vue": "^0.2.3",
151
+ "@holo-js/forms": "^0.2.3",
152
+ "@holo-js/mail": "^0.2.3",
153
+ "@holo-js/media": "^0.2.3",
154
+ "@holo-js/notifications": "^0.2.3",
155
+ "@holo-js/queue": "^0.2.3",
156
+ "@holo-js/queue-db": "^0.2.3",
157
+ "@holo-js/queue-redis": "^0.2.3",
158
+ "@holo-js/realtime": "^0.2.3",
159
+ "@holo-js/security": "^0.2.3",
160
+ "@holo-js/session": "^0.2.3",
161
+ "@holo-js/storage": "^0.2.3",
162
+ "@holo-js/storage-s3": "^0.2.3",
163
+ "@holo-js/validation": "^0.2.3",
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.1",
180
+ "create-holo-js": "^0.2.3",
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",
@@ -2422,10 +2423,7 @@ function renderScaffoldPackageJson(options) {
2422
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",
2423
2424
  typecheck: options.framework === "nuxt" ? "nuxt typecheck" : options.framework === "next" ? "tsc -p tsconfig.json --noEmit" : "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json",
2424
2425
  ["config:cache"]: "holo config:cache",
2425
- ["config:clear"]: "holo config:clear",
2426
- ["holo:dev"]: "node ./.holo-js/framework/run.mjs dev",
2427
- ["holo:build"]: "node ./.holo-js/framework/run.mjs build",
2428
- ["holo:start"]: "node ./.holo-js/framework/run.mjs start"
2426
+ ["config:clear"]: "holo config:clear"
2429
2427
  },
2430
2428
  dependencies,
2431
2429
  devDependencies
@@ -3094,7 +3092,7 @@ async function installMediaIntoProject(projectRoot) {
3094
3092
  if (!mediaConfigPath) {
3095
3093
  await writeTextFile(resolve4(projectRoot, "config/media.ts"), renderMediaConfig());
3096
3094
  }
3097
- const { createMediaTableMigration } = await import("./media-migrations-NMUWBEKE.mjs");
3095
+ const { createMediaTableMigration } = await import("./media-migrations-ZIYGFLLR.mjs");
3098
3096
  const migrationFilePath = await createMediaTableMigration(projectRoot, {
3099
3097
  skipIfExists: true
3100
3098
  });
@@ -1,9 +1,12 @@
1
+ import {
2
+ hasProjectDependency
3
+ } from "./chunk-FGQ2I2YH.mjs";
1
4
  import {
2
5
  prepareProjectDiscovery
3
6
  } from "./chunk-VP2E62DF.mjs";
4
7
  import {
5
8
  syncManagedDriverDependencies
6
- } from "./chunk-4OHJC3GL.mjs";
9
+ } from "./chunk-PJOYKYYG.mjs";
7
10
  import {
8
11
  ensureGeneratedSchemaPlaceholder,
9
12
  ensureProjectConfig
@@ -71,8 +74,14 @@ async function resolvePackageManagerInstallInvocation(projectRoot) {
71
74
  args: ["install"]
72
75
  };
73
76
  }
74
- async function runProjectLifecycleScript(io, projectRoot, scriptName, spawn2 = spawnSync) {
75
- const invocation = await resolvePackageManagerCommand(projectRoot, scriptName);
77
+ function resolveFrameworkRunnerInvocation(projectRoot, mode) {
78
+ return {
79
+ command: process.execPath,
80
+ args: [join(projectRoot, ".holo-js/framework/run.mjs"), mode]
81
+ };
82
+ }
83
+ async function runProjectBuild(io, projectRoot, spawn2 = spawnSync) {
84
+ const invocation = resolveFrameworkRunnerInvocation(projectRoot, "build");
76
85
  const result = spawn2(invocation.command, [...invocation.args], {
77
86
  cwd: projectRoot,
78
87
  encoding: "utf8",
@@ -85,12 +94,12 @@ async function runProjectLifecycleScript(io, projectRoot, scriptName, spawn2 = s
85
94
  io.stderr.write(result.stderr);
86
95
  }
87
96
  if (result.status !== 0) {
88
- throw new Error(result.stderr?.trim() || result.stdout?.trim() || `Project script "${scriptName}" failed.`);
97
+ throw new Error(result.stderr?.trim() || result.stdout?.trim() || "Project build failed.");
89
98
  }
90
99
  }
91
100
  async function runProjectStartServer(io, projectRoot, spawnProcess = spawn) {
92
- const runnerPath = join(projectRoot, ".holo-js/framework/run.mjs");
93
- const child = spawnProcess(process.execPath, [runnerPath, "start"], {
101
+ const invocation = resolveFrameworkRunnerInvocation(projectRoot, "start");
102
+ const child = spawnProcess(invocation.command, [...invocation.args], {
94
103
  cwd: projectRoot,
95
104
  env: process.env,
96
105
  stdio: ["pipe", "pipe", "pipe"]
@@ -177,18 +186,34 @@ async function runProjectHotPrepare(projectRoot, io) {
177
186
  async function refreshFrameworkRunner(projectRoot) {
178
187
  const frameworkProjectPath = resolve(projectRoot, ".holo-js/framework/project.json");
179
188
  const frameworkRunnerPath = resolve(projectRoot, ".holo-js/framework/run.mjs");
180
- let framework;
189
+ const framework = await resolveProjectFramework(projectRoot, frameworkProjectPath);
190
+ if (!framework) {
191
+ return;
192
+ }
193
+ await writeTextFile(frameworkProjectPath, `${JSON.stringify({ framework }, null, 2)}
194
+ `);
195
+ await writeTextFile(frameworkRunnerPath, renderFrameworkRunner({ framework }));
196
+ }
197
+ async function resolveProjectFramework(projectRoot, frameworkProjectPath) {
181
198
  try {
182
199
  const content = await readFile(frameworkProjectPath, "utf8");
183
200
  const manifest = JSON.parse(content);
184
201
  if (manifest.framework !== "next" && manifest.framework !== "nuxt" && manifest.framework !== "sveltekit") {
185
202
  return;
186
203
  }
187
- framework = manifest.framework;
204
+ return manifest.framework;
188
205
  } catch {
189
- return;
190
206
  }
191
- await writeTextFile(frameworkRunnerPath, renderFrameworkRunner({ framework }));
207
+ if (await hasProjectDependency(projectRoot, "next")) {
208
+ return "next";
209
+ }
210
+ if (await hasProjectDependency(projectRoot, "nuxt")) {
211
+ return "nuxt";
212
+ }
213
+ if (await hasProjectDependency(projectRoot, "@sveltejs/kit")) {
214
+ return "sveltekit";
215
+ }
216
+ return void 0;
192
217
  }
193
218
  async function runFrameworkSync(projectRoot, definition) {
194
219
  const frameworkProjectPath = resolve(projectRoot, ".holo-js/framework/project.json");
@@ -393,7 +418,7 @@ async function runProjectDevServer(io, projectRoot, spawnProcess = spawn, create
393
418
  }
394
419
  })();
395
420
  await refreshNonRecursiveWatchers?.();
396
- const invocation = await resolvePackageManagerCommand(projectRoot, "holo:dev");
421
+ const invocation = resolveFrameworkRunnerInvocation(projectRoot, "dev");
397
422
  while (!shuttingDown) {
398
423
  const child = spawnProcess(invocation.command, [...invocation.args], {
399
424
  cwd: projectRoot,
@@ -449,7 +474,7 @@ async function runProjectDevServer(io, projectRoot, spawnProcess = spawn, create
449
474
  if (result.code === 0) {
450
475
  return;
451
476
  }
452
- throw new Error(`Project script "holo:dev" failed with exit code ${result.code ?? "unknown"}.`);
477
+ throw new Error(`Project development server failed with exit code ${result.code ?? "unknown"}.`);
453
478
  }
454
479
  }
455
480
 
@@ -457,7 +482,7 @@ export {
457
482
  resolveProjectPackageManager,
458
483
  resolvePackageManagerCommand,
459
484
  resolvePackageManagerInstallInvocation,
460
- runProjectLifecycleScript,
485
+ runProjectBuild,
461
486
  runProjectStartServer,
462
487
  runProjectDependencyInstall,
463
488
  runProjectPrepare,
@@ -8,19 +8,19 @@ import {
8
8
  resolvePackageManagerCommand,
9
9
  resolvePackageManagerInstallInvocation,
10
10
  resolveProjectPackageManager,
11
+ runProjectBuild,
11
12
  runProjectDependencyInstall,
12
13
  runProjectDevServer,
13
- runProjectLifecycleScript,
14
14
  runProjectPrepare,
15
15
  runProjectStartServer,
16
16
  toPosixSlashes
17
- } from "./chunk-5TEH2QPK.mjs";
17
+ } from "./chunk-YKFOYZLS.mjs";
18
18
  import {
19
19
  hasProjectDependency
20
20
  } from "./chunk-FGQ2I2YH.mjs";
21
21
  import "./chunk-D7O4SU6N.mjs";
22
22
  import "./chunk-VP2E62DF.mjs";
23
- import "./chunk-4OHJC3GL.mjs";
23
+ import "./chunk-PJOYKYYG.mjs";
24
24
  import "./chunk-YEFJBN56.mjs";
25
25
  import "./chunk-J76GH2DR.mjs";
26
26
  import "./chunk-ILU426CF.mjs";
@@ -35,9 +35,9 @@ export {
35
35
  resolvePackageManagerCommand,
36
36
  resolvePackageManagerInstallInvocation,
37
37
  resolveProjectPackageManager,
38
+ runProjectBuild,
38
39
  runProjectDependencyInstall,
39
40
  runProjectDevServer,
40
- runProjectLifecycleScript,
41
41
  runProjectPrepare,
42
42
  runProjectStartServer,
43
43
  toPosixSlashes
@@ -8,19 +8,19 @@ import {
8
8
  resolvePackageManagerCommand,
9
9
  resolvePackageManagerInstallInvocation,
10
10
  resolveProjectPackageManager,
11
+ runProjectBuild,
11
12
  runProjectDependencyInstall,
12
13
  runProjectDevServer,
13
- runProjectLifecycleScript,
14
14
  runProjectPrepare,
15
15
  runProjectStartServer,
16
16
  toPosixSlashes
17
- } from "./chunk-SFRAGRHY.mjs";
17
+ } from "./chunk-42V4KAVA.mjs";
18
18
  import {
19
19
  hasProjectDependency
20
20
  } from "./chunk-FGQ2I2YH.mjs";
21
21
  import "./chunk-D7O4SU6N.mjs";
22
22
  import "./chunk-VP2E62DF.mjs";
23
- import "./chunk-MCVRN7KX.mjs";
23
+ import "./chunk-HHQZB6Z4.mjs";
24
24
  import "./chunk-YEFJBN56.mjs";
25
25
  import "./chunk-J76GH2DR.mjs";
26
26
  import "./chunk-ILU426CF.mjs";
@@ -35,9 +35,9 @@ export {
35
35
  resolvePackageManagerCommand,
36
36
  resolvePackageManagerInstallInvocation,
37
37
  resolveProjectPackageManager,
38
+ runProjectBuild,
38
39
  runProjectDependencyInstall,
39
40
  runProjectDevServer,
40
- runProjectLifecycleScript,
41
41
  runProjectPrepare,
42
42
  runProjectStartServer,
43
43
  toPosixSlashes
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-VRGB6DIS.mjs";
4
4
  import {
5
5
  runProjectPrepare
6
- } from "./chunk-SFRAGRHY.mjs";
6
+ } from "./chunk-42V4KAVA.mjs";
7
7
  import "./chunk-FGQ2I2YH.mjs";
8
8
  import {
9
9
  hasRegisteredCreateTableMigration,
@@ -22,7 +22,7 @@ import {
22
22
  collectFiles,
23
23
  prepareProjectDiscovery
24
24
  } from "./chunk-VP2E62DF.mjs";
25
- import "./chunk-MCVRN7KX.mjs";
25
+ import "./chunk-HHQZB6Z4.mjs";
26
26
  import {
27
27
  ensureGeneratedSchemaPlaceholder,
28
28
  ensureProjectConfig
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-VRGB6DIS.mjs";
4
4
  import {
5
5
  runProjectPrepare
6
- } from "./chunk-5TEH2QPK.mjs";
6
+ } from "./chunk-YKFOYZLS.mjs";
7
7
  import "./chunk-FGQ2I2YH.mjs";
8
8
  import {
9
9
  hasRegisteredCreateTableMigration,
@@ -22,7 +22,7 @@ import {
22
22
  collectFiles,
23
23
  prepareProjectDiscovery
24
24
  } from "./chunk-VP2E62DF.mjs";
25
- import "./chunk-4OHJC3GL.mjs";
25
+ import "./chunk-PJOYKYYG.mjs";
26
26
  import {
27
27
  ensureGeneratedSchemaPlaceholder,
28
28
  ensureProjectConfig
package/dist/index.mjs CHANGED
@@ -29,7 +29,7 @@ import {
29
29
  } from "./chunk-I7QBCEV7.mjs";
30
30
  import "./chunk-D7O4SU6N.mjs";
31
31
  import "./chunk-VP2E62DF.mjs";
32
- import "./chunk-MCVRN7KX.mjs";
32
+ import "./chunk-HHQZB6Z4.mjs";
33
33
  import "./chunk-YEFJBN56.mjs";
34
34
  import "./chunk-J76GH2DR.mjs";
35
35
  import {
@@ -131,43 +131,43 @@ var projectDiscoveryModulePromise;
131
131
  var projectRuntimeModulePromise;
132
132
  var projectScaffoldModulePromise;
133
133
  function loadRuntimeModule() {
134
- runtimeModulePromise ??= import("./runtime-2AA7ZLJ6.mjs");
134
+ runtimeModulePromise ??= import("./runtime-UMBLJHYV.mjs");
135
135
  return runtimeModulePromise;
136
136
  }
137
137
  function loadQueueModule() {
138
- queueModulePromise ??= import("./queue-FRAVPNFJ.mjs");
138
+ queueModulePromise ??= import("./queue-VNBAQSXD.mjs");
139
139
  return queueModulePromise;
140
140
  }
141
141
  function loadCacheModule() {
142
- cacheModulePromise ??= import("./cache-7J7DIOP6.mjs");
142
+ cacheModulePromise ??= import("./cache-INHARA5B.mjs");
143
143
  return cacheModulePromise;
144
144
  }
145
145
  function loadQueueMigrationsModule() {
146
- queueMigrationsModulePromise ??= import("./queue-migrations-O24ERNFF.mjs");
146
+ queueMigrationsModulePromise ??= import("./queue-migrations-UPPGTXUT.mjs");
147
147
  return queueMigrationsModulePromise;
148
148
  }
149
149
  function loadCacheMigrationsModule() {
150
- cacheMigrationsModulePromise ??= import("./cache-migrations-S2LJMDOQ.mjs");
150
+ cacheMigrationsModulePromise ??= import("./cache-migrations-A3PXSAEM.mjs");
151
151
  return cacheMigrationsModulePromise;
152
152
  }
153
153
  function loadMediaMigrationsModule() {
154
- mediaMigrationsModulePromise ??= import("./media-migrations-NMUWBEKE.mjs");
154
+ mediaMigrationsModulePromise ??= import("./media-migrations-TLZ5TC4Y.mjs");
155
155
  return mediaMigrationsModulePromise;
156
156
  }
157
157
  function loadGeneratorsModule() {
158
- generatorsModulePromise ??= import("./generators-BZJ53PUU.mjs");
158
+ generatorsModulePromise ??= import("./generators-M4IS5JUN.mjs");
159
159
  return generatorsModulePromise;
160
160
  }
161
161
  function loadBroadcastModule() {
162
- broadcastModulePromise ??= import("./broadcast-III5MB3R.mjs");
162
+ broadcastModulePromise ??= import("./broadcast-IL24KZHW.mjs");
163
163
  return broadcastModulePromise;
164
164
  }
165
165
  function loadSecurityModule() {
166
- securityModulePromise ??= import("./security-MZW2CJKS.mjs");
166
+ securityModulePromise ??= import("./security-73KA2VFP.mjs");
167
167
  return securityModulePromise;
168
168
  }
169
169
  function loadDevModule() {
170
- devModulePromise ??= import("./dev-PBNFQK6Y.mjs");
170
+ devModulePromise ??= import("./dev-KOQ3MDF4.mjs");
171
171
  return devModulePromise;
172
172
  }
173
173
  function loadProjectConfigModule() {
@@ -183,7 +183,7 @@ function loadProjectRuntimeModule() {
183
183
  return projectRuntimeModulePromise;
184
184
  }
185
185
  function loadProjectScaffoldModule() {
186
- projectScaffoldModulePromise ??= import("./scaffold-DEOTRALR.mjs");
186
+ projectScaffoldModulePromise ??= import("./scaffold-K3J5J2O6.mjs");
187
187
  return projectScaffoldModulePromise;
188
188
  }
189
189
  async function resolveRuntimeExecutor(runtimeExecutor) {
@@ -192,7 +192,7 @@ async function resolveRuntimeExecutor(runtimeExecutor) {
192
192
  var projectExecutorLoaders = {
193
193
  runProjectPrepare: async () => (await loadDevModule()).runProjectPrepare,
194
194
  runProjectDevServer: async () => (await loadDevModule()).runProjectDevServer,
195
- runProjectLifecycleScript: async () => (await loadDevModule()).runProjectLifecycleScript,
195
+ runProjectBuild: async () => (await loadDevModule()).runProjectBuild,
196
196
  runProjectStartServer: async () => (await loadDevModule()).runProjectStartServer,
197
197
  runProjectDependencyInstall: async () => (await loadDevModule()).runProjectDependencyInstall
198
198
  };
@@ -745,9 +745,9 @@ function createInternalCommands(context, runtimeExecutor, queueExecutors = {}, p
745
745
  },
746
746
  async run() {
747
747
  const runProjectPrepare = await resolveProjectExecutor(projectExecutors, "runProjectPrepare");
748
- const runProjectLifecycleScript = await resolveProjectExecutor(projectExecutors, "runProjectLifecycleScript");
748
+ const runProjectBuild = await resolveProjectExecutor(projectExecutors, "runProjectBuild");
749
749
  await runProjectPrepare(context.projectRoot, context);
750
- await runProjectLifecycleScript(context, context.projectRoot, "holo:build");
750
+ await runProjectBuild(context, context.projectRoot);
751
751
  }
752
752
  },
753
753
  {
@@ -3,15 +3,15 @@ import {
3
3
  hasRegisteredMigrationSlug,
4
4
  nextMigrationTemplate
5
5
  } from "./chunk-LXGQCG56.mjs";
6
+ import "./chunk-LBJAJLKU.mjs";
6
7
  import {
7
8
  writeLine
8
9
  } from "./chunk-I7QBCEV7.mjs";
9
- import "./chunk-LBJAJLKU.mjs";
10
10
  import "./chunk-D7O4SU6N.mjs";
11
11
  import {
12
12
  prepareProjectDiscovery
13
13
  } from "./chunk-VP2E62DF.mjs";
14
- import "./chunk-4OHJC3GL.mjs";
14
+ import "./chunk-HHQZB6Z4.mjs";
15
15
  import {
16
16
  ensureProjectConfig
17
17
  } from "./chunk-YEFJBN56.mjs";
@@ -93,7 +93,7 @@ async function createMediaTableMigration(projectRoot, options = {}) {
93
93
  }
94
94
  async function runMediaTableCommand(io, projectRoot) {
95
95
  const migrationFilePath = await createMediaTableMigration(projectRoot);
96
- const { runProjectPrepare } = await import("./dev-M2GGURAX.mjs");
96
+ const { runProjectPrepare } = await import("./dev-KOQ3MDF4.mjs");
97
97
  await runProjectPrepare(projectRoot);
98
98
  writeLine(io.stdout, `Created migration: ${makeProjectRelativePath(projectRoot, migrationFilePath)}`);
99
99
  }
@@ -3,15 +3,15 @@ import {
3
3
  hasRegisteredMigrationSlug,
4
4
  nextMigrationTemplate
5
5
  } from "./chunk-LXGQCG56.mjs";
6
- import "./chunk-LBJAJLKU.mjs";
7
6
  import {
8
7
  writeLine
9
8
  } from "./chunk-I7QBCEV7.mjs";
9
+ import "./chunk-LBJAJLKU.mjs";
10
10
  import "./chunk-D7O4SU6N.mjs";
11
11
  import {
12
12
  prepareProjectDiscovery
13
13
  } from "./chunk-VP2E62DF.mjs";
14
- import "./chunk-MCVRN7KX.mjs";
14
+ import "./chunk-PJOYKYYG.mjs";
15
15
  import {
16
16
  ensureProjectConfig
17
17
  } from "./chunk-YEFJBN56.mjs";
@@ -93,7 +93,7 @@ async function createMediaTableMigration(projectRoot, options = {}) {
93
93
  }
94
94
  async function runMediaTableCommand(io, projectRoot) {
95
95
  const migrationFilePath = await createMediaTableMigration(projectRoot);
96
- const { runProjectPrepare } = await import("./dev-PBNFQK6Y.mjs");
96
+ const { runProjectPrepare } = await import("./dev-I3SVGKBU.mjs");
97
97
  await runProjectPrepare(projectRoot);
98
98
  writeLine(io.stdout, `Created migration: ${makeProjectRelativePath(projectRoot, migrationFilePath)}`);
99
99
  }
@@ -1,23 +1,23 @@
1
- import {
2
- initializeProjectRuntime
3
- } from "./chunk-KS5TWO75.mjs";
4
1
  import {
5
2
  isIgnorableWatchError,
6
3
  isRecursiveWatchUnsupported,
7
4
  normalizeWatchedFilePath,
8
5
  runProjectPrepare,
9
6
  toPosixSlashes
10
- } from "./chunk-SFRAGRHY.mjs";
7
+ } from "./chunk-YKFOYZLS.mjs";
11
8
  import "./chunk-FGQ2I2YH.mjs";
12
- import "./chunk-LBJAJLKU.mjs";
13
9
  import {
14
10
  writeLine
15
11
  } from "./chunk-I7QBCEV7.mjs";
12
+ import {
13
+ initializeProjectRuntime
14
+ } from "./chunk-KS5TWO75.mjs";
15
+ import "./chunk-LBJAJLKU.mjs";
16
16
  import "./chunk-D7O4SU6N.mjs";
17
17
  import {
18
18
  prepareProjectDiscovery
19
19
  } from "./chunk-VP2E62DF.mjs";
20
- import "./chunk-MCVRN7KX.mjs";
20
+ import "./chunk-PJOYKYYG.mjs";
21
21
  import {
22
22
  ensureProjectConfig,
23
23
  loadProjectConfig
@@ -1,23 +1,23 @@
1
+ import {
2
+ initializeProjectRuntime
3
+ } from "./chunk-KS5TWO75.mjs";
1
4
  import {
2
5
  isIgnorableWatchError,
3
6
  isRecursiveWatchUnsupported,
4
7
  normalizeWatchedFilePath,
5
8
  runProjectPrepare,
6
9
  toPosixSlashes
7
- } from "./chunk-5TEH2QPK.mjs";
10
+ } from "./chunk-42V4KAVA.mjs";
8
11
  import "./chunk-FGQ2I2YH.mjs";
12
+ import "./chunk-LBJAJLKU.mjs";
9
13
  import {
10
14
  writeLine
11
15
  } from "./chunk-I7QBCEV7.mjs";
12
- import {
13
- initializeProjectRuntime
14
- } from "./chunk-KS5TWO75.mjs";
15
- import "./chunk-LBJAJLKU.mjs";
16
16
  import "./chunk-D7O4SU6N.mjs";
17
17
  import {
18
18
  prepareProjectDiscovery
19
19
  } from "./chunk-VP2E62DF.mjs";
20
- import "./chunk-4OHJC3GL.mjs";
20
+ import "./chunk-HHQZB6Z4.mjs";
21
21
  import {
22
22
  ensureProjectConfig,
23
23
  loadProjectConfig
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  runProjectPrepare
3
- } from "./chunk-5TEH2QPK.mjs";
3
+ } from "./chunk-YKFOYZLS.mjs";
4
4
  import "./chunk-FGQ2I2YH.mjs";
5
5
  import {
6
6
  getRegistryMigrationSlug,
@@ -16,7 +16,7 @@ import "./chunk-D7O4SU6N.mjs";
16
16
  import {
17
17
  prepareProjectDiscovery
18
18
  } from "./chunk-VP2E62DF.mjs";
19
- import "./chunk-4OHJC3GL.mjs";
19
+ import "./chunk-PJOYKYYG.mjs";
20
20
  import {
21
21
  ensureProjectConfig
22
22
  } from "./chunk-YEFJBN56.mjs";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  runProjectPrepare
3
- } from "./chunk-SFRAGRHY.mjs";
3
+ } from "./chunk-42V4KAVA.mjs";
4
4
  import "./chunk-FGQ2I2YH.mjs";
5
5
  import {
6
6
  getRegistryMigrationSlug,
@@ -16,7 +16,7 @@ import "./chunk-D7O4SU6N.mjs";
16
16
  import {
17
17
  prepareProjectDiscovery
18
18
  } from "./chunk-VP2E62DF.mjs";
19
- import "./chunk-MCVRN7KX.mjs";
19
+ import "./chunk-HHQZB6Z4.mjs";
20
20
  import {
21
21
  ensureProjectConfig
22
22
  } from "./chunk-YEFJBN56.mjs";
@@ -26,7 +26,7 @@ import {
26
26
  import "./chunk-LBJAJLKU.mjs";
27
27
  import "./chunk-D7O4SU6N.mjs";
28
28
  import "./chunk-VP2E62DF.mjs";
29
- import "./chunk-MCVRN7KX.mjs";
29
+ import "./chunk-PJOYKYYG.mjs";
30
30
  import "./chunk-YEFJBN56.mjs";
31
31
  import "./chunk-J76GH2DR.mjs";
32
32
  import "./chunk-ILU426CF.mjs";
@@ -26,7 +26,7 @@ import {
26
26
  import "./chunk-LBJAJLKU.mjs";
27
27
  import "./chunk-D7O4SU6N.mjs";
28
28
  import "./chunk-VP2E62DF.mjs";
29
- import "./chunk-4OHJC3GL.mjs";
29
+ import "./chunk-HHQZB6Z4.mjs";
30
30
  import "./chunk-YEFJBN56.mjs";
31
31
  import "./chunk-J76GH2DR.mjs";
32
32
  import "./chunk-ILU426CF.mjs";
@@ -56,7 +56,7 @@ import {
56
56
  upsertMediaPackageDependency,
57
57
  upsertNotificationsPackageDependency,
58
58
  upsertSecurityPackageDependency
59
- } from "./chunk-MCVRN7KX.mjs";
59
+ } from "./chunk-PJOYKYYG.mjs";
60
60
  import "./chunk-YEFJBN56.mjs";
61
61
  import {
62
62
  renderAuthProviderRouteFiles,
@@ -56,7 +56,7 @@ import {
56
56
  upsertMediaPackageDependency,
57
57
  upsertNotificationsPackageDependency,
58
58
  upsertSecurityPackageDependency
59
- } from "./chunk-4OHJC3GL.mjs";
59
+ } from "./chunk-HHQZB6Z4.mjs";
60
60
  import "./chunk-YEFJBN56.mjs";
61
61
  import {
62
62
  renderAuthProviderRouteFiles,
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-I7QBCEV7.mjs";
4
4
  import "./chunk-D7O4SU6N.mjs";
5
5
  import "./chunk-VP2E62DF.mjs";
6
- import "./chunk-MCVRN7KX.mjs";
6
+ import "./chunk-PJOYKYYG.mjs";
7
7
  import "./chunk-YEFJBN56.mjs";
8
8
  import "./chunk-J76GH2DR.mjs";
9
9
  import {
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-I7QBCEV7.mjs";
4
4
  import "./chunk-D7O4SU6N.mjs";
5
5
  import "./chunk-VP2E62DF.mjs";
6
- import "./chunk-4OHJC3GL.mjs";
6
+ import "./chunk-HHQZB6Z4.mjs";
7
7
  import "./chunk-YEFJBN56.mjs";
8
8
  import "./chunk-J76GH2DR.mjs";
9
9
  import {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@holo-js/cli",
3
- "version": "0.2.1",
3
+ "version": "0.2.3",
4
4
  "description": "Holo-JS Framework - project creation, discovery, and operational CLI",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -28,17 +28,17 @@
28
28
  },
29
29
  "dependencies": {
30
30
  "@clack/prompts": "^1.5.1",
31
- "@holo-js/cache-db": "^0.2.1",
32
- "@holo-js/config": "^0.2.1",
33
- "@holo-js/core": "^0.2.1",
34
- "@holo-js/db": "^0.2.1",
31
+ "@holo-js/cache-db": "^0.2.3",
32
+ "@holo-js/config": "^0.2.3",
33
+ "@holo-js/core": "^0.2.3",
34
+ "@holo-js/db": "^0.2.3",
35
35
  "esbuild": "^0.27.4",
36
36
  "inflection": "^3.0.2"
37
37
  },
38
38
  "devDependencies": {
39
- "@holo-js/events": "^0.2.1",
40
- "@holo-js/queue": "^0.2.1",
41
- "@holo-js/queue-db": "^0.2.1",
39
+ "@holo-js/events": "^0.2.3",
40
+ "@holo-js/queue": "^0.2.3",
41
+ "@holo-js/queue-db": "^0.2.3",
42
42
  "@types/node": "^22.10.2",
43
43
  "tsup": "^8.3.5",
44
44
  "typescript": "^5.7.2",