Skip to content
This repository has been archived by the owner on Sep 23, 2024. It is now read-only.

Releases: lightning-js/solid

v0.15.0 - Breaking Changes

03 Apr 18:17
Compare
Choose a tag to compare

Whats Changed

  • Removed Canvas tag
  • Removed stateMapperHook
  • Batched Shader effects on initial creation
  • styles now support nested arrays (optimized performance of parsing styles)
  • Added getChildById(id) to find children nodes
  • Added searchChildrenById(id) to find any child node matching id
  • Move Canvas options into Config.rendererOptions

Lightning now inits the renderer synchronously before rendering the app. This will make it much easier to do unit testing as you can await render in setup and then test a component.

Why Remove Canvas

Removing the canvas tag makes it so all nodes have a parent reducing overhead on managing nodes (slightly better performance). Also we can now render nodes as soon as they are inserted into a parent making onMount with refs work as expected (no timing issues). Lastly, I wanted to remove Canvas so the base index page can easily be reused between a Web + Lightning environment as most page and API calls are the same.

To Upgrade

Remove Canvas tag from Render
Set Config.renderOptions = to the Canvas options

import { Config, render } from "@lightningjs/solid";
Config.rendererOptions = {
  coreExtensionModule: coreExtensionModuleUrl,
  enableInspector: false,
  appWidth: 1920,
  appHeight: 1080,
  deviceLogicalPixelRatio: 1,
};

const dispose = await render(() => (
  <HashRouter root={(props) => <App {...props} />}>
    <Route path="" component={LiveGuide} load={loadEPGData} />
    <Route path="guide" component={() => <Navigate href="/" />} />;
    <Route path="movies" component={Vod} load={loadMovies} />
    <Route path="tvShows" component={Vod} load={loadTvShows} />
    <Route path="networks" component={Networks} load={loadNetworks} />
    <Route path="episodeGuide/:id" component={EpisodeGuide} load={loadTvShow} />
    <Route path="movie/:id" component={Movie} load={loadMovieEntity} />
    <Route path="vodPlayer" component={VodPlayer} />
    <Route path="linearPlayer" component={LinearPlayer} />
    <Route path="settings" component={Settings} />
  </HashRouter>
), //second param is HTML element to insert into DOM, same as SolidJS );

Please note that render is now an async function due to renderer init being an async process which returns dispose function.

v0.11.0 - Breaking Changes: Transition

06 Jan 22:33
Compare
Choose a tag to compare

This release removes animate property in favor of transition property.
https://github.com/lightning-js/solid?tab=readme-ov-file#transitions--animations

Also arrays for props are no longer supported (for doing animations by just setting props) ex: ref.x = [50, { duration: 500}] - this caused a lot of typescript issues as 99% of the time you just need a simple value.

These changes greatly simplify the number of checks solid needs to do for even more performance :D

v0.8.7

28 Nov 13:31
Compare
Choose a tag to compare

Latest code with updated Typescript support

Release 0.8.0

09 Nov 14:34
Compare
Choose a tag to compare

Release 0.8.0 to support renderer 0.5.0

Release 0.7.3

31 Oct 00:06
Compare
Choose a tag to compare
v0.7.3

0.7.3

v0.6.10

17 Oct 14:25
6ad8171
Compare
Choose a tag to compare

What's Changed

Release 0.6.4

16 Oct 14:58
Compare
Choose a tag to compare

Update typescript to compile JSX

Release 0.6.3

14 Oct 10:55
Compare
Choose a tag to compare

Release on github