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);
|
||||
app = await makeConfigApp(config, options.server);
|
||||
} 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);
|
||||
}
|
||||
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.
|
||||
|
||||
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
|
||||
|
||||
To start an instance with a Turso/LibSQL database, run the following:
|
||||
|
||||
Reference in New Issue
Block a user