zustand/package.json
2023-04-01 00:00:44 +09:00

232 lines
7.0 KiB
JSON

{
"name": "zustand",
"private": true,
"version": "4.3.6",
"description": "🐻 Bear necessities for state management in React",
"main": "./index.js",
"types": "./index.d.ts",
"typesVersions": {
"<4.0": {
"esm/*": [
"ts3.4/*"
],
"*": [
"ts3.4/*"
]
}
},
"files": [
"**"
],
"exports": {
"./package.json": "./package.json",
".": {
"types": "./index.d.ts",
"import": {
"types": "./esm/index.d.mts",
"default": "./esm/index.mjs"
},
"module": "./esm/index.js",
"default": "./index.js"
},
"./vanilla": {
"types": "./vanilla.d.ts",
"import": {
"types": "./esm/vanilla.d.mts",
"default": "./esm/vanilla.mjs"
},
"module": "./esm/vanilla.js",
"default": "./vanilla.js"
},
"./middleware": {
"types": "./middleware.d.ts",
"import": {
"types": "./esm/middleware.d.mts",
"default": "./esm/middleware.mjs"
},
"module": "./esm/middleware.js",
"default": "./middleware.js"
},
"./middleware/immer": {
"types": "./middleware/immer.d.ts",
"import": {
"types": "./esm/middleware/immer.d.mts",
"default": "./esm/middleware/immer.mjs"
},
"module": "./esm/middleware/immer.js",
"default": "./middleware/immer.js"
},
"./shallow": {
"types": "./shallow.d.ts",
"import": {
"types": "./esm/shallow.d.mts",
"default": "./esm/shallow.mjs"
},
"module": "./esm/shallow.js",
"default": "./shallow.js"
},
"./context": {
"types": "./context.d.ts",
"import": {
"types": "./esm/context.d.mts",
"default": "./esm/context.mjs"
},
"module": "./esm/context.js",
"default": "./context.js"
}
},
"sideEffects": false,
"scripts": {
"prebuild": "shx rm -rf dist",
"build": "concurrently -m 8 'yarn:build:*'",
"build:base": "rollup -c",
"build:vanilla": "rollup -c --config-vanilla",
"build:middleware": "rollup -c --config-middleware",
"build:middleware:immer": "rollup -c --config-middleware_immer",
"build:shallow": "rollup -c --config-shallow",
"build:context": "rollup -c --config-context",
"postbuild": "yarn copy && yarn patch-esm-ts",
"prettier": "prettier \"*.{js,json,md}\" \"{examples,src,tests,docs}/**/*.{js,jsx,ts,tsx,md,mdx}\" --write",
"prettier:ci": "prettier '*.{js,json,md}' '{examples,src,tests,docs}/**/*.{js,jsx,ts,tsx,md,mdx}' --list-different",
"eslint": "eslint --fix '*.{js,json}' '{src,tests}/**/*.{ts,tsx}'",
"eslint:ci": "eslint '*.{js,json}' '{src,tests}/**/*.{ts,tsx}'",
"pretest": "tsc --noEmit",
"test": "yarn node --experimental-vm-modules $(yarn bin jest)",
"test:ci": "yarn node --experimental-vm-modules $(yarn bin jest)",
"test:dev": "yarn node --experimental-vm-modules $(yarn bin jest) --watch --no-coverage",
"test:coverage:watch": "yarn node --experimental-vm-modules $(yarn bin jest) --watch",
"copy": "shx cp -r dist/src/* dist/esm && shx cp -r dist/src/* dist && shx rm -rf dist/src && shx rm -rf dist/{src,tests} && downlevel-dts dist dist/ts3.4 && shx cp package.json readme.md LICENSE dist && json -I -f dist/package.json -e \"this.private=false; this.devDependencies=undefined; this.optionalDependencies=undefined; this.scripts=undefined; this.prettier=undefined; this.jest=undefined;\"",
"patch-esm-ts": "node -e \"require('shelljs').find('dist/esm/**/*.d.ts').forEach(f=>{var f2=f.replace(/\\.ts$/,'.mts');require('fs').copyFileSync(f,f2);require('shelljs').sed('-i',/ from '(\\.[^']+)';$/,' from \\'\\$1.mjs\\';',f2);require('shelljs').sed('-i',/^declare module '(\\.[^']+)'/,'declare module \\'\\$1.mjs\\'',f2)})\""
},
"engines": {
"node": ">=12.7.0"
},
"prettier": {
"semi": false,
"trailingComma": "es5",
"singleQuote": true,
"bracketSameLine": true,
"tabWidth": 2,
"printWidth": 80
},
"repository": {
"type": "git",
"url": "git+https://github.com/pmndrs/zustand.git"
},
"keywords": [
"react",
"state",
"manager",
"management",
"redux",
"store"
],
"author": "Paul Henschel",
"contributors": [
"Jeremy Holcomb (https://github.com/JeremyRH)",
"Daishi Kato (https://github.com/dai-shi)"
],
"license": "MIT",
"bugs": {
"url": "https://github.com/pmndrs/zustand/issues"
},
"homepage": "https://github.com/pmndrs/zustand",
"jest": {
"rootDir": ".",
"testEnvironment": "jsdom",
"preset": "ts-jest/presets/default-esm",
"transform": {
"^.+\\.(t|j)sx?$": [
"ts-jest",
{
"useESM": true
}
]
},
"extensionsToTreatAsEsm": [
".ts",
".tsx"
],
"moduleNameMapper": {
"^zustand$": "<rootDir>/src/index.ts",
"^zustand/(.*)$": "<rootDir>/src/$1.ts"
},
"modulePathIgnorePatterns": [
"dist"
],
"testRegex": "test.(js|ts|tsx)$",
"coverageDirectory": "./coverage/",
"collectCoverage": true,
"coverageReporters": [
"json",
"html",
"text",
"text-summary"
],
"collectCoverageFrom": [
"src/**/*.{js,ts,tsx}",
"tests/**/*.{js,ts,tsx}"
]
},
"dependencies": {
"use-sync-external-store": "1.2.0"
},
"devDependencies": {
"@babel/core": "^7.21.4",
"@babel/plugin-external-helpers": "^7.18.6",
"@babel/plugin-transform-react-jsx": "^7.21.0",
"@babel/plugin-transform-runtime": "^7.21.4",
"@babel/plugin-transform-typescript": "^7.21.3",
"@babel/preset-env": "^7.21.4",
"@redux-devtools/extension": "^3.2.5",
"@rollup/plugin-alias": "^4.0.3",
"@rollup/plugin-babel": "^6.0.3",
"@rollup/plugin-node-resolve": "^15.0.1",
"@rollup/plugin-replace": "^5.0.2",
"@rollup/plugin-terser": "^0.4.0",
"@rollup/plugin-typescript": "^11.0.0",
"@testing-library/react": "^14.0.0",
"@types/react": "^18.0.31",
"@types/react-dom": "^18.0.11",
"@types/use-sync-external-store": "^0.0.3",
"@typescript-eslint/eslint-plugin": "^5.57.0",
"@typescript-eslint/parser": "^5.57.0",
"concurrently": "^8.0.1",
"downlevel-dts": "^0.11.0",
"esbuild": "^0.17.14",
"eslint": "^8.37.0",
"eslint-config-prettier": "^8.8.0",
"eslint-import-resolver-alias": "^1.1.2",
"eslint-plugin-import": "^2.27.5",
"eslint-plugin-jest": "^27.2.1",
"eslint-plugin-prettier": "^4.2.1",
"eslint-plugin-react": "^7.32.2",
"eslint-plugin-react-hooks": "^4.6.0",
"immer": "^9.0.21",
"jest": "^29.5.0",
"jest-environment-jsdom": "^29.5.0",
"json": "^11.0.0",
"prettier": "^2.8.7",
"react": "^18.2.0",
"react-dom": "^18.2.0",
"redux": "5.0.0-alpha.1",
"rollup": "^3.20.2",
"rollup-plugin-esbuild": "^5.0.0",
"shx": "^0.3.4",
"ts-jest": "^29.0.5",
"typescript": "^5.0.3"
},
"peerDependencies": {
"immer": ">=9.0",
"react": ">=16.8"
},
"peerDependenciesMeta": {
"immer": {
"optional": true
},
"react": {
"optional": true
}
}
}