flingit 0.0.65 → 0.0.67

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 (179) hide show
  1. package/dist/cli/commands/config.d.ts +2 -2
  2. package/dist/cli/commands/config.d.ts.map +1 -1
  3. package/dist/cli/commands/config.js +3 -3
  4. package/dist/cli/commands/config.js.map +1 -1
  5. package/dist/cli/commands/cron.d.ts +9 -9
  6. package/dist/cli/commands/cron.d.ts.map +1 -1
  7. package/dist/cli/commands/cron.js +8 -13
  8. package/dist/cli/commands/cron.js.map +1 -1
  9. package/dist/cli/commands/db.d.ts +13 -3
  10. package/dist/cli/commands/db.d.ts.map +1 -1
  11. package/dist/cli/commands/db.js +22 -5
  12. package/dist/cli/commands/db.js.map +1 -1
  13. package/dist/cli/commands/dev.d.ts +2 -2
  14. package/dist/cli/commands/dev.d.ts.map +1 -1
  15. package/dist/cli/commands/dev.js +15 -4
  16. package/dist/cli/commands/dev.js.map +1 -1
  17. package/dist/cli/commands/email.d.ts +4 -4
  18. package/dist/cli/commands/email.d.ts.map +1 -1
  19. package/dist/cli/commands/email.js +4 -3
  20. package/dist/cli/commands/email.js.map +1 -1
  21. package/dist/cli/commands/feedback.js +3 -3
  22. package/dist/cli/commands/feedback.js.map +1 -1
  23. package/dist/cli/commands/init.d.ts +2 -2
  24. package/dist/cli/commands/init.d.ts.map +1 -1
  25. package/dist/cli/commands/init.js +3 -3
  26. package/dist/cli/commands/init.js.map +1 -1
  27. package/dist/cli/commands/launch.d.ts +14 -14
  28. package/dist/cli/commands/launch.d.ts.map +1 -1
  29. package/dist/cli/commands/launch.js +12 -12
  30. package/dist/cli/commands/launch.js.map +1 -1
  31. package/dist/cli/commands/logs.d.ts +2 -2
  32. package/dist/cli/commands/logs.d.ts.map +1 -1
  33. package/dist/cli/commands/logs.js +4 -4
  34. package/dist/cli/commands/logs.js.map +1 -1
  35. package/dist/cli/commands/plugin.d.ts.map +1 -1
  36. package/dist/cli/commands/plugin.js +4 -3
  37. package/dist/cli/commands/plugin.js.map +1 -1
  38. package/dist/cli/commands/project.d.ts +2 -2
  39. package/dist/cli/commands/project.d.ts.map +1 -1
  40. package/dist/cli/commands/project.js +32 -22
  41. package/dist/cli/commands/project.js.map +1 -1
  42. package/dist/cli/commands/push.d.ts +1 -0
  43. package/dist/cli/commands/push.d.ts.map +1 -1
  44. package/dist/cli/commands/push.js +8 -8
  45. package/dist/cli/commands/push.js.map +1 -1
  46. package/dist/cli/commands/storage.d.ts +8 -11
  47. package/dist/cli/commands/storage.d.ts.map +1 -1
  48. package/dist/cli/commands/storage.js +16 -24
  49. package/dist/cli/commands/storage.js.map +1 -1
  50. package/dist/cli/commands/tunnel.js +2 -2
  51. package/dist/cli/commands/tunnel.js.map +1 -1
  52. package/dist/cli/commands/upgrade.d.ts +2 -2
  53. package/dist/cli/commands/upgrade.d.ts.map +1 -1
  54. package/dist/cli/commands/upgrade.js +2 -2
  55. package/dist/cli/commands/upgrade.js.map +1 -1
  56. package/dist/cli/commands/whoami.d.ts.map +1 -1
  57. package/dist/cli/commands/whoami.js +4 -4
  58. package/dist/cli/commands/whoami.js.map +1 -1
  59. package/dist/cli/commands/workflow.d.ts +9 -9
  60. package/dist/cli/commands/workflow.d.ts.map +1 -1
  61. package/dist/cli/commands/workflow.js +8 -14
  62. package/dist/cli/commands/workflow.js.map +1 -1
  63. package/dist/cli/index.js +3 -3
  64. package/dist/cli/index.js.map +1 -1
  65. package/dist/cli/utils/cli-io-impl.d.ts +48 -26
  66. package/dist/cli/utils/cli-io-impl.d.ts.map +1 -1
  67. package/dist/cli/utils/cli-io-impl.js +124 -40
  68. package/dist/cli/utils/cli-io-impl.js.map +1 -1
  69. package/dist/cli/utils/cli-io.d.ts +57 -29
  70. package/dist/cli/utils/cli-io.d.ts.map +1 -1
  71. package/dist/cli/utils/cli-io.js +8 -4
  72. package/dist/cli/utils/cli-io.js.map +1 -1
  73. package/dist/cli/utils/config.d.ts +10 -10
  74. package/dist/cli/utils/config.d.ts.map +1 -1
  75. package/dist/cli/utils/config.js +1 -1
  76. package/dist/cli/utils/config.js.map +1 -1
  77. package/dist/cli/utils/duplicate-check.d.ts +3 -3
  78. package/dist/cli/utils/duplicate-check.d.ts.map +1 -1
  79. package/dist/cli/utils/duplicate-check.js.map +1 -1
  80. package/dist/cli/utils/email.d.ts +2 -1
  81. package/dist/cli/utils/email.d.ts.map +1 -1
  82. package/dist/cli/utils/email.js +8 -21
  83. package/dist/cli/utils/email.js.map +1 -1
  84. package/dist/cli/utils/format.d.ts +17 -0
  85. package/dist/cli/utils/format.d.ts.map +1 -0
  86. package/dist/cli/utils/format.js +30 -0
  87. package/dist/cli/utils/format.js.map +1 -0
  88. package/dist/cli/utils/project-name.d.ts +13 -4
  89. package/dist/cli/utils/project-name.d.ts.map +1 -1
  90. package/dist/cli/utils/project-name.js +28 -0
  91. package/dist/cli/utils/project-name.js.map +1 -1
  92. package/dist/cli/utils/project.d.ts +21 -8
  93. package/dist/cli/utils/project.d.ts.map +1 -1
  94. package/dist/cli/utils/project.js +16 -0
  95. package/dist/cli/utils/project.js.map +1 -1
  96. package/dist/cli/utils/prompt-new-project.d.ts +2 -2
  97. package/dist/cli/utils/prompt-new-project.d.ts.map +1 -1
  98. package/dist/cli/utils/prompt-new-project.js.map +1 -1
  99. package/dist/cli/utils/registry.d.ts +10 -10
  100. package/dist/cli/utils/registry.d.ts.map +1 -1
  101. package/dist/cli/utils/registry.js.map +1 -1
  102. package/dist/index.d.ts +2 -0
  103. package/dist/index.d.ts.map +1 -1
  104. package/dist/index.js +1 -0
  105. package/dist/index.js.map +1 -1
  106. package/dist/repo-shared/email-validation.d.ts +21 -0
  107. package/dist/repo-shared/email-validation.d.ts.map +1 -0
  108. package/dist/repo-shared/email-validation.js +30 -0
  109. package/dist/repo-shared/email-validation.js.map +1 -0
  110. package/dist/repo-shared/slug-validation.d.ts +29 -0
  111. package/dist/repo-shared/slug-validation.d.ts.map +1 -0
  112. package/dist/repo-shared/slug-validation.js +60 -0
  113. package/dist/repo-shared/slug-validation.js.map +1 -0
  114. package/dist/runtime/auth.d.ts +26 -0
  115. package/dist/runtime/auth.d.ts.map +1 -0
  116. package/dist/runtime/auth.js +241 -0
  117. package/dist/runtime/auth.js.map +1 -0
  118. package/dist/runtime/discord.d.ts +3 -2
  119. package/dist/runtime/discord.d.ts.map +1 -1
  120. package/dist/runtime/discord.js.map +1 -1
  121. package/dist/runtime/entry.d.ts +2 -0
  122. package/dist/runtime/entry.d.ts.map +1 -1
  123. package/dist/runtime/entry.js +9 -0
  124. package/dist/runtime/entry.js.map +1 -1
  125. package/dist/shared/constants.d.ts +1 -10
  126. package/dist/shared/constants.d.ts.map +1 -1
  127. package/dist/shared/constants.js +1 -10
  128. package/dist/shared/constants.js.map +1 -1
  129. package/dist/shared/hmac.d.ts +17 -0
  130. package/dist/shared/hmac.d.ts.map +1 -0
  131. package/dist/shared/hmac.js +37 -0
  132. package/dist/shared/hmac.js.map +1 -0
  133. package/dist/shared/plugin-metadata.d.ts.map +1 -1
  134. package/dist/shared/plugin-metadata.js +6 -4
  135. package/dist/shared/plugin-metadata.js.map +1 -1
  136. package/dist/worker-runtime/auth.d.ts +79 -0
  137. package/dist/worker-runtime/auth.d.ts.map +1 -0
  138. package/dist/worker-runtime/auth.js +425 -0
  139. package/dist/worker-runtime/auth.js.map +1 -0
  140. package/dist/worker-runtime/d1-event-store.d.ts +2 -1
  141. package/dist/worker-runtime/d1-event-store.d.ts.map +1 -1
  142. package/dist/worker-runtime/d1-event-store.js +26 -0
  143. package/dist/worker-runtime/d1-event-store.js.map +1 -1
  144. package/dist/worker-runtime/entry-extract.d.ts.map +1 -1
  145. package/dist/worker-runtime/entry-extract.js +1 -0
  146. package/dist/worker-runtime/entry-extract.js.map +1 -1
  147. package/dist/worker-runtime/entry.d.ts.map +1 -1
  148. package/dist/worker-runtime/entry.js +24 -16
  149. package/dist/worker-runtime/entry.js.map +1 -1
  150. package/dist/worker-runtime/index.d.ts +2 -0
  151. package/dist/worker-runtime/index.d.ts.map +1 -1
  152. package/dist/worker-runtime/index.js +2 -0
  153. package/dist/worker-runtime/index.js.map +1 -1
  154. package/dist/worker-runtime/types.d.ts +2 -0
  155. package/dist/worker-runtime/types.d.ts.map +1 -1
  156. package/dist/workflow/runtime.d.ts +3 -0
  157. package/dist/workflow/runtime.d.ts.map +1 -1
  158. package/dist/workflow/runtime.js +37 -4
  159. package/dist/workflow/runtime.js.map +1 -1
  160. package/node_modules/flingflow/README.md +10 -0
  161. package/node_modules/flingflow/SPEC.md +0 -4
  162. package/node_modules/flingflow/TESTING.md +2 -0
  163. package/node_modules/flingflow/dist/index.d.ts +1 -1
  164. package/node_modules/flingflow/dist/store-memory.d.ts +2 -1
  165. package/node_modules/flingflow/dist/store-memory.js +36 -0
  166. package/node_modules/flingflow/dist/store-memory.js.map +1 -1
  167. package/node_modules/flingflow/dist/store-sqlite.d.ts +2 -1
  168. package/node_modules/flingflow/dist/store-sqlite.js +45 -0
  169. package/node_modules/flingflow/dist/store-sqlite.js.map +1 -1
  170. package/node_modules/flingflow/dist/store.d.ts +5 -0
  171. package/node_modules/flingflow/src/index.ts +1 -1
  172. package/node_modules/flingflow/src/store-memory.ts +40 -0
  173. package/node_modules/flingflow/src/store-sqlite.ts +47 -0
  174. package/node_modules/flingflow/src/store.ts +6 -0
  175. package/node_modules/flingflow/test/store-conformance.ts +42 -0
  176. package/package.json +3 -3
  177. package/templates/default/dot-claude/skills/fling/.hash +1 -1
  178. package/templates/default/dot-claude/skills/fling/SKILL.md +4 -2
  179. package/templates/default/dot-claude/skills/fling/references/AUTH.md +149 -0
@@ -4,15 +4,36 @@
4
4
  * These wrap the real dependencies (fs, process, @clack/prompts, etc.)
5
5
  * used in production. Tests can substitute fake implementations.
6
6
  */
7
- import { existsSync } from "node:fs";
8
- import type { ConsoleIO, ConsoleIOWithProgress, ProcessIOFull, ProcessIOWithStdio, FileIO, FileIOWithRead, DbFileIO, StorageFileIO, LaunchFileIO, InitFileIO, DevFileIO, UserIO, NetworkIO, BrowserIO, TimingIO, SpawnFn, ClaudeCodeIO, DbIO, StorageIO, LaunchIO, InitIO, DevIO, SimplePromptIO, SimpleConfirmIO, SimplePromptIOWithMultiline, ConfigFileIO, ConfigIO, EnvIO, ProjectFileIO, RegistryIO } from "./cli-io.js";
9
- import type { ProjectNameFileIO, ProjectNameWriteIO } from "./project-name.js";
7
+ import { existsSync, watch as fsWatch } from "node:fs";
8
+ import type { ConsoleIO, ConsoleIOWithProgress, ProcessIOFull, ProcessIOWithStdio, FileIO, FileIOWithRead, DbFileDeps, StorageFileDeps, LaunchFileDeps, InitFileDeps, DevFileDeps, UserIO, NetworkIO, BrowserIO, TimingIO, SpawnFn, WatchFn, WatchHandle, ClaudeCodeIO, DbDeps, StorageDeps, LaunchDeps, InitDeps, DevDeps, SimplePromptIO, SimpleConfirmIO, SimplePromptIOWithMultiline, ConfigFileDeps, ConfigDeps, EnvIO, ProjectFileDeps, RegistryDeps } from "./cli-io.js";
9
+ import type { ProjectNameFileDeps, ProjectNameWriteDeps } from "./project-name.js";
10
10
  export declare const consoleIO: ConsoleIO;
11
11
  export declare const consoleIOWithProgress: ConsoleIOWithProgress;
12
12
  export declare const processIO: ProcessIOFull;
13
13
  export declare const networkIO: NetworkIO;
14
14
  export declare const timingIO: TimingIO;
15
15
  export declare const spawnFn: SpawnFn;
16
+ /**
17
+ * Default watcher: watches the parent directory of `path` and fires
18
+ * `onChange` whenever an event for the target filename arrives. Watching
19
+ * the directory (rather than the file) means we still see events when:
20
+ * - the file does not exist yet and is created
21
+ * - editors write atomically by writing a temp file and renaming it
22
+ * - the file is deleted and re-created
23
+ *
24
+ * Events are debounced (100ms) because writers commonly emit two events
25
+ * in quick succession (e.g. truncate + write).
26
+ *
27
+ * Throws synchronously if the parent directory cannot be watched (e.g.
28
+ * does not exist) — callers must ensure it exists before watching.
29
+ */
30
+ export declare const watchFn: WatchFn;
31
+ /**
32
+ * Test seam: same logic as `watchFn` but with the underlying `fs.watch`
33
+ * injected. Exported so unit tests can substitute a fake without going
34
+ * through the real filesystem when verifying debounce/filtering logic.
35
+ */
36
+ export declare function createDirWatch(path: string, onChange: () => void, watchImpl: typeof fsWatch): WatchHandle;
16
37
  /**
17
38
  * Create browser opener for the current platform.
18
39
  *
@@ -37,9 +58,9 @@ export declare const databaseAdapter: import("./db-adapter.js").DbAdapter;
37
58
  export declare const claudeCodeIO: ClaudeCodeIO;
38
59
  export declare const fileIO: FileIO;
39
60
  export declare const fileIOWithRead: FileIOWithRead;
40
- export declare const projectFileIO: ProjectFileIO;
41
- export declare const projectNameFileIO: ProjectNameFileIO;
42
- export declare const projectNameWriteIO: ProjectNameWriteIO;
61
+ export declare const projectFileDeps: ProjectFileDeps;
62
+ export declare const projectNameFileDeps: ProjectNameFileDeps;
63
+ export declare const projectNameWriteDeps: ProjectNameWriteDeps;
43
64
  /**
44
65
  * Get the Fling root directory with caching.
45
66
  */
@@ -53,12 +74,13 @@ export declare function clearFlingRootCache(): void;
53
74
  */
54
75
  export declare const projectUtils: {
55
76
  isProjectRoot: (dir: string) => boolean;
77
+ isFlingProject: (dir: string) => boolean;
56
78
  findEnclosingProject: (start: string) => string | null;
57
79
  hasWorkerEntry: (dir: string) => boolean;
58
80
  hasSymlinkInPath: (target: string, base: string) => boolean;
59
81
  };
60
82
  export declare const envIO: EnvIO;
61
- export declare const registryFileIO: {
83
+ export declare const registryFileDeps: {
62
84
  exists: typeof existsSync;
63
85
  readFileString: (path: string) => string | null;
64
86
  writeFileString: (path: string, data: string) => void;
@@ -66,32 +88,32 @@ export declare const registryFileIO: {
66
88
  recursive?: boolean;
67
89
  }) => void;
68
90
  };
69
- export declare const registryIO: RegistryIO;
70
- export declare const dbFileIO: DbFileIO;
71
- export declare const storageFileIO: StorageFileIO;
72
- export declare const launchFileIO: LaunchFileIO;
73
- export declare const initFileIO: InitFileIO;
74
- export declare const configFileIO: ConfigFileIO;
75
- export declare const configIO: ConfigIO;
91
+ export declare const registryDeps: RegistryDeps;
92
+ export declare const dbFileDeps: DbFileDeps;
93
+ export declare const storageFileDeps: StorageFileDeps;
94
+ export declare const launchFileDeps: LaunchFileDeps;
95
+ export declare const initFileDeps: InitFileDeps;
96
+ export declare const configFileDeps: ConfigFileDeps;
97
+ export declare const configDeps: ConfigDeps;
76
98
  export declare const userIO: UserIO;
77
- export declare const defaultDbIO: DbIO;
78
- export declare const defaultStorageIO: StorageIO;
99
+ export declare const defaultDbDeps: DbDeps;
100
+ export declare const defaultStorageDeps: StorageDeps;
79
101
  /**
80
- * Create the default LaunchIO implementation using real dependencies.
102
+ * Create the default LaunchDeps implementation using real dependencies.
81
103
  */
82
- export declare function createDefaultLaunchIO(): LaunchIO;
104
+ export declare function createDefaultLaunchDeps(): LaunchDeps;
83
105
  /**
84
- * Create the default InitIO implementation using real dependencies.
106
+ * Create the default InitDeps implementation using real dependencies.
85
107
  */
86
- export declare function createDefaultInitIO(): InitIO;
87
- export declare const devFileIO: DevFileIO;
108
+ export declare function createDefaultInitDeps(): InitDeps;
109
+ export declare const devFileDeps: DevFileDeps;
88
110
  /**
89
- * Create the default DevIO implementation using real dependencies.
111
+ * Create the default DevDeps implementation using real dependencies.
90
112
  */
91
- export declare function createDefaultDevIO(): DevIO;
92
- import type { UpgradeIO } from "./cli-io.js";
113
+ export declare function createDefaultDevDeps(): DevDeps;
114
+ import type { UpgradeDeps } from "./cli-io.js";
93
115
  /**
94
- * Create the default UpgradeIO implementation using real dependencies.
116
+ * Create the default UpgradeDeps implementation using real dependencies.
95
117
  */
96
- export declare function createDefaultUpgradeIO(): UpgradeIO;
118
+ export declare function createDefaultUpgradeDeps(): UpgradeDeps;
97
119
  //# sourceMappingURL=cli-io-impl.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"cli-io-impl.d.ts","sourceRoot":"","sources":["../../../src/cli/utils/cli-io-impl.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli-io-impl.d.ts","sourceRoot":"","sources":["../../../src/cli/utils/cli-io-impl.ts"],"names":[],"mappings":"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"}
@@ -4,9 +4,9 @@
4
4
  * These wrap the real dependencies (fs, process, @clack/prompts, etc.)
5
5
  * used in production. Tests can substitute fake implementations.
6
6
  */
7
- import { existsSync, readFileSync, writeFileSync, unlinkSync, mkdirSync, rmSync, readdirSync, statSync, cpSync, renameSync, lstatSync, createReadStream as fsCreateReadStream, } from "node:fs";
7
+ import { existsSync, readFileSync, writeFileSync, unlinkSync, mkdirSync, rmSync, readdirSync, statSync, cpSync, renameSync, lstatSync, watch as fsWatch, createReadStream as fsCreateReadStream, } from "node:fs";
8
8
  import { Readable } from "node:stream";
9
- import { join } from "node:path";
9
+ import { join, dirname, basename } from "node:path";
10
10
  import { createConnection } from "node:net";
11
11
  import { createRequire } from "node:module";
12
12
  import { fileURLToPath } from "node:url";
@@ -20,7 +20,7 @@ import { createSqliteAdapter } from "./db-adapter.js";
20
20
  import { readPackageMetadata } from "#repo-shared/package-metadata";
21
21
  import { isClaudeCodeInstalled, getClaudeCodeNotInstalledError, } from "./claude-code.js";
22
22
  import { registerProject } from "./registry.js";
23
- import { hasWorkerEntry, getWorkerEntryPath, findEnclosingProject, isProjectRoot, hasSymlinkInPath, getFlingRoot, } from "./project.js";
23
+ import { hasWorkerEntry, getWorkerEntryPath, findEnclosingProject, isFlingProject, isProjectRoot, hasSymlinkInPath, getFlingRoot, } from "./project.js";
24
24
  import { DEFAULT_FLING_HOME_SEGMENTS } from "../../shared/constants.js";
25
25
  // ═══════════════════════════════════════════════════════
26
26
  // SHARED IMPLEMENTATIONS
@@ -73,6 +73,78 @@ export const spawnFn = (command, args, options) => {
73
73
  return spawn(command, args, options);
74
74
  };
75
75
  // ═══════════════════════════════════════════════════════
76
+ // FILE WATCH (dev)
77
+ // ═══════════════════════════════════════════════════════
78
+ const WATCH_DEBOUNCE_MS = 100;
79
+ /**
80
+ * Default watcher: watches the parent directory of `path` and fires
81
+ * `onChange` whenever an event for the target filename arrives. Watching
82
+ * the directory (rather than the file) means we still see events when:
83
+ * - the file does not exist yet and is created
84
+ * - editors write atomically by writing a temp file and renaming it
85
+ * - the file is deleted and re-created
86
+ *
87
+ * Events are debounced (100ms) because writers commonly emit two events
88
+ * in quick succession (e.g. truncate + write).
89
+ *
90
+ * Throws synchronously if the parent directory cannot be watched (e.g.
91
+ * does not exist) — callers must ensure it exists before watching.
92
+ */
93
+ export const watchFn = (path, onChange) => createDirWatch(path, onChange, fsWatch);
94
+ /**
95
+ * Test seam: same logic as `watchFn` but with the underlying `fs.watch`
96
+ * injected. Exported so unit tests can substitute a fake without going
97
+ * through the real filesystem when verifying debounce/filtering logic.
98
+ */
99
+ export function createDirWatch(path, onChange, watchImpl) {
100
+ const dir = dirname(path);
101
+ const targetName = basename(path);
102
+ let timer = null;
103
+ let closed = false;
104
+ const fire = () => {
105
+ if (closed)
106
+ return;
107
+ onChange();
108
+ };
109
+ const watcher = watchImpl(dir, (_eventType, filename) => {
110
+ if (closed)
111
+ return;
112
+ // `filename` may be null on some platforms; if so, fire to be safe.
113
+ // It can also arrive as a Buffer when fs.watch is called with
114
+ // `encoding: 'buffer'` (we never do, but defend in depth).
115
+ let name;
116
+ if (filename === null) {
117
+ name = null;
118
+ }
119
+ else if (typeof filename === "string") {
120
+ name = filename;
121
+ }
122
+ else {
123
+ name = filename.toString();
124
+ }
125
+ if (name !== null && name !== targetName)
126
+ return;
127
+ if (timer !== null)
128
+ clearTimeout(timer);
129
+ timer = setTimeout(fire, WATCH_DEBOUNCE_MS);
130
+ });
131
+ return {
132
+ close: () => {
133
+ if (closed)
134
+ return;
135
+ closed = true;
136
+ if (timer !== null)
137
+ clearTimeout(timer);
138
+ try {
139
+ watcher.close();
140
+ }
141
+ catch {
142
+ /* already closed */
143
+ }
144
+ },
145
+ };
146
+ }
147
+ // ═══════════════════════════════════════════════════════
76
148
  // BROWSER (plugin)
77
149
  // ═══════════════════════════════════════════════════════
78
150
  /**
@@ -198,7 +270,7 @@ export const fileIOWithRead = {
198
270
  readFileSync: (path, encoding) => readFileSync(path, encoding),
199
271
  };
200
272
  // ── Project Utilities ───────────────────────────────────
201
- export const projectFileIO = {
273
+ export const projectFileDeps = {
202
274
  exists: existsSync,
203
275
  readFileString: (path) => {
204
276
  if (!existsSync(path))
@@ -214,7 +286,7 @@ export const projectFileIO = {
214
286
  }
215
287
  },
216
288
  };
217
- export const projectNameFileIO = {
289
+ export const projectNameFileDeps = {
218
290
  exists: existsSync,
219
291
  readFileString: (path) => {
220
292
  if (!existsSync(path))
@@ -222,7 +294,7 @@ export const projectNameFileIO = {
222
294
  return readFileSync(path, "utf-8");
223
295
  },
224
296
  };
225
- export const projectNameWriteIO = {
297
+ export const projectNameWriteDeps = {
226
298
  exists: existsSync,
227
299
  readFileString: (path) => {
228
300
  if (!existsSync(path))
@@ -240,7 +312,7 @@ let cachedFlingRoot = null;
240
312
  */
241
313
  export function getCachedFlingRoot() {
242
314
  cachedFlingRoot ??= getFlingRoot({
243
- file: projectFileIO,
315
+ file: projectFileDeps,
244
316
  moduleFilePath: fileURLToPath(import.meta.url),
245
317
  });
246
318
  return cachedFlingRoot;
@@ -255,10 +327,11 @@ export function clearFlingRootCache() {
255
327
  * Convenience wrappers for project utilities with real IO baked in.
256
328
  */
257
329
  export const projectUtils = {
258
- isProjectRoot: (dir) => isProjectRoot(dir, projectFileIO),
259
- findEnclosingProject: (start) => findEnclosingProject(start, projectFileIO),
260
- hasWorkerEntry: (dir) => hasWorkerEntry(dir, projectFileIO),
261
- hasSymlinkInPath: (target, base) => hasSymlinkInPath(target, base, projectFileIO),
330
+ isProjectRoot: (dir) => isProjectRoot(dir, projectFileDeps),
331
+ isFlingProject: (dir) => isFlingProject(dir, projectFileDeps),
332
+ findEnclosingProject: (start) => findEnclosingProject(start, projectFileDeps),
333
+ hasWorkerEntry: (dir) => hasWorkerEntry(dir, projectFileDeps),
334
+ hasSymlinkInPath: (target, base) => hasSymlinkInPath(target, base, projectFileDeps),
262
335
  };
263
336
  // ── Environment IO ──────────────────────────────────────
264
337
  export const envIO = {
@@ -266,7 +339,7 @@ export const envIO = {
266
339
  get: (name) => process.env[name],
267
340
  };
268
341
  // ── Registry IO ─────────────────────────────────────────
269
- export const registryFileIO = {
342
+ export const registryFileDeps = {
270
343
  exists: existsSync,
271
344
  readFileString: (path) => {
272
345
  if (!existsSync(path))
@@ -280,12 +353,12 @@ export const registryFileIO = {
280
353
  mkdirSync(path, { recursive: options?.recursive ?? false });
281
354
  },
282
355
  };
283
- export const registryIO = {
356
+ export const registryDeps = {
284
357
  env: envIO,
285
- file: registryFileIO,
286
- isProjectRoot: (dir) => isProjectRoot(dir, projectFileIO),
358
+ file: registryFileDeps,
359
+ isProjectRoot: (dir) => isProjectRoot(dir, projectFileDeps),
287
360
  };
288
- export const dbFileIO = {
361
+ export const dbFileDeps = {
289
362
  exists: existsSync,
290
363
  remove: (path, options) => {
291
364
  rmSync(path, { force: options?.force ?? false });
@@ -294,7 +367,7 @@ export const dbFileIO = {
294
367
  mkdirSync(path, { recursive: options?.recursive ?? false });
295
368
  },
296
369
  };
297
- export const storageFileIO = {
370
+ export const storageFileDeps = {
298
371
  exists: existsSync,
299
372
  readFileBuffer: (path) => {
300
373
  if (!existsSync(path))
@@ -313,7 +386,7 @@ export const storageFileIO = {
313
386
  return Readable.toWeb(nodeStream);
314
387
  },
315
388
  };
316
- export const launchFileIO = {
389
+ export const launchFileDeps = {
317
390
  exists: existsSync,
318
391
  isProjectRoot: projectUtils.isProjectRoot,
319
392
  isDirEmpty(dir) {
@@ -328,7 +401,7 @@ export const launchFileIO = {
328
401
  mkdirSync(path, options);
329
402
  },
330
403
  };
331
- export const initFileIO = {
404
+ export const initFileDeps = {
332
405
  exists: existsSync,
333
406
  readFileString: (path) => {
334
407
  if (!existsSync(path))
@@ -346,7 +419,7 @@ export const initFileIO = {
346
419
  },
347
420
  readdir: (path) => readdirSync(path),
348
421
  };
349
- export const configFileIO = {
422
+ export const configFileDeps = {
350
423
  exists: existsSync,
351
424
  readFileString: (path) => existsSync(path) ? readFileSync(path, "utf-8").trim() : null,
352
425
  writeFileString: (path, content, options) => {
@@ -363,8 +436,8 @@ export const configFileIO = {
363
436
  renameSync(src, dest);
364
437
  },
365
438
  };
366
- export const configIO = {
367
- file: configFileIO,
439
+ export const configDeps = {
440
+ file: configFileDeps,
368
441
  env: {
369
442
  homedir,
370
443
  get: (name) => process.env[name],
@@ -392,14 +465,17 @@ export const userIO = {
392
465
  // ═══════════════════════════════════════════════════════
393
466
  // DEFAULT COMBINED CONTEXTS
394
467
  // ═══════════════════════════════════════════════════════
395
- export const defaultDbIO = {
396
- file: dbFileIO,
468
+ export const defaultDbDeps = {
469
+ file: dbFileDeps,
397
470
  process: processIO,
398
471
  database: databaseAdapter,
399
472
  console: consoleIO,
473
+ project: {
474
+ isFlingProject: projectUtils.isFlingProject,
475
+ },
400
476
  };
401
- export const defaultStorageIO = {
402
- file: storageFileIO,
477
+ export const defaultStorageDeps = {
478
+ file: storageFileDeps,
403
479
  process: {
404
480
  cwd: () => process.cwd(),
405
481
  exit: (code) => process.exit(code),
@@ -408,16 +484,19 @@ export const defaultStorageIO = {
408
484
  stdout: process.stdout,
409
485
  },
410
486
  console: consoleIO,
487
+ project: {
488
+ isFlingProject: projectUtils.isFlingProject,
489
+ },
411
490
  };
412
491
  /**
413
- * Create the default LaunchIO implementation using real dependencies.
492
+ * Create the default LaunchDeps implementation using real dependencies.
414
493
  */
415
- export function createDefaultLaunchIO() {
494
+ export function createDefaultLaunchDeps() {
416
495
  const flingHome = join(homedir(), ...DEFAULT_FLING_HOME_SEGMENTS);
417
496
  const currentCwd = process.cwd();
418
497
  return {
419
498
  user: userIO,
420
- file: launchFileIO,
499
+ file: launchFileDeps,
421
500
  paths: {
422
501
  flingHome,
423
502
  cwd: currentCwd,
@@ -448,14 +527,14 @@ function isDevelopmentMode() {
448
527
  existsSync(join(flingRoot, "tsconfig.json")));
449
528
  }
450
529
  /**
451
- * Create the default InitIO implementation using real dependencies.
530
+ * Create the default InitDeps implementation using real dependencies.
452
531
  */
453
- export function createDefaultInitIO() {
532
+ export function createDefaultInitDeps() {
454
533
  const flingRoot = getCachedFlingRoot();
455
534
  const templateDir = join(flingRoot, "templates", "default");
456
535
  const packageMetadata = readPackageMetadata();
457
536
  return {
458
- file: initFileIO,
537
+ file: initFileDeps,
459
538
  process: {
460
539
  cwd: () => process.cwd(),
461
540
  exit: (code) => process.exit(code),
@@ -471,9 +550,12 @@ export function createDefaultInitIO() {
471
550
  packageVersion: packageMetadata?.version ?? null,
472
551
  isDevelopmentMode: isDevelopmentMode(),
473
552
  },
553
+ project: {
554
+ isFlingProject: projectUtils.isFlingProject,
555
+ },
474
556
  registry: {
475
557
  register: (path) => {
476
- registerProject(path, registryIO);
558
+ registerProject(path, registryDeps);
477
559
  },
478
560
  },
479
561
  };
@@ -481,7 +563,7 @@ export function createDefaultInitIO() {
481
563
  // ═══════════════════════════════════════════════════════
482
564
  // DEV COMMAND
483
565
  // ═══════════════════════════════════════════════════════
484
- export const devFileIO = {
566
+ export const devFileDeps = {
485
567
  exists: existsSync,
486
568
  mkdir: (path, options) => {
487
569
  mkdirSync(path, { recursive: options?.recursive ?? false });
@@ -497,15 +579,15 @@ function getNodeRuntimePath() {
497
579
  return join(getCachedFlingRoot(), "dist", "index.js");
498
580
  }
499
581
  /**
500
- * Create the default DevIO implementation using real dependencies.
582
+ * Create the default DevDeps implementation using real dependencies.
501
583
  */
502
- export function createDefaultDevIO() {
584
+ export function createDefaultDevDeps() {
503
585
  const nodeRuntimePath = getNodeRuntimePath();
504
586
  // Resolve @hono/node-server from Fling's node_modules
505
587
  const require = createRequire(import.meta.url);
506
588
  const honoNodeServerPath = require.resolve("@hono/node-server");
507
589
  return {
508
- file: devFileIO,
590
+ file: devFileDeps,
509
591
  process: {
510
592
  cwd: () => process.cwd(),
511
593
  exit: (code) => process.exit(code),
@@ -529,6 +611,7 @@ export function createDefaultDevIO() {
529
611
  project: {
530
612
  hasWorkerEntry: projectUtils.hasWorkerEntry,
531
613
  getWorkerEntryPath,
614
+ isFlingProject: projectUtils.isFlingProject,
532
615
  },
533
616
  spawn,
534
617
  esbuild: {
@@ -537,16 +620,17 @@ export function createDefaultDevIO() {
537
620
  net: {
538
621
  createConnection: (opts) => createConnection(opts),
539
622
  },
623
+ watch: watchFn,
540
624
  };
541
625
  }
542
626
  /**
543
- * Create the default UpgradeIO implementation using real dependencies.
627
+ * Create the default UpgradeDeps implementation using real dependencies.
544
628
  */
545
- export function createDefaultUpgradeIO() {
629
+ export function createDefaultUpgradeDeps() {
546
630
  const flingRoot = getCachedFlingRoot();
547
631
  const templateDir = join(flingRoot, "templates", "default");
548
632
  return {
549
- file: initFileIO,
633
+ file: initFileDeps,
550
634
  process: {
551
635
  cwd: () => process.cwd(),
552
636
  exit: (code) => process.exit(code),
@@ -1 +1 @@
1
- {"version":3,"file":"cli-io-impl.js","sourceRoot":"","sources":["../../../src/cli/utils/cli-io-impl.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli-io-impl.js","sourceRoot":"","sources":["../../../src/cli/utils/cli-io-impl.ts"],"names":[],"mappings":"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"}