flingit 0.0.9 → 0.0.11

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 (153) 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 +5 -59
  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.js +1 -1
  26. package/dist/cli/commands/plugin.d.ts +8 -0
  27. package/dist/cli/commands/plugin.d.ts.map +1 -0
  28. package/dist/cli/commands/plugin.js +407 -0
  29. package/dist/cli/commands/plugin.js.map +1 -0
  30. package/dist/cli/commands/project.d.ts.map +1 -1
  31. package/dist/cli/commands/project.js +3 -1
  32. package/dist/cli/commands/project.js.map +1 -1
  33. package/dist/cli/commands/push.d.ts.map +1 -1
  34. package/dist/cli/commands/push.js +128 -12
  35. package/dist/cli/commands/push.js.map +1 -1
  36. package/dist/cli/commands/register.d.ts +25 -0
  37. package/dist/cli/commands/register.d.ts.map +1 -1
  38. package/dist/cli/commands/register.js +30 -13
  39. package/dist/cli/commands/register.js.map +1 -1
  40. package/dist/cli/commands/secret.d.ts +9 -0
  41. package/dist/cli/commands/secret.d.ts.map +1 -1
  42. package/dist/cli/commands/secret.js +40 -50
  43. package/dist/cli/commands/secret.js.map +1 -1
  44. package/dist/cli/commands/storage.d.ts +10 -0
  45. package/dist/cli/commands/storage.d.ts.map +1 -0
  46. package/dist/cli/commands/storage.js +459 -0
  47. package/dist/cli/commands/storage.js.map +1 -0
  48. package/dist/cli/commands/tun.d.ts.map +1 -1
  49. package/dist/cli/commands/tun.js +3 -2
  50. package/dist/cli/commands/tun.js.map +1 -1
  51. package/dist/cli/deploy/bundler.d.ts +15 -0
  52. package/dist/cli/deploy/bundler.d.ts.map +1 -1
  53. package/dist/cli/deploy/bundler.js +86 -2
  54. package/dist/cli/deploy/bundler.js.map +1 -1
  55. package/dist/cli/index.js +4 -0
  56. package/dist/cli/index.js.map +1 -1
  57. package/dist/cli/utils/config.d.ts +12 -0
  58. package/dist/cli/utils/config.d.ts.map +1 -1
  59. package/dist/cli/utils/config.js +23 -3
  60. package/dist/cli/utils/config.js.map +1 -1
  61. package/dist/cli/utils/environment.d.ts +12 -0
  62. package/dist/cli/utils/environment.d.ts.map +1 -1
  63. package/dist/cli/utils/environment.js +40 -6
  64. package/dist/cli/utils/environment.js.map +1 -1
  65. package/dist/cli/utils/launch-io-impl.d.ts +13 -0
  66. package/dist/cli/utils/launch-io-impl.d.ts.map +1 -0
  67. package/dist/cli/utils/launch-io-impl.js +51 -0
  68. package/dist/cli/utils/launch-io-impl.js.map +1 -0
  69. package/dist/cli/utils/launch-io.d.ts +42 -0
  70. package/dist/cli/utils/launch-io.d.ts.map +1 -0
  71. package/dist/cli/utils/launch-io.js +8 -0
  72. package/dist/cli/utils/launch-io.js.map +1 -0
  73. package/dist/cli/utils/project-name.d.ts +17 -0
  74. package/dist/cli/utils/project-name.d.ts.map +1 -0
  75. package/dist/cli/utils/project-name.js +33 -0
  76. package/dist/cli/utils/project-name.js.map +1 -0
  77. package/dist/cli/utils/prompt-new-project.d.ts +12 -0
  78. package/dist/cli/utils/prompt-new-project.d.ts.map +1 -0
  79. package/dist/cli/utils/prompt-new-project.js +66 -0
  80. package/dist/cli/utils/prompt-new-project.js.map +1 -0
  81. package/dist/cli/utils/version-check.d.ts +30 -0
  82. package/dist/cli/utils/version-check.d.ts.map +1 -0
  83. package/dist/cli/utils/version-check.js +43 -0
  84. package/dist/cli/utils/version-check.js.map +1 -0
  85. package/dist/client/assets/index-BqVrS7t9.js +40 -0
  86. package/dist/client/assets/index-DSLUsCtO.css +1 -0
  87. package/dist/client/index.html +14 -0
  88. package/dist/client/vite.svg +1 -0
  89. package/dist/index.d.ts +3 -1
  90. package/dist/index.d.ts.map +1 -1
  91. package/dist/index.js +2 -1
  92. package/dist/index.js.map +1 -1
  93. package/dist/runtime/db.d.ts +5 -0
  94. package/dist/runtime/db.d.ts.map +1 -1
  95. package/dist/runtime/db.js +6 -1
  96. package/dist/runtime/db.js.map +1 -1
  97. package/dist/runtime/discord.d.ts +171 -0
  98. package/dist/runtime/discord.d.ts.map +1 -0
  99. package/dist/runtime/discord.js +192 -0
  100. package/dist/runtime/discord.js.map +1 -0
  101. package/dist/runtime/secrets.d.ts +28 -0
  102. package/dist/runtime/secrets.d.ts.map +1 -1
  103. package/dist/runtime/secrets.js +77 -20
  104. package/dist/runtime/secrets.js.map +1 -1
  105. package/dist/runtime/storage.d.ts +29 -0
  106. package/dist/runtime/storage.d.ts.map +1 -0
  107. package/dist/runtime/storage.js +456 -0
  108. package/dist/runtime/storage.js.map +1 -0
  109. package/dist/shared/constants.d.ts +12 -0
  110. package/dist/shared/constants.d.ts.map +1 -0
  111. package/dist/shared/constants.js +12 -0
  112. package/dist/shared/constants.js.map +1 -0
  113. package/dist/shared/discord-types.d.ts +130 -0
  114. package/dist/shared/discord-types.d.ts.map +1 -0
  115. package/dist/shared/discord-types.js +8 -0
  116. package/dist/shared/discord-types.js.map +1 -0
  117. package/dist/shared/random-code.d.ts +6 -0
  118. package/dist/shared/random-code.d.ts.map +1 -0
  119. package/dist/shared/random-code.js +23 -0
  120. package/dist/shared/random-code.js.map +1 -0
  121. package/dist/types/storage.d.ts +154 -0
  122. package/dist/types/storage.d.ts.map +1 -0
  123. package/dist/types/storage.js +8 -0
  124. package/dist/types/storage.js.map +1 -0
  125. package/dist/worker-runtime/discord.d.ts +61 -0
  126. package/dist/worker-runtime/discord.d.ts.map +1 -0
  127. package/dist/worker-runtime/discord.js +181 -0
  128. package/dist/worker-runtime/discord.js.map +1 -0
  129. package/dist/worker-runtime/index.d.ts +21 -1
  130. package/dist/worker-runtime/index.d.ts.map +1 -1
  131. package/dist/worker-runtime/index.js +102 -0
  132. package/dist/worker-runtime/index.js.map +1 -1
  133. package/package.json +9 -2
  134. package/templates/default/CLAUDE.md +65 -11
  135. package/templates/default/skills/discord/SKILL.md +328 -0
  136. package/templates/default/skills/fling/API.md +208 -0
  137. package/templates/default/skills/fling/SKILL.md +51 -8
  138. package/dist/cli/deploy/worker-entry.d.ts +0 -14
  139. package/dist/cli/deploy/worker-entry.d.ts.map +0 -1
  140. package/dist/cli/deploy/worker-entry.js +0 -60
  141. package/dist/cli/deploy/worker-entry.js.map +0 -1
  142. package/dist/cli/deploy/wrangler-config.d.ts +0 -20
  143. package/dist/cli/deploy/wrangler-config.d.ts.map +0 -1
  144. package/dist/cli/deploy/wrangler-config.js +0 -54
  145. package/dist/cli/deploy/wrangler-config.js.map +0 -1
  146. package/dist/cli/loaders/register-wasm.d.ts +0 -12
  147. package/dist/cli/loaders/register-wasm.d.ts.map +0 -1
  148. package/dist/cli/loaders/register-wasm.js +0 -19
  149. package/dist/cli/loaders/register-wasm.js.map +0 -1
  150. package/dist/cli/loaders/wasm-hooks.d.ts +0 -61
  151. package/dist/cli/loaders/wasm-hooks.d.ts.map +0 -1
  152. package/dist/cli/loaders/wasm-hooks.js +0 -63
  153. package/dist/cli/loaders/wasm-hooks.js.map +0 -1
@@ -2,19 +2,57 @@
2
2
  * fling push - Deploy to Cloudflare Workers via Fling platform
3
3
  */
4
4
  import { Command } from "commander";
5
- import { existsSync } from "node:fs";
5
+ import { existsSync, readFileSync } from "node:fs";
6
6
  import { join, dirname } from "node:path";
7
7
  import { fileURLToPath } from "node:url";
8
8
  import { Readable } from "node:stream";
9
9
  import { spawn } from "node:child_process";
10
10
  import { isLoggedIn, platformFetch } from "../utils/config.js";
11
11
  import { hasWorkerEntry } from "../utils/project.js";
12
+ import { getProjectName } from "../utils/project-name.js";
12
13
  import { loadLocalSecrets } from "./secret.js";
13
14
  import { withRetry } from "../utils/retry.js";
14
15
  import { bundleForPlatform } from "../deploy/bundler.js";
16
+ import { checkForUpdates, } from "../utils/version-check.js";
15
17
  import { collectAssets, buildManifest, validateAssetSizes, } from "../deploy/assets.js";
16
18
  import { createBucketUploadStream } from "../deploy/bucket-stream.js";
17
19
  const __dirname = dirname(fileURLToPath(import.meta.url));
20
+ /**
21
+ * Create real dependencies for version checking.
22
+ * Reads version from package.json and fetches latest from npm registry.
23
+ */
24
+ function createVersionCheckDeps() {
25
+ return {
26
+ getCurrentVersion: () => {
27
+ const packageJsonPath = join(__dirname, "..", "..", "..", "package.json");
28
+ try {
29
+ const pkg = JSON.parse(readFileSync(packageJsonPath, "utf-8"));
30
+ return pkg.version ?? "0.0.0";
31
+ }
32
+ catch {
33
+ return "0.0.0";
34
+ }
35
+ },
36
+ fetchLatestVersion: async () => {
37
+ try {
38
+ const controller = new AbortController();
39
+ const timeout = setTimeout(() => {
40
+ controller.abort();
41
+ }, 3000);
42
+ const response = await fetch("https://registry.npmjs.org/flingit/latest", { signal: controller.signal });
43
+ clearTimeout(timeout);
44
+ if (!response.ok) {
45
+ return null;
46
+ }
47
+ const data = (await response.json());
48
+ return data.version ?? null;
49
+ }
50
+ catch {
51
+ return null;
52
+ }
53
+ },
54
+ };
55
+ }
18
56
  /**
19
57
  * Sync local secrets to production.
20
58
  * Reads from .fling/secrets and uploads to the platform API.
@@ -32,7 +70,8 @@ async function syncSecrets(verbose) {
32
70
  if (verbose) {
33
71
  console.log(`[verbose] Setting secret: ${key}`);
34
72
  }
35
- const response = await platformFetch(`/project/default/secrets/${key}`, {
73
+ const projectName = getProjectName();
74
+ const response = await platformFetch(`/project/${encodeURIComponent(projectName)}/secrets/${key}`, {
36
75
  method: "PUT",
37
76
  headers: { "Content-Type": "application/json" },
38
77
  body: JSON.stringify({ value }),
@@ -126,8 +165,9 @@ async function uploadAssets(assets, verbose) {
126
165
  }
127
166
  // Step 1: Create upload session (with retry for transient Cloudflare errors)
128
167
  const manifest = buildManifest(assets);
168
+ const projectName = getProjectName();
129
169
  const { sessionJwt, buckets } = await withRetry(async () => {
130
- const sessionRes = await platformFetch("/project/default/deploy/assets", {
170
+ const sessionRes = await platformFetch(`/project/${encodeURIComponent(projectName)}/deploy/assets`, {
131
171
  method: "POST",
132
172
  headers: { "Content-Type": "application/json" },
133
173
  body: JSON.stringify({ manifest }),
@@ -161,7 +201,7 @@ async function uploadAssets(assets, verbose) {
161
201
  const { stream } = createBucketUploadStream(bucketAssets);
162
202
  // Convert Node stream to Web stream for fetch
163
203
  const webStream = Readable.toWeb(stream);
164
- const uploadRes = await platformFetch("/project/default/deploy/assets/upload", {
204
+ const uploadRes = await platformFetch(`/project/${encodeURIComponent(projectName)}/deploy/assets/upload`, {
165
205
  method: "POST",
166
206
  headers: {
167
207
  "Content-Type": "application/octet-stream",
@@ -195,18 +235,44 @@ async function uploadAssets(assets, verbose) {
195
235
  * Uses streaming upload for memory efficiency with large bundles.
196
236
  */
197
237
  async function deployViaPlatform(projectDir, verbose = false) {
198
- // Step 0: Fetch project info (needed for base path detection and asset hashing)
238
+ // Get project name from local package.json (defaults to "default" for backwards compatibility)
239
+ const projectName = getProjectName(projectDir);
240
+ // Fetch user info (needed for asset hashing)
199
241
  const meRes = await platformFetch("/me");
200
242
  if (!meRes.ok) {
201
243
  throw new Error("Failed to fetch user info");
202
244
  }
203
245
  const meData = (await meRes.json());
204
246
  const userId = meData.user.id;
205
- const projectName = meData.projects[0]?.name ?? "default";
206
- const projectUrl = meData.projects[0]?.url;
207
- const projectSlug = meData.projects[0]?.slug;
247
+ // Find the matching project (if it exists) for base path detection
248
+ const existingProject = meData.projects.find(p => p.name === projectName);
249
+ let projectUrl = existingProject?.url;
250
+ let projectSlug = existingProject?.slug;
208
251
  // Determine base path for Vite build (path-based routing needs a prefix)
209
252
  let basePath;
253
+ // If project doesn't exist, create it first to get the slug
254
+ // This is needed for path-based routing (private platforms)
255
+ if (!existingProject) {
256
+ if (verbose) {
257
+ console.log(`[verbose] Project ${projectName} doesn't exist, creating...`);
258
+ }
259
+ const createRes = await platformFetch(`/project/${encodeURIComponent(projectName)}`, {
260
+ method: "POST",
261
+ });
262
+ // 201 = created, 409 = already exists (both are fine)
263
+ if (createRes.ok || createRes.status === 409) {
264
+ const createData = (await createRes.json());
265
+ projectUrl = createData.url;
266
+ projectSlug = createData.slug;
267
+ if (verbose) {
268
+ console.log(`[verbose] Project ${createRes.status === 201 ? "created" : "exists"} with slug: ${projectSlug}`);
269
+ }
270
+ }
271
+ else {
272
+ const errorData = await createRes.json().catch(() => ({ error: "Unknown error" }));
273
+ throw new Error(`Failed to create project: ${errorData.error ?? `HTTP ${createRes.status}`}`);
274
+ }
275
+ }
210
276
  if (projectUrl && projectSlug) {
211
277
  try {
212
278
  const parsed = new URL(projectUrl);
@@ -239,7 +305,7 @@ async function deployViaPlatform(projectDir, verbose = false) {
239
305
  console.log("[verbose] projectDir:", projectDir);
240
306
  console.log("[verbose] Calling bundleForPlatform...");
241
307
  }
242
- const { code, cronSchedules, wasmModules } = await bundleForPlatform(projectDir, verbose);
308
+ const { code, cronSchedules, discordCommands, wasmModules } = await bundleForPlatform(projectDir, verbose);
243
309
  const sizeKB = code.length / 1024;
244
310
  const sizeMB = sizeKB / 1024;
245
311
  if (sizeMB >= 1) {
@@ -275,6 +341,16 @@ async function deployViaPlatform(projectDir, verbose = false) {
275
341
  }
276
342
  }
277
343
  }
344
+ // Display Discord commands if any
345
+ const discordCommandCount = discordCommands.length;
346
+ if (discordCommandCount > 0) {
347
+ console.log(`Discord commands: ${discordCommandCount}`);
348
+ if (verbose) {
349
+ for (const cmd of discordCommands) {
350
+ console.log(` /${cmd.name}: ${cmd.description}`);
351
+ }
352
+ }
353
+ }
278
354
  // Step 4: Deploy via API
279
355
  console.log("\nDeploying to Fling platform...\n");
280
356
  let response;
@@ -316,7 +392,7 @@ async function deployViaPlatform(projectDir, verbose = false) {
316
392
  console.log("[verbose] Using multi-part deployment with WASM");
317
393
  console.log("[verbose] X-Deploy-Parts:", partsHeader);
318
394
  }
319
- response = await platformFetch("/project/default/deploy", {
395
+ response = await platformFetch(`/project/${encodeURIComponent(projectName)}/deploy`, {
320
396
  method: "POST",
321
397
  headers,
322
398
  body,
@@ -336,7 +412,7 @@ async function deployViaPlatform(projectDir, verbose = false) {
336
412
  if (cronCount > 0) {
337
413
  headers["X-Cron-Schedules"] = JSON.stringify(cronSchedules);
338
414
  }
339
- response = await platformFetch("/project/default/deploy", {
415
+ response = await platformFetch(`/project/${encodeURIComponent(projectName)}/deploy`, {
340
416
  method: "POST",
341
417
  headers,
342
418
  body: code,
@@ -358,7 +434,45 @@ async function deployViaPlatform(projectDir, verbose = false) {
358
434
  console.log("Tip: Want a custom URL? Run: fling project slug:set my-custom-slug");
359
435
  console.log("");
360
436
  }
361
- // Step 5: Sync secrets to production
437
+ // Step 5: Sync Discord commands if any
438
+ if (discordCommands.length > 0) {
439
+ if (verbose) {
440
+ console.log("[verbose] Syncing Discord commands...");
441
+ }
442
+ try {
443
+ const syncRes = await platformFetch("/discord/commands/sync", {
444
+ method: "POST",
445
+ headers: { "Content-Type": "application/json" },
446
+ body: JSON.stringify({ commands: discordCommands }),
447
+ });
448
+ if (syncRes.ok) {
449
+ const syncData = (await syncRes.json());
450
+ if (syncData.synced > 0) {
451
+ console.log(`Discord commands synced to ${syncData.synced} server(s)`);
452
+ }
453
+ if (syncData.errors && syncData.errors.length > 0) {
454
+ console.warn("Discord sync warnings:");
455
+ for (const err of syncData.errors) {
456
+ console.warn(` - ${err}`);
457
+ }
458
+ }
459
+ console.log("");
460
+ }
461
+ else if (syncRes.status !== 401 && syncRes.status !== 503) {
462
+ // Only warn if it's not a "Discord not configured" error
463
+ const syncErr = (await syncRes.json());
464
+ console.warn(`Discord command sync warning: ${syncErr.error ?? "Unknown error"}`);
465
+ console.log("");
466
+ }
467
+ }
468
+ catch (err) {
469
+ // Skip Discord sync errors - plugin may not be installed
470
+ if (verbose) {
471
+ console.log(`[verbose] Discord sync skipped: ${err instanceof Error ? err.message : "Unknown error"}`);
472
+ }
473
+ }
474
+ }
475
+ // Step 6: Sync secrets to production
362
476
  await syncSecrets(verbose);
363
477
  }
364
478
  export const pushCommand = new Command("push")
@@ -425,6 +539,8 @@ Examples:
425
539
  if (verbose)
426
540
  console.log("[verbose] Using platform deployment");
427
541
  await deployViaPlatform(cwd, verbose);
542
+ // Check for CLI updates (non-blocking, failures are silent)
543
+ await checkForUpdates(verbose, createVersionCheckDeps());
428
544
  }
429
545
  catch (error) {
430
546
  console.error("Deployment failed:", error.message);
@@ -1 +1 @@
1
- {"version":3,"file":"push.js","sourceRoot":"","sources":["../../../src/cli/commands/push.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"push.js","sourceRoot":"","sources":["../../../src/cli/commands/push.ts"],"names":[],"mappings":"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"}
@@ -2,5 +2,30 @@
2
2
  * fling register - Create a new account using an invite token
3
3
  */
4
4
  import { Command } from "commander";
5
+ interface RegisterResult {
6
+ id?: string;
7
+ name?: string;
8
+ email?: string;
9
+ token?: string;
10
+ project?: {
11
+ slug: string;
12
+ url: string;
13
+ };
14
+ error?: string;
15
+ }
16
+ /**
17
+ * Register a new user account.
18
+ *
19
+ * @param apiUrl - API base URL
20
+ * @param inviteToken - Invite token with inv_ prefix
21
+ * @param email - User's email address
22
+ * @param name - User's display name
23
+ * @param fetchFn - Optional fetch function for dependency injection (defaults to global fetch)
24
+ */
25
+ export declare function registerUser(apiUrl: string, inviteToken: string, email: string, name: string, fetchFn?: typeof fetch): Promise<{
26
+ ok: boolean;
27
+ data: RegisterResult;
28
+ }>;
5
29
  export declare const registerCommand: Command;
30
+ export {};
6
31
  //# sourceMappingURL=register.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/register.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA4BpC,eAAO,MAAM,eAAe,SA+GxB,CAAC"}
1
+ {"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/register.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA4BpC,UAAU,cAAc;IACtB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IACxC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;GAQG;AACH,wBAAsB,YAAY,CAChC,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,OAAO,KAAa,GAC5B,OAAO,CAAC;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,cAAc,CAAA;CAAE,CAAC,CAYhD;AAED,eAAO,MAAM,eAAe,SAmGxB,CAAC"}
@@ -20,6 +20,27 @@ async function prompt(question) {
20
20
  });
21
21
  });
22
22
  }
23
+ /**
24
+ * Register a new user account.
25
+ *
26
+ * @param apiUrl - API base URL
27
+ * @param inviteToken - Invite token with inv_ prefix
28
+ * @param email - User's email address
29
+ * @param name - User's display name
30
+ * @param fetchFn - Optional fetch function for dependency injection (defaults to global fetch)
31
+ */
32
+ export async function registerUser(apiUrl, inviteToken, email, name, fetchFn = fetch) {
33
+ const response = await fetchFn(`${apiUrl}/me`, {
34
+ method: "POST",
35
+ headers: {
36
+ "Authorization": `Bearer ${inviteToken}`,
37
+ "Content-Type": "application/json",
38
+ },
39
+ body: JSON.stringify({ email, name }),
40
+ });
41
+ const data = (await response.json());
42
+ return { ok: response.ok, data };
43
+ }
23
44
  export const registerCommand = new Command("register")
24
45
  .description("Create a new Fling account using an invite token")
25
46
  .argument("[invite-token]", "Invite token (inv_ prefix optional, will prompt if not provided)")
@@ -80,16 +101,8 @@ Examples:
80
101
  // Register via API (slug is auto-generated by the server)
81
102
  console.log("\nRegistering...");
82
103
  try {
83
- const response = await fetch(`${getApiUrl()}/me`, {
84
- method: "POST",
85
- headers: {
86
- "Authorization": `Bearer ${normalizedToken}`,
87
- "Content-Type": "application/json",
88
- },
89
- body: JSON.stringify({ email, name }),
90
- });
91
- const data = (await response.json());
92
- if (!response.ok) {
104
+ const { ok, data } = await registerUser(getApiUrl(), normalizedToken, email, name);
105
+ if (!ok) {
93
106
  console.error(`Registration failed: ${data.error ?? "Unknown error"}`);
94
107
  process.exit(1);
95
108
  }
@@ -102,10 +115,14 @@ Examples:
102
115
  // Welcome message
103
116
  console.log(`\nWelcome to Fling, ${data.name}!`);
104
117
  console.log(`Email: ${data.email}`);
105
- console.log(`Project: ${data.project?.slug}`);
106
- console.log(`URL: ${data.project?.url}`);
118
+ if (data.project) {
119
+ console.log(`Project: ${data.project.slug}`);
120
+ console.log(`URL: ${data.project.url}`);
121
+ }
107
122
  console.log(`\nRun 'fling init' to create your first app.`);
108
- console.log(`\nTip: To customize your URL, run: fling project slug:set my-custom-slug`);
123
+ if (data.project) {
124
+ console.log(`\nTip: To customize your URL, run: fling project slug:set my-custom-slug`);
125
+ }
109
126
  }
110
127
  catch (error) {
111
128
  console.error(`Registration failed: ${error instanceof Error ? error.message : "Network error"}`);
@@ -1 +1 @@
1
- {"version":3,"file":"register.js","sourceRoot":"","sources":["../../../src/cli/commands/register.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"register.js","sourceRoot":"","sources":["../../../src/cli/commands/register.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,15 @@
6
6
  * - Use `fling push` to deploy secrets to production
7
7
  */
8
8
  import { Command } from "commander";
9
+ /**
10
+ * Load secrets from the local secrets file.
11
+ * Re-exported for use by other CLI commands (e.g., push).
12
+ */
9
13
  export declare function loadLocalSecrets(): Map<string, string>;
14
+ /**
15
+ * Save secrets to the local secrets file.
16
+ * Re-exported for use by other CLI commands.
17
+ */
18
+ export declare function saveLocalSecrets(secrets: Map<string, string>): void;
10
19
  export declare const secretCommand: Command;
11
20
  //# sourceMappingURL=secret.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"secret.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/secret.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAUpC,wBAAgB,gBAAgB,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAoBtD;AAoBD,eAAO,MAAM,aAAa,SAcxB,CAAC"}
1
+ {"version":3,"file":"secret.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/secret.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAOpC;;;GAGG;AACH,wBAAgB,gBAAgB,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAEtD;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAEnE;AAMD,eAAO,MAAM,aAAa,SAexB,CAAC"}
@@ -6,41 +6,23 @@
6
6
  * - Use `fling push` to deploy secrets to production
7
7
  */
8
8
  import { Command } from "commander";
9
- import { existsSync, readFileSync, writeFileSync, mkdirSync } from "node:fs";
10
- import { join, dirname } from "node:path";
11
- const SECRETS_PATH = join(process.cwd(), ".fling", "secrets");
9
+ import { readSecretsFile, writeSecretsFile } from "../../runtime/secrets.js";
12
10
  // ============================================================================
13
11
  // Local secrets management
14
12
  // ============================================================================
13
+ /**
14
+ * Load secrets from the local secrets file.
15
+ * Re-exported for use by other CLI commands (e.g., push).
16
+ */
15
17
  export function loadLocalSecrets() {
16
- const secrets = new Map();
17
- if (existsSync(SECRETS_PATH)) {
18
- const content = readFileSync(SECRETS_PATH, "utf-8");
19
- for (const line of content.split("\n")) {
20
- const trimmed = line.trim();
21
- if (!trimmed || trimmed.startsWith("#")) {
22
- continue;
23
- }
24
- const eqIndex = trimmed.indexOf("=");
25
- if (eqIndex > 0) {
26
- const key = trimmed.slice(0, eqIndex);
27
- const value = trimmed.slice(eqIndex + 1);
28
- secrets.set(key, value);
29
- }
30
- }
31
- }
32
- return secrets;
18
+ return readSecretsFile();
33
19
  }
34
- function saveLocalSecrets(secrets) {
35
- const dir = dirname(SECRETS_PATH);
36
- if (!existsSync(dir)) {
37
- mkdirSync(dir, { recursive: true });
38
- }
39
- const lines = ["# Fling secrets", "# Format: KEY=value", ""];
40
- for (const [key, value] of secrets) {
41
- lines.push(`${key}=${value}`);
42
- }
43
- writeFileSync(SECRETS_PATH, lines.join("\n") + "\n", { mode: 0o600 });
20
+ /**
21
+ * Save secrets to the local secrets file.
22
+ * Re-exported for use by other CLI commands.
23
+ */
24
+ export function saveLocalSecrets(secrets) {
25
+ writeSecretsFile(secrets);
44
26
  }
45
27
  // ============================================================================
46
28
  // Commands
@@ -56,35 +38,43 @@ Secret naming:
56
38
  Names must be UPPER_SNAKE_CASE (e.g., GITHUB_TOKEN, API_KEY, DB_PASSWORD).
57
39
 
58
40
  Examples:
59
- fling secret list List secret names
60
- fling secret set API_KEY=xxx Set a secret
61
- fling secret remove API_KEY Remove a secret
41
+ fling secret list List secret names
42
+ fling secret set API_KEY=xxx Set a secret
43
+ fling secret set KEY1=a KEY2=b KEY3=c Set multiple secrets
44
+ fling secret remove API_KEY Remove a secret
62
45
  `);
63
46
  secretCommand
64
- .command("set <keyvalue>")
65
- .description("Set a secret (must be UPPER_SNAKE_CASE=value format)")
47
+ .command("set <keyvalue...>")
48
+ .description("Set one or more secrets (must be UPPER_SNAKE_CASE=value format)")
66
49
  .addHelpText("after", `
67
50
  Examples:
68
51
  fling secret set GITHUB_TOKEN=ghp_xxx
69
52
  fling secret set API_KEY=secret123
53
+ fling secret set KEY1=value1 KEY2=value2 KEY3=value3
70
54
  `)
71
- .action((keyvalue) => {
72
- const eqIndex = keyvalue.indexOf("=");
73
- if (eqIndex <= 0) {
74
- console.error("Error: Invalid format. Use: fling secret set KEY=value");
75
- process.exit(1);
76
- }
77
- const key = keyvalue.slice(0, eqIndex);
78
- const value = keyvalue.slice(eqIndex + 1);
79
- if (!key.match(/^[A-Z_][A-Z0-9_]*$/)) {
80
- console.error("Error: Secret name must be uppercase with underscores (e.g., GITHUB_TOKEN)");
81
- process.exit(1);
82
- }
55
+ .action((keyvalues) => {
83
56
  const secrets = loadLocalSecrets();
84
- const exists = secrets.has(key);
85
- secrets.set(key, value);
57
+ const results = [];
58
+ for (const keyvalue of keyvalues) {
59
+ const eqIndex = keyvalue.indexOf("=");
60
+ if (eqIndex <= 0) {
61
+ console.error(`Error: Invalid format "${keyvalue}". Use: fling secret set KEY=value`);
62
+ process.exit(1);
63
+ }
64
+ const key = keyvalue.slice(0, eqIndex);
65
+ const value = keyvalue.slice(eqIndex + 1);
66
+ if (!key.match(/^[A-Z_][A-Z0-9_]*$/)) {
67
+ console.error(`Error: Secret name "${key}" must be uppercase with underscores (e.g., GITHUB_TOKEN)`);
68
+ process.exit(1);
69
+ }
70
+ const exists = secrets.has(key);
71
+ secrets.set(key, value);
72
+ results.push({ key, updated: exists });
73
+ }
86
74
  saveLocalSecrets(secrets);
87
- console.log(exists ? `Updated secret: ${key}` : `Set secret: ${key}`);
75
+ for (const { key, updated } of results) {
76
+ console.log(updated ? `Updated secret: ${key}` : `Set secret: ${key}`);
77
+ }
88
78
  });
89
79
  secretCommand
90
80
  .command("list")
@@ -1 +1 @@
1
- {"version":3,"file":"secret.js","sourceRoot":"","sources":["../../../src/cli/commands/secret.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"secret.js","sourceRoot":"","sources":["../../../src/cli/commands/secret.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * fling storage - Object storage management commands
3
+ *
4
+ * Behavior:
5
+ * - By default, operates on local storage (.fling/data/storage/)
6
+ * - Use --prod to operate on production R2 storage
7
+ */
8
+ import { Command } from "commander";
9
+ export declare const storageCommand: Command;
10
+ //# sourceMappingURL=storage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/storage.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAgEpC,eAAO,MAAM,cAAc,SAmBxB,CAAC"}