Solid.js library adding signaling to built-in non-primitives

Overview

Solid Proxies logo

Solid Proxies

This package provides signaled versions of Javascript's built-in objects. Thanks to it, all theirs properties will be automatically tracked while using standard API.

Signaled built-ins:

  • Object
  • Array
  • Map (coming soon)
  • WeakMap (coming soon)
  • Set (coming soon)
  • WeakSet (coming soon)

Installation

npm i solid-proxies

Compatibility

  • Solid.js ^1.0

Demo

CodeSandbox demo: Link

Usage

SignaledObject

SignaledObject will track all properties changes automatically. Setting new values, deleting, or checking keys will make your code react to changes.

There are 2 ways of how you can use SignaledObject:

{ console.log(user.name); }) // After some time... user.name = "Exelord" // This change will rerun the effect">
import { SignaledObject } from 'solid-proxies';

const user = new SignaledObject({ name: "Maciej" })

createEffect(() => {
  console.log(user.name);
})

// After some time...
user.name = "Exelord" // This change will rerun the effect

and

{ console.log(user.name); }) // After some time... user.name = "Exelord" // This change will rerun the effect">
import { createObject } from 'solid-proxies';

const user = createObject({ name: "Maciej" })

createEffect(() => {
  console.log(user.name);
})

// After some time...
user.name = "Exelord" // This change will rerun the effect

Important SignaledObjects are not deep wrapped. Means an object in SignaledObject would need to be signaled individually.

SignaledArray

SignaledArray will track any changes in the array automatically. Setting new values, deleting, or checking keys will make your code react to changes.

There are 2 ways of how you can use SignaledArray:

{ console.log(users[0].name); }) // After some time... users[0] = { name: "Exelord" } // This change will rerun the effect">
import { SignaledArray } from 'solid-proxies';

const users = new SignaledArray([{ name: "Maciej" }])

createEffect(() => {
  console.log(users[0].name);
})

// After some time...
users[0] = { name: "Exelord" } // This change will rerun the effect

and

{ console.log(users[0].name); }) // After some time... users[0] = { name: "Exelord" } // This change will rerun the effect">
import { createArray } from 'solid-proxies';

const users = createArray([{ name: "Maciej" }])

createEffect(() => {
  console.log(users[0].name);
})

// After some time...
users[0] = { name: "Exelord" } // This change will rerun the effect

Important SignaledArrays are not deep wrapped. Means an array or object in SignaledObject would need to be signaled individually.

Comments
  • Bump solid-js from 1.4.8 to 1.6.6

    Bump solid-js from 1.4.8 to 1.6.6

    Bumps solid-js from 1.4.8 to 1.6.6.

    Release notes

    Sourced from solid-js's releases.

    v1.6.0 - Castle in the Sky

    For the past months we've been working away at SolidStart and that has led to some incredible exploration into the realm of islands, partial hydration, and hybrid routing. Solid 1.6 backfills that into the core so that other Solid projects can benefit.

    We've also addressed a long-time issue with the proper merging of JSX spreads on native elements. When components don't re-execute dynamic spreads can one of the most complicated pieces to preserve granularity. Overall this is a smaller release but it represents a unique innovation into our vision of the future.

    Special thanks to @​nksaraf and @​rturnq work to guide exploration in these directions and contributions from @​trusktr, @​LiQuidProQuo, and @​thetarnav

    Highlights

    Official Partial Hydration Support

    Solid has worked for quite some time in partial hydrated ("Islands") frameworks like Astro, Iles, Solitude, etc.. but now we have added core features to support this effort better. These features are mostly designed for meta-framework authors rather than the end user they are exposed through a couple APIs.

    <Hydration /> joins <NoHydration /> as being a way to resume hydration and hydration ids during server rendering. Now we can stop and start hydratable sections. This is important because it opens up a new optimization.

    createResource calls under non-hydrating sections do not serialize. That means that resources that are server only stay on the server. The intention is that hydrating Islands can then serialize their props coming in. Essentially only shipping the JSON for data actually used on the client. Reducing the double data problem significantly.

    The power here is static markup can interleave dynamic components.

    <h1>Server Rendered Header</h1>
    <Island>
      <h2>Server Rendered Sub Header</h2>
      <p>{serverOnlyResource().text}</p>
      <DifferentIsland>
        <p>More server-renderd content</p>
      </DifferentIsland>
    </Island>
    

    Keep in mind Server rendered content like this can only be rendered on the server so maintaining 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 the browser.

    <h1>Server Only Rendered Header</h1>
    <ClientProvider>
      <h2>Server Only Rendered Sub Header</h2>
      <ClientIslandThatReadsContext />
    </ClientProvider>
    

    These improvements make it easier to create Partial Hydration solutions on top of Solid, and serve to improve the capabilities of the ones we already have.

    Native Spread Improvements

    Native spreads are something we started at very naively. Simply just iterating an object that has some reactive properties and updating the DOM element. However, this didn't take into consideration two problems.

    First properties on objects can change, they can be added or removed, and more so the object itself can be swapped. Since Solid doesn't re-render it needs to keep a fixed reference to the merged properties. Secondly, these are merged. Properties override others. What this means is we need to consider the element holistically to know that the right things are applied.

    ... (truncated)

    Changelog

    Sourced from solid-js's changelog.

    Changelog

    1.6.0 - 2022-10-20

    Solid v1.6 doesn't bring a ton of new features but brings some big improvements in existing ones.

    Highlights

    Official Partial Hydration Support

    Solid has worked for quite some time in partial hydrated ("Islands") frameworks like Astro, Iles, Solitude, etc.. but now we have added core features to support this effort better. These features are mostly designed for metaframework authors rather than the end user they are exposed through a couple APIs.

    <Hydration /> joins <NoHydration /> as being a way to resume hydration and hydration ids during server rendering. Now we can stop and start hydratable sections. This is important because it opens up a new optimization.

    createResource calls under non-hydrating sections do not serialize. That means that resources that are server only stay on the server. The intention is that hydrating Islands can then serialize their props coming in. Essentially only shipping the JSON for data actually used on the client.

    The power here is static markup can interview dynamic components.

    <h1>Server Rendered Header</h1>
    <Island>
      <h2>Server Rendered Sub Header</h2>
      <p>{serverOnlyResource().text}</p>
      <DifferentIsland>
        <p>More server-renderd content</p>
      </DifferentIsland>
    </Island>
    

    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.

    <h1>Server Rendered Header</h1>
    <ClientProvider>
      <h2>Server Rendered Sub Header</h2>
      <ClientIslandThatReadsContext />
    </ClientProvider>
    

    These improvements make it easier to create Partial Hydration solutions on top of Solid, and serve to improve the capabilities of the ones we already have.

    Native Spread Improvements

    Native spreads are something we started at very naively. Simply just iterating an object that has some reactive properties and updating the DOM element. However, this didn't take into consideration two problems.

    First properties on objects can change, they can be added or removed, and more so the object itself can be swapped. Since Solid doesn't re-render it needs to keep a fixed reference to the merged properties. Secondly, these are merged. Properties override others. What this means is we need to consider the element holistically to know that the right things are applied.

    For Components this was a never a problem since they are just function calls. Unfortunately for native elements this means all those compiler optimizations we do for specific bindings now need to get pulled into this. Which is why we avoided it in the past. But the behavior was too unpredictable.

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • Bump vite from 2.9.15 to 4.0.3

    Bump vite from 2.9.15 to 4.0.3

    Bumps vite from 2.9.15 to 4.0.3.

    Release notes

    Sourced from vite's releases.

    [email protected]

    Please refer to CHANGELOG.md for details.

    [email protected]

    Please refer to CHANGELOG.md for details.

    [email protected]

    Please refer to CHANGELOG.md for details.

    [email protected]

    Please refer to CHANGELOG.md for details.

    [email protected]

    Please refer to CHANGELOG.md for details.

    [email protected]

    Please refer to CHANGELOG.md for details.

    [email protected]

    Please refer to CHANGELOG.md for details.

    Changelog

    Sourced from vite's changelog.

    4.0.3 (2022-12-21)

    4.0.2 (2022-12-18)

    4.0.1 (2022-12-12)

    4.0.0 (2022-12-09)

    Vite 4 Announcement Cover Image

    Read the announcement blog post: Announcing Vite 4

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • Bump @vitest/ui from 0.21.1 to 0.26.2

    Bump @vitest/ui from 0.21.1 to 0.26.2

    Bumps @vitest/ui from 0.21.1 to 0.26.2.

    Release notes

    Sourced from @​vitest/ui's releases.

    v0.26.2

       🚀 Features

       🐞 Bug Fixes

        View changes on GitHub

    v0.26.1

       🚀 Features

       🐞 Bug Fixes

        View changes on GitHub

    v0.26.0

       🚨 Breaking Changes

    • vite-node: Rewrite how vite-node resolves id  -  by @​sheremet-va in vitest-dev/vitest#2463 (58ee8)
    • Correctly interop nested default for external and inlined modules  -  by @​sheremet-va in vitest-dev/vitest#2512 (084e9)
      • If your environment is node, Vitest will not resolve invalid named exports (exports that are on "default" property will not magically appear as named exports), unless deps.interopDefault is enabled, or dependency is in deps.inline. This change doesn't affect jsdom, happy-dom or edge environments.
    • web-worker: Make web-worker implementation more compatible with spec  -  by @​sheremet-va in vitest-dev/vitest#2431 (c3a63)
      • Messages are now cloned with structuredClone, if it's available, or fallbacks to a polyfill.
      • Added support for SharedWorker

       🚀 Features

       🐞 Bug Fixes

        View changes on GitHub

    v0.25.8

       🚀 Features

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • Bump solid-js from 1.4.8 to 1.6.4

    Bump solid-js from 1.4.8 to 1.6.4

    Bumps solid-js from 1.4.8 to 1.6.4.

    Release notes

    Sourced from solid-js's releases.

    v1.6.0 - Castle in the Sky

    For the past months we've been working away at SolidStart and that has led to some incredible exploration into the realm of islands, partial hydration, and hybrid routing. Solid 1.6 backfills that into the core so that other Solid projects can benefit.

    We've also addressed a long-time issue with the proper merging of JSX spreads on native elements. When components don't re-execute dynamic spreads can one of the most complicated pieces to preserve granularity. Overall this is a smaller release but it represents a unique innovation into our vision of the future.

    Special thanks to @​nksaraf and @​rturnq work to guide exploration in these directions and contributions from @​trusktr, @​LiQuidProQuo, and @​thetarnav

    Highlights

    Official Partial Hydration Support

    Solid has worked for quite some time in partial hydrated ("Islands") frameworks like Astro, Iles, Solitude, etc.. but now we have added core features to support this effort better. These features are mostly designed for meta-framework authors rather than the end user they are exposed through a couple APIs.

    <Hydration /> joins <NoHydration /> as being a way to resume hydration and hydration ids during server rendering. Now we can stop and start hydratable sections. This is important because it opens up a new optimization.

    createResource calls under non-hydrating sections do not serialize. That means that resources that are server only stay on the server. The intention is that hydrating Islands can then serialize their props coming in. Essentially only shipping the JSON for data actually used on the client. Reducing the double data problem significantly.

    The power here is static markup can interleave dynamic components.

    <h1>Server Rendered Header</h1>
    <Island>
      <h2>Server Rendered Sub Header</h2>
      <p>{serverOnlyResource().text}</p>
      <DifferentIsland>
        <p>More server-renderd content</p>
      </DifferentIsland>
    </Island>
    

    Keep in mind Server rendered content like this can only be rendered on the server so maintaining 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 the browser.

    <h1>Server Only Rendered Header</h1>
    <ClientProvider>
      <h2>Server Only Rendered Sub Header</h2>
      <ClientIslandThatReadsContext />
    </ClientProvider>
    

    These improvements make it easier to create Partial Hydration solutions on top of Solid, and serve to improve the capabilities of the ones we already have.

    Native Spread Improvements

    Native spreads are something we started at very naively. Simply just iterating an object that has some reactive properties and updating the DOM element. However, this didn't take into consideration two problems.

    First properties on objects can change, they can be added or removed, and more so the object itself can be swapped. Since Solid doesn't re-render it needs to keep a fixed reference to the merged properties. Secondly, these are merged. Properties override others. What this means is we need to consider the element holistically to know that the right things are applied.

    ... (truncated)

    Changelog

    Sourced from solid-js's changelog.

    Changelog

    1.6.0 - 2022-10-20

    Solid v1.6 doesn't bring a ton of new features but brings some big improvements in existing ones.

    Highlights

    Official Partial Hydration Support

    Solid has worked for quite some time in partial hydrated ("Islands") frameworks like Astro, Iles, Solitude, etc.. but now we have added core features to support this effort better. These features are mostly designed for metaframework authors rather than the end user they are exposed through a couple APIs.

    <Hydration /> joins <NoHydration /> as being a way to resume hydration and hydration ids during server rendering. Now we can stop and start hydratable sections. This is important because it opens up a new optimization.

    createResource calls under non-hydrating sections do not serialize. That means that resources that are server only stay on the server. The intention is that hydrating Islands can then serialize their props coming in. Essentially only shipping the JSON for data actually used on the client.

    The power here is static markup can interview dynamic components.

    <h1>Server Rendered Header</h1>
    <Island>
      <h2>Server Rendered Sub Header</h2>
      <p>{serverOnlyResource().text}</p>
      <DifferentIsland>
        <p>More server-renderd content</p>
      </DifferentIsland>
    </Island>
    

    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.

    <h1>Server Rendered Header</h1>
    <ClientProvider>
      <h2>Server Rendered Sub Header</h2>
      <ClientIslandThatReadsContext />
    </ClientProvider>
    

    These improvements make it easier to create Partial Hydration solutions on top of Solid, and serve to improve the capabilities of the ones we already have.

    Native Spread Improvements

    Native spreads are something we started at very naively. Simply just iterating an object that has some reactive properties and updating the DOM element. However, this didn't take into consideration two problems.

    First properties on objects can change, they can be added or removed, and more so the object itself can be swapped. Since Solid doesn't re-render it needs to keep a fixed reference to the merged properties. Secondly, these are merged. Properties override others. What this means is we need to consider the element holistically to know that the right things are applied.

    For Components this was a never a problem since they are just function calls. Unfortunately for native elements this means all those compiler optimizations we do for specific bindings now need to get pulled into this. Which is why we avoided it in the past. But the behavior was too unpredictable.

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • Bump @vitest/ui from 0.21.1 to 0.25.7

    Bump @vitest/ui from 0.21.1 to 0.25.7

    Bumps @vitest/ui from 0.21.1 to 0.25.7.

    Release notes

    Sourced from @​vitest/ui's releases.

    v0.25.7

       🚀 Features

       🐞 Bug Fixes

        View changes on GitHub

    v0.25.6

       🐞 Bug Fixes

        View changes on GitHub

    v0.25.5

       🚀 Features

       🐞 Bug Fixes

        View changes on GitHub

    v0.25.4

       🚀 Features

       🐞 Bug Fixes

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • Bump vite from 2.9.15 to 4.0.0

    Bump vite from 2.9.15 to 4.0.0

    Bumps vite from 2.9.15 to 4.0.0.

    Release notes

    Sourced from vite's releases.

    [email protected]

    Please refer to CHANGELOG.md for details.

    [email protected]

    Please refer to CHANGELOG.md for details.

    [email protected]

    Please refer to CHANGELOG.md for details.

    [email protected]

    Please refer to CHANGELOG.md for details.

    [email protected]

    Please refer to CHANGELOG.md for details.

    [email protected]

    Please refer to CHANGELOG.md for details.

    [email protected]

    Please refer to CHANGELOG.md for details.

    [email protected]

    Please refer to CHANGELOG.md for details.

    Changelog

    Sourced from vite's changelog.

    4.0.0 (2022-12-09)

    Vite 4 Announcement Cover Image

    Read the announcement blog post: Announcing Vite 4

    Quick links:

    Docs in other languages:

    Main Changes

    This major is smaller in scope compared to Vite 3, with the main objective of upgrading to Rollup 3. We've worked with the ecosystem to ensure a smooth upgrade path for this new major.

    Rollup 3

    Vite is now using Rollup 3, which allowed us to simplify Vite's internal asset handling and has many improvements. See the Rollup 3 release notes here.

    Framework Plugins out of the Vite core monorepo

    @vitejs/plugin-vue and @vitejs/plugin-react have been part of Vite core monorepo since the first versions of Vite. This helped us to get a close feedback loop when making changes as we were getting both Core and the plugins tested and released together. With vite-ecosystem-ci we can get this feedback with these plugins developed on independent repositories, so from Vite 4, they have been moved out of the Vite core monorepo. This is meaningful for Vite's framework-agnostic story, and will allow us to build independent teams to maintain each of the plugins. If you have bugs to report or features to request, please create issues on the new repositories moving forward: vitejs/vite-plugin-vue and vitejs/vite-plugin-react.

    New React plugin using SWC during development

    SWC is now a mature replacement for Babel, especially in the context of React projects. SWC's React Fast Refresh implementation is a lot faster than Babel, and for some projects, it is now a better alternative. From Vite 4, two plugins are available for React projects with different tradeoffs. We believe that both approaches are worth supporting at this point, and we'll continue to explore improvements to both plugins in the future.

    @​vitejs/plugin-react

    @​vitejs/plugin-react is a plugin that uses esbuild and Babel, achieving fast HMR with a small package footprint and the flexibility of being able to use the babel transform pipeline.

    @​vitejs/plugin-react-swc (new)

    @​vitejs/plugin-react-swc is a new plugin that uses esbuild during build, but replaces Babel with SWC during development. For big projects that don't require non-standard React extensions, cold start and Hot Module Replacement (HMR) can be significantly faster.

    Compatibility

    The modern browser build now targets safari14 by default for wider ES2020 compatibility (vitejs/vite#9063). This means that modern builds can now use BigInt and that the nullish coallessing operator isn't transpiled anymore. If you need to support older browsers, you can add @vitejs/plugin-legacy as usual.

    Importing CSS as a string

    In Vite 3, importing the default export of a .css file could introduce a double loading of CSS.

    </tr></table> 
    

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • Bump vitest from 0.21.1 to 0.25.7

    Bump vitest from 0.21.1 to 0.25.7

    Bumps vitest from 0.21.1 to 0.25.7.

    Release notes

    Sourced from vitest's releases.

    v0.25.7

       🚀 Features

       🐞 Bug Fixes

        View changes on GitHub

    v0.25.6

       🐞 Bug Fixes

        View changes on GitHub

    v0.25.5

       🚀 Features

       🐞 Bug Fixes

        View changes on GitHub

    v0.25.4

       🚀 Features

       🐞 Bug Fixes

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • Bump vite from 2.9.15 to 3.2.5

    Bump vite from 2.9.15 to 3.2.5

    Bumps vite from 2.9.15 to 3.2.5.

    Release notes

    Sourced from vite's releases.

    [email protected]

    Please refer to CHANGELOG.md for details.

    [email protected]

    Please refer to CHANGELOG.md for details.

    [email protected]

    Please refer to CHANGELOG.md for details.

    [email protected]

    Please refer to CHANGELOG.md for details.

    [email protected]

    Please refer to CHANGELOG.md for details.

    [email protected]

    Please refer to CHANGELOG.md for details.

    Changelog

    Sourced from vite's changelog.

    3.2.5 (2022-12-05)

    3.2.4 (2022-11-15)

    3.2.3 (2022-11-07)

    3.2.2 (2022-10-31)

    3.2.1 (2022-10-28)

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • Bump release-it from 15.3.0 to 15.5.1

    Bump release-it from 15.3.0 to 15.5.1

    Bumps release-it from 15.3.0 to 15.5.1.

    Release notes

    Sourced from release-it's releases.

    Release 15.5.1

    • Update dependencies (aa89cbd)
    • Prompt for npm OTP in --only-version (fixes #948) (ff626d1)
    • Remove unused export/function (331b0de)
    • Add knip + config (ee99f63)

    Release 15.5.0

    • Update dependencies (5d035be)
    • Add npm.versionArgs option (5efc57f)

    Release 15.4.3

    • Update dependencies (67da5d9)
    • Update got to 12.5.1 (#943) (a9c8c34)

    Release 15.4.2

    • Update dependencies (97095d5)
    • Defer dry run bail out in asset globbing (to include the warning in dry runs) (bf6ccc8)
    • Housekeeping for Actions (feff2eb)

    Release 15.4.1

    • Handle file paths and dots in git urls (055a4ff)
    • Update dependencies (including git-url-parse) (1851650)

    Release 15.4.0

    • Add npm.name to config.context and extend context for tagName (closes #933) (627763f)
    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • Bump @vitest/ui from 0.21.1 to 0.25.3

    Bump @vitest/ui from 0.21.1 to 0.25.3

    Bumps @vitest/ui from 0.21.1 to 0.25.3.

    Release notes

    Sourced from @​vitest/ui's releases.

    v0.25.3

       🚀 Features

       🐞 Bug Fixes

        View changes on GitHub

    v0.25.2

       🐞 Bug Fixes

        View changes on GitHub

    v0.25.1

       🚀 Features

       🐞 Bug Fixes

        View changes on GitHub

    v0.25.0

       ✅ Builtin TypeChecking

    In v0.25.0, Vitest allows you to write tests for your types, using expectTypeOf or assertType syntaxes. By default all tests inside *.test-d.ts files are considered type tests. Run vitest typecheck to run type tests.

    // my.test-d.ts
    import { assertType, expectTypeOf } from 'vitest'
    import { mount } from './mount.js'
    

    test('my types work properly', () => { expectTypeOf(mount).toBeFunction() expectTypeOf(mount).parameter(0).toMatchTypeOf<{ name: string }>() </tr></table>

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • Bump vite from 2.9.15 to 3.2.4

    Bump vite from 2.9.15 to 3.2.4

    Bumps vite from 2.9.15 to 3.2.4.

    Release notes

    Sourced from vite's releases.

    [email protected]

    Please refer to CHANGELOG.md for details.

    [email protected]

    Please refer to CHANGELOG.md for details.

    [email protected]

    Please refer to CHANGELOG.md for details.

    [email protected]

    Please refer to CHANGELOG.md for details.

    [email protected]

    Please refer to CHANGELOG.md for details.

    [email protected]

    Please refer to CHANGELOG.md for details.

    Changelog

    Sourced from vite's changelog.

    3.2.4 (2022-11-15)

    3.2.3 (2022-11-07)

    3.2.2 (2022-10-31)

    3.2.1 (2022-10-28)

    3.2.0 (2022-10-26)

    Main Changes

    Multiple Entries for Library Mode

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • Bump vitest from 0.21.1 to 0.26.2

    Bump vitest from 0.21.1 to 0.26.2

    Bumps vitest from 0.21.1 to 0.26.2.

    Release notes

    Sourced from vitest's releases.

    v0.26.2

       🚀 Features

       🐞 Bug Fixes

        View changes on GitHub

    v0.26.1

       🚀 Features

       🐞 Bug Fixes

        View changes on GitHub

    v0.26.0

       🚨 Breaking Changes

    • vite-node: Rewrite how vite-node resolves id  -  by @​sheremet-va in vitest-dev/vitest#2463 (58ee8)
    • Correctly interop nested default for external and inlined modules  -  by @​sheremet-va in vitest-dev/vitest#2512 (084e9)
      • If your environment is node, Vitest will not resolve invalid named exports (exports that are on "default" property will not magically appear as named exports), unless deps.interopDefault is enabled, or dependency is in deps.inline. This change doesn't affect jsdom, happy-dom or edge environments.
    • web-worker: Make web-worker implementation more compatible with spec  -  by @​sheremet-va in vitest-dev/vitest#2431 (c3a63)
      • Messages are now cloned with structuredClone, if it's available, or fallbacks to a polyfill.
      • Added support for SharedWorker

       🚀 Features

       🐞 Bug Fixes

        View changes on GitHub

    v0.25.8

       🚀 Features

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 0
Releases(1.0.0)
  • 1.0.0(Dec 29, 2022)

    v1.0.0 Released! 🎉🍻

    This is production ready version that from now on will use SemVer for all breaking changes in the API

    • Remove node engine dependency (cbfae75)
    • Simplify CI (0fcc52e)
    • Drop support for Node 14 (e639929)
    • Optimize SignaledWeakSet (9bd2585)
    • Improved Readme (add35c7)
    Source code(tar.gz)
    Source code(zip)
  • 0.6.0(Dec 29, 2022)

    • Update package config (e60ab90)
    • Update devDependencies (d85abd5)
    • Improve typings (6832780)
    • Add SignaledWeakSet (bb785ed)
    • Add vitest ui (3070326)
    • Update devDependencies (8179cf0)
    Source code(tar.gz)
    Source code(zip)
  • 0.5.1(Jun 30, 2022)

  • 0.5.0(Jun 30, 2022)

  • 0.4.0(Jun 8, 2022)

    BREAKING

    • Do not export signaled classes (e4672e4)

    MINORS

    • Fix readme typo (80d160d)
    • Update dependencies (5ea5793)
    • Add WeakMap (d1b5a9f)
    • Refactor cache (811457f)
    • Fix map typing (09b445c)
    • Allow to initiate empty map (5e9b5a6)
    • Refactor cache (c5cd3cb)
    • Move solid to peerDependencies (2ff279a)
    • Update dependencies (8875952)
    Source code(tar.gz)
    Source code(zip)
  • 0.3.0(May 16, 2022)

  • 0.2.0(May 10, 2022)

    • Update vitest (69e44e4)
    • Drop node 12 (fc42cd7)
    • Chenage build target to esnext (99aceb6)
    • Update dependencies (152f471)
    • Fix solidhack required fields (314bb1c)
    • Add Array push test (ec0f795)
    • Update dependencies (896f35d)
    • Update dependencies (2e8b591)
    • Add tests for Array.prototype.splice (b32d351)
    • Merge pull request #2 from Exelord/dependabot/npm_and_yarn/vitest-0.5.0 (8410588)
    • Bump vitest from 0.4.2 to 0.5.0 (b79f7c0)
    • Add demo link (9e6ec7b)
    Source code(tar.gz)
    Source code(zip)
  • 0.1.0(Feb 20, 2022)

Owner
Maciej Kwaśniak
🐹 Ember.js Expert 👨‍👩‍👧‍👦 Team lead 🏗 Frontend Architect ▲ Next.js ⚛ React 💎 RoR 👨🏻‍💻 Custom JS frameworks 🤝 Hire me!
Maciej Kwaśniak
Web app for adding EU Digital COVID Certificates to your wallet apps

Web app for adding EU Digital COVID Certificates to your wallet apps

CovidPass 1.2k Dec 31, 2022
NestJS module for adding translations to the application, with a pipe for translating validation errors

nestjs-translates NestJS module for adding translations to the application, with a pipe for translating validation errors Installation npm i --save ne

ILshat Khamitov 6 Jul 26, 2022
🤖 EvoBot is a Discord Music Bot built with discord.js & uses Command Handler from discordjs.guide

?? EvoBot is a Discord Music Bot built with discord.js & uses Command Handler from discordjs.guide

Erit Islami 1.4k Jan 8, 2023
Math Magicians - A calculator and three subpages built with React + SASS

Math Magicians JavaScript application that contains a calculator and three sub-pages. Built with React + SASS. Built With JavaScript HTML5 SASS React.

Leonardo Albornoz 8 Mar 23, 2022
A simple stateless microservice in Nodejs, Built with Node.js, Express and Mocha

A Stateless Microservice in NodeJS, having three major functionalities - Authentication, JSON patching and Image Thumbnail Generation.

Christotle Agholor 3 Feb 26, 2022
A platform detection library.

Platform.js v1.3.6 A platform detection library that works on nearly all JavaScript platforms. Disclaimer Platform.js is for informational purposes on

BestieJS Modules 3.1k Dec 31, 2022
A high-performance, dependency-free library for animated filtering, sorting, insertion, removal and more

MixItUp 3 MixItUp is a high-performance, dependency-free library for animated DOM manipulation, giving you the power to filter, sort, add and remove D

Patrick Kunka 4.5k Dec 24, 2022
Drag and drop library for two-dimensional, resizable and responsive lists

GridList Drag and drop library for a two-dimensional resizable and responsive list of items Demo: http://hootsuite.github.io/grid/ The GridList librar

Hootsuite 3.6k Dec 14, 2022
JavaScript Survey and Form Library

SurveyJS is a JavaScript Survey and Form Library. SurveyJS is a modern way to add surveys and forms to your website. It has versions for Angular, jQue

SurveyJS 3.5k Jan 1, 2023
Extensive math expression evaluator library for JavaScript and Node.js

?? Homepage Fcaljs is an extensive math expression evaluator library for JavaScript and Node.js. Using fcal, you can perform basic arithmetic, percent

Santhosh Kumar 93 Dec 19, 2022
Browser fingerprinting library with the highest accuracy and stability.

FingerprintJS is a browser fingerprinting library that queries browser attributes and computes a hashed visitor identifier from them. Unlike cookies a

FingerprintJS 18.1k Dec 31, 2022
A benchmarking library. As used on jsPerf.com.

Benchmark.js v2.1.4 A robust benchmarking library that supports high-resolution timers & returns statistically significant results. As seen on jsPerf.

BestieJS Modules 5.3k Dec 28, 2022
autoNumeric is a standalone library that provides live as-you-type formatting for international numbers and currencies.

What is autoNumeric? autoNumeric is a standalone Javascript library that provides live as-you-type formatting for international numbers and currencies

AutoNumeric 1.7k Dec 16, 2022
A wrapper library for Jitsi Meet that adds audio spatialization, to be able to create virtual meeting rooms.

A wrapper library for Jitsi Meet that adds audio spatialization, to be able to create virtual meeting rooms.

Sean T. McBeth 1.1k Dec 27, 2022
This library was designed to be used in SPA framework wrappers for the FingerprintJS Pro Javascript Agent

Framework-agnostic SPA service wrapper. Use it to build a FingerprintJS Pro wrapper for your favorite framework.

FingerprintJS 12 Sep 3, 2022
ChelseaJS - a Javascript library for creative, generative Coding

ChelseaJS is a Javascript library for creative, generative Coding. It's simple and intuitive syntax makes it easy for everyone (including non-coders)

Prakrisht Dahiya 26 Oct 6, 2022
Estrela - a JavaScript library for building reactive web components inspired by lit

Estrela ⭐ Full Reactive Web Components Estrela is a JavaScript library for building reactive web components inspired by lit. Just like Lit, Estrela is

null 50 Oct 31, 2022
A SolidJS starter template with solid-labels, solid-sfc and solid-styled

solid-sfc-styled-labels-starter This is a SolidJS starter template for easily setting up solid-sfc, solid-styled and solid-labels. Development Install

Alexis H. Munsayac 9 Mar 25, 2022
Solid.js library adding a services layer for global shared state.

Solid Services Services are "global" objects useful for features that require shared state or persistent connections. Example uses of services might i

Maciej Kwaśniak 55 Dec 30, 2022
[WIP] A solid directive for adding colorful shadows to images.

solid-cosha A solid directive for adding colorful shadows to images (based on cosha). Quick start Install it: yarn add solid-cosha Use it: import { co

Robert Soriano 2 Feb 3, 2022