git init && npm init
npm i -D webpack webpack-cli
./node_modules/.bin/webpack src/index.js
node dist/main.js
npm i -D html-webpack-plugin
and create webpack.config.jsnpm i -D webpack-dev-server
npm i react react-dom
To start using jsx need install loader or transpiler.
npm install @babel/core @babel/preset-env @babel/preset-react babel-loader
with preset-env transform code in the lastest version of js accepted by ecma committee, and can select browsers to supportnpm i -D standard
js and react linternpm i styled-components
npm i -D babel-plugin-styled-components
and add to webpack.config.jsnpm i react-icons
- logo -- Create SVG here -- Optimize SVG here -- SVG Playground to convert in component here
-
useState (to add local storage to component)
-
useEffect (to execute functión each render of component)
-
useContext (to access to context api to have global values without by props)
-
useReducer (update component state like redux)
-
useCallback
-
useMemo
-
useRef (get references from dom elements)
-
useImperativeHandle
-
useLayoutEffect
-
useDebugValue (access to values without console.log)
-
can create custom hooks
-
npm i intersection-observer
polyfill to support in old browsers -
npm i @babel/plugin-syntax-dynamic-import -D
and add '@babel/plugin-syntax-dynamic-import' to plugins in webpack.config.js to add support dynamic imports in babel, now not is needed -
npm i babel-eslint -D
and add parser to package.json for add support to eslint to experimental features -
npm i apollo-boost
to beginning connection with Apollo server without configuration -
npm i react-apollo
integration Apollo with react -
npm i graphql
and configure in index.js -
npm i @reach/router
-
npm install react-helmet
-
npm i -D prop-types
-
npm i -D webpack-pwa-manifest
and config in webpack.config -
npm i -D workbox-webpack-plugin
and config in webpack.config - pack utilitys from google, to create service workers and offline support -
npm i -D cypress
and configure cypress.json