yarn add react react-dom prop-types
yarn add --dev babel-preset-env babel-preset-react
In .babelrc:
{
"presets": ["env", "react"]
}
yarn add --dev eslint babel-eslint eslint-plugin-react
In .eslintrc.json:
{
"parser": "babel-eslint",
"extends": ["eslint:recommended", "plugin:react/recommended"]
}
yarn add --dev lint-staged husky prettier
In package.json:
{
"scripts": {
"precommit": "lint-staged"
},
"lint-staged": {
"*.{js,json,css,md}": ["prettier --write", "git add"]
}
}
yarn add --dev node-sass parcel-bundler
In package.json:
{
"start": "NODE_ENV=development parcel src/index.html --open",
"build": "NODE_ENV=production parcel build src/index.html",
}
Autoprefixer:
yarn add --dev autoprefixer
In package.json:
"postcss": {
"modules": false,
"plugins": {
"autoprefixer": {
"browsers": [">1%", "last 4 versions", "Firefox ESR", "not ie < 9"],
"flexbox": "no-2009"
}
}
},
Visualizer:
yarn add --dev parcel-plugin-bundle-visualiser
Hot reloading:
yarn add --dev react-hot-loader
At .babelrc:
{
"plugins": ["react-hot-loader/babel"]
}
yarn add --dev git+https://github.com/MarsBased/marscss.git/marscss
yarn add react-router react-router-dom
yarn add --dev jest enzyme enzyme-adapter-react-16
Add scss mocks: (jestjs/jest#3094 and https://facebook.github.io/jest/docs/en/webpack.html)
yarn add --dev identity-obj-proxy
```
At package.json:
```
{
"jest":{
"moduleNameMapper": {
"\\.(css|less|scss|sass)$": "identity-obj-proxy"
},
}
yarn add firebase @firebase/firestore
Add src/firebase.js
yarn add --dev gh-pages
At package.json:
{
...
"scripts":{
"build":
"NODE_ENV=production parcel build src/index.html --public-url https://marsbased.github.io/martian-playlist/",
"deploy": "gh-pages -d dist"
},
}
yarn add hoist-non-react-statics
yarn add --dev cypress