Skip to content

Do not URL encode chunkFile name #1771

@weiwei-lin

Description

@weiwei-lin

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions