Skip to content

feat!: angular-eslint v19 #2109

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 13 commits into from
Nov 29, 2024
Merged

feat!: angular-eslint v19 #2109

merged 13 commits into from
Nov 29, 2024

Conversation

JamesHenry
Copy link
Member

@JamesHenry JamesHenry commented Nov 19, 2024

⚠️ WIP - more breaking changes will come. Use the prereleases at your own risk, there will be no migrations between prereleases, only between v18 stable and v19 stable.

TODOs:

  • update to latest Angular v19 prerelease
  • update to TS 5.6
  • remove deprecated prefer-standalone-component rule (has been replaced by prefer-standalone for some time
  • remove deprecated no-host-metadata rule as the recommendation from the Angular Team has now inverted
  • remove deprecated sort-ngmodule-metadata-arrays rule. It has been deprecated for some time and was never reliable because of the way ESLint works. Additionally, particularly in v19 of Angular, NgModules are far less emphasized/encouraged in general.
  • update to Angular v19 stable once it is released
  • allow running ng add angular-eslint and ng update angular-eslint
    • verify the prereleases with the various package managers, some users seem to be indicating pnpm is not happy with this style
  • allow referencing angular-eslint as the schematics collection
  • update existing rules to take into account standalone is now true by default
  • merge feat(eslint-plugin): new rule prefer-signals #1872
  • Release final v18 angular-eslint
  • Promote prefer-standalone rule to recommended in @angular-eslint/eslint-plugin

@JamesHenry JamesHenry self-assigned this Nov 19, 2024
@JamesHenry JamesHenry added the BREAKING CHANGE This is a breaking change and should only be released as part of a new major version label Nov 19, 2024
Copy link

nx-cloud bot commented Nov 19, 2024

☁️ Nx Cloud Report

CI is running/has finished running commands for commit 960bc68. As they complete they will appear below. Click to see the status, the terminal output, and the build insights.

📂 See all runs for this CI Pipeline Execution


✅ Successfully ran 7 targets

Sent with 💌 from NxCloud.

@JamesHenry JamesHenry changed the title feat!: Angular 19 support feat!: angular-eslint v19 Nov 19, 2024
@JamesHenry JamesHenry mentioned this pull request Nov 19, 2024
1 task
Copy link

codecov bot commented Nov 19, 2024

Codecov Report

Attention: Patch coverage is 89.83051% with 6 lines in your changes missing coverage. Please review.

Project coverage is 90.73%. Comparing base (9ee1652) to head (960bc68).
Report is 13 commits behind head on main.

Files with missing lines Patch % Lines
packages/eslint-plugin/src/rules/prefer-signals.ts 91.11% 2 Missing and 2 partials ⚠️
...kages/eslint-plugin/src/rules/prefer-standalone.ts 50.00% 0 Missing and 2 partials ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #2109      +/-   ##
==========================================
- Coverage   90.89%   90.73%   -0.17%     
==========================================
  Files         181      177       -4     
  Lines        3527     3508      -19     
  Branches      588      592       +4     
==========================================
- Hits         3206     3183      -23     
- Misses        169      171       +2     
- Partials      152      154       +2     
Flag Coverage Δ
unittest 90.73% <89.83%> (-0.17%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

Files with missing lines Coverage Δ
packages/eslint-plugin/src/index.ts 71.18% <ø> (-1.40%) ⬇️
.../eslint-plugin/tests/rules/prefer-signals/cases.ts 100.00% <100.00%> (ø)
...lint-plugin/tests/rules/prefer-standalone/cases.ts 100.00% <ø> (ø)
...tics/src/migrations/update-14-0-0/update-14-0-0.ts 100.00% <100.00%> (ø)
packages/schematics/src/ng-add/index.ts 77.50% <ø> (ø)
packages/schematics/src/utils.ts 78.04% <ø> (ø)
...kages/eslint-plugin/src/rules/prefer-standalone.ts 82.60% <50.00%> (-8.31%) ⬇️
packages/eslint-plugin/src/rules/prefer-signals.ts 91.11% <91.11%> (ø)

@JamesHenry JamesHenry force-pushed the next-major-release/v19 branch from 3dbbf3f to 5df0fc3 Compare November 29, 2024 19:20
@JamesHenry JamesHenry marked this pull request as ready for review November 29, 2024 20:36
@JamesHenry JamesHenry merged commit 6971819 into main Nov 29, 2024
11 of 12 checks passed
@JamesHenry JamesHenry deleted the next-major-release/v19 branch November 29, 2024 20:41
FrozenPandaz pushed a commit to nrwl/nx that referenced this pull request Dec 2, 2024
## Third-party deps support for Angular v19

- [x] `jest-preset-angular`
  - [x] PRs:
    - [x] thymikee/jest-preset-angular#2835
  - [x] Released:
- [x] RC:
https://github.com/thymikee/jest-preset-angular/releases/tag/v14.4.0-rc.0
- [x] Stable:
https://github.com/thymikee/jest-preset-angular/releases/tag/v14.4.0
- [x] Angular ESLint
  - [x] PRs:
    - [x] angular-eslint/angular-eslint#2109
  - [x] Released:
- [x]
https://github.com/angular-eslint/angular-eslint/releases/tag/v19.0.0
- [x] Storybook
  - [x] PRs:
    - [x] storybookjs/storybook#29659
    - [x] storybookjs/storybook#29677
  - [x] Released:
    - [x] storybookjs/storybook#29679
- [ ] NgRx
  - [x] PRs:
    - [x] ngrx/platform#4602
  - [ ] Released:
- [x] Beta:
https://github.com/ngrx/platform/blob/main/CHANGELOG.md#1900-beta0-2024-11-20
    - [ ] Stable:
- [ ] Analog
  - [x] PRs:
    - [x] analogjs/analog#1447
    - [x] analogjs/analog#1451
  - [ ] Released:
- [x] Beta:
https://github.com/analogjs/analog/releases/tag/v1.10.0-beta.6
    - [ ] Stable:

<!-- Please make sure you have read the submission guidelines before
posting an PR -->
<!--
https://github.com/nrwl/nx/blob/master/CONTRIBUTING.md#-submitting-a-pr
-->

<!-- Please make sure that your commit message follows our format -->
<!-- Example: `fix(nx): must begin with lowercase` -->

<!-- If this is a particularly complex change or feature addition, you
can request a dedicated Nx release for this pull request branch. Mention
someone from the Nx team or the `@nrwl/nx-pipelines-reviewers` and they
will confirm if the PR warrants its own release for testing purposes,
and generate it for you if appropriate. -->

## Current Behavior
<!-- This is the behavior we have today -->

Angular v19 is not supported.

## Expected Behavior
<!-- This is the behavior we should expect with the changes in this PR
-->

Angular v19 should be supported.

## Related Issue(s)
<!-- Please link the issue being fixed so it gets closed when this is
merged. -->
 
Fixes #29028
isaacplmann pushed a commit to nrwl/nx that referenced this pull request Feb 11, 2025
- [x] `jest-preset-angular`
  - [x] PRs:
    - [x] thymikee/jest-preset-angular#2835
  - [x] Released:
- [x] RC:
https://github.com/thymikee/jest-preset-angular/releases/tag/v14.4.0-rc.0
- [x] Stable:
https://github.com/thymikee/jest-preset-angular/releases/tag/v14.4.0
- [x] Angular ESLint
  - [x] PRs:
    - [x] angular-eslint/angular-eslint#2109
  - [x] Released:
- [x]
https://github.com/angular-eslint/angular-eslint/releases/tag/v19.0.0
- [x] Storybook
  - [x] PRs:
    - [x] storybookjs/storybook#29659
    - [x] storybookjs/storybook#29677
  - [x] Released:
    - [x] storybookjs/storybook#29679
- [ ] NgRx
  - [x] PRs:
    - [x] ngrx/platform#4602
  - [ ] Released:
- [x] Beta:
https://github.com/ngrx/platform/blob/main/CHANGELOG.md#1900-beta0-2024-11-20
    - [ ] Stable:
- [ ] Analog
  - [x] PRs:
    - [x] analogjs/analog#1447
    - [x] analogjs/analog#1451
  - [ ] Released:
- [x] Beta:
https://github.com/analogjs/analog/releases/tag/v1.10.0-beta.6
    - [ ] Stable:

<!-- Please make sure you have read the submission guidelines before
posting an PR -->
<!--
https://github.com/nrwl/nx/blob/master/CONTRIBUTING.md#-submitting-a-pr
-->

<!-- Please make sure that your commit message follows our format -->
<!-- Example: `fix(nx): must begin with lowercase` -->

<!-- If this is a particularly complex change or feature addition, you
can request a dedicated Nx release for this pull request branch. Mention
someone from the Nx team or the `@nrwl/nx-pipelines-reviewers` and they
will confirm if the PR warrants its own release for testing purposes,
and generate it for you if appropriate. -->

<!-- This is the behavior we have today -->

Angular v19 is not supported.

<!-- This is the behavior we should expect with the changes in this PR
-->

Angular v19 should be supported.

<!-- Please link the issue being fixed so it gets closed when this is
merged. -->

Fixes #29028
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
BREAKING CHANGE This is a breaking change and should only be released as part of a new major version
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants