zustand/package.json
Daishi Kato 296bb4bc96
fix(build): use *.d.mts for esm ('import' condition only) (#1387)
* d.mts for esm

* copy instead of rename

* limit for relative paths
2022-10-31 21:39:35 +09:00

232 lines
6.8 KiB
JSON

{
"name": "zustand",
"private": true,
"version": "4.1.3",
"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",
".": {
"import": {
"types": "./esm/index.d.mts",
"default": "./esm/index.mjs"
},
"types": "./index.d.ts",
"module": "./esm/index.js",
"default": "./index.js"
},
"./vanilla": {
"import": {
"types": "./esm/vanilla.d.mts",
"default": "./esm/vanilla.mjs"
},
"types": "./vanilla.d.ts",
"module": "./esm/vanilla.js",
"default": "./vanilla.js"
},
"./middleware": {
"import": {
"types": "./esm/middleware.d.mts",
"default": "./esm/middleware.mjs"
},
"types": "./middleware.d.ts",
"module": "./esm/middleware.js",
"default": "./middleware.js"
},
"./middleware/immer": {
"import": {
"types": "./esm/middleware/immer.d.mts",
"default": "./esm/middleware/immer.mjs"
},
"types": "./middleware/immer.d.ts",
"module": "./esm/middleware/immer.js",
"default": "./middleware/immer.js"
},
"./shallow": {
"import": {
"types": "./esm/shallow.d.mts",
"default": "./esm/shallow.mjs"
},
"types": "./shallow.d.ts",
"module": "./esm/shallow.js",
"default": "./shallow.js"
},
"./context": {
"import": {
"types": "./esm/context.d.mts",
"default": "./esm/context.mjs"
},
"types": "./context.d.ts",
"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": "jest",
"test:ci": "jest",
"test:dev": "jest --watch --no-coverage",
"test:coverage:watch": "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=>require('fs').copyFileSync(f,f.replace(/\\.ts$/,'.mts')))\"; shx sed -i \"s/ from '(\\..*)';$/ from '\\$1.mjs';/\" 'dist/esm/**/*.d.mts'; shx sed -i \"s/^declare module '(\\..*)'/declare module '\\$1.mjs'/\" 'dist/esm/**/*.d.mts'"
},
"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",
"transform": {
"^.+\\.(t|j)sx?$": [
"@swc/jest"
]
},
"globals": {
"__DEV__": true
},
"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.19.6",
"@babel/plugin-external-helpers": "^7.18.6",
"@babel/plugin-transform-react-jsx": "^7.19.0",
"@babel/plugin-transform-runtime": "^7.19.6",
"@babel/plugin-transform-typescript": "^7.19.3",
"@babel/preset-env": "^7.19.4",
"@redux-devtools/extension": "^3.2.3",
"@rollup/plugin-alias": "^4.0.2",
"@rollup/plugin-babel": "^6.0.2",
"@rollup/plugin-node-resolve": "^15.0.1",
"@rollup/plugin-replace": "^5.0.1",
"@rollup/plugin-typescript": "^9.0.2",
"@swc/core": "^1.3.10",
"@swc/jest": "^0.2.23",
"@testing-library/react": "^13.4.0",
"@types/jest": "^29.2.0",
"@types/react": "^18.0.21",
"@types/react-dom": "^18.0.6",
"@types/use-sync-external-store": "^0.0.3",
"@typescript-eslint/eslint-plugin": "^5.40.1",
"@typescript-eslint/parser": "^5.40.1",
"concurrently": "^7.5.0",
"downlevel-dts": "^0.11.0",
"esbuild": "^0.15.12",
"eslint": "^8.26.0",
"eslint-config-prettier": "^8.5.0",
"eslint-import-resolver-alias": "^1.1.2",
"eslint-plugin-import": "^2.26.0",
"eslint-plugin-jest": "^27.1.3",
"eslint-plugin-prettier": "^4.2.1",
"eslint-plugin-react": "^7.31.10",
"eslint-plugin-react-hooks": "^4.6.0",
"immer": "^9.0.16",
"jest": "^29.2.1",
"jest-environment-jsdom": "^29.2.1",
"json": "^11.0.0",
"prettier": "^2.7.1",
"react": "^18.2.0",
"react-dom": "^18.2.0",
"redux": "^5.0.0-alpha.0",
"rollup": "^3.2.3",
"rollup-plugin-esbuild": "^4.10.1",
"rollup-plugin-terser": "^7.0.2",
"shx": "^0.3.4",
"typescript": "^4.8.4"
},
"resolutions": {
"date-fns": "2.27.0"
},
"peerDependencies": {
"immer": ">=9.0",
"react": ">=16.8"
},
"peerDependenciesMeta": {
"immer": {
"optional": true
},
"react": {
"optional": true
}
}
}