diff --git a/.dockerignore b/.dockerignore index 71940a4..e5bb2cb 100644 --- a/.dockerignore +++ b/.dockerignore @@ -32,6 +32,7 @@ .yarn/* !.yarn/releases !.yarn/plugins +!.yarn/patches !.yarn/versions .pnp.* # ignore sdk stuff diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 6778b04..253bcb7 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -1,6 +1,6 @@ version: 2 updates: - - package-ecosystem: 'github-actions' - directory: '/' + - package-ecosystem: github-actions + directory: / schedule: - interval: 'daily' + interval: daily diff --git a/.github/workflows/build-test-push.yml b/.github/workflows/build-test-push.yml index 00893f6..92df47d 100644 --- a/.github/workflows/build-test-push.yml +++ b/.github/workflows/build-test-push.yml @@ -14,6 +14,22 @@ name: Build, test, and push service images +permissions: + packages: write + security-events: write + id-token: write + actions: read + checks: read + contents: read + deployments: read + issues: read + discussions: read + pages: read + pull-requests: read + repository-projects: read + statuses: read + attestations: read + on: push: pull_request: diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index 3efaf12..7b9bd36 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -9,7 +9,7 @@ # the `language` matrix defined below to confirm you have the correct set of # supported CodeQL languages. # -name: 'CodeQL' +name: CodeQL on: push: @@ -18,7 +18,7 @@ on: # The branches below must be a subset of the branches above branches: [master] schedule: - - cron: '25 20 * * 4' + - cron: 25 20 * * 4 jobs: analyze: @@ -28,7 +28,7 @@ jobs: strategy: fail-fast: false matrix: - language: ['javascript'] + language: [javascript] # CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python' ] # Learn more: # https://docs.github.com/en/free-pro-team@latest/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-code-scanning#changing-the-languages-that-are-analyzed diff --git a/.gitignore b/.gitignore index c83fb3d..a2c5f06 100644 --- a/.gitignore +++ b/.gitignore @@ -153,5 +153,6 @@ dist .yarn/* !.yarn/releases !.yarn/plugins +!.yarn/patches !.yarn/versions .pnp.* diff --git a/.vscode/settings.json b/.vscode/settings.json index bf81101..0195529 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -18,7 +18,7 @@ "**/.pnp.*": true, "tags.*": true }, - "prettier.prettierPath": ".yarn/sdks/prettier/index.js", + "prettier.prettierPath": ".yarn/sdks/prettier/index.cjs", "typescript.tsdk": ".yarn/sdks/typescript/lib", "typescript.enablePromptUseWorkspaceTsdk": true, "eslint.nodePath": ".yarn/sdks", @@ -48,6 +48,7 @@ "Buildx", "codeql", "coiholder", + "coijob", "cois", "copack", "ecoli", diff --git a/README.md b/README.md index 449ad28..26a7c86 100644 --- a/README.md +++ b/README.md @@ -35,7 +35,6 @@ To add this service to the services run with an OADA v3 server, simply add a snippet like the one in the previous section to your `docker-compose.override.yml`. - ###Jobs The service provides the following job handlers: @@ -76,6 +75,7 @@ let { target } = jobResult; ``` ### `transcription` + Sorry about the poor naming; this should eventually be deprecated and renamed... This job type is intended for specific workflows utilizing the startJobCreator in src/pdfJob to create jobs when docs show up in the trading-partner's or smithfield's `/bookmarks/services/trellisfw/documents` endpoints. diff --git a/package.json b/package.json index a7a670f..785d592 100644 --- a/package.json +++ b/package.json @@ -56,7 +56,6 @@ "@overleaf/o-error": "^3.4.0", "@trellisfw/signatures": "^2.1.3", "axios": "^1.7.2", - "clone-deep": "^4.0.1", "convict": "^6.2.4", "convict-format-with-moment": "^6.2.0", "convict-format-with-validator": "^6.2.0", @@ -70,14 +69,13 @@ "devDependencies": { "@ava/typescript": "^5.0.0", "@tsconfig/node20": "^20.1.4", - "@types/clone-deep": "^4.0.4", "@types/convict": "^6.1.6", "@types/convict-format-with-validator": "^6.0.5", "@types/debug": "^4.1.12", - "@types/lodash": "^4.17.6", - "@types/node": "^20.14.9", - "@typescript-eslint/eslint-plugin": "^7.14.1", - "@typescript-eslint/parser": "^7.14.1", + "@types/lodash": "^4.17.7", + "@types/node": "^20.14.11", + "@typescript-eslint/eslint-plugin": "^7.16.1", + "@typescript-eslint/parser": "^7.16.1", "@yarnpkg/sdks": "^3.1.3", "assign-deep": "^1.0.1", "ava": "6.1.3", @@ -99,8 +97,8 @@ "eslint-plugin-node": "^11.1.0", "eslint-plugin-notice": "^1.0.0", "eslint-plugin-optimize-regex": "^1.2.1", - "eslint-plugin-prettier": "^5.1.3", - "eslint-plugin-promise": "^6.2.0", + "eslint-plugin-prettier": "^5.2.1", + "eslint-plugin-promise": "^6.4.0", "eslint-plugin-regexp": "^2.6.0", "eslint-plugin-security": "^3.0.1", "eslint-plugin-sonarjs": "^1.0.3", @@ -109,8 +107,8 @@ "json-ptr": "^3.1.1", "lodash": "^4.17.21", "object-hash": "^3.0.0", - "prettier": "^3.3.2", - "typescript": "5.5.2" + "prettier": "^3.3.3", + "typescript": "5.5.3" }, "resolutions": { "xlsx": "https://cdn.sheetjs.com/xlsx-0.20.2/xlsx-0.20.2.tgz" @@ -119,4 +117,4 @@ "volta": { "node": "20.13.1" } -} \ No newline at end of file +} diff --git a/src/index.ts b/src/index.ts index 9668068..e34cc0e 100644 --- a/src/index.ts +++ b/src/index.ts @@ -35,10 +35,7 @@ import { jobHandler as pdfJobHandler, startJobCreator as pdfStartJobCreator, } from './pdfJob.js'; - -import { - jobHandler as transcriptionOnlyJobHandler, -} from './transcriptionOnly.js'; +import { jobHandler as transcriptionOnlyJobHandler } from './transcriptionOnly.js'; const error = debug('target-helper:error'); const info = debug('target-helper:info'); @@ -84,13 +81,13 @@ await Promise.all( // Set the job type handlers; don't timeout jobs due to other jobs taking too long service.on( 'transcription', - config.get('timeouts.pdf')*jobsConcurrency, + config.get('timeouts.pdf') * jobsConcurrency, pdfJobHandler, ); service.on( 'transcription-only', - config.get('timeouts.pdf')*jobsConcurrency, + config.get('timeouts.pdf') * jobsConcurrency, transcriptionOnlyJobHandler, ); // Service.on('asn', config.get('timeouts.asn'), asnJobHandler); diff --git a/src/pdfJob.ts b/src/pdfJob.ts index 2e46a99..7a0ffd9 100644 --- a/src/pdfJob.ts +++ b/src/pdfJob.ts @@ -20,7 +20,6 @@ import config from './config.js'; // eslint-disable-next-line unicorn/import-style import { join } from 'node:path'; - import { AssumeState, ChangeType, ListWatch } from '@oada/list-lib'; import type { Change, JsonObject, OADAClient } from '@oada/client'; import type { Job, Json, Logger, WorkerFunction } from '@oada/jobs'; @@ -28,7 +27,7 @@ import { handleShares, recursiveSignLinks } from './pdfJobPostProc.js'; import { recursiveMakeAllLinksVersioned, recursiveReplaceLinksWithReferences, - stripResource + stripResource, } from './utils.js'; import { assert as assertJob } from '@oada/types/oada/service/job.js'; @@ -139,9 +138,8 @@ async function targetSuccess({ const job = r.data as unknown as TargetJob; const pdfId = job.config.pdf._id; - // ------------- 1: get result from targetResult - job.result = await composeResult(jobId, job, oada, log) + job.result = await composeResult(jobId, job, oada, log); // ------------- 2: sign audit/coi/etc. void log.info('helper: signing all links in result', {}); @@ -196,7 +194,7 @@ export async function composeResult( jobId: string, job: TargetJob, oada: OADAClient, - log: Logger + log: Logger, ) { job.result = {}; @@ -211,7 +209,9 @@ export async function composeResult( documentData._id, job.config.document._id, ); - const { data: documentResource } = await oada.get({ path: `/${documentData._id }`}); + const { data: documentResource } = await oada.get({ + path: `/${documentData._id}`, + }); await oada.put({ path: `/${job.config.document._id}`, data: stripResource(documentResource as JsonObject), @@ -254,7 +254,7 @@ async function handleTargetTimeout({ data: { status: 'error', information: 'TimeoutError', - meta: 'Target took too long' + meta: 'Target took too long', }, }); // You can also throw an error or perform any other necessary actions @@ -274,7 +274,15 @@ async function jobChange({ oada: OADAClient; c: Omit; unwatch: () => Promise; - onTargetSuccess: ({jobId, oada, log} : {jobId: string, oada: OADAClient, log: Logger }) => Promise; + onTargetSuccess: ({ + jobId, + oada, + log, + }: { + jobId: string; + oada: OADAClient; + log: Logger; + }) => Promise; }) { trace('#jobChange: received change, c = %O ', c); if (c.path !== '') { @@ -340,10 +348,7 @@ async function jobChange({ error('Target job [%s] failed: %O', jobId, v.information); } - throw new Error( - `Target job ${jobId} returned an error`, - { cause: v } - ); + throw new Error(`Target job ${jobId} returned an error`, { cause: v }); } default: @@ -359,12 +364,20 @@ export async function handleJob({ jobId, log, oada, - onTargetSuccess + onTargetSuccess, }: { jobId: string; log: Logger; oada: OADAClient; - onTargetSuccess: ({jobId, oada, log} : {jobId: string, oada: OADAClient, log: Logger }) => Promise; + onTargetSuccess: ({ + jobId, + oada, + log, + }: { + jobId: string; + oada: OADAClient; + log: Logger; + }) => Promise; // @ts-expect-error rewrite differently? }): Promise { try { @@ -383,7 +396,7 @@ export async function handleJob({ log, oada, unwatch, - onTargetSuccess + onTargetSuccess, }); for await (const change of changes) { @@ -393,7 +406,7 @@ export async function handleJob({ oada, c: change, unwatch, - onTargetSuccess + onTargetSuccess, }); if (result !== undefined) { return result; @@ -411,13 +424,21 @@ async function makeSyntheticChange({ log, oada, unwatch, - onTargetSuccess + onTargetSuccess, }: { jobId: string; log: Logger; oada: OADAClient; unwatch: () => Promise; - onTargetSuccess: ({jobId, oada, log} : {jobId: string, oada: OADAClient, log: Logger }) => Promise; + onTargetSuccess: ({ + jobId, + oada, + log, + }: { + jobId: string; + oada: OADAClient; + log: Logger; + }) => Promise; }): Promise { const { data } = await oada.get({ path: `/${jobId}`, @@ -439,7 +460,7 @@ async function makeSyntheticChange({ type: 'merge', }, unwatch, - onTargetSuccess + onTargetSuccess, }); } @@ -499,7 +520,7 @@ export async function startJobCreator({ conn: con, resume: false, onNewList: AssumeState.New, - tree: selfDocumentTypeTree + tree: selfDocumentTypeTree, }); selfDocumentsTypesWatch.on(ChangeType.ItemAdded, documentTypeAdded()); process.on('beforeExit', async () => selfDocumentsTypesWatch.stop()); @@ -517,19 +538,23 @@ export async function startJobCreator({ let count = 0; await Promise.all( - Object.entries(pendingJobs).map(async ([key, job]) => { - if (key.startsWith('_')) { - return; - } + Object.entries(pendingJobs).map( + async ([key, job]) => { + if (key.startsWith('_')) { + return; + } - if (Object.keys(job).length === 1 && job._rev) { - count++; - info(`cleaning up broken job ${pending}/${key} (total: ${count})`); - await con.delete({ - path: `${pending}/${key}`, - }); - } - }), + if (Object.keys(job).length === 1 && job._rev) { + count++; + info( + `cleaning up broken job ${pending}/${key} (total: ${count})`, + ); + await con.delete({ + path: `${pending}/${key}`, + }); + } + }, + ), ); // Info(`Done cleaning up ${count} target jobs`); } @@ -654,7 +679,8 @@ export async function startJobCreator({ const pdfs = Object.values(meta.vdoc.pdf); const pdf = pdfs[0]; info( - `New Document was for ${masterid ? `tp with masterid=${masterid}` : 'Non-Trading Partner' + `New Document was for ${ + masterid ? `tp with masterid=${masterid}` : 'Non-Trading Partner' }`, ); info('New Document posted at %s/%s', typePath, key); @@ -728,29 +754,29 @@ export async function startJobCreator({ interface ExpandIndexItem { id: string; - facilities?: Record + facilities?: Record; } export interface ExpandIndex { 'trading-partners': Record; 'coi-holders': Record>; -}; +} export interface TargetJobConfig { - type: 'pdf'; - pdf: { + 'type': 'pdf'; + 'pdf': { _id: string; }; - document: { + 'document': { _id: string; }; - docKey: string; + 'docKey': string; 'document-type': string; 'oada-doc-type': string; } -export interface TargetJob{ - config: TargetJobConfig; +export interface TargetJob { + 'config': TargetJobConfig; 'trading-partner'?: string; - targetResult: List>; - result: List>; + 'targetResult': List>; + 'result': List>; } diff --git a/src/pdfJobPostProc.ts b/src/pdfJobPostProc.ts index a786072..85692c0 100644 --- a/src/pdfJobPostProc.ts +++ b/src/pdfJobPostProc.ts @@ -15,22 +15,22 @@ * limitations under the License. */ -import type { - ExpandIndex, - TargetJob -} from './pdfJob.js'; -import { has, treeForDocumentType } from './utils.js'; -import type { Json, Logger } from '@oada/jobs'; -import clone from 'clone-deep'; import config from './config.js'; + +import { readFile } from 'node:fs/promises'; + import debug from 'debug'; + +import type { Json, Logger } from '@oada/jobs'; import type { JWK } from '@trellisfw/signatures'; import type { Link } from '@oada/types/oada/link/v1.js'; import type { OADAClient } from '@oada/client'; -import { readFile } from 'node:fs/promises'; -import { tree } from './tree.js'; import tSignatures from '@trellisfw/signatures'; +import type { ExpandIndex, TargetJob } from './pdfJob.js'; +import { has, treeForDocumentType } from './utils.js'; +import { tree } from './tree.js'; + const error = debug('target-helper:error'); const info = debug('target-helper:info'); const trace = debug('target-helper:trace'); @@ -88,7 +88,7 @@ export async function handleShares( doc: document, dockey, shares, - expandIndex + expandIndex, }); break; } @@ -100,7 +100,7 @@ export async function handleShares( doc: document, dockey, shares, - expandIndex + expandIndex, }); break; } @@ -163,14 +163,15 @@ export async function handleShares( ); for await (const { dockey, doc, tp } of shares) { const tpKey = tp._id.replace(/^resources\//, ''); - const { data: user } = await oada.get({ path: `/${tp._id}/user` }) as unknown as { data: Link }; + const { data: user } = (await oada.get({ + path: `/${tp._id}/user`, + })) as unknown as { data: Link }; if (user instanceof Uint8Array) { throw new TypeError('user was not JSON'); } // HACK FOR DEMO UNTIL WE GET MASKING SETTINGS: - let mask: Mask | boolean = - false; + let mask: Mask | boolean = false; if (tpKey.includes('REDDYRAW')) { info('COPY WILL MASK LOCATIONS FOR REDDYRAW'); trace( @@ -184,10 +185,9 @@ export async function handleShares( } // END HACK FOR DEMO - await postSharesJob({doc, doctype, dockey, tpKey, user, mask, oada}); + await postSharesJob({ doc, doctype, dockey, tpKey, user, mask, oada }); } } - } async function postSharesJob({ @@ -198,14 +198,14 @@ async function postSharesJob({ user, mask, oada, -} : { - doc: Link, - doctype: string, - dockey: string, - tpKey: string, - user: Link, - mask: Mask | boolean, - oada: OADAClient, +}: { + doc: Link; + doctype: string; + dockey: string; + tpKey: string; + user: Link; + mask: Mask | boolean; + oada: OADAClient; }) { const { headers: { 'content-location': location }, @@ -246,10 +246,13 @@ async function postSharesJob({ }); const jobkey = jobpath?.replace(/^\/resources\/[^/]+\//, ''); trace('Posted jobkey %s for shares', jobkey); - } -export async function recursiveSignLinks(object: unknown, oada: OADAClient, log: Logger): Promise { +export async function recursiveSignLinks( + object: unknown, + oada: OADAClient, + log: Logger, +): Promise { if (typeof object !== 'object' || !object) { return; } @@ -274,7 +277,7 @@ async function pushSharesForFacility({ doc, dockey, shares, - expandIndex + expandIndex, }: { facilityid: string; doc: { _id: string }; @@ -301,7 +304,7 @@ async function pushSharesForFacility({ } // Do we need this cloneDeep? - const { id, ...tp } = clone(tpv); + const { id, ...tp } = structuredClone(tpv); const s = { tp: { _id: id, ...tp }, doc, dockey }; shares.push(s); trace('Added share to running list: %O', s); @@ -392,8 +395,8 @@ async function signResourceForTarget({ interface Mask { keys_to_mask: string[]; - generate_pdf: boolean -}; + generate_pdf: boolean; +} type Shares = Array<{ dockey: string; @@ -480,4 +483,3 @@ async function handleResultMismatch( return job.result; } */ - diff --git a/src/transcriptionOnly.ts b/src/transcriptionOnly.ts index 43cf9af..5e1408f 100644 --- a/src/transcriptionOnly.ts +++ b/src/transcriptionOnly.ts @@ -15,12 +15,14 @@ * limitations under the License. */ -import { handleJob, jobs } from './pdfJob.js'; -import type { Json, Logger, WorkerFunction } from '@oada/jobs'; -import { assert as assertJob } from '@oada/types/oada/service/job.js'; import debug from 'debug'; + +import type { Json, Logger, WorkerFunction } from '@oada/jobs'; import type { Link } from '@oada/types/oada/link/v1.js'; import type { OADAClient } from '@oada/client'; +import { assert as assertJob } from '@oada/types/oada/service/job.js'; + +import { handleJob, jobs } from './pdfJob.js'; import { recursiveReplaceLinksWithReferences } from './utils.js'; import { recursiveSignLinks } from './pdfJobPostProc.js'; @@ -71,7 +73,6 @@ async function targetSuccess({ const job = r.data as unknown as TranscriptionOnlyJob; const pdfId = job.config.pdf._id; - // ------------- 1: get result from targetResult job.result = job.targetResult; await oada.put({ @@ -124,8 +125,8 @@ interface TranscriptionOnlyJobConfig { } interface TranscriptionOnlyJob { - config: TranscriptionOnlyJobConfig; + 'config': TranscriptionOnlyJobConfig; 'trading-partner': string; - targetResult: List>; - result: List>; + 'targetResult': List>; + 'result': List>; } diff --git a/src/tree.ts b/src/tree.ts index dc133fe..8b220ac 100644 --- a/src/tree.ts +++ b/src/tree.ts @@ -22,7 +22,7 @@ import type { Tree } from '@oada/types/oada/tree/v1.js'; const documents: Tree = { '_type': 'application/vnd.trellisfw.documents.1+json', '*': { - '_type': 'application/vnd.trellisfw.documents.1+json', + _type: 'application/vnd.trellisfw.documents.1+json', }, }; @@ -65,7 +65,7 @@ const tree: Tree = { shared: { _type: 'application/vnd.oada.bookmarks.1+json', trellisfw: { - '_type': 'application/vnd.trellisfw.1+json', + _type: 'application/vnd.trellisfw.1+json', documents, /* 'fsqa-audits': { @@ -116,20 +116,20 @@ export { tree }; const selfDocumentTypeTree: Tree = structuredClone(tree); delete selfDocumentTypeTree.bookmarks!.trellisfw!.documents!['*']!['*']; delete selfDocumentTypeTree.bookmarks!.trellisfw!['trading-partners']; -export { selfDocumentTypeTree } +export { selfDocumentTypeTree }; const tpTree: Tree = structuredClone(tree); delete tpTree.bookmarks?.trellisfw?.['trading-partners']?.['*']?.shared; delete tpTree.bookmarks?.trellisfw?.['trading-partners']?.['*']?.bookmarks; delete tpTree.bookmarks!.services; -delete tpTree.bookmarks!.trellisfw!.documents;; +delete tpTree.bookmarks!.trellisfw!.documents; export { tpTree }; const tpDocsTree: Tree = structuredClone(tree); delete tpDocsTree.bookmarks!.trellisfw!['trading-partners']!['*']!.shared! .trellisfw!.documents!['*']!['*']; delete tpDocsTree.bookmarks!.services; -delete tpDocsTree.bookmarks!.trellisfw!.documents;; +delete tpDocsTree.bookmarks!.trellisfw!.documents; export { tpDocsTree }; const tpDocumentTypeTree: Tree = structuredClone(tree); diff --git a/src/utils.ts b/src/utils.ts index 0ac5da8..0e3c8e6 100644 --- a/src/utils.ts +++ b/src/utils.ts @@ -15,8 +15,6 @@ * limitations under the License. */ - - /** * Helper because TS is dumb and doesn't realize `in` means the key definitely exists. */ @@ -30,14 +28,14 @@ export function has( // Because OADA resource keys are always in the way export function stripResource< T extends - | { - _id?: unknown; - _rev?: unknown; - _meta?: unknown; - _type?: unknown; - _ref?: unknown; - } - | undefined, + | { + _id?: unknown; + _rev?: unknown; + _meta?: unknown; + _type?: unknown; + _ref?: unknown; + } + | undefined, >(resource: T) { if (!resource) { return resource; @@ -124,4 +122,3 @@ export function treeForDocumentType(doctype: string) { }, }; } - diff --git a/test/asn.test.ts b/test/asn.test.ts index b09d5fc..4d330b3 100644 --- a/test/asn.test.ts +++ b/test/asn.test.ts @@ -28,7 +28,7 @@ import { connect } from '@oada/client'; import type Job from '@oada/types/oada/service/job.js'; -import testasn from './testasn.js'; +import testAsn from './testAsn.js'; // DO NOT include ../ because we are testing externally. @@ -55,12 +55,12 @@ test.beforeEach(async () => { test('Should create a job to handle the test ASN when posted to /bookmarks/trellisfw/asns', async (t) => { // Get the initial job queue so we can figure out which job was created as a result of our posted test doc - const { document: oldJobs } = await con.get({ + const { data: oldJobs } = await con.get({ path: pending, }); // Post the test doc - await con.put({ path: `/${asnID}`, data: testasn, contentType }); + await con.put({ path: `/${asnID}`, data: testAsn, contentType }); await con.put({ path: `/bookmarks/trellisfw/asns/${asnkey}`, data: { _id: asnID, _rev: 0 }, @@ -69,7 +69,7 @@ test('Should create a job to handle the test ASN when posted to /bookmarks/trell await setTimeout(500); // Give it a second to make the job // get the new job list, find the new key - const { document: newJobs } = await con.get({ + const { data: newJobs } = await con.get({ path: pending, }); jobkey = _.difference(_.keys(newJobs), _.keys(oldJobs))[0]!; // Assume first difference is new one @@ -95,7 +95,7 @@ test('Should create a job to handle the test ASN when posted to /bookmarks/trell }); await setTimeout(1500); // Wait for oada-jobs to move it to jobs-success try { - const { document: doesnotexist } = await con.get({ + const { data: doesnotexist } = await con.get({ path: `${pending}/${jobkey}`, }); t.true(doesnotexist); @@ -107,12 +107,12 @@ test('Should create a job to handle the test ASN when posted to /bookmarks/trell test('Should error on an ASN job which posts an invalid update (i.e. update is a string)', async (t) => { // Get the initial job queue so we can figure out which job was created as a result of our posted test doc - const { document: oldJobs } = await con.get({ + const { data: oldJobs } = await con.get({ path: `${pending}`, }); // Post the test doc - await con.put({ path: `/${asnID}`, data: testasn, contentType }); + await con.put({ path: `/${asnID}`, data: testAsn, contentType }); await con.put({ path: `/bookmarks/trellisfw/asns/${asnkey}`, data: { _id: asnID, _rev: 0 }, @@ -122,7 +122,7 @@ test('Should error on an ASN job which posts an invalid update (i.e. update is a const day = moment().format('YYYY-MM-DD'); // Keep this for the day-index below // get the new job list, find the new key - const { document: newJobs } = await con.get({ + const { data: newJobs } = await con.get({ path: `${pending}`, }); jobkey = _.difference(_.keys(newJobs), _.keys(oldJobs))[0]!; // Assume first difference is new one @@ -149,13 +149,13 @@ test('Should error on an ASN job which posts an invalid update (i.e. update is a await setTimeout(1500); // Wait for oada-jobs to move it to jobs-error const doesnotexist = await con .get({ path: `${pending}/${jobkey}` }) - .then((r) => r.document) + .then((r) => r.data) .catch((error) => error.status === 404); const errorexists = await con .get({ path: `/bookmarks/services/target/jobs/failure/day-index/${day}/${jobkey}`, }) - .then((r) => Boolean(r.document)) + .then((r) => Boolean(r.data)) .catch(() => false); t.true(doesnotexist); t.true(errorexists); diff --git a/test/error.test.ts b/test/error.test.ts index ddde554..d6bf6aa 100644 --- a/test/error.test.ts +++ b/test/error.test.ts @@ -148,7 +148,7 @@ for (const doctype of doctypes) { // @ts-expect-error dumb errors t.is(error4?.status, 403); // Unauthorized on /resources that don't exist - const { document: result1 } = await con.get({ + const { data: result1 } = await con.get({ path: `resources/${jobIndex.key}/status`, }); t.is( @@ -166,7 +166,7 @@ for (const doctype of doctypes) { t.is(error5?.status, 404); const day = moment().format('YYYY-MM-DD'); - const { document: result2 } = await con.get({ + const { data: result2 } = await con.get({ path: `/bookmarks/services/target/jobs/failure/day-index/${day}/${jobIndex.key}`, }); t.is( diff --git a/test/success.test.ts b/test/success.test.ts index 2f4d7f1..0e151ca 100644 --- a/test/success.test.ts +++ b/test/success.test.ts @@ -175,14 +175,14 @@ for (const doctype of doctypes) { const jobIndex = items[jobtype]!; const path = `/resources/${items.pdf?.key}/_meta/services/target/jobs/${jobIndex.key}`; - const { document: result1 } = await con.get({ path }); + const { data: result1 } = await con.get({ path }); t.is( (result1 as JsonObject)?._ref, `resources/${jobIndex.key}`, `should _ref the ${jobtype} under pdf/_meta/services/target/jobs`, ); - const { document: result2 } = await con.get({ + const { data: result2 } = await con.get({ path: `/resources/${index.key}/_meta/vdoc`, }); t.deepEqual( @@ -193,7 +193,7 @@ for (const doctype of doctypes) { `should link to the PDF at _meta/vdoc/pdf in the ${doctype} resource`, ); - const { document: result3 } = await con.get({ + const { data: result3 } = await con.get({ path: `/resources/${items.pdf?.key}/_meta/vdoc/${index.name.plural}/${index.key}`, }); t.deepEqual( @@ -202,7 +202,7 @@ for (const doctype of doctypes) { `should _ref the ${doctype} from _meta/vdoc/${index.name.plural}/ in PDF resource`, ); - const { document: result4 } = await con.get({ + const { data: result4 } = await con.get({ path: `${index.list}/${index.key}`, }); t.is( @@ -211,7 +211,7 @@ for (const doctype of doctypes) { `should put ${doctype} up at ${index.list}/`, ); - const { document: result5 } = await con.get({ + const { data: result5 } = await con.get({ path: `/resources/${index.key}/signatures`, }); if (t.assert(Array.isArray(result5))) { @@ -222,7 +222,7 @@ for (const doctype of doctypes) { ); } - const { document: result6 } = await con.get({ + const { data: result6 } = await con.get({ path: `/resources/${jobIndex.key}/status`, }); t.is( @@ -242,7 +242,7 @@ for (const doctype of doctypes) { ); const day = moment().format('YYYY-MM-DD'); - const { document: result7 } = await con.get({ + const { data: result7 } = await con.get({ path: `/bookmarks/services/target/jobs/success/day-index/${day}/${jobIndex.key}`, }); t.is( diff --git a/test/testasn.ts b/test/testasn.ts deleted file mode 100644 index ae9c79a..0000000 --- a/test/testasn.ts +++ /dev/null @@ -1,589 +0,0 @@ -/** - * @license - * Copyright 2021 Qlever LLC - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/* eslint-disable sonarjs/no-duplicate-string */ - -export default { - _type: 'application/vnd.trellisfw.asn.sf.1+json', - ZSHPMNT05: { - IDOC: { - EDI_DC40: { - TEST_ASN: true, - TABNAM: 'EDI_DC40', - MANDT: '240', - DOCNUM: '0000000034125709', - DOCREL: '740', - STATUS: '30', - DIRECT: '1', - OUTMOD: '2', - IDOCTYP: 'SHPMNT05', - CIMTYP: 'ZSHPMNT05', - MESTYP: 'SHPMNT', - MESFCT: 'CHG', - SNDPOR: 'SAPEQA', - SNDPRT: 'LS', - SNDPRN: 'EQACLNT240', - RCVPOR: 'RCVPOR', - RCVPRT: 'XX', - RCVPFC: 'XX', - RCVPRN: '0020001863', - CREDAT: '20200318', - CRETIM: '111902', - SERIAL: '00000000000000', - _SEGMENT: '1', - }, - E1EDT20: { - TKNUM: '0000000000', - SHTYP: 'ZTRK', - ABFER: '1', - ABWST: '1', - BFART: '3', - VSART: '01', - LAUFK: '4', - ROUTE: 'S00002', - STTRG: '0', - DTMEG: 'LB', - DTMEV: 'DMQ', - DISTZ: '0.000', - FAHZT: '0.00', - GESZT: '0.00', - STERM_DONE: 'X', - GESZTD: '480000', - FAHZTD: '0', - GESZTDA: '0', - FAHZTDA: '0', - WARZTD: ' 0', - WARZTDA: ' 0', - E1EDT22: { - SHTYP_BEZ: 'ABC TM Truck Shipmnt', - BFART_BEZ: 'Groupage', - VSART_BEZ: 'ROAD', - LAUFK_BEZ: 'Direct leg', - ROUTE_BEZ: '02 Days Transit', - STTRG_BEZ: 'Shipment start', - }, - E1EDT18: [ - { - QUALF: 'CHA', - }, - ], - E1ADRM4: [ - { - PARTNER_Q: 'OTP', - PARTNER_ID: 'ZTMS', - JURISDIC: '000008155', - LANGUAGE: 'EN', - NAME1: 'Fake Food Co Trans Plg', - COUNTRY1: 'US', - E1ADRE4: [ - { - EXTEND_Q: '305', - EXTEND_D: 'ZTMS', - }, - ], - }, - ], - E1EDT10: [ - { - QUALF: '001', - NTANF: '00000000', - NTANZ: '000000', - NTEND: '00000000', - NTENZ: '000000', - ISDD: '20200318', - ISDZ: '104400', - IEDD: '20200318', - IEDZ: '104400', - _SEGMENT: '1', - }, - { - QUALF: '002', - NTANF: '00000000', - NTANZ: '000000', - NTEND: '00000000', - NTENZ: '000000', - ISDD: '20200318', - ISDZ: '104400', - IEDD: '20200318', - IEDZ: '104400', - _SEGMENT: '1', - }, - { - QUALF: '003', - NTANF: '00000000', - NTANZ: '000000', - NTEND: '00000000', - NTENZ: '000000', - ISDD: '20200318', - ISDZ: '111800', - IEDD: '20200318', - IEDZ: '111800', - _SEGMENT: '1', - }, - { - QUALF: '004', - NTANF: '00000000', - NTANZ: '000000', - NTEND: '00000000', - NTENZ: '000000', - ISDD: '20200318', - ISDZ: '111800', - IEDD: '20200318', - IEDZ: '111800', - _SEGMENT: '1', - }, - { - QUALF: '005', - NTANF: '00000000', - NTANZ: '000000', - NTEND: '00000000', - NTENZ: '000000', - ISDD: '20200318', - ISDZ: '111800', - IEDD: '00000000', - IEDZ: '000000', - _SEGMENT: '1', - }, - ], - E1EDT57: { - TNDRDAT: '00000000', - TNDRZET: '000000', - TNDR_MAXP: ' 0.00', - TNDR_EXPD: '00000000', - TNDR_EXPT: '000000', - TNDR_ERPD: '00000000', - TNDR_ERPT: '000000', - TNDR_LTPD: '00000000', - TNDR_LTPT: '000000', - TNDR_ERDD: '00000000', - TNDR_ERDT: '000000', - TNDR_LTDD: '00000000', - TNDR_LTDT: '000000', - TNDR_LDLG: ' 0.000', - }, - E1EDL20: [ - { - VBELN: '0000000000', - VSTEL: '5315', - VKORG: '2000', - INCO1: 'DAP', - INCO2: 'Delivered At Place(named pla', - ROUTE: 'S00002', - VSBED: 'LT', - BTGEW: '107.055', - NTGEW: '102.105', - GEWEI: 'LB', - VOLUM: '0.425', - VOLEH: 'FTQ', - ANZPK: '00000', - TRAID: 'ZOR', - PODAT: '20200318', - POTIM: '121902', - Z1GLN: { - SHIP_FROM: '0000', - GLN_FROM: '0000000000000', - }, - Z1E1EDL2A: { - NTANF: '20200318', - NTANZ: '111859', - LOADPOSITION: '0001', - TOTLOADPOS: '0001', - RTSTOPNUM: '0001', - }, - E1EDT13: [ - { - QUALF: '006', - NTANF: '20200321', - NTANZ: '000000', - NTEND: '20200321', - NTENZ: '000000', - TZONE_BEG: 'EST', - ISDD: '20200318', - ISDZ: '000000', - IEDD: '20200318', - IEDZ: '000000', - TZONE_END: 'EST', - }, - { - QUALF: '003', - NTANF: '20200321', - NTANZ: '000000', - NTEND: '20200321', - NTENZ: '000000', - TZONE_BEG: 'EST', - ISDD: '00000000', - ISDZ: '000000', - IEDD: '00000000', - IEDZ: '000000', - }, - { - QUALF: '001', - NTANF: '20200321', - NTANZ: '000000', - NTEND: '20200321', - NTENZ: '000000', - TZONE_BEG: 'EST', - ISDD: '00000000', - ISDZ: '000000', - IEDD: '00000000', - IEDZ: '000000', - }, - { - QUALF: '007', - NTANF: '20200324', - NTANZ: '000000', - NTEND: '20200324', - NTENZ: '000000', - TZONE_BEG: 'EST', - ISDD: '00000000', - ISDZ: '000000', - IEDD: '00000000', - IEDZ: '000000', - }, - { - QUALF: '010', - NTANF: '20200321', - NTANZ: '000000', - NTEND: '20200321', - NTENZ: '000000', - TZONE_BEG: 'EST', - ISDD: '00000000', - ISDZ: '000000', - IEDD: '00000000', - IEDZ: '000000', - }, - { - QUALF: '015', - NTANF: '20200318', - NTANZ: '000000', - NTEND: '20200318', - NTENZ: '000000', - ISDD: '00000000', - ISDZ: '000000', - IEDD: '00000000', - IEDZ: '000000', - }, - ], - E1ADRM1: [ - { - PARTNER_Q: 'AG', - PARTNER_ID: '0000000000', - JURISDIC: '000000000', - LANGUAGE: 'EN', - NAME1: 'Fake Store', - STREET1: '100 E 1ST ST', - POSTL_COD1: '99999-9999', - CITY1: 'NOWHERE', - CITY2: 'NOWHERE', - TELEPHONE1: '999-999-9999', - COUNTRY1: 'US', - REGION: 'FL', - }, - { - PARTNER_Q: 'RE', - PARTNER_ID: '0000000000', - JURISDIC: '000000000', - LANGUAGE: 'EN', - NAME1: 'Fake Food Store', - STREET1: '100 E 1ST ST', - POSTL_COD1: '99999-9999', - CITY1: 'NOWHERE', - CITY2: 'NOWHERE', - TELEPHONE1: '999-999-9999', - COUNTRY1: 'US', - REGION: 'FL', - }, - { - PARTNER_Q: 'WE', - PARTNER_ID: '0000000000', - JURISDIC: '000000000', - LANGUAGE: 'EN', - NAME1: 'Fake DC 1', - NAME4: '00000', - STREET1: '100 E 1ST ST', - POSTL_COD1: '99999-9999', - CITY1: 'NOWHERE', - CITY2: 'NOWHERE', - TELEPHONE1: '999-999-9999', - COUNTRY1: 'US', - REGION: 'FL', - E1ADRE1: [ - { - EXTEND_Q: '200', - EXTEND_D: '0000000000000', - }, - ], - }, - { - PARTNER_Q: 'OSP', - PARTNER_ID: '0000', - JURISDIC: '000000000', - LANGUAGE: 'EN', - NAME1: 'Fake Food DC', - STREET1: '100 E 1ST ST', - POSTL_COD1: '99999', - CITY1: 'NOWHERE', - COUNTRY1: 'US', - REGION: 'FL', - E1ADRE1: [ - { - EXTEND_Q: '302', - }, - ], - }, - { - PARTNER_Q: 'OSO', - PARTNER_ID: '0000', - JURISDIC: '000000000', - LANGUAGE: 'EN', - NAME1: 'Fake Food Co', - STREET1: '100 E 1ST ST', - HOUSE_SUPL: '9', - POSTL_COD1: '99999', - CITY1: 'NOWHERE', - COUNTRY1: 'US', - REGION: 'FL', - }, - ], - E1EDL22: { - VSTEL_BEZ: 'Fake Food DC', - VKORG_BEZ: 'Fake Food Co', - INCO1_BEZ: 'Delivered At Place(named place', - ROUTE_BEZ: '02 Days Transit', - VSBED_BEZ: 'Truck - LTL', - }, - E1EDL21: { - LFART: 'ZLF', - LPRIO: '01', - KDGRP: '99', - E1EDL23: { - LFART_BEZ: 'FF - Std Delivery', - LPRIO_BEZ: 'High', - KDGRP_BEZ: 'To Be Assigned', - }, - }, - E1EDL28: { - ROUTE: 'S00002', - DISTZ: '0.000', - E1EDL29: { - ROUTE_BEZ: '02 Days Transit', - }, - }, - E1EDL24: [ - { - POSNR: '000000', - MATNR: '000000000000000000', - MATWA: '000000000000000000', - ARKTX: 'BKRIB,PK,(GHP),VP,PRE/WM,4-1PC', - MATKL: 'F0601', - WERKS: '5315', - LGORT: '7001', - CHARG: '0000000000', - KDMAT: '000000000', - LFIMG: '3.000', - VRKME: 'CA', - LGMNG: '3.000', - MEINS: 'CA', - NTGEW: '32.105', - BRGEW: '37.055', - GEWEI: 'LB', - VOLUM: '1.425', - VOLEH: 'FTQ', - LADGR: '0001', - TRAGR: 'ZREF', - VKBUR: 'HSSE', - VKGRP: '500', - VTWEG: '20', - SPART: '00', - GRKOR: '000', - EAN11: '00000000000000', - KDMAT35: '557244917', - KANNR: '20190823', - POSEX: '000000', - VFDAT: '20190914', - EXPIRY_DATE_EXT: '0', - VGBEL: '0000879492', - VGPOS: '000010', - ORMNG: ' 3.000', - EXPIRY_DATE_EXT_B: '0', - E1EDL41: [ - { - QUALI: '001', - BSTNR: 'CHG0041275-a', - BSTDT: '20200318', - BSARK: 'ZMAN', - E1EDL42: { - BSARK_BEZ: 'Manual Order', - }, - }, - ], - E1EDL43: [ - { - QUALF: 'C', - BELNR: '0000879492', - POSNR: '000010', - DATUM: '20200318', - }, - { - QUALF: 'C', - BELNR: '0000879088', - POSNR: '000010', - }, - ], - E1EDL15: [ - { - ATINN: '0000000005', - ATNAM: 'Z_THEORPROD', - ATBEZ: 'Theoritical Production Date', - ATWRT: '08/23/2019', - ATWTB: '08/23/2019', - EWAHR: '0.0000000000000000E+00', - }, - { - ATINN: '0000000006', - ATNAM: 'Z_SHIPEXPIRY', - ATBEZ: 'Ship Expiry Date', - ATWRT: '09/01/2019', - ATWTB: '09/01/2019', - EWAHR: '0.0000000000000000E+00', - }, - { - ATINN: '0000000007', - ATNAM: 'Z_PLANTOFORIGIN', - ATBEZ: 'Plant Of Origin', - ATWRT: '1211', - ATWTB: '1211', - EWAHR: '0.0000000000000000E+00', - }, - { - ATINN: '0000000008', - ATNAM: 'Z_ADJ_SHELFLIFE', - ATBEZ: 'Adjusted Shelf Life (Days)', - ATWRT: '0', - ATWTB: '0', - EWAHR: '0.0000000000000000E+00', - }, - { - ATINN: '9999999400', - ATNAM: 'LOBM_VFDAT', - ATBEZ: 'Expiration date, shelf life', - ATWRT: '09/14/2019', - ATWTB: '09/14/2019', - EWAHR: '0.0000000000000000E+00', - }, - { - ATINN: '9999999422', - ATNAM: 'LOBM_HSDAT', - ATBEZ: 'Date when Batch Was Produced', - ATWRT: '08/23/2019', - ATWTB: '08/23/2019', - EWAHR: '0.0000000000000000E+00', - }, - { - ATINN: '9999999401', - ATNAM: 'LOBM_VERAB', - ATBEZ: 'Availability Date', - ATWRT: '00/00/0000', - ATWTB: '00/00/0000', - EWAHR: '0.0000000000000000E+00', - }, - { - ATINN: '9999999406', - ATNAM: 'LOBM_LVORM', - ATBEZ: 'Deletion Ind. for Batches', - ATWTB: 'Not Set', - EWAHR: '0.0000000000000000E+00', - }, - { - ATINN: '9999999405', - ATNAM: 'LOBM_ZUSTD', - ATBEZ: 'Status of Batch', - ATWTB: 'Released', - EWAHR: '0.0000000000000000E+00', - }, - ], - E1EDL35: { - HERKL: 'US', - HERKR: 'FL', - E1EDL36: { - HERKL_BEZ: 'USA', - HERKR_BEZ: 'FLORIDA', - }, - }, - E1EDL25: { - LGORT_BEZ: 'Saleable (FIN)', - LADGR_BEZ: 'Crane', - TRAGR_BEZ: 'Refrigerated', - VKBUR_BEZ: 'House', - VKGRP_BEZ: 'House', - VTWEG_BEZ: 'Retail', - SPART_BEZ: 'Common', - }, - Z1E1EDL24: { - CUSTEACONFACT: ' 0.250', - NUMCUSTEACH: ' 4', - SHELFLIFEREQ: '13', - }, - E1EDL26: { - PSTYV: 'TAN', - MATKL: 'F0601', - PRODH: '100102043002500975', - UMVKZ: '1', - UMVKN: '1', - KZTLF: 'B', - UEBTO: '0.0', - UNTTO: '0.0', - XCHBW: '1', - KVGR1: '01', - KVGR2: 'Z01', - KVGR3: 'AAL', - MVGR1: 'Z01', - MVGR2: 'A12', - MVGR3: '000', - E1EDL27: { - PSTYV_BEZ: 'FF-Standard Item', - MATKL_BEZ: 'All Natural', - PRODH_BEZ: 'VP', - WERKS_BEZ: 'Fake Food DC, FL', - KVGR1_BEZ: 'PCHEP relevant cust', - KVGR2_BEZ: 'Sub per cust approve', - KVGR3_BEZ: 'Auto Apply Leakers', - MVGR1_BEZ: 'Core Branded', - MVGR2_BEZ: 'Fake Food Co', - MVGR3_BEZ: 'Unassigned', - Z1E1EDL27: { - QUALF: '01', - DATE: '20200324', - MHDHB: '22', - TEMPB: '05', - }, - }, - }, - }, - ], - E1EDL37: [ - { - EXIDV: 'END', - }, - ], - }, - ], - }, - _BEGIN: '1', - }, - }, -} as const; diff --git a/test/testdata.ts b/test/testdata.ts index 78548b6..99b022b 100644 --- a/test/testdata.ts +++ b/test/testdata.ts @@ -17,10 +17,10 @@ import { JsonPointer } from 'json-ptr'; import assign from 'assign-deep'; -import cloneDeep from 'clone-deep'; import debug from 'debug'; import moment from 'moment'; -import tree from '../dist/tree.js'; + +import { tree } from '../dist/tree.js'; import type { OADAClient } from '@oada/client'; @@ -108,10 +108,10 @@ const jobtemplate: Item = { }; const baseItems: Record = { - coijob: cloneDeep(jobtemplate), - auditjob: cloneDeep(jobtemplate), - certjob: cloneDeep(jobtemplate), - logjob: cloneDeep(jobtemplate), + coijob: structuredClone(jobtemplate), + auditjob: structuredClone(jobtemplate), + certjob: structuredClone(jobtemplate), + logjob: structuredClone(jobtemplate), // ------------------------------------- // Documents: @@ -429,7 +429,7 @@ async function putLink(keyOrKeys?: string | readonly string[]) { if (index.data.masterid) { // This is master data, so put it into the expand-index and masterid-index - const masterMada = cloneDeep(index.data); + const masterMada = structuredClone(index.data); masterMada.id = `resources/${index.key}`; // Put the expand-index: path = `${index.list}/expand-index`; diff --git a/yarn.lock b/yarn.lock index 6c52f20..b36c6a8 100644 --- a/yarn.lock +++ b/yarn.lock @@ -35,38 +35,40 @@ __metadata: linkType: hard "@babel/code-frame@npm:^7.0.0": - version: 7.21.4 - resolution: "@babel/code-frame@npm:7.21.4" + version: 7.24.7 + resolution: "@babel/code-frame@npm:7.24.7" dependencies: - "@babel/highlight": "npm:^7.18.6" - checksum: 10/99236ead98f215a6b144f2d1fe84163c2714614fa6b9cbe32a547ca289554770aac8c6a0c0fb6a7477b68cf17b9b7a7d0c81b50edfbe9e5c2c8f514cc2c09549 + "@babel/highlight": "npm:^7.24.7" + picocolors: "npm:^1.0.0" + checksum: 10/4812e94885ba7e3213d49583a155fdffb05292330f0a9b2c41b49288da70cf3c746a3fda0bf1074041a6d741c33f8d7be24be5e96f41ef77395eeddc5c9ff624 languageName: node linkType: hard -"@babel/helper-validator-identifier@npm:^7.18.6, @babel/helper-validator-identifier@npm:^7.24.5": - version: 7.24.5 - resolution: "@babel/helper-validator-identifier@npm:7.24.5" - checksum: 10/38aaf6a64a0ea2e84766165b461deda3c24fd2173dff18419a2cc9e1ea1d3e709039aee94db29433a07011492717c80900a5eb564cdca7d137757c3c69e26898 +"@babel/helper-validator-identifier@npm:^7.24.5, @babel/helper-validator-identifier@npm:^7.24.7": + version: 7.24.7 + resolution: "@babel/helper-validator-identifier@npm:7.24.7" + checksum: 10/86875063f57361471b531dbc2ea10bbf5406e12b06d249b03827d361db4cad2388c6f00936bcd9dc86479f7e2c69ea21412c2228d4b3672588b754b70a449d4b languageName: node linkType: hard -"@babel/highlight@npm:^7.18.6": - version: 7.18.6 - resolution: "@babel/highlight@npm:7.18.6" +"@babel/highlight@npm:^7.24.7": + version: 7.24.7 + resolution: "@babel/highlight@npm:7.24.7" dependencies: - "@babel/helper-validator-identifier": "npm:^7.18.6" - chalk: "npm:^2.0.0" + "@babel/helper-validator-identifier": "npm:^7.24.7" + chalk: "npm:^2.4.2" js-tokens: "npm:^4.0.0" - checksum: 10/92d8ee61549de5ff5120e945e774728e5ccd57fd3b2ed6eace020ec744823d4a98e242be1453d21764a30a14769ecd62170fba28539b211799bbaf232bbb2789 + picocolors: "npm:^1.0.0" + checksum: 10/69b73f38cdd4f881b09b939a711e76646da34f4834f4ce141d7a49a6bb1926eab1c594148970a8aa9360398dff800f63aade4e81fafdd7c8d8a8489ea93bfec1 languageName: node linkType: hard -"@babel/runtime@npm:^7.20.7": - version: 7.21.0 - resolution: "@babel/runtime@npm:7.21.0" +"@babel/runtime@npm:^7.23.2": + version: 7.24.8 + resolution: "@babel/runtime@npm:7.24.8" dependencies: - regenerator-runtime: "npm:^0.13.11" - checksum: 10/35acd166298d57d14444396c33b3f0b76dbb82fd7440f38aa1605beb2ec9743a693b21730b4de4b85eaf36b0fc94c94bb0ebcd80e05409c36b24da27d458ba41 + regenerator-runtime: "npm:^0.14.0" + checksum: 10/e6f335e472a8a337379effc15815dd0eddf6a7d0c00b50deb4f9e9585819b45431d0ff3c2d3d0fa58c227a9b04dcc4a85e7245fb57493adb2863b5208c769cbd languageName: node linkType: hard @@ -175,27 +177,27 @@ __metadata: languageName: node linkType: hard -"@jridgewell/resolve-uri@npm:3.1.0": - version: 3.1.0 - resolution: "@jridgewell/resolve-uri@npm:3.1.0" - checksum: 10/320ceb37af56953757b28e5b90c34556157676d41e3d0a3ff88769274d62373582bb0f0276a4f2d29c3f4fdd55b82b8be5731f52d391ad2ecae9b321ee1c742d +"@jridgewell/resolve-uri@npm:^3.1.0": + version: 3.1.2 + resolution: "@jridgewell/resolve-uri@npm:3.1.2" + checksum: 10/97106439d750a409c22c8bff822d648f6a71f3aa9bc8e5129efdc36343cd3096ddc4eeb1c62d2fe48e9bdd4db37b05d4646a17114ecebd3bbcacfa2de51c3c1d languageName: node linkType: hard -"@jridgewell/sourcemap-codec@npm:1.4.14": - version: 1.4.14 - resolution: "@jridgewell/sourcemap-codec@npm:1.4.14" - checksum: 10/26e768fae6045481a983e48aa23d8fcd23af5da70ebd74b0649000e815e7fbb01ea2bc088c9176b3fffeb9bec02184e58f46125ef3320b30eaa1f4094cfefa38 +"@jridgewell/sourcemap-codec@npm:^1.4.14": + version: 1.5.0 + resolution: "@jridgewell/sourcemap-codec@npm:1.5.0" + checksum: 10/4ed6123217569a1484419ac53f6ea0d9f3b57e5b57ab30d7c267bdb27792a27eb0e4b08e84a2680aa55cc2f2b411ffd6ec3db01c44fdc6dc43aca4b55f8374fd languageName: node linkType: hard "@jridgewell/trace-mapping@npm:^0.3.12": - version: 0.3.17 - resolution: "@jridgewell/trace-mapping@npm:0.3.17" + version: 0.3.25 + resolution: "@jridgewell/trace-mapping@npm:0.3.25" dependencies: - "@jridgewell/resolve-uri": "npm:3.1.0" - "@jridgewell/sourcemap-codec": "npm:1.4.14" - checksum: 10/790d439c9b271d9fc381dc4a837393ab942920245efedd5db20f65a665c0f778637fa623573337d3241ff784ffdb6724bbadf7fa2b61666bcd4884064b02f113 + "@jridgewell/resolve-uri": "npm:^3.1.0" + "@jridgewell/sourcemap-codec": "npm:^1.4.14" + checksum: 10/dced32160a44b49d531b80a4a2159dceab6b3ddf0c8e95a0deae4b0e894b172defa63d5ac52a19c2068e1fe7d31ea4ba931fbeec103233ecb4208953967120fc languageName: node linkType: hard @@ -501,19 +503,17 @@ __metadata: "@overleaf/o-error": "npm:^3.4.0" "@trellisfw/signatures": "npm:^2.1.3" "@tsconfig/node20": "npm:^20.1.4" - "@types/clone-deep": "npm:^4.0.4" "@types/convict": "npm:^6.1.6" "@types/convict-format-with-validator": "npm:^6.0.5" "@types/debug": "npm:^4.1.12" - "@types/lodash": "npm:^4.17.6" - "@types/node": "npm:^20.14.9" - "@typescript-eslint/eslint-plugin": "npm:^7.14.1" - "@typescript-eslint/parser": "npm:^7.14.1" + "@types/lodash": "npm:^4.17.7" + "@types/node": "npm:^20.14.11" + "@typescript-eslint/eslint-plugin": "npm:^7.16.1" + "@typescript-eslint/parser": "npm:^7.16.1" "@yarnpkg/sdks": "npm:^3.1.3" assign-deep: "npm:^1.0.1" ava: "npm:6.1.3" axios: "npm:^1.7.2" - clone-deep: "npm:^4.0.1" convict: "npm:^6.2.4" convict-format-with-moment: "npm:^6.2.0" convict-format-with-validator: "npm:^6.2.0" @@ -537,8 +537,8 @@ __metadata: eslint-plugin-node: "npm:^11.1.0" eslint-plugin-notice: "npm:^1.0.0" eslint-plugin-optimize-regex: "npm:^1.2.1" - eslint-plugin-prettier: "npm:^5.1.3" - eslint-plugin-promise: "npm:^6.2.0" + eslint-plugin-prettier: "npm:^5.2.1" + eslint-plugin-promise: "npm:^6.4.0" eslint-plugin-regexp: "npm:^2.6.0" eslint-plugin-security: "npm:^3.0.1" eslint-plugin-sonarjs: "npm:^1.0.3" @@ -550,9 +550,9 @@ __metadata: make-promises-safe: "npm:^5.1.0" moment: "npm:^2.30.1" object-hash: "npm:^3.0.0" - prettier: "npm:^3.3.2" + prettier: "npm:^3.3.3" tslib: "npm:^2.6.3" - typescript: "npm:5.5.2" + typescript: "npm:5.5.3" languageName: unknown linkType: soft @@ -636,13 +636,6 @@ __metadata: languageName: node linkType: hard -"@types/clone-deep@npm:^4.0.4": - version: 4.0.4 - resolution: "@types/clone-deep@npm:4.0.4" - checksum: 10/84cfd1ad9abe164aed3c8c4e9af0b3beab6f68f959cb77174cc00618ce3a752954b9025af0783e8f9923e736286dd5be4d2883ec712d6c86fbc2b66a7176433d - languageName: node - linkType: hard - "@types/convict-format-with-validator@npm:^6.0.5": version: 6.0.5 resolution: "@types/convict-format-with-validator@npm:6.0.5" @@ -707,10 +700,10 @@ __metadata: languageName: node linkType: hard -"@types/lodash@npm:^4.17.6": - version: 4.17.6 - resolution: "@types/lodash@npm:4.17.6" - checksum: 10/6d3a68b3e795381f4aaf946855134d24eeb348ad5d66e9a44461d30026da82b215d55b92b70486d811ca45d54d4ab956aa2dced37fd04e19d49afe160ae3da2e +"@types/lodash@npm:^4.17.7": + version: 4.17.7 + resolution: "@types/lodash@npm:4.17.7" + checksum: 10/b8177f19cf962414a66989837481b13f546afc2e98e8d465bec59e6ac03a59c584eb7053ce511cde3a09c5f3096d22a5ae22cfb56b23f3b0da75b0743b6b1a44 languageName: node linkType: hard @@ -728,12 +721,12 @@ __metadata: languageName: node linkType: hard -"@types/node@npm:*, @types/node@npm:^20.14.9": - version: 20.14.9 - resolution: "@types/node@npm:20.14.9" +"@types/node@npm:*, @types/node@npm:^20.14.11": + version: 20.14.11 + resolution: "@types/node@npm:20.14.11" dependencies: undici-types: "npm:~5.26.4" - checksum: 10/f313b06c79be92f5d3541159ef813b9fc606941f951ecf826e940658c6d4952755ca2f06277b746326cef0697ed79a04676ecde053d32e1121b3352c8168d2e9 + checksum: 10/344e1ce1ed16c86ed1c4209ab4d1de67db83dd6b694a6fabe295c47144dde2c58dabddae9f39a0a2bdd246e95f8d141ccfe848e464884b48b8918df4f7788025 languageName: node linkType: hard @@ -754,9 +747,9 @@ __metadata: linkType: hard "@types/semver@npm:^7.1.0": - version: 7.3.13 - resolution: "@types/semver@npm:7.3.13" - checksum: 10/0064efd7a0515a539062b71630c72ca2b058501b957326c285cdff82f42c1716d9f9f831332ccf719d5ee8cc3ef24f9ff62122d7a7140c73959a240b49b0f62d + version: 7.5.8 + resolution: "@types/semver@npm:7.5.8" + checksum: 10/3496808818ddb36deabfe4974fd343a78101fa242c4690044ccdc3b95dcf8785b494f5d628f2f47f38a702f8db9c53c67f47d7818f2be1b79f2efb09692e1178 languageName: node linkType: hard @@ -767,15 +760,15 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/eslint-plugin@npm:^7.0.1, @typescript-eslint/eslint-plugin@npm:^7.14.1": - version: 7.14.1 - resolution: "@typescript-eslint/eslint-plugin@npm:7.14.1" +"@typescript-eslint/eslint-plugin@npm:^7.0.1, @typescript-eslint/eslint-plugin@npm:^7.16.1": + version: 7.16.1 + resolution: "@typescript-eslint/eslint-plugin@npm:7.16.1" dependencies: "@eslint-community/regexpp": "npm:^4.10.0" - "@typescript-eslint/scope-manager": "npm:7.14.1" - "@typescript-eslint/type-utils": "npm:7.14.1" - "@typescript-eslint/utils": "npm:7.14.1" - "@typescript-eslint/visitor-keys": "npm:7.14.1" + "@typescript-eslint/scope-manager": "npm:7.16.1" + "@typescript-eslint/type-utils": "npm:7.16.1" + "@typescript-eslint/utils": "npm:7.16.1" + "@typescript-eslint/visitor-keys": "npm:7.16.1" graphemer: "npm:^1.4.0" ignore: "npm:^5.3.1" natural-compare: "npm:^1.4.0" @@ -786,44 +779,44 @@ __metadata: peerDependenciesMeta: typescript: optional: true - checksum: 10/48c815dbb92399965483c93b27816fad576c3b3227b59eebfe5525e24d07b39ec8b0c7459de83865c8d61c818696519f50b229714dd3ed705d5b35973bfcc781 + checksum: 10/fddbfe461f85d10ee3967b89efa3c704806074af6806833f982915b21754567a98c5a486627174cc6b0ac4cb5f1282865d64ae251a5cbf6dbbbe191d0268520a languageName: node linkType: hard -"@typescript-eslint/parser@npm:^7.0.1, @typescript-eslint/parser@npm:^7.14.1": - version: 7.14.1 - resolution: "@typescript-eslint/parser@npm:7.14.1" +"@typescript-eslint/parser@npm:^7.0.1, @typescript-eslint/parser@npm:^7.16.1": + version: 7.16.1 + resolution: "@typescript-eslint/parser@npm:7.16.1" dependencies: - "@typescript-eslint/scope-manager": "npm:7.14.1" - "@typescript-eslint/types": "npm:7.14.1" - "@typescript-eslint/typescript-estree": "npm:7.14.1" - "@typescript-eslint/visitor-keys": "npm:7.14.1" + "@typescript-eslint/scope-manager": "npm:7.16.1" + "@typescript-eslint/types": "npm:7.16.1" + "@typescript-eslint/typescript-estree": "npm:7.16.1" + "@typescript-eslint/visitor-keys": "npm:7.16.1" debug: "npm:^4.3.4" peerDependencies: eslint: ^8.56.0 peerDependenciesMeta: typescript: optional: true - checksum: 10/f521462a7005cab5e4923937dcf36713d9438ded175b53332ae469d91cc9eb18cb3a23768b3c52063464280baae83f6b66db28cebb2e262d6d869d1a898b23f3 + checksum: 10/7af36bacc2c38e9fb367edf886a04fde292ff28b49adfc3f4fc0dd456364c5e18444346112ae52557f2f32fe2e5abd144b87b4db89b6960b4957d69a9d390f91 languageName: node linkType: hard -"@typescript-eslint/scope-manager@npm:7.14.1": - version: 7.14.1 - resolution: "@typescript-eslint/scope-manager@npm:7.14.1" +"@typescript-eslint/scope-manager@npm:7.16.1": + version: 7.16.1 + resolution: "@typescript-eslint/scope-manager@npm:7.16.1" dependencies: - "@typescript-eslint/types": "npm:7.14.1" - "@typescript-eslint/visitor-keys": "npm:7.14.1" - checksum: 10/600a7beb96f5b96f675125285137339c2438b5b26db203a66eef52dd409e8c0db0dafb22c94547dfb963f8efdf63b0fb59e05655e2dcf84d54624863365a59e7 + "@typescript-eslint/types": "npm:7.16.1" + "@typescript-eslint/visitor-keys": "npm:7.16.1" + checksum: 10/57ce02c2624e49988b01666b3e13d1adb44ab78f2dafc47a56800d57bff624779b348928a905393fa5f2cce94a5844173ab81f32b81f0bb2897f10bbaf9cab6a languageName: node linkType: hard -"@typescript-eslint/type-utils@npm:7.14.1": - version: 7.14.1 - resolution: "@typescript-eslint/type-utils@npm:7.14.1" +"@typescript-eslint/type-utils@npm:7.16.1": + version: 7.16.1 + resolution: "@typescript-eslint/type-utils@npm:7.16.1" dependencies: - "@typescript-eslint/typescript-estree": "npm:7.14.1" - "@typescript-eslint/utils": "npm:7.14.1" + "@typescript-eslint/typescript-estree": "npm:7.16.1" + "@typescript-eslint/utils": "npm:7.16.1" debug: "npm:^4.3.4" ts-api-utils: "npm:^1.3.0" peerDependencies: @@ -831,23 +824,23 @@ __metadata: peerDependenciesMeta: typescript: optional: true - checksum: 10/75c279948a7e7e546d692e85a0b48fc3b648ffee1773feb7ff199aba1b0847a9a16c432b133aa72d26e645627403852b7dd24829f9b3badd6d4711c4cc38e9e4 + checksum: 10/38a72a3de8a2c3455d19e6d43e67ac6e1dc23e93b2d84571282b0323fadadcab33df1a89787c76fc99e45514e41a08bc9f5cb51287a7da48f56c64b512a3269b languageName: node linkType: hard -"@typescript-eslint/types@npm:7.14.1": - version: 7.14.1 - resolution: "@typescript-eslint/types@npm:7.14.1" - checksum: 10/608057582bb195bd746a7bfb7c04dac4be1d4602b8fa681b2d1d50b564362b681dc2ca293b13cc4c7acc454f3a09f1ea2580415347efb7853e5df8ba34b7acdb +"@typescript-eslint/types@npm:7.16.1": + version: 7.16.1 + resolution: "@typescript-eslint/types@npm:7.16.1" + checksum: 10/cfb48821ffb5a5307e67ce05b9ec2f4775c560dc53011e313d4fa75d033e0130ce0d364ac92ad3634d325c16a889ddc3201e8a742217c73be8d34385da85620b languageName: node linkType: hard -"@typescript-eslint/typescript-estree@npm:7.14.1": - version: 7.14.1 - resolution: "@typescript-eslint/typescript-estree@npm:7.14.1" +"@typescript-eslint/typescript-estree@npm:7.16.1": + version: 7.16.1 + resolution: "@typescript-eslint/typescript-estree@npm:7.16.1" dependencies: - "@typescript-eslint/types": "npm:7.14.1" - "@typescript-eslint/visitor-keys": "npm:7.14.1" + "@typescript-eslint/types": "npm:7.16.1" + "@typescript-eslint/visitor-keys": "npm:7.16.1" debug: "npm:^4.3.4" globby: "npm:^11.1.0" is-glob: "npm:^4.0.3" @@ -857,31 +850,31 @@ __metadata: peerDependenciesMeta: typescript: optional: true - checksum: 10/f75b956f7981712d3f85498f9d9fcc2243d79d6fe71b24bc688a7c43d2a4248f73ecfb78f9d58501fde87fc44b02e26c46f9ea2ae51eb8450db79ca169f91ef9 + checksum: 10/7f88176f2d25779ec2d40df4c6bd0a26aa41494ee0302d4895b4d0cb4e284385c1e218ac2ad67ed90b5e1bf82b78b8aa4b903b5906fbf7101b08c409ce778e9c languageName: node linkType: hard -"@typescript-eslint/utils@npm:7.14.1": - version: 7.14.1 - resolution: "@typescript-eslint/utils@npm:7.14.1" +"@typescript-eslint/utils@npm:7.16.1": + version: 7.16.1 + resolution: "@typescript-eslint/utils@npm:7.16.1" dependencies: "@eslint-community/eslint-utils": "npm:^4.4.0" - "@typescript-eslint/scope-manager": "npm:7.14.1" - "@typescript-eslint/types": "npm:7.14.1" - "@typescript-eslint/typescript-estree": "npm:7.14.1" + "@typescript-eslint/scope-manager": "npm:7.16.1" + "@typescript-eslint/types": "npm:7.16.1" + "@typescript-eslint/typescript-estree": "npm:7.16.1" peerDependencies: eslint: ^8.56.0 - checksum: 10/1ef74214ca84e32f151364512a51e82b7da5590dee03d0de0e1abcf18009e569f9a0638506cf03bd4a844af634b4935458e334b7b2459e9a50a67aba7d6228c7 + checksum: 10/b3c279d706ff1b3a0002c8e0f0fcf559b63f4296e218199a25863054bda5b28d5a7ab6ad4ad1d0b7fa2c6cd9f2d0dcd7f784c3f75026fae7b58846695481ec45 languageName: node linkType: hard -"@typescript-eslint/visitor-keys@npm:7.14.1": - version: 7.14.1 - resolution: "@typescript-eslint/visitor-keys@npm:7.14.1" +"@typescript-eslint/visitor-keys@npm:7.16.1": + version: 7.16.1 + resolution: "@typescript-eslint/visitor-keys@npm:7.16.1" dependencies: - "@typescript-eslint/types": "npm:7.14.1" + "@typescript-eslint/types": "npm:7.16.1" eslint-visitor-keys: "npm:^3.4.3" - checksum: 10/42246f33cb3f9185c0b467c9a534e34a674e4fc08ba982a03aaa77dc1e569e916f1fca9ce9cd14c4df91f416e6e917bff51f98b8d8ca26ec5f67c253e8646bde + checksum: 10/f5088d72b6ca48f4e525b7b5d6c6c9254d0d039d2959fd91200691218e8ac8f3e56287ec8bc411a79609e9d85ed5fc6c4f7d2edd80fadf734aeb6f6bfc833322 languageName: node linkType: hard @@ -1199,7 +1192,7 @@ __metadata: languageName: node linkType: hard -"aria-query@npm:^5.1.3, aria-query@npm:^5.3.0": +"aria-query@npm:^5.3.0": version: 5.3.0 resolution: "aria-query@npm:5.3.0" dependencies: @@ -1225,7 +1218,7 @@ __metadata: languageName: node linkType: hard -"array-includes@npm:^3.1.5, array-includes@npm:^3.1.6, array-includes@npm:^3.1.7": +"array-includes@npm:^3.1.6, array-includes@npm:^3.1.7": version: 3.1.8 resolution: "array-includes@npm:3.1.8" dependencies: @@ -1260,7 +1253,7 @@ __metadata: languageName: node linkType: hard -"array.prototype.flat@npm:^1.3.2": +"array.prototype.flat@npm:^1.3.1, array.prototype.flat@npm:^1.3.2": version: 1.3.2 resolution: "array.prototype.flat@npm:1.3.2" dependencies: @@ -1272,7 +1265,7 @@ __metadata: languageName: node linkType: hard -"array.prototype.flatmap@npm:^1.3.1, array.prototype.flatmap@npm:^1.3.2": +"array.prototype.flatmap@npm:^1.3.2": version: 1.3.2 resolution: "array.prototype.flatmap@npm:1.3.2" dependencies: @@ -1349,10 +1342,10 @@ __metadata: languageName: node linkType: hard -"ast-types-flow@npm:^0.0.7": - version: 0.0.7 - resolution: "ast-types-flow@npm:0.0.7" - checksum: 10/663b90e99b56ee2d7f736a6b6fff8b3c5404f28fa1860bb8d83ee5a9bff9e687520d0d6d9db6edff5a34fd4d3c0c11a3beb1cf75e43c9a880cca04371cc99808 +"ast-types-flow@npm:^0.0.8": + version: 0.0.8 + resolution: "ast-types-flow@npm:0.0.8" + checksum: 10/85a1c24af4707871c27cfe456bd2ff7fcbe678f3d1c878ac968c9557735a171a17bdcc8c8f903ceab3fc3c49d5b3da2194e6ab0a6be7fec0e133fa028f21ba1b languageName: node linkType: hard @@ -1441,10 +1434,10 @@ __metadata: languageName: node linkType: hard -"axe-core@npm:^4.6.2": - version: 4.6.3 - resolution: "axe-core@npm:4.6.3" - checksum: 10/280f6a7067129875380f733ae84093ce29c4b8cfe36e1a8ff46bd5d2bcd57d093f11b00223ddf5fef98ca147e0e6568ddd0ada9415cf8ae15d379224bf3cbb51 +"axe-core@npm:=4.7.0": + version: 4.7.0 + resolution: "axe-core@npm:4.7.0" + checksum: 10/615c0f7722c3c9fcf353dbd70b00e2ceae234d4c17cbc839dd85c01d16797c4e4da45f8d27c6118e9e6b033fb06efd196106e13651a1b2f3a10e0f11c7b2f660 languageName: node linkType: hard @@ -1459,12 +1452,10 @@ __metadata: languageName: node linkType: hard -"axobject-query@npm:^3.1.1": - version: 3.1.1 - resolution: "axobject-query@npm:3.1.1" - dependencies: - deep-equal: "npm:^2.0.5" - checksum: 10/3a3931bc419219e78d6438bc457c191e4c972caddae2be7eaa94615269209f1d283aaaece706a69742e5bcf27df99cc75eee97a5e366a06a9f2bdab1a79748c7 +"axobject-query@npm:^3.2.1": + version: 3.2.4 + resolution: "axobject-query@npm:3.2.4" + checksum: 10/a4ab10601bf3e2d785fc608e02e65e202f0c655f5acf74fdd3f7a10dd2dfe764e8833d52e9fb9b7bd64bb5e9978d07598b577c15c877f3572ce1645d8353e14e languageName: node linkType: hard @@ -1562,16 +1553,16 @@ __metadata: linkType: hard "browserslist@npm:^4.21.0, browserslist@npm:^4.23.0": - version: 4.23.0 - resolution: "browserslist@npm:4.23.0" + version: 4.23.2 + resolution: "browserslist@npm:4.23.2" dependencies: - caniuse-lite: "npm:^1.0.30001587" - electron-to-chromium: "npm:^1.4.668" + caniuse-lite: "npm:^1.0.30001640" + electron-to-chromium: "npm:^1.4.820" node-releases: "npm:^2.0.14" - update-browserslist-db: "npm:^1.0.13" + update-browserslist-db: "npm:^1.1.0" bin: browserslist: cli.js - checksum: 10/496c3862df74565dd942b4ae65f502c575cbeba1fa4a3894dad7aa3b16130dc3033bc502d8848147f7b625154a284708253d9598bcdbef5a1e34cf11dc7bad8e + checksum: 10/326a98b1c39bcc9a99b197f15790dc28e122b1aead3257c837421899377ac96239123f26868698085b3d9be916d72540602738e1f857e86a387e810af3fda6e5 languageName: node linkType: hard @@ -1642,7 +1633,7 @@ __metadata: languageName: node linkType: hard -"call-bind@npm:^1.0.0, call-bind@npm:^1.0.2, call-bind@npm:^1.0.5, call-bind@npm:^1.0.6, call-bind@npm:^1.0.7": +"call-bind@npm:^1.0.2, call-bind@npm:^1.0.5, call-bind@npm:^1.0.6, call-bind@npm:^1.0.7": version: 1.0.7 resolution: "call-bind@npm:1.0.7" dependencies: @@ -1676,10 +1667,10 @@ __metadata: languageName: node linkType: hard -"caniuse-lite@npm:^1.0.30001587": - version: 1.0.30001620 - resolution: "caniuse-lite@npm:1.0.30001620" - checksum: 10/d615ab66eb14d9b621004297a8f61e435dca67e9311f3979e47ee1af1be2a8f14997b947a101073d949b5454dad745cc35134bc3c4295c7f33968f3f665eba19 +"caniuse-lite@npm:^1.0.30001640": + version: 1.0.30001642 + resolution: "caniuse-lite@npm:1.0.30001642" + checksum: 10/8d80ea82be453ae0fdfea8766d82740a4945c1b99189650f29bfc458d4e235d7e99027a8f8bc5a4228d8c4457ba896315284b0703f300353ad5f09d8e693de10 languageName: node linkType: hard @@ -1692,7 +1683,7 @@ __metadata: languageName: node linkType: hard -"chalk@npm:^2.0.0": +"chalk@npm:^2.4.2": version: 2.4.2 resolution: "chalk@npm:2.4.2" dependencies: @@ -2237,7 +2228,7 @@ __metadata: 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": +"define-properties@npm:^1.1.3, define-properties@npm:^1.2.0, define-properties@npm:^1.2.1": version: 1.2.1 resolution: "define-properties@npm:1.2.1" dependencies: @@ -2334,10 +2325,10 @@ __metadata: languageName: node linkType: hard -"electron-to-chromium@npm:^1.4.668": - version: 1.4.774 - resolution: "electron-to-chromium@npm:1.4.774" - checksum: 10/1424a1d4c89b498eaa02146ed89d79b3d9536b8c745753433b1f8b9ed12cc701aa3528e87a86c6c07ac4e35490dc1c44a3955408274a32d1446fbb56a0cffc2d +"electron-to-chromium@npm:^1.4.820": + version: 1.4.829 + resolution: "electron-to-chromium@npm:1.4.829" + checksum: 10/43279561337582ff47bb3486439efbc7c1f2192455c76ebc7374754fca61334380025af9e5da7646b4d8c007d9dc6c25d8f6059dffb2207dc39d2f79287a296a languageName: node linkType: hard @@ -2396,7 +2387,7 @@ __metadata: languageName: node linkType: hard -"es-abstract@npm:^1.20.4, es-abstract@npm:^1.22.1, es-abstract@npm:^1.22.3, es-abstract@npm:^1.23.0, es-abstract@npm:^1.23.2": +"es-abstract@npm:^1.22.1, es-abstract@npm:^1.22.3, es-abstract@npm:^1.23.0, es-abstract@npm:^1.23.1, es-abstract@npm:^1.23.2, es-abstract@npm:^1.23.3": version: 1.23.3 resolution: "es-abstract@npm:1.23.3" dependencies: @@ -2483,6 +2474,28 @@ __metadata: languageName: node linkType: hard +"es-iterator-helpers@npm:^1.0.15": + version: 1.0.19 + resolution: "es-iterator-helpers@npm:1.0.19" + dependencies: + call-bind: "npm:^1.0.7" + define-properties: "npm:^1.2.1" + es-abstract: "npm:^1.23.3" + es-errors: "npm:^1.3.0" + es-set-tostringtag: "npm:^2.0.3" + function-bind: "npm:^1.1.2" + get-intrinsic: "npm:^1.2.4" + globalthis: "npm:^1.0.3" + has-property-descriptors: "npm:^1.0.2" + has-proto: "npm:^1.0.3" + has-symbols: "npm:^1.0.3" + internal-slot: "npm:^1.0.7" + iterator.prototype: "npm:^1.1.2" + safe-array-concat: "npm:^1.1.2" + checksum: 10/980a8081cf6798fe17fcea193b0448d784d72d76aca7240b10813207c67e3dc0d8a23992263870c4fc291da5a946935b0c56dec4fa1a9de8fee0165e4fa1fc58 + languageName: node + linkType: hard + "es-object-atoms@npm:^1.0.0": version: 1.0.0 resolution: "es-object-atoms@npm:1.0.0" @@ -2764,28 +2777,28 @@ __metadata: linkType: hard "eslint-plugin-jsx-a11y@npm:^6.7.1": - version: 6.7.1 - resolution: "eslint-plugin-jsx-a11y@npm:6.7.1" + version: 6.8.0 + resolution: "eslint-plugin-jsx-a11y@npm:6.8.0" dependencies: - "@babel/runtime": "npm:^7.20.7" - aria-query: "npm:^5.1.3" - array-includes: "npm:^3.1.6" - array.prototype.flatmap: "npm:^1.3.1" - ast-types-flow: "npm:^0.0.7" - axe-core: "npm:^4.6.2" - axobject-query: "npm:^3.1.1" + "@babel/runtime": "npm:^7.23.2" + aria-query: "npm:^5.3.0" + array-includes: "npm:^3.1.7" + array.prototype.flatmap: "npm:^1.3.2" + ast-types-flow: "npm:^0.0.8" + axe-core: "npm:=4.7.0" + axobject-query: "npm:^3.2.1" damerau-levenshtein: "npm:^1.0.8" emoji-regex: "npm:^9.2.2" - has: "npm:^1.0.3" - jsx-ast-utils: "npm:^3.3.3" - language-tags: "npm:=1.0.5" + es-iterator-helpers: "npm:^1.0.15" + hasown: "npm:^2.0.0" + jsx-ast-utils: "npm:^3.3.5" + language-tags: "npm:^1.0.9" minimatch: "npm:^3.1.2" - object.entries: "npm:^1.1.6" - object.fromentries: "npm:^2.0.6" - semver: "npm:^6.3.0" + object.entries: "npm:^1.1.7" + object.fromentries: "npm:^2.0.7" peerDependencies: eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 - checksum: 10/b7eb451304dc27c9552649a716be1de3b5d577f39e53f6da6a2dac084b84b349b0224be3020439f99c2b3bf417a13c5591326f1ce6af8d74f1cb5d5d95c4222b + checksum: 10/7a8e4498531a43d988ce2f12502a3f5ce96eacfec13f956cf927f24bb041b724fb7fc0f0306ea19d143bfc79e138bf25e25acca0822847206ac6bf5ce095e846 languageName: node linkType: hard @@ -2852,12 +2865,12 @@ __metadata: languageName: node linkType: hard -"eslint-plugin-prettier@npm:^5.0.0, eslint-plugin-prettier@npm:^5.1.3": - version: 5.1.3 - resolution: "eslint-plugin-prettier@npm:5.1.3" +"eslint-plugin-prettier@npm:^5.0.0, eslint-plugin-prettier@npm:^5.2.1": + version: 5.2.1 + resolution: "eslint-plugin-prettier@npm:5.2.1" dependencies: prettier-linter-helpers: "npm:^1.0.0" - synckit: "npm:^0.8.6" + synckit: "npm:^0.9.1" peerDependencies: "@types/eslint": ">=8.0.0" eslint: ">=8.0.0" @@ -2868,16 +2881,16 @@ __metadata: optional: true eslint-config-prettier: optional: true - checksum: 10/4f26a30444adc61ed692cdb5a9f7e8d9f5794f0917151051e66755ce032a08c3cc72c8b5d56101412e90f6d77035bd8194ea8731e9c16aacdd5ae345a8dae188 + checksum: 10/10ddf68215237e327af09a47adab4c63f3885fda4fb28c4c42d1fc5f47d8a0cc45df6484799360ff1417a0aa3c77c3aaac49d7e9dfd145557b17e2d7ecc2a27c languageName: node linkType: hard -"eslint-plugin-promise@npm:^6.2.0": - version: 6.2.0 - resolution: "eslint-plugin-promise@npm:6.2.0" +"eslint-plugin-promise@npm:^6.4.0": + version: 6.4.0 + resolution: "eslint-plugin-promise@npm:6.4.0" peerDependencies: eslint: ^7.0.0 || ^8.0.0 || ^9.0.0 - checksum: 10/9d3598a1c754d1cfa92b292e441fa8583c5f420058db6bd0de750e2c2b76fa08683deed86e9c51668a7e54e6991d3d428fbcfbe9363a6c93a94c0d74a29f5d5e + checksum: 10/23da32294b8661e95d4243b7cc925aefe3522842d5f6e2a6f72d052f92cfd96536d592e5186be6eb471e477edc2fe20ca257e7e1b5a786a6e582be3d65fdc4f5 languageName: node linkType: hard @@ -3095,11 +3108,11 @@ __metadata: linkType: hard "esquery@npm:^1.4.2, esquery@npm:^1.5.0": - version: 1.5.0 - resolution: "esquery@npm:1.5.0" + version: 1.6.0 + resolution: "esquery@npm:1.6.0" dependencies: estraverse: "npm:^5.1.0" - checksum: 10/e65fcdfc1e0ff5effbf50fb4f31ea20143ae5df92bb2e4953653d8d40aa4bc148e0d06117a592ce4ea53eeab1dafdfded7ea7e22a5be87e82d73757329a1b01d + checksum: 10/c587fb8ec9ed83f2b1bc97cf2f6854cc30bf784a79d62ba08c6e358bf22280d69aee12827521cf38e69ae9761d23fb7fde593ce315610f85655c139d99b05e5a languageName: node linkType: hard @@ -3458,14 +3471,14 @@ __metadata: languageName: node linkType: hard -"function-bind@npm:^1.1.1, function-bind@npm:^1.1.2": +"function-bind@npm:^1.1.2": version: 1.1.2 resolution: "function-bind@npm:1.1.2" checksum: 10/185e20d20f10c8d661d59aac0f3b63b31132d492e1b11fcc2a93cb2c47257ebaee7407c38513efd2b35cafdf972d9beb2ea4593c1e0f3bf8f2744836928d7454 languageName: node linkType: hard -"function.prototype.name@npm:^1.1.6": +"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: @@ -3515,7 +3528,7 @@ __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.1, get-intrinsic@npm:^1.2.3, get-intrinsic@npm:^1.2.4": +"get-intrinsic@npm:^1.1.1, get-intrinsic@npm:^1.1.3, get-intrinsic@npm:^1.2.1, get-intrinsic@npm:^1.2.3, get-intrinsic@npm:^1.2.4": version: 1.2.4 resolution: "get-intrinsic@npm:1.2.4" dependencies: @@ -3763,15 +3776,6 @@ __metadata: languageName: node linkType: hard -"has@npm:^1.0.3": - version: 1.0.3 - resolution: "has@npm:1.0.3" - dependencies: - function-bind: "npm:^1.1.1" - checksum: 10/a449f3185b1d165026e8d25f6a8c3390bd25c201ff4b8c1aaf948fc6a5fcfd6507310b8c00c13a3325795ea9791fcc3d79d61eafa313b5750438fc19183df57b - languageName: node - linkType: hard - "hasown@npm:^2.0.0, hasown@npm:^2.0.1, hasown@npm:^2.0.2": version: 2.0.2 resolution: "hasown@npm:2.0.2" @@ -3971,6 +3975,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: "npm:^1.0.0" + checksum: 10/2cf336fbf8cba3badcf526aa3d10384c30bab32615ac4831b74492eb4e843ccb7d8439a119c27f84bcf217d72024e611b1373f870f433b48f3fa57d3d1b863f1 + languageName: node + linkType: hard + "is-bigint@npm:^1.0.1": version: 1.0.4 resolution: "is-bigint@npm:1.0.4" @@ -4040,6 +4053,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: "npm:^1.0.2" + checksum: 10/1b8e9e1bf2075e862315ef9d38ce6d39c43ca9d81d46f73b34473506992f4b0fbaadb47ec9b420a5e76afe3f564d9f1f0d9b552ef272cc2395e0f21d743c9c29 + 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" @@ -4054,6 +4076,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: "npm:^1.0.0" + checksum: 10/499a3ce6361064c3bd27fbff5c8000212d48506ebe1977842bbd7b3e708832d0deb1f4cc69186ece3640770e8c4f1287b24d99588a0b8058b2dbdd344bc1f47f + languageName: node + linkType: hard + "is-glob@npm:^4.0.0, is-glob@npm:^4.0.1, is-glob@npm:^4.0.3": version: 4.0.3 resolution: "is-glob@npm:4.0.3" @@ -4288,6 +4319,19 @@ __metadata: languageName: node linkType: hard +"iterator.prototype@npm:^1.1.2": + version: 1.1.2 + resolution: "iterator.prototype@npm:1.1.2" + dependencies: + define-properties: "npm:^1.2.1" + get-intrinsic: "npm:^1.2.1" + has-symbols: "npm:^1.0.3" + reflect.getprototypeof: "npm:^1.0.4" + set-function-name: "npm:^2.0.1" + checksum: 10/b5013967ad8f28c9ca1be8e159eb10f591b8e46deae87476fe39d668c04374fe9158c815e8b6d2f45885b0a3fd842a8ba13f497ec762b3a0eff49bec278670b1 + languageName: node + linkType: hard + "joycon@npm:^3.1.1": version: 3.1.1 resolution: "joycon@npm:3.1.1" @@ -4466,13 +4510,15 @@ __metadata: languageName: node linkType: hard -"jsx-ast-utils@npm:^3.3.2, jsx-ast-utils@npm:^3.3.3": - version: 3.3.3 - resolution: "jsx-ast-utils@npm:3.3.3" +"jsx-ast-utils@npm:^3.3.2, jsx-ast-utils@npm:^3.3.5": + version: 3.3.5 + resolution: "jsx-ast-utils@npm:3.3.5" dependencies: - array-includes: "npm:^3.1.5" - object.assign: "npm:^4.1.3" - checksum: 10/c85f6f239593e09d8445a7e43412234304addf4bfb5d2114dc19f5ce27dfe3a8f8b12a50ff74e94606d0ad48cf1d5aff2381c939446b3fe48a5d433bb52ccb29 + array-includes: "npm:^3.1.6" + array.prototype.flat: "npm:^1.3.1" + object.assign: "npm:^4.1.4" + object.values: "npm:^1.1.6" + checksum: 10/b61d44613687dfe4cc8ad4b4fbf3711bf26c60b8d5ed1f494d723e0808415c59b24a7c0ed8ab10736a40ff84eef38cbbfb68b395e05d31117b44ffc59d31edfc languageName: node linkType: hard @@ -4501,19 +4547,19 @@ __metadata: languageName: node linkType: hard -"language-subtag-registry@npm:~0.3.2": - version: 0.3.22 - resolution: "language-subtag-registry@npm:0.3.22" - checksum: 10/5591f4abd775d1ab5945355a5ba894327d2d94c900607bdb69aac1bc5bb921dbeeeb5f616df95e8c0ae875501d19c1cfa0e852ece822121e95048deb34f2b4d2 +"language-subtag-registry@npm:^0.3.20": + version: 0.3.23 + resolution: "language-subtag-registry@npm:0.3.23" + checksum: 10/fe13ed74ab9f862db8e5747b98cc9aa08d52a19f85b5cdb4975cd364c8539bd2da3380e4560d2dbbd728ec33dff8a4b4421fcb2e5b1b1bdaa21d16f91a54d0d4 languageName: node linkType: hard -"language-tags@npm:=1.0.5": - version: 1.0.5 - resolution: "language-tags@npm:1.0.5" +"language-tags@npm:^1.0.9": + version: 1.0.9 + resolution: "language-tags@npm:1.0.9" dependencies: - language-subtag-registry: "npm:~0.3.2" - checksum: 10/2161292ddae73ff2f5a15fd2d753b21096b81324337dff4ad78d702c63210d5beb18892cd53a3455ee6e88065807c8e285e82c40503678951d2071d101a473b4 + language-subtag-registry: "npm:^0.3.20" + checksum: 10/d3a7c14b694e67f519153d6df6cb200681648d38d623c3bfa9d6a66a5ec5493628acb88e9df5aceef3cf1902ab263a205e7d59ee4cf1d6bb67e707b83538bd6d languageName: node linkType: hard @@ -5056,7 +5102,7 @@ __metadata: languageName: node linkType: hard -"object-inspect@npm:^1.13.1, object-inspect@npm:^1.9.0": +"object-inspect@npm:^1.13.1": version: 1.13.1 resolution: "object-inspect@npm:1.13.1" checksum: 10/92f4989ed83422d56431bc39656d4c780348eb15d397ce352ade6b7fec08f973b53744bd41b94af021901e61acaf78fcc19e65bf464ecc0df958586a672700f0 @@ -5080,7 +5126,7 @@ __metadata: languageName: node linkType: hard -"object.assign@npm:^4.1.3, object.assign@npm:^4.1.4, object.assign@npm:^4.1.5": +"object.assign@npm:^4.1.4, object.assign@npm:^4.1.5": version: 4.1.5 resolution: "object.assign@npm:4.1.5" dependencies: @@ -5092,18 +5138,18 @@ __metadata: languageName: node linkType: hard -"object.entries@npm:^1.1.6": - version: 1.1.6 - resolution: "object.entries@npm:1.1.6" +"object.entries@npm:^1.1.7": + version: 1.1.8 + resolution: "object.entries@npm:1.1.8" dependencies: - call-bind: "npm:^1.0.2" - define-properties: "npm:^1.1.4" - es-abstract: "npm:^1.20.4" - checksum: 10/08a09ff839fd541e8af90a47c67a3dd71721683cdc28e55470e191a8afd8b61188fb9a429fd1d1805808097d8d5950b47c0c2862157dad891226112d8321401b + call-bind: "npm:^1.0.7" + define-properties: "npm:^1.2.1" + es-object-atoms: "npm:^1.0.0" + checksum: 10/2301918fbd1ee697cf6ff7cd94f060c738c0a7d92b22fd24c7c250e9b593642c9707ad2c44d339303c1439c5967d8964251cdfc855f7f6ec55db2dd79e8dc2a7 languageName: node linkType: hard -"object.fromentries@npm:^2.0.6, object.fromentries@npm:^2.0.7": +"object.fromentries@npm:^2.0.7": version: 2.0.8 resolution: "object.fromentries@npm:2.0.8" dependencies: @@ -5126,7 +5172,7 @@ __metadata: languageName: node linkType: hard -"object.values@npm:^1.1.7": +"object.values@npm:^1.1.6, object.values@npm:^1.1.7": version: 1.2.0 resolution: "object.values@npm:1.2.0" dependencies: @@ -5362,7 +5408,7 @@ __metadata: languageName: node linkType: hard -"picocolors@npm:^1.0.1": +"picocolors@npm:^1.0.0, picocolors@npm:^1.0.1": version: 1.0.1 resolution: "picocolors@npm:1.0.1" checksum: 10/fa68166d1f56009fc02a34cdfd112b0dd3cf1ef57667ac57281f714065558c01828cdf4f18600ad6851cbe0093952ed0660b1e0156bddf2184b6aaf5817553a5 @@ -5553,12 +5599,12 @@ __metadata: languageName: node linkType: hard -"prettier@npm:^3.0.0, prettier@npm:^3.3.2": - version: 3.3.2 - resolution: "prettier@npm:3.3.2" +"prettier@npm:^3.0.0, prettier@npm:^3.3.3": + version: 3.3.3 + resolution: "prettier@npm:3.3.3" bin: prettier: bin/prettier.cjs - checksum: 10/83214e154afa5aa9b664c2506640212323eb1376b13379b2413dc351b7de0687629dca3f00ff2ec895ebd7e3a2adb7d7e231b6c77606e2358137f2150807405b + checksum: 10/5beac1f30b5b40162532b8e2f7c3a4eb650910a2695e9c8512a62ffdc09dae93190c29db9107fa7f26d1b6c71aad3628ecb9b5de1ecb0911191099be109434d7 languageName: node linkType: hard @@ -5750,13 +5796,35 @@ __metadata: languageName: node linkType: hard -"regenerator-runtime@npm:^0.13.11, regenerator-runtime@npm:^0.13.3": +"reflect.getprototypeof@npm:^1.0.4": + version: 1.0.6 + resolution: "reflect.getprototypeof@npm:1.0.6" + dependencies: + call-bind: "npm:^1.0.7" + define-properties: "npm:^1.2.1" + es-abstract: "npm:^1.23.1" + es-errors: "npm:^1.3.0" + get-intrinsic: "npm:^1.2.4" + globalthis: "npm:^1.0.3" + which-builtin-type: "npm:^1.1.3" + checksum: 10/518f6457e4bb470c9b317d239c62d4b4a05678b7eae4f1c3f4332fad379b3ea6d2d8999bfad448547fdba8fb77e4725cfe8c6440d0168ff387f16b4f19f759ad + languageName: node + linkType: hard + +"regenerator-runtime@npm:^0.13.3": version: 0.13.11 resolution: "regenerator-runtime@npm:0.13.11" checksum: 10/d493e9e118abef5b099c78170834f18540c4933cedf9bfabc32d3af94abfb59a7907bd7950259cbab0a929ebca7db77301e8024e5121e6482a82f78283dfd20c languageName: node linkType: hard +"regenerator-runtime@npm:^0.14.0": + version: 0.14.1 + resolution: "regenerator-runtime@npm:0.14.1" + checksum: 10/5db3161abb311eef8c45bcf6565f4f378f785900ed3945acf740a9888c792f75b98ecb77f0775f3bf95502ff423529d23e94f41d80c8256e8fa05ed4b07cf471 + languageName: node + linkType: hard + "regexp-ast-analysis@npm:^0.7.0, regexp-ast-analysis@npm:^0.7.1": version: 0.7.1 resolution: "regexp-ast-analysis@npm:0.7.1" @@ -6022,7 +6090,7 @@ __metadata: languageName: node linkType: hard -"semver@npm:^6.0.0, semver@npm:^6.1.0, semver@npm:^6.3.0, semver@npm:^6.3.1": +"semver@npm:^6.0.0, semver@npm:^6.1.0, semver@npm:^6.3.1": version: 6.3.1 resolution: "semver@npm:6.3.1" bin: @@ -6032,11 +6100,11 @@ __metadata: linkType: hard "semver@npm:^7.1.2, semver@npm:^7.3.2, semver@npm:^7.3.5, semver@npm:^7.3.7, semver@npm:^7.5.3, semver@npm:^7.6.0, semver@npm:^7.6.1": - version: 7.6.2 - resolution: "semver@npm:7.6.2" + version: 7.6.3 + resolution: "semver@npm:7.6.3" bin: semver: bin/semver.js - checksum: 10/296b17d027f57a87ef645e9c725bff4865a38dfc9caf29b26aa084b85820972fbe7372caea1ba6857162fa990702c6d9c1d82297cecb72d56c78ab29070d2ca2 + checksum: 10/36b1fbe1a2b6f873559cd57b238f1094a053dbfd997ceeb8757d79d1d2089c56d1321b9f1069ce263dc64cfa922fa1d2ad566b39426fe1ac6c723c1487589e10 languageName: node linkType: hard @@ -6117,13 +6185,14 @@ __metadata: linkType: hard "side-channel@npm:^1.0.4": - version: 1.0.4 - resolution: "side-channel@npm:1.0.4" + version: 1.0.6 + resolution: "side-channel@npm:1.0.6" dependencies: - call-bind: "npm:^1.0.0" - get-intrinsic: "npm:^1.0.2" - object-inspect: "npm:^1.9.0" - checksum: 10/c4998d9fc530b0e75a7fd791ad868fdc42846f072734f9080ff55cc8dc7d3899abcda24fd896aa6648c3ab7021b4bb478073eb4f44dfd55bce9714bc1a7c5d45 + call-bind: "npm:^1.0.7" + es-errors: "npm:^1.3.0" + get-intrinsic: "npm:^1.2.4" + object-inspect: "npm:^1.13.1" + checksum: 10/eb10944f38cebad8ad643dd02657592fa41273ce15b8bfa928d3291aff2d30c20ff777cfe908f76ccc4551ace2d1245822fdc576657cce40e9066c638ca8fa4d languageName: node linkType: hard @@ -6462,13 +6531,13 @@ __metadata: languageName: node linkType: hard -"synckit@npm:^0.8.6": - version: 0.8.8 - resolution: "synckit@npm:0.8.8" +"synckit@npm:^0.9.1": + version: 0.9.1 + resolution: "synckit@npm:0.9.1" dependencies: "@pkgr/core": "npm:^0.1.0" tslib: "npm:^2.6.2" - checksum: 10/2864a5c3e689ad5b991bebbd8a583c5682c4fa08a4f39986b510b6b5d160c08fc3672444069f8f96ed6a9d12772879c674c1f61e728573eadfa90af40a765b74 + checksum: 10/bff3903976baf8b699b5483228116d70223781a93b17c70e685c277ee960cdfd1a09cb5a741e6a9ec35e2428f14f4664baec41ccc99a598f267608b2a54f529b languageName: node linkType: hard @@ -6728,23 +6797,23 @@ __metadata: languageName: node linkType: hard -"typescript@npm:5.5.2": - version: 5.5.2 - resolution: "typescript@npm:5.5.2" +"typescript@npm:5.5.3": + version: 5.5.3 + resolution: "typescript@npm:5.5.3" bin: tsc: bin/tsc tsserver: bin/tsserver - checksum: 10/9118b20f248e76b0dbff8737fef65dfa89d02668d4e633d2c5ceac99033a0ca5e8a1c1a53bc94da68e8f67677a88f318663dde859c9e9a09c1e116415daec2ba + checksum: 10/11a867312419ed497929aafd2f1d28b2cd41810a5eb6c6e9e169559112e9ea073d681c121a29102e67cd4478d0a4ae37a306a5800f3717f59c4337e6a9bd5e8d languageName: node linkType: hard -"typescript@patch:typescript@npm%3A5.5.2#optional!builtin": - version: 5.5.2 - resolution: "typescript@patch:typescript@npm%3A5.5.2#optional!builtin::version=5.5.2&hash=379a07" +"typescript@patch:typescript@npm%3A5.5.3#optional!builtin": + version: 5.5.3 + resolution: "typescript@patch:typescript@npm%3A5.5.3#optional!builtin::version=5.5.3&hash=379a07" bin: tsc: bin/tsc tsserver: bin/tsserver - checksum: 10/ac3145f65cf9e72ab29f2196e05d5816b355dc1a9195b9f010d285182a12457cfacd068be2dd22c877f88ebc966ac6e0e83f51c8586412b16499a27e3670ff4b + checksum: 10/7cf7acb78a80f749b82842f2ffe01e90e7b3e709a6f4268588e0b7599c41dca1059be217f47778fe1a380bfaf60933021ef20d002c426d4d7745e1b36c11467b languageName: node linkType: hard @@ -6768,9 +6837,9 @@ __metadata: linkType: hard "undici@npm:^6.14.1": - version: 6.15.0 - resolution: "undici@npm:6.15.0" - checksum: 10/18584ea43a282fc157a7d8e4609075e8f92264e4f86c8b2c7e778a910d5630548294d355eabbacf2382a37102b6eebe4c49eff4b773a293fbadd7dab312f2fb7 + version: 6.19.2 + resolution: "undici@npm:6.19.2" + checksum: 10/f4895c0c1e2fcde18076ac98965c231875811b8e14ceab1a7b19e940ed1a2fce69e0864e1186bfdc9347dffe0f39a00daf6dd5e7c0169b2b33de59a859dc2f1d languageName: node linkType: hard @@ -6781,9 +6850,9 @@ __metadata: languageName: node linkType: hard -"update-browserslist-db@npm:^1.0.13": - version: 1.0.16 - resolution: "update-browserslist-db@npm:1.0.16" +"update-browserslist-db@npm:^1.1.0": + version: 1.1.0 + resolution: "update-browserslist-db@npm:1.1.0" dependencies: escalade: "npm:^3.1.2" picocolors: "npm:^1.0.1" @@ -6791,7 +6860,7 @@ __metadata: browserslist: ">= 4.21.0" bin: update-browserslist-db: cli.js - checksum: 10/071bf0b2fb8568db6cd42ee2598ac9b87c794a7229fcbf1b035ae7f883e770c07143f16a5371525d5bcb94b99f9a1b279036142b0195ffd4cf5a0008fc4a500e + checksum: 10/d70b9efeaf4601aadb1a4f6456a7a5d9118e0063d995866b8e0c5e0cf559482671dab6ce7b079f9536b06758a344fbd83f974b965211e1c6e8d1958540b0c24c languageName: node linkType: hard @@ -6894,6 +6963,26 @@ __metadata: languageName: node linkType: hard +"which-builtin-type@npm:^1.1.3": + version: 1.1.3 + resolution: "which-builtin-type@npm:1.1.3" + dependencies: + function.prototype.name: "npm:^1.1.5" + has-tostringtag: "npm:^1.0.0" + is-async-function: "npm:^2.0.0" + is-date-object: "npm:^1.0.5" + is-finalizationregistry: "npm:^1.0.2" + is-generator-function: "npm:^1.0.10" + is-regex: "npm:^1.1.4" + is-weakref: "npm:^1.0.2" + isarray: "npm:^2.0.5" + which-boxed-primitive: "npm:^1.0.2" + which-collection: "npm:^1.0.1" + which-typed-array: "npm:^1.1.9" + checksum: 10/d7823c4a6aa4fc8183eb572edd9f9ee2751e5f3ba2ccd5b298cc163f720df0f02ee1a5291d18ca8a41d48144ef40007ff6a64e6f5e7c506527086c7513a5f673 + languageName: node + linkType: hard + "which-collection@npm:^1.0.1": version: 1.0.1 resolution: "which-collection@npm:1.0.1"