{ "name": "react-redux-universal-hot-example", "description": "Example of an isomorphic (universal) webapp using react redux and hot reloading", "author": "Kévin Berthommier (http://github.com/bertho-zero)", "contributors": [ "Erik Rasmussen (http://github.com/erikras)" ], "license": "MIT", "version": "0.9.0", "repository": { "type": "git", "url": "https://github.com/bertho-zero/react-redux-universal-hot-example" }, "homepage": "https://github.com/bertho-zero/react-redux-universal-hot-example", "keywords": [ "react", "isomorphic", "universal", "webpack", "express", "hot reloading", "react-hot-reloader", "redux", "starter", "boilerplate", "babel" ], "main": "bin/server.js", "scripts": { "start": "concurrently --kill-others \"yarn start-prod\" \"yarn start-prod-api\"", "start-prod": "cross-env NODE_PATH=src NODE_ENV=production PORT=8080 APIPORT=3030 node ./bin/server.js", "start-prod-api": "cross-env NODE_PATH=api NODE_ENV=production APIPORT=3030 node ./bin/api.js", "dev": "concurrently --kill-others \"yarn watch-client\" \"yarn start-dev\" \"yarn start-dev-api\"", "start-dev": "cross-env NODE_PATH=src NODE_ENV=development PORT=3000 APIPORT=3030 node ./bin/server.js", "start-dev-api": "cross-env NODE_PATH=api NODE_ENV=development APIPORT=3030 node ./bin/api.js", "watch-client": "cross-env UV_THREADPOOL_SIZE=100 NODE_PATH=src NODE_ENV=development PORT=3000 APIPORT=3030 node webpack/webpack-dev-server.js", "build": "cross-env NODE_ENV=production webpack --colors --display-error-details --config=webpack/prod.config.js", "postinstall": "yarn build", "prettier": "prettier-eslint --write --eslint-config-path .eslintrc '**/*.js'", "lint": "eslint .", "test": "cross-env NODE_PATH=src jest src", "lighthouse-report": "lighthouse http://localhost:8080 --view", "docker-build": "docker-compose build", "docker-dev": "cross-env NGINX_HOST=localhost NGINX_PORT=3000 PORT=3000 docker-compose -f docker-compose.yml -f docker-compose.dev.yml up --no-deps", "docker-up": "cross-env NGINX_HOST=localhost NGINX_PORT=80 PORT=8080 docker-compose -f docker-compose.yml -f docker-compose.prod.yml up --no-deps -d", "docker-down": "docker-compose down" }, "dependencies": { "@babel/register": "^7.4.0", "@babel/runtime-corejs3": "^7.4.3", "@feathersjs/authentication": "^2.1.0", "@feathersjs/authentication-client": "^1.0.1", "@feathersjs/authentication-jwt": "^2.0.0", "@feathersjs/authentication-local": "^1.0.2", "@feathersjs/authentication-oauth2": "^1.0.2", "@feathersjs/errors": "^3.2.0", "@feathersjs/express": "^1.1.2", "@feathersjs/feathers": "^3.0.2", "@feathersjs/rest-client": "^1.3.2", "@feathersjs/socketio": "^3.0.1", "@feathersjs/socketio-client": "^1.0.1", "axios": "^0.18.0", "body-parser": "^1.16.1", "classnames": "^2.2.5", "compression": "^1.6.2", "cookie-parser": "^1.4.3", "cookies-js": "^1.2.3", "core-js": "^3.0.1", "express": "^4.15.4", "express-session": "^1.15.5", "feathers-authentication-hooks": "^0.3.0", "feathers-hooks-common": "^4.10.0", "feathers-nedb": "^4.0.1", "final-form": "^4.6.1", "history": "^4.7.2", "http-proxy": "^1.16.2", "js-cookie": "^2.1.3", "localforage": "^1.4.3", "lodash": "^4.17.10", "lru-memoize": "^1.0.1", "morgan": "^1.8.1", "multireducer": "^3.1.0", "nedb": "^1.8.0", "nprogress": "^0.2.0", "passport-facebook-token": "^3.3.0", "pretty-error": "^2.0.2", "prop-types": "^15.5.8", "qs": "^6.5.2", "react": "^16.8.6", "react-bootstrap": "^0.32.1", "react-dom": "^16.8.6", "react-final-form": "^4.1.0", "react-helmet": "^5.0.3", "react-loadable": "^5.3.0", "react-redux": "^7.0.2", "react-router": "^5.0.0", "react-router-bootstrap": "^0.25.0", "react-router-config": "^5.0.0", "react-router-dom": "^5.0.0", "recompose": "^0.30.0", "redial": "^0.5.0", "redux": "^4.0.0", "redux-auth-wrapper": "^2.0.2", "redux-logger": "^3.0.6", "redux-persist": "^5.3.4", "regenerator-runtime": "^0.13.2", "serialize-javascript": "^1.3.0", "serve-favicon": "^2.3.2", "socket.io-client": "^2.0.1" }, "devDependencies": { "@babel/core": "^7.4.3", "@babel/plugin-proposal-class-properties": "^7.4.0", "@babel/plugin-proposal-decorators": "^7.4.0", "@babel/plugin-proposal-do-expressions": "^7.2.0", "@babel/plugin-proposal-export-default-from": "^7.2.0", "@babel/plugin-proposal-export-namespace-from": "^7.2.0", "@babel/plugin-proposal-function-bind": "^7.2.0", "@babel/plugin-proposal-function-sent": "^7.2.0", "@babel/plugin-proposal-json-strings": "^7.2.0", "@babel/plugin-proposal-logical-assignment-operators": "^7.2.0", "@babel/plugin-proposal-nullish-coalescing-operator": "^7.4.3", "@babel/plugin-proposal-numeric-separator": "^7.2.0", "@babel/plugin-proposal-optional-chaining": "^7.2.0", "@babel/plugin-proposal-pipeline-operator": "^7.3.2", "@babel/plugin-proposal-throw-expressions": "^7.2.0", "@babel/plugin-syntax-dynamic-import": "^7.2.0", "@babel/plugin-syntax-import-meta": "^7.2.0", "@babel/plugin-transform-react-jsx-source": "^7.2.0", "@babel/plugin-transform-runtime": "^7.4.3", "@babel/preset-env": "^7.4.3", "@babel/preset-react": "^7.0.0", "babel-core": "^7.0.0-bridge.0", "babel-eslint": "^10.0.1", "babel-jest": "^24.7.1", "babel-loader": "^8.0.0", "babel-plugin-dynamic-import-node": "^2.2.0", "bootstrap-loader": "^2.1.0", "bootstrap-sass": "^3.3.7", "chai": "^4.1.1", "clean-webpack-plugin": "^2.0.1", "concurrently": "^4.0.1", "cross-env": "^5.1.1", "css-loader": "^1.0.0", "eslint": "^5.2.0", "eslint-config-airbnb": "^17.0.0", "eslint-loader": "^2.0.0", "eslint-plugin-import": "^2.17.1", "eslint-plugin-jsx-a11y": "^6.0.3", "eslint-plugin-react": "^7.2.1", "extract-text-webpack-plugin": "^4.0.0-beta.0", "file-loader": "^3.0.1", "font-awesome": "^4.7.0", "html-webpack-plugin": "^3.1.0", "husky": "^1.3.1", "identity-obj-proxy": "^3.0.0", "jest": "^24.7.1", "jest-cli": "^24.7.1", "less": "^3.0.0-alpha.3", "less-loader": "^4.0.3", "lighthouse": "^4.3.0", "lint-staged": "^8.1.5", "mini-css-extract-plugin": "^0.6.0", "node-sass": "^4.9.0", "piping": "^1.0.0-rc.4", "postcss": "^7.0.2", "postcss-browser-reporter": "^0.6.0", "postcss-cssnext": "^3.0.2", "postcss-import": "^12.0.0", "postcss-loader": "^3.0.0", "postcss-reporter": "^6.0.0", "postcss-url": "^8.0.0", "prettier-eslint-cli": "^4.6.1", "react-a11y": "^1.0.0", "react-hot-loader": "^4.0.0", "resolve-url-loader": "^2.2.1", "sass-loader": "^7.0.1", "style-loader": "^0.23.0", "sw-precache-webpack-plugin": "^0.11.3", "terser-webpack-plugin": "^1.2.3", "url-loader": "^1.0.1", "webpack": "^4.7.0", "webpack-cli": "^3.0.0", "webpack-dev-middleware": "^3.1.3", "webpack-hot-middleware": "^2.17.0", "webpack-isomorphic-tools": "^3.0.2" }, "engines": { "node": ">=8.9.0" }, "husky": { "hooks": { "pre-commit": "lint-staged" } }, "lint-staged": { "+(src|api)/**/*.js": [ "prettier-eslint --write --eslint-config-path .eslintrc", "eslint -c .eslintrc", "git add" ] } }