diff --git a/CHANGELOG.md b/CHANGELOG.md index 6845b160..ec5d0be1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -190,7 +190,7 @@ Now that [Solid Dev Tools](https://github.com/thetarnav/solid-devtools) have bee ### Others -- Smaller compiled output, remove auxilary closing tags +- Smaller compiled output, remove auxiliary closing tags - Support for `prop:` and `attr:` in Spreads - Don't apply special props (like `readonly`) to custom elements - Introduced improved serializer, [seroval](https://github.com/lxsmnsyc/seroval) @@ -227,7 +227,7 @@ The power here is static markup can interview dynamic components. Keep in mind Server rendered content like this can only be rendered on the server so to maintain a client navigation with this paradigm requires a special router that handles HTML partials. -Similarly we want the trees to talk to each other so `hydrate` calls now have been expanded to accept a parent `Owner` this will allow Islands to communicate through Contex without shipping the whole tree to browser. +Similarly we want the trees to talk to each other so `hydrate` calls now have been expanded to accept a parent `Owner` this will allow Islands to communicate through Context without shipping the whole tree to browser. ```js

Server Rendered Header

@@ -300,7 +300,7 @@ After a bunch of careful thought and auditting we decided that Solid's `batch` f Resources continue to get improvements. A common pattern in Islands frameworks like Astro is to fetch the data from the out side and pass it in. In this case you wouldn't want Solid to do the fetching on initial render or the serialization, but you still may want to pass it to a resource so it updates on any change. For that to work reactivity needs to run in the browser. The whole thing has been awkward to wire up but no longer. -`ssrLoadFrom` field lets you specify where the value comes from during ssr. The default is `server` which fetches on the server and serializes it for client hydration. But `initial` will use the `initialValue` instead and not do any fetching or addtional serialization. +`ssrLoadFrom` field lets you specify where the value comes from during ssr. The default is `server` which fetches on the server and serializes it for client hydration. But `initial` will use the `initialValue` instead and not do any fetching or additional serialization. ```js const [user] = createResource(fetchUser, { @@ -344,7 +344,7 @@ const [resource] = createResource(fetcher, { #### Consolidated SSR -This release marks the end of years long effort to merge async and streaming mechanism. Since pre 1.0 these were seperate. Solid's original SSR efforts used reactivity on the server with different compilation. It was easiest to migrate synchronous and streaming rendering and for a time async had a different compilation. We got them on the same compilation 2 years ago but runtimes were different. Piece by piece things have progressed until finally async is now just streaming if flushed at the end. +This release marks the end of years long effort to merge async and streaming mechanism. Since pre 1.0 these were separate. Solid's original SSR efforts used reactivity on the server with different compilation. It was easiest to migrate synchronous and streaming rendering and for a time async had a different compilation. We got them on the same compilation 2 years ago but runtimes were different. Piece by piece things have progressed until finally async is now just streaming if flushed at the end. This means some things have improved across the board. Async triggered Error Boundaries previously were only ever client rendered (throwing an error across the network), but now if they happen any time before sending to the browser they are server rendered. `onCleanup` now runs on the server if a branch changes. Keep in mind this is for rendering effects (like setting a status code) and not true side effects as not all rendering cleans up. @@ -435,7 +435,7 @@ setTodos([...todos, { id: 3, title: "New Todo", done: false }]) Through this change we also stopped over execution when listening to specific properties. To support iteration Solid previously would notify the owning object of any array when an was index added/removed or object new property created or deleted on any object. -The one caveat is downstream optimized control flow that untrack index reads on arrays will now need to track the iterated object explicity. Solid exports a `$TRACK` symbol used to subscribe to the object and all its properties. +The one caveat is downstream optimized control flow that untrack index reads on arrays will now need to track the iterated object explicitly. Solid exports a `$TRACK` symbol used to subscribe to the object and all its properties. #### Stale Resource Reads @@ -457,7 +457,7 @@ Example: https://codesandbox.io/s/solid-stale-resource-y3fy4l #### Combining multiple Custom Renderers -The Babel plugin now allows configuring multiple custom renderers at the same time. The primary case it is so a developer can still lever Solid's optimized DOM compilation while using their custom renderer. To make this work specify the tags each renderer is reponsible for. It will try to resolve them in order. +The Babel plugin now allows configuring multiple custom renderers at the same time. The primary case it is so a developer can still lever Solid's optimized DOM compilation while using their custom renderer. To make this work specify the tags each renderer is responsible for. It will try to resolve them in order. ```js import { HTMLElements, SVGElements } from "solid-js/web"; @@ -559,7 +559,7 @@ const stream = renderToStream(() => ).pipeTo(writable); #### Error Boundaries on the Server -We've added support for Error Boundaries on the Server for all rendering methods(`renderToString`, `renderToStringAsync`, `renderToStream`). Errors can be caught both from synchronous rendering and from errors that happen in Resource resolution. However, Our approach doesn't guarentee all errors are handled on the server as with streaming it is possible that the Error Boundary has already made it to the browser while a nested Suspense component hasn't settled. If an Error is hit it will propagate up to the top most Suspense Boundary that hasn't been flushed yet. If it is not handled by an Error Boundary before that it will abort rendering, and send the Error to the browser to propagate up to the nearest Error Boundary. +We've added support for Error Boundaries on the Server for all rendering methods(`renderToString`, `renderToStringAsync`, `renderToStream`). Errors can be caught both from synchronous rendering and from errors that happen in Resource resolution. However, Our approach doesn't guarantee all errors are handled on the server as with streaming it is possible that the Error Boundary has already made it to the browser while a nested Suspense component hasn't settled. If an Error is hit it will propagate up to the top most Suspense Boundary that hasn't been flushed yet. If it is not handled by an Error Boundary before that it will abort rendering, and send the Error to the browser to propagate up to the nearest Error Boundary. This works now but there is more to explore here in improving Error handling in general with SSR. So look forward to feedback on the feature. @@ -594,7 +594,7 @@ set("end"); // "something" set("final"); // no-op as reaction only runs on first update, need to call track again. ``` -This primitive is niche for certain use cases but where it is useful it is indispensible (like the next feature which uses a similar API). +This primitive is niche for certain use cases but where it is useful it is indispensable (like the next feature which uses a similar API). #### External Sources (experimental) @@ -927,7 +927,7 @@ export function createResource( ): ResourceReturn; ``` -3rd argument is now an options object instead of just the initial value. This breaking. But this also allows the first argument to be optional for the non-tracking case. Need a promise that only loads once? Don't have need to re-use the fetcher. Do this: +3rd argument is now an options object instead of just the initial value. This breaking. But this also allows the first argument to be optional for the non-tracking case. Need a promise that only loads once? Don't have need to reuse the fetcher. Do this: ```js const [data] = createResource(async () => (await fetch(`https://someapi.com/info`)).json()); @@ -977,7 +977,7 @@ declare module "solid-js" { #### Lazy component preload -Lazy components now have a preload function so you can pre-emptively load them. +Lazy components now have a preload function so you can preemptively load them. ```js const LazyComp = lazy(() => import("./some-comp")); @@ -1086,7 +1086,7 @@ Or mixing and matching? You can set JSX types per file using the pragma at the t /* @jsxImportSource solid-js */ ``` -You can now import `JSX` types directly from Solid as neccessary: +You can now import `JSX` types directly from Solid as necessary: ```js import { JSX } from "solid-js"; @@ -1331,11 +1331,11 @@ Breaking Changes: A lot of consolidation in preparation for release candidate - Big refactor of core reactive system and render list reconciler - - Significantly smaller reducing core by atleast 3kb minified + - Significantly smaller reducing core by at least 3kb minified - Better handling of nested reactive nodes in Fragments - Update SSR mechanisms, added progressive event hydration, created repo for SSR environment (`solid-ssr`) - `@once` compiler hint to statically bind values -- Better wrapping hueristics for booleans and ternaries in JSX +- Better wrapping heuristics for booleans and ternaries in JSX Breaking Changes @@ -1409,7 +1409,7 @@ v0.11.0 continues to add updates to the reactive system as well as some new feat - Add experimental Server Side Rendering and Client Side Hydration capabilities - Add Suspense aware control flow transformation (`awaitSuspense`) - Allow state objects to track functions -- More TypeScript definition improvments and fixes +- More TypeScript definition improvements and fixes ## 0.10.0 - 2019-08-11 @@ -1423,7 +1423,7 @@ v0.10.0 makes significant changes to the reactive system. Key updates: ## 0.9.0 - 2019-07-20 -v0.9.0 makes signifigant changes to underlying reconciler. +v0.9.0 makes significant changes to underlying reconciler. - New Control Flow - Removes Custom Directives @@ -1466,7 +1466,7 @@ import html from "solid-js/html"; ## 0.4.2 - 2019-03-18 - Add fallbacks for control flow -- Add new Portal Control Flow - This allows nodes to be rendered outside of the component tree with support for satelite ShadowRoots. +- Add new Portal Control Flow - This allows nodes to be rendered outside of the component tree with support for satellite ShadowRoots. - Add new Suspend Control Flow - This renders content to a isolated document and display fallback content in its place until ready. Good for nested Async Data Fetching. - Default node placeholders to comments (improved text interpolation) - Added events binding for irregular event names @@ -1497,7 +1497,7 @@ import html from "solid-js/html"; ## 0.3.1 - 2018-12-29 -- Remove operators from core package since are auxilliary with new API. +- Remove operators from core package since are auxiliary with new API. - Updated JSX Dom Expressions to use new control flow JSX and JSX Fragment support. ## 0.3.0 - 2018-12-25 diff --git a/packages/babel-preset-solid/CHANGELOG.md b/packages/babel-preset-solid/CHANGELOG.md index b8ef8fd6..d81da247 100644 --- a/packages/babel-preset-solid/CHANGELOG.md +++ b/packages/babel-preset-solid/CHANGELOG.md @@ -138,7 +138,7 @@ ### Patch Changes -- 968e2cc9: update seroval, fix #1972, fix #1980, fix #2002, support partial ALS +- 968e2cc9: update seroval, fix #1972, fix #1980, fix #2002, support partial ALSO ## 1.8.6 @@ -238,7 +238,7 @@ - f7dc355f: Remove FunctionElement from JSX.Element types - 940e5745: change to seroval serializer, better ssr fragment fixes - 2b80f706: Reduce DOM compiler output size - Remove auxilary closing tags and lazy evaluate templates + Remove auxiliary closing tags and lazy evaluate templates - 74f00e15: Support prop/attr directives in spreads, apply prop aliases only to specific elements ### Patch Changes @@ -277,7 +277,7 @@ ### Minor Changes - 2b80f706: Reduce DOM compiler output size - Remove auxilary closing tags and lazy evaluate templates + Remove auxiliary closing tags and lazy evaluate templates - 74f00e15: Support prop/attr directives in spreads, apply prop aliases only to specific elements ## 1.7.0-beta.0 diff --git a/packages/solid-element/README.md b/packages/solid-element/README.md index 9584079b..ff52c879 100644 --- a/packages/solid-element/README.md +++ b/packages/solid-element/README.md @@ -4,7 +4,7 @@ ![](https://img.shields.io/librariesio/release/npm/solid-element) ![](https://img.shields.io/npm/dm/solid-element.svg?style=flat) -This library extends [Solid](https://github.com/solidjs/solid) by adding Custom Web Components and extensions to manage modular behaviors and composition. It uses [Component Register](https://github.com/ryansolid/component-register) to create Web Components and its composed mixin pattern to construct modular re-usable behaviors. This allows your code to available as simple HTML elements for library interop and to leverage Shadow DOM style isolation. Solid already supports binding to Web Components so this fills the gap allowing full modular applications to be built out of nested Web Components. Component Register makes use of the V1 Standards and on top of being compatible with the common webcomponent.js polyfills, has a solution for Polyfilling Shadow DOM CSS using the ShadyCSS Parser from Polymer in a generic framework agnostic way (unlike the ShadyCSS package). +This library extends [Solid](https://github.com/solidjs/solid) by adding Custom Web Components and extensions to manage modular behaviors and composition. It uses [Component Register](https://github.com/ryansolid/component-register) to create Web Components and its composed mixin pattern to construct modular reusable behaviors. This allows your code to available as simple HTML elements for library interop and to leverage Shadow DOM style isolation. Solid already supports binding to Web Components so this fills the gap allowing full modular applications to be built out of nested Web Components. Component Register makes use of the V1 Standards and on top of being compatible with the common webcomponent.js polyfills, has a solution for Polyfilling Shadow DOM CSS using the ShadyCSS Parser from Polymer in a generic framework agnostic way (unlike the ShadyCSS package). ## Example diff --git a/packages/solid/CHANGELOG.md b/packages/solid/CHANGELOG.md index e785ed0b..22f158a8 100644 --- a/packages/solid/CHANGELOG.md +++ b/packages/solid/CHANGELOG.md @@ -150,7 +150,7 @@ ### Patch Changes - f8ae663c: Fix broken links in Readme -- 19d0295f: fix stranded effects during hydration cancelation +- 19d0295f: fix stranded effects during hydration cancellation - 26128ec0: fix #2259 attr: in ssr, updates some types ## 1.8.21 @@ -163,7 +163,7 @@ ### Patch Changes -- c8fe58e9: fix #2250 hydration error, fix lazy component loading, better hydration cancelation +- c8fe58e9: fix #2250 hydration error, fix lazy component loading, better hydration cancellation - 80dd2769: fix #2236 improper shortcircuit in resource hydration ## 1.8.19 @@ -251,7 +251,7 @@ ### Patch Changes - 40b5d78d: chore(types): return mapped type for splitProps excluded `other` value -- 968e2cc9: update seroval, fix #1972, fix #1980, fix #2002, support partial ALS +- 968e2cc9: update seroval, fix #1972, fix #1980, fix #2002, support partial ALSO - 292aba41: fix #1982 ErrorBoundary with ExternalSource - 7e5667ab: fix #1998 Switch relying on order - 8d2de12f: fix #1850 untrack in external source @@ -473,7 +473,7 @@ - 940e5745: change to seroval serializer, better ssr fragment fixes - 608b3c3a: Add catchError/deprecate onError - 2b80f706: Reduce DOM compiler output size - Remove auxilary closing tags and lazy evaluate templates + Remove auxiliary closing tags and lazy evaluate templates - 8d0877e4: fix #1562 cleanup order - 74f00e15: Support prop/attr directives in spreads, apply prop aliases only to specific elements @@ -485,7 +485,7 @@ - cb6a383d: ensure narrowed values are non-null - 3de9432c: Better Input Event Types, Template Pruning, Universal Renderer Fixes - 2cb6f3d6: fix treeshaking in rollup 3 -- 24469762: Add a reference to the component funciton to DevComponent owner. +- 24469762: Add a reference to the component function to DevComponent owner. Rename DevComponent's property from `componentName` to `name`. - 5545d3ee: Type narrowed flow on the server, add stale warning - 0dc8e365: Make non-null control flow assertion stricter by throwing @@ -528,14 +528,14 @@ - 608b3c3a: Add catchError/deprecate onError - 2b80f706: Reduce DOM compiler output size - Remove auxilary closing tags and lazy evaluate templates + Remove auxiliary closing tags and lazy evaluate templates - 8d0877e4: fix #1562 cleanup order - 74f00e15: Support prop/attr directives in spreads, apply prop aliases only to specific elements ### Patch Changes - 6b77d9ed: Better types on function callback control flow -- 24469762: Add a reference to the component funciton to DevComponent owner. +- 24469762: Add a reference to the component function to DevComponent owner. Rename DevComponent's property from `componentName` to `name`. - 5545d3ee: Type narrowed flow on the server, add stale warning