Skip to content
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

Update Angular to v18 (major) #231

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented May 23, 2024

Mend Renovate

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
@angular-devkit/build-angular ^17.3.6 -> ^18.0.0 age adoption passing confidence
@angular-eslint/eslint-plugin (source) ^17.3.0 -> ^18.0.0 age adoption passing confidence
@angular/animations (source) ^17.3.6 -> ^18.0.0 age adoption passing confidence
@angular/cdk ^17.3.6 -> ^18.0.0 age adoption passing confidence
@angular/cli ^17.3.6 -> ^18.0.0 age adoption passing confidence
@angular/common (source) ^17.3.6 -> ^18.0.0 age adoption passing confidence
@angular/compiler (source) ^17.3.6 -> ^18.0.0 age adoption passing confidence
@angular/compiler-cli (source) ^17.3.6 -> ^18.0.0 age adoption passing confidence
@angular/core (source) ^17.3.6 -> ^18.0.0 age adoption passing confidence
@angular/fire ^17.0.1 -> ^18.0.0 age adoption passing confidence
@angular/forms (source) ^17.3.6 -> ^18.0.0 age adoption passing confidence
@angular/material ^17.3.6 -> ^18.0.0 age adoption passing confidence
@angular/platform-browser (source) ^17.3.6 -> ^18.0.0 age adoption passing confidence
@angular/platform-browser-dynamic (source) ^17.3.6 -> ^18.0.0 age adoption passing confidence
@angular/router (source) ^17.3.6 -> ^18.0.0 age adoption passing confidence
@angular/service-worker (source) ^17.3.6 -> ^18.0.0 age adoption passing confidence
angular-svg-icon ^17.0.0 -> ^18.0.0 age adoption passing confidence
ngx-build-plus ^17.0.0 -> ^18.0.0 age adoption passing confidence

Release Notes

angular/angular-cli (@​angular-devkit/build-angular)

v18.0.4

Compare Source

@​angular/build
Commit Type Description
791ef809d fix do not reference sourcemaps in web workers and global stylesheet bundles when hidden setting is enabled
20fc6ca05 fix generate module preloads next to script elements in index HTML
3a1bf5c8a fix Initiate PostCSS only once
78c611754 fix issue warning when auto adding @angular/localize/init

v18.0.3

Compare Source

@​angular/cli
Commit Type Description
b709d2a24 fix add schema.json options to parsed command, also when a version is passed to ng add <package>@&#8203;<version>
@​angular/build
Commit Type Description
43a2a7d13 fix avoid escaping rebased Sass URL values
9acb5c7ca fix disable JS transformer persistent cache on web containers
346df4909 fix improve Sass rebaser ident token detection
6526a5f59 fix watch all related files during a Sass error

v18.0.2

Compare Source

@​schematics/angular
Commit Type Description
9967c04b8 fix check both application builder packages in SSR schematic
92b48ab14 fix set builders assets option correctly for new applications
@​angular/build
Commit Type Description
3bb06c37d fix disable Worker wait loop for Sass compilations in web containers
c4cf35923 fix print Sass @warn location
352879804 fix support valid self-closing MathML tags in HTML index file
476f3084a fix support valid self-closing SVG tags in HTML index file
@​angular/pwa
Commit Type Description
acbffd236 fix set manifest icons location to match assets builder option

v18.0.1

Compare Source

@​schematics/angular
Commit Type Description
01842f515 fix use angular.dev in readme
@​angular/build
Commit Type Description
7d253e9cd fix avoid rebasing URLs with function calls
6b6a76a99 fix disable persistent disk caching inside webcontainers by default
ba70a50b6 fix handle esbuild-browser polyfills option as string during ng serve
706423aca fix only import persistent cache store with active caching

v18.0.0

Compare Source

Breaking Changes

@​angular/cli
  • The ng doc command has been removed without a replacement. To perform searches, please visit www.angular.dev
  • Node.js support for versions <18.19.1 and <20.11.1 has been removed.
@​angular-devkit/build-angular
  • By default, the index.html file is no longer emitted in the browser directory when using the application builder with SSR. Instead, an index.csr.html file is emitted. This change is implemented because in many cases server and cloud providers incorrectly treat the index.html file as a statically generated page. If you still require the old behavior, you can use the index option to specify the output file name.

    "architect": {
      "build": {
        "builder": "@&#8203;angular-devkit/build-angular:application",
        "options": {
          "outputPath": "dist/my-app",
          "index": {
            "input": "src/index.html",
            "output": "index.html"
          }
        }
      }
    }
  • The support for the legacy Sass build pipeline, previously accessible via NG_BUILD_LEGACY_SASS when utilizing webpack-based builders, has been removed.

Deprecations

@​angular-devkit/schematics
  • NodePackageLinkTask in @angular-devkit/schematics. A custom task should be created instead.
@​angular/cli
Commit Type Description
ac3019570 feat add ng dev alias to ng serve
4087728c3 feat support for Node.js v22
41ab6c8c3 fix add --version option
df4dde95d fix add @angular/build package to update group list
1039f6d79 fix change update guide link to angular.dev
f4670fcb1 fix eliminate prompts during ng version command
a99ec6a54 fix keep cli package first in update package group metadata
dd786d495 fix only add --version option on default command
03eee0545 refactor remove ng doc command
c7b208555 refactor remove support for Node.js versions <18.19.1 and <20.11.1
@​schematics/angular
Commit Type Description
b2ac5fac7 feat allow application migration to use new build package in projects where possible
6530aa11b feat replace assets with public directory
725883713 feat use eventCoalescing option by default (standalone bootstrap)
508d97da7 feat use ngZoneEventCoalescing option by default (module bootstrap)
f452589e2 feat use TypeScript bundler module resolution for new projects
95a4d6ee5 fix add less dependency in application migration if needed
c46aa084f fix add postcss dependency in application migration if needed
157329384 fix add spaces around eventCoalescing option
23cc337aa fix keep deployUrl option when migrating to application builder
@​angular-devkit/architect
Commit Type Description
ddd08efef fix resolve builder aliases from containing package
@​angular-devkit/build-angular
Commit Type Description
53c319aaa feat add support for the poll option in the library builder
83d1d233a feat enhance Sass rebasing importer for resources URL defined in variables and handling of external paths
d51cb598a feat inject event-dispatch in SSR HTML page
0b03829bc feat move i18n extraction for application builder to new build system package
4ffe07aa2 feat move Vite-based dev-server for application builder to new build system package
d1c632af9 feat support native async/await when app is zoneless
37fc7f0cc fix disable Vite prebundling when script optimizations are enabled
2acf95a94 fix do not generate an index.html file in the browser directory when using SSR.
8a54875cb fix handle wrapping of class expressions emitted by esbuild
97973059e refactor remove Sass legacy implementation
@​angular-devkit/schematics
Commit Type Description
797584583 refactor deprecate NodePackageLinkTask
@​angular/build
Commit Type Description
810d213e1 feat introduce new official build system package
b7a0792b3 fix add a maximum rendering timeout for SSG
411115303 fix add console note about development server raw file size
921fa7cf4 fix add missing ansi-colors and picomatch dependencies
791cf75af fix check both potential build packages in Angular version check
4d7cd5e3e fix correctly wrap class expressions with static properties or blocks emitted by esbuild
57f448a0f fix decode URL pathname decoding during SSG fetch
940e382db fix disable Vite prebundling when script optimizations are enabled
70dbc7a6e fix emit error for invalid self-closing element in index HTML
44b401747 fix ensure input index HTML file triggers rebuilds when changed
dff4deaeb fix ensure recreated files are watched
17931166d fix format sizes using decimal byte units consistently
2085365e0 fix only generate shallow preload links for initial files
33cd47c85 fix properly configure headers for media resources and HTML page
d10fece2c fix properly rebase Sass url() values with leading interpolations
3f2963835 perf add persistent caching of JavaScript transformations
a15eb7d1c perf improve rebuild time for file loader usage with prebundling

v17.3.8

Compare Source

@​angular/cli
Commit Type Description
3ada6eb52 fix clarify optional migration instructions during ng update
@​angular-devkit/schematics
Commit Type Description
4b6ba8df1 fix SchematicTestRunner.runExternalSchematic fails with "The encoded data was not valid for encoding utf-8"

v17.3.7

Compare Source

angular-eslint/angular-eslint (@​angular-eslint/eslint-plugin)

v18.0.1

Compare Source

🩹 Fixes
  • move typescript-eslint packages to peerDeps, consistently allow v7 and v8
❤️ Thank You
  • James Henry

v18.0.0

Compare Source

🚀 Features
  • ⚠️ angular-eslint v18
⚠️ Breaking Changes
  • ⚠️ angular-eslint v18
❤️ Thank You
  • James Henry

17.5.2 (2024-05-28)

🩹 Fixes
  • update typescript-eslint packages to v7.11.0

17.5.1 (2024-05-23)

🩹 Fixes

17.5.0 (2024-05-22)

🚀 Features
  • eslint-plugin: [use-lifecycle-interface] add fixer for the rule
🩹 Fixes
  • update dependency @​angular/compiler to v17.3.9

  • update typescript-eslint packages to v7.10.0

  • eslint-plugin: [no-input-rename] incorrectly triggers on input transforms

❤️ Thank You
  • Auke Bruinsma
  • Jonathan Kolberg
  • m-akinc
  • Mateusz

17.4.1 (2024-05-15)

🩹 Fixes
❤️ Thank You
  • James Henry

17.4.0 (2024-05-07)

🚀 Features
  • eslint-plugin: [no-duplicates-in-metadata-arrays] new rule
🩹 Fixes
  • update dependency @​angular/compiler to v17.3.4

  • update dependency eslint-scope to v8.0.1

  • update typescript-eslint packages to v7.6.0

  • update typescript-eslint packages to v7.7.0

  • update dependency @​angular/compiler to v17.3.6

  • update typescript-eslint packages to v7.8.0

  • eslint-plugin: [sort-ngmodule-metadata-arrays] deprecate rule

❤️ Thank You
  • “JamesHenry”
  • Adrian Baran
  • Brad Kovach

17.3.0 (2024-03-15)

🚀 Features
  • eslint-plugin: consistent-component-styles

  • eslint-plugin: add prefer-standalone rule for checking all directives

🩹 Fixes
  • update dependency tmp to v0.2.3

  • migrate to nx 18

  • update dependency ignore to v5.3.1

  • update dependency eslint to v8.57.0

  • update typescript-eslint packages to v7 (major)

  • update dependency @​angular/compiler to v17.3.0

  • output declaration files in all packages

❤️ Thank You
  • Christian Svensson
  • Dave
  • James Henry
  • Joey Jacobs
  • Luis Estevez

17.2.1 (2024-01-20)

🩹 Fixes
  • update typescript-eslint packages to v6.18.1

  • update typescript-eslint packages to v6.19.0

  • update dependency @​angular/compiler to v17.1.0

❤️ Thank You
  • Adam Reisinger
  • Matt Lewis

17.2.0 (2024-01-06)

🚀 Features
  • eslint-plugin: [no-async-lifecycle-method] add rule
🩹 Fixes
  • update dependency eslint to v8.56.0

  • update typescript-eslint packages to v6.18.0

  • update dependency @​angular/compiler to v17.0.8

  • update dependency eslint-scope to v8

❤️ Thank You
  • Matt Lewis
  • Steven Chim

17.1.1

🩹 Fixes
  • update nrwl monorepo to v17.1.3

  • update typescript-eslint packages to v6.12.0

  • update dependency ignore to v5.3.0

  • update dependency eslint to v8.54.0

  • update typescript-eslint packages to v6.13.0

  • update typescript-eslint packages to v6.13.1

  • eslint-plugin: fix max inline declarations rule for styles string

❤️ Thank You
  • Christian Svensson
  • Daniel Kimmich
  • Luis Estevez

17.1.0

This was a version bump only for eslint-plugin to align it with other projects, there were no code changes.

v17.5.2

Compare Source

🩹 Fixes
  • update typescript-eslint packages to v7.11.0

v17.5.1

Compare Source

🩹 Fixes

v17.5.0

Compare Source

🚀 Features
  • eslint-plugin: [use-lifecycle-interface] add fixer for the rule
🩹 Fixes
  • update dependency @​angular/compiler to v17.3.9

  • update typescript-eslint packages to v7.10.0

  • eslint-plugin: [no-input-rename] incorrectly triggers on input transforms

❤️ Thank You
  • Auke Bruinsma
  • Jonathan Kolberg
  • m-akinc
  • Mateusz

v17.4.1

Compare Source

🩹 Fixes
❤️ Thank You
  • James Henry

v17.4.0

Compare Source

🚀 Features
  • eslint-plugin: [no-duplicates-in-metadata-arrays] new rule
🩹 Fixes
  • update dependency @​angular/compiler to v17.3.4

  • update dependency eslint-scope to v8.0.1

  • update typescript-eslint packages to v7.6.0

  • update typescript-eslint packages to v7.7.0

  • update dependency @​angular/compiler to v17.3.6

  • update typescript-eslint packages to v7.8.0

  • eslint-plugin: [sort-ngmodule-metadata-arrays] deprecate rule

❤️ Thank You
  • “JamesHenry”
  • Adrian Baran
  • Brad Kovach
angular/angular (@​angular/animations)

v18.0.3

Compare Source

benchpress
Commit Type Description
ebf00aa0659 fix adjust supported browser names for headless chrome (#​56360)
core
Commit Type Description
dbd0fa00f8c fix async EventEmitter should contribute to app stability (#​56308)
625ca3e2b3f fix signals should be tracked when embeddedViewRef.detectChanges is called (#​55719)
localize
Commit Type Description
d6dd3dbdb09 fix add @angular/localize/init as polyfill in angular.json (#​56300)
migrations
Commit Type Description
c07e1b33569 fix resolve error in standalone migration (#​56302)

v18.0.2

Compare Source

core
Commit Type Description
78cf9bfc0e fix Do not migrate HttpClientModule imports on components. (#​56067)
616cdef474 fix don't coerce all producers to consumers on liveness change (#​56140)
2a440e1064 fix Fix shouldPreventDefaultBeforeDispatching bug (#​56188)
290a47d842 fix handle missing withI18nSupport() call for components that use i18n blocks (#​56175)
migrations
Commit Type Description
b70b80ba55 fix do not generate aliased variables with the same name (#​56154)

v18.0.1

Compare Source

compiler
Commit Type Description
419ffa2026 fix optimize track function that only passes $index (#​55872)
compiler-cli
Commit Type Description
4c7efc005a fix interpolatedSignalNotInvoked diagnostic for class, style, attribute and animation bindings (#​55969)
core
Commit Type Description
4e6ea0e19c fix handle elements with local refs in event replay serialization logic (#​56076)
d73a0175cb fix link errors to ADEV (#​55554)
985a215b10 fix typo in zoneless warning (#​55974)
migrations
Commit Type Description
ba85d08158 fix handle empty ngSwitchCase (#​56105)

v18.0.0

Compare Source

Blog post "Angular v18 is now available".

Breaking Changes

animations
  • Deprecated matchesElement method has been removed from AnimationDriver as it is unused.
common
  • The deprecated isPlatformWorkerUi and isPlatformWorkerApp have been removed without replacement, as they serve no purpose since the removal of the WebWorker platform.
compiler
  • Angular only supports writable expressions inside of two-way bindings.
compiler-cli
    • Angular no longer supports TypeScript versions older than 5.4.
core
  • OnPush views at the root of the application need to
    be marked dirty for their host bindings to refresh. Previously, the host
    bindings were refreshed for all root views without respecting the
    OnPush change detection strategy.

  • OnPush views at the root of the application need to
    be marked dirty for their host bindings to refresh. Previously, the host
    bindings were refreshed for all root views without respecting the
    OnPush change detection strategy.

  • The ComponentFixture autoDetect feature will no
    longer refresh the component's host view when the component is OnPush
    and not marked dirty. This exposes existing issues in components which
    claim to be OnPush but do not correctly call markForCheck when they
    need to be refreshed. If this change causes test failures, the easiest
    fix is to change the component to ChangeDetectionStrategy.Default.

  • ComponentFixture.whenStable now matches the
    ApplicationRef.isStable observable. Prior to this change, stability
    of the fixture did not include everything that was considered in
    ApplicationRef. whenStable of the fixture will now include unfinished
    router navigations and unfinished HttpClient requests. This will cause
    tests that await the whenStable promise to time out when there are
    incomplete requests. To fix this, remove the whenStable,
    instead wait for another condition, or ensure HttpTestingController
    mocks responses for all requests. Try adding HttpTestingController.verify()
    before your await fixture.whenStable to identify the open requests.
    Also, make sure your tests wait for the stability promise. We found many
    examples of tests that did not, meaning the expectations did not execute
    within the test body.

    In addition, ComponentFixture.isStable would synchronously switch to
    true in some scenarios but will now always be asynchronous.

  • Angular will ensure change detection runs, even when the state update originates from
    outside the zone, tests may observe additional rounds of change
    detection compared to the previous behavior.

    This change will be more likely to impact existing unit tests.
    This should usually be seen as more correct and the test should be updated,
    but in cases where it is too much effort to debug, the test can revert to the old behavior by adding
    provideZoneChangeDetection({schedulingMode: NgZoneSchedulingMode.NgZoneOnly})
    to the TestBed providers.

    Similarly, applications which may want to update state outside the zone
    and not trigger change detection can add
    provideZoneChangeDetection({schedulingMode: NgZoneSchedulingMode.NgZoneOnly})
    to the providers in bootstrapApplication or add
    schedulingMode: NgZoneSchedulingMode.NgZoneOnly to the
    BootstrapOptions of bootstrapModule.

  • When Angular runs change detection, it will continue to
    refresh any views attached to ApplicationRef that are still marked for
    check after one round completes. In rare cases, this can result in infinite
    loops when certain patterns continue to mark views for check using
    ChangeDetectorRef.detectChanges. This will be surfaced as a runtime
    error with the NG0103 code.

  • async has been removed, use waitForAsync instead.

  • The ComponentFixture.autoDetect feature now executes
    change detection for the fixture within ApplicationRef.tick. This more
    closely matches the behavior of how a component would refresh in
    production. The order of component refresh in tests may be slightly
    affected as a result, especially when dealing with additional components
    attached to the application, such as dialogs. Tests sensitive to this
    type of change (such as screenshot tests) may need to be updated.
    Concretely, this change means that the component will refresh before
    additional views attached to ApplicationRef (i.e. dialog components).
    Prior to this change, the fixture component would refresh after other
    views attached to the application.

  • The exact timing of change detection execution when
    using event or run coalescing with NgZone is now the first of either
    setTimeout or requestAnimationFrame. Code which relies on this
    timing (usually by accident) will need to be adjusted. If a callback
    needs to execute after change detection, we recommend afterNextRender
    instead of something like setTimeout.

  • Newly created and views marked for check and reattached
    during change detection are now guaranteed to be refreshed in that same
    change detection cycle. Previously, if they were attached at a location
    in the view tree that was already checked, they would either throw
    ExpressionChangedAfterItHasBeenCheckedError or not be refreshed until
    some future round of change detection. In rare circumstances, this
    correction can cause issues. We identified one instance that relied on
    the previous behavior by reading a value on initialization which was
    queued to be updated in a microtask instead of being available in the
    current change detection round. The component only read this value during
    initialization and did not read it again after the microtask updated it.

  • Testability methods increasePendingRequestCount,
    decreasePendingRequestCount and getPendingRequestCount have been
    removed. This information is tracked with zones.

http
  • By default we now prevent caching of HTTP requests that require authorization . To opt-out from this behaviour use the includeRequestsWithAuthHeaders option in withHttpTransferCache.

    Example:

    withHttpTransferCache({
      includeRequestsWithAuthHeaders: true,
    })
platform-browser
  • Deprecated StateKey, TransferState and makeStateKey have been removed from @angular/platform-browser, use the same APIs from @angular/core.
platform-browser-dynamic
  • No longer used RESOURCE_CACHE_PROVIDER APIs have been removed.
platform-server
  • deprecated platformDynamicServer has been removed. Add an import @&#8203;angular/compiler and replace the usage with platformServer

  • deprecated ServerTransferStateModule has been removed. TransferState can be use without providing this module.

  • deprecated useAbsoluteUrl and baseUrl been removed from PlatformConfig. Provide and absolute url instead.

  • Legacy handling or Node.js URL parsing has been removed from ServerPlatformLocation.

    The main differences are;

    • pathname is always suffixed with a /.
    • port is empty when http: protocol and port in url is 80
    • port is empty when https: protocol and port in url is 443
router
  • Guards can now return RedirectCommand for redirects
    in addition to UrlTree. Code which expects only `boolean

Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about these updates again.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Mend Renovate. View repository job log here.

Copy link
Contributor Author

renovate bot commented May 23, 2024

⚠️ Artifact update problem

Renovate failed to update an artifact related to this branch. You probably do not want to merge this PR as-is.

♻ Renovate will retry this branch, including artifacts, only when one of the following happens:

  • any of the package files in this branch needs updating, or
  • the branch becomes conflicted, or
  • you click the rebase/retry checkbox if found above, or
  • you rename this PR's title to start with "rebase!" to trigger it manually

The artifact failure details are included below:

File name: package-lock.json
npm error code ERESOLVE
npm error ERESOLVE could not resolve
npm error
npm error While resolving: portugol-webstudio@0.0.0
npm error Found: @typescript-eslint/utils@7.2.0
npm error node_modules/@typescript-eslint/utils
npm error   @typescript-eslint/utils@"7.2.0" from @angular-eslint/utils@17.3.0
npm error   node_modules/@angular-eslint/utils
npm error
npm error Could not resolve dependency:
npm error dev @angular-eslint/eslint-plugin@"^18.0.0" from the root project
npm error
npm error Conflicting peer dependency: @typescript-eslint/utils@7.13.1
npm error node_modules/@typescript-eslint/utils
npm error   peer @typescript-eslint/utils@"^7.11.0 || ^8.0.0-alpha.20" from @angular-eslint/eslint-plugin@18.0.1
npm error   node_modules/@angular-eslint/eslint-plugin
npm error     dev @angular-eslint/eslint-plugin@"^18.0.0" from the root project
npm error
npm error Fix the upstream dependency conflict, or retry
npm error this command with --force or --legacy-peer-deps
npm error to accept an incorrect (and potentially broken) dependency resolution.
npm error
npm error
npm error For a full report see:
npm error /tmp/renovate/cache/others/npm/_logs/2024-06-19T08_14_05_163Z-eresolve-report.txt
npm error A complete log of this run can be found in: /tmp/renovate/cache/others/npm/_logs/2024-06-19T08_14_05_163Z-debug-0.log

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

0 participants