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

webpack 3 is missing uglify v2.x dependency which breaks the build #5092

Closed
jharris4 opened this issue Jun 19, 2017 · 10 comments
Closed

webpack 3 is missing uglify v2.x dependency which breaks the build #5092

jharris4 opened this issue Jun 19, 2017 · 10 comments

Comments

@jharris4
Copy link
Contributor

Do you want to request a feature or report a bug?
bug

What is the current behavior?
I'm getting the following error:

ERROR in bundle-main.js from UglifyJs
TypeError: Cannot read property 'reset' of undefined
    at /Users/user/project/node_modules/uglifyjs-webpack-plugin/dist/index.js:96:21
    at Array.forEach (native)
    at Compilation.<anonymous> (/Users/user/project/node_modules/uglifyjs-webpack-plugin/dist/index.js:54:20)
    at Compilation.applyPluginsAsyncSeries (/Users/user/project/node_modules/tapable/lib/Tapable.js:142:13)
    at self.applyPluginsAsync.err (/Users/user/project/node_modules/webpack/lib/Compilation.js:641:10)
    at next (/Users/user/project/node_modules/tapable/lib/Tapable.js:138:11)
    at ExtractTextPlugin.<anonymous> (/Users/user/project/node_modules/extract-text-webpack-plugin/index.js:345:4)
    at Compilation.applyPluginsAsyncSeries (/Users/user/project/node_modules/tapable/lib/Tapable.js:142:13)
    at sealPart2 (/Users/user/project/node_modules/webpack/lib/Compilation.js:637:9)
    at next (/Users/user/project/node_modules/tapable/lib/Tapable.js:138:11)
    at ExtractTextPlugin.<anonymous> (/Users/user/project/node_modules/extract-text-webpack-plugin/index.js:317:5)
    at /Users/user/project/node_modules/async/dist/async.js:421:16
    at iteratorCallback (/Users/user/project/node_modules/async/dist/async.js:998:13)
    at /Users/user/project/node_modules/async/dist/async.js:906:16
    at /Users/user/project/node_modules/extract-text-webpack-plugin/index.js:301:6
    at /Users/user/project/node_modules/async/dist/async.js:421:16
    at iteratorCallback (/Users/user/project/node_modules/async/dist/async.js:998:13)
    at /Users/user/project/node_modules/async/dist/async.js:906:16
    at /Users/user/project/node_modules/extract-text-webpack-plugin/index.js:298:13
    at /Users/user/project/node_modules/async/dist/async.js:3060:16
    at eachOfArrayLike (/Users/user/project/node_modules/async/dist/async.js:1003:9)
    at eachOf (/Users/user/project/node_modules/async/dist/async.js:1051:5)
    at Object.eachLimit (/Users/user/project/node_modules/async/dist/async.js:3122:5)

I'm pretty sure this is because webpack 2.6 had "uglify-js": "^2.8.27" as a dependency, but webpack 3.0 has only "uglifyjs-webpack-plugin": "^0.4.4" as a dependency (which does NOT pull in uglify-js v2!)

If the current behavior is a bug, please provide the steps to reproduce.

It seems to be occurring whenever I use the -p option from the CLI.

What is the expected behavior?
Errors should not occur when using minification via uglify js.

If this is a feature request, what is motivation or use case for changing the behavior?

Please mention other relevant information such as the browser version, Node.js version, webpack version and Operating System.
Webpack 3.0
Node 8.1.2
MacOS 10.12.5

@itsMapleLeaf
Copy link
Contributor

itsMapleLeaf commented Jun 19, 2017

Confirmed, manually installing uglify-js 2 seems to fix the bug.

@sabbyjiang
Copy link

Fix by kingdaro worked for me. Installing v3 doesn't, though.

@FranciscoG
Copy link

confirmed npm i uglify-js@2 -D worked for me. Annoying that it's not in the documentation

@jharris4
Copy link
Contributor Author

Looks like an oversight to me.

I'd file a PR to add the dependency, but I suspect the dependency should be placed under uglifyjs-webpack-plugin

@chicoxyzzy
Copy link
Contributor

chicoxyzzy commented Jun 19, 2017

@jharris4
Copy link
Contributor Author

I could, if I knew where the dependency should go. Better to let the webpack core team decide.

@sokra
Copy link
Member

sokra commented Jun 19, 2017

@webpack-bot move to webpack-contrib/uglifyjs-webpack-plugin

uglifyjs-webpack-plugin should have uglify-js as dependency

@webpack-bot
Copy link
Contributor

I've moved it to webpack-contrib/uglifyjs-webpack-plugin.

@jackphang
Copy link

ye,I'm install uglify v2.x that fixed bug .thks ......

ERROR in bundle-main.js from UglifyJs
TypeError: Cannot read property 'reset' of undefined
at /Users/user/project/node_modules/uglifyjs-webpack-plugin/dist/index.js:96:21

@interglobalmedia
Copy link

Hi,

I am also still getting an error after trying out npm i uglify-js@2 -D:

ERROR in vendor.cd145239390431b90653.js from UglifyJs
DefaultsError: `sourcemap` is not a supported option
    at DefaultsError.get (eval at <anonymous> (/Users/mariacam/Development/react-timeline-app/node_modules/uglifyjs-webpack-plugin/node_modules/uglify-js/tools/node.js:27:1), <anonymous>:86:23)
    at /Users/mariacam/Development/react-timeline-app/node_modules/uglifyjs-webpack-plugin/dist/index.js:239:80
    at Array.forEach (native)
    at Compilation.<anonymous> (/Users/mariacam/Development/react-timeline-app/node_modules/uglifyjs-webpack-plugin/dist/index.js:54:20)
    at next (/Users/mariacam/Development/react-timeline-app/node_modules/tapable/lib/Tapable.js:204:14)
    at LastCallWebpackPlugin.process (/Users/mariacam/Development/react-timeline-app/node_modules/last-call-webpack-plugin/index.js:126:12)
    at Compilation.<anonymous> (/Users/mariacam/Development/react-timeline-app/node_modules/last-call-webpack-plugin/index.js:194:12)
    at Compilation.applyPluginsAsyncSeries (/Users/mariacam/Development/react-timeline-app/node_modules/tapable/lib/Tapable.js:206:13)
    at self.applyPluginsAsync.err (/Users/mariacam/Development/react-timeline-app/node_modules/webpack/lib/Compilation.js:657:10)
    at next (/Users/mariacam/Development/react-timeline-app/node_modules/tapable/lib/Tapable.js:202:11)
    at Compilation.<anonymous> (/Users/mariacam/Development/react-timeline-app/node_modules/extract-text-webpack-plugin/dist/index.js:272:11)
    at Compilation.applyPluginsAsyncSeries (/Users/mariacam/Development/react-timeline-app/node_modules/tapable/lib/Tapable.js:206:13)
    at sealPart2 (/Users/mariacam/Development/react-timeline-app/node_modules/webpack/lib/Compilation.js:653:9)
    at next (/Users/mariacam/Development/react-timeline-app/node_modules/tapable/lib/Tapable.js:202:11)
    at /Users/mariacam/Development/react-timeline-app/node_modules/extract-text-webpack-plugin/dist/index.js:241:13
    at /Users/mariacam/Development/react-timeline-app/node_modules/extract-text-webpack-plugin/node_modules/async/dist/async.js:421:16
    at iteratorCallback (/Users/mariacam/Development/react-timeline-app/node_modules/extract-text-webpack-plugin/node_modules/async/dist/async.js:998:13)
    at /Users/mariacam/Development/react-timeline-app/node_modules/extract-text-webpack-plugin/node_modules/async/dist/async.js:906:16
    at /Users/mariacam/Development/react-timeline-app/node_modules/extract-text-webpack-plugin/dist/index.js:224:15
    at /Users/mariacam/Development/react-timeline-app/node_modules/extract-text-webpack-plugin/node_modules/async/dist/async.js:421:16
    at iteratorCallback (/Users/mariacam/Development/react-timeline-app/node_modules/extract-text-webpack-plugin/node_modules/async/dist/async.js:998:13)
    at /Users/mariacam/Development/react-timeline-app/node_modules/extract-text-webpack-plugin/node_modules/async/dist/async.js:906:16
    at /Users/mariacam/Development/react-timeline-app/node_modules/extract-text-webpack-plugin/dist/index.js:213:21
    at rebuilding.forEach.cb (/Users/mariacam/Development/react-timeline-app/node_modules/webpack/lib/Compilation.js:521:29)
    at Array.forEach (native)
    at callback (/Users/mariacam/Development/react-timeline-app/node_modules/webpack/lib/Compilation.js:521:15)
    at processModuleDependencies (/Users/mariacam/Development/react-timeline-app/node_modules/webpack/lib/Compilation.js:540:5)
    at _combinedTickCallback (internal/process/next_tick.js:95:7)
    at process._tickCallback (internal/process/next_tick.js:161:9)

ERROR in bundle.be92fc799b3579e9fc7e.js from UglifyJs
DefaultsError: `sourcemap` is not a supported option
    at DefaultsError.get (eval at <anonymous> (/Users/mariacam/Development/react-timeline-app/node_modules/uglifyjs-webpack-plugin/node_modules/uglify-js/tools/node.js:27:1), <anonymous>:86:23)
    at /Users/mariacam/Development/react-timeline-app/node_modules/uglifyjs-webpack-plugin/dist/index.js:239:80
    at Array.forEach (native)
    at Compilation.<anonymous> (/Users/mariacam/Development/react-timeline-app/node_modules/uglifyjs-webpack-plugin/dist/index.js:54:20)
    at next (/Users/mariacam/Development/react-timeline-app/node_modules/tapable/lib/Tapable.js:204:14)
    at LastCallWebpackPlugin.process (/Users/mariacam/Development/react-timeline-app/node_modules/last-call-webpack-plugin/index.js:126:12)
    at Compilation.<anonymous> (/Users/mariacam/Development/react-timeline-app/node_modules/last-call-webpack-plugin/index.js:194:12)
    at Compilation.applyPluginsAsyncSeries (/Users/mariacam/Development/react-timeline-app/node_modules/tapable/lib/Tapable.js:206:13)
    at self.applyPluginsAsync.err (/Users/mariacam/Development/react-timeline-app/node_modules/webpack/lib/Compilation.js:657:10)
    at next (/Users/mariacam/Development/react-timeline-app/node_modules/tapable/lib/Tapable.js:202:11)
    at Compilation.<anonymous> (/Users/mariacam/Development/react-timeline-app/node_modules/extract-text-webpack-plugin/dist/index.js:272:11)
    at Compilation.applyPluginsAsyncSeries (/Users/mariacam/Development/react-timeline-app/node_modules/tapable/lib/Tapable.js:206:13)
    at sealPart2 (/Users/mariacam/Development/react-timeline-app/node_modules/webpack/lib/Compilation.js:653:9)
    at next (/Users/mariacam/Development/react-timeline-app/node_modules/tapable/lib/Tapable.js:202:11)
    at /Users/mariacam/Development/react-timeline-app/node_modules/extract-text-webpack-plugin/dist/index.js:241:13
    at /Users/mariacam/Development/react-timeline-app/node_modules/extract-text-webpack-plugin/node_modules/async/dist/async.js:421:16
    at iteratorCallback (/Users/mariacam/Development/react-timeline-app/node_modules/extract-text-webpack-plugin/node_modules/async/dist/async.js:998:13)
    at /Users/mariacam/Development/react-timeline-app/node_modules/extract-text-webpack-plugin/node_modules/async/dist/async.js:906:16
    at /Users/mariacam/Development/react-timeline-app/node_modules/extract-text-webpack-plugin/dist/index.js:224:15
    at /Users/mariacam/Development/react-timeline-app/node_modules/extract-text-webpack-plugin/node_modules/async/dist/async.js:421:16
    at iteratorCallback (/Users/mariacam/Development/react-timeline-app/node_modules/extract-text-webpack-plugin/node_modules/async/dist/async.js:998:13)
    at /Users/mariacam/Development/react-timeline-app/node_modules/extract-text-webpack-plugin/node_modules/async/dist/async.js:906:16
    at /Users/mariacam/Development/react-timeline-app/node_modules/extract-text-webpack-plugin/dist/index.js:213:21
    at rebuilding.forEach.cb (/Users/mariacam/Development/react-timeline-app/node_modules/webpack/lib/Compilation.js:521:29)
    at Array.forEach (native)
    at callback (/Users/mariacam/Development/react-timeline-app/node_modules/webpack/lib/Compilation.js:521:15)
    at processModuleDependencies (/Users/mariacam/Development/react-timeline-app/node_modules/webpack/lib/Compilation.js:540:5)
    at _combinedTickCallback (internal/process/next_tick.js:95:7)
    at process._tickCallback (internal/process/next_tick.js:161:9)

ERROR in manifest.8c6c4bc37562079e998e.js from UglifyJs
DefaultsError: `sourcemap` is not a supported option
    at DefaultsError.get (eval at <anonymous> (/Users/mariacam/Development/react-timeline-app/node_modules/uglifyjs-webpack-plugin/node_modules/uglify-js/tools/node.js:27:1), <anonymous>:86:23)
    at /Users/mariacam/Development/react-timeline-app/node_modules/uglifyjs-webpack-plugin/dist/index.js:239:80
    at Array.forEach (native)
    at Compilation.<anonymous> (/Users/mariacam/Development/react-timeline-app/node_modules/uglifyjs-webpack-plugin/dist/index.js:54:20)
    at next (/Users/mariacam/Development/react-timeline-app/node_modules/tapable/lib/Tapable.js:204:14)
    at LastCallWebpackPlugin.process (/Users/mariacam/Development/react-timeline-app/node_modules/last-call-webpack-plugin/index.js:126:12)
    at Compilation.<anonymous> (/Users/mariacam/Development/react-timeline-app/node_modules/last-call-webpack-plugin/index.js:194:12)
    at Compilation.applyPluginsAsyncSeries (/Users/mariacam/Development/react-timeline-app/node_modules/tapable/lib/Tapable.js:206:13)
    at self.applyPluginsAsync.err (/Users/mariacam/Development/react-timeline-app/node_modules/webpack/lib/Compilation.js:657:10)
    at next (/Users/mariacam/Development/react-timeline-app/node_modules/tapable/lib/Tapable.js:202:11)
    at Compilation.<anonymous> (/Users/mariacam/Development/react-timeline-app/node_modules/extract-text-webpack-plugin/dist/index.js:272:11)
    at Compilation.applyPluginsAsyncSeries (/Users/mariacam/Development/react-timeline-app/node_modules/tapable/lib/Tapable.js:206:13)
    at sealPart2 (/Users/mariacam/Development/react-timeline-app/node_modules/webpack/lib/Compilation.js:653:9)
    at next (/Users/mariacam/Development/react-timeline-app/node_modules/tapable/lib/Tapable.js:202:11)
    at /Users/mariacam/Development/react-timeline-app/node_modules/extract-text-webpack-plugin/dist/index.js:241:13
    at /Users/mariacam/Development/react-timeline-app/node_modules/extract-text-webpack-plugin/node_modules/async/dist/async.js:421:16
    at iteratorCallback (/Users/mariacam/Development/react-timeline-app/node_modules/extract-text-webpack-plugin/node_modules/async/dist/async.js:998:13)
    at /Users/mariacam/Development/react-timeline-app/node_modules/extract-text-webpack-plugin/node_modules/async/dist/async.js:906:16
    at /Users/mariacam/Development/react-timeline-app/node_modules/extract-text-webpack-plugin/dist/index.js:224:15
    at /Users/mariacam/Development/react-timeline-app/node_modules/extract-text-webpack-plugin/node_modules/async/dist/async.js:421:16
    at iteratorCallback (/Users/mariacam/Development/react-timeline-app/node_modules/extract-text-webpack-plugin/node_modules/async/dist/async.js:998:13)
    at /Users/mariacam/Development/react-timeline-app/node_modules/extract-text-webpack-plugin/node_modules/async/dist/async.js:906:16
    at /Users/mariacam/Development/react-timeline-app/node_modules/extract-text-webpack-plugin/dist/index.js:213:21
    at rebuilding.forEach.cb (/Users/mariacam/Development/react-timeline-app/node_modules/webpack/lib/Compilation.js:521:29)
    at Array.forEach (native)
    at callback (/Users/mariacam/Development/react-timeline-app/node_modules/webpack/lib/Compilation.js:521:15)
    at processModuleDependencies (/Users/mariacam/Development/react-timeline-app/node_modules/webpack/lib/Compilation.js:540:5)
    at _combinedTickCallback (internal/process/next_tick.js:95:7)
    at process._tickCallback (internal/process/next_tick.js:161:9)

And this is what I did in webpack.config.js:

new webpack.optimize.UglifyJsPlugin({
			compress: {
				warnings: true
			}
		})

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

9 participants