From 358572d9e76f4cd22bfcb09c092a1eaf3a31f005 Mon Sep 17 00:00:00 2001 From: ST-DDT Date: Sat, 4 Nov 2023 10:40:06 +0100 Subject: [PATCH 1/5] infra(typescript-eslint): strict-type-checked (#2467) --- .eslintrc.js | 8 +++++++- src/modules/finance/index.ts | 2 +- src/modules/image/index.ts | 7 +++---- src/modules/word/filter-word-list-by-length.ts | 4 ++-- test/modules/helpers.spec.ts | 2 ++ test/scripts/apidoc/module.example.ts | 2 ++ test/scripts/apidoc/verify-jsdoc-tags.spec.ts | 8 ++++---- 7 files changed, 21 insertions(+), 12 deletions(-) diff --git a/.eslintrc.js b/.eslintrc.js index 5a69444ee80..b3d50623771 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -15,7 +15,7 @@ module.exports = defineConfig({ reportUnusedDisableDirectives: true, extends: [ 'eslint:recommended', - 'plugin:@typescript-eslint/recommended-type-checked', + 'plugin:@typescript-eslint/strict-type-checked', 'plugin:prettier/recommended', 'plugin:deprecation/recommended', 'plugin:jsdoc/recommended-typescript-error', @@ -91,6 +91,7 @@ module.exports = defineConfig({ 'error', { ignoreParameters: true }, ], + '@typescript-eslint/no-unnecessary-condition': 'off', // requires `strictNullChecks` to be enabled '@typescript-eslint/no-unsafe-assignment': 'off', '@typescript-eslint/no-unsafe-call': 'off', '@typescript-eslint/no-unsafe-member-access': 'off', @@ -104,6 +105,11 @@ module.exports = defineConfig({ { allowNumber: true, allowBoolean: true }, ], '@typescript-eslint/unbound-method': 'off', + '@typescript-eslint/unified-signatures': 'off', // incompatible with our api docs generation + + // TODO @ST-DDT 2023-10-10: The following rules currently conflict with our code. + // Each rule should be checked whether it should be enabled/configured and the problems fixed, or stay disabled permanently. + '@typescript-eslint/no-confusing-void-expression': 'off', 'jsdoc/require-jsdoc': 'off', // Enabled only for src/**/*.ts 'jsdoc/require-returns': 'off', diff --git a/src/modules/finance/index.ts b/src/modules/finance/index.ts index 2664cdfca11..b381e16c44f 100644 --- a/src/modules/finance/index.ts +++ b/src/modules/finance/index.ts @@ -815,7 +815,7 @@ export class FinanceModule { const normalizedIssuer = issuer.toLowerCase(); if (normalizedIssuer in localeFormat) { format = this.faker.helpers.arrayElement(localeFormat[normalizedIssuer]); - } else if (/#/.test(issuer)) { + } else if (issuer.includes('#')) { // The user chose an optional scheme format = issuer; } else { diff --git a/src/modules/image/index.ts b/src/modules/image/index.ts index a93f181e131..b1c9c6922e3 100644 --- a/src/modules/image/index.ts +++ b/src/modules/image/index.ts @@ -232,17 +232,16 @@ export class ImageModule { length: { min: 5, max: 10 }, })}/${width}/${height}`; - const hasValidGrayscale = grayscale === true; const hasValidBlur = typeof blur === 'number' && blur >= 1 && blur <= 10; - if (hasValidGrayscale || hasValidBlur) { + if (grayscale || hasValidBlur) { url += '?'; - if (hasValidGrayscale) { + if (grayscale) { url += `grayscale`; } - if (hasValidGrayscale && hasValidBlur) { + if (grayscale && hasValidBlur) { url += '&'; } diff --git a/src/modules/word/filter-word-list-by-length.ts b/src/modules/word/filter-word-list-by-length.ts index 106e98589bc..60c6fae93c9 100644 --- a/src/modules/word/filter-word-list-by-length.ts +++ b/src/modules/word/filter-word-list-by-length.ts @@ -13,12 +13,12 @@ const STRATEGIES = { wordList: ReadonlyArray, length: { min: number; max: number } ): string[] => { - const wordsByLength = wordList.reduce( + const wordsByLength = wordList.reduce>( (data, word) => { (data[word.length] = data[word.length] ?? []).push(word); return data; }, - {} as Record + {} ); const lengths = Object.keys(wordsByLength).map(Number); diff --git a/test/modules/helpers.spec.ts b/test/modules/helpers.spec.ts index e683d1d818c..3f850086770 100644 --- a/test/modules/helpers.spec.ts +++ b/test/modules/helpers.spec.ts @@ -95,6 +95,7 @@ describe('helpers', () => { enum MixedFoo { Foo = 0, Bar = 1, + // eslint-disable-next-line @typescript-eslint/no-mixed-enums FooName = 'Foo', BarName = 'Bar', } @@ -256,6 +257,7 @@ describe('helpers', () => { enum FooMixedEnum { Foo = 0, Bar = 1, + // eslint-disable-next-line @typescript-eslint/no-mixed-enums StrFoo = 'FOO', StrBar = 'BAR', } diff --git a/test/scripts/apidoc/module.example.ts b/test/scripts/apidoc/module.example.ts index b3f43a8602b..0e5d9d89613 100644 --- a/test/scripts/apidoc/module.example.ts +++ b/test/scripts/apidoc/module.example.ts @@ -1,3 +1,5 @@ +/* eslint-disable @typescript-eslint/no-extraneous-class -- required for tests */ + /** * A simple module without anything special. */ diff --git a/test/scripts/apidoc/verify-jsdoc-tags.spec.ts b/test/scripts/apidoc/verify-jsdoc-tags.spec.ts index 64cbcdb4ee5..a924c268213 100644 --- a/test/scripts/apidoc/verify-jsdoc-tags.spec.ts +++ b/test/scripts/apidoc/verify-jsdoc-tags.spec.ts @@ -47,7 +47,7 @@ describe('verify JSDoc tags', () => { } const allowedReferences = new Set( - Object.values(modules).reduce((acc, [module, methods]) => { + Object.values(modules).reduce((acc, [module, methods]) => { const moduleFieldName = extractModuleFieldName(module); return [ ...acc, @@ -55,10 +55,10 @@ describe('verify JSDoc tags', () => { (methodName) => `faker.${moduleFieldName}.${methodName}` ), ]; - }, [] as string[]) + }, []) ); const allowedLinks = new Set( - Object.values(modules).reduce((acc, [module, methods]) => { + Object.values(modules).reduce((acc, [module, methods]) => { const moduleFieldName = extractModuleFieldName(module); return [ ...acc, @@ -68,7 +68,7 @@ describe('verify JSDoc tags', () => { `/api/${moduleFieldName}.html#${methodName.toLowerCase()}` ), ]; - }, [] as string[]) + }, []) ); function assertDescription(description: string, isHtml: boolean): void { From 48a7af4f0470115945ab166b540d0bedc7e5eb20 Mon Sep 17 00:00:00 2001 From: ST-DDT Date: Mon, 6 Nov 2023 09:40:49 +0100 Subject: [PATCH 2/5] refactor: simplify module creation (#2485) --- src/internal/module-base.ts | 25 +++++++++++++++++++++++++ src/modules/airline/index.ts | 9 ++------- src/modules/animal/index.ts | 9 ++------- src/modules/color/index.ts | 9 ++------- src/modules/commerce/index.ts | 9 ++------- src/modules/company/index.ts | 9 ++------- src/modules/database/index.ts | 9 ++------- src/modules/datatype/index.ts | 9 ++------- src/modules/date/index.ts | 10 +++------- src/modules/finance/index.ts | 9 ++------- src/modules/git/index.ts | 9 ++------- src/modules/hacker/index.ts | 9 ++------- src/modules/helpers/index.ts | 8 ++------ src/modules/image/index.ts | 8 ++++---- src/modules/internet/index.ts | 9 ++------- src/modules/location/index.ts | 9 ++------- src/modules/lorem/index.ts | 9 ++------- src/modules/music/index.ts | 9 ++------- src/modules/number/index.ts | 9 ++------- src/modules/person/index.ts | 8 ++------ src/modules/phone/index.ts | 9 ++------- src/modules/random/index.ts | 9 ++------- src/modules/science/index.ts | 9 ++------- src/modules/string/index.ts | 9 ++------- src/modules/system/index.ts | 9 ++------- src/modules/vehicle/index.ts | 9 ++------- src/modules/word/index.ts | 9 ++------- 27 files changed, 80 insertions(+), 177 deletions(-) create mode 100644 src/internal/module-base.ts diff --git a/src/internal/module-base.ts b/src/internal/module-base.ts new file mode 100644 index 00000000000..aceba70306b --- /dev/null +++ b/src/internal/module-base.ts @@ -0,0 +1,25 @@ +import type { Faker } from '../faker'; +import type { SimpleFaker } from '../simple-faker'; +import { bindThisToMemberFunctions } from './bind-this-to-member-functions'; + +/** + * Base class for all modules that use a `SimpleFaker` instance. + * + * @internal + */ +export abstract class SimpleModuleBase { + constructor(protected readonly faker: SimpleFaker) { + bindThisToMemberFunctions(this); + } +} + +/** + * Base class for all modules that use a `Faker` instance. + * + * @internal + */ +export abstract class ModuleBase extends SimpleModuleBase { + constructor(protected readonly faker: Faker) { + super(faker); + } +} diff --git a/src/modules/airline/index.ts b/src/modules/airline/index.ts index f6d2fdc7cea..f0ada30c8c4 100644 --- a/src/modules/airline/index.ts +++ b/src/modules/airline/index.ts @@ -4,8 +4,7 @@ * responsible for setting standards relating to many aspects of airline * operations. */ -import type { Faker } from '../..'; -import { bindThisToMemberFunctions } from '../../internal/bind-this-to-member-functions'; +import { ModuleBase } from '../../internal/module-base'; export enum Aircraft { Narrowbody = 'narrowbody', @@ -78,11 +77,7 @@ const aircraftTypeSeats: Record = { * * - To generate sample passenger data, you can use the methods of the [`faker.person`](https://fakerjs.dev/api/person.html) module. */ -export class AirlineModule { - constructor(private readonly faker: Faker) { - bindThisToMemberFunctions(this); - } - +export class AirlineModule extends ModuleBase { /** * Generates a random airport. * diff --git a/src/modules/animal/index.ts b/src/modules/animal/index.ts index 09d7f9e167a..7e5a51da4ad 100644 --- a/src/modules/animal/index.ts +++ b/src/modules/animal/index.ts @@ -1,5 +1,4 @@ -import type { Faker } from '../..'; -import { bindThisToMemberFunctions } from '../../internal/bind-this-to-member-functions'; +import { ModuleBase } from '../../internal/module-base'; /** * Module to generate animal related entries. @@ -12,11 +11,7 @@ import { bindThisToMemberFunctions } from '../../internal/bind-this-to-member-fu * * All values may be localized. */ -export class AnimalModule { - constructor(private readonly faker: Faker) { - bindThisToMemberFunctions(this); - } - +export class AnimalModule extends ModuleBase { /** * Returns a random dog breed. * diff --git a/src/modules/color/index.ts b/src/modules/color/index.ts index 5855cd862e3..ee626e096ac 100644 --- a/src/modules/color/index.ts +++ b/src/modules/color/index.ts @@ -1,5 +1,4 @@ -import type { Faker } from '../../faker'; -import { bindThisToMemberFunctions } from '../../internal/bind-this-to-member-functions'; +import { ModuleBase } from '../../internal/module-base'; /** * Color space names supported by CSS. @@ -171,11 +170,7 @@ function toColorFormat( * * For a hex color like `#ff0000` used in HTML/CSS, use [`rgb()`](https://fakerjs.dev/api/color.html#rgb). There are also methods for other color formats such as [`hsl()`](https://fakerjs.dev/api/color.html#hsl), [`cmyk()`](https://fakerjs.dev/api/color.html#cmyk), [`hwb()`](https://fakerjs.dev/api/color.html#hwb), [`lab()`](https://fakerjs.dev/api/color.html#lab), and [`lch()`](https://fakerjs.dev/api/color.html#lch). */ -export class ColorModule { - constructor(private readonly faker: Faker) { - bindThisToMemberFunctions(this); - } - +export class ColorModule extends ModuleBase { /** * Returns a random human-readable color name. * diff --git a/src/modules/commerce/index.ts b/src/modules/commerce/index.ts index 18147dcb2e8..48f56568582 100644 --- a/src/modules/commerce/index.ts +++ b/src/modules/commerce/index.ts @@ -1,6 +1,5 @@ -import type { Faker } from '../../faker'; -import { bindThisToMemberFunctions } from '../../internal/bind-this-to-member-functions'; import { deprecated } from '../../internal/deprecated'; +import { ModuleBase } from '../../internal/module-base'; // Source for official prefixes: https://www.isbn-international.org/range_file_generation const ISBN_LENGTH_RULES: Record< @@ -86,11 +85,7 @@ const ISBN_LENGTH_RULES: Record< * * You can also create a price using [`price()`](https://fakerjs.dev/api/commerce.html#price). */ -export class CommerceModule { - constructor(private readonly faker: Faker) { - bindThisToMemberFunctions(this); - } - +export class CommerceModule extends ModuleBase { /** * Returns a department inside a shop. * diff --git a/src/modules/company/index.ts b/src/modules/company/index.ts index 361449618c0..14fe0eba491 100644 --- a/src/modules/company/index.ts +++ b/src/modules/company/index.ts @@ -1,6 +1,5 @@ -import type { Faker } from '../..'; -import { bindThisToMemberFunctions } from '../../internal/bind-this-to-member-functions'; import { deprecated } from '../../internal/deprecated'; +import { ModuleBase } from '../../internal/module-base'; /** * Module to generate company related entries. @@ -16,11 +15,7 @@ import { deprecated } from '../../internal/deprecated'; * - For products and commerce, use [`faker.commerce`](https://fakerjs.dev/api/commerce.html). * - For finance-related entries, use [`faker.finance`](https://fakerjs.dev/api/finance.html). */ -export class CompanyModule { - constructor(private readonly faker: Faker) { - bindThisToMemberFunctions(this); - } - +export class CompanyModule extends ModuleBase { /** * Returns an array with possible company name suffixes. * diff --git a/src/modules/database/index.ts b/src/modules/database/index.ts index 6015cfa2160..6c3595cc4fc 100644 --- a/src/modules/database/index.ts +++ b/src/modules/database/index.ts @@ -1,5 +1,4 @@ -import type { Faker } from '../..'; -import { bindThisToMemberFunctions } from '../../internal/bind-this-to-member-functions'; +import { ModuleBase } from '../../internal/module-base'; /** * Module to generate database related entries. @@ -10,11 +9,7 @@ import { bindThisToMemberFunctions } from '../../internal/bind-this-to-member-fu * * For the NoSQL database MongoDB, [`mongodbObjectId()`](https://fakerjs.dev/api/database.html#mongodbobjectid) provides a random ID. */ -export class DatabaseModule { - constructor(private readonly faker: Faker) { - bindThisToMemberFunctions(this); - } - +export class DatabaseModule extends ModuleBase { /** * Returns a random database column name. * diff --git a/src/modules/datatype/index.ts b/src/modules/datatype/index.ts index 4043d6c5433..a8b77a2c67a 100644 --- a/src/modules/datatype/index.ts +++ b/src/modules/datatype/index.ts @@ -1,6 +1,5 @@ -import type { SimpleFaker } from '../..'; -import { bindThisToMemberFunctions } from '../../internal/bind-this-to-member-functions'; import { deprecated } from '../../internal/deprecated'; +import { SimpleModuleBase } from '../../internal/module-base'; /** * Module to generate various primitive values and data types. @@ -11,11 +10,7 @@ import { deprecated } from '../../internal/deprecated'; * * For a simple random true or false value, use [`boolean()`](https://fakerjs.dev/api/datatype.html#boolean). */ -export class DatatypeModule { - constructor(private readonly faker: SimpleFaker) { - bindThisToMemberFunctions(this); - } - +export class DatatypeModule extends SimpleModuleBase { /** * Returns a single random number between zero and the given max value or the given range with the specified precision. * The bounds are inclusive. diff --git a/src/modules/date/index.ts b/src/modules/date/index.ts index 3ad5f438383..69854688a5b 100644 --- a/src/modules/date/index.ts +++ b/src/modules/date/index.ts @@ -1,8 +1,8 @@ -import type { Faker, SimpleFaker } from '../..'; +import type { Faker } from '../..'; import type { DateEntryDefinition } from '../../definitions'; import { FakerError } from '../../errors/faker-error'; -import { bindThisToMemberFunctions } from '../../internal/bind-this-to-member-functions'; import { deprecated } from '../../internal/deprecated'; +import { SimpleModuleBase } from '../../internal/module-base'; /** * Converts date passed as a string, number or Date to a Date object. @@ -26,11 +26,7 @@ function toDate( /** * Module to generate dates (without methods requiring localized data). */ -export class SimpleDateModule { - constructor(protected readonly faker: SimpleFaker) { - bindThisToMemberFunctions(this); - } - +export class SimpleDateModule extends SimpleModuleBase { /** * Generates a random date that can be either in the past or in the future. * diff --git a/src/modules/finance/index.ts b/src/modules/finance/index.ts index b381e16c44f..ddf3fffe988 100644 --- a/src/modules/finance/index.ts +++ b/src/modules/finance/index.ts @@ -1,7 +1,6 @@ -import type { Faker } from '../..'; import { FakerError } from '../../errors/faker-error'; -import { bindThisToMemberFunctions } from '../../internal/bind-this-to-member-functions'; import { deprecated } from '../../internal/deprecated'; +import { ModuleBase } from '../../internal/module-base'; import iban from './iban'; /** @@ -37,11 +36,7 @@ export interface Currency { * * For blockchain related methods, use: [`bitcoinAddress()`](https://fakerjs.dev/api/finance.html#bitcoinaddress), [`ethereumAddress()`](https://fakerjs.dev/api/finance.html#ethereumaddress) and [`litecoinAddress()`](https://fakerjs.dev/api/finance.html#litecoinaddress). */ -export class FinanceModule { - constructor(private readonly faker: Faker) { - bindThisToMemberFunctions(this); - } - +export class FinanceModule extends ModuleBase { /** * Generates a random account number. * diff --git a/src/modules/git/index.ts b/src/modules/git/index.ts index cbbeb3518e7..89ab4799fef 100644 --- a/src/modules/git/index.ts +++ b/src/modules/git/index.ts @@ -1,6 +1,5 @@ -import type { Faker } from '../..'; -import { bindThisToMemberFunctions } from '../../internal/bind-this-to-member-functions'; import { deprecated } from '../../internal/deprecated'; +import { ModuleBase } from '../../internal/module-base'; const nbsp = '\u00A0'; @@ -11,11 +10,7 @@ const nbsp = '\u00A0'; * * [`commitEntry()`](https://fakerjs.dev/api/git.html#commitentry) generates a random commit entry as printed by `git log`. This includes a commit hash [`commitSha()`](https://fakerjs.dev/api/git.html#commitsha), author, date [`commitDate()`](https://fakerjs.dev/api/git.html#commitdate), and commit message [`commitMessage()`](https://fakerjs.dev/api/git.html#commitmessage). You can also generate a random branch name with [`branch()`](https://fakerjs.dev/api/git.html#branch). */ -export class GitModule { - constructor(private readonly faker: Faker) { - bindThisToMemberFunctions(this); - } - +export class GitModule extends ModuleBase { /** * Generates a random branch name. * diff --git a/src/modules/hacker/index.ts b/src/modules/hacker/index.ts index 7513095ac49..3a0f9dab1cd 100644 --- a/src/modules/hacker/index.ts +++ b/src/modules/hacker/index.ts @@ -1,5 +1,4 @@ -import type { Faker } from '../..'; -import { bindThisToMemberFunctions } from '../../internal/bind-this-to-member-functions'; +import { ModuleBase } from '../../internal/module-base'; /** * Module to generate hacker/IT words and phrases. @@ -16,11 +15,7 @@ import { bindThisToMemberFunctions } from '../../internal/bind-this-to-member-fu * - [faker.lorem](https://fakerjs.dev/api/lorem.html) uses faux-Latin "lorem ipsum" text. * - [faker.company](https://fakerjs.dev/api/company.html) includes corporate catchphrases and buzzwords. */ -export class HackerModule { - constructor(private readonly faker: Faker) { - bindThisToMemberFunctions(this); - } - +export class HackerModule extends ModuleBase { /** * Returns a random hacker/IT abbreviation. * diff --git a/src/modules/helpers/index.ts b/src/modules/helpers/index.ts index 4c64be4e98c..ff93f2caf4c 100644 --- a/src/modules/helpers/index.ts +++ b/src/modules/helpers/index.ts @@ -1,7 +1,7 @@ import type { Faker, SimpleFaker } from '../..'; import { FakerError } from '../../errors/faker-error'; -import { bindThisToMemberFunctions } from '../../internal/bind-this-to-member-functions'; import { deprecated } from '../../internal/deprecated'; +import { SimpleModuleBase } from '../../internal/module-base'; import { luhnCheckValue } from './luhn-check'; import type { RecordKey } from './unique'; import * as uniqueExec from './unique'; @@ -161,7 +161,7 @@ function legacyRegexpStringParse( /** * Module with various helper methods providing basic (seed-dependent) operations useful for implementing faker methods (without methods requiring localized data). */ -export class SimpleHelpersModule { +export class SimpleHelpersModule extends SimpleModuleBase { /** * Global store of unique values. * This means that faker should *never* return duplicate values across all API methods when using `faker.helpers.unique` without passing `options.store`. @@ -170,10 +170,6 @@ export class SimpleHelpersModule { */ private readonly uniqueStore: Record = {}; - constructor(protected readonly faker: SimpleFaker) { - bindThisToMemberFunctions(this); - } - /** * Slugifies the given string. * For that all spaces (` `) are replaced by hyphens (`-`) diff --git a/src/modules/image/index.ts b/src/modules/image/index.ts index b1c9c6922e3..915014db07e 100644 --- a/src/modules/image/index.ts +++ b/src/modules/image/index.ts @@ -1,6 +1,6 @@ import type { Faker } from '../..'; -import { bindThisToMemberFunctions } from '../../internal/bind-this-to-member-functions'; import { deprecated } from '../../internal/deprecated'; +import { ModuleBase } from '../../internal/module-base'; import type { MethodsOf } from '../../utils/types'; import { LoremPicsum } from './providers/lorempicsum'; import { Placeholder } from './providers/placeholder'; @@ -19,7 +19,7 @@ import { Unsplash } from './providers/unsplash'; * * This module previously also contained methods for specifically themed images like "fashion" or "food", but these are now deprecated. If you need more control over image type, you can request categorized images using [`urlLoremFlickr()`](https://fakerjs.dev/api/image.html#urlloremflickr), use an image provider directly or provide your own set of placeholder images. */ -export class ImageModule { +export class ImageModule extends ModuleBase { /** * @deprecated Use `faker.image` instead. */ @@ -38,8 +38,8 @@ export class ImageModule { // eslint-disable-next-line deprecation/deprecation readonly placeholder: Placeholder; - constructor(private readonly faker: Faker) { - bindThisToMemberFunctions(this); + constructor(faker: Faker) { + super(faker); // eslint-disable-next-line deprecation/deprecation this.unsplash = new Unsplash(this.faker); diff --git a/src/modules/internet/index.ts b/src/modules/internet/index.ts index aecdb302a48..4f58615f71b 100644 --- a/src/modules/internet/index.ts +++ b/src/modules/internet/index.ts @@ -1,6 +1,5 @@ -import type { Faker } from '../..'; -import { bindThisToMemberFunctions } from '../../internal/bind-this-to-member-functions'; import { deprecated } from '../../internal/deprecated'; +import { ModuleBase } from '../../internal/module-base'; import { charMapping } from './char-mappings'; import * as random_ua from './user-agent'; @@ -38,11 +37,7 @@ export type HTTPProtocolType = 'http' | 'https'; * * You also have access to a number of the more technical elements of web requests, such as [`httpMethod`](https://fakerjs.dev/api/internet.html#httpmethod), [`httpStatusCode`](https://fakerjs.dev/api/internet.html#httpstatuscode), [`ip`](https://fakerjs.dev/api/internet.html#ip), [`mac`](https://fakerjs.dev/api/internet.html#mac), [`userAgent`](https://fakerjs.dev/api/internet.html#useragent), and [`port`](https://fakerjs.dev/api/internet.html#port). */ -export class InternetModule { - constructor(private readonly faker: Faker) { - bindThisToMemberFunctions(this); - } - +export class InternetModule extends ModuleBase { /** * Returns a random avatar url. * diff --git a/src/modules/location/index.ts b/src/modules/location/index.ts index 19816c8fd67..baf51c510fc 100644 --- a/src/modules/location/index.ts +++ b/src/modules/location/index.ts @@ -1,7 +1,6 @@ -import type { Faker } from '../..'; import { FakerError } from '../../errors/faker-error'; -import { bindThisToMemberFunctions } from '../../internal/bind-this-to-member-functions'; import { deprecated } from '../../internal/deprecated'; +import { ModuleBase } from '../../internal/module-base'; /** * Module to generate addresses and locations. Prior to Faker 8.0.0, this module was known as `faker.address`. @@ -14,11 +13,7 @@ import { deprecated } from '../../internal/deprecated'; * * For a random country, you can use [`country()`](https://fakerjs.dev/api/location.html#country) or [`countryCode()`](https://fakerjs.dev/api/location.html#countrycode). */ -export class LocationModule { - constructor(private readonly faker: Faker) { - bindThisToMemberFunctions(this); - } - +export class LocationModule extends ModuleBase { /** * Generates random zip code from specified format. If format is not specified, * the locale's zip format is used. diff --git a/src/modules/lorem/index.ts b/src/modules/lorem/index.ts index 82e557e607c..ca71afdf7fd 100644 --- a/src/modules/lorem/index.ts +++ b/src/modules/lorem/index.ts @@ -1,5 +1,4 @@ -import type { Faker } from '../..'; -import { bindThisToMemberFunctions } from '../../internal/bind-this-to-member-functions'; +import { ModuleBase } from '../../internal/module-base'; import { filterWordListByLength } from '../word/filter-word-list-by-length'; /** @@ -13,11 +12,7 @@ import { filterWordListByLength } from '../word/filter-word-list-by-length'; * * The generic [`text()`](https://fakerjs.dev/api/lorem.html#text) method can be used to generate some text between one sentence and multiple paragraphs, while [`slug()`](https://fakerjs.dev/api/lorem.html#slug) generates an URL-friendly hyphenated string. */ -export class LoremModule { - constructor(private readonly faker: Faker) { - bindThisToMemberFunctions(this); - } - +export class LoremModule extends ModuleBase { /** * Generates a word of a specified length. * diff --git a/src/modules/music/index.ts b/src/modules/music/index.ts index 86e865aee52..332b45306ad 100644 --- a/src/modules/music/index.ts +++ b/src/modules/music/index.ts @@ -1,5 +1,4 @@ -import type { Faker } from '../..'; -import { bindThisToMemberFunctions } from '../../internal/bind-this-to-member-functions'; +import { ModuleBase } from '../../internal/module-base'; /** * Module to generate music related entries. @@ -8,11 +7,7 @@ import { bindThisToMemberFunctions } from '../../internal/bind-this-to-member-fu * * Generate a random music genre with [`genre()`](https://fakerjs.dev/api/music.html#genre) or song name with [`songName()`](https://fakerjs.dev/api/music.html#songname). Both may be localized. */ -export class MusicModule { - constructor(private readonly faker: Faker) { - bindThisToMemberFunctions(this); - } - +export class MusicModule extends ModuleBase { /** * Returns a random music genre. * diff --git a/src/modules/number/index.ts b/src/modules/number/index.ts index 87464212a0a..85272affcc1 100644 --- a/src/modules/number/index.ts +++ b/src/modules/number/index.ts @@ -1,6 +1,5 @@ -import type { SimpleFaker } from '../..'; import { FakerError } from '../../errors/faker-error'; -import { bindThisToMemberFunctions } from '../../internal/bind-this-to-member-functions'; +import { SimpleModuleBase } from '../../internal/module-base'; /** * Module to generate numbers of any kind. @@ -16,11 +15,7 @@ import { bindThisToMemberFunctions } from '../../internal/bind-this-to-member-fu * - For numeric strings of a given length, use [`faker.string.numeric()`](https://fakerjs.dev/api/string.html#numeric). * - For credit card numbers, use [`faker.finance.creditCardNumber()`](https://fakerjs.dev/api/finance.html#creditcardnumber). */ -export class NumberModule { - constructor(private readonly faker: SimpleFaker) { - bindThisToMemberFunctions(this); - } - +export class NumberModule extends SimpleModuleBase { /** * Returns a single random integer between zero and the given max value or the given range. * The bounds are inclusive. diff --git a/src/modules/person/index.ts b/src/modules/person/index.ts index f07727a2c96..de408091bd0 100644 --- a/src/modules/person/index.ts +++ b/src/modules/person/index.ts @@ -1,5 +1,5 @@ import type { Faker } from '../..'; -import { bindThisToMemberFunctions } from '../../internal/bind-this-to-member-functions'; +import { ModuleBase } from '../../internal/module-base'; export enum Sex { Female = 'female', @@ -74,11 +74,7 @@ function selectDefinition( * * For personal contact information like phone numbers and email addresses, see the [`faker.phone`](https://fakerjs.dev/api/phone.html) and [`faker.internet`](https://fakerjs.dev/api/internet.html) modules. */ -export class PersonModule { - constructor(private readonly faker: Faker) { - bindThisToMemberFunctions(this); - } - +export class PersonModule extends ModuleBase { /** * Returns a random first name. * diff --git a/src/modules/phone/index.ts b/src/modules/phone/index.ts index 448cdf784f8..6747e35d10c 100644 --- a/src/modules/phone/index.ts +++ b/src/modules/phone/index.ts @@ -1,6 +1,5 @@ -import type { Faker } from '../..'; -import { bindThisToMemberFunctions } from '../../internal/bind-this-to-member-functions'; import { deprecated } from '../../internal/deprecated'; +import { ModuleBase } from '../../internal/module-base'; /** * Module to generate phone-related data. @@ -9,11 +8,7 @@ import { deprecated } from '../../internal/deprecated'; * * For a phone number, use [`number()`](https://fakerjs.dev/api/phone.html#number). Many locales provide country-specific formats. */ -export class PhoneModule { - constructor(private readonly faker: Faker) { - bindThisToMemberFunctions(this); - } - +export class PhoneModule extends ModuleBase { /** * Generates a random phone number. * diff --git a/src/modules/random/index.ts b/src/modules/random/index.ts index 7fa16f40bfe..98d28bc5a4f 100644 --- a/src/modules/random/index.ts +++ b/src/modules/random/index.ts @@ -1,7 +1,6 @@ -import type { Faker } from '../..'; import { FakerError } from '../../errors/faker-error'; -import { bindThisToMemberFunctions } from '../../internal/bind-this-to-member-functions'; import { deprecated } from '../../internal/deprecated'; +import { ModuleBase } from '../../internal/module-base'; import type { LiteralUnion } from '../../utils/types'; import type { AlphaChar, @@ -15,11 +14,7 @@ import type { * * @deprecated Use the modules specific to the type of data you want to generate instead. */ -export class RandomModule { - constructor(private readonly faker: Faker) { - bindThisToMemberFunctions(this); - } - +export class RandomModule extends ModuleBase { /** * Returns a random word. * diff --git a/src/modules/science/index.ts b/src/modules/science/index.ts index 95fc1290519..26c78014786 100644 --- a/src/modules/science/index.ts +++ b/src/modules/science/index.ts @@ -1,5 +1,4 @@ -import type { Faker } from '../..'; -import { bindThisToMemberFunctions } from '../../internal/bind-this-to-member-functions'; +import { ModuleBase } from '../../internal/module-base'; /** * The possible definitions related to elements. @@ -37,11 +36,7 @@ export interface Unit { * * Both methods in this module return objects rather than strings. For example, you can use `faker.science.chemicalElement().name` to pick out the specific property you need. */ -export class ScienceModule { - constructor(private readonly faker: Faker) { - bindThisToMemberFunctions(this); - } - +export class ScienceModule extends ModuleBase { /** * Returns a random periodic table element. * diff --git a/src/modules/string/index.ts b/src/modules/string/index.ts index a370c386c11..7c159a21519 100644 --- a/src/modules/string/index.ts +++ b/src/modules/string/index.ts @@ -1,6 +1,5 @@ -import type { SimpleFaker } from '../..'; import { FakerError } from '../../errors/faker-error'; -import { bindThisToMemberFunctions } from '../../internal/bind-this-to-member-functions'; +import { SimpleModuleBase } from '../../internal/module-base'; import type { LiteralUnion } from '../../utils/types'; export type Casing = 'upper' | 'lower' | 'mixed'; @@ -98,11 +97,7 @@ const SAMPLE_MAX_LENGTH = 2 ** 20; * - Emoji can be found at [`faker.internet.emoji()`](https://fakerjs.dev/api/internet.html#emoji). * - The [`faker.helpers`](https://fakerjs.dev/api/helpers.html) module includes a number of string related methods. */ -export class StringModule { - constructor(private readonly faker: SimpleFaker) { - bindThisToMemberFunctions(this); - } - +export class StringModule extends SimpleModuleBase { /** * Generates a string from the given characters. * diff --git a/src/modules/system/index.ts b/src/modules/system/index.ts index 8a21a39b567..fa38d6ce467 100644 --- a/src/modules/system/index.ts +++ b/src/modules/system/index.ts @@ -1,5 +1,4 @@ -import type { Faker } from '../..'; -import { bindThisToMemberFunctions } from '../../internal/bind-this-to-member-functions'; +import { ModuleBase } from '../../internal/module-base'; const commonFileTypes = ['video', 'audio', 'image', 'text', 'application']; @@ -36,11 +35,7 @@ const CRON_DAY_OF_WEEK = [ /** * Generates fake data for many computer systems properties. */ -export class SystemModule { - constructor(private readonly faker: Faker) { - bindThisToMemberFunctions(this); - } - +export class SystemModule extends ModuleBase { /** * Returns a random file name with extension. * diff --git a/src/modules/vehicle/index.ts b/src/modules/vehicle/index.ts index f5f4f1afd1a..e47b7b05765 100644 --- a/src/modules/vehicle/index.ts +++ b/src/modules/vehicle/index.ts @@ -1,5 +1,4 @@ -import type { Faker } from '../..'; -import { bindThisToMemberFunctions } from '../../internal/bind-this-to-member-functions'; +import { ModuleBase } from '../../internal/module-base'; /** * Module to generate vehicle related entries. @@ -10,11 +9,7 @@ import { bindThisToMemberFunctions } from '../../internal/bind-this-to-member-fu * * If you prefer two wheels, you can generate a [`bicycle()`](https://fakerjs.dev/api/vehicle.html#bicycle) type instead. */ -export class VehicleModule { - constructor(private readonly faker: Faker) { - bindThisToMemberFunctions(this); - } - +export class VehicleModule extends ModuleBase { /** * Returns a random vehicle. * diff --git a/src/modules/word/index.ts b/src/modules/word/index.ts index 93c56829f7d..0408f3cf1bf 100644 --- a/src/modules/word/index.ts +++ b/src/modules/word/index.ts @@ -1,16 +1,11 @@ -import type { Faker } from '../..'; import { FakerError } from '../../errors/faker-error'; -import { bindThisToMemberFunctions } from '../../internal/bind-this-to-member-functions'; +import { ModuleBase } from '../../internal/module-base'; import { filterWordListByLength } from './filter-word-list-by-length'; /** * Module to return various types of words. */ -export class WordModule { - constructor(private readonly faker: Faker) { - bindThisToMemberFunctions(this); - } - +export class WordModule extends ModuleBase { /** * Returns an adjective of random or optionally specified length. * From 813a34dc6be0f364fceaa2400823e0d4bab98b8d Mon Sep 17 00:00:00 2001 From: ST-DDT Date: Mon, 6 Nov 2023 09:52:17 +0100 Subject: [PATCH 3/5] infra(unicorn): prefer-negative-index (#2512) --- .eslintrc.js | 1 - scripts/apidoc/signature.ts | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/.eslintrc.js b/.eslintrc.js index b3d50623771..f2115380033 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -59,7 +59,6 @@ module.exports = defineConfig({ 'unicorn/prefer-code-point': 'off', 'unicorn/prefer-export-from': 'off', 'unicorn/prefer-module': 'off', - 'unicorn/prefer-negative-index': 'off', 'unicorn/prefer-string-slice': 'off', 'unicorn/prevent-abbreviations': 'off', 'unicorn/require-array-join-separator': 'off', diff --git a/scripts/apidoc/signature.ts b/scripts/apidoc/signature.ts index 2cca92b99d9..43026a78aa3 100644 --- a/scripts/apidoc/signature.ts +++ b/scripts/apidoc/signature.ts @@ -342,7 +342,7 @@ function extractDefaultFromComment(comment?: Comment): string | undefined { throw new Error(`Found description text after the default value:\n${text}`); } - summary.splice(summary.length - 2, 2); + summary.splice(-2, 2); const lastSummaryPart = summary[summary.length - 1]; lastSummaryPart.text = lastSummaryPart.text.replace(/[ \n]Defaults to $/, ''); return result[2]; From 00810b35556ee4ffc89eb4fb6205832a709203a4 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 6 Nov 2023 12:19:41 +0100 Subject: [PATCH 4/5] chore(deps): update devdependencies (#2501) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: ST-DDT --- package.json | 12 +- pnpm-lock.yaml | 386 +++++++++++++++++++++++++------------------------ 2 files changed, 200 insertions(+), 198 deletions(-) diff --git a/package.json b/package.json index 7586c57c06a..8530e95b41b 100644 --- a/package.json +++ b/package.json @@ -89,8 +89,8 @@ "devDependencies": { "@actions/github": "~6.0.0", "@algolia/client-search": "~4.19.1", - "@types/markdown-it": "~13.0.4", - "@types/node": "~20.8.7", + "@types/markdown-it": "~13.0.5", + "@types/node": "~20.8.10", "@types/sanitize-html": "~2.9.3", "@types/semver": "~7.5.4", "@types/validator": "~13.11.5", @@ -100,9 +100,9 @@ "@vitest/ui": "~0.34.7", "@vueuse/core": "~10.5.0", "conventional-changelog-cli": "~4.1.0", - "cypress": "~13.3.2", + "cypress": "~13.4.0", "esbuild": "~0.19.5", - "eslint": "~8.52.0", + "eslint": "~8.53.0", "eslint-config-prettier": "~9.0.0", "eslint-define-config": "~1.24.1", "eslint-gitignore": "~0.1.0", @@ -110,7 +110,7 @@ "eslint-plugin-jsdoc": "~46.8.2", "eslint-plugin-prettier": "~5.0.1", "eslint-plugin-unicorn": "~49.0.0", - "eslint-plugin-vitest": "~0.3.8", + "eslint-plugin-vitest": "~0.3.9", "glob": "~10.3.10", "npm-run-all": "~4.1.5", "prettier": "3.0.3", @@ -126,7 +126,7 @@ "vite": "~4.5.0", "vitepress": "1.0.0-beta.7", "vitest": "~0.34.6", - "vue": "~3.3.6" + "vue": "~3.3.7" }, "packageManager": "pnpm@8.5.1", "engines": { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index de3a7149376..b3f9f80c12d 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -8,11 +8,11 @@ devDependencies: specifier: ~4.19.1 version: 4.19.1 '@types/markdown-it': - specifier: ~13.0.4 - version: 13.0.4 + specifier: ~13.0.5 + version: 13.0.5 '@types/node': - specifier: ~20.8.7 - version: 20.8.7 + specifier: ~20.8.10 + version: 20.8.10 '@types/sanitize-html': specifier: ~2.9.3 version: 2.9.3 @@ -24,10 +24,10 @@ devDependencies: version: 13.11.5 '@typescript-eslint/eslint-plugin': specifier: ~6.9.0 - version: 6.9.0(@typescript-eslint/parser@6.9.0)(eslint@8.52.0)(typescript@4.9.5) + version: 6.9.0(@typescript-eslint/parser@6.9.0)(eslint@8.53.0)(typescript@4.9.5) '@typescript-eslint/parser': specifier: ~6.9.0 - version: 6.9.0(eslint@8.52.0)(typescript@4.9.5) + version: 6.9.0(eslint@8.53.0)(typescript@4.9.5) '@vitest/coverage-v8': specifier: ~0.34.6 version: 0.34.6(vitest@0.34.6) @@ -36,43 +36,43 @@ devDependencies: version: 0.34.7(vitest@0.34.6) '@vueuse/core': specifier: ~10.5.0 - version: 10.5.0(vue@3.3.6) + version: 10.5.0(vue@3.3.7) conventional-changelog-cli: specifier: ~4.1.0 version: 4.1.0 cypress: - specifier: ~13.3.2 - version: 13.3.2 + specifier: ~13.4.0 + version: 13.4.0 esbuild: specifier: ~0.19.5 version: 0.19.5 eslint: - specifier: ~8.52.0 - version: 8.52.0 + specifier: ~8.53.0 + version: 8.53.0 eslint-config-prettier: specifier: ~9.0.0 - version: 9.0.0(eslint@8.52.0) + version: 9.0.0(eslint@8.53.0) eslint-define-config: specifier: ~1.24.1 version: 1.24.1 eslint-gitignore: specifier: ~0.1.0 - version: 0.1.0(eslint@8.52.0) + version: 0.1.0(eslint@8.53.0) eslint-plugin-deprecation: specifier: ~2.0.0 - version: 2.0.0(eslint@8.52.0)(typescript@4.9.5) + version: 2.0.0(eslint@8.53.0)(typescript@4.9.5) eslint-plugin-jsdoc: specifier: ~46.8.2 - version: 46.8.2(eslint@8.52.0) + version: 46.8.2(eslint@8.53.0) eslint-plugin-prettier: specifier: ~5.0.1 - version: 5.0.1(eslint-config-prettier@9.0.0)(eslint@8.52.0)(prettier@3.0.3) + version: 5.0.1(eslint-config-prettier@9.0.0)(eslint@8.53.0)(prettier@3.0.3) eslint-plugin-unicorn: specifier: ~49.0.0 - version: 49.0.0(eslint@8.52.0) + version: 49.0.0(eslint@8.53.0) eslint-plugin-vitest: - specifier: ~0.3.8 - version: 0.3.8(@typescript-eslint/eslint-plugin@6.9.0)(eslint@8.52.0)(typescript@4.9.5)(vitest@0.34.6) + specifier: ~0.3.9 + version: 0.3.9(@typescript-eslint/eslint-plugin@6.9.0)(eslint@8.53.0)(typescript@4.9.5)(vitest@0.34.6) glob: specifier: ~10.3.10 version: 10.3.10 @@ -111,16 +111,16 @@ devDependencies: version: 13.11.0 vite: specifier: ~4.5.0 - version: 4.5.0(@types/node@20.8.7) + version: 4.5.0(@types/node@20.8.10) vitepress: specifier: 1.0.0-beta.7 - version: 1.0.0-beta.7(@algolia/client-search@4.19.1)(@types/node@20.8.7)(search-insights@2.9.0)(typescript@4.9.5) + version: 1.0.0-beta.7(@algolia/client-search@4.19.1)(@types/node@20.8.10)(search-insights@2.9.0)(typescript@4.9.5) vitest: specifier: ~0.34.6 version: 0.34.6(@vitest/ui@0.34.7) vue: - specifier: ~3.3.6 - version: 3.3.6(typescript@4.9.5) + specifier: ~3.3.7 + version: 3.3.7(typescript@4.9.5) packages: @@ -858,13 +858,13 @@ packages: dev: true optional: true - /@eslint-community/eslint-utils@4.4.0(eslint@8.52.0): + /@eslint-community/eslint-utils@4.4.0(eslint@8.53.0): resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 dependencies: - eslint: 8.52.0 + eslint: 8.53.0 eslint-visitor-keys: 3.4.3 dev: true @@ -873,8 +873,8 @@ packages: engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} dev: true - /@eslint/eslintrc@2.1.2: - resolution: {integrity: sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g==} + /@eslint/eslintrc@2.1.3: + resolution: {integrity: sha512-yZzuIG+jnVu6hNSzFEN07e8BxF3uAzYtQb6uDkaYZLo6oYZDCq454c5kB8zxnzfCYyP4MIuyBn10L0DqwujTmA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: ajv: 6.12.6 @@ -890,8 +890,8 @@ packages: - supports-color dev: true - /@eslint/js@8.52.0: - resolution: {integrity: sha512-mjZVbpaeMZludF2fsWLD0Z9gCref1Tk4i9+wddjRvpUNqqcndPkBD09N/Mapey0b3jaXbLm2kICwFv2E64QinA==} + /@eslint/js@8.53.0: + resolution: {integrity: sha512-Kn7K8dx/5U6+cT1yEhpX1w4PCSg0M+XyRILPgvwcEBjerFWCwQj5sbr3/VmxqV0JGHCBCzyd6LxypEuehypY1w==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true @@ -1140,8 +1140,8 @@ packages: resolution: {integrity: sha512-pTjcqY9E4nOI55Wgpz7eiI8+LzdYnw3qxXCfHyBDdPbYvbyLgWLJGh8EdPvqawwMK1Uo1794AUkkR38Fr0g+2g==} 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.3 '@types/mdurl': 1.0.3 @@ -1159,10 +1159,10 @@ packages: resolution: {integrity: sha512-4slmbtwV59ZxitY4ixUZdy1uRLf9eSIvBWPQxNjhHYWEtn0FryfKpyS2cvADYXTayWdKEIsJengncrVvkI4I6A==} dev: true - /@types/node@20.8.7: - resolution: {integrity: sha512-21TKHHh3eUHIi2MloeptJWALuCu5H7HQTdTrWIFReA8ad+aggoX+lRes3ex7/FtpC+sVUpFMQ+QTfYr74mruiQ==} + /@types/node@20.8.10: + resolution: {integrity: sha512-TlgT8JntpcbmKUFzjhsyhGfP2fsiz1Mv56im6enJ905xG1DAYesxJaeSbGqQmAw8OWPdhyJGhGSQGKRNJ45u9w==} dependencies: - undici-types: 5.25.3 + undici-types: 5.26.5 dev: true /@types/normalize-package-data@2.4.2: @@ -1199,11 +1199,11 @@ packages: resolution: {integrity: sha512-CHzgNU3qYBnp/O4S3yv2tXPlvMTq0YWSTVg2/JYLqWZGHwwgJGAwd00poay/11asPq8wLFwHzubyInqHIFmmiw==} requiresBuild: true dependencies: - '@types/node': 20.8.7 + '@types/node': 20.8.10 dev: true optional: true - /@typescript-eslint/eslint-plugin@6.9.0(@typescript-eslint/parser@6.9.0)(eslint@8.52.0)(typescript@4.9.5): + /@typescript-eslint/eslint-plugin@6.9.0(@typescript-eslint/parser@6.9.0)(eslint@8.53.0)(typescript@4.9.5): resolution: {integrity: sha512-lgX7F0azQwRPB7t7WAyeHWVfW1YJ9NIgd9mvGhfQpRY56X6AVf8mwM8Wol+0z4liE7XX3QOt8MN1rUKCfSjRIA==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: @@ -1215,13 +1215,13 @@ packages: optional: true dependencies: '@eslint-community/regexpp': 4.9.1 - '@typescript-eslint/parser': 6.9.0(eslint@8.52.0)(typescript@4.9.5) + '@typescript-eslint/parser': 6.9.0(eslint@8.53.0)(typescript@4.9.5) '@typescript-eslint/scope-manager': 6.9.0 - '@typescript-eslint/type-utils': 6.9.0(eslint@8.52.0)(typescript@4.9.5) - '@typescript-eslint/utils': 6.9.0(eslint@8.52.0)(typescript@4.9.5) + '@typescript-eslint/type-utils': 6.9.0(eslint@8.53.0)(typescript@4.9.5) + '@typescript-eslint/utils': 6.9.0(eslint@8.53.0)(typescript@4.9.5) '@typescript-eslint/visitor-keys': 6.9.0 debug: 4.3.4(supports-color@8.1.1) - eslint: 8.52.0 + eslint: 8.53.0 graphemer: 1.4.0 ignore: 5.2.4 natural-compare: 1.4.0 @@ -1232,7 +1232,7 @@ packages: - supports-color dev: true - /@typescript-eslint/parser@6.9.0(eslint@8.52.0)(typescript@4.9.5): + /@typescript-eslint/parser@6.9.0(eslint@8.53.0)(typescript@4.9.5): resolution: {integrity: sha512-GZmjMh4AJ/5gaH4XF2eXA8tMnHWP+Pm1mjQR2QN4Iz+j/zO04b9TOvJYOX2sCNIQHtRStKTxRY1FX7LhpJT4Gw==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: @@ -1247,7 +1247,7 @@ packages: '@typescript-eslint/typescript-estree': 6.9.0(typescript@4.9.5) '@typescript-eslint/visitor-keys': 6.9.0 debug: 4.3.4(supports-color@8.1.1) - eslint: 8.52.0 + eslint: 8.53.0 typescript: 4.9.5 transitivePeerDependencies: - supports-color @@ -1261,14 +1261,6 @@ packages: '@typescript-eslint/visitor-keys': 6.7.5 dev: true - /@typescript-eslint/scope-manager@6.8.0: - resolution: {integrity: sha512-xe0HNBVwCph7rak+ZHcFD6A+q50SMsFwcmfdjs9Kz4qDh5hWhaPhFjRs/SODEhroBI5Ruyvyz9LfwUJ624O40g==} - engines: {node: ^16.0.0 || >=18.0.0} - dependencies: - '@typescript-eslint/types': 6.8.0 - '@typescript-eslint/visitor-keys': 6.8.0 - dev: true - /@typescript-eslint/scope-manager@6.9.0: resolution: {integrity: sha512-1R8A9Mc39n4pCCz9o79qRO31HGNDvC7UhPhv26TovDsWPBDx+Sg3rOZdCELIA3ZmNoWAuxaMOT7aWtGRSYkQxw==} engines: {node: ^16.0.0 || >=18.0.0} @@ -1277,7 +1269,15 @@ packages: '@typescript-eslint/visitor-keys': 6.9.0 dev: true - /@typescript-eslint/type-utils@6.9.0(eslint@8.52.0)(typescript@4.9.5): + /@typescript-eslint/scope-manager@6.9.1: + resolution: {integrity: sha512-38IxvKB6NAne3g/+MyXMs2Cda/Sz+CEpmm+KLGEM8hx/CvnSRuw51i8ukfwB/B/sESdeTGet1NH1Wj7I0YXswg==} + engines: {node: ^16.0.0 || >=18.0.0} + dependencies: + '@typescript-eslint/types': 6.9.1 + '@typescript-eslint/visitor-keys': 6.9.1 + dev: true + + /@typescript-eslint/type-utils@6.9.0(eslint@8.53.0)(typescript@4.9.5): resolution: {integrity: sha512-XXeahmfbpuhVbhSOROIzJ+b13krFmgtc4GlEuu1WBT+RpyGPIA4Y/eGnXzjbDj5gZLzpAXO/sj+IF/x2GtTMjQ==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: @@ -1288,9 +1288,9 @@ packages: optional: true dependencies: '@typescript-eslint/typescript-estree': 6.9.0(typescript@4.9.5) - '@typescript-eslint/utils': 6.9.0(eslint@8.52.0)(typescript@4.9.5) + '@typescript-eslint/utils': 6.9.0(eslint@8.53.0)(typescript@4.9.5) debug: 4.3.4(supports-color@8.1.1) - eslint: 8.52.0 + eslint: 8.53.0 ts-api-utils: 1.0.3(typescript@4.9.5) typescript: 4.9.5 transitivePeerDependencies: @@ -1302,13 +1302,13 @@ packages: engines: {node: ^16.0.0 || >=18.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 - /@typescript-eslint/types@6.9.0: - resolution: {integrity: sha512-+KB0lbkpxBkBSiVCuQvduqMJy+I1FyDbdwSpM3IoBS7APl4Bu15lStPjgBIdykdRqQNYqYNMa8Kuidax6phaEw==} + /@typescript-eslint/types@6.9.1: + resolution: {integrity: sha512-BUGslGOb14zUHOUmDB2FfT6SI1CcZEJYfF3qFwBeUrU6srJfzANonwRYHDpLBuzbq3HaoF2XL2hcr01c8f8OaQ==} engines: {node: ^16.0.0 || >=18.0.0} dev: true @@ -1333,8 +1333,8 @@ packages: - supports-color dev: true - /@typescript-eslint/typescript-estree@6.8.0(typescript@4.9.5): - resolution: {integrity: sha512-ISgV0lQ8XgW+mvv5My/+iTUdRmGspducmQcDw5JxznasXNnZn3SKNrTRuMsEXv+V/O+Lw9AGcQCfVaOPCAk/Zg==} + /@typescript-eslint/typescript-estree@6.9.0(typescript@4.9.5): + resolution: {integrity: sha512-NJM2BnJFZBEAbCfBP00zONKXvMqihZCrmwCaik0UhLr0vAgb6oguXxLX1k00oQyD+vZZ+CJn3kocvv2yxm4awQ==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: typescript: '*' @@ -1342,8 +1342,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(supports-color@8.1.1) globby: 11.1.0 is-glob: 4.0.3 @@ -1354,8 +1354,8 @@ packages: - supports-color dev: true - /@typescript-eslint/typescript-estree@6.9.0(typescript@4.9.5): - resolution: {integrity: sha512-NJM2BnJFZBEAbCfBP00zONKXvMqihZCrmwCaik0UhLr0vAgb6oguXxLX1k00oQyD+vZZ+CJn3kocvv2yxm4awQ==} + /@typescript-eslint/typescript-estree@6.9.1(typescript@4.9.5): + resolution: {integrity: sha512-U+mUylTHfcqeO7mLWVQ5W/tMLXqVpRv61wm9ZtfE5egz7gtnmqVIw9ryh0mgIlkKk9rZLY3UHygsBSdB9/ftyw==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: typescript: '*' @@ -1363,8 +1363,8 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/types': 6.9.0 - '@typescript-eslint/visitor-keys': 6.9.0 + '@typescript-eslint/types': 6.9.1 + '@typescript-eslint/visitor-keys': 6.9.1 debug: 4.3.4(supports-color@8.1.1) globby: 11.1.0 is-glob: 4.0.3 @@ -1375,57 +1375,57 @@ packages: - supports-color dev: true - /@typescript-eslint/utils@6.7.5(eslint@8.52.0)(typescript@4.9.5): + /@typescript-eslint/utils@6.7.5(eslint@8.53.0)(typescript@4.9.5): resolution: {integrity: sha512-pfRRrH20thJbzPPlPc4j0UNGvH1PjPlhlCMq4Yx7EGjV7lvEeGX0U6MJYe8+SyFutWgSHsdbJ3BXzZccYggezA==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.52.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@8.53.0) '@types/json-schema': 7.0.13 '@types/semver': 7.5.4 '@typescript-eslint/scope-manager': 6.7.5 '@typescript-eslint/types': 6.7.5 '@typescript-eslint/typescript-estree': 6.7.5(typescript@4.9.5) - eslint: 8.52.0 + eslint: 8.53.0 semver: 7.5.4 transitivePeerDependencies: - supports-color - typescript dev: true - /@typescript-eslint/utils@6.8.0(eslint@8.52.0)(typescript@4.9.5): - resolution: {integrity: sha512-dKs1itdE2qFG4jr0dlYLQVppqTE+Itt7GmIf/vX6CSvsW+3ov8PbWauVKyyfNngokhIO9sKZeRGCUo1+N7U98Q==} + /@typescript-eslint/utils@6.9.0(eslint@8.53.0)(typescript@4.9.5): + resolution: {integrity: sha512-5Wf+Jsqya7WcCO8me504FBigeQKVLAMPmUzYgDbWchINNh1KJbxCgVya3EQ2MjvJMVeXl3pofRmprqX6mfQkjQ==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.52.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@8.53.0) '@types/json-schema': 7.0.13 '@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@4.9.5) - eslint: 8.52.0 + '@typescript-eslint/scope-manager': 6.9.0 + '@typescript-eslint/types': 6.9.0 + '@typescript-eslint/typescript-estree': 6.9.0(typescript@4.9.5) + eslint: 8.53.0 semver: 7.5.4 transitivePeerDependencies: - supports-color - typescript dev: true - /@typescript-eslint/utils@6.9.0(eslint@8.52.0)(typescript@4.9.5): - resolution: {integrity: sha512-5Wf+Jsqya7WcCO8me504FBigeQKVLAMPmUzYgDbWchINNh1KJbxCgVya3EQ2MjvJMVeXl3pofRmprqX6mfQkjQ==} + /@typescript-eslint/utils@6.9.1(eslint@8.53.0)(typescript@4.9.5): + resolution: {integrity: sha512-L1T0A5nFdQrMVunpZgzqPL6y2wVreSyHhKGZryS6jrEN7bD9NplVAyMryUhXsQ4TWLnZmxc2ekar/lSGIlprCA==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.52.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@8.53.0) '@types/json-schema': 7.0.13 '@types/semver': 7.5.4 - '@typescript-eslint/scope-manager': 6.9.0 - '@typescript-eslint/types': 6.9.0 - '@typescript-eslint/typescript-estree': 6.9.0(typescript@4.9.5) - eslint: 8.52.0 + '@typescript-eslint/scope-manager': 6.9.1 + '@typescript-eslint/types': 6.9.1 + '@typescript-eslint/typescript-estree': 6.9.1(typescript@4.9.5) + eslint: 8.53.0 semver: 7.5.4 transitivePeerDependencies: - supports-color @@ -1440,19 +1440,19 @@ 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 - /@typescript-eslint/visitor-keys@6.9.0: - resolution: {integrity: sha512-dGtAfqjV6RFOtIP8I0B4ZTBRrlTT8NHHlZZSchQx3qReaoDeXhYM++M4So2AgFK9ZB0emRPA6JI1HkafzA2Ibg==} + /@typescript-eslint/visitor-keys@6.9.1: + resolution: {integrity: sha512-MUaPUe/QRLEffARsmNfmpghuQkW436DvESW+h+M52w0coICHRfD6Np9/K6PdACwnrq1HmuLl+cSPZaJmeVPkSw==} engines: {node: ^16.0.0 || >=18.0.0} dependencies: - '@typescript-eslint/types': 6.9.0 + '@typescript-eslint/types': 6.9.1 eslint-visitor-keys: 3.4.3 dev: true @@ -1460,15 +1460,15 @@ packages: resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} dev: true - /@vitejs/plugin-vue@4.4.0(vite@4.5.0)(vue@3.3.6): + /@vitejs/plugin-vue@4.4.0(vite@4.5.0)(vue@3.3.7): resolution: {integrity: sha512-xdguqb+VUwiRpSg+nsc2HtbAUSGak25DXYvpQQi4RVU1Xq1uworyoH/md9Rfd8zMmPR/pSghr309QNcftUVseg==} 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.7) - vue: 3.3.6(typescript@4.9.5) + vite: 4.5.0(@types/node@20.8.10) + vue: 3.3.7(typescript@4.9.5) dev: true /@vitest/coverage-v8@0.34.6(vitest@0.34.6): @@ -1553,106 +1553,106 @@ packages: pretty-format: 29.7.0 dev: true - /@vue/compiler-core@3.3.6: - resolution: {integrity: sha512-2JNjemwaNwf+MkkatATVZi7oAH1Hx0B04DdPH3ZoZ8vKC1xZVP7nl4HIsk8XYd3r+/52sqqoz9TWzYc3yE9dqA==} + /@vue/compiler-core@3.3.7: + resolution: {integrity: sha512-pACdY6YnTNVLXsB86YD8OF9ihwpolzhhtdLVHhBL6do/ykr6kKXNYABRtNMGrsQXpEXXyAdwvWWkuTbs4MFtPQ==} dependencies: '@babel/parser': 7.23.0 - '@vue/shared': 3.3.6 + '@vue/shared': 3.3.7 estree-walker: 2.0.2 source-map-js: 1.0.2 dev: true - /@vue/compiler-dom@3.3.6: - resolution: {integrity: sha512-1MxXcJYMHiTPexjLAJUkNs/Tw2eDf2tY3a0rL+LfuWyiKN2s6jvSwywH3PWD8bKICjfebX3GWx2Os8jkRDq3Ng==} + /@vue/compiler-dom@3.3.7: + resolution: {integrity: sha512-0LwkyJjnUPssXv/d1vNJ0PKfBlDoQs7n81CbO6Q0zdL7H1EzqYRrTVXDqdBVqro0aJjo/FOa1qBAPVI4PGSHBw==} dependencies: - '@vue/compiler-core': 3.3.6 - '@vue/shared': 3.3.6 + '@vue/compiler-core': 3.3.7 + '@vue/shared': 3.3.7 dev: true - /@vue/compiler-sfc@3.3.6: - resolution: {integrity: sha512-/Kms6du2h1VrXFreuZmlvQej8B1zenBqIohP0690IUBkJjsFvJxY0crcvVRJ0UhMgSR9dewB+khdR1DfbpArJA==} + /@vue/compiler-sfc@3.3.7: + resolution: {integrity: sha512-7pfldWy/J75U/ZyYIXRVqvLRw3vmfxDo2YLMwVtWVNew8Sm8d6wodM+OYFq4ll/UxfqVr0XKiVwti32PCrruAw==} dependencies: '@babel/parser': 7.23.0 - '@vue/compiler-core': 3.3.6 - '@vue/compiler-dom': 3.3.6 - '@vue/compiler-ssr': 3.3.6 - '@vue/reactivity-transform': 3.3.6 - '@vue/shared': 3.3.6 + '@vue/compiler-core': 3.3.7 + '@vue/compiler-dom': 3.3.7 + '@vue/compiler-ssr': 3.3.7 + '@vue/reactivity-transform': 3.3.7 + '@vue/shared': 3.3.7 estree-walker: 2.0.2 magic-string: 0.30.5 postcss: 8.4.31 source-map-js: 1.0.2 dev: true - /@vue/compiler-ssr@3.3.6: - resolution: {integrity: sha512-QTIHAfDCHhjXlYGkUg5KH7YwYtdUM1vcFl/FxFDlD6d0nXAmnjizka3HITp8DGudzHndv2PjKVS44vqqy0vP4w==} + /@vue/compiler-ssr@3.3.7: + resolution: {integrity: sha512-TxOfNVVeH3zgBc82kcUv+emNHo+vKnlRrkv8YvQU5+Y5LJGJwSNzcmLUoxD/dNzv0bhQ/F0s+InlgV0NrApJZg==} dependencies: - '@vue/compiler-dom': 3.3.6 - '@vue/shared': 3.3.6 + '@vue/compiler-dom': 3.3.7 + '@vue/shared': 3.3.7 dev: true /@vue/devtools-api@6.5.1: resolution: {integrity: sha512-+KpckaAQyfbvshdDW5xQylLni1asvNSGme1JFs8I1+/H5pHEhqUKMEQD/qn3Nx5+/nycBq11qAEi8lk+LXI2dA==} dev: true - /@vue/reactivity-transform@3.3.6: - resolution: {integrity: sha512-RlJl4dHfeO7EuzU1iJOsrlqWyJfHTkJbvYz/IOJWqu8dlCNWtxWX377WI0VsbAgBizjwD+3ZjdnvSyyFW1YVng==} + /@vue/reactivity-transform@3.3.7: + resolution: {integrity: sha512-APhRmLVbgE1VPGtoLQoWBJEaQk4V8JUsqrQihImVqKT+8U6Qi3t5ATcg4Y9wGAPb3kIhetpufyZ1RhwbZCIdDA==} dependencies: '@babel/parser': 7.23.0 - '@vue/compiler-core': 3.3.6 - '@vue/shared': 3.3.6 + '@vue/compiler-core': 3.3.7 + '@vue/shared': 3.3.7 estree-walker: 2.0.2 magic-string: 0.30.5 dev: true - /@vue/reactivity@3.3.6: - resolution: {integrity: sha512-gtChAumfQz5lSy5jZXfyXbKrIYPf9XEOrIr6rxwVyeWVjFhJwmwPLtV6Yis+M9onzX++I5AVE9j+iPH60U+B8Q==} + /@vue/reactivity@3.3.7: + resolution: {integrity: sha512-cZNVjWiw00708WqT0zRpyAgduG79dScKEPYJXq2xj/aMtk3SKvL3FBt2QKUlh6EHBJ1m8RhBY+ikBUzwc7/khg==} dependencies: - '@vue/shared': 3.3.6 + '@vue/shared': 3.3.7 dev: true - /@vue/runtime-core@3.3.6: - resolution: {integrity: sha512-qp7HTP1iw1UW2ZGJ8L3zpqlngrBKvLsDAcq5lA6JvEXHmpoEmjKju7ahM9W2p/h51h0OT5F2fGlP/gMhHOmbUA==} + /@vue/runtime-core@3.3.7: + resolution: {integrity: sha512-LHq9du3ubLZFdK/BP0Ysy3zhHqRfBn80Uc+T5Hz3maFJBGhci1MafccnL3rpd5/3wVfRHAe6c+PnlO2PAavPTQ==} dependencies: - '@vue/reactivity': 3.3.6 - '@vue/shared': 3.3.6 + '@vue/reactivity': 3.3.7 + '@vue/shared': 3.3.7 dev: true - /@vue/runtime-dom@3.3.6: - resolution: {integrity: sha512-AoX3Cp8NqMXjLbIG9YR6n/pPLWE9TiDdk6wTJHFnl2GpHzDFH1HLBC9wlqqQ7RlnvN3bVLpzPGAAH00SAtOxHg==} + /@vue/runtime-dom@3.3.7: + resolution: {integrity: sha512-PFQU1oeJxikdDmrfoNQay5nD4tcPNYixUBruZzVX/l0eyZvFKElZUjW4KctCcs52nnpMGO6UDK+jF5oV4GT5Lw==} dependencies: - '@vue/runtime-core': 3.3.6 - '@vue/shared': 3.3.6 + '@vue/runtime-core': 3.3.7 + '@vue/shared': 3.3.7 csstype: 3.1.2 dev: true - /@vue/server-renderer@3.3.6(vue@3.3.6): - resolution: {integrity: sha512-kgLoN43W4ERdZ6dpyy+gnk2ZHtcOaIr5Uc/WUP5DRwutgvluzu2pudsZGoD2b7AEJHByUVMa9k6Sho5lLRCykw==} + /@vue/server-renderer@3.3.7(vue@3.3.7): + resolution: {integrity: sha512-UlpKDInd1hIZiNuVVVvLgxpfnSouxKQOSE2bOfQpBuGwxRV/JqqTCyyjXUWiwtVMyeRaZhOYYqntxElk8FhBhw==} peerDependencies: - vue: 3.3.6 + vue: 3.3.7 dependencies: - '@vue/compiler-ssr': 3.3.6 - '@vue/shared': 3.3.6 - vue: 3.3.6(typescript@4.9.5) + '@vue/compiler-ssr': 3.3.7 + '@vue/shared': 3.3.7 + vue: 3.3.7(typescript@4.9.5) dev: true - /@vue/shared@3.3.6: - resolution: {integrity: sha512-Xno5pEqg8SVhomD0kTSmfh30ZEmV/+jZtyh39q6QflrjdJCXah5lrnOLi9KB6a5k5aAHXMXjoMnxlzUkCNfWLQ==} + /@vue/shared@3.3.7: + resolution: {integrity: sha512-N/tbkINRUDExgcPTBvxNkvHGu504k8lzlNQRITVnm6YjOjwa4r0nnbd4Jb01sNpur5hAllyRJzSK5PvB9PPwRg==} dev: true - /@vueuse/core@10.5.0(vue@3.3.6): + /@vueuse/core@10.5.0(vue@3.3.7): resolution: {integrity: sha512-z/tI2eSvxwLRjOhDm0h/SXAjNm8N5ld6/SC/JQs6o6kpJ6Ya50LnEL8g5hoYu005i28L0zqB5L5yAl8Jl26K3A==} dependencies: '@types/web-bluetooth': 0.0.18 '@vueuse/metadata': 10.5.0 - '@vueuse/shared': 10.5.0(vue@3.3.6) - vue-demi: 0.14.6(vue@3.3.6) + '@vueuse/shared': 10.5.0(vue@3.3.7) + vue-demi: 0.14.6(vue@3.3.7) transitivePeerDependencies: - '@vue/composition-api' - vue dev: true - /@vueuse/integrations@10.5.0(focus-trap@7.5.4)(vue@3.3.6): + /@vueuse/integrations@10.5.0(focus-trap@7.5.4)(vue@3.3.7): resolution: {integrity: sha512-fm5sXLCK0Ww3rRnzqnCQRmfjDURaI4xMsx+T+cec0ngQqHx/JgUtm8G0vRjwtonIeTBsH1Q8L3SucE+7K7upJQ==} peerDependencies: async-validator: '*' @@ -1693,10 +1693,10 @@ packages: universal-cookie: optional: true dependencies: - '@vueuse/core': 10.5.0(vue@3.3.6) - '@vueuse/shared': 10.5.0(vue@3.3.6) + '@vueuse/core': 10.5.0(vue@3.3.7) + '@vueuse/shared': 10.5.0(vue@3.3.7) focus-trap: 7.5.4 - vue-demi: 0.14.6(vue@3.3.6) + vue-demi: 0.14.6(vue@3.3.7) transitivePeerDependencies: - '@vue/composition-api' - vue @@ -1706,10 +1706,10 @@ packages: resolution: {integrity: sha512-fEbElR+MaIYyCkeM0SzWkdoMtOpIwO72x8WsZHRE7IggiOlILttqttM69AS13nrDxosnDBYdyy3C5mR1LCxHsw==} dev: true - /@vueuse/shared@10.5.0(vue@3.3.6): + /@vueuse/shared@10.5.0(vue@3.3.7): resolution: {integrity: sha512-18iyxbbHYLst9MqU1X1QNdMHIjks6wC7XTVf0KNOv5es/Ms6gjVFCAAWTVP2JStuGqydg3DT+ExpFORUEi9yhg==} dependencies: - vue-demi: 0.14.6(vue@3.3.6) + vue-demi: 0.14.6(vue@3.3.7) transitivePeerDependencies: - '@vue/composition-api' - vue @@ -2552,8 +2552,8 @@ packages: resolution: {integrity: sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==} dev: true - /cypress@13.3.2: - resolution: {integrity: sha512-ArLmZObcLC+xxCp7zJZZbhby9FUf5CueLej9dUM4+5j37FTS4iMSgHxQLDu01PydFUvDXcNoIVRCYrHHxD7Ybg==} + /cypress@13.4.0: + resolution: {integrity: sha512-KeWNC9xSHG/ewZURVbaQsBQg2mOKw4XhjJZFKjWbEjgZCdxpPXLpJnfq5Jns1Gvnjp6AlnIfpZfWFlDgVKXdWQ==} engines: {node: ^16.0.0 || ^18.0.0 || >=20.0.0} hasBin: true requiresBuild: true @@ -2991,13 +2991,13 @@ packages: engines: {node: '>=10'} dev: true - /eslint-config-prettier@9.0.0(eslint@8.52.0): + /eslint-config-prettier@9.0.0(eslint@8.53.0): resolution: {integrity: sha512-IcJsTkJae2S35pRsRAwoCE+925rJJStOdkKnLVgtE+tEpqU0EVVM7OqrwxqgptKdX29NUwC82I5pXsGFIgSevw==} hasBin: true peerDependencies: eslint: '>=7.0.0' dependencies: - eslint: 8.52.0 + eslint: 8.53.0 dev: true /eslint-define-config@1.24.1: @@ -3005,7 +3005,7 @@ packages: engines: {node: '>=18.0.0', npm: '>=9.0.0', pnpm: '>= 8.6.0'} dev: true - /eslint-gitignore@0.1.0(eslint@8.52.0): + /eslint-gitignore@0.1.0(eslint@8.53.0): resolution: {integrity: sha512-VFvY5Wyjuz5xXDC/NeONHzsh4YQNok2Gzg4SftAAuhkbrdHv5CChjfiFyLKhRlgOdCJr5kBquaLXHtuDBTW2/Q==} engines: {node: ^10.12.0 || >=12.0.0} peerDependencies: @@ -3013,20 +3013,20 @@ packages: dependencies: array.prototype.flatmap: 1.3.2 debug: 4.3.4(supports-color@8.1.1) - eslint: 8.52.0 + eslint: 8.53.0 fast-glob: 3.3.1 transitivePeerDependencies: - supports-color dev: true - /eslint-plugin-deprecation@2.0.0(eslint@8.52.0)(typescript@4.9.5): + /eslint-plugin-deprecation@2.0.0(eslint@8.53.0)(typescript@4.9.5): resolution: {integrity: sha512-OAm9Ohzbj11/ZFyICyR5N6LbOIvQMp7ZU2zI7Ej0jIc8kiGUERXPNMfw2QqqHD1ZHtjMub3yPZILovYEYucgoQ==} peerDependencies: eslint: ^7.0.0 || ^8.0.0 typescript: ^4.2.4 || ^5.0.0 dependencies: - '@typescript-eslint/utils': 6.7.5(eslint@8.52.0)(typescript@4.9.5) - eslint: 8.52.0 + '@typescript-eslint/utils': 6.7.5(eslint@8.53.0)(typescript@4.9.5) + eslint: 8.53.0 tslib: 2.6.2 tsutils: 3.21.0(typescript@4.9.5) typescript: 4.9.5 @@ -3034,7 +3034,7 @@ packages: - supports-color dev: true - /eslint-plugin-jsdoc@46.8.2(eslint@8.52.0): + /eslint-plugin-jsdoc@46.8.2(eslint@8.53.0): resolution: {integrity: sha512-5TSnD018f3tUJNne4s4gDWQflbsgOycIKEUBoCLn6XtBMgNHxQFmV8vVxUtiPxAQq8lrX85OaSG/2gnctxw9uQ==} engines: {node: '>=16'} peerDependencies: @@ -3045,7 +3045,7 @@ packages: comment-parser: 1.4.0 debug: 4.3.4(supports-color@8.1.1) escape-string-regexp: 4.0.0 - eslint: 8.52.0 + eslint: 8.53.0 esquery: 1.5.0 is-builtin-module: 3.2.1 semver: 7.5.4 @@ -3054,7 +3054,7 @@ packages: - supports-color dev: true - /eslint-plugin-prettier@5.0.1(eslint-config-prettier@9.0.0)(eslint@8.52.0)(prettier@3.0.3): + /eslint-plugin-prettier@5.0.1(eslint-config-prettier@9.0.0)(eslint@8.53.0)(prettier@3.0.3): resolution: {integrity: sha512-m3u5RnR56asrwV/lDC4GHorlW75DsFfmUcjfCYylTUs85dBRnB7VM6xG8eCMJdeDRnppzmxZVf1GEPJvl1JmNg==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: @@ -3068,24 +3068,24 @@ packages: eslint-config-prettier: optional: true dependencies: - eslint: 8.52.0 - eslint-config-prettier: 9.0.0(eslint@8.52.0) + eslint: 8.53.0 + eslint-config-prettier: 9.0.0(eslint@8.53.0) prettier: 3.0.3 prettier-linter-helpers: 1.0.0 synckit: 0.8.5 dev: true - /eslint-plugin-unicorn@49.0.0(eslint@8.52.0): + /eslint-plugin-unicorn@49.0.0(eslint@8.53.0): resolution: {integrity: sha512-0fHEa/8Pih5cmzFW5L7xMEfUTvI9WKeQtjmKpTUmY+BiFCDxkxrTdnURJOHKykhtwIeyYsxnecbGvDCml++z4Q==} engines: {node: '>=16'} peerDependencies: eslint: '>=8.52.0' dependencies: '@babel/helper-validator-identifier': 7.22.20 - '@eslint-community/eslint-utils': 4.4.0(eslint@8.52.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@8.53.0) ci-info: 3.9.0 clean-regexp: 1.0.0 - eslint: 8.52.0 + eslint: 8.53.0 esquery: 1.5.0 indent-string: 4.0.0 is-builtin-module: 3.2.1 @@ -3098,8 +3098,8 @@ packages: strip-indent: 3.0.0 dev: true - /eslint-plugin-vitest@0.3.8(@typescript-eslint/eslint-plugin@6.9.0)(eslint@8.52.0)(typescript@4.9.5)(vitest@0.34.6): - resolution: {integrity: sha512-MYQJzg3i+nLkaIQgjnOhtqHYIt0W6nErqAOKI3LTSQ2aOgcNHGYTwOhpnwGC1IXTvGWjKgAwb7rHwLpcHWHSAQ==} + /eslint-plugin-vitest@0.3.9(@typescript-eslint/eslint-plugin@6.9.0)(eslint@8.53.0)(typescript@4.9.5)(vitest@0.34.6): + resolution: {integrity: sha512-ZGrz8dWFlotM5dwrsMLP4VcY5MizwKNV4JTnY0VKdnuCZ+qeEUMHf1qd8kRGQA3tqLvXcV929wt2ANkduq2Pgw==} engines: {node: 14.x || >= 16} peerDependencies: '@typescript-eslint/eslint-plugin': '*' @@ -3108,10 +3108,12 @@ packages: peerDependenciesMeta: '@typescript-eslint/eslint-plugin': optional: true + vitest: + optional: true dependencies: - '@typescript-eslint/eslint-plugin': 6.9.0(@typescript-eslint/parser@6.9.0)(eslint@8.52.0)(typescript@4.9.5) - '@typescript-eslint/utils': 6.8.0(eslint@8.52.0)(typescript@4.9.5) - eslint: 8.52.0 + '@typescript-eslint/eslint-plugin': 6.9.0(@typescript-eslint/parser@6.9.0)(eslint@8.53.0)(typescript@4.9.5) + '@typescript-eslint/utils': 6.9.1(eslint@8.53.0)(typescript@4.9.5) + eslint: 8.53.0 vitest: 0.34.6(@vitest/ui@0.34.7) transitivePeerDependencies: - supports-color @@ -3131,15 +3133,15 @@ packages: engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /eslint@8.52.0: - resolution: {integrity: sha512-zh/JHnaixqHZsolRB/w9/02akBk9EPrOs9JwcTP2ek7yL5bVvXuRariiaAjjoJ5DvuwQ1WAE/HsMz+w17YgBCg==} + /eslint@8.53.0: + resolution: {integrity: sha512-N4VuiPjXDUa4xVeV/GC/RV3hQW9Nw+Y463lkWaKKXKYMvmRiRDAtfpuPFLN+E1/6ZhyR8J2ig+eVREnYgUsiag==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} hasBin: true dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.52.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@8.53.0) '@eslint-community/regexpp': 4.9.1 - '@eslint/eslintrc': 2.1.2 - '@eslint/js': 8.52.0 + '@eslint/eslintrc': 2.1.3 + '@eslint/js': 8.53.0 '@humanwhocodes/config-array': 0.11.13 '@humanwhocodes/module-importer': 1.0.1 '@nodelib/fs.walk': 1.2.8 @@ -5962,8 +5964,8 @@ packages: which-boxed-primitive: 1.0.2 dev: true - /undici-types@5.25.3: - resolution: {integrity: sha512-Ga1jfYwRn7+cP9v8auvEXN1rX3sWqlayd4HP7OKk4mZWylEmu3KzXDUGrQUN6Ol7qo1gPvB2e5gX6udnyEPgdA==} + /undici-types@5.26.5: + resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} dev: true /undici@5.26.3: @@ -6044,7 +6046,7 @@ packages: extsprintf: 1.3.0 dev: true - /vite-node@0.34.6(@types/node@20.8.7): + /vite-node@0.34.6(@types/node@20.8.10): resolution: {integrity: sha512-nlBMJ9x6n7/Amaz6F3zJ97EBwR2FkzhBRxF5e+jE6LA3yi6Wtc2lyTij1OnDMIr34v5g/tVQtsVAzhT0jc5ygA==} engines: {node: '>=v14.18.0'} hasBin: true @@ -6054,7 +6056,7 @@ packages: mlly: 1.4.2 pathe: 1.1.1 picocolors: 1.0.0 - vite: 4.5.0(@types/node@20.8.7) + vite: 4.5.0(@types/node@20.8.10) transitivePeerDependencies: - '@types/node' - less @@ -6066,7 +6068,7 @@ packages: - terser dev: true - /vite@4.5.0(@types/node@20.8.7): + /vite@4.5.0(@types/node@20.8.10): resolution: {integrity: sha512-ulr8rNLA6rkyFAlVWw2q5YJ91v098AFQ2R0PRFwPzREXOUJQPtFUG0t+/ZikhaOCDqFoDhN6/v8Sq0o4araFAw==} engines: {node: ^14.18.0 || >=16.0.0} hasBin: true @@ -6094,7 +6096,7 @@ packages: terser: optional: true dependencies: - '@types/node': 20.8.7 + '@types/node': 20.8.10 esbuild: 0.18.20 postcss: 8.4.31 rollup: 3.29.4 @@ -6102,23 +6104,23 @@ packages: fsevents: 2.3.3 dev: true - /vitepress@1.0.0-beta.7(@algolia/client-search@4.19.1)(@types/node@20.8.7)(search-insights@2.9.0)(typescript@4.9.5): + /vitepress@1.0.0-beta.7(@algolia/client-search@4.19.1)(@types/node@20.8.10)(search-insights@2.9.0)(typescript@4.9.5): resolution: {integrity: sha512-P9Rw+FXatKIU4fVdtKxqwHl6fby8E/8zE3FIfep6meNgN4BxbWqoKJ6yfuuQQR9IrpQqwnyaBh4LSabyll6tWg==} hasBin: true dependencies: '@docsearch/css': 3.5.2 '@docsearch/js': 3.5.2(@algolia/client-search@4.19.1)(search-insights@2.9.0) - '@vitejs/plugin-vue': 4.4.0(vite@4.5.0)(vue@3.3.6) + '@vitejs/plugin-vue': 4.4.0(vite@4.5.0)(vue@3.3.7) '@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) + '@vueuse/core': 10.5.0(vue@3.3.7) + '@vueuse/integrations': 10.5.0(focus-trap@7.5.4)(vue@3.3.7) body-scroll-lock: 4.0.0-beta.0 focus-trap: 7.5.4 mark.js: 8.11.1 minisearch: 6.1.0 shiki: 0.14.5 - vite: 4.5.0(@types/node@20.8.7) - vue: 3.3.6(typescript@4.9.5) + vite: 4.5.0(@types/node@20.8.10) + vue: 3.3.7(typescript@4.9.5) transitivePeerDependencies: - '@algolia/client-search' - '@types/node' @@ -6180,7 +6182,7 @@ packages: dependencies: '@types/chai': 4.3.8 '@types/chai-subset': 1.3.3 - '@types/node': 20.8.7 + '@types/node': 20.8.10 '@vitest/expect': 0.34.6 '@vitest/runner': 0.34.6 '@vitest/snapshot': 0.34.6 @@ -6200,8 +6202,8 @@ packages: strip-literal: 1.3.0 tinybench: 2.5.1 tinypool: 0.7.0 - vite: 4.5.0(@types/node@20.8.7) - vite-node: 0.34.6(@types/node@20.8.7) + vite: 4.5.0(@types/node@20.8.10) + vite-node: 0.34.6(@types/node@20.8.10) why-is-node-running: 2.2.2 transitivePeerDependencies: - less @@ -6221,7 +6223,7 @@ packages: resolution: {integrity: sha512-AFbieoL7a5LMqcnOF04ji+rpXadgOXnZsxQr//r83kLPr7biP7am3g9zbaZIaBGwBRWeSvoMD4mgPdX3e4NWBg==} dev: true - /vue-demi@0.14.6(vue@3.3.6): + /vue-demi@0.14.6(vue@3.3.7): resolution: {integrity: sha512-8QA7wrYSHKaYgUxDA5ZC24w+eHm3sYCbp0EzcDwKqN3p6HqtTCGR/GVsPyZW92unff4UlcSh++lmqDWN3ZIq4w==} engines: {node: '>=12'} hasBin: true @@ -6233,22 +6235,22 @@ packages: '@vue/composition-api': optional: true dependencies: - vue: 3.3.6(typescript@4.9.5) + vue: 3.3.7(typescript@4.9.5) dev: true - /vue@3.3.6(typescript@4.9.5): - resolution: {integrity: sha512-jJIDETeWJnoY+gfn4ZtMPMS5KtbP4ax+CT4dcQFhTnWEk8xMupFyQ0JxL28nvT/M4+p4a0ptxaV2WY0LiIxvRg==} + /vue@3.3.7(typescript@4.9.5): + resolution: {integrity: sha512-YEMDia1ZTv1TeBbnu6VybatmSteGOS3A3YgfINOfraCbf85wdKHzscD6HSS/vB4GAtI7sa1XPX7HcQaJ1l24zA==} peerDependencies: typescript: '*' peerDependenciesMeta: typescript: optional: true dependencies: - '@vue/compiler-dom': 3.3.6 - '@vue/compiler-sfc': 3.3.6 - '@vue/runtime-dom': 3.3.6 - '@vue/server-renderer': 3.3.6(vue@3.3.6) - '@vue/shared': 3.3.6 + '@vue/compiler-dom': 3.3.7 + '@vue/compiler-sfc': 3.3.7 + '@vue/runtime-dom': 3.3.7 + '@vue/server-renderer': 3.3.7(vue@3.3.7) + '@vue/shared': 3.3.7 typescript: 4.9.5 dev: true From 9daa74494f2dce338eb1b41fbc28fbf24b02fa9f Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 6 Nov 2023 13:06:04 +0100 Subject: [PATCH 5/5] chore(deps): update typescript-eslint to ~6.9.1 (#2529) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 4 +- pnpm-lock.yaml | 109 +++++++++++-------------------------------------- 2 files changed, 26 insertions(+), 87 deletions(-) diff --git a/package.json b/package.json index 8530e95b41b..571c679fbe0 100644 --- a/package.json +++ b/package.json @@ -94,8 +94,8 @@ "@types/sanitize-html": "~2.9.3", "@types/semver": "~7.5.4", "@types/validator": "~13.11.5", - "@typescript-eslint/eslint-plugin": "~6.9.0", - "@typescript-eslint/parser": "~6.9.0", + "@typescript-eslint/eslint-plugin": "~6.9.1", + "@typescript-eslint/parser": "~6.9.1", "@vitest/coverage-v8": "~0.34.6", "@vitest/ui": "~0.34.7", "@vueuse/core": "~10.5.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index b3f9f80c12d..89c089699a1 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -23,11 +23,11 @@ devDependencies: specifier: ~13.11.5 version: 13.11.5 '@typescript-eslint/eslint-plugin': - specifier: ~6.9.0 - version: 6.9.0(@typescript-eslint/parser@6.9.0)(eslint@8.53.0)(typescript@4.9.5) + specifier: ~6.9.1 + version: 6.9.1(@typescript-eslint/parser@6.9.1)(eslint@8.53.0)(typescript@4.9.5) '@typescript-eslint/parser': - specifier: ~6.9.0 - version: 6.9.0(eslint@8.53.0)(typescript@4.9.5) + specifier: ~6.9.1 + version: 6.9.1(eslint@8.53.0)(typescript@4.9.5) '@vitest/coverage-v8': specifier: ~0.34.6 version: 0.34.6(vitest@0.34.6) @@ -72,7 +72,7 @@ devDependencies: version: 49.0.0(eslint@8.53.0) eslint-plugin-vitest: specifier: ~0.3.9 - version: 0.3.9(@typescript-eslint/eslint-plugin@6.9.0)(eslint@8.53.0)(typescript@4.9.5)(vitest@0.34.6) + version: 0.3.9(@typescript-eslint/eslint-plugin@6.9.1)(eslint@8.53.0)(typescript@4.9.5)(vitest@0.34.6) glob: specifier: ~10.3.10 version: 10.3.10 @@ -1203,8 +1203,8 @@ packages: dev: true optional: true - /@typescript-eslint/eslint-plugin@6.9.0(@typescript-eslint/parser@6.9.0)(eslint@8.53.0)(typescript@4.9.5): - resolution: {integrity: sha512-lgX7F0azQwRPB7t7WAyeHWVfW1YJ9NIgd9mvGhfQpRY56X6AVf8mwM8Wol+0z4liE7XX3QOt8MN1rUKCfSjRIA==} + /@typescript-eslint/eslint-plugin@6.9.1(@typescript-eslint/parser@6.9.1)(eslint@8.53.0)(typescript@4.9.5): + resolution: {integrity: sha512-w0tiiRc9I4S5XSXXrMHOWgHgxbrBn1Ro+PmiYhSg2ZVdxrAJtQgzU5o2m1BfP6UOn7Vxcc6152vFjQfmZR4xEg==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: '@typescript-eslint/parser': ^6.0.0 || ^6.0.0-alpha @@ -1215,11 +1215,11 @@ packages: optional: true dependencies: '@eslint-community/regexpp': 4.9.1 - '@typescript-eslint/parser': 6.9.0(eslint@8.53.0)(typescript@4.9.5) - '@typescript-eslint/scope-manager': 6.9.0 - '@typescript-eslint/type-utils': 6.9.0(eslint@8.53.0)(typescript@4.9.5) - '@typescript-eslint/utils': 6.9.0(eslint@8.53.0)(typescript@4.9.5) - '@typescript-eslint/visitor-keys': 6.9.0 + '@typescript-eslint/parser': 6.9.1(eslint@8.53.0)(typescript@4.9.5) + '@typescript-eslint/scope-manager': 6.9.1 + '@typescript-eslint/type-utils': 6.9.1(eslint@8.53.0)(typescript@4.9.5) + '@typescript-eslint/utils': 6.9.1(eslint@8.53.0)(typescript@4.9.5) + '@typescript-eslint/visitor-keys': 6.9.1 debug: 4.3.4(supports-color@8.1.1) eslint: 8.53.0 graphemer: 1.4.0 @@ -1232,8 +1232,8 @@ packages: - supports-color dev: true - /@typescript-eslint/parser@6.9.0(eslint@8.53.0)(typescript@4.9.5): - resolution: {integrity: sha512-GZmjMh4AJ/5gaH4XF2eXA8tMnHWP+Pm1mjQR2QN4Iz+j/zO04b9TOvJYOX2sCNIQHtRStKTxRY1FX7LhpJT4Gw==} + /@typescript-eslint/parser@6.9.1(eslint@8.53.0)(typescript@4.9.5): + resolution: {integrity: sha512-C7AK2wn43GSaCUZ9do6Ksgi2g3mwFkMO3Cis96kzmgudoVaKyt62yNzJOktP0HDLb/iO2O0n2lBOzJgr6Q/cyg==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 @@ -1242,10 +1242,10 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/scope-manager': 6.9.0 - '@typescript-eslint/types': 6.9.0 - '@typescript-eslint/typescript-estree': 6.9.0(typescript@4.9.5) - '@typescript-eslint/visitor-keys': 6.9.0 + '@typescript-eslint/scope-manager': 6.9.1 + '@typescript-eslint/types': 6.9.1 + '@typescript-eslint/typescript-estree': 6.9.1(typescript@4.9.5) + '@typescript-eslint/visitor-keys': 6.9.1 debug: 4.3.4(supports-color@8.1.1) eslint: 8.53.0 typescript: 4.9.5 @@ -1261,14 +1261,6 @@ packages: '@typescript-eslint/visitor-keys': 6.7.5 dev: true - /@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.9.0 - '@typescript-eslint/visitor-keys': 6.9.0 - dev: true - /@typescript-eslint/scope-manager@6.9.1: resolution: {integrity: sha512-38IxvKB6NAne3g/+MyXMs2Cda/Sz+CEpmm+KLGEM8hx/CvnSRuw51i8ukfwB/B/sESdeTGet1NH1Wj7I0YXswg==} engines: {node: ^16.0.0 || >=18.0.0} @@ -1277,8 +1269,8 @@ packages: '@typescript-eslint/visitor-keys': 6.9.1 dev: true - /@typescript-eslint/type-utils@6.9.0(eslint@8.53.0)(typescript@4.9.5): - resolution: {integrity: sha512-XXeahmfbpuhVbhSOROIzJ+b13krFmgtc4GlEuu1WBT+RpyGPIA4Y/eGnXzjbDj5gZLzpAXO/sj+IF/x2GtTMjQ==} + /@typescript-eslint/type-utils@6.9.1(eslint@8.53.0)(typescript@4.9.5): + resolution: {integrity: sha512-eh2oHaUKCK58qIeYp19F5V5TbpM52680sB4zNSz29VBQPTWIlE/hCj5P5B1AChxECe/fmZlspAWFuRniep1Skg==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 @@ -1287,8 +1279,8 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/typescript-estree': 6.9.0(typescript@4.9.5) - '@typescript-eslint/utils': 6.9.0(eslint@8.53.0)(typescript@4.9.5) + '@typescript-eslint/typescript-estree': 6.9.1(typescript@4.9.5) + '@typescript-eslint/utils': 6.9.1(eslint@8.53.0)(typescript@4.9.5) debug: 4.3.4(supports-color@8.1.1) eslint: 8.53.0 ts-api-utils: 1.0.3(typescript@4.9.5) @@ -1302,11 +1294,6 @@ packages: engines: {node: ^16.0.0 || >=18.0.0} dev: true - /@typescript-eslint/types@6.9.0: - resolution: {integrity: sha512-+KB0lbkpxBkBSiVCuQvduqMJy+I1FyDbdwSpM3IoBS7APl4Bu15lStPjgBIdykdRqQNYqYNMa8Kuidax6phaEw==} - engines: {node: ^16.0.0 || >=18.0.0} - dev: true - /@typescript-eslint/types@6.9.1: resolution: {integrity: sha512-BUGslGOb14zUHOUmDB2FfT6SI1CcZEJYfF3qFwBeUrU6srJfzANonwRYHDpLBuzbq3HaoF2XL2hcr01c8f8OaQ==} engines: {node: ^16.0.0 || >=18.0.0} @@ -1333,27 +1320,6 @@ packages: - supports-color dev: true - /@typescript-eslint/typescript-estree@6.9.0(typescript@4.9.5): - resolution: {integrity: sha512-NJM2BnJFZBEAbCfBP00zONKXvMqihZCrmwCaik0UhLr0vAgb6oguXxLX1k00oQyD+vZZ+CJn3kocvv2yxm4awQ==} - engines: {node: ^16.0.0 || >=18.0.0} - peerDependencies: - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - dependencies: - '@typescript-eslint/types': 6.9.0 - '@typescript-eslint/visitor-keys': 6.9.0 - debug: 4.3.4(supports-color@8.1.1) - globby: 11.1.0 - is-glob: 4.0.3 - semver: 7.5.4 - ts-api-utils: 1.0.3(typescript@4.9.5) - typescript: 4.9.5 - transitivePeerDependencies: - - supports-color - dev: true - /@typescript-eslint/typescript-estree@6.9.1(typescript@4.9.5): resolution: {integrity: sha512-U+mUylTHfcqeO7mLWVQ5W/tMLXqVpRv61wm9ZtfE5egz7gtnmqVIw9ryh0mgIlkKk9rZLY3UHygsBSdB9/ftyw==} engines: {node: ^16.0.0 || >=18.0.0} @@ -1394,25 +1360,6 @@ packages: - typescript dev: true - /@typescript-eslint/utils@6.9.0(eslint@8.53.0)(typescript@4.9.5): - resolution: {integrity: sha512-5Wf+Jsqya7WcCO8me504FBigeQKVLAMPmUzYgDbWchINNh1KJbxCgVya3EQ2MjvJMVeXl3pofRmprqX6mfQkjQ==} - engines: {node: ^16.0.0 || >=18.0.0} - peerDependencies: - eslint: ^7.0.0 || ^8.0.0 - dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.53.0) - '@types/json-schema': 7.0.13 - '@types/semver': 7.5.4 - '@typescript-eslint/scope-manager': 6.9.0 - '@typescript-eslint/types': 6.9.0 - '@typescript-eslint/typescript-estree': 6.9.0(typescript@4.9.5) - eslint: 8.53.0 - semver: 7.5.4 - transitivePeerDependencies: - - supports-color - - typescript - dev: true - /@typescript-eslint/utils@6.9.1(eslint@8.53.0)(typescript@4.9.5): resolution: {integrity: sha512-L1T0A5nFdQrMVunpZgzqPL6y2wVreSyHhKGZryS6jrEN7bD9NplVAyMryUhXsQ4TWLnZmxc2ekar/lSGIlprCA==} engines: {node: ^16.0.0 || >=18.0.0} @@ -1440,14 +1387,6 @@ packages: eslint-visitor-keys: 3.4.3 dev: true - /@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.9.0 - eslint-visitor-keys: 3.4.3 - dev: true - /@typescript-eslint/visitor-keys@6.9.1: resolution: {integrity: sha512-MUaPUe/QRLEffARsmNfmpghuQkW436DvESW+h+M52w0coICHRfD6Np9/K6PdACwnrq1HmuLl+cSPZaJmeVPkSw==} engines: {node: ^16.0.0 || >=18.0.0} @@ -3098,7 +3037,7 @@ packages: strip-indent: 3.0.0 dev: true - /eslint-plugin-vitest@0.3.9(@typescript-eslint/eslint-plugin@6.9.0)(eslint@8.53.0)(typescript@4.9.5)(vitest@0.34.6): + /eslint-plugin-vitest@0.3.9(@typescript-eslint/eslint-plugin@6.9.1)(eslint@8.53.0)(typescript@4.9.5)(vitest@0.34.6): resolution: {integrity: sha512-ZGrz8dWFlotM5dwrsMLP4VcY5MizwKNV4JTnY0VKdnuCZ+qeEUMHf1qd8kRGQA3tqLvXcV929wt2ANkduq2Pgw==} engines: {node: 14.x || >= 16} peerDependencies: @@ -3111,7 +3050,7 @@ packages: vitest: optional: true dependencies: - '@typescript-eslint/eslint-plugin': 6.9.0(@typescript-eslint/parser@6.9.0)(eslint@8.53.0)(typescript@4.9.5) + '@typescript-eslint/eslint-plugin': 6.9.1(@typescript-eslint/parser@6.9.1)(eslint@8.53.0)(typescript@4.9.5) '@typescript-eslint/utils': 6.9.1(eslint@8.53.0)(typescript@4.9.5) eslint: 8.53.0 vitest: 0.34.6(@vitest/ui@0.34.7)