esbuild-plugin-mxn-copy
v1.0.1
Published
Esbuild plugin for copying assets into the output directory of your bundle
Downloads
38
Maintainers
Readme
esbuild-plugin-mxn-copy
A Esbuild plugin for copying assets into the output directory of your bundle
- ~12.7kb size
Install
$ npm install --save-dev esbuild-plugin-mxn-copy
Usage
Suppose we have a bunch of assets in ./src
directory:
# ls -1 ./src
index.html
index.js
logo.svg
preact
We want some of these files to be copied over into the output folder of our esbuild bundle.
Create a esbuild.config.js
build script file and import the plugin:
// esbuild.config.js
import { build } from "esbuild";
import esbuildMxnCopy from "esbuild-plugin-mxn-copy";
// ... other imports, etc ...
build({
entryPoints: {
bundle: "src/index.js"
},
bundle: true,
minify: false,
sourcemap: true,
outdir: "dist",
// ...
plugins: [
esbuildMxnCopy({
copy: [
// You can include files & directories
{ from: "src/index.html", to: "dist/index.html" },
{ from: "src/logo.svg", to: "dist/" },
{ from: "src/preact", to: "dist/preact" }
],
verbose: true
})
],
// ...
})
.catch((e) => console.error(e.message));
Then call node esbuild.config.js
or add a build script to your package.json
file like this:
{
"scripts": {
"build": "node esbuild.config.js"
}
}
The build script can now be invoked like this:
$ npm run build
On final bundle generation the provided files will be copied over into the output folder of your rollup bundle, maintaining the original hierarchy and relativity to the input file.
Options
This plugin has the following configuration options:
| Property | Description | Default |
|---------------|----------------|--------------|
| copy
| An array of objects with paths to files or directories to copy from
source to
destination. | []
|
| verbose
| This option will output additional information about operations being performed. | false
|
| restrictive
| Enabling this option restricts access to all directories, except for input and output. | false
|
License
This module is released under the MIT license.
Related
- rollup-plugin-mxn-copy - Rollup plugin for copying assets into the output directory of your bundle
- rollup-plugin-mxn-jsx - Rollup JSX plugin that transpiles JSX into JavaScript
- rollup-plugin-mxn-svg - Rollup plugin that imports SVG files as JSX components