chore(deps): Node dev-tooling majors — concurrently 10, lint-staged 17, @babel/preset-typescript 8 #234

Closed
opened 2026-06-17 02:57:56 +00:00 by spikerj · 3 comments
Owner

Goal

Dev-only major bumps that don't touch the Angular runtime. Independent of the framework epic; can be done together or split.

Bumps (current → latest)

Package Current Latest Notes
concurrently 9.2.1 10.0.3 check CLI flags used in npm scripts
lint-staged 16.4.0 17.0.7 check config shape + husky pre-commit hook
@babel/preset-typescript 7.28.5 8.0.0 used by SWC/test transform path

Risks to check

  • concurrently 10: verify any flags we pass in package.json scripts (e.g. -k, -n, -c, --kill-others) are unchanged.
  • lint-staged 17: confirm our lint-staged config + the husky pre-commit hook still run prettier on staged files; review the v17 changelog for config/exit-code changes.
  • @babel/preset-typescript 8: requires Babel 8 core peers — confirm nothing else pins Babel 7. Verify the vitest/SWC transform pipeline still compiles specs.

Validation

  • pnpm install clean
  • Pre-commit hook works (stage a file, commit, confirm prettier runs)
  • pnpm test-all green
  • nx build spikersoft succeeds
  • npm scripts using concurrently run as before

Fixes land in spikersoft-angular.

## Goal Dev-only major bumps that don't touch the Angular runtime. Independent of the framework epic; can be done together or split. ## Bumps (current → latest) | Package | Current | Latest | Notes | | --- | --- | --- | --- | | concurrently | 9.2.1 | 10.0.3 | check CLI flags used in npm scripts | | lint-staged | 16.4.0 | 17.0.7 | check config shape + husky pre-commit hook | | @babel/preset-typescript | 7.28.5 | 8.0.0 | used by SWC/test transform path | ## Risks to check - **concurrently 10**: verify any flags we pass in `package.json` scripts (e.g. `-k`, `-n`, `-c`, `--kill-others`) are unchanged. - **lint-staged 17**: confirm our `lint-staged` config + the husky `pre-commit` hook still run prettier on staged files; review the v17 changelog for config/exit-code changes. - **@babel/preset-typescript 8**: requires Babel 8 core peers — confirm nothing else pins Babel 7. Verify the vitest/SWC transform pipeline still compiles specs. ## Validation - `pnpm install` clean - Pre-commit hook works (stage a file, commit, confirm prettier runs) - `pnpm test-all` green - `nx build spikersoft` succeeds - npm scripts using `concurrently` run as before Fixes land in `spikersoft-angular`.
Author
Owner

Splitting this ticket. The concurrently 9→10 and lint-staged 16→17 bumps are in spikersoft-angular PR #70 (open). Both require a Node >=22 floor (lint-staged@17 needs >=22.22.1, concurrently@10 needs >=22); CI already runs Node 24.4.0 and prod is a static nginx image (no Node runtime), so PR #70 just bumps engines.node to >=22.

@babel/preset-typescript 7→8 deferred — it is not an isolated bump:

  • @babel/preset-typescript@8.0.1 peer-requires @babel/core@^8.0.0 (full Babel 8 migration).
  • babel.config.js also uses @babel/preset-env, which isn't even a direct dependency today.

So a clean preset-typescript 8 move means migrating the whole Babel toolchain to v8 (@babel/core, @babel/preset-env, etc.) and verifying whatever consumes babel.config.js (Storybook). Recommend keeping this ticket open scoped to the Babel 8 migration once PR #70 merges, or breaking it into its own ticket.

Splitting this ticket. The `concurrently` 9→10 and `lint-staged` 16→17 bumps are in spikersoft-angular PR #70 (open). Both require a **Node >=22** floor (`lint-staged@17` needs `>=22.22.1`, `concurrently@10` needs `>=22`); CI already runs Node 24.4.0 and prod is a static nginx image (no Node runtime), so PR #70 just bumps `engines.node` to `>=22`. **`@babel/preset-typescript` 7→8 deferred** — it is *not* an isolated bump: - `@babel/preset-typescript@8.0.1` peer-requires `@babel/core@^8.0.0` (full Babel 8 migration). - `babel.config.js` also uses `@babel/preset-env`, which isn't even a direct dependency today. So a clean preset-typescript 8 move means migrating the whole Babel toolchain to v8 (`@babel/core`, `@babel/preset-env`, etc.) and verifying whatever consumes `babel.config.js` (Storybook). Recommend keeping this ticket open scoped to the **Babel 8 migration** once PR #70 merges, or breaking it into its own ticket.
Author
Owner

Partial progress: spikersoft-angular PR #70 (merged) shipped the concurrently 9→10 and lint-staged 16→17 bumps plus the Node >=22 floor.

Still outstanding from this ticket's scope: @babel/preset-typescript 7.28.5 → 8.0.0 (confirmed still pinned at ^7.28.5 in package.json). Leaving open for that remaining bump.

Partial progress: spikersoft-angular PR #70 (merged) shipped the `concurrently` 9→10 and `lint-staged` 16→17 bumps plus the Node >=22 floor. Still outstanding from this ticket's scope: `@babel/preset-typescript` 7.28.5 → 8.0.0 (confirmed still pinned at `^7.28.5` in `package.json`). Leaving open for that remaining bump.
Author
Owner

Resolved in spikersoft-angular PR #161 (merged to master). Status of the three bumps: concurrently ^10.0.3 and lint-staged ^17.0.7 were already on master (v17 pre-commit verified live — prettier runs on staged files). @babel/preset-typescript turned out to be a dead Jest-era remnant rather than a bump candidate: babel.config.js referenced @babel/preset-env which was in neither package.json nor the lockfile (config could never resolve; the vitest transform path is SWC), so the orphaned dep and dead config were removed instead of a Babel 8 upgrade. Validation per the ticket checklist: pnpm install clean, nx build spikersoft green, nx test spikersoft 1871/1871, no npm script passes concurrently flags. Closing.

Resolved in spikersoft-angular PR #161 (merged to master). Status of the three bumps: concurrently ^10.0.3 and lint-staged ^17.0.7 were already on master (v17 pre-commit verified live — prettier runs on staged files). @babel/preset-typescript turned out to be a dead Jest-era remnant rather than a bump candidate: babel.config.js referenced @babel/preset-env which was in neither package.json nor the lockfile (config could never resolve; the vitest transform path is SWC), so the orphaned dep and dead config were removed instead of a Babel 8 upgrade. Validation per the ticket checklist: pnpm install clean, nx build spikersoft green, nx test spikersoft 1871/1871, no npm script passes concurrently flags. Closing.
Sign in to join this conversation.