From 247e94dc5be59a1dfbcdc83300956b364f1fc66a Mon Sep 17 00:00:00 2001 From: Robin Lopez Date: Fri, 25 Sep 2026 11:13:44 +0200 Subject: [PATCH] FSHSP-226 fix(schematics): align @schematics/angular with @angular-devkit/schematics #156 moved @angular-devkit/schematics to 22.1.8 while @schematics/angular, filed in Dependabot's dev-tooling group, stayed at 22.1.7 with its own 22.1.7 devkit. Two incompatible `Rule` types: `schematics:build` fails, so the publish workflow's verify job would stop before any release. Bump @schematics/angular to 22.1.8, move it to the angular group so it follows the devkit, and build the schematics in PR checks: nothing did before, which is how #156 went green. --- .github/dependabot.yml | 5 ++++ .github/workflows/pr-checks.yml | 6 ++++ package.json | 2 +- pnpm-lock.yaml | 51 ++------------------------------- 4 files changed, 14 insertions(+), 50 deletions(-) diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 03a1fc81..11118da6 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -23,10 +23,14 @@ updates: schedule: interval: 'weekly' groups: + # FSHSP-226: `@schematics/angular` returns the `Rule` type of ITS `@angular-devkit/schematics`: + # left in `dev-tooling`, it lagged one patch behind the devkit and + # `schematics:build` failed on two incompatible `Rule` types. angular: patterns: - '@angular/*' - '@angular-devkit/*' + - '@schematics/angular' - 'angular-eslint' storybook: patterns: @@ -46,6 +50,7 @@ updates: exclude-patterns: - '@angular/*' - '@angular-devkit/*' + - '@schematics/angular' - 'angular-eslint' - '@storybook/*' - '@storybook-community/*' diff --git a/.github/workflows/pr-checks.yml b/.github/workflows/pr-checks.yml index 2fd689fb..fbcd466d 100644 --- a/.github/workflows/pr-checks.yml +++ b/.github/workflows/pr-checks.yml @@ -120,6 +120,12 @@ jobs: - name: Token pipeline tests run: pnpm tokens:test + # FSHSP-226: only the publish workflow used to build the schematics, so a PR could + # break the release with every check here green: `@schematics/angular` + # one patch behind `@angular-devkit/schematics` did, on two `Rule` types. + - name: Build the schematics package + run: pnpm schematics:build + # `postinstall` has just regenerated everything `docs:config` produces, so # this step looks redundant. It is not — it enforces two things nothing # else does: diff --git a/package.json b/package.json index 7b3e3118..23a119dc 100644 --- a/package.json +++ b/package.json @@ -62,7 +62,7 @@ "@figma/code-connect": "1.5.3", "@inquirer/prompts": "7.0.0", "@modelcontextprotocol/sdk": "1.30.0", - "@schematics/angular": "22.1.7", + "@schematics/angular": "22.1.8", "@storybook-community/storybook-dark-mode": "7.1.4", "@storybook/addon-a11y": "10.6.0", "@storybook/addon-designs": "11.1.4", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index cab09e23..2966d305 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -82,8 +82,8 @@ importers: specifier: 1.30.0 version: 1.30.0(supports-color@8.1.1)(zod@4.4.3) '@schematics/angular': - specifier: 22.1.7 - version: 22.1.7(chokidar@4.0.3) + specifier: 22.1.8 + version: 22.1.8(chokidar@4.0.3) '@storybook-community/storybook-dark-mode': specifier: 7.1.4 version: 7.1.4(@storybook/addon-docs@10.6.0(@types/react@19.2.18)(storybook@10.6.0(@types/react@19.2.18)(prettier@3.9.6)(react@19.2.8)))(react@19.2.8)(storybook@10.6.0(@types/react@19.2.18)(prettier@3.9.6)(react@19.2.8)) @@ -267,15 +267,6 @@ packages: chokidar: optional: true - '@angular-devkit/core@22.1.7': - resolution: {integrity: sha512-RKayeOOjhcIe/iBOM1fmtI5pjXwBEJh+u55VnSeIwYvFNXyxI0/jdRw4T6uhwusQ+1bzyya4d8q1mT9oaOQ/5A==} - engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} - peerDependencies: - chokidar: ^5.0.0 - peerDependenciesMeta: - chokidar: - optional: true - '@angular-devkit/core@22.1.8': resolution: {integrity: sha512-34lsgg2FwMVBX7nR/ZqzRUcdvdYPvSB8XAEr2GudXAyZwLI9ehzfQlagAWR/gEb8p4uCFZW0r7uU0toxydq4Rw==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} @@ -289,10 +280,6 @@ packages: resolution: {integrity: sha512-i/h2Oji5FhJMC7wDSnIl5XUe/qym+C1ZwScaATJwDyRLCUIynZkj5rLgdG/uK6l+H0PgvxigkF+akWpokkwW6w==} engines: {node: ^18.19.1 || ^20.11.1 || >=22.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} - '@angular-devkit/schematics@22.1.7': - resolution: {integrity: sha512-KOcVeT4MCsoPt6AMnXH7AbWZnzlKXhMyua2ITWij4UbLaNWCDwfIug/xrZssYLHUFwebCIqsR8iuG/BPH8Cz2w==} - engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} - '@angular-devkit/schematics@22.1.8': resolution: {integrity: sha512-Pv3cPa/44kvEwYcqwx4Ns5dhIDmcFNSHhbpheqiEG1Z/u4e2t4zHKDtE3eHZB+8o+IcC7xJj+d+AqGR44RoZDA==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} @@ -3833,10 +3820,6 @@ packages: engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true - '@schematics/angular@22.1.7': - resolution: {integrity: sha512-acBv147JjnwtWFgC8Af0KFBzPpb/TWaYxoWN/Ou3pXtUhYiEqnrdJeoFz3ssDw26eKFIdWnVBLB/dHORBykPBg==} - engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} - '@schematics/angular@22.1.8': resolution: {integrity: sha512-V37T9uHOQVHyxxOqwcJ9xjSIW/mW9UuSfjOc7WJE4V8+3zj0abDJLHuoxDZKe0icYGapgOcvHyYjtNOjSeSivw==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} @@ -9568,17 +9551,6 @@ snapshots: optionalDependencies: chokidar: 4.0.3 - '@angular-devkit/core@22.1.7(chokidar@4.0.3)': - dependencies: - ajv: 8.20.0 - ajv-formats: 3.0.1(ajv@8.20.0) - jsonc-parser: 3.3.1 - picomatch: 4.0.5 - rxjs: 7.8.2 - source-map: 0.7.6 - optionalDependencies: - chokidar: 4.0.3 - '@angular-devkit/core@22.1.8(chokidar@4.0.3)': dependencies: ajv: 8.20.0 @@ -9600,16 +9572,6 @@ snapshots: transitivePeerDependencies: - chokidar - '@angular-devkit/schematics@22.1.7(chokidar@4.0.3)': - dependencies: - '@angular-devkit/core': 22.1.7(chokidar@4.0.3) - jsonc-parser: 3.3.1 - magic-string: 1.0.0 - ora: 9.4.1 - rxjs: 7.8.2 - transitivePeerDependencies: - - chokidar - '@angular-devkit/schematics@22.1.8(chokidar@4.0.3)': dependencies: '@angular-devkit/core': 22.1.8(chokidar@4.0.3) @@ -13152,15 +13114,6 @@ snapshots: '@napi-rs/lzma-linux-x64-gnu': 1.5.1 fsevents: 2.3.3 - '@schematics/angular@22.1.7(chokidar@4.0.3)': - dependencies: - '@angular-devkit/core': 22.1.7(chokidar@4.0.3) - '@angular-devkit/schematics': 22.1.7(chokidar@4.0.3) - jsonc-parser: 3.3.1 - typescript: 6.0.3 - transitivePeerDependencies: - - chokidar - '@schematics/angular@22.1.8(chokidar@4.0.3)': dependencies: '@angular-devkit/core': 22.1.8(chokidar@4.0.3)