Skip to content

nikero41/bun-tsconfig-paths

Repository files navigation

bun-tsconfig-paths

Licence CI Dependabot npm npm downloads

A Bun plugin that resolves TypeScript path aliases from your tsconfig.json.

Installation

bun add -d bun-tsconfig-paths

Usage

With Bun's Bundler

Add the plugin to your Bun.build() configuration:

import tsconfigPaths from "bun-tsconfig-paths";

await Bun.build({
	entrypoints: ["./src/index.ts"],
	outdir: "./dist",
	plugins: [tsconfigPaths()],
});

With Custom tsconfig Path

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" })],
});

Example 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";

API

tsconfigPaths(options?)

Returns a Bun plugin that resolves TypeScript path aliases.

Options

interface TsConfigPathsOptions {
	tsConfigPath?: string; /** Path to tsconfig.json file */
}

Requirements

  • Bun >= 1.0.0
  • TypeScript >= 5.0

Contributing

Contributions are welcome! Here's how you can help:

  1. Fork the repository

  2. Clone your fork

    git clone https://github.com/your-username/bun-tsconfig-paths.git
    cd bun-tsconfig-paths
  3. Install dependencies

    bun install
  4. Make your changes

  5. 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
  6. Submit a Pull Request

Acknowledgements

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

About

Resolve paths aliases from tsconfig.json

Topics

Resources

License

Stars

Watchers

Forks

Contributors 2

  •  
  •