{
  "name": "mutative",
  "version": "1.3.0",
  "description": "A JavaScript library for efficient immutable updates",
  "main": "dist/index.js",
  "module": "dist/mutative.esm.js",
  "umd:main": "dist/mutative.umd.production.min.js",
  "unpkg": "dist/mutative.umd.production.min.js",
  "jsdelivr": "dist/mutative.umd.production.min.js",
  "jsnext:main": "dist/mutative.esm.js",
  "react-native": "dist/mutative.esm.js",
  "source": "src/index.ts",
  "types": "dist/index.d.ts",
  "exports": {
    ".": {
      "import": "./dist/mutative.esm.mjs",
      "require": "./dist/index.js",
      "types": "./dist/index.d.ts"
    },
    "./*": "./*"
  },
  "files": [
    "dist",
    "src"
  ],
  "scripts": {
    "test": "jest",
    "type-check": "tsc --noEmit",
    "clean": "rimraf dist",
    "test:coverage": "jest --coverage && coveralls < coverage/lcov.info",
    "benchmark": "yarn build && yarn benchmark:base && yarn benchmark:object && yarn benchmark:array && yarn benchmark:class",
    "all-benchmark": "yarn build && NODE_ENV='production' ts-node test/benchmark/index.ts",
    "benchmark:reducer": "NODE_ENV='production' ts-node test/performance/benchmark-reducer.ts",
    "benchmark:base": "NODE_ENV='production' ts-node test/performance/benchmark.ts",
    "benchmark:object": "NODE_ENV='production' ts-node test/performance/benchmark-object.ts",
    "benchmark:array": "NODE_ENV='production' ts-node test/performance/benchmark-array.ts",
    "benchmark:class": "NODE_ENV='production' ts-node test/performance/benchmark-class.ts",
    "performance:read-only": "yarn build && NODE_ENV='production' ts-node test/performance/read-draft/index.ts",
    "performance:immer": "cd test/__immer_performance_tests__ && NODE_ENV='production' ts-node add-data.ts && NODE_ENV='production' ts-node todo.ts && NODE_ENV='production' ts-node incremental.ts",
    "performance:basic": "cd test/performance && NODE_ENV='production' ts-node index.ts",
    "performance:set-map": "cd test/performance && NODE_ENV='production' ts-node set-map.ts",
    "performance:big-object": "cd test/performance && NODE_ENV='production' ts-node big-object.ts",
    "performance:sample": "cd test/performance && NODE_ENV='production' ts-node sample.ts",
    "performance:array-object": "cd test/performance && NODE_ENV='production' ts-node array-object.ts",
    "performance": "yarn build && yarn performance:immer && yarn performance:basic && yarn performance:set-map && yarn performance:big-object && yarn performance:sample && yarn performance:array-object",
    "build": "yarn clean && rollup --config --bundleConfigAsCjs",
    "build:doc": "rimraf docs && typedoc --plugin typedoc-plugin-markdown --out docs src/index.ts --readme none",
    "commit": "yarn git-cz",
    "size": "size-limit",
    "analyze": "size-limit --why",
    "prettier": "prettier --write \"src/**/*.ts\" \"test/**/*.ts\"",
    "publish:docs": "yarn clean && cd website && GIT_USER=unadlib USE_SSH=true yarn run deploy",
    "start:docs": "cd website && yarn run start"
  },
  "size-limit": [
    {
      "path": "dist/mutative.cjs.production.min.js",
      "limit": "5 KB"
    },
    {
      "path": "dist/mutative.esm.js",
      "limit": "5 KB"
    }
  ],
  "repository": {
    "type": "git",
    "url": "git+https://github.com/unadlib/mutative.git"
  },
  "author": "unadlib",
  "keywords": [
    "immutable",
    "mutable",
    "copy-on-write",
    "mutative",
    "immutability",
    "mutation"
  ],
  "license": "MIT",
  "engines": {
    "node": ">=14.0"
  },
  "bugs": {
    "url": "https://github.com/unadlib/mutative/issues"
  },
  "homepage": "https://mutative.js.org/",
  "devDependencies": {
    "@rollup/plugin-commonjs": "^28.0.6",
    "@rollup/plugin-node-resolve": "^16.0.1",
    "@rollup/plugin-replace": "^6.0.2",
    "@rollup/plugin-terser": "^0.4.4",
    "@rollup/plugin-typescript": "^12.1.4",
    "@size-limit/esbuild": "^11.1.6",
    "@size-limit/esbuild-why": "^11.2.0",
    "@size-limit/preset-small-lib": "^11.1.6",
    "@size-limit/webpack": "^11.1.6",
    "@size-limit/webpack-why": "^11.1.6",
    "@types/jest": "^30.0.0",
    "@types/node": "^24.0.13",
    "@typescript-eslint/eslint-plugin": "^8.15.0",
    "@typescript-eslint/parser": "^8.43.0",
    "benchmark": "^2.1.4",
    "commitizen": "^4.3.1",
    "coveralls": "^3.1.1",
    "deep-freeze": "^0.0.1",
    "eslint": "^9.34.0",
    "eslint-config-airbnb": "^19.0.4",
    "eslint-config-prettier": "^10.1.8",
    "eslint-plugin-import": "^2.30.0",
    "eslint-plugin-jsx-a11y": "^6.10.0",
    "eslint-plugin-prettier": "^5.2.1",
    "eslint-plugin-react": "^7.37.5",
    "fast-json-patch": "^3.1.1",
    "immer": "^10.1.3",
    "immutable": "^5.1.3",
    "jest": "^30.1.1",
    "jsdoc-tests": "^1.2.1",
    "json2csv": "^5.0.7",
    "lodash": "^4.17.21",
    "lodash.clonedeep": "^4.5.0",
    "prettier": "^3.6.2",
    "quickchart-js": "^3.1.3",
    "redux": "^5.0.1",
    "rimraf": "^6.0.1",
    "rollup": "^4.49.0",
    "seamless-immutable": "^7.1.4",
    "size-limit": "^11.1.6",
    "ts-jest": "^29.4.1",
    "ts-node": "^10.9.2",
    "tslib": "^2.8.1",
    "typedoc": "^0.28.12",
    "typedoc-plugin-markdown": "^4.8.1",
    "typescript": "^5.8.3",
    "yargs": "^17.7.2"
  },
  "config": {
    "commitizen": {
      "path": "cz-conventional-changelog"
    }
  },
  "jest": {
    "preset": "ts-jest",
    "coveragePathIgnorePatterns": [
      "<rootDir>/test/"
    ],
    "transform": {
      "\\.[jt]sx?$": [
        "ts-jest",
        {
          "tsconfig": {
            "noImplicitReturns": false,
            "noFallthroughCasesInSwitch": false,
            "noUnusedLocals": false,
            "noUnusedParameters": false
          }
        }
      ]
    },
    "globals": {
      "__DEV__": true
    }
  }
}
