From 5f78e4e1b300e203920b07cb716e198626d37eed Mon Sep 17 00:00:00 2001 From: Yusuke Wada Date: Thu, 12 Sep 2024 12:05:41 +0900 Subject: [PATCH] chore(lint): ESLint v9 (#3393) * chore(lint): ESLint v9 * run prettier --- .eslintignore | 1 - .eslintrc.cjs | 9 - bun.lockb | Bin 345048 -> 327246 bytes eslint.config.mjs | 3 + package.json | 12 +- runtime_tests/bun/index.test.tsx | 2 +- runtime_tests/deno-jsx/jsx.test.tsx | 2 +- runtime_tests/deno/hono.test.ts | 2 +- runtime_tests/deno/middleware.test.tsx | 4 +- runtime_tests/deno/ssg.test.tsx | 2 +- runtime_tests/deno/stream.test.ts | 4 +- runtime_tests/lambda/stream-mock.ts | 2 +- runtime_tests/node/index.test.ts | 10 +- runtime_tests/workerd/index.ts | 2 +- src/adapter/aws-lambda/types.ts | 2 +- src/adapter/bun/conninfo.test.ts | 2 +- src/adapter/bun/serve-static.ts | 2 +- src/adapter/lambda-edge/conninfo.test.ts | 2 +- src/adapter/lambda-edge/conninfo.ts | 2 +- src/client/client.test.ts | 2 +- src/compose.test.ts | 2 +- src/context.ts | 2 +- src/helper/css/index.test.tsx | 1 - src/helper/css/index.ts | 2 +- src/helper/ssg/middleware.ts | 2 +- src/helper/ssg/ssg.test.tsx | 1 - src/helper/streaming/sse.test.tsx | 2 +- src/helper/streaming/sse.ts | 2 +- src/hono.test.ts | 10 +- src/jsx/base.ts | 6 +- src/jsx/dom/css.test.tsx | 2 +- src/jsx/dom/css.ts | 2 - src/jsx/dom/hooks/index.ts | 4 +- src/jsx/dom/index.ts | 2 +- .../dom/intrinsic-element/components.test.tsx | 3 +- src/jsx/dom/intrinsic-element/components.ts | 8 +- src/jsx/dom/render.ts | 2 +- src/jsx/dom/server.ts | 2 +- src/jsx/index.test.tsx | 1 - src/jsx/index.ts | 2 +- src/jsx/intrinsic-element/components.ts | 10 +- src/middleware/combine/index.test.ts | 2 +- src/middleware/combine/index.ts | 8 +- src/middleware/compress/index.test.ts | 2 +- src/middleware/context-storage/index.ts | 2 +- src/middleware/ip-restriction/index.test.ts | 4 +- src/middleware/logger/index.ts | 2 +- src/preset/quick.test.ts | 2 +- src/preset/tiny.test.ts | 2 +- src/router/pattern-router/router.ts | 2 +- src/router/reg-exp-router/router.ts | 3 +- src/router/smart-router/router.ts | 1 - src/types.test.ts | 1 - src/types.ts | 1 - src/utils/basic-auth.test.ts | 1 - src/utils/cookie.ts | 2 +- src/utils/encode.test.ts | 1 - src/utils/jwt/jwt.ts | 2 +- src/utils/stream.ts | 4 +- yarn.lock | 1043 ++++++----------- 60 files changed, 419 insertions(+), 801 deletions(-) delete mode 100644 .eslintignore delete mode 100644 .eslintrc.cjs create mode 100644 eslint.config.mjs diff --git a/.eslintignore b/.eslintignore deleted file mode 100644 index 544edd99..00000000 --- a/.eslintignore +++ /dev/null @@ -1 +0,0 @@ -.eslintrc.cjs \ No newline at end of file diff --git a/.eslintrc.cjs b/.eslintrc.cjs deleted file mode 100644 index 8c7b1356..00000000 --- a/.eslintrc.cjs +++ /dev/null @@ -1,9 +0,0 @@ -module.exports = { - extends: ['@hono/eslint-config'], - rules: { - '@typescript-eslint/unbound-method': 'error', - }, - parserOptions: { - project: ['./tsconfig.json', './runtime_tests/tsconfig.json'], - }, -} diff --git a/bun.lockb b/bun.lockb index a03cf21070c27a64f024eb3ba23f1609840ac044..ff9a46108d435d73cf01eb524bf3fcba837d8218 100755 GIT binary patch delta 20661 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 Dr6gNy delta 33316 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 F{|AyccSZmJ diff --git a/eslint.config.mjs b/eslint.config.mjs new file mode 100644 index 00000000..c3bc6aff --- /dev/null +++ b/eslint.config.mjs @@ -0,0 +1,3 @@ +import baseConfig from '@hono/eslint-config' + +export default [...baseConfig] diff --git a/package.json b/package.json index 4599336c..9ff375ac 100644 --- a/package.json +++ b/package.json @@ -20,8 +20,8 @@ "test:lambda": "vitest --run --config ./runtime_tests/lambda/vitest.config.ts", "test:lambda-edge": "vitest --run --config ./runtime_tests/lambda-edge/vitest.config.ts", "test:all": "bun run test && bun test:deno && bun test:bun && bun test:fastly && bun test:node && bun test:workerd && bun test:lambda && bun test:lambda-edge", - "lint": "eslint --ext js,ts,tsx src runtime_tests", - "lint:fix": "eslint --ext js,ts,tsx src runtime_tests --fix", + "lint": "eslint src runtime_tests", + "lint:fix": "eslint src runtime_tests --fix", "format": "prettier --check --cache \"src/**/*.{js,ts,tsx}\" \"runtime_tests/**/*.{js,ts,tsx}\"", "format:fix": "prettier --write --cache --cache-strategy metadata \"src/**/*.{js,ts,tsx}\" \"runtime_tests/**/*.{js,ts,tsx}\"", "copy:package.cjs.json": "cp ./package.cjs.json ./dist/cjs/package.json && cp ./package.cjs.json ./dist/types/package.json ", @@ -618,7 +618,7 @@ "nodejs" ], "devDependencies": { - "@hono/eslint-config": "^0.0.6", + "@hono/eslint-config": "^1.0.1", "@hono/node-server": "^1.8.2", "@types/crypto-js": "^4.1.1", "@types/glob": "^8.0.0", @@ -629,7 +629,7 @@ "arg": "^5.0.2", "crypto-js": "^4.1.1", "esbuild": "^0.15.12", - "eslint": "^8.55.0", + "eslint": "^9.10.0", "glob": "7.2.3", "jsdom": "^22.1.0", "msw": "^2.3.0", @@ -645,6 +645,6 @@ "zod": "^3.20.2" }, "engines": { - "node": ">=16.0.0" + "node": ">=16.9.0" } -} +} \ No newline at end of file diff --git a/runtime_tests/bun/index.test.tsx b/runtime_tests/bun/index.test.tsx index db2f7edd..a9d4bddb 100644 --- a/runtime_tests/bun/index.test.tsx +++ b/runtime_tests/bun/index.test.tsx @@ -1,4 +1,5 @@ import { afterAll, afterEach, beforeEach, describe, expect, it, vi } from 'vitest' +import { stream, streamSSE } from '../..//src/helper/streaming' import { serveStatic, toSSG } from '../../src/adapter/bun' import { createBunWebSocket } from '../../src/adapter/bun/websocket' import type { BunWebSocketData } from '../../src/adapter/bun/websocket' @@ -11,7 +12,6 @@ import { jsx } from '../../src/jsx' import { basicAuth } from '../../src/middleware/basic-auth' import { jwt } from '../../src/middleware/jwt' import { HonoRequest } from '../../src/request' -import { stream, streamSSE } from '../..//src/helper/streaming' // Test just only minimal patterns. // Because others are tested well in Cloudflare Workers environment already. diff --git a/runtime_tests/deno-jsx/jsx.test.tsx b/runtime_tests/deno-jsx/jsx.test.tsx index f537d58b..65833a68 100644 --- a/runtime_tests/deno-jsx/jsx.test.tsx +++ b/runtime_tests/deno-jsx/jsx.test.tsx @@ -1,9 +1,9 @@ /** @jsxImportSource ../../src/jsx */ +import { assertEquals } from '@std/assert' import { Style, css } from '../../src/helper/css/index.ts' import { Suspense, renderToReadableStream } from '../../src/jsx/streaming.ts' import type { HtmlEscapedString } from '../../src/utils/html.ts' import { HtmlEscapedCallbackPhase, resolveCallback } from '../../src/utils/html.ts' -import { assertEquals } from '@std/assert' Deno.test('JSX', () => { const Component = ({ name }: { name: string }) => {name} diff --git a/runtime_tests/deno/hono.test.ts b/runtime_tests/deno/hono.test.ts index 5543165a..8808c163 100644 --- a/runtime_tests/deno/hono.test.ts +++ b/runtime_tests/deno/hono.test.ts @@ -1,7 +1,7 @@ +import { assertEquals } from '@std/assert' import { Context } from '../../src/context.ts' import { env, getRuntimeKey } from '../../src/helper/adapter/index.ts' import { Hono } from '../../src/hono.ts' -import { assertEquals } from '@std/assert' // Test just only minimal patterns. // Because others are tested well in Cloudflare Workers environment already. diff --git a/runtime_tests/deno/middleware.test.tsx b/runtime_tests/deno/middleware.test.tsx index 6970941e..ad992fe9 100644 --- a/runtime_tests/deno/middleware.test.tsx +++ b/runtime_tests/deno/middleware.test.tsx @@ -1,9 +1,9 @@ +import { assertEquals, assertMatch } from '@std/assert' +import { assertSpyCall, assertSpyCalls, spy } from '@std/testing/mock' import { serveStatic } from '../../src/adapter/deno/index.ts' import { Hono } from '../../src/hono.ts' import { basicAuth } from '../../src/middleware/basic-auth/index.ts' import { jwt } from '../../src/middleware/jwt/index.ts' -import { assertSpyCall, assertSpyCalls, spy } from '@std/testing/mock' -import { assertEquals, assertMatch } from '@std/assert' // Test just only minimal patterns. // Because others are already tested well in Cloudflare Workers environment. diff --git a/runtime_tests/deno/ssg.test.tsx b/runtime_tests/deno/ssg.test.tsx index 74cd4e7a..ba13e2ac 100644 --- a/runtime_tests/deno/ssg.test.tsx +++ b/runtime_tests/deno/ssg.test.tsx @@ -1,6 +1,6 @@ +import { assertEquals } from '@std/assert' import { toSSG } from '../../src/adapter/deno/ssg.ts' import { Hono } from '../../src/hono.ts' -import { assertEquals } from '@std/assert' Deno.test('toSSG function', async () => { const app = new Hono() diff --git a/runtime_tests/deno/stream.test.ts b/runtime_tests/deno/stream.test.ts index 15093f85..baff1486 100644 --- a/runtime_tests/deno/stream.test.ts +++ b/runtime_tests/deno/stream.test.ts @@ -1,6 +1,6 @@ -import { Hono } from '../../src/hono.ts' -import { stream, streamSSE } from '../../src/helper/streaming/index.ts' import { assertEquals } from '@std/assert' +import { stream, streamSSE } from '../../src/helper/streaming/index.ts' +import { Hono } from '../../src/hono.ts' Deno.test('Shuld call onAbort via stream', async () => { const app = new Hono() diff --git a/runtime_tests/lambda/stream-mock.ts b/runtime_tests/lambda/stream-mock.ts index 9baac045..9208fd73 100644 --- a/runtime_tests/lambda/stream-mock.ts +++ b/runtime_tests/lambda/stream-mock.ts @@ -1,5 +1,5 @@ -import { Writable } from 'node:stream' import { vi } from 'vitest' +import { Writable } from 'node:stream' import type { APIGatewayProxyEvent, APIGatewayProxyEventV2, diff --git a/runtime_tests/node/index.test.ts b/runtime_tests/node/index.test.ts index b34cf23a..4207450d 100644 --- a/runtime_tests/node/index.test.ts +++ b/runtime_tests/node/index.test.ts @@ -1,14 +1,14 @@ -import type { Server } from 'node:http' import { createAdaptorServer, serve } from '@hono/node-server' import request from 'supertest' +import type { Server } from 'node:http' +import type { AddressInfo } from 'node:net' import { Hono } from '../../src' import { Context } from '../../src/context' import { env, getRuntimeKey } from '../../src/helper/adapter' -import { basicAuth } from '../../src/middleware/basic-auth' -import { jwt } from '../../src/middleware/jwt' -import { compress } from '../../src/middleware/compress' import { stream, streamSSE } from '../../src/helper/streaming' -import type { AddressInfo } from 'node:net' +import { basicAuth } from '../../src/middleware/basic-auth' +import { compress } from '../../src/middleware/compress' +import { jwt } from '../../src/middleware/jwt' // Test only minimal patterns. // See for more tests and information. diff --git a/runtime_tests/workerd/index.ts b/runtime_tests/workerd/index.ts index 22d0296a..3c94cec8 100644 --- a/runtime_tests/workerd/index.ts +++ b/runtime_tests/workerd/index.ts @@ -1,5 +1,5 @@ -import { env, getRuntimeKey } from '../../src/helper/adapter' import { upgradeWebSocket } from '../../src/adapter/cloudflare-workers' +import { env, getRuntimeKey } from '../../src/helper/adapter' import { Hono } from '../../src/hono' const app = new Hono() diff --git a/src/adapter/aws-lambda/types.ts b/src/adapter/aws-lambda/types.ts index d1ec95eb..586c77f5 100644 --- a/src/adapter/aws-lambda/types.ts +++ b/src/adapter/aws-lambda/types.ts @@ -7,7 +7,7 @@ export interface CognitoIdentity { export interface ClientContext { client: ClientContextClient - // eslint-disable-next-line @typescript-eslint/no-explicit-any + Custom?: any env: ClientContextEnv } diff --git a/src/adapter/bun/conninfo.test.ts b/src/adapter/bun/conninfo.test.ts index 9c76512e..48b1c95b 100644 --- a/src/adapter/bun/conninfo.test.ts +++ b/src/adapter/bun/conninfo.test.ts @@ -1,6 +1,6 @@ import { Context } from '../../context' -import { getConnInfo } from './conninfo' import type { AddressType } from '../../helper/conninfo' +import { getConnInfo } from './conninfo' const createRandomBunServer = ({ address = Math.random().toString(), diff --git a/src/adapter/bun/serve-static.ts b/src/adapter/bun/serve-static.ts index be9fa2cc..10e5f6de 100644 --- a/src/adapter/bun/serve-static.ts +++ b/src/adapter/bun/serve-static.ts @@ -1,8 +1,8 @@ /* eslint-disable @typescript-eslint/ban-ts-comment */ +import { stat } from 'node:fs/promises' import { serveStatic as baseServeStatic } from '../../middleware/serve-static' import type { ServeStaticOptions } from '../../middleware/serve-static' import type { Env, MiddlewareHandler } from '../../types' -import { stat } from 'node:fs/promises' export const serveStatic = ( options: ServeStaticOptions diff --git a/src/adapter/lambda-edge/conninfo.test.ts b/src/adapter/lambda-edge/conninfo.test.ts index 693f93bc..42aa711f 100644 --- a/src/adapter/lambda-edge/conninfo.test.ts +++ b/src/adapter/lambda-edge/conninfo.test.ts @@ -1,6 +1,6 @@ import { Context } from '../../context' -import type { CloudFrontEdgeEvent } from './handler' import { getConnInfo } from './conninfo' +import type { CloudFrontEdgeEvent } from './handler' describe('getConnInfo', () => { it('Should info is valid', () => { diff --git a/src/adapter/lambda-edge/conninfo.ts b/src/adapter/lambda-edge/conninfo.ts index d247a322..395d5fc8 100644 --- a/src/adapter/lambda-edge/conninfo.ts +++ b/src/adapter/lambda-edge/conninfo.ts @@ -1,6 +1,6 @@ +import type { Context } from '../../context' import type { GetConnInfo } from '../../helper/conninfo' import type { CloudFrontEdgeEvent } from './handler' -import type { Context } from '../../context' type Env = { Bindings: { diff --git a/src/client/client.test.ts b/src/client/client.test.ts index 9f0add03..9f499b7f 100644 --- a/src/client/client.test.ts +++ b/src/client/client.test.ts @@ -1,5 +1,5 @@ /* eslint-disable @typescript-eslint/no-unused-vars */ -/* eslint-disable @typescript-eslint/no-explicit-any */ + /* eslint-disable @typescript-eslint/ban-ts-comment */ import { HttpResponse, http } from 'msw' import { setupServer } from 'msw/node' diff --git a/src/compose.test.ts b/src/compose.test.ts index 6f767761..5eadae34 100644 --- a/src/compose.test.ts +++ b/src/compose.test.ts @@ -553,7 +553,7 @@ describe('Compose', function () { arr.push(6) await next() arr.push(7) - } catch (err) { + } catch { arr.push(2) } arr.push(3) diff --git a/src/context.ts b/src/context.ts index beb13321..b46783df 100644 --- a/src/context.ts +++ b/src/context.ts @@ -11,6 +11,7 @@ import type { } from './types' import { HtmlEscapedCallbackPhase, resolveCallback } from './utils/html' import type { RedirectStatusCode, StatusCode } from './utils/http-status' +import type { BaseMime } from './utils/mime' import type { InvalidJSONValue, IsAny, @@ -18,7 +19,6 @@ import type { JSONValue, SimplifyDeepArray, } from './utils/types' -import type { BaseMime } from './utils/mime' type HeaderRecord = | Record<'Content-Type', BaseMime> diff --git a/src/helper/css/index.test.tsx b/src/helper/css/index.test.tsx index a08e9e61..679f99e1 100644 --- a/src/helper/css/index.test.tsx +++ b/src/helper/css/index.test.tsx @@ -1,4 +1,3 @@ -/* eslint-disable quotes */ /** @jsxImportSource ../../jsx */ import { Hono } from '../../' import { html } from '../../helper/html' diff --git a/src/helper/css/index.ts b/src/helper/css/index.ts index b8c3ccc5..f1aa02a8 100644 --- a/src/helper/css/index.ts +++ b/src/helper/css/index.ts @@ -130,7 +130,7 @@ export const createCssContext = ({ id }: { id: Readonly }): DefaultConte ;(className as HtmlEscapedString).callbacks = [addClassNameToContext] const promise = Promise.resolve(className) Object.assign(promise, cssClassName) - // eslint-disable-next-line @typescript-eslint/unbound-method + promise.toString = cssJsxDomObject.toString return promise } diff --git a/src/helper/ssg/middleware.ts b/src/helper/ssg/middleware.ts index 305db8bd..0e4a4909 100644 --- a/src/helper/ssg/middleware.ts +++ b/src/helper/ssg/middleware.ts @@ -15,7 +15,7 @@ export const SSG_DISABLED_RESPONSE = (() => { status: 404, headers: { [X_HONO_DISABLE_SSG_HEADER_KEY]: 'true' }, }) - } catch (e) { + } catch { return null } })() as Response diff --git a/src/helper/ssg/ssg.test.tsx b/src/helper/ssg/ssg.test.tsx index 51044655..81311835 100644 --- a/src/helper/ssg/ssg.test.tsx +++ b/src/helper/ssg/ssg.test.tsx @@ -1,4 +1,3 @@ -/* eslint-disable @typescript-eslint/unbound-method */ /** @jsxImportSource ../../jsx */ import { Hono } from '../../hono' import { poweredBy } from '../../middleware/powered-by' diff --git a/src/helper/streaming/sse.test.tsx b/src/helper/streaming/sse.test.tsx index df77bb3c..49470322 100644 --- a/src/helper/streaming/sse.test.tsx +++ b/src/helper/streaming/sse.test.tsx @@ -1,6 +1,6 @@ /** @jsxImportSource ../../jsx */ -import { ErrorBoundary } from '../../jsx' import { Context } from '../../context' +import { ErrorBoundary } from '../../jsx' import { streamSSE } from '.' describe('SSE Streaming helper', () => { diff --git a/src/helper/streaming/sse.ts b/src/helper/streaming/sse.ts index fb38f3d4..bdd6d00f 100644 --- a/src/helper/streaming/sse.ts +++ b/src/helper/streaming/sse.ts @@ -1,6 +1,6 @@ import type { Context } from '../../context' -import { StreamingApi } from '../../utils/stream' import { HtmlEscapedCallbackPhase, resolveCallback } from '../../utils/html' +import { StreamingApi } from '../../utils/stream' export interface SSEMessage { data: string | Promise diff --git a/src/hono.test.ts b/src/hono.test.ts index 91d37f29..b6fdd73c 100644 --- a/src/hono.test.ts +++ b/src/hono.test.ts @@ -1599,7 +1599,7 @@ describe('Request methods with custom middleware', () => { app.use('*', async (c, next) => { const query = c.req.query('foo') - // eslint-disable-next-line @typescript-eslint/ban-ts-comment + // @ts-ignore const param = c.req.param('foo') // This will cause a type error. const header = c.req.header('User-Agent') @@ -2210,7 +2210,7 @@ describe('Lack returning response with a single handler', () => { describe('Context is not finalized', () => { it('should throw error - lack `await next()`', async () => { const app = new Hono() - // eslint-disable-next-line @typescript-eslint/ban-ts-comment + // @ts-ignore app.use('*', () => {}) app.get('/foo', (c) => { @@ -2229,7 +2229,7 @@ describe('Context is not finalized', () => { app.use('*', async (_c, next) => { await next() }) - // eslint-disable-next-line @typescript-eslint/ban-ts-comment + // @ts-ignore app.get('/foo', () => {}) app.onError((err, c) => { @@ -2672,10 +2672,10 @@ describe('app.mount()', () => { }, { // Force mocking! - // eslint-disable-next-line @typescript-eslint/ban-ts-comment + // @ts-ignore waitUntil: 'waitUntil', - // eslint-disable-next-line @typescript-eslint/ban-ts-comment + // @ts-ignore passThroughOnException: 'passThroughOnException', } diff --git a/src/jsx/base.ts b/src/jsx/base.ts index 029a0d64..5523c0a8 100644 --- a/src/jsx/base.ts +++ b/src/jsx/base.ts @@ -1,16 +1,16 @@ import { raw } from '../helper/html' import { escapeToBuffer, resolveCallbackSync, stringBufferToString } from '../utils/html' import type { HtmlEscaped, HtmlEscapedString, StringBufferWithCallbacks } from '../utils/html' +import { DOM_RENDERER } from './constants' import type { Context } from './context' import { createContext, globalContexts, useContext } from './context' -import { DOM_RENDERER } from './constants' +import { domRenderers } from './intrinsic-element/common' +import * as intrinsicElementTags from './intrinsic-element/components' import type { JSX as HonoJSX, IntrinsicElements as IntrinsicElementsDefined, } from './intrinsic-elements' import { normalizeIntrinsicElementKey, styleObjectForEach } from './utils' -import * as intrinsicElementTags from './intrinsic-element/components' -import { domRenderers } from './intrinsic-element/common' // eslint-disable-next-line @typescript-eslint/no-explicit-any export type Props = Record diff --git a/src/jsx/dom/css.test.tsx b/src/jsx/dom/css.test.tsx index 4227f6ce..f7c3298f 100644 --- a/src/jsx/dom/css.test.tsx +++ b/src/jsx/dom/css.test.tsx @@ -2,7 +2,7 @@ import { JSDOM } from 'jsdom' // run tests by old style jsx default // hono/jsx/jsx-runtime and hono/jsx/dom/jsx-runtime are tested in their respective settings -// eslint-disable-next-line @typescript-eslint/no-unused-vars + import type { JSXNode } from '..' import { Style, createCssContext, css, rawCssString } from '../../helper/css' import { minify } from '../../helper/css/common' diff --git a/src/jsx/dom/css.ts b/src/jsx/dom/css.ts index 0dd996d7..c40eb6b1 100644 --- a/src/jsx/dom/css.ts +++ b/src/jsx/dom/css.ts @@ -120,7 +120,6 @@ export const createCssJsxDomObjects: CreateCssJsxDomObjectsType = ({ id }) => { }, } - // eslint-disable-next-line @typescript-eslint/no-explicit-any const Style: FC> = ({ children }) => ({ tag: 'style', @@ -173,7 +172,6 @@ export const createCssContext = ({ id }: { id: Readonly }): DefaultConte const [cssObject, Style] = createCssJsxDomObjects({ id }) const newCssClassNameObject = (cssClassName: CssClassName): string => { - // eslint-disable-next-line @typescript-eslint/unbound-method cssClassName.toString = cssObject.toString return cssClassName as unknown as string } diff --git a/src/jsx/dom/hooks/index.ts b/src/jsx/dom/hooks/index.ts index c9983c29..68d2eb3b 100644 --- a/src/jsx/dom/hooks/index.ts +++ b/src/jsx/dom/hooks/index.ts @@ -2,11 +2,11 @@ * Provide hooks used only in jsx/dom */ +import { PERMALINK } from '../../constants' import type { Context } from '../../context' import { useContext } from '../../context' -import { createContext } from '../context' import { useCallback, useState } from '../../hooks' -import { PERMALINK } from '../../constants' +import { createContext } from '../context' type FormStatus = | { diff --git a/src/jsx/dom/index.ts b/src/jsx/dom/index.ts index a6ea3490..1949d2da 100644 --- a/src/jsx/dom/index.ts +++ b/src/jsx/dom/index.ts @@ -29,9 +29,9 @@ import { useTransition, useViewTransition, } from '../hooks' -import { useActionState, useFormStatus, useOptimistic } from './hooks' import { ErrorBoundary, Suspense } from './components' import { createContext } from './context' +import { useActionState, useFormStatus, useOptimistic } from './hooks' import { Fragment, jsx } from './jsx-runtime' import { createPortal, flushSync } from './render' diff --git a/src/jsx/dom/intrinsic-element/components.test.tsx b/src/jsx/dom/intrinsic-element/components.test.tsx index 0168102c..0df659d2 100644 --- a/src/jsx/dom/intrinsic-element/components.test.tsx +++ b/src/jsx/dom/intrinsic-element/components.test.tsx @@ -1,7 +1,7 @@ /** @jsxImportSource ../../ */ import { JSDOM, ResourceLoader } from 'jsdom' -import { useState } from '../../hooks' import { Suspense, render } from '..' +import { useState } from '../../hooks' import { clearCache, composeRef } from './components' describe('intrinsic element', () => { @@ -10,7 +10,6 @@ describe('intrinsic element', () => { global.requestAnimationFrame = (cb) => setTimeout(cb) CustomResourceLoader = class CustomResourceLoader extends ResourceLoader { - // eslint-disable-next-line @typescript-eslint/no-explicit-any fetch(url: string) { return url.includes('invalid') ? Promise.reject('Invalid URL') diff --git a/src/jsx/dom/intrinsic-element/components.ts b/src/jsx/dom/intrinsic-element/components.ts index fa9059ab..49344767 100644 --- a/src/jsx/dom/intrinsic-element/components.ts +++ b/src/jsx/dom/intrinsic-element/components.ts @@ -1,12 +1,12 @@ import type { Props } from '../../base' -import type { FC, JSXNode, PropsWithChildren, RefObject } from '../../types' -import { createPortal, getNameSpaceContext } from '../render' -import type { PreserveNodeType } from '../render' import { useContext } from '../../context' import { use, useCallback, useMemo, useState } from '../../hooks' -import { FormContext, registerAction } from '../hooks' import { dataPrecedenceAttr, deDupeKeyMap, domRenderers } from '../../intrinsic-element/common' import type { IntrinsicElements } from '../../intrinsic-elements' +import type { FC, JSXNode, PropsWithChildren, RefObject } from '../../types' +import { FormContext, registerAction } from '../hooks' +import type { PreserveNodeType } from '../render' +import { createPortal, getNameSpaceContext } from '../render' // this function is a testing utility and should not be exported to the user export const clearCache = () => { diff --git a/src/jsx/dom/render.ts b/src/jsx/dom/render.ts index 76415d02..e23b1f55 100644 --- a/src/jsx/dom/render.ts +++ b/src/jsx/dom/render.ts @@ -663,7 +663,7 @@ const updateSync = (context: Context, node: NodeObject): void => { }) try { build(context, node, undefined) - } catch (e) { + } catch { return } if (node.a) { diff --git a/src/jsx/dom/server.ts b/src/jsx/dom/server.ts index 77f69f3f..8f02aaf3 100644 --- a/src/jsx/dom/server.ts +++ b/src/jsx/dom/server.ts @@ -3,10 +3,10 @@ * This module provides APIs for `hono/jsx/server`, which is compatible with `react-dom/server`. */ +import type { HtmlEscapedString } from '../../utils/html' import type { Child } from '../base' import { renderToReadableStream as renderToReadableStreamHono } from '../streaming' import version from './' -import type { HtmlEscapedString } from '../../utils/html' export interface RenderToStringOptions { identifierPrefix?: string diff --git a/src/jsx/index.test.tsx b/src/jsx/index.test.tsx index 82db53a7..78112d2c 100644 --- a/src/jsx/index.test.tsx +++ b/src/jsx/index.test.tsx @@ -1059,7 +1059,6 @@ describe('default export', () => { 'StrictMode', ].forEach((key) => { it(key, () => { - // eslint-disable-next-line @typescript-eslint/no-explicit-any expect((DefaultExport as any)[key]).toBeDefined() }) }) diff --git a/src/jsx/index.ts b/src/jsx/index.ts index 2fb1041c..2da97448 100644 --- a/src/jsx/index.ts +++ b/src/jsx/index.ts @@ -8,6 +8,7 @@ import type { DOMAttributes } from './base' import { Children } from './children' import { ErrorBoundary } from './components' import { createContext, useContext } from './context' +import { useActionState, useOptimistic } from './dom/hooks' import { createRef, forwardRef, @@ -30,7 +31,6 @@ import { useTransition, useViewTransition, } from './hooks' -import { useActionState, useOptimistic } from './dom/hooks' import { Suspense } from './streaming' export { diff --git a/src/jsx/intrinsic-element/components.ts b/src/jsx/intrinsic-element/components.ts index b8ed7dc7..c673e465 100644 --- a/src/jsx/intrinsic-element/components.ts +++ b/src/jsx/intrinsic-element/components.ts @@ -1,13 +1,13 @@ +import { raw } from '../../helper/html' import type { HtmlEscapedCallback, HtmlEscapedString } from '../../utils/html' import { JSXNode, getNameSpaceContext } from '../base' -import { useContext } from '../context' import type { Child, Props } from '../base' -import type { FC, PropsWithChildren } from '../types' -import { raw } from '../../helper/html' -import { dataPrecedenceAttr, deDupeKeyMap } from './common' -import { PERMALINK } from '../constants' import { toArray } from '../children' +import { PERMALINK } from '../constants' +import { useContext } from '../context' import type { IntrinsicElements } from '../intrinsic-elements' +import type { FC, PropsWithChildren } from '../types' +import { dataPrecedenceAttr, deDupeKeyMap } from './common' const metaTagMap: WeakMap< object, diff --git a/src/middleware/combine/index.test.ts b/src/middleware/combine/index.test.ts index b1043c11..47944d02 100644 --- a/src/middleware/combine/index.test.ts +++ b/src/middleware/combine/index.test.ts @@ -1,6 +1,6 @@ import { Hono } from '../../hono' -import { every, except, some } from '.' import type { MiddlewareHandler } from '../../types' +import { every, except, some } from '.' const nextMiddleware: MiddlewareHandler = async (_, next) => await next() diff --git a/src/middleware/combine/index.ts b/src/middleware/combine/index.ts index a0c10f7e..1e7c703e 100644 --- a/src/middleware/combine/index.ts +++ b/src/middleware/combine/index.ts @@ -3,11 +3,11 @@ * Combine Middleware for Hono. */ -import type { Context } from '../../context' -import type { MiddlewareHandler, Next } from '../../types' -import { TrieRouter } from '../../router/trie-router' -import { METHOD_NAME_ALL } from '../../router' import { compose } from '../../compose' +import type { Context } from '../../context' +import { METHOD_NAME_ALL } from '../../router' +import { TrieRouter } from '../../router/trie-router' +import type { MiddlewareHandler, Next } from '../../types' type Condition = (c: Context) => boolean diff --git a/src/middleware/compress/index.test.ts b/src/middleware/compress/index.test.ts index 60bf260d..d446b451 100644 --- a/src/middleware/compress/index.test.ts +++ b/src/middleware/compress/index.test.ts @@ -1,6 +1,6 @@ -import { compress } from '.' import { stream } from '../../helper/streaming' import { Hono } from '../../hono' +import { compress } from '.' describe('Compress Middleware', () => { const app = new Hono() diff --git a/src/middleware/context-storage/index.ts b/src/middleware/context-storage/index.ts index 2545d3ca..4447303c 100644 --- a/src/middleware/context-storage/index.ts +++ b/src/middleware/context-storage/index.ts @@ -3,9 +3,9 @@ * Context Storage Middleware for Hono. */ +import { AsyncLocalStorage } from 'node:async_hooks' import type { Context } from '../../context' import type { Env, MiddlewareHandler } from '../../types' -import { AsyncLocalStorage } from 'node:async_hooks' const asyncLocalStorage = new AsyncLocalStorage() diff --git a/src/middleware/ip-restriction/index.test.ts b/src/middleware/ip-restriction/index.test.ts index 86904f03..602af244 100644 --- a/src/middleware/ip-restriction/index.test.ts +++ b/src/middleware/ip-restriction/index.test.ts @@ -1,6 +1,6 @@ -import { Hono } from '../../hono' import { Context } from '../../context' import type { AddressType, GetConnInfo } from '../../helper/conninfo' +import { Hono } from '../../hono' import { ipRestriction } from '.' import type { IPRestrictionRule } from '.' @@ -78,7 +78,7 @@ describe('isMatchForRule', () => { try { // eslint-disable-next-line @typescript-eslint/no-explicit-any await middleware(undefined as any, () => Promise.resolve()) - } catch (e) { + } catch { return false } return true diff --git a/src/middleware/logger/index.ts b/src/middleware/logger/index.ts index 45acd2f9..d39f934a 100644 --- a/src/middleware/logger/index.ts +++ b/src/middleware/logger/index.ts @@ -79,7 +79,7 @@ function log( export const logger = (fn: PrintFunc = console.log): MiddlewareHandler => { return async function logger(c, next) { const { method } = c.req - // eslint-disable-next-line @typescript-eslint/no-unused-vars + const path = getPath(c.req.raw) log(fn, LogPrefix.Incoming, method, path) diff --git a/src/preset/quick.test.ts b/src/preset/quick.test.ts index b3ba713a..1b1cf9e5 100644 --- a/src/preset/quick.test.ts +++ b/src/preset/quick.test.ts @@ -1,5 +1,5 @@ -import { Hono } from './quick' import { getRouterName } from '../helper/dev' +import { Hono } from './quick' describe('hono/quick preset', () => { it('Should have SmartRouter + LinearRouter', async () => { diff --git a/src/preset/tiny.test.ts b/src/preset/tiny.test.ts index 741b1858..7ec6478d 100644 --- a/src/preset/tiny.test.ts +++ b/src/preset/tiny.test.ts @@ -1,5 +1,5 @@ -import { Hono } from './tiny' import { getRouterName } from '../helper/dev' +import { Hono } from './tiny' describe('hono/tiny preset', () => { it('Should have PatternRouter', async () => { diff --git a/src/router/pattern-router/router.ts b/src/router/pattern-router/router.ts index 770be750..0565fb43 100644 --- a/src/router/pattern-router/router.ts +++ b/src/router/pattern-router/router.ts @@ -31,7 +31,7 @@ export class PatternRouter implements Router { let re try { re = new RegExp(`^${parts.join('')}${endsWithWildcard ? '' : '/?$'}`) - } catch (e) { + } catch { throw new UnsupportedPathError() } this.routes.push([re, method, handler]) diff --git a/src/router/reg-exp-router/router.ts b/src/router/reg-exp-router/router.ts index c0420be0..f404a122 100644 --- a/src/router/reg-exp-router/router.ts +++ b/src/router/reg-exp-router/router.ts @@ -1,4 +1,3 @@ -/* eslint-disable @typescript-eslint/ban-ts-comment */ import type { ParamIndexMap, Result, Router } from '../../router' import { MESSAGE_MATCHER_IS_ALREADY_BUILT, @@ -247,7 +246,7 @@ export class RegExpRouter implements Router { const routes: [string, HandlerWithMetadata[]][] = [] let hasOwnRoute = method === METHOD_NAME_ALL - // eslint-disable-next-line @typescript-eslint/no-non-null-assertion + ;[this.middleware!, this.routes!].forEach((r) => { const ownRoute = r[method] ? Object.keys(r[method]).map((path) => [path, r[method][path]]) diff --git a/src/router/smart-router/router.ts b/src/router/smart-router/router.ts index 3c23ecb5..33f20b3c 100644 --- a/src/router/smart-router/router.ts +++ b/src/router/smart-router/router.ts @@ -1,4 +1,3 @@ -/* eslint-disable @typescript-eslint/ban-ts-comment */ import type { Result, Router } from '../../router' import { MESSAGE_MATCHER_IS_ALREADY_BUILT, UnsupportedPathError } from '../../router' diff --git a/src/types.test.ts b/src/types.test.ts index 0eddce9e..421570ab 100644 --- a/src/types.test.ts +++ b/src/types.test.ts @@ -1,4 +1,3 @@ -/* eslint-disable @typescript-eslint/ban-types */ /* eslint-disable @typescript-eslint/no-unused-vars */ import { expectTypeOf } from 'vitest' import { Context } from './context' diff --git a/src/types.ts b/src/types.ts index fe4a3025..8edf64bc 100644 --- a/src/types.ts +++ b/src/types.ts @@ -5,7 +5,6 @@ /* eslint-disable @typescript-eslint/no-unused-vars */ /* eslint-disable @typescript-eslint/no-explicit-any */ -/* eslint-disable @typescript-eslint/ban-types */ import type { Context } from './context' import type { Hono } from './hono' import type { StatusCode } from './utils/http-status' diff --git a/src/utils/basic-auth.test.ts b/src/utils/basic-auth.test.ts index 01e15dae..a47933bd 100644 --- a/src/utils/basic-auth.test.ts +++ b/src/utils/basic-auth.test.ts @@ -1,4 +1,3 @@ -import { HonoRequest } from '../request' import { auth } from './basic-auth' describe('auth', () => { diff --git a/src/utils/cookie.ts b/src/utils/cookie.ts index 119400de..ab3e7098 100644 --- a/src/utils/cookie.ts +++ b/src/utils/cookie.ts @@ -60,7 +60,7 @@ const verifySignature = async ( signature[i] = signatureBinStr.charCodeAt(i) } return await crypto.subtle.verify(algorithm, secret, signature, new TextEncoder().encode(value)) - } catch (e) { + } catch { return false } } diff --git a/src/utils/encode.test.ts b/src/utils/encode.test.ts index 89b1a889..51f5b90c 100644 --- a/src/utils/encode.test.ts +++ b/src/utils/encode.test.ts @@ -1,4 +1,3 @@ -/* eslint-disable @typescript-eslint/ban-ts-comment */ import { decodeBase64Url, encodeBase64Url } from './encode' const toURLBase64 = (base64String: string): string => diff --git a/src/utils/jwt/jwt.ts b/src/utils/jwt/jwt.ts index b53840cc..23ab901d 100644 --- a/src/utils/jwt/jwt.ts +++ b/src/utils/jwt/jwt.ts @@ -108,7 +108,7 @@ export const decode = (token: string): { header: TokenHeader; payload: JWTPayloa header, payload, } - } catch (e) { + } catch { throw new JwtTokenInvalid(token) } } diff --git a/src/utils/stream.ts b/src/utils/stream.ts index 90538ec1..f25f6f78 100644 --- a/src/utils/stream.ts +++ b/src/utils/stream.ts @@ -49,7 +49,7 @@ export class StreamingApi { input = this.encoder.encode(input) } await this.writer.write(input) - } catch (e) { + } catch { // Do nothing. If you want to handle errors, create a stream by yourself. } return this @@ -67,7 +67,7 @@ export class StreamingApi { async close() { try { await this.writer.close() - } catch (e) { + } catch { // Do nothing. If you want to handle errors, create a stream by yourself. } this.closed = true diff --git a/yarn.lock b/yarn.lock index c585bf29..457d8596 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1,6 +1,6 @@ # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. # yarn lockfile v1 -# bun ./bun.lockb --hash: D7BEE24CCA8B4784-24920b19c3d718a8-CF589A5067DEE4CA-dfaa7c6f340d7ddc +# bun ./bun.lockb --hash: E4B8601A7D949CFD-521069ab0df1fd74-D886C3DE97D9BB37-17ff69a45c3e2b1d "@aashutoshrathi/word-wrap@^1.2.3": @@ -435,18 +435,32 @@ resolved "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.19.12.tgz" integrity sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA== -"@eslint-community/eslint-utils@^4.2.0", "@eslint-community/eslint-utils@^4.4.0": +"@eslint-community/eslint-utils@^4.1.2", "@eslint-community/eslint-utils@^4.2.0", "@eslint-community/eslint-utils@^4.4.0": version "4.4.0" resolved "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz" integrity sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA== dependencies: eslint-visitor-keys "^3.3.0" -"@eslint-community/regexpp@^4.5.1", "@eslint-community/regexpp@^4.6.1": +"@eslint-community/regexpp@^4.6.1": version "4.10.0" resolved "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.0.tgz" integrity sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA== +"@eslint-community/regexpp@^4.10.0", "@eslint-community/regexpp@^4.11.0": + version "4.11.0" + resolved "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.11.0.tgz" + integrity sha512-G/M/tIiMrTAxEWRfLfQJMmGNX28IxBg4PBz8XqQhqUHLFI6TL2htpIB1iQCj144V5ee/JaKyT9/WZ0MGZWfA7A== + +"@eslint/config-array@^0.18.0": + version "0.18.0" + resolved "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.18.0.tgz" + integrity sha512-fTxvnS1sRMu3+JjXwJG0j/i4RT9u4qJ+lqS/yCGap4lH4zZGzQ7tu+xZqQmcMZq5OBZDL4QRxQzRjkWcGt8IVw== + dependencies: + "@eslint/object-schema" "^2.1.4" + debug "^4.3.1" + minimatch "^3.1.2" + "@eslint/eslintrc@^2.1.4": version "2.1.4" resolved "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz" @@ -462,11 +476,43 @@ minimatch "^3.1.2" strip-json-comments "^3.1.1" +"@eslint/eslintrc@^3.1.0": + version "3.1.0" + resolved "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.1.0.tgz" + integrity sha512-4Bfj15dVJdoy3RfZmmo86RK1Fwzn6SstsvK9JS+BaVKqC6QQQQyXekNaC+g+LKNgkQ+2VhGAzm6hO40AhMR3zQ== + dependencies: + ajv "^6.12.4" + debug "^4.3.2" + espree "^10.0.1" + globals "^14.0.0" + ignore "^5.2.0" + import-fresh "^3.2.1" + js-yaml "^4.1.0" + minimatch "^3.1.2" + strip-json-comments "^3.1.1" + "@eslint/js@8.56.0": version "8.56.0" resolved "https://registry.npmjs.org/@eslint/js/-/js-8.56.0.tgz" integrity sha512-gMsVel9D7f2HLkBma9VbtzZRehRogVRfbr++f06nL2vnCGCNlzOD+/MUov/F4p8myyAHspEhVobgjpX64q5m6A== +"@eslint/js@9.10.0", "@eslint/js@^9.10.0": + version "9.10.0" + resolved "https://registry.npmjs.org/@eslint/js/-/js-9.10.0.tgz" + integrity sha512-fuXtbiP5GWIn8Fz+LWoOMVf/Jxm+aajZYkhi6CuEm4SxymFM+eUWzbO9qXT+L0iCkL5+KGYMCSGxo686H19S1g== + +"@eslint/object-schema@^2.1.4": + version "2.1.4" + resolved "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.4.tgz" + integrity sha512-BsWiH1yFGjXXS2yvrf5LyuoSIIbPrGUWob917o+BTKuZ7qJdxX8aJLRxs1fS9n6r7vESrq1OUqb68dANcFXuQQ== + +"@eslint/plugin-kit@^0.1.0": + version "0.1.0" + resolved "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.1.0.tgz" + integrity sha512-autAXT203ixhqei9xt+qkYOvY8l6LAFIdT2UXc/RPNeUVfqRF1BV94GTJyVPFKT8nFM6MyVJhjLj9E8JWvf5zQ== + dependencies: + levn "^0.4.1" + "@fastify/busboy@^2.0.0": version "2.1.0" resolved "https://registry.npmjs.org/@fastify/busboy/-/busboy-2.1.0.tgz" @@ -485,18 +531,20 @@ magic-string "^0.30.0" regexpu-core "^5.3.2" -"@hono/eslint-config@^0.0.6": - version "0.0.6" - resolved "https://registry.npmjs.org/@hono/eslint-config/-/eslint-config-0.0.6.tgz" - integrity sha512-svFH026Vp5UHREJZzG6wx0SVHpX3O6yxeHjSYLXB4tXEzDEM2zK17tZ1XRFZRtx9NQH2yUGBEciwxdbx0LF7Jg== +"@hono/eslint-config@^1.0.1": + version "1.0.1" + resolved "https://registry.npmjs.org/@hono/eslint-config/-/eslint-config-1.0.1.tgz" + integrity sha512-TnyzPywU3U6DAW0mOmZlIOfeUPQkdbauJpfjL1LcFbwZZs+6ANsYM8rEy/tQNX7cDwcocoMv+vIpUi/ac1ueDg== dependencies: - "@typescript-eslint/eslint-plugin" "^6.14.0" - "@typescript-eslint/parser" "^6.14.0" + "@eslint/eslintrc" "^3.1.0" + "@eslint/js" "^9.10.0" + "@typescript-eslint/eslint-plugin" "^8.4.0" + "@typescript-eslint/parser" "^8.4.0" eslint-config-prettier "^9.1.0" - eslint-define-config "^2.0.0" - eslint-import-resolver-typescript "^3.6.1" - eslint-plugin-import "^2.29.0" - eslint-plugin-node "^11.1.0" + eslint-define-config "^2.1.0" + eslint-import-resolver-typescript "^3.6.3" + eslint-plugin-import-x "^4.1.1" + eslint-plugin-n "^17.10.2" "@hono/node-server@^1.8.2": version "1.8.2" @@ -522,6 +570,11 @@ resolved "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.2.tgz" integrity sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw== +"@humanwhocodes/retry@^0.3.0": + version "0.3.0" + resolved "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.3.0.tgz" + integrity sha512-d2CGZR2o7fS6sWB7DG/3a95bGKQyHMACZ5aW8qGkkqQpUoZV6C0X7Pc7l4ZNMZkfNBf4VWNe9E1jRsf0G146Ew== + "@inquirer/confirm@^3.0.0": version "3.1.8" resolved "https://registry.npmjs.org/@inquirer/confirm/-/confirm-3.1.8.tgz" @@ -689,6 +742,11 @@ "@nodelib/fs.scandir" "2.1.5" fastq "^1.6.0" +"@nolyfill/is-core-module@1.0.39": + version "1.0.39" + resolved "https://registry.npmjs.org/@nolyfill/is-core-module/-/is-core-module-1.0.39.tgz" + integrity sha512-nn5ozdjYQpUCZlWGuxcJY/KpxkWQs4DcbMCmKojjyrYDEAGy4Ce19NN4v5MduafTwJlbKc99UA8YhSVqq9yPZA== + "@open-draft/deferred-promise@^2.2.0": version "2.2.0" resolved "https://registry.npmjs.org/@open-draft/deferred-promise/-/deferred-promise-2.2.0.tgz" @@ -870,16 +928,6 @@ "@types/tough-cookie" "*" parse5 "^7.0.0" -"@types/json-schema@^7.0.12": - version "7.0.15" - resolved "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz" - integrity sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA== - -"@types/json5@^0.0.29": - version "0.0.29" - resolved "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz" - integrity sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ== - "@types/keyv@^3.1.1", "@types/keyv@^3.1.4": version "3.1.4" resolved "https://registry.npmjs.org/@types/keyv/-/keyv-3.1.4.tgz" @@ -954,11 +1002,6 @@ dependencies: "@types/node" "*" -"@types/semver@^7.5.0": - version "7.5.6" - resolved "https://registry.npmjs.org/@types/semver/-/semver-7.5.6.tgz" - integrity sha512-dn1l8LaMea/IjDoHNd9J52uBbInB796CDffS6VdIxvqYCPSG0V0DzHp76GpaWnlhg88uYyPbXCDIowa86ybd5A== - "@types/statuses@^2.0.4": version "2.0.5" resolved "https://registry.npmjs.org/@types/statuses/-/statuses-2.0.5.tgz" @@ -990,91 +1033,86 @@ resolved "https://registry.npmjs.org/@types/wrap-ansi/-/wrap-ansi-3.0.0.tgz" integrity sha512-ltIpx+kM7g/MLRZfkbL7EsCEjfzCcScLpkg37eXEtx5kmrAKBkTJwd1GIAjDSL8wTpM6Hzn5YO4pSb91BEwu1g== -"@typescript-eslint/eslint-plugin@^6.14.0": - version "6.19.1" - resolved "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.19.1.tgz" - integrity sha512-roQScUGFruWod9CEyoV5KlCYrubC/fvG8/1zXuT0WTcxX87GnMMmnksMwSg99lo1xiKrBzw2icsJPMAw1OtKxg== +"@typescript-eslint/eslint-plugin@^8.4.0": + version "8.4.0" + resolved "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.4.0.tgz" + integrity sha512-rg8LGdv7ri3oAlenMACk9e+AR4wUV0yrrG+XKsGKOK0EVgeEDqurkXMPILG2836fW4ibokTB5v4b6Z9+GYQDEw== dependencies: - "@eslint-community/regexpp" "^4.5.1" - "@typescript-eslint/scope-manager" "6.19.1" - "@typescript-eslint/type-utils" "6.19.1" - "@typescript-eslint/utils" "6.19.1" - "@typescript-eslint/visitor-keys" "6.19.1" - debug "^4.3.4" + ignore "^5.3.1" graphemer "^1.4.0" - ignore "^5.2.4" + ts-api-utils "^1.3.0" natural-compare "^1.4.0" - semver "^7.5.4" - ts-api-utils "^1.0.1" + "@typescript-eslint/utils" "8.4.0" + "@eslint-community/regexpp" "^4.10.0" + "@typescript-eslint/type-utils" "8.4.0" + "@typescript-eslint/visitor-keys" "8.4.0" + "@typescript-eslint/scope-manager" "8.4.0" -"@typescript-eslint/parser@^6.0.0 || ^6.0.0-alpha", "@typescript-eslint/parser@^6.14.0": - version "6.19.1" - resolved "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.19.1.tgz" - integrity sha512-WEfX22ziAh6pRE9jnbkkLGp/4RhTpffr2ZK5bJ18M8mIfA8A+k97U9ZyaXCEJRlmMHh7R9MJZWXp/r73DzINVQ== +"@typescript-eslint/parser@^8.0.0 || ^8.0.0-alpha.0", "@typescript-eslint/parser@^8.4.0": + version "8.4.0" + resolved "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.4.0.tgz" + integrity sha512-NHgWmKSgJk5K9N16GIhQ4jSobBoJwrmURaLErad0qlLjrpP5bECYg+wxVTGlGZmJbU03jj/dfnb6V9bw+5icsA== dependencies: - "@typescript-eslint/scope-manager" "6.19.1" - "@typescript-eslint/types" "6.19.1" - "@typescript-eslint/typescript-estree" "6.19.1" - "@typescript-eslint/visitor-keys" "6.19.1" debug "^4.3.4" + "@typescript-eslint/types" "8.4.0" + "@typescript-eslint/visitor-keys" "8.4.0" + "@typescript-eslint/scope-manager" "8.4.0" + "@typescript-eslint/typescript-estree" "8.4.0" -"@typescript-eslint/scope-manager@6.19.1": - version "6.19.1" - resolved "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.19.1.tgz" - integrity sha512-4CdXYjKf6/6aKNMSly/BP4iCSOpvMmqtDzRtqFyyAae3z5kkqEjKndR5vDHL8rSuMIIWP8u4Mw4VxLyxZW6D5w== +"@typescript-eslint/scope-manager@8.4.0": + version "8.4.0" + resolved "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.4.0.tgz" + integrity sha512-n2jFxLeY0JmKfUqy3P70rs6vdoPjHK8P/w+zJcV3fk0b0BwRXC/zxRTEnAsgYT7MwdQDt/ZEbtdzdVC+hcpF0A== dependencies: - "@typescript-eslint/types" "6.19.1" - "@typescript-eslint/visitor-keys" "6.19.1" + "@typescript-eslint/types" "8.4.0" + "@typescript-eslint/visitor-keys" "8.4.0" -"@typescript-eslint/type-utils@6.19.1": - version "6.19.1" - resolved "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.19.1.tgz" - integrity sha512-0vdyld3ecfxJuddDjACUvlAeYNrHP/pDeQk2pWBR2ESeEzQhg52DF53AbI9QCBkYE23lgkhLCZNkHn2hEXXYIg== +"@typescript-eslint/type-utils@8.4.0": + version "8.4.0" + resolved "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.4.0.tgz" + integrity sha512-pu2PAmNrl9KX6TtirVOrbLPLwDmASpZhK/XU7WvoKoCUkdtq9zF7qQ7gna0GBZFN0hci0vHaSusiL2WpsQk37A== dependencies: - "@typescript-eslint/typescript-estree" "6.19.1" - "@typescript-eslint/utils" "6.19.1" debug "^4.3.4" - ts-api-utils "^1.0.1" + ts-api-utils "^1.3.0" + "@typescript-eslint/utils" "8.4.0" + "@typescript-eslint/typescript-estree" "8.4.0" -"@typescript-eslint/types@6.19.1": - version "6.19.1" - resolved "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.19.1.tgz" - integrity sha512-6+bk6FEtBhvfYvpHsDgAL3uo4BfvnTnoge5LrrCj2eJN8g3IJdLTD4B/jK3Q6vo4Ql/Hoip9I8aB6fF+6RfDqg== +"@typescript-eslint/types@8.4.0": + version "8.4.0" + resolved "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.4.0.tgz" + integrity sha512-T1RB3KQdskh9t3v/qv7niK6P8yvn7ja1mS7QK7XfRVL6wtZ8/mFs/FHf4fKvTA0rKnqnYxl/uHFNbnEt0phgbw== -"@typescript-eslint/typescript-estree@6.19.1": - version "6.19.1" - resolved "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.19.1.tgz" - integrity sha512-aFdAxuhzBFRWhy+H20nYu19+Km+gFfwNO4TEqyszkMcgBDYQjmPJ61erHxuT2ESJXhlhrO7I5EFIlZ+qGR8oVA== +"@typescript-eslint/typescript-estree@8.4.0": + version "8.4.0" + resolved "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.4.0.tgz" + integrity sha512-kJ2OIP4dQw5gdI4uXsaxUZHRwWAGpREJ9Zq6D5L0BweyOrWsL6Sz0YcAZGWhvKnH7fm1J5YFE1JrQL0c9dd53A== dependencies: - "@typescript-eslint/types" "6.19.1" - "@typescript-eslint/visitor-keys" "6.19.1" debug "^4.3.4" - globby "^11.1.0" + semver "^7.6.0" is-glob "^4.0.3" - minimatch "9.0.3" - semver "^7.5.4" - ts-api-utils "^1.0.1" + fast-glob "^3.3.2" + minimatch "^9.0.4" + ts-api-utils "^1.3.0" + "@typescript-eslint/types" "8.4.0" + "@typescript-eslint/visitor-keys" "8.4.0" -"@typescript-eslint/utils@6.19.1": - version "6.19.1" - resolved "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.19.1.tgz" - integrity sha512-JvjfEZuP5WoMqwh9SPAPDSHSg9FBHHGhjPugSRxu5jMfjvBpq5/sGTD+9M9aQ5sh6iJ8AY/Kk/oUYVEMAPwi7w== +"@typescript-eslint/utils@8.4.0", "@typescript-eslint/utils@^8.1.0": + version "8.4.0" + resolved "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.4.0.tgz" + integrity sha512-swULW8n1IKLjRAgciCkTCafyTHHfwVQFt8DovmaF69sKbOxTSFMmIZaSHjqO9i/RV0wIblaawhzvtva8Nmm7lQ== dependencies: + "@typescript-eslint/types" "8.4.0" "@eslint-community/eslint-utils" "^4.4.0" - "@types/json-schema" "^7.0.12" - "@types/semver" "^7.5.0" - "@typescript-eslint/scope-manager" "6.19.1" - "@typescript-eslint/types" "6.19.1" - "@typescript-eslint/typescript-estree" "6.19.1" - semver "^7.5.4" + "@typescript-eslint/scope-manager" "8.4.0" + "@typescript-eslint/typescript-estree" "8.4.0" -"@typescript-eslint/visitor-keys@6.19.1": - version "6.19.1" - resolved "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.19.1.tgz" - integrity sha512-gkdtIO+xSO/SmI0W68DBg4u1KElmIUo3vXzgHyGPs6cxgB0sa3TlptRAAE0hUY1hM6FcDKEv7aIwiTGm76cXfQ== +"@typescript-eslint/visitor-keys@8.4.0": + version "8.4.0" + resolved "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.4.0.tgz" + integrity sha512-zTQD6WLNTre1hj5wp09nBIDiOc2U5r/qmzo7wxPn4ZgAjHql09EofqhF9WF+fZHzL5aCyaIpPcT2hyxl73kr9A== dependencies: - "@typescript-eslint/types" "6.19.1" - eslint-visitor-keys "^3.4.1" + eslint-visitor-keys "^3.4.3" + "@typescript-eslint/types" "8.4.0" "@ungap/structured-clone@^1.2.0": version "1.2.0" @@ -1160,6 +1198,11 @@ abab@^2.0.6: resolved "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz" integrity sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg== +acorn@^8.12.0: + version "8.12.1" + resolved "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz" + integrity sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg== + acorn-jsx@^5.3.2: version "5.3.2" resolved "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz" @@ -1291,74 +1334,11 @@ argparse@^2.0.1: resolved "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz" integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== -array-buffer-byte-length@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz" - integrity sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A== - dependencies: - call-bind "^1.0.2" - is-array-buffer "^3.0.1" - -array-includes@^3.1.7: - version "3.1.7" - resolved "https://registry.npmjs.org/array-includes/-/array-includes-3.1.7.tgz" - integrity sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ== - 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" - array-union@^2.1.0: version "2.1.0" resolved "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz" integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== -array.prototype.findlastindex@^1.2.3: - version "1.2.3" - resolved "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.3.tgz" - integrity sha512-LzLoiOMAxvy+Gd3BAq3B7VeIgPdo+Q8hthvKtXybMvRV0jrXfJM/t8mw7nNlpEcVlVUnCnM2KSX4XU5HmpodOA== - 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" - -array.prototype.flat@^1.3.2: - version "1.3.2" - resolved "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz" - integrity sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - es-shim-unscopables "^1.0.0" - -array.prototype.flatmap@^1.3.2: - version "1.3.2" - resolved "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz" - integrity sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - es-shim-unscopables "^1.0.0" - -arraybuffer.prototype.slice@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.2.tgz" - integrity sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw== - dependencies: - array-buffer-byte-length "^1.0.0" - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - get-intrinsic "^1.2.1" - is-array-buffer "^3.0.2" - is-shared-array-buffer "^1.0.2" - arrify@^1.0.1: version "1.0.1" resolved "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz" @@ -1391,11 +1371,6 @@ asynckit@^0.4.0: resolved "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz" integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== -available-typed-arrays@^1.0.5: - version "1.0.5" - resolved "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz" - integrity sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw== - balanced-match@^1.0.0: version "1.0.2" resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz" @@ -1523,7 +1498,7 @@ cacheable-request@^7.0.1: normalize-url "^6.0.1" responselike "^2.0.0" -call-bind@^1.0.0, call-bind@^1.0.2, call-bind@^1.0.4, call-bind@^1.0.5: +call-bind@^1.0.0: version "1.0.5" resolved "https://registry.npmjs.org/call-bind/-/call-bind-1.0.5.tgz" integrity sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ== @@ -1878,7 +1853,7 @@ debug@4, debug@^4.3.1, debug@^4.3.2, debug@^4.3.4: dependencies: ms "2.1.2" -debug@^4.1.1, debug@^4.3.5: +debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.4, debug@^4.3.5: version "4.3.6" resolved "https://registry.npmjs.org/debug/-/debug-4.3.6.tgz" integrity sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg== @@ -1949,7 +1924,7 @@ defer-to-connect@^2.0.0: resolved "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz" integrity sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg== -define-data-property@^1.0.1, define-data-property@^1.1.1: +define-data-property@^1.1.1: version "1.1.1" resolved "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.1.tgz" integrity sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ== @@ -1958,15 +1933,6 @@ define-data-property@^1.0.1, define-data-property@^1.1.1: gopd "^1.0.1" has-property-descriptors "^1.0.0" -define-properties@^1.1.3, define-properties@^1.2.0, define-properties@^1.2.1: - version "1.2.1" - resolved "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz" - integrity sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg== - dependencies: - define-data-property "^1.0.1" - has-property-descriptors "^1.0.0" - object-keys "^1.1.1" - del@^6.0.0: version "6.1.1" resolved "https://registry.npmjs.org/del/-/del-6.1.1.tgz" @@ -2001,13 +1967,6 @@ dir-glob@^3.0.1: dependencies: path-type "^4.0.0" -doctrine@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz" - integrity sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw== - dependencies: - esutils "^2.0.2" - doctrine@^3.0.0: version "3.0.0" resolved "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz" @@ -2068,7 +2027,7 @@ end-of-stream@^1.1.0: dependencies: once "^1.4.0" -enhanced-resolve@^5.12.0: +enhanced-resolve@^5.15.0: version "5.15.0" resolved "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz" integrity sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg== @@ -2076,6 +2035,14 @@ enhanced-resolve@^5.12.0: graceful-fs "^4.2.4" tapable "^2.2.0" +enhanced-resolve@^5.17.0: + version "5.17.1" + resolved "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.1.tgz" + integrity sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg== + dependencies: + graceful-fs "^4.2.4" + tapable "^2.2.0" + entities@^4.4.0: version "4.5.0" resolved "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz" @@ -2088,76 +2055,6 @@ error-ex@^1.3.1: dependencies: is-arrayish "^0.2.1" -es-abstract@^1.22.1: - version "1.22.3" - resolved "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.3.tgz" - integrity sha512-eiiY8HQeYfYH2Con2berK+To6GrK2RxbPawDkGq4UiCQQfZHb6wX9qQqkbpPqaxQFcl8d9QzZqo0tGE0VcrdwA== - dependencies: - array-buffer-byte-length "^1.0.0" - arraybuffer.prototype.slice "^1.0.2" - available-typed-arrays "^1.0.5" - call-bind "^1.0.5" - es-set-tostringtag "^2.0.1" - es-to-primitive "^1.2.1" - function.prototype.name "^1.1.6" - get-intrinsic "^1.2.2" - get-symbol-description "^1.0.0" - globalthis "^1.0.3" - gopd "^1.0.1" - has-property-descriptors "^1.0.0" - has-proto "^1.0.1" - has-symbols "^1.0.3" - hasown "^2.0.0" - internal-slot "^1.0.5" - is-array-buffer "^3.0.2" - is-callable "^1.2.7" - is-negative-zero "^2.0.2" - is-regex "^1.1.4" - is-shared-array-buffer "^1.0.2" - is-string "^1.0.7" - is-typed-array "^1.1.12" - is-weakref "^1.0.2" - object-inspect "^1.13.1" - object-keys "^1.1.1" - object.assign "^4.1.4" - regexp.prototype.flags "^1.5.1" - safe-array-concat "^1.0.1" - safe-regex-test "^1.0.0" - string.prototype.trim "^1.2.8" - string.prototype.trimend "^1.0.7" - string.prototype.trimstart "^1.0.7" - typed-array-buffer "^1.0.0" - typed-array-byte-length "^1.0.0" - typed-array-byte-offset "^1.0.0" - typed-array-length "^1.0.4" - unbox-primitive "^1.0.2" - which-typed-array "^1.1.13" - -es-set-tostringtag@^2.0.1: - version "2.0.2" - resolved "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.2.tgz" - integrity sha512-BuDyupZt65P9D2D2vA/zqcI3G5xRsklm5N3xCwuiy+/vKy8i0ifdsQP1sLgO4tZDSCaQUSnmC48khknGMV3D2Q== - dependencies: - get-intrinsic "^1.2.2" - has-tostringtag "^1.0.0" - hasown "^2.0.0" - -es-shim-unscopables@^1.0.0: - version "1.0.2" - resolved "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz" - integrity sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw== - dependencies: - hasown "^2.0.0" - -es-to-primitive@^1.2.1: - version "1.2.1" - resolved "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz" - integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== - dependencies: - is-callable "^1.1.4" - is-date-object "^1.0.1" - is-symbol "^1.0.2" - esbuild@^0.15.12: version "0.15.18" resolved "https://registry.npmjs.org/esbuild/-/esbuild-0.15.18.tgz" @@ -2368,7 +2265,7 @@ escape-string-regexp@^4.0.0: resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz" integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== -eslint@*, eslint@>=4.19.1, eslint@>=5.16.0, eslint@>=7.0.0, "eslint@^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8", "eslint@^6.0.0 || ^7.0.0 || >=8.0.0", "eslint@^7.0.0 || ^8.0.0", eslint@^8.0.0, eslint@^8.55.0: +eslint@*, eslint@>=6.0.0, eslint@>=7.0.0, eslint@>=8, eslint@>=8.23.0, "eslint@^6.0.0 || ^7.0.0 || >=8.0.0", "eslint@^8.57.0 || ^9.0.0": version "8.56.0" resolved "https://registry.npmjs.org/eslint/-/eslint-8.56.0.tgz" integrity sha512-Go19xM6T9puCOWntie1/P997aXxFsOi37JIHRWI514Hc6ZnaHGKY9xFhrU65RT6CcBEzZoGG1e6Nq+DT04ZtZQ== @@ -2412,12 +2309,59 @@ eslint@*, eslint@>=4.19.1, eslint@>=5.16.0, eslint@>=7.0.0, "eslint@^2 || ^3 || strip-ansi "^6.0.1" text-table "^0.2.0" +eslint@^9.0.0, eslint@^9.10.0: + version "9.10.0" + resolved "https://registry.npmjs.org/eslint/-/eslint-9.10.0.tgz" + integrity sha512-Y4D0IgtBZfOcOUAIQTSXBKoNGfY0REGqHJG6+Q81vNippW5YlKjHFj4soMxamKK1NXHUWuBZTLdU3Km+L/pcHw== + dependencies: + "@eslint-community/eslint-utils" "^4.2.0" + "@eslint-community/regexpp" "^4.11.0" + "@eslint/config-array" "^0.18.0" + "@eslint/eslintrc" "^3.1.0" + "@eslint/js" "9.10.0" + "@eslint/plugin-kit" "^0.1.0" + "@humanwhocodes/module-importer" "^1.0.1" + "@humanwhocodes/retry" "^0.3.0" + "@nodelib/fs.walk" "^1.2.8" + ajv "^6.12.4" + chalk "^4.0.0" + cross-spawn "^7.0.2" + debug "^4.3.2" + escape-string-regexp "^4.0.0" + eslint-scope "^8.0.2" + eslint-visitor-keys "^4.0.0" + espree "^10.1.0" + esquery "^1.5.0" + esutils "^2.0.2" + fast-deep-equal "^3.1.3" + file-entry-cache "^8.0.0" + find-up "^5.0.0" + glob-parent "^6.0.2" + ignore "^5.2.0" + imurmurhash "^0.1.4" + is-glob "^4.0.0" + is-path-inside "^3.0.3" + json-stable-stringify-without-jsonify "^1.0.1" + lodash.merge "^4.6.2" + minimatch "^3.1.2" + natural-compare "^1.4.0" + optionator "^0.9.3" + strip-ansi "^6.0.1" + text-table "^0.2.0" + +eslint-compat-utils@^0.5.1: + version "0.5.1" + resolved "https://registry.npmjs.org/eslint-compat-utils/-/eslint-compat-utils-0.5.1.tgz" + integrity sha512-3z3vFexKIEnjHE3zCMRo6fn/e44U7T1khUjg+Hp0ZQMCigh28rALD0nPFBcGZuiLC5rLZa2ubQHDRln09JfU2Q== + dependencies: + semver "^7.5.4" + eslint-config-prettier@^9.1.0: version "9.1.0" resolved "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-9.1.0.tgz" integrity sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw== -eslint-define-config@^2.0.0: +eslint-define-config@^2.1.0: version "2.1.0" resolved "https://registry.npmjs.org/eslint-define-config/-/eslint-define-config-2.1.0.tgz" integrity sha512-QUp6pM9pjKEVannNAbSJNeRuYwW3LshejfyBBpjeMGaJjaDUpVps4C6KVR8R7dWZnD3i0synmrE36znjTkJvdQ== @@ -2431,68 +2375,65 @@ eslint-import-resolver-node@^0.3.9: is-core-module "^2.13.0" resolve "^1.22.4" -eslint-import-resolver-typescript@^3.6.1: - version "3.6.1" - resolved "https://registry.npmjs.org/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-3.6.1.tgz" - integrity sha512-xgdptdoi5W3niYeuQxKmzVDTATvLYqhpwmykwsh7f6HIOStGWEIL9iqZgQDF9u9OEzrRwR8no5q2VT+bjAujTg== +eslint-import-resolver-typescript@^3.6.3: + version "3.6.3" + resolved "https://registry.npmjs.org/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-3.6.3.tgz" + integrity sha512-ud9aw4szY9cCT1EWWdGv1L1XR6hh2PaRWif0j2QjQ0pgTY/69iw+W0Z4qZv5wHahOl8isEr+k/JnyAqNQkLkIA== dependencies: + "@nolyfill/is-core-module" "1.0.39" + debug "^4.3.5" + enhanced-resolve "^5.15.0" + eslint-module-utils "^2.8.1" + fast-glob "^3.3.2" + get-tsconfig "^4.7.5" + is-bun-module "^1.0.2" + is-glob "^4.0.3" + +eslint-module-utils@^2.8.1: + version "2.11.0" + resolved "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.11.0.tgz" + integrity sha512-gbBE5Hitek/oG6MUVj6sFuzEjA/ClzNflVrLovHi/JgLdC7fiN5gLAY1WIPW1a0V5I999MnsrvVrCOGmmVqDBQ== + dependencies: + debug "^3.2.7" + +eslint-plugin-es-x@^7.5.0: + version "7.8.0" + resolved "https://registry.npmjs.org/eslint-plugin-es-x/-/eslint-plugin-es-x-7.8.0.tgz" + integrity sha512-7Ds8+wAAoV3T+LAKeu39Y5BzXCrGKrcISfgKEqTS4BDN8SFEDQd0S43jiQ8vIa3wUKD07qitZdfzlenSi8/0qQ== + dependencies: + eslint-compat-utils "^0.5.1" + "@eslint-community/regexpp" "^4.11.0" + "@eslint-community/eslint-utils" "^4.1.2" + +eslint-plugin-import-x@^4.1.1: + version "4.2.1" + resolved "https://registry.npmjs.org/eslint-plugin-import-x/-/eslint-plugin-import-x-4.2.1.tgz" + integrity sha512-WWi2GedccIJa0zXxx3WDnTgouGQTtdYK1nhXMwywbqqAgB0Ov+p1pYBsWh3VaB0bvBOwLse6OfVII7jZD9xo5Q== + dependencies: + "@typescript-eslint/utils" "^8.1.0" debug "^4.3.4" - enhanced-resolve "^5.12.0" - eslint-module-utils "^2.7.4" - fast-glob "^3.3.1" - get-tsconfig "^4.5.0" - is-core-module "^2.11.0" - is-glob "^4.0.3" - -eslint-module-utils@^2.7.4, eslint-module-utils@^2.8.0: - version "2.8.0" - resolved "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.8.0.tgz" - integrity sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw== - dependencies: - debug "^3.2.7" - -eslint-plugin-es@^3.0.0: - version "3.0.1" - resolved "https://registry.npmjs.org/eslint-plugin-es/-/eslint-plugin-es-3.0.1.tgz" - integrity sha512-GUmAsJaN4Fc7Gbtl8uOBlayo2DqhwWvEzykMHSCZHU3XdJ+NSzzZcVhXh3VxX5icqQ+oQdIEawXX8xkR3mIFmQ== - dependencies: - eslint-utils "^2.0.0" - regexpp "^3.0.0" - -eslint-plugin-import@*, eslint-plugin-import@^2.29.0: - version "2.29.1" - resolved "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.29.1.tgz" - integrity sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw== - dependencies: - array-includes "^3.1.7" - array.prototype.findlastindex "^1.2.3" - array.prototype.flat "^1.3.2" - array.prototype.flatmap "^1.3.2" - debug "^3.2.7" - doctrine "^2.1.0" + doctrine "^3.0.0" eslint-import-resolver-node "^0.3.9" - eslint-module-utils "^2.8.0" - hasown "^2.0.0" - is-core-module "^2.13.1" + get-tsconfig "^4.7.3" is-glob "^4.0.3" - minimatch "^3.1.2" - object.fromentries "^2.0.7" - object.groupby "^1.0.1" - object.values "^1.1.7" - semver "^6.3.1" - tsconfig-paths "^3.15.0" + minimatch "^9.0.3" + semver "^7.6.3" + stable-hash "^0.0.4" + tslib "^2.6.3" -eslint-plugin-node@^11.1.0: - version "11.1.0" - resolved "https://registry.npmjs.org/eslint-plugin-node/-/eslint-plugin-node-11.1.0.tgz" - integrity sha512-oUwtPJ1W0SKD0Tr+wqu92c5xuCeQqB3hSCHasn/ZgjFdA9iDGNkNf2Zi9ztY7X+hNuMib23LNGRm6+uN+KLE3g== +eslint-plugin-n@^17.10.2: + version "17.10.2" + resolved "https://registry.npmjs.org/eslint-plugin-n/-/eslint-plugin-n-17.10.2.tgz" + integrity sha512-e+s4eAf5NtJaxPhTNu3qMO0Iz40WANS93w9LQgYcvuljgvDmWi/a3rh+OrNyMHeng6aOWGJO0rCg5lH4zi8yTw== dependencies: - eslint-plugin-es "^3.0.0" - eslint-utils "^2.0.0" - ignore "^5.1.1" - minimatch "^3.0.4" - resolve "^1.10.1" - semver "^6.1.0" + ignore "^5.2.4" + semver "^7.5.3" + globals "^15.8.0" + minimatch "^9.0.5" + get-tsconfig "^4.7.0" + enhanced-resolve "^5.17.0" + eslint-plugin-es-x "^7.5.0" + "@eslint-community/eslint-utils" "^4.4.0" eslint-scope@^7.2.2: version "7.2.2" @@ -2502,23 +2443,24 @@ eslint-scope@^7.2.2: esrecurse "^4.3.0" estraverse "^5.2.0" -eslint-utils@^2.0.0: - version "2.1.0" - resolved "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz" - integrity sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg== +eslint-scope@^8.0.2: + version "8.0.2" + resolved "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.0.2.tgz" + integrity sha512-6E4xmrTw5wtxnLA5wYL3WDfhZ/1bUBGOXV0zQvVRDOtrR8D0p6W7fs3JweNYhwRYeGvd/1CKX2se0/2s7Q/nJA== dependencies: - eslint-visitor-keys "^1.1.0" - -eslint-visitor-keys@^1.1.0: - version "1.3.0" - resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz" - integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ== + esrecurse "^4.3.0" + estraverse "^5.2.0" eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.1, eslint-visitor-keys@^3.4.3: version "3.4.3" resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz" integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag== +eslint-visitor-keys@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.0.0.tgz" + integrity sha512-OtIRv/2GyiF6o/d8K7MYKKbXrOUBIK6SfkIRM4Z0dY3w+LiQ0vy3F57m0Z71bjbyeiWFiHJ8brqnmE6H6/jEuw== + espree@^9.6.0, espree@^9.6.1: version "9.6.1" resolved "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz" @@ -2528,7 +2470,16 @@ espree@^9.6.0, espree@^9.6.1: acorn-jsx "^5.3.2" eslint-visitor-keys "^3.4.1" -esquery@^1.4.2: +espree@^10.0.1, espree@^10.1.0: + version "10.1.0" + resolved "https://registry.npmjs.org/espree/-/espree-10.1.0.tgz" + integrity sha512-M1M6CpiE6ffoigIOWYO9UDP8TMUw9kqb21tf+08IgDYjCsOvCuDt4jQcZmoYxx+w7zlKw9/N0KXfto+I8/FrXA== + dependencies: + acorn "^8.12.0" + acorn-jsx "^5.3.2" + eslint-visitor-keys "^4.0.0" + +esquery@^1.4.2, esquery@^1.5.0: version "1.5.0" resolved "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz" integrity sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg== @@ -2613,7 +2564,7 @@ fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: resolved "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz" integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== -fast-glob@^3.2.9, fast-glob@^3.3.1: +fast-glob@^3.2.9, fast-glob@^3.3.2: version "3.3.2" resolved "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz" integrity sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow== @@ -2683,6 +2634,13 @@ file-entry-cache@^6.0.1: dependencies: flat-cache "^3.0.4" +file-entry-cache@^8.0.0: + version "8.0.0" + resolved "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz" + integrity sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ== + dependencies: + flat-cache "^4.0.0" + fill-range@^7.0.1: version "7.0.1" resolved "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz" @@ -2715,18 +2673,19 @@ flat-cache@^3.0.4: keyv "^4.5.3" rimraf "^3.0.2" +flat-cache@^4.0.0: + version "4.0.1" + resolved "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz" + integrity sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw== + dependencies: + flatted "^3.2.9" + keyv "^4.5.4" + flatted@^3.2.9: version "3.2.9" resolved "https://registry.npmjs.org/flatted/-/flatted-3.2.9.tgz" integrity sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ== -for-each@^0.3.3: - version "0.3.3" - resolved "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz" - integrity sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw== - dependencies: - is-callable "^1.1.3" - foreground-child@^3.1.0: version "3.3.0" resolved "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.0.tgz" @@ -2776,21 +2735,6 @@ function-bind@^1.1.2: resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz" integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== -function.prototype.name@^1.1.6: - version "1.1.6" - resolved "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz" - integrity sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - functions-have-names "^1.2.3" - -functions-have-names@^1.2.3: - version "1.2.3" - resolved "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz" - integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ== - get-caller-file@^2.0.5: version "2.0.5" resolved "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz" @@ -2801,7 +2745,7 @@ get-func-name@^2.0.1: resolved "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.2.tgz" integrity sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ== -get-intrinsic@^1.0.2, get-intrinsic@^1.1.1, get-intrinsic@^1.1.3, get-intrinsic@^1.2.0, get-intrinsic@^1.2.1, get-intrinsic@^1.2.2: +get-intrinsic@^1.0.2, get-intrinsic@^1.1.3, get-intrinsic@^1.2.1, get-intrinsic@^1.2.2: version "1.2.2" resolved "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.2.tgz" integrity sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA== @@ -2843,18 +2787,10 @@ get-stream@^8.0.1: resolved "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz" integrity sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA== -get-symbol-description@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz" - integrity sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw== - dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.1.1" - -get-tsconfig@^4.5.0: - version "4.7.2" - resolved "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.7.2.tgz" - integrity sha512-wuMsz4leaj5hbGgg4IvDU0bqJagpftG5l5cXIAvo8uZrqn0NJqwtfupTN00VnkQJPcIRrxYrm1Ue24btpCha2A== +get-tsconfig@^4.7.0, get-tsconfig@^4.7.3, get-tsconfig@^4.7.5: + version "4.8.0" + resolved "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.8.0.tgz" + integrity sha512-Pgba6TExTZ0FJAn1qkJAjIeKoDJ3CsI2ChuLohJnZl/tTU8MVrq3b+2t5UOPfRa4RMsorClBjJALkJUMjG1PAw== dependencies: resolve-pkg-maps "^1.0.0" @@ -2938,14 +2874,17 @@ globals@^13.19.0: dependencies: type-fest "^0.20.2" -globalthis@^1.0.3: - version "1.0.3" - resolved "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz" - integrity sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA== - dependencies: - define-properties "^1.1.3" +globals@^14.0.0: + version "14.0.0" + resolved "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz" + integrity sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ== -globby@^11.0.1, globby@^11.1.0: +globals@^15.8.0: + version "15.9.0" + resolved "https://registry.npmjs.org/globals/-/globals-15.9.0.tgz" + integrity sha512-SmSKyLLKFbSr6rptvP8izbyxJL4ILwqO9Jg23UA0sDlGlu58V59D1//I3vlc0KJphVdUR7vMjHIplYnzBxorQA== + +globby@^11.0.1: version "11.1.0" resolved "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz" integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== @@ -3029,11 +2968,6 @@ has-ansi@^2.0.0: dependencies: ansi-regex "^2.0.0" -has-bigints@^1.0.1, has-bigints@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz" - integrity sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ== - has-flag@^3.0.0: version "3.0.0" resolved "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz" @@ -3056,18 +2990,11 @@ has-proto@^1.0.1: resolved "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz" integrity sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg== -has-symbols@^1.0.2, has-symbols@^1.0.3: +has-symbols@^1.0.3: version "1.0.3" resolved "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz" integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== -has-tostringtag@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz" - integrity sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ== - dependencies: - has-symbols "^1.0.2" - has-yarn@^2.1.0: version "2.1.0" resolved "https://registry.npmjs.org/has-yarn/-/has-yarn-2.1.0.tgz" @@ -3172,11 +3099,16 @@ ieee754@^1.2.1: resolved "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz" integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== -ignore@^5.1.1, ignore@^5.2.0, ignore@^5.2.4: +ignore@^5.2.0, ignore@^5.2.4: version "5.3.0" resolved "https://registry.npmjs.org/ignore/-/ignore-5.3.0.tgz" integrity sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg== +ignore@^5.2.0, ignore@^5.3.1: + version "5.3.2" + resolved "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz" + integrity sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g== + ignore-walk@^3.0.3: version "3.0.4" resolved "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.4.tgz" @@ -3297,36 +3229,11 @@ inquirer-autosubmit-prompt@^0.2.0: inquirer "^6.2.1" rxjs "^6.3.3" -internal-slot@^1.0.5: - version "1.0.6" - resolved "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.6.tgz" - integrity sha512-Xj6dv+PsbtwyPpEflsejS+oIZxmMlV44zAhG479uYu89MsjcYOhCFnNyKrkJrihbsiasQyY0afoCl/9BLR65bg== - dependencies: - get-intrinsic "^1.2.2" - hasown "^2.0.0" - side-channel "^1.0.4" - -is-array-buffer@^3.0.1, is-array-buffer@^3.0.2: - version "3.0.2" - resolved "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz" - integrity sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w== - dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.2.0" - is-typed-array "^1.1.10" - is-arrayish@^0.2.1: version "0.2.1" resolved "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz" integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== -is-bigint@^1.0.1: - version "1.0.4" - resolved "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz" - integrity sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg== - dependencies: - has-bigints "^1.0.1" - is-binary-path@~2.1.0: version "2.1.0" resolved "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz" @@ -3334,18 +3241,12 @@ is-binary-path@~2.1.0: dependencies: binary-extensions "^2.0.0" -is-boolean-object@^1.1.0: - version "1.1.2" - resolved "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz" - integrity sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA== +is-bun-module@^1.0.2: + version "1.1.0" + resolved "https://registry.npmjs.org/is-bun-module/-/is-bun-module-1.1.0.tgz" + integrity sha512-4mTAVPlrXpaN3jtF0lsnPCMGnq4+qZjVIKq0HCpfcqf8OC1SM5oATCIAPM5V5FN05qp2NNnFndphmdZS9CV3hA== dependencies: - call-bind "^1.0.2" - has-tostringtag "^1.0.0" - -is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.7: - version "1.2.7" - resolved "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz" - integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== + semver "^7.6.3" is-ci@^2.0.0: version "2.0.0" @@ -3354,20 +3255,13 @@ is-ci@^2.0.0: dependencies: ci-info "^2.0.0" -is-core-module@^2.11.0, is-core-module@^2.13.0, is-core-module@^2.13.1, is-core-module@^2.5.0: +is-core-module@^2.13.0, is-core-module@^2.5.0: version "2.13.1" resolved "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz" integrity sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw== dependencies: hasown "^2.0.0" -is-date-object@^1.0.1: - version "1.0.5" - resolved "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz" - integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ== - dependencies: - has-tostringtag "^1.0.0" - is-docker@^2.0.0: version "2.2.1" resolved "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz" @@ -3428,11 +3322,6 @@ is-interactive@^2.0.0: resolved "https://registry.npmjs.org/is-interactive/-/is-interactive-2.0.0.tgz" integrity sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ== -is-negative-zero@^2.0.2: - version "2.0.2" - resolved "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz" - integrity sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA== - is-node-process@^1.2.0: version "1.2.0" resolved "https://registry.npmjs.org/is-node-process/-/is-node-process-1.2.0.tgz" @@ -3448,13 +3337,6 @@ is-number@^7.0.0: resolved "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz" integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== -is-number-object@^1.0.4: - version "1.0.7" - resolved "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz" - integrity sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ== - dependencies: - has-tostringtag "^1.0.0" - is-obj@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz" @@ -3492,14 +3374,6 @@ is-promise@^2.1.0: resolved "https://registry.npmjs.org/is-promise/-/is-promise-2.2.2.tgz" integrity sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ== -is-regex@^1.1.4: - version "1.1.4" - resolved "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz" - integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== - dependencies: - call-bind "^1.0.2" - has-tostringtag "^1.0.0" - is-scoped@^2.1.0: version "2.1.0" resolved "https://registry.npmjs.org/is-scoped/-/is-scoped-2.1.0.tgz" @@ -3507,13 +3381,6 @@ is-scoped@^2.1.0: dependencies: scoped-regex "^2.0.0" -is-shared-array-buffer@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz" - integrity sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA== - dependencies: - call-bind "^1.0.2" - is-stream@^1.1.0: version "1.1.0" resolved "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz" @@ -3529,27 +3396,6 @@ is-stream@^3.0.0: resolved "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz" integrity sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA== -is-string@^1.0.5, is-string@^1.0.7: - version "1.0.7" - resolved "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz" - integrity sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg== - dependencies: - has-tostringtag "^1.0.0" - -is-symbol@^1.0.2, is-symbol@^1.0.3: - version "1.0.4" - resolved "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz" - integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg== - dependencies: - has-symbols "^1.0.2" - -is-typed-array@^1.1.10, is-typed-array@^1.1.12, is-typed-array@^1.1.9: - version "1.1.12" - resolved "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.12.tgz" - integrity sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg== - dependencies: - which-typed-array "^1.1.11" - is-typedarray@^1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz" @@ -3570,13 +3416,6 @@ is-url-superb@^4.0.0: resolved "https://registry.npmjs.org/is-url-superb/-/is-url-superb-4.0.0.tgz" integrity sha512-GI+WjezhPPcbM+tqE9LnmsY5qqjwHzTvjJ36wxYX5ujNXefSUJ/T17r5bqDV8yLhcgB59KTPNOc9O9cmHTPWsA== -is-weakref@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz" - integrity sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ== - dependencies: - call-bind "^1.0.2" - is-wsl@^2.1.1: version "2.2.0" resolved "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz" @@ -3589,11 +3428,6 @@ is-yarn-global@^0.3.0: resolved "https://registry.npmjs.org/is-yarn-global/-/is-yarn-global-0.3.0.tgz" integrity sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw== -isarray@^2.0.5: - version "2.0.5" - resolved "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz" - integrity sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw== - isexe@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz" @@ -3715,13 +3549,6 @@ json-stable-stringify-without-jsonify@^1.0.1: resolved "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz" integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw== -json5@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz" - integrity sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA== - dependencies: - minimist "^1.2.0" - keyv@^3.0.0: version "3.1.0" resolved "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz" @@ -3729,7 +3556,7 @@ keyv@^3.0.0: dependencies: json-buffer "3.0.0" -keyv@^4.0.0, keyv@^4.5.3: +keyv@^4.0.0, keyv@^4.5.3, keyv@^4.5.4: version "4.5.4" resolved "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz" integrity sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw== @@ -4100,21 +3927,14 @@ minimatch@^5.0.1: dependencies: brace-expansion "^2.0.1" -minimatch@9.0.3: - version "9.0.3" - resolved "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz" - integrity sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg== - dependencies: - brace-expansion "^2.0.1" - -minimatch@^9.0.4: +minimatch@^9.0.3, minimatch@^9.0.4, minimatch@^9.0.5: version "9.0.5" resolved "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz" integrity sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow== dependencies: brace-expansion "^2.0.1" -minimist@^1.2.0, minimist@^1.2.6: +minimist@^1.2.0: version "1.2.8" resolved "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz" integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== @@ -4373,54 +4193,11 @@ object-assign@^4.1.0: resolved "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz" integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== -object-inspect@^1.13.1, object-inspect@^1.9.0: +object-inspect@^1.9.0: version "1.13.1" resolved "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz" integrity sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ== -object-keys@^1.1.1: - version "1.1.1" - resolved "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz" - integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== - -object.assign@^4.1.4: - version "4.1.5" - resolved "https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz" - integrity sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ== - dependencies: - call-bind "^1.0.5" - define-properties "^1.2.1" - has-symbols "^1.0.3" - object-keys "^1.1.1" - -object.fromentries@^2.0.7: - version "2.0.7" - resolved "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.7.tgz" - integrity sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - -object.groupby@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.1.tgz" - integrity sha512-HqaQtqLnp/8Bn4GL16cj+CUYbnpe1bh0TtEaWvybszDG4tgxCJuRpV8VGuvNaI1fAnI4lUJzDG55MXcOH4JZcQ== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - get-intrinsic "^1.2.1" - -object.values@^1.1.7: - version "1.1.7" - resolved "https://registry.npmjs.org/object.values/-/object.values-1.1.7.tgz" - integrity sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - once@^1.3.0, once@^1.3.1, once@^1.4.0: version "1.4.0" resolved "https://registry.npmjs.org/once/-/once-1.4.0.tgz" @@ -4890,20 +4667,6 @@ regenerate-unicode-properties@^10.1.0: dependencies: regenerate "^1.4.2" -regexp.prototype.flags@^1.5.1: - version "1.5.1" - resolved "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.1.tgz" - integrity sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - set-function-name "^2.0.0" - -regexpp@^3.0.0: - version "3.2.0" - resolved "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz" - integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg== - regexpu-core@^5.3.2: version "5.3.2" resolved "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz" @@ -4947,7 +4710,7 @@ requires-port@^1.0.0: resolved "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz" integrity sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ== -resolve@^1.10.0, resolve@^1.10.1, resolve@^1.22.4, resolve@^1.22.8: +resolve@^1.10.0, resolve@^1.22.4, resolve@^1.22.8: version "1.22.8" resolved "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz" integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw== @@ -5109,30 +4872,11 @@ sade@^1.8.1: dependencies: mri "^1.1.0" -safe-array-concat@^1.0.1: - version "1.1.0" - resolved "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.0.tgz" - integrity sha512-ZdQ0Jeb9Ofti4hbt5lX3T2JcAamT9hfzYU1MNB+z/jaEbB6wfFfPIR/zEORmZqobkCCJhSjodobH6WHNmJ97dg== - dependencies: - call-bind "^1.0.5" - get-intrinsic "^1.2.2" - has-symbols "^1.0.3" - isarray "^2.0.5" - safe-buffer@~5.2.0: version "5.2.1" resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz" integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== -safe-regex-test@^1.0.0: - version "1.0.2" - resolved "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.2.tgz" - integrity sha512-83S9w6eFq12BBIJYvjMux6/dkirb8+4zJRA9cxNBVb7Wq5fJBW+Xze48WqR8pxua7bDuAaaAxtVVd4Idjp1dBQ== - dependencies: - call-bind "^1.0.5" - get-intrinsic "^1.2.2" - is-regex "^1.1.4" - "safer-buffer@>= 2.1.2 < 3": version "2.1.2" resolved "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz" @@ -5163,18 +4907,23 @@ selfsigned@^2.0.1: resolved "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz" integrity sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g== -semver@^6.0.0, semver@^6.1.0, semver@^6.2.0, semver@^6.3.0, semver@^6.3.1: +semver@^6.0.0, semver@^6.2.0, semver@^6.3.0: version "6.3.1" resolved "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz" integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== -semver@^7.3.4, semver@^7.3.8, semver@^7.5.3, semver@^7.5.4: +semver@^7.3.4, semver@^7.3.8, semver@^7.5.3: version "7.5.4" resolved "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz" integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA== dependencies: lru-cache "^6.0.0" +semver@^7.5.4, semver@^7.6.0, semver@^7.6.3: + version "7.6.3" + resolved "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz" + integrity sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A== + semver-diff@^3.1.1: version "3.1.1" resolved "https://registry.npmjs.org/semver-diff/-/semver-diff-3.1.1.tgz" @@ -5193,15 +4942,6 @@ set-function-length@^1.1.1: gopd "^1.0.1" has-property-descriptors "^1.0.1" -set-function-name@^2.0.0: - version "2.0.1" - resolved "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.1.tgz" - integrity sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA== - dependencies: - define-data-property "^1.0.1" - functions-have-names "^1.2.3" - has-property-descriptors "^1.0.0" - shebang-command@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz" @@ -5309,6 +5049,11 @@ split@^1.0.1: dependencies: through "2" +stable-hash@^0.0.4: + version "0.0.4" + resolved "https://registry.npmjs.org/stable-hash/-/stable-hash-0.0.4.tgz" + integrity sha512-LjdcbuBeLcdETCrPn9i8AYAZ1eCtu4ECAWtP7UleOiZ9LzVxRzzUZEoZ8zB24nhkQnDWyET0I+3sWokSDS3E7g== + stackback@0.0.2: version "0.0.2" resolved "https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz" @@ -5384,33 +5129,6 @@ string-width@^5.0.1, string-width@^5.1.2: emoji-regex "^9.2.2" eastasianwidth "^0.2.0" -string.prototype.trim@^1.2.8: - version "1.2.8" - resolved "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.8.tgz" - integrity sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - -string.prototype.trimend@^1.0.7: - version "1.0.7" - resolved "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.7.tgz" - integrity sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - -string.prototype.trimstart@^1.0.7: - version "1.0.7" - resolved "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.7.tgz" - integrity sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - string_decoder@^1.1.1: version "1.3.0" resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz" @@ -5453,11 +5171,6 @@ strip-ansi@^7.0.1: dependencies: ansi-regex "^6.0.1" -strip-bom@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz" - integrity sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA== - strip-final-newline@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz" @@ -5669,20 +5382,10 @@ trim-newlines@^3.0.0: resolved "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz" integrity sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw== -ts-api-utils@^1.0.1: - version "1.0.3" - resolved "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.0.3.tgz" - integrity sha512-wNMeqtMz5NtwpT/UZGY5alT+VoKdSsOOP/kqHFcUW1P/VRhH2wJ48+DN2WwUliNbQ976ETwDL0Ifd2VVvgonvg== - -tsconfig-paths@^3.15.0: - version "3.15.0" - resolved "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz" - integrity sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg== - dependencies: - "@types/json5" "^0.0.29" - json5 "^1.0.2" - minimist "^1.2.6" - strip-bom "^3.0.0" +ts-api-utils@^1.3.0: + version "1.3.0" + resolved "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.3.0.tgz" + integrity sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ== tslib@^1.9.0: version "1.14.1" @@ -5694,6 +5397,11 @@ tslib@^2.2.0: resolved "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz" integrity sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q== +tslib@^2.6.3: + version "2.7.0" + resolved "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz" + integrity sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA== + type-check@^0.4.0: version "0.4.0" resolved "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz" @@ -5741,45 +5449,6 @@ type-fest@^4.9.0: resolved "https://registry.npmjs.org/type-fest/-/type-fest-4.18.3.tgz" integrity sha512-Q08/0IrpvM+NMY9PA2rti9Jb+JejTddwmwmVQGskAlhtcrw1wsRzoR6ode6mR+OAabNa75w/dxedSUY2mlphaQ== -typed-array-buffer@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.0.tgz" - integrity sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw== - dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.2.1" - is-typed-array "^1.1.10" - -typed-array-byte-length@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.0.tgz" - integrity sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA== - dependencies: - call-bind "^1.0.2" - for-each "^0.3.3" - has-proto "^1.0.1" - is-typed-array "^1.1.10" - -typed-array-byte-offset@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.0.tgz" - integrity sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg== - dependencies: - available-typed-arrays "^1.0.5" - call-bind "^1.0.2" - for-each "^0.3.3" - has-proto "^1.0.1" - is-typed-array "^1.1.10" - -typed-array-length@^1.0.4: - version "1.0.4" - resolved "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz" - integrity sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng== - dependencies: - call-bind "^1.0.2" - for-each "^0.3.3" - is-typed-array "^1.1.9" - typedarray-to-buffer@^3.1.5: version "3.1.5" resolved "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz" @@ -5792,16 +5461,6 @@ typescript@>=4.2.0, typescript@^5.0.0, typescript@^5.3.3: resolved "https://registry.npmjs.org/typescript/-/typescript-5.3.3.tgz" integrity sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw== -unbox-primitive@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz" - integrity sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw== - dependencies: - call-bind "^1.0.2" - has-bigints "^1.0.2" - has-symbols "^1.0.3" - which-boxed-primitive "^1.0.2" - undici@^5.28.2: version "5.28.2" resolved "https://registry.npmjs.org/undici/-/undici-5.28.2.tgz" @@ -6023,28 +5682,6 @@ which@^2.0.1: dependencies: isexe "^2.0.0" -which-boxed-primitive@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz" - integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg== - dependencies: - is-bigint "^1.0.1" - is-boolean-object "^1.1.0" - is-number-object "^1.0.4" - is-string "^1.0.5" - is-symbol "^1.0.3" - -which-typed-array@^1.1.11, which-typed-array@^1.1.13: - version "1.1.13" - resolved "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.13.tgz" - integrity sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow== - dependencies: - available-typed-arrays "^1.0.5" - call-bind "^1.0.4" - for-each "^0.3.3" - gopd "^1.0.1" - has-tostringtag "^1.0.0" - why-is-node-running@^2.3.0: version "2.3.0" resolved "https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.3.0.tgz"