html-webpack-plugin icon indicating copy to clipboard operation
html-webpack-plugin copied to clipboard

Do not URL encode chunkFile name

Open weiwei-lin opened this issue 2 years ago • 1 comments

Current behaviour 💣

Chunk file name is URL encoded.

Expected behaviour ☀️

Chunk file name should not be URL encoded.

Reproduction Example 👾

const HtmlWebpackPlugin = require("html-webpack-plugin");

module.exports = {
  entry: {
    "@app": "./index.js"
  },
  plugins: [
    new HtmlWebpackPlugin({
      template: "./src/template.ejs"
    })
  ]
};

Explanation

This is effectively a reversal of #1254 and #1257 This is desired because webpack and other plugins (e.g. workbox) doesn't do the encoding. If html-webpack-plugin does the encoding, it could break other plugins. For instance, when the backend server or server worker (e.g. one generated by workbox) is serving the generated JS files, it won't necessarily decode the URL before serving the file. Since all npm packages have URL-safe names, I think it should be up to the users to ensure the entries are URL safe rather than letting the plugin does the encoding automatically.

weiwei-lin avatar Nov 02 '22 04:11 weiwei-lin

@weiwei-lin Sorry, I don't undestand you, can you show me a problem?

alexander-akait avatar Jun 10 '23 19:06 alexander-akait