esbuild-plugin-alias-path
TypeScript icon, indicating that this package has built-in type declarations

2.0.2 • Public • Published

esbuild-plugin-alias-path

ESBuild plugin for alias path replacement.

Usage

npm install esbuild-plugin-alias-path --save-dev
pnpm install esbuild-plugin-alias-path --save-dev
yarn add esbuild-plugin-alias-path --save-dev
import { build } from 'esbuild';
import { aliasPath } from 'esbuild-plugin-alias-path';

(async () => {
  const res = await build({
    entryPoints: ['./src/main.ts'],
    bundle: true,
    outfile: './dist/main.js',
    plugins: [
      aliasPath({
        alias: { '@foo': './src/alias/foo.ts' },
      }),
    ],
  });
})();

// src/main.ts
import { FOO } from '@foo';
console.log(FOO);

// src/alias/foo.ts
export const FOO = 'foo';

// Output dist/main.js
import { FOO } from './src/alias/foo.ts';

Configurations

You can also use syntax * like @alias/*, this will explore all the files in the directory and replace the path.

Use @alias/* instead of @alias/**/*

aliasPath({
  alias: {
    '@alias/*': path.resolve(__dirname, './src/alias'),
  },
});

For example:

|- alias
|- |- foo.ts
|-- nested
|-- |- bar.ts

Will be replaced to:

@alias/foo.ts -> ./src/alias/foo.ts
@alias/nested/bar.ts -> ./src/alias/nested/bar.ts

NOTE: In TypeScript project, compilerOptions.paths in tsconfig.json will be used by ESBuild automatically, so you will need this plugin only when you're going to replace the alias dynamically.

Dependencies (3)

Dev Dependencies (0)

    Package Sidebar

    Install

    npm i esbuild-plugin-alias-path

    Weekly Downloads

    3,238

    Version

    2.0.2

    License

    MIT

    Unpacked Size

    13.9 kB

    Total Files

    8

    Last publish

    Collaborators

    • linbudu