Giter VIP home page Giter VIP logo

html-webpack-harddisk-plugin's Introduction

Harddisk extension for the HTML Webpack Plugin

npm version Dependency Status Build Status js-semistandard-style

Enhances html-webpack-plugin functionality by adding the {alwaysWriteToDisk: true|false} option.

This is an extension plugin for the webpack plugin html-webpack-plugin - a plugin that simplifies the creation of HTML files to serve your webpack bundles.

Installation

You must be running webpack on node 10.x or higher

Install the plugin with npm:

$ npm install --save-dev html-webpack-harddisk-plugin

Basic Usage

Require the plugin in your webpack config:

const HtmlWebpackHarddiskPlugin = require('html-webpack-harddisk-plugin');

Add the plugin to your webpack config as follows:

plugins: [
  new HtmlWebpackPlugin(),
  new HtmlWebpackHarddiskPlugin()
]  

The above configuration will actually do nothing due to the configuration defaults.

As soon as you now set alwaysWriteToDisk to true the generated output of the HtmlWebpackPlugin will always be written to disk. This is very useful if you want to pick up the output with another middleware.

plugins: [
  new HtmlWebpackPlugin({
		alwaysWriteToDisk: true
	}),
  new HtmlWebpackHarddiskPlugin()
]  

Even if you generate multiple files make sure that you add the HtmlWebpackHarddiskPlugin only once:

plugins: [
  new HtmlWebpackPlugin({
		alwaysWriteToDisk: true
	}),
  new HtmlWebpackPlugin({
		alwaysWriteToDisk: true,
		filename: 'demo.html'
	}),
  new HtmlWebpackPlugin({
		alwaysWriteToDisk: false,
		filename: 'test.html'
	}),
  new HtmlWebpackHarddiskPlugin()
]  

If you need to set the output path explicitly (for example when using with webpack-dev-server middleware) then pass in the outputPath option:

new HtmlWebpackHarddiskPlugin({
  outputPath: path.resolve(__dirname, 'views')
})

html-webpack-harddisk-plugin's People

Contributors

andrewraycode avatar captemulation avatar dependabot[bot] avatar dogmatico avatar eterion avatar jantimon avatar jrparish avatar ndelangen avatar numical avatar ragnarok56 avatar sebastiengllmt avatar wallzero avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

html-webpack-harddisk-plugin's Issues

Generated output doesn't include the HTML template

When using this plugin, the generated output has a string with a path to the temporary filename and the injected tags but it doesn't have any of the HTML from my template.

Here's the output of the generated file:
/iris/public/home.12e4a8c9.ejs<script type="text/javascript" src="/iris/manifest.dc97a6da73ae1889df8e.js"></script><script type="text/javascript" src="/iris/vendor.fe1e915f376f63bfdcae.js"></script><script type="text/javascript" src="/iris/main.07a9ccadf18564e90313.js"></script>

My template at src/home.ejs looks like this:

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <meta http-equiv="x-ua-compatible" content="ie=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <% newrelic && newrelic.getBrowserTimingHeader() %>

  <title><%= title %></title>

  <link rel="shortcut icon" href="favicon.ico">
  <link rel="manifest" href="manifest.json">
</head>
<body style="margin:0px;">
  <!-- Display a message if JS has been disabled on the browser. -->
  <noscript>If you're seeing this message, that means <strong>JavaScript has been disabled on your browser</strong>, please <strong>enable JS</strong> to make this app work.</noscript>

  <!-- The app hooks into this div -->
  <div id="root">
    <div class="splash ncss-brand">
      <div class="message">CMS</div>
      <div class="spinner"></div>
    </div>
  </div>
</body>
</html>

Here is my webpack config:

const path = require('path');
const webpack = require('webpack');
const HtmlWebpackPlugin = require('html-webpack-plugin');
const HtmlWebpackHarddiskPlugin = require('html-webpack-harddisk-plugin');
const ExtractTextPlugin = require('extract-text-webpack-plugin');
const CaseSensitivePathsPlugin = require('case-sensitive-paths-webpack-plugin');
const WatchMissingNodeModulesPlugin = require('react-dev-utils/WatchMissingNodeModulesPlugin');
const ModuleScopePlugin = require('react-dev-utils/ModuleScopePlugin');
const eslintFormatter = require('react-dev-utils/eslintFormatter');

const ENV = process.argv.indexOf('-p') !== -1 ? 'production' : process.env.NODE_ENV || 'development';
const isHosted = (ENV === 'production');

module.exports = {
  devtool: 'cheap-module-eval-source-map',
  entry: {
    main: [
      require.resolve('./polyfills'),
      path.resolve('./src/index'),
    ],
  },
  output: {
    path: path.join(__dirname, 'dist'),
    // Long-term bundle caching is achieved with content-based hashing policy using chunkhash
    filename: '[name].[chunkhash].js',
    publicPath: '/iris/',
    // Point sourcemap entries to original disk location
    devtoolModuleFilenameTemplate: info => path.resolve(info.absoluteResourcePath),
  },
  module: {
    rules: [
      // First, run the linter.
      // It's important to do this before Babel processes the JS.
      {
        test: /\.(js|jsx)$/,
        enforce: 'pre',
        use: [
          {
            options: {
              formatter: eslintFormatter,
            },
            loader: require.resolve('eslint-loader'),
          },
        ],
        include: path.resolve('./src'),
      },
      // The "file" loader handles all assets unless explicitly excluded.
      // The `exclude` list *must* be updated with every change to loader extensions.
      // When adding a new loader, you must add its `test`
      // as a new entry in the `exclude` list for "file" loader.

      // "file" loader makes sure those assets get served by WebpackDevServer.
      // When you `import` an asset, you get its (virtual) filename.
      // In production, they would get copied to the `build` folder.
      {
        exclude: [
          /\.html$/,
          /\.(js|jsx)$/,
          /\.css$/,
          /\.json$/,
          /\.bmp$/,
          /\.gif$/,
          /\.jpe?g$/,
          /\.png$/,
        ],
        loader: require.resolve('file-loader'),
        options: {
          name: 'public/[name].[hash:8].[ext]',
        },
      },
      // "url" loader works like "file" loader except that it embeds assets
      // smaller than specified limit in bytes as data URLs to avoid requests.
      // A missing `test` is equivalent to a match.
      {
        test: [/\.bmp$/, /\.gif$/, /\.jpe?g$/, /\.png$/],
        loader: require.resolve('url-loader'),
        options: {
          limit: 10000,
          name: 'public/[name].[hash:8].[ext]',
        },
      },
      // Process JS with Babel.
      {
        test: /\.(js|jsx)$/,
        include: path.resolve('./src'),
        loader: require.resolve('babel-loader'),
        options: {
          // This is a feature of `babel-loader` for webpack (not Babel itself).
          // It enables caching results in ./node_modules/.cache/babel-loader/
          // directory for faster rebuilds.
          cacheDirectory: true,
        },
      },
    ],
  },
  plugins: [
    new webpack.DefinePlugin({
      // Make process.env.NODE_ENV available to source code during webpack bundling
      'process.env': {
        NODE_ENV: JSON.stringify(ENV),
      },
    }),
    new ExtractTextPlugin({ filename: 'bundle.css', disable: false, allChunks: true }),
    new webpack.optimize.CommonsChunkPlugin({
      name: 'vendor',
      // Grab all vendor imports in the node_modules directory
      minChunks: module => module.context && module.context.indexOf('node_modules') !== -1,
    }),
    // Extract all the common modules from vendor and main bundles
    // Since there are no more common modules between them we end up with just the
    // runtime code included in the manifest file. This allows the filename to remain unchanged
    // so that the browser can cache the files, even between deploys!
    new webpack.optimize.CommonsChunkPlugin({
      name: 'manifest',
    }),
    new HtmlWebpackPlugin({
      inject: true,
      // cache: true,
      filename: 'index.ejs',
      template: 'src/home.ejs',
      alwaysWriteToDisk: true,
      minify: {
        removeComments: true,
        collapseWhitespace: isHosted,
        removeRedundantAttributes: true,
        useShortDoctype: true,
        removeEmptyAttributes: true,
        removeStyleLinkTypeAttributes: true,
        keepClosingSlash: true,
        minifyJS: isHosted,
        minifyCSS: isHosted,
        minifyURLs: isHosted,
      },
    }),
    new HtmlWebpackHarddiskPlugin({
      outputPath: path.resolve(__dirname, 'views'),
    }),
    // Watcher doesn't work well if you mistype casing in a path so we use
    // a plugin that prints an error when you attempt to do this.
    // See https://github.com/facebookincubator/create-react-app/issues/240
    new CaseSensitivePathsPlugin(),
    // If you require a missing module and then `npm install` it, you still have
    // to restart the development server for Webpack to discover it. This plugin
    // makes the discovery automatic so you don't have to restart.
    // See https://github.com/facebookincubator/create-react-app/issues/186
    new WatchMissingNodeModulesPlugin(path.join(__dirname, 'node_modules')),
    // Moment.js is an extremely popular library that bundles large locale files
    // by default due to how Webpack interprets its code. This is a practical
    // solution that requires the user to opt into importing specific locales.
    // https://github.com/jmblog/how-to-optimize-momentjs-with-webpack
    // You can remove this if you don't use Moment.js:
    new webpack.IgnorePlugin(/^\.\/locale$/, /moment$/),
  ],
  resolve: {
    modules: [
      'node_modules',
      path.resolve('./node_modules'),
    ],
    alias: {
      // Support React Native Web
      // https://www.smashingmagazine.com/2016/08/a-glimpse-into-the-future-with-react-native-for-web/
      'react-native': 'react-native-web',
    },
    // These are the reasonable defaults supported by the Node ecosystem.
    // We also include JSX as a common component filename extension to support
    // some tools, although we do not recommend using it, see:
    // https://github.com/facebookincubator/create-react-app/issues/290
    extensions: ['.js', '.jsx', '.json'],
    plugins: [
      // Prevents users from importing files from outside of src/ (or node_modules/).
      // This often causes confusion because we only process files within src/ with babel.
      // To fix this, we prevent you from importing files out of src/ -- if you'd like to,
      // please link the files into your node_modules/ and let module-resolution kick in.
      // Make sure your source files are compiled, as they will not be processed in any way.
      new ModuleScopePlugin(path.resolve('./src')),
    ],
  },
  externals: {
    'react/addons': true,
    'react/lib/ExecutionEnvironment': true,
    'react/lib/ReactContext': true,
  },
  // Some libraries import Node modules but don't use them in the browser.
  // Tell Webpack to provide empty mocks for them so importing them works.
  node: {
    fs: 'empty',
    net: 'empty',
    tls: 'empty',
  },
};

I've tried just about every combination of options and can't seem to produce the actual HTML from the template with the injected scripts into views/index.ejs.

html-webpack-harddisk-plugin may not be compatible with webpack v4

After i upgraded webpack to v4, html-webpack-harddisk-plugin did not work anymore.

my devDependencies:

"devDependencies": {
        ...
        "html-webpack-harddisk-plugin": "^0.1.0",
        "html-webpack-plugin": "webpack-contrib/html-webpack-plugin",
        ...
        "webpack": "^4.0.1",
        "webpack-cli": "^2.0.9",
        "webpack-dev-server": "^3.0.0",
         ...
    },

my webpack config

...
new HtmlWebpackPlugin({
    filename: path.join(__dirname, '/dist/app.dev.html'),
    template: path.join(__dirname, 'src/App.dev.html'),
    inject: true,
    alwaysWriteToDisk: true,
    minify: {
        removeComments: false,
        collapseWhitespace: false,
    },
}),
new HtmlWebpackHarddiskPlugin(),
...

error info:

yarn run v1.2.1
$ NODE_ENV=development webpack-dev-server --compress --progress --public --config webpack.config.js --mode development
 10% building modules 1/1 modules 0 activeGenerating SSL Certificate               
(node:45602) DeprecationWarning: Tapable.plugin is deprecated. Use new API on `.hooks` instead
(node:45602) DeprecationWarning: Tapable.apply is deprecated. Call apply on the plugin directly instead

Project is running at https://0.0.0.0:9393/
webpack output is served from /dist/
404s will fallback to /dist/app.dev.html                                                                                                                                                                                       95% emitting unnamed compat plugin/Users/sunchaoran/Projects/arthas/node_modules/html-webpack-harddisk-plugin/index.js:41
      callback(null);
      ^

TypeError: callback is not a function
    at /Users/sunchaoran/Projects/arthas/node_modules/html-webpack-harddisk-plugin/index.js:41:7
    at /Users/sunchaoran/Projects/arthas/node_modules/graceful-fs/graceful-fs.js:43:10
    at FSReqWrap.oncomplete (fs.js:135:15)
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

Issue with output path option

From documentation:

new HtmlWebpackHarddiskPlugin({
  outputPath: path.resolve(__dirname, 'views')
})

If I build my project then everything is fine and dist/ folder looks properly with a proper index.html within (this way I double check that HtmlWebpackPlugin config is proper and working). But If I run dev-server, I always receive the same error:

Unhandled rejection TypeError: Path must be a string. Received undefined
    at assertPath (path.js:7:11)
    at Object.resolve (path.js:1146:7)
    at HtmlWebpackHarddiskPlugin.writeAssetToDisk (/Users/anvk/Documents/myproj/node_modules/html-webpack-harddisk-plugin/index.js:30:23)
    at Compilation.<anonymous> (/Users/anvk/Documents/myproj/node_modules/html-webpack-harddisk-plugin/index.js:16:12)
    at Compilation.applyPluginsAsyncWaterfall (/Users/anvk/Documents/myproj/node_modules/tapable/lib/Tapable.js:86:13)
    at Compilation.tryCatcher (/Users/anvk/Documents/myproj/node_modules/bluebird/js/release/util.js:16:23)
    at ret (eval at makeNodePromisifiedEval (/Users/anvk/Documents/myproj/node_modules/bluebird/js/release/promisify.js:184:12), <anonymous>:13:39)
    at /Users/anvk/Documents/myproj/node_modules/html-webpack-plugin/index.js:148:16
    at tryCatcher (/Users/anvk/Documents/myproj/node_modules/bluebird/js/release/util.js:16:23)
    at Promise._settlePromiseFromHandler (/Users/anvk/Documents/myproj/node_modules/bluebird/js/release/promise.js:510:31)
    at Promise._settlePromise (/Users/anvk/Documents/myproj/node_modules/bluebird/js/release/promise.js:567:18)
    at Promise._settlePromise0 (/Users/anvk/Documents/myproj/node_modules/bluebird/js/release/promise.js:612:10)
    at Promise._settlePromises (/Users/anvk/Documents/myproj/node_modules/bluebird/js/release/promise.js:691:18)
    at Async._drainQueue (/Users/anvk/Documents/myproj/node_modules/bluebird/js/release/async.js:133:16)
    at Async._drainQueues (/Users/anvk/Documents/myproj/node_modules/bluebird/js/release/async.js:143:10)
    at Immediate.Async.drainQueues (/Users/anvk/Documents/myproj/node_modules/bluebird/js/release/async.js:17:14)

Even though I tried 3 different configs:

new HtmlWebpackPlugin({
    filename: '../index.html',
    template: '../../src/templates/index.html',
    inject: true,
    alwaysWriteToDisk: true,
  }),
  new HtmlWebpackHarddiskPlugin({
    outputPath: path.resolve(__dirname, 'dist')
  })
...

const sourcePath = path.join(__dirname, './src/scripts');
const stylesPath = path.join(__dirname, './src/styles');
const staticsPath = path.join(__dirname, './dist/scripts');
const distPath = path.join(__dirname, './dist');

...

new HtmlWebpackPlugin({
    filename: '../index.html',
    template: '../../src/templates/index.html',
    inject: true,
    alwaysWriteToDisk: true,
  }),
  new HtmlWebpackHarddiskPlugin({
    outputPath: distPath
  })
new HtmlWebpackPlugin({
    filename: '../index.html',
    template: '../../src/templates/index.html',
    inject: true,
    alwaysWriteToDisk: true,
  }),
  new HtmlWebpackHarddiskPlugin({
    outputPath: './dist'
  })

Typescript support

I saw that there is a typescript definition file, but it is not published on npm. The definition file is also indicated in the package.json, but this modification has been made a few hours after the last release.

Would that be possible to create a new release with the new package.json ?

Thanks.

Doesn't seem to work with webpack-dev-server and FaviconsWebpackPlugin

I'm trying to use this package to ensure that favicons-webpack-plugin and html-webpack-plugin will do their thing and inject generated favicon information into my index.htm file, but it doesn't seem to work.

I'm on the latest webpack and webpack-cli, and I've tried webpack-dev-server with and without --hot.

What happens is on the first build of a new webpack-dev-server session, the favicons are generated, but on every subsequent build they are not. This is also the same behavior I get if I don't use html-webpack-harddisk-plugin.

Interestingly, this problem seems to only apply to favicons. I also use html-webpack-plugin to inject a CSS stylesheet, and that works fine on every build.

I'm not sure where in the process this is going wrong, please let me know if there's a better place to file this issue.

Error when using this with multiple webpack instances

I ran into an issue with a webpack 4.41.2 upgrade where previously when running multiple webpack processes with v1.0.1 of this plugin (and [email protected]) that the following error would occur

TypeError: HtmlWebpackPlugin.getHooks is not a function
    at /Users/awong/workspace/mavenlink/node_modules/html-webpack-harddisk-plugin/index.js:24:39
    at SyncHook.eval [as call] (eval at create (/Users/awong/workspace/mavenlink/node_modules/tapable/lib/HookCodeFactory.js:19:10), <anonymous>:9:1)
    at SyncHook.lazyCompileHook (/Users/awong/workspace/mavenlink/node_modules/tapable/lib/Hook.js:154:20)
    at Compiler.newCompilation (/Users/awong/workspace/mavenlink/node_modules/webpack/lib/Compiler.js:631:26)
    at hooks.beforeCompile.callAsync.err (/Users/awong/workspace/mavenlink/node_modules/webpack/lib/Compiler.js:667:29)
    at AsyncSeriesHook.eval [as callAsync] (eval at create (/Users/awong/workspace/mavenlink/node_modules/tapable/lib/HookCodeFactory.js:33:10), <anonymous>:6:1)
    at AsyncSeriesHook.lazyCompileHook (/Users/awong/workspace/mavenlink/node_modules/tapable/lib/Hook.js:154:20)
    at Compiler.compile (/Users/awong/workspace/mavenlink/node_modules/webpack/lib/Compiler.js:662:28)
    at compiler.hooks.watchRun.callAsync.err (/Users/awong/workspace/mavenlink/node_modules/webpack/lib/Watching.js:77:18)
    at AsyncSeriesHook.eval [as callAsync] (eval at create (/Users/awong/workspace/mavenlink/node_modules/tapable/lib/HookCodeFactory.js:33:10), <anonymous>:24:1)
    at AsyncSeriesHook.lazyCompileHook (/Users/awong/workspace/mavenlink/node_modules/tapable/lib/Hook.js:154:20)
    at Watching._go (/Users/awong/workspace/mavenlink/node_modules/webpack/lib/Watching.js:41:32)
    at Watching.compiler.readRecords.err (/Users/awong/workspace/mavenlink/node_modules/webpack/lib/Watching.js:33:9)
    at Compiler.readRecords (/Users/awong/workspace/mavenlink/node_modules/webpack/lib/Compiler.js:529:11)
    at new Watching (/Users/awong/workspace/mavenlink/node_modules/webpack/lib/Watching.js:30:17)
    at Compiler.watch (/Users/awong/workspace/mavenlink/node_modules/webpack/lib/Compiler.js:244:10)

Previously, running multiple webpack processes on 3.11 would be just fine with the same plugin versions above.

Perhaps there are still some incompatibilities with this and webpack 4?

output path is wrong when using webpack-dev-server

Just a heads up that due to what appears to be a bug in webpack, the output path used by this plugin is incorrect when using the CLI for the webpack-dev-server. It doesn't seem to be fixed as of webpack v2.1.0-beta.21.

The gist is that when using the dev-server, webpack overwrites the output.path specified in the config and sets it to "/". This means that this plugin tries to write its output html to a path based at the filesystem root (which will likely fail with a permission error).

This problem doesn't happen when using the webpack-dev-server via its API (rather than the CLI).

Auto-reload page on changes

When I making changes, it creates new html document Views/Shared/_Layout.cshtml.

new HtmlWebpackPlugin({
            filename: path.join(__dirname, "Views/Shared/_Layout.cshtml"),
            template: path.join(__dirname, "Frontend/Views/Shared/_Layout.cshtml"),
            inject: 'head',
            chunks: ['Main'],
            alwaysWriteToDisk: true
        }),

But hot-reload not update|reload page

client?0ee4:64 [WDS] Hot Module Replacement enabled.
2client?0ee4:67 [WDS] App updated. Recompiling...
client?0ee4:193 [WDS] App hot update...
log.js?4244:23 [HMR] Checking for updates on the server...
log.js?4244:23 [HMR] Nothing hot updated.
log.js?4244:23 [HMR] App is up to date.

Any suggestions, how to do this?

Package types do not work with webpack 5

I'm currently in the middle of upgrading to webpack 5 and this package is now giving me a type error:

node_modules/.pnpm/[email protected]_567a27a819cc7a6a0873c1471c083c1f/node_modules/html-webpack-harddisk-plugin/index.d.ts:1:10 - error TS2305: Module '"../../../../webpack/types"' has no exported member 'Plugin'.

1 import { Plugin } from 'webpack';
           ~~~~~~

The problem is here: https://github.com/jantimon/html-webpack-harddisk-plugin/blob/main/index.d.ts#L1

I believe Plugin is no longer a valid export from webpack. Maybe you need to switch to WebpackPluginInstance instead?

Webpack watch mode 4.42.1, and html-webpack-plugin 4.0.4 with cache enabled results that templates get erased

Given:
osx 10.14.6
node: 13.6.0
webpack: 4.42.1
html-webpack-plugin: 4.0.4
html-webpack-harddisk-plugin: 1.0.1

When running webpack in watch mode and html-webpack-plugin configured by default results that templates get erased after some time. Problem can be solved by providing cache: false to html-webpack-plugin settings.

Also, webpack configured to use devMiddleware so actual javascript is not emitted.

Maybe I can provide some additional info? If so, I'll be glad.

Thank you!

Error after upgrade webpack

Hi there,

I am getting follow warning after upgrade webpack

warning " > [email protected]" has incorrect peer dependency "html-webpack-plugin@^2.0.0 || ^3.0.0".

and from yarn check

"html-webpack-harddisk-plugin#html-webpack-plugin@^2.0.0 || ^3.0.0" doesn't satisfy found match of "[email protected]"

Cannot read property 'alwaysWriteToDisk' of undefined

After upgrading [email protected], [email protected] and [email protected], I have the following error when building in production / development mode

TypeError: Cannot read property 'alwaysWriteToDisk' of undefined
    at HtmlWebpackHarddiskPlugin.writeAssetToDisk (C:\Users\tdarneix\Development\centreon-dev-ecosystem-wp5\centreon\node_modules\html-webpack-harddisk-plugin\index.js:46:33)
    at C:\Users\tdarneix\Development\centreon-dev-ecosystem-wp5\centreon\node_modules\html-webpack-harddisk-plugin\index.js:27:16
    at eval (eval at create (C:\Users\tdarneix\Development\centreon-dev-ecosystem-wp5\centreon\node_modules\html-webpack-plugin\node_modules\tapable\lib\HookCodeFactory.js:74:10), <anonymous>:15:1)       
    at new Promise (<anonymous>)
    at Hook.eval [as promise] (eval at create (C:\Users\tdarneix\Development\centreon-dev-ecosystem-wp5\centreon\node_modules\html-webpack-plugin\node_modules\tapable\lib\HookCodeFactory.js:74:10), <anonymous>:4:8)
    at Hook.PROMISE_DELEGATE [as _promise] (C:\Users\tdarneix\Development\centreon-dev-ecosystem-wp5\centreon\node_modules\html-webpack-plugin\node_modules\tapable\lib\Hook.js:22:14)
    at C:\Users\tdarneix\Development\centreon-dev-ecosystem-wp5\centreon\node_modules\html-webpack-plugin\index.js:341:89
    at runMicrotasks (<anonymous>)

Does the alwaysWriteToDisk is still available on html-webpack-plugin ?
Is there a way to wirte assets to disk no matter the build type ?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.