Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Bug]: The code cannot be minimized. There are two references #1048

Open
1 task
peacejj opened this issue Dec 18, 2023 · 2 comments
Open
1 task

[Bug]: The code cannot be minimized. There are two references #1048

peacejj opened this issue Dec 18, 2023 · 2 comments

Comments

@peacejj
Copy link

peacejj commented Dec 18, 2023

💻

  • Would you like to work on a fix?

How are you using Babel?

babel-loader (webpack)

Input code

Below is an example.


var babel = require('@babel/core');


var code = `
function baz() {
    const pageSource = 'pageSource';
    const clientType = 0;
    const isNavBack = true;
    const route = \`/pages/a/index?pageSource=\${pageSource}&clientType=\${clientType}&isNavBack=\${isNavBack}\`;

    React.api.navigateTo({
        url: route
    });
}
`

const result = babel.transform(code, {
    configFile: false,
    babelrc: false,
    comments: false,
    ast: true,
    sourceMaps: false,
    plugins: [
        [ require('@babel/plugin-transform-template-literals'), { loose: true }],
        ["minify-dead-code-elimination"],

    ]
});
console.log(result.code);

Be careful, To comment out node_modules/babel-plugin-minify-dead-code-elimination/lib/index.js (traverse.clearCache ||) traverse.cache.clear)();

Current and expected behavior

The current performance is:

function baz() {
  const pageSource = 'pageSource';
  const clientType = 0;
  const isNavBack = true;
  React.api.navigateTo({
    url: "/pages/a/index?pageSource=" + pageSource + "&clientType=" + clientType + "&isNavBack=" + isNavBack
  });
}

And here's what I was hoping for:

function baz() {
  React.api.navigateTo({
    url: "/pages/a/index?pageSource=" + "pageSource" + "&clientType=" + 0 + "&isNavBack=" + true
  });
}

After checking, it is found that @babel/plugin-transform-template-literals causes the number of references to be 2 when minify-dead-code-elimination plug-in is running, so it cannot be minimized. Is there any way to solve this problem

Environment

babel/core: 7.22.9

Possible solution

No response

Additional context

No response

@babel-bot
Copy link

Hey @peacejj! We really appreciate you taking the time to report an issue. The collaborators on this project attempt to help as many people as possible, but we're a limited number of volunteers, so it's possible this won't be addressed swiftly.

If you need any help, or just have general Babel or JavaScript questions, we have a vibrant Slack community that typically always has someone willing to help. You can sign-up here for an invite.

@liuxingbaoyu
Copy link
Member

babel-plugin-minify-dead-code-elimination is no longer maintained. It is recommended that you use other tools such as terser.

@liuxingbaoyu liuxingbaoyu transferred this issue from babel/babel Dec 20, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants