diff --git a/package.json b/package.json index a55b40288a..17e0f43abb 100644 --- a/package.json +++ b/package.json @@ -64,6 +64,7 @@ "@babel/core": "^7.22.5", "@commitlint/cli": "^18.6.1", "@commitlint/config-conventional": "^18.6.2", + "@conventional-changelog/git-client": "^2.5.1", "@eslint/compat": "^1.2.5", "@eslint/eslintrc": "^3.2.0", "@eslint/js": "^9.19.0", @@ -81,11 +82,11 @@ "chalk": "^5.2.0", "command-line-args": "^5.2.1", "concurrently": "^9.2.0", - "conventional-changelog-angular": "^5.0.13", - "conventional-changelog-cli": "^2.2.2", - "conventional-commits-filter": "^2.0.7", - "conventional-commits-parser": "^3.2.4", - "conventional-recommended-bump": "^6.1.0", + "conventional-changelog": "^7.1.0", + "conventional-changelog-angular": "^8.0.0", + "conventional-commits-filter": "^5.0.0", + "conventional-commits-parser": "^6.2.0", + "conventional-recommended-bump": "^11.2.0", "crypto-browserify": "^3.12.0", "esbuild": "^0.20.1", "esbuild-plugins-node-modules-polyfill": "^1.6.6", diff --git a/scripts/build/command.mjs b/scripts/build/command.mjs index e68b51bb45..e53318fa75 100644 --- a/scripts/build/command.mjs +++ b/scripts/build/command.mjs @@ -1,18 +1,16 @@ import commandLineArgs from 'command-line-args'; import * as esbuild from 'esbuild'; import { $ } from 'execa'; -import { join } from 'path'; import process from 'process'; import { nodeModulesPolyfillPlugin } from 'esbuild-plugins-node-modules-polyfill'; import { packageJson, packageNameWithoutScope, - printDirname, } from '../common/utils.mjs'; import fs from 'fs/promises'; import { BUILD_META_FILE_SUFFIX } from '../common/constants.mjs'; +import { packagePath } from '../common/path.mjs'; -const root = join(printDirname(), '..', '..'); async function run() { const optionDefinitions = [ @@ -45,7 +43,7 @@ async function run() { 'You should only use one of `external` or `external-all-except` at the sametime.' ); - const pkgPath = `${root}/${path}`; + const pkgPath = packagePath(path); const pkg = packageJson(path); const packageName = packageNameWithoutScope(pkg.name); diff --git a/scripts/changelog/command.mjs b/scripts/changelog/command.mjs new file mode 100644 index 0000000000..a42f8eb5f3 --- /dev/null +++ b/scripts/changelog/command.mjs @@ -0,0 +1,101 @@ +#!/usr/bin/env node +'use strict'; + +import commandLineArgs from 'command-line-args'; +import { + getInfoBeforeGeneratingChangelog, + generateChangelogAndSave, + generateChangelogAndPrint, +} from '../common/changelog.mjs'; +import { + workspacePackages, + packageNamesToPackagesWithInfo, +} from '../common/utils.mjs'; + +async function generateChangelogForRoot(options) { + const { from, commitsCount } = await getInfoBeforeGeneratingChangelog(); + + if (commitsCount > 0) { + console.log('from:', from || 'start (first release)'); + console.log('commits:', commitsCount); + + if (options.save) { + await generateChangelogAndSave(); + } else { + generateChangelogAndPrint(); + } + } else { + console.log(`No commits found, skipping changelog generation.`); + } +} + +async function generateChangelogForWorkspaceMembers(pkgs, options) { + for (const pkg of pkgs) { + const { from, commitsCount } = await getInfoBeforeGeneratingChangelog(pkg); + + if (commitsCount > 0) { + console.log('name:', pkg.name); + console.log('from:', from || 'start (first release)'); + console.log('commits:', commitsCount); + + if (options.save) { + await generateChangelogAndSave(pkg); + } else { + generateChangelogAndPrint(pkg); + } + } else { + console.log( + `No commits found for ${pkg.name}, skipping changelog generation.` + ); + } + } +} + +// NOTE 1: changelog should be run before the tagging proccess for the new release. checkout the steps here: https://github.com/conventional-changelog/conventional-changelog/tree/master/packages/conventional-changelog#recommended-workflow +// NOTE 2: we use tags. tags with package@semver format. +// NOTE 3: when don't use any flag, we will last valid tag as starting point. +async function run() { + const optionDefinitions = [ + { name: 'name', type: String }, + { name: 'save', type: Boolean }, + { name: 'all', type: Boolean }, + ]; + const { name, save, all } = commandLineArgs(optionDefinitions); + + if (name && all) + throw new Error('One of the --name or --all flag should be given'); + + if (name || all) { + // Create a list of packages we are going to create changelog for. + const pkgs = []; + if (name) { + const workspacePkgs = await packageNamesToPackagesWithInfo([name]); + if (workspacePkgs.length !== 1) + throw new Error('Your provided package is not found.', { + cause: workspacePkgs, + }); + + pkgs.push(workspacePkgs[0]); + } else { + const list = await workspacePackages(); + list + .filter((pkg) => !pkg.private) + .forEach((pkg) => { + pkgs.push(pkg); + }); + } + + await generateChangelogForWorkspaceMembers(pkgs, { + save, + }); + } else { + await generateChangelogForRoot({ + save, + }); + } +} + +run().catch((e) => { + console.error(e); + process.exit(1); +}); diff --git a/scripts/check-conventional-commits/command.mjs b/scripts/check-conventional-commits/command.mjs index 979f38a58b..eee628098d 100644 --- a/scripts/check-conventional-commits/command.mjs +++ b/scripts/check-conventional-commits/command.mjs @@ -1,8 +1,8 @@ import { execa } from 'execa'; import { logAsSection } from '../publish/utils.mjs'; import { detectChannel } from '../common/github.mjs'; -import parser from 'conventional-commits-parser'; -import filter from 'conventional-commits-filter'; +import { CommitParser } from 'conventional-commits-parser'; +import { filterRevertedCommitsSync } from 'conventional-commits-filter'; async function run() { const channel = detectChannel(); @@ -15,7 +15,12 @@ async function run() { '--pretty=format:%B__________', ]); const commits = logs.split('__________').filter(Boolean); - const parsedCommits = filter(commits.map(parser.sync)); + + const parser = new CommitParser(); + const parsedCommits = Array.from( + filterRevertedCommitsSync(commits.map((commit) => parser.parse(commit))) + ); + const hasAnyConventionalCommit = parsedCommits.some( (commit) => !!commit.type ); diff --git a/scripts/common/changelog.mjs b/scripts/common/changelog.mjs index 59340e3540..5d81cf94ec 100644 --- a/scripts/common/changelog.mjs +++ b/scripts/common/changelog.mjs @@ -1,49 +1,210 @@ -import { execa } from 'execa'; -import { GenerateChangelogFailedError, YarnError } from './errors.mjs'; -import { packageNameWithoutScope } from './utils.mjs'; +import { packageNameWithoutScope, packageJson } from './utils.mjs'; +import { ConventionalChangelog } from 'conventional-changelog'; +import { ConventionalGitClient } from '@conventional-changelog/git-client'; +import { createWriteStream, createReadStream, WriteStream } from 'node:fs'; +import path from 'node:path'; +import { pipeline } from 'node:stream/promises'; +import { rename, unlink, access } from 'node:fs/promises'; +import { Writable } from 'stream'; +import { packageJsonPath, packageChangelogPath, packagePath } from './path.mjs'; + +// Our tagging is using lerna convention which is package-name@version +// for example for @rango-dev/wallets-core, it will be wallets-core@1.1.0 +export const TAG_PACKAGE_PREFIX = (pkg) => + `${packageNameWithoutScope(pkg.name)}@`; +const TAG_ROOT_PREFIX = /^[^@]+@/; /** - * Generate a changelog by using convetional commit format. + * Retrieving some useful information when you are going to generate a changelog * - * @param {import("./typedefs.mjs").Package} pkg - * @param {Object} options - * @param {boolean} options.saveToFile `true` for using it for creating `pkg/CHANGELOG.com` and `false` for Github Release note. + * @param {import("./typedefs.mjs").Package} [pkg] */ -export async function generateChangelog(pkg, options) { - const { saveToFile = false } = options || {}; - - const conventionalChangelogBinPath = await execa('yarn', [ - 'bin', - 'conventional-changelog', - ]) - .then((result) => result.stdout) - .catch((err) => { - throw new YarnError(`GetBinaryPathFailed: \n${err.stdout}`); +export async function getInfoBeforeGeneratingChangelog(pkg) { + const gitClient = new ConventionalGitClient(process.cwd()); + + let commitsParams = { + merges: false, + }; + + let startFromTag = undefined; + if (pkg) { + const tagsParams = { + prefix: TAG_PACKAGE_PREFIX(pkg), + }; + const semverTagsStream = gitClient.getSemverTags(tagsParams); + + const semverTags = []; + for await (const tag of semverTagsStream) { + semverTags.push(tag); + } + startFromTag = semverTags[0]; + + commitsParams = { + ...commitsParams, + from: startFromTag, + path: pkg.location, + }; + } else { + const semverTag = await gitClient.getLastSemverTag({ + // HEADS UP: + // The following regex pattern supports the `package@1.1.1` format, which meets our needs for now. + // scoped tags like `@a/b@1.1.1` are not currently supported. + prefix: TAG_ROOT_PREFIX, }); + // If there are no semver tags, null is returned. In that case, we change it undefined to match the `string | undefined` signature. + startFromTag = semverTag || undefined; - const tagName = packageNameWithoutScope(pkg.name); - const command = [ - 'conventional-changelog', - '-p', - 'angular', - '-l', - `${tagName}`, - '-k', - pkg.location, - '--commit-path', - pkg.location, - ]; - - if (saveToFile) { - const changelogPath = `${pkg.location}/CHANGELOG.md`; - command.push('-i', changelogPath, '-s'); + if (startFromTag) { + commitsParams = { + ...commitsParams, + from: startFromTag, + }; + } } - const result = await execa(conventionalChangelogBinPath, command) - .then((result) => result.stdout) - .catch((err) => { - throw new GenerateChangelogFailedError(err.stdout); + const commitsStream = gitClient.getCommits(commitsParams); + + const commits = []; + for await (const commit of commitsStream) { + commits.push(commit); + } + + return { + /** Where is considering as starting point, it is genrally a tag. undefined means it's the first release.'*/ + from: startFromTag, + /** How many commits this release has. */ + commitsCount: commits.length, + }; +} + +/** + * Create a write stream for the target package's changelog. + * + * @param {import("./typedefs.mjs").Package} pkg + * @returns {WriteStream} + */ +export function changelogFileStream(pkg) { + const changelogPath = packageChangelogPath(pkg.location); + const changelogPathTmp = changelogPath + '.tmp'; + + // Creating a temp writer to don't load the whole file in memory at once, at the end will append the old changelog to the temp, then rename it. + const tempWriteStream = createWriteStream(changelogPathTmp); + + const proxyStream = new Writable({ + write(chunk, encoding, cb) { + tempWriteStream.write(chunk, encoding, cb); + }, + final(cb) { + tempWriteStream.end(async () => { + try { + // if a changelog already exists, we append the old one top the temp. + await access(changelogPath) + .then(() => + pipeline( + createReadStream(changelogPath), + createWriteStream(changelogPathTmp, { flags: 'a' }) + ) + ) + .catch(() => { + // ignore. + }); + + // replace temp as the main changelog. + await rename(changelogPathTmp, changelogPath); + + cb(); + } catch (err) { + console.error('Failed to prepend changelog:', { err }); + void unlink(changelogPathTmp); + + cb(err); + } + }); + }, + }); + + return proxyStream; +} + +/** + * + * Generate a changelog by using convetional commit format. + * It uses tags to identify releases. + * + * @param {import("./typedefs.mjs").Package} [pkg] + * @returns {ReadableStream} + */ +export function generateChangelog(pkg) { + const generator = new ConventionalChangelog(process.cwd()); + generator.loadPreset('angular'); + + if (pkg) { + generator.readPackage(packageJsonPath(pkg.location)); + generator.commits({ + path: pkg.location, }); - return result; + generator.tags({ + prefix: TAG_PACKAGE_PREFIX(pkg), + }); + } else { + // TODO: sorry about this, we need to get embedded from yarn workspace. and also appending this "includes ..." should be a cli param somehow since it's specific to rango-client, and normal repos won't need that. + let embeddedVersion; + try { + const json = packageJson(path.join('widget', 'embedded')); + embeddedVersion = json.version; + } catch { + // ignore. in case of the target directory changed or doesn't exists. + } + + /** @see https://github.com/conventional-changelog/conventional-changelog/blob/master/packages/conventional-changelog-writer/templates/header.hbs */ + let headerTemplate = `## {{#if isPatch~}} {{~/if~}} {{#if title}}{{title}}{{/if}} [{{version}}] {{~#if date}} ({{date}}) {{~/if~}} {{~#if isPatch~}} {{~/if}}`; + if (embeddedVersion) { + headerTemplate += `\n_includes \`@rango-dev/widget-embedded@${embeddedVersion}\`_`; + } + + generator.readPackage(packageJsonPath()); + generator.context({ + // TODO: this shouldn't be hardcoded, we can use package.json's name field. + // TODO: this is also a dirty way to know we are in rango-client or not. for other repos, we don't add any title. + title: embeddedVersion ? 'Widget' : undefined, + }); + + generator.writer({ + headerPartial: headerTemplate, + }); + generator.tags({ + prefix: TAG_ROOT_PREFIX, + }); + } + + return generator.writeStream(); +} + +/** + * + * @param {import("./typedefs.mjs").Package} [pkg] + */ +export async function generateChangelogAndSave(pkg) { + return new Promise((resolve, reject) => { + const changelog = generateChangelog(pkg); + + // we only need location for file stream, when pkg is undefined, we will point to root of the project. + // useful for creating root changelog for a monorepo, or for normal repos. + if (!pkg) pkg = { location: packagePath() }; + + const writeStream = changelog.pipe(changelogFileStream(pkg)); + + writeStream.on('finish', resolve); + writeStream.on('error', reject); + }); +} + +/** + * + * @param {import("./typedefs.mjs").Package} [pkg] + */ +export function generateChangelogAndPrint(pkg) { + const changelog = generateChangelog(pkg); + changelog.pipe(process.stdout); } diff --git a/scripts/common/errors.mjs b/scripts/common/errors.mjs index d0ceabe491..2afcc7e284 100644 --- a/scripts/common/errors.mjs +++ b/scripts/common/errors.mjs @@ -54,13 +54,6 @@ export class IncreaseVersionFailedError extends Error { } } -export class GenerateChangelogFailedError extends Error { - name = 'GenerateChangelogFailedError'; - constructor(msg) { - super(msg); - } -} - export class UnableToProceedPublishError extends Error { name = 'UnableToProceedPublishError'; constructor(msg) { @@ -110,4 +103,5 @@ export class VercelError extends Error { constructor(msg) { super(msg); } -} \ No newline at end of file +} + diff --git a/scripts/common/github.mjs b/scripts/common/github.mjs index cda30902e8..797e8e83a5 100644 --- a/scripts/common/github.mjs +++ b/scripts/common/github.mjs @@ -41,9 +41,11 @@ export async function getGithubReleaseFor(pkg) { * @param {import('./typedefs.mjs').Package} pkg */ export async function makeGithubRelease(pkg) { - const notes = await generateChangelog(pkg, { - saveToFile: false, - }); + const notes = ''; + for await (let chunk of generateChangelog(pkg)) { + notes += chunk; + } + const tagName = generateTagName(pkg); const output = await execa('gh', [ 'release', diff --git a/scripts/common/npm.mjs b/scripts/common/npm.mjs index 842b5ba0c9..487d8681a1 100644 --- a/scripts/common/npm.mjs +++ b/scripts/common/npm.mjs @@ -1,7 +1,6 @@ import fs from 'node:fs/promises'; import { $, execa } from 'execa'; import { join } from 'node:path'; -import { printDirname } from '../common/utils.mjs'; import { compareSemVer } from 'semver-parser'; import fetch, { Headers } from 'node-fetch'; import { @@ -11,8 +10,8 @@ import { YarnError, } from './errors.mjs'; import { detectChannel } from './github.mjs'; +import { rootPath } from './path.mjs'; -const cwd = join(printDirname(), '..', '..'); /** * Publish a package using `yarn publish` @@ -108,7 +107,7 @@ export async function packagePath(project) { const pkg = workspaces[project]; const path = pkg.location; - return join(cwd, path); + return join(rootPath(), path); } export async function readPackageJson(project) { diff --git a/scripts/common/path.mjs b/scripts/common/path.mjs new file mode 100644 index 0000000000..dcf40751af --- /dev/null +++ b/scripts/common/path.mjs @@ -0,0 +1,64 @@ +import path from 'node:path'; +import { fileURLToPath } from 'node:url'; + +function printDirname() { + const __filename = fileURLToPath(import.meta.url); + const __dirname = path.dirname(__filename); + return __dirname; +} + +/** + * Returns the root path of the project. + * + * + * @returns {string} The path to the project root (currently returns '.') + */ +export function rootPath() { + return path.join(printDirname(), '..', '..'); +} + + +/** + * Returns the full path of a package including the root path. + * If no package location is provided, returns the root path. + * + * @param {string} [packageLocation=''] - The relative path to the package from root + * @returns {string} The full path to the package directory + * @example + * // Returns root path + * packagePath() + * + */ +export function packagePath(packageLocation = '') { + return path.join(rootPath(), packageLocation); +} + +/** + * Returns the full path to the package.json file of a package. + * If no package location is provided, returns the root package.json path. + * + * @param {string} [packageLocation=''] - The relative path to the package from root + * @returns {string} The full path to the package.json file + * @example + * // Returns './package.json' + * packageJsonPath() + * + */ +export function packageJsonPath(packageLocation = '') { + return path.join(packagePath(packageLocation), 'package.json'); +} + +/** + * Returns the full path to the CHANGELOG.md file of a package. + * If no package location is provided, returns the root CHANGELOG.md path. + * + * @param {string} [packageLocation=''] - The relative path to the package from root + * @returns {string} The full path to the CHANGELOG.md file + * @example + * // Returns './CHANGELOG.md' + * packageChangelogPath() + * + */ +export function packageChangelogPath(packageLocation = '') { + return path.join(packagePath(packageLocation), 'CHANGELOG.md'); +} diff --git a/scripts/common/repository.mjs b/scripts/common/repository.mjs index 27232c3c16..9c6f4fac1e 100644 --- a/scripts/common/repository.mjs +++ b/scripts/common/repository.mjs @@ -5,9 +5,8 @@ import { getChangedPackagesFor } from './git.mjs'; import { detectChannel } from './github.mjs'; import { importJson, nxToGraph } from './graph/helpers.mjs'; import { Graph } from './graph/index.mjs'; -import { packageNamesToPackagesWithInfo, printDirname } from './utils.mjs'; +import { packageNamesToPackagesWithInfo } from './utils.mjs'; -const root = join(printDirname(), '..', '..'); /** * diff --git a/scripts/common/utils.mjs b/scripts/common/utils.mjs index 257054482a..0e9c9d7333 100644 --- a/scripts/common/utils.mjs +++ b/scripts/common/utils.mjs @@ -1,18 +1,11 @@ -import path from 'path'; -import { fileURLToPath } from 'url'; + import { readFileSync } from 'fs'; -import { join } from 'path'; import { execa } from 'execa'; import process from 'node:process'; import { NPM_ORG_NAME } from './constants.mjs'; +import { packageJsonPath } from './path.mjs'; -const root = join(printDirname(), '..', '..'); -export function printDirname() { - const __filename = fileURLToPath(import.meta.url); - const __dirname = path.dirname(__filename); - return __dirname; -} /** * Getting workspace members using Yarn. @@ -36,20 +29,14 @@ export async function workspacePackages() { return output; } -export function convertPackageLocationToFullPath(pkgLocation) { - const fullPath = join(root, pkgLocation); - return fullPath; -} - /** * Getting a package json and deserialize it to JS object. * @param {string} location * @returns {Object} */ export function packageJson(location) { - const pkgPath = convertPackageLocationToFullPath(location); - const fullPath = join(pkgPath, 'package.json'); - const file = readFileSync(fullPath); + const pkgPath = packageJsonPath(location); + const file = readFileSync(pkgPath); return JSON.parse(file); } diff --git a/scripts/common/version.mjs b/scripts/common/version.mjs index 9a82610d25..1d29582af8 100644 --- a/scripts/common/version.mjs +++ b/scripts/common/version.mjs @@ -1,7 +1,7 @@ import { execa } from 'execa'; import { IncreaseVersionFailedError } from './errors.mjs'; -import conventionanRecommendBump from 'conventional-recommended-bump'; -import { packageNameWithoutScope } from './utils.mjs'; +import { Bumper } from 'conventional-recommended-bump'; +import { TAG_PACKAGE_PREFIX } from './changelog.mjs'; /** * @@ -91,22 +91,13 @@ export async function increaseVersionForProd(pkg) { * @return {Promise<{level: number,reason: string, releaseType: 'patch' | 'minor' | 'major',}>} */ export async function recommendBump(pkg) { - const tagName = packageNameWithoutScope(pkg.name); - return new Promise((resolve, reject) => { - conventionanRecommendBump( - { - preset: 'angular', - lernaPackage: tagName, - }, - (error, recommendation) => { - if (error) { - reject(error); - } else { - resolve(recommendation); - } - } - ); + const bumper = new Bumper().loadPreset('angular'); + bumper.tag({ + prefix: TAG_PACKAGE_PREFIX(pkg), }); + const recommendation = await bumper.bump(); + + return recommendation; } function parseYarnVersionResult(output) { diff --git a/scripts/deploy/utils.mjs b/scripts/deploy/utils.mjs index 4165c51823..9d6ebbf70e 100644 --- a/scripts/deploy/utils.mjs +++ b/scripts/deploy/utils.mjs @@ -11,7 +11,6 @@ import { import * as actionCore from '@actions/core'; import { VercelError } from '../common/errors.mjs'; import { - convertPackageLocationToFullPath, packageJson, packageNameWithoutScope, workspacePackages, @@ -21,6 +20,7 @@ import { dirname, join } from 'node:path'; import { mkdir } from 'node:fs/promises'; import { fileURLToPath } from 'node:url'; +import { packagePath } from '../common/path.mjs'; export function getVercelProjectId(packageName) { return VERCEL_PACKAGES[packageName]; @@ -228,7 +228,7 @@ export async function makeOutputFolderForBuildOutputApi( } // Paths - const pkgPath = convertPackageLocationToFullPath(pkgLocation); + const pkgPath = packagePath(pkgLocation); const mainDir = dirname(join(pkgPath, pkg.main)); const targetDir = join(pkgPath, '.vercel/output'); const targetStaticDir = join(targetDir, 'static'); diff --git a/scripts/dev-ts-check/command.mjs b/scripts/dev-ts-check/command.mjs index ee82f01d93..5ec7fb4141 100644 --- a/scripts/dev-ts-check/command.mjs +++ b/scripts/dev-ts-check/command.mjs @@ -5,10 +5,9 @@ import { join } from 'node:path'; import commandLineArgs from 'command-line-args'; import { watch } from './watch.mjs'; import { awake } from '../dev-watch/utils.mjs'; -import { printDirname } from '../common/utils.mjs'; +import { rootPath } from '../common/path.mjs'; -const cwd = join(printDirname(), '..', '..'); -const nx = join(cwd, 'node_modules', '.bin', 'nx'); +const nx = join(rootPath(), 'node_modules', '.bin', 'nx'); async function run() { const optionDefinitions = [{ name: 'project', type: String }]; diff --git a/scripts/dev-watch/command.mjs b/scripts/dev-watch/command.mjs index e9102fb9d4..8f291438b1 100644 --- a/scripts/dev-watch/command.mjs +++ b/scripts/dev-watch/command.mjs @@ -6,10 +6,9 @@ import commandLineArgs from 'command-line-args'; import { dev } from './subcommands/dev.mjs'; import { watch } from './subcommands/watch.mjs'; import { awake } from './utils.mjs'; -import { printDirname } from '../common/utils.mjs'; +import { rootPath } from '../common/path.mjs'; -const cwd = join(printDirname(), '..', '..'); -const nx = join(cwd, 'node_modules', '.bin', 'nx'); +const nx = join(rootPath(), 'node_modules', '.bin', 'nx'); async function run() { const optionDefinitions = [{ name: 'project', type: String }]; diff --git a/scripts/publish/publish.mjs b/scripts/publish/publish.mjs index 6af913ad25..8cd671bd57 100644 --- a/scripts/publish/publish.mjs +++ b/scripts/publish/publish.mjs @@ -1,12 +1,9 @@ import chalk from 'chalk'; -import { generateChangelog } from '../common/changelog.mjs'; +import { generateChangelogAndSave } from '../common/changelog.mjs'; import { should } from '../common/features.mjs'; import { publishOnNpm } from '../common/npm.mjs'; import { upgradeDependents } from './upgrade.mjs'; -import { - addPkgFileChangesToStage, - sequentiallyRun, -} from './utils.mjs'; +import { addPkgFileChangesToStage, sequentiallyRun } from './utils.mjs'; /** * @@ -44,7 +41,7 @@ async function publishTask(pkg, { onUpdateState }) { if (should('generateChangelog')) { console.log(chalk.green('[2/4]'), `Making changelog`); - await generateChangelog(pkg, { saveToFile: true }); + await generateChangelogAndSave(pkg); } else { console.log(chalk.green('[2/4]'), `Skipping changelog and github release.`); } diff --git a/scripts/upgrade-all/utils.mjs b/scripts/upgrade-all/utils.mjs index 5d94721c79..7a6e6a5c49 100644 --- a/scripts/upgrade-all/utils.mjs +++ b/scripts/upgrade-all/utils.mjs @@ -1,15 +1,13 @@ import fs from 'node:fs/promises'; -import { join } from 'node:path'; import { $ } from 'execa'; -import { printDirname } from '../common/utils.mjs'; import { packageVersionOnNPM } from '../common/npm.mjs'; +import { packageJsonPath } from '../common/path.mjs'; -const cwd = join(printDirname(), '..', '..'); export async function updateVersion(target, upgrade) { const { path } = target; const { name, version } = upgrade; - const pkgPath = join(cwd, path, 'package.json'); + const pkgPath = packageJsonPath(path); const pkgJson = await fs.readFile(pkgPath, { encoding: 'utf8' }); const updatedPkgJson = JSON.parse(pkgJson); diff --git a/yarn.lock b/yarn.lock index 71c6374a4b..eea53f51f6 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2251,6 +2251,15 @@ "@noble/hashes" "^1.0.0" protobufjs "^6.8.8" +"@conventional-changelog/git-client@^2.5.1": + version "2.5.1" + resolved "https://registry.yarnpkg.com/@conventional-changelog/git-client/-/git-client-2.5.1.tgz#770d3911264653492d18366751e06b14a6ec7b3d" + integrity sha512-lAw7iA5oTPWOLjiweb7DlGEMDEvzqzLLa6aWOly2FSZ64IwLE8T458rC+o+WvI31Doz6joM7X2DoNog7mX8r4A== + dependencies: + "@simple-libs/child-process-utils" "^1.0.0" + "@simple-libs/stream-utils" "^1.1.0" + semver "^7.5.2" + "@cosmjs/amino@0.27.1": version "0.27.1" resolved "https://registry.yarnpkg.com/@cosmjs/amino/-/amino-0.27.1.tgz#0910256b5aecd794420bb5f7319d98fc63252fa1" @@ -4043,11 +4052,6 @@ resolved "https://registry.yarnpkg.com/@humanwhocodes/retry/-/retry-0.4.1.tgz#9a96ce501bc62df46c4031fbd970e3cc6b10f07b" integrity sha512-c7hNEllBlenFTHBky65mhq8WD2kbN9Q6gk0bTk8lSBvc554jpXSkST1iePudpt7+A/AQvuHs9EMqjHDXMY1lrA== -"@hutson/parse-repository-url@^3.0.0": - version "3.0.2" - resolved "https://registry.yarnpkg.com/@hutson/parse-repository-url/-/parse-repository-url-3.0.2.tgz#98c23c950a3d9b6c8f0daed06da6c3af06981340" - integrity sha512-H9XAx3hc0BQHY6l+IFSWHDySypcXsvsuLhgYLUGywmJ5pswRVQJUHpOsobnLYp2ZUaUlKiKDrgWWhosOwAEM8Q== - "@hypnosphi/create-react-context@^0.3.1": version "0.3.1" resolved "https://registry.yarnpkg.com/@hypnosphi/create-react-context/-/create-react-context-0.3.1.tgz#f8bfebdc7665f5d426cba3753e0e9c7d3154d7c6" @@ -6375,6 +6379,21 @@ dependencies: "@sentry/types" "7.119.1" +"@simple-libs/child-process-utils@^1.0.0": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@simple-libs/child-process-utils/-/child-process-utils-1.0.1.tgz#75062207018fff34727364c5a77ee7d4289874ad" + integrity sha512-3nWd8irxvDI6v856wpPCHZ+08iQR0oHTZfzAZmnbsLzf+Sf1odraP6uKOHDZToXq3RPRV/LbqGVlSCogm9cJjg== + dependencies: + "@simple-libs/stream-utils" "^1.1.0" + "@types/node" "^22.0.0" + +"@simple-libs/stream-utils@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@simple-libs/stream-utils/-/stream-utils-1.1.0.tgz#646d414701d15fdb0636561a744ff978e985dda5" + integrity sha512-6rsHTjodIn/t90lv5snQjRPVtOosM7Vp0AKdrObymq45ojlgVwnpAqdc+0OBBrpEiy31zZ6/TKeIVqV1HwvnuQ== + dependencies: + "@types/node" "^22.0.0" + "@sinclair/typebox@^0.27.8": version "0.27.8" resolved "https://registry.yarnpkg.com/@sinclair/typebox/-/typebox-0.27.8.tgz#6667fac16c436b5434a387a34dedb013198f6e6e" @@ -8751,14 +8770,14 @@ resolved "https://registry.yarnpkg.com/@types/minimist/-/minimist-1.2.5.tgz#ec10755e871497bcd83efe927e43ec46e8c0747e" integrity sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag== -"@types/node@*", "@types/node@10.12.18", "@types/node@18.15.13", "@types/node@>=13.7.0", "@types/node@^12.12.54", "@types/node@^18.0.0", "@types/node@^20.17.19": +"@types/node@*", "@types/node@10.12.18", "@types/node@18.15.13", "@types/node@>=13.7.0", "@types/node@^12.12.54", "@types/node@^18.0.0", "@types/node@^20.17.19", "@types/node@^22.0.0": version "20.17.19" resolved "https://registry.yarnpkg.com/@types/node/-/node-20.17.19.tgz#0f2869555719bef266ca6e1827fcdca903c1a697" integrity sha512-LEwC7o1ifqg/6r2gn9Dns0f1rhK+fPFDoMiceTJ6kWmVk6bgXBI/9IOWfVan4WiAavK9pIVWdX0/e3J+eEUh5A== dependencies: undici-types "~6.19.2" -"@types/normalize-package-data@^2.4.0": +"@types/normalize-package-data@^2.4.0", "@types/normalize-package-data@^2.4.4": version "2.4.4" resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz#56e2cc26c397c038fab0e3a917a12d5c5909e901" integrity sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA== @@ -9818,7 +9837,7 @@ dependencies: argparse "^2.0.1" -JSONStream@^1.0.4, JSONStream@^1.3.5: +JSONStream@^1.3.5: version "1.3.5" resolved "https://registry.yarnpkg.com/JSONStream/-/JSONStream-1.3.5.tgz#3208c1f08d3a4d99261ab64f92302bc15e111ca0" integrity sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ== @@ -9884,11 +9903,6 @@ acorn@^8.14.0: resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.14.0.tgz#063e2c70cac5fb4f6467f0b11152e04c682795b0" integrity sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA== -add-stream@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/add-stream/-/add-stream-1.0.0.tgz#6a7990437ca736d5e1288db92bd3266d5f5cb2aa" - integrity sha512-qQLMr+8o0WC4FZGQTcJiKBVC59JylcPSrTtk6usvmIDFUOCKegapy1VHQwRbFMOFyb/inzUVqHs+eMYKDM1YeQ== - address@^1.0.1: version "1.2.2" resolved "https://registry.yarnpkg.com/address/-/address-1.2.2.tgz#2b5248dac5485a6390532c6a517fda2e3faac89e" @@ -11446,16 +11460,6 @@ concat-map@0.0.1: resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== -concat-stream@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-2.0.0.tgz#414cf5af790a48c60ab9be4527d56d5e41133cb1" - integrity sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A== - dependencies: - buffer-from "^1.0.0" - inherits "^2.0.3" - readable-stream "^3.0.2" - typedarray "^0.0.6" - concurrently@^9.2.0: version "9.2.0" resolved "https://registry.yarnpkg.com/concurrently/-/concurrently-9.2.0.tgz#233e3892ceb0b5db9fd49e9c8c739737a7b638b5" @@ -11491,14 +11495,6 @@ content-type@~1.0.4, content-type@~1.0.5: resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.5.tgz#8b773162656d1d1086784c8f23a54ce6d73d7918" integrity sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA== -conventional-changelog-angular@^5.0.12, conventional-changelog-angular@^5.0.13: - version "5.0.13" - resolved "https://registry.yarnpkg.com/conventional-changelog-angular/-/conventional-changelog-angular-5.0.13.tgz#896885d63b914a70d4934b59d2fe7bde1832b28c" - integrity sha512-i/gipMxs7s8L/QeuavPF2hLnJgH6pEZAttySB6aiQLWcX3puWDL3ACVmvBhJGxnAy52Qc15ua26BufY6KpmrVA== - dependencies: - compare-func "^2.0.0" - q "^1.5.1" - conventional-changelog-angular@^7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/conventional-changelog-angular/-/conventional-changelog-angular-7.0.0.tgz#5eec8edbff15aa9b1680a8dcfbd53e2d7eb2ba7a" @@ -11506,39 +11502,12 @@ conventional-changelog-angular@^7.0.0: dependencies: compare-func "^2.0.0" -conventional-changelog-atom@^2.0.8: - version "2.0.8" - resolved "https://registry.yarnpkg.com/conventional-changelog-atom/-/conventional-changelog-atom-2.0.8.tgz#a759ec61c22d1c1196925fca88fe3ae89fd7d8de" - integrity sha512-xo6v46icsFTK3bb7dY/8m2qvc8sZemRgdqLb/bjpBsH2UyOS8rKNTgcb5025Hri6IpANPApbXMg15QLb1LJpBw== - dependencies: - q "^1.5.1" - -conventional-changelog-cli@^2.2.2: - version "2.2.2" - resolved "https://registry.yarnpkg.com/conventional-changelog-cli/-/conventional-changelog-cli-2.2.2.tgz#9a7746cede92c6a8f27dc46692efaadfbed60daa" - integrity sha512-8grMV5Jo8S0kP3yoMeJxV2P5R6VJOqK72IiSV9t/4H5r/HiRqEBQ83bYGuz4Yzfdj4bjaAEhZN/FFbsFXr5bOA== - dependencies: - add-stream "^1.0.0" - conventional-changelog "^3.1.24" - lodash "^4.17.15" - meow "^8.0.0" - tempfile "^3.0.0" - -conventional-changelog-codemirror@^2.0.8: - version "2.0.8" - resolved "https://registry.yarnpkg.com/conventional-changelog-codemirror/-/conventional-changelog-codemirror-2.0.8.tgz#398e9530f08ce34ec4640af98eeaf3022eb1f7dc" - integrity sha512-z5DAsn3uj1Vfp7po3gpt2Boc+Bdwmw2++ZHa5Ak9k0UKsYAO5mH1UBTN0qSCuJZREIhX6WU4E1p3IW2oRCNzQw== - dependencies: - q "^1.5.1" - -conventional-changelog-conventionalcommits@^4.5.0: - version "4.6.3" - resolved "https://registry.yarnpkg.com/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-4.6.3.tgz#0765490f56424b46f6cb4db9135902d6e5a36dc2" - integrity sha512-LTTQV4fwOM4oLPad317V/QNQ1FY4Hju5qeBIM1uTHbrnCE+Eg4CdRZ3gO2pUeR+tzWdp80M2j3qFFEDWVqOV4g== +conventional-changelog-angular@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/conventional-changelog-angular/-/conventional-changelog-angular-8.0.0.tgz#5701386850f0e0c2e630b43ee7821d322d87e7a6" + integrity sha512-CLf+zr6St0wIxos4bmaKHRXWAcsCXrJU6F4VdNDrGRK3B8LDLKoX3zuMV5GhtbGkVR/LohZ6MT6im43vZLSjmA== dependencies: compare-func "^2.0.0" - lodash "^4.17.15" - q "^1.5.1" conventional-changelog-conventionalcommits@^7.0.2: version "7.0.2" @@ -11547,118 +11516,39 @@ conventional-changelog-conventionalcommits@^7.0.2: dependencies: compare-func "^2.0.0" -conventional-changelog-core@^4.2.1: - version "4.2.4" - resolved "https://registry.yarnpkg.com/conventional-changelog-core/-/conventional-changelog-core-4.2.4.tgz#e50d047e8ebacf63fac3dc67bf918177001e1e9f" - integrity sha512-gDVS+zVJHE2v4SLc6B0sLsPiloR0ygU7HaDW14aNJE1v4SlqJPILPl/aJC7YdtRE4CybBf8gDwObBvKha8Xlyg== - dependencies: - add-stream "^1.0.0" - conventional-changelog-writer "^5.0.0" - conventional-commits-parser "^3.2.0" - dateformat "^3.0.0" - get-pkg-repo "^4.0.0" - git-raw-commits "^2.0.8" - git-remote-origin-url "^2.0.0" - git-semver-tags "^4.1.1" - lodash "^4.17.15" - normalize-package-data "^3.0.0" - q "^1.5.1" - read-pkg "^3.0.0" - read-pkg-up "^3.0.0" - through2 "^4.0.0" - -conventional-changelog-ember@^2.0.9: - version "2.0.9" - resolved "https://registry.yarnpkg.com/conventional-changelog-ember/-/conventional-changelog-ember-2.0.9.tgz#619b37ec708be9e74a220f4dcf79212ae1c92962" - integrity sha512-ulzIReoZEvZCBDhcNYfDIsLTHzYHc7awh+eI44ZtV5cx6LVxLlVtEmcO+2/kGIHGtw+qVabJYjdI5cJOQgXh1A== - dependencies: - q "^1.5.1" - -conventional-changelog-eslint@^3.0.9: - version "3.0.9" - resolved "https://registry.yarnpkg.com/conventional-changelog-eslint/-/conventional-changelog-eslint-3.0.9.tgz#689bd0a470e02f7baafe21a495880deea18b7cdb" - integrity sha512-6NpUCMgU8qmWmyAMSZO5NrRd7rTgErjrm4VASam2u5jrZS0n38V7Y9CzTtLT2qwz5xEChDR4BduoWIr8TfwvXA== - dependencies: - q "^1.5.1" - -conventional-changelog-express@^2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/conventional-changelog-express/-/conventional-changelog-express-2.0.6.tgz#420c9d92a347b72a91544750bffa9387665a6ee8" - integrity sha512-SDez2f3iVJw6V563O3pRtNwXtQaSmEfTCaTBPCqn0oG0mfkq0rX4hHBq5P7De2MncoRixrALj3u3oQsNK+Q0pQ== - dependencies: - q "^1.5.1" - -conventional-changelog-jquery@^3.0.11: - version "3.0.11" - resolved "https://registry.yarnpkg.com/conventional-changelog-jquery/-/conventional-changelog-jquery-3.0.11.tgz#d142207400f51c9e5bb588596598e24bba8994bf" - integrity sha512-x8AWz5/Td55F7+o/9LQ6cQIPwrCjfJQ5Zmfqi8thwUEKHstEn4kTIofXub7plf1xvFA2TqhZlq7fy5OmV6BOMw== - dependencies: - q "^1.5.1" - -conventional-changelog-jshint@^2.0.9: - version "2.0.9" - resolved "https://registry.yarnpkg.com/conventional-changelog-jshint/-/conventional-changelog-jshint-2.0.9.tgz#f2d7f23e6acd4927a238555d92c09b50fe3852ff" - integrity sha512-wMLdaIzq6TNnMHMy31hql02OEQ8nCQfExw1SE0hYL5KvU+JCTuPaDO+7JiogGT2gJAxiUGATdtYYfh+nT+6riA== - dependencies: - compare-func "^2.0.0" - q "^1.5.1" - -conventional-changelog-preset-loader@^2.3.4: - version "2.3.4" - resolved "https://registry.yarnpkg.com/conventional-changelog-preset-loader/-/conventional-changelog-preset-loader-2.3.4.tgz#14a855abbffd59027fd602581f1f34d9862ea44c" - integrity sha512-GEKRWkrSAZeTq5+YjUZOYxdHq+ci4dNwHvpaBC3+ENalzFWuCWa9EZXSuZBpkr72sMdKB+1fyDV4takK1Lf58g== +conventional-changelog-preset-loader@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/conventional-changelog-preset-loader/-/conventional-changelog-preset-loader-5.0.0.tgz#922ad617c13ad3243bef967cfc0f8373893c216d" + integrity sha512-SetDSntXLk8Jh1NOAl1Gu5uLiCNSYenB5tm0YVeZKePRIgDW9lQImromTwLa3c/Gae298tsgOM+/CYT9XAl0NA== -conventional-changelog-writer@^5.0.0: - version "5.0.1" - resolved "https://registry.yarnpkg.com/conventional-changelog-writer/-/conventional-changelog-writer-5.0.1.tgz#e0757072f045fe03d91da6343c843029e702f359" - integrity sha512-5WsuKUfxW7suLblAbFnxAcrvf6r+0b7GvNaWUwUIk0bXMnENP/PEieGKVUQrjPqwPT4o3EPAASBXiY6iHooLOQ== +conventional-changelog-writer@^8.1.0: + version "8.2.0" + resolved "https://registry.yarnpkg.com/conventional-changelog-writer/-/conventional-changelog-writer-8.2.0.tgz#1b77ef8e45ccc4559e02a23a34d50c15d2051e5a" + integrity sha512-Y2aW4596l9AEvFJRwFGJGiQjt2sBYTjPD18DdvxX9Vpz0Z7HQ+g1Z+6iYDAm1vR3QOJrDBkRHixHK/+FhkR6Pw== dependencies: - conventional-commits-filter "^2.0.7" - dateformat "^3.0.0" + conventional-commits-filter "^5.0.0" handlebars "^4.7.7" - json-stringify-safe "^5.0.1" - lodash "^4.17.15" - meow "^8.0.0" - semver "^6.0.0" - split "^1.0.0" - through2 "^4.0.0" - -conventional-changelog@^3.1.24: - version "3.1.25" - resolved "https://registry.yarnpkg.com/conventional-changelog/-/conventional-changelog-3.1.25.tgz#3e227a37d15684f5aa1fb52222a6e9e2536ccaff" - integrity sha512-ryhi3fd1mKf3fSjbLXOfK2D06YwKNic1nC9mWqybBHdObPd8KJ2vjaXZfYj1U23t+V8T8n0d7gwnc9XbIdFbyQ== - dependencies: - conventional-changelog-angular "^5.0.12" - conventional-changelog-atom "^2.0.8" - conventional-changelog-codemirror "^2.0.8" - conventional-changelog-conventionalcommits "^4.5.0" - conventional-changelog-core "^4.2.1" - conventional-changelog-ember "^2.0.9" - conventional-changelog-eslint "^3.0.9" - conventional-changelog-express "^2.0.6" - conventional-changelog-jquery "^3.0.11" - conventional-changelog-jshint "^2.0.9" - conventional-changelog-preset-loader "^2.3.4" - -conventional-commits-filter@^2.0.7: - version "2.0.7" - resolved "https://registry.yarnpkg.com/conventional-commits-filter/-/conventional-commits-filter-2.0.7.tgz#f8d9b4f182fce00c9af7139da49365b136c8a0b3" - integrity sha512-ASS9SamOP4TbCClsRHxIHXRfcGCnIoQqkvAzCSbZzTFLfcTqJVugB0agRgsEELsqaeWgsXv513eS116wnlSSPA== - dependencies: - lodash.ismatch "^4.4.0" - modify-values "^1.0.0" + meow "^13.0.0" + semver "^7.5.2" -conventional-commits-parser@^3.2.0, conventional-commits-parser@^3.2.4: - version "3.2.4" - resolved "https://registry.yarnpkg.com/conventional-commits-parser/-/conventional-commits-parser-3.2.4.tgz#a7d3b77758a202a9b2293d2112a8d8052c740972" - integrity sha512-nK7sAtfi+QXbxHCYfhpZsfRtaitZLIA6889kFIouLvz6repszQDgxBu7wf2WbU+Dco7sAnNCJYERCwt54WPC2Q== - dependencies: - JSONStream "^1.0.4" - is-text-path "^1.0.1" - lodash "^4.17.15" - meow "^8.0.0" - split2 "^3.0.0" - through2 "^4.0.0" +conventional-changelog@^7.1.0: + version "7.1.0" + resolved "https://registry.yarnpkg.com/conventional-changelog/-/conventional-changelog-7.1.0.tgz#3b2c0fd34f62b754b140f00bdb76fb204c7362be" + integrity sha512-2hHa/MpDunPnYK3QcZdHl4MOnyLlicBmohsM5/dfvfeoPp0faIjYKHbKyb8nKth/Zd4HhxtlMWfVKrmM9OMj/Q== + dependencies: + "@conventional-changelog/git-client" "^2.5.1" + "@types/normalize-package-data" "^2.4.4" + conventional-changelog-preset-loader "^5.0.0" + conventional-changelog-writer "^8.1.0" + conventional-commits-parser "^6.1.0" + fd-package-json "^1.2.0" + meow "^13.0.0" + normalize-package-data "^7.0.0" + +conventional-commits-filter@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/conventional-commits-filter/-/conventional-commits-filter-5.0.0.tgz#72811f95d379e79d2d39d5c0c53c9351ef284e86" + integrity sha512-tQMagCOC59EVgNZcC5zl7XqO30Wki9i9J3acbUvkaosCT6JX3EeFwJD7Qqp4MCikRnzS18WXV3BLIQ66ytu6+Q== conventional-commits-parser@^5.0.0: version "5.0.0" @@ -11670,19 +11560,23 @@ conventional-commits-parser@^5.0.0: meow "^12.0.1" split2 "^4.0.0" -conventional-recommended-bump@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/conventional-recommended-bump/-/conventional-recommended-bump-6.1.0.tgz#cfa623285d1de554012f2ffde70d9c8a22231f55" - integrity sha512-uiApbSiNGM/kkdL9GTOLAqC4hbptObFo4wW2QRyHsKciGAfQuLU1ShZ1BIVI/+K2BE/W1AWYQMCXAsv4dyKPaw== - dependencies: - concat-stream "^2.0.0" - conventional-changelog-preset-loader "^2.3.4" - conventional-commits-filter "^2.0.7" - conventional-commits-parser "^3.2.0" - git-raw-commits "^2.0.8" - git-semver-tags "^4.1.1" - meow "^8.0.0" - q "^1.5.1" +conventional-commits-parser@^6.1.0, conventional-commits-parser@^6.2.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/conventional-commits-parser/-/conventional-commits-parser-6.2.0.tgz#1a2159471896f43101b8817e5709b8da78334aaa" + integrity sha512-uLnoLeIW4XaoFtH37qEcg/SXMJmKF4vi7V0H2rnPueg+VEtFGA/asSCNTcq4M/GQ6QmlzchAEtOoDTtKqWeHag== + dependencies: + meow "^13.0.0" + +conventional-recommended-bump@^11.2.0: + version "11.2.0" + resolved "https://registry.yarnpkg.com/conventional-recommended-bump/-/conventional-recommended-bump-11.2.0.tgz#48607209770496673b2360cc55dca7cde8ea0047" + integrity sha512-lqIdmw330QdMBgfL0e6+6q5OMKyIpy4OZNmepit6FS3GldhkG+70drZjuZ0A5NFpze5j85dlYs3GabQXl6sMHw== + dependencies: + "@conventional-changelog/git-client" "^2.5.1" + conventional-changelog-preset-loader "^5.0.0" + conventional-commits-filter "^5.0.0" + conventional-commits-parser "^6.1.0" + meow "^13.0.0" convert-source-map@^1.5.0: version "1.9.0" @@ -12125,11 +12019,6 @@ date-fns@^2.16.1, date-fns@^2.29.3: dependencies: "@babel/runtime" "^7.21.0" -dateformat@^3.0.0: - version "3.0.3" - resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-3.0.3.tgz#a6e37499a4d9a9cf85ef5872044d62901c9889ae" - integrity sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q== - dayjs@^1.11.6: version "1.11.13" resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.11.13.tgz#92430b0139055c3ebb60150aa13e860a4b5a366c" @@ -13705,6 +13594,13 @@ fbjs@^0.8.4: setimmediate "^1.0.5" ua-parser-js "^0.7.30" +fd-package-json@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/fd-package-json/-/fd-package-json-1.2.0.tgz#4f218bb8ff65c21011d1f4f17cb3d0c9e72f8da7" + integrity sha512-45LSPmWf+gC5tdCQMNH4s9Sr00bIkiD9aN7dc5hqkrEw1geRYyDQS1v1oMHAW3ysfxfndqGsrDREHHjNNbKUfA== + dependencies: + walk-up-path "^3.0.1" + fetch-retry@^5.0.2: version "5.0.6" resolved "https://registry.yarnpkg.com/fetch-retry/-/fetch-retry-5.0.6.tgz#17d0bc90423405b7a88b74355bf364acd2a7fa56" @@ -13817,13 +13713,6 @@ find-root@^1.1.0: resolved "https://registry.yarnpkg.com/find-root/-/find-root-1.1.0.tgz#abcfc8ba76f708c42a97b3d685b7e9450bfb9ce4" integrity sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng== -find-up@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" - integrity sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ== - dependencies: - locate-path "^2.0.0" - find-up@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73" @@ -14117,16 +14006,6 @@ get-own-enumerable-keys@^1.0.0: resolved "https://registry.yarnpkg.com/get-own-enumerable-keys/-/get-own-enumerable-keys-1.0.0.tgz#59bbda0f7e7469c8c74086e08f79f1381b203899" integrity sha512-PKsK2FSrQCyxcGHsGrLDcK0lx+0Ke+6e8KFFozA9/fIQLhQzPaRvJFdcz7+Axg3jUH/Mq+NI4xa5u/UT2tQskA== -get-pkg-repo@^4.0.0: - version "4.2.1" - resolved "https://registry.yarnpkg.com/get-pkg-repo/-/get-pkg-repo-4.2.1.tgz#75973e1c8050c73f48190c52047c4cee3acbf385" - integrity sha512-2+QbHjFRfGB74v/pYWjd5OhU3TDIC2Gv/YKUTk/tCvAz0pkn/Mz6P3uByuBimLOcPvN2jYdScl3xGFSrx0jEcA== - dependencies: - "@hutson/parse-repository-url" "^3.0.0" - hosted-git-info "^4.0.0" - through2 "^2.0.0" - yargs "^16.2.0" - get-port-please@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/get-port-please/-/get-port-please-3.1.1.tgz#2556623cddb4801d823c0a6a15eec038abb483be" @@ -14185,7 +14064,7 @@ giget@^1.0.0: pathe "^1.1.1" tar "^6.2.0" -git-raw-commits@^2.0.11, git-raw-commits@^2.0.8: +git-raw-commits@^2.0.11: version "2.0.11" resolved "https://registry.yarnpkg.com/git-raw-commits/-/git-raw-commits-2.0.11.tgz#bc3576638071d18655e1cc60d7f524920008d723" integrity sha512-VnctFhw+xfj8Va1xtfEqCUD2XDrbAPSJx+hSrE5K7fGdjZruW7XV+QOrN7LF/RJyvspRiD2I0asWsxFp0ya26A== @@ -14196,29 +14075,6 @@ git-raw-commits@^2.0.11, git-raw-commits@^2.0.8: split2 "^3.0.0" through2 "^4.0.0" -git-remote-origin-url@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/git-remote-origin-url/-/git-remote-origin-url-2.0.0.tgz#5282659dae2107145a11126112ad3216ec5fa65f" - integrity sha512-eU+GGrZgccNJcsDH5LkXR3PB9M958hxc7sbA8DFJjrv9j4L2P/eZfKhM+QD6wyzpiv+b1BpK0XrYCxkovtjSLw== - dependencies: - gitconfiglocal "^1.0.0" - pify "^2.3.0" - -git-semver-tags@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/git-semver-tags/-/git-semver-tags-4.1.1.tgz#63191bcd809b0ec3e151ba4751c16c444e5b5780" - integrity sha512-OWyMt5zBe7xFs8vglMmhM9lRQzCWL3WjHtxNNfJTMngGym7pC1kh8sP6jevfydJ6LP3ZvGxfb6ABYgPUM0mtsA== - dependencies: - meow "^8.0.0" - semver "^6.0.0" - -gitconfiglocal@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/gitconfiglocal/-/gitconfiglocal-1.0.0.tgz#41d045f3851a5ea88f03f24ca1c6178114464b9b" - integrity sha512-spLUXeTAVHxDtKsJc8FkFVgFtMdEN9qPGpL23VfSHx4fP4+Ds097IXLvymbnDH8FnmxX5Nr9bPw3A+AQ6mWEaQ== - dependencies: - ini "^1.3.2" - github-slugger@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/github-slugger/-/github-slugger-2.0.0.tgz#52cf2f9279a21eb6c59dd385b410f0c0adda8f1a" @@ -14672,13 +14528,20 @@ hosted-git-info@^2.1.4: resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz#dffc0bf9a21c02209090f2aa69429e1414daf3f9" integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw== -hosted-git-info@^4.0.0, hosted-git-info@^4.0.1: +hosted-git-info@^4.0.1: version "4.1.0" resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-4.1.0.tgz#827b82867e9ff1c8d0c4d9d53880397d2c86d224" integrity sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA== dependencies: lru-cache "^6.0.0" +hosted-git-info@^8.0.0: + version "8.1.0" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-8.1.0.tgz#153cd84c03c6721481e16a5709eb74b1a0ab2ed0" + integrity sha512-Rw/B2DNQaPBICNXEm8balFz9a6WpZrkCGpcWFpy7nCj+NyhSdqXipmfvtmWt9xGfp0wZnBxB+iVpLmQMYt47Tw== + dependencies: + lru-cache "^10.0.1" + html-entities@^2.1.0: version "2.4.0" resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-2.4.0.tgz#edd0cee70402584c8c76cc2c0556db09d1f45061" @@ -14903,7 +14766,7 @@ inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, i resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== -ini@^1.3.2, ini@^1.3.4: +ini@^1.3.4: version "1.3.8" resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c" integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== @@ -15380,13 +15243,6 @@ is-symbol@^1.0.4, is-symbol@^1.1.1: has-symbols "^1.1.0" safe-regex-test "^1.1.0" -is-text-path@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-text-path/-/is-text-path-1.0.1.tgz#4e1aa0fb51bfbcb3e92688001397202c1775b66e" - integrity sha512-xFuJpne9oFz5qDaodwmmG08e3CawH/2ZV8Qqza1Ko7Sk8POWbkRdwIoAWVhqvq0XeUzANEhKo2n0IXUGBm7A/w== - dependencies: - text-extensions "^1.0.0" - is-text-path@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/is-text-path/-/is-text-path-2.0.0.tgz#b2484e2b720a633feb2e85b67dc193ff72c75636" @@ -15783,11 +15639,6 @@ json-buffer@3.0.1: resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.1.tgz#9338802a30d3b6605fbe0613e094008ca8c05a13" integrity sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ== -json-parse-better-errors@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" - integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== - json-parse-even-better-errors@^2.3.0, json-parse-even-better-errors@^2.3.1: version "2.3.1" resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" @@ -16141,16 +15992,6 @@ lmdb@2.8.5: "@lmdb/lmdb-linux-x64" "2.8.5" "@lmdb/lmdb-win32-x64" "2.8.5" -load-json-file@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-4.0.0.tgz#2f5f45ab91e33216234fd53adab668eb4ec0993b" - integrity sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw== - dependencies: - graceful-fs "^4.1.2" - parse-json "^4.0.0" - pify "^3.0.0" - strip-bom "^3.0.0" - loader-runner@^4.2.0: version "4.3.0" resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-4.3.0.tgz#c1b4a163b99f614830353b16755e7149ac2314e1" @@ -16171,14 +16012,6 @@ localforage@^1.8.1: dependencies: lie "3.1.1" -locate-path@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" - integrity sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA== - dependencies: - p-locate "^2.0.0" - path-exists "^3.0.0" - locate-path@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e" @@ -16248,11 +16081,6 @@ lodash.isfunction@^3.0.9: resolved "https://registry.yarnpkg.com/lodash.isfunction/-/lodash.isfunction-3.0.9.tgz#06de25df4db327ac931981d1bdb067e5af68d051" integrity sha512-AirXNj15uRIMMPihnkInB4i3NHeb4iBtNg9WRWuK2o31S+ePwwNmDPaTL3o7dTJ+VXNZim7rFs4rxN4YU1oUJw== -lodash.ismatch@^4.4.0: - version "4.4.0" - resolved "https://registry.yarnpkg.com/lodash.ismatch/-/lodash.ismatch-4.4.0.tgz#756cb5150ca3ba6f11085a78849645f188f85f37" - integrity sha512-fPMfXjGQEV9Xsq/8MTSgUf255gawYRbjwMyDbcvDhXgV7enSZA0hynz6vMPnpAb5iONEzBHBPsT+0zes5Z301g== - lodash.isplainobject@^4.0.6: version "4.0.6" resolved "https://registry.yarnpkg.com/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz#7c526a52d89b45c45cc690b88163be0497f550cb" @@ -16384,16 +16212,16 @@ lowlight@~1.11.0: fault "^1.0.2" highlight.js "~9.13.0" +lru-cache@^10.0.1, lru-cache@^10.2.0: + version "10.4.3" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-10.4.3.tgz#410fc8a17b70e598013df257c2446b7f3383f119" + integrity sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ== + lru-cache@^10.0.2, "lru-cache@^9.1.1 || ^10.0.0": version "10.1.0" resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-10.1.0.tgz#2098d41c2dc56500e6c88584aa656c84de7d0484" integrity sha512-/1clY/ui8CzjKFyjdvwPWJUYKiFVXG2I2cY0ssG7h4+hwk+XOIX7ZSG9Q7TW8TW3Kp3BUSqgFWBLgL4PJ+Blag== -lru-cache@^10.2.0: - version "10.4.3" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-10.4.3.tgz#410fc8a17b70e598013df257c2446b7f3383f119" - integrity sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ== - lru-cache@^5.1.1: version "5.1.1" resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" @@ -16579,6 +16407,11 @@ meow@^12.0.1: resolved "https://registry.yarnpkg.com/meow/-/meow-12.1.1.tgz#e558dddbab12477b69b2e9a2728c327f191bace6" integrity sha512-BhXM0Au22RwUneMPwSCnyhTOizdWoIEPU9sp0Aqa1PnDMR5Wv2FGXYDjuzJEIX+Eo2Rb8xuYe5jrnm5QowQFkw== +meow@^13.0.0: + version "13.2.0" + resolved "https://registry.yarnpkg.com/meow/-/meow-13.2.0.tgz#6b7d63f913f984063b3cc261b6e8800c4cd3474f" + integrity sha512-pxQJQzB6djGPXh08dacEloMFopsOqGVRKFPYvPOt9XDZ1HasbgDZA74CJGreSU4G3Ak7EFJGoiH2auq+yXISgA== + meow@^8.0.0: version "8.1.2" resolved "https://registry.yarnpkg.com/meow/-/meow-8.1.2.tgz#bcbe45bda0ee1729d350c03cffc8395a36c4e897" @@ -16824,11 +16657,6 @@ mobile-detect@^1.4.5: resolved "https://registry.yarnpkg.com/mobile-detect/-/mobile-detect-1.4.5.tgz#da393c3c413ca1a9bcdd9ced653c38281c0fb6ad" integrity sha512-yc0LhH6tItlvfLBugVUEtgawwFU2sIe+cSdmRJJCTMZ5GEJyLxNyC/NIOAOGk67Fa8GNpOttO3Xz/1bHpXFD/g== -modify-values@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/modify-values/-/modify-values-1.0.1.tgz#b3939fa605546474e3e3e3c63d64bd43b4ee6022" - integrity sha512-xV2bxeN6F7oYjZWTe/YPAy6MN2M+sL4u/Rlm2AHCIVGfo2p1yGmBHQ6vHehl4bRTZBdHu3TSkWdYgkwpYzAGSw== - moo@^0.5.1: version "0.5.2" resolved "https://registry.yarnpkg.com/moo/-/moo-0.5.2.tgz#f9fe82473bc7c184b0d32e2215d3f6e67278733c" @@ -17044,7 +16872,7 @@ node-releases@^2.0.18: resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.18.tgz#f010e8d35e2fe8d6b2944f03f70213ecedc4ca3f" integrity sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g== -normalize-package-data@^2.3.2, normalize-package-data@^2.5.0: +normalize-package-data@^2.5.0: version "2.5.0" resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== @@ -17064,6 +16892,15 @@ normalize-package-data@^3.0.0: semver "^7.3.4" validate-npm-package-license "^3.0.1" +normalize-package-data@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-7.0.0.tgz#ab4f49d02f2e25108d3f4326f3c13f0de6fa6a0a" + integrity sha512-k6U0gKRIuNCTkwHGZqblCfLfBRh+w1vI6tBo+IeJwq2M8FUiOqhX7GH+GArQGScA7azd1WfyRCvxoXDO3hQDIA== + dependencies: + hosted-git-info "^8.0.0" + semver "^7.3.5" + validate-npm-package-license "^3.0.4" + normalize-path@^3.0.0, normalize-path@~3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" @@ -17413,13 +17250,6 @@ own-keys@^1.0.1: object-keys "^1.1.1" safe-push-apply "^1.0.0" -p-limit@^1.1.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8" - integrity sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q== - dependencies: - p-try "^1.0.0" - p-limit@^2.0.0, p-limit@^2.2.0: version "2.3.0" resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" @@ -17441,13 +17271,6 @@ p-limit@^4.0.0: dependencies: yocto-queue "^1.0.0" -p-locate@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" - integrity sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg== - dependencies: - p-limit "^1.1.0" - p-locate@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4" @@ -17483,11 +17306,6 @@ p-map@^4.0.0: dependencies: aggregate-error "^3.0.0" -p-try@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" - integrity sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww== - p-try@^2.0.0: version "2.2.0" resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" @@ -17594,14 +17412,6 @@ parse-entities@^2.0.0: is-decimal "^1.0.0" is-hexadecimal "^1.0.0" -parse-json@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0" - integrity sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw== - dependencies: - error-ex "^1.3.1" - json-parse-better-errors "^1.0.1" - parse-json@^5.0.0, parse-json@^5.2.0: version "5.2.0" resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" @@ -17712,13 +17522,6 @@ path-to-regexp@6.1.0: resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-6.1.0.tgz#0b18f88b7a0ce0bfae6a25990c909ab86f512427" integrity sha512-h9DqehX3zZZDCEm+xbfU0ZmwCGFCAAraPJWMXJ4+v32NjZJilVg3k1TcKsRgIb8IQ/izZSaydDc1OhJCZvs2Dw== -path-type@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/path-type/-/path-type-3.0.0.tgz#cef31dc8e0a1a3bb0d105c0cd97cf3bf47f4e36f" - integrity sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg== - dependencies: - pify "^3.0.0" - path-type@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" @@ -17784,16 +17587,6 @@ pidtree@0.6.0: resolved "https://registry.yarnpkg.com/pidtree/-/pidtree-0.6.0.tgz#90ad7b6d42d5841e69e0a2419ef38f8883aa057c" integrity sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g== -pify@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" - integrity sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog== - -pify@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" - integrity sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg== - pify@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231" @@ -18237,11 +18030,6 @@ pushdata-bitcoin@^1.0.1: dependencies: bitcoin-ops "^1.3.0" -q@^1.5.1: - version "1.5.1" - resolved "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7" - integrity sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw== - qrcode@1.5.3, qrcode@^1.5.0: version "1.5.3" resolved "https://registry.yarnpkg.com/qrcode/-/qrcode-1.5.3.tgz#03afa80912c0dccf12bc93f615a535aad1066170" @@ -18700,14 +18488,6 @@ reactcss@^1.2.0: dependencies: lodash "^4.0.1" -read-pkg-up@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-3.0.0.tgz#3ed496685dba0f8fe118d0691dc51f4a1ff96f07" - integrity sha512-YFzFrVvpC6frF1sz8psoHDBGF7fLPc+llq/8NB43oagqWkx8ar5zYtsTORtOjw9W2RHLpWP+zTWwBvf1bCmcSw== - dependencies: - find-up "^2.0.0" - read-pkg "^3.0.0" - read-pkg-up@^7.0.1: version "7.0.1" resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-7.0.1.tgz#f3a6135758459733ae2b95638056e1854e7ef507" @@ -18717,15 +18497,6 @@ read-pkg-up@^7.0.1: read-pkg "^5.2.0" type-fest "^0.8.1" -read-pkg@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-3.0.0.tgz#9cbc686978fee65d16c00e2b19c237fcf6e38389" - integrity sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA== - dependencies: - load-json-file "^4.0.0" - normalize-package-data "^2.3.2" - path-type "^3.0.0" - read-pkg@^5.2.0: version "5.2.0" resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-5.2.0.tgz#7bf295438ca5a33e56cd30e053b34ee7250c93cc" @@ -18736,7 +18507,7 @@ read-pkg@^5.2.0: parse-json "^5.0.0" type-fest "^0.6.0" -readable-stream@3, readable-stream@^3.0.0, readable-stream@^3.0.2, readable-stream@^3.1.1, readable-stream@^3.4.0, readable-stream@^3.5.0, readable-stream@^3.6.0, readable-stream@^3.6.2: +readable-stream@3, readable-stream@^3.0.0, readable-stream@^3.1.1, readable-stream@^3.4.0, readable-stream@^3.5.0, readable-stream@^3.6.0, readable-stream@^3.6.2: version "3.6.2" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.2.tgz#56a9b36ea965c00c5a93ef31eb111a0f11056967" integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA== @@ -19824,13 +19595,6 @@ split2@^4.0.0: resolved "https://registry.yarnpkg.com/split2/-/split2-4.2.0.tgz#c9c5920904d148bab0b9f67145f245a86aadbfa4" integrity sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg== -split@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/split/-/split-1.0.1.tgz#605bd9be303aa59fb35f9229fbea0ddec9ea07d9" - integrity sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg== - dependencies: - through "2" - sprintf-js@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.1.3.tgz#4914b903a2f8b685d17fdf78a70e917e872e444a" @@ -19911,16 +19675,7 @@ string-argv@0.3.2: resolved "https://registry.yarnpkg.com/string-argv/-/string-argv-0.3.2.tgz#2b6d0ef24b656274d957d54e0a4bbf6153dc02b6" integrity sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q== -"string-width-cjs@npm:string-width@^4.2.0": - version "4.2.3" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" - integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== - dependencies: - emoji-regex "^8.0.0" - is-fullwidth-code-point "^3.0.0" - strip-ansi "^6.0.1" - -string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: +"string-width-cjs@npm:string-width@^4.2.0", string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: version "4.2.3" resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== @@ -20047,14 +19802,7 @@ stringify-object@^5.0.0: is-obj "^3.0.0" is-regexp "^3.1.0" -"strip-ansi-cjs@npm:strip-ansi@^6.0.1": - version "6.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" - integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== - dependencies: - ansi-regex "^5.0.1" - -strip-ansi@^6.0.0, strip-ansi@^6.0.1: +"strip-ansi-cjs@npm:strip-ansi@^6.0.1", strip-ansi@^6.0.0, strip-ansi@^6.0.1: version "6.0.1" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== @@ -20274,14 +20022,6 @@ temp@^0.8.4: dependencies: rimraf "~2.6.2" -tempfile@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/tempfile/-/tempfile-3.0.0.tgz#5376a3492de7c54150d0cc0612c3f00e2cdaf76c" - integrity sha512-uNFCg478XovRi85iD42egu+eSFUmmka750Jy7L5tfHI5hQKKtbPnxaSaXAbBqCDYrw3wx4tXjKwci4/QmsZJxw== - dependencies: - temp-dir "^2.0.0" - uuid "^3.3.2" - tempy@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/tempy/-/tempy-1.0.1.tgz#30fe901fd869cfb36ee2bd999805aa72fbb035de" @@ -20354,11 +20094,6 @@ text-encoding-utf-8@^1.0.2: resolved "https://registry.yarnpkg.com/text-encoding-utf-8/-/text-encoding-utf-8-1.0.2.tgz#585b62197b0ae437e3c7b5d0af27ac1021e10d13" integrity sha512-8bw4MY9WjdsD2aMtO0OzOCY3pXGYNx2d2FfHRVUKkiCPDWjKuOlhLVASS+pD7VkLTVjW268LYJHwsnPFlBpbAg== -text-extensions@^1.0.0: - version "1.9.0" - resolved "https://registry.yarnpkg.com/text-extensions/-/text-extensions-1.9.0.tgz#1853e45fee39c945ce6f6c36b2d659b5aabc2a26" - integrity sha512-wiBrwC1EhBelW12Zy26JeOUkQ5mRu+5o8rpsJk5+2t+Y5vE7e842qtZDQ2g1NpX/29HdyFeJ4nSIhI47ENSxlQ== - text-extensions@^2.0.0: version "2.4.0" resolved "https://registry.yarnpkg.com/text-extensions/-/text-extensions-2.4.0.tgz#a1cfcc50cf34da41bfd047cc744f804d1680ea34" @@ -20371,7 +20106,7 @@ thread-stream@^0.15.1: dependencies: real-require "^0.1.0" -through2@^2.0.0, through2@^2.0.3: +through2@^2.0.3: version "2.0.5" resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd" integrity sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ== @@ -20386,7 +20121,7 @@ through2@^4.0.0: dependencies: readable-stream "3" -through@2, "through@>=2.2.7 <3", through@^2.3.4, through@^2.3.6: +"through@>=2.2.7 <3", through@^2.3.4, through@^2.3.6: version "2.3.8" resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" integrity sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg== @@ -20750,11 +20485,6 @@ typedarray-to-buffer@3.1.5: dependencies: is-typedarray "^1.0.0" -typedarray@^0.0.6: - version "0.0.6" - resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" - integrity sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA== - typeforce@^1.11.3, typeforce@^1.11.5, typeforce@^1.18.0: version "1.18.0" resolved "https://registry.yarnpkg.com/typeforce/-/typeforce-1.18.0.tgz#d7416a2c5845e085034d70fcc5b6cc4a90edbfdc" @@ -21112,11 +20842,6 @@ uuid-random@^1.3.2: resolved "https://registry.yarnpkg.com/uuid-random/-/uuid-random-1.3.2.tgz#96715edbaef4e84b1dcf5024b00d16f30220e2d0" integrity sha512-UOzej0Le/UgkbWEO8flm+0y+G+ljUon1QWTEZOq1rnMAsxo2+SckbiZdKzAHHlVh6gJqI1TjC/xwgR50MuCrBQ== -uuid@^3.3.2: - version "3.4.0" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" - integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== - uuid@^8.3.2: version "8.3.2" resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" @@ -21137,7 +20862,7 @@ valibot@^0.36.0, valibot@^0.38.0: resolved "https://registry.yarnpkg.com/valibot/-/valibot-0.38.0.tgz#2d035d2a5bd36e8ea8b48b56d44552ace1a7616f" integrity sha512-RCJa0fetnzp+h+KN9BdgYOgtsMAG9bfoJ9JSjIhFHobKWVWyzM3jjaeNTdpFK9tQtf3q1sguXeERJ/LcmdFE7w== -validate-npm-package-license@^3.0.1: +validate-npm-package-license@^3.0.1, validate-npm-package-license@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== @@ -21267,6 +20992,11 @@ void-elements@3.1.0: resolved "https://registry.yarnpkg.com/void-elements/-/void-elements-3.1.0.tgz#614f7fbf8d801f0bb5f0661f5b2f5785750e4f09" integrity sha512-Dhxzh5HZuiHQhbvTW9AMetFfBHDMYpo23Uo9btPXgdYP+3T5S+p+jgNy7spra+veYhBP2dCSgxR/i2Y02h5/6w== +walk-up-path@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/walk-up-path/-/walk-up-path-3.0.1.tgz#c8d78d5375b4966c717eb17ada73dbd41490e886" + integrity sha512-9YlCL/ynK3CTlrSRrDxZvUauLzAswPCrsaCgilqFevUYpeEW0/3ScEjaa3kbW/T0ghhkEr7mv+fpjqn1Y1YuTA== + warning@^4.0.2, warning@^4.0.3: version "4.0.3" resolved "https://registry.yarnpkg.com/warning/-/warning-4.0.3.tgz#16e9e077eb8a86d6af7d64aa1e05fd85b4678ca3" @@ -21756,7 +21486,7 @@ wordwrap@^1.0.0: resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" integrity sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q== -"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0": +"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0", wrap-ansi@^7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== @@ -21774,15 +21504,6 @@ wrap-ansi@^6.2.0: string-width "^4.1.0" strip-ansi "^6.0.0" -wrap-ansi@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" - integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== - dependencies: - ansi-styles "^4.0.0" - string-width "^4.1.0" - strip-ansi "^6.0.0" - wrap-ansi@^8.0.1, wrap-ansi@^8.1.0: version "8.1.0" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-8.1.0.tgz#56dc22368ee570face1b49819975d9b9a5ead214" @@ -21912,7 +21633,7 @@ yargs-parser@^18.1.2: camelcase "^5.0.0" decamelize "^1.2.0" -yargs-parser@^20.2.2, yargs-parser@^20.2.3: +yargs-parser@^20.2.3: version "20.2.9" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee" integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== @@ -21934,19 +21655,6 @@ yargs@^15.3.1: y18n "^4.0.0" yargs-parser "^18.1.2" -yargs@^16.2.0: - version "16.2.0" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66" - integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== - dependencies: - cliui "^7.0.2" - escalade "^3.1.1" - get-caller-file "^2.0.5" - require-directory "^2.1.1" - string-width "^4.2.0" - y18n "^5.0.5" - yargs-parser "^20.2.2" - yargs@^17.0.0, yargs@^17.6.2, yargs@^17.7.2: version "17.7.2" resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.7.2.tgz#991df39aca675a192b816e1e0363f9d75d2aa269"