Tags: hypertrace/hyperdash-angular
Tags
AUI-51 / Feat: Upgrade to Angular 21, Vitest, standalone, oxfmt (#1420) * feat!: update packages to 21, make standalone, switch from jest to vite - Upgrade all @angular/* packages from v20 to v21 - Replace @angular-builders/jest with @angular/build:unit-test (Vitest runner) - Upgrade RxJS from v6 to v7, add npm overrides for @hypertrace/hyperdash peer dep - Make all library and app components/directives/pipes standalone - Remove deprecated APIs: ComponentFactoryResolver, HttpClientTestingModule, *ngIf/*ngFor - Replace zone-dependent test utilities (fakeAsync/tick) with Vitest fake timers - Remove @ngneat/spectator, zone.js, and all Jest-related dependencies BREAKING CHANGE: Update Angular to v21, RxJS to v7, make components standalone, switch from Jest to Vitest * chore: change from prettier to oxfmt * fix: fix broken test under node 20 * docs: update README for Vitest and fix commit command * chore: remove check overrides * test: replace istanbul comments with v8 comments * test: make test components standalone * fix: restore RxJS 6 compatibility for Angular 21 Revert the branch to RxJS 6 and align published peer constraints with upstream hyperdash requirements. Add a shared Vitest runner config so Angular 21 tests resolve correctly when RxJS 6 is installed. * chore: remove redundant standalone directive * chore: remove redundant standlone metadata * chore: remove Codecov * chore: clean up stale tooling artifacts and review findings - Remove eslint-config-prettier and its ESLint extends entry (replaced by oxfmt) - Remove ts-node devDependency (no longer needed after Jest→Vitest) - Remove stale .vscode/launch.json (referenced deleted Jest config) - Remove emitDecoratorMetadata from tsconfig (unnecessary for Angular) - Remove duplicate deserialization-manager.service export in public_api - Remove vestigial standalone param from mockDirective test utility - Widen rxjs peer dependency to ^6.5.5 || ^7.0.0 - Enable @angular-eslint/prefer-standalone lint rule - Add non-standalone renderer backward compatibility test - Add util/ to coverage exclusions (types-only files) - Update README with Angular 21 prerequisites and RxJS 6+7 support * fix: filter pre-commit hook to formattable file types * chore: change to node 22 * chore: migrate from npm to pnpm Replace npm with pnpm as the package manager across the repo: - Add packageManager field and pnpm config to package.json - Add ci script for frozen-lockfile installs - Update CI workflows to use pnpm with node_modules caching - Align publish workflow to Node 22 - Replace package-lock.json with pnpm-lock.yaml - Update CLAUDE.md command references * fix: approve lmdb and msgpackr-extract build scripts for pnpm These native addons are transitive dependencies of @parcel/watcher used by the Angular build toolchain. Without their build scripts running, native bindings aren't compiled, causing AOT compilation issues in CI.
PreviousNext