@holo-js/cli 0.1.8 → 0.1.9

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/bin/holo.mjs CHANGED
@@ -26,10 +26,10 @@ import {
26
26
  fileExists
27
27
  } from "../chunk-57SJ566R.mjs";
28
28
  import "../chunk-D7O4SU6N.mjs";
29
- import "../chunk-D4NXGVV4.mjs";
30
- import "../chunk-SABHUOON.mjs";
31
- import "../chunk-DFKX4YT4.mjs";
32
- import "../chunk-O6AXHL7Z.mjs";
29
+ import "../chunk-7JR73TOH.mjs";
30
+ import "../chunk-WRZFATUT.mjs";
31
+ import "../chunk-SRPGIWCF.mjs";
32
+ import "../chunk-IMOGEKB4.mjs";
33
33
  import {
34
34
  SUPPORTED_AUTH_SOCIAL_PROVIDERS
35
35
  } from "../chunk-R6BWRY3E.mjs";
@@ -120,51 +120,51 @@ var projectDiscoveryModulePromise;
120
120
  var projectRuntimeModulePromise;
121
121
  var projectScaffoldModulePromise;
122
122
  function loadRuntimeModule() {
123
- runtimeModulePromise ??= import("../runtime-4AAMJI34.mjs");
123
+ runtimeModulePromise ??= import("../runtime-BI343WHS.mjs");
124
124
  return runtimeModulePromise;
125
125
  }
126
126
  function loadQueueModule() {
127
- queueModulePromise ??= import("../queue-JGVKSPUM.mjs");
127
+ queueModulePromise ??= import("../queue-BY3PLH4I.mjs");
128
128
  return queueModulePromise;
129
129
  }
130
130
  function loadCacheModule() {
131
- cacheModulePromise ??= import("../cache-JGGCYQQG.mjs");
131
+ cacheModulePromise ??= import("../cache-ETOIQ5IG.mjs");
132
132
  return cacheModulePromise;
133
133
  }
134
134
  function loadQueueMigrationsModule() {
135
- queueMigrationsModulePromise ??= import("../queue-migrations-3TYOTL45.mjs");
135
+ queueMigrationsModulePromise ??= import("../queue-migrations-YZUKEZK7.mjs");
136
136
  return queueMigrationsModulePromise;
137
137
  }
138
138
  function loadCacheMigrationsModule() {
139
- cacheMigrationsModulePromise ??= import("../cache-migrations-3V7LI4CC.mjs");
139
+ cacheMigrationsModulePromise ??= import("../cache-migrations-2GGI4TJK.mjs");
140
140
  return cacheMigrationsModulePromise;
141
141
  }
142
142
  function loadMediaMigrationsModule() {
143
- mediaMigrationsModulePromise ??= import("../media-migrations-76KFHA2U.mjs");
143
+ mediaMigrationsModulePromise ??= import("../media-migrations-JQSDCC7S.mjs");
144
144
  return mediaMigrationsModulePromise;
145
145
  }
146
146
  function loadGeneratorsModule() {
147
- generatorsModulePromise ??= import("../generators-UJA6WP7J.mjs");
147
+ generatorsModulePromise ??= import("../generators-UI2LJK3O.mjs");
148
148
  return generatorsModulePromise;
149
149
  }
150
150
  function loadBroadcastModule() {
151
- broadcastModulePromise ??= import("../broadcast-3VPGBNCR.mjs");
151
+ broadcastModulePromise ??= import("../broadcast-VR46UZEL.mjs");
152
152
  return broadcastModulePromise;
153
153
  }
154
154
  function loadSecurityModule() {
155
- securityModulePromise ??= import("../security-ILU74RIZ.mjs");
155
+ securityModulePromise ??= import("../security-TYPVOYGF.mjs");
156
156
  return securityModulePromise;
157
157
  }
158
158
  function loadDevModule() {
159
- devModulePromise ??= import("../dev-RZLZX75U.mjs");
159
+ devModulePromise ??= import("../dev-6RG5SSZ7.mjs");
160
160
  return devModulePromise;
161
161
  }
162
162
  function loadProjectConfigModule() {
163
- projectConfigModulePromise ??= import("../config-K7SBKT2C.mjs");
163
+ projectConfigModulePromise ??= import("../config-ARLE6PKR.mjs");
164
164
  return projectConfigModulePromise;
165
165
  }
166
166
  function loadProjectDiscoveryModule() {
167
- projectDiscoveryModulePromise ??= import("../discovery-SFRDA4VX.mjs");
167
+ projectDiscoveryModulePromise ??= import("../discovery-FCVGQQVD.mjs");
168
168
  return projectDiscoveryModulePromise;
169
169
  }
170
170
  function loadProjectRuntimeModule() {
@@ -172,7 +172,7 @@ function loadProjectRuntimeModule() {
172
172
  return projectRuntimeModulePromise;
173
173
  }
174
174
  function loadProjectScaffoldModule() {
175
- projectScaffoldModulePromise ??= import("../scaffold-TMP7PWOA.mjs");
175
+ projectScaffoldModulePromise ??= import("../scaffold-UBOS2NZR.mjs");
176
176
  return projectScaffoldModulePromise;
177
177
  }
178
178
  async function resolveRuntimeExecutor(runtimeExecutor) {
@@ -292,6 +292,8 @@ async function runProjectDependencyInstallAfterPackageJsonUpdate(context, projec
292
292
  return;
293
293
  }
294
294
  await runProjectDependencyInstallForProject(context, projectExecutors, context.projectRoot);
295
+ const runProjectPrepare = await resolveProjectExecutor(projectExecutors, "runProjectPrepare");
296
+ await runProjectPrepare(context.projectRoot, context);
295
297
  }
296
298
  async function runProjectDependencyInstallForProject(context, projectExecutors, projectRoot) {
297
299
  const runProjectDependencyInstall = await resolveProjectExecutor(projectExecutors, "runProjectDependencyInstall");
@@ -4,14 +4,14 @@ import {
4
4
  import "./chunk-D7O4SU6N.mjs";
5
5
  import {
6
6
  prepareProjectDiscovery
7
- } from "./chunk-D4NXGVV4.mjs";
8
- import "./chunk-SABHUOON.mjs";
7
+ } from "./chunk-7JR73TOH.mjs";
8
+ import "./chunk-WRZFATUT.mjs";
9
9
  import {
10
10
  loadProjectConfig
11
- } from "./chunk-DFKX4YT4.mjs";
11
+ } from "./chunk-SRPGIWCF.mjs";
12
12
  import {
13
13
  loadGeneratedProjectRegistry
14
- } from "./chunk-O6AXHL7Z.mjs";
14
+ } from "./chunk-IMOGEKB4.mjs";
15
15
  import {
16
16
  importProjectModule,
17
17
  resolveProjectPackageImportSpecifier
@@ -2,10 +2,10 @@ import {
2
2
  writeLine
3
3
  } from "./chunk-ZXDU7RHU.mjs";
4
4
  import "./chunk-D7O4SU6N.mjs";
5
- import "./chunk-D4NXGVV4.mjs";
6
- import "./chunk-SABHUOON.mjs";
7
- import "./chunk-DFKX4YT4.mjs";
8
- import "./chunk-O6AXHL7Z.mjs";
5
+ import "./chunk-7JR73TOH.mjs";
6
+ import "./chunk-WRZFATUT.mjs";
7
+ import "./chunk-SRPGIWCF.mjs";
8
+ import "./chunk-IMOGEKB4.mjs";
9
9
  import {
10
10
  resolveProjectPackageImportSpecifier
11
11
  } from "./chunk-R6BWRY3E.mjs";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  runProjectPrepare
3
- } from "./chunk-2NUEWM2P.mjs";
3
+ } from "./chunk-ASTSSSL2.mjs";
4
4
  import "./chunk-F4MT6GBK.mjs";
5
5
  import {
6
6
  getRegistryMigrationSlug,
@@ -15,14 +15,14 @@ import "./chunk-57SJ566R.mjs";
15
15
  import "./chunk-D7O4SU6N.mjs";
16
16
  import {
17
17
  prepareProjectDiscovery
18
- } from "./chunk-D4NXGVV4.mjs";
19
- import "./chunk-SABHUOON.mjs";
18
+ } from "./chunk-7JR73TOH.mjs";
19
+ import "./chunk-WRZFATUT.mjs";
20
20
  import {
21
21
  ensureProjectConfig
22
- } from "./chunk-DFKX4YT4.mjs";
22
+ } from "./chunk-SRPGIWCF.mjs";
23
23
  import {
24
24
  loadGeneratedProjectRegistry
25
- } from "./chunk-O6AXHL7Z.mjs";
25
+ } from "./chunk-IMOGEKB4.mjs";
26
26
  import {
27
27
  makeProjectRelativePath,
28
28
  resolveDefaultArtifactPath,
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  loadGeneratedProjectRegistry,
3
3
  writeGeneratedProjectRegistry
4
- } from "./chunk-O6AXHL7Z.mjs";
4
+ } from "./chunk-IMOGEKB4.mjs";
5
5
  import {
6
6
  COMMAND_FILE_PATTERN,
7
7
  MIGRATION_NAME_PATTERN,
@@ -1,16 +1,16 @@
1
1
  import {
2
2
  prepareProjectDiscovery
3
- } from "./chunk-D4NXGVV4.mjs";
3
+ } from "./chunk-7JR73TOH.mjs";
4
4
  import {
5
5
  syncManagedDriverDependencies
6
- } from "./chunk-SABHUOON.mjs";
6
+ } from "./chunk-WRZFATUT.mjs";
7
7
  import {
8
8
  ensureGeneratedSchemaPlaceholder,
9
9
  ensureProjectConfig
10
- } from "./chunk-DFKX4YT4.mjs";
10
+ } from "./chunk-SRPGIWCF.mjs";
11
11
  import {
12
12
  renderFrameworkRunner
13
- } from "./chunk-O6AXHL7Z.mjs";
13
+ } from "./chunk-IMOGEKB4.mjs";
14
14
  import {
15
15
  readTextFile,
16
16
  writeTextFile
@@ -238,6 +238,13 @@ async function runSvelteKitSync(projectRoot) {
238
238
  function toPosixSlashes(value) {
239
239
  return value.replaceAll("\\", "/");
240
240
  }
241
+ var PACKAGE_MANIFEST_DISCOVERY_PATHS = /* @__PURE__ */ new Set([
242
+ "package.json",
243
+ "bun.lock",
244
+ "package-lock.json",
245
+ "pnpm-lock.yaml",
246
+ "yarn.lock"
247
+ ]);
241
248
  function resolveConfiguredBroadcastPath(project) {
242
249
  const configuredPaths = project.config.paths;
243
250
  return configuredPaths.broadcast ?? "server/broadcast";
@@ -248,6 +255,9 @@ function resolveConfiguredChannelsPath(project) {
248
255
  }
249
256
  function isDiscoveryRelevantPath(filePath, project) {
250
257
  const normalized = toPosixSlashes(filePath);
258
+ if (PACKAGE_MANIFEST_DISCOVERY_PATHS.has(normalized)) {
259
+ return true;
260
+ }
251
261
  const generatedSchemaPath = toPosixSlashes(project.config.paths.generatedSchema ?? ".holo-js/generated/schema.generated.ts");
252
262
  if (normalized === generatedSchemaPath) {
253
263
  return true;
@@ -3,14 +3,14 @@ import {
3
3
  } from "./chunk-57SJ566R.mjs";
4
4
  import {
5
5
  prepareProjectDiscovery
6
- } from "./chunk-D4NXGVV4.mjs";
6
+ } from "./chunk-7JR73TOH.mjs";
7
7
  import {
8
8
  loadProjectConfig,
9
9
  resolveGeneratedSchemaPath
10
- } from "./chunk-DFKX4YT4.mjs";
10
+ } from "./chunk-SRPGIWCF.mjs";
11
11
  import {
12
12
  loadGeneratedProjectRegistry
13
- } from "./chunk-O6AXHL7Z.mjs";
13
+ } from "./chunk-IMOGEKB4.mjs";
14
14
  import {
15
15
  CLI_RUNTIME_ROOT,
16
16
  bundleProjectModule
@@ -529,17 +529,24 @@ function renderNextHoloHelper() {
529
529
  ""
530
530
  ].join("\n");
531
531
  }
532
- function renderNextCurrentAuthRoute() {
533
- return renderNextRouteBridge("../../../../.holo-js/generated/next/auth-user-route", ["GET"]);
532
+ function renderNextRuntimeBootstrap() {
533
+ return [
534
+ "import { dirname, resolve } from 'node:path'",
535
+ "import { fileURLToPath } from 'node:url'",
536
+ "import { createNextHoloHelpers } from '@holo-js/adapter-next/runtime'",
537
+ "",
538
+ "const projectRoot = resolve(dirname(fileURLToPath(import.meta.url)), '../../..')",
539
+ "const holo = createNextHoloHelpers({ projectRoot })",
540
+ "",
541
+ "await holo.getApp()",
542
+ ""
543
+ ].join("\n");
534
544
  }
535
- function renderNextGeneratedCurrentAuthRoute() {
545
+ function renderNextCurrentAuthRoute() {
536
546
  return [
537
547
  "import auth, { check, isAuthError, provider, user } from '@holo-js/auth'",
538
- "import { holo } from './holo'",
539
548
  "",
540
549
  "export async function GET(request: Request) {",
541
- " await holo.getApp()",
542
- "",
543
550
  " const guard = new URL(request.url).searchParams.get('guard') ?? undefined",
544
551
  " try {",
545
552
  " const guardAuth = guard ? auth.guard(guard) : undefined",
@@ -704,22 +711,29 @@ function renderNextGeneratedBroadcastAuthRoute() {
704
711
  function renderNextManagedRouteFiles(options = {}) {
705
712
  return [
706
713
  { path: ".holo-js/generated/next/holo.ts", contents: renderNextHoloHelper() },
707
- ...options.authEnabled ? [{ path: ".holo-js/generated/next/auth-user-route.ts", contents: renderNextGeneratedCurrentAuthRoute() }] : [],
714
+ { path: ".holo-js/generated/next/bootstrap.mjs", contents: renderNextRuntimeBootstrap() },
708
715
  ...options.storageEnabled ? [{ path: ".holo-js/generated/next/storage-route.ts", contents: renderNextGeneratedStorageRoute() }] : [],
709
716
  ...options.broadcastAuthEnabled ? [{ path: ".holo-js/generated/next/broadcast-auth-route.ts", contents: renderNextGeneratedBroadcastAuthRoute() }] : []
710
717
  ];
711
718
  }
712
719
  function renderNextManagedHostedAuthRouteFiles(features) {
713
- return getRequestedHostedAuthProviders(features).flatMap((provider) => {
714
- const spec = HOSTED_AUTH_PROVIDERS[provider];
715
- return [
716
- { path: ".holo-js/generated/next/holo.ts", contents: renderNextHoloHelper() },
717
- { path: `.holo-js/generated/next/auth-${provider}-login-route.ts`, contents: renderNextGeneratedHostedAuthLoginRoute(spec) },
718
- { path: `.holo-js/generated/next/auth-${provider}-register-route.ts`, contents: renderNextGeneratedHostedAuthRegisterRoute(spec) },
719
- { path: `.holo-js/generated/next/auth-${provider}-callback-route.ts`, contents: renderNextGeneratedHostedAuthCallbackRoute(spec) },
720
- { path: `.holo-js/generated/next/auth-${provider}-logout-route.ts`, contents: renderNextGeneratedHostedAuthLogoutRoute(spec) }
721
- ];
722
- });
720
+ const providers = getRequestedHostedAuthProviders(features);
721
+ if (providers.length === 0) {
722
+ return [];
723
+ }
724
+ return [
725
+ { path: ".holo-js/generated/next/holo.ts", contents: renderNextHoloHelper() },
726
+ { path: ".holo-js/generated/next/bootstrap.mjs", contents: renderNextRuntimeBootstrap() },
727
+ ...providers.flatMap((provider) => {
728
+ const spec = HOSTED_AUTH_PROVIDERS[provider];
729
+ return [
730
+ { path: `.holo-js/generated/next/auth-${provider}-login-route.ts`, contents: renderNextGeneratedHostedAuthLoginRoute(spec) },
731
+ { path: `.holo-js/generated/next/auth-${provider}-register-route.ts`, contents: renderNextGeneratedHostedAuthRegisterRoute(spec) },
732
+ { path: `.holo-js/generated/next/auth-${provider}-callback-route.ts`, contents: renderNextGeneratedHostedAuthCallbackRoute(spec) },
733
+ { path: `.holo-js/generated/next/auth-${provider}-logout-route.ts`, contents: renderNextGeneratedHostedAuthLogoutRoute(spec) }
734
+ ];
735
+ })
736
+ ];
723
737
  }
724
738
  function renderSvelteManagedRuntimeFiles() {
725
739
  return [
@@ -971,7 +985,7 @@ function renderAuthRouteFiles(framework) {
971
985
  return [
972
986
  { path: "app/api/auth/user/route.ts", contents: renderNextCurrentAuthRoute() },
973
987
  { path: ".holo-js/generated/next/holo.ts", contents: renderNextHoloHelper() },
974
- { path: ".holo-js/generated/next/auth-user-route.ts", contents: renderNextGeneratedCurrentAuthRoute() }
988
+ { path: ".holo-js/generated/next/bootstrap.mjs", contents: renderNextRuntimeBootstrap() }
975
989
  ];
976
990
  }
977
991
  if (framework === "nuxt") {
@@ -1029,6 +1043,7 @@ function renderFrameworkRunner(options) {
1029
1043
  "const manifestPath = fileURLToPath(new URL('./project.json', import.meta.url))",
1030
1044
  "const projectRoot = resolve(dirname(manifestPath), '../..')",
1031
1045
  "const runtimeSchemaPath = resolve(projectRoot, '.holo-js/generated/schema.mjs')",
1046
+ "const nextRuntimeBootstrapPath = resolve(projectRoot, '.holo-js/generated/next/bootstrap.mjs')",
1032
1047
  "const manifest = JSON.parse(readFileSync(manifestPath, 'utf8'))",
1033
1048
  "const framework = String(manifest.framework ?? '')",
1034
1049
  `const commandName = ${JSON.stringify(commandName)}`,
@@ -1248,8 +1263,15 @@ function renderFrameworkRunner(options) {
1248
1263
  " while (true) {",
1249
1264
  " const stderrLines = []",
1250
1265
  " const childEnv = { ...process.env }",
1251
- " if (existsSync(runtimeSchemaPath)) {",
1252
- " const preload = `--import=${pathToFileURL(runtimeSchemaPath).href}`",
1266
+ " const preloads = [runtimeSchemaPath]",
1267
+ " if (framework === 'next') {",
1268
+ " preloads.push(nextRuntimeBootstrapPath)",
1269
+ " }",
1270
+ " const preloadOptions = preloads",
1271
+ " .filter(path => existsSync(path))",
1272
+ " .map(path => `--import=${pathToFileURL(path).href}`)",
1273
+ " if (preloadOptions.length > 0) {",
1274
+ " const preload = preloadOptions.join(' ')",
1253
1275
  " childEnv.NODE_OPTIONS = childEnv.NODE_OPTIONS",
1254
1276
  " ? `${childEnv.NODE_OPTIONS} ${preload}`",
1255
1277
  " : preload",
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  loadGeneratedProjectRegistry
3
- } from "./chunk-O6AXHL7Z.mjs";
3
+ } from "./chunk-IMOGEKB4.mjs";
4
4
  import {
5
5
  APP_CONFIG_FILE_NAMES,
6
6
  DATABASE_CONFIG_FILE_NAMES,
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  loadProjectConfig,
3
3
  resolveGeneratedSchemaPath
4
- } from "./chunk-DFKX4YT4.mjs";
4
+ } from "./chunk-SRPGIWCF.mjs";
5
5
  import {
6
6
  loadGeneratedProjectRegistry,
7
7
  relativeImportPath,
@@ -15,7 +15,7 @@ import {
15
15
  renderNextHoloHelper,
16
16
  renderNextManagedHostedAuthRouteFiles,
17
17
  renderSvelteHoloHelper
18
- } from "./chunk-O6AXHL7Z.mjs";
18
+ } from "./chunk-IMOGEKB4.mjs";
19
19
  import {
20
20
  AUTH_CONFIG_FILE_NAMES,
21
21
  AUTH_SOCIAL_PROVIDER_PACKAGE_NAMES,
@@ -59,7 +59,7 @@ import { loadConfigDirectory } from "@holo-js/config";
59
59
  // package.json
60
60
  var package_default = {
61
61
  name: "@holo-js/cli",
62
- version: "0.1.8",
62
+ version: "0.1.9",
63
63
  description: "Holo-JS Framework - project creation, discovery, and operational CLI",
64
64
  type: "module",
65
65
  license: "MIT",
@@ -110,48 +110,48 @@ var package_default = {
110
110
  var WORKSPACE_CATALOG = Object.freeze({
111
111
  "@clerk/backend": "^3.4.7",
112
112
  "@eslint/js": "^9.17.0",
113
- "@holo-js/adapter-next": "^0.1.8",
114
- "@holo-js/adapter-nuxt": "^0.1.8",
115
- "@holo-js/adapter-sveltekit": "^0.1.8",
116
- "@holo-js/auth": "^0.1.8",
117
- "@holo-js/auth-clerk": "^0.1.8",
118
- "@holo-js/auth-social": "^0.1.8",
119
- "@holo-js/auth-social-apple": "^0.1.8",
120
- "@holo-js/auth-social-discord": "^0.1.8",
121
- "@holo-js/auth-social-facebook": "^0.1.8",
122
- "@holo-js/auth-social-github": "^0.1.8",
123
- "@holo-js/auth-social-google": "^0.1.8",
124
- "@holo-js/auth-social-linkedin": "^0.1.8",
125
- "@holo-js/auth-workos": "^0.1.8",
126
- "@holo-js/authorization": "^0.1.8",
127
- "@holo-js/broadcast": "^0.1.8",
128
- "@holo-js/cache": "^0.1.8",
129
- "@holo-js/cache-db": "^0.1.8",
130
- "@holo-js/cache-redis": "^0.1.8",
131
- "@holo-js/cli": "^0.1.8",
132
- "@holo-js/config": "^0.1.8",
133
- "@holo-js/core": "^0.1.8",
134
- "@holo-js/db": "^0.1.8",
135
- "@holo-js/db-mysql": "^0.1.8",
136
- "@holo-js/db-postgres": "^0.1.8",
137
- "@holo-js/db-sqlite": "^0.1.8",
138
- "@holo-js/events": "^0.1.8",
139
- "@holo-js/flux": "^0.1.8",
140
- "@holo-js/flux-react": "^0.1.8",
141
- "@holo-js/flux-svelte": "^0.1.8",
142
- "@holo-js/flux-vue": "^0.1.8",
143
- "@holo-js/forms": "^0.1.8",
144
- "@holo-js/mail": "^0.1.8",
145
- "@holo-js/media": "^0.1.8",
146
- "@holo-js/notifications": "^0.1.8",
147
- "@holo-js/queue": "^0.1.8",
148
- "@holo-js/queue-db": "^0.1.8",
149
- "@holo-js/queue-redis": "^0.1.8",
150
- "@holo-js/security": "^0.1.8",
151
- "@holo-js/session": "^0.1.8",
152
- "@holo-js/storage": "^0.1.8",
153
- "@holo-js/storage-s3": "^0.1.8",
154
- "@holo-js/validation": "^0.1.8",
113
+ "@holo-js/adapter-next": "^0.1.9",
114
+ "@holo-js/adapter-nuxt": "^0.1.9",
115
+ "@holo-js/adapter-sveltekit": "^0.1.9",
116
+ "@holo-js/auth": "^0.1.9",
117
+ "@holo-js/auth-clerk": "^0.1.9",
118
+ "@holo-js/auth-social": "^0.1.9",
119
+ "@holo-js/auth-social-apple": "^0.1.9",
120
+ "@holo-js/auth-social-discord": "^0.1.9",
121
+ "@holo-js/auth-social-facebook": "^0.1.9",
122
+ "@holo-js/auth-social-github": "^0.1.9",
123
+ "@holo-js/auth-social-google": "^0.1.9",
124
+ "@holo-js/auth-social-linkedin": "^0.1.9",
125
+ "@holo-js/auth-workos": "^0.1.9",
126
+ "@holo-js/authorization": "^0.1.9",
127
+ "@holo-js/broadcast": "^0.1.9",
128
+ "@holo-js/cache": "^0.1.9",
129
+ "@holo-js/cache-db": "^0.1.9",
130
+ "@holo-js/cache-redis": "^0.1.9",
131
+ "@holo-js/cli": "^0.1.9",
132
+ "@holo-js/config": "^0.1.9",
133
+ "@holo-js/core": "^0.1.9",
134
+ "@holo-js/db": "^0.1.9",
135
+ "@holo-js/db-mysql": "^0.1.9",
136
+ "@holo-js/db-postgres": "^0.1.9",
137
+ "@holo-js/db-sqlite": "^0.1.9",
138
+ "@holo-js/events": "^0.1.9",
139
+ "@holo-js/flux": "^0.1.9",
140
+ "@holo-js/flux-react": "^0.1.9",
141
+ "@holo-js/flux-svelte": "^0.1.9",
142
+ "@holo-js/flux-vue": "^0.1.9",
143
+ "@holo-js/forms": "^0.1.9",
144
+ "@holo-js/mail": "^0.1.9",
145
+ "@holo-js/media": "^0.1.9",
146
+ "@holo-js/notifications": "^0.1.9",
147
+ "@holo-js/queue": "^0.1.9",
148
+ "@holo-js/queue-db": "^0.1.9",
149
+ "@holo-js/queue-redis": "^0.1.9",
150
+ "@holo-js/security": "^0.1.9",
151
+ "@holo-js/session": "^0.1.9",
152
+ "@holo-js/storage": "^0.1.9",
153
+ "@holo-js/storage-s3": "^0.1.9",
154
+ "@holo-js/validation": "^0.1.9",
155
155
  "@nuxt/kit": "^4.4.4",
156
156
  "@nuxt/module-builder": "^1.0.2",
157
157
  "@sveltejs/adapter-node": "^5.5.4",
@@ -168,7 +168,7 @@ var WORKSPACE_CATALOG = Object.freeze({
168
168
  "@vitest/coverage-v8": "^4.1.5",
169
169
  "better-sqlite3": "^11.7.0",
170
170
  "bullmq": "^5.71.0",
171
- "create-holo-js": "^0.1.8",
171
+ "create-holo-js": "^0.1.9",
172
172
  "esbuild": "^0.27.4",
173
173
  "eslint": "^9.17.0",
174
174
  "fast-check": "^4.5.3",
@@ -3013,7 +3013,7 @@ async function installMediaIntoProject(projectRoot) {
3013
3013
  if (!mediaConfigPath) {
3014
3014
  await writeTextFile(resolve4(projectRoot, "config/media.ts"), renderMediaConfig());
3015
3015
  }
3016
- const { createMediaTableMigration } = await import("./media-migrations-76KFHA2U.mjs");
3016
+ const { createMediaTableMigration } = await import("./media-migrations-JQSDCC7S.mjs");
3017
3017
  const migrationFilePath = await createMediaTableMigration(projectRoot, {
3018
3018
  skipIfExists: true
3019
3019
  });
@@ -7,8 +7,8 @@ import {
7
7
  serializeDatabaseConfig,
8
8
  serializeProjectConfig,
9
9
  writeProjectConfig
10
- } from "./chunk-DFKX4YT4.mjs";
11
- import "./chunk-O6AXHL7Z.mjs";
10
+ } from "./chunk-SRPGIWCF.mjs";
11
+ import "./chunk-IMOGEKB4.mjs";
12
12
  import {
13
13
  readTextFile
14
14
  } from "./chunk-R6BWRY3E.mjs";
@@ -13,15 +13,15 @@ import {
13
13
  runProjectLifecycleScript,
14
14
  runProjectPrepare,
15
15
  toPosixSlashes
16
- } from "./chunk-2NUEWM2P.mjs";
16
+ } from "./chunk-ASTSSSL2.mjs";
17
17
  import {
18
18
  hasProjectDependency
19
19
  } from "./chunk-F4MT6GBK.mjs";
20
20
  import "./chunk-D7O4SU6N.mjs";
21
- import "./chunk-D4NXGVV4.mjs";
22
- import "./chunk-SABHUOON.mjs";
23
- import "./chunk-DFKX4YT4.mjs";
24
- import "./chunk-O6AXHL7Z.mjs";
21
+ import "./chunk-7JR73TOH.mjs";
22
+ import "./chunk-WRZFATUT.mjs";
23
+ import "./chunk-SRPGIWCF.mjs";
24
+ import "./chunk-IMOGEKB4.mjs";
25
25
  import "./chunk-R6BWRY3E.mjs";
26
26
  export {
27
27
  collectDirectoryTree,
@@ -10,8 +10,8 @@ import {
10
10
  resolveListenerEventNamesFromSource,
11
11
  resolveNamedExport,
12
12
  resolveNamedExportEntry
13
- } from "./chunk-D4NXGVV4.mjs";
14
- import "./chunk-O6AXHL7Z.mjs";
13
+ } from "./chunk-7JR73TOH.mjs";
14
+ import "./chunk-IMOGEKB4.mjs";
15
15
  import "./chunk-R6BWRY3E.mjs";
16
16
  export {
17
17
  collectImportedBindingsBySource,
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-5EU32E7X.mjs";
4
4
  import {
5
5
  runProjectPrepare
6
- } from "./chunk-2NUEWM2P.mjs";
6
+ } from "./chunk-ASTSSSL2.mjs";
7
7
  import "./chunk-F4MT6GBK.mjs";
8
8
  import {
9
9
  hasRegisteredCreateTableMigration,
@@ -21,12 +21,12 @@ import "./chunk-D7O4SU6N.mjs";
21
21
  import {
22
22
  collectFiles,
23
23
  prepareProjectDiscovery
24
- } from "./chunk-D4NXGVV4.mjs";
25
- import "./chunk-SABHUOON.mjs";
24
+ } from "./chunk-7JR73TOH.mjs";
25
+ import "./chunk-WRZFATUT.mjs";
26
26
  import {
27
27
  ensureGeneratedSchemaPlaceholder,
28
28
  ensureProjectConfig
29
- } from "./chunk-DFKX4YT4.mjs";
29
+ } from "./chunk-SRPGIWCF.mjs";
30
30
  import {
31
31
  ensureSuffix,
32
32
  loadGeneratedProjectRegistry,
@@ -48,7 +48,7 @@ import {
48
48
  toKebabCase,
49
49
  toPascalCase,
50
50
  toSnakeCase
51
- } from "./chunk-O6AXHL7Z.mjs";
51
+ } from "./chunk-IMOGEKB4.mjs";
52
52
  import {
53
53
  makeProjectRelativePath,
54
54
  resolveDefaultArtifactPath,
package/dist/index.mjs CHANGED
@@ -25,10 +25,10 @@ import {
25
25
  fileExists
26
26
  } from "./chunk-57SJ566R.mjs";
27
27
  import "./chunk-D7O4SU6N.mjs";
28
- import "./chunk-D4NXGVV4.mjs";
29
- import "./chunk-SABHUOON.mjs";
30
- import "./chunk-DFKX4YT4.mjs";
31
- import "./chunk-O6AXHL7Z.mjs";
28
+ import "./chunk-7JR73TOH.mjs";
29
+ import "./chunk-WRZFATUT.mjs";
30
+ import "./chunk-SRPGIWCF.mjs";
31
+ import "./chunk-IMOGEKB4.mjs";
32
32
  import {
33
33
  SUPPORTED_AUTH_SOCIAL_PROVIDERS
34
34
  } from "./chunk-R6BWRY3E.mjs";
@@ -124,51 +124,51 @@ var projectDiscoveryModulePromise;
124
124
  var projectRuntimeModulePromise;
125
125
  var projectScaffoldModulePromise;
126
126
  function loadRuntimeModule() {
127
- runtimeModulePromise ??= import("./runtime-4AAMJI34.mjs");
127
+ runtimeModulePromise ??= import("./runtime-BI343WHS.mjs");
128
128
  return runtimeModulePromise;
129
129
  }
130
130
  function loadQueueModule() {
131
- queueModulePromise ??= import("./queue-JGVKSPUM.mjs");
131
+ queueModulePromise ??= import("./queue-BY3PLH4I.mjs");
132
132
  return queueModulePromise;
133
133
  }
134
134
  function loadCacheModule() {
135
- cacheModulePromise ??= import("./cache-JGGCYQQG.mjs");
135
+ cacheModulePromise ??= import("./cache-ETOIQ5IG.mjs");
136
136
  return cacheModulePromise;
137
137
  }
138
138
  function loadQueueMigrationsModule() {
139
- queueMigrationsModulePromise ??= import("./queue-migrations-3TYOTL45.mjs");
139
+ queueMigrationsModulePromise ??= import("./queue-migrations-YZUKEZK7.mjs");
140
140
  return queueMigrationsModulePromise;
141
141
  }
142
142
  function loadCacheMigrationsModule() {
143
- cacheMigrationsModulePromise ??= import("./cache-migrations-3V7LI4CC.mjs");
143
+ cacheMigrationsModulePromise ??= import("./cache-migrations-2GGI4TJK.mjs");
144
144
  return cacheMigrationsModulePromise;
145
145
  }
146
146
  function loadMediaMigrationsModule() {
147
- mediaMigrationsModulePromise ??= import("./media-migrations-76KFHA2U.mjs");
147
+ mediaMigrationsModulePromise ??= import("./media-migrations-JQSDCC7S.mjs");
148
148
  return mediaMigrationsModulePromise;
149
149
  }
150
150
  function loadGeneratorsModule() {
151
- generatorsModulePromise ??= import("./generators-UJA6WP7J.mjs");
151
+ generatorsModulePromise ??= import("./generators-UI2LJK3O.mjs");
152
152
  return generatorsModulePromise;
153
153
  }
154
154
  function loadBroadcastModule() {
155
- broadcastModulePromise ??= import("./broadcast-3VPGBNCR.mjs");
155
+ broadcastModulePromise ??= import("./broadcast-VR46UZEL.mjs");
156
156
  return broadcastModulePromise;
157
157
  }
158
158
  function loadSecurityModule() {
159
- securityModulePromise ??= import("./security-ILU74RIZ.mjs");
159
+ securityModulePromise ??= import("./security-TYPVOYGF.mjs");
160
160
  return securityModulePromise;
161
161
  }
162
162
  function loadDevModule() {
163
- devModulePromise ??= import("./dev-RZLZX75U.mjs");
163
+ devModulePromise ??= import("./dev-6RG5SSZ7.mjs");
164
164
  return devModulePromise;
165
165
  }
166
166
  function loadProjectConfigModule() {
167
- projectConfigModulePromise ??= import("./config-K7SBKT2C.mjs");
167
+ projectConfigModulePromise ??= import("./config-ARLE6PKR.mjs");
168
168
  return projectConfigModulePromise;
169
169
  }
170
170
  function loadProjectDiscoveryModule() {
171
- projectDiscoveryModulePromise ??= import("./discovery-SFRDA4VX.mjs");
171
+ projectDiscoveryModulePromise ??= import("./discovery-FCVGQQVD.mjs");
172
172
  return projectDiscoveryModulePromise;
173
173
  }
174
174
  function loadProjectRuntimeModule() {
@@ -176,7 +176,7 @@ function loadProjectRuntimeModule() {
176
176
  return projectRuntimeModulePromise;
177
177
  }
178
178
  function loadProjectScaffoldModule() {
179
- projectScaffoldModulePromise ??= import("./scaffold-TMP7PWOA.mjs");
179
+ projectScaffoldModulePromise ??= import("./scaffold-UBOS2NZR.mjs");
180
180
  return projectScaffoldModulePromise;
181
181
  }
182
182
  async function resolveRuntimeExecutor(runtimeExecutor) {
@@ -296,6 +296,8 @@ async function runProjectDependencyInstallAfterPackageJsonUpdate(context, projec
296
296
  return;
297
297
  }
298
298
  await runProjectDependencyInstallForProject(context, projectExecutors, context.projectRoot);
299
+ const runProjectPrepare = await resolveProjectExecutor(projectExecutors, "runProjectPrepare");
300
+ await runProjectPrepare(context.projectRoot, context);
299
301
  }
300
302
  async function runProjectDependencyInstallForProject(context, projectExecutors, projectRoot) {
301
303
  const runProjectDependencyInstall = await resolveProjectExecutor(projectExecutors, "runProjectDependencyInstall");
@@ -11,14 +11,14 @@ import "./chunk-57SJ566R.mjs";
11
11
  import "./chunk-D7O4SU6N.mjs";
12
12
  import {
13
13
  prepareProjectDiscovery
14
- } from "./chunk-D4NXGVV4.mjs";
15
- import "./chunk-SABHUOON.mjs";
14
+ } from "./chunk-7JR73TOH.mjs";
15
+ import "./chunk-WRZFATUT.mjs";
16
16
  import {
17
17
  ensureProjectConfig
18
- } from "./chunk-DFKX4YT4.mjs";
18
+ } from "./chunk-SRPGIWCF.mjs";
19
19
  import {
20
20
  loadGeneratedProjectRegistry
21
- } from "./chunk-O6AXHL7Z.mjs";
21
+ } from "./chunk-IMOGEKB4.mjs";
22
22
  import {
23
23
  makeProjectRelativePath,
24
24
  resolveDefaultArtifactPath,
@@ -94,7 +94,7 @@ async function createMediaTableMigration(projectRoot, options = {}) {
94
94
  }
95
95
  async function runMediaTableCommand(io, projectRoot) {
96
96
  const migrationFilePath = await createMediaTableMigration(projectRoot);
97
- const { runProjectPrepare } = await import("./dev-RZLZX75U.mjs");
97
+ const { runProjectPrepare } = await import("./dev-6RG5SSZ7.mjs");
98
98
  if (!migrationFilePath) {
99
99
  throw new Error(`A migration for table "${DEFAULT_MEDIA_TABLE}" already exists.`);
100
100
  }
@@ -4,27 +4,27 @@ import {
4
4
  normalizeWatchedFilePath,
5
5
  runProjectPrepare,
6
6
  toPosixSlashes
7
- } from "./chunk-2NUEWM2P.mjs";
7
+ } from "./chunk-ASTSSSL2.mjs";
8
8
  import "./chunk-F4MT6GBK.mjs";
9
9
  import {
10
10
  writeLine
11
11
  } from "./chunk-ZXDU7RHU.mjs";
12
12
  import {
13
13
  initializeProjectRuntime
14
- } from "./chunk-QIOHKKXP.mjs";
14
+ } from "./chunk-HB4Q7VYK.mjs";
15
15
  import "./chunk-57SJ566R.mjs";
16
16
  import "./chunk-D7O4SU6N.mjs";
17
17
  import {
18
18
  prepareProjectDiscovery
19
- } from "./chunk-D4NXGVV4.mjs";
20
- import "./chunk-SABHUOON.mjs";
19
+ } from "./chunk-7JR73TOH.mjs";
20
+ import "./chunk-WRZFATUT.mjs";
21
21
  import {
22
22
  ensureProjectConfig,
23
23
  loadProjectConfig
24
- } from "./chunk-DFKX4YT4.mjs";
24
+ } from "./chunk-SRPGIWCF.mjs";
25
25
  import {
26
26
  loadGeneratedProjectRegistry
27
- } from "./chunk-O6AXHL7Z.mjs";
27
+ } from "./chunk-IMOGEKB4.mjs";
28
28
  import {
29
29
  HOLO_RUNTIME_ROOT,
30
30
  bundleProjectModule,
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  runProjectPrepare
3
- } from "./chunk-2NUEWM2P.mjs";
3
+ } from "./chunk-ASTSSSL2.mjs";
4
4
  import "./chunk-F4MT6GBK.mjs";
5
5
  import {
6
6
  getRegistryMigrationSlug,
@@ -15,14 +15,14 @@ import "./chunk-57SJ566R.mjs";
15
15
  import "./chunk-D7O4SU6N.mjs";
16
16
  import {
17
17
  prepareProjectDiscovery
18
- } from "./chunk-D4NXGVV4.mjs";
19
- import "./chunk-SABHUOON.mjs";
18
+ } from "./chunk-7JR73TOH.mjs";
19
+ import "./chunk-WRZFATUT.mjs";
20
20
  import {
21
21
  ensureProjectConfig
22
- } from "./chunk-DFKX4YT4.mjs";
22
+ } from "./chunk-SRPGIWCF.mjs";
23
23
  import {
24
24
  loadGeneratedProjectRegistry
25
- } from "./chunk-O6AXHL7Z.mjs";
25
+ } from "./chunk-IMOGEKB4.mjs";
26
26
  import {
27
27
  makeProjectRelativePath,
28
28
  resolveDefaultArtifactPath,
@@ -22,13 +22,13 @@ import {
22
22
  resolvePackageRootFromSpecifier,
23
23
  runRuntimeInvocation,
24
24
  withRuntimeEnvironment
25
- } from "./chunk-QIOHKKXP.mjs";
25
+ } from "./chunk-HB4Q7VYK.mjs";
26
26
  import "./chunk-57SJ566R.mjs";
27
27
  import "./chunk-D7O4SU6N.mjs";
28
- import "./chunk-D4NXGVV4.mjs";
29
- import "./chunk-SABHUOON.mjs";
30
- import "./chunk-DFKX4YT4.mjs";
31
- import "./chunk-O6AXHL7Z.mjs";
28
+ import "./chunk-7JR73TOH.mjs";
29
+ import "./chunk-WRZFATUT.mjs";
30
+ import "./chunk-SRPGIWCF.mjs";
31
+ import "./chunk-IMOGEKB4.mjs";
32
32
  import "./chunk-R6BWRY3E.mjs";
33
33
  export {
34
34
  RUNTIME_MIGRATION_NAME_PATTERN,
@@ -55,13 +55,13 @@ import {
55
55
  upsertMediaPackageDependency,
56
56
  upsertNotificationsPackageDependency,
57
57
  upsertSecurityPackageDependency
58
- } from "./chunk-SABHUOON.mjs";
59
- import "./chunk-DFKX4YT4.mjs";
58
+ } from "./chunk-WRZFATUT.mjs";
59
+ import "./chunk-SRPGIWCF.mjs";
60
60
  import {
61
61
  renderAuthProviderRouteFiles,
62
62
  renderFrameworkFiles,
63
63
  renderFrameworkRunner
64
- } from "./chunk-O6AXHL7Z.mjs";
64
+ } from "./chunk-IMOGEKB4.mjs";
65
65
  import {
66
66
  isSupportedCacheInstallerDriver,
67
67
  isSupportedQueueInstallerDriver,
@@ -2,10 +2,10 @@ import {
2
2
  writeLine
3
3
  } from "./chunk-ZXDU7RHU.mjs";
4
4
  import "./chunk-D7O4SU6N.mjs";
5
- import "./chunk-D4NXGVV4.mjs";
6
- import "./chunk-SABHUOON.mjs";
7
- import "./chunk-DFKX4YT4.mjs";
8
- import "./chunk-O6AXHL7Z.mjs";
5
+ import "./chunk-7JR73TOH.mjs";
6
+ import "./chunk-WRZFATUT.mjs";
7
+ import "./chunk-SRPGIWCF.mjs";
8
+ import "./chunk-IMOGEKB4.mjs";
9
9
  import {
10
10
  resolveProjectPackageImportSpecifier
11
11
  } from "./chunk-R6BWRY3E.mjs";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@holo-js/cli",
3
- "version": "0.1.8",
3
+ "version": "0.1.9",
4
4
  "description": "Holo-JS Framework - project creation, discovery, and operational CLI",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -27,16 +27,16 @@
27
27
  "test:integration": "HOLO_CLI_INCLUDE_INTEGRATION=1 vitest --run tests/cli.test.ts"
28
28
  },
29
29
  "dependencies": {
30
- "@holo-js/config": "^0.1.8",
31
- "@holo-js/core": "^0.1.8",
32
- "@holo-js/db": "^0.1.8",
30
+ "@holo-js/config": "^0.1.9",
31
+ "@holo-js/core": "^0.1.9",
32
+ "@holo-js/db": "^0.1.9",
33
33
  "esbuild": "^0.27.4",
34
34
  "inflection": "^3.0.2"
35
35
  },
36
36
  "devDependencies": {
37
- "@holo-js/events": "^0.1.8",
38
- "@holo-js/queue": "^0.1.8",
39
- "@holo-js/queue-db": "^0.1.8",
37
+ "@holo-js/events": "^0.1.9",
38
+ "@holo-js/queue": "^0.1.9",
39
+ "@holo-js/queue-db": "^0.1.9",
40
40
  "@types/node": "^22.10.2",
41
41
  "tsup": "^8.3.5",
42
42
  "typescript": "^5.7.2",