Ahnfelt/react4s
48.0
Weak · 20 September 2026
1.5k
lines of production code
Scala
primary language
1
measurement over time
What this system is
This repository contains the React4s library, a Scala.js framework for building reactive user interfaces. It provides core abstractions for managing state and rendering components to the DOM, along with utilities for handling events and CSS. The system supports cross-compilation for Scala 2.12 and 2.13 and is published to Sonatype Central.
Removals
Removal of core React4s library components
The \Component.scala\, \Main.scala\, and \ReactBridge.scala\ files in \src/main/scala/dk/ahnfelt/react4s\ have been deleted. This removes the library's core component abstraction, the example application entry point, and the JavaScript bridge that rendered Scala components to the DOM. Users relying on this specific version of the react4s library will lose access to these foundational classes and utilities.
src/main/scala/dk · high confidence
Behavioural changes
React4s v0.9.27: Scala 2.13 support and core API updates
This release updates the library to support Scala 2.13 and introduces several behavioral changes to the core API. The package has been moved from \dk.ahnfelt.react4s\ to \com.github.ahnfelt.react4s\. State initialization now supports dynamic values via \State.of\, allowing initial state to be based on props. The \Signal\ type replaces the previous \Get =\> T\ pattern for reactive values. Component rendering now returns \Node\ instead of \ElementOrComponent\, and the \Get\ instance is renamed to \Get.Unsafe\ to clarify its usage. Additionally, new CSS pseudo-classes (e.g., \disabled\, \evenChild\) and event handlers (e.g., \onSubmit\, drag/drop events) are added, and the \Loader\ attachable now handles race conditions more robustly.
src/main/scala/com · high confidence
Dependencies
Upgrade to Scala 2.13 and update build configuration
The project has been upgraded to Scala 2.13.18 as the primary version, with cross-compilation support added for Scala 2.12.19. The build manifest now includes comprehensive metadata (organization, description, licenses, SCM info, developers) and configures publishing to Sonatype Central. Additionally, the Scala.js linker is configured to relativize source map bases, and the compiler option for the 'feature' package is enabled.
(dependencies) · high confidence
Housekeeping
Initial project scaffolding and documentation
The repository is initialized with core project files, including a new .gitignore to exclude build artifacts (target/, .idea/, .bsp/) and generated HTML, a LICENSE.txt establishing the MIT license, and a comprehensive README.md that documents the React4s library's API, usage examples, and design principles. Additionally, the previous index.html demo file has been removed.
(repo-wide) · high confidence
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
How this codebase got here
Baseline
- First survey — no prior run to compare against. CAI 48.
Lenses
- Code Health 95
- Architecture 100
- Maturity 54
- Readiness 17
- Security 100
Changes since last survey
- 258 commits — 252 feature/other, 6 fixes
By area
- (root) — 138 commits
- src/main — 88 commits
- (repo) — 32 commits
Notable commits
- fix: Bump Scala sub version for 2.12, bum ScalaJS version, Fix name for Generated Style sheets, apparently names having an embedded $ are not valid in a browser.
- fix: Fixed version reference in index.html
- fix: Renamed the globally available Get instance to Get.Unsafe. Fixed some attachables that didn't use Get.
- fix: Revert "v0.9.25: Support for Scala 2.13.0-RC1"
- fix: Revert "v0.9.25: Support for Scala 2.13.0-RC1"
- fix: v0.9.29: Fix git tag issue
- change: .gitignore
- change: 0.6.1-SNAPSHOT - JsComponent
- change: 0.9.11: Better Loader interface
- change: 0.9.12: Covariance annotations
- change: 0.9.13: State .set/.modify now only updates if the new value is != the old value.
- change: 0.9.13: State .set/.modify now only updates if the new value is != the old value.
- change: 0.9.14: Lazy Tags.when and Tags(...) with varargs.
- change: 0.9.14: Lazy Tags.when and Tags(...) with varargs.
- change: 0.9.14: Lazy Tags.when and Tags(...) with varargs.
- change: 0.9.2
- change: 0.9.2
- change: 0.9.3
- change: 0.9.3
- change: 0.9.4
- …and 238 more
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
Survey your own repository
Ahnfelt/react4s was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.
About this page
- The score is its most recent published measurement, taken on 20 September 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
- Measured at commit f912e9219ea96eea7565d7f572bf67cc2106e867 — the exact code this score is about.
- Scored under rubric-2026.09.15 — the same rubric and the same method as every other entry in this index.
- Measured by watchdog.canine.dev using codehealth-analyzer preprod-b51f968c9b10.