Skip to content

Commit a64c4bf

Browse files
authored
Fix circular dependency in Angular (#7714)
Fixes circular import introduced in msal-angular v4.0.9 and enables lint rule to catch this in the future
1 parent 92ffb70 commit a64c4bf

16 files changed

+50
-20
lines changed
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
{
2+
"type": "patch",
3+
"comment": "Fix circular dependency",
4+
"packageName": "@azure/msal-angular",
5+
"email": "[email protected]",
6+
"dependentChangeType": "patch"
7+
}
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
{
2+
"type": "patch",
3+
"comment": "Fix circular type imports",
4+
"packageName": "@azure/msal-browser",
5+
"email": "[email protected]",
6+
"dependentChangeType": "patch"
7+
}
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
{
2+
"type": "patch",
3+
"comment": "Fix circular type imports",
4+
"packageName": "@azure/msal-common",
5+
"email": "[email protected]",
6+
"dependentChangeType": "patch"
7+
}
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
{
2+
"type": "patch",
3+
"comment": "Fix circular type imports",
4+
"packageName": "@azure/msal-node",
5+
"email": "[email protected]",
6+
"dependentChangeType": "patch"
7+
}

lib/msal-angular/src/msal.broadcast.service.ts

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,9 @@ import {
1111
InteractionStatus,
1212
} from "@azure/msal-browser";
1313
import { BehaviorSubject, Observable, ReplaySubject, Subject } from "rxjs";
14-
import { MsalService } from "./msal.service";
1514
import { MsalBroadcastConfiguration } from "./msal.broadcast.config";
1615
import { MSAL_BROADCAST_CONFIG, MSAL_INSTANCE } from "./constants";
16+
import { name, version } from "./packageMetadata";
1717

1818
@Injectable()
1919
export class MsalBroadcastService {
@@ -24,7 +24,6 @@ export class MsalBroadcastService {
2424

2525
constructor(
2626
@Inject(MSAL_INSTANCE) private msalInstance: IPublicClientApplication,
27-
private authService: MsalService,
2827
@Optional()
2928
@Inject(MSAL_BROADCAST_CONFIG)
3029
private msalBroadcastConfig?: MsalBroadcastConfiguration
@@ -34,8 +33,9 @@ export class MsalBroadcastService {
3433
this.msalBroadcastConfig &&
3534
this.msalBroadcastConfig.eventsToReplay > 0
3635
) {
37-
this.authService
36+
this.msalInstance
3837
.getLogger()
38+
.clone(name, version)
3939
.verbose(
4040
`BroadcastService - eventsToReplay set on BroadcastConfig, replaying the last ${this.msalBroadcastConfig.eventsToReplay} events`
4141
);
@@ -62,8 +62,9 @@ export class MsalBroadcastService {
6262
this._inProgress.value
6363
);
6464
if (status !== null) {
65-
this.authService
65+
this.msalInstance
6666
.getLogger()
67+
.clone(name, version)
6768
.verbose(
6869
`BroadcastService - ${message.eventType} results in setting inProgress from ${this._inProgress.value} to ${status}`
6970
);

lib/msal-browser/src/cache/ITokenCache.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,10 @@
33
* Licensed under the MIT License.
44
*/
55

6-
import { ExternalTokenResponse } from "@azure/msal-common/browser";
7-
import { SilentRequest } from "../request/SilentRequest.js";
8-
import { LoadTokenOptions } from "./TokenCache.js";
9-
import { AuthenticationResult } from "../response/AuthenticationResult.js";
6+
import type { ExternalTokenResponse } from "@azure/msal-common/browser";
7+
import type { SilentRequest } from "../request/SilentRequest.js";
8+
import type { LoadTokenOptions } from "./TokenCache.js";
9+
import type { AuthenticationResult } from "../response/AuthenticationResult.js";
1010

1111
export interface ITokenCache {
1212
/**

lib/msal-browser/src/cache/TokenCache.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,14 +22,14 @@ import {
2222
TimeUtils,
2323
} from "@azure/msal-common/browser";
2424
import { BrowserConfiguration } from "../config/Configuration.js";
25-
import { SilentRequest } from "../request/SilentRequest.js";
25+
import type { SilentRequest } from "../request/SilentRequest.js";
2626
import { BrowserCacheManager } from "./BrowserCacheManager.js";
27-
import { ITokenCache } from "./ITokenCache.js";
27+
import type { ITokenCache } from "./ITokenCache.js";
2828
import {
2929
createBrowserAuthError,
3030
BrowserAuthErrorCodes,
3131
} from "../error/BrowserAuthError.js";
32-
import { AuthenticationResult } from "../response/AuthenticationResult.js";
32+
import type { AuthenticationResult } from "../response/AuthenticationResult.js";
3333
import { base64Decode } from "../encode/Base64Decode.js";
3434
import * as BrowserCrypto from "../crypto/BrowserCrypto.js";
3535

lib/msal-browser/src/utils/BrowserUtils.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ import {
1414
BrowserConfigurationAuthErrorCodes,
1515
createBrowserConfigurationAuthError,
1616
} from "../error/BrowserConfigurationAuthError.js";
17-
import { BrowserConfiguration } from "../config/Configuration.js";
17+
import type { BrowserConfiguration } from "../config/Configuration.js";
1818

1919
/**
2020
* Clears hash from window url.

lib/msal-common/src/authority/Authority.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ import { CloudDiscoveryMetadata } from "./CloudDiscoveryMetadata.js";
5151
import { RegionDiscovery } from "./RegionDiscovery.js";
5252
import { RegionDiscoveryMetadata } from "./RegionDiscoveryMetadata.js";
5353
import { ImdsOptions } from "./ImdsOptions.js";
54-
import { AzureCloudOptions } from "../config/ClientConfiguration.js";
54+
import type { AzureCloudOptions } from "../config/ClientConfiguration.js";
5555
import { Logger } from "../logger/Logger.js";
5656
import { AuthError } from "../error/AuthError.js";
5757
import { IPerformanceClient } from "../telemetry/performance/IPerformanceClient.js";

lib/msal-common/src/cache/entities/AccountEntity.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
*/
55

66
import { CacheAccountType, Separators } from "../../utils/Constants.js";
7-
import { Authority } from "../../authority/Authority.js";
7+
import type { Authority } from "../../authority/Authority.js";
88
import { ICrypto } from "../../crypto/ICrypto.js";
99
import { ClientInfo, buildClientInfo } from "../../account/ClientInfo.js";
1010
import {

lib/msal-common/src/config/ClientConfiguration.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ import {
1111
DEFAULT_TOKEN_RENEWAL_OFFSET_SEC,
1212
} from "../utils/Constants.js";
1313
import { version } from "../packageMetadata.js";
14-
import { Authority } from "../authority/Authority.js";
14+
import type { Authority } from "../authority/Authority.js";
1515
import { AzureCloudInstance } from "../authority/AuthorityOptions.js";
1616
import { CacheManager, DefaultStorageClass } from "../cache/CacheManager.js";
1717
import { ServerTelemetryManager } from "../telemetry/server/ServerTelemetryManager.js";

lib/msal-common/src/crypto/ICrypto.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@ import {
77
ClientAuthErrorCodes,
88
createClientAuthError,
99
} from "../error/ClientAuthError.js";
10-
import { BaseAuthRequest } from "../request/BaseAuthRequest.js";
11-
import { ShrOptions, SignedHttpRequest } from "./SignedHttpRequest.js";
10+
import type { BaseAuthRequest } from "../request/BaseAuthRequest.js";
11+
import type { ShrOptions, SignedHttpRequest } from "./SignedHttpRequest.js";
1212

1313
/**
1414
* The PkceCodes type describes the structure

lib/msal-common/src/logger/Logger.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
* Licensed under the MIT License.
44
*/
55

6-
import { LoggerOptions } from "../config/ClientConfiguration.js";
6+
import type { LoggerOptions } from "../config/ClientConfiguration.js";
77
import { Constants } from "../utils/Constants.js";
88

99
/**

lib/msal-common/src/request/BaseAuthRequest.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
*/
55

66
import { AuthenticationScheme } from "../utils/Constants.js";
7-
import { AzureCloudOptions } from "../config/ClientConfiguration.js";
7+
import type { AzureCloudOptions } from "../config/ClientConfiguration.js";
88
import { StringDict } from "../utils/MsalTypes.js";
99
import { StoreInCache } from "./StoreInCache.js";
1010
import { ShrOptions } from "../crypto/SignedHttpRequest.js";

lib/msal-node/src/config/ManagedIdentityId.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ import {
1111
DEFAULT_MANAGED_IDENTITY_ID,
1212
ManagedIdentityIdType,
1313
} from "../utils/Constants.js";
14-
import { ManagedIdentityIdParams } from "./Configuration.js";
14+
import type { ManagedIdentityIdParams } from "./Configuration.js";
1515

1616
export class ManagedIdentityId {
1717
private _id: string;

shared-configs/eslint-config-msal/index.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,7 @@ module.exports = {
8181
],
8282
"import/first": 2,
8383
"import/no-commonjs": 2,
84+
"import/no-cycle": 2,
8485
"import/no-duplicates": 2,
8586
"import/no-extraneous-dependencies": 2,
8687
"import/no-unresolved": 2,

0 commit comments

Comments
 (0)