@holo-js/cli 0.3.0 → 0.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. package/dist/bin/holo.mjs +38 -35
  2. package/dist/{broadcast-5VZM5SGQ.mjs → broadcast-PJLFVZH4.mjs} +9 -11
  3. package/dist/{cache-A42JSVYA.mjs → cache-KR4ACOYD.mjs} +8 -9
  4. package/dist/{cache-migrations-4WKSEN2Q.mjs → cache-migrations-J34RE4WH.mjs} +13 -15
  5. package/dist/{chunk-OLZEMIDQ.mjs → chunk-2XXJ76YC.mjs} +1 -1
  6. package/dist/{chunk-3RFRE7XG.mjs → chunk-3ICVWL2M.mjs} +2 -2
  7. package/dist/{chunk-JVLZ3SOW.mjs → chunk-4VYR2ARA.mjs} +2 -2
  8. package/dist/{chunk-QSVMXMTQ.mjs → chunk-7KZVFDSI.mjs} +3 -3
  9. package/dist/{chunk-TRYHX5S4.mjs → chunk-AZ6NVJAP.mjs} +1 -1
  10. package/dist/{chunk-LHK5YUR4.mjs → chunk-CT23GSEC.mjs} +1 -1
  11. package/dist/{chunk-6BHJLCAO.mjs → chunk-FFTJKBQF.mjs} +43 -13
  12. package/dist/{chunk-EQUFFLRG.mjs → chunk-I3RRWDLV.mjs} +5 -5
  13. package/dist/{chunk-R4ZYMEDU.mjs → chunk-L3YATEQY.mjs} +1 -1
  14. package/dist/{chunk-TH5YCOZB.mjs → chunk-L6FF22IV.mjs} +28 -17
  15. package/dist/{chunk-YACY2572.mjs → chunk-PVVGQSUP.mjs} +47 -47
  16. package/dist/{chunk-I7QBCEV7.mjs → chunk-Y355VYRN.mjs} +5 -3
  17. package/dist/{chunk-VRGB6DIS.mjs → chunk-YJWHIQ45.mjs} +2 -0
  18. package/dist/{config-BZHQK532.mjs → config-XVPV6DJW.mjs} +3 -3
  19. package/dist/{dev-7KGRV56X.mjs → dev-NTQTEY5B.mjs} +9 -10
  20. package/dist/{discovery-HNH3BLDL.mjs → discovery-TMPUQQHI.mjs} +4 -4
  21. package/dist/{generators-3FVW4AEJ.mjs → generators-3FDCCJDC.mjs} +14 -16
  22. package/dist/index.mjs +38 -35
  23. package/dist/{media-migrations-EG34NYAG.mjs → media-migrations-UJ6BMUSZ.mjs} +10 -12
  24. package/dist/{plugins-ZGLB6JO6.mjs → plugins-USHY6SPF.mjs} +3 -3
  25. package/dist/{queue-BEZDCZCY.mjs → queue-6U7JU4T6.mjs} +11 -13
  26. package/dist/{queue-R54DUUYA.mjs → queue-VJEFD6SE.mjs} +13 -15
  27. package/dist/{queue-migrations-AM3AKT76.mjs → queue-migrations-6YUUOKMH.mjs} +13 -15
  28. package/dist/{runtime-4TJYZLQV.mjs → runtime-FVRB4O2M.mjs} +8 -10
  29. package/dist/{runtime-VR5BDPYQ.mjs → runtime-P5R7H3B4.mjs} +1 -1
  30. package/dist/{scaffold-ASEX5LEX.mjs → scaffold-F3AZDNPG.mjs} +7 -6
  31. package/dist/{security-KYTLP4DF.mjs → security-X4274RHX.mjs} +8 -9
  32. package/package.json +19 -19
  33. package/dist/broadcast-AABT52BK.mjs +0 -206
  34. package/dist/cache-DUVBBOZU.mjs +0 -138
  35. package/dist/cache-migrations-PD2T5AV4.mjs +0 -175
  36. package/dist/chunk-HX6MOYBO.mjs +0 -2
  37. package/dist/chunk-KRADH7PK.mjs +0 -501
  38. package/dist/chunk-LALDNNPH.mjs +0 -428
  39. package/dist/chunk-M3IPUCTM.mjs +0 -25
  40. package/dist/chunk-OI54DOHK.mjs +0 -3170
  41. package/dist/dev-GQT37XJU.mjs +0 -46
  42. package/dist/generators-JWVNGUUE.mjs +0 -523
  43. package/dist/media-migrations-LGI7R7AR.mjs +0 -108
  44. package/dist/queue-migrations-U477YSFD.mjs +0 -173
  45. package/dist/runtime-MSRQD5W5.mjs +0 -59
  46. package/dist/scaffold-ZAD3XUSD.mjs +0 -143
  47. package/dist/security-4QLV7QCH.mjs +0 -73
@@ -13,7 +13,7 @@ import { extname, join, relative, resolve } from "path";
13
13
  // package.json
14
14
  var package_default = {
15
15
  name: "@holo-js/cli",
16
- version: "0.3.0",
16
+ version: "0.3.1",
17
17
  description: "Holo-JS Framework - project creation, discovery, and operational CLI",
18
18
  type: "module",
19
19
  license: "MIT",
@@ -94,51 +94,51 @@ var WORKSPACE_CATALOG = Object.freeze({
94
94
  "@clerk/backend": "^3.4.7",
95
95
  "@clack/prompts": "^1.5.1",
96
96
  "@eslint/js": "^9.17.0",
97
- "@holo-js/adapter-next": "^0.3.0",
98
- "@holo-js/adapter-nuxt": "^0.3.0",
99
- "@holo-js/adapter-sveltekit": "^0.3.0",
100
- "@holo-js/adapter-shared": "^0.3.0",
101
- "@holo-js/auth": "^0.3.0",
102
- "@holo-js/auth-clerk": "^0.3.0",
103
- "@holo-js/auth-social": "^0.3.0",
104
- "@holo-js/auth-social-apple": "^0.3.0",
105
- "@holo-js/auth-social-discord": "^0.3.0",
106
- "@holo-js/auth-social-facebook": "^0.3.0",
107
- "@holo-js/auth-social-github": "^0.3.0",
108
- "@holo-js/auth-social-google": "^0.3.0",
109
- "@holo-js/auth-social-linkedin": "^0.3.0",
110
- "@holo-js/auth-workos": "^0.3.0",
111
- "@holo-js/authorization": "^0.3.0",
112
- "@holo-js/broadcast": "^0.3.0",
113
- "@holo-js/cache": "^0.3.0",
114
- "@holo-js/cache-db": "^0.3.0",
115
- "@holo-js/cache-redis": "^0.3.0",
116
- "@holo-js/cli": "^0.3.0",
117
- "@holo-js/config": "^0.3.0",
118
- "@holo-js/core": "^0.3.0",
119
- "@holo-js/db": "^0.3.0",
120
- "@holo-js/db-mysql": "^0.3.0",
121
- "@holo-js/db-postgres": "^0.3.0",
122
- "@holo-js/db-sqlite": "^0.3.0",
123
- "@holo-js/events": "^0.3.0",
124
- "@holo-js/flux": "^0.3.0",
125
- "@holo-js/flux-react": "^0.3.0",
126
- "@holo-js/flux-svelte": "^0.3.0",
127
- "@holo-js/flux-vue": "^0.3.0",
128
- "@holo-js/forms": "^0.3.0",
129
- "@holo-js/kernel": "^0.3.0",
130
- "@holo-js/mail": "^0.3.0",
131
- "@holo-js/media": "^0.3.0",
132
- "@holo-js/notifications": "^0.3.0",
133
- "@holo-js/queue": "^0.3.0",
134
- "@holo-js/queue-db": "^0.3.0",
135
- "@holo-js/queue-redis": "^0.3.0",
136
- "@holo-js/realtime": "^0.3.0",
137
- "@holo-js/security": "^0.3.0",
138
- "@holo-js/session": "^0.3.0",
139
- "@holo-js/storage": "^0.3.0",
140
- "@holo-js/storage-s3": "^0.3.0",
141
- "@holo-js/validation": "^0.3.0",
97
+ "@holo-js/adapter-next": "^0.3.1",
98
+ "@holo-js/adapter-nuxt": "^0.3.1",
99
+ "@holo-js/adapter-sveltekit": "^0.3.1",
100
+ "@holo-js/adapter-shared": "^0.3.1",
101
+ "@holo-js/auth": "^0.3.1",
102
+ "@holo-js/auth-clerk": "^0.3.1",
103
+ "@holo-js/auth-social": "^0.3.1",
104
+ "@holo-js/auth-social-apple": "^0.3.1",
105
+ "@holo-js/auth-social-discord": "^0.3.1",
106
+ "@holo-js/auth-social-facebook": "^0.3.1",
107
+ "@holo-js/auth-social-github": "^0.3.1",
108
+ "@holo-js/auth-social-google": "^0.3.1",
109
+ "@holo-js/auth-social-linkedin": "^0.3.1",
110
+ "@holo-js/auth-workos": "^0.3.1",
111
+ "@holo-js/authorization": "^0.3.1",
112
+ "@holo-js/broadcast": "^0.3.1",
113
+ "@holo-js/cache": "^0.3.1",
114
+ "@holo-js/cache-db": "^0.3.1",
115
+ "@holo-js/cache-redis": "^0.3.1",
116
+ "@holo-js/cli": "^0.3.1",
117
+ "@holo-js/config": "^0.3.1",
118
+ "@holo-js/core": "^0.3.1",
119
+ "@holo-js/db": "^0.3.1",
120
+ "@holo-js/db-mysql": "^0.3.1",
121
+ "@holo-js/db-postgres": "^0.3.1",
122
+ "@holo-js/db-sqlite": "^0.3.1",
123
+ "@holo-js/events": "^0.3.1",
124
+ "@holo-js/flux": "^0.3.1",
125
+ "@holo-js/flux-react": "^0.3.1",
126
+ "@holo-js/flux-svelte": "^0.3.1",
127
+ "@holo-js/flux-vue": "^0.3.1",
128
+ "@holo-js/forms": "^0.3.1",
129
+ "@holo-js/kernel": "^0.3.1",
130
+ "@holo-js/mail": "^0.3.1",
131
+ "@holo-js/media": "^0.3.1",
132
+ "@holo-js/notifications": "^0.3.1",
133
+ "@holo-js/queue": "^0.3.1",
134
+ "@holo-js/queue-db": "^0.3.1",
135
+ "@holo-js/queue-redis": "^0.3.1",
136
+ "@holo-js/realtime": "^0.3.1",
137
+ "@holo-js/security": "^0.3.1",
138
+ "@holo-js/session": "^0.3.1",
139
+ "@holo-js/storage": "^0.3.1",
140
+ "@holo-js/storage-s3": "^0.3.1",
141
+ "@holo-js/validation": "^0.3.1",
142
142
  "@nuxt/kit": "^4.4.4",
143
143
  "@nuxt/module-builder": "^1.0.2",
144
144
  "@sveltejs/adapter-node": "^5.5.4",
@@ -155,7 +155,7 @@ var WORKSPACE_CATALOG = Object.freeze({
155
155
  "@vitest/coverage-v8": "^4.1.5",
156
156
  "better-sqlite3": "^11.7.0",
157
157
  "bullmq": "^5.71.0",
158
- "create-holo-js": "^0.3.0",
158
+ "create-holo-js": "^0.3.1",
159
159
  "esbuild": "^0.27.4",
160
160
  "eslint": "^9.17.0",
161
161
  "fast-check": "^4.5.3",
@@ -6,7 +6,10 @@ function writeLine(stream, message = "") {
6
6
  }
7
7
  async function runWithSpinner(io, message, task, successMessage = message) {
8
8
  if (!supportsSpinner(io)) {
9
- return task();
9
+ writeLine(io.stdout, message);
10
+ const result = await task();
11
+ writeLine(io.stdout, successMessage);
12
+ return result;
10
13
  }
11
14
  const loading = spinner({
12
15
  input: io.stdin,
@@ -28,6 +31,5 @@ function supportsSpinner(io) {
28
31
 
29
32
  export {
30
33
  writeLine,
31
- runWithSpinner,
32
- supportsSpinner
34
+ runWithSpinner
33
35
  };
@@ -251,6 +251,7 @@ async function resolveNewProjectInput(io, input, prompts = {
251
251
  prompt: (label) => prompt(io, label),
252
252
  choose: (label, allowed, defaultValue) => promptChoice(io, label, allowed, defaultValue),
253
253
  optionalPackages: () => promptOptionalPackages(io)
254
+ }, validateProjectName = async () => {
254
255
  }) {
255
256
  const flagProjectName = resolveStringFlag(input.flags, "name");
256
257
  const positionalProjectName = input.args[0]?.trim();
@@ -262,6 +263,7 @@ async function resolveNewProjectInput(io, input, prompts = {
262
263
  if (!projectName) {
263
264
  throw new Error(interactive ? "Project creation cancelled." : "Missing required argument: Project name.");
264
265
  }
266
+ await validateProjectName(projectName);
265
267
  const framework = resolveStringFlag(input.flags, "framework") ? normalizeChoice(resolveStringFlag(input.flags, "framework"), SUPPORTED_NEW_FRAMEWORKS, "framework") : interactive ? await prompts.choose("Framework", SUPPORTED_NEW_FRAMEWORKS, "nuxt") : "nuxt";
266
268
  const databaseDriver = resolveStringFlag(input.flags, "database") ? normalizeChoice(resolveStringFlag(input.flags, "database"), SUPPORTED_NEW_DATABASE_DRIVERS, "database driver") : interactive ? await prompts.choose("Database driver", SUPPORTED_NEW_DATABASE_DRIVERS, "sqlite") : "sqlite";
267
269
  const packageManager = resolveStringFlag(input.flags, "package-manager") ? normalizeChoice(resolveStringFlag(input.flags, "package-manager"), SUPPORTED_NEW_PACKAGE_MANAGERS, "package manager") : interactive ? await prompts.choose("Package manager", SUPPORTED_NEW_PACKAGE_MANAGERS, "npm") : "npm";
@@ -7,11 +7,11 @@ import {
7
7
  serializeDatabaseConfig,
8
8
  serializeProjectConfig,
9
9
  writeProjectConfig
10
- } from "./chunk-JVLZ3SOW.mjs";
11
- import "./chunk-R4ZYMEDU.mjs";
10
+ } from "./chunk-4VYR2ARA.mjs";
11
+ import "./chunk-L3YATEQY.mjs";
12
12
  import {
13
13
  readTextFile
14
- } from "./chunk-YACY2572.mjs";
14
+ } from "./chunk-PVVGQSUP.mjs";
15
15
  export {
16
16
  defaultProjectConfig,
17
17
  ensureGeneratedSchemaPlaceholder,
@@ -14,18 +14,17 @@ import {
14
14
  runProjectPrepare,
15
15
  runProjectStartServer,
16
16
  toPosixSlashes
17
- } from "./chunk-KRADH7PK.mjs";
17
+ } from "./chunk-L6FF22IV.mjs";
18
18
  import {
19
19
  hasProjectDependency
20
- } from "./chunk-LHK5YUR4.mjs";
21
- import "./chunk-HX6MOYBO.mjs";
22
- import "./chunk-QSVMXMTQ.mjs";
23
- import "./chunk-OI54DOHK.mjs";
24
- import "./chunk-JVLZ3SOW.mjs";
25
- import "./chunk-R4ZYMEDU.mjs";
26
- import "./chunk-3RFRE7XG.mjs";
27
- import "./chunk-TRYHX5S4.mjs";
28
- import "./chunk-YACY2572.mjs";
20
+ } from "./chunk-CT23GSEC.mjs";
21
+ import "./chunk-FFTJKBQF.mjs";
22
+ import "./chunk-4VYR2ARA.mjs";
23
+ import "./chunk-7KZVFDSI.mjs";
24
+ import "./chunk-L3YATEQY.mjs";
25
+ import "./chunk-3ICVWL2M.mjs";
26
+ import "./chunk-AZ6NVJAP.mjs";
27
+ import "./chunk-PVVGQSUP.mjs";
29
28
  export {
30
29
  collectDirectoryTree,
31
30
  collectDiscoveryWatchRoots,
@@ -4,8 +4,8 @@ import {
4
4
  loadRegisteredModels,
5
5
  loadRegisteredSeeders,
6
6
  prepareProjectDiscovery
7
- } from "./chunk-QSVMXMTQ.mjs";
8
- import "./chunk-R4ZYMEDU.mjs";
7
+ } from "./chunk-7KZVFDSI.mjs";
8
+ import "./chunk-L3YATEQY.mjs";
9
9
  import {
10
10
  collectImportedBindingsBySource,
11
11
  extractListensToItems,
@@ -13,8 +13,8 @@ import {
13
13
  resolveListenerEventNamesFromSource,
14
14
  resolveNamedExport,
15
15
  resolveNamedExportEntry
16
- } from "./chunk-TRYHX5S4.mjs";
17
- import "./chunk-YACY2572.mjs";
16
+ } from "./chunk-AZ6NVJAP.mjs";
17
+ import "./chunk-PVVGQSUP.mjs";
18
18
  export {
19
19
  collectImportedBindingsBySource,
20
20
  discoverAppCommands,
@@ -1,31 +1,29 @@
1
1
  import {
2
2
  resolveStringFlag
3
- } from "./chunk-VRGB6DIS.mjs";
3
+ } from "./chunk-YJWHIQ45.mjs";
4
4
  import {
5
5
  runProjectPrepare
6
- } from "./chunk-TH5YCOZB.mjs";
7
- import "./chunk-LHK5YUR4.mjs";
6
+ } from "./chunk-L6FF22IV.mjs";
7
+ import "./chunk-CT23GSEC.mjs";
8
8
  import {
9
9
  hasRegisteredCreateTableMigration,
10
10
  hasRegisteredMigrationSlug,
11
11
  nextMigrationTemplate
12
- } from "./chunk-OLZEMIDQ.mjs";
12
+ } from "./chunk-2XXJ76YC.mjs";
13
+ import {
14
+ writeLine
15
+ } from "./chunk-Y355VYRN.mjs";
13
16
  import {
14
17
  ensureAbsent,
15
18
  fileExists
16
- } from "./chunk-M3IPUCTM.mjs";
17
- import {
18
- writeLine
19
- } from "./chunk-I7QBCEV7.mjs";
20
- import "./chunk-HX6MOYBO.mjs";
21
- import "./chunk-6BHJLCAO.mjs";
19
+ } from "./chunk-FFTJKBQF.mjs";
22
20
  import {
23
21
  ensureGeneratedSchemaPlaceholder,
24
22
  ensureProjectConfig
25
- } from "./chunk-JVLZ3SOW.mjs";
23
+ } from "./chunk-4VYR2ARA.mjs";
26
24
  import {
27
25
  prepareProjectDiscovery
28
- } from "./chunk-QSVMXMTQ.mjs";
26
+ } from "./chunk-7KZVFDSI.mjs";
29
27
  import {
30
28
  ensureSuffix,
31
29
  loadGeneratedProjectRegistry,
@@ -47,16 +45,16 @@ import {
47
45
  toKebabCase,
48
46
  toPascalCase,
49
47
  toSnakeCase
50
- } from "./chunk-R4ZYMEDU.mjs";
51
- import "./chunk-3RFRE7XG.mjs";
48
+ } from "./chunk-L3YATEQY.mjs";
49
+ import "./chunk-3ICVWL2M.mjs";
52
50
  import {
53
51
  collectFiles
54
- } from "./chunk-TRYHX5S4.mjs";
52
+ } from "./chunk-AZ6NVJAP.mjs";
55
53
  import {
56
54
  makeProjectRelativePath,
57
55
  resolveDefaultArtifactPath,
58
56
  writeTextFile
59
- } from "./chunk-YACY2572.mjs";
57
+ } from "./chunk-PVVGQSUP.mjs";
60
58
 
61
59
  // src/generators.ts
62
60
  import { createHash } from "crypto";
package/dist/index.mjs CHANGED
@@ -15,32 +15,30 @@ import {
15
15
  resolveNewProjectInput,
16
16
  resolveStringFlag,
17
17
  splitCsv
18
- } from "./chunk-VRGB6DIS.mjs";
18
+ } from "./chunk-YJWHIQ45.mjs";
19
19
  import {
20
20
  hasProjectDependency,
21
21
  pinProjectDependencyVersions,
22
22
  removeProjectDependency,
23
23
  upsertProjectDependency
24
- } from "./chunk-LHK5YUR4.mjs";
25
- import {
26
- fileExists
27
- } from "./chunk-M3IPUCTM.mjs";
24
+ } from "./chunk-CT23GSEC.mjs";
28
25
  import {
29
26
  runWithSpinner,
30
- supportsSpinner,
31
27
  writeLine
32
- } from "./chunk-I7QBCEV7.mjs";
33
- import "./chunk-HX6MOYBO.mjs";
34
- import "./chunk-6BHJLCAO.mjs";
35
- import "./chunk-JVLZ3SOW.mjs";
36
- import "./chunk-QSVMXMTQ.mjs";
37
- import "./chunk-R4ZYMEDU.mjs";
38
- import "./chunk-3RFRE7XG.mjs";
39
- import "./chunk-TRYHX5S4.mjs";
28
+ } from "./chunk-Y355VYRN.mjs";
29
+ import {
30
+ ensureEmptyDirectory,
31
+ fileExists
32
+ } from "./chunk-FFTJKBQF.mjs";
33
+ import "./chunk-4VYR2ARA.mjs";
34
+ import "./chunk-7KZVFDSI.mjs";
35
+ import "./chunk-L3YATEQY.mjs";
36
+ import "./chunk-3ICVWL2M.mjs";
37
+ import "./chunk-AZ6NVJAP.mjs";
40
38
  import {
41
39
  APP_CONFIG_FILE_NAMES,
42
40
  SUPPORTED_AUTH_SOCIAL_PROVIDERS
43
- } from "./chunk-YACY2572.mjs";
41
+ } from "./chunk-PVVGQSUP.mjs";
44
42
 
45
43
  // src/types.ts
46
44
  function defineCommand(command) {
@@ -137,31 +135,31 @@ var projectRuntimeModulePromise;
137
135
  var projectScaffoldModulePromise;
138
136
  var agentSkillsModulePromise;
139
137
  function loadRuntimeModule() {
140
- runtimeModulePromise ??= import("./runtime-4TJYZLQV.mjs");
138
+ runtimeModulePromise ??= import("./runtime-FVRB4O2M.mjs");
141
139
  return runtimeModulePromise;
142
140
  }
143
141
  function loadSecurityModule() {
144
- securityModulePromise ??= import("./security-KYTLP4DF.mjs");
142
+ securityModulePromise ??= import("./security-X4274RHX.mjs");
145
143
  return securityModulePromise;
146
144
  }
147
145
  function loadProjectConfigModule() {
148
- projectConfigModulePromise ??= import("./config-BZHQK532.mjs");
146
+ projectConfigModulePromise ??= import("./config-XVPV6DJW.mjs");
149
147
  return projectConfigModulePromise;
150
148
  }
151
149
  function loadProjectDiscoveryModule() {
152
- projectDiscoveryModulePromise ??= import("./discovery-HNH3BLDL.mjs");
150
+ projectDiscoveryModulePromise ??= import("./discovery-TMPUQQHI.mjs");
153
151
  return projectDiscoveryModulePromise;
154
152
  }
155
153
  function loadProjectPluginsModule() {
156
- projectPluginsModulePromise ??= import("./plugins-ZGLB6JO6.mjs");
154
+ projectPluginsModulePromise ??= import("./plugins-USHY6SPF.mjs");
157
155
  return projectPluginsModulePromise;
158
156
  }
159
157
  function loadProjectRuntimeModule() {
160
- projectRuntimeModulePromise ??= import("./runtime-VR5BDPYQ.mjs");
158
+ projectRuntimeModulePromise ??= import("./runtime-P5R7H3B4.mjs");
161
159
  return projectRuntimeModulePromise;
162
160
  }
163
161
  function loadProjectScaffoldModule() {
164
- projectScaffoldModulePromise ??= import("./scaffold-ASEX5LEX.mjs");
162
+ projectScaffoldModulePromise ??= import("./scaffold-F3AZDNPG.mjs");
165
163
  return projectScaffoldModulePromise;
166
164
  }
167
165
  function loadAgentSkillsModule() {
@@ -169,7 +167,7 @@ function loadAgentSkillsModule() {
169
167
  return agentSkillsModulePromise;
170
168
  }
171
169
  async function resolveRuntimeExecutor(runtimeExecutor) {
172
- runtimeModulePromise ??= import("./runtime-4TJYZLQV.mjs");
170
+ runtimeModulePromise ??= import("./runtime-FVRB4O2M.mjs");
173
171
  return runtimeExecutor ?? (await runtimeModulePromise).withRuntimeEnvironment;
174
172
  }
175
173
  async function resolveExecutor(executors, loader, key) {
@@ -177,17 +175,17 @@ async function resolveExecutor(executors, loader, key) {
177
175
  return existing ? existing : await loader();
178
176
  }
179
177
  async function resolveProjectExecutor(executors, key) {
180
- devModulePromise ??= import("./dev-GQT37XJU.mjs");
178
+ devModulePromise ??= import("./dev-NTQTEY5B.mjs");
181
179
  return resolveExecutor(executors, async () => (await devModulePromise)[key], key);
182
180
  }
183
181
  async function resolveQueueExecutor(executors, key) {
184
182
  return resolveExecutor(executors, async () => {
185
183
  if (key === "runQueueFailedTableCommand" || key === "runQueueTableCommand") {
186
- queueMigrationsModulePromise ??= import("./queue-migrations-U477YSFD.mjs");
184
+ queueMigrationsModulePromise ??= import("./queue-migrations-6YUUOKMH.mjs");
187
185
  const migrations = await queueMigrationsModulePromise;
188
186
  return key === "runQueueFailedTableCommand" ? migrations.runQueueFailedTableCommand : migrations.runQueueTableCommand;
189
187
  }
190
- queueModulePromise ??= import("./queue-BEZDCZCY.mjs");
188
+ queueModulePromise ??= import("./queue-6U7JU4T6.mjs");
191
189
  const queue = await queueModulePromise;
192
190
  const resolved = {
193
191
  runQueueFailedCommand: queue.runQueueFailedCommand,
@@ -205,10 +203,10 @@ async function resolveQueueExecutor(executors, key) {
205
203
  async function resolveCacheExecutor(executors, key) {
206
204
  return resolveExecutor(executors, async () => {
207
205
  if (key === "runCacheTableCommand") {
208
- cacheMigrationsModulePromise ??= import("./cache-migrations-PD2T5AV4.mjs");
206
+ cacheMigrationsModulePromise ??= import("./cache-migrations-J34RE4WH.mjs");
209
207
  return (await cacheMigrationsModulePromise).runCacheTableCommand;
210
208
  }
211
- cacheModulePromise ??= import("./cache-DUVBBOZU.mjs");
209
+ cacheModulePromise ??= import("./cache-KR4ACOYD.mjs");
212
210
  const cache = await cacheModulePromise;
213
211
  const resolved = {
214
212
  runCacheClearCommand: cache.runCacheClearCommand,
@@ -218,15 +216,15 @@ async function resolveCacheExecutor(executors, key) {
218
216
  }, key);
219
217
  }
220
218
  async function resolveMediaExecutor(executors, key) {
221
- mediaMigrationsModulePromise ??= import("./media-migrations-EG34NYAG.mjs");
219
+ mediaMigrationsModulePromise ??= import("./media-migrations-UJ6BMUSZ.mjs");
222
220
  return resolveExecutor(executors, async () => (await mediaMigrationsModulePromise)[key], key);
223
221
  }
224
222
  async function resolveBroadcastExecutor(executors, key) {
225
- broadcastModulePromise ??= import("./broadcast-5VZM5SGQ.mjs");
223
+ broadcastModulePromise ??= import("./broadcast-PJLFVZH4.mjs");
226
224
  return resolveExecutor(executors, async () => (await broadcastModulePromise)[key], key);
227
225
  }
228
226
  async function resolveGeneratorCommand(key) {
229
- generatorsModulePromise ??= import("./generators-3FVW4AEJ.mjs");
227
+ generatorsModulePromise ??= import("./generators-3FDCCJDC.mjs");
230
228
  return (await generatorsModulePromise)[key];
231
229
  }
232
230
 
@@ -461,7 +459,12 @@ function createInternalCommands(context, runtimeExecutor, queueExecutors = {}, p
461
459
  usage: "holo new <name> [--framework <nuxt|next|sveltekit>] [--database <sqlite|mysql|postgres>] [--package-manager <bun|npm|pnpm|yarn>] [--package <storage|events|queue|validation|forms|auth|authorization|notifications|mail|broadcast|realtime|security|cache>] [--storage-default-disk <local|public>]",
462
460
  source: "internal",
463
461
  async prepare(input) {
464
- const resolved = await resolveNewProjectInput(context, input);
462
+ const resolved = await resolveNewProjectInput(
463
+ context,
464
+ input,
465
+ void 0,
466
+ (projectName) => ensureEmptyDirectory(resolve2(context.cwd, projectName), projectName)
467
+ );
465
468
  return {
466
469
  args: [resolved.projectName],
467
470
  flags: {
@@ -500,11 +503,11 @@ function createInternalCommands(context, runtimeExecutor, queueExecutors = {}, p
500
503
  writeLine(context.stdout, `Created Holo project: ${targetDir}`);
501
504
  await runWithSpinner(
502
505
  context,
503
- "Installing dependencies...",
506
+ `Installing dependencies with ${packageManager}...`,
504
507
  () => runProjectDependencyInstallForProject(context, projectExecutors, targetDir, {
505
- writeStatus: !supportsSpinner(context)
508
+ writeStatus: false
506
509
  }),
507
- "Dependencies installed."
510
+ `Dependencies installed with ${packageManager}.`
508
511
  );
509
512
  writeLine(context.stdout);
510
513
  writeLine(context.stdout, "Next steps");
@@ -2,29 +2,27 @@ import {
2
2
  hasRegisteredCreateTableMigration,
3
3
  hasRegisteredMigrationSlug,
4
4
  nextMigrationTemplate
5
- } from "./chunk-OLZEMIDQ.mjs";
6
- import "./chunk-M3IPUCTM.mjs";
5
+ } from "./chunk-2XXJ76YC.mjs";
7
6
  import {
8
7
  writeLine
9
- } from "./chunk-I7QBCEV7.mjs";
10
- import "./chunk-HX6MOYBO.mjs";
11
- import "./chunk-6BHJLCAO.mjs";
8
+ } from "./chunk-Y355VYRN.mjs";
9
+ import "./chunk-FFTJKBQF.mjs";
12
10
  import {
13
11
  ensureProjectConfig
14
- } from "./chunk-JVLZ3SOW.mjs";
12
+ } from "./chunk-4VYR2ARA.mjs";
15
13
  import {
16
14
  prepareProjectDiscovery
17
- } from "./chunk-QSVMXMTQ.mjs";
15
+ } from "./chunk-7KZVFDSI.mjs";
18
16
  import {
19
17
  loadGeneratedProjectRegistry
20
- } from "./chunk-R4ZYMEDU.mjs";
21
- import "./chunk-3RFRE7XG.mjs";
22
- import "./chunk-TRYHX5S4.mjs";
18
+ } from "./chunk-L3YATEQY.mjs";
19
+ import "./chunk-3ICVWL2M.mjs";
20
+ import "./chunk-AZ6NVJAP.mjs";
23
21
  import {
24
22
  makeProjectRelativePath,
25
23
  resolveDefaultArtifactPath,
26
24
  writeTextFile
27
- } from "./chunk-YACY2572.mjs";
25
+ } from "./chunk-PVVGQSUP.mjs";
28
26
 
29
27
  // src/media-migrations.ts
30
28
  import { readdir } from "fs/promises";
@@ -95,7 +93,7 @@ async function createMediaTableMigration(projectRoot, options = {}) {
95
93
  }
96
94
  async function runMediaTableCommand(io, projectRoot) {
97
95
  const migrationFilePath = await createMediaTableMigration(projectRoot);
98
- const { runProjectPrepare } = await import("./dev-GQT37XJU.mjs");
96
+ const { runProjectPrepare } = await import("./dev-NTQTEY5B.mjs");
99
97
  await runProjectPrepare(projectRoot);
100
98
  writeLine(io.stdout, `Created migration: ${makeProjectRelativePath(projectRoot, migrationFilePath)}`);
101
99
  }
@@ -8,9 +8,9 @@ import {
8
8
  readProjectPluginNames,
9
9
  resolveProjectPlugins,
10
10
  writeProjectPluginNames
11
- } from "./chunk-3RFRE7XG.mjs";
12
- import "./chunk-TRYHX5S4.mjs";
13
- import "./chunk-YACY2572.mjs";
11
+ } from "./chunk-3ICVWL2M.mjs";
12
+ import "./chunk-AZ6NVJAP.mjs";
13
+ import "./chunk-PVVGQSUP.mjs";
14
14
  export {
15
15
  activateProjectPlugin,
16
16
  deactivateProjectPlugin,
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  initializeProjectRuntime
3
- } from "./chunk-EQUFFLRG.mjs";
3
+ } from "./chunk-I3RRWDLV.mjs";
4
4
  import {
5
5
  loadProjectDatabaseDrivers
6
6
  } from "./chunk-XBOVM6LO.mjs";
@@ -10,31 +10,29 @@ import {
10
10
  normalizeWatchedFilePath,
11
11
  runProjectPrepare,
12
12
  toPosixSlashes
13
- } from "./chunk-TH5YCOZB.mjs";
14
- import "./chunk-LHK5YUR4.mjs";
15
- import "./chunk-M3IPUCTM.mjs";
13
+ } from "./chunk-L6FF22IV.mjs";
14
+ import "./chunk-CT23GSEC.mjs";
16
15
  import {
17
16
  writeLine
18
- } from "./chunk-I7QBCEV7.mjs";
19
- import "./chunk-HX6MOYBO.mjs";
20
- import "./chunk-6BHJLCAO.mjs";
17
+ } from "./chunk-Y355VYRN.mjs";
18
+ import "./chunk-FFTJKBQF.mjs";
21
19
  import {
22
20
  ensureProjectConfig,
23
21
  loadProjectConfig
24
- } from "./chunk-JVLZ3SOW.mjs";
22
+ } from "./chunk-4VYR2ARA.mjs";
25
23
  import {
26
24
  prepareProjectDiscovery
27
- } from "./chunk-QSVMXMTQ.mjs";
25
+ } from "./chunk-7KZVFDSI.mjs";
28
26
  import {
29
27
  loadGeneratedProjectRegistry
30
- } from "./chunk-R4ZYMEDU.mjs";
31
- import "./chunk-3RFRE7XG.mjs";
32
- import "./chunk-TRYHX5S4.mjs";
28
+ } from "./chunk-L3YATEQY.mjs";
29
+ import "./chunk-3ICVWL2M.mjs";
30
+ import "./chunk-AZ6NVJAP.mjs";
33
31
  import {
34
32
  HOLO_RUNTIME_ROOT,
35
33
  bundleProjectModule,
36
34
  resolveProjectPackageImportSpecifier
37
- } from "./chunk-YACY2572.mjs";
35
+ } from "./chunk-PVVGQSUP.mjs";
38
36
 
39
37
  // src/queue.ts
40
38
  import { spawn } from "child_process";
@@ -3,38 +3,36 @@ import {
3
3
  } from "./chunk-XBOVM6LO.mjs";
4
4
  import {
5
5
  initializeProjectRuntime
6
- } from "./chunk-LALDNNPH.mjs";
6
+ } from "./chunk-I3RRWDLV.mjs";
7
7
  import {
8
8
  isIgnorableWatchError,
9
9
  isRecursiveWatchUnsupported,
10
10
  normalizeWatchedFilePath,
11
11
  runProjectPrepare,
12
12
  toPosixSlashes
13
- } from "./chunk-KRADH7PK.mjs";
14
- import "./chunk-LHK5YUR4.mjs";
15
- import "./chunk-M3IPUCTM.mjs";
13
+ } from "./chunk-L6FF22IV.mjs";
14
+ import "./chunk-CT23GSEC.mjs";
16
15
  import {
17
16
  writeLine
18
- } from "./chunk-I7QBCEV7.mjs";
19
- import "./chunk-HX6MOYBO.mjs";
20
- import {
21
- prepareProjectDiscovery
22
- } from "./chunk-QSVMXMTQ.mjs";
23
- import "./chunk-OI54DOHK.mjs";
17
+ } from "./chunk-Y355VYRN.mjs";
18
+ import "./chunk-FFTJKBQF.mjs";
24
19
  import {
25
20
  ensureProjectConfig,
26
21
  loadProjectConfig
27
- } from "./chunk-JVLZ3SOW.mjs";
22
+ } from "./chunk-4VYR2ARA.mjs";
23
+ import {
24
+ prepareProjectDiscovery
25
+ } from "./chunk-7KZVFDSI.mjs";
28
26
  import {
29
27
  loadGeneratedProjectRegistry
30
- } from "./chunk-R4ZYMEDU.mjs";
31
- import "./chunk-3RFRE7XG.mjs";
32
- import "./chunk-TRYHX5S4.mjs";
28
+ } from "./chunk-L3YATEQY.mjs";
29
+ import "./chunk-3ICVWL2M.mjs";
30
+ import "./chunk-AZ6NVJAP.mjs";
33
31
  import {
34
32
  HOLO_RUNTIME_ROOT,
35
33
  bundleProjectModule,
36
34
  resolveProjectPackageImportSpecifier
37
- } from "./chunk-YACY2572.mjs";
35
+ } from "./chunk-PVVGQSUP.mjs";
38
36
 
39
37
  // src/queue.ts
40
38
  import { spawn } from "child_process";