w11k/Tydux
52.2
Adequate · 21 September 2026
2.6k
lines of production code
TypeScript
with JavaScript
4
measurements over time
What this system is
This system is a state management library, Tydux, that provides a modern architecture for managing application state through immutable updates and observable streams. It offers framework-specific integrations for React and Angular, enabling components to subscribe to state changes and perform mutations. The core library supports advanced state manipulation patterns, including command mutators and repository-based entity management, while replacing older, legacy store implementations.
Features
Add React hooks for Tydux state management
The \tydux-react\ module introduces the \useFacadeState\ hook, which allows React components to subscribe to a Tydux Facade's state. The hook supports optional state selectors and provides a \nilReplacement\ argument to handle null or undefined values. Configuration files for Babel, Jest, and TypeScript (including ESM5, ESM2015, and spec builds) are added to support the new module's build and test infrastructure.
modules/tydux-react · high confidence
Add command mutators and repository support for state management
Introduces new command mutators (createAssignCommand, createMutator, arrayAppend, arrayPrepend, arrayInsertAtIndex, arrayRemoveFirst, objectPatch, swapPositions) to facilitate state updates, alongside a new Repository pattern (RepositoryCommands, createRepositoryState) for managing collections of entities by ID. The Facade class is updated to support initial state configuration and exposes methods for observing state changes and destruction. Comprehensive test coverage is added for the new mutators, commands, and repository functionality.
modules/tydux/src · high confidence
Initial setup of the Tydux Angular demo application and library
The \tydux-angular\ module is introduced as a new standalone Angular application and library. The application provides a demo featuring a todo list, utilizing the \@w11k/tydux\ state management library via \provideTydux\ and \TyduxModule\. The setup includes full project configuration (Nx, Jest, ESLint, Cypress), a \TodoService\ for fetching and updating todos, and components for rendering the list and context. This change establishes the foundational structure for the Angular integration of Tydux.
modules/tydux-angular · high confidence
Removals
Removal of plain demo application and build configuration
The plain demo application, including the main component logic and the associated webpack build configuration, has been removed from the repository. This eliminates the ability to run or build this specific demo example.
demos, demos/plain · high confidence
Behavioural changes
Removed legacy Store implementation and associated test files
The legacy \Store\ class and its corresponding test file (\Store.test.ts\) have been removed from the \src\ directory. This change eliminates the previous state management implementation, which relied on \icepick\ and \lodash\, in favor of newer abstractions such as \UnboundedObservable\ and \Mutator\-based mutations. The removal includes the \enableDevelopmentMode\ function, the \select\ and \action\ methods on the store, and the associated type definitions, indicating a significant architectural shift in how state is observed and mutated within the application.
src · high confidence
Updated and expanded release automation script
The dev/publish.sh script has been significantly expanded to include a full build, test, and publish workflow, including fetching the latest master branch, building the library, running all tests, creating a git tag for the current version, and publishing the package to the public npm registry. The old dev/update\_libs.sh script was removed.
dev · high confidence
Test coverage
Removed legacy Mocha test configuration and setup files
The test suite configuration file (spec/mocha.opts) and the global test setup file (spec/setup.js) have been removed. This eliminates the previous Mocha-based test runner setup, which included specific reporter and timeout configurations, as well as the global assertion library initialization.
spec · high confidence
Dependencies
Updated Tydux and related library dependencies
The Tydux core library has been updated to version 17.0.0, which now depends on @w11k/rx-ninja ^5.0.0 and requires immer \>= 9.0.0. The React integration (@w11k/tydux-react) has been updated to version 0.0.4, requiring @w11k/tydux \>= 14 and React \>= 16.8.0. The Angular integration (@w11k/tydux-angular) is now at version 16.0.0, requiring @w11k/tydux ^17.0.0. Additionally, the legacy 'typux' package.json has been removed.
(dependencies) · 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
Score
- CAI 55 → 52 (-2.9)
- Rubric changed (rubric-2026.08.19 → rubric-2026.09.15) — scores are not directly comparable.
Lenses
- Code Health 78 → 79 (+0.7)
- Architecture 88 → 86 (-1.9)
- Maturity 46 → 47 (+1.4)
- Readiness 45 → 41 (-3.4)
- Security 75 → 71 (-4.0)
Resolved (56)
- Coverage not included — suite not readable by the collector
- Critical CVE: [GHSA redacted] (modules/tydux-angular/package-lock.json)
- Critical CVE: [GHSA redacted] (modules/tydux-angular/package-lock.json)
- Critical CVE: [GHSA redacted] (modules/tydux-react/package-lock.json)
- Critical CVE: [GHSA redacted] (modules/tydux/package-lock.json)
- Critical CVE: [GHSA redacted] (modules/tydux-angular/package-lock.json)
- Critical CVE: [GHSA redacted] (modules/tydux-angular/package-lock.json)
- Critical CVE: [GHSA redacted] (modules/tydux-react/package-lock.json)
- Critical CVE: [GHSA redacted] (modules/tydux-angular/package-lock.json)
- Critical CVE: [GHSA redacted] (modules/tydux-react/package-lock.json)
- Critical CVE: [GHSA redacted] (modules/tydux-angular/package-lock.json)
- Critical CVE: [GHSA redacted] (modules/tydux-react/package-lock.json)
- Dependency hygiene not measured — no supported dependency manifest was read
- High CVE: [GHSA redacted] (modules/tydux-angular/package-lock.json)
- High CVE: [GHSA redacted] (modules/tydux-angular/package-lock.json)
- High CVE: [GHSA redacted] (modules/tydux-angular/package-lock.json)
- High CVE: [GHSA redacted] (modules/tydux-angular/package-lock.json)
- High CVE: [GHSA redacted] (modules/tydux-angular/package-lock.json)
- High CVE: [GHSA redacted] (modules/tydux-react/package-lock.json)
- High CVE: [GHSA redacted] (modules/tydux-angular/package-lock.json)
- …and 36 more
New (143)
- Critical CVE: [GHSA redacted] (modules/tydux-angular/package-lock.json)
- Critical CVE: [GHSA redacted] (modules/tydux-angular/package-lock.json)
- Critical CVE: [GHSA redacted] (modules/tydux-react/package-lock.json)
- Critical CVE: [GHSA redacted] (modules/tydux/package-lock.json)
- Critical CVE: [GHSA redacted] (modules/tydux-angular/package-lock.json)
- Critical CVE: [GHSA redacted] (modules/tydux-angular/package-lock.json)
- Critical CVE: [GHSA redacted] (modules/tydux-react/package-lock.json)
- Critical CVE: [GHSA redacted] (modules/tydux-angular/package-lock.json)
- Critical CVE: [GHSA redacted] (modules/tydux-react/package-lock.json)
- Critical CVE: [GHSA redacted] (modules/tydux-angular/package-lock.json)
- Critical CVE: [GHSA redacted] (modules/tydux-react/package-lock.json)
- Documentation: no installation or build instructions (README.md)
- Documentation: no usage examples (README.md)
- High CVE: [GHSA redacted] (modules/tydux-angular/package-lock.json)
- High CVE: [GHSA redacted] (modules/tydux-angular/package-lock.json)
- High CVE: [GHSA redacted] (modules/tydux-angular/package-lock.json)
- High CVE: [GHSA redacted] (modules/tydux-angular/package-lock.json)
- High CVE: [GHSA redacted] (modules/tydux-angular/package-lock.json)
- High CVE: [GHSA redacted] (modules/tydux-react/package-lock.json)
- High CVE: [GHSA redacted] (modules/tydux-angular/package-lock.json)
- …and 123 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
w11k/Tydux 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 21 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 d8d86b233c2904c1b1860c3982da6523c680c579 — 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-b84573e22831.