From 07010463a80a6d46156c99d1bd55083109a1743a Mon Sep 17 00:00:00 2001 From: falsepopsky Date: Tue, 24 Oct 2023 14:40:57 -0300 Subject: [PATCH 1/4] test: update new api --- tests/mocks/handlers.ts | 206 ++++++++++++++++++++++------------------ 1 file changed, 112 insertions(+), 94 deletions(-) diff --git a/tests/mocks/handlers.ts b/tests/mocks/handlers.ts index ec3269e..f477032 100644 --- a/tests/mocks/handlers.ts +++ b/tests/mocks/handlers.ts @@ -1,4 +1,4 @@ -import { rest, type RestHandler } from 'msw'; +import { HttpResponse, http, type HttpHandler } from 'msw'; import { artwork, artworkExtended, @@ -53,168 +53,186 @@ import { updatesFull, } from './response.js'; -export const handlers: RestHandler[] = [ - rest.get('https://api4.thetvdb.com/v4/awards/categories/:id/extended', async (_req, res, ctx) => { - return await res(ctx.json(awardsCategoryIdExtended)); +export const handlers: HttpHandler[] = [ + http.get('https://api4.thetvdb.com/v4/awards/categories/:id/extended', () => { + return HttpResponse.json(awardsCategoryIdExtended) }), - rest.get('https://api4.thetvdb.com/v4/awards/categories/:id', async (_req, res, ctx) => { - return await res(ctx.json(awardsCategoryId)); + http.get('https://api4.thetvdb.com/v4/awards/categories/:id', () => { + return HttpResponse.json(awardsCategoryId) }), - rest.get('https://api4.thetvdb.com/v4/awards/:id/extended', async (_req, res, ctx) => { - return await res(ctx.json(awardsIdExtended)); + http.get('https://api4.thetvdb.com/v4/awards/:id/extended', () => { + return HttpResponse.json(awardsIdExtended) }), - rest.get('https://api4.thetvdb.com/v4/awards/:id', async (_req, res, ctx) => { - return await res(ctx.json(awardsId)); + http.get('https://api4.thetvdb.com/v4/awards/:id', () => { + return HttpResponse.json(awardsId) + }), - rest.get('https://api4.thetvdb.com/v4/awards', async (_req, res, ctx) => { - return await res(ctx.json(awards)); + http.get('https://api4.thetvdb.com/v4/awards', () => { + return HttpResponse.json(awards) }), - rest.get('https://api4.thetvdb.com/v4/companies', async (req, res, ctx) => { - if (req.url.href === 'https://api4.thetvdb.com/v4/companies?page=94') { - return await res(ctx.json(companiesPage)); + // @ts-expect-error: DefaultBodyType doesn't expect undefined + http.get('https://api4.thetvdb.com/v4/companies', ({ request }) => { + if (request.url === 'https://api4.thetvdb.com/v4/companies?page=94') { + return HttpResponse.json(companiesPage) } else { - return await res(ctx.json(companies)); + return HttpResponse.json(companies) } }), - rest.get('https://api4.thetvdb.com/v4/companies/:path', async (req, res, ctx) => { - switch (req.url.href) { + // @ts-expect-error: DefaultBodyType doesn't expect undefined + http.get('https://api4.thetvdb.com/v4/companies/:path', ({ request }) => { + switch (request.url) { case 'https://api4.thetvdb.com/v4/companies/types': - return await res(ctx.json(companiesTypes)); + return HttpResponse.json(companiesTypes) default: - return await res(ctx.json(companyId)); + return HttpResponse.json(companyId) } }), - rest.get('https://api4.thetvdb.com/v4/content/ratings', async (_req, res, ctx) => { - return await res(ctx.json(contentRatings)); + http.get('https://api4.thetvdb.com/v4/content/ratings', () => { + return HttpResponse.json(contentRatings) }), - rest.get('https://api4.thetvdb.com/v4/countries', async (_req, res, ctx) => { - return await res(ctx.json(countries)); + http.get('https://api4.thetvdb.com/v4/countries', () => { + return HttpResponse.json(countries) + }), - rest.get('https://api4.thetvdb.com/v4/entities', async (_req, res, ctx) => { - return await res(ctx.json(entities)); + http.get('https://api4.thetvdb.com/v4/entities', () => { + return HttpResponse.json(entities) }), - rest.get('https://api4.thetvdb.com/v4/genres', async (_req, res, ctx) => { - return await res(ctx.json(genres)); + http.get('https://api4.thetvdb.com/v4/genres', () => { + return HttpResponse.json(genres) }), - rest.get('https://api4.thetvdb.com/v4/languages', async (_req, res, ctx) => { - return await res(ctx.json(languages)); + http.get('https://api4.thetvdb.com/v4/languages', () => { + return HttpResponse.json(languages) }), - rest.get('https://api4.thetvdb.com/v4/updates', async (req, res, ctx) => { - if (req.url.href === 'https://api4.thetvdb.com/v4/updates?since=1682899200&type=artwork&action=update&page=2') { - return await res(ctx.json(updatesFull)); + // @ts-expect-error: DefaultBodyType doesn't expect undefined + http.get('https://api4.thetvdb.com/v4/updates', ({ request }) => { + if (request.url === 'https://api4.thetvdb.com/v4/updates?since=1682899200&type=artwork&action=update&page=2') { + return HttpResponse.json(updatesFull); } else { - return await res(ctx.json(updates)); + return HttpResponse.json(updates); } }), - rest.get('https://api4.thetvdb.com/v4/artwork/:id/extended', async (_req, res, ctx) => { - return await res(ctx.json(artworkExtended)); + http.get('https://api4.thetvdb.com/v4/artwork/:id/extended', () => { + return HttpResponse.json(artworkExtended) }), - rest.get('https://api4.thetvdb.com/v4/artwork/:id', async (req, res, ctx) => { - switch (req.url.href) { + // @ts-expect-error: DefaultBodyType doesn't expect undefined + http.get('https://api4.thetvdb.com/v4/artwork/:id', ({ request }) => { + switch (request.url) { case 'https://api4.thetvdb.com/v4/artwork/types': - return await res(ctx.json(artworkTypes)); + return HttpResponse.json(artworkTypes); case 'https://api4.thetvdb.com/v4/artwork/statuses': - return await res(ctx.json(artworkStatuses)); + return HttpResponse.json(artworkStatuses); default: - return await res(ctx.json(artwork)); + return HttpResponse.json(artwork); } }), - rest.get('https://api4.thetvdb.com/v4/characters/:id', async (req, res, ctx) => { - return await res(ctx.json(character)); + http.get('https://api4.thetvdb.com/v4/characters/:id', () => { + return HttpResponse.json(character) }), - rest.get('https://api4.thetvdb.com/v4/episodes/:id/extended', async (req, res, ctx) => { - if (req.url.href === 'https://api4.thetvdb.com/v4/episodes/127396/extended?meta=translations') { - return await res(ctx.json(episodesET)); + // @ts-expect-error: DefaultBodyType doesn't expect undefined + http.get('https://api4.thetvdb.com/v4/episodes/:id/extended', ({ request }) => { + if (request.url === 'https://api4.thetvdb.com/v4/episodes/127396/extended?meta=translations') { + return HttpResponse.json(episodesET); } else { - return await res(ctx.json(episodesE)); + return HttpResponse.json(episodesE); } }), - rest.get('https://api4.thetvdb.com/v4/episodes/:id', async (_req, res, ctx) => { - return await res(ctx.json(episodes)); + http.get('https://api4.thetvdb.com/v4/episodes/:id', () => { + return HttpResponse.json(episodes) + }), - rest.get('https://api4.thetvdb.com/v4/people/:id/extended', async (req, res, ctx) => { - if (req.url.href === 'https://api4.thetvdb.com/v4/people/312388/extended?meta=translations') { - return await res(ctx.json(peopleET)); + // @ts-expect-error: DefaultBodyType doesn't expect undefined + http.get('https://api4.thetvdb.com/v4/people/:id/extended', ({ request }) => { + if (request.url === 'https://api4.thetvdb.com/v4/people/312388/extended?meta=translations') { + return HttpResponse.json(peopleET); } else { - return await res(ctx.json(peopleE)); + return HttpResponse.json(peopleE); } }), - rest.get('https://api4.thetvdb.com/v4/people/:id', async (_req, res, ctx) => { - return await res(ctx.json(people)); + http.get('https://api4.thetvdb.com/v4/people/:id', () => { + return HttpResponse.json(people) + }), - rest.get('https://api4.thetvdb.com/v4/search', async (req, res, ctx) => { - switch (req.url.href) { + // @ts-expect-error: DefaultBodyType doesn't expect undefined + http.get('https://api4.thetvdb.com/v4/search', ({ request }) => { + switch (request.url) { case 'https://api4.thetvdb.com/v4/search?query=saint+seiya&type=series&limit=1': - return await res(ctx.json(searchTL)); + return HttpResponse.json(searchTL); case 'https://api4.thetvdb.com/v4/search?query=saint+seiya&type=series': - return await res(ctx.json(searchT)); + return HttpResponse.json(searchT); default: - return await res(ctx.json(search)); + return HttpResponse.json(search); } }), - rest.get('https://api4.thetvdb.com/v4/movies/filter', async (req, res, ctx) => { - switch (req.url.href) { + // @ts-expect-error: DefaultBodyType doesn't expect undefined + http.get('https://api4.thetvdb.com/v4/movies/filter', ({ request }) => { + switch (request.url) { case 'https://api4.thetvdb.com/v4/movies/filter?country=usa&lang=eng&sort=name': - return await res(ctx.json(filterMovieS)); + return HttpResponse.json(filterMovieS); case 'https://api4.thetvdb.com/v4/movies/filter?country=usa&lang=eng&year=2023': - return await res(ctx.json(filterMovieY)); + return HttpResponse.json(filterMovieY); default: - return await res(ctx.json(filterMovie)); + return HttpResponse.json(filterMovie); } }), - rest.get('https://api4.thetvdb.com/v4/movies/:id/extended', async (req, res, ctx) => { - switch (req.url.href) { + // @ts-expect-error: DefaultBodyType doesn't expect undefined + http.get('https://api4.thetvdb.com/v4/movies/:id/extended', ({ request }) => { + switch (request.url) { case 'https://api4.thetvdb.com/v4/movies/3646/extended?meta=translations&short=true': - return await res(ctx.json(movieEMS)); + return HttpResponse.json(movieEMS); case 'https://api4.thetvdb.com/v4/movies/3646/extended?meta=translations': - return await res(ctx.json(movieEM)); + return HttpResponse.json(movieEM); case 'https://api4.thetvdb.com/v4/movies/3646/extended?short=true': - return await res(ctx.json(movieES)); + return HttpResponse.json(movieES); default: - return await res(ctx.json(movieE)); + return HttpResponse.json(movieE); } }), - rest.get('https://api4.thetvdb.com/v4/movies/:id', async (_req, res, ctx) => { - return await res(ctx.json(movie)); + http.get('https://api4.thetvdb.com/v4/movies/:id', () => { + return HttpResponse.json(movie) + }), - rest.get('https://api4.thetvdb.com/v4/seasons/:id/extended', async (req, res, ctx) => { - switch (req.url.href) { + // @ts-expect-error: DefaultBodyType doesn't expect undefined + http.get('https://api4.thetvdb.com/v4/seasons/:id/extended', ({ request }) => { + switch (request.url) { case 'https://api4.thetvdb.com/v4/seasons/6365/extended?meta=translations': - return await res(ctx.json(seasonEM)); + return HttpResponse.json(seasonEM); default: - return await res(ctx.json(seasonE)); + return HttpResponse.json(seasonE); } }), - rest.get('https://api4.thetvdb.com/v4/seasons/:id', async (_req, res, ctx) => { - return await res(ctx.json(season)); + http.get('https://api4.thetvdb.com/v4/seasons/:id', () => { + return HttpResponse.json(season) + }), - rest.get('https://api4.thetvdb.com/v4/series/filter', async (req, res, ctx) => { - switch (req.url.href) { + // @ts-expect-error: DefaultBodyType doesn't expect undefined + http.get('https://api4.thetvdb.com/v4/series/filter', ({ request }) => { + switch (request.url) { case 'https://api4.thetvdb.com/v4/series/filter?country=usa&lang=eng&sort=name': - return await res(ctx.json(filterSerieS)); + return HttpResponse.json(filterSerieS); case 'https://api4.thetvdb.com/v4/series/filter?country=usa&lang=eng&year=2023': - return await res(ctx.json(filterSerieY)); + return HttpResponse.json(filterSerieY); default: - return await res(ctx.json(filterSerie)); + return HttpResponse.json(filterSerie); } }), - rest.get('https://api4.thetvdb.com/v4/series/:id/extended', async (req, res, ctx) => { - switch (req.url.href) { + // @ts-expect-error: DefaultBodyType doesn't expect undefined + http.get('https://api4.thetvdb.com/v4/series/:id/extended', ({ request }) => { + switch (request.url) { case 'https://api4.thetvdb.com/v4/series/78878/extended?meta=translations&short=true': - return await res(ctx.json(seriesETS)); + return HttpResponse.json(seriesETS); case 'https://api4.thetvdb.com/v4/series/78878/extended?meta=episodes&short=true': - return await res(ctx.json(seriesEES)); + return HttpResponse.json(seriesEES); case 'https://api4.thetvdb.com/v4/series/78878/extended?meta=translations': - return await res(ctx.json(seriesET)); + return HttpResponse.json(seriesET); case 'https://api4.thetvdb.com/v4/series/78878/extended?meta=episodes': - return await res(ctx.json(seriesEE)); + return HttpResponse.json(seriesEE); case 'https://api4.thetvdb.com/v4/series/78878/extended?short=true': - return await res(ctx.json(seriesES)); + return HttpResponse.json(seriesES); default: - return await res(ctx.json(seriesE)); + return HttpResponse.json(seriesE); } }), - rest.get('https://api4.thetvdb.com/v4/series/:id', async (_req, res, ctx) => { - return await res(ctx.json(series)); + http.get('https://api4.thetvdb.com/v4/series/:id', () => { + return HttpResponse.json(series) }), ]; From 97e56db38d31331eaeddd3064816a2e508a203af Mon Sep 17 00:00:00 2001 From: falsepopsky Date: Tue, 24 Oct 2023 14:41:45 -0300 Subject: [PATCH 2/4] chore: update node engines and deps. --- package.json | 16 +- pnpm-lock.yaml | 500 ++++++++++++++++++++++++------------------------- 2 files changed, 250 insertions(+), 266 deletions(-) diff --git a/package.json b/package.json index 88f98ac..618393e 100644 --- a/package.json +++ b/package.json @@ -39,29 +39,29 @@ }, "devDependencies": { "@changesets/cli": "^2.26.2", - "@swc/core": "^1.3.94", + "@swc/core": "^1.3.95", "@swc/jest": "^0.2.29", "@types/jest": "^29.5.6", - "@types/node": "^20.8.7", - "@typescript-eslint/eslint-plugin": "^6.8.0", - "@typescript-eslint/parser": "^6.8.0", + "@types/node": "^20.8.8", + "@typescript-eslint/eslint-plugin": "^6.9.0", + "@typescript-eslint/parser": "^6.9.0", "dotenv": "^16.3.1", "eslint": "^8.52.0", "eslint-config-prettier": "^9.0.0", "eslint-import-resolver-typescript": "^3.6.1", - "eslint-plugin-import": "^2.28.1", + "eslint-plugin-import": "^2.29.0", "eslint-plugin-jest": "^27.4.3", "eslint-plugin-n": "^16.2.0", "eslint-plugin-promise": "^6.1.1", "jest": "^29.7.0", - "msw": "^1.3.2", + "msw": "^2.0.0", "prettier": "^3.0.3", "tsx": "^3.14.0", "typescript": "^5.2.2", - "vitepress": "1.0.0-rc.23" + "vitepress": "1.0.0-rc.24" }, "engines": { - "node": ">=18", + "node": "^18.0.0 || ^20.0.0", "pnpm": ">=8" }, "repository": { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 80b1543..9958f08 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -9,23 +9,23 @@ devDependencies: specifier: ^2.26.2 version: 2.26.2 '@swc/core': - specifier: ^1.3.94 - version: 1.3.94 + specifier: ^1.3.95 + version: 1.3.95 '@swc/jest': specifier: ^0.2.29 - version: 0.2.29(@swc/core@1.3.94) + version: 0.2.29(@swc/core@1.3.95) '@types/jest': specifier: ^29.5.6 version: 29.5.6 '@types/node': - specifier: ^20.8.7 - version: 20.8.7 + specifier: ^20.8.8 + version: 20.8.8 '@typescript-eslint/eslint-plugin': - specifier: ^6.8.0 - version: 6.8.0(@typescript-eslint/parser@6.8.0)(eslint@8.52.0)(typescript@5.2.2) + specifier: ^6.9.0 + version: 6.9.0(@typescript-eslint/parser@6.9.0)(eslint@8.52.0)(typescript@5.2.2) '@typescript-eslint/parser': - specifier: ^6.8.0 - version: 6.8.0(eslint@8.52.0)(typescript@5.2.2) + specifier: ^6.9.0 + version: 6.9.0(eslint@8.52.0)(typescript@5.2.2) dotenv: specifier: ^16.3.1 version: 16.3.1 @@ -37,13 +37,13 @@ devDependencies: version: 9.0.0(eslint@8.52.0) eslint-import-resolver-typescript: specifier: ^3.6.1 - version: 3.6.1(@typescript-eslint/parser@6.8.0)(eslint-plugin-import@2.28.1)(eslint@8.52.0) + version: 3.6.1(@typescript-eslint/parser@6.9.0)(eslint-plugin-import@2.29.0)(eslint@8.52.0) eslint-plugin-import: - specifier: ^2.28.1 - version: 2.28.1(@typescript-eslint/parser@6.8.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.52.0) + specifier: ^2.29.0 + version: 2.29.0(@typescript-eslint/parser@6.9.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.52.0) eslint-plugin-jest: specifier: ^27.4.3 - version: 27.4.3(@typescript-eslint/eslint-plugin@6.8.0)(eslint@8.52.0)(jest@29.7.0)(typescript@5.2.2) + version: 27.4.3(@typescript-eslint/eslint-plugin@6.9.0)(eslint@8.52.0)(jest@29.7.0)(typescript@5.2.2) eslint-plugin-n: specifier: ^16.2.0 version: 16.2.0(eslint@8.52.0) @@ -52,10 +52,10 @@ devDependencies: version: 6.1.1(eslint@8.52.0) jest: specifier: ^29.7.0 - version: 29.7.0(@types/node@20.8.7) + version: 29.7.0(@types/node@20.8.8) msw: - specifier: ^1.3.2 - version: 1.3.2(typescript@5.2.2) + specifier: ^2.0.0 + version: 2.0.0(typescript@5.2.2) prettier: specifier: ^3.0.3 version: 3.0.3 @@ -66,8 +66,8 @@ devDependencies: specifier: ^5.2.2 version: 5.2.2 vitepress: - specifier: 1.0.0-rc.23 - version: 1.0.0-rc.23(@algolia/client-search@4.20.0)(@types/node@20.8.7)(search-insights@2.9.0)(typescript@5.2.2) + specifier: 1.0.0-rc.24 + version: 1.0.0-rc.24(@algolia/client-search@4.20.0)(@types/node@20.8.8)(search-insights@2.9.0)(typescript@5.2.2) packages: @@ -554,6 +554,24 @@ packages: resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} dev: true + /@bundled-es-modules/cookie@2.0.0: + resolution: {integrity: sha512-Or6YHg/kamKHpxULAdSqhGqnWFneIXu1NKvvfBBzKGwpVsYuFIQ5aBPHDnnoR3ghW1nvSkALd+EF9iMtY7Vjxw==} + dependencies: + cookie: 0.5.0 + dev: true + + /@bundled-es-modules/js-levenshtein@2.0.1: + resolution: {integrity: sha512-DERMS3yfbAljKsQc0U2wcqGKUWpdFjwqWuoMugEJlqBnKO180/n+4SR/J8MRDt1AN48X1ovgoD9KrdVXcaa3Rg==} + dependencies: + js-levenshtein: 1.1.6 + dev: true + + /@bundled-es-modules/statuses@1.0.1: + resolution: {integrity: sha512-yn7BklA5acgcBr+7w064fGV+SGIFySjCKpqjcWgBAIfrAkY+4GQTJJHQMeT3V/sgz23VTEVV8TtOmkvJAhFVfg==} + dependencies: + statuses: 2.0.1 + dev: true + /@changesets/apply-release-plan@6.1.4: resolution: {integrity: sha512-FMpKF1fRlJyCZVYHr3CbinpZZ+6MwvOtWUuO8uo+svcATEoc1zRDcj23pAurJ2TZ/uVz1wFHH6K3NlACy0PLew==} dependencies: @@ -1057,7 +1075,7 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.6.3 - '@types/node': 20.8.7 + '@types/node': 20.8.8 chalk: 4.1.2 jest-message-util: 29.7.0 jest-util: 29.7.0 @@ -1078,14 +1096,14 @@ packages: '@jest/test-result': 29.7.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.8.7 + '@types/node': 20.8.8 ansi-escapes: 4.3.2 chalk: 4.1.2 ci-info: 3.9.0 exit: 0.1.2 graceful-fs: 4.2.11 jest-changed-files: 29.7.0 - jest-config: 29.7.0(@types/node@20.8.7) + jest-config: 29.7.0(@types/node@20.8.8) jest-haste-map: 29.7.0 jest-message-util: 29.7.0 jest-regex-util: 29.6.3 @@ -1120,7 +1138,7 @@ packages: dependencies: '@jest/fake-timers': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.8.7 + '@types/node': 20.8.8 jest-mock: 29.7.0 dev: true @@ -1147,7 +1165,7 @@ packages: dependencies: '@jest/types': 29.6.3 '@sinonjs/fake-timers': 10.3.0 - '@types/node': 20.8.7 + '@types/node': 20.8.8 jest-message-util: 29.7.0 jest-mock: 29.7.0 jest-util: 29.7.0 @@ -1180,7 +1198,7 @@ packages: '@jest/transform': 29.7.0 '@jest/types': 29.6.3 '@jridgewell/trace-mapping': 0.3.20 - '@types/node': 20.8.7 + '@types/node': 20.8.8 chalk: 4.1.2 collect-v8-coverage: 1.0.2 exit: 0.1.2 @@ -1267,7 +1285,7 @@ packages: dependencies: '@types/istanbul-lib-coverage': 2.0.5 '@types/istanbul-reports': 3.0.3 - '@types/node': 20.8.7 + '@types/node': 20.8.8 '@types/yargs': 16.0.7 chalk: 4.1.2 dev: true @@ -1279,7 +1297,7 @@ packages: '@jest/schemas': 29.6.3 '@types/istanbul-lib-coverage': 2.0.5 '@types/istanbul-reports': 3.0.3 - '@types/node': 20.8.7 + '@types/node': 20.8.8 '@types/yargs': 17.0.29 chalk: 4.1.2 dev: true @@ -1334,28 +1352,21 @@ packages: read-yaml-file: 1.1.0 dev: true - /@mswjs/cookies@0.2.2: - resolution: {integrity: sha512-mlN83YSrcFgk7Dm1Mys40DLssI1KdJji2CMKN8eOlBqsTADYzj2+jWzsANsUTFbxDMWPD5e9bfA1RGqBpS3O1g==} + /@mswjs/cookies@1.0.0: + resolution: {integrity: sha512-TdXoBdI+h/EDTsVLCX/34s4+9U0sWi92qFnIGUEikpMCSKLhBeujovyYVSoORNbYgsBH5ga7/tfxyWcEZAxiYA==} engines: {node: '>=14'} - dependencies: - '@types/set-cookie-parser': 2.4.5 - set-cookie-parser: 2.6.0 dev: true - /@mswjs/interceptors@0.17.10: - resolution: {integrity: sha512-N8x7eSLGcmUFNWZRxT1vsHvypzIRgQYdG0rJey/rZCy6zT/30qDt8Joj7FxzGNLSwXbeZqJOMqDurp7ra4hgbw==} - engines: {node: '>=14'} + /@mswjs/interceptors@0.25.7: + resolution: {integrity: sha512-U7iFYs/qU/5jfz1VDpoYz3xqX9nzhsBXw7q923dv6GiGTy+m2ZLhD33L80R/shHOW/YWjeH6k16GbIHGw+bAng==} + engines: {node: '>=18'} dependencies: - '@open-draft/until': 1.0.3 - '@types/debug': 4.1.10 - '@xmldom/xmldom': 0.8.10 - debug: 4.3.4 - headers-polyfill: 3.2.5 + '@open-draft/deferred-promise': 2.2.0 + '@open-draft/logger': 0.3.0 + '@open-draft/until': 2.1.0 + is-node-process: 1.2.0 outvariant: 1.4.0 - strict-event-emitter: 0.2.8 - web-encoding: 1.1.5 - transitivePeerDependencies: - - supports-color + strict-event-emitter: 0.5.1 dev: true /@nodelib/fs.scandir@2.1.5: @@ -1379,8 +1390,19 @@ packages: fastq: 1.15.0 dev: true - /@open-draft/until@1.0.3: - resolution: {integrity: sha512-Aq58f5HiWdyDlFffbbSjAlv596h/cOnt2DO1w3DOC7OJ5EHs0hd/nycJfiu9RJbT6Yk6F1knnRRXNSpxoIVZ9Q==} + /@open-draft/deferred-promise@2.2.0: + resolution: {integrity: sha512-CecwLWx3rhxVQF6V4bAgPS5t+So2sTbPgAzafKkVizyi7tlwpcFpdFqq+wqF2OwNBmqFuu6tOyouTuxgpMfzmA==} + dev: true + + /@open-draft/logger@0.3.0: + resolution: {integrity: sha512-X2g45fzhxH238HKO4xbSr7+wBS8Fvw6ixhTDuvLd5mqh6bJJCFAPwU9mPDxbcrRtfxv4u5IHCEH77BmxvXmmxQ==} + dependencies: + is-node-process: 1.2.0 + outvariant: 1.4.0 + dev: true + + /@open-draft/until@2.1.0: + resolution: {integrity: sha512-U69T3ItWHvLwGg5eJ0n3I62nWuE6ilHlmz7zM0npLBRvPRd7e6NYmg54vvRtP5mZG7kZqZCFVdsTWo7BPtBujg==} dev: true /@sinclair/typebox@0.27.8: @@ -1399,8 +1421,8 @@ packages: '@sinonjs/commons': 3.0.0 dev: true - /@swc/core-darwin-arm64@1.3.94: - resolution: {integrity: sha512-KNuE6opIy/wAXiGUWLhGWhCG3wA/AdjG6eYkv6dstrAURLaQMAoD8vDfVm8pxS8FA8Kx+0Z4QiDNPqk5aKIsqg==} + /@swc/core-darwin-arm64@1.3.95: + resolution: {integrity: sha512-VAuBAP3MNetO/yBIBzvorUXq7lUBwhfpJxYViSxyluMwtoQDhE/XWN598TWMwMl1ZuImb56d7eUsuFdjgY7pJw==} engines: {node: '>=10'} cpu: [arm64] os: [darwin] @@ -1408,8 +1430,8 @@ packages: dev: true optional: true - /@swc/core-darwin-x64@1.3.94: - resolution: {integrity: sha512-HypemhyehQrLqXwfJv5ronD4BMAXdgMCP4Ei7rt3B6Ftmt9axwGvdwGiXxsYR9h1ncyxoVxN+coGxbNIhKhahw==} + /@swc/core-darwin-x64@1.3.95: + resolution: {integrity: sha512-20vF2rvUsN98zGLZc+dsEdHvLoCuiYq/1B+TDeE4oolgTFDmI1jKO+m44PzWjYtKGU9QR95sZ6r/uec0QC5O4Q==} engines: {node: '>=10'} cpu: [x64] os: [darwin] @@ -1417,8 +1439,8 @@ packages: dev: true optional: true - /@swc/core-linux-arm-gnueabihf@1.3.94: - resolution: {integrity: sha512-KzKN54c7Y6X1db+bBVSXG4+bXmAPvXtDWk+TgwNJH4yYliOrnP/RKkHA5QZ9VFSnqJF06/sAO4kYBiL/aVQDBQ==} + /@swc/core-linux-arm-gnueabihf@1.3.95: + resolution: {integrity: sha512-oEudEM8PST1MRNGs+zu0cx5i9uP8TsLE4/L9HHrS07Ck0RJ3DCj3O2fU832nmLe2QxnAGPwBpSO9FntLfOiWEQ==} engines: {node: '>=10'} cpu: [arm] os: [linux] @@ -1426,8 +1448,8 @@ packages: dev: true optional: true - /@swc/core-linux-arm64-gnu@1.3.94: - resolution: {integrity: sha512-iAcR8Ho0Uck/SLSrgYfXkpcGOXuN5waMZO7GlL/52QODr7GJtOfZ0H1MCZLbIFkPJp/iXoJpYgym4d/qSd477Q==} + /@swc/core-linux-arm64-gnu@1.3.95: + resolution: {integrity: sha512-pIhFI+cuC1aYg+0NAPxwT/VRb32f2ia8oGxUjQR6aJg65gLkUYQzdwuUmpMtFR2WVf7WVFYxUnjo4UyMuyh3ng==} engines: {node: '>=10'} cpu: [arm64] os: [linux] @@ -1435,8 +1457,8 @@ packages: dev: true optional: true - /@swc/core-linux-arm64-musl@1.3.94: - resolution: {integrity: sha512-VCHL1Mb9ENHx+sAeubSSg481MUeP9/PYzPPy9tfswunj/w35M+vEWflwK2dzQL9kUTFD3zcFTpAgsKnj6aX24w==} + /@swc/core-linux-arm64-musl@1.3.95: + resolution: {integrity: sha512-ZpbTr+QZDT4OPJfjPAmScqdKKaT+wGurvMU5AhxLaf85DuL8HwUwwlL0n1oLieLc47DwIJEMuKQkYhXMqmJHlg==} engines: {node: '>=10'} cpu: [arm64] os: [linux] @@ -1444,8 +1466,8 @@ packages: dev: true optional: true - /@swc/core-linux-x64-gnu@1.3.94: - resolution: {integrity: sha512-gjq7U6clhJi0Oel2a4gwR4MbSu+THQ2hmBNVCOSA3JjPZWZTkJXaJDpnh/r7PJxKBwUDlo0VPlwiwjepAQR2Rw==} + /@swc/core-linux-x64-gnu@1.3.95: + resolution: {integrity: sha512-n9SuHEFtdfSJ+sHdNXNRuIOVprB8nbsz+08apKfdo4lEKq6IIPBBAk5kVhPhkjmg2dFVHVo4Tr/OHXM1tzWCCw==} engines: {node: '>=10'} cpu: [x64] os: [linux] @@ -1453,8 +1475,8 @@ packages: dev: true optional: true - /@swc/core-linux-x64-musl@1.3.94: - resolution: {integrity: sha512-rSylruWyeol2ujZDHmwiovupMR5ukMXivlA7DDxmQ1dFUV9HuiPknQrU5rEbI3V2V3V5RkpbEKjnADen7AeMPQ==} + /@swc/core-linux-x64-musl@1.3.95: + resolution: {integrity: sha512-L1JrVlsXU3LC0WwmVnMK9HrOT2uhHahAoPNMJnZQpc18a0paO9fqifPG8M/HjNRffMUXR199G/phJsf326UvVg==} engines: {node: '>=10'} cpu: [x64] os: [linux] @@ -1462,8 +1484,8 @@ packages: dev: true optional: true - /@swc/core-win32-arm64-msvc@1.3.94: - resolution: {integrity: sha512-OenDUr5MQkz506ebVQq6ezoZ3GZ26nchgf5mPnwab4gx2TEiyR9zn7MdX5LWskTmOK3+FszPbGK0B5oLK6Y5yw==} + /@swc/core-win32-arm64-msvc@1.3.95: + resolution: {integrity: sha512-YaP4x/aZbUyNdqCBpC2zL8b8n58MEpOUpmOIZK6G1SxGi+2ENht7gs7+iXpWPc0sy7X3YPKmSWMAuui0h8lgAA==} engines: {node: '>=10'} cpu: [arm64] os: [win32] @@ -1471,8 +1493,8 @@ packages: dev: true optional: true - /@swc/core-win32-ia32-msvc@1.3.94: - resolution: {integrity: sha512-mi6NcmtJKnaiHAxLtVz+WzunscsEwPdA0j15DuiYVx06Xo+MdRLJj4eVBgVLwGD1AI3IqKs4MVVx2cD7n0h5mg==} + /@swc/core-win32-ia32-msvc@1.3.95: + resolution: {integrity: sha512-w0u3HI916zT4BC/57gOd+AwAEjXeUlQbGJ9H4p/gzs1zkSHtoDQghVUNy3n/ZKp9KFod/95cA8mbVF9t1+6epQ==} engines: {node: '>=10'} cpu: [ia32] os: [win32] @@ -1480,8 +1502,8 @@ packages: dev: true optional: true - /@swc/core-win32-x64-msvc@1.3.94: - resolution: {integrity: sha512-Ba0ZLcGMnqPWWF9Xa+rWhhnkpvE7XoQegMP/VCF2JIHb2ieGBC8jChO6nKRFKZjib/3wghGzxakyDQx3LDhDug==} + /@swc/core-win32-x64-msvc@1.3.95: + resolution: {integrity: sha512-5RGnMt0S6gg4Gc6QtPUJ3Qs9Un4sKqccEzgH/tj7V/DVTJwKdnBKxFZfgQ34OR2Zpz7zGOn889xwsFVXspVWNA==} engines: {node: '>=10'} cpu: [x64] os: [win32] @@ -1489,8 +1511,8 @@ packages: dev: true optional: true - /@swc/core@1.3.94: - resolution: {integrity: sha512-jTHn8UJOGgERKZLy8euEixVAzC/w/rUSuMlM3e7hxgap/TC595hSkuQwtkpL238dsuEPveD44GMy2A5UBtSvjg==} + /@swc/core@1.3.95: + resolution: {integrity: sha512-PMrNeuqIusq9DPDooV3FfNEbZuTu5jKAc04N3Hm6Uk2Fl49cqElLFQ4xvl4qDmVDz97n3n/C1RE0/f6WyGPEiA==} engines: {node: '>=10'} requiresBuild: true peerDependencies: @@ -1502,30 +1524,30 @@ packages: '@swc/counter': 0.1.2 '@swc/types': 0.1.5 optionalDependencies: - '@swc/core-darwin-arm64': 1.3.94 - '@swc/core-darwin-x64': 1.3.94 - '@swc/core-linux-arm-gnueabihf': 1.3.94 - '@swc/core-linux-arm64-gnu': 1.3.94 - '@swc/core-linux-arm64-musl': 1.3.94 - '@swc/core-linux-x64-gnu': 1.3.94 - '@swc/core-linux-x64-musl': 1.3.94 - '@swc/core-win32-arm64-msvc': 1.3.94 - '@swc/core-win32-ia32-msvc': 1.3.94 - '@swc/core-win32-x64-msvc': 1.3.94 + '@swc/core-darwin-arm64': 1.3.95 + '@swc/core-darwin-x64': 1.3.95 + '@swc/core-linux-arm-gnueabihf': 1.3.95 + '@swc/core-linux-arm64-gnu': 1.3.95 + '@swc/core-linux-arm64-musl': 1.3.95 + '@swc/core-linux-x64-gnu': 1.3.95 + '@swc/core-linux-x64-musl': 1.3.95 + '@swc/core-win32-arm64-msvc': 1.3.95 + '@swc/core-win32-ia32-msvc': 1.3.95 + '@swc/core-win32-x64-msvc': 1.3.95 dev: true /@swc/counter@0.1.2: resolution: {integrity: sha512-9F4ys4C74eSTEUNndnER3VJ15oru2NumfQxS8geE+f3eB5xvfxpWyqE5XlVnxb/R14uoXi6SLbBwwiDSkv+XEw==} dev: true - /@swc/jest@0.2.29(@swc/core@1.3.94): + /@swc/jest@0.2.29(@swc/core@1.3.95): resolution: {integrity: sha512-8reh5RvHBsSikDC3WGCd5ZTd2BXKkyOdK7QwynrCH58jk2cQFhhHhFBg/jvnWZehUQe/EoOImLENc9/DwbBFow==} engines: {npm: '>= 7.0.0'} peerDependencies: '@swc/core': '*' dependencies: '@jest/create-cache-key-function': 27.5.1 - '@swc/core': 1.3.94 + '@swc/core': 1.3.95 jsonc-parser: 3.2.0 dev: true @@ -1566,16 +1588,10 @@ packages: resolution: {integrity: sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q==} dev: true - /@types/debug@4.1.10: - resolution: {integrity: sha512-tOSCru6s732pofZ+sMv9o4o3Zc+Sa8l3bxd/tweTQudFn06vAzb13ZX46Zi6m6EJ+RUbRTHvgQJ1gBtSgkaUYA==} - dependencies: - '@types/ms': 0.7.33 - dev: true - /@types/graceful-fs@4.1.8: resolution: {integrity: sha512-NhRH7YzWq8WiNKVavKPBmtLYZHxNY19Hh+az28O/phfp68CF45pMFud+ZzJ8ewnxnC5smIdF3dqFeiSUQ5I+pw==} dependencies: - '@types/node': 20.8.7 + '@types/node': 20.8.8 dev: true /@types/is-ci@3.0.3: @@ -1623,8 +1639,8 @@ packages: resolution: {integrity: sha512-hPpIeeHb/2UuCw06kSNAOVWgehBLXEo0/fUs0mw3W2qhqX89PI2yvok83MnuctYGCPrabGIoi0fFso4DQ+sNUQ==} dev: true - /@types/markdown-it@13.0.4: - resolution: {integrity: sha512-FAIUdEXrCDnQmAAmJC+UeW/3p0eCI4QZ/+W0lX/h83VD3v78IgTFYftjnAeXS8H0g4PFQCgipc51cQDA8tjgLw==} + /@types/markdown-it@13.0.5: + resolution: {integrity: sha512-QhJP7hkq3FCrFNx0szMNCT/79CXfcEgUIA3jc5GBfeXqoKsk3R8JZm2wRXJ2DiyjbPE4VMFOSDemLFcUTZmHEQ==} dependencies: '@types/linkify-it': 3.0.4 '@types/mdurl': 1.0.4 @@ -1638,16 +1654,12 @@ packages: resolution: {integrity: sha512-Kfe/D3hxHTusnPNRbycJE1N77WHDsdS4AjUYIzlDzhDrS47NrwuL3YW4VITxwR7KCVpzwgy4Rbj829KSSQmwXQ==} dev: true - /@types/ms@0.7.33: - resolution: {integrity: sha512-AuHIyzR5Hea7ij0P9q7vx7xu4z0C28ucwjAZC0ja7JhINyCnOw8/DnvAPQQ9TfOlCtZAmCERKQX9+o1mgQhuOQ==} - dev: true - /@types/node@12.20.55: resolution: {integrity: sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==} dev: true - /@types/node@20.8.7: - resolution: {integrity: sha512-21TKHHh3eUHIi2MloeptJWALuCu5H7HQTdTrWIFReA8ad+aggoX+lRes3ex7/FtpC+sVUpFMQ+QTfYr74mruiQ==} + /@types/node@20.8.8: + resolution: {integrity: sha512-YRsdVxq6OaLfmR9Hy816IMp33xOBjfyOgUd77ehqg96CFywxAPbDbXvAsuN2KVg2HOT8Eh6uAfU+l4WffwPVrQ==} dependencies: undici-types: 5.25.3 dev: true @@ -1660,16 +1672,14 @@ packages: resolution: {integrity: sha512-MMzuxN3GdFwskAnb6fz0orFvhfqi752yjaXylr0Rp4oDg5H0Zn1IuyRhDVvYOwAXoJirx2xuS16I3WjxnAIHiQ==} dev: true - /@types/set-cookie-parser@2.4.5: - resolution: {integrity: sha512-ZPmztaAQ4rbnW/WTUnT1dwSENQo4bjGqxCSeyK+gZxmd+zJl/QAeF6dpEXcS5UEJX22HwiggFSaY8nE1nRmkbg==} - dependencies: - '@types/node': 20.8.7 - dev: true - /@types/stack-utils@2.0.2: resolution: {integrity: sha512-g7CK9nHdwjK2n0ymT2CW698FuWJRIx+RP6embAzZ2Qi8/ilIrA1Imt2LVSeHUzKvpoi7BhmmQcXz95eS0f2JXw==} dev: true + /@types/statuses@2.0.3: + resolution: {integrity: sha512-NwCYScf83RIwCyi5/9cXocrJB//xrqMh5PMw3mYTSFGaI3DuVjBLfO/PCk7QVAC3Da8b9NjxNmTO9Aj9T3rl/Q==} + dev: true + /@types/web-bluetooth@0.0.18: resolution: {integrity: sha512-v/ZHEj9xh82usl8LMR3GarzFY1IrbXJw5L4QfQhokjRV91q+SelFqxQWSep1ucXEZ22+dSTwLFkXeur25sPIbw==} dev: true @@ -1690,8 +1700,8 @@ packages: '@types/yargs-parser': 21.0.2 dev: true - /@typescript-eslint/eslint-plugin@6.8.0(@typescript-eslint/parser@6.8.0)(eslint@8.52.0)(typescript@5.2.2): - resolution: {integrity: sha512-GosF4238Tkes2SHPQ1i8f6rMtG6zlKwMEB0abqSJ3Npvos+doIlc/ATG+vX1G9coDF3Ex78zM3heXHLyWEwLUw==} + /@typescript-eslint/eslint-plugin@6.9.0(@typescript-eslint/parser@6.9.0)(eslint@8.52.0)(typescript@5.2.2): + resolution: {integrity: sha512-lgX7F0azQwRPB7t7WAyeHWVfW1YJ9NIgd9mvGhfQpRY56X6AVf8mwM8Wol+0z4liE7XX3QOt8MN1rUKCfSjRIA==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: '@typescript-eslint/parser': ^6.0.0 || ^6.0.0-alpha @@ -1702,11 +1712,11 @@ packages: optional: true dependencies: '@eslint-community/regexpp': 4.9.1 - '@typescript-eslint/parser': 6.8.0(eslint@8.52.0)(typescript@5.2.2) - '@typescript-eslint/scope-manager': 6.8.0 - '@typescript-eslint/type-utils': 6.8.0(eslint@8.52.0)(typescript@5.2.2) - '@typescript-eslint/utils': 6.8.0(eslint@8.52.0)(typescript@5.2.2) - '@typescript-eslint/visitor-keys': 6.8.0 + '@typescript-eslint/parser': 6.9.0(eslint@8.52.0)(typescript@5.2.2) + '@typescript-eslint/scope-manager': 6.9.0 + '@typescript-eslint/type-utils': 6.9.0(eslint@8.52.0)(typescript@5.2.2) + '@typescript-eslint/utils': 6.9.0(eslint@8.52.0)(typescript@5.2.2) + '@typescript-eslint/visitor-keys': 6.9.0 debug: 4.3.4 eslint: 8.52.0 graphemer: 1.4.0 @@ -1719,8 +1729,8 @@ packages: - supports-color dev: true - /@typescript-eslint/parser@6.8.0(eslint@8.52.0)(typescript@5.2.2): - resolution: {integrity: sha512-5tNs6Bw0j6BdWuP8Fx+VH4G9fEPDxnVI7yH1IAPkQH5RUtvKwRoqdecAPdQXv4rSOADAaz1LFBZvZG7VbXivSg==} + /@typescript-eslint/parser@6.9.0(eslint@8.52.0)(typescript@5.2.2): + resolution: {integrity: sha512-GZmjMh4AJ/5gaH4XF2eXA8tMnHWP+Pm1mjQR2QN4Iz+j/zO04b9TOvJYOX2sCNIQHtRStKTxRY1FX7LhpJT4Gw==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 @@ -1729,10 +1739,10 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/scope-manager': 6.8.0 - '@typescript-eslint/types': 6.8.0 - '@typescript-eslint/typescript-estree': 6.8.0(typescript@5.2.2) - '@typescript-eslint/visitor-keys': 6.8.0 + '@typescript-eslint/scope-manager': 6.9.0 + '@typescript-eslint/types': 6.9.0 + '@typescript-eslint/typescript-estree': 6.9.0(typescript@5.2.2) + '@typescript-eslint/visitor-keys': 6.9.0 debug: 4.3.4 eslint: 8.52.0 typescript: 5.2.2 @@ -1748,16 +1758,16 @@ packages: '@typescript-eslint/visitor-keys': 5.62.0 dev: true - /@typescript-eslint/scope-manager@6.8.0: - resolution: {integrity: sha512-xe0HNBVwCph7rak+ZHcFD6A+q50SMsFwcmfdjs9Kz4qDh5hWhaPhFjRs/SODEhroBI5Ruyvyz9LfwUJ624O40g==} + /@typescript-eslint/scope-manager@6.9.0: + resolution: {integrity: sha512-1R8A9Mc39n4pCCz9o79qRO31HGNDvC7UhPhv26TovDsWPBDx+Sg3rOZdCELIA3ZmNoWAuxaMOT7aWtGRSYkQxw==} engines: {node: ^16.0.0 || >=18.0.0} dependencies: - '@typescript-eslint/types': 6.8.0 - '@typescript-eslint/visitor-keys': 6.8.0 + '@typescript-eslint/types': 6.9.0 + '@typescript-eslint/visitor-keys': 6.9.0 dev: true - /@typescript-eslint/type-utils@6.8.0(eslint@8.52.0)(typescript@5.2.2): - resolution: {integrity: sha512-RYOJdlkTJIXW7GSldUIHqc/Hkto8E+fZN96dMIFhuTJcQwdRoGN2rEWA8U6oXbLo0qufH7NPElUb+MceHtz54g==} + /@typescript-eslint/type-utils@6.9.0(eslint@8.52.0)(typescript@5.2.2): + resolution: {integrity: sha512-XXeahmfbpuhVbhSOROIzJ+b13krFmgtc4GlEuu1WBT+RpyGPIA4Y/eGnXzjbDj5gZLzpAXO/sj+IF/x2GtTMjQ==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 @@ -1766,8 +1776,8 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/typescript-estree': 6.8.0(typescript@5.2.2) - '@typescript-eslint/utils': 6.8.0(eslint@8.52.0)(typescript@5.2.2) + '@typescript-eslint/typescript-estree': 6.9.0(typescript@5.2.2) + '@typescript-eslint/utils': 6.9.0(eslint@8.52.0)(typescript@5.2.2) debug: 4.3.4 eslint: 8.52.0 ts-api-utils: 1.0.3(typescript@5.2.2) @@ -1781,8 +1791,8 @@ packages: engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /@typescript-eslint/types@6.8.0: - resolution: {integrity: sha512-p5qOxSum7W3k+llc7owEStXlGmSl8FcGvhYt8Vjy7FqEnmkCVlM3P57XQEGj58oqaBWDQXbJDZxwUWMS/EAPNQ==} + /@typescript-eslint/types@6.9.0: + resolution: {integrity: sha512-+KB0lbkpxBkBSiVCuQvduqMJy+I1FyDbdwSpM3IoBS7APl4Bu15lStPjgBIdykdRqQNYqYNMa8Kuidax6phaEw==} engines: {node: ^16.0.0 || >=18.0.0} dev: true @@ -1807,8 +1817,8 @@ packages: - supports-color dev: true - /@typescript-eslint/typescript-estree@6.8.0(typescript@5.2.2): - resolution: {integrity: sha512-ISgV0lQ8XgW+mvv5My/+iTUdRmGspducmQcDw5JxznasXNnZn3SKNrTRuMsEXv+V/O+Lw9AGcQCfVaOPCAk/Zg==} + /@typescript-eslint/typescript-estree@6.9.0(typescript@5.2.2): + resolution: {integrity: sha512-NJM2BnJFZBEAbCfBP00zONKXvMqihZCrmwCaik0UhLr0vAgb6oguXxLX1k00oQyD+vZZ+CJn3kocvv2yxm4awQ==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: typescript: '*' @@ -1816,8 +1826,8 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/types': 6.8.0 - '@typescript-eslint/visitor-keys': 6.8.0 + '@typescript-eslint/types': 6.9.0 + '@typescript-eslint/visitor-keys': 6.9.0 debug: 4.3.4 globby: 11.1.0 is-glob: 4.0.3 @@ -1848,8 +1858,8 @@ packages: - typescript dev: true - /@typescript-eslint/utils@6.8.0(eslint@8.52.0)(typescript@5.2.2): - resolution: {integrity: sha512-dKs1itdE2qFG4jr0dlYLQVppqTE+Itt7GmIf/vX6CSvsW+3ov8PbWauVKyyfNngokhIO9sKZeRGCUo1+N7U98Q==} + /@typescript-eslint/utils@6.9.0(eslint@8.52.0)(typescript@5.2.2): + resolution: {integrity: sha512-5Wf+Jsqya7WcCO8me504FBigeQKVLAMPmUzYgDbWchINNh1KJbxCgVya3EQ2MjvJMVeXl3pofRmprqX6mfQkjQ==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 @@ -1857,9 +1867,9 @@ packages: '@eslint-community/eslint-utils': 4.4.0(eslint@8.52.0) '@types/json-schema': 7.0.14 '@types/semver': 7.5.4 - '@typescript-eslint/scope-manager': 6.8.0 - '@typescript-eslint/types': 6.8.0 - '@typescript-eslint/typescript-estree': 6.8.0(typescript@5.2.2) + '@typescript-eslint/scope-manager': 6.9.0 + '@typescript-eslint/types': 6.9.0 + '@typescript-eslint/typescript-estree': 6.9.0(typescript@5.2.2) eslint: 8.52.0 semver: 7.5.4 transitivePeerDependencies: @@ -1875,11 +1885,11 @@ packages: eslint-visitor-keys: 3.4.3 dev: true - /@typescript-eslint/visitor-keys@6.8.0: - resolution: {integrity: sha512-oqAnbA7c+pgOhW2OhGvxm0t1BULX5peQI/rLsNDpGM78EebV3C9IGbX5HNZabuZ6UQrYveCLjKo8Iy/lLlBkkg==} + /@typescript-eslint/visitor-keys@6.9.0: + resolution: {integrity: sha512-dGtAfqjV6RFOtIP8I0B4ZTBRrlTT8NHHlZZSchQx3qReaoDeXhYM++M4So2AgFK9ZB0emRPA6JI1HkafzA2Ibg==} engines: {node: ^16.0.0 || >=18.0.0} dependencies: - '@typescript-eslint/types': 6.8.0 + '@typescript-eslint/types': 6.9.0 eslint-visitor-keys: 3.4.3 dev: true @@ -1887,6 +1897,17 @@ packages: resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} dev: true + /@vitejs/plugin-vue@4.3.1(vite@4.5.0)(vue@3.3.6): + resolution: {integrity: sha512-tUBEtWcF7wFtII7ayNiLNDTCE1X1afySEo+XNVMNkFXaThENyCowIEX095QqbJZGTgoOcSVDJGlnde2NG4jtbQ==} + engines: {node: ^14.18.0 || >=16.0.0} + peerDependencies: + vite: ^4.0.0 + vue: ^3.2.25 + dependencies: + vite: 4.5.0(@types/node@20.8.8) + vue: 3.3.6(typescript@5.2.2) + dev: true + /@vue/compiler-core@3.3.6: resolution: {integrity: sha512-2JNjemwaNwf+MkkatATVZi7oAH1Hx0B04DdPH3ZoZ8vKC1xZVP7nl4HIsk8XYd3r+/52sqqoz9TWzYc3yE9dqA==} dependencies: @@ -2049,17 +2070,6 @@ packages: - vue dev: true - /@xmldom/xmldom@0.8.10: - resolution: {integrity: sha512-2WALfTl4xo2SkGCYRt6rDTFfk9R1czmBvUQy12gK2KuRKIpWEhcbbzy8EZXtz/jkRqHX8bFEc6FC1HjX4TUWYw==} - engines: {node: '>=10.0.0'} - dev: true - - /@zxing/text-encoding@0.9.0: - resolution: {integrity: sha512-U/4aVJ2mxI0aDNI8Uq0wEhMgY+u4CNtEb0om3+y3+niDAsoTCOB33UF0sxpzqzdqXLqmvc+vZyAt4O8pPdfkwA==} - requiresBuild: true - dev: true - optional: true - /acorn-jsx@5.3.2(acorn@8.10.0): resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} peerDependencies: @@ -2362,8 +2372,8 @@ packages: engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true dependencies: - caniuse-lite: 1.0.30001552 - electron-to-chromium: 1.4.563 + caniuse-lite: 1.0.30001553 + electron-to-chromium: 1.4.565 node-releases: 2.0.13 update-browserslist-db: 1.0.13(browserslist@4.22.1) dev: true @@ -2423,8 +2433,8 @@ packages: engines: {node: '>=10'} dev: true - /caniuse-lite@1.0.30001552: - resolution: {integrity: sha512-WXdqNcUo7OKqFOpXZdVnrSC1vRfzPrMWwmxwHsoC+J7YjTLbGiqo0LUAGAmKXdMEqHL14RWJTWCuWT5md43tkA==} + /caniuse-lite@1.0.30001553: + resolution: {integrity: sha512-N0ttd6TrFfuqKNi+pMgWJTb9qrdJu4JSpgPFLe/lrD19ugC6fZgF0pUewRowDwzdDnb9V41mFcdlYgl/PyKf4A==} dev: true /chalk@2.4.2: @@ -2554,12 +2564,12 @@ packages: resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} dev: true - /cookie@0.4.2: - resolution: {integrity: sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==} + /cookie@0.5.0: + resolution: {integrity: sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==} engines: {node: '>= 0.6'} dev: true - /create-jest@29.7.0(@types/node@20.8.7): + /create-jest@29.7.0(@types/node@20.8.8): resolution: {integrity: sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} hasBin: true @@ -2568,7 +2578,7 @@ packages: chalk: 4.1.2 exit: 0.1.2 graceful-fs: 4.2.11 - jest-config: 29.7.0(@types/node@20.8.7) + jest-config: 29.7.0(@types/node@20.8.8) jest-util: 29.7.0 prompts: 2.4.2 transitivePeerDependencies: @@ -2740,8 +2750,8 @@ packages: engines: {node: '>=12'} dev: true - /electron-to-chromium@1.4.563: - resolution: {integrity: sha512-dg5gj5qOgfZNkPNeyKBZQAQitIQ/xwfIDmEQJHCbXaD9ebTZxwJXUsDYcBlAvZGZLi+/354l35J1wkmP6CqYaw==} + /electron-to-chromium@1.4.565: + resolution: {integrity: sha512-XbMoT6yIvg2xzcbs5hCADi0dXBh4//En3oFXmtPX+jiyyiCTiM9DGFT2SLottjpEs9Z8Mh8SqahbR96MaHfuSg==} dev: true /emittery@0.13.1: @@ -2913,7 +2923,7 @@ packages: - supports-color dev: true - /eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.8.0)(eslint-plugin-import@2.28.1)(eslint@8.52.0): + /eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.9.0)(eslint-plugin-import@2.29.0)(eslint@8.52.0): resolution: {integrity: sha512-xgdptdoi5W3niYeuQxKmzVDTATvLYqhpwmykwsh7f6HIOStGWEIL9iqZgQDF9u9OEzrRwR8no5q2VT+bjAujTg==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: @@ -2923,8 +2933,8 @@ packages: debug: 4.3.4 enhanced-resolve: 5.15.0 eslint: 8.52.0 - eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.8.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.52.0) - eslint-plugin-import: 2.28.1(@typescript-eslint/parser@6.8.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.52.0) + eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.9.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.52.0) + eslint-plugin-import: 2.29.0(@typescript-eslint/parser@6.9.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.52.0) fast-glob: 3.3.1 get-tsconfig: 4.7.2 is-core-module: 2.13.1 @@ -2936,7 +2946,7 @@ packages: - supports-color dev: true - /eslint-module-utils@2.8.0(@typescript-eslint/parser@6.8.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.52.0): + /eslint-module-utils@2.8.0(@typescript-eslint/parser@6.9.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.52.0): resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==} engines: {node: '>=4'} peerDependencies: @@ -2957,11 +2967,11 @@ packages: eslint-import-resolver-webpack: optional: true dependencies: - '@typescript-eslint/parser': 6.8.0(eslint@8.52.0)(typescript@5.2.2) + '@typescript-eslint/parser': 6.9.0(eslint@8.52.0)(typescript@5.2.2) debug: 3.2.7 eslint: 8.52.0 eslint-import-resolver-node: 0.3.9 - eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@6.8.0)(eslint-plugin-import@2.28.1)(eslint@8.52.0) + eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@6.9.0)(eslint-plugin-import@2.29.0)(eslint@8.52.0) transitivePeerDependencies: - supports-color dev: true @@ -2977,8 +2987,8 @@ packages: eslint: 8.52.0 dev: true - /eslint-plugin-import@2.28.1(@typescript-eslint/parser@6.8.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.52.0): - resolution: {integrity: sha512-9I9hFlITvOV55alzoKBI+K9q74kv0iKMeY6av5+umsNwayt59fz692daGyjR+oStBQgx6nwR9rXldDev3Clw+A==} + /eslint-plugin-import@2.29.0(@typescript-eslint/parser@6.9.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.52.0): + resolution: {integrity: sha512-QPOO5NO6Odv5lpoTkddtutccQjysJuFxoPS7fAHO+9m9udNHvTCPSAMW9zGAYj8lAIdr40I8yPCdUYrncXtrwg==} engines: {node: '>=4'} peerDependencies: '@typescript-eslint/parser': '*' @@ -2987,7 +2997,7 @@ packages: '@typescript-eslint/parser': optional: true dependencies: - '@typescript-eslint/parser': 6.8.0(eslint@8.52.0)(typescript@5.2.2) + '@typescript-eslint/parser': 6.9.0(eslint@8.52.0)(typescript@5.2.2) array-includes: 3.1.7 array.prototype.findlastindex: 1.2.3 array.prototype.flat: 1.3.2 @@ -2996,8 +3006,8 @@ packages: doctrine: 2.1.0 eslint: 8.52.0 eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.8.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.52.0) - has: 1.0.4 + eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.9.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.52.0) + hasown: 2.0.0 is-core-module: 2.13.1 is-glob: 4.0.3 minimatch: 3.1.2 @@ -3012,7 +3022,7 @@ packages: - supports-color dev: true - /eslint-plugin-jest@27.4.3(@typescript-eslint/eslint-plugin@6.8.0)(eslint@8.52.0)(jest@29.7.0)(typescript@5.2.2): + /eslint-plugin-jest@27.4.3(@typescript-eslint/eslint-plugin@6.9.0)(eslint@8.52.0)(jest@29.7.0)(typescript@5.2.2): resolution: {integrity: sha512-7S6SmmsHsgIm06BAGCAxL+ABd9/IB3MWkz2pudj6Qqor2y1qQpWPfuFU4SG9pWj4xDjF0e+D7Llh5useuSzAZw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} peerDependencies: @@ -3025,10 +3035,10 @@ packages: jest: optional: true dependencies: - '@typescript-eslint/eslint-plugin': 6.8.0(@typescript-eslint/parser@6.8.0)(eslint@8.52.0)(typescript@5.2.2) + '@typescript-eslint/eslint-plugin': 6.9.0(@typescript-eslint/parser@6.9.0)(eslint@8.52.0)(typescript@5.2.2) '@typescript-eslint/utils': 5.62.0(eslint@8.52.0)(typescript@5.2.2) eslint: 8.52.0 - jest: 29.7.0(@types/node@20.8.7) + jest: 29.7.0(@types/node@20.8.8) transitivePeerDependencies: - supports-color - typescript @@ -3177,11 +3187,6 @@ packages: engines: {node: '>=0.10.0'} dev: true - /events@3.3.0: - resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} - engines: {node: '>=0.8.x'} - dev: true - /execa@5.1.1: resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} engines: {node: '>=10'} @@ -3330,6 +3335,14 @@ packages: is-callable: 1.2.7 dev: true + /formdata-node@4.4.1: + resolution: {integrity: sha512-0iirZp3uVDjVGt9p49aTaqjk84TrglENEDuqfdlZQ1roC9CWlPk6Avf8EEnZNcAqPonwkG35x4n3ww/1THYAeQ==} + engines: {node: '>= 12.20'} + dependencies: + node-domexception: 1.0.0 + web-streams-polyfill: 4.0.0-beta.3 + dev: true + /fs-extra@7.0.1: resolution: {integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==} engines: {node: '>=6 <7 || >=8'} @@ -3542,11 +3555,6 @@ packages: has-symbols: 1.0.3 dev: true - /has@1.0.4: - resolution: {integrity: sha512-qdSAmqLF6209RFj4VVItywPMbm3vWylknmB3nvNiUIs72xAimcM8nVYxYr7ncvZq5qzk9MKIZR8ijqD/1QuYjQ==} - engines: {node: '>= 0.4.0'} - dev: true - /hasown@2.0.0: resolution: {integrity: sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==} engines: {node: '>= 0.4'} @@ -3554,8 +3562,8 @@ packages: function-bind: 1.1.2 dev: true - /headers-polyfill@3.2.5: - resolution: {integrity: sha512-tUCGvt191vNSQgttSyJoibR+VO+I6+iCHIUdhzEMJKE+EAL8BwCN7fUOZlY4ofOelNHsK+gEjxB/B+9N3EWtdA==} + /headers-polyfill@4.0.2: + resolution: {integrity: sha512-EWGTfnTqAO2L/j5HZgoM/3z82L7necsJ0pO9Tp0X1wil3PDLrkypTBRgVO2ExehEEvUycejZD3FuRaXpZZc3kw==} dev: true /hosted-git-info@2.8.9: @@ -3659,14 +3667,6 @@ packages: side-channel: 1.0.4 dev: true - /is-arguments@1.1.1: - resolution: {integrity: sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.5 - has-tostringtag: 1.0.0 - dev: true - /is-array-buffer@3.0.2: resolution: {integrity: sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==} dependencies: @@ -3740,13 +3740,6 @@ packages: engines: {node: '>=6'} dev: true - /is-generator-function@1.0.10: - resolution: {integrity: sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==} - engines: {node: '>= 0.4'} - dependencies: - has-tostringtag: 1.0.0 - dev: true - /is-glob@4.0.3: resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} engines: {node: '>=0.10.0'} @@ -3937,7 +3930,7 @@ packages: '@jest/expect': 29.7.0 '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.8.7 + '@types/node': 20.8.8 chalk: 4.1.2 co: 4.6.0 dedent: 1.5.1 @@ -3958,7 +3951,7 @@ packages: - supports-color dev: true - /jest-cli@29.7.0(@types/node@20.8.7): + /jest-cli@29.7.0(@types/node@20.8.8): resolution: {integrity: sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} hasBin: true @@ -3972,10 +3965,10 @@ packages: '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 chalk: 4.1.2 - create-jest: 29.7.0(@types/node@20.8.7) + create-jest: 29.7.0(@types/node@20.8.8) exit: 0.1.2 import-local: 3.1.0 - jest-config: 29.7.0(@types/node@20.8.7) + jest-config: 29.7.0(@types/node@20.8.8) jest-util: 29.7.0 jest-validate: 29.7.0 yargs: 17.7.2 @@ -3986,7 +3979,7 @@ packages: - ts-node dev: true - /jest-config@29.7.0(@types/node@20.8.7): + /jest-config@29.7.0(@types/node@20.8.8): resolution: {integrity: sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} peerDependencies: @@ -4001,7 +3994,7 @@ packages: '@babel/core': 7.23.2 '@jest/test-sequencer': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.8.7 + '@types/node': 20.8.8 babel-jest: 29.7.0(@babel/core@7.23.2) chalk: 4.1.2 ci-info: 3.9.0 @@ -4061,7 +4054,7 @@ packages: '@jest/environment': 29.7.0 '@jest/fake-timers': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.8.7 + '@types/node': 20.8.8 jest-mock: 29.7.0 jest-util: 29.7.0 dev: true @@ -4077,7 +4070,7 @@ packages: dependencies: '@jest/types': 29.6.3 '@types/graceful-fs': 4.1.8 - '@types/node': 20.8.7 + '@types/node': 20.8.8 anymatch: 3.1.3 fb-watchman: 2.0.2 graceful-fs: 4.2.11 @@ -4128,7 +4121,7 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.6.3 - '@types/node': 20.8.7 + '@types/node': 20.8.8 jest-util: 29.7.0 dev: true @@ -4183,7 +4176,7 @@ packages: '@jest/test-result': 29.7.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.8.7 + '@types/node': 20.8.8 chalk: 4.1.2 emittery: 0.13.1 graceful-fs: 4.2.11 @@ -4214,7 +4207,7 @@ packages: '@jest/test-result': 29.7.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.8.7 + '@types/node': 20.8.8 chalk: 4.1.2 cjs-module-lexer: 1.2.3 collect-v8-coverage: 1.0.2 @@ -4266,7 +4259,7 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.6.3 - '@types/node': 20.8.7 + '@types/node': 20.8.8 chalk: 4.1.2 ci-info: 3.9.0 graceful-fs: 4.2.11 @@ -4291,7 +4284,7 @@ packages: dependencies: '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.8.7 + '@types/node': 20.8.8 ansi-escapes: 4.3.2 chalk: 4.1.2 emittery: 0.13.1 @@ -4303,13 +4296,13 @@ packages: resolution: {integrity: sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@types/node': 20.8.7 + '@types/node': 20.8.8 jest-util: 29.7.0 merge-stream: 2.0.0 supports-color: 8.1.1 dev: true - /jest@29.7.0(@types/node@20.8.7): + /jest@29.7.0(@types/node@20.8.8): resolution: {integrity: sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} hasBin: true @@ -4322,7 +4315,7 @@ packages: '@jest/core': 29.7.0 '@jest/types': 29.6.3 import-local: 3.1.0 - jest-cli: 29.7.0(@types/node@20.8.7) + jest-cli: 29.7.0(@types/node@20.8.8) transitivePeerDependencies: - '@types/node' - babel-plugin-macros @@ -4615,40 +4608,43 @@ packages: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} dev: true - /msw@1.3.2(typescript@5.2.2): - resolution: {integrity: sha512-wKLhFPR+NitYTkQl5047pia0reNGgf0P6a1eTnA5aNlripmiz0sabMvvHcicE8kQ3/gZcI0YiPFWmYfowfm3lA==} - engines: {node: '>=14'} + /msw@2.0.0(typescript@5.2.2): + resolution: {integrity: sha512-lw9UHuzNCWoODHaThGeLLIIuzEBUQkj3fJXQnChHifMKbB2UmF2msHd4d/lnyqjAyD0XWoibdviW9wlstFPpkA==} + engines: {node: '>=18'} hasBin: true requiresBuild: true peerDependencies: - typescript: '>= 4.4.x <= 5.2.x' + typescript: '>= 4.7.x <= 5.2.x' peerDependenciesMeta: typescript: optional: true dependencies: - '@mswjs/cookies': 0.2.2 - '@mswjs/interceptors': 0.17.10 - '@open-draft/until': 1.0.3 + '@bundled-es-modules/cookie': 2.0.0 + '@bundled-es-modules/js-levenshtein': 2.0.1 + '@bundled-es-modules/statuses': 1.0.1 + '@mswjs/cookies': 1.0.0 + '@mswjs/interceptors': 0.25.7 + '@open-draft/until': 2.1.0 '@types/cookie': 0.4.1 '@types/js-levenshtein': 1.1.2 + '@types/statuses': 2.0.3 chalk: 4.1.2 chokidar: 3.5.3 - cookie: 0.4.2 + formdata-node: 4.4.1 graphql: 16.8.1 - headers-polyfill: 3.2.5 + headers-polyfill: 4.0.2 inquirer: 8.2.6 is-node-process: 1.2.0 js-levenshtein: 1.1.6 node-fetch: 2.7.0 outvariant: 1.4.0 path-to-regexp: 6.2.1 - strict-event-emitter: 0.4.6 + strict-event-emitter: 0.5.1 type-fest: 2.19.0 typescript: 5.2.2 yargs: 17.7.2 transitivePeerDependencies: - encoding - - supports-color dev: true /mute-stream@0.0.8: @@ -4665,6 +4661,11 @@ packages: resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} dev: true + /node-domexception@1.0.0: + resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==} + engines: {node: '>=10.5.0'} + dev: true + /node-fetch@2.7.0: resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} engines: {node: 4.x || >=6.0.0} @@ -5211,10 +5212,6 @@ packages: resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} dev: true - /set-cookie-parser@2.6.0: - resolution: {integrity: sha512-RVnVQxTXuerk653XfuliOxBP81Sf0+qfQE73LIYKcyMYHG94AuH0kgrQpRDuTZnSmjpysHmzxJXKNfa6PjFhyQ==} - dev: true - /set-function-length@1.1.1: resolution: {integrity: sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ==} engines: {node: '>= 0.4'} @@ -5365,20 +5362,19 @@ packages: escape-string-regexp: 2.0.0 dev: true + /statuses@2.0.1: + resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} + engines: {node: '>= 0.8'} + dev: true + /stream-transform@2.1.3: resolution: {integrity: sha512-9GHUiM5hMiCi6Y03jD2ARC1ettBXkQBoQAe7nJsPknnI0ow10aXjTnew8QtYQmLjzn974BnmWEAJgCY6ZP1DeQ==} dependencies: mixme: 0.5.9 dev: true - /strict-event-emitter@0.2.8: - resolution: {integrity: sha512-KDf/ujU8Zud3YaLtMCcTI4xkZlZVIYxTLr+XIULexP+77EEVWixeXroLUXQXiVtH4XH2W7jr/3PT1v3zBuvc3A==} - dependencies: - events: 3.3.0 - dev: true - - /strict-event-emitter@0.4.6: - resolution: {integrity: sha512-12KWeb+wixJohmnwNFerbyiBrAlq5qJLwIt38etRtKtmmHyDSoGlIqFE9wx+4IwG0aDjI7GV8tc8ZccjWZZtTg==} + /strict-event-emitter@0.5.1: + resolution: {integrity: sha512-vMgjE/GGEPEFnhFub6pa4FmJBRBVOLpIII2hvCZ8Kzb7K0hlHo7mQv6xYrBvCL2LtAIBwFUK8wvuJgTVSQ5MFQ==} dev: true /string-length@4.0.2: @@ -5738,16 +5734,6 @@ packages: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} dev: true - /util@0.12.5: - resolution: {integrity: sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==} - dependencies: - inherits: 2.0.4 - is-arguments: 1.1.1 - is-generator-function: 1.0.10 - is-typed-array: 1.1.12 - which-typed-array: 1.1.13 - dev: true - /v8-to-istanbul@9.1.3: resolution: {integrity: sha512-9lDD+EVI2fjFsMWXc6dy5JJzBsVTcQ2fVkfBvncZ6xJWG9wtBhOldG+mHkSL0+V1K/xgZz0JDO5UT5hFwHUghg==} engines: {node: '>=10.12.0'} @@ -5764,7 +5750,7 @@ packages: spdx-expression-parse: 3.0.1 dev: true - /vite@4.5.0(@types/node@20.8.7): + /vite@4.5.0(@types/node@20.8.8): resolution: {integrity: sha512-ulr8rNLA6rkyFAlVWw2q5YJ91v098AFQ2R0PRFwPzREXOUJQPtFUG0t+/ZikhaOCDqFoDhN6/v8Sq0o4araFAw==} engines: {node: ^14.18.0 || >=16.0.0} hasBin: true @@ -5792,7 +5778,7 @@ packages: terser: optional: true dependencies: - '@types/node': 20.8.7 + '@types/node': 20.8.8 esbuild: 0.18.20 postcss: 8.4.31 rollup: 3.29.4 @@ -5800,8 +5786,8 @@ packages: fsevents: 2.3.3 dev: true - /vitepress@1.0.0-rc.23(@algolia/client-search@4.20.0)(@types/node@20.8.7)(search-insights@2.9.0)(typescript@5.2.2): - resolution: {integrity: sha512-0YoBt8aFgbRt2JtYaCeTqq4W21q5lbGso+g1ZwkYYS35ExJxORssRJunhFuUcby8QeN4BP/88QDgsVSIVLAfXQ==} + /vitepress@1.0.0-rc.24(@algolia/client-search@4.20.0)(@types/node@20.8.8)(search-insights@2.9.0)(typescript@5.2.2): + resolution: {integrity: sha512-RpnL8cnOGwiRlBbrYQUm9sYkJbtyOt/wYXk2diTcokY4yvks/5lq9LuSt+MURWB6ZqwpSNHvTmxgaSfLoG0/OA==} hasBin: true peerDependencies: markdown-it-mathjax3: ^4.3.2 @@ -5814,7 +5800,8 @@ packages: dependencies: '@docsearch/css': 3.5.2 '@docsearch/js': 3.5.2(@algolia/client-search@4.20.0)(search-insights@2.9.0) - '@types/markdown-it': 13.0.4 + '@types/markdown-it': 13.0.5 + '@vitejs/plugin-vue': 4.3.1(vite@4.5.0)(vue@3.3.6) '@vue/devtools-api': 6.5.1 '@vueuse/core': 10.5.0(vue@3.3.6) '@vueuse/integrations': 10.5.0(focus-trap@7.5.4)(vue@3.3.6) @@ -5822,7 +5809,7 @@ packages: mark.js: 8.11.1 minisearch: 6.1.0 shiki: 0.14.5 - vite: 4.5.0(@types/node@20.8.7) + vite: 4.5.0(@types/node@20.8.8) vue: 3.3.6(typescript@5.2.2) transitivePeerDependencies: - '@algolia/client-search' @@ -5903,12 +5890,9 @@ packages: defaults: 1.0.4 dev: true - /web-encoding@1.1.5: - resolution: {integrity: sha512-HYLeVCdJ0+lBYV2FvNZmv3HJ2Nt0QYXqZojk3d9FJOLkwnuhzM9tmamh8d7HPM8QqjKH8DeHkFTx+CFlWpZZDA==} - dependencies: - util: 0.12.5 - optionalDependencies: - '@zxing/text-encoding': 0.9.0 + /web-streams-polyfill@4.0.0-beta.3: + resolution: {integrity: sha512-QW95TCTaHmsYfHDybGMwO5IJIM93I/6vTRk+daHTWFPhwh+C8Cg7j7XyKrwrj8Ib6vYXe0ocYNrmzY4xAAN6ug==} + engines: {node: '>= 14'} dev: true /webidl-conversions@3.0.1: From 7ec146678a6705467f5440c2ddac9e0d8f4ad4bf Mon Sep 17 00:00:00 2001 From: falsepopsky Date: Tue, 24 Oct 2023 14:42:55 -0300 Subject: [PATCH 3/4] ci: tests with node versions 18 and 20 --- .github/workflows/ci.yaml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index b5277b1..dc3e110 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -36,6 +36,9 @@ jobs: test: name: 🧪 Test runs-on: ubuntu-latest + strategy: + matrix: + node-version: ["18.18.2", "20.9.0"] steps: - name: Checkout repo uses: actions/checkout@v4.1.1 @@ -48,7 +51,7 @@ jobs: - name: Setup Node uses: actions/setup-node@v3.8.1 with: - node-version-file: ".nvmrc" + node-version: ${{ matrix.node-version }} cache: pnpm - name: Install dependencies From feba148dea18528ab9d9d40bad0988d192226b1c Mon Sep 17 00:00:00 2001 From: falsepopsky Date: Tue, 24 Oct 2023 15:31:35 -0300 Subject: [PATCH 4/4] chore: update node version --- .github/workflows/cd.yaml | 77 ++++++++++++++++++++++++++++++++++ .github/workflows/ci.yaml | 3 -- .github/workflows/release.yaml | 2 +- .nvmrc | 2 +- netlify.toml | 2 +- 5 files changed, 80 insertions(+), 6 deletions(-) create mode 100644 .github/workflows/cd.yaml diff --git a/.github/workflows/cd.yaml b/.github/workflows/cd.yaml new file mode 100644 index 0000000..114574d --- /dev/null +++ b/.github/workflows/cd.yaml @@ -0,0 +1,77 @@ +name: CD +on: + push: + branches: + - main + +env: + PNPM_VERSION: 8.9.2 + +jobs: + lint: + name: ⬣ Lint + runs-on: ubuntu-latest + steps: + - name: Checkout repo + uses: actions/checkout@v4.1.1 + + - name: Setup pnpm + uses: pnpm/action-setup@v2.4.0 + with: + version: ${{ env.PNPM_VERSION }} + + - name: Setup Node + uses: actions/setup-node@v3.8.1 + with: + node-version-file: ".nvmrc" + cache: pnpm + + - name: Install dependencies + run: pnpm install + - name: Run lint + run: pnpm lint + test: + name: 🧪 Test + runs-on: ubuntu-latest + steps: + - name: Checkout repo + uses: actions/checkout@v4.1.1 + + - name: Setup pnpm + uses: pnpm/action-setup@v2.4.0 + with: + version: ${{ env.PNPM_VERSION }} + + - name: Setup Node + uses: actions/setup-node@v3.8.1 + with: + node-version-file: ".nvmrc" + cache: pnpm + + - name: Install dependencies + run: pnpm install + - name: Run tests + run: pnpm test + build: + name: 🏗️ Build + runs-on: ubuntu-latest + needs: [lint, test] + steps: + - name: Checkout repo + uses: actions/checkout@v4.1.1 + + - name: Setup pnpm + uses: pnpm/action-setup@v2.4.0 + with: + version: ${{ env.PNPM_VERSION }} + + - name: Setup Node + uses: actions/setup-node@v3.8.1 + with: + node-version-file: ".nvmrc" + cache: pnpm + + - name: Install dependencies + run: pnpm install + - name: Run build + run: pnpm build diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index dc3e110..85a0f9b 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -1,8 +1,5 @@ name: CI on: - push: - branches: - - main pull_request: branches: - main diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index 0f647ce..bf55e58 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -2,7 +2,7 @@ name: Release on: workflow_run: - workflows: ["CI"] + workflows: ["CD"] types: - completed branches: diff --git a/.nvmrc b/.nvmrc index bb52a16..805b5a4 100644 --- a/.nvmrc +++ b/.nvmrc @@ -1 +1 @@ -v18.18.2 +v20.9.0 diff --git a/netlify.toml b/netlify.toml index 3616c74..08d71e4 100644 --- a/netlify.toml +++ b/netlify.toml @@ -1,5 +1,5 @@ [build.environment] - NODE_VERSION = "18" + NODE_VERSION = "20.9.0" [build] publish = "docs/.vitepress/dist" command = "pnpm docs:build"