diff --git a/.eslintrc.js b/.eslintrc.js index f9c53b7cd6..2707873563 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -176,6 +176,7 @@ module.exports = { '.eslintrc.js', 'website/*.js', 'website/**/*.js', + 'private/**/*.js', ], rules: { 'no-console': 'off', diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index 9a0dd0032d..f8ebd893b8 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -143,26 +143,17 @@ yarn install yarn start ``` -Releases are managed by [Lerna](https://github.com/lerna/lerna). We do some cleanup and compile work around releases too. Use the npm release script: - -```bash -yarn run release -``` - -If you have two-factor authentication enabled on your account, Lerna will ask for a one-time password. You may stumble upon a known issue with the CLI where the OTP prompt may be obscured by a publishing progress bar. If Lerna appears to freeze as it starts publishing, chances are it’s waiting for the password. Try typing in your OTP and hitting enter. - -Other things to keep in mind during release: - -* When adding a new package, add the following key to its package.json: - ```json - "publishConfig": { "access": "public" } - ``` - Else, the release script will try and fail to publish a _private_ package, because the `@uppy` scope on npm does not support that. - -After a release, the demos on transloadit.com should also be updated. After updating, check that some things work locally: - -* the demos in the demo section work (try one that uses an import robot, and one that you need to upload to) -* the demos on the homepage work and can import from Google Drive, Instagram, Dropbox, etc. +Releases are managed by GitHub Actions, here’s an overview of the process to release a new Uppy version: + +* Run `yarn release` on your local machine. +* Follow the instructions and select what packages to release. +* Before committing, check if the generated files look good. +* Push to the Transloadit repository using the command given by the tool. Do not open a PR yourself, the GitHub Actions will create one and assign you to it. +* Wait for all the GitHub Actions checks to pass. If one fails, try to figure out why. Do not go ahead without consulting the rest of the team. +* Review the PR thoroughly, and if everything looks good to you, approve the PR. Do not merge it manually! +* After the PR is automatically merged, the demos on transloadit.com should also be updated. Check that some things work locally: + * the demos in the demo section work (try one that uses an import robot, and one that you need to upload to) + * the demos on the homepage work and can import from Google Drive, Instagram, Dropbox, etc. If you don’t have access to the transloadit.com source code ping @arturi or @goto-bus-stop and we’ll pick it up. :sparkles: diff --git a/.github/workflows/cdn.yml b/.github/workflows/cdn.yml deleted file mode 100644 index eaf579e50c..0000000000 --- a/.github/workflows/cdn.yml +++ /dev/null @@ -1,42 +0,0 @@ -name: CDN -on: - push: - branches: main - -jobs: - release: - if: ${{startsWith(github.event.head_commit.message, 'Release')}} - name: Publish releases - runs-on: ubuntu-latest - steps: - - name: Checkout sources - uses: actions/checkout@v2 - - name: Cache npm dependencies - id: cache-npm-libraries - uses: actions/cache@v2 - with: - path: .yarn/cache/* - key: ${{ runner.os }} - - name: Install Node.js - uses: actions/setup-node@v2 - with: - node-version: 16.x - - name: Install dependencies - run: corepack yarn install - - name: Build bundles - run: corepack yarn run build - - name: Upload `uppy` to CDN - run: corepack yarn run uploadcdn uppy - env: - EDGLY_KEY: ${{secrets.EDGLY_KEY}} - EDGLY_SECRET: ${{secrets.EDGLY_SECRET}} - - name: Upload `@uppy/robodog` to CDN - run: corepack yarn run uploadcdn @uppy/robodog - env: - EDGLY_KEY: ${{secrets.EDGLY_KEY}} - EDGLY_SECRET: ${{secrets.EDGLY_SECRET}} - - name: Upload `@uppy/locales` to CDN - run: corepack yarn run uploadcdn @uppy/locales - env: - EDGLY_KEY: ${{secrets.EDGLY_KEY}} - EDGLY_SECRET: ${{secrets.EDGLY_SECRET}} diff --git a/.github/workflows/release-candidate.yml b/.github/workflows/release-candidate.yml new file mode 100644 index 0000000000..ffca706776 --- /dev/null +++ b/.github/workflows/release-candidate.yml @@ -0,0 +1,73 @@ +name: Release candidate +on: + push: + branches: release + +jobs: + prepare-release: + name: Prepare release candidate Pull Request + runs-on: ubuntu-latest + steps: + - name: Checkout sources + uses: actions/checkout@v2 + with: + branch: release + - name: Rebase + run: | + git fetch origin HEAD --depth=1 + git config --global user.email "actions@github.com" + git config --global user.name "GitHub Actions" + git rebase FETCH_HEAD + - name: Cache npm dependencies + id: cache-npm-libraries + uses: actions/cache@v2 + with: + path: .yarn/cache/* + key: ${{ runner.os }} + - name: Install Node.js + uses: actions/setup-node@v2 + with: + node-version: 16.x + - name: Install dependencies + run: corepack yarn install + - name: Bump candidate packages version + run: corepack yarn version apply --all --json | jq -s > releases.json + - name: Prepare changelog + run: corepack yarn workspace @uppy-build/release update-changelogs releases.json | xargs git add + - name: Update contributors table + run: corepack yarn contributors:save && git add README.md + - name: Update CDN URLs + run: corepack yarn workspace @uppy-build/release update-version-URLs | xargs git add + - name: Stage changes and remove temp files + run: | + git rm -rf .yarn/versions + git rm CHANGELOG.next.md + jq -r 'map(.cwd) | join("\n")' < releases.json | awk '{ print "git add " $0 "/package.json" }' | sh + - name: Commit + run: | + echo "Release: uppy@$(jq -r 'map(select(.ident == "uppy"))[0].newVersion' < releases.json)" > commitMessage + echo >> commitMessage + echo "This is a release candidate for the following packages:" >> commitMessage + echo >> commitMessage + jq -r 'map("- `"+.ident+"`: "+.oldVersion+" -> "+.newVersion) | join("\n") ' < releases.json >> commitMessage + git commit -n --amend --file commitMessage + - name: Open Pull Request + id: pr_opening + run: | + git push origin HEAD:release-candidate + gh api repos/${{ github.repository }}/pulls \ + -F base="$(gh api /repos/${{ github.repository }} | jq -r .default_branch)" \ + -F head="release-candidate" \ + -F title="$(head -1 commitMessage)" \ + -F body="$(git --no-pager diff HEAD^ -- CHANGELOG.md | awk '{ if( substr($0,0,1) == "+" && $1 != "+##" && $1 != "+Released:" && $1 != "+++" ) { print substr($0,2) } }')" \ + --jq '.number | tostring | "##[set-output name=pr_number;]"+.' + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + - name: Assign to the releaser + run: echo '{"assignees":[${{ toJSON(github.actor) }}]}' | gh api repos/${{ github.repository }}/issues/${{ steps.pr_opening.outputs.pr_number }}/assignees --input - + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + - name: Enable Release workflow + run: gh workflow enable Release --repo ${{ github.repository }} + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000000..7866e17ae6 --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,91 @@ +name: Release +on: + pull_request_review: + types: [submitted] + +jobs: + release: + name: Publish releases + if: ${{ github.event.review.state == 'approved' && github.event.sender.login == github.event.pull_request.assignee.login && github.event.pull_request.head.ref == 'release-candidate' }} + runs-on: ubuntu-latest + steps: + - name: Checkout sources + uses: actions/checkout@v2 + with: + fetch-depth: 2 + - name: Cache npm dependencies + id: cache-npm-libraries + uses: actions/cache@v2 + with: + path: .yarn/cache/* + key: ${{ runner.os }} + - name: Install Node.js + uses: actions/setup-node@v2 + with: + node-version: 16.x + - name: Install dependencies + run: corepack yarn install + - name: Get CHANGELOG diff + run: git --no-pager diff HEAD^ -- CHANGELOG.md | awk '{ if( substr($0,0,1) == "+" && $1 != "+##" && $1 != "+Released:" && $1 != "+++" ) { print substr($0,2) } }' > CHANGELOG.diff.md + - name: Build before publishing + run: corepack yarn run build + - name: Publish to NPM + run: corepack yarn workspaces foreach --no-private npm publish --access public --tolerate-republish + env: + NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} + - name: Merge PR + id: merge + run: | + gh api -X PUT repos/${{ github.repository }}/pulls/${{ github.event.pull_request.number }}/merge \ + -F merge_method="squash" \ + -F commit_message="$(cat CHANGELOG.diff.md)" \ + --jq 'if .merged then "##[set-output name=sha;]"+.sha else error("not merged") end' + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + - name: Create tags + run: | + git --no-pager diff --name-only HEAD^ | awk '$0 ~ /^packages\/.+\/package\.json$/ { print "jq -r '"'"'\"gh api /repos/{owner}/{repo}/git/refs -f ref=\\\"refs/tags/\"+.name+\"@\"+.version+\"\\\" -f sha=${{ steps.merge.outputs.sha }}\"'"'"' < " $0 }' > createTags.sh + cat createTags.sh + sh createTags.sh | sh + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + - name: Get Uppy version number + id: uppyVersion + run: jq -r '"##[set-output name=version;]"+.version' < packages/uppy/package.json + - name: Create GitHub release + run: gh release create uppy@${{ steps.uppyVersion.outputs.version }} -t "Uppy ${{ steps.uppyVersion.outputs.version }}" -F CHANGELOG.diff.md + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + - name: Upload `uppy` to CDN + run: corepack yarn run uploadcdn uppy + env: + EDGLY_KEY: ${{secrets.EDGLY_KEY}} + EDGLY_SECRET: ${{secrets.EDGLY_SECRET}} + - name: Upload `@uppy/robodog` to CDN if it was released + run: git diff --exit-code --quiet HEAD^ -- packages/@uppy/robodog/package.json || corepack yarn run uploadcdn @uppy/robodog + env: + EDGLY_KEY: ${{secrets.EDGLY_KEY}} + EDGLY_SECRET: ${{secrets.EDGLY_SECRET}} + - name: Upload `@uppy/locales` to CDN if it was released + if: false + run: git diff --exit-code --quiet HEAD^ -- packages/@uppy/locales/package.json ||corepack yarn run uploadcdn @uppy/locales + env: + EDGLY_KEY: ${{secrets.EDGLY_KEY}} + EDGLY_SECRET: ${{secrets.EDGLY_SECRET}} + - name: Remove release-candidate branch + run: gh api -X DELETE repos/${{ github.repository }}/git/refs/heads/release-candidate + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + - name: Remove release branch + run: gh api -X DELETE repos/${{ github.repository }}/git/refs/heads/release + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + - name: Disable Release workflow + run: gh workflow disable Release --repo ${{ github.repository }} + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + - name: In case of failure + if: ${{ failure() }} + run: gh pr comment ${{ github.event.pull_request.number }} --body "Release job failed, please take action." + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/bin/after-version-bump.js b/bin/after-version-bump.js deleted file mode 100755 index 22f3bdbff1..0000000000 --- a/bin/after-version-bump.js +++ /dev/null @@ -1,106 +0,0 @@ -#!/usr/bin/env node -/* eslint-disable import/no-dynamic-require */ -/* eslint-disable global-require */ - -// Called by the `version` npm script. -// This is run _after_ lerna updates the version numbers, -// but _before_ it commits, so we have time to update the -// version numbers throughout the repo and add it to the -// release commit. -// After updating version numbers, this runs a full -// IS_RELEASE_BUILD=1 build, so that the version numbers -// are properly embedded in the JS bundles. -// NOTE this _amends_ the previous commit, which should -// already be a "Release" commit generated by bin/release. - -const { spawn } = require('child_process') -const { readFile, writeFile } = require('fs/promises') -const once = require('events.once') -const globby = require('globby') - -async function replaceInFile (filename, replacements) { - let content = await readFile(filename, 'utf8') - for (const [rx, replacement] of replacements) { - content = content.replace(rx, replacement) - } - - await writeFile(filename, content, 'utf8') -} - -async function updateVersions (files, packageName) { - const { version } = require(`../packages/${packageName}/package.json`) - - // uppy → uppy - // @uppy/robodog → uppy/robodog - const urlPart = packageName === 'uppy' ? packageName : packageName.slice(1) - - const replacements = new Map([ - [RegExp(`${urlPart}/v\\d+\\.\\d+\\.\\d+\\/`, 'g'), `${urlPart}/v${version}/`], - // maybe more later - ]) - - console.log('replacing', replacements, 'in', files.length, 'files') - - for (const f of files) { - await replaceInFile(f, replacements) - } -} - -async function gitAdd (files) { - const git = spawn('git', ['add', ...files], { stdio: 'inherit' }) - const [exitCode] = await once(git, 'exit') - if (exitCode !== 0) { - throw new Error(`git add failed with ${exitCode}`) - } -} - -// Run the build as a release build (that inlines version numbers etc.) -async function npmRunBuild () { - const npmRun = spawn('yarn', ['run', 'build'], { - stdio: 'inherit', - env: { - ...process.env, - FRESH: true, // force rebuild everything - IS_RELEASE_BUILD: true, - }, - }) - const [exitCode] = await once(npmRun, 'exit') - if (exitCode !== 0) { - throw new Error(`yarn run build failed with ${exitCode}`) - } -} - -async function main () { - if (process.env.ENDTOEND === '1') { - console.log('Publishing for e2e tests, skipping version number sync.') - process.exit(0) - } - - const files = await globby([ - 'README.md', - 'BUNDLE-README.md', - 'examples/**/*.html', - 'packages/*/README.md', - 'packages/@uppy/*/README.md', - 'website/src/docs/**', - 'website/src/examples/**', - 'website/themes/uppy/layout/**', - '!**/node_modules/**', - ]) - - await updateVersions(files, 'uppy') - await updateVersions(files, '@uppy/robodog') - await updateVersions(files, '@uppy/locales') - - // gitignored files were updated for the npm package, but can't be updated - // on git. - const isIgnored = await globby.gitignore() - await gitAdd(files.filter((filename) => !isIgnored(filename))) - - await npmRunBuild() -} - -main().catch((err) => { - console.error(err.stack) - process.exit(1) -}) diff --git a/bin/make-changelog b/bin/make-changelog deleted file mode 100755 index b40f60aae6..0000000000 --- a/bin/make-changelog +++ /dev/null @@ -1,8 +0,0 @@ -#!/usr/bin/env bash -# Make a draft changelog. Expects two tags to compate: previous release and current. -# https://stackoverflow.com/questions/1441010/the-shortest-possible-output-from-git-log-containing-author-and-date -# `./bin/make-changelog uppy@1.31.1 uppy@2.0.1` - -git_log=$(git log $1..$2 --pretty=format:"- %s %aE (%h)") -echo "$git_log" -exit; \ No newline at end of file diff --git a/bin/make-new-versions-table b/bin/make-new-versions-table deleted file mode 100755 index d88d8bca69..0000000000 --- a/bin/make-new-versions-table +++ /dev/null @@ -1,45 +0,0 @@ -#!/usr/bin/env node - -/** - * Generate a version table from the most recent "Release" commit, - * for use in changelogs. - * - * Usage: - * $ ./bin/make-new-versions-table - */ - -const { execSync } = require('child_process') - -const logStdout = execSync('git log --grep \'Release$\' -1 --pretty=oneline --no-decorate') -let match = /^([0-9a-f]+) .*?$/m.exec(logStdout.toString()) -if (!match) { - console.error('Could not read Release commit') - process.exit(1) -} - -const commit = match[1] - -const tagStdout = execSync(`git tag --list --contains ${commit}`) -const tags = tagStdout.toString() -const rx = /([@\/\w-]+)@(\d+\.\d+\.\d+)(-alpha\.\d+|-beta\.\d+)?/g - -const versions = [] -let m -while ((m = rx.exec(tags))) { - const [, pkg, versionPrefix, versionSuffix] = m - const version = `${versionPrefix}${versionSuffix || ''}` - versions.push({ pkg, version }) -} - -const mid = Math.ceil(versions.length / 2) -let table = [ - '| Package | Version | Package | Version |', - '|-|-|-|-|' -] -for (let i = 0; i < mid; i++) { - const left = versions[i] || { pkg: '-', version: '-' } - const right = versions[i + mid] || { pkg: '-', version: '-' } - table.push(`| ${left.pkg} | ${left.version} | ${right.pkg} | ${right.version} |`) -} - -console.log(table.join('\n')) diff --git a/bin/release b/bin/release deleted file mode 100755 index 907e3c8127..0000000000 --- a/bin/release +++ /dev/null @@ -1,72 +0,0 @@ -#!/usr/bin/env bash - -set -o pipefail -set -o errexit -set -o nounset - -# Set magic variables for current file & dir -__dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" -__file="${__dir}/$(basename "${BASH_SOURCE[0]}")" -__base="$(basename ${__file} .sh)" -__root="$(cd "$(dirname "${__dir}")" && pwd)" - -is_local="${LOCAL:-0}" -echo "Local release: $is_local" - -CHANGED=$(git diff-index --name-only HEAD --) -if [ -n "$CHANGED" ]; then - echo "Found local, uncomitted git changes" - echo "" - echo "Please ensure that your working tree is clean" - exit 1 -fi - -if [[ ! "$@" =~ -y ]]; then - echo "Make sure to read https://uppy.io/docs/contributing#Releases!" - echo "Press Enter when ready, or Ctrl+C if you still need to do something." - echo "Use 'yarn run release -- -y' to bypass this message." - read -fi - -if [ $is_local == "0" ] && [[ ! "$(yarn config get registry)" =~ https://registry\.npmjs\.(com|org)/? ]]; then - echo "Found unexpected npm registry: $(yarn config get registry)" - echo "Run this to fix:" - echo "" - echo "yarn config set registry https://registry.npmjs.org" - exit 1 -fi - -if ! yarn whoami > /dev/null; then - echo "Not authenticated with yarn. First do:" - echo "" - echo "yarn login" - exit 1 -fi - -set -o xtrace - -# Update README before publishing `uppy` -# So up-to-date contributors are shown on the npm page. -yarn run contributors:save -git add README.md - -# Add readme file to the main `uppy` package. -cp README.md packages/uppy/README.md - -yarn run build:clean -FRESH=1 yarn run build - -echo "!! The next step is the actual release!" -echo "!! If something goes wrong after here, it becomes hard to reverse. Please make sure that everything is in order." -echo "Press Enter when ready, or Ctrl+C if you still need to do something." -read - -git commit --allow-empty -m "Release" -lerna version --amend --no-push --exact - -lerna publish from-git - -if [ $is_local == "0" ]; then - git push - git push --tags -fi diff --git a/bin/remove-accidental-git-tags.sh b/bin/remove-accidental-git-tags.sh deleted file mode 100644 index fc9bc85728..0000000000 --- a/bin/remove-accidental-git-tags.sh +++ /dev/null @@ -1,16 +0,0 @@ -#!/bin/bash - -# removes tags that Lerna generated, but then failed to release, -# and is now unfortunately stuck -# usage: ./remove-tags.sh VERSION_NUMBER -# where VERSION_NUMBER is something like 0.30.0 - -Packages=(aws-s3 file-input react transloadit aws-s3-multipart form redux-dev-tools tus companion golden-retriever robodog url companion-client google-drive server-utils utils core informer status-bar webcam dashboard instagram store-default xhr-upload drag-drop progress-bar store-redux dropbox box provider-views thumbnail-generator zoom) -Version = $* - -for i in "${Packages[@]}" -do - TAG="@uppy/$i@$1" - echo "removing $TAG" - git tag -d $TAG -done diff --git a/examples/react-native-expo/package.json b/examples/react-native-expo/package.json index 82afaa3914..1ea8b8ab36 100644 --- a/examples/react-native-expo/package.json +++ b/examples/react-native-expo/package.json @@ -1,5 +1,6 @@ { "name": "@uppy-example/react-native-expo", + "version": "0.0.0", "dependencies": { "@uppy/core": "workspace:*", "@uppy/dashboard": "workspace:*", diff --git a/package.json b/package.json index bbd9ba3252..655dc25cb5 100644 --- a/package.json +++ b/package.json @@ -85,11 +85,8 @@ "fakefile": "^1.0.0", "github-contributors-list": "^1.2.4", "glob": "^7.1.6", - "globby": "^11.0.4", "isomorphic-fetch": "^3.0.0", "jest": "^27.0.6", - "last-commit-message": "^1.0.0", - "lerna": "^4.0.0", "lint-staged": "^11.0.0", "mime-types": "^2.1.26", "minify-stream": "^2.0.1", @@ -149,7 +146,7 @@ "lint:css": "stylelint ./packages/**/*.scss", "lint:css:fix": "stylelint ./packages/**/*.scss --fix", "lint": "eslint . --cache", - "release": "bash ./bin/release", + "release": "PACKAGES=$(yarn workspaces list --json) yarn workspace @uppy-build/release interactive", "size": "echo 'JS Bundle mingz:' && cat ./packages/uppy/dist/uppy.min.js | gzip | wc -c && echo 'CSS Bundle mingz:' && cat ./packages/uppy/dist/uppy.min.css | gzip | wc -c", "start:companion": "bash ./bin/companion", "start": "npm-run-all --parallel watch start:companion web:start", diff --git a/private/release/afterVersionBump.js b/private/release/afterVersionBump.js new file mode 100755 index 0000000000..1626c890a9 --- /dev/null +++ b/private/release/afterVersionBump.js @@ -0,0 +1,70 @@ +#!/usr/bin/env node + +import { readFileSync } from 'node:fs' +import { open } from 'node:fs/promises' +import { fileURLToPath } from 'node:url' +import { globby } from 'globby' + +const ROOT = new URL('../../', import.meta.url) +const PACKAGES_FOLDER = new URL('./packages/', ROOT) + +const VERSION_URL = /(?<=https:\/\/\S+\/v)\d+\.\d+\.\d+(?:-(?:alpha|beta)(?:[.-]\d+)?)?(?=\/)/g + +async function replaceInFile (filename, replacements) { + const file = await open(filename, 'r+') + let content = await file.readFile('utf8') + + let hasBeenModified = false + let exec + while (exec = VERSION_URL.exec(content)) { + // eslint-disable-next-line no-loop-func + const pkg = Object.keys(replacements).find(pkgName => content.slice(exec.index - pkgName.length, exec.index) === pkgName) + if (pkg && exec[0] !== replacements[pkg]) { + hasBeenModified = true + content = content.slice(0, exec.index) + replacements[pkg] + content.slice(VERSION_URL.lastIndex) + } + } + + if (hasBeenModified) { + const { bytesWritten } = await file.write(content, 0, 'utf8') + await file.truncate(bytesWritten) + console.log(filename) + } + + await file.close() +} + +async function updateVersions (files, packageNames) { + const replacements = Object.fromEntries(packageNames.map(packageName => { + const { version } = JSON.parse(readFileSync(new URL(`./${packageName}/package.json`, PACKAGES_FOLDER), 'utf8')) + // uppy → /uppy/v + // @uppy/robodog → /uppy/robodog/v + const urlPart = `/${packageName.replace(/^@/, '')}/v` + return [urlPart, version] + })) + + await Promise.all(files.map(f => replaceInFile(f, replacements))) +} + +const files = await globby([ + 'README.md', + 'BUNDLE-README.md', + 'examples/**/*.html', + 'packages/*/README.md', + 'packages/@uppy/*/README.md', + 'website/src/docs/**', + 'website/src/examples/**', + 'website/themes/uppy/layout/**', + '!**/node_modules/**', +], { + gitignore: true, + onlyFiles: true, + cwd: fileURLToPath(ROOT), + absolute: true, +}) + +await updateVersions(files, [ + 'uppy', + '@uppy/robodog', + '@uppy/locales', +]) diff --git a/private/release/choose-semverness.js b/private/release/choose-semverness.js new file mode 100755 index 0000000000..f6dca1a03e --- /dev/null +++ b/private/release/choose-semverness.js @@ -0,0 +1,150 @@ +/* eslint-disable no-continue */ + +import { createWriteStream, mkdirSync, readFileSync } from 'node:fs' +import { spawnSync } from 'node:child_process' + +import prompts from 'prompts' + +const ROOT = new URL('../../', import.meta.url) +const PACKAGES_FOLDER = new URL('./packages/', ROOT) + +function getRobodogDependencies () { + const { dependencies } = JSON.parse(readFileSync(new URL('./@uppy/robodog/package.json', PACKAGES_FOLDER))) + return Object.keys(dependencies) +} + +function maxSemverness (a, b) { + if (a === 'major' || b === 'major') return 'major' + if (a === 'premajor' || b === 'premajor') return 'premajor' + if (a === 'minor' || b === 'minor') return 'minor' + if (a === 'preminor' || b === 'preminor') return 'preminor' + if (a === 'prepatch' || b === 'prepatch') return 'prepatch' + if (a === 'prepatch' || b === 'prerelease') return 'prerelease' + return 'patch' +} + +export default async function pickSemverness ( + spawnOptions, + LAST_RELEASE_COMMIT, + releaseFileUrl, + packagesList, +) { + mkdirSync(new URL('.', releaseFileUrl), { recursive: true }) + const releaseFile = createWriteStream(releaseFileUrl) + releaseFile.write('releases:\n') + + let uppySemverness + let robodogSemverness + const robodogDeps = getRobodogDependencies() + + for await (const workspaceInfo of packagesList) { + const { location, name } = JSON.parse(workspaceInfo) + if (!name.startsWith('@uppy/')) continue + if (name === '@uppy/robodog') continue + + const { stdout } = spawnSync( + 'git', + [ + '--no-pager', + 'log', + '--format=- %s', + `${LAST_RELEASE_COMMIT}..`, + '--', + location, + ], + spawnOptions, + ) + if (stdout.length === 0) { + console.log(`No commits since last release for ${name}, skipping.`) + continue + } + console.log( + `Here are the commits that landed on ${name} since previous release:\n\n${stdout}\n`, + ) + console.log( + `Check the web UI at https://github.com/transloadit/uppy/tree/main/${encodeURI( + location, + )}.`, + ) + + const response = await prompts({ + type: 'select', + name: 'value', + message: `What should be the semverness of next ${name} release?`, + choices: [ + { title: 'Pre-release', value: 'prerelease' }, + { title: 'Skip this package', value: '' }, + { title: 'Patch', value: 'patch' }, + { title: 'Minor', value: 'minor' }, + { title: 'Major', value: 'major' }, + ], + initial: 2, + }) + + if (!response.value) { + console.log('Skipping.') + continue + } + + releaseFile.write(` ${JSON.stringify(name)}: ${response.value}\n`) + uppySemverness = maxSemverness(uppySemverness, response.value) + if (robodogDeps.includes(name)) { + robodogSemverness = maxSemverness(robodogSemverness, response.value) + } + } + + if (uppySemverness == null) throw new Error('No package to release, aborting.') + + { + // Robodog + const location = 'packages/@uppy/robodog' + const { stdout } = spawnSync( + 'git', + [ + '--no-pager', + 'log', + '--format=- %s', + `${LAST_RELEASE_COMMIT}..`, + '--', + location, + ], + spawnOptions, + ) + if (stdout.length === 0) { + if (robodogSemverness == null) { + console.log(`No commits since last release for @uppy/robodog, skipping.`) + } else { + console.log(`No commits since last release for @uppy/robodog, releasing as ${robodogSemverness}.`) + releaseFile.write(` "@uppy/robodog": ${robodogSemverness}\n`) + } + } else { + console.log( + `Here are the commits that landed on @uppy/robodog since previous release:\n\n${stdout}\n`, + ) + console.log( + `Check the web UI at https://github.com/transloadit/uppy/tree/main/${encodeURI( + location, + )}.`, + ) + + const response = await prompts({ + type: 'select', + name: 'value', + message: `What should be the semverness of next @uppy/robodog release?`, + choices: [ + { title: 'Pre-release', value: 'prerelease' }, + { title: 'Skip this package', value: '', disabled: robodogSemverness != null }, + { title: 'Patch', value: 'patch', disabled: robodogSemverness === 'minor' || robodogSemverness === 'major' }, + { title: 'Minor', value: 'minor', disabled: robodogSemverness === 'major' }, + { title: 'Major', value: 'major' }, + ], + initial: 2, + }) + + releaseFile.write(` "@uppy/robodog": ${response.value}\n`) + } + } + + releaseFile.write(` "uppy": ${uppySemverness}\n`) + releaseFile.close() +} diff --git a/private/release/commit-and-open-pr.js b/private/release/commit-and-open-pr.js new file mode 100644 index 0000000000..2df2ec77a5 --- /dev/null +++ b/private/release/commit-and-open-pr.js @@ -0,0 +1,25 @@ +import { spawnSync } from 'node:child_process' +import { fileURLToPath } from 'node:url' +import prompts from 'prompts' +import { REPO_OWNER, REPO_NAME } from './config.js' + +export default async function commit (spawnOptions, ...files) { + console.log(`Now is the time to do manual edits to ${files.join(',')}.`) + await prompts({ + type: 'toggle', + name: 'value', + message: 'Ready to commit?', + initial: true, + active: 'yes', + inactive: 'yes', + }) + + spawnSync('git', ['add', ...files.map(url => fileURLToPath(url))], spawnOptions) + spawnSync('git', ['commit', '-n', '-m', 'Prepare next release'], { ...spawnOptions, stdio: 'inherit' }) + const sha = spawnSync('git', ['rev-parse', 'HEAD'], spawnOptions).stdout.toString().trim() + const getRemoteCommamnd = `git remote -v | grep '${REPO_OWNER}/${REPO_NAME}' | awk '($3 == "(push)") { print $1; exit }'` + const remote = spawnSync('/bin/sh', ['-c', getRemoteCommamnd]).stdout.toString().trim() + || `git@github.com:${REPO_OWNER}/${REPO_NAME}.git` + + console.log(`Please run \`git push ${remote} ${sha}:refs/heads/release\`.`) +} diff --git a/private/release/config.js b/private/release/config.js new file mode 100644 index 0000000000..88ab626e50 --- /dev/null +++ b/private/release/config.js @@ -0,0 +1,3 @@ +export const REPO_OWNER = 'transloadit' +export const REPO_NAME = 'uppy' +export const TARGET_BRANCH = 'main' diff --git a/private/release/formatChangeLog.js b/private/release/formatChangeLog.js new file mode 100644 index 0000000000..ba56c311a7 --- /dev/null +++ b/private/release/formatChangeLog.js @@ -0,0 +1,91 @@ +import { createInterface } from 'node:readline' +import { createWriteStream } from 'node:fs' +import { spawn } from 'node:child_process' + +import prompts from 'prompts' + +const atUppyPackagePath = /^packages\/(@uppy\/[a-z0-9-]+)\// +async function inferPackageForCommit (sha, spawnOptions) { + const cp = spawn('git', ['--no-pager', 'log', '-1', '--name-only', sha], spawnOptions) + const candidates = {} + for await (const path of createInterface({ input: cp.stdout })) { + const match = atUppyPackagePath.exec(path) + if (match != null) { + candidates[match[1]] ??= 0 + candidates[match[1]]++ + } + } + const maxVal = Math.max(...Object.values(candidates)) + return { + inferredPackages: Number.isFinite(maxVal) + ? Object.entries(candidates).flatMap( + ([pkg, nbOfFiles]) => (nbOfFiles === maxVal || nbOfFiles === maxVal - 1 ? [pkg] : []), + ).join(',') + : 'meta', + candidates, + } +} + +export default async function formatChangeLog ( + spawnOptions, + LAST_RELEASE_COMMIT, + changeLogUrl, +) { + const changeLogCommits = createWriteStream(changeLogUrl) + + const gitLog = spawn('git', [ + '--no-pager', + 'log', + '--format="%H::%s::%an"', + `${LAST_RELEASE_COMMIT}..HEAD`, + ], spawnOptions) + const expectedFormat = /^"([a-f0-9]+)::(?:((?:@uppy\/[a-z0-9-]+(?:,@uppy\/[a-z0-9-]+)*)|meta|website):\s?)?(.+?)(\s\(#\d+\))?::(.+)"$/ // eslint-disable-line max-len + for await (const log of createInterface({ input: gitLog.stdout })) { + const [, sha, packageName, title, PR, authorName] = expectedFormat.exec(log) + + const formattedCommitTitle = { + packageName, + title, + authorInfo: PR ? `${authorName} / #${PR.slice(3, -1)}` : authorName, + } + + if (!packageName) { + console.log( + `No package info found in commit title: ${sha} (https://github.com/transloadit/uppy/commit/${sha})`, + ) + console.log(log) + const { inferredPackages, candidates } = await inferPackageForCommit(sha, spawnOptions) + const { useInferred } = await prompts({ + type: 'confirm', + name: 'useInferred', + message: `Use ${inferredPackages} (inferred from the files it touches)?`, + initial: true, + }) + + if (useInferred) { + formattedCommitTitle.packageName = inferredPackages + } else { + const response = await prompts({ + type: 'autocompleteMultiselect', + name: 'value', + message: 'Which package(s) does this commit belong to?', + min: 1, + choices: [ + { title: 'Meta', value: 'meta' }, + ...Object.entries(candidates) + .sort((a, b) => a[1] > b[1]) + .map(([value]) => ({ title: value, value })), + ], + }) + if (!Array.isArray(response.value)) throw new Error('Aborting release') + formattedCommitTitle.packageName = response.value.join(',') + } + } + + changeLogCommits.write( + `- ${formattedCommitTitle.packageName}: ${formattedCommitTitle.title} (${formattedCommitTitle.authorInfo})\n`, + ) + } + + changeLogCommits.close() +} diff --git a/private/release/getUpToDateRefsFromGitHub.js b/private/release/getUpToDateRefsFromGitHub.js new file mode 100644 index 0000000000..e67d3cb130 --- /dev/null +++ b/private/release/getUpToDateRefsFromGitHub.js @@ -0,0 +1,108 @@ +import fetch from 'node-fetch' + +import { spawnSync } from 'node:child_process' +import prompts from 'prompts' +import { TARGET_BRANCH, REPO_NAME, REPO_OWNER } from './config.js' + +async function apiCall (endpoint, errorMessage) { + const response = await fetch( + `https://api.github.com/repos/${REPO_OWNER}/${REPO_NAME}${endpoint}`, + ) + if (response.ok) { + return response.json() + } + console.warn(response) + throw new Error(errorMessage) +} + +export async function getRemoteHEAD () { + return ( + await apiCall( + `/git/ref/heads/${TARGET_BRANCH}`, + 'Cannot get remote HEAD, check your internet connection.', + ) + ).object.sha +} + +async function getLatestReleaseSHA () { + const { tag_name } = await apiCall( + `/releases/latest`, + 'Cannot get latest release from GitHub, check your internet connection.', + ) + console.log(`Last release was ${tag_name}.`) + return ( + await apiCall( + `/git/ref/tags/${encodeURIComponent(tag_name)}`, + `Failed to fetch information for release ${JSON.stringify(tag_name)}`, + ) + ).object.sha +} + +async function getLocalHEAD () { + return spawnSync('git', ['rev-parse', 'HEAD']).stdout.toString().trim() +} + +export function rewindGitHistory (spawnOptions, sha) { + return spawnSync('git', ['reset', sha, '--hard'], spawnOptions).status === 0 +} + +export async function validateGitStatus (spawnOptions) { + const latestRelease = getLatestReleaseSHA() // run in parallel to speed things up + const [REMOTE_HEAD, LOCAL_HEAD] = await Promise.all([getRemoteHEAD(), getLocalHEAD()]) + + const { status, stderr } = spawnSync( + 'git', + ['diff', '--exit-code', '--quiet', REMOTE_HEAD, '--', '.'], + spawnOptions, + ) + if (status !== 0) { + console.error(stderr.toString()) + console.log( + `git repository is not clean and/or not in sync with ${REPO_OWNER}/${REPO_NAME}`, + ) + if (spawnSync( + 'git', + ['diff', '--exit-code', '--quiet', LOCAL_HEAD, '--', '.'], + spawnOptions, + ).status !== 0) { + const { value } = await prompts({ + type: 'confirm', + name: 'value', + message: + 'Do you want to hard reset your local repository (all uncommitted changes will be lost)?', + }) + if (!value) { + throw new Error( + 'Please ensure manually that your local repository is clean and up to date.', + ) + } + } + + if (stderr.indexOf('bad object') !== -1) { + // eslint-disable-next-line no-shadow + const { status, stdout, stderr } = spawnSync( + 'git', + [ + 'fetch', + `https://github.com/${REPO_OWNER}/${REPO_NAME}.git`, + TARGET_BRANCH, + ], + spawnOptions, + ) + + if (status) { + console.log(stdout.toString()) + console.error(stderr.toString()) + throw new Error('Failed to fetch, please ensure manually that your local repository is up to date') + } + } + + if (!rewindGitHistory(spawnOptions, REMOTE_HEAD)) { + throw new Error( + 'Failed to reset, please ensure manually that your local repository is clean and up to date.', + ) + } + } + + return [await latestRelease, LOCAL_HEAD] +} diff --git a/private/release/interactive.js b/private/release/interactive.js new file mode 100755 index 0000000000..c62af916c0 --- /dev/null +++ b/private/release/interactive.js @@ -0,0 +1,28 @@ +#!/usr/bin/env node +import process from 'node:process' +import { fileURLToPath } from 'node:url' + +import pickSemverness from './choose-semverness.js' +import commit from './commit-and-open-pr.js' +import formatChangeLog from './formatChangeLog.js' +import { validateGitStatus, rewindGitHistory } from './getUpToDateRefsFromGitHub.js' + +const ROOT = new URL('../../', import.meta.url) +const spawnOptions = { cwd: fileURLToPath(ROOT) } + +const deferredReleaseFile = new URL('./.yarn/versions/next.yml', ROOT) +const temporaryChangeLog = new URL('./CHANGELOG.next.md', ROOT) + +console.log('Validating local repo status and get previous release info...') +const [LAST_RELEASE_COMMIT, LOCAL_HEAD] = await validateGitStatus(spawnOptions) +try { + console.log('Local git repository is ready, starting release process...') + await pickSemverness(spawnOptions, LAST_RELEASE_COMMIT, deferredReleaseFile, process.env.PACKAGES.split(' ')) + console.log('Working on the changelog...') + await formatChangeLog(spawnOptions, LAST_RELEASE_COMMIT, temporaryChangeLog) + console.log('Final step...') + await commit(spawnOptions, deferredReleaseFile, temporaryChangeLog) +} finally { + console.log('Rewinding git history...') + await rewindGitHistory(spawnOptions, LOCAL_HEAD) +} diff --git a/private/release/package.json b/private/release/package.json new file mode 100644 index 0000000000..021d10f932 --- /dev/null +++ b/private/release/package.json @@ -0,0 +1,16 @@ +{ + "name": "@uppy-build/release", + "version": "0.0.0", + "private": true, + "type": "module", + "devDependencies": { + "globby": "^12.0.2", + "node-fetch": "^3.1.0", + "prompts": "^2.4.2" + }, + "scripts": { + "interactive": "node ./interactive.js", + "update-changelogs": "node ./updateChangelogs.js", + "update-version-URLs": "node ./afterVersionBump.js" + } +} diff --git a/private/release/updateChangelogs.js b/private/release/updateChangelogs.js new file mode 100644 index 0000000000..f0ce05f17a --- /dev/null +++ b/private/release/updateChangelogs.js @@ -0,0 +1,110 @@ +#!/usr/bin/env node + +import { createReadStream, promises as fs } from 'node:fs' +import { createInterface } from 'node:readline' +import process from 'node:process' + +const ROOT = new URL('../../', import.meta.url) +const PACKAGES_FOLDER = new URL('./packages/', ROOT) + +const releasedDate = new Date().toISOString().slice(0, 10) + +const releases = JSON.parse( + await fs.readFile(new URL(process.argv[2], ROOT), 'utf-8'), +) +const uppyRelease = releases.find(({ ident }) => ident === 'uppy') + +const changelog = await fs.open(new URL('./CHANGELOG.md', ROOT), 'r+') + +const changelogContent = await changelog.readFile() + +const mostRecentReleaseHeading = changelogContent.indexOf('\n## ') + +function* makeTable (versions) { + const pkgNameMaxLength = Math.max('Package'.length, ...versions.map(pkg => pkg.ident.length)) + const pkgVersionMaxLength = Math.max('Version'.length, ...versions.map(pkg => pkg.newVersion.length)) + const makeRow = (...cells) => `| ${cells.map((cell, i) => cell[i % 2 ? 'padStart' : 'padEnd'](i % 2 ? pkgVersionMaxLength : pkgNameMaxLength)).join(' | ')} |` + + yield makeRow('Package', 'Version', 'Package', 'Version') + yield makeRow(...Array.from({ length:4 }, (_, i) => '-'.repeat(i % 2 ? pkgVersionMaxLength : pkgNameMaxLength))) + + const mid = Math.ceil(versions.length / 2) + for (let i = 0; i < mid; i++) { + const left = versions[i] || { ident: '', newVersion: '' } + const right = versions[i + mid] || { ident: '', newVersion: '' } + yield makeRow(left.ident, left.newVersion, right.ident, right.newVersion) + } +} + +/** + * Opens the changelog of a given package, creating it if it doesn't exist. + * + * @param {string} pkg Package name + * @returns {Promise} + */ +async function updateSubPackageChangelog (pkg, lines, subsetOfLines) { + const packageReleaseInfo = releases.find(({ ident }) => ident === pkg) + if (packageReleaseInfo == null) { + console.warn(pkg, 'is not being released') + return null + } + const { newVersion } = packageReleaseInfo + const url = new URL(`./${pkg}/CHANGELOG.md`, PACKAGES_FOLDER) + const heading = Buffer.from(`# ${pkg}\n`) + let fh + let oldContent + try { + fh = await fs.open(url, 'r+') // this will throw if the file doesn't exist + oldContent = await fh.readFile() + } catch (e) { + if (e.code !== 'ENOENT') { + throw e + } + // Creates the file if it doesn't exist yet. + fh = await fs.open(url, 'wx') + await fh.writeFile(heading) + } + const { bytesWritten } = await fh.write(` +## ${newVersion} + +Released: ${releasedDate} +Included in: Uppy v${uppyRelease.newVersion} + +${subsetOfLines.map(index => lines[index]).join('\n')} +`, heading.byteLength) + if (oldContent != null) { + await fh.write(oldContent, heading.byteLength, undefined, bytesWritten + heading.byteLength) + } + console.log(`packages/${pkg}/CHANGELOG.md`) // outputing the relative path of the file to git add it. + return fh.close() +} + +const subPackagesChangelogs = {} +const lines = [] +for await (const line of createInterface({ + input: createReadStream(new URL('./CHANGELOG.next.md', ROOT)), +})) { + const index = lines.push(line) - 1 + for (const pkg of line.slice(2, line.indexOf(':')).split(',')) { + subPackagesChangelogs[pkg] ??= [] + subPackagesChangelogs[pkg].push(index) + } +} + +await changelog.write(` +## ${uppyRelease.newVersion} + +Released: ${releasedDate} + +${Array.from(makeTable(releases)).join('\n')} + +${lines.join('\n')} + +${changelogContent.slice(mostRecentReleaseHeading)}`, mostRecentReleaseHeading) +console.log('CHANGELOG.md') // outputing the relative path of the file to git add it. +await changelog.close() + +await Promise.all( + Object.entries(subPackagesChangelogs) + .map(([pkg, subsetOfLines]) => updateSubPackageChangelog(pkg, lines, subsetOfLines)), +) diff --git a/private/remark-lint-uppy/package.json b/private/remark-lint-uppy/package.json index e3990aacb4..9eb3cafc41 100644 --- a/private/remark-lint-uppy/package.json +++ b/private/remark-lint-uppy/package.json @@ -1,5 +1,6 @@ { "name": "remark-lint-uppy", + "version": "0.0.0", "main": "index.js", "dependencies": { "mdast-comment-marker": "^2.1.0", diff --git a/website/src/_template/contributing.md b/website/src/_template/contributing.md index 4912409b04..77810b6275 100644 --- a/website/src/_template/contributing.md +++ b/website/src/_template/contributing.md @@ -4,14 +4,25 @@ Fork the repository into your own account first. See the [GitHub Help](https://help.github.com/articles/fork-a-repo/) article for instructions. -After you have successfully forked the repo, clone and install the project: +After you have successfully forked the repository, clone it locally. -```bash -git clone git@github.com:YOUR_USERNAME/uppy.git +```sh +git clone https://github.com/transloadit/uppy.git cd uppy -yarn install ``` +We are using [Corepack][] to manage version of [Yarn][]. Corepack comes pre-installed with Node.js >=16.x, or can be installed through `npm`. You can run `corepack enable` to install a `yarn` executable in your `$PATH`, or prefix all yarn commands with `corepack yarn`. + +```sh +corepack -v || npm i -g corepack +yarn -v || corepack enable +yarn install || corepack yarn install +``` + +[Corepack]: https://nodejs.org/api/corepack.html + +[Yarn]: https://yarnpkg.com/ + Our website’s examples section is also our playground, please read the [Local Previews](#Local-previews) section to get up and running. ### Requiring files @@ -27,10 +38,9 @@ Unit tests are using Jest and can be run with: yarn run test:unit ``` -For end-to-end tests, we use [Webdriverio](http://webdriver.io). For it to run locally, you need to install a Selenium standalone server. Follow [the Webdriverio guide](http://webdriver.io/guide.html) to do so. You can also install a Selenium standalone server from NPM: +For end-to-end tests, we use [Webdriverio](http://webdriver.io). For it to run locally, you need to install a Selenium standalone server. Follow [the Webdriverio guide](https://webdriver.io/docs/selenium-standalone-service) to do so. You can also install a Selenium standalone server from NPM: ```bash -# or yarn add selenium-standalone -g npm install selenium-standalone -g selenium-standalone install ``` @@ -53,7 +63,7 @@ By default, `test:endtoend:local` uses Firefox. You can use a different browser, yarn run test:endtoend:local -- -b chrome ``` -> Note: The `--` is important, it tells `yarn` that the remaining arguments should be interpreted by the script itself, not by `yarn`. +> Note: The `--` is important, it tells yarn that the remaining arguments should be interpreted by the script itself, not by yarn. You can run in several browsers by passing several `-b` flags: @@ -135,27 +145,17 @@ yarn install yarn start ``` -Releases are managed by [Lerna](https://github.com/lerna/lerna). We do some cleanup and compile work around releases too. Use the npm release script: - -```bash -yarn run release -``` - -If you have two-factor authentication enabled on your account, Lerna will ask for a one-time password. You may stumble upon a known issue with the CLI where the OTP prompt may be obscured by a publishing progress bar. If Lerna appears to freeze as it starts publishing, chances are it’s waiting for the password. Try typing in your OTP and hitting enter. - -Other things to keep in mind during release: - -* When doing a major release >= 1.0, of the `@uppy/core` package, the `peerDependency` of the plugin packages needs to be updated first. Eg when updating from 1.y.z to 2.0.0, the peerDependency of each should be `"@uppy/core": "^2.0.0"` before doing `yarn release`. -* When adding a new package, add the following key to its package.json: - ```json - "publishConfig": { "access": "public" } - ``` - Else, npm will try and fail to publish a _private_ package, because the `@uppy` scope on npm does not support that. - -After a release, the demos on transloadit.com should also be updated. After updating, check that some things work locally: +Releases are managed by GitHub Actions, here’s an overview of the process to release a new Uppy version: -* the demos in the demo section work (try one that uses an import robot, and one that you need to upload to) -* the demos on the homepage work and can import from Google Drive, Instagram, Dropbox, etc. +* Run `yarn release` on your local machine. +* Follow the instructions and select what packages to release. +* Before committing, check if the generated files look good. +* Push to the Transloadit repository using the command given by the tool. Do not open a PR yourself, the GitHub Actions will create one and assign you to it. +* Wait for all the GitHub Actions checks to pass. If one fails, try to figure out why. Do not go ahead without consulting the rest of the team. +* Review the PR thoroughly, and if everything looks good to you, approve the PR. Do not merge it manually! +* After the PR is automatically merged, the demos on transloadit.com should also be updated. Check that some things work locally: + * the demos in the demo section work (try one that uses an import robot, and one that you need to upload to) + * the demos on the homepage work and can import from Google Drive, Instagram, Dropbox, etc. If you don’t have access to the transloadit.com source code ping @arturi or @goto-bus-stop and we’ll pick it up. :sparkles: @@ -318,15 +318,15 @@ Your `package.json` should resemble something like this: { "name": "@uppy/framework", "dependencies": { - "@uppy/dashboard": "file:../dashboard", - "@uppy/drag-drop": "file:../drag-drop", - "@uppy/progress-bar": "file:../progress-bar", - "@uppy/status-bar": "file:../status-bar", - "@uppy/utils": "file:../utils", + "@uppy/dashboard": "workspace:^", + "@uppy/drag-drop": "workspace:^", + "@uppy/progress-bar": "workspace:^", + "@uppy/status-bar": "workspace:^", + "@uppy/utils": "workspace:^", "prop-types": "^15.6.1" }, "peerDependencies": { - "@uppy/core": "^2.0.0" + "@uppy/core": "workspace:^" }, "publishConfig": { "access": "public" diff --git a/website/src/docs/companion.md b/website/src/docs/companion.md index f2dbce800d..9e6cd897c2 100644 --- a/website/src/docs/companion.md +++ b/website/src/docs/companion.md @@ -307,7 +307,7 @@ const options = { 2. **secret(recommended)** - A secret string which Companion uses to generate authorization tokens. -3. **uploadUrls(recommended)** - An allowlist (array) of strings (exact URLs) or regular expressions. If specified, Companion will only accept uploads to these URLs. This is needed to make sure a Companion instance is only allowed to upload to your servers. **Omitting this leaves your system open to potential [SSRF](https://en.wikipedia.org/wiki/Server-side\_request\_forgery) attacks, and may throw an error in future `@uppy/companion` releases.** +3. **uploadUrls(recommended)** - An allowlist (array) of strings (exact URLs) or regular expressions. If specified, Companion will only accept uploads to these URLs. This is needed to make sure a Companion instance is only allowed to upload to your servers. **Omitting this leaves your system open to potential [SSRF](https://en.wikipedia.org/wiki/Server-side_request_forgery) attacks, and may throw an error in future `@uppy/companion` releases.** 4. **redisUrl(optional)** - URL to running Redis server. If this is set, the state of uploads would be stored temporarily. This helps for resumed uploads after a browser crash from the client. The stored upload would be sent back to the client on reconnection. @@ -455,7 +455,7 @@ To work well with Companion, the **module** must be a class with the following m `token` - authorization token (retrieved from oauth process) to send along with your request * `directory` - the id/name of the directory from which data is to be retrieved. This may be ignored if it doesn’t apply to your provider * `query` - expressjs query params object received by the server (in case some data you need in there). -2. `async download ({ token, id, query })` - Downloads a particular file from the provider. Returns an object with a single property `{ stream }` - a [`stream.Readable`](https://nodejs.org/api/stream.html#stream\_class\_stream\_readable), which will be read from and uploaded to the destination. To prevent memory leaks, make sure you release your stream if you reject this method with an error. +2. `async download ({ token, id, query })` - Downloads a particular file from the provider. Returns an object with a single property `{ stream }` - a [`stream.Readable`](https://nodejs.org/api/stream.html#stream_class_stream_readable), which will be read from and uploaded to the destination. To prevent memory leaks, make sure you release your stream if you reject this method with an error. * `token` - authorization token (retrieved from oauth process) to send along with your request. * `id` - ID of the file being downloaded. * `query` - expressjs query params object received by the server (in case some data you need in there). diff --git a/yarn.lock b/yarn.lock index 508ba33ea6..a9cf71a0e0 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2926,13 +2926,6 @@ __metadata: languageName: node linkType: hard -"@hutson/parse-repository-url@npm:^3.0.0": - version: 3.0.2 - resolution: "@hutson/parse-repository-url@npm:3.0.2" - checksum: 39992c5f183c5ca3d761d6ed9dfabcb79b5f3750bf1b7f3532e1dc439ca370138bbd426ee250fdaba460bc948e6761fbefd484b8f4f36885d71ded96138340d1 - languageName: node - linkType: hard - "@hypnosphi/create-react-context@npm:^0.3.1": version: 0.3.1 resolution: "@hypnosphi/create-react-context@npm:0.3.1" @@ -3294,795 +3287,6 @@ __metadata: languageName: node linkType: hard -"@lerna/add@npm:4.0.0": - version: 4.0.0 - resolution: "@lerna/add@npm:4.0.0" - dependencies: - "@lerna/bootstrap": 4.0.0 - "@lerna/command": 4.0.0 - "@lerna/filter-options": 4.0.0 - "@lerna/npm-conf": 4.0.0 - "@lerna/validation-error": 4.0.0 - dedent: ^0.7.0 - npm-package-arg: ^8.1.0 - p-map: ^4.0.0 - pacote: ^11.2.6 - semver: ^7.3.4 - checksum: 769efaf964385f682a48e71a8eeb159158bfe4326682d0167147f08bbedad06f7f9964a658fc5508900e769257342a8c796e510868f5ac5c354631baa4d583d9 - languageName: node - linkType: hard - -"@lerna/bootstrap@npm:4.0.0": - version: 4.0.0 - resolution: "@lerna/bootstrap@npm:4.0.0" - dependencies: - "@lerna/command": 4.0.0 - "@lerna/filter-options": 4.0.0 - "@lerna/has-npm-version": 4.0.0 - "@lerna/npm-install": 4.0.0 - "@lerna/package-graph": 4.0.0 - "@lerna/pulse-till-done": 4.0.0 - "@lerna/rimraf-dir": 4.0.0 - "@lerna/run-lifecycle": 4.0.0 - "@lerna/run-topologically": 4.0.0 - "@lerna/symlink-binary": 4.0.0 - "@lerna/symlink-dependencies": 4.0.0 - "@lerna/validation-error": 4.0.0 - dedent: ^0.7.0 - get-port: ^5.1.1 - multimatch: ^5.0.0 - npm-package-arg: ^8.1.0 - npmlog: ^4.1.2 - p-map: ^4.0.0 - p-map-series: ^2.1.0 - p-waterfall: ^2.1.1 - read-package-tree: ^5.3.1 - semver: ^7.3.4 - checksum: 072ce3053a0f7c1e2ae93be02d75ef395e291a90cdd20c669e921da2eac2290bebbe2e11453f540759a24c6e32f86331fe188bf85cd6dc341244c8fadc86c9ed - languageName: node - linkType: hard - -"@lerna/changed@npm:4.0.0": - version: 4.0.0 - resolution: "@lerna/changed@npm:4.0.0" - dependencies: - "@lerna/collect-updates": 4.0.0 - "@lerna/command": 4.0.0 - "@lerna/listable": 4.0.0 - "@lerna/output": 4.0.0 - checksum: f12a5d6cc478fe0801e74a0bd1f86743fbc26028fb85d2f67479cfa252822ae2e6157976a63ac3e7f5a4f6702b289a358a32cac689ab14c63a6601cff26f239b - languageName: node - linkType: hard - -"@lerna/check-working-tree@npm:4.0.0": - version: 4.0.0 - resolution: "@lerna/check-working-tree@npm:4.0.0" - dependencies: - "@lerna/collect-uncommitted": 4.0.0 - "@lerna/describe-ref": 4.0.0 - "@lerna/validation-error": 4.0.0 - checksum: b4ce67942a13929580941d3e2fe49880c66ca37da3d86d14a4b158477d03c9cc939c304092658f98868c7484ba065bd721b5f8524378ee0086695d6b309e10e2 - languageName: node - linkType: hard - -"@lerna/child-process@npm:4.0.0": - version: 4.0.0 - resolution: "@lerna/child-process@npm:4.0.0" - dependencies: - chalk: ^4.1.0 - execa: ^5.0.0 - strong-log-transformer: ^2.1.0 - checksum: 184ea5520b575c0e71c49bb1f8ce82a7e34635fcf7972a5c2d17e2919b646e42644e36c7b88f2ff7539f6064affcc6161136af88605d3eeb74d9bade9a9f4cde - languageName: node - linkType: hard - -"@lerna/clean@npm:4.0.0": - version: 4.0.0 - resolution: "@lerna/clean@npm:4.0.0" - dependencies: - "@lerna/command": 4.0.0 - "@lerna/filter-options": 4.0.0 - "@lerna/prompt": 4.0.0 - "@lerna/pulse-till-done": 4.0.0 - "@lerna/rimraf-dir": 4.0.0 - p-map: ^4.0.0 - p-map-series: ^2.1.0 - p-waterfall: ^2.1.1 - checksum: 40fa6d12ca1ac9460ccb1bbdae84bbffca1564bd23119be8eba0d01cec992be9c3813859ee59b4b2a601841e2e5672baa6a68c3cfe7e084ebcf702c1e152075a - languageName: node - linkType: hard - -"@lerna/cli@npm:4.0.0": - version: 4.0.0 - resolution: "@lerna/cli@npm:4.0.0" - dependencies: - "@lerna/global-options": 4.0.0 - dedent: ^0.7.0 - npmlog: ^4.1.2 - yargs: ^16.2.0 - checksum: f6eae6a35a2286c069ba3f5923ab3669fd35379baf0c767872cf077ec4e2c849bf4ec5756a92a555dfa52de18f46ca765657e4b0ca47af0ad4ff4d00733a1e99 - languageName: node - linkType: hard - -"@lerna/collect-uncommitted@npm:4.0.0": - version: 4.0.0 - resolution: "@lerna/collect-uncommitted@npm:4.0.0" - dependencies: - "@lerna/child-process": 4.0.0 - chalk: ^4.1.0 - npmlog: ^4.1.2 - checksum: eb7c6201057822bb7dc7d92b548ed1aa26e1930ebb1135e3bcbf9f1c0a4fd4426b5c7d5c2fca58e99ec8dfdfe9b93e05dd0dc37544708dcb96cededb0a2c1529 - languageName: node - linkType: hard - -"@lerna/collect-updates@npm:4.0.0": - version: 4.0.0 - resolution: "@lerna/collect-updates@npm:4.0.0" - dependencies: - "@lerna/child-process": 4.0.0 - "@lerna/describe-ref": 4.0.0 - minimatch: ^3.0.4 - npmlog: ^4.1.2 - slash: ^3.0.0 - checksum: 6d92fbfe2ab6e7a9e15e21c02f6323c4f027894191399de8f63fa5d1295036702647349b934a546ea2ca053468012317fd39e10f526c1ab786d151b9ad86f0f1 - languageName: node - linkType: hard - -"@lerna/command@npm:4.0.0": - version: 4.0.0 - resolution: "@lerna/command@npm:4.0.0" - dependencies: - "@lerna/child-process": 4.0.0 - "@lerna/package-graph": 4.0.0 - "@lerna/project": 4.0.0 - "@lerna/validation-error": 4.0.0 - "@lerna/write-log-file": 4.0.0 - clone-deep: ^4.0.1 - dedent: ^0.7.0 - execa: ^5.0.0 - is-ci: ^2.0.0 - npmlog: ^4.1.2 - checksum: cebcf7a2c3820045d837e027b165aa27b675d02713c179bc5f8c60cfe97882e9642a83eac40e122e3e2793f222fdba51d2ae934cd4e6341bc0eb195a79eb0c1d - languageName: node - linkType: hard - -"@lerna/conventional-commits@npm:4.0.0": - version: 4.0.0 - resolution: "@lerna/conventional-commits@npm:4.0.0" - dependencies: - "@lerna/validation-error": 4.0.0 - conventional-changelog-angular: ^5.0.12 - conventional-changelog-core: ^4.2.2 - conventional-recommended-bump: ^6.1.0 - fs-extra: ^9.1.0 - get-stream: ^6.0.0 - lodash.template: ^4.5.0 - npm-package-arg: ^8.1.0 - npmlog: ^4.1.2 - pify: ^5.0.0 - semver: ^7.3.4 - checksum: 84c1c18de23e2b65ba6677984c7379c9f1961c625576ca047c7325cba50ac87b2a334b8dcefb0a503ae0e253edca6d8f6e4c914466bf484411f8310ab8fe2d30 - languageName: node - linkType: hard - -"@lerna/create-symlink@npm:4.0.0": - version: 4.0.0 - resolution: "@lerna/create-symlink@npm:4.0.0" - dependencies: - cmd-shim: ^4.1.0 - fs-extra: ^9.1.0 - npmlog: ^4.1.2 - checksum: 38345c6c0ab1137c7b1def43af4e19291aba87ffbfee4d6c5ad368744701f06e7d6015c304733baa636c34fc853f542d609325cefcb53af096c4c5b005811796 - languageName: node - linkType: hard - -"@lerna/create@npm:4.0.0": - version: 4.0.0 - resolution: "@lerna/create@npm:4.0.0" - dependencies: - "@lerna/child-process": 4.0.0 - "@lerna/command": 4.0.0 - "@lerna/npm-conf": 4.0.0 - "@lerna/validation-error": 4.0.0 - dedent: ^0.7.0 - fs-extra: ^9.1.0 - globby: ^11.0.2 - init-package-json: ^2.0.2 - npm-package-arg: ^8.1.0 - p-reduce: ^2.1.0 - pacote: ^11.2.6 - pify: ^5.0.0 - semver: ^7.3.4 - slash: ^3.0.0 - validate-npm-package-license: ^3.0.4 - validate-npm-package-name: ^3.0.0 - whatwg-url: ^8.4.0 - yargs-parser: 20.2.4 - checksum: f572fa7c12ded23284e42169bfa86a7eea811517d1735f200da858b5ceea527df3fc1b438b0b9bb2d4e7267acaf9c0575435c108ce8cc36ea5be2c95f0fb0251 - languageName: node - linkType: hard - -"@lerna/describe-ref@npm:4.0.0": - version: 4.0.0 - resolution: "@lerna/describe-ref@npm:4.0.0" - dependencies: - "@lerna/child-process": 4.0.0 - npmlog: ^4.1.2 - checksum: 634d1573f7e87f2a44d97384539d12702bebdee07341c77c335ab03b3b06843d7e1f4e8e4b079b6ca39941f66035dfed072bb3525347c60694620363d7942224 - languageName: node - linkType: hard - -"@lerna/diff@npm:4.0.0": - version: 4.0.0 - resolution: "@lerna/diff@npm:4.0.0" - dependencies: - "@lerna/child-process": 4.0.0 - "@lerna/command": 4.0.0 - "@lerna/validation-error": 4.0.0 - npmlog: ^4.1.2 - checksum: e086875c59096799d9a532f0b65117e13d91d345fa915bbb4d0e8da36b032baee91e731c38b073bf324d0fc66e8d21c3a0b376f3de52053999117fa52ae981dc - languageName: node - linkType: hard - -"@lerna/exec@npm:4.0.0": - version: 4.0.0 - resolution: "@lerna/exec@npm:4.0.0" - dependencies: - "@lerna/child-process": 4.0.0 - "@lerna/command": 4.0.0 - "@lerna/filter-options": 4.0.0 - "@lerna/profiler": 4.0.0 - "@lerna/run-topologically": 4.0.0 - "@lerna/validation-error": 4.0.0 - p-map: ^4.0.0 - checksum: 90f55b525fc2fa86df5b71ccfff13da6f1b5c14a3d204fa588f38f9d73a6a5ed1af3a55d138f10b367be679560834a2066cf919b9672f0403722490c2b83a012 - languageName: node - linkType: hard - -"@lerna/filter-options@npm:4.0.0": - version: 4.0.0 - resolution: "@lerna/filter-options@npm:4.0.0" - dependencies: - "@lerna/collect-updates": 4.0.0 - "@lerna/filter-packages": 4.0.0 - dedent: ^0.7.0 - npmlog: ^4.1.2 - checksum: 7b0f222700a01fe3a2b5af5dac700cfdfc45833ee0bf751234272bae6d3a83a26a4a211aa007147040c53a09519903ad6b781e68541a55a2c9ca9597fb34a3c5 - languageName: node - linkType: hard - -"@lerna/filter-packages@npm:4.0.0": - version: 4.0.0 - resolution: "@lerna/filter-packages@npm:4.0.0" - dependencies: - "@lerna/validation-error": 4.0.0 - multimatch: ^5.0.0 - npmlog: ^4.1.2 - checksum: 65b2758ea4fe7951b41ca16d1e295441b356ddfa3af69696731968ef4254a80fc0d056d5665116494243404135b192a7330bccde7538ca6496094b81bf6e7492 - languageName: node - linkType: hard - -"@lerna/get-npm-exec-opts@npm:4.0.0": - version: 4.0.0 - resolution: "@lerna/get-npm-exec-opts@npm:4.0.0" - dependencies: - npmlog: ^4.1.2 - checksum: 09e395fa88756c200c5f2ca352a0a126c2c8cc7d060a8665cf80eb121eea83716e1884ace76d4601345e774c776a603a7f76f7a99a7ee5a29d67ed31d296b09b - languageName: node - linkType: hard - -"@lerna/get-packed@npm:4.0.0": - version: 4.0.0 - resolution: "@lerna/get-packed@npm:4.0.0" - dependencies: - fs-extra: ^9.1.0 - ssri: ^8.0.1 - tar: ^6.1.0 - checksum: 6e8191861720a21ea9e0e1c112e50f17f3ce7ac9a60af31e80ad6fb3a49dc2f3257de5c193e648c79fdfc8668774318f5c59fae95c0cd38b44d95786c438e0ae - languageName: node - linkType: hard - -"@lerna/github-client@npm:4.0.0": - version: 4.0.0 - resolution: "@lerna/github-client@npm:4.0.0" - dependencies: - "@lerna/child-process": 4.0.0 - "@octokit/plugin-enterprise-rest": ^6.0.1 - "@octokit/rest": ^18.1.0 - git-url-parse: ^11.4.4 - npmlog: ^4.1.2 - checksum: 7535bbc12354d2de72db36ae884a05c9ef39d30bae291bf4bf30139ce096990e6f19cfbd253f00abe4601b932053e54ca53209c41001d7bef86d508d6af00db2 - languageName: node - linkType: hard - -"@lerna/gitlab-client@npm:4.0.0": - version: 4.0.0 - resolution: "@lerna/gitlab-client@npm:4.0.0" - dependencies: - node-fetch: ^2.6.1 - npmlog: ^4.1.2 - whatwg-url: ^8.4.0 - checksum: 6d320540c26e127dc63b6bcf3e9709ffc5805c83cdce188c0c32b6e0d572b1f43be94482514f3167e7f3159d2deb8d344f7fe26ffc037e125ea13c62641ca307 - languageName: node - linkType: hard - -"@lerna/global-options@npm:4.0.0": - version: 4.0.0 - resolution: "@lerna/global-options@npm:4.0.0" - checksum: 57bb18e529ca74ba4dabb8fe25aac7aa36f0e807328975e958d360ea10df63afd48adadf5b69745e1b60689281537041ec3661bba84da48cce7c1ebf9034cbbd - languageName: node - linkType: hard - -"@lerna/has-npm-version@npm:4.0.0": - version: 4.0.0 - resolution: "@lerna/has-npm-version@npm:4.0.0" - dependencies: - "@lerna/child-process": 4.0.0 - semver: ^7.3.4 - checksum: 459db3c163048d3b38e26481471d50b44dfd5bba3816342c7dd554a1c3ffeb8384efb60b46673f07b3fac4d8f814fda25633b439698e582b4bfe1510c44cb218 - languageName: node - linkType: hard - -"@lerna/import@npm:4.0.0": - version: 4.0.0 - resolution: "@lerna/import@npm:4.0.0" - dependencies: - "@lerna/child-process": 4.0.0 - "@lerna/command": 4.0.0 - "@lerna/prompt": 4.0.0 - "@lerna/pulse-till-done": 4.0.0 - "@lerna/validation-error": 4.0.0 - dedent: ^0.7.0 - fs-extra: ^9.1.0 - p-map-series: ^2.1.0 - checksum: cee4cd10cb4d067c76330aa285cef249c1635b02826485b5c67917b32ed1e6364198279cf4895272e3fc63cf90812acd8c2740b6950241ba6e753b5bf779ea01 - languageName: node - linkType: hard - -"@lerna/info@npm:4.0.0": - version: 4.0.0 - resolution: "@lerna/info@npm:4.0.0" - dependencies: - "@lerna/command": 4.0.0 - "@lerna/output": 4.0.0 - envinfo: ^7.7.4 - checksum: e681acbb17c1a37e0d9a29d1d9f4c61670b9c24e102af34aef4e905bd678050624dbbc5705c1d63d553ece1494aed82fa6c73fd1a7019aaade283efdaf96e9f0 - languageName: node - linkType: hard - -"@lerna/init@npm:4.0.0": - version: 4.0.0 - resolution: "@lerna/init@npm:4.0.0" - dependencies: - "@lerna/child-process": 4.0.0 - "@lerna/command": 4.0.0 - fs-extra: ^9.1.0 - p-map: ^4.0.0 - write-json-file: ^4.3.0 - checksum: 59f36071f9b97a47c1c89933202097c3409c165196f56282b52ea88135560219068953ca69bbbcd165ce2550aacc2c946777695c7dd1054ad6c14a96c8c1c81b - languageName: node - linkType: hard - -"@lerna/link@npm:4.0.0": - version: 4.0.0 - resolution: "@lerna/link@npm:4.0.0" - dependencies: - "@lerna/command": 4.0.0 - "@lerna/package-graph": 4.0.0 - "@lerna/symlink-dependencies": 4.0.0 - p-map: ^4.0.0 - slash: ^3.0.0 - checksum: 48d285a2c89f002d47902ef7913eeea80ccd812350ad25af23ac38639e8948ba2c1060479e44983d35588c93e0c94c9d4998d340956db3529f459d71d5837b97 - languageName: node - linkType: hard - -"@lerna/list@npm:4.0.0": - version: 4.0.0 - resolution: "@lerna/list@npm:4.0.0" - dependencies: - "@lerna/command": 4.0.0 - "@lerna/filter-options": 4.0.0 - "@lerna/listable": 4.0.0 - "@lerna/output": 4.0.0 - checksum: 7630c9b7182e07f32ea6dddfc14b23d9b8bd1e0251b82e35384b1e972608734ae8d35f4c3cf96734cd0bfc09e98626d35c7f8147023bb185ebf3ca7174d2219b - languageName: node - linkType: hard - -"@lerna/listable@npm:4.0.0": - version: 4.0.0 - resolution: "@lerna/listable@npm:4.0.0" - dependencies: - "@lerna/query-graph": 4.0.0 - chalk: ^4.1.0 - columnify: ^1.5.4 - checksum: 8d238129fcf6108b2fa9a1df9865e73e625c39c3b4c9c1fecac086266cf98131455d25b3ce42516b1ecdf2623a92dd38578e3932d162eb61d717404144c58cd0 - languageName: node - linkType: hard - -"@lerna/log-packed@npm:4.0.0": - version: 4.0.0 - resolution: "@lerna/log-packed@npm:4.0.0" - dependencies: - byte-size: ^7.0.0 - columnify: ^1.5.4 - has-unicode: ^2.0.1 - npmlog: ^4.1.2 - checksum: ed046736f48170cf17ccd604c17ceb847b7a2d9572e06c373d2e32f14b5a7cc5c0bd767a5e3d882757c52667665fdeffb966e7640b4c69a702baf8edce4737ca - languageName: node - linkType: hard - -"@lerna/npm-conf@npm:4.0.0": - version: 4.0.0 - resolution: "@lerna/npm-conf@npm:4.0.0" - dependencies: - config-chain: ^1.1.12 - pify: ^5.0.0 - checksum: 0dfa3632a3efef611437ebc90712ffe388ac8a23d3082e42512aa7d617bfa985871169f7a503c9760452a089edf399e7cd05feca6f61323543c1a8c415b4079b - languageName: node - linkType: hard - -"@lerna/npm-dist-tag@npm:4.0.0": - version: 4.0.0 - resolution: "@lerna/npm-dist-tag@npm:4.0.0" - dependencies: - "@lerna/otplease": 4.0.0 - npm-package-arg: ^8.1.0 - npm-registry-fetch: ^9.0.0 - npmlog: ^4.1.2 - checksum: cda542d78db4457306959127ec406bde677f10a940389439e826814abaa5f011a48ad001f615fd529b06a7201f0c0ed47064f58143765da61e3903a2937c6831 - languageName: node - linkType: hard - -"@lerna/npm-install@npm:4.0.0": - version: 4.0.0 - resolution: "@lerna/npm-install@npm:4.0.0" - dependencies: - "@lerna/child-process": 4.0.0 - "@lerna/get-npm-exec-opts": 4.0.0 - fs-extra: ^9.1.0 - npm-package-arg: ^8.1.0 - npmlog: ^4.1.2 - signal-exit: ^3.0.3 - write-pkg: ^4.0.0 - checksum: 832570929965c5a63b1514ae397e8279b354b8f69cab4f1ca9104c4250ce3877ab93aae1c7033be6a714c0531de050fb51af88f814f7e1d4cfaebd1874db8fdb - languageName: node - linkType: hard - -"@lerna/npm-publish@npm:4.0.0": - version: 4.0.0 - resolution: "@lerna/npm-publish@npm:4.0.0" - dependencies: - "@lerna/otplease": 4.0.0 - "@lerna/run-lifecycle": 4.0.0 - fs-extra: ^9.1.0 - libnpmpublish: ^4.0.0 - npm-package-arg: ^8.1.0 - npmlog: ^4.1.2 - pify: ^5.0.0 - read-package-json: ^3.0.0 - checksum: 865cc6e0356b56f5a25420cce62bb5f7c0494bb14d78554e76ec3713dabbcbacafaa3d2b558287fe1e05bf6f4398e0d68cea2288f74bd3089197f3b798256ee6 - languageName: node - linkType: hard - -"@lerna/npm-run-script@npm:4.0.0": - version: 4.0.0 - resolution: "@lerna/npm-run-script@npm:4.0.0" - dependencies: - "@lerna/child-process": 4.0.0 - "@lerna/get-npm-exec-opts": 4.0.0 - npmlog: ^4.1.2 - checksum: ba15736af4273c5f812b4b43428ebbd2dc2539c617dffd9599dd07fda82f93727952acbdb9d8dfbd6581cc8f9848f426abfd465016526830a678a0c6a84de40e - languageName: node - linkType: hard - -"@lerna/otplease@npm:4.0.0": - version: 4.0.0 - resolution: "@lerna/otplease@npm:4.0.0" - dependencies: - "@lerna/prompt": 4.0.0 - checksum: 74d7b9e34c5ad07bd9efa9cdf99b376fd4dca0fd5071aae523f60c891ff8af780d0745baf9213737f2f9ae111b7c0fbf85b5c48b3458266fb34037db4cf05303 - languageName: node - linkType: hard - -"@lerna/output@npm:4.0.0": - version: 4.0.0 - resolution: "@lerna/output@npm:4.0.0" - dependencies: - npmlog: ^4.1.2 - checksum: 377aa2a93cd5cb0307cf304eeb835faae7cab920b7d3f57222c6b0bd5170ed8c841c55ea5fa6f3cc2917a2ae889b48b0238de4abc0ed70e3e6f2b27001508bb1 - languageName: node - linkType: hard - -"@lerna/pack-directory@npm:4.0.0": - version: 4.0.0 - resolution: "@lerna/pack-directory@npm:4.0.0" - dependencies: - "@lerna/get-packed": 4.0.0 - "@lerna/package": 4.0.0 - "@lerna/run-lifecycle": 4.0.0 - npm-packlist: ^2.1.4 - npmlog: ^4.1.2 - tar: ^6.1.0 - temp-write: ^4.0.0 - checksum: 9a282774d8db568df871a78fe5607b05ba3da8061ba834b576d9f7f661d7b496b301b4e5a845c0a93a50d52ccbf56d277da288db6352817e346e95d844d729c2 - languageName: node - linkType: hard - -"@lerna/package-graph@npm:4.0.0": - version: 4.0.0 - resolution: "@lerna/package-graph@npm:4.0.0" - dependencies: - "@lerna/prerelease-id-from-version": 4.0.0 - "@lerna/validation-error": 4.0.0 - npm-package-arg: ^8.1.0 - npmlog: ^4.1.2 - semver: ^7.3.4 - checksum: fd6f55171a9d42ad4e4b6e4cc1ec8699306bb219d3c4118b942ba123efb8c9913397b20ed2e20e74e6c858991f6b8ffe628ae8f8f40c4f9790d699e601a4e094 - languageName: node - linkType: hard - -"@lerna/package@npm:4.0.0": - version: 4.0.0 - resolution: "@lerna/package@npm:4.0.0" - dependencies: - load-json-file: ^6.2.0 - npm-package-arg: ^8.1.0 - write-pkg: ^4.0.0 - checksum: 8f537e4acfd165cb178cab699f5e73ac011e6d2f9f9ed7fa167cd3fe7057041fa335802d711884a0fb183fcd8b44380674244ba52ee5894db612fe00b8fbb88f - languageName: node - linkType: hard - -"@lerna/prerelease-id-from-version@npm:4.0.0": - version: 4.0.0 - resolution: "@lerna/prerelease-id-from-version@npm:4.0.0" - dependencies: - semver: ^7.3.4 - checksum: 88250b23d04492927cc0325ab51ec7bb864c8b1c703b54ecee4b1b5c2b3de35b86846b6507d267af1df7d067545efb43162621d07731624f189ac3206a48b9f7 - languageName: node - linkType: hard - -"@lerna/profiler@npm:4.0.0": - version: 4.0.0 - resolution: "@lerna/profiler@npm:4.0.0" - dependencies: - fs-extra: ^9.1.0 - npmlog: ^4.1.2 - upath: ^2.0.1 - checksum: a7f340904101fa3c9fd8124aa447f309160a46228f63a664e9c02cedd27f8e3d50c66b1fd658325b8a95ca053e7dc87c8c80f6c171443578818d8dc5b93a7b47 - languageName: node - linkType: hard - -"@lerna/project@npm:4.0.0": - version: 4.0.0 - resolution: "@lerna/project@npm:4.0.0" - dependencies: - "@lerna/package": 4.0.0 - "@lerna/validation-error": 4.0.0 - cosmiconfig: ^7.0.0 - dedent: ^0.7.0 - dot-prop: ^6.0.1 - glob-parent: ^5.1.1 - globby: ^11.0.2 - load-json-file: ^6.2.0 - npmlog: ^4.1.2 - p-map: ^4.0.0 - resolve-from: ^5.0.0 - write-json-file: ^4.3.0 - checksum: 714d9bc5cf4c790b8deb8ccd896d530490b0a36e90a1737045fb6b6c844fd29c885f2e424c7e4097f22339f655a9213a3f75de502c5556f2706979702450183d - languageName: node - linkType: hard - -"@lerna/prompt@npm:4.0.0": - version: 4.0.0 - resolution: "@lerna/prompt@npm:4.0.0" - dependencies: - inquirer: ^7.3.3 - npmlog: ^4.1.2 - checksum: 51e34c1bf1a3da02ac74a61694bab3bd92f5f0676cea2ff8ff33c158fc2070b431d323681652a1b7c91a56fd9fe4fab90d4eeba17540a68396fa05de9a4b54e2 - languageName: node - linkType: hard - -"@lerna/publish@npm:4.0.0": - version: 4.0.0 - resolution: "@lerna/publish@npm:4.0.0" - dependencies: - "@lerna/check-working-tree": 4.0.0 - "@lerna/child-process": 4.0.0 - "@lerna/collect-updates": 4.0.0 - "@lerna/command": 4.0.0 - "@lerna/describe-ref": 4.0.0 - "@lerna/log-packed": 4.0.0 - "@lerna/npm-conf": 4.0.0 - "@lerna/npm-dist-tag": 4.0.0 - "@lerna/npm-publish": 4.0.0 - "@lerna/otplease": 4.0.0 - "@lerna/output": 4.0.0 - "@lerna/pack-directory": 4.0.0 - "@lerna/prerelease-id-from-version": 4.0.0 - "@lerna/prompt": 4.0.0 - "@lerna/pulse-till-done": 4.0.0 - "@lerna/run-lifecycle": 4.0.0 - "@lerna/run-topologically": 4.0.0 - "@lerna/validation-error": 4.0.0 - "@lerna/version": 4.0.0 - fs-extra: ^9.1.0 - libnpmaccess: ^4.0.1 - npm-package-arg: ^8.1.0 - npm-registry-fetch: ^9.0.0 - npmlog: ^4.1.2 - p-map: ^4.0.0 - p-pipe: ^3.1.0 - pacote: ^11.2.6 - semver: ^7.3.4 - checksum: 3436f91d2130f5ad523027946540d06f9aa0561890e1cbef2948dbfe20ffd4eef1a8a2de0e6b50e0dc9372078be4c4df0ba7000f90d3c094d803471ad855b436 - languageName: node - linkType: hard - -"@lerna/pulse-till-done@npm:4.0.0": - version: 4.0.0 - resolution: "@lerna/pulse-till-done@npm:4.0.0" - dependencies: - npmlog: ^4.1.2 - checksum: eb908c952b126b699564475fad3a1bc205cc09a3d9d8e7522f51f12e9ae5cb79290b7ea59a1306d0651df0762ff6b92d8f44dbe4d6d18f8d2f78649954cef56a - languageName: node - linkType: hard - -"@lerna/query-graph@npm:4.0.0": - version: 4.0.0 - resolution: "@lerna/query-graph@npm:4.0.0" - dependencies: - "@lerna/package-graph": 4.0.0 - checksum: 09cd5634594885247b8cfe08c020a9e6da69ca361483ecbe031ec13cbb68ad221e4a2546abda55ea106fa8dfd48208cb1c8e34879f148800c63c8e8ef5a2111a - languageName: node - linkType: hard - -"@lerna/resolve-symlink@npm:4.0.0": - version: 4.0.0 - resolution: "@lerna/resolve-symlink@npm:4.0.0" - dependencies: - fs-extra: ^9.1.0 - npmlog: ^4.1.2 - read-cmd-shim: ^2.0.0 - checksum: 7cf967e4c63b99cdfea27057aa3e1509c5ae8b2fa52a10d8372ab8131cd4f95022c1ca1602e34e5f1d12db921cefc83f445cd1af6554c774d1f4503383432728 - languageName: node - linkType: hard - -"@lerna/rimraf-dir@npm:4.0.0": - version: 4.0.0 - resolution: "@lerna/rimraf-dir@npm:4.0.0" - dependencies: - "@lerna/child-process": 4.0.0 - npmlog: ^4.1.2 - path-exists: ^4.0.0 - rimraf: ^3.0.2 - checksum: 29b7846fc97d699e0b824c6712e815f132c50ac5f08e94863b97eebce499793e04b547a7d77d7aaf0711bbca2b200e1162275d2dddba999ffc6b217fbd7f70e9 - languageName: node - linkType: hard - -"@lerna/run-lifecycle@npm:4.0.0": - version: 4.0.0 - resolution: "@lerna/run-lifecycle@npm:4.0.0" - dependencies: - "@lerna/npm-conf": 4.0.0 - npm-lifecycle: ^3.1.5 - npmlog: ^4.1.2 - checksum: 1fa1fccdf5911082bff02fadda3d7b50bd9098147c40c38065f9e39fbba48ee1fc03e6b75f6931ffc67f73a5d3a247c66bd2eb975d67d9e96680cdffed0a0bbe - languageName: node - linkType: hard - -"@lerna/run-topologically@npm:4.0.0": - version: 4.0.0 - resolution: "@lerna/run-topologically@npm:4.0.0" - dependencies: - "@lerna/query-graph": 4.0.0 - p-queue: ^6.6.2 - checksum: 8b19f80da2f2c4961ff0c23ef1fd7eb7fe8be066fa25638952343b0462a4880603a99e655f5e54b43c61bb517b24ba0a704f2f49f45cb39af63d7add43c97f28 - languageName: node - linkType: hard - -"@lerna/run@npm:4.0.0": - version: 4.0.0 - resolution: "@lerna/run@npm:4.0.0" - dependencies: - "@lerna/command": 4.0.0 - "@lerna/filter-options": 4.0.0 - "@lerna/npm-run-script": 4.0.0 - "@lerna/output": 4.0.0 - "@lerna/profiler": 4.0.0 - "@lerna/run-topologically": 4.0.0 - "@lerna/timer": 4.0.0 - "@lerna/validation-error": 4.0.0 - p-map: ^4.0.0 - checksum: 21cc7beea6fd379a93d956955c62688257c35161b6cc1e46a25919807aef59690362aa9b9ad9d2f59855b2df89e809dfb5578b353a9875327640f5e3a95430b5 - languageName: node - linkType: hard - -"@lerna/symlink-binary@npm:4.0.0": - version: 4.0.0 - resolution: "@lerna/symlink-binary@npm:4.0.0" - dependencies: - "@lerna/create-symlink": 4.0.0 - "@lerna/package": 4.0.0 - fs-extra: ^9.1.0 - p-map: ^4.0.0 - checksum: b0b3d305acd4856cfaace24767194b39239ce42c48d5dcf670f2247c8e17d9f88f6b3f04aac4349d83e73e07e0954dc307574f24fcb9006e8b9a73e8b12f1017 - languageName: node - linkType: hard - -"@lerna/symlink-dependencies@npm:4.0.0": - version: 4.0.0 - resolution: "@lerna/symlink-dependencies@npm:4.0.0" - dependencies: - "@lerna/create-symlink": 4.0.0 - "@lerna/resolve-symlink": 4.0.0 - "@lerna/symlink-binary": 4.0.0 - fs-extra: ^9.1.0 - p-map: ^4.0.0 - p-map-series: ^2.1.0 - checksum: 7e09f03382521798efd6231fd9ceaf85c0988007c115a7b999c012d2f18c182308fa8cd1e203eede18e1b3007d82b680ab98deffd2787eb747e0355597423b63 - languageName: node - linkType: hard - -"@lerna/timer@npm:4.0.0": - version: 4.0.0 - resolution: "@lerna/timer@npm:4.0.0" - checksum: 7205ef8f350c0dce53e74fb78c5eeec0c743b4793e5f7949bdb85257a0076d4970b85ebb329d30b6c88b3d943553fdc10db09604c287322378eeac4a579d3995 - languageName: node - linkType: hard - -"@lerna/validation-error@npm:4.0.0": - version: 4.0.0 - resolution: "@lerna/validation-error@npm:4.0.0" - dependencies: - npmlog: ^4.1.2 - checksum: 166854cfb7cf3294325b0eace3bf24c5ef1c65452ff7c9eaba46c9008968a7b778cb7ca80421e4ae15b9e12af8f2084a5734d4741bbb2298b5f11ca739c517cf - languageName: node - linkType: hard - -"@lerna/version@npm:4.0.0": - version: 4.0.0 - resolution: "@lerna/version@npm:4.0.0" - dependencies: - "@lerna/check-working-tree": 4.0.0 - "@lerna/child-process": 4.0.0 - "@lerna/collect-updates": 4.0.0 - "@lerna/command": 4.0.0 - "@lerna/conventional-commits": 4.0.0 - "@lerna/github-client": 4.0.0 - "@lerna/gitlab-client": 4.0.0 - "@lerna/output": 4.0.0 - "@lerna/prerelease-id-from-version": 4.0.0 - "@lerna/prompt": 4.0.0 - "@lerna/run-lifecycle": 4.0.0 - "@lerna/run-topologically": 4.0.0 - "@lerna/validation-error": 4.0.0 - chalk: ^4.1.0 - dedent: ^0.7.0 - load-json-file: ^6.2.0 - minimatch: ^3.0.4 - npmlog: ^4.1.2 - p-map: ^4.0.0 - p-pipe: ^3.1.0 - p-reduce: ^2.1.0 - p-waterfall: ^2.1.1 - semver: ^7.3.4 - slash: ^3.0.0 - temp-write: ^4.0.0 - write-json-file: ^4.3.0 - checksum: 56207fd77c22d2cdae178bb2439bac0881a35fde271ad5ebc7df08df405ee154c3cd9eecefc48e6b4cec38b409304719d81878b8df46123faf7f60dfce64ef6a - languageName: node - linkType: hard - -"@lerna/write-log-file@npm:4.0.0": - version: 4.0.0 - resolution: "@lerna/write-log-file@npm:4.0.0" - dependencies: - npmlog: ^4.1.2 - write-file-atomic: ^3.0.3 - checksum: 87049543924f571c8dcbd5cec2f69a3e739d5b03826a7cb12a671b2f33f2d123d0abd787cf3ffcf3b974962958a7e4a9743ec9baa8ca612f86c61b55624ed37e - languageName: node - linkType: hard - "@mdn/browser-compat-data@npm:^3.3.14": version: 3.3.14 resolution: "@mdn/browser-compat-data@npm:3.3.14" @@ -4186,13 +3390,6 @@ __metadata: languageName: node linkType: hard -"@npmcli/ci-detect@npm:^1.0.0": - version: 1.4.0 - resolution: "@npmcli/ci-detect@npm:1.4.0" - checksum: c262fc86dd543efb8a721dec39ab333f99861abff5850136c2dcbee58610ccb1f5e66c3c669903b1bcf0668084c1fe6c443a90490fba771223fb6db137e9bfc5 - languageName: node - linkType: hard - "@npmcli/fs@npm:^1.0.0": version: 1.0.0 resolution: "@npmcli/fs@npm:1.0.0" @@ -4353,7 +3550,7 @@ __metadata: languageName: node linkType: hard -"@octokit/auth-token@npm:^2.4.0, @octokit/auth-token@npm:^2.4.4": +"@octokit/auth-token@npm:^2.4.0": version: 2.5.0 resolution: "@octokit/auth-token@npm:2.5.0" dependencies: @@ -4362,21 +3559,6 @@ __metadata: languageName: node linkType: hard -"@octokit/core@npm:^3.5.1": - version: 3.5.1 - resolution: "@octokit/core@npm:3.5.1" - dependencies: - "@octokit/auth-token": ^2.4.4 - "@octokit/graphql": ^4.5.8 - "@octokit/request": ^5.6.0 - "@octokit/request-error": ^2.0.5 - "@octokit/types": ^6.0.3 - before-after-hook: ^2.2.0 - universal-user-agent: ^6.0.0 - checksum: 67179739fc9712b201f2400f132287a2c56a18506e00900bc9d2a3f742b74f1ba69ad998e42f28f3964c0bd1d5478232c1ec7b485c97702b821fbe22b76afa90 - languageName: node - linkType: hard - "@octokit/endpoint@npm:^6.0.1": version: 6.0.12 resolution: "@octokit/endpoint@npm:6.0.12" @@ -4388,17 +3570,6 @@ __metadata: languageName: node linkType: hard -"@octokit/graphql@npm:^4.5.8": - version: 4.8.0 - resolution: "@octokit/graphql@npm:4.8.0" - dependencies: - "@octokit/request": ^5.6.0 - "@octokit/types": ^6.0.3 - universal-user-agent: ^6.0.0 - checksum: f68afe53f63900d4a16a0a733f2f500df2695b731f8ed32edb728d50edead7f5011437f71d069c2d2f6d656227703d0c832a3c8af58ecf82bd5dcc051f2d2d74 - languageName: node - linkType: hard - "@octokit/openapi-types@npm:^11.2.0": version: 11.2.0 resolution: "@octokit/openapi-types@npm:11.2.0" @@ -4406,13 +3577,6 @@ __metadata: languageName: node linkType: hard -"@octokit/plugin-enterprise-rest@npm:^6.0.1": - version: 6.0.1 - resolution: "@octokit/plugin-enterprise-rest@npm:6.0.1" - checksum: 1c9720002f31daf62f4f48e73557dcdd7fcde6e0f6d43256e3f2ec827b5548417297186c361fb1af497fdcc93075a7b681e6ff06e2f20e4a8a3e74cc09d1f7e3 - languageName: node - linkType: hard - "@octokit/plugin-paginate-rest@npm:^1.1.1": version: 1.1.2 resolution: "@octokit/plugin-paginate-rest@npm:1.1.2" @@ -4422,18 +3586,7 @@ __metadata: languageName: node linkType: hard -"@octokit/plugin-paginate-rest@npm:^2.16.8": - version: 2.17.0 - resolution: "@octokit/plugin-paginate-rest@npm:2.17.0" - dependencies: - "@octokit/types": ^6.34.0 - peerDependencies: - "@octokit/core": ">=2" - checksum: c8753cda6f7ede79d0e9df43a54e56020aa1c9c6887684e0e0d45cb6ee0dcabf460c3e4b8a18edabef711bb269fd826616e99e78dc29fb30d47c210c562603a0 - languageName: node - linkType: hard - -"@octokit/plugin-request-log@npm:^1.0.0, @octokit/plugin-request-log@npm:^1.0.4": +"@octokit/plugin-request-log@npm:^1.0.0": version: 1.0.4 resolution: "@octokit/plugin-request-log@npm:1.0.4" peerDependencies: @@ -4452,18 +3605,6 @@ __metadata: languageName: node linkType: hard -"@octokit/plugin-rest-endpoint-methods@npm:^5.12.0": - version: 5.13.0 - resolution: "@octokit/plugin-rest-endpoint-methods@npm:5.13.0" - dependencies: - "@octokit/types": ^6.34.0 - deprecation: ^2.3.1 - peerDependencies: - "@octokit/core": ">=3" - checksum: f331457e4317130adb456b27df2a99609fb54a4dc2da6f87009e567c7325680c901abf18ad08483535bab4ec1c892e4236f4135a2804603aebb12c0698c678c8 - languageName: node - linkType: hard - "@octokit/request-error@npm:^1.0.2": version: 1.2.1 resolution: "@octokit/request-error@npm:1.2.1" @@ -4475,7 +3616,7 @@ __metadata: languageName: node linkType: hard -"@octokit/request-error@npm:^2.0.5, @octokit/request-error@npm:^2.1.0": +"@octokit/request-error@npm:^2.1.0": version: 2.1.0 resolution: "@octokit/request-error@npm:2.1.0" dependencies: @@ -4486,7 +3627,7 @@ __metadata: languageName: node linkType: hard -"@octokit/request@npm:^5.2.0, @octokit/request@npm:^5.6.0": +"@octokit/request@npm:^5.2.0": version: 5.6.2 resolution: "@octokit/request@npm:5.6.2" dependencies: @@ -4524,18 +3665,6 @@ __metadata: languageName: node linkType: hard -"@octokit/rest@npm:^18.1.0": - version: 18.12.0 - resolution: "@octokit/rest@npm:18.12.0" - dependencies: - "@octokit/core": ^3.5.1 - "@octokit/plugin-paginate-rest": ^2.16.8 - "@octokit/plugin-request-log": ^1.0.4 - "@octokit/plugin-rest-endpoint-methods": ^5.12.0 - checksum: c18bd6676a60b66819b016b0f969fcd04d8dfa04d01b7af9af9a7410ff028c621c995185e29454c23c47906da506c1e01620711259989a964ebbfd9106f5b715 - languageName: node - linkType: hard - "@octokit/types@npm:^2.0.0, @octokit/types@npm:^2.0.1": version: 2.16.2 resolution: "@octokit/types@npm:2.16.2" @@ -4545,7 +3674,7 @@ __metadata: languageName: node linkType: hard -"@octokit/types@npm:^6.0.3, @octokit/types@npm:^6.16.1, @octokit/types@npm:^6.34.0": +"@octokit/types@npm:^6.0.3, @octokit/types@npm:^6.16.1": version: 6.34.0 resolution: "@octokit/types@npm:6.34.0" dependencies: @@ -7423,7 +6552,7 @@ __metadata: languageName: node linkType: hard -"@types/minimatch@npm:*, @types/minimatch@npm:^3.0.3": +"@types/minimatch@npm:*": version: 3.0.5 resolution: "@types/minimatch@npm:3.0.5" checksum: c41d136f67231c3131cf1d4ca0b06687f4a322918a3a5adddc87ce90ed9dbd175a3610adee36b106ae68c0b92c637c35e02b58c8a56c424f71d30993ea220b92 @@ -8153,6 +7282,16 @@ __metadata: languageName: node linkType: hard +"@uppy-build/release@workspace:private/release": + version: 0.0.0-use.local + resolution: "@uppy-build/release@workspace:private/release" + dependencies: + globby: ^12.0.2 + node-fetch: ^3.1.0 + prompts: ^2.4.2 + languageName: unknown + linkType: soft + "@uppy-example/aws-companion@workspace:examples/aws-companion": version: 0.0.0-use.local resolution: "@uppy-example/aws-companion@workspace:examples/aws-companion" @@ -10211,7 +9350,7 @@ __metadata: languageName: node linkType: hard -"JSONStream@npm:1.3.5, JSONStream@npm:^1.0.3, JSONStream@npm:^1.0.4, JSONStream@npm:^1.0.7, JSONStream@npm:^1.3.2": +"JSONStream@npm:1.3.5, JSONStream@npm:^1.0.3, JSONStream@npm:^1.0.7, JSONStream@npm:^1.3.2": version: 1.3.5 resolution: "JSONStream@npm:1.3.5" dependencies: @@ -10387,13 +9526,6 @@ __metadata: languageName: node linkType: hard -"add-stream@npm:^1.0.0": - version: 1.0.0 - resolution: "add-stream@npm:1.0.0" - checksum: 3e9e8b0b8f0170406d7c3a9a39bfbdf419ccccb0fd2a396338c0fda0a339af73bf738ad414fc520741de74517acf0dd92b4a36fd3298a47fd5371eee8f2c5a06 - languageName: node - linkType: hard - "address@npm:1.1.2, address@npm:^1.0.1, address@npm:^1.1.2": version: 1.1.2 resolution: "address@npm:1.1.2" @@ -10952,13 +10084,6 @@ __metadata: languageName: node linkType: hard -"aproba@npm:^2.0.0": - version: 2.0.0 - resolution: "aproba@npm:2.0.0" - checksum: 5615cadcfb45289eea63f8afd064ab656006361020e1735112e346593856f87435e02d8dcc7ff0d11928bc7d425f27bc7c2a84f6c0b35ab0ff659c814c138a24 - languageName: node - linkType: hard - "arch@npm:^2.1.0, arch@npm:^2.1.1": version: 2.2.0 resolution: "arch@npm:2.2.0" @@ -11103,13 +10228,6 @@ __metadata: languageName: node linkType: hard -"array-differ@npm:^3.0.0": - version: 3.0.0 - resolution: "array-differ@npm:3.0.0" - checksum: 117edd9df5c1530bd116c6e8eea891d4bd02850fd89b1b36e532b6540e47ca620a373b81feca1c62d1395d9ae601516ba538abe5e8172d41091da2c546b05fb7 - languageName: node - linkType: hard - "array-equal@npm:^1.0.0": version: 1.0.0 resolution: "array-equal@npm:1.0.0" @@ -11159,13 +10277,6 @@ __metadata: languageName: node linkType: hard -"array-ify@npm:^1.0.0": - version: 1.0.0 - resolution: "array-ify@npm:1.0.0" - checksum: c0502015b319c93dd4484f18036bcc4b654eb76a4aa1f04afbcef11ac918859bb1f5d71ba1f0f1141770db9eef1a4f40f1761753650873068010bbf7bcdae4a4 - languageName: node - linkType: hard - "array-includes@npm:^3.0.3, array-includes@npm:^3.1.3, array-includes@npm:^3.1.4": version: 3.1.4 resolution: "array-includes@npm:3.1.4" @@ -11223,6 +10334,13 @@ __metadata: languageName: node linkType: hard +"array-union@npm:^3.0.1": + version: 3.0.1 + resolution: "array-union@npm:3.0.1" + checksum: 47b29f88258e8f37ffb93ddaa327d4308edd950b52943c172b73558afdd3fa74cfd68816ba5aa4b894242cf281fa3c6d0362ae057e4a18bddbaedbe46ebe7112 + languageName: node + linkType: hard + "array-uniq@npm:^1.0.1, array-uniq@npm:^1.0.3": version: 1.0.3 resolution: "array-uniq@npm:1.0.3" @@ -11317,7 +10435,7 @@ __metadata: languageName: node linkType: hard -"asap@npm:^2.0.0, asap@npm:^2.0.3, asap@npm:~2.0.3, asap@npm:~2.0.6": +"asap@npm:^2.0.3, asap@npm:~2.0.3, asap@npm:~2.0.6": version: 2.0.6 resolution: "asap@npm:2.0.6" checksum: b296c92c4b969e973260e47523207cd5769abd27c245a68c26dc7a0fe8053c55bb04360237cb51cab1df52be939da77150ace99ad331fb7fb13b3423ed73ff3d @@ -12170,7 +11288,7 @@ __metadata: languageName: node linkType: hard -"before-after-hook@npm:^2.0.0, before-after-hook@npm:^2.2.0": +"before-after-hook@npm:^2.0.0": version: 2.2.2 resolution: "before-after-hook@npm:2.2.2" checksum: dc2e1ffe389e5afbef2a46790b1b5a50247ed57aba67649cfa9ec2552d248cc9278f222e72fb5a8ff59bbb39d78fbaa97e7234ead0c6b5e8418b67a8644ce207 @@ -13172,20 +12290,6 @@ __metadata: languageName: node linkType: hard -"byline@npm:^5.0.0": - version: 5.0.0 - resolution: "byline@npm:5.0.0" - checksum: 737ca83e8eda2976728dae62e68bc733aea095fab08db4c6f12d3cee3cf45b6f97dce45d1f6b6ff9c2c947736d10074985b4425b31ce04afa1985a4ef3d334a7 - languageName: node - linkType: hard - -"byte-size@npm:^7.0.0": - version: 7.0.1 - resolution: "byte-size@npm:7.0.1" - checksum: 6791663a6d53bf950e896f119d3648fe8d7e8ae677e2ccdae84d0e5b78f21126e25f9d73aa19be2a297cb27abd36b6f5c361c0de36ebb2f3eb8a853f2ac99a4a - languageName: node - linkType: hard - "bytes@npm:3.0.0": version: 3.0.0 resolution: "bytes@npm:3.0.0" @@ -13906,7 +13010,7 @@ __metadata: languageName: node linkType: hard -"chownr@npm:^1.1.1, chownr@npm:^1.1.4": +"chownr@npm:^1.1.1": version: 1.1.4 resolution: "chownr@npm:1.1.4" checksum: 115648f8eb38bac5e41c3857f3e663f9c39ed6480d1349977c4d96c95a47266fcacc5a5aabf3cb6c481e22d72f41992827db47301851766c4fd77ac21a4f081d @@ -14246,15 +13350,6 @@ __metadata: languageName: node linkType: hard -"cmd-shim@npm:^4.1.0": - version: 4.1.0 - resolution: "cmd-shim@npm:4.1.0" - dependencies: - mkdirp-infer-owner: ^2.0.0 - checksum: d25bb57a8accab681bcfc632e085573b9395cdc60aed8d0ce479f988f9ced16720c89732aef81020140e43fd223b6573c22402e5a1c0cbd0149443104df88d68 - languageName: node - linkType: hard - "co@npm:^4.6.0": version: 4.6.0 resolution: "co@npm:4.6.0" @@ -14393,16 +13488,6 @@ __metadata: languageName: node linkType: hard -"columnify@npm:^1.5.4": - version: 1.5.4 - resolution: "columnify@npm:1.5.4" - dependencies: - strip-ansi: ^3.0.0 - wcwidth: ^1.0.0 - checksum: f0693937412ec41d387f8ae89ff8cd5811a07ad636f753f0276ba8394fd76c0f610621ebeb379d6adcb30d98696919546dbbf93a28bd4e546efc7e30d905edc2 - languageName: node - linkType: hard - "combine-errors@npm:^3.0.3": version: 3.0.3 resolution: "combine-errors@npm:3.0.3" @@ -14552,16 +13637,6 @@ __metadata: languageName: node linkType: hard -"compare-func@npm:^2.0.0": - version: 2.0.0 - resolution: "compare-func@npm:2.0.0" - dependencies: - array-ify: ^1.0.0 - dot-prop: ^5.1.0 - checksum: fb71d70632baa1e93283cf9d80f30ac97f003aabee026e0b4426c9716678079ef5fea7519b84d012cbed938c476493866a38a79760564a9e21ae9433e40e6f0d - languageName: node - linkType: hard - "compare-versions@npm:^3.4.0": version: 3.6.0 resolution: "compare-versions@npm:3.6.0" @@ -14671,7 +13746,7 @@ __metadata: languageName: node linkType: hard -"config-chain@npm:^1.1.11, config-chain@npm:^1.1.12": +"config-chain@npm:^1.1.11": version: 1.1.13 resolution: "config-chain@npm:1.1.13" dependencies: @@ -14844,108 +13919,6 @@ __metadata: languageName: node linkType: hard -"conventional-changelog-angular@npm:^5.0.12": - version: 5.0.13 - resolution: "conventional-changelog-angular@npm:5.0.13" - dependencies: - compare-func: ^2.0.0 - q: ^1.5.1 - checksum: 6ed4972fce25a50f9f038c749cc9db501363131b0fb2efc1fccecba14e4b1c80651d0d758d4c350a609f32010c66fa343eefd49c02e79e911884be28f53f3f90 - languageName: node - linkType: hard - -"conventional-changelog-core@npm:^4.2.2": - version: 4.2.4 - resolution: "conventional-changelog-core@npm:4.2.4" - 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 - checksum: 56d5194040495ea316e53fd64cb3614462c318f0fe54b1bf25aba6fba9b3d51cb9fdf7ac5b766f17e5529a3f90e317257394e00b0a9a5ce42caf3a59f82afb3a - languageName: node - linkType: hard - -"conventional-changelog-preset-loader@npm:^2.3.4": - version: 2.3.4 - resolution: "conventional-changelog-preset-loader@npm:2.3.4" - checksum: 23a889b7fcf6fe7653e61f32a048877b2f954dcc1e0daa2848c5422eb908e6f24c78372f8d0d2130b5ed941c02e7010c599dccf44b8552602c6c8db9cb227453 - languageName: node - linkType: hard - -"conventional-changelog-writer@npm:^5.0.0": - version: 5.0.0 - resolution: "conventional-changelog-writer@npm:5.0.0" - dependencies: - conventional-commits-filter: ^2.0.7 - dateformat: ^3.0.0 - handlebars: ^4.7.6 - 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 - bin: - conventional-changelog-writer: cli.js - checksum: c310b949d354688b971f576c92cac77f11540fee56dccb990169e94e4fc42e40245d2c381f826b7d781deb04d4f7e01701cc29bdd1c3d3cdf8817e8b7a80ea18 - languageName: node - linkType: hard - -"conventional-commits-filter@npm:^2.0.7": - version: 2.0.7 - resolution: "conventional-commits-filter@npm:2.0.7" - dependencies: - lodash.ismatch: ^4.4.0 - modify-values: ^1.0.0 - checksum: feb567f680a6da1baaa1ef3cff393b3c56a5828f77ab9df5e70626475425d109a6fee0289b4979223c62bbd63bf9c98ef532baa6fcb1b66ee8b5f49077f5d46c - languageName: node - linkType: hard - -"conventional-commits-parser@npm:^3.2.0": - version: 3.2.3 - resolution: "conventional-commits-parser@npm:3.2.3" - 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 - bin: - conventional-commits-parser: cli.js - checksum: 0f57b5cb7cb359eb49e6807cfd82b27cbe9ac30ec580b20ad7e79575561183110532a6c2e6328ce6c4cd05c01458b9bb781f1f6653b14560f7c509b87b0e9ac7 - languageName: node - linkType: hard - -"conventional-recommended-bump@npm:^6.1.0": - version: 6.1.0 - resolution: "conventional-recommended-bump@npm:6.1.0" - 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 - bin: - conventional-recommended-bump: cli.js - checksum: da1d7a5f3b9f7706bede685cdcb3db67997fdaa43c310fd5bf340955c84a4b85dbb9427031522ee06dad290b730a54be987b08629d79c73720dbad3a2531146b - languageName: node - linkType: hard - "convert-source-map@npm:^1.1.0, convert-source-map@npm:^1.1.1, convert-source-map@npm:^1.4.0, convert-source-map@npm:^1.5.0, convert-source-map@npm:^1.5.1, convert-source-map@npm:^1.6.0, convert-source-map@npm:^1.7.0": version: 1.8.0 resolution: "convert-source-map@npm:1.8.0" @@ -16008,13 +14981,6 @@ __metadata: languageName: node linkType: hard -"dargs@npm:^7.0.0": - version: 7.0.0 - resolution: "dargs@npm:7.0.0" - checksum: b8f1e3cba59c42e1f13a114ad4848c3fc1cf7470f633ee9e9f1043762429bc97d91ae31b826fb135eefde203a3fdb20deb0c0a0222ac29d937b8046085d668d1 - languageName: node - linkType: hard - "dash-ast@npm:^1.0.0": version: 1.0.0 resolution: "dash-ast@npm:1.0.0" @@ -16038,6 +15004,13 @@ __metadata: languageName: node linkType: hard +"data-uri-to-buffer@npm:^4.0.0": + version: 4.0.0 + resolution: "data-uri-to-buffer@npm:4.0.0" + checksum: a010653869abe8bb51259432894ac62c52bf79ad761d418d94396f48c346f2ae739c46b254e8bb5987bded8a653d467db1968db3a69bab1d33aa5567baa5cfc7 + languageName: node + linkType: hard + "data-urls@npm:^1.1.0": version: 1.1.0 resolution: "data-urls@npm:1.1.0" @@ -16074,13 +15047,6 @@ __metadata: languageName: node linkType: hard -"dateformat@npm:^3.0.0": - version: 3.0.3 - resolution: "dateformat@npm:3.0.3" - checksum: ca4911148abb09887bd9bdcd632c399b06f3ecad709a18eb594d289a1031982f441e08e281db77ffebcb2cbcbfa1ac578a7cbfbf8743f41009aa5adc1846ed34 - languageName: node - linkType: hard - "dayjs@npm:1.10.7, dayjs@npm:^1.8.15": version: 1.10.7 resolution: "dayjs@npm:1.10.7" @@ -16171,13 +15137,6 @@ __metadata: languageName: node linkType: hard -"debuglog@npm:^1.0.1": - version: 1.0.1 - resolution: "debuglog@npm:1.0.1" - checksum: 970679f2eb7a73867e04d45b52583e7ec6dee1f33c058e9147702e72a665a9647f9c3d6e7c2f66f6bf18510b23eb5ded1b617e48ac1db23603809c5ddbbb9763 - languageName: node - linkType: hard - "decamelize-keys@npm:^1.0.0, decamelize-keys@npm:^1.1.0": version: 1.1.0 resolution: "decamelize-keys@npm:1.1.0" @@ -16666,13 +15625,6 @@ __metadata: languageName: node linkType: hard -"detect-indent@npm:^5.0.0": - version: 5.0.0 - resolution: "detect-indent@npm:5.0.0" - checksum: 61763211daa498e00eec073aba95d544ae5baed19286a0a655697fa4fffc9f4539c8376e2c7df8fa11d6f8eaa16c1e6a689f403ac41ee78a060278cdadefe2ff - languageName: node - linkType: hard - "detect-indent@npm:^6.0.0": version: 6.1.0 resolution: "detect-indent@npm:6.1.0" @@ -16793,16 +15745,6 @@ __metadata: languageName: node linkType: hard -"dezalgo@npm:^1.0.0": - version: 1.0.3 - resolution: "dezalgo@npm:1.0.3" - dependencies: - asap: ^2.0.0 - wrappy: 1 - checksum: 8b26238db91423b2702a7a6d9629d0019c37c415e7b6e75d4b3e8d27e9464e21cac3618dd145f4d4ee96c70cc6ff034227b5b8a0e9c09015a8bdbe6dace3cfb9 - languageName: node - linkType: hard - "di@npm:^0.0.1": version: 0.0.1 resolution: "di@npm:0.0.1" @@ -17141,7 +16083,7 @@ __metadata: languageName: node linkType: hard -"dot-prop@npm:^5.1.0, dot-prop@npm:^5.2.0": +"dot-prop@npm:^5.2.0": version: 5.3.0 resolution: "dot-prop@npm:5.3.0" dependencies: @@ -17150,15 +16092,6 @@ __metadata: languageName: node linkType: hard -"dot-prop@npm:^6.0.1": - version: 6.0.1 - resolution: "dot-prop@npm:6.0.1" - dependencies: - is-obj: ^2.0.0 - checksum: 0f47600a4b93e1dc37261da4e6909652c008832a5d3684b5bf9a9a0d3f4c67ea949a86dceed9b72f5733ed8e8e6383cc5958df3bbd0799ee317fd181f2ece700 - languageName: node - linkType: hard - "dotenv-defaults@npm:^1.0.2": version: 1.1.1 resolution: "dotenv-defaults@npm:1.1.1" @@ -17694,7 +16627,7 @@ __metadata: languageName: node linkType: hard -"envinfo@npm:7.8.1, envinfo@npm:^7.7.2, envinfo@npm:^7.7.4": +"envinfo@npm:7.8.1, envinfo@npm:^7.7.2": version: 7.8.1 resolution: "envinfo@npm:7.8.1" bin: @@ -19128,7 +18061,7 @@ __metadata: languageName: node linkType: hard -"eventemitter3@npm:^4.0.0, eventemitter3@npm:^4.0.4": +"eventemitter3@npm:^4.0.0": version: 4.0.7 resolution: "eventemitter3@npm:4.0.7" checksum: 1875311c42fcfe9c707b2712c32664a245629b42bb0a5a84439762dd0fd637fc54d078155ea83c2af9e0323c9ac13687e03cfba79b03af9f40c89b4960099374 @@ -20013,6 +18946,15 @@ __metadata: languageName: node linkType: hard +"fetch-blob@npm:^3.1.2": + version: 3.1.3 + resolution: "fetch-blob@npm:3.1.3" + dependencies: + web-streams-polyfill: ^3.0.3 + checksum: 7be20e9c9a936601c280ef3cfed1968dbcfb35e31564b9bdc807b48de73587cd358b7c3965a3f03483f5268dc373ae8526608947750f22eb214e20c94efab9c1 + languageName: node + linkType: hard + "figgy-pudding@npm:^3.5.1": version: 3.5.2 resolution: "figgy-pudding@npm:3.5.2" @@ -20232,13 +19174,6 @@ __metadata: languageName: node linkType: hard -"filter-obj@npm:^1.1.0": - version: 1.1.0 - resolution: "filter-obj@npm:1.1.0" - checksum: cf2104a7c45ff48e7f505b78a3991c8f7f30f28bd8106ef582721f321f1c6277f7751aacd5d83026cb079d9d5091082f588d14a72e7c5d720ece79118fa61e10 - languageName: node - linkType: hard - "finalhandler@npm:1.1.0": version: 1.1.0 resolution: "finalhandler@npm:1.1.0" @@ -20611,6 +19546,15 @@ __metadata: languageName: node linkType: hard +"formdata-polyfill@npm:^4.0.10": + version: 4.0.10 + resolution: "formdata-polyfill@npm:4.0.10" + dependencies: + fetch-blob: ^3.1.2 + checksum: 82a34df292afadd82b43d4a740ce387bc08541e0a534358425193017bf9fb3567875dc5f69564984b1da979979b70703aa73dee715a17b6c229752ae736dd9db + languageName: node + linkType: hard + "formidable@npm:^1.2.0, formidable@npm:^1.2.1": version: 1.2.6 resolution: "formidable@npm:1.2.6" @@ -20779,15 +19723,6 @@ __metadata: languageName: node linkType: hard -"fs-minipass@npm:^1.2.7": - version: 1.2.7 - resolution: "fs-minipass@npm:1.2.7" - dependencies: - minipass: ^2.6.0 - checksum: 40fd46a2b5dcb74b3a580269f9a0c36f9098c2ebd22cef2e1a004f375b7b665c11f1507ec3f66ee6efab5664109f72d0a74ea19c3370842214c3da5168d6fdd7 - languageName: node - linkType: hard - "fs-minipass@npm:^2.0.0, fs-minipass@npm:^2.1.0": version: 2.1.0 resolution: "fs-minipass@npm:2.1.0" @@ -21062,20 +19997,6 @@ __metadata: languageName: node linkType: hard -"get-pkg-repo@npm:^4.0.0": - version: 4.2.1 - resolution: "get-pkg-repo@npm:4.2.1" - dependencies: - "@hutson/parse-repository-url": ^3.0.0 - hosted-git-info: ^4.0.0 - through2: ^2.0.0 - yargs: ^16.2.0 - bin: - get-pkg-repo: src/cli.js - checksum: 5abf169137665e45b09a857b33ad2fdcf2f4a09f0ecbd0ebdd789a7ce78c39186a21f58621127eb724d2d4a3a7ee8e6bd4ac7715efda01ad5200665afc218e0d - languageName: node - linkType: hard - "get-port@npm:^3.2.0": version: 3.2.0 resolution: "get-port@npm:3.2.0" @@ -21204,71 +20125,6 @@ __metadata: languageName: node linkType: hard -"git-raw-commits@npm:^2.0.8": - version: 2.0.10 - resolution: "git-raw-commits@npm:2.0.10" - dependencies: - dargs: ^7.0.0 - lodash: ^4.17.15 - meow: ^8.0.0 - split2: ^3.0.0 - through2: ^4.0.0 - bin: - git-raw-commits: cli.js - checksum: 66e2d7b4cdeff946ac639e1bba37f5dcbd9f5c9245348b31e027e4529f6b6733d23f75768d285d5f29c1f08d3485705a4932300a81a45b77b660fe3ce6089c29 - languageName: node - linkType: hard - -"git-remote-origin-url@npm:^2.0.0": - version: 2.0.0 - resolution: "git-remote-origin-url@npm:2.0.0" - dependencies: - gitconfiglocal: ^1.0.0 - pify: ^2.3.0 - checksum: 85263a09c044b5f4fe2acc45cbb3c5331ab2bd4484bb53dfe7f3dd593a4bf90a9786a2e00b9884524331f50b3da18e8c924f01c2944087fc7f342282c4437b73 - languageName: node - linkType: hard - -"git-semver-tags@npm:^4.1.1": - version: 4.1.1 - resolution: "git-semver-tags@npm:4.1.1" - dependencies: - meow: ^8.0.0 - semver: ^6.0.0 - bin: - git-semver-tags: cli.js - checksum: e16d02a515c0f88289a28b5bf59bf42c0dc053765922d3b617ae4b50546bd4f74a25bf3ad53b91cb6c1159319a2e92533b160c573b856c2629125c8b26b3b0e3 - languageName: node - linkType: hard - -"git-up@npm:^4.0.0": - version: 4.0.5 - resolution: "git-up@npm:4.0.5" - dependencies: - is-ssh: ^1.3.0 - parse-url: ^6.0.0 - checksum: dd8f39a115ec0523b7da369cd4c6dc94a9b11fcc652e6fc9d011a93c287e27cc34e1d1c89cff8864f9ab11a1b2bea49786951d8eb3f1e5babd351afcc63f6135 - languageName: node - linkType: hard - -"git-url-parse@npm:^11.4.4": - version: 11.6.0 - resolution: "git-url-parse@npm:11.6.0" - dependencies: - git-up: ^4.0.0 - checksum: 18a7d0bbac76c55fe8a501d4bd4c6b5f5528883a4dadcfce1152b4902e3e5831df8e97f36ea3f564de633e9ab44d9ab09bb2f319e41af1b6e4f627af139d35d5 - languageName: node - linkType: hard - -"gitconfiglocal@npm:^1.0.0": - version: 1.0.0 - resolution: "gitconfiglocal@npm:1.0.0" - dependencies: - ini: ^1.3.2 - checksum: e6d2764c15bbab6d1d1000d1181bb907f6b3796bb04f63614dba571b18369e0ecb1beaf27ce8da5b24307ef607e3a5f262a67cb9575510b9446aac697d421beb - languageName: node - linkType: hard - "github-contributors-list@npm:^1.2.4": version: 1.2.5 resolution: "github-contributors-list@npm:1.2.5" @@ -21313,7 +20169,7 @@ __metadata: languageName: node linkType: hard -"glob-parent@npm:^5.1.0, glob-parent@npm:^5.1.1, glob-parent@npm:^5.1.2, glob-parent@npm:~5.1.2": +"glob-parent@npm:^5.1.0, glob-parent@npm:^5.1.2, glob-parent@npm:~5.1.2": version: 5.1.2 resolution: "glob-parent@npm:5.1.2" dependencies: @@ -21516,6 +20372,20 @@ __metadata: languageName: node linkType: hard +"globby@npm:^12.0.2": + version: 12.0.2 + resolution: "globby@npm:12.0.2" + dependencies: + array-union: ^3.0.1 + dir-glob: ^3.0.1 + fast-glob: ^3.2.7 + ignore: ^5.1.8 + merge2: ^1.4.1 + slash: ^4.0.0 + checksum: f474ced866755f48ce7e8a7e11b0a1d90fa1f1c25cf86c245fbf05a862accfba695102a843b6386dbe41fa73c2f9a7e625bf566fa7648d2e1304f58748975e3f + languageName: node + linkType: hard + "globby@npm:^5.0.0": version: 5.0.0 resolution: "globby@npm:5.0.0" @@ -21713,7 +20583,7 @@ __metadata: languageName: node linkType: hard -"graceful-fs@npm:^4.1.10, graceful-fs@npm:^4.1.11, graceful-fs@npm:^4.1.15, graceful-fs@npm:^4.1.2, graceful-fs@npm:^4.1.3, graceful-fs@npm:^4.1.6, graceful-fs@npm:^4.1.9, graceful-fs@npm:^4.2.0, graceful-fs@npm:^4.2.2, graceful-fs@npm:^4.2.3, graceful-fs@npm:^4.2.4, graceful-fs@npm:^4.2.6": +"graceful-fs@npm:^4.1.10, graceful-fs@npm:^4.1.11, graceful-fs@npm:^4.1.15, graceful-fs@npm:^4.1.2, graceful-fs@npm:^4.1.3, graceful-fs@npm:^4.1.6, graceful-fs@npm:^4.1.9, graceful-fs@npm:^4.2.0, graceful-fs@npm:^4.2.3, graceful-fs@npm:^4.2.4, graceful-fs@npm:^4.2.6": version: 4.2.8 resolution: "graceful-fs@npm:4.2.8" checksum: 5d224c8969ad0581d551dfabdb06882706b31af2561bd5e2034b4097e67cc27d05232849b8643866585fd0a41c7af152950f8776f4dd5579e9853733f31461c6 @@ -21789,7 +20659,7 @@ __metadata: languageName: node linkType: hard -"handlebars@npm:4.7.7, handlebars@npm:^4.7.6": +"handlebars@npm:4.7.7": version: 4.7.7 resolution: "handlebars@npm:4.7.7" dependencies: @@ -21936,7 +20806,7 @@ __metadata: languageName: node linkType: hard -"has-unicode@npm:^2.0.0, has-unicode@npm:^2.0.1": +"has-unicode@npm:^2.0.0": version: 2.0.1 resolution: "has-unicode@npm:2.0.1" checksum: 1eab07a7436512db0be40a710b29b5dc21fa04880b7f63c9980b706683127e3c1b57cb80ea96d47991bdae2dfe479604f6a1ba410106ee1046a41d1bd0814400 @@ -22544,7 +21414,7 @@ hexo-filter-github-emojis@arturi/hexo-filter-github-emojis: languageName: node linkType: hard -"hosted-git-info@npm:^4.0.0, hosted-git-info@npm:^4.0.1": +"hosted-git-info@npm:^4.0.1": version: 4.0.2 resolution: "hosted-git-info@npm:4.0.2" dependencies: @@ -23405,28 +22275,13 @@ hexo-filter-github-emojis@arturi/hexo-filter-github-emojis: languageName: node linkType: hard -"ini@npm:^1.3.2, ini@npm:^1.3.4, ini@npm:^1.3.5, ini@npm:~1.3.0": +"ini@npm:^1.3.4, ini@npm:^1.3.5, ini@npm:~1.3.0": version: 1.3.8 resolution: "ini@npm:1.3.8" checksum: dfd98b0ca3a4fc1e323e38a6c8eb8936e31a97a918d3b377649ea15bdb15d481207a0dda1021efbd86b464cae29a0d33c1d7dcaf6c5672bee17fa849bc50a1b3 languageName: node linkType: hard -"init-package-json@npm:^2.0.2": - version: 2.0.5 - resolution: "init-package-json@npm:2.0.5" - dependencies: - npm-package-arg: ^8.1.5 - promzard: ^0.3.0 - read: ~1.0.1 - read-package-json: ^4.1.1 - semver: ^7.3.5 - validate-npm-package-license: ^3.0.4 - validate-npm-package-name: ^3.0.0 - checksum: cbd3e2e79156d6e8722699f571e509e0733dde31ac4cb58c0aadb63f7cef1a131037c6d549bd6af5757032a51252b1bdb86a70f68ed6c10f866f203e5fb4f9ba - languageName: node - linkType: hard - "inject-lr-script@npm:^2.1.0": version: 2.2.0 resolution: "inject-lr-script@npm:2.2.0" @@ -23527,27 +22382,6 @@ hexo-filter-github-emojis@arturi/hexo-filter-github-emojis: languageName: node linkType: hard -"inquirer@npm:^7.3.3": - version: 7.3.3 - resolution: "inquirer@npm:7.3.3" - dependencies: - ansi-escapes: ^4.2.1 - chalk: ^4.1.0 - cli-cursor: ^3.1.0 - cli-width: ^3.0.0 - external-editor: ^3.0.3 - figures: ^3.0.0 - lodash: ^4.17.19 - mute-stream: 0.0.8 - run-async: ^2.4.0 - rxjs: ^6.6.0 - string-width: ^4.1.0 - strip-ansi: ^6.0.0 - through: ^2.3.6 - checksum: 4d387fc1eb6126acbd58cbdb9ad99d2887d181df86ab0c2b9abdf734e751093e2d5882c2b6dc7144d9ab16b7ab30a78a1d7f01fb6a2850a44aeb175d1e3f8778 - languageName: node - linkType: hard - "insert-module-globals@npm:^7.0.0, insert-module-globals@npm:^7.2.1": version: 7.2.1 resolution: "insert-module-globals@npm:7.2.1" @@ -24481,15 +23315,6 @@ hexo-filter-github-emojis@arturi/hexo-filter-github-emojis: languageName: node linkType: hard -"is-ssh@npm:^1.3.0": - version: 1.3.3 - resolution: "is-ssh@npm:1.3.3" - dependencies: - protocols: ^1.1.0 - checksum: 7a751facad3c61abf080eefe4f5df488d37f690ac2b130a8012001ecee4d7991306561bcb25896894d19268ea0512b20497f243e74d21c5901187a8f55f1c08c - languageName: node - linkType: hard - "is-stream-ended@npm:^0.1.0": version: 0.1.4 resolution: "is-stream-ended@npm:0.1.4" @@ -24543,15 +23368,6 @@ hexo-filter-github-emojis@arturi/hexo-filter-github-emojis: languageName: node linkType: hard -"is-text-path@npm:^1.0.1": - version: 1.0.1 - resolution: "is-text-path@npm:1.0.1" - dependencies: - text-extensions: ^1.0.0 - checksum: fb5d78752c22b3f73a7c9540768f765ffcfa38c9e421e2b9af869565307fa1ae5e3d3a2ba016a43549742856846566d327da406e94a5846ec838a288b1704fd2 - languageName: node - linkType: hard - "is-typed-array@npm:^1.1.3, is-typed-array@npm:^1.1.7": version: 1.1.8 resolution: "is-typed-array@npm:1.1.8" @@ -26452,15 +25268,6 @@ hexo-filter-github-emojis@arturi/hexo-filter-github-emojis: languageName: node linkType: hard -"last-commit-message@npm:^1.0.0": - version: 1.0.0 - resolution: "last-commit-message@npm:1.0.0" - dependencies: - simple-concat: ^1.0.0 - checksum: d07c40fd071941a68c76d245f48e478d2d5a616466617699df18e872a6f622e3945ee618f10583bb6bf472f7c39e43887b9b84225a277dfa0cf7885293e1548c - languageName: node - linkType: hard - "latest-version@npm:^5.1.0": version: 5.1.0 resolution: "latest-version@npm:5.1.0" @@ -26518,34 +25325,6 @@ hexo-filter-github-emojis@arturi/hexo-filter-github-emojis: languageName: node linkType: hard -"lerna@npm:^4.0.0": - version: 4.0.0 - resolution: "lerna@npm:4.0.0" - dependencies: - "@lerna/add": 4.0.0 - "@lerna/bootstrap": 4.0.0 - "@lerna/changed": 4.0.0 - "@lerna/clean": 4.0.0 - "@lerna/cli": 4.0.0 - "@lerna/create": 4.0.0 - "@lerna/diff": 4.0.0 - "@lerna/exec": 4.0.0 - "@lerna/import": 4.0.0 - "@lerna/info": 4.0.0 - "@lerna/init": 4.0.0 - "@lerna/link": 4.0.0 - "@lerna/list": 4.0.0 - "@lerna/publish": 4.0.0 - "@lerna/run": 4.0.0 - "@lerna/version": 4.0.0 - import-local: ^3.0.2 - npmlog: ^4.1.2 - bin: - lerna: cli.js - checksum: b8a2791bcfd5eb49b0e9cd125ad31a77dd7993a7fff207e864bc03aef64719b31d16bf2f72149c9cbd0bacb0a2b47c2cc5a87da3382124c1d22a611098dcc979 - languageName: node - linkType: hard - "less-loader@npm:10.2.0": version: 10.2.0 resolution: "less-loader@npm:10.2.0" @@ -26627,18 +25406,6 @@ hexo-filter-github-emojis@arturi/hexo-filter-github-emojis: languageName: node linkType: hard -"libnpmaccess@npm:^4.0.1": - version: 4.0.3 - resolution: "libnpmaccess@npm:4.0.3" - dependencies: - aproba: ^2.0.0 - minipass: ^3.1.1 - npm-package-arg: ^8.1.2 - npm-registry-fetch: ^11.0.0 - checksum: cc6b9fa0abadb6945adbd00dcf1c22267ed0b4d35e0f6ddc50b9fe7a60aa596613110367502e3cb483f93fbe9aa7df4c575ca00b7b3d9eb429fa2aeaad5783aa - languageName: node - linkType: hard - "libnpmconfig@npm:^1.0.0": version: 1.2.1 resolution: "libnpmconfig@npm:1.2.1" @@ -26650,19 +25417,6 @@ hexo-filter-github-emojis@arturi/hexo-filter-github-emojis: languageName: node linkType: hard -"libnpmpublish@npm:^4.0.0": - version: 4.0.2 - resolution: "libnpmpublish@npm:4.0.2" - dependencies: - normalize-package-data: ^3.0.2 - npm-package-arg: ^8.1.2 - npm-registry-fetch: ^11.0.0 - semver: ^7.1.3 - ssri: ^8.0.1 - checksum: 5aa83352bb70bc9bb082107678d1e42f8f80ef1c354b37849a40fa0ab9c9e715aeba803811ee2f0da99605054aead41450e040b4d37cf543237594e1d1b97173 - languageName: node - linkType: hard - "license-webpack-plugin@npm:4.0.0": version: 4.0.0 resolution: "license-webpack-plugin@npm:4.0.0" @@ -26846,18 +25600,6 @@ hexo-filter-github-emojis@arturi/hexo-filter-github-emojis: languageName: node linkType: hard -"load-json-file@npm:^6.2.0": - version: 6.2.0 - resolution: "load-json-file@npm:6.2.0" - dependencies: - graceful-fs: ^4.1.15 - parse-json: ^5.0.0 - strip-bom: ^4.0.0 - type-fest: ^0.6.0 - checksum: 4429e430ebb99375fc7cd936348e4f7ba729486080ced4272091c1e386a7f5f738ea3337d8ffd4b01c2f5bc3ddde92f2c780045b66838fe98bdb79f901884643 - languageName: node - linkType: hard - "load-plugin@npm:^4.0.0": version: 4.0.1 resolution: "load-plugin@npm:4.0.1" @@ -27200,13 +25942,6 @@ hexo-filter-github-emojis@arturi/hexo-filter-github-emojis: languageName: node linkType: hard -"lodash.ismatch@npm:^4.4.0": - version: 4.4.0 - resolution: "lodash.ismatch@npm:4.4.0" - checksum: a393917578842705c7fc1a30fb80613d1ac42d20b67eb26a2a6004d6d61ee90b419f9eb320508ddcd608e328d91eeaa2651411727eaa9a12534ed6ccb02fc705 - languageName: node - linkType: hard - "lodash.isnumber@npm:^3.0.3": version: 3.0.3 resolution: "lodash.isnumber@npm:3.0.3" @@ -27731,29 +26466,6 @@ hexo-filter-github-emojis@arturi/hexo-filter-github-emojis: languageName: node linkType: hard -"make-fetch-happen@npm:^8.0.9": - version: 8.0.14 - resolution: "make-fetch-happen@npm:8.0.14" - dependencies: - agentkeepalive: ^4.1.3 - cacache: ^15.0.5 - http-cache-semantics: ^4.1.0 - http-proxy-agent: ^4.0.1 - https-proxy-agent: ^5.0.0 - is-lambda: ^1.0.1 - lru-cache: ^6.0.0 - minipass: ^3.1.3 - minipass-collect: ^1.0.2 - minipass-fetch: ^1.3.2 - minipass-flush: ^1.0.5 - minipass-pipeline: ^1.2.4 - promise-retry: ^2.0.1 - socks-proxy-agent: ^5.0.0 - ssri: ^8.0.0 - checksum: 326fefde1aec1f1314e548be74baaaa322208718d1b51c9688a326f73dea70f57767b4f5423230e39408cfe7c6dcf7adcf86ca4798c919c3ea78f54532910434 - languageName: node - linkType: hard - "make-fetch-happen@npm:^9.0.1, make-fetch-happen@npm:^9.1.0": version: 9.1.0 resolution: "make-fetch-happen@npm:9.1.0" @@ -28284,25 +26996,6 @@ hexo-filter-github-emojis@arturi/hexo-filter-github-emojis: languageName: node linkType: hard -"meow@npm:^8.0.0": - version: 8.1.2 - resolution: "meow@npm:8.1.2" - dependencies: - "@types/minimist": ^1.2.0 - camelcase-keys: ^6.2.2 - decamelize-keys: ^1.1.0 - hard-rejection: ^2.1.0 - minimist-options: 4.1.0 - normalize-package-data: ^3.0.0 - read-pkg-up: ^7.0.1 - redent: ^3.0.0 - trim-newlines: ^3.0.0 - type-fest: ^0.18.0 - yargs-parser: ^20.2.3 - checksum: bc23bf1b4423ef6a821dff9734406bce4b91ea257e7f10a8b7f896f45b59649f07adc0926e2917eacd8cf1df9e4cd89c77623cf63dfd0f8bf54de07a32ee5a85 - languageName: node - linkType: hard - "meow@npm:^9.0.0": version: 9.0.0 resolution: "meow@npm:9.0.0" @@ -28364,7 +27057,7 @@ hexo-filter-github-emojis@arturi/hexo-filter-github-emojis: languageName: node linkType: hard -"merge2@npm:^1.2.3, merge2@npm:^1.3.0": +"merge2@npm:^1.2.3, merge2@npm:^1.3.0, merge2@npm:^1.4.1": version: 1.4.1 resolution: "merge2@npm:1.4.1" checksum: 7268db63ed5169466540b6fb947aec313200bcf6d40c5ab722c22e242f651994619bcd85601602972d3c85bd2cc45a358a4c61937e9f11a061919a1da569b0c2 @@ -29326,16 +28019,6 @@ hexo-filter-github-emojis@arturi/hexo-filter-github-emojis: languageName: node linkType: hard -"minipass@npm:^2.6.0, minipass@npm:^2.9.0": - version: 2.9.0 - resolution: "minipass@npm:2.9.0" - dependencies: - safe-buffer: ^5.1.2 - yallist: ^3.0.0 - checksum: 077b66f31ba44fd5a0d27d12a9e6a86bff8f97a4978dedb0373167156b5599fadb6920fdde0d9f803374164d810e05e8462ce28e86abbf7f0bea293a93711fc6 - languageName: node - linkType: hard - "minipass@npm:^3.0.0, minipass@npm:^3.1.0, minipass@npm:^3.1.1, minipass@npm:^3.1.3": version: 3.1.5 resolution: "minipass@npm:3.1.5" @@ -29345,15 +28028,6 @@ hexo-filter-github-emojis@arturi/hexo-filter-github-emojis: languageName: node linkType: hard -"minizlib@npm:^1.3.3": - version: 1.3.3 - resolution: "minizlib@npm:1.3.3" - dependencies: - minipass: ^2.9.0 - checksum: b0425c04d2ae6aad5027462665f07cc0d52075f7fa16e942b4611115f9b31f02924073b7221be6f75929d3c47ab93750c63f6dc2bbe8619ceacb3de1f77732c0 - languageName: node - linkType: hard - "minizlib@npm:^2.0.0, minizlib@npm:^2.1.1": version: 2.1.2 resolution: "minizlib@npm:2.1.2" @@ -29406,17 +28080,6 @@ hexo-filter-github-emojis@arturi/hexo-filter-github-emojis: languageName: node linkType: hard -"mkdirp-infer-owner@npm:^2.0.0": - version: 2.0.0 - resolution: "mkdirp-infer-owner@npm:2.0.0" - dependencies: - chownr: ^2.0.0 - infer-owner: ^1.0.4 - mkdirp: ^1.0.3 - checksum: d8f4ecd32f6762459d6b5714eae6487c67ae9734ab14e26d14377ddd9b2a1bf868d8baa18c0f3e73d3d513f53ec7a698e0f81a9367102c870a55bef7833880f7 - languageName: node - linkType: hard - "mkdirp@npm:1.0.4, mkdirp@npm:^1.0.3, mkdirp@npm:^1.0.4, mkdirp@npm:~1.0.4": version: 1.0.4 resolution: "mkdirp@npm:1.0.4" @@ -29479,13 +28142,6 @@ hexo-filter-github-emojis@arturi/hexo-filter-github-emojis: languageName: node linkType: hard -"modify-values@npm:^1.0.0": - version: 1.0.1 - resolution: "modify-values@npm:1.0.1" - checksum: 8296610c608bc97b03c2cf889c6cdf4517e32fa2d836440096374c2209f6b7b3e256c209493a0b32584b9cb32d528e99d0dd19dcd9a14d2d915a312d391cc7e9 - languageName: node - linkType: hard - "module-deps@npm:^6.2.3": version: 6.2.3 resolution: "module-deps@npm:6.2.3" @@ -29689,19 +28345,6 @@ hexo-filter-github-emojis@arturi/hexo-filter-github-emojis: languageName: node linkType: hard -"multimatch@npm:^5.0.0": - version: 5.0.0 - resolution: "multimatch@npm:5.0.0" - dependencies: - "@types/minimatch": ^3.0.3 - array-differ: ^3.0.0 - array-union: ^2.1.0 - arrify: ^2.0.1 - minimatch: ^3.0.4 - checksum: 82c8030a53af965cab48da22f1b0f894ef99e16ee680dabdfbd38d2dfacc3c8208c475203d747afd9e26db44118ed0221d5a0d65268c864f06d6efc7ac6df812 - languageName: node - linkType: hard - "multisplice@npm:^1.0.0": version: 1.0.0 resolution: "multisplice@npm:1.0.0" @@ -29716,7 +28359,7 @@ hexo-filter-github-emojis@arturi/hexo-filter-github-emojis: languageName: node linkType: hard -"mute-stream@npm:0.0.8, mute-stream@npm:~0.0.4": +"mute-stream@npm:0.0.8": version: 0.0.8 resolution: "mute-stream@npm:0.0.8" checksum: ff48d251fc3f827e5b1206cda0ffdaec885e56057ee86a3155e1951bc940fd5f33531774b1cc8414d7668c10a8907f863f6561875ee6e8768931a62121a531a1 @@ -30093,6 +28736,17 @@ hexo-filter-github-emojis@arturi/hexo-filter-github-emojis: languageName: node linkType: hard +"node-fetch@npm:^3.1.0": + version: 3.1.0 + resolution: "node-fetch@npm:3.1.0" + dependencies: + data-uri-to-buffer: ^4.0.0 + fetch-blob: ^3.1.2 + formdata-polyfill: ^4.0.10 + checksum: 23b5977554d21b72d7d99145d00bcf06e463fa621bf0afc276ad121a79509a133f38c7e470b34aad45d4032d3315bf5584ff6a1cb83e8f01be7a44cc7ac72693 + languageName: node + linkType: hard + "node-forge@npm:^0.10.0": version: 0.10.0 resolution: "node-forge@npm:0.10.0" @@ -30111,27 +28765,6 @@ hexo-filter-github-emojis@arturi/hexo-filter-github-emojis: languageName: node linkType: hard -"node-gyp@npm:^5.0.2": - version: 5.1.1 - resolution: "node-gyp@npm:5.1.1" - dependencies: - env-paths: ^2.2.0 - glob: ^7.1.4 - graceful-fs: ^4.2.2 - mkdirp: ^0.5.1 - nopt: ^4.0.1 - npmlog: ^4.1.2 - request: ^2.88.0 - rimraf: ^2.6.3 - semver: ^5.7.1 - tar: ^4.4.12 - which: ^1.3.1 - bin: - node-gyp: bin/node-gyp.js - checksum: 3a5e7970192a3cee858e6e78c2eb8b5220e631a5939c06667e085946510bf265133c3a02126a269d39eeb0c700fce8407f338e08ec17a35d35174c54ec122653 - languageName: node - linkType: hard - "node-gyp@npm:^7.1.0": version: 7.1.2 resolution: "node-gyp@npm:7.1.2" @@ -30303,18 +28936,6 @@ hexo-filter-github-emojis@arturi/hexo-filter-github-emojis: languageName: node linkType: hard -"nopt@npm:^4.0.1": - version: 4.0.3 - resolution: "nopt@npm:4.0.3" - dependencies: - abbrev: 1 - osenv: ^0.1.4 - bin: - nopt: bin/nopt.js - checksum: 66cd3b6021fc8130fc201236bc3dce614fc86988b78faa91377538b09d57aad9ba4300b5d6a01dc93d6c6f2c170f81cc893063d496d108150b65191beb4a50a4 - languageName: node - linkType: hard - "nopt@npm:^5.0.0": version: 5.0.0 resolution: "nopt@npm:5.0.0" @@ -30348,7 +28969,7 @@ hexo-filter-github-emojis@arturi/hexo-filter-github-emojis: languageName: node linkType: hard -"normalize-package-data@npm:^2.0.0, normalize-package-data@npm:^2.3.2, normalize-package-data@npm:^2.3.4, normalize-package-data@npm:^2.5.0, normalize-package-data@npm:~1.0.1 || ^2.0.0": +"normalize-package-data@npm:^2.3.2, normalize-package-data@npm:^2.3.4, normalize-package-data@npm:^2.5.0, normalize-package-data@npm:~1.0.1 || ^2.0.0": version: 2.5.0 resolution: "normalize-package-data@npm:2.5.0" dependencies: @@ -30360,7 +28981,7 @@ hexo-filter-github-emojis@arturi/hexo-filter-github-emojis: languageName: node linkType: hard -"normalize-package-data@npm:^3.0.0, normalize-package-data@npm:^3.0.2": +"normalize-package-data@npm:^3.0.0": version: 3.0.3 resolution: "normalize-package-data@npm:3.0.3" dependencies: @@ -30439,7 +29060,7 @@ hexo-filter-github-emojis@arturi/hexo-filter-github-emojis: languageName: node linkType: hard -"normalize-url@npm:^6.0.1, normalize-url@npm:^6.1.0": +"normalize-url@npm:^6.0.1": version: 6.1.0 resolution: "normalize-url@npm:6.1.0" checksum: 4a4944631173e7d521d6b80e4c85ccaeceb2870f315584fa30121f505a6dfd86439c5e3fdd8cd9e0e291290c41d0c3599f0cb12ab356722ed242584c30348e50 @@ -30498,30 +29119,14 @@ hexo-filter-github-emojis@arturi/hexo-filter-github-emojis: languageName: node linkType: hard -"npm-lifecycle@npm:^3.1.5": - version: 3.1.5 - resolution: "npm-lifecycle@npm:3.1.5" - dependencies: - byline: ^5.0.0 - graceful-fs: ^4.1.15 - node-gyp: ^5.0.2 - resolve-from: ^4.0.0 - slide: ^1.1.6 - uid-number: 0.0.6 - umask: ^1.1.0 - which: ^1.3.1 - checksum: a0a47c8d476ffc4b14cf26efddd325578c4f66ee91a5f7c8452a67e5e28cfa1fbe70d8a9f89d55ac8cfd1e16b86e33ef6bf254e5586587314904e0bd7aa7bd50 - languageName: node - linkType: hard - -"npm-normalize-package-bin@npm:^1.0.0, npm-normalize-package-bin@npm:^1.0.1": +"npm-normalize-package-bin@npm:^1.0.1": version: 1.0.1 resolution: "npm-normalize-package-bin@npm:1.0.1" checksum: ae7f15155a1e3ace2653f12ddd1ee8eaa3c84452fdfbf2f1943e1de264e4b079c86645e2c55931a51a0a498cba31f70022a5219d5665fbcb221e99e58bc70122 languageName: node linkType: hard -"npm-package-arg@npm:8.1.5, npm-package-arg@npm:^8.0.0, npm-package-arg@npm:^8.0.1, npm-package-arg@npm:^8.1.0, npm-package-arg@npm:^8.1.2, npm-package-arg@npm:^8.1.5": +"npm-package-arg@npm:8.1.5, npm-package-arg@npm:^8.0.0, npm-package-arg@npm:^8.0.1, npm-package-arg@npm:^8.1.2": version: 8.1.5 resolution: "npm-package-arg@npm:8.1.5" dependencies: @@ -30621,22 +29226,6 @@ hexo-filter-github-emojis@arturi/hexo-filter-github-emojis: languageName: node linkType: hard -"npm-registry-fetch@npm:^9.0.0": - version: 9.0.0 - resolution: "npm-registry-fetch@npm:9.0.0" - dependencies: - "@npmcli/ci-detect": ^1.0.0 - lru-cache: ^6.0.0 - make-fetch-happen: ^8.0.9 - minipass: ^3.1.3 - minipass-fetch: ^1.3.0 - minipass-json-stream: ^1.0.1 - minizlib: ^2.0.0 - npm-package-arg: ^8.0.0 - checksum: b5376b72efc503e46a84cda967b79c08b093f040bfa819b59db32dfa9b057c810401a740dbf739a94a2ebbd0f6a3888bc0918db6506553ab97afb555260a5a22 - languageName: node - linkType: hard - "npm-run-all@npm:^4.1.2, npm-run-all@npm:^4.1.3, npm-run-all@npm:^4.1.5": version: 4.1.5 resolution: "npm-run-all@npm:4.1.5" @@ -31251,7 +29840,7 @@ hexo-filter-github-emojis@arturi/hexo-filter-github-emojis: languageName: node linkType: hard -"osenv@npm:^0.1.4, osenv@npm:^0.1.5": +"osenv@npm:^0.1.5": version: 0.1.5 resolution: "osenv@npm:0.1.5" dependencies: @@ -31464,30 +30053,6 @@ hexo-filter-github-emojis@arturi/hexo-filter-github-emojis: languageName: node linkType: hard -"p-pipe@npm:^3.1.0": - version: 3.1.0 - resolution: "p-pipe@npm:3.1.0" - checksum: ee9a2609685f742c6ceb3122281ec4453bbbcc80179b13e66fd139dcf19b1c327cf6c2fdfc815b548d6667e7eaefe5396323f6d49c4f7933e4cef47939e3d65c - languageName: node - linkType: hard - -"p-queue@npm:^6.6.2": - version: 6.6.2 - resolution: "p-queue@npm:6.6.2" - dependencies: - eventemitter3: ^4.0.4 - p-timeout: ^3.2.0 - checksum: 832642fcc4ab6477b43e6d7c30209ab10952969ed211c6d6f2931be8a4f9935e3578c72e8cce053dc34f2eb6941a408a2c516a54904e989851a1a209cf19761c - languageName: node - linkType: hard - -"p-reduce@npm:^2.0.0, p-reduce@npm:^2.1.0": - version: 2.1.0 - resolution: "p-reduce@npm:2.1.0" - checksum: 99b26d36066a921982f25c575e78355824da0787c486e3dd9fc867460e8bf17d5fb3ce98d006b41bdc81ffc0aa99edf5faee53d11fe282a20291fb721b0cb1c7 - languageName: node - linkType: hard - "p-retry@npm:^3.0.1": version: 3.0.1 resolution: "p-retry@npm:3.0.1" @@ -31516,7 +30081,7 @@ hexo-filter-github-emojis@arturi/hexo-filter-github-emojis: languageName: node linkType: hard -"p-timeout@npm:^3.1.0, p-timeout@npm:^3.2.0": +"p-timeout@npm:^3.1.0": version: 3.2.0 resolution: "p-timeout@npm:3.2.0" dependencies: @@ -31539,15 +30104,6 @@ hexo-filter-github-emojis@arturi/hexo-filter-github-emojis: languageName: node linkType: hard -"p-waterfall@npm:^2.1.1": - version: 2.1.1 - resolution: "p-waterfall@npm:2.1.1" - dependencies: - p-reduce: ^2.0.0 - checksum: 8588bb8b004ee37e559c7e940a480c1742c42725d477b0776ff30b894920a3e48bddf8f60aa0ae82773e500a8fc99d75e947c450e0c2ce187aff72cc1b248f6d - languageName: node - linkType: hard - "package-json@npm:^6.3.0": version: 6.5.0 resolution: "package-json@npm:6.5.0" @@ -31589,7 +30145,7 @@ hexo-filter-github-emojis@arturi/hexo-filter-github-emojis: languageName: node linkType: hard -"pacote@npm:^11.2.6, pacote@npm:^11.3.4": +"pacote@npm:^11.3.4": version: 11.3.5 resolution: "pacote@npm:11.3.5" dependencies: @@ -31846,30 +30402,6 @@ hexo-filter-github-emojis@arturi/hexo-filter-github-emojis: languageName: node linkType: hard -"parse-path@npm:^4.0.0": - version: 4.0.3 - resolution: "parse-path@npm:4.0.3" - dependencies: - is-ssh: ^1.3.0 - protocols: ^1.4.0 - qs: ^6.9.4 - query-string: ^6.13.8 - checksum: d1704c0027489b64838c608c3f075fe3599c18a7413fa92e7074a0157e5bcc1a4ef73e7ae9bd9dbf5fad1809137437310cc69a57e5f5130ea17226165f3e942a - languageName: node - linkType: hard - -"parse-url@npm:^6.0.0": - version: 6.0.0 - resolution: "parse-url@npm:6.0.0" - dependencies: - is-ssh: ^1.3.0 - normalize-url: ^6.1.0 - parse-path: ^4.0.0 - protocols: ^1.4.0 - checksum: 6b680d1fdfba15fc54106c1130540bf61a415bc3085351b8609a213b2fdf551c53ec8d32703d8ea9b6c5fbf2da92ee1593c99f682032512b15ce87f9013d2a39 - languageName: node - linkType: hard - "parse5-html-rewriting-stream@npm:6.0.1": version: 6.0.1 resolution: "parse5-html-rewriting-stream@npm:6.0.1" @@ -32210,13 +30742,6 @@ hexo-filter-github-emojis@arturi/hexo-filter-github-emojis: languageName: node linkType: hard -"pify@npm:^5.0.0": - version: 5.0.0 - resolution: "pify@npm:5.0.0" - checksum: 443e3e198ad6bfa8c0c533764cf75c9d5bc976387a163792fb553ffe6ce923887cf14eebf5aea9b7caa8eab930da8c33612990ae85bd8c2bc18bedb9eae94ecb - languageName: node - linkType: hard - "pinkie-promise@npm:^2.0.0": version: 2.0.1 resolution: "pinkie-promise@npm:2.0.1" @@ -34310,7 +32835,7 @@ hexo-filter-github-emojis@arturi/hexo-filter-github-emojis: languageName: node linkType: hard -"prompts@npm:^2.0.1, prompts@npm:^2.4.0": +"prompts@npm:^2.0.1, prompts@npm:^2.4.0, prompts@npm:^2.4.2": version: 2.4.2 resolution: "prompts@npm:2.4.2" dependencies: @@ -34320,15 +32845,6 @@ hexo-filter-github-emojis@arturi/hexo-filter-github-emojis: languageName: node linkType: hard -"promzard@npm:^0.3.0": - version: 0.3.0 - resolution: "promzard@npm:0.3.0" - dependencies: - read: 1 - checksum: 443a3b39ac916099988ee0161ab4e22edd1fa27e3d39a38d60e48c11ca6df3f5a90bfe44d95af06ed8659c4050b789ffe64c3f9f8e49a4bea1ea19105c98445a - languageName: node - linkType: hard - "prop-types-exact@npm:^1.2.0": version: 1.2.0 resolution: "prop-types-exact@npm:1.2.0" @@ -34384,13 +32900,6 @@ hexo-filter-github-emojis@arturi/hexo-filter-github-emojis: languageName: node linkType: hard -"protocols@npm:^1.1.0, protocols@npm:^1.4.0": - version: 1.4.8 - resolution: "protocols@npm:1.4.8" - checksum: 2d555c013df0b05402970f67f7207c9955a92b1d13ffa503c814b5fe2f6dde7ac6a03320e0975c1f5832b0113327865e0b3b28bfcad023c25ddb54b53fab8684 - languageName: node - linkType: hard - "protractor@npm:~7.0.0": version: 7.0.0 resolution: "protractor@npm:7.0.0" @@ -34624,7 +33133,7 @@ hexo-filter-github-emojis@arturi/hexo-filter-github-emojis: languageName: node linkType: hard -"qs@npm:^6.10.0, qs@npm:^6.5.1, qs@npm:^6.6.0, qs@npm:^6.9.1, qs@npm:^6.9.4": +"qs@npm:^6.10.0, qs@npm:^6.5.1, qs@npm:^6.6.0, qs@npm:^6.9.1": version: 6.10.1 resolution: "qs@npm:6.10.1" dependencies: @@ -34668,18 +33177,6 @@ hexo-filter-github-emojis@arturi/hexo-filter-github-emojis: languageName: node linkType: hard -"query-string@npm:^6.13.8": - version: 6.14.1 - resolution: "query-string@npm:6.14.1" - dependencies: - decode-uri-component: ^0.2.0 - filter-obj: ^1.1.0 - split-on-first: ^1.0.0 - strict-uri-encode: ^2.0.0 - checksum: f2c7347578fa0f3fd4eaace506470cb4e9dc52d409a7ddbd613f614b9a594d750877e193b5d5e843c7477b3b295b857ec328903c943957adc41a3efb6c929449 - languageName: node - linkType: hard - "querystring-es3@npm:^0.2.0, querystring-es3@npm:^0.2.1, querystring-es3@npm:~0.2.0": version: 0.2.1 resolution: "querystring-es3@npm:0.2.1" @@ -35298,13 +33795,6 @@ hexo-filter-github-emojis@arturi/hexo-filter-github-emojis: languageName: node linkType: hard -"read-cmd-shim@npm:^2.0.0": - version: 2.0.0 - resolution: "read-cmd-shim@npm:2.0.0" - checksum: 024f0a092d3630ad344af63eb0539bce90978883dd06a93e7bfbb26913168ab034473eae4a85685ea76a982eb31b0e8e16dee9c1138dabb3a925e7c4757952bc - languageName: node - linkType: hard - "read-only-stream@npm:^2.0.0": version: 2.0.0 resolution: "read-only-stream@npm:2.0.0" @@ -35324,53 +33814,6 @@ hexo-filter-github-emojis@arturi/hexo-filter-github-emojis: languageName: node linkType: hard -"read-package-json@npm:^2.0.0": - version: 2.1.2 - resolution: "read-package-json@npm:2.1.2" - dependencies: - glob: ^7.1.1 - json-parse-even-better-errors: ^2.3.0 - normalize-package-data: ^2.0.0 - npm-normalize-package-bin: ^1.0.0 - checksum: 56a2642851e9321a68e1708263944bf5ab8a2c172daf3f13f18aad32fbe2f2ba516935b068c93771d9671012aec4596962c20417aca8b5e73501bc647691337a - languageName: node - linkType: hard - -"read-package-json@npm:^3.0.0": - version: 3.0.1 - resolution: "read-package-json@npm:3.0.1" - dependencies: - glob: ^7.1.1 - json-parse-even-better-errors: ^2.3.0 - normalize-package-data: ^3.0.0 - npm-normalize-package-bin: ^1.0.0 - checksum: 963904f00f70283e89b8a4a06b51b1453e7e23a9a029af3030e301f8c2429a2bad21a72c53943cdb735c9a7b643282d5b0b1a09b7d31f74640e81311127f8f68 - languageName: node - linkType: hard - -"read-package-json@npm:^4.1.1": - version: 4.1.1 - resolution: "read-package-json@npm:4.1.1" - dependencies: - glob: ^7.1.1 - json-parse-even-better-errors: ^2.3.0 - normalize-package-data: ^3.0.0 - npm-normalize-package-bin: ^1.0.0 - checksum: d95f6e9747bcce9bdbfae8442a86c41cde3a73691a8a8cdc46e0711e7768718e1f0955a38cbde01a6e571f490bbdc9d6a83713a89eca85646a816e659a78f6f4 - languageName: node - linkType: hard - -"read-package-tree@npm:^5.3.1": - version: 5.3.1 - resolution: "read-package-tree@npm:5.3.1" - dependencies: - read-package-json: ^2.0.0 - readdir-scoped-modules: ^1.0.0 - util-promisify: ^2.1.0 - checksum: dc2c1aaef6b0e61dad483f7e4cecc4b250ef2b1f86f4ad42b120b58fd98835762b61fb61280670daad410943fcaf08112895f529776c80ee8e2d0a721f27ab0b - languageName: node - linkType: hard - "read-pkg-up@npm:^1.0.1": version: 1.0.1 resolution: "read-pkg-up@npm:1.0.1" @@ -35436,15 +33879,6 @@ hexo-filter-github-emojis@arturi/hexo-filter-github-emojis: languageName: node linkType: hard -"read@npm:1, read@npm:~1.0.1": - version: 1.0.7 - resolution: "read@npm:1.0.7" - dependencies: - mute-stream: ~0.0.4 - checksum: 2777c254e5732cac96f5d0a1c0f6b836c89ae23d8febd405b206f6f24d5de1873420f1a0795e0e3721066650d19adf802c7882c4027143ee0acf942a4f34f97b - languageName: node - linkType: hard - "readable-stream@npm:1 || 2, readable-stream@npm:^2.0.0, readable-stream@npm:^2.0.1, readable-stream@npm:^2.0.2, readable-stream@npm:^2.0.5, readable-stream@npm:^2.0.6, readable-stream@npm:^2.1.5, readable-stream@npm:^2.2.2, readable-stream@npm:^2.3.0, readable-stream@npm:^2.3.3, readable-stream@npm:^2.3.5, readable-stream@npm:^2.3.6, readable-stream@npm:~2.3.6": version: 2.3.7 resolution: "readable-stream@npm:2.3.7" @@ -35504,18 +33938,6 @@ hexo-filter-github-emojis@arturi/hexo-filter-github-emojis: languageName: node linkType: hard -"readdir-scoped-modules@npm:^1.0.0": - version: 1.1.0 - resolution: "readdir-scoped-modules@npm:1.1.0" - dependencies: - debuglog: ^1.0.1 - dezalgo: ^1.0.0 - graceful-fs: ^4.1.2 - once: ^1.3.0 - checksum: 6d9f334e40dfd0f5e4a8aab5e67eb460c95c85083c690431f87ab2c9135191170e70c2db6d71afcafb78e073d23eb95dcb3fc33ef91308f6ebfe3197be35e608 - languageName: node - linkType: hard - "readdirp@npm:^2.2.1": version: 2.2.1 resolution: "readdirp@npm:2.2.1" @@ -37145,7 +35567,7 @@ hexo-filter-github-emojis@arturi/hexo-filter-github-emojis: languageName: node linkType: hard -"rxjs@npm:6.6.7, rxjs@npm:^6.5.0, rxjs@npm:^6.5.3, rxjs@npm:^6.5.4, rxjs@npm:^6.6.0": +"rxjs@npm:6.6.7, rxjs@npm:^6.5.0, rxjs@npm:^6.5.3, rxjs@npm:^6.5.4": version: 6.6.7 resolution: "rxjs@npm:6.6.7" dependencies: @@ -37202,7 +35624,7 @@ hexo-filter-github-emojis@arturi/hexo-filter-github-emojis: languageName: node linkType: hard -"safe-buffer@npm:5.2.1, safe-buffer@npm:>=5.1.0, safe-buffer@npm:^5.0.1, safe-buffer@npm:^5.1.0, safe-buffer@npm:^5.1.1, safe-buffer@npm:^5.1.2, safe-buffer@npm:^5.2.0, safe-buffer@npm:^5.2.1, safe-buffer@npm:~5.2.0": +"safe-buffer@npm:5.2.1, safe-buffer@npm:>=5.1.0, safe-buffer@npm:^5.0.1, safe-buffer@npm:^5.1.0, safe-buffer@npm:^5.1.1, safe-buffer@npm:^5.1.2, safe-buffer@npm:^5.2.0, safe-buffer@npm:~5.2.0": version: 5.2.1 resolution: "safe-buffer@npm:5.2.1" checksum: b99c4b41fdd67a6aaf280fcd05e9ffb0813654894223afb78a31f14a19ad220bba8aba1cb14eddce1fcfb037155fe6de4e861784eb434f7d11ed58d1e70dd491 @@ -37593,7 +36015,7 @@ hexo-filter-github-emojis@arturi/hexo-filter-github-emojis: languageName: node linkType: hard -"semver@npm:7.3.5, semver@npm:^7.0.0, semver@npm:^7.1.1, semver@npm:^7.1.3, semver@npm:^7.2.1, semver@npm:^7.3.2, semver@npm:^7.3.4, semver@npm:^7.3.5": +"semver@npm:7.3.5, semver@npm:^7.0.0, semver@npm:^7.1.1, semver@npm:^7.2.1, semver@npm:^7.3.2, semver@npm:^7.3.4, semver@npm:^7.3.5": version: 7.3.5 resolution: "semver@npm:7.3.5" dependencies: @@ -38104,6 +36526,13 @@ hexo-filter-github-emojis@arturi/hexo-filter-github-emojis: languageName: node linkType: hard +"slash@npm:^4.0.0": + version: 4.0.0 + resolution: "slash@npm:4.0.0" + checksum: da8e4af73712253acd21b7853b7e0dbba776b786e82b010a5bfc8b5051a1db38ed8aba8e1e8f400dd2c9f373be91eb1c42b66e91abb407ff42b10feece5e1d2d + languageName: node + linkType: hard + "slice-ansi@npm:^2.0.0, slice-ansi@npm:^2.1.0": version: 2.1.0 resolution: "slice-ansi@npm:2.1.0" @@ -38137,7 +36566,7 @@ hexo-filter-github-emojis@arturi/hexo-filter-github-emojis: languageName: node linkType: hard -"slide@npm:^1.1.3, slide@npm:^1.1.6": +"slide@npm:^1.1.3": version: 1.1.6 resolution: "slide@npm:1.1.6" checksum: 5768635d227172e215b7a1a91d32f8781f5783b4961feaaf3d536bbf83cc51878928c137508cde7659fea6d7c04074927cab982731302771ee0051518ff24896 @@ -38354,17 +36783,6 @@ hexo-filter-github-emojis@arturi/hexo-filter-github-emojis: languageName: node linkType: hard -"socks-proxy-agent@npm:^5.0.0": - version: 5.0.1 - resolution: "socks-proxy-agent@npm:5.0.1" - dependencies: - agent-base: ^6.0.2 - debug: 4 - socks: ^2.3.3 - checksum: 1b60c4977b2fef783f0fc4dc619cd2758aafdb43f3cf679f1e3627cb6c6e752811cee5513ebb4157ad26786033d2f85029440f197d321e8293b38cc5aab01e06 - languageName: node - linkType: hard - "socks-proxy-agent@npm:^6.0.0": version: 6.1.0 resolution: "socks-proxy-agent@npm:6.1.0" @@ -38376,7 +36794,7 @@ hexo-filter-github-emojis@arturi/hexo-filter-github-emojis: languageName: node linkType: hard -"socks@npm:^2.3.3, socks@npm:^2.6.1": +"socks@npm:^2.6.1": version: 2.6.1 resolution: "socks@npm:2.6.1" dependencies: @@ -38437,15 +36855,6 @@ hexo-filter-github-emojis@arturi/hexo-filter-github-emojis: languageName: node linkType: hard -"sort-keys@npm:^4.0.0": - version: 4.2.0 - resolution: "sort-keys@npm:4.2.0" - dependencies: - is-plain-obj: ^2.0.0 - checksum: 1535ffd5a789259fc55107d5c3cec09b3e47803a9407fcaae37e1b9e0b813762c47dfee35b6e71e20ca7a69798d0a4791b2058a07f6cab5ef17b2dae83cedbda - languageName: node - linkType: hard - "sorted-array-functions@npm:^1.0.0": version: 1.3.0 resolution: "sorted-array-functions@npm:1.3.0" @@ -38663,13 +37072,6 @@ hexo-filter-github-emojis@arturi/hexo-filter-github-emojis: languageName: node linkType: hard -"split-on-first@npm:^1.0.0": - version: 1.1.0 - resolution: "split-on-first@npm:1.1.0" - checksum: 16ff85b54ddcf17f9147210a4022529b343edbcbea4ce977c8f30e38408b8d6e0f25f92cd35b86a524d4797f455e29ab89eb8db787f3c10708e0b47ebf528d30 - languageName: node - linkType: hard - "split-string@npm:^3.0.1, split-string@npm:^3.0.2": version: 3.1.0 resolution: "split-string@npm:3.1.0" @@ -38688,7 +37090,7 @@ hexo-filter-github-emojis@arturi/hexo-filter-github-emojis: languageName: node linkType: hard -"split2@npm:^3.0.0, split2@npm:^3.1.1": +"split2@npm:^3.1.1": version: 3.2.2 resolution: "split2@npm:3.2.2" dependencies: @@ -38704,15 +37106,6 @@ hexo-filter-github-emojis@arturi/hexo-filter-github-emojis: languageName: node linkType: hard -"split@npm:^1.0.0": - version: 1.0.1 - resolution: "split@npm:1.0.1" - dependencies: - through: 2 - checksum: 12f4554a5792c7e98bb3e22b53c63bfa5ef89aa704353e1db608a55b51f5b12afaad6e4a8ecf7843c15f273f43cdadd67b3705cc43d48a75c2cf4641d51f7e7a - languageName: node - linkType: hard - "sprintf-js@npm:1.1.2, sprintf-js@npm:^1.0.3, sprintf-js@npm:^1.1.2": version: 1.1.2 resolution: "sprintf-js@npm:1.1.2" @@ -39059,13 +37452,6 @@ hexo-filter-github-emojis@arturi/hexo-filter-github-emojis: languageName: node linkType: hard -"strict-uri-encode@npm:^2.0.0": - version: 2.0.0 - resolution: "strict-uri-encode@npm:2.0.0" - checksum: eaac4cf978b6fbd480f1092cab8b233c9b949bcabfc9b598dd79a758f7243c28765ef7639c876fa72940dac687181b35486ea01ff7df3e65ce3848c64822c581 - languageName: node - linkType: hard - "string-argv@npm:0.3.1": version: 0.3.1 resolution: "string-argv@npm:0.3.1" @@ -39436,19 +37822,6 @@ hexo-filter-github-emojis@arturi/hexo-filter-github-emojis: languageName: node linkType: hard -"strong-log-transformer@npm:^2.1.0": - version: 2.1.0 - resolution: "strong-log-transformer@npm:2.1.0" - dependencies: - duplexer: ^0.1.1 - minimist: ^1.2.0 - through: ^2.3.4 - bin: - sl-log-transformer: bin/sl-log-transformer.js - checksum: abf9a4ac143118f26c3a0771b204b02f5cf4fa80384ae158f25e02bfbff761038accc44a7f65869ccd5a5995a7f2c16b1466b83149644ba6cecd3072a8927297 - languageName: node - linkType: hard - "stubs@npm:^3.0.0": version: 3.0.0 resolution: "stubs@npm:3.0.0" @@ -40149,21 +38522,6 @@ hexo-filter-github-emojis@arturi/hexo-filter-github-emojis: languageName: node linkType: hard -"tar@npm:^4.4.12": - version: 4.4.19 - resolution: "tar@npm:4.4.19" - dependencies: - chownr: ^1.1.4 - fs-minipass: ^1.2.7 - minipass: ^2.9.0 - minizlib: ^1.3.3 - mkdirp: ^0.5.5 - safe-buffer: ^5.2.1 - yallist: ^3.1.1 - checksum: 423c8259b17f8f612cef9c96805d65f90ba9a28e19be582cd9d0fcb217038219f29b7547198e8fd617da5f436376d6a74b99827acd1238d2f49cf62330f9664e - languageName: node - linkType: hard - "tar@npm:^6.0.2, tar@npm:^6.1.0, tar@npm:^6.1.2": version: 6.1.11 resolution: "tar@npm:6.1.11" @@ -40219,13 +38577,6 @@ hexo-filter-github-emojis@arturi/hexo-filter-github-emojis: languageName: node linkType: hard -"temp-dir@npm:^1.0.0": - version: 1.0.0 - resolution: "temp-dir@npm:1.0.0" - checksum: cb2b58ddfb12efa83e939091386ad73b425c9a8487ea0095fe4653192a40d49184a771a1beba99045fbd011e389fd563122d79f54f82be86a55620667e08a6b2 - languageName: node - linkType: hard - "temp-dir@npm:^2.0.0": version: 2.0.0 resolution: "temp-dir@npm:2.0.0" @@ -40233,19 +38584,6 @@ hexo-filter-github-emojis@arturi/hexo-filter-github-emojis: languageName: node linkType: hard -"temp-write@npm:^4.0.0": - version: 4.0.0 - resolution: "temp-write@npm:4.0.0" - dependencies: - graceful-fs: ^4.1.15 - is-stream: ^2.0.0 - make-dir: ^3.0.0 - temp-dir: ^1.0.0 - uuid: ^3.3.2 - checksum: 4f94187662968b7cc9d88d7f8eeecc9e7317e26d640d2f90e833151e1049702ec6c63512d095b8bd69c09735eb5b5bfba9bb37dbed3bf2fe8b01076ffa161338 - languageName: node - linkType: hard - "temp-write@npm:^5.0.0": version: 5.0.0 resolution: "temp-write@npm:5.0.0" @@ -40423,13 +38761,6 @@ hexo-filter-github-emojis@arturi/hexo-filter-github-emojis: languageName: node linkType: hard -"text-extensions@npm:^1.0.0": - version: 1.9.0 - resolution: "text-extensions@npm:1.9.0" - checksum: 56a9962c1b62d39b2bcb369b7558ca85c1b55e554b38dfd725edcc0a1babe5815782a60c17ff6b839093b163dfebb92b804208aaaea616ec7571c8059ae0cf44 - languageName: node - linkType: hard - "text-table@npm:0.2.0, text-table@npm:^0.2.0": version: 0.2.0 resolution: "text-table@npm:0.2.0" @@ -40519,7 +38850,7 @@ hexo-filter-github-emojis@arturi/hexo-filter-github-emojis: languageName: node linkType: hard -"through2@npm:^4.0.0, through2@npm:^4.0.2": +"through2@npm:^4.0.2": version: 4.0.2 resolution: "through2@npm:4.0.2" dependencies: @@ -40538,7 +38869,7 @@ hexo-filter-github-emojis@arturi/hexo-filter-github-emojis: languageName: node linkType: hard -"through@npm:2, through@npm:>=2.2.7 <3, through@npm:^2.3.4, through@npm:^2.3.6, through@npm:^2.3.7, through@npm:^2.3.8, through@npm:~2.3.4": +"through@npm:>=2.2.7 <3, through@npm:^2.3.4, through@npm:^2.3.6, through@npm:^2.3.7, through@npm:^2.3.8, through@npm:~2.3.4": version: 2.3.8 resolution: "through@npm:2.3.8" checksum: a38c3e059853c494af95d50c072b83f8b676a9ba2818dcc5b108ef252230735c54e0185437618596c790bbba8fcdaef5b290405981ffa09dce67b1f1bf190cbd @@ -41288,13 +39619,6 @@ hexo-filter-github-emojis@arturi/hexo-filter-github-emojis: languageName: node linkType: hard -"type-fest@npm:^0.4.1": - version: 0.4.1 - resolution: "type-fest@npm:0.4.1" - checksum: 25f882d9cc2f24af7a0a529157f96dead157894c456bfbad16d48f990c43b470dfb79848e8d9c03fe1be72a7d169e44f6f3135b54628393c66a6189c5dc077f7 - languageName: node - linkType: hard - "type-fest@npm:^0.6.0": version: 0.6.0 resolution: "type-fest@npm:0.6.0" @@ -41498,13 +39822,6 @@ hexo-filter-github-emojis@arturi/hexo-filter-github-emojis: languageName: node linkType: hard -"uid-number@npm:0.0.6": - version: 0.0.6 - resolution: "uid-number@npm:0.0.6" - checksum: ff17525bb9b17313b839222efa1fe69baf136992cf675e8d1d50e9b1ef4563742968e390a96a57645d99cf8b283866c36ef9747bbf186bbbf2ef601b60ed4443 - languageName: node - linkType: hard - "uid-safe@npm:~2.1.5": version: 2.1.5 resolution: "uid-safe@npm:2.1.5" @@ -41521,13 +39838,6 @@ hexo-filter-github-emojis@arturi/hexo-filter-github-emojis: languageName: node linkType: hard -"umask@npm:^1.1.0": - version: 1.1.0 - resolution: "umask@npm:1.1.0" - checksum: 5f7fd555aed41bb359eb45a8cfd72a79ddc67208e43ee3f7396c6b6c4066eacec8ec2b7b5f0572315229c9c05cfe90447463c6e8efa1f35b56540b36399199cf - languageName: node - linkType: hard - "umd@npm:^3.0.0, umd@npm:^3.0.3": version: 3.0.3 resolution: "umd@npm:3.0.3" @@ -42186,13 +40496,6 @@ hexo-filter-github-emojis@arturi/hexo-filter-github-emojis: languageName: node linkType: hard -"upath@npm:^2.0.1": - version: 2.0.1 - resolution: "upath@npm:2.0.1" - checksum: 2db04f24a03ef72204c7b969d6991abec9e2cb06fb4c13a1fd1c59bc33b46526b16c3325e55930a11ff86a77a8cbbcda8f6399bf914087028c5beae21ecdb33c - languageName: node - linkType: hard - "update-notifier@npm:^5.1.0": version: 5.1.0 resolution: "update-notifier@npm:5.1.0" @@ -42308,11 +40611,8 @@ hexo-filter-github-emojis@arturi/hexo-filter-github-emojis: fakefile: ^1.0.0 github-contributors-list: ^1.2.4 glob: ^7.1.6 - globby: ^11.0.4 isomorphic-fetch: ^3.0.0 jest: ^27.0.6 - last-commit-message: ^1.0.0 - lerna: ^4.0.0 lint-staged: ^11.0.0 mime-types: ^2.1.26 minify-stream: ^2.0.1 @@ -42649,15 +40949,6 @@ hexo-filter-github-emojis@arturi/hexo-filter-github-emojis: languageName: node linkType: hard -"util-promisify@npm:^2.1.0": - version: 2.1.0 - resolution: "util-promisify@npm:2.1.0" - dependencies: - object.getownpropertydescriptors: ^2.0.3 - checksum: 75e74c46213e49e8d6a85cef942dcbfd8abf2389e789eddfde10e354349778cfca36fe33fa7c74a3ff1c7170462a7f856d5471bd69b06eb37a69362ffe21434e - languageName: node - linkType: hard - "util.promisify@npm:1.0.0": version: 1.0.0 resolution: "util.promisify@npm:1.0.0" @@ -42834,7 +41125,7 @@ hexo-filter-github-emojis@arturi/hexo-filter-github-emojis: languageName: node linkType: hard -"validate-npm-package-license@npm:^3.0.1, validate-npm-package-license@npm:^3.0.4": +"validate-npm-package-license@npm:^3.0.1": version: 3.0.4 resolution: "validate-npm-package-license@npm:3.0.4" dependencies: @@ -43417,7 +41708,7 @@ hexo-filter-github-emojis@arturi/hexo-filter-github-emojis: languageName: node linkType: hard -"wcwidth@npm:^1.0.0, wcwidth@npm:^1.0.1": +"wcwidth@npm:^1.0.1": version: 1.0.1 resolution: "wcwidth@npm:1.0.1" dependencies: @@ -43440,6 +41731,13 @@ hexo-filter-github-emojis@arturi/hexo-filter-github-emojis: languageName: node linkType: hard +"web-streams-polyfill@npm:^3.0.3": + version: 3.2.0 + resolution: "web-streams-polyfill@npm:3.2.0" + checksum: e23ad0649392fa0159dbfc6bb27474c308c3f332d9078cfef3c06c154165bef18732c5814126147c6c712f604216ddc950c171c854e3821f020e0d2d721a5958 + languageName: node + linkType: hard + "webdriver-js-extender@npm:2.1.0": version: 2.1.0 resolution: "webdriver-js-extender@npm:2.1.0" @@ -43947,7 +42245,7 @@ hexo-filter-github-emojis@arturi/hexo-filter-github-emojis: languageName: node linkType: hard -"whatwg-url@npm:^8.0.0, whatwg-url@npm:^8.4.0, whatwg-url@npm:^8.5.0": +"whatwg-url@npm:^8.0.0, whatwg-url@npm:^8.5.0": version: 8.7.0 resolution: "whatwg-url@npm:8.7.0" dependencies: @@ -44173,7 +42471,7 @@ hexo-filter-github-emojis@arturi/hexo-filter-github-emojis: languageName: node linkType: hard -"write-file-atomic@npm:^2.0.0, write-file-atomic@npm:^2.3.0, write-file-atomic@npm:^2.4.2": +"write-file-atomic@npm:^2.0.0, write-file-atomic@npm:^2.3.0": version: 2.4.3 resolution: "write-file-atomic@npm:2.4.3" dependencies: @@ -44196,45 +42494,6 @@ hexo-filter-github-emojis@arturi/hexo-filter-github-emojis: languageName: node linkType: hard -"write-json-file@npm:^3.2.0": - version: 3.2.0 - resolution: "write-json-file@npm:3.2.0" - dependencies: - detect-indent: ^5.0.0 - graceful-fs: ^4.1.15 - make-dir: ^2.1.0 - pify: ^4.0.1 - sort-keys: ^2.0.0 - write-file-atomic: ^2.4.2 - checksum: 2b97ce2027d53c28a33e4a8e7b0d565faf785988b3776f9e0c68d36477c1fb12639fd0d70877d92a861820707966c62ea9c5f7a36a165d615fd47ca8e24c8371 - languageName: node - linkType: hard - -"write-json-file@npm:^4.3.0": - version: 4.3.0 - resolution: "write-json-file@npm:4.3.0" - dependencies: - detect-indent: ^6.0.0 - graceful-fs: ^4.1.15 - is-plain-obj: ^2.0.0 - make-dir: ^3.0.0 - sort-keys: ^4.0.0 - write-file-atomic: ^3.0.0 - checksum: 33908c591923dc273e6574e7c0e2df157acfcf498e3a87c5615ced006a465c4058877df6abce6fc1acd2844fa3cf4518ace4a34d5d82ab28bcf896317ba1db6f - languageName: node - linkType: hard - -"write-pkg@npm:^4.0.0": - version: 4.0.0 - resolution: "write-pkg@npm:4.0.0" - dependencies: - sort-keys: ^2.0.0 - type-fest: ^0.4.1 - write-json-file: ^3.2.0 - checksum: 7864d44370f42a6761f6898d07ee2818c7a2faad45116580cf779f3adaf94e4bea5557612533a6c421c32323253ecb63b50615094960a637aeaef5df0fd2d6cd - languageName: node - linkType: hard - "write@npm:1.0.3": version: 1.0.3 resolution: "write@npm:1.0.3" @@ -44494,7 +42753,7 @@ hexo-filter-github-emojis@arturi/hexo-filter-github-emojis: languageName: node linkType: hard -"yallist@npm:^3.0.0, yallist@npm:^3.0.2, yallist@npm:^3.1.1": +"yallist@npm:^3.0.2": version: 3.1.1 resolution: "yallist@npm:3.1.1" checksum: 48f7bb00dc19fc635a13a39fe547f527b10c9290e7b3e836b9a8f1ca04d4d342e85714416b3c2ab74949c9c66f9cebb0473e6bc353b79035356103b47641285d