mirror of
https://github.com/bknd-io/bknd/
synced 2026-08-02 08:06:00 +00:00
fix(cli): support loading bknd.config.ts and detect runtime mismatch
Add jiti to handle TypeScript config imports natively in the CLI, removing the need for npx tsx or --experimental-strip-types workarounds. Detect Bun adapter usage under Node and suggest running CLI with the correct runtime. Closes #360
This commit is contained in:
@@ -112,7 +112,14 @@ export async function makeAppFromEnv(options: Partial<RunOptions> = {}) {
|
|||||||
const config = await loadConfigFile(configFilePath);
|
const config = await loadConfigFile(configFilePath);
|
||||||
app = await makeConfigApp(config, options.server);
|
app = await makeConfigApp(config, options.server);
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
|
if (e instanceof ReferenceError && e.message === "Bun is not defined") {
|
||||||
|
console.error(
|
||||||
|
c.red("Your config imports from a Bun-specific adapter, but the CLI is running under Node."),
|
||||||
|
`\nRun with Bun instead:\n\n ${c.cyan("bun node_modules/.bin/bknd")} ${c.dim(process.argv.slice(2).join(" "))}\n`,
|
||||||
|
);
|
||||||
|
} else {
|
||||||
console.error("Failed to load config:", e);
|
console.error("Failed to load config:", e);
|
||||||
|
}
|
||||||
process.exit(1);
|
process.exit(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -97,6 +97,12 @@ The `app` function is useful if you need a cross-platform way to access the envi
|
|||||||
|
|
||||||
TypeScript configuration files (`.ts`) are fully supported and work out of the box with `npx bknd run` — no additional flags or tools required.
|
TypeScript configuration files (`.ts`) are fully supported and work out of the box with `npx bknd run` — no additional flags or tools required.
|
||||||
|
|
||||||
|
If your config imports from a runtime-specific adapter (e.g. `bknd/adapter/bun`), you need to run the CLI with that runtime:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
bun node_modules/.bin/bknd run
|
||||||
|
```
|
||||||
|
|
||||||
### Turso/LibSQL database
|
### Turso/LibSQL database
|
||||||
|
|
||||||
To start an instance with a Turso/LibSQL database, run the following:
|
To start an instance with a Turso/LibSQL database, run the following:
|
||||||
|
|||||||
Reference in New Issue
Block a user