@amoklab/esbuild-copy-files
v0.0.2
Published
Esbuild plugin to copy files from directory or file
Readme
esbuild-copy-files
A lightweight esbuild plugin for copying files or directories during builds.
Install
pnpm add -D @amoklab/esbuild-copy-files esbuildUsage
esbuild
import { build } from 'esbuild';
import { copy } from '@amoklab/esbuild-copy-files';
await build({
entryPoints: ['src/index.ts'],
outfile: 'dist/index.js',
plugins: [copy([{ from: 'sample', to: 'dist/sample' }])],
});tsup
import { defineConfig } from 'tsup';
import { copy } from './src';
export default defineConfig({
entry: ['src/index.ts'],
format: ['esm'],
tsconfig: 'tsconfig.json',
dts: true,
clean: true,
sourcemap: false,
esbuildPlugins: [copy({ from: 'sample', to: 'sample-output' })],
});You can copy either a single file or an entire directory. If the source is a directory, its contents are copied recursively.
Available API
copy(options)
Creates an esbuild plugin instance.
copy(options: CopyPluginOptions | CopyPluginOptions): PluginCopyPluginOptions
interface CopyPluginOptions {
from: string;
to: string;
on?: 'onStart' | 'onEnd' = 'onEnd';
}Options
from: Source file or directory to copy.to: Destination file or directory.on: When to run the copy step. Defaults toonEnd.
Notes
- The plugin uses esbuild lifecycle hooks
