Skip to content

Instantly share code, notes, and snippets.

@alieslamifard
Last active October 15, 2018 10:51
Show Gist options
  • Save alieslamifard/75ac8fba0360fbedf9620031837df2e3 to your computer and use it in GitHub Desktop.
Save alieslamifard/75ac8fba0360fbedf9620031837df2e3 to your computer and use it in GitHub Desktop.
upgrade babel 7.0.0-beta to 7.0.0 stable ( we've removed Babel's Stage presets )
  1. in package.json change all 7.0.0-beta to 7.0.0
  2. npm install in project directory
  3. npx upgrade in project directory
  4. remove @babel/preset-stage-2 from babelrc.js and webpack.config.js
  5. add lines below to plugins in webpack.config
// Stage 2
['@babel/plugin-proposal-decorators', { legacy: true }],
'@babel/plugin-proposal-function-sent',
'@babel/plugin-proposal-export-namespace-from',
'@babel/plugin-proposal-numeric-separator',
'@babel/plugin-proposal-throw-expressions',
// Stage 3
'@babel/plugin-syntax-dynamic-import',
'@babel/plugin-syntax-import-meta',
['@babel/plugin-proposal-class-properties', { loose: false }],
'@babel/plugin-proposal-json-strings',
  1. run this command with yarn or npm
yarn add @babel/plugin-proposal-decorators @babel/plugin-proposal-function-sent @babel/plugin-proposal-export-namespace-from @babel/plugin-proposal-numeric-separator @babel/plugin-proposal-throw-expressions @babel/plugin-syntax-dynamic-import @babel/plugin-syntax-import-meta @babel/plugin-proposal-class-properties @babel/plugin-proposal-json-strings --dev
{
"name": "web",
"version": "0.0.0",
"private": true,
"engines": {
"node": ">=6.13.1",
"npm": ">=3.10.10"
},
"browserslist": [
">1%",
"last 4 versions",
"Firefox ESR",
"not ie < 9"
],
"dependencies": {
"@babel/polyfill": "^7.0.0",
"antd": "^3.9.2",
"apollo-cache-inmemory": "^1.1.4",
"apollo-client": "^2.0.4",
"apollo-link": "^1.0.7",
"apollo-link-error": "^1.0.3",
"apollo-link-http": "^1.3.2",
"apollo-link-logger": "^1.1.0",
"apollo-link-schema": "^1.0.1",
"babel-plugin-import": "^1.7.0",
"bluebird": "^3.5.1",
"body-parser": "^1.18.2",
"classnames": "^2.2.5",
"cookie-parser": "^1.4.3",
"core-js": "^2.5.3",
"enzyme-adapter-react-16": "^1.1.1",
"express": "^4.16.3",
"express-graphql": "^0.6.12",
"express-jwt": "^5.3.1",
"express-request-language": "^1.1.12",
"graphql": "^0.13.2",
"graphql-tag": "^2.6.1",
"graphql-tools": "^2.16.0",
"history": "^4.7.2",
"intl": "^1.2.5",
"intl-locales-supported": "^1.0.0",
"isomorphic-style-loader": "^4.0.0",
"jsonwebtoken": "^8.2.0",
"jwt-decode": "^2.2.0",
"lodash": "^4.17.5",
"moment": "^2.22.1",
"node-fetch": "^2.1.1",
"node-sass": "^4.8.3",
"normalize.css": "^8.0.0",
"passport": "^0.4.0",
"passport-facebook": "^2.1.1",
"pretty-error": "^2.1.1",
"prop-types": "^15.6.1",
"query-string": "^6.0.0",
"react": "^16.4.1",
"react-addons-shallow-compare": "^15.6.2",
"react-apollo": "^2.0.4",
"react-code-highlight": "^1.0.1",
"react-dates-jalali": "^2.0.4",
"react-dom": "^16.5.1",
"react-file-base64": "^1.0.3",
"react-highlight": "^0.12.0",
"react-input-mask": "^1.2.2",
"react-intl": "^2.4.0",
"react-otp-input": "^0.2.1",
"react-redux": "^5.0.6",
"react-redux-loading-bar": "^4.0.5",
"react-scroll-to-component": "^1.0.2",
"react-slick": "^0.23.1",
"recharts": "^1.0.0-beta.10",
"redux": "^3.7.2",
"redux-devtools-extension": "^2.13.2",
"redux-logger": "^3.0.6",
"redux-thunk": "^2.2.0",
"sass-loader": "^7.0.1",
"sequelize": "^4.37.3",
"serialize-javascript": "^1.4.0",
"socket.io-client": "^2.1.0",
"source-map-support": "^0.5.4",
"sqlite3": "^4.0.0",
"universal-router": "^6.0.0",
"whatwg-fetch": "^2.0.3"
},
"devDependencies": {
"@babel/core": "^7.0.0",
"@babel/node": "^7.0.0",
"@babel/plugin-proposal-class-properties": "^7.0.0",
"@babel/plugin-proposal-decorators": "^7.0.0",
"@babel/plugin-proposal-export-namespace-from": "^7.0.0",
"@babel/plugin-proposal-function-sent": "^7.0.0",
"@babel/plugin-proposal-json-strings": "^7.0.0",
"@babel/plugin-proposal-numeric-separator": "^7.0.0",
"@babel/plugin-proposal-throw-expressions": "^7.0.0",
"@babel/plugin-syntax-dynamic-import": "^7.0.0",
"@babel/plugin-syntax-import-meta": "^7.0.0",
"@babel/plugin-transform-react-constant-elements": "^7.0.0",
"@babel/plugin-transform-react-inline-elements": "^7.0.0",
"@babel/preset-env": "^7.0.0",
"@babel/preset-flow": "^7.0.0",
"@babel/preset-react": "^7.0.0",
"@babel/preset-stage-2": "^7.0.0",
"autoprefixer": "^8.1.0",
"babel-core": "^7.0.0-0",
"babel-eslint": "^8.2.2",
"babel-jest": "^22.4.3",
"babel-loader": "^8.0.0-beta.2",
"babel-plugin-react-intl": "^2.3.1",
"babel-plugin-transform-react-remove-prop-types": "^0.4.13",
"browser-sync": "^2.23.6",
"chokidar": "^2.0.2",
"css-loader": "^0.28.11",
"enzyme": "^3.3.0",
"eslint": "^5.6.1",
"eslint-config-airbnb": "^16.1.0",
"eslint-config-prettier": "^2.9.0",
"eslint-import-resolver-node": "^0.3.2",
"eslint-loader": "^2.0.0",
"eslint-plugin-css-modules": "^2.7.5",
"eslint-plugin-flowtype": "^2.46.1",
"eslint-plugin-import": "^2.9.0",
"eslint-plugin-jsx-a11y": "^6.0.3",
"eslint-plugin-prettier": "^2.6.0",
"eslint-plugin-react": "^7.7.0",
"file-loader": "^1.1.11",
"flow-bin": "^0.68.0",
"front-matter": "^2.3.0",
"glob": "^7.1.2",
"husky": "^0.14.3",
"identity-obj-proxy": "^3.0.0",
"jest": "^22.4.3",
"jest-codemods": "^0.13.9",
"jest-transform-graphql": "^2.1.0",
"jscodeshift": "^0.5.0",
"lint-staged": "^7.0.0",
"markdown-it": "^8.4.1",
"mkdirp": "^0.5.1",
"null-loader": "^0.1.1",
"opn-cli": "^3.1.0",
"pixrem": "^4.0.1",
"pleeease-filters": "^4.0.0",
"postcss": "^6.0.20",
"postcss-calc": "^6.0.1",
"postcss-color-function": "^4.0.1",
"postcss-custom-media": "^6.0.0",
"postcss-custom-properties": "^7.0.0",
"postcss-custom-selectors": "^4.0.1",
"postcss-flexbugs-fixes": "^3.3.0",
"postcss-import": "^11.1.0",
"postcss-loader": "^2.1.3",
"postcss-media-minmax": "^3.0.0",
"postcss-nested": "^3.0.0",
"postcss-nesting": "^4.2.1",
"postcss-pseudoelements": "^5.0.0",
"postcss-selector-matches": "^3.0.1",
"postcss-selector-not": "^3.0.1",
"prettier": "^1.11.1",
"raw-loader": "^0.5.1",
"react-deep-force-update": "^2.1.1",
"react-dev-utils": "^5.0.0",
"react-error-overlay": "^4.0.0",
"react-test-renderer": "^16.2.0",
"redux-mock-store": "^1.4.0",
"rimraf": "^2.6.2",
"stylelint": "^9.1.3",
"stylelint-config-standard": "^18.2.0",
"stylelint-order": "^0.8.1",
"svg-url-loader": "^2.3.2",
"url-loader": "^1.0.1",
"webpack": "^4.2.0",
"webpack-assets-manifest": "^2.0.0",
"webpack-bundle-analyzer": "^2.11.1",
"webpack-dev-middleware": "^3.0.1",
"webpack-hot-middleware": "^2.21.2",
"webpack-node-externals": "^1.6.0"
},
"lint-staged": {
"*.{js,jsx}": [
"eslint --fix",
"git add --force"
],
"*.{md,graphql}": [
"prettier --write",
"git add --force"
],
"*.{css,less,styl,scss,sass,sss}": [
"stylelint --fix",
"git add --force"
]
},
"scripts": {
"precommit": "lint-staged",
"lint-js": "eslint --ignore-path .gitignore --ignore-pattern \"!**/.*\" .",
"lint-css": "stylelint \"src/**/*.{css,less,styl,scss,sass,sss}\"",
"lint": "npm run lint-js && npm run lint-css",
"fix-js": "npm run lint-js --fix",
"fix-css": "npm run lint-css --fix",
"fix": "npm run fix-js && npm run fix-css",
"flow": "flow",
"flow:check": "flow check",
"test": "jest",
"test-watch": "yarn run test --watch --notify",
"test-cover": "yarn run test --coverage",
"coverage": "yarn run test-cover && opn coverage/lcov-report/index.html",
"clean": "babel-node tools/run clean",
"copy": "babel-node tools/run copy",
"messages": "babel-node tools/run messages",
"bundle": "babel-node tools/run bundle",
"build": "babel-node tools/run build",
"build-stats": "yarn run build --release --analyse",
"deploy": "babel-node tools/run deploy",
"render": "babel-node tools/run render",
"serve": "babel-node tools/run runServer",
"start": "babel-node tools/run start"
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment