You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hello,
It seems that there's a regression when handling with private fileds introduced in version 5.16.0.
I did not encounter this problem with version 5.15.1.
Version (complete output of terser -V or specific git commit)
terser 5.16.0
Complete CLI command or minify() options used
npx terser my-class.js
terser input
Content of my-class.js file:
class My_class {
#private_field = 123;
fn() {
const c = new (class b {})(); // <-- removing this line removes the parse error
return this.#private_field;
}
}
terser output or error
Parse error at my-class.js:6,14
return this.#private_field;
^
ERROR: Private field must be used in an enclosing class
at js_error (C:\dev.local\ui-test\packages\atomics\node_modules\terser\dist\bundle.min.js:554:11)
at croak (C:\dev.local\ui-test\packages\atomics\node_modules\terser\dist\bundle.min.js:1278:9)
at subscripts (C:\dev.local\ui-test\packages\atomics\node_modules\terser\dist\bundle.min.js:3235:17)
at expr_atom (C:\dev.local\ui-test\packages\atomics\node_modules\terser\dist\bundle.min.js:2556:20)
at maybe_unary (C:\dev.local\ui-test\packages\atomics\node_modules\terser\dist\bundle.min.js:3374:19)
at expr_ops (C:\dev.local\ui-test\packages\atomics\node_modules\terser\dist\bundle.min.js:3425:24)
at maybe_conditional (C:\dev.local\ui-test\packages\atomics\node_modules\terser\dist\bundle.min.js:3430:20)
at maybe_assign (C:\dev.local\ui-test\packages\atomics\node_modules\terser\dist\bundle.min.js:3507:20)
at expression (C:\dev.local\ui-test\packages\atomics\node_modules\terser\dist\bundle.min.js:3532:24)
at statement (C:\dev.local\ui-test\packages\atomics\node_modules\terser\dist\bundle.min.js:1491:29)
Expected result
(obtained with terser 5.15.1)
class My_class{#private_field=123;fn(){const c=new class b{};return this.#private_field}}
The text was updated successfully, but these errors were encountered:
we are experiencing the same error when using terser plugin in webpack
Any chance of a workaround?
I cannot locate the problematic file, the project is very large
Bug report
Hello,
It seems that there's a regression when handling with private fileds introduced in version 5.16.0.
I did not encounter this problem with version 5.15.1.
Version (complete output of
terser -V
or specific git commit)terser 5.16.0
Complete CLI command or
minify()
options usednpx terser my-class.js
terser
inputContent of
my-class.js
file:terser
output or errorExpected result
(obtained with terser 5.15.1)
The text was updated successfully, but these errors were encountered: