Commit a209b35
Solid 1.5 (#1176)
* new batching, fix #1001, fix #1062
* fix #1019, resource state
* pluggable storage on resource
* Fix createMutable to handle reactivity in case element is undefined
* Added tests
* better fixes, ssr spread improvements
* Add `has` trap for accurate `in` with stores and mutables (#1109)
* Add `has` trap for accurate `in` with stores and mutables
Fixes #1107
* Fix ?. typo
* Remove optional chaining ?.
* fix(types): fix mergeProps type when spreading array as params (#1028)
This fixes the return type of mergeProps when an array is spread as params: `mergeProps(...propsArray)`, `mergeProps(...propsArray, props)`, and `mergeProps(props1, ...propsArray, props2)`. Previously these calls would ignore the type of the array being spread and all props after the spread e.g.:
```ts
const merged = mergeProps({ a: 1 }, ...[{ b: 2 }], { c: 3 }); // { a: 1 }
```
- Allow mergeProps to be called with all manner of spread params and return the correct type.
- As a consequence of the above, mergeProps' type allows calling it with no params.
- Brought back `Simplify`, since it doesn't interfere with generics and improves readability of the result type.
- Simplified and added comments for component.ts type tests.
Additionally:
- Improved types when generic props are present.
Issues:
- This doesn't correctly type spreading multiple arrays however, since typescript doesn't allow two "rest" params: `someFn(...[1], ...["2"], 3)` is inferred as `T = [...(string | number)[], number]` and not `T = [...number[], ...string[], number]`. In this case the union of types in the array is merged into a single type, which may not be entirely accurate.
* Fix `Dynamic` types (#1116)
* Fix `Dynamic` types
* Fix `component` type
* Fix `DynamicProps`, `ComponentProps`; Add `ValidComponent`
* Fix `Dynamic` test for type fix
* Fix `Dynamic` test to use `id` instead of `title` for DOM compatibility
* Fix `component` to be required property
* fix #1112 fix built in functions on proxy failing pass through
* v1.5.0-beta.0
* cleanups on the server
* update and rework build system
* tweak turbo commands
* remove clean command
* update ci
* decrease dependency on symlink
* update lockfile
* more type issues
* fix build
* SSR performance improvement
* fix bug with ssr resolve
* bump
* Add build instructions to CONTRIBUTING (#1136)
* Add pnpm build instructions to CONTRIBUTING
* Fix Turbo link
* fix: add explicit extensions and exports fields
* errors on server while not flushed, many bug fixes
* feat(types): createResource improvements (#1130)
* feat(types): createResource improvements
- Add typable `refetching`/`refetch` with default type `unknown` for backwards compatibility.
- Remove unneeded generics.
- Refactor `createResource` parameters to reduce casting.
- Remove unneeded instances of casting, non-null assertations and `any`.
- Fix `onHydrated` type, removing `refetching`.
- Add `InitializedResource` types for overloads which define `initialValue`.
- Changed `Error` to return `never` instead of `undefined`, since reading resources in such a state throws, so the values will never be used.
- Updated docs slightly.
- Fixed a test slightly (type of an unused parameter from `string` to `unknown`).
Potential Issues:
- Adding the initialized types might slightly break userland functions. However adding them is necessary to differentiate `{ initialValue: undefined }` from omitting `initialValue`, and for cases where `T` includes `undefined` to be typed correctly.
- `store` should not need to accept `undefined` if `initialValue` is provided, but in order to make passing a generic `createSignal`-typed function work without an error, `init` and the type of the signal returned must be the same.
- In various places `undefined` can still appear if a resource errors and refetches. As such `mutate` and `store` also need to handle `undefined` correctly. This might break typing for existing `mutate` calls which are typed without `undefined`.
* test(types): add tests for createResource types
* refactor(types): fix and clean up createResource types
- Add `NoInfer` for options so that only the fetcher is used to infer the type of the resource
- Remove some unneeded casting
* feat(types): export initialized resource types
Co-authored-by: Ryan Carniato <ryansolid@gmail.com>
* simplify batching, reduce createComputed, fix #1122 enable transitions.
* bump
* remove computed from SuspenseList
* Remove computed from createProvider
* Remove a console.log (#1146)
* fixes to suspenselist
* useInitialValue on resources
* fix #1138 dialog type, fix #1147 untrack ref, fix #1151 untrack cleanup
* keyed control flow updates
* bump
* improve createSelector perf
* draft 1.5 changelog
* fix falsy check
* faster asset rendering
* children.toArray
* refactor(types): change `createStore` types for a clearer error message (#1157)
Specifically, this change targets these differences:
- Initializing a store with a generic type which is not restricted to `object` now shows `Argument of type 'T' is not assignable to parameter of type 'object | undefined'. Type 'T' is not assignable to type 'object'` instead of `Argument of type '[T]' is not assignable to parameter of type '{} extends T ? [store?: T | undefined, options?: { name?: string | undefined; } | undefined] : [store: object & T, options?: { name?: string | undefined; } | undefined]'`.
- Initializing a store with a non-generic, non-object type now shows that the expected parameter type is `object | undefined` instead of `never` (or `{} | undefiend` if trying to use `null`).
* `resource.value` and small tweaks to resources
* bump
* experimenting with nodenext
* fix
* delete resource.value, defer to further deliberation
* small naming tweaks
* bump
* update packages
* bump
* docs: add quotes to snippets (#1153)
* better option naming for resource
* add missing deps
* Update Readme (#1137)
* add missing type exports
* bump
* small updates
* untrack JSON.stringify to avoid reactive side-effects on serialization. (#1177)
* untrack JSON.stringify to avoid reactive side-effects on serialization.
* untrack JSON.stringify to avoid reactive side-effects on serialization.
* keep immdiately evaluated module code, below its indirect declared let dependencies.
Co-authored-by: Ryan Carniato <ryansolid@gmail.com>
Co-authored-by: Paolo Ricciuti <ricciutipaolo@gmail.com>
Co-authored-by: Erik Demaine <edemaine@mit.edu>
Co-authored-by: Xavier Loh <42372774+otonashixav@users.noreply.github.com>
Co-authored-by: Alexis H. Munsayac <alexis.munsayac@gmail.com>
Co-authored-by: modderme123 <modderme123@gmail.com>
Co-authored-by: Kirill Mironov <k.mironov@tinkoff.ru>
Co-authored-by: Milo <modderme123@users.noreply.github.com>
Co-authored-by: Seanghay Yath <seanghay.dev@gmail.com>
Co-authored-by: Mathieu Decaffmeyer <5883963+mathieuprog@users.noreply.github.com>
Co-authored-by: LiQuidProQuo <105608035+LiQuidProQuo@users.noreply.github.com>1 parent 12b969d commit a209b35
File tree
92 files changed
+8470
-35947
lines changed- .github/workflows
- packages
- babel-preset-solid
- solid-element
- solid-ssr
- solid
- bench/prototypes
- html
- src
- h
- jsx-runtime
- src
- src
- src
- reactive
- render
- server
- store
- src
- test
- test
- universal
- src
- web
- server
- src
- test
- test-integration
- scripts
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
92 files changed
+8470
-35947
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
13 | 13 | | |
14 | 14 | | |
15 | 15 | | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
16 | 19 | | |
17 | 20 | | |
18 | 21 | | |
| 22 | + | |
19 | 23 | | |
20 | 24 | | |
21 | | - | |
| 25 | + | |
22 | 26 | | |
23 | 27 | | |
24 | | - | |
| 28 | + | |
25 | 29 | | |
26 | 30 | | |
27 | 31 | | |
28 | | - | |
29 | | - | |
| 32 | + | |
| 33 | + | |
30 | 34 | | |
31 | 35 | | |
32 | 36 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
5 | 5 | | |
6 | 6 | | |
7 | 7 | | |
| 8 | + | |
8 | 9 | | |
9 | 10 | | |
10 | 11 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
3 | 123 | | |
4 | 124 | | |
5 | 125 | | |
| |||
19 | 139 | | |
20 | 140 | | |
21 | 141 | | |
| 142 | + | |
22 | 143 | | |
23 | 144 | | |
24 | 145 | | |
| |||
39 | 160 | | |
40 | 161 | | |
41 | 162 | | |
42 | | - | |
| 163 | + | |
43 | 164 | | |
44 | 165 | | |
45 | 166 | | |
| |||
50 | 171 | | |
51 | 172 | | |
52 | 173 | | |
53 | | - | |
| 174 | + | |
54 | 175 | | |
55 | 176 | | |
56 | 177 | | |
| |||
115 | 236 | | |
116 | 237 | | |
117 | 238 | | |
| 239 | + | |
118 | 240 | | |
119 | 241 | | |
120 | 242 | | |
121 | 243 | | |
122 | 244 | | |
123 | 245 | | |
| 246 | + | |
124 | 247 | | |
125 | 248 | | |
126 | 249 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
85 | 85 | | |
86 | 86 | | |
87 | 87 | | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
56 | 56 | | |
57 | 57 | | |
58 | 58 | | |
59 | | - | |
| 59 | + | |
| 60 | + | |
60 | 61 | | |
61 | 62 | | |
62 | 63 | | |
| |||
This file was deleted.
0 commit comments