From 81258f5e73ff70a380b68150f1da0763d81c91d6 Mon Sep 17 00:00:00 2001 From: xiao-lix Date: Wed, 14 Jul 2021 17:50:56 -0700 Subject: [PATCH 1/8] fix pipeline --- .../monitor-opentelemetry-exporter/samples-dev/httpSample.ts | 4 ++++ .../samples/v1/javascript/httpSample.js | 4 ++++ .../samples/v1/typescript/src/httpSample.ts | 4 ++++ 3 files changed, 12 insertions(+) diff --git a/sdk/monitor/monitor-opentelemetry-exporter/samples-dev/httpSample.ts b/sdk/monitor/monitor-opentelemetry-exporter/samples-dev/httpSample.ts index 291af26400df..4c4715628759 100644 --- a/sdk/monitor/monitor-opentelemetry-exporter/samples-dev/httpSample.ts +++ b/sdk/monitor/monitor-opentelemetry-exporter/samples-dev/httpSample.ts @@ -74,6 +74,10 @@ function handleRequest(request: any, response: any) { setTimeout(() => { span.end(); response.end("Hello World!"); + setTimeout(() => { + // terminate the process to stop CI pipeline from running forever + process.kill(process.pid, "SIGTERM"); + }, 2000); }, 2000); }); } diff --git a/sdk/monitor/monitor-opentelemetry-exporter/samples/v1/javascript/httpSample.js b/sdk/monitor/monitor-opentelemetry-exporter/samples/v1/javascript/httpSample.js index 496419e7a79a..446b653e92e0 100644 --- a/sdk/monitor/monitor-opentelemetry-exporter/samples/v1/javascript/httpSample.js +++ b/sdk/monitor/monitor-opentelemetry-exporter/samples/v1/javascript/httpSample.js @@ -74,6 +74,10 @@ function handleRequest(request, response) { setTimeout(() => { span.end(); response.end("Hello World!"); + setTimeout(() => { + // terminate the process to stop CI pipeline from running forever + process.kill(process.pid, "SIGTERM"); + }, 2000); }, 2000); }); } diff --git a/sdk/monitor/monitor-opentelemetry-exporter/samples/v1/typescript/src/httpSample.ts b/sdk/monitor/monitor-opentelemetry-exporter/samples/v1/typescript/src/httpSample.ts index 291af26400df..7bbf31c51ee6 100644 --- a/sdk/monitor/monitor-opentelemetry-exporter/samples/v1/typescript/src/httpSample.ts +++ b/sdk/monitor/monitor-opentelemetry-exporter/samples/v1/typescript/src/httpSample.ts @@ -74,6 +74,10 @@ function handleRequest(request: any, response: any) { setTimeout(() => { span.end(); response.end("Hello World!"); + setTimeout(() => { + // terminate the process to stop CI pipeline from running forever + process.kill(process.pid, 'SIGTERM') + }, 2000); }, 2000); }); } From fb698c1ad3bf967c33af3c540410f5cde8cb2f19 Mon Sep 17 00:00:00 2001 From: xiao-lix Date: Thu, 22 Jul 2021 11:56:22 -0700 Subject: [PATCH 2/8] init commit : update to use core-rest-pipeline --- .../package.json | 3 +- .../src/export/trace.ts | 8 +- .../generated/applicationInsightsClient.ts | 33 +- .../applicationInsightsClientContext.ts | 37 +- .../src/generated/models/index.ts | 632 ++++++------------ .../src/generated/models/mappers.ts | 65 +- .../src/generated/models/parameters.ts | 9 +- .../src/platform/nodejs/httpSender.ts | 29 +- .../src/types.ts | 2 +- .../swagger/README.md | 4 +- .../test/utils/basic.ts | 5 +- 11 files changed, 349 insertions(+), 478 deletions(-) diff --git a/sdk/monitor/monitor-opentelemetry-exporter/package.json b/sdk/monitor/monitor-opentelemetry-exporter/package.json index 528094a96e08..f48383888f48 100644 --- a/sdk/monitor/monitor-opentelemetry-exporter/package.json +++ b/sdk/monitor/monitor-opentelemetry-exporter/package.json @@ -108,7 +108,8 @@ "typescript": "~4.2.0" }, "dependencies": { - "@azure/core-http": "^2.0.0", + "@azure/core-client": "^1.0.0", + "@azure/core-rest-pipeline": "^1.1.0", "@opentelemetry/api": "^1.0.1", "@opentelemetry/core": "^0.22.0", "@opentelemetry/resources": "^0.22.0", diff --git a/sdk/monitor/monitor-opentelemetry-exporter/src/export/trace.ts b/sdk/monitor/monitor-opentelemetry-exporter/src/export/trace.ts index a90cf99c7501..ebe99bc6f66d 100644 --- a/sdk/monitor/monitor-opentelemetry-exporter/src/export/trace.ts +++ b/sdk/monitor/monitor-opentelemetry-exporter/src/export/trace.ts @@ -4,7 +4,7 @@ import { diag } from "@opentelemetry/api"; import { ExportResult, ExportResultCode } from "@opentelemetry/core"; import { ReadableSpan, SpanExporter } from "@opentelemetry/tracing"; -import { RestError } from "@azure/core-http"; +import { RestError } from "@azure/core-rest-pipeline"; import { ConnectionStringParser } from "../utils/connectionStringParser"; import { HttpSender, FileSystemPersist } from "../platform"; import { @@ -67,9 +67,9 @@ export class AzureMonitorTraceExporter implements SpanExporter { return success ? { code: ExportResultCode.SUCCESS } : { - code: ExportResultCode.FAILED, - error: new Error("Failed to persist envelope in disk.") - }; + code: ExportResultCode.FAILED, + error: new Error("Failed to persist envelope in disk.") + }; } catch (ex) { return { code: ExportResultCode.FAILED, error: ex }; } diff --git a/sdk/monitor/monitor-opentelemetry-exporter/src/generated/applicationInsightsClient.ts b/sdk/monitor/monitor-opentelemetry-exporter/src/generated/applicationInsightsClient.ts index 33dea89acc02..b3ee4110f1ea 100644 --- a/sdk/monitor/monitor-opentelemetry-exporter/src/generated/applicationInsightsClient.ts +++ b/sdk/monitor/monitor-opentelemetry-exporter/src/generated/applicationInsightsClient.ts @@ -6,13 +6,14 @@ * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as coreHttp from "@azure/core-http"; +import * as coreClient from "@azure/core-client"; import * as Parameters from "./models/parameters"; import * as Mappers from "./models/mappers"; import { ApplicationInsightsClientContext } from "./applicationInsightsClientContext"; import { ApplicationInsightsClientOptionalParams, TelemetryItem, + ApplicationInsightsClientTrackOptionalParams, ApplicationInsightsClientTrackResponse } from "./models"; @@ -32,22 +33,15 @@ export class ApplicationInsightsClient extends ApplicationInsightsClientContext */ track( body: TelemetryItem[], - options?: coreHttp.OperationOptions + options?: ApplicationInsightsClientTrackOptionalParams ): Promise { - const operationOptions: coreHttp.RequestOptionsBase = coreHttp.operationOptionsToRequestOptionsBase( - options || {} - ); - return this.sendOperationRequest( - { body, options: operationOptions }, - trackOperationSpec - ) as Promise; + return this.sendOperationRequest({ body, options }, trackOperationSpec); } } // Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); -const serializer = new coreHttp.Serializer(Mappers, /* isXml */ false); - -const trackOperationSpec: coreHttp.OperationSpec = { +const trackOperationSpec: coreClient.OperationSpec = { path: "/track", httpMethod: "POST", responses: { @@ -58,19 +52,24 @@ const trackOperationSpec: coreHttp.OperationSpec = { bodyMapper: Mappers.TrackResponse }, 400: { - bodyMapper: Mappers.TrackResponse + bodyMapper: Mappers.TrackResponse, + isError: true }, 402: { - bodyMapper: Mappers.TrackResponse + bodyMapper: Mappers.TrackResponse, + isError: true }, 429: { - bodyMapper: Mappers.TrackResponse + bodyMapper: Mappers.TrackResponse, + isError: true }, 500: { - bodyMapper: Mappers.TrackResponse + bodyMapper: Mappers.TrackResponse, + isError: true }, 503: { - bodyMapper: Mappers.TrackResponse + bodyMapper: Mappers.TrackResponse, + isError: true } }, requestBody: Parameters.body, diff --git a/sdk/monitor/monitor-opentelemetry-exporter/src/generated/applicationInsightsClientContext.ts b/sdk/monitor/monitor-opentelemetry-exporter/src/generated/applicationInsightsClientContext.ts index 7c7fdf734ab2..46e7c1e35861 100644 --- a/sdk/monitor/monitor-opentelemetry-exporter/src/generated/applicationInsightsClientContext.ts +++ b/sdk/monitor/monitor-opentelemetry-exporter/src/generated/applicationInsightsClientContext.ts @@ -6,13 +6,10 @@ * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as coreHttp from "@azure/core-http"; +import * as coreClient from "@azure/core-client"; import { ApplicationInsightsClientOptionalParams } from "./models"; -const packageName = "@azure/monitor-opentelemetry-exporter"; -const packageVersion = "1.0.0-beta.2"; - -export class ApplicationInsightsClientContext extends coreHttp.ServiceClient { +export class ApplicationInsightsClientContext extends coreClient.ServiceClient { host: string; /** @@ -24,17 +21,25 @@ export class ApplicationInsightsClientContext extends coreHttp.ServiceClient { if (!options) { options = {}; } - - if (!options.userAgent) { - const defaultUserAgent = coreHttp.getDefaultUserAgentValue(); - options.userAgent = `${packageName}/${packageVersion} ${defaultUserAgent}`; - } - - super(undefined, options); - - this.requestContentType = "application/json; charset=utf-8"; - - this.baseUri = options.endpoint || "{Host}/v2"; + const defaults: ApplicationInsightsClientOptionalParams = { + requestContentType: "application/json; charset=utf-8" + }; + + const packageDetails = `azsdk-js-monitor-opentelemetry-exporter/1.0.0-beta.4`; + const userAgentPrefix = + options.userAgentOptions && options.userAgentOptions.userAgentPrefix + ? `${options.userAgentOptions.userAgentPrefix} ${packageDetails}` + : `${packageDetails}`; + + const optionsWithDefaults = { + ...defaults, + ...options, + userAgentOptions: { + userAgentPrefix + }, + baseUri: options.endpoint || "{Host}/v2" + }; + super(optionsWithDefaults); // Assigning values to Constant parameters this.host = options.host || "https://dc.services.visualstudio.com"; diff --git a/sdk/monitor/monitor-opentelemetry-exporter/src/generated/models/index.ts b/sdk/monitor/monitor-opentelemetry-exporter/src/generated/models/index.ts index f447152fd564..a002e441597c 100644 --- a/sdk/monitor/monitor-opentelemetry-exporter/src/generated/models/index.ts +++ b/sdk/monitor/monitor-opentelemetry-exporter/src/generated/models/index.ts @@ -6,573 +6,387 @@ * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as coreHttp from "@azure/core-http"; +import * as coreClient from "@azure/core-client"; -/** - * System variables for a telemetry item. - */ +/** System variables for a telemetry item. */ export interface TelemetryItem { - /** - * Envelope version. For internal use only. By assigning this the default, it will not be serialized within the payload unless changed to a value other than #1. - */ + /** Envelope version. For internal use only. By assigning this the default, it will not be serialized within the payload unless changed to a value other than #1. */ version?: number; - /** - * Type name of telemetry data item. - */ + /** Type name of telemetry data item. */ name: string; - /** - * Event date time when telemetry item was created. This is the wall clock time on the client when the event was generated. There is no guarantee that the client's time is accurate. This field must be formatted in UTC ISO 8601 format, with a trailing 'Z' character, as described publicly on https://en.wikipedia.org/wiki/ISO_8601#UTC. Note: the number of decimal seconds digits provided are variable (and unspecified). Consumers should handle this, i.e. managed code consumers should not use format 'O' for parsing as it specifies a fixed length. Example: 2009-06-15T13:45:30.0000000Z. - */ + /** Event date time when telemetry item was created. This is the wall clock time on the client when the event was generated. There is no guarantee that the client's time is accurate. This field must be formatted in UTC ISO 8601 format, with a trailing 'Z' character, as described publicly on https://en.wikipedia.org/wiki/ISO_8601#UTC. Note: the number of decimal seconds digits provided are variable (and unspecified). Consumers should handle this, i.e. managed code consumers should not use format 'O' for parsing as it specifies a fixed length. Example: 2009-06-15T13:45:30.0000000Z. */ time: Date; - /** - * Sampling rate used in application. This telemetry item represents 1 / sampleRate actual telemetry items. - */ + /** Sampling rate used in application. This telemetry item represents 1 / sampleRate actual telemetry items. */ sampleRate?: number; - /** - * Sequence field used to track absolute order of uploaded events. - */ + /** Sequence field used to track absolute order of uploaded events. */ sequence?: string; - /** - * The instrumentation key of the Application Insights resource. - */ + /** The instrumentation key of the Application Insights resource. */ instrumentationKey?: string; - /** - * Key/value collection of context properties. See ContextTagKeys for information on available properties. - */ + /** Key/value collection of context properties. See ContextTagKeys for information on available properties. */ tags?: { [propertyName: string]: string }; - /** - * Telemetry data item. - */ + /** Telemetry data item. */ data?: MonitorBase; } -/** - * Data struct to contain only C section with custom fields. - */ +/** Data struct to contain only C section with custom fields. */ export interface MonitorBase { - /** - * Name of item (B section) if any. If telemetry data is derived straight from this, this should be null. - */ + /** Name of item (B section) if any. If telemetry data is derived straight from this, this should be null. */ baseType?: string; - /** - * The data payload for the telemetry request - */ + /** The data payload for the telemetry request */ baseData?: MonitorDomain; } -/** - * The abstract common base of all domains. - */ +/** The abstract common base of all domains. */ export interface MonitorDomain { - /** - * Describes unknown properties. The value of an unknown property can be of "any" type. - */ + /** Describes unknown properties. The value of an unknown property can be of "any" type. */ [property: string]: any; - /** - * Schema version - */ + /** Schema version */ version: number; } -/** - * Response containing the status of each telemetry item. - */ +/** Response containing the status of each telemetry item. */ export interface TrackResponse { - /** - * The number of items received. - */ + /** The number of items received. */ itemsReceived?: number; - /** - * The number of items accepted. - */ + /** The number of items accepted. */ itemsAccepted?: number; - /** - * An array of error detail objects. - */ + /** An array of error detail objects. */ errors?: TelemetryErrorDetails[]; } -/** - * The error details - */ +/** The error details */ export interface TelemetryErrorDetails { - /** - * The index in the original payload of the item. - */ + /** The index in the original payload of the item. */ index?: number; - /** - * The item specific [HTTP Response status code](#Response Status Codes). - */ + /** The item specific [HTTP Response status code](#Response Status Codes). */ statusCode?: number; - /** - * The error message. - */ + /** The error message. */ message?: string; } -/** - * Metric data single measurement. - */ +/** Metric data single measurement. */ export interface MetricDataPoint { - /** - * Namespace of the metric. - */ + /** Namespace of the metric. */ namespace?: string; - /** - * Name of the metric. - */ + /** Name of the metric. */ name: string; - /** - * Metric type. Single measurement or the aggregated value. - */ + /** Metric type. Single measurement or the aggregated value. */ dataPointType?: DataPointType; - /** - * Single value for measurement. Sum of individual measurements for the aggregation. - */ + /** Single value for measurement. Sum of individual measurements for the aggregation. */ value: number; - /** - * Metric weight of the aggregated metric. Should not be set for a measurement. - */ + /** Metric weight of the aggregated metric. Should not be set for a measurement. */ count?: number; - /** - * Minimum value of the aggregated metric. Should not be set for a measurement. - */ + /** Minimum value of the aggregated metric. Should not be set for a measurement. */ min?: number; - /** - * Maximum value of the aggregated metric. Should not be set for a measurement. - */ + /** Maximum value of the aggregated metric. Should not be set for a measurement. */ max?: number; - /** - * Standard deviation of the aggregated metric. Should not be set for a measurement. - */ + /** Standard deviation of the aggregated metric. Should not be set for a measurement. */ stdDev?: number; } -/** - * Exception details of the exception in a chain. - */ +/** Exception details of the exception in a chain. */ export interface TelemetryExceptionDetails { - /** - * In case exception is nested (outer exception contains inner one), the id and outerId properties are used to represent the nesting. - */ + /** In case exception is nested (outer exception contains inner one), the id and outerId properties are used to represent the nesting. */ id?: number; - /** - * The value of outerId is a reference to an element in ExceptionDetails that represents the outer exception - */ + /** The value of outerId is a reference to an element in ExceptionDetails that represents the outer exception */ outerId?: number; - /** - * Exception type name. - */ + /** Exception type name. */ typeName?: string; - /** - * Exception message. - */ + /** Exception message. */ message: string; - /** - * Indicates if full exception stack is provided in the exception. The stack may be trimmed, such as in the case of a StackOverflow exception. - */ + /** Indicates if full exception stack is provided in the exception. The stack may be trimmed, such as in the case of a StackOverflow exception. */ hasFullStack?: boolean; - /** - * Text describing the stack. Either stack or parsedStack should have a value. - */ + /** Text describing the stack. Either stack or parsedStack should have a value. */ stack?: string; - /** - * List of stack frames. Either stack or parsedStack should have a value. - */ + /** List of stack frames. Either stack or parsedStack should have a value. */ parsedStack?: StackFrame[]; } -/** - * Stack frame information. - */ +/** Stack frame information. */ export interface StackFrame { level: number; - /** - * Method name. - */ + /** Method name. */ method: string; - /** - * Name of the assembly (dll, jar, etc.) containing this function. - */ + /** Name of the assembly (dll, jar, etc.) containing this function. */ assembly?: string; - /** - * File name or URL of the method implementation. - */ + /** File name or URL of the method implementation. */ fileName?: string; - /** - * Line number of the code implementation. - */ + /** Line number of the code implementation. */ line?: number; } -/** - * Instances of AvailabilityData represent the result of executing an availability test. - */ +/** Instances of AvailabilityData represent the result of executing an availability test. */ export type AvailabilityData = MonitorDomain & { - /** - * Identifier of a test run. Use it to correlate steps of test run and telemetry generated by the service. - */ + /** Identifier of a test run. Use it to correlate steps of test run and telemetry generated by the service. */ id: string; - /** - * Name of the test that these availability results represent. - */ + /** Name of the test that these availability results represent. */ name: string; - /** - * Duration in format: DD.HH:MM:SS.MMMMMM. Must be less than 1000 days. - */ + /** Duration in format: DD.HH:MM:SS.MMMMMM. Must be less than 1000 days. */ duration: string; - /** - * Success flag. - */ + /** Success flag. */ success: boolean; - /** - * Name of the location where the test was run from. - */ + /** Name of the location where the test was run from. */ runLocation?: string; - /** - * Diagnostic message for the result. - */ + /** Diagnostic message for the result. */ message?: string; - /** - * Collection of custom properties. - */ + /** Collection of custom properties. */ properties?: { [propertyName: string]: string }; - /** - * Collection of custom measurements. - */ + /** Collection of custom measurements. */ measurements?: { [propertyName: string]: number }; }; -/** - * Instances of Event represent structured event records that can be grouped and searched by their properties. Event data item also creates a metric of event count by name. - */ +/** Instances of Event represent structured event records that can be grouped and searched by their properties. Event data item also creates a metric of event count by name. */ export type TelemetryEventData = MonitorDomain & { - /** - * Event name. Keep it low cardinality to allow proper grouping and useful metrics. - */ + /** Event name. Keep it low cardinality to allow proper grouping and useful metrics. */ name: string; - /** - * Collection of custom properties. - */ + /** Collection of custom properties. */ properties?: { [propertyName: string]: string }; - /** - * Collection of custom measurements. - */ + /** Collection of custom measurements. */ measurements?: { [propertyName: string]: number }; }; -/** - * An instance of Exception represents a handled or unhandled exception that occurred during execution of the monitored application. - */ +/** An instance of Exception represents a handled or unhandled exception that occurred during execution of the monitored application. */ export type TelemetryExceptionData = MonitorDomain & { - /** - * Exception chain - list of inner exceptions. - */ + /** Exception chain - list of inner exceptions. */ exceptions: TelemetryExceptionDetails[]; - /** - * Severity level. Mostly used to indicate exception severity level when it is reported by logging library. - */ + /** Severity level. Mostly used to indicate exception severity level when it is reported by logging library. */ severityLevel?: SeverityLevel; - /** - * Identifier of where the exception was thrown in code. Used for exceptions grouping. Typically a combination of exception type and a function from the call stack. - */ + /** Identifier of where the exception was thrown in code. Used for exceptions grouping. Typically a combination of exception type and a function from the call stack. */ problemId?: string; - /** - * Collection of custom properties. - */ + /** Collection of custom properties. */ properties?: { [propertyName: string]: string }; - /** - * Collection of custom measurements. - */ + /** Collection of custom measurements. */ measurements?: { [propertyName: string]: number }; }; -/** - * Instances of Message represent printf-like trace statements that are text-searched. Log4Net, NLog and other text-based log file entries are translated into instances of this type. The message does not have measurements. - */ +/** Instances of Message represent printf-like trace statements that are text-searched. Log4Net, NLog and other text-based log file entries are translated into instances of this type. The message does not have measurements. */ export type MessageData = MonitorDomain & { - /** - * Trace message - */ + /** Trace message */ message: string; - /** - * Trace severity level. - */ + /** Trace severity level. */ severityLevel?: SeverityLevel; - /** - * Collection of custom properties. - */ + /** Collection of custom properties. */ properties?: { [propertyName: string]: string }; - /** - * Collection of custom measurements. - */ + /** Collection of custom measurements. */ measurements?: { [propertyName: string]: number }; }; -/** - * An instance of the Metric item is a list of measurements (single data points) and/or aggregations. - */ +/** An instance of the Metric item is a list of measurements (single data points) and/or aggregations. */ export type MetricsData = MonitorDomain & { - /** - * List of metrics. Only one metric in the list is currently supported by Application Insights storage. If multiple data points were sent only the first one will be used. - */ + /** List of metrics. Only one metric in the list is currently supported by Application Insights storage. If multiple data points were sent only the first one will be used. */ metrics: MetricDataPoint[]; - /** - * Collection of custom properties. - */ + /** Collection of custom properties. */ properties?: { [propertyName: string]: string }; }; -/** - * An instance of PageView represents a generic action on a page like a button click. It is also the base type for PageView. - */ +/** An instance of PageView represents a generic action on a page like a button click. It is also the base type for PageView. */ export type PageViewData = MonitorDomain & { - /** - * Identifier of a page view instance. Used for correlation between page view and other telemetry items. - */ + /** Identifier of a page view instance. Used for correlation between page view and other telemetry items. */ id: string; - /** - * Event name. Keep it low cardinality to allow proper grouping and useful metrics. - */ + /** Event name. Keep it low cardinality to allow proper grouping and useful metrics. */ name: string; - /** - * Request URL with all query string parameters - */ + /** Request URL with all query string parameters */ url?: string; - /** - * Request duration in format: DD.HH:MM:SS.MMMMMM. For a page view (PageViewData), this is the duration. For a page view with performance information (PageViewPerfData), this is the page load time. Must be less than 1000 days. - */ + /** Request duration in format: DD.HH:MM:SS.MMMMMM. For a page view (PageViewData), this is the duration. For a page view with performance information (PageViewPerfData), this is the page load time. Must be less than 1000 days. */ duration?: string; - /** - * Fully qualified page URI or URL of the referring page; if unknown, leave blank - */ + /** Fully qualified page URI or URL of the referring page; if unknown, leave blank */ referredUri?: string; - /** - * Collection of custom properties. - */ + /** Collection of custom properties. */ properties?: { [propertyName: string]: string }; - /** - * Collection of custom measurements. - */ + /** Collection of custom measurements. */ measurements?: { [propertyName: string]: number }; }; -/** - * An instance of PageViewPerf represents: a page view with no performance data, a page view with performance data, or just the performance data of an earlier page request. - */ +/** An instance of PageViewPerf represents: a page view with no performance data, a page view with performance data, or just the performance data of an earlier page request. */ export type PageViewPerfData = MonitorDomain & { - /** - * Identifier of a page view instance. Used for correlation between page view and other telemetry items. - */ + /** Identifier of a page view instance. Used for correlation between page view and other telemetry items. */ id: string; - /** - * Event name. Keep it low cardinality to allow proper grouping and useful metrics. - */ + /** Event name. Keep it low cardinality to allow proper grouping and useful metrics. */ name: string; - /** - * Request URL with all query string parameters - */ + /** Request URL with all query string parameters */ url?: string; - /** - * Request duration in format: DD.HH:MM:SS.MMMMMM. For a page view (PageViewData), this is the duration. For a page view with performance information (PageViewPerfData), this is the page load time. Must be less than 1000 days. - */ + /** Request duration in format: DD.HH:MM:SS.MMMMMM. For a page view (PageViewData), this is the duration. For a page view with performance information (PageViewPerfData), this is the page load time. Must be less than 1000 days. */ duration?: string; - /** - * Performance total in TimeSpan 'G' (general long) format: d:hh:mm:ss.fffffff - */ + /** Performance total in TimeSpan 'G' (general long) format: d:hh:mm:ss.fffffff */ perfTotal?: string; - /** - * Network connection time in TimeSpan 'G' (general long) format: d:hh:mm:ss.fffffff - */ + /** Network connection time in TimeSpan 'G' (general long) format: d:hh:mm:ss.fffffff */ networkConnect?: string; - /** - * Sent request time in TimeSpan 'G' (general long) format: d:hh:mm:ss.fffffff - */ + /** Sent request time in TimeSpan 'G' (general long) format: d:hh:mm:ss.fffffff */ sentRequest?: string; - /** - * Received response time in TimeSpan 'G' (general long) format: d:hh:mm:ss.fffffff - */ + /** Received response time in TimeSpan 'G' (general long) format: d:hh:mm:ss.fffffff */ receivedResponse?: string; - /** - * DOM processing time in TimeSpan 'G' (general long) format: d:hh:mm:ss.fffffff - */ + /** DOM processing time in TimeSpan 'G' (general long) format: d:hh:mm:ss.fffffff */ domProcessing?: string; - /** - * Collection of custom properties. - */ + /** Collection of custom properties. */ properties?: { [propertyName: string]: string }; - /** - * Collection of custom measurements. - */ + /** Collection of custom measurements. */ measurements?: { [propertyName: string]: number }; }; -/** - * An instance of Remote Dependency represents an interaction of the monitored component with a remote component/service like SQL or an HTTP endpoint. - */ +/** An instance of Remote Dependency represents an interaction of the monitored component with a remote component/service like SQL or an HTTP endpoint. */ export type RemoteDependencyData = MonitorDomain & { - /** - * Identifier of a dependency call instance. Used for correlation with the request telemetry item corresponding to this dependency call. - */ + /** Identifier of a dependency call instance. Used for correlation with the request telemetry item corresponding to this dependency call. */ id?: string; - /** - * Name of the command initiated with this dependency call. Low cardinality value. Examples are stored procedure name and URL path template. - */ + /** Name of the command initiated with this dependency call. Low cardinality value. Examples are stored procedure name and URL path template. */ name: string; - /** - * Result code of a dependency call. Examples are SQL error code and HTTP status code. - */ + /** Result code of a dependency call. Examples are SQL error code and HTTP status code. */ resultCode?: string; - /** - * Command initiated by this dependency call. Examples are SQL statement and HTTP URL with all query parameters. - */ + /** Command initiated by this dependency call. Examples are SQL statement and HTTP URL with all query parameters. */ data?: string; - /** - * Dependency type name. Very low cardinality value for logical grouping of dependencies and interpretation of other fields like commandName and resultCode. Examples are SQL, Azure table, and HTTP. - */ + /** Dependency type name. Very low cardinality value for logical grouping of dependencies and interpretation of other fields like commandName and resultCode. Examples are SQL, Azure table, and HTTP. */ type?: string; - /** - * Target site of a dependency call. Examples are server name, host address. - */ + /** Target site of a dependency call. Examples are server name, host address. */ target?: string; - /** - * Request duration in format: DD.HH:MM:SS.MMMMMM. Must be less than 1000 days. - */ + /** Request duration in format: DD.HH:MM:SS.MMMMMM. Must be less than 1000 days. */ duration: string; - /** - * Indication of successful or unsuccessful call. - */ + /** Indication of successful or unsuccessful call. */ success?: boolean; - /** - * Collection of custom properties. - */ + /** Collection of custom properties. */ properties?: { [propertyName: string]: string }; - /** - * Collection of custom measurements. - */ + /** Collection of custom measurements. */ measurements?: { [propertyName: string]: number }; }; -/** - * An instance of Request represents completion of an external request to the application to do work and contains a summary of that request execution and the results. - */ +/** An instance of Request represents completion of an external request to the application to do work and contains a summary of that request execution and the results. */ export type RequestData = MonitorDomain & { - /** - * Identifier of a request call instance. Used for correlation between request and other telemetry items. - */ + /** Identifier of a request call instance. Used for correlation between request and other telemetry items. */ id: string; - /** - * Name of the request. Represents code path taken to process request. Low cardinality value to allow better grouping of requests. For HTTP requests it represents the HTTP method and URL path template like 'GET /values/{id}'. - */ + /** Name of the request. Represents code path taken to process request. Low cardinality value to allow better grouping of requests. For HTTP requests it represents the HTTP method and URL path template like 'GET /values/{id}'. */ name?: string; - /** - * Request duration in format: DD.HH:MM:SS.MMMMMM. Must be less than 1000 days. - */ + /** Request duration in format: DD.HH:MM:SS.MMMMMM. Must be less than 1000 days. */ duration: string; - /** - * Indication of successful or unsuccessful call. - */ + /** Indication of successful or unsuccessful call. */ success: boolean; - /** - * Result of a request execution. HTTP status code for HTTP requests. - */ + /** Result of a request execution. HTTP status code for HTTP requests. */ responseCode: string; - /** - * Source of the request. Examples are the instrumentation key of the caller or the ip address of the caller. - */ + /** Source of the request. Examples are the instrumentation key of the caller or the ip address of the caller. */ source?: string; - /** - * Request URL with all query string parameters. - */ + /** Request URL with all query string parameters. */ url?: string; - /** - * Collection of custom properties. - */ + /** Collection of custom properties. */ properties?: { [propertyName: string]: string }; - /** - * Collection of custom measurements. - */ + /** Collection of custom measurements. */ measurements?: { [propertyName: string]: number }; }; + +/** Known values of {@link DataPointType} that the service accepts. */ +export enum KnownDataPointType { + Measurement = "Measurement", + Aggregation = "Aggregation" +} + /** - * Defines values for DataPointType. - */ -export type DataPointType = "Measurement" | "Aggregation" | string; -/** - * Defines values for SeverityLevel. - */ -export type SeverityLevel = - | "Verbose" - | "Information" - | "Warning" - | "Error" - | "Critical" - | string; -/** - * Defines values for ContextTagKeys. + * Defines values for DataPointType. \ + * {@link KnownDataPointType} can be used interchangeably with DataPointType, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Measurement** \ + * **Aggregation** */ -export type ContextTagKeys = - | "ai.application.ver" - | "ai.device.id" - | "ai.device.locale" - | "ai.device.model" - | "ai.device.oemName" - | "ai.device.osVersion" - | "ai.device.type" - | "ai.location.ip" - | "ai.location.country" - | "ai.location.province" - | "ai.location.city" - | "ai.operation.id" - | "ai.operation.name" - | "ai.operation.parentId" - | "ai.operation.syntheticSource" - | "ai.operation.correlationVector" - | "ai.session.id" - | "ai.session.isFirst" - | "ai.user.accountId" - | "ai.user.id" - | "ai.user.authUserId" - | "ai.cloud.role" - | "ai.cloud.roleVer" - | "ai.cloud.roleInstance" - | "ai.cloud.location" - | "ai.internal.sdkVersion" - | "ai.internal.agentVersion" - | "ai.internal.nodeName" - | string; +export type DataPointType = string; + +/** Known values of {@link SeverityLevel} that the service accepts. */ +export enum KnownSeverityLevel { + Verbose = "Verbose", + Information = "Information", + Warning = "Warning", + Error = "Error", + Critical = "Critical" +} /** - * Contains response data for the track operation. + * Defines values for SeverityLevel. \ + * {@link KnownSeverityLevel} can be used interchangeably with SeverityLevel, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Verbose** \ + * **Information** \ + * **Warning** \ + * **Error** \ + * **Critical** */ -export type ApplicationInsightsClientTrackResponse = TrackResponse & { - /** - * The underlying HTTP response. - */ - _response: coreHttp.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; +export type SeverityLevel = string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: TrackResponse; - }; -}; +/** Known values of {@link ContextTagKeys} that the service accepts. */ +export enum KnownContextTagKeys { + AiApplicationVer = "ai.application.ver", + AiDeviceId = "ai.device.id", + AiDeviceLocale = "ai.device.locale", + AiDeviceModel = "ai.device.model", + AiDeviceOemName = "ai.device.oemName", + AiDeviceOsVersion = "ai.device.osVersion", + AiDeviceType = "ai.device.type", + AiLocationIp = "ai.location.ip", + AiLocationCountry = "ai.location.country", + AiLocationProvince = "ai.location.province", + AiLocationCity = "ai.location.city", + AiOperationId = "ai.operation.id", + AiOperationName = "ai.operation.name", + AiOperationParentId = "ai.operation.parentId", + AiOperationSyntheticSource = "ai.operation.syntheticSource", + AiOperationCorrelationVector = "ai.operation.correlationVector", + AiSessionId = "ai.session.id", + AiSessionIsFirst = "ai.session.isFirst", + AiUserAccountId = "ai.user.accountId", + AiUserId = "ai.user.id", + AiUserAuthUserId = "ai.user.authUserId", + AiCloudRole = "ai.cloud.role", + AiCloudRoleVer = "ai.cloud.roleVer", + AiCloudRoleInstance = "ai.cloud.roleInstance", + AiCloudLocation = "ai.cloud.location", + AiInternalSdkVersion = "ai.internal.sdkVersion", + AiInternalAgentVersion = "ai.internal.agentVersion", + AiInternalNodeName = "ai.internal.nodeName" +} /** - * Optional parameters. + * Defines values for ContextTagKeys. \ + * {@link KnownContextTagKeys} can be used interchangeably with ContextTagKeys, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **ai.application.ver** \ + * **ai.device.id** \ + * **ai.device.locale** \ + * **ai.device.model** \ + * **ai.device.oemName** \ + * **ai.device.osVersion** \ + * **ai.device.type** \ + * **ai.location.ip** \ + * **ai.location.country** \ + * **ai.location.province** \ + * **ai.location.city** \ + * **ai.operation.id** \ + * **ai.operation.name** \ + * **ai.operation.parentId** \ + * **ai.operation.syntheticSource** \ + * **ai.operation.correlationVector** \ + * **ai.session.id** \ + * **ai.session.isFirst** \ + * **ai.user.accountId** \ + * **ai.user.id** \ + * **ai.user.authUserId** \ + * **ai.cloud.role** \ + * **ai.cloud.roleVer** \ + * **ai.cloud.roleInstance** \ + * **ai.cloud.location** \ + * **ai.internal.sdkVersion** \ + * **ai.internal.agentVersion** \ + * **ai.internal.nodeName** */ +export type ContextTagKeys = string; + +/** Optional parameters. */ +export interface ApplicationInsightsClientTrackOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the track operation. */ +export type ApplicationInsightsClientTrackResponse = TrackResponse; + +/** Optional parameters. */ export interface ApplicationInsightsClientOptionalParams - extends coreHttp.ServiceClientOptions { - /** - * Breeze endpoint: https://dc.services.visualstudio.com - */ + extends coreClient.ServiceClientOptions { + /** Breeze endpoint: https://dc.services.visualstudio.com */ host?: string; - /** - * Overrides client endpoint. - */ + /** Overrides client endpoint. */ endpoint?: string; } diff --git a/sdk/monitor/monitor-opentelemetry-exporter/src/generated/models/mappers.ts b/sdk/monitor/monitor-opentelemetry-exporter/src/generated/models/mappers.ts index 95b259922a1c..7c6d3bd54cd5 100644 --- a/sdk/monitor/monitor-opentelemetry-exporter/src/generated/models/mappers.ts +++ b/sdk/monitor/monitor-opentelemetry-exporter/src/generated/models/mappers.ts @@ -6,9 +6,9 @@ * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as coreHttp from "@azure/core-http"; +import * as coreClient from "@azure/core-client"; -export const TelemetryItem: coreHttp.CompositeMapper = { +export const TelemetryItem: coreClient.CompositeMapper = { type: { name: "Composite", className: "TelemetryItem", @@ -74,7 +74,7 @@ export const TelemetryItem: coreHttp.CompositeMapper = { } }; -export const MonitorBase: coreHttp.CompositeMapper = { +export const MonitorBase: coreClient.CompositeMapper = { type: { name: "Composite", className: "MonitorBase", @@ -96,7 +96,7 @@ export const MonitorBase: coreHttp.CompositeMapper = { } }; -export const MonitorDomain: coreHttp.CompositeMapper = { +export const MonitorDomain: coreClient.CompositeMapper = { type: { name: "Composite", className: "MonitorDomain", @@ -114,7 +114,7 @@ export const MonitorDomain: coreHttp.CompositeMapper = { } }; -export const TrackResponse: coreHttp.CompositeMapper = { +export const TrackResponse: coreClient.CompositeMapper = { type: { name: "Composite", className: "TrackResponse", @@ -136,7 +136,10 @@ export const TrackResponse: coreHttp.CompositeMapper = { type: { name: "Sequence", element: { - type: { name: "Composite", className: "TelemetryErrorDetails" } + type: { + name: "Composite", + className: "TelemetryErrorDetails" + } } } } @@ -144,7 +147,7 @@ export const TrackResponse: coreHttp.CompositeMapper = { } }; -export const TelemetryErrorDetails: coreHttp.CompositeMapper = { +export const TelemetryErrorDetails: coreClient.CompositeMapper = { type: { name: "Composite", className: "TelemetryErrorDetails", @@ -171,7 +174,7 @@ export const TelemetryErrorDetails: coreHttp.CompositeMapper = { } }; -export const MetricDataPoint: coreHttp.CompositeMapper = { +export const MetricDataPoint: coreClient.CompositeMapper = { type: { name: "Composite", className: "MetricDataPoint", @@ -210,24 +213,28 @@ export const MetricDataPoint: coreHttp.CompositeMapper = { }, count: { serializedName: "count", + nullable: true, type: { name: "Number" } }, min: { serializedName: "min", + nullable: true, type: { name: "Number" } }, max: { serializedName: "max", + nullable: true, type: { name: "Number" } }, stdDev: { serializedName: "stdDev", + nullable: true, type: { name: "Number" } @@ -236,7 +243,7 @@ export const MetricDataPoint: coreHttp.CompositeMapper = { } }; -export const TelemetryExceptionDetails: coreHttp.CompositeMapper = { +export const TelemetryExceptionDetails: coreClient.CompositeMapper = { type: { name: "Composite", className: "TelemetryExceptionDetails", @@ -292,14 +299,19 @@ export const TelemetryExceptionDetails: coreHttp.CompositeMapper = { serializedName: "parsedStack", type: { name: "Sequence", - element: { type: { name: "Composite", className: "StackFrame" } } + element: { + type: { + name: "Composite", + className: "StackFrame" + } + } } } } } }; -export const StackFrame: coreHttp.CompositeMapper = { +export const StackFrame: coreClient.CompositeMapper = { type: { name: "Composite", className: "StackFrame", @@ -349,7 +361,7 @@ export const StackFrame: coreHttp.CompositeMapper = { } }; -export const AvailabilityData: coreHttp.CompositeMapper = { +export const AvailabilityData: coreClient.CompositeMapper = { type: { name: "Composite", className: "AvailabilityData", @@ -426,7 +438,7 @@ export const AvailabilityData: coreHttp.CompositeMapper = { } }; -export const TelemetryEventData: coreHttp.CompositeMapper = { +export const TelemetryEventData: coreClient.CompositeMapper = { type: { name: "Composite", className: "TelemetryEventData", @@ -461,7 +473,7 @@ export const TelemetryEventData: coreHttp.CompositeMapper = { } }; -export const TelemetryExceptionData: coreHttp.CompositeMapper = { +export const TelemetryExceptionData: coreClient.CompositeMapper = { type: { name: "Composite", className: "TelemetryExceptionData", @@ -474,12 +486,16 @@ export const TelemetryExceptionData: coreHttp.CompositeMapper = { type: { name: "Sequence", element: { - type: { name: "Composite", className: "TelemetryExceptionDetails" } + type: { + name: "Composite", + className: "TelemetryExceptionDetails" + } } } }, severityLevel: { serializedName: "severityLevel", + nullable: true, type: { name: "String" } @@ -511,7 +527,7 @@ export const TelemetryExceptionData: coreHttp.CompositeMapper = { } }; -export const MessageData: coreHttp.CompositeMapper = { +export const MessageData: coreClient.CompositeMapper = { type: { name: "Composite", className: "MessageData", @@ -552,7 +568,7 @@ export const MessageData: coreHttp.CompositeMapper = { } }; -export const MetricsData: coreHttp.CompositeMapper = { +export const MetricsData: coreClient.CompositeMapper = { type: { name: "Composite", className: "MetricsData", @@ -564,7 +580,12 @@ export const MetricsData: coreHttp.CompositeMapper = { required: true, type: { name: "Sequence", - element: { type: { name: "Composite", className: "MetricDataPoint" } } + element: { + type: { + name: "Composite", + className: "MetricDataPoint" + } + } } }, properties: { @@ -578,7 +599,7 @@ export const MetricsData: coreHttp.CompositeMapper = { } }; -export const PageViewData: coreHttp.CompositeMapper = { +export const PageViewData: coreClient.CompositeMapper = { type: { name: "Composite", className: "PageViewData", @@ -647,7 +668,7 @@ export const PageViewData: coreHttp.CompositeMapper = { } }; -export const PageViewPerfData: coreHttp.CompositeMapper = { +export const PageViewPerfData: coreClient.CompositeMapper = { type: { name: "Composite", className: "PageViewPerfData", @@ -737,7 +758,7 @@ export const PageViewPerfData: coreHttp.CompositeMapper = { } }; -export const RemoteDependencyData: coreHttp.CompositeMapper = { +export const RemoteDependencyData: coreClient.CompositeMapper = { type: { name: "Composite", className: "RemoteDependencyData", @@ -831,7 +852,7 @@ export const RemoteDependencyData: coreHttp.CompositeMapper = { } }; -export const RequestData: coreHttp.CompositeMapper = { +export const RequestData: coreClient.CompositeMapper = { type: { name: "Composite", className: "RequestData", diff --git a/sdk/monitor/monitor-opentelemetry-exporter/src/generated/models/parameters.ts b/sdk/monitor/monitor-opentelemetry-exporter/src/generated/models/parameters.ts index dfb01d44ef4b..669e1458a7ab 100644 --- a/sdk/monitor/monitor-opentelemetry-exporter/src/generated/models/parameters.ts +++ b/sdk/monitor/monitor-opentelemetry-exporter/src/generated/models/parameters.ts @@ -6,7 +6,7 @@ * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import { OperationParameter, OperationURLParameter } from "@azure/core-http"; +import { OperationParameter, OperationURLParameter } from "@azure/core-client"; export const contentType: OperationParameter = { parameterPath: ["options", "contentType"], @@ -27,7 +27,12 @@ export const body: OperationParameter = { required: true, type: { name: "Sequence", - element: { type: { name: "Composite", className: "TelemetryItem" } } + element: { + type: { + name: "Composite", + className: "TelemetryItem" + } + } } } }; diff --git a/sdk/monitor/monitor-opentelemetry-exporter/src/platform/nodejs/httpSender.ts b/sdk/monitor/monitor-opentelemetry-exporter/src/platform/nodejs/httpSender.ts index f1b70cfc6d01..eeebd14ca0fa 100644 --- a/sdk/monitor/monitor-opentelemetry-exporter/src/platform/nodejs/httpSender.ts +++ b/sdk/monitor/monitor-opentelemetry-exporter/src/platform/nodejs/httpSender.ts @@ -2,11 +2,14 @@ // Licensed under the MIT license. import url from "url"; import { diag } from "@opentelemetry/api"; +import { FullOperationResponse } from "@azure/core-client"; +import { RestError } from "@azure/core-rest-pipeline"; import { Sender, SenderResult } from "../../types"; import { TelemetryItem as Envelope, ApplicationInsightsClient, - ApplicationInsightsClientOptionalParams + ApplicationInsightsClientOptionalParams, + ApplicationInsightsClientTrackOptionalParams } from "../../generated"; import { AzureExporterInternalConfig } from "../../config"; @@ -34,9 +37,29 @@ export class HttpSender implements Sender { * @internal */ async send(envelopes: Envelope[]): Promise { + let options: ApplicationInsightsClientTrackOptionalParams = {}; try { - const { _response: res } = await this._appInsightsClient.track(envelopes); - return { statusCode: res.status, result: res.bodyAsText ?? "" }; + let response: FullOperationResponse | undefined; + function onResponse(rawResponse: FullOperationResponse, flatResponse: unknown): void { + response = rawResponse; + if (options.onResponse) { + options.onResponse(rawResponse, flatResponse); + } + } + await this._appInsightsClient.track(envelopes, { + ...options, + onResponse + }); + + if (response?.status === 404) { + throw new RestError(response?.bodyAsText!, { + statusCode: response?.status, + request: response?.request, + response: response + }); + } + + return { statusCode: response?.status, result: response?.bodyAsText ?? "" }; } catch (e) { throw e; } diff --git a/sdk/monitor/monitor-opentelemetry-exporter/src/types.ts b/sdk/monitor/monitor-opentelemetry-exporter/src/types.ts index c1b4d9681d26..039d18fc4188 100644 --- a/sdk/monitor/monitor-opentelemetry-exporter/src/types.ts +++ b/sdk/monitor/monitor-opentelemetry-exporter/src/types.ts @@ -35,7 +35,7 @@ export type Measurements = { [key: string]: number }; * Exporter sender result. * @internal */ -export type SenderResult = { statusCode: number; result: string }; +export type SenderResult = { statusCode: number | undefined; result: string }; /** * Exporter sender. diff --git a/sdk/monitor/monitor-opentelemetry-exporter/swagger/README.md b/sdk/monitor/monitor-opentelemetry-exporter/swagger/README.md index 91b7f508743b..b406841d34e7 100644 --- a/sdk/monitor/monitor-opentelemetry-exporter/swagger/README.md +++ b/sdk/monitor/monitor-opentelemetry-exporter/swagger/README.md @@ -8,7 +8,7 @@ From `swagger/`: ```zsh rm -rf ../src/generated -autorest --typescript --v3 +autorest --typescript swagger/README.md ``` ## Configuration @@ -24,6 +24,6 @@ source-code-folder-path: ./src/generated input-file: https://github.com/Azure/azure-rest-api-specs/blob/e47988f3ccaa90681f11cce59c25c638ff305692/specification/applicationinsights/data-plane/Monitor.Exporters/preview/2020-09-15_Preview/swagger.json add-credentials: false use-extension: - "@autorest/typescript": "6.0.0-dev.20210121.1" + "@autorest/typescript": "6.0.0-beta.8" package-version: 1.0.0-beta.4 ``` diff --git a/sdk/monitor/monitor-opentelemetry-exporter/test/utils/basic.ts b/sdk/monitor/monitor-opentelemetry-exporter/test/utils/basic.ts index e0f3fe5e730a..692c0a2c4ba3 100644 --- a/sdk/monitor/monitor-opentelemetry-exporter/test/utils/basic.ts +++ b/sdk/monitor/monitor-opentelemetry-exporter/test/utils/basic.ts @@ -7,10 +7,13 @@ import { AzureMonitorTraceExporter } from "../../src"; import { Expectation, Scenario } from "./types"; import { msToTimeSpan } from "../../src/utils/breezeUtils"; import { SpanStatusCode } from "@opentelemetry/api"; -import { delay } from "@azure/core-http"; import { TelemetryItem as Envelope } from "../../src/generated"; import { FlushSpanProcessor } from "./flushSpanProcessor"; +function delay(t: number, value?: T): Promise { + return new Promise((resolve) => setTimeout(() => resolve(value), t)); +} + const COMMON_ENVELOPE_PARAMS: Partial = { instrumentationKey: process.env.APPINSIGHTS_INSTRUMENTATIONKEY || "ikey", sampleRate: 100 From cddb18f53d7b5ccd935ebceccc343e1bb857e46e Mon Sep 17 00:00:00 2001 From: xiao-lix Date: Thu, 22 Jul 2021 17:25:55 -0700 Subject: [PATCH 3/8] remove 307 handling --- common/config/rush/pnpm-lock.yaml | 686 +++++++++--------- .../src/export/trace.ts | 6 +- .../test/internal/trace.exporter.test.ts | 68 -- 3 files changed, 347 insertions(+), 413 deletions(-) diff --git a/common/config/rush/pnpm-lock.yaml b/common/config/rush/pnpm-lock.yaml index c97d8f34c6d7..36b8d5b1ba38 100644 --- a/common/config/rush/pnpm-lock.yaml +++ b/common/config/rush/pnpm-lock.yaml @@ -163,24 +163,24 @@ packages: dev: false resolution: integrity: sha512-RVG1Ad3Afv9gwFFmpeCXQAm+Sa0L8KEZRJJAAZEGoYDb6EoO1iQDVmoBz720h8mdrGpi0D60xNU/KhriIwuZfQ== - /@azure/communication-common/1.0.0: + /@azure/communication-common/1.1.0: dependencies: '@azure/abort-controller': 1.0.4 '@azure/core-auth': 1.3.2 - '@azure/core-http': 1.2.6 - '@opentelemetry/api': 0.10.2 + '@azure/core-http': 2.1.0 + '@azure/core-tracing': 1.0.0-preview.13 events: 3.3.0 jwt-decode: 2.2.0 tslib: 2.3.0 dev: false engines: - node: '>=8.0.0' + node: '>=12.0.0' resolution: - integrity: sha512-kBWnamOow0COBPHkkUKaQl4wVMlkOpTDFmvRRW+JN3+JIM9ca1l1wdZA3Q6XfpYdpqoI+tVICr3+3SxyF7ulxw== + integrity: sha512-vqTtzDtb4NG3LWoWoqlOOJApZRRIIImNUKlGyTa6c1YC+v5A7UEOL9TX8NRDxvFVUF2wDHsSnkhLBVBgkcAhIQ== /@azure/communication-identity/1.0.0: dependencies: '@azure/abort-controller': 1.0.4 - '@azure/communication-common': 1.0.0 + '@azure/communication-common': 1.1.0 '@azure/core-auth': 1.3.2 '@azure/core-http': 1.2.6 '@azure/core-lro': 1.0.5 @@ -221,6 +221,19 @@ packages: node: '>=12.0.0' resolution: integrity: sha512-7CU6DmCHIZp5ZPiZ9r3J17lTKMmYsm/zGvNkjArQwPkrLlZ1TZ+EUYfGgh2X31OLMVAQCTJZW4cXHJi02EbJnA== + /@azure/core-client/1.2.2: + dependencies: + '@azure/abort-controller': 1.0.4 + '@azure/core-asynciterator-polyfill': 1.0.0 + '@azure/core-auth': 1.3.2 + '@azure/core-rest-pipeline': 1.1.1 + '@azure/core-tracing': 1.0.0-preview.12 + tslib: 2.3.0 + dev: false + engines: + node: '>=12.0.0' + resolution: + integrity: sha512-VYFR2qiczjBrSfpQSbo5s8FJhXaJFz2tP01MOrpNJaOqnSNEKcY35I79b1Ty7s8qHGvc5/YMJ745l3B7abncFQ== /@azure/core-http/1.2.3: dependencies: '@azure/abort-controller': 1.0.4 @@ -228,7 +241,7 @@ packages: '@azure/core-tracing': 1.0.0-preview.9 '@azure/logger': 1.0.2 '@opentelemetry/api': 0.10.2 - '@types/node-fetch': 2.5.11 + '@types/node-fetch': 2.5.12 '@types/tunnel': 0.0.1 form-data: 3.0.1 node-fetch: 2.6.1 @@ -250,7 +263,7 @@ packages: '@azure/core-auth': 1.3.2 '@azure/core-tracing': 1.0.0-preview.11 '@azure/logger': 1.0.2 - '@types/node-fetch': 2.5.11 + '@types/node-fetch': 2.5.12 '@types/tunnel': 0.0.1 form-data: 3.0.1 node-fetch: 2.6.1 @@ -265,14 +278,14 @@ packages: node: '>=8.0.0' resolution: integrity: sha512-odtH7UMKtekc5YQ86xg9GlVHNXR6pq2JgJ5FBo7/jbOjNGdBqcrIVrZx2bevXVJz/uUTSx6vUf62gzTXTfqYSQ== - /@azure/core-http/2.0.0: + /@azure/core-http/2.1.0: dependencies: '@azure/abort-controller': 1.0.4 '@azure/core-asynciterator-polyfill': 1.0.0 '@azure/core-auth': 1.3.2 - '@azure/core-tracing': 1.0.0-preview.12 + '@azure/core-tracing': 1.0.0-preview.13 '@azure/logger': 1.0.2 - '@types/node-fetch': 2.5.11 + '@types/node-fetch': 2.5.12 '@types/tunnel': 0.0.1 form-data: 3.0.1 node-fetch: 2.6.1 @@ -286,7 +299,7 @@ packages: engines: node: '>=12.0.0' resolution: - integrity: sha512-VBOfUh0z9ZF1WVqrLCtiGWMjkKic171p6mLXRkJKu+p5wuQTb4cU3bPq7nB6UuGAK17LI7hnU0SzydlCQrBuOw== + integrity: sha512-Pzj87F4b1RH4PFDUpxkZqCdDZ35c5AjDCt3lsTn3i7yCtrXasEm6PVJYhjwsvYYmtgM7aDZIXexcu/qLLf7kyA== /@azure/core-lro/1.0.5: dependencies: '@azure/abort-controller': 1.0.4 @@ -307,6 +320,22 @@ packages: node: '>=8.0.0' resolution: integrity: sha512-his7Ah40ThEYORSpIAwuh6B8wkGwO/zG7gqVtmSE4WAJ46e36zUDXTKReUCLBDc6HmjjApQQxxcRFy5FruG79A== + /@azure/core-rest-pipeline/1.1.1: + dependencies: + '@azure/abort-controller': 1.0.4 + '@azure/core-auth': 1.3.2 + '@azure/core-tracing': 1.0.0-preview.12 + '@azure/logger': 1.0.2 + form-data: 3.0.1 + http-proxy-agent: 4.0.1 + https-proxy-agent: 5.0.0 + tslib: 2.3.0 + uuid: 8.3.2 + dev: false + engines: + node: '>=12.0.0' + resolution: + integrity: sha512-ObF8iTEDXIG7/NlL28ni9bR3XLJwgm2S3GWO4aNW6CsTCFVoY9HMdbBtN7xOB+pUQwifehifXNnootbzzuwJnw== /@azure/core-tracing/1.0.0-preview.10: dependencies: '@opencensus/web-types': 0.0.7 @@ -380,7 +409,7 @@ packages: integrity: sha512-CxaMaEjwtsmIhWtjHyGimKO7RmES0YxPqGQ9+jKqGygNlhG5NYHktDaiQu6w7k3g+I51VaLXtVSt+BVFd6VWfQ== /@azure/identity/1.2.5_debug@4.3.2: dependencies: - '@azure/core-http': 1.2.6 + '@azure/core-http': 1.2.3 '@azure/core-tracing': 1.0.0-preview.9 '@azure/logger': 1.0.2 '@azure/msal-node': 1.0.0-beta.6_debug@4.3.2 @@ -389,7 +418,7 @@ packages: axios: 0.21.1_debug@4.3.2 events: 3.3.0 jws: 4.0.0 - msal: 1.4.11 + msal: 1.4.12 open: 7.4.2 qs: 6.10.1 stoppable: 1.1.0 @@ -404,9 +433,11 @@ packages: debug: '*' resolution: integrity: sha512-Q71Buur3RMcg6lCnisLL8Im562DBw+ybzgm+YQj/FbAaI8ZNu/zl/5z1fE4k3Q9LSIzYrz6HLRzlhdSBXpydlQ== - /@azure/identity/1.4.0: + /@azure/identity/1.5.0: dependencies: - '@azure/core-http': 2.0.0 + '@azure/core-auth': 1.3.2 + '@azure/core-client': 1.2.2 + '@azure/core-rest-pipeline': 1.1.1 '@azure/core-tracing': 1.0.0-preview.12 '@azure/logger': 1.0.2 '@azure/msal-node': 1.0.0-beta.6 @@ -414,7 +445,7 @@ packages: axios: 0.21.1 events: 3.3.0 jws: 4.0.0 - msal: 1.4.11 + msal: 1.4.12 open: 7.4.2 qs: 6.10.1 stoppable: 1.1.0 @@ -426,10 +457,12 @@ packages: optionalDependencies: keytar: 7.7.0 resolution: - integrity: sha512-nusX+L1qrCuQbRWQqPcgUCj07EvDVOgPVMnNS/cVtH8lfaGjWU6vdDJ49gROruh1jNjjZC0qpJBaM7OsK84zkw== - /@azure/identity/1.4.0_debug@4.3.2: + integrity: sha512-djgywuWtX6720seqNOPmGM1hY54oHnjRT0MLIOzacMARTZuEtAIaFFvMPBlUIMQdtSGhdjH+/MS1/9PE8j83eA== + /@azure/identity/1.5.0_debug@4.3.2: dependencies: - '@azure/core-http': 2.0.0 + '@azure/core-auth': 1.3.2 + '@azure/core-client': 1.2.2 + '@azure/core-rest-pipeline': 1.1.1 '@azure/core-tracing': 1.0.0-preview.12 '@azure/logger': 1.0.2 '@azure/msal-node': 1.0.0-beta.6_debug@4.3.2 @@ -437,7 +470,7 @@ packages: axios: 0.21.1_debug@4.3.2 events: 3.3.0 jws: 4.0.0 - msal: 1.4.11 + msal: 1.4.12 open: 7.4.2 qs: 6.10.1 stoppable: 1.1.0 @@ -451,17 +484,17 @@ packages: peerDependencies: debug: '*' resolution: - integrity: sha512-nusX+L1qrCuQbRWQqPcgUCj07EvDVOgPVMnNS/cVtH8lfaGjWU6vdDJ49gROruh1jNjjZC0qpJBaM7OsK84zkw== + integrity: sha512-djgywuWtX6720seqNOPmGM1hY54oHnjRT0MLIOzacMARTZuEtAIaFFvMPBlUIMQdtSGhdjH+/MS1/9PE8j83eA== /@azure/identity/2.0.0-beta.4: dependencies: '@azure/abort-controller': 1.0.4 '@azure/core-auth': 1.3.2 - '@azure/core-http': 2.0.0 + '@azure/core-http': 2.1.0 '@azure/core-tracing': 1.0.0-preview.12 '@azure/logger': 1.0.2 - '@azure/msal-browser': 2.15.0 - '@azure/msal-common': 4.4.0 - '@azure/msal-node': 1.2.0 + '@azure/msal-browser': 2.16.0 + '@azure/msal-common': 4.5.0 + '@azure/msal-node': 1.3.0 '@types/stoppable': 1.1.1 events: 3.3.0 jws: 4.0.0 @@ -479,12 +512,12 @@ packages: dependencies: '@azure/abort-controller': 1.0.4 '@azure/core-auth': 1.3.2 - '@azure/core-http': 2.0.0 + '@azure/core-http': 2.1.0 '@azure/core-tracing': 1.0.0-preview.12 '@azure/logger': 1.0.2 - '@azure/msal-browser': 2.15.0 - '@azure/msal-common': 4.4.0 - '@azure/msal-node': 1.2.0_debug@4.3.2 + '@azure/msal-browser': 2.16.0 + '@azure/msal-common': 4.5.0 + '@azure/msal-node': 1.3.0_debug@4.3.2 '@types/stoppable': 1.1.1 events: 3.3.0 jws: 4.0.0 @@ -594,7 +627,7 @@ packages: debug: '*' resolution: integrity: sha512-2AyQ1IKmLGKW7DU3/x3TsTBzZLcbC9YRI+yuDPuXAQrv3zar340K9wsxU413kHFIDjkWNCo9T0w5VtwcyWxhbQ== - /@azure/ms-rest-js/2.5.2: + /@azure/ms-rest-js/2.5.3: dependencies: '@azure/core-auth': 1.3.2 abort-controller: 3.0.0 @@ -603,11 +636,11 @@ packages: tough-cookie: 3.0.1 tslib: 1.14.1 tunnel: 0.0.6 - uuid: 3.4.0 + uuid: 8.3.2 xml2js: 0.4.23 dev: false resolution: - integrity: sha512-9nCuuoYwHZEZw1t0MVtENH+c1k2R4maYAlBBDSZhZu6bEucyfYUUigNXXKjt2cFBt4sO+sTzi0uI0f/fiPFr+Q== + integrity: sha512-OZ7qJwazS2nSRtZOA6+0k7x+RJ9D2P0IyUl9iHycyjgtQlINALNRutGqQeBirhIEx2IRQs9TMnnxoh/yRkFEAw== /@azure/ms-rest-nodeauth/0.9.3_debug@3.2.7: dependencies: '@azure/ms-rest-azure-env': 1.1.2 @@ -631,19 +664,19 @@ packages: /@azure/ms-rest-nodeauth/3.0.10: dependencies: '@azure/ms-rest-azure-env': 2.0.0 - '@azure/ms-rest-js': 2.5.2 + '@azure/ms-rest-js': 2.5.3 adal-node: 0.2.2 dev: false resolution: integrity: sha512-oel7ibYlredh2wo7XwNYMx4jWlbMkIzCC8t8VpdhsAWDJVNSSce+DYj5jjZn1oED+QsCytVM2B7/QTuLN1/yDw== - /@azure/msal-browser/2.15.0: + /@azure/msal-browser/2.16.0: dependencies: - '@azure/msal-common': 4.4.0 + '@azure/msal-common': 4.5.0 dev: false engines: node: '>=0.8.0' resolution: - integrity: sha512-Du0BHQiDQgkqg6OoKovUZWdEIZbTnhh/lma7QLyi5jFKDekk78wXsFIOJLUcFoY97+ZhB+Y2WQOYT1DJphAdCg== + integrity: sha512-Q8Ala9cdA1cq5qEjFCezcwPfAlaTgdKkKx7vS7IJAJUlMnygtcbaBPMOeSostrve5sjLprouFaXCziZKYerr+Q== /@azure/msal-common/1.7.2: dependencies: debug: 4.3.2 @@ -652,14 +685,14 @@ packages: node: '>=0.8.0' resolution: integrity: sha512-3/voCdFKONENX+5tMrNOBSrVJb6NbE7YB8vc4FZ/4ZbjpK7GVtq9Bu1MW+HZhrmsUzSF/joHx0ZIJDYIequ/jg== - /@azure/msal-common/4.4.0: + /@azure/msal-common/4.5.0: dependencies: debug: 4.3.2 dev: false engines: node: '>=0.8.0' resolution: - integrity: sha512-Qrs33Ctt2KM7NxArFPIUKc8UbIcm7zYxJFdJeQ9k7HKBhVk3e88CUz1Mw33cS/Jr+YA1H02OAzHg++bJ+4SFyQ== + integrity: sha512-eXI3GamyjU29Mttn+5mWU47Su4DtgAZF6xmIrnIq271dz6VKJDBmU1dEbUUYqZeVSzxdcraX7BR85kKof11Tig== /@azure/msal-node-extensions/1.0.0-alpha.7: dependencies: '@azure/msal-common': 1.7.2 @@ -674,7 +707,7 @@ packages: integrity: sha512-fz+4sTFCnpFDYrJ/FrJ3bx3atUEQ5sUhsZYohUyC9yACxII9kn908hBsxl+xeuzheTN/bq45EZureMioSEogNw== /@azure/msal-node/1.0.0-beta.6: dependencies: - '@azure/msal-common': 4.4.0 + '@azure/msal-common': 4.5.0 axios: 0.21.1 jsonwebtoken: 8.5.1 uuid: 8.3.2 @@ -683,7 +716,7 @@ packages: integrity: sha512-ZQI11Uz1j0HJohb9JZLRD8z0moVcPks1AFW4Q/Gcl67+QvH4aKEJti7fjCcipEEZYb/qzLSO8U6IZgPYytsiJQ== /@azure/msal-node/1.0.0-beta.6_debug@4.3.2: dependencies: - '@azure/msal-common': 4.4.0 + '@azure/msal-common': 4.5.0 axios: 0.21.1_debug@4.3.2 jsonwebtoken: 8.5.1 uuid: 8.3.2 @@ -692,9 +725,9 @@ packages: debug: '*' resolution: integrity: sha512-ZQI11Uz1j0HJohb9JZLRD8z0moVcPks1AFW4Q/Gcl67+QvH4aKEJti7fjCcipEEZYb/qzLSO8U6IZgPYytsiJQ== - /@azure/msal-node/1.2.0: + /@azure/msal-node/1.3.0: dependencies: - '@azure/msal-common': 4.4.0 + '@azure/msal-common': 4.5.0 axios: 0.21.1 jsonwebtoken: 8.5.1 uuid: 8.3.2 @@ -702,10 +735,10 @@ packages: engines: node: 10 || 12 || 14 || 16 resolution: - integrity: sha512-79o5n483vslc7Qegh9+0BsxODRmlk6YYjVdl9jvwmAuF+i+oylq57e7RVhTVocKCbLCIMOKARI14JyKdDbW0WA== - /@azure/msal-node/1.2.0_debug@4.3.2: + integrity: sha512-BM5S5sMB6N0aPux4l85NnRNO/5/G+w3oT+JtLbMDBsc/aUxLVYoWMmxVECrYzlQRm5QZzFWRo04Rv5AnAF7z2g== + /@azure/msal-node/1.3.0_debug@4.3.2: dependencies: - '@azure/msal-common': 4.4.0 + '@azure/msal-common': 4.5.0 axios: 0.21.1_debug@4.3.2 jsonwebtoken: 8.5.1 uuid: 8.3.2 @@ -715,7 +748,7 @@ packages: peerDependencies: debug: '*' resolution: - integrity: sha512-79o5n483vslc7Qegh9+0BsxODRmlk6YYjVdl9jvwmAuF+i+oylq57e7RVhTVocKCbLCIMOKARI14JyKdDbW0WA== + integrity: sha512-BM5S5sMB6N0aPux4l85NnRNO/5/G+w3oT+JtLbMDBsc/aUxLVYoWMmxVECrYzlQRm5QZzFWRo04Rv5AnAF7z2g== /@babel/code-frame/7.12.11: dependencies: '@babel/highlight': 7.14.5 @@ -736,17 +769,17 @@ packages: node: '>=6.9.0' resolution: integrity: sha512-nS6dZaISCXJ3+518CWiBfEr//gHyMO02uDxBkXTKZDN5POruCnOZ1N4YBRZDCabwF8nZMWBpRxIicmXtBs+fvw== - /@babel/core/7.14.6: + /@babel/core/7.14.8: dependencies: '@babel/code-frame': 7.14.5 - '@babel/generator': 7.14.5 - '@babel/helper-compilation-targets': 7.14.5_@babel+core@7.14.6 - '@babel/helper-module-transforms': 7.14.5 - '@babel/helpers': 7.14.6 - '@babel/parser': 7.14.7 + '@babel/generator': 7.14.8 + '@babel/helper-compilation-targets': 7.14.5_@babel+core@7.14.8 + '@babel/helper-module-transforms': 7.14.8 + '@babel/helpers': 7.14.8 + '@babel/parser': 7.14.8 '@babel/template': 7.14.5 - '@babel/traverse': 7.14.7 - '@babel/types': 7.14.5 + '@babel/traverse': 7.14.8 + '@babel/types': 7.14.8 convert-source-map: 1.8.0 debug: 4.3.2 gensync: 1.0.0-beta.2 @@ -757,21 +790,21 @@ packages: engines: node: '>=6.9.0' resolution: - integrity: sha512-gJnOEWSqTk96qG5BoIrl5bVtc23DCycmIePPYnamY9RboYdI4nFy5vAQMSl81O5K/W0sLDWfGysnOECC+KUUCA== - /@babel/generator/7.14.5: + integrity: sha512-/AtaeEhT6ErpDhInbXmjHcUQXH0L0TEgscfcxk1qbOvLuKCa5aZT0SOOtDKFY96/CLROwbLSKyFor6idgNaU4Q== + /@babel/generator/7.14.8: dependencies: - '@babel/types': 7.14.5 + '@babel/types': 7.14.8 jsesc: 2.5.2 source-map: 0.5.7 dev: false engines: node: '>=6.9.0' resolution: - integrity: sha512-y3rlP+/G25OIX3mYKKIOlQRcqj7YgrvHxOLbVmyLJ9bPmi5ttvUmpydVjcFjZphOktWuA7ovbx91ECloWTfjIA== - /@babel/helper-compilation-targets/7.14.5_@babel+core@7.14.6: + integrity: sha512-cYDUpvIzhBVnMzRoY1fkSEhK/HmwEVwlyULYgn/tMQYd6Obag3ylCjONle3gdErfXBW61SVTlR9QR7uWlgeIkg== + /@babel/helper-compilation-targets/7.14.5_@babel+core@7.14.8: dependencies: '@babel/compat-data': 7.14.7 - '@babel/core': 7.14.6 + '@babel/core': 7.14.8 '@babel/helper-validator-option': 7.14.5 browserslist: 4.16.6 semver: 6.3.0 @@ -786,7 +819,7 @@ packages: dependencies: '@babel/helper-get-function-arity': 7.14.5 '@babel/template': 7.14.5 - '@babel/types': 7.14.5 + '@babel/types': 7.14.8 dev: false engines: node: '>=6.9.0' @@ -794,7 +827,7 @@ packages: integrity: sha512-Gjna0AsXWfFvrAuX+VKcN/aNNWonizBj39yGwUzVDVTlMYJMK2Wp6xdpy72mfArFq5uK+NOuexfzZlzI1z9+AQ== /@babel/helper-get-function-arity/7.14.5: dependencies: - '@babel/types': 7.14.5 + '@babel/types': 7.14.8 dev: false engines: node: '>=6.9.0' @@ -802,7 +835,7 @@ packages: integrity: sha512-I1Db4Shst5lewOM4V+ZKJzQ0JGGaZ6VY1jYvMghRjqs6DWgxLCIyFt30GlnKkfUeFLpJt2vzbMVEXVSXlIFYUg== /@babel/helper-hoist-variables/7.14.5: dependencies: - '@babel/types': 7.14.5 + '@babel/types': 7.14.8 dev: false engines: node: '>=6.9.0' @@ -810,7 +843,7 @@ packages: integrity: sha512-R1PXiz31Uc0Vxy4OEOm07x0oSjKAdPPCh3tPivn/Eo8cvz6gveAeuyUUPB21Hoiif0uoPQSSdhIPS3352nvdyQ== /@babel/helper-member-expression-to-functions/7.14.7: dependencies: - '@babel/types': 7.14.5 + '@babel/types': 7.14.8 dev: false engines: node: '>=6.9.0' @@ -818,30 +851,30 @@ packages: integrity: sha512-TMUt4xKxJn6ccjcOW7c4hlwyJArizskAhoSTOCkA0uZ+KghIaci0Qg9R043kUMWI9mtQfgny+NQ5QATnZ+paaA== /@babel/helper-module-imports/7.14.5: dependencies: - '@babel/types': 7.14.5 + '@babel/types': 7.14.8 dev: false engines: node: '>=6.9.0' resolution: integrity: sha512-SwrNHu5QWS84XlHwGYPDtCxcA0hrSlL2yhWYLgeOc0w7ccOl2qv4s/nARI0aYZW+bSwAL5CukeXA47B/1NKcnQ== - /@babel/helper-module-transforms/7.14.5: + /@babel/helper-module-transforms/7.14.8: dependencies: '@babel/helper-module-imports': 7.14.5 '@babel/helper-replace-supers': 7.14.5 - '@babel/helper-simple-access': 7.14.5 + '@babel/helper-simple-access': 7.14.8 '@babel/helper-split-export-declaration': 7.14.5 - '@babel/helper-validator-identifier': 7.14.5 + '@babel/helper-validator-identifier': 7.14.8 '@babel/template': 7.14.5 - '@babel/traverse': 7.14.7 - '@babel/types': 7.14.5 + '@babel/traverse': 7.14.8 + '@babel/types': 7.14.8 dev: false engines: node: '>=6.9.0' resolution: - integrity: sha512-iXpX4KW8LVODuAieD7MzhNjmM6dzYY5tfRqT+R9HDXWl0jPn/djKmA+G9s/2C2T9zggw5tK1QNqZ70USfedOwA== + integrity: sha512-RyE+NFOjXn5A9YU1dkpeBaduagTlZ0+fccnIcAGbv1KGUlReBj7utF7oEth8IdIBQPcux0DDgW5MFBH2xu9KcA== /@babel/helper-optimise-call-expression/7.14.5: dependencies: - '@babel/types': 7.14.5 + '@babel/types': 7.14.8 dev: false engines: node: '>=6.9.0' @@ -851,54 +884,54 @@ packages: dependencies: '@babel/helper-member-expression-to-functions': 7.14.7 '@babel/helper-optimise-call-expression': 7.14.5 - '@babel/traverse': 7.14.7 - '@babel/types': 7.14.5 + '@babel/traverse': 7.14.8 + '@babel/types': 7.14.8 dev: false engines: node: '>=6.9.0' resolution: integrity: sha512-3i1Qe9/8x/hCHINujn+iuHy+mMRLoc77b2nI9TB0zjH1hvn9qGlXjWlggdwUcju36PkPCy/lpM7LLUdcTyH4Ow== - /@babel/helper-simple-access/7.14.5: + /@babel/helper-simple-access/7.14.8: dependencies: - '@babel/types': 7.14.5 + '@babel/types': 7.14.8 dev: false engines: node: '>=6.9.0' resolution: - integrity: sha512-nfBN9xvmCt6nrMZjfhkl7i0oTV3yxR4/FztsbOASyTvVcoYd0TRHh7eMLdlEcCqobydC0LAF3LtC92Iwxo0wyw== + integrity: sha512-TrFN4RHh9gnWEU+s7JloIho2T76GPwRHhdzOWLqTrMnlas8T9O7ec+oEDNsRXndOmru9ymH9DFrEOxpzPoSbdg== /@babel/helper-split-export-declaration/7.14.5: dependencies: - '@babel/types': 7.14.5 + '@babel/types': 7.14.8 dev: false engines: node: '>=6.9.0' resolution: integrity: sha512-hprxVPu6e5Kdp2puZUmvOGjaLv9TCe58E/Fl6hRq4YiVQxIcNvuq6uTM2r1mT/oPskuS9CgR+I94sqAYv0NGKA== - /@babel/helper-validator-identifier/7.14.5: + /@babel/helper-validator-identifier/7.14.8: dev: false engines: node: '>=6.9.0' resolution: - integrity: sha512-5lsetuxCLilmVGyiLEfoHBRX8UCFD+1m2x3Rj97WrW3V7H3u4RWRXA4evMjImCsin2J2YT0QaVDGf+z8ondbAg== + integrity: sha512-ZGy6/XQjllhYQrNw/3zfWRwZCTVSiBLZ9DHVZxn9n2gip/7ab8mv2TWlKPIBk26RwedCBoWdjLmn+t9na2Gcow== /@babel/helper-validator-option/7.14.5: dev: false engines: node: '>=6.9.0' resolution: integrity: sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow== - /@babel/helpers/7.14.6: + /@babel/helpers/7.14.8: dependencies: '@babel/template': 7.14.5 - '@babel/traverse': 7.14.7 - '@babel/types': 7.14.5 + '@babel/traverse': 7.14.8 + '@babel/types': 7.14.8 dev: false engines: node: '>=6.9.0' resolution: - integrity: sha512-yesp1ENQBiLI+iYHSJdoZKUtRpfTlL1grDIX9NRlAVppljLw/4tTyYupIB7uIYmC3stW/imAv8EqaKaS/ibmeA== + integrity: sha512-ZRDmI56pnV+p1dH6d+UN6GINGz7Krps3+270qqI9UJ4wxYThfAIcI5i7j5vXC4FJ3Wap+S9qcebxeYiqn87DZw== /@babel/highlight/7.14.5: dependencies: - '@babel/helper-validator-identifier': 7.14.5 + '@babel/helper-validator-identifier': 7.14.8 chalk: 2.4.2 js-tokens: 4.0.0 dev: false @@ -906,56 +939,56 @@ packages: node: '>=6.9.0' resolution: integrity: sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg== - /@babel/parser/7.14.7: + /@babel/parser/7.14.8: dev: false engines: node: '>=6.0.0' hasBin: true resolution: - integrity: sha512-X67Z5y+VBJuHB/RjwECp8kSl5uYi0BvRbNeWqkaJCVh+LiTPl19WBUfG627psSgp9rSf6ojuXghQM3ha6qHHdA== - /@babel/runtime/7.14.6: + integrity: sha512-syoCQFOoo/fzkWDeM0dLEZi5xqurb5vuyzwIMNZRNun+N/9A4cUZeQaE7dTrB8jGaKuJRBtEOajtnmw0I5hvvA== + /@babel/runtime/7.14.8: dependencies: - regenerator-runtime: 0.13.7 + regenerator-runtime: 0.13.9 dev: false engines: node: '>=6.9.0' resolution: - integrity: sha512-/PCB2uJ7oM44tz8YhC4Z/6PeOKXp4K588f+5M3clr1M4zbqztlo0XEfJ2LEzj/FgwfgGcIdl8n7YYjTCI0BYwg== + integrity: sha512-twj3L8Og5SaCRCErB4x4ajbvBIVV77CGeFglHpeg5WC5FF8TZzBWXtTJ4MqaD9QszLYTtr+IsaAL2rEUevb+eg== /@babel/template/7.14.5: dependencies: '@babel/code-frame': 7.14.5 - '@babel/parser': 7.14.7 - '@babel/types': 7.14.5 + '@babel/parser': 7.14.8 + '@babel/types': 7.14.8 dev: false engines: node: '>=6.9.0' resolution: integrity: sha512-6Z3Po85sfxRGachLULUhOmvAaOo7xCvqGQtxINai2mEGPFm6pQ4z5QInFnUrRpfoSV60BnjyF5F3c+15fxFV1g== - /@babel/traverse/7.14.7: + /@babel/traverse/7.14.8: dependencies: '@babel/code-frame': 7.14.5 - '@babel/generator': 7.14.5 + '@babel/generator': 7.14.8 '@babel/helper-function-name': 7.14.5 '@babel/helper-hoist-variables': 7.14.5 '@babel/helper-split-export-declaration': 7.14.5 - '@babel/parser': 7.14.7 - '@babel/types': 7.14.5 + '@babel/parser': 7.14.8 + '@babel/types': 7.14.8 debug: 4.3.2 globals: 11.12.0 dev: false engines: node: '>=6.9.0' resolution: - integrity: sha512-9vDr5NzHu27wgwejuKL7kIOm4bwEtaPQ4Z6cpCmjSuaRqpH/7xc4qcGEscwMqlkwgcXl6MvqoAjZkQ24uSdIZQ== - /@babel/types/7.14.5: + integrity: sha512-kexHhzCljJcFNn1KYAQ6A5wxMRzq9ebYpEDV4+WdNyr3i7O44tanbDOR/xjiG2F3sllan+LgwK+7OMk0EmydHg== + /@babel/types/7.14.8: dependencies: - '@babel/helper-validator-identifier': 7.14.5 + '@babel/helper-validator-identifier': 7.14.8 to-fast-properties: 2.0.0 dev: false engines: node: '>=6.9.0' resolution: - integrity: sha512-M/NzBpEL95I5Hh4dwhin5JlE7EzO5PHMAuzjxss3tiOBD46KfQvVedN/3jEPZvdRvtsK2222XfdHogNIttFgcg== + integrity: sha512-iob4soQa7dZw8nodR/KlOQkPh9S4I8RwCxwRIFuiMRYjOzH/KJzdUfDgz6cGi5dDaclXF4P2PAhCdrBJNIg68Q== /@bahmutov/data-driven/1.0.0: dependencies: check-more-types: 2.24.0 @@ -965,7 +998,7 @@ packages: node: '>=6' resolution: integrity: sha512-YqW3hPS0RXriqjcCrLOTJj+LWe3c8JpwlL83k1ka1Q8U05ZjAKbGQZYeTzUd0NFEnnfPtsUiKGpFEBJG6kFuvg== - /@eslint/eslintrc/0.4.2: + /@eslint/eslintrc/0.4.3: dependencies: ajv: 6.12.6 debug: 4.3.2 @@ -980,7 +1013,7 @@ packages: engines: node: ^10.12.0 || >=12.0.0 resolution: - integrity: sha512-8nmGq/4ycLpIwzvhI4tNDmQztZ8sp+hI7cyG8i1nQDhkAbRzHpXPidRAHlNvCZQpJTKw5ItIpMw9RSToGF00mg== + integrity: sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw== /@humanwhocodes/config-array/0.5.0: dependencies: '@humanwhocodes/object-schema': 1.2.0 @@ -1597,13 +1630,13 @@ packages: dev: false resolution: integrity: sha512-DPxmjiDwubsNmguG5X4fEJ+XCyzWM3GXWsqQlvUcjJKa91IOoJUy51meDr0GkzK64qqNcq85ymLlyjoct9tInw== - /@types/node-fetch/2.5.11: + /@types/node-fetch/2.5.12: dependencies: '@types/node': 12.20.16 form-data: 3.0.1 dev: false resolution: - integrity: sha512-2upCKaqVZETDRb8A2VTaRymqFBEgH8u6yr96b/u3+1uQEPDRo3mJLEiPk7vdXBHRtjwkjqzFYMJXrt0Z9QsYjQ== + integrity: sha512-MKgC4dlq4kKNa/mYrwpKfzQMB5X3ee5U6fSprkKpToBqBmX4nFZL9cW5jl6sWn+xpRJ7ypWh2yyqqr8UUCstSw== /@types/node/10.17.13: dev: false resolution: @@ -1687,12 +1720,12 @@ packages: dev: false resolution: integrity: sha512-Y2mHTRAbqfFkpjldbkHGY8JIzRN6XqYRliG8/24FcHm2D2PwW24fl5xMRTVGdrb7iMrwCaIEbLWerGIkXuFWVg== - /@types/ws/7.4.6: + /@types/ws/7.4.7: dependencies: '@types/node': 12.20.16 dev: false resolution: - integrity: sha512-ijZ1vzRawI7QoWnTNL8KpHixd2b2XVb9I9HAqI3triPsh1EC0xH0Eg6w2O3TKbDCgiNNlJqfrof6j4T2I+l9vw== + integrity: sha512-JQbbmxZTZehdc2iszGKs5oC3NFnjeay7mtAWrdt7qNtAVK0g19muApzAy4bm9byz79xa2ZnO/BOBC2R8RC5Lww== /@types/xml2js/0.4.9: dependencies: '@types/node': 12.20.16 @@ -1706,13 +1739,13 @@ packages: optional: true resolution: integrity: sha512-8uALY5LTvSuHgloDVUvWP3pIauILm+8/0pDMokuDYIoNsOkSwd5AiHBTSEJjKTDcZr5z8UpgOWZkxBF4iJftoA== - /@typescript-eslint/eslint-plugin/4.19.0_1428636775fa8b76297f145f2a9709f8: + /@typescript-eslint/eslint-plugin/4.19.0_d7723982da0ce5a2c0734c14de26c19d: dependencies: - '@typescript-eslint/experimental-utils': 4.19.0_eslint@7.30.0+typescript@4.2.4 - '@typescript-eslint/parser': 4.19.0_eslint@7.30.0+typescript@4.2.4 + '@typescript-eslint/experimental-utils': 4.19.0_eslint@7.31.0+typescript@4.2.4 + '@typescript-eslint/parser': 4.19.0_eslint@7.31.0+typescript@4.2.4 '@typescript-eslint/scope-manager': 4.19.0 debug: 4.3.2 - eslint: 7.30.0 + eslint: 7.31.0 functional-red-black-tree: 1.0.1 lodash: 4.17.21 regexpp: 3.2.0 @@ -1731,13 +1764,13 @@ packages: optional: true resolution: integrity: sha512-CRQNQ0mC2Pa7VLwKFbrGVTArfdVDdefS+gTw0oC98vSI98IX5A8EVH4BzJ2FOB0YlCmm8Im36Elad/Jgtvveaw== - /@typescript-eslint/experimental-utils/4.19.0_eslint@7.30.0+typescript@4.2.4: + /@typescript-eslint/experimental-utils/4.19.0_eslint@7.31.0+typescript@4.2.4: dependencies: '@types/json-schema': 7.0.8 '@typescript-eslint/scope-manager': 4.19.0 '@typescript-eslint/types': 4.19.0 '@typescript-eslint/typescript-estree': 4.19.0_typescript@4.2.4 - eslint: 7.30.0 + eslint: 7.31.0 eslint-scope: 5.1.1 eslint-utils: 2.1.0 dev: false @@ -1748,13 +1781,13 @@ packages: typescript: '*' resolution: integrity: sha512-9/23F1nnyzbHKuoTqFN1iXwN3bvOm/PRIXSBR3qFAYotK/0LveEOHr5JT1WZSzcD6BESl8kPOG3OoDRKO84bHA== - /@typescript-eslint/parser/4.19.0_eslint@7.30.0+typescript@4.2.4: + /@typescript-eslint/parser/4.19.0_eslint@7.31.0+typescript@4.2.4: dependencies: '@typescript-eslint/scope-manager': 4.19.0 '@typescript-eslint/types': 4.19.0 '@typescript-eslint/typescript-estree': 4.19.0_typescript@4.2.4 debug: 4.3.2 - eslint: 7.30.0 + eslint: 7.31.0 typescript: 4.2.4 dev: false engines: @@ -1898,7 +1931,7 @@ packages: dev: false resolution: integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== - /ajv/8.6.1: + /ajv/8.6.2: dependencies: fast-deep-equal: 3.1.3 json-schema-traverse: 1.0.0 @@ -1906,7 +1939,7 @@ packages: uri-js: 4.4.1 dev: false resolution: - integrity: sha512-42VLtQUOLefAvKFAQIxIZDaThq6om/PrfP0CYk3/vn+y4BMNkKnbli8ON2QCiHov4KkzOSJ/xSoBJdayiiYvVQ== + integrity: sha512-9807RlWAgT564wT+DjeyU5OFMPjmzxVobvDFmNAhY+5zD6A2ly3jDp6sgnfyDtlIQ+7H97oc/DGCzzfu9rjw9w== /ansi-colors/3.2.3: dev: false engines: @@ -2201,7 +2234,7 @@ packages: dependencies: '@azure/core-http': 1.2.3 '@azure/identity': 1.2.5_debug@4.3.2 - '@azure/ms-rest-js': 2.5.2 + '@azure/ms-rest-js': 2.5.3 async: 2.6.3 azure-iot-amqp-base: 2.4.9 azure-iot-common: 1.12.9 @@ -2335,9 +2368,9 @@ packages: integrity: sha1-rrGvKN5sDXpqLOQK22j/GEIq8x8= /browserslist/4.16.6: dependencies: - caniuse-lite: 1.0.30001243 + caniuse-lite: 1.0.30001246 colorette: 1.2.2 - electron-to-chromium: 1.3.772 + electron-to-chromium: 1.3.785 escalade: 3.1.1 node-releases: 1.1.73 dev: false @@ -2419,10 +2452,10 @@ packages: node: '>=6' resolution: integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== - /caniuse-lite/1.0.30001243: + /caniuse-lite/1.0.30001246: dev: false resolution: - integrity: sha512-vNxw9mkTBtkmLFnJRv/2rhs1yufpDfCkBZexG3Y0xdOH2Z/eE/85E4Dl5j1YUN34nZVsSp6vVRFQRrez9wJMRA== + integrity: sha512-Tc+ff0Co/nFNbLOrziBXmMVtpt9S2c2Y+Z9Nk9Khj09J+0zR9ejvIW5qkZAErCbOrVODCx/MN+GpB5FNBs5GFA== /caseless/0.12.0: dev: false resolution: @@ -2835,7 +2868,7 @@ packages: integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== /debug/3.2.6: dependencies: - ms: 2.1.3 + ms: 2.1.1 deprecated: Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797) dev: false resolution: @@ -3084,10 +3117,10 @@ packages: dev: false resolution: integrity: sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0= - /electron-to-chromium/1.3.772: + /electron-to-chromium/1.3.785: dev: false resolution: - integrity: sha512-X/6VRCXWALzdX+RjCtBU6cyg8WZgoxm9YA02COmDOiNJEZ59WkQggDbWZ4t/giHi/3GS+cvdrP6gbLISANAGYA== + integrity: sha512-WmCgAeURsMFiyoJ646eUaJQ7GNfvMRLXo+GamUyKVNEM4MqTAsXyC0f38JEB4N3BtbD0tlAKozGP5E2T9K3YGg== /emoji-regex/7.0.3: dev: false resolution: @@ -3160,7 +3193,7 @@ packages: is-negative-zero: 2.0.1 is-regex: 1.1.3 is-string: 1.0.6 - object-inspect: 1.10.3 + object-inspect: 1.11.0 object-keys: 1.1.1 object.assign: 4.1.2 string.prototype.trimend: 1.0.4 @@ -3231,9 +3264,9 @@ packages: source-map: 0.6.1 resolution: integrity: sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw== - /eslint-config-prettier/7.2.0_eslint@7.30.0: + /eslint-config-prettier/7.2.0_eslint@7.31.0: dependencies: - eslint: 7.30.0 + eslint: 7.31.0 dev: false hasBin: true peerDependencies: @@ -3256,9 +3289,9 @@ packages: node: '>=4' resolution: integrity: sha512-ZXI9B8cxAJIH4nfkhTwcRTEAnrVfobYqwjWy/QMCZ8rHkZHFjf9yO4BzpiF9kCSfNlMG54eKigISHpX0+AaT4A== - /eslint-plugin-es/3.0.1_eslint@7.30.0: + /eslint-plugin-es/3.0.1_eslint@7.31.0: dependencies: - eslint: 7.30.0 + eslint: 7.31.0 eslint-utils: 2.1.0 regexpp: 3.2.0 dev: false @@ -3268,18 +3301,18 @@ packages: eslint: '>=4.19.1' resolution: integrity: sha512-GUmAsJaN4Fc7Gbtl8uOBlayo2DqhwWvEzykMHSCZHU3XdJ+NSzzZcVhXh3VxX5icqQ+oQdIEawXX8xkR3mIFmQ== - /eslint-plugin-import/2.23.4_eslint@7.30.0: + /eslint-plugin-import/2.23.4_eslint@7.31.0: dependencies: array-includes: 3.1.3 array.prototype.flat: 1.2.4 debug: 2.6.9 doctrine: 2.1.0 - eslint: 7.30.0 + eslint: 7.31.0 eslint-import-resolver-node: 0.3.4 eslint-module-utils: 2.6.1 find-up: 2.1.0 has: 1.0.3 - is-core-module: 2.4.0 + is-core-module: 2.5.0 minimatch: 3.0.4 object.values: 1.1.4 pkg-up: 2.0.0 @@ -3299,10 +3332,10 @@ packages: node: '>=4.0.0' resolution: integrity: sha512-T9SmE/g6UV1uZo1oHAqOvL86XWl7Pl2EpRpnLI8g/bkJu+h7XBCB+1LnubRZ2CUQXj805vh4/CYZdnqtVaEo2Q== - /eslint-plugin-node/11.1.0_eslint@7.30.0: + /eslint-plugin-node/11.1.0_eslint@7.31.0: dependencies: - eslint: 7.30.0 - eslint-plugin-es: 3.0.1_eslint@7.30.0 + eslint: 7.31.0 + eslint-plugin-es: 3.0.1_eslint@7.31.0 eslint-utils: 2.1.0 ignore: 5.1.8 minimatch: 3.0.4 @@ -3357,10 +3390,10 @@ packages: node: '>=10' resolution: integrity: sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== - /eslint/7.30.0: + /eslint/7.31.0: dependencies: '@babel/code-frame': 7.12.11 - '@eslint/eslintrc': 0.4.2 + '@eslint/eslintrc': 0.4.3 '@humanwhocodes/config-array': 0.5.0 ajv: 6.12.6 chalk: 4.1.1 @@ -3404,7 +3437,7 @@ packages: node: ^10.12.0 || >=12.0.0 hasBin: true resolution: - integrity: sha512-VLqz80i3as3NdloY44BQSJpFw534L9Oh+6zJOUaViV4JPd+DaHwutqP7tcpkW3YiXbK6s05RZl7yl7cQn+lijg== + integrity: sha512-vafgJpSh2ia8tnTkNUkwxGmnumgckLh5aAbLa1xRmIn9+owi8qBNGKL+B881kNKNTy7FFqTEkpNkUvmw0n6PkA== /esm/3.2.25: dev: false engines: @@ -3625,8 +3658,8 @@ packages: integrity: sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4= /fetch-mock/9.11.0_node-fetch@2.6.1: dependencies: - '@babel/core': 7.14.6 - '@babel/runtime': 7.14.6 + '@babel/core': 7.14.8 + '@babel/runtime': 7.14.8 core-js: 3.15.2 debug: 4.3.2 glob-to-regexp: 0.4.1 @@ -4091,7 +4124,7 @@ packages: node: '>=0.4.7' hasBin: true optionalDependencies: - uglify-js: 3.13.10 + uglify-js: 3.14.0 resolution: integrity: sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA== /har-schema/2.0.0: @@ -4447,12 +4480,12 @@ packages: hasBin: true resolution: integrity: sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w== - /is-core-module/2.4.0: + /is-core-module/2.5.0: dependencies: has: 1.0.3 dev: false resolution: - integrity: sha512-6A2fkfq1rfeQZjxrZJGerpLCTHRNEBiSgnu0+obeJpEPZRUooHgsizvzv0ZjJwOz3iWIHdJtVWJ/tmPr3D21/A== + integrity: sha512-TXCMSDsEHMEEZ6eCA8rwRDbLu55MRGmrctljsBX/2v1d9/GzqHOxW5c5oPSgrUt2vBFXebu9rGqckXGPWOlYpg== /is-date-object/1.0.4: dev: false engines: @@ -4661,11 +4694,11 @@ packages: integrity: sha512-vrRztU9VRRFDyC+aklfLoeXyNdTfga2EI3udDGn4cZ6fpSXpHLV9X6CHvfoMCPtggg8zvDDmC4b9xfu0z6/llA== /istanbul-lib-instrument/3.3.0: dependencies: - '@babel/generator': 7.14.5 - '@babel/parser': 7.14.7 + '@babel/generator': 7.14.8 + '@babel/parser': 7.14.8 '@babel/template': 7.14.5 - '@babel/traverse': 7.14.7 - '@babel/types': 7.14.5 + '@babel/traverse': 7.14.8 + '@babel/types': 7.14.8 istanbul-lib-coverage: 2.0.5 semver: 6.3.0 dev: false @@ -4675,7 +4708,7 @@ packages: integrity: sha512-5nnIN4vo5xQZHdXno/YDXJ0G+I3dAm4XgzfSVTPLQpj/zAV2dV6Juy0yaf10/zrJOJeHoN3fraFe+XRq2bFVZA== /istanbul-lib-instrument/4.0.3: dependencies: - '@babel/core': 7.14.6 + '@babel/core': 7.14.8 '@istanbuljs/schema': 0.1.3 istanbul-lib-coverage: 3.0.0 semver: 6.3.0 @@ -5577,14 +5610,14 @@ packages: dev: false resolution: integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== - /msal/1.4.11: + /msal/1.4.12: dependencies: tslib: 1.14.1 dev: false engines: node: '>=0.8.0' resolution: - integrity: sha512-8vW5/+irlcQQk87r8Qp3/kQEc552hr7FQLJ6GF5LLkqnwJDDxrswz6RYPiQhmiampymIs0PbHVZrNf8m+6DmgQ== + integrity: sha512-gjupwQ6nvNL6mZkl5NIXyUmZhTiEMRu5giNdgHMh8l5EPOnV2Xj6nukY1NIxFacSTkEYUSDB47Pej9GxDYf+1w== /nan/2.14.2: dev: false resolution: @@ -5786,10 +5819,10 @@ packages: node: '>=0.10.0' resolution: integrity: sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= - /object-inspect/1.10.3: + /object-inspect/1.11.0: dev: false resolution: - integrity: sha512-e5mCJlSH7poANfC8z8S9s9S2IN5/4Zb3aZ33f5s8YqoazCFzNLloLU8r5VCG+G7WoqLvAAZoVMcy3tp/3X0Plw== + integrity: sha512-jp7ikS6Sd3GxQfZJPyH3cjcbJF6GZPClgdV+EFygjFLQ5FmW/dRUnTd9PQ9k0JhoNDabWFbpF1yCdSWCC6gexg== /object-keys/1.1.1: dev: false engines: @@ -6291,7 +6324,7 @@ packages: rimraf: 3.0.2 tar-fs: 2.1.1 unbzip2-stream: 1.4.3 - ws: 7.5.2 + ws: 7.5.3 dev: false engines: node: '>=10.18.1' @@ -6502,10 +6535,10 @@ packages: dev: false resolution: integrity: sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg== - /regenerator-runtime/0.13.7: + /regenerator-runtime/0.13.9: dev: false resolution: - integrity: sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew== + integrity: sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA== /regexpp/3.2.0: dev: false engines: @@ -6615,14 +6648,14 @@ packages: integrity: sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w== /resolve/1.19.0: dependencies: - is-core-module: 2.4.0 + is-core-module: 2.5.0 path-parse: 1.0.7 dev: false resolution: integrity: sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg== /resolve/1.20.0: dependencies: - is-core-module: 2.4.0 + is-core-module: 2.5.0 path-parse: 1.0.7 dev: false resolution: @@ -6921,7 +6954,7 @@ packages: dependencies: call-bind: 1.0.2 get-intrinsic: 1.1.1 - object-inspect: 1.10.3 + object-inspect: 1.11.0 dev: false resolution: integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw== @@ -7392,7 +7425,7 @@ packages: integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== /table/6.7.1: dependencies: - ajv: 8.6.1 + ajv: 8.6.2 lodash.clonedeep: 4.5.0 lodash.truncate: 4.4.2 slice-ansi: 4.0.0 @@ -7680,13 +7713,13 @@ packages: dev: false resolution: integrity: sha512-6Gurc1n//gjp9eQNXjD9O3M/sMwVtN5S8Lv9bvOYBfKfDNiIIhqiyi01vMBO45u4zkDE420w/e0se7Vs+sIg+g== - /uglify-js/3.13.10: + /uglify-js/3.14.0: dev: false engines: node: '>=0.8.0' hasBin: true resolution: - integrity: sha512-57H3ACYFXeo1IaZ1w02sfA71wI60MGco/IQFjOqK+WtKoprh7Go2/yvd2HPtoJILO2Or84ncLccI4xoHMTSbGg== + integrity: sha512-R/tiGB1ZXp2BC+TkRGLwj8xUZgdfT2f4UZEgX6aVjJ5uttPrr4fYmwTWDGqVnBCLbOXRMY6nr/BTbwCtVfps0g== /unbox-primitive/1.0.1: dependencies: function-bind: 1.1.1 @@ -7961,7 +7994,7 @@ packages: optional: true resolution: integrity: sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A== - /ws/7.5.2: + /ws/7.5.3: dev: false engines: node: '>=8.3.0' @@ -7974,7 +8007,7 @@ packages: utf-8-validate: optional: true resolution: - integrity: sha512-lkF7AWRicoB9mAgjeKbGqVUekLnSNO4VjKVnuPHpQeOxZOErX6BPXwJk70nFslRCEEA8EVW7ZjKwXaP9N+1sKQ== + integrity: sha512-kQ/dHIzuLrS6Je9+uv81ueZomEwH0qVYstcAQ4/Z93K8zeko9gtAbttJWzoC5ukqXY1PpoouV3+VSOqEAFt5wg== /xhr-mock/2.5.1: dependencies: global: 4.4.0 @@ -8142,19 +8175,14 @@ packages: file:projects/abort-controller.tgz: dependencies: '@microsoft/api-extractor': 7.7.11 - '@rollup/plugin-commonjs': 11.0.2_rollup@1.32.1 - '@rollup/plugin-multi-entry': 3.0.1_rollup@1.32.1 - '@rollup/plugin-node-resolve': 8.4.0_rollup@1.32.1 - '@rollup/plugin-replace': 2.4.2_rollup@1.32.1 '@types/chai': 4.2.21 '@types/mocha': 7.0.2 '@types/node': 12.20.16 - assert: 1.5.0 chai: 4.3.4 cross-env: 7.0.3 delay: 4.4.1 downlevel-dts: 0.4.0 - eslint: 7.30.0 + eslint: 7.31.0 karma: 6.3.4 karma-chrome-launcher: 3.1.0 karma-coverage: 2.0.3 @@ -8184,7 +8212,7 @@ packages: version: 0.0.0 file:projects/agrifood-farming.tgz: dependencies: - '@azure/identity': 1.4.0 + '@azure/identity': 1.5.0 '@microsoft/api-extractor': 7.13.2 '@types/chai': 4.2.21 '@types/mocha': 7.0.2 @@ -8192,7 +8220,7 @@ packages: chai: 4.3.4 cross-env: 7.0.3 dotenv: 8.6.0 - eslint: 7.30.0 + eslint: 7.31.0 karma: 6.3.4 karma-chrome-launcher: 3.1.0 karma-coverage: 2.0.3 @@ -8227,7 +8255,7 @@ packages: file:projects/ai-anomaly-detector.tgz: dependencies: '@azure/core-tracing': 1.0.0-preview.13 - '@azure/identity': 1.4.0 + '@azure/identity': 1.5.0 '@microsoft/api-extractor': 7.7.11 '@rollup/plugin-commonjs': 11.0.2_rollup@1.32.1 '@rollup/plugin-json': 4.1.0_rollup@1.32.1 @@ -8241,7 +8269,7 @@ packages: cross-env: 7.0.3 csv-parse: 4.16.0 dotenv: 8.6.0 - eslint: 7.30.0 + eslint: 7.31.0 inherits: 2.0.4 karma: 6.3.4 karma-chrome-launcher: 3.1.0 @@ -8276,7 +8304,7 @@ packages: version: 0.0.0 file:projects/ai-document-translator.tgz: dependencies: - '@azure/identity': 1.4.0 + '@azure/identity': 1.5.0 '@microsoft/api-extractor': 7.13.2 '@types/chai': 4.2.21 '@types/mocha': 7.0.2 @@ -8284,7 +8312,7 @@ packages: chai: 4.3.4 cross-env: 7.0.3 dotenv: 8.6.0 - eslint: 7.30.0 + eslint: 7.31.0 karma: 6.3.4 karma-chrome-launcher: 3.1.0 karma-coverage: 2.0.3 @@ -8327,7 +8355,7 @@ packages: chai-as-promised: 7.1.1_chai@4.3.4 cross-env: 7.0.3 dotenv: 8.6.0 - eslint: 7.30.0 + eslint: 7.31.0 karma: 6.3.4 karma-chrome-launcher: 3.1.0 karma-coverage: 2.0.3 @@ -8361,7 +8389,7 @@ packages: file:projects/ai-metrics-advisor.tgz: dependencies: '@azure/core-tracing': 1.0.0-preview.13 - '@azure/identity': 1.4.0 + '@azure/identity': 1.5.0 '@microsoft/api-extractor': 7.7.11 '@types/chai': 4.2.21 '@types/mocha': 7.0.2 @@ -8371,7 +8399,7 @@ packages: chai-as-promised: 7.1.1_chai@4.3.4 cross-env: 7.0.3 dotenv: 8.6.0 - eslint: 7.30.0 + eslint: 7.31.0 karma: 6.3.4 karma-chrome-launcher: 3.1.0 karma-coverage: 2.0.3 @@ -8417,7 +8445,7 @@ packages: chai-as-promised: 7.1.1_chai@4.3.4 cross-env: 7.0.3 dotenv: 8.6.0 - eslint: 7.30.0 + eslint: 7.31.0 karma: 6.3.4 karma-chrome-launcher: 3.1.0 karma-coverage: 2.0.3 @@ -8469,7 +8497,7 @@ packages: chai: 4.3.4 cross-env: 7.0.3 dotenv: 8.6.0 - eslint: 7.30.0 + eslint: 7.31.0 esm: 3.2.25 karma: 6.3.4 karma-chrome-launcher: 3.1.0 @@ -8497,7 +8525,7 @@ packages: tslib: 2.3.0 typedoc: 0.15.2 typescript: 4.2.4 - uglify-js: 3.13.10 + uglify-js: 3.14.0 dev: false name: '@rush-temp/app-configuration' resolution: @@ -8517,7 +8545,7 @@ packages: rollup-plugin-sourcemaps: 0.4.2_rollup@1.32.1 tslib: 2.3.0 typescript: 4.2.4 - uglify-js: 3.13.10 + uglify-js: 3.14.0 dev: false name: '@rush-temp/arm-compute' resolution: @@ -8537,7 +8565,7 @@ packages: rollup-plugin-sourcemaps: 0.4.2_rollup@1.32.1 tslib: 2.3.0 typescript: 4.2.4 - uglify-js: 3.13.10 + uglify-js: 3.14.0 dev: false name: '@rush-temp/arm-features' resolution: @@ -8557,7 +8585,7 @@ packages: rollup-plugin-sourcemaps: 0.4.2_rollup@1.32.1 tslib: 2.3.0 typescript: 4.2.4 - uglify-js: 3.13.10 + uglify-js: 3.14.0 dev: false name: '@rush-temp/arm-links' resolution: @@ -8577,7 +8605,7 @@ packages: rollup-plugin-sourcemaps: 0.4.2_rollup@1.32.1 tslib: 2.3.0 typescript: 4.2.4 - uglify-js: 3.13.10 + uglify-js: 3.14.0 dev: false name: '@rush-temp/arm-locks' resolution: @@ -8597,7 +8625,7 @@ packages: rollup-plugin-sourcemaps: 0.4.2_rollup@1.32.1 tslib: 2.3.0 typescript: 4.2.4 - uglify-js: 3.13.10 + uglify-js: 3.14.0 dev: false name: '@rush-temp/arm-managedapplications' resolution: @@ -8617,7 +8645,7 @@ packages: rollup-plugin-sourcemaps: 0.4.2_rollup@1.32.1 tslib: 2.3.0 typescript: 4.2.4 - uglify-js: 3.13.10 + uglify-js: 3.14.0 dev: false name: '@rush-temp/arm-network' resolution: @@ -8637,7 +8665,7 @@ packages: rollup-plugin-sourcemaps: 0.4.2_rollup@1.32.1 tslib: 2.3.0 typescript: 4.2.4 - uglify-js: 3.13.10 + uglify-js: 3.14.0 dev: false name: '@rush-temp/arm-policy' resolution: @@ -8657,7 +8685,7 @@ packages: rollup-plugin-sourcemaps: 0.4.2_rollup@1.32.1 tslib: 2.3.0 typescript: 4.2.4 - uglify-js: 3.13.10 + uglify-js: 3.14.0 dev: false name: '@rush-temp/arm-resources' resolution: @@ -8677,7 +8705,7 @@ packages: rollup-plugin-sourcemaps: 0.4.2_rollup@1.32.1 tslib: 2.3.0 typescript: 4.2.4 - uglify-js: 3.13.10 + uglify-js: 3.14.0 dev: false name: '@rush-temp/arm-storage' resolution: @@ -8687,7 +8715,7 @@ packages: file:projects/attestation.tgz: dependencies: '@azure/core-tracing': 1.0.0-preview.13 - '@azure/identity': 1.4.0 + '@azure/identity': 1.5.0 '@microsoft/api-extractor': 7.7.11 '@types/chai': 4.2.21 '@types/chai-as-promised': 7.1.4 @@ -8699,7 +8727,7 @@ packages: cross-env: 7.0.3 dotenv: 8.6.0 downlevel-dts: 0.4.0 - eslint: 7.30.0 + eslint: 7.31.0 esm: 3.2.25 inherits: 2.0.4 jsrsasign: 10.3.0 @@ -8757,7 +8785,7 @@ packages: chai: 4.3.4 cross-env: 7.0.3 dotenv: 8.6.0 - eslint: 7.30.0 + eslint: 7.31.0 events: 3.3.0 inherits: 2.0.4 karma: 6.3.4 @@ -8813,7 +8841,7 @@ packages: chai: 4.3.4 chai-as-promised: 7.1.1_chai@4.3.4 cross-env: 7.0.3 - eslint: 7.30.0 + eslint: 7.31.0 events: 3.3.0 inherits: 2.0.4 jwt-decode: 2.2.0 @@ -8865,7 +8893,7 @@ packages: chai: 4.3.4 cross-env: 7.0.3 dotenv: 8.6.0 - eslint: 7.30.0 + eslint: 7.31.0 events: 3.3.0 inherits: 2.0.4 karma: 6.3.4 @@ -8919,7 +8947,7 @@ packages: chai: 4.3.4 cross-env: 7.0.3 dotenv: 8.6.0 - eslint: 7.30.0 + eslint: 7.31.0 events: 3.3.0 inherits: 2.0.4 karma: 6.3.4 @@ -8973,7 +9001,7 @@ packages: chai: 4.3.4 cross-env: 7.0.3 dotenv: 8.6.0 - eslint: 7.30.0 + eslint: 7.31.0 events: 3.3.0 inherits: 2.0.4 karma: 6.3.4 @@ -9026,7 +9054,7 @@ packages: chai: 4.3.4 cross-env: 7.0.3 dotenv: 8.6.0 - eslint: 7.30.0 + eslint: 7.31.0 events: 3.3.0 inherits: 2.0.4 karma: 6.3.4 @@ -9063,7 +9091,7 @@ packages: version: 0.0.0 file:projects/confidential-ledger.tgz: dependencies: - '@azure/identity': 1.4.0 + '@azure/identity': 1.5.0 '@microsoft/api-extractor': 7.13.2 '@types/chai': 4.2.21 '@types/mocha': 7.0.2 @@ -9071,7 +9099,7 @@ packages: chai: 4.3.4 cross-env: 7.0.3 dotenv: 8.6.0 - eslint: 7.30.0 + eslint: 7.31.0 karma: 6.3.4 karma-chrome-launcher: 3.1.0 karma-coverage: 2.0.3 @@ -9115,7 +9143,7 @@ packages: chai-as-promised: 7.1.1_chai@4.3.4 cross-env: 7.0.3 dotenv: 8.6.0 - eslint: 7.30.0 + eslint: 7.31.0 inherits: 2.0.4 karma: 6.3.4 karma-chrome-launcher: 3.1.0 @@ -9160,14 +9188,14 @@ packages: '@types/mocha': 7.0.2 '@types/node': 12.20.16 '@types/sinon': 9.0.11 - '@types/ws': 7.4.6 + '@types/ws': 7.4.7 buffer: 5.7.1 chai: 4.3.4 cross-env: 7.0.3 debug: 4.3.2 dotenv: 8.6.0 downlevel-dts: 0.4.0 - eslint: 7.30.0 + eslint: 7.31.0 events: 3.3.0 jssha: 3.2.0 karma: 6.3.4_debug@4.3.2 @@ -9193,7 +9221,7 @@ packages: typescript: 4.2.4 url: 0.11.0 util: 0.12.4 - ws: 7.5.2 + ws: 7.5.3 dev: false name: '@rush-temp/core-amqp' resolution: @@ -9203,7 +9231,7 @@ packages: file:projects/core-asynciterator-polyfill.tgz: dependencies: '@types/node': 12.20.16 - eslint: 7.30.0 + eslint: 7.31.0 prettier: 1.19.1 typedoc: 0.15.2 typescript: 4.2.4 @@ -9216,19 +9244,13 @@ packages: file:projects/core-auth.tgz: dependencies: '@microsoft/api-extractor': 7.7.11 - '@rollup/plugin-commonjs': 11.0.2_rollup@1.32.1 - '@rollup/plugin-json': 4.1.0_rollup@1.32.1 - '@rollup/plugin-multi-entry': 3.0.1_rollup@1.32.1 - '@rollup/plugin-node-resolve': 8.4.0_rollup@1.32.1 - '@rollup/plugin-replace': 2.4.2_rollup@1.32.1 '@types/chai': 4.2.21 '@types/mocha': 7.0.2 '@types/node': 12.20.16 - assert: 1.5.0 chai: 4.3.4 cross-env: 7.0.3 downlevel-dts: 0.4.0 - eslint: 7.30.0 + eslint: 7.31.0 inherits: 2.0.4 mocha: 7.2.0 mocha-junit-reporter: 1.23.3_mocha@7.2.0 @@ -9257,7 +9279,7 @@ packages: chai: 4.3.4 cross-env: 7.0.3 downlevel-dts: 0.4.0 - eslint: 7.30.0 + eslint: 7.31.0 inherits: 2.0.4 karma: 6.3.4 karma-chrome-launcher: 3.1.0 @@ -9294,7 +9316,7 @@ packages: '@types/node': 12.20.16 chai: 4.3.4 cross-env: 7.0.3 - eslint: 7.30.0 + eslint: 7.31.0 inherits: 2.0.4 karma: 6.3.4 karma-chrome-launcher: 3.1.0 @@ -9331,7 +9353,7 @@ packages: '@types/node': 12.20.16 chai: 4.3.4 cross-env: 7.0.3 - eslint: 7.30.0 + eslint: 7.31.0 inherits: 2.0.4 karma: 6.3.4 karma-chrome-launcher: 3.1.0 @@ -9373,7 +9395,7 @@ packages: chai: 4.3.4 cross-env: 7.0.3 downlevel-dts: 0.4.0 - eslint: 7.30.0 + eslint: 7.31.0 karma: 6.3.4 karma-chrome-launcher: 3.1.0 karma-coverage: 2.0.3 @@ -9412,7 +9434,7 @@ packages: '@types/glob': 7.1.4 '@types/mocha': 7.0.2 '@types/node': 12.20.16 - '@types/node-fetch': 2.5.11 + '@types/node-fetch': 2.5.12 '@types/sinon': 9.0.11 '@types/tough-cookie': 4.0.1 '@types/tunnel': 0.0.1 @@ -9422,7 +9444,7 @@ packages: chai: 4.3.4 cross-env: 7.0.3 downlevel-dts: 0.4.0 - eslint: 7.30.0 + eslint: 7.31.0 express: 4.17.1 fetch-mock: 9.11.0_node-fetch@2.6.1 form-data: 3.0.1 @@ -9443,7 +9465,7 @@ packages: prettier: 1.19.1 process: 0.11.10 puppeteer: 3.3.0 - regenerator-runtime: 0.13.7 + regenerator-runtime: 0.13.9 rimraf: 3.0.2 rollup: 1.32.1 shx: 0.3.3 @@ -9454,7 +9476,7 @@ packages: tunnel: 0.0.6 typedoc: 0.15.2 typescript: 4.2.4 - uglify-js: 3.13.10 + uglify-js: 3.14.0 uuid: 8.3.2 xhr-mock: 2.5.1 xml2js: 0.4.23 @@ -9468,17 +9490,12 @@ packages: dependencies: '@azure/core-tracing': 1.0.0-preview.13 '@microsoft/api-extractor': 7.7.11 - '@rollup/plugin-commonjs': 11.0.2_rollup@1.32.1 - '@rollup/plugin-multi-entry': 3.0.1_rollup@1.32.1 - '@rollup/plugin-node-resolve': 8.4.0_rollup@1.32.1 - '@rollup/plugin-replace': 2.4.2_rollup@1.32.1 '@types/chai': 4.2.21 '@types/mocha': 7.0.2 '@types/node': 12.20.16 chai: 4.3.4 cross-env: 7.0.3 - eslint: 7.30.0 - events: 3.3.0 + eslint: 7.31.0 karma: 6.3.4 karma-chrome-launcher: 3.1.0 karma-coverage: 2.0.3 @@ -9497,15 +9514,11 @@ packages: prettier: 1.19.1 rimraf: 3.0.2 rollup: 1.32.1 - rollup-plugin-shim: 1.0.0 - rollup-plugin-sourcemaps: 0.4.2_rollup@1.32.1 - rollup-plugin-terser: 5.3.1_rollup@1.32.1 - rollup-plugin-visualizer: 4.2.2_rollup@1.32.1 ts-node: 9.1.1_typescript@4.2.4 tslib: 2.3.0 typedoc: 0.15.2 typescript: 4.2.4 - uglify-js: 3.13.10 + uglify-js: 3.14.0 dev: false name: '@rush-temp/core-lro' resolution: @@ -9515,7 +9528,7 @@ packages: file:projects/core-paging.tgz: dependencies: '@types/node': 12.20.16 - eslint: 7.30.0 + eslint: 7.31.0 prettier: 1.19.1 rimraf: 3.0.2 typedoc: 0.15.2 @@ -9539,7 +9552,7 @@ packages: chai: 4.3.4 cross-env: 7.0.3 downlevel-dts: 0.4.0 - eslint: 7.30.0 + eslint: 7.31.0 form-data: 3.0.1 http-proxy-agent: 4.0.1 https-proxy-agent: 5.0.0 @@ -9578,19 +9591,13 @@ packages: '@microsoft/api-extractor': 7.7.11 '@opentelemetry/api': 1.0.1 '@opentelemetry/tracing': 0.22.0_@opentelemetry+api@1.0.1 - '@rollup/plugin-commonjs': 11.0.2_rollup@1.32.1 - '@rollup/plugin-json': 4.1.0_rollup@1.32.1 - '@rollup/plugin-multi-entry': 3.0.1_rollup@1.32.1 - '@rollup/plugin-node-resolve': 8.4.0_rollup@1.32.1 - '@rollup/plugin-replace': 2.4.2_rollup@1.32.1 '@types/chai': 4.2.21 '@types/mocha': 7.0.2 '@types/node': 12.20.16 '@types/sinon': 9.0.11 - assert: 1.5.0 chai: 4.3.4 cross-env: 7.0.3 - eslint: 7.30.0 + eslint: 7.31.0 inherits: 2.0.4 karma: 6.3.4 karma-chrome-launcher: 3.1.0 @@ -9629,7 +9636,7 @@ packages: chai: 4.3.4 cross-env: 7.0.3 downlevel-dts: 0.4.0 - eslint: 7.30.0 + eslint: 7.31.0 inherits: 2.0.4 karma: 6.3.4 karma-chrome-launcher: 3.1.0 @@ -9669,7 +9676,7 @@ packages: chai: 4.3.4 cross-env: 7.0.3 downlevel-dts: 0.4.0 - eslint: 7.30.0 + eslint: 7.31.0 inherits: 2.0.4 karma: 6.3.4 karma-chrome-launcher: 3.1.0 @@ -9701,7 +9708,7 @@ packages: version: 0.0.0 file:projects/cosmos.tgz: dependencies: - '@azure/identity': 1.4.0_debug@4.3.2 + '@azure/identity': 1.5.0_debug@4.3.2 '@microsoft/api-extractor': 7.7.11 '@rollup/plugin-json': 4.1.0_rollup@1.32.1 '@rollup/plugin-multi-entry': 3.0.1_rollup@1.32.1 @@ -9719,7 +9726,7 @@ packages: debug: 4.3.2 dotenv: 8.6.0 downlevel-dts: 0.4.0 - eslint: 7.30.0 + eslint: 7.31.0 esm: 3.2.25 execa: 3.4.0 fast-json-stable-stringify: 2.1.0 @@ -9771,7 +9778,7 @@ packages: cross-env: 7.0.3 dotenv: 8.6.0 downlevel-dts: 0.4.0 - eslint: 7.30.0 + eslint: 7.31.0 inherits: 2.0.4 karma: 6.3.4 karma-chrome-launcher: 3.1.0 @@ -9825,7 +9832,7 @@ packages: chai-as-promised: 7.1.1_chai@4.3.4 chalk: 4.1.1 dotenv: 8.6.0 - eslint: 7.30.0 + eslint: 7.31.0 fs-extra: 8.1.0 minimist: 1.2.5 mocha: 7.2.0 @@ -9863,7 +9870,7 @@ packages: chai: 4.3.4 cross-env: 7.0.3 dotenv: 8.6.0 - eslint: 7.30.0 + eslint: 7.31.0 inherits: 2.0.4 karma: 6.3.4 karma-chrome-launcher: 3.1.0 @@ -9909,14 +9916,14 @@ packages: '@types/json-schema': 7.0.8 '@types/mocha': 7.0.2 '@types/node': 12.20.16 - '@typescript-eslint/eslint-plugin': 4.19.0_1428636775fa8b76297f145f2a9709f8 - '@typescript-eslint/experimental-utils': 4.19.0_eslint@7.30.0+typescript@4.2.4 - '@typescript-eslint/parser': 4.19.0_eslint@7.30.0+typescript@4.2.4 + '@typescript-eslint/eslint-plugin': 4.19.0_d7723982da0ce5a2c0734c14de26c19d + '@typescript-eslint/experimental-utils': 4.19.0_eslint@7.31.0+typescript@4.2.4 + '@typescript-eslint/parser': 4.19.0_eslint@7.31.0+typescript@4.2.4 '@typescript-eslint/typescript-estree': 4.19.0_typescript@4.2.4 chai: 4.3.4 - eslint: 7.30.0 - eslint-config-prettier: 7.2.0_eslint@7.30.0 - eslint-plugin-import: 2.23.4_eslint@7.30.0 + eslint: 7.31.0 + eslint-config-prettier: 7.2.0_eslint@7.31.0 + eslint-plugin-import: 2.23.4_eslint@7.31.0 eslint-plugin-no-only-tests: 2.6.0 eslint-plugin-promise: 4.3.1 eslint-plugin-tsdoc: 0.2.14 @@ -9957,7 +9964,7 @@ packages: '@types/node': 12.20.16 '@types/sinon': 9.0.11 '@types/uuid': 8.3.1 - '@types/ws': 7.4.6 + '@types/ws': 7.4.7 assert: 1.5.0 buffer: 5.7.1 chai: 4.3.4 @@ -9968,7 +9975,7 @@ packages: debug: 4.3.2 dotenv: 8.6.0 downlevel-dts: 0.4.0 - eslint: 7.30.0 + eslint: 7.31.0 esm: 3.2.25 https-proxy-agent: 5.0.0 is-buffer: 2.0.5 @@ -10003,7 +10010,7 @@ packages: typedoc: 0.15.2 typescript: 4.2.4 uuid: 8.3.2 - ws: 7.5.2 + ws: 7.5.3 dev: false name: '@rush-temp/event-hubs' resolution: @@ -10028,7 +10035,7 @@ packages: '@types/mocha': 7.0.2 '@types/node': 12.20.16 '@types/uuid': 8.3.1 - '@types/ws': 7.4.6 + '@types/ws': 7.4.7 async-lock: 1.3.0 azure-storage: 2.10.4 chai: 4.3.4 @@ -10037,7 +10044,7 @@ packages: cross-env: 7.0.3 debug: 4.3.2 dotenv: 8.6.0 - eslint: 7.30.0 + eslint: 7.31.0 esm: 3.2.25 https-proxy-agent: 5.0.0 mocha: 7.2.0 @@ -10053,7 +10060,7 @@ packages: typedoc: 0.15.2 typescript: 4.2.4 uuid: 8.3.2 - ws: 7.5.2 + ws: 7.5.3 dev: false name: '@rush-temp/event-processor-host' resolution: @@ -10079,7 +10086,7 @@ packages: chai-as-promised: 7.1.1_chai@4.3.4 cross-env: 7.0.3 dotenv: 8.6.0 - eslint: 7.30.0 + eslint: 7.31.0 karma: 6.3.4 karma-chrome-launcher: 3.1.0 karma-coverage: 2.0.3 @@ -10138,7 +10145,7 @@ packages: cross-env: 7.0.3 debug: 4.3.2 dotenv: 8.6.0 - eslint: 7.30.0 + eslint: 7.31.0 esm: 3.2.25 events: 3.3.0 guid-typescript: 1.0.9 @@ -10177,7 +10184,7 @@ packages: version: 0.0.0 file:projects/identity-cache-persistence.tgz: dependencies: - '@azure/msal-node': 1.2.0 + '@azure/msal-node': 1.3.0 '@azure/msal-node-extensions': 1.0.0-alpha.7 '@microsoft/api-extractor': 7.7.11 '@types/jws': 3.2.4 @@ -10188,7 +10195,7 @@ packages: assert: 1.5.0 cross-env: 7.0.3 dotenv: 8.6.0 - eslint: 7.30.0 + eslint: 7.31.0 inherits: 2.0.4 keytar: 7.7.0 mocha: 7.2.0 @@ -10221,7 +10228,7 @@ packages: assert: 1.5.0 cross-env: 7.0.3 dotenv: 8.6.0 - eslint: 7.30.0 + eslint: 7.31.0 inherits: 2.0.4 keytar: 7.7.0 mocha: 7.2.0 @@ -10245,9 +10252,9 @@ packages: file:projects/identity.tgz: dependencies: '@azure/core-tracing': 1.0.0-preview.13 - '@azure/msal-browser': 2.15.0 - '@azure/msal-common': 4.4.0 - '@azure/msal-node': 1.2.0 + '@azure/msal-browser': 2.16.0 + '@azure/msal-common': 4.5.0 + '@azure/msal-node': 1.3.0 '@microsoft/api-extractor': 7.7.11 '@types/jws': 3.2.4 '@types/mocha': 7.0.2 @@ -10259,7 +10266,7 @@ packages: assert: 1.5.0 cross-env: 7.0.3 dotenv: 8.6.0 - eslint: 7.30.0 + eslint: 7.31.0 events: 3.3.0 inherits: 2.0.4 jws: 4.0.0 @@ -10300,7 +10307,7 @@ packages: '@types/uuid': 8.3.1 cross-env: 7.0.3 dotenv: 8.6.0 - eslint: 7.30.0 + eslint: 7.31.0 mkdirp: 1.0.4 prettier: 1.19.1 rimraf: 3.0.2 @@ -10311,7 +10318,7 @@ packages: tslib: 2.3.0 typedoc: 0.15.2 typescript: 4.2.4 - uglify-js: 3.13.10 + uglify-js: 3.14.0 uuid: 8.3.2 dev: false name: '@rush-temp/iot-device-update' @@ -10334,7 +10341,7 @@ packages: '@types/sinon': 9.0.11 chai: 4.3.4 cross-env: 7.0.3 - eslint: 7.30.0 + eslint: 7.31.0 events: 3.3.0 inherits: 2.0.4 karma: 6.3.4 @@ -10392,7 +10399,7 @@ packages: chai-as-promised: 7.1.1_chai@4.3.4 cross-env: 7.0.3 dotenv: 8.6.0 - eslint: 7.30.0 + eslint: 7.31.0 esm: 3.2.25 mocha: 7.2.0 mocha-junit-reporter: 1.23.3_mocha@7.2.0 @@ -10435,7 +10442,7 @@ packages: chai: 4.3.4 cross-env: 7.0.3 dotenv: 8.6.0 - eslint: 7.30.0 + eslint: 7.31.0 esm: 3.2.25 karma: 6.3.4 karma-chrome-launcher: 3.1.0 @@ -10477,7 +10484,7 @@ packages: file:projects/keyvault-common.tgz: dependencies: '@azure/core-tracing': 1.0.0-preview.13 - eslint: 7.30.0 + eslint: 7.31.0 prettier: 1.19.1 rimraf: 3.0.2 tslib: 2.3.0 @@ -10509,7 +10516,7 @@ packages: chai-as-promised: 7.1.1_chai@4.3.4 cross-env: 7.0.3 dotenv: 8.6.0 - eslint: 7.30.0 + eslint: 7.31.0 esm: 3.2.25 karma: 6.3.4 karma-chrome-launcher: 3.1.0 @@ -10566,7 +10573,7 @@ packages: chai: 4.3.4 cross-env: 7.0.3 dotenv: 8.6.0 - eslint: 7.30.0 + eslint: 7.31.0 esm: 3.2.25 karma: 6.3.4 karma-chrome-launcher: 3.1.0 @@ -10616,7 +10623,7 @@ packages: cross-env: 7.0.3 delay: 4.4.1 dotenv: 8.6.0 - eslint: 7.30.0 + eslint: 7.31.0 karma: 6.3.4 karma-chrome-launcher: 3.1.0 karma-coverage: 2.0.3 @@ -10658,7 +10665,7 @@ packages: chai-as-promised: 7.1.1_chai@4.3.4 cross-env: 7.0.3 dotenv: 8.6.0 - eslint: 7.30.0 + eslint: 7.31.0 inherits: 2.0.4 karma: 6.3.4 karma-chrome-launcher: 3.1.0 @@ -10692,7 +10699,7 @@ packages: file:projects/mixed-reality-remote-rendering.tgz: dependencies: '@azure/core-tracing': 1.0.0-preview.13 - '@azure/identity': 1.4.0 + '@azure/identity': 1.5.0 '@microsoft/api-extractor': 7.7.11 '@types/chai': 4.2.21 '@types/chai-as-promised': 7.1.4 @@ -10703,7 +10710,7 @@ packages: chai-as-promised: 7.1.1_chai@4.3.4 cross-env: 7.0.3 dotenv: 8.6.0 - eslint: 7.30.0 + eslint: 7.31.0 inherits: 2.0.4 karma: 6.3.4 karma-chrome-launcher: 3.1.0 @@ -10738,7 +10745,7 @@ packages: dependencies: '@types/node': 12.20.16 dotenv: 8.6.0 - eslint: 7.30.0 + eslint: 7.31.0 prettier: 1.19.1 rhea: 2.0.3 rimraf: 3.0.2 @@ -10764,8 +10771,8 @@ packages: '@types/mocha': 7.0.2 '@types/node': 12.20.16 dotenv: 8.6.0 - eslint: 7.30.0 - eslint-plugin-node: 11.1.0_eslint@7.30.0 + eslint: 7.31.0 + eslint-plugin-node: 11.1.0_eslint@7.31.0 execa: 3.4.0 mocha: 7.2.0 nock: 12.0.3 @@ -10781,13 +10788,13 @@ packages: dev: false name: '@rush-temp/monitor-opentelemetry-exporter' resolution: - integrity: sha512-nL1i8Vh4fkWq8IjstjJQlRw6Wh0318JhMzeicmZlvHy8bgAuCkcW4WIMdfxi07G9iDP0v5BO8jU4jYcCGWS9tQ== + integrity: sha512-WYH8CaZOliclSLRlTl5xrJfy5dZtOvEc1ypw2W6qwQABZOeeF8geFXO6glkcxMCrEKIIeAjN14yyDXDQMsF3fg== tarball: file:projects/monitor-opentelemetry-exporter.tgz version: 0.0.0 file:projects/monitor-query.tgz: dependencies: '@azure/core-tracing': 1.0.0-preview.13 - '@azure/identity': 1.4.0 + '@azure/identity': 1.5.0 '@microsoft/api-extractor': 7.7.11 '@opentelemetry/api': 1.0.1 '@opentelemetry/node': 0.22.0_@opentelemetry+api@1.0.1 @@ -10801,7 +10808,7 @@ packages: cross-env: 7.0.3 dotenv: 8.6.0 downlevel-dts: 0.4.0 - eslint: 7.30.0 + eslint: 7.31.0 esm: 3.2.25 inherits: 2.0.4 karma: 6.3.4 @@ -10839,7 +10846,7 @@ packages: '@azure/identity': 2.0.0-beta.4 '@types/node': 12.20.16 dotenv: 8.6.0 - eslint: 7.30.0 + eslint: 7.31.0 prettier: 1.19.1 rimraf: 3.0.2 ts-node: 9.1.1_typescript@4.2.4 @@ -10856,7 +10863,7 @@ packages: '@azure/ai-metrics-advisor': 1.0.0-beta.3 '@types/node': 12.20.16 dotenv: 8.6.0 - eslint: 7.30.0 + eslint: 7.31.0 prettier: 1.19.1 rimraf: 3.0.2 ts-node: 9.1.1_typescript@4.2.4 @@ -10872,7 +10879,7 @@ packages: dependencies: '@types/node': 12.20.16 dotenv: 8.6.0 - eslint: 7.30.0 + eslint: 7.31.0 prettier: 1.19.1 rimraf: 3.0.2 ts-node: 9.1.1_typescript@4.2.4 @@ -10889,7 +10896,7 @@ packages: '@types/node': 12.20.16 '@types/uuid': 8.3.1 dotenv: 8.6.0 - eslint: 7.30.0 + eslint: 7.31.0 prettier: 1.19.1 rimraf: 3.0.2 ts-node: 9.1.1_typescript@4.2.4 @@ -10906,7 +10913,7 @@ packages: dependencies: '@types/uuid': 8.3.1 dotenv: 8.6.0 - eslint: 7.30.0 + eslint: 7.31.0 prettier: 1.19.1 rimraf: 3.0.2 ts-node: 9.1.1_typescript@4.2.4 @@ -10922,7 +10929,7 @@ packages: dependencies: '@types/node': 12.20.16 dotenv: 8.6.0 - eslint: 7.30.0 + eslint: 7.31.0 prettier: 1.19.1 rimraf: 3.0.2 ts-node: 9.1.1_typescript@4.2.4 @@ -10938,7 +10945,7 @@ packages: dependencies: '@types/uuid': 8.3.1 dotenv: 8.6.0 - eslint: 7.30.0 + eslint: 7.31.0 prettier: 1.19.1 rimraf: 3.0.2 ts-node: 9.1.1_typescript@4.2.4 @@ -10956,7 +10963,7 @@ packages: '@azure/keyvault-certificates': 4.2.0 '@types/uuid': 8.3.1 dotenv: 8.6.0 - eslint: 7.30.0 + eslint: 7.31.0 prettier: 1.19.1 rimraf: 3.0.2 ts-node: 9.1.1_typescript@4.2.4 @@ -10974,7 +10981,7 @@ packages: '@azure/keyvault-keys': 4.2.2 '@types/uuid': 8.3.1 dotenv: 8.6.0 - eslint: 7.30.0 + eslint: 7.31.0 prettier: 1.19.1 rimraf: 3.0.2 ts-node: 9.1.1_typescript@4.2.4 @@ -10993,7 +11000,7 @@ packages: '@azure/keyvault-secrets': 4.2.0 '@types/uuid': 8.3.1 dotenv: 8.6.0 - eslint: 7.30.0 + eslint: 7.31.0 prettier: 1.19.1 rimraf: 3.0.2 ts-node: 9.1.1_typescript@4.2.4 @@ -11011,7 +11018,7 @@ packages: '@azure/identity': 2.0.0-beta.4 '@types/node': 12.20.16 dotenv: 8.6.0 - eslint: 7.30.0 + eslint: 7.31.0 prettier: 1.19.1 rimraf: 3.0.2 ts-node: 9.1.1_typescript@4.2.4 @@ -11026,10 +11033,10 @@ packages: file:projects/perf-storage-blob.tgz: dependencies: '@types/node': 12.20.16 - '@types/node-fetch': 2.5.11 + '@types/node-fetch': 2.5.12 '@types/uuid': 8.3.1 dotenv: 8.6.0 - eslint: 7.30.0 + eslint: 7.31.0 node-fetch: 2.6.1 prettier: 1.19.1 rimraf: 3.0.2 @@ -11048,7 +11055,7 @@ packages: '@types/node': 12.20.16 '@types/uuid': 8.3.1 dotenv: 8.6.0 - eslint: 7.30.0 + eslint: 7.31.0 prettier: 1.19.1 rimraf: 3.0.2 ts-node: 9.1.1_typescript@4.2.4 @@ -11066,7 +11073,7 @@ packages: '@types/node': 12.20.16 '@types/uuid': 8.3.1 dotenv: 8.6.0 - eslint: 7.30.0 + eslint: 7.31.0 prettier: 1.19.1 rimraf: 3.0.2 ts-node: 9.1.1_typescript@4.2.4 @@ -11081,7 +11088,7 @@ packages: version: 0.0.0 file:projects/purview-catalog.tgz: dependencies: - '@azure/identity': 1.4.0 + '@azure/identity': 1.5.0 '@microsoft/api-extractor': 7.13.2 '@types/chai': 4.2.21 '@types/mocha': 7.0.2 @@ -11089,7 +11096,7 @@ packages: chai: 4.3.4 cross-env: 7.0.3 dotenv: 8.6.0 - eslint: 7.30.0 + eslint: 7.31.0 karma: 6.3.4 karma-chrome-launcher: 3.1.0 karma-coverage: 2.0.3 @@ -11123,7 +11130,7 @@ packages: version: 0.0.0 file:projects/purview-scanning.tgz: dependencies: - '@azure/identity': 1.4.0 + '@azure/identity': 1.5.0 '@microsoft/api-extractor': 7.13.2 '@types/chai': 4.2.21 '@types/mocha': 7.0.2 @@ -11131,7 +11138,7 @@ packages: chai: 4.3.4 cross-env: 7.0.3 dotenv: 8.6.0 - eslint: 7.30.0 + eslint: 7.31.0 karma: 6.3.4 karma-chrome-launcher: 3.1.0 karma-coverage: 2.0.3 @@ -11179,7 +11186,7 @@ packages: chai: 4.3.4 cross-env: 7.0.3 dotenv: 8.6.0 - eslint: 7.30.0 + eslint: 7.31.0 events: 3.3.0 inherits: 2.0.4 karma: 6.3.4 @@ -11236,7 +11243,7 @@ packages: chai-as-promised: 7.1.1_chai@4.3.4 cross-env: 7.0.3 dotenv: 8.6.0 - eslint: 7.30.0 + eslint: 7.31.0 karma: 6.3.4 karma-chrome-launcher: 3.1.0 karma-coverage: 2.0.3 @@ -11289,7 +11296,7 @@ packages: chai-as-promised: 7.1.1_chai@4.3.4 cross-env: 7.0.3 dotenv: 8.6.0 - eslint: 7.30.0 + eslint: 7.31.0 karma: 6.3.4 karma-chrome-launcher: 3.1.0 karma-coverage: 2.0.3 @@ -11339,7 +11346,7 @@ packages: chai: 4.3.4 cross-env: 7.0.3 dotenv: 8.6.0 - eslint: 7.30.0 + eslint: 7.31.0 events: 3.3.0 inherits: 2.0.4 karma: 6.3.4 @@ -11396,7 +11403,7 @@ packages: '@types/mocha': 7.0.2 '@types/node': 12.20.16 '@types/sinon': 9.0.11 - '@types/ws': 7.4.6 + '@types/ws': 7.4.7 assert: 1.5.0 buffer: 5.7.1 chai: 4.3.4 @@ -11407,7 +11414,7 @@ packages: delay: 4.4.1 dotenv: 8.6.0 downlevel-dts: 0.4.0 - eslint: 7.30.0 + eslint: 7.31.0 esm: 3.2.25 events: 3.3.0 glob: 7.1.7 @@ -11445,7 +11452,7 @@ packages: tslib: 2.3.0 typedoc: 0.15.2 typescript: 4.2.4 - ws: 7.5.2 + ws: 7.5.3 dev: false name: '@rush-temp/service-bus' resolution: @@ -11468,7 +11475,7 @@ packages: dotenv: 8.6.0 downlevel-dts: 0.4.0 es6-promise: 4.2.8 - eslint: 7.30.0 + eslint: 7.31.0 esm: 3.2.25 events: 3.3.0 inherits: 2.0.4 @@ -11521,13 +11528,13 @@ packages: '@rollup/plugin-replace': 2.4.2_rollup@1.32.1 '@types/mocha': 7.0.2 '@types/node': 12.20.16 - '@types/node-fetch': 2.5.11 + '@types/node-fetch': 2.5.12 assert: 1.5.0 cross-env: 7.0.3 dotenv: 8.6.0 downlevel-dts: 0.4.0 es6-promise: 4.2.8 - eslint: 7.30.0 + eslint: 7.31.0 esm: 3.2.25 events: 3.3.0 inherits: 2.0.4 @@ -11585,7 +11592,7 @@ packages: dotenv: 8.6.0 downlevel-dts: 0.4.0 es6-promise: 4.2.8 - eslint: 7.30.0 + eslint: 7.31.0 esm: 3.2.25 events: 3.3.0 execa: 3.4.0 @@ -11642,7 +11649,7 @@ packages: dotenv: 8.6.0 downlevel-dts: 0.4.0 es6-promise: 4.2.8 - eslint: 7.30.0 + eslint: 7.31.0 esm: 3.2.25 events: 3.3.0 inherits: 2.0.4 @@ -11695,7 +11702,7 @@ packages: dotenv: 8.6.0 downlevel-dts: 0.4.0 es6-promise: 4.2.8 - eslint: 7.30.0 + eslint: 7.31.0 esm: 3.2.25 inherits: 2.0.4 karma: 6.3.4 @@ -11749,7 +11756,7 @@ packages: dotenv: 8.6.0 downlevel-dts: 0.4.0 es6-promise: 4.2.8 - eslint: 7.30.0 + eslint: 7.31.0 esm: 3.2.25 inherits: 2.0.4 karma: 6.3.4 @@ -11793,7 +11800,7 @@ packages: '@azure/core-tracing': 1.0.0-preview.13 '@microsoft/api-extractor': 7.7.11 '@rollup/plugin-commonjs': 11.0.2_rollup@1.32.1 - eslint: 7.30.0 + eslint: 7.31.0 rimraf: 3.0.2 rollup: 1.32.1 rollup-plugin-node-resolve: 3.4.0 @@ -11801,7 +11808,7 @@ packages: tslib: 2.3.0 typedoc: 0.15.2 typescript: 4.2.4 - uglify-js: 3.13.10 + uglify-js: 3.14.0 dev: false name: '@rush-temp/synapse-access-control' resolution: @@ -11822,7 +11829,7 @@ packages: chai-as-promised: 7.1.1_chai@4.3.4 cross-env: 7.0.3 dotenv: 8.6.0 - eslint: 7.30.0 + eslint: 7.31.0 karma: 6.3.4 karma-chrome-launcher: 3.1.0 karma-coverage: 2.0.3 @@ -11851,7 +11858,7 @@ packages: tslib: 2.3.0 typedoc: 0.15.2 typescript: 4.2.4 - uglify-js: 3.13.10 + uglify-js: 3.14.0 dev: false name: '@rush-temp/synapse-artifacts' resolution: @@ -11863,7 +11870,7 @@ packages: '@azure/core-tracing': 1.0.0-preview.13 '@microsoft/api-extractor': 7.7.11 '@rollup/plugin-commonjs': 11.0.2_rollup@1.32.1 - eslint: 7.30.0 + eslint: 7.31.0 rimraf: 3.0.2 rollup: 1.32.1 rollup-plugin-node-resolve: 3.4.0 @@ -11871,7 +11878,7 @@ packages: tslib: 2.3.0 typedoc: 0.15.2 typescript: 4.2.4 - uglify-js: 3.13.10 + uglify-js: 3.14.0 dev: false name: '@rush-temp/synapse-managed-private-endpoints' resolution: @@ -11883,7 +11890,7 @@ packages: '@azure/core-tracing': 1.0.0-preview.13 '@microsoft/api-extractor': 7.7.11 '@rollup/plugin-commonjs': 11.0.2_rollup@1.32.1 - eslint: 7.30.0 + eslint: 7.31.0 rimraf: 3.0.2 rollup: 1.32.1 rollup-plugin-node-resolve: 3.4.0 @@ -11891,7 +11898,7 @@ packages: tslib: 2.3.0 typedoc: 0.15.2 typescript: 4.2.4 - uglify-js: 3.13.10 + uglify-js: 3.14.0 dev: false name: '@rush-temp/synapse-monitoring' resolution: @@ -11903,7 +11910,7 @@ packages: '@azure/core-tracing': 1.0.0-preview.13 '@microsoft/api-extractor': 7.7.11 '@rollup/plugin-commonjs': 11.0.2_rollup@1.32.1 - eslint: 7.30.0 + eslint: 7.31.0 rimraf: 3.0.2 rollup: 1.32.1 rollup-plugin-node-resolve: 3.4.0 @@ -11911,7 +11918,7 @@ packages: tslib: 2.3.0 typedoc: 0.15.2 typescript: 4.2.4 - uglify-js: 3.13.10 + uglify-js: 3.14.0 dev: false name: '@rush-temp/synapse-spark' resolution: @@ -11932,7 +11939,7 @@ packages: cross-env: 7.0.3 dotenv: 8.6.0 downlevel-dts: 0.4.0 - eslint: 7.30.0 + eslint: 7.31.0 esm: 3.2.25 inherits: 2.0.4 karma: 6.3.4 @@ -11968,8 +11975,8 @@ packages: dependencies: '@types/minimist': 1.2.2 '@types/node': 12.20.16 - '@types/node-fetch': 2.5.11 - eslint: 7.30.0 + '@types/node-fetch': 2.5.12 + eslint: 7.31.0 karma: 6.3.4 karma-chrome-launcher: 3.1.0 karma-coverage: 2.0.3 @@ -12003,7 +12010,7 @@ packages: '@types/node': 12.20.16 chai: 4.3.4 dotenv: 8.6.0 - eslint: 7.30.0 + eslint: 7.31.0 fs-extra: 8.1.0 karma: 6.3.4 karma-chrome-launcher: 3.1.0 @@ -12054,7 +12061,7 @@ packages: '@types/sinon': 9.0.11 chai: 4.3.4 chai-as-promised: 7.1.1_chai@4.3.4 - eslint: 7.30.0 + eslint: 7.31.0 karma: 6.3.4 karma-chrome-launcher: 3.1.0 karma-coverage: 2.0.3 @@ -12085,7 +12092,7 @@ packages: chai-as-promised: 7.1.1_chai@4.3.4 cross-env: 7.0.3 dotenv: 8.6.0 - eslint: 7.30.0 + eslint: 7.31.0 events: 3.3.0 inherits: 2.0.4 karma: 6.3.4 @@ -12136,7 +12143,7 @@ packages: cloudevents: 4.0.3 cross-env: 7.0.3 dotenv: 8.6.0 - eslint: 7.30.0 + eslint: 7.31.0 esm: 3.2.25 karma: 6.3.4 karma-chrome-launcher: 3.1.0 @@ -12177,7 +12184,7 @@ packages: file:projects/web-pubsub.tgz: dependencies: '@azure/core-tracing': 1.0.0-preview.13 - '@azure/identity': 1.4.0 + '@azure/identity': 1.5.0 '@microsoft/api-extractor': 7.7.11 '@rollup/plugin-commonjs': 11.0.2_rollup@1.32.1 '@rollup/plugin-json': 4.1.0_rollup@1.32.1 @@ -12193,7 +12200,7 @@ packages: chai: 4.3.4 cross-env: 7.0.3 dotenv: 8.6.0 - eslint: 7.30.0 + eslint: 7.31.0 esm: 3.2.25 jsonwebtoken: 8.5.1 karma: 6.3.4 @@ -12232,7 +12239,6 @@ packages: integrity: sha512-fFkflheVi4tQ6f+xpKy4BivOUnSwGqkdqBFoyqWF9xicse3ow+t35KTb68rGUK/SyfOef6zc62VHtYpwCt4K5A== tarball: file:projects/web-pubsub.tgz version: 0.0.0 -registry: '' specifiers: '@rush-temp/abort-controller': file:./projects/abort-controller.tgz '@rush-temp/agrifood-farming': file:./projects/agrifood-farming.tgz diff --git a/sdk/monitor/monitor-opentelemetry-exporter/src/export/trace.ts b/sdk/monitor/monitor-opentelemetry-exporter/src/export/trace.ts index ebe99bc6f66d..a82cba63ad84 100644 --- a/sdk/monitor/monitor-opentelemetry-exporter/src/export/trace.ts +++ b/sdk/monitor/monitor-opentelemetry-exporter/src/export/trace.ts @@ -122,11 +122,7 @@ export class AzureMonitorTraceExporter implements SpanExporter { } } catch (error) { const restError = error as RestError; - if ( - restError.statusCode && - (restError.statusCode === 307 || // Temporary redirect - restError.statusCode === 308) - ) { + if (restError.statusCode && restError.statusCode === 308) { // Permanent redirect this._numConsecutiveRedirects++; // To prevent circular redirects diff --git a/sdk/monitor/monitor-opentelemetry-exporter/test/internal/trace.exporter.test.ts b/sdk/monitor/monitor-opentelemetry-exporter/test/internal/trace.exporter.test.ts index 3ff576079e19..2fd778417ec4 100644 --- a/sdk/monitor/monitor-opentelemetry-exporter/test/internal/trace.exporter.test.ts +++ b/sdk/monitor/monitor-opentelemetry-exporter/test/internal/trace.exporter.test.ts @@ -170,74 +170,6 @@ describe("#AzureMonitorBaseExporter", () => { redirectHost ); }); - - it("should handle temporary redirects in Azure Monitor", async () => { - const exporter = new TestExporter(); - const redirectHost = "https://ukwest-0.in.applicationinsights.azure.com"; - const redirectLocation = redirectHost + "/v2/track"; - // Redirect endpoint - const redirectScope = nock(redirectHost).post("/v2/track", () => { - return true; - }); - redirectScope.reply(200, JSON.stringify(successfulBreezeResponse(1))); - scope.reply(307, {}, { location: redirectLocation }); - - const result = await exporter.exportEnvelopesPrivate([envelope]); - const persistedEnvelopes = (await exporter["_persister"].shift()) as Envelope[]; - assert.strictEqual(persistedEnvelopes, null); - assert.strictEqual(result.code, ExportResultCode.SUCCESS); - assert.strictEqual( - (exporter["_sender"])["_appInsightsClient"]["host"], - redirectHost - ); - }); - - it("should use redirect URL for following requests", async () => { - const exporter = new TestExporter(); - const redirectHost = "https://ukwest-0.in.applicationinsights.azure.com"; - const redirectLocation = redirectHost + "/v2/track"; - // Redirect endpoint - const redirectScope = nock(redirectHost).post("/v2/track", () => { - return true; - }); - redirectScope.twice().reply(200, JSON.stringify(successfulBreezeResponse(1))); - scope.reply(307, {}, { location: redirectLocation }); - let result = await exporter.exportEnvelopesPrivate([envelope]); - assert.strictEqual(result.code, ExportResultCode.SUCCESS); - assert.strictEqual( - (exporter["_sender"])["_appInsightsClient"]["host"], - redirectHost - ); - result = await exporter.exportEnvelopesPrivate([envelope]); - assert.strictEqual(result.code, ExportResultCode.SUCCESS); - assert.strictEqual( - (exporter["_sender"])["_appInsightsClient"]["host"], - redirectHost - ); - }); - - it("should stop redirecting when circular redirect is triggered", async () => { - const exporter = new TestExporter(); - const redirectHost = "https://ukwest-0.in.applicationinsights.azure.com"; - const redirectLocation = redirectHost + "/v2/track"; - // Redirect endpoint - const redirectScope = nock(redirectHost).post("/v2/track", () => { - return true; - }); - // Circle redirect - scope - .reply(307, JSON.stringify(successfulBreezeResponse(1)), { location: redirectLocation }) - .persist(); - redirectScope - .reply(307, JSON.stringify(successfulBreezeResponse(1)), { - location: DEFAULT_BREEZE_ENDPOINT - }) - .persist(); - - const result = await exporter.exportEnvelopesPrivate([envelope]); - assert.strictEqual(result.code, ExportResultCode.FAILED); - assert.strictEqual(result.error?.message, "Circular redirect"); - }); }); }); }); From 31013e53910445e0d3773b51da2faa46e8d7311b Mon Sep 17 00:00:00 2001 From: xiao-lix Date: Fri, 23 Jul 2021 13:00:30 -0700 Subject: [PATCH 4/8] address comments --- common/config/rush/pnpm-lock.yaml | 701 +++++++++--------- .../swagger/README.md | 5 +- .../test/internal/trace.exporter.test.ts | 12 + 3 files changed, 370 insertions(+), 348 deletions(-) diff --git a/common/config/rush/pnpm-lock.yaml b/common/config/rush/pnpm-lock.yaml index 953fb74e1404..cafc29143f8e 100644 --- a/common/config/rush/pnpm-lock.yaml +++ b/common/config/rush/pnpm-lock.yaml @@ -163,24 +163,24 @@ packages: dev: false resolution: integrity: sha512-RVG1Ad3Afv9gwFFmpeCXQAm+Sa0L8KEZRJJAAZEGoYDb6EoO1iQDVmoBz720h8mdrGpi0D60xNU/KhriIwuZfQ== - /@azure/communication-common/1.1.0: + /@azure/communication-common/1.0.0: dependencies: '@azure/abort-controller': 1.0.4 '@azure/core-auth': 1.3.2 - '@azure/core-http': 2.1.0 - '@azure/core-tracing': 1.0.0-preview.13 + '@azure/core-http': 1.2.6 + '@opentelemetry/api': 0.10.2 events: 3.3.0 jwt-decode: 2.2.0 tslib: 2.3.0 dev: false engines: - node: '>=12.0.0' + node: '>=8.0.0' resolution: - integrity: sha512-vqTtzDtb4NG3LWoWoqlOOJApZRRIIImNUKlGyTa6c1YC+v5A7UEOL9TX8NRDxvFVUF2wDHsSnkhLBVBgkcAhIQ== + integrity: sha512-kBWnamOow0COBPHkkUKaQl4wVMlkOpTDFmvRRW+JN3+JIM9ca1l1wdZA3Q6XfpYdpqoI+tVICr3+3SxyF7ulxw== /@azure/communication-identity/1.0.0: dependencies: '@azure/abort-controller': 1.0.4 - '@azure/communication-common': 1.1.0 + '@azure/communication-common': 1.0.0 '@azure/core-auth': 1.3.2 '@azure/core-http': 1.2.6 '@azure/core-lro': 1.0.5 @@ -221,19 +221,6 @@ packages: node: '>=12.0.0' resolution: integrity: sha512-7CU6DmCHIZp5ZPiZ9r3J17lTKMmYsm/zGvNkjArQwPkrLlZ1TZ+EUYfGgh2X31OLMVAQCTJZW4cXHJi02EbJnA== - /@azure/core-client/1.2.2: - dependencies: - '@azure/abort-controller': 1.0.4 - '@azure/core-asynciterator-polyfill': 1.0.0 - '@azure/core-auth': 1.3.2 - '@azure/core-rest-pipeline': 1.1.1 - '@azure/core-tracing': 1.0.0-preview.12 - tslib: 2.3.0 - dev: false - engines: - node: '>=12.0.0' - resolution: - integrity: sha512-VYFR2qiczjBrSfpQSbo5s8FJhXaJFz2tP01MOrpNJaOqnSNEKcY35I79b1Ty7s8qHGvc5/YMJ745l3B7abncFQ== /@azure/core-http/1.2.3: dependencies: '@azure/abort-controller': 1.0.4 @@ -241,7 +228,7 @@ packages: '@azure/core-tracing': 1.0.0-preview.9 '@azure/logger': 1.0.2 '@opentelemetry/api': 0.10.2 - '@types/node-fetch': 2.5.12 + '@types/node-fetch': 2.5.11 '@types/tunnel': 0.0.1 form-data: 3.0.1 node-fetch: 2.6.1 @@ -263,7 +250,7 @@ packages: '@azure/core-auth': 1.3.2 '@azure/core-tracing': 1.0.0-preview.11 '@azure/logger': 1.0.2 - '@types/node-fetch': 2.5.12 + '@types/node-fetch': 2.5.11 '@types/tunnel': 0.0.1 form-data: 3.0.1 node-fetch: 2.6.1 @@ -278,14 +265,14 @@ packages: node: '>=8.0.0' resolution: integrity: sha512-odtH7UMKtekc5YQ86xg9GlVHNXR6pq2JgJ5FBo7/jbOjNGdBqcrIVrZx2bevXVJz/uUTSx6vUf62gzTXTfqYSQ== - /@azure/core-http/2.1.0: + /@azure/core-http/2.0.0: dependencies: '@azure/abort-controller': 1.0.4 '@azure/core-asynciterator-polyfill': 1.0.0 '@azure/core-auth': 1.3.2 - '@azure/core-tracing': 1.0.0-preview.13 + '@azure/core-tracing': 1.0.0-preview.12 '@azure/logger': 1.0.2 - '@types/node-fetch': 2.5.12 + '@types/node-fetch': 2.5.11 '@types/tunnel': 0.0.1 form-data: 3.0.1 node-fetch: 2.6.1 @@ -299,7 +286,7 @@ packages: engines: node: '>=12.0.0' resolution: - integrity: sha512-Pzj87F4b1RH4PFDUpxkZqCdDZ35c5AjDCt3lsTn3i7yCtrXasEm6PVJYhjwsvYYmtgM7aDZIXexcu/qLLf7kyA== + integrity: sha512-VBOfUh0z9ZF1WVqrLCtiGWMjkKic171p6mLXRkJKu+p5wuQTb4cU3bPq7nB6UuGAK17LI7hnU0SzydlCQrBuOw== /@azure/core-lro/1.0.5: dependencies: '@azure/abort-controller': 1.0.4 @@ -320,22 +307,6 @@ packages: node: '>=8.0.0' resolution: integrity: sha512-his7Ah40ThEYORSpIAwuh6B8wkGwO/zG7gqVtmSE4WAJ46e36zUDXTKReUCLBDc6HmjjApQQxxcRFy5FruG79A== - /@azure/core-rest-pipeline/1.1.1: - dependencies: - '@azure/abort-controller': 1.0.4 - '@azure/core-auth': 1.3.2 - '@azure/core-tracing': 1.0.0-preview.12 - '@azure/logger': 1.0.2 - form-data: 3.0.1 - http-proxy-agent: 4.0.1 - https-proxy-agent: 5.0.0 - tslib: 2.3.0 - uuid: 8.3.2 - dev: false - engines: - node: '>=12.0.0' - resolution: - integrity: sha512-ObF8iTEDXIG7/NlL28ni9bR3XLJwgm2S3GWO4aNW6CsTCFVoY9HMdbBtN7xOB+pUQwifehifXNnootbzzuwJnw== /@azure/core-tracing/1.0.0-preview.10: dependencies: '@opencensus/web-types': 0.0.7 @@ -409,7 +380,7 @@ packages: integrity: sha512-CxaMaEjwtsmIhWtjHyGimKO7RmES0YxPqGQ9+jKqGygNlhG5NYHktDaiQu6w7k3g+I51VaLXtVSt+BVFd6VWfQ== /@azure/identity/1.2.5_debug@4.3.2: dependencies: - '@azure/core-http': 1.2.3 + '@azure/core-http': 1.2.6 '@azure/core-tracing': 1.0.0-preview.9 '@azure/logger': 1.0.2 '@azure/msal-node': 1.0.0-beta.6_debug@4.3.2 @@ -418,7 +389,7 @@ packages: axios: 0.21.1_debug@4.3.2 events: 3.3.0 jws: 4.0.0 - msal: 1.4.12 + msal: 1.4.11 open: 7.4.2 qs: 6.10.1 stoppable: 1.1.0 @@ -433,11 +404,9 @@ packages: debug: '*' resolution: integrity: sha512-Q71Buur3RMcg6lCnisLL8Im562DBw+ybzgm+YQj/FbAaI8ZNu/zl/5z1fE4k3Q9LSIzYrz6HLRzlhdSBXpydlQ== - /@azure/identity/1.5.0: + /@azure/identity/1.4.0: dependencies: - '@azure/core-auth': 1.3.2 - '@azure/core-client': 1.2.2 - '@azure/core-rest-pipeline': 1.1.1 + '@azure/core-http': 2.0.0 '@azure/core-tracing': 1.0.0-preview.12 '@azure/logger': 1.0.2 '@azure/msal-node': 1.0.0-beta.6 @@ -445,7 +414,7 @@ packages: axios: 0.21.1 events: 3.3.0 jws: 4.0.0 - msal: 1.4.12 + msal: 1.4.11 open: 7.4.2 qs: 6.10.1 stoppable: 1.1.0 @@ -457,12 +426,10 @@ packages: optionalDependencies: keytar: 7.7.0 resolution: - integrity: sha512-djgywuWtX6720seqNOPmGM1hY54oHnjRT0MLIOzacMARTZuEtAIaFFvMPBlUIMQdtSGhdjH+/MS1/9PE8j83eA== - /@azure/identity/1.5.0_debug@4.3.2: + integrity: sha512-nusX+L1qrCuQbRWQqPcgUCj07EvDVOgPVMnNS/cVtH8lfaGjWU6vdDJ49gROruh1jNjjZC0qpJBaM7OsK84zkw== + /@azure/identity/1.4.0_debug@4.3.2: dependencies: - '@azure/core-auth': 1.3.2 - '@azure/core-client': 1.2.2 - '@azure/core-rest-pipeline': 1.1.1 + '@azure/core-http': 2.0.0 '@azure/core-tracing': 1.0.0-preview.12 '@azure/logger': 1.0.2 '@azure/msal-node': 1.0.0-beta.6_debug@4.3.2 @@ -470,7 +437,7 @@ packages: axios: 0.21.1_debug@4.3.2 events: 3.3.0 jws: 4.0.0 - msal: 1.4.12 + msal: 1.4.11 open: 7.4.2 qs: 6.10.1 stoppable: 1.1.0 @@ -484,17 +451,17 @@ packages: peerDependencies: debug: '*' resolution: - integrity: sha512-djgywuWtX6720seqNOPmGM1hY54oHnjRT0MLIOzacMARTZuEtAIaFFvMPBlUIMQdtSGhdjH+/MS1/9PE8j83eA== + integrity: sha512-nusX+L1qrCuQbRWQqPcgUCj07EvDVOgPVMnNS/cVtH8lfaGjWU6vdDJ49gROruh1jNjjZC0qpJBaM7OsK84zkw== /@azure/identity/2.0.0-beta.4: dependencies: '@azure/abort-controller': 1.0.4 '@azure/core-auth': 1.3.2 - '@azure/core-http': 2.1.0 + '@azure/core-http': 2.0.0 '@azure/core-tracing': 1.0.0-preview.12 '@azure/logger': 1.0.2 - '@azure/msal-browser': 2.16.0 - '@azure/msal-common': 4.5.0 - '@azure/msal-node': 1.3.0 + '@azure/msal-browser': 2.15.0 + '@azure/msal-common': 4.4.0 + '@azure/msal-node': 1.2.0 '@types/stoppable': 1.1.1 events: 3.3.0 jws: 4.0.0 @@ -512,12 +479,12 @@ packages: dependencies: '@azure/abort-controller': 1.0.4 '@azure/core-auth': 1.3.2 - '@azure/core-http': 2.1.0 + '@azure/core-http': 2.0.0 '@azure/core-tracing': 1.0.0-preview.12 '@azure/logger': 1.0.2 - '@azure/msal-browser': 2.16.0 - '@azure/msal-common': 4.5.0 - '@azure/msal-node': 1.3.0_debug@4.3.2 + '@azure/msal-browser': 2.15.0 + '@azure/msal-common': 4.4.0 + '@azure/msal-node': 1.2.0_debug@4.3.2 '@types/stoppable': 1.1.1 events: 3.3.0 jws: 4.0.0 @@ -627,7 +594,7 @@ packages: debug: '*' resolution: integrity: sha512-2AyQ1IKmLGKW7DU3/x3TsTBzZLcbC9YRI+yuDPuXAQrv3zar340K9wsxU413kHFIDjkWNCo9T0w5VtwcyWxhbQ== - /@azure/ms-rest-js/2.5.3: + /@azure/ms-rest-js/2.5.2: dependencies: '@azure/core-auth': 1.3.2 abort-controller: 3.0.0 @@ -636,11 +603,11 @@ packages: tough-cookie: 3.0.1 tslib: 1.14.1 tunnel: 0.0.6 - uuid: 8.3.2 + uuid: 3.4.0 xml2js: 0.4.23 dev: false resolution: - integrity: sha512-OZ7qJwazS2nSRtZOA6+0k7x+RJ9D2P0IyUl9iHycyjgtQlINALNRutGqQeBirhIEx2IRQs9TMnnxoh/yRkFEAw== + integrity: sha512-9nCuuoYwHZEZw1t0MVtENH+c1k2R4maYAlBBDSZhZu6bEucyfYUUigNXXKjt2cFBt4sO+sTzi0uI0f/fiPFr+Q== /@azure/ms-rest-nodeauth/0.9.3_debug@3.2.7: dependencies: '@azure/ms-rest-azure-env': 1.1.2 @@ -664,19 +631,19 @@ packages: /@azure/ms-rest-nodeauth/3.0.10: dependencies: '@azure/ms-rest-azure-env': 2.0.0 - '@azure/ms-rest-js': 2.5.3 + '@azure/ms-rest-js': 2.5.2 adal-node: 0.2.2 dev: false resolution: integrity: sha512-oel7ibYlredh2wo7XwNYMx4jWlbMkIzCC8t8VpdhsAWDJVNSSce+DYj5jjZn1oED+QsCytVM2B7/QTuLN1/yDw== - /@azure/msal-browser/2.16.0: + /@azure/msal-browser/2.15.0: dependencies: - '@azure/msal-common': 4.5.0 + '@azure/msal-common': 4.4.0 dev: false engines: node: '>=0.8.0' resolution: - integrity: sha512-Q8Ala9cdA1cq5qEjFCezcwPfAlaTgdKkKx7vS7IJAJUlMnygtcbaBPMOeSostrve5sjLprouFaXCziZKYerr+Q== + integrity: sha512-Du0BHQiDQgkqg6OoKovUZWdEIZbTnhh/lma7QLyi5jFKDekk78wXsFIOJLUcFoY97+ZhB+Y2WQOYT1DJphAdCg== /@azure/msal-common/1.7.2: dependencies: debug: 4.3.2 @@ -685,14 +652,14 @@ packages: node: '>=0.8.0' resolution: integrity: sha512-3/voCdFKONENX+5tMrNOBSrVJb6NbE7YB8vc4FZ/4ZbjpK7GVtq9Bu1MW+HZhrmsUzSF/joHx0ZIJDYIequ/jg== - /@azure/msal-common/4.5.0: + /@azure/msal-common/4.4.0: dependencies: debug: 4.3.2 dev: false engines: node: '>=0.8.0' resolution: - integrity: sha512-eXI3GamyjU29Mttn+5mWU47Su4DtgAZF6xmIrnIq271dz6VKJDBmU1dEbUUYqZeVSzxdcraX7BR85kKof11Tig== + integrity: sha512-Qrs33Ctt2KM7NxArFPIUKc8UbIcm7zYxJFdJeQ9k7HKBhVk3e88CUz1Mw33cS/Jr+YA1H02OAzHg++bJ+4SFyQ== /@azure/msal-node-extensions/1.0.0-alpha.7: dependencies: '@azure/msal-common': 1.7.2 @@ -707,7 +674,7 @@ packages: integrity: sha512-fz+4sTFCnpFDYrJ/FrJ3bx3atUEQ5sUhsZYohUyC9yACxII9kn908hBsxl+xeuzheTN/bq45EZureMioSEogNw== /@azure/msal-node/1.0.0-beta.6: dependencies: - '@azure/msal-common': 4.5.0 + '@azure/msal-common': 4.4.0 axios: 0.21.1 jsonwebtoken: 8.5.1 uuid: 8.3.2 @@ -716,7 +683,7 @@ packages: integrity: sha512-ZQI11Uz1j0HJohb9JZLRD8z0moVcPks1AFW4Q/Gcl67+QvH4aKEJti7fjCcipEEZYb/qzLSO8U6IZgPYytsiJQ== /@azure/msal-node/1.0.0-beta.6_debug@4.3.2: dependencies: - '@azure/msal-common': 4.5.0 + '@azure/msal-common': 4.4.0 axios: 0.21.1_debug@4.3.2 jsonwebtoken: 8.5.1 uuid: 8.3.2 @@ -725,9 +692,9 @@ packages: debug: '*' resolution: integrity: sha512-ZQI11Uz1j0HJohb9JZLRD8z0moVcPks1AFW4Q/Gcl67+QvH4aKEJti7fjCcipEEZYb/qzLSO8U6IZgPYytsiJQ== - /@azure/msal-node/1.3.0: + /@azure/msal-node/1.2.0: dependencies: - '@azure/msal-common': 4.5.0 + '@azure/msal-common': 4.4.0 axios: 0.21.1 jsonwebtoken: 8.5.1 uuid: 8.3.2 @@ -735,10 +702,10 @@ packages: engines: node: 10 || 12 || 14 || 16 resolution: - integrity: sha512-BM5S5sMB6N0aPux4l85NnRNO/5/G+w3oT+JtLbMDBsc/aUxLVYoWMmxVECrYzlQRm5QZzFWRo04Rv5AnAF7z2g== - /@azure/msal-node/1.3.0_debug@4.3.2: + integrity: sha512-79o5n483vslc7Qegh9+0BsxODRmlk6YYjVdl9jvwmAuF+i+oylq57e7RVhTVocKCbLCIMOKARI14JyKdDbW0WA== + /@azure/msal-node/1.2.0_debug@4.3.2: dependencies: - '@azure/msal-common': 4.5.0 + '@azure/msal-common': 4.4.0 axios: 0.21.1_debug@4.3.2 jsonwebtoken: 8.5.1 uuid: 8.3.2 @@ -748,7 +715,22 @@ packages: peerDependencies: debug: '*' resolution: - integrity: sha512-BM5S5sMB6N0aPux4l85NnRNO/5/G+w3oT+JtLbMDBsc/aUxLVYoWMmxVECrYzlQRm5QZzFWRo04Rv5AnAF7z2g== + integrity: sha512-79o5n483vslc7Qegh9+0BsxODRmlk6YYjVdl9jvwmAuF+i+oylq57e7RVhTVocKCbLCIMOKARI14JyKdDbW0WA== + /@azure/storage-blob/12.6.0: + dependencies: + '@azure/abort-controller': 1.0.4 + '@azure/core-http': 1.2.6 + '@azure/core-lro': 1.0.5 + '@azure/core-paging': 1.1.3 + '@azure/core-tracing': 1.0.0-preview.11 + '@azure/logger': 1.0.2 + events: 3.3.0 + tslib: 2.3.0 + dev: false + engines: + node: '>=8.0.0' + resolution: + integrity: sha512-cAzsae+5ZdhugQfIT7o5SlVyF2Sc+HygZdPO41ZYdXklfGUyEt+5K4PyM5HQDc0MTVt6x7+waXcaAXT2eF9E6A== /@babel/code-frame/7.12.11: dependencies: '@babel/highlight': 7.14.5 @@ -769,17 +751,17 @@ packages: node: '>=6.9.0' resolution: integrity: sha512-nS6dZaISCXJ3+518CWiBfEr//gHyMO02uDxBkXTKZDN5POruCnOZ1N4YBRZDCabwF8nZMWBpRxIicmXtBs+fvw== - /@babel/core/7.14.8: + /@babel/core/7.14.6: dependencies: '@babel/code-frame': 7.14.5 - '@babel/generator': 7.14.8 - '@babel/helper-compilation-targets': 7.14.5_@babel+core@7.14.8 - '@babel/helper-module-transforms': 7.14.8 - '@babel/helpers': 7.14.8 - '@babel/parser': 7.14.8 + '@babel/generator': 7.14.5 + '@babel/helper-compilation-targets': 7.14.5_@babel+core@7.14.6 + '@babel/helper-module-transforms': 7.14.5 + '@babel/helpers': 7.14.6 + '@babel/parser': 7.14.7 '@babel/template': 7.14.5 - '@babel/traverse': 7.14.8 - '@babel/types': 7.14.8 + '@babel/traverse': 7.14.7 + '@babel/types': 7.14.5 convert-source-map: 1.8.0 debug: 4.3.2 gensync: 1.0.0-beta.2 @@ -790,21 +772,21 @@ packages: engines: node: '>=6.9.0' resolution: - integrity: sha512-/AtaeEhT6ErpDhInbXmjHcUQXH0L0TEgscfcxk1qbOvLuKCa5aZT0SOOtDKFY96/CLROwbLSKyFor6idgNaU4Q== - /@babel/generator/7.14.8: + integrity: sha512-gJnOEWSqTk96qG5BoIrl5bVtc23DCycmIePPYnamY9RboYdI4nFy5vAQMSl81O5K/W0sLDWfGysnOECC+KUUCA== + /@babel/generator/7.14.5: dependencies: - '@babel/types': 7.14.8 + '@babel/types': 7.14.5 jsesc: 2.5.2 source-map: 0.5.7 dev: false engines: node: '>=6.9.0' resolution: - integrity: sha512-cYDUpvIzhBVnMzRoY1fkSEhK/HmwEVwlyULYgn/tMQYd6Obag3ylCjONle3gdErfXBW61SVTlR9QR7uWlgeIkg== - /@babel/helper-compilation-targets/7.14.5_@babel+core@7.14.8: + integrity: sha512-y3rlP+/G25OIX3mYKKIOlQRcqj7YgrvHxOLbVmyLJ9bPmi5ttvUmpydVjcFjZphOktWuA7ovbx91ECloWTfjIA== + /@babel/helper-compilation-targets/7.14.5_@babel+core@7.14.6: dependencies: '@babel/compat-data': 7.14.7 - '@babel/core': 7.14.8 + '@babel/core': 7.14.6 '@babel/helper-validator-option': 7.14.5 browserslist: 4.16.6 semver: 6.3.0 @@ -819,7 +801,7 @@ packages: dependencies: '@babel/helper-get-function-arity': 7.14.5 '@babel/template': 7.14.5 - '@babel/types': 7.14.8 + '@babel/types': 7.14.5 dev: false engines: node: '>=6.9.0' @@ -827,7 +809,7 @@ packages: integrity: sha512-Gjna0AsXWfFvrAuX+VKcN/aNNWonizBj39yGwUzVDVTlMYJMK2Wp6xdpy72mfArFq5uK+NOuexfzZlzI1z9+AQ== /@babel/helper-get-function-arity/7.14.5: dependencies: - '@babel/types': 7.14.8 + '@babel/types': 7.14.5 dev: false engines: node: '>=6.9.0' @@ -835,7 +817,7 @@ packages: integrity: sha512-I1Db4Shst5lewOM4V+ZKJzQ0JGGaZ6VY1jYvMghRjqs6DWgxLCIyFt30GlnKkfUeFLpJt2vzbMVEXVSXlIFYUg== /@babel/helper-hoist-variables/7.14.5: dependencies: - '@babel/types': 7.14.8 + '@babel/types': 7.14.5 dev: false engines: node: '>=6.9.0' @@ -843,7 +825,7 @@ packages: integrity: sha512-R1PXiz31Uc0Vxy4OEOm07x0oSjKAdPPCh3tPivn/Eo8cvz6gveAeuyUUPB21Hoiif0uoPQSSdhIPS3352nvdyQ== /@babel/helper-member-expression-to-functions/7.14.7: dependencies: - '@babel/types': 7.14.8 + '@babel/types': 7.14.5 dev: false engines: node: '>=6.9.0' @@ -851,30 +833,30 @@ packages: integrity: sha512-TMUt4xKxJn6ccjcOW7c4hlwyJArizskAhoSTOCkA0uZ+KghIaci0Qg9R043kUMWI9mtQfgny+NQ5QATnZ+paaA== /@babel/helper-module-imports/7.14.5: dependencies: - '@babel/types': 7.14.8 + '@babel/types': 7.14.5 dev: false engines: node: '>=6.9.0' resolution: integrity: sha512-SwrNHu5QWS84XlHwGYPDtCxcA0hrSlL2yhWYLgeOc0w7ccOl2qv4s/nARI0aYZW+bSwAL5CukeXA47B/1NKcnQ== - /@babel/helper-module-transforms/7.14.8: + /@babel/helper-module-transforms/7.14.5: dependencies: '@babel/helper-module-imports': 7.14.5 '@babel/helper-replace-supers': 7.14.5 - '@babel/helper-simple-access': 7.14.8 + '@babel/helper-simple-access': 7.14.5 '@babel/helper-split-export-declaration': 7.14.5 - '@babel/helper-validator-identifier': 7.14.8 + '@babel/helper-validator-identifier': 7.14.5 '@babel/template': 7.14.5 - '@babel/traverse': 7.14.8 - '@babel/types': 7.14.8 + '@babel/traverse': 7.14.7 + '@babel/types': 7.14.5 dev: false engines: node: '>=6.9.0' resolution: - integrity: sha512-RyE+NFOjXn5A9YU1dkpeBaduagTlZ0+fccnIcAGbv1KGUlReBj7utF7oEth8IdIBQPcux0DDgW5MFBH2xu9KcA== + integrity: sha512-iXpX4KW8LVODuAieD7MzhNjmM6dzYY5tfRqT+R9HDXWl0jPn/djKmA+G9s/2C2T9zggw5tK1QNqZ70USfedOwA== /@babel/helper-optimise-call-expression/7.14.5: dependencies: - '@babel/types': 7.14.8 + '@babel/types': 7.14.5 dev: false engines: node: '>=6.9.0' @@ -884,54 +866,54 @@ packages: dependencies: '@babel/helper-member-expression-to-functions': 7.14.7 '@babel/helper-optimise-call-expression': 7.14.5 - '@babel/traverse': 7.14.8 - '@babel/types': 7.14.8 + '@babel/traverse': 7.14.7 + '@babel/types': 7.14.5 dev: false engines: node: '>=6.9.0' resolution: integrity: sha512-3i1Qe9/8x/hCHINujn+iuHy+mMRLoc77b2nI9TB0zjH1hvn9qGlXjWlggdwUcju36PkPCy/lpM7LLUdcTyH4Ow== - /@babel/helper-simple-access/7.14.8: + /@babel/helper-simple-access/7.14.5: dependencies: - '@babel/types': 7.14.8 + '@babel/types': 7.14.5 dev: false engines: node: '>=6.9.0' resolution: - integrity: sha512-TrFN4RHh9gnWEU+s7JloIho2T76GPwRHhdzOWLqTrMnlas8T9O7ec+oEDNsRXndOmru9ymH9DFrEOxpzPoSbdg== + integrity: sha512-nfBN9xvmCt6nrMZjfhkl7i0oTV3yxR4/FztsbOASyTvVcoYd0TRHh7eMLdlEcCqobydC0LAF3LtC92Iwxo0wyw== /@babel/helper-split-export-declaration/7.14.5: dependencies: - '@babel/types': 7.14.8 + '@babel/types': 7.14.5 dev: false engines: node: '>=6.9.0' resolution: integrity: sha512-hprxVPu6e5Kdp2puZUmvOGjaLv9TCe58E/Fl6hRq4YiVQxIcNvuq6uTM2r1mT/oPskuS9CgR+I94sqAYv0NGKA== - /@babel/helper-validator-identifier/7.14.8: + /@babel/helper-validator-identifier/7.14.5: dev: false engines: node: '>=6.9.0' resolution: - integrity: sha512-ZGy6/XQjllhYQrNw/3zfWRwZCTVSiBLZ9DHVZxn9n2gip/7ab8mv2TWlKPIBk26RwedCBoWdjLmn+t9na2Gcow== + integrity: sha512-5lsetuxCLilmVGyiLEfoHBRX8UCFD+1m2x3Rj97WrW3V7H3u4RWRXA4evMjImCsin2J2YT0QaVDGf+z8ondbAg== /@babel/helper-validator-option/7.14.5: dev: false engines: node: '>=6.9.0' resolution: integrity: sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow== - /@babel/helpers/7.14.8: + /@babel/helpers/7.14.6: dependencies: '@babel/template': 7.14.5 - '@babel/traverse': 7.14.8 - '@babel/types': 7.14.8 + '@babel/traverse': 7.14.7 + '@babel/types': 7.14.5 dev: false engines: node: '>=6.9.0' resolution: - integrity: sha512-ZRDmI56pnV+p1dH6d+UN6GINGz7Krps3+270qqI9UJ4wxYThfAIcI5i7j5vXC4FJ3Wap+S9qcebxeYiqn87DZw== + integrity: sha512-yesp1ENQBiLI+iYHSJdoZKUtRpfTlL1grDIX9NRlAVppljLw/4tTyYupIB7uIYmC3stW/imAv8EqaKaS/ibmeA== /@babel/highlight/7.14.5: dependencies: - '@babel/helper-validator-identifier': 7.14.8 + '@babel/helper-validator-identifier': 7.14.5 chalk: 2.4.2 js-tokens: 4.0.0 dev: false @@ -939,56 +921,56 @@ packages: node: '>=6.9.0' resolution: integrity: sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg== - /@babel/parser/7.14.8: + /@babel/parser/7.14.7: dev: false engines: node: '>=6.0.0' hasBin: true resolution: - integrity: sha512-syoCQFOoo/fzkWDeM0dLEZi5xqurb5vuyzwIMNZRNun+N/9A4cUZeQaE7dTrB8jGaKuJRBtEOajtnmw0I5hvvA== - /@babel/runtime/7.14.8: + integrity: sha512-X67Z5y+VBJuHB/RjwECp8kSl5uYi0BvRbNeWqkaJCVh+LiTPl19WBUfG627psSgp9rSf6ojuXghQM3ha6qHHdA== + /@babel/runtime/7.14.6: dependencies: - regenerator-runtime: 0.13.9 + regenerator-runtime: 0.13.7 dev: false engines: node: '>=6.9.0' resolution: - integrity: sha512-twj3L8Og5SaCRCErB4x4ajbvBIVV77CGeFglHpeg5WC5FF8TZzBWXtTJ4MqaD9QszLYTtr+IsaAL2rEUevb+eg== + integrity: sha512-/PCB2uJ7oM44tz8YhC4Z/6PeOKXp4K588f+5M3clr1M4zbqztlo0XEfJ2LEzj/FgwfgGcIdl8n7YYjTCI0BYwg== /@babel/template/7.14.5: dependencies: '@babel/code-frame': 7.14.5 - '@babel/parser': 7.14.8 - '@babel/types': 7.14.8 + '@babel/parser': 7.14.7 + '@babel/types': 7.14.5 dev: false engines: node: '>=6.9.0' resolution: integrity: sha512-6Z3Po85sfxRGachLULUhOmvAaOo7xCvqGQtxINai2mEGPFm6pQ4z5QInFnUrRpfoSV60BnjyF5F3c+15fxFV1g== - /@babel/traverse/7.14.8: + /@babel/traverse/7.14.7: dependencies: '@babel/code-frame': 7.14.5 - '@babel/generator': 7.14.8 + '@babel/generator': 7.14.5 '@babel/helper-function-name': 7.14.5 '@babel/helper-hoist-variables': 7.14.5 '@babel/helper-split-export-declaration': 7.14.5 - '@babel/parser': 7.14.8 - '@babel/types': 7.14.8 + '@babel/parser': 7.14.7 + '@babel/types': 7.14.5 debug: 4.3.2 globals: 11.12.0 dev: false engines: node: '>=6.9.0' resolution: - integrity: sha512-kexHhzCljJcFNn1KYAQ6A5wxMRzq9ebYpEDV4+WdNyr3i7O44tanbDOR/xjiG2F3sllan+LgwK+7OMk0EmydHg== - /@babel/types/7.14.8: + integrity: sha512-9vDr5NzHu27wgwejuKL7kIOm4bwEtaPQ4Z6cpCmjSuaRqpH/7xc4qcGEscwMqlkwgcXl6MvqoAjZkQ24uSdIZQ== + /@babel/types/7.14.5: dependencies: - '@babel/helper-validator-identifier': 7.14.8 + '@babel/helper-validator-identifier': 7.14.5 to-fast-properties: 2.0.0 dev: false engines: node: '>=6.9.0' resolution: - integrity: sha512-iob4soQa7dZw8nodR/KlOQkPh9S4I8RwCxwRIFuiMRYjOzH/KJzdUfDgz6cGi5dDaclXF4P2PAhCdrBJNIg68Q== + integrity: sha512-M/NzBpEL95I5Hh4dwhin5JlE7EzO5PHMAuzjxss3tiOBD46KfQvVedN/3jEPZvdRvtsK2222XfdHogNIttFgcg== /@bahmutov/data-driven/1.0.0: dependencies: check-more-types: 2.24.0 @@ -998,7 +980,7 @@ packages: node: '>=6' resolution: integrity: sha512-YqW3hPS0RXriqjcCrLOTJj+LWe3c8JpwlL83k1ka1Q8U05ZjAKbGQZYeTzUd0NFEnnfPtsUiKGpFEBJG6kFuvg== - /@eslint/eslintrc/0.4.3: + /@eslint/eslintrc/0.4.2: dependencies: ajv: 6.12.6 debug: 4.3.2 @@ -1013,7 +995,7 @@ packages: engines: node: ^10.12.0 || >=12.0.0 resolution: - integrity: sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw== + integrity: sha512-8nmGq/4ycLpIwzvhI4tNDmQztZ8sp+hI7cyG8i1nQDhkAbRzHpXPidRAHlNvCZQpJTKw5ItIpMw9RSToGF00mg== /@humanwhocodes/config-array/0.5.0: dependencies: '@humanwhocodes/object-schema': 1.2.0 @@ -1630,13 +1612,13 @@ packages: dev: false resolution: integrity: sha512-DPxmjiDwubsNmguG5X4fEJ+XCyzWM3GXWsqQlvUcjJKa91IOoJUy51meDr0GkzK64qqNcq85ymLlyjoct9tInw== - /@types/node-fetch/2.5.12: + /@types/node-fetch/2.5.11: dependencies: '@types/node': 12.20.16 form-data: 3.0.1 dev: false resolution: - integrity: sha512-MKgC4dlq4kKNa/mYrwpKfzQMB5X3ee5U6fSprkKpToBqBmX4nFZL9cW5jl6sWn+xpRJ7ypWh2yyqqr8UUCstSw== + integrity: sha512-2upCKaqVZETDRb8A2VTaRymqFBEgH8u6yr96b/u3+1uQEPDRo3mJLEiPk7vdXBHRtjwkjqzFYMJXrt0Z9QsYjQ== /@types/node/10.17.13: dev: false resolution: @@ -1720,12 +1702,12 @@ packages: dev: false resolution: integrity: sha512-Y2mHTRAbqfFkpjldbkHGY8JIzRN6XqYRliG8/24FcHm2D2PwW24fl5xMRTVGdrb7iMrwCaIEbLWerGIkXuFWVg== - /@types/ws/7.4.7: + /@types/ws/7.4.6: dependencies: '@types/node': 12.20.16 dev: false resolution: - integrity: sha512-JQbbmxZTZehdc2iszGKs5oC3NFnjeay7mtAWrdt7qNtAVK0g19muApzAy4bm9byz79xa2ZnO/BOBC2R8RC5Lww== + integrity: sha512-ijZ1vzRawI7QoWnTNL8KpHixd2b2XVb9I9HAqI3triPsh1EC0xH0Eg6w2O3TKbDCgiNNlJqfrof6j4T2I+l9vw== /@types/xml2js/0.4.9: dependencies: '@types/node': 12.20.16 @@ -1739,13 +1721,13 @@ packages: optional: true resolution: integrity: sha512-8uALY5LTvSuHgloDVUvWP3pIauILm+8/0pDMokuDYIoNsOkSwd5AiHBTSEJjKTDcZr5z8UpgOWZkxBF4iJftoA== - /@typescript-eslint/eslint-plugin/4.19.0_d7723982da0ce5a2c0734c14de26c19d: + /@typescript-eslint/eslint-plugin/4.19.0_1428636775fa8b76297f145f2a9709f8: dependencies: - '@typescript-eslint/experimental-utils': 4.19.0_eslint@7.31.0+typescript@4.2.4 - '@typescript-eslint/parser': 4.19.0_eslint@7.31.0+typescript@4.2.4 + '@typescript-eslint/experimental-utils': 4.19.0_eslint@7.30.0+typescript@4.2.4 + '@typescript-eslint/parser': 4.19.0_eslint@7.30.0+typescript@4.2.4 '@typescript-eslint/scope-manager': 4.19.0 debug: 4.3.2 - eslint: 7.31.0 + eslint: 7.30.0 functional-red-black-tree: 1.0.1 lodash: 4.17.21 regexpp: 3.2.0 @@ -1764,13 +1746,13 @@ packages: optional: true resolution: integrity: sha512-CRQNQ0mC2Pa7VLwKFbrGVTArfdVDdefS+gTw0oC98vSI98IX5A8EVH4BzJ2FOB0YlCmm8Im36Elad/Jgtvveaw== - /@typescript-eslint/experimental-utils/4.19.0_eslint@7.31.0+typescript@4.2.4: + /@typescript-eslint/experimental-utils/4.19.0_eslint@7.30.0+typescript@4.2.4: dependencies: '@types/json-schema': 7.0.8 '@typescript-eslint/scope-manager': 4.19.0 '@typescript-eslint/types': 4.19.0 '@typescript-eslint/typescript-estree': 4.19.0_typescript@4.2.4 - eslint: 7.31.0 + eslint: 7.30.0 eslint-scope: 5.1.1 eslint-utils: 2.1.0 dev: false @@ -1781,13 +1763,13 @@ packages: typescript: '*' resolution: integrity: sha512-9/23F1nnyzbHKuoTqFN1iXwN3bvOm/PRIXSBR3qFAYotK/0LveEOHr5JT1WZSzcD6BESl8kPOG3OoDRKO84bHA== - /@typescript-eslint/parser/4.19.0_eslint@7.31.0+typescript@4.2.4: + /@typescript-eslint/parser/4.19.0_eslint@7.30.0+typescript@4.2.4: dependencies: '@typescript-eslint/scope-manager': 4.19.0 '@typescript-eslint/types': 4.19.0 '@typescript-eslint/typescript-estree': 4.19.0_typescript@4.2.4 debug: 4.3.2 - eslint: 7.31.0 + eslint: 7.30.0 typescript: 4.2.4 dev: false engines: @@ -1931,7 +1913,7 @@ packages: dev: false resolution: integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== - /ajv/8.6.2: + /ajv/8.6.1: dependencies: fast-deep-equal: 3.1.3 json-schema-traverse: 1.0.0 @@ -1939,7 +1921,7 @@ packages: uri-js: 4.4.1 dev: false resolution: - integrity: sha512-9807RlWAgT564wT+DjeyU5OFMPjmzxVobvDFmNAhY+5zD6A2ly3jDp6sgnfyDtlIQ+7H97oc/DGCzzfu9rjw9w== + integrity: sha512-42VLtQUOLefAvKFAQIxIZDaThq6om/PrfP0CYk3/vn+y4BMNkKnbli8ON2QCiHov4KkzOSJ/xSoBJdayiiYvVQ== /ansi-colors/3.2.3: dev: false engines: @@ -2234,7 +2216,7 @@ packages: dependencies: '@azure/core-http': 1.2.3 '@azure/identity': 1.2.5_debug@4.3.2 - '@azure/ms-rest-js': 2.5.3 + '@azure/ms-rest-js': 2.5.2 async: 2.6.3 azure-iot-amqp-base: 2.4.9 azure-iot-common: 1.12.9 @@ -2368,9 +2350,9 @@ packages: integrity: sha1-rrGvKN5sDXpqLOQK22j/GEIq8x8= /browserslist/4.16.6: dependencies: - caniuse-lite: 1.0.30001246 + caniuse-lite: 1.0.30001243 colorette: 1.2.2 - electron-to-chromium: 1.3.785 + electron-to-chromium: 1.3.772 escalade: 3.1.1 node-releases: 1.1.73 dev: false @@ -2452,10 +2434,10 @@ packages: node: '>=6' resolution: integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== - /caniuse-lite/1.0.30001246: + /caniuse-lite/1.0.30001243: dev: false resolution: - integrity: sha512-Tc+ff0Co/nFNbLOrziBXmMVtpt9S2c2Y+Z9Nk9Khj09J+0zR9ejvIW5qkZAErCbOrVODCx/MN+GpB5FNBs5GFA== + integrity: sha512-vNxw9mkTBtkmLFnJRv/2rhs1yufpDfCkBZexG3Y0xdOH2Z/eE/85E4Dl5j1YUN34nZVsSp6vVRFQRrez9wJMRA== /caseless/0.12.0: dev: false resolution: @@ -2868,7 +2850,7 @@ packages: integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== /debug/3.2.6: dependencies: - ms: 2.1.1 + ms: 2.1.3 deprecated: Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797) dev: false resolution: @@ -3117,10 +3099,10 @@ packages: dev: false resolution: integrity: sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0= - /electron-to-chromium/1.3.785: + /electron-to-chromium/1.3.772: dev: false resolution: - integrity: sha512-WmCgAeURsMFiyoJ646eUaJQ7GNfvMRLXo+GamUyKVNEM4MqTAsXyC0f38JEB4N3BtbD0tlAKozGP5E2T9K3YGg== + integrity: sha512-X/6VRCXWALzdX+RjCtBU6cyg8WZgoxm9YA02COmDOiNJEZ59WkQggDbWZ4t/giHi/3GS+cvdrP6gbLISANAGYA== /emoji-regex/7.0.3: dev: false resolution: @@ -3193,7 +3175,7 @@ packages: is-negative-zero: 2.0.1 is-regex: 1.1.3 is-string: 1.0.6 - object-inspect: 1.11.0 + object-inspect: 1.10.3 object-keys: 1.1.1 object.assign: 4.1.2 string.prototype.trimend: 1.0.4 @@ -3264,9 +3246,9 @@ packages: source-map: 0.6.1 resolution: integrity: sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw== - /eslint-config-prettier/7.2.0_eslint@7.31.0: + /eslint-config-prettier/7.2.0_eslint@7.30.0: dependencies: - eslint: 7.31.0 + eslint: 7.30.0 dev: false hasBin: true peerDependencies: @@ -3289,9 +3271,9 @@ packages: node: '>=4' resolution: integrity: sha512-ZXI9B8cxAJIH4nfkhTwcRTEAnrVfobYqwjWy/QMCZ8rHkZHFjf9yO4BzpiF9kCSfNlMG54eKigISHpX0+AaT4A== - /eslint-plugin-es/3.0.1_eslint@7.31.0: + /eslint-plugin-es/3.0.1_eslint@7.30.0: dependencies: - eslint: 7.31.0 + eslint: 7.30.0 eslint-utils: 2.1.0 regexpp: 3.2.0 dev: false @@ -3301,18 +3283,18 @@ packages: eslint: '>=4.19.1' resolution: integrity: sha512-GUmAsJaN4Fc7Gbtl8uOBlayo2DqhwWvEzykMHSCZHU3XdJ+NSzzZcVhXh3VxX5icqQ+oQdIEawXX8xkR3mIFmQ== - /eslint-plugin-import/2.23.4_eslint@7.31.0: + /eslint-plugin-import/2.23.4_eslint@7.30.0: dependencies: array-includes: 3.1.3 array.prototype.flat: 1.2.4 debug: 2.6.9 doctrine: 2.1.0 - eslint: 7.31.0 + eslint: 7.30.0 eslint-import-resolver-node: 0.3.4 eslint-module-utils: 2.6.1 find-up: 2.1.0 has: 1.0.3 - is-core-module: 2.5.0 + is-core-module: 2.4.0 minimatch: 3.0.4 object.values: 1.1.4 pkg-up: 2.0.0 @@ -3332,10 +3314,10 @@ packages: node: '>=4.0.0' resolution: integrity: sha512-T9SmE/g6UV1uZo1oHAqOvL86XWl7Pl2EpRpnLI8g/bkJu+h7XBCB+1LnubRZ2CUQXj805vh4/CYZdnqtVaEo2Q== - /eslint-plugin-node/11.1.0_eslint@7.31.0: + /eslint-plugin-node/11.1.0_eslint@7.30.0: dependencies: - eslint: 7.31.0 - eslint-plugin-es: 3.0.1_eslint@7.31.0 + eslint: 7.30.0 + eslint-plugin-es: 3.0.1_eslint@7.30.0 eslint-utils: 2.1.0 ignore: 5.1.8 minimatch: 3.0.4 @@ -3390,10 +3372,10 @@ packages: node: '>=10' resolution: integrity: sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== - /eslint/7.31.0: + /eslint/7.30.0: dependencies: '@babel/code-frame': 7.12.11 - '@eslint/eslintrc': 0.4.3 + '@eslint/eslintrc': 0.4.2 '@humanwhocodes/config-array': 0.5.0 ajv: 6.12.6 chalk: 4.1.1 @@ -3437,7 +3419,7 @@ packages: node: ^10.12.0 || >=12.0.0 hasBin: true resolution: - integrity: sha512-vafgJpSh2ia8tnTkNUkwxGmnumgckLh5aAbLa1xRmIn9+owi8qBNGKL+B881kNKNTy7FFqTEkpNkUvmw0n6PkA== + integrity: sha512-VLqz80i3as3NdloY44BQSJpFw534L9Oh+6zJOUaViV4JPd+DaHwutqP7tcpkW3YiXbK6s05RZl7yl7cQn+lijg== /esm/3.2.25: dev: false engines: @@ -3658,8 +3640,8 @@ packages: integrity: sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4= /fetch-mock/9.11.0_node-fetch@2.6.1: dependencies: - '@babel/core': 7.14.8 - '@babel/runtime': 7.14.8 + '@babel/core': 7.14.6 + '@babel/runtime': 7.14.6 core-js: 3.15.2 debug: 4.3.2 glob-to-regexp: 0.4.1 @@ -4124,7 +4106,7 @@ packages: node: '>=0.4.7' hasBin: true optionalDependencies: - uglify-js: 3.14.0 + uglify-js: 3.13.10 resolution: integrity: sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA== /har-schema/2.0.0: @@ -4480,12 +4462,12 @@ packages: hasBin: true resolution: integrity: sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w== - /is-core-module/2.5.0: + /is-core-module/2.4.0: dependencies: has: 1.0.3 dev: false resolution: - integrity: sha512-TXCMSDsEHMEEZ6eCA8rwRDbLu55MRGmrctljsBX/2v1d9/GzqHOxW5c5oPSgrUt2vBFXebu9rGqckXGPWOlYpg== + integrity: sha512-6A2fkfq1rfeQZjxrZJGerpLCTHRNEBiSgnu0+obeJpEPZRUooHgsizvzv0ZjJwOz3iWIHdJtVWJ/tmPr3D21/A== /is-date-object/1.0.4: dev: false engines: @@ -4694,11 +4676,11 @@ packages: integrity: sha512-vrRztU9VRRFDyC+aklfLoeXyNdTfga2EI3udDGn4cZ6fpSXpHLV9X6CHvfoMCPtggg8zvDDmC4b9xfu0z6/llA== /istanbul-lib-instrument/3.3.0: dependencies: - '@babel/generator': 7.14.8 - '@babel/parser': 7.14.8 + '@babel/generator': 7.14.5 + '@babel/parser': 7.14.7 '@babel/template': 7.14.5 - '@babel/traverse': 7.14.8 - '@babel/types': 7.14.8 + '@babel/traverse': 7.14.7 + '@babel/types': 7.14.5 istanbul-lib-coverage: 2.0.5 semver: 6.3.0 dev: false @@ -4708,7 +4690,7 @@ packages: integrity: sha512-5nnIN4vo5xQZHdXno/YDXJ0G+I3dAm4XgzfSVTPLQpj/zAV2dV6Juy0yaf10/zrJOJeHoN3fraFe+XRq2bFVZA== /istanbul-lib-instrument/4.0.3: dependencies: - '@babel/core': 7.14.8 + '@babel/core': 7.14.6 '@istanbuljs/schema': 0.1.3 istanbul-lib-coverage: 3.0.0 semver: 6.3.0 @@ -5610,14 +5592,14 @@ packages: dev: false resolution: integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== - /msal/1.4.12: + /msal/1.4.11: dependencies: tslib: 1.14.1 dev: false engines: node: '>=0.8.0' resolution: - integrity: sha512-gjupwQ6nvNL6mZkl5NIXyUmZhTiEMRu5giNdgHMh8l5EPOnV2Xj6nukY1NIxFacSTkEYUSDB47Pej9GxDYf+1w== + integrity: sha512-8vW5/+irlcQQk87r8Qp3/kQEc552hr7FQLJ6GF5LLkqnwJDDxrswz6RYPiQhmiampymIs0PbHVZrNf8m+6DmgQ== /nan/2.14.2: dev: false resolution: @@ -5819,10 +5801,10 @@ packages: node: '>=0.10.0' resolution: integrity: sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= - /object-inspect/1.11.0: + /object-inspect/1.10.3: dev: false resolution: - integrity: sha512-jp7ikS6Sd3GxQfZJPyH3cjcbJF6GZPClgdV+EFygjFLQ5FmW/dRUnTd9PQ9k0JhoNDabWFbpF1yCdSWCC6gexg== + integrity: sha512-e5mCJlSH7poANfC8z8S9s9S2IN5/4Zb3aZ33f5s8YqoazCFzNLloLU8r5VCG+G7WoqLvAAZoVMcy3tp/3X0Plw== /object-keys/1.1.1: dev: false engines: @@ -6324,7 +6306,7 @@ packages: rimraf: 3.0.2 tar-fs: 2.1.1 unbzip2-stream: 1.4.3 - ws: 7.5.3 + ws: 7.5.2 dev: false engines: node: '>=10.18.1' @@ -6535,10 +6517,10 @@ packages: dev: false resolution: integrity: sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg== - /regenerator-runtime/0.13.9: + /regenerator-runtime/0.13.7: dev: false resolution: - integrity: sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA== + integrity: sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew== /regexpp/3.2.0: dev: false engines: @@ -6648,14 +6630,14 @@ packages: integrity: sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w== /resolve/1.19.0: dependencies: - is-core-module: 2.5.0 + is-core-module: 2.4.0 path-parse: 1.0.7 dev: false resolution: integrity: sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg== /resolve/1.20.0: dependencies: - is-core-module: 2.5.0 + is-core-module: 2.4.0 path-parse: 1.0.7 dev: false resolution: @@ -6954,7 +6936,7 @@ packages: dependencies: call-bind: 1.0.2 get-intrinsic: 1.1.1 - object-inspect: 1.11.0 + object-inspect: 1.10.3 dev: false resolution: integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw== @@ -7425,7 +7407,7 @@ packages: integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== /table/6.7.1: dependencies: - ajv: 8.6.2 + ajv: 8.6.1 lodash.clonedeep: 4.5.0 lodash.truncate: 4.4.2 slice-ansi: 4.0.0 @@ -7713,13 +7695,13 @@ packages: dev: false resolution: integrity: sha512-6Gurc1n//gjp9eQNXjD9O3M/sMwVtN5S8Lv9bvOYBfKfDNiIIhqiyi01vMBO45u4zkDE420w/e0se7Vs+sIg+g== - /uglify-js/3.14.0: + /uglify-js/3.13.10: dev: false engines: node: '>=0.8.0' hasBin: true resolution: - integrity: sha512-R/tiGB1ZXp2BC+TkRGLwj8xUZgdfT2f4UZEgX6aVjJ5uttPrr4fYmwTWDGqVnBCLbOXRMY6nr/BTbwCtVfps0g== + integrity: sha512-57H3ACYFXeo1IaZ1w02sfA71wI60MGco/IQFjOqK+WtKoprh7Go2/yvd2HPtoJILO2Or84ncLccI4xoHMTSbGg== /unbox-primitive/1.0.1: dependencies: function-bind: 1.1.1 @@ -7994,7 +7976,7 @@ packages: optional: true resolution: integrity: sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A== - /ws/7.5.3: + /ws/7.5.2: dev: false engines: node: '>=8.3.0' @@ -8007,7 +7989,7 @@ packages: utf-8-validate: optional: true resolution: - integrity: sha512-kQ/dHIzuLrS6Je9+uv81ueZomEwH0qVYstcAQ4/Z93K8zeko9gtAbttJWzoC5ukqXY1PpoouV3+VSOqEAFt5wg== + integrity: sha512-lkF7AWRicoB9mAgjeKbGqVUekLnSNO4VjKVnuPHpQeOxZOErX6BPXwJk70nFslRCEEA8EVW7ZjKwXaP9N+1sKQ== /xhr-mock/2.5.1: dependencies: global: 4.4.0 @@ -8175,14 +8157,19 @@ packages: file:projects/abort-controller.tgz: dependencies: '@microsoft/api-extractor': 7.7.11 + '@rollup/plugin-commonjs': 11.0.2_rollup@1.32.1 + '@rollup/plugin-multi-entry': 3.0.1_rollup@1.32.1 + '@rollup/plugin-node-resolve': 8.4.0_rollup@1.32.1 + '@rollup/plugin-replace': 2.4.2_rollup@1.32.1 '@types/chai': 4.2.21 '@types/mocha': 7.0.2 '@types/node': 12.20.16 + assert: 1.5.0 chai: 4.3.4 cross-env: 7.0.3 delay: 4.4.1 downlevel-dts: 0.4.0 - eslint: 7.31.0 + eslint: 7.30.0 karma: 6.3.4 karma-chrome-launcher: 3.1.0 karma-coverage: 2.0.3 @@ -8212,7 +8199,7 @@ packages: version: 0.0.0 file:projects/agrifood-farming.tgz: dependencies: - '@azure/identity': 1.5.0 + '@azure/identity': 1.4.0 '@microsoft/api-extractor': 7.13.2 '@types/chai': 4.2.21 '@types/mocha': 7.0.2 @@ -8220,7 +8207,7 @@ packages: chai: 4.3.4 cross-env: 7.0.3 dotenv: 8.6.0 - eslint: 7.31.0 + eslint: 7.30.0 karma: 6.3.4 karma-chrome-launcher: 3.1.0 karma-coverage: 2.0.3 @@ -8255,7 +8242,7 @@ packages: file:projects/ai-anomaly-detector.tgz: dependencies: '@azure/core-tracing': 1.0.0-preview.13 - '@azure/identity': 1.5.0 + '@azure/identity': 1.4.0 '@microsoft/api-extractor': 7.7.11 '@rollup/plugin-commonjs': 11.0.2_rollup@1.32.1 '@rollup/plugin-json': 4.1.0_rollup@1.32.1 @@ -8269,7 +8256,7 @@ packages: cross-env: 7.0.3 csv-parse: 4.16.0 dotenv: 8.6.0 - eslint: 7.31.0 + eslint: 7.30.0 inherits: 2.0.4 karma: 6.3.4 karma-chrome-launcher: 3.1.0 @@ -8304,7 +8291,7 @@ packages: version: 0.0.0 file:projects/ai-document-translator.tgz: dependencies: - '@azure/identity': 1.5.0 + '@azure/identity': 1.4.0 '@microsoft/api-extractor': 7.13.2 '@types/chai': 4.2.21 '@types/mocha': 7.0.2 @@ -8312,7 +8299,7 @@ packages: chai: 4.3.4 cross-env: 7.0.3 dotenv: 8.6.0 - eslint: 7.31.0 + eslint: 7.30.0 karma: 6.3.4 karma-chrome-launcher: 3.1.0 karma-coverage: 2.0.3 @@ -8355,7 +8342,7 @@ packages: chai-as-promised: 7.1.1_chai@4.3.4 cross-env: 7.0.3 dotenv: 8.6.0 - eslint: 7.31.0 + eslint: 7.30.0 karma: 6.3.4 karma-chrome-launcher: 3.1.0 karma-coverage: 2.0.3 @@ -8389,7 +8376,7 @@ packages: file:projects/ai-metrics-advisor.tgz: dependencies: '@azure/core-tracing': 1.0.0-preview.13 - '@azure/identity': 1.5.0 + '@azure/identity': 1.4.0 '@microsoft/api-extractor': 7.7.11 '@types/chai': 4.2.21 '@types/mocha': 7.0.2 @@ -8399,7 +8386,7 @@ packages: chai-as-promised: 7.1.1_chai@4.3.4 cross-env: 7.0.3 dotenv: 8.6.0 - eslint: 7.31.0 + eslint: 7.30.0 karma: 6.3.4 karma-chrome-launcher: 3.1.0 karma-coverage: 2.0.3 @@ -8445,7 +8432,7 @@ packages: chai-as-promised: 7.1.1_chai@4.3.4 cross-env: 7.0.3 dotenv: 8.6.0 - eslint: 7.31.0 + eslint: 7.30.0 karma: 6.3.4 karma-chrome-launcher: 3.1.0 karma-coverage: 2.0.3 @@ -8497,7 +8484,7 @@ packages: chai: 4.3.4 cross-env: 7.0.3 dotenv: 8.6.0 - eslint: 7.31.0 + eslint: 7.30.0 esm: 3.2.25 karma: 6.3.4 karma-chrome-launcher: 3.1.0 @@ -8525,11 +8512,11 @@ packages: tslib: 2.3.0 typedoc: 0.15.2 typescript: 4.2.4 - uglify-js: 3.14.0 + uglify-js: 3.13.10 dev: false name: '@rush-temp/app-configuration' resolution: - integrity: sha512-ZalbO4/h/8f18obNws6h9Qju+P5EJIMnv3QhqesAvVmFqlmBtbIZ/+utm2ytKiYraa1UziGIVa1rijUoVZX8TQ== + integrity: sha512-6r2ABB/2a1ep+TNCrsO+7Lq+JJCDCJg4t+E/AAks/bXv55f93E/rjCZRgGKfsE2wenAw2C8IoJEM6s4P/Zu3yA== tarball: file:projects/app-configuration.tgz version: 0.0.0 file:projects/arm-compute.tgz: @@ -8545,7 +8532,7 @@ packages: rollup-plugin-sourcemaps: 0.4.2_rollup@1.32.1 tslib: 2.3.0 typescript: 4.2.4 - uglify-js: 3.14.0 + uglify-js: 3.13.10 dev: false name: '@rush-temp/arm-compute' resolution: @@ -8565,7 +8552,7 @@ packages: rollup-plugin-sourcemaps: 0.4.2_rollup@1.32.1 tslib: 2.3.0 typescript: 4.2.4 - uglify-js: 3.14.0 + uglify-js: 3.13.10 dev: false name: '@rush-temp/arm-features' resolution: @@ -8585,7 +8572,7 @@ packages: rollup-plugin-sourcemaps: 0.4.2_rollup@1.32.1 tslib: 2.3.0 typescript: 4.2.4 - uglify-js: 3.14.0 + uglify-js: 3.13.10 dev: false name: '@rush-temp/arm-links' resolution: @@ -8605,7 +8592,7 @@ packages: rollup-plugin-sourcemaps: 0.4.2_rollup@1.32.1 tslib: 2.3.0 typescript: 4.2.4 - uglify-js: 3.14.0 + uglify-js: 3.13.10 dev: false name: '@rush-temp/arm-locks' resolution: @@ -8625,7 +8612,7 @@ packages: rollup-plugin-sourcemaps: 0.4.2_rollup@1.32.1 tslib: 2.3.0 typescript: 4.2.4 - uglify-js: 3.14.0 + uglify-js: 3.13.10 dev: false name: '@rush-temp/arm-managedapplications' resolution: @@ -8645,7 +8632,7 @@ packages: rollup-plugin-sourcemaps: 0.4.2_rollup@1.32.1 tslib: 2.3.0 typescript: 4.2.4 - uglify-js: 3.14.0 + uglify-js: 3.13.10 dev: false name: '@rush-temp/arm-network' resolution: @@ -8665,7 +8652,7 @@ packages: rollup-plugin-sourcemaps: 0.4.2_rollup@1.32.1 tslib: 2.3.0 typescript: 4.2.4 - uglify-js: 3.14.0 + uglify-js: 3.13.10 dev: false name: '@rush-temp/arm-policy' resolution: @@ -8685,7 +8672,7 @@ packages: rollup-plugin-sourcemaps: 0.4.2_rollup@1.32.1 tslib: 2.3.0 typescript: 4.2.4 - uglify-js: 3.14.0 + uglify-js: 3.13.10 dev: false name: '@rush-temp/arm-resources' resolution: @@ -8705,7 +8692,7 @@ packages: rollup-plugin-sourcemaps: 0.4.2_rollup@1.32.1 tslib: 2.3.0 typescript: 4.2.4 - uglify-js: 3.14.0 + uglify-js: 3.13.10 dev: false name: '@rush-temp/arm-storage' resolution: @@ -8715,7 +8702,7 @@ packages: file:projects/attestation.tgz: dependencies: '@azure/core-tracing': 1.0.0-preview.13 - '@azure/identity': 1.5.0 + '@azure/identity': 2.0.0-beta.4 '@microsoft/api-extractor': 7.7.11 '@types/chai': 4.2.21 '@types/chai-as-promised': 7.1.4 @@ -8727,7 +8714,7 @@ packages: cross-env: 7.0.3 dotenv: 8.6.0 downlevel-dts: 0.4.0 - eslint: 7.31.0 + eslint: 7.30.0 esm: 3.2.25 inherits: 2.0.4 jsrsasign: 10.3.0 @@ -8785,7 +8772,7 @@ packages: chai: 4.3.4 cross-env: 7.0.3 dotenv: 8.6.0 - eslint: 7.31.0 + eslint: 7.30.0 events: 3.3.0 inherits: 2.0.4 karma: 6.3.4 @@ -8841,7 +8828,7 @@ packages: chai: 4.3.4 chai-as-promised: 7.1.1_chai@4.3.4 cross-env: 7.0.3 - eslint: 7.31.0 + eslint: 7.30.0 events: 3.3.0 inherits: 2.0.4 jwt-decode: 2.2.0 @@ -8893,7 +8880,7 @@ packages: chai: 4.3.4 cross-env: 7.0.3 dotenv: 8.6.0 - eslint: 7.31.0 + eslint: 7.30.0 events: 3.3.0 inherits: 2.0.4 karma: 6.3.4 @@ -8948,7 +8935,7 @@ packages: chai: 4.3.4 cross-env: 7.0.3 dotenv: 8.6.0 - eslint: 7.31.0 + eslint: 7.30.0 events: 3.3.0 inherits: 2.0.4 karma: 6.3.4 @@ -9002,7 +8989,7 @@ packages: chai: 4.3.4 cross-env: 7.0.3 dotenv: 8.6.0 - eslint: 7.31.0 + eslint: 7.30.0 events: 3.3.0 inherits: 2.0.4 karma: 6.3.4 @@ -9055,7 +9042,7 @@ packages: chai: 4.3.4 cross-env: 7.0.3 dotenv: 8.6.0 - eslint: 7.31.0 + eslint: 7.30.0 events: 3.3.0 inherits: 2.0.4 karma: 6.3.4 @@ -9092,7 +9079,7 @@ packages: version: 0.0.0 file:projects/confidential-ledger.tgz: dependencies: - '@azure/identity': 1.5.0 + '@azure/identity': 1.4.0 '@microsoft/api-extractor': 7.13.2 '@types/chai': 4.2.21 '@types/mocha': 7.0.2 @@ -9100,7 +9087,7 @@ packages: chai: 4.3.4 cross-env: 7.0.3 dotenv: 8.6.0 - eslint: 7.31.0 + eslint: 7.30.0 karma: 6.3.4 karma-chrome-launcher: 3.1.0 karma-coverage: 2.0.3 @@ -9144,7 +9131,7 @@ packages: chai-as-promised: 7.1.1_chai@4.3.4 cross-env: 7.0.3 dotenv: 8.6.0 - eslint: 7.31.0 + eslint: 7.30.0 inherits: 2.0.4 karma: 6.3.4 karma-chrome-launcher: 3.1.0 @@ -9189,14 +9176,14 @@ packages: '@types/mocha': 7.0.2 '@types/node': 12.20.16 '@types/sinon': 9.0.11 - '@types/ws': 7.4.7 + '@types/ws': 7.4.6 buffer: 5.7.1 chai: 4.3.4 cross-env: 7.0.3 debug: 4.3.2 dotenv: 8.6.0 downlevel-dts: 0.4.0 - eslint: 7.31.0 + eslint: 7.30.0 events: 3.3.0 jssha: 3.2.0 karma: 6.3.4_debug@4.3.2 @@ -9222,7 +9209,7 @@ packages: typescript: 4.2.4 url: 0.11.0 util: 0.12.4 - ws: 7.5.3 + ws: 7.5.2 dev: false name: '@rush-temp/core-amqp' resolution: @@ -9232,7 +9219,7 @@ packages: file:projects/core-asynciterator-polyfill.tgz: dependencies: '@types/node': 12.20.16 - eslint: 7.31.0 + eslint: 7.30.0 prettier: 1.19.1 typedoc: 0.15.2 typescript: 4.2.4 @@ -9245,13 +9232,19 @@ packages: file:projects/core-auth.tgz: dependencies: '@microsoft/api-extractor': 7.7.11 + '@rollup/plugin-commonjs': 11.0.2_rollup@1.32.1 + '@rollup/plugin-json': 4.1.0_rollup@1.32.1 + '@rollup/plugin-multi-entry': 3.0.1_rollup@1.32.1 + '@rollup/plugin-node-resolve': 8.4.0_rollup@1.32.1 + '@rollup/plugin-replace': 2.4.2_rollup@1.32.1 '@types/chai': 4.2.21 '@types/mocha': 7.0.2 '@types/node': 12.20.16 + assert: 1.5.0 chai: 4.3.4 cross-env: 7.0.3 downlevel-dts: 0.4.0 - eslint: 7.31.0 + eslint: 7.30.0 inherits: 2.0.4 mocha: 7.2.0 mocha-junit-reporter: 1.23.3_mocha@7.2.0 @@ -9280,7 +9273,7 @@ packages: chai: 4.3.4 cross-env: 7.0.3 downlevel-dts: 0.4.0 - eslint: 7.31.0 + eslint: 7.30.0 inherits: 2.0.4 karma: 6.3.4 karma-chrome-launcher: 3.1.0 @@ -9317,7 +9310,7 @@ packages: '@types/node': 12.20.16 chai: 4.3.4 cross-env: 7.0.3 - eslint: 7.31.0 + eslint: 7.30.0 inherits: 2.0.4 karma: 6.3.4 karma-chrome-launcher: 3.1.0 @@ -9354,7 +9347,7 @@ packages: '@types/node': 12.20.16 chai: 4.3.4 cross-env: 7.0.3 - eslint: 7.31.0 + eslint: 7.30.0 inherits: 2.0.4 karma: 6.3.4 karma-chrome-launcher: 3.1.0 @@ -9396,7 +9389,7 @@ packages: chai: 4.3.4 cross-env: 7.0.3 downlevel-dts: 0.4.0 - eslint: 7.31.0 + eslint: 7.30.0 karma: 6.3.4 karma-chrome-launcher: 3.1.0 karma-coverage: 2.0.3 @@ -9435,7 +9428,7 @@ packages: '@types/glob': 7.1.4 '@types/mocha': 7.0.2 '@types/node': 12.20.16 - '@types/node-fetch': 2.5.12 + '@types/node-fetch': 2.5.11 '@types/sinon': 9.0.11 '@types/tough-cookie': 4.0.1 '@types/tunnel': 0.0.1 @@ -9445,7 +9438,7 @@ packages: chai: 4.3.4 cross-env: 7.0.3 downlevel-dts: 0.4.0 - eslint: 7.31.0 + eslint: 7.30.0 express: 4.17.1 fetch-mock: 9.11.0_node-fetch@2.6.1 form-data: 3.0.1 @@ -9466,7 +9459,7 @@ packages: prettier: 1.19.1 process: 0.11.10 puppeteer: 3.3.0 - regenerator-runtime: 0.13.9 + regenerator-runtime: 0.13.7 rimraf: 3.0.2 rollup: 1.32.1 shx: 0.3.3 @@ -9477,7 +9470,7 @@ packages: tunnel: 0.0.6 typedoc: 0.15.2 typescript: 4.2.4 - uglify-js: 3.14.0 + uglify-js: 3.13.10 uuid: 8.3.2 xhr-mock: 2.5.1 xml2js: 0.4.23 @@ -9491,12 +9484,17 @@ packages: dependencies: '@azure/core-tracing': 1.0.0-preview.13 '@microsoft/api-extractor': 7.7.11 + '@rollup/plugin-commonjs': 11.0.2_rollup@1.32.1 + '@rollup/plugin-multi-entry': 3.0.1_rollup@1.32.1 + '@rollup/plugin-node-resolve': 8.4.0_rollup@1.32.1 + '@rollup/plugin-replace': 2.4.2_rollup@1.32.1 '@types/chai': 4.2.21 '@types/mocha': 7.0.2 '@types/node': 12.20.16 chai: 4.3.4 cross-env: 7.0.3 - eslint: 7.31.0 + eslint: 7.30.0 + events: 3.3.0 karma: 6.3.4 karma-chrome-launcher: 3.1.0 karma-coverage: 2.0.3 @@ -9515,11 +9513,15 @@ packages: prettier: 1.19.1 rimraf: 3.0.2 rollup: 1.32.1 + rollup-plugin-shim: 1.0.0 + rollup-plugin-sourcemaps: 0.4.2_rollup@1.32.1 + rollup-plugin-terser: 5.3.1_rollup@1.32.1 + rollup-plugin-visualizer: 4.2.2_rollup@1.32.1 ts-node: 9.1.1_typescript@4.2.4 tslib: 2.3.0 typedoc: 0.15.2 typescript: 4.2.4 - uglify-js: 3.14.0 + uglify-js: 3.13.10 dev: false name: '@rush-temp/core-lro' resolution: @@ -9529,7 +9531,7 @@ packages: file:projects/core-paging.tgz: dependencies: '@types/node': 12.20.16 - eslint: 7.31.0 + eslint: 7.30.0 prettier: 1.19.1 rimraf: 3.0.2 typedoc: 0.15.2 @@ -9553,7 +9555,7 @@ packages: chai: 4.3.4 cross-env: 7.0.3 downlevel-dts: 0.4.0 - eslint: 7.31.0 + eslint: 7.30.0 form-data: 3.0.1 http-proxy-agent: 4.0.1 https-proxy-agent: 5.0.0 @@ -9592,13 +9594,19 @@ packages: '@microsoft/api-extractor': 7.7.11 '@opentelemetry/api': 1.0.1 '@opentelemetry/tracing': 0.22.0_@opentelemetry+api@1.0.1 + '@rollup/plugin-commonjs': 11.0.2_rollup@1.32.1 + '@rollup/plugin-json': 4.1.0_rollup@1.32.1 + '@rollup/plugin-multi-entry': 3.0.1_rollup@1.32.1 + '@rollup/plugin-node-resolve': 8.4.0_rollup@1.32.1 + '@rollup/plugin-replace': 2.4.2_rollup@1.32.1 '@types/chai': 4.2.21 '@types/mocha': 7.0.2 '@types/node': 12.20.16 '@types/sinon': 9.0.11 + assert: 1.5.0 chai: 4.3.4 cross-env: 7.0.3 - eslint: 7.31.0 + eslint: 7.30.0 inherits: 2.0.4 karma: 6.3.4 karma-chrome-launcher: 3.1.0 @@ -9637,7 +9645,7 @@ packages: chai: 4.3.4 cross-env: 7.0.3 downlevel-dts: 0.4.0 - eslint: 7.31.0 + eslint: 7.30.0 inherits: 2.0.4 karma: 6.3.4 karma-chrome-launcher: 3.1.0 @@ -9677,7 +9685,7 @@ packages: chai: 4.3.4 cross-env: 7.0.3 downlevel-dts: 0.4.0 - eslint: 7.31.0 + eslint: 7.30.0 inherits: 2.0.4 karma: 6.3.4 karma-chrome-launcher: 3.1.0 @@ -9709,7 +9717,7 @@ packages: version: 0.0.0 file:projects/cosmos.tgz: dependencies: - '@azure/identity': 1.5.0_debug@4.3.2 + '@azure/identity': 1.4.0_debug@4.3.2 '@microsoft/api-extractor': 7.7.11 '@rollup/plugin-json': 4.1.0_rollup@1.32.1 '@rollup/plugin-multi-entry': 3.0.1_rollup@1.32.1 @@ -9727,7 +9735,7 @@ packages: debug: 4.3.2 dotenv: 8.6.0 downlevel-dts: 0.4.0 - eslint: 7.31.0 + eslint: 7.30.0 esm: 3.2.25 execa: 3.4.0 fast-json-stable-stringify: 2.1.0 @@ -9779,7 +9787,7 @@ packages: cross-env: 7.0.3 dotenv: 8.6.0 downlevel-dts: 0.4.0 - eslint: 7.31.0 + eslint: 7.30.0 inherits: 2.0.4 karma: 6.3.4 karma-chrome-launcher: 3.1.0 @@ -9833,7 +9841,7 @@ packages: chai-as-promised: 7.1.1_chai@4.3.4 chalk: 4.1.1 dotenv: 8.6.0 - eslint: 7.31.0 + eslint: 7.30.0 fs-extra: 8.1.0 minimist: 1.2.5 mocha: 7.2.0 @@ -9871,7 +9879,7 @@ packages: chai: 4.3.4 cross-env: 7.0.3 dotenv: 8.6.0 - eslint: 7.31.0 + eslint: 7.30.0 inherits: 2.0.4 karma: 6.3.4 karma-chrome-launcher: 3.1.0 @@ -9917,14 +9925,14 @@ packages: '@types/json-schema': 7.0.8 '@types/mocha': 7.0.2 '@types/node': 12.20.16 - '@typescript-eslint/eslint-plugin': 4.19.0_d7723982da0ce5a2c0734c14de26c19d - '@typescript-eslint/experimental-utils': 4.19.0_eslint@7.31.0+typescript@4.2.4 - '@typescript-eslint/parser': 4.19.0_eslint@7.31.0+typescript@4.2.4 + '@typescript-eslint/eslint-plugin': 4.19.0_1428636775fa8b76297f145f2a9709f8 + '@typescript-eslint/experimental-utils': 4.19.0_eslint@7.30.0+typescript@4.2.4 + '@typescript-eslint/parser': 4.19.0_eslint@7.30.0+typescript@4.2.4 '@typescript-eslint/typescript-estree': 4.19.0_typescript@4.2.4 chai: 4.3.4 - eslint: 7.31.0 - eslint-config-prettier: 7.2.0_eslint@7.31.0 - eslint-plugin-import: 2.23.4_eslint@7.31.0 + eslint: 7.30.0 + eslint-config-prettier: 7.2.0_eslint@7.30.0 + eslint-plugin-import: 2.23.4_eslint@7.30.0 eslint-plugin-no-only-tests: 2.6.0 eslint-plugin-promise: 4.3.1 eslint-plugin-tsdoc: 0.2.14 @@ -9965,7 +9973,7 @@ packages: '@types/node': 12.20.16 '@types/sinon': 9.0.11 '@types/uuid': 8.3.1 - '@types/ws': 7.4.7 + '@types/ws': 7.4.6 assert: 1.5.0 buffer: 5.7.1 chai: 4.3.4 @@ -9976,7 +9984,7 @@ packages: debug: 4.3.2 dotenv: 8.6.0 downlevel-dts: 0.4.0 - eslint: 7.31.0 + eslint: 7.30.0 esm: 3.2.25 https-proxy-agent: 5.0.0 is-buffer: 2.0.5 @@ -10011,7 +10019,7 @@ packages: typedoc: 0.15.2 typescript: 4.2.4 uuid: 8.3.2 - ws: 7.5.3 + ws: 7.5.2 dev: false name: '@rush-temp/event-hubs' resolution: @@ -10036,7 +10044,7 @@ packages: '@types/mocha': 7.0.2 '@types/node': 12.20.16 '@types/uuid': 8.3.1 - '@types/ws': 7.4.7 + '@types/ws': 7.4.6 async-lock: 1.3.0 azure-storage: 2.10.4 chai: 4.3.4 @@ -10045,7 +10053,7 @@ packages: cross-env: 7.0.3 debug: 4.3.2 dotenv: 8.6.0 - eslint: 7.31.0 + eslint: 7.30.0 esm: 3.2.25 https-proxy-agent: 5.0.0 mocha: 7.2.0 @@ -10061,7 +10069,7 @@ packages: typedoc: 0.15.2 typescript: 4.2.4 uuid: 8.3.2 - ws: 7.5.3 + ws: 7.5.2 dev: false name: '@rush-temp/event-processor-host' resolution: @@ -10087,7 +10095,7 @@ packages: chai-as-promised: 7.1.1_chai@4.3.4 cross-env: 7.0.3 dotenv: 8.6.0 - eslint: 7.31.0 + eslint: 7.30.0 karma: 6.3.4 karma-chrome-launcher: 3.1.0 karma-coverage: 2.0.3 @@ -10147,7 +10155,7 @@ packages: cross-env: 7.0.3 debug: 4.3.2 dotenv: 8.6.0 - eslint: 7.31.0 + eslint: 7.30.0 esm: 3.2.25 events: 3.3.0 guid-typescript: 1.0.9 @@ -10186,7 +10194,7 @@ packages: version: 0.0.0 file:projects/identity-cache-persistence.tgz: dependencies: - '@azure/msal-node': 1.3.0 + '@azure/msal-node': 1.2.0 '@azure/msal-node-extensions': 1.0.0-alpha.7 '@microsoft/api-extractor': 7.7.11 '@types/jws': 3.2.4 @@ -10197,7 +10205,7 @@ packages: assert: 1.5.0 cross-env: 7.0.3 dotenv: 8.6.0 - eslint: 7.31.0 + eslint: 7.30.0 inherits: 2.0.4 keytar: 7.7.0 mocha: 7.2.0 @@ -10230,7 +10238,7 @@ packages: assert: 1.5.0 cross-env: 7.0.3 dotenv: 8.6.0 - eslint: 7.31.0 + eslint: 7.30.0 inherits: 2.0.4 keytar: 7.7.0 mocha: 7.2.0 @@ -10254,9 +10262,9 @@ packages: file:projects/identity.tgz: dependencies: '@azure/core-tracing': 1.0.0-preview.13 - '@azure/msal-browser': 2.16.0 - '@azure/msal-common': 4.5.0 - '@azure/msal-node': 1.3.0 + '@azure/msal-browser': 2.15.0 + '@azure/msal-common': 4.4.0 + '@azure/msal-node': 1.2.0 '@microsoft/api-extractor': 7.7.11 '@types/jws': 3.2.4 '@types/mocha': 7.0.2 @@ -10268,7 +10276,7 @@ packages: assert: 1.5.0 cross-env: 7.0.3 dotenv: 8.6.0 - eslint: 7.31.0 + eslint: 7.30.0 events: 3.3.0 inherits: 2.0.4 jws: 4.0.0 @@ -10309,7 +10317,7 @@ packages: '@types/uuid': 8.3.1 cross-env: 7.0.3 dotenv: 8.6.0 - eslint: 7.31.0 + eslint: 7.30.0 mkdirp: 1.0.4 prettier: 1.19.1 rimraf: 3.0.2 @@ -10320,7 +10328,7 @@ packages: tslib: 2.3.0 typedoc: 0.15.2 typescript: 4.2.4 - uglify-js: 3.14.0 + uglify-js: 3.13.10 uuid: 8.3.2 dev: false name: '@rush-temp/iot-device-update' @@ -10343,7 +10351,7 @@ packages: '@types/sinon': 9.0.11 chai: 4.3.4 cross-env: 7.0.3 - eslint: 7.31.0 + eslint: 7.30.0 events: 3.3.0 inherits: 2.0.4 karma: 6.3.4 @@ -10401,7 +10409,7 @@ packages: chai-as-promised: 7.1.1_chai@4.3.4 cross-env: 7.0.3 dotenv: 8.6.0 - eslint: 7.31.0 + eslint: 7.30.0 esm: 3.2.25 mocha: 7.2.0 mocha-junit-reporter: 1.23.3_mocha@7.2.0 @@ -10444,7 +10452,7 @@ packages: chai: 4.3.4 cross-env: 7.0.3 dotenv: 8.6.0 - eslint: 7.31.0 + eslint: 7.30.0 esm: 3.2.25 karma: 6.3.4 karma-chrome-launcher: 3.1.0 @@ -10486,7 +10494,7 @@ packages: file:projects/keyvault-common.tgz: dependencies: '@azure/core-tracing': 1.0.0-preview.13 - eslint: 7.31.0 + eslint: 7.30.0 prettier: 1.19.1 rimraf: 3.0.2 tslib: 2.3.0 @@ -10518,7 +10526,7 @@ packages: chai-as-promised: 7.1.1_chai@4.3.4 cross-env: 7.0.3 dotenv: 8.6.0 - eslint: 7.31.0 + eslint: 7.30.0 esm: 3.2.25 karma: 6.3.4 karma-chrome-launcher: 3.1.0 @@ -10575,7 +10583,7 @@ packages: chai: 4.3.4 cross-env: 7.0.3 dotenv: 8.6.0 - eslint: 7.31.0 + eslint: 7.30.0 esm: 3.2.25 karma: 6.3.4 karma-chrome-launcher: 3.1.0 @@ -10625,7 +10633,7 @@ packages: cross-env: 7.0.3 delay: 4.4.1 dotenv: 8.6.0 - eslint: 7.31.0 + eslint: 7.30.0 karma: 6.3.4 karma-chrome-launcher: 3.1.0 karma-coverage: 2.0.3 @@ -10667,7 +10675,7 @@ packages: chai-as-promised: 7.1.1_chai@4.3.4 cross-env: 7.0.3 dotenv: 8.6.0 - eslint: 7.31.0 + eslint: 7.30.0 inherits: 2.0.4 karma: 6.3.4 karma-chrome-launcher: 3.1.0 @@ -10701,7 +10709,7 @@ packages: file:projects/mixed-reality-remote-rendering.tgz: dependencies: '@azure/core-tracing': 1.0.0-preview.13 - '@azure/identity': 1.5.0 + '@azure/identity': 1.4.0 '@microsoft/api-extractor': 7.7.11 '@types/chai': 4.2.21 '@types/chai-as-promised': 7.1.4 @@ -10712,7 +10720,7 @@ packages: chai-as-promised: 7.1.1_chai@4.3.4 cross-env: 7.0.3 dotenv: 8.6.0 - eslint: 7.31.0 + eslint: 7.30.0 inherits: 2.0.4 karma: 6.3.4 karma-chrome-launcher: 3.1.0 @@ -10747,7 +10755,7 @@ packages: dependencies: '@types/node': 12.20.16 dotenv: 8.6.0 - eslint: 7.31.0 + eslint: 7.30.0 prettier: 1.19.1 rhea: 2.0.3 rimraf: 3.0.2 @@ -10773,8 +10781,8 @@ packages: '@types/mocha': 7.0.2 '@types/node': 12.20.16 dotenv: 8.6.0 - eslint: 7.31.0 - eslint-plugin-node: 11.1.0_eslint@7.31.0 + eslint: 7.30.0 + eslint-plugin-node: 11.1.0_eslint@7.30.0 execa: 3.4.0 mocha: 7.2.0 nock: 12.0.3 @@ -10796,7 +10804,7 @@ packages: file:projects/monitor-query.tgz: dependencies: '@azure/core-tracing': 1.0.0-preview.13 - '@azure/identity': 1.5.0 + '@azure/identity': 1.4.0 '@microsoft/api-extractor': 7.7.11 '@opentelemetry/api': 1.0.1 '@opentelemetry/node': 0.22.0_@opentelemetry+api@1.0.1 @@ -10810,7 +10818,7 @@ packages: cross-env: 7.0.3 dotenv: 8.6.0 downlevel-dts: 0.4.0 - eslint: 7.31.0 + eslint: 7.30.0 esm: 3.2.25 inherits: 2.0.4 karma: 6.3.4 @@ -10848,7 +10856,7 @@ packages: '@azure/identity': 2.0.0-beta.4 '@types/node': 12.20.16 dotenv: 8.6.0 - eslint: 7.31.0 + eslint: 7.30.0 prettier: 1.19.1 rimraf: 3.0.2 ts-node: 9.1.1_typescript@4.2.4 @@ -10865,7 +10873,7 @@ packages: '@azure/ai-metrics-advisor': 1.0.0-beta.3 '@types/node': 12.20.16 dotenv: 8.6.0 - eslint: 7.31.0 + eslint: 7.30.0 prettier: 1.19.1 rimraf: 3.0.2 ts-node: 9.1.1_typescript@4.2.4 @@ -10881,7 +10889,7 @@ packages: dependencies: '@types/node': 12.20.16 dotenv: 8.6.0 - eslint: 7.31.0 + eslint: 7.30.0 prettier: 1.19.1 rimraf: 3.0.2 ts-node: 9.1.1_typescript@4.2.4 @@ -10898,7 +10906,7 @@ packages: '@types/node': 12.20.16 '@types/uuid': 8.3.1 dotenv: 8.6.0 - eslint: 7.31.0 + eslint: 7.30.0 prettier: 1.19.1 rimraf: 3.0.2 ts-node: 9.1.1_typescript@4.2.4 @@ -10915,7 +10923,7 @@ packages: dependencies: '@types/uuid': 8.3.1 dotenv: 8.6.0 - eslint: 7.31.0 + eslint: 7.30.0 prettier: 1.19.1 rimraf: 3.0.2 ts-node: 9.1.1_typescript@4.2.4 @@ -10931,7 +10939,7 @@ packages: dependencies: '@types/node': 12.20.16 dotenv: 8.6.0 - eslint: 7.31.0 + eslint: 7.30.0 prettier: 1.19.1 rimraf: 3.0.2 ts-node: 9.1.1_typescript@4.2.4 @@ -10947,7 +10955,7 @@ packages: dependencies: '@types/uuid': 8.3.1 dotenv: 8.6.0 - eslint: 7.31.0 + eslint: 7.30.0 prettier: 1.19.1 rimraf: 3.0.2 ts-node: 9.1.1_typescript@4.2.4 @@ -10965,7 +10973,7 @@ packages: '@azure/keyvault-certificates': 4.2.0 '@types/uuid': 8.3.1 dotenv: 8.6.0 - eslint: 7.31.0 + eslint: 7.30.0 prettier: 1.19.1 rimraf: 3.0.2 ts-node: 9.1.1_typescript@4.2.4 @@ -10983,7 +10991,7 @@ packages: '@azure/keyvault-keys': 4.2.2 '@types/uuid': 8.3.1 dotenv: 8.6.0 - eslint: 7.31.0 + eslint: 7.30.0 prettier: 1.19.1 rimraf: 3.0.2 ts-node: 9.1.1_typescript@4.2.4 @@ -11002,7 +11010,7 @@ packages: '@azure/keyvault-secrets': 4.2.0 '@types/uuid': 8.3.1 dotenv: 8.6.0 - eslint: 7.31.0 + eslint: 7.30.0 prettier: 1.19.1 rimraf: 3.0.2 ts-node: 9.1.1_typescript@4.2.4 @@ -11020,7 +11028,7 @@ packages: '@azure/identity': 2.0.0-beta.4 '@types/node': 12.20.16 dotenv: 8.6.0 - eslint: 7.31.0 + eslint: 7.30.0 prettier: 1.19.1 rimraf: 3.0.2 ts-node: 9.1.1_typescript@4.2.4 @@ -11035,10 +11043,10 @@ packages: file:projects/perf-storage-blob.tgz: dependencies: '@types/node': 12.20.16 - '@types/node-fetch': 2.5.12 + '@types/node-fetch': 2.5.11 '@types/uuid': 8.3.1 dotenv: 8.6.0 - eslint: 7.31.0 + eslint: 7.30.0 node-fetch: 2.6.1 prettier: 1.19.1 rimraf: 3.0.2 @@ -11057,7 +11065,7 @@ packages: '@types/node': 12.20.16 '@types/uuid': 8.3.1 dotenv: 8.6.0 - eslint: 7.31.0 + eslint: 7.30.0 prettier: 1.19.1 rimraf: 3.0.2 ts-node: 9.1.1_typescript@4.2.4 @@ -11075,7 +11083,7 @@ packages: '@types/node': 12.20.16 '@types/uuid': 8.3.1 dotenv: 8.6.0 - eslint: 7.31.0 + eslint: 7.30.0 prettier: 1.19.1 rimraf: 3.0.2 ts-node: 9.1.1_typescript@4.2.4 @@ -11090,7 +11098,7 @@ packages: version: 0.0.0 file:projects/purview-catalog.tgz: dependencies: - '@azure/identity': 1.5.0 + '@azure/identity': 1.4.0 '@microsoft/api-extractor': 7.13.2 '@types/chai': 4.2.21 '@types/mocha': 7.0.2 @@ -11098,7 +11106,7 @@ packages: chai: 4.3.4 cross-env: 7.0.3 dotenv: 8.6.0 - eslint: 7.31.0 + eslint: 7.30.0 karma: 6.3.4 karma-chrome-launcher: 3.1.0 karma-coverage: 2.0.3 @@ -11132,7 +11140,7 @@ packages: version: 0.0.0 file:projects/purview-scanning.tgz: dependencies: - '@azure/identity': 1.5.0 + '@azure/identity': 1.4.0 '@microsoft/api-extractor': 7.13.2 '@types/chai': 4.2.21 '@types/mocha': 7.0.2 @@ -11140,7 +11148,7 @@ packages: chai: 4.3.4 cross-env: 7.0.3 dotenv: 8.6.0 - eslint: 7.31.0 + eslint: 7.30.0 karma: 6.3.4 karma-chrome-launcher: 3.1.0 karma-coverage: 2.0.3 @@ -11189,7 +11197,7 @@ packages: chai: 4.3.4 cross-env: 7.0.3 dotenv: 8.6.0 - eslint: 7.31.0 + eslint: 7.30.0 events: 3.3.0 inherits: 2.0.4 karma: 6.3.4 @@ -11246,7 +11254,7 @@ packages: chai-as-promised: 7.1.1_chai@4.3.4 cross-env: 7.0.3 dotenv: 8.6.0 - eslint: 7.31.0 + eslint: 7.30.0 karma: 6.3.4 karma-chrome-launcher: 3.1.0 karma-coverage: 2.0.3 @@ -11299,7 +11307,7 @@ packages: chai-as-promised: 7.1.1_chai@4.3.4 cross-env: 7.0.3 dotenv: 8.6.0 - eslint: 7.31.0 + eslint: 7.30.0 karma: 6.3.4 karma-chrome-launcher: 3.1.0 karma-coverage: 2.0.3 @@ -11349,7 +11357,7 @@ packages: chai: 4.3.4 cross-env: 7.0.3 dotenv: 8.6.0 - eslint: 7.31.0 + eslint: 7.30.0 events: 3.3.0 inherits: 2.0.4 karma: 6.3.4 @@ -11406,7 +11414,7 @@ packages: '@types/mocha': 7.0.2 '@types/node': 12.20.16 '@types/sinon': 9.0.11 - '@types/ws': 7.4.7 + '@types/ws': 7.4.6 assert: 1.5.0 buffer: 5.7.1 chai: 4.3.4 @@ -11417,7 +11425,7 @@ packages: delay: 4.4.1 dotenv: 8.6.0 downlevel-dts: 0.4.0 - eslint: 7.31.0 + eslint: 7.30.0 esm: 3.2.25 events: 3.3.0 glob: 7.1.7 @@ -11455,7 +11463,7 @@ packages: tslib: 2.3.0 typedoc: 0.15.2 typescript: 4.2.4 - ws: 7.5.3 + ws: 7.5.2 dev: false name: '@rush-temp/service-bus' resolution: @@ -11478,7 +11486,7 @@ packages: dotenv: 8.6.0 downlevel-dts: 0.4.0 es6-promise: 4.2.8 - eslint: 7.31.0 + eslint: 7.30.0 esm: 3.2.25 events: 3.3.0 inherits: 2.0.4 @@ -11531,13 +11539,13 @@ packages: '@rollup/plugin-replace': 2.4.2_rollup@1.32.1 '@types/mocha': 7.0.2 '@types/node': 12.20.16 - '@types/node-fetch': 2.5.12 + '@types/node-fetch': 2.5.11 assert: 1.5.0 cross-env: 7.0.3 dotenv: 8.6.0 downlevel-dts: 0.4.0 es6-promise: 4.2.8 - eslint: 7.31.0 + eslint: 7.30.0 esm: 3.2.25 events: 3.3.0 inherits: 2.0.4 @@ -11595,7 +11603,7 @@ packages: dotenv: 8.6.0 downlevel-dts: 0.4.0 es6-promise: 4.2.8 - eslint: 7.31.0 + eslint: 7.30.0 esm: 3.2.25 events: 3.3.0 execa: 3.4.0 @@ -11652,7 +11660,7 @@ packages: dotenv: 8.6.0 downlevel-dts: 0.4.0 es6-promise: 4.2.8 - eslint: 7.31.0 + eslint: 7.30.0 esm: 3.2.25 events: 3.3.0 inherits: 2.0.4 @@ -11705,7 +11713,7 @@ packages: dotenv: 8.6.0 downlevel-dts: 0.4.0 es6-promise: 4.2.8 - eslint: 7.31.0 + eslint: 7.30.0 esm: 3.2.25 inherits: 2.0.4 karma: 6.3.4 @@ -11759,7 +11767,7 @@ packages: dotenv: 8.6.0 downlevel-dts: 0.4.0 es6-promise: 4.2.8 - eslint: 7.31.0 + eslint: 7.30.0 esm: 3.2.25 inherits: 2.0.4 karma: 6.3.4 @@ -11803,7 +11811,7 @@ packages: '@azure/core-tracing': 1.0.0-preview.13 '@microsoft/api-extractor': 7.7.11 '@rollup/plugin-commonjs': 11.0.2_rollup@1.32.1 - eslint: 7.31.0 + eslint: 7.30.0 rimraf: 3.0.2 rollup: 1.32.1 rollup-plugin-node-resolve: 3.4.0 @@ -11811,7 +11819,7 @@ packages: tslib: 2.3.0 typedoc: 0.15.2 typescript: 4.2.4 - uglify-js: 3.14.0 + uglify-js: 3.13.10 dev: false name: '@rush-temp/synapse-access-control' resolution: @@ -11832,7 +11840,7 @@ packages: chai-as-promised: 7.1.1_chai@4.3.4 cross-env: 7.0.3 dotenv: 8.6.0 - eslint: 7.31.0 + eslint: 7.30.0 karma: 6.3.4 karma-chrome-launcher: 3.1.0 karma-coverage: 2.0.3 @@ -11861,7 +11869,7 @@ packages: tslib: 2.3.0 typedoc: 0.15.2 typescript: 4.2.4 - uglify-js: 3.14.0 + uglify-js: 3.13.10 dev: false name: '@rush-temp/synapse-artifacts' resolution: @@ -11873,7 +11881,7 @@ packages: '@azure/core-tracing': 1.0.0-preview.13 '@microsoft/api-extractor': 7.7.11 '@rollup/plugin-commonjs': 11.0.2_rollup@1.32.1 - eslint: 7.31.0 + eslint: 7.30.0 rimraf: 3.0.2 rollup: 1.32.1 rollup-plugin-node-resolve: 3.4.0 @@ -11881,7 +11889,7 @@ packages: tslib: 2.3.0 typedoc: 0.15.2 typescript: 4.2.4 - uglify-js: 3.14.0 + uglify-js: 3.13.10 dev: false name: '@rush-temp/synapse-managed-private-endpoints' resolution: @@ -11893,7 +11901,7 @@ packages: '@azure/core-tracing': 1.0.0-preview.13 '@microsoft/api-extractor': 7.7.11 '@rollup/plugin-commonjs': 11.0.2_rollup@1.32.1 - eslint: 7.31.0 + eslint: 7.30.0 rimraf: 3.0.2 rollup: 1.32.1 rollup-plugin-node-resolve: 3.4.0 @@ -11901,7 +11909,7 @@ packages: tslib: 2.3.0 typedoc: 0.15.2 typescript: 4.2.4 - uglify-js: 3.14.0 + uglify-js: 3.13.10 dev: false name: '@rush-temp/synapse-monitoring' resolution: @@ -11913,7 +11921,7 @@ packages: '@azure/core-tracing': 1.0.0-preview.13 '@microsoft/api-extractor': 7.7.11 '@rollup/plugin-commonjs': 11.0.2_rollup@1.32.1 - eslint: 7.31.0 + eslint: 7.30.0 rimraf: 3.0.2 rollup: 1.32.1 rollup-plugin-node-resolve: 3.4.0 @@ -11921,7 +11929,7 @@ packages: tslib: 2.3.0 typedoc: 0.15.2 typescript: 4.2.4 - uglify-js: 3.14.0 + uglify-js: 3.13.10 dev: false name: '@rush-temp/synapse-spark' resolution: @@ -11942,7 +11950,7 @@ packages: cross-env: 7.0.3 dotenv: 8.6.0 downlevel-dts: 0.4.0 - eslint: 7.31.0 + eslint: 7.30.0 esm: 3.2.25 inherits: 2.0.4 karma: 6.3.4 @@ -11978,8 +11986,8 @@ packages: dependencies: '@types/minimist': 1.2.2 '@types/node': 12.20.16 - '@types/node-fetch': 2.5.12 - eslint: 7.31.0 + '@types/node-fetch': 2.5.11 + eslint: 7.30.0 karma: 6.3.4 karma-chrome-launcher: 3.1.0 karma-coverage: 2.0.3 @@ -12013,7 +12021,7 @@ packages: '@types/node': 12.20.16 chai: 4.3.4 dotenv: 8.6.0 - eslint: 7.31.0 + eslint: 7.30.0 fs-extra: 8.1.0 karma: 6.3.4 karma-chrome-launcher: 3.1.0 @@ -12064,7 +12072,7 @@ packages: '@types/sinon': 9.0.11 chai: 4.3.4 chai-as-promised: 7.1.1_chai@4.3.4 - eslint: 7.31.0 + eslint: 7.30.0 karma: 6.3.4 karma-chrome-launcher: 3.1.0 karma-coverage: 2.0.3 @@ -12095,7 +12103,7 @@ packages: chai-as-promised: 7.1.1_chai@4.3.4 cross-env: 7.0.3 dotenv: 8.6.0 - eslint: 7.31.0 + eslint: 7.30.0 events: 3.3.0 inherits: 2.0.4 karma: 6.3.4 @@ -12146,7 +12154,7 @@ packages: cloudevents: 4.0.3 cross-env: 7.0.3 dotenv: 8.6.0 - eslint: 7.31.0 + eslint: 7.30.0 esm: 3.2.25 karma: 6.3.4 karma-chrome-launcher: 3.1.0 @@ -12187,7 +12195,7 @@ packages: file:projects/web-pubsub.tgz: dependencies: '@azure/core-tracing': 1.0.0-preview.13 - '@azure/identity': 1.5.0 + '@azure/identity': 1.4.0 '@microsoft/api-extractor': 7.7.11 '@rollup/plugin-commonjs': 11.0.2_rollup@1.32.1 '@rollup/plugin-json': 4.1.0_rollup@1.32.1 @@ -12203,7 +12211,7 @@ packages: chai: 4.3.4 cross-env: 7.0.3 dotenv: 8.6.0 - eslint: 7.31.0 + eslint: 7.30.0 esm: 3.2.25 jsonwebtoken: 8.5.1 karma: 6.3.4 @@ -12242,6 +12250,7 @@ packages: integrity: sha512-fFkflheVi4tQ6f+xpKy4BivOUnSwGqkdqBFoyqWF9xicse3ow+t35KTb68rGUK/SyfOef6zc62VHtYpwCt4K5A== tarball: file:projects/web-pubsub.tgz version: 0.0.0 +registry: '' specifiers: '@rush-temp/abort-controller': file:./projects/abort-controller.tgz '@rush-temp/agrifood-farming': file:./projects/agrifood-farming.tgz diff --git a/sdk/monitor/monitor-opentelemetry-exporter/swagger/README.md b/sdk/monitor/monitor-opentelemetry-exporter/swagger/README.md index b406841d34e7..293f478d21cd 100644 --- a/sdk/monitor/monitor-opentelemetry-exporter/swagger/README.md +++ b/sdk/monitor/monitor-opentelemetry-exporter/swagger/README.md @@ -8,7 +8,7 @@ From `swagger/`: ```zsh rm -rf ../src/generated -autorest --typescript swagger/README.md +autorest swagger/README.md ``` ## Configuration @@ -24,6 +24,7 @@ source-code-folder-path: ./src/generated input-file: https://github.com/Azure/azure-rest-api-specs/blob/e47988f3ccaa90681f11cce59c25c638ff305692/specification/applicationinsights/data-plane/Monitor.Exporters/preview/2020-09-15_Preview/swagger.json add-credentials: false use-extension: - "@autorest/typescript": "6.0.0-beta.8" + "@autorest/typescript": "latest" package-version: 1.0.0-beta.4 +typescript: true ``` diff --git a/sdk/monitor/monitor-opentelemetry-exporter/test/internal/trace.exporter.test.ts b/sdk/monitor/monitor-opentelemetry-exporter/test/internal/trace.exporter.test.ts index 2fd778417ec4..bfb9c606989b 100644 --- a/sdk/monitor/monitor-opentelemetry-exporter/test/internal/trace.exporter.test.ts +++ b/sdk/monitor/monitor-opentelemetry-exporter/test/internal/trace.exporter.test.ts @@ -115,6 +115,18 @@ describe("#AzureMonitorBaseExporter", () => { assert.strictEqual(persistedEnvelopes, null); }); + it("should not persist non-retriable failed telemetry", async () => { + const exporter = new TestExporter(); + const response = failedBreezeResponse(1, 404); + scope.reply(404, JSON.stringify(response)); + + const result = await exporter.exportEnvelopesPrivate([envelope]); + assert.strictEqual(result.code, ExportResultCode.FAILED); + + const persistedEnvelopes = await exporter["_persister"].shift(); + assert.strictEqual(persistedEnvelopes, null); + }); + it("should not persist when an error is caught", async () => { const exporter = new TestExporter(); scope.reply(1, ""); // httpSender will throw From e624d914e03d181d4f0205709a1891c588aa608e Mon Sep 17 00:00:00 2001 From: xiao-lix Date: Fri, 23 Jul 2021 13:20:43 -0700 Subject: [PATCH 5/8] format --- .../monitor-opentelemetry-exporter/src/export/trace.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/sdk/monitor/monitor-opentelemetry-exporter/src/export/trace.ts b/sdk/monitor/monitor-opentelemetry-exporter/src/export/trace.ts index a82cba63ad84..475ee40b8716 100644 --- a/sdk/monitor/monitor-opentelemetry-exporter/src/export/trace.ts +++ b/sdk/monitor/monitor-opentelemetry-exporter/src/export/trace.ts @@ -67,9 +67,9 @@ export class AzureMonitorTraceExporter implements SpanExporter { return success ? { code: ExportResultCode.SUCCESS } : { - code: ExportResultCode.FAILED, - error: new Error("Failed to persist envelope in disk.") - }; + code: ExportResultCode.FAILED, + error: new Error("Failed to persist envelope in disk.") + }; } catch (ex) { return { code: ExportResultCode.FAILED, error: ex }; } From e5c9e035fde2c46c7602d27a5a703e45dadddace Mon Sep 17 00:00:00 2001 From: xiao-lix Date: Tue, 27 Jul 2021 14:33:54 -0700 Subject: [PATCH 6/8] use custom redirect policy --- .../src/export/trace.ts | 12 ++- .../platform/nodejs/customRedirectPolicy.ts | 76 +++++++++++++++++++ .../src/platform/nodejs/httpSender.ts | 6 +- .../test/internal/trace.exporter.test.ts | 68 +++++++++++++++++ 4 files changed, 157 insertions(+), 5 deletions(-) create mode 100644 sdk/monitor/monitor-opentelemetry-exporter/src/platform/nodejs/customRedirectPolicy.ts diff --git a/sdk/monitor/monitor-opentelemetry-exporter/src/export/trace.ts b/sdk/monitor/monitor-opentelemetry-exporter/src/export/trace.ts index 475ee40b8716..ebe99bc6f66d 100644 --- a/sdk/monitor/monitor-opentelemetry-exporter/src/export/trace.ts +++ b/sdk/monitor/monitor-opentelemetry-exporter/src/export/trace.ts @@ -67,9 +67,9 @@ export class AzureMonitorTraceExporter implements SpanExporter { return success ? { code: ExportResultCode.SUCCESS } : { - code: ExportResultCode.FAILED, - error: new Error("Failed to persist envelope in disk.") - }; + code: ExportResultCode.FAILED, + error: new Error("Failed to persist envelope in disk.") + }; } catch (ex) { return { code: ExportResultCode.FAILED, error: ex }; } @@ -122,7 +122,11 @@ export class AzureMonitorTraceExporter implements SpanExporter { } } catch (error) { const restError = error as RestError; - if (restError.statusCode && restError.statusCode === 308) { + if ( + restError.statusCode && + (restError.statusCode === 307 || // Temporary redirect + restError.statusCode === 308) + ) { // Permanent redirect this._numConsecutiveRedirects++; // To prevent circular redirects diff --git a/sdk/monitor/monitor-opentelemetry-exporter/src/platform/nodejs/customRedirectPolicy.ts b/sdk/monitor/monitor-opentelemetry-exporter/src/platform/nodejs/customRedirectPolicy.ts new file mode 100644 index 000000000000..edc7af9713dd --- /dev/null +++ b/sdk/monitor/monitor-opentelemetry-exporter/src/platform/nodejs/customRedirectPolicy.ts @@ -0,0 +1,76 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. + +import { PipelineResponse, PipelineRequest, SendRequest, PipelinePolicy } from "@azure/core-rest-pipeline"; +import { URL } from "url"; + +/** + * The programmatic identifier of the redirectPolicy. + */ +export const redirectPolicyName = "customRedirectPolicy"; + +/** + * Methods that are allowed to follow redirects 301 and 302 + */ +const allowedRedirect = ["GET", "HEAD"]; + +/** + * Options for how redirect responses are handled. + */ +export interface RedirectPolicyOptions { + /** + * The maximum number of times the redirect URL will be tried before + * failing. Defaults to 20. + */ + maxRetries?: number; +} + +/** + * A policy to follow Location headers from the server in order + * to support server-side redirection. + * @param options - Options to control policy behavior. + */ +export function customRedirectPolicy(options: RedirectPolicyOptions = {}): PipelinePolicy { + const { maxRetries = 20 } = options; + return { + name: redirectPolicyName, + async sendRequest(request: PipelineRequest, next: SendRequest): Promise { + const response = await next(request); + return handleRedirect(next, response, maxRetries); + } + }; +} + +async function handleRedirect( + next: SendRequest, + response: PipelineResponse, + maxRetries: number, + currentRetries: number = 0 +): Promise { + const { request, status, headers } = response; + const locationHeader = headers.get("location"); + if ( + locationHeader && + (status === 300 || + (status === 301 && allowedRedirect.includes(request.method)) || + (status === 302 && allowedRedirect.includes(request.method)) || + (status === 303 && request.method === "POST")) && + currentRetries < maxRetries + ) { + const url = new URL(locationHeader, request.url); + request.url = url.toString(); + + // POST request with Status code 303 should be converted into a + // redirected GET request if the redirect url is present in the location header + if (status === 303) { + request.method = "GET"; + request.headers.delete("Content-Length"); + delete request.body; + } + + const res = await next(request); + return handleRedirect(next, res, maxRetries, currentRetries + 1); + } + + return response; +} diff --git a/sdk/monitor/monitor-opentelemetry-exporter/src/platform/nodejs/httpSender.ts b/sdk/monitor/monitor-opentelemetry-exporter/src/platform/nodejs/httpSender.ts index eeebd14ca0fa..87bb839c862f 100644 --- a/sdk/monitor/monitor-opentelemetry-exporter/src/platform/nodejs/httpSender.ts +++ b/sdk/monitor/monitor-opentelemetry-exporter/src/platform/nodejs/httpSender.ts @@ -3,7 +3,7 @@ import url from "url"; import { diag } from "@opentelemetry/api"; import { FullOperationResponse } from "@azure/core-client"; -import { RestError } from "@azure/core-rest-pipeline"; +import { RestError, redirectPolicyName } from "@azure/core-rest-pipeline"; import { Sender, SenderResult } from "../../types"; import { TelemetryItem as Envelope, @@ -12,6 +12,7 @@ import { ApplicationInsightsClientTrackOptionalParams } from "../../generated"; import { AzureExporterInternalConfig } from "../../config"; +import { customRedirectPolicy } from "./customRedirectPolicy"; /** * Exporter HTTP sender class @@ -30,6 +31,9 @@ export class HttpSender implements Sender { this._appInsightsClient = new ApplicationInsightsClient({ ...this._appInsightsClientOptions }); + + this._appInsightsClient.pipeline.removePolicy({ name: redirectPolicyName }); + this._appInsightsClient.pipeline.addPolicy(customRedirectPolicy(), { afterPhase: "Retry" }); } /** diff --git a/sdk/monitor/monitor-opentelemetry-exporter/test/internal/trace.exporter.test.ts b/sdk/monitor/monitor-opentelemetry-exporter/test/internal/trace.exporter.test.ts index bfb9c606989b..640df3b1ea25 100644 --- a/sdk/monitor/monitor-opentelemetry-exporter/test/internal/trace.exporter.test.ts +++ b/sdk/monitor/monitor-opentelemetry-exporter/test/internal/trace.exporter.test.ts @@ -182,6 +182,74 @@ describe("#AzureMonitorBaseExporter", () => { redirectHost ); }); + + it("should handle temporary redirects in Azure Monitor", async () => { + const exporter = new TestExporter(); + const redirectHost = "https://ukwest-0.in.applicationinsights.azure.com"; + const redirectLocation = redirectHost + "/v2/track"; + // Redirect endpoint + const redirectScope = nock(redirectHost).post("/v2/track", () => { + return true; + }); + redirectScope.reply(200, JSON.stringify(successfulBreezeResponse(1))); + scope.reply(307, {}, { location: redirectLocation }); + + const result = await exporter.exportEnvelopesPrivate([envelope]); + const persistedEnvelopes = (await exporter["_persister"].shift()) as Envelope[]; + assert.strictEqual(persistedEnvelopes, null); + assert.strictEqual(result.code, ExportResultCode.SUCCESS); + assert.strictEqual( + (exporter["_sender"])["_appInsightsClient"]["host"], + redirectHost + ); + }); + + it("should use redirect URL for following requests", async () => { + const exporter = new TestExporter(); + const redirectHost = "https://ukwest-0.in.applicationinsights.azure.com"; + const redirectLocation = redirectHost + "/v2/track"; + // Redirect endpoint + const redirectScope = nock(redirectHost).post("/v2/track", () => { + return true; + }); + redirectScope.twice().reply(200, JSON.stringify(successfulBreezeResponse(1))); + scope.reply(307, {}, { location: redirectLocation }); + let result = await exporter.exportEnvelopesPrivate([envelope]); + assert.strictEqual(result.code, ExportResultCode.SUCCESS); + assert.strictEqual( + (exporter["_sender"])["_appInsightsClient"]["host"], + redirectHost + ); + result = await exporter.exportEnvelopesPrivate([envelope]); + assert.strictEqual(result.code, ExportResultCode.SUCCESS); + assert.strictEqual( + (exporter["_sender"])["_appInsightsClient"]["host"], + redirectHost + ); + }); + + it("should stop redirecting when circular redirect is triggered", async () => { + const exporter = new TestExporter(); + const redirectHost = "https://ukwest-0.in.applicationinsights.azure.com"; + const redirectLocation = redirectHost + "/v2/track"; + // Redirect endpoint + const redirectScope = nock(redirectHost).post("/v2/track", () => { + return true; + }); + // Circle redirect + scope + .reply(307, JSON.stringify(successfulBreezeResponse(1)), { location: redirectLocation }) + .persist(); + redirectScope + .reply(307, JSON.stringify(successfulBreezeResponse(1)), { + location: DEFAULT_BREEZE_ENDPOINT + }) + .persist(); + + const result = await exporter.exportEnvelopesPrivate([envelope]); + assert.strictEqual(result.code, ExportResultCode.FAILED); + assert.strictEqual(result.error?.message, "Circular redirect"); + }); }); }); }); From 8b5074abdaf3d9cddaa9b99efb1610784eaa2a87 Mon Sep 17 00:00:00 2001 From: xiao-lix Date: Tue, 27 Jul 2021 14:39:51 -0700 Subject: [PATCH 7/8] format --- .../monitor-opentelemetry-exporter/src/export/trace.ts | 6 +++--- .../src/platform/nodejs/customRedirectPolicy.ts | 7 ++++++- .../src/platform/nodejs/httpSender.ts | 8 -------- 3 files changed, 9 insertions(+), 12 deletions(-) diff --git a/sdk/monitor/monitor-opentelemetry-exporter/src/export/trace.ts b/sdk/monitor/monitor-opentelemetry-exporter/src/export/trace.ts index ebe99bc6f66d..500d0253dd3f 100644 --- a/sdk/monitor/monitor-opentelemetry-exporter/src/export/trace.ts +++ b/sdk/monitor/monitor-opentelemetry-exporter/src/export/trace.ts @@ -67,9 +67,9 @@ export class AzureMonitorTraceExporter implements SpanExporter { return success ? { code: ExportResultCode.SUCCESS } : { - code: ExportResultCode.FAILED, - error: new Error("Failed to persist envelope in disk.") - }; + code: ExportResultCode.FAILED, + error: new Error("Failed to persist envelope in disk.") + }; } catch (ex) { return { code: ExportResultCode.FAILED, error: ex }; } diff --git a/sdk/monitor/monitor-opentelemetry-exporter/src/platform/nodejs/customRedirectPolicy.ts b/sdk/monitor/monitor-opentelemetry-exporter/src/platform/nodejs/customRedirectPolicy.ts index edc7af9713dd..6b97b811dda9 100644 --- a/sdk/monitor/monitor-opentelemetry-exporter/src/platform/nodejs/customRedirectPolicy.ts +++ b/sdk/monitor/monitor-opentelemetry-exporter/src/platform/nodejs/customRedirectPolicy.ts @@ -1,7 +1,12 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. -import { PipelineResponse, PipelineRequest, SendRequest, PipelinePolicy } from "@azure/core-rest-pipeline"; +import { + PipelineResponse, + PipelineRequest, + SendRequest, + PipelinePolicy +} from "@azure/core-rest-pipeline"; import { URL } from "url"; /** diff --git a/sdk/monitor/monitor-opentelemetry-exporter/src/platform/nodejs/httpSender.ts b/sdk/monitor/monitor-opentelemetry-exporter/src/platform/nodejs/httpSender.ts index 87bb839c862f..5f4a74989e9e 100644 --- a/sdk/monitor/monitor-opentelemetry-exporter/src/platform/nodejs/httpSender.ts +++ b/sdk/monitor/monitor-opentelemetry-exporter/src/platform/nodejs/httpSender.ts @@ -55,14 +55,6 @@ export class HttpSender implements Sender { onResponse }); - if (response?.status === 404) { - throw new RestError(response?.bodyAsText!, { - statusCode: response?.status, - request: response?.request, - response: response - }); - } - return { statusCode: response?.status, result: response?.bodyAsText ?? "" }; } catch (e) { throw e; From e29c37a6c418518a68c145deed82b63455ea656d Mon Sep 17 00:00:00 2001 From: xiao-lix Date: Tue, 27 Jul 2021 15:20:14 -0700 Subject: [PATCH 8/8] udpate --- .../platform/nodejs/customRedirectPolicy.ts | 81 ------------------- .../src/platform/nodejs/httpSender.ts | 4 +- 2 files changed, 1 insertion(+), 84 deletions(-) delete mode 100644 sdk/monitor/monitor-opentelemetry-exporter/src/platform/nodejs/customRedirectPolicy.ts diff --git a/sdk/monitor/monitor-opentelemetry-exporter/src/platform/nodejs/customRedirectPolicy.ts b/sdk/monitor/monitor-opentelemetry-exporter/src/platform/nodejs/customRedirectPolicy.ts deleted file mode 100644 index 6b97b811dda9..000000000000 --- a/sdk/monitor/monitor-opentelemetry-exporter/src/platform/nodejs/customRedirectPolicy.ts +++ /dev/null @@ -1,81 +0,0 @@ -// Copyright (c) Microsoft Corporation. -// Licensed under the MIT license. - -import { - PipelineResponse, - PipelineRequest, - SendRequest, - PipelinePolicy -} from "@azure/core-rest-pipeline"; -import { URL } from "url"; - -/** - * The programmatic identifier of the redirectPolicy. - */ -export const redirectPolicyName = "customRedirectPolicy"; - -/** - * Methods that are allowed to follow redirects 301 and 302 - */ -const allowedRedirect = ["GET", "HEAD"]; - -/** - * Options for how redirect responses are handled. - */ -export interface RedirectPolicyOptions { - /** - * The maximum number of times the redirect URL will be tried before - * failing. Defaults to 20. - */ - maxRetries?: number; -} - -/** - * A policy to follow Location headers from the server in order - * to support server-side redirection. - * @param options - Options to control policy behavior. - */ -export function customRedirectPolicy(options: RedirectPolicyOptions = {}): PipelinePolicy { - const { maxRetries = 20 } = options; - return { - name: redirectPolicyName, - async sendRequest(request: PipelineRequest, next: SendRequest): Promise { - const response = await next(request); - return handleRedirect(next, response, maxRetries); - } - }; -} - -async function handleRedirect( - next: SendRequest, - response: PipelineResponse, - maxRetries: number, - currentRetries: number = 0 -): Promise { - const { request, status, headers } = response; - const locationHeader = headers.get("location"); - if ( - locationHeader && - (status === 300 || - (status === 301 && allowedRedirect.includes(request.method)) || - (status === 302 && allowedRedirect.includes(request.method)) || - (status === 303 && request.method === "POST")) && - currentRetries < maxRetries - ) { - const url = new URL(locationHeader, request.url); - request.url = url.toString(); - - // POST request with Status code 303 should be converted into a - // redirected GET request if the redirect url is present in the location header - if (status === 303) { - request.method = "GET"; - request.headers.delete("Content-Length"); - delete request.body; - } - - const res = await next(request); - return handleRedirect(next, res, maxRetries, currentRetries + 1); - } - - return response; -} diff --git a/sdk/monitor/monitor-opentelemetry-exporter/src/platform/nodejs/httpSender.ts b/sdk/monitor/monitor-opentelemetry-exporter/src/platform/nodejs/httpSender.ts index 5f4a74989e9e..9737f0f55839 100644 --- a/sdk/monitor/monitor-opentelemetry-exporter/src/platform/nodejs/httpSender.ts +++ b/sdk/monitor/monitor-opentelemetry-exporter/src/platform/nodejs/httpSender.ts @@ -3,7 +3,7 @@ import url from "url"; import { diag } from "@opentelemetry/api"; import { FullOperationResponse } from "@azure/core-client"; -import { RestError, redirectPolicyName } from "@azure/core-rest-pipeline"; +import { redirectPolicyName } from "@azure/core-rest-pipeline"; import { Sender, SenderResult } from "../../types"; import { TelemetryItem as Envelope, @@ -12,7 +12,6 @@ import { ApplicationInsightsClientTrackOptionalParams } from "../../generated"; import { AzureExporterInternalConfig } from "../../config"; -import { customRedirectPolicy } from "./customRedirectPolicy"; /** * Exporter HTTP sender class @@ -33,7 +32,6 @@ export class HttpSender implements Sender { }); this._appInsightsClient.pipeline.removePolicy({ name: redirectPolicyName }); - this._appInsightsClient.pipeline.addPolicy(customRedirectPolicy(), { afterPhase: "Retry" }); } /**