esbuild-plugin-file-copy
v2.0.0-next.0
Published
The plugin copies files to the esbuild out folder, ensuring that all required files are included alongside the built code.
Downloads
272
Maintainers
Readme
Add a ⭐ to this repository — it motivates me a lot!
⚡️ Getting started
Simply install this package with your package manager.
npm install -D esbuild-plugin-file-copy
Here are examples for installing the package with other package manager.
💾 yarn
yarn add -D esbuild-plugin-file-copy
💾 pnpm
pnpm install -D esbuild-plugin-file-copy
Looks good so far 🔥 — now you have installed the latest version!
💡 Introduction
This esbuild plugin simply copies specified files to the output folder during the build process. It reads a list of file paths or patterns, then moves those files into the output directory after esbuild finishes bundling.
The plugin ensures that static assets, such as images or configuration files, are included in the final build. It’s lightweight and works without altering the bundling process itself. By automating file copying, it reduces manual steps and keeps the build process smooth and consistent.
🔧 Usage
fileCopyPlugin(options);
This function needs to be called inside the esbuild configuration in order to use this plugin. It will provide the plugin inside the build process of esbuild.
esbuild.build({
// some esbuild configuration...
plugins: [
fileCopyPlugin(
// configure it here...
);
// more esbuild plugins here...
]
})
Properties
inputs
Default:
undefined
A Array
of object
with the following properties:
{
from: string,
to: string
}
Any file or directory from the source path (from
key) will be copied to the target path (to
key).
The file name will be kept while copying the file from source path to target path.
fileCopyPlugin({
inputs: [{
from: "my-lib/example.ts", // input path
to: "dist/my-lib" // copied to path
}]
});
globs
Default:
undefined
A Array
of object
with the following properties:
{
from: string,
to: string
}
Any matching file or directory from the source path (from
key) will be copied to the target path (to
key).
The file name will be kept while copying the file from source path to target path.
This option enables the use of glob patterns. See here for more about glob patterns.
fileCopyPlugin({
globs: [{
from: "my-lib/**/*.env", // input path
to: "dist/my-lib" // copied to path
}]
});
Returns
Type: Plugin
An instance of this plugin, that will be used by esbuild automatically.
License
The MIT License (MIT) - Please have a look at the License file for more details.
Contributing
Want to contribute to an open-source project on GitHub but unsure where to start? Check out this comprehensive step-by-step guide on how to contribute effectively!
From forking the repository to creating pull requests, this guide walks you through every stage of the process, helping you make a successful contribution to this GitHub project. Start collaborating, learn new skills, and make an impact on this project!
See here for the contribute guide at GitHub.
GitHub @simonkovtyk