jantimon / html-webpack-plugin

Simplifies creation of HTML files to serve your webpack bundles
MIT License
10.71k stars 1.31k forks source link

Do not URL encode chunkFile name #1771

Open weiwei-lin opened 1 year ago

weiwei-lin commented 1 year ago

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.

alexander-akait commented 1 year ago

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