a webpack plugin that allows you to dynamically add a loader after the initial build has occurred (useful when using watch)

Downloads in past


2.0.07 years ago8 years agoMinified + gzip package size for apply-loader-after-first-build-webpack-plugin in KB


Apply Loader After First Build Webpack Plugin

This is a webpack plugin that is meant to be used in watch mode to dynamically add loaders to your webpack config following the first completed build. The plugin than dynamically updates the include list of watched files for the loader to only include files that have changed or new files. The use case in my head for this was incrementally adding linting to a project but I'm sure there are other use cases.


npm i apply-loader-after-first-build-webpack-plugin --save-dev
I went with npm i instead of npm install because the module name seemed wordy enough.
You pass in arguments to this plugin the same way you would pass loaders to the module key in webpack. The only difference is they won't run on first build. It will work for preLoaders, loaders, and postLoaders.
const ApplyLoaderAfterFirstBuildPlugin = require('apply-loader-after-first-build-webpack-plugin');

var incrementalLoader = [{
  test: /\.js$/,
  loader: "eslint-loader",

var incrementalPreLoader = [{
  test: /\.js$/,
  loader: "eslint-loader",

var incrementalPostLoader = [{
  test: /\.js$/,
  loader: "eslint-loader",
/* in plugins section of webpack config */ 
  plugins: [
    new ApplyLoaderAfterFirstBuildPlugin({
      preLoaders: incrementalPreLoader,
      loaders: incrementalLoader,
      postLoaders: incrementalPostLoader

You can also pass in an include key to the loader and these files will have the loader applied immediately. Note that this currently only supports include in the array format.
And thats it, please feel free to reach out through issues with any bugs/missing docs/feature requests etc..