1236 Commits

Author SHA1 Message Date
Danilo Britto
6b29015c3b
Update docs (#2756) 2024-09-25 15:54:32 -05:00
Danilo Britto
8b373dd382
Update createStore api docs (#2753) 2024-09-23 08:29:19 -05:00
Daishi Kato
f82f56ddeb
fix(docs): improve v5 migration guide (#2749)
* fix(docs): improve v5 migration guide

* Update docs/migrations/migrating-to-v5.md

Co-authored-by: Blazej Sewera <code@sewera.dev>

---------

Co-authored-by: Blazej Sewera <code@sewera.dev>
2024-09-22 00:07:52 +09:00
87xie
18c0a3d97d
docs: add plaintext language to code block to prevent layout breaks (#2745) 2024-09-18 12:20:38 +09:00
daishi
b93e11681d 5.0.0-rc.2 v5.0.0-rc.2 2024-09-15 12:02:52 +09:00
Daishi Kato
d77974992a
chore(deps): update dev dependencies (#2743) 2024-09-15 12:02:18 +09:00
Daishi Kato
c08adc2a47
revert useShallow refactor in #2701 (#2703) 2024-09-15 11:19:05 +09:00
Daishi Kato
88ee69f3e1
chore: enable isolatedDeclarations (#2738) 2024-09-15 11:13:40 +09:00
MJ Studio
fec9135e33
[Zustand Docs] Add third party library zustand-async-slice (#2730) 2024-09-11 10:19:04 +09:00
Danilo Britto
5ebe8606d6
Add getInitialState as part of api utilities (#2729) 2024-09-09 23:34:14 -05:00
Danilo Britto
0a4f9d0f71
Add docs for APIs and Hooks (#2706)
* Add docs for APIs and Hooks

* Minor fixes

* Minor fixes
2024-09-06 12:26:16 -05:00
Ethan Brown
4ec7077de5
docs: corrected example (#2717)
* docs: made store consistent with examples in "Selecting multiple state slices"

* docs: responded to review comments

* Update readme.md

* run pretiter

---------

Co-authored-by: Daishi Kato <dai-shi@users.noreply.github.com>
Co-authored-by: daishi <daishi@axlight.com>
2024-09-03 08:50:04 +09:00
Antoine BERNIER
9e8b7a5eea
chore: using pmndrs/docs v2 2024-08-29 09:28:36 +02:00
Antoine BERNIER
7c36942261
relative images as much as possible (#2710) 2024-08-28 20:29:14 +09:00
Tibinko
c0cd364b8f
docs: typo in typescript docs (#2708) 2024-08-28 09:44:04 +09:00
daishi
eea0664268 5.0.0-rc.1 v5.0.0-rc.1 2024-08-27 10:19:58 +09:00
Daishi Kato
08aadaffc1
chore(deps): update dev dependencies (#2702)
* chore(deps): update dev dependencies

* typescript vers
2024-08-27 10:19:40 +09:00
Daishi Kato
2cadf6511d
refactor useShallow (#2701) 2024-08-27 10:13:01 +09:00
Christian van der Loo
d7345da7cf
Fix Immer type inference for setState (#2696)
* fix(immer): tweak type inference to base `setState` type off of store `setState` instead of `getState`

* fix(immer): instead, infer type directly from StoreApi<T>["setState"]

* fix(immer): instead of using `StoreApi`, extract from A2 the non-functional component of state

* docs: add comment describing why it is not derived from `A1`

* test: add example middleware that modifies getState w/o setState

* fix: add assertion for inner `set` and `get` types

---------

Co-authored-by: Daishi Kato <dai-shi@users.noreply.github.com>
2024-08-27 10:10:47 +09:00
Daishi Kato
42bbfcfb6b
chore(docs): third-pary libs (#2699) 2024-08-26 21:17:00 +09:00
Antoine BERNIER
e051a8254a
fixing pmndrs/docs workflow to @v1 2024-08-22 16:45:22 +02:00
Sugan Krishnan
41043478a0
Update auto-generating-selectors.md (#2695)
Keep the links consistent to github
2024-08-22 18:30:25 +09:00
melutovich
23086be4ad
Persist documentation for Map & Set add storage and retrieval of version (#2692)
* Persist documentation for Map & Set add storage and retrieval of version

--HG--
branch : discussion-2689-persist-doc-map-and-set-missing-version

* Persist documentation for Map & set improve getItem to include version only when present by way of spread operator on existingValue

--HG--
branch : discussion-2689-persist-doc-map-and-set-missing-version
2024-08-21 08:52:45 +09:00
sagiereder
69112dcfff
Adding zustand-boilerplate to third-party-libraries (#2673)
* Adding zustand-boilerplate to third-party-libraries

Hi, 
I'm the maker of zustand-boilerplate. It's a small utility that generates getters, setters based on a class representing a zustand store. I'd like to add it to the list of 3rd party libraries to let people know. I've attached an example:

```
import { create } from "zustand"
import * as Z from "zustand-boilerplate"

interface Bear {
  name: string
}

class BearStore {
  @Z.Boolean()
  isDangerous = false

  @Z.Number()
  count = 0

  @Z.Array()
  bears: Bear[] = []

  //
  // Notice you have to set a default value and apply the decorator
  // to properties for generated actions to work
  //
  @Z.Any()
  mainBear: Bear | undefined = undefined

  @Z.String()
  userName: string | undefined = undefined
}

const bearStoreWithActions = Z.generateStoreWithActions(BearStore)

export const store = create(bearStoreWithActions)

// The following will automatically work now (fully typed)
// store.getState().getBears() -> Bear[]
// store.getState().setBears(bears)
// ...
```

* chore: a-z ordering
2024-08-19 10:20:23 +09:00
Daishi Kato
4c5cb7c6cc
website: add github link (#2687) 2024-08-18 21:27:50 +09:00
daishi
f9e6f815c2 5.0.0-rc.0 v5.0.0-rc.0 2024-08-16 10:06:34 +09:00
Daishi Kato
9b26718d6f
chore: bear.jpg in ./docs (#2684) 2024-08-16 09:48:22 +09:00
Daishi Kato
e247220ece
v5 (#2138)
* 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>
2024-08-16 09:41:00 +09:00
tt
53e5a2a7f5
chore(deps): update example dependencies (#2501)
Co-authored-by: tt <tangtao@macroverse.cn>
Co-authored-by: Daishi Kato <dai-shi@users.noreply.github.com>
2024-08-16 09:33:01 +09:00
Antoine BERNIER
24542f6664
chore: pmndrs/docs workflow (#2674)
* Create docs.yml

* home_redirect

* Update docs.yml

* Add files via upload

* Update docs.yml

* Rename bear.jpg to logo.jpg

* Add files via upload

* Update docs.yml

* Update docs.yml
2024-08-15 23:53:30 +02:00
daishi
ded02e9f66 4.5.5 v4.5.5 2024-08-15 11:29:36 +09:00
Daishi Kato
a00f3fa1ff
chore(deps): update dependencies (#2680) 2024-08-15 11:13:14 +09:00
Double Thinker
dad36416dc
fix(storage): avoid calling setItem with the state just retrieved (#2678) 2024-08-15 10:50:06 +09:00
Ryota Murakami
a56e76db52
fix: "value" to "content" attr for og:image (#2668) 2024-08-08 12:12:20 +09:00
Jesper Sørensen
2875d0717d
Fix store-persistence example (#2667) 2024-08-07 19:27:01 -05:00
Mordechai Dror
7c14615815
remove unintended change from default merge behaviour to identical but manual one (#2661)
targeted section of the README talks about integration with redux devtools. to accomplish this the dev needs to define third argument for `set` function. since arguments for `set` function are positional it means he/she needs to define the second, `replace`, argument as well

currently README suggests just to use `false` value for `replace` arg i.e. to override the default value by identical manual one, but defined on the dev side.

more clean way would be to use `undefined` at the second argument position that will make JS to use the default value, that is defined by lib authors, not dev
2024-08-04 15:50:16 +09:00
Daishi Kato
66f3a029fb
chore: enable verbatimModuleSyntax in tsconfig (#2649) 2024-07-20 17:15:21 +09:00
donutcube
e13777495a
Update persisting-store-data.md (#2650) 2024-07-18 09:03:29 +09:00
daishi
688ddc9f92 update compressed-size-action.yml 2024-07-17 11:34:59 +09:00
Alex Yang
33cd0c0dd1
ci: fix pnpm setup (#2628)
* ci: fix pnpm setup

* ci: update

---------

Co-authored-by: Daishi Kato <dai-shi@users.noreply.github.com>
2024-07-09 11:00:34 +09:00
yash chauhan
0bdf95f0c8
doc: Added zustand-interval-persist to third party (#2636)
* doc:  Added zustand-interval-persist to third party

* doc: added zustand-interval-persist to third party in alphabetical order.

* doc: re-arranged zustand-interval-persist order, zundo and zukeeper
2024-07-09 07:48:40 +09:00
alwalxed
cde0bda94b
🐛 FIX: Correct an outdated comparison between Jotai and Zustand (#2634)
Co-authored-by: systematicRealm <119763173+systematicRealm@users.noreply.github.com>
2024-07-07 21:56:02 +09:00
daishi
f8403fc579 4.5.4 v4.5.4 2024-06-26 21:35:02 +09:00
Daishi Kato
b9d8ddd727
fix: no type field in package.json (#2622) 2024-06-26 21:33:16 +09:00
daishi
b3684b31d3 4.5.3 v4.5.3 2024-06-26 12:36:45 +09:00
Daishi Kato
48a4d8742d
chore(deps): update dev dependencies (#2620)
* chore(deps): update dev dependencies

* update old ts

* use eslint 8
2024-06-26 12:35:56 +09:00
Kevin Ingersoll
a262c9f1f3
useStore uses ReadonlyStoreApi (#2586)
Co-authored-by: Daishi Kato <dai-shi@users.noreply.github.com>
2024-06-26 12:24:08 +09:00
daishi
7e15364dea chore: discussion template 2024-06-22 23:42:35 +09:00
Lincoln
2af0218012
chore: add react compiler eslint rules (#2612) 2024-06-21 18:55:15 +09:00
daishi
18043c12a3 chore: issue template 2024-06-19 21:01:31 +09:00