mutative
Version:
A JavaScript library for efficient immutable updates
163 lines (162 loc) • 5.75 kB
JSON
{
"name": "mutative",
"version": "1.2.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": "^25.0.7",
"@rollup/plugin-node-resolve": "^15.2.3",
"@rollup/plugin-replace": "^5.0.5",
"@rollup/plugin-terser": "^0.4.4",
"@rollup/plugin-typescript": "^12.1.1",
"@size-limit/esbuild": "^11.1.6",
"@size-limit/esbuild-why": "^8.2.6",
"@size-limit/preset-small-lib": "^11.1.6",
"@size-limit/webpack": "^11.1.6",
"@size-limit/webpack-why": "^11.1.6",
"@types/jest": "^29.5.13",
"@types/node": "^22.7.4",
"@typescript-eslint/eslint-plugin": "^8.15.0",
"@typescript-eslint/parser": "^8.15.0",
"benchmark": "^2.1.4",
"commitizen": "^4.3.0",
"coveralls": "^3.1.1",
"deep-freeze": "^0.0.1",
"eslint": "^9.11.1",
"eslint-config-airbnb": "^19.0.4",
"eslint-config-prettier": "^9.1.0",
"eslint-plugin-import": "^2.30.0",
"eslint-plugin-jsx-a11y": "^6.10.0",
"eslint-plugin-prettier": "^5.2.1",
"eslint-plugin-react": "^7.37.0",
"fast-json-patch": "^3.1.1",
"immer": "^10.1.1",
"immutable": "^4.0.0",
"jest": "^29.7.0",
"jsdoc-tests": "^1.1.0",
"json2csv": "^5.0.7",
"lodash": "^4.17.21",
"lodash.clonedeep": "^4.5.0",
"prettier": "^3.3.3",
"quickchart-js": "^3.1.2",
"redux": "^5.0.1",
"rimraf": "^3.0.2",
"rollup": "^4.9.0",
"seamless-immutable": "^7.1.4",
"size-limit": "^11.1.6",
"ts-jest": "^29.2.5",
"ts-node": "^10.9.2",
"tslib": "^2.8.1",
"typedoc": "^0.28.4",
"typedoc-plugin-markdown": "^4.6.3",
"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
}
}
}