At the moment the semantic-ui npm package depends on jQuery 2. If a developer using semantic-ui wants to upgrade to jQuery 3.x and adds an explicit dependency for it in his own package.json, it causes two conflicting version of jQuery to be loaded. This breaks everything (at least for webpack users), thus preventing people from upgrading to jQuery 3.x.
This could be solved by removing jquery from dependencies and putting it in peerDependencies instead:
"jquery": "^2.2.3 || ^3.0.0"
That would allow (or actually force) users to put jquery 2.x or 3.x (whichever they want to use) into their own package.json file. I can also confirm that Semantic UI works fine together with webpack and jQuery 3.1 when there is no conflicting version present.
(at the moment many of the packages listed in dependencies have also been copied to peerDependencies but I'm not totally sure why)
Possibly related issues:
@jlukic This one might need your attention.
Is there any progress on this front? I wish to use semantic-ui instead of semantic-ui-css (without jQuery) in my react + webpack project. Can I use jQuery 3.x?
Update jq version #4254
Peer dependencies have been deprecated in NPM3.
I think should be solved by allowing either version in dependencies. I've gone ahead and updated this with the next release.