flingit 0.0.1 → 0.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -1
- package/dist/cli/commands/dev.d.ts.map +1 -1
- package/dist/cli/commands/dev.js +3 -1
- package/dist/cli/commands/dev.js.map +1 -1
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +26 -5
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/launch.d.ts.map +1 -1
- package/dist/cli/commands/launch.js +10 -1
- package/dist/cli/commands/launch.js.map +1 -1
- package/dist/cli/commands/onboard.d.ts +7 -0
- package/dist/cli/commands/onboard.d.ts.map +1 -1
- package/dist/cli/commands/onboard.js +48 -41
- package/dist/cli/commands/onboard.js.map +1 -1
- package/dist/cli/deploy/bundler.js +2 -2
- package/dist/cli/deploy/bundler.js.map +1 -1
- package/dist/runtime/cron.d.ts +1 -1
- package/dist/runtime/cron.js +1 -1
- package/dist/runtime/http.d.ts +1 -1
- package/dist/runtime/http.js +1 -1
- package/dist/runtime/migrate.d.ts +1 -1
- package/dist/runtime/migrate.js +1 -1
- package/dist/runtime/secrets.d.ts +1 -1
- package/dist/runtime/secrets.js +1 -1
- package/package.json +4 -4
- package/templates/default/.nvmrc +1 -1
- package/templates/default/CLAUDE.md +2 -2
- package/templates/default/skills/fling/API.md +4 -4
- package/templates/default/skills/fling/EXAMPLES.md +3 -3
- package/templates/default/skills/fling/SKILL.md +1 -1
- package/templates/default/src/worker/index.ts +1 -1
package/README.md
CHANGED
|
@@ -20,7 +20,9 @@ Claude writes the code, runs it locally, tests it, and iterates until it works.
|
|
|
20
20
|
npm install -g flingit
|
|
21
21
|
```
|
|
22
22
|
|
|
23
|
-
|
|
23
|
+
The npm package is `flingit` and it installs the `fling` CLI.
|
|
24
|
+
|
|
25
|
+
Requires Node.js 22 or later.
|
|
24
26
|
|
|
25
27
|
## Quick Start
|
|
26
28
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dev.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/dev.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAYpC,eAAO,MAAM,UAAU,
|
|
1
|
+
{"version":3,"file":"dev.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/dev.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAYpC,eAAO,MAAM,UAAU,SAyKnB,CAAC"}
|
package/dist/cli/commands/dev.js
CHANGED
|
@@ -50,7 +50,9 @@ Examples:
|
|
|
50
50
|
let viteProcess = null;
|
|
51
51
|
console.log("Starting Fling development server...\n");
|
|
52
52
|
try {
|
|
53
|
-
//
|
|
53
|
+
// Register tsx to enable TypeScript imports
|
|
54
|
+
// This must happen before importing any TypeScript files
|
|
55
|
+
await import("tsx/esm/api").then((tsx) => tsx.register());
|
|
54
56
|
// Using pathToFileURL for proper ESM imports
|
|
55
57
|
const appUrl = pathToFileURL(workerEntry).href;
|
|
56
58
|
// Import the user's app - this registers routes, cron jobs, and migrations
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dev.js","sourceRoot":"","sources":["../../../src/cli/commands/dev.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,KAAK,EAAgB,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAMzE,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,OAAO,CAAC,KAAK,CAAC;KACzC,WAAW,CAAC,oCAAoC,CAAC;KACjD,MAAM,CAAC,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,CAAC;KACrD,WAAW,CACV,OAAO,EACP;;;;;;;;;;;;;;;;;;;CAmBH,CACE;KACA,MAAM,CAAC,KAAK,EAAE,OAAmB,EAAE,EAAE;IACpC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAC1B,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAExC,kCAAkC;IAClC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC;QACrC,OAAO,CAAC,KAAK,CAAC,qDAAqD,CAAC,CAAC;QACrE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,+BAA+B;IAC/B,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;QACzB,OAAO,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC;QACzD,OAAO,CAAC,KAAK,CAAC,4CAA4C,CAAC,CAAC;QAC5D,OAAO,CAAC,KAAK,CACX,sEAAsE,CACvE,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,WAAW,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;IAC5C,IAAI,WAAW,GAAwB,IAAI,CAAC;IAE5C,OAAO,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC;IAEtD,IAAI,CAAC;QACH,
|
|
1
|
+
{"version":3,"file":"dev.js","sourceRoot":"","sources":["../../../src/cli/commands/dev.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAwDpC,eAAO,MAAM,WAAW,SAqLpB,CAAC"}
|
|
@@ -19,12 +19,27 @@ function isDevelopmentMode() {
|
|
|
19
19
|
return (existsSync(join(flingRoot, "src")) &&
|
|
20
20
|
existsSync(join(flingRoot, "tsconfig.json")));
|
|
21
21
|
}
|
|
22
|
+
function getPackageMeta() {
|
|
23
|
+
const flingRoot = getFlingRoot();
|
|
24
|
+
const packageJsonPath = join(flingRoot, "package.json");
|
|
25
|
+
try {
|
|
26
|
+
const pkg = JSON.parse(readFileSync(packageJsonPath, "utf-8"));
|
|
27
|
+
return {
|
|
28
|
+
name: pkg.name ?? "flingit",
|
|
29
|
+
version: pkg.version ?? "0.0.1",
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
catch {
|
|
33
|
+
return { name: "flingit", version: "0.0.1" };
|
|
34
|
+
}
|
|
35
|
+
}
|
|
22
36
|
export const initCommand = new Command("init")
|
|
23
37
|
.description("Create a new Fling project in the current directory")
|
|
24
38
|
.option("--local", "Use local Fling package via file: reference (for development)")
|
|
39
|
+
.option("--no-local", "Use published package version (override development auto-detection)")
|
|
25
40
|
.addHelpText("after", `
|
|
26
41
|
Prerequisites:
|
|
27
|
-
- Node.js
|
|
42
|
+
- Node.js 22 or later
|
|
28
43
|
- Empty or new directory (run mkdir my-project && cd my-project first)
|
|
29
44
|
|
|
30
45
|
Creates:
|
|
@@ -37,7 +52,7 @@ Creates:
|
|
|
37
52
|
src/react-app/ React frontend code
|
|
38
53
|
public/ Static assets
|
|
39
54
|
package.json Project configuration with React, Vite deps
|
|
40
|
-
.nvmrc Node.js version (
|
|
55
|
+
.nvmrc Node.js version (22)
|
|
41
56
|
CLAUDE.md Instructions for Claude Code
|
|
42
57
|
.claude/skills/ Claude skill files for Fling commands
|
|
43
58
|
.fling/ Local data directory (gitignored)
|
|
@@ -109,14 +124,20 @@ Example:
|
|
|
109
124
|
const projectName = cwd.split("/").pop() ?? "fling-project";
|
|
110
125
|
const useLocal = options.local ?? isDevelopmentMode();
|
|
111
126
|
const flingRoot = getFlingRoot();
|
|
112
|
-
const
|
|
127
|
+
const { name: packageName, version: packageVersion } = getPackageMeta();
|
|
128
|
+
const dependencyName = packageName || "flingit";
|
|
129
|
+
const dependencyVersion = useLocal
|
|
130
|
+
? `file:${flingRoot}`
|
|
131
|
+
: `^${packageVersion || "0.0.1"}`;
|
|
113
132
|
if (useLocal) {
|
|
114
133
|
console.log(`Using local Fling: ${flingRoot}\n`);
|
|
115
134
|
}
|
|
116
135
|
const packageJsonPath = join(cwd, "package.json");
|
|
117
136
|
const packageJson = JSON.parse(readFileSync(packageJsonPath, "utf-8"));
|
|
118
137
|
packageJson.name = projectName;
|
|
119
|
-
packageJson.dependencies
|
|
138
|
+
packageJson.dependencies = packageJson.dependencies ?? {};
|
|
139
|
+
delete packageJson.dependencies["fling"];
|
|
140
|
+
packageJson.dependencies[dependencyName] = dependencyVersion;
|
|
120
141
|
writeFileSync(packageJsonPath, JSON.stringify(packageJson, null, 2) + "\n");
|
|
121
142
|
// Create .fling directory
|
|
122
143
|
mkdirSync(join(cwd, ".fling", "data"), { recursive: true });
|
|
@@ -148,7 +169,7 @@ Example:
|
|
|
148
169
|
console.log(" public/ - Static assets");
|
|
149
170
|
console.log(" .claude/skills/fling/ - Claude skill files");
|
|
150
171
|
console.log(" CLAUDE.md - Claude Code instructions");
|
|
151
|
-
console.log(" .nvmrc - Node.js version (
|
|
172
|
+
console.log(" .nvmrc - Node.js version (22)");
|
|
152
173
|
console.log(" package.json - Project configuration");
|
|
153
174
|
console.log(" .fling/ - Fling data directory");
|
|
154
175
|
console.log(" .fling/secrets - Local secrets file (gitignored)");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EACL,UAAU,EACV,SAAS,EACT,aAAa,EACb,YAAY,EACZ,MAAM,GACP,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAE1D,sDAAsD;AACtD,SAAS,YAAY;IACnB,+CAA+C;IAC/C,OAAO,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAC3C,CAAC;AAED,+CAA+C;AAC/C,SAAS,iBAAiB;IACxB,MAAM,SAAS,GAAG,YAAY,EAAE,CAAC;IACjC,4DAA4D;IAC5D,OAAO,CACL,UAAU,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAClC,UAAU,CAAC,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC,CAC7C,CAAC;AACJ,CAAC;AAOD,SAAS,cAAc;IACrB,MAAM,SAAS,GAAG,YAAY,EAAE,CAAC;IACjC,MAAM,eAAe,GAAG,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;IACxD,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC,CAG5D,CAAC;QACF,OAAO;YACL,IAAI,EAAE,GAAG,CAAC,IAAI,IAAI,SAAS;YAC3B,OAAO,EAAE,GAAG,CAAC,OAAO,IAAI,OAAO;SAChC,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;IAC/C,CAAC;AACH,CAAC;AAMD,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC;KAC3C,WAAW,CAAC,qDAAqD,CAAC;KAClE,MAAM,CACL,SAAS,EACT,+DAA+D,CAChE;KACA,MAAM,CACL,YAAY,EACZ,qEAAqE,CACtE;KACA,WAAW,CACV,OAAO,EACP;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+BH,CACE;KACA,MAAM,CAAC,KAAK,EAAE,OAAoB,EAAE,EAAE;IACrC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAE1B,+BAA+B;IAC/B,IAAI,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC;QACpC,OAAO,CAAC,GAAG,CAAC,sDAAsD,CAAC,CAAC;QACpE,OAAO;IACT,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;IAE/C,+CAA+C;IAC/C,iEAAiE;IACjE,mEAAmE;IACnE,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;IAE9E,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAC7B,OAAO,CAAC,KAAK,CAAC,6CAA6C,EAAE,WAAW,CAAC,CAAC;QAC1E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,sCAAsC;IACtC,wDAAwD;IACxD,MAAM,WAAW,GAAG;QAClB,EAAE,GAAG,EAAE,cAAc,EAAE,IAAI,EAAE,cAAc,EAAE;QAC7C,EAAE,GAAG,EAAE,eAAe,EAAE,IAAI,EAAE,eAAe,EAAE;QAC/C,EAAE,GAAG,EAAE,mBAAmB,EAAE,IAAI,EAAE,mBAAmB,EAAE;QACvD,EAAE,GAAG,EAAE,sBAAsB,EAAE,IAAI,EAAE,sBAAsB,EAAE;QAC7D,EAAE,GAAG,EAAE,gBAAgB,EAAE,IAAI,EAAE,gBAAgB,EAAE;QACjD,EAAE,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE,YAAY,EAAE;QACzC,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE;QACjC,EAAE,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW,EAAE;KACxC,CAAC;IAEF,KAAK,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,WAAW,EAAE,CAAC;QACxC,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;QACvC,IAAI,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YACxB,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;IAED,qBAAqB;IACrB,MAAM,cAAc,GAAG,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;IAChD,IAAI,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;QAC/B,MAAM,CAAC,cAAc,EAAE,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAChE,CAAC;IAED,iDAAiD;IACjD,MAAM,iBAAiB,GAAG,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;IACtD,IAAI,UAAU,CAAC,iBAAiB,CAAC,EAAE,CAAC;QAClC,MAAM,CAAC,iBAAiB,EAAE,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACtE,CAAC;IAED,iCAAiC;IACjC,MAAM,iBAAiB,GAAG,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;IACtD,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;IACrD,IAAI,UAAU,CAAC,iBAAiB,CAAC,EAAE,CAAC;QAClC,SAAS,CAAC,aAAa,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC9C,MAAM,CAAC,iBAAiB,EAAE,aAAa,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAChE,CAAC;IAED,6DAA6D;IAC7D,MAAM,WAAW,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,eAAe,CAAC;IAC5D,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,IAAI,iBAAiB,EAAE,CAAC;IACtD,MAAM,SAAS,GAAG,YAAY,EAAE,CAAC;IACjC,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,cAAc,EAAE,GAAG,cAAc,EAAE,CAAC;IACxE,MAAM,cAAc,GAAG,WAAW,IAAI,SAAS,CAAC;IAChD,MAAM,iBAAiB,GAAG,QAAQ;QAChC,CAAC,CAAC,QAAQ,SAAS,EAAE;QACrB,CAAC,CAAC,IAAI,cAAc,IAAI,OAAO,EAAE,CAAC;IAEpC,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,CAAC,GAAG,CAAC,sBAAsB,SAAS,IAAI,CAAC,CAAC;IACnD,CAAC;IAED,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;IAClD,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC,CAGpE,CAAC;IACF,WAAW,CAAC,IAAI,GAAG,WAAW,CAAC;IAC/B,WAAW,CAAC,YAAY,GAAG,WAAW,CAAC,YAAY,IAAI,EAAE,CAAC;IAC1D,OAAO,WAAW,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;IACzC,WAAW,CAAC,YAAY,CAAC,cAAc,CAAC,GAAG,iBAAiB,CAAC;IAC7D,aAAa,CAAC,eAAe,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IAE5E,0BAA0B;IAC1B,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAE5D,0CAA0C;IAC1C,eAAe,CAAC,GAAG,CAAC,CAAC;IAErB,gFAAgF;IAChF,aAAa,CACX,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,SAAS,CAAC,EAC9B,wCAAwC,EACxC,EAAE,IAAI,EAAE,KAAK,EAAE,CAChB,CAAC;IAEF,0DAA0D;IAC1D,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;IAC9C,MAAM,iBAAiB,GAAG,IAAI,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;IAE1D,IAAI,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;QAC9B,8CAA8C;QAC9C,MAAM,QAAQ,GAAG,YAAY,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;QACtD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;YACzC,aAAa,CACX,aAAa,EACb,QAAQ,GAAG,2CAA2C,CACvD,CAAC;QACJ,CAAC;IACH,CAAC;SAAM,IAAI,UAAU,CAAC,iBAAiB,CAAC,EAAE,CAAC;QACzC,MAAM,CAAC,iBAAiB,EAAE,aAAa,CAAC,CAAC;IAC3C,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACxB,OAAO,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAC;IAC1D,OAAO,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC;IAC7D,OAAO,CAAC,GAAG,CAAC,mDAAmD,CAAC,CAAC;IACjE,OAAO,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAC;IAClE,OAAO,CAAC,GAAG,CAAC,qDAAqD,CAAC,CAAC;IACnE,OAAO,CAAC,GAAG,CAAC,6CAA6C,CAAC,CAAC;IAC3D,OAAO,CAAC,GAAG,CAAC,gDAAgD,CAAC,CAAC;IAC9D,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;IACxD,OAAO,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC;IAC7D,OAAO,CAAC,GAAG,CAAC,qDAAqD,CAAC,CAAC;IACnE,OAAO,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAC;IAC/D,OAAO,CAAC,GAAG,CAAC,kDAAkD,CAAC,CAAC;IAChE,OAAO,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAC;IAC/D,OAAO,CAAC,GAAG,CAAC,4DAA4D,CAAC,CAAC;IAC1E,OAAO,CAAC,GAAG,CAAC,kEAAkE,CAAC,CAAC;IAChF,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IAC3B,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;IACrC,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;AACrC,CAAC,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"launch.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/launch.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"launch.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/launch.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA+IzC;;GAEG;AACH,wBAAsB,MAAM,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CA2D5D"}
|
|
@@ -10,8 +10,10 @@ import { homedir } from "node:os";
|
|
|
10
10
|
import { spawn } from "node:child_process";
|
|
11
11
|
import * as p from "@clack/prompts";
|
|
12
12
|
import { initCommand } from "./init.js";
|
|
13
|
+
import { promptCredentials } from "./onboard.js";
|
|
13
14
|
import { findEnclosingProject, isProjectRoot } from "../utils/project.js";
|
|
14
15
|
import { registerProject, getValidProjects } from "../utils/registry.js";
|
|
16
|
+
import { isLoggedIn } from "../utils/config.js";
|
|
15
17
|
const FLING_HOME = join(homedir(), "fling");
|
|
16
18
|
/**
|
|
17
19
|
* Create a new Fling project in the given directory.
|
|
@@ -163,7 +165,14 @@ export async function launch(program) {
|
|
|
163
165
|
return;
|
|
164
166
|
}
|
|
165
167
|
}
|
|
166
|
-
// Step 3:
|
|
168
|
+
// Step 3: Prompt auth before creating a new project
|
|
169
|
+
if (!isLoggedIn()) {
|
|
170
|
+
const credResult = await promptCredentials();
|
|
171
|
+
if (credResult === "cancelled") {
|
|
172
|
+
return;
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
// Step 4: Create a new project
|
|
167
176
|
const dir = await promptNewProject();
|
|
168
177
|
if (!dir) {
|
|
169
178
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"launch.js","sourceRoot":"","sources":["../../../src/cli/commands/launch.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAC7D,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAE3C,OAAO,KAAK,CAAC,MAAM,gBAAgB,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAC1E,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"launch.js","sourceRoot":"","sources":["../../../src/cli/commands/launch.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,6 +9,13 @@ export interface OnboardingResult {
|
|
|
9
9
|
authenticated: boolean;
|
|
10
10
|
setupProject: boolean;
|
|
11
11
|
}
|
|
12
|
+
export type CredentialResult = "authenticated" | "skipped" | "failed" | "cancelled";
|
|
13
|
+
/**
|
|
14
|
+
* Prompt the user to authenticate.
|
|
15
|
+
*/
|
|
16
|
+
export declare function promptCredentials(options?: {
|
|
17
|
+
message?: string;
|
|
18
|
+
}): Promise<CredentialResult>;
|
|
12
19
|
/**
|
|
13
20
|
* Run the interactive onboarding flow.
|
|
14
21
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"onboard.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/onboard.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"onboard.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/onboard.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAapC;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,aAAa,EAAE,OAAO,CAAC;IACvB,YAAY,EAAE,OAAO,CAAC;CACvB;AA0ID,MAAM,MAAM,gBAAgB,GACxB,eAAe,GACf,SAAS,GACT,QAAQ,GACR,WAAW,CAAC;AAEhB;;GAEG;AACH,wBAAsB,iBAAiB,CAAC,OAAO,CAAC,EAAE;IAChD,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAsD5B;AAED;;;;;GAKG;AACH,wBAAsB,aAAa,CAAC,OAAO,CAAC,EAAE;IAC5C,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAuD5B;AAED,eAAO,MAAM,cAAc,SA0BvB,CAAC"}
|
|
@@ -117,37 +117,15 @@ async function handleInviteFlow() {
|
|
|
117
117
|
}
|
|
118
118
|
}
|
|
119
119
|
/**
|
|
120
|
-
*
|
|
121
|
-
*
|
|
122
|
-
* This can be called programmatically (from launch.ts) or via the command.
|
|
123
|
-
* Returns whether the user authenticated and whether to set up the default project.
|
|
120
|
+
* Prompt the user to authenticate.
|
|
124
121
|
*/
|
|
125
|
-
export async function
|
|
126
|
-
// Set API URL if provided
|
|
127
|
-
if (options?.apiUrl) {
|
|
128
|
-
setApiUrl(options.apiUrl);
|
|
129
|
-
}
|
|
130
|
-
p.intro("Welcome to Fling!");
|
|
131
|
-
// Check if already logged in
|
|
132
|
-
if (isLoggedIn()) {
|
|
133
|
-
const replace = await p.confirm({
|
|
134
|
-
message: "You're already logged in. Replace existing token?",
|
|
135
|
-
initialValue: false,
|
|
136
|
-
});
|
|
137
|
-
if (p.isCancel(replace) || !replace) {
|
|
138
|
-
p.outro("Keeping existing credentials.");
|
|
139
|
-
return { authenticated: true, setupProject: true };
|
|
140
|
-
}
|
|
141
|
-
clearToken();
|
|
142
|
-
}
|
|
143
|
-
// State machine for navigation
|
|
122
|
+
export async function promptCredentials(options) {
|
|
144
123
|
let step = "credential-choice";
|
|
145
|
-
|
|
146
|
-
while (step !== "project-choice") {
|
|
124
|
+
for (;;) {
|
|
147
125
|
switch (step) {
|
|
148
126
|
case "credential-choice": {
|
|
149
127
|
const choice = await p.select({
|
|
150
|
-
message: "
|
|
128
|
+
message: options?.message ?? "Would you like to connect your Fling account?",
|
|
151
129
|
options: [
|
|
152
130
|
{ value: "invite", label: "I have an invite link/token" },
|
|
153
131
|
{ value: "api-token", label: "I have an API token" },
|
|
@@ -155,8 +133,7 @@ export async function runOnboarding(options) {
|
|
|
155
133
|
],
|
|
156
134
|
});
|
|
157
135
|
if (p.isCancel(choice)) {
|
|
158
|
-
|
|
159
|
-
return { authenticated: false, setupProject: false };
|
|
136
|
+
return "cancelled";
|
|
160
137
|
}
|
|
161
138
|
if (choice === "invite") {
|
|
162
139
|
step = "invite-flow";
|
|
@@ -165,13 +142,7 @@ export async function runOnboarding(options) {
|
|
|
165
142
|
step = "api-token";
|
|
166
143
|
}
|
|
167
144
|
else {
|
|
168
|
-
|
|
169
|
-
p.log.info("No problem! You can still use Fling for local development.");
|
|
170
|
-
p.log.message("To deploy later, run:\n" +
|
|
171
|
-
" fling onboard - Interactive setup\n" +
|
|
172
|
-
" fling login <token> - If you have an API token\n" +
|
|
173
|
-
" fling register <inv> - If you have an invite link");
|
|
174
|
-
step = "project-choice";
|
|
145
|
+
return "skipped";
|
|
175
146
|
}
|
|
176
147
|
break;
|
|
177
148
|
}
|
|
@@ -181,11 +152,10 @@ export async function runOnboarding(options) {
|
|
|
181
152
|
step = "credential-choice";
|
|
182
153
|
}
|
|
183
154
|
else if (!result) {
|
|
184
|
-
return
|
|
155
|
+
return "failed";
|
|
185
156
|
}
|
|
186
157
|
else {
|
|
187
|
-
authenticated
|
|
188
|
-
step = "project-choice";
|
|
158
|
+
return "authenticated";
|
|
189
159
|
}
|
|
190
160
|
break;
|
|
191
161
|
}
|
|
@@ -195,16 +165,53 @@ export async function runOnboarding(options) {
|
|
|
195
165
|
step = "credential-choice";
|
|
196
166
|
}
|
|
197
167
|
else if (!result) {
|
|
198
|
-
return
|
|
168
|
+
return "failed";
|
|
199
169
|
}
|
|
200
170
|
else {
|
|
201
|
-
authenticated
|
|
202
|
-
step = "project-choice";
|
|
171
|
+
return "authenticated";
|
|
203
172
|
}
|
|
204
173
|
break;
|
|
205
174
|
}
|
|
206
175
|
}
|
|
207
176
|
}
|
|
177
|
+
}
|
|
178
|
+
/**
|
|
179
|
+
* Run the interactive onboarding flow.
|
|
180
|
+
*
|
|
181
|
+
* This can be called programmatically (from launch.ts) or via the command.
|
|
182
|
+
* Returns whether the user authenticated and whether to set up the default project.
|
|
183
|
+
*/
|
|
184
|
+
export async function runOnboarding(options) {
|
|
185
|
+
// Set API URL if provided
|
|
186
|
+
if (options?.apiUrl) {
|
|
187
|
+
setApiUrl(options.apiUrl);
|
|
188
|
+
}
|
|
189
|
+
p.intro("Welcome to Fling!");
|
|
190
|
+
// Check if already logged in
|
|
191
|
+
if (isLoggedIn()) {
|
|
192
|
+
const replace = await p.confirm({
|
|
193
|
+
message: "You're already logged in. Replace existing token?",
|
|
194
|
+
initialValue: false,
|
|
195
|
+
});
|
|
196
|
+
if (p.isCancel(replace) || !replace) {
|
|
197
|
+
p.outro("Keeping existing credentials.");
|
|
198
|
+
return { authenticated: true, setupProject: true };
|
|
199
|
+
}
|
|
200
|
+
clearToken();
|
|
201
|
+
}
|
|
202
|
+
const credResult = await promptCredentials({ message: "How would you like to onboard?" });
|
|
203
|
+
if (credResult === "cancelled" || credResult === "failed") {
|
|
204
|
+
p.cancel("Onboarding cancelled.");
|
|
205
|
+
return { authenticated: false, setupProject: false };
|
|
206
|
+
}
|
|
207
|
+
if (credResult === "skipped") {
|
|
208
|
+
p.log.info("No problem! You can still use Fling for local development.");
|
|
209
|
+
p.log.message("To deploy later, run:\n" +
|
|
210
|
+
" fling onboard - Interactive setup\n" +
|
|
211
|
+
" fling login <token> - If you have an API token\n" +
|
|
212
|
+
" fling register <inv> - If you have an invite link");
|
|
213
|
+
}
|
|
214
|
+
const authenticated = credResult === "authenticated";
|
|
208
215
|
// Ask about project directory
|
|
209
216
|
const setupProject = await p.confirm({
|
|
210
217
|
message: "Create your Fling project at ~/fling?",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"onboard.js","sourceRoot":"","sources":["../../../src/cli/commands/onboard.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,CAAC,MAAM,gBAAgB,CAAC;AACpC,OAAO,EACL,QAAQ,EACR,UAAU,EACV,UAAU,EACV,aAAa,EACb,SAAS,EACT,SAAS,GACV,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"onboard.js","sourceRoot":"","sources":["../../../src/cli/commands/onboard.ts"],"names":[],"mappings":"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"}
|
|
@@ -107,8 +107,8 @@ export default {
|
|
|
107
107
|
write: false,
|
|
108
108
|
external: [], // Bundle everything
|
|
109
109
|
alias: {
|
|
110
|
-
// Redirect '
|
|
111
|
-
|
|
110
|
+
// Redirect 'flingit' imports to worker runtime
|
|
111
|
+
flingit: workerRuntimePath,
|
|
112
112
|
},
|
|
113
113
|
define: {
|
|
114
114
|
"process.env.NODE_ENV": '"production"',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bundler.js","sourceRoot":"","sources":["../../../src/cli/deploy/bundler.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAErC,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAE1D;;;GAGG;AACH,SAAS,oBAAoB;IAC3B,wDAAwD;IACxD,OAAO,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,gBAAgB,EAAE,UAAU,CAAC,CAAC;AACnE,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,UAAkB,EAClB,OAAO,GAAG,KAAK;IAEf,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;IAC9D,MAAM,iBAAiB,GAAG,oBAAoB,EAAE,CAAC;IAEjD,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CACb,uDAAuD;YACrD,8CAA8C;YAC9C,sEAAsE,CACzE,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,CAAC,GAAG,CAAC,8BAA8B,EAAE,SAAS,CAAC,CAAC;QACvD,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAAC;QAC3C,OAAO,CAAC,GAAG,CAAC,8BAA8B,EAAE,iBAAiB,CAAC,CAAC;IACjE,CAAC;IAED,yDAAyD;IACzD,MAAM,SAAS,GAAG;wDACoC,iBAAiB;;;;;;;;;;;;;;sBAcnD,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2B5B,CAAC;IAEA,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,CAAC,GAAG,CAAC,sBAAsB,EAAE,SAAS,CAAC,CAAC;QAC/C,OAAO,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC;IACtD,CAAC;IAED,sBAAsB;IACtB,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC;QACzB,KAAK,EAAE;YACL,QAAQ,EAAE,SAAS;YACnB,UAAU,EAAE,UAAU;YACtB,MAAM,EAAE,IAAI;SACb;QACD,MAAM,EAAE,IAAI;QACZ,MAAM,EAAE,KAAK;QACb,MAAM,EAAE,QAAQ;QAChB,QAAQ,EAAE,SAAS,EAAE,qCAAqC;QAC1D,MAAM,EAAE,KAAK,EAAE,8BAA8B;QAC7C,KAAK,EAAE,KAAK;QACZ,QAAQ,EAAE,EAAE,EAAE,oBAAoB;QAClC,KAAK,EAAE;YACL
|
|
1
|
+
{"version":3,"file":"bundler.js","sourceRoot":"","sources":["../../../src/cli/deploy/bundler.ts"],"names":[],"mappings":"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"}
|
package/dist/runtime/cron.d.ts
CHANGED
package/dist/runtime/cron.js
CHANGED
package/dist/runtime/http.d.ts
CHANGED
package/dist/runtime/http.js
CHANGED
package/dist/runtime/migrate.js
CHANGED
|
@@ -17,7 +17,7 @@ export declare const secrets: {
|
|
|
17
17
|
*
|
|
18
18
|
* @example
|
|
19
19
|
* ```typescript
|
|
20
|
-
* import { secrets } from "
|
|
20
|
+
* import { secrets } from "flingit";
|
|
21
21
|
*
|
|
22
22
|
* const githubToken = secrets.get("GITHUB_TOKEN");
|
|
23
23
|
* const openaiKey = secrets.get("OPENAI_API_KEY");
|
package/dist/runtime/secrets.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "flingit",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.3",
|
|
4
4
|
"description": "Personal Software Platform - Build and deploy personal tools through conversation",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"engines": {
|
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
"scripts": {
|
|
36
36
|
"build": "tsc",
|
|
37
37
|
"dev": "tsx watch src/cli/index.ts",
|
|
38
|
-
"start": "
|
|
38
|
+
"start": "npm run cli --",
|
|
39
39
|
"cli": "npm run build && node dist/cli/index.js",
|
|
40
40
|
"cli-admin": "npm run build && node dist/cli-admin/index.js",
|
|
41
41
|
"typecheck": "tsc --noEmit",
|
|
@@ -57,7 +57,8 @@
|
|
|
57
57
|
"croner": "^9.1.0",
|
|
58
58
|
"dotenv": "^17.2.3",
|
|
59
59
|
"esbuild": "^0.27.2",
|
|
60
|
-
"hono": "^4.11.4"
|
|
60
|
+
"hono": "^4.11.4",
|
|
61
|
+
"tsx": "^4.19.0"
|
|
61
62
|
},
|
|
62
63
|
"devDependencies": {
|
|
63
64
|
"@eslint/js": "^9.39.2",
|
|
@@ -65,7 +66,6 @@
|
|
|
65
66
|
"@types/node": "^24.10.9",
|
|
66
67
|
"eslint": "^9.39.2",
|
|
67
68
|
"husky": "^9.1.7",
|
|
68
|
-
"tsx": "^4.19.0",
|
|
69
69
|
"typescript": "^5.7.0",
|
|
70
70
|
"typescript-eslint": "^8.53.0",
|
|
71
71
|
"vitest": "^4.0.17",
|
package/templates/default/.nvmrc
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
22
|
|
@@ -39,10 +39,10 @@ Run `npm start` (or `fling dev`) to start development:
|
|
|
39
39
|
|
|
40
40
|
## Fling API (Backend)
|
|
41
41
|
|
|
42
|
-
All primitives are imported from `"
|
|
42
|
+
All primitives are imported from `"flingit"` in the backend:
|
|
43
43
|
|
|
44
44
|
```typescript
|
|
45
|
-
import { app, db, migrate, secrets } from "
|
|
45
|
+
import { app, db, migrate, secrets } from "flingit";
|
|
46
46
|
```
|
|
47
47
|
|
|
48
48
|
### HTTP Routes (Hono)
|
|
@@ -7,7 +7,7 @@ Fling uses [Hono](https://hono.dev) for HTTP routing. The `app` export is a conf
|
|
|
7
7
|
### Basic Routes
|
|
8
8
|
|
|
9
9
|
```typescript
|
|
10
|
-
import { app } from "
|
|
10
|
+
import { app } from "flingit";
|
|
11
11
|
|
|
12
12
|
// GET request
|
|
13
13
|
app.get("/path", (c) => {
|
|
@@ -77,7 +77,7 @@ Database migrations run automatically on app startup. Each migration executes ex
|
|
|
77
77
|
### Basic Usage
|
|
78
78
|
|
|
79
79
|
```typescript
|
|
80
|
-
import { migrate, db } from "
|
|
80
|
+
import { migrate, db } from "flingit";
|
|
81
81
|
|
|
82
82
|
// Migrations run in alphabetical order by name
|
|
83
83
|
migrate("001_create_users", async () => {
|
|
@@ -224,7 +224,7 @@ SQLite locally, Cloudflare D1 in production. API matches D1.
|
|
|
224
224
|
### Queries
|
|
225
225
|
|
|
226
226
|
```typescript
|
|
227
|
-
import { db } from "
|
|
227
|
+
import { db } from "flingit";
|
|
228
228
|
|
|
229
229
|
// Single row
|
|
230
230
|
const user = await db.prepare("SELECT * FROM users WHERE id = ?")
|
|
@@ -300,7 +300,7 @@ migrate("001_create_users", async () => {
|
|
|
300
300
|
Secure credential management. Throws if secret not set.
|
|
301
301
|
|
|
302
302
|
```typescript
|
|
303
|
-
import { secrets } from "
|
|
303
|
+
import { secrets } from "flingit";
|
|
304
304
|
|
|
305
305
|
// Get a secret (throws if not set)
|
|
306
306
|
const apiKey = secrets.get("API_KEY");
|
|
@@ -7,7 +7,7 @@ Common patterns for building personal tools with Fling.
|
|
|
7
7
|
Protected endpoints with API key auth.
|
|
8
8
|
|
|
9
9
|
```typescript
|
|
10
|
-
import { app, db, secrets } from "
|
|
10
|
+
import { app, db, secrets } from "flingit";
|
|
11
11
|
|
|
12
12
|
const API_KEY = secrets.get("API_KEY");
|
|
13
13
|
|
|
@@ -64,7 +64,7 @@ app.get("/api/items/:id", requireAuth, async (c) => {
|
|
|
64
64
|
Process incoming webhooks and store data.
|
|
65
65
|
|
|
66
66
|
```typescript
|
|
67
|
-
import { app, db, secrets } from "
|
|
67
|
+
import { app, db, secrets } from "flingit";
|
|
68
68
|
|
|
69
69
|
async function initDb() {
|
|
70
70
|
await db.prepare(`
|
|
@@ -143,7 +143,7 @@ app.get("/events", async (c) => {
|
|
|
143
143
|
Pull data from an external API and store it.
|
|
144
144
|
|
|
145
145
|
```typescript
|
|
146
|
-
import { app, db, secrets, migrate } from "
|
|
146
|
+
import { app, db, secrets, migrate } from "flingit";
|
|
147
147
|
|
|
148
148
|
const API_TOKEN = secrets.get("DATA_API_TOKEN");
|
|
149
149
|
|
|
@@ -35,7 +35,7 @@ vite.config.ts # Vite configuration
|
|
|
35
35
|
|
|
36
36
|
```typescript
|
|
37
37
|
// Backend (src/worker/index.ts)
|
|
38
|
-
import { app, db, secrets } from "
|
|
38
|
+
import { app, db, secrets } from "flingit";
|
|
39
39
|
|
|
40
40
|
// HTTP routes - use /api prefix for Vite proxy
|
|
41
41
|
app.get("/api/hello", (c) => c.json({ message: "Hello!" }));
|