diff --git a/.github/workflows/msal-angular-e2e.yml b/.github/workflows/msal-angular-e2e.yml index ef0207a86e..a3333d4056 100644 --- a/.github/workflows/msal-angular-e2e.yml +++ b/.github/workflows/msal-angular-e2e.yml @@ -38,6 +38,7 @@ jobs: - 'angular15-sample-app' - 'angular16-sample-app' - 'angular-b2c-sample-app' + - 'angular-standalone-sample' name: ${{ matrix.sample }} diff --git a/lib/msal-angular/FAQ.md b/lib/msal-angular/FAQ.md index fe1e28efff..1340b1c7b2 100644 --- a/lib/msal-angular/FAQ.md +++ b/lib/msal-angular/FAQ.md @@ -6,6 +6,7 @@ 1. [What browsers are supported?](#what-browsers-are-supported) 1. [What versions of Angular are supported?](#what-versions-of-angular-are-supported) 1. [Does `@azure/msal-angular` support Server Side Rendering?](#does-azuremsal-angular-support-server-side-rendering) +1. [Does `@azure/msal-angular` support standalone components?](#does-azuremsal-angular-support-standalone-components) 1. [Can `@azure/msal-angular` be used with Internet Explorer?](#can-azuremsal-angular-be-used-with-internet-explorer) 1. [Can `@azure/msal-angular` be used with Microsoft Graph JavaScript SDK?](#can-azuremsal-angular-be-used-with-microsoft-graph-javascript-sdk) @@ -43,7 +44,7 @@ Please see [here](https://github.com/AzureAD/microsoft-authentication-library-fo ### What versions of Angular are supported? -MSAL Angular v3 is in alpha and currently supports Angular 15 and 16. +MSAL Angular v3 currently supports Angular 15 and 16. MSAL Angular v2 supports Angular 9, 10, 11, 12, 13 and 14. @@ -51,13 +52,17 @@ MSAL Angular v2 supports Angular 9, 10, 11, 12, 13 and 14. Yes, server side rendering is supported through Angular universal. See our doc [here](https://github.com/AzureAD/microsoft-authentication-library-for-js/blob/dev/lib/msal-angular/docs/angular-universal.md) for more information. +### Does `@azure/msal-angular` support standalone components? + +MSAL Angular v3 supports standalone components. Please see our [redirect documentation](https://github.com/AzureAD/microsoft-authentication-library-for-js/blob/dev/lib/msal-angular/docs/redirects.md) for more information on using standalone components with redirects and our [standalone sample](https://github.com/AzureAD/microsoft-authentication-library-for-js/blob/dev/samples/msal-angular-v3-samples/angular-standalone-sample) for usage details. + ### Can `@azure/msal-angular` be used with Internet Explorer? MSAL Angular v3 no longer supports Internet Explorer. MSAL Angular v2 and earlier supports IE 11. More information on configuration can be found [here](https://github.com/AzureAD/microsoft-authentication-library-for-js/blob/msal-lts/lib/msal-angular/docs/v2-docs/ie-support.md). -## Can `@azure/msal-angular` be used with Microsoft Graph JavaScript SDK? +### Can `@azure/msal-angular` be used with Microsoft Graph JavaScript SDK? Yes, `@azure/msal-angular` can be used as a custom authentication provider for the [Microsoft Graph JavaScript SDK](https://github.com/microsoftgraph/msgraph-sdk-javascript). For an implementation, please refer to the sample: [Angular SPA calling Graph API](https://github.com/Azure-Samples/ms-identity-javascript-angular-tutorial/tree/main/2-Authorization-I/1-call-graph). diff --git a/lib/msal-angular/README.md b/lib/msal-angular/README.md index 29f66b70b5..d38e9a1f32 100644 --- a/lib/msal-angular/README.md +++ b/lib/msal-angular/README.md @@ -45,7 +45,7 @@ At a minimum, `@azure/msal-angular` will follow the [support schedule of the mai | MSAL Angular version | MSAL support status | Supported Angular versions | |----------------------|-------------------------|----------------------------| -| MSAL Angular v3-alpha | Active development | 15, 16 | +| MSAL Angular v3 | Active development | 15, 16 | | MSAL Angular v2 | In maintenance | 9, 10, 11, 12, 13, 14 | | MSAL Angular v1 | In maintenance | 6, 7, 8, 9 | | MSAL Angular v0 | Out of support | 4, 5 | @@ -88,6 +88,7 @@ Documentation specifically for MSAL Angular v1 can be found [here](https://githu * [Angular v15](https://github.com/AzureAD/microsoft-authentication-library-for-js/tree/dev/samples/msal-angular-v3-samples/angular15-sample-app) * [Angular v16](https://github.com/AzureAD/microsoft-authentication-library-for-js/tree/dev/samples/msal-angular-v3-samples/angular16-sample-app) * [Angular v16 B2C Sample](https://github.com/AzureAD/microsoft-authentication-library-for-js/tree/dev/samples/msal-angular-v3-samples/angular-b2c-sample-app) +* [Angular Standalone Sample](https://github.com/AzureAD/microsoft-authentication-library-for-js/tree/dev/samples/msal-angular-v3-samples/angular-standalone-sample) ### MSAL Angular v2 Samples * [Angular v9](https://github.com/AzureAD/microsoft-authentication-library-for-js/tree/msal-lts/samples/msal-angular-v2-samples/angular9-v2-sample-app) diff --git a/lib/msal-angular/docs/configuration.md b/lib/msal-angular/docs/configuration.md index b3bbcb6718..3f0dc0fb23 100644 --- a/lib/msal-angular/docs/configuration.md +++ b/lib/msal-angular/docs/configuration.md @@ -111,8 +111,7 @@ export function MSALInstanceFactory(): IPublicClientApplication { postLogoutRedirectUri: "http://localhost:4200" }, cache: { - cacheLocation: BrowserCacheLocation.LocalStorage, - storeAuthStateInCookie: isIE, // set to true for IE 11 + cacheLocation: BrowserCacheLocation.LocalStorage }, }); } @@ -350,8 +349,6 @@ export function initializerFactory(env: ConfigService, configUrl: string): any { return () => promise; } -const isIE = window.navigator.userAgent.indexOf("MSIE ") > -1 || window.navigator.userAgent.indexOf("Trident/") > -1; // Remove this line to use Angular Universal - export function loggerCallback(logLevel: LogLevel, message: string) { console.log(message); } diff --git a/lib/msal-angular/docs/redirects.md b/lib/msal-angular/docs/redirects.md index 6c4f7de14d..c06c4106ca 100644 --- a/lib/msal-angular/docs/redirects.md +++ b/lib/msal-angular/docs/redirects.md @@ -2,7 +2,13 @@ When using redirects with MSAL, it is **mandatory** to handle redirects with either the `MsalRedirectComponent` or `handleRedirectObservable`. While we recommend `MsalRedirectComponent` as the best approach, both approaches are detailed below. -## 1. `MsalRedirectComponent`: A dedicated `handleRedirectObservable` component +Note that specific guidance has been added for using MSAL Angular v3 with Angular standalone components below. + +1. [`MsalRedirectComponent`](#msalredirectcomponent-a-dedicated-handleredirectobservable-component) +1. [Subscribing to `handleRedirectObservable` manually](#subscribing-to-handleredirectobservable-manually) +1. [Redirects with standalone components](#redirects-with-standalone-components) + +## `MsalRedirectComponent`: A dedicated `handleRedirectObservable` component This is our recommended approach for handling redirects: @@ -11,6 +17,8 @@ This is our recommended approach for handling redirects: - If you do not wish to use the `MsalRedirectComponent`, you **must** handle redirects with `handleRedirectObservable()` yourself, as laid out in the approach below. - See our [Angular 15 sample](https://github.com/AzureAD/microsoft-authentication-library-for-js/blob/dev/samples/msal-angular-v3-samples/angular15-sample-app/src/app/app.module.ts#L110) for an example of this approach. +Note that although this is our recommendation for most Angular applications, this approach may not work with Angular standalone components. See the section on [redirects with standalone components below](#redirects-with-standalone-components) for further guidance. + msal.redirect.component.ts ```js // This component is part of @azure/msal-angular and can be imported and bootstrapped @@ -61,8 +69,6 @@ import { HTTP_INTERCEPTORS, HttpClientModule } from '@angular/common/http'; import { IPublicClientApplication, PublicClientApplication, InteractionType, BrowserCacheLocation, LogLevel } from '@azure/msal-browser'; import { MsalGuard, MsalInterceptor, MsalBroadcastService, MsalInterceptorConfiguration, MsalModule, MsalService, MSAL_GUARD_CONFIG, MSAL_INSTANCE, MSAL_INTERCEPTOR_CONFIG, MsalGuardConfiguration, MsalRedirectComponent } from '@azure/msal-angular'; // Redirect component imported from msal-angular -const isIE = window.navigator.userAgent.indexOf("MSIE ") > -1 || window.navigator.userAgent.indexOf("Trident/") > -1; - export function loggerCallback(logLevel: LogLevel, message: string) { console.log(message); } @@ -75,8 +81,7 @@ export function MSALInstanceFactory(): IPublicClientApplication { postLogoutRedirectUri: 'http://localhost:4200' }, cache: { - cacheLocation: BrowserCacheLocation.LocalStorage, - storeAuthStateInCookie: isIE, // set to true for IE 11 + cacheLocation: BrowserCacheLocation.LocalStorage }, system: { loggerOptions: { @@ -178,7 +183,7 @@ export class AppComponent implements OnInit, OnDestroy { } ``` -## 2. Subscribing to `handleRedirectObservable` manually +## Subscribing to `handleRedirectObservable` manually This is not our recommended approach, but if you are unable to bootstrap the `MsalRedirectComponent`, you **must** handle redirects using the `handleRedirectObservable` as follows: @@ -212,3 +217,41 @@ export class HomeComponent implements OnInit { } ``` + +## Redirects with standalone components + +As many Angular applications using standalone components are unable to bootstrap the `MsalRedirectComponent`, `handleRedirectObservable` must be subscribed to directly. Our recommendation is to subscribe to it in the `app.component.ts` file. + +- Depending on your application architecture, you may have to subscribe to `handleRedirectObservable()` in other areas as well. +- Checking for interactions in progress still applies, please see our document on [events](https://github.com/AzureAD/microsoft-authentication-library-for-js/blob/dev/lib/msal-angular/docs/events.md#the-inprogress-observable) for more information on checking for interactions. +- See our [Angular standalone sample](https://github.com/AzureAD/microsoft-authentication-library-for-js/blob/dev/samples/msal-angular-v3-samples/angular-standalone-sample) for examples of this approach. + +Example of `app.component.ts` file + +```js +import { Component, OnInit, Inject } from '@angular/core'; +import { CommonModule } from '@angular/common'; +import { RouterModule} from '@angular/router'; +import { MsalService, MsalBroadcastService, MSAL_GUARD_CONFIG, MsalGuardConfiguration } from '@azure/msal-angular'; + +@Component({ + selector: 'app-root', + templateUrl: './app.component.html', + styleUrls: ['./app.component.css'], + standalone: true, + imports: [CommonModule, RouterModule] +}) +export class AppComponent implements OnInit { + + constructor( + @Inject(MSAL_GUARD_CONFIG) private msalGuardConfig: MsalGuardConfiguration, + private authService: MsalService, + private msalBroadcastService: MsalBroadcastService + ) {} + + ngOnInit(): void { + this.authService.handleRedirectObservable().subscribe(); // Subscribing to handleRedirectObservable before any other functions both initialize the application and ensures redirects are handled + } +} + +``` \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index d62b53ffcb..da2ed1282f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -15857,6 +15857,10 @@ "resolved": "samples/msal-angular-v3-samples/angular-b2c-sample-app", "link": true }, + "node_modules/angular-standalone-sample": { + "resolved": "samples/msal-angular-v3-samples/angular-standalone-sample", + "link": true + }, "node_modules/angular15-sample-app": { "resolved": "samples/msal-angular-v3-samples/angular15-sample-app", "link": true @@ -37879,13 +37883,13 @@ } }, "node_modules/path-scurry": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.0.tgz", - "integrity": "sha512-tZFEaRQbMLjwrsmidsGJ6wDMv0iazJWk6SfIKnY4Xru8auXgmJkOBa5DUbYFcFD2Rzk2+KDlIiF0GVXNCbgC7g==", + "version": "1.10.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.1.tgz", + "integrity": "sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==", "dev": true, "dependencies": { "lru-cache": "^9.1.1 || ^10.0.0", - "minipass": "^5.0.0 || ^6.0.2" + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" }, "engines": { "node": ">=16 || 14 >=14.17" @@ -52339,10 +52343,3757 @@ } } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@angular/animations": { + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@angular/animations": { + "version": "16.1.4", + "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-16.1.4.tgz", + "integrity": "sha512-QdqmnMEYsrZK1BB+/TGteyoQVRwIpRdBP4Jg+hX/BDhVpt35dptSwvNZj7+9zoYLwNo5DuGlttljEaLOs1UcUw==", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^16.14.0 || >=18.10.0" + }, + "peerDependencies": { + "@angular/core": "16.1.4" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@angular/cdk": { + "version": "16.1.4", + "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-16.1.4.tgz", + "integrity": "sha512-05m0+NoAkV5O15GUEX2GQLySe8iC6P0GXVqUjLipdGmZ2/pNndJ/DGbqkX8dAAo/Z3ss2TEyRNYMOJdLIjV5vw==", + "dependencies": { + "tslib": "^2.3.0" + }, + "optionalDependencies": { + "parse5": "^7.1.2" + }, + "peerDependencies": { + "@angular/common": "^16.0.0 || ^17.0.0", + "@angular/core": "^16.0.0 || ^17.0.0", + "rxjs": "^6.5.3 || ^7.4.0" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@angular/cli": { + "version": "16.0.6", + "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-16.0.6.tgz", + "integrity": "sha512-um7oOWSu9SIzvwqJ5Aeqcki5/qj4yb6QKi8RkHDWpOdrg1tJfX/BnIzUa4jiCXIwYRIz+PjYJb8W5216wS+7Gg==", + "dev": true, + "dependencies": { + "@angular-devkit/architect": "0.1600.6", + "@angular-devkit/core": "16.0.6", + "@angular-devkit/schematics": "16.0.6", + "@schematics/angular": "16.0.6", + "@yarnpkg/lockfile": "1.1.0", + "ansi-colors": "4.1.3", + "ini": "4.0.0", + "inquirer": "8.2.4", + "jsonc-parser": "3.2.0", + "npm-package-arg": "10.1.0", + "npm-pick-manifest": "8.0.1", + "open": "8.4.2", + "ora": "5.4.1", + "pacote": "15.1.3", + "resolve": "1.22.2", + "semver": "7.4.0", + "symbol-observable": "4.0.0", + "yargs": "17.7.2" + }, + "bin": { + "ng": "bin/ng.js" + }, + "engines": { + "node": "^16.14.0 || >=18.10.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@angular/cli/node_modules/@angular-devkit/architect": { + "version": "0.1600.6", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1600.6.tgz", + "integrity": "sha512-Mk/pRujuer5qRMrgC7DPwLQ88wTAEKhbs0yJ/1prm4cx+VkxX9MMf6Y4AHKRmduKmFmd2LmX21/ACiU65acH8w==", + "dev": true, + "dependencies": { + "@angular-devkit/core": "16.0.6", + "rxjs": "7.8.1" + }, + "engines": { + "node": "^16.14.0 || >=18.10.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@angular/cli/node_modules/@angular-devkit/core": { + "version": "16.0.6", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-16.0.6.tgz", + "integrity": "sha512-pHbDUwXDMTWTnX/vafkFnzvYDQD8lz+w8FvMQE23Q/vN6/Q0BRf0PWTAGla6Wt+E4HaqqrbQS5P0YBwS4te2Pw==", + "dev": true, + "dependencies": { + "ajv": "8.12.0", + "ajv-formats": "2.1.1", + "jsonc-parser": "3.2.0", + "rxjs": "7.8.1", + "source-map": "0.7.4" + }, + "engines": { + "node": "^16.14.0 || >=18.10.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + }, + "peerDependencies": { + "chokidar": "^3.5.2" + }, + "peerDependenciesMeta": { + "chokidar": { + "optional": true + } + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@angular/cli/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@angular/cli/node_modules/semver": { + "version": "7.4.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.4.0.tgz", + "integrity": "sha512-RgOxM8Mw+7Zus0+zcLEUn8+JfoLpj/huFTItQy2hsM4khuC1HYRDp0cU482Ewn/Fcy6bCjufD8vAj7voC66KQw==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@angular/common": { + "version": "16.1.4", + "resolved": "https://registry.npmjs.org/@angular/common/-/common-16.1.4.tgz", + "integrity": "sha512-SDA8GZVY0nXCJaNUy13L22jAKuk1LZgQ6QzqOpqQc50C25bfBQbYv68PKjHCjQ62VxGKnDSTT85xCMNx+y/U4g==", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^16.14.0 || >=18.10.0" + }, + "peerDependencies": { + "@angular/core": "16.1.4", + "rxjs": "^6.5.3 || ^7.4.0" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@angular/compiler": { + "version": "16.1.4", + "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-16.1.4.tgz", + "integrity": "sha512-5iKx8g+6/LtiRhbqMS2Jw1AshFUb4M8LO9WQKfRoE+5mZrDOYkAQYgOlAO7fk0mOCXeZcHJBbq2nuwDfwsZIiw==", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^16.14.0 || >=18.10.0" + }, + "peerDependencies": { + "@angular/core": "16.1.4" + }, + "peerDependenciesMeta": { + "@angular/core": { + "optional": true + } + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@angular/compiler-cli": { + "version": "16.1.4", + "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-16.1.4.tgz", + "integrity": "sha512-JerJOZeOLaHFHrfWMm4m9tEw+MdNNIMPj3TSauJ6uZPbFokGeqS2GsUBMjuQlwh5xY4duh1HtRsohvshpl306A==", + "dev": true, + "dependencies": { + "@babel/core": "7.22.5", + "@jridgewell/sourcemap-codec": "^1.4.14", + "chokidar": "^3.0.0", + "convert-source-map": "^1.5.1", + "reflect-metadata": "^0.1.2", + "semver": "^7.0.0", + "tslib": "^2.3.0", + "yargs": "^17.2.1" + }, + "bin": { + "ng-xi18n": "bundles/src/bin/ng_xi18n.js", + "ngc": "bundles/src/bin/ngc.js", + "ngcc": "bundles/ngcc/index.js" + }, + "engines": { + "node": "^16.14.0 || >=18.10.0" + }, + "peerDependencies": { + "@angular/compiler": "16.1.4", + "typescript": ">=4.9.3 <5.2" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@angular/core": { + "version": "16.1.4", + "resolved": "https://registry.npmjs.org/@angular/core/-/core-16.1.4.tgz", + "integrity": "sha512-eWs++peAp+Lm2SHGfMsHAye2IOmlDKkVJ4dFf4TaZXW+AEev3FXKXLFp+dBUq8YkCKly7iAV26NXEUBOFFtplQ==", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^16.14.0 || >=18.10.0" + }, + "peerDependencies": { + "rxjs": "^6.5.3 || ^7.4.0", + "zone.js": "~0.13.0" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@angular/forms": { + "version": "16.1.4", + "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-16.1.4.tgz", + "integrity": "sha512-JLhO7gM0WyTfr6tEWZMiCGikWLgaC/a2+tuxWsSlXUjlrbE4DyLzSAA6JqyDCFTvm9B/QzRPDfgExLTTZJY4eQ==", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^16.14.0 || >=18.10.0" + }, + "peerDependencies": { + "@angular/common": "16.1.4", + "@angular/core": "16.1.4", + "@angular/platform-browser": "16.1.4", + "rxjs": "^6.5.3 || ^7.4.0" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@angular/material": { + "version": "16.1.4", + "resolved": "https://registry.npmjs.org/@angular/material/-/material-16.1.4.tgz", + "integrity": "sha512-1SKWB14J+IorRL6uzq4a9cBLpVOMONTzso05LoVLGKrmtMCL5cRYLM/otT0IjY+oqG/fnTpsYDwV7E6n7AljeA==", + "dependencies": { + "@material/animation": "15.0.0-canary.b994146f6.0", + "@material/auto-init": "15.0.0-canary.b994146f6.0", + "@material/banner": "15.0.0-canary.b994146f6.0", + "@material/base": "15.0.0-canary.b994146f6.0", + "@material/button": "15.0.0-canary.b994146f6.0", + "@material/card": "15.0.0-canary.b994146f6.0", + "@material/checkbox": "15.0.0-canary.b994146f6.0", + "@material/chips": "15.0.0-canary.b994146f6.0", + "@material/circular-progress": "15.0.0-canary.b994146f6.0", + "@material/data-table": "15.0.0-canary.b994146f6.0", + "@material/density": "15.0.0-canary.b994146f6.0", + "@material/dialog": "15.0.0-canary.b994146f6.0", + "@material/dom": "15.0.0-canary.b994146f6.0", + "@material/drawer": "15.0.0-canary.b994146f6.0", + "@material/elevation": "15.0.0-canary.b994146f6.0", + "@material/fab": "15.0.0-canary.b994146f6.0", + "@material/feature-targeting": "15.0.0-canary.b994146f6.0", + "@material/floating-label": "15.0.0-canary.b994146f6.0", + "@material/form-field": "15.0.0-canary.b994146f6.0", + "@material/icon-button": "15.0.0-canary.b994146f6.0", + "@material/image-list": "15.0.0-canary.b994146f6.0", + "@material/layout-grid": "15.0.0-canary.b994146f6.0", + "@material/line-ripple": "15.0.0-canary.b994146f6.0", + "@material/linear-progress": "15.0.0-canary.b994146f6.0", + "@material/list": "15.0.0-canary.b994146f6.0", + "@material/menu": "15.0.0-canary.b994146f6.0", + "@material/menu-surface": "15.0.0-canary.b994146f6.0", + "@material/notched-outline": "15.0.0-canary.b994146f6.0", + "@material/radio": "15.0.0-canary.b994146f6.0", + "@material/ripple": "15.0.0-canary.b994146f6.0", + "@material/rtl": "15.0.0-canary.b994146f6.0", + "@material/segmented-button": "15.0.0-canary.b994146f6.0", + "@material/select": "15.0.0-canary.b994146f6.0", + "@material/shape": "15.0.0-canary.b994146f6.0", + "@material/slider": "15.0.0-canary.b994146f6.0", + "@material/snackbar": "15.0.0-canary.b994146f6.0", + "@material/switch": "15.0.0-canary.b994146f6.0", + "@material/tab": "15.0.0-canary.b994146f6.0", + "@material/tab-bar": "15.0.0-canary.b994146f6.0", + "@material/tab-indicator": "15.0.0-canary.b994146f6.0", + "@material/tab-scroller": "15.0.0-canary.b994146f6.0", + "@material/textfield": "15.0.0-canary.b994146f6.0", + "@material/theme": "15.0.0-canary.b994146f6.0", + "@material/tooltip": "15.0.0-canary.b994146f6.0", + "@material/top-app-bar": "15.0.0-canary.b994146f6.0", + "@material/touch-target": "15.0.0-canary.b994146f6.0", + "@material/typography": "15.0.0-canary.b994146f6.0", + "tslib": "^2.3.0" + }, + "peerDependencies": { + "@angular/animations": "^16.0.0 || ^17.0.0", + "@angular/cdk": "16.1.4", + "@angular/common": "^16.0.0 || ^17.0.0", + "@angular/core": "^16.0.0 || ^17.0.0", + "@angular/forms": "^16.0.0 || ^17.0.0", + "@angular/platform-browser": "^16.0.0 || ^17.0.0", + "rxjs": "^6.5.3 || ^7.4.0" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@angular/platform-browser": { + "version": "16.1.4", + "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-16.1.4.tgz", + "integrity": "sha512-eQ1dBh/6ZwJVeiNGrcW6ePFmWeS+Oheu1RpuZSsvM/fI6qfsZE+or9IJ61SFvsMs65SbrO90Akc+ZXmpEidPdA==", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^16.14.0 || >=18.10.0" + }, + "peerDependencies": { + "@angular/animations": "16.1.4", + "@angular/common": "16.1.4", + "@angular/core": "16.1.4" + }, + "peerDependenciesMeta": { + "@angular/animations": { + "optional": true + } + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@angular/platform-browser-dynamic": { + "version": "16.1.4", + "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-16.1.4.tgz", + "integrity": "sha512-OIszPs3NLCZWL8BEvn458JotNMdXPGyEVToNa2cEVgtakVxkhrhmoFlwJTWJN4GRkHNL5h2Vb0JLEYICwr7sgg==", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^16.14.0 || >=18.10.0" + }, + "peerDependencies": { + "@angular/common": "16.1.4", + "@angular/compiler": "16.1.4", + "@angular/core": "16.1.4", + "@angular/platform-browser": "16.1.4" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@angular/router": { + "version": "16.1.4", + "resolved": "https://registry.npmjs.org/@angular/router/-/router-16.1.4.tgz", + "integrity": "sha512-ooAK7XsY7fLW80htej9jHmct37biK77aNApCdiY+KlLdd45x//ObGxRYXcSSyvs7mRS0AMTGuA/G7/5AMcqcZg==", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^16.14.0 || >=18.10.0" + }, + "peerDependencies": { + "@angular/common": "16.1.4", + "@angular/core": "16.1.4", + "@angular/platform-browser": "16.1.4", + "rxjs": "^6.5.3 || ^7.4.0" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@babel/core": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.22.5.tgz", + "integrity": "sha512-SBuTAjg91A3eKOvD+bPEz3LlhHZRNu1nFOVts9lzDJTXshHTjII0BAtDS3Y2DAkdZdDKWVZGVwkDfc4Clxn1dg==", + "dev": true, + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.22.5", + "@babel/generator": "^7.22.5", + "@babel/helper-compilation-targets": "^7.22.5", + "@babel/helper-module-transforms": "^7.22.5", + "@babel/helpers": "^7.22.5", + "@babel/parser": "^7.22.5", + "@babel/template": "^7.22.5", + "@babel/traverse": "^7.22.5", + "@babel/types": "^7.22.5", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.2", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@babel/core/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@babel/generator": { + "version": "7.22.7", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.22.7.tgz", + "integrity": "sha512-p+jPjMG+SI8yvIaxGgeW24u7q9+5+TGpZh8/CuB7RhBKd7RCy8FayNEFNNKrNK/eUcY/4ExQqLmyrvBXKsIcwQ==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.5", + "@jridgewell/gen-mapping": "^0.3.2", + "@jridgewell/trace-mapping": "^0.3.17", + "jsesc": "^2.5.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@babel/helper-annotate-as-pure": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz", + "integrity": "sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@babel/helper-split-export-declaration": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.5.tgz", + "integrity": "sha512-thqK5QFghPKWLhAV321lxF95yCg2K3Ob5yw+M3VHWfdia0IkPXUtoLH8x/6Fh486QUvzhb8YOWHChTVen2/PoQ==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@babel/plugin-proposal-private-property-in-object": { + "version": "7.21.0-placeholder-for-preset-env.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz", + "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==", + "dev": true, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@babel/plugin-transform-async-to-generator": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.22.5.tgz", + "integrity": "sha512-b1A8D8ZzE/VhNDoV1MSJTnpKkCG5bJo+19R4o4oy03zM7ws8yEMK755j61Dc3EyvdysbqH5BOOTquJ7ZX9C6vQ==", + "dev": true, + "dependencies": { + "@babel/helper-module-imports": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-remap-async-to-generator": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@babel/plugin-transform-runtime": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.22.5.tgz", + "integrity": "sha512-bg4Wxd1FWeFx3daHFTWk1pkSWK/AyQuiyAoeZAOkAOUBjnZPH6KT7eMxouV47tQ6hl6ax2zyAWBdWZXbrvXlaw==", + "dev": true, + "dependencies": { + "@babel/helper-module-imports": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "babel-plugin-polyfill-corejs2": "^0.4.3", + "babel-plugin-polyfill-corejs3": "^0.8.1", + "babel-plugin-polyfill-regenerator": "^0.5.0", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@babel/plugin-transform-runtime/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@babel/preset-env": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.22.5.tgz", + "integrity": "sha512-fj06hw89dpiZzGZtxn+QybifF07nNiZjZ7sazs2aVDcysAZVGjW7+7iFYxg6GLNM47R/thYfLdrXc+2f11Vi9A==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.22.5", + "@babel/helper-compilation-targets": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-option": "^7.22.5", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.22.5", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.22.5", + "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-class-properties": "^7.12.13", + "@babel/plugin-syntax-class-static-block": "^7.14.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3", + "@babel/plugin-syntax-import-assertions": "^7.22.5", + "@babel/plugin-syntax-import-attributes": "^7.22.5", + "@babel/plugin-syntax-import-meta": "^7.10.4", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5", + "@babel/plugin-syntax-top-level-await": "^7.14.5", + "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", + "@babel/plugin-transform-arrow-functions": "^7.22.5", + "@babel/plugin-transform-async-generator-functions": "^7.22.5", + "@babel/plugin-transform-async-to-generator": "^7.22.5", + "@babel/plugin-transform-block-scoped-functions": "^7.22.5", + "@babel/plugin-transform-block-scoping": "^7.22.5", + "@babel/plugin-transform-class-properties": "^7.22.5", + "@babel/plugin-transform-class-static-block": "^7.22.5", + "@babel/plugin-transform-classes": "^7.22.5", + "@babel/plugin-transform-computed-properties": "^7.22.5", + "@babel/plugin-transform-destructuring": "^7.22.5", + "@babel/plugin-transform-dotall-regex": "^7.22.5", + "@babel/plugin-transform-duplicate-keys": "^7.22.5", + "@babel/plugin-transform-dynamic-import": "^7.22.5", + "@babel/plugin-transform-exponentiation-operator": "^7.22.5", + "@babel/plugin-transform-export-namespace-from": "^7.22.5", + "@babel/plugin-transform-for-of": "^7.22.5", + "@babel/plugin-transform-function-name": "^7.22.5", + "@babel/plugin-transform-json-strings": "^7.22.5", + "@babel/plugin-transform-literals": "^7.22.5", + "@babel/plugin-transform-logical-assignment-operators": "^7.22.5", + "@babel/plugin-transform-member-expression-literals": "^7.22.5", + "@babel/plugin-transform-modules-amd": "^7.22.5", + "@babel/plugin-transform-modules-commonjs": "^7.22.5", + "@babel/plugin-transform-modules-systemjs": "^7.22.5", + "@babel/plugin-transform-modules-umd": "^7.22.5", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.22.5", + "@babel/plugin-transform-new-target": "^7.22.5", + "@babel/plugin-transform-nullish-coalescing-operator": "^7.22.5", + "@babel/plugin-transform-numeric-separator": "^7.22.5", + "@babel/plugin-transform-object-rest-spread": "^7.22.5", + "@babel/plugin-transform-object-super": "^7.22.5", + "@babel/plugin-transform-optional-catch-binding": "^7.22.5", + "@babel/plugin-transform-optional-chaining": "^7.22.5", + "@babel/plugin-transform-parameters": "^7.22.5", + "@babel/plugin-transform-private-methods": "^7.22.5", + "@babel/plugin-transform-private-property-in-object": "^7.22.5", + "@babel/plugin-transform-property-literals": "^7.22.5", + "@babel/plugin-transform-regenerator": "^7.22.5", + "@babel/plugin-transform-reserved-words": "^7.22.5", + "@babel/plugin-transform-shorthand-properties": "^7.22.5", + "@babel/plugin-transform-spread": "^7.22.5", + "@babel/plugin-transform-sticky-regex": "^7.22.5", + "@babel/plugin-transform-template-literals": "^7.22.5", + "@babel/plugin-transform-typeof-symbol": "^7.22.5", + "@babel/plugin-transform-unicode-escapes": "^7.22.5", + "@babel/plugin-transform-unicode-property-regex": "^7.22.5", + "@babel/plugin-transform-unicode-regex": "^7.22.5", + "@babel/plugin-transform-unicode-sets-regex": "^7.22.5", + "@babel/preset-modules": "^0.1.5", + "@babel/types": "^7.22.5", + "babel-plugin-polyfill-corejs2": "^0.4.3", + "babel-plugin-polyfill-corejs3": "^0.8.1", + "babel-plugin-polyfill-regenerator": "^0.5.0", + "core-js-compat": "^3.30.2", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@babel/preset-env/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@babel/runtime": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.22.5.tgz", + "integrity": "sha512-ecjvYlnAaZ/KVneE/OdKYBYfgXV3Ptu6zQWmgEF7vwKhQnvVS6bjMD2XYgj+SNvQ1GfK/pjgokfPkC/2CO8CuA==", + "dev": true, + "dependencies": { + "regenerator-runtime": "^0.13.11" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@babel/template": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.5.tgz", + "integrity": "sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.22.5", + "@babel/parser": "^7.22.5", + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@esbuild/android-arm": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.17.19.tgz", + "integrity": "sha512-rIKddzqhmav7MSmoFCmDIb6e2W57geRsM94gV2l38fzhXMwq7hZoClug9USI2pFRGL06f4IOPHHpFNOkWieR8A==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@esbuild/android-arm64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.17.19.tgz", + "integrity": "sha512-KBMWvEZooR7+kzY0BtbTQn0OAYY7CsiydT63pVEaPtVYF0hXbUaOyZog37DKxK7NF3XacBJOpYT4adIJh+avxA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@esbuild/android-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.17.19.tgz", + "integrity": "sha512-uUTTc4xGNDT7YSArp/zbtmbhO0uEEK9/ETW29Wk1thYUJBz3IVnvgEiEwEa9IeLyvnpKrWK64Utw2bgUmDveww==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@esbuild/darwin-arm64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.17.19.tgz", + "integrity": "sha512-80wEoCfF/hFKM6WE1FyBHc9SfUblloAWx6FJkFWTWiCoht9Mc0ARGEM47e67W9rI09YoUxJL68WHfDRYEAvOhg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@esbuild/darwin-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.17.19.tgz", + "integrity": "sha512-IJM4JJsLhRYr9xdtLytPLSH9k/oxR3boaUIYiHkAawtwNOXKE8KoU8tMvryogdcT8AU+Bflmh81Xn6Q0vTZbQw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@esbuild/freebsd-arm64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.19.tgz", + "integrity": "sha512-pBwbc7DufluUeGdjSU5Si+P3SoMF5DQ/F/UmTSb8HXO80ZEAJmrykPyzo1IfNbAoaqw48YRpv8shwd1NoI0jcQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@esbuild/freebsd-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.17.19.tgz", + "integrity": "sha512-4lu+n8Wk0XlajEhbEffdy2xy53dpR06SlzvhGByyg36qJw6Kpfk7cp45DR/62aPH9mtJRmIyrXAS5UWBrJT6TQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@esbuild/linux-arm": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.17.19.tgz", + "integrity": "sha512-cdmT3KxjlOQ/gZ2cjfrQOtmhG4HJs6hhvm3mWSRDPtZ/lP5oe8FWceS10JaSJC13GBd4eH/haHnqf7hhGNLerA==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@esbuild/linux-arm64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.17.19.tgz", + "integrity": "sha512-ct1Tg3WGwd3P+oZYqic+YZF4snNl2bsnMKRkb3ozHmnM0dGWuxcPTTntAF6bOP0Sp4x0PjSF+4uHQ1xvxfRKqg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@esbuild/linux-ia32": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.17.19.tgz", + "integrity": "sha512-w4IRhSy1VbsNxHRQpeGCHEmibqdTUx61Vc38APcsRbuVgK0OPEnQ0YD39Brymn96mOx48Y2laBQGqgZ0j9w6SQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@esbuild/linux-loong64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.17.19.tgz", + "integrity": "sha512-2iAngUbBPMq439a+z//gE+9WBldoMp1s5GWsUSgqHLzLJ9WoZLZhpwWuym0u0u/4XmZ3gpHmzV84PonE+9IIdQ==", + "cpu": [ + "loong64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@esbuild/linux-mips64el": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.17.19.tgz", + "integrity": "sha512-LKJltc4LVdMKHsrFe4MGNPp0hqDFA1Wpt3jE1gEyM3nKUvOiO//9PheZZHfYRfYl6AwdTH4aTcXSqBerX0ml4A==", + "cpu": [ + "mips64el" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@esbuild/linux-ppc64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.17.19.tgz", + "integrity": "sha512-/c/DGybs95WXNS8y3Ti/ytqETiW7EU44MEKuCAcpPto3YjQbyK3IQVKfF6nbghD7EcLUGl0NbiL5Rt5DMhn5tg==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@esbuild/linux-riscv64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.17.19.tgz", + "integrity": "sha512-FC3nUAWhvFoutlhAkgHf8f5HwFWUL6bYdvLc/TTuxKlvLi3+pPzdZiFKSWz/PF30TB1K19SuCxDTI5KcqASJqA==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@esbuild/linux-s390x": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.17.19.tgz", + "integrity": "sha512-IbFsFbxMWLuKEbH+7sTkKzL6NJmG2vRyy6K7JJo55w+8xDk7RElYn6xvXtDW8HCfoKBFK69f3pgBJSUSQPr+4Q==", + "cpu": [ + "s390x" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@esbuild/linux-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.17.19.tgz", + "integrity": "sha512-68ngA9lg2H6zkZcyp22tsVt38mlhWde8l3eJLWkyLrp4HwMUr3c1s/M2t7+kHIhvMjglIBrFpncX1SzMckomGw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@esbuild/netbsd-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.17.19.tgz", + "integrity": "sha512-CwFq42rXCR8TYIjIfpXCbRX0rp1jo6cPIUPSaWwzbVI4aOfX96OXY8M6KNmtPcg7QjYeDmN+DD0Wp3LaBOLf4Q==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@esbuild/openbsd-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.17.19.tgz", + "integrity": "sha512-cnq5brJYrSZ2CF6c35eCmviIN3k3RczmHz8eYaVlNasVqsNY+JKohZU5MKmaOI+KkllCdzOKKdPs762VCPC20g==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@esbuild/sunos-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.17.19.tgz", + "integrity": "sha512-vCRT7yP3zX+bKWFeP/zdS6SqdWB8OIpaRq/mbXQxTGHnIxspRtigpkUcDMlSCOejlHowLqII7K2JKevwyRP2rg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@esbuild/win32-arm64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.17.19.tgz", + "integrity": "sha512-yYx+8jwowUstVdorcMdNlzklLYhPxjniHWFKgRqH7IFlUEa0Umu3KuYplf1HUZZ422e3NU9F4LGb+4O0Kdcaag==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@esbuild/win32-ia32": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.17.19.tgz", + "integrity": "sha512-eggDKanJszUtCdlVs0RB+h35wNlb5v4TWEkq4vZcmVt5u/HiDZrTXe2bWFQUez3RgNHwx/x4sk5++4NSSicKkw==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@esbuild/win32-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.17.19.tgz", + "integrity": "sha512-lAhycmKnVOuRYNtRtatQR1LPQf2oYCkRGkSFnseDAKPl8lu5SOsK/e1sXe5a0Pc5kHIHe6P2I/ilntNv2xf3cA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@jridgewell/gen-mapping": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", + "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", + "dev": true, + "dependencies": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@material/animation": { + "version": "15.0.0-canary.b994146f6.0", + "resolved": "https://registry.npmjs.org/@material/animation/-/animation-15.0.0-canary.b994146f6.0.tgz", + "integrity": "sha512-kqqzG54tabYJ5VsBur5k1bqCFQCEpaW3hmLRMiSVVxRY7XgTt7qkuOOz48gs+MPqR6P8VIi6gFpuscV1+DWDhw==", + "dependencies": { + "tslib": "^2.1.0" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@material/auto-init": { + "version": "15.0.0-canary.b994146f6.0", + "resolved": "https://registry.npmjs.org/@material/auto-init/-/auto-init-15.0.0-canary.b994146f6.0.tgz", + "integrity": "sha512-8nLe/XeueJg5yyYx5e4UxWQXpTDyUhibKfyroGwnRKc8pdpOCOulHSOj/fIVGJAIbxkEJoebwMadWUNCjUhc9A==", + "dependencies": { + "@material/base": "15.0.0-canary.b994146f6.0", + "tslib": "^2.1.0" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@material/banner": { + "version": "15.0.0-canary.b994146f6.0", + "resolved": "https://registry.npmjs.org/@material/banner/-/banner-15.0.0-canary.b994146f6.0.tgz", + "integrity": "sha512-gJ4/VdP4dJgHP72Kdjy2f/UjHB45J4CuxoGvI0NIQYUjOSsr4kQiQHsjVgyEPZR/5wa7kBhM7/0mJ+zF7Ghv2A==", + "dependencies": { + "@material/base": "15.0.0-canary.b994146f6.0", + "@material/button": "15.0.0-canary.b994146f6.0", + "@material/dom": "15.0.0-canary.b994146f6.0", + "@material/elevation": "15.0.0-canary.b994146f6.0", + "@material/feature-targeting": "15.0.0-canary.b994146f6.0", + "@material/ripple": "15.0.0-canary.b994146f6.0", + "@material/rtl": "15.0.0-canary.b994146f6.0", + "@material/shape": "15.0.0-canary.b994146f6.0", + "@material/theme": "15.0.0-canary.b994146f6.0", + "@material/tokens": "15.0.0-canary.b994146f6.0", + "@material/typography": "15.0.0-canary.b994146f6.0", + "tslib": "^2.1.0" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@material/base": { + "version": "15.0.0-canary.b994146f6.0", + "resolved": "https://registry.npmjs.org/@material/base/-/base-15.0.0-canary.b994146f6.0.tgz", + "integrity": "sha512-rW2upYD5YjRFBL6DzYn3SCRhtvpEDkwplDS810e3vt71uLMRyqXyw4OQJH+Nab/t+32TFDtKNUphXIzwICXGDQ==", + "dependencies": { + "tslib": "^2.1.0" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@material/button": { + "version": "15.0.0-canary.b994146f6.0", + "resolved": "https://registry.npmjs.org/@material/button/-/button-15.0.0-canary.b994146f6.0.tgz", + "integrity": "sha512-SMyqtsvJuCqpXBz2JgciuR6wddNJSGpTXUFxmLbGluBy5/hHm06JWlOFcUOxGDv46OdRGGrRfkg6A9JtvtsJsw==", + "dependencies": { + "@material/density": "15.0.0-canary.b994146f6.0", + "@material/dom": "15.0.0-canary.b994146f6.0", + "@material/elevation": "15.0.0-canary.b994146f6.0", + "@material/feature-targeting": "15.0.0-canary.b994146f6.0", + "@material/focus-ring": "15.0.0-canary.b994146f6.0", + "@material/ripple": "15.0.0-canary.b994146f6.0", + "@material/rtl": "15.0.0-canary.b994146f6.0", + "@material/shape": "15.0.0-canary.b994146f6.0", + "@material/theme": "15.0.0-canary.b994146f6.0", + "@material/tokens": "15.0.0-canary.b994146f6.0", + "@material/touch-target": "15.0.0-canary.b994146f6.0", + "@material/typography": "15.0.0-canary.b994146f6.0", + "tslib": "^2.1.0" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@material/card": { + "version": "15.0.0-canary.b994146f6.0", + "resolved": "https://registry.npmjs.org/@material/card/-/card-15.0.0-canary.b994146f6.0.tgz", + "integrity": "sha512-WSggGon91HcDhJyatnYLFkoM9glkkeJjyjFDWrcJkwN1rdrPJU+GH+PNjvmArz5hGv9WkmjDjhOdAuPnL4Mb7g==", + "dependencies": { + "@material/dom": "15.0.0-canary.b994146f6.0", + "@material/elevation": "15.0.0-canary.b994146f6.0", + "@material/feature-targeting": "15.0.0-canary.b994146f6.0", + "@material/ripple": "15.0.0-canary.b994146f6.0", + "@material/rtl": "15.0.0-canary.b994146f6.0", + "@material/shape": "15.0.0-canary.b994146f6.0", + "@material/theme": "15.0.0-canary.b994146f6.0", + "@material/tokens": "15.0.0-canary.b994146f6.0", + "tslib": "^2.1.0" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@material/checkbox": { + "version": "15.0.0-canary.b994146f6.0", + "resolved": "https://registry.npmjs.org/@material/checkbox/-/checkbox-15.0.0-canary.b994146f6.0.tgz", + "integrity": "sha512-pulRiwG9S/dS6WBG+GteODBltddFiL0Sb7HAqdzF2BTKNKv25q1ZIR3ftoEa09TNeWM88AOzTJ4aBHiADfJn2w==", + "dependencies": { + "@material/animation": "15.0.0-canary.b994146f6.0", + "@material/base": "15.0.0-canary.b994146f6.0", + "@material/density": "15.0.0-canary.b994146f6.0", + "@material/dom": "15.0.0-canary.b994146f6.0", + "@material/feature-targeting": "15.0.0-canary.b994146f6.0", + "@material/focus-ring": "15.0.0-canary.b994146f6.0", + "@material/ripple": "15.0.0-canary.b994146f6.0", + "@material/rtl": "15.0.0-canary.b994146f6.0", + "@material/theme": "15.0.0-canary.b994146f6.0", + "@material/touch-target": "15.0.0-canary.b994146f6.0", + "tslib": "^2.1.0" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@material/chips": { + "version": "15.0.0-canary.b994146f6.0", + "resolved": "https://registry.npmjs.org/@material/chips/-/chips-15.0.0-canary.b994146f6.0.tgz", + "integrity": "sha512-3yJPj7x+eKLA4LMKG7aTWI+itAnKRVGOcniuR6aiXVy0OKr5asNuWNeZc9J0/VErjjxF3tdybDzDSPo01qPy9w==", + "dependencies": { + "@material/animation": "15.0.0-canary.b994146f6.0", + "@material/base": "15.0.0-canary.b994146f6.0", + "@material/checkbox": "15.0.0-canary.b994146f6.0", + "@material/density": "15.0.0-canary.b994146f6.0", + "@material/dom": "15.0.0-canary.b994146f6.0", + "@material/elevation": "15.0.0-canary.b994146f6.0", + "@material/feature-targeting": "15.0.0-canary.b994146f6.0", + "@material/focus-ring": "15.0.0-canary.b994146f6.0", + "@material/ripple": "15.0.0-canary.b994146f6.0", + "@material/rtl": "15.0.0-canary.b994146f6.0", + "@material/shape": "15.0.0-canary.b994146f6.0", + "@material/theme": "15.0.0-canary.b994146f6.0", + "@material/tokens": "15.0.0-canary.b994146f6.0", + "@material/touch-target": "15.0.0-canary.b994146f6.0", + "@material/typography": "15.0.0-canary.b994146f6.0", + "safevalues": "^0.3.4", + "tslib": "^2.1.0" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@material/circular-progress": { + "version": "15.0.0-canary.b994146f6.0", + "resolved": "https://registry.npmjs.org/@material/circular-progress/-/circular-progress-15.0.0-canary.b994146f6.0.tgz", + "integrity": "sha512-6YUvGXdtZKJoE7AuovR4xk1aiWp/EDZ6j2U3TOeynd1assQQCg5XT4abqAoHtpJrRPaCFgUAp836HyiDVVuYug==", + "dependencies": { + "@material/animation": "15.0.0-canary.b994146f6.0", + "@material/base": "15.0.0-canary.b994146f6.0", + "@material/dom": "15.0.0-canary.b994146f6.0", + "@material/feature-targeting": "15.0.0-canary.b994146f6.0", + "@material/progress-indicator": "15.0.0-canary.b994146f6.0", + "@material/rtl": "15.0.0-canary.b994146f6.0", + "@material/theme": "15.0.0-canary.b994146f6.0", + "tslib": "^2.1.0" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@material/data-table": { + "version": "15.0.0-canary.b994146f6.0", + "resolved": "https://registry.npmjs.org/@material/data-table/-/data-table-15.0.0-canary.b994146f6.0.tgz", + "integrity": "sha512-v4hIduIe/wzyibuL/RPM/ErYrt8XpB7fxyQqtV+0JsMpFa8E81QYyvMCS9EJj9m4YdkrQnZgA+vXQlOkhWvmdQ==", + "dependencies": { + "@material/animation": "15.0.0-canary.b994146f6.0", + "@material/base": "15.0.0-canary.b994146f6.0", + "@material/checkbox": "15.0.0-canary.b994146f6.0", + "@material/density": "15.0.0-canary.b994146f6.0", + "@material/dom": "15.0.0-canary.b994146f6.0", + "@material/elevation": "15.0.0-canary.b994146f6.0", + "@material/feature-targeting": "15.0.0-canary.b994146f6.0", + "@material/icon-button": "15.0.0-canary.b994146f6.0", + "@material/linear-progress": "15.0.0-canary.b994146f6.0", + "@material/list": "15.0.0-canary.b994146f6.0", + "@material/menu": "15.0.0-canary.b994146f6.0", + "@material/rtl": "15.0.0-canary.b994146f6.0", + "@material/select": "15.0.0-canary.b994146f6.0", + "@material/shape": "15.0.0-canary.b994146f6.0", + "@material/theme": "15.0.0-canary.b994146f6.0", + "@material/tokens": "15.0.0-canary.b994146f6.0", + "@material/touch-target": "15.0.0-canary.b994146f6.0", + "@material/typography": "15.0.0-canary.b994146f6.0", + "tslib": "^2.1.0" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@material/density": { + "version": "15.0.0-canary.b994146f6.0", + "resolved": "https://registry.npmjs.org/@material/density/-/density-15.0.0-canary.b994146f6.0.tgz", + "integrity": "sha512-m8l0vuoWSoAPItBpWp5eZDvitUcB2JWoO8V486hLgdveVcKgXG09xWM43ScH+PLXAWjzr5olDEuJ2tvfkN3SpQ==", + "dependencies": { + "tslib": "^2.1.0" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@material/dialog": { + "version": "15.0.0-canary.b994146f6.0", + "resolved": "https://registry.npmjs.org/@material/dialog/-/dialog-15.0.0-canary.b994146f6.0.tgz", + "integrity": "sha512-JucU92yh8cfZQpyRBunHr6uohacePLYmhcPaGpkAGQ1b+zCznEsNs55tjhaVQNoj91XA9rrBqtL6Otg+fxFJtQ==", + "dependencies": { + "@material/animation": "15.0.0-canary.b994146f6.0", + "@material/base": "15.0.0-canary.b994146f6.0", + "@material/button": "15.0.0-canary.b994146f6.0", + "@material/dom": "15.0.0-canary.b994146f6.0", + "@material/elevation": "15.0.0-canary.b994146f6.0", + "@material/feature-targeting": "15.0.0-canary.b994146f6.0", + "@material/icon-button": "15.0.0-canary.b994146f6.0", + "@material/ripple": "15.0.0-canary.b994146f6.0", + "@material/rtl": "15.0.0-canary.b994146f6.0", + "@material/shape": "15.0.0-canary.b994146f6.0", + "@material/theme": "15.0.0-canary.b994146f6.0", + "@material/tokens": "15.0.0-canary.b994146f6.0", + "@material/touch-target": "15.0.0-canary.b994146f6.0", + "@material/typography": "15.0.0-canary.b994146f6.0", + "tslib": "^2.1.0" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@material/dom": { + "version": "15.0.0-canary.b994146f6.0", + "resolved": "https://registry.npmjs.org/@material/dom/-/dom-15.0.0-canary.b994146f6.0.tgz", + "integrity": "sha512-DiUsTezrCi4iytjIn7xXoXZSNFvuTrVVZgc7cR9cW8yu2Hpz8bPf87PacVn4IP9OsNwy/dCDMk1Kcq/DMh7gXQ==", + "dependencies": { + "@material/feature-targeting": "15.0.0-canary.b994146f6.0", + "@material/rtl": "15.0.0-canary.b994146f6.0", + "tslib": "^2.1.0" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@material/drawer": { + "version": "15.0.0-canary.b994146f6.0", + "resolved": "https://registry.npmjs.org/@material/drawer/-/drawer-15.0.0-canary.b994146f6.0.tgz", + "integrity": "sha512-Kbuf32V0eX69amvCVbAjNSabNDerZWyG8ip466EfQHRh0OUZwvsbhLp9FZOB7AyR+/bQiHf3mVLcombOdmdkcQ==", + "dependencies": { + "@material/animation": "15.0.0-canary.b994146f6.0", + "@material/base": "15.0.0-canary.b994146f6.0", + "@material/dom": "15.0.0-canary.b994146f6.0", + "@material/elevation": "15.0.0-canary.b994146f6.0", + "@material/feature-targeting": "15.0.0-canary.b994146f6.0", + "@material/list": "15.0.0-canary.b994146f6.0", + "@material/ripple": "15.0.0-canary.b994146f6.0", + "@material/rtl": "15.0.0-canary.b994146f6.0", + "@material/shape": "15.0.0-canary.b994146f6.0", + "@material/theme": "15.0.0-canary.b994146f6.0", + "@material/typography": "15.0.0-canary.b994146f6.0", + "tslib": "^2.1.0" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@material/elevation": { + "version": "15.0.0-canary.b994146f6.0", + "resolved": "https://registry.npmjs.org/@material/elevation/-/elevation-15.0.0-canary.b994146f6.0.tgz", + "integrity": "sha512-l2YDNgBajSI6oA2l6gaeYCTGHRao657syqQ/tv95/Hkcee9900A4RrsxCwSxOqqAs5pZZDEJ33kFJjj27nqZDw==", + "dependencies": { + "@material/animation": "15.0.0-canary.b994146f6.0", + "@material/base": "15.0.0-canary.b994146f6.0", + "@material/feature-targeting": "15.0.0-canary.b994146f6.0", + "@material/rtl": "15.0.0-canary.b994146f6.0", + "@material/theme": "15.0.0-canary.b994146f6.0", + "tslib": "^2.1.0" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@material/fab": { + "version": "15.0.0-canary.b994146f6.0", + "resolved": "https://registry.npmjs.org/@material/fab/-/fab-15.0.0-canary.b994146f6.0.tgz", + "integrity": "sha512-ExyDVkNWINpns41Ahj4u8I/OhiVkqI0nmcqjFRtgTJMmKEd4NhlvqIxE7gakAlyS68riJu5UleqTSTVmt8mv2Q==", + "dependencies": { + "@material/animation": "15.0.0-canary.b994146f6.0", + "@material/dom": "15.0.0-canary.b994146f6.0", + "@material/elevation": "15.0.0-canary.b994146f6.0", + "@material/feature-targeting": "15.0.0-canary.b994146f6.0", + "@material/focus-ring": "15.0.0-canary.b994146f6.0", + "@material/ripple": "15.0.0-canary.b994146f6.0", + "@material/rtl": "15.0.0-canary.b994146f6.0", + "@material/shape": "15.0.0-canary.b994146f6.0", + "@material/theme": "15.0.0-canary.b994146f6.0", + "@material/tokens": "15.0.0-canary.b994146f6.0", + "@material/touch-target": "15.0.0-canary.b994146f6.0", + "@material/typography": "15.0.0-canary.b994146f6.0", + "tslib": "^2.1.0" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@material/feature-targeting": { + "version": "15.0.0-canary.b994146f6.0", + "resolved": "https://registry.npmjs.org/@material/feature-targeting/-/feature-targeting-15.0.0-canary.b994146f6.0.tgz", + "integrity": "sha512-HR/FjSQmza98B1DF80MRjODyfOI9r7wXkPSts/cLQsYkpwZ5uJmxhvQKjDCeYVpMV0lQuvuvVOQo7uD44TdWEg==", + "dependencies": { + "tslib": "^2.1.0" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@material/floating-label": { + "version": "15.0.0-canary.b994146f6.0", + "resolved": "https://registry.npmjs.org/@material/floating-label/-/floating-label-15.0.0-canary.b994146f6.0.tgz", + "integrity": "sha512-g64talBNWCS0FUfLWal0uB637gUciSIqYxFzSW//LglTtbZLGK2J4+9gAEswQGnKeO4ux08EN2n1ZcMDYQ58ow==", + "dependencies": { + "@material/animation": "15.0.0-canary.b994146f6.0", + "@material/base": "15.0.0-canary.b994146f6.0", + "@material/dom": "15.0.0-canary.b994146f6.0", + "@material/feature-targeting": "15.0.0-canary.b994146f6.0", + "@material/rtl": "15.0.0-canary.b994146f6.0", + "@material/theme": "15.0.0-canary.b994146f6.0", + "@material/typography": "15.0.0-canary.b994146f6.0", + "tslib": "^2.1.0" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@material/focus-ring": { + "version": "15.0.0-canary.b994146f6.0", + "resolved": "https://registry.npmjs.org/@material/focus-ring/-/focus-ring-15.0.0-canary.b994146f6.0.tgz", + "integrity": "sha512-87qEMuXsCvlQfTiimnzJUZoebnIXWcMtRZevNLymN9Y0t9jGckQxZPmrI0llRkpyiR/Ewhec5SI/JGrFlYHnsA==", + "dependencies": { + "@material/dom": "15.0.0-canary.b994146f6.0", + "@material/feature-targeting": "15.0.0-canary.b994146f6.0", + "@material/rtl": "15.0.0-canary.b994146f6.0" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@material/form-field": { + "version": "15.0.0-canary.b994146f6.0", + "resolved": "https://registry.npmjs.org/@material/form-field/-/form-field-15.0.0-canary.b994146f6.0.tgz", + "integrity": "sha512-Tg1SQQaopvXMyDEYxGTWnhCWQmNcWVIoKMLmle9P/gi2p8ulcj0iOCPYf+3ECqUBVozOmTPKlYOOiRwtKStAeA==", + "dependencies": { + "@material/base": "15.0.0-canary.b994146f6.0", + "@material/feature-targeting": "15.0.0-canary.b994146f6.0", + "@material/ripple": "15.0.0-canary.b994146f6.0", + "@material/rtl": "15.0.0-canary.b994146f6.0", + "@material/theme": "15.0.0-canary.b994146f6.0", + "@material/typography": "15.0.0-canary.b994146f6.0", + "tslib": "^2.1.0" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@material/icon-button": { + "version": "15.0.0-canary.b994146f6.0", + "resolved": "https://registry.npmjs.org/@material/icon-button/-/icon-button-15.0.0-canary.b994146f6.0.tgz", + "integrity": "sha512-X6DvOv4jpymHUjI7ZAbO946nDgGYKDwPZfkRzBE84gv2XEr2qfMuABhojxkYubRbt03oauBdcJVVMFCXkVhArQ==", + "dependencies": { + "@material/base": "15.0.0-canary.b994146f6.0", + "@material/density": "15.0.0-canary.b994146f6.0", + "@material/dom": "15.0.0-canary.b994146f6.0", + "@material/elevation": "15.0.0-canary.b994146f6.0", + "@material/feature-targeting": "15.0.0-canary.b994146f6.0", + "@material/focus-ring": "15.0.0-canary.b994146f6.0", + "@material/ripple": "15.0.0-canary.b994146f6.0", + "@material/rtl": "15.0.0-canary.b994146f6.0", + "@material/theme": "15.0.0-canary.b994146f6.0", + "@material/touch-target": "15.0.0-canary.b994146f6.0", + "tslib": "^2.1.0" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@material/image-list": { + "version": "15.0.0-canary.b994146f6.0", + "resolved": "https://registry.npmjs.org/@material/image-list/-/image-list-15.0.0-canary.b994146f6.0.tgz", + "integrity": "sha512-kf903XFF1P+V5ZPXCt+7R6c55g4UyQE1ZHkTViCIJfd52gU40bHODMhTQy/ywBkwDeJfNk8uf1V1IM24WQYpxA==", + "dependencies": { + "@material/feature-targeting": "15.0.0-canary.b994146f6.0", + "@material/shape": "15.0.0-canary.b994146f6.0", + "@material/theme": "15.0.0-canary.b994146f6.0", + "@material/typography": "15.0.0-canary.b994146f6.0", + "tslib": "^2.1.0" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@material/layout-grid": { + "version": "15.0.0-canary.b994146f6.0", + "resolved": "https://registry.npmjs.org/@material/layout-grid/-/layout-grid-15.0.0-canary.b994146f6.0.tgz", + "integrity": "sha512-OALBSGue8g1/mEwLYYi2d950dJFpNYKW87jPS9/KM65JKMyxoU7tU2d4An1BuyqK0r9sopGq6Pn/zhill0iLaw==", + "dependencies": { + "tslib": "^2.1.0" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@material/line-ripple": { + "version": "15.0.0-canary.b994146f6.0", + "resolved": "https://registry.npmjs.org/@material/line-ripple/-/line-ripple-15.0.0-canary.b994146f6.0.tgz", + "integrity": "sha512-evjZxCu4iodiKtW8N0xjY8ACRXm3sY+4rAmq3vV5BmHWAJ3BobjbFYslDMZQ+4mu3HmwMatbJehKxHegahitNg==", + "dependencies": { + "@material/animation": "15.0.0-canary.b994146f6.0", + "@material/base": "15.0.0-canary.b994146f6.0", + "@material/feature-targeting": "15.0.0-canary.b994146f6.0", + "@material/theme": "15.0.0-canary.b994146f6.0", + "tslib": "^2.1.0" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@material/linear-progress": { + "version": "15.0.0-canary.b994146f6.0", + "resolved": "https://registry.npmjs.org/@material/linear-progress/-/linear-progress-15.0.0-canary.b994146f6.0.tgz", + "integrity": "sha512-jlXh+tIj+/o0Ks7fHdC/24fH6IXCAl2vF52U6NwT39ESrlwmlLhp3gtag5GSBHN5E7Z09nK871Yo1G/b1F+COg==", + "dependencies": { + "@material/animation": "15.0.0-canary.b994146f6.0", + "@material/base": "15.0.0-canary.b994146f6.0", + "@material/dom": "15.0.0-canary.b994146f6.0", + "@material/feature-targeting": "15.0.0-canary.b994146f6.0", + "@material/progress-indicator": "15.0.0-canary.b994146f6.0", + "@material/rtl": "15.0.0-canary.b994146f6.0", + "@material/theme": "15.0.0-canary.b994146f6.0", + "tslib": "^2.1.0" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@material/list": { + "version": "15.0.0-canary.b994146f6.0", + "resolved": "https://registry.npmjs.org/@material/list/-/list-15.0.0-canary.b994146f6.0.tgz", + "integrity": "sha512-kY/i6VvFBb/W3VvCPvWRMzWvu7mvNFJ+R8ijfawDoAXiv4fj42GO4iFyTcFXaUevEPKp791pN/09BMJQ6jYEvA==", + "dependencies": { + "@material/base": "15.0.0-canary.b994146f6.0", + "@material/density": "15.0.0-canary.b994146f6.0", + "@material/dom": "15.0.0-canary.b994146f6.0", + "@material/feature-targeting": "15.0.0-canary.b994146f6.0", + "@material/ripple": "15.0.0-canary.b994146f6.0", + "@material/rtl": "15.0.0-canary.b994146f6.0", + "@material/shape": "15.0.0-canary.b994146f6.0", + "@material/theme": "15.0.0-canary.b994146f6.0", + "@material/tokens": "15.0.0-canary.b994146f6.0", + "@material/typography": "15.0.0-canary.b994146f6.0", + "tslib": "^2.1.0" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@material/menu": { + "version": "15.0.0-canary.b994146f6.0", + "resolved": "https://registry.npmjs.org/@material/menu/-/menu-15.0.0-canary.b994146f6.0.tgz", + "integrity": "sha512-y6smNmLJ+U0DoXWbyqzW+VW/uWDuklhdGHc5MbZrTOhsKkhvoTVNMSOa+NFPU4gTwrplvUjaUvnIsQ0wygwD3g==", + "dependencies": { + "@material/base": "15.0.0-canary.b994146f6.0", + "@material/dom": "15.0.0-canary.b994146f6.0", + "@material/elevation": "15.0.0-canary.b994146f6.0", + "@material/feature-targeting": "15.0.0-canary.b994146f6.0", + "@material/list": "15.0.0-canary.b994146f6.0", + "@material/menu-surface": "15.0.0-canary.b994146f6.0", + "@material/ripple": "15.0.0-canary.b994146f6.0", + "@material/rtl": "15.0.0-canary.b994146f6.0", + "@material/shape": "15.0.0-canary.b994146f6.0", + "@material/theme": "15.0.0-canary.b994146f6.0", + "@material/tokens": "15.0.0-canary.b994146f6.0", + "tslib": "^2.1.0" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@material/menu-surface": { + "version": "15.0.0-canary.b994146f6.0", + "resolved": "https://registry.npmjs.org/@material/menu-surface/-/menu-surface-15.0.0-canary.b994146f6.0.tgz", + "integrity": "sha512-StmM3lrRn1iMEZfq532jpMNppqyBBy68FbPurKEsHuP/3q+CscfnwjrS9ym+JcHqXKMHnQXbL/49ymffRGX2AQ==", + "dependencies": { + "@material/animation": "15.0.0-canary.b994146f6.0", + "@material/base": "15.0.0-canary.b994146f6.0", + "@material/elevation": "15.0.0-canary.b994146f6.0", + "@material/feature-targeting": "15.0.0-canary.b994146f6.0", + "@material/rtl": "15.0.0-canary.b994146f6.0", + "@material/shape": "15.0.0-canary.b994146f6.0", + "@material/theme": "15.0.0-canary.b994146f6.0", + "tslib": "^2.1.0" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@material/notched-outline": { + "version": "15.0.0-canary.b994146f6.0", + "resolved": "https://registry.npmjs.org/@material/notched-outline/-/notched-outline-15.0.0-canary.b994146f6.0.tgz", + "integrity": "sha512-UZxU8jXM2t/bk/CiO0K+TSPspuJRZIyrYlIS0gd+qq/u8Gi2DpALBlLAh9Jeu46IUg4YGlPsNWYfe8p3QAVyoA==", + "dependencies": { + "@material/base": "15.0.0-canary.b994146f6.0", + "@material/feature-targeting": "15.0.0-canary.b994146f6.0", + "@material/floating-label": "15.0.0-canary.b994146f6.0", + "@material/rtl": "15.0.0-canary.b994146f6.0", + "@material/shape": "15.0.0-canary.b994146f6.0", + "@material/theme": "15.0.0-canary.b994146f6.0", + "tslib": "^2.1.0" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@material/progress-indicator": { + "version": "15.0.0-canary.b994146f6.0", + "resolved": "https://registry.npmjs.org/@material/progress-indicator/-/progress-indicator-15.0.0-canary.b994146f6.0.tgz", + "integrity": "sha512-VT+mOQhohaM+pBX1rknbVOI6JCGKg9NiOHBoYljIvnexNeILE+mW9g6mtQ0ZCJPz0oMmiSAMLcuxMIcBXx84Xw==", + "dependencies": { + "tslib": "^2.1.0" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@material/radio": { + "version": "15.0.0-canary.b994146f6.0", + "resolved": "https://registry.npmjs.org/@material/radio/-/radio-15.0.0-canary.b994146f6.0.tgz", + "integrity": "sha512-U/RR2lVNWwEO2+kJtGz9XzvnOF0gAZn1krMY0z/eU9Wnl0OgPZbqQrxXMoVNv1pzKYSEwZQEGado/rv8qp7piA==", + "dependencies": { + "@material/animation": "15.0.0-canary.b994146f6.0", + "@material/base": "15.0.0-canary.b994146f6.0", + "@material/density": "15.0.0-canary.b994146f6.0", + "@material/dom": "15.0.0-canary.b994146f6.0", + "@material/feature-targeting": "15.0.0-canary.b994146f6.0", + "@material/focus-ring": "15.0.0-canary.b994146f6.0", + "@material/ripple": "15.0.0-canary.b994146f6.0", + "@material/theme": "15.0.0-canary.b994146f6.0", + "@material/touch-target": "15.0.0-canary.b994146f6.0", + "tslib": "^2.1.0" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@material/ripple": { + "version": "15.0.0-canary.b994146f6.0", + "resolved": "https://registry.npmjs.org/@material/ripple/-/ripple-15.0.0-canary.b994146f6.0.tgz", + "integrity": "sha512-WzIbc8wYTzMOczqGXVCBPdNcv/73Ef8FwcQYsscGMaqCzgVsdpoqilTfsx7Ryyz6dQbyfmJqp7s+YpPujcezOA==", + "dependencies": { + "@material/animation": "15.0.0-canary.b994146f6.0", + "@material/base": "15.0.0-canary.b994146f6.0", + "@material/dom": "15.0.0-canary.b994146f6.0", + "@material/feature-targeting": "15.0.0-canary.b994146f6.0", + "@material/rtl": "15.0.0-canary.b994146f6.0", + "@material/theme": "15.0.0-canary.b994146f6.0", + "tslib": "^2.1.0" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@material/rtl": { + "version": "15.0.0-canary.b994146f6.0", + "resolved": "https://registry.npmjs.org/@material/rtl/-/rtl-15.0.0-canary.b994146f6.0.tgz", + "integrity": "sha512-H/W6BVn4Ygfkrf/FgSrNhbu1uY7PST2wlsjEYQt06EfAM0CDHEwSL1MwV4FmpQA/r40Q0PqoLN6moDrtCe5S8g==", + "dependencies": { + "@material/theme": "15.0.0-canary.b994146f6.0", + "tslib": "^2.1.0" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@material/segmented-button": { + "version": "15.0.0-canary.b994146f6.0", + "resolved": "https://registry.npmjs.org/@material/segmented-button/-/segmented-button-15.0.0-canary.b994146f6.0.tgz", + "integrity": "sha512-jd+f4BTnU0tghxBpAM/XdVmruDXSoQ88TYSFWbrhulS+/c/ooCZURWvVC4mHNej+QR/fODkx4adbqkBiwwCtMw==", + "dependencies": { + "@material/base": "15.0.0-canary.b994146f6.0", + "@material/elevation": "15.0.0-canary.b994146f6.0", + "@material/feature-targeting": "15.0.0-canary.b994146f6.0", + "@material/ripple": "15.0.0-canary.b994146f6.0", + "@material/theme": "15.0.0-canary.b994146f6.0", + "@material/touch-target": "15.0.0-canary.b994146f6.0", + "@material/typography": "15.0.0-canary.b994146f6.0", + "tslib": "^2.1.0" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@material/select": { + "version": "15.0.0-canary.b994146f6.0", + "resolved": "https://registry.npmjs.org/@material/select/-/select-15.0.0-canary.b994146f6.0.tgz", + "integrity": "sha512-5thEQS+B17JSm3I8D+mqQe2G3ArVnXJALTEEE9FmMUKwKYkrsLplm3FYuEXERZGJnYeTRdkdmhYY/YeocfZoyA==", + "dependencies": { + "@material/animation": "15.0.0-canary.b994146f6.0", + "@material/base": "15.0.0-canary.b994146f6.0", + "@material/density": "15.0.0-canary.b994146f6.0", + "@material/dom": "15.0.0-canary.b994146f6.0", + "@material/elevation": "15.0.0-canary.b994146f6.0", + "@material/feature-targeting": "15.0.0-canary.b994146f6.0", + "@material/floating-label": "15.0.0-canary.b994146f6.0", + "@material/line-ripple": "15.0.0-canary.b994146f6.0", + "@material/list": "15.0.0-canary.b994146f6.0", + "@material/menu": "15.0.0-canary.b994146f6.0", + "@material/menu-surface": "15.0.0-canary.b994146f6.0", + "@material/notched-outline": "15.0.0-canary.b994146f6.0", + "@material/ripple": "15.0.0-canary.b994146f6.0", + "@material/rtl": "15.0.0-canary.b994146f6.0", + "@material/shape": "15.0.0-canary.b994146f6.0", + "@material/theme": "15.0.0-canary.b994146f6.0", + "@material/tokens": "15.0.0-canary.b994146f6.0", + "@material/typography": "15.0.0-canary.b994146f6.0", + "tslib": "^2.1.0" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@material/shape": { + "version": "15.0.0-canary.b994146f6.0", + "resolved": "https://registry.npmjs.org/@material/shape/-/shape-15.0.0-canary.b994146f6.0.tgz", + "integrity": "sha512-sINM3gr3aLgdvqZVfqfXV5EB77owLLJjy+2NqchJ8ZPqucCJ+F/BsCBfLA2Wu3O4Sc9IpAEn/o1hzYm/CWAFAw==", + "dependencies": { + "@material/feature-targeting": "15.0.0-canary.b994146f6.0", + "@material/rtl": "15.0.0-canary.b994146f6.0", + "@material/theme": "15.0.0-canary.b994146f6.0", + "tslib": "^2.1.0" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@material/slider": { + "version": "15.0.0-canary.b994146f6.0", + "resolved": "https://registry.npmjs.org/@material/slider/-/slider-15.0.0-canary.b994146f6.0.tgz", + "integrity": "sha512-dyT72+Kp//AEajJxDUVoMoizUjf2uggVMGXOaQ7FhpGHuf7LC3EyEjrrJ15efFzYgTjdJUU1YQkCwGmdt6CQsA==", + "dependencies": { + "@material/animation": "15.0.0-canary.b994146f6.0", + "@material/base": "15.0.0-canary.b994146f6.0", + "@material/dom": "15.0.0-canary.b994146f6.0", + "@material/elevation": "15.0.0-canary.b994146f6.0", + "@material/feature-targeting": "15.0.0-canary.b994146f6.0", + "@material/ripple": "15.0.0-canary.b994146f6.0", + "@material/rtl": "15.0.0-canary.b994146f6.0", + "@material/theme": "15.0.0-canary.b994146f6.0", + "@material/tokens": "15.0.0-canary.b994146f6.0", + "@material/typography": "15.0.0-canary.b994146f6.0", + "tslib": "^2.1.0" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@material/snackbar": { + "version": "15.0.0-canary.b994146f6.0", + "resolved": "https://registry.npmjs.org/@material/snackbar/-/snackbar-15.0.0-canary.b994146f6.0.tgz", + "integrity": "sha512-fEhPASJossScNpcrNYrrH8uU+rUf6+kw7/ZMrpUzzz1lVXliL28jTNEmU1nFpcDI4M2GXH+Z64f7vl2hiMDG8g==", + "dependencies": { + "@material/animation": "15.0.0-canary.b994146f6.0", + "@material/base": "15.0.0-canary.b994146f6.0", + "@material/button": "15.0.0-canary.b994146f6.0", + "@material/dom": "15.0.0-canary.b994146f6.0", + "@material/elevation": "15.0.0-canary.b994146f6.0", + "@material/feature-targeting": "15.0.0-canary.b994146f6.0", + "@material/icon-button": "15.0.0-canary.b994146f6.0", + "@material/ripple": "15.0.0-canary.b994146f6.0", + "@material/rtl": "15.0.0-canary.b994146f6.0", + "@material/shape": "15.0.0-canary.b994146f6.0", + "@material/theme": "15.0.0-canary.b994146f6.0", + "@material/tokens": "15.0.0-canary.b994146f6.0", + "@material/typography": "15.0.0-canary.b994146f6.0", + "tslib": "^2.1.0" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@material/switch": { + "version": "15.0.0-canary.b994146f6.0", + "resolved": "https://registry.npmjs.org/@material/switch/-/switch-15.0.0-canary.b994146f6.0.tgz", + "integrity": "sha512-czCXTUa30ILIf1J3exiuSVIRcodGATHexd3eWDq4sfHo4iMh4rBMaIxcqkmnb2iwE/mMTNyVfoauijx2QiNKrA==", + "dependencies": { + "@material/animation": "15.0.0-canary.b994146f6.0", + "@material/base": "15.0.0-canary.b994146f6.0", + "@material/density": "15.0.0-canary.b994146f6.0", + "@material/dom": "15.0.0-canary.b994146f6.0", + "@material/elevation": "15.0.0-canary.b994146f6.0", + "@material/feature-targeting": "15.0.0-canary.b994146f6.0", + "@material/focus-ring": "15.0.0-canary.b994146f6.0", + "@material/ripple": "15.0.0-canary.b994146f6.0", + "@material/rtl": "15.0.0-canary.b994146f6.0", + "@material/shape": "15.0.0-canary.b994146f6.0", + "@material/theme": "15.0.0-canary.b994146f6.0", + "@material/tokens": "15.0.0-canary.b994146f6.0", + "safevalues": "^0.3.4", + "tslib": "^2.1.0" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@material/tab": { + "version": "15.0.0-canary.b994146f6.0", + "resolved": "https://registry.npmjs.org/@material/tab/-/tab-15.0.0-canary.b994146f6.0.tgz", + "integrity": "sha512-ygswooiNdBNNDnQdbPX0nzDQu7oQlHo8vWZ0/xL4IPVEXabY5zCzsEbGNZw2u/syo56c/NHPyMsUmXDGRSXOvQ==", + "dependencies": { + "@material/base": "15.0.0-canary.b994146f6.0", + "@material/elevation": "15.0.0-canary.b994146f6.0", + "@material/feature-targeting": "15.0.0-canary.b994146f6.0", + "@material/focus-ring": "15.0.0-canary.b994146f6.0", + "@material/ripple": "15.0.0-canary.b994146f6.0", + "@material/rtl": "15.0.0-canary.b994146f6.0", + "@material/tab-indicator": "15.0.0-canary.b994146f6.0", + "@material/theme": "15.0.0-canary.b994146f6.0", + "@material/tokens": "15.0.0-canary.b994146f6.0", + "@material/typography": "15.0.0-canary.b994146f6.0", + "tslib": "^2.1.0" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@material/tab-bar": { + "version": "15.0.0-canary.b994146f6.0", + "resolved": "https://registry.npmjs.org/@material/tab-bar/-/tab-bar-15.0.0-canary.b994146f6.0.tgz", + "integrity": "sha512-F9NegACnFEWMu1pAAypV4Jd7qROeffkvEgVO28Xxk/CvzZxFz8kAjYJZ+rI6RUhPX3BhXzwsz/AlLwsJMT2tnA==", + "dependencies": { + "@material/animation": "15.0.0-canary.b994146f6.0", + "@material/base": "15.0.0-canary.b994146f6.0", + "@material/density": "15.0.0-canary.b994146f6.0", + "@material/elevation": "15.0.0-canary.b994146f6.0", + "@material/feature-targeting": "15.0.0-canary.b994146f6.0", + "@material/tab": "15.0.0-canary.b994146f6.0", + "@material/tab-indicator": "15.0.0-canary.b994146f6.0", + "@material/tab-scroller": "15.0.0-canary.b994146f6.0", + "@material/theme": "15.0.0-canary.b994146f6.0", + "@material/tokens": "15.0.0-canary.b994146f6.0", + "@material/typography": "15.0.0-canary.b994146f6.0", + "tslib": "^2.1.0" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@material/tab-indicator": { + "version": "15.0.0-canary.b994146f6.0", + "resolved": "https://registry.npmjs.org/@material/tab-indicator/-/tab-indicator-15.0.0-canary.b994146f6.0.tgz", + "integrity": "sha512-8IH/DmwlZhQlw/2Y3aKrEvjEhZB+qbKUiyaij3BkTAexvyFeDBh5cLNjRpYkUJSGeSPhS6yu4SYzMHPmQEwQmA==", + "dependencies": { + "@material/animation": "15.0.0-canary.b994146f6.0", + "@material/base": "15.0.0-canary.b994146f6.0", + "@material/feature-targeting": "15.0.0-canary.b994146f6.0", + "@material/theme": "15.0.0-canary.b994146f6.0", + "tslib": "^2.1.0" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@material/tab-scroller": { + "version": "15.0.0-canary.b994146f6.0", + "resolved": "https://registry.npmjs.org/@material/tab-scroller/-/tab-scroller-15.0.0-canary.b994146f6.0.tgz", + "integrity": "sha512-1MeWkr62OICfTv8oqhIZe6jFo0dKeMlUfB+/WcgnpoeMBszCOSlx5tQ4pedxUkuR3I+Z7rsTfSN0LavgF8bATA==", + "dependencies": { + "@material/animation": "15.0.0-canary.b994146f6.0", + "@material/base": "15.0.0-canary.b994146f6.0", + "@material/dom": "15.0.0-canary.b994146f6.0", + "@material/feature-targeting": "15.0.0-canary.b994146f6.0", + "@material/tab": "15.0.0-canary.b994146f6.0", + "tslib": "^2.1.0" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@material/textfield": { + "version": "15.0.0-canary.b994146f6.0", + "resolved": "https://registry.npmjs.org/@material/textfield/-/textfield-15.0.0-canary.b994146f6.0.tgz", + "integrity": "sha512-Kxb3DoJ5o8u3Y1gRMHKmWrDl1TirVxuf/UFrxPFiCE3J1SqiE2VQpakiD1emZwp+LSKtbRsQ/iILYLB/h7Wuvw==", + "dependencies": { + "@material/animation": "15.0.0-canary.b994146f6.0", + "@material/base": "15.0.0-canary.b994146f6.0", + "@material/density": "15.0.0-canary.b994146f6.0", + "@material/dom": "15.0.0-canary.b994146f6.0", + "@material/feature-targeting": "15.0.0-canary.b994146f6.0", + "@material/floating-label": "15.0.0-canary.b994146f6.0", + "@material/line-ripple": "15.0.0-canary.b994146f6.0", + "@material/notched-outline": "15.0.0-canary.b994146f6.0", + "@material/ripple": "15.0.0-canary.b994146f6.0", + "@material/rtl": "15.0.0-canary.b994146f6.0", + "@material/shape": "15.0.0-canary.b994146f6.0", + "@material/theme": "15.0.0-canary.b994146f6.0", + "@material/tokens": "15.0.0-canary.b994146f6.0", + "@material/typography": "15.0.0-canary.b994146f6.0", + "tslib": "^2.1.0" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@material/theme": { + "version": "15.0.0-canary.b994146f6.0", + "resolved": "https://registry.npmjs.org/@material/theme/-/theme-15.0.0-canary.b994146f6.0.tgz", + "integrity": "sha512-5tsZ92dAeUcZ9g9CrIkqX/GYc0M5DIfsydtI1PAidaBzr1Uokuh4rTZVQZBv7gyglF0yDua59lkb0I6wI9vxXg==", + "dependencies": { + "@material/feature-targeting": "15.0.0-canary.b994146f6.0", + "tslib": "^2.1.0" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@material/tokens": { + "version": "15.0.0-canary.b994146f6.0", + "resolved": "https://registry.npmjs.org/@material/tokens/-/tokens-15.0.0-canary.b994146f6.0.tgz", + "integrity": "sha512-jFqU7PtvGkrP8b8i2soCrYQInTrnZ1/rIPDi+Xm3sa/qSghCNwFrdJEqwcwtv1fPlJIOtzkIuVRYRmAP9rXQIQ==", + "dependencies": { + "@material/elevation": "15.0.0-canary.b994146f6.0" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@material/tooltip": { + "version": "15.0.0-canary.b994146f6.0", + "resolved": "https://registry.npmjs.org/@material/tooltip/-/tooltip-15.0.0-canary.b994146f6.0.tgz", + "integrity": "sha512-bVzydXGn3fauHJ8pkh32DsdyRJXleeFQ4t7jZ/rcRik+n4G1BvYiblfuu3Z/OCC0m3TJDyMdJhd+sLqRDqLUUg==", + "dependencies": { + "@material/animation": "15.0.0-canary.b994146f6.0", + "@material/base": "15.0.0-canary.b994146f6.0", + "@material/button": "15.0.0-canary.b994146f6.0", + "@material/dom": "15.0.0-canary.b994146f6.0", + "@material/elevation": "15.0.0-canary.b994146f6.0", + "@material/feature-targeting": "15.0.0-canary.b994146f6.0", + "@material/rtl": "15.0.0-canary.b994146f6.0", + "@material/shape": "15.0.0-canary.b994146f6.0", + "@material/theme": "15.0.0-canary.b994146f6.0", + "@material/tokens": "15.0.0-canary.b994146f6.0", + "@material/typography": "15.0.0-canary.b994146f6.0", + "safevalues": "^0.3.4", + "tslib": "^2.1.0" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@material/top-app-bar": { + "version": "15.0.0-canary.b994146f6.0", + "resolved": "https://registry.npmjs.org/@material/top-app-bar/-/top-app-bar-15.0.0-canary.b994146f6.0.tgz", + "integrity": "sha512-VHq0wX3OJE1TKvjO8Qtlu+rv5EGoqAhNLBcEjpUUGoqHH/gpd356FEuIqJId4pUh5jaWf8T4ZU9xVbQGMtntzw==", + "dependencies": { + "@material/animation": "15.0.0-canary.b994146f6.0", + "@material/base": "15.0.0-canary.b994146f6.0", + "@material/elevation": "15.0.0-canary.b994146f6.0", + "@material/ripple": "15.0.0-canary.b994146f6.0", + "@material/rtl": "15.0.0-canary.b994146f6.0", + "@material/shape": "15.0.0-canary.b994146f6.0", + "@material/theme": "15.0.0-canary.b994146f6.0", + "@material/typography": "15.0.0-canary.b994146f6.0", + "tslib": "^2.1.0" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@material/touch-target": { + "version": "15.0.0-canary.b994146f6.0", + "resolved": "https://registry.npmjs.org/@material/touch-target/-/touch-target-15.0.0-canary.b994146f6.0.tgz", + "integrity": "sha512-X26Y9OWvIqYOHo+sC2VMvOoeQWlUR3/yb7uPdfq92Y44zlQ4Vexgq7nEUblEiXQ8Fj+d0T9rIhRh1y9PP3Z2dw==", + "dependencies": { + "@material/base": "15.0.0-canary.b994146f6.0", + "@material/feature-targeting": "15.0.0-canary.b994146f6.0", + "@material/rtl": "15.0.0-canary.b994146f6.0", + "@material/theme": "15.0.0-canary.b994146f6.0", + "tslib": "^2.1.0" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@material/typography": { + "version": "15.0.0-canary.b994146f6.0", + "resolved": "https://registry.npmjs.org/@material/typography/-/typography-15.0.0-canary.b994146f6.0.tgz", + "integrity": "sha512-sWU5W30WWqdw5P6bsRx9AbvMNcz/QvQg56Syr06V6nfgSztpeuo7TfPk2J+N0ArRALo1mUrkAPk66iWYQ2p/QA==", + "dependencies": { + "@material/feature-targeting": "15.0.0-canary.b994146f6.0", + "@material/theme": "15.0.0-canary.b994146f6.0", + "tslib": "^2.1.0" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@schematics/angular": { + "version": "16.0.6", + "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-16.0.6.tgz", + "integrity": "sha512-8naIlMeY9p5iOZqc3D0reoN80xm/fQINrG8mqIOgIY6bDeqfFvMKfaozA3PbPLbZhl5Jyk7VfZnXb6ISN0KnxQ==", + "dev": true, + "dependencies": { + "@angular-devkit/core": "16.0.6", + "@angular-devkit/schematics": "16.0.6", + "jsonc-parser": "3.2.0" + }, + "engines": { + "node": "^16.14.0 || >=18.10.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@schematics/angular/node_modules/@angular-devkit/core": { + "version": "16.0.6", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-16.0.6.tgz", + "integrity": "sha512-pHbDUwXDMTWTnX/vafkFnzvYDQD8lz+w8FvMQE23Q/vN6/Q0BRf0PWTAGla6Wt+E4HaqqrbQS5P0YBwS4te2Pw==", + "dev": true, + "dependencies": { + "ajv": "8.12.0", + "ajv-formats": "2.1.1", + "jsonc-parser": "3.2.0", + "rxjs": "7.8.1", + "source-map": "0.7.4" + }, + "engines": { + "node": "^16.14.0 || >=18.10.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + }, + "peerDependencies": { + "chokidar": "^3.5.2" + }, + "peerDependenciesMeta": { + "chokidar": { + "optional": true + } + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@types/jasmine": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@types/jasmine/-/jasmine-4.0.3.tgz", + "integrity": "sha512-Opp1LvvEuZdk8fSSvchK2mZwhVrsNT0JgJE9Di6MjnaIpmEXM8TLCPPrVtNTYh8+5MPdY8j9bAHMu2SSfwpZJg==", + "dev": true + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@types/node": { + "version": "20.4.1", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.4.1.tgz", + "integrity": "sha512-JIzsAvJeA/5iY6Y/OxZbv1lUcc8dNSE77lb2gnBH+/PJ3lFR1Ccvgwl5JWnHAkNHcRsT0TbpVOsiMKZ1F/yyJg==", + "dev": true + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@vitejs/plugin-basic-ssl": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-basic-ssl/-/plugin-basic-ssl-1.0.1.tgz", + "integrity": "sha512-pcub+YbFtFhaGRTo1832FQHQSHvMrlb43974e2eS8EKleR3p1cDdkJFPci1UhwkEf1J9Bz+wKBSzqpKp7nNj2A==", + "dev": true, + "engines": { + "node": ">=14.6.0" + }, + "peerDependencies": { + "vite": "^3.0.0 || ^4.0.0" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@webassemblyjs/ast": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.6.tgz", + "integrity": "sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==", + "dev": true, + "dependencies": { + "@webassemblyjs/helper-numbers": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@webassemblyjs/helper-api-error": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", + "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==", + "dev": true + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@webassemblyjs/helper-buffer": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz", + "integrity": "sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==", + "dev": true + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", + "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==", + "dev": true + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@webassemblyjs/helper-wasm-section": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz", + "integrity": "sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@webassemblyjs/ieee754": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", + "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", + "dev": true, + "dependencies": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@webassemblyjs/leb128": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", + "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", + "dev": true, + "dependencies": { + "@xtuc/long": "4.2.2" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@webassemblyjs/utf8": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", + "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==", + "dev": true + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@webassemblyjs/wasm-edit": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz", + "integrity": "sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/helper-wasm-section": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6", + "@webassemblyjs/wasm-opt": "1.11.6", + "@webassemblyjs/wasm-parser": "1.11.6", + "@webassemblyjs/wast-printer": "1.11.6" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@webassemblyjs/wasm-gen": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz", + "integrity": "sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@webassemblyjs/wasm-opt": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz", + "integrity": "sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6", + "@webassemblyjs/wasm-parser": "1.11.6" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@webassemblyjs/wasm-parser": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz", + "integrity": "sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@webassemblyjs/wast-printer": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz", + "integrity": "sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@xtuc/long": "4.2.2" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/babel-loader": { + "version": "9.1.2", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-9.1.2.tgz", + "integrity": "sha512-mN14niXW43tddohGl8HPu5yfQq70iUThvFL/4QzESA7GcZoC0eVOhvWdQ8+3UlSjaDE9MVtsW9mxDY07W7VpVA==", + "dev": true, + "dependencies": { + "find-cache-dir": "^3.3.2", + "schema-utils": "^4.0.0" + }, + "engines": { + "node": ">= 14.15.0" + }, + "peerDependencies": { + "@babel/core": "^7.12.0", + "webpack": ">=5" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/babel-loader/node_modules/schema-utils": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", + "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/cacache": { + "version": "17.1.3", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-17.1.3.tgz", + "integrity": "sha512-jAdjGxmPxZh0IipMdR7fK/4sDSrHMLUV0+GvVUsjwyGNKHsh79kW/otg+GkbXwl6Uzvy9wsvHOX4nUoWldeZMg==", + "dev": true, + "dependencies": { + "@npmcli/fs": "^3.1.0", + "fs-minipass": "^3.0.0", + "glob": "^10.2.2", + "lru-cache": "^7.7.1", + "minipass": "^5.0.0", + "minipass-collect": "^1.0.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "p-map": "^4.0.0", + "ssri": "^10.0.0", + "tar": "^6.1.11", + "unique-filename": "^3.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/colors": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", + "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", + "dev": true, + "engines": { + "node": ">=0.1.90" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/commander": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", + "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", + "dev": true, + "optional": true, + "peer": true, + "engines": { + "node": ">=14" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/copy-webpack-plugin": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-11.0.0.tgz", + "integrity": "sha512-fX2MWpamkW0hZxMEg0+mYnA40LTosOSa5TqZ9GYIBzyJa9C3QUaMPSE2xAi/buNr8u89SfD9wHSQVBzrRa/SOQ==", + "dev": true, + "dependencies": { + "fast-glob": "^3.2.11", + "glob-parent": "^6.0.1", + "globby": "^13.1.1", + "normalize-path": "^3.0.0", + "schema-utils": "^4.0.0", + "serialize-javascript": "^6.0.0" + }, + "engines": { + "node": ">= 14.15.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.1.0" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/copy-webpack-plugin/node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/copy-webpack-plugin/node_modules/schema-utils": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", + "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/cosmiconfig": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.2.0.tgz", + "integrity": "sha512-3rTMnFJA1tCOPwRxtgF4wd7Ab2qvDbL8jX+3smjIbS4HlZBagTlpERbdN7iAbWlrfxE3M8c27kTwTawQ7st+OQ==", + "dev": true, + "dependencies": { + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "parse-json": "^5.0.0", + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/d-fischer" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/critters": { + "version": "0.0.19", + "resolved": "https://registry.npmjs.org/critters/-/critters-0.0.19.tgz", + "integrity": "sha512-Fm4ZAXsG0VzWy1U30rP4qxbaWGSsqXDgSupJW1OUJGDAs0KWC+j37v7p5a2kZ9BPJvhRzWm3be+Hc9WvQOBUOw==", + "dev": true, + "dependencies": { + "chalk": "^4.1.0", + "css-select": "^5.1.0", + "dom-serializer": "^2.0.0", + "domhandler": "^5.0.2", + "htmlparser2": "^8.0.2", + "postcss": "^8.4.23", + "pretty-bytes": "^5.3.0" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/css-loader": { + "version": "6.8.1", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.8.1.tgz", + "integrity": "sha512-xDAXtEVGlD0gJ07iclwWVkLoZOpEvAWaSyf6W18S2pOC//K8+qUDIx8IIT3D+HjnmkJPQeesOPv5aiUaJsCM2g==", + "dev": true, + "dependencies": { + "icss-utils": "^5.1.0", + "postcss": "^8.4.21", + "postcss-modules-extract-imports": "^3.0.0", + "postcss-modules-local-by-default": "^4.0.3", + "postcss-modules-scope": "^3.0.0", + "postcss-modules-values": "^4.0.0", + "postcss-value-parser": "^4.2.0", + "semver": "^7.3.8" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/css-select": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz", + "integrity": "sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==", + "dev": true, + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^6.1.0", + "domhandler": "^5.0.2", + "domutils": "^3.0.1", + "nth-check": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/dom-serializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", + "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", + "dev": true, + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.2", + "entities": "^4.2.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/domhandler": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", + "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", + "dev": true, + "dependencies": { + "domelementtype": "^2.3.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/domutils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz", + "integrity": "sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==", + "dev": true, + "dependencies": { + "dom-serializer": "^2.0.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "dev": true, + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/esbuild": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.17.19.tgz", + "integrity": "sha512-XQ0jAPFkK/u3LcVRcvVHQcTIqD6E2H1fvZMA5dQPSOWb3suUbWbfbRf94pjc0bNzRYLfIrDRQXr7X+LHIm5oHw==", + "dev": true, + "hasInstallScript": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/android-arm": "0.17.19", + "@esbuild/android-arm64": "0.17.19", + "@esbuild/android-x64": "0.17.19", + "@esbuild/darwin-arm64": "0.17.19", + "@esbuild/darwin-x64": "0.17.19", + "@esbuild/freebsd-arm64": "0.17.19", + "@esbuild/freebsd-x64": "0.17.19", + "@esbuild/linux-arm": "0.17.19", + "@esbuild/linux-arm64": "0.17.19", + "@esbuild/linux-ia32": "0.17.19", + "@esbuild/linux-loong64": "0.17.19", + "@esbuild/linux-mips64el": "0.17.19", + "@esbuild/linux-ppc64": "0.17.19", + "@esbuild/linux-riscv64": "0.17.19", + "@esbuild/linux-s390x": "0.17.19", + "@esbuild/linux-x64": "0.17.19", + "@esbuild/netbsd-x64": "0.17.19", + "@esbuild/openbsd-x64": "0.17.19", + "@esbuild/sunos-x64": "0.17.19", + "@esbuild/win32-arm64": "0.17.19", + "@esbuild/win32-ia32": "0.17.19", + "@esbuild/win32-x64": "0.17.19" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/esbuild-wasm": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/esbuild-wasm/-/esbuild-wasm-0.17.19.tgz", + "integrity": "sha512-X9UQEMJMZXwlGCfqcBmJ1jEa+KrLfd+gCBypO/TSzo5hZvbVwFqpxj1YCuX54ptTF75wxmrgorR4RL40AKtLVg==", + "dev": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/fast-glob": { + "version": "3.2.12", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz", + "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/find-cache-dir": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", + "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", + "dev": true, + "dependencies": { + "commondir": "^1.0.1", + "make-dir": "^3.0.2", + "pkg-dir": "^4.1.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/avajs/find-cache-dir?sponsor=1" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/glob": { + "version": "10.3.1", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.1.tgz", + "integrity": "sha512-9BKYcEeIs7QwlCYs+Y3GBvqAMISufUS0i2ELd11zpZjxI5V9iyRj0HgzB5/cLf2NY4vcYBTYzJ7GIui7j/4DOw==", + "dev": true, + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^2.0.3", + "minimatch": "^9.0.1", + "minipass": "^5.0.0 || ^6.0.2", + "path-scurry": "^1.10.0" + }, + "bin": { + "glob": "dist/cjs/src/bin.js" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/globby": { + "version": "13.2.2", + "resolved": "https://registry.npmjs.org/globby/-/globby-13.2.2.tgz", + "integrity": "sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==", + "dev": true, + "dependencies": { + "dir-glob": "^3.0.1", + "fast-glob": "^3.3.0", + "ignore": "^5.2.4", + "merge2": "^1.4.1", + "slash": "^4.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/globby/node_modules/fast-glob": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.0.tgz", + "integrity": "sha512-ChDuvbOypPuNjO8yIDf36x7BlZX1smcUMTTcyoIjycexOxd6DFsKsg21qVBzEmr3G7fUKIRy2/psii+CIUt7FA==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dev": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/ini": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/ini/-/ini-4.0.0.tgz", + "integrity": "sha512-t0ikzf5qkSFqRl1e6ejKBe+Tk2bsQd8ivEkcisyGXsku2t8NvXZ1Y3RRz5vxrDgOrTBOi13CvGsVoI5wVpd7xg==", + "dev": true, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/ipaddr.js": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.1.0.tgz", + "integrity": "sha512-LlbxQ7xKzfBusov6UMi4MFpEg0m+mAm9xyNGEduwXMEDuf4WfzB/RZwMVYEd7IKGvh4IUkEXYxtAVu9T3OelJQ==", + "dev": true, + "engines": { + "node": ">= 10" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/jasmine-spec-reporter": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/jasmine-spec-reporter/-/jasmine-spec-reporter-7.0.0.tgz", + "integrity": "sha512-OtC7JRasiTcjsaCBPtMO0Tl8glCejM4J4/dNuOJdA8lBjz4PmWjYQ6pzb0uzpBNAWJMDudYuj9OdXJWqM2QTJg==", + "dev": true, + "dependencies": { + "colors": "1.4.0" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/jest-worker": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "dev": true, + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/jest-worker/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/karma-jasmine": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/karma-jasmine/-/karma-jasmine-4.0.2.tgz", + "integrity": "sha512-ggi84RMNQffSDmWSyyt4zxzh2CQGwsxvYYsprgyR1j8ikzIduEdOlcLvXjZGwXG/0j41KUXOWsUCBfbEHPWP9g==", + "dev": true, + "dependencies": { + "jasmine-core": "^3.6.0" + }, + "engines": { + "node": ">= 10" + }, + "peerDependencies": { + "karma": "*" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/karma-jasmine-html-reporter": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/karma-jasmine-html-reporter/-/karma-jasmine-html-reporter-1.7.0.tgz", + "integrity": "sha512-pzum1TL7j90DTE86eFt48/s12hqwQuiD+e5aXx2Dc9wDEn2LfGq6RoAxEZZjFiN0RDSCOnosEKRZWxbQ+iMpQQ==", + "dev": true, + "peerDependencies": { + "jasmine-core": ">=3.8", + "karma": ">=0.9", + "karma-jasmine": ">=1.1" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/karma-jasmine/node_modules/jasmine-core": { + "version": "3.99.1", + "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-3.99.1.tgz", + "integrity": "sha512-Hu1dmuoGcZ7AfyynN3LsfruwMbxMALMka+YtZeGoLuDEySVmVAPaonkNoBRIw/ectu8b9tVQCJNgp4a4knp+tg==", + "dev": true + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/less-loader": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/less-loader/-/less-loader-11.1.0.tgz", + "integrity": "sha512-C+uDBV7kS7W5fJlUjq5mPBeBVhYpTIm5gB09APT9o3n/ILeaXVsiSFTbZpTJCJwQ/Crczfn3DmfQFwxYusWFug==", + "dev": true, + "dependencies": { + "klona": "^2.0.4" + }, + "engines": { + "node": ">= 14.15.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "less": "^3.5.0 || ^4.0.0", + "webpack": "^5.0.0" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/loader-runner": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", + "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", + "dev": true, + "engines": { + "node": ">=6.11.5" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/lru-cache": { + "version": "7.18.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", + "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/magic-string": { + "version": "0.30.0", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.0.tgz", + "integrity": "sha512-LA+31JYDJLs82r2ScLrlz1GjSgu66ZV518eyWT+S8VhyQn/JL0u9MeBOvQMGYiPk1DBiSN9DDMOcXvigJZaViQ==", + "dev": true, + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.4.13" + }, + "engines": { + "node": ">=12" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/make-dir/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/mini-css-extract-plugin": { + "version": "2.7.6", + "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.7.6.tgz", + "integrity": "sha512-Qk7HcgaPkGG6eD77mLvZS1nmxlao3j+9PkrT9Uc7HAE1id3F41+DdBRYRYkbyfNRGzm8/YWtzhw7nVPmwhqTQw==", + "dev": true, + "dependencies": { + "schema-utils": "^4.0.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/mini-css-extract-plugin/node_modules/schema-utils": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", + "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/minipass": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", + "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/ng-packagr": { + "version": "16.1.0", + "resolved": "https://registry.npmjs.org/ng-packagr/-/ng-packagr-16.1.0.tgz", + "integrity": "sha512-NbgzDRtRiYJi98Ssky7U5GoicZz7VkR3OW5qd9q3dt3H/JNqLh2PwB745NFG2cT00lEvfrY6LJ1NAcOjoWDibA==", + "dev": true, + "optional": true, + "peer": true, + "dependencies": { + "@rollup/plugin-json": "^6.0.0", + "@rollup/plugin-node-resolve": "^15.0.0", + "ajv": "^8.11.0", + "ansi-colors": "^4.1.3", + "autoprefixer": "^10.4.12", + "browserslist": "^4.21.4", + "cacache": "^17.0.0", + "chokidar": "^3.5.3", + "commander": "^10.0.0", + "convert-source-map": "^2.0.0", + "dependency-graph": "^0.11.0", + "esbuild-wasm": "^0.17.0", + "fast-glob": "^3.2.12", + "find-cache-dir": "^3.3.2", + "injection-js": "^2.4.0", + "jsonc-parser": "^3.2.0", + "less": "^4.1.3", + "ora": "^5.1.0", + "piscina": "^3.2.0", + "postcss": "^8.4.16", + "postcss-url": "^10.1.3", + "rollup": "^3.0.0", + "rxjs": "^7.5.6", + "sass": "^1.55.0" + }, + "bin": { + "ng-packagr": "cli/main.js" + }, + "engines": { + "node": "^16.14.0 || >=18.10.0" + }, + "optionalDependencies": { + "esbuild": "^0.17.0" + }, + "peerDependencies": { + "@angular/compiler-cli": "^16.0.0 || ^16.1.0-next.0", + "tailwindcss": "^2.0.0 || ^3.0.0", + "tslib": "^2.3.0", + "typescript": ">=4.9.3 <5.2" + }, + "peerDependenciesMeta": { + "tailwindcss": { + "optional": true + } + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/ng-packagr/node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true, + "optional": true, + "peer": true + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/pacote": { + "version": "15.1.3", + "resolved": "https://registry.npmjs.org/pacote/-/pacote-15.1.3.tgz", + "integrity": "sha512-aRts8cZqxiJVDitmAh+3z+FxuO3tLNWEmwDRPEpDDiZJaRz06clP4XX112ynMT5uF0QNoMPajBBHnaStUEPJXA==", + "dev": true, + "dependencies": { + "@npmcli/git": "^4.0.0", + "@npmcli/installed-package-contents": "^2.0.1", + "@npmcli/promise-spawn": "^6.0.1", + "@npmcli/run-script": "^6.0.0", + "cacache": "^17.0.0", + "fs-minipass": "^3.0.0", + "minipass": "^5.0.0", + "npm-package-arg": "^10.0.0", + "npm-packlist": "^7.0.0", + "npm-pick-manifest": "^8.0.0", + "npm-registry-fetch": "^14.0.0", + "proc-log": "^3.0.0", + "promise-retry": "^2.0.1", + "read-package-json": "^6.0.0", + "read-package-json-fast": "^3.0.0", + "sigstore": "^1.3.0", + "ssri": "^10.0.0", + "tar": "^6.1.11" + }, + "bin": { + "pacote": "lib/bin.js" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "dependencies": { + "find-up": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/postcss": { + "version": "8.4.24", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.24.tgz", + "integrity": "sha512-M0RzbcI0sO/XJNucsGjvWU9ERWxb/ytp1w6dKtxTKgixdtQDq4rmx/g8W1hnaheq9jgwL/oyEdH5Bc4WwJKMqg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "nanoid": "^3.3.6", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/postcss-loader": { + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-7.3.2.tgz", + "integrity": "sha512-c7qDlXErX6n0VT+LUsW+nwefVtTu3ORtVvK8EXuUIDcxo+b/euYqpuHlJAvePb0Af5e8uMjR/13e0lTuYifaig==", + "dev": true, + "dependencies": { + "cosmiconfig": "^8.1.3", + "jiti": "^1.18.2", + "klona": "^2.0.6", + "semver": "^7.3.8" + }, + "engines": { + "node": ">= 14.15.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "postcss": "^7.0.0 || ^8.0.1", + "webpack": "^5.0.0" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/resolve": { + "version": "1.22.2", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.2.tgz", + "integrity": "sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==", + "dev": true, + "dependencies": { + "is-core-module": "^2.11.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/sass": { + "version": "1.63.2", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.63.2.tgz", + "integrity": "sha512-u56TU0AIFqMtauKl/OJ1AeFsXqRHkgO7nCWmHaDwfxDo9GUMSqBA4NEh6GMuh1CYVM7zuROYtZrHzPc2ixK+ww==", + "dev": true, + "dependencies": { + "chokidar": ">=3.0.0 <4.0.0", + "immutable": "^4.0.0", + "source-map-js": ">=0.6.2 <2.0.0" + }, + "bin": { + "sass": "sass.js" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/sass-loader": { + "version": "13.3.1", + "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-13.3.1.tgz", + "integrity": "sha512-cBTxmgyVA1nXPvIK4brjJMXOMJ2v2YrQEuHqLw3LylGb3gsR6jAvdjHMcy/+JGTmmIF9SauTrLLR7bsWDMWqgg==", + "dev": true, + "dependencies": { + "klona": "^2.0.6", + "neo-async": "^2.6.2" + }, + "engines": { + "node": ">= 14.15.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "fibers": ">= 3.1.0", + "node-sass": "^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0 || ^9.0.0", + "sass": "^1.3.0", + "sass-embedded": "*", + "webpack": "^5.0.0" + }, + "peerDependenciesMeta": { + "fibers": { + "optional": true + }, + "node-sass": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + } + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/semver": { + "version": "7.5.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.3.tgz", + "integrity": "sha512-QBlUtyVk/5EeHbi7X0fw6liDZc7BBmEaSYn01fMU1OUYbf6GPsbTtd8WmnqbI20SeycoHSeiybkE/q1Q+qlThQ==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/semver/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/slash": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", + "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/source-map-loader": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/source-map-loader/-/source-map-loader-4.0.1.tgz", + "integrity": "sha512-oqXpzDIByKONVY8g1NUPOTQhe0UTU5bWUl32GSkqK2LjJj0HmwTMVKxcUip0RgAYhY1mqgOxjbQM48a0mmeNfA==", + "dev": true, + "dependencies": { + "abab": "^2.0.6", + "iconv-lite": "^0.6.3", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": ">= 14.15.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.72.1" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/ssri": { + "version": "10.0.4", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-10.0.4.tgz", + "integrity": "sha512-12+IR2CB2C28MMAw0Ncqwj5QbTcs0nGIhgJzYWzDkb21vWmfNI83KS4f3Ci6GI98WreIfG7o9UXp3C0qbpA8nQ==", + "dev": true, + "dependencies": { + "minipass": "^5.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/terser": { + "version": "5.17.7", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.17.7.tgz", + "integrity": "sha512-/bi0Zm2C6VAexlGgLlVxA0P2lru/sdLyfCVaRMfKVo9nWxbmz7f/sD8VPybPeSUJaJcwmCJis9pBIhcVcG1QcQ==", + "dev": true, + "dependencies": { + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.8.2", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=10" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/terser-webpack-plugin": { + "version": "5.3.9", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.9.tgz", + "integrity": "sha512-ZuXsqE07EcggTWQjXUj+Aot/OMcD0bMKGgF63f7UxYcu5/AJF53aIpK1YoP5xR9l6s/Hy2b+t1AM0bLNPRuhwA==", + "dev": true, + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.17", + "jest-worker": "^27.4.5", + "schema-utils": "^3.1.1", + "serialize-javascript": "^6.0.1", + "terser": "^5.16.8" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.1.0" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "esbuild": { + "optional": true + }, + "uglify-js": { + "optional": true + } + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/terser/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/ts-node": { + "version": "10.9.1", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz", + "integrity": "sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==", + "dev": true, + "dependencies": { + "@cspotcode/source-map-support": "^0.8.0", + "@tsconfig/node10": "^1.0.7", + "@tsconfig/node12": "^1.0.7", + "@tsconfig/node14": "^1.0.0", + "@tsconfig/node16": "^1.0.2", + "acorn": "^8.4.1", + "acorn-walk": "^8.1.1", + "arg": "^4.1.0", + "create-require": "^1.1.0", + "diff": "^4.0.1", + "make-error": "^1.1.1", + "v8-compile-cache-lib": "^3.0.1", + "yn": "3.1.1" + }, + "bin": { + "ts-node": "dist/bin.js", + "ts-node-cwd": "dist/bin-cwd.js", + "ts-node-esm": "dist/bin-esm.js", + "ts-node-script": "dist/bin-script.js", + "ts-node-transpile-only": "dist/bin-transpile.js", + "ts-script": "dist/bin-script-deprecated.js" + }, + "peerDependencies": { + "@swc/core": ">=1.2.50", + "@swc/wasm": ">=1.2.50", + "@types/node": "*", + "typescript": ">=2.7" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "@swc/wasm": { + "optional": true + } + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/tslib": { + "version": "2.5.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.3.tgz", + "integrity": "sha512-mSxlJJwl3BMEQCUNnxXBU9jP4JBktcEGhURcPR6VQVlnP0FdDEsIaz0C35dXNGLyRfrATNofF0F5p2KPxQgB+w==" + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/vite": { + "version": "4.3.9", + "resolved": "https://registry.npmjs.org/vite/-/vite-4.3.9.tgz", + "integrity": "sha512-qsTNZjO9NoJNW7KnOrgYwczm0WctJ8m/yqYAMAK9Lxt4SoySUfS5S8ia9K7JHpa3KEeMfyF8LoJ3c5NeBJy6pg==", + "dev": true, + "dependencies": { + "esbuild": "^0.17.5", + "postcss": "^8.4.23", + "rollup": "^3.21.0" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + }, + "peerDependencies": { + "@types/node": ">= 14", + "less": "*", + "sass": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.4.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "less": { + "optional": true + }, + "sass": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + } + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/watchpack": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", + "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", + "dev": true, + "dependencies": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/webpack": { + "version": "5.86.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.86.0.tgz", + "integrity": "sha512-3BOvworZ8SO/D4GVP+GoRC3fVeg5MO4vzmq8TJJEkdmopxyazGDxN8ClqN12uzrZW9Tv8EED8v5VSb6Sqyi0pg==", + "dev": true, + "dependencies": { + "@types/eslint-scope": "^3.7.3", + "@types/estree": "^1.0.0", + "@webassemblyjs/ast": "^1.11.5", + "@webassemblyjs/wasm-edit": "^1.11.5", + "@webassemblyjs/wasm-parser": "^1.11.5", + "acorn": "^8.7.1", + "acorn-import-assertions": "^1.9.0", + "browserslist": "^4.14.5", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.14.1", + "es-module-lexer": "^1.2.1", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.9", + "json-parse-even-better-errors": "^2.3.1", + "loader-runner": "^4.2.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^3.1.2", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.3.7", + "watchpack": "^2.4.0", + "webpack-sources": "^3.2.3" + }, + "bin": { + "webpack": "bin/webpack.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true + } + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/webpack-dev-middleware": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-6.1.1.tgz", + "integrity": "sha512-y51HrHaFeeWir0YO4f0g+9GwZawuigzcAdRNon6jErXy/SqV/+O6eaVAzDqE6t3e3NpGeR5CS+cCDaTC+V3yEQ==", + "dev": true, + "dependencies": { + "colorette": "^2.0.10", + "memfs": "^3.4.12", + "mime-types": "^2.1.31", + "range-parser": "^1.2.1", + "schema-utils": "^4.0.0" + }, + "engines": { + "node": ">= 14.15.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" + }, + "peerDependenciesMeta": { + "webpack": { + "optional": true + } + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/webpack-dev-middleware/node_modules/schema-utils": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", + "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/webpack-dev-server": { + "version": "4.15.0", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.15.0.tgz", + "integrity": "sha512-HmNB5QeSl1KpulTBQ8UT4FPrByYyaLxpJoQ0+s7EvUrMc16m0ZS1sgb1XGqzmgCPk0c9y+aaXxn11tbLzuM7NQ==", + "dev": true, + "dependencies": { + "@types/bonjour": "^3.5.9", + "@types/connect-history-api-fallback": "^1.3.5", + "@types/express": "^4.17.13", + "@types/serve-index": "^1.9.1", + "@types/serve-static": "^1.13.10", + "@types/sockjs": "^0.3.33", + "@types/ws": "^8.5.1", + "ansi-html-community": "^0.0.8", + "bonjour-service": "^1.0.11", + "chokidar": "^3.5.3", + "colorette": "^2.0.10", + "compression": "^1.7.4", + "connect-history-api-fallback": "^2.0.0", + "default-gateway": "^6.0.3", + "express": "^4.17.3", + "graceful-fs": "^4.2.6", + "html-entities": "^2.3.2", + "http-proxy-middleware": "^2.0.3", + "ipaddr.js": "^2.0.1", + "launch-editor": "^2.6.0", + "open": "^8.0.9", + "p-retry": "^4.5.0", + "rimraf": "^3.0.2", + "schema-utils": "^4.0.0", + "selfsigned": "^2.1.1", + "serve-index": "^1.9.1", + "sockjs": "^0.3.24", + "spdy": "^4.0.2", + "webpack-dev-middleware": "^5.3.1", + "ws": "^8.13.0" + }, + "bin": { + "webpack-dev-server": "bin/webpack-dev-server.js" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.37.0 || ^5.0.0" + }, + "peerDependenciesMeta": { + "webpack": { + "optional": true + }, + "webpack-cli": { + "optional": true + } + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/webpack-dev-server/node_modules/schema-utils": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", + "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/webpack-dev-server/node_modules/webpack-dev-middleware": { + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.3.tgz", + "integrity": "sha512-hj5CYrY0bZLB+eTO+x/j67Pkrquiy7kWepMHmUMoPsmcUaeEnQJqFzHJOyxgWlq746/wUuA64p9ta34Kyb01pA==", + "dev": true, + "dependencies": { + "colorette": "^2.0.10", + "memfs": "^3.4.3", + "mime-types": "^2.1.31", + "range-parser": "^1.2.1", + "schema-utils": "^4.0.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.0.0 || ^5.0.0" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/webpack-merge": { + "version": "5.9.0", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.9.0.tgz", + "integrity": "sha512-6NbRQw4+Sy50vYNTw7EyOn41OZItPiXB8GNv3INSoe3PSFaHJEz3SHTrYVaRm2LilNGnFUzh0FAwqPEmU/CwDg==", + "dev": true, + "dependencies": { + "clone-deep": "^4.0.1", + "wildcard": "^2.0.0" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/webpack-subresource-integrity": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/webpack-subresource-integrity/-/webpack-subresource-integrity-5.1.0.tgz", + "integrity": "sha512-sacXoX+xd8r4WKsy9MvH/q/vBtEHr86cpImXwyg74pFIpERKt6FmB8cXpeuh0ZLgclOlHI4Wcll7+R5L02xk9Q==", + "dev": true, + "dependencies": { + "typed-assert": "^1.0.8" + }, + "engines": { + "node": ">= 12" + }, + "peerDependencies": { + "html-webpack-plugin": ">= 5.0.0-beta.1 < 6", + "webpack": "^5.12.0" + }, + "peerDependenciesMeta": { + "html-webpack-plugin": { + "optional": true + } + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/ws": { + "version": "8.13.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.13.0.tgz", + "integrity": "sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA==", + "dev": true, + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/zone.js": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/zone.js/-/zone.js-0.13.1.tgz", + "integrity": "sha512-+bIeDAFEBYuXRuU3qGQvzdPap+N1zjM4KkBAiiQuVVCrHrhjDuY6VkUhNa5+U27+9w0q3fbKiMCbpJ0XzMmSWA==", + "dependencies": { + "tslib": "^2.3.0" + } + }, + "samples/msal-angular-v3-samples/angular-standalone-sample": { + "version": "0.0.0", + "dependencies": { + "@angular/animations": "^16.1.5", + "@angular/common": "^16.1.5", + "@angular/compiler": "^16.1.5", + "@angular/core": "^16.1.5", + "@angular/forms": "^16.1.5", + "@angular/material": "^16.1.5", + "@angular/platform-browser": "^16.1.5", + "@angular/platform-browser-dynamic": "^16.1.5", + "@angular/router": "^16.1.5", + "@azure/msal-angular": "^3.0.0-beta.0", + "@azure/msal-browser": "^3.0.0-beta.0", + "rxjs": "~7.8.0", + "ts-node": "^10.9.1", + "tslib": "^2.3.0", + "zone.js": "~0.13.1" + }, + "devDependencies": { + "@angular-devkit/build-angular": "^16.1.4", + "@angular/cli": "~16.1.4", + "@angular/compiler-cli": "^16.1.5", + "@types/jasmine": "~4.3.0", + "@types/jest": "^29.5.0", + "e2e-test-utils": "file:../../e2eTestUtils", + "jasmine-core": "~4.5.0", + "jest": "^29.5.0", + "karma": "~6.4.0", + "karma-chrome-launcher": "~3.1.0", + "karma-coverage": "~2.2.0", + "karma-jasmine": "~5.1.0", + "karma-jasmine-html-reporter": "~2.0.0", + "ts-jest": "^29.1.0", + "typescript": "~4.9.4" + } + }, + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/@ampproject/remapping": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", + "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", + "dev": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/@angular-devkit/architect": { + "version": "0.1601.4", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1601.4.tgz", + "integrity": "sha512-OOSbNlDy+Q3jY0oFHaq8kkna9HYI1zaS8IHeCIDP6T/ZIAVad4+HqXAL4SKQrKJikkoBQv1Z/eaDBL5XPFK9Bw==", + "dev": true, + "dependencies": { + "@angular-devkit/core": "16.1.4", + "rxjs": "7.8.1" + }, + "engines": { + "node": "^16.14.0 || >=18.10.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + } + }, + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/@angular-devkit/build-angular": { + "version": "16.1.4", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-16.1.4.tgz", + "integrity": "sha512-LiHM7R20fTHg/eM+Iabotj08edP5wVBQahRfVNLxERo8X6VJgSjVChnsh3AQJkRywlGuFe20AOQYpyLyN367Ug==", + "dev": true, + "dependencies": { + "@ampproject/remapping": "2.2.1", + "@angular-devkit/architect": "0.1601.4", + "@angular-devkit/build-webpack": "0.1601.4", + "@angular-devkit/core": "16.1.4", + "@babel/core": "7.22.5", + "@babel/generator": "7.22.7", + "@babel/helper-annotate-as-pure": "7.22.5", + "@babel/helper-split-export-declaration": "7.22.5", + "@babel/plugin-proposal-async-generator-functions": "7.20.7", + "@babel/plugin-transform-async-to-generator": "7.22.5", + "@babel/plugin-transform-runtime": "7.22.5", + "@babel/preset-env": "7.22.5", + "@babel/runtime": "7.22.5", + "@babel/template": "7.22.5", + "@discoveryjs/json-ext": "0.5.7", + "@ngtools/webpack": "16.1.4", + "@vitejs/plugin-basic-ssl": "1.0.1", + "ansi-colors": "4.1.3", + "autoprefixer": "10.4.14", + "babel-loader": "9.1.2", + "babel-plugin-istanbul": "6.1.1", + "browserslist": "^4.21.5", + "cacache": "17.1.3", + "chokidar": "3.5.3", + "copy-webpack-plugin": "11.0.0", + "critters": "0.0.19", + "css-loader": "6.8.1", + "esbuild-wasm": "0.17.19", + "fast-glob": "3.2.12", + "https-proxy-agent": "5.0.1", + "inquirer": "8.2.4", + "jsonc-parser": "3.2.0", + "karma-source-map-support": "1.4.0", + "less": "4.1.3", + "less-loader": "11.1.0", + "license-webpack-plugin": "4.0.2", + "loader-utils": "3.2.1", + "magic-string": "0.30.0", + "mini-css-extract-plugin": "2.7.6", + "mrmime": "1.0.1", + "open": "8.4.2", + "ora": "5.4.1", + "parse5-html-rewriting-stream": "7.0.0", + "picomatch": "2.3.1", + "piscina": "3.2.0", + "postcss": "8.4.24", + "postcss-loader": "7.3.2", + "resolve-url-loader": "5.0.0", + "rxjs": "7.8.1", + "sass": "1.63.2", + "sass-loader": "13.3.1", + "semver": "7.5.3", + "source-map-loader": "4.0.1", + "source-map-support": "0.5.21", + "terser": "5.17.7", + "text-table": "0.2.0", + "tree-kill": "1.2.2", + "tslib": "2.5.3", + "vite": "4.3.9", + "webpack": "5.86.0", + "webpack-dev-middleware": "6.1.1", + "webpack-dev-server": "4.15.0", + "webpack-merge": "5.9.0", + "webpack-subresource-integrity": "5.1.0" + }, + "engines": { + "node": "^16.14.0 || >=18.10.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + }, + "optionalDependencies": { + "esbuild": "0.17.19" + }, + "peerDependencies": { + "@angular/compiler-cli": "^16.0.0", + "@angular/localize": "^16.0.0", + "@angular/platform-server": "^16.0.0", + "@angular/service-worker": "^16.0.0", + "jest": "^29.5.0", + "jest-environment-jsdom": "^29.5.0", + "karma": "^6.3.0", + "ng-packagr": "^16.0.0", + "protractor": "^7.0.0", + "tailwindcss": "^2.0.0 || ^3.0.0", + "typescript": ">=4.9.3 <5.2" + }, + "peerDependenciesMeta": { + "@angular/localize": { + "optional": true + }, + "@angular/platform-server": { + "optional": true + }, + "@angular/service-worker": { + "optional": true + }, + "jest": { + "optional": true + }, + "jest-environment-jsdom": { + "optional": true + }, + "karma": { + "optional": true + }, + "ng-packagr": { + "optional": true + }, + "protractor": { + "optional": true + }, + "tailwindcss": { + "optional": true + } + } + }, + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/@angular-devkit/build-angular/node_modules/@ngtools/webpack": { + "version": "16.1.4", + "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-16.1.4.tgz", + "integrity": "sha512-+8bfavDH8eWxjlJFYr6bkjcRHhy95j+f8oNn7/sGLNu4L96nuE2AZ011XIu2dJahCnNiBvwc1EpkKa92t9rkaA==", + "dev": true, + "engines": { + "node": "^16.14.0 || >=18.10.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + }, + "peerDependencies": { + "@angular/compiler-cli": "^16.0.0", + "typescript": ">=4.9.3 <5.2", + "webpack": "^5.54.0" + } + }, + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/@angular-devkit/build-angular/node_modules/semver": { + "version": "7.5.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.3.tgz", + "integrity": "sha512-QBlUtyVk/5EeHbi7X0fw6liDZc7BBmEaSYn01fMU1OUYbf6GPsbTtd8WmnqbI20SeycoHSeiybkE/q1Q+qlThQ==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/@angular-devkit/build-webpack": { + "version": "0.1601.4", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1601.4.tgz", + "integrity": "sha512-GC1y//ScAYbYQ68Wri2QgTEekC4hRxBC+xEkYL9OFiAMQ4mcN+eYvbkQBX8enJwDMXpkYfLR6VV8cChjAVYIgg==", + "dev": true, + "dependencies": { + "@angular-devkit/architect": "0.1601.4", + "rxjs": "7.8.1" + }, + "engines": { + "node": "^16.14.0 || >=18.10.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + }, + "peerDependencies": { + "webpack": "^5.30.0", + "webpack-dev-server": "^4.0.0" + } + }, + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/@angular-devkit/core": { + "version": "16.1.4", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-16.1.4.tgz", + "integrity": "sha512-WCAzNi9LxpFIi2WVPaJQd2kHPqCnCexWzUZN05ltJuBGCQL1O+LgRHGwnQ4WZoqmrF5tcWt2a3GFtJ3DgMc1hw==", + "dev": true, + "dependencies": { + "ajv": "8.12.0", + "ajv-formats": "2.1.1", + "jsonc-parser": "3.2.0", + "rxjs": "7.8.1", + "source-map": "0.7.4" + }, + "engines": { + "node": "^16.14.0 || >=18.10.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + }, + "peerDependencies": { + "chokidar": "^3.5.2" + }, + "peerDependenciesMeta": { + "chokidar": { + "optional": true + } + } + }, + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/@angular-devkit/schematics": { "version": "16.1.4", - "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-16.1.4.tgz", - "integrity": "sha512-QdqmnMEYsrZK1BB+/TGteyoQVRwIpRdBP4Jg+hX/BDhVpt35dptSwvNZj7+9zoYLwNo5DuGlttljEaLOs1UcUw==", + "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-16.1.4.tgz", + "integrity": "sha512-yjRgwHAfFaeuimgbQtjwSUyXzEHpMSdTRb2zg+TOp6skoGvHOG8xXFJ7DjBkSMeAQdFF0fkxhPS9YmlxqNc+7A==", + "dev": true, + "dependencies": { + "@angular-devkit/core": "16.1.4", + "jsonc-parser": "3.2.0", + "magic-string": "0.30.0", + "ora": "5.4.1", + "rxjs": "7.8.1" + }, + "engines": { + "node": "^16.14.0 || >=18.10.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + } + }, + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/@angular/animations": { + "version": "16.1.5", + "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-16.1.5.tgz", + "integrity": "sha512-CUm81m1N00EIza8LH81BJ+PoR23HzfoD+8ltASya9D0VurB6hlv0Axa5kQ0o02PQwCAU1a6RUUTsTjODc/mUYA==", "dependencies": { "tslib": "^2.3.0" }, @@ -52350,13 +56101,14 @@ "node": "^16.14.0 || >=18.10.0" }, "peerDependencies": { - "@angular/core": "16.1.4" + "@angular/core": "16.1.5" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@angular/cdk": { - "version": "16.1.4", - "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-16.1.4.tgz", - "integrity": "sha512-05m0+NoAkV5O15GUEX2GQLySe8iC6P0GXVqUjLipdGmZ2/pNndJ/DGbqkX8dAAo/Z3ss2TEyRNYMOJdLIjV5vw==", + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/@angular/cdk": { + "version": "16.1.5", + "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-16.1.5.tgz", + "integrity": "sha512-8wjYhLwW9bWicBYSdDXuN71SBP7NbJmXs+XiWiRkaFUkVDeU9z8Qkitogl+qqsSXvsOmi+12MowrbJ3tPizaLw==", + "peer": true, "dependencies": { "tslib": "^2.3.0" }, @@ -52369,28 +56121,28 @@ "rxjs": "^6.5.3 || ^7.4.0" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@angular/cli": { - "version": "16.0.6", - "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-16.0.6.tgz", - "integrity": "sha512-um7oOWSu9SIzvwqJ5Aeqcki5/qj4yb6QKi8RkHDWpOdrg1tJfX/BnIzUa4jiCXIwYRIz+PjYJb8W5216wS+7Gg==", + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/@angular/cli": { + "version": "16.1.4", + "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-16.1.4.tgz", + "integrity": "sha512-coSOLVLpOCOD5q9K9EAFFMrTES+HtdJiLy/iI9kdKNCKWUJpm8/svZ3JZOej3vPxYEp0AokXNOwORQnX21/qZQ==", "dev": true, "dependencies": { - "@angular-devkit/architect": "0.1600.6", - "@angular-devkit/core": "16.0.6", - "@angular-devkit/schematics": "16.0.6", - "@schematics/angular": "16.0.6", + "@angular-devkit/architect": "0.1601.4", + "@angular-devkit/core": "16.1.4", + "@angular-devkit/schematics": "16.1.4", + "@schematics/angular": "16.1.4", "@yarnpkg/lockfile": "1.1.0", "ansi-colors": "4.1.3", - "ini": "4.0.0", + "ini": "4.1.1", "inquirer": "8.2.4", "jsonc-parser": "3.2.0", "npm-package-arg": "10.1.0", "npm-pick-manifest": "8.0.1", "open": "8.4.2", "ora": "5.4.1", - "pacote": "15.1.3", + "pacote": "15.2.0", "resolve": "1.22.2", - "semver": "7.4.0", + "semver": "7.5.3", "symbol-observable": "4.0.0", "yargs": "17.7.2" }, @@ -52403,63 +56155,10 @@ "yarn": ">= 1.13.0" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@angular/cli/node_modules/@angular-devkit/architect": { - "version": "0.1600.6", - "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1600.6.tgz", - "integrity": "sha512-Mk/pRujuer5qRMrgC7DPwLQ88wTAEKhbs0yJ/1prm4cx+VkxX9MMf6Y4AHKRmduKmFmd2LmX21/ACiU65acH8w==", - "dev": true, - "dependencies": { - "@angular-devkit/core": "16.0.6", - "rxjs": "7.8.1" - }, - "engines": { - "node": "^16.14.0 || >=18.10.0", - "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", - "yarn": ">= 1.13.0" - } - }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@angular/cli/node_modules/@angular-devkit/core": { - "version": "16.0.6", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-16.0.6.tgz", - "integrity": "sha512-pHbDUwXDMTWTnX/vafkFnzvYDQD8lz+w8FvMQE23Q/vN6/Q0BRf0PWTAGla6Wt+E4HaqqrbQS5P0YBwS4te2Pw==", - "dev": true, - "dependencies": { - "ajv": "8.12.0", - "ajv-formats": "2.1.1", - "jsonc-parser": "3.2.0", - "rxjs": "7.8.1", - "source-map": "0.7.4" - }, - "engines": { - "node": "^16.14.0 || >=18.10.0", - "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", - "yarn": ">= 1.13.0" - }, - "peerDependencies": { - "chokidar": "^3.5.2" - }, - "peerDependenciesMeta": { - "chokidar": { - "optional": true - } - } - }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@angular/cli/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@angular/cli/node_modules/semver": { - "version": "7.4.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.4.0.tgz", - "integrity": "sha512-RgOxM8Mw+7Zus0+zcLEUn8+JfoLpj/huFTItQy2hsM4khuC1HYRDp0cU482Ewn/Fcy6bCjufD8vAj7voC66KQw==", + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/@angular/cli/node_modules/semver": { + "version": "7.5.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.3.tgz", + "integrity": "sha512-QBlUtyVk/5EeHbi7X0fw6liDZc7BBmEaSYn01fMU1OUYbf6GPsbTtd8WmnqbI20SeycoHSeiybkE/q1Q+qlThQ==", "dev": true, "dependencies": { "lru-cache": "^6.0.0" @@ -52471,10 +56170,10 @@ "node": ">=10" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@angular/common": { - "version": "16.1.4", - "resolved": "https://registry.npmjs.org/@angular/common/-/common-16.1.4.tgz", - "integrity": "sha512-SDA8GZVY0nXCJaNUy13L22jAKuk1LZgQ6QzqOpqQc50C25bfBQbYv68PKjHCjQ62VxGKnDSTT85xCMNx+y/U4g==", + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/@angular/common": { + "version": "16.1.5", + "resolved": "https://registry.npmjs.org/@angular/common/-/common-16.1.5.tgz", + "integrity": "sha512-XQVIpICniWXXMoXsr6X7Q3pVcYBeQ0FZF06BNNolkkkVuReYpqr3TwWrZfuB9TUmxdF6R5WZ+M3NAdXodDDUNA==", "dependencies": { "tslib": "^2.3.0" }, @@ -52482,14 +56181,14 @@ "node": "^16.14.0 || >=18.10.0" }, "peerDependencies": { - "@angular/core": "16.1.4", + "@angular/core": "16.1.5", "rxjs": "^6.5.3 || ^7.4.0" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@angular/compiler": { - "version": "16.1.4", - "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-16.1.4.tgz", - "integrity": "sha512-5iKx8g+6/LtiRhbqMS2Jw1AshFUb4M8LO9WQKfRoE+5mZrDOYkAQYgOlAO7fk0mOCXeZcHJBbq2nuwDfwsZIiw==", + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/@angular/compiler": { + "version": "16.1.5", + "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-16.1.5.tgz", + "integrity": "sha512-QNyisdr9lEN43v/e/fjS0H1vrJBMY8lIGpxVY1OOERFjA1clfMhaz5fiPE3vWFV5TOm3/ym9z2xuRXM6UoyWoA==", "dependencies": { "tslib": "^2.3.0" }, @@ -52497,7 +56196,7 @@ "node": "^16.14.0 || >=18.10.0" }, "peerDependencies": { - "@angular/core": "16.1.4" + "@angular/core": "16.1.5" }, "peerDependenciesMeta": { "@angular/core": { @@ -52505,10 +56204,10 @@ } } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@angular/compiler-cli": { - "version": "16.1.4", - "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-16.1.4.tgz", - "integrity": "sha512-JerJOZeOLaHFHrfWMm4m9tEw+MdNNIMPj3TSauJ6uZPbFokGeqS2GsUBMjuQlwh5xY4duh1HtRsohvshpl306A==", + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/@angular/compiler-cli": { + "version": "16.1.5", + "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-16.1.5.tgz", + "integrity": "sha512-j20hmPyM+rLJDU1y0ta9Uf7+o2oGjvGWGpyANbpuTlAfA1+VN5G3xD53FnNcmO6LZuAw0wDw6NDAyy+G55o8xQ==", "dev": true, "dependencies": { "@babel/core": "7.22.5", @@ -52529,14 +56228,14 @@ "node": "^16.14.0 || >=18.10.0" }, "peerDependencies": { - "@angular/compiler": "16.1.4", + "@angular/compiler": "16.1.5", "typescript": ">=4.9.3 <5.2" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@angular/core": { - "version": "16.1.4", - "resolved": "https://registry.npmjs.org/@angular/core/-/core-16.1.4.tgz", - "integrity": "sha512-eWs++peAp+Lm2SHGfMsHAye2IOmlDKkVJ4dFf4TaZXW+AEev3FXKXLFp+dBUq8YkCKly7iAV26NXEUBOFFtplQ==", + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/@angular/core": { + "version": "16.1.5", + "resolved": "https://registry.npmjs.org/@angular/core/-/core-16.1.5.tgz", + "integrity": "sha512-xmk+WeL3qtFb3BM2hsEq/kGHJinqaTNVJkK/m4TiGArY+hjJwfCOeuTss7nOkKXvhRkZxU9VP0tej1w3QV5Yzw==", "dependencies": { "tslib": "^2.3.0" }, @@ -52548,10 +56247,10 @@ "zone.js": "~0.13.0" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@angular/forms": { - "version": "16.1.4", - "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-16.1.4.tgz", - "integrity": "sha512-JLhO7gM0WyTfr6tEWZMiCGikWLgaC/a2+tuxWsSlXUjlrbE4DyLzSAA6JqyDCFTvm9B/QzRPDfgExLTTZJY4eQ==", + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/@angular/forms": { + "version": "16.1.5", + "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-16.1.5.tgz", + "integrity": "sha512-4E/5msvODs5tixlkB1iHPsRv7jHj189WMpN2n7LKXT+l+jA3/rD2AbGnYVKR04gymN2x/HQ/qOrbvrqv3E1NBw==", "dependencies": { "tslib": "^2.3.0" }, @@ -52559,16 +56258,16 @@ "node": "^16.14.0 || >=18.10.0" }, "peerDependencies": { - "@angular/common": "16.1.4", - "@angular/core": "16.1.4", - "@angular/platform-browser": "16.1.4", + "@angular/common": "16.1.5", + "@angular/core": "16.1.5", + "@angular/platform-browser": "16.1.5", "rxjs": "^6.5.3 || ^7.4.0" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@angular/material": { - "version": "16.1.4", - "resolved": "https://registry.npmjs.org/@angular/material/-/material-16.1.4.tgz", - "integrity": "sha512-1SKWB14J+IorRL6uzq4a9cBLpVOMONTzso05LoVLGKrmtMCL5cRYLM/otT0IjY+oqG/fnTpsYDwV7E6n7AljeA==", + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/@angular/material": { + "version": "16.1.5", + "resolved": "https://registry.npmjs.org/@angular/material/-/material-16.1.5.tgz", + "integrity": "sha512-l11mH/WWBmfiBhrf4/0hCihhLxK4Ldu7+fP8zucHO3X2TiLlpsgJZpcYwJkZf0Ai0rDqIzqCVnks7L9jiuTGCQ==", "dependencies": { "@material/animation": "15.0.0-canary.b994146f6.0", "@material/auto-init": "15.0.0-canary.b994146f6.0", @@ -52621,7 +56320,7 @@ }, "peerDependencies": { "@angular/animations": "^16.0.0 || ^17.0.0", - "@angular/cdk": "16.1.4", + "@angular/cdk": "16.1.5", "@angular/common": "^16.0.0 || ^17.0.0", "@angular/core": "^16.0.0 || ^17.0.0", "@angular/forms": "^16.0.0 || ^17.0.0", @@ -52629,10 +56328,10 @@ "rxjs": "^6.5.3 || ^7.4.0" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@angular/platform-browser": { - "version": "16.1.4", - "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-16.1.4.tgz", - "integrity": "sha512-eQ1dBh/6ZwJVeiNGrcW6ePFmWeS+Oheu1RpuZSsvM/fI6qfsZE+or9IJ61SFvsMs65SbrO90Akc+ZXmpEidPdA==", + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/@angular/platform-browser": { + "version": "16.1.5", + "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-16.1.5.tgz", + "integrity": "sha512-TLM29KPr0A0pQ0YEmSy0JUOkfBXfwfBFzXQSt9SOiUs0wgDVVLMdGOpR/tbvBx2QfrSU3qgOX8P1FXIPJch6TQ==", "dependencies": { "tslib": "^2.3.0" }, @@ -52640,9 +56339,9 @@ "node": "^16.14.0 || >=18.10.0" }, "peerDependencies": { - "@angular/animations": "16.1.4", - "@angular/common": "16.1.4", - "@angular/core": "16.1.4" + "@angular/animations": "16.1.5", + "@angular/common": "16.1.5", + "@angular/core": "16.1.5" }, "peerDependenciesMeta": { "@angular/animations": { @@ -52650,10 +56349,10 @@ } } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@angular/platform-browser-dynamic": { - "version": "16.1.4", - "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-16.1.4.tgz", - "integrity": "sha512-OIszPs3NLCZWL8BEvn458JotNMdXPGyEVToNa2cEVgtakVxkhrhmoFlwJTWJN4GRkHNL5h2Vb0JLEYICwr7sgg==", + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/@angular/platform-browser-dynamic": { + "version": "16.1.5", + "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-16.1.5.tgz", + "integrity": "sha512-ugdIXeN5IVj9o15ywH32hxNI0ZLyakpBGqMTHZSeEhU/uN6ajAJX7z6okdMbJ7dlTyBO8eFV1KDX3aAz+sK9bg==", "dependencies": { "tslib": "^2.3.0" }, @@ -52661,16 +56360,16 @@ "node": "^16.14.0 || >=18.10.0" }, "peerDependencies": { - "@angular/common": "16.1.4", - "@angular/compiler": "16.1.4", - "@angular/core": "16.1.4", - "@angular/platform-browser": "16.1.4" + "@angular/common": "16.1.5", + "@angular/compiler": "16.1.5", + "@angular/core": "16.1.5", + "@angular/platform-browser": "16.1.5" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@angular/router": { - "version": "16.1.4", - "resolved": "https://registry.npmjs.org/@angular/router/-/router-16.1.4.tgz", - "integrity": "sha512-ooAK7XsY7fLW80htej9jHmct37biK77aNApCdiY+KlLdd45x//ObGxRYXcSSyvs7mRS0AMTGuA/G7/5AMcqcZg==", + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/@angular/router": { + "version": "16.1.5", + "resolved": "https://registry.npmjs.org/@angular/router/-/router-16.1.5.tgz", + "integrity": "sha512-L1gyWA16U+XgcxWmemWjy08/OPCjch9sBEiHaikuW8i9Ys0nx9ic3wh8Fyu6cVKQE9aQZ7xLYT5CdPPwYxclTw==", "dependencies": { "tslib": "^2.3.0" }, @@ -52678,13 +56377,13 @@ "node": "^16.14.0 || >=18.10.0" }, "peerDependencies": { - "@angular/common": "16.1.4", - "@angular/core": "16.1.4", - "@angular/platform-browser": "16.1.4", + "@angular/common": "16.1.5", + "@angular/core": "16.1.5", + "@angular/platform-browser": "16.1.5", "rxjs": "^6.5.3 || ^7.4.0" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@babel/core": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/@babel/core": { "version": "7.22.5", "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.22.5.tgz", "integrity": "sha512-SBuTAjg91A3eKOvD+bPEz3LlhHZRNu1nFOVts9lzDJTXshHTjII0BAtDS3Y2DAkdZdDKWVZGVwkDfc4Clxn1dg==", @@ -52714,16 +56413,16 @@ "url": "https://opencollective.com/babel" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@babel/core/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/@babel/core/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, "bin": { "semver": "bin/semver.js" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@babel/generator": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/@babel/generator": { "version": "7.22.7", "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.22.7.tgz", "integrity": "sha512-p+jPjMG+SI8yvIaxGgeW24u7q9+5+TGpZh8/CuB7RhBKd7RCy8FayNEFNNKrNK/eUcY/4ExQqLmyrvBXKsIcwQ==", @@ -52738,7 +56437,7 @@ "node": ">=6.9.0" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@babel/helper-annotate-as-pure": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/@babel/helper-annotate-as-pure": { "version": "7.22.5", "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz", "integrity": "sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==", @@ -52750,7 +56449,7 @@ "node": ">=6.9.0" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@babel/helper-split-export-declaration": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/@babel/helper-split-export-declaration": { "version": "7.22.5", "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.5.tgz", "integrity": "sha512-thqK5QFghPKWLhAV321lxF95yCg2K3Ob5yw+M3VHWfdia0IkPXUtoLH8x/6Fh486QUvzhb8YOWHChTVen2/PoQ==", @@ -52762,7 +56461,7 @@ "node": ">=6.9.0" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@babel/plugin-proposal-private-property-in-object": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/@babel/plugin-proposal-private-property-in-object": { "version": "7.21.0-placeholder-for-preset-env.2", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz", "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==", @@ -52774,7 +56473,7 @@ "@babel/core": "^7.0.0-0" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@babel/plugin-transform-async-to-generator": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/@babel/plugin-transform-async-to-generator": { "version": "7.22.5", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.22.5.tgz", "integrity": "sha512-b1A8D8ZzE/VhNDoV1MSJTnpKkCG5bJo+19R4o4oy03zM7ws8yEMK755j61Dc3EyvdysbqH5BOOTquJ7ZX9C6vQ==", @@ -52791,7 +56490,7 @@ "@babel/core": "^7.0.0-0" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@babel/plugin-transform-runtime": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/@babel/plugin-transform-runtime": { "version": "7.22.5", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.22.5.tgz", "integrity": "sha512-bg4Wxd1FWeFx3daHFTWk1pkSWK/AyQuiyAoeZAOkAOUBjnZPH6KT7eMxouV47tQ6hl6ax2zyAWBdWZXbrvXlaw==", @@ -52811,16 +56510,16 @@ "@babel/core": "^7.0.0-0" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@babel/plugin-transform-runtime/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/@babel/plugin-transform-runtime/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, "bin": { "semver": "bin/semver.js" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@babel/preset-env": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/@babel/preset-env": { "version": "7.22.5", "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.22.5.tgz", "integrity": "sha512-fj06hw89dpiZzGZtxn+QybifF07nNiZjZ7sazs2aVDcysAZVGjW7+7iFYxg6GLNM47R/thYfLdrXc+2f11Vi9A==", @@ -52914,16 +56613,16 @@ "@babel/core": "^7.0.0-0" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@babel/preset-env/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/@babel/preset-env/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, "bin": { "semver": "bin/semver.js" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@babel/runtime": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/@babel/runtime": { "version": "7.22.5", "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.22.5.tgz", "integrity": "sha512-ecjvYlnAaZ/KVneE/OdKYBYfgXV3Ptu6zQWmgEF7vwKhQnvVS6bjMD2XYgj+SNvQ1GfK/pjgokfPkC/2CO8CuA==", @@ -52935,7 +56634,7 @@ "node": ">=6.9.0" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@babel/template": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/@babel/template": { "version": "7.22.5", "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.5.tgz", "integrity": "sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw==", @@ -52949,7 +56648,7 @@ "node": ">=6.9.0" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@esbuild/android-arm": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/@esbuild/android-arm": { "version": "0.17.19", "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.17.19.tgz", "integrity": "sha512-rIKddzqhmav7MSmoFCmDIb6e2W57geRsM94gV2l38fzhXMwq7hZoClug9USI2pFRGL06f4IOPHHpFNOkWieR8A==", @@ -52965,7 +56664,7 @@ "node": ">=12" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@esbuild/android-arm64": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/@esbuild/android-arm64": { "version": "0.17.19", "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.17.19.tgz", "integrity": "sha512-KBMWvEZooR7+kzY0BtbTQn0OAYY7CsiydT63pVEaPtVYF0hXbUaOyZog37DKxK7NF3XacBJOpYT4adIJh+avxA==", @@ -52981,7 +56680,7 @@ "node": ">=12" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@esbuild/android-x64": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/@esbuild/android-x64": { "version": "0.17.19", "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.17.19.tgz", "integrity": "sha512-uUTTc4xGNDT7YSArp/zbtmbhO0uEEK9/ETW29Wk1thYUJBz3IVnvgEiEwEa9IeLyvnpKrWK64Utw2bgUmDveww==", @@ -52997,7 +56696,7 @@ "node": ">=12" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@esbuild/darwin-arm64": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/@esbuild/darwin-arm64": { "version": "0.17.19", "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.17.19.tgz", "integrity": "sha512-80wEoCfF/hFKM6WE1FyBHc9SfUblloAWx6FJkFWTWiCoht9Mc0ARGEM47e67W9rI09YoUxJL68WHfDRYEAvOhg==", @@ -53013,7 +56712,7 @@ "node": ">=12" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@esbuild/darwin-x64": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/@esbuild/darwin-x64": { "version": "0.17.19", "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.17.19.tgz", "integrity": "sha512-IJM4JJsLhRYr9xdtLytPLSH9k/oxR3boaUIYiHkAawtwNOXKE8KoU8tMvryogdcT8AU+Bflmh81Xn6Q0vTZbQw==", @@ -53029,7 +56728,7 @@ "node": ">=12" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@esbuild/freebsd-arm64": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/@esbuild/freebsd-arm64": { "version": "0.17.19", "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.19.tgz", "integrity": "sha512-pBwbc7DufluUeGdjSU5Si+P3SoMF5DQ/F/UmTSb8HXO80ZEAJmrykPyzo1IfNbAoaqw48YRpv8shwd1NoI0jcQ==", @@ -53045,7 +56744,7 @@ "node": ">=12" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@esbuild/freebsd-x64": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/@esbuild/freebsd-x64": { "version": "0.17.19", "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.17.19.tgz", "integrity": "sha512-4lu+n8Wk0XlajEhbEffdy2xy53dpR06SlzvhGByyg36qJw6Kpfk7cp45DR/62aPH9mtJRmIyrXAS5UWBrJT6TQ==", @@ -53061,7 +56760,7 @@ "node": ">=12" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@esbuild/linux-arm": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/@esbuild/linux-arm": { "version": "0.17.19", "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.17.19.tgz", "integrity": "sha512-cdmT3KxjlOQ/gZ2cjfrQOtmhG4HJs6hhvm3mWSRDPtZ/lP5oe8FWceS10JaSJC13GBd4eH/haHnqf7hhGNLerA==", @@ -53077,7 +56776,7 @@ "node": ">=12" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@esbuild/linux-arm64": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/@esbuild/linux-arm64": { "version": "0.17.19", "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.17.19.tgz", "integrity": "sha512-ct1Tg3WGwd3P+oZYqic+YZF4snNl2bsnMKRkb3ozHmnM0dGWuxcPTTntAF6bOP0Sp4x0PjSF+4uHQ1xvxfRKqg==", @@ -53093,7 +56792,7 @@ "node": ">=12" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@esbuild/linux-ia32": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/@esbuild/linux-ia32": { "version": "0.17.19", "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.17.19.tgz", "integrity": "sha512-w4IRhSy1VbsNxHRQpeGCHEmibqdTUx61Vc38APcsRbuVgK0OPEnQ0YD39Brymn96mOx48Y2laBQGqgZ0j9w6SQ==", @@ -53109,7 +56808,7 @@ "node": ">=12" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@esbuild/linux-loong64": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/@esbuild/linux-loong64": { "version": "0.17.19", "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.17.19.tgz", "integrity": "sha512-2iAngUbBPMq439a+z//gE+9WBldoMp1s5GWsUSgqHLzLJ9WoZLZhpwWuym0u0u/4XmZ3gpHmzV84PonE+9IIdQ==", @@ -53125,7 +56824,7 @@ "node": ">=12" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@esbuild/linux-mips64el": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/@esbuild/linux-mips64el": { "version": "0.17.19", "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.17.19.tgz", "integrity": "sha512-LKJltc4LVdMKHsrFe4MGNPp0hqDFA1Wpt3jE1gEyM3nKUvOiO//9PheZZHfYRfYl6AwdTH4aTcXSqBerX0ml4A==", @@ -53141,7 +56840,7 @@ "node": ">=12" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@esbuild/linux-ppc64": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/@esbuild/linux-ppc64": { "version": "0.17.19", "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.17.19.tgz", "integrity": "sha512-/c/DGybs95WXNS8y3Ti/ytqETiW7EU44MEKuCAcpPto3YjQbyK3IQVKfF6nbghD7EcLUGl0NbiL5Rt5DMhn5tg==", @@ -53157,7 +56856,7 @@ "node": ">=12" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@esbuild/linux-riscv64": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/@esbuild/linux-riscv64": { "version": "0.17.19", "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.17.19.tgz", "integrity": "sha512-FC3nUAWhvFoutlhAkgHf8f5HwFWUL6bYdvLc/TTuxKlvLi3+pPzdZiFKSWz/PF30TB1K19SuCxDTI5KcqASJqA==", @@ -53173,7 +56872,7 @@ "node": ">=12" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@esbuild/linux-s390x": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/@esbuild/linux-s390x": { "version": "0.17.19", "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.17.19.tgz", "integrity": "sha512-IbFsFbxMWLuKEbH+7sTkKzL6NJmG2vRyy6K7JJo55w+8xDk7RElYn6xvXtDW8HCfoKBFK69f3pgBJSUSQPr+4Q==", @@ -53189,7 +56888,7 @@ "node": ">=12" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@esbuild/linux-x64": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/@esbuild/linux-x64": { "version": "0.17.19", "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.17.19.tgz", "integrity": "sha512-68ngA9lg2H6zkZcyp22tsVt38mlhWde8l3eJLWkyLrp4HwMUr3c1s/M2t7+kHIhvMjglIBrFpncX1SzMckomGw==", @@ -53205,7 +56904,7 @@ "node": ">=12" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@esbuild/netbsd-x64": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/@esbuild/netbsd-x64": { "version": "0.17.19", "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.17.19.tgz", "integrity": "sha512-CwFq42rXCR8TYIjIfpXCbRX0rp1jo6cPIUPSaWwzbVI4aOfX96OXY8M6KNmtPcg7QjYeDmN+DD0Wp3LaBOLf4Q==", @@ -53221,7 +56920,7 @@ "node": ">=12" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@esbuild/openbsd-x64": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/@esbuild/openbsd-x64": { "version": "0.17.19", "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.17.19.tgz", "integrity": "sha512-cnq5brJYrSZ2CF6c35eCmviIN3k3RczmHz8eYaVlNasVqsNY+JKohZU5MKmaOI+KkllCdzOKKdPs762VCPC20g==", @@ -53237,7 +56936,7 @@ "node": ">=12" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@esbuild/sunos-x64": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/@esbuild/sunos-x64": { "version": "0.17.19", "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.17.19.tgz", "integrity": "sha512-vCRT7yP3zX+bKWFeP/zdS6SqdWB8OIpaRq/mbXQxTGHnIxspRtigpkUcDMlSCOejlHowLqII7K2JKevwyRP2rg==", @@ -53253,7 +56952,7 @@ "node": ">=12" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@esbuild/win32-arm64": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/@esbuild/win32-arm64": { "version": "0.17.19", "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.17.19.tgz", "integrity": "sha512-yYx+8jwowUstVdorcMdNlzklLYhPxjniHWFKgRqH7IFlUEa0Umu3KuYplf1HUZZ422e3NU9F4LGb+4O0Kdcaag==", @@ -53269,7 +56968,7 @@ "node": ">=12" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@esbuild/win32-ia32": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/@esbuild/win32-ia32": { "version": "0.17.19", "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.17.19.tgz", "integrity": "sha512-eggDKanJszUtCdlVs0RB+h35wNlb5v4TWEkq4vZcmVt5u/HiDZrTXe2bWFQUez3RgNHwx/x4sk5++4NSSicKkw==", @@ -53285,7 +56984,7 @@ "node": ">=12" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@esbuild/win32-x64": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/@esbuild/win32-x64": { "version": "0.17.19", "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.17.19.tgz", "integrity": "sha512-lAhycmKnVOuRYNtRtatQR1LPQf2oYCkRGkSFnseDAKPl8lu5SOsK/e1sXe5a0Pc5kHIHe6P2I/ilntNv2xf3cA==", @@ -53301,7 +57000,7 @@ "node": ">=12" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@jridgewell/gen-mapping": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/@jridgewell/gen-mapping": { "version": "0.3.3", "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", @@ -53315,7 +57014,7 @@ "node": ">=6.0.0" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@material/animation": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/@material/animation": { "version": "15.0.0-canary.b994146f6.0", "resolved": "https://registry.npmjs.org/@material/animation/-/animation-15.0.0-canary.b994146f6.0.tgz", "integrity": "sha512-kqqzG54tabYJ5VsBur5k1bqCFQCEpaW3hmLRMiSVVxRY7XgTt7qkuOOz48gs+MPqR6P8VIi6gFpuscV1+DWDhw==", @@ -53323,7 +57022,7 @@ "tslib": "^2.1.0" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@material/auto-init": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/@material/auto-init": { "version": "15.0.0-canary.b994146f6.0", "resolved": "https://registry.npmjs.org/@material/auto-init/-/auto-init-15.0.0-canary.b994146f6.0.tgz", "integrity": "sha512-8nLe/XeueJg5yyYx5e4UxWQXpTDyUhibKfyroGwnRKc8pdpOCOulHSOj/fIVGJAIbxkEJoebwMadWUNCjUhc9A==", @@ -53332,7 +57031,7 @@ "tslib": "^2.1.0" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@material/banner": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/@material/banner": { "version": "15.0.0-canary.b994146f6.0", "resolved": "https://registry.npmjs.org/@material/banner/-/banner-15.0.0-canary.b994146f6.0.tgz", "integrity": "sha512-gJ4/VdP4dJgHP72Kdjy2f/UjHB45J4CuxoGvI0NIQYUjOSsr4kQiQHsjVgyEPZR/5wa7kBhM7/0mJ+zF7Ghv2A==", @@ -53351,7 +57050,7 @@ "tslib": "^2.1.0" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@material/base": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/@material/base": { "version": "15.0.0-canary.b994146f6.0", "resolved": "https://registry.npmjs.org/@material/base/-/base-15.0.0-canary.b994146f6.0.tgz", "integrity": "sha512-rW2upYD5YjRFBL6DzYn3SCRhtvpEDkwplDS810e3vt71uLMRyqXyw4OQJH+Nab/t+32TFDtKNUphXIzwICXGDQ==", @@ -53359,7 +57058,7 @@ "tslib": "^2.1.0" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@material/button": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/@material/button": { "version": "15.0.0-canary.b994146f6.0", "resolved": "https://registry.npmjs.org/@material/button/-/button-15.0.0-canary.b994146f6.0.tgz", "integrity": "sha512-SMyqtsvJuCqpXBz2JgciuR6wddNJSGpTXUFxmLbGluBy5/hHm06JWlOFcUOxGDv46OdRGGrRfkg6A9JtvtsJsw==", @@ -53379,7 +57078,7 @@ "tslib": "^2.1.0" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@material/card": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/@material/card": { "version": "15.0.0-canary.b994146f6.0", "resolved": "https://registry.npmjs.org/@material/card/-/card-15.0.0-canary.b994146f6.0.tgz", "integrity": "sha512-WSggGon91HcDhJyatnYLFkoM9glkkeJjyjFDWrcJkwN1rdrPJU+GH+PNjvmArz5hGv9WkmjDjhOdAuPnL4Mb7g==", @@ -53395,7 +57094,7 @@ "tslib": "^2.1.0" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@material/checkbox": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/@material/checkbox": { "version": "15.0.0-canary.b994146f6.0", "resolved": "https://registry.npmjs.org/@material/checkbox/-/checkbox-15.0.0-canary.b994146f6.0.tgz", "integrity": "sha512-pulRiwG9S/dS6WBG+GteODBltddFiL0Sb7HAqdzF2BTKNKv25q1ZIR3ftoEa09TNeWM88AOzTJ4aBHiADfJn2w==", @@ -53413,7 +57112,7 @@ "tslib": "^2.1.0" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@material/chips": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/@material/chips": { "version": "15.0.0-canary.b994146f6.0", "resolved": "https://registry.npmjs.org/@material/chips/-/chips-15.0.0-canary.b994146f6.0.tgz", "integrity": "sha512-3yJPj7x+eKLA4LMKG7aTWI+itAnKRVGOcniuR6aiXVy0OKr5asNuWNeZc9J0/VErjjxF3tdybDzDSPo01qPy9w==", @@ -53437,7 +57136,7 @@ "tslib": "^2.1.0" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@material/circular-progress": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/@material/circular-progress": { "version": "15.0.0-canary.b994146f6.0", "resolved": "https://registry.npmjs.org/@material/circular-progress/-/circular-progress-15.0.0-canary.b994146f6.0.tgz", "integrity": "sha512-6YUvGXdtZKJoE7AuovR4xk1aiWp/EDZ6j2U3TOeynd1assQQCg5XT4abqAoHtpJrRPaCFgUAp836HyiDVVuYug==", @@ -53452,7 +57151,7 @@ "tslib": "^2.1.0" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@material/data-table": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/@material/data-table": { "version": "15.0.0-canary.b994146f6.0", "resolved": "https://registry.npmjs.org/@material/data-table/-/data-table-15.0.0-canary.b994146f6.0.tgz", "integrity": "sha512-v4hIduIe/wzyibuL/RPM/ErYrt8XpB7fxyQqtV+0JsMpFa8E81QYyvMCS9EJj9m4YdkrQnZgA+vXQlOkhWvmdQ==", @@ -53478,7 +57177,7 @@ "tslib": "^2.1.0" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@material/density": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/@material/density": { "version": "15.0.0-canary.b994146f6.0", "resolved": "https://registry.npmjs.org/@material/density/-/density-15.0.0-canary.b994146f6.0.tgz", "integrity": "sha512-m8l0vuoWSoAPItBpWp5eZDvitUcB2JWoO8V486hLgdveVcKgXG09xWM43ScH+PLXAWjzr5olDEuJ2tvfkN3SpQ==", @@ -53486,7 +57185,7 @@ "tslib": "^2.1.0" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@material/dialog": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/@material/dialog": { "version": "15.0.0-canary.b994146f6.0", "resolved": "https://registry.npmjs.org/@material/dialog/-/dialog-15.0.0-canary.b994146f6.0.tgz", "integrity": "sha512-JucU92yh8cfZQpyRBunHr6uohacePLYmhcPaGpkAGQ1b+zCznEsNs55tjhaVQNoj91XA9rrBqtL6Otg+fxFJtQ==", @@ -53508,7 +57207,7 @@ "tslib": "^2.1.0" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@material/dom": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/@material/dom": { "version": "15.0.0-canary.b994146f6.0", "resolved": "https://registry.npmjs.org/@material/dom/-/dom-15.0.0-canary.b994146f6.0.tgz", "integrity": "sha512-DiUsTezrCi4iytjIn7xXoXZSNFvuTrVVZgc7cR9cW8yu2Hpz8bPf87PacVn4IP9OsNwy/dCDMk1Kcq/DMh7gXQ==", @@ -53518,7 +57217,7 @@ "tslib": "^2.1.0" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@material/drawer": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/@material/drawer": { "version": "15.0.0-canary.b994146f6.0", "resolved": "https://registry.npmjs.org/@material/drawer/-/drawer-15.0.0-canary.b994146f6.0.tgz", "integrity": "sha512-Kbuf32V0eX69amvCVbAjNSabNDerZWyG8ip466EfQHRh0OUZwvsbhLp9FZOB7AyR+/bQiHf3mVLcombOdmdkcQ==", @@ -53537,7 +57236,7 @@ "tslib": "^2.1.0" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@material/elevation": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/@material/elevation": { "version": "15.0.0-canary.b994146f6.0", "resolved": "https://registry.npmjs.org/@material/elevation/-/elevation-15.0.0-canary.b994146f6.0.tgz", "integrity": "sha512-l2YDNgBajSI6oA2l6gaeYCTGHRao657syqQ/tv95/Hkcee9900A4RrsxCwSxOqqAs5pZZDEJ33kFJjj27nqZDw==", @@ -53550,7 +57249,7 @@ "tslib": "^2.1.0" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@material/fab": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/@material/fab": { "version": "15.0.0-canary.b994146f6.0", "resolved": "https://registry.npmjs.org/@material/fab/-/fab-15.0.0-canary.b994146f6.0.tgz", "integrity": "sha512-ExyDVkNWINpns41Ahj4u8I/OhiVkqI0nmcqjFRtgTJMmKEd4NhlvqIxE7gakAlyS68riJu5UleqTSTVmt8mv2Q==", @@ -53570,7 +57269,7 @@ "tslib": "^2.1.0" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@material/feature-targeting": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/@material/feature-targeting": { "version": "15.0.0-canary.b994146f6.0", "resolved": "https://registry.npmjs.org/@material/feature-targeting/-/feature-targeting-15.0.0-canary.b994146f6.0.tgz", "integrity": "sha512-HR/FjSQmza98B1DF80MRjODyfOI9r7wXkPSts/cLQsYkpwZ5uJmxhvQKjDCeYVpMV0lQuvuvVOQo7uD44TdWEg==", @@ -53578,7 +57277,7 @@ "tslib": "^2.1.0" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@material/floating-label": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/@material/floating-label": { "version": "15.0.0-canary.b994146f6.0", "resolved": "https://registry.npmjs.org/@material/floating-label/-/floating-label-15.0.0-canary.b994146f6.0.tgz", "integrity": "sha512-g64talBNWCS0FUfLWal0uB637gUciSIqYxFzSW//LglTtbZLGK2J4+9gAEswQGnKeO4ux08EN2n1ZcMDYQ58ow==", @@ -53593,7 +57292,7 @@ "tslib": "^2.1.0" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@material/focus-ring": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/@material/focus-ring": { "version": "15.0.0-canary.b994146f6.0", "resolved": "https://registry.npmjs.org/@material/focus-ring/-/focus-ring-15.0.0-canary.b994146f6.0.tgz", "integrity": "sha512-87qEMuXsCvlQfTiimnzJUZoebnIXWcMtRZevNLymN9Y0t9jGckQxZPmrI0llRkpyiR/Ewhec5SI/JGrFlYHnsA==", @@ -53603,7 +57302,7 @@ "@material/rtl": "15.0.0-canary.b994146f6.0" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@material/form-field": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/@material/form-field": { "version": "15.0.0-canary.b994146f6.0", "resolved": "https://registry.npmjs.org/@material/form-field/-/form-field-15.0.0-canary.b994146f6.0.tgz", "integrity": "sha512-Tg1SQQaopvXMyDEYxGTWnhCWQmNcWVIoKMLmle9P/gi2p8ulcj0iOCPYf+3ECqUBVozOmTPKlYOOiRwtKStAeA==", @@ -53617,7 +57316,7 @@ "tslib": "^2.1.0" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@material/icon-button": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/@material/icon-button": { "version": "15.0.0-canary.b994146f6.0", "resolved": "https://registry.npmjs.org/@material/icon-button/-/icon-button-15.0.0-canary.b994146f6.0.tgz", "integrity": "sha512-X6DvOv4jpymHUjI7ZAbO946nDgGYKDwPZfkRzBE84gv2XEr2qfMuABhojxkYubRbt03oauBdcJVVMFCXkVhArQ==", @@ -53635,7 +57334,7 @@ "tslib": "^2.1.0" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@material/image-list": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/@material/image-list": { "version": "15.0.0-canary.b994146f6.0", "resolved": "https://registry.npmjs.org/@material/image-list/-/image-list-15.0.0-canary.b994146f6.0.tgz", "integrity": "sha512-kf903XFF1P+V5ZPXCt+7R6c55g4UyQE1ZHkTViCIJfd52gU40bHODMhTQy/ywBkwDeJfNk8uf1V1IM24WQYpxA==", @@ -53647,7 +57346,7 @@ "tslib": "^2.1.0" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@material/layout-grid": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/@material/layout-grid": { "version": "15.0.0-canary.b994146f6.0", "resolved": "https://registry.npmjs.org/@material/layout-grid/-/layout-grid-15.0.0-canary.b994146f6.0.tgz", "integrity": "sha512-OALBSGue8g1/mEwLYYi2d950dJFpNYKW87jPS9/KM65JKMyxoU7tU2d4An1BuyqK0r9sopGq6Pn/zhill0iLaw==", @@ -53655,7 +57354,7 @@ "tslib": "^2.1.0" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@material/line-ripple": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/@material/line-ripple": { "version": "15.0.0-canary.b994146f6.0", "resolved": "https://registry.npmjs.org/@material/line-ripple/-/line-ripple-15.0.0-canary.b994146f6.0.tgz", "integrity": "sha512-evjZxCu4iodiKtW8N0xjY8ACRXm3sY+4rAmq3vV5BmHWAJ3BobjbFYslDMZQ+4mu3HmwMatbJehKxHegahitNg==", @@ -53667,7 +57366,7 @@ "tslib": "^2.1.0" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@material/linear-progress": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/@material/linear-progress": { "version": "15.0.0-canary.b994146f6.0", "resolved": "https://registry.npmjs.org/@material/linear-progress/-/linear-progress-15.0.0-canary.b994146f6.0.tgz", "integrity": "sha512-jlXh+tIj+/o0Ks7fHdC/24fH6IXCAl2vF52U6NwT39ESrlwmlLhp3gtag5GSBHN5E7Z09nK871Yo1G/b1F+COg==", @@ -53682,7 +57381,7 @@ "tslib": "^2.1.0" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@material/list": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/@material/list": { "version": "15.0.0-canary.b994146f6.0", "resolved": "https://registry.npmjs.org/@material/list/-/list-15.0.0-canary.b994146f6.0.tgz", "integrity": "sha512-kY/i6VvFBb/W3VvCPvWRMzWvu7mvNFJ+R8ijfawDoAXiv4fj42GO4iFyTcFXaUevEPKp791pN/09BMJQ6jYEvA==", @@ -53700,7 +57399,7 @@ "tslib": "^2.1.0" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@material/menu": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/@material/menu": { "version": "15.0.0-canary.b994146f6.0", "resolved": "https://registry.npmjs.org/@material/menu/-/menu-15.0.0-canary.b994146f6.0.tgz", "integrity": "sha512-y6smNmLJ+U0DoXWbyqzW+VW/uWDuklhdGHc5MbZrTOhsKkhvoTVNMSOa+NFPU4gTwrplvUjaUvnIsQ0wygwD3g==", @@ -53719,7 +57418,7 @@ "tslib": "^2.1.0" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@material/menu-surface": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/@material/menu-surface": { "version": "15.0.0-canary.b994146f6.0", "resolved": "https://registry.npmjs.org/@material/menu-surface/-/menu-surface-15.0.0-canary.b994146f6.0.tgz", "integrity": "sha512-StmM3lrRn1iMEZfq532jpMNppqyBBy68FbPurKEsHuP/3q+CscfnwjrS9ym+JcHqXKMHnQXbL/49ymffRGX2AQ==", @@ -53734,7 +57433,7 @@ "tslib": "^2.1.0" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@material/notched-outline": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/@material/notched-outline": { "version": "15.0.0-canary.b994146f6.0", "resolved": "https://registry.npmjs.org/@material/notched-outline/-/notched-outline-15.0.0-canary.b994146f6.0.tgz", "integrity": "sha512-UZxU8jXM2t/bk/CiO0K+TSPspuJRZIyrYlIS0gd+qq/u8Gi2DpALBlLAh9Jeu46IUg4YGlPsNWYfe8p3QAVyoA==", @@ -53748,7 +57447,7 @@ "tslib": "^2.1.0" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@material/progress-indicator": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/@material/progress-indicator": { "version": "15.0.0-canary.b994146f6.0", "resolved": "https://registry.npmjs.org/@material/progress-indicator/-/progress-indicator-15.0.0-canary.b994146f6.0.tgz", "integrity": "sha512-VT+mOQhohaM+pBX1rknbVOI6JCGKg9NiOHBoYljIvnexNeILE+mW9g6mtQ0ZCJPz0oMmiSAMLcuxMIcBXx84Xw==", @@ -53756,7 +57455,7 @@ "tslib": "^2.1.0" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@material/radio": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/@material/radio": { "version": "15.0.0-canary.b994146f6.0", "resolved": "https://registry.npmjs.org/@material/radio/-/radio-15.0.0-canary.b994146f6.0.tgz", "integrity": "sha512-U/RR2lVNWwEO2+kJtGz9XzvnOF0gAZn1krMY0z/eU9Wnl0OgPZbqQrxXMoVNv1pzKYSEwZQEGado/rv8qp7piA==", @@ -53773,7 +57472,7 @@ "tslib": "^2.1.0" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@material/ripple": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/@material/ripple": { "version": "15.0.0-canary.b994146f6.0", "resolved": "https://registry.npmjs.org/@material/ripple/-/ripple-15.0.0-canary.b994146f6.0.tgz", "integrity": "sha512-WzIbc8wYTzMOczqGXVCBPdNcv/73Ef8FwcQYsscGMaqCzgVsdpoqilTfsx7Ryyz6dQbyfmJqp7s+YpPujcezOA==", @@ -53787,7 +57486,7 @@ "tslib": "^2.1.0" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@material/rtl": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/@material/rtl": { "version": "15.0.0-canary.b994146f6.0", "resolved": "https://registry.npmjs.org/@material/rtl/-/rtl-15.0.0-canary.b994146f6.0.tgz", "integrity": "sha512-H/W6BVn4Ygfkrf/FgSrNhbu1uY7PST2wlsjEYQt06EfAM0CDHEwSL1MwV4FmpQA/r40Q0PqoLN6moDrtCe5S8g==", @@ -53796,7 +57495,7 @@ "tslib": "^2.1.0" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@material/segmented-button": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/@material/segmented-button": { "version": "15.0.0-canary.b994146f6.0", "resolved": "https://registry.npmjs.org/@material/segmented-button/-/segmented-button-15.0.0-canary.b994146f6.0.tgz", "integrity": "sha512-jd+f4BTnU0tghxBpAM/XdVmruDXSoQ88TYSFWbrhulS+/c/ooCZURWvVC4mHNej+QR/fODkx4adbqkBiwwCtMw==", @@ -53811,7 +57510,7 @@ "tslib": "^2.1.0" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@material/select": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/@material/select": { "version": "15.0.0-canary.b994146f6.0", "resolved": "https://registry.npmjs.org/@material/select/-/select-15.0.0-canary.b994146f6.0.tgz", "integrity": "sha512-5thEQS+B17JSm3I8D+mqQe2G3ArVnXJALTEEE9FmMUKwKYkrsLplm3FYuEXERZGJnYeTRdkdmhYY/YeocfZoyA==", @@ -53837,7 +57536,7 @@ "tslib": "^2.1.0" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@material/shape": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/@material/shape": { "version": "15.0.0-canary.b994146f6.0", "resolved": "https://registry.npmjs.org/@material/shape/-/shape-15.0.0-canary.b994146f6.0.tgz", "integrity": "sha512-sINM3gr3aLgdvqZVfqfXV5EB77owLLJjy+2NqchJ8ZPqucCJ+F/BsCBfLA2Wu3O4Sc9IpAEn/o1hzYm/CWAFAw==", @@ -53848,7 +57547,7 @@ "tslib": "^2.1.0" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@material/slider": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/@material/slider": { "version": "15.0.0-canary.b994146f6.0", "resolved": "https://registry.npmjs.org/@material/slider/-/slider-15.0.0-canary.b994146f6.0.tgz", "integrity": "sha512-dyT72+Kp//AEajJxDUVoMoizUjf2uggVMGXOaQ7FhpGHuf7LC3EyEjrrJ15efFzYgTjdJUU1YQkCwGmdt6CQsA==", @@ -53866,7 +57565,7 @@ "tslib": "^2.1.0" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@material/snackbar": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/@material/snackbar": { "version": "15.0.0-canary.b994146f6.0", "resolved": "https://registry.npmjs.org/@material/snackbar/-/snackbar-15.0.0-canary.b994146f6.0.tgz", "integrity": "sha512-fEhPASJossScNpcrNYrrH8uU+rUf6+kw7/ZMrpUzzz1lVXliL28jTNEmU1nFpcDI4M2GXH+Z64f7vl2hiMDG8g==", @@ -53887,7 +57586,7 @@ "tslib": "^2.1.0" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@material/switch": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/@material/switch": { "version": "15.0.0-canary.b994146f6.0", "resolved": "https://registry.npmjs.org/@material/switch/-/switch-15.0.0-canary.b994146f6.0.tgz", "integrity": "sha512-czCXTUa30ILIf1J3exiuSVIRcodGATHexd3eWDq4sfHo4iMh4rBMaIxcqkmnb2iwE/mMTNyVfoauijx2QiNKrA==", @@ -53908,7 +57607,7 @@ "tslib": "^2.1.0" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@material/tab": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/@material/tab": { "version": "15.0.0-canary.b994146f6.0", "resolved": "https://registry.npmjs.org/@material/tab/-/tab-15.0.0-canary.b994146f6.0.tgz", "integrity": "sha512-ygswooiNdBNNDnQdbPX0nzDQu7oQlHo8vWZ0/xL4IPVEXabY5zCzsEbGNZw2u/syo56c/NHPyMsUmXDGRSXOvQ==", @@ -53926,7 +57625,7 @@ "tslib": "^2.1.0" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@material/tab-bar": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/@material/tab-bar": { "version": "15.0.0-canary.b994146f6.0", "resolved": "https://registry.npmjs.org/@material/tab-bar/-/tab-bar-15.0.0-canary.b994146f6.0.tgz", "integrity": "sha512-F9NegACnFEWMu1pAAypV4Jd7qROeffkvEgVO28Xxk/CvzZxFz8kAjYJZ+rI6RUhPX3BhXzwsz/AlLwsJMT2tnA==", @@ -53945,7 +57644,7 @@ "tslib": "^2.1.0" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@material/tab-indicator": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/@material/tab-indicator": { "version": "15.0.0-canary.b994146f6.0", "resolved": "https://registry.npmjs.org/@material/tab-indicator/-/tab-indicator-15.0.0-canary.b994146f6.0.tgz", "integrity": "sha512-8IH/DmwlZhQlw/2Y3aKrEvjEhZB+qbKUiyaij3BkTAexvyFeDBh5cLNjRpYkUJSGeSPhS6yu4SYzMHPmQEwQmA==", @@ -53957,7 +57656,7 @@ "tslib": "^2.1.0" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@material/tab-scroller": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/@material/tab-scroller": { "version": "15.0.0-canary.b994146f6.0", "resolved": "https://registry.npmjs.org/@material/tab-scroller/-/tab-scroller-15.0.0-canary.b994146f6.0.tgz", "integrity": "sha512-1MeWkr62OICfTv8oqhIZe6jFo0dKeMlUfB+/WcgnpoeMBszCOSlx5tQ4pedxUkuR3I+Z7rsTfSN0LavgF8bATA==", @@ -53970,7 +57669,7 @@ "tslib": "^2.1.0" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@material/textfield": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/@material/textfield": { "version": "15.0.0-canary.b994146f6.0", "resolved": "https://registry.npmjs.org/@material/textfield/-/textfield-15.0.0-canary.b994146f6.0.tgz", "integrity": "sha512-Kxb3DoJ5o8u3Y1gRMHKmWrDl1TirVxuf/UFrxPFiCE3J1SqiE2VQpakiD1emZwp+LSKtbRsQ/iILYLB/h7Wuvw==", @@ -53992,7 +57691,7 @@ "tslib": "^2.1.0" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@material/theme": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/@material/theme": { "version": "15.0.0-canary.b994146f6.0", "resolved": "https://registry.npmjs.org/@material/theme/-/theme-15.0.0-canary.b994146f6.0.tgz", "integrity": "sha512-5tsZ92dAeUcZ9g9CrIkqX/GYc0M5DIfsydtI1PAidaBzr1Uokuh4rTZVQZBv7gyglF0yDua59lkb0I6wI9vxXg==", @@ -54001,7 +57700,7 @@ "tslib": "^2.1.0" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@material/tokens": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/@material/tokens": { "version": "15.0.0-canary.b994146f6.0", "resolved": "https://registry.npmjs.org/@material/tokens/-/tokens-15.0.0-canary.b994146f6.0.tgz", "integrity": "sha512-jFqU7PtvGkrP8b8i2soCrYQInTrnZ1/rIPDi+Xm3sa/qSghCNwFrdJEqwcwtv1fPlJIOtzkIuVRYRmAP9rXQIQ==", @@ -54009,7 +57708,7 @@ "@material/elevation": "15.0.0-canary.b994146f6.0" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@material/tooltip": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/@material/tooltip": { "version": "15.0.0-canary.b994146f6.0", "resolved": "https://registry.npmjs.org/@material/tooltip/-/tooltip-15.0.0-canary.b994146f6.0.tgz", "integrity": "sha512-bVzydXGn3fauHJ8pkh32DsdyRJXleeFQ4t7jZ/rcRik+n4G1BvYiblfuu3Z/OCC0m3TJDyMdJhd+sLqRDqLUUg==", @@ -54029,7 +57728,7 @@ "tslib": "^2.1.0" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@material/top-app-bar": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/@material/top-app-bar": { "version": "15.0.0-canary.b994146f6.0", "resolved": "https://registry.npmjs.org/@material/top-app-bar/-/top-app-bar-15.0.0-canary.b994146f6.0.tgz", "integrity": "sha512-VHq0wX3OJE1TKvjO8Qtlu+rv5EGoqAhNLBcEjpUUGoqHH/gpd356FEuIqJId4pUh5jaWf8T4ZU9xVbQGMtntzw==", @@ -54045,7 +57744,7 @@ "tslib": "^2.1.0" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@material/touch-target": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/@material/touch-target": { "version": "15.0.0-canary.b994146f6.0", "resolved": "https://registry.npmjs.org/@material/touch-target/-/touch-target-15.0.0-canary.b994146f6.0.tgz", "integrity": "sha512-X26Y9OWvIqYOHo+sC2VMvOoeQWlUR3/yb7uPdfq92Y44zlQ4Vexgq7nEUblEiXQ8Fj+d0T9rIhRh1y9PP3Z2dw==", @@ -54057,7 +57756,7 @@ "tslib": "^2.1.0" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@material/typography": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/@material/typography": { "version": "15.0.0-canary.b994146f6.0", "resolved": "https://registry.npmjs.org/@material/typography/-/typography-15.0.0-canary.b994146f6.0.tgz", "integrity": "sha512-sWU5W30WWqdw5P6bsRx9AbvMNcz/QvQg56Syr06V6nfgSztpeuo7TfPk2J+N0ArRALo1mUrkAPk66iWYQ2p/QA==", @@ -54067,14 +57766,14 @@ "tslib": "^2.1.0" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@schematics/angular": { - "version": "16.0.6", - "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-16.0.6.tgz", - "integrity": "sha512-8naIlMeY9p5iOZqc3D0reoN80xm/fQINrG8mqIOgIY6bDeqfFvMKfaozA3PbPLbZhl5Jyk7VfZnXb6ISN0KnxQ==", + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/@schematics/angular": { + "version": "16.1.4", + "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-16.1.4.tgz", + "integrity": "sha512-XfoeL+aBVIR/DzgVKGVhHW/TGQnqWvngyJVuCwXEVWzNfjxHYFkchXa78OItpAvTEr6/Y0Me9FQVAGVA4mMUyg==", "dev": true, "dependencies": { - "@angular-devkit/core": "16.0.6", - "@angular-devkit/schematics": "16.0.6", + "@angular-devkit/core": "16.1.4", + "@angular-devkit/schematics": "16.1.4", "jsonc-parser": "3.2.0" }, "engines": { @@ -54083,45 +57782,18 @@ "yarn": ">= 1.13.0" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@schematics/angular/node_modules/@angular-devkit/core": { - "version": "16.0.6", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-16.0.6.tgz", - "integrity": "sha512-pHbDUwXDMTWTnX/vafkFnzvYDQD8lz+w8FvMQE23Q/vN6/Q0BRf0PWTAGla6Wt+E4HaqqrbQS5P0YBwS4te2Pw==", - "dev": true, - "dependencies": { - "ajv": "8.12.0", - "ajv-formats": "2.1.1", - "jsonc-parser": "3.2.0", - "rxjs": "7.8.1", - "source-map": "0.7.4" - }, - "engines": { - "node": "^16.14.0 || >=18.10.0", - "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", - "yarn": ">= 1.13.0" - }, - "peerDependencies": { - "chokidar": "^3.5.2" - }, - "peerDependenciesMeta": { - "chokidar": { - "optional": true - } - } - }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@types/jasmine": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/@types/jasmine/-/jasmine-4.0.3.tgz", - "integrity": "sha512-Opp1LvvEuZdk8fSSvchK2mZwhVrsNT0JgJE9Di6MjnaIpmEXM8TLCPPrVtNTYh8+5MPdY8j9bAHMu2SSfwpZJg==", + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/@types/jasmine": { + "version": "4.3.5", + "resolved": "https://registry.npmjs.org/@types/jasmine/-/jasmine-4.3.5.tgz", + "integrity": "sha512-9YHUdvuNDDRJYXZwHqSsO72Ok0vmqoJbNn73ttyITQp/VA60SarnZ+MPLD37rJAhVoKp+9BWOvJP5tHIRfZylQ==", "dev": true }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@types/node": { - "version": "20.4.1", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.4.1.tgz", - "integrity": "sha512-JIzsAvJeA/5iY6Y/OxZbv1lUcc8dNSE77lb2gnBH+/PJ3lFR1Ccvgwl5JWnHAkNHcRsT0TbpVOsiMKZ1F/yyJg==", - "dev": true + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/@types/node": { + "version": "20.4.2", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.4.2.tgz", + "integrity": "sha512-Dd0BYtWgnWJKwO1jkmTrzofjK2QXXcai0dmtzvIBhcA+RsG5h8R3xlyta0kGOZRNfL9GuRtb1knmPEhQrePCEw==" }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@vitejs/plugin-basic-ssl": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/@vitejs/plugin-basic-ssl": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/@vitejs/plugin-basic-ssl/-/plugin-basic-ssl-1.0.1.tgz", "integrity": "sha512-pcub+YbFtFhaGRTo1832FQHQSHvMrlb43974e2eS8EKleR3p1cDdkJFPci1UhwkEf1J9Bz+wKBSzqpKp7nNj2A==", @@ -54133,7 +57805,7 @@ "vite": "^3.0.0 || ^4.0.0" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@webassemblyjs/ast": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/@webassemblyjs/ast": { "version": "1.11.6", "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.6.tgz", "integrity": "sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==", @@ -54143,25 +57815,25 @@ "@webassemblyjs/helper-wasm-bytecode": "1.11.6" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@webassemblyjs/helper-api-error": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/@webassemblyjs/helper-api-error": { "version": "1.11.6", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==", "dev": true }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@webassemblyjs/helper-buffer": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/@webassemblyjs/helper-buffer": { "version": "1.11.6", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz", "integrity": "sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==", "dev": true }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@webassemblyjs/helper-wasm-bytecode": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/@webassemblyjs/helper-wasm-bytecode": { "version": "1.11.6", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==", "dev": true }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@webassemblyjs/helper-wasm-section": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/@webassemblyjs/helper-wasm-section": { "version": "1.11.6", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz", "integrity": "sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==", @@ -54173,7 +57845,7 @@ "@webassemblyjs/wasm-gen": "1.11.6" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@webassemblyjs/ieee754": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/@webassemblyjs/ieee754": { "version": "1.11.6", "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", @@ -54182,7 +57854,7 @@ "@xtuc/ieee754": "^1.2.0" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@webassemblyjs/leb128": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/@webassemblyjs/leb128": { "version": "1.11.6", "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", @@ -54191,13 +57863,13 @@ "@xtuc/long": "4.2.2" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@webassemblyjs/utf8": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/@webassemblyjs/utf8": { "version": "1.11.6", "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==", "dev": true }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@webassemblyjs/wasm-edit": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/@webassemblyjs/wasm-edit": { "version": "1.11.6", "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz", "integrity": "sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==", @@ -54213,7 +57885,7 @@ "@webassemblyjs/wast-printer": "1.11.6" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@webassemblyjs/wasm-gen": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/@webassemblyjs/wasm-gen": { "version": "1.11.6", "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz", "integrity": "sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==", @@ -54226,7 +57898,7 @@ "@webassemblyjs/utf8": "1.11.6" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@webassemblyjs/wasm-opt": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/@webassemblyjs/wasm-opt": { "version": "1.11.6", "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz", "integrity": "sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==", @@ -54238,7 +57910,7 @@ "@webassemblyjs/wasm-parser": "1.11.6" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@webassemblyjs/wasm-parser": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/@webassemblyjs/wasm-parser": { "version": "1.11.6", "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz", "integrity": "sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==", @@ -54252,7 +57924,7 @@ "@webassemblyjs/utf8": "1.11.6" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/@webassemblyjs/wast-printer": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/@webassemblyjs/wast-printer": { "version": "1.11.6", "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz", "integrity": "sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==", @@ -54262,7 +57934,7 @@ "@xtuc/long": "4.2.2" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/ansi-styles": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", @@ -54277,13 +57949,13 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/argparse": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/argparse": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", "dev": true }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/babel-loader": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/babel-loader": { "version": "9.1.2", "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-9.1.2.tgz", "integrity": "sha512-mN14niXW43tddohGl8HPu5yfQq70iUThvFL/4QzESA7GcZoC0eVOhvWdQ8+3UlSjaDE9MVtsW9mxDY07W7VpVA==", @@ -54300,7 +57972,7 @@ "webpack": ">=5" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/babel-loader/node_modules/schema-utils": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/babel-loader/node_modules/schema-utils": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", @@ -54319,7 +57991,7 @@ "url": "https://opencollective.com/webpack" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/brace-expansion": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/brace-expansion": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", @@ -54328,7 +58000,7 @@ "balanced-match": "^1.0.0" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/cacache": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/cacache": { "version": "17.1.3", "resolved": "https://registry.npmjs.org/cacache/-/cacache-17.1.3.tgz", "integrity": "sha512-jAdjGxmPxZh0IipMdR7fK/4sDSrHMLUV0+GvVUsjwyGNKHsh79kW/otg+GkbXwl6Uzvy9wsvHOX4nUoWldeZMg==", @@ -54351,7 +58023,53 @@ "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/chalk": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/cacache/node_modules/glob": { + "version": "10.3.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.3.tgz", + "integrity": "sha512-92vPiMb/iqpmEgsOoIDvTjc50wf9CCCvMzsi6W0JLPeUKE8TWP1a73PgqSrqy7iAZxaSD1YdzU7QZR5LF51MJw==", + "dev": true, + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^2.0.3", + "minimatch": "^9.0.1", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", + "path-scurry": "^1.10.1" + }, + "bin": { + "glob": "dist/cjs/src/bin.js" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/cacache/node_modules/lru-cache": { + "version": "7.18.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", + "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/cacache/node_modules/minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", @@ -54367,7 +58085,7 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/color-convert": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/color-convert": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", @@ -54379,22 +58097,13 @@ "node": ">=7.0.0" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/color-name": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/color-name": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/colors": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", - "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", - "dev": true, - "engines": { - "node": ">=0.1.90" - } - }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/commander": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/commander": { "version": "10.0.1", "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", @@ -54405,7 +58114,7 @@ "node": ">=14" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/copy-webpack-plugin": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/copy-webpack-plugin": { "version": "11.0.0", "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-11.0.0.tgz", "integrity": "sha512-fX2MWpamkW0hZxMEg0+mYnA40LTosOSa5TqZ9GYIBzyJa9C3QUaMPSE2xAi/buNr8u89SfD9wHSQVBzrRa/SOQ==", @@ -54429,7 +58138,7 @@ "webpack": "^5.1.0" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/copy-webpack-plugin/node_modules/glob-parent": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/copy-webpack-plugin/node_modules/glob-parent": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", @@ -54441,7 +58150,7 @@ "node": ">=10.13.0" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/copy-webpack-plugin/node_modules/schema-utils": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/copy-webpack-plugin/node_modules/schema-utils": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", @@ -54460,7 +58169,7 @@ "url": "https://opencollective.com/webpack" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/cosmiconfig": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/cosmiconfig": { "version": "8.2.0", "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.2.0.tgz", "integrity": "sha512-3rTMnFJA1tCOPwRxtgF4wd7Ab2qvDbL8jX+3smjIbS4HlZBagTlpERbdN7iAbWlrfxE3M8c27kTwTawQ7st+OQ==", @@ -54478,7 +58187,7 @@ "url": "https://github.com/sponsors/d-fischer" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/critters": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/critters": { "version": "0.0.19", "resolved": "https://registry.npmjs.org/critters/-/critters-0.0.19.tgz", "integrity": "sha512-Fm4ZAXsG0VzWy1U30rP4qxbaWGSsqXDgSupJW1OUJGDAs0KWC+j37v7p5a2kZ9BPJvhRzWm3be+Hc9WvQOBUOw==", @@ -54493,7 +58202,7 @@ "pretty-bytes": "^5.3.0" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/css-loader": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/css-loader": { "version": "6.8.1", "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.8.1.tgz", "integrity": "sha512-xDAXtEVGlD0gJ07iclwWVkLoZOpEvAWaSyf6W18S2pOC//K8+qUDIx8IIT3D+HjnmkJPQeesOPv5aiUaJsCM2g==", @@ -54519,7 +58228,7 @@ "webpack": "^5.0.0" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/css-select": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/css-select": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz", "integrity": "sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==", @@ -54535,7 +58244,7 @@ "url": "https://github.com/sponsors/fb55" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/debug": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/debug": { "version": "4.3.4", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", @@ -54552,7 +58261,7 @@ } } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/dom-serializer": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/dom-serializer": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", @@ -54566,7 +58275,7 @@ "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/domhandler": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/domhandler": { "version": "5.0.3", "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", @@ -54581,7 +58290,7 @@ "url": "https://github.com/fb55/domhandler?sponsor=1" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/domutils": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/domutils": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz", "integrity": "sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==", @@ -54595,7 +58304,7 @@ "url": "https://github.com/fb55/domutils?sponsor=1" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/entities": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/entities": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", @@ -54607,7 +58316,7 @@ "url": "https://github.com/fb55/entities?sponsor=1" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/esbuild": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/esbuild": { "version": "0.17.19", "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.17.19.tgz", "integrity": "sha512-XQ0jAPFkK/u3LcVRcvVHQcTIqD6E2H1fvZMA5dQPSOWb3suUbWbfbRf94pjc0bNzRYLfIrDRQXr7X+LHIm5oHw==", @@ -54644,7 +58353,7 @@ "@esbuild/win32-x64": "0.17.19" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/esbuild-wasm": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/esbuild-wasm": { "version": "0.17.19", "resolved": "https://registry.npmjs.org/esbuild-wasm/-/esbuild-wasm-0.17.19.tgz", "integrity": "sha512-X9UQEMJMZXwlGCfqcBmJ1jEa+KrLfd+gCBypO/TSzo5hZvbVwFqpxj1YCuX54ptTF75wxmrgorR4RL40AKtLVg==", @@ -54656,7 +58365,7 @@ "node": ">=12" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/fast-glob": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/fast-glob": { "version": "3.2.12", "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz", "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==", @@ -54672,7 +58381,7 @@ "node": ">=8.6.0" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/find-cache-dir": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/find-cache-dir": { "version": "3.3.2", "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", @@ -54689,7 +58398,7 @@ "url": "https://github.com/avajs/find-cache-dir?sponsor=1" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/find-up": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/find-up": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", @@ -54702,29 +58411,27 @@ "node": ">=8" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/glob": { - "version": "10.3.1", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.1.tgz", - "integrity": "sha512-9BKYcEeIs7QwlCYs+Y3GBvqAMISufUS0i2ELd11zpZjxI5V9iyRj0HgzB5/cLf2NY4vcYBTYzJ7GIui7j/4DOw==", + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "dev": true, "dependencies": { - "foreground-child": "^3.1.0", - "jackspeak": "^2.0.3", - "minimatch": "^9.0.1", - "minipass": "^5.0.0 || ^6.0.2", - "path-scurry": "^1.10.0" - }, - "bin": { - "glob": "dist/cjs/src/bin.js" + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" }, "engines": { - "node": ">=16 || 14 >=14.17" + "node": "*" }, "funding": { "url": "https://github.com/sponsors/isaacs" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/globby": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/globby": { "version": "13.2.2", "resolved": "https://registry.npmjs.org/globby/-/globby-13.2.2.tgz", "integrity": "sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==", @@ -54743,7 +58450,7 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/globby/node_modules/fast-glob": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/globby/node_modules/fast-glob": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.0.tgz", "integrity": "sha512-ChDuvbOypPuNjO8yIDf36x7BlZX1smcUMTTcyoIjycexOxd6DFsKsg21qVBzEmr3G7fUKIRy2/psii+CIUt7FA==", @@ -54759,7 +58466,7 @@ "node": ">=8.6.0" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/has-flag": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", @@ -54768,7 +58475,7 @@ "node": ">=8" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/iconv-lite": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/iconv-lite": { "version": "0.6.3", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", @@ -54780,16 +58487,16 @@ "node": ">=0.10.0" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/ini": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/ini/-/ini-4.0.0.tgz", - "integrity": "sha512-t0ikzf5qkSFqRl1e6ejKBe+Tk2bsQd8ivEkcisyGXsku2t8NvXZ1Y3RRz5vxrDgOrTBOi13CvGsVoI5wVpd7xg==", + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/ini": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ini/-/ini-4.1.1.tgz", + "integrity": "sha512-QQnnxNyfvmHFIsj7gkPcYymR8Jdw/o7mp5ZFihxn6h8Ci6fh3Dx4E1gPjpQEpIuPo9XVNY/ZUwh4BPMjGyL01g==", "dev": true, "engines": { "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/ipaddr.js": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/ipaddr.js": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.1.0.tgz", "integrity": "sha512-LlbxQ7xKzfBusov6UMi4MFpEg0m+mAm9xyNGEduwXMEDuf4WfzB/RZwMVYEd7IKGvh4IUkEXYxtAVu9T3OelJQ==", @@ -54798,16 +58505,13 @@ "node": ">= 10" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/jasmine-spec-reporter": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/jasmine-spec-reporter/-/jasmine-spec-reporter-7.0.0.tgz", - "integrity": "sha512-OtC7JRasiTcjsaCBPtMO0Tl8glCejM4J4/dNuOJdA8lBjz4PmWjYQ6pzb0uzpBNAWJMDudYuj9OdXJWqM2QTJg==", - "dev": true, - "dependencies": { - "colors": "1.4.0" - } + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/jasmine-core": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-4.5.0.tgz", + "integrity": "sha512-9PMzyvhtocxb3aXJVOPqBDswdgyAeSB81QnLop4npOpbqnheaTEwPc9ZloQeVswugPManznQBjD8kWDTjlnHuw==", + "dev": true }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/jest-worker": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/jest-worker": { "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", @@ -54821,7 +58525,7 @@ "node": ">= 10.13.0" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/jest-worker/node_modules/supports-color": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/jest-worker/node_modules/supports-color": { "version": "8.1.1", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", @@ -54836,7 +58540,7 @@ "url": "https://github.com/chalk/supports-color?sponsor=1" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/js-yaml": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/js-yaml": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", @@ -54848,39 +58552,118 @@ "js-yaml": "bin/js-yaml.js" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/karma-jasmine": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/karma-jasmine/-/karma-jasmine-4.0.2.tgz", - "integrity": "sha512-ggi84RMNQffSDmWSyyt4zxzh2CQGwsxvYYsprgyR1j8ikzIduEdOlcLvXjZGwXG/0j41KUXOWsUCBfbEHPWP9g==", + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/karma": { + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/karma/-/karma-6.4.2.tgz", + "integrity": "sha512-C6SU/53LB31BEgRg+omznBEMY4SjHU3ricV6zBcAe1EeILKkeScr+fZXtaI5WyDbkVowJxxAI6h73NcFPmXolQ==", "dev": true, "dependencies": { - "jasmine-core": "^3.6.0" + "@colors/colors": "1.5.0", + "body-parser": "^1.19.0", + "braces": "^3.0.2", + "chokidar": "^3.5.1", + "connect": "^3.7.0", + "di": "^0.0.1", + "dom-serialize": "^2.2.1", + "glob": "^7.1.7", + "graceful-fs": "^4.2.6", + "http-proxy": "^1.18.1", + "isbinaryfile": "^4.0.8", + "lodash": "^4.17.21", + "log4js": "^6.4.1", + "mime": "^2.5.2", + "minimatch": "^3.0.4", + "mkdirp": "^0.5.5", + "qjobs": "^1.2.0", + "range-parser": "^1.2.1", + "rimraf": "^3.0.2", + "socket.io": "^4.4.1", + "source-map": "^0.6.1", + "tmp": "^0.2.1", + "ua-parser-js": "^0.7.30", + "yargs": "^16.1.1" + }, + "bin": { + "karma": "bin/karma" }, "engines": { "node": ">= 10" + } + }, + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/karma-jasmine": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/karma-jasmine/-/karma-jasmine-5.1.0.tgz", + "integrity": "sha512-i/zQLFrfEpRyQoJF9fsCdTMOF5c2dK7C7OmsuKg2D0YSsuZSfQDiLuaiktbuio6F2wiCsZSnSnieIQ0ant/uzQ==", + "dev": true, + "dependencies": { + "jasmine-core": "^4.1.0" + }, + "engines": { + "node": ">=12" }, "peerDependencies": { - "karma": "*" + "karma": "^6.0.0" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/karma-jasmine-html-reporter": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/karma-jasmine-html-reporter/-/karma-jasmine-html-reporter-1.7.0.tgz", - "integrity": "sha512-pzum1TL7j90DTE86eFt48/s12hqwQuiD+e5aXx2Dc9wDEn2LfGq6RoAxEZZjFiN0RDSCOnosEKRZWxbQ+iMpQQ==", + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/karma-jasmine-html-reporter": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/karma-jasmine-html-reporter/-/karma-jasmine-html-reporter-2.0.0.tgz", + "integrity": "sha512-SB8HNNiazAHXM1vGEzf8/tSyEhkfxuDdhYdPBX2Mwgzt0OuF2gicApQ+uvXLID/gXyJQgvrM9+1/2SxZFUUDIA==", "dev": true, "peerDependencies": { - "jasmine-core": ">=3.8", - "karma": ">=0.9", - "karma-jasmine": ">=1.1" + "jasmine-core": "^4.0.0", + "karma": "^6.0.0", + "karma-jasmine": "^5.0.0" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/karma-jasmine/node_modules/jasmine-core": { - "version": "3.99.1", - "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-3.99.1.tgz", - "integrity": "sha512-Hu1dmuoGcZ7AfyynN3LsfruwMbxMALMka+YtZeGoLuDEySVmVAPaonkNoBRIw/ectu8b9tVQCJNgp4a4knp+tg==", - "dev": true + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/karma/node_modules/cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/less-loader": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/karma/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/karma/node_modules/yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dev": true, + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/karma/node_modules/yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/less-loader": { "version": "11.1.0", "resolved": "https://registry.npmjs.org/less-loader/-/less-loader-11.1.0.tgz", "integrity": "sha512-C+uDBV7kS7W5fJlUjq5mPBeBVhYpTIm5gB09APT9o3n/ILeaXVsiSFTbZpTJCJwQ/Crczfn3DmfQFwxYusWFug==", @@ -54900,7 +58683,7 @@ "webpack": "^5.0.0" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/loader-runner": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/loader-runner": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", @@ -54909,7 +58692,7 @@ "node": ">=6.11.5" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/locate-path": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/locate-path": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", @@ -54921,16 +58704,19 @@ "node": ">=8" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/lru-cache": { - "version": "7.18.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", - "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, "engines": { - "node": ">=12" + "node": ">=10" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/magic-string": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/magic-string": { "version": "0.30.0", "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.0.tgz", "integrity": "sha512-LA+31JYDJLs82r2ScLrlz1GjSgu66ZV518eyWT+S8VhyQn/JL0u9MeBOvQMGYiPk1DBiSN9DDMOcXvigJZaViQ==", @@ -54942,7 +58728,7 @@ "node": ">=12" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/make-dir": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/make-dir": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", @@ -54957,16 +58743,16 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/make-dir/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/make-dir/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, "bin": { "semver": "bin/semver.js" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/mini-css-extract-plugin": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/mini-css-extract-plugin": { "version": "2.7.6", "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.7.6.tgz", "integrity": "sha512-Qk7HcgaPkGG6eD77mLvZS1nmxlao3j+9PkrT9Uc7HAE1id3F41+DdBRYRYkbyfNRGzm8/YWtzhw7nVPmwhqTQw==", @@ -54985,7 +58771,7 @@ "webpack": "^5.0.0" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/mini-css-extract-plugin/node_modules/schema-utils": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/mini-css-extract-plugin/node_modules/schema-utils": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", @@ -55004,22 +58790,7 @@ "url": "https://opencollective.com/webpack" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/minimatch": { - "version": "9.0.3", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", - "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", - "dev": true, - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/minipass": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/minipass": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", @@ -55028,13 +58799,13 @@ "node": ">=8" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/ms": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/ng-packagr": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/ng-packagr": { "version": "16.1.0", "resolved": "https://registry.npmjs.org/ng-packagr/-/ng-packagr-16.1.0.tgz", "integrity": "sha512-NbgzDRtRiYJi98Ssky7U5GoicZz7VkR3OW5qd9q3dt3H/JNqLh2PwB745NFG2cT00lEvfrY6LJ1NAcOjoWDibA==", @@ -55088,7 +58859,7 @@ } } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/ng-packagr/node_modules/convert-source-map": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/ng-packagr/node_modules/convert-source-map": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", @@ -55096,7 +58867,7 @@ "optional": true, "peer": true }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/p-limit": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/p-limit": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", @@ -55111,7 +58882,7 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/p-locate": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/p-locate": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", @@ -55123,10 +58894,10 @@ "node": ">=8" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/pacote": { - "version": "15.1.3", - "resolved": "https://registry.npmjs.org/pacote/-/pacote-15.1.3.tgz", - "integrity": "sha512-aRts8cZqxiJVDitmAh+3z+FxuO3tLNWEmwDRPEpDDiZJaRz06clP4XX112ynMT5uF0QNoMPajBBHnaStUEPJXA==", + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/pacote": { + "version": "15.2.0", + "resolved": "https://registry.npmjs.org/pacote/-/pacote-15.2.0.tgz", + "integrity": "sha512-rJVZeIwHTUta23sIZgEIM62WYwbmGbThdbnkt81ravBplQv+HjyroqnLRNH2+sLJHcGZmLRmhPwACqhfTcOmnA==", "dev": true, "dependencies": { "@npmcli/git": "^4.0.0", @@ -55155,7 +58926,7 @@ "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/pkg-dir": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/pkg-dir": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", @@ -55167,7 +58938,7 @@ "node": ">=8" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/postcss": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/postcss": { "version": "8.4.24", "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.24.tgz", "integrity": "sha512-M0RzbcI0sO/XJNucsGjvWU9ERWxb/ytp1w6dKtxTKgixdtQDq4rmx/g8W1hnaheq9jgwL/oyEdH5Bc4WwJKMqg==", @@ -55195,7 +58966,7 @@ "node": "^10 || ^12 || >=14" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/postcss-loader": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/postcss-loader": { "version": "7.3.2", "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-7.3.2.tgz", "integrity": "sha512-c7qDlXErX6n0VT+LUsW+nwefVtTu3ORtVvK8EXuUIDcxo+b/euYqpuHlJAvePb0Af5e8uMjR/13e0lTuYifaig==", @@ -55218,7 +58989,7 @@ "webpack": "^5.0.0" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/resolve": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/resolve": { "version": "1.22.2", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.2.tgz", "integrity": "sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==", @@ -55235,7 +59006,7 @@ "url": "https://github.com/sponsors/ljharb" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/sass": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/sass": { "version": "1.63.2", "resolved": "https://registry.npmjs.org/sass/-/sass-1.63.2.tgz", "integrity": "sha512-u56TU0AIFqMtauKl/OJ1AeFsXqRHkgO7nCWmHaDwfxDo9GUMSqBA4NEh6GMuh1CYVM7zuROYtZrHzPc2ixK+ww==", @@ -55252,7 +59023,7 @@ "node": ">=14.0.0" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/sass-loader": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/sass-loader": { "version": "13.3.1", "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-13.3.1.tgz", "integrity": "sha512-cBTxmgyVA1nXPvIK4brjJMXOMJ2v2YrQEuHqLw3LylGb3gsR6jAvdjHMcy/+JGTmmIF9SauTrLLR7bsWDMWqgg==", @@ -55290,10 +59061,10 @@ } } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/semver": { - "version": "7.5.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.3.tgz", - "integrity": "sha512-QBlUtyVk/5EeHbi7X0fw6liDZc7BBmEaSYn01fMU1OUYbf6GPsbTtd8WmnqbI20SeycoHSeiybkE/q1Q+qlThQ==", + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", "dev": true, "dependencies": { "lru-cache": "^6.0.0" @@ -55305,19 +59076,7 @@ "node": ">=10" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/semver/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/slash": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/slash": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", @@ -55329,7 +59088,7 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/source-map-loader": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/source-map-loader": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/source-map-loader/-/source-map-loader-4.0.1.tgz", "integrity": "sha512-oqXpzDIByKONVY8g1NUPOTQhe0UTU5bWUl32GSkqK2LjJj0HmwTMVKxcUip0RgAYhY1mqgOxjbQM48a0mmeNfA==", @@ -55350,7 +59109,7 @@ "webpack": "^5.72.1" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/ssri": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/ssri": { "version": "10.0.4", "resolved": "https://registry.npmjs.org/ssri/-/ssri-10.0.4.tgz", "integrity": "sha512-12+IR2CB2C28MMAw0Ncqwj5QbTcs0nGIhgJzYWzDkb21vWmfNI83KS4f3Ci6GI98WreIfG7o9UXp3C0qbpA8nQ==", @@ -55362,7 +59121,7 @@ "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/supports-color": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", @@ -55374,7 +59133,7 @@ "node": ">=8" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/terser": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/terser": { "version": "5.17.7", "resolved": "https://registry.npmjs.org/terser/-/terser-5.17.7.tgz", "integrity": "sha512-/bi0Zm2C6VAexlGgLlVxA0P2lru/sdLyfCVaRMfKVo9nWxbmz7f/sD8VPybPeSUJaJcwmCJis9pBIhcVcG1QcQ==", @@ -55392,7 +59151,7 @@ "node": ">=10" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/terser-webpack-plugin": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/terser-webpack-plugin": { "version": "5.3.9", "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.9.tgz", "integrity": "sha512-ZuXsqE07EcggTWQjXUj+Aot/OMcD0bMKGgF63f7UxYcu5/AJF53aIpK1YoP5xR9l6s/Hy2b+t1AM0bLNPRuhwA==", @@ -55426,17 +59185,28 @@ } } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/terser/node_modules/commander": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/terser/node_modules/commander": { "version": "2.20.3", "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", "dev": true }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/ts-node": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/tmp": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", + "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", + "dev": true, + "dependencies": { + "rimraf": "^3.0.0" + }, + "engines": { + "node": ">=8.17.0" + } + }, + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/ts-node": { "version": "10.9.1", "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz", "integrity": "sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==", - "dev": true, "dependencies": { "@cspotcode/source-map-support": "^0.8.0", "@tsconfig/node10": "^1.0.7", @@ -55475,12 +59245,12 @@ } } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/tslib": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/tslib": { "version": "2.5.3", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.3.tgz", "integrity": "sha512-mSxlJJwl3BMEQCUNnxXBU9jP4JBktcEGhURcPR6VQVlnP0FdDEsIaz0C35dXNGLyRfrATNofF0F5p2KPxQgB+w==" }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/vite": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/vite": { "version": "4.3.9", "resolved": "https://registry.npmjs.org/vite/-/vite-4.3.9.tgz", "integrity": "sha512-qsTNZjO9NoJNW7KnOrgYwczm0WctJ8m/yqYAMAK9Lxt4SoySUfS5S8ia9K7JHpa3KEeMfyF8LoJ3c5NeBJy6pg==", @@ -55528,7 +59298,7 @@ } } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/watchpack": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/watchpack": { "version": "2.4.0", "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", @@ -55541,7 +59311,7 @@ "node": ">=10.13.0" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/webpack": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/webpack": { "version": "5.86.0", "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.86.0.tgz", "integrity": "sha512-3BOvworZ8SO/D4GVP+GoRC3fVeg5MO4vzmq8TJJEkdmopxyazGDxN8ClqN12uzrZW9Tv8EED8v5VSb6Sqyi0pg==", @@ -55588,7 +59358,7 @@ } } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/webpack-dev-middleware": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/webpack-dev-middleware": { "version": "6.1.1", "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-6.1.1.tgz", "integrity": "sha512-y51HrHaFeeWir0YO4f0g+9GwZawuigzcAdRNon6jErXy/SqV/+O6eaVAzDqE6t3e3NpGeR5CS+cCDaTC+V3yEQ==", @@ -55616,7 +59386,7 @@ } } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/webpack-dev-middleware/node_modules/schema-utils": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/webpack-dev-middleware/node_modules/schema-utils": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", @@ -55635,7 +59405,7 @@ "url": "https://opencollective.com/webpack" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/webpack-dev-server": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/webpack-dev-server": { "version": "4.15.0", "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.15.0.tgz", "integrity": "sha512-HmNB5QeSl1KpulTBQ8UT4FPrByYyaLxpJoQ0+s7EvUrMc16m0ZS1sgb1XGqzmgCPk0c9y+aaXxn11tbLzuM7NQ==", @@ -55694,7 +59464,7 @@ } } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/webpack-dev-server/node_modules/schema-utils": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/webpack-dev-server/node_modules/schema-utils": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", @@ -55713,7 +59483,7 @@ "url": "https://opencollective.com/webpack" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/webpack-dev-server/node_modules/webpack-dev-middleware": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/webpack-dev-server/node_modules/webpack-dev-middleware": { "version": "5.3.3", "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.3.tgz", "integrity": "sha512-hj5CYrY0bZLB+eTO+x/j67Pkrquiy7kWepMHmUMoPsmcUaeEnQJqFzHJOyxgWlq746/wUuA64p9ta34Kyb01pA==", @@ -55736,7 +59506,7 @@ "webpack": "^4.0.0 || ^5.0.0" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/webpack-merge": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/webpack-merge": { "version": "5.9.0", "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.9.0.tgz", "integrity": "sha512-6NbRQw4+Sy50vYNTw7EyOn41OZItPiXB8GNv3INSoe3PSFaHJEz3SHTrYVaRm2LilNGnFUzh0FAwqPEmU/CwDg==", @@ -55749,7 +59519,7 @@ "node": ">=10.0.0" } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/webpack-subresource-integrity": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/webpack-subresource-integrity": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/webpack-subresource-integrity/-/webpack-subresource-integrity-5.1.0.tgz", "integrity": "sha512-sacXoX+xd8r4WKsy9MvH/q/vBtEHr86cpImXwyg74pFIpERKt6FmB8cXpeuh0ZLgclOlHI4Wcll7+R5L02xk9Q==", @@ -55770,7 +59540,7 @@ } } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/ws": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/ws": { "version": "8.13.0", "resolved": "https://registry.npmjs.org/ws/-/ws-8.13.0.tgz", "integrity": "sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA==", @@ -55791,13 +59561,13 @@ } } }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/yallist": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/yallist": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", "dev": true }, - "samples/msal-angular-v3-samples/angular-b2c-sample-app/node_modules/zone.js": { + "samples/msal-angular-v3-samples/angular-standalone-sample/node_modules/zone.js": { "version": "0.13.1", "resolved": "https://registry.npmjs.org/zone.js/-/zone.js-0.13.1.tgz", "integrity": "sha512-+bIeDAFEBYuXRuU3qGQvzdPap+N1zjM4KkBAiiQuVVCrHrhjDuY6VkUhNa5+U27+9w0q3fbKiMCbpJ0XzMmSWA==", @@ -62624,4 +66394,4 @@ "integrity": "sha512-6sfo1qTulpVbkxECP+AVrHV9OoJqhzCsfTNp5NIG+enM4HyM3HvZCO798WShIXBN0+QtDIcutJCjsVYnQP5rIQ==" } } -} +} \ No newline at end of file diff --git a/samples/msal-angular-v3-samples/README.md b/samples/msal-angular-v3-samples/README.md index 132879aca8..f6bf9d3a23 100644 --- a/samples/msal-angular-v3-samples/README.md +++ b/samples/msal-angular-v3-samples/README.md @@ -4,17 +4,22 @@ * [Angular 15](https://github.com/AzureAD/microsoft-authentication-library-for-js/tree/dev/samples/msal-angular-v3-samples/angular15-sample-app) * Consenting to scopes: This sample consents to scopes upfront. See our [configuration doc](https://github.com/AzureAD/microsoft-authentication-library-for-js/tree/dev/lib/msal-angular/docs/v2-docs/configuration.md) for more information. - * `MsalRedirectComponent`: This sample uses the `MsalRedirectComponent` to handle redirects. See our doc on [redirects](https://github.com/AzureAD/microsoft-authentication-library-for-js/blob/dev/lib/msal-angular/docs/v2-docs/redirects.md) for more information. + * `MsalRedirectComponent`: This sample uses the `MsalRedirectComponent` to handle redirects. See our doc on [redirects](https://github.com/AzureAD/microsoft-authentication-library-for-js/blob/dev/lib/msal-angular/docs/redirects.md) for more information. * `PathLocationStrategy`: This sample uses the `PathLocationStrategy` for routing. See [Angular docs](https://angular.io/guide/router#locationstrategy-and-browser-url-styles) for more details. * [Angular 16](https://github.com/AzureAD/microsoft-authentication-library-for-js/tree/dev/samples/msal-angular-v3-samples/angular16-sample-app) * Consenting to scopes: This sample consents to scopes upfront. See our [configuration doc](https://github.com/AzureAD/microsoft-authentication-library-for-js/tree/dev/lib/msal-angular/docs/v2-docs/configuration.md) for more information. - * `MsalRedirectComponent`: This sample uses the `MsalRedirectComponent` to handle redirects. See our doc on [redirects](https://github.com/AzureAD/microsoft-authentication-library-for-js/blob/dev/lib/msal-angular/docs/v2-docs/redirects.md) for more information. + * `MsalRedirectComponent`: This sample uses the `MsalRedirectComponent` to handle redirects. See our doc on [redirects](https://github.com/AzureAD/microsoft-authentication-library-for-js/blob/dev/lib/msal-angular/docs/redirects.md) for more information. * `PathLocationStrategy`: This sample uses the `PathLocationStrategy` for routing. See [Angular docs](https://angular.io/guide/router#locationstrategy-and-browser-url-styles) for more details. * [Angular v16 B2C Sample](https://github.com/AzureAD/microsoft-authentication-library-for-js/tree/dev/samples/msal-angular-v3-samples/angular-b2c-sample-app) * This sample demonstrates how to use Msal Angular with B2C. See our [B2C doc](https://github.com/AzureAD/microsoft-authentication-library-for-js/blob/dev/lib/msal-browser/docs/working-with-b2c.md) for more information on configuration and usage. - * `MsalRedirectComponent`: This sample uses the `MsalRedirectComponent` to handle redirects. See our doc on [redirects](https://github.com/AzureAD/microsoft-authentication-library-for-js/blob/dev/lib/msal-angular/docs/v2-docs/redirects.md) for more information. + * `MsalRedirectComponent`: This sample uses the `MsalRedirectComponent` to handle redirects. See our doc on [redirects](https://github.com/AzureAD/microsoft-authentication-library-for-js/blob/dev/lib/msal-angular/docs/redirects.md) for more information. + * `PathLocationStrategy`: This sample uses the `PathLocationStrategy` for routing. See [Angular docs](https://angular.io/guide/router#locationstrategy-and-browser-url-styles) for more details. + +* [Angular Standalone Sample](https://github.com/AzureAD/microsoft-authentication-library-for-js/tree/dev/samples/msal-angular-v3-samples/angular-standalone-sample) + * This sample demonstrates how to use Msal Angular with Angular's standalone components. + * This sample does not use the `MsalRedirectComponent`, but subscribes to `handleRedirectObservable` in the App Component. See our doc on [redirects](https://github.com/AzureAD/microsoft-authentication-library-for-js/blob/dev/lib/msal-angular/docs/redirects.md) for more information. * `PathLocationStrategy`: This sample uses the `PathLocationStrategy` for routing. See [Angular docs](https://angular.io/guide/router#locationstrategy-and-browser-url-styles) for more details. Additional samples will continue to be added at a later date. diff --git a/samples/msal-angular-v3-samples/angular-standalone-sample/.editorconfig b/samples/msal-angular-v3-samples/angular-standalone-sample/.editorconfig new file mode 100644 index 0000000000..59d9a3a3e7 --- /dev/null +++ b/samples/msal-angular-v3-samples/angular-standalone-sample/.editorconfig @@ -0,0 +1,16 @@ +# Editor configuration, see https://editorconfig.org +root = true + +[*] +charset = utf-8 +indent_style = space +indent_size = 2 +insert_final_newline = true +trim_trailing_whitespace = true + +[*.ts] +quote_type = single + +[*.md] +max_line_length = off +trim_trailing_whitespace = false diff --git a/samples/msal-angular-v3-samples/angular-standalone-sample/.gitignore b/samples/msal-angular-v3-samples/angular-standalone-sample/.gitignore new file mode 100644 index 0000000000..3ae9c7c759 --- /dev/null +++ b/samples/msal-angular-v3-samples/angular-standalone-sample/.gitignore @@ -0,0 +1,44 @@ +# See http://help.github.com/ignore-files/ for more about ignoring files. + +# Compiled output +/dist +/tmp +/out-tsc +/bazel-out + +# Node +/node_modules +npm-debug.log +yarn-error.log + +# IDEs and editors +.idea/ +.project +.classpath +.c9/ +*.launch +.settings/ +*.sublime-workspace + +# Visual Studio Code +.vscode/* +!.vscode/settings.json +!.vscode/tasks.json +!.vscode/launch.json +!.vscode/extensions.json +.history/* + +# Miscellaneous +/.angular/cache +.sass-cache/ +/connect.lock +/coverage +/libpeerconnection.log +testem.log +/typings + +# System files +.DS_Store +Thumbs.db + +package-lock.json \ No newline at end of file diff --git a/samples/msal-angular-v3-samples/angular-standalone-sample/.vscode/extensions.json b/samples/msal-angular-v3-samples/angular-standalone-sample/.vscode/extensions.json new file mode 100644 index 0000000000..77b374577d --- /dev/null +++ b/samples/msal-angular-v3-samples/angular-standalone-sample/.vscode/extensions.json @@ -0,0 +1,4 @@ +{ + // For more information, visit: https://go.microsoft.com/fwlink/?linkid=827846 + "recommendations": ["angular.ng-template"] +} diff --git a/samples/msal-angular-v3-samples/angular-standalone-sample/.vscode/launch.json b/samples/msal-angular-v3-samples/angular-standalone-sample/.vscode/launch.json new file mode 100644 index 0000000000..740e35a0c0 --- /dev/null +++ b/samples/msal-angular-v3-samples/angular-standalone-sample/.vscode/launch.json @@ -0,0 +1,20 @@ +{ + // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 + "version": "0.2.0", + "configurations": [ + { + "name": "ng serve", + "type": "pwa-chrome", + "request": "launch", + "preLaunchTask": "npm: start", + "url": "http://localhost:4200/" + }, + { + "name": "ng test", + "type": "chrome", + "request": "launch", + "preLaunchTask": "npm: test", + "url": "http://localhost:9876/debug.html" + } + ] +} diff --git a/samples/msal-angular-v3-samples/angular-standalone-sample/.vscode/tasks.json b/samples/msal-angular-v3-samples/angular-standalone-sample/.vscode/tasks.json new file mode 100644 index 0000000000..a298b5bd87 --- /dev/null +++ b/samples/msal-angular-v3-samples/angular-standalone-sample/.vscode/tasks.json @@ -0,0 +1,42 @@ +{ + // For more information, visit: https://go.microsoft.com/fwlink/?LinkId=733558 + "version": "2.0.0", + "tasks": [ + { + "type": "npm", + "script": "start", + "isBackground": true, + "problemMatcher": { + "owner": "typescript", + "pattern": "$tsc", + "background": { + "activeOnStart": true, + "beginsPattern": { + "regexp": "(.*?)" + }, + "endsPattern": { + "regexp": "bundle generation complete" + } + } + } + }, + { + "type": "npm", + "script": "test", + "isBackground": true, + "problemMatcher": { + "owner": "typescript", + "pattern": "$tsc", + "background": { + "activeOnStart": true, + "beginsPattern": { + "regexp": "(.*?)" + }, + "endsPattern": { + "regexp": "bundle generation complete" + } + } + } + } + ] +} diff --git a/samples/msal-angular-v3-samples/angular-standalone-sample/README.md b/samples/msal-angular-v3-samples/angular-standalone-sample/README.md new file mode 100644 index 0000000000..e1d3a62535 --- /dev/null +++ b/samples/msal-angular-v3-samples/angular-standalone-sample/README.md @@ -0,0 +1,26 @@ +# Angular Standalone MSAL Angular v3 Sample + +This developer sample is used to demonstrate how to use `@azure/msal-angular` with Angular standalone components, and does not use the `MsalModule` or `NgModule`. + +Please see [Angular's docs on standalone](https://angular.io/guide/standalone-components) for more information. + +This project was generated with [Angular CLI](https://github.com/angular/angular-cli) version 15.1.4 and then upgraded to version 16.1.4. + +## How to run the sample + +### Pre-requisites +- Ensure [all pre-requisites](https://github.com/AzureAD/microsoft-authentication-library-for-js/blob/dev/lib/msal-angular/README.md) have been completed to run msal-angular. + +### Configure the application +- Open `./src/main.ts` in an editor. +- Replace client id with the Application (client) ID from the portal registration, or use the currently configured lab registration. + - Optionally, you may replace any of the other parameters, or you can remove them and use the default values. + +### Running the sample +- In a command prompt, run `npm start`. +- Navigate to [http://localhost:4200](http://localhost:4200) +- In the web page, click on the "Login" button. The app will automatically reload if you change any of the source files. + +## Additional notes +- This sample does not use the `MsalRedirectComponent`, but subscribes to `handleRedirectObservable` in the `app.component.ts` file. See our doc on [redirects](https://github.com/AzureAD/microsoft-authentication-library-for-js/blob/dev/lib/msal-angular/docs/redirects.md) for more information. +- The default interaction type for the sample is redirects. The sample can be configured to use redirects by changing the `interactionType` in `main.ts` to `InteractionType.Popup`. diff --git a/samples/msal-angular-v3-samples/angular-standalone-sample/angular.json b/samples/msal-angular-v3-samples/angular-standalone-sample/angular.json new file mode 100644 index 0000000000..f5dfa384f7 --- /dev/null +++ b/samples/msal-angular-v3-samples/angular-standalone-sample/angular.json @@ -0,0 +1,129 @@ +{ + "$schema": "./node_modules/@angular/cli/lib/config/schema.json", + "version": 1, + "newProjectRoot": "projects", + "projects": { + "angular-standalone-sample": { + "projectType": "application", + "schematics": {}, + "root": "", + "sourceRoot": "src", + "prefix": "app", + "architect": { + "build": { + "builder": "@angular-devkit/build-angular:browser", + "options": { + "outputPath": "dist/angular-standalone-sample", + "index": "src/index.html", + "main": "src/main.ts", + "polyfills": [ + "zone.js" + ], + "tsConfig": "tsconfig.app.json", + "assets": [ + "src/favicon.ico", + "src/assets" + ], + "styles": [ + "src/styles.css" + ], + "scripts": [] + }, + "configurations": { + "production": { + "optimization": { + "styles": { + "inlineCritical": false // Causes setAttribute errors + } + }, + "budgets": [ + { + "type": "initial", + "maximumWarning": "500kb", + "maximumError": "1mb" + }, + { + "type": "anyComponentStyle", + "maximumWarning": "2kb", + "maximumError": "4kb" + } + ], + "fileReplacements": [ + { + "replace": "src/environments/environment.ts", + "with": "src/environments/environment.prod.ts" + } + ], + "outputHashing": "all" + }, + "e2e": { + "fileReplacements": [ + { + "replace": "src/environments/environment.ts", + "with": "src/environments/environment.e2e.ts" + } + ] + }, + "dev": { + "buildOptimizer": false, + "optimization": false, + "vendorChunk": true, + "extractLicenses": false, + "sourceMap": true, + "namedChunks": true, + "fileReplacements": [ + { + "replace": "src/environments/environment.ts", + "with": "src/environments/environment.dev.ts" + } + ] + } + }, + "defaultConfiguration": "production" + }, + "serve": { + "builder": "@angular-devkit/build-angular:dev-server", + "configurations": { + "production": { + "browserTarget": "angular-standalone-sample:build:production" + }, + "e2e": { + "browserTarget": "angular-standalone-sample:build:e2e" + }, + "dev": { + "browserTarget": "angular-standalone-sample:build:dev" + } + }, + "defaultConfiguration": "dev" + }, + "extract-i18n": { + "builder": "@angular-devkit/build-angular:extract-i18n", + "options": { + "browserTarget": "angular-standalone-sample:build" + } + }, + "test": { + "builder": "@angular-devkit/build-angular:karma", + "options": { + "polyfills": [ + "zone.js", + "zone.js/testing" + ], + "tsConfig": "tsconfig.spec.json", + "assets": [ + "src/favicon.ico", + "src/assets" + ], + "styles": [ + "src/styles.css" + ], + "scripts": [] + } + } + } + } + }, + "cli": { + "analytics": false + } +} \ No newline at end of file diff --git a/samples/msal-angular-v3-samples/angular-standalone-sample/jest.config.js b/samples/msal-angular-v3-samples/angular-standalone-sample/jest.config.js new file mode 100644 index 0000000000..ed91103c7d --- /dev/null +++ b/samples/msal-angular-v3-samples/angular-standalone-sample/jest.config.js @@ -0,0 +1,9 @@ +module.exports = { + displayName: "angular-standalone-sample", + globals: { + __PORT__: 4217, + __STARTCMD__: "npm start -- --port 4217", + __TIMEOUT__: 90000 + }, + preset: "../../e2eTestUtils/jest-puppeteer-utils/jest-preset.js" +}; diff --git a/samples/msal-angular-v3-samples/angular-standalone-sample/package.json b/samples/msal-angular-v3-samples/angular-standalone-sample/package.json new file mode 100644 index 0000000000..aec1441572 --- /dev/null +++ b/samples/msal-angular-v3-samples/angular-standalone-sample/package.json @@ -0,0 +1,48 @@ +{ + "name": "angular-standalone-sample", + "version": "0.0.0", + "scripts": { + "ng": "ng", + "start": "ng serve", + "build": "ng build", + "watch": "ng build --watch --configuration development", + "test": "ng test", + "lint": "ng lint", + "e2e": "jest" + }, + "private": true, + "dependencies": { + "@angular/animations": "^16.1.5", + "@angular/common": "^16.1.5", + "@angular/compiler": "^16.1.5", + "@angular/core": "^16.1.5", + "@angular/forms": "^16.1.5", + "@angular/material": "^16.1.5", + "@angular/platform-browser": "^16.1.5", + "@angular/platform-browser-dynamic": "^16.1.5", + "@angular/router": "^16.1.5", + "@azure/msal-angular": "^3.0.0-beta.0", + "@azure/msal-browser": "^3.0.0-beta.0", + "rxjs": "~7.8.0", + "ts-node": "^10.9.1", + "tslib": "^2.3.0", + "zone.js": "~0.13.1" + }, + "devDependencies": { + "@angular-devkit/build-angular": "^16.1.4", + "@angular/cli": "~16.1.4", + "@angular/compiler-cli": "^16.1.5", + "@types/jasmine": "~4.3.0", + "@types/jest": "^29.5.0", + "e2e-test-utils": "file:../../e2eTestUtils", + "jasmine-core": "~4.5.0", + "jest": "^29.5.0", + "karma": "~6.4.0", + "karma-chrome-launcher": "~3.1.0", + "karma-coverage": "~2.2.0", + "karma-jasmine": "~5.1.0", + "karma-jasmine-html-reporter": "~2.0.0", + "ts-jest": "^29.1.0", + "typescript": "~4.9.4" + } +} \ No newline at end of file diff --git a/samples/msal-angular-v3-samples/angular-standalone-sample/src/app/app.component.css b/samples/msal-angular-v3-samples/angular-standalone-sample/src/app/app.component.css new file mode 100644 index 0000000000..eb1268ec2c --- /dev/null +++ b/samples/msal-angular-v3-samples/angular-standalone-sample/src/app/app.component.css @@ -0,0 +1,7 @@ +.toolbar-spacer { + flex: 1 1 auto; +} + +a.title { + color: white; +} \ No newline at end of file diff --git a/samples/msal-angular-v3-samples/angular-standalone-sample/src/app/app.component.html b/samples/msal-angular-v3-samples/angular-standalone-sample/src/app/app.component.html new file mode 100644 index 0000000000..a18b9edcf1 --- /dev/null +++ b/samples/msal-angular-v3-samples/angular-standalone-sample/src/app/app.component.html @@ -0,0 +1,24 @@ + + {{ title }} + +
+ + Profile + + + + + + + + + + + + + +
+
+ + +
\ No newline at end of file diff --git a/samples/msal-angular-v3-samples/angular-standalone-sample/src/app/app.component.spec.ts b/samples/msal-angular-v3-samples/angular-standalone-sample/src/app/app.component.spec.ts new file mode 100644 index 0000000000..c7c8bf751b --- /dev/null +++ b/samples/msal-angular-v3-samples/angular-standalone-sample/src/app/app.component.spec.ts @@ -0,0 +1,41 @@ +import { TestBed } from '@angular/core/testing'; +import { RouterTestingModule } from '@angular/router/testing'; +import { MSAL_GUARD_CONFIG, MSAL_INSTANCE, MsalBroadcastService, MsalGuard, MsalService } from '@azure/msal-angular'; +import { AppComponent } from './app.component'; +import { MSALGuardConfigFactory, MSALInstanceFactory } from 'src/main'; + +describe('AppComponent', () => { + beforeEach(async () => { + await TestBed.configureTestingModule({ + imports: [ + RouterTestingModule, + AppComponent + ], + providers: [ + MsalService, + MsalGuard, + MsalBroadcastService, + { + provide: MSAL_INSTANCE, + useFactory: MSALInstanceFactory + }, + { + provide: MSAL_GUARD_CONFIG, + useFactory: MSALGuardConfigFactory + } + ] + }).compileComponents(); + }); + + it('should create the app', () => { + const fixture = TestBed.createComponent(AppComponent); + const app = fixture.componentInstance; + expect(app).toBeTruthy(); + }); + + it(`should have as title 'Angular Standalone Sample - MSAL Angular v3'`, () => { + const fixture = TestBed.createComponent(AppComponent); + const app = fixture.componentInstance; + expect(app.title).toEqual('Angular Standalone Sample - MSAL Angular v3'); + }); +}); diff --git a/samples/msal-angular-v3-samples/angular-standalone-sample/src/app/app.component.ts b/samples/msal-angular-v3-samples/angular-standalone-sample/src/app/app.component.ts new file mode 100644 index 0000000000..ca1eeea42e --- /dev/null +++ b/samples/msal-angular-v3-samples/angular-standalone-sample/src/app/app.component.ts @@ -0,0 +1,117 @@ +import { Component, OnInit, Inject, OnDestroy } from '@angular/core'; +import { CommonModule } from '@angular/common'; +import { MatMenuModule } from '@angular/material/menu'; +import { MatButtonModule } from '@angular/material/button'; +import { MatToolbarModule } from '@angular/material/toolbar'; +import { RouterModule} from '@angular/router'; +import { MsalService, MsalBroadcastService, MSAL_GUARD_CONFIG, MsalGuardConfiguration } from '@azure/msal-angular'; +import { AuthenticationResult, InteractionStatus, PopupRequest, RedirectRequest, EventMessage, EventType } from '@azure/msal-browser'; +import { Subject } from 'rxjs'; +import { filter, takeUntil } from 'rxjs/operators'; + +@Component({ + selector: 'app-root', + templateUrl: './app.component.html', + styleUrls: ['./app.component.css'], + standalone: true, + imports: [CommonModule, RouterModule, MatToolbarModule, MatButtonModule, MatMenuModule] +}) +export class AppComponent implements OnInit, OnDestroy { + title = 'Angular Standalone Sample - MSAL Angular v3'; + isIframe = false; + loginDisplay = false; + private readonly _destroying$ = new Subject(); + + constructor( + @Inject(MSAL_GUARD_CONFIG) private msalGuardConfig: MsalGuardConfiguration, + private authService: MsalService, + private msalBroadcastService: MsalBroadcastService + ) { + + } + + ngOnInit(): void { + this.authService.handleRedirectObservable().subscribe(); + + this.isIframe = window !== window.parent && !window.opener; // Remove this line to use Angular Universal + this.setLoginDisplay(); + + this.authService.instance.enableAccountStorageEvents(); // Optional - This will enable ACCOUNT_ADDED and ACCOUNT_REMOVED events emitted when a user logs in or out of another tab or window + this.msalBroadcastService.msalSubject$ + .pipe( + filter((msg: EventMessage) => msg.eventType === EventType.ACCOUNT_ADDED || msg.eventType === EventType.ACCOUNT_REMOVED), + ) + .subscribe((result: EventMessage) => { + if (this.authService.instance.getAllAccounts().length === 0) { + window.location.pathname = "/"; + } else { + this.setLoginDisplay(); + } + }); + + this.msalBroadcastService.inProgress$ + .pipe( + filter((status: InteractionStatus) => status === InteractionStatus.None), + takeUntil(this._destroying$) + ) + .subscribe(() => { + this.setLoginDisplay(); + this.checkAndSetActiveAccount(); + }) + } + + setLoginDisplay() { + this.loginDisplay = this.authService.instance.getAllAccounts().length > 0; + } + + checkAndSetActiveAccount(){ + /** + * If no active account set but there are accounts signed in, sets first account to active account + * To use active account set here, subscribe to inProgress$ first in your component + * Note: Basic usage demonstrated. Your app may require more complicated account selection logic + */ + let activeAccount = this.authService.instance.getActiveAccount(); + + if (!activeAccount && this.authService.instance.getAllAccounts().length > 0) { + let accounts = this.authService.instance.getAllAccounts(); + this.authService.instance.setActiveAccount(accounts[0]); + } + } + + loginRedirect() { + if (this.msalGuardConfig.authRequest){ + this.authService.loginRedirect({...this.msalGuardConfig.authRequest} as RedirectRequest); + } else { + this.authService.loginRedirect(); + } + } + + loginPopup() { + if (this.msalGuardConfig.authRequest){ + this.authService.loginPopup({...this.msalGuardConfig.authRequest} as PopupRequest) + .subscribe((response: AuthenticationResult) => { + this.authService.instance.setActiveAccount(response.account); + }); + } else { + this.authService.loginPopup() + .subscribe((response: AuthenticationResult) => { + this.authService.instance.setActiveAccount(response.account); + }); + } + } + + logout(popup?: boolean) { + if (popup) { + this.authService.logoutPopup({ + mainWindowRedirectUri: "/" + }); + } else { + this.authService.logoutRedirect(); + } + } + + ngOnDestroy(): void { + this._destroying$.next(undefined); + this._destroying$.complete(); + } +} diff --git a/samples/msal-angular-v3-samples/angular-standalone-sample/src/app/failed/failed.component.ts b/samples/msal-angular-v3-samples/angular-standalone-sample/src/app/failed/failed.component.ts new file mode 100644 index 0000000000..24ca35a11a --- /dev/null +++ b/samples/msal-angular-v3-samples/angular-standalone-sample/src/app/failed/failed.component.ts @@ -0,0 +1,9 @@ +import { Component } from '@angular/core'; + +@Component({ + selector: 'app-failed', + template: `

Login failed. Please try again.

`, + styleUrls: [], + standalone: true +}) +export class FailedComponent {} diff --git a/samples/msal-angular-v3-samples/angular-standalone-sample/src/app/home/home.component.html b/samples/msal-angular-v3-samples/angular-standalone-sample/src/app/home/home.component.html new file mode 100644 index 0000000000..8d6562c020 --- /dev/null +++ b/samples/msal-angular-v3-samples/angular-standalone-sample/src/app/home/home.component.html @@ -0,0 +1,11 @@ +
+

Welcome to the MSAL.js v3 Angular Quickstart!

+

This sample demonstrates how to configure MSAL Angular to login, logout, protect a route, and acquire an access + token for a protected resource such as the Microsoft Graph.

+

Please sign-in to see your profile information.

+
+ +
+

Login successful!

+

Request your profile information by clicking Profile above.

+
\ No newline at end of file diff --git a/samples/msal-angular-v3-samples/angular-standalone-sample/src/app/home/home.component.ts b/samples/msal-angular-v3-samples/angular-standalone-sample/src/app/home/home.component.ts new file mode 100644 index 0000000000..88cefde723 --- /dev/null +++ b/samples/msal-angular-v3-samples/angular-standalone-sample/src/app/home/home.component.ts @@ -0,0 +1,44 @@ +import { Component, OnInit } from '@angular/core'; +import { CommonModule } from '@angular/common'; +import { MsalBroadcastService, MsalService } from '@azure/msal-angular'; +import { AuthenticationResult, EventMessage, EventType, InteractionStatus } from '@azure/msal-browser'; +import { filter } from 'rxjs/operators'; + +@Component({ + selector: 'app-home', + templateUrl: './home.component.html', + styleUrls: [], + standalone: true, + imports: [CommonModule] +}) +export class HomeComponent implements OnInit { + loginDisplay = false; + + constructor(private authService: MsalService, private msalBroadcastService: MsalBroadcastService) { } + + ngOnInit(): void { + this.msalBroadcastService.msalSubject$ + .pipe( + filter((msg: EventMessage) => msg.eventType === EventType.LOGIN_SUCCESS), + ) + .subscribe((result: EventMessage) => { + console.log(result); + const payload = result.payload as AuthenticationResult; + this.authService.instance.setActiveAccount(payload.account); + }); + + this.msalBroadcastService.inProgress$ + .pipe( + filter((status: InteractionStatus) => status === InteractionStatus.None) + ) + .subscribe(() => { + this.setLoginDisplay(); + }) + + } + + setLoginDisplay() { + this.loginDisplay = this.authService.instance.getAllAccounts().length > 0; + } + +} diff --git a/samples/msal-angular-v3-samples/angular-standalone-sample/src/app/profile/profile.component.html b/samples/msal-angular-v3-samples/angular-standalone-sample/src/app/profile/profile.component.html new file mode 100644 index 0000000000..57522236e9 --- /dev/null +++ b/samples/msal-angular-v3-samples/angular-standalone-sample/src/app/profile/profile.component.html @@ -0,0 +1,6 @@ +
+

First Name: {{profile?.givenName}}

+

Last Name: {{profile?.surname}}

+

Email: {{profile?.userPrincipalName}}

+

Id: {{profile?.id}}

+
diff --git a/samples/msal-angular-v3-samples/angular-standalone-sample/src/app/profile/profile.component.ts b/samples/msal-angular-v3-samples/angular-standalone-sample/src/app/profile/profile.component.ts new file mode 100644 index 0000000000..f942d669c5 --- /dev/null +++ b/samples/msal-angular-v3-samples/angular-standalone-sample/src/app/profile/profile.component.ts @@ -0,0 +1,35 @@ +import { Component, OnInit } from '@angular/core'; +import { HttpClient } from '@angular/common/http'; +import { environment } from 'src/environments/environment'; + +type ProfileType = { + givenName?: string, + surname?: string, + userPrincipalName?: string, + id?: string +}; + +@Component({ + selector: 'app-profile', + templateUrl: './profile.component.html', + styleUrls: [], + standalone: true +}) +export class ProfileComponent implements OnInit { + profile: ProfileType | undefined; + + constructor( + private http: HttpClient + ) { } + + ngOnInit() { + this.getProfile(environment.apiConfig.uri); + } + + getProfile(url: string) { + this.http.get(url) + .subscribe(profile => { + this.profile = profile; + }); + } +} diff --git a/samples/msal-angular-v3-samples/angular-standalone-sample/src/assets/.gitkeep b/samples/msal-angular-v3-samples/angular-standalone-sample/src/assets/.gitkeep new file mode 100644 index 0000000000..e69de29bb2 diff --git a/samples/msal-angular-v3-samples/angular-standalone-sample/src/environments/environment.dev.ts b/samples/msal-angular-v3-samples/angular-standalone-sample/src/environments/environment.dev.ts new file mode 100644 index 0000000000..c4067b2f9b --- /dev/null +++ b/samples/msal-angular-v3-samples/angular-standalone-sample/src/environments/environment.dev.ts @@ -0,0 +1,13 @@ +export const environment = { + production: false, + msalConfig: { + auth: { + clientId: 'b5c2e510-4a17-4feb-b219-e55aa5b74144', + authority: 'https://login.microsoftonline.com/common' + } + }, + apiConfig: { + scopes: ['user.read'], + uri: 'https://graph.microsoft.com/v1.0/me' + } +}; diff --git a/samples/msal-angular-v3-samples/angular-standalone-sample/src/environments/environment.e2e.ts b/samples/msal-angular-v3-samples/angular-standalone-sample/src/environments/environment.e2e.ts new file mode 100644 index 0000000000..23eee933e4 --- /dev/null +++ b/samples/msal-angular-v3-samples/angular-standalone-sample/src/environments/environment.e2e.ts @@ -0,0 +1,13 @@ +export const environment = { + production: false, + msalConfig: { + auth: { + clientId: '3fba556e-5d4a-48e3-8e1a-fd57c12cb82e', + authority: 'https://login.windows-ppe.net/common' + } + }, + apiConfig: { + scopes: ['user.read'], + uri: 'https://graph.microsoft-ppe.com/v1.0/me' + } +}; diff --git a/samples/msal-angular-v3-samples/angular-standalone-sample/src/environments/environment.prod.ts b/samples/msal-angular-v3-samples/angular-standalone-sample/src/environments/environment.prod.ts new file mode 100644 index 0000000000..94e20771e3 --- /dev/null +++ b/samples/msal-angular-v3-samples/angular-standalone-sample/src/environments/environment.prod.ts @@ -0,0 +1,13 @@ +export const environment = { + production: true, + msalConfig: { + auth: { + clientId: 'ENTER_CLIENT_ID', + authority: 'ENTER_AUTHORITY' + } + }, + apiConfig: { + scopes: ['ENTER_SCOPE'], + uri: 'ENTER_URI' + } +}; diff --git a/samples/msal-angular-v3-samples/angular-standalone-sample/src/environments/environment.ts b/samples/msal-angular-v3-samples/angular-standalone-sample/src/environments/environment.ts new file mode 100644 index 0000000000..9cb7b76334 --- /dev/null +++ b/samples/msal-angular-v3-samples/angular-standalone-sample/src/environments/environment.ts @@ -0,0 +1,26 @@ +// This file can be replaced during build by using the `fileReplacements` array. +// `ng build` replaces `environment.ts` with `environment.prod.ts`. +// The list of file replacements can be found in `angular.json`. + +export const environment = { + production: false, + msalConfig: { + auth: { + clientId: 'ENTER_CLIENT_ID', + authority: 'ENTER_AUTHORITY' + } + }, + apiConfig: { + scopes: ['ENTER_SCOPE'], + uri: 'ENTER_URI' + } +}; + +/* + * For easier debugging in development mode, you can import the following file + * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`. + * + * This import should be commented out in production mode because it will have a negative impact + * on performance if an error is thrown. + */ +// import 'zone.js/plugins/zone-error'; // Included with Angular CLI. diff --git a/samples/msal-angular-v3-samples/angular-standalone-sample/src/favicon.ico b/samples/msal-angular-v3-samples/angular-standalone-sample/src/favicon.ico new file mode 100644 index 0000000000..997406ad22 Binary files /dev/null and b/samples/msal-angular-v3-samples/angular-standalone-sample/src/favicon.ico differ diff --git a/samples/msal-angular-v3-samples/angular-standalone-sample/src/index.html b/samples/msal-angular-v3-samples/angular-standalone-sample/src/index.html new file mode 100644 index 0000000000..01345b26ec --- /dev/null +++ b/samples/msal-angular-v3-samples/angular-standalone-sample/src/index.html @@ -0,0 +1,16 @@ + + + + + + Angular Standalone Sample + + + + + + + + + + \ No newline at end of file diff --git a/samples/msal-angular-v3-samples/angular-standalone-sample/src/main.ts b/samples/msal-angular-v3-samples/angular-standalone-sample/src/main.ts new file mode 100644 index 0000000000..99579cb6a8 --- /dev/null +++ b/samples/msal-angular-v3-samples/angular-standalone-sample/src/main.ts @@ -0,0 +1,116 @@ +import { enableProdMode, importProvidersFrom } from '@angular/core'; +import { HTTP_INTERCEPTORS, withInterceptorsFromDi, provideHttpClient } from '@angular/common/http'; +import { MatMenuModule } from '@angular/material/menu'; +import { MatListModule } from '@angular/material/list'; +import { MatToolbarModule } from '@angular/material/toolbar'; +import { MatButtonModule } from '@angular/material/button'; +import { provideNoopAnimations } from '@angular/platform-browser/animations'; +import { BrowserModule, bootstrapApplication } from '@angular/platform-browser'; +import { Route, provideRouter, withDisabledInitialNavigation, withEnabledBlockingInitialNavigation } from '@angular/router'; +import { MsalInterceptor, MSAL_INSTANCE, MsalInterceptorConfiguration, MsalGuardConfiguration, MSAL_GUARD_CONFIG, MSAL_INTERCEPTOR_CONFIG, MsalService, MsalGuard, MsalBroadcastService } from '@azure/msal-angular'; +import { IPublicClientApplication, PublicClientApplication, InteractionType, BrowserCacheLocation, LogLevel, BrowserUtils } from '@azure/msal-browser'; +import { AppComponent } from './app/app.component'; +import { HomeComponent } from './app/home/home.component'; +import { ProfileComponent } from './app/profile/profile.component'; +import { FailedComponent } from './app/failed/failed.component'; +import { environment } from './environments/environment'; + +export function loggerCallback(logLevel: LogLevel, message: string) { + console.log(message); +} + +export function MSALInstanceFactory(): IPublicClientApplication { + return new PublicClientApplication({ + auth: { + clientId: environment.msalConfig.auth.clientId, + authority: environment.msalConfig.auth.authority, + redirectUri: '/', + postLogoutRedirectUri: '/' + }, + cache: { + cacheLocation: BrowserCacheLocation.LocalStorage + }, + system: { + allowNativeBroker: false, // Disables WAM Broker + loggerOptions: { + loggerCallback, + logLevel: LogLevel.Info, + piiLoggingEnabled: false + } + } + }); +} + +export function MSALInterceptorConfigFactory(): MsalInterceptorConfiguration { + const protectedResourceMap = new Map>(); + protectedResourceMap.set(environment.apiConfig.uri, environment.apiConfig.scopes); + + return { + interactionType: InteractionType.Redirect, + protectedResourceMap + }; + } + + export function MSALGuardConfigFactory(): MsalGuardConfiguration { + return { + interactionType: InteractionType.Redirect, + authRequest: { + scopes: [...environment.apiConfig.scopes] + }, + loginFailedRoute: '/login-failed' + }; +} + +const initialNavigation = !BrowserUtils.isInIframe() && !BrowserUtils.isInPopup() + ? withEnabledBlockingInitialNavigation() // Set to enabledBlocking to use Angular Universal + : withDisabledInitialNavigation(); + +export const Routes: Route[] = [ + { + path: 'profile', + component: ProfileComponent, + canActivate: [MsalGuard] + }, + { + path: '', + component: HomeComponent + }, + { + path: 'login-failed', + component: FailedComponent + } + ]; + +if (environment.production) { + enableProdMode(); +} + +bootstrapApplication(AppComponent, { + providers: [ + importProvidersFrom(BrowserModule, MatButtonModule, MatToolbarModule, MatListModule, MatMenuModule), + provideRouter(Routes, initialNavigation), + provideNoopAnimations(), + provideHttpClient(withInterceptorsFromDi()), + { + provide: HTTP_INTERCEPTORS, + useClass: MsalInterceptor, + multi: true + }, + { + provide: MSAL_INSTANCE, + useFactory: MSALInstanceFactory + }, + { + provide: MSAL_GUARD_CONFIG, + useFactory: MSALGuardConfigFactory + }, + { + provide: MSAL_INTERCEPTOR_CONFIG, + useFactory: MSALInterceptorConfigFactory + }, + MsalService, + MsalGuard, + MsalBroadcastService + ] +}) + .catch(err => console.error(err)); diff --git a/samples/msal-angular-v3-samples/angular-standalone-sample/src/styles.css b/samples/msal-angular-v3-samples/angular-standalone-sample/src/styles.css new file mode 100644 index 0000000000..ca13b51e3a --- /dev/null +++ b/samples/msal-angular-v3-samples/angular-standalone-sample/src/styles.css @@ -0,0 +1,16 @@ +/* You can add global styles to this file, and also import other style files */ +@import '~@angular/material/prebuilt-themes/deeppurple-amber.css'; + +html, +body { + height: 100%; +} + +body { + margin: 0; + font-family: Roboto, "Helvetica Neue", sans-serif; +} + +.container { + margin: 1%; +} \ No newline at end of file diff --git a/samples/msal-angular-v3-samples/angular-standalone-sample/test/home.spec.ts b/samples/msal-angular-v3-samples/angular-standalone-sample/test/home.spec.ts new file mode 100644 index 0000000000..6169e8e0db --- /dev/null +++ b/samples/msal-angular-v3-samples/angular-standalone-sample/test/home.spec.ts @@ -0,0 +1,158 @@ +import * as puppeteer from "puppeteer"; +import {Screenshot, setupCredentials, enterCredentials, RETRY_TIMES} from "e2e-test-utils/src/TestUtils"; +import { LabClient } from "e2e-test-utils/src/LabClient"; +import { LabApiQueryParams } from "e2e-test-utils/src/LabApiQueryParams"; +import { AzureEnvironments, AppTypes } from "e2e-test-utils/src/Constants"; +import { BrowserCacheUtils } from "e2e-test-utils/src/BrowserCacheTestUtils"; + +const SCREENSHOT_BASE_FOLDER_NAME = `${__dirname}/screenshots/home-tests`; + +async function verifyTokenStore(BrowserCache: BrowserCacheUtils, scopes: string[]): Promise { + const tokenStore = await BrowserCache.getTokens(); + expect(tokenStore.idTokens.length).toBe(1); + expect(tokenStore.accessTokens.length).toBe(1); + expect(tokenStore.refreshTokens.length).toBe(1); + expect(await BrowserCache.getAccountFromCache(tokenStore.idTokens[0])).not.toBeNull(); + expect(await BrowserCache.accessTokenForScopesExists(tokenStore.accessTokens, scopes)).toBeTruthy; + const storage = await BrowserCache.getWindowStorage(); + expect(Object.keys(storage).length).toBe(8); +} + +describe('/ (Home Page)', () => { + jest.retryTimes(RETRY_TIMES); + let browser: puppeteer.Browser; + let context: puppeteer.BrowserContext; + let page: puppeteer.Page; + let port: number; + let username: string; + let accountPwd: string; + let BrowserCache: BrowserCacheUtils; + + beforeAll(async () => { + // @ts-ignore + browser = await global.__BROWSER__; + // @ts-ignore + port = global.__PORT__; + + const labApiParams: LabApiQueryParams = { + azureEnvironment: AzureEnvironments.CLOUD, + appType: AppTypes.CLOUD + }; + + const labClient = new LabClient(); + const envResponse = await labClient.getVarsByCloudEnvironment(labApiParams); + + [username, accountPwd] = await setupCredentials(envResponse[0], labClient); + }); + + beforeEach(async () => { + context = await browser.createIncognitoBrowserContext(); + page = await context.newPage(); + page.setDefaultTimeout(5000); + BrowserCache = new BrowserCacheUtils(page, "localStorage"); + await page.goto(`http://localhost:${port}`); + }); + + afterEach(async () => { + await page.close(); + await context.close(); + }); + + it("Home page - children are rendered after logging in with loginRedirect", async (): Promise => { + const testName = "redirectBaseCase"; + const screenshot = new Screenshot(`${SCREENSHOT_BASE_FOLDER_NAME}/${testName}`); + await screenshot.takeScreenshot(page, "Page loaded"); + + // Initiate Login + const signInButton = await page.waitForSelector("xpath=//button[contains(., 'Login')]"); + if (signInButton) { + await signInButton.click(); + } + + await screenshot.takeScreenshot(page, "Login button clicked"); + const loginRedirectButton = await page.waitForSelector("xpath=//button[contains(., 'Login using Redirect')]"); + if (loginRedirectButton) { + await loginRedirectButton.click(); + } + + await enterCredentials(page, screenshot, username, accountPwd); + + // Verify UI now displays logged in content + await page.waitForXPath("//p[contains(., 'Login successful!')]"); + const logoutButton = await page.waitForSelector("xpath=//button[contains(., 'Logout')]"); + if (logoutButton) { + await logoutButton.click(); + } + await page.waitForXPath("//button[contains(., 'Logout using')]"); + const logoutButtons = await page.$x("//button[contains(., 'Logout using')]"); + expect(logoutButtons.length).toBe(2); + if (logoutButton) { + await logoutButton.click(); + } + await screenshot.takeScreenshot(page, "App signed in"); + + // Verify tokens are in cache + await verifyTokenStore(BrowserCache, ["User.Read"]); + + // Navigate to profile page + const profileButton = await page.waitForSelector("xpath=//span[contains(., 'Profile')]"); + if (profileButton) { + await profileButton.click(); + } + await screenshot.takeScreenshot(page, "Profile page loaded"); + + // Verify displays profile page without activating MsalGuard + await page.waitForXPath("//strong[contains(., 'First Name: ')]"); + }); + + it("Home page - children are rendered after logging in with loginPopup", async (): Promise => { + const testName = "popupBaseCase"; + const screenshot = new Screenshot(`${SCREENSHOT_BASE_FOLDER_NAME}/${testName}`); + await screenshot.takeScreenshot(page, "Page loaded"); + + // Initiate Login + const signInButton = await page.waitForSelector("xpath=//button[contains(., 'Login')]"); + await signInButton?.click(); + await screenshot.takeScreenshot(page, "Login button clicked"); + const loginPopupButton = await page.waitForSelector("xpath=//button[contains(., 'Login using Popup')]"); + const newPopupWindowPromise = new Promise(resolve => page.once("popup", resolve)); + if (loginPopupButton) { + await loginPopupButton.click(); + } + const popupPage = await newPopupWindowPromise; + const popupWindowClosed = new Promise(resolve => popupPage.once("close", resolve)); + + await enterCredentials(popupPage, screenshot, username, accountPwd); + await popupWindowClosed; + + await page.waitForXPath("//p[contains(., 'Login successful!')]", {timeout: 3000}); + await screenshot.takeScreenshot(page, "Popup closed"); + + // Verify UI now displays logged in content + await page.waitForXPath("//p[contains(., 'Login successful!')]"); + const logoutButton = await page.waitForSelector("xpath=//button[contains(., 'Logout')]"); + if (logoutButton) { + await logoutButton.click(); + } + const logoutButtons = await page.$x("//button[contains(., 'Logout using')]"); + expect(logoutButtons.length).toBe(2); + if (logoutButton) { + await logoutButton.click(); + } + await screenshot.takeScreenshot(page, "App signed in"); + + // Verify tokens are in cache + await verifyTokenStore(BrowserCache, ["User.Read"]); + + // Navigate to profile page + const profileButton = await page.waitForSelector("xpath=//span[contains(., 'Profile')]"); + if (profileButton) { + await profileButton.click(); + } + await screenshot.takeScreenshot(page, "Profile page loaded"); + + // Verify displays profile page without activating MsalGuard + await page.waitForXPath("//strong[contains(., 'First Name: ')]"); + }); + } +); diff --git a/samples/msal-angular-v3-samples/angular-standalone-sample/test/profile.spec.ts b/samples/msal-angular-v3-samples/angular-standalone-sample/test/profile.spec.ts new file mode 100644 index 0000000000..6f5504ac73 --- /dev/null +++ b/samples/msal-angular-v3-samples/angular-standalone-sample/test/profile.spec.ts @@ -0,0 +1,107 @@ +import * as puppeteer from "puppeteer"; +import {Screenshot, setupCredentials, enterCredentials, RETRY_TIMES} from "e2e-test-utils/src/TestUtils"; +import { LabClient } from "e2e-test-utils/src/LabClient"; +import { LabApiQueryParams } from "e2e-test-utils/src/LabApiQueryParams"; +import { AzureEnvironments, AppTypes } from "e2e-test-utils/src/Constants"; +import { BrowserCacheUtils } from "e2e-test-utils/src/BrowserCacheTestUtils"; + +const SCREENSHOT_BASE_FOLDER_NAME = `${__dirname}/screenshots/profile-tests`; + +async function verifyTokenStore(BrowserCache: BrowserCacheUtils, scopes: string[]): Promise { + const tokenStore = await BrowserCache.getTokens(); + expect(tokenStore.idTokens.length).toBe(1); + expect(tokenStore.accessTokens.length).toBe(1); + expect(tokenStore.refreshTokens.length).toBe(1); + expect(await BrowserCache.getAccountFromCache(tokenStore.idTokens[0])).not.toBeNull(); + expect(await BrowserCache.accessTokenForScopesExists(tokenStore.accessTokens, scopes)).toBeTruthy; + const storage = await BrowserCache.getWindowStorage(); + expect(Object.keys(storage).length).toBe(9); +} + +describe('/ (Profile Page)', () => { + jest.retryTimes(RETRY_TIMES); + let browser: puppeteer.Browser; + let context: puppeteer.BrowserContext; + let page: puppeteer.Page; + let port: number; + let username: string; + let accountPwd: string; + let BrowserCache: BrowserCacheUtils; + + beforeAll(async () => { + // @ts-ignore + browser = await global.__BROWSER__; + // @ts-ignore + port = global.__PORT__; + + const labApiParams: LabApiQueryParams = { + azureEnvironment: AzureEnvironments.CLOUD, + appType: AppTypes.CLOUD + }; + + const labClient = new LabClient(); + const envResponse = await labClient.getVarsByCloudEnvironment(labApiParams); + + [username, accountPwd] = await setupCredentials(envResponse[0], labClient); + }); + + beforeEach(async () => { + context = await browser.createIncognitoBrowserContext(); + page = await context.newPage(); + page.setDefaultTimeout(5000); + BrowserCache = new BrowserCacheUtils(page, "localStorage"); + }); + + afterEach(async () => { + await page.close(); + await context.close(); + }); + + it("Profile page - children are rendered after profile button clicked and logging in with loginRedirect", async (): Promise => { + await page.goto(`http://localhost:${port}`); + + const testName = "profileButtonRedirectCase"; + const screenshot = new Screenshot(`${SCREENSHOT_BASE_FOLDER_NAME}/${testName}`); + await screenshot.takeScreenshot(page, "Page loaded"); + + // Initiate Login via MsalGuard by clicking Profile + const profileButton = await page.waitForSelector("xpath=//span[contains(., 'Profile')]"); + if (profileButton) { + await profileButton.click(); + } + + await enterCredentials(page, screenshot, username, accountPwd); + + // Verify UI now displays logged in content + await page.waitForXPath("//button[contains(., 'Logout')]"); + await screenshot.takeScreenshot(page, "Profile page signed in"); + + // Verify tokens are in cache + await verifyTokenStore(BrowserCache, ["User.Read"]); + + // Verify displays profile page without activating MsalGuard + await page.waitForXPath("//strong[contains(., 'First Name: ')]"); + }); + + it("Profile page - children are rendered after initial navigation to profile before login ", async () => { + // Initiate login via MsalGuard by navigating directly to profile route + await page.goto(`http://localhost:${port}/profile`); + + const testName = "profileNavigationRedirectCase"; + const screenshot = new Screenshot(`${SCREENSHOT_BASE_FOLDER_NAME}/${testName}`); + await screenshot.takeScreenshot(page, "No home page load"); + + await enterCredentials(page, screenshot, username, accountPwd); + + // Verify UI now displays logged in content + await page.waitForXPath("//button[contains(., 'Logout')]"); + await screenshot.takeScreenshot(page, "Profile page signed in directly"); + + // Verify tokens are in cache + await verifyTokenStore(BrowserCache, ["User.Read"]); + + // Verify displays profile page without activating MsalGuard + await page.waitForXPath("//strong[contains(., 'First Name: ')]"); + }); + } +); diff --git a/samples/msal-angular-v3-samples/angular-standalone-sample/tsconfig.app.json b/samples/msal-angular-v3-samples/angular-standalone-sample/tsconfig.app.json new file mode 100644 index 0000000000..374cc9d294 --- /dev/null +++ b/samples/msal-angular-v3-samples/angular-standalone-sample/tsconfig.app.json @@ -0,0 +1,14 @@ +/* To learn more about this file see: https://angular.io/config/tsconfig. */ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "./out-tsc/app", + "types": [] + }, + "files": [ + "src/main.ts" + ], + "include": [ + "src/**/*.d.ts" + ] +} diff --git a/samples/msal-angular-v3-samples/angular-standalone-sample/tsconfig.json b/samples/msal-angular-v3-samples/angular-standalone-sample/tsconfig.json new file mode 100644 index 0000000000..81319101e6 --- /dev/null +++ b/samples/msal-angular-v3-samples/angular-standalone-sample/tsconfig.json @@ -0,0 +1,45 @@ +/* To learn more about this file see: https://angular.io/config/tsconfig. */ +{ + "compileOnSave": false, + "compilerOptions": { + "baseUrl": "./", + "outDir": "./dist/out-tsc", + "forceConsistentCasingInFileNames": true, + "strict": true, + "noImplicitOverride": true, + "noPropertyAccessFromIndexSignature": true, + "noImplicitReturns": true, + "noFallthroughCasesInSwitch": true, + "sourceMap": true, + "declaration": false, + "downlevelIteration": true, + "experimentalDecorators": true, + "moduleResolution": "node", + "importHelpers": true, + "target": "ES2022", + "module": "ES2022", + "useDefineForClassFields": false, + "esModuleInterop": true, + "lib": [ + "ES2022", + "dom" + ], + "paths": { + "@angular/*": [ + "./node_modules/@angular/*" + ], + "@azure/msal-angular": [ + "../../../node_modules/@azure/msal-angular/dist" + ] + }, + "types": [ + "jest" + ] + }, + "angularCompilerOptions": { + "enableI18nLegacyMessageIdFormat": false, + "strictInjectionParameters": true, + "strictInputAccessModifiers": true, + "strictTemplates": true + } +} \ No newline at end of file diff --git a/samples/msal-angular-v3-samples/angular-standalone-sample/tsconfig.spec.json b/samples/msal-angular-v3-samples/angular-standalone-sample/tsconfig.spec.json new file mode 100644 index 0000000000..ad696d1611 --- /dev/null +++ b/samples/msal-angular-v3-samples/angular-standalone-sample/tsconfig.spec.json @@ -0,0 +1,14 @@ +/* To learn more about this file see: https://angular.io/config/tsconfig. */ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "./out-tsc/spec", + "types": [ + "jasmine" + ] + }, + "include": [ + "src/**/*.spec.ts", + "src/**/*.d.ts" + ] +} \ No newline at end of file diff --git a/samples/msal-angular-v3-samples/angular15-sample-app/src/app/app.module.ts b/samples/msal-angular-v3-samples/angular15-sample-app/src/app/app.module.ts index 608b132e48..71e86c8a22 100644 --- a/samples/msal-angular-v3-samples/angular15-sample-app/src/app/app.module.ts +++ b/samples/msal-angular-v3-samples/angular15-sample-app/src/app/app.module.ts @@ -18,8 +18,6 @@ import { MsalGuard, MsalInterceptor, MsalBroadcastService, MsalInterceptorConfig import { FailedComponent } from './failed/failed.component'; import { environment } from 'src/environments/environment'; -const isIE = window.navigator.userAgent.indexOf("MSIE ") > -1 || window.navigator.userAgent.indexOf("Trident/") > -1; // Remove this line to use Angular Universal - export function loggerCallback(logLevel: LogLevel, message: string) { console.log(message); } @@ -33,8 +31,7 @@ export function MSALInstanceFactory(): IPublicClientApplication { postLogoutRedirectUri: '/' }, cache: { - cacheLocation: BrowserCacheLocation.LocalStorage, - storeAuthStateInCookie: isIE, // set to true for IE 11. Remove this line to use Angular Universal + cacheLocation: BrowserCacheLocation.LocalStorage }, system: { allowNativeBroker: false, // Disables WAM Broker diff --git a/samples/msal-angular-v3-samples/angular16-sample-app/src/app/app.module.ts b/samples/msal-angular-v3-samples/angular16-sample-app/src/app/app.module.ts index 608b132e48..71e86c8a22 100644 --- a/samples/msal-angular-v3-samples/angular16-sample-app/src/app/app.module.ts +++ b/samples/msal-angular-v3-samples/angular16-sample-app/src/app/app.module.ts @@ -18,8 +18,6 @@ import { MsalGuard, MsalInterceptor, MsalBroadcastService, MsalInterceptorConfig import { FailedComponent } from './failed/failed.component'; import { environment } from 'src/environments/environment'; -const isIE = window.navigator.userAgent.indexOf("MSIE ") > -1 || window.navigator.userAgent.indexOf("Trident/") > -1; // Remove this line to use Angular Universal - export function loggerCallback(logLevel: LogLevel, message: string) { console.log(message); } @@ -33,8 +31,7 @@ export function MSALInstanceFactory(): IPublicClientApplication { postLogoutRedirectUri: '/' }, cache: { - cacheLocation: BrowserCacheLocation.LocalStorage, - storeAuthStateInCookie: isIE, // set to true for IE 11. Remove this line to use Angular Universal + cacheLocation: BrowserCacheLocation.LocalStorage }, system: { allowNativeBroker: false, // Disables WAM Broker