Skip to content

Commit

Permalink
chore(deps): update dependency solid-js to ^1.9.3 (#2773)
Browse files Browse the repository at this point in the history
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [solid-js](https://solidjs.com)
([source](https://redirect.github.com/solidjs/solid)) | [`^1.8.17` ->
`^1.9.3`](https://renovatebot.com/diffs/npm/solid-js/1.8.17/1.9.3) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/solid-js/1.9.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/solid-js/1.9.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/solid-js/1.8.17/1.9.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/solid-js/1.8.17/1.9.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>solidjs/solid (solid-js)</summary>

###
[`v1.9.3`](https://redirect.github.com/solidjs/solid/compare/v1.9.2...v1.9.3)

[Compare
Source](https://redirect.github.com/solidjs/solid/compare/v1.9.2...v1.9.3)

###
[`v1.9.2`](https://redirect.github.com/solidjs/solid/compare/v1.9.0...v1.9.2)

###
[`v1.9.0`](https://redirect.github.com/solidjs/solid/releases/tag/v1.9.0):
- LGTM!

[Compare
Source](https://redirect.github.com/solidjs/solid/compare/v1.8.23...v1.9.0)

This release like the last is focusing on small quality of life
improvements and adjustments that will help us move towards 2.0. So
while not the most exciting release to everyone it provides some really
important features and fixes to some developers.

And unlike many previous releases the vast majority of the work and
features came from PRs from the community. So really all I can say is
Looks Good to Me!

#### Better JSX Validation

While still incomplete across templates we've added JSDOM to the
compiler to better detect invalid HTML at build time by comparing what
we expect the template to be with what a browser would output. This now
includes things that are nested we didn't detect before like putting
`<a>` inside other `<a>` tags which will lead to the browser
"correcting" it in less than intuitive ways.

#### Improved Exports

While each environment in `solid-js/web` has its own methods to be used
in the compiler. We are now exporting the client methods from the server
to prevent weird import errors. Now these methods will throw if used in
this environment but shouldn't break your build.

Additionally we have seen some issues in bundlers that incorrectly feed
our ESM exports back through the browser field. While this is a known
issue they all pointed issues at each other and with no intention of
fixing it. We have removed the browser field in this release, meaning
some legacy packages may have issues resolving browser if they don't
support export conditions.

This is regretful but this blocked deployments on several platforms and
since this was the only fix at our disposal after two years of
attempting to push this issue to the bundlers to no avail, we've moved
forward with it.

#### Custom Element improvements

We have a few improvements to our custom element support in this
release. First off we now detect elements with the `is` attribute as
custom elements which means all the special behavior is afforded to
them.

We've also improved our event handler delegating retargetting to better
handle shadow DOM events. There were cases where we skipped over part of
the tree.

Finally we've added the `bool:` attribute namespace to handle explicitly
setting certain attributes according to boolean attribute rules. While
this isn't necessary for built-in booleans currently we handle most
attributes as properties and we lacked a specific override. But now we
have it:

```js
<my-element bool:enable={isEnabled()}></my-element>
```

#### Support for handleEvent Syntax in Non-Delegated Events

A little known thing is that events actually also support objects
instead of functions (See:
https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener)

We(thanks
[@&#8203;titoBouzout](https://redirect.github.com/titoBouzout)) realized
we can use this mechanism as a way to set advanced rules like `passive`
or `capture` on this object as way to handle all current and future
event attributes that browsers might add. This way we don't need
specific mechanisms like `oncapture:` (which is now deprecated).

Instead using `on:` you can set the event properties you wish.

```js
<>
  <div on:click={{
    handleEvent(e) {
      console.log("clicked", e)
    },
    once:true
  }/>
  <div on:wheel={{
    handleEvent(e) {
      e.preventDefault() // only works on not passive events
      e.stopPropagation()  
      console.log("wheel stopped?")
    },
    passive: false
  }} />
</>
```

#### Other Updates

We've fixed an issue with lazy images. Apparently, cloneNode doesn't
handle them properly so we've updated our heuristic to treat templates
with lazy images to be handled with `importNode`.

We've improved our Hydration Mismatch Error to output the template of
that it can't find the matching ID for. This should make it easier to
track down where the hydration errors are occurring. There have been
several hydration improvements over the later 1.8 releases so upgrading
will likely improve the situation for those who have been facing issues.

Finally, we've improved some of the types in the JSX and Signal Setter
in this release.

***

Big thanks to those who contributed to this release:
[@&#8203;wkelly17](https://redirect.github.com/wkelly17),
[@&#8203;olivercoad](https://redirect.github.com/olivercoad),
[@&#8203;titoBouzout](https://redirect.github.com/titoBouzout),
[@&#8203;trusktr](https://redirect.github.com/trusktr),
[@&#8203;Huliiiiii](https://redirect.github.com/Huliiiiii). And thanks
to all of you who gave feedback on the [Metadata/Head Tag
RFC](https://redirect.github.com/solidjs/solid/discussions/2294). While
it didn't make it in this time around you've definitely given us stuff
to consider for its future design.

Best,
[@&#8203;ryansolid](https://redirect.github.com/ryansolid)

###
[`v1.8.23`](https://redirect.github.com/solidjs/solid/compare/v1.8.22...v1.8.23)

[Compare
Source](https://redirect.github.com/solidjs/solid/compare/v1.8.22...v1.8.23)

###
[`v1.8.22`](https://redirect.github.com/solidjs/solid/compare/v1.8.21...v1.8.22)

[Compare
Source](https://redirect.github.com/solidjs/solid/compare/v1.8.21...v1.8.22)

###
[`v1.8.21`](https://redirect.github.com/solidjs/solid/compare/v1.8.20...v1.8.21)

[Compare
Source](https://redirect.github.com/solidjs/solid/compare/v1.8.20...v1.8.21)

###
[`v1.8.20`](https://redirect.github.com/solidjs/solid/compare/v1.8.19...v1.8.20)

[Compare
Source](https://redirect.github.com/solidjs/solid/compare/v1.8.19...v1.8.20)

###
[`v1.8.19`](https://redirect.github.com/solidjs/solid/compare/v1.8.18...v1.8.19)

[Compare
Source](https://redirect.github.com/solidjs/solid/compare/v1.8.18...v1.8.19)

###
[`v1.8.18`](https://redirect.github.com/solidjs/solid/compare/v1.8.17...v1.8.18)

[Compare
Source](https://redirect.github.com/solidjs/solid/compare/v1.8.17...v1.8.18)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/fwouts/previewjs).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4xMjAuMSIsInVwZGF0ZWRJblZlciI6IjM4LjEyMC4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
  • Loading branch information
renovate[bot] authored Oct 26, 2024
1 parent 19502cb commit 1e04edc
Show file tree
Hide file tree
Showing 2 changed files with 30 additions and 30 deletions.
2 changes: 1 addition & 1 deletion framework-plugins/solid/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@
"@previewjs/testing": "workspace:*",
"pino": "^9.5.0",
"pino-pretty": "^11.2.1",
"solid-js": "^1.8.17",
"solid-js": "^1.9.3",
"unbuild": "^2.0.0",
"vite": "^5.3.1",
"vitest": "^1.6.0"
Expand Down
58 changes: 29 additions & 29 deletions pnpm-lock.yaml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

0 comments on commit 1e04edc

Please sign in to comment.