Symlink Webpack Plugin

A webpack plugin to make symbolic links for emitted file.
Installation
npm i -D symlink-webpack-plugin
Usage
In your webpack config:
const SymlinkWebpackPlugin = require('symlink-webpack-plugin');
module.exports = {
plugins: [
new SymlinkWebpackPlugin({ origin: 'index.html', symlink: '200.html' })
]
};
This setting makes symbolic link file [ouput_path]/200.html
to [ouput_path]/index.html
.
You can give configurations as Array
const SymlinkWebpackPlugin = require('symlink-webpack-plugin');
module.exports = {
plugins: [
new SymlinkWebpackPlugin([
{ origin: 'index.html', symlink: '200.html' },
{ origin: 'index.html', symlink: 'error_pages/404.html' },
])
]
};
force
option (default: false
)
const SymlinkWebpackPlugin = require('symlink-webpack-plugin');
module.exports = {
plugins: [
new SymlinkWebpackPlugin([
{ origin: 'index.html', symlink: '200.html', force: true },
{ origin: 'index.html', symlink: '404.html' },
])
]
};
The plugin doesn't make any symlink if a directory for a destination doesn't exist as default.
Passing an option force: true
, will create it regardless.
When directories of symlink don't exist, force
option allows to dig. For instance, what if a config has symlink: 'one/two/200.html'
but one/two/
dir doesn't exist when the plugin runs, one
, one/two
directories will be created.
hook
option (default: afterEmit
)
You can point an exact compiler hook to make a symlink.
{ origin: 'index.html', symlink: '200.html', hook: 'entryOption' },
Development
yarn
yarn test
License
MIT