Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@azure/msal-common

Package Overview
Dependencies
Maintainers
3
Versions
122
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@azure/msal-common - npm Package Compare versions

Comparing version 14.1.0-alpha.0 to 14.1.0

1

dist/account/AccountInfo.d.ts

@@ -12,3 +12,2 @@ import { TokenClaims } from "./TokenClaims";

* - idTokenClaims - Object contains claims from ID token
* - localAccountId - The user's account ID
* - nativeAccountId - The user's native account ID

@@ -15,0 +14,0 @@ */

@@ -0,0 +0,0 @@ import { TokenClaims } from "./TokenClaims";

@@ -0,0 +0,0 @@ export type CcsCredential = {

@@ -0,0 +0,0 @@ import { ICrypto } from "../crypto/ICrypto";

@@ -0,0 +0,0 @@ /**

@@ -0,0 +0,0 @@ import { AuthorityType } from "./AuthorityType";

@@ -0,0 +0,0 @@ import { Authority } from "./Authority";

@@ -0,0 +0,0 @@ export declare const rawMetdataJSON: {

@@ -0,0 +0,0 @@ import { ProtocolMode } from "./ProtocolMode";

export type AzureRegion = string;
//# sourceMappingURL=AzureRegion.d.ts.map

@@ -0,0 +0,0 @@ import { AzureRegion } from "./AzureRegion";

@@ -0,0 +0,0 @@ export type CloudDiscoveryMetadata = {

@@ -0,0 +0,0 @@ import { CloudDiscoveryMetadata } from "./CloudDiscoveryMetadata";

@@ -0,0 +0,0 @@ export type ImdsOptions = {

@@ -0,0 +0,0 @@ import { ServerResponseType } from "../utils/Constants";

@@ -0,0 +0,0 @@ import { INetworkModule } from "../network/INetworkModule";

@@ -0,0 +0,0 @@ import { RegionDiscoveryOutcomes, RegionDiscoverySources } from "../utils/Constants";

@@ -0,0 +0,0 @@ /// <reference types="node" />

32

dist/cache/CacheManager.d.ts

@@ -144,5 +144,7 @@ import { AccountFilter, CredentialFilter, ValidCredentialType, AppMetadataFilter, AppMetadataCache, TokenKeys } from "./utils/CacheTypes";

/**
* Returns all accounts in cache
* Returns all the accounts in the cache that match the optional filter. If no filter is provided, all accounts are returned.
* @param accountFilter - (Optional) filter to narrow down the accounts returned
* @returns Array of AccountInfo objects in cache
*/
getAllAccounts(): AccountInfo[];
getAllAccounts(accountFilter?: AccountFilter): AccountInfo[];
/**

@@ -164,7 +166,5 @@ * Gets accountInfo object based on provided filters

/**
* retrieve accounts matching all provided filters; if no filter is set, get all accounts
* not checking for casing as keys are all generated in lower case, remember to convert to lower case if object properties are compared
* @param homeAccountId
* @param environment
* @param realm
* Retrieve accounts matching all provided filters; if no filter is set, get all accounts
* Not checking for casing as keys are all generated in lower case, remember to convert to lower case if object properties are compared
* @param accountFilter - An object containing Account properties to filter by
*/

@@ -341,2 +341,9 @@ getAccountsFilteredBy(accountFilter: AccountFilter): AccountEntity[];

/**
* helper to match names
* @param entity
* @param name
* @returns true if the downcased name properties are present and match in the filter and the entity
*/
private matchName;
/**
* helper to match assertion

@@ -385,2 +392,13 @@ * @param value

/**
* helper to match loginHint which can be either:
* 1. login_hint ID token claim
* 2. username in cached account object
* 3. upn in ID token claims
* @param entity
* @param loginHint
* @returns
*/
private matchLoginHint;
private matchAuthorityType;
/**
* Returns true if the target scopes are a subset of the current entity's scopes, false otherwise.

@@ -387,0 +405,0 @@ * @param entity

@@ -0,0 +0,0 @@ import { CredentialEntity } from "./CredentialEntity";

@@ -0,0 +0,0 @@ import { Authority } from "../../authority/Authority";

@@ -0,0 +0,0 @@ import { CloudDiscoveryMetadata } from "../../authority/CloudDiscoveryMetadata";

@@ -0,0 +0,0 @@ import { IdTokenEntity } from "./IdTokenEntity";

@@ -0,0 +0,0 @@ import { CredentialType, AuthenticationScheme } from "../../utils/Constants";

@@ -0,0 +0,0 @@ import { CredentialEntity } from "./CredentialEntity";

@@ -0,0 +0,0 @@ import { CredentialEntity } from "./CredentialEntity";

@@ -0,0 +0,0 @@ export declare class ServerTelemetryEntity {

@@ -0,0 +0,0 @@ export declare class ThrottlingEntity {

@@ -0,0 +0,0 @@ import { AccountFilter } from "../utils/CacheTypes";

@@ -0,0 +0,0 @@ import { TokenCacheContext } from "../persistence/TokenCacheContext";

@@ -0,0 +0,0 @@ export interface ISerializableTokenCache {

@@ -0,0 +0,0 @@ import { ISerializableTokenCache } from "../interface/ISerializableTokenCache";

@@ -11,2 +11,3 @@ import { AccountEntity } from "../entities/AccountEntity";

import { ScopeSet } from "../../request/ScopeSet";
import { AccountInfo } from "../../account/AccountInfo";
/** @internal */

@@ -35,9 +36,5 @@ export type AccountCache = Record<string, AccountEntity>;

*/
export type AccountFilter = {
homeAccountId?: string;
localAccountId?: string;
username?: string;
environment?: string;
export type AccountFilter = Omit<Partial<AccountInfo>, "idToken" | "idTokenClaims"> & {
realm?: string;
nativeAccountId?: string;
loginHint?: string;
};

@@ -44,0 +41,0 @@ /**

@@ -0,0 +0,0 @@ import { BaseClient } from "./BaseClient";

@@ -0,0 +0,0 @@ import { ClientConfiguration, CommonClientConfiguration } from "../config/ClientConfiguration";

@@ -0,0 +0,0 @@ import { ClientConfiguration } from "../config/ClientConfiguration";

@@ -0,0 +0,0 @@ import { BaseClient } from "./BaseClient";

@@ -0,0 +0,0 @@ import { INetworkModule } from "../network/INetworkModule";

@@ -34,6 +34,2 @@ import { BaseAuthRequest } from "../request/BaseAuthRequest";

/**
* Generate PKCE codes for OAuth. See RFC here: https://tools.ietf.org/html/rfc7636
*/
generatePkceCodes(): Promise<PkceCodes>;
/**
* Generates an JWK RSA S256 Thumbprint

@@ -40,0 +36,0 @@ * @param request

@@ -0,0 +0,0 @@ export interface IGuidGenerator {

@@ -0,0 +0,0 @@ import { JsonTypes } from "../utils/Constants";

@@ -0,0 +0,0 @@ import { ICrypto, SignedHttpRequestParameters } from "./ICrypto";

@@ -0,0 +0,0 @@ export type SignedHttpRequest = {

@@ -0,0 +0,0 @@ import * as AuthErrorCodes from "./AuthErrorCodes";

@@ -0,0 +0,0 @@ /**

@@ -0,0 +0,0 @@ import { AuthError } from "./AuthError";

@@ -0,0 +0,0 @@ export declare const clientInfoDecodingError = "client_info_decoding_error";

@@ -0,0 +0,0 @@ import { AuthError } from "./AuthError";

@@ -0,0 +0,0 @@ export declare const redirectUriEmpty = "redirect_uri_empty";

@@ -0,0 +0,0 @@ import { AuthError } from "./AuthError";

@@ -0,0 +0,0 @@ export declare const noTokensFound = "no_tokens_found";

@@ -0,0 +0,0 @@ import { AuthError } from "./AuthError";

export declare const missingKidError = "missing_kid_error";
export declare const missingAlgError = "missing_alg_error";
//# sourceMappingURL=JoseHeaderErrorCodes.d.ts.map

@@ -0,0 +0,0 @@ import { AuthError } from "./AuthError";

@@ -26,3 +26,3 @@ /**

export { CacheManager, DefaultStorageClass } from "./cache/CacheManager";
export { AccountCache, AccessTokenCache, IdTokenCache, RefreshTokenCache, AppMetadataCache, CredentialFilter, ValidCacheType, ValidCredentialType, TokenKeys, } from "./cache/utils/CacheTypes";
export { AccountCache, AccountFilter, AccessTokenCache, IdTokenCache, RefreshTokenCache, AppMetadataCache, CredentialFilter, ValidCacheType, ValidCredentialType, TokenKeys, } from "./cache/utils/CacheTypes";
export { CacheRecord } from "./cache/entities/CacheRecord";

@@ -29,0 +29,0 @@ export { CredentialEntity } from "./cache/entities/CredentialEntity";

@@ -0,0 +0,0 @@ import { LoggerOptions } from "../config/ClientConfiguration";

@@ -0,0 +0,0 @@ import { NetworkResponse } from "./NetworkManager";

@@ -0,0 +0,0 @@ import { INetworkModule, NetworkRequestOptions } from "./INetworkModule";

@@ -0,0 +0,0 @@ import { AuthenticationScheme } from "../utils/Constants";

@@ -0,0 +0,0 @@ import { NetworkResponse } from "./NetworkManager";

export declare const name = "@azure/msal-common";
export declare const version = "14.0.3";
export declare const version = "14.1.0";
//# sourceMappingURL=packageMetadata.d.ts.map

@@ -0,0 +0,0 @@ import { AuthenticationScheme } from "../utils/Constants";

@@ -0,0 +0,0 @@ import { BaseAuthRequest } from "./BaseAuthRequest";

@@ -0,0 +0,0 @@ import { ResponseMode } from "../utils/Constants";

@@ -0,0 +0,0 @@ import { BaseAuthRequest } from "./BaseAuthRequest";

@@ -0,0 +0,0 @@ import { DeviceCodeResponse } from "../response/DeviceCodeResponse";

@@ -0,0 +0,0 @@ import { AccountInfo } from "../account/AccountInfo";

@@ -0,0 +0,0 @@ import { BaseAuthRequest } from "./BaseAuthRequest";

import { BaseAuthRequest } from "./BaseAuthRequest";
import { CcsCredential } from "../account/CcsCredential";
import { StringDict } from "../utils/MsalTypes";
/**

@@ -19,3 +20,5 @@ * CommonRefreshTokenRequest

forceCache?: boolean;
tokenBodyParameters?: StringDict;
redirectUri?: string;
};
//# sourceMappingURL=CommonRefreshTokenRequest.d.ts.map
import { AccountInfo } from "../account/AccountInfo";
import { StringDict } from "../utils/MsalTypes";
import { BaseAuthRequest } from "./BaseAuthRequest";

@@ -18,3 +19,4 @@ /**

forceRefresh: boolean;
tokenBodyParameters?: StringDict;
};
//# sourceMappingURL=CommonSilentFlowRequest.d.ts.map

@@ -0,0 +0,0 @@ import { BaseAuthRequest } from "./BaseAuthRequest";

@@ -0,0 +0,0 @@ import { StringDict } from "../utils/MsalTypes";

@@ -0,0 +0,0 @@ export type NativeSignOutRequest = {

@@ -0,0 +0,0 @@ import { ResponseMode } from "../utils/Constants";

@@ -0,0 +0,0 @@ import { StringDict } from "../utils/MsalTypes";

@@ -0,0 +0,0 @@ /**

@@ -0,0 +0,0 @@ /**

@@ -0,0 +0,0 @@ import { AccountInfo } from "../account/AccountInfo";

@@ -0,0 +0,0 @@ import { ServerAuthorizationTokenResponse } from "./ServerAuthorizationTokenResponse";

@@ -0,0 +0,0 @@ export type IMDSBadResponse = {

@@ -0,0 +0,0 @@ import { ServerAuthorizationTokenResponse } from "./ServerAuthorizationTokenResponse";

@@ -0,0 +0,0 @@ import { AuthenticationScheme } from "../utils/Constants";

@@ -0,0 +0,0 @@ import { PerformanceEvent } from "./PerformanceEvent";

@@ -0,0 +0,0 @@ export interface IPerformanceMeasurement {

@@ -0,0 +0,0 @@ import { ApplicationTelemetry } from "../../config/ClientConfiguration";

@@ -208,2 +208,10 @@ /**

readonly ClearTokensAndKeysWithClaims: "clearTokensAndKeysWithClaims";
/**
* Crypto Operations
*/
readonly GeneratePkceCodes: "generatePkceCodes";
readonly GenerateCodeVerifier: "generateCodeVerifier";
readonly GenerateCodeChallengeFromVerifier: "generateCodeChallengeFromVerifier";
readonly Sha256Digest: "sha256Digest";
readonly GetRandomValues: "getRandomValues";
};

@@ -210,0 +218,0 @@ export type PerformanceEvents = (typeof PerformanceEvents)[keyof typeof PerformanceEvents];

@@ -0,0 +0,0 @@ import { IPerformanceClient, InProgressPerformanceEvent } from "./IPerformanceClient";

@@ -0,0 +0,0 @@ import { CacheOutcome } from "../../utils/Constants";

@@ -0,0 +0,0 @@ export type ServerTelemetryRequest = {

@@ -0,0 +0,0 @@ /**

@@ -0,0 +0,0 @@ import { ServerAuthorizationCodeResponse } from "../response/ServerAuthorizationCodeResponse";

@@ -0,0 +0,0 @@ export declare const Constants: {

@@ -0,0 +0,0 @@ import { Logger } from "../logger/Logger";

@@ -0,0 +0,0 @@ /**

@@ -0,0 +0,0 @@ import { ICrypto } from "../crypto/ICrypto";

@@ -0,0 +0,0 @@ /**

@@ -0,0 +0,0 @@ /**

@@ -13,3 +13,3 @@ {

},
"version": "14.1.0-alpha.0",
"version": "14.1.0",
"description": "Microsoft Authentication Library for js",

@@ -16,0 +16,0 @@ "keywords": [

@@ -17,3 +17,2 @@ /*

* - idTokenClaims - Object contains claims from ID token
* - localAccountId - The user's account ID
* - nativeAccountId - The user's native account ID

@@ -20,0 +19,0 @@ */

@@ -224,5 +224,15 @@ /*

/**
* Returns all accounts in cache
* Returns all the accounts in the cache that match the optional filter. If no filter is provided, all accounts are returned.
* @param accountFilter - (Optional) filter to narrow down the accounts returned
* @returns Array of AccountInfo objects in cache
*/
getAllAccounts(): AccountInfo[] {
getAllAccounts(accountFilter?: AccountFilter): AccountInfo[] {
if (accountFilter) {
return this.getAccountsFilteredBy(accountFilter).map(
(accountEntity) => {
return accountEntity.getAccountInfo();
}
);
}
const allAccountKeys = this.getAccountKeys();

@@ -246,12 +256,8 @@ if (allAccountKeys.length < 1) {

if (accountEntities.length < 1) {
return [];
} else {
const allAccounts = accountEntities.map<AccountInfo>(
(accountEntity) => {
return this.getAccountInfoFromEntity(accountEntity);
}
);
return allAccounts;
}
const allAccounts = accountEntities.map<AccountInfo>(
(accountEntity) => {
return this.getAccountInfoFromEntity(accountEntity);
}
);
return allAccounts;
}

@@ -369,7 +375,5 @@

/**
* retrieve accounts matching all provided filters; if no filter is set, get all accounts
* not checking for casing as keys are all generated in lower case, remember to convert to lower case if object properties are compared
* @param homeAccountId
* @param environment
* @param realm
* Retrieve accounts matching all provided filters; if no filter is set, get all accounts
* Not checking for casing as keys are all generated in lower case, remember to convert to lower case if object properties are compared
* @param accountFilter - An object containing Account properties to filter by
*/

@@ -385,3 +389,3 @@ getAccountsFilteredBy(accountFilter: AccountFilter): AccountEntity[] {

accountFilter.homeAccountId,
accountFilter.realm
accountFilter.tenantId
)

@@ -434,3 +438,11 @@ ) {

// tenantId is another name for realm
if (
!!accountFilter.tenantId &&
!this.matchRealm(entity, accountFilter.tenantId)
) {
return;
}
if (
!!accountFilter.nativeAccountId &&

@@ -445,2 +457,23 @@ !this.matchNativeAccountId(

if (
!!accountFilter.loginHint &&
!this.matchLoginHint(entity, accountFilter.loginHint)
) {
return;
}
if (
!!accountFilter.authorityType &&
!this.matchAuthorityType(entity, accountFilter.authorityType)
) {
return;
}
if (
!!accountFilter.name &&
!this.matchName(entity, accountFilter.name)
) {
return;
}
matchingAccounts.push(entity);

@@ -1334,2 +1367,12 @@ });

/**
* helper to match names
* @param entity
* @param name
* @returns true if the downcased name properties are present and match in the filter and the entity
*/
private matchName(entity: AccountEntity, name: string): boolean {
return !!(name.toLowerCase() === entity.name?.toLowerCase());
}
/**
* helper to match assertion

@@ -1436,2 +1479,37 @@ * @param value

/**
* helper to match loginHint which can be either:
* 1. login_hint ID token claim
* 2. username in cached account object
* 3. upn in ID token claims
* @param entity
* @param loginHint
* @returns
*/
private matchLoginHint(entity: AccountEntity, loginHint: string): boolean {
if (entity.idTokenClaims?.login_hint === loginHint) {
return true;
}
if (entity.username === loginHint) {
return true;
}
if (entity.idTokenClaims?.upn === loginHint) {
return true;
}
return false;
}
private matchAuthorityType(
entity: AccountEntity,
authorityType: string
): boolean {
return !!(
entity.authorityType &&
authorityType.toLowerCase() === entity.authorityType.toLowerCase()
);
}
/**
* Returns true if the target scopes are a subset of the current entity's scopes, false otherwise.

@@ -1438,0 +1516,0 @@ * @param entity

@@ -16,2 +16,3 @@ /*

import { ScopeSet } from "../../request/ScopeSet";
import { AccountInfo } from "../../account/AccountInfo";

@@ -56,9 +57,8 @@ /** @internal */

*/
export type AccountFilter = {
homeAccountId?: string;
localAccountId?: string;
username?: string;
environment?: string;
export type AccountFilter = Omit<
Partial<AccountInfo>,
"idToken" | "idTokenClaims"
> & {
realm?: string;
nativeAccountId?: string;
loginHint?: string;
};

@@ -65,0 +65,0 @@

@@ -285,3 +285,5 @@ /*

const thumbprint: RequestThumbprint = {
clientId: this.config.authOptions.clientId,
clientId:
request.tokenBodyParameters?.clientId ||
this.config.authOptions.clientId,
authority: authority.canonicalAuthority,

@@ -288,0 +290,0 @@ scopes: request.scopes,

@@ -20,2 +20,3 @@ /*

HeaderNames,
AADServerParamKeys,
} from "../utils/Constants";

@@ -262,3 +263,5 @@ import { ResponseHandler } from "../response/ResponseHandler";

const thumbprint: RequestThumbprint = {
clientId: this.config.authOptions.clientId,
clientId:
request.tokenBodyParameters?.clientId ||
this.config.authOptions.clientId,
authority: authority.canonicalAuthority,

@@ -298,4 +301,11 @@ scopes: request.scopes,

parameterBuilder.addClientId(this.config.authOptions.clientId);
parameterBuilder.addClientId(
request.tokenBodyParameters?.[AADServerParamKeys.CLIENT_ID] ||
this.config.authOptions.clientId
);
if (request.redirectUri) {
parameterBuilder.addRedirectUri(request.redirectUri);
}
parameterBuilder.addScopes(

@@ -400,4 +410,11 @@ request.scopes,

}
if (request.tokenBodyParameters) {
parameterBuilder.addExtraQueryParameters(
request.tokenBodyParameters
);
}
return parameterBuilder.createQueryString();
}
}

@@ -49,6 +49,2 @@ /*

/**
* Generate PKCE codes for OAuth. See RFC here: https://tools.ietf.org/html/rfc7636
*/
generatePkceCodes(): Promise<PkceCodes>;
/**
* Generates an JWK RSA S256 Thumbprint

@@ -95,5 +91,2 @@ * @param request

},
async generatePkceCodes(): Promise<PkceCodes> {
throw createClientAuthError(ClientAuthErrorCodes.methodNotImplemented);
},
async getPublicKeyThumbprint(): Promise<string> {

@@ -100,0 +93,0 @@ throw createClientAuthError(ClientAuthErrorCodes.methodNotImplemented);

@@ -57,2 +57,3 @@ /*

AccountCache,
AccountFilter,
AccessTokenCache,

@@ -59,0 +60,0 @@ IdTokenCache,

/* eslint-disable header/header */
export const name = "@azure/msal-common";
export const version = "14.0.3";
export const version = "14.1.0";

@@ -8,2 +8,3 @@ /*

import { CcsCredential } from "../account/CcsCredential";
import { StringDict } from "../utils/MsalTypes";

@@ -26,2 +27,4 @@ /**

forceCache?: boolean;
tokenBodyParameters?: StringDict;
redirectUri?: string;
};

@@ -7,2 +7,3 @@ /*

import { AccountInfo } from "../account/AccountInfo";
import { StringDict } from "../utils/MsalTypes";
import { BaseAuthRequest } from "./BaseAuthRequest";

@@ -25,2 +26,3 @@

forceRefresh: boolean;
tokenBodyParameters?: StringDict;
};

@@ -271,2 +271,11 @@ /*

ClearTokensAndKeysWithClaims: "clearTokensAndKeysWithClaims",
/**
* Crypto Operations
*/
GeneratePkceCodes: "generatePkceCodes",
GenerateCodeVerifier: "generateCodeVerifier",
GenerateCodeChallengeFromVerifier: "generateCodeChallengeFromVerifier",
Sha256Digest: "sha256Digest",
GetRandomValues: "getRandomValues",
} as const;

@@ -273,0 +282,0 @@ export type PerformanceEvents =

@@ -34,3 +34,2 @@ /*

);
telemetryClient?.setPreQueueTime(eventName, correlationId);
try {

@@ -37,0 +36,0 @@ const result = callback(...args);

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

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

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc