UNPKG

esbuild-plugin-alias-path

Version:
42 lines 3.01 kB
{ "name": "esbuild-plugin-alias-path", "version": "2.0.2", "description": "ESBuild plugin for alias path.", "keywords": [ "ESBuild", "plugin" ], "homepage": "https://github.com/LinbuduLab/esbuild-plugins/tree/master/packages/esbuild-plugin-copy#readme", "changelog": "https://github.com/LinbuduLab/esbuild-plugins/blob/main/packages/esbuild-plugin-copy/CHANGELOG.md", "bugs": { "url": "https://github.com/LinbuduLab/esbuild-plugins/issues" }, "repository": { "type": "git", "url": "git+https://github.com/LinbuduLab/esbuild-plugins.git" }, "license": "MIT", "author": "Linbudu <linbudu599@gmail.com> (https://github.com/linbudu599)", "main": "dist/index.js", "typings": "dist/index.d.ts", "exports": { ".": { "require": "./dist/index.js", "import": "./dist/index.mjs", "types": "./dist/index.d.ts" } }, "dependencies": { "find-up": "5.0.0", "fs-extra": "^10.1.0", "jsonfile": "^6.1.0" }, "peerDependencies": { "esbuild": ">= 0.14.0" }, "scripts": { "dev": "tsup src/index.ts --watch --dts --format esm", "build": "rm -rf dist && tsup src/index.ts --config ../../tsup.config.ts" }, "readme": "# esbuild-plugin-alias-path\n\nESBuild plugin for alias path replacement.\n\n- [Author](https://github.com/linbudu599)\n- [GitHub Repo](https://github.com/LinbuduLab/esbuild-plugins/tree/master/packages/esbuild-plugin-alias-path#readme)\n- [Changelog](https://github.com/LinbuduLab/esbuild-plugins/blob/main/packages/esbuild-plugin-alias-path/CHANGELOG.md)\n\n## Usage\n\n```bash\nnpm install esbuild-plugin-alias-path --save-dev\npnpm install esbuild-plugin-alias-path --save-dev\nyarn add esbuild-plugin-alias-path --save-dev\n```\n\n```typescript\nimport { build } from 'esbuild';\nimport { aliasPath } from 'esbuild-plugin-alias-path';\n\n(async () => {\n const res = await build({\n entryPoints: ['./src/main.ts'],\n bundle: true,\n outfile: './dist/main.js',\n plugins: [\n aliasPath({\n alias: { '@foo': './src/alias/foo.ts' },\n }),\n ],\n });\n})();\n\n// src/main.ts\nimport { FOO } from '@foo';\nconsole.log(FOO);\n\n// src/alias/foo.ts\nexport const FOO = 'foo';\n\n// Output dist/main.js\nimport { FOO } from './src/alias/foo.ts';\n```\n\n## Configurations\n\nYou can also use syntax `*` like `@alias/*`, this will explore all the files in the directory and replace the path.\n\n> Use `@alias/*` instead of `@alias/**/*`\n\n```typescript\naliasPath({\n alias: {\n '@alias/*': path.resolve(__dirname, './src/alias'),\n },\n});\n```\n\nFor example:\n\n```text\n|- alias\n|- |- foo.ts\n|-- nested\n|-- |- bar.ts\n```\n\nWill be replaced to:\n\n```text\n@alias/foo.ts -> ./src/alias/foo.ts\n@alias/nested/bar.ts -> ./src/alias/nested/bar.ts\n\n```\n\n**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.**\n" }