A Bun plugin that resolves TypeScript path aliases from your tsconfig.json.
bun add -d bun-tsconfig-pathsAdd the plugin to your Bun.build() configuration:
import tsconfigPaths from "bun-tsconfig-paths";
await Bun.build({
entrypoints: ["./src/index.ts"],
outdir: "./dist",
plugins: [tsconfigPaths()],
});If your tsconfig.json is in a different location:
import tsconfigPaths from "bun-tsconfig-paths";
await Bun.build({
entrypoints: ["./src/index.ts"],
outdir: "./dist",
plugins: [tsconfigPaths({ tsConfigPath: "./packages/app/tsconfig.json" })],
});The plugin reads path aliases from your tsconfig.json:
{
"compilerOptions": {
"paths": {
"*": ["./src/*"],
"@/*": ["./src/*"],
"@components/*": ["./src/components/*"],
"@utils/*": ["./src/utils/*"]
}
}
}With this configuration, you can use imports like:
import { Button } from "@components/Button";
import { formatDate } from "@utils/date";Returns a Bun plugin that resolves TypeScript path aliases.
interface TsConfigPathsOptions {
tsConfigPath?: string; /** Path to tsconfig.json file */
}- Bun >= 1.0.0
- TypeScript >= 5.0
Contributions are welcome! Here's how you can help:
-
Fork the repository
-
Clone your fork
git clone https://github.com/your-username/bun-tsconfig-paths.git cd bun-tsconfig-paths -
Install dependencies
bun install
-
Make your changes
-
Run checks before submitting
bun format # Format code with Prettier bun lint # Type check with TypeScript bun test # Run tests bun run build # Build the project
-
Submit a Pull Request
This project is built upon and inspired by:
- tsconfig-paths - The core library that powers the path resolution logic
- bun-plugin-dts - Inspiration for the Bun plugin structure and build setup