From ba6eea0f73d09e90669013a3cf5ca30b915f2256 Mon Sep 17 00:00:00 2001 From: Jacob Bandes-Storch Date: Wed, 15 Nov 2023 17:48:04 -0800 Subject: [PATCH] Update TypeScript, Prettier, and other dev deps (#1014) ### Public-Facing Changes [BREAKING] The `@mcap/core` source code now uses [private properties](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes/Private_properties). Depending on what runtime and build system you use to consume this package, you may need to add plugins or change settings to handle the new syntax. Modern JS engines and bundlers should not require any changes. ### Description - Upgrade TypeScript, Prettier, `@foxglove/eslint-plugin` etc. and fix new lint errors. - Use `es2022` for typescript `target` & `module` settings --- .gitattributes | 1 + .github/workflows/ci.yml | 32 +- .github/workflows/website.yml | 2 +- .gitignore | 5 +- .prettierignore | 1 + .vscode/settings.json | 3 +- .../@yarnpkg/plugin-interactive-tools.cjs | 3 + .yarnrc.yml | 4 + package.json | 7 +- tests/conformance/package.json | 22 +- .../scripts/run-tests/runners/TestRunner.ts | 4 +- .../TypescriptIndexedReaderTestRunner.ts | 4 +- .../runners/TypescriptWriterTestRunner.ts | 12 +- typescript/benchmarks/index.ts | 18 +- typescript/benchmarks/package.json | 18 +- typescript/benchmarks/tsconfig.json | 3 +- typescript/core/package.json | 28 +- typescript/core/src/BufferBuilder.ts | 134 +- typescript/core/src/ChunkBuilder.ts | 48 +- typescript/core/src/ChunkCursor.ts | 90 +- typescript/core/src/McapIndexedReader.ts | 80 +- typescript/core/src/McapRecordBuilder.ts | 204 +- typescript/core/src/McapStreamReader.test.ts | 52 +- typescript/core/src/McapStreamReader.ts | 74 +- typescript/core/src/McapWriter.ts | 302 +- typescript/core/src/Reader.ts | 24 +- typescript/core/src/StreamBuffer.test.ts | 4 +- typescript/core/src/StreamBuffer.ts | 28 +- typescript/core/src/TempBuffer.ts | 26 +- typescript/core/src/constants.ts | 5 +- typescript/core/tsconfig.json | 4 +- typescript/examples/bag2mcap/package.json | 28 +- .../examples/bag2mcap/scripts/bag2mcap.ts | 13 +- typescript/examples/bag2mcap/tsconfig.json | 3 +- typescript/examples/basicwriter/package.json | 14 +- .../examples/basicwriter/scripts/main.ts | 12 +- typescript/examples/basicwriter/tsconfig.json | 3 +- .../examples/flatbufferswriter/package.json | 14 +- .../flatbufferswriter/scripts/main.ts | 12 +- .../examples/flatbufferswriter/tsconfig.json | 3 +- .../text-annotation-demo/package.json | 16 +- .../text-annotation-demo/scripts/Scene.ts | 52 +- .../text-annotation-demo/scripts/main.ts | 12 +- .../text-annotation-demo/tsconfig.json | 3 +- typescript/examples/validate/package.json | 28 +- .../examples/validate/scripts/validate.ts | 15 +- typescript/examples/validate/tsconfig.json | 3 +- website/package.json | 16 +- .../McapRecordingDemo/McapRecordingDemo.tsx | 44 +- .../components/McapRecordingDemo/Recorder.ts | 4 +- .../McapRecordingDemo/addProtobufChannel.ts | 10 +- .../McapRecordingDemo/videoCapture.ts | 6 +- website/typings/protobufjs.d.ts | 2 +- yarn.lock | 3452 ++++++++++------- 54 files changed, 2849 insertions(+), 2158 deletions(-) create mode 100644 .yarn/plugins/@yarnpkg/plugin-interactive-tools.cjs diff --git a/.gitattributes b/.gitattributes index 965d9a40b3..f889453344 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,3 +1,4 @@ +.yarn/**/*.cjs filter=lfs diff=lfs merge=lfs -text *.bag filter=lfs diff=lfs merge=lfs -text *.bfbs filter=lfs diff=lfs merge=lfs -text *.csv linguist-generated=true diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 07f846c3cb..844f0a8c60 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -16,7 +16,7 @@ jobs: lfs: true - uses: actions/setup-node@v3 with: - node-version: 16.x + node-version: 20.x cache: yarn - run: corepack enable && yarn install --immutable - run: echo '::add-matcher::.github/cspell-problem-matcher.json' @@ -30,7 +30,7 @@ jobs: lfs: true - uses: actions/setup-node@v3 with: - node-version: 16.x + node-version: 20.x cache: yarn - run: corepack enable && yarn install --immutable - run: yarn workspace @foxglove/mcap-conformance lint:ci @@ -44,7 +44,7 @@ jobs: lfs: true - uses: actions/setup-node@v3 with: - node-version: 16.x + node-version: 20.x cache: yarn - uses: actions/cache@v3 with: @@ -63,7 +63,7 @@ jobs: lfs: true - uses: actions/setup-node@v3 with: - node-version: 16.x + node-version: 20.x cache: yarn - uses: actions/setup-go@v4 with: @@ -81,7 +81,7 @@ jobs: lfs: true - uses: actions/setup-node@v3 with: - node-version: 16.x + node-version: 20.x cache: yarn - uses: actions/setup-python@v4 with: @@ -99,7 +99,7 @@ jobs: lfs: true - uses: actions/setup-node@v3 with: - node-version: 16.x + node-version: 20.x cache: yarn - run: corepack enable && yarn install --immutable - run: yarn test:conformance:generate-inputs --verify @@ -113,7 +113,7 @@ jobs: lfs: true - uses: actions/setup-node@v3 with: - node-version: 16.x + node-version: 20.x cache: yarn - run: corepack enable && yarn install --immutable - run: yarn test:conformance:generate-inputs --verify @@ -127,7 +127,7 @@ jobs: lfs: true - uses: actions/setup-node@v3 with: - node-version: 16.x + node-version: 20.x cache: yarn - uses: swift-actions/setup-swift@v1 with: @@ -145,7 +145,7 @@ jobs: lfs: true - uses: actions/setup-node@v3 with: - node-version: 16.x + node-version: 20.x cache: yarn - uses: actions-rs/toolchain@v1 with: @@ -199,9 +199,11 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 + with: + lfs: true - uses: actions/setup-node@v3 with: - node-version: 16.x + node-version: 20.x cache: yarn registry-url: https://registry.npmjs.org - run: corepack enable && yarn install --immutable @@ -221,9 +223,11 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 + with: + lfs: true - uses: actions/setup-node@v3 with: - node-version: 16.x + node-version: 20.x cache: yarn - run: corepack enable && yarn install --immutable - run: yarn workspace @foxglove/mcap-benchmarks lint:ci @@ -233,9 +237,11 @@ jobs: - run: yarn workspace @foxglove/mcap-example-bag2mcap lint:ci - run: yarn workspace @foxglove/mcap-example-bag2mcap typecheck - run: yarn workspace @foxglove/mcap-example-basicwriter lint:ci - - run: yarn workspace @foxglove/mcap-example-basicwriter lint:ci - - run: yarn workspace @foxglove/mcap-example-flatbufferswriter typecheck + - run: yarn workspace @foxglove/mcap-example-basicwriter typecheck + - run: yarn workspace @foxglove/mcap-example-flatbufferswriter lint:ci - run: yarn workspace @foxglove/mcap-example-flatbufferswriter typecheck + - run: yarn workspace @foxglove/mcap-example-text-annotation-demo lint:ci + - run: yarn workspace @foxglove/mcap-example-text-annotation-demo typecheck python: runs-on: ubuntu-latest diff --git a/.github/workflows/website.yml b/.github/workflows/website.yml index 0c04c1f50e..cc0f5e10aa 100644 --- a/.github/workflows/website.yml +++ b/.github/workflows/website.yml @@ -16,7 +16,7 @@ jobs: - uses: actions/setup-node@v3 with: - node-version: 16.x + node-version: 20.x cache: yarn - run: corepack enable && yarn install --immutable diff --git a/.gitignore b/.gitignore index 9fe4e35cd7..4d0173b7e4 100644 --- a/.gitignore +++ b/.gitignore @@ -9,7 +9,10 @@ dist site/ .cache .pnp.* -.yarn +.yarn/* +!.yarn/patches +!.yarn/plugins +!.yarn/sdks *.db3-shm *.db3-wal diff --git a/.prettierignore b/.prettierignore index 975d6fbe8a..3fb807b5fa 100644 --- a/.prettierignore +++ b/.prettierignore @@ -4,3 +4,4 @@ python/Pipfile.lock tests/conformance/data/**/*.json typescript/examples/flatbuffer/output/**/*.ts website/.docusaurus +rust/target diff --git a/.vscode/settings.json b/.vscode/settings.json index 4f8ca2bab3..817d1e7ac8 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -9,8 +9,7 @@ "files.trimTrailingWhitespace": true, "typescript.tsdk": "node_modules/typescript/lib", - "prettier.prettierPath": "./node_modules/prettier", - "eslint.packageManager": "yarn", + "prettier.prettierPath": "./node_modules/prettier/index.cjs", "eslint.options": { "reportUnusedDisableDirectives": "error" }, diff --git a/.yarn/plugins/@yarnpkg/plugin-interactive-tools.cjs b/.yarn/plugins/@yarnpkg/plugin-interactive-tools.cjs new file mode 100644 index 0000000000..0877a9b27b --- /dev/null +++ b/.yarn/plugins/@yarnpkg/plugin-interactive-tools.cjs @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:72805e7a83dd57763f1707ab4fa6dbd5391a60f8271fc33fb55a6cd2a55b1143 +size 1077010 diff --git a/.yarnrc.yml b/.yarnrc.yml index 7ba07ff289..f2223690d9 100644 --- a/.yarnrc.yml +++ b/.yarnrc.yml @@ -1,3 +1,7 @@ defaultSemverRangePrefix: "" nodeLinker: node-modules + +plugins: + - path: .yarn/plugins/@yarnpkg/plugin-interactive-tools.cjs + spec: "@yarnpkg/plugin-interactive-tools" diff --git a/package.json b/package.json index f37de258c1..208a3ad922 100644 --- a/package.json +++ b/package.json @@ -21,8 +21,9 @@ }, "packageManager": "yarn@3.5.0", "devDependencies": { - "cspell": "^6.26.3", - "prettier": "^2.8.4", - "typedoc": "^0.23.25" + "cspell": "8.0.0", + "prettier": "3.1.0", + "typedoc": "0.25.3", + "typescript": "5.2.2" } } diff --git a/tests/conformance/package.json b/tests/conformance/package.json index 54089a3ed5..cdc925c720 100644 --- a/tests/conformance/package.json +++ b/tests/conformance/package.json @@ -11,32 +11,32 @@ }, "devDependencies": { "@foxglove/crc": "^0.0.3", - "@foxglove/eslint-plugin": "0.21.0", + "@foxglove/eslint-plugin": "1.0.0", "@foxglove/tsconfig": "1.1.0", "@mcap/core": "*", "@types/diff": "^5.0.2", "@types/js-yaml": "^4.0.5", "@types/node": "18.13.0", - "@typescript-eslint/eslint-plugin": "5.52.0", - "@typescript-eslint/parser": "5.52.0", + "@typescript-eslint/eslint-plugin": "6.11.0", + "@typescript-eslint/parser": "6.11.0", "colors": "1.4.0", - "commander": "10.0.0", + "commander": "11.1.0", "diff": "^5.1.0", - "eslint": "8.34.0", - "eslint-config-prettier": "8.6.0", + "eslint": "8.53.0", + "eslint-config-prettier": "9.0.0", "eslint-plugin-es": "4.1.0", "eslint-plugin-filenames": "1.3.2", - "eslint-plugin-import": "2.27.5", - "eslint-plugin-jest": "27.2.1", - "eslint-plugin-prettier": "4.2.1", + "eslint-plugin-import": "2.29.0", + "eslint-plugin-jest": "27.6.0", + "eslint-plugin-prettier": "5.0.1", "js-yaml": "4.1.0", "json-stable-stringify": "1.0.2", "kaitai-struct": "0.10.0", "kaitai-struct-compiler": "0.10.0", "lodash": "4.17.21", - "prettier": "2.8.4", + "prettier": "3.1.0", "ts-node": "10.9.1", "tsconfig-paths": "^4.1.2", - "typescript": "4.9.5" + "typescript": "5.2.2" } } diff --git a/tests/conformance/scripts/run-tests/runners/TestRunner.ts b/tests/conformance/scripts/run-tests/runners/TestRunner.ts index 16c3236ab7..da89675873 100644 --- a/tests/conformance/scripts/run-tests/runners/TestRunner.ts +++ b/tests/conformance/scripts/run-tests/runners/TestRunner.ts @@ -70,8 +70,8 @@ export abstract class IndexedReadTestRunner { messages: [], statistics: [], }; - const knownSchemaIds: Set = new Set(); - const knownChannelIds: Set = new Set(); + const knownSchemaIds = new Set(); + const knownChannelIds = new Set(); for (const record of testCase.records) { switch (record.type) { case "Schema": diff --git a/tests/conformance/scripts/run-tests/runners/TypescriptIndexedReaderTestRunner.ts b/tests/conformance/scripts/run-tests/runners/TypescriptIndexedReaderTestRunner.ts index d3b5ba16c5..905c1a1441 100644 --- a/tests/conformance/scripts/run-tests/runners/TypescriptIndexedReaderTestRunner.ts +++ b/tests/conformance/scripts/run-tests/runners/TypescriptIndexedReaderTestRunner.ts @@ -12,7 +12,7 @@ export default class TypescriptIndexedReaderTestRunner extends IndexedReadTestRu async runReadTest(filePath: string): Promise { const handle = await fs.open(filePath, "r"); try { - return await this._run(handle); + return await this.#run(handle); } finally { await handle.close(); } @@ -40,7 +40,7 @@ export default class TypescriptIndexedReaderTestRunner extends IndexedReadTestRu return true; } - private async _run(fileHandle: fs.FileHandle): Promise { + async #run(fileHandle: fs.FileHandle): Promise { let buffer = new ArrayBuffer(4096); const readable = { size: async () => BigInt((await fileHandle.stat()).size), diff --git a/tests/conformance/scripts/run-tests/runners/TypescriptWriterTestRunner.ts b/tests/conformance/scripts/run-tests/runners/TypescriptWriterTestRunner.ts index 7c7369cf29..28684d6074 100644 --- a/tests/conformance/scripts/run-tests/runners/TypescriptWriterTestRunner.ts +++ b/tests/conformance/scripts/run-tests/runners/TypescriptWriterTestRunner.ts @@ -8,12 +8,12 @@ import { WriteTestRunner } from "./TestRunner"; type JsonValue = T extends number | bigint | string ? string : T extends Uint8Array - ? number[] - : T extends Map - ? K extends number | bigint | string - ? Record, JsonValue> - : never - : never; + ? number[] + : T extends Map + ? K extends number | bigint | string + ? Record, JsonValue> + : never + : never; type JsonRecord = { type: R; diff --git a/typescript/benchmarks/index.ts b/typescript/benchmarks/index.ts index 1927261fdb..19f8069406 100644 --- a/typescript/benchmarks/index.ts +++ b/typescript/benchmarks/index.ts @@ -6,27 +6,27 @@ import { add, complete, cycle, suite } from "benny"; * the copies without actually allocating the full initial capacity. */ class FakeMemoryWritable { - private _lastWrittenData: Uint8Array; - private _size = 0; + #lastWrittenData: Uint8Array; + #size = 0; constructor(capacity: number) { - this._lastWrittenData = new Uint8Array(capacity); + this.#lastWrittenData = new Uint8Array(capacity); } reset() { - this._size = 0; + this.#size = 0; } position() { - return BigInt(this._size); + return BigInt(this.#size); } async write(data: Uint8Array) { - if (data.byteLength > this._lastWrittenData.byteLength) { + if (data.byteLength > this.#lastWrittenData.byteLength) { throw new Error( - `Write out of bounds, capacity would need to be at least ${this._size + data.byteLength}`, + `Write out of bounds, capacity would need to be at least ${this.#size + data.byteLength}`, ); } - this._lastWrittenData.set(data, 0); - this._size += data.byteLength; + this.#lastWrittenData.set(data, 0); + this.#size += data.byteLength; } } diff --git a/typescript/benchmarks/package.json b/typescript/benchmarks/package.json index 8a47232af8..2129ea854b 100644 --- a/typescript/benchmarks/package.json +++ b/typescript/benchmarks/package.json @@ -21,22 +21,22 @@ "bench:debug": "NODE_OPTIONS='--inspect-brk' ts-node --files --project tsconfig.cjs.json index.ts" }, "devDependencies": { - "@foxglove/eslint-plugin": "0.21.0", + "@foxglove/eslint-plugin": "1.0.0", "@foxglove/tsconfig": "1.1.0", "@mcap/core": "*", "@types/node": "18.13.0", - "@typescript-eslint/eslint-plugin": "5.52.0", - "@typescript-eslint/parser": "5.52.0", + "@typescript-eslint/eslint-plugin": "6.11.0", + "@typescript-eslint/parser": "6.11.0", "benny": "^3.7.1", - "eslint": "8.34.0", - "eslint-config-prettier": "8.6.0", + "eslint": "8.53.0", + "eslint-config-prettier": "9.0.0", "eslint-plugin-es": "4.1.0", "eslint-plugin-filenames": "1.3.2", - "eslint-plugin-import": "2.27.5", - "eslint-plugin-prettier": "4.2.1", - "prettier": "2.8.4", + "eslint-plugin-import": "2.29.0", + "eslint-plugin-prettier": "5.0.1", + "prettier": "3.1.0", "ts-node": "10.9.1", "tsconfig-paths": "4.1.2", - "typescript": "4.9.5" + "typescript": "5.2.2" } } diff --git a/typescript/benchmarks/tsconfig.json b/typescript/benchmarks/tsconfig.json index 24a03925de..a6e9cb2e24 100644 --- a/typescript/benchmarks/tsconfig.json +++ b/typescript/benchmarks/tsconfig.json @@ -5,7 +5,8 @@ "noEmit": true, "rootDir": "..", "outDir": "./dist/esm", - "lib": ["es2020", "dom"], + "target": "es2022", + "lib": ["es2022", "dom"], "paths": { "@mcap/core": ["../core/src"] }, diff --git a/typescript/core/package.json b/typescript/core/package.json index 1fc84910c5..bb66139bcf 100644 --- a/typescript/core/package.json +++ b/typescript/core/package.json @@ -1,6 +1,6 @@ { "name": "@mcap/core", - "version": "1.3.0", + "version": "2.0.0", "description": "MCAP file support in TypeScript", "license": "MIT", "repository": { @@ -28,26 +28,26 @@ "test": "jest" }, "devDependencies": { - "@foxglove/eslint-plugin": "0.21.0", + "@foxglove/eslint-plugin": "1.0.0", "@foxglove/tsconfig": "1.1.0", - "@types/jest": "29.4.0", + "@types/jest": "29.5.8", "@types/lodash": "4.14.191", "@types/node": "18.13.0", - "@typescript-eslint/eslint-plugin": "5.52.0", - "@typescript-eslint/parser": "5.52.0", - "eslint": "8.34.0", - "eslint-config-prettier": "8.6.0", + "@typescript-eslint/eslint-plugin": "6.11.0", + "@typescript-eslint/parser": "6.11.0", + "eslint": "8.53.0", + "eslint-config-prettier": "9.0.0", "eslint-plugin-es": "4.1.0", "eslint-plugin-filenames": "1.3.2", - "eslint-plugin-import": "2.27.5", - "eslint-plugin-jest": "27.2.1", - "eslint-plugin-prettier": "4.2.1", - "jest": "29.4.3", + "eslint-plugin-import": "2.29.0", + "eslint-plugin-jest": "27.6.0", + "eslint-plugin-prettier": "5.0.1", + "jest": "29.7.0", "lodash": "4.17.21", - "prettier": "2.8.4", - "ts-jest": "29.0.5", + "prettier": "3.1.0", + "ts-jest": "29.1.1", "ts-node": "10.9.1", - "typescript": "4.9.5" + "typescript": "5.2.2" }, "dependencies": { "@foxglove/crc": "^0.0.3", diff --git a/typescript/core/src/BufferBuilder.ts b/typescript/core/src/BufferBuilder.ts index dd4fc26bb4..64e4c9bddf 100644 --- a/typescript/core/src/BufferBuilder.ts +++ b/typescript/core/src/BufferBuilder.ts @@ -9,119 +9,119 @@ const LITTLE_ENDIAN = true; * A buffer can be reset to re-use the underlying memory and start writing at the start of the buffer. */ export class BufferBuilder { - private fullBuffer = new Uint8Array(4096); - private view: DataView; - private textEncoder = new TextEncoder(); + #fullBuffer = new Uint8Array(4096); + #view: DataView; + #textEncoder = new TextEncoder(); // location of the write head - new writes will start here - private offset = 0; + #offset = 0; constructor() { - this.view = new DataView(this.fullBuffer.buffer); + this.#view = new DataView(this.#fullBuffer.buffer); } /** * Length in bytes of the written buffer */ get length(): number { - return this.offset; + return this.#offset; } /** Returns a copy of the written data. */ get buffer(): Readonly { - return this.fullBuffer.slice(0, this.offset); + return this.#fullBuffer.slice(0, this.#offset); } /** Returns a temporary view into the underlying buffer (not a copy). */ bufferView(byteOffset: number, byteLength: number): Uint8Array { - return new Uint8Array(this.fullBuffer.buffer, byteOffset, byteLength); + return new Uint8Array(this.#fullBuffer.buffer, byteOffset, byteLength); } - int8(value: number): BufferBuilder { - this.ensureAdditionalCapacity(1); - this.view.setInt8(this.offset, value); - this.offset += 1; + int8(value: number): this { + this.#ensureAdditionalCapacity(1); + this.#view.setInt8(this.#offset, value); + this.#offset += 1; return this; } - uint8(value: number): BufferBuilder { - this.ensureAdditionalCapacity(1); - this.view.setUint8(this.offset, value); - this.offset += 1; + uint8(value: number): this { + this.#ensureAdditionalCapacity(1); + this.#view.setUint8(this.#offset, value); + this.#offset += 1; return this; } - int16(value: number): BufferBuilder { - this.ensureAdditionalCapacity(2); - this.view.setInt16(this.offset, value, LITTLE_ENDIAN); - this.offset += 2; + int16(value: number): this { + this.#ensureAdditionalCapacity(2); + this.#view.setInt16(this.#offset, value, LITTLE_ENDIAN); + this.#offset += 2; return this; } - uint16(value: number): BufferBuilder { - this.ensureAdditionalCapacity(2); - this.view.setUint16(this.offset, value, LITTLE_ENDIAN); - this.offset += 2; + uint16(value: number): this { + this.#ensureAdditionalCapacity(2); + this.#view.setUint16(this.#offset, value, LITTLE_ENDIAN); + this.#offset += 2; return this; } - int32(value: number): BufferBuilder { - this.ensureAdditionalCapacity(4); - this.view.setInt32(this.offset, value, LITTLE_ENDIAN); - this.offset += 4; + int32(value: number): this { + this.#ensureAdditionalCapacity(4); + this.#view.setInt32(this.#offset, value, LITTLE_ENDIAN); + this.#offset += 4; return this; } - uint32(value: number): BufferBuilder { - this.ensureAdditionalCapacity(4); - this.view.setUint32(this.offset, value, LITTLE_ENDIAN); - this.offset += 4; + uint32(value: number): this { + this.#ensureAdditionalCapacity(4); + this.#view.setUint32(this.#offset, value, LITTLE_ENDIAN); + this.#offset += 4; return this; } - int64(value: bigint): BufferBuilder { - this.ensureAdditionalCapacity(8); - this.view.setBigInt64(this.offset, value, LITTLE_ENDIAN); - this.offset += 8; + int64(value: bigint): this { + this.#ensureAdditionalCapacity(8); + this.#view.setBigInt64(this.#offset, value, LITTLE_ENDIAN); + this.#offset += 8; return this; } - uint64(value: bigint): BufferBuilder { - this.ensureAdditionalCapacity(8); - this.view.setBigUint64(this.offset, value, LITTLE_ENDIAN); - this.offset += 8; + uint64(value: bigint): this { + this.#ensureAdditionalCapacity(8); + this.#view.setBigUint64(this.#offset, value, LITTLE_ENDIAN); + this.#offset += 8; return this; } - string(value: string): BufferBuilder { - const stringBytes = this.textEncoder.encode(value); - this.ensureAdditionalCapacity(stringBytes.byteLength + 4); + string(value: string): this { + const stringBytes = this.#textEncoder.encode(value); + this.#ensureAdditionalCapacity(stringBytes.byteLength + 4); this.uint32(stringBytes.length); - this.fullBuffer.set(stringBytes, this.offset); - this.offset += stringBytes.length; + this.#fullBuffer.set(stringBytes, this.#offset); + this.#offset += stringBytes.length; return this; } - bytes(buffer: Uint8Array): BufferBuilder { - this.ensureAdditionalCapacity(buffer.byteLength); - this.fullBuffer.set(buffer, this.offset); - this.offset += buffer.length; + bytes(buffer: Uint8Array): this { + this.#ensureAdditionalCapacity(buffer.byteLength); + this.#fullBuffer.set(buffer, this.#offset); + this.#offset += buffer.length; return this; } tupleArray( write1: (_: T1) => void, write2: (_: T2) => void, array: Iterable<[T1, T2]>, - ): BufferBuilder { + ): this { // We placeholder the byte length of the array and will come back to // set it once we have written the array items - const sizeOffset = this.offset; + const sizeOffset = this.#offset; this.uint32(0); // placeholder length of 0 for (const [key, value] of array) { write1.call(this, key); write2.call(this, value); } - const currentOffset = this.offset; + const currentOffset = this.#offset; // go back and write the actual byte length of the array - this.offset = sizeOffset; + this.#offset = sizeOffset; const byteLength = currentOffset - sizeOffset - 4; this.uint32(byteLength); // put the offset back to after the array items - this.offset = currentOffset; + this.#offset = currentOffset; return this; } @@ -130,32 +130,32 @@ export class BufferBuilder { * * If the buffer is smaller than the new offset location, the buffer expands. */ - seek(offset: number): BufferBuilder { - this.ensureCapacity(offset); - this.offset = offset; + seek(offset: number): this { + this.#ensureCapacity(offset); + this.#offset = offset; return this; } /** * reset the write head to the start of the buffer */ - reset(): BufferBuilder { - this.offset = 0; + reset(): this { + this.#offset = 0; return this; } - private ensureAdditionalCapacity(capacity: number): void { - this.ensureCapacity(this.offset + capacity); + #ensureAdditionalCapacity(capacity: number): void { + this.#ensureCapacity(this.#offset + capacity); } - private ensureCapacity(capacity: number): void { - if (capacity > this.fullBuffer.byteLength) { - const newSize = Math.max(this.fullBuffer.byteLength * 1.5, capacity); + #ensureCapacity(capacity: number): void { + if (capacity > this.#fullBuffer.byteLength) { + const newSize = Math.max(this.#fullBuffer.byteLength * 1.5, capacity); const newBuffer = new Uint8Array(newSize); - newBuffer.set(this.fullBuffer); + newBuffer.set(this.#fullBuffer); - this.fullBuffer = newBuffer; - this.view = new DataView(this.fullBuffer.buffer); + this.#fullBuffer = newBuffer; + this.#view = new DataView(this.#fullBuffer.buffer); } } } diff --git a/typescript/core/src/ChunkBuilder.ts b/typescript/core/src/ChunkBuilder.ts index 6d43e648ad..d149bd5c67 100644 --- a/typescript/core/src/ChunkBuilder.ts +++ b/typescript/core/src/ChunkBuilder.ts @@ -5,82 +5,82 @@ type ChunkBuilderOptions = { useMessageIndex?: boolean; }; class ChunkBuilder { - private recordWriter = new McapRecordBuilder(); - private messageIndices: Map | undefined; - private totalMessageCount = 0; + #recordWriter = new McapRecordBuilder(); + #messageIndices: Map | undefined; + #totalMessageCount = 0; messageStartTime = 0n; messageEndTime = 0n; constructor({ useMessageIndex = true }: ChunkBuilderOptions) { if (useMessageIndex) { - this.messageIndices = new Map(); + this.#messageIndices = new Map(); } } get numMessages(): number { - return this.totalMessageCount; + return this.#totalMessageCount; } get buffer(): Uint8Array { - return this.recordWriter.buffer; + return this.#recordWriter.buffer; } get byteLength(): number { - return this.recordWriter.length; + return this.#recordWriter.length; } get indices(): Iterable { - if (this.messageIndices) { - return this.messageIndices.values(); + if (this.#messageIndices) { + return this.#messageIndices.values(); } return []; } addSchema(schema: Schema): void { - this.recordWriter.writeSchema(schema); + this.#recordWriter.writeSchema(schema); } addChannel(info: Channel): void { - if (this.messageIndices && !this.messageIndices.has(info.id)) { - this.messageIndices.set(info.id, { + if (this.#messageIndices && !this.#messageIndices.has(info.id)) { + this.#messageIndices.set(info.id, { channelId: info.id, records: [], }); } - this.recordWriter.writeChannel(info); + this.#recordWriter.writeChannel(info); } addMessage(message: Message): void { - if (this.totalMessageCount === 0 || message.logTime < this.messageStartTime) { + if (this.#totalMessageCount === 0 || message.logTime < this.messageStartTime) { this.messageStartTime = message.logTime; } - if (this.totalMessageCount === 0 || message.logTime > this.messageEndTime) { + if (this.#totalMessageCount === 0 || message.logTime > this.messageEndTime) { this.messageEndTime = message.logTime; } - if (this.messageIndices) { - let messageIndex = this.messageIndices.get(message.channelId); + if (this.#messageIndices) { + let messageIndex = this.#messageIndices.get(message.channelId); if (!messageIndex) { messageIndex = { channelId: message.channelId, records: [], }; - this.messageIndices.set(message.channelId, messageIndex); + this.#messageIndices.set(message.channelId, messageIndex); } - messageIndex.records.push([message.logTime, BigInt(this.recordWriter.length)]); + messageIndex.records.push([message.logTime, BigInt(this.#recordWriter.length)]); } - this.totalMessageCount += 1; - this.recordWriter.writeMessage(message); + this.#totalMessageCount += 1; + this.#recordWriter.writeMessage(message); } reset(): void { this.messageStartTime = 0n; this.messageEndTime = 0n; - this.totalMessageCount = 0; - this.messageIndices?.clear(); - this.recordWriter.reset(); + this.#totalMessageCount = 0; + this.#messageIndices?.clear(); + this.#recordWriter.reset(); } } diff --git a/typescript/core/src/ChunkCursor.ts b/typescript/core/src/ChunkCursor.ts index 598e340167..8db2f35668 100644 --- a/typescript/core/src/ChunkCursor.ts +++ b/typescript/core/src/ChunkCursor.ts @@ -31,19 +31,19 @@ type MessageIndexCursor = { export class ChunkCursor { readonly chunkIndex: TypedMcapRecords["ChunkIndex"]; - private relevantChannels?: Set; - private startTime: bigint | undefined; - private endTime: bigint | undefined; - private reverse: boolean; + #relevantChannels?: Set; + #startTime: bigint | undefined; + #endTime: bigint | undefined; + #reverse: boolean; - private messageIndexCursors?: Heap; + #messageIndexCursors?: Heap; constructor(params: ChunkCursorParams) { this.chunkIndex = params.chunkIndex; - this.relevantChannels = params.relevantChannels; - this.startTime = params.startTime; - this.endTime = params.endTime; - this.reverse = params.reverse; + this.#relevantChannels = params.relevantChannels; + this.#startTime = params.startTime; + this.#endTime = params.endTime; + this.#reverse = params.reverse; if (this.chunkIndex.messageIndexLength === 0n) { throw new Error(`Chunks without message indexes are not currently supported`); @@ -59,18 +59,18 @@ export class ChunkCursor { * and re-sort the cursors. */ compare(other: ChunkCursor): number { - if (this.reverse !== other.reverse) { + if (this.#reverse !== other.#reverse) { throw new Error("Cannot compare a reversed ChunkCursor to a non-reversed ChunkCursor"); } - let diff = Number(this.getSortTime() - other.getSortTime()); + let diff = Number(this.#getSortTime() - other.#getSortTime()); // Break ties by chunk offset in the file if (diff === 0) { diff = Number(this.chunkIndex.chunkStartOffset - other.chunkIndex.chunkStartOffset); } - return this.reverse ? -diff : diff; + return this.#reverse ? -diff : diff; } /** @@ -78,10 +78,10 @@ export class ChunkCursor { * loaded before using this method. */ hasMoreMessages(): boolean { - if (!this.messageIndexCursors) { + if (!this.#messageIndexCursors) { throw new Error("loadMessageIndexes() must be called before hasMore()"); } - return this.messageIndexCursors.size() > 0; + return this.#messageIndexCursors.size() > 0; } /** @@ -89,10 +89,10 @@ export class ChunkCursor { * using this method. */ popMessage(): [logTime: bigint, offset: bigint] { - if (!this.messageIndexCursors) { + if (!this.#messageIndexCursors) { throw new Error("loadMessageIndexes() must be called before popMessage()"); } - const cursor = this.messageIndexCursors.peek(); + const cursor = this.#messageIndexCursors.peek(); if (!cursor) { throw new Error( `Unexpected popMessage() call when no more messages are available, in chunk at offset ${this.chunkIndex.chunkStartOffset}`, @@ -100,33 +100,33 @@ export class ChunkCursor { } const record = cursor.records[cursor.index]!; const [logTime] = record; - if (this.startTime != undefined && logTime < this.startTime) { + if (this.#startTime != undefined && logTime < this.#startTime) { throw new Error( - `Encountered message with logTime (${logTime}) prior to startTime (${this.startTime}) in chunk at offset ${this.chunkIndex.chunkStartOffset}`, + `Encountered message with logTime (${logTime}) prior to startTime (${this.#startTime}) in chunk at offset ${this.chunkIndex.chunkStartOffset}`, ); } - if (this.endTime != undefined && logTime > this.endTime) { + if (this.#endTime != undefined && logTime > this.#endTime) { throw new Error( - `Encountered message with logTime (${logTime}) after endTime (${this.endTime}) in chunk at offset ${this.chunkIndex.chunkStartOffset}`, + `Encountered message with logTime (${logTime}) after endTime (${this.#endTime}) in chunk at offset ${this.chunkIndex.chunkStartOffset}`, ); } const nextRecord = cursor.records[cursor.index + 1]; - if (nextRecord && this.reverse) { - if (this.startTime == undefined || nextRecord[0] >= this.startTime) { + if (nextRecord && this.#reverse) { + if (this.#startTime == undefined || nextRecord[0] >= this.#startTime) { cursor.index++; - this.messageIndexCursors.replace(cursor); + this.#messageIndexCursors.replace(cursor); return record; } } else if (nextRecord) { - if (this.endTime == undefined || nextRecord[0] <= this.endTime) { + if (this.#endTime == undefined || nextRecord[0] <= this.#endTime) { cursor.index++; - this.messageIndexCursors.replace(cursor); + this.#messageIndexCursors.replace(cursor); return record; } } - this.messageIndexCursors.pop(); + this.#messageIndexCursors.pop(); return record; } @@ -135,12 +135,12 @@ export class ChunkCursor { * called. */ hasMessageIndexes(): boolean { - return this.messageIndexCursors != undefined; + return this.#messageIndexCursors != undefined; } async loadMessageIndexes(readable: IReadable): Promise { - const reverse = this.reverse; - this.messageIndexCursors = new Heap((a, b) => { + const reverse = this.#reverse; + this.#messageIndexCursors = new Heap((a, b) => { const logTimeA = a.records[a.index]?.[0]; const logTimeB = b.records[b.index]?.[0]; @@ -169,7 +169,7 @@ export class ChunkCursor { if (messageIndexStartOffset == undefined || offset < messageIndexStartOffset) { messageIndexStartOffset = offset; } - if (!this.relevantChannels || this.relevantChannels.has(channelId)) { + if (!this.#relevantChannels || this.#relevantChannels.has(channelId)) { if ( relevantMessageIndexStartOffset == undefined || offset < relevantMessageIndexStartOffset @@ -206,7 +206,7 @@ export class ChunkCursor { } if ( result.record.records.length === 0 || - (this.relevantChannels && !this.relevantChannels.has(result.record.channelId)) + (this.#relevantChannels && !this.#relevantChannels.has(result.record.channelId)) ) { continue; } @@ -219,8 +219,7 @@ export class ChunkCursor { result.record.records.reverse(); } - for (let i = 0; i < result.record.records.length; i++) { - const [logTime] = result.record.records[i]!; + for (const [logTime] of result.record.records) { if (logTime < this.chunkIndex.messageStartTime) { throw new Error( `Encountered message index entry in channel ${result.record.channelId} with logTime (${logTime}) earlier than chunk messageStartTime (${this.chunkIndex.messageStartTime}) in chunk at offset ${this.chunkIndex.chunkStartOffset}`, @@ -235,12 +234,12 @@ export class ChunkCursor { let startIndex = 0; if (reverse) { - if (this.endTime != undefined) { - startIndex = sortedIndexBy(result.record.records, this.endTime, (logTime) => -logTime); + if (this.#endTime != undefined) { + startIndex = sortedIndexBy(result.record.records, this.#endTime, (logTime) => -logTime); } } else { - if (this.startTime != undefined) { - startIndex = sortedIndexBy(result.record.records, this.startTime, (logTime) => logTime); + if (this.#startTime != undefined) { + startIndex = sortedIndexBy(result.record.records, this.#startTime, (logTime) => logTime); } } @@ -248,16 +247,19 @@ export class ChunkCursor { continue; } if (reverse) { - if (this.startTime != undefined && result.record.records[startIndex]![0] < this.startTime) { + if ( + this.#startTime != undefined && + result.record.records[startIndex]![0] < this.#startTime + ) { continue; } } else { - if (this.endTime != undefined && result.record.records[startIndex]![0] > this.endTime) { + if (this.#endTime != undefined && result.record.records[startIndex]![0] > this.#endTime) { continue; } } - this.messageIndexCursors.push({ + this.#messageIndexCursors.push({ index: startIndex, channelId: result.record.channelId, records: result.record.records, @@ -271,12 +273,12 @@ export class ChunkCursor { } } - private getSortTime(): bigint { - if (!this.messageIndexCursors) { - return this.reverse ? this.chunkIndex.messageEndTime : this.chunkIndex.messageStartTime; + #getSortTime(): bigint { + if (!this.#messageIndexCursors) { + return this.#reverse ? this.chunkIndex.messageEndTime : this.chunkIndex.messageStartTime; } - const cursor = this.messageIndexCursors.peek(); + const cursor = this.#messageIndexCursors.peek(); if (!cursor) { throw new Error( `Unexpected empty cursor for chunk at offset ${this.chunkIndex.chunkStartOffset}`, diff --git a/typescript/core/src/McapIndexedReader.ts b/typescript/core/src/McapIndexedReader.ts index 480dacdc0b..ecf8cadaf3 100644 --- a/typescript/core/src/McapIndexedReader.ts +++ b/typescript/core/src/McapIndexedReader.ts @@ -31,21 +31,21 @@ export class McapIndexedReader { readonly header: TypedMcapRecords["Header"]; readonly footer: TypedMcapRecords["Footer"]; - private readable: IReadable; - private decompressHandlers?: DecompressHandlers; + #readable: IReadable; + #decompressHandlers?: DecompressHandlers; - private messageStartTime: bigint | undefined; - private messageEndTime: bigint | undefined; - private attachmentStartTime: bigint | undefined; - private attachmentEndTime: bigint | undefined; + #messageStartTime: bigint | undefined; + #messageEndTime: bigint | undefined; + #attachmentStartTime: bigint | undefined; + #attachmentEndTime: bigint | undefined; private constructor(args: McapIndexedReaderArgs) { - this.readable = args.readable; + this.#readable = args.readable; this.chunkIndexes = args.chunkIndexes; this.attachmentIndexes = args.attachmentIndexes; this.metadataIndexes = args.metadataIndexes; this.statistics = args.statistics; - this.decompressHandlers = args.decompressHandlers; + this.#decompressHandlers = args.decompressHandlers; this.channelsById = args.channelsById; this.schemasById = args.schemasById; this.summaryOffsetsByOpcode = args.summaryOffsetsByOpcode; @@ -53,25 +53,28 @@ export class McapIndexedReader { this.footer = args.footer; for (const chunk of args.chunkIndexes) { - if (this.messageStartTime == undefined || chunk.messageStartTime < this.messageStartTime) { - this.messageStartTime = chunk.messageStartTime; + if (this.#messageStartTime == undefined || chunk.messageStartTime < this.#messageStartTime) { + this.#messageStartTime = chunk.messageStartTime; } - if (this.messageEndTime == undefined || chunk.messageEndTime > this.messageEndTime) { - this.messageEndTime = chunk.messageEndTime; + if (this.#messageEndTime == undefined || chunk.messageEndTime > this.#messageEndTime) { + this.#messageEndTime = chunk.messageEndTime; } } for (const attachment of args.attachmentIndexes) { - if (this.attachmentStartTime == undefined || attachment.logTime < this.attachmentStartTime) { - this.attachmentStartTime = attachment.logTime; + if ( + this.#attachmentStartTime == undefined || + attachment.logTime < this.#attachmentStartTime + ) { + this.#attachmentStartTime = attachment.logTime; } - if (this.attachmentEndTime == undefined || attachment.logTime > this.attachmentEndTime) { - this.attachmentEndTime = attachment.logTime; + if (this.#attachmentEndTime == undefined || attachment.logTime > this.#attachmentEndTime) { + this.#attachmentEndTime = attachment.logTime; } } } - private errorWithLibrary(message: string): Error { + #errorWithLibrary(message: string): Error { return new Error(`${message} [library=${this.header.library}]`); } @@ -321,8 +324,8 @@ export class McapIndexedReader { ): AsyncGenerator { const { topics, - startTime = this.messageStartTime, - endTime = this.messageEndTime, + startTime = this.#messageStartTime, + endTime = this.#messageEndTime, reverse = false, validateCrcs, } = args; @@ -357,7 +360,7 @@ export class McapIndexedReader { for (let cursor; (cursor = chunkCursors.peek()); ) { if (!cursor.hasMessageIndexes()) { // If we encounter a chunk whose message indexes have not been loaded yet, load them and re-organize the heap. - await cursor.loadMessageIndexes(this.readable); + await cursor.loadMessageIndexes(this.#readable); if (cursor.hasMoreMessages()) { chunkCursors.replace(cursor); } else { @@ -368,7 +371,7 @@ export class McapIndexedReader { let chunkView = chunkViewCache.get(cursor.chunkIndex.chunkStartOffset); if (!chunkView) { - chunkView = await this.loadChunkData(cursor.chunkIndex, { + chunkView = await this.#loadChunkData(cursor.chunkIndex, { validateCrcs: validateCrcs ?? true, }); chunkViewCache.set(cursor.chunkIndex.chunkStartOffset, chunkView); @@ -376,7 +379,7 @@ export class McapIndexedReader { const [logTime, offset] = cursor.popMessage(); if (offset >= BigInt(chunkView.byteLength)) { - throw this.errorWithLibrary( + throw this.#errorWithLibrary( `Message offset beyond chunk bounds (log time ${logTime}, offset ${offset}, chunk data length ${chunkView.byteLength}) in chunk at offset ${cursor.chunkIndex.chunkStartOffset}`, ); } @@ -386,17 +389,17 @@ export class McapIndexedReader { validateCrcs: validateCrcs ?? true, }); if (!result.record) { - throw this.errorWithLibrary( + throw this.#errorWithLibrary( `Unable to parse record at offset ${offset} in chunk at offset ${cursor.chunkIndex.chunkStartOffset}`, ); } if (result.record.type !== "Message") { - throw this.errorWithLibrary( + throw this.#errorWithLibrary( `Unexpected record type ${result.record.type} in message index (time ${logTime}, offset ${offset} in chunk at offset ${cursor.chunkIndex.chunkStartOffset})`, ); } if (result.record.logTime !== logTime) { - throw this.errorWithLibrary( + throw this.#errorWithLibrary( `Message log time ${result.record.logTime} did not match message index entry (${logTime} at offset ${offset} in chunk at offset ${cursor.chunkIndex.chunkStartOffset})`, ); } @@ -422,14 +425,14 @@ export class McapIndexedReader { if (name != undefined && metadataIndex.name !== name) { continue; } - const metadataData = await this.readable.read(metadataIndex.offset, metadataIndex.length); + const metadataData = await this.#readable.read(metadataIndex.offset, metadataIndex.length); const metadataResult = parseRecord({ view: new DataView(metadataData.buffer, metadataData.byteOffset, metadataData.byteLength), startOffset: 0, validateCrcs: false, }); if (metadataResult.record?.type !== "Metadata") { - throw this.errorWithLibrary( + throw this.#errorWithLibrary( `Metadata data at offset ${ metadataIndex.offset } does not point to metadata record (found ${String(metadataResult.record?.type)})`, @@ -451,8 +454,8 @@ export class McapIndexedReader { const { name, mediaType, - startTime = this.attachmentStartTime, - endTime = this.attachmentEndTime, + startTime = this.#attachmentStartTime, + endTime = this.#attachmentEndTime, validateCrcs, } = args; @@ -470,7 +473,7 @@ export class McapIndexedReader { if (attachmentIndex.logTime > endTime || attachmentIndex.logTime < startTime) { continue; } - const attachmentData = await this.readable.read( + const attachmentData = await this.#readable.read( attachmentIndex.offset, attachmentIndex.length, ); @@ -484,7 +487,7 @@ export class McapIndexedReader { validateCrcs: validateCrcs ?? true, }); if (attachmentResult.record?.type !== "Attachment") { - throw this.errorWithLibrary( + throw this.#errorWithLibrary( `Attachment data at offset ${ attachmentIndex.offset } does not point to attachment record (found ${String(attachmentResult.record?.type)})`, @@ -494,18 +497,21 @@ export class McapIndexedReader { } } - private async loadChunkData( + async #loadChunkData( chunkIndex: TypedMcapRecords["ChunkIndex"], options?: { validateCrcs: boolean }, ): Promise { - const chunkData = await this.readable.read(chunkIndex.chunkStartOffset, chunkIndex.chunkLength); + const chunkData = await this.#readable.read( + chunkIndex.chunkStartOffset, + chunkIndex.chunkLength, + ); const chunkResult = parseRecord({ view: new DataView(chunkData.buffer, chunkData.byteOffset, chunkData.byteLength), startOffset: 0, validateCrcs: options?.validateCrcs ?? true, }); if (chunkResult.record?.type !== "Chunk") { - throw this.errorWithLibrary( + throw this.#errorWithLibrary( `Chunk start offset ${ chunkIndex.chunkStartOffset } does not point to chunk record (found ${String(chunkResult.record?.type)})`, @@ -515,16 +521,16 @@ export class McapIndexedReader { const chunk = chunkResult.record; let buffer = chunk.records; if (chunk.compression !== "" && buffer.byteLength > 0) { - const decompress = this.decompressHandlers?.[chunk.compression]; + const decompress = this.#decompressHandlers?.[chunk.compression]; if (!decompress) { - throw this.errorWithLibrary(`Unsupported compression ${chunk.compression}`); + throw this.#errorWithLibrary(`Unsupported compression ${chunk.compression}`); } buffer = decompress(buffer, chunk.uncompressedSize); } if (chunk.uncompressedCrc !== 0 && options?.validateCrcs !== false) { const chunkCrc = crc32(buffer); if (chunkCrc !== chunk.uncompressedCrc) { - throw this.errorWithLibrary( + throw this.#errorWithLibrary( `Incorrect chunk CRC ${chunkCrc} (expected ${chunk.uncompressedCrc})`, ); } diff --git a/typescript/core/src/McapRecordBuilder.ts b/typescript/core/src/McapRecordBuilder.ts index 50d1fb48f7..b5f124fad3 100644 --- a/typescript/core/src/McapRecordBuilder.ts +++ b/typescript/core/src/McapRecordBuilder.ts @@ -35,41 +35,41 @@ type Options = { * own higher level writing interface. */ export class McapRecordBuilder { - private bufferBuilder = new BufferBuilder(); + #bufferBuilder = new BufferBuilder(); constructor(private options?: Options) {} get length(): number { - return this.bufferBuilder.length; + return this.#bufferBuilder.length; } get buffer(): Uint8Array { - return this.bufferBuilder.buffer; + return this.#bufferBuilder.buffer; } reset(): void { - this.bufferBuilder.reset(); + this.#bufferBuilder.reset(); } writeMagic(): void { - this.bufferBuilder.bytes(new Uint8Array(MCAP_MAGIC)); + this.#bufferBuilder.bytes(new Uint8Array(MCAP_MAGIC)); } writeHeader(header: Header): bigint { - this.bufferBuilder.uint8(Opcode.HEADER); + this.#bufferBuilder.uint8(Opcode.HEADER); - const startPosition = this.bufferBuilder.length; - this.bufferBuilder + const startPosition = this.#bufferBuilder.length; + this.#bufferBuilder .uint64(0n) // placeholder size .string(header.profile) .string(header.library); if (this.options?.padRecords === true) { - this.bufferBuilder.uint8(0x01).uint8(0xff).uint8(0xff); + this.#bufferBuilder.uint8(0x01).uint8(0xff).uint8(0xff); } - const endPosition = this.bufferBuilder.length; - this.bufferBuilder + const endPosition = this.#bufferBuilder.length; + this.#bufferBuilder .seek(startPosition) .uint64(BigInt(endPosition - startPosition - 8)) .seek(endPosition); @@ -78,7 +78,7 @@ export class McapRecordBuilder { } writeFooter(footer: Footer): bigint { - this.bufferBuilder + this.#bufferBuilder .uint8(Opcode.FOOTER) .uint64(20n) // footer is fixed length .uint64(footer.summaryStart) @@ -89,10 +89,10 @@ export class McapRecordBuilder { } writeSchema(schema: Schema): bigint { - this.bufferBuilder.uint8(Opcode.SCHEMA); + this.#bufferBuilder.uint8(Opcode.SCHEMA); - const startPosition = this.bufferBuilder.length; - this.bufferBuilder + const startPosition = this.#bufferBuilder.length; + this.#bufferBuilder .uint64(0n) // placeholder .uint16(schema.id) .string(schema.name) @@ -101,10 +101,10 @@ export class McapRecordBuilder { .bytes(schema.data); if (this.options?.padRecords === true) { - this.bufferBuilder.uint8(0x01).uint8(0xff).uint8(0xff); + this.#bufferBuilder.uint8(0x01).uint8(0xff).uint8(0xff); } - const endPosition = this.bufferBuilder.length; - this.bufferBuilder + const endPosition = this.#bufferBuilder.length; + this.#bufferBuilder .seek(startPosition) .uint64(BigInt(endPosition - startPosition - 8)) .seek(endPosition); @@ -113,25 +113,25 @@ export class McapRecordBuilder { } writeChannel(info: Channel): bigint { - this.bufferBuilder.uint8(Opcode.CHANNEL); + this.#bufferBuilder.uint8(Opcode.CHANNEL); - const startPosition = this.bufferBuilder.length; - this.bufferBuilder + const startPosition = this.#bufferBuilder.length; + this.#bufferBuilder .uint64(0n) // placeholder .uint16(info.id) .uint16(info.schemaId) .string(info.topic) .string(info.messageEncoding) .tupleArray( - (key) => this.bufferBuilder.string(key), - (value) => this.bufferBuilder.string(value), + (key) => this.#bufferBuilder.string(key), + (value) => this.#bufferBuilder.string(value), info.metadata, ); if (this.options?.padRecords === true) { - this.bufferBuilder.uint8(0x01).uint8(0xff).uint8(0xff); + this.#bufferBuilder.uint8(0x01).uint8(0xff).uint8(0xff); } - const endPosition = this.bufferBuilder.length; - this.bufferBuilder + const endPosition = this.#bufferBuilder.length; + this.#bufferBuilder .seek(startPosition) .uint64(BigInt(endPosition - startPosition - 8)) .seek(endPosition); @@ -140,9 +140,9 @@ export class McapRecordBuilder { } writeMessage(message: Message): void { - this.bufferBuilder.uint8(Opcode.MESSAGE); - const startPosition = this.bufferBuilder.length; - this.bufferBuilder + this.#bufferBuilder.uint8(Opcode.MESSAGE); + const startPosition = this.#bufferBuilder.length; + this.#bufferBuilder .uint64(0n) // placeholder .uint16(message.channelId) .uint32(message.sequence) @@ -150,40 +150,40 @@ export class McapRecordBuilder { .uint64(message.publishTime) .bytes(message.data); // message record cannot be padded - const endPosition = this.bufferBuilder.length; - this.bufferBuilder + const endPosition = this.#bufferBuilder.length; + this.#bufferBuilder .seek(startPosition) .uint64(BigInt(endPosition - startPosition - 8)) .seek(endPosition); } writeAttachment(attachment: Attachment): bigint { - this.bufferBuilder.uint8(Opcode.ATTACHMENT); + this.#bufferBuilder.uint8(Opcode.ATTACHMENT); - const startPosition = this.bufferBuilder.length; - this.bufferBuilder.uint64(0n); // placeholder - const crcStartPosition = this.bufferBuilder.length; - this.bufferBuilder + const startPosition = this.#bufferBuilder.length; + this.#bufferBuilder.uint64(0n); // placeholder + const crcStartPosition = this.#bufferBuilder.length; + this.#bufferBuilder .uint64(attachment.logTime) .uint64(attachment.createTime) .string(attachment.name) .string(attachment.mediaType) .uint64(BigInt(attachment.data.byteLength)) .bytes(attachment.data); - this.bufferBuilder.uint32( + this.#bufferBuilder.uint32( crc32( - this.bufferBuilder.bufferView( + this.#bufferBuilder.bufferView( crcStartPosition, - this.bufferBuilder.length - crcStartPosition, + this.#bufferBuilder.length - crcStartPosition, ), ), ); if (this.options?.padRecords === true) { - this.bufferBuilder.uint8(0x01).uint8(0xff).uint8(0xff); + this.#bufferBuilder.uint8(0x01).uint8(0xff).uint8(0xff); } - const endPosition = this.bufferBuilder.length; - this.bufferBuilder + const endPosition = this.#bufferBuilder.length; + this.#bufferBuilder .seek(startPosition) .uint64(BigInt(endPosition - startPosition - 8)) .seek(endPosition); @@ -192,10 +192,10 @@ export class McapRecordBuilder { } writeAttachmentIndex(attachmentIndex: AttachmentIndex): bigint { - this.bufferBuilder.uint8(Opcode.ATTACHMENT_INDEX); + this.#bufferBuilder.uint8(Opcode.ATTACHMENT_INDEX); - const startPosition = this.bufferBuilder.length; - this.bufferBuilder + const startPosition = this.#bufferBuilder.length; + this.#bufferBuilder .uint64(0n) // placeholder .uint64(attachmentIndex.offset) .uint64(attachmentIndex.length) @@ -205,11 +205,11 @@ export class McapRecordBuilder { .string(attachmentIndex.name) .string(attachmentIndex.mediaType); if (this.options?.padRecords === true) { - this.bufferBuilder.uint8(0x01).uint8(0xff).uint8(0xff); + this.#bufferBuilder.uint8(0x01).uint8(0xff).uint8(0xff); } - const endPosition = this.bufferBuilder.length; - this.bufferBuilder + const endPosition = this.#bufferBuilder.length; + this.#bufferBuilder .seek(startPosition) .uint64(BigInt(endPosition - startPosition - 8)) .seek(endPosition); @@ -218,10 +218,10 @@ export class McapRecordBuilder { } writeChunk(chunk: Chunk): bigint { - this.bufferBuilder.uint8(Opcode.CHUNK); + this.#bufferBuilder.uint8(Opcode.CHUNK); - const startPosition = this.bufferBuilder.length; - this.bufferBuilder + const startPosition = this.#bufferBuilder.length; + this.#bufferBuilder .uint64(0n) // placeholder .uint64(chunk.messageStartTime) .uint64(chunk.messageEndTime) @@ -231,8 +231,8 @@ export class McapRecordBuilder { .uint64(BigInt(chunk.records.byteLength)) .bytes(chunk.records); // chunk record cannot be padded - const endPosition = this.bufferBuilder.length; - this.bufferBuilder + const endPosition = this.#bufferBuilder.length; + this.#bufferBuilder .seek(startPosition) .uint64(BigInt(endPosition - startPosition - 8)) .seek(endPosition); @@ -241,10 +241,10 @@ export class McapRecordBuilder { } writeChunkIndex(chunkIndex: ChunkIndex): bigint { - this.bufferBuilder.uint8(Opcode.CHUNK_INDEX); + this.#bufferBuilder.uint8(Opcode.CHUNK_INDEX); - const startPosition = this.bufferBuilder.length; - this.bufferBuilder + const startPosition = this.#bufferBuilder.length; + this.#bufferBuilder .uint64(0n) // placeholder .uint64(chunkIndex.messageStartTime) .uint64(chunkIndex.messageEndTime) @@ -253,20 +253,20 @@ export class McapRecordBuilder { .uint32(chunkIndex.messageIndexOffsets.size * 10); for (const [channelId, offset] of chunkIndex.messageIndexOffsets) { - this.bufferBuilder.uint16(channelId).uint64(offset); + this.#bufferBuilder.uint16(channelId).uint64(offset); } - this.bufferBuilder + this.#bufferBuilder .uint64(chunkIndex.messageIndexLength) .string(chunkIndex.compression) .uint64(chunkIndex.compressedSize) .uint64(chunkIndex.uncompressedSize); if (this.options?.padRecords === true) { - this.bufferBuilder.uint8(0x01).uint8(0xff).uint8(0xff); + this.#bufferBuilder.uint8(0x01).uint8(0xff).uint8(0xff); } - const endPosition = this.bufferBuilder.length; - this.bufferBuilder + const endPosition = this.#bufferBuilder.length; + this.#bufferBuilder .seek(startPosition) .uint64(BigInt(endPosition - startPosition - 8)) .seek(endPosition); @@ -275,26 +275,26 @@ export class McapRecordBuilder { } writeMessageIndex(messageIndex: MessageIndex): bigint { - this.bufferBuilder.uint8(Opcode.MESSAGE_INDEX); - const startPosition = this.bufferBuilder.length; + this.#bufferBuilder.uint8(Opcode.MESSAGE_INDEX); + const startPosition = this.#bufferBuilder.length; // each records tuple is a fixed byte length const messageIndexRecordsByteLength = messageIndex.records.length * 16; - this.bufferBuilder + this.#bufferBuilder .uint64(0n) // placeholder .uint16(messageIndex.channelId) .uint32(messageIndexRecordsByteLength); for (const record of messageIndex.records) { - this.bufferBuilder.uint64(record[0]).uint64(record[1]); + this.#bufferBuilder.uint64(record[0]).uint64(record[1]); } if (this.options?.padRecords === true) { - this.bufferBuilder.uint8(0x01).uint8(0xff).uint8(0xff); + this.#bufferBuilder.uint8(0x01).uint8(0xff).uint8(0xff); } - const endPosition = this.bufferBuilder.length; - this.bufferBuilder + const endPosition = this.#bufferBuilder.length; + this.#bufferBuilder .seek(startPosition) .uint64(BigInt(endPosition - startPosition - 8)) .seek(endPosition); @@ -302,23 +302,23 @@ export class McapRecordBuilder { } writeMetadata(metadata: Metadata): bigint { - this.bufferBuilder.uint8(Opcode.METADATA); + this.#bufferBuilder.uint8(Opcode.METADATA); - const startPosition = this.bufferBuilder.length; - this.bufferBuilder + const startPosition = this.#bufferBuilder.length; + this.#bufferBuilder .uint64(0n) // placeholder size .string(metadata.name) .tupleArray( - (key) => this.bufferBuilder.string(key), - (value) => this.bufferBuilder.string(value), + (key) => this.#bufferBuilder.string(key), + (value) => this.#bufferBuilder.string(value), metadata.metadata, ); if (this.options?.padRecords === true) { - this.bufferBuilder.uint8(0x01).uint8(0xff).uint8(0xff); + this.#bufferBuilder.uint8(0x01).uint8(0xff).uint8(0xff); } - const endPosition = this.bufferBuilder.length; - this.bufferBuilder + const endPosition = this.#bufferBuilder.length; + this.#bufferBuilder .seek(startPosition) .uint64(BigInt(endPosition - startPosition - 8)) .seek(endPosition); @@ -327,20 +327,20 @@ export class McapRecordBuilder { } writeMetadataIndex(metadataIndex: MetadataIndex): bigint { - this.bufferBuilder.uint8(Opcode.METADATA_INDEX); + this.#bufferBuilder.uint8(Opcode.METADATA_INDEX); - const startPosition = this.bufferBuilder.length; - this.bufferBuilder + const startPosition = this.#bufferBuilder.length; + this.#bufferBuilder .uint64(0n) // placeholder size .uint64(metadataIndex.offset) .uint64(metadataIndex.length) .string(metadataIndex.name); if (this.options?.padRecords === true) { - this.bufferBuilder.uint8(0x01).uint8(0xff).uint8(0xff); + this.#bufferBuilder.uint8(0x01).uint8(0xff).uint8(0xff); } - const endPosition = this.bufferBuilder.length; - this.bufferBuilder + const endPosition = this.#bufferBuilder.length; + this.#bufferBuilder .seek(startPosition) .uint64(BigInt(endPosition - startPosition - 8)) .seek(endPosition); @@ -349,20 +349,20 @@ export class McapRecordBuilder { } writeSummaryOffset(summaryOffset: SummaryOffset): bigint { - this.bufferBuilder.uint8(Opcode.SUMMARY_OFFSET); + this.#bufferBuilder.uint8(Opcode.SUMMARY_OFFSET); - const startPosition = this.bufferBuilder.length; - this.bufferBuilder + const startPosition = this.#bufferBuilder.length; + this.#bufferBuilder .uint64(0n) // placeholder size .uint8(summaryOffset.groupOpcode) .uint64(summaryOffset.groupStart) .uint64(summaryOffset.groupLength); if (this.options?.padRecords === true) { - this.bufferBuilder.uint8(0x01).uint8(0xff).uint8(0xff); + this.#bufferBuilder.uint8(0x01).uint8(0xff).uint8(0xff); } - const endPosition = this.bufferBuilder.length; - this.bufferBuilder + const endPosition = this.#bufferBuilder.length; + this.#bufferBuilder .seek(startPosition) .uint64(BigInt(endPosition - startPosition - 8)) .seek(endPosition); @@ -371,11 +371,11 @@ export class McapRecordBuilder { } writeStatistics(statistics: Statistics): bigint { - this.bufferBuilder.uint8(Opcode.STATISTICS); + this.#bufferBuilder.uint8(Opcode.STATISTICS); - const startPosition = this.bufferBuilder.length; + const startPosition = this.#bufferBuilder.length; - this.bufferBuilder + this.#bufferBuilder .uint64(0n) // placeholder size .uint64(statistics.messageCount) .uint16(statistics.schemaCount) @@ -386,16 +386,16 @@ export class McapRecordBuilder { .uint64(statistics.messageStartTime) .uint64(statistics.messageEndTime) .tupleArray( - (key) => this.bufferBuilder.uint16(key), - (value) => this.bufferBuilder.uint64(value), + (key) => this.#bufferBuilder.uint16(key), + (value) => this.#bufferBuilder.uint64(value), statistics.channelMessageCounts, ); if (this.options?.padRecords === true) { - this.bufferBuilder.uint8(0x01).uint8(0xff).uint8(0xff); + this.#bufferBuilder.uint8(0x01).uint8(0xff).uint8(0xff); } - const endPosition = this.bufferBuilder.length; - this.bufferBuilder + const endPosition = this.#bufferBuilder.length; + this.#bufferBuilder .seek(startPosition) .uint64(BigInt(endPosition - startPosition - 8)) .seek(endPosition); @@ -404,18 +404,18 @@ export class McapRecordBuilder { } writeDataEnd(dataEnd: DataEnd): bigint { - this.bufferBuilder.uint8(Opcode.DATA_END); + this.#bufferBuilder.uint8(Opcode.DATA_END); - const startPosition = this.bufferBuilder.length; - this.bufferBuilder + const startPosition = this.#bufferBuilder.length; + this.#bufferBuilder .uint64(0n) // placeholder size .uint32(dataEnd.dataSectionCrc); if (this.options?.padRecords === true) { - this.bufferBuilder.uint8(0x01).uint8(0xff).uint8(0xff); + this.#bufferBuilder.uint8(0x01).uint8(0xff).uint8(0xff); } - const endPosition = this.bufferBuilder.length; - this.bufferBuilder + const endPosition = this.#bufferBuilder.length; + this.#bufferBuilder .seek(startPosition) .uint64(BigInt(endPosition - startPosition - 8)) .seek(endPosition); diff --git a/typescript/core/src/McapStreamReader.test.ts b/typescript/core/src/McapStreamReader.test.ts index f75ba6defd..2d392979c3 100644 --- a/typescript/core/src/McapStreamReader.test.ts +++ b/typescript/core/src/McapStreamReader.test.ts @@ -160,7 +160,9 @@ describe("McapStreamReader", () => { summaryCrc: 0x01234567, }); expect(reader.done()).toBe(true); - expect(() => reader.append(new Uint8Array([42]))).toThrow("Already done reading"); + expect(() => { + reader.append(new Uint8Array([42])); + }).toThrow("Already done reading"); }); it("rejects extraneous data at end of file", () => { @@ -493,38 +495,36 @@ describe("McapStreamReader", () => { ...(testType === "unchunked file" ? [...channel, ...channel2] : testType === "same chunk" - ? record(Opcode.CHUNK, [ - ...uint64LE(0n), // start_time - ...uint64LE(0n), // end_time - ...uint64LE(0n), // decompressed size - ...uint32LE(crc32(new Uint8Array([...channel, ...channel2]))), // decompressed crc32 - ...string(""), // compression - ...uint64LE(BigInt(channel.byteLength + channel2.byteLength)), - ...channel, - ...channel2, - ]) - : testType === "different chunks" - ? [ - ...record(Opcode.CHUNK, [ + ? record(Opcode.CHUNK, [ ...uint64LE(0n), // start_time ...uint64LE(0n), // end_time ...uint64LE(0n), // decompressed size - ...uint32LE(crc32(new Uint8Array(channel))), // decompressed crc32 + ...uint32LE(crc32(new Uint8Array([...channel, ...channel2]))), // decompressed crc32 ...string(""), // compression - ...uint64LE(BigInt(channel.byteLength)), + ...uint64LE(BigInt(channel.byteLength + channel2.byteLength)), ...channel, - ]), - ...record(Opcode.CHUNK, [ - ...uint64LE(0n), // start_time - ...uint64LE(0n), // end_time - ...uint64LE(0n), // decompressed size - ...uint32LE(crc32(new Uint8Array(channel2))), // decompressed crc32 - ...string(""), // compression - ...uint64LE(BigInt(channel2.byteLength)), ...channel2, + ]) + : [ + ...record(Opcode.CHUNK, [ + ...uint64LE(0n), // start_time + ...uint64LE(0n), // end_time + ...uint64LE(0n), // decompressed size + ...uint32LE(crc32(new Uint8Array(channel))), // decompressed crc32 + ...string(""), // compression + ...uint64LE(BigInt(channel.byteLength)), + ...channel, + ]), + ...record(Opcode.CHUNK, [ + ...uint64LE(0n), // start_time + ...uint64LE(0n), // end_time + ...uint64LE(0n), // decompressed size + ...uint32LE(crc32(new Uint8Array(channel2))), // decompressed crc32 + ...string(""), // compression + ...uint64LE(BigInt(channel2.byteLength)), + ...channel2, + ]), ]), - ] - : []), ...record(Opcode.FOOTER, [ ...uint64LE(0n), // summary start diff --git a/typescript/core/src/McapStreamReader.ts b/typescript/core/src/McapStreamReader.ts index 9d40c3993b..ddd412ef38 100644 --- a/typescript/core/src/McapStreamReader.ts +++ b/typescript/core/src/McapStreamReader.ts @@ -50,14 +50,14 @@ type McapReaderOptions = { * ``` */ export default class McapStreamReader { - private buffer = new StreamBuffer(MCAP_MAGIC.length * 2); - private decompressHandlers; - private includeChunks; - private validateCrcs; - private noMagicPrefix; - private doneReading = false; - private generator = this.read(); - private channelsById = new Map(); + #buffer = new StreamBuffer(MCAP_MAGIC.length * 2); + #decompressHandlers; + #includeChunks; + #validateCrcs; + #noMagicPrefix; + #doneReading = false; + #generator = this.#read(); + #channelsById = new Map(); constructor({ includeChunks = false, @@ -65,20 +65,20 @@ export default class McapStreamReader { validateCrcs = true, noMagicPrefix = false, }: McapReaderOptions = {}) { - this.includeChunks = includeChunks; - this.decompressHandlers = decompressHandlers; - this.validateCrcs = validateCrcs; - this.noMagicPrefix = noMagicPrefix; + this.#includeChunks = includeChunks; + this.#decompressHandlers = decompressHandlers; + this.#validateCrcs = validateCrcs; + this.#noMagicPrefix = noMagicPrefix; } /** @returns True if a valid, complete mcap file has been parsed. */ done(): boolean { - return this.doneReading; + return this.#doneReading; } /** @returns The number of bytes that have been received by `append()` but not yet parsed. */ bytesRemaining(): number { - return this.buffer.bytesRemaining(); + return this.#buffer.bytesRemaining(); } /** @@ -86,10 +86,10 @@ export default class McapStreamReader { * call `nextRecord()` again to parse any records that are now available. */ append(data: Uint8Array): void { - if (this.doneReading) { + if (this.#doneReading) { throw new Error("Already done reading"); } - this.buffer.append(data); + this.#buffer.append(data); } /** @@ -100,14 +100,14 @@ export default class McapStreamReader { * reader is in an unspecified state and should no longer be used. */ nextRecord(): TypedMcapRecord | undefined { - if (this.doneReading) { + if (this.#doneReading) { return undefined; } - const result = this.generator.next(); + const result = this.#generator.next(); if (result.value?.type === "Channel") { - const existing = this.channelsById.get(result.value.id); - this.channelsById.set(result.value.id, result.value); + const existing = this.#channelsById.get(result.value.id); + this.#channelsById.set(result.value.id, result.value); if (existing && !isChannelEqual(existing, result.value)) { throw new Error( `Channel record for id ${result.value.id} (topic: ${result.value.topic}) differs from previous channel record of the same id.`, @@ -115,25 +115,25 @@ export default class McapStreamReader { } } else if (result.value?.type === "Message") { const channelId = result.value.channelId; - const existing = this.channelsById.get(channelId); + const existing = this.#channelsById.get(channelId); if (!existing) { throw new Error(`Encountered message on channel ${channelId} without prior channel record`); } } if (result.done === true) { - this.doneReading = true; + this.#doneReading = true; } return result.value; } - private *read(): Generator { - if (!this.noMagicPrefix) { + *#read(): Generator { + if (!this.#noMagicPrefix) { let magic: McapMagic | undefined, usedBytes: number | undefined; - while ((({ magic, usedBytes } = parseMagic(this.buffer.view, 0)), !magic)) { + while ((({ magic, usedBytes } = parseMagic(this.#buffer.view, 0)), !magic)) { yield; } - this.buffer.consume(usedBytes); + this.#buffer.consume(usedBytes); } let header: TypedMcapRecords["Header"] | undefined; @@ -148,15 +148,15 @@ export default class McapStreamReader { let usedBytes; while ( (({ record, usedBytes } = parseRecord({ - view: this.buffer.view, + view: this.#buffer.view, startOffset: 0, - validateCrcs: this.validateCrcs, + validateCrcs: this.#validateCrcs, })), !record) ) { yield; } - this.buffer.consume(usedBytes); + this.#buffer.consume(usedBytes); } switch (record.type) { case "Unknown": @@ -186,18 +186,18 @@ export default class McapStreamReader { break; case "Chunk": { - if (this.includeChunks) { + if (this.#includeChunks) { yield record; } let buffer = record.records; if (record.compression !== "" && buffer.byteLength > 0) { - const decompress = this.decompressHandlers[record.compression]; + const decompress = this.#decompressHandlers[record.compression]; if (!decompress) { throw errorWithLibrary(`Unsupported compression ${record.compression}`); } buffer = decompress(buffer, record.uncompressedSize); } - if (this.validateCrcs && record.uncompressedCrc !== 0) { + if (this.#validateCrcs && record.uncompressedCrc !== 0) { const chunkCrc = crc32(buffer); if (chunkCrc !== record.uncompressedCrc) { throw errorWithLibrary( @@ -212,7 +212,7 @@ export default class McapStreamReader { (chunkResult = parseRecord({ view, startOffset: chunkOffset, - validateCrcs: this.validateCrcs, + validateCrcs: this.#validateCrcs, })), chunkResult.record; chunkOffset += chunkResult.usedBytes @@ -250,16 +250,16 @@ export default class McapStreamReader { case "Footer": try { let magic, usedBytes; - while ((({ magic, usedBytes } = parseMagic(this.buffer.view, 0)), !magic)) { + while ((({ magic, usedBytes } = parseMagic(this.#buffer.view, 0)), !magic)) { yield; } - this.buffer.consume(usedBytes); + this.#buffer.consume(usedBytes); } catch (error) { throw errorWithLibrary((error as Error).message); } - if (this.buffer.bytesRemaining() !== 0) { + if (this.#buffer.bytesRemaining() !== 0) { throw errorWithLibrary( - `${this.buffer.bytesRemaining()} bytes remaining after MCAP footer and trailing magic`, + `${this.#buffer.bytesRemaining()} bytes remaining after MCAP footer and trailing magic`, ); } return record; diff --git a/typescript/core/src/McapWriter.ts b/typescript/core/src/McapWriter.ts index d8dd941096..5ff9521675 100644 --- a/typescript/core/src/McapWriter.ts +++ b/typescript/core/src/McapWriter.ts @@ -44,30 +44,30 @@ export type McapWriterOptions = { * MCAP file. */ export class McapWriter { - private nextChannelId = 0; - private nextSchemaId = 1; - private writable: IWritable; - private recordWriter = new McapRecordBuilder(); - private schemas = new Map(); - private channels = new Map(); - private writtenSchemaIds = new Set(); - private writtenChannelIds = new Set(); - private chunkBuilder: ChunkBuilder | undefined; - private compressChunk: + #nextChannelId = 0; + #nextSchemaId = 1; + #writable: IWritable; + #recordWriter = new McapRecordBuilder(); + #schemas = new Map(); + #channels = new Map(); + #writtenSchemaIds = new Set(); + #writtenChannelIds = new Set(); + #chunkBuilder: ChunkBuilder | undefined; + #compressChunk: | ((chunkData: Uint8Array) => { compression: string; compressedData: Uint8Array }) | undefined; - private chunkSize: number; - private dataSectionCrc = crc32Init(); + #chunkSize: number; + #dataSectionCrc = crc32Init(); public statistics: Statistics | undefined; - private useSummaryOffsets: boolean; - private repeatSchemas: boolean; - private repeatChannels: boolean; + #useSummaryOffsets: boolean; + #repeatSchemas: boolean; + #repeatChannels: boolean; // indices - private chunkIndices: ChunkIndex[] | undefined; - private attachmentIndices: AttachmentIndex[] | undefined; - private metadataIndices: MetadataIndex[] | undefined; + #chunkIndices: ChunkIndex[] | undefined; + #attachmentIndices: AttachmentIndex[] | undefined; + #metadataIndices: MetadataIndex[] | undefined; constructor(options: McapWriterOptions) { const { @@ -86,8 +86,8 @@ export class McapWriter { compressChunk, } = options; - this.writable = writable; - this.useSummaryOffsets = useSummaryOffsets; + this.#writable = writable; + this.#useSummaryOffsets = useSummaryOffsets; if (useStatistics) { this.statistics = { messageCount: 0n, @@ -102,54 +102,54 @@ export class McapWriter { }; } if (useChunks) { - this.chunkBuilder = new ChunkBuilder({ useMessageIndex }); + this.#chunkBuilder = new ChunkBuilder({ useMessageIndex }); } - this.repeatSchemas = repeatSchemas; - this.repeatChannels = repeatChannels; + this.#repeatSchemas = repeatSchemas; + this.#repeatChannels = repeatChannels; if (useAttachmentIndex) { - this.attachmentIndices = []; + this.#attachmentIndices = []; } if (useMetadataIndex) { - this.metadataIndices = []; + this.#metadataIndices = []; } if (useChunkIndex) { - this.chunkIndices = []; + this.#chunkIndices = []; } - this.nextChannelId = startChannelId; - this.chunkSize = chunkSize; - this.compressChunk = compressChunk; + this.#nextChannelId = startChannelId; + this.#chunkSize = chunkSize; + this.#compressChunk = compressChunk; } async start(header: Header): Promise { - this.recordWriter.writeMagic(); - this.recordWriter.writeHeader(header); + this.#recordWriter.writeMagic(); + this.#recordWriter.writeHeader(header); - this.dataSectionCrc = crc32Update(this.dataSectionCrc, this.recordWriter.buffer); - await this.writable.write(this.recordWriter.buffer); - this.recordWriter.reset(); + this.#dataSectionCrc = crc32Update(this.#dataSectionCrc, this.#recordWriter.buffer); + await this.#writable.write(this.#recordWriter.buffer); + this.#recordWriter.reset(); } async end(): Promise { - await this.finalizeChunk(); + await this.#finalizeChunk(); - this.dataSectionCrc = crc32Update(this.dataSectionCrc, this.recordWriter.buffer); - await this.writable.write(this.recordWriter.buffer); - this.recordWriter.reset(); + this.#dataSectionCrc = crc32Update(this.#dataSectionCrc, this.#recordWriter.buffer); + await this.#writable.write(this.#recordWriter.buffer); + this.#recordWriter.reset(); - this.recordWriter.writeDataEnd({ dataSectionCrc: crc32Final(this.dataSectionCrc) }); - await this.writable.write(this.recordWriter.buffer); - this.recordWriter.reset(); + this.#recordWriter.writeDataEnd({ dataSectionCrc: crc32Final(this.#dataSectionCrc) }); + await this.#writable.write(this.#recordWriter.buffer); + this.#recordWriter.reset(); const summaryOffsets: SummaryOffset[] = []; - const summaryStart = this.writable.position(); + const summaryStart = this.#writable.position(); let summaryCrc = crc32Init(); - if (this.repeatSchemas) { - const schemaStart = this.writable.position(); + if (this.#repeatSchemas) { + const schemaStart = this.#writable.position(); let schemaLength = 0n; - for (const schema of this.schemas.values()) { - schemaLength += this.recordWriter.writeSchema(schema); + for (const schema of this.#schemas.values()) { + schemaLength += this.#recordWriter.writeSchema(schema); } summaryOffsets.push({ groupOpcode: Opcode.SCHEMA, @@ -158,14 +158,14 @@ export class McapWriter { }); } - if (this.repeatChannels) { - summaryCrc = crc32Update(summaryCrc, this.recordWriter.buffer); - await this.writable.write(this.recordWriter.buffer); - this.recordWriter.reset(); - const channelStart = this.writable.position(); + if (this.#repeatChannels) { + summaryCrc = crc32Update(summaryCrc, this.#recordWriter.buffer); + await this.#writable.write(this.#recordWriter.buffer); + this.#recordWriter.reset(); + const channelStart = this.#writable.position(); let channelLength = 0n; - for (const channel of this.channels.values()) { - channelLength += this.recordWriter.writeChannel(channel); + for (const channel of this.#channels.values()) { + channelLength += this.#recordWriter.writeChannel(channel); } summaryOffsets.push({ groupOpcode: Opcode.CHANNEL, @@ -175,11 +175,11 @@ export class McapWriter { } if (this.statistics) { - summaryCrc = crc32Update(summaryCrc, this.recordWriter.buffer); - await this.writable.write(this.recordWriter.buffer); - this.recordWriter.reset(); - const statisticsStart = this.writable.position(); - const statisticsLength = this.recordWriter.writeStatistics(this.statistics); + summaryCrc = crc32Update(summaryCrc, this.#recordWriter.buffer); + await this.#writable.write(this.#recordWriter.buffer); + this.#recordWriter.reset(); + const statisticsStart = this.#writable.position(); + const statisticsLength = this.#recordWriter.writeStatistics(this.statistics); summaryOffsets.push({ groupOpcode: Opcode.STATISTICS, groupStart: statisticsStart, @@ -187,18 +187,18 @@ export class McapWriter { }); } - summaryCrc = crc32Update(summaryCrc, this.recordWriter.buffer); - await this.writable.write(this.recordWriter.buffer); - this.recordWriter.reset(); + summaryCrc = crc32Update(summaryCrc, this.#recordWriter.buffer); + await this.#writable.write(this.#recordWriter.buffer); + this.#recordWriter.reset(); - if (this.metadataIndices) { - summaryCrc = crc32Update(summaryCrc, this.recordWriter.buffer); - await this.writable.write(this.recordWriter.buffer); - this.recordWriter.reset(); - const metadataIndexStart = this.writable.position(); + if (this.#metadataIndices) { + summaryCrc = crc32Update(summaryCrc, this.#recordWriter.buffer); + await this.#writable.write(this.#recordWriter.buffer); + this.#recordWriter.reset(); + const metadataIndexStart = this.#writable.position(); let metadataIndexLength = 0n; - for (const metadataIndex of this.metadataIndices) { - metadataIndexLength += this.recordWriter.writeMetadataIndex(metadataIndex); + for (const metadataIndex of this.#metadataIndices) { + metadataIndexLength += this.#recordWriter.writeMetadataIndex(metadataIndex); } summaryOffsets.push({ groupOpcode: Opcode.METADATA_INDEX, @@ -207,14 +207,14 @@ export class McapWriter { }); } - if (this.attachmentIndices) { - summaryCrc = crc32Update(summaryCrc, this.recordWriter.buffer); - await this.writable.write(this.recordWriter.buffer); - this.recordWriter.reset(); - const attachmentIndexStart = this.writable.position(); + if (this.#attachmentIndices) { + summaryCrc = crc32Update(summaryCrc, this.#recordWriter.buffer); + await this.#writable.write(this.#recordWriter.buffer); + this.#recordWriter.reset(); + const attachmentIndexStart = this.#writable.position(); let attachmentIndexLength = 0n; - for (const attachmentIndex of this.attachmentIndices) { - attachmentIndexLength += this.recordWriter.writeAttachmentIndex(attachmentIndex); + for (const attachmentIndex of this.#attachmentIndices) { + attachmentIndexLength += this.#recordWriter.writeAttachmentIndex(attachmentIndex); } summaryOffsets.push({ groupOpcode: Opcode.ATTACHMENT_INDEX, @@ -223,14 +223,14 @@ export class McapWriter { }); } - if (this.chunkIndices) { - summaryCrc = crc32Update(summaryCrc, this.recordWriter.buffer); - await this.writable.write(this.recordWriter.buffer); - this.recordWriter.reset(); - const chunkIndexStart = this.writable.position(); + if (this.#chunkIndices) { + summaryCrc = crc32Update(summaryCrc, this.#recordWriter.buffer); + await this.#writable.write(this.#recordWriter.buffer); + this.#recordWriter.reset(); + const chunkIndexStart = this.#writable.position(); let chunkIndexLength = 0n; - for (const chunkIndex of this.chunkIndices) { - chunkIndexLength += this.recordWriter.writeChunkIndex(chunkIndex); + for (const chunkIndex of this.#chunkIndices) { + chunkIndexLength += this.#recordWriter.writeChunkIndex(chunkIndex); } summaryOffsets.push({ groupOpcode: Opcode.CHUNK_INDEX, @@ -239,26 +239,26 @@ export class McapWriter { }); } - summaryCrc = crc32Update(summaryCrc, this.recordWriter.buffer); - await this.writable.write(this.recordWriter.buffer); - this.recordWriter.reset(); + summaryCrc = crc32Update(summaryCrc, this.#recordWriter.buffer); + await this.#writable.write(this.#recordWriter.buffer); + this.#recordWriter.reset(); - const summaryOffsetStart = this.writable.position(); + const summaryOffsetStart = this.#writable.position(); const summaryLength = summaryOffsetStart - summaryStart; - if (this.useSummaryOffsets) { + if (this.#useSummaryOffsets) { for (const summaryOffset of summaryOffsets) { if (summaryOffset.groupLength !== 0n) { - this.recordWriter.writeSummaryOffset(summaryOffset); + this.#recordWriter.writeSummaryOffset(summaryOffset); } } } - summaryCrc = crc32Update(summaryCrc, this.recordWriter.buffer); + summaryCrc = crc32Update(summaryCrc, this.#recordWriter.buffer); const footer: Footer = { summaryStart: summaryLength === 0n ? 0n : summaryStart, - summaryOffsetStart: this.useSummaryOffsets ? summaryOffsetStart : 0n, + summaryOffsetStart: this.#useSummaryOffsets ? summaryOffsetStart : 0n, summaryCrc: 0, }; const tempBuffer = new DataView(new ArrayBuffer(1 + 8 + 8 + 8)); @@ -269,20 +269,20 @@ export class McapWriter { summaryCrc = crc32Update(summaryCrc, tempBuffer); footer.summaryCrc = crc32Final(summaryCrc); - this.recordWriter.writeFooter(footer); + this.#recordWriter.writeFooter(footer); - this.recordWriter.writeMagic(); + this.#recordWriter.writeMagic(); - await this.writable.write(this.recordWriter.buffer); - this.recordWriter.reset(); + await this.#writable.write(this.#recordWriter.buffer); + this.#recordWriter.reset(); } /** * Add a schema and return a generated schema id. The schema id is used when adding channels. */ async registerSchema(info: Omit): Promise { - const id = this.nextSchemaId++; - this.schemas.set(id, { ...info, id }); + const id = this.#nextSchemaId++; + this.#schemas.set(id, { ...info, id }); if (this.statistics) { ++this.statistics.schemaCount; } @@ -293,8 +293,8 @@ export class McapWriter { * Add a channel and return a generated channel id. The channel id is used when adding messages. */ async registerChannel(info: Omit): Promise { - const id = this.nextChannelId++; - this.channels.set(id, { ...info, id }); + const id = this.#nextChannelId++; + this.#channels.set(id, { ...info, id }); if (this.statistics) { ++this.statistics.channelCount; } @@ -321,57 +321,57 @@ export class McapWriter { ++this.statistics.messageCount; } // write out channel and schema if we have not yet done so - if (!this.writtenChannelIds.has(message.channelId)) { - const channel = this.channels.get(message.channelId); + if (!this.#writtenChannelIds.has(message.channelId)) { + const channel = this.#channels.get(message.channelId); if (!channel) { throw new Error( `McapWriter#addMessage failed: missing channel for id ${message.channelId}`, ); } - if (channel.schemaId !== 0 && !this.writtenSchemaIds.has(channel.schemaId)) { - const schema = this.schemas.get(channel.schemaId); + if (channel.schemaId !== 0 && !this.#writtenSchemaIds.has(channel.schemaId)) { + const schema = this.#schemas.get(channel.schemaId); if (!schema) { throw new Error( `McapWriter#addMessage failed: missing schema for id ${channel.schemaId}`, ); } - if (this.chunkBuilder) { - this.chunkBuilder.addSchema(schema); + if (this.#chunkBuilder) { + this.#chunkBuilder.addSchema(schema); } else { - this.recordWriter.writeSchema(schema); + this.#recordWriter.writeSchema(schema); } - this.writtenSchemaIds.add(channel.schemaId); + this.#writtenSchemaIds.add(channel.schemaId); } - if (this.chunkBuilder) { - this.chunkBuilder.addChannel(channel); + if (this.#chunkBuilder) { + this.#chunkBuilder.addChannel(channel); } else { - this.recordWriter.writeChannel(channel); + this.#recordWriter.writeChannel(channel); } - this.writtenChannelIds.add(message.channelId); + this.#writtenChannelIds.add(message.channelId); } - if (this.chunkBuilder) { - this.chunkBuilder.addMessage(message); + if (this.#chunkBuilder) { + this.#chunkBuilder.addMessage(message); } else { - this.recordWriter.writeMessage(message); + this.#recordWriter.writeMessage(message); } - if (this.chunkBuilder && this.chunkBuilder.byteLength > this.chunkSize) { - await this.finalizeChunk(); + if (this.#chunkBuilder && this.#chunkBuilder.byteLength > this.#chunkSize) { + await this.#finalizeChunk(); } } async addAttachment(attachment: Attachment): Promise { - const length = this.recordWriter.writeAttachment(attachment); + const length = this.#recordWriter.writeAttachment(attachment); if (this.statistics) { ++this.statistics.attachmentCount; } - if (this.attachmentIndices) { - const offset = this.writable.position(); - this.attachmentIndices.push({ + if (this.#attachmentIndices) { + const offset = this.#writable.position(); + this.#attachmentIndices.push({ logTime: attachment.logTime, createTime: attachment.createTime, name: attachment.name, @@ -382,76 +382,76 @@ export class McapWriter { }); } - this.dataSectionCrc = crc32Update(this.dataSectionCrc, this.recordWriter.buffer); - await this.writable.write(this.recordWriter.buffer); - this.recordWriter.reset(); + this.#dataSectionCrc = crc32Update(this.#dataSectionCrc, this.#recordWriter.buffer); + await this.#writable.write(this.#recordWriter.buffer); + this.#recordWriter.reset(); } async addMetadata(metadata: Metadata): Promise { - const recordSize = this.recordWriter.writeMetadata(metadata); + const recordSize = this.#recordWriter.writeMetadata(metadata); if (this.statistics) { ++this.statistics.metadataCount; } - if (this.metadataIndices) { - const offset = this.writable.position(); - this.metadataIndices.push({ + if (this.#metadataIndices) { + const offset = this.#writable.position(); + this.#metadataIndices.push({ name: metadata.name, offset, length: recordSize, }); } - this.dataSectionCrc = crc32Update(this.dataSectionCrc, this.recordWriter.buffer); - await this.writable.write(this.recordWriter.buffer); - this.recordWriter.reset(); + this.#dataSectionCrc = crc32Update(this.#dataSectionCrc, this.#recordWriter.buffer); + await this.#writable.write(this.#recordWriter.buffer); + this.#recordWriter.reset(); } - private async finalizeChunk(): Promise { - if (!this.chunkBuilder || this.chunkBuilder.numMessages === 0) { + async #finalizeChunk(): Promise { + if (!this.#chunkBuilder || this.#chunkBuilder.numMessages === 0) { return; } if (this.statistics) { ++this.statistics.chunkCount; } - const chunkData = this.chunkBuilder.buffer; + const chunkData = this.#chunkBuilder.buffer; const uncompressedSize = BigInt(chunkData.length); const uncompressedCrc = crc32(chunkData); let compression = ""; let compressedData = chunkData; - if (this.compressChunk) { - ({ compression, compressedData } = this.compressChunk(chunkData)); + if (this.#compressChunk) { + ({ compression, compressedData } = this.#compressChunk(chunkData)); } const chunkRecord: Chunk = { - messageStartTime: this.chunkBuilder.messageStartTime, - messageEndTime: this.chunkBuilder.messageEndTime, + messageStartTime: this.#chunkBuilder.messageStartTime, + messageEndTime: this.#chunkBuilder.messageEndTime, uncompressedSize, uncompressedCrc, compression, records: compressedData, }; - const chunkStartOffset = this.writable.position(); + const chunkStartOffset = this.#writable.position(); - const chunkLength = this.recordWriter.writeChunk(chunkRecord); + const chunkLength = this.#recordWriter.writeChunk(chunkRecord); - const messageIndexOffsets = this.chunkIndices ? new Map() : undefined; + const messageIndexOffsets = this.#chunkIndices ? new Map() : undefined; - this.dataSectionCrc = crc32Update(this.dataSectionCrc, this.recordWriter.buffer); - await this.writable.write(this.recordWriter.buffer); - this.recordWriter.reset(); + this.#dataSectionCrc = crc32Update(this.#dataSectionCrc, this.#recordWriter.buffer); + await this.#writable.write(this.#recordWriter.buffer); + this.#recordWriter.reset(); - const messageIndexStart = this.writable.position(); + const messageIndexStart = this.#writable.position(); let messageIndexLength = 0n; - for (const messageIndex of this.chunkBuilder.indices) { + for (const messageIndex of this.#chunkBuilder.indices) { messageIndexOffsets?.set(messageIndex.channelId, messageIndexStart + messageIndexLength); - messageIndexLength += this.recordWriter.writeMessageIndex(messageIndex); + messageIndexLength += this.#recordWriter.writeMessageIndex(messageIndex); } - if (this.chunkIndices) { - this.chunkIndices.push({ + if (this.#chunkIndices) { + this.#chunkIndices.push({ messageStartTime: chunkRecord.messageStartTime, messageEndTime: chunkRecord.messageEndTime, chunkStartOffset, @@ -463,10 +463,10 @@ export class McapWriter { uncompressedSize: chunkRecord.uncompressedSize, }); } - this.chunkBuilder.reset(); + this.#chunkBuilder.reset(); - this.dataSectionCrc = crc32Update(this.dataSectionCrc, this.recordWriter.buffer); - await this.writable.write(this.recordWriter.buffer); - this.recordWriter.reset(); + this.#dataSectionCrc = crc32Update(this.#dataSectionCrc, this.#recordWriter.buffer); + await this.#writable.write(this.#recordWriter.buffer); + this.#recordWriter.reset(); } } diff --git a/typescript/core/src/Reader.ts b/typescript/core/src/Reader.ts index 190ae7d4e9..c3c78f0b31 100644 --- a/typescript/core/src/Reader.ts +++ b/typescript/core/src/Reader.ts @@ -1,46 +1,46 @@ import { getBigUint64 } from "./getBigUint64"; export default class Reader { - private view: DataView; + #view: DataView; offset: number; - private textDecoder = new TextDecoder(); + #textDecoder = new TextDecoder(); constructor(view: DataView, offset = 0) { - this.view = view; + this.#view = view; this.offset = offset; } uint8(): number { - const value = this.view.getUint8(this.offset); + const value = this.#view.getUint8(this.offset); this.offset += 1; return value; } uint16(): number { - const value = this.view.getUint16(this.offset, true); + const value = this.#view.getUint16(this.offset, true); this.offset += 2; return value; } uint32(): number { - const value = this.view.getUint32(this.offset, true); + const value = this.#view.getUint32(this.offset, true); this.offset += 4; return value; } uint64(): bigint { - const value = getBigUint64.call(this.view, this.offset, true); + const value = getBigUint64.call(this.#view, this.offset, true); this.offset += 8; return value; } string(): string { const length = this.uint32(); - if (this.offset + length > this.view.byteLength) { + if (this.offset + length > this.#view.byteLength) { throw new Error(`String length ${length} exceeds bounds of buffer`); } - const value = this.textDecoder.decode( - new Uint8Array(this.view.buffer, this.view.byteOffset + this.offset, length), + const value = this.#textDecoder.decode( + new Uint8Array(this.#view.buffer, this.#view.byteOffset + this.offset, length), ); this.offset += length; return value; @@ -48,7 +48,7 @@ export default class Reader { keyValuePairs(readKey: (reader: Reader) => K, readValue: (reader: Reader) => V): [K, V][] { const length = this.uint32(); - if (this.offset + length > this.view.byteLength) { + if (this.offset + length > this.#view.byteLength) { throw new Error(`Key-value pairs length ${length} exceeds bounds of buffer`); } const result: [K, V][] = []; @@ -72,7 +72,7 @@ export default class Reader { map(readKey: (reader: Reader) => K, readValue: (reader: Reader) => V): Map { const length = this.uint32(); - if (this.offset + length > this.view.byteLength) { + if (this.offset + length > this.#view.byteLength) { throw new Error(`Map length ${length} exceeds bounds of buffer`); } const result = new Map(); diff --git a/typescript/core/src/StreamBuffer.test.ts b/typescript/core/src/StreamBuffer.test.ts index c4a01d0726..a45175b3e3 100644 --- a/typescript/core/src/StreamBuffer.test.ts +++ b/typescript/core/src/StreamBuffer.test.ts @@ -11,7 +11,9 @@ describe("ByteStorage", () => { buffer.append(new Uint8Array([1, 2, 3])); expect(buffer.bytesRemaining()).toBe(3); - expect(() => buffer.consume(4)).toThrow(); + expect(() => { + buffer.consume(4); + }).toThrow(); expect(toArray(buffer.view)).toEqual(new Uint8Array([1, 2, 3])); buffer.consume(3); diff --git a/typescript/core/src/StreamBuffer.ts b/typescript/core/src/StreamBuffer.ts index 6b894ef93c..98eaa785d5 100644 --- a/typescript/core/src/StreamBuffer.ts +++ b/typescript/core/src/StreamBuffer.ts @@ -2,12 +2,12 @@ * A growable buffer for use when processing a stream of data. */ export default class StreamBuffer { - private buffer: ArrayBuffer; + #buffer: ArrayBuffer; public view: DataView; constructor(initialCapacity = 0) { - this.buffer = new ArrayBuffer(initialCapacity); - this.view = new DataView(this.buffer, 0, 0); + this.#buffer = new ArrayBuffer(initialCapacity); + this.view = new DataView(this.#buffer, 0, 0); } bytesRemaining(): number { @@ -17,7 +17,7 @@ export default class StreamBuffer { /** Mark some data as consumed, so the memory can be reused when new data is appended. */ consume(count: number): void { this.view = new DataView( - this.buffer, + this.#buffer, this.view.byteOffset + count, this.view.byteLength - count, ); @@ -25,34 +25,34 @@ export default class StreamBuffer { /** Add data to the buffer, shifting existing data or reallocating if necessary. */ append(data: Uint8Array): void { - if (this.view.byteOffset + this.view.byteLength + data.byteLength <= this.buffer.byteLength) { + if (this.view.byteOffset + this.view.byteLength + data.byteLength <= this.#buffer.byteLength) { // Data fits by appending only const array = new Uint8Array(this.view.buffer, this.view.byteOffset); array.set(data, this.view.byteLength); this.view = new DataView( - this.buffer, + this.#buffer, this.view.byteOffset, this.view.byteLength + data.byteLength, ); - } else if (this.view.byteLength + data.byteLength <= this.buffer.byteLength) { + } else if (this.view.byteLength + data.byteLength <= this.#buffer.byteLength) { // Data fits in allocated buffer but requires moving existing data to start of buffer - const oldData = new Uint8Array(this.buffer, this.view.byteOffset, this.view.byteLength); - const array = new Uint8Array(this.buffer); + const oldData = new Uint8Array(this.#buffer, this.view.byteOffset, this.view.byteLength); + const array = new Uint8Array(this.#buffer); array.set(oldData, 0); array.set(data, oldData.byteLength); - this.view = new DataView(this.buffer, 0, this.view.byteLength + data.byteLength); + this.view = new DataView(this.#buffer, 0, this.view.byteLength + data.byteLength); } else { // New data doesn't fit, copy to a new buffer // Currently, the new buffer size may be smaller than the old size. For future optimizations, // we could consider making the buffer size increase monotonically. - const oldData = new Uint8Array(this.buffer, this.view.byteOffset, this.view.byteLength); - this.buffer = new ArrayBuffer((this.view.byteLength + data.byteLength) * 2); - const array = new Uint8Array(this.buffer); + const oldData = new Uint8Array(this.#buffer, this.view.byteOffset, this.view.byteLength); + this.#buffer = new ArrayBuffer((this.view.byteLength + data.byteLength) * 2); + const array = new Uint8Array(this.#buffer); array.set(oldData, 0); array.set(data, oldData.byteLength); - this.view = new DataView(this.buffer, 0, this.view.byteLength + data.byteLength); + this.view = new DataView(this.#buffer, 0, this.view.byteLength + data.byteLength); } } } diff --git a/typescript/core/src/TempBuffer.ts b/typescript/core/src/TempBuffer.ts index c88bacdf25..a36dd29d3e 100644 --- a/typescript/core/src/TempBuffer.ts +++ b/typescript/core/src/TempBuffer.ts @@ -2,33 +2,33 @@ import { IWritable } from "./IWritable"; import { IReadable } from "./types"; export class TempBuffer implements IReadable, IWritable { - private _buffer = new ArrayBuffer(1024); - private _size = 0; + #buffer = new ArrayBuffer(1024); + #size = 0; position(): bigint { - return BigInt(this._size); + return BigInt(this.#size); } async write(data: Uint8Array): Promise { - if (this._size + data.byteLength > this._buffer.byteLength) { - const newBuffer = new ArrayBuffer(this._size + data.byteLength); - new Uint8Array(newBuffer).set(new Uint8Array(this._buffer)); - this._buffer = newBuffer; + if (this.#size + data.byteLength > this.#buffer.byteLength) { + const newBuffer = new ArrayBuffer(this.#size + data.byteLength); + new Uint8Array(newBuffer).set(new Uint8Array(this.#buffer)); + this.#buffer = newBuffer; } - new Uint8Array(this._buffer, this._size).set(data); - this._size += data.byteLength; + new Uint8Array(this.#buffer, this.#size).set(data); + this.#size += data.byteLength; } async size(): Promise { - return BigInt(this._size); + return BigInt(this.#size); } async read(offset: bigint, size: bigint): Promise { - if (offset < 0n || offset + size > BigInt(this._buffer.byteLength)) { + if (offset < 0n || offset + size > BigInt(this.#buffer.byteLength)) { throw new Error("read out of range"); } - return new Uint8Array(this._buffer, Number(offset), Number(size)); + return new Uint8Array(this.#buffer, Number(offset), Number(size)); } get(): Uint8Array { - return new Uint8Array(this._buffer, 0, this._size); + return new Uint8Array(this.#buffer, 0, this.#size); } } diff --git a/typescript/core/src/constants.ts b/typescript/core/src/constants.ts index c987c8ffbb..bda50d2d5c 100644 --- a/typescript/core/src/constants.ts +++ b/typescript/core/src/constants.ts @@ -2,7 +2,7 @@ export const MCAP_MAGIC = Object.freeze([137, 77, 67, 65, 80, 48, 13, 10]); export enum Opcode { - MIN = 0x01, + MIN = 0x01, // eslint-disable-next-line @typescript-eslint/no-duplicate-enum-values HEADER = 0x01, FOOTER = 0x02, SCHEMA = 0x03, @@ -18,9 +18,10 @@ export enum Opcode { METADATA_INDEX = 0x0d, SUMMARY_OFFSET = 0x0e, DATA_END = 0x0f, - MAX = 0x0f, + MAX = 0x0f, // eslint-disable-line @typescript-eslint/no-duplicate-enum-values } export function isKnownOpcode(opcode: number): opcode is Opcode { + // eslint-disable-next-line @typescript-eslint/no-unsafe-enum-comparison return opcode >= Opcode.MIN && opcode <= Opcode.MAX; } diff --git a/typescript/core/tsconfig.json b/typescript/core/tsconfig.json index c9f6292197..4e3cd642e8 100644 --- a/typescript/core/tsconfig.json +++ b/typescript/core/tsconfig.json @@ -4,6 +4,8 @@ "compilerOptions": { "rootDir": ".", "outDir": "./dist/esm", - "lib": ["es2020", "dom"] + "module": "es2022", + "target": "es2022", + "lib": ["es2022", "dom"] } } diff --git a/typescript/examples/bag2mcap/package.json b/typescript/examples/bag2mcap/package.json index b2b695a235..9915a07176 100644 --- a/typescript/examples/bag2mcap/package.json +++ b/typescript/examples/bag2mcap/package.json @@ -20,7 +20,7 @@ "bag2mcap": "ts-node --files --project tsconfig.cjs.json scripts/bag2mcap.ts" }, "devDependencies": { - "@foxglove/eslint-plugin": "0.21.0", + "@foxglove/eslint-plugin": "1.0.0", "@foxglove/rosbag": "0.2.3", "@foxglove/rosmsg": "3.1.0", "@foxglove/rosmsg-serialization": "1.5.3", @@ -30,26 +30,26 @@ "@foxglove/wasm-lz4": "1.0.2", "@foxglove/wasm-zstd": "1.0.1", "@mcap/core": "*", - "@types/jest": "29.4.0", + "@types/jest": "29.5.8", "@types/lodash": "4.14.191", "@types/node": "18.13.0", - "@typescript-eslint/eslint-plugin": "5.52.0", - "@typescript-eslint/parser": "5.52.0", - "commander": "10.0.0", - "eslint": "8.34.0", - "eslint-config-prettier": "8.6.0", + "@typescript-eslint/eslint-plugin": "6.11.0", + "@typescript-eslint/parser": "6.11.0", + "commander": "11.1.0", + "eslint": "8.53.0", + "eslint-config-prettier": "9.0.0", "eslint-plugin-es": "4.1.0", "eslint-plugin-filenames": "1.3.2", - "eslint-plugin-import": "2.27.5", - "eslint-plugin-jest": "27.2.1", - "eslint-plugin-prettier": "4.2.1", - "jest": "29.4.3", + "eslint-plugin-import": "2.29.0", + "eslint-plugin-jest": "27.6.0", + "eslint-plugin-prettier": "5.0.1", + "jest": "29.7.0", "lodash": "4.17.21", - "prettier": "2.8.4", + "prettier": "3.1.0", "protobufjs": "7.2.2", - "ts-jest": "29.0.5", + "ts-jest": "29.1.1", "ts-node": "10.9.1", "tsconfig-paths": "4.1.2", - "typescript": "4.9.5" + "typescript": "5.2.2" } } diff --git a/typescript/examples/bag2mcap/scripts/bag2mcap.ts b/typescript/examples/bag2mcap/scripts/bag2mcap.ts index 656f0d2efe..aa734ef09d 100644 --- a/typescript/examples/bag2mcap/scripts/bag2mcap.ts +++ b/typescript/examples/bag2mcap/scripts/bag2mcap.ts @@ -88,7 +88,6 @@ function rosMsgDefinitionToProto( let fieldNumber = 1; for (const field of def.definitions) { if (field.isConstant === true) { - // eslint-disable-next-line @typescript-eslint/restrict-template-expressions fields.push(`// ${field.type} ${field.name} = ${field.valueText ?? field.value ?? ""}`); continue; } @@ -196,20 +195,20 @@ function convertTypedArrays(msg: Record): Record { - const written = await this.handle.write(buffer); - this.totalBytesWritten += written.bytesWritten; + const written = await this.#handle.write(buffer); + this.#totalBytesWritten += written.bytesWritten; } position(): bigint { - return BigInt(this.totalBytesWritten); + return BigInt(this.#totalBytesWritten); } } diff --git a/typescript/examples/bag2mcap/tsconfig.json b/typescript/examples/bag2mcap/tsconfig.json index 13b7e779c7..96c3435379 100644 --- a/typescript/examples/bag2mcap/tsconfig.json +++ b/typescript/examples/bag2mcap/tsconfig.json @@ -5,7 +5,8 @@ "noEmit": true, "rootDir": "../..", "outDir": "./dist/esm", - "lib": ["es2020", "dom"], + "target": "es2022", + "lib": ["es2022", "dom"], "paths": { "@mcap/core": ["../../core/src"] }, diff --git a/typescript/examples/basicwriter/package.json b/typescript/examples/basicwriter/package.json index 68a769afe7..f8f21b548a 100644 --- a/typescript/examples/basicwriter/package.json +++ b/typescript/examples/basicwriter/package.json @@ -20,17 +20,17 @@ "main": "ts-node --files --project tsconfig.cjs.json scripts/main.ts" }, "devDependencies": { - "@foxglove/eslint-plugin": "0.21.0", + "@foxglove/eslint-plugin": "1.0.0", "@mcap/core": "*", "@types/node": "18.13.0", - "eslint": "8.34.0", - "eslint-config-prettier": "8.6.0", + "eslint": "8.53.0", + "eslint-config-prettier": "9.0.0", "eslint-plugin-es": "4.1.0", "eslint-plugin-filenames": "1.3.2", - "eslint-plugin-import": "2.27.5", - "eslint-plugin-prettier": "4.2.1", - "prettier": "2.8.4", + "eslint-plugin-import": "2.29.0", + "eslint-plugin-prettier": "5.0.1", + "prettier": "3.1.0", "ts-node": "10.9.1", - "typescript": "4.9.5" + "typescript": "5.2.2" } } diff --git a/typescript/examples/basicwriter/scripts/main.ts b/typescript/examples/basicwriter/scripts/main.ts index a1a4db6144..fec92cfdfe 100644 --- a/typescript/examples/basicwriter/scripts/main.ts +++ b/typescript/examples/basicwriter/scripts/main.ts @@ -3,20 +3,20 @@ import { open, FileHandle } from "fs/promises"; // Mcap IWritable interface for nodejs FileHandle class FileHandleWritable implements IWritable { - private handle: FileHandle; - private totalBytesWritten = 0; + #handle: FileHandle; + #totalBytesWritten = 0; constructor(handle: FileHandle) { - this.handle = handle; + this.#handle = handle; } async write(buffer: Uint8Array): Promise { - const written = await this.handle.write(buffer); - this.totalBytesWritten += written.bytesWritten; + const written = await this.#handle.write(buffer); + this.#totalBytesWritten += written.bytesWritten; } position(): bigint { - return BigInt(this.totalBytesWritten); + return BigInt(this.#totalBytesWritten); } } diff --git a/typescript/examples/basicwriter/tsconfig.json b/typescript/examples/basicwriter/tsconfig.json index 13b7e779c7..96c3435379 100644 --- a/typescript/examples/basicwriter/tsconfig.json +++ b/typescript/examples/basicwriter/tsconfig.json @@ -5,7 +5,8 @@ "noEmit": true, "rootDir": "../..", "outDir": "./dist/esm", - "lib": ["es2020", "dom"], + "target": "es2022", + "lib": ["es2022", "dom"], "paths": { "@mcap/core": ["../../core/src"] }, diff --git a/typescript/examples/flatbufferswriter/package.json b/typescript/examples/flatbufferswriter/package.json index 1ddf8413e2..13e2a391be 100644 --- a/typescript/examples/flatbufferswriter/package.json +++ b/typescript/examples/flatbufferswriter/package.json @@ -20,19 +20,19 @@ "main": "ts-node --files --project tsconfig.cjs.json scripts/main.ts" }, "devDependencies": { - "@foxglove/eslint-plugin": "0.21.0", + "@foxglove/eslint-plugin": "1.0.0", "@foxglove/schemas": "^1.0.0", "@mcap/core": "*", "@types/node": "18.13.0", - "eslint": "8.34.0", - "eslint-config-prettier": "8.6.0", + "eslint": "8.53.0", + "eslint-config-prettier": "9.0.0", "eslint-plugin-es": "4.1.0", "eslint-plugin-filenames": "1.3.2", - "eslint-plugin-import": "2.27.5", - "eslint-plugin-prettier": "4.2.1", + "eslint-plugin-import": "2.29.0", + "eslint-plugin-prettier": "5.0.1", "flatbuffers": "^23.1.21", - "prettier": "2.8.4", + "prettier": "3.1.0", "ts-node": "10.9.1", - "typescript": "4.9.5" + "typescript": "5.2.2" } } diff --git a/typescript/examples/flatbufferswriter/scripts/main.ts b/typescript/examples/flatbufferswriter/scripts/main.ts index 647c8374c6..3c45f291b0 100644 --- a/typescript/examples/flatbufferswriter/scripts/main.ts +++ b/typescript/examples/flatbufferswriter/scripts/main.ts @@ -10,20 +10,20 @@ const QUAT_IDENTITY = { x: 0, y: 0, z: 0, w: 1 }; // Mcap IWritable interface for nodejs FileHandle class FileHandleWritable implements IWritable { - private handle: FileHandle; - private totalBytesWritten = 0; + #handle: FileHandle; + #totalBytesWritten = 0; constructor(handle: FileHandle) { - this.handle = handle; + this.#handle = handle; } async write(buffer: Uint8Array): Promise { - const written = await this.handle.write(buffer); - this.totalBytesWritten += written.bytesWritten; + const written = await this.#handle.write(buffer); + this.#totalBytesWritten += written.bytesWritten; } position(): bigint { - return BigInt(this.totalBytesWritten); + return BigInt(this.#totalBytesWritten); } } function nextPowerOfTwo(numToRound: number) { diff --git a/typescript/examples/flatbufferswriter/tsconfig.json b/typescript/examples/flatbufferswriter/tsconfig.json index 13b7e779c7..96c3435379 100644 --- a/typescript/examples/flatbufferswriter/tsconfig.json +++ b/typescript/examples/flatbufferswriter/tsconfig.json @@ -5,7 +5,8 @@ "noEmit": true, "rootDir": "../..", "outDir": "./dist/esm", - "lib": ["es2020", "dom"], + "target": "es2022", + "lib": ["es2022", "dom"], "paths": { "@mcap/core": ["../../core/src"] }, diff --git a/typescript/examples/text-annotation-demo/package.json b/typescript/examples/text-annotation-demo/package.json index ed299e2caa..81f73f6f73 100644 --- a/typescript/examples/text-annotation-demo/package.json +++ b/typescript/examples/text-annotation-demo/package.json @@ -1,5 +1,5 @@ { - "name": "@foxglove/text-annotation-demo", + "name": "@foxglove/mcap-example-text-annotation-demo", "version": "0.0.0", "private": true, "description": "Demo foxglove.TextAnnotations", @@ -20,18 +20,18 @@ "main": "ts-node --files --project tsconfig.cjs.json scripts/main.ts" }, "devDependencies": { - "@foxglove/eslint-plugin": "0.21.0", + "@foxglove/eslint-plugin": "1.0.0", "@mcap/core": "*", "@types/node": "18.13.0", - "eslint": "8.34.0", - "eslint-config-prettier": "8.6.0", + "eslint": "8.53.0", + "eslint-config-prettier": "9.0.0", "eslint-plugin-es": "4.1.0", "eslint-plugin-filenames": "1.3.2", - "eslint-plugin-import": "2.27.5", - "eslint-plugin-prettier": "4.2.1", - "prettier": "2.8.4", + "eslint-plugin-import": "2.29.0", + "eslint-plugin-prettier": "5.0.1", + "prettier": "3.1.0", "ts-node": "10.9.1", - "typescript": "4.9.5" + "typescript": "5.2.2" }, "dependencies": { "@foxglove/schemas": "1.3.0" diff --git a/typescript/examples/text-annotation-demo/scripts/Scene.ts b/typescript/examples/text-annotation-demo/scripts/Scene.ts index b8b01381a9..19c0ca0a16 100644 --- a/typescript/examples/text-annotation-demo/scripts/Scene.ts +++ b/typescript/examples/text-annotation-demo/scripts/Scene.ts @@ -29,7 +29,7 @@ export default class Scene { public gravityCoefficient: number; public frameId: string; - private ball: Ball; + #ball: Ball; constructor({ width, height, ballRadius, gravityCoefficient = 0.005, frameId }: SceneParams) { this.image = new Image(width, height); @@ -39,7 +39,7 @@ export default class Scene { this.ballRadius = ballRadius; this.gravityCoefficient = gravityCoefficient; this.frameId = frameId; - this.ball = { + this.#ball = { pos: { x: 0.25, y: 0.5 }, vel: { x: 0.1, y: 0.1 }, }; @@ -74,7 +74,7 @@ export default class Scene { encoding: "rgb8", // required for encoding Uint8Array in `json` encoding // eslint-disable-next-line @typescript-eslint/ban-ts-comment - // @ts-ignore + // @ts-expect-error data: Buffer.from(this.image.getData()).toString("base64"), }; } @@ -85,20 +85,20 @@ export default class Scene { type: PointsAnnotationType.LINE_LOOP, points: [ { - x: this.ball.pos.x * this.width - this.ballRadius * 2, - y: this.ball.pos.y * this.height - this.ballRadius * 2, + x: this.#ball.pos.x * this.width - this.ballRadius * 2, + y: this.#ball.pos.y * this.height - this.ballRadius * 2, }, { - x: this.ball.pos.x * this.width + this.ballRadius * 2, - y: this.ball.pos.y * this.height - this.ballRadius * 2, + x: this.#ball.pos.x * this.width + this.ballRadius * 2, + y: this.#ball.pos.y * this.height - this.ballRadius * 2, }, { - x: this.ball.pos.x * this.width + this.ballRadius * 2, - y: this.ball.pos.y * this.height + this.ballRadius * 2, + x: this.#ball.pos.x * this.width + this.ballRadius * 2, + y: this.#ball.pos.y * this.height + this.ballRadius * 2, }, { - x: this.ball.pos.x * this.width - this.ballRadius * 2, - y: this.ball.pos.y * this.height + this.ballRadius * 2, + x: this.#ball.pos.x * this.width - this.ballRadius * 2, + y: this.#ball.pos.y * this.height + this.ballRadius * 2, }, ].map((point) => ({ x: Math.floor(point.x), y: Math.floor(point.y) })), outline_colors: [], @@ -115,11 +115,11 @@ export default class Scene { timestamp: time, // top left position: { - x: Math.floor(this.ball.pos.x * this.width - this.ballRadius * 2), - y: Math.floor(this.ball.pos.y * this.height - this.ballRadius * 2), + x: Math.floor(this.#ball.pos.x * this.width - this.ballRadius * 2), + y: Math.floor(this.#ball.pos.y * this.height - this.ballRadius * 2), }, - text: `Position: x: ${Math.floor(this.ball.pos.x * this.width)}, y: ${Math.floor( - this.ball.pos.y * this.height, + text: `Position: x: ${Math.floor(this.#ball.pos.x * this.width)}, y: ${Math.floor( + this.#ball.pos.y * this.height, )}`, font_size: 12, text_color: { r: 1, g: 1, b: 1, a: 1 }, @@ -138,16 +138,16 @@ export default class Scene { } public animateBall(): void { - this.ball.pos.x += this.ball.vel.x; - this.ball.pos.y += this.ball.vel.y; - this.ball.vel.y += this.gravityCoefficient; - if (this.ball.pos.x < 0 || this.ball.pos.x > 1) { - this.ball.vel.x *= -0.8; - this.ball.pos.x = Math.max(0, Math.min(1, this.ball.pos.x)); + this.#ball.pos.x += this.#ball.vel.x; + this.#ball.pos.y += this.#ball.vel.y; + this.#ball.vel.y += this.gravityCoefficient; + if (this.#ball.pos.x < 0 || this.#ball.pos.x > 1) { + this.#ball.vel.x *= -0.8; + this.#ball.pos.x = Math.max(0, Math.min(1, this.#ball.pos.x)); } - if (this.ball.pos.y < 0 || this.ball.pos.y > 1) { - this.ball.vel.y *= -0.8; - this.ball.pos.y = Math.max(0, Math.min(1, this.ball.pos.y)); + if (this.#ball.pos.y < 0 || this.#ball.pos.y > 1) { + this.#ball.vel.y *= -0.8; + this.#ball.pos.y = Math.max(0, Math.min(1, this.#ball.pos.y)); } } @@ -155,8 +155,8 @@ export default class Scene { this.animateBall(); this.image.clear(); this.image.paintCircle( - Math.floor(this.ball.pos.x * this.width), - Math.floor(this.ball.pos.y * this.height), + Math.floor(this.#ball.pos.x * this.width), + Math.floor(this.#ball.pos.y * this.height), 5, [255, 0, 0], ); diff --git a/typescript/examples/text-annotation-demo/scripts/main.ts b/typescript/examples/text-annotation-demo/scripts/main.ts index e9908213ad..2b15299e5a 100644 --- a/typescript/examples/text-annotation-demo/scripts/main.ts +++ b/typescript/examples/text-annotation-demo/scripts/main.ts @@ -11,20 +11,20 @@ import Scene from "./Scene"; // Mcap IWritable interface for nodejs FileHandle class FileHandleWritable implements IWritable { - private handle: FileHandle; - private totalBytesWritten = 0; + #handle: FileHandle; + #totalBytesWritten = 0; constructor(handle: FileHandle) { - this.handle = handle; + this.#handle = handle; } async write(buffer: Uint8Array): Promise { - const written = await this.handle.write(buffer); - this.totalBytesWritten += written.bytesWritten; + const written = await this.#handle.write(buffer); + this.#totalBytesWritten += written.bytesWritten; } position(): bigint { - return BigInt(this.totalBytesWritten); + return BigInt(this.#totalBytesWritten); } } diff --git a/typescript/examples/text-annotation-demo/tsconfig.json b/typescript/examples/text-annotation-demo/tsconfig.json index 13b7e779c7..96c3435379 100644 --- a/typescript/examples/text-annotation-demo/tsconfig.json +++ b/typescript/examples/text-annotation-demo/tsconfig.json @@ -5,7 +5,8 @@ "noEmit": true, "rootDir": "../..", "outDir": "./dist/esm", - "lib": ["es2020", "dom"], + "target": "es2022", + "lib": ["es2022", "dom"], "paths": { "@mcap/core": ["../../core/src"] }, diff --git a/typescript/examples/validate/package.json b/typescript/examples/validate/package.json index 610d9dbe66..97f1fdbc78 100644 --- a/typescript/examples/validate/package.json +++ b/typescript/examples/validate/package.json @@ -20,7 +20,7 @@ "validate": "ts-node --files --project tsconfig.cjs.json scripts/validate.ts" }, "devDependencies": { - "@foxglove/eslint-plugin": "0.21.0", + "@foxglove/eslint-plugin": "1.0.0", "@foxglove/rosbag": "0.2.3", "@foxglove/rosmsg": "3.1.0", "@foxglove/rosmsg-serialization": "1.5.3", @@ -30,26 +30,26 @@ "@foxglove/wasm-lz4": "1.0.2", "@foxglove/wasm-zstd": "1.0.1", "@mcap/core": "*", - "@types/jest": "29.4.0", + "@types/jest": "29.5.8", "@types/lodash": "4.14.191", "@types/node": "18.13.0", - "@typescript-eslint/eslint-plugin": "5.52.0", - "@typescript-eslint/parser": "5.52.0", - "commander": "10.0.0", - "eslint": "8.34.0", - "eslint-config-prettier": "8.6.0", + "@typescript-eslint/eslint-plugin": "6.11.0", + "@typescript-eslint/parser": "6.11.0", + "commander": "11.1.0", + "eslint": "8.53.0", + "eslint-config-prettier": "9.0.0", "eslint-plugin-es": "4.1.0", "eslint-plugin-filenames": "1.3.2", - "eslint-plugin-import": "2.27.5", - "eslint-plugin-jest": "27.2.1", - "eslint-plugin-prettier": "4.2.1", - "jest": "29.4.3", + "eslint-plugin-import": "2.29.0", + "eslint-plugin-jest": "27.6.0", + "eslint-plugin-prettier": "5.0.1", + "jest": "29.7.0", "lodash": "4.17.21", - "prettier": "2.8.4", + "prettier": "3.1.0", "protobufjs": "7.2.2", - "ts-jest": "29.0.5", + "ts-jest": "29.1.1", "ts-node": "10.9.1", "tsconfig-paths": "4.1.2", - "typescript": "4.9.5" + "typescript": "5.2.2" } } diff --git a/typescript/examples/validate/scripts/validate.ts b/typescript/examples/validate/scripts/validate.ts index 7cd8c48df1..e4b35a69d5 100644 --- a/typescript/examples/validate/scripts/validate.ts +++ b/typescript/examples/validate/scripts/validate.ts @@ -64,8 +64,12 @@ async function readStream( stream.close(); } }); - stream.on("error", (error) => reject(error)); - stream.on("close", () => resolve()); + stream.on("error", (error) => { + reject(error); + }); + stream.on("close", () => { + resolve(); + }); }); if (!reader.done()) { @@ -199,7 +203,6 @@ async function validate( log("Reading", filePath); - let isValidMcap = false; { const handle = await fs.open(filePath, "r"); try { @@ -209,7 +212,7 @@ async function validate( offset: 0, length: McapConstants.MCAP_MAGIC.length, }); - isValidMcap = hasMcapPrefix(new DataView(buffer.buffer, 0, readResult.bytesRead)); + const isValidMcap = hasMcapPrefix(new DataView(buffer.buffer, 0, readResult.bytesRead)); if (!isValidMcap) { throw new Error( `Not a valid MCAP file: prefix not detected in <${Array.from(buffer) @@ -223,10 +226,6 @@ async function validate( } } - if (!isValidMcap) { - return; - } - let processed = false; if (!stream) { const handle = await fs.open(filePath, "r"); diff --git a/typescript/examples/validate/tsconfig.json b/typescript/examples/validate/tsconfig.json index 13b7e779c7..96c3435379 100644 --- a/typescript/examples/validate/tsconfig.json +++ b/typescript/examples/validate/tsconfig.json @@ -5,7 +5,8 @@ "noEmit": true, "rootDir": "../..", "outDir": "./dist/esm", - "lib": ["es2020", "dom"], + "target": "es2022", + "lib": ["es2022", "dom"], "paths": { "@mcap/core": ["../../core/src"] }, diff --git a/website/package.json b/website/package.json index 3b7bdc378e..3dee406cf3 100644 --- a/website/package.json +++ b/website/package.json @@ -20,9 +20,9 @@ "@docusaurus/core": "2.4.1", "@docusaurus/module-type-aliases": "2.4.1", "@docusaurus/preset-classic": "2.4.1", - "@foxglove/eslint-plugin": "0.21.0", + "@foxglove/eslint-plugin": "1.0.0", "@foxglove/rostime": "1.1.2", - "@foxglove/schemas": "1.3.0", + "@foxglove/schemas": "1.6.2", "@foxglove/tsconfig": "2.0.0", "@mcap/core": "workspace:*", "@mdx-js/react": "1.6.22", @@ -30,22 +30,24 @@ "@types/promise-queue": "2.2.0", "buffer": "6.0.3", "classnames": "2.3.2", - "eslint": "8.41.0", + "eslint": "8.53.0", + "eslint-config-prettier": "9.0.0", "eslint-plugin-es": "4.1.0", "eslint-plugin-filenames": "1.3.2", - "eslint-plugin-import": "2.27.5", - "eslint-plugin-prettier": "4.2.1", - "eslint-plugin-react": "7.32.2", + "eslint-plugin-import": "2.29.0", + "eslint-plugin-prettier": "5.0.1", + "eslint-plugin-react": "7.33.2", "eslint-plugin-react-hooks": "4.6.0", "eventemitter3": "5.0.1", "path-browserify": "1.0.1", + "prettier": "3.1.0", "prism-react-renderer": "1.3.5", "process": "0.11.10", "promise-queue": "2.2.5", "protobufjs": "7.2.3", "react": "17.0.2", "react-dom": "17.0.2", - "typescript": "4.9.5", + "typescript": "5.2.2", "zustand": "4.3.8" }, "browserslist": { diff --git a/website/src/components/McapRecordingDemo/McapRecordingDemo.tsx b/website/src/components/McapRecordingDemo/McapRecordingDemo.tsx index 41c864d33c..26bf5858af 100644 --- a/website/src/components/McapRecordingDemo/McapRecordingDemo.tsx +++ b/website/src/components/McapRecordingDemo/McapRecordingDemo.tsx @@ -78,7 +78,7 @@ const RADIANS_PER_DEGREE = Math.PI / 180; // Adapted from https://github.com/mrdoob/three.js/blob/master/src/math/Quaternion.js function deviceOrientationToPose( - event: DeviceOrientationEvent + event: DeviceOrientationEvent, ): ProtobufObject { const alpha = (event.alpha ?? 0) * RADIANS_PER_DEGREE; // z angle const beta = (event.beta ?? 0) * RADIANS_PER_DEGREE; // x angle @@ -133,7 +133,9 @@ export function McapRecordingDemo(): JSX.Element { if (!recording) { return; } - const timeout = setTimeout(() => setRecording(false), 30000); + const timeout = setTimeout(() => { + setRecording(false); + }, 30000); return () => { clearTimeout(timeout); }; @@ -165,7 +167,7 @@ export function McapRecordingDemo(): JSX.Element { return () => { window.removeEventListener( "deviceorientation", - handleDeviceOrientationEvent + handleDeviceOrientationEvent, ); }; }, [addPoseMessage, recording, recordOrientation]); @@ -178,7 +180,9 @@ export function McapRecordingDemo(): JSX.Element { const cleanup = startVideoStream({ video, - onStart: () => setVideoStarted(true), + onStart: () => { + setVideoStarted(true); + }, onError: (err) => { console.error(err); setVideoPermissionError(true); @@ -201,7 +205,9 @@ export function McapRecordingDemo(): JSX.Element { const stopCapture = startVideoCapture({ video, frameDurationSec: 1 / 30, - onFrame: (blob) => addCameraImage(blob), + onFrame: (blob) => { + addCameraImage(blob); + }, }); return () => { stopCapture(); @@ -234,7 +240,7 @@ export function McapRecordingDemo(): JSX.Element { .catch(console.error); } }, - [recordOrientation, recording] + [recordOrientation, recording], ); const onDownloadClick = useCallback( @@ -249,7 +255,7 @@ export function McapRecordingDemo(): JSX.Element { // Create a date+time string in the local timezone to use as the filename const date = new Date(); const localTime = new Date( - date.getTime() - date.getTimezoneOffset() * 60_000 + date.getTime() - date.getTimezoneOffset() * 60_000, ) .toISOString() .replace(/\..+$/, "") @@ -264,7 +270,7 @@ export function McapRecordingDemo(): JSX.Element { setShowDownloadInfo(true); })(); }, - [state] + [state], ); return ( @@ -282,7 +288,9 @@ export function McapRecordingDemo(): JSX.Element { setRecordVideo(event.target.checked)} + onChange={(event) => { + setRecordVideo(event.target.checked); + }} /> Camera @@ -290,7 +298,9 @@ export function McapRecordingDemo(): JSX.Element { setRecordMouse(event.target.checked)} + onChange={(event) => { + setRecordMouse(event.target.checked); + }} /> Mouse position @@ -299,7 +309,9 @@ export function McapRecordingDemo(): JSX.Element { setRecordOrientation(event.target.checked)} + onChange={(event) => { + setRecordOrientation(event.target.checked); + }} /> Orientation @@ -319,7 +331,9 @@ export function McapRecordingDemo(): JSX.Element { aria-label="Close" className={cx("clean-btn", styles.downloadInfoCloseButton)} type="button" - onClick={() => setShowDownloadInfo(false)} + onClick={() => { + setShowDownloadInfo(false); + }} > @@ -352,7 +366,7 @@ export function McapRecordingDemo(): JSX.Element { className={cx( "button", "button--success", - styles.downloadButton + styles.downloadButton, )} onClick={onDownloadClick} > @@ -428,7 +442,9 @@ export function McapRecordingDemo(): JSX.Element { ) : ( setRecordVideo(true)} + onClick={() => { + setRecordVideo(true); + }} > Enable “Camera” to record video diff --git a/website/src/components/McapRecordingDemo/Recorder.ts b/website/src/components/McapRecordingDemo/Recorder.ts index 6bbe8f1542..daea470b3e 100644 --- a/website/src/components/McapRecordingDemo/Recorder.ts +++ b/website/src/components/McapRecordingDemo/Recorder.ts @@ -99,12 +99,12 @@ export class Recorder extends EventEmitter { const poseChannel = await addProtobufChannel( this.#writer, "pose", - foxgloveMessageSchemas.PoseInFrame + foxgloveMessageSchemas.PoseInFrame, ); const cameraChannel = await addProtobufChannel( this.#writer, "camera", - foxgloveMessageSchemas.CompressedImage + foxgloveMessageSchemas.CompressedImage, ); this.#emit(); diff --git a/website/src/components/McapRecordingDemo/addProtobufChannel.ts b/website/src/components/McapRecordingDemo/addProtobufChannel.ts index 2f65cdd6d2..8ad80d0e16 100644 --- a/website/src/components/McapRecordingDemo/addProtobufChannel.ts +++ b/website/src/components/McapRecordingDemo/addProtobufChannel.ts @@ -14,21 +14,21 @@ export type ProtobufChannelInfo = { export async function addProtobufChannel( writer: McapWriter, topic: string, - rootSchema: FoxgloveMessageSchema + rootSchema: FoxgloveMessageSchema, ): Promise { const schemaName = `foxglove.${rootSchema.name}`; const root = new protobufjs.Root(); root.addJSON( - protobufjs.common.get("google/protobuf/timestamp.proto")!.nested! + protobufjs.common.get("google/protobuf/timestamp.proto")!.nested!, ); root.addJSON( - protobufjs.common.get("google/protobuf/duration.proto")!.nested! + protobufjs.common.get("google/protobuf/duration.proto")!.nested!, ); function addMessageSchema(msgSchema: FoxgloveMessageSchema) { const nestedEnums = Object.values(foxgloveEnumSchemas).filter( - (enumSchema) => enumSchema.parentSchemaName === msgSchema.name + (enumSchema) => enumSchema.parentSchemaName === msgSchema.name, ); const protoSrc = generateProto(msgSchema, nestedEnums); const parseResult = protobufjs.parse(protoSrc, { keepCase: true }); @@ -51,7 +51,7 @@ export async function addProtobufChannel( // protobufjs does not generate dependency fields, so fix them up manually if (file.name == undefined || file.name.length === 0) { throw new Error( - `Missing filename for ${file.package ?? "(unknown package)"}` + `Missing filename for ${file.package ?? "(unknown package)"}`, ); } if (file.name !== "google_protobuf.proto") { diff --git a/website/src/components/McapRecordingDemo/videoCapture.ts b/website/src/components/McapRecordingDemo/videoCapture.ts index cd39da711f..b95578253c 100644 --- a/website/src/components/McapRecordingDemo/videoCapture.ts +++ b/website/src/components/McapRecordingDemo/videoCapture.ts @@ -23,7 +23,7 @@ export function startVideoStream(params: VideoStreamParams): () => void { stream = videoStream; params.video.srcObject = videoStream; await params.video.play(); - if (canceled) { + if (canceled as boolean) { return; } params.onStart(); @@ -68,7 +68,7 @@ export function startVideoCapture(params: VideoCaptureParams): () => void { async function startVideoCaptureAsync( params: VideoCaptureParams, - signal: AbortSignal + signal: AbortSignal, ) { const { video, onFrame, frameDurationSec } = params; const canvas = document.createElement("canvas"); @@ -93,7 +93,7 @@ async function startVideoCaptureAsync( framePromise = undefined; }, "image/jpeg", - 0.8 + 0.8, ); }); }, frameDurationSec * 1000); diff --git a/website/typings/protobufjs.d.ts b/website/typings/protobufjs.d.ts index 98f6d5a331..5afc011c88 100644 --- a/website/typings/protobufjs.d.ts +++ b/website/typings/protobufjs.d.ts @@ -5,7 +5,7 @@ import descriptor from "protobufjs/ext/descriptor"; declare module "protobufjs" { interface ReflectionObject { toDescriptor( - protoVersion: string + protoVersion: string, ): protobufjs.Message & descriptor.IFileDescriptorSet; } diff --git a/yarn.lock b/yarn.lock index 70749c19c7..fd58503eeb 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5,6 +5,13 @@ __metadata: version: 6 cacheKey: 8 +"@aashutoshrathi/word-wrap@npm:^1.2.3": + version: 1.2.6 + resolution: "@aashutoshrathi/word-wrap@npm:1.2.6" + checksum: ada901b9e7c680d190f1d012c84217ce0063d8f5c5a7725bb91ec3c5ed99bb7572680eb2d2938a531ccbaec39a95422fcd8a6b4a13110c7d98dd75402f66a0cd + languageName: node + linkType: hard + "@algolia/autocomplete-core@npm:1.7.4": version: 1.7.4 resolution: "@algolia/autocomplete-core@npm:1.7.4" @@ -1676,7 +1683,7 @@ __metadata: languageName: node linkType: hard -"@babel/traverse@npm:^7.12.9, @babel/traverse@npm:^7.18.8, @babel/traverse@npm:^7.20.5, @babel/traverse@npm:^7.20.7, @babel/traverse@npm:^7.21.5, @babel/traverse@npm:^7.7.2": +"@babel/traverse@npm:^7.12.9, @babel/traverse@npm:^7.18.8, @babel/traverse@npm:^7.20.5, @babel/traverse@npm:^7.20.7, @babel/traverse@npm:^7.21.5": version: 7.21.5 resolution: "@babel/traverse@npm:7.21.5" dependencies: @@ -1719,120 +1726,140 @@ __metadata: languageName: node linkType: hard -"@cspell/cspell-bundled-dicts@npm:6.26.3": - version: 6.26.3 - resolution: "@cspell/cspell-bundled-dicts@npm:6.26.3" - dependencies: - "@cspell/dict-ada": ^4.0.1 - "@cspell/dict-aws": ^3.0.0 - "@cspell/dict-bash": ^4.1.1 - "@cspell/dict-companies": ^3.0.6 - "@cspell/dict-cpp": ^4.0.2 - "@cspell/dict-cryptocurrencies": ^3.0.1 +"@cspell/cspell-bundled-dicts@npm:8.0.0": + version: 8.0.0 + resolution: "@cspell/cspell-bundled-dicts@npm:8.0.0" + dependencies: + "@cspell/dict-ada": ^4.0.2 + "@cspell/dict-aws": ^4.0.0 + "@cspell/dict-bash": ^4.1.2 + "@cspell/dict-companies": ^3.0.27 + "@cspell/dict-cpp": ^5.0.9 + "@cspell/dict-cryptocurrencies": ^4.0.0 "@cspell/dict-csharp": ^4.0.2 - "@cspell/dict-css": ^4.0.3 - "@cspell/dict-dart": ^2.0.1 - "@cspell/dict-django": ^4.0.1 - "@cspell/dict-docker": ^1.1.5 - "@cspell/dict-dotnet": ^4.0.1 - "@cspell/dict-elixir": ^4.0.1 + "@cspell/dict-css": ^4.0.12 + "@cspell/dict-dart": ^2.0.3 + "@cspell/dict-django": ^4.1.0 + "@cspell/dict-docker": ^1.1.7 + "@cspell/dict-dotnet": ^5.0.0 + "@cspell/dict-elixir": ^4.0.3 "@cspell/dict-en-common-misspellings": ^1.0.2 "@cspell/dict-en-gb": 1.1.33 - "@cspell/dict-en_us": ^4.2.2 - "@cspell/dict-filetypes": ^3.0.0 - "@cspell/dict-fonts": ^3.0.0 - "@cspell/dict-fullstack": ^3.1.1 + "@cspell/dict-en_us": ^4.3.11 + "@cspell/dict-filetypes": ^3.0.2 + "@cspell/dict-fonts": ^4.0.0 + "@cspell/dict-fsharp": ^1.0.1 + "@cspell/dict-fullstack": ^3.1.5 "@cspell/dict-gaming-terms": ^1.0.4 "@cspell/dict-git": ^2.0.0 - "@cspell/dict-golang": ^5.0.1 + "@cspell/dict-golang": ^6.0.4 "@cspell/dict-haskell": ^4.0.1 - "@cspell/dict-html": ^4.0.2 + "@cspell/dict-html": ^4.0.5 "@cspell/dict-html-symbol-entities": ^4.0.0 - "@cspell/dict-java": ^5.0.4 - "@cspell/dict-k8s": ^1.0.0 - "@cspell/dict-latex": ^3.1.0 - "@cspell/dict-lorem-ipsum": ^3.0.0 - "@cspell/dict-lua": ^4.0.0 - "@cspell/dict-node": ^4.0.2 - "@cspell/dict-npm": ^5.0.3 - "@cspell/dict-php": ^3.0.4 - "@cspell/dict-powershell": ^4.0.0 - "@cspell/dict-public-licenses": ^2.0.1 - "@cspell/dict-python": ^4.0.1 + "@cspell/dict-java": ^5.0.6 + "@cspell/dict-k8s": ^1.0.2 + "@cspell/dict-latex": ^4.0.0 + "@cspell/dict-lorem-ipsum": ^4.0.0 + "@cspell/dict-lua": ^4.0.2 + "@cspell/dict-makefile": ^1.0.0 + "@cspell/dict-node": ^4.0.3 + "@cspell/dict-npm": ^5.0.12 + "@cspell/dict-php": ^4.0.4 + "@cspell/dict-powershell": ^5.0.2 + "@cspell/dict-public-licenses": ^2.0.5 + "@cspell/dict-python": ^4.1.10 "@cspell/dict-r": ^2.0.1 - "@cspell/dict-ruby": ^4.0.1 - "@cspell/dict-rust": ^4.0.0 - "@cspell/dict-scala": ^4.0.0 - "@cspell/dict-software-terms": ^3.1.3 - "@cspell/dict-sql": ^2.0.1 + "@cspell/dict-ruby": ^5.0.1 + "@cspell/dict-rust": ^4.0.1 + "@cspell/dict-scala": ^5.0.0 + "@cspell/dict-software-terms": ^3.3.9 + "@cspell/dict-sql": ^2.1.2 "@cspell/dict-svelte": ^1.0.2 "@cspell/dict-swift": ^2.0.1 - "@cspell/dict-typescript": ^3.1.0 + "@cspell/dict-typescript": ^3.1.2 "@cspell/dict-vue": ^3.0.0 - checksum: dc1727e205c7a8a74190f27bc0877c01fdfa12923d5874a07b5dafcfc15a04593efdd2bf6e65e7ab1102e13923bbe8256c40099ff7645079b0353fae124d3ea2 + checksum: 8eb0c6c9bb778ddd726b3feded8ec46b3c04beaed6dba9d0c277b797972bbf4130242381227c14b5110f79c096d4e05d640f90ed8f1c334d0d2cdb8de1df9dff languageName: node linkType: hard -"@cspell/cspell-pipe@npm:6.26.3": - version: 6.26.3 - resolution: "@cspell/cspell-pipe@npm:6.26.3" - checksum: 7d12f6607bbac1520aa70184cd8f5d4281d620833d9af2fb7441ffbf6245bbd8e0fd014cf5573fe86a6c79bc63bdfe91eccbb37b913956ad5e48502760646d14 +"@cspell/cspell-json-reporter@npm:8.0.0": + version: 8.0.0 + resolution: "@cspell/cspell-json-reporter@npm:8.0.0" + dependencies: + "@cspell/cspell-types": 8.0.0 + checksum: 0a39ef96b88b9e3b2e8aae8af432bb622f38a937b48645388f0822e4bf240de9282555da267f03518bd9621b521767898def96a27b5488fe2a7f54bfbf284566 languageName: node linkType: hard -"@cspell/cspell-service-bus@npm:6.26.3": - version: 6.26.3 - resolution: "@cspell/cspell-service-bus@npm:6.26.3" - checksum: 38ec923864dfeea7379baa99fc63f1e95d8f90b509f0db77396276ff2a72c9d0f0846e6e00157aad79a6f62444ba312a4e41a178f902bf1fdb1ced9bb73ab1fd +"@cspell/cspell-pipe@npm:8.0.0": + version: 8.0.0 + resolution: "@cspell/cspell-pipe@npm:8.0.0" + checksum: 2ddaaf43ecd4757853d43d68816aa44c7a3a20ded54f953e9981f5c44fe275ded9c764a094e5ec163a7277d306c6f87471804cb9fe0aedf0582eeb7dd5ca0fa4 languageName: node linkType: hard -"@cspell/cspell-types@npm:6.26.3": - version: 6.26.3 - resolution: "@cspell/cspell-types@npm:6.26.3" - checksum: 8e6f3bf39aad681f16887911cd7c4acc13af28352272a800348a189b312982bf34a824382b976c1f93c392b93125c68bd24017cdfd8003672cda9814398b624f +"@cspell/cspell-resolver@npm:8.0.0": + version: 8.0.0 + resolution: "@cspell/cspell-resolver@npm:8.0.0" + dependencies: + global-dirs: ^3.0.1 + checksum: 4319c6de4550cdd0939e94b9079e4a4c192693d77d29127c296ab4aa341dead2fc1f0f968599d5e94c93695e1e4c9725a396374cc498a5f5d6b661e27dd1311f languageName: node linkType: hard -"@cspell/dict-ada@npm:^4.0.1": - version: 4.0.1 - resolution: "@cspell/dict-ada@npm:4.0.1" - checksum: 3422487c8decf01d9dd14e666dcbe29557d730085f60fcd859d03fc5c177359d12df19171368cd105dad29f315d0decfa56f29eeb7c594a300d47c65805c4349 +"@cspell/cspell-service-bus@npm:8.0.0": + version: 8.0.0 + resolution: "@cspell/cspell-service-bus@npm:8.0.0" + checksum: 7fee54f2f55669910ecd0af38e95ac29616ed3d4e02afe768688091e9d323c41f943f8c241511192a713ffbf7e5a3ed7b77fbefc465c8f25205eaa124e2224bc languageName: node linkType: hard -"@cspell/dict-aws@npm:^3.0.0": - version: 3.0.0 - resolution: "@cspell/dict-aws@npm:3.0.0" - checksum: d06284d5cc438c18175c26e4f5d450f3235d603dbc989fa2d7515bb01d1c7a8b303ce054d532ca4f814fc6cd7c65ef9558d46bf5bacb06d35504b3c259ebe95c +"@cspell/cspell-types@npm:8.0.0": + version: 8.0.0 + resolution: "@cspell/cspell-types@npm:8.0.0" + checksum: 941d1910c72c0480ac653286c48ffa04e1154d66e0339a42ba93e30b53ee2d09d9eb5b007f5fe0246e942cf90e71d8056184a2c525b779e07ae85947dceb8061 languageName: node linkType: hard -"@cspell/dict-bash@npm:^4.1.1": - version: 4.1.1 - resolution: "@cspell/dict-bash@npm:4.1.1" - checksum: 5b6fbb597c53fa6b9957213aa77688c6e0231f8d59eed02f0eecda456f3606855fc0f4c0c5121a909e9055c164de83e3f151b32a9abd1ccd4a161634ffee6691 +"@cspell/dict-ada@npm:^4.0.2": + version: 4.0.2 + resolution: "@cspell/dict-ada@npm:4.0.2" + checksum: 847729d40022db4df698aa9511c6b9073954f71268b64ad4fa354e6ac3eb5b03486bcb566ecadd4bccbebb4f188752eff2b2bdd9021b58dbf2cd61cd6a426752 languageName: node linkType: hard -"@cspell/dict-companies@npm:^3.0.6": - version: 3.0.6 - resolution: "@cspell/dict-companies@npm:3.0.6" - checksum: b56d20632f2e953c2b1a199701b4af4c1b5c5d6ea56c889b68bbac8f3e8f8645eb0386b3198274f14491fccf9608586ebdbe94c0835723934966682ffdc0c8f7 +"@cspell/dict-aws@npm:^4.0.0": + version: 4.0.0 + resolution: "@cspell/dict-aws@npm:4.0.0" + checksum: ed8714bda04fa983abb5571f66d46252dc8125b717beff7043fb9b09af97e335712132248555a90008e0bebd2cfa9cca6945d96ea2f03fc36c1826e9fde981a3 languageName: node linkType: hard -"@cspell/dict-cpp@npm:^4.0.2": - version: 4.0.2 - resolution: "@cspell/dict-cpp@npm:4.0.2" - checksum: 2645af9785a5c55ab79ce6818131280d35893b5f0374349607a6a344b7b4499007bbed38c63c31fa8eb683e15fbd2f93ffb8128cfbc98a463b889fafe2a69e78 +"@cspell/dict-bash@npm:^4.1.2": + version: 4.1.2 + resolution: "@cspell/dict-bash@npm:4.1.2" + checksum: 2fc6acd6c74c245a7e0c6596f7ae2189569134dff9e95e0f9562812a1e39bbc2c2b39325e8494aba1367b2849656fd3abe6985afc5c51157044c2683b220ba70 languageName: node linkType: hard -"@cspell/dict-cryptocurrencies@npm:^3.0.1": - version: 3.0.1 - resolution: "@cspell/dict-cryptocurrencies@npm:3.0.1" - checksum: 5d646f569e8dc5998de8a508ff3de39db5f5a5db0a846ee4fc750ea3880080d922d5c28fdce38f93910eaacde2723e2fe4c305d50b3f9d53b817ce33a3bed66a +"@cspell/dict-companies@npm:^3.0.27": + version: 3.0.27 + resolution: "@cspell/dict-companies@npm:3.0.27" + checksum: 960a2c6514389b2a540556d30a21c34bd1495ed5598f8a37a3afc2320dd93ed57df4d5d3c3c63d54024f5fc7d31cc228ea76aa89490a91812d7b691088eb78c1 + languageName: node + linkType: hard + +"@cspell/dict-cpp@npm:^5.0.9": + version: 5.0.9 + resolution: "@cspell/dict-cpp@npm:5.0.9" + checksum: f31ecffbb4385751b30fa7688706c61ffe0bdb4389ca26c00f53cf028d14d0a542eca5e04435a5eeafd13f1e7e2c6f1acb1a0235f5255169c4f9c33126b8c9ba + languageName: node + linkType: hard + +"@cspell/dict-cryptocurrencies@npm:^4.0.0": + version: 4.0.0 + resolution: "@cspell/dict-cryptocurrencies@npm:4.0.0" + checksum: c565a660b62a5ab2d597abaaef7f277cfba05e0617064dd526aadf9ba64306ab16f9fa4adf5ad8b3e79310cf127f737e5f876d4424efa7da65e403817f4e184c languageName: node linkType: hard @@ -1843,45 +1870,52 @@ __metadata: languageName: node linkType: hard -"@cspell/dict-css@npm:^4.0.3": - version: 4.0.3 - resolution: "@cspell/dict-css@npm:4.0.3" - checksum: 8354e209a2ffa62b06aae97f55cccd57f5e64d46eb06fe0c90df6e1cafa116d6af8bb19b6a8a3ed7a69b5dbdf667d970d0902acf3d46244903ec9285e4fadfb0 +"@cspell/dict-css@npm:^4.0.12": + version: 4.0.12 + resolution: "@cspell/dict-css@npm:4.0.12" + checksum: 208c9434b8f5c8a33a96bb087572c10d5c946cd0847b9439271d0c4d2dcde5ee2588aca73bfea0c868d0124731b3ca890fab4762724d16435f161d4d5e7f3b9b languageName: node linkType: hard -"@cspell/dict-dart@npm:^2.0.1": - version: 2.0.1 - resolution: "@cspell/dict-dart@npm:2.0.1" - checksum: 6536a47450ebcbaad90253802791e69567565ecab89d0eb00d8be8b8b2d94d3971fcd92c6e013e25e0f06e1994591fb5ae6b5674798d74e3f449ffa1ea556f3e +"@cspell/dict-dart@npm:^2.0.3": + version: 2.0.3 + resolution: "@cspell/dict-dart@npm:2.0.3" + checksum: 66bfcfa029baacd0b14b3ff5b6ab7597cf9459f77185d88b25123b42a4babb66df6786806843f1b6506c335326100599a2e1db6e6104e66bd021ede9ccb3cec4 languageName: node linkType: hard -"@cspell/dict-django@npm:^4.0.1": - version: 4.0.1 - resolution: "@cspell/dict-django@npm:4.0.1" - checksum: 1954c4b96c05bb2c6aad3a76dcd9963912ed177c49d2bcfb10992af83143c1d644f4306d79acb175eda7767a75444007c9c4d94ba10245aeb256613ae10f0306 +"@cspell/dict-data-science@npm:^1.0.11": + version: 1.0.11 + resolution: "@cspell/dict-data-science@npm:1.0.11" + checksum: 513f8f416f584f46576d45be23a4aa354e46d244f10a3d466222ffc13afe475e676639e4a24ab3a1ba157239f9ce23f7eef59c9f4c7a877a044db3a6344b18c6 languageName: node linkType: hard -"@cspell/dict-docker@npm:^1.1.5": - version: 1.1.5 - resolution: "@cspell/dict-docker@npm:1.1.5" - checksum: a983e3587cbe6f741dfbf40c509ca06d9489f1fb64f902128f9d738acb747b3a8651a73d256f2a7ef7750a54897eb76776403a47e4b55d84d785c7efa3a90e5e +"@cspell/dict-django@npm:^4.1.0": + version: 4.1.0 + resolution: "@cspell/dict-django@npm:4.1.0" + checksum: b8a66135525e235bd6f2ea02de84ac7eae78e1068418f36b0c2260f9516b72492ef73f3fdc5fe8db2a6933747ff45a3eb743423a7dbf5b74548b1b1f30792679 languageName: node linkType: hard -"@cspell/dict-dotnet@npm:^4.0.1": - version: 4.0.1 - resolution: "@cspell/dict-dotnet@npm:4.0.1" - checksum: 176b25bc36ea4407439852be685a421d0ea0be19d8c4eb48b897a1aa2bdde3f71731b94f33b6ae1260546260343d7ee1f2c1c1087848cd2ceac0c635c009e370 +"@cspell/dict-docker@npm:^1.1.7": + version: 1.1.7 + resolution: "@cspell/dict-docker@npm:1.1.7" + checksum: 307f8b5132edca7cd291ba0ab6ed88f8787df984d6a42401b12a0da1ecb935d50af3a108ede885ce5bede96c445acdc88bb9ea8396de151c565a90a3bf66853e languageName: node linkType: hard -"@cspell/dict-elixir@npm:^4.0.1": - version: 4.0.1 - resolution: "@cspell/dict-elixir@npm:4.0.1" - checksum: 080a71b4c3ffa98dafbad851aed31fe2f58c3cb1ca5f3cf7eee1f203168c2f9440076c2fe5970fd92a968af3f36255a3e633aa5962a32bba16c4b7095a0ef0bf +"@cspell/dict-dotnet@npm:^5.0.0": + version: 5.0.0 + resolution: "@cspell/dict-dotnet@npm:5.0.0" + checksum: 3e55abd3cc0ecb0924caa245b83595c8e90b42a8fb438f3294d06ad32d30f3235dc8943a2865f06eaec5285a8d6a7df1db71fb228753d56a678a0f0cff87c24c + languageName: node + linkType: hard + +"@cspell/dict-elixir@npm:^4.0.3": + version: 4.0.3 + resolution: "@cspell/dict-elixir@npm:4.0.3" + checksum: f084449b2de5a2fa08076ac699c6073beaa4bb43796a662d681ea8fe5cba31f9efe718f3f98ef432ba75d4ea574316de34ab8422f79f4f2022cfddee7a7b8653 languageName: node linkType: hard @@ -1899,31 +1933,38 @@ __metadata: languageName: node linkType: hard -"@cspell/dict-en_us@npm:^4.2.2": - version: 4.2.2 - resolution: "@cspell/dict-en_us@npm:4.2.2" - checksum: d77148e2f7c69149a1585ec83be833f2f22c803ba263b47715ca9bebd6d41cffeceedb95b4d33d879f601d5e9cc9c34e846cad0520c2e37a84486b808c1acfb6 +"@cspell/dict-en_us@npm:^4.3.11": + version: 4.3.11 + resolution: "@cspell/dict-en_us@npm:4.3.11" + checksum: 2b311642480b63d85397780234637c84643661f040d36fe448ae5a518a3ec5d89c9fca341cb3bfb636fa03bb633416b5493b0260751100e1f484ad15563052a6 languageName: node linkType: hard -"@cspell/dict-filetypes@npm:^3.0.0": - version: 3.0.0 - resolution: "@cspell/dict-filetypes@npm:3.0.0" - checksum: 8afd0785583f913c8d6ad1a2b56a527600258b291fc6ed8e83f543ba70a5273095195495601aca7d80fdeb17cab6a10e8a8aa44bea3083962cd42af130260d8a +"@cspell/dict-filetypes@npm:^3.0.2": + version: 3.0.2 + resolution: "@cspell/dict-filetypes@npm:3.0.2" + checksum: 929b5d9d547edfffb5ab507b5fe09afe3d7802db6f30484cff475ce3b6d3ddedca060a4d8fb69c32dede0b3312d6b773a136065457569179cf3c6b72bff0a446 languageName: node linkType: hard -"@cspell/dict-fonts@npm:^3.0.0": - version: 3.0.0 - resolution: "@cspell/dict-fonts@npm:3.0.0" - checksum: 3cd3574c2f32d761775ddd1bb68360488f400cf310c0499e6fac53641596a51708719e57426c97e183b528ad142ee04c90af93bb38a016ceecb921d76a00e9d9 +"@cspell/dict-fonts@npm:^4.0.0": + version: 4.0.0 + resolution: "@cspell/dict-fonts@npm:4.0.0" + checksum: 7e33e4b39fb071165d81920dd0ccc07e4b737a7b09522acf3781b26136526e445e03e456caaecff261d76b711196b84cff7c21293853bf00ebe93f2e64c42520 languageName: node linkType: hard -"@cspell/dict-fullstack@npm:^3.1.1": - version: 3.1.2 - resolution: "@cspell/dict-fullstack@npm:3.1.2" - checksum: 36dd52763f9fe25a2d69babf86da30326ab90bb1a74bb8e684f519e83fd529a926735c40477a9226ac2983d97cef6ac2102772a4af74a3751becaa39a3398b43 +"@cspell/dict-fsharp@npm:^1.0.1": + version: 1.0.1 + resolution: "@cspell/dict-fsharp@npm:1.0.1" + checksum: ce0df20704bf95d1fe434d2889cc764279cbce2b057fc5247be1ccaf7a8cc57372de3da2cdab6643b3df5221119716929b2e2aaad3f60533dcf0bd3c7d892fab + languageName: node + linkType: hard + +"@cspell/dict-fullstack@npm:^3.1.5": + version: 3.1.5 + resolution: "@cspell/dict-fullstack@npm:3.1.5" + checksum: 01c98a3408d4bf4832f1f110252399e663ce869bb097d681558828bb0e22725c7fe7b43077aa57afc2c3158515eaa744074826c020825af5856a0950219785a6 languageName: node linkType: hard @@ -1941,10 +1982,10 @@ __metadata: languageName: node linkType: hard -"@cspell/dict-golang@npm:^5.0.1": - version: 5.0.1 - resolution: "@cspell/dict-golang@npm:5.0.1" - checksum: 5a82060a2cc87a129174c648e2b52db8af4b9de25d5c18d138299dba3c2783003c68883d5dc9623bca2eb7e35d95783d1af3f0fd5b577a965de934deb36e8578 +"@cspell/dict-golang@npm:^6.0.4": + version: 6.0.4 + resolution: "@cspell/dict-golang@npm:6.0.4" + checksum: a3d039a8b715ac09ef5c5ae310eda9870475411964fca3334aed81e3a77d5cf14af112423f51719af6d41ba10f94f841f90a9ba35d7b0f16430f7964149e74cf languageName: node linkType: hard @@ -1962,87 +2003,96 @@ __metadata: languageName: node linkType: hard -"@cspell/dict-html@npm:^4.0.2": - version: 4.0.2 - resolution: "@cspell/dict-html@npm:4.0.2" - checksum: f4967d362a661408fcfc284292dd64280e4abda06ded0da95a5083473ea921043718b1694e9f0cec852d90e750d7d495fd639a57ce0d1dbd7097bb92c3b3e1b0 +"@cspell/dict-html@npm:^4.0.5": + version: 4.0.5 + resolution: "@cspell/dict-html@npm:4.0.5" + checksum: 2273e77cad6f373c4b0a43c5fb707725ff7c845e6de3545c8b05cbb2d82e1205f004a817498f561ced3d8d8b1d15848a82f2a667c0b64a1ee46cbde67d8ac136 languageName: node linkType: hard -"@cspell/dict-java@npm:^5.0.4": - version: 5.0.4 - resolution: "@cspell/dict-java@npm:5.0.4" - checksum: 1bbb0acc81a6af5a8e0e0e09768b1b52bfac7412e02292b6dd663949cdf33d7245e0a4018148a7d10aae8e5436714191809623a342e7cb1d42a8484dba85d8f7 +"@cspell/dict-java@npm:^5.0.6": + version: 5.0.6 + resolution: "@cspell/dict-java@npm:5.0.6" + checksum: 7d5df7831e8a4c0295ebbcfdf9a3185b197f1aa60ec85f7edf4aaec4cc1c53f37a291f3f95543642951d21ff487285f5cfb6e853b7f96f514a35052d59252909 languageName: node linkType: hard -"@cspell/dict-k8s@npm:^1.0.0": - version: 1.0.0 - resolution: "@cspell/dict-k8s@npm:1.0.0" - checksum: ef6d12cfd81b41c843773f61fc923a0a48b18d871ae0b8e9cd7e1bca28fba543c4bcd6964b34e2ac760336a86abdf7c8bc81a7b94bfdb274e39244a5c016fc3c +"@cspell/dict-k8s@npm:^1.0.2": + version: 1.0.2 + resolution: "@cspell/dict-k8s@npm:1.0.2" + checksum: 4afd7806033b2bf71b17f4cf3fbc33449492bfb2a33a8301cc97b2e55583c07a4a07c288f50f445261c1de4b95494e495b8b982ca428d285393f7eb917bb5a61 languageName: node linkType: hard -"@cspell/dict-latex@npm:^3.1.0": - version: 3.1.0 - resolution: "@cspell/dict-latex@npm:3.1.0" - checksum: 90dafd4c1d0f9a9bd9e36734e624ca3d891023a5477ca9df62037a4297c8f751be5b33cbf4def9356d8bcec65a4e1ae89862d80ebe30675e91d10d69e0852de6 +"@cspell/dict-latex@npm:^4.0.0": + version: 4.0.0 + resolution: "@cspell/dict-latex@npm:4.0.0" + checksum: 33a3f158d8c0151cbb4e6bd79ba1189d167b3916e1ce37d7b5754d18dffefe061320fa54c3cb482bd5c7cf37392d0112530b07a3eca63dffbe1069de317dc652 languageName: node linkType: hard -"@cspell/dict-lorem-ipsum@npm:^3.0.0": - version: 3.0.0 - resolution: "@cspell/dict-lorem-ipsum@npm:3.0.0" - checksum: 145a79ec536bee3ec515b189be3f4a5347a28c563060ac5da6f6783a288e63cb0662fc918be008e1a377bdeb48cfa7a2aa1f9e9f8aef6371109f95f4b049731d +"@cspell/dict-lorem-ipsum@npm:^4.0.0": + version: 4.0.0 + resolution: "@cspell/dict-lorem-ipsum@npm:4.0.0" + checksum: d3575fb7b9684480192d2cd647484312c555f3d1215d6b35371b70de3ecde4273010e5916cc2d130ff1e1223a1a49f75825651671a76d3dabdec98acf67a3902 languageName: node linkType: hard -"@cspell/dict-lua@npm:^4.0.0": - version: 4.0.0 - resolution: "@cspell/dict-lua@npm:4.0.0" - checksum: a126021ab43157518710416e3741a145f87a0ba67b134f24854c01690a0a5c7932feedd1a1b4721e1137bff7586945782fa6578bdf58cd4f0e1167f8e3e71a20 +"@cspell/dict-lua@npm:^4.0.2": + version: 4.0.2 + resolution: "@cspell/dict-lua@npm:4.0.2" + checksum: 570e45e4430fa3b07759dcc4fcaf75995bd1f3c5f335496de67963177da692e89c84fb08f5b5547a582049dee64c768e81294edd4f047dee31807261e85f6f30 languageName: node linkType: hard -"@cspell/dict-node@npm:^4.0.2": - version: 4.0.2 - resolution: "@cspell/dict-node@npm:4.0.2" - checksum: 7a63ee44c4c493b429c821eb9e5fdcd1d0f549a2ada64d8ce3f7f0a88e2d26f82daada8801ee6f09a582502a1500d63985aa47204757b39014dff747211539d5 +"@cspell/dict-makefile@npm:^1.0.0": + version: 1.0.0 + resolution: "@cspell/dict-makefile@npm:1.0.0" + checksum: f0cac4caf31e27accd5df5e0c2f53097cccbbd085126c4b4ecc08be2a32bd7f89fe6b052e9eae4ec99843175cafa94561868271fb53c5389f27cc078565b5123 languageName: node linkType: hard -"@cspell/dict-npm@npm:^5.0.3": - version: 5.0.3 - resolution: "@cspell/dict-npm@npm:5.0.3" - checksum: f250a7d67436f23965c04028eb39395595574ef4a2250c0c30ee736b32fb583ad285d0dc383cb2ac1a9a941caaa329eeb4f2e04fe6e253e6196746d77a980880 +"@cspell/dict-node@npm:^4.0.3": + version: 4.0.3 + resolution: "@cspell/dict-node@npm:4.0.3" + checksum: 178e7f3ab45f30722cae7354803dd98ea6577c025a11eda9362fa795a06dd8e934f833bfc7d46816617974822ace11217505a1bd0ea2955aaee92cf94cc6b127 languageName: node linkType: hard -"@cspell/dict-php@npm:^3.0.4": - version: 3.0.4 - resolution: "@cspell/dict-php@npm:3.0.4" - checksum: ba3dcb8afcf214e331d1ee26c61130efb6192aaf62d24655582edf23d543605d42818fb146a3b13ae203a1b70b362d3f9f5c0e793984dafb3156aff979aa6a35 +"@cspell/dict-npm@npm:^5.0.12": + version: 5.0.12 + resolution: "@cspell/dict-npm@npm:5.0.12" + checksum: 4c2c6cecbbd3c1f23ba564081e5b22628220250125693d8daa79ba0740c4ab5b6bb807475e69792dc4d4bfdf208877ea5799b502c3cb1cd55f6aaa5a170f2207 languageName: node linkType: hard -"@cspell/dict-powershell@npm:^4.0.0": - version: 4.0.0 - resolution: "@cspell/dict-powershell@npm:4.0.0" - checksum: 93ae5813324858e3fb93572f74d83c28c11c7758088b97b9e6362e31da83e10bcdefad0e50be4b2de3d4b5979b1fca44e3df4c3132f8eb45d7ab81b9d8f51aa4 +"@cspell/dict-php@npm:^4.0.4": + version: 4.0.4 + resolution: "@cspell/dict-php@npm:4.0.4" + checksum: ad835552eaf48bbd01c6c4cfb2fd56aeae027d4aabd2c8984129bf3e7e3dd66941c90d877a3f7cae1e7ab6e713089bd4ac49fb674e7cb8e5b741fe63d922ad71 languageName: node linkType: hard -"@cspell/dict-public-licenses@npm:^2.0.1": - version: 2.0.1 - resolution: "@cspell/dict-public-licenses@npm:2.0.1" - checksum: ce563b482df6f931290c0ba752417aedc993a173ae896002a4a30de9cd68418fa6a01664fe61239423388de09f17d8f68430f3ff95979a7e6e2090987aa7d968 +"@cspell/dict-powershell@npm:^5.0.2": + version: 5.0.2 + resolution: "@cspell/dict-powershell@npm:5.0.2" + checksum: 0591920546caa6965fe1238fe43aa9a9d714594d7149225bebfb0157a337d741603f52f39b2265131d20612617cfccf5da92e04491824d4c395ec664eca98076 languageName: node linkType: hard -"@cspell/dict-python@npm:^4.0.1": - version: 4.0.1 - resolution: "@cspell/dict-python@npm:4.0.1" - checksum: 83ceb2779c64fb8370dfb6070015cea6337905a7066d38e69508a20976236a5e691b9926f11f4a2391ad5676a9245b5bf981a9118db2ad483baab04741467956 +"@cspell/dict-public-licenses@npm:^2.0.5": + version: 2.0.5 + resolution: "@cspell/dict-public-licenses@npm:2.0.5" + checksum: 07e647c24ed1a5f0e88828264581e9f8fde179f776a50c4389ac0bc5c09a2bb94280d299c94d1884a8da01fbf112c5640178789b457f06b1a97414b18cda99e0 + languageName: node + linkType: hard + +"@cspell/dict-python@npm:^4.1.10": + version: 4.1.10 + resolution: "@cspell/dict-python@npm:4.1.10" + dependencies: + "@cspell/dict-data-science": ^1.0.11 + checksum: 67e210815e1ccdfda6c005e82174b93ee39b94c166e5e8971e2900850166c2bfe583edc01c263862fff3edcffd9324bc83a6260075ac7cfce2f366b94eab7154 languageName: node linkType: hard @@ -2053,38 +2103,38 @@ __metadata: languageName: node linkType: hard -"@cspell/dict-ruby@npm:^4.0.1": - version: 4.0.1 - resolution: "@cspell/dict-ruby@npm:4.0.1" - checksum: e802d322d67edd63fe7fec5f3aa95cc472711752675aa9d5ad3987ec7f17f3bb2ad537df60bdc54bed035a83b3b062eb072ddad6b15f7999b044309d8dac027e +"@cspell/dict-ruby@npm:^5.0.1": + version: 5.0.1 + resolution: "@cspell/dict-ruby@npm:5.0.1" + checksum: 2d85495b28cb7ea05b85cf3091f8f03f8a51968d532ebb0fc41ea9f8ba31915d66c8a8a2c6146a080f88ef3445a43ae972cf549ec522b2f63bfb8cb11adf8289 languageName: node linkType: hard -"@cspell/dict-rust@npm:^4.0.0": - version: 4.0.0 - resolution: "@cspell/dict-rust@npm:4.0.0" - checksum: 99dcc7009e1204fcabdb7caeca37d4eadf0963f6727e19860a1e7a2310598fd39729b89c87684c7067620b1679688fd57bf8f73a3e4b46216bdc755889a20da3 +"@cspell/dict-rust@npm:^4.0.1": + version: 4.0.1 + resolution: "@cspell/dict-rust@npm:4.0.1" + checksum: 146d3af5d0b1b84ec62059353416cd5d4b53995ed0a0edb47b96ed89f1b8b82881e76c1bac46311318f41d1619eab87d81e0cdc94855f50b79cfa0719333cbb1 languageName: node linkType: hard -"@cspell/dict-scala@npm:^4.0.0": - version: 4.0.0 - resolution: "@cspell/dict-scala@npm:4.0.0" - checksum: 811805e3a36e94dcd180bf299646df5ca672fd6a29a9ba13c08c8ed0135b59157e9685a72c66131aa8334a80491038198aaf7d1c430b4aa51ab0e9a1a6d01a6d +"@cspell/dict-scala@npm:^5.0.0": + version: 5.0.0 + resolution: "@cspell/dict-scala@npm:5.0.0" + checksum: 759dd8746e68e45299b65eeaf1dfd32d1e345fd80fd9a623af502266598c384198853001f70a700c454d8490fb9a5e1358ca1e0d7c0d43154a4f07e2d5531c72 languageName: node linkType: hard -"@cspell/dict-software-terms@npm:^3.1.3": - version: 3.1.3 - resolution: "@cspell/dict-software-terms@npm:3.1.3" - checksum: de493832c3d44b6fc74d85230939e18b4eb8be2a0e69de735990d400dd7843d634dc4f516f80377ede1e3eee74b616b05910c913658539172c01a09a47669ce3 +"@cspell/dict-software-terms@npm:^3.3.9": + version: 3.3.9 + resolution: "@cspell/dict-software-terms@npm:3.3.9" + checksum: a7c2b0867a6239eba6099ee1a6f05d8f686f7a0289150079573e8c3ed37dbdec0d58373b4aa70638548b1774298394d0ec215201eae1d62d7cd239180ca53818 languageName: node linkType: hard -"@cspell/dict-sql@npm:^2.0.1": - version: 2.0.1 - resolution: "@cspell/dict-sql@npm:2.0.1" - checksum: c92d2c9f3b22de02be5353dfe17e84ba3e562f463128fdcd46959ac9eacd9affb531a64ca374af159eeb8b1d3314a3a530d86ddaf35d972a76e0042614cb2d38 +"@cspell/dict-sql@npm:^2.1.2": + version: 2.1.2 + resolution: "@cspell/dict-sql@npm:2.1.2" + checksum: fffa66d7f3412b559be7d0acd711504b6b3b78a0380ba4e46b397e54d4754305b398e2e931965016aa6ca3c25e4a056c11974d58fbb7b78afd6d38660a2ede0b languageName: node linkType: hard @@ -2102,10 +2152,10 @@ __metadata: languageName: node linkType: hard -"@cspell/dict-typescript@npm:^3.1.0": - version: 3.1.0 - resolution: "@cspell/dict-typescript@npm:3.1.0" - checksum: b34a9f394a9426d0ec7ff6ee378b973b7e5a4483add7a19686cf923dd7047c0195e8ac155529c4a38e0bda4f48e50f7efe8de8df6ad71f875a29d28e64c8c01c +"@cspell/dict-typescript@npm:^3.1.2": + version: 3.1.2 + resolution: "@cspell/dict-typescript@npm:3.1.2" + checksum: 3cd0fa39856002975cf05b5584de42f58700a3420bd08b7b073af87dbcc1f66cab45e36a2156dd4e6c926cf67baaa192f02ccf61b9a9e5e94e69e035af54cec1 languageName: node linkType: hard @@ -2116,19 +2166,19 @@ __metadata: languageName: node linkType: hard -"@cspell/dynamic-import@npm:6.26.3": - version: 6.26.3 - resolution: "@cspell/dynamic-import@npm:6.26.3" +"@cspell/dynamic-import@npm:8.0.0": + version: 8.0.0 + resolution: "@cspell/dynamic-import@npm:8.0.0" dependencies: - import-meta-resolve: ^2.2.1 - checksum: 878235aadd32a386beac73fc12bab59e38563b6af03c92aee3f33c73e1818b40b104f50b7d05f880be2187f668dd130613d7ea8c675484aec915b200a60f37da + import-meta-resolve: ^3.1.1 + checksum: bdeeded3d47b05fcfe5d53e857f1244fe07edddb2bee80853c1ae915e6bee152bf7977e640377cd5fef0534963f66e0aa0ab3a29dba6ca51970ce548844c809a languageName: node linkType: hard -"@cspell/strong-weak-map@npm:6.26.3": - version: 6.26.3 - resolution: "@cspell/strong-weak-map@npm:6.26.3" - checksum: c62105f264e953e5d41d56ab78f6fc79b67baad1d948e87d5fd3f819d47a54e14e96f22049d02d960f6c58fc36290ea2efad69466233f6f6ce2e6cbd87183a12 +"@cspell/strong-weak-map@npm:8.0.0": + version: 8.0.0 + resolution: "@cspell/strong-weak-map@npm:8.0.0" + checksum: fda51a9caeabbf28914a3ab748295fc67977a8d7761f6e9a22f9a3252cab77b75a3c6a3298484990d2399f4ac4e5f4939a69c1e9decb35a971a8d1f0186860e4 languageName: node linkType: hard @@ -2697,7 +2747,7 @@ __metadata: languageName: node linkType: hard -"@eslint-community/eslint-utils@npm:^4.2.0": +"@eslint-community/eslint-utils@npm:^4.2.0, @eslint-community/eslint-utils@npm:^4.4.0": version: 4.4.0 resolution: "@eslint-community/eslint-utils@npm:4.4.0" dependencies: @@ -2708,51 +2758,34 @@ __metadata: languageName: node linkType: hard -"@eslint-community/regexpp@npm:^4.4.0": - version: 4.5.1 - resolution: "@eslint-community/regexpp@npm:4.5.1" - checksum: 6d901166d64998d591fab4db1c2f872981ccd5f6fe066a1ad0a93d4e11855ecae6bfb76660869a469563e8882d4307228cebd41142adb409d182f2966771e57e - languageName: node - linkType: hard - -"@eslint/eslintrc@npm:^1.4.1": - version: 1.4.1 - resolution: "@eslint/eslintrc@npm:1.4.1" - dependencies: - ajv: ^6.12.4 - debug: ^4.3.2 - espree: ^9.4.0 - globals: ^13.19.0 - ignore: ^5.2.0 - import-fresh: ^3.2.1 - js-yaml: ^4.1.0 - minimatch: ^3.1.2 - strip-json-comments: ^3.1.1 - checksum: cd3e5a8683db604739938b1c1c8b77927dc04fce3e28e0c88e7f2cd4900b89466baf83dfbad76b2b9e4d2746abdd00dd3f9da544d3e311633d8693f327d04cd7 +"@eslint-community/regexpp@npm:^4.5.1, @eslint-community/regexpp@npm:^4.6.1": + version: 4.10.0 + resolution: "@eslint-community/regexpp@npm:4.10.0" + checksum: 2a6e345429ea8382aaaf3a61f865cae16ed44d31ca917910033c02dc00d505d939f10b81e079fa14d43b51499c640138e153b7e40743c4c094d9df97d4e56f7b languageName: node linkType: hard -"@eslint/eslintrc@npm:^2.0.3": - version: 2.0.3 - resolution: "@eslint/eslintrc@npm:2.0.3" +"@eslint/eslintrc@npm:^2.1.3": + version: 2.1.3 + resolution: "@eslint/eslintrc@npm:2.1.3" dependencies: ajv: ^6.12.4 debug: ^4.3.2 - espree: ^9.5.2 + espree: ^9.6.0 globals: ^13.19.0 ignore: ^5.2.0 import-fresh: ^3.2.1 js-yaml: ^4.1.0 minimatch: ^3.1.2 strip-json-comments: ^3.1.1 - checksum: ddc51f25f8524d8231db9c9bf03177e503d941a332e8d5ce3b10b09241be4d5584a378a529a27a527586bfbccf3031ae539eb891352033c340b012b4d0c81d92 + checksum: 5c6c3878192fe0ddffa9aff08b4e2f3bcc8f1c10d6449b7295a5f58b662019896deabfc19890455ffd7e60a5bd28d25d0eaefb2f78b2d230aae3879af92b89e5 languageName: node linkType: hard -"@eslint/js@npm:8.41.0": - version: 8.41.0 - resolution: "@eslint/js@npm:8.41.0" - checksum: af013d70fe8d0429cdf5cd8b5dcc6fc384ed026c1eccb0cfe30f5849b968ab91645111373fd1b83282b38955b1bdfbe667c1a7dbda3b06cae753521223cad775 +"@eslint/js@npm:8.53.0": + version: 8.53.0 + resolution: "@eslint/js@npm:8.53.0" + checksum: e0d5cfb0000aaee237c8e6d6d6e366faa60b1ef7f928ce17778373aa44d3b886368f6d5e1f97f913f0f16801aad016db8b8df78418c9d18825c15590328028af languageName: node linkType: hard @@ -2770,22 +2803,22 @@ __metadata: languageName: node linkType: hard -"@foxglove/eslint-plugin@npm:0.21.0": - version: 0.21.0 - resolution: "@foxglove/eslint-plugin@npm:0.21.0" +"@foxglove/eslint-plugin@npm:1.0.0": + version: 1.0.0 + resolution: "@foxglove/eslint-plugin@npm:1.0.0" dependencies: - "@typescript-eslint/utils": ^5 + "@typescript-eslint/utils": ^6 tsutils: ^3 - typescript: ^4 + typescript: ^4 || ^5 peerDependencies: eslint: ^7 || ^8 eslint-config-prettier: ^8 eslint-plugin-es: ^4 eslint-plugin-filenames: ^1 eslint-plugin-import: ^2 - eslint-plugin-prettier: ^3 || ^4 - prettier: ^2 - checksum: 27bb615e278d77046c890d38744e3e528d41f228fec5309e92e0cfcb4fb58991145b00a23033d928aa2ddd3acae978b790bba3f4fefe0c4b76b533022ce8b0f2 + eslint-plugin-prettier: ^5 + prettier: ^3 + checksum: 455819c6d2a0de3901fee957688433d631dd7ecd5ad691c838b853cd63a1e2e94362b0b065e83410d979deccabea5959b46d5de994006d80d287c3afc3e4aed0 languageName: node linkType: hard @@ -2793,23 +2826,23 @@ __metadata: version: 0.0.0-use.local resolution: "@foxglove/mcap-benchmarks@workspace:typescript/benchmarks" dependencies: - "@foxglove/eslint-plugin": 0.21.0 + "@foxglove/eslint-plugin": 1.0.0 "@foxglove/tsconfig": 1.1.0 "@mcap/core": "*" "@types/node": 18.13.0 - "@typescript-eslint/eslint-plugin": 5.52.0 - "@typescript-eslint/parser": 5.52.0 + "@typescript-eslint/eslint-plugin": 6.11.0 + "@typescript-eslint/parser": 6.11.0 benny: ^3.7.1 - eslint: 8.34.0 - eslint-config-prettier: 8.6.0 + eslint: 8.53.0 + eslint-config-prettier: 9.0.0 eslint-plugin-es: 4.1.0 eslint-plugin-filenames: 1.3.2 - eslint-plugin-import: 2.27.5 - eslint-plugin-prettier: 4.2.1 - prettier: 2.8.4 + eslint-plugin-import: 2.29.0 + eslint-plugin-prettier: 5.0.1 + prettier: 3.1.0 ts-node: 10.9.1 tsconfig-paths: 4.1.2 - typescript: 4.9.5 + typescript: 5.2.2 languageName: unknown linkType: soft @@ -2818,33 +2851,33 @@ __metadata: resolution: "@foxglove/mcap-conformance@workspace:tests/conformance" dependencies: "@foxglove/crc": ^0.0.3 - "@foxglove/eslint-plugin": 0.21.0 + "@foxglove/eslint-plugin": 1.0.0 "@foxglove/tsconfig": 1.1.0 "@mcap/core": "*" "@types/diff": ^5.0.2 "@types/js-yaml": ^4.0.5 "@types/node": 18.13.0 - "@typescript-eslint/eslint-plugin": 5.52.0 - "@typescript-eslint/parser": 5.52.0 + "@typescript-eslint/eslint-plugin": 6.11.0 + "@typescript-eslint/parser": 6.11.0 colors: 1.4.0 - commander: 10.0.0 + commander: 11.1.0 diff: ^5.1.0 - eslint: 8.34.0 - eslint-config-prettier: 8.6.0 + eslint: 8.53.0 + eslint-config-prettier: 9.0.0 eslint-plugin-es: 4.1.0 eslint-plugin-filenames: 1.3.2 - eslint-plugin-import: 2.27.5 - eslint-plugin-jest: 27.2.1 - eslint-plugin-prettier: 4.2.1 + eslint-plugin-import: 2.29.0 + eslint-plugin-jest: 27.6.0 + eslint-plugin-prettier: 5.0.1 js-yaml: 4.1.0 json-stable-stringify: 1.0.2 kaitai-struct: 0.10.0 kaitai-struct-compiler: 0.10.0 lodash: 4.17.21 - prettier: 2.8.4 + prettier: 3.1.0 ts-node: 10.9.1 tsconfig-paths: ^4.1.2 - typescript: 4.9.5 + typescript: 5.2.2 languageName: unknown linkType: soft @@ -2852,7 +2885,7 @@ __metadata: version: 0.0.0-use.local resolution: "@foxglove/mcap-example-bag2mcap@workspace:typescript/examples/bag2mcap" dependencies: - "@foxglove/eslint-plugin": 0.21.0 + "@foxglove/eslint-plugin": 1.0.0 "@foxglove/rosbag": 0.2.3 "@foxglove/rosmsg": 3.1.0 "@foxglove/rosmsg-serialization": 1.5.3 @@ -2862,27 +2895,27 @@ __metadata: "@foxglove/wasm-lz4": 1.0.2 "@foxglove/wasm-zstd": 1.0.1 "@mcap/core": "*" - "@types/jest": 29.4.0 + "@types/jest": 29.5.8 "@types/lodash": 4.14.191 "@types/node": 18.13.0 - "@typescript-eslint/eslint-plugin": 5.52.0 - "@typescript-eslint/parser": 5.52.0 - commander: 10.0.0 - eslint: 8.34.0 - eslint-config-prettier: 8.6.0 + "@typescript-eslint/eslint-plugin": 6.11.0 + "@typescript-eslint/parser": 6.11.0 + commander: 11.1.0 + eslint: 8.53.0 + eslint-config-prettier: 9.0.0 eslint-plugin-es: 4.1.0 eslint-plugin-filenames: 1.3.2 - eslint-plugin-import: 2.27.5 - eslint-plugin-jest: 27.2.1 - eslint-plugin-prettier: 4.2.1 - jest: 29.4.3 + eslint-plugin-import: 2.29.0 + eslint-plugin-jest: 27.6.0 + eslint-plugin-prettier: 5.0.1 + jest: 29.7.0 lodash: 4.17.21 - prettier: 2.8.4 + prettier: 3.1.0 protobufjs: 7.2.2 - ts-jest: 29.0.5 + ts-jest: 29.1.1 ts-node: 10.9.1 tsconfig-paths: 4.1.2 - typescript: 4.9.5 + typescript: 5.2.2 languageName: unknown linkType: soft @@ -2890,18 +2923,18 @@ __metadata: version: 0.0.0-use.local resolution: "@foxglove/mcap-example-basicwriter@workspace:typescript/examples/basicwriter" dependencies: - "@foxglove/eslint-plugin": 0.21.0 + "@foxglove/eslint-plugin": 1.0.0 "@mcap/core": "*" "@types/node": 18.13.0 - eslint: 8.34.0 - eslint-config-prettier: 8.6.0 + eslint: 8.53.0 + eslint-config-prettier: 9.0.0 eslint-plugin-es: 4.1.0 eslint-plugin-filenames: 1.3.2 - eslint-plugin-import: 2.27.5 - eslint-plugin-prettier: 4.2.1 - prettier: 2.8.4 + eslint-plugin-import: 2.29.0 + eslint-plugin-prettier: 5.0.1 + prettier: 3.1.0 ts-node: 10.9.1 - typescript: 4.9.5 + typescript: 5.2.2 languageName: unknown linkType: soft @@ -2909,20 +2942,40 @@ __metadata: version: 0.0.0-use.local resolution: "@foxglove/mcap-example-flatbufferswriter@workspace:typescript/examples/flatbufferswriter" dependencies: - "@foxglove/eslint-plugin": 0.21.0 + "@foxglove/eslint-plugin": 1.0.0 "@foxglove/schemas": ^1.0.0 "@mcap/core": "*" "@types/node": 18.13.0 - eslint: 8.34.0 - eslint-config-prettier: 8.6.0 + eslint: 8.53.0 + eslint-config-prettier: 9.0.0 eslint-plugin-es: 4.1.0 eslint-plugin-filenames: 1.3.2 - eslint-plugin-import: 2.27.5 - eslint-plugin-prettier: 4.2.1 + eslint-plugin-import: 2.29.0 + eslint-plugin-prettier: 5.0.1 flatbuffers: ^23.1.21 - prettier: 2.8.4 + prettier: 3.1.0 + ts-node: 10.9.1 + typescript: 5.2.2 + languageName: unknown + linkType: soft + +"@foxglove/mcap-example-text-annotation-demo@workspace:typescript/examples/text-annotation-demo": + version: 0.0.0-use.local + resolution: "@foxglove/mcap-example-text-annotation-demo@workspace:typescript/examples/text-annotation-demo" + dependencies: + "@foxglove/eslint-plugin": 1.0.0 + "@foxglove/schemas": 1.3.0 + "@mcap/core": "*" + "@types/node": 18.13.0 + eslint: 8.53.0 + eslint-config-prettier: 9.0.0 + eslint-plugin-es: 4.1.0 + eslint-plugin-filenames: 1.3.2 + eslint-plugin-import: 2.29.0 + eslint-plugin-prettier: 5.0.1 + prettier: 3.1.0 ts-node: 10.9.1 - typescript: 4.9.5 + typescript: 5.2.2 languageName: unknown linkType: soft @@ -2930,7 +2983,7 @@ __metadata: version: 0.0.0-use.local resolution: "@foxglove/mcap-example-validate@workspace:typescript/examples/validate" dependencies: - "@foxglove/eslint-plugin": 0.21.0 + "@foxglove/eslint-plugin": 1.0.0 "@foxglove/rosbag": 0.2.3 "@foxglove/rosmsg": 3.1.0 "@foxglove/rosmsg-serialization": 1.5.3 @@ -2940,27 +2993,27 @@ __metadata: "@foxglove/wasm-lz4": 1.0.2 "@foxglove/wasm-zstd": 1.0.1 "@mcap/core": "*" - "@types/jest": 29.4.0 + "@types/jest": 29.5.8 "@types/lodash": 4.14.191 "@types/node": 18.13.0 - "@typescript-eslint/eslint-plugin": 5.52.0 - "@typescript-eslint/parser": 5.52.0 - commander: 10.0.0 - eslint: 8.34.0 - eslint-config-prettier: 8.6.0 + "@typescript-eslint/eslint-plugin": 6.11.0 + "@typescript-eslint/parser": 6.11.0 + commander: 11.1.0 + eslint: 8.53.0 + eslint-config-prettier: 9.0.0 eslint-plugin-es: 4.1.0 eslint-plugin-filenames: 1.3.2 - eslint-plugin-import: 2.27.5 - eslint-plugin-jest: 27.2.1 - eslint-plugin-prettier: 4.2.1 - jest: 29.4.3 + eslint-plugin-import: 2.29.0 + eslint-plugin-jest: 27.6.0 + eslint-plugin-prettier: 5.0.1 + jest: 29.7.0 lodash: 4.17.21 - prettier: 2.8.4 + prettier: 3.1.0 protobufjs: 7.2.2 - ts-jest: 29.0.5 + ts-jest: 29.1.1 ts-node: 10.9.1 tsconfig-paths: 4.1.2 - typescript: 4.9.5 + typescript: 5.2.2 languageName: unknown linkType: soft @@ -3041,7 +3094,7 @@ __metadata: languageName: node linkType: hard -"@foxglove/schemas@npm:1.3.0, @foxglove/schemas@npm:^1.0.0": +"@foxglove/schemas@npm:1.3.0": version: 1.3.0 resolution: "@foxglove/schemas@npm:1.3.0" dependencies: @@ -3051,25 +3104,15 @@ __metadata: languageName: node linkType: hard -"@foxglove/text-annotation-demo@workspace:typescript/examples/text-annotation-demo": - version: 0.0.0-use.local - resolution: "@foxglove/text-annotation-demo@workspace:typescript/examples/text-annotation-demo" +"@foxglove/schemas@npm:1.6.2, @foxglove/schemas@npm:^1.0.0": + version: 1.6.2 + resolution: "@foxglove/schemas@npm:1.6.2" dependencies: - "@foxglove/eslint-plugin": 0.21.0 - "@foxglove/schemas": 1.3.0 - "@mcap/core": "*" - "@types/node": 18.13.0 - eslint: 8.34.0 - eslint-config-prettier: 8.6.0 - eslint-plugin-es: 4.1.0 - eslint-plugin-filenames: 1.3.2 - eslint-plugin-import: 2.27.5 - eslint-plugin-prettier: 4.2.1 - prettier: 2.8.4 - ts-node: 10.9.1 - typescript: 4.9.5 - languageName: unknown - linkType: soft + "@foxglove/rosmsg-msgs-common": ^3.0.0 + tslib: ^2.5.0 + checksum: e8c34b365f5480382b8d190010a3b75191d1633c53cbb9f0010c6f113f6b96d7853a408b7f533374722c3286dd85befde9505b884db714f421cd74582758aba5 + languageName: node + linkType: hard "@foxglove/tsconfig@npm:1.1.0": version: 1.1.0 @@ -3131,14 +3174,14 @@ __metadata: languageName: node linkType: hard -"@humanwhocodes/config-array@npm:^0.11.8": - version: 0.11.8 - resolution: "@humanwhocodes/config-array@npm:0.11.8" +"@humanwhocodes/config-array@npm:^0.11.13": + version: 0.11.13 + resolution: "@humanwhocodes/config-array@npm:0.11.13" dependencies: - "@humanwhocodes/object-schema": ^1.2.1 + "@humanwhocodes/object-schema": ^2.0.1 debug: ^4.1.1 minimatch: ^3.0.5 - checksum: 0fd6b3c54f1674ce0a224df09b9c2f9846d20b9e54fabae1281ecfc04f2e6ad69bf19e1d6af6a28f88e8aa3990168b6cb9e1ef755868c3256a630605ec2cb1d3 + checksum: f8ea57b0d7ed7f2d64cd3944654976829d9da91c04d9c860e18804729a33f7681f78166ef4c761850b8c324d362f7d53f14c5c44907a6b38b32c703ff85e4805 languageName: node linkType: hard @@ -3149,10 +3192,10 @@ __metadata: languageName: node linkType: hard -"@humanwhocodes/object-schema@npm:^1.2.1": - version: 1.2.1 - resolution: "@humanwhocodes/object-schema@npm:1.2.1" - checksum: a824a1ec31591231e4bad5787641f59e9633827d0a2eaae131a288d33c9ef0290bd16fda8da6f7c0fcb014147865d12118df10db57f27f41e20da92369fcb3f1 +"@humanwhocodes/object-schema@npm:^2.0.1": + version: 2.0.1 + resolution: "@humanwhocodes/object-schema@npm:2.0.1" + checksum: 24929487b1ed48795d2f08346a0116cc5ee4634848bce64161fb947109352c562310fd159fc64dda0e8b853307f5794605191a9547f7341158559ca3c8262a45 languageName: node linkType: hard @@ -3176,50 +3219,50 @@ __metadata: languageName: node linkType: hard -"@jest/console@npm:^29.4.3": - version: 29.4.3 - resolution: "@jest/console@npm:29.4.3" +"@jest/console@npm:^29.7.0": + version: 29.7.0 + resolution: "@jest/console@npm:29.7.0" dependencies: - "@jest/types": ^29.4.3 + "@jest/types": ^29.6.3 "@types/node": "*" chalk: ^4.0.0 - jest-message-util: ^29.4.3 - jest-util: ^29.4.3 + jest-message-util: ^29.7.0 + jest-util: ^29.7.0 slash: ^3.0.0 - checksum: 8d9b163febe735153b523db527742309f4d598eda22f17f04e030060329bd3da4de7420fc1f7812f7a16f08273654a7de094c4b4e8b81a99dbfc17cfb1629008 + checksum: 0e3624e32c5a8e7361e889db70b170876401b7d70f509a2538c31d5cd50deb0c1ae4b92dc63fe18a0902e0a48c590c21d53787a0df41a52b34fa7cab96c384d6 languageName: node linkType: hard -"@jest/core@npm:^29.4.3": - version: 29.4.3 - resolution: "@jest/core@npm:29.4.3" +"@jest/core@npm:^29.7.0": + version: 29.7.0 + resolution: "@jest/core@npm:29.7.0" dependencies: - "@jest/console": ^29.4.3 - "@jest/reporters": ^29.4.3 - "@jest/test-result": ^29.4.3 - "@jest/transform": ^29.4.3 - "@jest/types": ^29.4.3 + "@jest/console": ^29.7.0 + "@jest/reporters": ^29.7.0 + "@jest/test-result": ^29.7.0 + "@jest/transform": ^29.7.0 + "@jest/types": ^29.6.3 "@types/node": "*" ansi-escapes: ^4.2.1 chalk: ^4.0.0 ci-info: ^3.2.0 exit: ^0.1.2 graceful-fs: ^4.2.9 - jest-changed-files: ^29.4.3 - jest-config: ^29.4.3 - jest-haste-map: ^29.4.3 - jest-message-util: ^29.4.3 - jest-regex-util: ^29.4.3 - jest-resolve: ^29.4.3 - jest-resolve-dependencies: ^29.4.3 - jest-runner: ^29.4.3 - jest-runtime: ^29.4.3 - jest-snapshot: ^29.4.3 - jest-util: ^29.4.3 - jest-validate: ^29.4.3 - jest-watcher: ^29.4.3 + jest-changed-files: ^29.7.0 + jest-config: ^29.7.0 + jest-haste-map: ^29.7.0 + jest-message-util: ^29.7.0 + jest-regex-util: ^29.6.3 + jest-resolve: ^29.7.0 + jest-resolve-dependencies: ^29.7.0 + jest-runner: ^29.7.0 + jest-runtime: ^29.7.0 + jest-snapshot: ^29.7.0 + jest-util: ^29.7.0 + jest-validate: ^29.7.0 + jest-watcher: ^29.7.0 micromatch: ^4.0.4 - pretty-format: ^29.4.3 + pretty-format: ^29.7.0 slash: ^3.0.0 strip-ansi: ^6.0.0 peerDependencies: @@ -3227,77 +3270,77 @@ __metadata: peerDependenciesMeta: node-notifier: optional: true - checksum: 4aa10644d66f44f051d5dd9cdcedce27acc71216dbcc5e7adebdea458e27aefe27c78f457d7efd49f58b968c35f42de5a521590876e2013593e675120b9e6ab1 + checksum: af759c9781cfc914553320446ce4e47775ae42779e73621c438feb1e4231a5d4862f84b1d8565926f2d1aab29b3ec3dcfdc84db28608bdf5f29867124ebcfc0d languageName: node linkType: hard -"@jest/environment@npm:^29.4.3": - version: 29.4.3 - resolution: "@jest/environment@npm:29.4.3" +"@jest/environment@npm:^29.7.0": + version: 29.7.0 + resolution: "@jest/environment@npm:29.7.0" dependencies: - "@jest/fake-timers": ^29.4.3 - "@jest/types": ^29.4.3 + "@jest/fake-timers": ^29.7.0 + "@jest/types": ^29.6.3 "@types/node": "*" - jest-mock: ^29.4.3 - checksum: 7c1b0cc4e84b90f8a3bbeca9bbf088882c88aee70a81b3b8e24265dcb1cbc302cd1eee3319089cf65bfd39adbaea344903c712afea106cb8da6c86088d99c5fb + jest-mock: ^29.7.0 + checksum: 6fb398143b2543d4b9b8d1c6dbce83fa5247f84f550330604be744e24c2bd2178bb893657d62d1b97cf2f24baf85c450223f8237cccb71192c36a38ea2272934 languageName: node linkType: hard -"@jest/expect-utils@npm:^29.4.3": - version: 29.4.3 - resolution: "@jest/expect-utils@npm:29.4.3" +"@jest/expect-utils@npm:^29.7.0": + version: 29.7.0 + resolution: "@jest/expect-utils@npm:29.7.0" dependencies: - jest-get-type: ^29.4.3 - checksum: 2bbed39ff2fb59f5acac465a1ce7303e3b4b62b479e4f386261986c9827f7f799ea912761e22629c5daf10addf8513f16733c14a29c2647bb66d4ee625e9ff92 + jest-get-type: ^29.6.3 + checksum: 75eb177f3d00b6331bcaa057e07c0ccb0733a1d0a1943e1d8db346779039cb7f103789f16e502f888a3096fb58c2300c38d1f3748b36a7fa762eb6f6d1b160ed languageName: node linkType: hard -"@jest/expect@npm:^29.4.3": - version: 29.4.3 - resolution: "@jest/expect@npm:29.4.3" +"@jest/expect@npm:^29.7.0": + version: 29.7.0 + resolution: "@jest/expect@npm:29.7.0" dependencies: - expect: ^29.4.3 - jest-snapshot: ^29.4.3 - checksum: 08d0d40077ec99a7491fe59d05821dbd31126cfba70875855d8a063698b7126b5f6c309c50811caacc6ae2f727c6e44f51bdcf1d6c1ea832b4f020045ef22d45 + expect: ^29.7.0 + jest-snapshot: ^29.7.0 + checksum: a01cb85fd9401bab3370618f4b9013b90c93536562222d920e702a0b575d239d74cecfe98010aaec7ad464f67cf534a353d92d181646a4b792acaa7e912ae55e languageName: node linkType: hard -"@jest/fake-timers@npm:^29.4.3": - version: 29.4.3 - resolution: "@jest/fake-timers@npm:29.4.3" +"@jest/fake-timers@npm:^29.7.0": + version: 29.7.0 + resolution: "@jest/fake-timers@npm:29.7.0" dependencies: - "@jest/types": ^29.4.3 + "@jest/types": ^29.6.3 "@sinonjs/fake-timers": ^10.0.2 "@types/node": "*" - jest-message-util: ^29.4.3 - jest-mock: ^29.4.3 - jest-util: ^29.4.3 - checksum: adaceb9143c395cccf3d7baa0e49b7042c3092a554e8283146df19926247e34c21b5bde5688bb90e9e87b4a02e4587926c5d858ee0a38d397a63175d0a127874 + jest-message-util: ^29.7.0 + jest-mock: ^29.7.0 + jest-util: ^29.7.0 + checksum: caf2bbd11f71c9241b458d1b5a66cbe95debc5a15d96442444b5d5c7ba774f523c76627c6931cca5e10e76f0d08761f6f1f01a608898f4751a0eee54fc3d8d00 languageName: node linkType: hard -"@jest/globals@npm:^29.4.3": - version: 29.4.3 - resolution: "@jest/globals@npm:29.4.3" +"@jest/globals@npm:^29.7.0": + version: 29.7.0 + resolution: "@jest/globals@npm:29.7.0" dependencies: - "@jest/environment": ^29.4.3 - "@jest/expect": ^29.4.3 - "@jest/types": ^29.4.3 - jest-mock: ^29.4.3 - checksum: ea76b546ceb4aa5ce2bb3726df12f989b23150b51c9f7664790caa81b943012a657cf3a8525498af1c3518cdb387f54b816cfba1b0ddd22c7b20f03b1d7290b4 + "@jest/environment": ^29.7.0 + "@jest/expect": ^29.7.0 + "@jest/types": ^29.6.3 + jest-mock: ^29.7.0 + checksum: 97dbb9459135693ad3a422e65ca1c250f03d82b2a77f6207e7fa0edd2c9d2015fbe4346f3dc9ebff1678b9d8da74754d4d440b7837497f8927059c0642a22123 languageName: node linkType: hard -"@jest/reporters@npm:^29.4.3": - version: 29.4.3 - resolution: "@jest/reporters@npm:29.4.3" +"@jest/reporters@npm:^29.7.0": + version: 29.7.0 + resolution: "@jest/reporters@npm:29.7.0" dependencies: "@bcoe/v8-coverage": ^0.2.3 - "@jest/console": ^29.4.3 - "@jest/test-result": ^29.4.3 - "@jest/transform": ^29.4.3 - "@jest/types": ^29.4.3 - "@jridgewell/trace-mapping": ^0.3.15 + "@jest/console": ^29.7.0 + "@jest/test-result": ^29.7.0 + "@jest/transform": ^29.7.0 + "@jest/types": ^29.6.3 + "@jridgewell/trace-mapping": ^0.3.18 "@types/node": "*" chalk: ^4.0.0 collect-v8-coverage: ^1.0.0 @@ -3305,13 +3348,13 @@ __metadata: glob: ^7.1.3 graceful-fs: ^4.2.9 istanbul-lib-coverage: ^3.0.0 - istanbul-lib-instrument: ^5.1.0 + istanbul-lib-instrument: ^6.0.0 istanbul-lib-report: ^3.0.0 istanbul-lib-source-maps: ^4.0.0 istanbul-reports: ^3.1.3 - jest-message-util: ^29.4.3 - jest-util: ^29.4.3 - jest-worker: ^29.4.3 + jest-message-util: ^29.7.0 + jest-util: ^29.7.0 + jest-worker: ^29.7.0 slash: ^3.0.0 string-length: ^4.0.1 strip-ansi: ^6.0.0 @@ -3321,88 +3364,88 @@ __metadata: peerDependenciesMeta: node-notifier: optional: true - checksum: 7aa2e429c915bd96c3334962addd69d2bbf52065725757ddde26b293f8c4420a1e8c65363cc3e1e5ec89100a5273ccd3771bec58325a2cc0d97afdc81995073a + checksum: 7eadabd62cc344f629024b8a268ecc8367dba756152b761bdcb7b7e570a3864fc51b2a9810cd310d85e0a0173ef002ba4528d5ea0329fbf66ee2a3ada9c40455 languageName: node linkType: hard -"@jest/schemas@npm:^29.4.3": - version: 29.4.3 - resolution: "@jest/schemas@npm:29.4.3" +"@jest/schemas@npm:^29.6.3": + version: 29.6.3 + resolution: "@jest/schemas@npm:29.6.3" dependencies: - "@sinclair/typebox": ^0.25.16 - checksum: ac754e245c19dc39e10ebd41dce09040214c96a4cd8efa143b82148e383e45128f24599195ab4f01433adae4ccfbe2db6574c90db2862ccd8551a86704b5bebd + "@sinclair/typebox": ^0.27.8 + checksum: 910040425f0fc93cd13e68c750b7885590b8839066dfa0cd78e7def07bbb708ad869381f725945d66f2284de5663bbecf63e8fdd856e2ae6e261ba30b1687e93 languageName: node linkType: hard -"@jest/source-map@npm:^29.4.3": - version: 29.4.3 - resolution: "@jest/source-map@npm:29.4.3" +"@jest/source-map@npm:^29.6.3": + version: 29.6.3 + resolution: "@jest/source-map@npm:29.6.3" dependencies: - "@jridgewell/trace-mapping": ^0.3.15 + "@jridgewell/trace-mapping": ^0.3.18 callsites: ^3.0.0 graceful-fs: ^4.2.9 - checksum: 2301d225145f8123540c0be073f35a80fd26a2f5e59550fd68525d8cea580fb896d12bf65106591ffb7366a8a19790076dbebc70e0f5e6ceb51f81827ed1f89c + checksum: bcc5a8697d471396c0003b0bfa09722c3cd879ad697eb9c431e6164e2ea7008238a01a07193dfe3cbb48b1d258eb7251f6efcea36f64e1ebc464ea3c03ae2deb languageName: node linkType: hard -"@jest/test-result@npm:^29.4.3": - version: 29.4.3 - resolution: "@jest/test-result@npm:29.4.3" +"@jest/test-result@npm:^29.7.0": + version: 29.7.0 + resolution: "@jest/test-result@npm:29.7.0" dependencies: - "@jest/console": ^29.4.3 - "@jest/types": ^29.4.3 + "@jest/console": ^29.7.0 + "@jest/types": ^29.6.3 "@types/istanbul-lib-coverage": ^2.0.0 collect-v8-coverage: ^1.0.0 - checksum: 164f102b96619ec283c2c39e208b8048e4674f75bf3c3a4f2e95048ae0f9226105add684b25f10d286d91c221625f877e2c1cfc3da46c42d7e1804da239318cb + checksum: 67b6317d526e335212e5da0e768e3b8ab8a53df110361b80761353ad23b6aea4432b7c5665bdeb87658ea373b90fb1afe02ed3611ef6c858c7fba377505057fa languageName: node linkType: hard -"@jest/test-sequencer@npm:^29.4.3": - version: 29.4.3 - resolution: "@jest/test-sequencer@npm:29.4.3" +"@jest/test-sequencer@npm:^29.7.0": + version: 29.7.0 + resolution: "@jest/test-sequencer@npm:29.7.0" dependencies: - "@jest/test-result": ^29.4.3 + "@jest/test-result": ^29.7.0 graceful-fs: ^4.2.9 - jest-haste-map: ^29.4.3 + jest-haste-map: ^29.7.0 slash: ^3.0.0 - checksum: 145e1fa9379e5be3587bde6d585b8aee5cf4442b06926928a87e9aec7de5be91b581711d627c6ca13144d244fe05e5d248c13b366b51bedc404f9dcfbfd79e9e + checksum: 73f43599017946be85c0b6357993b038f875b796e2f0950487a82f4ebcb115fa12131932dd9904026b4ad8be131fe6e28bd8d0aa93b1563705185f9804bff8bd languageName: node linkType: hard -"@jest/transform@npm:^29.4.3": - version: 29.5.0 - resolution: "@jest/transform@npm:29.5.0" +"@jest/transform@npm:^29.7.0": + version: 29.7.0 + resolution: "@jest/transform@npm:29.7.0" dependencies: "@babel/core": ^7.11.6 - "@jest/types": ^29.5.0 - "@jridgewell/trace-mapping": ^0.3.15 + "@jest/types": ^29.6.3 + "@jridgewell/trace-mapping": ^0.3.18 babel-plugin-istanbul: ^6.1.1 chalk: ^4.0.0 convert-source-map: ^2.0.0 fast-json-stable-stringify: ^2.1.0 graceful-fs: ^4.2.9 - jest-haste-map: ^29.5.0 - jest-regex-util: ^29.4.3 - jest-util: ^29.5.0 + jest-haste-map: ^29.7.0 + jest-regex-util: ^29.6.3 + jest-util: ^29.7.0 micromatch: ^4.0.4 pirates: ^4.0.4 slash: ^3.0.0 write-file-atomic: ^4.0.2 - checksum: d55d604085c157cf5112e165ff5ac1fa788873b3b31265fb4734ca59892ee24e44119964cc47eb6d178dd9512bbb6c576d1e20e51a201ff4e24d31e818a1c92d + checksum: 0f8ac9f413903b3cb6d240102db848f2a354f63971ab885833799a9964999dd51c388162106a807f810071f864302cdd8e3f0c241c29ce02d85a36f18f3f40ab languageName: node linkType: hard -"@jest/types@npm:^29.4.3, @jest/types@npm:^29.5.0": - version: 29.5.0 - resolution: "@jest/types@npm:29.5.0" +"@jest/types@npm:^29.6.3": + version: 29.6.3 + resolution: "@jest/types@npm:29.6.3" dependencies: - "@jest/schemas": ^29.4.3 + "@jest/schemas": ^29.6.3 "@types/istanbul-lib-coverage": ^2.0.0 "@types/istanbul-reports": ^3.0.0 "@types/node": "*" "@types/yargs": ^17.0.8 chalk: ^4.0.0 - checksum: 1811f94b19cf8a9460a289c4f056796cfc373480e0492692a6125a553cd1a63824bd846d7bb78820b7b6f758f6dd3c2d4558293bb676d541b2fa59c70fdf9d39 + checksum: a0bcf15dbb0eca6bdd8ce61a3fb055349d40268622a7670a3b2eb3c3dbafe9eb26af59938366d520b86907b9505b0f9b29b85cec11579a9e580694b87cd90fcc languageName: node linkType: hard @@ -3427,10 +3470,10 @@ __metadata: languageName: node linkType: hard -"@jridgewell/resolve-uri@npm:3.1.0, @jridgewell/resolve-uri@npm:^3.0.3": - version: 3.1.0 - resolution: "@jridgewell/resolve-uri@npm:3.1.0" - checksum: b5ceaaf9a110fcb2780d1d8f8d4a0bfd216702f31c988d8042e5f8fbe353c55d9b0f55a1733afdc64806f8e79c485d2464680ac48a0d9fcadb9548ee6b81d267 +"@jridgewell/resolve-uri@npm:^3.0.3, @jridgewell/resolve-uri@npm:^3.1.0": + version: 3.1.1 + resolution: "@jridgewell/resolve-uri@npm:3.1.1" + checksum: f5b441fe7900eab4f9155b3b93f9800a916257f4e8563afbcd3b5a5337b55e52bd8ae6735453b1b745457d9f6cdb16d74cd6220bbdd98cf153239e13f6cbb653 languageName: node linkType: hard @@ -3451,10 +3494,10 @@ __metadata: languageName: node linkType: hard -"@jridgewell/sourcemap-codec@npm:1.4.14, @jridgewell/sourcemap-codec@npm:^1.4.10": - version: 1.4.14 - resolution: "@jridgewell/sourcemap-codec@npm:1.4.14" - checksum: 61100637b6d173d3ba786a5dff019e1a74b1f394f323c1fee337ff390239f053b87266c7a948777f4b1ee68c01a8ad0ab61e5ff4abb5a012a0b091bec391ab97 +"@jridgewell/sourcemap-codec@npm:^1.4.10, @jridgewell/sourcemap-codec@npm:^1.4.14": + version: 1.4.15 + resolution: "@jridgewell/sourcemap-codec@npm:1.4.15" + checksum: b881c7e503db3fc7f3c1f35a1dd2655a188cc51a3612d76efc8a6eb74728bef5606e6758ee77423e564092b4a518aba569bbb21c9bac5ab7a35b0c6ae7e344c8 languageName: node linkType: hard @@ -3468,13 +3511,13 @@ __metadata: languageName: node linkType: hard -"@jridgewell/trace-mapping@npm:^0.3.12, @jridgewell/trace-mapping@npm:^0.3.15, @jridgewell/trace-mapping@npm:^0.3.17, @jridgewell/trace-mapping@npm:^0.3.9": - version: 0.3.17 - resolution: "@jridgewell/trace-mapping@npm:0.3.17" +"@jridgewell/trace-mapping@npm:^0.3.12, @jridgewell/trace-mapping@npm:^0.3.17, @jridgewell/trace-mapping@npm:^0.3.18, @jridgewell/trace-mapping@npm:^0.3.9": + version: 0.3.20 + resolution: "@jridgewell/trace-mapping@npm:0.3.20" dependencies: - "@jridgewell/resolve-uri": 3.1.0 - "@jridgewell/sourcemap-codec": 1.4.14 - checksum: 9d703b859cff5cd83b7308fd457a431387db5db96bd781a63bf48e183418dd9d3d44e76b9e4ae13237f6abeeb25d739ec9215c1d5bfdd08f66f750a50074a339 + "@jridgewell/resolve-uri": ^3.1.0 + "@jridgewell/sourcemap-codec": ^1.4.14 + checksum: cd1a7353135f385909468ff0cf20bdd37e59f2ee49a13a966dedf921943e222082c583ade2b579ff6cd0d8faafcb5461f253e1bf2a9f48fec439211fdbe788f5 languageName: node linkType: hard @@ -3490,28 +3533,28 @@ __metadata: resolution: "@mcap/core@workspace:typescript/core" dependencies: "@foxglove/crc": ^0.0.3 - "@foxglove/eslint-plugin": 0.21.0 + "@foxglove/eslint-plugin": 1.0.0 "@foxglove/tsconfig": 1.1.0 - "@types/jest": 29.4.0 + "@types/jest": 29.5.8 "@types/lodash": 4.14.191 "@types/node": 18.13.0 - "@typescript-eslint/eslint-plugin": 5.52.0 - "@typescript-eslint/parser": 5.52.0 - eslint: 8.34.0 - eslint-config-prettier: 8.6.0 + "@typescript-eslint/eslint-plugin": 6.11.0 + "@typescript-eslint/parser": 6.11.0 + eslint: 8.53.0 + eslint-config-prettier: 9.0.0 eslint-plugin-es: 4.1.0 eslint-plugin-filenames: 1.3.2 - eslint-plugin-import: 2.27.5 - eslint-plugin-jest: 27.2.1 - eslint-plugin-prettier: 4.2.1 + eslint-plugin-import: 2.29.0 + eslint-plugin-jest: 27.6.0 + eslint-plugin-prettier: 5.0.1 heap-js: ^2.2.0 - jest: 29.4.3 + jest: 29.7.0 lodash: 4.17.21 - prettier: 2.8.4 - ts-jest: 29.0.5 + prettier: 3.1.0 + ts-jest: 29.1.1 ts-node: 10.9.1 tslib: ^2.5.0 - typescript: 4.9.5 + typescript: 5.2.2 languageName: unknown linkType: soft @@ -3605,6 +3648,20 @@ __metadata: languageName: node linkType: hard +"@pkgr/utils@npm:^2.3.1": + version: 2.4.2 + resolution: "@pkgr/utils@npm:2.4.2" + dependencies: + cross-spawn: ^7.0.3 + fast-glob: ^3.3.0 + is-glob: ^4.0.3 + open: ^9.1.0 + picocolors: ^1.0.0 + tslib: ^2.6.0 + checksum: 24e04c121269317d259614cd32beea3af38277151c4002df5883c4be920b8e3490bb897748e844f9d46bf68230f86dabd4e8f093773130e7e60529a769a132fc + languageName: node + linkType: hard + "@polka/url@npm:^1.0.0-next.20": version: 1.0.0-next.21 resolution: "@polka/url@npm:1.0.0-next.21" @@ -3708,10 +3765,10 @@ __metadata: languageName: node linkType: hard -"@sinclair/typebox@npm:^0.25.16": - version: 0.25.24 - resolution: "@sinclair/typebox@npm:0.25.24" - checksum: 10219c58f40b8414c50b483b0550445e9710d4fe7b2c4dccb9b66533dd90ba8e024acc776026cebe81e87f06fa24b07fdd7bc30dd277eb9cc386ec50151a3026 +"@sinclair/typebox@npm:^0.27.8": + version: 0.27.8 + resolution: "@sinclair/typebox@npm:0.27.8" + checksum: 00bd7362a3439021aa1ea51b0e0d0a0e8ca1351a3d54c606b115fdcc49b51b16db6e5f43b4fe7a28c38688523e22a94d49dd31168868b655f0d4d50f032d07a1 languageName: node linkType: hard @@ -4167,13 +4224,13 @@ __metadata: languageName: node linkType: hard -"@types/jest@npm:29.4.0": - version: 29.4.0 - resolution: "@types/jest@npm:29.4.0" +"@types/jest@npm:29.5.8": + version: 29.5.8 + resolution: "@types/jest@npm:29.5.8" dependencies: expect: ^29.0.0 pretty-format: ^29.0.0 - checksum: 23760282362a252e6690314584d83a47512d4cd61663e957ed3398ecf98195fe931c45606ee2f9def12f8ed7d8aa102d492ec42d26facdaf8b78094a31e6568e + checksum: ca8438a5b4c098c8c023e9d5b279ea306494a1d0b5291cfb498100fa780377145f068b2a021d545b0398bbe0328dcc37044dd3aaf3c6c0fe9b0bef7b46a63453 languageName: node linkType: hard @@ -4184,10 +4241,10 @@ __metadata: languageName: node linkType: hard -"@types/json-schema@npm:*, @types/json-schema@npm:^7.0.4, @types/json-schema@npm:^7.0.5, @types/json-schema@npm:^7.0.8, @types/json-schema@npm:^7.0.9": - version: 7.0.11 - resolution: "@types/json-schema@npm:7.0.11" - checksum: 527bddfe62db9012fccd7627794bd4c71beb77601861055d87e3ee464f2217c85fca7a4b56ae677478367bbd248dbde13553312b7d4dbc702a2f2bbf60c4018d +"@types/json-schema@npm:*, @types/json-schema@npm:^7.0.12, @types/json-schema@npm:^7.0.4, @types/json-schema@npm:^7.0.5, @types/json-schema@npm:^7.0.8, @types/json-schema@npm:^7.0.9": + version: 7.0.15 + resolution: "@types/json-schema@npm:7.0.15" + checksum: 97ed0cb44d4070aecea772b7b2e2ed971e10c81ec87dd4ecc160322ffa55ff330dace1793489540e3e318d90942064bb697cc0f8989391797792d919737b3b98 languageName: node linkType: hard @@ -4258,13 +4315,6 @@ __metadata: languageName: node linkType: hard -"@types/prettier@npm:^2.1.5": - version: 2.4.2 - resolution: "@types/prettier@npm:2.4.2" - checksum: 76e230b2d11028af11fe12e09b2d5b10b03738e9abf819ae6ebb0f78cac13d39f860755ce05ac3855b608222518d956628f5d00322dc206cc6d1f2d8d1519f1e - languageName: node - linkType: hard - "@types/promise-queue@npm:2.2.0": version: 2.2.0 resolution: "@types/promise-queue@npm:2.2.0" @@ -4368,10 +4418,10 @@ __metadata: languageName: node linkType: hard -"@types/semver@npm:^7.3.12": - version: 7.5.0 - resolution: "@types/semver@npm:7.5.0" - checksum: 0a64b9b9c7424d9a467658b18dd70d1d781c2d6f033096a6e05762d20ebbad23c1b69b0083b0484722aabf35640b78ccc3de26368bcae1129c87e9df028a22e2 +"@types/semver@npm:^7.3.12, @types/semver@npm:^7.5.0": + version: 7.5.5 + resolution: "@types/semver@npm:7.5.5" + checksum: 533e6c93d1262d65f449423d94a445f7f3db0672e7429f21b6a1636d6051dbab3a2989ddcda9b79c69bb37830931d09fc958a65305a891357f5cea3257c297f5 languageName: node linkType: hard @@ -4442,54 +4492,46 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/eslint-plugin@npm:5.52.0": - version: 5.52.0 - resolution: "@typescript-eslint/eslint-plugin@npm:5.52.0" +"@typescript-eslint/eslint-plugin@npm:6.11.0": + version: 6.11.0 + resolution: "@typescript-eslint/eslint-plugin@npm:6.11.0" dependencies: - "@typescript-eslint/scope-manager": 5.52.0 - "@typescript-eslint/type-utils": 5.52.0 - "@typescript-eslint/utils": 5.52.0 + "@eslint-community/regexpp": ^4.5.1 + "@typescript-eslint/scope-manager": 6.11.0 + "@typescript-eslint/type-utils": 6.11.0 + "@typescript-eslint/utils": 6.11.0 + "@typescript-eslint/visitor-keys": 6.11.0 debug: ^4.3.4 - grapheme-splitter: ^1.0.4 - ignore: ^5.2.0 - natural-compare-lite: ^1.4.0 - regexpp: ^3.2.0 - semver: ^7.3.7 - tsutils: ^3.21.0 + graphemer: ^1.4.0 + ignore: ^5.2.4 + natural-compare: ^1.4.0 + semver: ^7.5.4 + ts-api-utils: ^1.0.1 peerDependencies: - "@typescript-eslint/parser": ^5.0.0 - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + "@typescript-eslint/parser": ^6.0.0 || ^6.0.0-alpha + eslint: ^7.0.0 || ^8.0.0 peerDependenciesMeta: typescript: optional: true - checksum: cff07ee94d8ab2a1b6c33b5c5bf641eff2bf2bebc0f35a9d8b3f128fd610e27a4aaf620bc2ad23608ad161b1810b7e32e5a2e0f746cc5094c3f506f7a14daa34 + checksum: 8ba9ce7ce8609a044e405baf57cc84d6973d7676950c870288d7eae2dba44b36664e3f4d90b94a4de08e17259fe8baa7790750cd4e5391dbe2a2743497d7fae2 languageName: node linkType: hard -"@typescript-eslint/parser@npm:5.52.0": - version: 5.52.0 - resolution: "@typescript-eslint/parser@npm:5.52.0" +"@typescript-eslint/parser@npm:6.11.0": + version: 6.11.0 + resolution: "@typescript-eslint/parser@npm:6.11.0" dependencies: - "@typescript-eslint/scope-manager": 5.52.0 - "@typescript-eslint/types": 5.52.0 - "@typescript-eslint/typescript-estree": 5.52.0 + "@typescript-eslint/scope-manager": 6.11.0 + "@typescript-eslint/types": 6.11.0 + "@typescript-eslint/typescript-estree": 6.11.0 + "@typescript-eslint/visitor-keys": 6.11.0 debug: ^4.3.4 peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + eslint: ^7.0.0 || ^8.0.0 peerDependenciesMeta: typescript: optional: true - checksum: 1d8ff6e932f9c9db8d24b16ce89fd963f0982c38559e500aa1f8dc5cd66abd02f1659dd1a1361ce550def05331803caa69a69a039b54c94fc0f22919a2305c12 - languageName: node - linkType: hard - -"@typescript-eslint/scope-manager@npm:5.52.0": - version: 5.52.0 - resolution: "@typescript-eslint/scope-manager@npm:5.52.0" - dependencies: - "@typescript-eslint/types": 5.52.0 - "@typescript-eslint/visitor-keys": 5.52.0 - checksum: 9a03fe30f8e90a5106c482478f213eefdd09f2f74e24d9dc59b453885466a758fe6d1cd24d706aed6188fb03c84b16ca6491cf20da6b16b8fc53cad8b8c327f2 + checksum: e9cb175e3537b82aa8cd39641ecb4e656586f89f8365cf05400b5aa8794dac0c8c10c6aa2fd7c13a684f62c1493f5e41c5534df49d377abe9dc89d861a51195c languageName: node linkType: hard @@ -4503,27 +4545,30 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/type-utils@npm:5.52.0": - version: 5.52.0 - resolution: "@typescript-eslint/type-utils@npm:5.52.0" +"@typescript-eslint/scope-manager@npm:6.11.0": + version: 6.11.0 + resolution: "@typescript-eslint/scope-manager@npm:6.11.0" + dependencies: + "@typescript-eslint/types": 6.11.0 + "@typescript-eslint/visitor-keys": 6.11.0 + checksum: d219a96fd80fb14176cdcc47b070e870c73ccc0dfb32a8657f6ceaefb613dc0ea240a77250dcfc437d9c9360ca165c2765d4cf8fe689dae7e9eee2c0d6a98a50 + languageName: node + linkType: hard + +"@typescript-eslint/type-utils@npm:6.11.0": + version: 6.11.0 + resolution: "@typescript-eslint/type-utils@npm:6.11.0" dependencies: - "@typescript-eslint/typescript-estree": 5.52.0 - "@typescript-eslint/utils": 5.52.0 + "@typescript-eslint/typescript-estree": 6.11.0 + "@typescript-eslint/utils": 6.11.0 debug: ^4.3.4 - tsutils: ^3.21.0 + ts-api-utils: ^1.0.1 peerDependencies: - eslint: "*" + eslint: ^7.0.0 || ^8.0.0 peerDependenciesMeta: typescript: optional: true - checksum: ac5422040461febab8a2eeec76d969024ccff76203dec357f7220c9b5e0dde96e3e3a76fd4118d42b50bd5bfb3a194aaceeb63417a2ac4e1ebf5e687558a9a10 - languageName: node - linkType: hard - -"@typescript-eslint/types@npm:5.52.0": - version: 5.52.0 - resolution: "@typescript-eslint/types@npm:5.52.0" - checksum: 018940d61aebf7cf3f7de1b9957446e2ea01f08fe950bef4788c716a3a88f7c42765fe7d80152b0d0428fcd4bd3ace2dfa8c459ba1c59d9a84e951642180f869 + checksum: 2effbe62ae3b12f8a88663072f68a5dcb1135d9ee3c09a0d9fcf49b943837c0a5966e907d4a1a15c27ddf82af2fcf7f6e004655d3e1f7a17c21596469771ff7d languageName: node linkType: hard @@ -4534,12 +4579,19 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/typescript-estree@npm:5.52.0": - version: 5.52.0 - resolution: "@typescript-eslint/typescript-estree@npm:5.52.0" +"@typescript-eslint/types@npm:6.11.0": + version: 6.11.0 + resolution: "@typescript-eslint/types@npm:6.11.0" + checksum: ca8a11320286c9b0759a70ec83b9fd99937c9686fafdd41d8ea09ed7b2fa12e6b342bf65547efe5495926cd04cfc6488315920e3caffd27f12d42cb9a8cf88c8 + languageName: node + linkType: hard + +"@typescript-eslint/typescript-estree@npm:5.59.7": + version: 5.59.7 + resolution: "@typescript-eslint/typescript-estree@npm:5.59.7" dependencies: - "@typescript-eslint/types": 5.52.0 - "@typescript-eslint/visitor-keys": 5.52.0 + "@typescript-eslint/types": 5.59.7 + "@typescript-eslint/visitor-keys": 5.59.7 debug: ^4.3.4 globby: ^11.1.0 is-glob: ^4.0.3 @@ -4548,47 +4600,46 @@ __metadata: peerDependenciesMeta: typescript: optional: true - checksum: 67d396907fee3d6894e26411a5098a37f07e5d50343189e6361ff7db91c74a7ffe2abd630d11f14c2bda1f4af13edf52b80b11cbccb55b44079c7cec14c9e108 + checksum: eefe82eedf9ee2e14463c3f2b5b18df084c1328a859b245ee897a9a7075acce7cca0216a21fd7968b75aa64189daa008bfde1e2f9afbcc336f3dfe856e7f342e languageName: node linkType: hard -"@typescript-eslint/typescript-estree@npm:5.59.7": - version: 5.59.7 - resolution: "@typescript-eslint/typescript-estree@npm:5.59.7" +"@typescript-eslint/typescript-estree@npm:6.11.0": + version: 6.11.0 + resolution: "@typescript-eslint/typescript-estree@npm:6.11.0" dependencies: - "@typescript-eslint/types": 5.59.7 - "@typescript-eslint/visitor-keys": 5.59.7 + "@typescript-eslint/types": 6.11.0 + "@typescript-eslint/visitor-keys": 6.11.0 debug: ^4.3.4 globby: ^11.1.0 is-glob: ^4.0.3 - semver: ^7.3.7 - tsutils: ^3.21.0 + semver: ^7.5.4 + ts-api-utils: ^1.0.1 peerDependenciesMeta: typescript: optional: true - checksum: eefe82eedf9ee2e14463c3f2b5b18df084c1328a859b245ee897a9a7075acce7cca0216a21fd7968b75aa64189daa008bfde1e2f9afbcc336f3dfe856e7f342e + checksum: e137ba7c4cad08853a44d9c40072496ca5f2d440828be9fd2d207a59db56b05a6dcb4756f3ba341ee2ae714de45df80114477946d30801c5a46eed67314fd9c6 languageName: node linkType: hard -"@typescript-eslint/utils@npm:5.52.0": - version: 5.52.0 - resolution: "@typescript-eslint/utils@npm:5.52.0" +"@typescript-eslint/utils@npm:6.11.0, @typescript-eslint/utils@npm:^6": + version: 6.11.0 + resolution: "@typescript-eslint/utils@npm:6.11.0" dependencies: - "@types/json-schema": ^7.0.9 - "@types/semver": ^7.3.12 - "@typescript-eslint/scope-manager": 5.52.0 - "@typescript-eslint/types": 5.52.0 - "@typescript-eslint/typescript-estree": 5.52.0 - eslint-scope: ^5.1.1 - eslint-utils: ^3.0.0 - semver: ^7.3.7 + "@eslint-community/eslint-utils": ^4.4.0 + "@types/json-schema": ^7.0.12 + "@types/semver": ^7.5.0 + "@typescript-eslint/scope-manager": 6.11.0 + "@typescript-eslint/types": 6.11.0 + "@typescript-eslint/typescript-estree": 6.11.0 + semver: ^7.5.4 peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 - checksum: 01906be5262ece36537e9d586e4d2d4791e05752a9354bcb42b1f5bf965f53daa13309c61c3dff5e201ea28c298e4e01cf0c93738afa0099fea0da3b1d8cb3a5 + eslint: ^7.0.0 || ^8.0.0 + checksum: e90aa2c8c56038a48de65a5303f9e4a4a70bb0d4d0a05cfcd28157fc0f06b2fc186c2e76a495f4540a903ea37577daa1403bab923d940114ec27a6326153d60f languageName: node linkType: hard -"@typescript-eslint/utils@npm:^5, @typescript-eslint/utils@npm:^5.10.0": +"@typescript-eslint/utils@npm:^5.10.0": version: 5.59.7 resolution: "@typescript-eslint/utils@npm:5.59.7" dependencies: @@ -4606,16 +4657,6 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/visitor-keys@npm:5.52.0": - version: 5.52.0 - resolution: "@typescript-eslint/visitor-keys@npm:5.52.0" - dependencies: - "@typescript-eslint/types": 5.52.0 - eslint-visitor-keys: ^3.3.0 - checksum: 33b44f0cd35b7b47f34e89d52e47b8d8200f55af306b22db4de104d79f65907458ea022e548f50d966e32fea150432ac9c1ae65b3001b0ad2ac8a17c0211f370 - languageName: node - linkType: hard - "@typescript-eslint/visitor-keys@npm:5.59.7": version: 5.59.7 resolution: "@typescript-eslint/visitor-keys@npm:5.59.7" @@ -4626,6 +4667,23 @@ __metadata: languageName: node linkType: hard +"@typescript-eslint/visitor-keys@npm:6.11.0": + version: 6.11.0 + resolution: "@typescript-eslint/visitor-keys@npm:6.11.0" + dependencies: + "@typescript-eslint/types": 6.11.0 + eslint-visitor-keys: ^3.4.1 + checksum: 6aae9dd79963bbefbf2e310015b909627da541a13ab4d8359eea3c86c34fdbb91e583f65b5a99dee1959f7c5d67b21b45e5a05c63ddb4b82dacd60c890ce8b25 + languageName: node + linkType: hard + +"@ungap/structured-clone@npm:^1.2.0": + version: 1.2.0 + resolution: "@ungap/structured-clone@npm:1.2.0" + checksum: 4f656b7b4672f2ce6e272f2427d8b0824ed11546a601d8d5412b9d7704e83db38a8d9f402ecdf2b9063fc164af842ad0ec4a55819f621ed7e7ea4d1efcc74524 + languageName: node + linkType: hard + "@webassemblyjs/ast@npm:1.11.6, @webassemblyjs/ast@npm:^1.11.5": version: 1.11.6 resolution: "@webassemblyjs/ast@npm:1.11.6" @@ -4833,12 +4891,12 @@ __metadata: languageName: node linkType: hard -"acorn@npm:^8.0.4, acorn@npm:^8.4.1, acorn@npm:^8.5.0, acorn@npm:^8.7.1, acorn@npm:^8.8.0": - version: 8.8.2 - resolution: "acorn@npm:8.8.2" +"acorn@npm:^8.0.4, acorn@npm:^8.4.1, acorn@npm:^8.5.0, acorn@npm:^8.7.1, acorn@npm:^8.9.0": + version: 8.11.2 + resolution: "acorn@npm:8.11.2" bin: acorn: bin/acorn - checksum: f790b99a1bf63ef160c967e23c46feea7787e531292bb827126334612c234ed489a0dc2c7ba33156416f0ffa8d25bf2b0fdb7f35c2ba60eb3e960572bece4001 + checksum: 818450408684da89423e3daae24e4dc9b68692db8ab49ea4569c7c5abb7a3f23669438bf129cc81dfdada95e1c9b944ee1bfca2c57a05a4dc73834a612fbf6a7 languageName: node linkType: hard @@ -4913,7 +4971,7 @@ __metadata: languageName: node linkType: hard -"ajv@npm:^6.10.0, ajv@npm:^6.12.2, ajv@npm:^6.12.4, ajv@npm:^6.12.5": +"ajv@npm:^6.12.2, ajv@npm:^6.12.4, ajv@npm:^6.12.5": version: 6.12.6 resolution: "ajv@npm:6.12.6" dependencies: @@ -5107,6 +5165,16 @@ __metadata: languageName: node linkType: hard +"array-buffer-byte-length@npm:^1.0.0": + version: 1.0.0 + resolution: "array-buffer-byte-length@npm:1.0.0" + dependencies: + call-bind: ^1.0.2 + is-array-buffer: ^3.0.1 + checksum: 044e101ce150f4804ad19c51d6c4d4cfa505c5b2577bd179256e4aa3f3f6a0a5e9874c78cd428ee566ac574c8a04d7ce21af9fe52e844abfdccb82b33035a7c3 + languageName: node + linkType: hard + "array-flatten@npm:1.1.1": version: 1.1.1 resolution: "array-flatten@npm:1.1.1" @@ -5121,16 +5189,16 @@ __metadata: languageName: node linkType: hard -"array-includes@npm:^3.1.5, array-includes@npm:^3.1.6": - version: 3.1.6 - resolution: "array-includes@npm:3.1.6" +"array-includes@npm:^3.1.5, array-includes@npm:^3.1.6, array-includes@npm:^3.1.7": + version: 3.1.7 + resolution: "array-includes@npm:3.1.7" dependencies: call-bind: ^1.0.2 - define-properties: ^1.1.4 - es-abstract: ^1.20.4 - get-intrinsic: ^1.1.3 + define-properties: ^1.2.0 + es-abstract: ^1.22.1 + get-intrinsic: ^1.2.1 is-string: ^1.0.7 - checksum: f22f8cd8ba8a6448d91eebdc69f04e4e55085d09232b5216ee2d476dab3ef59984e8d1889e662c6a0ed939dcb1b57fd05b2c0209c3370942fc41b752c82a2ca5 + checksum: 06f9e4598fac12a919f7c59a3f04f010ea07f0b7f0585465ed12ef528a60e45f374e79d1bddbb34cdd4338357d00023ddbd0ac18b0be36964f5e726e8965d7fc languageName: node linkType: hard @@ -5148,27 +5216,40 @@ __metadata: languageName: node linkType: hard -"array.prototype.flat@npm:^1.3.1": - version: 1.3.1 - resolution: "array.prototype.flat@npm:1.3.1" +"array.prototype.findlastindex@npm:^1.2.3": + version: 1.2.3 + resolution: "array.prototype.findlastindex@npm:1.2.3" dependencies: call-bind: ^1.0.2 - define-properties: ^1.1.4 - es-abstract: ^1.20.4 + define-properties: ^1.2.0 + es-abstract: ^1.22.1 es-shim-unscopables: ^1.0.0 - checksum: 5a8415949df79bf6e01afd7e8839bbde5a3581300e8ad5d8449dea52639e9e59b26a467665622783697917b43bf39940a6e621877c7dd9b3d1c1f97484b9b88b + get-intrinsic: ^1.2.1 + checksum: 31f35d7b370c84db56484618132041a9af401b338f51899c2e78ef7690fbba5909ee7ca3c59a7192085b328cc0c68c6fd1f6d1553db01a689a589ae510f3966e languageName: node linkType: hard -"array.prototype.flatmap@npm:^1.3.1": - version: 1.3.1 - resolution: "array.prototype.flatmap@npm:1.3.1" +"array.prototype.flat@npm:^1.3.2": + version: 1.3.2 + resolution: "array.prototype.flat@npm:1.3.2" dependencies: call-bind: ^1.0.2 - define-properties: ^1.1.4 - es-abstract: ^1.20.4 + define-properties: ^1.2.0 + es-abstract: ^1.22.1 + es-shim-unscopables: ^1.0.0 + checksum: 5d6b4bf102065fb3f43764bfff6feb3295d372ce89591e6005df3d0ce388527a9f03c909af6f2a973969a4d178ab232ffc9236654149173e0e187ec3a1a6b87b + languageName: node + linkType: hard + +"array.prototype.flatmap@npm:^1.3.1, array.prototype.flatmap@npm:^1.3.2": + version: 1.3.2 + resolution: "array.prototype.flatmap@npm:1.3.2" + dependencies: + call-bind: ^1.0.2 + define-properties: ^1.2.0 + es-abstract: ^1.22.1 es-shim-unscopables: ^1.0.0 - checksum: 8c1c43a4995f12cf12523436da28515184c753807b3f0bc2ca6c075f71c470b099e2090cc67dba8e5280958fea401c1d0c59e1db0143272aef6cd1103921a987 + checksum: ce09fe21dc0bcd4f30271f8144083aa8c13d4639074d6c8dc82054b847c7fc9a0c97f857491f4da19d4003e507172a78f4bcd12903098adac8b9cd374f734be3 languageName: node linkType: hard @@ -5185,6 +5266,21 @@ __metadata: languageName: node linkType: hard +"arraybuffer.prototype.slice@npm:^1.0.2": + version: 1.0.2 + resolution: "arraybuffer.prototype.slice@npm:1.0.2" + dependencies: + array-buffer-byte-length: ^1.0.0 + call-bind: ^1.0.2 + define-properties: ^1.2.0 + es-abstract: ^1.22.1 + get-intrinsic: ^1.2.1 + is-array-buffer: ^3.0.2 + is-shared-array-buffer: ^1.0.2 + checksum: c200faf437786f5b2c80d4564ff5481c886a16dee642ef02abdc7306c7edd523d1f01d1dd12b769c7eb42ac9bc53874510db19a92a2c035c0f6696172aafa5d3 + languageName: node + linkType: hard + "asap@npm:~2.0.3": version: 2.0.6 resolution: "asap@npm:2.0.6" @@ -5199,6 +5295,15 @@ __metadata: languageName: node linkType: hard +"asynciterator.prototype@npm:^1.0.0": + version: 1.0.0 + resolution: "asynciterator.prototype@npm:1.0.0" + dependencies: + has-symbols: ^1.0.3 + checksum: e8ebfd9493ac651cf9b4165e9d64030b3da1d17181bb1963627b59e240cdaf021d9b59d44b827dc1dde4e22387ec04c2d0f8720cf58a1c282e34e40cc12721b3 + languageName: node + linkType: hard + "at-least-node@npm:^1.0.0": version: 1.0.0 resolution: "at-least-node@npm:1.0.0" @@ -5240,20 +5345,20 @@ __metadata: languageName: node linkType: hard -"babel-jest@npm:^29.4.3": - version: 29.4.3 - resolution: "babel-jest@npm:29.4.3" +"babel-jest@npm:^29.7.0": + version: 29.7.0 + resolution: "babel-jest@npm:29.7.0" dependencies: - "@jest/transform": ^29.4.3 + "@jest/transform": ^29.7.0 "@types/babel__core": ^7.1.14 babel-plugin-istanbul: ^6.1.1 - babel-preset-jest: ^29.4.3 + babel-preset-jest: ^29.6.3 chalk: ^4.0.0 graceful-fs: ^4.2.9 slash: ^3.0.0 peerDependencies: "@babel/core": ^7.8.0 - checksum: a1a95937adb5e717dbffc2eb9e583fa6d26c7e5d5b07bb492a2d7f68631510a363e9ff097eafb642ad642dfac9dc2b13872b584f680e166a4f0922c98ea95853 + checksum: ee6f8e0495afee07cac5e4ee167be705c711a8cc8a737e05a587a131fdae2b3c8f9aa55dfd4d9c03009ac2d27f2de63d8ba96d3e8460da4d00e8af19ef9a83f7 languageName: node linkType: hard @@ -5315,15 +5420,15 @@ __metadata: languageName: node linkType: hard -"babel-plugin-jest-hoist@npm:^29.4.3": - version: 29.4.3 - resolution: "babel-plugin-jest-hoist@npm:29.4.3" +"babel-plugin-jest-hoist@npm:^29.6.3": + version: 29.6.3 + resolution: "babel-plugin-jest-hoist@npm:29.6.3" dependencies: "@babel/template": ^7.3.3 "@babel/types": ^7.3.3 "@types/babel__core": ^7.1.14 "@types/babel__traverse": ^7.0.6 - checksum: c8702a6db6b30ec39dfb9f8e72b501c13895231ed80b15ed2648448f9f0c7b7cc4b1529beac31802ae655f63479a05110ca612815aa25fb1b0e6c874e1589137 + checksum: 51250f22815a7318f17214a9d44650ba89551e6d4f47a2dc259128428324b52f5a73979d010cefd921fd5a720d8c1d55ad74ff601cd94c7bd44d5f6292fde2d1 languageName: node linkType: hard @@ -5385,15 +5490,15 @@ __metadata: languageName: node linkType: hard -"babel-preset-jest@npm:^29.4.3": - version: 29.4.3 - resolution: "babel-preset-jest@npm:29.4.3" +"babel-preset-jest@npm:^29.6.3": + version: 29.6.3 + resolution: "babel-preset-jest@npm:29.6.3" dependencies: - babel-plugin-jest-hoist: ^29.4.3 + babel-plugin-jest-hoist: ^29.6.3 babel-preset-current-node-syntax: ^1.0.0 peerDependencies: "@babel/core": ^7.0.0 - checksum: a091721861ea2f8d969ace8fe06570cff8f2e847dbc6e4800abacbe63f72131abde615ce0a3b6648472c97e55a5be7f8bf7ae381e2b194ad2fa1737096febcf5 + checksum: aa4ff2a8a728d9d698ed521e3461a109a1e66202b13d3494e41eea30729a5e7cc03b3a2d56c594423a135429c37bf63a9fa8b0b9ce275298be3095a88c69f6fb languageName: node linkType: hard @@ -5459,8 +5564,15 @@ __metadata: languageName: node linkType: hard -"big.js@npm:^5.2.2": - version: 5.2.2 +"big-integer@npm:^1.6.44": + version: 1.6.51 + resolution: "big-integer@npm:1.6.51" + checksum: 3d444173d1b2e20747e2c175568bedeebd8315b0637ea95d75fd27830d3b8e8ba36c6af40374f36bdaea7b5de376dcada1b07587cb2a79a928fccdb6e6e3c518 + languageName: node + linkType: hard + +"big.js@npm:^5.2.2": + version: 5.2.2 resolution: "big.js@npm:5.2.2" checksum: b89b6e8419b097a8fb4ed2399a1931a68c612bce3cfd5ca8c214b2d017531191070f990598de2fc6f3f993d91c0f08aa82697717f6b3b8732c9731866d233c9e languageName: node @@ -5544,6 +5656,15 @@ __metadata: languageName: node linkType: hard +"bplist-parser@npm:^0.2.0": + version: 0.2.0 + resolution: "bplist-parser@npm:0.2.0" + dependencies: + big-integer: ^1.6.44 + checksum: d5339dd16afc51de6c88f88f58a45b72ed6a06aa31f5557d09877575f220b7c1d3fbe375da0b62e6a10d4b8ed80523567e351f24014f5bc886ad523758142cdd + languageName: node + linkType: hard + "brace-expansion@npm:^1.1.7": version: 1.1.11 resolution: "brace-expansion@npm:1.1.11" @@ -5621,6 +5742,15 @@ __metadata: languageName: node linkType: hard +"bundle-name@npm:^3.0.0": + version: 3.0.0 + resolution: "bundle-name@npm:3.0.0" + dependencies: + run-applescript: ^5.0.0 + checksum: edf2b1fbe6096ed32e7566947ace2ea937ee427391744d7510a2880c4b9a5b3543d3f6c551236a29e5c87d3195f8e2912516290e638c15bcbede7b37cc375615 + languageName: node + linkType: hard + "bytes@npm:3.0.0": version: 3.0.0 resolution: "bytes@npm:3.0.0" @@ -5676,13 +5806,14 @@ __metadata: languageName: node linkType: hard -"call-bind@npm:^1.0.0, call-bind@npm:^1.0.2": - version: 1.0.2 - resolution: "call-bind@npm:1.0.2" +"call-bind@npm:^1.0.0, call-bind@npm:^1.0.2, call-bind@npm:^1.0.4, call-bind@npm:^1.0.5": + version: 1.0.5 + resolution: "call-bind@npm:1.0.5" dependencies: - function-bind: ^1.1.1 - get-intrinsic: ^1.0.2 - checksum: f8e31de9d19988a4b80f3e704788c4a2d6b6f3d17cfec4f57dc29ced450c53a49270dc66bf0fbd693329ee948dd33e6c90a329519aef17474a4d961e8d6426b0 + function-bind: ^1.1.2 + get-intrinsic: ^1.2.1 + set-function-length: ^1.1.1 + checksum: 449e83ecbd4ba48e7eaac5af26fea3b50f8f6072202c2dd7c5a6e7a6308f2421abe5e13a3bbd55221087f76320c5e09f25a8fdad1bab2b77c68ae74d92234ea5 languageName: node linkType: hard @@ -5750,6 +5881,15 @@ __metadata: languageName: node linkType: hard +"chalk-template@npm:^1.1.0": + version: 1.1.0 + resolution: "chalk-template@npm:1.1.0" + dependencies: + chalk: ^5.2.0 + checksum: 868aae8d4e7556ad2f35de4e04fe65dbe1ea6c5c80ad783f1c156d0a5c33f444c6814f49cbb68fe348c78e99daf2bcf566b47ad7e13603e4691ca78b2f422824 + languageName: node + linkType: hard + "chalk@npm:^2.0.0": version: 2.4.2 resolution: "chalk@npm:2.4.2" @@ -5771,6 +5911,13 @@ __metadata: languageName: node linkType: hard +"chalk@npm:^5.2.0, chalk@npm:^5.3.0": + version: 5.3.0 + resolution: "chalk@npm:5.3.0" + checksum: 623922e077b7d1e9dedaea6f8b9e9352921f8ae3afe739132e0e00c275971bdd331268183b2628cf4ab1727c45ea1f28d7e24ac23ce1db1eb653c414ca8a5a80 + languageName: node + linkType: hard + "char-regex@npm:^1.0.2": version: 1.0.2 resolution: "char-regex@npm:1.0.2" @@ -6086,10 +6233,10 @@ __metadata: languageName: node linkType: hard -"commander@npm:10.0.0, commander@npm:^10.0.0": - version: 10.0.0 - resolution: "commander@npm:10.0.0" - checksum: 9f6495651f878213005ac744dd87a85fa3d9f2b8b90d1c19d0866d666bda7f735adfd7c2f10dfff345782e2f80ea258f98bb4efcef58e4e502f25f883940acfd +"commander@npm:11.1.0, commander@npm:^11.1.0": + version: 11.1.0 + resolution: "commander@npm:11.1.0" + checksum: fd1a8557c6b5b622c89ecdfde703242ab7db3b628ea5d1755784c79b8e7cb0d74d65b4a262289b533359cd58e1bfc0bf50245dfbcd2954682a6f367c828b79ef languageName: node linkType: hard @@ -6200,6 +6347,19 @@ __metadata: languageName: node linkType: hard +"configstore@npm:^6.0.0": + version: 6.0.0 + resolution: "configstore@npm:6.0.0" + dependencies: + dot-prop: ^6.0.1 + graceful-fs: ^4.2.6 + unique-string: ^3.0.0 + write-file-atomic: ^3.0.3 + xdg-basedir: ^5.0.1 + checksum: 81995351c10bc04c58507f17748477aeac6f47465109d20e3534cebc881d22e927cfd29e73dd852c46c55f62c2b7be4cd1fe6eb3a93ba51f7f9813c218f9bae0 + languageName: node + linkType: hard + "connect-history-api-fallback@npm:^2.0.0": version: 2.0.0 resolution: "connect-history-api-fallback@npm:2.0.0" @@ -6325,6 +6485,18 @@ __metadata: languageName: node linkType: hard +"cosmiconfig@npm:8.0.0, cosmiconfig@npm:^8.0.0": + version: 8.0.0 + resolution: "cosmiconfig@npm:8.0.0" + dependencies: + import-fresh: ^3.2.1 + js-yaml: ^4.1.0 + parse-json: ^5.0.0 + path-type: ^4.0.0 + checksum: ff4cdf89ac1ae52e7520816622c21a9e04380d04b82d653f5139ec581aa4f7f29e096d46770bc76c4a63c225367e88a1dfa233ea791669a35101f5f9b972c7d1 + languageName: node + linkType: hard + "cosmiconfig@npm:^6.0.0": version: 6.0.0 resolution: "cosmiconfig@npm:6.0.0" @@ -6351,15 +6523,20 @@ __metadata: languageName: node linkType: hard -"cosmiconfig@npm:^8.0.0": - version: 8.0.0 - resolution: "cosmiconfig@npm:8.0.0" +"create-jest@npm:^29.7.0": + version: 29.7.0 + resolution: "create-jest@npm:29.7.0" dependencies: - import-fresh: ^3.2.1 - js-yaml: ^4.1.0 - parse-json: ^5.0.0 - path-type: ^4.0.0 - checksum: ff4cdf89ac1ae52e7520816622c21a9e04380d04b82d653f5139ec581aa4f7f29e096d46770bc76c4a63c225367e88a1dfa233ea791669a35101f5f9b972c7d1 + "@jest/types": ^29.6.3 + chalk: ^4.0.0 + exit: ^0.1.2 + graceful-fs: ^4.2.9 + jest-config: ^29.7.0 + jest-util: ^29.7.0 + prompts: ^2.0.1 + bin: + create-jest: bin/create-jest.js + checksum: 1427d49458adcd88547ef6fa39041e1fe9033a661293aa8d2c3aa1b4967cb5bf4f0c00436c7a61816558f28ba2ba81a94d5c962e8022ea9a883978fc8e1f2945 languageName: node linkType: hard @@ -6397,124 +6574,137 @@ __metadata: languageName: node linkType: hard -"cspell-dictionary@npm:6.26.3": - version: 6.26.3 - resolution: "cspell-dictionary@npm:6.26.3" +"crypto-random-string@npm:^4.0.0": + version: 4.0.0 + resolution: "crypto-random-string@npm:4.0.0" dependencies: - "@cspell/cspell-pipe": 6.26.3 - "@cspell/cspell-types": 6.26.3 - cspell-trie-lib: 6.26.3 + type-fest: ^1.0.1 + checksum: 91f148f27bcc8582798f0fb3e75a09d9174557f39c3c40a89dd1bd70fb5a14a02548245aa26fa7d663c426ac5026f4729841231c84f9e30e8c8ece5e38656741 + languageName: node + linkType: hard + +"cspell-dictionary@npm:8.0.0": + version: 8.0.0 + resolution: "cspell-dictionary@npm:8.0.0" + dependencies: + "@cspell/cspell-pipe": 8.0.0 + "@cspell/cspell-types": 8.0.0 + cspell-trie-lib: 8.0.0 fast-equals: ^4.0.3 - gensequence: ^4.0.3 - checksum: 4943159c50a6428cb329b169dce7c4640457c654fc98b08a4bd0f2cabdd3d4f636a2d4feda627dbbb8ca06b6bc7f75ead8e2699051b06599518551ad25667d32 + gensequence: ^6.0.0 + checksum: 574a1cc64e11e8437302020fdf085ff91bda196ea201e64caede8cd15a982bd9a8aca8c304ca47332ce9657c0e252e76b723d7b482fcbeb2beca675633a5bd16 languageName: node linkType: hard -"cspell-gitignore@npm:6.26.3": - version: 6.26.3 - resolution: "cspell-gitignore@npm:6.26.3" +"cspell-gitignore@npm:8.0.0": + version: 8.0.0 + resolution: "cspell-gitignore@npm:8.0.0" dependencies: - cspell-glob: 6.26.3 + cspell-glob: 8.0.0 find-up: ^5.0.0 bin: - cspell-gitignore: bin.js - checksum: 8f4ebea0547405c45a5a4d105f7b3d0e66dd87ba611a83f997a7fd9d7dc8d664fa00108d21853be16449012d2c4bf3bad549260b6387053a8e2d4e498c1f6c1b + cspell-gitignore: bin.mjs + checksum: fbf963b29ec63ac933013eec5946710ac17e73c6938b2a5a32936a050a9505431f0f1aea1c9430da5a65ce1228d40351f90985f886c222a764e28da0a623e065 languageName: node linkType: hard -"cspell-glob@npm:6.26.3": - version: 6.26.3 - resolution: "cspell-glob@npm:6.26.3" +"cspell-glob@npm:8.0.0": + version: 8.0.0 + resolution: "cspell-glob@npm:8.0.0" dependencies: micromatch: ^4.0.5 - checksum: 0aa87ed11057cf89cbeef5ab221e3192595442809427086dbb8f301c1ace4493ecdaa25cb985fd79b1c6ef0e5f224ada291751b4f5e0b3351c57393a6594d17c + checksum: d79c475fc28e1314cab88b968cd3777a1a66b61dbefd0586f449fe67e1fe6983142a8e545cd64d005f83cc69b5a019fab681434d7d983d978a752e213f93d863 languageName: node linkType: hard -"cspell-grammar@npm:6.26.3": - version: 6.26.3 - resolution: "cspell-grammar@npm:6.26.3" +"cspell-grammar@npm:8.0.0": + version: 8.0.0 + resolution: "cspell-grammar@npm:8.0.0" dependencies: - "@cspell/cspell-pipe": 6.26.3 - "@cspell/cspell-types": 6.26.3 + "@cspell/cspell-pipe": 8.0.0 + "@cspell/cspell-types": 8.0.0 bin: - cspell-grammar: bin.js - checksum: be92fd92959f8b64baf4b65a49d4f07d56acbaa17bd8557c08011326f0e81b502dc48ef580f0bcd54bfbaaa2f801ed4de62f8ad6ed4cc2fea6a10c65a870a306 + cspell-grammar: bin.mjs + checksum: 790f36b39335d011fa2ede8be603b026d8a9dfb0f3c5d1bab39f2ccf347eadffb07886ba9620194cdf68406e3cd6e9f0ec224c7f44f7888763f38766477fa497 languageName: node linkType: hard -"cspell-io@npm:6.26.3": - version: 6.26.3 - resolution: "cspell-io@npm:6.26.3" +"cspell-io@npm:8.0.0": + version: 8.0.0 + resolution: "cspell-io@npm:8.0.0" dependencies: - "@cspell/cspell-service-bus": 6.26.3 - node-fetch: ^2.6.9 - checksum: 341434f345e48dfcb1a54a9379d39e26d3f33d43d30bea0b01aec3a9e398f031befc67c371f58473c4060bca4b7838df6ed76edde20ec2e083045891579314ca + "@cspell/cspell-service-bus": 8.0.0 + checksum: 0456cfed365227bdb018fef1879901b191bded48f0ef8d649a7a00989b39540dd69db18d49ae1a7d509364c2aca0e526168a2c8a5635fcc7ba1a0dc7a089c633 languageName: node linkType: hard -"cspell-lib@npm:6.26.3": - version: 6.26.3 - resolution: "cspell-lib@npm:6.26.3" - dependencies: - "@cspell/cspell-bundled-dicts": 6.26.3 - "@cspell/cspell-pipe": 6.26.3 - "@cspell/cspell-types": 6.26.3 - "@cspell/strong-weak-map": 6.26.3 +"cspell-lib@npm:8.0.0": + version: 8.0.0 + resolution: "cspell-lib@npm:8.0.0" + dependencies: + "@cspell/cspell-bundled-dicts": 8.0.0 + "@cspell/cspell-pipe": 8.0.0 + "@cspell/cspell-resolver": 8.0.0 + "@cspell/cspell-types": 8.0.0 + "@cspell/dynamic-import": 8.0.0 + "@cspell/strong-weak-map": 8.0.0 clear-module: ^4.1.2 comment-json: ^4.2.3 - configstore: ^5.0.1 - cosmiconfig: ^8.0.0 - cspell-dictionary: 6.26.3 - cspell-glob: 6.26.3 - cspell-grammar: 6.26.3 - cspell-io: 6.26.3 - cspell-trie-lib: 6.26.3 - fast-equals: ^4.0.3 - find-up: ^5.0.0 - gensequence: ^4.0.3 + configstore: ^6.0.0 + cosmiconfig: 8.0.0 + cspell-dictionary: 8.0.0 + cspell-glob: 8.0.0 + cspell-grammar: 8.0.0 + cspell-io: 8.0.0 + cspell-trie-lib: 8.0.0 + fast-equals: ^5.0.1 + find-up: ^6.3.0 + gensequence: ^6.0.0 import-fresh: ^3.3.0 resolve-from: ^5.0.0 - resolve-global: ^1.0.0 - vscode-languageserver-textdocument: ^1.0.8 - vscode-uri: ^3.0.7 - checksum: bf4ba5dbfca36930d629325c5c0ff611918cc8f87593bceaa27c68923ff334758f8024239ffbc72752ba8806b6d96a2f4c202aafb532fd48dfa4692483f4336d + vscode-languageserver-textdocument: ^1.0.11 + vscode-uri: ^3.0.8 + checksum: 07436238675dabae6ee832f370a4fa88a574f1bfb8da8961ad1a43b8784a33f4db78e68219f76cb4e26a1df63ca736e785d4ab97331b22f9585d3cb07484b6d9 languageName: node linkType: hard -"cspell-trie-lib@npm:6.26.3": - version: 6.26.3 - resolution: "cspell-trie-lib@npm:6.26.3" +"cspell-trie-lib@npm:8.0.0": + version: 8.0.0 + resolution: "cspell-trie-lib@npm:8.0.0" dependencies: - "@cspell/cspell-pipe": 6.26.3 - "@cspell/cspell-types": 6.26.3 - gensequence: ^4.0.3 - checksum: 048081c31a10aaa9b1158f47f785a13fdf23d1aeb0bd5a5c912067769693325ee6d1446e2046612656bc8f4935590b5ccd5ec83bdfa3db8823409cf2f0001d4a + "@cspell/cspell-pipe": 8.0.0 + "@cspell/cspell-types": 8.0.0 + gensequence: ^6.0.0 + checksum: 0c5e24c3dc06d2b195e31d1fc7a410fec4e94b02bccd80237c9bc458ba6e4417727022f80eccf269f83b1f631e88110f3a101a9cae50eaa317c268cb5b0fc780 languageName: node linkType: hard -"cspell@npm:^6.26.3": - version: 6.26.3 - resolution: "cspell@npm:6.26.3" - dependencies: - "@cspell/cspell-pipe": 6.26.3 - "@cspell/dynamic-import": 6.26.3 - chalk: ^4.1.2 - commander: ^10.0.0 - cspell-gitignore: 6.26.3 - cspell-glob: 6.26.3 - cspell-lib: 6.26.3 - fast-glob: ^3.2.12 +"cspell@npm:8.0.0": + version: 8.0.0 + resolution: "cspell@npm:8.0.0" + dependencies: + "@cspell/cspell-json-reporter": 8.0.0 + "@cspell/cspell-pipe": 8.0.0 + "@cspell/cspell-types": 8.0.0 + "@cspell/dynamic-import": 8.0.0 + chalk: ^5.3.0 + chalk-template: ^1.1.0 + commander: ^11.1.0 + cspell-gitignore: 8.0.0 + cspell-glob: 8.0.0 + cspell-io: 8.0.0 + cspell-lib: 8.0.0 + fast-glob: ^3.3.2 fast-json-stable-stringify: ^2.1.0 - file-entry-cache: ^6.0.1 - get-stdin: ^8.0.0 - imurmurhash: ^0.1.4 - semver: ^7.3.8 - strip-ansi: ^6.0.1 - vscode-uri: ^3.0.7 + file-entry-cache: ^7.0.1 + get-stdin: ^9.0.0 + semver: ^7.5.4 + strip-ansi: ^7.1.0 + vscode-uri: ^3.0.8 bin: - cspell: bin.js - checksum: eecf15ffa62bbef1bba8eb7fe2ba999159733dc03fbe9ef36fc4ff41f892d415022e1f5235b724fb925d0bc3a4655c71830a33f6f94ed244eb832b04e44345b8 + cspell: bin.mjs + cspell-esm: bin.mjs + checksum: a777589fe84d4987994751b2b5cebde0a0b09b718ed40bd4e1ff0374aa7904dc474a058e2cbedaf1be15ca4f0c013e0ef26e5065082e4af0b0903017b0d100b1 languageName: node linkType: hard @@ -6758,10 +6948,15 @@ __metadata: languageName: node linkType: hard -"dedent@npm:^0.7.0": - version: 0.7.0 - resolution: "dedent@npm:0.7.0" - checksum: 87de191050d9a40dd70cad01159a0bcf05ecb59750951242070b6abf9569088684880d00ba92a955b4058804f16eeaf91d604f283929b4f614d181cd7ae633d2 +"dedent@npm:^1.0.0": + version: 1.5.1 + resolution: "dedent@npm:1.5.1" + peerDependencies: + babel-plugin-macros: ^3.1.0 + peerDependenciesMeta: + babel-plugin-macros: + optional: true + checksum: c3c300a14edf1bdf5a873f9e4b22e839d62490bc5c8d6169c1f15858a1a76733d06a9a56930e963d677a2ceeca4b6b0894cc5ea2f501aa382ca5b92af3413c2a languageName: node linkType: hard @@ -6786,6 +6981,28 @@ __metadata: languageName: node linkType: hard +"default-browser-id@npm:^3.0.0": + version: 3.0.0 + resolution: "default-browser-id@npm:3.0.0" + dependencies: + bplist-parser: ^0.2.0 + untildify: ^4.0.0 + checksum: 279c7ad492542e5556336b6c254a4eaf31b2c63a5433265655ae6e47301197b6cfb15c595a6fdc6463b2ff8e1a1a1ed3cba56038a60e1527ba4ab1628c6b9941 + languageName: node + linkType: hard + +"default-browser@npm:^4.0.0": + version: 4.0.0 + resolution: "default-browser@npm:4.0.0" + dependencies: + bundle-name: ^3.0.0 + default-browser-id: ^3.0.0 + execa: ^7.1.1 + titleize: ^3.0.0 + checksum: 40c5af984799042b140300be5639c9742599bda76dc9eba5ac9ad5943c83dd36cebc4471eafcfddf8e0ec817166d5ba89d56f08e66a126c7c7908a179cead1a7 + languageName: node + linkType: hard + "default-gateway@npm:^6.0.3": version: 6.0.3 resolution: "default-gateway@npm:6.0.3" @@ -6802,6 +7019,17 @@ __metadata: languageName: node linkType: hard +"define-data-property@npm:^1.0.1, define-data-property@npm:^1.1.1": + version: 1.1.1 + resolution: "define-data-property@npm:1.1.1" + dependencies: + get-intrinsic: ^1.2.1 + gopd: ^1.0.1 + has-property-descriptors: ^1.0.0 + checksum: a29855ad3f0630ea82e3c5012c812efa6ca3078d5c2aa8df06b5f597c1cde6f7254692df41945851d903e05a1668607b6d34e778f402b9ff9ffb38111f1a3f0d + languageName: node + linkType: hard + "define-lazy-prop@npm:^2.0.0": version: 2.0.0 resolution: "define-lazy-prop@npm:2.0.0" @@ -6809,13 +7037,21 @@ __metadata: languageName: node linkType: hard -"define-properties@npm:^1.1.3, define-properties@npm:^1.1.4": - version: 1.2.0 - resolution: "define-properties@npm:1.2.0" +"define-lazy-prop@npm:^3.0.0": + version: 3.0.0 + resolution: "define-lazy-prop@npm:3.0.0" + checksum: 54884f94caac0791bf6395a3ec530ce901cf71c47b0196b8754f3fd17edb6c0e80149c1214429d851873bb0d689dbe08dcedbb2306dc45c8534a5934723851b6 + languageName: node + linkType: hard + +"define-properties@npm:^1.1.3, define-properties@npm:^1.1.4, define-properties@npm:^1.2.0, define-properties@npm:^1.2.1": + version: 1.2.1 + resolution: "define-properties@npm:1.2.1" dependencies: + define-data-property: ^1.0.1 has-property-descriptors: ^1.0.0 object-keys: ^1.1.1 - checksum: e60aee6a19b102df4e2b1f301816804e81ab48bb91f00d0d935f269bf4b3f79c88b39e4f89eaa132890d23267335fd1140dfcd8d5ccd61031a0a2c41a54e33a6 + checksum: b4ccd00597dd46cb2d4a379398f5b19fca84a16f3374e2249201992f36b30f6835949a9429669ee6b41b6e837205a163eadd745e472069e70dfc10f03e5fcc12 languageName: node linkType: hard @@ -6912,10 +7148,10 @@ __metadata: languageName: node linkType: hard -"diff-sequences@npm:^29.4.3": - version: 29.4.3 - resolution: "diff-sequences@npm:29.4.3" - checksum: 28b265e04fdddcf7f9f814effe102cc95a9dec0564a579b5aed140edb24fc345c611ca52d76d725a3cab55d3888b915b5e8a4702e0f6058968a90fa5f41fcde7 +"diff-sequences@npm:^29.6.3": + version: 29.6.3 + resolution: "diff-sequences@npm:29.6.3" + checksum: f4914158e1f2276343d98ff5b31fc004e7304f5470bf0f1adb2ac6955d85a531a6458d33e87667f98f6ae52ebd3891bb47d420bb48a5bd8b7a27ee25b20e33aa languageName: node linkType: hard @@ -7073,6 +7309,15 @@ __metadata: languageName: node linkType: hard +"dot-prop@npm:^6.0.1": + version: 6.0.1 + resolution: "dot-prop@npm:6.0.1" + dependencies: + is-obj: ^2.0.0 + checksum: 0f47600a4b93e1dc37261da4e6909652c008832a5d3684b5bf9a9a0d3f4c67ea949a86dceed9b72f5733ed8e8e6383cc5958df3bbd0799ee317fd181f2ece700 + languageName: node + linkType: hard + "duplexer3@npm:^0.1.4": version: 0.1.5 resolution: "duplexer3@npm:0.1.5" @@ -7215,44 +7460,72 @@ __metadata: languageName: node linkType: hard -"es-abstract@npm:^1.19.0, es-abstract@npm:^1.20.4": - version: 1.21.1 - resolution: "es-abstract@npm:1.21.1" +"es-abstract@npm:^1.20.4, es-abstract@npm:^1.22.1": + version: 1.22.3 + resolution: "es-abstract@npm:1.22.3" dependencies: + array-buffer-byte-length: ^1.0.0 + arraybuffer.prototype.slice: ^1.0.2 available-typed-arrays: ^1.0.5 - call-bind: ^1.0.2 + call-bind: ^1.0.5 es-set-tostringtag: ^2.0.1 es-to-primitive: ^1.2.1 - function-bind: ^1.1.1 - function.prototype.name: ^1.1.5 - get-intrinsic: ^1.1.3 + function.prototype.name: ^1.1.6 + get-intrinsic: ^1.2.2 get-symbol-description: ^1.0.0 globalthis: ^1.0.3 gopd: ^1.0.1 - has: ^1.0.3 has-property-descriptors: ^1.0.0 has-proto: ^1.0.1 has-symbols: ^1.0.3 - internal-slot: ^1.0.4 - is-array-buffer: ^3.0.1 + hasown: ^2.0.0 + internal-slot: ^1.0.5 + is-array-buffer: ^3.0.2 is-callable: ^1.2.7 is-negative-zero: ^2.0.2 is-regex: ^1.1.4 is-shared-array-buffer: ^1.0.2 is-string: ^1.0.7 - is-typed-array: ^1.1.10 + is-typed-array: ^1.1.12 is-weakref: ^1.0.2 - object-inspect: ^1.12.2 + object-inspect: ^1.13.1 object-keys: ^1.1.1 object.assign: ^4.1.4 - regexp.prototype.flags: ^1.4.3 + regexp.prototype.flags: ^1.5.1 + safe-array-concat: ^1.0.1 safe-regex-test: ^1.0.0 - string.prototype.trimend: ^1.0.6 - string.prototype.trimstart: ^1.0.6 + string.prototype.trim: ^1.2.8 + string.prototype.trimend: ^1.0.7 + string.prototype.trimstart: ^1.0.7 + typed-array-buffer: ^1.0.0 + typed-array-byte-length: ^1.0.0 + typed-array-byte-offset: ^1.0.0 typed-array-length: ^1.0.4 unbox-primitive: ^1.0.2 - which-typed-array: ^1.1.9 - checksum: 23ff60d42d17a55d150e7bcedbdb065d4077a8b98c436e0e2e1ef4dd532a6d78a56028673de0bd8ed464a43c46ba781c50d9af429b6a17e44dbd14c7d7fb7926 + which-typed-array: ^1.1.13 + checksum: b1bdc962856836f6e72be10b58dc128282bdf33771c7a38ae90419d920fc3b36cc5d2b70a222ad8016e3fc322c367bf4e9e89fc2bc79b7e933c05b218e83d79a + languageName: node + linkType: hard + +"es-iterator-helpers@npm:^1.0.12": + version: 1.0.15 + resolution: "es-iterator-helpers@npm:1.0.15" + dependencies: + asynciterator.prototype: ^1.0.0 + call-bind: ^1.0.2 + define-properties: ^1.2.1 + es-abstract: ^1.22.1 + es-set-tostringtag: ^2.0.1 + function-bind: ^1.1.1 + get-intrinsic: ^1.2.1 + globalthis: ^1.0.3 + has-property-descriptors: ^1.0.0 + has-proto: ^1.0.1 + has-symbols: ^1.0.3 + internal-slot: ^1.0.5 + iterator.prototype: ^1.1.2 + safe-array-concat: ^1.0.1 + checksum: 50081ae5c549efe62e5c1d244df0194b40b075f7897fc2116b7e1aa437eb3c41f946d2afda18c33f9b31266ec544765932542765af839f76fa6d7b7855d1e0e1 languageName: node linkType: hard @@ -7336,37 +7609,37 @@ __metadata: languageName: node linkType: hard -"eslint-config-prettier@npm:8.6.0": - version: 8.6.0 - resolution: "eslint-config-prettier@npm:8.6.0" +"eslint-config-prettier@npm:9.0.0": + version: 9.0.0 + resolution: "eslint-config-prettier@npm:9.0.0" peerDependencies: eslint: ">=7.0.0" bin: eslint-config-prettier: bin/cli.js - checksum: ff0d0dfc839a556355422293428637e8d35693de58dabf8638bf0b6529131a109d0b2ade77521aa6e54573bb842d7d9d322e465dd73dd61c7590fa3834c3fa81 + checksum: 362e991b6cb343f79362bada2d97c202e5303e6865888918a7445c555fb75e4c078b01278e90be98aa98ae22f8597d8e93d48314bec6824f540f7efcab3ce451 languageName: node linkType: hard -"eslint-import-resolver-node@npm:^0.3.7": - version: 0.3.7 - resolution: "eslint-import-resolver-node@npm:0.3.7" +"eslint-import-resolver-node@npm:^0.3.9": + version: 0.3.9 + resolution: "eslint-import-resolver-node@npm:0.3.9" dependencies: debug: ^3.2.7 - is-core-module: ^2.11.0 - resolve: ^1.22.1 - checksum: 3379aacf1d2c6952c1b9666c6fa5982c3023df695430b0d391c0029f6403a7775414873d90f397e98ba6245372b6c8960e16e74d9e4a3b0c0a4582f3bdbe3d6e + is-core-module: ^2.13.0 + resolve: ^1.22.4 + checksum: 439b91271236b452d478d0522a44482e8c8540bf9df9bd744062ebb89ab45727a3acd03366a6ba2bdbcde8f9f718bab7fe8db64688aca75acf37e04eafd25e22 languageName: node linkType: hard -"eslint-module-utils@npm:^2.7.4": - version: 2.7.4 - resolution: "eslint-module-utils@npm:2.7.4" +"eslint-module-utils@npm:^2.8.0": + version: 2.8.0 + resolution: "eslint-module-utils@npm:2.8.0" dependencies: debug: ^3.2.7 peerDependenciesMeta: eslint: optional: true - checksum: 5da13645daff145a5c922896b258f8bba560722c3767254e458d894ff5fbb505d6dfd945bffa932a5b0ae06714da2379bd41011c4c20d2d59cc83e23895360f7 + checksum: 74c6dfea7641ebcfe174be61168541a11a14aa8d72e515f5f09af55cd0d0862686104b0524aa4b8e0ce66418a44aa38a94d2588743db5fd07a6b49ffd16921d2 languageName: node linkType: hard @@ -7396,60 +7669,67 @@ __metadata: languageName: node linkType: hard -"eslint-plugin-import@npm:2.27.5": - version: 2.27.5 - resolution: "eslint-plugin-import@npm:2.27.5" +"eslint-plugin-import@npm:2.29.0": + version: 2.29.0 + resolution: "eslint-plugin-import@npm:2.29.0" dependencies: - array-includes: ^3.1.6 - array.prototype.flat: ^1.3.1 - array.prototype.flatmap: ^1.3.1 + array-includes: ^3.1.7 + array.prototype.findlastindex: ^1.2.3 + array.prototype.flat: ^1.3.2 + array.prototype.flatmap: ^1.3.2 debug: ^3.2.7 doctrine: ^2.1.0 - eslint-import-resolver-node: ^0.3.7 - eslint-module-utils: ^2.7.4 - has: ^1.0.3 - is-core-module: ^2.11.0 + eslint-import-resolver-node: ^0.3.9 + eslint-module-utils: ^2.8.0 + hasown: ^2.0.0 + is-core-module: ^2.13.1 is-glob: ^4.0.3 minimatch: ^3.1.2 - object.values: ^1.1.6 - resolve: ^1.22.1 - semver: ^6.3.0 - tsconfig-paths: ^3.14.1 + object.fromentries: ^2.0.7 + object.groupby: ^1.0.1 + object.values: ^1.1.7 + semver: ^6.3.1 + tsconfig-paths: ^3.14.2 peerDependencies: eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 - checksum: f500571a380167e25d72a4d925ef9a7aae8899eada57653e5f3051ec3d3c16d08271fcefe41a30a9a2f4fefc232f066253673ee4ea77b30dba65ae173dade85d + checksum: 19ee541fb95eb7a796f3daebe42387b8d8262bbbcc4fd8a6e92f63a12035f3d2c6cb8bc0b6a70864fa14b1b50ed6b8e6eed5833e625e16cb6bb98b665beff269 languageName: node linkType: hard -"eslint-plugin-jest@npm:27.2.1": - version: 27.2.1 - resolution: "eslint-plugin-jest@npm:27.2.1" +"eslint-plugin-jest@npm:27.6.0": + version: 27.6.0 + resolution: "eslint-plugin-jest@npm:27.6.0" dependencies: "@typescript-eslint/utils": ^5.10.0 peerDependencies: - "@typescript-eslint/eslint-plugin": ^5.0.0 + "@typescript-eslint/eslint-plugin": ^5.0.0 || ^6.0.0 eslint: ^7.0.0 || ^8.0.0 + jest: "*" peerDependenciesMeta: "@typescript-eslint/eslint-plugin": optional: true jest: optional: true - checksum: 579a4d26304cc6748b2e6dff6c965ea7a21b618d8b051eb02727d25cf5c7767f6db8ef5237531635ff77e242b983b973e7cb8c820a4d20d5bda73358c452a8ab + checksum: 4c42641f9bf2d597761637028083e20b9f81762308e98baae40eb805d3e81ff8d837f06f4f0c1a2fd249e2be2fb24d33b7aafeaa8942de805c2b8d7c3b6fc4e4 languageName: node linkType: hard -"eslint-plugin-prettier@npm:4.2.1": - version: 4.2.1 - resolution: "eslint-plugin-prettier@npm:4.2.1" +"eslint-plugin-prettier@npm:5.0.1": + version: 5.0.1 + resolution: "eslint-plugin-prettier@npm:5.0.1" dependencies: prettier-linter-helpers: ^1.0.0 + synckit: ^0.8.5 peerDependencies: - eslint: ">=7.28.0" - prettier: ">=2.0.0" + "@types/eslint": ">=8.0.0" + eslint: ">=8.0.0" + prettier: ">=3.0.0" peerDependenciesMeta: + "@types/eslint": + optional: true eslint-config-prettier: optional: true - checksum: b9e839d2334ad8ec7a5589c5cb0f219bded260839a857d7a486997f9870e95106aa59b8756ff3f37202085ebab658de382b0267cae44c3a7f0eb0bcc03a4f6d6 + checksum: c2261033b97bafe99ccb7cc47c2fac6fa85b8bbc8b128042e52631f906b69e12afed2cdd9d7e3021cc892ee8dd4204a3574e1f32a0b718b4bb3b440944b6983b languageName: node linkType: hard @@ -7462,14 +7742,15 @@ __metadata: languageName: node linkType: hard -"eslint-plugin-react@npm:7.32.2": - version: 7.32.2 - resolution: "eslint-plugin-react@npm:7.32.2" +"eslint-plugin-react@npm:7.33.2": + version: 7.33.2 + resolution: "eslint-plugin-react@npm:7.33.2" dependencies: array-includes: ^3.1.6 array.prototype.flatmap: ^1.3.1 array.prototype.tosorted: ^1.1.1 doctrine: ^2.1.0 + es-iterator-helpers: ^1.0.12 estraverse: ^5.3.0 jsx-ast-utils: ^2.4.1 || ^3.0.0 minimatch: ^3.1.2 @@ -7479,11 +7760,11 @@ __metadata: object.values: ^1.1.6 prop-types: ^15.8.1 resolve: ^2.0.0-next.4 - semver: ^6.3.0 + semver: ^6.3.1 string.prototype.matchall: ^4.0.8 peerDependencies: eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 - checksum: 2232b3b8945aa50b7773919c15cd96892acf35d2f82503667a79e2f55def90f728ed4f0e496f0f157acbe1bd4397c5615b676ae7428fe84488a544ca53feb944 + checksum: b4c3d76390b0ae6b6f9fed78170604cc2c04b48e6778a637db339e8e3911ec9ef22510b0ae77c429698151d0f1b245f282177f384105b6830e7b29b9c9b26610 languageName: node linkType: hard @@ -7497,13 +7778,13 @@ __metadata: languageName: node linkType: hard -"eslint-scope@npm:^7.1.1, eslint-scope@npm:^7.2.0": - version: 7.2.0 - resolution: "eslint-scope@npm:7.2.0" +"eslint-scope@npm:^7.2.2": + version: 7.2.2 + resolution: "eslint-scope@npm:7.2.2" dependencies: esrecurse: ^4.3.0 estraverse: ^5.2.0 - checksum: 64591a2d8b244ade9c690b59ef238a11d5c721a98bcee9e9f445454f442d03d3e04eda88e95a4daec558220a99fa384309d9faae3d459bd40e7a81b4063980ae + checksum: ec97dbf5fb04b94e8f4c5a91a7f0a6dd3c55e46bfc7bbcd0e3138c3a76977570e02ed89a1810c778dcd72072ff0e9621ba1379b4babe53921d71e2e4486fda3e languageName: node linkType: hard @@ -7516,17 +7797,6 @@ __metadata: languageName: node linkType: hard -"eslint-utils@npm:^3.0.0": - version: 3.0.0 - resolution: "eslint-utils@npm:3.0.0" - dependencies: - eslint-visitor-keys: ^2.0.0 - peerDependencies: - eslint: ">=5" - checksum: 0668fe02f5adab2e5a367eee5089f4c39033af20499df88fe4e6aba2015c20720404d8c3d6349b6f716b08fdf91b9da4e5d5481f265049278099c4c836ccb619 - languageName: node - linkType: hard - "eslint-visitor-keys@npm:^1.1.0": version: 1.3.0 resolution: "eslint-visitor-keys@npm:1.3.0" @@ -7534,89 +7804,34 @@ __metadata: languageName: node linkType: hard -"eslint-visitor-keys@npm:^2.0.0": - version: 2.1.0 - resolution: "eslint-visitor-keys@npm:2.1.0" - checksum: e3081d7dd2611a35f0388bbdc2f5da60b3a3c5b8b6e928daffff7391146b434d691577aa95064c8b7faad0b8a680266bcda0a42439c18c717b80e6718d7e267d - languageName: node - linkType: hard - -"eslint-visitor-keys@npm:^3.3.0, eslint-visitor-keys@npm:^3.4.1": - version: 3.4.1 - resolution: "eslint-visitor-keys@npm:3.4.1" - checksum: f05121d868202736b97de7d750847a328fcfa8593b031c95ea89425333db59676ac087fa905eba438d0a3c5769632f828187e0c1a0d271832a2153c1d3661c2c - languageName: node - linkType: hard - -"eslint@npm:8.34.0": - version: 8.34.0 - resolution: "eslint@npm:8.34.0" - dependencies: - "@eslint/eslintrc": ^1.4.1 - "@humanwhocodes/config-array": ^0.11.8 - "@humanwhocodes/module-importer": ^1.0.1 - "@nodelib/fs.walk": ^1.2.8 - ajv: ^6.10.0 - chalk: ^4.0.0 - cross-spawn: ^7.0.2 - debug: ^4.3.2 - doctrine: ^3.0.0 - escape-string-regexp: ^4.0.0 - eslint-scope: ^7.1.1 - eslint-utils: ^3.0.0 - eslint-visitor-keys: ^3.3.0 - espree: ^9.4.0 - esquery: ^1.4.0 - esutils: ^2.0.2 - fast-deep-equal: ^3.1.3 - file-entry-cache: ^6.0.1 - find-up: ^5.0.0 - glob-parent: ^6.0.2 - globals: ^13.19.0 - grapheme-splitter: ^1.0.4 - ignore: ^5.2.0 - import-fresh: ^3.0.0 - imurmurhash: ^0.1.4 - is-glob: ^4.0.0 - is-path-inside: ^3.0.3 - js-sdsl: ^4.1.4 - js-yaml: ^4.1.0 - json-stable-stringify-without-jsonify: ^1.0.1 - levn: ^0.4.1 - lodash.merge: ^4.6.2 - minimatch: ^3.1.2 - natural-compare: ^1.4.0 - optionator: ^0.9.1 - regexpp: ^3.2.0 - strip-ansi: ^6.0.1 - strip-json-comments: ^3.1.0 - text-table: ^0.2.0 - bin: - eslint: bin/eslint.js - checksum: 4e13e9eb05ac2248efbb6acae0b2325091235d5c47ba91a4775c7d6760778cbcd358a773ebd42f4629d2ad89e27c02f5d66eb1f737d75d9f5fc411454f83b2e5 +"eslint-visitor-keys@npm:^3.3.0, eslint-visitor-keys@npm:^3.4.1, eslint-visitor-keys@npm:^3.4.3": + version: 3.4.3 + resolution: "eslint-visitor-keys@npm:3.4.3" + checksum: 36e9ef87fca698b6fd7ca5ca35d7b2b6eeaaf106572e2f7fd31c12d3bfdaccdb587bba6d3621067e5aece31c8c3a348b93922ab8f7b2cbc6aaab5e1d89040c60 languageName: node linkType: hard -"eslint@npm:8.41.0": - version: 8.41.0 - resolution: "eslint@npm:8.41.0" +"eslint@npm:8.53.0": + version: 8.53.0 + resolution: "eslint@npm:8.53.0" dependencies: "@eslint-community/eslint-utils": ^4.2.0 - "@eslint-community/regexpp": ^4.4.0 - "@eslint/eslintrc": ^2.0.3 - "@eslint/js": 8.41.0 - "@humanwhocodes/config-array": ^0.11.8 + "@eslint-community/regexpp": ^4.6.1 + "@eslint/eslintrc": ^2.1.3 + "@eslint/js": 8.53.0 + "@humanwhocodes/config-array": ^0.11.13 "@humanwhocodes/module-importer": ^1.0.1 "@nodelib/fs.walk": ^1.2.8 - ajv: ^6.10.0 + "@ungap/structured-clone": ^1.2.0 + ajv: ^6.12.4 chalk: ^4.0.0 cross-spawn: ^7.0.2 debug: ^4.3.2 doctrine: ^3.0.0 escape-string-regexp: ^4.0.0 - eslint-scope: ^7.2.0 - eslint-visitor-keys: ^3.4.1 - espree: ^9.5.2 + eslint-scope: ^7.2.2 + eslint-visitor-keys: ^3.4.3 + espree: ^9.6.1 esquery: ^1.4.2 esutils: ^2.0.2 fast-deep-equal: ^3.1.3 @@ -7626,7 +7841,6 @@ __metadata: globals: ^13.19.0 graphemer: ^1.4.0 ignore: ^5.2.0 - import-fresh: ^3.0.0 imurmurhash: ^0.1.4 is-glob: ^4.0.0 is-path-inside: ^3.0.3 @@ -7636,24 +7850,23 @@ __metadata: lodash.merge: ^4.6.2 minimatch: ^3.1.2 natural-compare: ^1.4.0 - optionator: ^0.9.1 + optionator: ^0.9.3 strip-ansi: ^6.0.1 - strip-json-comments: ^3.1.0 text-table: ^0.2.0 bin: eslint: bin/eslint.js - checksum: 09979a6f8451dcc508a7005b6670845c8a518376280b3fd96657a406b8b6ef29d0e480d1ba11b4eb48da93d607e0c55c9b877676fe089d09973ec152354e23b2 + checksum: 2da808655c7aa4b33f8970ba30d96b453c3071cc4d6cd60d367163430677e32ff186b65270816b662d29139283138bff81f28dddeb2e73265495245a316ed02c languageName: node linkType: hard -"espree@npm:^9.4.0, espree@npm:^9.5.2": - version: 9.5.2 - resolution: "espree@npm:9.5.2" +"espree@npm:^9.6.0, espree@npm:^9.6.1": + version: 9.6.1 + resolution: "espree@npm:9.6.1" dependencies: - acorn: ^8.8.0 + acorn: ^8.9.0 acorn-jsx: ^5.3.2 eslint-visitor-keys: ^3.4.1 - checksum: 6506289d6eb26471c0b383ee24fee5c8ae9d61ad540be956b3127be5ce3bf687d2ba6538ee5a86769812c7c552a9d8239e8c4d150f9ea056c6d5cbe8399c03c1 + checksum: eb8c149c7a2a77b3f33a5af80c10875c3abd65450f60b8af6db1bfcfa8f101e21c1e56a561c6dc13b848e18148d43469e7cd208506238554fb5395a9ea5a1ab9 languageName: node linkType: hard @@ -7667,7 +7880,7 @@ __metadata: languageName: node linkType: hard -"esquery@npm:^1.4.0, esquery@npm:^1.4.2": +"esquery@npm:^1.4.2": version: 1.5.0 resolution: "esquery@npm:1.5.0" dependencies: @@ -7768,6 +7981,23 @@ __metadata: languageName: node linkType: hard +"execa@npm:^7.1.1": + version: 7.2.0 + resolution: "execa@npm:7.2.0" + dependencies: + cross-spawn: ^7.0.3 + get-stream: ^6.0.1 + human-signals: ^4.3.0 + is-stream: ^3.0.0 + merge-stream: ^2.0.0 + npm-run-path: ^5.1.0 + onetime: ^6.0.0 + signal-exit: ^3.0.7 + strip-final-newline: ^3.0.0 + checksum: 14fd17ba0ca8c87b277584d93b1d9fc24f2a65e5152b31d5eb159a3b814854283eaae5f51efa9525e304447e2f757c691877f7adff8fde5746aae67eb1edd1cc + languageName: node + linkType: hard + "exit@npm:^0.1.2": version: 0.1.2 resolution: "exit@npm:0.1.2" @@ -7775,16 +8005,16 @@ __metadata: languageName: node linkType: hard -"expect@npm:^29.0.0, expect@npm:^29.4.3": - version: 29.4.3 - resolution: "expect@npm:29.4.3" +"expect@npm:^29.0.0, expect@npm:^29.7.0": + version: 29.7.0 + resolution: "expect@npm:29.7.0" dependencies: - "@jest/expect-utils": ^29.4.3 - jest-get-type: ^29.4.3 - jest-matcher-utils: ^29.4.3 - jest-message-util: ^29.4.3 - jest-util: ^29.4.3 - checksum: ff9dd8c50c0c6fd4b2b00f6dbd7ab0e2063fe1953be81a8c10ae1c005c7f5667ba452918e2efb055504b72b701a4f82575a081a0a7158efb16d87991b0366feb + "@jest/expect-utils": ^29.7.0 + jest-get-type: ^29.6.3 + jest-matcher-utils: ^29.7.0 + jest-message-util: ^29.7.0 + jest-util: ^29.7.0 + checksum: 9257f10288e149b81254a0fda8ffe8d54a7061cd61d7515779998b012579d2b8c22354b0eb901daf0145f347403da582f75f359f4810c007182ad3fb318b5c0c languageName: node linkType: hard @@ -7864,16 +8094,23 @@ __metadata: languageName: node linkType: hard -"fast-glob@npm:^3.2.11, fast-glob@npm:^3.2.12, fast-glob@npm:^3.2.9": - version: 3.2.12 - resolution: "fast-glob@npm:3.2.12" +"fast-equals@npm:^5.0.1": + version: 5.0.1 + resolution: "fast-equals@npm:5.0.1" + checksum: fbb3b6a74f3a0fa930afac151ff7d01639159b4fddd2678b5d50708e0ba38e9ec14602222d10dadb8398187342692c04fbef5a62b1cfcc7942fe03e754e064bc + languageName: node + linkType: hard + +"fast-glob@npm:^3.2.11, fast-glob@npm:^3.2.9, fast-glob@npm:^3.3.0, fast-glob@npm:^3.3.2": + version: 3.3.2 + resolution: "fast-glob@npm:3.3.2" 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 - checksum: 0b1990f6ce831c7e28c4d505edcdaad8e27e88ab9fa65eedadb730438cfc7cde4910d6c975d6b7b8dc8a73da4773702ebcfcd6e3518e73938bb1383badfe01c2 + checksum: 900e4979f4dbc3313840078419245621259f349950411ca2fa445a2f9a1a6d98c3b5e7e0660c5ccd563aa61abe133a21765c6c0dec8e57da1ba71d8000b05ec1 languageName: node linkType: hard @@ -7976,6 +8213,15 @@ __metadata: languageName: node linkType: hard +"file-entry-cache@npm:^7.0.1": + version: 7.0.1 + resolution: "file-entry-cache@npm:7.0.1" + dependencies: + flat-cache: ^3.1.1 + checksum: 3b5affa175cc246147ca394fa2ed719d306126a9259bef7b29c4024451d6671c82bf505600c37ec1398f80427c1fa91edb973b5d5228fd40590f797ce7a2401c + languageName: node + linkType: hard + "file-loader@npm:^6.2.0": version: 6.2.0 resolution: "file-loader@npm:6.2.0" @@ -8059,13 +8305,24 @@ __metadata: languageName: node linkType: hard -"flat-cache@npm:^3.0.4": - version: 3.0.4 - resolution: "flat-cache@npm:3.0.4" +"find-up@npm:^6.3.0": + version: 6.3.0 + resolution: "find-up@npm:6.3.0" dependencies: - flatted: ^3.1.0 + locate-path: ^7.1.0 + path-exists: ^5.0.0 + checksum: 9a21b7f9244a420e54c6df95b4f6fc3941efd3c3e5476f8274eb452f6a85706e7a6a90de71353ee4f091fcb4593271a6f92810a324ec542650398f928783c280 + languageName: node + linkType: hard + +"flat-cache@npm:^3.0.4, flat-cache@npm:^3.1.1": + version: 3.2.0 + resolution: "flat-cache@npm:3.2.0" + dependencies: + flatted: ^3.2.9 + keyv: ^4.5.3 rimraf: ^3.0.2 - checksum: 4fdd10ecbcbf7d520f9040dd1340eb5dfe951e6f0ecf2252edeec03ee68d989ec8b9a20f4434270e71bcfd57800dc09b3344fca3966b2eb8f613072c7d9a2365 + checksum: e7e0f59801e288b54bee5cb9681e9ee21ee28ef309f886b312c9d08415b79fc0f24ac842f84356ce80f47d6a53de62197ce0e6e148dc42d5db005992e2a756ec languageName: node linkType: hard @@ -8076,10 +8333,10 @@ __metadata: languageName: node linkType: hard -"flatted@npm:^3.1.0": - version: 3.2.4 - resolution: "flatted@npm:3.2.4" - checksum: 7d33846428ab337ec81ef9b8b9103894c1c81f5f67feb32bd4ed106fbc47da60d56edb42efd36c9f1f30a010272aeccd34ec1ffacfe9dfdff19673b1d4df481b +"flatted@npm:^3.2.9": + version: 3.2.9 + resolution: "flatted@npm:3.2.9" + checksum: f14167fbe26a9d20f6fca8d998e8f1f41df72c8e81f9f2c9d61ed2bea058248f5e1cbd05e7f88c0e5087a6a0b822a1e5e2b446e879f3cfbe0b07ba2d7f80b026 languageName: node linkType: hard @@ -8231,26 +8488,26 @@ __metadata: languageName: node linkType: hard -"function-bind@npm:^1.1.1": - version: 1.1.1 - resolution: "function-bind@npm:1.1.1" - checksum: b32fbaebb3f8ec4969f033073b43f5c8befbb58f1a79e12f1d7490358150359ebd92f49e72ff0144f65f2c48ea2a605bff2d07965f548f6474fd8efd95bf361a +"function-bind@npm:^1.1.1, function-bind@npm:^1.1.2": + version: 1.1.2 + resolution: "function-bind@npm:1.1.2" + checksum: 2b0ff4ce708d99715ad14a6d1f894e2a83242e4a52ccfcefaee5e40050562e5f6dafc1adbb4ce2d4ab47279a45dc736ab91ea5042d843c3c092820dfe032efb1 languageName: node linkType: hard -"function.prototype.name@npm:^1.1.5": - version: 1.1.5 - resolution: "function.prototype.name@npm:1.1.5" +"function.prototype.name@npm:^1.1.5, function.prototype.name@npm:^1.1.6": + version: 1.1.6 + resolution: "function.prototype.name@npm:1.1.6" dependencies: call-bind: ^1.0.2 - define-properties: ^1.1.3 - es-abstract: ^1.19.0 - functions-have-names: ^1.2.2 - checksum: acd21d733a9b649c2c442f067567743214af5fa248dbeee69d8278ce7df3329ea5abac572be9f7470b4ec1cd4d8f1040e3c5caccf98ebf2bf861a0deab735c27 + define-properties: ^1.2.0 + es-abstract: ^1.22.1 + functions-have-names: ^1.2.3 + checksum: 7a3f9bd98adab09a07f6e1f03da03d3f7c26abbdeaeee15223f6c04a9fb5674792bdf5e689dac19b97ac71de6aad2027ba3048a9b883aa1b3173eed6ab07f479 languageName: node linkType: hard -"functions-have-names@npm:^1.2.2": +"functions-have-names@npm:^1.2.3": version: 1.2.3 resolution: "functions-have-names@npm:1.2.3" checksum: c3f1f5ba20f4e962efb71344ce0a40722163e85bee2101ce25f88214e78182d2d2476aa85ef37950c579eb6cf6ee811c17b3101bb84004bb75655f3e33f3fdb5 @@ -8273,10 +8530,10 @@ __metadata: languageName: node linkType: hard -"gensequence@npm:^4.0.3": - version: 4.0.3 - resolution: "gensequence@npm:4.0.3" - checksum: 541824a242bb0a64e7e58b595c753a5a9cd07c02a1c6c41928e0d6e09f16047e774deab470ae484e4aded29cfe03a6325a3090dd6e5a0c32ff3726606b09ffc4 +"gensequence@npm:^6.0.0": + version: 6.0.0 + resolution: "gensequence@npm:6.0.0" + checksum: 7c23404b227647cb033a2c6cf5a5266442409e9dcc6bc140565d28de64adfa03dc474119ae14d776dc177fe63d605d2f4b228fa3bf926145dddd68c8df95d029 languageName: node linkType: hard @@ -8294,14 +8551,15 @@ __metadata: languageName: node linkType: hard -"get-intrinsic@npm:^1.0.2, get-intrinsic@npm:^1.1.1, get-intrinsic@npm:^1.1.3, get-intrinsic@npm:^1.2.0": - version: 1.2.0 - resolution: "get-intrinsic@npm:1.2.0" +"get-intrinsic@npm:^1.0.2, get-intrinsic@npm:^1.1.1, get-intrinsic@npm:^1.1.3, get-intrinsic@npm:^1.2.0, get-intrinsic@npm:^1.2.1, get-intrinsic@npm:^1.2.2": + version: 1.2.2 + resolution: "get-intrinsic@npm:1.2.2" dependencies: - function-bind: ^1.1.1 - has: ^1.0.3 + function-bind: ^1.1.2 + has-proto: ^1.0.1 has-symbols: ^1.0.3 - checksum: 78fc0487b783f5c58cf2dccafc3ae656ee8d2d8062a8831ce4a95e7057af4587a1d4882246c033aca0a7b4965276f4802b45cc300338d1b77a73d3e3e3f4877d + hasown: ^2.0.0 + checksum: 447ff0724df26829908dc033b62732359596fcf66027bc131ab37984afb33842d9cd458fd6cecadfe7eac22fd8a54b349799ed334cf2726025c921c7250e7417 languageName: node linkType: hard @@ -8319,10 +8577,10 @@ __metadata: languageName: node linkType: hard -"get-stdin@npm:^8.0.0": - version: 8.0.0 - resolution: "get-stdin@npm:8.0.0" - checksum: 40128b6cd25781ddbd233344f1a1e4006d4284906191ed0a7d55ec2c1a3e44d650f280b2c9eeab79c03ac3037da80257476c0e4e5af38ddfb902d6ff06282d77 +"get-stdin@npm:^9.0.0": + version: 9.0.0 + resolution: "get-stdin@npm:9.0.0" + checksum: 5972bc34d05932b45512c8e2d67b040f1c1ca8afb95c56cbc480985f2d761b7e37fe90dc8abd22527f062cc5639a6930ff346e9952ae4c11a2d4275869459594 languageName: node linkType: hard @@ -8344,7 +8602,7 @@ __metadata: languageName: node linkType: hard -"get-stream@npm:^6.0.0": +"get-stream@npm:^6.0.0, get-stream@npm:^6.0.1": version: 6.0.1 resolution: "get-stream@npm:6.0.1" checksum: e04ecece32c92eebf5b8c940f51468cd53554dcbb0ea725b2748be583c9523d00128137966afce410b9b051eb2ef16d657cd2b120ca8edafcf5a65e81af63cad @@ -8420,16 +8678,7 @@ __metadata: languageName: node linkType: hard -"global-dirs@npm:^0.1.1": - version: 0.1.1 - resolution: "global-dirs@npm:0.1.1" - dependencies: - ini: ^1.3.4 - checksum: 10624f5a8ddb8634c22804c6b24f93fb591c3639a6bc78e3584e01a238fc6f7b7965824184e57d63f6df36980b6c191484ad7bc6c35a1599b8f1d64be64c2a4a - languageName: node - linkType: hard - -"global-dirs@npm:^3.0.0": +"global-dirs@npm:^3.0.0, global-dirs@npm:^3.0.1": version: 3.0.1 resolution: "global-dirs@npm:3.0.1" dependencies: @@ -8545,13 +8794,6 @@ __metadata: languageName: node linkType: hard -"grapheme-splitter@npm:^1.0.4": - version: 1.0.4 - resolution: "grapheme-splitter@npm:1.0.4" - checksum: 0c22ec54dee1b05cd480f78cf14f732cb5b108edc073572c4ec205df4cd63f30f8db8025afc5debc8835a8ddeacf648a1c7992fe3dcd6ad38f9a476d84906620 - languageName: node - linkType: hard - "graphemer@npm:^1.4.0": version: 1.4.0 resolution: "graphemer@npm:1.4.0" @@ -8670,6 +8912,15 @@ __metadata: languageName: node linkType: hard +"hasown@npm:^2.0.0": + version: 2.0.0 + resolution: "hasown@npm:2.0.0" + dependencies: + function-bind: ^1.1.2 + checksum: 6151c75ca12554565098641c98a40f4cc86b85b0fd5b6fe92360967e4605a4f9610f7757260b4e8098dd1c2ce7f4b095f2006fe72a570e3b6d2d28de0298c176 + languageName: node + linkType: hard + "hast-to-hyperscript@npm:^9.0.0": version: 9.0.1 resolution: "hast-to-hyperscript@npm:9.0.1" @@ -8995,6 +9246,13 @@ __metadata: languageName: node linkType: hard +"human-signals@npm:^4.3.0": + version: 4.3.1 + resolution: "human-signals@npm:4.3.1" + checksum: 6f12958df3f21b6fdaf02d90896c271df00636a31e2bbea05bddf817a35c66b38a6fdac5863e2df85bd52f34958997f1f50350ff97249e1dff8452865d5235d1 + languageName: node + linkType: hard + "humanize-ms@npm:^1.2.1": version: 1.2.1 resolution: "humanize-ms@npm:1.2.1" @@ -9038,7 +9296,7 @@ __metadata: languageName: node linkType: hard -"ignore@npm:^5.2.0": +"ignore@npm:^5.2.0, ignore@npm:^5.2.4": version: 5.2.4 resolution: "ignore@npm:5.2.4" checksum: 3d4c309c6006e2621659311783eaea7ebcd41fe4ca1d78c91c473157ad6666a57a2df790fe0d07a12300d9aac2888204d7be8d59f9aaf665b1c7fcdb432517ef @@ -9063,7 +9321,7 @@ __metadata: languageName: node linkType: hard -"import-fresh@npm:^3.0.0, import-fresh@npm:^3.1.0, import-fresh@npm:^3.2.1, import-fresh@npm:^3.3.0": +"import-fresh@npm:^3.1.0, import-fresh@npm:^3.2.1, import-fresh@npm:^3.3.0": version: 3.3.0 resolution: "import-fresh@npm:3.3.0" dependencies: @@ -9092,10 +9350,10 @@ __metadata: languageName: node linkType: hard -"import-meta-resolve@npm:^2.2.1": - version: 2.2.1 - resolution: "import-meta-resolve@npm:2.2.1" - checksum: 8dd5ff7f6e96dea13653cbf79457588b9850949fde0412dba3cc944f8a61a155a3713d65878d903af6b0db7da960600ef66dfe994311743cdd49fe33dc91b0c5 +"import-meta-resolve@npm:^3.1.1": + version: 3.1.1 + resolution: "import-meta-resolve@npm:3.1.1" + checksum: 24e703e8107699e22fdbea8712e1fa3ef6c379a5e999e6d62280754d302ec71bf41302e791886706a015cc20eb2d292c7187d16efb064e25b617808e3f65e1d3 languageName: node linkType: hard @@ -9158,7 +9416,7 @@ __metadata: languageName: node linkType: hard -"ini@npm:^1.3.4, ini@npm:^1.3.5, ini@npm:~1.3.0": +"ini@npm:^1.3.5, ini@npm:~1.3.0": version: 1.3.8 resolution: "ini@npm:1.3.8" checksum: dfd98b0ca3a4fc1e323e38a6c8eb8936e31a97a918d3b377649ea15bdb15d481207a0dda1021efbd86b464cae29a0d33c1d7dcaf6c5672bee17fa849bc50a1b3 @@ -9172,14 +9430,14 @@ __metadata: languageName: node linkType: hard -"internal-slot@npm:^1.0.3, internal-slot@npm:^1.0.4": - version: 1.0.5 - resolution: "internal-slot@npm:1.0.5" +"internal-slot@npm:^1.0.3, internal-slot@npm:^1.0.5": + version: 1.0.6 + resolution: "internal-slot@npm:1.0.6" dependencies: - get-intrinsic: ^1.2.0 - has: ^1.0.3 + get-intrinsic: ^1.2.2 + hasown: ^2.0.0 side-channel: ^1.0.4 - checksum: 97e84046bf9e7574d0956bd98d7162313ce7057883b6db6c5c7b5e5f05688864b0978ba07610c726d15d66544ffe4b1050107d93f8a39ebc59b15d8b429b497a + checksum: 7872454888047553ce97a3fa1da7cc054a28ec5400a9c2e9f4dbe4fe7c1d041cb8e8301467614b80d4246d50377aad2fb58860b294ed74d6700cc346b6f89549 languageName: node linkType: hard @@ -9237,14 +9495,14 @@ __metadata: languageName: node linkType: hard -"is-array-buffer@npm:^3.0.1": - version: 3.0.1 - resolution: "is-array-buffer@npm:3.0.1" +"is-array-buffer@npm:^3.0.1, is-array-buffer@npm:^3.0.2": + version: 3.0.2 + resolution: "is-array-buffer@npm:3.0.2" dependencies: call-bind: ^1.0.2 - get-intrinsic: ^1.1.3 + get-intrinsic: ^1.2.0 is-typed-array: ^1.1.10 - checksum: f26ab87448e698285daf707e52a533920449f7abf63714140ffab9d5571aa5a71ac2fa2677e8b793ad0d5d3e40078d4d2c8a0ab39c957e3cfc6513bb6c9dfdc9 + checksum: dcac9dda66ff17df9cabdc58214172bf41082f956eab30bb0d86bc0fab1e44b690fc8e1f855cf2481245caf4e8a5a006a982a71ddccec84032ed41f9d8da8c14 languageName: node linkType: hard @@ -9255,6 +9513,15 @@ __metadata: languageName: node linkType: hard +"is-async-function@npm:^2.0.0": + version: 2.0.0 + resolution: "is-async-function@npm:2.0.0" + dependencies: + has-tostringtag: ^1.0.0 + checksum: e3471d95e6c014bf37cad8a93f2f4b6aac962178e0a5041e8903147166964fdc1c5c1d2ef87e86d77322c370ca18f2ea004fa7420581fa747bcaf7c223069dbd + languageName: node + linkType: hard + "is-bigint@npm:^1.0.1": version: 1.0.4 resolution: "is-bigint@npm:1.0.4" @@ -9308,16 +9575,16 @@ __metadata: languageName: node linkType: hard -"is-core-module@npm:^2.11.0, is-core-module@npm:^2.12.0, is-core-module@npm:^2.9.0": - version: 2.12.1 - resolution: "is-core-module@npm:2.12.1" +"is-core-module@npm:^2.13.0, is-core-module@npm:^2.13.1, is-core-module@npm:^2.9.0": + version: 2.13.1 + resolution: "is-core-module@npm:2.13.1" dependencies: - has: ^1.0.3 - checksum: f04ea30533b5e62764e7b2e049d3157dc0abd95ef44275b32489ea2081176ac9746ffb1cdb107445cf1ff0e0dfcad522726ca27c27ece64dadf3795428b8e468 + hasown: ^2.0.0 + checksum: 256559ee8a9488af90e4bad16f5583c6d59e92f0742e9e8bb4331e758521ee86b810b93bae44f390766ffbc518a0488b18d9dab7da9a5ff997d499efc9403f7c languageName: node linkType: hard -"is-date-object@npm:^1.0.1": +"is-date-object@npm:^1.0.1, is-date-object@npm:^1.0.5": version: 1.0.5 resolution: "is-date-object@npm:1.0.5" dependencies: @@ -9342,6 +9609,15 @@ __metadata: languageName: node linkType: hard +"is-docker@npm:^3.0.0": + version: 3.0.0 + resolution: "is-docker@npm:3.0.0" + bin: + is-docker: cli.js + checksum: b698118f04feb7eaf3338922bd79cba064ea54a1c3db6ec8c0c8d8ee7613e7e5854d802d3ef646812a8a3ace81182a085dfa0a71cc68b06f3fa794b9783b3c90 + languageName: node + linkType: hard + "is-extendable@npm:^0.1.0": version: 0.1.1 resolution: "is-extendable@npm:0.1.1" @@ -9356,6 +9632,15 @@ __metadata: languageName: node linkType: hard +"is-finalizationregistry@npm:^1.0.2": + version: 1.0.2 + resolution: "is-finalizationregistry@npm:1.0.2" + dependencies: + call-bind: ^1.0.2 + checksum: 4f243a8e06228cd45bdab8608d2cb7abfc20f6f0189c8ac21ea8d603f1f196eabd531ce0bb8e08cbab047e9845ef2c191a3761c9a17ad5cabf8b35499c4ad35d + languageName: node + linkType: hard + "is-fullwidth-code-point@npm:^3.0.0": version: 3.0.0 resolution: "is-fullwidth-code-point@npm:3.0.0" @@ -9370,6 +9655,15 @@ __metadata: languageName: node linkType: hard +"is-generator-function@npm:^1.0.10": + version: 1.0.10 + resolution: "is-generator-function@npm:1.0.10" + dependencies: + has-tostringtag: ^1.0.0 + checksum: d54644e7dbaccef15ceb1e5d91d680eb5068c9ee9f9eb0a9e04173eb5542c9b51b5ab52c5537f5703e48d5fddfd376817c1ca07a84a407b7115b769d4bdde72b + languageName: node + linkType: hard + "is-glob@npm:^4.0.0, is-glob@npm:^4.0.1, is-glob@npm:^4.0.3, is-glob@npm:~4.0.1": version: 4.0.3 resolution: "is-glob@npm:4.0.3" @@ -9386,6 +9680,17 @@ __metadata: languageName: node linkType: hard +"is-inside-container@npm:^1.0.0": + version: 1.0.0 + resolution: "is-inside-container@npm:1.0.0" + dependencies: + is-docker: ^3.0.0 + bin: + is-inside-container: cli.js + checksum: c50b75a2ab66ab3e8b92b3bc534e1ea72ca25766832c0623ac22d134116a98bcf012197d1caabe1d1c4bd5f84363d4aa5c36bb4b585fbcaf57be172cd10a1a03 + languageName: node + linkType: hard + "is-installed-globally@npm:^0.4.0": version: 0.4.0 resolution: "is-installed-globally@npm:0.4.0" @@ -9403,6 +9708,13 @@ __metadata: languageName: node linkType: hard +"is-map@npm:^2.0.1": + version: 2.0.2 + resolution: "is-map@npm:2.0.2" + checksum: ace3d0ecd667bbdefdb1852de601268f67f2db725624b1958f279316e13fecb8fa7df91fd60f690d7417b4ec180712f5a7ee967008e27c65cfd475cc84337728 + languageName: node + linkType: hard + "is-negative-zero@npm:^2.0.2": version: 2.0.2 resolution: "is-negative-zero@npm:2.0.2" @@ -9508,6 +9820,13 @@ __metadata: languageName: node linkType: hard +"is-set@npm:^2.0.1": + version: 2.0.2 + resolution: "is-set@npm:2.0.2" + checksum: b64343faf45e9387b97a6fd32be632ee7b269bd8183701f3b3f5b71a7cf00d04450ed8669d0bd08753e08b968beda96fca73a10fd0ff56a32603f64deba55a57 + languageName: node + linkType: hard + "is-shared-array-buffer@npm:^1.0.2": version: 1.0.2 resolution: "is-shared-array-buffer@npm:1.0.2" @@ -9524,6 +9843,13 @@ __metadata: languageName: node linkType: hard +"is-stream@npm:^3.0.0": + version: 3.0.0 + resolution: "is-stream@npm:3.0.0" + checksum: 172093fe99119ffd07611ab6d1bcccfe8bc4aa80d864b15f43e63e54b7abc71e779acd69afdb854c4e2a67fdc16ae710e370eda40088d1cfc956a50ed82d8f16 + languageName: node + linkType: hard + "is-string@npm:^1.0.5, is-string@npm:^1.0.7": version: 1.0.7 resolution: "is-string@npm:1.0.7" @@ -9542,16 +9868,12 @@ __metadata: languageName: node linkType: hard -"is-typed-array@npm:^1.1.10, is-typed-array@npm:^1.1.9": - version: 1.1.10 - resolution: "is-typed-array@npm:1.1.10" +"is-typed-array@npm:^1.1.10, is-typed-array@npm:^1.1.12, is-typed-array@npm:^1.1.9": + version: 1.1.12 + resolution: "is-typed-array@npm:1.1.12" dependencies: - available-typed-arrays: ^1.0.5 - call-bind: ^1.0.2 - for-each: ^0.3.3 - gopd: ^1.0.1 - has-tostringtag: ^1.0.0 - checksum: aac6ecb59d4c56a1cdeb69b1f129154ef462bbffe434cb8a8235ca89b42f258b7ae94073c41b3cb7bce37f6a1733ad4499f07882d5d5093a7ba84dfc4ebb8017 + which-typed-array: ^1.1.11 + checksum: 4c89c4a3be07186caddadf92197b17fda663a9d259ea0d44a85f171558270d36059d1c386d34a12cba22dfade5aba497ce22778e866adc9406098c8fc4771796 languageName: node linkType: hard @@ -9562,6 +9884,13 @@ __metadata: languageName: node linkType: hard +"is-weakmap@npm:^2.0.1": + version: 2.0.1 + resolution: "is-weakmap@npm:2.0.1" + checksum: 1222bb7e90c32bdb949226e66d26cb7bce12e1e28e3e1b40bfa6b390ba3e08192a8664a703dff2a00a84825f4e022f9cd58c4599ff9981ab72b1d69479f4f7f6 + languageName: node + linkType: hard + "is-weakref@npm:^1.0.2": version: 1.0.2 resolution: "is-weakref@npm:1.0.2" @@ -9571,6 +9900,16 @@ __metadata: languageName: node linkType: hard +"is-weakset@npm:^2.0.1": + version: 2.0.2 + resolution: "is-weakset@npm:2.0.2" + dependencies: + call-bind: ^1.0.2 + get-intrinsic: ^1.1.1 + checksum: 5d8698d1fa599a0635d7ca85be9c26d547b317ed8fd83fc75f03efbe75d50001b5eececb1e9971de85fcde84f69ae6f8346bc92d20d55d46201d328e4c74a367 + languageName: node + linkType: hard + "is-whitespace-character@npm:^1.0.0": version: 1.0.4 resolution: "is-whitespace-character@npm:1.0.4" @@ -9608,6 +9947,13 @@ __metadata: languageName: node linkType: hard +"isarray@npm:^2.0.5": + version: 2.0.5 + resolution: "isarray@npm:2.0.5" + checksum: bd5bbe4104438c4196ba58a54650116007fa0262eccef13a4c55b2e09a5b36b59f1e75b9fcc49883dd9d4953892e6fc007eef9e9155648ceea036e184b0f930a + languageName: node + linkType: hard + "isarray@npm:~1.0.0": version: 1.0.0 resolution: "isarray@npm:1.0.0" @@ -9636,7 +9982,7 @@ __metadata: languageName: node linkType: hard -"istanbul-lib-instrument@npm:^5.0.4, istanbul-lib-instrument@npm:^5.1.0": +"istanbul-lib-instrument@npm:^5.0.4": version: 5.2.1 resolution: "istanbul-lib-instrument@npm:5.2.1" dependencies: @@ -9649,6 +9995,19 @@ __metadata: languageName: node linkType: hard +"istanbul-lib-instrument@npm:^6.0.0": + version: 6.0.1 + resolution: "istanbul-lib-instrument@npm:6.0.1" + dependencies: + "@babel/core": ^7.12.3 + "@babel/parser": ^7.14.7 + "@istanbuljs/schema": ^0.1.2 + istanbul-lib-coverage: ^3.2.0 + semver: ^7.5.4 + checksum: fb23472e739cfc9b027cefcd7d551d5e7ca7ff2817ae5150fab99fe42786a7f7b56a29a2aa8309c37092e18297b8003f9c274f50ca4360949094d17fbac81472 + languageName: node + linkType: hard + "istanbul-lib-report@npm:^3.0.0": version: 3.0.0 resolution: "istanbul-lib-report@npm:3.0.0" @@ -9681,58 +10040,72 @@ __metadata: languageName: node linkType: hard -"jest-changed-files@npm:^29.4.3": - version: 29.4.3 - resolution: "jest-changed-files@npm:29.4.3" +"iterator.prototype@npm:^1.1.2": + version: 1.1.2 + resolution: "iterator.prototype@npm:1.1.2" + dependencies: + define-properties: ^1.2.1 + get-intrinsic: ^1.2.1 + has-symbols: ^1.0.3 + reflect.getprototypeof: ^1.0.4 + set-function-name: ^2.0.1 + checksum: d8a507e2ccdc2ce762e8a1d3f4438c5669160ac72b88b648e59a688eec6bc4e64b22338e74000518418d9e693faf2a092d2af21b9ec7dbf7763b037a54701168 + languageName: node + linkType: hard + +"jest-changed-files@npm:^29.7.0": + version: 29.7.0 + resolution: "jest-changed-files@npm:29.7.0" dependencies: execa: ^5.0.0 + jest-util: ^29.7.0 p-limit: ^3.1.0 - checksum: 9a70bd8e92b37e18ad26d8bea97c516f41119fb7046b4255a13c76d557b0e54fa0629726de5a093fadfd6a0a08ce45da65a57086664d505b8db4b3133133e141 + checksum: 963e203893c396c5dfc75e00a49426688efea7361b0f0e040035809cecd2d46b3c01c02be2d9e8d38b1138357d2de7719ea5b5be21f66c10f2e9685a5a73bb99 languageName: node linkType: hard -"jest-circus@npm:^29.4.3": - version: 29.4.3 - resolution: "jest-circus@npm:29.4.3" +"jest-circus@npm:^29.7.0": + version: 29.7.0 + resolution: "jest-circus@npm:29.7.0" dependencies: - "@jest/environment": ^29.4.3 - "@jest/expect": ^29.4.3 - "@jest/test-result": ^29.4.3 - "@jest/types": ^29.4.3 + "@jest/environment": ^29.7.0 + "@jest/expect": ^29.7.0 + "@jest/test-result": ^29.7.0 + "@jest/types": ^29.6.3 "@types/node": "*" chalk: ^4.0.0 co: ^4.6.0 - dedent: ^0.7.0 + dedent: ^1.0.0 is-generator-fn: ^2.0.0 - jest-each: ^29.4.3 - jest-matcher-utils: ^29.4.3 - jest-message-util: ^29.4.3 - jest-runtime: ^29.4.3 - jest-snapshot: ^29.4.3 - jest-util: ^29.4.3 + jest-each: ^29.7.0 + jest-matcher-utils: ^29.7.0 + jest-message-util: ^29.7.0 + jest-runtime: ^29.7.0 + jest-snapshot: ^29.7.0 + jest-util: ^29.7.0 p-limit: ^3.1.0 - pretty-format: ^29.4.3 + pretty-format: ^29.7.0 + pure-rand: ^6.0.0 slash: ^3.0.0 stack-utils: ^2.0.3 - checksum: 2739bef9c888743b49ff3fe303131381618e5d2f250f613a91240d9c86e19e6874fc904cbd8bcb02ec9ec59a84e5dae4ffec929f0c6171e87ddbc05508a137f4 + checksum: 349437148924a5a109c9b8aad6d393a9591b4dac1918fc97d81b7fc515bc905af9918495055071404af1fab4e48e4b04ac3593477b1d5dcf48c4e71b527c70a7 languageName: node linkType: hard -"jest-cli@npm:^29.4.3": - version: 29.4.3 - resolution: "jest-cli@npm:29.4.3" +"jest-cli@npm:^29.7.0": + version: 29.7.0 + resolution: "jest-cli@npm:29.7.0" dependencies: - "@jest/core": ^29.4.3 - "@jest/test-result": ^29.4.3 - "@jest/types": ^29.4.3 + "@jest/core": ^29.7.0 + "@jest/test-result": ^29.7.0 + "@jest/types": ^29.6.3 chalk: ^4.0.0 + create-jest: ^29.7.0 exit: ^0.1.2 - graceful-fs: ^4.2.9 import-local: ^3.0.2 - jest-config: ^29.4.3 - jest-util: ^29.4.3 - jest-validate: ^29.4.3 - prompts: ^2.0.1 + jest-config: ^29.7.0 + jest-util: ^29.7.0 + jest-validate: ^29.7.0 yargs: ^17.3.1 peerDependencies: node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 @@ -9741,34 +10114,34 @@ __metadata: optional: true bin: jest: bin/jest.js - checksum: f4c9f6d76cde2c60a4169acbebb3f862728be03bcf3fe0077d2e55da7f9f3c3e9483cfa6e936832d35eabf96ee5ebf0300c4b0bd43cffff099801793466bfdd8 + checksum: 664901277a3f5007ea4870632ed6e7889db9da35b2434e7cb488443e6bf5513889b344b7fddf15112135495b9875892b156faeb2d7391ddb9e2a849dcb7b6c36 languageName: node linkType: hard -"jest-config@npm:^29.4.3": - version: 29.4.3 - resolution: "jest-config@npm:29.4.3" +"jest-config@npm:^29.7.0": + version: 29.7.0 + resolution: "jest-config@npm:29.7.0" dependencies: "@babel/core": ^7.11.6 - "@jest/test-sequencer": ^29.4.3 - "@jest/types": ^29.4.3 - babel-jest: ^29.4.3 + "@jest/test-sequencer": ^29.7.0 + "@jest/types": ^29.6.3 + babel-jest: ^29.7.0 chalk: ^4.0.0 ci-info: ^3.2.0 deepmerge: ^4.2.2 glob: ^7.1.3 graceful-fs: ^4.2.9 - jest-circus: ^29.4.3 - jest-environment-node: ^29.4.3 - jest-get-type: ^29.4.3 - jest-regex-util: ^29.4.3 - jest-resolve: ^29.4.3 - jest-runner: ^29.4.3 - jest-util: ^29.4.3 - jest-validate: ^29.4.3 + jest-circus: ^29.7.0 + jest-environment-node: ^29.7.0 + jest-get-type: ^29.6.3 + jest-regex-util: ^29.6.3 + jest-resolve: ^29.7.0 + jest-runner: ^29.7.0 + jest-util: ^29.7.0 + jest-validate: ^29.7.0 micromatch: ^4.0.4 parse-json: ^5.2.0 - pretty-format: ^29.4.3 + pretty-format: ^29.7.0 slash: ^3.0.0 strip-json-comments: ^3.1.1 peerDependencies: @@ -9779,135 +10152,135 @@ __metadata: optional: true ts-node: optional: true - checksum: 92f9a9c6850b18682cb01892774a33967472af23a5844438d8c68077d5f2a29b15b665e4e4db7de3d74002a6dca158cd5b2cb9f5debfd2cce5e1aee6c74e3873 + checksum: 4cabf8f894c180cac80b7df1038912a3fc88f96f2622de33832f4b3314f83e22b08fb751da570c0ab2b7988f21604bdabade95e3c0c041068ac578c085cf7dff languageName: node linkType: hard -"jest-diff@npm:^29.4.3": - version: 29.4.3 - resolution: "jest-diff@npm:29.4.3" +"jest-diff@npm:^29.7.0": + version: 29.7.0 + resolution: "jest-diff@npm:29.7.0" dependencies: chalk: ^4.0.0 - diff-sequences: ^29.4.3 - jest-get-type: ^29.4.3 - pretty-format: ^29.4.3 - checksum: 877fd1edffef6b319688c27b152e5b28e2bc4bcda5ce0ca90d7e137f9fafda4280bae25403d4c0bfd9806c2c0b15d966aa2dfaf5f9928ec8f1ccea7fa1d08ed6 + diff-sequences: ^29.6.3 + jest-get-type: ^29.6.3 + pretty-format: ^29.7.0 + checksum: 08e24a9dd43bfba1ef07a6374e5af138f53137b79ec3d5cc71a2303515335898888fa5409959172e1e05de966c9e714368d15e8994b0af7441f0721ee8e1bb77 languageName: node linkType: hard -"jest-docblock@npm:^29.4.3": - version: 29.4.3 - resolution: "jest-docblock@npm:29.4.3" +"jest-docblock@npm:^29.7.0": + version: 29.7.0 + resolution: "jest-docblock@npm:29.7.0" dependencies: detect-newline: ^3.0.0 - checksum: e0e9df1485bb8926e5b33478cdf84b3387d9caf3658e7dc1eaa6dc34cb93dea0d2d74797f6e940f0233a88f3dadd60957f2288eb8f95506361f85b84bf8661df + checksum: 66390c3e9451f8d96c5da62f577a1dad701180cfa9b071c5025acab2f94d7a3efc2515cfa1654ebe707213241541ce9c5530232cdc8017c91ed64eea1bd3b192 languageName: node linkType: hard -"jest-each@npm:^29.4.3": - version: 29.4.3 - resolution: "jest-each@npm:29.4.3" +"jest-each@npm:^29.7.0": + version: 29.7.0 + resolution: "jest-each@npm:29.7.0" dependencies: - "@jest/types": ^29.4.3 + "@jest/types": ^29.6.3 chalk: ^4.0.0 - jest-get-type: ^29.4.3 - jest-util: ^29.4.3 - pretty-format: ^29.4.3 - checksum: 1f72738338399efab0139eaea18bc198be0c6ed889770c8cbfa70bf9c724e8171fe1d3a29a94f9f39b8493ee6b2529bb350fb7c7c75e0d7eddfd28c253c79f9d + jest-get-type: ^29.6.3 + jest-util: ^29.7.0 + pretty-format: ^29.7.0 + checksum: e88f99f0184000fc8813f2a0aa79e29deeb63700a3b9b7928b8a418d7d93cd24933608591dbbdea732b473eb2021c72991b5cc51a17966842841c6e28e6f691c languageName: node linkType: hard -"jest-environment-node@npm:^29.4.3": - version: 29.4.3 - resolution: "jest-environment-node@npm:29.4.3" +"jest-environment-node@npm:^29.7.0": + version: 29.7.0 + resolution: "jest-environment-node@npm:29.7.0" dependencies: - "@jest/environment": ^29.4.3 - "@jest/fake-timers": ^29.4.3 - "@jest/types": ^29.4.3 + "@jest/environment": ^29.7.0 + "@jest/fake-timers": ^29.7.0 + "@jest/types": ^29.6.3 "@types/node": "*" - jest-mock: ^29.4.3 - jest-util: ^29.4.3 - checksum: 3c7362edfdbd516e83af7367c95dde35761a482b174de9735c07633405486ec73e19624e9bea4333fca33c24e8d65eaa1aa6594e0cb6bfeeeb564ccc431ee61d + jest-mock: ^29.7.0 + jest-util: ^29.7.0 + checksum: 501a9966292cbe0ca3f40057a37587cb6def25e1e0c5e39ac6c650fe78d3c70a2428304341d084ac0cced5041483acef41c477abac47e9a290d5545fd2f15646 languageName: node linkType: hard -"jest-get-type@npm:^29.4.3": - version: 29.4.3 - resolution: "jest-get-type@npm:29.4.3" - checksum: 6ac7f2dde1c65e292e4355b6c63b3a4897d7e92cb4c8afcf6d397f2682f8080e094c8b0b68205a74d269882ec06bf696a9de6cd3e1b7333531e5ed7b112605ce +"jest-get-type@npm:^29.6.3": + version: 29.6.3 + resolution: "jest-get-type@npm:29.6.3" + checksum: 88ac9102d4679d768accae29f1e75f592b760b44277df288ad76ce5bf038c3f5ce3719dea8aa0f035dac30e9eb034b848ce716b9183ad7cc222d029f03e92205 languageName: node linkType: hard -"jest-haste-map@npm:^29.4.3, jest-haste-map@npm:^29.5.0": - version: 29.5.0 - resolution: "jest-haste-map@npm:29.5.0" +"jest-haste-map@npm:^29.7.0": + version: 29.7.0 + resolution: "jest-haste-map@npm:29.7.0" dependencies: - "@jest/types": ^29.5.0 + "@jest/types": ^29.6.3 "@types/graceful-fs": ^4.1.3 "@types/node": "*" anymatch: ^3.0.3 fb-watchman: ^2.0.0 fsevents: ^2.3.2 graceful-fs: ^4.2.9 - jest-regex-util: ^29.4.3 - jest-util: ^29.5.0 - jest-worker: ^29.5.0 + jest-regex-util: ^29.6.3 + jest-util: ^29.7.0 + jest-worker: ^29.7.0 micromatch: ^4.0.4 walker: ^1.0.8 dependenciesMeta: fsevents: optional: true - checksum: 3828ff7783f168e34be2c63887f82a01634261f605dcae062d83f979a61c37739e21b9607ecb962256aea3fbe5a530a1acee062d0026fcb47c607c12796cf3b7 + checksum: c2c8f2d3e792a963940fbdfa563ce14ef9e14d4d86da645b96d3cd346b8d35c5ce0b992ee08593939b5f718cf0a1f5a90011a056548a1dbf58397d4356786f01 languageName: node linkType: hard -"jest-leak-detector@npm:^29.4.3": - version: 29.4.3 - resolution: "jest-leak-detector@npm:29.4.3" +"jest-leak-detector@npm:^29.7.0": + version: 29.7.0 + resolution: "jest-leak-detector@npm:29.7.0" dependencies: - jest-get-type: ^29.4.3 - pretty-format: ^29.4.3 - checksum: ec2b45e6f0abce81bd0dd0f6fd06b433c24d1ec865267af7640fae540ec868b93752598e407a9184d9c7419cbf32e8789007cc8c1be1a84f8f7321a0f8ad01f1 + jest-get-type: ^29.6.3 + pretty-format: ^29.7.0 + checksum: e3950e3ddd71e1d0c22924c51a300a1c2db6cf69ec1e51f95ccf424bcc070f78664813bef7aed4b16b96dfbdeea53fe358f8aeaaea84346ae15c3735758f1605 languageName: node linkType: hard -"jest-matcher-utils@npm:^29.4.3": - version: 29.4.3 - resolution: "jest-matcher-utils@npm:29.4.3" +"jest-matcher-utils@npm:^29.7.0": + version: 29.7.0 + resolution: "jest-matcher-utils@npm:29.7.0" dependencies: chalk: ^4.0.0 - jest-diff: ^29.4.3 - jest-get-type: ^29.4.3 - pretty-format: ^29.4.3 - checksum: 9e13cbe42d2113bab2691110c7c3ba5cec3b94abad2727e1de90929d0f67da444e9b2066da3b476b5bf788df53a8ede0e0a950cfb06a04e4d6d566d115ee4f1d + jest-diff: ^29.7.0 + jest-get-type: ^29.6.3 + pretty-format: ^29.7.0 + checksum: d7259e5f995d915e8a37a8fd494cb7d6af24cd2a287b200f831717ba0d015190375f9f5dc35393b8ba2aae9b2ebd60984635269c7f8cff7d85b077543b7744cd languageName: node linkType: hard -"jest-message-util@npm:^29.4.3": - version: 29.4.3 - resolution: "jest-message-util@npm:29.4.3" +"jest-message-util@npm:^29.7.0": + version: 29.7.0 + resolution: "jest-message-util@npm:29.7.0" dependencies: "@babel/code-frame": ^7.12.13 - "@jest/types": ^29.4.3 + "@jest/types": ^29.6.3 "@types/stack-utils": ^2.0.0 chalk: ^4.0.0 graceful-fs: ^4.2.9 micromatch: ^4.0.4 - pretty-format: ^29.4.3 + pretty-format: ^29.7.0 slash: ^3.0.0 stack-utils: ^2.0.3 - checksum: 64f06b9550021e68da0059020bea8691283cf818918810bb67192d7b7fb9b691c7eadf55c2ca3cd04df5394918f2327245077095cdc0d6b04be3532d2c7d0ced + checksum: a9d025b1c6726a2ff17d54cc694de088b0489456c69106be6b615db7a51b7beb66788bea7a59991a019d924fbf20f67d085a445aedb9a4d6760363f4d7d09930 languageName: node linkType: hard -"jest-mock@npm:^29.4.3": - version: 29.4.3 - resolution: "jest-mock@npm:29.4.3" +"jest-mock@npm:^29.7.0": + version: 29.7.0 + resolution: "jest-mock@npm:29.7.0" dependencies: - "@jest/types": ^29.4.3 + "@jest/types": ^29.6.3 "@types/node": "*" - jest-util: ^29.4.3 - checksum: 8eb4a29b02d2cd03faac0290b6df6d23b4ffa43f72b21c7fff3c7dd04a2797355b1e85862b70b15341dd33ee3a693b17db5520a6f6e6b81ee75601987de6a1a2 + jest-util: ^29.7.0 + checksum: 81ba9b68689a60be1482212878973700347cb72833c5e5af09895882b9eb5c4e02843a1bbdf23f94c52d42708bab53a30c45a3482952c9eec173d1eaac5b86c5 languageName: node linkType: hard @@ -9923,172 +10296,168 @@ __metadata: languageName: node linkType: hard -"jest-regex-util@npm:^29.4.3": - version: 29.4.3 - resolution: "jest-regex-util@npm:29.4.3" - checksum: 96fc7fc28cd4dd73a63c13a526202c4bd8b351d4e5b68b1a2a2c88da3308c2a16e26feaa593083eb0bac38cca1aa9dd05025412e7de013ba963fb8e66af22b8a +"jest-regex-util@npm:^29.6.3": + version: 29.6.3 + resolution: "jest-regex-util@npm:29.6.3" + checksum: 0518beeb9bf1228261695e54f0feaad3606df26a19764bc19541e0fc6e2a3737191904607fb72f3f2ce85d9c16b28df79b7b1ec9443aa08c3ef0e9efda6f8f2a languageName: node linkType: hard -"jest-resolve-dependencies@npm:^29.4.3": - version: 29.4.3 - resolution: "jest-resolve-dependencies@npm:29.4.3" +"jest-resolve-dependencies@npm:^29.7.0": + version: 29.7.0 + resolution: "jest-resolve-dependencies@npm:29.7.0" dependencies: - jest-regex-util: ^29.4.3 - jest-snapshot: ^29.4.3 - checksum: 3ad934cd2170c9658d8800f84a975dafc866ec85b7ce391c640c09c3744ced337787620d8667dc8d1fa5e0b1493f973caa1a1bb980e4e6a50b46a1720baf0bd1 + jest-regex-util: ^29.6.3 + jest-snapshot: ^29.7.0 + checksum: aeb75d8150aaae60ca2bb345a0d198f23496494677cd6aefa26fc005faf354061f073982175daaf32b4b9d86b26ca928586344516e3e6969aa614cb13b883984 languageName: node linkType: hard -"jest-resolve@npm:^29.4.3": - version: 29.4.3 - resolution: "jest-resolve@npm:29.4.3" +"jest-resolve@npm:^29.7.0": + version: 29.7.0 + resolution: "jest-resolve@npm:29.7.0" dependencies: chalk: ^4.0.0 graceful-fs: ^4.2.9 - jest-haste-map: ^29.4.3 + jest-haste-map: ^29.7.0 jest-pnp-resolver: ^1.2.2 - jest-util: ^29.4.3 - jest-validate: ^29.4.3 + jest-util: ^29.7.0 + jest-validate: ^29.7.0 resolve: ^1.20.0 resolve.exports: ^2.0.0 slash: ^3.0.0 - checksum: 056a66beccf833f3c7e5a8fc9bfec218886e87b0b103decdbdf11893669539df489d1490cd6d5f0eea35731e8be0d2e955a6710498f970d2eae734da4df029dc + checksum: 0ca218e10731aa17920526ec39deaec59ab9b966237905ffc4545444481112cd422f01581230eceb7e82d86f44a543d520a71391ec66e1b4ef1a578bd5c73487 languageName: node linkType: hard -"jest-runner@npm:^29.4.3": - version: 29.4.3 - resolution: "jest-runner@npm:29.4.3" +"jest-runner@npm:^29.7.0": + version: 29.7.0 + resolution: "jest-runner@npm:29.7.0" dependencies: - "@jest/console": ^29.4.3 - "@jest/environment": ^29.4.3 - "@jest/test-result": ^29.4.3 - "@jest/transform": ^29.4.3 - "@jest/types": ^29.4.3 + "@jest/console": ^29.7.0 + "@jest/environment": ^29.7.0 + "@jest/test-result": ^29.7.0 + "@jest/transform": ^29.7.0 + "@jest/types": ^29.6.3 "@types/node": "*" chalk: ^4.0.0 emittery: ^0.13.1 graceful-fs: ^4.2.9 - jest-docblock: ^29.4.3 - jest-environment-node: ^29.4.3 - jest-haste-map: ^29.4.3 - jest-leak-detector: ^29.4.3 - jest-message-util: ^29.4.3 - jest-resolve: ^29.4.3 - jest-runtime: ^29.4.3 - jest-util: ^29.4.3 - jest-watcher: ^29.4.3 - jest-worker: ^29.4.3 + jest-docblock: ^29.7.0 + jest-environment-node: ^29.7.0 + jest-haste-map: ^29.7.0 + jest-leak-detector: ^29.7.0 + jest-message-util: ^29.7.0 + jest-resolve: ^29.7.0 + jest-runtime: ^29.7.0 + jest-util: ^29.7.0 + jest-watcher: ^29.7.0 + jest-worker: ^29.7.0 p-limit: ^3.1.0 source-map-support: 0.5.13 - checksum: c41108e5da01e0b8fdc2a06c5042eb49bb1d8db0e0d4651769fd1b9fe84ab45188617c11a3a8e1c83748b29bfe57dd77001ec57e86e3e3c30f3534e0314f8882 + checksum: f0405778ea64812bf9b5c50b598850d94ccf95d7ba21f090c64827b41decd680ee19fcbb494007cdd7f5d0d8906bfc9eceddd8fa583e753e736ecd462d4682fb languageName: node linkType: hard -"jest-runtime@npm:^29.4.3": - version: 29.4.3 - resolution: "jest-runtime@npm:29.4.3" +"jest-runtime@npm:^29.7.0": + version: 29.7.0 + resolution: "jest-runtime@npm:29.7.0" dependencies: - "@jest/environment": ^29.4.3 - "@jest/fake-timers": ^29.4.3 - "@jest/globals": ^29.4.3 - "@jest/source-map": ^29.4.3 - "@jest/test-result": ^29.4.3 - "@jest/transform": ^29.4.3 - "@jest/types": ^29.4.3 + "@jest/environment": ^29.7.0 + "@jest/fake-timers": ^29.7.0 + "@jest/globals": ^29.7.0 + "@jest/source-map": ^29.6.3 + "@jest/test-result": ^29.7.0 + "@jest/transform": ^29.7.0 + "@jest/types": ^29.6.3 "@types/node": "*" chalk: ^4.0.0 cjs-module-lexer: ^1.0.0 collect-v8-coverage: ^1.0.0 glob: ^7.1.3 graceful-fs: ^4.2.9 - jest-haste-map: ^29.4.3 - jest-message-util: ^29.4.3 - jest-mock: ^29.4.3 - jest-regex-util: ^29.4.3 - jest-resolve: ^29.4.3 - jest-snapshot: ^29.4.3 - jest-util: ^29.4.3 + jest-haste-map: ^29.7.0 + jest-message-util: ^29.7.0 + jest-mock: ^29.7.0 + jest-regex-util: ^29.6.3 + jest-resolve: ^29.7.0 + jest-snapshot: ^29.7.0 + jest-util: ^29.7.0 slash: ^3.0.0 strip-bom: ^4.0.0 - checksum: b99f8a910d1a38e7476058ba04ad44dfd3d93e837bb7c301d691e646a1085412fde87f06fbe271c9145f0e72d89400bfa7f6994bc30d456c7742269f37d0f570 + checksum: d19f113d013e80691e07047f68e1e3448ef024ff2c6b586ce4f90cd7d4c62a2cd1d460110491019719f3c59bfebe16f0e201ed005ef9f80e2cf798c374eed54e languageName: node linkType: hard -"jest-snapshot@npm:^29.4.3": - version: 29.4.3 - resolution: "jest-snapshot@npm:29.4.3" +"jest-snapshot@npm:^29.7.0": + version: 29.7.0 + resolution: "jest-snapshot@npm:29.7.0" dependencies: "@babel/core": ^7.11.6 "@babel/generator": ^7.7.2 "@babel/plugin-syntax-jsx": ^7.7.2 "@babel/plugin-syntax-typescript": ^7.7.2 - "@babel/traverse": ^7.7.2 "@babel/types": ^7.3.3 - "@jest/expect-utils": ^29.4.3 - "@jest/transform": ^29.4.3 - "@jest/types": ^29.4.3 - "@types/babel__traverse": ^7.0.6 - "@types/prettier": ^2.1.5 + "@jest/expect-utils": ^29.7.0 + "@jest/transform": ^29.7.0 + "@jest/types": ^29.6.3 babel-preset-current-node-syntax: ^1.0.0 chalk: ^4.0.0 - expect: ^29.4.3 + expect: ^29.7.0 graceful-fs: ^4.2.9 - jest-diff: ^29.4.3 - jest-get-type: ^29.4.3 - jest-haste-map: ^29.4.3 - jest-matcher-utils: ^29.4.3 - jest-message-util: ^29.4.3 - jest-util: ^29.4.3 + jest-diff: ^29.7.0 + jest-get-type: ^29.6.3 + jest-matcher-utils: ^29.7.0 + jest-message-util: ^29.7.0 + jest-util: ^29.7.0 natural-compare: ^1.4.0 - pretty-format: ^29.4.3 - semver: ^7.3.5 - checksum: 79ba52f2435e23ce72b1309be4b17fdbcb299d1c2ce97ebb61df9a62711e9463035f63b4c849181b2fe5aa17b3e09d30ee4668cc25fb3c6f59511c010b4d9494 + pretty-format: ^29.7.0 + semver: ^7.5.3 + checksum: 86821c3ad0b6899521ce75ee1ae7b01b17e6dfeff9166f2cf17f012e0c5d8c798f30f9e4f8f7f5bed01ea7b55a6bc159f5eda778311162cbfa48785447c237ad languageName: node linkType: hard -"jest-util@npm:^29.0.0, jest-util@npm:^29.4.3, jest-util@npm:^29.5.0": - version: 29.5.0 - resolution: "jest-util@npm:29.5.0" +"jest-util@npm:^29.0.0, jest-util@npm:^29.7.0": + version: 29.7.0 + resolution: "jest-util@npm:29.7.0" dependencies: - "@jest/types": ^29.5.0 + "@jest/types": ^29.6.3 "@types/node": "*" chalk: ^4.0.0 ci-info: ^3.2.0 graceful-fs: ^4.2.9 picomatch: ^2.2.3 - checksum: fd9212950d34d2ecad8c990dda0d8ea59a8a554b0c188b53ea5d6c4a0829a64f2e1d49e6e85e812014933d17426d7136da4785f9cf76fff1799de51b88bc85d3 + checksum: 042ab4980f4ccd4d50226e01e5c7376a8556b472442ca6091a8f102488c0f22e6e8b89ea874111d2328a2080083bf3225c86f3788c52af0bd0345a00eb57a3ca languageName: node linkType: hard -"jest-validate@npm:^29.4.3": - version: 29.4.3 - resolution: "jest-validate@npm:29.4.3" +"jest-validate@npm:^29.7.0": + version: 29.7.0 + resolution: "jest-validate@npm:29.7.0" dependencies: - "@jest/types": ^29.4.3 + "@jest/types": ^29.6.3 camelcase: ^6.2.0 chalk: ^4.0.0 - jest-get-type: ^29.4.3 + jest-get-type: ^29.6.3 leven: ^3.1.0 - pretty-format: ^29.4.3 - checksum: 983e56430d86bed238448cae031535c1d908f760aa312cd4a4ec0e92f3bc1b6675415ddf57cdeceedb8ad9c698e5bcd10f0a856dfc93a8923bdecc7733f4ba80 + pretty-format: ^29.7.0 + checksum: 191fcdc980f8a0de4dbdd879fa276435d00eb157a48683af7b3b1b98b0f7d9de7ffe12689b617779097ff1ed77601b9f7126b0871bba4f776e222c40f62e9dae languageName: node linkType: hard -"jest-watcher@npm:^29.4.3": - version: 29.4.3 - resolution: "jest-watcher@npm:29.4.3" +"jest-watcher@npm:^29.7.0": + version: 29.7.0 + resolution: "jest-watcher@npm:29.7.0" dependencies: - "@jest/test-result": ^29.4.3 - "@jest/types": ^29.4.3 + "@jest/test-result": ^29.7.0 + "@jest/types": ^29.6.3 "@types/node": "*" ansi-escapes: ^4.2.1 chalk: ^4.0.0 emittery: ^0.13.1 - jest-util: ^29.4.3 + jest-util: ^29.7.0 string-length: ^4.0.1 - checksum: 44b64991b3414db853c3756f14690028f4edef7aebfb204a4291cc1901c2239fa27a8687c5c5abbecc74bf613e0bb9b1378bf766430c9febcc71e9c0cb5ad8fc + checksum: 67e6e7fe695416deff96b93a14a561a6db69389a0667e9489f24485bb85e5b54e12f3b2ba511ec0b777eca1e727235b073e3ebcdd473d68888650489f88df92f languageName: node linkType: hard @@ -10103,26 +10472,26 @@ __metadata: languageName: node linkType: hard -"jest-worker@npm:^29.1.2, jest-worker@npm:^29.4.3, jest-worker@npm:^29.5.0": - version: 29.5.0 - resolution: "jest-worker@npm:29.5.0" +"jest-worker@npm:^29.1.2, jest-worker@npm:^29.7.0": + version: 29.7.0 + resolution: "jest-worker@npm:29.7.0" dependencies: "@types/node": "*" - jest-util: ^29.5.0 + jest-util: ^29.7.0 merge-stream: ^2.0.0 supports-color: ^8.0.0 - checksum: 1151a1ae3602b1ea7c42a8f1efe2b5a7bf927039deaa0827bf978880169899b705744e288f80a63603fb3fc2985e0071234986af7dc2c21c7a64333d8777c7c9 + checksum: 30fff60af49675273644d408b650fc2eb4b5dcafc5a0a455f238322a8f9d8a98d847baca9d51ff197b6747f54c7901daa2287799230b856a0f48287d131f8c13 languageName: node linkType: hard -"jest@npm:29.4.3": - version: 29.4.3 - resolution: "jest@npm:29.4.3" +"jest@npm:29.7.0": + version: 29.7.0 + resolution: "jest@npm:29.7.0" dependencies: - "@jest/core": ^29.4.3 - "@jest/types": ^29.4.3 + "@jest/core": ^29.7.0 + "@jest/types": ^29.6.3 import-local: ^3.0.2 - jest-cli: ^29.4.3 + jest-cli: ^29.7.0 peerDependencies: node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 peerDependenciesMeta: @@ -10130,7 +10499,7 @@ __metadata: optional: true bin: jest: bin/jest.js - checksum: 084d10d1ceaade3c40e6d3bbd71b9b71b8919ba6fbd6f1f6699bdc259a6ba2f7350c7ccbfa10c11f7e3e01662853650a6244210179542fe4ba87e77dc3f3109f + checksum: 17ca8d67504a7dbb1998cf3c3077ec9031ba3eb512da8d71cb91bcabb2b8995c4e4b292b740cb9bf1cbff5ce3e110b3f7c777b0cefb6f41ab05445f248d0ee0b languageName: node linkType: hard @@ -10147,13 +10516,6 @@ __metadata: languageName: node linkType: hard -"js-sdsl@npm:^4.1.4": - version: 4.3.0 - resolution: "js-sdsl@npm:4.3.0" - checksum: ce908257cf6909e213af580af3a691a736f5ee8b16315454768f917a682a4ea0c11bde1b241bbfaecedc0eb67b72101b2c2df2ffaed32aed5d539fca816f054e - languageName: node - linkType: hard - "js-tokens@npm:^3.0.0 || ^4.0.0, js-tokens@npm:^4.0.0": version: 4.0.0 resolution: "js-tokens@npm:4.0.0" @@ -10209,6 +10571,13 @@ __metadata: languageName: node linkType: hard +"json-buffer@npm:3.0.1": + version: 3.0.1 + resolution: "json-buffer@npm:3.0.1" + checksum: 9026b03edc2847eefa2e37646c579300a1f3a4586cfb62bf857832b60c852042d0d6ae55d1afb8926163fa54c2b01d83ae24705f34990348bdac6273a29d4581 + languageName: node + linkType: hard + "json-parse-even-better-errors@npm:^2.3.0, json-parse-even-better-errors@npm:^2.3.1": version: 2.3.1 resolution: "json-parse-even-better-errors@npm:2.3.1" @@ -10259,14 +10628,14 @@ __metadata: languageName: node linkType: hard -"json5@npm:^1.0.1": - version: 1.0.1 - resolution: "json5@npm:1.0.1" +"json5@npm:^1.0.2": + version: 1.0.2 + resolution: "json5@npm:1.0.2" dependencies: minimist: ^1.2.0 bin: json5: lib/cli.js - checksum: e76ea23dbb8fc1348c143da628134a98adf4c5a4e8ea2adaa74a80c455fc2cdf0e2e13e6398ef819bfe92306b610ebb2002668ed9fc1af386d593691ef346fc3 + checksum: 866458a8c58a95a49bef3adba929c625e82532bcff1fe93f01d29cb02cac7c3fe1f4b79951b7792c2da9de0b32871a8401a6e3c5b36778ad852bf5b8a61165d7 languageName: node linkType: hard @@ -10346,6 +10715,15 @@ __metadata: languageName: node linkType: hard +"keyv@npm:^4.5.3": + version: 4.5.4 + resolution: "keyv@npm:4.5.4" + dependencies: + json-buffer: 3.0.1 + checksum: 74a24395b1c34bd44ad5cb2b49140d087553e170625240b86755a6604cd65aa16efdbdeae5cdb17ba1284a0fbb25ad06263755dbc71b8d8b06f74232ce3cdd72 + languageName: node + linkType: hard + "kind-of@npm:^6.0.0, kind-of@npm:^6.0.2": version: 6.0.3 resolution: "kind-of@npm:6.0.3" @@ -10477,6 +10855,15 @@ __metadata: languageName: node linkType: hard +"locate-path@npm:^7.1.0": + version: 7.2.0 + resolution: "locate-path@npm:7.2.0" + dependencies: + p-locate: ^6.0.0 + checksum: c1b653bdf29beaecb3d307dfb7c44d98a2a98a02ebe353c9ad055d1ac45d6ed4e1142563d222df9b9efebc2bcb7d4c792b507fad9e7150a04c29530b7db570f8 + languageName: node + linkType: hard + "lodash.camelcase@npm:4.3.0": version: 4.3.0 resolution: "lodash.camelcase@npm:4.3.0" @@ -10702,12 +11089,12 @@ __metadata: languageName: node linkType: hard -"marked@npm:^4.2.12": - version: 4.2.12 - resolution: "marked@npm:4.2.12" +"marked@npm:^4.3.0": + version: 4.3.0 + resolution: "marked@npm:4.3.0" bin: marked: bin/marked.js - checksum: bd551cd61028ee639d4ca2ccdfcc5a6ba4227c1b143c4538f3cde27f569dcb57df8e6313560394645b418b84a7336c07ab1e438b89b6324c29d7d8cdd3102d63 + checksum: 0db6817893952c3ec710eb9ceafb8468bf5ae38cb0f92b7b083baa13d70b19774674be04db5b817681fa7c5c6a088f61300815e4dd75a59696f4716ad69f6260 languageName: node linkType: hard @@ -10875,6 +11262,13 @@ __metadata: languageName: node linkType: hard +"mimic-fn@npm:^4.0.0": + version: 4.0.0 + resolution: "mimic-fn@npm:4.0.0" + checksum: 995dcece15ee29aa16e188de6633d43a3db4611bcf93620e7e62109ec41c79c0f34277165b8ce5e361205049766e371851264c21ac64ca35499acb5421c2ba56 + languageName: node + linkType: hard + "mimic-response@npm:^1.0.0, mimic-response@npm:^1.0.1": version: 1.0.1 resolution: "mimic-response@npm:1.0.1" @@ -10918,12 +11312,12 @@ __metadata: languageName: node linkType: hard -"minimatch@npm:^6.1.6": - version: 6.2.0 - resolution: "minimatch@npm:6.2.0" +"minimatch@npm:^9.0.3": + version: 9.0.3 + resolution: "minimatch@npm:9.0.3" dependencies: brace-expansion: ^2.0.1 - checksum: 0ffb77d05bd483fcc344ba3e64a501d569e658fa6c592d94e9716ffc7925de7a8c2ac294cafa822b160bd8b2cbf7e01012917e06ffb9a85cfa9604629b3f2c04 + checksum: 253487976bf485b612f16bf57463520a14f512662e592e95c571afdab1442a6a6864b6c88f248ce6fc4ff0b6de04ac7aa6c8bb51e868e99d1d65eb0658a708b5 languageName: node linkType: hard @@ -11069,13 +11463,6 @@ __metadata: languageName: node linkType: hard -"natural-compare-lite@npm:^1.4.0": - version: 1.4.0 - resolution: "natural-compare-lite@npm:1.4.0" - checksum: 5222ac3986a2b78dd6069ac62cbb52a7bf8ffc90d972ab76dfe7b01892485d229530ed20d0c62e79a6b363a663b273db3bde195a1358ce9e5f779d4453887225 - languageName: node - linkType: hard - "natural-compare@npm:^1.4.0": version: 1.4.0 resolution: "natural-compare@npm:1.4.0" @@ -11130,20 +11517,6 @@ __metadata: languageName: node linkType: hard -"node-fetch@npm:^2.6.9": - version: 2.6.11 - resolution: "node-fetch@npm:2.6.11" - dependencies: - whatwg-url: ^5.0.0 - peerDependencies: - encoding: ^0.1.0 - peerDependenciesMeta: - encoding: - optional: true - checksum: 249d0666a9497553384d46b5ab296ba223521ac88fed4d8a17d6ee6c2efb0fc890f3e8091cafe7f9fba8151a5b8d925db2671543b3409a56c3cd522b468b47b3 - languageName: node - linkType: hard - "node-forge@npm:^1": version: 1.3.1 resolution: "node-forge@npm:1.3.1" @@ -11233,6 +11606,15 @@ __metadata: languageName: node linkType: hard +"npm-run-path@npm:^5.1.0": + version: 5.1.0 + resolution: "npm-run-path@npm:5.1.0" + dependencies: + path-key: ^4.0.0 + checksum: dc184eb5ec239d6a2b990b43236845332ef12f4e0beaa9701de724aa797fe40b6bbd0157fb7639d24d3ab13f5d5cf22d223a19c6300846b8126f335f788bee66 + languageName: node + linkType: hard + "npmlog@npm:^6.0.0": version: 6.0.2 resolution: "npmlog@npm:6.0.2" @@ -11268,10 +11650,10 @@ __metadata: languageName: node linkType: hard -"object-inspect@npm:^1.12.2, object-inspect@npm:^1.9.0": - version: 1.12.3 - resolution: "object-inspect@npm:1.12.3" - checksum: dabfd824d97a5f407e6d5d24810d888859f6be394d8b733a77442b277e0808860555176719c5905e765e3743a7cada6b8b0a3b85e5331c530fd418cc8ae991db +"object-inspect@npm:^1.13.1, object-inspect@npm:^1.9.0": + version: 1.13.1 + resolution: "object-inspect@npm:1.13.1" + checksum: 7d9fa9221de3311dcb5c7c307ee5dc011cdd31dc43624b7c184b3840514e118e05ef0002be5388304c416c0eb592feb46e983db12577fc47e47d5752fbbfb61f languageName: node linkType: hard @@ -11305,14 +11687,26 @@ __metadata: languageName: node linkType: hard -"object.fromentries@npm:^2.0.6": - version: 2.0.6 - resolution: "object.fromentries@npm:2.0.6" +"object.fromentries@npm:^2.0.6, object.fromentries@npm:^2.0.7": + version: 2.0.7 + resolution: "object.fromentries@npm:2.0.7" dependencies: call-bind: ^1.0.2 - define-properties: ^1.1.4 - es-abstract: ^1.20.4 - checksum: 453c6d694180c0c30df451b60eaf27a5b9bca3fb43c37908fd2b78af895803dc631242bcf05582173afa40d8d0e9c96e16e8874b39471aa53f3ac1f98a085d85 + define-properties: ^1.2.0 + es-abstract: ^1.22.1 + checksum: 7341ce246e248b39a431b87a9ddd331ff52a454deb79afebc95609f94b1f8238966cf21f52188f2a353f0fdf83294f32f1ebf1f7826aae915ebad21fd0678065 + languageName: node + linkType: hard + +"object.groupby@npm:^1.0.1": + version: 1.0.1 + resolution: "object.groupby@npm:1.0.1" + dependencies: + call-bind: ^1.0.2 + define-properties: ^1.2.0 + es-abstract: ^1.22.1 + get-intrinsic: ^1.2.1 + checksum: d7959d6eaaba358b1608066fc67ac97f23ce6f573dc8fc661f68c52be165266fcb02937076aedb0e42722fdda0bdc0bbf74778196ac04868178888e9fd3b78b5 languageName: node linkType: hard @@ -11326,14 +11720,14 @@ __metadata: languageName: node linkType: hard -"object.values@npm:^1.1.6": - version: 1.1.6 - resolution: "object.values@npm:1.1.6" +"object.values@npm:^1.1.6, object.values@npm:^1.1.7": + version: 1.1.7 + resolution: "object.values@npm:1.1.7" dependencies: call-bind: ^1.0.2 - define-properties: ^1.1.4 - es-abstract: ^1.20.4 - checksum: f6fff9fd817c24cfd8107f50fb33061d81cd11bacc4e3dbb3852e9ff7692fde4dbce823d4333ea27cd9637ef1b6690df5fbb61f1ed314fa2959598dc3ae23d8e + define-properties: ^1.2.0 + es-abstract: ^1.22.1 + checksum: f3e4ae4f21eb1cc7cebb6ce036d4c67b36e1c750428d7b7623c56a0db90edced63d08af8a316d81dfb7c41a3a5fa81b05b7cc9426e98d7da986b1682460f0777 languageName: node linkType: hard @@ -11378,6 +11772,15 @@ __metadata: languageName: node linkType: hard +"onetime@npm:^6.0.0": + version: 6.0.0 + resolution: "onetime@npm:6.0.0" + dependencies: + mimic-fn: ^4.0.0 + checksum: 0846ce78e440841335d4e9182ef69d5762e9f38aa7499b19f42ea1c4cd40f0b4446094c455c713f9adac3f4ae86f613bb5e30c99e52652764d06a89f709b3788 + languageName: node + linkType: hard + "open@npm:^8.0.9, open@npm:^8.4.0": version: 8.4.2 resolution: "open@npm:8.4.2" @@ -11389,6 +11792,18 @@ __metadata: languageName: node linkType: hard +"open@npm:^9.1.0": + version: 9.1.0 + resolution: "open@npm:9.1.0" + dependencies: + default-browser: ^4.0.0 + define-lazy-prop: ^3.0.0 + is-inside-container: ^1.0.0 + is-wsl: ^2.2.0 + checksum: 3993c0f61d51fed8ac290e99c9c3cf45d3b6cfb3e2aa2b74cafd312c3486c22fd81df16ac8f3ab91dd8a4e3e729a16fc2480cfc406c4833416cf908acf1ae7c9 + languageName: node + linkType: hard + "opener@npm:^1.5.2": version: 1.5.2 resolution: "opener@npm:1.5.2" @@ -11398,17 +11813,17 @@ __metadata: languageName: node linkType: hard -"optionator@npm:^0.9.1": - version: 0.9.1 - resolution: "optionator@npm:0.9.1" +"optionator@npm:^0.9.3": + version: 0.9.3 + resolution: "optionator@npm:0.9.3" dependencies: + "@aashutoshrathi/word-wrap": ^1.2.3 deep-is: ^0.1.3 fast-levenshtein: ^2.0.6 levn: ^0.4.1 prelude-ls: ^1.2.1 type-check: ^0.4.0 - word-wrap: ^1.2.3 - checksum: dbc6fa065604b24ea57d734261914e697bd73b69eff7f18e967e8912aa2a40a19a9f599a507fa805be6c13c24c4eae8c71306c239d517d42d4c041c942f508a0 + checksum: 09281999441f2fe9c33a5eeab76700795365a061563d66b098923eb719251a42bdbe432790d35064d0816ead9296dbeb1ad51a733edf4167c96bd5d0882e428a languageName: node linkType: hard @@ -11437,6 +11852,15 @@ __metadata: languageName: node linkType: hard +"p-limit@npm:^4.0.0": + version: 4.0.0 + resolution: "p-limit@npm:4.0.0" + dependencies: + yocto-queue: ^1.0.0 + checksum: 01d9d70695187788f984226e16c903475ec6a947ee7b21948d6f597bed788e3112cc7ec2e171c1d37125057a5f45f3da21d8653e04a3a793589e12e9e80e756b + languageName: node + linkType: hard + "p-locate@npm:^3.0.0": version: 3.0.0 resolution: "p-locate@npm:3.0.0" @@ -11464,6 +11888,15 @@ __metadata: languageName: node linkType: hard +"p-locate@npm:^6.0.0": + version: 6.0.0 + resolution: "p-locate@npm:6.0.0" + dependencies: + p-limit: ^4.0.0 + checksum: 2bfe5234efa5e7a4e74b30a5479a193fdd9236f8f6b4d2f3f69e3d286d9a7d7ab0c118a2a50142efcf4e41625def635bd9332d6cbf9cc65d85eb0718c579ab38 + languageName: node + linkType: hard + "p-map@npm:^4.0.0": version: 4.0.0 resolution: "p-map@npm:4.0.0" @@ -11627,6 +12060,13 @@ __metadata: languageName: node linkType: hard +"path-exists@npm:^5.0.0": + version: 5.0.0 + resolution: "path-exists@npm:5.0.0" + checksum: 8ca842868cab09423994596eb2c5ec2a971c17d1a3cb36dbf060592c730c725cd524b9067d7d2a1e031fef9ba7bd2ac6dc5ec9fb92aa693265f7be3987045254 + languageName: node + linkType: hard + "path-is-absolute@npm:^1.0.0": version: 1.0.1 resolution: "path-is-absolute@npm:1.0.1" @@ -11648,6 +12088,13 @@ __metadata: languageName: node linkType: hard +"path-key@npm:^4.0.0": + version: 4.0.0 + resolution: "path-key@npm:4.0.0" + checksum: 8e6c314ae6d16b83e93032c61020129f6f4484590a777eed709c4a01b50e498822b00f76ceaf94bc64dbd90b327df56ceadce27da3d83393790f1219e07721d7 + languageName: node + linkType: hard + "path-parse@npm:^1.0.7": version: 1.0.7 resolution: "path-parse@npm:1.0.7" @@ -12199,21 +12646,12 @@ __metadata: languageName: node linkType: hard -"prettier@npm:2.8.4": - version: 2.8.4 - resolution: "prettier@npm:2.8.4" - bin: - prettier: bin-prettier.js - checksum: c173064bf3df57b6d93d19aa98753b9b9dd7657212e33b41ada8e2e9f9884066bb9ca0b4005b89b3ab137efffdf8fbe0b462785aba20364798ff4303aadda57e - languageName: node - linkType: hard - -"prettier@npm:^2.8.4": - version: 2.8.8 - resolution: "prettier@npm:2.8.8" +"prettier@npm:3.1.0": + version: 3.1.0 + resolution: "prettier@npm:3.1.0" bin: - prettier: bin-prettier.js - checksum: b49e409431bf129dd89238d64299ba80717b57ff5a6d1c1a8b1a28b590d998a34e083fa13573bc732bb8d2305becb4c9a4407f8486c81fa7d55100eb08263cf8 + prettier: bin/prettier.cjs + checksum: 44b556bd56f74d7410974fbb2418bb4e53a894d3e7b42f6f87779f69f27a6c272fa7fc27cec0118cd11730ef3246478052e002cbd87e9a253f9cd04a56aa7d9b languageName: node linkType: hard @@ -12227,14 +12665,14 @@ __metadata: languageName: node linkType: hard -"pretty-format@npm:^29.0.0, pretty-format@npm:^29.4.3": - version: 29.4.3 - resolution: "pretty-format@npm:29.4.3" +"pretty-format@npm:^29.0.0, pretty-format@npm:^29.7.0": + version: 29.7.0 + resolution: "pretty-format@npm:29.7.0" dependencies: - "@jest/schemas": ^29.4.3 + "@jest/schemas": ^29.6.3 ansi-styles: ^5.0.0 react-is: ^18.0.0 - checksum: 3258b9a010bd79b3cf73783ad1e4592b6326fc981b6e31b742f316f14e7fbac09b48a9dbf274d092d9bde404db9fe16f518370e121837dc078a597392e6e5cc5 + checksum: 032c1602383e71e9c0c02a01bbd25d6759d60e9c7cf21937dde8357aa753da348fcec5def5d1002c9678a8524d5fe099ad98861286550ef44de8808cc61e43b6 languageName: node linkType: hard @@ -12428,6 +12866,13 @@ __metadata: languageName: node linkType: hard +"pure-rand@npm:^6.0.0": + version: 6.0.4 + resolution: "pure-rand@npm:6.0.4" + checksum: e1c4e69f8bf7303e5252756d67c3c7551385cd34d94a1f511fe099727ccbab74c898c03a06d4c4a24a89b51858781057b83ebbfe740d984240cdc04fead36068 + languageName: node + linkType: hard + "qs@npm:6.11.0": version: 6.11.0 resolution: "qs@npm:6.11.0" @@ -12768,6 +13213,20 @@ __metadata: languageName: node linkType: hard +"reflect.getprototypeof@npm:^1.0.4": + version: 1.0.4 + resolution: "reflect.getprototypeof@npm:1.0.4" + dependencies: + call-bind: ^1.0.2 + define-properties: ^1.2.0 + es-abstract: ^1.22.1 + get-intrinsic: ^1.2.1 + globalthis: ^1.0.3 + which-builtin-type: ^1.1.3 + checksum: 16e2361988dbdd23274b53fb2b1b9cefeab876c3941a2543b4cadac6f989e3db3957b07a44aac46cfceb3e06e2871785ec2aac992d824f76292f3b5ee87f66f2 + languageName: node + linkType: hard + "regenerate-unicode-properties@npm:^10.1.0": version: 10.1.0 resolution: "regenerate-unicode-properties@npm:10.1.0" @@ -12800,18 +13259,18 @@ __metadata: languageName: node linkType: hard -"regexp.prototype.flags@npm:^1.4.3": - version: 1.4.3 - resolution: "regexp.prototype.flags@npm:1.4.3" +"regexp.prototype.flags@npm:^1.4.3, regexp.prototype.flags@npm:^1.5.1": + version: 1.5.1 + resolution: "regexp.prototype.flags@npm:1.5.1" dependencies: call-bind: ^1.0.2 - define-properties: ^1.1.3 - functions-have-names: ^1.2.2 - checksum: 51228bae732592adb3ededd5e15426be25f289e9c4ef15212f4da73f4ec3919b6140806374b8894036a86020d054a8d2657d3fee6bb9b4d35d8939c20030b7a6 + define-properties: ^1.2.0 + set-function-name: ^2.0.0 + checksum: 869edff00288442f8d7fa4c9327f91d85f3b3acf8cbbef9ea7a220345cf23e9241b6def9263d2c1ebcf3a316b0aa52ad26a43a84aa02baca3381717b3e307f47 languageName: node linkType: hard -"regexpp@npm:^3.0.0, regexpp@npm:^3.2.0": +"regexpp@npm:^3.0.0": version: 3.2.0 resolution: "regexpp@npm:3.2.0" checksum: a78dc5c7158ad9ddcfe01aa9144f46e192ddbfa7b263895a70a5c6c73edd9ce85faf7c0430e59ac38839e1734e275b9c3de5c57ee3ab6edc0e0b1bdebefccef8 @@ -13006,15 +13465,6 @@ __metadata: languageName: node linkType: hard -"resolve-global@npm:^1.0.0": - version: 1.0.0 - resolution: "resolve-global@npm:1.0.0" - dependencies: - global-dirs: ^0.1.1 - checksum: c4e11d33e84bde7516b824503ffbe4b6cce863d5ce485680fd3db997b7c64da1df98321b1fd0703b58be8bc9bc83bc96bd83043f96194386b45eb47229efb6b6 - languageName: node - linkType: hard - "resolve-pathname@npm:^3.0.0": version: 3.0.0 resolution: "resolve-pathname@npm:3.0.0" @@ -13029,16 +13479,16 @@ __metadata: languageName: node linkType: hard -"resolve@npm:^1.1.6, resolve@npm:^1.14.2, resolve@npm:^1.20.0, resolve@npm:^1.22.1, resolve@npm:^1.3.2": - version: 1.22.3 - resolution: "resolve@npm:1.22.3" +"resolve@npm:^1.1.6, resolve@npm:^1.14.2, resolve@npm:^1.20.0, resolve@npm:^1.22.4, resolve@npm:^1.3.2": + version: 1.22.8 + resolution: "resolve@npm:1.22.8" dependencies: - is-core-module: ^2.12.0 + is-core-module: ^2.13.0 path-parse: ^1.0.7 supports-preserve-symlinks-flag: ^1.0.0 bin: resolve: bin/resolve - checksum: fb834b81348428cb545ff1b828a72ea28feb5a97c026a1cf40aa1008352c72811ff4d4e71f2035273dc536dcfcae20c13604ba6283c612d70fa0b6e44519c374 + checksum: f8a26958aa572c9b064562750b52131a37c29d072478ea32e129063e2da7f83e31f7f11e7087a18225a8561cfe8d2f0df9dbea7c9d331a897571c0a2527dbb4c languageName: node linkType: hard @@ -13055,16 +13505,16 @@ __metadata: languageName: node linkType: hard -"resolve@patch:resolve@^1.1.6#~builtin, resolve@patch:resolve@^1.14.2#~builtin, resolve@patch:resolve@^1.20.0#~builtin, resolve@patch:resolve@^1.22.1#~builtin, resolve@patch:resolve@^1.3.2#~builtin": - version: 1.22.3 - resolution: "resolve@patch:resolve@npm%3A1.22.3#~builtin::version=1.22.3&hash=c3c19d" +"resolve@patch:resolve@^1.1.6#~builtin, resolve@patch:resolve@^1.14.2#~builtin, resolve@patch:resolve@^1.20.0#~builtin, resolve@patch:resolve@^1.22.4#~builtin, resolve@patch:resolve@^1.3.2#~builtin": + version: 1.22.8 + resolution: "resolve@patch:resolve@npm%3A1.22.8#~builtin::version=1.22.8&hash=c3c19d" dependencies: - is-core-module: ^2.12.0 + is-core-module: ^2.13.0 path-parse: ^1.0.7 supports-preserve-symlinks-flag: ^1.0.0 bin: resolve: bin/resolve - checksum: ad59734723b596d0891321c951592ed9015a77ce84907f89c9d9307dd0c06e11a67906a3e628c4cae143d3e44898603478af0ddeb2bba3f229a9373efe342665 + checksum: 5479b7d431cacd5185f8db64bfcb7286ae5e31eb299f4c4f404ad8aa6098b77599563ac4257cb2c37a42f59dfc06a1bec2bcf283bb448f319e37f0feb9a09847 languageName: node linkType: hard @@ -13136,9 +13586,10 @@ __metadata: version: 0.0.0-use.local resolution: "root-workspace-0b6124@workspace:." dependencies: - cspell: ^6.26.3 - prettier: ^2.8.4 - typedoc: ^0.23.25 + cspell: 8.0.0 + prettier: 3.1.0 + typedoc: 0.25.3 + typescript: 5.2.2 languageName: unknown linkType: soft @@ -13163,6 +13614,15 @@ __metadata: languageName: node linkType: hard +"run-applescript@npm:^5.0.0": + version: 5.0.0 + resolution: "run-applescript@npm:5.0.0" + dependencies: + execa: ^5.0.0 + checksum: d00c2dbfa5b2d774de7451194b8b125f40f65fc183de7d9dcae97f57f59433586d3c39b9001e111c38bfa24c3436c99df1bb4066a2a0c90d39a8c4cd6889af77 + languageName: node + linkType: hard + "run-parallel@npm:^1.1.9": version: 1.2.0 resolution: "run-parallel@npm:1.2.0" @@ -13181,6 +13641,18 @@ __metadata: languageName: node linkType: hard +"safe-array-concat@npm:^1.0.1": + version: 1.0.1 + resolution: "safe-array-concat@npm:1.0.1" + dependencies: + call-bind: ^1.0.2 + get-intrinsic: ^1.2.1 + has-symbols: ^1.0.3 + isarray: ^2.0.5 + checksum: 001ecf1d8af398251cbfabaf30ed66e3855127fbceee178179524b24160b49d15442f94ed6c0db0b2e796da76bb05b73bf3cc241490ec9c2b741b41d33058581 + languageName: node + linkType: hard + "safe-buffer@npm:5.1.2, safe-buffer@npm:~5.1.0, safe-buffer@npm:~5.1.1": version: 5.1.2 resolution: "safe-buffer@npm:5.1.2" @@ -13310,17 +13782,6 @@ __metadata: languageName: node linkType: hard -"semver@npm:7.x, semver@npm:^7.3.2, semver@npm:^7.3.4, semver@npm:^7.3.5, semver@npm:^7.3.7, semver@npm:^7.3.8": - version: 7.5.1 - resolution: "semver@npm:7.5.1" - dependencies: - lru-cache: ^6.0.0 - bin: - semver: bin/semver.js - checksum: d16dbedad53c65b086f79524b9ef766bf38670b2395bdad5c957f824dcc566b624988013564f4812bcace3f9d405355c3635e2007396a39d1bffc71cfec4a2fc - languageName: node - linkType: hard - "semver@npm:^5.4.1": version: 5.7.1 resolution: "semver@npm:5.7.1" @@ -13330,12 +13791,23 @@ __metadata: languageName: node linkType: hard -"semver@npm:^6.0.0, semver@npm:^6.1.1, semver@npm:^6.1.2, semver@npm:^6.2.0, semver@npm:^6.3.0": - version: 6.3.0 - resolution: "semver@npm:6.3.0" +"semver@npm:^6.0.0, semver@npm:^6.1.1, semver@npm:^6.1.2, semver@npm:^6.2.0, semver@npm:^6.3.0, semver@npm:^6.3.1": + version: 6.3.1 + resolution: "semver@npm:6.3.1" + bin: + semver: bin/semver.js + checksum: ae47d06de28836adb9d3e25f22a92943477371292d9b665fb023fae278d345d508ca1958232af086d85e0155aee22e313e100971898bbb8d5d89b8b1d4054ca2 + languageName: node + linkType: hard + +"semver@npm:^7.3.2, semver@npm:^7.3.4, semver@npm:^7.3.5, semver@npm:^7.3.7, semver@npm:^7.3.8, semver@npm:^7.5.3, semver@npm:^7.5.4": + version: 7.5.4 + resolution: "semver@npm:7.5.4" + dependencies: + lru-cache: ^6.0.0 bin: - semver: ./bin/semver.js - checksum: 1b26ecf6db9e8292dd90df4e781d91875c0dcc1b1909e70f5d12959a23c7eebb8f01ea581c00783bbee72ceeaad9505797c381756326073850dc36ed284b21b9 + semver: bin/semver.js + checksum: 12d8ad952fa353b0995bf180cdac205a4068b759a140e5d3c608317098b3575ac2f1e09182206bf2eb26120e1c0ed8fb92c48c592f6099680de56bb071423ca3 languageName: node linkType: hard @@ -13419,6 +13891,29 @@ __metadata: languageName: node linkType: hard +"set-function-length@npm:^1.1.1": + version: 1.1.1 + resolution: "set-function-length@npm:1.1.1" + dependencies: + define-data-property: ^1.1.1 + get-intrinsic: ^1.2.1 + gopd: ^1.0.1 + has-property-descriptors: ^1.0.0 + checksum: c131d7569cd7e110cafdfbfbb0557249b538477624dfac4fc18c376d879672fa52563b74029ca01f8f4583a8acb35bb1e873d573a24edb80d978a7ee607c6e06 + languageName: node + linkType: hard + +"set-function-name@npm:^2.0.0, set-function-name@npm:^2.0.1": + version: 2.0.1 + resolution: "set-function-name@npm:2.0.1" + dependencies: + define-data-property: ^1.0.1 + functions-have-names: ^1.2.3 + has-property-descriptors: ^1.0.0 + checksum: 4975d17d90c40168eee2c7c9c59d023429f0a1690a89d75656306481ece0c3c1fb1ebcc0150ea546d1913e35fbd037bace91372c69e543e51fc5d1f31a9fa126 + languageName: node + linkType: hard + "setimmediate@npm:^1.0.5": version: 1.0.5 resolution: "setimmediate@npm:1.0.5" @@ -13808,25 +14303,36 @@ __metadata: languageName: node linkType: hard -"string.prototype.trimend@npm:^1.0.6": - version: 1.0.6 - resolution: "string.prototype.trimend@npm:1.0.6" +"string.prototype.trim@npm:^1.2.8": + version: 1.2.8 + resolution: "string.prototype.trim@npm:1.2.8" dependencies: call-bind: ^1.0.2 - define-properties: ^1.1.4 - es-abstract: ^1.20.4 - checksum: 0fdc34645a639bd35179b5a08227a353b88dc089adf438f46be8a7c197fc3f22f8514c1c9be4629b3cd29c281582730a8cbbad6466c60f76b5f99cf2addb132e + define-properties: ^1.2.0 + es-abstract: ^1.22.1 + checksum: 49eb1a862a53aba73c3fb6c2a53f5463173cb1f4512374b623bcd6b43ad49dd559a06fb5789bdec771a40fc4d2a564411c0a75d35fb27e76bbe738c211ecff07 languageName: node linkType: hard -"string.prototype.trimstart@npm:^1.0.6": - version: 1.0.6 - resolution: "string.prototype.trimstart@npm:1.0.6" +"string.prototype.trimend@npm:^1.0.7": + version: 1.0.7 + resolution: "string.prototype.trimend@npm:1.0.7" dependencies: call-bind: ^1.0.2 - define-properties: ^1.1.4 - es-abstract: ^1.20.4 - checksum: 89080feef416621e6ef1279588994305477a7a91648d9436490d56010a1f7adc39167cddac7ce0b9884b8cdbef086987c4dcb2960209f2af8bac0d23ceff4f41 + define-properties: ^1.2.0 + es-abstract: ^1.22.1 + checksum: 2375516272fd1ba75992f4c4aa88a7b5f3c7a9ca308d963bcd5645adf689eba6f8a04ebab80c33e30ec0aefc6554181a3a8416015c38da0aa118e60ec896310c + languageName: node + linkType: hard + +"string.prototype.trimstart@npm:^1.0.7": + version: 1.0.7 + resolution: "string.prototype.trimstart@npm:1.0.7" + dependencies: + call-bind: ^1.0.2 + define-properties: ^1.2.0 + es-abstract: ^1.22.1 + checksum: 13d0c2cb0d5ff9e926fa0bec559158b062eed2b68cd5be777ffba782c96b2b492944e47057274e064549b94dd27cf81f48b27a31fee8af5b574cff253e7eb613 languageName: node linkType: hard @@ -13868,12 +14374,12 @@ __metadata: languageName: node linkType: hard -"strip-ansi@npm:^7.0.1": - version: 7.0.1 - resolution: "strip-ansi@npm:7.0.1" +"strip-ansi@npm:^7.0.1, strip-ansi@npm:^7.1.0": + version: 7.1.0 + resolution: "strip-ansi@npm:7.1.0" dependencies: ansi-regex: ^6.0.1 - checksum: 257f78fa433520e7f9897722731d78599cb3fce29ff26a20a5e12ba4957463b50a01136f37c43707f4951817a75e90820174853d6ccc240997adc5df8f966039 + checksum: 859c73fcf27869c22a4e4d8c6acfe690064659e84bef9458aa6d13719d09ca88dcfd40cbf31fd0be63518ea1a643fe070b4827d353e09533a5b0b9fd4553d64d languageName: node linkType: hard @@ -13905,7 +14411,14 @@ __metadata: languageName: node linkType: hard -"strip-json-comments@npm:^3.1.0, strip-json-comments@npm:^3.1.1": +"strip-final-newline@npm:^3.0.0": + version: 3.0.0 + resolution: "strip-final-newline@npm:3.0.0" + checksum: 23ee263adfa2070cd0f23d1ac14e2ed2f000c9b44229aec9c799f1367ec001478469560abefd00c5c99ee6f0b31c137d53ec6029c53e9f32a93804e18c201050 + languageName: node + linkType: hard + +"strip-json-comments@npm:^3.1.1": version: 3.1.1 resolution: "strip-json-comments@npm:3.1.1" checksum: 492f73e27268f9b1c122733f28ecb0e7e8d8a531a6662efbd08e22cccb3f9475e90a1b82cab06a392f6afae6d2de636f977e231296400d0ec5304ba70f166443 @@ -13998,6 +14511,16 @@ __metadata: languageName: node linkType: hard +"synckit@npm:^0.8.5": + version: 0.8.5 + resolution: "synckit@npm:0.8.5" + dependencies: + "@pkgr/utils": ^2.3.1 + tslib: ^2.5.0 + checksum: 8a9560e5d8f3d94dc3cf5f7b9c83490ffa30d320093560a37b88f59483040771fd1750e76b9939abfbb1b5a23fd6dfbae77f6b338abffe7cae7329cd9b9bb86b + languageName: node + linkType: hard + "tapable@npm:^1.0.0": version: 1.1.3 resolution: "tapable@npm:1.1.3" @@ -14101,6 +14624,13 @@ __metadata: languageName: node linkType: hard +"titleize@npm:^3.0.0": + version: 3.0.0 + resolution: "titleize@npm:3.0.0" + checksum: 71fbbeabbfb36ccd840559f67f21e356e1d03da2915b32d2ae1a60ddcc13a124be2739f696d2feb884983441d159a18649e8d956648d591bdad35c430a6b6d28 + languageName: node + linkType: hard + "tmpl@npm:1.0.5": version: 1.0.5 resolution: "tmpl@npm:1.0.5" @@ -14173,9 +14703,18 @@ __metadata: languageName: node linkType: hard -"ts-jest@npm:29.0.5": - version: 29.0.5 - resolution: "ts-jest@npm:29.0.5" +"ts-api-utils@npm:^1.0.1": + version: 1.0.3 + resolution: "ts-api-utils@npm:1.0.3" + peerDependencies: + typescript: ">=4.2.0" + checksum: 441cc4489d65fd515ae6b0f4eb8690057add6f3b6a63a36073753547fb6ce0c9ea0e0530220a0b282b0eec535f52c4dfc315d35f8a4c9a91c0def0707a714ca6 + languageName: node + linkType: hard + +"ts-jest@npm:29.1.1": + version: 29.1.1 + resolution: "ts-jest@npm:29.1.1" dependencies: bs-logger: 0.x fast-json-stable-stringify: 2.x @@ -14183,14 +14722,14 @@ __metadata: json5: ^2.2.3 lodash.memoize: 4.x make-error: 1.x - semver: 7.x + semver: ^7.5.3 yargs-parser: ^21.0.1 peerDependencies: "@babel/core": ">=7.0.0-beta.0 <8" "@jest/types": ^29.0.0 babel-jest: ^29.0.0 jest: ^29.0.0 - typescript: ">=4.3" + typescript: ">=4.3 <6" peerDependenciesMeta: "@babel/core": optional: true @@ -14202,7 +14741,7 @@ __metadata: optional: true bin: ts-jest: cli.js - checksum: f60f129c2287f4c963d9ee2677132496c5c5a5d39c27ad234199a1140c26318a7d5bda34890ab0e30636ec42a8de28f84487c09e9dcec639c9c67812b3a38373 + checksum: a8c9e284ed4f819526749f6e4dc6421ec666f20ab44d31b0f02b4ed979975f7580b18aea4813172d43e39b29464a71899f8893dd29b06b4a351a3af8ba47b402 languageName: node linkType: hard @@ -14255,15 +14794,15 @@ __metadata: languageName: node linkType: hard -"tsconfig-paths@npm:^3.14.1": - version: 3.14.1 - resolution: "tsconfig-paths@npm:3.14.1" +"tsconfig-paths@npm:^3.14.2": + version: 3.14.2 + resolution: "tsconfig-paths@npm:3.14.2" dependencies: "@types/json5": ^0.0.29 - json5: ^1.0.1 + json5: ^1.0.2 minimist: ^1.2.6 strip-bom: ^3.0.0 - checksum: 8afa01c673ebb4782ba53d3a12df97fa837ce524f8ad38ee4e2b2fd57f5ac79abc21c574e9e9eb014d93efe7fe8214001b96233b5c6ea75bd1ea82afe17a4c6d + checksum: a6162eaa1aed680537f93621b82399c7856afd10ec299867b13a0675e981acac4e0ec00896860480efc59fc10fd0b16fdc928c0b885865b52be62cadac692447 languageName: node linkType: hard @@ -14274,10 +14813,10 @@ __metadata: languageName: node linkType: hard -"tslib@npm:^2, tslib@npm:^2.0.3, tslib@npm:^2.1.0, tslib@npm:^2.4.0, tslib@npm:^2.5.0": - version: 2.5.2 - resolution: "tslib@npm:2.5.2" - checksum: 4d3c1e238b94127ed0e88aa0380db3c2ddae581dc0f4bae5a982345e9f50ee5eda90835b8bfba99b02df10a5734470be197158c36f9129ac49fdc14a6a9da222 +"tslib@npm:^2, tslib@npm:^2.0.3, tslib@npm:^2.1.0, tslib@npm:^2.4.0, tslib@npm:^2.5.0, tslib@npm:^2.6.0": + version: 2.6.2 + resolution: "tslib@npm:2.6.2" + checksum: 329ea56123005922f39642318e3d1f0f8265d1e7fcb92c633e0809521da75eeaca28d2cf96d7248229deb40e5c19adf408259f4b9640afd20d13aecc1430f3ad languageName: node linkType: hard @@ -14322,6 +14861,13 @@ __metadata: languageName: node linkType: hard +"type-fest@npm:^1.0.1": + version: 1.4.0 + resolution: "type-fest@npm:1.4.0" + checksum: b011c3388665b097ae6a109a437a04d6f61d81b7357f74cbcb02246f2f5bd72b888ae33631b99871388122ba0a87f4ff1c94078e7119ff22c70e52c0ff828201 + languageName: node + linkType: hard + "type-fest@npm:^2.5.0": version: 2.19.0 resolution: "type-fest@npm:2.19.0" @@ -14339,6 +14885,42 @@ __metadata: languageName: node linkType: hard +"typed-array-buffer@npm:^1.0.0": + version: 1.0.0 + resolution: "typed-array-buffer@npm:1.0.0" + dependencies: + call-bind: ^1.0.2 + get-intrinsic: ^1.2.1 + is-typed-array: ^1.1.10 + checksum: 3e0281c79b2a40cd97fe715db803884301993f4e8c18e8d79d75fd18f796e8cd203310fec8c7fdb5e6c09bedf0af4f6ab8b75eb3d3a85da69328f28a80456bd3 + languageName: node + linkType: hard + +"typed-array-byte-length@npm:^1.0.0": + version: 1.0.0 + resolution: "typed-array-byte-length@npm:1.0.0" + dependencies: + call-bind: ^1.0.2 + for-each: ^0.3.3 + has-proto: ^1.0.1 + is-typed-array: ^1.1.10 + checksum: b03db16458322b263d87a702ff25388293f1356326c8a678d7515767ef563ef80e1e67ce648b821ec13178dd628eb2afdc19f97001ceae7a31acf674c849af94 + languageName: node + linkType: hard + +"typed-array-byte-offset@npm:^1.0.0": + version: 1.0.0 + resolution: "typed-array-byte-offset@npm:1.0.0" + dependencies: + available-typed-arrays: ^1.0.5 + call-bind: ^1.0.2 + for-each: ^0.3.3 + has-proto: ^1.0.1 + is-typed-array: ^1.1.10 + checksum: 04f6f02d0e9a948a95fbfe0d5a70b002191fae0b8fe0fe3130a9b2336f043daf7a3dda56a31333c35a067a97e13f539949ab261ca0f3692c41603a46a94e960b + languageName: node + linkType: hard + "typed-array-length@npm:^1.0.4": version: 1.0.4 resolution: "typed-array-length@npm:1.0.4" @@ -14359,39 +14941,39 @@ __metadata: languageName: node linkType: hard -"typedoc@npm:^0.23.25": - version: 0.23.25 - resolution: "typedoc@npm:0.23.25" +"typedoc@npm:0.25.3": + version: 0.25.3 + resolution: "typedoc@npm:0.25.3" dependencies: lunr: ^2.3.9 - marked: ^4.2.12 - minimatch: ^6.1.6 + marked: ^4.3.0 + minimatch: ^9.0.3 shiki: ^0.14.1 peerDependencies: - typescript: 4.6.x || 4.7.x || 4.8.x || 4.9.x + typescript: 4.6.x || 4.7.x || 4.8.x || 4.9.x || 5.0.x || 5.1.x || 5.2.x bin: typedoc: bin/typedoc - checksum: 2089d6da0293e63f6d3fac9460e9427fb6bfd56ddf669f2f13bef9435aa69ca7e72a8754e8951788db69432356e419c48b811105c8a74a47cab1f92a0bdad75b + checksum: 060a8f798b32a0e70aa3b16e04d95b56fcfabf54f75fdff74fd9ddeed8860db3ba030d153f8b535b409a9d8825856252bc59f401619e5e3e2f71d3b9e0de606a languageName: node linkType: hard -"typescript@npm:4.9.5, typescript@npm:^4": - version: 4.9.5 - resolution: "typescript@npm:4.9.5" +"typescript@npm:5.2.2, typescript@npm:^4 || ^5": + version: 5.2.2 + resolution: "typescript@npm:5.2.2" bin: tsc: bin/tsc tsserver: bin/tsserver - checksum: ee000bc26848147ad423b581bd250075662a354d84f0e06eb76d3b892328d8d4440b7487b5a83e851b12b255f55d71835b008a66cbf8f255a11e4400159237db + checksum: 7912821dac4d962d315c36800fe387cdc0a6298dba7ec171b350b4a6e988b51d7b8f051317786db1094bd7431d526b648aba7da8236607febb26cf5b871d2d3c languageName: node linkType: hard -"typescript@patch:typescript@4.9.5#~builtin, typescript@patch:typescript@^4#~builtin": - version: 4.9.5 - resolution: "typescript@patch:typescript@npm%3A4.9.5#~builtin::version=4.9.5&hash=23ec76" +"typescript@patch:typescript@5.2.2#~builtin, typescript@patch:typescript@^4 || ^5#~builtin": + version: 5.2.2 + resolution: "typescript@patch:typescript@npm%3A5.2.2#~builtin::version=5.2.2&hash=85af82" bin: tsc: bin/tsc tsserver: bin/tsserver - checksum: ab417a2f398380c90a6cf5a5f74badd17866adf57f1165617d6a551f059c3ba0a3e4da0d147b3ac5681db9ac76a303c5876394b13b3de75fdd5b1eaa06181c9d + checksum: 07106822b4305de3f22835cbba949a2b35451cad50888759b6818421290ff95d522b38ef7919e70fb381c5fe9c1c643d7dea22c8b31652a717ddbd57b7f4d554 languageName: node linkType: hard @@ -14510,6 +15092,15 @@ __metadata: languageName: node linkType: hard +"unique-string@npm:^3.0.0": + version: 3.0.0 + resolution: "unique-string@npm:3.0.0" + dependencies: + crypto-random-string: ^4.0.0 + checksum: 1a1e2e7d02eab1bb10f720475da735e1990c8a5ff34edd1a3b6bc31590cb4210b7a1233d779360cc622ce11c211e43afa1628dd658f35d3e6a89964b622940df + languageName: node + linkType: hard + "unist-builder@npm:2.0.3, unist-builder@npm:^2.0.0": version: 2.0.3 resolution: "unist-builder@npm:2.0.3" @@ -14600,6 +15191,13 @@ __metadata: languageName: node linkType: hard +"untildify@npm:^4.0.0": + version: 4.0.0 + resolution: "untildify@npm:4.0.0" + checksum: 39ced9c418a74f73f0a56e1ba4634b4d959422dff61f4c72a8e39f60b99380c1b45ed776fbaa0a4101b157e4310d873ad7d114e8534ca02609b4916bb4187fb9 + languageName: node + linkType: hard + "update-browserslist-db@npm:^1.0.10": version: 1.0.10 resolution: "update-browserslist-db@npm:1.0.10" @@ -14813,10 +15411,10 @@ __metadata: languageName: node linkType: hard -"vscode-languageserver-textdocument@npm:^1.0.8": - version: 1.0.8 - resolution: "vscode-languageserver-textdocument@npm:1.0.8" - checksum: d6b685456ceca2736793d7fc1924d78a8483997c96c6ec4900d90e64115730da6c0c03e3fbc2c5d031a4592f2acd9cca2ca58a651b696c4f40b8690a48538c06 +"vscode-languageserver-textdocument@npm:^1.0.11": + version: 1.0.11 + resolution: "vscode-languageserver-textdocument@npm:1.0.11" + checksum: ea7cdc9d4ffaae5952071fa11d17d714215a76444e6936c9359f94b9ba3222a52a55edb5bd5928bd3e9712b900a9f175bb3565ec1c8923234fe3bd327584bafb languageName: node linkType: hard @@ -14834,10 +15432,10 @@ __metadata: languageName: node linkType: hard -"vscode-uri@npm:^3.0.7": - version: 3.0.7 - resolution: "vscode-uri@npm:3.0.7" - checksum: c899a0334f9f6ba53021328e083f6307978c09b94407d7e5fe86fcd8fcb8f1da0cb344123a335e55769055007a46d51aff83f9ee1dfc0296ee54b78f34ef0e4f +"vscode-uri@npm:^3.0.8": + version: 3.0.8 + resolution: "vscode-uri@npm:3.0.8" + checksum: 514249126850c0a41a7d8c3c2836cab35983b9dc1938b903cfa253b9e33974c1416d62a00111385adcfa2b98df456437ab704f709a2ecca76a90134ef5eb4832 languageName: node linkType: hard @@ -15055,9 +15653,9 @@ __metadata: "@docusaurus/core": 2.4.1 "@docusaurus/module-type-aliases": 2.4.1 "@docusaurus/preset-classic": 2.4.1 - "@foxglove/eslint-plugin": 0.21.0 + "@foxglove/eslint-plugin": 1.0.0 "@foxglove/rostime": 1.1.2 - "@foxglove/schemas": 1.3.0 + "@foxglove/schemas": 1.6.2 "@foxglove/tsconfig": 2.0.0 "@mcap/core": "workspace:*" "@mdx-js/react": 1.6.22 @@ -15065,22 +15663,24 @@ __metadata: "@types/promise-queue": 2.2.0 buffer: 6.0.3 classnames: 2.3.2 - eslint: 8.41.0 + eslint: 8.53.0 + eslint-config-prettier: 9.0.0 eslint-plugin-es: 4.1.0 eslint-plugin-filenames: 1.3.2 - eslint-plugin-import: 2.27.5 - eslint-plugin-prettier: 4.2.1 - eslint-plugin-react: 7.32.2 + eslint-plugin-import: 2.29.0 + eslint-plugin-prettier: 5.0.1 + eslint-plugin-react: 7.33.2 eslint-plugin-react-hooks: 4.6.0 eventemitter3: 5.0.1 path-browserify: 1.0.1 + prettier: 3.1.0 prism-react-renderer: 1.3.5 process: 0.11.10 promise-queue: 2.2.5 protobufjs: 7.2.3 react: 17.0.2 react-dom: 17.0.2 - typescript: 4.9.5 + typescript: 5.2.2 zustand: 4.3.8 languageName: unknown linkType: soft @@ -15126,17 +15726,48 @@ __metadata: languageName: node linkType: hard -"which-typed-array@npm:^1.1.9": - version: 1.1.9 - resolution: "which-typed-array@npm:1.1.9" +"which-builtin-type@npm:^1.1.3": + version: 1.1.3 + resolution: "which-builtin-type@npm:1.1.3" + dependencies: + function.prototype.name: ^1.1.5 + has-tostringtag: ^1.0.0 + is-async-function: ^2.0.0 + is-date-object: ^1.0.5 + is-finalizationregistry: ^1.0.2 + is-generator-function: ^1.0.10 + is-regex: ^1.1.4 + is-weakref: ^1.0.2 + isarray: ^2.0.5 + which-boxed-primitive: ^1.0.2 + which-collection: ^1.0.1 + which-typed-array: ^1.1.9 + checksum: 43730f7d8660ff9e33d1d3f9f9451c4784265ee7bf222babc35e61674a11a08e1c2925019d6c03154fcaaca4541df43abe35d2720843b9b4cbcebdcc31408f36 + languageName: node + linkType: hard + +"which-collection@npm:^1.0.1": + version: 1.0.1 + resolution: "which-collection@npm:1.0.1" + dependencies: + is-map: ^2.0.1 + is-set: ^2.0.1 + is-weakmap: ^2.0.1 + is-weakset: ^2.0.1 + checksum: c815bbd163107ef9cb84f135e6f34453eaf4cca994e7ba85ddb0d27cea724c623fae2a473ceccfd5549c53cc65a5d82692de418166df3f858e1e5dc60818581c + languageName: node + linkType: hard + +"which-typed-array@npm:^1.1.11, which-typed-array@npm:^1.1.13, which-typed-array@npm:^1.1.9": + version: 1.1.13 + resolution: "which-typed-array@npm:1.1.13" dependencies: available-typed-arrays: ^1.0.5 - call-bind: ^1.0.2 + call-bind: ^1.0.4 for-each: ^0.3.3 gopd: ^1.0.1 has-tostringtag: ^1.0.0 - is-typed-array: ^1.1.10 - checksum: fe0178ca44c57699ca2c0e657b64eaa8d2db2372a4e2851184f568f98c478ae3dc3fdb5f7e46c384487046b0cf9e23241423242b277e03e8ba3dabc7c84c98ef + checksum: 3828a0d5d72c800e369d447e54c7620742a4cc0c9baf1b5e8c17e9b6ff90d8d861a3a6dd4800f1953dbf80e5e5cec954a289e5b4a223e3bee4aeb1f8c5f33309 languageName: node linkType: hard @@ -15196,13 +15827,6 @@ __metadata: languageName: node linkType: hard -"word-wrap@npm:^1.2.3": - version: 1.2.3 - resolution: "word-wrap@npm:1.2.3" - checksum: 30b48f91fcf12106ed3186ae4fa86a6a1842416df425be7b60485de14bec665a54a68e4b5156647dec3a70f25e84d270ca8bc8cd23182ed095f5c7206a938c1f - languageName: node - linkType: hard - "wrap-ansi@npm:^6.2.0": version: 6.2.0 resolution: "wrap-ansi@npm:6.2.0" @@ -15243,7 +15867,7 @@ __metadata: languageName: node linkType: hard -"write-file-atomic@npm:^3.0.0": +"write-file-atomic@npm:^3.0.0, write-file-atomic@npm:^3.0.3": version: 3.0.3 resolution: "write-file-atomic@npm:3.0.3" dependencies: @@ -15302,6 +15926,13 @@ __metadata: languageName: node linkType: hard +"xdg-basedir@npm:^5.0.1": + version: 5.1.0 + resolution: "xdg-basedir@npm:5.1.0" + checksum: b60e8a2c663ccb1dac77c2d913f3b96de48dafbfa083657171d3d50e10820b8a04bb4edfe9f00808c8c20e5f5355e1927bea9029f03136e29265cb98291e1fea + languageName: node + linkType: hard + "xml-js@npm:^1.6.11": version: 1.6.11 resolution: "xml-js@npm:1.6.11" @@ -15384,6 +16015,13 @@ __metadata: languageName: node linkType: hard +"yocto-queue@npm:^1.0.0": + version: 1.0.0 + resolution: "yocto-queue@npm:1.0.0" + checksum: 2cac84540f65c64ccc1683c267edce396b26b1e931aa429660aefac8fbe0188167b7aee815a3c22fa59a28a58d898d1a2b1825048f834d8d629f4c2a5d443801 + languageName: node + linkType: hard + "zustand@npm:4.3.8": version: 4.3.8 resolution: "zustand@npm:4.3.8"