I have tried the following example in https://try.terser.org/ ```js // edit terser options { module: true, compress: {}, mangle: {}, output: {keep_numbers:true}, parse: {}, rename: {}, } ``` ```js // input var ONE_SECOND = 1000; var ONE_MINUTE = ONE_SECOND * 60; var ONE_HOUR = ONE_MINUTE * 60; var ONE_DAY = ONE_HOUR * 24; var ONE_YEAR = ONE_DAY * 365; console.log(ONE_SECOND, ONE_MINUTE, ONE_HOUR, ONE_DAY, ONE_YEAR); ``` What I have got is: ```js // output var e=36e5,o=864e5;console.log(1e3,6e4,e,o,31536e6); ``` What I expect is: ```js // output var e=3600000,o=86400000;console.log(1000,60000,e,o,31536000000); ```
Activity
aleen42 commentedon Jul 9, 2025
It seems there are differences when the literal is assigned to the referenced variable:
While the variable is not referenced:
perf: keep numbers during compressing (terser#1627)
perf: keep numbers during compressing (terser#1627)