16 Commits

Author SHA1 Message Date
Daishi Kato
15635ab789
chore(deps): update dev dependencies (#2217)
* chore(deps): update dev dependencies

* more typescript versions

* downgrade vite 4.5.0
2023-11-28 09:24:30 +09:00
Daishi Kato
9857a676a9
refactor: revisit prettier config to be minimal (#2193) 2023-11-14 12:19:51 +09:00
Daishi Kato
5777a65cf5
chore(deps): update dev dependencies (#1965) 2023-08-01 10:42:18 +09:00
Daishi Kato
f37530fc3d
chore: add extentsion in imports (#1678)
* chore: add extentsion in imports

* fix github workflow

* revert for zustand/context

* do not patch :)

* fix workflow file

* update ts 5

* patch tsconfig

* use old typescript for react 16

* downlevel-dts to 3.8

* Revert "downlevel-dts to 3.8"

This reverts commit d03e5266e14146ed4a7c92e8a5cd2cb295727f69.

* patch workflow file

* patch for react 16

* remove ts3.4 in workflow

* skipLibChecks

* revert changes in test-multiple-versions.yml

* fix sed

* wip: add allowJs

* Revert "wip: add allowJs"

This reverts commit fca34d7d2decc1e469a733224f7680ab37792dc8.

* use ts 495

* useESM false

* Revert "useESM false"

This reverts commit 07a91d8acb14bc5839013aad47d0606dec312d62.

* no coverage

* no coverage 2

* no coverage 3

* wip

* disable transform

* revert a change

* revert changes

* test: try ignoring tests with dynamic imports

* test: skip tests that require/tests modules in isolation

* test: remove dynamic import

* run skipped tests on CI

* test: add new devtools imports to ci-only tests

* revert CI-ONLY-* hack

* wip: workaround for react 16

* wip: workaround for react 16

* wip: workaround for react 16

* wip: workaround for react 16

* wip: workaround for react 16

* wip: workaround for react 16

* wip: workaround for react 16

* wip: workaround for react 16

* wip: workaround for react 16

* wip: workaround for react 16

* wip: workaround for react 16

* CI-MATRIX- for devtools CI hacks

* test: add env variable to test multiple builds workflow

* hack await import

* hack await import for another one

* wip: experimenting workflow file

* wip: experimenting workflow file

* wip: experimenting workflow file

* use different env name

* wip: experimenting workflow file

* do not use two envs

* revert to NODE_ENV

---------

Co-authored-by: Arjun <14841132+arjunvegda@users.noreply.github.com>
2023-05-02 06:28:46 +09:00
Devansh Jethmalani
ca059788d3
fix(types): fix StateCreator subtyping (#1373)
* fix(types): fix `StateCreator` subtyping

* prefer import type

Co-authored-by: daishi <daishi@axlight.com>
2022-10-23 08:55:31 +09:00
Daishi Kato
0f4913c7ec
refactor(types): prefer using import type (#1208) 2022-08-22 11:25:01 +09:00
Daishi Kato
ca0786fe47
fix(middleware): revert types of redux middleware (#1206)
* fix(middleware): revert types of redux middleware

* eliminate "& Action"
2022-08-22 10:57:38 +09:00
Daishi Kato
c60a535a46
feat(vanilla): non-object state (#1144)
* feat: non-object state

* add test

* prefer unknown

* fix types for persist and subscribeWithSelector

* no Cast in persist and subscribeWithSelector

* simplify immer type

* simplify devtools type

* simplify redux type

* simplify type with looser action

* fix StoreApi type parameter

* fix types
2022-08-19 07:47:10 +09:00
Daishi Kato
49dcec03ee
fix(types): avoid using deprecated types (#1122)
* fix(types): avoid using deprecated types

* simplify a bit
2022-07-21 08:15:29 +09:00
Daishi Kato
060c092694
fix(types): use TS interfaces only for public api (#1106) 2022-07-20 08:48:43 +09:00
Daishi Kato
3d764b0a4a
refactor: prefer interfaces (#1012) 2022-06-18 22:43:25 +09:00
Devansh Jethmalani
72de1aed5d
Fix TS4023 and other minor changes (#940)
* fix(ts4023): use type aliases instead of interfaces

* refactor(types): immer, devtools
- make immer types more like devtools for better quickinfo
- make immer and devtools store names consistent with
  StoreMiddleware naming convention (eg StorePersist,
  StoreRedux, etc)

* format(docs): add a linebreak after <summary>
2022-04-29 23:15:55 +09:00
Devansh Jethmalani
99cddcf76f
breaking(types): Add higher kinded mutator types (#725)
* imaginary code that uses uSES

* revert backward compatibility code as this is not going to be v4

* use use-sync-external-store

* revert to react 17

* handle error by our own

* v4.0.0-alpha.2

* fix&refactor a bit

* update uSES experimental package

* remove error propagation hack

* update size snapshot

* update uSES and add dts

* split react.ts and no export wild

* split useStore impl

* context to follow the new api, export wild again

* v4.0.0-alpha.3

* add missing await

* update uSES

* update uSES

* uses uSES extra!

* v4.0.0-alpha.3

* fix(types): Rename from UseStore to UseBoundStore

* breaking(types): drop deprecated UseStore type

* breaking(core): drop v2 hook compatibility

* breaking(middleware): drop deprecated persist options

* breaking(core): drop deprecated store.subscribe with selector

* update uSES

* fix update uSES

* v4.0.0-alpha.5

* combine subscribe type

* intentional undefined type

* add useDebugValue

* update uSES

* update uSES types

* breaking(middleware): make persist options.removeItem required

* update uSES

* v4.0.0-alpha.6

* fix(readme): remove memoization section which is no longer valid with uSES

* feat(readme): add new createStore/useStore usage

* update useSES

* update uSES and deps

* v4.0.0-alpha.7

* update uSES

* update uSES

* shave bytes

* vanilla: add higher kinded mutator types

* persist: add higher kinded mutator types

* persist: try to minimize diff

* use `PopArgument` in vanilla too

* update uSES

* use overloads instead of `createWithState`

* avoid symbols

* add new types to middlewares

* add new types react

* add new types to context

* fix persist types

* add immer

* migrate middleware type tests

* fix react type, export `UseBoundStore`

* migrate vanilla type tests

* rename `_createStore` to `createStoreImpl`

* Default to no mutations in `StateCreator`

* migrate context.test.tsx

* fix devtools.test.tsx type erros

* context: remove callsignature in useStoreApi

* context: remove `UseContextStore` type

* context: fix useBoundStore type

* context: keep `UseContextStore` for tooltip just don't export it

* react: remove duplicate overload in create

* export `WithPersist`

* devtools: preserve try/catch

* devtools: preserve window check

* add a test case for v3 style create

* devtools: preverse test fix from base branch

* remove StoreApiWithFoo types, don't export WithFoo types

* style

* devtools: preverse `originalIsRecording` change

* fix bug in devtools

* empty commit

* 4.0.0-beta.1

* fix lint

* style

* export immer fix tests

* style, minor fixes

* devtools: fix test

* Update tests/devtools.test.tsx

* breaking(middleware/devtools): use official devtools extension types

* type object.create

* avoid emitting @redux-devtools/extension

* fix type with any

* refactor

* fix yarn lock

* temporary fix #829

* v4.0.0-beta.2

* fix lint

* lock date-fns version

* test middleware subtyping

* fix errors in conflict resolution

* lock testing-library/react alpha version

* more correct (and strict) persist types

* migrate tests

* wip release notes

* fix devtools merge with base

Co-authored-by: Daishi Kato <dai-shi@users.noreply.github.com>

* add a test case for persist with partialize option

* update readme

* fix lint

* immer: mutate `store.setState`

* fix devtools merge with base

* immer: fix mutations order

* changes in readme

* move and rename v4 migration md

* add `combine` usage in readme

* typos

* create separate md for typescript, add common recipes

* minor fixes

* devtools: minor type fix
(probably I copy pasted from persist and forgot to remove `U`)

* add more migrations

* context: fix import

Co-authored-by: Daishi Kato <dai-shi@users.noreply.github.com>

* devtools: minor refactor
rearrange code for better diff

* fix lint: run prettier

* wip

* uSES rc.1

* getServerState for #886, no types yet

* uSES v1

* devtools: remove deprecations and warnings

* fix tests

* v4.0.0-beta.2

* wip

* migrate tests

* persist: keep diff minimal

* fix merge in package.json and yarn.lock

* fix merge for persist

* don't use `import type`

* docs(typescript): add slices pattern

* fix selector & equals types
for inference with useCallback, see issue #812

* add test for setState with replace

* remove undefined selector overload

* make immer more generic

* make devtools replace-friendly and more correctly typed

* migrate tests

* make setState bivariant to make the state covariant

* devtools: return the result of `setState`

* devtools: make the fallback branch in `StoreSetStateWithAction` bivariant too
(I forgot to make this bivaraint)

* remove strict replace

* fix lint

Co-authored-by: daishi <daishi@axlight.com>
Co-authored-by: Daishi Kato <dai-shi@users.noreply.github.com>
2022-04-18 09:14:00 +09:00
Devansh Jethmalani
a418fd7480
Migrations regarding higher kinded mutators for v4 (#772)
* add `Mutate` for migration path

* deprecate `PartialState`

* deprecate `StateSliceListener`

* add v4 version of `UseContextStore` for migration

* revert and deprecate `UseContextStore`

* subscribeWithSelector: fix deprecation message, add a test case

* subscribeWithSelector: fix overloads

* persist: deprecate `StoreApiWithPersist`

* subscribeWithSelector: update deprecation message

* redux: deprecate `StoreApiWithRedux`

* devtools: deprecate `StoreApiWithDevtools`

* migrate middleware tests

* update deprecation message to mention test file

* style

* don't export `WithPersist`
2022-02-11 08:23:24 +09:00
Devansh Jethmalani
58baf27476
rewrite devtools (#675)
* rewrite `devtools`

* style

* merge state instead of replace, fix lint

* fix lint, don't use `Array.prototype.at`

* fix typo

* more lint fixing

* feat: allow setting state from the devtools

* deference dispatch in the store to use latest `api.dispatch`
that gets replaced in devtools middleware
2021-12-03 22:12:31 +09:00
Daishi Kato
833f57ed13
refactor(middleware): split into multiple files (#664) 2021-11-16 22:22:16 +09:00