Skip to content

[Feature]: provide option to stop injecting __webpack_exports__ and __WEBPACK_EXTERNAL_MODULE_ variable prefix #869

@tats-u

Description

@tats-u

What problem does this feature solve?

Both variable prefixes __webpack_exports__ and __WEBPACK_EXTERNAL_MODULE_, as long as the Great Wall or Yangtze, reduce the readability and debuggability of output .js files.

import * as __WEBPACK_EXTERNAL_MODULE_micromark_extension_cjk_friendly_1c72e10b__ from "micromark-extension-cjk-friendly";

function remarkCjkFriendly() {

    const data = this.data();

    const micromarkExtensions = data.micromarkExtensions || (data.micromarkExtensions = []);

    micromarkExtensions.push((0, __WEBPACK_EXTERNAL_MODULE_micromark_extension_cjk_friendly_1c72e10b__.cjkFriendlyExtension)());

}

export { remarkCjkFriendly as default };

If you want to keep the output readable, this specification is a barrier.

What does the proposed API look like?

A boolean property of a object passed to an argument of defineConfig in rslib.config.ts.

import { defineConfig } from "@rslib/core";

export default defineConfig({
  lib: [
    {
      format: "esm",
      syntax: "es2024",
      dts: true,
      bundle: false,
      // ***HERE***
    },
  ],
});

By this option, the output will be much more readable:

import { cjkFriendlyExtension } from "micromark-extension-cjk-friendly";

function remarkCjkFriendly() {

    const data = this.data();

    const micromarkExtensions = data.micromarkExtensions || (data.micromarkExtensions = []);

    micromarkExtensions.push((0, cjkFriendlyExtension)());

}

export { remarkCjkFriendly as default };

Metadata

Metadata

Assignees

No one assigned

    Labels

    RspackRspack related issue

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions