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.

Readme

Keywords

Package Sidebar

Install

npm i esbuild-plugin-alias-path

Weekly Downloads

3,903

Version

2.0.2

License

MIT

Unpacked Size

13.9 kB

Total Files

8

Last publish

Collaborators

  • linbudu