Important: Cleaning up and retiring implementations

Author: krausestCreated Sep 4, 2026Updated Sep 18, 2026

There's a new property in package.json: js-framework-benchmark.repoURL points to the main repository URL. Currently github, gitlab and gitee are supported. The cli tool supports a check with the command GITHUB_TOKEN=.... node cli.js check-status (the GITHUB_TOKEN avoids the rate limit for checking all repos) and creates a csv as shown below.

There are currently 255 entries so the overflow is near .

My suggestion is a staged retirement policy based on the star count and the later of last commit and last issue.

    • frameworks from archived repos will be archived immediately
    • frameworks with less than 10 stars will be archived after 180 days of inactivity (justification: no public interest and little chance getting it)
    • frameworks with less than 100 stars will be archived after 365 days of inactivity (justification: neither much public interest nor much community or development)
    • all frameworks will be archived after 730 days of inactivity (justification: inactive)

I have not yet decided on whether we'll remove all non-keyed implementations (#2067), but there are good chances we'll do that.

The rows in the table with a rule number in the "retire" column will be removed soon:

Framework-Name Repo URL Stars Days Since Last Commit Days Since Last Issue Archived Retire?
keyed/akashjs https://github.com/hish/akashjs 0 89 68 false
keyed/alien-signals https://github.com/stackblitz/alien-signals 3243 94 9 false
keyed/alpine https://github.com/alpinejs/alpine 31924 3 0 false
keyed/anansi https://github.com/saru-tora/anansi 113 1256 1244 false 4
keyed/angular-cf https://github.com/angular/angular 100994 0 0 false
keyed/angular-cf-new-nozone https://github.com/angular/angular 100994 0 0 false
keyed/angular-cf-signals https://github.com/angular/angular 100994 0 0 false
keyed/angular-cf-signals-nozone https://github.com/angular/angular 100994 0 0 false
keyed/apprun https://github.com/yysun/apprun 1176 59 413 false
keyed/arrowjs https://github.com/standardagents/arrow-js 3756 73 1 false
keyed/art https://github.com/sullay/Art-js 39 921 921 false 3
keyed/astro https://github.com/withastro/astro 62494 0 0 false
keyed/astro-react https://github.com/withastro/astro 62494 0 0 false
keyed/aurelia2 https://github.com/aurelia/aurelia 1541 3 3 false
keyed/blazor-wasm https://github.com/dotnet/aspnetcore 38435 0 0 false
keyed/blazor-wasm-aot https://github.com/dotnet/aspnetcore 38435 0 0 false
keyed/blockdom https://github.com/ged-odoo/blockdom 580 763 1105 false 4
keyed/bobril https://github.com/Bobris/Bobril 371 130 708 false
keyed/cample https://github.com/Camplejs/Cample.js 123 673 351 false
keyed/crank https://github.com/bikeshaving/crank 2798 0 7 false
keyed/dark https://github.com/trycatch-labs/dark 53 337 312 false
keyed/deleight https://github.com/mksunny1/deleight 31 418 858 false 3
keyed/destam-dom https://github.com/Nefsen402/destam-dom 5 45 90 false
keyed/dioxus https://github.com/DioxusLabs/dioxus 39058 0 0 false
keyed/dlightjs https://github.com/dlight-js/dlight 660 581 581 false
keyed/dojo https://github.com/dojo/framework 623 1235 362 false
keyed/dominator https://github.com/Pauan/rust-dominator 1132 158 148 false
keyed/domphy https://github.com/domphy/domphy 2 2 N/A false
keyed/doohtml https://github.com/hman61/doodads 22 112 29 false
keyed/doohtml-dom https://github.com/hman61/doodads 22 112 29 false
keyed/doohtml-dp https://github.com/hman61/doodads 22 112 29 false
keyed/doohtml-lite https://github.com/hman61/doodads 22 112 29 false
keyed/drift https://github.com/driftjs-org/driftjs 15 3 26 false
keyed/ef-js https://github.com/TheNeuronProject/ef.js 445 1159 1207 false 4
keyed/elementaryui https://github.com/elementary-swift/elementary-ui 492 0 11 false
keyed/elm https://github.com/elm/compiler 7899 17 6 false
keyed/elur https://github.com/elurjs/elur 0 3 N/A false
keyed/ember https://github.com/emberjs/ember.js 22570 0 0 false
keyed/endr https://github.com/caseywebdev/endr 12 120 374 false
keyed/fntags https://github.com/srfnstack/fntags 18 147 217 false
keyed/frei-hooks https://github.com/aimwhy/frei 6 421 911 false 2
keyed/glimmer-2 https://github.com/tomdale/glimmer-lite N/A N/A N/A N/A
keyed/gxt https://github.com/lifeart/glimmer-next 35 46 68 false
keyed/gyron https://github.com/gyronorg/core 32 461 690 false 3
keyed/helix https://github.com/thheller/shadow-cljs 2407 0 0 false
keyed/hellajs https://github.com/omilli/hellajs 25 2 302 false
keyed/hono https://github.com/honojs/hono 32163 0 0 false
keyed/hydro-js https://github.com/Krutsch/hydro-js 13 5 5 false
keyed/hyperapp https://github.com/hyperapp/hyperapp 19196 541 9 false
keyed/imba https://github.com/imba/imba 6508 2 9 false
keyed/inferno https://github.com/infernojs/inferno 16456 24 92 false
keyed/ivi https://github.com/localvoid/ivi 802 0 26 false
keyed/karyon https://gitlab.com/karyonjs/karyon 0 48 N/A N/A
keyed/kerfjs https://github.com/brianwestphal/kerf 1 0 52 false
keyed/knno-jsx https://gitee.com/thor.qin/knno-jsx.git 2 18 N/A N/A
keyed/knockout https://github.com/knockout/knockout 10558 171 51 false
keyed/ko-jsx https://github.com/ryansolid/ko-jsx 41 1342 1342 false 3
keyed/laminar https://github.com/raquo/Laminar 835 0 125 false
keyed/lark-mvc https://github.com/swifty-js/lark.js N/A N/A N/A N/A
keyed/legend-state https://github.com/LegendApp/legend-state 4193 32 1 false
keyed/leptos https://github.com/leptos-rs/leptos 21282 1 1 false
keyed/lit https://github.com/lit/lit 21816 1 2 false
keyed/lit-html https://github.com/lit/lit 21816 1 2 false
keyed/literaljs https://gitlab.com/mikeysax/LiteralJS 1 95 N/A N/A
keyed/lui https://github.com/L3P3/lui 17 50 46 false
keyed/lwc https://github.com/salesforce/lwc 1788 1 1 false
keyed/magnet https://gitlab.com/magnetjs/monorepo 0 40 N/A N/A
keyed/malina https://github.com/malinajs/malinajs 1152 244 1029 false
keyed/marionette https://github.com/marionettejs/marionette 27 0 0 false
keyed/marionette-backbone https://github.com/marionettejs/marionette 27 0 0 false
keyed/marko https://github.com/marko-js/marko 14410 0 0 false
keyed/marko-classes https://github.com/marko-js/marko 14410 0 0 false
keyed/mettle https://github.com/maomincoding/mettle 27 182 N/A false
keyed/michijs https://github.com/michijs/michijs 49 5 5 false
keyed/micra https://github.com/denisfl/micra.js 8 3 110 false
keyed/mikado https://github.com/nextapps-de/mikado 854 163 163 false
keyed/mikado-proxy https://github.com/nextapps-de/mikado 854 163 163 false
keyed/miso-js https://github.com/dmjio/miso 2436 1 1 false
keyed/mithril https://github.com/MithrilJS/mithril.js 14499 30 51 false
keyed/mobx-jsx https://github.com/ryansolid/mobx-jsx 267 1342 1342 false 4
keyed/mogwai https://github.com/schell/mogwai 427 18 15 false
keyed/nanoviews https://github.com/TrigenSoftware/nano_kit 42 1 3 false
keyed/native-document https://github.com/afrocodeur/native-document 15 43 N/A false
keyed/no-js https://github.com/no-js-dev/nojs 83 12 12 false
keyed/nord https://github.com/Grainular-Nord/nord 9 5 4 false
keyed/nuclo https://github.com/dan2dev/nuclo 19 5 161 false
keyed/octane https://github.com/octanejs/octane 1390 0 0 false
keyed/openinula-2 https://gitee.com/openInula/inula 722 112 107 N/A
keyed/openui5 https://github.com/UI5/openui5 3317 0 2 false
keyed/owl https://github.com/odoo/owl 1578 1 1 false
keyed/plaited https://github.com/plaited/plaited 11 2 72 false
keyed/plastron-dom https://github.com/rheophile10/plastron 6 67 192 false
keyed/pota https://github.com/potahtml/pota 66 62 172 false
keyed/preact-classes https://github.com/preactjs/preact 38859 2 3 false
keyed/preact-hooks https://github.com/preactjs/preact 38859 2 3 false
keyed/preact-kr-observable https://github.com/nihil-pro/kr-observable 32 56 56 false
keyed/preact-signals https://github.com/preactjs/signals 4484 8 8 false
keyed/pure-vapor https://github.com/vuejs/core 54369 0 1 false
keyed/qingkuai https://github.com/qingkuai-js/qingkuai 184 1 29 false
keyed/quel https://github.com/mogera551/quel 0 220 577 false 2
keyed/qwik https://github.com/QwikDev/qwik 22064 0 1 false
keyed/ractive https://github.com/ractivejs/ractive 5914 843 72 false
keyed/re-frame https://github.com/day8/re-frame 5540 130 7 false
keyed/react-classes https://github.com/react/react 250059 0 0 false
keyed/react-compiler-hooks https://github.com/react/react 250059 0 0 false
keyed/react-hooks https://github.com/react/react 250059 0 0 false
keyed/react-hooks-use-transition https://github.com/react/react 250059 0 0 false
keyed/react-kr-observable https://github.com/nihil-pro/kr-observable 32 56 56 false
keyed/react-mlyn https://github.com/vaukalak/react-mlyn 23 1692 1716 false 3
keyed/react-mobX https://github.com/mobxjs/mobx 28205 19 5 false
keyed/react-redux https://github.com/reduxjs/redux 61486 4 5 false
keyed/react-redux-hooks https://github.com/reduxjs/redux 61486 4 5 false
keyed/react-redux-hooks-immutable https://github.com/reduxjs/redux

Source: krausest/js-framework-benchmark