Improve development tooling (#1516)

- Running `yarn build` in a `packages/*/` directory will trigger build of all dependencies too, and cache them if possible.
- Fix for `yarn dev` breaking for `rrweb` package whenever changing files in `rrweb` package
- Update typescript, turbo, vite and vite-plugin-dts
- Require `workspaces-to-typescript-project-references` from `prepublish`
This commit is contained in:
Justin Halsall
2026-04-01 12:00:00 +08:00
committed by GitHub
parent 45640672fe
commit 5bb69155c5
54 changed files with 416 additions and 243 deletions

View File

@@ -0,0 +1,2 @@
---
---

View File

@@ -94,6 +94,7 @@
"@rrweb/rrweb-plugin-sequential-id", "@rrweb/rrweb-plugin-sequential-id",
"@rrweb/rrweb-plugin-canvas-webrtc-record", "@rrweb/rrweb-plugin-canvas-webrtc-record",
"@rrweb/rrweb-plugin-canvas-webrtc-replay" "@rrweb/rrweb-plugin-canvas-webrtc-replay"
] ],
"typescript.tsdk": " rrweb monorepo/node_modules/typescript/lib"
} }
} }

View File

@@ -37,18 +37,19 @@
"markdownlint": "^0.25.1", "markdownlint": "^0.25.1",
"markdownlint-cli": "^0.31.1", "markdownlint-cli": "^0.31.1",
"prettier": "2.8.4", "prettier": "2.8.4",
"turbo": "^2.0.3", "turbo": "^2.0.4",
"typescript": "^4.9.5" "typescript": "^5.4.5"
}, },
"scripts": { "scripts": {
"build:all": "NODE_OPTIONS='--max-old-space-size=4096' yarn run concurrently --success=all -r -m=1 'yarn workspaces-to-typescript-project-references' 'yarn turbo run prepublish'", "build:all": "NODE_OPTIONS='--max-old-space-size=4096' yarn turbo run prepublish",
"test": "yarn run concurrently --success=all -r -m=1 'yarn workspaces-to-typescript-project-references --check' 'yarn turbo run test --concurrency=1 --continue'", "references:update": "yarn workspaces-to-typescript-project-references",
"test": "yarn turbo run test --concurrency=1 --continue",
"test:watch": "yarn turbo run test:watch", "test:watch": "yarn turbo run test:watch",
"test:update": "yarn turbo run test:update", "test:update": "yarn turbo run test:update",
"check-types": "yarn turbo run check-types --continue", "check-types": "yarn turbo run check-types --continue",
"format": "yarn prettier --write '**/*.{ts,md}'", "format": "yarn prettier --write '**/*.{ts,md}'",
"format:head": "git diff --name-only HEAD^ |grep '\\.ts$\\|\\.md$' |xargs yarn prettier --write", "format:head": "git diff --name-only HEAD^ |grep '\\.ts$\\|\\.md$' |xargs yarn prettier --write",
"dev": "CLEAR_DIST_DIR=false yarn turbo run dev --concurrency=17", "dev": "yarn turbo run dev --concurrency=17",
"repl": "cd packages/rrweb && npm run repl", "repl": "cd packages/rrweb && npm run repl",
"live-stream": "cd packages/rrweb && yarn live-stream", "live-stream": "cd packages/rrweb && yarn live-stream",
"lint": "yarn run concurrently --success=all -r -m=1 'yarn run markdownlint docs' 'yarn eslint packages/*/src --ext .ts,.tsx,.js,.jsx,.svelte'", "lint": "yarn run concurrently --success=all -r -m=1 'yarn run markdownlint docs' 'yarn eslint packages/*/src --ext .ts,.tsx,.js,.jsx,.svelte'",

View File

@@ -10,11 +10,11 @@
], ],
"scripts": { "scripts": {
"dev": "vite build --watch", "dev": "vite build --watch",
"build": "tsc -noEmit && vite build", "build": "yarn turbo run prepublish",
"test": "vitest run", "test": "vitest run",
"test:watch": "vitest watch", "test:watch": "vitest watch",
"check-types": "tsc -noEmit", "check-types": "tsc -noEmit",
"prepublish": "npm run build", "prepublish": "tsc -noEmit && vite build",
"lint": "yarn eslint src/**/*.ts" "lint": "yarn eslint src/**/*.ts"
}, },
"homepage": "https://github.com/rrweb-io/rrweb/tree/main/packages/@rrweb/all#readme", "homepage": "https://github.com/rrweb-io/rrweb/tree/main/packages/@rrweb/all#readme",
@@ -50,10 +50,10 @@
], ],
"devDependencies": { "devDependencies": {
"puppeteer": "^20.9.0", "puppeteer": "^20.9.0",
"vite": "^5.2.8", "vite": "^5.3.1",
"vite-plugin-dts": "^3.8.1", "vite-plugin-dts": "^3.9.1",
"vitest": "^1.4.0", "vitest": "^1.4.0",
"typescript": "^4.7.3" "typescript": "^5.4.5"
}, },
"dependencies": { "dependencies": {
"@rrweb/types": "^2.0.0-alpha.15", "@rrweb/types": "^2.0.0-alpha.15",

View File

@@ -10,11 +10,11 @@
], ],
"scripts": { "scripts": {
"dev": "vite build --watch", "dev": "vite build --watch",
"build": "tsc -noEmit && vite build", "build": "yarn turbo run prepublish",
"test": "vitest run", "test": "vitest run",
"test:watch": "vitest watch", "test:watch": "vitest watch",
"check-types": "tsc -noEmit", "check-types": "tsc -noEmit",
"prepublish": "npm run build", "prepublish": "tsc -noEmit && vite build",
"lint": "yarn eslint src/**/*.ts" "lint": "yarn eslint src/**/*.ts"
}, },
"homepage": "https://github.com/rrweb-io/rrweb/tree/main/packages/@rrweb/packer#readme", "homepage": "https://github.com/rrweb-io/rrweb/tree/main/packages/@rrweb/packer#readme",
@@ -71,10 +71,10 @@
"package.json" "package.json"
], ],
"devDependencies": { "devDependencies": {
"vite": "^5.2.8", "vite": "^5.3.1",
"vite-plugin-dts": "^3.8.1", "vite-plugin-dts": "^3.9.1",
"vitest": "^1.4.0", "vitest": "^1.4.0",
"typescript": "^4.7.3" "typescript": "^5.4.5"
}, },
"dependencies": { "dependencies": {
"fflate": "^0.4.4", "fflate": "^0.4.4",

View File

@@ -1,6 +1,6 @@
import { strFromU8, strToU8, zlibSync } from 'fflate'; import { strFromU8, strToU8, zlibSync } from 'fflate';
import type { PackFn } from '@rrweb/types'; import type { PackFn } from '@rrweb/types';
import { eventWithTimeAndPacker, MARK } from './base'; import { type eventWithTimeAndPacker, MARK } from './base';
export const pack: PackFn = (event) => { export const pack: PackFn = (event) => {
const _e: eventWithTimeAndPacker = { const _e: eventWithTimeAndPacker = {

View File

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

View File

@@ -25,9 +25,9 @@
], ],
"scripts": { "scripts": {
"dev": "vite build --watch", "dev": "vite build --watch",
"build": "tsc -noEmit && vite build", "build": "yarn turbo run prepublish",
"check-types": "tsc -noEmit", "check-types": "tsc -noEmit",
"prepublish": "npm run build" "prepublish": "tsc -noEmit && vite build"
}, },
"repository": { "repository": {
"type": "git", "type": "git",
@@ -44,9 +44,9 @@
"homepage": "https://github.com/rrweb-io/rrweb#readme", "homepage": "https://github.com/rrweb-io/rrweb#readme",
"devDependencies": { "devDependencies": {
"rrweb": "^2.0.0-alpha.15", "rrweb": "^2.0.0-alpha.15",
"typescript": "^4.7.3", "typescript": "^5.4.5",
"vite": "^5.2.8", "vite": "^5.3.1",
"vite-plugin-dts": "^3.8.1" "vite-plugin-dts": "^3.9.1"
}, },
"peerDependencies": { "peerDependencies": {
"rrweb": "^2.0.0-alpha.15" "rrweb": "^2.0.0-alpha.15"

View File

@@ -25,9 +25,9 @@
], ],
"scripts": { "scripts": {
"dev": "vite build --watch", "dev": "vite build --watch",
"build": "tsc -noEmit && vite build", "build": "yarn turbo run prepublish",
"check-types": "tsc -noEmit", "check-types": "tsc -noEmit",
"prepublish": "npm run build" "prepublish": "tsc -noEmit && vite build"
}, },
"repository": { "repository": {
"type": "git", "type": "git",
@@ -44,9 +44,9 @@
"homepage": "https://github.com/rrweb-io/rrweb#readme", "homepage": "https://github.com/rrweb-io/rrweb#readme",
"devDependencies": { "devDependencies": {
"rrweb": "^2.0.0-alpha.15", "rrweb": "^2.0.0-alpha.15",
"typescript": "^4.7.3", "typescript": "^5.4.5",
"vite": "^5.2.8", "vite": "^5.3.1",
"vite-plugin-dts": "^3.8.1" "vite-plugin-dts": "^3.9.1"
}, },
"peerDependencies": { "peerDependencies": {
"rrweb": "^2.0.0-alpha.15" "rrweb": "^2.0.0-alpha.15"

View File

@@ -27,9 +27,9 @@
"dev": "vite build --watch", "dev": "vite build --watch",
"test": "vitest run", "test": "vitest run",
"test:watch": "vitest watch", "test:watch": "vitest watch",
"build": "tsc -noEmit && vite build", "build": "yarn turbo run prepublish",
"check-types": "tsc -noEmit", "check-types": "tsc -noEmit",
"prepublish": "npm run build" "prepublish": "tsc -noEmit && vite build"
}, },
"repository": { "repository": {
"type": "git", "type": "git",
@@ -46,9 +46,9 @@
"homepage": "https://github.com/rrweb-io/rrweb#readme", "homepage": "https://github.com/rrweb-io/rrweb#readme",
"devDependencies": { "devDependencies": {
"rrweb": "^2.0.0-alpha.15", "rrweb": "^2.0.0-alpha.15",
"typescript": "^4.7.3", "typescript": "^5.4.5",
"vite": "^5.2.8", "vite": "^5.3.1",
"vite-plugin-dts": "^3.8.1", "vite-plugin-dts": "^3.9.1",
"vitest": "^1.4.0", "vitest": "^1.4.0",
"puppeteer": "^20.9.0" "puppeteer": "^20.9.0"
}, },

View File

@@ -25,9 +25,9 @@
], ],
"scripts": { "scripts": {
"dev": "vite build --watch", "dev": "vite build --watch",
"build": "tsc -noEmit && vite build", "build": "yarn turbo run prepublish",
"check-types": "tsc -noEmit", "check-types": "tsc -noEmit",
"prepublish": "npm run build" "prepublish": "tsc -noEmit && vite build"
}, },
"repository": { "repository": {
"type": "git", "type": "git",
@@ -45,9 +45,9 @@
"devDependencies": { "devDependencies": {
"@rrweb/rrweb-plugin-console-record": "^2.0.0-alpha.15", "@rrweb/rrweb-plugin-console-record": "^2.0.0-alpha.15",
"rrweb": "^2.0.0-alpha.15", "rrweb": "^2.0.0-alpha.15",
"typescript": "^4.7.3", "typescript": "^5.4.5",
"vite": "^5.2.8", "vite": "^5.3.1",
"vite-plugin-dts": "^3.8.1" "vite-plugin-dts": "^3.9.1"
}, },
"peerDependencies": { "peerDependencies": {
"rrweb": "^2.0.0-alpha.15" "rrweb": "^2.0.0-alpha.15"

View File

@@ -1,6 +1,6 @@
import { import {
LogLevel, type LogLevel,
LogData, type LogData,
PLUGIN_NAME, PLUGIN_NAME,
} from '@rrweb/rrweb-plugin-console-record'; } from '@rrweb/rrweb-plugin-console-record';
import type { eventWithTime } from '@rrweb/types'; import type { eventWithTime } from '@rrweb/types';

View File

@@ -25,9 +25,9 @@
], ],
"scripts": { "scripts": {
"dev": "vite build --watch", "dev": "vite build --watch",
"build": "tsc -noEmit && vite build", "build": "yarn turbo run prepublish",
"check-types": "tsc -noEmit", "check-types": "tsc -noEmit",
"prepublish": "npm run build" "prepublish": "tsc -noEmit && vite build"
}, },
"repository": { "repository": {
"type": "git", "type": "git",
@@ -44,9 +44,9 @@
"homepage": "https://github.com/rrweb-io/rrweb#readme", "homepage": "https://github.com/rrweb-io/rrweb#readme",
"devDependencies": { "devDependencies": {
"rrweb": "^2.0.0-alpha.15", "rrweb": "^2.0.0-alpha.15",
"typescript": "^4.7.3", "typescript": "^5.4.5",
"vite": "^5.2.8", "vite": "^5.3.1",
"vite-plugin-dts": "^3.8.1" "vite-plugin-dts": "^3.9.1"
}, },
"peerDependencies": { "peerDependencies": {
"rrweb": "^2.0.0-alpha.15" "rrweb": "^2.0.0-alpha.15"

View File

@@ -25,9 +25,9 @@
], ],
"scripts": { "scripts": {
"dev": "vite build --watch", "dev": "vite build --watch",
"build": "tsc -noEmit && vite build", "build": "yarn turbo run prepublish",
"check-types": "tsc -noEmit", "check-types": "tsc -noEmit",
"prepublish": "npm run build" "prepublish": "tsc -noEmit && vite build"
}, },
"repository": { "repository": {
"type": "git", "type": "git",
@@ -45,9 +45,9 @@
"devDependencies": { "devDependencies": {
"@rrweb/rrweb-plugin-sequential-id-record": "^2.0.0-alpha.15", "@rrweb/rrweb-plugin-sequential-id-record": "^2.0.0-alpha.15",
"rrweb": "^2.0.0-alpha.15", "rrweb": "^2.0.0-alpha.15",
"typescript": "^4.7.3", "typescript": "^5.4.5",
"vite": "^5.2.8", "vite": "^5.3.1",
"vite-plugin-dts": "^3.8.1" "vite-plugin-dts": "^3.9.1"
}, },
"peerDependencies": { "peerDependencies": {
"rrweb": "^2.0.0-alpha.15" "rrweb": "^2.0.0-alpha.15"

View File

@@ -10,11 +10,11 @@
], ],
"scripts": { "scripts": {
"dev": "vite build --watch", "dev": "vite build --watch",
"build": "tsc -noEmit && vite build", "build": "yarn turbo run prepublish",
"test": "vitest run", "test": "vitest run",
"test:watch": "vitest watch", "test:watch": "vitest watch",
"check-types": "tsc -noEmit", "check-types": "tsc -noEmit",
"prepublish": "npm run build", "prepublish": "tsc -noEmit && vite build",
"lint": "yarn eslint src/**/*.ts" "lint": "yarn eslint src/**/*.ts"
}, },
"homepage": "https://github.com/rrweb-io/rrweb/tree/main/packages/@rrweb/record#readme", "homepage": "https://github.com/rrweb-io/rrweb/tree/main/packages/@rrweb/record#readme",
@@ -49,10 +49,10 @@
], ],
"devDependencies": { "devDependencies": {
"puppeteer": "^20.9.0", "puppeteer": "^20.9.0",
"vite": "^5.2.8", "vite": "^5.3.1",
"vite-plugin-dts": "^3.8.1", "vite-plugin-dts": "^3.9.1",
"vitest": "^1.4.0", "vitest": "^1.4.0",
"typescript": "^4.7.3" "typescript": "^5.4.5"
}, },
"dependencies": { "dependencies": {
"@rrweb/types": "^2.0.0-alpha.15", "@rrweb/types": "^2.0.0-alpha.15",

View File

@@ -10,11 +10,11 @@
], ],
"scripts": { "scripts": {
"dev": "vite build --watch", "dev": "vite build --watch",
"build": "tsc -noEmit && vite build", "build": "yarn turbo run prepublish",
"test": "vitest run", "test": "vitest run",
"test:watch": "vitest watch", "test:watch": "vitest watch",
"check-types": "tsc -noEmit", "check-types": "tsc -noEmit",
"prepublish": "npm run build", "prepublish": "tsc -noEmit && vite build",
"lint": "yarn eslint src/**/*.ts" "lint": "yarn eslint src/**/*.ts"
}, },
"homepage": "https://github.com/rrweb-io/rrweb/tree/main/packages/@rrweb/replay#readme", "homepage": "https://github.com/rrweb-io/rrweb/tree/main/packages/@rrweb/replay#readme",
@@ -50,10 +50,10 @@
], ],
"devDependencies": { "devDependencies": {
"puppeteer": "^20.9.0", "puppeteer": "^20.9.0",
"vite": "^5.2.8", "vite": "^5.3.1",
"vite-plugin-dts": "^3.8.1", "vite-plugin-dts": "^3.9.1",
"vitest": "^1.4.0", "vitest": "^1.4.0",
"typescript": "^4.7.3" "typescript": "^5.4.5"
}, },
"dependencies": { "dependencies": {
"@rrweb/types": "^2.0.0-alpha.15", "@rrweb/types": "^2.0.0-alpha.15",

View File

@@ -6,4 +6,9 @@ import {
} from 'rrweb'; } from 'rrweb';
import 'rrweb/dist/style.css'; import 'rrweb/dist/style.css';
export { Replayer, playerConfig, PlayerMachineState, SpeedMachineState }; export {
Replayer,
type playerConfig,
type PlayerMachineState,
type SpeedMachineState,
};

View File

@@ -3,11 +3,11 @@
"version": "2.0.0-alpha.15", "version": "2.0.0-alpha.15",
"scripts": { "scripts": {
"dev": "vite build --watch", "dev": "vite build --watch",
"build": "tsc -noEmit && vite build", "build": "yarn turbo run prepublish",
"check-types": "tsc -noEmit", "check-types": "tsc -noEmit",
"test": "vitest run", "test": "vitest run",
"test:watch": "vitest watch", "test:watch": "vitest watch",
"prepublish": "npm run build", "prepublish": "tsc -noEmit && vite build",
"lint": "yarn eslint src/**/*.ts" "lint": "yarn eslint src/**/*.ts"
}, },
"keywords": [ "keywords": [
@@ -46,10 +46,10 @@
"compare-versions": "^4.1.3", "compare-versions": "^4.1.3",
"eslint": "^8.15.0", "eslint": "^8.15.0",
"puppeteer": "^9.1.1", "puppeteer": "^9.1.1",
"vite": "^5.2.8", "vite": "^5.3.1",
"vite-plugin-dts": "^3.8.1", "vite-plugin-dts": "^3.9.1",
"vitest": "^1.4.0", "vitest": "^1.4.0",
"typescript": "^4.7.3" "typescript": "^5.4.5"
}, },
"dependencies": { "dependencies": {
"cssom": "^0.5.0", "cssom": "^0.5.0",
@@ -57,8 +57,5 @@
"nwsapi": "^2.2.0", "nwsapi": "^2.2.0",
"rrdom": "^2.0.0-alpha.15", "rrdom": "^2.0.0-alpha.15",
"rrweb-snapshot": "^2.0.0-alpha.15" "rrweb-snapshot": "^2.0.0-alpha.15"
}, }
"browserslist": [
"supports es6-class"
]
} }

View File

@@ -12,8 +12,8 @@ import {
BaseRRNode, BaseRRNode,
BaseRRText, BaseRRText,
ClassList, ClassList,
IRRDocument, type IRRDocument,
CSSStyleDeclaration, type CSSStyleDeclaration,
} from 'rrdom'; } from 'rrdom';
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-var-requires // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-var-requires
const nwsapi = require('nwsapi'); const nwsapi = require('nwsapi');

View File

@@ -30,11 +30,11 @@
}, },
"scripts": { "scripts": {
"dev": "vite build --watch", "dev": "vite build --watch",
"build": "tsc -noEmit && vite build", "build": "yarn turbo run prepublish",
"check-types": "tsc -noEmit", "check-types": "tsc -noEmit",
"test": "vitest run", "test": "vitest run",
"test:watch": "vitest", "test:watch": "vitest",
"prepublish": "npm run build", "prepublish": "tsc -noEmit && vite build",
"lint": "yarn eslint src/**/*.ts" "lint": "yarn eslint src/**/*.ts"
}, },
"bugs": { "bugs": {
@@ -47,9 +47,9 @@
"@typescript-eslint/parser": "^5.23.0", "@typescript-eslint/parser": "^5.23.0",
"eslint": "^8.15.0", "eslint": "^8.15.0",
"puppeteer": "^17.1.3", "puppeteer": "^17.1.3",
"typescript": "^4.9.0", "typescript": "^5.4.5",
"vite": "^5.2.8", "vite": "^5.3.1",
"vite-plugin-dts": "^3.8.1" "vite-plugin-dts": "^3.9.1"
}, },
"dependencies": { "dependencies": {
"rrweb-snapshot": "^2.0.0-alpha.15" "rrweb-snapshot": "^2.0.0-alpha.15"

View File

@@ -1,7 +1,7 @@
import { import {
NodeType as RRNodeType, NodeType as RRNodeType,
Mirror as NodeMirror, Mirror as NodeMirror,
elementNode, type elementNode,
} from 'rrweb-snapshot'; } from 'rrweb-snapshot';
import type { import type {
canvasMutationData, canvasMutationData,

View File

@@ -16,7 +16,7 @@
"svelte-preprocess": "^5.0.3", "svelte-preprocess": "^5.0.3",
"svelte2tsx": "^0.7.6", "svelte2tsx": "^0.7.6",
"tslib": "^2.0.0", "tslib": "^2.0.0",
"vite": "^5.2.8" "vite": "^5.3.1"
}, },
"dependencies": { "dependencies": {
"@tsconfig/svelte": "^1.0.0", "@tsconfig/svelte": "^1.0.0",

View File

@@ -11,9 +11,9 @@
"retest:update": "vitest run --update", "retest:update": "vitest run --update",
"test:update": "yarn build && vitest run --update", "test:update": "yarn build && vitest run --update",
"dev": "vite build --watch", "dev": "vite build --watch",
"build": "yarn check-types && vite build", "build": "yarn turbo prepublish -F rrweb-snapshot",
"check-types": "tsc --noEmit", "check-types": "tsc --noEmit",
"prepublish": "npm run build", "prepublish": "yarn check-types && vite build",
"lint": "yarn eslint src" "lint": "yarn eslint src"
}, },
"type": "module", "type": "module",
@@ -59,9 +59,9 @@
"puppeteer": "^17.1.3", "puppeteer": "^17.1.3",
"ts-node": "^7.0.1", "ts-node": "^7.0.1",
"tslib": "^1.9.3", "tslib": "^1.9.3",
"typescript": "^4.7.3", "typescript": "^5.4.5",
"vite": "^5.2.8", "vite": "^5.3.1",
"vite-plugin-dts": "^3.8.1", "vite-plugin-dts": "^3.9.1",
"vitest": "^1.4.0" "vitest": "^1.4.0"
} }
} }

View File

@@ -1,11 +1,11 @@
import { Rule, Media, NodeWithRules, parse } from './css'; import { type Rule, type Media, type NodeWithRules, parse } from './css';
import { import {
serializedNodeWithId, type serializedNodeWithId,
NodeType, NodeType,
tagMap, type tagMap,
elementNode, type elementNode,
BuildCache, type BuildCache,
legacyAttributes, type legacyAttributes,
} from './types'; } from './types';
import { isElement, Mirror, isNodeMetaEqual } from './utils'; import { isElement, Mirror, isNodeMetaEqual } from './utils';

View File

@@ -1,17 +1,17 @@
import { import {
serializedNode, type serializedNode,
serializedNodeWithId, type serializedNodeWithId,
NodeType, NodeType,
attributes, type attributes,
MaskInputOptions, type MaskInputOptions,
SlimDOMOptions, type SlimDOMOptions,
DataURLOptions, type DataURLOptions,
MaskTextFn, type MaskTextFn,
MaskInputFn, type MaskInputFn,
KeepIframeSrcFn, type KeepIframeSrcFn,
ICanvas, type ICanvas,
elementNode, type elementNode,
serializedElementNodeWithId, type serializedElementNodeWithId,
type mediaAttributes, type mediaAttributes,
} from './types'; } from './types';
import { import {

View File

@@ -1,4 +1,4 @@
import { import type {
idNodeMap, idNodeMap,
MaskInputFn, MaskInputFn,
MaskInputOptions, MaskInputOptions,
@@ -6,12 +6,12 @@ import {
IMirror, IMirror,
serializedNodeWithId, serializedNodeWithId,
serializedNode, serializedNode,
NodeType,
documentNode, documentNode,
documentTypeNode, documentTypeNode,
textNode, textNode,
elementNode, elementNode,
} from './types'; } from './types';
import { NodeType } from './types';
export function isElement(n: Node): n is Element { export function isElement(n: Node): n is Element {
return n.nodeType === n.ELEMENT_NODE; return n.nodeType === n.ELEMENT_NODE;

View File

@@ -16,9 +16,9 @@
"repl": "yarn build && node scripts/repl.js", "repl": "yarn build && node scripts/repl.js",
"live-stream": "yarn build && node scripts/stream.js", "live-stream": "yarn build && node scripts/stream.js",
"dev": "vite build --watch", "dev": "vite build --watch",
"build": "tsc -noEmit && vite build", "build": "yarn turbo run prepublish",
"check-types": "tsc -noEmit", "check-types": "tsc -noEmit",
"prepublish": "npm run build", "prepublish": "tsc -noEmit && vite build",
"lint": "yarn eslint src", "lint": "yarn eslint src",
"benchmark": "vitest run --maxConcurrency 1 --no-file-parallelism test/benchmark" "benchmark": "vitest run --maxConcurrency 1 --no-file-parallelism test/benchmark"
}, },
@@ -74,9 +74,9 @@
"simple-peer-light": "^9.10.0", "simple-peer-light": "^9.10.0",
"ts-node": "^10.9.1", "ts-node": "^10.9.1",
"tslib": "^2.3.1", "tslib": "^2.3.1",
"typescript": "^4.7.3", "typescript": "^5.4.5",
"vite": "^5.2.8", "vite": "^5.3.1",
"vite-plugin-dts": "^3.8.1" "vite-plugin-dts": "^3.9.1"
}, },
"dependencies": { "dependencies": {
"@rrweb/types": "^2.0.0-alpha.15", "@rrweb/types": "^2.0.0-alpha.15",

View File

@@ -17,6 +17,9 @@ export {
type eventWithTime, type eventWithTime,
} from '@rrweb/types'; } from '@rrweb/types';
// exports style.css from replay
import './replay/styles/style.css';
export type { recordOptions, ReplayPlugin } from './types'; export type { recordOptions, ReplayPlugin } from './types';
const { addCustomEvent } = record; const { addCustomEvent } = record;
@@ -27,9 +30,9 @@ export {
addCustomEvent, addCustomEvent,
freezePage, freezePage,
Replayer, Replayer,
playerConfig, type playerConfig,
PlayerMachineState, type PlayerMachineState,
SpeedMachineState, type SpeedMachineState,
canvasMutation, canvasMutation,
_mirror as mirror, _mirror as mirror,
utils, utils,

View File

@@ -1,7 +1,7 @@
import { import {
snapshot, snapshot,
MaskInputOptions, type MaskInputOptions,
SlimDOMOptions, type SlimDOMOptions,
createMirror, createMirror,
} from 'rrweb-snapshot'; } from 'rrweb-snapshot';
import { initObservers, mutationBuffers } from './observer'; import { initObservers, mutationBuffers } from './observer';
@@ -19,14 +19,14 @@ import {
import type { recordOptions } from '../types'; import type { recordOptions } from '../types';
import { import {
EventType, EventType,
eventWithoutTime, type eventWithoutTime,
eventWithTime, type eventWithTime,
IncrementalSource, IncrementalSource,
listenerHandler, type listenerHandler,
mutationCallbackParam, type mutationCallbackParam,
scrollCallback, type scrollCallback,
canvasMutationParam, type canvasMutationParam,
adoptedStyleSheetParam, type adoptedStyleSheetParam,
} from '@rrweb/types'; } from '@rrweb/types';
import type { CrossOriginIframeMessageEventContent } from '../types'; import type { CrossOriginIframeMessageEventContent } from '../types';
import { IframeManager } from './iframe-manager'; import { IframeManager } from './iframe-manager';

View File

@@ -1,5 +1,5 @@
import { import {
MaskInputOptions, type MaskInputOptions,
maskInputValue, maskInputValue,
Mirror, Mirror,
getInputType, getInputType,
@@ -21,12 +21,16 @@ import {
} from '../utils'; } from '../utils';
import type { observerParam, MutationBufferParam } from '../types'; import type { observerParam, MutationBufferParam } from '../types';
import { import {
IncrementalSource,
MouseInteractions,
PointerTypes,
MediaInteractions,
} from '@rrweb/types';
import type {
mutationCallBack, mutationCallBack,
mousemoveCallBack, mousemoveCallBack,
mousePosition, mousePosition,
mouseInteractionCallBack, mouseInteractionCallBack,
MouseInteractions,
PointerTypes,
listenerHandler, listenerHandler,
scrollCallback, scrollCallback,
styleSheetRuleCallback, styleSheetRuleCallback,
@@ -34,11 +38,9 @@ import {
inputValue, inputValue,
inputCallback, inputCallback,
hookResetter, hookResetter,
IncrementalSource,
hooksParam, hooksParam,
Arguments, Arguments,
mediaInteractionCallback, mediaInteractionCallback,
MediaInteractions,
canvasMutationCallback, canvasMutationCallback,
fontCallback, fontCallback,
fontParam, fontParam,

View File

@@ -1,9 +1,9 @@
import { import {
blockClass, type blockClass,
CanvasContext, CanvasContext,
canvasManagerMutationCallback, type canvasManagerMutationCallback,
IWindow, type IWindow,
listenerHandler, type listenerHandler,
} from '@rrweb/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

@@ -262,7 +262,6 @@ export class CanvasManager {
win, win,
blockClass, blockClass,
blockSelector, blockSelector,
this.mirror,
); );
this.resetObservers = () => { this.resetObservers = () => {

View File

@@ -1,11 +1,10 @@
import type { Mirror } from 'rrweb-snapshot';
import { import {
blockClass, type blockClass,
CanvasContext, CanvasContext,
canvasManagerMutationCallback, type canvasManagerMutationCallback,
canvasMutationWithType, type canvasMutationWithType,
IWindow, type IWindow,
listenerHandler, type listenerHandler,
} from '@rrweb/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';
@@ -16,7 +15,6 @@ function patchGLPrototype(
cb: canvasManagerMutationCallback, cb: canvasManagerMutationCallback,
blockClass: blockClass, blockClass: blockClass,
blockSelector: string | null, blockSelector: string | null,
_mirror: Mirror,
win: IWindow, win: IWindow,
): listenerHandler[] { ): listenerHandler[] {
const handlers: listenerHandler[] = []; const handlers: listenerHandler[] = [];
@@ -93,7 +91,6 @@ export default function initCanvasWebGLMutationObserver(
win: IWindow, win: IWindow,
blockClass: blockClass, blockClass: blockClass,
blockSelector: string | null, blockSelector: string | null,
mirror: Mirror,
): listenerHandler { ): listenerHandler {
const handlers: listenerHandler[] = []; const handlers: listenerHandler[] = [];
@@ -104,7 +101,6 @@ export default function initCanvasWebGLMutationObserver(
cb, cb,
blockClass, blockClass,
blockSelector, blockSelector,
mirror,
win, win,
), ),
); );
@@ -117,7 +113,6 @@ export default function initCanvasWebGLMutationObserver(
cb, cb,
blockClass, blockClass,
blockSelector, blockSelector,
mirror,
win, win,
), ),
); );

View File

@@ -1,9 +1,9 @@
import type { Replayer } from '..'; import type { Replayer } from '..';
import { import {
CanvasContext, CanvasContext,
canvasMutationCommand, type canvasMutationCommand,
canvasMutationData, type canvasMutationData,
canvasMutationParam, type canvasMutationParam,
} from '@rrweb/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 '@rrweb/types'; import { CanvasContext, type canvasMutationCommand } from '@rrweb/types';
import { deserializeArg, variableListFor } from './deserialize-args'; import { deserializeArg, variableListFor } from './deserialize-args';
function getContext( function getContext(

View File

@@ -2,12 +2,12 @@ import {
rebuild, rebuild,
buildNodeWithSN, buildNodeWithSN,
NodeType, NodeType,
BuildCache, type BuildCache,
createCache, createCache,
Mirror, Mirror,
createMirror, createMirror,
attributes, type attributes,
serializedElementNodeWithId, type serializedElementNodeWithId,
toLowerCase, toLowerCase,
} from 'rrweb-snapshot'; } from 'rrweb-snapshot';
import { import {
@@ -41,15 +41,17 @@ import type { playerConfig, missingNodeMap } from '../types';
import { import {
EventType, EventType,
IncrementalSource, IncrementalSource,
MouseInteractions,
ReplayerEvents,
} from '@rrweb/types';
import type {
fullSnapshotEvent, fullSnapshotEvent,
eventWithTime, eventWithTime,
MouseInteractions,
playerMetaData, playerMetaData,
viewportResizeDimension, viewportResizeDimension,
addedNodeMutation, addedNodeMutation,
incrementalSnapshotEvent, incrementalSnapshotEvent,
incrementalData, incrementalData,
ReplayerEvents,
Handler, Handler,
Emitter, Emitter,
metaEvent, metaEvent,
@@ -72,7 +74,7 @@ import {
polyfill, polyfill,
queueToResolveTrees, queueToResolveTrees,
iterateResolveTree, iterateResolveTree,
AppendedIframe, type AppendedIframe,
getBaseDimension, getBaseDimension,
hasShadowRoot, hasShadowRoot,
isSerializedIframe, isSerializedIframe,
@@ -2228,4 +2230,4 @@ export class Replayer {
} }
} }
export { PlayerMachineState, SpeedMachineState, playerConfig }; export { type PlayerMachineState, type SpeedMachineState, type playerConfig };

View File

@@ -1,10 +1,15 @@
import { createMachine, interpret, assign, StateMachine } from '@xstate/fsm'; import {
createMachine,
interpret,
assign,
type StateMachine,
} from '@xstate/fsm';
import type { playerConfig } from '../types'; import type { playerConfig } from '../types';
import { import {
eventWithTime, type eventWithTime,
ReplayerEvents, ReplayerEvents,
EventType, EventType,
Emitter, type Emitter,
IncrementalSource, IncrementalSource,
} from '@rrweb/types'; } from '@rrweb/types';
import { Timer, addDelay } from './timer'; import { Timer, addDelay } from './timer';

View File

@@ -1,4 +1,4 @@
import { Emitter, MediaInteractions, ReplayerEvents } from '@rrweb/types'; import { type Emitter, MediaInteractions, ReplayerEvents } from '@rrweb/types';
import type { RRMediaElement } from 'rrdom'; import type { RRMediaElement } from 'rrdom';
import type { createPlayerService, createSpeedService } from '../machine'; import type { createPlayerService, createSpeedService } from '../machine';
import type { Mirror, mediaAttributes } from 'rrweb-snapshot'; import type { Mirror, mediaAttributes } from 'rrweb-snapshot';

View File

@@ -1,6 +1,6 @@
import { import {
actionWithDelay, type actionWithDelay,
eventWithTime, type eventWithTime,
EventType, EventType,
IncrementalSource, IncrementalSource,
} from '@rrweb/types'; } from '@rrweb/types';

View File

@@ -10,9 +10,9 @@
], ],
"scripts": { "scripts": {
"dev": "vite build --watch", "dev": "vite build --watch",
"build": "tsc -noEmit && vite build", "build": "yarn turbo run prepublish",
"check-types": "tsc -noEmit", "check-types": "tsc -noEmit",
"prepublish": "npm run build", "prepublish": "tsc -noEmit && vite build",
"lint": "yarn eslint src/**/*.ts" "lint": "yarn eslint src/**/*.ts"
}, },
"homepage": "https://github.com/rrweb-io/rrweb/tree/main/packages/@rrweb/types#readme", "homepage": "https://github.com/rrweb-io/rrweb/tree/main/packages/@rrweb/types#readme",
@@ -46,8 +46,8 @@
"package.json" "package.json"
], ],
"devDependencies": { "devDependencies": {
"vite": "^5.2.8", "vite": "^5.3.1",
"vite-plugin-dts": "^3.8.1" "vite-plugin-dts": "^3.9.1"
}, },
"dependencies": { "dependencies": {
"rrweb-snapshot": "^2.0.0-alpha.15" "rrweb-snapshot": "^2.0.0-alpha.15"

View File

@@ -23,7 +23,7 @@
"@types/webextension-polyfill": "^0.9.1", "@types/webextension-polyfill": "^0.9.1",
"@vitejs/plugin-react": "^4.2.1", "@vitejs/plugin-react": "^4.2.1",
"type-fest": "^2.19.0", "type-fest": "^2.19.0",
"vite": "^5.2.8", "vite": "^5.3.1",
"vite-plugin-web-extension": "^4.1.3", "vite-plugin-web-extension": "^4.1.3",
"vite-plugin-zip-pack": "^1.2.2", "vite-plugin-zip-pack": "^1.2.2",
"webextension-polyfill": "^0.10.0" "webextension-polyfill": "^0.10.0"

View File

@@ -2,11 +2,11 @@ import Browser from 'webextension-polyfill';
import type { eventWithTime } from '@rrweb/types'; import type { eventWithTime } from '@rrweb/types';
import Channel from '~/utils/channel'; import Channel from '~/utils/channel';
import { import {
LocalData, type LocalData,
LocalDataKey, LocalDataKey,
RecorderStatus, RecorderStatus,
Settings, type Settings,
SyncData, type SyncData,
SyncDataKey, SyncDataKey,
} from '~/types'; } from '~/types';
import { pauseRecording, resumeRecording } from '~/utils/recording'; import { pauseRecording, resumeRecording } from '~/utils/recording';

View File

@@ -1,4 +1,4 @@
import { Button, ButtonProps } from '@chakra-ui/react'; import { Button, type ButtonProps } from '@chakra-ui/react';
interface CircleButtonProps extends ButtonProps { interface CircleButtonProps extends ButtonProps {
diameter: number; diameter: number;

View File

@@ -12,8 +12,8 @@ import {
Drawer, Drawer,
DrawerContent, DrawerContent,
useDisclosure, useDisclosure,
BoxProps, type BoxProps,
FlexProps, type FlexProps,
Heading, Heading,
Stack, Stack,
Text, Text,

View File

@@ -1,16 +1,16 @@
import Browser, { Storage } from 'webextension-polyfill'; import Browser, { type Storage } from 'webextension-polyfill';
import { nanoid } from 'nanoid'; import { nanoid } from 'nanoid';
import type { eventWithTime } from '@rrweb/types'; import type { eventWithTime } from '@rrweb/types';
import { import {
LocalData, type LocalData,
LocalDataKey, LocalDataKey,
RecorderStatus, RecorderStatus,
ServiceName, ServiceName,
Session, type Session,
RecordStartedMessage, type RecordStartedMessage,
RecordStoppedMessage, type RecordStoppedMessage,
MessageName, MessageName,
EmitEventMessage, type EmitEventMessage,
} from '~/types'; } from '~/types';
import Channel from '~/utils/channel'; import Channel from '~/utils/channel';
import { isInCrossOriginIFrame } from '~/utils'; import { isInCrossOriginIFrame } from '~/utils';

View File

@@ -1,7 +1,7 @@
import { record } from 'rrweb'; import { record } from 'rrweb';
import type { recordOptions } from 'rrweb'; import type { recordOptions } from 'rrweb';
import type { eventWithTime } from '@rrweb/types'; import type { eventWithTime } from '@rrweb/types';
import { MessageName, RecordStartedMessage } from '~/types'; import { MessageName, type RecordStartedMessage } from '~/types';
import { isInCrossOriginIFrame } from '~/utils'; import { isInCrossOriginIFrame } from '~/utils';
/** /**

View File

@@ -23,13 +23,13 @@ import {
useReactTable, useReactTable,
flexRender, flexRender,
getCoreRowModel, getCoreRowModel,
SortingState, type SortingState,
getSortedRowModel, getSortedRowModel,
PaginationState, type PaginationState,
} from '@tanstack/react-table'; } from '@tanstack/react-table';
import { VscTriangleDown, VscTriangleUp } from 'react-icons/vsc'; import { VscTriangleDown, VscTriangleUp } from 'react-icons/vsc';
import { useNavigate } from 'react-router-dom'; import { useNavigate } from 'react-router-dom';
import { Session, EventName } from '~/types'; import { type Session, EventName } from '~/types';
import Channel from '~/utils/channel'; import Channel from '~/utils/channel';
import { deleteSessions, getAllSessions } from '~/utils/storage'; import { deleteSessions, getAllSessions } from '~/utils/storage';
import { import {

View File

@@ -10,16 +10,13 @@ import {
} from '@chakra-ui/react'; } from '@chakra-ui/react';
import { FiSettings, FiList, FiPause, FiPlay } from 'react-icons/fi'; import { FiSettings, FiList, FiPause, FiPlay } from 'react-icons/fi';
import Channel from '~/utils/channel'; import Channel from '~/utils/channel';
import { import type {
LocalData, LocalData,
LocalDataKey,
RecorderStatus,
ServiceName,
RecordStartedMessage, RecordStartedMessage,
RecordStoppedMessage, RecordStoppedMessage,
Session, Session,
EventName,
} from '~/types'; } from '~/types';
import { LocalDataKey, RecorderStatus, ServiceName, EventName } from '~/types';
import Browser from 'webextension-polyfill'; import Browser from 'webextension-polyfill';
import { CircleButton } from '~/components/CircleButton'; import { CircleButton } from '~/components/CircleButton';
import { Timer } from './Timer'; import { Timer } from './Timer';
@@ -39,9 +36,8 @@ export function App() {
void Browser.storage.local.get(LocalDataKey.recorderStatus).then((data) => { void Browser.storage.local.get(LocalDataKey.recorderStatus).then((data) => {
const localData = data as LocalData; const localData = data as LocalData;
if (!localData || !localData[LocalDataKey.recorderStatus]) return; if (!localData || !localData[LocalDataKey.recorderStatus]) return;
const { status, startTimestamp, pausedTimestamp } = localData[ const { status, startTimestamp, pausedTimestamp } =
LocalDataKey.recorderStatus localData[LocalDataKey.recorderStatus];
];
setStatus(status); setStatus(status);
if (startTimestamp && pausedTimestamp) if (startTimestamp && pausedTimestamp)
setStartTime(Date.now() - pausedTimestamp + startTimestamp || 0); setStartTime(Date.now() - pausedTimestamp + startTimestamp || 0);

View File

@@ -1,5 +1,5 @@
import mitt from 'mitt'; import mitt from 'mitt';
import Browser, { Runtime } from 'webextension-polyfill'; import Browser, { type Runtime } from 'webextension-polyfill';
export type Message = EventType | ServiceType; export type Message = EventType | ServiceType;
export type EventType = { export type EventType = {

View File

@@ -2,11 +2,11 @@ import Browser from 'webextension-polyfill';
import type { eventWithTime } from '@rrweb/types'; import type { eventWithTime } from '@rrweb/types';
import { import {
LocalData, type LocalData,
LocalDataKey, LocalDataKey,
RecorderStatus, RecorderStatus,
RecordStartedMessage, type RecordStartedMessage,
RecordStoppedMessage, type RecordStoppedMessage,
ServiceName, ServiceName,
} from '~/types'; } from '~/types';
import type Channel from './channel'; import type Channel from './channel';

View File

@@ -14,7 +14,7 @@
"sourceMap": true, "sourceMap": true,
"skipLibCheck": true, "skipLibCheck": true,
"declaration": true, "declaration": true,
"importsNotUsedAsValues": "error", "verbatimModuleSyntax": true,
"strict": true, "strict": true,
"removeComments": true, "removeComments": true,
"noImplicitAny": true, "noImplicitAny": true,

View File

@@ -9,7 +9,7 @@
], ],
"tasks": { "tasks": {
"prepublish": { "prepublish": {
"dependsOn": ["^prepublish"], "dependsOn": ["^prepublish", "//#references:update"],
"outputs": [ "outputs": [
"lib/**", "lib/**",
"es/**", "es/**",
@@ -25,19 +25,28 @@
}, },
"test:watch": { "test:watch": {
"persistent": true, "persistent": true,
"passThroughEnv": ["PUPPETEER_HEADLESS"] "passThroughEnv": ["PUPPETEER_HEADLESS"],
"cache": false
}, },
"test:update": { "test:update": {
"dependsOn": ["^prepublish"], "dependsOn": ["^prepublish"],
"passThroughEnv": ["PUPPETEER_HEADLESS"] "passThroughEnv": ["PUPPETEER_HEADLESS"]
}, },
"dev": { "dev": {
// "dependsOn": ["^prepublish"], "dependsOn": ["prepublish", "^prepublish"],
"persistent": true, "persistent": true,
"cache": false, "cache": false
"passThroughEnv": ["CLEAR_DIST_DIR"]
}, },
"lint": {}, "lint": {},
"check-types": {} "check-types": {
"dependsOn": ["//#references:update"]
},
"//#references:update": {
"inputs": ["packages/*/package.json", "packages/plugins/*/package.json"],
"outputs": [
"packages/*/tsconfig.json",
"packages/plugins/*/tsconfig.json"
]
}
} }
} }

View File

@@ -7,7 +7,8 @@ import { build, Format } from 'esbuild';
import { resolve } from 'path'; import { resolve } from 'path';
import { umdWrapper } from 'esbuild-plugin-umd-wrapper'; import { umdWrapper } from 'esbuild-plugin-umd-wrapper';
const emptyOutDir = process.env.CLEAR_DIST_DIR !== 'false'; // don't empty out dir if --watch flag is passed
const emptyOutDir = !process.argv.includes('--watch');
function minifyAndUMDPlugin({ function minifyAndUMDPlugin({
name, name,

243
yarn.lock
View File

@@ -1866,116 +1866,231 @@
resolved "https://registry.yarnpkg.com/@esbuild/aix-ppc64/-/aix-ppc64-0.20.2.tgz#a70f4ac11c6a1dfc18b8bbb13284155d933b9537" resolved "https://registry.yarnpkg.com/@esbuild/aix-ppc64/-/aix-ppc64-0.20.2.tgz#a70f4ac11c6a1dfc18b8bbb13284155d933b9537"
integrity sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g== integrity sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==
"@esbuild/aix-ppc64@0.21.5":
version "0.21.5"
resolved "https://registry.yarnpkg.com/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz#c7184a326533fcdf1b8ee0733e21c713b975575f"
integrity sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==
"@esbuild/android-arm64@0.20.2": "@esbuild/android-arm64@0.20.2":
version "0.20.2" version "0.20.2"
resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.20.2.tgz#db1c9202a5bc92ea04c7b6840f1bbe09ebf9e6b9" resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.20.2.tgz#db1c9202a5bc92ea04c7b6840f1bbe09ebf9e6b9"
integrity sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg== integrity sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==
"@esbuild/android-arm64@0.21.5":
version "0.21.5"
resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz#09d9b4357780da9ea3a7dfb833a1f1ff439b4052"
integrity sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==
"@esbuild/android-arm@0.20.2": "@esbuild/android-arm@0.20.2":
version "0.20.2" version "0.20.2"
resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.20.2.tgz#3b488c49aee9d491c2c8f98a909b785870d6e995" resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.20.2.tgz#3b488c49aee9d491c2c8f98a909b785870d6e995"
integrity sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w== integrity sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==
"@esbuild/android-arm@0.21.5":
version "0.21.5"
resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.21.5.tgz#9b04384fb771926dfa6d7ad04324ecb2ab9b2e28"
integrity sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==
"@esbuild/android-x64@0.20.2": "@esbuild/android-x64@0.20.2":
version "0.20.2" version "0.20.2"
resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.20.2.tgz#3b1628029e5576249d2b2d766696e50768449f98" resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.20.2.tgz#3b1628029e5576249d2b2d766696e50768449f98"
integrity sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg== integrity sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==
"@esbuild/android-x64@0.21.5":
version "0.21.5"
resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.21.5.tgz#29918ec2db754cedcb6c1b04de8cd6547af6461e"
integrity sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==
"@esbuild/darwin-arm64@0.20.2": "@esbuild/darwin-arm64@0.20.2":
version "0.20.2" version "0.20.2"
resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.20.2.tgz#6e8517a045ddd86ae30c6608c8475ebc0c4000bb" resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.20.2.tgz#6e8517a045ddd86ae30c6608c8475ebc0c4000bb"
integrity sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA== integrity sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==
"@esbuild/darwin-arm64@0.21.5":
version "0.21.5"
resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz#e495b539660e51690f3928af50a76fb0a6ccff2a"
integrity sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==
"@esbuild/darwin-x64@0.20.2": "@esbuild/darwin-x64@0.20.2":
version "0.20.2" version "0.20.2"
resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.20.2.tgz#90ed098e1f9dd8a9381695b207e1cff45540a0d0" resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.20.2.tgz#90ed098e1f9dd8a9381695b207e1cff45540a0d0"
integrity sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA== integrity sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==
"@esbuild/darwin-x64@0.21.5":
version "0.21.5"
resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz#c13838fa57372839abdddc91d71542ceea2e1e22"
integrity sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==
"@esbuild/freebsd-arm64@0.20.2": "@esbuild/freebsd-arm64@0.20.2":
version "0.20.2" version "0.20.2"
resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.20.2.tgz#d71502d1ee89a1130327e890364666c760a2a911" resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.20.2.tgz#d71502d1ee89a1130327e890364666c760a2a911"
integrity sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw== integrity sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==
"@esbuild/freebsd-arm64@0.21.5":
version "0.21.5"
resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz#646b989aa20bf89fd071dd5dbfad69a3542e550e"
integrity sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==
"@esbuild/freebsd-x64@0.20.2": "@esbuild/freebsd-x64@0.20.2":
version "0.20.2" version "0.20.2"
resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.20.2.tgz#aa5ea58d9c1dd9af688b8b6f63ef0d3d60cea53c" resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.20.2.tgz#aa5ea58d9c1dd9af688b8b6f63ef0d3d60cea53c"
integrity sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw== integrity sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==
"@esbuild/freebsd-x64@0.21.5":
version "0.21.5"
resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz#aa615cfc80af954d3458906e38ca22c18cf5c261"
integrity sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==
"@esbuild/linux-arm64@0.20.2": "@esbuild/linux-arm64@0.20.2":
version "0.20.2" version "0.20.2"
resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.20.2.tgz#055b63725df678379b0f6db9d0fa85463755b2e5" resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.20.2.tgz#055b63725df678379b0f6db9d0fa85463755b2e5"
integrity sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A== integrity sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==
"@esbuild/linux-arm64@0.21.5":
version "0.21.5"
resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz#70ac6fa14f5cb7e1f7f887bcffb680ad09922b5b"
integrity sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==
"@esbuild/linux-arm@0.20.2": "@esbuild/linux-arm@0.20.2":
version "0.20.2" version "0.20.2"
resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.20.2.tgz#76b3b98cb1f87936fbc37f073efabad49dcd889c" resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.20.2.tgz#76b3b98cb1f87936fbc37f073efabad49dcd889c"
integrity sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg== integrity sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==
"@esbuild/linux-arm@0.21.5":
version "0.21.5"
resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz#fc6fd11a8aca56c1f6f3894f2bea0479f8f626b9"
integrity sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==
"@esbuild/linux-ia32@0.20.2": "@esbuild/linux-ia32@0.20.2":
version "0.20.2" version "0.20.2"
resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.20.2.tgz#c0e5e787c285264e5dfc7a79f04b8b4eefdad7fa" resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.20.2.tgz#c0e5e787c285264e5dfc7a79f04b8b4eefdad7fa"
integrity sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig== integrity sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==
"@esbuild/linux-ia32@0.21.5":
version "0.21.5"
resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz#3271f53b3f93e3d093d518d1649d6d68d346ede2"
integrity sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==
"@esbuild/linux-loong64@0.20.2": "@esbuild/linux-loong64@0.20.2":
version "0.20.2" version "0.20.2"
resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.20.2.tgz#a6184e62bd7cdc63e0c0448b83801001653219c5" resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.20.2.tgz#a6184e62bd7cdc63e0c0448b83801001653219c5"
integrity sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ== integrity sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==
"@esbuild/linux-loong64@0.21.5":
version "0.21.5"
resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz#ed62e04238c57026aea831c5a130b73c0f9f26df"
integrity sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==
"@esbuild/linux-mips64el@0.20.2": "@esbuild/linux-mips64el@0.20.2":
version "0.20.2" version "0.20.2"
resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.20.2.tgz#d08e39ce86f45ef8fc88549d29c62b8acf5649aa" resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.20.2.tgz#d08e39ce86f45ef8fc88549d29c62b8acf5649aa"
integrity sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA== integrity sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==
"@esbuild/linux-mips64el@0.21.5":
version "0.21.5"
resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz#e79b8eb48bf3b106fadec1ac8240fb97b4e64cbe"
integrity sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==
"@esbuild/linux-ppc64@0.20.2": "@esbuild/linux-ppc64@0.20.2":
version "0.20.2" version "0.20.2"
resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.20.2.tgz#8d252f0b7756ffd6d1cbde5ea67ff8fd20437f20" resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.20.2.tgz#8d252f0b7756ffd6d1cbde5ea67ff8fd20437f20"
integrity sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg== integrity sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==
"@esbuild/linux-ppc64@0.21.5":
version "0.21.5"
resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz#5f2203860a143b9919d383ef7573521fb154c3e4"
integrity sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==
"@esbuild/linux-riscv64@0.20.2": "@esbuild/linux-riscv64@0.20.2":
version "0.20.2" version "0.20.2"
resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.20.2.tgz#19f6dcdb14409dae607f66ca1181dd4e9db81300" resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.20.2.tgz#19f6dcdb14409dae607f66ca1181dd4e9db81300"
integrity sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg== integrity sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==
"@esbuild/linux-riscv64@0.21.5":
version "0.21.5"
resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz#07bcafd99322d5af62f618cb9e6a9b7f4bb825dc"
integrity sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==
"@esbuild/linux-s390x@0.20.2": "@esbuild/linux-s390x@0.20.2":
version "0.20.2" version "0.20.2"
resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.20.2.tgz#3c830c90f1a5d7dd1473d5595ea4ebb920988685" resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.20.2.tgz#3c830c90f1a5d7dd1473d5595ea4ebb920988685"
integrity sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ== integrity sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==
"@esbuild/linux-s390x@0.21.5":
version "0.21.5"
resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz#b7ccf686751d6a3e44b8627ababc8be3ef62d8de"
integrity sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==
"@esbuild/linux-x64@0.20.2": "@esbuild/linux-x64@0.20.2":
version "0.20.2" version "0.20.2"
resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.20.2.tgz#86eca35203afc0d9de0694c64ec0ab0a378f6fff" resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.20.2.tgz#86eca35203afc0d9de0694c64ec0ab0a378f6fff"
integrity sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw== integrity sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==
"@esbuild/linux-x64@0.21.5":
version "0.21.5"
resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz#6d8f0c768e070e64309af8004bb94e68ab2bb3b0"
integrity sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==
"@esbuild/netbsd-x64@0.20.2": "@esbuild/netbsd-x64@0.20.2":
version "0.20.2" version "0.20.2"
resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.20.2.tgz#e771c8eb0e0f6e1877ffd4220036b98aed5915e6" resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.20.2.tgz#e771c8eb0e0f6e1877ffd4220036b98aed5915e6"
integrity sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ== integrity sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==
"@esbuild/netbsd-x64@0.21.5":
version "0.21.5"
resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz#bbe430f60d378ecb88decb219c602667387a6047"
integrity sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==
"@esbuild/openbsd-x64@0.20.2": "@esbuild/openbsd-x64@0.20.2":
version "0.20.2" version "0.20.2"
resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.20.2.tgz#9a795ae4b4e37e674f0f4d716f3e226dd7c39baf" resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.20.2.tgz#9a795ae4b4e37e674f0f4d716f3e226dd7c39baf"
integrity sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ== integrity sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==
"@esbuild/openbsd-x64@0.21.5":
version "0.21.5"
resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz#99d1cf2937279560d2104821f5ccce220cb2af70"
integrity sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==
"@esbuild/sunos-x64@0.20.2": "@esbuild/sunos-x64@0.20.2":
version "0.20.2" version "0.20.2"
resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.20.2.tgz#7df23b61a497b8ac189def6e25a95673caedb03f" resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.20.2.tgz#7df23b61a497b8ac189def6e25a95673caedb03f"
integrity sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w== integrity sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==
"@esbuild/sunos-x64@0.21.5":
version "0.21.5"
resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz#08741512c10d529566baba837b4fe052c8f3487b"
integrity sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==
"@esbuild/win32-arm64@0.20.2": "@esbuild/win32-arm64@0.20.2":
version "0.20.2" version "0.20.2"
resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.20.2.tgz#f1ae5abf9ca052ae11c1bc806fb4c0f519bacf90" resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.20.2.tgz#f1ae5abf9ca052ae11c1bc806fb4c0f519bacf90"
integrity sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ== integrity sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==
"@esbuild/win32-arm64@0.21.5":
version "0.21.5"
resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz#675b7385398411240735016144ab2e99a60fc75d"
integrity sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==
"@esbuild/win32-ia32@0.20.2": "@esbuild/win32-ia32@0.20.2":
version "0.20.2" version "0.20.2"
resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.20.2.tgz#241fe62c34d8e8461cd708277813e1d0ba55ce23" resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.20.2.tgz#241fe62c34d8e8461cd708277813e1d0ba55ce23"
integrity sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ== integrity sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==
"@esbuild/win32-ia32@0.21.5":
version "0.21.5"
resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz#1bfc3ce98aa6ca9a0969e4d2af72144c59c1193b"
integrity sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==
"@esbuild/win32-x64@0.20.2": "@esbuild/win32-x64@0.20.2":
version "0.20.2" version "0.20.2"
resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.20.2.tgz#9c907b21e30a52db959ba4f80bb01a0cc403d5cc" resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.20.2.tgz#9c907b21e30a52db959ba4f80bb01a0cc403d5cc"
integrity sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ== integrity sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==
"@esbuild/win32-x64@0.21.5":
version "0.21.5"
resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz#acad351d582d157bb145535db2a6ff53dd514b5c"
integrity sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==
"@eslint-community/eslint-utils@^4.2.0", "@eslint-community/eslint-utils@^4.4.0": "@eslint-community/eslint-utils@^4.2.0", "@eslint-community/eslint-utils@^4.4.0":
version "4.4.0" version "4.4.0"
resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz#a23514e8fb9af1269d5f7788aa556798d61c6b59" resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz#a23514e8fb9af1269d5f7788aa556798d61c6b59"
@@ -5424,6 +5539,35 @@ esbuild@^0.20.1:
"@esbuild/win32-ia32" "0.20.2" "@esbuild/win32-ia32" "0.20.2"
"@esbuild/win32-x64" "0.20.2" "@esbuild/win32-x64" "0.20.2"
esbuild@^0.21.3:
version "0.21.5"
resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.21.5.tgz#9ca301b120922959b766360d8ac830da0d02997d"
integrity sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==
optionalDependencies:
"@esbuild/aix-ppc64" "0.21.5"
"@esbuild/android-arm" "0.21.5"
"@esbuild/android-arm64" "0.21.5"
"@esbuild/android-x64" "0.21.5"
"@esbuild/darwin-arm64" "0.21.5"
"@esbuild/darwin-x64" "0.21.5"
"@esbuild/freebsd-arm64" "0.21.5"
"@esbuild/freebsd-x64" "0.21.5"
"@esbuild/linux-arm" "0.21.5"
"@esbuild/linux-arm64" "0.21.5"
"@esbuild/linux-ia32" "0.21.5"
"@esbuild/linux-loong64" "0.21.5"
"@esbuild/linux-mips64el" "0.21.5"
"@esbuild/linux-ppc64" "0.21.5"
"@esbuild/linux-riscv64" "0.21.5"
"@esbuild/linux-s390x" "0.21.5"
"@esbuild/linux-x64" "0.21.5"
"@esbuild/netbsd-x64" "0.21.5"
"@esbuild/openbsd-x64" "0.21.5"
"@esbuild/sunos-x64" "0.21.5"
"@esbuild/win32-arm64" "0.21.5"
"@esbuild/win32-ia32" "0.21.5"
"@esbuild/win32-x64" "0.21.5"
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"
@@ -10741,47 +10885,47 @@ tty-table@^4.1.5:
wcwidth "^1.0.1" wcwidth "^1.0.1"
yargs "^17.1.1" yargs "^17.1.1"
turbo-darwin-64@2.0.3: turbo-darwin-64@2.0.4:
version "2.0.3" version "2.0.4"
resolved "https://registry.yarnpkg.com/turbo-darwin-64/-/turbo-darwin-64-2.0.3.tgz#52c5f79b4027dfd0184fb963da41bf989be4a00d" resolved "https://registry.yarnpkg.com/turbo-darwin-64/-/turbo-darwin-64-2.0.4.tgz#83c7835f8ba1f7a5473487ce73cfc8d5ad523614"
integrity sha512-v7ztJ8sxdHw3SLfO2MhGFeeU4LQhFii1hIGs9uBiXns/0YTGOvxLeifnfGqhfSrAIIhrCoByXO7nR9wlm10n3Q== integrity sha512-x9mvmh4wudBstML8Z8IOmokLWglIhSfhQwnh2gBCSqabgVBKYvzl8Y+i+UCNPxheCGTgtsPepTcIaKBIyFIcvw==
turbo-darwin-arm64@2.0.3: turbo-darwin-arm64@2.0.4:
version "2.0.3" version "2.0.4"
resolved "https://registry.yarnpkg.com/turbo-darwin-arm64/-/turbo-darwin-arm64-2.0.3.tgz#46fa54d0cd95782ac38015e3396d59cdbdeb1eb8" resolved "https://registry.yarnpkg.com/turbo-darwin-arm64/-/turbo-darwin-arm64-2.0.4.tgz#046e5768e9d6b490b7108d5bef3f4a1594aca0ba"
integrity sha512-LUcqvkV9Bxtng6QHbevp8IK8zzwbIxM6HMjCE7FEW6yJBN1KwvTtRtsGBwwmTxaaLO0wD1Jgl3vgkXAmQ4fqUw== integrity sha512-/B1Ih8zPRGVw5vw4SlclOf3C/woJ/2T6ieH6u54KT4wypoaVyaiyMqBcziIXycdObIYr7jQ+raHO7q3mhay9/A==
turbo-linux-64@2.0.3: turbo-linux-64@2.0.4:
version "2.0.3" version "2.0.4"
resolved "https://registry.yarnpkg.com/turbo-linux-64/-/turbo-linux-64-2.0.3.tgz#17d6714b32381d474ef2ee5613343165f9bd75bc" resolved "https://registry.yarnpkg.com/turbo-linux-64/-/turbo-linux-64-2.0.4.tgz#eab8c183a11b26ddec251d62778313a495971e4f"
integrity sha512-xpdY1suXoEbsQsu0kPep2zrB8ijv/S5aKKrntGuQ62hCiwDFoDcA/Z7FZ8IHQ2u+dpJARa7yfiByHmizFE0r5Q== integrity sha512-6aG670e5zOWu6RczEYcB81nEl8EhiGJEvWhUrnAfNEUIMBEH1pR5SsMmG2ol5/m3PgiRM12r13dSqTxCLcHrVg==
turbo-linux-arm64@2.0.3: turbo-linux-arm64@2.0.4:
version "2.0.3" version "2.0.4"
resolved "https://registry.yarnpkg.com/turbo-linux-arm64/-/turbo-linux-arm64-2.0.3.tgz#4f1bfe421dcecf2fb1164a1e223ba310d6e28b6f" resolved "https://registry.yarnpkg.com/turbo-linux-arm64/-/turbo-linux-arm64-2.0.4.tgz#2dcc3f1d3e56209736b2ce3d849b80e0d7116e42"
integrity sha512-MBACTcSR874L1FtLL7gkgbI4yYJWBUCqeBN/iE29D+8EFe0d3fAyviFlbQP4K/HaDYet1i26xkkOiWr0z7/V9A== integrity sha512-AXfVOjst+mCtPDFT4tCu08Qrfv12Nj7NDd33AjGwV79NYN1Y1rcFY59UQ4nO3ij3rbcvV71Xc+TZJ4csEvRCSg==
turbo-windows-64@2.0.3: turbo-windows-64@2.0.4:
version "2.0.3" version "2.0.4"
resolved "https://registry.yarnpkg.com/turbo-windows-64/-/turbo-windows-64-2.0.3.tgz#9d1b99aff361bcbf4e065029e9dfa6682a0c0b2d" resolved "https://registry.yarnpkg.com/turbo-windows-64/-/turbo-windows-64-2.0.4.tgz#b2440d82892c983088ed386f9126d365594fc1a5"
integrity sha512-zi3YuKPkM9JxMTshZo3excPk37hUrj5WfnCqh4FjI26ux6j/LJK+Dh3SebMHd9mR7wP9CMam4GhmLCT+gDfM+w== integrity sha512-QOnUR9hKl0T5gq5h1fAhVEqBSjpcBi/BbaO71YGQNgsr6pAnCQdbG8/r3MYXet53efM0KTdOhieWeO3KLNKybA==
turbo-windows-arm64@2.0.3: turbo-windows-arm64@2.0.4:
version "2.0.3" version "2.0.4"
resolved "https://registry.yarnpkg.com/turbo-windows-arm64/-/turbo-windows-arm64-2.0.3.tgz#0e0641acda3325a4a3d28123ef21017a7aae8f38" resolved "https://registry.yarnpkg.com/turbo-windows-arm64/-/turbo-windows-arm64-2.0.4.tgz#e943709535baf233f5b85ed35cd95dcf86815283"
integrity sha512-wmed4kkenLvRbidi7gISB4PU77ujBuZfgVGDZ4DXTFslE/kYpINulwzkVwJIvNXsJtHqyOq0n6jL8Zwl3BrwDg== integrity sha512-3v8WpdZy1AxZw0gha0q3caZmm+0gveBQ40OspD6mxDBIS+oBtO5CkxhIXkFJJW+jDKmDlM7wXDIGfMEq+QyNCQ==
turbo@^2.0.3: turbo@^2.0.4:
version "2.0.3" version "2.0.4"
resolved "https://registry.yarnpkg.com/turbo/-/turbo-2.0.3.tgz#789f64666d15dbc6fc85ce507a6c6888d70df88f" resolved "https://registry.yarnpkg.com/turbo/-/turbo-2.0.4.tgz#4fb6f0bf3be905953825de0368203e849c91e412"
integrity sha512-jF1K0tTUyryEWmgqk1V0ALbSz3VdeZ8FXUo6B64WsPksCMCE48N5jUezGOH2MN0+epdaRMH8/WcPU0QQaVfeLA== integrity sha512-Ilme/2Q5kYw0AeRr+aw3s02+WrEYaY7U8vPnqSZU/jaDG/qd6jHVN6nRWyd/9KXvJGYM69vE6JImoGoyNjLwaw==
optionalDependencies: optionalDependencies:
turbo-darwin-64 "2.0.3" turbo-darwin-64 "2.0.4"
turbo-darwin-arm64 "2.0.3" turbo-darwin-arm64 "2.0.4"
turbo-linux-64 "2.0.3" turbo-linux-64 "2.0.4"
turbo-linux-arm64 "2.0.3" turbo-linux-arm64 "2.0.4"
turbo-windows-64 "2.0.3" turbo-windows-64 "2.0.4"
turbo-windows-arm64 "2.0.3" turbo-windows-arm64 "2.0.4"
type-check@^0.4.0, type-check@~0.4.0: type-check@^0.4.0, type-check@~0.4.0:
version "0.4.0" version "0.4.0"
@@ -10876,16 +11020,16 @@ typescript@5.4.2:
resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.4.2.tgz#0ae9cebcfae970718474fe0da2c090cad6577372" resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.4.2.tgz#0ae9cebcfae970718474fe0da2c090cad6577372"
integrity sha512-+2/g0Fds1ERlP6JsakQQDXjZdZMM+rqpamFZJEKh4kwTIn3iDkgKtby0CeNd5ATNZ4Ry1ax15TMx0W2V+miizQ== integrity sha512-+2/g0Fds1ERlP6JsakQQDXjZdZMM+rqpamFZJEKh4kwTIn3iDkgKtby0CeNd5ATNZ4Ry1ax15TMx0W2V+miizQ==
typescript@^4.7.3, typescript@^4.9.0, typescript@^4.9.5:
version "4.9.5"
resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.9.5.tgz#095979f9bcc0d09da324d58d03ce8f8374cbe65a"
integrity sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==
typescript@^5.0.3: typescript@^5.0.3:
version "5.1.6" version "5.1.6"
resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.1.6.tgz#02f8ac202b6dad2c0dd5e0913745b47a37998274" resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.1.6.tgz#02f8ac202b6dad2c0dd5e0913745b47a37998274"
integrity sha512-zaWCozRZ6DLEWAWFrVDz1H6FVXzUSfTy5FUMWsQlU8Ym5JP9eO4xkTIROFCQvhQf61z6O/G6ugw3SgAnvvm+HA== integrity sha512-zaWCozRZ6DLEWAWFrVDz1H6FVXzUSfTy5FUMWsQlU8Ym5JP9eO4xkTIROFCQvhQf61z6O/G6ugw3SgAnvvm+HA==
typescript@^5.4.5:
version "5.4.5"
resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.4.5.tgz#42ccef2c571fdbd0f6718b1d1f5e6e5ef006f611"
integrity sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==
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"
@@ -11064,10 +11208,10 @@ vite-node@1.4.0:
picocolors "^1.0.0" picocolors "^1.0.0"
vite "^5.0.0" vite "^5.0.0"
vite-plugin-dts@^3.8.1: vite-plugin-dts@^3.9.1:
version "3.8.1" version "3.9.1"
resolved "https://registry.yarnpkg.com/vite-plugin-dts/-/vite-plugin-dts-3.8.1.tgz#a6bbdc9762acce21d0fee8812d1c73085b49dee5" resolved "https://registry.yarnpkg.com/vite-plugin-dts/-/vite-plugin-dts-3.9.1.tgz#625ad388ec3956708ccec7960550a7b0a8e8909e"
integrity sha512-zEYyQxH7lKto1VTKZHF3ZZeOPkkJgnMrePY4VxDHfDSvDjmYMMfWjZxYmNwW8QxbaItWJQhhXY+geAbyNphI7g== integrity sha512-rVp2KM9Ue22NGWB8dNtWEr+KekN3rIgz1tWD050QnRGlriUCmaDwa7qA5zDEjbXg5lAXhYMSBJtx3q3hQIJZSg==
dependencies: dependencies:
"@microsoft/api-extractor" "7.43.0" "@microsoft/api-extractor" "7.43.0"
"@rollup/pluginutils" "^5.1.0" "@rollup/pluginutils" "^5.1.0"
@@ -11102,7 +11246,7 @@ vite-plugin-zip-pack@^1.2.2:
dependencies: dependencies:
jszip "^3.10.1" jszip "^3.10.1"
vite@^5.0.0, "vite@^5.0.0 || ^4.1.4", vite@^5.2.8: vite@^5.0.0, "vite@^5.0.0 || ^4.1.4":
version "5.2.8" version "5.2.8"
resolved "https://registry.yarnpkg.com/vite/-/vite-5.2.8.tgz#a99e09939f1a502992381395ce93efa40a2844aa" resolved "https://registry.yarnpkg.com/vite/-/vite-5.2.8.tgz#a99e09939f1a502992381395ce93efa40a2844aa"
integrity sha512-OyZR+c1CE8yeHw5V5t59aXsUPPVTHMDjEZz8MgguLL/Q7NblxhZUlTu9xSPqlsUO/y+X7dlU05jdhvyycD55DA== integrity sha512-OyZR+c1CE8yeHw5V5t59aXsUPPVTHMDjEZz8MgguLL/Q7NblxhZUlTu9xSPqlsUO/y+X7dlU05jdhvyycD55DA==
@@ -11113,6 +11257,17 @@ vite@^5.0.0, "vite@^5.0.0 || ^4.1.4", vite@^5.2.8:
optionalDependencies: optionalDependencies:
fsevents "~2.3.3" fsevents "~2.3.3"
vite@^5.3.1:
version "5.3.1"
resolved "https://registry.yarnpkg.com/vite/-/vite-5.3.1.tgz#bb2ca6b5fd7483249d3e86b25026e27ba8a663e6"
integrity sha512-XBmSKRLXLxiaPYamLv3/hnP/KXDai1NDexN0FpkTaZXTfycHvkRHoenpgl/fvuK/kPbB6xAgoyiryAhQNxYmAQ==
dependencies:
esbuild "^0.21.3"
postcss "^8.4.38"
rollup "^4.13.0"
optionalDependencies:
fsevents "~2.3.3"
vitefu@^0.2.5: vitefu@^0.2.5:
version "0.2.5" version "0.2.5"
resolved "https://registry.yarnpkg.com/vitefu/-/vitefu-0.2.5.tgz#c1b93c377fbdd3e5ddd69840ea3aa70b40d90969" resolved "https://registry.yarnpkg.com/vitefu/-/vitefu-0.2.5.tgz#c1b93c377fbdd3e5ddd69840ea3aa70b40d90969"