symlink-webpack-plugin

1.1.0 • Public • Published

Symlink Webpack Plugin

GitHub Workflow Status

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 = {
  // ...etc
  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 = {
  // ...etc
  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 = {
  // ...etc
  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

Readme

Keywords

Package Sidebar

Install

npm i symlink-webpack-plugin

Weekly Downloads

1,221

Version

1.1.0

License

MIT

Unpacked Size

5.66 kB

Total Files

5

Last publish

Collaborators

  • hmsk