nearform / nearform/angular-patterns-workshop

All 5 open Dependabot PRs are blocked behind an Angular 16→19 / Nx upgrade

Open
#632 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
TypeScript
Stars
0
Forks
1
Avg merge
1h 10m
Merged PRs (30d)
15

Description

I went through the five open Dependabot PRs to consolidate them and could not land any. Each is blocked by the repo's own tooling versions rather than by anything in the bump itself, so here is what I verified.

The baseline is healthy, for the record: npm ci, npm run lint, npm run test and npm run build all pass on master as-is.

cypress 13 — #630, #561

This looked like the one standalone bump, but:

@nx/cypress@16.3.2  peerDependencies.cypress: >= 3 < 13

npm refuses cypress 13 while @nx/cypress is on 16.x, so #630 needs an Nx upgrade first. #561 rides along with it (@cypress/request 3.x only ships inside cypress 13+).

@angular/cdk 19 — #631, and @angular-eslint 19 — #628

The app is on @angular/core@^16.2.7 / @angular/material@^16.2.7. @angular/cdk@19 requires Angular 19, so #631 is really "Angular 16 → 19" — three majors, with the CDK and Material migrations that come with them. #628 (@angular-eslint/template-parser 17 → 19) is the same story on the lint side.

@nx/linter 19 — #609

@nx/linter was renamed to @nx/eslint in Nx 18; the package Dependabot is bumping is a deprecated shim. This should not be bumped to 19 — it should be replaced by @nx/eslint as part of the Nx migration.

The underlying problem: the tooling is already split across three majors

This is worth fixing before any of the above, because it is what makes each bump land awkwardly:

Package Version
@angular/core, @angular/material, @angular/cdk, @angular/cli 16.x
@angular/language-service ~17.0.8
@angular-eslint/template-parser ~17.1.0
@angular-devkit/core ~18.0.6
@nx/angular 19.3.2
@nx/jest 17.1.2
@nx/cypress, @nx/eslint-plugin, @nx/linter 16.x

Nx spans 16, 17 and 19 simultaneously, and the Angular devkit is ahead of Angular itself.

Suggested order

  1. npx nx migrate latest to bring the whole Nx set onto one major, swapping @nx/linter@nx/eslint. That should also unblock cypress 13.
  2. ng update @angular/core @angular/cli one major at a time, 16 → 17 → 18 → 19, then @angular/material/@angular/cdk and @angular-eslint.
  3. Re-run the five Dependabot PRs; most should become no-ops.

I left all five open and made no changes to the repo.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the dependency versions listed in the issue and run npx nx migrate latest, then follow the Angular 16 → 17 → 18 → 19 update sequence. Re-run npm ci, npm run lint, npm run test, and npm run build after the migrations, then check whether the five Dependabot PRs can land or have become no-ops.

Written by the indexing model from the issue text.

Assessment

Tech stack
angular, cypress, typescript
Domain
build-system, frontend, testing, tooling
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.