/lazy-compile-webpack-plugin

Boost webpack startup time by lazily compiling dynamic imports

Primary LanguageJavaScriptMIT LicenseMIT

Lazy Compile Webpack Plugin

Plugin that saves a tremendous amount of time.

Why

Starting the development server is taking you a long time when the codebase is large. You have tried dynamic imports, it only does a load-on-demand, the whole project was still been compiled. We don't want to wait a couple of minutes for a simple modification. People don't waste time for the things they have never used!

Install

# npm
npm i -D lazy-compile-webpack-plugin

# yarn
yarn add -D lazy-compile-webpack-plugin

Usage

const LazyCompilePlugin = require('lazy-compile-webpack-plugin');

module.exports = {
  entry: 'index.js',
  output: {
    path: __dirname + '/dist',
    filename: 'bundle.js',
  },
  plugins: [new LazyCompilePlugin()],
};

Options

Name Type Default Description
refreshAfterCompile boolean false Enable/Disable page refresh when compilation is finish
ignores RegExp[] | Function[] undefined Request to be ignored from lazy compiler

refreshAfterCompile

Type: boolean Default: false

Set false for a seamless dev experience.

ignores

Type: RegExp[] | ((request: string, wpModule: object) => boolean) Default: undefined

Request to be ignored from lazy compiler, html-webpack-plugin is always ignored.

Specifically, an Angular app should enable this option like following:

new LazyCompileWebpackPlugin({
  ignores: [
    /\b(html|raw|to-string)-loader\b/,
    /\bexports-loader[^?]*\?exports\.toString\(\)/
  ],
});