{
  "name": "store-me",
  "version": "1.5.0",
  "description": "Fast, flexible and lightweight global state manager for React. Provides two APIs for both basic and more complex cases allowing you to control component updates.",
  "author": "Mario Iliev",
  "license": "MIT",
  "main": "./lib/index.js",
  "types": "./lib/index.d.ts",
  "scripts": {
    "build": "babel src --out-dir lib --copy-files",
    "dev": "babel src --watch --out-dir lib --copy-files",
    "test": "jest",
    "test:dev": "jest --watchAll"
  },
  "keywords": [
    "store-me",
    "store me",
    "storeme",
    "storme",
    "stormy",
    "state",
    "redux",
    "flux",
    "reselect",
    "react",
    "context",
    "reducer",
    "global",
    "global state",
    "redux selector",
    "state management",
    "state-machine",
    "usestate",
    "immutable",
    "hooks",
    "hook state",
    "react context",
    "react state management"
  ],
  "repository": {
    "type": "git",
    "url": "https://github.com/mario-iliev/store-me.git"
  },
  "homepage": "https://github.com/mario-iliev/store-me#readme",
  "babel": {
    "presets": [
      "@babel/preset-react",
      "@babel/preset-env"
    ]
  },
  "peerDependencies": {
    "react": "^16.8.0 || ^17.0.0 || ^18.0.0",
    "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0"
  },
  "devDependencies": {
    "@babel/cli": "^7.12.13",
    "@babel/core": "^7.7.5",
    "@babel/preset-env": "^7.7.6",
    "@babel/preset-react": "^7.7.4",
    "@typescript-eslint/eslint-plugin": "^4.14.1",
    "@typescript-eslint/parser": "^4.14.1",
    "babel-eslint": "^10.1.0",
    "babel-loader": "^8.0.6",
    "eslint": "^7.18.0",
    "eslint-config-react-app": "^6.0.0",
    "eslint-plugin-flowtype": "^5.2.0",
    "eslint-plugin-import": "^2.22.1",
    "eslint-plugin-jsx-a11y": "^6.4.1",
    "eslint-plugin-react": "^7.22.0",
    "eslint-plugin-react-hooks": "^4.2.0",
    "fast-deep-equal": "^3.1.3",
    "husky": "^4.3.8",
    "jest": "^26.6.3",
    "lint-staged": "^10.5.3",
    "prettier": "2.0.5"
  },
  "eslintConfig": {
    "extends": "react-app",
    "env": {
      "browser": true
    },
    "globals": {
      "window": true
    },
    "rules": {
      "no-eval": 0,
      "no-var": "error",
      "curly": "error",
      "indent": [
        1,
        2,
        {
          "SwitchCase": 1
        }
      ],
      "brace-style": [
        "error",
        "1tbs",
        {
          "allowSingleLine": false
        }
      ],
      "space-before-blocks": "error",
      "react-hooks/rules-of-hooks": "error",
      "react-hooks/exhaustive-deps": 1
    }
  },
  "eslintIgnore": [
    "/lib/*",
    "/src/utils/log.js"
  ],
  "husky": {
    "hooks": {
      "pre-commit": "lint-staged && npm run test"
    }
  },
  "lint-staged": {
    "*.js": [
      "eslint --rule 'no-console: [error, { allow: [warn, error, table] }]'",
      "eslint --fix",
      "prettier --write"
    ]
  }
}
