feat: add eslint-plugin-i

This commit is contained in:
Guz013
2023-08-25 17:31:56 -03:00
parent 39d323a3ce
commit da21030000
22 changed files with 415 additions and 99 deletions

View File

@@ -8,8 +8,8 @@ import { createSpinner } from 'nanospinner';
import count from './lib/count.js'; import count from './lib/count.js';
import prompts from 'prompts'; import prompts from 'prompts';
import ConfigsFile from './configsFile.js'; import ConfigsFile from './configsFile.js';
import * as cardinal from 'cardinal'; import cardinal from 'cardinal';
import ansi from 'sisteransi'; import { erase } from 'sisteransi';
import PackageInstaller from './packageInstaller.js'; import PackageInstaller from './packageInstaller.js';
import notNull from './lib/notNull.js'; import notNull from './lib/notNull.js';
@@ -29,6 +29,7 @@ export default class Cli {
*/ */
constructor(args) { constructor(args) {
this.#program this.#program
.argument('[url-to-config]')
.option('--packages <string...>') .option('--packages <string...>')
.option('--dir <path>', undefined) .option('--dir <path>', undefined)
.option('--merge-to-root') .option('--merge-to-root')
@@ -109,7 +110,7 @@ export default class Cli {
initial: true, initial: true,
})).write; })).write;
stdout.write(ansi.erase.lines(pkg.configFile.content.split('\n').length + 2)); stdout.write(erase.lines(pkg.configFile.content.split('\n').length + 2));
if (shouldWrite) await fileHandler.write(pkg.configFile.path, pkg.configFile.content); if (shouldWrite) await fileHandler.write(pkg.configFile.path, pkg.configFile.content);

View File

@@ -1,6 +1,6 @@
/** @type {import('./types').Config[]} */ /** @type {import('./types').Config[]} */
export default [ const cliConfig = [
{ {
name: 'framework', name: 'framework',
type: 'multiple', type: 'multiple',
@@ -31,3 +31,4 @@ export default [
}], }],
}, },
]; ];
export default cliConfig;

View File

@@ -1,6 +1,6 @@
import path from 'node:path'; import path from 'node:path';
import notNull from './lib/notNull.js'; import notNull from './lib/notNull.js';
import * as recast from 'recast'; import { parse, prettyPrint } from 'recast';
import fs from 'node:fs/promises'; import fs from 'node:fs/promises';
import { existsSync } from 'node:fs'; import { existsSync } from 'node:fs';
import astUtils from './lib/astUtils.js'; import astUtils from './lib/astUtils.js';
@@ -160,7 +160,7 @@ export default class ConfigsWriter {
/** @type {{program: Program}} */ /** @type {{program: Program}} */
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-call // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-call
const { program: exportTemplateAst } = recast.parse([ const { program: exportTemplateAst } = parse([
'/** @type {import(\'eslint\').Linter.FlatConfig[]} */', '/** @type {import(\'eslint\').Linter.FlatConfig[]} */',
'export default [', 'export default [',
'', '',
@@ -304,7 +304,7 @@ export default class ConfigsWriter {
/** @type {{program: Program}} */ /** @type {{program: Program}} */
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
const { program: ast } = recast.parse(existingConfig, { parser: (await import('recast/parsers/babel.js')) }); const { program: ast } = parse(existingConfig, { parser: (await import('recast/parsers/babel.js')) });
await this.addDefaultExport(ast); await this.addDefaultExport(ast);
@@ -327,7 +327,7 @@ export default class ConfigsWriter {
this.addElementsToExport(ast, elements); this.addElementsToExport(ast, elements);
this.addPackageImports(ast, config.imports); this.addPackageImports(ast, config.imports);
const finalCode = recast.prettyPrint(ast, { parser: (await import('recast/parsers/babel.js')) }).code; const finalCode = prettyPrint(ast, { parser: (await import('recast/parsers/babel.js')) }).code;
return finalCode; return finalCode;
} }

View File

@@ -3,7 +3,7 @@ import path from 'node:path';
import glob from 'picomatch'; import glob from 'picomatch';
import prompts from 'prompts'; import prompts from 'prompts';
import c from 'picocolors'; import c from 'picocolors';
import str from './lib/str.js'; import capitalize from './lib/capitalize.js';
export default class ConfigsProcessor { export default class ConfigsProcessor {
/** @type {string} */ /** @type {string} */
@@ -75,13 +75,13 @@ export default class ConfigsProcessor {
for (const config of configs) { for (const config of configs) {
/** @type {import('prompts').Choice[]} */ /** @type {import('prompts').Choice[]} */
const configChoices = config.options.map(option => {return { title: `${str.capitalize(option.name)}`, value: option.name };}); const configChoices = config.options.map(option => {return { title: `${capitalize(option.name)}`, value: option.name };});
/** @type {Record<string, string[]>} */ /** @type {Record<string, string[]>} */
const selectedOptions = await prompts({ const selectedOptions = await prompts({
name: config.name, name: config.name,
type: config.type === 'multiple' ? 'multiselect' : 'select', type: config.type === 'multiple' ? 'multiselect' : 'select',
message: str.capitalize(config.name), message: capitalize(config.name),
choices: config.type === 'confirm' ? [ choices: config.type === 'confirm' ? [
{ {
title: 'Yes', title: 'Yes',

View File

@@ -1,4 +1,4 @@
import * as recast from 'recast'; import { parse, print } from 'recast';
/** /**
* @typedef {( * @typedef {(
@@ -23,7 +23,7 @@ import * as recast from 'recast';
* @param {VariableInit} [init] Initial value of the variable * @param {VariableInit} [init] Initial value of the variable
* @returns {VariableDeclaration} The variable declaration ast node object * @returns {VariableDeclaration} The variable declaration ast node object
*/ */
export function createVariable(identifier, kind = 'const', init) { function createVariable(identifier, kind = 'const', init) {
return { return {
type: 'VariableDeclaration', type: 'VariableDeclaration',
kind, kind,
@@ -39,10 +39,10 @@ export function createVariable(identifier, kind = 'const', init) {
* @param {string} string The expression in string * @param {string} string The expression in string
* @returns {ExpressionOrIdentifier | undefined} The expression or identifier node of that string (undefined if string is not a expression) * @returns {ExpressionOrIdentifier | undefined} The expression or identifier node of that string (undefined if string is not a expression)
*/ */
export function stringToExpression(string) { function stringToExpression(string) {
/** @type {ExpressionOrIdentifier} */ /** @type {ExpressionOrIdentifier} */
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access
const e = recast.parse(string).program.body[0].expression; const e = parse(string).program.body[0].expression;
if (['MemberExpression', 'Identifier', 'CallExpression', 'NewExpression'].includes(e.type)) return e; if (['MemberExpression', 'Identifier', 'CallExpression', 'NewExpression'].includes(e.type)) return e;
else return undefined; else return undefined;
} }
@@ -52,7 +52,7 @@ export function stringToExpression(string) {
* @param {ExpressionOrIdentifier | SpreadElement} element The element to be search * @param {ExpressionOrIdentifier | SpreadElement} element The element to be search
* @returns {ExpressionOrIdentifier | undefined} The element of the array founded, undefined if it isn't found * @returns {ExpressionOrIdentifier | undefined} The element of the array founded, undefined if it isn't found
*/ */
export function findInArray(array, element) { function findInArray(array, element) {
/** @type {ExpressionOrIdentifier[]} */ /** @type {ExpressionOrIdentifier[]} */
// @ts-expect-error The array should have just tge type above // @ts-expect-error The array should have just tge type above
@@ -66,8 +66,8 @@ export function findInArray(array, element) {
return n; return n;
}).filter(n => n && n.type === element.type); }).filter(n => n && n.type === element.type);
const toStringElements = filteredElements.map(n => recast.print(n).code); const toStringElements = filteredElements.map(n => print(n).code);
const toStringElement = recast.print(element).code; const toStringElement = print(element).code;
const idx = toStringElements.findIndex(e => e === toStringElement); const idx = toStringElements.findIndex(e => e === toStringElement);
return filteredElements[idx]; return filteredElements[idx];
@@ -77,7 +77,7 @@ export function findInArray(array, element) {
* @param {ExpressionOrIdentifier} expression The expression to be spread * @param {ExpressionOrIdentifier} expression The expression to be spread
* @returns {SpreadElement} The spread element node * @returns {SpreadElement} The spread element node
*/ */
export function toSpreadElement(expression) { function toSpreadElement(expression) {
return { return {
type: 'SpreadElement', type: 'SpreadElement',
argument: expression, argument: expression,
@@ -95,7 +95,7 @@ export function toSpreadElement(expression) {
* @param {import('estree').ImportDeclaration} [body] The body of the import declaration to start with * @param {import('estree').ImportDeclaration} [body] The body of the import declaration to start with
* @returns {ImportDeclarationHelper} A helper object for manipulating the import declaration * @returns {ImportDeclarationHelper} A helper object for manipulating the import declaration
*/ */
export function createImportDeclaration(source, defaultImported, body) { function createImportDeclaration(source, defaultImported, body) {
const helper = { const helper = {
/** @type {import('estree').ImportDeclaration} */ /** @type {import('estree').ImportDeclaration} */
body: body ?? { body: body ?? {
@@ -161,10 +161,11 @@ export function createImportDeclaration(source, defaultImported, body) {
} }
export default { const astUtils = {
createVariable, createVariable,
stringToExpression, stringToExpression,
toSpreadElement, toSpreadElement,
findInArray, findInArray,
createImportDeclaration, createImportDeclaration,
}; };
export default astUtils;

View File

@@ -3,8 +3,6 @@
* @param {string} str - The string to capitalize * @param {string} str - The string to capitalize
* @returns {string} The capitalized string * @returns {string} The capitalized string
*/ */
function capitalize(str) { export default function capitalize(str) {
return str[0].toUpperCase() + str.slice(1); return str[0].toUpperCase() + str.slice(1);
} }
export default { capitalize };

View File

@@ -9,4 +9,5 @@ function packagesWithConfigs(packages) {
).reduce((partial, sum) => partial + sum, 0); ).reduce((partial, sum) => partial + sum, 0);
} }
export default { packagesWithConfigs }; const count = { packagesWithConfigs };
export default count;

View File

@@ -1,11 +1,10 @@
import { existsSync } from 'node:fs'; import { existsSync, readFileSync } from 'node:fs';
import { join } from 'node:path'; import { join } from 'node:path';
import { exec } from 'node:child_process'; import { exec } from 'node:child_process';
import { createSpinner } from 'nanospinner'; import { createSpinner } from 'nanospinner';
import c from 'picocolors'; import c from 'picocolors';
import * as recast from 'recast'; import { parse, prettyPrint } from 'recast';
import { readFile, writeFile } from 'node:fs/promises'; import { readFile, writeFile } from 'node:fs/promises';
import { readFileSync } from 'node:fs';
/** /**
@@ -78,7 +77,7 @@ class DenoHandler {
const configFile = await readFile(configPath, 'utf8'); const configFile = await readFile(configPath, 'utf8');
/** @type {{program: import('estree').Program}}*/ /** @type {{program: import('estree').Program}}*/
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
const { program: ast } = recast.parse(configFile, { parser: (await import('recast/parsers/babel.js')) }); const { program: ast } = parse(configFile, { parser: (await import('recast/parsers/babel.js')) });
ast.body.map((node) => { ast.body.map((node) => {
if (node.type !== 'ImportDeclaration') return node; if (node.type !== 'ImportDeclaration') return node;
@@ -89,7 +88,7 @@ class DenoHandler {
return node; return node;
}); });
await writeFile(configPath, recast.prettyPrint(ast).code, 'utf-8'); await writeFile(configPath, prettyPrint(ast).code, 'utf-8');
console.log(c.green('Added npm: specifier to dependencies')); console.log(c.green('Added npm: specifier to dependencies'));

View File

@@ -1,15 +1,19 @@
import type { OptionValues } from 'commander'; import type { OptionValues } from 'commander';
export type PackageManagerName = 'npm' | 'pnpm' | 'yarn' | 'bun' | 'deno'; type PackageManagerName = 'npm' | 'pnpm' | 'yarn' | 'bun' | 'deno';
export type CliArgs = { type CliArgs = {
packages?: string[] packages?: string[]
mergeToRoot?: boolean mergeToRoot?: boolean
installPkgs?: boolean | PackageManagerName installPkgs?: boolean | PackageManagerName
dir: string dir: string
} & OptionValues; } & OptionValues;
export type Config = { interface PackageManagerHandler {
install(path: string, packages: string[]): Promise<void> | void
}
type Config = {
name: string name: string
type: 'single' | 'multiple' type: 'single' | 'multiple'
manual?: boolean manual?: boolean
@@ -37,7 +41,7 @@ export type Config = {
}] }]
}; };
export interface Package { interface Package {
root?: boolean root?: boolean
name: string name: string
path: string path: string
@@ -47,7 +51,7 @@ export interface Package {
configFile?: ConfigFile configFile?: ConfigFile
} }
export interface ConfigFile { interface ConfigFile {
path: string path: string
imports: Map<string, string | (string | [string, string])[]> imports: Map<string, string | (string | [string, string])[]>
configs: string[] configs: string[]
@@ -56,6 +60,4 @@ export interface ConfigFile {
content?: string content?: string
} }
export interface PackageManagerHandler { export type { PackageManagerName, PackageManagerHandler, CliArgs, Config, Package, ConfigFile };
install(path: string, packages: string[]): Promise<void> | void
}

View File

@@ -2,7 +2,6 @@ import fs from 'node:fs/promises';
import { existsSync } from 'node:fs'; import { existsSync } from 'node:fs';
import YAML from 'yaml'; import YAML from 'yaml';
import path, { join } from 'node:path'; import path, { join } from 'node:path';
import glob from 'picomatch';
import picomatch from 'picomatch'; import picomatch from 'picomatch';
@@ -85,7 +84,7 @@ export default class Workspace {
const paths = (await fs.readdir(directory)) const paths = (await fs.readdir(directory))
.map((f) => path.normalize(join(directory, f))) .map((f) => path.normalize(join(directory, f)))
.filter((p) => !glob.isMatch(p, ignores)); .filter((p) => !picomatch.isMatch(p, ignores));
/** @type {string[]} */ /** @type {string[]} */
const files = []; const files = [];

View File

@@ -7,9 +7,9 @@ import type { Linter } from 'eslint';
* @param environment - An object with environment variables to be declared and used by the configuration. * @param environment - An object with environment variables to be declared and used by the configuration.
* @returns The array of ESLint's configuration objects. * @returns The array of ESLint's configuration objects.
*/ */
export async function defineConfig(config: Config, environment?: EnvOptions): Promise<Linter.FlatConfig[]>; async function defineConfig(config: Config, environment?: EnvOptions): Promise<Linter.FlatConfig[]>;
export const configs: Readonly<{ const configs: Readonly<{
/** /**
* **This configuration is necessary to be used before any other one**. * **This configuration is necessary to be used before any other one**.
* Common configuration for using ESLit rules overrides. * Common configuration for using ESLit rules overrides.
@@ -50,6 +50,8 @@ export const configs: Readonly<{
jsdoc: Linter.FlatConfig jsdoc: Linter.FlatConfig
}>; }>;
export const presets: Readonly<{ const presets: Readonly<{
default: Linter.FlatConfig[] default: Linter.FlatConfig[]
}>; }>;
export { presets, configs, defineConfig };

View File

@@ -43,6 +43,8 @@
"@eslint/js": "^8.47.0", "@eslint/js": "^8.47.0",
"@typescript-eslint/eslint-plugin": "^6.4.1", "@typescript-eslint/eslint-plugin": "^6.4.1",
"@typescript-eslint/parser": "^6.4.1", "@typescript-eslint/parser": "^6.4.1",
"eslint-import-resolver-typescript": "^3.6.0",
"eslint-plugin-i": "2.28.0-2",
"eslint-plugin-jsdoc": "^46.5.0", "eslint-plugin-jsdoc": "^46.5.0",
"globals": "^13.21.0" "globals": "^13.21.0"
}, },

View File

@@ -0,0 +1,26 @@
import type { ESLint, Linter } from 'eslint';
/**
* @see {@link https://www.npmjs.com/package/eslint-plugin-import npm package}
* @summary ESLint plugin with rules that help validate proper imports.
*
* ---
* **Note:** Types in this project where overridden to be compatible with ESLint new flat
* config types. ESlint already has backwards compatibility for plugins not created in the
* new flat config.
*/
declare module 'eslint-plugin-i' {
interface importEslintPlugin extends ESLint.Plugin {
configs: {
recommended: {
rules: Linter.RulesRecord
}
typescript: {
rules: Linter.RulesRecord
}
}
}
declare const plugin: importEslintPlugin;
export default plugin;
}

View File

@@ -1,6 +1,9 @@
import tsESLint from '@typescript-eslint/eslint-plugin'; import tsESLint from '@typescript-eslint/eslint-plugin';
import tsParser from '@typescript-eslint/parser'; import tsParser from '@typescript-eslint/parser';
// eslint-disable-next-line import/namespace, import/default, import/no-named-as-default, import/no-named-as-default-member
import jsdoc from 'eslint-plugin-jsdoc'; import jsdoc from 'eslint-plugin-jsdoc';
import importPlugin from 'eslint-plugin-i';
/** /**
* **This configuration is necessary to be used before any other one**. * **This configuration is necessary to be used before any other one**.
@@ -13,6 +16,18 @@ const config = {
'@typescript-eslint': tsESLint, '@typescript-eslint': tsESLint,
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
'jsdoc': jsdoc, 'jsdoc': jsdoc,
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
'import': importPlugin,
},
settings: {
'import/extensions': ['.js', '.cjs', '.mjs', '.ts', '.cts', '.mts'],
'import/parsers': {
'@typescript-eslint/parser': ['.js', '.cjs', '.mjs', '.ts', '.cts', '.mts'],
},
'import/resolver': {
typescript: true,
node: true,
},
}, },
languageOptions: { languageOptions: {
parser: tsParser, parser: tsParser,
@@ -31,5 +46,8 @@ const config = {
() => {return JSON.parse(process.env.ESLIT_ECMASCRIPT ?? '"latest"');} () => {return JSON.parse(process.env.ESLIT_ECMASCRIPT ?? '"latest"');}
)(), )(),
}, },
rules: {
...importPlugin.configs['typescript'].rules,
},
}; };
export default config; export default config;

View File

@@ -41,4 +41,5 @@ const browser = {
}, },
}; };
export default { node, deno, browser }; const environments = { node, deno, browser };
export default environments;

View File

@@ -7,6 +7,16 @@ const config = {
rules: { rules: {
// Formatting rules // Formatting rules
'import/consistent-type-specifier-style': ['error', 'prefer-top-level'],
'import/exports-last': 'error',
'import/first': 'error',
'import/group-exports': 'error',
'import/newline-after-import': ['error', { considerComments: true }],
'brace-style': 'off', 'brace-style': 'off',
'@typescript-eslint/brace-style': ['error', 'stroustrup', { allowSingleLine: true }], '@typescript-eslint/brace-style': ['error', 'stroustrup', { allowSingleLine: true }],

View File

@@ -5,4 +5,5 @@ import recommended from './recommended.js';
import environments from './environments.js'; import environments from './environments.js';
import common from './common.js'; import common from './common.js';
export default { formatting, jsdoc, typescript, recommended, environments, common }; const configs = { formatting, jsdoc, typescript, recommended, environments, common };
export default configs;

View File

@@ -1,5 +1,6 @@
import tsESlint from '@typescript-eslint/eslint-plugin'; import tsESlint from '@typescript-eslint/eslint-plugin';
import js from '@eslint/js'; import js from '@eslint/js';
import importPlugin from 'eslint-plugin-i';
/** /**
* Recommended configuration overrides of ESLit * Recommended configuration overrides of ESLit
@@ -12,6 +13,49 @@ const config = {
...tsESlint.configs['recommended-requiring-type-checking'].rules, ...tsESlint.configs['recommended-requiring-type-checking'].rules,
...tsESlint.configs['eslint-recommended'].rules, ...tsESlint.configs['eslint-recommended'].rules,
...tsESlint.configs.strict.rules, ...tsESlint.configs.strict.rules,
...importPlugin.configs['recommended'].rules,
'import/extensions': ['error', 'always', { ignorePackages: true }],
'import/no-anonymous-default-export': ['error'],
'import/no-absolute-path': 'error',
'import/no-amd': 'error',
'import/no-commonjs': 'error',
'import/no-cycle': 'error',
'import/no-deprecated': 'error',
'import/no-duplicates': ['error', { 'prefer-inline': false }],
'import/no-empty-named-blocks': 'error',
'import/no-extraneous-dependencies': 'error',
'import/no-import-module-exports': 'error',
'import/no-mutable-exports': 'error',
'import/no-named-as-default-member': 'error',
'import/no-named-as-default': 'warn',
'import/no-named-default': 'error',
'import/no-namespace': 'error',
'import/no-relative-packages': 'error',
'import/no-self-import': 'error',
'import/no-unassigned-import': ['error', { allow: ['**/*.{scss,less,css}'] }],
'import/no-useless-path-segments': 'error',
'import/prefer-default-export': 'error',
'@typescript-eslint/ban-ts-comment': ['error', { '@typescript-eslint/ban-ts-comment': ['error', {
'ts-ignore': 'allow-with-description', 'ts-ignore': 'allow-with-description',

View File

@@ -5,11 +5,13 @@ import path from 'node:path';
import { fileURLToPath } from 'node:url'; import { fileURLToPath } from 'node:url';
// mimic CommonJS variables // mimic CommonJS variables
export const __filename = fileURLToPath(import.meta.url); const __filename = fileURLToPath(import.meta.url);
export const __dirname = path.dirname(__filename); const __dirname = path.dirname(__filename);
export const eslintrc = new FlatCompat({ const eslintrc = new FlatCompat({
baseDirectory: __dirname, baseDirectory: __dirname,
recommendedConfig: javascript.configs.recommended, recommendedConfig: javascript.configs.recommended,
allConfig: javascript.configs.all, allConfig: javascript.configs.all,
}); });
export { eslintrc, __filename, __dirname };

View File

@@ -1,4 +1,5 @@
import defaultPreset from './default.js'; import defaultPreset from './default.js';
export default { default: defaultPreset }; const presets = { default: defaultPreset };
export default presets;

View File

@@ -2,9 +2,9 @@ import type { FlatCompat } from '@eslint/eslintrc';
import type { Linter } from 'eslint'; import type { Linter } from 'eslint';
type MaybePromise<T> = Promise<T> | T; type MaybePromise<T> = Promise<T> | T;
export type Config = Linter.FlatConfig[] | ((eslintrc: FlatCompat) => MaybePromise<Linter.FlatConfig[]>); type Config = Linter.FlatConfig[] | ((eslintrc: FlatCompat) => MaybePromise<Linter.FlatConfig[]>);
export interface EnvOptions { interface EnvOptions {
ESLIT_TSCONFIG?: string | string[] | true ESLIT_TSCONFIG?: string | string[] | true
ESLIT_ROOT?: string ESLIT_ROOT?: string
ESLIT_INDENT?: 'tab' | 'space' | number ESLIT_INDENT?: 'tab' | 'space' | number
@@ -41,7 +41,7 @@ export interface EnvOptions {
[ENV: string]: unknown [ENV: string]: unknown
} }
export type inferrableTypesOptions = [ type inferrableTypesOptions = [
'never' | 'always', 'never' | 'always',
{ {
/** @see {@link https://typescript-eslint.io/rules/no-inferrable-types#ignoreparameters} */ /** @see {@link https://typescript-eslint.io/rules/no-inferrable-types#ignoreparameters} */
@@ -52,3 +52,5 @@ export type inferrableTypesOptions = [
returnValues?: boolean returnValues?: boolean
}, },
] | 'never' | 'always'; ] | 'never' | 'always';
export type { inferrableTypesOptions, EnvOptions, Config };

299
pnpm-lock.yaml generated
View File

@@ -151,6 +151,12 @@ importers:
'@typescript-eslint/parser': '@typescript-eslint/parser':
specifier: ^6.4.1 specifier: ^6.4.1
version: 6.4.1(eslint@8.47.0)(typescript@5.1.6) version: 6.4.1(eslint@8.47.0)(typescript@5.1.6)
eslint-import-resolver-typescript:
specifier: ^3.6.0
version: 3.6.0(@typescript-eslint/parser@6.4.1)(eslint-plugin-import@2.28.1)(eslint@8.47.0)
eslint-plugin-i:
specifier: 2.28.0-2
version: 2.28.0-2(@typescript-eslint/parser@6.4.1)(eslint-import-resolver-typescript@3.6.0)(eslint@8.47.0)
eslint-plugin-jsdoc: eslint-plugin-jsdoc:
specifier: ^46.5.0 specifier: ^46.5.0
version: 46.5.0(eslint@8.47.0) version: 46.5.0(eslint@8.47.0)
@@ -894,6 +900,10 @@ packages:
/@types/json-schema@7.0.12: /@types/json-schema@7.0.12:
resolution: {integrity: sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==} resolution: {integrity: sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==}
/@types/json5@0.0.29:
resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==}
dev: false
/@types/minimist@1.2.2: /@types/minimist@1.2.2:
resolution: {integrity: sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==} resolution: {integrity: sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==}
dev: true dev: true
@@ -1263,16 +1273,37 @@ packages:
dependencies: dependencies:
call-bind: 1.0.2 call-bind: 1.0.2
is-array-buffer: 3.0.2 is-array-buffer: 3.0.2
dev: true
/array-ify@1.0.0: /array-ify@1.0.0:
resolution: {integrity: sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng==} resolution: {integrity: sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng==}
dev: true dev: true
/array-includes@3.1.6:
resolution: {integrity: sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==}
engines: {node: '>= 0.4'}
dependencies:
call-bind: 1.0.2
define-properties: 1.2.0
es-abstract: 1.22.1
get-intrinsic: 1.2.1
is-string: 1.0.7
dev: false
/array-union@2.1.0: /array-union@2.1.0:
resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==}
engines: {node: '>=8'} engines: {node: '>=8'}
/array.prototype.findlastindex@1.2.2:
resolution: {integrity: sha512-tb5thFFlUcp7NdNF6/MpDk/1r/4awWG1FIz3YqDf+/zJSTezBb+/5WViH41obXULHVpDzoiCLpJ/ZO9YbJMsdw==}
engines: {node: '>= 0.4'}
dependencies:
call-bind: 1.0.2
define-properties: 1.2.0
es-abstract: 1.22.1
es-shim-unscopables: 1.0.0
get-intrinsic: 1.2.1
dev: false
/array.prototype.flat@1.3.1: /array.prototype.flat@1.3.1:
resolution: {integrity: sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==} resolution: {integrity: sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==}
engines: {node: '>= 0.4'} engines: {node: '>= 0.4'}
@@ -1281,7 +1312,16 @@ packages:
define-properties: 1.2.0 define-properties: 1.2.0
es-abstract: 1.22.1 es-abstract: 1.22.1
es-shim-unscopables: 1.0.0 es-shim-unscopables: 1.0.0
dev: true
/array.prototype.flatmap@1.3.1:
resolution: {integrity: sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==}
engines: {node: '>= 0.4'}
dependencies:
call-bind: 1.0.2
define-properties: 1.2.0
es-abstract: 1.22.1
es-shim-unscopables: 1.0.0
dev: false
/arraybuffer.prototype.slice@1.0.1: /arraybuffer.prototype.slice@1.0.1:
resolution: {integrity: sha512-09x0ZWFEjj4WD8PDbykUwo3t9arLn8NIzmmYEJFpYekOAQjpkGSyrQhNoRTcwwcFRu+ycWF78QZ63oWTqSjBcw==} resolution: {integrity: sha512-09x0ZWFEjj4WD8PDbykUwo3t9arLn8NIzmmYEJFpYekOAQjpkGSyrQhNoRTcwwcFRu+ycWF78QZ63oWTqSjBcw==}
@@ -1293,7 +1333,6 @@ packages:
get-intrinsic: 1.2.1 get-intrinsic: 1.2.1
is-array-buffer: 3.0.2 is-array-buffer: 3.0.2
is-shared-array-buffer: 1.0.2 is-shared-array-buffer: 1.0.2
dev: true
/arrify@1.0.1: /arrify@1.0.1:
resolution: {integrity: sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==} resolution: {integrity: sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==}
@@ -1580,6 +1619,17 @@ packages:
resolution: {integrity: sha512-68s5jYdlvasItOJnCuI2Q9s4q98g0pCyL3HrcKJu8KNugUl8ahgmZYg38ysLTgQjjXX3H8CJLkAvWrclWfcalw==} resolution: {integrity: sha512-68s5jYdlvasItOJnCuI2Q9s4q98g0pCyL3HrcKJu8KNugUl8ahgmZYg38ysLTgQjjXX3H8CJLkAvWrclWfcalw==}
dev: true dev: true
/debug@3.2.7:
resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==}
peerDependencies:
supports-color: '*'
peerDependenciesMeta:
supports-color:
optional: true
dependencies:
ms: 2.1.2
dev: false
/debug@4.3.4: /debug@4.3.4:
resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==}
engines: {node: '>=6.0'} engines: {node: '>=6.0'}
@@ -1645,6 +1695,13 @@ packages:
dependencies: dependencies:
path-type: 4.0.0 path-type: 4.0.0
/doctrine@2.1.0:
resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==}
engines: {node: '>=0.10.0'}
dependencies:
esutils: 2.0.3
dev: false
/doctrine@3.0.0: /doctrine@3.0.0:
resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==}
engines: {node: '>=6.0.0'} engines: {node: '>=6.0.0'}
@@ -1667,6 +1724,14 @@ packages:
resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==}
dev: true dev: true
/enhanced-resolve@5.15.0:
resolution: {integrity: sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==}
engines: {node: '>=10.13.0'}
dependencies:
graceful-fs: 4.2.11
tapable: 2.2.1
dev: false
/enquirer@2.4.1: /enquirer@2.4.1:
resolution: {integrity: sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==} resolution: {integrity: sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==}
engines: {node: '>=8.6'} engines: {node: '>=8.6'}
@@ -1724,7 +1789,6 @@ packages:
typed-array-length: 1.0.4 typed-array-length: 1.0.4
unbox-primitive: 1.0.2 unbox-primitive: 1.0.2
which-typed-array: 1.1.11 which-typed-array: 1.1.11
dev: true
/es-set-tostringtag@2.0.1: /es-set-tostringtag@2.0.1:
resolution: {integrity: sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==} resolution: {integrity: sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==}
@@ -1733,13 +1797,11 @@ packages:
get-intrinsic: 1.2.1 get-intrinsic: 1.2.1
has: 1.0.3 has: 1.0.3
has-tostringtag: 1.0.0 has-tostringtag: 1.0.0
dev: true
/es-shim-unscopables@1.0.0: /es-shim-unscopables@1.0.0:
resolution: {integrity: sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==} resolution: {integrity: sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==}
dependencies: dependencies:
has: 1.0.3 has: 1.0.3
dev: true
/es-to-primitive@1.2.1: /es-to-primitive@1.2.1:
resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==}
@@ -1748,7 +1810,6 @@ packages:
is-callable: 1.2.7 is-callable: 1.2.7
is-date-object: 1.0.5 is-date-object: 1.0.5
is-symbol: 1.0.4 is-symbol: 1.0.4
dev: true
/es6-object-assign@1.1.0: /es6-object-assign@1.1.0:
resolution: {integrity: sha512-MEl9uirslVwqQU369iHNWZXsI8yaZYGg/D65aOgZkeyFJwHYSxilf7rQzXKI7DdDuBPrBXbfk3sl9hJhmd5AUw==} resolution: {integrity: sha512-MEl9uirslVwqQU369iHNWZXsI8yaZYGg/D65aOgZkeyFJwHYSxilf7rQzXKI7DdDuBPrBXbfk3sl9hJhmd5AUw==}
@@ -1802,6 +1863,127 @@ packages:
resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==}
engines: {node: '>=10'} engines: {node: '>=10'}
/eslint-import-resolver-node@0.3.9:
resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==}
dependencies:
debug: 3.2.7
is-core-module: 2.13.0
resolve: 1.22.4
transitivePeerDependencies:
- supports-color
dev: false
/eslint-import-resolver-typescript@3.6.0(@typescript-eslint/parser@6.4.1)(eslint-plugin-import@2.28.1)(eslint@8.47.0):
resolution: {integrity: sha512-QTHR9ddNnn35RTxlaEnx2gCxqFlF2SEN0SE2d17SqwyM7YOSI2GHWRYp5BiRkObTUNYPupC/3Fq2a0PpT+EKpg==}
engines: {node: ^14.18.0 || >=16.0.0}
peerDependencies:
eslint: '*'
eslint-plugin-import: '*'
dependencies:
debug: 4.3.4
enhanced-resolve: 5.15.0
eslint: 8.47.0
eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.4.1)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.0)(eslint@8.47.0)
eslint-plugin-import: 2.28.1(@typescript-eslint/parser@6.4.1)(eslint-import-resolver-typescript@3.6.0)(eslint@8.47.0)
fast-glob: 3.3.1
get-tsconfig: 4.7.0
is-core-module: 2.13.0
is-glob: 4.0.3
transitivePeerDependencies:
- '@typescript-eslint/parser'
- eslint-import-resolver-node
- eslint-import-resolver-webpack
- supports-color
dev: false
/eslint-module-utils@2.8.0(@typescript-eslint/parser@6.4.1)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.0)(eslint@8.47.0):
resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==}
engines: {node: '>=4'}
peerDependencies:
'@typescript-eslint/parser': '*'
eslint: '*'
eslint-import-resolver-node: '*'
eslint-import-resolver-typescript: '*'
eslint-import-resolver-webpack: '*'
peerDependenciesMeta:
'@typescript-eslint/parser':
optional: true
eslint:
optional: true
eslint-import-resolver-node:
optional: true
eslint-import-resolver-typescript:
optional: true
eslint-import-resolver-webpack:
optional: true
dependencies:
'@typescript-eslint/parser': 6.4.1(eslint@8.47.0)(typescript@5.1.6)
debug: 3.2.7
eslint: 8.47.0
eslint-import-resolver-node: 0.3.9
eslint-import-resolver-typescript: 3.6.0(@typescript-eslint/parser@6.4.1)(eslint-plugin-import@2.28.1)(eslint@8.47.0)
transitivePeerDependencies:
- supports-color
dev: false
/eslint-plugin-i@2.28.0-2(@typescript-eslint/parser@6.4.1)(eslint-import-resolver-typescript@3.6.0)(eslint@8.47.0):
resolution: {integrity: sha512-z48kG4qmE4TmiLcxbmvxMT5ycwvPkXaWW0XpU1L768uZaTbiDbxsHMEdV24JHlOR1xDsPpKW39BfP/pRdYIwFA==}
engines: {node: '>=12'}
peerDependencies:
eslint: ^7.2.0 || ^8
dependencies:
debug: 3.2.7
doctrine: 2.1.0
eslint: 8.47.0
eslint-import-resolver-node: 0.3.9
eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.4.1)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.0)(eslint@8.47.0)
get-tsconfig: 4.7.0
is-glob: 4.0.3
minimatch: 3.1.2
resolve: 1.22.4
semver: 7.5.4
transitivePeerDependencies:
- '@typescript-eslint/parser'
- eslint-import-resolver-typescript
- eslint-import-resolver-webpack
- supports-color
dev: false
/eslint-plugin-import@2.28.1(@typescript-eslint/parser@6.4.1)(eslint-import-resolver-typescript@3.6.0)(eslint@8.47.0):
resolution: {integrity: sha512-9I9hFlITvOV55alzoKBI+K9q74kv0iKMeY6av5+umsNwayt59fz692daGyjR+oStBQgx6nwR9rXldDev3Clw+A==}
engines: {node: '>=4'}
peerDependencies:
'@typescript-eslint/parser': '*'
eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8
peerDependenciesMeta:
'@typescript-eslint/parser':
optional: true
dependencies:
'@typescript-eslint/parser': 6.4.1(eslint@8.47.0)(typescript@5.1.6)
array-includes: 3.1.6
array.prototype.findlastindex: 1.2.2
array.prototype.flat: 1.3.1
array.prototype.flatmap: 1.3.1
debug: 3.2.7
doctrine: 2.1.0
eslint: 8.47.0
eslint-import-resolver-node: 0.3.9
eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.4.1)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.0)(eslint@8.47.0)
has: 1.0.3
is-core-module: 2.13.0
is-glob: 4.0.3
minimatch: 3.1.2
object.fromentries: 2.0.6
object.groupby: 1.0.0
object.values: 1.1.6
semver: 6.3.1
tsconfig-paths: 3.14.2
transitivePeerDependencies:
- eslint-import-resolver-typescript
- eslint-import-resolver-webpack
- supports-color
dev: false
/eslint-plugin-jsdoc@46.5.0(eslint@8.47.0): /eslint-plugin-jsdoc@46.5.0(eslint@8.47.0):
resolution: {integrity: sha512-aulXdA4I1dyWpzyS1Nh/GNoS6PavzeucxEapnMR4JUERowWvaEk2Y4A5irpHAcdXtBBHLVe8WIhdXNjoAlGQgA==} resolution: {integrity: sha512-aulXdA4I1dyWpzyS1Nh/GNoS6PavzeucxEapnMR4JUERowWvaEk2Y4A5irpHAcdXtBBHLVe8WIhdXNjoAlGQgA==}
engines: {node: '>=16'} engines: {node: '>=16'}
@@ -2180,11 +2362,9 @@ packages:
define-properties: 1.2.0 define-properties: 1.2.0
es-abstract: 1.22.1 es-abstract: 1.22.1
functions-have-names: 1.2.3 functions-have-names: 1.2.3
dev: true
/functions-have-names@1.2.3: /functions-have-names@1.2.3:
resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==}
dev: true
/get-caller-file@2.0.5: /get-caller-file@2.0.5:
resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==}
@@ -2205,7 +2385,12 @@ packages:
dependencies: dependencies:
call-bind: 1.0.2 call-bind: 1.0.2
get-intrinsic: 1.2.1 get-intrinsic: 1.2.1
dev: true
/get-tsconfig@4.7.0:
resolution: {integrity: sha512-pmjiZ7xtB8URYm74PlGJozDNyhvsVLUcpBa8DZBG3bWHwaHa9bPiRpiSfovw+fjhwONSCWKRyk+JQHEGZmMrzw==}
dependencies:
resolve-pkg-maps: 1.0.0
dev: false
/glob-parent@5.1.2: /glob-parent@5.1.2:
resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==}
@@ -2240,7 +2425,6 @@ packages:
engines: {node: '>= 0.4'} engines: {node: '>= 0.4'}
dependencies: dependencies:
define-properties: 1.2.0 define-properties: 1.2.0
dev: true
/globby@11.1.0: /globby@11.1.0:
resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==}
@@ -2260,7 +2444,6 @@ packages:
/graceful-fs@4.2.11: /graceful-fs@4.2.11:
resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==}
dev: true
/grapheme-splitter@1.0.4: /grapheme-splitter@1.0.4:
resolution: {integrity: sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==} resolution: {integrity: sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==}
@@ -2276,7 +2459,6 @@ packages:
/has-bigints@1.0.2: /has-bigints@1.0.2:
resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==} resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==}
dev: true
/has-flag@3.0.0: /has-flag@3.0.0:
resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==}
@@ -2373,7 +2555,6 @@ packages:
get-intrinsic: 1.2.1 get-intrinsic: 1.2.1
has: 1.0.3 has: 1.0.3
side-channel: 1.0.4 side-channel: 1.0.4
dev: true
/is-arguments@1.1.1: /is-arguments@1.1.1:
resolution: {integrity: sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==} resolution: {integrity: sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==}
@@ -2389,7 +2570,6 @@ packages:
call-bind: 1.0.2 call-bind: 1.0.2
get-intrinsic: 1.2.1 get-intrinsic: 1.2.1
is-typed-array: 1.1.12 is-typed-array: 1.1.12
dev: true
/is-arrayish@0.2.1: /is-arrayish@0.2.1:
resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==}
@@ -2399,7 +2579,6 @@ packages:
resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==}
dependencies: dependencies:
has-bigints: 1.0.2 has-bigints: 1.0.2
dev: true
/is-binary-path@2.1.0: /is-binary-path@2.1.0:
resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==}
@@ -2414,7 +2593,6 @@ packages:
dependencies: dependencies:
call-bind: 1.0.2 call-bind: 1.0.2
has-tostringtag: 1.0.0 has-tostringtag: 1.0.0
dev: true
/is-builtin-module@3.2.1: /is-builtin-module@3.2.1:
resolution: {integrity: sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==} resolution: {integrity: sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==}
@@ -2438,14 +2616,12 @@ packages:
resolution: {integrity: sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==} resolution: {integrity: sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==}
dependencies: dependencies:
has: 1.0.3 has: 1.0.3
dev: true
/is-date-object@1.0.5: /is-date-object@1.0.5:
resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==}
engines: {node: '>= 0.4'} engines: {node: '>= 0.4'}
dependencies: dependencies:
has-tostringtag: 1.0.0 has-tostringtag: 1.0.0
dev: true
/is-extglob@2.1.1: /is-extglob@2.1.1:
resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
@@ -2480,14 +2656,12 @@ packages:
/is-negative-zero@2.0.2: /is-negative-zero@2.0.2:
resolution: {integrity: sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==} resolution: {integrity: sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==}
engines: {node: '>= 0.4'} engines: {node: '>= 0.4'}
dev: true
/is-number-object@1.0.7: /is-number-object@1.0.7:
resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==} resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==}
engines: {node: '>= 0.4'} engines: {node: '>= 0.4'}
dependencies: dependencies:
has-tostringtag: 1.0.0 has-tostringtag: 1.0.0
dev: true
/is-number@7.0.0: /is-number@7.0.0:
resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
@@ -2519,20 +2693,17 @@ packages:
dependencies: dependencies:
call-bind: 1.0.2 call-bind: 1.0.2
has-tostringtag: 1.0.0 has-tostringtag: 1.0.0
dev: true
/is-shared-array-buffer@1.0.2: /is-shared-array-buffer@1.0.2:
resolution: {integrity: sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==} resolution: {integrity: sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==}
dependencies: dependencies:
call-bind: 1.0.2 call-bind: 1.0.2
dev: true
/is-string@1.0.7: /is-string@1.0.7:
resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==}
engines: {node: '>= 0.4'} engines: {node: '>= 0.4'}
dependencies: dependencies:
has-tostringtag: 1.0.0 has-tostringtag: 1.0.0
dev: true
/is-subdir@1.2.0: /is-subdir@1.2.0:
resolution: {integrity: sha512-2AT6j+gXe/1ueqbW6fLZJiIw3F8iXGJtt0yDrZaBhAZEG1raiTxKWU+IPqMCzQAXOUCKdA4UDMgacKH25XG2Cw==} resolution: {integrity: sha512-2AT6j+gXe/1ueqbW6fLZJiIw3F8iXGJtt0yDrZaBhAZEG1raiTxKWU+IPqMCzQAXOUCKdA4UDMgacKH25XG2Cw==}
@@ -2546,7 +2717,6 @@ packages:
engines: {node: '>= 0.4'} engines: {node: '>= 0.4'}
dependencies: dependencies:
has-symbols: 1.0.3 has-symbols: 1.0.3
dev: true
/is-typed-array@1.1.12: /is-typed-array@1.1.12:
resolution: {integrity: sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==} resolution: {integrity: sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==}
@@ -2558,7 +2728,6 @@ packages:
resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==}
dependencies: dependencies:
call-bind: 1.0.2 call-bind: 1.0.2
dev: true
/is-windows@1.0.2: /is-windows@1.0.2:
resolution: {integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==} resolution: {integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==}
@@ -2567,7 +2736,6 @@ packages:
/isarray@2.0.5: /isarray@2.0.5:
resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==}
dev: true
/isexe@2.0.0: /isexe@2.0.0:
resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
@@ -2605,6 +2773,13 @@ packages:
/json-stable-stringify-without-jsonify@1.0.1: /json-stable-stringify-without-jsonify@1.0.1:
resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==}
/json5@1.0.2:
resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==}
hasBin: true
dependencies:
minimist: 1.2.8
dev: false
/jsonfile@4.0.0: /jsonfile@4.0.0:
resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==}
optionalDependencies: optionalDependencies:
@@ -2775,7 +2950,6 @@ packages:
/minimist@1.2.8: /minimist@1.2.8:
resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==}
dev: true
/mixme@0.5.9: /mixme@0.5.9:
resolution: {integrity: sha512-VC5fg6ySUscaWUpI4gxCBTQMH2RdUpNrk+MsbpCYtIvf9SBJdiUey4qE7BXviJsJR4nDQxCZ+3yaYNW3guz/Pw==} resolution: {integrity: sha512-VC5fg6ySUscaWUpI4gxCBTQMH2RdUpNrk+MsbpCYtIvf9SBJdiUey4qE7BXviJsJR4nDQxCZ+3yaYNW3guz/Pw==}
@@ -2849,7 +3023,6 @@ packages:
/object-inspect@1.12.3: /object-inspect@1.12.3:
resolution: {integrity: sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==} resolution: {integrity: sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==}
dev: true
/object-is@1.1.5: /object-is@1.1.5:
resolution: {integrity: sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==} resolution: {integrity: sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==}
@@ -2871,7 +3044,33 @@ packages:
define-properties: 1.2.0 define-properties: 1.2.0
has-symbols: 1.0.3 has-symbols: 1.0.3
object-keys: 1.1.1 object-keys: 1.1.1
dev: true
/object.fromentries@2.0.6:
resolution: {integrity: sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg==}
engines: {node: '>= 0.4'}
dependencies:
call-bind: 1.0.2
define-properties: 1.2.0
es-abstract: 1.22.1
dev: false
/object.groupby@1.0.0:
resolution: {integrity: sha512-70MWG6NfRH9GnbZOikuhPPYzpUpof9iW2J9E4dW7FXTqPNb6rllE6u39SKwwiNh8lCwX3DDb5OgcKGiEBrTTyw==}
dependencies:
call-bind: 1.0.2
define-properties: 1.2.0
es-abstract: 1.22.1
get-intrinsic: 1.2.1
dev: false
/object.values@1.1.6:
resolution: {integrity: sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==}
engines: {node: '>= 0.4'}
dependencies:
call-bind: 1.0.2
define-properties: 1.2.0
es-abstract: 1.22.1
dev: false
/once@1.4.0: /once@1.4.0:
resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
@@ -2971,7 +3170,6 @@ packages:
/path-parse@1.0.7: /path-parse@1.0.7:
resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
dev: true
/path-type@4.0.0: /path-type@4.0.0:
resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==}
@@ -3155,7 +3353,6 @@ packages:
call-bind: 1.0.2 call-bind: 1.0.2
define-properties: 1.2.0 define-properties: 1.2.0
functions-have-names: 1.2.3 functions-have-names: 1.2.3
dev: true
/regexpp@3.2.0: /regexpp@3.2.0:
resolution: {integrity: sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==} resolution: {integrity: sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==}
@@ -3180,6 +3377,10 @@ packages:
engines: {node: '>=8'} engines: {node: '>=8'}
dev: true dev: true
/resolve-pkg-maps@1.0.0:
resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==}
dev: false
/resolve@1.22.4: /resolve@1.22.4:
resolution: {integrity: sha512-PXNdCiPqDqeUou+w1C2eTQbNfxKSuMxqTCuvlmmMsk1NWHL5fRrhY6Pl0qEYYc6+QqGClco1Qj8XnjPego4wfg==} resolution: {integrity: sha512-PXNdCiPqDqeUou+w1C2eTQbNfxKSuMxqTCuvlmmMsk1NWHL5fRrhY6Pl0qEYYc6+QqGClco1Qj8XnjPego4wfg==}
hasBin: true hasBin: true
@@ -3187,7 +3388,6 @@ packages:
is-core-module: 2.13.0 is-core-module: 2.13.0
path-parse: 1.0.7 path-parse: 1.0.7
supports-preserve-symlinks-flag: 1.0.0 supports-preserve-symlinks-flag: 1.0.0
dev: true
/reusify@1.0.4: /reusify@1.0.4:
resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==}
@@ -3234,7 +3434,6 @@ packages:
get-intrinsic: 1.2.1 get-intrinsic: 1.2.1
has-symbols: 1.0.3 has-symbols: 1.0.3
isarray: 2.0.5 isarray: 2.0.5
dev: true
/safe-regex-test@1.0.0: /safe-regex-test@1.0.0:
resolution: {integrity: sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==} resolution: {integrity: sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==}
@@ -3242,7 +3441,6 @@ packages:
call-bind: 1.0.2 call-bind: 1.0.2
get-intrinsic: 1.2.1 get-intrinsic: 1.2.1
is-regex: 1.1.4 is-regex: 1.1.4
dev: true
/safer-buffer@2.1.2: /safer-buffer@2.1.2:
resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==}
@@ -3262,6 +3460,11 @@ packages:
hasBin: true hasBin: true
dev: true dev: true
/semver@6.3.1:
resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==}
hasBin: true
dev: false
/semver@7.5.4: /semver@7.5.4:
resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==} resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==}
engines: {node: '>=10'} engines: {node: '>=10'}
@@ -3305,7 +3508,6 @@ packages:
call-bind: 1.0.2 call-bind: 1.0.2
get-intrinsic: 1.2.1 get-intrinsic: 1.2.1
object-inspect: 1.12.3 object-inspect: 1.12.3
dev: true
/signal-exit@3.0.7: /signal-exit@3.0.7:
resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==}
@@ -3418,7 +3620,6 @@ packages:
call-bind: 1.0.2 call-bind: 1.0.2
define-properties: 1.2.0 define-properties: 1.2.0
es-abstract: 1.22.1 es-abstract: 1.22.1
dev: true
/string.prototype.trimend@1.0.6: /string.prototype.trimend@1.0.6:
resolution: {integrity: sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==} resolution: {integrity: sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==}
@@ -3426,7 +3627,6 @@ packages:
call-bind: 1.0.2 call-bind: 1.0.2
define-properties: 1.2.0 define-properties: 1.2.0
es-abstract: 1.22.1 es-abstract: 1.22.1
dev: true
/string.prototype.trimstart@1.0.6: /string.prototype.trimstart@1.0.6:
resolution: {integrity: sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==} resolution: {integrity: sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==}
@@ -3434,7 +3634,6 @@ packages:
call-bind: 1.0.2 call-bind: 1.0.2
define-properties: 1.2.0 define-properties: 1.2.0
es-abstract: 1.22.1 es-abstract: 1.22.1
dev: true
/strip-ansi@6.0.1: /strip-ansi@6.0.1:
resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==}
@@ -3445,7 +3644,6 @@ packages:
/strip-bom@3.0.0: /strip-bom@3.0.0:
resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==}
engines: {node: '>=4'} engines: {node: '>=4'}
dev: true
/strip-indent@3.0.0: /strip-indent@3.0.0:
resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==} resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==}
@@ -3474,7 +3672,6 @@ packages:
/supports-preserve-symlinks-flag@1.0.0: /supports-preserve-symlinks-flag@1.0.0:
resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
engines: {node: '>= 0.4'} engines: {node: '>= 0.4'}
dev: true
/svelte-check@3.4.3(postcss@8.4.25)(svelte@4.0.5): /svelte-check@3.4.3(postcss@8.4.25)(svelte@4.0.5):
resolution: {integrity: sha512-O07soQFY3X0VDt+bcGc6D5naz0cLtjwnmNP9JsEBPVyMemFEqUhL2OdLqvkl5H/u8Jwm50EiAU4BPRn5iin/kg==} resolution: {integrity: sha512-O07soQFY3X0VDt+bcGc6D5naz0cLtjwnmNP9JsEBPVyMemFEqUhL2OdLqvkl5H/u8Jwm50EiAU4BPRn5iin/kg==}
@@ -3594,6 +3791,11 @@ packages:
periscopic: 3.1.0 periscopic: 3.1.0
dev: true dev: true
/tapable@2.2.1:
resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==}
engines: {node: '>=6'}
dev: false
/term-size@2.2.1: /term-size@2.2.1:
resolution: {integrity: sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==} resolution: {integrity: sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==}
engines: {node: '>=8'} engines: {node: '>=8'}
@@ -3638,6 +3840,15 @@ packages:
typescript: 5.1.6 typescript: 5.1.6
dev: false dev: false
/tsconfig-paths@3.14.2:
resolution: {integrity: sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g==}
dependencies:
'@types/json5': 0.0.29
json5: 1.0.2
minimist: 1.2.8
strip-bom: 3.0.0
dev: false
/tslib@1.14.1: /tslib@1.14.1:
resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==}
dev: true dev: true
@@ -3767,7 +3978,6 @@ packages:
call-bind: 1.0.2 call-bind: 1.0.2
get-intrinsic: 1.2.1 get-intrinsic: 1.2.1
is-typed-array: 1.1.12 is-typed-array: 1.1.12
dev: true
/typed-array-byte-length@1.0.0: /typed-array-byte-length@1.0.0:
resolution: {integrity: sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==} resolution: {integrity: sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==}
@@ -3777,7 +3987,6 @@ packages:
for-each: 0.3.3 for-each: 0.3.3
has-proto: 1.0.1 has-proto: 1.0.1
is-typed-array: 1.1.12 is-typed-array: 1.1.12
dev: true
/typed-array-byte-offset@1.0.0: /typed-array-byte-offset@1.0.0:
resolution: {integrity: sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==} resolution: {integrity: sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==}
@@ -3788,7 +3997,6 @@ packages:
for-each: 0.3.3 for-each: 0.3.3
has-proto: 1.0.1 has-proto: 1.0.1
is-typed-array: 1.1.12 is-typed-array: 1.1.12
dev: true
/typed-array-length@1.0.4: /typed-array-length@1.0.4:
resolution: {integrity: sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==} resolution: {integrity: sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==}
@@ -3796,7 +4004,6 @@ packages:
call-bind: 1.0.2 call-bind: 1.0.2
for-each: 0.3.3 for-each: 0.3.3
is-typed-array: 1.1.12 is-typed-array: 1.1.12
dev: true
/typescript@5.0.2: /typescript@5.0.2:
resolution: {integrity: sha512-wVORMBGO/FAs/++blGNeAVdbNKtIh1rbBL2EyQ1+J9lClJ93KiiKe8PmFIVdXhHcyv44SL9oglmfeSsndo0jRw==} resolution: {integrity: sha512-wVORMBGO/FAs/++blGNeAVdbNKtIh1rbBL2EyQ1+J9lClJ93KiiKe8PmFIVdXhHcyv44SL9oglmfeSsndo0jRw==}
@@ -3816,7 +4023,6 @@ packages:
has-bigints: 1.0.2 has-bigints: 1.0.2
has-symbols: 1.0.3 has-symbols: 1.0.3
which-boxed-primitive: 1.0.2 which-boxed-primitive: 1.0.2
dev: true
/undici@5.22.1: /undici@5.22.1:
resolution: {integrity: sha512-Ji2IJhFXZY0x/0tVBXeQwgPlLWw13GVzpsWPQ3rV50IFMMof2I55PZZxtm4P6iNq+L5znYN9nSTAq0ZyE6lSJw==} resolution: {integrity: sha512-Ji2IJhFXZY0x/0tVBXeQwgPlLWw13GVzpsWPQ3rV50IFMMof2I55PZZxtm4P6iNq+L5znYN9nSTAq0ZyE6lSJw==}
@@ -3923,7 +4129,6 @@ packages:
is-number-object: 1.0.7 is-number-object: 1.0.7
is-string: 1.0.7 is-string: 1.0.7
is-symbol: 1.0.4 is-symbol: 1.0.4
dev: true
/which-module@2.0.1: /which-module@2.0.1:
resolution: {integrity: sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==} resolution: {integrity: sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==}