initial commit

master
Tudor Stanciu 2020-04-09 02:36:23 +03:00
commit 3f3c221ad0
5 changed files with 13941 additions and 0 deletions

39
.gitignore vendored Normal file
View File

@ -0,0 +1,39 @@
# Logs
logs
*.log
# Runtime data
pids
*.pid
*.seed
# Directory for instrumented libs generated by jscoverage/JSCover
lib-cov
# Coverage directory used by tools like istanbul
coverage
# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files)
.grunt
# node-waf configuration
.lock-wscript
# Compiled binary addons (http://nodejs.org/api/addons.html)
build/Release
# Dependency directory
# https://www.npmjs.org/doc/misc/npm-faq.html#should-i-check-my-node_modules-folder-into-git
node_modules
# Build folder
build
# Webstorm metadata
.idea
# Mac files
.DS_Store
# json-server db
db.json

70
README.md Normal file
View File

@ -0,0 +1,70 @@
# Starter Kit for [Building Applications in React and Redux](http://www.pluralsight.com/author/cory-house) on Pluralsight
## Get Started
1. **Install [Node 8](https://nodejs.org)** or newer. Need to run multiple versions of Node? Use [nvm](https://github.com/creationix/nvm) or [nvm-windows](https://github.com/coreybutler/nvm-windows)(https://github.com/coryhouse/pluralsight-redux-starter/archive/master.zip)
2. **Navigate to this project's root directory on the command line.**
3. **Install Node Packages.** - `npm install`
4. **Install [React developer tools](https://chrome.google.com/webstore/detail/react-developer-tools/fmkadmapgofadopljbjfkapdkoienihi?hl=en) and [Redux Dev Tools](https://chrome.google.com/webstore/detail/redux-devtools/lmhkpmbekcpmknklioeibfkpmmfibljd?hl=en)** in Chrome.
5. Having issues? See below.
## Having Issues? Try these things first:
1. Run `npm install` - If you forget to do this, you'll get an error when you try to start the app later.
2. Don't run the project from a symbolic link. It will cause issues with file watches.
3. Delete any .eslintrc in your user directory and disable any ESLint plugin / custom rules within your editor since these will conflict with the ESLint rules defined in the course.
4. On Windows? Open your console as an administrator. This will assure the console has the necessary rights to perform installs.
5. Ensure you do not have NODE_ENV=production in your env variables as it will not install the devDependencies. To check run this on the command line: `set NODE_ENV`. If it comes back as production, you need to clear this env variable.
6. Nothing above work? Delete your node_modules folder and re-run npm install.
### Production Dependencies
| **Dependency** | **Use** |
| ---------------- | ---------------------------------------------------- |
| bootstrap | CSS Framework |
| immer | Helper for working with immutable data |
| prop-types | Declare types for props passed into React components |
| react | React library |
| react-dom | React library for DOM rendering |
| react-redux | Connects React components to Redux |
| react-router-dom | React library for routing |
| react-toastify | Display messages to the user |
| redux | Library for unidirectional data flows |
| redux-thunk | Async redux library |
| reselect | Memoize selectors for performance |
### Development Dependencies
| **Dependency** | **Use** |
| ------------------------------- | ---------------------------------------------------------------- |
| @babel/core | Transpiles modern JavaScript so it runs cross-browser |
| babel-eslint | Lint modern JavaScript via ESLint |
| babel-loader | Add Babel support to Webpack |
| babel-preset-react-app | Babel preset for working in React. Used by create-react-app too. |
| css-loader | Read CSS files via Webpack |
| cssnano | Minify CSS |
| enzyme | Simplified JavaScript Testing utilities for React |
| enzyme-adapter-react-16 | Configure Enzyme to work with React 16 |
| eslint | Lints JavaScript |
| eslint-loader | Run ESLint via Webpack |
| eslint-plugin-import | Advanced linting of ES6 imports |
| eslint-plugin-react | Adds additional React-related rules to ESLint |
| fetch-mock | Mock fetch calls |
| html-webpack-plugin | Generate HTML file via webpack |
| http-server | Lightweight HTTP server to serve the production build locally |
| jest | Automated testing framework |
| json-server | Quickly create mock API that simulates create, update, delete |
| mini-css-extract-plugin | Extract imported CSS to a separate file via Webpack |
| node-fetch | Make HTTP calls via fetch using Node - Used by fetch-mock |
| npm-run-all | Display results of multiple commands on single command line |
| postcss-loader | Post-process CSS via Webpack |
| react-test-renderer | Render React components for testing |
| react-testing-library | Test React components |
| redux-immutable-state-invariant | Warn when Redux state is mutated |
| redux-mock-store | Mock Redux store for testing |
| rimraf | Delete files and folders |
| style-loader | Insert imported CSS into app via Webpack |
| webpack | Bundler with plugin ecosystem and integrated dev server |
| webpack-bundle-analyzer | Generate report of what's in the app's production bundle |
| webpack-cli | Run Webpack via the command line |
| webpack-dev-server | Serve app via Webpack |

13778
package-lock.json generated Normal file

File diff suppressed because it is too large Load Diff

54
package.json Normal file
View File

@ -0,0 +1,54 @@
{
"name": "ps-redux",
"description": "React and Redux Pluralsight course by Cory House",
"scripts": {},
"dependencies": {
"bootstrap": "4.3.1",
"immer": "2.1.3",
"prop-types": "15.7.2",
"react": "16.8.4",
"react-dom": "16.8.4",
"react-redux": "6.0.1",
"react-router-dom": "5.0.0",
"react-toastify": "4.5.2",
"redux": "4.0.1",
"redux-thunk": "2.3.0",
"reselect": "4.0.0"
},
"devDependencies": {
"@babel/core": "7.3.4",
"babel-eslint": "10.0.1",
"babel-loader": "8.0.5",
"babel-preset-react-app": "7.0.2",
"css-loader": "2.1.1",
"cssnano": "4.1.10",
"enzyme": "3.9.0",
"enzyme-adapter-react-16": "1.11.2",
"eslint": "5.15.2",
"eslint-loader": "2.1.2",
"eslint-plugin-import": "2.16.0",
"eslint-plugin-react": "7.12.4",
"fetch-mock": "7.3.1",
"html-webpack-plugin": "3.2.0",
"http-server": "0.9.0",
"jest": "24.5.0",
"json-server": "0.14.2",
"mini-css-extract-plugin": "0.5.0",
"node-fetch": "^2.3.0",
"npm-run-all": "4.1.5",
"postcss-loader": "3.0.0",
"react-test-renderer": "16.8.4",
"react-testing-library": "6.0.0",
"redux-immutable-state-invariant": "2.1.0",
"redux-mock-store": "1.5.3",
"rimraf": "2.6.3",
"style-loader": "0.23.1",
"webpack": "4.29.6",
"webpack-bundle-analyzer": "3.1.0",
"webpack-cli": "3.3.0",
"webpack-dev-server": "3.2.1"
},
"engines": {
"node": ">=8"
}
}

BIN
src/favicon.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB