use latest @shiftcode dependencies + node 24#79
Merged
michaelwittwer merged 34 commits intomainfrom Mar 18, 2026
Merged
Conversation
simplify configs
and get rid of ts-node
There was a problem hiding this comment.
Pull request overview
This PR modernizes the workspace tooling and runtime targets while updating @shiftcode/* dependencies, including a migration from Jest to Vitest for unit tests and a shift toward ESM (type: module) + Node 24.
Changes:
- Switch Angular unit testing from Jest to Vitest (
@angular/build:unit-testrunner), updating specs accordingly and removing Jest config/types. - Update build/lint/format tooling (ESLint flat configs, lint-staged/prettier/commitlint configs) and raise the target runtime/library baseline (Node 24, ES2022 + ES2023.Array).
- Add new logger features (custom transport + global error handler) and export them via the public API.
Reviewed changes
Copilot reviewed 70 out of 75 changed files in this pull request and generated 13 comments.
Show a summary per file
| File | Description |
|---|---|
| tsconfig.spec.json | Removes ts-jest-specific config from spec TS config. |
| tsconfig.json | Updates TS libs to include ES2023 array + DOM. |
| scripts/tsconfig.json | Adds a new TS config for scripts (NodeNext). |
| scripts/ts/tsconfig.json | Removes legacy scripts TS config. |
| scripts/ts/copy-version.ts | Removes legacy ts-node-based copy-version script. |
| scripts/copy-version.ts | Adds new async (promises-based) version sync script. |
| prettier.config.js | Adds Prettier config as JS module export. |
| package.json | Updates dependencies/tooling, switches to ESM, adjusts scripts, pins Node engine to ^24. |
| lint-staged.config.js | Adds root lint-staged configuration. |
| libs/core/tsconfig.spec.json | Drops Jest types from core spec TS config. |
| libs/core/tsconfig.lint.json | Updates lint TS config include/types/baseUrl. |
| libs/core/test/mock-storage.ts | Adds ESLint rule suppression header. |
| libs/core/src/public-api.ts | Exports new logger feature helpers. |
| libs/core/src/lib/ui-events/ui-event.service.spec.ts | Migrates spec to Vitest APIs/imports. |
| libs/core/src/lib/static-utils/to-promise.function.spec.ts | Migrates spec to Vitest imports. |
| libs/core/src/lib/static-utils/rxjs/wrap-into-observable.spec.ts | Migrates spec to Vitest and adjusts async test structure. |
| libs/core/src/lib/static-utils/rxjs/tap-previous.operator.spec.ts | Replaces Jest mocks with Vitest (vi). |
| libs/core/src/lib/static-utils/rxjs/tap-last.operator.spec.ts | Replaces Jest mocks with Vitest (vi). |
| libs/core/src/lib/static-utils/rxjs/setup.operator.spec.ts | Replaces Jest mocks with Vitest (vi). |
| libs/core/src/lib/static-utils/rxjs/select.operator.spec.ts | Replaces Jest mocks with Vitest (vi). |
| libs/core/src/lib/static-utils/rxjs/on-destroy.observable.spec.ts | Migrates spec to Vitest and replaces Jest spies with vi. |
| libs/core/src/lib/static-utils/rxjs/filter-if-truthy.operator.spec.ts | Migrates spec to Vitest and updates async handling. |
| libs/core/src/lib/static-utils/rxjs/filter-if-instance-of.operator.spec.ts | Migrates spec to Vitest and replaces Jest mocks with vi. |
| libs/core/src/lib/static-utils/rxjs/filter-if-falsy.operator.spec.ts | Migrates spec to Vitest and replaces Jest mocks with vi. |
| libs/core/src/lib/static-utils/resolve-fn-to-can-activate-fn.function.spec.ts | Migrates spec to Vitest imports. |
| libs/core/src/lib/static-utils/jwt-helper.spec.ts | Migrates spec to Vitest imports. |
| libs/core/src/lib/static-utils/is-input-element.function.spec.ts | Migrates spec to Vitest imports. |
| libs/core/src/lib/script-loader/script-loader.service.spec.ts | Migrates spec to Vitest imports. |
| libs/core/src/lib/origin/provide-origin-from-env.function.spec.ts | Migrates spec to Vitest and converts it to test. |
| libs/core/src/lib/origin/ensure-origin.interceptor.spec.ts | Migrates spec to Vitest and replaces Jest mocks with vi. |
| libs/core/src/lib/logger/with-error-handler.function.ts | Adds new logger feature to register a global Angular ErrorHandler. |
| libs/core/src/lib/logger/with-custom-log-transport.function.ts | Adds new logger feature to register custom LogTransport. |
| libs/core/src/lib/logger/with-custom-log-transport.function.spec.ts | Adds Vitest coverage for custom transport feature. |
| libs/core/src/lib/logger/remote/remote-log.service.spec.ts | Migrates remote logger tests to Vitest. |
| libs/core/src/lib/logger/logger.service.spec.ts | Migrates logger service tests to Vitest. |
| libs/core/src/lib/logger/logger-feature-kind.enum.ts | Extends feature kind enum with GLOBAL_ERROR_HANDLER. |
| libs/core/src/lib/logger/logger-error-handler.ts | Adds LoggerErrorHandler implementation. |
| libs/core/src/lib/logger/logger-error-handler.spec.ts | Adds Vitest coverage for LoggerErrorHandler integration. |
| libs/core/src/lib/logger/helper/logging-time-format.const.spec.ts | Migrates spec to Vitest and converts it to test. |
| libs/core/src/lib/logger/helper/leading-zero.function.spec.ts | Migrates spec to Vitest imports. |
| libs/core/src/lib/local-storage/local-storage.service.spec.ts | Migrates spec to Vitest and updates spy types. |
| libs/core/src/lib/http/http-date.interceptor.spec.ts | Migrates spec to Vitest and updates spy types. |
| libs/core/package.json | Bumps package version, sets ESM, updates peers/engines. |
| libs/core/lint-staged.config.js | Adds package-level lint-staged configuration. |
| libs/core/jest.config.js | Removes Jest config for core. |
| libs/core/eslint.config.js | Adds ESLint flat config for core. |
| libs/core/eslint-suppressions.json | Updates suppressions after tooling changes. |
| libs/core/README.md | Documents Node 24 + ES2022/ES2023.Array targets. |
| libs/core/.lintstagedrc.yml | Removes legacy lint-staged YAML config. |
| libs/components/tsconfig.spec.json | Drops Jest types and adds path mapping for core in specs. |
| libs/components/tsconfig.lint.json | Updates lint TS config include/types/baseUrl and path mapping. |
| libs/components/src/lib/tooltip/tooltip.directive.ts | Updates tooltip input aliasing / eslint suppression placement. |
| libs/components/src/lib/svg/svg-registry.service.spec.ts | Adds new Vitest coverage for SvgRegistry service. |
| libs/components/package.json | Bumps package version, sets ESM, updates peers/engines. |
| libs/components/lint-staged.config.js | Adds package-level lint-staged configuration. |
| libs/components/jest.config.js | Removes Jest config for components. |
| libs/components/eslint.config.js | Adds ESLint flat config for components. |
| libs/components/README.md | Documents Node 24 + ES2022/ES2023.Array targets. |
| libs/components/.lintstagedrc.yml | Removes legacy lint-staged YAML config. |
| lerna.json | Bumps lerna-managed version. |
| commitlint.config.js | Adds commitlint config as JS module export. |
| apps/styleguide/package.json | Adds version + ESM type, adjusts package.json layout. |
| apps/styleguide/lint-staged.config.js | Adds app-level lint-staged configuration. |
| apps/styleguide/eslint.config.js | Adds ESLint flat config for styleguide. |
| apps/styleguide/eslint-suppressions.json | Adds (empty) suppressions file for styleguide. |
| apps/styleguide/.lintstagedrc.yml | Removes legacy lint-staged YAML config. |
| angular.json | Switches test builder to @angular/build:unit-test with Vitest runner; adds development configs. |
| README.md | Documents Node 24 + ES2022/ES2023.Array targets and updates version mapping. |
| .prettierrc.yml | Removes legacy Prettier YAML config. |
| .nvmrc | Updates Node version selection for local/CI tooling. |
| .lintstagedrc.yml | Removes legacy root lint-staged YAML config. |
| .husky/pre-commit | Changes pre-commit hook to run only root lint-staged. |
| .github/workflows/main.yml | Updates workflow actions pinning, auth, permissions, and publish flow. |
| .commitlintrc.yml | Removes legacy commitlint YAML config. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
BREAKING CHANGE: Requires Node >=24
8dd40ab to
50beb3a
Compare
BREAKING CHANGE: - requires @shiftcode/logger@^5.0.0 - requires @shiftcode/utilities@^5.0.0
BREAKING CHANGE: - requires @shiftcode/logger@^5.0.0 - requires @shiftcode/ngx-core@^15.0.0
Closed
5 tasks
This was
linked to
issues
Mar 18, 2026
Closed
michaelwittwer
approved these changes
Mar 18, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.