diff --git a/.eslintrc.cjs b/.eslintrc.cjs index c8b462f..a611648 100644 --- a/.eslintrc.cjs +++ b/.eslintrc.cjs @@ -7,35 +7,7 @@ module.exports = { sourceType: 'module', }, - rules: { - // This makes integration tests easier to read by allowing setup code and - // assertions to be grouped together better - 'padding-line-between-statements': [ - 'error', - { - blankLine: 'always', - prev: 'directive', - next: '*', - }, - { - blankLine: 'any', - prev: 'directive', - next: 'directive', - }, - { - blankLine: 'always', - prev: 'multiline-block-like', - next: '*', - }, - { - blankLine: 'always', - prev: '*', - next: 'multiline-block-like', - }, - ], - // It's common for scripts to access `process.env` - 'node/no-process-env': 'off', - }, + rules: {}, overrides: [ { diff --git a/babel.config.cjs b/babel.config.cjs index e0d092a..3593762 100644 --- a/babel.config.cjs +++ b/babel.config.cjs @@ -4,7 +4,7 @@ module.exports = { env: { test: { presets: ['@babel/preset-env', '@babel/preset-typescript'], - plugins: ['@babel/plugin-transform-modules-commonjs'] - } - } + plugins: ['@babel/plugin-transform-modules-commonjs'], + }, + }, }; diff --git a/eslint.config.mjs b/eslint.config.mjs new file mode 100644 index 0000000..8d394fd --- /dev/null +++ b/eslint.config.mjs @@ -0,0 +1,76 @@ +import base, { createConfig } from '@metamask/eslint-config'; +import jest from '@metamask/eslint-config-jest'; +import nodejs from '@metamask/eslint-config-nodejs'; +import typescript from '@metamask/eslint-config-typescript'; + +const config = createConfig([ + { + ignores: ['dist/', 'docs/', '.yarn/'], + }, + + { + extends: [base, nodejs], + + languageOptions: { + sourceType: 'module', + parserOptions: { + tsconfigRootDir: import.meta.dirname, + project: ['./tsconfig.json'], + }, + }, + + settings: { + 'import-x/extensions': ['.js', '.mjs'], + }, + + rules: { + // This makes integration tests easier to read by allowing setup code and + // assertions to be grouped together better + 'padding-line-between-statements': [ + 'error', + { + blankLine: 'always', + prev: 'directive', + next: '*', + }, + { + blankLine: 'any', + prev: 'directive', + next: 'directive', + }, + { + blankLine: 'always', + prev: 'multiline-block-like', + next: '*', + }, + { + blankLine: 'always', + prev: '*', + next: 'multiline-block-like', + }, + ], + // It's common for scripts to access `process.env` + 'node/no-process-env': 'off', + }, + }, + + { + files: ['**/*.ts'], + extends: typescript, + }, + + { + files: ['**/*.js', '**/*.cjs'], + + languageOptions: { + sourceType: 'script', + }, + }, + + { + files: ['**/*.test.ts', '**/*.test.js'], + extends: [jest, nodejs], + }, +]); + +export default config; diff --git a/jest.config.cjs b/jest.config.cjs index 44fbec7..dc15c8c 100644 --- a/jest.config.cjs +++ b/jest.config.cjs @@ -217,7 +217,7 @@ module.exports = { // A map from regular expressions to paths to transformers transform: { - "\\.[jt]sx?$": "babel-jest" + '\\.[jt]sx?$': 'babel-jest', }, // An array of regexp pattern strings that are matched against all source file paths, matched files will skip transformation diff --git a/package.json b/package.json index caf575d..58dd624 100644 --- a/package.json +++ b/package.json @@ -17,7 +17,7 @@ "build": "tsc --project tsconfig.build.json", "build:clean": "rimraf dist && yarn build", "lint": "yarn lint:eslint && yarn lint:misc --check", - "lint:eslint": "eslint . --cache --ext js,ts", + "lint:eslint": "eslint . --cache", "lint:fix": "yarn lint:eslint --fix && yarn lint:misc --write", "lint:misc": "prettier '**/*.json' '**/*.md' '!CHANGELOG.md' '**/*.yml' '!.yarnrc.yml' --ignore-path .gitignore --no-error-on-unmatched-pattern", "prepack": "./scripts/prepack.sh", @@ -43,10 +43,10 @@ "@babel/preset-env": "^7.23.5", "@babel/preset-typescript": "^7.23.3", "@lavamoat/allow-scripts": "^3.1.0", - "@metamask/eslint-config": "^10.0.0", - "@metamask/eslint-config-jest": "^10.0.0", - "@metamask/eslint-config-nodejs": "^10.0.0", - "@metamask/eslint-config-typescript": "^10.0.0", + "@metamask/eslint-config": "^14.0.0", + "@metamask/eslint-config-jest": "^14.0.0", + "@metamask/eslint-config-nodejs": "^14.0.0", + "@metamask/eslint-config-typescript": "^14.0.0", "@types/debug": "^4.1.7", "@types/jest": "^29.5.10", "@types/jest-when": "^3.5.2", @@ -56,27 +56,31 @@ "@types/validate-npm-package-name": "^4.0.2", "@types/which": "^3.0.0", "@types/yargs": "^17.0.10", - "@typescript-eslint/eslint-plugin": "^5.62.0", - "@typescript-eslint/parser": "^5.62.0", + "@typescript-eslint/eslint-plugin": "^8.25.0", + "@typescript-eslint/parser": "^8.25.0", "babel-jest": "^29.7.0", "deepmerge": "^4.2.2", - "eslint": "^8.27.0", + "eslint": "^9.21.0", "eslint-config-prettier": "^9.1.0", - "eslint-plugin-import": "^2.26.0", - "eslint-plugin-jest": "^26.9.0", - "eslint-plugin-jsdoc": "^39.6.2", + "eslint-import-resolver-typescript": "^3.8.3", + "eslint-plugin-import-x": "^4.6.1", + "eslint-plugin-jest": "^28.11.0", + "eslint-plugin-jsdoc": "^50.6.3", + "eslint-plugin-n": "^17.15.1", "eslint-plugin-node": "^11.1.0", - "eslint-plugin-prettier": "^5.2.1", + "eslint-plugin-prettier": "^5.2.3", + "eslint-plugin-promise": "^7.2.1", "jest": "^29.7.0", "jest-it-up": "^3.0.0", "jest-when": "^3.5.2", "nanoid": "^3.3.4", - "prettier": "^3.3.3", - "prettier-plugin-packagejson": "^2.5.2", + "prettier": "^3.5.2", + "prettier-plugin-packagejson": "^2.5.8", "rimraf": "^4.0.5", "stdio-mock": "^1.2.0", "tsx": "^4.6.1", - "typescript": "~5.1.6" + "typescript": "~5.1.6", + "typescript-eslint": "^8.25.0" }, "peerDependencies": { "prettier": ">=3.0.0" diff --git a/src/command-line-arguments.ts b/src/command-line-arguments.ts index 028f98e..b0c48ed 100644 --- a/src/command-line-arguments.ts +++ b/src/command-line-arguments.ts @@ -1,5 +1,5 @@ -import yargs from 'yargs/yargs'; import { hideBin } from 'yargs/helpers'; +import yargs from 'yargs/yargs'; export type CommandLineArguments = { projectDirectory: string; diff --git a/src/editor.test.ts b/src/editor.test.ts index 70b8a95..177d352 100644 --- a/src/editor.test.ts +++ b/src/editor.test.ts @@ -1,4 +1,5 @@ import { when } from 'jest-when'; + import { determineEditor } from './editor.js'; import * as envModule from './env.js'; import * as miscUtils from './misc-utils.js'; diff --git a/src/editor.ts b/src/editor.ts index ba1b376..a642eb5 100644 --- a/src/editor.ts +++ b/src/editor.ts @@ -4,8 +4,9 @@ import { debug, resolveExecutable } from './misc-utils.js'; /** * Information about the editor present on the user's computer. * - * @property path - The path to the executable representing the editor. - * @property args - Command-line arguments to pass to the executable when + * path - The path to the executable representing the editor. + * + * args - Command-line arguments to pass to the executable when * calling it. */ export type Editor = { diff --git a/src/fs.test.ts b/src/fs.test.ts index 474a603..ab712e0 100644 --- a/src/fs.test.ts +++ b/src/fs.test.ts @@ -1,9 +1,9 @@ +import * as actionUtils from '@metamask/action-utils'; import fs from 'fs'; +import { when } from 'jest-when'; import path from 'path'; import { rimraf } from 'rimraf'; -import { when } from 'jest-when'; -import * as actionUtils from '@metamask/action-utils'; -import { withSandbox } from '../tests/helpers.js'; + import { readFile, writeFile, @@ -13,6 +13,7 @@ import { ensureDirectoryPathExists, removeFile, } from './fs.js'; +import { withSandbox } from '../tests/helpers.js'; jest.mock('@metamask/action-utils'); diff --git a/src/fs.ts b/src/fs.ts index c9afd13..793beda 100644 --- a/src/fs.ts +++ b/src/fs.ts @@ -1,8 +1,9 @@ -import fs from 'fs'; import { readJsonObjectFile as underlyingReadJsonObjectFile, writeJsonFile as underlyingWriteJsonFile, } from '@metamask/action-utils'; +import fs from 'fs'; + import { wrapError, isErrorWithCode } from './misc-utils.js'; /** diff --git a/src/initial-parameters.test.ts b/src/initial-parameters.test.ts index 9f4299c..f1f1e75 100644 --- a/src/initial-parameters.test.ts +++ b/src/initial-parameters.test.ts @@ -1,15 +1,16 @@ +import { when } from 'jest-when'; import os from 'os'; import path from 'path'; -import { when } from 'jest-when'; + +import * as commandLineArgumentsModule from './command-line-arguments.js'; +import * as envModule from './env.js'; +import { determineInitialParameters } from './initial-parameters.js'; +import * as projectModule from './project.js'; import { buildMockProject, buildMockPackage, createNoopWriteStream, } from '../tests/unit/helpers.js'; -import { determineInitialParameters } from './initial-parameters.js'; -import * as commandLineArgumentsModule from './command-line-arguments.js'; -import * as envModule from './env.js'; -import * as projectModule from './project.js'; jest.mock('./command-line-arguments'); jest.mock('./env'); diff --git a/src/initial-parameters.ts b/src/initial-parameters.ts index 1131180..a5df7c4 100644 --- a/src/initial-parameters.ts +++ b/src/initial-parameters.ts @@ -1,8 +1,10 @@ import os from 'os'; import path from 'path'; + import { readCommandLineArguments } from './command-line-arguments.js'; -import { WriteStreamLike } from './fs.js'; -import { readProject, Project } from './project.js'; +import type { WriteStreamLike } from './fs.js'; +import type { Project } from './project.js'; +import { readProject } from './project.js'; /** * The type of release being created as determined by the parent release. diff --git a/src/main.test.ts b/src/main.test.ts index 485b8ec..040838d 100644 --- a/src/main.test.ts +++ b/src/main.test.ts @@ -1,8 +1,9 @@ import fs from 'fs'; -import { buildMockProject } from '../tests/unit/helpers.js'; -import { main } from './main.js'; + import * as initialParametersModule from './initial-parameters.js'; +import { main } from './main.js'; import * as monorepoWorkflowOperations from './monorepo-workflow-operations.js'; +import { buildMockProject } from '../tests/unit/helpers.js'; jest.mock('./initial-parameters'); jest.mock('./monorepo-workflow-operations'); diff --git a/src/main.ts b/src/main.ts index 1b50f67..8c01673 100644 --- a/src/main.ts +++ b/src/main.ts @@ -1,4 +1,5 @@ import type { WriteStream } from 'fs'; + import { determineInitialParameters } from './initial-parameters.js'; import { followMonorepoWorkflow } from './monorepo-workflow-operations.js'; diff --git a/src/misc-utils.test.ts b/src/misc-utils.test.ts index be297b8..5d706b3 100644 --- a/src/misc-utils.test.ts +++ b/src/misc-utils.test.ts @@ -1,5 +1,6 @@ -import * as whichModule from 'which'; import * as execaModule from 'execa'; +import * as whichModule from 'which'; + import { isErrorWithCode, isErrorWithMessage, diff --git a/src/misc-utils.ts b/src/misc-utils.ts index 4cd32c2..afc624b 100644 --- a/src/misc-utils.ts +++ b/src/misc-utils.ts @@ -1,8 +1,9 @@ -import which from 'which'; -import { execa, Options } from 'execa'; +import { isObject } from '@metamask/utils'; import createDebug from 'debug'; +import type { Options } from 'execa'; +import { execa } from 'execa'; import { ErrorWithCause } from 'pony-cause'; -import { isObject } from '@metamask/utils'; +import which from 'which'; export { isTruthyString } from '@metamask/action-utils'; export { hasProperty, isNullOrUndefined } from '@metamask/utils'; diff --git a/src/monorepo-workflow-operations.test.ts b/src/monorepo-workflow-operations.test.ts index f63691d..f215480 100644 --- a/src/monorepo-workflow-operations.test.ts +++ b/src/monorepo-workflow-operations.test.ts @@ -1,19 +1,22 @@ import fs from 'fs'; -import path from 'path'; import { when } from 'jest-when'; +import path from 'path'; import { MockWritable } from 'stdio-mock'; -import { withSandbox, Sandbox, isErrorWithCode } from '../tests/helpers'; -import { buildMockProject, Require } from '../tests/unit/helpers'; -import { followMonorepoWorkflow } from './monorepo-workflow-operations.js'; + import * as editorModule from './editor.js'; import type { Editor } from './editor.js'; -import * as releaseSpecificationModule from './release-specification.js'; -import type { ReleaseSpecification } from './release-specification.js'; +import { followMonorepoWorkflow } from './monorepo-workflow-operations.js'; import * as releasePlanModule from './release-plan.js'; import type { ReleasePlan } from './release-plan.js'; +import * as releaseSpecificationModule from './release-specification.js'; +import type { ReleaseSpecification } from './release-specification.js'; import * as repoModule from './repo.js'; -import * as yarnCommands from './yarn-commands.js'; import * as workflowOperations from './workflow-operations.js'; +import * as yarnCommands from './yarn-commands.js'; +import { withSandbox, isErrorWithCode } from '../tests/helpers'; +import type { Sandbox } from '../tests/helpers'; +import { buildMockProject } from '../tests/unit/helpers'; +import type { Require } from '../tests/unit/helpers'; jest.mock('./editor'); jest.mock('./release-plan'); diff --git a/src/monorepo-workflow-operations.ts b/src/monorepo-workflow-operations.ts index ff8a017..2c3e750 100644 --- a/src/monorepo-workflow-operations.ts +++ b/src/monorepo-workflow-operations.ts @@ -1,25 +1,26 @@ import type { WriteStream } from 'fs'; import path from 'path'; + +import { determineEditor } from './editor.js'; import { ensureDirectoryPathExists, fileExists, removeFile, writeFile, } from './fs.js'; -import { determineEditor } from './editor.js'; -import { ReleaseType } from './initial-parameters.js'; +import type { ReleaseType } from './initial-parameters.js'; +import type { Project } from './project.js'; import { - Project, updateChangelogsForChangedPackages, restoreChangelogsForSkippedPackages, } from './project.js'; import { planRelease, executeReleasePlan } from './release-plan.js'; -import { commitAllChanges } from './repo.js'; import { generateReleaseSpecificationTemplateForMonorepo, waitForUserToEditReleaseSpecification, validateReleaseSpecification, } from './release-specification.js'; +import { commitAllChanges } from './repo.js'; import { createReleaseBranch } from './workflow-operations.js'; import { deduplicateDependencies, diff --git a/src/package-manifest.test.ts b/src/package-manifest.test.ts index 08c02cc..3c0afd8 100644 --- a/src/package-manifest.test.ts +++ b/src/package-manifest.test.ts @@ -1,8 +1,9 @@ import fs from 'fs'; import path from 'path'; import { SemVer } from 'semver'; -import { withSandbox } from '../tests/helpers.js'; + import { readPackageManifest } from './package-manifest.js'; +import { withSandbox } from '../tests/helpers.js'; describe('package-manifest', () => { describe('readPackageManifest', () => { diff --git a/src/package-manifest.ts b/src/package-manifest.ts index eea83e5..195f13a 100644 --- a/src/package-manifest.ts +++ b/src/package-manifest.ts @@ -1,10 +1,11 @@ -import path from 'path'; import { ManifestFieldNames as PackageManifestFieldNames, ManifestDependencyFieldNames as PackageManifestDependenciesFieldNames, } from '@metamask/action-utils'; import { isPlainObject } from '@metamask/utils'; +import path from 'path'; import validateNPMPackageName from 'validate-npm-package-name'; + import { readJsonObjectFile } from './fs.js'; import { isTruthyString } from './misc-utils.js'; import { semver, SemVer } from './semver.js'; @@ -19,11 +20,15 @@ export type UnvalidatedPackageManifest = Readonly<Record<string, any>>; /** * A type-checked representation of the data in a package's `package.json`. * - * @property name - The name of the package. - * @property version - The version of the package. - * @property private - Whether the package is private. - * @property workspaces - Paths to subpackages within the package. - * @property bundledDependencies - The set of packages that are expected to be + * name - The name of the package. + * + * version - The version of the package. + * + * private - Whether the package is private. + * + * workspaces - Paths to subpackages within the package. + * + * bundledDependencies - The set of packages that are expected to be * bundled when publishing the package. */ export type ValidatedPackageManifest = { diff --git a/src/package.test.ts b/src/package.test.ts index 6e972da..c097ec3 100644 --- a/src/package.test.ts +++ b/src/package.test.ts @@ -1,16 +1,12 @@ +import * as autoChangelog from '@metamask/auto-changelog'; import fs from 'fs'; -import path from 'path'; import { when } from 'jest-when'; -import * as autoChangelog from '@metamask/auto-changelog'; +import path from 'path'; import { SemVer } from 'semver'; import { MockWritable } from 'stdio-mock'; -import { buildChangelog, withSandbox } from '../tests/helpers.js'; -import { - buildMockPackage, - buildMockProject, - buildMockManifest, - createNoopWriteStream, -} from '../tests/unit/helpers.js'; + +import * as fsModule from './fs.js'; +import * as packageManifestModule from './package-manifest.js'; import { formatChangelog, readMonorepoRootPackage, @@ -18,9 +14,14 @@ import { updatePackage, updatePackageChangelog, } from './package.js'; -import * as fsModule from './fs.js'; -import * as packageManifestModule from './package-manifest.js'; import * as repoModule from './repo.js'; +import { buildChangelog, withSandbox } from '../tests/helpers.js'; +import { + buildMockPackage, + buildMockProject, + buildMockManifest, + createNoopWriteStream, +} from '../tests/unit/helpers.js'; jest.mock('./package-manifest'); jest.mock('./repo'); diff --git a/src/package.ts b/src/package.ts index 15f5f52..5466156 100644 --- a/src/package.ts +++ b/src/package.ts @@ -1,20 +1,23 @@ -import fs, { WriteStream } from 'fs'; -import path from 'path'; -import { format } from 'util'; import { parseChangelog, updateChangelog } from '@metamask/auto-changelog'; -import { format as formatPrettier } from 'prettier/standalone'; +import type { WriteStream } from 'fs'; +import fs from 'fs'; +import path from 'path'; import * as markdown from 'prettier/plugins/markdown'; -import { WriteStreamLike, readFile, writeFile, writeJsonFile } from './fs.js'; +import { format as formatPrettier } from 'prettier/standalone'; +import { format } from 'util'; + +import type { WriteStreamLike } from './fs.js'; +import { readFile, writeFile, writeJsonFile } from './fs.js'; import { isErrorWithCode } from './misc-utils.js'; -import { - readPackageManifest, +import type { UnvalidatedPackageManifest, ValidatedPackageManifest, } from './package-manifest.js'; -import { Project } from './project.js'; -import { PackageReleasePlan } from './release-plan.js'; +import { readPackageManifest } from './package-manifest.js'; +import type { Project } from './project.js'; +import type { PackageReleasePlan } from './release-plan.js'; import { hasChangesInDirectorySinceGitTag } from './repo.js'; -import { SemVer } from './semver.js'; +import type { SemVer } from './semver.js'; const MANIFEST_FILE_NAME = 'package.json'; const CHANGELOG_FILE_NAME = 'CHANGELOG.md'; @@ -22,11 +25,14 @@ const CHANGELOG_FILE_NAME = 'CHANGELOG.md'; /** * Information about a package within a project. * - * @property directoryPath - The path to the directory where the package is + * directoryPath - The path to the directory where the package is * located. - * @property manifestPath - The path to the manifest file. - * @property manifest - The data extracted from the manifest. - * @property changelogPath - The path to the changelog file (which may or may + * + * manifestPath - The path to the manifest file. + * + * manifest - The data extracted from the manifest. + * + * changelogPath - The path to the changelog file (which may or may * not exist). */ export type Package = { diff --git a/src/project.test.ts b/src/project.test.ts index 517a8ea..d611147 100644 --- a/src/project.test.ts +++ b/src/project.test.ts @@ -1,23 +1,24 @@ +import * as actionUtils from '@metamask/action-utils'; import { mkdir } from 'fs/promises'; -import path from 'path'; import { when } from 'jest-when'; +import path from 'path'; import { SemVer } from 'semver'; -import * as actionUtils from '@metamask/action-utils'; -import { withSandbox } from '../tests/helpers.js'; -import { - buildMockPackage, - buildMockProject, - createNoopWriteStream, -} from '../tests/unit/helpers.js'; + +import * as fs from './fs.js'; +import * as packageModule from './package.js'; import { readProject, restoreChangelogsForSkippedPackages, updateChangelogsForChangedPackages, } from './project.js'; -import * as packageModule from './package.js'; -import * as repoModule from './repo.js'; -import * as fs from './fs.js'; import { IncrementableVersionParts } from './release-specification.js'; +import * as repoModule from './repo.js'; +import { withSandbox } from '../tests/helpers.js'; +import { + buildMockPackage, + buildMockProject, + createNoopWriteStream, +} from '../tests/unit/helpers.js'; jest.mock('./package'); jest.mock('./repo'); diff --git a/src/project.ts b/src/project.ts index 0617256..b1b239e 100644 --- a/src/project.ts +++ b/src/project.ts @@ -1,26 +1,29 @@ -import { WriteStream } from 'fs'; -import { resolve } from 'path'; import { getWorkspaceLocations } from '@metamask/action-utils'; -import { WriteStreamLike, fileExists } from './fs.js'; +import type { WriteStream } from 'fs'; +import { resolve } from 'path'; + +import type { WriteStreamLike } from './fs.js'; +import { fileExists } from './fs.js'; +import { PackageManifestFieldNames } from './package-manifest.js'; +import type { Package } from './package.js'; import { - Package, readMonorepoRootPackage, readMonorepoWorkspacePackage, updatePackageChangelog, } from './package.js'; +import type { ReleaseSpecification } from './release-specification.js'; import { getRepositoryHttpsUrl, getTagNames, restoreFiles } from './repo.js'; -import { SemVer } from './semver.js'; -import { PackageManifestFieldNames } from './package-manifest.js'; -import { ReleaseSpecification } from './release-specification.js'; +import type { SemVer } from './semver.js'; /** * The release version of the root package of a monorepo extracted from its * version string. * - * @property ordinaryNumber - The number assigned to the release if it + * ordinaryNumber - The number assigned to the release if it * introduces new changes that haven't appeared in any previous release; it will * be 0 if there haven't been any releases yet. - * @property backportNumber - A backport release is a change ported from one + * + * backportNumber - A backport release is a change ported from one * ordinary release to a previous ordinary release. This, then, is the number * which identifies this release relative to other backport releases under the * same ordinary release, starting from 1; it will be 0 if there aren't any @@ -34,12 +37,15 @@ type ReleaseVersion = { /** * Represents the entire codebase on which this tool is operating. * - * @property directoryPath - The directory in which the project lives. - * @property repositoryUrl - The public URL of the Git repository where the + * directoryPath - The directory in which the project lives. + * + * repositoryUrl - The public URL of the Git repository where the * codebase for the project lives. - * @property rootPackage - Information about the root package (assuming that the + * + * rootPackage - Information about the root package (assuming that the * project is a monorepo). - * @property workspacePackages - Information about packages that are referenced + * + * workspacePackages - Information about packages that are referenced * via workspaces (assuming that the project is a monorepo). */ export type Project = { @@ -113,12 +119,9 @@ export async function readProject( }); }), ) - ).reduce( - (obj, pkg) => { - return { ...obj, [pkg.validatedManifest.name]: pkg }; - }, - {} as Record<string, Package>, - ); + ).reduce<Record<string, Package>>((obj, pkg) => { + return { ...obj, [pkg.validatedManifest.name]: pkg }; + }, {}); const isMonorepo = Object.keys(workspacePackages).length > 0; @@ -155,7 +158,7 @@ export async function updateChangelogsForChangedPackages({ .filter( ({ hasChangesSinceLatestRelease }) => hasChangesSinceLatestRelease, ) - .map((pkg) => + .map(async (pkg) => updatePackageChangelog({ project, package: pkg, diff --git a/src/release-plan.test.ts b/src/release-plan.test.ts index 2c4c02e..9e5c3bd 100644 --- a/src/release-plan.test.ts +++ b/src/release-plan.test.ts @@ -1,9 +1,10 @@ import fs from 'fs'; import { SemVer } from 'semver'; -import { buildMockProject, buildMockPackage } from '../tests/unit/helpers.js'; + +import * as packageUtils from './package.js'; import { planRelease, executeReleasePlan } from './release-plan.js'; import { IncrementableVersionParts } from './release-specification.js'; -import * as packageUtils from './package.js'; +import { buildMockProject, buildMockPackage } from '../tests/unit/helpers.js'; jest.mock('./package'); diff --git a/src/release-plan.ts b/src/release-plan.ts index 2e195aa..753ef37 100644 --- a/src/release-plan.ts +++ b/src/release-plan.ts @@ -1,15 +1,17 @@ -import { WriteStream } from 'fs'; +import type { WriteStream } from 'fs'; import { SemVer } from 'semver'; + import { debug } from './misc-utils.js'; -import { Package, updatePackage } from './package.js'; -import { Project } from './project.js'; -import { ReleaseSpecification } from './release-specification.js'; +import type { Package } from './package.js'; +import { updatePackage } from './package.js'; +import type { Project } from './project.js'; +import type { ReleaseSpecification } from './release-specification.js'; /** * Instructions for how to update the project in order to prepare it for a new * release. * - * @property newVersion - The new version that should be released, encompassing + * newVersion - The new version that should be released, encompassing * one or more updates to packages within the project. This is always a * SemVer-compatible string, though the meaning of each number depends on the * type of project. For a polyrepo package or a monorepo with fixed versions, @@ -17,7 +19,8 @@ import { ReleaseSpecification } from './release-specification.js'; * independent versions, it is "ORDINARY.BACKPORT.0", where `BACKPORT` is used * to name a release that sits between two ordinary releases, and `ORDINARY` is * used to name any other (non-backport) release. - * @property packages - Describes how the packages in the project should be + * + * packages - Describes how the packages in the project should be * updated. For a polyrepo package, this list will only contain the package * itself; for a monorepo package it will consist of the root package and any * workspace packages that will be included in the release. @@ -31,8 +34,9 @@ export type ReleasePlan = { * Instructions for how to update a package within a project in order to prepare * it for a new release. * - * @property package - Information about the package. - * @property newVersion - The new version for the package, as a + * package - Information about the package. + * + * newVersion - The new version for the package, as a * SemVer-compatible string. */ export type PackageReleasePlan = { diff --git a/src/release-specification.test.ts b/src/release-specification.test.ts index 54f60c6..b748ea4 100644 --- a/src/release-specification.test.ts +++ b/src/release-specification.test.ts @@ -1,17 +1,18 @@ import fs from 'fs'; -import path from 'path'; import { when } from 'jest-when'; +import path from 'path'; +import { SemVer } from 'semver'; import { MockWritable } from 'stdio-mock'; import YAML from 'yaml'; -import { SemVer } from 'semver'; -import { withSandbox } from '../tests/helpers.js'; -import { buildMockProject, buildMockPackage } from '../tests/unit/helpers.js'; + +import * as miscUtils from './misc-utils.js'; import { generateReleaseSpecificationTemplateForMonorepo, waitForUserToEditReleaseSpecification, validateReleaseSpecification, } from './release-specification.js'; -import * as miscUtils from './misc-utils.js'; +import { withSandbox } from '../tests/helpers.js'; +import { buildMockProject, buildMockPackage } from '../tests/unit/helpers.js'; jest.mock('./misc-utils', () => { return { diff --git a/src/release-specification.ts b/src/release-specification.ts index 681d61b..69d3841 100644 --- a/src/release-specification.ts +++ b/src/release-specification.ts @@ -1,7 +1,9 @@ -import fs, { WriteStream } from 'fs'; -import YAML from 'yaml'; +import type { WriteStream } from 'fs'; +import fs from 'fs'; import { diff } from 'semver'; -import { Editor } from './editor.js'; +import YAML from 'yaml'; + +import type { Editor } from './editor.js'; import { readFile } from './fs.js'; import { debug, @@ -10,7 +12,7 @@ import { isObject, runCommand, } from './misc-utils.js'; -import { Project } from './project.js'; +import type { Project } from './project.js'; import { isValidSemver, semver, SemVer } from './semver.js'; /** @@ -33,8 +35,9 @@ type VersionSpecifier = IncrementableVersionParts | SemVer; * User-provided instructions for how to update this project in order to prepare * it for a new release. * - * @property packages - A mapping of package names to version specifiers. - * @property path - The path to the original release specification file. + * packages - A mapping of package names to version specifiers. + * + * path - The path to the original release specification file. */ export type ReleaseSpecification = { packages: Record<string, VersionSpecifier>; @@ -419,41 +422,40 @@ export async function validateReleaseSpecification( throw new Error(message); } - const packages = Object.keys(unvalidatedReleaseSpecification.packages).reduce( - (obj, packageName) => { - const versionSpecifierOrDirective = - unvalidatedReleaseSpecification.packages[packageName]; + const packages = Object.keys(unvalidatedReleaseSpecification.packages).reduce< + ReleaseSpecification['packages'] + >((obj, packageName) => { + const versionSpecifierOrDirective = + unvalidatedReleaseSpecification.packages[packageName]; + if ( + versionSpecifierOrDirective !== SKIP_PACKAGE_DIRECTIVE && + versionSpecifierOrDirective !== INTENTIONALLY_SKIP_PACKAGE_DIRECTIVE + ) { if ( - versionSpecifierOrDirective !== SKIP_PACKAGE_DIRECTIVE && - versionSpecifierOrDirective !== INTENTIONALLY_SKIP_PACKAGE_DIRECTIVE + Object.values(IncrementableVersionParts).includes( + // Typecast: It doesn't matter what type versionSpecifierOrDirective + // is as we are checking for inclusion. + versionSpecifierOrDirective as any, + ) ) { - if ( - Object.values(IncrementableVersionParts).includes( - // Typecast: It doesn't matter what type versionSpecifierOrDirective - // is as we are checking for inclusion. - versionSpecifierOrDirective as any, - ) - ) { - return { - ...obj, - // Typecast: We know what this is as we've checked it above. - [packageName]: - versionSpecifierOrDirective as IncrementableVersionParts, - }; - } - return { ...obj, - // Typecast: We know that this will safely parse. - [packageName]: semver.parse(versionSpecifierOrDirective) as SemVer, + // Typecast: We know what this is as we've checked it above. + [packageName]: + versionSpecifierOrDirective as IncrementableVersionParts, }; } - return obj; - }, - {} as ReleaseSpecification['packages'], - ); + return { + ...obj, + // Typecast: We know that this will safely parse. + [packageName]: semver.parse(versionSpecifierOrDirective) as SemVer, + }; + } + + return obj; + }, {}); return { packages, path: releaseSpecificationPath }; } diff --git a/src/repo.test.ts b/src/repo.test.ts index 6754646..6f20ec2 100644 --- a/src/repo.test.ts +++ b/src/repo.test.ts @@ -1,4 +1,6 @@ import { when } from 'jest-when'; + +import * as miscUtils from './misc-utils.js'; import { getRepositoryHttpsUrl, commitAllChanges, @@ -8,7 +10,6 @@ import { branchExists, restoreFiles, } from './repo.js'; -import * as miscUtils from './misc-utils.js'; jest.mock('./misc-utils'); diff --git a/src/repo.ts b/src/repo.ts index cc5a47a..3dae8c9 100644 --- a/src/repo.ts +++ b/src/repo.ts @@ -1,4 +1,5 @@ import path from 'path'; + import { runCommand, getStdoutFromCommand, @@ -193,7 +194,7 @@ export async function commitAllChanges( * @param repositoryDirectoryPath - The file system path to the git repository. * @returns The name of the current branch in the specified repository. */ -export function getCurrentBranchName(repositoryDirectoryPath: string) { +export async function getCurrentBranchName(repositoryDirectoryPath: string) { return getStdoutFromGitCommandWithin(repositoryDirectoryPath, 'rev-parse', [ '--abbrev-ref', 'HEAD', diff --git a/src/workflow-operations.test.ts b/src/workflow-operations.test.ts index 76b4cf9..94e7e5c 100644 --- a/src/workflow-operations.test.ts +++ b/src/workflow-operations.test.ts @@ -1,8 +1,8 @@ import { when } from 'jest-when'; -import { buildMockProject } from '../tests/unit/helpers'; -import { createReleaseBranch } from './workflow-operations.js'; import * as repoModule from './repo.js'; +import { createReleaseBranch } from './workflow-operations.js'; +import { buildMockProject } from '../tests/unit/helpers'; jest.mock('./repo'); diff --git a/src/workflow-operations.ts b/src/workflow-operations.ts index f3ae129..b1e410d 100644 --- a/src/workflow-operations.ts +++ b/src/workflow-operations.ts @@ -1,6 +1,6 @@ +import type { ReleaseType } from './initial-parameters.js'; import { debug } from './misc-utils.js'; -import { ReleaseType } from './initial-parameters.js'; -import { Project } from './project.js'; +import type { Project } from './project.js'; import { branchExists, getCurrentBranchName, diff --git a/src/yarn-commands.test.ts b/src/yarn-commands.test.ts index 355b857..b158ff2 100644 --- a/src/yarn-commands.test.ts +++ b/src/yarn-commands.test.ts @@ -1,10 +1,11 @@ import { when } from 'jest-when'; + +import * as miscUtils from './misc-utils.js'; import { deduplicateDependencies, fixConstraints, updateYarnLockfile, } from './yarn-commands.js'; -import * as miscUtils from './misc-utils.js'; jest.mock('./misc-utils'); diff --git a/tests/functional/helpers/environment.ts b/tests/functional/helpers/environment.ts index 779fe9b..7ba33c2 100644 --- a/tests/functional/helpers/environment.ts +++ b/tests/functional/helpers/environment.ts @@ -1,15 +1,18 @@ import path from 'path'; -import LocalRepo from './local-repo.js'; + +import type LocalRepo from './local-repo.js'; import RemoteRepo from './remote-repo.js'; -import Repo from './repo.js'; +import type Repo from './repo.js'; /** * Describes the package that is used to initialize a polyrepo, or one of the * packages that is used to initialize a monorepo. * - * @property name - The desired name of the package. - * @property version - The desired version of the package. - * @property directory - The path relative to the repo's root directory that + * name - The desired name of the package. + * + * version - The desired version of the package. + * + * directory - The path relative to the repo's root directory that * holds this package. */ export type PackageSpecification = { @@ -21,9 +24,10 @@ export type PackageSpecification = { /** * A set of configuration options for an {@link Environment}. * - * @property directoryPath - The directory out of which this environment will + * directoryPath - The directory out of which this environment will * operate. - * @property createInitialCommit - Usually when a repo is initialized, a commit + * + * createInitialCommit - Usually when a repo is initialized, a commit * is created (which will contain starting `package.json` files). You can use * this option to disable that if you need to create your own commits for * clarity. diff --git a/tests/functional/helpers/local-monorepo.ts b/tests/functional/helpers/local-monorepo.ts index f4cbd81..f73b2d6 100644 --- a/tests/functional/helpers/local-monorepo.ts +++ b/tests/functional/helpers/local-monorepo.ts @@ -1,15 +1,18 @@ import path from 'path'; -import { PackageSpecification } from './environment.js'; -import LocalRepo, { LocalRepoOptions } from './local-repo.js'; + +import type { PackageSpecification } from './environment.js'; +import type { LocalRepoOptions } from './local-repo.js'; +import LocalRepo from './local-repo.js'; import { knownKeysOf } from './utils.js'; /** * A set of configuration options for a {@link LocalMonorepo}. In addition * to the options listed in {@link LocalRepoOptions}, these include: * - * @property packages - The known packages within this repo (including the + * packages - The known packages within this repo (including the * root). - * @property workspaces - The known workspaces within this repo. + * + * workspaces - The known workspaces within this repo. */ export type LocalMonorepoOptions<WorkspacePackageNickname extends string> = { packages: Record<WorkspacePackageNickname, PackageSpecification>; @@ -26,12 +29,15 @@ export default class LocalMonorepo< /** * The known packages within this repo (including the root). */ - #packages: Record<'$root$' | WorkspacePackageNickname, PackageSpecification>; + readonly #packages: Record< + '$root$' | WorkspacePackageNickname, + PackageSpecification + >; /** * The known workspaces within this repo. */ - #workspaces: LocalMonorepoOptions<WorkspacePackageNickname>['workspaces']; + readonly #workspaces: LocalMonorepoOptions<WorkspacePackageNickname>['workspaces']; constructor({ packages, @@ -167,7 +173,7 @@ export default class LocalMonorepo< // Update manifests for root and workspace packages with `name`, `version`, // and (optionally) `workspaces` await Promise.all( - knownKeysOf(this.#packages).map((packageName) => { + knownKeysOf(this.#packages).map(async (packageName) => { const pkg = this.#packages[packageName]; const content = { name: pkg.name, diff --git a/tests/functional/helpers/local-repo.ts b/tests/functional/helpers/local-repo.ts index 42d70bb..305549c 100644 --- a/tests/functional/helpers/local-repo.ts +++ b/tests/functional/helpers/local-repo.ts @@ -1,14 +1,17 @@ import path from 'path'; + +import type { RepoOptions } from './repo.js'; +import Repo from './repo.js'; import { buildChangelog } from '../../helpers.js'; -import Repo, { RepoOptions } from './repo.js'; /** * A set of configuration options for a {@link LocalRepo}. In addition to the * options listed in {@link RepoOptions}, these include: * - * @property remoteRepoDirectoryPath - The directory that holds the "remote" + * remoteRepoDirectoryPath - The directory that holds the "remote" * companion of this repo. - * @property createInitialCommit - Usually when this repo is initialized, a + * + * createInitialCommit - Usually when this repo is initialized, a * commit is created (which will contain starting `package.json` files). You can * use this option to disable that if you need to create your own commits for * clarity. @@ -26,14 +29,14 @@ export default abstract class LocalRepo extends Repo { /** * The directory that holds the "remote" companion of this repo. */ - #remoteRepoDirectoryPath: string; + readonly #remoteRepoDirectoryPath: string; /** * Usually when this repo is initialized, a commit is created (which will * contain starting `package.json` files). You can use this option to disable * that if you need to create your own commits for clarity. */ - #createInitialCommit: boolean; + readonly #createInitialCommit: boolean; constructor({ remoteRepoDirectoryPath, diff --git a/tests/functional/helpers/monorepo-environment.ts b/tests/functional/helpers/monorepo-environment.ts index 270e95e..65de22c 100644 --- a/tests/functional/helpers/monorepo-environment.ts +++ b/tests/functional/helpers/monorepo-environment.ts @@ -1,12 +1,14 @@ +import type { ExecaReturnValue } from 'execa'; import fs from 'fs'; import path from 'path'; -import type { ExecaReturnValue } from 'execa'; import YAML from 'yaml'; + import { TOOL_EXECUTABLE_PATH, TSX_PATH } from './constants.js'; -import Environment, { +import type { EnvironmentOptions, PackageSpecification, } from './environment.js'; +import Environment from './environment.js'; import LocalMonorepo from './local-monorepo.js'; import { debug, knownKeysOf } from './utils.js'; @@ -14,9 +16,10 @@ import { debug, knownKeysOf } from './utils.js'; * A set of configuration options for a {@link MonorepoEnvironment}. In addition * to the options listed in {@link EnvironmentOptions}, these include: * - * @property packages - The known packages within this repo (including the + * packages - The known packages within this repo (including the * root). - * @property workspaces - The known workspaces within this repo. + * + * workspaces - The known workspaces within this repo. */ export type MonorepoEnvironmentOptions< WorkspacePackageNickname extends string, @@ -28,7 +31,7 @@ export type MonorepoEnvironmentOptions< /** * The release specification data. * - * @property packages - The workspace packages within this repo that will be + * packages - The workspace packages within this repo that will be * released. */ type ReleaseSpecification<WorkspacePackageNickname extends string> = { @@ -50,7 +53,7 @@ export default class MonorepoEnvironment< updateJsonFileWithinPackage: LocalMonorepo<WorkspacePackageNickname>['updateJsonFileWithinPackage']; - #packages: MonorepoEnvironmentOptions<WorkspacePackageNickname>['packages']; + readonly #packages: MonorepoEnvironmentOptions<WorkspacePackageNickname>['packages']; constructor(options: MonorepoEnvironmentOptions<WorkspacePackageNickname>) { super(options); @@ -86,7 +89,7 @@ export default class MonorepoEnvironment< }: { args?: string[]; releaseSpecification: ReleaseSpecification<WorkspacePackageNickname>; - }): Promise<ExecaReturnValue<string>> { + }): Promise<ExecaReturnValue> { const releaseSpecificationPath = path.join( this.directoryPath, 'release-spec', diff --git a/tests/functional/helpers/remote-repo.ts b/tests/functional/helpers/remote-repo.ts index 7ffc8b3..1aa3dcb 100644 --- a/tests/functional/helpers/remote-repo.ts +++ b/tests/functional/helpers/remote-repo.ts @@ -1,5 +1,6 @@ import fs from 'fs'; import path from 'path'; + import Repo from './repo.js'; /** diff --git a/tests/functional/helpers/repo.ts b/tests/functional/helpers/repo.ts index 0d8e4b4..fad2ad8 100644 --- a/tests/functional/helpers/repo.ts +++ b/tests/functional/helpers/repo.ts @@ -1,14 +1,16 @@ +import deepmerge from 'deepmerge'; +import type { ExecaChildProcess, Options as ExecaOptions } from 'execa'; +import { execa } from 'execa'; import fs from 'fs'; import path from 'path'; -import { execa, ExecaChildProcess, Options as ExecaOptions } from 'execa'; -import deepmerge from 'deepmerge'; -import { isErrorWithCode } from '../../helpers.js'; + import { debug, sleepFor } from './utils.js'; +import { isErrorWithCode } from '../../helpers.js'; /** * A set of configuration options for a {@link Repo}. * - * @property environmentDirectoryPath - The directory that holds the environment + * environmentDirectoryPath - The directory that holds the environment * that created this repo. */ export type RepoOptions = { @@ -144,7 +146,7 @@ export default abstract class Repo { * @param message - The commit message. * @returns The result of the command. */ - async createCommit(message: string): Promise<ExecaChildProcess<string>> { + async createCommit(message: string): Promise<ExecaChildProcess> { // When we are creating commits in tests, the dates of those commits may be // so close together that it ends up confusing commands like `git rev-list` // (which sorts commits in chronological order). Sleeping for a bit seems to @@ -179,7 +181,7 @@ export default abstract class Repo { executableName: string, args?: readonly string[] | undefined, options?: ExecaOptions | undefined, - ): Promise<ExecaChildProcess<string>> { + ): Promise<ExecaChildProcess> { const { env, ...remainingOptions } = options === undefined ? { env: {} } : options; diff --git a/tests/functional/helpers/with.ts b/tests/functional/helpers/with.ts index 5365917..fd8d150 100644 --- a/tests/functional/helpers/with.ts +++ b/tests/functional/helpers/with.ts @@ -1,7 +1,6 @@ +import type { MonorepoEnvironmentOptions } from './monorepo-environment.js'; +import MonorepoEnvironment from './monorepo-environment.js'; import { withSandbox } from '../../helpers.js'; -import MonorepoEnvironment, { - MonorepoEnvironmentOptions, -} from './monorepo-environment.js'; /** * Runs the given function and ensures that even if `process.env` is changed diff --git a/tests/helpers.ts b/tests/helpers.ts index 55b764b..38085da 100644 --- a/tests/helpers.ts +++ b/tests/helpers.ts @@ -1,9 +1,9 @@ +import { hasProperty, isObject } from '@metamask/utils'; +import type { ExecaError } from 'execa'; import fs from 'fs'; +import { nanoid } from 'nanoid'; import os from 'os'; import path from 'path'; -import { nanoid } from 'nanoid'; -import type { ExecaError } from 'execa'; -import { hasProperty, isObject } from '@metamask/utils'; /** * Information about the sandbox provided to tests that need access to the diff --git a/tests/setupAfterEnv.ts b/tests/setupAfterEnv.ts index 3ff1447..d4f0675 100644 --- a/tests/setupAfterEnv.ts +++ b/tests/setupAfterEnv.ts @@ -1,4 +1,5 @@ import type { ExecaReturnValue } from 'execa'; + import { isExecaError } from './helpers.js'; /** @@ -56,7 +57,9 @@ const END = '▲▲▲ END ▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲ * this function. * @returns A promise that resolves to a symbol. */ -const treatUnresolvedAfter = (duration: number): Promise<typeof UNRESOLVED> => { +const treatUnresolvedAfter = async ( + duration: number, +): Promise<typeof UNRESOLVED> => { return new Promise((resolve) => { originalSetTimeout(resolve, duration, UNRESOLVED); }); @@ -109,7 +112,7 @@ expect.extend({ }, async toThrowExecaError( - promise: Promise<ExecaReturnValue<string>>, + promise: Promise<ExecaReturnValue>, message: string, { replacements }: { replacements: { from: string | RegExp; to: string }[] }, ) { diff --git a/tests/unit/helpers.ts b/tests/unit/helpers.ts index 0527b15..5224365 100644 --- a/tests/unit/helpers.ts +++ b/tests/unit/helpers.ts @@ -1,13 +1,14 @@ +import { isPlainObject } from '@metamask/utils'; import fs from 'fs'; import path from 'path'; import { SemVer } from 'semver'; -import { isPlainObject } from '@metamask/utils'; -import type { Package } from '../../src/package.js'; + import { PackageManifestDependenciesFieldNames, PackageManifestFieldNames, } from '../../src/package-manifest.js'; import type { ValidatedPackageManifest } from '../../src/package-manifest.js'; +import type { Package } from '../../src/package.js'; import type { Project } from '../../src/project.js'; /** diff --git a/yarn.lock b/yarn.lock index 69462c5..4053b21 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1388,14 +1388,14 @@ __metadata: languageName: node linkType: hard -"@es-joy/jsdoccomment@npm:~0.36.0": - version: 0.36.0 - resolution: "@es-joy/jsdoccomment@npm:0.36.0" +"@es-joy/jsdoccomment@npm:~0.49.0": + version: 0.49.0 + resolution: "@es-joy/jsdoccomment@npm:0.49.0" dependencies: - comment-parser: 1.3.1 - esquery: ^1.4.0 - jsdoc-type-pratt-parser: ~3.1.0 - checksum: c2fa95bc01f6b2a0caa521adaa37562b10b12095b5308948f3e122880d2ae9684c09e5b0e0809ac3e31e17580886d2d3b41fbf4ff4831649efce8cba8e30cf5c + comment-parser: 1.4.1 + esquery: ^1.6.0 + jsdoc-type-pratt-parser: ~4.1.0 + checksum: 19f99097ceb5a3495843c3276d598cfb4e3287c5d1d809817fb28fc8352b16ef23eaa8d964fd7b0379c6466d0a591f579e51d25434ab709ff59f6650fa166dbf languageName: node linkType: hard @@ -1553,6 +1553,17 @@ __metadata: languageName: node linkType: hard +"@eslint-community/eslint-utils@npm:^4.1.2, @eslint-community/eslint-utils@npm:^4.4.0, @eslint-community/eslint-utils@npm:^4.4.1": + version: 4.4.1 + resolution: "@eslint-community/eslint-utils@npm:4.4.1" + dependencies: + eslint-visitor-keys: ^3.4.3 + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + checksum: a7ffc838eb6a9ef594cda348458ccf38f34439ac77dc090fa1c120024bcd4eb911dfd74d5ef44d42063e7949fa7c5123ce714a015c4abb917d4124be1bd32bfe + languageName: node + linkType: hard + "@eslint-community/eslint-utils@npm:^4.2.0": version: 4.4.0 resolution: "@eslint-community/eslint-utils@npm:4.4.0" @@ -1564,34 +1575,71 @@ __metadata: languageName: node linkType: hard -"@eslint-community/regexpp@npm:^4.4.0": - version: 4.5.0 - resolution: "@eslint-community/regexpp@npm:4.5.0" - checksum: 99c01335947dbd7f2129e954413067e217ccaa4e219fe0917b7d2bd96135789384b8fedbfb8eb09584d5130b27a7b876a7150ab7376f51b3a0c377d5ce026a10 +"@eslint-community/regexpp@npm:^4.10.0, @eslint-community/regexpp@npm:^4.11.0, @eslint-community/regexpp@npm:^4.12.1": + version: 4.12.1 + resolution: "@eslint-community/regexpp@npm:4.12.1" + checksum: 0d628680e204bc316d545b4993d3658427ca404ae646ce541fcc65306b8c712c340e5e573e30fb9f85f4855c0c5f6dca9868931f2fcced06417fbe1a0c6cd2d6 languageName: node linkType: hard -"@eslint/eslintrc@npm:^2.0.2": - version: 2.0.2 - resolution: "@eslint/eslintrc@npm:2.0.2" +"@eslint/config-array@npm:^0.19.2": + version: 0.19.2 + resolution: "@eslint/config-array@npm:0.19.2" + dependencies: + "@eslint/object-schema": ^2.1.6 + debug: ^4.3.1 + minimatch: ^3.1.2 + checksum: 1c707e04fc2951079b32d2cb1c939ce25e863cd1329c1bd363a285b2a5caaaf88b97ddbf354cc46d1334097dc749f79b0fae33151dc2dfb9a60ba14288c65b39 + languageName: node + linkType: hard + +"@eslint/core@npm:^0.12.0": + version: 0.12.0 + resolution: "@eslint/core@npm:0.12.0" + dependencies: + "@types/json-schema": ^7.0.15 + checksum: 3979af324102a3af2742060360563ba6b9525b8e1e524ad3d3e31e65af27db554b61d1cdfeaa42e15fb7d9ce9097c44225fd9e4f8193576accc1772457b88c12 + languageName: node + linkType: hard + +"@eslint/eslintrc@npm:^3.3.0": + version: 3.3.0 + resolution: "@eslint/eslintrc@npm:3.3.0" dependencies: ajv: ^6.12.4 debug: ^4.3.2 - espree: ^9.5.1 - globals: ^13.19.0 + 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 - checksum: cfcf5e12c7b2c4476482e7f12434e76eae16fcd163ee627309adb10b761e5caa4a4e52ed7be464423320ff3d11eca5b50de5bf8be3e25834222470835dd5c801 + checksum: 1d8a4205c2db0c46dee8251800725f6c7dfd0b1594813ddcc41f2091a53223cd78334a6664efe348118cc0963c1176d4fa873b1673c853fc76031aaa1fc49b98 languageName: node linkType: hard -"@eslint/js@npm:8.39.0": - version: 8.39.0 - resolution: "@eslint/js@npm:8.39.0" - checksum: 63fe36e2bfb5ff5705d1c1a8ccecd8eb2f81d9af239713489e767b0e398759c0177fcc75ad62581d02942f2776903a8496d5fae48dc2d883dff1b96fcb19e9e2 +"@eslint/js@npm:9.21.0, @eslint/js@npm:^9.11.0": + version: 9.21.0 + resolution: "@eslint/js@npm:9.21.0" + checksum: 238cf810270a13ada3db5fcc05b8031bef8a56186f795f45f1c5b89f5ae1e86240622cd5c39ae4444f34670b4896ebc8ab8e868050d174755bb4caba59c4b8d5 + languageName: node + linkType: hard + +"@eslint/object-schema@npm:^2.1.6": + version: 2.1.6 + resolution: "@eslint/object-schema@npm:2.1.6" + checksum: e32e565319f6544d36d3fa69a3e163120722d12d666d1a4525c9a6f02e9b54c29d9b1f03139e25d7e759e08dda8da433590bc23c09db8d511162157ef1b86a4c + languageName: node + linkType: hard + +"@eslint/plugin-kit@npm:^0.2.7": + version: 0.2.7 + resolution: "@eslint/plugin-kit@npm:0.2.7" + dependencies: + "@eslint/core": ^0.12.0 + levn: ^0.4.1 + checksum: e5d9be6ae54c7abd4605025e5831ac16dd0636ac5d41fbfcd8898a5d29711a2fb1fc8c784aa68a1469e66c8d41965da70d7a7516f9c2bca1c84342dd344bbb8e languageName: node linkType: hard @@ -1644,14 +1692,20 @@ __metadata: languageName: node linkType: hard -"@humanwhocodes/config-array@npm:^0.11.8": - version: 0.11.8 - resolution: "@humanwhocodes/config-array@npm:0.11.8" +"@humanfs/core@npm:^0.19.1": + version: 0.19.1 + resolution: "@humanfs/core@npm:0.19.1" + checksum: 611e0545146f55ddfdd5c20239cfb7911f9d0e28258787c4fc1a1f6214250830c9367aaaeace0096ed90b6739bee1e9c52ad5ba8adaf74ab8b449119303babfe + languageName: node + linkType: hard + +"@humanfs/node@npm:^0.16.6": + version: 0.16.6 + resolution: "@humanfs/node@npm:0.16.6" dependencies: - "@humanwhocodes/object-schema": ^1.2.1 - debug: ^4.1.1 - minimatch: ^3.0.5 - checksum: 0fd6b3c54f1674ce0a224df09b9c2f9846d20b9e54fabae1281ecfc04f2e6ad69bf19e1d6af6a28f88e8aa3990168b6cb9e1ef755868c3256a630605ec2cb1d3 + "@humanfs/core": ^0.19.1 + "@humanwhocodes/retry": ^0.3.0 + checksum: f9cb52bb235f8b9c6fcff43a7e500669a38f8d6ce26593404a9b56365a1644e0ed60c720dc65ff6a696b1f85f3563ab055bb554ec8674f2559085ba840e47710 languageName: node linkType: hard @@ -1662,10 +1716,17 @@ __metadata: languageName: node linkType: hard -"@humanwhocodes/object-schema@npm:^1.2.1": - version: 1.2.1 - resolution: "@humanwhocodes/object-schema@npm:1.2.1" - checksum: a824a1ec31591231e4bad5787641f59e9633827d0a2eaae131a288d33c9ef0290bd16fda8da6f7c0fcb014147865d12118df10db57f27f41e20da92369fcb3f1 +"@humanwhocodes/retry@npm:^0.3.0": + version: 0.3.1 + resolution: "@humanwhocodes/retry@npm:0.3.1" + checksum: 7e5517bb51dbea3e02ab6cacef59a8f4b0ca023fc4b0b8cbc40de0ad29f46edd50b897c6e7fba79366a0217e3f48e2da8975056f6c35cfe19d9cc48f1d03c1dd + languageName: node + linkType: hard + +"@humanwhocodes/retry@npm:^0.4.2": + version: 0.4.2 + resolution: "@humanwhocodes/retry@npm:0.4.2" + checksum: 764127449a9f97d807b9c47f898fce8d7e0e8e8438366116b9ddcaacded99b2c285b8eed2cfdd5fdcb68be47728218db949f9618a58c0d3898d9fd14a6d6671e languageName: node linkType: hard @@ -2079,10 +2140,10 @@ __metadata: "@lavamoat/allow-scripts": ^3.1.0 "@metamask/action-utils": ^1.0.0 "@metamask/auto-changelog": ^4.0.0 - "@metamask/eslint-config": ^10.0.0 - "@metamask/eslint-config-jest": ^10.0.0 - "@metamask/eslint-config-nodejs": ^10.0.0 - "@metamask/eslint-config-typescript": ^10.0.0 + "@metamask/eslint-config": ^14.0.0 + "@metamask/eslint-config-jest": ^14.0.0 + "@metamask/eslint-config-nodejs": ^14.0.0 + "@metamask/eslint-config-typescript": ^14.0.0 "@metamask/utils": ^9.0.0 "@types/debug": ^4.1.7 "@types/jest": ^29.5.10 @@ -2093,31 +2154,35 @@ __metadata: "@types/validate-npm-package-name": ^4.0.2 "@types/which": ^3.0.0 "@types/yargs": ^17.0.10 - "@typescript-eslint/eslint-plugin": ^5.62.0 - "@typescript-eslint/parser": ^5.62.0 + "@typescript-eslint/eslint-plugin": ^8.25.0 + "@typescript-eslint/parser": ^8.25.0 babel-jest: ^29.7.0 debug: ^4.3.4 deepmerge: ^4.2.2 - eslint: ^8.27.0 + eslint: ^9.21.0 eslint-config-prettier: ^9.1.0 - eslint-plugin-import: ^2.26.0 - eslint-plugin-jest: ^26.9.0 - eslint-plugin-jsdoc: ^39.6.2 + eslint-import-resolver-typescript: ^3.8.3 + eslint-plugin-import-x: ^4.6.1 + eslint-plugin-jest: ^28.11.0 + eslint-plugin-jsdoc: ^50.6.3 + eslint-plugin-n: ^17.15.1 eslint-plugin-node: ^11.1.0 - eslint-plugin-prettier: ^5.2.1 + eslint-plugin-prettier: ^5.2.3 + eslint-plugin-promise: ^7.2.1 execa: ^8.0.1 jest: ^29.7.0 jest-it-up: ^3.0.0 jest-when: ^3.5.2 nanoid: ^3.3.4 pony-cause: ^2.1.9 - prettier: ^3.3.3 - prettier-plugin-packagejson: ^2.5.2 + prettier: ^3.5.2 + prettier-plugin-packagejson: ^2.5.8 rimraf: ^4.0.5 semver: ^7.5.4 stdio-mock: ^1.2.0 tsx: ^4.6.1 typescript: ~5.1.6 + typescript-eslint: ^8.25.0 validate-npm-package-name: ^5.0.0 which: ^3.0.0 yaml: ^2.2.2 @@ -2129,52 +2194,66 @@ __metadata: languageName: unknown linkType: soft -"@metamask/eslint-config-jest@npm:^10.0.0": - version: 10.0.0 - resolution: "@metamask/eslint-config-jest@npm:10.0.0" +"@metamask/eslint-config-jest@npm:^14.0.0": + version: 14.0.0 + resolution: "@metamask/eslint-config-jest@npm:14.0.0" + dependencies: + "@eslint/js": ^9.11.0 + globals: ^15.9.0 peerDependencies: - "@metamask/eslint-config": ^10.0.0 - eslint: ^8.21.0 - eslint-plugin-jest: ^26.8.2 - checksum: 60a6f849d21cefef6956680b9dd229d76b961ac6d291de3d5eb0df401e08fcb849b65feecef00a3506e254b967d615c63cca7ca4145acc110e084d49cc6c6f13 + "@metamask/eslint-config": ^14.0.0 + eslint: ^9.11.0 + eslint-plugin-jest: ^28.8.3 + checksum: e7c4f14ff8eae8c1311cd1a941217c39bacf249650b1953138a958472af609a8396722e7b1a0c86386d07f92d7570c3e29754335fe4ef8608a9abf03c7aff6fb languageName: node linkType: hard -"@metamask/eslint-config-nodejs@npm:^10.0.0": - version: 10.0.0 - resolution: "@metamask/eslint-config-nodejs@npm:10.0.0" +"@metamask/eslint-config-nodejs@npm:^14.0.0": + version: 14.0.0 + resolution: "@metamask/eslint-config-nodejs@npm:14.0.0" + dependencies: + "@eslint/js": ^9.11.0 + globals: ^15.9.0 peerDependencies: - "@metamask/eslint-config": ^10.0.0 - eslint: ^8.21.0 - eslint-plugin-node: ^11.1.0 - checksum: eef19eb8ab7949e6e56119a38ba351c25a1002515bc6e47e7b103cc12f73b7af30bc2abde2129eeca573c741986ce352086f79e5385b9b171ce4a7437bc016dd + "@metamask/eslint-config": ^14.0.0 + eslint: ^9.11.0 + eslint-plugin-n: ^17.10.3 + checksum: 0a7f723ec56b739dbe2f2118da63dc03110e82ae9fbfb1e59b98578f19b6eb867bcd1a7c03e7ca5b174fe52037401475fdee726dfe3906b026cee794547a20f2 languageName: node linkType: hard -"@metamask/eslint-config-typescript@npm:^10.0.0": - version: 10.0.0 - resolution: "@metamask/eslint-config-typescript@npm:10.0.0" +"@metamask/eslint-config-typescript@npm:^14.0.0": + version: 14.0.0 + resolution: "@metamask/eslint-config-typescript@npm:14.0.0" + dependencies: + "@eslint/js": ^9.11.0 peerDependencies: - "@metamask/eslint-config": ^10.0.0 - "@typescript-eslint/eslint-plugin": ^5.33.0 - "@typescript-eslint/parser": ^5.33.0 - eslint: ^8.21.0 - typescript: ^4.0.7 - checksum: a1593d8d11f3d476aba24c0aa5e829724dd9dce6539cb2b33b75d5a1623ae9950370920fb666504d5192aee17f88fcecdcaf76465e66d67ece7dcb3ad90efd9b + "@metamask/eslint-config": ^14.0.0 + eslint: ^9.11.0 + eslint-import-resolver-typescript: ^3.6.3 + eslint-plugin-import-x: ^4.3.0 + eslint-plugin-jsdoc: ^50.2.4 + typescript: ">=4.8.4 <5.6" + typescript-eslint: ^8.6.0 + checksum: 22ba75337a397406ccb9d1c1421486b018e0526767899c13c4ec0173e45db8cff0282057c6fcebaf083029e8c51edde6f56c191700cf434fea8770dec00f1ca0 languageName: node linkType: hard -"@metamask/eslint-config@npm:^10.0.0": - version: 10.0.0 - resolution: "@metamask/eslint-config@npm:10.0.0" +"@metamask/eslint-config@npm:^14.0.0": + version: 14.0.0 + resolution: "@metamask/eslint-config@npm:14.0.0" + dependencies: + "@eslint/js": ^9.11.0 + globals: ^15.9.0 peerDependencies: - eslint: ^8.21.0 - eslint-config-prettier: ^8.1.0 - eslint-plugin-import: ^2.26.0 - eslint-plugin-jsdoc: ^39.2.9 - eslint-plugin-prettier: ^4.2.1 - prettier: ^2.2.1 - checksum: e6d7de595cb5ea536ce4cc5585c2970d6ae863cf2348d82fbfb5cafb8ca720d4612b1183a4ac6f9df8c7d641175de228ee705568735d56297f96ac4736b21da5 + eslint: ^9.11.0 + eslint-config-prettier: ^9.1.0 + eslint-plugin-import-x: ^4.3.0 + eslint-plugin-jsdoc: ^50.2.4 + eslint-plugin-prettier: ^5.2.1 + eslint-plugin-promise: ^7.1.0 + prettier: ^3.3.3 + checksum: 433313e318718ef68cb2e6e6398f935b1835c59b0f5abbab78a4b2b1d13d9d54d8cf1456ee911c3b438a4e6ac640f239ca4ac7f1dca387cec6547b9a3330df5a languageName: node linkType: hard @@ -2242,7 +2321,7 @@ __metadata: languageName: node linkType: hard -"@nodelib/fs.walk@npm:^1.2.3, @nodelib/fs.walk@npm:^1.2.8": +"@nodelib/fs.walk@npm:^1.2.3": version: 1.2.8 resolution: "@nodelib/fs.walk@npm:1.2.8" dependencies: @@ -2252,6 +2331,13 @@ __metadata: languageName: node linkType: hard +"@nolyfill/is-core-module@npm:1.0.39": + version: 1.0.39 + resolution: "@nolyfill/is-core-module@npm:1.0.39" + checksum: 0d6e098b871eca71d875651288e1f0fa770a63478b0b50479c99dc760c64175a56b5b04f58d5581bbcc6b552b8191ab415eada093d8df9597ab3423c8cac1815 + languageName: node + linkType: hard + "@npmcli/agent@npm:^2.0.0": version: 2.2.2 resolution: "@npmcli/agent@npm:2.2.2" @@ -2479,6 +2565,20 @@ __metadata: languageName: node linkType: hard +"@types/doctrine@npm:^0.0.9": + version: 0.0.9 + resolution: "@types/doctrine@npm:0.0.9" + checksum: 3909eaca42e7386b2ab866f082b78da3e00718d2fa323597e254feb0556c678b41f2c490729067433630083ac9c806ec6ae1e146754f7f8ba7d3e43ed68d6500 + languageName: node + linkType: hard + +"@types/estree@npm:^1.0.6": + version: 1.0.6 + resolution: "@types/estree@npm:1.0.6" + checksum: 8825d6e729e16445d9a1dd2fb1db2edc5ed400799064cd4d028150701031af012ba30d6d03fe9df40f4d7a437d0de6d2b256020152b7b09bde9f2e420afdffd9 + languageName: node + linkType: hard + "@types/graceful-fs@npm:^4.1.3": version: 4.1.5 resolution: "@types/graceful-fs@npm:4.1.5" @@ -2532,17 +2632,10 @@ __metadata: languageName: node linkType: hard -"@types/json-schema@npm:^7.0.9": - version: 7.0.11 - resolution: "@types/json-schema@npm:7.0.11" - checksum: 527bddfe62db9012fccd7627794bd4c71beb77601861055d87e3ee464f2217c85fca7a4b56ae677478367bbd248dbde13553312b7d4dbc702a2f2bbf60c4018d - languageName: node - linkType: hard - -"@types/json5@npm:^0.0.29": - version: 0.0.29 - resolution: "@types/json5@npm:0.0.29" - checksum: e60b153664572116dfea673c5bda7778dbff150498f44f998e34b5886d8afc47f16799280e4b6e241c0472aef1bc36add771c569c68fc5125fc2ae519a3eb9ac +"@types/json-schema@npm:^7.0.15": + version: 7.0.15 + resolution: "@types/json-schema@npm:7.0.15" + checksum: 97ed0cb44d4070aecea772b7b2e2ed971e10c81ec87dd4ecc160322ffa55ff330dace1793489540e3e318d90942064bb697cc0f8989391797792d919737b3b98 languageName: node linkType: hard @@ -2594,7 +2687,7 @@ __metadata: languageName: node linkType: hard -"@types/semver@npm:^7.3.12, @types/semver@npm:^7.3.6": +"@types/semver@npm:^7.3.6": version: 7.5.1 resolution: "@types/semver@npm:7.5.1" checksum: 2fffe938c7ac168711f245a16e1856a3578d77161ca17e29a05c3e02c7be3e9c5beefa29a3350f6c1bd982fb70aa28cc52e4845eb7d36246bcdc0377170d584d @@ -2645,124 +2738,115 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/eslint-plugin@npm:^5.62.0": - version: 5.62.0 - resolution: "@typescript-eslint/eslint-plugin@npm:5.62.0" +"@typescript-eslint/eslint-plugin@npm:8.25.0, @typescript-eslint/eslint-plugin@npm:^8.25.0": + version: 8.25.0 + resolution: "@typescript-eslint/eslint-plugin@npm:8.25.0" dependencies: - "@eslint-community/regexpp": ^4.4.0 - "@typescript-eslint/scope-manager": 5.62.0 - "@typescript-eslint/type-utils": 5.62.0 - "@typescript-eslint/utils": 5.62.0 - debug: ^4.3.4 + "@eslint-community/regexpp": ^4.10.0 + "@typescript-eslint/scope-manager": 8.25.0 + "@typescript-eslint/type-utils": 8.25.0 + "@typescript-eslint/utils": 8.25.0 + "@typescript-eslint/visitor-keys": 8.25.0 graphemer: ^1.4.0 - ignore: ^5.2.0 - natural-compare-lite: ^1.4.0 - semver: ^7.3.7 - tsutils: ^3.21.0 + ignore: ^5.3.1 + natural-compare: ^1.4.0 + ts-api-utils: ^2.0.1 peerDependencies: - "@typescript-eslint/parser": ^5.0.0 - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 - peerDependenciesMeta: - typescript: - optional: true - checksum: fc104b389c768f9fa7d45a48c86d5c1ad522c1d0512943e782a56b1e3096b2cbcc1eea3fcc590647bf0658eef61aac35120a9c6daf979bf629ad2956deb516a1 + "@typescript-eslint/parser": ^8.0.0 || ^8.0.0-alpha.0 + eslint: ^8.57.0 || ^9.0.0 + typescript: ">=4.8.4 <5.8.0" + checksum: 8e6f525d9c75290fea529b218df6b9354051a306abde0aba290261972c8891382b5aedd9ec41b885582d68fd5f4bfab25f070c20767f6d1b9c2b1c13f8f6fc43 languageName: node linkType: hard -"@typescript-eslint/parser@npm:^5.62.0": - version: 5.62.0 - resolution: "@typescript-eslint/parser@npm:5.62.0" +"@typescript-eslint/parser@npm:8.25.0, @typescript-eslint/parser@npm:^8.25.0": + version: 8.25.0 + resolution: "@typescript-eslint/parser@npm:8.25.0" dependencies: - "@typescript-eslint/scope-manager": 5.62.0 - "@typescript-eslint/types": 5.62.0 - "@typescript-eslint/typescript-estree": 5.62.0 + "@typescript-eslint/scope-manager": 8.25.0 + "@typescript-eslint/types": 8.25.0 + "@typescript-eslint/typescript-estree": 8.25.0 + "@typescript-eslint/visitor-keys": 8.25.0 debug: ^4.3.4 peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 - peerDependenciesMeta: - typescript: - optional: true - checksum: d168f4c7f21a7a63f47002e2d319bcbb6173597af5c60c1cf2de046b46c76b4930a093619e69faf2d30214c29ab27b54dcf1efc7046a6a6bd6f37f59a990e752 + eslint: ^8.57.0 || ^9.0.0 + typescript: ">=4.8.4 <5.8.0" + checksum: 5de468b96be0a3ba9c265590dc7d4da6b77fd0cd45e16cbf4d54ee5e46883d5a10ad58a43dcbe768909f04dcbcc431af5e577c41dd653abb89cae64064cc880e languageName: node linkType: hard -"@typescript-eslint/scope-manager@npm:5.62.0": - version: 5.62.0 - resolution: "@typescript-eslint/scope-manager@npm:5.62.0" +"@typescript-eslint/scope-manager@npm:8.25.0, @typescript-eslint/scope-manager@npm:^8.1.0": + version: 8.25.0 + resolution: "@typescript-eslint/scope-manager@npm:8.25.0" dependencies: - "@typescript-eslint/types": 5.62.0 - "@typescript-eslint/visitor-keys": 5.62.0 - checksum: 6062d6b797fe1ce4d275bb0d17204c827494af59b5eaf09d8a78cdd39dadddb31074dded4297aaf5d0f839016d601032857698b0e4516c86a41207de606e9573 + "@typescript-eslint/types": 8.25.0 + "@typescript-eslint/visitor-keys": 8.25.0 + checksum: 07782325450b5ab23a9ca3ccc3f681f7db738d9282ede17255e8d10217fe1375f2ee6c4c320d9a03a5477ef1fc0431358e69347bc7133e68f4f14a909ffb4328 languageName: node linkType: hard -"@typescript-eslint/type-utils@npm:5.62.0": - version: 5.62.0 - resolution: "@typescript-eslint/type-utils@npm:5.62.0" +"@typescript-eslint/type-utils@npm:8.25.0": + version: 8.25.0 + resolution: "@typescript-eslint/type-utils@npm:8.25.0" dependencies: - "@typescript-eslint/typescript-estree": 5.62.0 - "@typescript-eslint/utils": 5.62.0 + "@typescript-eslint/typescript-estree": 8.25.0 + "@typescript-eslint/utils": 8.25.0 debug: ^4.3.4 - tsutils: ^3.21.0 + ts-api-utils: ^2.0.1 peerDependencies: - eslint: "*" - peerDependenciesMeta: - typescript: - optional: true - checksum: fc41eece5f315dfda14320be0da78d3a971d650ea41300be7196934b9715f3fe1120a80207551eb71d39568275dbbcf359bde540d1ca1439d8be15e9885d2739 + eslint: ^8.57.0 || ^9.0.0 + typescript: ">=4.8.4 <5.8.0" + checksum: ee4bccb650b3aa82c9f735460e2c441430f66059a2ae8e10afdbd52878dd2d17f93a2e4d8e2399210622a6f91476b57d581ce75ad03e6937b7558386c9c9e448 languageName: node linkType: hard -"@typescript-eslint/types@npm:5.62.0": - version: 5.62.0 - resolution: "@typescript-eslint/types@npm:5.62.0" - checksum: 48c87117383d1864766486f24de34086155532b070f6264e09d0e6139449270f8a9559cfef3c56d16e3bcfb52d83d42105d61b36743626399c7c2b5e0ac3b670 +"@typescript-eslint/types@npm:8.25.0": + version: 8.25.0 + resolution: "@typescript-eslint/types@npm:8.25.0" + checksum: 958395fb209609beda4a57b9d52138a6f5a1941f2d39aed616e9aadad2fd453fafd5b117fe0ebf1db37aded8e21be5469634452ae7b70212f978db1799d907bf languageName: node linkType: hard -"@typescript-eslint/typescript-estree@npm:5.62.0": - version: 5.62.0 - resolution: "@typescript-eslint/typescript-estree@npm:5.62.0" +"@typescript-eslint/typescript-estree@npm:8.25.0": + version: 8.25.0 + resolution: "@typescript-eslint/typescript-estree@npm:8.25.0" dependencies: - "@typescript-eslint/types": 5.62.0 - "@typescript-eslint/visitor-keys": 5.62.0 + "@typescript-eslint/types": 8.25.0 + "@typescript-eslint/visitor-keys": 8.25.0 debug: ^4.3.4 - globby: ^11.1.0 + fast-glob: ^3.3.2 is-glob: ^4.0.3 - semver: ^7.3.7 - tsutils: ^3.21.0 - peerDependenciesMeta: - typescript: - optional: true - checksum: 3624520abb5807ed8f57b1197e61c7b1ed770c56dfcaca66372d584ff50175225798bccb701f7ef129d62c5989070e1ee3a0aa2d84e56d9524dcf011a2bb1a52 + minimatch: ^9.0.4 + semver: ^7.6.0 + ts-api-utils: ^2.0.1 + peerDependencies: + typescript: ">=4.8.4 <5.8.0" + checksum: b103847df242dc9de3b046dd4aa33840732e17964388969110e13627f7e20fdc10801eb4718a4efd0ead470c411fdf96df791e43d2d28cf617ae416905897129 languageName: node linkType: hard -"@typescript-eslint/utils@npm:5.62.0, @typescript-eslint/utils@npm:^5.10.0": - version: 5.62.0 - resolution: "@typescript-eslint/utils@npm:5.62.0" +"@typescript-eslint/utils@npm:8.25.0, @typescript-eslint/utils@npm:^6.0.0 || ^7.0.0 || ^8.0.0, @typescript-eslint/utils@npm:^8.1.0": + version: 8.25.0 + resolution: "@typescript-eslint/utils@npm:8.25.0" dependencies: - "@eslint-community/eslint-utils": ^4.2.0 - "@types/json-schema": ^7.0.9 - "@types/semver": ^7.3.12 - "@typescript-eslint/scope-manager": 5.62.0 - "@typescript-eslint/types": 5.62.0 - "@typescript-eslint/typescript-estree": 5.62.0 - eslint-scope: ^5.1.1 - semver: ^7.3.7 + "@eslint-community/eslint-utils": ^4.4.0 + "@typescript-eslint/scope-manager": 8.25.0 + "@typescript-eslint/types": 8.25.0 + "@typescript-eslint/typescript-estree": 8.25.0 peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 - checksum: ee9398c8c5db6d1da09463ca7bf36ed134361e20131ea354b2da16a5fdb6df9ba70c62a388d19f6eebb421af1786dbbd79ba95ddd6ab287324fc171c3e28d931 + eslint: ^8.57.0 || ^9.0.0 + typescript: ">=4.8.4 <5.8.0" + checksum: 60572c88805c0b3eb0d41ee9fe736931554db22e1a4ad4d274bb515894f622605109cbf0b8742fbf895eb956366df981e1700776e6c56381b4528f71643a6460 languageName: node linkType: hard -"@typescript-eslint/visitor-keys@npm:5.62.0": - version: 5.62.0 - resolution: "@typescript-eslint/visitor-keys@npm:5.62.0" +"@typescript-eslint/visitor-keys@npm:8.25.0": + version: 8.25.0 + resolution: "@typescript-eslint/visitor-keys@npm:8.25.0" dependencies: - "@typescript-eslint/types": 5.62.0 - eslint-visitor-keys: ^3.3.0 - checksum: 976b05d103fe8335bef5c93ad3f76d781e3ce50329c0243ee0f00c0fcfb186c81df50e64bfdd34970148113f8ade90887f53e3c4938183afba830b4ba8e30a35 + "@typescript-eslint/types": 8.25.0 + eslint-visitor-keys: ^4.2.0 + checksum: e9570dd2ff84d10994af8906720e4e19e6a5c180b88b933c1b21b7ce1752a083dd5e513f9aa0d0dc6a17160eced893e55e7d3b2a3a2ae47d930e3f012fa23ef9 languageName: node linkType: hard @@ -2789,12 +2873,12 @@ __metadata: languageName: node linkType: hard -"acorn@npm:^8.8.0": - version: 8.8.1 - resolution: "acorn@npm:8.8.1" +"acorn@npm:^8.14.0": + version: 8.14.0 + resolution: "acorn@npm:8.14.0" bin: acorn: bin/acorn - checksum: 4079b67283b94935157698831967642f24a075c52ce3feaaaafe095776dfbe15d86a1b33b1e53860fc0d062ed6c83f4284a5c87c85b9ad51853a01173da6097f + checksum: 8755074ba55fff94e84e81c72f1013c2d9c78e973c31231c8ae505a5f966859baf654bddd75046bffd73ce816b149298977fff5077a3033dedba0ae2aad152d4 languageName: node linkType: hard @@ -2837,7 +2921,7 @@ __metadata: languageName: node linkType: hard -"ajv@npm:^6.10.0, ajv@npm:^6.12.4": +"ajv@npm:^6.12.4": version: 6.12.6 resolution: "ajv@npm:6.12.6" dependencies: @@ -2928,6 +3012,13 @@ __metadata: languageName: node linkType: hard +"are-docs-informative@npm:^0.0.2": + version: 0.0.2 + resolution: "are-docs-informative@npm:0.0.2" + checksum: 7a48ca90d66e29afebc4387d7029d86cfe97bad7e796c8e7de01309e02dcfc027250231c02d4ca208d2984170d09026390b946df5d3d02ac638ab35f74501c74 + languageName: node + linkType: hard + "are-we-there-yet@npm:^3.0.0": version: 3.0.0 resolution: "are-we-there-yet@npm:3.0.0" @@ -2954,38 +3045,6 @@ __metadata: languageName: node linkType: hard -"array-includes@npm:^3.1.4": - version: 3.1.5 - resolution: "array-includes@npm:3.1.5" - dependencies: - call-bind: ^1.0.2 - define-properties: ^1.1.4 - es-abstract: ^1.19.5 - get-intrinsic: ^1.1.1 - is-string: ^1.0.7 - checksum: f6f24d834179604656b7bec3e047251d5cc87e9e87fab7c175c61af48e80e75acd296017abcde21fb52292ab6a2a449ab2ee37213ee48c8709f004d75983f9c5 - languageName: node - linkType: hard - -"array-union@npm:^2.1.0": - version: 2.1.0 - resolution: "array-union@npm:2.1.0" - checksum: 5bee12395cba82da674931df6d0fea23c4aa4660cb3b338ced9f828782a65caa232573e6bf3968f23e0c5eb301764a382cef2f128b170a9dc59de0e36c39f98d - languageName: node - linkType: hard - -"array.prototype.flat@npm:^1.2.5": - version: 1.3.0 - resolution: "array.prototype.flat@npm:1.3.0" - dependencies: - call-bind: ^1.0.2 - define-properties: ^1.1.3 - es-abstract: ^1.19.2 - es-shim-unscopables: ^1.0.0 - checksum: 2a652b3e8dc0bebb6117e42a5ab5738af0203a14c27341d7bb2431467bdb4b348e2c5dc555dfcda8af0a5e4075c400b85311ded73861c87290a71a17c3e0a257 - languageName: node - linkType: hard - "babel-jest@npm:^29.7.0": version: 29.7.0 resolution: "babel-jest@npm:29.7.0" @@ -3136,7 +3195,7 @@ __metadata: languageName: node linkType: hard -"braces@npm:^3.0.2": +"braces@npm:^3.0.2, braces@npm:^3.0.3": version: 3.0.3 resolution: "braces@npm:3.0.3" dependencies: @@ -3221,16 +3280,6 @@ __metadata: languageName: node linkType: hard -"call-bind@npm:^1.0.0, call-bind@npm:^1.0.2": - version: 1.0.2 - resolution: "call-bind@npm:1.0.2" - dependencies: - function-bind: ^1.1.1 - get-intrinsic: ^1.0.2 - checksum: f8e31de9d19988a4b80f3e704788c4a2d6b6f3d17cfec4f57dc29ced450c53a49270dc66bf0fbd693329ee948dd33e6c90a329519aef17474a4d961e8d6426b0 - languageName: node - linkType: hard - "callsites@npm:^3.0.0": version: 3.1.0 resolution: "callsites@npm:3.1.0" @@ -3409,10 +3458,10 @@ __metadata: languageName: node linkType: hard -"comment-parser@npm:1.3.1": - version: 1.3.1 - resolution: "comment-parser@npm:1.3.1" - checksum: 421e6a113a3afd548500e7174ab46a2049dccf92e82bbaa3b209031b1bdf97552aabfa1ae2a120c0b62df17e1ba70e0d8b05d68504fee78e1ef974c59bcfe718 +"comment-parser@npm:1.4.1": + version: 1.4.1 + resolution: "comment-parser@npm:1.4.1" + checksum: e0f6f60c5139689c4b1b208ea63e0730d9195a778e90dd909205f74f00b39eb0ead05374701ec5e5c29d6f28eb778cd7bc41c1366ab1d271907f1def132d6bf1 languageName: node linkType: hard @@ -3481,7 +3530,7 @@ __metadata: languageName: node linkType: hard -"cross-spawn@npm:^7.0.0, cross-spawn@npm:^7.0.2, cross-spawn@npm:^7.0.3": +"cross-spawn@npm:^7.0.0, cross-spawn@npm:^7.0.3": version: 7.0.3 resolution: "cross-spawn@npm:7.0.3" dependencies: @@ -3492,6 +3541,17 @@ __metadata: languageName: node linkType: hard +"cross-spawn@npm:^7.0.6": + version: 7.0.6 + resolution: "cross-spawn@npm:7.0.6" + dependencies: + path-key: ^3.1.0 + shebang-command: ^2.0.0 + which: ^2.0.1 + checksum: 8d306efacaf6f3f60e0224c287664093fa9185680b2d195852ba9a863f85d02dcc737094c6e512175f8ee0161f9b87c73c6826034c2422e39de7d6569cf4503b + languageName: node + linkType: hard + "debug@npm:4, debug@npm:^4.1.0, debug@npm:^4.1.1, debug@npm:^4.3.2, debug@npm:^4.3.3, debug@npm:^4.3.4": version: 4.3.4 resolution: "debug@npm:4.3.4" @@ -3504,15 +3564,6 @@ __metadata: languageName: node linkType: hard -"debug@npm:^2.6.9": - version: 2.6.9 - resolution: "debug@npm:2.6.9" - dependencies: - ms: 2.0.0 - checksum: d2f51589ca66df60bf36e1fa6e4386b318c3f1e06772280eea5b1ae9fd3d05e9c2b7fd8a7d862457d00853c75b00451aa2d7459b924629ee385287a650f58fe6 - languageName: node - linkType: hard - "debug@npm:^3.2.7": version: 3.2.7 resolution: "debug@npm:3.2.7" @@ -3522,6 +3573,18 @@ __metadata: languageName: node linkType: hard +"debug@npm:^4.3.1, debug@npm:^4.3.6, debug@npm:^4.3.7": + version: 4.4.0 + resolution: "debug@npm:4.4.0" + dependencies: + ms: ^2.1.3 + peerDependenciesMeta: + supports-color: + optional: true + checksum: fb42df878dd0e22816fc56e1fdca9da73caa85212fbe40c868b1295a6878f9101ae684f4eeef516c13acfc700f5ea07f1136954f43d4cd2d477a811144136479 + languageName: node + linkType: hard + "dedent@npm:^1.0.0": version: 1.5.1 resolution: "dedent@npm:1.5.1" @@ -3548,16 +3611,6 @@ __metadata: languageName: node linkType: hard -"define-properties@npm:^1.1.3, define-properties@npm:^1.1.4": - version: 1.1.4 - resolution: "define-properties@npm:1.1.4" - dependencies: - has-property-descriptors: ^1.0.0 - object-keys: ^1.1.1 - checksum: ce0aef3f9eb193562b5cfb79b2d2c86b6a109dfc9fdcb5f45d680631a1a908c06824ddcdb72b7573b54e26ace07f0a23420aaba0d5c627b34d2c1de8ef527e2b - languageName: node - linkType: hard - "delegates@npm:^1.0.0": version: 1.0.0 resolution: "delegates@npm:1.0.0" @@ -3607,24 +3660,6 @@ __metadata: languageName: node linkType: hard -"dir-glob@npm:^3.0.1": - version: 3.0.1 - resolution: "dir-glob@npm:3.0.1" - dependencies: - path-type: ^4.0.0 - checksum: fa05e18324510d7283f55862f3161c6759a3f2f8dbce491a2fc14c8324c498286c54282c1f0e933cb930da8419b30679389499b919122952a4f8592362ef4615 - languageName: node - linkType: hard - -"doctrine@npm:^2.1.0": - version: 2.1.0 - resolution: "doctrine@npm:2.1.0" - dependencies: - esutils: ^2.0.2 - checksum: a45e277f7feaed309fe658ace1ff286c6e2002ac515af0aaf37145b8baa96e49899638c7cd47dccf84c3d32abfc113246625b3ac8f552d1046072adee13b0dc8 - languageName: node - linkType: hard - "doctrine@npm:^3.0.0": version: 3.0.0 resolution: "doctrine@npm:3.0.0" @@ -3678,6 +3713,16 @@ __metadata: languageName: node linkType: hard +"enhanced-resolve@npm:^5.15.0, enhanced-resolve@npm:^5.17.1": + version: 5.18.1 + resolution: "enhanced-resolve@npm:5.18.1" + dependencies: + graceful-fs: ^4.2.4 + tapable: ^2.2.0 + checksum: de5bea7debe3576e78173bcc409c4aee7fcb56580c602d5c47c533b92952e55d7da3d9f53b864846ba62c8bd3efb0f9ecfe5f865e57de2f3e9b6e5cda03b4e7e + languageName: node + linkType: hard + "env-paths@npm:^2.2.0": version: 2.2.1 resolution: "env-paths@npm:2.2.1" @@ -3701,54 +3746,10 @@ __metadata: languageName: node linkType: hard -"es-abstract@npm:^1.19.0, es-abstract@npm:^1.19.1, es-abstract@npm:^1.19.2, es-abstract@npm:^1.19.5": - version: 1.20.1 - resolution: "es-abstract@npm:1.20.1" - dependencies: - call-bind: ^1.0.2 - es-to-primitive: ^1.2.1 - function-bind: ^1.1.1 - function.prototype.name: ^1.1.5 - get-intrinsic: ^1.1.1 - get-symbol-description: ^1.0.0 - has: ^1.0.3 - has-property-descriptors: ^1.0.0 - has-symbols: ^1.0.3 - internal-slot: ^1.0.3 - is-callable: ^1.2.4 - is-negative-zero: ^2.0.2 - is-regex: ^1.1.4 - is-shared-array-buffer: ^1.0.2 - is-string: ^1.0.7 - is-weakref: ^1.0.2 - object-inspect: ^1.12.0 - object-keys: ^1.1.1 - object.assign: ^4.1.2 - regexp.prototype.flags: ^1.4.3 - string.prototype.trimend: ^1.0.5 - string.prototype.trimstart: ^1.0.5 - unbox-primitive: ^1.0.2 - checksum: 28da27ae0ed9c76df7ee8ef5c278df79dcfdb554415faf7068bb7c58f8ba8e2a16bfb59e586844be6429ab4c302ca7748979d48442224cb1140b051866d74b7f - languageName: node - linkType: hard - -"es-shim-unscopables@npm:^1.0.0": - version: 1.0.0 - resolution: "es-shim-unscopables@npm:1.0.0" - dependencies: - has: ^1.0.3 - checksum: 83e95cadbb6ee44d3644dfad60dcad7929edbc42c85e66c3e99aefd68a3a5c5665f2686885cddb47dfeabfd77bd5ea5a7060f2092a955a729bbd8834f0d86fa1 - languageName: node - linkType: hard - -"es-to-primitive@npm:^1.2.1": - version: 1.2.1 - resolution: "es-to-primitive@npm:1.2.1" - dependencies: - is-callable: ^1.1.4 - is-date-object: ^1.0.1 - is-symbol: ^1.0.2 - checksum: 4ead6671a2c1402619bdd77f3503991232ca15e17e46222b0a41a5d81aebc8740a77822f5b3c965008e631153e9ef0580540007744521e72de8e33599fca2eed +"es-module-lexer@npm:^1.5.3": + version: 1.6.0 + resolution: "es-module-lexer@npm:1.6.0" + checksum: 4413a9aed9bf581de62b98174f3eea3f23ce2994fb6832df64bdd6504f6977da1a3b5ebd3c10f75e3c2f214dcf1a1d8b54be5e62c71b7110e6ccedbf975d2b7d languageName: node linkType: hard @@ -3857,6 +3858,17 @@ __metadata: languageName: node linkType: hard +"eslint-compat-utils@npm:^0.5.1": + version: 0.5.1 + resolution: "eslint-compat-utils@npm:0.5.1" + dependencies: + semver: ^7.5.4 + peerDependencies: + eslint: ">=6.0.0" + checksum: beccf2a5bd7c7974e3584b269f8a02667c83bca64cfd4c866f3055867f187e78b00ee826721765bdee9b13efaaa248f8068c581f7bb05803e8f47abb116e68fc + languageName: node + linkType: hard + "eslint-config-prettier@npm:^9.1.0": version: 9.1.0 resolution: "eslint-config-prettier@npm:9.1.0" @@ -3868,23 +3880,51 @@ __metadata: languageName: node linkType: hard -"eslint-import-resolver-node@npm:^0.3.6": - version: 0.3.6 - resolution: "eslint-import-resolver-node@npm:0.3.6" +"eslint-import-resolver-node@npm:^0.3.9": + version: 0.3.9 + resolution: "eslint-import-resolver-node@npm:0.3.9" dependencies: debug: ^3.2.7 - resolve: ^1.20.0 - checksum: 6266733af1e112970e855a5bcc2d2058fb5ae16ad2a6d400705a86b29552b36131ffc5581b744c23d550de844206fb55e9193691619ee4dbf225c4bde526b1c8 + is-core-module: ^2.13.0 + resolve: ^1.22.4 + checksum: 439b91271236b452d478d0522a44482e8c8540bf9df9bd744062ebb89ab45727a3acd03366a6ba2bdbcde8f9f718bab7fe8db64688aca75acf37e04eafd25e22 languageName: node linkType: hard -"eslint-module-utils@npm:^2.7.3": - version: 2.7.3 - resolution: "eslint-module-utils@npm:2.7.3" +"eslint-import-resolver-typescript@npm:^3.8.3": + version: 3.8.3 + resolution: "eslint-import-resolver-typescript@npm:3.8.3" dependencies: - debug: ^3.2.7 - find-up: ^2.1.0 - checksum: 77048263f309167a1e6a1e1b896bfb5ddd1d3859b2e2abbd9c32c432aee13d610d46e6820b1ca81b37fba437cf423a404bc6649be64ace9148a3062d1886a678 + "@nolyfill/is-core-module": 1.0.39 + debug: ^4.3.7 + enhanced-resolve: ^5.15.0 + get-tsconfig: ^4.10.0 + is-bun-module: ^1.0.2 + stable-hash: ^0.0.4 + tinyglobby: ^0.2.12 + peerDependencies: + eslint: "*" + eslint-plugin-import: "*" + eslint-plugin-import-x: "*" + peerDependenciesMeta: + eslint-plugin-import: + optional: true + eslint-plugin-import-x: + optional: true + checksum: 5d26f0147905a96428955ea2e88a16c0ba7cebb44a006b8fe5ea3d6c0d3046a0c55ce69407705d617f3d50d00110ed4fab11bcdb982fbfa53af646bf44b7292d + languageName: node + linkType: hard + +"eslint-plugin-es-x@npm:^7.8.0": + version: 7.8.0 + resolution: "eslint-plugin-es-x@npm:7.8.0" + dependencies: + "@eslint-community/eslint-utils": ^4.1.2 + "@eslint-community/regexpp": ^4.11.0 + eslint-compat-utils: ^0.5.1 + peerDependencies: + eslint: ">=8" + checksum: c30fc6bd94f86781eaf34dec59e7d52ee68b8a12305ae76222d8d0ff6cc0a5c94e8306ed079b4234d64f7464bcd162a5fef59e7cc69a978ba77950e0395c79f8 languageName: node linkType: hard @@ -3900,60 +3940,83 @@ __metadata: languageName: node linkType: hard -"eslint-plugin-import@npm:^2.26.0": - version: 2.26.0 - resolution: "eslint-plugin-import@npm:2.26.0" +"eslint-plugin-import-x@npm:^4.6.1": + version: 4.6.1 + resolution: "eslint-plugin-import-x@npm:4.6.1" dependencies: - array-includes: ^3.1.4 - array.prototype.flat: ^1.2.5 - debug: ^2.6.9 - doctrine: ^2.1.0 - eslint-import-resolver-node: ^0.3.6 - eslint-module-utils: ^2.7.3 - has: ^1.0.3 - is-core-module: ^2.8.1 + "@types/doctrine": ^0.0.9 + "@typescript-eslint/scope-manager": ^8.1.0 + "@typescript-eslint/utils": ^8.1.0 + debug: ^4.3.4 + doctrine: ^3.0.0 + enhanced-resolve: ^5.17.1 + eslint-import-resolver-node: ^0.3.9 + get-tsconfig: ^4.7.3 is-glob: ^4.0.3 - minimatch: ^3.1.2 - object.values: ^1.1.5 - resolve: ^1.22.0 - tsconfig-paths: ^3.14.1 + minimatch: ^9.0.3 + semver: ^7.6.3 + stable-hash: ^0.0.4 + tslib: ^2.6.3 peerDependencies: - eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 - checksum: 0bf77ad80339554481eafa2b1967449e1f816b94c7a6f9614ce33fb4083c4e6c050f10d241dd50b4975d47922880a34de1e42ea9d8e6fd663ebb768baa67e655 + eslint: ^8.57.0 || ^9.0.0 + checksum: 0f936d1555539640c7a3eb69ff1393c77d231aa20bc14d502e583979214ab3773eb27c0aff8b82f3f64aaeedfe949961d60cdb3dbb23e77470c68e2fddd3183f languageName: node linkType: hard -"eslint-plugin-jest@npm:^26.9.0": - version: 26.9.0 - resolution: "eslint-plugin-jest@npm:26.9.0" +"eslint-plugin-jest@npm:^28.11.0": + version: 28.11.0 + resolution: "eslint-plugin-jest@npm:28.11.0" dependencies: - "@typescript-eslint/utils": ^5.10.0 + "@typescript-eslint/utils": ^6.0.0 || ^7.0.0 || ^8.0.0 peerDependencies: - "@typescript-eslint/eslint-plugin": ^5.0.0 - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + "@typescript-eslint/eslint-plugin": ^6.0.0 || ^7.0.0 || ^8.0.0 + eslint: ^7.0.0 || ^8.0.0 || ^9.0.0 + jest: "*" peerDependenciesMeta: "@typescript-eslint/eslint-plugin": optional: true jest: optional: true - checksum: 6d5fd5c95368f1ca2640389aeb7ce703d6202493c3ec6bdedb4eaca37233710508b0c75829e727765a16fd27029a466d34202bc7f2811c752038ccbbce224400 + checksum: 809ec7f0d49dce288c21de484ca5ec2003f7ef355435dcdba591e96ccdcc6b30bf11f55b21f93cd260a56a82138a2c7835a0404ff20d34552f30729751c51dfa languageName: node linkType: hard -"eslint-plugin-jsdoc@npm:^39.6.2": - version: 39.6.2 - resolution: "eslint-plugin-jsdoc@npm:39.6.2" +"eslint-plugin-jsdoc@npm:^50.6.3": + version: 50.6.3 + resolution: "eslint-plugin-jsdoc@npm:50.6.3" dependencies: - "@es-joy/jsdoccomment": ~0.36.0 - comment-parser: 1.3.1 - debug: ^4.3.4 + "@es-joy/jsdoccomment": ~0.49.0 + are-docs-informative: ^0.0.2 + comment-parser: 1.4.1 + debug: ^4.3.6 escape-string-regexp: ^4.0.0 - esquery: ^1.4.0 - semver: ^7.3.8 - spdx-expression-parse: ^3.0.1 + espree: ^10.1.0 + esquery: ^1.6.0 + parse-imports: ^2.1.1 + semver: ^7.6.3 + spdx-expression-parse: ^4.0.0 + synckit: ^0.9.1 peerDependencies: - eslint: ^7.0.0 || ^8.0.0 - checksum: 613c541a644d441e5465139b2a1934842a29c701fb89f0380f105be28180c1fa2f3c08b421b134b87fef194d4fb4dab4006a972a084e476eebb14cf5bb9399fe + eslint: ^7.0.0 || ^8.0.0 || ^9.0.0 + checksum: 6ccfc393480c6aa4cb342ac3424e8a65fad1e7482639a69f8fe3c62009f3f9ddcb0ff016afa0978eaa5ab4ef5a89a5eec0c958d1c3c58647370afc0773b4a442 + languageName: node + linkType: hard + +"eslint-plugin-n@npm:^17.15.1": + version: 17.15.1 + resolution: "eslint-plugin-n@npm:17.15.1" + dependencies: + "@eslint-community/eslint-utils": ^4.4.1 + enhanced-resolve: ^5.17.1 + eslint-plugin-es-x: ^7.8.0 + get-tsconfig: ^4.8.1 + globals: ^15.11.0 + ignore: ^5.3.2 + minimatch: ^9.0.5 + semver: ^7.6.3 + peerDependencies: + eslint: ">=8.23.0" + checksum: daf93ad160adbdd1fdd68e739f9f6e94802410b31c197fa38302d8cbe8bb26e9766d186a43c775d485b975c65cbbb8783723a41c31751ac543699ccbf528dd20 languageName: node linkType: hard @@ -3973,9 +4036,9 @@ __metadata: languageName: node linkType: hard -"eslint-plugin-prettier@npm:^5.2.1": - version: 5.2.1 - resolution: "eslint-plugin-prettier@npm:5.2.1" +"eslint-plugin-prettier@npm:^5.2.3": + version: 5.2.3 + resolution: "eslint-plugin-prettier@npm:5.2.3" dependencies: prettier-linter-helpers: ^1.0.0 synckit: ^0.9.1 @@ -3989,27 +4052,28 @@ __metadata: optional: true eslint-config-prettier: optional: true - checksum: 812f4d1596dcd3a55963212dfbd818a4b38f880741aac75f6869aa740dc5d934060674d3b85d10ff9fec424defa61967dbdef26b8a893a92c9b51880264ed0d9 + checksum: 3f3210ed6a52eb2e7cd10a635857328136149c79240627b8f5dbc6c5271d5020b17ab2e7067acc0a82fec686fa35ed182dd8d67feca41818d6a7810bf6dad2b6 languageName: node linkType: hard -"eslint-scope@npm:^5.1.1": - version: 5.1.1 - resolution: "eslint-scope@npm:5.1.1" +"eslint-plugin-promise@npm:^7.2.1": + version: 7.2.1 + resolution: "eslint-plugin-promise@npm:7.2.1" dependencies: - esrecurse: ^4.3.0 - estraverse: ^4.1.1 - checksum: 47e4b6a3f0cc29c7feedee6c67b225a2da7e155802c6ea13bbef4ac6b9e10c66cd2dcb987867ef176292bf4e64eccc680a49e35e9e9c669f4a02bac17e86abdb + "@eslint-community/eslint-utils": ^4.4.0 + peerDependencies: + eslint: ^7.0.0 || ^8.0.0 || ^9.0.0 + checksum: 9101a93efd79f5202d0239d7666935c1d5655f64f4527cea6e82e1438b4de4304351de60f2c26201289a22eed1da4b3a21e7996fa3268b9943b98d12c80b2030 languageName: node linkType: hard -"eslint-scope@npm:^7.2.0": - version: 7.2.0 - resolution: "eslint-scope@npm:7.2.0" +"eslint-scope@npm:^8.2.0": + version: 8.2.0 + resolution: "eslint-scope@npm:8.2.0" dependencies: esrecurse: ^4.3.0 estraverse: ^5.2.0 - checksum: 64591a2d8b244ade9c690b59ef238a11d5c721a98bcee9e9f445454f442d03d3e04eda88e95a4daec558220a99fa384309d9faae3d459bd40e7a81b4063980ae + checksum: 750eff4672ca2bf274ec0d1bbeae08aadd53c1907d5c6aff5564d8e047a5f49afa8ae6eee333cab637fd3ebcab2141659d8f2f040f6fdc982b0f61f8bf03136f languageName: node linkType: hard @@ -4029,71 +4093,84 @@ __metadata: languageName: node linkType: hard -"eslint-visitor-keys@npm:^3.3.0, eslint-visitor-keys@npm:^3.4.0": +"eslint-visitor-keys@npm:^3.3.0": version: 3.4.0 resolution: "eslint-visitor-keys@npm:3.4.0" checksum: 33159169462d3989321a1ec1e9aaaf6a24cc403d5d347e9886d1b5bfe18ffa1be73bdc6203143a28a606b142b1af49787f33cff0d6d0813eb5f2e8d2e1a6043c languageName: node linkType: hard -"eslint@npm:^8.27.0": - version: 8.39.0 - resolution: "eslint@npm:8.39.0" +"eslint-visitor-keys@npm:^3.4.3": + version: 3.4.3 + resolution: "eslint-visitor-keys@npm:3.4.3" + checksum: 36e9ef87fca698b6fd7ca5ca35d7b2b6eeaaf106572e2f7fd31c12d3bfdaccdb587bba6d3621067e5aece31c8c3a348b93922ab8f7b2cbc6aaab5e1d89040c60 + languageName: node + linkType: hard + +"eslint-visitor-keys@npm:^4.2.0": + version: 4.2.0 + resolution: "eslint-visitor-keys@npm:4.2.0" + checksum: 779c604672b570bb4da84cef32f6abb085ac78379779c1122d7879eade8bb38ae715645324597cf23232d03cef06032c9844d25c73625bc282a5bfd30247e5b5 + languageName: node + linkType: hard + +"eslint@npm:^9.21.0": + version: 9.21.0 + resolution: "eslint@npm:9.21.0" dependencies: "@eslint-community/eslint-utils": ^4.2.0 - "@eslint-community/regexpp": ^4.4.0 - "@eslint/eslintrc": ^2.0.2 - "@eslint/js": 8.39.0 - "@humanwhocodes/config-array": ^0.11.8 + "@eslint-community/regexpp": ^4.12.1 + "@eslint/config-array": ^0.19.2 + "@eslint/core": ^0.12.0 + "@eslint/eslintrc": ^3.3.0 + "@eslint/js": 9.21.0 + "@eslint/plugin-kit": ^0.2.7 + "@humanfs/node": ^0.16.6 "@humanwhocodes/module-importer": ^1.0.1 - "@nodelib/fs.walk": ^1.2.8 - ajv: ^6.10.0 + "@humanwhocodes/retry": ^0.4.2 + "@types/estree": ^1.0.6 + "@types/json-schema": ^7.0.15 + ajv: ^6.12.4 chalk: ^4.0.0 - cross-spawn: ^7.0.2 + cross-spawn: ^7.0.6 debug: ^4.3.2 - doctrine: ^3.0.0 escape-string-regexp: ^4.0.0 - eslint-scope: ^7.2.0 - eslint-visitor-keys: ^3.4.0 - espree: ^9.5.1 - esquery: ^1.4.2 + eslint-scope: ^8.2.0 + eslint-visitor-keys: ^4.2.0 + espree: ^10.3.0 + esquery: ^1.5.0 esutils: ^2.0.2 fast-deep-equal: ^3.1.3 - file-entry-cache: ^6.0.1 + file-entry-cache: ^8.0.0 find-up: ^5.0.0 glob-parent: ^6.0.2 - globals: ^13.19.0 - grapheme-splitter: ^1.0.4 ignore: ^5.2.0 - import-fresh: ^3.0.0 imurmurhash: ^0.1.4 is-glob: ^4.0.0 - is-path-inside: ^3.0.3 - js-sdsl: ^4.1.4 - js-yaml: ^4.1.0 json-stable-stringify-without-jsonify: ^1.0.1 - levn: ^0.4.1 lodash.merge: ^4.6.2 minimatch: ^3.1.2 natural-compare: ^1.4.0 - optionator: ^0.9.1 - strip-ansi: ^6.0.1 - strip-json-comments: ^3.1.0 - text-table: ^0.2.0 + optionator: ^0.9.3 + peerDependencies: + jiti: "*" + peerDependenciesMeta: + jiti: + optional: true bin: eslint: bin/eslint.js - checksum: d7a074ff326e7ea482500dc0427a7d4b0260460f0f812d19b46b1cca681806b67309f23da9d17cd3de8eb74dd3c14cb549c4d58b05b140564d14cc1a391122a0 + checksum: 83a493877fe1cda3a0c3028de6ebfbc16abc2b26decd304a4e424961fa1ba7fc4e950ed1d7c37f85f5c7053c7e1d990fd92c46c0cdd9dedbbb002076745b4ce5 languageName: node linkType: hard -"espree@npm:^9.5.1": - version: 9.5.1 - resolution: "espree@npm:9.5.1" +"espree@npm:^10.0.1, espree@npm:^10.1.0, espree@npm:^10.3.0": + version: 10.3.0 + resolution: "espree@npm:10.3.0" dependencies: - acorn: ^8.8.0 + acorn: ^8.14.0 acorn-jsx: ^5.3.2 - eslint-visitor-keys: ^3.4.0 - checksum: cdf6e43540433d917c4f2ee087c6e987b2063baa85a1d9cdaf51533d78275ebd5910c42154e7baf8e3e89804b386da0a2f7fad2264d8f04420e7506bf87b3b88 + eslint-visitor-keys: ^4.2.0 + checksum: 63e8030ff5a98cea7f8b3e3a1487c998665e28d674af08b9b3100ed991670eb3cbb0e308c4548c79e03762753838fbe530c783f17309450d6b47a889fee72bef languageName: node linkType: hard @@ -4107,12 +4184,12 @@ __metadata: languageName: node linkType: hard -"esquery@npm:^1.4.0, esquery@npm:^1.4.2": - version: 1.5.0 - resolution: "esquery@npm:1.5.0" +"esquery@npm:^1.5.0, esquery@npm:^1.6.0": + version: 1.6.0 + resolution: "esquery@npm:1.6.0" dependencies: estraverse: ^5.1.0 - checksum: aefb0d2596c230118656cd4ec7532d447333a410a48834d80ea648b1e7b5c9bc9ed8b5e33a89cb04e487b60d622f44cf5713bf4abed7c97343edefdc84a35900 + checksum: 08ec4fe446d9ab27186da274d979558557fbdbbd10968fa9758552482720c54152a5640e08b9009e5a30706b66aba510692054d4129d32d0e12e05bbc0b96fb2 languageName: node linkType: hard @@ -4125,13 +4202,6 @@ __metadata: languageName: node linkType: hard -"estraverse@npm:^4.1.1": - version: 4.3.0 - resolution: "estraverse@npm:4.3.0" - checksum: a6299491f9940bb246124a8d44b7b7a413a8336f5436f9837aaa9330209bd9ee8af7e91a654a3545aee9c54b3308e78ee360cef1d777d37cfef77d2fa33b5827 - languageName: node - linkType: hard - "estraverse@npm:^5.1.0, estraverse@npm:^5.2.0": version: 5.3.0 resolution: "estraverse@npm:5.3.0" @@ -4233,16 +4303,16 @@ __metadata: languageName: node linkType: hard -"fast-glob@npm:^3.2.9, fast-glob@npm:^3.3.0": - version: 3.3.2 - resolution: "fast-glob@npm:3.3.2" +"fast-glob@npm:^3.3.2": + version: 3.3.3 + resolution: "fast-glob@npm:3.3.3" dependencies: "@nodelib/fs.stat": ^2.0.2 "@nodelib/fs.walk": ^1.2.3 glob-parent: ^5.1.2 merge2: ^1.3.0 - micromatch: ^4.0.4 - checksum: 900e4979f4dbc3313840078419245621259f349950411ca2fa445a2f9a1a6d98c3b5e7e0660c5ccd563aa61abe133a21765c6c0dec8e57da1ba71d8000b05ec1 + micromatch: ^4.0.8 + checksum: 0704d7b85c0305fd2cef37777337dfa26230fdd072dce9fb5c82a4b03156f3ffb8ed3e636033e65d45d2a5805a4e475825369a27404c0307f2db0c8eb3366fbd languageName: node linkType: hard @@ -4278,6 +4348,18 @@ __metadata: languageName: node linkType: hard +"fdir@npm:^6.4.3": + version: 6.4.3 + resolution: "fdir@npm:6.4.3" + peerDependencies: + picomatch: ^3 || ^4 + peerDependenciesMeta: + picomatch: + optional: true + checksum: fa53e13c63e8c14add5b70fd47e28267dd5481ebbba4b47720ec25aae7d10a800ef0f2e33de350faaf63c10b3d7b64138925718832220d593f75e724846c736d + languageName: node + linkType: hard + "figures@npm:^3.2.0": version: 3.2.0 resolution: "figures@npm:3.2.0" @@ -4287,12 +4369,12 @@ __metadata: languageName: node linkType: hard -"file-entry-cache@npm:^6.0.1": - version: 6.0.1 - resolution: "file-entry-cache@npm:6.0.1" +"file-entry-cache@npm:^8.0.0": + version: 8.0.0 + resolution: "file-entry-cache@npm:8.0.0" dependencies: - flat-cache: ^3.0.4 - checksum: f49701feaa6314c8127c3c2f6173cfefff17612f5ed2daaafc6da13b5c91fd43e3b2a58fd0d63f9f94478a501b167615931e7200e31485e320f74a33885a9c74 + flat-cache: ^4.0.0 + checksum: f67802d3334809048c69b3d458f672e1b6d26daefda701761c81f203b80149c35dea04d78ea4238969dd617678e530876722a0634c43031a0957f10cc3ed190f languageName: node linkType: hard @@ -4305,15 +4387,6 @@ __metadata: languageName: node linkType: hard -"find-up@npm:^2.1.0": - version: 2.1.0 - resolution: "find-up@npm:2.1.0" - dependencies: - locate-path: ^2.0.0 - checksum: 43284fe4da09f89011f08e3c32cd38401e786b19226ea440b75386c1b12a4cb738c94969808d53a84f564ede22f732c8409e3cfc3f7fb5b5c32378ad0bbf28bd - languageName: node - linkType: hard - "find-up@npm:^4.0.0, find-up@npm:^4.1.0": version: 4.1.0 resolution: "find-up@npm:4.1.0" @@ -4334,20 +4407,20 @@ __metadata: languageName: node linkType: hard -"flat-cache@npm:^3.0.4": - version: 3.0.4 - resolution: "flat-cache@npm:3.0.4" +"flat-cache@npm:^4.0.0": + version: 4.0.1 + resolution: "flat-cache@npm:4.0.1" dependencies: - flatted: ^3.1.0 - rimraf: ^3.0.2 - checksum: 4fdd10ecbcbf7d520f9040dd1340eb5dfe951e6f0ecf2252edeec03ee68d989ec8b9a20f4434270e71bcfd57800dc09b3344fca3966b2eb8f613072c7d9a2365 + flatted: ^3.2.9 + keyv: ^4.5.4 + checksum: 899fc86bf6df093547d76e7bfaeb900824b869d7d457d02e9b8aae24836f0a99fbad79328cfd6415ee8908f180699bf259dc7614f793447cb14f707caf5996f6 languageName: node linkType: hard -"flatted@npm:^3.1.0": - version: 3.2.6 - resolution: "flatted@npm:3.2.6" - checksum: 33b87aa88dfa40ca6ee31d7df61712bbbad3d3c05c132c23e59b9b61d34631b337a18ff2b8dc5553acdc871ec72b741e485f78969cf006124a3f57174de29a0e +"flatted@npm:^3.2.9": + version: 3.3.3 + resolution: "flatted@npm:3.3.3" + checksum: 8c96c02fbeadcf4e8ffd0fa24983241e27698b0781295622591fc13585e2f226609d95e422bcf2ef044146ffacb6b68b1f20871454eddf75ab3caa6ee5f4a1fe languageName: node linkType: hard @@ -4405,32 +4478,13 @@ __metadata: languageName: node linkType: hard -"function-bind@npm:^1.1.1, function-bind@npm:^1.1.2": +"function-bind@npm:^1.1.2": version: 1.1.2 resolution: "function-bind@npm:1.1.2" checksum: 2b0ff4ce708d99715ad14a6d1f894e2a83242e4a52ccfcefaee5e40050562e5f6dafc1adbb4ce2d4ab47279a45dc736ab91ea5042d843c3c092820dfe032efb1 languageName: node linkType: hard -"function.prototype.name@npm:^1.1.5": - version: 1.1.5 - resolution: "function.prototype.name@npm:1.1.5" - dependencies: - call-bind: ^1.0.2 - define-properties: ^1.1.3 - es-abstract: ^1.19.0 - functions-have-names: ^1.2.2 - checksum: acd21d733a9b649c2c442f067567743214af5fa248dbeee69d8278ce7df3329ea5abac572be9f7470b4ec1cd4d8f1040e3c5caccf98ebf2bf861a0deab735c27 - languageName: node - linkType: hard - -"functions-have-names@npm:^1.2.2": - version: 1.2.3 - resolution: "functions-have-names@npm:1.2.3" - checksum: c3f1f5ba20f4e962efb71344ce0a40722163e85bee2101ce25f88214e78182d2d2476aa85ef37950c579eb6cf6ee811c17b3101bb84004bb75655f3e33f3fdb5 - languageName: node - linkType: hard - "gauge@npm:^4.0.3": version: 4.0.4 resolution: "gauge@npm:4.0.4" @@ -4461,17 +4515,6 @@ __metadata: languageName: node linkType: hard -"get-intrinsic@npm:^1.0.2, get-intrinsic@npm:^1.1.0, get-intrinsic@npm:^1.1.1": - version: 1.1.2 - resolution: "get-intrinsic@npm:1.1.2" - dependencies: - function-bind: ^1.1.1 - has: ^1.0.3 - has-symbols: ^1.0.3 - checksum: 252f45491f2ba88ebf5b38018020c7cc3279de54b1d67ffb70c0cdf1dfa8ab31cd56467b5d117a8b4275b7a4dde91f86766b163a17a850f036528a7b2faafb2b - languageName: node - linkType: hard - "get-package-type@npm:^0.1.0": version: 0.1.0 resolution: "get-package-type@npm:0.1.0" @@ -4500,13 +4543,12 @@ __metadata: languageName: node linkType: hard -"get-symbol-description@npm:^1.0.0": - version: 1.0.0 - resolution: "get-symbol-description@npm:1.0.0" +"get-tsconfig@npm:^4.10.0, get-tsconfig@npm:^4.7.3, get-tsconfig@npm:^4.8.1": + version: 4.10.0 + resolution: "get-tsconfig@npm:4.10.0" dependencies: - call-bind: ^1.0.2 - get-intrinsic: ^1.1.1 - checksum: 9ceff8fe968f9270a37a1f73bf3f1f7bda69ca80f4f80850670e0e7b9444ff99323f7ac52f96567f8b5f5fbe7ac717a0d81d3407c7313e82810c6199446a5247 + resolve-pkg-maps: ^1.0.0 + checksum: cebf14d38ecaa9a1af25fc3f56317402a4457e7e20f30f52a0ab98b4c85962a259f75065e483824f73a1ce4a8e4926c149ead60f0619842b8cd13b94e15fbdec languageName: node linkType: hard @@ -4606,39 +4648,24 @@ __metadata: languageName: node linkType: hard -"globals@npm:^13.19.0": - version: 13.20.0 - resolution: "globals@npm:13.20.0" - dependencies: - type-fest: ^0.20.2 - checksum: ad1ecf914bd051325faad281d02ea2c0b1df5d01bd94d368dcc5513340eac41d14b3c61af325768e3c7f8d44576e72780ec0b6f2d366121f8eec6e03c3a3b97a +"globals@npm:^14.0.0": + version: 14.0.0 + resolution: "globals@npm:14.0.0" + checksum: 534b8216736a5425737f59f6e6a5c7f386254560c9f41d24a9227d60ee3ad4a9e82c5b85def0e212e9d92162f83a92544be4c7fd4c902cb913736c10e08237ac languageName: node linkType: hard -"globby@npm:^11.1.0": - version: 11.1.0 - resolution: "globby@npm:11.1.0" - dependencies: - array-union: ^2.1.0 - dir-glob: ^3.0.1 - fast-glob: ^3.2.9 - ignore: ^5.2.0 - merge2: ^1.4.1 - slash: ^3.0.0 - checksum: b4be8885e0cfa018fc783792942d53926c35c50b3aefd3fdcfb9d22c627639dc26bd2327a40a0b74b074100ce95bb7187bfeae2f236856aa3de183af7a02aea6 +"globals@npm:^15.11.0, globals@npm:^15.9.0": + version: 15.15.0 + resolution: "globals@npm:15.15.0" + checksum: a2a92199a112db00562a2f85eeef2a7e3943e171f7f7d9b17dfa9231e35fd612588f3c199d1509ab1757273467e413b08c80424cf6e399e96acdaf93deb3ee88 languageName: node linkType: hard -"globby@npm:^13.1.2": - version: 13.2.2 - resolution: "globby@npm:13.2.2" - dependencies: - dir-glob: ^3.0.1 - fast-glob: ^3.3.0 - ignore: ^5.2.4 - merge2: ^1.4.1 - slash: ^4.0.0 - checksum: f3d84ced58a901b4fcc29c846983108c426631fe47e94872868b65565495f7bee7b3defd68923bd480582771fd4bbe819217803a164a618ad76f1d22f666f41e +"graceful-fs@npm:^4.2.4": + version: 4.2.11 + resolution: "graceful-fs@npm:4.2.11" + checksum: ac85f94da92d8eb6b7f5a8b20ce65e43d66761c55ce85ac96df6865308390da45a8d3f0296dd3a663de65d30ba497bd46c696cc1e248c72b13d6d567138a4fc7 languageName: node linkType: hard @@ -4649,13 +4676,6 @@ __metadata: languageName: node linkType: hard -"grapheme-splitter@npm:^1.0.4": - version: 1.0.4 - resolution: "grapheme-splitter@npm:1.0.4" - checksum: 0c22ec54dee1b05cd480f78cf14f732cb5b108edc073572c4ec205df4cd63f30f8db8025afc5debc8835a8ddeacf648a1c7992fe3dcd6ad38f9a476d84906620 - languageName: node - linkType: hard - "graphemer@npm:^1.4.0": version: 1.4.0 resolution: "graphemer@npm:1.4.0" @@ -4663,13 +4683,6 @@ __metadata: languageName: node linkType: hard -"has-bigints@npm:^1.0.1, has-bigints@npm:^1.0.2": - version: 1.0.2 - resolution: "has-bigints@npm:1.0.2" - checksum: 390e31e7be7e5c6fe68b81babb73dfc35d413604d7ee5f56da101417027a4b4ce6a27e46eff97ad040c835b5d228676eae99a9b5c3bc0e23c8e81a49241ff45b - languageName: node - linkType: hard - "has-flag@npm:^3.0.0": version: 3.0.0 resolution: "has-flag@npm:3.0.0" @@ -4684,44 +4697,10 @@ __metadata: languageName: node linkType: hard -"has-property-descriptors@npm:^1.0.0": - version: 1.0.0 - resolution: "has-property-descriptors@npm:1.0.0" - dependencies: - get-intrinsic: ^1.1.1 - checksum: a6d3f0a266d0294d972e354782e872e2fe1b6495b321e6ef678c9b7a06a40408a6891817350c62e752adced73a94ac903c54734fee05bf65b1905ee1368194bb - languageName: node - linkType: hard - -"has-symbols@npm:^1.0.1, has-symbols@npm:^1.0.2, has-symbols@npm:^1.0.3": - version: 1.0.3 - resolution: "has-symbols@npm:1.0.3" - checksum: a054c40c631c0d5741a8285010a0777ea0c068f99ed43e5d6eb12972da223f8af553a455132fdb0801bdcfa0e0f443c0c03a68d8555aa529b3144b446c3f2410 - languageName: node - linkType: hard - -"has-tostringtag@npm:^1.0.0": - version: 1.0.0 - resolution: "has-tostringtag@npm:1.0.0" - dependencies: - has-symbols: ^1.0.2 - checksum: cc12eb28cb6ae22369ebaad3a8ab0799ed61270991be88f208d508076a1e99abe4198c965935ce85ea90b60c94ddda73693b0920b58e7ead048b4a391b502c1c - languageName: node - linkType: hard - -"has-unicode@npm:^2.0.1": - version: 2.0.1 - resolution: "has-unicode@npm:2.0.1" - checksum: 1eab07a7436512db0be40a710b29b5dc21fa04880b7f63c9980b706683127e3c1b57cb80ea96d47991bdae2dfe479604f6a1ba410106ee1046a41d1bd0814400 - languageName: node - linkType: hard - -"has@npm:^1.0.3": - version: 1.0.3 - resolution: "has@npm:1.0.3" - dependencies: - function-bind: ^1.1.1 - checksum: b9ad53d53be4af90ce5d1c38331e712522417d017d5ef1ebd0507e07c2fbad8686fffb8e12ddecd4c39ca9b9b47431afbb975b8abf7f3c3b82c98e9aad052792 +"has-unicode@npm:^2.0.1": + version: 2.0.1 + resolution: "has-unicode@npm:2.0.1" + checksum: 1eab07a7436512db0be40a710b29b5dc21fa04880b7f63c9980b706683127e3c1b57cb80ea96d47991bdae2dfe479604f6a1ba410106ee1046a41d1bd0814400 languageName: node linkType: hard @@ -4734,6 +4713,15 @@ __metadata: languageName: node linkType: hard +"hasown@npm:^2.0.2": + version: 2.0.2 + resolution: "hasown@npm:2.0.2" + dependencies: + function-bind: ^1.1.2 + checksum: e8516f776a15149ca6c6ed2ae3110c417a00b62260e222590e54aa367cbcd6ed99122020b37b7fbdf05748df57b265e70095d7bf35a47660587619b15ffb93db + languageName: node + linkType: hard + "hosted-git-info@npm:^7.0.0": version: 7.0.2 resolution: "hosted-git-info@npm:7.0.2" @@ -4830,14 +4818,14 @@ __metadata: languageName: node linkType: hard -"ignore@npm:^5.1.1, ignore@npm:^5.2.0, ignore@npm:^5.2.4": +"ignore@npm:^5.1.1, ignore@npm:^5.2.0, ignore@npm:^5.3.1, ignore@npm:^5.3.2": version: 5.3.2 resolution: "ignore@npm:5.3.2" checksum: 2acfd32a573260ea522ea0bfeff880af426d68f6831f973129e2ba7363f422923cf53aab62f8369cbf4667c7b25b6f8a3761b34ecdb284ea18e87a5262a865be languageName: node linkType: hard -"import-fresh@npm:^3.0.0, import-fresh@npm:^3.2.1": +"import-fresh@npm:^3.2.1": version: 3.3.0 resolution: "import-fresh@npm:3.3.0" dependencies: @@ -4904,17 +4892,6 @@ __metadata: languageName: node linkType: hard -"internal-slot@npm:^1.0.3": - version: 1.0.3 - resolution: "internal-slot@npm:1.0.3" - dependencies: - get-intrinsic: ^1.1.0 - has: ^1.0.3 - side-channel: ^1.0.4 - checksum: 1944f92e981e47aebc98a88ff0db579fd90543d937806104d0b96557b10c1f170c51fb777b97740a8b6ddeec585fca8c39ae99fd08a8e058dfc8ab70937238bf - languageName: node - linkType: hard - "ip-address@npm:^9.0.5": version: 9.0.5 resolution: "ip-address@npm:9.0.5" @@ -4932,33 +4909,16 @@ __metadata: languageName: node linkType: hard -"is-bigint@npm:^1.0.1": - version: 1.0.4 - resolution: "is-bigint@npm:1.0.4" - dependencies: - has-bigints: ^1.0.1 - checksum: c56edfe09b1154f8668e53ebe8252b6f185ee852a50f9b41e8d921cb2bed425652049fbe438723f6cb48a63ca1aa051e948e7e401e093477c99c84eba244f666 - languageName: node - linkType: hard - -"is-boolean-object@npm:^1.1.0": - version: 1.1.2 - resolution: "is-boolean-object@npm:1.1.2" +"is-bun-module@npm:^1.0.2": + version: 1.3.0 + resolution: "is-bun-module@npm:1.3.0" dependencies: - call-bind: ^1.0.2 - has-tostringtag: ^1.0.0 - checksum: c03b23dbaacadc18940defb12c1c0e3aaece7553ef58b162a0f6bba0c2a7e1551b59f365b91e00d2dbac0522392d576ef322628cb1d036a0fe51eb466db67222 - languageName: node - linkType: hard - -"is-callable@npm:^1.1.4, is-callable@npm:^1.2.4": - version: 1.2.4 - resolution: "is-callable@npm:1.2.4" - checksum: 1a28d57dc435797dae04b173b65d6d1e77d4f16276e9eff973f994eadcfdc30a017e6a597f092752a083c1103cceb56c91e3dadc6692fedb9898dfaba701575f + semver: ^7.6.3 + checksum: b23d9ec7b4d4bfd89e4e72b5cd52e1bc153facad59fdd7394c656f8859a78740ef35996a2066240a32f39cc9a9da4b4eb69e68df3c71755a61ebbaf56d3daef0 languageName: node linkType: hard -"is-core-module@npm:^2.13.0, is-core-module@npm:^2.8.1": +"is-core-module@npm:^2.13.0": version: 2.13.1 resolution: "is-core-module@npm:2.13.1" dependencies: @@ -4967,12 +4927,12 @@ __metadata: languageName: node linkType: hard -"is-date-object@npm:^1.0.1": - version: 1.0.5 - resolution: "is-date-object@npm:1.0.5" +"is-core-module@npm:^2.16.0": + version: 2.16.1 + resolution: "is-core-module@npm:2.16.1" dependencies: - has-tostringtag: ^1.0.0 - checksum: baa9077cdf15eb7b58c79398604ca57379b2fc4cf9aa7a9b9e295278648f628c9b201400c01c5e0f7afae56507d741185730307cbe7cad3b9f90a77e5ee342fc + hasown: ^2.0.2 + checksum: 6ec5b3c42d9cbf1ac23f164b16b8a140c3cec338bf8f884c076ca89950c7cc04c33e78f02b8cae7ff4751f3247e3174b2330f1fe4de194c7210deb8b1ea316a7 languageName: node linkType: hard @@ -5013,22 +4973,6 @@ __metadata: languageName: node linkType: hard -"is-negative-zero@npm:^2.0.2": - version: 2.0.2 - resolution: "is-negative-zero@npm:2.0.2" - checksum: f3232194c47a549da60c3d509c9a09be442507616b69454716692e37ae9f37c4dea264fb208ad0c9f3efd15a796a46b79df07c7e53c6227c32170608b809149a - languageName: node - linkType: hard - -"is-number-object@npm:^1.0.4": - version: 1.0.7 - resolution: "is-number-object@npm:1.0.7" - dependencies: - has-tostringtag: ^1.0.0 - checksum: d1e8d01bb0a7134c74649c4e62da0c6118a0bfc6771ea3c560914d52a627873e6920dd0fd0ebc0e12ad2ff4687eac4c308f7e80320b973b2c8a2c8f97a7524f7 - languageName: node - linkType: hard - "is-number@npm:^7.0.0": version: 7.0.0 resolution: "is-number@npm:7.0.0" @@ -5036,13 +4980,6 @@ __metadata: languageName: node linkType: hard -"is-path-inside@npm:^3.0.3": - version: 3.0.3 - resolution: "is-path-inside@npm:3.0.3" - checksum: abd50f06186a052b349c15e55b182326f1936c89a78bf6c8f2b707412517c097ce04bc49a0ca221787bc44e1049f51f09a2ffb63d22899051988d3a618ba13e9 - languageName: node - linkType: hard - "is-plain-obj@npm:^4.1.0": version: 4.1.0 resolution: "is-plain-obj@npm:4.1.0" @@ -5050,25 +4987,6 @@ __metadata: languageName: node linkType: hard -"is-regex@npm:^1.1.4": - version: 1.1.4 - resolution: "is-regex@npm:1.1.4" - dependencies: - call-bind: ^1.0.2 - has-tostringtag: ^1.0.0 - checksum: 362399b33535bc8f386d96c45c9feb04cf7f8b41c182f54174c1a45c9abbbe5e31290bbad09a458583ff6bf3b2048672cdb1881b13289569a7c548370856a652 - languageName: node - linkType: hard - -"is-shared-array-buffer@npm:^1.0.2": - version: 1.0.2 - resolution: "is-shared-array-buffer@npm:1.0.2" - dependencies: - call-bind: ^1.0.2 - checksum: 9508929cf14fdc1afc9d61d723c6e8d34f5e117f0bffda4d97e7a5d88c3a8681f633a74f8e3ad1fe92d5113f9b921dc5ca44356492079612f9a247efbce7032a - languageName: node - linkType: hard - "is-stream@npm:^2.0.0": version: 2.0.1 resolution: "is-stream@npm:2.0.1" @@ -5083,33 +5001,6 @@ __metadata: languageName: node linkType: hard -"is-string@npm:^1.0.5, is-string@npm:^1.0.7": - version: 1.0.7 - resolution: "is-string@npm:1.0.7" - dependencies: - has-tostringtag: ^1.0.0 - checksum: 323b3d04622f78d45077cf89aab783b2f49d24dc641aa89b5ad1a72114cfeff2585efc8c12ef42466dff32bde93d839ad321b26884cf75e5a7892a938b089989 - languageName: node - linkType: hard - -"is-symbol@npm:^1.0.2, is-symbol@npm:^1.0.3": - version: 1.0.4 - resolution: "is-symbol@npm:1.0.4" - dependencies: - has-symbols: ^1.0.2 - checksum: 92805812ef590738d9de49d677cd17dfd486794773fb6fa0032d16452af46e9b91bb43ffe82c983570f015b37136f4b53b28b8523bfb10b0ece7a66c31a54510 - languageName: node - linkType: hard - -"is-weakref@npm:^1.0.2": - version: 1.0.2 - resolution: "is-weakref@npm:1.0.2" - dependencies: - call-bind: ^1.0.2 - checksum: 95bd9a57cdcb58c63b1c401c60a474b0f45b94719c30f548c891860f051bc2231575c290a6b420c6bc6e7ed99459d424c652bd5bf9a1d5259505dc35b4bf83de - languageName: node - linkType: hard - "isexe@npm:^2.0.0": version: 2.0.0 resolution: "isexe@npm:2.0.0" @@ -5663,13 +5554,6 @@ __metadata: languageName: node linkType: hard -"js-sdsl@npm:^4.1.4": - version: 4.1.5 - resolution: "js-sdsl@npm:4.1.5" - checksum: 695f657ddc5be462b97cac4e8e60f37de28d628ee0e23016baecff0bb584a18dddb5caeac537a775030f180b5afd62133ac4481e7024c8d03a62d73e4da0713e - languageName: node - linkType: hard - "js-tokens@npm:^4.0.0": version: 4.0.0 resolution: "js-tokens@npm:4.0.0" @@ -5707,10 +5591,10 @@ __metadata: languageName: node linkType: hard -"jsdoc-type-pratt-parser@npm:~3.1.0": - version: 3.1.0 - resolution: "jsdoc-type-pratt-parser@npm:3.1.0" - checksum: 2f437b57621f1e481918165f6cf0e48256628a9e510d8b3f88a2ab667bf2128bf8b94c628b57c43e78f555ca61983e9c282814703840dc091d2623992214a061 +"jsdoc-type-pratt-parser@npm:~4.1.0": + version: 4.1.0 + resolution: "jsdoc-type-pratt-parser@npm:4.1.0" + checksum: e7642a508b090b1bdf17775383000ed71013c38e1231c1e576e5374636e8baf7c3fae8bf0252f5e1d3397d95efd56e8c8a5dd1a0de76d05d1499cbcb3c325bc3 languageName: node linkType: hard @@ -5732,6 +5616,13 @@ __metadata: languageName: node linkType: hard +"json-buffer@npm:3.0.1": + version: 3.0.1 + resolution: "json-buffer@npm:3.0.1" + checksum: 9026b03edc2847eefa2e37646c579300a1f3a4586cfb62bf857832b60c852042d0d6ae55d1afb8926163fa54c2b01d83ae24705f34990348bdac6273a29d4581 + languageName: node + linkType: hard + "json-parse-even-better-errors@npm:^2.3.0": version: 2.3.1 resolution: "json-parse-even-better-errors@npm:2.3.1" @@ -5760,17 +5651,6 @@ __metadata: languageName: node linkType: hard -"json5@npm:^1.0.1": - version: 1.0.2 - resolution: "json5@npm:1.0.2" - dependencies: - minimist: ^1.2.0 - bin: - json5: lib/cli.js - checksum: 866458a8c58a95a49bef3adba929c625e82532bcff1fe93f01d29cb02cac7c3fe1f4b79951b7792c2da9de0b32871a8401a6e3c5b36778ad852bf5b8a61165d7 - languageName: node - linkType: hard - "json5@npm:^2.2.3": version: 2.2.3 resolution: "json5@npm:2.2.3" @@ -5780,6 +5660,15 @@ __metadata: languageName: node linkType: hard +"keyv@npm:^4.5.4": + version: 4.5.4 + resolution: "keyv@npm:4.5.4" + dependencies: + json-buffer: 3.0.1 + checksum: 74a24395b1c34bd44ad5cb2b49140d087553e170625240b86755a6604cd65aa16efdbdeae5cdb17ba1284a0fbb25ad06263755dbc71b8d8b06f74232ce3cdd72 + languageName: node + linkType: hard + "kleur@npm:^3.0.3": version: 3.0.3 resolution: "kleur@npm:3.0.3" @@ -5811,16 +5700,6 @@ __metadata: languageName: node linkType: hard -"locate-path@npm:^2.0.0": - version: 2.0.0 - resolution: "locate-path@npm:2.0.0" - dependencies: - p-locate: ^2.0.0 - path-exists: ^3.0.0 - checksum: 02d581edbbbb0fa292e28d96b7de36b5b62c2fa8b5a7e82638ebb33afa74284acf022d3b1e9ae10e3ffb7658fbc49163fcd5e76e7d1baaa7801c3e05a81da755 - languageName: node - linkType: hard - "locate-path@npm:^5.0.0": version: 5.0.0 resolution: "locate-path@npm:5.0.0" @@ -5945,7 +5824,7 @@ __metadata: languageName: node linkType: hard -"merge2@npm:^1.3.0, merge2@npm:^1.4.1": +"merge2@npm:^1.3.0": version: 1.4.1 resolution: "merge2@npm:1.4.1" checksum: 7268db63ed5169466540b6fb947aec313200bcf6d40c5ab722c22e242f651994619bcd85601602972d3c85bd2cc45a358a4c61937e9f11a061919a1da569b0c2 @@ -5969,6 +5848,16 @@ __metadata: languageName: node linkType: hard +"micromatch@npm:^4.0.8": + version: 4.0.8 + resolution: "micromatch@npm:4.0.8" + dependencies: + braces: ^3.0.3 + picomatch: ^2.3.1 + checksum: 79920eb634e6f400b464a954fcfa589c4e7c7143209488e44baf627f9affc8b1e306f41f4f0deedde97e69cb725920879462d3e750ab3bd3c1aed675bb3a8966 + languageName: node + linkType: hard + "mimic-fn@npm:^2.1.0": version: 2.1.0 resolution: "mimic-fn@npm:2.1.0" @@ -5983,7 +5872,7 @@ __metadata: languageName: node linkType: hard -"minimatch@npm:^3.0.4, minimatch@npm:^3.0.5, minimatch@npm:^3.1.1, minimatch@npm:^3.1.2": +"minimatch@npm:^3.0.4, minimatch@npm:^3.1.1, minimatch@npm:^3.1.2": version: 3.1.2 resolution: "minimatch@npm:3.1.2" dependencies: @@ -6010,7 +5899,7 @@ __metadata: languageName: node linkType: hard -"minimatch@npm:^9.0.4": +"minimatch@npm:^9.0.3, minimatch@npm:^9.0.4, minimatch@npm:^9.0.5": version: 9.0.5 resolution: "minimatch@npm:9.0.5" dependencies: @@ -6019,13 +5908,6 @@ __metadata: languageName: node linkType: hard -"minimist@npm:^1.2.0, minimist@npm:^1.2.6": - version: 1.2.6 - resolution: "minimist@npm:1.2.6" - checksum: d15428cd1e11eb14e1233bcfb88ae07ed7a147de251441d61158619dfb32c4d7e9061d09cab4825fdee18ecd6fce323228c8c47b5ba7cd20af378ca4048fb3fb - languageName: node - linkType: hard - "minipass-collect@npm:^1.0.2": version: 1.0.2 resolution: "minipass-collect@npm:1.0.2" @@ -6150,13 +6032,6 @@ __metadata: languageName: node linkType: hard -"ms@npm:2.0.0": - version: 2.0.0 - resolution: "ms@npm:2.0.0" - checksum: 0e6a22b8b746d2e0b65a430519934fefd41b6db0682e3477c10f60c76e947c4c0ad06f63ffdf1d78d335f83edee8c0aa928aa66a36c7cd95b69b26f468d527f4 - languageName: node - linkType: hard - "ms@npm:2.1.2": version: 2.1.2 resolution: "ms@npm:2.1.2" @@ -6164,7 +6039,7 @@ __metadata: languageName: node linkType: hard -"ms@npm:^2.0.0, ms@npm:^2.1.1": +"ms@npm:^2.0.0, ms@npm:^2.1.1, ms@npm:^2.1.3": version: 2.1.3 resolution: "ms@npm:2.1.3" checksum: aa92de608021b242401676e35cfa5aa42dd70cbdc082b916da7fb925c542173e36bce97ea3e804923fe92c0ad991434e4a38327e15a1b5b5f945d66df615ae6d @@ -6187,13 +6062,6 @@ __metadata: languageName: node linkType: hard -"natural-compare-lite@npm:^1.4.0": - version: 1.4.0 - resolution: "natural-compare-lite@npm:1.4.0" - checksum: 5222ac3986a2b78dd6069ac62cbb52a7bf8ffc90d972ab76dfe7b01892485d229530ed20d0c62e79a6b363a663b273db3bde195a1358ce9e5f779d4453887225 - languageName: node - linkType: hard - "natural-compare@npm:^1.4.0": version: 1.4.0 resolution: "natural-compare@npm:1.4.0" @@ -6372,43 +6240,6 @@ __metadata: languageName: node linkType: hard -"object-inspect@npm:^1.12.0, object-inspect@npm:^1.9.0": - version: 1.12.2 - resolution: "object-inspect@npm:1.12.2" - checksum: a534fc1b8534284ed71f25ce3a496013b7ea030f3d1b77118f6b7b1713829262be9e6243acbcb3ef8c626e2b64186112cb7f6db74e37b2789b9c789ca23048b2 - languageName: node - linkType: hard - -"object-keys@npm:^1.1.1": - version: 1.1.1 - resolution: "object-keys@npm:1.1.1" - checksum: b363c5e7644b1e1b04aa507e88dcb8e3a2f52b6ffd0ea801e4c7a62d5aa559affe21c55a07fd4b1fd55fc03a33c610d73426664b20032405d7b92a1414c34d6a - languageName: node - linkType: hard - -"object.assign@npm:^4.1.2": - version: 4.1.2 - resolution: "object.assign@npm:4.1.2" - dependencies: - call-bind: ^1.0.0 - define-properties: ^1.1.3 - has-symbols: ^1.0.1 - object-keys: ^1.1.1 - checksum: d621d832ed7b16ac74027adb87196804a500d80d9aca536fccb7ba48d33a7e9306a75f94c1d29cbfa324bc091bfc530bc24789568efdaee6a47fcfa298993814 - languageName: node - linkType: hard - -"object.values@npm:^1.1.5": - version: 1.1.5 - resolution: "object.values@npm:1.1.5" - dependencies: - call-bind: ^1.0.2 - define-properties: ^1.1.3 - es-abstract: ^1.19.1 - checksum: 0f17e99741ebfbd0fa55ce942f6184743d3070c61bd39221afc929c8422c4907618c8da694c6915bc04a83ab3224260c779ba37fc07bb668bdc5f33b66a902a4 - languageName: node - linkType: hard - "once@npm:^1.3.0": version: 1.4.0 resolution: "once@npm:1.4.0" @@ -6436,26 +6267,17 @@ __metadata: languageName: node linkType: hard -"optionator@npm:^0.9.1": - version: 0.9.1 - resolution: "optionator@npm:0.9.1" +"optionator@npm:^0.9.3": + version: 0.9.4 + resolution: "optionator@npm:0.9.4" dependencies: deep-is: ^0.1.3 fast-levenshtein: ^2.0.6 levn: ^0.4.1 prelude-ls: ^1.2.1 type-check: ^0.4.0 - word-wrap: ^1.2.3 - checksum: dbc6fa065604b24ea57d734261914e697bd73b69eff7f18e967e8912aa2a40a19a9f599a507fa805be6c13c24c4eae8c71306c239d517d42d4c041c942f508a0 - languageName: node - linkType: hard - -"p-limit@npm:^1.1.0": - version: 1.3.0 - resolution: "p-limit@npm:1.3.0" - dependencies: - p-try: ^1.0.0 - checksum: 281c1c0b8c82e1ac9f81acd72a2e35d402bf572e09721ce5520164e9de07d8274451378a3470707179ad13240535558f4b277f02405ad752e08c7d5b0d54fbfd + word-wrap: ^1.2.5 + checksum: ecbd010e3dc73e05d239976422d9ef54a82a13f37c11ca5911dff41c98a6c7f0f163b27f922c37e7f8340af9d36febd3b6e9cef508f3339d4c393d7276d716bb languageName: node linkType: hard @@ -6477,15 +6299,6 @@ __metadata: languageName: node linkType: hard -"p-locate@npm:^2.0.0": - version: 2.0.0 - resolution: "p-locate@npm:2.0.0" - dependencies: - p-limit: ^1.1.0 - checksum: e2dceb9b49b96d5513d90f715780f6f4972f46987dc32a0e18bc6c3fc74a1a5d73ec5f81b1398af5e58b99ea1ad03fd41e9181c01fa81b4af2833958696e3081 - languageName: node - linkType: hard - "p-locate@npm:^4.1.0": version: 4.1.0 resolution: "p-locate@npm:4.1.0" @@ -6513,13 +6326,6 @@ __metadata: languageName: node linkType: hard -"p-try@npm:^1.0.0": - version: 1.0.0 - resolution: "p-try@npm:1.0.0" - checksum: 3b5303f77eb7722144154288bfd96f799f8ff3e2b2b39330efe38db5dd359e4fb27012464cd85cb0a76e9b7edd1b443568cb3192c22e7cffc34989df0bafd605 - languageName: node - linkType: hard - "p-try@npm:^2.0.0": version: 2.2.0 resolution: "p-try@npm:2.2.0" @@ -6543,6 +6349,16 @@ __metadata: languageName: node linkType: hard +"parse-imports@npm:^2.1.1": + version: 2.2.1 + resolution: "parse-imports@npm:2.2.1" + dependencies: + es-module-lexer: ^1.5.3 + slashes: ^3.0.12 + checksum: 0b5cedd10b6b45eea4f365bf047074a874d90e952597f83d4a8a00f1edece180b5870e42401b5531088916836f98c20eecbddc608d8717eb4a6be99a41f2b6fd + languageName: node + linkType: hard + "parse-json@npm:^5.2.0": version: 5.2.0 resolution: "parse-json@npm:5.2.0" @@ -6555,13 +6371,6 @@ __metadata: languageName: node linkType: hard -"path-exists@npm:^3.0.0": - version: 3.0.0 - resolution: "path-exists@npm:3.0.0" - checksum: 96e92643aa34b4b28d0de1cd2eba52a1c5313a90c6542d03f62750d82480e20bfa62bc865d5cfc6165f5fcd5aeb0851043c40a39be5989646f223300021bae0a - languageName: node - linkType: hard - "path-exists@npm:^4.0.0": version: 4.0.0 resolution: "path-exists@npm:4.0.0" @@ -6607,13 +6416,6 @@ __metadata: languageName: node linkType: hard -"path-type@npm:^4.0.0": - version: 4.0.0 - resolution: "path-type@npm:4.0.0" - checksum: 5b1e2daa247062061325b8fdbfd1fb56dde0a448fb1455453276ea18c60685bdad23a445dc148cf87bc216be1573357509b7d4060494a6fd768c7efad833ee45 - languageName: node - linkType: hard - "picocolors@npm:^1.0.0": version: 1.0.0 resolution: "picocolors@npm:1.0.0" @@ -6628,6 +6430,13 @@ __metadata: languageName: node linkType: hard +"picomatch@npm:^4.0.2": + version: 4.0.2 + resolution: "picomatch@npm:4.0.2" + checksum: a7a5188c954f82c6585720e9143297ccd0e35ad8072231608086ca950bee672d51b0ef676254af0788205e59bd4e4deb4e7708769226bed725bf13370a7d1464 + languageName: node + linkType: hard + "pirates@npm:^4.0.4": version: 4.0.5 resolution: "pirates@npm:4.0.5" @@ -6667,27 +6476,27 @@ __metadata: languageName: node linkType: hard -"prettier-plugin-packagejson@npm:^2.5.2": - version: 2.5.2 - resolution: "prettier-plugin-packagejson@npm:2.5.2" +"prettier-plugin-packagejson@npm:^2.5.8": + version: 2.5.8 + resolution: "prettier-plugin-packagejson@npm:2.5.8" dependencies: - sort-package-json: 2.10.1 - synckit: 0.9.1 + sort-package-json: 2.14.0 + synckit: 0.9.2 peerDependencies: prettier: ">= 1.16.0" peerDependenciesMeta: prettier: optional: true - checksum: f280d69327a468cd104c72a81134258d3573e56d697a88a5c4498c8d02cecda9a27d9eb3f1d29cc726491782eb3f279c9d41ecf8364a197e20b239c5ccfd0269 + checksum: 9c5d3c92ac9c873af652636c9007bc368f03c685aba8fef0f1ae41de88235f7acebdee080970f61583639ef89e07391ef01150a30c2d5e5ae615bb507053423a languageName: node linkType: hard -"prettier@npm:^3.3.3": - version: 3.3.3 - resolution: "prettier@npm:3.3.3" +"prettier@npm:^3.5.2": + version: 3.5.2 + resolution: "prettier@npm:3.5.2" bin: prettier: bin/prettier.cjs - checksum: bc8604354805acfdde6106852d14b045bb20827ad76a5ffc2455b71a8257f94de93f17f14e463fe844808d2ccc87248364a5691488a3304f1031326e62d9276e + checksum: 77adb755fca32a4f4176d02f69766e3a1ced9dd7e8df721c9aa0daee3328c2ab3845ae56fa2cda0c37936f5ff4f3cf4c3cf4dfcbc0d021192356b2af1c5cb7f0 languageName: node linkType: hard @@ -6814,17 +6623,6 @@ __metadata: languageName: node linkType: hard -"regexp.prototype.flags@npm:^1.4.3": - version: 1.4.3 - resolution: "regexp.prototype.flags@npm:1.4.3" - dependencies: - call-bind: ^1.0.2 - define-properties: ^1.1.3 - functions-have-names: ^1.2.2 - checksum: 51228bae732592adb3ededd5e15426be25f289e9c4ef15212f4da73f4ec3919b6140806374b8894036a86020d054a8d2657d3fee6bb9b4d35d8939c20030b7a6 - languageName: node - linkType: hard - "regexpp@npm:^3.0.0": version: 3.2.0 resolution: "regexpp@npm:3.2.0" @@ -6901,7 +6699,7 @@ __metadata: languageName: node linkType: hard -"resolve@npm:1.22.8, resolve@npm:^1.10.1, resolve@npm:^1.14.2, resolve@npm:^1.20.0, resolve@npm:^1.22.0": +"resolve@npm:1.22.8, resolve@npm:^1.10.1, resolve@npm:^1.14.2, resolve@npm:^1.20.0": version: 1.22.8 resolution: "resolve@npm:1.22.8" dependencies: @@ -6914,7 +6712,20 @@ __metadata: languageName: node linkType: hard -"resolve@patch:resolve@1.22.8#~builtin<compat/resolve>, resolve@patch:resolve@^1.10.1#~builtin<compat/resolve>, resolve@patch:resolve@^1.14.2#~builtin<compat/resolve>, resolve@patch:resolve@^1.20.0#~builtin<compat/resolve>, resolve@patch:resolve@^1.22.0#~builtin<compat/resolve>": +"resolve@npm:^1.22.4": + version: 1.22.10 + resolution: "resolve@npm:1.22.10" + dependencies: + is-core-module: ^2.16.0 + path-parse: ^1.0.7 + supports-preserve-symlinks-flag: ^1.0.0 + bin: + resolve: bin/resolve + checksum: ab7a32ff4046fcd7c6fdd525b24a7527847d03c3650c733b909b01b757f92eb23510afa9cc3e9bf3f26a3e073b48c88c706dfd4c1d2fb4a16a96b73b6328ddcf + languageName: node + linkType: hard + +"resolve@patch:resolve@1.22.8#~builtin<compat/resolve>, resolve@patch:resolve@^1.10.1#~builtin<compat/resolve>, resolve@patch:resolve@^1.14.2#~builtin<compat/resolve>, resolve@patch:resolve@^1.20.0#~builtin<compat/resolve>": version: 1.22.8 resolution: "resolve@patch:resolve@npm%3A1.22.8#~builtin<compat/resolve>::version=1.22.8&hash=07638b" dependencies: @@ -6927,6 +6738,19 @@ __metadata: languageName: node linkType: hard +"resolve@patch:resolve@^1.22.4#~builtin<compat/resolve>": + version: 1.22.10 + resolution: "resolve@patch:resolve@npm%3A1.22.10#~builtin<compat/resolve>::version=1.22.10&hash=07638b" + dependencies: + is-core-module: ^2.16.0 + path-parse: ^1.0.7 + supports-preserve-symlinks-flag: ^1.0.0 + bin: + resolve: bin/resolve + checksum: 8aac1e4e4628bd00bf4b94b23de137dd3fe44097a8d528fd66db74484be929936e20c696e1a3edf4488f37e14180b73df6f600992baea3e089e8674291f16c9d + languageName: node + linkType: hard + "retry@npm:^0.12.0": version: 0.12.0 resolution: "retry@npm:0.12.0" @@ -7020,7 +6844,7 @@ __metadata: languageName: node linkType: hard -"semver@npm:^7.1.1, semver@npm:^7.3.5, semver@npm:^7.3.7, semver@npm:^7.3.8, semver@npm:^7.5.3, semver@npm:^7.5.4, semver@npm:^7.6.0": +"semver@npm:^7.1.1, semver@npm:^7.3.5, semver@npm:^7.5.3, semver@npm:^7.5.4, semver@npm:^7.6.0": version: 7.6.3 resolution: "semver@npm:7.6.3" bin: @@ -7029,6 +6853,15 @@ __metadata: languageName: node linkType: hard +"semver@npm:^7.6.3": + version: 7.7.1 + resolution: "semver@npm:7.7.1" + bin: + semver: bin/semver.js + checksum: 586b825d36874007c9382d9e1ad8f93888d8670040add24a28e06a910aeebd673a2eb9e3bf169c6679d9245e66efb9057e0852e70d9daa6c27372aab1dda7104 + languageName: node + linkType: hard + "set-blocking@npm:^2.0.0": version: 2.0.0 resolution: "set-blocking@npm:2.0.0" @@ -7052,17 +6885,6 @@ __metadata: languageName: node linkType: hard -"side-channel@npm:^1.0.4": - version: 1.0.4 - resolution: "side-channel@npm:1.0.4" - dependencies: - call-bind: ^1.0.0 - get-intrinsic: ^1.0.2 - object-inspect: ^1.9.0 - checksum: 351e41b947079c10bd0858364f32bb3a7379514c399edb64ab3dce683933483fc63fb5e4efe0a15a2e8a7e3c436b6a91736ddb8d8c6591b0460a24bb4a1ee245 - languageName: node - linkType: hard - "signal-exit@npm:^3.0.3, signal-exit@npm:^3.0.7": version: 3.0.7 resolution: "signal-exit@npm:3.0.7" @@ -7091,10 +6913,10 @@ __metadata: languageName: node linkType: hard -"slash@npm:^4.0.0": - version: 4.0.0 - resolution: "slash@npm:4.0.0" - checksum: da8e4af73712253acd21b7853b7e0dbba776b786e82b010a5bfc8b5051a1db38ed8aba8e1e8f400dd2c9f373be91eb1c42b66e91abb407ff42b10feece5e1d2d +"slashes@npm:^3.0.12": + version: 3.0.12 + resolution: "slashes@npm:3.0.12" + checksum: 6b68feb5a56d53d76acd4729b0e457f47a0b687877161ca2c05486ec0bc750e0694b37094b2f5f00a339dfe490269292c4197a70da7eba2be47bc56e35f10a60 languageName: node linkType: hard @@ -7144,21 +6966,21 @@ __metadata: languageName: node linkType: hard -"sort-package-json@npm:2.10.1": - version: 2.10.1 - resolution: "sort-package-json@npm:2.10.1" +"sort-package-json@npm:2.14.0": + version: 2.14.0 + resolution: "sort-package-json@npm:2.14.0" dependencies: detect-indent: ^7.0.1 detect-newline: ^4.0.0 get-stdin: ^9.0.0 git-hooks-list: ^3.0.0 - globby: ^13.1.2 is-plain-obj: ^4.1.0 semver: ^7.6.0 sort-object-keys: ^1.1.3 + tinyglobby: ^0.2.9 bin: sort-package-json: cli.js - checksum: 861d8161565fba322414d70b6be10fb331680549b73399778965be628783833c85c4e02929bcea5a2d96994884b0327dfe2f7c7a79409c901d2582b703f5333d + checksum: 37673522f2cc3d85ad85a477cc5b82a48726b0a91ea22225a8071afda4f80d7c50527a6c56791ec79b2c87328079b8e38af0819e7895102f291c693a5d92f913 languageName: node linkType: hard @@ -7196,7 +7018,7 @@ __metadata: languageName: node linkType: hard -"spdx-expression-parse@npm:^3.0.0, spdx-expression-parse@npm:^3.0.1": +"spdx-expression-parse@npm:^3.0.0": version: 3.0.1 resolution: "spdx-expression-parse@npm:3.0.1" dependencies: @@ -7206,6 +7028,16 @@ __metadata: languageName: node linkType: hard +"spdx-expression-parse@npm:^4.0.0": + version: 4.0.0 + resolution: "spdx-expression-parse@npm:4.0.0" + dependencies: + spdx-exceptions: ^2.1.0 + spdx-license-ids: ^3.0.0 + checksum: 936be681fbf5edeec3a79c023136479f70d6edb3fd3875089ac86cd324c6c8c81add47399edead296d1d0af17ae5ce88c7f88885eb150b62c2ff6e535841ca6a + languageName: node + linkType: hard + "spdx-license-ids@npm:^3.0.0": version: 3.0.11 resolution: "spdx-license-ids@npm:3.0.11" @@ -7245,6 +7077,13 @@ __metadata: languageName: node linkType: hard +"stable-hash@npm:^0.0.4": + version: 0.0.4 + resolution: "stable-hash@npm:0.0.4" + checksum: 21c039d21c1cb739cf8342561753a5e007cb95ea682ccd452e76310bbb9c6987a89de8eda023e320b019f3e4691aabda75079cdbb7dadf7ab9013e931f2f23cd + languageName: node + linkType: hard + "stack-utils@npm:^2.0.3": version: 2.0.5 resolution: "stack-utils@npm:2.0.5" @@ -7293,28 +7132,6 @@ __metadata: languageName: node linkType: hard -"string.prototype.trimend@npm:^1.0.5": - version: 1.0.5 - resolution: "string.prototype.trimend@npm:1.0.5" - dependencies: - call-bind: ^1.0.2 - define-properties: ^1.1.4 - es-abstract: ^1.19.5 - checksum: d44f543833112f57224e79182debadc9f4f3bf9d48a0414d6f0cbd2a86f2b3e8c0ca1f95c3f8e5b32ae83e91554d79d932fc746b411895f03f93d89ed3dfb6bc - languageName: node - linkType: hard - -"string.prototype.trimstart@npm:^1.0.5": - version: 1.0.5 - resolution: "string.prototype.trimstart@npm:1.0.5" - dependencies: - call-bind: ^1.0.2 - define-properties: ^1.1.4 - es-abstract: ^1.19.5 - checksum: a4857c5399ad709d159a77371eeaa8f9cc284469a0b5e1bfe405de16f1fd4166a8ea6f4180e55032f348d1b679b1599fd4301fbc7a8b72bdb3e795e43f7b1048 - languageName: node - linkType: hard - "string_decoder@npm:^1.1.1": version: 1.3.0 resolution: "string_decoder@npm:1.3.0" @@ -7342,13 +7159,6 @@ __metadata: languageName: node linkType: hard -"strip-bom@npm:^3.0.0": - version: 3.0.0 - resolution: "strip-bom@npm:3.0.0" - checksum: 8d50ff27b7ebe5ecc78f1fe1e00fcdff7af014e73cf724b46fb81ef889eeb1015fc5184b64e81a2efe002180f3ba431bdd77e300da5c6685d702780fbf0c8d5b - languageName: node - linkType: hard - "strip-bom@npm:^4.0.0": version: 4.0.0 resolution: "strip-bom@npm:4.0.0" @@ -7370,7 +7180,7 @@ __metadata: languageName: node linkType: hard -"strip-json-comments@npm:^3.1.0, strip-json-comments@npm:^3.1.1": +"strip-json-comments@npm:^3.1.1": version: 3.1.1 resolution: "strip-json-comments@npm:3.1.1" checksum: 492f73e27268f9b1c122733f28ecb0e7e8d8a531a6662efbd08e22cccb3f9475e90a1b82cab06a392f6afae6d2de636f977e231296400d0ec5304ba70f166443 @@ -7411,7 +7221,17 @@ __metadata: languageName: node linkType: hard -"synckit@npm:0.9.1, synckit@npm:^0.9.1": +"synckit@npm:0.9.2": + version: 0.9.2 + resolution: "synckit@npm:0.9.2" + dependencies: + "@pkgr/core": ^0.1.0 + tslib: ^2.6.2 + checksum: 3a30e828efbdcf3b50fccab4da6e90ea7ca24d8c5c2ad3ffe98e07d7c492df121e0f75227c6e510f96f976aae76f1fa4710cb7b1d69db881caf66ef9de89360e + languageName: node + linkType: hard + +"synckit@npm:^0.9.1": version: 0.9.1 resolution: "synckit@npm:0.9.1" dependencies: @@ -7421,6 +7241,13 @@ __metadata: languageName: node linkType: hard +"tapable@npm:^2.2.0": + version: 2.2.1 + resolution: "tapable@npm:2.2.1" + checksum: 3b7a1b4d86fa940aad46d9e73d1e8739335efd4c48322cb37d073eb6f80f5281889bf0320c6d8ffcfa1a0dd5bfdbd0f9d037e252ef972aca595330538aac4d51 + languageName: node + linkType: hard + "tar@npm:^6.1.11, tar@npm:^6.1.2, tar@npm:^6.2.1": version: 6.2.1 resolution: "tar@npm:6.2.1" @@ -7446,10 +7273,13 @@ __metadata: languageName: node linkType: hard -"text-table@npm:^0.2.0": - version: 0.2.0 - resolution: "text-table@npm:0.2.0" - checksum: b6937a38c80c7f84d9c11dd75e49d5c44f71d95e810a3250bd1f1797fc7117c57698204adf676b71497acc205d769d65c16ae8fa10afad832ae1322630aef10a +"tinyglobby@npm:^0.2.12, tinyglobby@npm:^0.2.9": + version: 0.2.12 + resolution: "tinyglobby@npm:0.2.12" + dependencies: + fdir: ^6.4.3 + picomatch: ^4.0.2 + checksum: ef9357fa1b2b661afdccd315cb4995f5f36bce948faaace68aae85fe57bdd8f837883045c88efc50d3186bac6586e4ae2f31026b9a3aac061b884217e6092e23 languageName: node linkType: hard @@ -7476,22 +7306,12 @@ __metadata: languageName: node linkType: hard -"tsconfig-paths@npm:^3.14.1": - version: 3.14.1 - resolution: "tsconfig-paths@npm:3.14.1" - dependencies: - "@types/json5": ^0.0.29 - json5: ^1.0.1 - minimist: ^1.2.6 - strip-bom: ^3.0.0 - checksum: 8afa01c673ebb4782ba53d3a12df97fa837ce524f8ad38ee4e2b2fd57f5ac79abc21c574e9e9eb014d93efe7fe8214001b96233b5c6ea75bd1ea82afe17a4c6d - languageName: node - linkType: hard - -"tslib@npm:^1.8.1": - version: 1.14.1 - resolution: "tslib@npm:1.14.1" - checksum: dbe628ef87f66691d5d2959b3e41b9ca0045c3ee3c7c7b906cc1e328b39f199bb1ad9e671c39025bd56122ac57dfbf7385a94843b1cc07c60a4db74795829acd +"ts-api-utils@npm:^2.0.1": + version: 2.0.1 + resolution: "ts-api-utils@npm:2.0.1" + peerDependencies: + typescript: ">=4.8.4" + checksum: ca31f4dc3c0d69691599de2955b41879c27cb91257f2a468bbb444d3f09982a5f717a941fcebd3aaa092b778710647a0be1c2b1dd75cf6c82ceffc3bf4c7d27d languageName: node linkType: hard @@ -7502,14 +7322,10 @@ __metadata: languageName: node linkType: hard -"tsutils@npm:^3.21.0": - version: 3.21.0 - resolution: "tsutils@npm:3.21.0" - dependencies: - tslib: ^1.8.1 - peerDependencies: - typescript: ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" - checksum: 1843f4c1b2e0f975e08c4c21caa4af4f7f65a12ac1b81b3b8489366826259323feb3fc7a243123453d2d1a02314205a7634e048d4a8009921da19f99755cdc48 +"tslib@npm:^2.6.3": + version: 2.8.1 + resolution: "tslib@npm:2.8.1" + checksum: e4aba30e632b8c8902b47587fd13345e2827fa639e7c3121074d5ee0880723282411a8838f830b55100cbe4517672f84a2472667d355b81e8af165a55dc6203a languageName: node linkType: hard @@ -7545,13 +7361,6 @@ __metadata: languageName: node linkType: hard -"type-fest@npm:^0.20.2": - version: 0.20.2 - resolution: "type-fest@npm:0.20.2" - checksum: 4fb3272df21ad1c552486f8a2f8e115c09a521ad7a8db3d56d53718d0c907b62c6e9141ba5f584af3f6830d0872c521357e512381f24f7c44acae583ad517d73 - languageName: node - linkType: hard - "type-fest@npm:^0.21.3": version: 0.21.3 resolution: "type-fest@npm:0.21.3" @@ -7559,6 +7368,20 @@ __metadata: languageName: node linkType: hard +"typescript-eslint@npm:^8.25.0": + version: 8.25.0 + resolution: "typescript-eslint@npm:8.25.0" + dependencies: + "@typescript-eslint/eslint-plugin": 8.25.0 + "@typescript-eslint/parser": 8.25.0 + "@typescript-eslint/utils": 8.25.0 + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: ">=4.8.4 <5.8.0" + checksum: 0e94201f3423b68ab573ab2e03ac7721f640df31c84e4cb11f781e45ea3475c711e628c8dc0bd364b8c40d590dbb50cc5e5b7eea9c05490cab61805c0f63b065 + languageName: node + linkType: hard + "typescript@npm:~5.1.6": version: 5.1.6 resolution: "typescript@npm:5.1.6" @@ -7579,18 +7402,6 @@ __metadata: languageName: node linkType: hard -"unbox-primitive@npm:^1.0.2": - version: 1.0.2 - resolution: "unbox-primitive@npm:1.0.2" - dependencies: - call-bind: ^1.0.2 - has-bigints: ^1.0.2 - has-symbols: ^1.0.3 - which-boxed-primitive: ^1.0.2 - checksum: b7a1cf5862b5e4b5deb091672ffa579aa274f648410009c81cca63fed3b62b610c4f3b773f912ce545bb4e31edc3138975b5bc777fc6e4817dca51affb6380e9 - languageName: node - linkType: hard - "undici-types@npm:~5.26.4": version: 5.26.5 resolution: "undici-types@npm:5.26.5" @@ -7741,19 +7552,6 @@ __metadata: languageName: node linkType: hard -"which-boxed-primitive@npm:^1.0.2": - version: 1.0.2 - resolution: "which-boxed-primitive@npm:1.0.2" - 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 - checksum: 53ce774c7379071729533922adcca47220228405e1895f26673bbd71bdf7fb09bee38c1d6399395927c6289476b5ae0629863427fd151491b71c4b6cb04f3a5e - languageName: node - linkType: hard - "which@npm:^2.0.1, which@npm:^2.0.2": version: 2.0.2 resolution: "which@npm:2.0.2" @@ -7796,10 +7594,10 @@ __metadata: languageName: node linkType: hard -"word-wrap@npm:^1.2.3": - version: 1.2.4 - resolution: "word-wrap@npm:1.2.4" - checksum: 8f1f2e0a397c0e074ca225ba9f67baa23f99293bc064e31355d426ae91b8b3f6b5f6c1fc9ae5e9141178bb362d563f55e62fd8d5c31f2a77e3ade56cb3e35bd1 +"word-wrap@npm:^1.2.5": + version: 1.2.5 + resolution: "word-wrap@npm:1.2.5" + checksum: f93ba3586fc181f94afdaff3a6fef27920b4b6d9eaefed0f428f8e07adea2a7f54a5f2830ce59406c8416f033f86902b91eb824072354645eea687dff3691ccb languageName: node linkType: hard