Пару лет назад для одного из проектов был собран стек для приложения на Реакте. На данный момент он частично устарел, некоторые пакеты больше не используются и не поддерживаются (например, extract-text-webpack-plugin), а некоторые заменены другими (например, вместо babel-preset-es2015 теперь babel-preset-env).
Мой стек также затрагивает конфигурационные файлы (.babelrc, webpack.config.js, .eslintrc).
При сборке проекта появляется множество предупреждений о том, что некоторые пакеты устарели и не поддерживаются. Да и сама версия Реакта уже не свежая.
При создании стека с нуля сейчас, появляется большое количество ошибок и проблем совместимости.
Можно ли как-то максимально безболезненно и быстро обновить этот стек? Или какие действия сейчас будут оптимальны, чтобы в ближайшее время работать над новым проектом с этим же стеком (обновлённым)?
package.json
{
"name": "react-application",
"version": "1.0.0",
"description": "",
"main": "index.js",
"dependencies": {
"babel-core": "^6.14.0",
"babel-plugin-transform-decorators-legacy": "^1.3.4",
"babel-polyfill": "^6.13.0",
"babel-preset-es2015": "^6.14.0",
"babel-preset-react": "^6.11.1",
"babel-preset-stage-0": "^6.5.0",
"bluebird": "^3.4.1",
"express": "^4.14.0",
"react": "^15.3.1",
"react-dom": "^15.3.1"
},
"devDependencies": {
"babel-eslint": "^6.1.2",
"babel-loader": "^6.2.5",
"clean-webpack-plugin": "^0.1.10",
"css-loader": "^0.24.0",
"eslint": "^3.3.1",
"eslint-loader": "^1.5.0",
"eslint-plugin-react": "^6.1.2",
"extract-text-webpack-plugin": "^1.0.1",
"file-loader": "^0.9.0",
"html-loader": "^0.4.3",
"json-loader": "^0.5.4",
"less": "^2.7.1",
"less-loader": "^2.2.3",
"nodemon": "^1.10.2",
"postcss-loader": "^0.10.1",
"react-hot-loader": "^1.3.0",
"style-loader": "^0.13.1",
"url-loader": "^0.5.7",
"webpack": "^1.13.2",
"webpack-dev-server": "^1.15.0"
},
"scripts": {
"build": "NODE_ENV='production' webpack -p",
"webpack-devserver": "webpack-dev-server --debug --hot --devtool eval-source-map --output-pathinfo --watch --colors --inline --content-base public --port 8050 --host 0.0.0.0",
"nodemon": "NODE_PATH=./src nodemon server.js"
},
"author": "unknown",
"license": "ISC"
}