GitShow/solidjs/solid
solidjs

solid

A declarative, efficient, and flexible JavaScript library for building user interfaces.

by solidjs
declarativefine-grainedjavascriptjsxperformanceproxiesreactivesolid
Star on GitHubForkWebsitenpm

TypeScript

36.0k stars1.1k forks195 contributorsActive · 17h agoSince 2018v1.9.0MIT

Meet the team

See all 195 on GitHub →
ryansolid
ryansolid1.5k contributions
thetarnav
thetarnav33 contributions
otonashixav
otonashixav25 contributions
Jutanium
Jutanium23 contributions
trusktr
trusktr18 contributions
dependabot[bot]Bot
dependabot[bot]15 contributions
davedbase
davedbase14 contributions
bikeshedder
bikeshedder12 contributions

Languages

View on GitHub →
TypeScript73.5%
JavaScript26.3%
CSS0.2%

Commit activity

Last 12 weeks · 28 commits

Full graph →

Community health

5 of 6 standards met

Community profile →
87
✓README✓License✓Contributing✓Code of Conduct○Issue Template✓PR Template

Recent PRs & issues

Active · Last activity 17h ago
See all on GitHub →
mizulu
2.0.0-rc.6 | render is blocking on a latest signal read.OpenIssue

Describe the bug after the reproduction finishes the initial load. clicking the reload button triggers a signal update, that signal used in multiple places in the application to refresh its dependents. the signal is always read via a wrapper function that read it via so this signal should never get entangled. the assumption that any owner reading that refresh signal, can re execute(unless it is held by another entanglement) but that signal read itself should not cause entanglement. between its readers. and we can see that works for the 3 top panels, each reload will reset the tab and show its fallback until it is resolved the tabs independently resolve however the TabPanel values are only updated on the initial click, and if we click it again while the top panels are still resolving, we will only see them going back to fallback, but the values of the Tab do not get updated even though they have only 20ms resolve time. any effect on the refresh signal will not trigger until everything settles Your Example Website or App https://s.olid.uk/id/pEAxMQSvTAqDiwR6cEoeWw (2.0.0-rc.6) playground @ 2.0.0-beta.15 Steps to Reproduce the Bug or Issue 1. wait for initial load of all panels 2. click reload once , then again , then again, you will see top 3 panels reset to fallback but the TabPanel holding the values from the first reload click 3. once we stop clicking reload and we let all panels resolve the TabPanel will update its new values Expected behavior it is not clear why TabPanel will hold the render, we can also isolate TabPanel to only depend on the refresh signal without any other dependencies, and the render will still block. for example by generating random data without async in the code. this might be miss understanding, but it is hard to trace that easily. additionally tried the same reproduction with older version like 2.0.0-rc.15 and the Tab data updates with every reload click. Screenshots or Videos ##2.0.0-rc.6 2.0.0-beta.15 Platform OS: [e.g. macOS, Windows, Linux] Browser: [e.g. Chrome, Safari, Firefox] Version: [e.g. 91.1] Additional context playground source files (json)

mizulu · 6h ago
Azravos
[2.0.0-rc6] Variable ref inside a ref array is never assignedOpenIssue

Describe the bug Doesn't work at all, elementRef never becomes assigned. But this is fully allowed by the type system and compiles Works as intended So I'm guessing either this is a bug or it simply shouldn't compile if it's not meant to be supported. Your Example Website or App See description Steps to Reproduce the Bug or Issue Just put a ref variable inside the ref array like ref={[myRef]} and it will never be assigned. Expected behavior Either a compile error if this isn't intended or the ref element to be successfully assigned Screenshots or Videos _No response_ Platform OS: [Windows] Browser: Chrome Version: [152] Additional context _No response_

Azravos · 6h ago
javascript-unsafe
fix(babel-plugin,compiler): assign bare variable refs inside ref arrays (#3285)OpenPR

Closes #3285 What was broken `elref={el}elref={[el]}_$ref(() => [el], element)elf && f(element)undefinedundefinedletref={[el]}ref={[obj.el]}ref={[[el]]}ref={[...refs]}ref={[fn]}constundefinedundefinednullfalselet cb = someFn; someFncbpackages/web/test/ref-array.spec.tsxconstJSX_COMPILER=babelrefArraysclippy -D warnings@solidjs/babel-plugin@solidjs/compiler`.

javascript-unsafe · 8h ago

Recent fixes

View closed PRs →
v-sayapin
feat(web): support responsive image preloadsMergedPR

Summary Follow-up to #3162, which landed typed preload links but left responsive images out. and decide which URL the browser fetches, so a typed link that can't carry them only half-describes the request. `hrefhrefimagesrcsetPreloadLinkas_basehrefimagesrcset""imagesrcset="42"asimagesrcsetfalsecrossorigin={cond && "anonymous"}crossoriginuse-credentialstype: "a:media=b"type: "a", media: "b"/loader:type=6:module/loadertype: "module"qualifierValueasimagesrcsetimagesizesas="IMAGE"imagesrcset: ""mountHeadResourceimagesizes100vw_base/w,400/hero.avifhttps://cdn.example/image,400w 1xfetchprioritysink.shellsink.assetAssetManifestnextcrossoriginas="IMAGE"pnpm test@solidjs/web#testelement.spec.tsxnextff96a671packages/websize-limit11.30 → 11.40 kB11372 B11266 Bnext10.73 → 10.7410731 B10700 Bdist/web.jshead.ts.size-limit.jstest-typestypecheckgit diff --checkmergepackages/signalsdistmediaas="script"as="style"` preloads are CSP-blocked without their nonce and served with it.

v-sayapin · 18h ago
Structured data for AI agents

Repository: solidjs/solid. Description: A declarative, efficient, and flexible JavaScript library for building user interfaces. Stars: 35963, Forks: 1103. Primary language: TypeScript. Languages: TypeScript (73.5%), JavaScript (26.3%), CSS (0.2%). License: MIT. Homepage: https://solidjs.com Topics: declarative, fine-grained, javascript, jsx, performance, proxies, reactive, solid. Latest release: v1.9.0 (1y ago). Open PRs: 9, open issues: 23. Last activity: 17h ago. Community health: 87%. Top contributors: ryansolid, thetarnav, otonashixav, Jutanium, trusktr, dependabot[bot], davedbase, bikeshedder, aminya, Gavin-Gong and others.

·@ofershap

Replace github.com with gitshow.dev