A webpack-block for copy-webpack-plugin.
Version compatibility:
- webpack-blocks v0.x -> webpack-blocks-copy v1.x (@latest)
- webpack-blocks v1.x -> DEPRECATED: Merged into webpack-blocks-utils
$ yarn add --dev webpack-blocks-copy
or
$ npm install --save-dev webpack-blocks-copy
The most basic way to use the plugin is to import copy
and use it to define simple from, to pairs that are added to the list of patterns used when the plugin is instantiated.
import {createConfig, entryPoint, setOutput} from '@webpack-blocks/webpack2'
import babel from '@webpack-blocks/babel6'
import {copy} from './src/webpack-block-copy'
export default createConfig([
entryPoint(['babel-polyfill', './src/Main.js']),
setOutput('./build/bundle.js'),
babel(),
copy('assets/robots.txt', 'robots.txt'),
copy('assets/favicon.ico', 'favicon.ico'),
])
This would result in the following copy plugin config:
new CopyWebpackPlugin([
{from: 'assets/robots.txt', to: 'robots.txt'},
{from: 'assets/favicon.ico', to: 'favicon.ico'},
])
If you need to use more advanced patterns, described here, use the copyPattern
function:
import {createConfig} from '@webpack-blocks/webpack2'
import {copyPattern} from './src/webpack-block-copy'
export default createConfig([
copyPattern({
context: 'from/directory',
from: '**/*',
to: '/absolute/path',
}),
])
If you need to set options, use the copyOptions
function:
import {createConfig} from '@webpack-blocks/webpack2'
import {copyOptions} from './src/webpack-block-copy'
export default createConfig([
copyOptions({copyUnmodified: true}),
])
See the options list here.
This project is licensed under MIT.