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"