Chore: Move most types from rrweb to @rrweb/types package (#1031)

* Chore: Add move most types from rrweb to @rrweb/types package

* Split off type imports

* Split off type import to its own line

* Get vite to generate type definitions

* Apply formatting changes

* noEmit not allowed in tsconfig, moved it to build step

* Align version of @rrweb/types with main rrweb package

Based on @mark-fenng's comments https://github.com/rrweb-io/rrweb/pull/1031/files#r1002298176

* Move up keywords
This commit is contained in:
Justin Halsall
2026-04-01 12:00:00 +08:00
committed by GitHub
parent 96ba547e72
commit 905ac51afb
69 changed files with 1307 additions and 712 deletions

View File

@@ -23,12 +23,17 @@
{ {
"name": "rrweb-snapshot (package)", "name": "rrweb-snapshot (package)",
"path": "../packages/rrweb-snapshot" "path": "../packages/rrweb-snapshot"
},
{
"name": "@rrweb/types",
"path": "../packages/types"
} }
], ],
"settings": { "settings": {
"jest.disabledWorkspaceFolders": [ "jest.disabledWorkspaceFolders": [
" rrweb monorepo", " rrweb monorepo",
"rrweb-player (package)" "rrweb-player (package)",
"@rrweb/types"
] ]
} }
} }

View File

@@ -43,6 +43,7 @@
"rollup-plugin-typescript2": "^0.31.2", "rollup-plugin-typescript2": "^0.31.2",
"rollup-plugin-web-worker-loader": "^1.6.1", "rollup-plugin-web-worker-loader": "^1.6.1",
"ts-jest": "^27.1.3", "ts-jest": "^27.1.3",
"@rrweb/types": "^2.0.0-alpha.3",
"typescript": "^4.7.3" "typescript": "^4.7.3"
}, },
"dependencies": { "dependencies": {

View File

@@ -6,7 +6,7 @@ import type {
scrollData, scrollData,
styleDeclarationData, styleDeclarationData,
styleSheetRuleData, styleSheetRuleData,
} from 'rrweb/src/types'; } from '@rrweb/types';
import type { import type {
IRRCDATASection, IRRCDATASection,
IRRComment, IRRComment,

View File

@@ -14,7 +14,7 @@ import type {
scrollData, scrollData,
styleSheetRuleData, styleSheetRuleData,
styleDeclarationData, styleDeclarationData,
} from 'rrweb/src/types'; } from '@rrweb/types';
import { import {
BaseRRNode as RRNode, BaseRRNode as RRNode,
BaseRRCDATASectionImpl, BaseRRCDATASectionImpl,

View File

@@ -12,12 +12,12 @@ import {
import type { IRRNode } from '../src/document'; import type { IRRNode } from '../src/document';
import { Replayer } from 'rrweb'; import { Replayer } from 'rrweb';
import type { import type {
eventWithTime,
canvasMutationData, canvasMutationData,
styleDeclarationData, styleDeclarationData,
styleSheetRuleData, styleSheetRuleData,
} from 'rrweb/src/types'; } from '@rrweb/types';
import { EventType, IncrementalSource } from 'rrweb/src/types'; import { EventType, IncrementalSource } from '@rrweb/types';
import type { eventWithTime } from 'rrweb/typings/types';
const elementSn = { const elementSn = {
type: RRNodeType.Element, type: RRNodeType.Element,

View File

@@ -18,6 +18,9 @@
"references": [ "references": [
{ {
"path": "../rrweb-snapshot" "path": "../rrweb-snapshot"
},
{
"path": "../types"
} }
], ],
"compileOnSave": true, "compileOnSave": true,

View File

@@ -4,6 +4,7 @@
"devDependencies": { "devDependencies": {
"@rollup/plugin-commonjs": "^22.0.0", "@rollup/plugin-commonjs": "^22.0.0",
"@rollup/plugin-node-resolve": "^13.2.1", "@rollup/plugin-node-resolve": "^13.2.1",
"@rrweb/types": "^2.0.0-alpha.3",
"@types/offscreencanvas": "^2019.6.4", "@types/offscreencanvas": "^2019.6.4",
"eslint-config-google": "^0.14.0", "eslint-config-google": "^0.14.0",
"eslint-plugin-svelte3": "^4.0.0", "eslint-plugin-svelte3": "^4.0.0",

View File

@@ -1,7 +1,7 @@
<script lang="ts"> <script lang="ts">
import { EventType } from 'rrweb'; import { EventType } from 'rrweb';
import type { Replayer } from 'rrweb'; import type { Replayer } from 'rrweb';
import type { playerMetaData } from 'rrweb/typings/types'; import type { playerMetaData } from '@rrweb/types';
import type { import type {
PlayerMachineState, PlayerMachineState,
SpeedMachineState, SpeedMachineState,

View File

@@ -1,7 +1,7 @@
<script lang="ts"> <script lang="ts">
import { onMount, onDestroy } from 'svelte'; import { onMount, onDestroy } from 'svelte';
import { Replayer, unpack } from 'rrweb'; import { Replayer, unpack } from 'rrweb';
import type { eventWithTime } from 'rrweb/typings/types'; import type { eventWithTime } from '@rrweb/types';
import { import {
inlineCss, inlineCss,
openFullscreen, openFullscreen,

View File

@@ -1,4 +1,4 @@
import type { eventWithTime } from 'rrweb/typings/types'; import type { eventWithTime } from '@rrweb/types';
import _Player from './Player.svelte'; import _Player from './Player.svelte';
type PlayerProps = { type PlayerProps = {

View File

@@ -13,6 +13,9 @@
"references": [ "references": [
{ {
"path": "../rrweb" "path": "../rrweb"
},
{
"path": "../types"
} }
] ]
} }

View File

@@ -80,6 +80,7 @@
"typescript": "^4.7.3" "typescript": "^4.7.3"
}, },
"dependencies": { "dependencies": {
"@rrweb/types": "^2.0.0-alpha.3",
"@types/css-font-loading-module": "0.0.7", "@types/css-font-loading-module": "0.0.7",
"@xstate/fsm": "^1.4.0", "@xstate/fsm": "^1.4.0",
"base64-arraybuffer": "^1.0.1", "base64-arraybuffer": "^1.0.1",

View File

@@ -8,7 +8,7 @@ export {
IncrementalSource, IncrementalSource,
MouseInteractions, MouseInteractions,
ReplayerEvents, ReplayerEvents,
} from './types'; } from '@rrweb/types';
const { addCustomEvent } = record; const { addCustomEvent } = record;
const { freezePage } = record; const { freezePage } = record;

View File

@@ -1,4 +1,4 @@
import type { eventWithTime } from '../types'; import type { eventWithTime } from '@rrweb/types';
export type PackFn = (event: eventWithTime) => string; export type PackFn = (event: eventWithTime) => string;
export type UnpackFn = (raw: string) => eventWithTime; export type UnpackFn = (raw: string) => eventWithTime;

View File

@@ -1,6 +1,6 @@
import { strFromU8, strToU8, unzlibSync } from 'fflate'; import { strFromU8, strToU8, unzlibSync } from 'fflate';
import { UnpackFn, eventWithTimeAndPacker, MARK } from './base'; import { UnpackFn, eventWithTimeAndPacker, MARK } from './base';
import type { eventWithTime } from '../types'; import type { eventWithTime } from '@rrweb/types';
export const unpack: UnpackFn = (raw: string) => { export const unpack: UnpackFn = (raw: string) => {
if (typeof raw !== 'string') { if (typeof raw !== 'string') {

View File

@@ -1,6 +1,6 @@
import type { Mirror } from 'rrweb-snapshot'; import type { Mirror } from 'rrweb-snapshot';
import SimplePeer from 'simple-peer-light'; import SimplePeer from 'simple-peer-light';
import type { RecordPlugin } from '../../../types'; import type { RecordPlugin } from '@rrweb/types';
import type { WebRTCDataChannel } from '../types'; import type { WebRTCDataChannel } from '../types';
export const PLUGIN_NAME = 'rrweb/canvas-webrtc@1'; export const PLUGIN_NAME = 'rrweb/canvas-webrtc@1';

View File

@@ -1,4 +1,4 @@
import type { listenerHandler, RecordPlugin, IWindow } from '../../../types'; import type { listenerHandler, RecordPlugin, IWindow } from '@rrweb/types';
import { patch } from '../../../utils'; import { patch } from '../../../utils';
import { ErrorStackParser, StackFrame } from './error-stack-parser'; import { ErrorStackParser, StackFrame } from './error-stack-parser';
import { stringify } from './stringify'; import { stringify } from './stringify';

View File

@@ -1,10 +1,7 @@
import { LogLevel, LogData, PLUGIN_NAME } from '../record'; import { LogLevel, LogData, PLUGIN_NAME } from '../record';
import { import type { eventWithTime } from '@rrweb/types';
eventWithTime, import { EventType, IncrementalSource } from '@rrweb/types';
EventType, import type { ReplayPlugin } from '../../../types';
IncrementalSource,
ReplayPlugin,
} from '../../../types';
/** /**
* define an interface to replay log records * define an interface to replay log records

View File

@@ -1,4 +1,4 @@
import type { RecordPlugin } from '../../../types'; import type { RecordPlugin } from '@rrweb/types';
export type SequentialIdOptions = { export type SequentialIdOptions = {
key: string; key: string;

View File

@@ -1,5 +1,6 @@
import type { SequentialIdOptions } from '../record'; import type { SequentialIdOptions } from '../record';
import type { ReplayPlugin, eventWithTime } from '../../../types'; import type { ReplayPlugin } from '../../../types';
import type { eventWithTime } from '@rrweb/types';
type Options = SequentialIdOptions & { type Options = SequentialIdOptions & {
warnOnMissingId: boolean; warnOnMissingId: boolean;

View File

@@ -1,5 +1,5 @@
import type { Mirror, serializedNodeWithId } from 'rrweb-snapshot'; import type { Mirror, serializedNodeWithId } from 'rrweb-snapshot';
import type { mutationCallBack } from '../types'; import type { mutationCallBack } from '@rrweb/types';
import type { StylesheetManager } from './stylesheet-manager'; import type { StylesheetManager } from './stylesheet-manager';
export class IframeManager { export class IframeManager {

View File

@@ -14,18 +14,18 @@ import {
isSerializedIframe, isSerializedIframe,
isSerializedStylesheet, isSerializedStylesheet,
} from '../utils'; } from '../utils';
import type { recordOptions } from '../types';
import { import {
EventType, EventType,
event, event,
eventWithTime, eventWithTime,
recordOptions,
IncrementalSource, IncrementalSource,
listenerHandler, listenerHandler,
mutationCallbackParam, mutationCallbackParam,
scrollCallback, scrollCallback,
canvasMutationParam, canvasMutationParam,
adoptedStyleSheetParam, adoptedStyleSheetParam,
} from '../types'; } from '@rrweb/types';
import { IframeManager } from './iframe-manager'; import { IframeManager } from './iframe-manager';
import { ShadowDomManager } from './shadow-dom-manager'; import { ShadowDomManager } from './shadow-dom-manager';
import { CanvasManager } from './observers/canvas/canvas-manager'; import { CanvasManager } from './observers/canvas/canvas-manager';

View File

@@ -8,6 +8,7 @@ import {
Mirror, Mirror,
isNativeShadowDom, isNativeShadowDom,
} from 'rrweb-snapshot'; } from 'rrweb-snapshot';
import type { observerParam, MutationBufferParam } from '../types';
import type { import type {
mutationRecord, mutationRecord,
textCursor, textCursor,
@@ -15,10 +16,8 @@ import type {
removedNodeMutation, removedNodeMutation,
addedNodeMutation, addedNodeMutation,
styleAttributeValue, styleAttributeValue,
observerParam,
MutationBufferParam,
Optional, Optional,
} from '../types'; } from '@rrweb/types';
import { import {
isBlocked, isBlocked,
isAncestorRemoved, isAncestorRemoved,

View File

@@ -11,9 +11,9 @@ import {
patch, patch,
StyleSheetMirror, StyleSheetMirror,
} from '../utils'; } from '../utils';
import type { observerParam, MutationBufferParam } from '../types';
import { import {
mutationCallBack, mutationCallBack,
observerParam,
mousemoveCallBack, mousemoveCallBack,
mousePosition, mousePosition,
mouseInteractionCallBack, mouseInteractionCallBack,
@@ -35,10 +35,9 @@ import {
fontParam, fontParam,
styleDeclarationCallback, styleDeclarationCallback,
IWindow, IWindow,
MutationBufferParam,
SelectionRange, SelectionRange,
selectionCallback, selectionCallback,
} from '../types'; } from '@rrweb/types';
import MutationBuffer from './mutation'; import MutationBuffer from './mutation';
type WindowWithStoredMutationObserver = IWindow & { type WindowWithStoredMutationObserver = IWindow & {

View File

@@ -5,7 +5,7 @@ import {
canvasManagerMutationCallback, canvasManagerMutationCallback,
IWindow, IWindow,
listenerHandler, listenerHandler,
} from '../../../types'; } from '@rrweb/types';
import { hookSetter, isBlocked, patch } from '../../../utils'; import { hookSetter, isBlocked, patch } from '../../../utils';
import { serializeArgs } from './serialize-args'; import { serializeArgs } from './serialize-args';

View File

@@ -8,9 +8,9 @@ import type {
IWindow, IWindow,
listenerHandler, listenerHandler,
CanvasArg, CanvasArg,
} from '../../../types'; } from '@rrweb/types';
import { isBlocked } from '../../../utils'; import { isBlocked } from '../../../utils';
import { CanvasContext } from '../../../types'; import { CanvasContext } from '@rrweb/types';
import initCanvas2DMutationObserver from './2d'; import initCanvas2DMutationObserver from './2d';
import initCanvasContextObserver from './canvas'; import initCanvasContextObserver from './canvas';
import initCanvasWebGLMutationObserver from './webgl'; import initCanvasWebGLMutationObserver from './webgl';

View File

@@ -1,5 +1,5 @@
import type { ICanvas } from 'rrweb-snapshot'; import type { ICanvas } from 'rrweb-snapshot';
import type { blockClass, IWindow, listenerHandler } from '../../../types'; import type { blockClass, IWindow, listenerHandler } from '@rrweb/types';
import { isBlocked, patch } from '../../../utils'; import { isBlocked, patch } from '../../../utils';
export default function initCanvasContextObserver( export default function initCanvasContextObserver(

View File

@@ -1,5 +1,5 @@
import { encode } from 'base64-arraybuffer'; import { encode } from 'base64-arraybuffer';
import type { IWindow, CanvasArg } from '../../../types'; import type { IWindow, CanvasArg } from '@rrweb/types';
// TODO: unify with `replay/webgl.ts` // TODO: unify with `replay/webgl.ts`
type CanvasVarMap = Map<string, unknown[]>; type CanvasVarMap = Map<string, unknown[]>;

View File

@@ -6,7 +6,7 @@ import {
canvasMutationWithType, canvasMutationWithType,
IWindow, IWindow,
listenerHandler, listenerHandler,
} from '../../../types'; } from '@rrweb/types';
import { hookSetter, isBlocked, patch } from '../../../utils'; import { hookSetter, isBlocked, patch } from '../../../utils';
import { saveWebGLVar, serializeArgs } from './serialize-args'; import { saveWebGLVar, serializeArgs } from './serialize-args';

View File

@@ -1,9 +1,9 @@
import type { MutationBufferParam } from '../types';
import type { import type {
mutationCallBack, mutationCallBack,
scrollCallback, scrollCallback,
MutationBufferParam,
SamplingStrategy, SamplingStrategy,
} from '../types'; } from '@rrweb/types';
import { import {
initMutationObserver, initMutationObserver,
initScrollObserver, initScrollObserver,

View File

@@ -5,7 +5,7 @@ import type {
adoptedStyleSheetParam, adoptedStyleSheetParam,
attributeMutation, attributeMutation,
mutationCallBack, mutationCallBack,
} from '../types'; } from '@rrweb/types';
import { StyleSheetMirror } from '../utils'; import { StyleSheetMirror } from '../utils';
export class StylesheetManager { export class StylesheetManager {

View File

@@ -3,7 +3,7 @@ import type { DataURLOptions } from 'rrweb-snapshot';
import type { import type {
ImageBitmapDataURLWorkerParams, ImageBitmapDataURLWorkerParams,
ImageBitmapDataURLWorkerResponse, ImageBitmapDataURLWorkerResponse,
} from '../../types'; } from '@rrweb/types';
const lastBlobMap: Map<number, string> = new Map(); const lastBlobMap: Map<number, string> = new Map();
const transparentBlobMap: Map<string, string> = new Map(); const transparentBlobMap: Map<string, string> = new Map();

View File

@@ -1,5 +1,5 @@
import type { Replayer } from '../'; import type { Replayer } from '../';
import type { canvasMutationCommand } from '../../types'; import type { canvasMutationCommand } from '@rrweb/types';
import { deserializeArg } from './deserialize-args'; import { deserializeArg } from './deserialize-args';
export default async function canvasMutation({ export default async function canvasMutation({

View File

@@ -1,6 +1,6 @@
import { decode } from 'base64-arraybuffer'; import { decode } from 'base64-arraybuffer';
import type { Replayer } from '../'; import type { Replayer } from '../';
import type { CanvasArg, SerializedCanvasArg } from '../../types'; import type { CanvasArg, SerializedCanvasArg } from '@rrweb/types';
// TODO: add ability to wipe this list // TODO: add ability to wipe this list
type GLVarMap = Map<string, any[]>; type GLVarMap = Map<string, any[]>;

View File

@@ -4,7 +4,7 @@ import {
canvasMutationCommand, canvasMutationCommand,
canvasMutationData, canvasMutationData,
canvasMutationParam, canvasMutationParam,
} from '../../types'; } from '@rrweb/types';
import webglMutation from './webgl'; import webglMutation from './webgl';
import canvas2DMutation from './2d'; import canvas2DMutation from './2d';

View File

@@ -1,5 +1,5 @@
import type { Replayer } from '../'; import type { Replayer } from '../';
import { CanvasContext, canvasMutationCommand } from '../../types'; import { CanvasContext, canvasMutationCommand } from '@rrweb/types';
import { deserializeArg, variableListFor } from './deserialize-args'; import { deserializeArg, variableListFor } from './deserialize-args';
function getContext( function getContext(

View File

@@ -31,16 +31,15 @@ import * as mittProxy from 'mitt';
import { polyfill as smoothscrollPolyfill } from './smoothscroll'; import { polyfill as smoothscrollPolyfill } from './smoothscroll';
import { Timer } from './timer'; import { Timer } from './timer';
import { createPlayerService, createSpeedService } from './machine'; import { createPlayerService, createSpeedService } from './machine';
import type { playerConfig, missingNodeMap } from '../types';
import { import {
EventType, EventType,
IncrementalSource, IncrementalSource,
fullSnapshotEvent, fullSnapshotEvent,
eventWithTime, eventWithTime,
MouseInteractions, MouseInteractions,
playerConfig,
playerMetaData, playerMetaData,
viewportResizeDimension, viewportResizeDimension,
missingNodeMap,
addedNodeMutation, addedNodeMutation,
incrementalSnapshotEvent, incrementalSnapshotEvent,
incrementalData, incrementalData,
@@ -63,7 +62,7 @@ import {
styleSheetRuleData, styleSheetRuleData,
styleDeclarationData, styleDeclarationData,
adoptedStyleSheetData, adoptedStyleSheetData,
} from '../types'; } from '@rrweb/types';
import { import {
polyfill, polyfill,
queueToResolveTrees, queueToResolveTrees,

View File

@@ -1,13 +1,12 @@
import { createMachine, interpret, assign, StateMachine } from '@xstate/fsm'; import { createMachine, interpret, assign, StateMachine } from '@xstate/fsm';
import type { playerConfig } from '../types';
import { import {
playerConfig,
eventWithTime, eventWithTime,
actionWithDelay,
ReplayerEvents, ReplayerEvents,
EventType, EventType,
Emitter, Emitter,
IncrementalSource, IncrementalSource,
} from '../types'; } from '@rrweb/types';
import { Timer, addDelay } from './timer'; import { Timer, addDelay } from './timer';
export type PlayerContext = { export type PlayerContext = {

View File

@@ -3,7 +3,7 @@ import {
eventWithTime, eventWithTime,
EventType, EventType,
IncrementalSource, IncrementalSource,
} from '../types'; } from '@rrweb/types';
export class Timer { export class Timer {
public timeOffset = 0; public timeOffset = 0;

View File

@@ -15,229 +15,30 @@ import type { Replayer } from './replay';
import type { RRNode } from 'rrdom'; import type { RRNode } from 'rrdom';
import type { CanvasManager } from './record/observers/canvas/canvas-manager'; import type { CanvasManager } from './record/observers/canvas/canvas-manager';
import type { StylesheetManager } from './record/stylesheet-manager'; import type { StylesheetManager } from './record/stylesheet-manager';
import type {
export enum EventType { addedNodeMutation,
DomContentLoaded, blockClass,
Load, canvasMutationCallback,
FullSnapshot, eventWithTime,
IncrementalSnapshot, fontCallback,
Meta, hooksParam,
Custom, inputCallback,
Plugin, IWindow,
} KeepIframeSrcFn,
listenerHandler,
export type domContentLoadedEvent = { maskTextClass,
type: EventType.DomContentLoaded; mediaInteractionCallback,
data: unknown; mouseInteractionCallBack,
}; mousemoveCallBack,
mutationCallBack,
export type loadedEvent = { RecordPlugin,
type: EventType.Load; SamplingStrategy,
data: unknown; scrollCallback,
}; selectionCallback,
styleDeclarationCallback,
export type fullSnapshotEvent = { styleSheetRuleCallback,
type: EventType.FullSnapshot; viewportResizeCallback,
data: { } from '@rrweb/types';
node: serializedNodeWithId;
initialOffset: {
top: number;
left: number;
};
};
};
export type incrementalSnapshotEvent = {
type: EventType.IncrementalSnapshot;
data: incrementalData;
};
export type metaEvent = {
type: EventType.Meta;
data: {
href: string;
width: number;
height: number;
};
};
export type customEvent<T = unknown> = {
type: EventType.Custom;
data: {
tag: string;
payload: T;
};
};
export type pluginEvent<T = unknown> = {
type: EventType.Plugin;
data: {
plugin: string;
payload: T;
};
};
export enum IncrementalSource {
Mutation,
MouseMove,
MouseInteraction,
Scroll,
ViewportResize,
Input,
TouchMove,
MediaInteraction,
StyleSheetRule,
CanvasMutation,
Font,
Log,
Drag,
StyleDeclaration,
Selection,
AdoptedStyleSheet,
}
export type mutationData = {
source: IncrementalSource.Mutation;
} & mutationCallbackParam;
export type mousemoveData = {
source:
| IncrementalSource.MouseMove
| IncrementalSource.TouchMove
| IncrementalSource.Drag;
positions: mousePosition[];
};
export type mouseInteractionData = {
source: IncrementalSource.MouseInteraction;
} & mouseInteractionParam;
export type scrollData = {
source: IncrementalSource.Scroll;
} & scrollPosition;
export type viewportResizeData = {
source: IncrementalSource.ViewportResize;
} & viewportResizeDimension;
export type inputData = {
source: IncrementalSource.Input;
id: number;
} & inputValue;
export type mediaInteractionData = {
source: IncrementalSource.MediaInteraction;
} & mediaInteractionParam;
export type styleSheetRuleData = {
source: IncrementalSource.StyleSheetRule;
} & styleSheetRuleParam;
export type styleDeclarationData = {
source: IncrementalSource.StyleDeclaration;
} & styleDeclarationParam;
export type canvasMutationData = {
source: IncrementalSource.CanvasMutation;
} & canvasMutationParam;
export type fontData = {
source: IncrementalSource.Font;
} & fontParam;
export type selectionData = {
source: IncrementalSource.Selection;
} & selectionParam;
export type adoptedStyleSheetData = {
source: IncrementalSource.AdoptedStyleSheet;
} & adoptedStyleSheetParam;
export type incrementalData =
| mutationData
| mousemoveData
| mouseInteractionData
| scrollData
| viewportResizeData
| inputData
| mediaInteractionData
| styleSheetRuleData
| canvasMutationData
| fontData
| selectionData
| styleDeclarationData
| adoptedStyleSheetData;
export type event =
| domContentLoadedEvent
| loadedEvent
| fullSnapshotEvent
| incrementalSnapshotEvent
| metaEvent
| customEvent
| pluginEvent;
export type eventWithTime = event & {
timestamp: number;
delay?: number;
};
export type canvasEventWithTime = eventWithTime & {
type: EventType.IncrementalSnapshot;
data: canvasMutationData;
};
export type blockClass = string | RegExp;
export type maskTextClass = string | RegExp;
export type SamplingStrategy = Partial<{
/**
* false means not to record mouse/touch move events
* number is the throttle threshold of recording mouse/touch move
*/
mousemove: boolean | number;
/**
* number is the throttle threshold of mouse/touch move callback
*/
mousemoveCallback: number;
/**
* false means not to record mouse interaction events
* can also specify record some kinds of mouse interactions
*/
mouseInteraction: boolean | Record<string, boolean | undefined>;
/**
* number is the throttle threshold of recording scroll
*/
scroll: number;
/**
* number is the throttle threshold of recording media interactions
*/
media: number;
/**
* 'all' will record all the input events
* 'last' will only record the last input value while input a sequence of chars
*/
input: 'all' | 'last';
/**
* 'all' will record every single canvas call
* number between 1 and 60, will record an image snapshots in a web-worker a (maximum) number of times per second.
* Number only supported where [`OffscreenCanvas`](http://mdn.io/offscreencanvas) is supported.
*/
canvas: 'all' | number;
}>;
export type RecordPlugin<TOptions = unknown> = {
name: string;
observer?: (
cb: (...args: Array<unknown>) => void,
win: IWindow,
options: TOptions,
) => listenerHandler;
eventProcessor?: <TExtend>(event: eventWithTime) => eventWithTime & TExtend;
getMirror?: (mirror: Mirror) => void;
options: TOptions;
};
export type recordOptions<T> = { export type recordOptions<T> = {
emit?: (e: T, isCheckout?: boolean) => void; emit?: (e: T, isCheckout?: boolean) => void;
@@ -341,360 +142,6 @@ export type MutationBufferParam = Pick<
| 'canvasManager' | 'canvasManager'
>; >;
export type hooksParam = {
mutation?: mutationCallBack;
mousemove?: mousemoveCallBack;
mouseInteraction?: mouseInteractionCallBack;
scroll?: scrollCallback;
viewportResize?: viewportResizeCallback;
input?: inputCallback;
mediaInteaction?: mediaInteractionCallback;
styleSheetRule?: styleSheetRuleCallback;
styleDeclaration?: styleDeclarationCallback;
canvasMutation?: canvasMutationCallback;
font?: fontCallback;
selection?: selectionCallback;
};
// https://dom.spec.whatwg.org/#interface-mutationrecord
export type mutationRecord = {
type: string;
target: Node;
oldValue: string | null;
addedNodes: NodeList;
removedNodes: NodeList;
attributeName: string | null;
};
export type textCursor = {
node: Node;
value: string | null;
};
export type textMutation = {
id: number;
value: string | null;
};
export type styleAttributeValue = {
[key: string]: styleValueWithPriority | string | false;
};
export type styleValueWithPriority = [string, string];
export type attributeCursor = {
node: Node;
attributes: {
[key: string]: string | styleAttributeValue | null;
};
};
export type attributeMutation = {
id: number;
attributes: {
[key: string]: string | styleAttributeValue | null;
};
};
export type removedNodeMutation = {
parentId: number;
id: number;
isShadow?: boolean;
};
export type addedNodeMutation = {
parentId: number;
// Newly recorded mutations will not have previousId any more, just for compatibility
previousId?: number | null;
nextId: number | null;
node: serializedNodeWithId;
};
export type mutationCallbackParam = {
texts: textMutation[];
attributes: attributeMutation[];
removes: removedNodeMutation[];
adds: addedNodeMutation[];
isAttachIframe?: true;
};
export type mutationCallBack = (m: mutationCallbackParam) => void;
export type mousemoveCallBack = (
p: mousePosition[],
source:
| IncrementalSource.MouseMove
| IncrementalSource.TouchMove
| IncrementalSource.Drag,
) => void;
export type mousePosition = {
x: number;
y: number;
id: number;
timeOffset: number;
};
export type mouseMovePos = {
x: number;
y: number;
id: number;
debugData: incrementalData;
};
export enum MouseInteractions {
MouseUp,
MouseDown,
Click,
ContextMenu,
DblClick,
Focus,
Blur,
TouchStart,
TouchMove_Departed, // we will start a separate observer for touch move event
TouchEnd,
TouchCancel,
}
export enum CanvasContext {
'2D',
WebGL,
WebGL2,
}
export type SerializedCanvasArg =
| {
rr_type: 'ArrayBuffer';
base64: string; // base64
}
| {
rr_type: 'Blob';
data: Array<CanvasArg>;
type?: string;
}
| {
rr_type: string;
src: string; // url of image
}
| {
rr_type: string;
args: Array<CanvasArg>;
}
| {
rr_type: string;
index: number;
};
export type CanvasArg =
| SerializedCanvasArg
| string
| number
| boolean
| null
| CanvasArg[];
type mouseInteractionParam = {
type: MouseInteractions;
id: number;
x: number;
y: number;
};
export type mouseInteractionCallBack = (d: mouseInteractionParam) => void;
export type scrollPosition = {
id: number;
x: number;
y: number;
};
export type scrollCallback = (p: scrollPosition) => void;
export type styleSheetAddRule = {
rule: string;
index?: number | number[];
};
export type styleSheetDeleteRule = {
index: number | number[];
};
export type styleSheetRuleParam = {
id?: number;
styleId?: number;
removes?: styleSheetDeleteRule[];
adds?: styleSheetAddRule[];
replace?: string;
replaceSync?: string;
};
export type styleSheetRuleCallback = (s: styleSheetRuleParam) => void;
export type adoptedStyleSheetParam = {
// id indicates the node id of document or shadow DOMs' host element.
id: number;
// New CSSStyleSheets which have never appeared before.
styles?: {
styleId: number;
rules: styleSheetAddRule[];
}[];
// StyleSheet ids to be adopted.
styleIds: number[];
};
export type adoptedStyleSheetCallback = (a: adoptedStyleSheetParam) => void;
export type styleDeclarationParam = {
id?: number;
styleId?: number;
index: number[];
set?: {
property: string;
value: string | null;
priority: string | undefined;
};
remove?: {
property: string;
};
};
export type styleDeclarationCallback = (s: styleDeclarationParam) => void;
export type canvasMutationCommand = {
property: string;
args: Array<unknown>;
setter?: true;
};
export type canvasMutationParam =
| {
id: number;
type: CanvasContext;
commands: canvasMutationCommand[];
}
| ({
id: number;
type: CanvasContext;
} & canvasMutationCommand);
export type canvasMutationWithType = {
type: CanvasContext;
} & canvasMutationCommand;
export type canvasMutationCallback = (p: canvasMutationParam) => void;
export type canvasManagerMutationCallback = (
target: HTMLCanvasElement,
p: canvasMutationWithType,
) => void;
export type ImageBitmapDataURLWorkerParams = {
id: number;
bitmap: ImageBitmap;
width: number;
height: number;
dataURLOptions: DataURLOptions;
};
export type ImageBitmapDataURLWorkerResponse =
| {
id: number;
}
| {
id: number;
type: string;
base64: string;
width: number;
height: number;
};
export type fontParam = {
family: string;
fontSource: string;
buffer: boolean;
descriptors?: FontFaceDescriptors;
};
export type fontCallback = (p: fontParam) => void;
export type viewportResizeDimension = {
width: number;
height: number;
};
export type viewportResizeCallback = (d: viewportResizeDimension) => void;
export type inputValue = {
text: string;
isChecked: boolean;
// `userTriggered` indicates if this event was triggered directly by user (userTriggered: true)
// or was triggered indirectly (userTriggered: false)
// Example of `userTriggered` in action:
// User clicks on radio element (userTriggered: true) which triggers the other radio element to change (userTriggered: false)
userTriggered?: boolean;
};
export type inputCallback = (v: inputValue & { id: number }) => void;
export const enum MediaInteractions {
Play,
Pause,
Seeked,
VolumeChange,
RateChange,
}
export type mediaInteractionParam = {
type: MediaInteractions;
id: number;
currentTime?: number;
volume?: number;
muted?: boolean;
playbackRate?: number;
};
export type mediaInteractionCallback = (p: mediaInteractionParam) => void;
export type DocumentDimension = {
x: number;
y: number;
// scale value relative to its parent iframe
relativeScale: number;
// scale value relative to the root iframe
absoluteScale: number;
};
export type SelectionRange = {
start: number;
startOffset: number;
end: number;
endOffset: number;
};
export type selectionParam = {
ranges: Array<SelectionRange>;
};
export type selectionCallback = (p: selectionParam) => void;
export type DeprecatedMirror = {
map: {
[key: number]: INode;
};
getId: (n: Node) => number;
getNode: (id: number) => INode | null;
removeNodeFromMap: (n: Node) => void;
has: (id: number) => boolean;
reset: () => void;
};
export type throttleOptions = {
leading?: boolean;
trailing?: boolean;
};
export type listenerHandler = () => void;
export type hookResetter = () => void;
export type ReplayPlugin = { export type ReplayPlugin = {
handler?: ( handler?: (
event: eventWithTime, event: eventWithTime,
@@ -734,12 +181,6 @@ export type playerConfig = {
plugins?: ReplayPlugin[]; plugins?: ReplayPlugin[];
}; };
export type playerMetaData = {
startTime: number;
endTime: number;
totalTime: number;
};
export type missingNode = { export type missingNode = {
node: Node | RRNode; node: Node | RRNode;
mutation: addedNodeMutation; mutation: addedNodeMutation;
@@ -748,51 +189,8 @@ export type missingNodeMap = {
[id: number]: missingNode; [id: number]: missingNode;
}; };
export type actionWithDelay = {
doAction: () => void;
delay: number;
};
export type Handler = (event?: unknown) => void;
export type Emitter = {
on(type: string, handler: Handler): void;
emit(type: string, event?: unknown): void;
off(type: string, handler: Handler): void;
};
export type Arguments<T> = T extends (...payload: infer U) => unknown
? U
: unknown;
export enum ReplayerEvents {
Start = 'start',
Pause = 'pause',
Resume = 'resume',
Resize = 'resize',
Finish = 'finish',
FullsnapshotRebuilded = 'fullsnapshot-rebuilded',
LoadStylesheetStart = 'load-stylesheet-start',
LoadStylesheetEnd = 'load-stylesheet-end',
SkipStart = 'skip-start',
SkipEnd = 'skip-end',
MouseInteraction = 'mouse-interaction',
EventCast = 'event-cast',
CustomEvent = 'custom-event',
Flush = 'flush',
StateChange = 'state-change',
PlayBack = 'play-back',
Destroy = 'destroy',
}
export type KeepIframeSrcFn = (src: string) => boolean;
declare global { declare global {
interface Window { interface Window {
FontFace: typeof FontFace; FontFace: typeof FontFace;
} }
} }
export type IWindow = Window & typeof globalThis;
export type Optional<T, K extends keyof T> = Pick<Partial<T>, K> & Omit<T, K>;

View File

@@ -8,7 +8,7 @@ import type {
IWindow, IWindow,
DeprecatedMirror, DeprecatedMirror,
textMutation, textMutation,
} from './types'; } from '@rrweb/types';
import type { IMirror, Mirror } from 'rrweb-snapshot'; import type { IMirror, Mirror } from 'rrweb-snapshot';
import { isShadowRoot, IGNORED_NODE, classMatchesRegex } from 'rrweb-snapshot'; import { isShadowRoot, IGNORED_NODE, classMatchesRegex } from 'rrweb-snapshot';
import type { RRNode, RRIFrameElement } from 'rrdom'; import type { RRNode, RRIFrameElement } from 'rrdom';

View File

@@ -10,7 +10,8 @@ import {
generateRecordSnippet, generateRecordSnippet,
ISuite, ISuite,
} from '../utils'; } from '../utils';
import type { recordOptions, eventWithTime } from '../../src/types'; import type { recordOptions } from '../../src/types';
import type { eventWithTime } from '@rrweb/types';
import { toMatchImageSnapshot } from 'jest-image-snapshot'; import { toMatchImageSnapshot } from 'jest-image-snapshot';
expect.extend({ toMatchImageSnapshot }); expect.extend({ toMatchImageSnapshot });

View File

@@ -1,4 +1,5 @@
import { EventType, eventWithTime, IncrementalSource } from '../../src/types'; import { EventType, IncrementalSource } from '@rrweb/types';
import type { eventWithTime } from '@rrweb/types';
const now = Date.now(); const now = Date.now();
const events: eventWithTime[] = [ const events: eventWithTime[] = [

View File

@@ -1,4 +1,5 @@
import { EventType, eventWithTime, IncrementalSource } from '../../src/types'; import { EventType, IncrementalSource } from '@rrweb/types';
import type { eventWithTime } from '@rrweb/types';
const now = Date.now(); const now = Date.now();

View File

@@ -1,4 +1,5 @@
import { EventType, eventWithTime, IncrementalSource } from '../../src/types'; import { EventType, IncrementalSource } from '@rrweb/types';
import type { eventWithTime } from '@rrweb/types';
const now = Date.now(); const now = Date.now();

View File

@@ -1,4 +1,5 @@
import { EventType, eventWithTime, IncrementalSource } from '../../src/types'; import { EventType, IncrementalSource } from '@rrweb/types';
import type { eventWithTime } from '@rrweb/types';
const now = Date.now(); const now = Date.now();

View File

@@ -1,4 +1,5 @@
import { EventType, eventWithTime, IncrementalSource } from '../../src/types'; import { EventType, IncrementalSource } from '@rrweb/types';
import type { eventWithTime } from '@rrweb/types';
const now = Date.now(); const now = Date.now();
const events: eventWithTime[] = [ const events: eventWithTime[] = [

View File

@@ -1,4 +1,5 @@
import { EventType, eventWithTime, IncrementalSource } from '../../src/types'; import { EventType, IncrementalSource } from '@rrweb/types';
import type { eventWithTime } from '@rrweb/types';
const now = Date.now(); const now = Date.now();
const events: eventWithTime[] = [ const events: eventWithTime[] = [

View File

@@ -1,4 +1,5 @@
import { EventType, eventWithTime, IncrementalSource } from '../../src/types'; import { EventType, IncrementalSource } from '@rrweb/types';
import type { eventWithTime } from '@rrweb/types';
const now = Date.now(); const now = Date.now();
const events: eventWithTime[] = [ const events: eventWithTime[] = [

View File

@@ -1,4 +1,5 @@
import { EventType, eventWithTime, IncrementalSource } from '../../src/types'; import { EventType, IncrementalSource } from '@rrweb/types';
import type { eventWithTime } from '@rrweb/types';
const now = Date.now(); const now = Date.now();

View File

@@ -1,4 +1,5 @@
import { EventType, eventWithTime, IncrementalSource } from '../../src/types'; import { EventType, IncrementalSource } from '@rrweb/types';
import type { eventWithTime } from '@rrweb/types';
const now = Date.now(); const now = Date.now();

View File

@@ -1,4 +1,5 @@
import { EventType, eventWithTime, IncrementalSource } from '../../src/types'; import { EventType, IncrementalSource } from '@rrweb/types';
import type { eventWithTime } from '@rrweb/types';
const now = Date.now(); const now = Date.now();
const events: eventWithTime[] = [ const events: eventWithTime[] = [

View File

@@ -1,4 +1,5 @@
import { EventType, eventWithTime, IncrementalSource } from '../../src/types'; import { EventType, IncrementalSource } from '@rrweb/types';
import type { eventWithTime } from '@rrweb/types';
const now = Date.now(); const now = Date.now();
const events: eventWithTime[] = [ const events: eventWithTime[] = [

View File

@@ -11,12 +11,8 @@ import {
generateRecordSnippet, generateRecordSnippet,
ISuite, ISuite,
} from './utils'; } from './utils';
import { import type { recordOptions } from '../src/types';
recordOptions, import { eventWithTime, EventType, RecordPlugin } from '@rrweb/types';
eventWithTime,
EventType,
RecordPlugin,
} from '../src/types';
import { visitSnapshot, NodeType } from 'rrweb-snapshot'; import { visitSnapshot, NodeType } from 'rrweb-snapshot';
describe('record integration tests', function (this: ISuite) { describe('record integration tests', function (this: ISuite) {

View File

@@ -1,6 +1,6 @@
import { discardPriorSnapshots } from '../src/replay/machine'; import { discardPriorSnapshots } from '../src/replay/machine';
import { sampleEvents } from './utils'; import { sampleEvents } from './utils';
import { EventType } from '../src/types'; import { EventType } from '@rrweb/types';
const events = sampleEvents.filter( const events = sampleEvents.filter(
(e) => ![EventType.DomContentLoaded, EventType.Load].includes(e.type), (e) => ![EventType.DomContentLoaded, EventType.Load].includes(e.type),

View File

@@ -1,5 +1,5 @@
import { pack, unpack } from '../src/packer'; import { pack, unpack } from '../src/packer';
import { eventWithTime, EventType } from '../src/types'; import { eventWithTime, EventType } from '@rrweb/types';
import { MARK } from '../src/packer/base'; import { MARK } from '../src/packer/base';
const event: eventWithTime = { const event: eventWithTime = {

View File

@@ -2,15 +2,15 @@ import * as fs from 'fs';
import * as path from 'path'; import * as path from 'path';
import type * as puppeteer from 'puppeteer'; import type * as puppeteer from 'puppeteer';
import 'construct-style-sheets-polyfill'; import 'construct-style-sheets-polyfill';
import type { recordOptions } from '../src/types';
import { import {
recordOptions,
listenerHandler, listenerHandler,
eventWithTime, eventWithTime,
EventType, EventType,
IncrementalSource, IncrementalSource,
styleSheetRuleData, styleSheetRuleData,
selectionData, selectionData,
} from '../src/types'; } from '@rrweb/types';
import { assertSnapshot, launchPuppeteer, waitForRAF } from './utils'; import { assertSnapshot, launchPuppeteer, waitForRAF } from './utils';
interface ISuite { interface ISuite {

View File

@@ -1,14 +1,14 @@
import * as fs from 'fs'; import * as fs from 'fs';
import * as path from 'path'; import * as path from 'path';
import type * as puppeteer from 'puppeteer'; import type * as puppeteer from 'puppeteer';
import type { recordOptions } from '../../src/types';
import { import {
recordOptions,
listenerHandler, listenerHandler,
eventWithTime, eventWithTime,
EventType, EventType,
IncrementalSource, IncrementalSource,
CanvasContext, CanvasContext,
} from '../../src/types'; } from '@rrweb/types';
import { import {
assertSnapshot, assertSnapshot,
launchPuppeteer, launchPuppeteer,

View File

@@ -11,7 +11,7 @@ import {
IncrementalSource, IncrementalSource,
EventType, EventType,
eventWithTime, eventWithTime,
} from '../../src/types'; } from '@rrweb/types';
let replayer: Replayer; let replayer: Replayer;

View File

@@ -6,7 +6,7 @@ import { polyfillWebGLGlobals } from '../utils';
polyfillWebGLGlobals(); polyfillWebGLGlobals();
import webglMutation from '../../src/replay/canvas/webgl'; import webglMutation from '../../src/replay/canvas/webgl';
import { CanvasContext } from '../../src/types'; import { CanvasContext } from '@rrweb/types';
import { variableListFor } from '../../src/replay/canvas/deserialize-args'; import { variableListFor } from '../../src/replay/canvas/deserialize-args';
let canvas: HTMLCanvasElement; let canvas: HTMLCanvasElement;

View File

@@ -7,8 +7,8 @@ import {
Optional, Optional,
mouseInteractionData, mouseInteractionData,
event, event,
recordOptions, } from '@rrweb/types';
} from '../src/types'; import type { recordOptions } from '../src/types';
import * as puppeteer from 'puppeteer'; import * as puppeteer from 'puppeteer';
import { format } from 'prettier'; import { format } from 'prettier';
import * as path from 'path'; import * as path from 'path';

View File

@@ -21,6 +21,9 @@
}, },
{ {
"path": "../rrweb-snapshot" "path": "../rrweb-snapshot"
},
{
"path": "../types"
} }
], ],
"exclude": ["test", "scripts"], "exclude": ["test", "scripts"],

4
packages/types/.gitignore vendored Normal file
View File

@@ -0,0 +1,4 @@
dist
es
lib
typings

View File

@@ -0,0 +1,49 @@
{
"name": "@rrweb/types",
"version": "2.0.0-alpha.3",
"keywords": [
"rrweb",
"@rrweb/types"
],
"scripts": {
"dev": "vite",
"build": "tsc -noEmit && vite build",
"check-types": "tsc -noEmit",
"prepublish": "npm run build",
"lint": "yarn eslint src/**/*.ts"
},
"homepage": "https://github.com/rrweb-io/rrweb/tree/main/packages/@rrweb/types#readme",
"bugs": {
"url": "https://github.com/rrweb-io/rrweb/issues"
},
"repository": {
"type": "git",
"url": "git+https://github.com/rrweb-io/rrweb.git"
},
"license": "MIT",
"type": "module",
"main": "./dist/types.umd.cjs",
"module": "./dist/types.js",
"typings": "dist/index.d.ts",
"exports": {
".": {
"import": "./dist/types.js",
"require": "./dist/types.umd.cjs"
}
},
"files": [
"build",
"dist"
],
"devDependencies": {
"typescript": "^4.7.3",
"vite": "^3.2.0-beta.2",
"vite-plugin-dts": "^1.6.6"
},
"dependencies": {
"rrweb-snapshot": "^2.0.0-alpha.3"
},
"browserslist": [
"supports es6-class"
]
}

638
packages/types/src/index.ts Normal file
View File

@@ -0,0 +1,638 @@
import type {
serializedNodeWithId,
Mirror,
INode,
DataURLOptions,
} from 'rrweb-snapshot';
export enum EventType {
DomContentLoaded,
Load,
FullSnapshot,
IncrementalSnapshot,
Meta,
Custom,
Plugin,
}
export type domContentLoadedEvent = {
type: EventType.DomContentLoaded;
data: unknown;
};
export type loadedEvent = {
type: EventType.Load;
data: unknown;
};
export type fullSnapshotEvent = {
type: EventType.FullSnapshot;
data: {
node: serializedNodeWithId;
initialOffset: {
top: number;
left: number;
};
};
};
export type incrementalSnapshotEvent = {
type: EventType.IncrementalSnapshot;
data: incrementalData;
};
export type metaEvent = {
type: EventType.Meta;
data: {
href: string;
width: number;
height: number;
};
};
export type customEvent<T = unknown> = {
type: EventType.Custom;
data: {
tag: string;
payload: T;
};
};
export type pluginEvent<T = unknown> = {
type: EventType.Plugin;
data: {
plugin: string;
payload: T;
};
};
export enum IncrementalSource {
Mutation,
MouseMove,
MouseInteraction,
Scroll,
ViewportResize,
Input,
TouchMove,
MediaInteraction,
StyleSheetRule,
CanvasMutation,
Font,
Log,
Drag,
StyleDeclaration,
Selection,
AdoptedStyleSheet,
}
export type mutationData = {
source: IncrementalSource.Mutation;
} & mutationCallbackParam;
export type mousemoveData = {
source:
| IncrementalSource.MouseMove
| IncrementalSource.TouchMove
| IncrementalSource.Drag;
positions: mousePosition[];
};
export type mouseInteractionData = {
source: IncrementalSource.MouseInteraction;
} & mouseInteractionParam;
export type scrollData = {
source: IncrementalSource.Scroll;
} & scrollPosition;
export type viewportResizeData = {
source: IncrementalSource.ViewportResize;
} & viewportResizeDimension;
export type inputData = {
source: IncrementalSource.Input;
id: number;
} & inputValue;
export type mediaInteractionData = {
source: IncrementalSource.MediaInteraction;
} & mediaInteractionParam;
export type styleSheetRuleData = {
source: IncrementalSource.StyleSheetRule;
} & styleSheetRuleParam;
export type styleDeclarationData = {
source: IncrementalSource.StyleDeclaration;
} & styleDeclarationParam;
export type canvasMutationData = {
source: IncrementalSource.CanvasMutation;
} & canvasMutationParam;
export type fontData = {
source: IncrementalSource.Font;
} & fontParam;
export type selectionData = {
source: IncrementalSource.Selection;
} & selectionParam;
export type adoptedStyleSheetData = {
source: IncrementalSource.AdoptedStyleSheet;
} & adoptedStyleSheetParam;
export type incrementalData =
| mutationData
| mousemoveData
| mouseInteractionData
| scrollData
| viewportResizeData
| inputData
| mediaInteractionData
| styleSheetRuleData
| canvasMutationData
| fontData
| selectionData
| styleDeclarationData
| adoptedStyleSheetData;
export type event =
| domContentLoadedEvent
| loadedEvent
| fullSnapshotEvent
| incrementalSnapshotEvent
| metaEvent
| customEvent
| pluginEvent;
export type eventWithTime = event & {
timestamp: number;
delay?: number;
};
export type canvasEventWithTime = eventWithTime & {
type: EventType.IncrementalSnapshot;
data: canvasMutationData;
};
export type blockClass = string | RegExp;
export type maskTextClass = string | RegExp;
export type SamplingStrategy = Partial<{
/**
* false means not to record mouse/touch move events
* number is the throttle threshold of recording mouse/touch move
*/
mousemove: boolean | number;
/**
* number is the throttle threshold of mouse/touch move callback
*/
mousemoveCallback: number;
/**
* false means not to record mouse interaction events
* can also specify record some kinds of mouse interactions
*/
mouseInteraction: boolean | Record<string, boolean | undefined>;
/**
* number is the throttle threshold of recording scroll
*/
scroll: number;
/**
* number is the throttle threshold of recording media interactions
*/
media: number;
/**
* 'all' will record all the input events
* 'last' will only record the last input value while input a sequence of chars
*/
input: 'all' | 'last';
/**
* 'all' will record every single canvas call
* number between 1 and 60, will record an image snapshots in a web-worker a (maximum) number of times per second.
* Number only supported where [`OffscreenCanvas`](http://mdn.io/offscreencanvas) is supported.
*/
canvas: 'all' | number;
}>;
export type RecordPlugin<TOptions = unknown> = {
name: string;
observer?: (
cb: (...args: Array<unknown>) => void,
win: IWindow,
options: TOptions,
) => listenerHandler;
eventProcessor?: <TExtend>(event: eventWithTime) => eventWithTime & TExtend;
getMirror?: (mirror: Mirror) => void;
options: TOptions;
};
export type hooksParam = {
mutation?: mutationCallBack;
mousemove?: mousemoveCallBack;
mouseInteraction?: mouseInteractionCallBack;
scroll?: scrollCallback;
viewportResize?: viewportResizeCallback;
input?: inputCallback;
mediaInteaction?: mediaInteractionCallback;
styleSheetRule?: styleSheetRuleCallback;
styleDeclaration?: styleDeclarationCallback;
canvasMutation?: canvasMutationCallback;
font?: fontCallback;
selection?: selectionCallback;
};
// https://dom.spec.whatwg.org/#interface-mutationrecord
export type mutationRecord = {
type: string;
target: Node;
oldValue: string | null;
addedNodes: NodeList;
removedNodes: NodeList;
attributeName: string | null;
};
export type textCursor = {
node: Node;
value: string | null;
};
export type textMutation = {
id: number;
value: string | null;
};
export type styleAttributeValue = {
[key: string]: styleValueWithPriority | string | false;
};
export type styleValueWithPriority = [string, string];
export type attributeCursor = {
node: Node;
attributes: {
[key: string]: string | styleAttributeValue | null;
};
};
export type attributeMutation = {
id: number;
attributes: {
[key: string]: string | styleAttributeValue | null;
};
};
export type removedNodeMutation = {
parentId: number;
id: number;
isShadow?: boolean;
};
export type addedNodeMutation = {
parentId: number;
// Newly recorded mutations will not have previousId any more, just for compatibility
previousId?: number | null;
nextId: number | null;
node: serializedNodeWithId;
};
export type mutationCallbackParam = {
texts: textMutation[];
attributes: attributeMutation[];
removes: removedNodeMutation[];
adds: addedNodeMutation[];
isAttachIframe?: true;
};
export type mutationCallBack = (m: mutationCallbackParam) => void;
export type mousemoveCallBack = (
p: mousePosition[],
source:
| IncrementalSource.MouseMove
| IncrementalSource.TouchMove
| IncrementalSource.Drag,
) => void;
export type mousePosition = {
x: number;
y: number;
id: number;
timeOffset: number;
};
export type mouseMovePos = {
x: number;
y: number;
id: number;
debugData: incrementalData;
};
export enum MouseInteractions {
MouseUp,
MouseDown,
Click,
ContextMenu,
DblClick,
Focus,
Blur,
TouchStart,
TouchMove_Departed, // we will start a separate observer for touch move event
TouchEnd,
TouchCancel,
}
export enum CanvasContext {
'2D',
WebGL,
WebGL2,
}
export type SerializedCanvasArg =
| {
rr_type: 'ArrayBuffer';
base64: string; // base64
}
| {
rr_type: 'Blob';
data: Array<CanvasArg>;
type?: string;
}
| {
rr_type: string;
src: string; // url of image
}
| {
rr_type: string;
args: Array<CanvasArg>;
}
| {
rr_type: string;
index: number;
};
export type CanvasArg =
| SerializedCanvasArg
| string
| number
| boolean
| null
| CanvasArg[];
type mouseInteractionParam = {
type: MouseInteractions;
id: number;
x: number;
y: number;
};
export type mouseInteractionCallBack = (d: mouseInteractionParam) => void;
export type scrollPosition = {
id: number;
x: number;
y: number;
};
export type scrollCallback = (p: scrollPosition) => void;
export type styleSheetAddRule = {
rule: string;
index?: number | number[];
};
export type styleSheetDeleteRule = {
index: number | number[];
};
export type styleSheetRuleParam = {
id?: number;
styleId?: number;
removes?: styleSheetDeleteRule[];
adds?: styleSheetAddRule[];
replace?: string;
replaceSync?: string;
};
export type styleSheetRuleCallback = (s: styleSheetRuleParam) => void;
export type adoptedStyleSheetParam = {
// id indicates the node id of document or shadow DOMs' host element.
id: number;
// New CSSStyleSheets which have never appeared before.
styles?: {
styleId: number;
rules: styleSheetAddRule[];
}[];
// StyleSheet ids to be adopted.
styleIds: number[];
};
export type adoptedStyleSheetCallback = (a: adoptedStyleSheetParam) => void;
export type styleDeclarationParam = {
id?: number;
styleId?: number;
index: number[];
set?: {
property: string;
value: string | null;
priority: string | undefined;
};
remove?: {
property: string;
};
};
export type styleDeclarationCallback = (s: styleDeclarationParam) => void;
export type canvasMutationCommand = {
property: string;
args: Array<unknown>;
setter?: true;
};
export type canvasMutationParam =
| {
id: number;
type: CanvasContext;
commands: canvasMutationCommand[];
}
| ({
id: number;
type: CanvasContext;
} & canvasMutationCommand);
export type canvasMutationWithType = {
type: CanvasContext;
} & canvasMutationCommand;
export type canvasMutationCallback = (p: canvasMutationParam) => void;
export type canvasManagerMutationCallback = (
target: HTMLCanvasElement,
p: canvasMutationWithType,
) => void;
export type ImageBitmapDataURLWorkerParams = {
id: number;
bitmap: ImageBitmap;
width: number;
height: number;
dataURLOptions: DataURLOptions;
};
export type ImageBitmapDataURLWorkerResponse =
| {
id: number;
}
| {
id: number;
type: string;
base64: string;
width: number;
height: number;
};
export type fontParam = {
family: string;
fontSource: string;
buffer: boolean;
descriptors?: FontFaceDescriptors;
};
export type fontCallback = (p: fontParam) => void;
export type viewportResizeDimension = {
width: number;
height: number;
};
export type viewportResizeCallback = (d: viewportResizeDimension) => void;
export type inputValue = {
text: string;
isChecked: boolean;
// `userTriggered` indicates if this event was triggered directly by user (userTriggered: true)
// or was triggered indirectly (userTriggered: false)
// Example of `userTriggered` in action:
// User clicks on radio element (userTriggered: true) which triggers the other radio element to change (userTriggered: false)
userTriggered?: boolean;
};
export type inputCallback = (v: inputValue & { id: number }) => void;
export const enum MediaInteractions {
Play,
Pause,
Seeked,
VolumeChange,
RateChange,
}
export type mediaInteractionParam = {
type: MediaInteractions;
id: number;
currentTime?: number;
volume?: number;
muted?: boolean;
playbackRate?: number;
};
export type mediaInteractionCallback = (p: mediaInteractionParam) => void;
export type DocumentDimension = {
x: number;
y: number;
// scale value relative to its parent iframe
relativeScale: number;
// scale value relative to the root iframe
absoluteScale: number;
};
export type SelectionRange = {
start: number;
startOffset: number;
end: number;
endOffset: number;
};
export type selectionParam = {
ranges: Array<SelectionRange>;
};
export type selectionCallback = (p: selectionParam) => void;
export type DeprecatedMirror = {
map: {
[key: number]: INode;
};
getId: (n: Node) => number;
getNode: (id: number) => INode | null;
removeNodeFromMap: (n: Node) => void;
has: (id: number) => boolean;
reset: () => void;
};
export type throttleOptions = {
leading?: boolean;
trailing?: boolean;
};
export type listenerHandler = () => void;
export type hookResetter = () => void;
export type playerMetaData = {
startTime: number;
endTime: number;
totalTime: number;
};
export type actionWithDelay = {
doAction: () => void;
delay: number;
};
export type Handler = (event?: unknown) => void;
export type Emitter = {
on(type: string, handler: Handler): void;
emit(type: string, event?: unknown): void;
off(type: string, handler: Handler): void;
};
export type Arguments<T> = T extends (...payload: infer U) => unknown
? U
: unknown;
export enum ReplayerEvents {
Start = 'start',
Pause = 'pause',
Resume = 'resume',
Resize = 'resize',
Finish = 'finish',
FullsnapshotRebuilded = 'fullsnapshot-rebuilded',
LoadStylesheetStart = 'load-stylesheet-start',
LoadStylesheetEnd = 'load-stylesheet-end',
SkipStart = 'skip-start',
SkipEnd = 'skip-end',
MouseInteraction = 'mouse-interaction',
EventCast = 'event-cast',
CustomEvent = 'custom-event',
Flush = 'flush',
StateChange = 'state-change',
PlayBack = 'play-back',
Destroy = 'destroy',
}
export type KeepIframeSrcFn = (src: string) => boolean;
declare global {
interface Window {
FontFace: typeof FontFace;
}
}
export type IWindow = Window & typeof globalThis;
export type Optional<T, K extends keyof T> = Pick<Partial<T>, K> & Omit<T, K>;

View File

@@ -0,0 +1,26 @@
{
"compilerOptions": {
"composite": true,
"target": "ES6",
"module": "commonjs",
"noImplicitAny": true,
"strictNullChecks": true,
"removeComments": true,
"preserveConstEnums": true,
"sourceMap": true,
"rootDir": "src",
"outDir": "build",
"lib": ["es6", "dom"],
"skipLibCheck": true,
"declaration": true,
"importsNotUsedAsValues": "error"
},
"compileOnSave": true,
"exclude": ["test"],
"include": ["src"],
"references": [
{
"path": "../rrweb-snapshot"
}
]
}

View File

@@ -0,0 +1,21 @@
import path from 'path';
import dts from 'vite-plugin-dts';
/**
* @type {import('vite').UserConfig}
*/
export default {
build: {
// See https://vitejs.dev/guide/build.html#library-mode
lib: {
entry: path.resolve(__dirname, 'src/index.ts'),
name: 'rrwebTypes',
},
// Leaving this unminified so you can see what exactly gets included in
// the bundles
minify: false,
sourcemap: true,
},
plugins: [dts()],
};

View File

@@ -14,6 +14,9 @@
}, },
{ {
"path": "packages/rrweb-snapshot" "path": "packages/rrweb-snapshot"
},
{
"path": "packages/types"
} }
], ],
"files": [], "files": [],

447
yarn.lock
View File

@@ -497,6 +497,16 @@
dependencies: dependencies:
"@jridgewell/trace-mapping" "0.3.9" "@jridgewell/trace-mapping" "0.3.9"
"@esbuild/android-arm@0.15.12":
version "0.15.12"
resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.15.12.tgz#e548b10a5e55b9e10537a049ebf0bc72c453b769"
integrity sha512-IC7TqIqiyE0MmvAhWkl/8AEzpOtbhRNDo7aph47We1NbE5w2bt/Q+giAhe0YYeVpYnIhGMcuZY92qDK6dQauvA==
"@esbuild/linux-loong64@0.15.12":
version "0.15.12"
resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.15.12.tgz#475b33a2631a3d8ca8aa95ee127f9a61d95bf9c1"
integrity sha512-tZEowDjvU7O7I04GYvWQOS4yyP9E/7YlsB0jjw1Ycukgr2ycEzKyIk5tms5WnLBymaewc6VmRKnn5IJWgK4eFw==
"@eslint/eslintrc@^1.2.3": "@eslint/eslintrc@^1.2.3":
version "1.2.3" version "1.2.3"
resolved "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.2.3.tgz" resolved "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.2.3.tgz"
@@ -1628,6 +1638,33 @@
resolved "https://registry.yarnpkg.com/@mdn/browser-compat-data/-/browser-compat-data-4.2.1.tgz#1fead437f3957ceebe2e8c3f46beccdb9bc575b8" resolved "https://registry.yarnpkg.com/@mdn/browser-compat-data/-/browser-compat-data-4.2.1.tgz#1fead437f3957ceebe2e8c3f46beccdb9bc575b8"
integrity sha512-EWUguj2kd7ldmrF9F+vI5hUOralPd+sdsUnYbRy33vZTuZkduC1shE9TtEMEjAQwyfyMb4ole5KtjF8MsnQOlA== integrity sha512-EWUguj2kd7ldmrF9F+vI5hUOralPd+sdsUnYbRy33vZTuZkduC1shE9TtEMEjAQwyfyMb4ole5KtjF8MsnQOlA==
"@microsoft/api-extractor-model@7.25.1":
version "7.25.1"
resolved "https://registry.yarnpkg.com/@microsoft/api-extractor-model/-/api-extractor-model-7.25.1.tgz#be065a816cc83a5aa1b1203a3ac653dd68d62a0d"
integrity sha512-AaZ0ohCGLRjWiZviM+0p/DaxgMhbawS183LW2+CSqyEBh6wZks7NjoyhzhibAYapS4omnrmv96+0V/2wBvnIZQ==
dependencies:
"@microsoft/tsdoc" "0.14.1"
"@microsoft/tsdoc-config" "~0.16.1"
"@rushstack/node-core-library" "3.53.2"
"@microsoft/api-extractor@^7.33.1":
version "7.33.4"
resolved "https://registry.yarnpkg.com/@microsoft/api-extractor/-/api-extractor-7.33.4.tgz#645e7dbe2009016a784e96a01ad5c7776f08cd50"
integrity sha512-uZG4CHxVcQNpXBC77GwHaKFwGI9vAnzORY4fFN5JuTnQQDKS0vi4BazP4pmYYwbb8IdH4ocQSwOA3j9Ul/sWmg==
dependencies:
"@microsoft/api-extractor-model" "7.25.1"
"@microsoft/tsdoc" "0.14.1"
"@microsoft/tsdoc-config" "~0.16.1"
"@rushstack/node-core-library" "3.53.2"
"@rushstack/rig-package" "0.3.17"
"@rushstack/ts-command-line" "4.13.0"
colors "~1.2.1"
lodash "~4.17.15"
resolve "~1.17.0"
semver "~7.3.0"
source-map "~0.6.1"
typescript "~4.8.4"
"@microsoft/tsdoc-config@0.16.1": "@microsoft/tsdoc-config@0.16.1":
version "0.16.1" version "0.16.1"
resolved "https://registry.yarnpkg.com/@microsoft/tsdoc-config/-/tsdoc-config-0.16.1.tgz#4de11976c1202854c4618f364bf499b4be33e657" resolved "https://registry.yarnpkg.com/@microsoft/tsdoc-config/-/tsdoc-config-0.16.1.tgz#4de11976c1202854c4618f364bf499b4be33e657"
@@ -1638,11 +1675,26 @@
jju "~1.4.0" jju "~1.4.0"
resolve "~1.19.0" resolve "~1.19.0"
"@microsoft/tsdoc-config@~0.16.1":
version "0.16.2"
resolved "https://registry.yarnpkg.com/@microsoft/tsdoc-config/-/tsdoc-config-0.16.2.tgz#b786bb4ead00d54f53839a458ce626c8548d3adf"
integrity sha512-OGiIzzoBLgWWR0UdRJX98oYO+XKGf7tiK4Zk6tQ/E4IJqGCe7dvkTvgDZV5cFJUzLGDOjeAXrnZoA6QkVySuxw==
dependencies:
"@microsoft/tsdoc" "0.14.2"
ajv "~6.12.6"
jju "~1.4.0"
resolve "~1.19.0"
"@microsoft/tsdoc@0.14.1": "@microsoft/tsdoc@0.14.1":
version "0.14.1" version "0.14.1"
resolved "https://registry.yarnpkg.com/@microsoft/tsdoc/-/tsdoc-0.14.1.tgz#155ef21065427901994e765da8a0ba0eaae8b8bd" resolved "https://registry.yarnpkg.com/@microsoft/tsdoc/-/tsdoc-0.14.1.tgz#155ef21065427901994e765da8a0ba0eaae8b8bd"
integrity sha512-6Wci+Tp3CgPt/B9B0a3J4s3yMgLNSku6w5TV6mN+61C71UqsRBv2FUibBf3tPGlNxebgPHMEUzKpb1ggE8KCKw== integrity sha512-6Wci+Tp3CgPt/B9B0a3J4s3yMgLNSku6w5TV6mN+61C71UqsRBv2FUibBf3tPGlNxebgPHMEUzKpb1ggE8KCKw==
"@microsoft/tsdoc@0.14.2":
version "0.14.2"
resolved "https://registry.yarnpkg.com/@microsoft/tsdoc/-/tsdoc-0.14.2.tgz#c3ec604a0b54b9a9b87e9735dfc59e1a5da6a5fb"
integrity sha512-9b8mPpKrfeGRuhFH5iO1iwCLeIIsV6+H1sRfxbkoGXIyQE2BTsPd9zqSqQJ+pv5sJ/hT5M1zvOFL02MnEezFug==
"@monorepo-utils/package-utils@^2.8.1": "@monorepo-utils/package-utils@^2.8.1":
version "2.8.1" version "2.8.1"
resolved "https://registry.yarnpkg.com/@monorepo-utils/package-utils/-/package-utils-2.8.1.tgz#e345bfd2e132b4eef260db4b6e13d09f875dadc0" resolved "https://registry.yarnpkg.com/@monorepo-utils/package-utils/-/package-utils-2.8.1.tgz#e345bfd2e132b4eef260db4b6e13d09f875dadc0"
@@ -1936,6 +1988,38 @@
estree-walker "^2.0.1" estree-walker "^2.0.1"
picomatch "^2.2.2" picomatch "^2.2.2"
"@rushstack/node-core-library@3.53.2", "@rushstack/node-core-library@^3.53.2":
version "3.53.2"
resolved "https://registry.yarnpkg.com/@rushstack/node-core-library/-/node-core-library-3.53.2.tgz#f442e121f9e6c8bef9a23b7337e6399ab5c0c579"
integrity sha512-FggLe5DQs0X9MNFeJN3/EXwb+8hyZUTEp2i+V1e8r4Va4JgkjBNY0BuEaQI+3DW6S4apV3UtXU3im17MSY00DA==
dependencies:
"@types/node" "12.20.24"
colors "~1.2.1"
fs-extra "~7.0.1"
import-lazy "~4.0.0"
jju "~1.4.0"
resolve "~1.17.0"
semver "~7.3.0"
z-schema "~5.0.2"
"@rushstack/rig-package@0.3.17":
version "0.3.17"
resolved "https://registry.yarnpkg.com/@rushstack/rig-package/-/rig-package-0.3.17.tgz#687bd55603f2902447f3be246d93afac97095a1f"
integrity sha512-nxvAGeIMnHl1LlZSQmacgcRV4y1EYtgcDIrw6KkeVjudOMonlxO482PhDj3LVZEp6L7emSf6YSO2s5JkHlwfZA==
dependencies:
resolve "~1.17.0"
strip-json-comments "~3.1.1"
"@rushstack/ts-command-line@4.13.0":
version "4.13.0"
resolved "https://registry.yarnpkg.com/@rushstack/ts-command-line/-/ts-command-line-4.13.0.tgz#a56aa90e5742c25d330cdb0cda1da19225d7bfcf"
integrity sha512-crLT31kl+qilz0eBRjqqYO06CqwbElc0EvzS6jI69B9Ikt1SkkSzIZ2iDP7zt/rd1ZYipKIS9hf9CQR9swDIKg==
dependencies:
"@types/argparse" "1.0.38"
argparse "~1.0.9"
colors "~1.2.1"
string-argv "~0.3.1"
"@sinonjs/commons@^1.7.0": "@sinonjs/commons@^1.7.0":
version "1.8.3" version "1.8.3"
resolved "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.3.tgz" resolved "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.3.tgz"
@@ -1955,6 +2039,16 @@
resolved "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz" resolved "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz"
integrity sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw== integrity sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==
"@ts-morph/common@~0.17.0":
version "0.17.0"
resolved "https://registry.yarnpkg.com/@ts-morph/common/-/common-0.17.0.tgz#de0d405df10857907469fef8d9363893b4163fd1"
integrity sha512-RMSSvSfs9kb0VzkvQ2NWobwnj7TxCA9vI/IjR9bDHqgAyVbu2T0DN4wiKVqomyDWqO7dPr/tErSfq7urQ1Q37g==
dependencies:
fast-glob "^3.2.11"
minimatch "^5.1.0"
mkdirp "^1.0.4"
path-browserify "^1.0.1"
"@tsconfig/node10@^1.0.7": "@tsconfig/node10@^1.0.7":
version "1.0.8" version "1.0.8"
resolved "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.8.tgz" resolved "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.8.tgz"
@@ -1980,6 +2074,11 @@
resolved "https://registry.npmjs.org/@tsconfig/svelte/-/svelte-1.0.13.tgz" resolved "https://registry.npmjs.org/@tsconfig/svelte/-/svelte-1.0.13.tgz"
integrity sha512-5lYJP45Xllo4yE/RUBccBT32eBlRDbqN8r1/MIvQbKxW3aFqaYPCNgm8D5V20X4ShHcwvYWNlKg3liDh1MlBoA== integrity sha512-5lYJP45Xllo4yE/RUBccBT32eBlRDbqN8r1/MIvQbKxW3aFqaYPCNgm8D5V20X4ShHcwvYWNlKg3liDh1MlBoA==
"@types/argparse@1.0.38":
version "1.0.38"
resolved "https://registry.yarnpkg.com/@types/argparse/-/argparse-1.0.38.tgz#a81fd8606d481f873a3800c6ebae4f1d768a56a9"
integrity sha512-ebDJ9b0e702Yr7pWgB0jzm+CX4Srzz8RcXtLJDJB+BSccqMa36uyH/zUsSYao5+BD1ytv3k3rPYCq4mAE1hsXA==
"@types/babel__core@^7.0.0", "@types/babel__core@^7.1.14": "@types/babel__core@^7.0.0", "@types/babel__core@^7.1.14":
version "7.1.16" version "7.1.16"
resolved "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.16.tgz" resolved "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.16.tgz"
@@ -2143,6 +2242,11 @@
resolved "https://registry.npmjs.org/@types/node/-/node-16.4.0.tgz" resolved "https://registry.npmjs.org/@types/node/-/node-16.4.0.tgz"
integrity sha512-HrJuE7Mlqcjj+00JqMWpZ3tY8w7EUd+S0U3L1+PQSWiXZbOgyQDvi+ogoUxaHApPJq5diKxYBQwA3iIlNcPqOg== integrity sha512-HrJuE7Mlqcjj+00JqMWpZ3tY8w7EUd+S0U3L1+PQSWiXZbOgyQDvi+ogoUxaHApPJq5diKxYBQwA3iIlNcPqOg==
"@types/node@12.20.24":
version "12.20.24"
resolved "https://registry.yarnpkg.com/@types/node/-/node-12.20.24.tgz#c37ac69cb2948afb4cef95f424fa0037971a9a5c"
integrity sha512-yxDeaQIAJlMav7fH5AQqPH1u8YIuhYJXYBzxaQ4PifsU0GDO38MSdmEDeRlIxrKbC6NbEaaEHDanWb+y30U8SQ==
"@types/node@^10.11.3": "@types/node@^10.11.3":
version "10.17.60" version "10.17.60"
resolved "https://registry.npmjs.org/@types/node/-/node-10.17.60.tgz" resolved "https://registry.npmjs.org/@types/node/-/node-10.17.60.tgz"
@@ -2688,7 +2792,7 @@ arg@^4.1.0:
resolved "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz" resolved "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz"
integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA== integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==
argparse@^1.0.7: argparse@^1.0.7, argparse@~1.0.9:
version "1.0.10" version "1.0.10"
resolved "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz" resolved "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz"
integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==
@@ -3019,6 +3123,13 @@ brace-expansion@^1.1.7:
balanced-match "^1.0.0" balanced-match "^1.0.0"
concat-map "0.0.1" concat-map "0.0.1"
brace-expansion@^2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.1.tgz#1edc459e0f0c548486ecf9fc99f2221364b9a0ae"
integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==
dependencies:
balanced-match "^1.0.0"
braces@^1.8.2: braces@^1.8.2:
version "1.8.5" version "1.8.5"
resolved "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz" resolved "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz"
@@ -3452,6 +3563,11 @@ coa@^2.0.2:
chalk "^2.4.1" chalk "^2.4.1"
q "^1.1.2" q "^1.1.2"
code-block-writer@^11.0.3:
version "11.0.3"
resolved "https://registry.yarnpkg.com/code-block-writer/-/code-block-writer-11.0.3.tgz#9eec2993edfb79bfae845fbc093758c0a0b73b76"
integrity sha512-NiujjUFB4SwScJq2bwbYUtXbZhBSlY6vYzm++3Q6oC+U+injTqfPYFK8wS9COOmb2lueqp0ZRB4nK1VYeHgNyw==
code-point-at@^1.0.0: code-point-at@^1.0.0:
version "1.1.0" version "1.1.0"
resolved "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz" resolved "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz"
@@ -3507,6 +3623,11 @@ colorette@^1.2.2:
resolved "https://registry.npmjs.org/colorette/-/colorette-1.2.2.tgz" resolved "https://registry.npmjs.org/colorette/-/colorette-1.2.2.tgz"
integrity sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w== integrity sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w==
colors@~1.2.1:
version "1.2.5"
resolved "https://registry.yarnpkg.com/colors/-/colors-1.2.5.tgz#89c7ad9a374bc030df8013241f68136ed8835afc"
integrity sha512-erNRLao/Y3Fv54qUa0LBB+//Uf3YwMUmdJinN20yMXm9zdKKqH9wt7R9IIVZ+K7ShzfpLV/Zg8+VyrBJYB4lpg==
columnify@^1.5.4: columnify@^1.5.4:
version "1.5.4" version "1.5.4"
resolved "https://registry.npmjs.org/columnify/-/columnify-1.5.4.tgz" resolved "https://registry.npmjs.org/columnify/-/columnify-1.5.4.tgz"
@@ -3522,7 +3643,7 @@ combined-stream@^1.0.6, combined-stream@^1.0.8, combined-stream@~1.0.6:
dependencies: dependencies:
delayed-stream "~1.0.0" delayed-stream "~1.0.0"
commander@^2.20.0: commander@^2.20.0, commander@^2.20.3:
version "2.20.3" version "2.20.3"
resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33"
integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==
@@ -4478,101 +4599,201 @@ esbuild-android-64@0.14.38:
resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.14.38.tgz#5b94a1306df31d55055f64a62ff6b763a47b7f64" resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.14.38.tgz#5b94a1306df31d55055f64a62ff6b763a47b7f64"
integrity sha512-aRFxR3scRKkbmNuGAK+Gee3+yFxkTJO/cx83Dkyzo4CnQl/2zVSurtG6+G86EQIZ+w+VYngVyK7P3HyTBKu3nw== integrity sha512-aRFxR3scRKkbmNuGAK+Gee3+yFxkTJO/cx83Dkyzo4CnQl/2zVSurtG6+G86EQIZ+w+VYngVyK7P3HyTBKu3nw==
esbuild-android-64@0.15.12:
version "0.15.12"
resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.15.12.tgz#5e8151d5f0a748c71a7fbea8cee844ccf008e6fc"
integrity sha512-MJKXwvPY9g0rGps0+U65HlTsM1wUs9lbjt5CU19RESqycGFDRijMDQsh68MtbzkqWSRdEtiKS1mtPzKneaAI0Q==
esbuild-android-arm64@0.14.38: esbuild-android-arm64@0.14.38:
version "0.14.38" version "0.14.38"
resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.38.tgz#78acc80773d16007de5219ccce544c036abd50b8" resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.38.tgz#78acc80773d16007de5219ccce544c036abd50b8"
integrity sha512-L2NgQRWuHFI89IIZIlpAcINy9FvBk6xFVZ7xGdOwIm8VyhX1vNCEqUJO3DPSSy945Gzdg98cxtNt8Grv1CsyhA== integrity sha512-L2NgQRWuHFI89IIZIlpAcINy9FvBk6xFVZ7xGdOwIm8VyhX1vNCEqUJO3DPSSy945Gzdg98cxtNt8Grv1CsyhA==
esbuild-android-arm64@0.15.12:
version "0.15.12"
resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.15.12.tgz#5ee72a6baa444bc96ffcb472a3ba4aba2cc80666"
integrity sha512-Hc9SEcZbIMhhLcvhr1DH+lrrec9SFTiRzfJ7EGSBZiiw994gfkVV6vG0sLWqQQ6DD7V4+OggB+Hn0IRUdDUqvA==
esbuild-darwin-64@0.14.38: esbuild-darwin-64@0.14.38:
version "0.14.38" version "0.14.38"
resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.38.tgz#e02b1291f629ebdc2aa46fabfacc9aa28ff6aa46" resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.38.tgz#e02b1291f629ebdc2aa46fabfacc9aa28ff6aa46"
integrity sha512-5JJvgXkX87Pd1Og0u/NJuO7TSqAikAcQQ74gyJ87bqWRVeouky84ICoV4sN6VV53aTW+NE87qLdGY4QA2S7KNA== integrity sha512-5JJvgXkX87Pd1Og0u/NJuO7TSqAikAcQQ74gyJ87bqWRVeouky84ICoV4sN6VV53aTW+NE87qLdGY4QA2S7KNA==
esbuild-darwin-64@0.15.12:
version "0.15.12"
resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.15.12.tgz#70047007e093fa1b3ba7ef86f9b3fa63db51fe25"
integrity sha512-qkmqrTVYPFiePt5qFjP8w/S+GIUMbt6k8qmiPraECUWfPptaPJUGkCKrWEfYFRWB7bY23FV95rhvPyh/KARP8Q==
esbuild-darwin-arm64@0.14.38: esbuild-darwin-arm64@0.14.38:
version "0.14.38" version "0.14.38"
resolved "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.38.tgz" resolved "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.38.tgz"
integrity sha512-eqF+OejMI3mC5Dlo9Kdq/Ilbki9sQBw3QlHW3wjLmsLh+quNfHmGMp3Ly1eWm981iGBMdbtSS9+LRvR2T8B3eQ== integrity sha512-eqF+OejMI3mC5Dlo9Kdq/Ilbki9sQBw3QlHW3wjLmsLh+quNfHmGMp3Ly1eWm981iGBMdbtSS9+LRvR2T8B3eQ==
esbuild-darwin-arm64@0.15.12:
version "0.15.12"
resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.15.12.tgz#41c951f23d9a70539bcca552bae6e5196696ae04"
integrity sha512-z4zPX02tQ41kcXMyN3c/GfZpIjKoI/BzHrdKUwhC/Ki5BAhWv59A9M8H+iqaRbwpzYrYidTybBwiZAIWCLJAkw==
esbuild-freebsd-64@0.14.38: esbuild-freebsd-64@0.14.38:
version "0.14.38" version "0.14.38"
resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.38.tgz#790b8786729d4aac7be17648f9ea8e0e16475b5e" resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.38.tgz#790b8786729d4aac7be17648f9ea8e0e16475b5e"
integrity sha512-epnPbhZUt93xV5cgeY36ZxPXDsQeO55DppzsIgWM8vgiG/Rz+qYDLmh5ts3e+Ln1wA9dQ+nZmVHw+RjaW3I5Ig== integrity sha512-epnPbhZUt93xV5cgeY36ZxPXDsQeO55DppzsIgWM8vgiG/Rz+qYDLmh5ts3e+Ln1wA9dQ+nZmVHw+RjaW3I5Ig==
esbuild-freebsd-64@0.15.12:
version "0.15.12"
resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.15.12.tgz#a761b5afd12bbedb7d56c612e9cfa4d2711f33f0"
integrity sha512-XFL7gKMCKXLDiAiBjhLG0XECliXaRLTZh6hsyzqUqPUf/PY4C6EJDTKIeqqPKXaVJ8+fzNek88285krSz1QECw==
esbuild-freebsd-arm64@0.14.38: esbuild-freebsd-arm64@0.14.38:
version "0.14.38" version "0.14.38"
resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.38.tgz#b66340ab28c09c1098e6d9d8ff656db47d7211e6" resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.38.tgz#b66340ab28c09c1098e6d9d8ff656db47d7211e6"
integrity sha512-/9icXUYJWherhk+y5fjPI5yNUdFPtXHQlwP7/K/zg8t8lQdHVj20SqU9/udQmeUo5pDFHMYzcEFfJqgOVeKNNQ== integrity sha512-/9icXUYJWherhk+y5fjPI5yNUdFPtXHQlwP7/K/zg8t8lQdHVj20SqU9/udQmeUo5pDFHMYzcEFfJqgOVeKNNQ==
esbuild-freebsd-arm64@0.15.12:
version "0.15.12"
resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.15.12.tgz#6b0839d4d58deabc6cbd96276eb8cbf94f7f335e"
integrity sha512-jwEIu5UCUk6TjiG1X+KQnCGISI+ILnXzIzt9yDVrhjug2fkYzlLbl0K43q96Q3KB66v6N1UFF0r5Ks4Xo7i72g==
esbuild-linux-32@0.14.38: esbuild-linux-32@0.14.38:
version "0.14.38" version "0.14.38"
resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.38.tgz#7927f950986fd39f0ff319e92839455912b67f70" resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.38.tgz#7927f950986fd39f0ff319e92839455912b67f70"
integrity sha512-QfgfeNHRFvr2XeHFzP8kOZVnal3QvST3A0cgq32ZrHjSMFTdgXhMhmWdKzRXP/PKcfv3e2OW9tT9PpcjNvaq6g== integrity sha512-QfgfeNHRFvr2XeHFzP8kOZVnal3QvST3A0cgq32ZrHjSMFTdgXhMhmWdKzRXP/PKcfv3e2OW9tT9PpcjNvaq6g==
esbuild-linux-32@0.15.12:
version "0.15.12"
resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.15.12.tgz#bd50bfe22514d434d97d5150977496e2631345b4"
integrity sha512-uSQuSEyF1kVzGzuIr4XM+v7TPKxHjBnLcwv2yPyCz8riV8VUCnO/C4BF3w5dHiVpCd5Z1cebBtZJNlC4anWpwA==
esbuild-linux-64@0.14.38: esbuild-linux-64@0.14.38:
version "0.14.38" version "0.14.38"
resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.38.tgz#4893d07b229d9cfe34a2b3ce586399e73c3ac519" resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.38.tgz#4893d07b229d9cfe34a2b3ce586399e73c3ac519"
integrity sha512-uuZHNmqcs+Bj1qiW9k/HZU3FtIHmYiuxZ/6Aa+/KHb/pFKr7R3aVqvxlAudYI9Fw3St0VCPfv7QBpUITSmBR1Q== integrity sha512-uuZHNmqcs+Bj1qiW9k/HZU3FtIHmYiuxZ/6Aa+/KHb/pFKr7R3aVqvxlAudYI9Fw3St0VCPfv7QBpUITSmBR1Q==
esbuild-linux-64@0.15.12:
version "0.15.12"
resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.15.12.tgz#074bb2b194bf658245f8490f29c01ffcdfa8c931"
integrity sha512-QcgCKb7zfJxqT9o5z9ZUeGH1k8N6iX1Y7VNsEi5F9+HzN1OIx7ESxtQXDN9jbeUSPiRH1n9cw6gFT3H4qbdvcA==
esbuild-linux-arm64@0.14.38: esbuild-linux-arm64@0.14.38:
version "0.14.38" version "0.14.38"
resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.38.tgz#8442402e37d0b8ae946ac616784d9c1a2041056a" resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.38.tgz#8442402e37d0b8ae946ac616784d9c1a2041056a"
integrity sha512-HlMGZTEsBrXrivr64eZ/EO0NQM8H8DuSENRok9d+Jtvq8hOLzrxfsAT9U94K3KOGk2XgCmkaI2KD8hX7F97lvA== integrity sha512-HlMGZTEsBrXrivr64eZ/EO0NQM8H8DuSENRok9d+Jtvq8hOLzrxfsAT9U94K3KOGk2XgCmkaI2KD8hX7F97lvA==
esbuild-linux-arm64@0.15.12:
version "0.15.12"
resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.15.12.tgz#3bf789c4396dc032875a122988efd6f3733f28f5"
integrity sha512-HtNq5xm8fUpZKwWKS2/YGwSfTF+339L4aIA8yphNKYJckd5hVdhfdl6GM2P3HwLSCORS++++7++//ApEwXEuAQ==
esbuild-linux-arm@0.14.38: esbuild-linux-arm@0.14.38:
version "0.14.38" version "0.14.38"
resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.38.tgz#d5dbf32d38b7f79be0ec6b5fb2f9251fd9066986" resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.38.tgz#d5dbf32d38b7f79be0ec6b5fb2f9251fd9066986"
integrity sha512-FiFvQe8J3VKTDXG01JbvoVRXQ0x6UZwyrU4IaLBZeq39Bsbatd94Fuc3F1RGqPF5RbIWW7RvkVQjn79ejzysnA== integrity sha512-FiFvQe8J3VKTDXG01JbvoVRXQ0x6UZwyrU4IaLBZeq39Bsbatd94Fuc3F1RGqPF5RbIWW7RvkVQjn79ejzysnA==
esbuild-linux-arm@0.15.12:
version "0.15.12"
resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.15.12.tgz#b91b5a8d470053f6c2c9c8a5e67ec10a71fe4a67"
integrity sha512-Wf7T0aNylGcLu7hBnzMvsTfEXdEdJY/hY3u36Vla21aY66xR0MS5I1Hw8nVquXjTN0A6fk/vnr32tkC/C2lb0A==
esbuild-linux-mips64le@0.14.38: esbuild-linux-mips64le@0.14.38:
version "0.14.38" version "0.14.38"
resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.38.tgz#95081e42f698bbe35d8ccee0e3a237594b337eb5" resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.38.tgz#95081e42f698bbe35d8ccee0e3a237594b337eb5"
integrity sha512-qd1dLf2v7QBiI5wwfil9j0HG/5YMFBAmMVmdeokbNAMbcg49p25t6IlJFXAeLzogv1AvgaXRXvgFNhScYEUXGQ== integrity sha512-qd1dLf2v7QBiI5wwfil9j0HG/5YMFBAmMVmdeokbNAMbcg49p25t6IlJFXAeLzogv1AvgaXRXvgFNhScYEUXGQ==
esbuild-linux-mips64le@0.15.12:
version "0.15.12"
resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.15.12.tgz#2fb54099ada3c950a7536dfcba46172c61e580e2"
integrity sha512-Qol3+AvivngUZkTVFgLpb0H6DT+N5/zM3V1YgTkryPYFeUvuT5JFNDR3ZiS6LxhyF8EE+fiNtzwlPqMDqVcc6A==
esbuild-linux-ppc64le@0.14.38: esbuild-linux-ppc64le@0.14.38:
version "0.14.38" version "0.14.38"
resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.38.tgz#dceb0a1b186f5df679618882a7990bd422089b47" resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.38.tgz#dceb0a1b186f5df679618882a7990bd422089b47"
integrity sha512-mnbEm7o69gTl60jSuK+nn+pRsRHGtDPfzhrqEUXyCl7CTOCLtWN2bhK8bgsdp6J/2NyS/wHBjs1x8aBWwP2X9Q== integrity sha512-mnbEm7o69gTl60jSuK+nn+pRsRHGtDPfzhrqEUXyCl7CTOCLtWN2bhK8bgsdp6J/2NyS/wHBjs1x8aBWwP2X9Q==
esbuild-linux-ppc64le@0.15.12:
version "0.15.12"
resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.15.12.tgz#9e3b8c09825fb27886249dfb3142a750df29a1b7"
integrity sha512-4D8qUCo+CFKaR0cGXtGyVsOI7w7k93Qxb3KFXWr75An0DHamYzq8lt7TNZKoOq/Gh8c40/aKaxvcZnTgQ0TJNg==
esbuild-linux-riscv64@0.14.38: esbuild-linux-riscv64@0.14.38:
version "0.14.38" version "0.14.38"
resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.38.tgz#61fb8edb75f475f9208c4a93ab2bfab63821afd2" resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.38.tgz#61fb8edb75f475f9208c4a93ab2bfab63821afd2"
integrity sha512-+p6YKYbuV72uikChRk14FSyNJZ4WfYkffj6Af0/Tw63/6TJX6TnIKE+6D3xtEc7DeDth1fjUOEqm+ApKFXbbVQ== integrity sha512-+p6YKYbuV72uikChRk14FSyNJZ4WfYkffj6Af0/Tw63/6TJX6TnIKE+6D3xtEc7DeDth1fjUOEqm+ApKFXbbVQ==
esbuild-linux-riscv64@0.15.12:
version "0.15.12"
resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.15.12.tgz#923d0f5b6e12ee0d1fe116b08e4ae4478fe40693"
integrity sha512-G9w6NcuuCI6TUUxe6ka0enjZHDnSVK8bO+1qDhMOCtl7Tr78CcZilJj8SGLN00zO5iIlwNRZKHjdMpfFgNn1VA==
esbuild-linux-s390x@0.14.38: esbuild-linux-s390x@0.14.38:
version "0.14.38" version "0.14.38"
resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.38.tgz#34c7126a4937406bf6a5e69100185fd702d12fe0" resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.38.tgz#34c7126a4937406bf6a5e69100185fd702d12fe0"
integrity sha512-0zUsiDkGJiMHxBQ7JDU8jbaanUY975CdOW1YDrurjrM0vWHfjv9tLQsW9GSyEb/heSK1L5gaweRjzfUVBFoybQ== integrity sha512-0zUsiDkGJiMHxBQ7JDU8jbaanUY975CdOW1YDrurjrM0vWHfjv9tLQsW9GSyEb/heSK1L5gaweRjzfUVBFoybQ==
esbuild-linux-s390x@0.15.12:
version "0.15.12"
resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.15.12.tgz#3b1620220482b96266a0c6d9d471d451a1eab86f"
integrity sha512-Lt6BDnuXbXeqSlVuuUM5z18GkJAZf3ERskGZbAWjrQoi9xbEIsj/hEzVnSAFLtkfLuy2DE4RwTcX02tZFunXww==
esbuild-netbsd-64@0.14.38: esbuild-netbsd-64@0.14.38:
version "0.14.38" version "0.14.38"
resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.38.tgz#322ea9937d9e529183ee281c7996b93eb38a5d95" resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.38.tgz#322ea9937d9e529183ee281c7996b93eb38a5d95"
integrity sha512-cljBAApVwkpnJZfnRVThpRBGzCi+a+V9Ofb1fVkKhtrPLDYlHLrSYGtmnoTVWDQdU516qYI8+wOgcGZ4XIZh0Q== integrity sha512-cljBAApVwkpnJZfnRVThpRBGzCi+a+V9Ofb1fVkKhtrPLDYlHLrSYGtmnoTVWDQdU516qYI8+wOgcGZ4XIZh0Q==
esbuild-netbsd-64@0.15.12:
version "0.15.12"
resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.15.12.tgz#276730f80da646859b1af5a740e7802d8cd73e42"
integrity sha512-jlUxCiHO1dsqoURZDQts+HK100o0hXfi4t54MNRMCAqKGAV33JCVvMplLAa2FwviSojT/5ZG5HUfG3gstwAG8w==
esbuild-openbsd-64@0.14.38: esbuild-openbsd-64@0.14.38:
version "0.14.38" version "0.14.38"
resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.38.tgz#1ca29bb7a2bf09592dcc26afdb45108f08a2cdbd" resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.38.tgz#1ca29bb7a2bf09592dcc26afdb45108f08a2cdbd"
integrity sha512-CDswYr2PWPGEPpLDUO50mL3WO/07EMjnZDNKpmaxUPsrW+kVM3LoAqr/CE8UbzugpEiflYqJsGPLirThRB18IQ== integrity sha512-CDswYr2PWPGEPpLDUO50mL3WO/07EMjnZDNKpmaxUPsrW+kVM3LoAqr/CE8UbzugpEiflYqJsGPLirThRB18IQ==
esbuild-openbsd-64@0.15.12:
version "0.15.12"
resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.15.12.tgz#bd0eea1dd2ca0722ed489d88c26714034429f8ae"
integrity sha512-1o1uAfRTMIWNOmpf8v7iudND0L6zRBYSH45sofCZywrcf7NcZA+c7aFsS1YryU+yN7aRppTqdUK1PgbZVaB1Dw==
esbuild-sunos-64@0.14.38: esbuild-sunos-64@0.14.38:
version "0.14.38" version "0.14.38"
resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.38.tgz#c9446f7d8ebf45093e7bb0e7045506a88540019b" resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.38.tgz#c9446f7d8ebf45093e7bb0e7045506a88540019b"
integrity sha512-2mfIoYW58gKcC3bck0j7lD3RZkqYA7MmujFYmSn9l6TiIcAMpuEvqksO+ntBgbLep/eyjpgdplF7b+4T9VJGOA== integrity sha512-2mfIoYW58gKcC3bck0j7lD3RZkqYA7MmujFYmSn9l6TiIcAMpuEvqksO+ntBgbLep/eyjpgdplF7b+4T9VJGOA==
esbuild-sunos-64@0.15.12:
version "0.15.12"
resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.15.12.tgz#5e56bf9eef3b2d92360d6d29dcde7722acbecc9e"
integrity sha512-nkl251DpoWoBO9Eq9aFdoIt2yYmp4I3kvQjba3jFKlMXuqQ9A4q+JaqdkCouG3DHgAGnzshzaGu6xofGcXyPXg==
esbuild-windows-32@0.14.38: esbuild-windows-32@0.14.38:
version "0.14.38" version "0.14.38"
resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.38.tgz#f8e9b4602fd0ccbd48e5c8d117ec0ba4040f2ad1" resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.38.tgz#f8e9b4602fd0ccbd48e5c8d117ec0ba4040f2ad1"
integrity sha512-L2BmEeFZATAvU+FJzJiRLFUP+d9RHN+QXpgaOrs2klshoAm1AE6Us4X6fS9k33Uy5SzScn2TpcgecbqJza1Hjw== integrity sha512-L2BmEeFZATAvU+FJzJiRLFUP+d9RHN+QXpgaOrs2klshoAm1AE6Us4X6fS9k33Uy5SzScn2TpcgecbqJza1Hjw==
esbuild-windows-32@0.15.12:
version "0.15.12"
resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.15.12.tgz#a4f1a301c1a2fa7701fcd4b91ef9d2620cf293d0"
integrity sha512-WlGeBZHgPC00O08luIp5B2SP4cNCp/PcS+3Pcg31kdcJPopHxLkdCXtadLU9J82LCfw4TVls21A6lilQ9mzHrw==
esbuild-windows-64@0.14.38: esbuild-windows-64@0.14.38:
version "0.14.38" version "0.14.38"
resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.38.tgz#280f58e69f78535f470905ce3e43db1746518107" resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.38.tgz#280f58e69f78535f470905ce3e43db1746518107"
integrity sha512-Khy4wVmebnzue8aeSXLC+6clo/hRYeNIm0DyikoEqX+3w3rcvrhzpoix0S+MF9vzh6JFskkIGD7Zx47ODJNyCw== integrity sha512-Khy4wVmebnzue8aeSXLC+6clo/hRYeNIm0DyikoEqX+3w3rcvrhzpoix0S+MF9vzh6JFskkIGD7Zx47ODJNyCw==
esbuild-windows-64@0.15.12:
version "0.15.12"
resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.15.12.tgz#bc2b467541744d653be4fe64eaa9b0dbbf8e07f6"
integrity sha512-VActO3WnWZSN//xjSfbiGOSyC+wkZtI8I4KlgrTo5oHJM6z3MZZBCuFaZHd8hzf/W9KPhF0lY8OqlmWC9HO5AA==
esbuild-windows-arm64@0.14.38: esbuild-windows-arm64@0.14.38:
version "0.14.38" version "0.14.38"
resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.38.tgz#d97e9ac0f95a4c236d9173fa9f86c983d6a53f54" resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.38.tgz#d97e9ac0f95a4c236d9173fa9f86c983d6a53f54"
integrity sha512-k3FGCNmHBkqdJXuJszdWciAH77PukEyDsdIryEHn9cKLQFxzhT39dSumeTuggaQcXY57UlmLGIkklWZo2qzHpw== integrity sha512-k3FGCNmHBkqdJXuJszdWciAH77PukEyDsdIryEHn9cKLQFxzhT39dSumeTuggaQcXY57UlmLGIkklWZo2qzHpw==
esbuild-windows-arm64@0.15.12:
version "0.15.12"
resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.12.tgz#9a7266404334a86be800957eaee9aef94c3df328"
integrity sha512-Of3MIacva1OK/m4zCNIvBfz8VVROBmQT+gRX6pFTLPngFYcj6TFH/12VveAqq1k9VB2l28EoVMNMUCcmsfwyuA==
esbuild@^0.14.38: esbuild@^0.14.38:
version "0.14.38" version "0.14.38"
resolved "https://registry.npmjs.org/esbuild/-/esbuild-0.14.38.tgz" resolved "https://registry.npmjs.org/esbuild/-/esbuild-0.14.38.tgz"
@@ -4599,6 +4820,34 @@ esbuild@^0.14.38:
esbuild-windows-64 "0.14.38" esbuild-windows-64 "0.14.38"
esbuild-windows-arm64 "0.14.38" esbuild-windows-arm64 "0.14.38"
esbuild@^0.15.9:
version "0.15.12"
resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.15.12.tgz#6c8e22d6d3b7430d165c33848298d3fc9a1f251c"
integrity sha512-PcT+/wyDqJQsRVhaE9uX/Oq4XLrFh0ce/bs2TJh4CSaw9xuvI+xFrH2nAYOADbhQjUgAhNWC5LKoUsakm4dxng==
optionalDependencies:
"@esbuild/android-arm" "0.15.12"
"@esbuild/linux-loong64" "0.15.12"
esbuild-android-64 "0.15.12"
esbuild-android-arm64 "0.15.12"
esbuild-darwin-64 "0.15.12"
esbuild-darwin-arm64 "0.15.12"
esbuild-freebsd-64 "0.15.12"
esbuild-freebsd-arm64 "0.15.12"
esbuild-linux-32 "0.15.12"
esbuild-linux-64 "0.15.12"
esbuild-linux-arm "0.15.12"
esbuild-linux-arm64 "0.15.12"
esbuild-linux-mips64le "0.15.12"
esbuild-linux-ppc64le "0.15.12"
esbuild-linux-riscv64 "0.15.12"
esbuild-linux-s390x "0.15.12"
esbuild-netbsd-64 "0.15.12"
esbuild-openbsd-64 "0.15.12"
esbuild-sunos-64 "0.15.12"
esbuild-windows-32 "0.15.12"
esbuild-windows-64 "0.15.12"
esbuild-windows-arm64 "0.15.12"
escalade@^3.1.1: escalade@^3.1.1:
version "3.1.1" version "3.1.1"
resolved "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz" resolved "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz"
@@ -5023,6 +5272,17 @@ fast-glob@^3.1.1:
merge2 "^1.3.0" merge2 "^1.3.0"
micromatch "^4.0.4" micromatch "^4.0.4"
fast-glob@^3.2.11, fast-glob@^3.2.12:
version "3.2.12"
resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.12.tgz#7f39ec99c2e6ab030337142da9e0c18f37afae80"
integrity sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==
dependencies:
"@nodelib/fs.stat" "^2.0.2"
"@nodelib/fs.walk" "^1.2.3"
glob-parent "^5.1.2"
merge2 "^1.3.0"
micromatch "^4.0.4"
fast-glob@^3.2.9: fast-glob@^3.2.9:
version "3.2.11" version "3.2.11"
resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.11.tgz#a1172ad95ceb8a16e20caa5c5e56480e5129c1d9" resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.11.tgz#a1172ad95ceb8a16e20caa5c5e56480e5129c1d9"
@@ -5274,6 +5534,15 @@ fs-extra@^10.0.0:
jsonfile "^6.0.1" jsonfile "^6.0.1"
universalify "^2.0.0" universalify "^2.0.0"
fs-extra@^10.1.0:
version "10.1.0"
resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-10.1.0.tgz#02873cfbc4084dde127eaa5f9905eef2325d1abf"
integrity sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==
dependencies:
graceful-fs "^4.2.0"
jsonfile "^6.0.1"
universalify "^2.0.0"
fs-extra@^9.1.0: fs-extra@^9.1.0:
version "9.1.0" version "9.1.0"
resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz" resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz"
@@ -5284,6 +5553,15 @@ fs-extra@^9.1.0:
jsonfile "^6.0.1" jsonfile "^6.0.1"
universalify "^2.0.0" universalify "^2.0.0"
fs-extra@~7.0.1:
version "7.0.1"
resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-7.0.1.tgz#4f189c44aa123b895f722804f55ea23eadc348e9"
integrity sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==
dependencies:
graceful-fs "^4.1.2"
jsonfile "^4.0.0"
universalify "^0.1.0"
fs-minipass@^1.2.7: fs-minipass@^1.2.7:
version "1.2.7" version "1.2.7"
resolved "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.7.tgz" resolved "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.7.tgz"
@@ -5913,6 +6191,11 @@ import-from@^3.0.0:
dependencies: dependencies:
resolve-from "^5.0.0" resolve-from "^5.0.0"
import-lazy@~4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/import-lazy/-/import-lazy-4.0.0.tgz#e8eb627483a0a43da3c03f3e35548be5cb0cc153"
integrity sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==
import-local@^3.0.2: import-local@^3.0.2:
version "3.0.2" version "3.0.2"
resolved "https://registry.npmjs.org/import-local/-/import-local-3.0.2.tgz" resolved "https://registry.npmjs.org/import-local/-/import-local-3.0.2.tgz"
@@ -6131,6 +6414,13 @@ is-core-module@^2.2.0:
dependencies: dependencies:
has "^1.0.3" has "^1.0.3"
is-core-module@^2.9.0:
version "2.11.0"
resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.11.0.tgz#ad4cb3e3863e814523c96f3f58d26cc570ff0144"
integrity sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==
dependencies:
has "^1.0.3"
is-date-object@^1.0.1: is-date-object@^1.0.1:
version "1.0.4" version "1.0.4"
resolved "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.4.tgz" resolved "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.4.tgz"
@@ -7518,6 +7808,13 @@ jsonc-parser@^3.0.0, jsonc-parser@~3.0.0:
resolved "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.0.0.tgz" resolved "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.0.0.tgz"
integrity sha512-fQzRfAbIBnR0IQvftw9FJveWiHp72Fg20giDrHz6TdfB12UH/uue0D3hm57UB5KgAVuniLMCaS8P1IMj9NR7cA== integrity sha512-fQzRfAbIBnR0IQvftw9FJveWiHp72Fg20giDrHz6TdfB12UH/uue0D3hm57UB5KgAVuniLMCaS8P1IMj9NR7cA==
jsonfile@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb"
integrity sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==
optionalDependencies:
graceful-fs "^4.1.6"
jsonfile@^6.0.1: jsonfile@^6.0.1:
version "6.1.0" version "6.1.0"
resolved "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz" resolved "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz"
@@ -7559,6 +7856,11 @@ kleur@^3.0.0, kleur@^3.0.3:
resolved "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz" resolved "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz"
integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==
kolorist@^1.6.0:
version "1.6.0"
resolved "https://registry.yarnpkg.com/kolorist/-/kolorist-1.6.0.tgz#f43ac794305b30032a5bedcae7799d0f91d2ff36"
integrity sha512-dLkz37Ab97HWMx9KTes3Tbi3D1ln9fCAy2zr2YVExJasDRPGRaKcoE4fycWNtnCAJfjFqe0cnY+f8KT2JePEXQ==
lerna@^4.0.0: lerna@^4.0.0:
version "4.0.0" version "4.0.0"
resolved "https://registry.npmjs.org/lerna/-/lerna-4.0.0.tgz" resolved "https://registry.npmjs.org/lerna/-/lerna-4.0.0.tgz"
@@ -7718,6 +8020,16 @@ lodash.camelcase@^4.3.0:
resolved "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz" resolved "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz"
integrity sha1-soqmKIorn8ZRA1x3EfZathkDMaY= integrity sha1-soqmKIorn8ZRA1x3EfZathkDMaY=
lodash.get@^4.4.2:
version "4.4.2"
resolved "https://registry.yarnpkg.com/lodash.get/-/lodash.get-4.4.2.tgz#2d177f652fa31e939b4438d5341499dfa3825e99"
integrity sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==
lodash.isequal@^4.5.0:
version "4.5.0"
resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0"
integrity sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==
lodash.ismatch@^4.4.0: lodash.ismatch@^4.4.0:
version "4.4.0" version "4.4.0"
resolved "https://registry.npmjs.org/lodash.ismatch/-/lodash.ismatch-4.4.0.tgz" resolved "https://registry.npmjs.org/lodash.ismatch/-/lodash.ismatch-4.4.0.tgz"
@@ -7753,7 +8065,7 @@ lodash.uniq@^4.5.0:
resolved "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz" resolved "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz"
integrity sha1-0CJTc662Uq3BvILklFM5qEJ1R3M= integrity sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=
lodash@4.x, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.21, lodash@^4.17.4, lodash@^4.7.0: lodash@4.x, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.21, lodash@^4.17.4, lodash@^4.7.0, lodash@~4.17.15:
version "4.17.21" version "4.17.21"
resolved "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz" resolved "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz"
integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==
@@ -8056,6 +8368,13 @@ minimatch@^3.0.4, minimatch@^3.1.1, minimatch@^3.1.2:
dependencies: dependencies:
brace-expansion "^1.1.7" brace-expansion "^1.1.7"
minimatch@^5.1.0:
version "5.1.0"
resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.1.0.tgz#1717b464f4971b144f6aabe8f2d0b8e4511e09c7"
integrity sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==
dependencies:
brace-expansion "^2.0.1"
minimatch@~3.0.5: minimatch@~3.0.5:
version "3.0.8" version "3.0.8"
resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.8.tgz#5e6a59bd11e2ab0de1cfb843eb2d82e546c321c1" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.8.tgz#5e6a59bd11e2ab0de1cfb843eb2d82e546c321c1"
@@ -8231,6 +8550,11 @@ mute-stream@0.0.8, mute-stream@~0.0.4:
resolved "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz" resolved "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz"
integrity sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA== integrity sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==
nanoid@^3.3.4:
version "3.3.4"
resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.4.tgz#730b67e3cd09e2deacf03c027c81c9d9dbc5e8ab"
integrity sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==
natural-compare@^1.4.0: natural-compare@^1.4.0:
version "1.4.0" version "1.4.0"
resolved "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz" resolved "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz"
@@ -8865,6 +9189,11 @@ parseurl@~1.3.3:
resolved "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz" resolved "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz"
integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==
path-browserify@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-1.0.1.tgz#d98454a9c3753d5790860f16f68867b9e46be1fd"
integrity sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==
path-exists@^3.0.0: path-exists@^3.0.0:
version "3.0.0" version "3.0.0"
resolved "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz" resolved "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz"
@@ -8897,7 +9226,7 @@ path-key@^3.0.0, path-key@^3.1.0:
resolved "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz" resolved "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz"
integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==
path-parse@^1.0.6: path-parse@^1.0.6, path-parse@^1.0.7:
version "1.0.7" version "1.0.7"
resolved "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz" resolved "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz"
integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==
@@ -9400,6 +9729,15 @@ postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.27:
picocolors "^0.2.1" picocolors "^0.2.1"
source-map "^0.6.1" source-map "^0.6.1"
postcss@^8.4.18:
version "8.4.18"
resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.18.tgz#6d50046ea7d3d66a85e0e782074e7203bc7fbca2"
integrity sha512-Wi8mWhncLJm11GATDaQKobXSNEYGUHeQLiQqDFG1qQ5UTDPTEvKw0Xt5NsTpktGTwLps3ByrWsBrG0rB8YQ9oA==
dependencies:
nanoid "^3.3.4"
picocolors "^1.0.0"
source-map-js "^1.0.2"
prelude-ls@^1.2.1: prelude-ls@^1.2.1:
version "1.2.1" version "1.2.1"
resolved "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz" resolved "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz"
@@ -9900,6 +10238,22 @@ resolve@^1.1.7, resolve@^1.10.0, resolve@^1.16.1, resolve@^1.17.0, resolve@^1.19
is-core-module "^2.2.0" is-core-module "^2.2.0"
path-parse "^1.0.6" path-parse "^1.0.6"
resolve@^1.22.1:
version "1.22.1"
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.1.tgz#27cb2ebb53f91abb49470a928bba7558066ac177"
integrity sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==
dependencies:
is-core-module "^2.9.0"
path-parse "^1.0.7"
supports-preserve-symlinks-flag "^1.0.0"
resolve@~1.17.0:
version "1.17.0"
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.17.0.tgz#b25941b54968231cc2d1bb76a79cb7f2c0bf8444"
integrity sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==
dependencies:
path-parse "^1.0.6"
resolve@~1.19.0: resolve@~1.19.0:
version "1.19.0" version "1.19.0"
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.19.0.tgz#1af5bf630409734a067cae29318aac7fa29a267c" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.19.0.tgz#1af5bf630409734a067cae29318aac7fa29a267c"
@@ -10081,6 +10435,13 @@ rollup@^2.71.1:
optionalDependencies: optionalDependencies:
fsevents "~2.3.2" fsevents "~2.3.2"
rollup@^2.79.1:
version "2.79.1"
resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.79.1.tgz#bedee8faef7c9f93a2647ac0108748f497f081c7"
integrity sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==
optionalDependencies:
fsevents "~2.3.2"
run-async@^2.4.0: run-async@^2.4.0:
version "2.4.1" version "2.4.1"
resolved "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz" resolved "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz"
@@ -10187,6 +10548,13 @@ semver@^7.3.7:
dependencies: dependencies:
lru-cache "^6.0.0" lru-cache "^6.0.0"
semver@~7.3.0:
version "7.3.8"
resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.8.tgz#07a78feafb3f7b32347d725e33de7e2a2df67798"
integrity sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==
dependencies:
lru-cache "^6.0.0"
send@0.17.1: send@0.17.1:
version "0.17.1" version "0.17.1"
resolved "https://registry.npmjs.org/send/-/send-0.17.1.tgz" resolved "https://registry.npmjs.org/send/-/send-0.17.1.tgz"
@@ -10367,6 +10735,11 @@ sort-keys@^4.0.0:
dependencies: dependencies:
is-plain-obj "^2.0.0" is-plain-obj "^2.0.0"
source-map-js@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c"
integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==
source-map-support@^0.5.6, source-map-support@~0.5.20: source-map-support@^0.5.6, source-map-support@~0.5.20:
version "0.5.21" version "0.5.21"
resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f" resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f"
@@ -10506,6 +10879,11 @@ strict-uri-encode@^2.0.0:
resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz#b9c7330c7042862f6b142dc274bbcc5866ce3546" resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz#b9c7330c7042862f6b142dc274bbcc5866ce3546"
integrity sha512-QwiXZgpRcKkhTj2Scnn++4PKtWsH0kpzZ62L2R6c/LUVYv7hVnZqcg2+sMuT6R7Jusu1vviK/MFsu6kNJfWlEQ== integrity sha512-QwiXZgpRcKkhTj2Scnn++4PKtWsH0kpzZ62L2R6c/LUVYv7hVnZqcg2+sMuT6R7Jusu1vviK/MFsu6kNJfWlEQ==
string-argv@~0.3.1:
version "0.3.1"
resolved "https://registry.yarnpkg.com/string-argv/-/string-argv-0.3.1.tgz#95e2fbec0427ae19184935f816d74aaa4c5c19da"
integrity sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg==
string-hash@^1.1.1: string-hash@^1.1.1:
version "1.1.3" version "1.1.3"
resolved "https://registry.npmjs.org/string-hash/-/string-hash-1.1.3.tgz" resolved "https://registry.npmjs.org/string-hash/-/string-hash-1.1.3.tgz"
@@ -10710,6 +11088,11 @@ supports-hyperlinks@^2.0.0:
has-flag "^4.0.0" has-flag "^4.0.0"
supports-color "^7.0.0" supports-color "^7.0.0"
supports-preserve-symlinks-flag@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09"
integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==
svelte-check@^1.4.0: svelte-check@^1.4.0:
version "1.6.0" version "1.6.0"
resolved "https://registry.npmjs.org/svelte-check/-/svelte-check-1.6.0.tgz" resolved "https://registry.npmjs.org/svelte-check/-/svelte-check-1.6.0.tgz"
@@ -11011,6 +11394,14 @@ ts-jest@^27.1.3:
semver "7.x" semver "7.x"
yargs-parser "20.x" yargs-parser "20.x"
ts-morph@^16.0.0:
version "16.0.0"
resolved "https://registry.yarnpkg.com/ts-morph/-/ts-morph-16.0.0.tgz#35caca7c286dd70e09e5f72af47536bf3b6a27af"
integrity sha512-jGNF0GVpFj0orFw55LTsQxVYEUOCWBAbR5Ls7fTYE5pQsbW18ssTb/6UXx/GYAEjS+DQTp8VoTw0vqYMiaaQuw==
dependencies:
"@ts-morph/common" "~0.17.0"
code-block-writer "^11.0.3"
ts-node@^10.9.1: ts-node@^10.9.1:
version "10.9.1" version "10.9.1"
resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.9.1.tgz#e73de9102958af9e1f0b168a6ff320e25adcff4b" resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.9.1.tgz#e73de9102958af9e1f0b168a6ff320e25adcff4b"
@@ -11251,6 +11642,11 @@ typescript@*, typescript@^4.7.3:
resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.7.4.tgz#1a88596d1cf47d59507a1bcdfb5b9dfe4d488235" resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.7.4.tgz#1a88596d1cf47d59507a1bcdfb5b9dfe4d488235"
integrity sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ== integrity sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ==
typescript@~4.8.4:
version "4.8.4"
resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.8.4.tgz#c464abca159669597be5f96b8943500b238e60e6"
integrity sha512-QCh+85mCy+h0IGff8r5XWzOVSbBO+KfeYrMQh7NJ58QujwcE22u+NUSmUxqF+un70P9GXKxa2HCNiTTMJknyjQ==
uc.micro@^1.0.1, uc.micro@^1.0.5: uc.micro@^1.0.1, uc.micro@^1.0.5:
version "1.0.6" version "1.0.6"
resolved "https://registry.yarnpkg.com/uc.micro/-/uc.micro-1.0.6.tgz#9c411a802a409a91fc6cf74081baba34b24499ac" resolved "https://registry.yarnpkg.com/uc.micro/-/uc.micro-1.0.6.tgz#9c411a802a409a91fc6cf74081baba34b24499ac"
@@ -11318,7 +11714,7 @@ universal-user-agent@^6.0.0:
resolved "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.0.tgz" resolved "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.0.tgz"
integrity sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w== integrity sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w==
universalify@^0.1.2: universalify@^0.1.0, universalify@^0.1.2:
version "0.1.2" version "0.1.2"
resolved "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz" resolved "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz"
integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==
@@ -11444,6 +11840,11 @@ validate-npm-package-name@^3.0.0:
dependencies: dependencies:
builtins "^1.0.3" builtins "^1.0.3"
validator@^13.7.0:
version "13.7.0"
resolved "https://registry.yarnpkg.com/validator/-/validator-13.7.0.tgz#4f9658ba13ba8f3d82ee881d3516489ea85c0857"
integrity sha512-nYXQLCBkpJ8X6ltALua9dRrZDHVYxjJ1wgskNt1lH9fzGjs3tgojGSCBjmEPwkWS1y29+DrizMTW19Pr9uB2nw==
vary@~1.1.2: vary@~1.1.2:
version "1.1.2" version "1.1.2"
resolved "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz" resolved "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz"
@@ -11463,6 +11864,31 @@ verror@1.10.0:
core-util-is "1.0.2" core-util-is "1.0.2"
extsprintf "^1.2.0" extsprintf "^1.2.0"
vite-plugin-dts@^1.6.6:
version "1.6.6"
resolved "https://registry.yarnpkg.com/vite-plugin-dts/-/vite-plugin-dts-1.6.6.tgz#aa572d40cb371f91470b37300ab632cf83734ab7"
integrity sha512-XEZQlcAN5Bi1PWL0l/E08cI3VpjTCWY5x7C4/bVyC7lpS+/q9CDBCV8gGsqV97/g34N7gNNRNhqs8r0m6JAmIQ==
dependencies:
"@microsoft/api-extractor" "^7.33.1"
"@rushstack/node-core-library" "^3.53.2"
debug "^4.3.4"
fast-glob "^3.2.12"
fs-extra "^10.1.0"
kolorist "^1.6.0"
ts-morph "^16.0.0"
vite@^3.2.0-beta.2:
version "3.2.0-beta.3"
resolved "https://registry.yarnpkg.com/vite/-/vite-3.2.0-beta.3.tgz#a42499e0f2fbe761c60e5438f0a70bd321e5a77a"
integrity sha512-c9KRnMUlbxLNqzCihTozhKlRdOzjAWsO3H9cC/ej+JuvL4rnIxSvv+9m5Wz2PAs9lgDD7Yk0VZuzKYSSk3peWw==
dependencies:
esbuild "^0.15.9"
postcss "^8.4.18"
resolve "^1.22.1"
rollup "^2.79.1"
optionalDependencies:
fsevents "~2.3.2"
w3c-hr-time@^1.0.2: w3c-hr-time@^1.0.2:
version "1.0.2" version "1.0.2"
resolved "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz" resolved "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz"
@@ -11762,3 +12188,14 @@ yocto-queue@^0.1.0:
version "0.1.0" version "0.1.0"
resolved "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz" resolved "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz"
integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==
z-schema@~5.0.2:
version "5.0.4"
resolved "https://registry.yarnpkg.com/z-schema/-/z-schema-5.0.4.tgz#ecad8bc5ef3283ae032d603286386cfb1380cce5"
integrity sha512-gm/lx3hDzJNcLwseIeQVm1UcwhWIKpSB4NqH89pTBtFns4k/HDHudsICtvG05Bvw/Mv3jMyk700y5dadueLHdA==
dependencies:
lodash.get "^4.4.2"
lodash.isequal "^4.5.0"
validator "^13.7.0"
optionalDependencies:
commander "^2.20.3"