Bug 1426902 - Upgrade to React 16 (#3067)

https://reactjs.org/blog/2017/09/26/react-v16.0.html
https://reactjs.org/blog/2017/11/28/react-v16.2.0-fragment-support.html

Replaces #3048/#3068/#3069, since additional changes were required.

Also adjusts the Babili minification settings to work around a bug
in the minification of react-dom (that will hopefully be fixed in
newer versions of `babel-plugin-minify-mangle-names`, that we'll get
as part of Neutrino upgrade):
https://github.com/babel/minify/tree/babel-preset-babili@0.0.11/packages/babel-preset-babili#options

Closes #3069.
This commit is contained in:
Ed Morley 2018-01-03 19:49:25 +00:00 коммит произвёл GitHub
Родитель 25b0d57423
Коммит 96eef0f86f
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4AEE18F83AFDEB23
4 изменённых файлов: 48 добавлений и 38 удалений

Просмотреть файл

@ -13,6 +13,13 @@ module.exports = neutrino => {
neutrino.config.plugin('minify')
.inject(BabiliPlugin => new BabiliPlugin({
evaluate: false, // prevents some minification errors
// Prevents a minification error in react-dom that manifests as
// `ReferenceError: Hp is not defined` when loading the main jobs view (bug 1426902).
// TODO: Either remove this workaround or file upstream if this persists
// after the Neutrino upgrade (which comes with latest babel-plugin-minify-mangle-names).
mangle: {
keepFnName: true,
},
}
));

Просмотреть файл

@ -46,8 +46,8 @@
"popper.js": "1.12.9",
"prop-types": "15.6.0",
"raw-loader": "0.5.1",
"react": "15.6.2",
"react-dom": "15.6.2",
"react": "16.2.0",
"react-dom": "16.2.0",
"react-fontawesome": "1.6.1",
"react-hot-loader": "3.1.3",
"react-redux": "5.0.6",
@ -60,12 +60,12 @@
"devDependencies": {
"angular-mocks": "1.5.11",
"enzyme": "3.3.0",
"enzyme-adapter-react-15": "1.0.5",
"enzyme-adapter-react-16": "1.1.1",
"jasmine-core": "2.8.0",
"karma-firefox-launcher": "1.1.0",
"karma-jasmine": "1.1.1",
"neutrino-preset-karma": "4.2.1",
"react-test-renderer": "15.6.2"
"react-test-renderer": "16.2.0"
},
"scripts": {
"build": "node ./node_modules/neutrino/bin/neutrino build --presets ./neutrino-custom/production.js",

Просмотреть файл

@ -24,7 +24,7 @@ require('angular1-ui-bootstrap4');
require('angular-marked');
require('../../../ui/vendor/resizer.js');
const Adapter = require('enzyme-adapter-react-15');
const Adapter = require('enzyme-adapter-react-16');
const Enzyme = require('enzyme');
Enzyme.configure({ adapter: new Adapter() });

Просмотреть файл

@ -1761,14 +1761,6 @@ create-hmac@^1.1.0, create-hmac@^1.1.2, create-hmac@^1.1.4:
safe-buffer "^5.0.1"
sha.js "^2.4.8"
create-react-class@^15.6.0:
version "15.6.2"
resolved "https://registry.yarnpkg.com/create-react-class/-/create-react-class-15.6.2.tgz#cf1ed15f12aad7f14ef5f2dfe05e6c42f91ef02a"
dependencies:
fbjs "^0.8.9"
loose-envify "^1.3.1"
object-assign "^4.1.1"
cryptiles@0.2.x:
version "0.2.2"
resolved "https://registry.yarnpkg.com/cryptiles/-/cryptiles-0.2.2.tgz#ed91ff1f17ad13d3748288594f8a48a0d26f325c"
@ -2487,17 +2479,19 @@ entities@^1.1.1, entities@~1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/entities/-/entities-1.1.1.tgz#6e5c2d0a5621b5dadaecef80b90edfb5cd7772f0"
enzyme-adapter-react-15@1.0.5:
version "1.0.5"
resolved "https://registry.yarnpkg.com/enzyme-adapter-react-15/-/enzyme-adapter-react-15-1.0.5.tgz#99f9a03ff2c2303e517342935798a6bdfbb75fac"
enzyme-adapter-react-16@1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/enzyme-adapter-react-16/-/enzyme-adapter-react-16-1.1.1.tgz#a8f4278b47e082fbca14f5bfb1ee50ee650717b4"
dependencies:
enzyme-adapter-utils "^1.1.0"
enzyme-adapter-utils "^1.3.0"
lodash "^4.17.4"
object.assign "^4.0.4"
object.values "^1.0.4"
prop-types "^15.5.10"
prop-types "^15.6.0"
react-reconciler "^0.7.0"
react-test-renderer "^16.0.0-0"
enzyme-adapter-utils@^1.1.0:
enzyme-adapter-utils@^1.3.0:
version "1.3.0"
resolved "https://registry.yarnpkg.com/enzyme-adapter-utils/-/enzyme-adapter-utils-1.3.0.tgz#d6c85756826c257a8544d362cc7a67e97ea698c7"
dependencies:
@ -2939,7 +2933,7 @@ faye-websocket@~0.11.0:
dependencies:
websocket-driver ">=0.5.1"
fbjs@^0.8.16, fbjs@^0.8.9:
fbjs@^0.8.16:
version "0.8.16"
resolved "https://registry.yarnpkg.com/fbjs/-/fbjs-0.8.16.tgz#5e67432f550dc41b572bf55847b8aca64e5337db"
dependencies:
@ -5685,14 +5679,14 @@ react-deep-force-update@^2.1.1:
version "2.1.1"
resolved "https://registry.yarnpkg.com/react-deep-force-update/-/react-deep-force-update-2.1.1.tgz#8ea4263cd6455a050b37445b3f08fd839d86e909"
react-dom@15.6.2:
version "15.6.2"
resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-15.6.2.tgz#41cfadf693b757faf2708443a1d1fd5a02bef730"
react-dom@16.2.0:
version "16.2.0"
resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-16.2.0.tgz#69003178601c0ca19b709b33a83369fe6124c044"
dependencies:
fbjs "^0.8.9"
fbjs "^0.8.16"
loose-envify "^1.1.0"
object-assign "^4.1.0"
prop-types "^15.5.10"
object-assign "^4.1.1"
prop-types "^15.6.0"
react-fontawesome@1.6.1:
version "1.6.1"
@ -5723,6 +5717,15 @@ react-proxy@^3.0.0-alpha.0:
dependencies:
lodash "^4.6.1"
react-reconciler@^0.7.0:
version "0.7.0"
resolved "https://registry.yarnpkg.com/react-reconciler/-/react-reconciler-0.7.0.tgz#9614894103e5f138deeeb5eabaf3ee80eb1d026d"
dependencies:
fbjs "^0.8.16"
loose-envify "^1.1.0"
object-assign "^4.1.1"
prop-types "^15.6.0"
react-redux@5.0.6:
version "5.0.6"
resolved "https://registry.yarnpkg.com/react-redux/-/react-redux-5.0.6.tgz#23ed3a4f986359d68b5212eaaa681e60d6574946"
@ -5757,12 +5760,13 @@ react-router@^4.2.0:
prop-types "^15.5.4"
warning "^3.0.0"
react-test-renderer@15.6.2:
version "15.6.2"
resolved "https://registry.yarnpkg.com/react-test-renderer/-/react-test-renderer-15.6.2.tgz#d0333434fc2c438092696ca770da5ed48037efa8"
react-test-renderer@16.2.0, react-test-renderer@^16.0.0-0:
version "16.2.0"
resolved "https://registry.yarnpkg.com/react-test-renderer/-/react-test-renderer-16.2.0.tgz#bddf259a6b8fcd8555f012afc8eacc238872a211"
dependencies:
fbjs "^0.8.9"
object-assign "^4.1.0"
fbjs "^0.8.16"
object-assign "^4.1.1"
prop-types "^15.6.0"
react-transition-group@^2.2.0:
version "2.2.1"
@ -5775,15 +5779,14 @@ react-transition-group@^2.2.0:
prop-types "^15.5.8"
warning "^3.0.0"
react@15.6.2:
version "15.6.2"
resolved "https://registry.yarnpkg.com/react/-/react-15.6.2.tgz#dba0434ab439cfe82f108f0f511663908179aa72"
react@16.2.0:
version "16.2.0"
resolved "https://registry.yarnpkg.com/react/-/react-16.2.0.tgz#a31bd2dab89bff65d42134fa187f24d054c273ba"
dependencies:
create-react-class "^15.6.0"
fbjs "^0.8.9"
fbjs "^0.8.16"
loose-envify "^1.1.0"
object-assign "^4.1.0"
prop-types "^15.5.10"
object-assign "^4.1.1"
prop-types "^15.6.0"
reactstrap@5.0.0-alpha.4:
version "5.0.0-alpha.4"