mirror of
https://github.com/pmndrs/zustand.git
synced 2025-12-08 19:45:52 +00:00
* prepare for the next major version * [v5] breaking: drop default exports (#2238) * fix: drop default exports for v5 * chore: remove default from cjs build * refactor: export shallow in v5 * fix: remove `addModuleExport` option for cjs. * [v5] breaking: drop deprecated features (#2235) * fix: remove deprecated v4 features * chore(build): remove context * docs(typescript): remove deprecated equals api * docs(persist): remove old persist api * chore: run yarn prettier on typescript docs * Discard changes to docs/guides/typescript.md * Discard changes to docs/integrations/persisting-store-data.md * Discard changes to tests/shallow.test.tsx * Discard changes to tests/vanilla/subscribe.test.tsx * [v5] breaking: make React 18 as minimal requirement (#2236) * fix: update package.json to require react 18+ * chore: update github actions to test on react 18+ * chore: remove devtools-skip hack from actions * chore(test): remove CI-SKIP from devtools tests * [v5] breaking: make use-sync-external-store an optional peer dependency (#2237) * chore: make use-sync-external-store optional peerDep * fix: use correct versions in package.json * [v5] breaking: require TypeScript 4.5 and update tests (#2257) * breaking(types): TS requirement * wip: latest only * wip: latest only 2 * drop ts <4.4 * wip: do not skip lib checkes * use latest node types * drop ts 4.4 * [v5]: drop "module" condition (#2270) * Update package json in order to remove module * Update rollup config in order to remove module config * Update patch esm script * Update package json to general exports and update node version (#2272) * [v5]: drop UMD/SystemJS builds (#2287) * Update rollup config in order to drop system js and umd builds * Update packages * Clean up files * Update rollup config * Update gh workflows * Minor fixes * Minor fixes * Minor fixes * Minor fixes * Testing * Minor changes * Minor fixes * remove `WithReact` type (#2300) * 5.0.0-alpha.0 * [v5]: do not depend on use-sync-external-store (#2301) * [v5]: do not depend on use-sync-external-store * memo get(server)snapshot * 5.0.0-alpha.1 * [v5]: refactor useMemoSelector (#2302) * [v5]: refactor useMemoSelector * add a test * Revert "[v5]: refactor useMemoSelector" This reverts commit b3c8b15586a270d12c335e566975021adf86c815. * Revert "Revert "[v5]: refactor useMemoSelector"" This reverts commit 3c47301d23e18dffb7d72df36595f83570d15d08. * [v5]: separate react entry point (#2303) * 5.0.0-alpha.2 * 5.0.0-alpha.3 * refactor: Switch to Object.hasOwn (#2365) * [v5] drop es5 (#2380) * update yarn lock * 5.0.0-alpha.4 * [v5]: follow React "standard" way with breaking behavioral change (#2395) * [v5]: follow React "standard" way with breaking behavioral change * add test * 5.0.0-alpha.5 * [v5] Rewrite shallow to support iterables (#2427) * [v5] fix rollup config for cjs (#2433) * 5.0.0-alpha.6 * no production build test * recover types that are dropped in #2462 * remove unused replacement * [v5] Remove Devtools warning (#2466) * chore: remove devtools extension warning * docs: add devtools link to readme * chore: remove unused test * chrome: remove unused tests * chore: remove unused test * Revert "chore: remove unused test" This reverts commit 0fa2a75f4936d960f703bf19e8f3505962cd628e. * update test name * update pnpm lock * fix merge main * add migration guide * fix typos * 5.0.0-beta.0 * update migration doc * fix merge main * fix merge main (prettier) * 5.0.0-beta.1 * fix(types)!: require complete state if `setState`'s `replace` flag is set (#2580) * fix(types): require complete state if `setState`'s `replace` flag is set * switch to variant 2 * fix type errors * update setState types for devtools and immer * make devtools setState non-generic * add migration guide * merge migration guides * run prettier * Update tests/middlewareTypes.test.tsx --------- Co-authored-by: Daishi Kato <dai-shi@users.noreply.github.com> Co-authored-by: daishi <daishi@axlight.com> * 5.0.0-beta.2 * move v5 migration doc * fix ci * missing commmit * remove unused rule exclusion * comment about react compiler * revert eslint config --------- Co-authored-by: Charles Kornoelje <33156025+charkour@users.noreply.github.com> Co-authored-by: Danilo Britto <dbritto.dev@gmail.com> Co-authored-by: Ekin Dursun <ekindursun@gmail.com> Co-authored-by: Simon Farshid <simon.farshid@outlook.com>
126 lines
3.0 KiB
JSON
126 lines
3.0 KiB
JSON
{
|
|
"env": {
|
|
"browser": true,
|
|
"shared-node-browser": true,
|
|
"node": true,
|
|
"es6": true
|
|
},
|
|
"extends": [
|
|
"eslint:recommended",
|
|
"plugin:@typescript-eslint/recommended",
|
|
"prettier",
|
|
"plugin:prettier/recommended",
|
|
"plugin:react-hooks/recommended",
|
|
"plugin:import/errors",
|
|
"plugin:import/warnings"
|
|
],
|
|
"plugins": [
|
|
"@typescript-eslint",
|
|
"react",
|
|
"prettier",
|
|
"react-hooks",
|
|
"import",
|
|
"vitest",
|
|
"eslint-plugin-react-compiler"
|
|
],
|
|
"parser": "@typescript-eslint/parser",
|
|
"parserOptions": {
|
|
"ecmaVersion": 2018,
|
|
"sourceType": "module",
|
|
"ecmaFeatures": {
|
|
"jsx": true
|
|
}
|
|
},
|
|
"rules": {
|
|
"react-compiler/react-compiler": "warn",
|
|
"eqeqeq": "error",
|
|
"no-var": "error",
|
|
"prefer-const": "error",
|
|
"curly": ["warn", "multi-line", "consistent"],
|
|
"no-console": "off",
|
|
"import/extensions": ["error", "always"],
|
|
"import/no-unresolved": ["error", { "commonjs": true, "amd": true }],
|
|
"import/export": "error",
|
|
"import/no-duplicates": ["error"],
|
|
"@typescript-eslint/explicit-module-boundary-types": "off",
|
|
"@typescript-eslint/no-unused-vars": [
|
|
"warn",
|
|
{ "argsIgnorePattern": "^_", "varsIgnorePattern": "^_" }
|
|
],
|
|
"@typescript-eslint/no-use-before-define": "off",
|
|
"@typescript-eslint/no-empty-function": "off",
|
|
"@typescript-eslint/no-explicit-any": "off",
|
|
"vitest/consistent-test-it": [
|
|
"error",
|
|
{ "fn": "it", "withinDescribe": "it" }
|
|
],
|
|
"import/namespace": "off",
|
|
"import/named": "off",
|
|
"import/order": [
|
|
"error",
|
|
{
|
|
"alphabetize": { "order": "asc", "caseInsensitive": true },
|
|
"groups": [
|
|
"builtin",
|
|
"external",
|
|
"internal",
|
|
"parent",
|
|
"sibling",
|
|
"index",
|
|
"object"
|
|
],
|
|
"newlines-between": "never",
|
|
"pathGroups": [
|
|
{
|
|
"pattern": "react",
|
|
"group": "builtin",
|
|
"position": "before"
|
|
}
|
|
],
|
|
"pathGroupsExcludedImportTypes": ["builtin"]
|
|
}
|
|
],
|
|
"react/jsx-uses-react": "off",
|
|
"react/react-in-jsx-scope": "off",
|
|
"sort-imports": [
|
|
"error",
|
|
{
|
|
"ignoreDeclarationSort": true
|
|
}
|
|
]
|
|
},
|
|
"settings": {
|
|
"react": {
|
|
"version": "detect"
|
|
},
|
|
"import/extensions": [".js", ".jsx", ".ts", ".tsx"],
|
|
"import/parsers": {
|
|
"@typescript-eslint/parser": [".js", ".jsx", ".ts", ".tsx"]
|
|
},
|
|
"import/resolver": {
|
|
"alias": {
|
|
"extensions": [".js", ".jsx", ".ts", ".tsx"],
|
|
"map": [
|
|
["^zustand$", "./src/index.ts"],
|
|
["zustand", "./src"]
|
|
]
|
|
}
|
|
}
|
|
},
|
|
"overrides": [
|
|
{
|
|
"files": ["tests/**/*.ts", "tests/**/*.tsx"],
|
|
"rules": {
|
|
"import/extensions": ["error", "never"],
|
|
"@typescript-eslint/no-unused-vars": "off"
|
|
}
|
|
},
|
|
{
|
|
"files": ["./*.js"],
|
|
"rules": {
|
|
"@typescript-eslint/no-require-imports": "off"
|
|
}
|
|
}
|
|
]
|
|
}
|