@awalgawe/esbuild-typescript-paths-plugin
TypeScript icon, indicating that this package has built-in type declarations

1.0.1 • Public • Published

@awalgawe/esbuild-typescript-paths-plugin

A plugin for esbuild that resolves TypeScript path aliases during the build process.

Installation

You can install the plugin using npm or yarn:

npm install --save-dev @awalgawe/esbuild-typescript-paths-plugin

or

yarn add --dev @awalgawe/esbuild-typescript-paths-plugin

Usage

To use the TypeScript Paths Plugin, you need to import it and add it to your esbuild plugins list. Here's an example of how you can set it up:

import { build } from 'esbuild';
import { tsPathsPlugin } from '@awalgawe/esbuild-typescript-paths-plugin';

build({
  entryPoints: ['src/main.ts'],
  bundle: true,
  outfile: 'dist/bundle.js',
  plugins: [tsPathsPlugin()],
  tsconfig: './path/to/your/tsconfig.json', // Optional: Path to your TypeScript configuration file.
  absWorkingDir: __dirname, // Optional: Absolute working directory for resolving paths.
}).catch(() => process.exit(1));

or without bundling:

import { build } from 'esbuild';
import { tsPathsPlugin } from '@awalgawe/esbuild-typescript-paths-plugin';

build({
  entryPoints: ['src/**/*.ts'],
  outdir: 'dist',
  plugins: [tsPathsPlugin()],
  tsconfig: './path/to/your/tsconfig.json', // Optional: Path to your TypeScript configuration file.
  absWorkingDir: __dirname, // Optional: Absolute working directory for resolving paths.
}).catch(() => process.exit(1));

Make sure you have a valid tsconfig.json file with the required path mappings in your project root.

{
  "compilerOptions": {
    // ...
    "baseUrl": ".",
    "paths": {
      "#app/*": ["src/*"]
    }
  }
}

How It Works

The plugin works by intercepting the import statements in your TypeScript files and resolving the path aliases defined in your tsconfig.json file. It uses the TypeScript compiler API to parse and resolve the import paths. If an alias is found, it replaces the import path with the actual resolved path during the build process.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Acknowledgments

This plugin is inspired by the need to handle TypeScript path aliases in projects built with esbuild.

Contributing

Contributions are welcome! If you find a bug or want to add a new feature, feel free to open an issue or submit a pull request.

Alternatives

Package Sidebar

Install

npm i @awalgawe/esbuild-typescript-paths-plugin

Weekly Downloads

1

Version

1.0.1

License

ISC

Unpacked Size

30 kB

Total Files

21

Last publish

Collaborators

  • awalgawe