{
  "name": "easy-peasy",
  "version": "3.2.3",
  "description": "Vegetarian friendly state for React",
  "license": "MIT",
  "main": "dist/easy-peasy.cjs.js",
  "module": "dist/easy-peasy.esm.js",
  "types": "./index.d.ts",
  "sideEffects": false,
  "files": [
    "dist",
    "src",
    "index.d.ts"
  ],
  "repository": {
    "type": "git",
    "url": "https://github.com/ctrlplusb/easy-peasy.git"
  },
  "homepage": "https://github.com/ctrlplusb/easy-peasy#readme",
  "author": "Sean Matheson <sean@ctrlplusb.com>",
  "keywords": [
    "react",
    "redux",
    "state",
    "typescript"
  ],
  "scripts": {
    "build": "rollup -c",
    "clean": "rimraf ./dist && rimraf ./coverage",
    "lint": "eslint src",
    "prepublish": "npm run build",
    "test": "jest",
    "test:coverage": "npm run test -- --coverage",
    "test:coverage:deploy": "npm run test:coverage && codecov"
  },
  "husky": {
    "hooks": {
      "pre-commit": "lint-staged && npm run test"
    }
  },
  "resolutions": {
    "@types/react": "16.9.11"
  },
  "peerDependencies": {
    "react": "^16.8.0"
  },
  "dependencies": {
    "debounce": "^1.2.0",
    "immer-peasy": "3.1.3",
    "is-plain-object": "^3.0.0",
    "memoizerific": "^1.11.3",
    "prop-types": "^15.6.2",
    "redux": "^4.0.4",
    "redux-thunk": "^2.3.0",
    "shallowequal": "^1.1.0",
    "symbol-observable": "^1.2.0",
    "ts-toolbelt": "^4.10.0"
  },
  "devDependencies": {
    "@babel/cli": "^7.7.0",
    "@babel/core": "^7.7.2",
    "@babel/plugin-proposal-class-properties": "^7.7.0",
    "@babel/plugin-proposal-json-strings": "^7.0.0",
    "@babel/plugin-syntax-dynamic-import": "^7.0.0",
    "@babel/plugin-syntax-import-meta": "^7.0.0",
    "@babel/polyfill": "^7.7.0",
    "@babel/preset-env": "^7.7.1",
    "@babel/preset-react": "^7.7.0",
    "@babel/preset-typescript": "^7.7.2",
    "@babel/register": "^7.7.0",
    "@testing-library/jest-dom": "^4.2.3",
    "@testing-library/react": "^9.3.2",
    "@testing-library/react-hooks": "^3.2.1",
    "@types/react": "^16.9.11",
    "@types/react-dom": "^16.9.4",
    "@types/react-redux": "^7.1.5",
    "app-root-dir": "^1.0.2",
    "babel-core": "^7.0.0-bridge.0",
    "babel-eslint": "^10.0.3",
    "babel-jest": "^24.9.0",
    "babel-plugin-transform-react-remove-prop-types": "^0.4.24",
    "change-case": "^3.1.0",
    "codecov": "^3.6.1",
    "eslint": "^6.6.0",
    "eslint-config-airbnb": "^18.0.1",
    "eslint-config-prettier": "^6.5.0",
    "eslint-plugin-import": "^2.18.2",
    "eslint-plugin-jsx-a11y": "^6.2.3",
    "eslint-plugin-react": "^7.16.0",
    "husky": "^3.0.9",
    "jest": "^24.9.0",
    "lint-staged": "^9.4.2",
    "prettier": "^1.18.2",
    "prettier-eslint": "^9.0.0",
    "react": "^16.11.0",
    "react-dom": "^16.11.0",
    "react-redux": "^7.1.3",
    "rimraf": "^3.0.0",
    "rollup": "^1.26.3",
    "rollup-plugin-babel": "^4.3.3",
    "rollup-plugin-commonjs": "^10.1.0",
    "rollup-plugin-filesize": "^6.2.1",
    "rollup-plugin-node-resolve": "^5.2.0",
    "rollup-plugin-replace": "^2.2.0",
    "rollup-plugin-uglify": "^6.0.3",
    "typescript": "3.7.2",
    "typings-tester": "^0.3.2"
  },
  "jest": {
    "collectCoverageFrom": [
      "src/**/*.{js,jsx}"
    ],
    "setupFilesAfterEnv": [
      "<rootDir>/node_modules/regenerator-runtime/runtime",
      "@testing-library/jest-dom/extend-expect"
    ],
    "testMatch": [
      "**/?(*.)+(spec|test).[jt]s?(x)"
    ],
    "testPathIgnorePatterns": [
      "<rootDir>/(coverage|dist|node_modules|tools)/"
    ]
  },
  "eslintConfig": {
    "parser": "babel-eslint",
    "root": true,
    "env": {
      "browser": true,
      "es6": true,
      "jest": true,
      "node": true
    },
    "extends": [
      "airbnb",
      "prettier"
    ],
    "rules": {
      "array-callback-return": 0,
      "camelcase": 0,
      "import/no-extraneous-dependencies": 0,
      "import/prefer-default-export": 0,
      "no-nested-ternary": 0,
      "no-param-reassign": 0,
      "no-underscore-dangle": 0,
      "react/forbid-prop-types": 0,
      "react/jsx-filename-extension": 0,
      "react/jsx-one-expression-per-line": 0,
      "react/no-array-index-key": 0,
      "react/react-in-jsx-scope": 0,
      "react/sort-comp": 0
    }
  },
  "eslintIgnoreConfig": [
    "node_modules/",
    "coverage/",
    "dist/",
    "*.ts"
  ],
  "prettier": {
    "parser": "typescript",
    "semi": true,
    "singleQuote": true,
    "tabWidth": 2,
    "trailingComma": "all"
  },
  "lint-staged": {
    "*.js": [
      "prettier --write \"src/**/*.js\"",
      "git add"
    ]
  }
}
