From df8b76305e481f522c28cbe185b77e0885d5de48 Mon Sep 17 00:00:00 2001 From: Carlos Valente <34649812+cpvalente@users.noreply.github.com> Date: Thu, 28 Mar 2024 13:35:36 +0100 Subject: [PATCH] Alpha 3 cleanup (#857) --- apps/client/package.json | 2 +- .../ProductionNavigationMenu.tsx | 6 +- .../import-map/ImportMapForm.tsx | 15 +- .../composite/EventBlockTimers.tsx | 0 apps/server/package.json | 2 +- .../url-presets/urlPresets.controller.ts | 2 +- .../api-integration/integration.validation.ts | 0 .../src/classes/data-provider/DataProvider.ts | 40 +++-- .../rundown-service/RundownService.ts | 2 +- .../services/rundown-service/rundownCache.ts | 10 +- .../src/services/sheet-service/sheetUtils.ts | 87 +++++---- package.json | 2 +- packages/types/package.json | 2 +- packages/utils/package.json | 2 +- pnpm-lock.yaml | 168 +++++++++--------- 15 files changed, 167 insertions(+), 173 deletions(-) delete mode 100644 apps/client/src/features/rundown/event-block/composite/EventBlockTimers.tsx delete mode 100644 apps/server/src/api-integration/integration.validation.ts diff --git a/apps/client/package.json b/apps/client/package.json index c397d0012..97f9f3cdb 100644 --- a/apps/client/package.json +++ b/apps/client/package.json @@ -86,7 +86,7 @@ "ontime-utils": "workspace:*", "prettier": "^3.0.3", "sass": "^1.57.1", - "typescript": "^5.2.2", + "typescript": "^5.4.3", "vite": "^5.1.0", "vite-plugin-compression2": "^0.12.0", "vite-plugin-svgr": "^4.2.0", diff --git a/apps/client/src/common/components/navigation-menu/ProductionNavigationMenu.tsx b/apps/client/src/common/components/navigation-menu/ProductionNavigationMenu.tsx index e80514578..12ee12216 100644 --- a/apps/client/src/common/components/navigation-menu/ProductionNavigationMenu.tsx +++ b/apps/client/src/common/components/navigation-menu/ProductionNavigationMenu.tsx @@ -54,7 +54,7 @@ function ProductionNavigationMenu({ handleSettings }: ProductionNavigationMenuPr
Editor @@ -62,13 +62,13 @@ function ProductionNavigationMenu({ handleSettings }: ProductionNavigationMenuPr Cuesheet - + Operator diff --git a/apps/client/src/features/app-settings/panel/sources-panel/import-map/ImportMapForm.tsx b/apps/client/src/features/app-settings/panel/sources-panel/import-map/ImportMapForm.tsx index 5b3e1ccb2..daf48b3f5 100644 --- a/apps/client/src/features/app-settings/panel/sources-panel/import-map/ImportMapForm.tsx +++ b/apps/client/src/features/app-settings/panel/sources-panel/import-map/ImportMapForm.tsx @@ -141,14 +141,13 @@ export default function ImportMapForm(props: ImportMapFormProps) { size='sm' {...register(label as keyof NamedImportMap)} > - {worksheetNames && - worksheetNames.map((name) => { - return ( - - ); - })} + {worksheetNames?.map((name) => { + return ( + + ); + })} diff --git a/apps/client/src/features/rundown/event-block/composite/EventBlockTimers.tsx b/apps/client/src/features/rundown/event-block/composite/EventBlockTimers.tsx deleted file mode 100644 index e69de29bb..000000000 diff --git a/apps/server/package.json b/apps/server/package.json index c0640686c..3dc0c112c 100644 --- a/apps/server/package.json +++ b/apps/server/package.json @@ -45,7 +45,7 @@ "prettier": "^3.0.3", "shx": "^0.3.4", "ts-node": "^10.9.1", - "typescript": "^5.2.2", + "typescript": "^5.4.3", "vitest": "^1.2.2" }, "scripts": { diff --git a/apps/server/src/api-data/url-presets/urlPresets.controller.ts b/apps/server/src/api-data/url-presets/urlPresets.controller.ts index 13a59c250..78801ab2b 100644 --- a/apps/server/src/api-data/url-presets/urlPresets.controller.ts +++ b/apps/server/src/api-data/url-presets/urlPresets.controller.ts @@ -7,7 +7,7 @@ import { failIsNotArray } from '../../utils/routerUtils.js'; export async function getUrlPresets(_req: Request, res: Response) { const presets = DataProvider.getUrlPresets(); - res.status(200).send(presets); + res.status(200).send(presets as URLPreset[]); } export async function postUrlPresets(req: Request, res: Response) { diff --git a/apps/server/src/api-integration/integration.validation.ts b/apps/server/src/api-integration/integration.validation.ts deleted file mode 100644 index e69de29bb..000000000 diff --git a/apps/server/src/classes/data-provider/DataProvider.ts b/apps/server/src/classes/data-provider/DataProvider.ts index edf65fd3b..978e38116 100644 --- a/apps/server/src/classes/data-provider/DataProvider.ts +++ b/apps/server/src/classes/data-provider/DataProvider.ts @@ -18,32 +18,34 @@ import { data, db } from '../../setup/loadDb.js'; import { safeMerge } from './DataProvider.utils.js'; import { isTest } from '../../setup/index.js'; +type ReadonlyPromise = Promise>; + export class DataProvider { static getData() { return data; } - static async setProjectData(newData: Partial) { + static async setProjectData(newData: Partial): ReadonlyPromise { data.project = { ...data.project, ...newData }; this.persist(); return data.project; } - static getProjectData() { + static getProjectData(): Readonly { return data.project; } - static async setCustomFields(newData: CustomFields): Promise { + static async setCustomFields(newData: CustomFields): ReadonlyPromise { data.customFields = { ...newData }; this.persist(); return data.customFields; } - static getCustomFields(): CustomFields { + static getCustomFields(): Readonly { return data.customFields; } - static async setRundown(newData: OntimeRundown) { + static async setRundown(newData: OntimeRundown): ReadonlyPromise { data.rundown = [...newData]; this.persist(); return data.rundown; @@ -53,64 +55,64 @@ export class DataProvider { return data.settings; } - static async setSettings(newData: Settings) { + static async setSettings(newData: Settings): ReadonlyPromise { data.settings = { ...newData }; this.persist(); return data.settings; } - static getOsc(): OSCSettings { + static getOsc(): Readonly { return data.osc; } - static getHttp(): HttpSettings { + static getHttp(): Readonly { return data.http; } - static getUrlPresets(): URLPreset[] { + static getUrlPresets(): Readonly { return data.urlPresets; } - static async setUrlPresets(newData: URLPreset[]) { + static async setUrlPresets(newData: URLPreset[]): ReadonlyPromise { data.urlPresets = newData; this.persist(); return data.urlPresets; } - static getViewSettings() { - return { ...data.viewSettings }; + static getViewSettings(): Readonly { + return data.viewSettings; } - static async setViewSettings(newData: ViewSettings) { + static async setViewSettings(newData: ViewSettings): ReadonlyPromise { data.viewSettings = { ...newData }; this.persist(); return data.viewSettings; } - static async setOsc(newData: OSCSettings): Promise { + static async setOsc(newData: OSCSettings): ReadonlyPromise { data.osc = { ...newData }; this.persist(); return data.osc; } - static async setHttp(newData: HttpSettings): Promise { + static async setHttp(newData: HttpSettings): ReadonlyPromise { data.http = { ...newData }; this.persist(); return data.http; } - static getRundown() { - return [...data.rundown]; + static getRundown(): Readonly { + return data.rundown; } - static async persist() { + private static async persist() { if (isTest) { return; } await db.write(); } - static async mergeIntoData(newData: Partial) { + static async mergeIntoData(newData: Partial): ReadonlyPromise { const mergedData = safeMerge(data, newData); data.project = mergedData.project; data.settings = mergedData.settings; diff --git a/apps/server/src/services/rundown-service/RundownService.ts b/apps/server/src/services/rundown-service/RundownService.ts index 189e23130..e3c11f2a5 100644 --- a/apps/server/src/services/rundown-service/RundownService.ts +++ b/apps/server/src/services/rundown-service/RundownService.ts @@ -234,7 +234,7 @@ function notifyChanges(options: { timer?: boolean | string[]; external?: boolean * Overrides the rundown with the given * @param rundown */ -export async function initRundown(rundown: OntimeRundown, customFields: CustomFields) { +export async function initRundown(rundown: Readonly, customFields: Readonly) { await cache.init(rundown, customFields); // notify runtime that rundown has changed diff --git a/apps/server/src/services/rundown-service/rundownCache.ts b/apps/server/src/services/rundown-service/rundownCache.ts index e9815cab5..fa20e3692 100644 --- a/apps/server/src/services/rundown-service/rundownCache.ts +++ b/apps/server/src/services/rundown-service/rundownCache.ts @@ -55,19 +55,13 @@ const customFieldChangelog = {}; */ let assignedCustomFields: Record = {}; -export async function init(initialRundown: OntimeRundown, customFields: CustomFields) { - persistedRundown = structuredClone(initialRundown); +export async function init(initialRundown: Readonly, customFields: Readonly) { + persistedRundown = structuredClone(initialRundown) as OntimeRundown; persistedCustomFields = structuredClone(customFields); generate(); await DataProvider.setRundown(persistedRundown); } -export async function setRundown(initialRundown: OntimeRundown) { - persistedRundown = structuredClone(initialRundown); - generate(); - await DataProvider.setRundown(persistedRundown); -} - /** * Utility initialises cache * @param rundown diff --git a/apps/server/src/services/sheet-service/sheetUtils.ts b/apps/server/src/services/sheet-service/sheetUtils.ts index 6a71bda5b..630a84c68 100644 --- a/apps/server/src/services/sheet-service/sheetUtils.ts +++ b/apps/server/src/services/sheet-service/sheetUtils.ts @@ -74,67 +74,33 @@ export function cellRequestFromEvent( worksheetId: number, metadata, ): sheets_v4.Schema$Request { - const returnRows: sheets_v4.Schema$CellData[] = []; - const tmp = Object.entries(metadata) + const rowData = Object.entries(metadata) .filter(([_, value]) => value !== undefined) .sort(([_a, a], [_b, b]) => a['col'] - b['col']) as [string, { col: number; row: number }][]; - const titleCol = tmp[0][1].col; + const titleCol = rowData[0][1].col; - for (const [index, e] of tmp.entries()) { + for (const [index, e] of rowData.entries()) { if (index !== 0) { - const prevCol = tmp[index - 1][1].col; + const prevCol = rowData[index - 1][1].col; const thisCol = e[1].col; const diff = thisCol - prevCol; if (diff > 1) { - const fillArr = new Array<(typeof tmp)[0]>(1).fill(['blank', { row: e[1].row, col: prevCol + 1 }]); - tmp.splice(index, 0, ...fillArr); + const fillArr = new Array<(typeof rowData)[0]>(1).fill(['blank', { row: e[1].row, col: prevCol + 1 }]); + rowData.splice(index, 0, ...fillArr); } } } - tmp.forEach(([key, _]) => { - if (isOntimeEvent(event)) { - if (key === 'blank') { - returnRows.push({}); - } else if (key === 'colour') { - returnRows.push({ - userEnteredValue: { stringValue: event.colour }, - }); - } else if (typeof event[key] === 'number') { - returnRows.push({ - userEnteredValue: { stringValue: millisToString(event[key]) }, - }); - } else if (typeof event[key] === 'string') { - returnRows.push({ - userEnteredValue: { stringValue: event[key] }, - }); - } else if (typeof event[key] === 'boolean') { - returnRows.push({ - userEnteredValue: { boolValue: event[key] }, - }); - } else { - returnRows.push({}); - } - } else if (isOntimeBlock(event)) { - if (key === 'title') { - returnRows.push({ - userEnteredValue: { stringValue: event[key] }, - }); - } else if (key === 'timerType') { - returnRows.push({ - userEnteredValue: { stringValue: 'block' }, - }); - } else { - returnRows.push({}); - } - } + const returnRows: sheets_v4.Schema$CellData[] = rowData.map(([key, _]) => { + return getCellData(key, event); }); + return { updateCells: { start: { sheetId: worksheetId, - rowIndex: index + tmp[0][1]['row'] + 1, + rowIndex: index + rowData[0][1]['row'] + 1, columnIndex: titleCol, }, fields: 'userEnteredValue', @@ -146,3 +112,36 @@ export function cellRequestFromEvent( }, }; } + +function getCellData(key: string, event: OntimeRundownEntry) { + if (isOntimeEvent(event)) { + if (key === 'blank') { + return {}; + } + if (key === 'colour') { + return { userEnteredValue: { stringValue: event[key] } }; + } + + const dataType = typeof event[key]; + if (dataType === 'number') { + return { userEnteredValue: { stringValue: millisToString(event[key]) } }; + } + if (dataType === 'string') { + return { userEnteredValue: { stringValue: event[key] } }; + } + if (dataType === 'boolean') { + return { userEnteredValue: { boolValue: event[key] } }; + } + } + + if (isOntimeBlock(event)) { + if (key === 'title') { + return { userEnteredValue: { stringValue: event[key] } }; + } + if (key === 'timerType') { + return { userEnteredValue: { stringValue: 'block' } }; + } + } + + return {}; +} diff --git a/package.json b/package.json index 11a7290ba..e6069df51 100644 --- a/package.json +++ b/package.json @@ -53,7 +53,7 @@ "lint-staged": "^15.1.0", "prettier": "^3.0.3", "turbo": "^1.11.2", - "typescript": "^5.2.2" + "typescript": "^5.4.3" }, "husky": { "hooks": { diff --git a/packages/types/package.json b/packages/types/package.json index 2b0cfef29..f8d83a659 100644 --- a/packages/types/package.json +++ b/packages/types/package.json @@ -17,6 +17,6 @@ "@typescript-eslint/eslint-plugin": "^6.10.0", "@typescript-eslint/parser": "^6.10.0", "eslint": "^8.53.0", - "typescript": "^5.2.2" + "typescript": "^5.4.3" } } diff --git a/packages/utils/package.json b/packages/utils/package.json index 2a992ce91..ddf9fc2f8 100644 --- a/packages/utils/package.json +++ b/packages/utils/package.json @@ -26,7 +26,7 @@ "eslint-plugin-simple-import-sort": "^8.0.0", "ontime-types": "workspace:*", "prettier": "^3.0.3", - "typescript": "^5.2.2", + "typescript": "^5.4.3", "vitest": "^1.2.2" }, "sideEffects": false diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e46e74f0b..31d545eea 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -16,10 +16,10 @@ importers: version: 18.11.18 '@typescript-eslint/eslint-plugin': specifier: ^6.10.0 - version: 6.10.0(@typescript-eslint/parser@6.10.0)(eslint@8.53.0)(typescript@5.2.2) + version: 6.10.0(@typescript-eslint/parser@6.10.0)(eslint@8.53.0)(typescript@5.4.3) '@typescript-eslint/parser': specifier: ^6.10.0 - version: 6.10.0(eslint@8.53.0)(typescript@5.2.2) + version: 6.10.0(eslint@8.53.0)(typescript@5.4.3) cross-env: specifier: ^7.0.3 version: 7.0.3 @@ -45,8 +45,8 @@ importers: specifier: ^1.11.2 version: 1.11.2 typescript: - specifier: ^5.2.2 - version: 5.2.2 + specifier: ^5.4.3 + version: 5.4.3 apps/client: dependencies: @@ -137,7 +137,7 @@ importers: version: 2.14.0 '@tanstack/eslint-plugin-query': specifier: ^5.8.4 - version: 5.8.4(eslint@8.53.0)(typescript@5.2.2) + version: 5.8.4(eslint@8.53.0)(typescript@5.4.3) '@testing-library/jest-dom': specifier: ^5.16.5 version: 5.16.5 @@ -161,10 +161,10 @@ importers: version: 5.14.5 '@typescript-eslint/eslint-plugin': specifier: ^6.10.0 - version: 6.10.0(@typescript-eslint/parser@6.10.0)(eslint@8.53.0)(typescript@5.2.2) + version: 6.10.0(@typescript-eslint/parser@6.10.0)(eslint@8.53.0)(typescript@5.4.3) '@typescript-eslint/parser': specifier: ^6.10.0 - version: 6.10.0(eslint@8.53.0)(typescript@5.2.2) + version: 6.10.0(eslint@8.53.0)(typescript@5.4.3) '@vitejs/plugin-react': specifier: ^4.2.1 version: 4.2.1(vite@5.1.0) @@ -176,7 +176,7 @@ importers: version: 9.0.0(eslint@8.53.0) eslint-plugin-jest: specifier: ^27.6.0 - version: 27.6.0(@typescript-eslint/eslint-plugin@6.10.0)(eslint@8.53.0)(typescript@5.2.2) + version: 27.6.0(@typescript-eslint/eslint-plugin@6.10.0)(eslint@8.53.0)(typescript@5.4.3) eslint-plugin-prettier: specifier: ^5.0.1 version: 5.0.1(eslint-config-prettier@9.0.0)(eslint@8.53.0)(prettier@3.0.3) @@ -191,7 +191,7 @@ importers: version: 8.0.0(eslint@8.53.0) eslint-plugin-testing-library: specifier: ^5.9.1 - version: 5.9.1(eslint@8.53.0)(typescript@5.2.2) + version: 5.9.1(eslint@8.53.0)(typescript@5.4.3) jsdom: specifier: ^21.1.0 version: 21.1.0 @@ -208,8 +208,8 @@ importers: specifier: ^1.57.1 version: 1.57.1 typescript: - specifier: ^5.2.2 - version: 5.2.2 + specifier: ^5.4.3 + version: 5.4.3 vite: specifier: ^5.1.0 version: 5.1.0(@types/node@18.11.18)(sass@1.57.1) @@ -218,10 +218,10 @@ importers: version: 0.12.0 vite-plugin-svgr: specifier: ^4.2.0 - version: 4.2.0(typescript@5.2.2)(vite@5.1.0) + version: 4.2.0(typescript@5.4.3)(vite@5.1.0) vite-tsconfig-paths: specifier: ^4.3.1 - version: 4.3.1(typescript@5.2.2)(vite@5.1.0) + version: 4.3.1(typescript@5.4.3)(vite@5.1.0) vitest: specifier: ^1.2.2 version: 1.2.2(@types/node@18.11.18)(jsdom@21.1.0)(sass@1.57.1) @@ -305,7 +305,7 @@ importers: version: 3.2.0 ts-essentials: specifier: ^9.4.1 - version: 9.4.1(typescript@5.2.2) + version: 9.4.1(typescript@5.4.3) ws: specifier: ^8.13.0 version: 8.13.0 @@ -333,10 +333,10 @@ importers: version: 8.5.10 '@typescript-eslint/eslint-plugin': specifier: ^6.10.0 - version: 6.10.0(@typescript-eslint/parser@6.10.0)(eslint@8.53.0)(typescript@5.2.2) + version: 6.10.0(@typescript-eslint/parser@6.10.0)(eslint@8.53.0)(typescript@5.4.3) '@typescript-eslint/parser': specifier: ^6.10.0 - version: 6.10.0(eslint@8.53.0)(typescript@5.2.2) + version: 6.10.0(eslint@8.53.0)(typescript@5.4.3) esbuild: specifier: ^0.19.10 version: 0.19.10 @@ -360,10 +360,10 @@ importers: version: 0.3.4 ts-node: specifier: ^10.9.1 - version: 10.9.1(@types/node@18.11.18)(typescript@5.2.2) + version: 10.9.1(@types/node@18.11.18)(typescript@5.4.3) typescript: - specifier: ^5.2.2 - version: 5.2.2 + specifier: ^5.4.3 + version: 5.4.3 vitest: specifier: ^1.2.2 version: 1.2.2(@types/node@18.11.18)(jsdom@21.1.0)(sass@1.57.1) @@ -372,16 +372,16 @@ importers: devDependencies: '@typescript-eslint/eslint-plugin': specifier: ^6.10.0 - version: 6.10.0(@typescript-eslint/parser@6.10.0)(eslint@8.53.0)(typescript@5.2.2) + version: 6.10.0(@typescript-eslint/parser@6.10.0)(eslint@8.53.0)(typescript@5.4.3) '@typescript-eslint/parser': specifier: ^6.10.0 - version: 6.10.0(eslint@8.53.0)(typescript@5.2.2) + version: 6.10.0(eslint@8.53.0)(typescript@5.4.3) eslint: specifier: ^8.53.0 version: 8.53.0 typescript: - specifier: ^5.2.2 - version: 5.2.2 + specifier: ^5.4.3 + version: 5.4.3 packages/utils: dependencies: @@ -400,10 +400,10 @@ importers: version: 3.4.0 '@typescript-eslint/eslint-plugin': specifier: ^6.10.0 - version: 6.10.0(@typescript-eslint/parser@6.10.0)(eslint@8.53.0)(typescript@5.2.2) + version: 6.10.0(@typescript-eslint/parser@6.10.0)(eslint@8.53.0)(typescript@5.4.3) '@typescript-eslint/parser': specifier: ^6.10.0 - version: 6.10.0(eslint@8.53.0)(typescript@5.2.2) + version: 6.10.0(eslint@8.53.0)(typescript@5.4.3) eslint: specifier: ^8.53.0 version: 8.53.0 @@ -423,8 +423,8 @@ importers: specifier: ^3.0.3 version: 3.0.3 typescript: - specifier: ^5.2.2 - version: 5.2.2 + specifier: ^5.4.3 + version: 5.4.3 vitest: specifier: ^1.2.2 version: 1.2.2(@types/node@18.11.18)(jsdom@21.1.0)(sass@1.57.1) @@ -2950,14 +2950,14 @@ packages: '@svgr/babel-plugin-transform-svg-component': 8.0.0(@babel/core@7.23.6) dev: true - /@svgr/core@8.1.0(typescript@5.2.2): + /@svgr/core@8.1.0(typescript@5.4.3): resolution: {integrity: sha512-8QqtOQT5ACVlmsvKOJNEaWmRPmcojMOzCz4Hs2BGG/toAp/K38LcsMRyLp349glq5AzJbCEeimEoxaX6v/fLrA==} engines: {node: '>=14'} dependencies: '@babel/core': 7.23.6 '@svgr/babel-preset': 8.1.0(@babel/core@7.23.6) camelcase: 6.3.0 - cosmiconfig: 8.3.6(typescript@5.2.2) + cosmiconfig: 8.3.6(typescript@5.4.3) snake-case: 3.0.4 transitivePeerDependencies: - supports-color @@ -2980,7 +2980,7 @@ packages: dependencies: '@babel/core': 7.23.6 '@svgr/babel-preset': 8.1.0(@babel/core@7.23.6) - '@svgr/core': 8.1.0(typescript@5.2.2) + '@svgr/core': 8.1.0(typescript@5.4.3) '@svgr/hast-util-to-babel-ast': 8.0.0 svg-parser: 2.0.4 transitivePeerDependencies: @@ -3001,12 +3001,12 @@ packages: defer-to-connect: 2.0.1 dev: false - /@tanstack/eslint-plugin-query@5.8.4(eslint@8.53.0)(typescript@5.2.2): + /@tanstack/eslint-plugin-query@5.8.4(eslint@8.53.0)(typescript@5.4.3): resolution: {integrity: sha512-KVgcMc+Bn1qbwkxYVWQoiVSNEIN4IAiLj3cUH/SAHT8m8E59Y97o8ON1syp0Rcw094ItG8pEVZFyQuOaH6PDgQ==} peerDependencies: eslint: ^8.0.0 dependencies: - '@typescript-eslint/utils': 5.62.0(eslint@8.53.0)(typescript@5.2.2) + '@typescript-eslint/utils': 5.62.0(eslint@8.53.0)(typescript@5.4.3) eslint: 8.53.0 transitivePeerDependencies: - supports-color @@ -3442,7 +3442,7 @@ packages: dev: true optional: true - /@typescript-eslint/eslint-plugin@6.10.0(@typescript-eslint/parser@6.10.0)(eslint@8.53.0)(typescript@5.2.2): + /@typescript-eslint/eslint-plugin@6.10.0(@typescript-eslint/parser@6.10.0)(eslint@8.53.0)(typescript@5.4.3): resolution: {integrity: sha512-uoLj4g2OTL8rfUQVx2AFO1hp/zja1wABJq77P6IclQs6I/m9GLrm7jCdgzZkvWdDCQf1uEvoa8s8CupsgWQgVg==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: @@ -3454,10 +3454,10 @@ packages: optional: true dependencies: '@eslint-community/regexpp': 4.10.0 - '@typescript-eslint/parser': 6.10.0(eslint@8.53.0)(typescript@5.2.2) + '@typescript-eslint/parser': 6.10.0(eslint@8.53.0)(typescript@5.4.3) '@typescript-eslint/scope-manager': 6.10.0 - '@typescript-eslint/type-utils': 6.10.0(eslint@8.53.0)(typescript@5.2.2) - '@typescript-eslint/utils': 6.10.0(eslint@8.53.0)(typescript@5.2.2) + '@typescript-eslint/type-utils': 6.10.0(eslint@8.53.0)(typescript@5.4.3) + '@typescript-eslint/utils': 6.10.0(eslint@8.53.0)(typescript@5.4.3) '@typescript-eslint/visitor-keys': 6.10.0 debug: 4.3.4 eslint: 8.53.0 @@ -3465,13 +3465,13 @@ packages: ignore: 5.2.4 natural-compare: 1.4.0 semver: 7.5.4 - ts-api-utils: 1.0.3(typescript@5.2.2) - typescript: 5.2.2 + ts-api-utils: 1.0.3(typescript@5.4.3) + typescript: 5.4.3 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/parser@6.10.0(eslint@8.53.0)(typescript@5.2.2): + /@typescript-eslint/parser@6.10.0(eslint@8.53.0)(typescript@5.4.3): resolution: {integrity: sha512-+sZwIj+s+io9ozSxIWbNB5873OSdfeBEH/FR0re14WLI6BaKuSOnnwCJ2foUiu8uXf4dRp1UqHP0vrZ1zXGrog==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: @@ -3483,11 +3483,11 @@ packages: dependencies: '@typescript-eslint/scope-manager': 6.10.0 '@typescript-eslint/types': 6.10.0 - '@typescript-eslint/typescript-estree': 6.10.0(typescript@5.2.2) + '@typescript-eslint/typescript-estree': 6.10.0(typescript@5.4.3) '@typescript-eslint/visitor-keys': 6.10.0 debug: 4.3.4 eslint: 8.53.0 - typescript: 5.2.2 + typescript: 5.4.3 transitivePeerDependencies: - supports-color dev: true @@ -3516,7 +3516,7 @@ packages: '@typescript-eslint/visitor-keys': 6.10.0 dev: true - /@typescript-eslint/type-utils@6.10.0(eslint@8.53.0)(typescript@5.2.2): + /@typescript-eslint/type-utils@6.10.0(eslint@8.53.0)(typescript@5.4.3): resolution: {integrity: sha512-wYpPs3hgTFblMYwbYWPT3eZtaDOjbLyIYuqpwuLBBqhLiuvJ+9sEp2gNRJEtR5N/c9G1uTtQQL5AhV0fEPJYcg==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: @@ -3526,12 +3526,12 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/typescript-estree': 6.10.0(typescript@5.2.2) - '@typescript-eslint/utils': 6.10.0(eslint@8.53.0)(typescript@5.2.2) + '@typescript-eslint/typescript-estree': 6.10.0(typescript@5.4.3) + '@typescript-eslint/utils': 6.10.0(eslint@8.53.0)(typescript@5.4.3) debug: 4.3.4 eslint: 8.53.0 - ts-api-utils: 1.0.3(typescript@5.2.2) - typescript: 5.2.2 + ts-api-utils: 1.0.3(typescript@5.4.3) + typescript: 5.4.3 transitivePeerDependencies: - supports-color dev: true @@ -3551,7 +3551,7 @@ packages: engines: {node: ^16.0.0 || >=18.0.0} dev: true - /@typescript-eslint/typescript-estree@5.48.1(typescript@5.2.2): + /@typescript-eslint/typescript-estree@5.48.1(typescript@5.4.3): resolution: {integrity: sha512-Hut+Osk5FYr+sgFh8J/FHjqX6HFcDzTlWLrFqGoK5kVUN3VBHF/QzZmAsIXCQ8T/W9nQNBTqalxi1P3LSqWnRA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -3566,13 +3566,13 @@ packages: globby: 11.1.0 is-glob: 4.0.3 semver: 7.5.4 - tsutils: 3.21.0(typescript@5.2.2) - typescript: 5.2.2 + tsutils: 3.21.0(typescript@5.4.3) + typescript: 5.4.3 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/typescript-estree@5.62.0(typescript@5.2.2): + /@typescript-eslint/typescript-estree@5.62.0(typescript@5.4.3): resolution: {integrity: sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -3587,13 +3587,13 @@ packages: globby: 11.1.0 is-glob: 4.0.3 semver: 7.5.4 - tsutils: 3.21.0(typescript@5.2.2) - typescript: 5.2.2 + tsutils: 3.21.0(typescript@5.4.3) + typescript: 5.4.3 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/typescript-estree@6.10.0(typescript@5.2.2): + /@typescript-eslint/typescript-estree@6.10.0(typescript@5.4.3): resolution: {integrity: sha512-ek0Eyuy6P15LJVeghbWhSrBCj/vJpPXXR+EpaRZqou7achUWL8IdYnMSC5WHAeTWswYQuP2hAZgij/bC9fanBg==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: @@ -3608,13 +3608,13 @@ packages: globby: 11.1.0 is-glob: 4.0.3 semver: 7.5.4 - ts-api-utils: 1.0.3(typescript@5.2.2) - typescript: 5.2.2 + ts-api-utils: 1.0.3(typescript@5.4.3) + typescript: 5.4.3 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/utils@5.48.1(eslint@8.53.0)(typescript@5.2.2): + /@typescript-eslint/utils@5.48.1(eslint@8.53.0)(typescript@5.4.3): resolution: {integrity: sha512-SmQuSrCGUOdmGMwivW14Z0Lj8dxG1mOFZ7soeJ0TQZEJcs3n5Ndgkg0A4bcMFzBELqLJ6GTHnEU+iIoaD6hFGA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -3624,7 +3624,7 @@ packages: '@types/semver': 7.5.5 '@typescript-eslint/scope-manager': 5.48.1 '@typescript-eslint/types': 5.48.1 - '@typescript-eslint/typescript-estree': 5.48.1(typescript@5.2.2) + '@typescript-eslint/typescript-estree': 5.48.1(typescript@5.4.3) eslint: 8.53.0 eslint-scope: 5.1.1 eslint-utils: 3.0.0(eslint@8.53.0) @@ -3634,7 +3634,7 @@ packages: - typescript dev: true - /@typescript-eslint/utils@5.62.0(eslint@8.53.0)(typescript@5.2.2): + /@typescript-eslint/utils@5.62.0(eslint@8.53.0)(typescript@5.4.3): resolution: {integrity: sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -3645,7 +3645,7 @@ packages: '@types/semver': 7.5.5 '@typescript-eslint/scope-manager': 5.62.0 '@typescript-eslint/types': 5.62.0 - '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.2.2) + '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.4.3) eslint: 8.53.0 eslint-scope: 5.1.1 semver: 7.5.4 @@ -3654,7 +3654,7 @@ packages: - typescript dev: true - /@typescript-eslint/utils@6.10.0(eslint@8.53.0)(typescript@5.2.2): + /@typescript-eslint/utils@6.10.0(eslint@8.53.0)(typescript@5.4.3): resolution: {integrity: sha512-v+pJ1/RcVyRc0o4wAGux9x42RHmAjIGzPRo538Z8M1tVx6HOnoQBCX/NoadHQlZeC+QO2yr4nNSFWOoraZCAyg==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: @@ -3665,7 +3665,7 @@ packages: '@types/semver': 7.5.5 '@typescript-eslint/scope-manager': 6.10.0 '@typescript-eslint/types': 6.10.0 - '@typescript-eslint/typescript-estree': 6.10.0(typescript@5.2.2) + '@typescript-eslint/typescript-estree': 6.10.0(typescript@5.4.3) eslint: 8.53.0 semver: 7.5.4 transitivePeerDependencies: @@ -4636,7 +4636,7 @@ packages: yaml: 1.10.2 dev: false - /cosmiconfig@8.3.6(typescript@5.2.2): + /cosmiconfig@8.3.6(typescript@5.4.3): resolution: {integrity: sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==} engines: {node: '>=14'} peerDependencies: @@ -4649,7 +4649,7 @@ packages: js-yaml: 4.1.0 parse-json: 5.2.0 path-type: 4.0.0 - typescript: 5.2.2 + typescript: 5.4.3 dev: true /crc-32@1.2.2: @@ -5285,7 +5285,7 @@ packages: eslint: 8.53.0 dev: true - /eslint-plugin-jest@27.6.0(@typescript-eslint/eslint-plugin@6.10.0)(eslint@8.53.0)(typescript@5.2.2): + /eslint-plugin-jest@27.6.0(@typescript-eslint/eslint-plugin@6.10.0)(eslint@8.53.0)(typescript@5.4.3): resolution: {integrity: sha512-MTlusnnDMChbElsszJvrwD1dN3x6nZl//s4JD23BxB6MgR66TZlL064su24xEIS3VACfAoHV1vgyMgPw8nkdng==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} peerDependencies: @@ -5298,8 +5298,8 @@ packages: jest: optional: true dependencies: - '@typescript-eslint/eslint-plugin': 6.10.0(@typescript-eslint/parser@6.10.0)(eslint@8.53.0)(typescript@5.2.2) - '@typescript-eslint/utils': 5.62.0(eslint@8.53.0)(typescript@5.2.2) + '@typescript-eslint/eslint-plugin': 6.10.0(@typescript-eslint/parser@6.10.0)(eslint@8.53.0)(typescript@5.4.3) + '@typescript-eslint/utils': 5.62.0(eslint@8.53.0)(typescript@5.4.3) eslint: 8.53.0 transitivePeerDependencies: - supports-color @@ -5382,13 +5382,13 @@ packages: eslint: 8.53.0 dev: true - /eslint-plugin-testing-library@5.9.1(eslint@8.53.0)(typescript@5.2.2): + /eslint-plugin-testing-library@5.9.1(eslint@8.53.0)(typescript@5.4.3): resolution: {integrity: sha512-6BQp3tmb79jLLasPHJmy8DnxREe+2Pgf7L+7o09TSWPfdqqtQfRZmZNetr5mOs3yqZk/MRNxpN3RUpJe0wB4LQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0, npm: '>=6'} peerDependencies: eslint: ^7.5.0 || ^8.0.0 dependencies: - '@typescript-eslint/utils': 5.48.1(eslint@8.53.0)(typescript@5.2.2) + '@typescript-eslint/utils': 5.48.1(eslint@8.53.0)(typescript@5.4.3) eslint: 8.53.0 transitivePeerDependencies: - supports-color @@ -8839,16 +8839,16 @@ packages: utf8-byte-length: 1.0.4 dev: true - /ts-api-utils@1.0.3(typescript@5.2.2): + /ts-api-utils@1.0.3(typescript@5.4.3): resolution: {integrity: sha512-wNMeqtMz5NtwpT/UZGY5alT+VoKdSsOOP/kqHFcUW1P/VRhH2wJ48+DN2WwUliNbQ976ETwDL0Ifd2VVvgonvg==} engines: {node: '>=16.13.0'} peerDependencies: typescript: '>=4.2.0' dependencies: - typescript: 5.2.2 + typescript: 5.4.3 dev: true - /ts-essentials@9.4.1(typescript@5.2.2): + /ts-essentials@9.4.1(typescript@5.4.3): resolution: {integrity: sha512-oke0rI2EN9pzHsesdmrOrnqv1eQODmJpd/noJjwj2ZPC3Z4N2wbjrOEqnsEgmvlO2+4fBb0a794DCna2elEVIQ==} peerDependencies: typescript: '>=4.1.0' @@ -8856,10 +8856,10 @@ packages: typescript: optional: true dependencies: - typescript: 5.2.2 + typescript: 5.4.3 dev: false - /ts-node@10.9.1(@types/node@18.11.18)(typescript@5.2.2): + /ts-node@10.9.1(@types/node@18.11.18)(typescript@5.4.3): resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==} hasBin: true peerDependencies: @@ -8885,12 +8885,12 @@ packages: create-require: 1.1.1 diff: 4.0.2 make-error: 1.3.6 - typescript: 5.2.2 + typescript: 5.4.3 v8-compile-cache-lib: 3.0.1 yn: 3.1.1 dev: true - /tsconfck@3.0.2(typescript@5.2.2): + /tsconfck@3.0.2(typescript@5.4.3): resolution: {integrity: sha512-6lWtFjwuhS3XI4HsX4Zg0izOI3FU/AI9EGVlPEUMDIhvLPMD4wkiof0WCoDgW7qY+Dy198g4d9miAqUHWHFH6Q==} engines: {node: ^18 || >=20} hasBin: true @@ -8900,7 +8900,7 @@ packages: typescript: optional: true dependencies: - typescript: 5.2.2 + typescript: 5.4.3 dev: true /tslib@1.14.1: @@ -8918,14 +8918,14 @@ packages: /tslib@2.6.2: resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} - /tsutils@3.21.0(typescript@5.2.2): + /tsutils@3.21.0(typescript@5.4.3): resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} engines: {node: '>= 6'} peerDependencies: typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' dependencies: tslib: 1.14.1 - typescript: 5.2.2 + typescript: 5.4.3 dev: true /turbo-darwin-64@1.11.2: @@ -9054,8 +9054,8 @@ packages: hasBin: true dev: true - /typescript@5.2.2: - resolution: {integrity: sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==} + /typescript@5.4.3: + resolution: {integrity: sha512-KrPd3PKaCLr78MalgiwJnA25Nm8HAmdwN3mYUYZgG/wizIo9EainNVQI9/yDavtVFRN2h3k8uf3GLHuhDMgEHg==} engines: {node: '>=14.17'} hasBin: true @@ -9260,13 +9260,13 @@ packages: - rollup dev: true - /vite-plugin-svgr@4.2.0(typescript@5.2.2)(vite@5.1.0): + /vite-plugin-svgr@4.2.0(typescript@5.4.3)(vite@5.1.0): resolution: {integrity: sha512-SC7+FfVtNQk7So0XMjrrtLAbEC8qjFPifyD7+fs/E6aaNdVde6umlVVh0QuwDLdOMu7vp5RiGFsB70nj5yo0XA==} peerDependencies: vite: ^2.6.0 || 3 || 4 || 5 dependencies: '@rollup/pluginutils': 5.1.0 - '@svgr/core': 8.1.0(typescript@5.2.2) + '@svgr/core': 8.1.0(typescript@5.4.3) '@svgr/plugin-jsx': 8.1.0(@svgr/core@8.1.0) vite: 5.1.0(@types/node@18.11.18)(sass@1.57.1) transitivePeerDependencies: @@ -9275,7 +9275,7 @@ packages: - typescript dev: true - /vite-tsconfig-paths@4.3.1(typescript@5.2.2)(vite@5.1.0): + /vite-tsconfig-paths@4.3.1(typescript@5.4.3)(vite@5.1.0): resolution: {integrity: sha512-cfgJwcGOsIxXOLU/nELPny2/LUD/lcf1IbfyeKTv2bsupVbTH/xpFtdQlBmIP1GEK2CjjLxYhFfB+QODFAx5aw==} peerDependencies: vite: '*' @@ -9285,7 +9285,7 @@ packages: dependencies: debug: 4.3.4 globrex: 0.1.2 - tsconfck: 3.0.2(typescript@5.2.2) + tsconfck: 3.0.2(typescript@5.4.3) vite: 5.1.0(@types/node@18.11.18)(sass@1.57.1) transitivePeerDependencies: - supports-color