Hi!
I recently updated webpack and therefore terser 4.8.0 -> 5.2.1 and was unable to build my bundle.
I managed to reproduce the same error using the terser cli and a very short snippet of code.
So here we go for the standard report:
Bug report or Feature request? Bug
Version (complete output of terser -V or specific git commit) terser 5.2.1
Complete CLI command or minify() options used terser --compress -- badfile.js
terser input
// badfile.js:
() => {
let o = {聽...{} }
}
terser output or error
ERROR: prop.computed_key is not a function
at /path/to/folder/node_modules/terser/lib/compress/index.js:4262:56
at Array.some (<anonymous>)
at TreeTransformer.before (/path/to/folder/node_modules/terser/lib/compress/index.js:4262:38)
at AST_VarDef.transform (/path/to/folder/node_modules/terser/lib/transform.js:97:41)
at /path/to/folder/node_modules/terser/lib/transform.js:113:21
at doit (/path/to/folder/node_modules/terser/lib/utils/index.js:104:23)
at MAP (/path/to/folder/node_modules/terser/lib/utils/index.js:129:52)
at do_list (/path/to/folder/node_modules/terser/lib/transform.js:112:12)
at /path/to/folder/node_modules/terser/lib/transform.js:196:24
at AST_Let.transform (/path/to/folder/node_modules/terser/lib/transform.js:100:13)
Expected result
No error!
Thanks
hi! I just upgraded webpack 4.43.0 -> 4.44.1 and webpack-terser-plugin 3.0.6 -> 4.1.0 and i get a similar problem:
TypeError: prop.computed_key is not a function
at <Path_to_project>\node_modules\terser-webpack-plugin\node_modules\terser\dist\bundle.min.js:14354:56
at Array.some (<anonymous>)
at TreeTransformer.before (<Path_to_project>\node_modules\terser-webpack-plugin\node_modules\terser\dist\bundle.min.js:14354:38)
at AST_VarDef.transform (<Path_to_project>\node_modules\terser-webpack-plugin\node_modules\terser\dist\bundle.min.js:5224:41)
at <Path_to_project>\node_modules\terser-webpack-plugin\node_modules\terser\dist\bundle.min.js:5240:21
at doit (<Path_to_project>\node_modules\terser-webpack-plugin\node_modules\terser\dist\bundle.min.js:110:23)
at MAP (<Path_to_project>\node_modules\terser-webpack-plugin\node_modules\terser\dist\bundle.min.js:135:52)
at do_list (<Path_to_project>\node_modules\terser-webpack-plugin\node_modules\terser\dist\bundle.min.js:5239:12)
at <Path_to_project>\node_modules\terser-webpack-plugin\node_modules\terser\dist\bundle.min.js:5323:24
at AST_Var.transform (<Path_to_project>\node_modules\terser-webpack-plugin\node_modules\terser\dist\bundle.min.js:5227:13)
After downgrading webpack-terser-plugin to 3.0.8 the build passed.
Am having the same issue using terser plugin for rollup -- downgrading to previous plugin version fixed the issue (the current version was just upgrading to terser v5).
Edit -- error message:
[!] (plugin terser) TypeError: prop.computed_key is not a function
TypeError: prop.computed_key is not a function
at <project_path>/node_modules/terser/dist/bundle.min.js:14354:56
at Array.some (<anonymous>)
at TreeTransformer.before (<project_path>/node_modules/terser/dist/bundle.min.js:14354:38)
at AST_VarDef.transform (<project_path>/node_modules/terser/dist/bundle.min.js:5224:41)
at <project_path>/node_modules/terser/dist/bundle.min.js:5240:21
at doit (<project_path>/node_modules/terser/dist/bundle.min.js:110:23)
at MAP (<project_path>/node_modules/terser/dist/bundle.min.js:135:52)
at do_list (<project_path>/node_modules/terser/dist/bundle.min.js:5239:12)
at <project_path>/node_modules/terser/dist/bundle.min.js:5323:24
at AST_Const.transform (<project_path>/node_modules/terser/dist/bundle.min.js:5227:13)
Thanks for bringing this up!
I've just pushed a fix which will be released tomorrow.
Most helpful comment
hi! I just upgraded webpack 4.43.0 -> 4.44.1 and webpack-terser-plugin 3.0.6 -> 4.1.0 and i get a similar problem:
After downgrading webpack-terser-plugin to 3.0.8 the build passed.