flingit 0.0.8 → 0.0.10

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 (161) hide show
  1. package/dist/cli/commands/admin.d.ts.map +1 -1
  2. package/dist/cli/commands/admin.js +29 -16
  3. package/dist/cli/commands/admin.js.map +1 -1
  4. package/dist/cli/commands/cron.d.ts.map +1 -1
  5. package/dist/cli/commands/cron.js +7 -3
  6. package/dist/cli/commands/cron.js.map +1 -1
  7. package/dist/cli/commands/db.d.ts.map +1 -1
  8. package/dist/cli/commands/db.js +5 -2
  9. package/dist/cli/commands/db.js.map +1 -1
  10. package/dist/cli/commands/feedback.d.ts.map +1 -1
  11. package/dist/cli/commands/feedback.js +6 -1
  12. package/dist/cli/commands/feedback.js.map +1 -1
  13. package/dist/cli/commands/init.d.ts.map +1 -1
  14. package/dist/cli/commands/init.js +5 -20
  15. package/dist/cli/commands/init.js.map +1 -1
  16. package/dist/cli/commands/launch.d.ts.map +1 -1
  17. package/dist/cli/commands/launch.js +13 -61
  18. package/dist/cli/commands/launch.js.map +1 -1
  19. package/dist/cli/commands/login.d.ts.map +1 -1
  20. package/dist/cli/commands/login.js +7 -2
  21. package/dist/cli/commands/login.js.map +1 -1
  22. package/dist/cli/commands/logs.d.ts.map +1 -1
  23. package/dist/cli/commands/logs.js +3 -1
  24. package/dist/cli/commands/logs.js.map +1 -1
  25. package/dist/cli/commands/onboard.d.ts.map +1 -1
  26. package/dist/cli/commands/onboard.js +5 -3
  27. package/dist/cli/commands/onboard.js.map +1 -1
  28. package/dist/cli/commands/plugin.d.ts +8 -0
  29. package/dist/cli/commands/plugin.d.ts.map +1 -0
  30. package/dist/cli/commands/plugin.js +407 -0
  31. package/dist/cli/commands/plugin.js.map +1 -0
  32. package/dist/cli/commands/project.d.ts.map +1 -1
  33. package/dist/cli/commands/project.js +3 -1
  34. package/dist/cli/commands/project.js.map +1 -1
  35. package/dist/cli/commands/push.d.ts.map +1 -1
  36. package/dist/cli/commands/push.js +88 -11
  37. package/dist/cli/commands/push.js.map +1 -1
  38. package/dist/cli/commands/register.d.ts +25 -0
  39. package/dist/cli/commands/register.d.ts.map +1 -1
  40. package/dist/cli/commands/register.js +30 -13
  41. package/dist/cli/commands/register.js.map +1 -1
  42. package/dist/cli/commands/secret.d.ts +4 -0
  43. package/dist/cli/commands/secret.d.ts.map +1 -1
  44. package/dist/cli/commands/secret.js +11 -22
  45. package/dist/cli/commands/secret.js.map +1 -1
  46. package/dist/cli/commands/storage.d.ts +10 -0
  47. package/dist/cli/commands/storage.d.ts.map +1 -0
  48. package/dist/cli/commands/storage.js +459 -0
  49. package/dist/cli/commands/storage.js.map +1 -0
  50. package/dist/cli/commands/tun.d.ts.map +1 -1
  51. package/dist/cli/commands/tun.js +3 -2
  52. package/dist/cli/commands/tun.js.map +1 -1
  53. package/dist/cli/deploy/bundler.d.ts +15 -0
  54. package/dist/cli/deploy/bundler.d.ts.map +1 -1
  55. package/dist/cli/deploy/bundler.js +86 -2
  56. package/dist/cli/deploy/bundler.js.map +1 -1
  57. package/dist/cli/index.d.ts +0 -7
  58. package/dist/cli/index.d.ts.map +1 -1
  59. package/dist/cli/index.js +24 -0
  60. package/dist/cli/index.js.map +1 -1
  61. package/dist/cli/utils/claude-code.d.ts +19 -0
  62. package/dist/cli/utils/claude-code.d.ts.map +1 -0
  63. package/dist/cli/utils/claude-code.js +43 -0
  64. package/dist/cli/utils/claude-code.js.map +1 -0
  65. package/dist/cli/utils/config.d.ts +12 -0
  66. package/dist/cli/utils/config.d.ts.map +1 -1
  67. package/dist/cli/utils/config.js +23 -3
  68. package/dist/cli/utils/config.js.map +1 -1
  69. package/dist/cli/utils/environment.d.ts +12 -0
  70. package/dist/cli/utils/environment.d.ts.map +1 -1
  71. package/dist/cli/utils/environment.js +40 -6
  72. package/dist/cli/utils/environment.js.map +1 -1
  73. package/dist/cli/utils/launch-io-impl.d.ts +13 -0
  74. package/dist/cli/utils/launch-io-impl.d.ts.map +1 -0
  75. package/dist/cli/utils/launch-io-impl.js +51 -0
  76. package/dist/cli/utils/launch-io-impl.js.map +1 -0
  77. package/dist/cli/utils/launch-io.d.ts +42 -0
  78. package/dist/cli/utils/launch-io.d.ts.map +1 -0
  79. package/dist/cli/utils/launch-io.js +8 -0
  80. package/dist/cli/utils/launch-io.js.map +1 -0
  81. package/dist/cli/utils/node-version.d.ts +28 -0
  82. package/dist/cli/utils/node-version.d.ts.map +1 -0
  83. package/dist/cli/utils/node-version.js +54 -0
  84. package/dist/cli/utils/node-version.js.map +1 -0
  85. package/dist/cli/utils/project-name.d.ts +17 -0
  86. package/dist/cli/utils/project-name.d.ts.map +1 -0
  87. package/dist/cli/utils/project-name.js +33 -0
  88. package/dist/cli/utils/project-name.js.map +1 -0
  89. package/dist/cli/utils/prompt-new-project.d.ts +12 -0
  90. package/dist/cli/utils/prompt-new-project.d.ts.map +1 -0
  91. package/dist/cli/utils/prompt-new-project.js +66 -0
  92. package/dist/cli/utils/prompt-new-project.js.map +1 -0
  93. package/dist/client/assets/index-BqVrS7t9.js +40 -0
  94. package/dist/client/assets/index-DSLUsCtO.css +1 -0
  95. package/dist/client/index.html +14 -0
  96. package/dist/client/vite.svg +1 -0
  97. package/dist/index.d.ts +3 -1
  98. package/dist/index.d.ts.map +1 -1
  99. package/dist/index.js +2 -1
  100. package/dist/index.js.map +1 -1
  101. package/dist/runtime/db.d.ts +5 -0
  102. package/dist/runtime/db.d.ts.map +1 -1
  103. package/dist/runtime/db.js +6 -1
  104. package/dist/runtime/db.js.map +1 -1
  105. package/dist/runtime/discord.d.ts +171 -0
  106. package/dist/runtime/discord.d.ts.map +1 -0
  107. package/dist/runtime/discord.js +192 -0
  108. package/dist/runtime/discord.js.map +1 -0
  109. package/dist/runtime/secrets.d.ts +22 -0
  110. package/dist/runtime/secrets.d.ts.map +1 -1
  111. package/dist/runtime/secrets.js +58 -18
  112. package/dist/runtime/secrets.js.map +1 -1
  113. package/dist/runtime/storage.d.ts +29 -0
  114. package/dist/runtime/storage.d.ts.map +1 -0
  115. package/dist/runtime/storage.js +456 -0
  116. package/dist/runtime/storage.js.map +1 -0
  117. package/dist/shared/constants.d.ts +12 -0
  118. package/dist/shared/constants.d.ts.map +1 -0
  119. package/dist/shared/constants.js +12 -0
  120. package/dist/shared/constants.js.map +1 -0
  121. package/dist/shared/discord-types.d.ts +130 -0
  122. package/dist/shared/discord-types.d.ts.map +1 -0
  123. package/dist/shared/discord-types.js +8 -0
  124. package/dist/shared/discord-types.js.map +1 -0
  125. package/dist/shared/random-code.d.ts +6 -0
  126. package/dist/shared/random-code.d.ts.map +1 -0
  127. package/dist/shared/random-code.js +23 -0
  128. package/dist/shared/random-code.js.map +1 -0
  129. package/dist/types/storage.d.ts +154 -0
  130. package/dist/types/storage.d.ts.map +1 -0
  131. package/dist/types/storage.js +8 -0
  132. package/dist/types/storage.js.map +1 -0
  133. package/dist/worker-runtime/discord.d.ts +61 -0
  134. package/dist/worker-runtime/discord.d.ts.map +1 -0
  135. package/dist/worker-runtime/discord.js +181 -0
  136. package/dist/worker-runtime/discord.js.map +1 -0
  137. package/dist/worker-runtime/index.d.ts +21 -1
  138. package/dist/worker-runtime/index.d.ts.map +1 -1
  139. package/dist/worker-runtime/index.js +102 -0
  140. package/dist/worker-runtime/index.js.map +1 -1
  141. package/package.json +9 -2
  142. package/templates/default/CLAUDE.md +89 -4
  143. package/templates/default/skills/discord/SKILL.md +328 -0
  144. package/templates/default/skills/fling/API.md +208 -0
  145. package/templates/default/skills/fling/SKILL.md +51 -8
  146. package/dist/cli/deploy/worker-entry.d.ts +0 -14
  147. package/dist/cli/deploy/worker-entry.d.ts.map +0 -1
  148. package/dist/cli/deploy/worker-entry.js +0 -60
  149. package/dist/cli/deploy/worker-entry.js.map +0 -1
  150. package/dist/cli/deploy/wrangler-config.d.ts +0 -20
  151. package/dist/cli/deploy/wrangler-config.d.ts.map +0 -1
  152. package/dist/cli/deploy/wrangler-config.js +0 -54
  153. package/dist/cli/deploy/wrangler-config.js.map +0 -1
  154. package/dist/cli/loaders/register-wasm.d.ts +0 -12
  155. package/dist/cli/loaders/register-wasm.d.ts.map +0 -1
  156. package/dist/cli/loaders/register-wasm.js +0 -19
  157. package/dist/cli/loaders/register-wasm.js.map +0 -1
  158. package/dist/cli/loaders/wasm-hooks.d.ts +0 -61
  159. package/dist/cli/loaders/wasm-hooks.d.ts.map +0 -1
  160. package/dist/cli/loaders/wasm-hooks.js +0 -63
  161. package/dist/cli/loaders/wasm-hooks.js.map +0 -1
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Node.js version check utilities.
3
+ */
4
+ export declare const MIN_NODE_VERSION = 22;
5
+ /**
6
+ * Parse the major version from a Node.js version string.
7
+ * @param version - Version string like "v20.10.0" or "22.0.0"
8
+ * @returns The major version number
9
+ */
10
+ export declare function parseMajorVersion(version: string): number;
11
+ /**
12
+ * Check if the current Node.js version meets the minimum requirement.
13
+ * @param version - Version string to check (defaults to process.version)
14
+ * @returns true if version is sufficient, false otherwise
15
+ */
16
+ export declare function isNodeVersionSupported(version?: string): boolean;
17
+ /**
18
+ * Get the error message for unsupported Node versions.
19
+ * @param version - Current Node.js version string
20
+ * @returns Error message with upgrade instructions
21
+ */
22
+ export declare function getNodeVersionError(version: string): string;
23
+ /**
24
+ * Check Node.js version and exit with error if unsupported.
25
+ * This is called at CLI entry points.
26
+ */
27
+ export declare function checkNodeVersion(): void;
28
+ //# sourceMappingURL=node-version.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node-version.d.ts","sourceRoot":"","sources":["../../../src/cli/utils/node-version.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,eAAO,MAAM,gBAAgB,KAAK,CAAC;AAEnC;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAKzD;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,GAAE,MAAwB,GAAG,OAAO,CAGjF;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAa3D;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,IAAI,IAAI,CAKvC"}
@@ -0,0 +1,54 @@
1
+ /**
2
+ * Node.js version check utilities.
3
+ */
4
+ export const MIN_NODE_VERSION = 22;
5
+ /**
6
+ * Parse the major version from a Node.js version string.
7
+ * @param version - Version string like "v20.10.0" or "22.0.0"
8
+ * @returns The major version number
9
+ */
10
+ export function parseMajorVersion(version) {
11
+ // Remove leading 'v' if present
12
+ const cleaned = version.startsWith("v") ? version.slice(1) : version;
13
+ const major = cleaned.split(".")[0] ?? "0";
14
+ return parseInt(major, 10);
15
+ }
16
+ /**
17
+ * Check if the current Node.js version meets the minimum requirement.
18
+ * @param version - Version string to check (defaults to process.version)
19
+ * @returns true if version is sufficient, false otherwise
20
+ */
21
+ export function isNodeVersionSupported(version = process.version) {
22
+ const major = parseMajorVersion(version);
23
+ return major >= MIN_NODE_VERSION;
24
+ }
25
+ /**
26
+ * Get the error message for unsupported Node versions.
27
+ * @param version - Current Node.js version string
28
+ * @returns Error message with upgrade instructions
29
+ */
30
+ export function getNodeVersionError(version) {
31
+ return `Error: Fling requires Node.js ${MIN_NODE_VERSION} or later.
32
+
33
+ You are running Node.js ${version}
34
+
35
+ To upgrade, we recommend using nvm (Node Version Manager):
36
+ https://github.com/nvm-sh/nvm
37
+
38
+ After installing nvm:
39
+ nvm install ${MIN_NODE_VERSION}
40
+ nvm use ${MIN_NODE_VERSION}
41
+
42
+ Then try again.`;
43
+ }
44
+ /**
45
+ * Check Node.js version and exit with error if unsupported.
46
+ * This is called at CLI entry points.
47
+ */
48
+ export function checkNodeVersion() {
49
+ if (!isNodeVersionSupported()) {
50
+ console.error(getNodeVersionError(process.version));
51
+ process.exit(1);
52
+ }
53
+ }
54
+ //# sourceMappingURL=node-version.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node-version.js","sourceRoot":"","sources":["../../../src/cli/utils/node-version.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,CAAC,MAAM,gBAAgB,GAAG,EAAE,CAAC;AAEnC;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAAC,OAAe;IAC/C,gCAAgC;IAChC,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;IACrE,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC;IAC3C,OAAO,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;AAC7B,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CAAC,UAAkB,OAAO,CAAC,OAAO;IACtE,MAAM,KAAK,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;IACzC,OAAO,KAAK,IAAI,gBAAgB,CAAC;AACnC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAAC,OAAe;IACjD,OAAO,iCAAiC,gBAAgB;;0BAEhC,OAAO;;;;;;gBAMjB,gBAAgB;YACpB,gBAAgB;;gBAEZ,CAAC;AACjB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gBAAgB;IAC9B,IAAI,CAAC,sBAAsB,EAAE,EAAE,CAAC;QAC9B,OAAO,CAAC,KAAK,CAAC,mBAAmB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;QACpD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Project name utilities.
3
+ *
4
+ * Reads the project name from package.json, with backwards compatibility
5
+ * for projects that don't have a projectName set.
6
+ */
7
+ import { DEFAULT_PROJECT_NAME } from "../../shared/constants.js";
8
+ export { DEFAULT_PROJECT_NAME };
9
+ /**
10
+ * Read the project name from package.json's fling.projectName field.
11
+ * Returns DEFAULT_PROJECT_NAME if the field is not present (backwards compatibility).
12
+ *
13
+ * @param projectDir - The project directory (defaults to current working directory)
14
+ * @returns The project name, or DEFAULT_PROJECT_NAME if not set
15
+ */
16
+ export declare function getProjectName(projectDir?: string): string;
17
+ //# sourceMappingURL=project-name.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-name.d.ts","sourceRoot":"","sources":["../../../src/cli/utils/project-name.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAGjE,OAAO,EAAE,oBAAoB,EAAE,CAAC;AAQhC;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,UAAU,GAAE,MAAsB,GAAG,MAAM,CAczE"}
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Project name utilities.
3
+ *
4
+ * Reads the project name from package.json, with backwards compatibility
5
+ * for projects that don't have a projectName set.
6
+ */
7
+ import { existsSync, readFileSync } from "node:fs";
8
+ import { join } from "node:path";
9
+ import { DEFAULT_PROJECT_NAME } from "../../shared/constants.js";
10
+ // Re-export for consumers
11
+ export { DEFAULT_PROJECT_NAME };
12
+ /**
13
+ * Read the project name from package.json's fling.projectName field.
14
+ * Returns DEFAULT_PROJECT_NAME if the field is not present (backwards compatibility).
15
+ *
16
+ * @param projectDir - The project directory (defaults to current working directory)
17
+ * @returns The project name, or DEFAULT_PROJECT_NAME if not set
18
+ */
19
+ export function getProjectName(projectDir = process.cwd()) {
20
+ const packageJsonPath = join(projectDir, "package.json");
21
+ if (!existsSync(packageJsonPath)) {
22
+ return DEFAULT_PROJECT_NAME;
23
+ }
24
+ try {
25
+ const content = readFileSync(packageJsonPath, "utf-8");
26
+ const pkg = JSON.parse(content);
27
+ return pkg.fling?.projectName ?? DEFAULT_PROJECT_NAME;
28
+ }
29
+ catch {
30
+ return DEFAULT_PROJECT_NAME;
31
+ }
32
+ }
33
+ //# sourceMappingURL=project-name.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-name.js","sourceRoot":"","sources":["../../../src/cli/utils/project-name.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEjE,0BAA0B;AAC1B,OAAO,EAAE,oBAAoB,EAAE,CAAC;AAQhC;;;;;;GAMG;AACH,MAAM,UAAU,cAAc,CAAC,aAAqB,OAAO,CAAC,GAAG,EAAE;IAC/D,MAAM,eAAe,GAAG,IAAI,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;IAEzD,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;QACjC,OAAO,oBAAoB,CAAC;IAC9B,CAAC;IAED,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QACvD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAgB,CAAC;QAC/C,OAAO,GAAG,CAAC,KAAK,EAAE,WAAW,IAAI,oBAAoB,CAAC;IACxD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,oBAAoB,CAAC;IAC9B,CAAC;AACH,CAAC"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Prompt the user to select where to create or open a Fling project.
3
+ */
4
+ import type { LaunchIO, PromptNewProjectResult } from "./launch-io.js";
5
+ /**
6
+ * Prompt the user to create a new project or open an existing one.
7
+ *
8
+ * @param io - The launch I/O context
9
+ * @returns The chosen directory path, or null if cancelled
10
+ */
11
+ export declare function promptNewProject(io: LaunchIO): Promise<PromptNewProjectResult>;
12
+ //# sourceMappingURL=prompt-new-project.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompt-new-project.d.ts","sourceRoot":"","sources":["../../../src/cli/utils/prompt-new-project.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,QAAQ,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAEvE;;;;;GAKG;AACH,wBAAsB,gBAAgB,CACpC,EAAE,EAAE,QAAQ,GACX,OAAO,CAAC,sBAAsB,CAAC,CAiEjC"}
@@ -0,0 +1,66 @@
1
+ /**
2
+ * Prompt the user to select where to create or open a Fling project.
3
+ */
4
+ import { join, resolve } from "node:path";
5
+ /**
6
+ * Prompt the user to create a new project or open an existing one.
7
+ *
8
+ * @param io - The launch I/O context
9
+ * @returns The chosen directory path, or null if cancelled
10
+ */
11
+ export async function promptNewProject(io) {
12
+ const { user, file, paths } = io;
13
+ const { flingHome, cwd, homedir } = paths;
14
+ const options = [];
15
+ // Check ~/fling status
16
+ const flingHomeExists = file.exists(flingHome);
17
+ const flingHomeIsProject = flingHomeExists && file.isProjectRoot(flingHome);
18
+ if (flingHomeIsProject) {
19
+ // ~/fling exists and is a Fling project - offer to open it
20
+ options.push({
21
+ value: "open-existing",
22
+ label: "Open ~/fling (existing project)",
23
+ });
24
+ }
25
+ else if (!flingHomeExists) {
26
+ // ~/fling doesn't exist - offer to create it there
27
+ options.push({ value: flingHome, label: "Start in ~/fling" });
28
+ }
29
+ // If ~/fling exists but is NOT a project, don't show either option
30
+ // Suggest current directory only if it's empty (and not ~/fling)
31
+ if (cwd !== flingHome && file.isDirEmpty(cwd)) {
32
+ options.push({
33
+ value: cwd,
34
+ label: `Start in current directory (${cwd})`,
35
+ });
36
+ }
37
+ options.push({ value: "enter-path", label: "Enter a path" });
38
+ options.push({ value: "cancel", label: "Cancel" });
39
+ const choice = await user.select({
40
+ message: "Where would you like to create a new Fling project?",
41
+ options,
42
+ });
43
+ if (user.isCancel(choice) || choice === "cancel") {
44
+ return null;
45
+ }
46
+ if (choice === "open-existing") {
47
+ // User wants to open the existing project at ~/fling
48
+ return flingHome;
49
+ }
50
+ if (choice === "enter-path") {
51
+ const entered = await user.text({
52
+ message: "Enter the path for your new project:",
53
+ placeholder: "~/my-project",
54
+ });
55
+ if (user.isCancel(entered) || !entered) {
56
+ return null;
57
+ }
58
+ // Expand ~ to home directory
59
+ const expanded = entered.startsWith("~/")
60
+ ? join(homedir, entered.slice(2))
61
+ : entered;
62
+ return resolve(expanded);
63
+ }
64
+ return choice;
65
+ }
66
+ //# sourceMappingURL=prompt-new-project.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompt-new-project.js","sourceRoot":"","sources":["../../../src/cli/utils/prompt-new-project.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAG1C;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,EAAY;IAEZ,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;IACjC,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;IAE1C,MAAM,OAAO,GAAuC,EAAE,CAAC;IAEvD,uBAAuB;IACvB,MAAM,eAAe,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAC/C,MAAM,kBAAkB,GAAG,eAAe,IAAI,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;IAE5E,IAAI,kBAAkB,EAAE,CAAC;QACvB,2DAA2D;QAC3D,OAAO,CAAC,IAAI,CAAC;YACX,KAAK,EAAE,eAAe;YACtB,KAAK,EAAE,iCAAiC;SACzC,CAAC,CAAC;IACL,CAAC;SAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QAC5B,mDAAmD;QACnD,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,kBAAkB,EAAE,CAAC,CAAC;IAChE,CAAC;IACD,mEAAmE;IAEnE,iEAAiE;IACjE,IAAI,GAAG,KAAK,SAAS,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAC9C,OAAO,CAAC,IAAI,CAAC;YACX,KAAK,EAAE,GAAG;YACV,KAAK,EAAE,+BAA+B,GAAG,GAAG;SAC7C,CAAC,CAAC;IACL,CAAC;IAED,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,CAAC;IAC7D,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;IAEnD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC;QAC/B,OAAO,EAAE,qDAAqD;QAC9D,OAAO;KACR,CAAC,CAAC;IAEH,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;QACjD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,MAAM,KAAK,eAAe,EAAE,CAAC;QAC/B,qDAAqD;QACrD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAI,MAAM,KAAK,YAAY,EAAE,CAAC;QAC5B,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC;YAC9B,OAAO,EAAE,sCAAsC;YAC/C,WAAW,EAAE,cAAc;SAC5B,CAAC,CAAC;QAEH,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YACvC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,6BAA6B;QAC7B,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;YACvC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACjC,CAAC,CAAC,OAAO,CAAC;QACZ,OAAO,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC3B,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}