Skip to content

Esbuild plugin for copying assets into the output directory of your bundle

License

Notifications You must be signed in to change notification settings

ZimNovich/esbuild-plugin-mxn-copy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

esbuild-plugin-mxn-copy

npm@latest Install size Downloads

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

About

Esbuild plugin for copying assets into the output directory of your bundle

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published