@bhupinderanand/react-redux-saga-boilerplate
Version:
Boilerplate with React and Redux with Redux Saga
249 lines (248 loc) • 8.79 kB
JSON
{
"name": "@bhupinderanand/react-redux-saga-boilerplate",
"description": "Boilerplate with React and Redux with Redux Saga",
"version": "2022.3.0",
"author": "Gil Barbara <gilbarbara@gmail.com>",
"repository": {
"type": "git",
"url": "git+https://github.com/gilbarbara/react-redux-saga-boilerplate.git"
},
"bugs": {
"url": "https://github.com/gilbarbara/react-redux-saga-boilerplate/issues"
},
"license": "MIT",
"keywords": [
"React",
"React-Router",
"Redux",
"Redux-Saga",
"Webpack",
"ES6"
],
"dependencies": {
"@gilbarbara/helpers": "^0.5.1",
"@reduxjs/toolkit": "^1.8.0",
"immer": "^9.0.12",
"is-lite": "^0.8.1",
"react": "^17.0.2",
"react-dom": "^17.0.2",
"react-error-boundary": "^3.1.4",
"react-helmet-async": "^1.2.3",
"react-inlinesvg": "^2.3.0",
"react-redux": "^7.2.6",
"react-router-dom": "^6.2.2",
"react-transition-group": "^4.4.2",
"react-use": "^17.3.2",
"redux": "^4.1.2",
"redux-persist": "^6.0.0",
"redux-saga": "^1.1.3",
"styled-components": "^5.3.5",
"styled-minimal": "^1.0.0-7",
"tree-changes-hook": "^0.9.0"
},
"devDependencies": {
"@babel/core": "^7.17.8",
"@babel/plugin-external-helpers": "^7.16.7",
"@babel/plugin-proposal-class-properties": "7.16.7",
"@babel/plugin-proposal-decorators": "7.17.8",
"@babel/plugin-proposal-do-expressions": "7.16.7",
"@babel/plugin-proposal-export-default-from": "7.16.7",
"@babel/plugin-proposal-export-namespace-from": "7.16.7",
"@babel/plugin-proposal-function-bind": "7.16.7",
"@babel/plugin-proposal-function-sent": "7.16.7",
"@babel/plugin-proposal-json-strings": "7.16.7",
"@babel/plugin-proposal-logical-assignment-operators": "7.16.7",
"@babel/plugin-proposal-nullish-coalescing-operator": "7.16.7",
"@babel/plugin-proposal-numeric-separator": "7.16.7",
"@babel/plugin-proposal-optional-chaining": "7.16.7",
"@babel/plugin-proposal-pipeline-operator": "7.17.6",
"@babel/plugin-proposal-throw-expressions": "7.16.7",
"@babel/plugin-syntax-dynamic-import": "7.8.3",
"@babel/plugin-syntax-import-meta": "7.10.4",
"@babel/plugin-transform-object-assign": "^7.16.7",
"@babel/plugin-transform-runtime": "^7.17.0",
"@babel/preset-env": "^7.16.11",
"@babel/preset-react": "^7.16.7",
"@babel/preset-typescript": "^7.16.7",
"@babel/runtime": "^7.17.8",
"@gilbarbara/eslint-config": "^0.2.0",
"@gilbarbara/prettier-config": "^0.1.0",
"@gilbarbara/tsconfig": "^0.1.0",
"@pmmmwh/react-refresh-webpack-plugin": "0.5.4",
"@size-limit/preset-app": "^7.0.8",
"@svgr/webpack": "^6.2.1",
"@testing-library/cypress": "^8.0.2",
"@testing-library/jest-dom": "^5.16.3",
"@testing-library/react": "^12.1.4",
"@testing-library/user-event": "^13.5.0",
"@types/jest": "^27.4.1",
"@types/node": "^17.0.23",
"@types/react": "^17.0.43",
"@types/react-dom": "^17.0.14",
"@types/react-redux": "^7.1.23",
"@types/react-router-dom": "^5.3.3",
"@types/react-transition-group": "^4.4.4",
"@types/styled-components": "^5.1.24",
"@types/styled-system": "^5.1.15",
"@types/styled-system__css": "^5.0.16",
"@types/testing-library__cypress": "^5.0.9",
"@types/testing-library__react": "^10.2.0",
"@types/webpack-env": "^1.16.3",
"babel-core": "^7.0.0-bridge.0",
"babel-eslint": "^10.1.0",
"babel-jest": "^27.5.1",
"babel-loader": "^8.2.4",
"babel-plugin-array-includes": "^2.0.3",
"babel-plugin-dynamic-import-node": "^2.3.3",
"babel-plugin-named-asset-import": "^0.3.8",
"babel-plugin-styled-components": "^2.0.6",
"babel-plugin-transform-react-remove-prop-types": "^0.4.24",
"bfj": "^7.0.2",
"caniuse-lite": "^1.0.30001320",
"case-sensitive-paths-webpack-plugin": "^2.4.0",
"circular-dependency-plugin": "^5.2.2",
"core-js": "^3.21.1",
"css-loader": "^6.7.1",
"css-minimizer-webpack-plugin": "^3.4.1",
"csstype": "^3.0.11",
"cypress": "^9.5.2",
"date-fns": "^2.28.0",
"deepmerge": "^4.2.2",
"dotenv": "^16.0.0",
"dotenv-expand": "^8.0.3",
"eslint-config-cypress": "^0.28.0",
"eslint-plugin-cypress": "^2.12.1",
"eslint-plugin-redux-saga": "^1.3.2",
"file-loader": "^6.2.0",
"fs-extra": "^10.0.1",
"git-rev-webpack-plugin": "^0.3.1",
"html-entities": "^2.3.2",
"html-loader": "^3.1.0",
"html-webpack-plugin": "^5.5.0",
"husky": "^7.0.4",
"image-webpack-loader": "^8.1.0",
"is-ci-cli": "^2.2.0",
"jest": "^27.5.1",
"jest-date-mock": "^1.0.8",
"jest-environment-jsdom-global": "^3.0.0",
"jest-extended": "^2.0.0",
"jest-fetch-mock": "^3.0.3",
"jest-localstorage-mock": "^2.4.19",
"jest-serializer-html": "^7.1.0",
"jest-styled-components": "^7.0.8",
"jest-watch-typeahead": "^1.0.0",
"lint-staged": "^12.3.7",
"markdown-loader": "^8.0.0",
"mini-css-extract-plugin": "^2.6.0",
"postcss": "^8.4.12",
"postcss-flexbugs-fixes": "^5.0.2",
"postcss-loader": "^6.2.1",
"postcss-normalize": "^10.0.1",
"postcss-preset-env": "^7.4.3",
"react-dev-utils": "^12.0.0",
"react-refresh": "^0.11.0",
"redux-immutable-state-invariant": "^2.1.0",
"redux-logger": "^3.0.6",
"redux-saga-test-plan": "^4.0.4",
"regenerator-runtime": "^0.13.9",
"repo-tools": "^0.2.2",
"resolve": "^1.22.0",
"resolve-url-loader": "^5.0.0",
"rsync": "^0.6.1",
"sass-loader": "^12.6.0",
"serve": "^13.0.2",
"size-limit": "^7.0.8",
"source-map-loader": "^3.0.1",
"source-map-support": "^0.5.21",
"start-server-and-test": "^1.14.0",
"style-loader": "^3.3.1",
"stylelint": "^14.6.1",
"stylelint-config-standard": "^25.0.0",
"stylelint-config-styled-components": "^0.1.1",
"stylelint-order": "^5.0.0",
"stylelint-processor-styled-components": "^1.10.0",
"terser-webpack-plugin": "^5.3.1",
"ts-node": "^10.7.0",
"ts-pnp": "^1.2.0",
"type-fest": "^2.12.1",
"typescript": "^4.6.3",
"web-vitals": "^2.1.4",
"webpack": "^5.70.0",
"webpack-cli": "^4.9.2",
"webpack-dev-server": "^4.7.4",
"webpack-manifest-plugin": "^5.0.0",
"workbox-background-sync": "^6.5.2",
"workbox-broadcast-update": "^6.5.2",
"workbox-cacheable-response": "^6.5.2",
"workbox-core": "^6.5.2",
"workbox-expiration": "^6.5.2",
"workbox-google-analytics": "^6.5.2",
"workbox-navigation-preload": "^6.5.2",
"workbox-precaching": "^6.5.2",
"workbox-range-requests": "^6.5.2",
"workbox-routing": "^6.5.2",
"workbox-strategies": "^6.5.2",
"workbox-streams": "^6.5.2",
"workbox-webpack-plugin": "^6.5.2",
"yargs": "^17.4.0"
},
"scripts": {
"start": "node tools/start",
"build": "node tools/build",
"build:serve": "npm run build && npm run serve",
"analyze": "NODE_ENV=production webpack --config config/webpack.config.js --profile --json > webpack.stats.json",
"lint": "eslint --ext .js,.jsx,.ts,.tsx src config test tools",
"lint:styles": "stylelint 'src/**/*.{ts,tsx}'",
"typecheck": "tsc --noEmit -p test/tsconfig.json",
"test": "is-ci \"test:coverage\" \"test:watch\"",
"test:coverage": "jest --bail --coverage",
"test:watch": "jest --watchAll --verbose",
"test:e2e": "start-server-and-test serve http://localhost:3000 test:e2e:run",
"test:e2e:run": "cypress run --record --key adbe5dd9-10e2-42aa-b679-da6d31ae5d51",
"test:e2e:dev": "cypress open",
"format": "prettier \"**/*.{ts,tsx}\" --write",
"validate": "npm run typecheck && npm run lint && npm run lint:styles && npm run test:coverage && npm run build && size-limit",
"serve": "serve --listen 3000 build",
"deploy": "node tools deploy",
"publish": "node tools publish",
"size": "npm run build && size-limit",
"postinstall": "rm -rf node_modules/@types/react-native",
"prepare": "husky install"
},
"prettier": "@gilbarbara/prettier-config",
"lint-staged": {
"*.ts?(x)": [
"eslint --fix",
"stylelint --fix",
"git add",
"jest --findRelatedTests"
],
"*.(js|jsx|json|yml|yaml|css|less|scss|ts|tsx|md|graphql|mdx)": [
"prettier --write",
"git add"
]
},
"browserslist": {
"production": [
">0.2%",
"not dead",
"not op_mini all"
],
"development": [
"last 1 chrome version",
"last 1 firefox version",
"last 1 safari version"
]
},
"size-limit": [
{
"path": "./build/static/js/*.js",
"limit": "160 kb"
}
],
"homepage": "https://github.com/gilbarbara/react-redux-saga-boilerplate#readme",
"main": "index.tsx",
"directories": {
"test": "test"
}
}