Skip to content
Boost webpack startup time by lazily compiling dynamic imports
JavaScript Shell
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
lib fix: `Image` not defined on node (#6) Nov 17, 2019
scripts
tests feat: make entry lazy Nov 1, 2019
.gitignore
LICENSE
README.md
index.js
package.json
yarn.lock

README.md

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\(\)/
  ],
});
You can’t perform that action at this time.