Socket
Socket
Sign inDemoInstall

@angular/platform-browser

Package Overview
Dependencies
6
Maintainers
1
Versions
809
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    @angular/platform-browser

Angular - library for using Angular in a web browser


Version published
Maintainers
1
Created

Package description

What is @angular/platform-browser?

The @angular/platform-browser package provides services that are essential for running Angular applications in a web browser. This includes DOM manipulation, rendering, and browser interaction APIs.

What are @angular/platform-browser's main functionalities?

DOM Manipulation

The BrowserModule provides services that are necessary for any web app, such as DOM rendering, sanitization, and location. It should be imported once in the root module of the app.

import { BrowserModule } from '@angular/platform-browser';

@NgModule({
  imports: [BrowserModule],
  ...
})
export class AppModule { }

Browser Event Handling

The package allows components to handle browser events such as resize, keyup, and more through the HostListener decorator.

import { Component, HostListener } from '@angular/core';

@Component({...})
export class MyComponent {
  @HostListener('window:resize', ['$event'])
  onResize(event) {
    // Handle the browser resize event
  }
}

Safe Interpolation

The DomSanitizer service helps prevent Cross Site Scripting Security bugs (XSS) by sanitizing values to be safe to use in the different DOM contexts.

import { DomSanitizer } from '@angular/platform-browser';

@Component({...})
export class MyComponent {
  safeUrl;
  constructor(private sanitizer: DomSanitizer) {
    this.safeUrl = this.sanitizer.bypassSecurityTrustResourceUrl('https://example.com');
  }
}

Other packages similar to @angular/platform-browser

Changelog

Source

17.0.0 (2023-11-08)

Blog post "Angular v17 is now available".

Breaking Changes

  • Node.js v16 support has been removed and the minimum support version has been bumped to 18.13.0.

    Node.js v16 is planned to be End-of-Life on 2023-09-11. Angular will stop supporting Node.js v16 in Angular v17. For Node.js release schedule details, please see: https://github.com/nodejs/release#release-schedule

common

  • the NgSwitch directive now defaults to the === equality operator, migrating from the previously used == operator. NgSwitch expressions and / or individual condition values need adjusting to this stricter equality check. The added warning message should help pin-pointing NgSwitch usages where adjustments are needed.

core

  • Angular now requires zone.js version ~0.14.0

  • Versions of TypeScript older than 5.2 are no longer supported.

  • The mutate method was removed from the WritableSignal interface and completely dropped from the public API surface. As an alternative, please use the update method and make immutable changes to the object.

    Example before:

    items.mutate(itemsArray => itemsArray.push(newItem));
    

    Example after:

    items.update(itemsArray => [itemsArray, …newItem]);
    
  • OnPush components that are created dynamically now only have their host bindings refreshed and ngDoCheck run during change detection if they are dirty. Previously, a bug in the change detection would result in the OnPush configuration of dynamically created components to be ignored when executing host bindings and the ngDoCheck function. This is rarely encountered but can happen if code has a handle on the ComponentRef instance and updates values read in the OnPush component template without then calling either markForCheck or detectChanges on that component's ChangeDetectorRef.

platform-browser

  • REMOVE_STYLES_ON_COMPONENT_DESTROY default value is now true. This causes CSS of components to be removed from the DOM when destroyed. You retain the previous behaviour by providing the REMOVE_STYLES_ON_COMPONENT_DESTROY injection token.

    import {REMOVE_STYLES_ON_COMPONENT_DESTROY} from '@angular/platform-browser';
    ...
    providers: [{
      provide: REMOVE_STYLES_ON_COMPONENT_DESTROY,
      useValue: false,
    }]
    
  • The withNoDomReuse() function was removed from the public API. If you need to disable hydration, you can exclude the provideClientHydration() call from provider list in your application (which would disable hydration features for the entire application) or use ngSkipHydration attribute to disable hydration for particular components. See this guide for additional information: https://angular.io/guide/hydration#how-to-skip-hydration-for-particular-components.

router

  • Absolute redirects no longer prevent further redirects. Route configurations may need to be adjusted to prevent infinite redirects where additional redirects were previously ignored after an absolute redirect occurred.

  • Routes with loadComponent would incorrectly cause child routes to inherit their data by default. The default paramsInheritanceStrategy is emptyOnly. If parent data should be inherited in child routes, this should be manually set to always.

  • urlHandlingStrategy has been removed from the Router public API. This should instead be configured through the provideRouter or RouterModule.forRoot APIs.

  • The following Router properties have been removed from the public API:

    • canceledNavigationResolution
    • paramsInheritanceStrategy
    • titleStrategy
    • urlUpdateStrategy
    • malformedUriErrorHandler

    These should instead be configured through the provideRouter or RouterModule.forRoot APIs.

  • The setupTestingRouter function has been removed. Use RouterModule.forRoot or provideRouter to setup the Router for tests instead.

  • malformedUriErrorHandler is no longer available in the RouterModule.forRoot options. URL parsing errors should instead be handled in the UrlSerializer.parse method.

Readme

Source

Angular

The sources for this package are in the main Angular repo. Please file issues and pull requests against that repo.

License: MIT

FAQs

Last updated on 18 Oct 2018

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc