{
  "name": "easy-peasy",
  "version": "6.1.1",
  "description": "Vegetarian friendly state for React",
  "license": "MIT",
  "main": "dist/index.cjs.js",
  "module": "dist/index.js",
  "source": "src/index.js",
  "types": "./index.d.ts",
  "sideEffects": true,
  "files": [
    "dist",
    "src",
    "index.d.ts",
    "proxy-polyfill.js",
    "proxy-polyfill.d.ts",
    "map-set-support.js",
    "map-set-support.d.ts"
  ],
  "repository": {
    "type": "git",
    "url": "https://github.com/ctrlplusb/easy-peasy.git"
  },
  "homepage": "https://easy-peasy.dev",
  "contributors": [
    {
      "name": "Sean Matheson",
      "email": "sean@ctrlplusb.com",
      "url": "https://twitter.com/controlplusb"
    },
    {
      "name": "Jørn André Myrland",
      "url": "https://twitter.com/myrlandnu"
    },
    {
      "name": "Peter Weinberg",
      "url": "https://github.com/no-stack-dub-sack"
    }
  ],
  "keywords": [
    "react",
    "redux",
    "state",
    "typescript"
  ],
  "scripts": {
    "build": "rollup -c",
    "clean": "rimraf ./dist && rimraf ./coverage",
    "lint": "eslint --fix --ext .ts,.js src tests",
    "dtslint": "dtslint --expectOnly --localTs node_modules/typescript/lib  tests/typescript",
    "prepublish": "yarn run build",
    "prepublishOnly": "yarn",
    "test": "jest",
    "test:watch": "jest --watch",
    "test:coverage": "yarn run test -- --coverage",
    "test:coverage:deploy": "yarn run test:coverage && codecov",
    "prepare": "husky install"
  },
  "resolutions": {
    "@types/react": "^19.0.8"
  },
  "peerDependencies": {
    "@types/react": "^18.0 || ^19.0",
    "@types/react-dom": "^18.0 || ^19.0",
    "react": "^18.0 || ^19.0",
    "react-dom": "^18.0 || ^19.0",
    "react-native": ">=0.59"
  },
  "peerDependenciesMeta": {
    "@types/react": {
      "optional": true
    },
    "@types/react-dom": {
      "optional": true
    },
    "react-dom": {
      "optional": true
    },
    "react-native": {
      "optional": true
    }
  },
  "dependencies": {
    "@babel/runtime": "^7.22.6",
    "fast-deep-equal": "^3.1.3",
    "immer": "^9.0.21",
    "redux": "^5.0.1",
    "redux-thunk": "^3.1.0",
    "ts-toolbelt": "^9.6.0",
    "use-sync-external-store": "^1.4.0"
  },
  "devDependencies": {
    "@babel/cli": "^7.22.9",
    "@babel/core": "^7.22.9",
    "@babel/eslint-parser": "^7.22.9",
    "@babel/node": "^7.22.6",
    "@babel/plugin-external-helpers": "^7.22.5",
    "@babel/plugin-proposal-object-rest-spread": "^7.20.7",
    "@babel/plugin-transform-react-jsx": "^7.22.5",
    "@babel/plugin-transform-runtime": "^7.22.9",
    "@babel/polyfill": "^7.12.1",
    "@babel/preset-env": "^7.22.9",
    "@babel/preset-react": "^7.22.5",
    "@babel/preset-typescript": "^7.22.5",
    "@babel/register": "^7.22.5",
    "@definitelytyped/dtslint": "^0.0.163",
    "@testing-library/dom": "^10.0.0",
    "@testing-library/jest-dom": "^6.6.3",
    "@testing-library/react": "^16.2.0",
    "@types/react": "^19.0.8",
    "@types/react-dom": "^19.0.3",
    "@types/react-redux": "^7.1.34",
    "app-root-dir": "^1.0.2",
    "babel-core": "^7.0.0-bridge.0",
    "babel-jest": "^29.6.1",
    "codecov": "^3.8.3",
    "eslint": "^8.44.0",
    "eslint-config-airbnb": "^19.0.4",
    "eslint-config-prettier": "^8.8.0",
    "eslint-plugin-import": "^2.27.5",
    "eslint-plugin-jsx-a11y": "^6.7.1",
    "eslint-plugin-markdown": "^3.0.0",
    "eslint-plugin-react": "^7.32.2",
    "eslint-plugin-react-hooks": "^4.3.0",
    "husky": "^8.0.3",
    "jest": "^29.6.1",
    "jest-environment-jsdom": "^29.6.1",
    "pinst": "^3.0.0",
    "prettier": "^3.0.0",
    "prettier-eslint": "^15.0.1",
    "react": "^19.0.0",
    "react-dom": "^19.0.0",
    "react-redux": "^9.2.0",
    "react-test-renderer": "^19.0.0",
    "rimraf": "^5.0.1",
    "rollup": "^2.67.1",
    "rollup-plugin-analyzer": "^4.0.0",
    "rollup-plugin-babel": "^4.4.0",
    "rollup-plugin-node-resolve": "^5.2.0",
    "shallowequal": "^1.1.0",
    "title-case": "^3.0.3",
    "typescript": "5.7.3"
  },
  "jest": {
    "collectCoverageFrom": [
      "src/**/*.{js,jsx}"
    ],
    "setupFilesAfterEnv": [
      "<rootDir>/node_modules/regenerator-runtime/runtime",
      "@testing-library/jest-dom"
    ],
    "testEnvironment": "jsdom",
    "testMatch": [
      "**/?(*.)+(spec|test).[jt]s?(x)"
    ],
    "testPathIgnorePatterns": [
      "<rootDir>/(coverage|dist|node_modules|tools|examples)/"
    ]
  },
  "eslintConfig": {
    "parser": "@babel/eslint-parser",
    "parserOptions": {
      "requireConfigFile": false,
      "ecmaVersion": "latest"
    },
    "root": true,
    "env": {
      "browser": true,
      "es6": true,
      "jest": true,
      "node": true
    },
    "extends": [
      "airbnb",
      "prettier",
      "plugin:markdown/recommended"
    ],
    "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": {
    "proseWrap": "always",
    "semi": true,
    "singleQuote": true,
    "tabWidth": 2,
    "trailingComma": "all"
  }
}
