diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 00000000000..203f3c889b1 --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,6 @@ +version: 2 +updates: +- package-ecosystem: "github-actions" + directory: "/" + schedule: + interval: "weekly" diff --git a/.github/workflows/auto-close-fixed-issues.yml b/.github/workflows/auto-close-fixed-issues.yml index d9987212619..8947ef4c6bd 100644 --- a/.github/workflows/auto-close-fixed-issues.yml +++ b/.github/workflows/auto-close-fixed-issues.yml @@ -1,5 +1,5 @@ -# This action will automatically close issues fixed in -# pull requests that doesn't target the default branch. +# Automatically close issues fixed in pull requests that doesn't target the default branch. + name: 🚫 Auto Close Fixed Issues on: pull_request_target: diff --git a/.github/workflows/auto-comment.yml b/.github/workflows/auto-comment.yml index 3685decf45e..de6abf7e737 100644 --- a/.github/workflows/auto-comment.yml +++ b/.github/workflows/auto-comment.yml @@ -1,3 +1,5 @@ +# Comment on issues/PRs on certain events (currently not used at all.) + name: 💬 Auto Comment on: [issues, pull_request_target] jobs: diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 16704e6636b..f3a98956fad 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -1,3 +1,5 @@ +# Continuous integration. + name: 👷 CI on: pull_request_target: @@ -13,19 +15,19 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - node-version: [12.x] + node-version: [16.x] steps: - name: ⤵️ Checkout - uses: actions/checkout@v2 + uses: actions/checkout@v3 - name: 🎉 Use Node.js ${{ matrix.node-version }} - uses: actions/setup-node@v1 + uses: actions/setup-node@v3 with: node-version: ${{ matrix.node-version }} - name: 🌱 Get Cache Directory id: yarn-cache-dir-path run: echo "::set-output name=dir::$(yarn cache dir)" - name: 🚸 Setup Cache - uses: actions/cache@v2 + uses: actions/cache@v3 with: path: ${{ steps.yarn-cache-dir-path.outputs.dir }} key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }} @@ -49,19 +51,19 @@ jobs: github-token: ${{ env.bot_token }} path-to-lcov: ./packages/x6/test/coverage/lcov.info - name: 💡 Codecov(x6) - uses: codecov/codecov-action@v1 + uses: codecov/codecov-action@v3 with: token: ${{ secrets.CODECOV_TOKEN }} files: ./packages/x6/test/coverage/lcov.info flags: x6 - name: 💡 Codecov(x6-vector) - uses: codecov/codecov-action@v1 + uses: codecov/codecov-action@v3 with: token: ${{ secrets.CODECOV_TOKEN }} files: ./packages/x6-vector/test/coverage/lcov.info flags: x6-vector - name: 💡 Codecov(x6-geometry) - uses: codecov/codecov-action@v1 + uses: codecov/codecov-action@v3 with: token: ${{ secrets.CODECOV_TOKEN }} files: ./packages/x6-geometry/test/coverage/lcov.info diff --git a/.github/workflows/create-issue-branch.yml b/.github/workflows/create-issue-branch.yml index a96479732d4..fce4c9ed56e 100644 --- a/.github/workflows/create-issue-branch.yml +++ b/.github/workflows/create-issue-branch.yml @@ -1,3 +1,6 @@ +# Create a new branch dedicated to a specific issue +# (may be superseded by GitHub functionalities) + name: 🚧 Create Issue Branch on: issue_comment: @@ -6,7 +9,7 @@ jobs: cib: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - uses: wow-actions/use-app-token@v1 with: app_id: ${{ secrets.APP_ID }} diff --git a/.github/workflows/delete-stale-releases.yml b/.github/workflows/delete-stale-releases.yml index 15e83836dff..483d6ef1a5b 100644 --- a/.github/workflows/delete-stale-releases.yml +++ b/.github/workflows/delete-stale-releases.yml @@ -1,3 +1,5 @@ +# Delete all but the last x GitHub releases for certain packages. + name: 🚫 Delete Stale Releases on: repository_dispatch: @@ -6,7 +8,7 @@ jobs: clean: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - uses: wow-actions/use-app-token@v1 with: app_id: ${{ secrets.APP_ID }} diff --git a/.github/workflows/deploy-sites.yml b/.github/workflows/deploy-sites.yml index 5710b5d674a..466ba5108bd 100644 --- a/.github/workflows/deploy-sites.yml +++ b/.github/workflows/deploy-sites.yml @@ -1,3 +1,5 @@ +# Build and deploy updated official site to GitHub pages. + name: 🚀 Deploy Sites on: repository_dispatch: @@ -7,12 +9,12 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - node-version: [12.x] + node-version: [16.x] steps: - name: ⤵️ Checkout - uses: actions/checkout@v2 + uses: actions/checkout@v3 - name: 🎉 Use Node.js ${{ matrix.node-version }} - uses: actions/setup-node@v1 + uses: actions/setup-node@v3 with: node-version: ${{ matrix.node-version }} @@ -21,7 +23,7 @@ jobs: run: echo "::set-output name=dir::$(yarn cache dir)" - name: 🚸 Setup Cache - uses: actions/cache@v2 + uses: actions/cache@v3 with: path: ${{ steps.yarn-cache-dir-path.outputs.dir }} key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }} @@ -30,7 +32,7 @@ jobs: ## cache webpack(babel-loader, eslint-loader) - name: 💩 Setup Webpack Cache - uses: actions/cache@v2 + uses: actions/cache@v3 with: path: | node_modules @@ -41,7 +43,7 @@ jobs: ## cache sites - name: 💩 Setup Sites Cache - uses: actions/cache@v2 + uses: actions/cache@v3 with: path: sites/x6-sites/static/demos key: ${{ runner.os }}-sites-${{ hashFiles('./packages/x6/package.json', './sites/x6-sites-demos/**/src') }} diff --git a/.github/workflows/gitleaks.yml b/.github/workflows/gitleaks.yml index 96d8ef72572..4e61d0f7a0c 100644 --- a/.github/workflows/gitleaks.yml +++ b/.github/workflows/gitleaks.yml @@ -1,3 +1,5 @@ +# https://github.com/gitleaks/gitleaks-action + name: 🥤 GitLeaks on: pull_request_target: @@ -10,7 +12,7 @@ jobs: gitleaks: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 with: fetch-depth: '1' - name: wget @@ -18,4 +20,4 @@ jobs: with: args: -O .gitleaks.toml https://raw.githubusercontent.com/ycjcl868/gitleaks/master/.gitleaks.toml - name: gitleaks-action - uses: zricethezav/gitleaks-action@master + uses: zricethezav/gitleaks-action@v1.6.0 diff --git a/.github/workflows/label-commands.yml b/.github/workflows/label-commands.yml index ba8be4e5b22..afb492470c7 100644 --- a/.github/workflows/label-commands.yml +++ b/.github/workflows/label-commands.yml @@ -1,3 +1,8 @@ +# Perform certain actions when labels are added to +# or removed from issues. +# +# See .github/workflows/config/label-commands.yml + name: 👾 Label Commands on: pull_request_target: diff --git a/.github/workflows/lock.yml b/.github/workflows/lock.yml index 512cb0c95da..3cb401fd7e1 100644 --- a/.github/workflows/lock.yml +++ b/.github/workflows/lock.yml @@ -1,3 +1,6 @@ +# Locks closed issues and pull requests after a period of inactivity. +# https://github.com/dessant/lock-threads + name: ⛔️ Lock Threads on: schedule: @@ -11,7 +14,7 @@ jobs: app_id: ${{ secrets.APP_ID }} private_key: ${{ secrets.PRIVATE_KEY }} env_name: bot_token - - uses: dessant/lock-threads@v2 + - uses: dessant/lock-threads@v3 with: github-token: ${{ env.bot_token }} issue-lock-inactive-days: 365 diff --git a/.github/workflows/needs-more-info.yml b/.github/workflows/needs-more-info.yml index 798f12e170e..f94a156738c 100644 --- a/.github/workflows/needs-more-info.yml +++ b/.github/workflows/needs-more-info.yml @@ -1,3 +1,6 @@ +# Request more info from newly opened issues/PRs that contain either default title/body or whose body is left blank +# https://github.com/wow-actions/needs-more-info + name: 🚨 Needs More Info on: pull_request_target: diff --git a/.github/workflows/potential-duplicates.yml b/.github/workflows/potential-duplicates.yml index 6e22fc81b19..e3cafcdaca5 100644 --- a/.github/workflows/potential-duplicates.yml +++ b/.github/workflows/potential-duplicates.yml @@ -1,3 +1,6 @@ +# Search for potential issue duplicates using Damerau–Levenshtein algorithm +# https://github.com/wow-actions/potential-duplicates + name: 🆖 Potential Duplicates on: issues: diff --git a/.github/workflows/pr-label-branch-name.yml b/.github/workflows/pr-label-branch-name.yml index 685c572319c..195c8fe7d5d 100644 --- a/.github/workflows/pr-label-branch-name.yml +++ b/.github/workflows/pr-label-branch-name.yml @@ -1,3 +1,6 @@ +# Automatically apply labels to your PRs based on branch name patterns like feature/* or fix/* +# https://github.com/TimonVS/pr-labeler-action + name: 🏷️ Label(Branch Name) on: pull_request_target: @@ -11,7 +14,7 @@ jobs: app_id: ${{ secrets.APP_ID }} private_key: ${{ secrets.PRIVATE_KEY }} env_name: bot_token - - uses: TimonVS/pr-labeler-action@v3 + - uses: TimonVS/pr-labeler-action@v4 with: configuration-path: .github/workflows/config/pr-label-branch-name.yml env: diff --git a/.github/workflows/pr-label-file-paths.yml b/.github/workflows/pr-label-file-paths.yml index d9eac424f40..6fe74808a3a 100644 --- a/.github/workflows/pr-label-file-paths.yml +++ b/.github/workflows/pr-label-file-paths.yml @@ -1,3 +1,6 @@ +# Label a PR according to the packages it involves, based on changed files +# and the rules defined in .github/workflows/config/pr-label-file-paths.yml + name: 🏷️ Label(File Paths) on: pull_request_target jobs: @@ -9,7 +12,7 @@ jobs: app_id: ${{ secrets.APP_ID }} private_key: ${{ secrets.PRIVATE_KEY }} env_name: bot_token - - uses: actions/labeler@v2 + - uses: actions/labeler@v4 with: repo-token: ${{ env.bot_token }} configuration-path: .github/workflows/config/pr-label-file-paths.yml diff --git a/.github/workflows/pr-label-patch-size.yml b/.github/workflows/pr-label-patch-size.yml index a95fca5403d..98bda62ffa4 100644 --- a/.github/workflows/pr-label-patch-size.yml +++ b/.github/workflows/pr-label-patch-size.yml @@ -1,10 +1,12 @@ +# Assign labels based on pull request change sizes. + name: 🏷️ Label(Patch Size) on: pull_request_target jobs: label: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - uses: wow-actions/use-app-token@v1 with: app_id: ${{ secrets.APP_ID }} diff --git a/.github/workflows/pr-label-status-dummy.yml b/.github/workflows/pr-label-status-dummy.yml index dc1209c3222..645f57b087a 100644 --- a/.github/workflows/pr-label-status-dummy.yml +++ b/.github/workflows/pr-label-status-dummy.yml @@ -1,9 +1,16 @@ +# Automatically label a PR depending on the PR's status (springboard) + name: 🏷️ Label(Status) Dummy on: pull_request_review: types: [submitted, dismissed] +permissions: + contents: read + jobs: dummy: + permissions: + contents: none runs-on: ubuntu-latest steps: - run: echo "this is a dummy workflow that triggers a workflow_run; it's necessary because otherwise the repo secrets will not be in scope for externally forked pull requests" diff --git a/.github/workflows/pr-label-status.yml b/.github/workflows/pr-label-status.yml index 48b1f6021ba..d69d943477a 100644 --- a/.github/workflows/pr-label-status.yml +++ b/.github/workflows/pr-label-status.yml @@ -1,3 +1,5 @@ +# Automatically label a PR depending on the PR's status + name: 🏷️ Label(Status) on: pull_request_target: @@ -17,4 +19,4 @@ jobs: - uses: wow-actions/pr-triage@v1 with: GITHUB_TOKEN: ${{ env.bot_token }} - WORKFLOW-ID: ${{ github.event.workflow_run.id }} + WORKFLOW_ID: ${{ github.event.workflow_run.id }} diff --git a/.github/workflows/pr-label-title-body.yml b/.github/workflows/pr-label-title-body.yml index 70992381ec8..b22b6ef9132 100644 --- a/.github/workflows/pr-label-title-body.yml +++ b/.github/workflows/pr-label-title-body.yml @@ -1,5 +1,6 @@ -# Github action for automatically adding label or setting assignee when a new -# Issue or PR is opened. https://github.com/marketplace/actions/issue-labeler +# Automatically add labels or setting assignees when a new issue or PR is opened, +# based on its title and body. +# https://github.com/marketplace/actions/issue-labeler name: 🏷️ Label(Title and Body) on: @@ -16,7 +17,7 @@ jobs: app_id: ${{ secrets.APP_ID }} private_key: ${{ secrets.PRIVATE_KEY }} env_name: bot_token - - uses: Naturalclar/issue-action@v2.0.1 + - uses: Naturalclar/issue-action@v2.0.2 with: title-or-body: title github-token: ${{ env.bot_token }} diff --git a/.github/workflows/preview.yml b/.github/workflows/preview.yml index cca3cb55dd9..21d116d0d2b 100644 --- a/.github/workflows/preview.yml +++ b/.github/workflows/preview.yml @@ -1,3 +1,5 @@ +# https://github.com/afc163/surge-preview + name: 🔂 Surge PR Preview on: pull_request_target: @@ -11,16 +13,16 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - node-version: [12.x] + node-version: [16.x] steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - name: 🌱 Get yarn cache directory path id: yarn-cache-dir-path run: echo "::set-output name=dir::$(yarn cache dir)" - name: 🚸 Setup yarn cacha - uses: actions/cache@v2 + uses: actions/cache@v3 with: path: ${{ steps.yarn-cache-dir-path.outputs.dir }} key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }} @@ -29,7 +31,7 @@ jobs: ## cache webpack(babel-loader, eslint-loader) - name: 💩 Setup webpack cache - uses: actions/cache@v2 + uses: actions/cache@v3 with: path: | node_modules @@ -40,7 +42,7 @@ jobs: ## cache sites - name: 💩 Setup sites cache - uses: actions/cache@v2 + uses: actions/cache@v3 with: path: sites/x6-sites/static/demos key: ${{ runner.os }}-sites-${{ hashFiles('./packages/x6/package.json', './sites/x6-sites-demos/**/src') }} @@ -48,7 +50,7 @@ jobs: ${{ runner.os }}-sites- - name: 🎉 Use Node.js ${{ matrix.node-version }} - uses: actions/setup-node@v1 + uses: actions/setup-node@v3 with: node-version: ${{ matrix.node-version }} diff --git a/.github/workflows/rebase.yml b/.github/workflows/rebase.yml index d3be8b6b24f..60bf341f857 100644 --- a/.github/workflows/rebase.yml +++ b/.github/workflows/rebase.yml @@ -1,3 +1,5 @@ +# Automatically rebase PRs via the /rebase command + name: 🎉 Rebase on: issue_comment: @@ -7,7 +9,7 @@ jobs: if: github.event.issue.pull_request != '' && contains(github.event.comment.body, '/rebase') runs-on: ubuntu-latest steps: - - uses: actions/checkout@master + - uses: actions/checkout@v3 with: fetch-depth: 0 - uses: wow-actions/use-app-token@v1 diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 717e5a1dd73..f2df873601b 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -1,4 +1,8 @@ -# @see: https://dev.to/antongolub/the-chronicles-of-semantic-release-and-monorepos-5cfc +# Create new GitHub releases using scripts/monorepo-semantic-release +# and the semantic-release package. +# +# See https://www.npmjs.com/package/semantic-release +# See https://dev.to/antongolub/the-chronicles-of-semantic-release-and-monorepos-5cfc name: 🚀 Release on: @@ -14,19 +18,19 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - node-version: [12.x] + node-version: [16.x] steps: - name: ⤵️ Checkout - uses: actions/checkout@v2 + uses: actions/checkout@v3 - name: 🎉 Use Node.js ${{ matrix.node-version }} - uses: actions/setup-node@v1 + uses: actions/setup-node@v3 with: node-version: ${{ matrix.node-version }} - name: 🌱 Get Cache Directory id: yarn-cache-dir-path run: echo "::set-output name=dir::$(yarn cache dir)" - name: 🚸 Setup Cache - uses: actions/cache@v2 + uses: actions/cache@v3 with: path: ${{ steps.yarn-cache-dir-path.outputs.dir }} key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }} @@ -60,7 +64,7 @@ jobs: - name: 🔀 Repository Dispatch if: github.ref == 'refs/heads/master' - uses: peter-evans/repository-dispatch@v1 + uses: peter-evans/repository-dispatch@v2 with: token: ${{ env.bot_token }} event-type: released diff --git a/.github/workflows/slash-commands.yml b/.github/workflows/slash-commands.yml index b89a569a7b8..f9cdd11c405 100644 --- a/.github/workflows/slash-commands.yml +++ b/.github/workflows/slash-commands.yml @@ -1,3 +1,5 @@ +# https://github.com/wow-actions/slash-commands + name: 🔱 Slash Commands on: issue_comment: diff --git a/.github/workflows/stale.yml b/.github/workflows/stale.yml index be88d8b9efc..554158144b2 100644 --- a/.github/workflows/stale.yml +++ b/.github/workflows/stale.yml @@ -1,3 +1,5 @@ +# Warn and then close issues and PRs that have had no activity for a specified amount of time. + name: 👻 Stale on: schedule: @@ -11,7 +13,7 @@ jobs: app_id: ${{ secrets.APP_ID }} private_key: ${{ secrets.PRIVATE_KEY }} env_name: bot_token - - uses: actions/stale@v3 + - uses: actions/stale@v5 with: repo-token: ${{ env.bot_token }} stale-issue-message: | diff --git a/.github/workflows/sync-labels.yml b/.github/workflows/sync-labels.yml index fc82281389d..99bdca1958a 100644 --- a/.github/workflows/sync-labels.yml +++ b/.github/workflows/sync-labels.yml @@ -1,3 +1,5 @@ +# Update issue labels in repo as defined in /.github/workflows/config/labels.yml + name: 🔄 Sync Labels on: push: @@ -9,7 +11,7 @@ jobs: sync: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - uses: wow-actions/use-app-token@v1 with: app_id: ${{ secrets.APP_ID }} diff --git a/.github/workflows/sync-to-gitee.yml b/.github/workflows/sync-to-gitee.yml index 5a0bcade331..12862fc78c1 100644 --- a/.github/workflows/sync-to-gitee.yml +++ b/.github/workflows/sync-to-gitee.yml @@ -1,3 +1,5 @@ +# Sync repo to https://gitee.com/ +# # https://github.com/marketplace/actions/gitee-pages-action # 配置步骤如下 # 1. 在命令行终端或 Git Bash 使用命令 ssh-keygen -t rsa -C "youremail@example.com" 生成 SSH Key,注意替换为自己的邮箱。生成的 id_rsa 是私钥,id_rsa.pub 是公钥。(⚠️注意此处不要设置密码) diff --git a/.github/workflows/update-authors.yml b/.github/workflows/update-authors.yml index c6b7813f63c..f05843bbdef 100644 --- a/.github/workflows/update-authors.yml +++ b/.github/workflows/update-authors.yml @@ -1,3 +1,5 @@ +# Automatically generate and update AUTHORS.txt. + name: 🎗 Update Authors on: push: @@ -9,7 +11,7 @@ jobs: authors: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 with: fetch-depth: 0 - uses: wow-actions/use-app-token@v1 diff --git a/.github/workflows/update-cache.yaml b/.github/workflows/update-cache.yaml index 697efa6e3b3..cfbc7f71f75 100644 --- a/.github/workflows/update-cache.yaml +++ b/.github/workflows/update-cache.yaml @@ -1,4 +1,5 @@ -# Auto update cahe +# Cache dependencies and build outputs to improve workflow execution time. +# https://github.com/actions/cache name: 🌈 Update Cache on: @@ -10,17 +11,20 @@ on: - next-major - alpha - beta +permissions: + contents: read + jobs: cache: runs-on: ubuntu-latest strategy: matrix: - node-version: [12.x] + node-version: [16.x] steps: - name: ⤵️ Checkout - uses: actions/checkout@v2 + uses: actions/checkout@v3 - name: 🎉 Use Node.js ${{ matrix.node-version }} - uses: actions/setup-node@v1 + uses: actions/setup-node@v3 with: node-version: ${{ matrix.node-version }} - name: 🌱 Get Cache Directory @@ -28,7 +32,7 @@ jobs: run: echo "::set-output name=dir::$(yarn cache dir)" - name: 🚸 Setup Cache id: cache - uses: actions/cache@v2 + uses: actions/cache@v3 with: path: ${{ steps.yarn-cache-dir-path.outputs.dir }} key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }} diff --git a/.github/workflows/update-contributors.yml b/.github/workflows/update-contributors.yml index 1cad397d205..dce1f068752 100644 --- a/.github/workflows/update-contributors.yml +++ b/.github/workflows/update-contributors.yml @@ -1,3 +1,5 @@ +# Update /CONTRIBUTORS.svg to include new contributors' avatars. + name: 🤝 Update Contributors on: schedule: diff --git a/.github/workflows/update-license.yml b/.github/workflows/update-license.yml index e1767f18df9..01cdfa4d944 100644 --- a/.github/workflows/update-license.yml +++ b/.github/workflows/update-license.yml @@ -1,3 +1,5 @@ +# Renew the copyright notice in LICENSE at the beginning of every year. + name: 🔑 Update License on: schedule: @@ -6,7 +8,7 @@ jobs: update: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 with: fetch-depth: 0 - uses: wow-actions/use-app-token@v1 diff --git a/.github/workflows/welcome.yml b/.github/workflows/welcome.yml index dac32a99fdd..74f19a509e5 100644 --- a/.github/workflows/welcome.yml +++ b/.github/workflows/welcome.yml @@ -1,3 +1,5 @@ +# Comment a welcome message on an issue if it's the reporter's first issue. + name: 👋 Welcome on: pull_request_target: diff --git a/AUTHORS b/AUTHORS index b53ebe1a23c..6db42e235c4 100644 --- a/AUTHORS +++ b/AUTHORS @@ -1,4 +1,5 @@ BARM <284942955@qq.com> +Candy <563378816@qq.com> Chaoqi Clifford DaiGang <42136433+daigang666@users.noreply.github.com> @@ -6,11 +7,18 @@ Dong <48054715+halodong@users.noreply.github.com> Draco Eve-Sama <17764594863@163.com> Eve-Sama <948832626@qq.com> +Gossypol <31892817+gossypol@users.noreply.github.com> ImgBotApp +Indomi James Jógvan Ken +Lixu <37231473+wflixu@users.noreply.github.com> +Lloyd Lyn <47809781+lyn-boyu@users.noreply.github.com> +Mingfei +MrMengJ <2646973632@qq.com> +Naveen <172697+naveensrinivasan@users.noreply.github.com> NewByVector Olive.Wang Opportunity @@ -18,18 +26,24 @@ Questions RuiLin SSC <273702440@qq.com> Sindori <441933726@qq.com> +Susan <527971893@qq.com> Tony <> Utopia XLZY <1017866168@qq.com> +Xingjian Zhenyu +arthur657834 boyu.zlj breezefaith bubkoo bubkoo budlion +cuidong626 daigang <1210242662@qq.com> doublewu <592581554@qq.com> iceytea +jiqili <43718732+jiqili@users.noreply.github.com> +kelin.zrh <34393362+AricZhu@users.noreply.github.com> kingshuaishuai kio <1421104933@qq.com> lijing666 @@ -37,17 +51,24 @@ lopn luchunwei luzhuang <364439895@qq.com> lvhuiyang +myzxlin +newbyvector niexq <1879633916@qq.com> niexq pengxingjian.pxj +pfdgithub qingchi +qu <33251372+Qujh97@users.noreply.github.com> +sallen450 semantic-release-bot vector wgf <34190465+evelope@users.noreply.github.com> +wind <> wjqsummer <52412389+wjqsummer@users.noreply.github.com> wtzeng1 x6-bot xrkffgg +yaojin2070 <48686959+yaojin2070@users.noreply.github.com> zdc1111 <39116292+zdc1111@users.noreply.github.com> 九思⚡⚡⚡ <2228429150@qq.com> 何腾飞 @@ -57,6 +78,7 @@ zdc1111 <39116292+zdc1111@users.noreply.github.com> 文瑀 杨凌 <89915256@qq.com> 柏愚 +粑粑超 <842486229@qq.com> 金强强 问崖 问崖 diff --git a/CONTRIBUTORS.svg b/CONTRIBUTORS.svg index 05c9ffca1e2..fe33ff5d3bb 100644 --- a/CONTRIBUTORS.svg +++ b/CONTRIBUTORS.svg @@ -1,7 +1,7 @@ - + - + @@ -12,115 +12,181 @@ + + + + + + + + + - + - + - + - + + + + + + + - + + + + + + + - + - + + + + + + + - + + + + + + + - + - + - + - - + + - + - + - + - + + + + - + - + + + + - + - + - + - + - - + + - + - + + + + - + + + + - + - + - - + + - - + + - - + + + + + - + + + + + + + + + + - - + + + + + + + + - + + + + - + - - + + - + \ No newline at end of file diff --git a/README.en-us.md b/README.en-us.md index 53ec482c9c4..34e193cdb79 100644 --- a/README.en-us.md +++ b/README.en-us.md @@ -160,9 +160,7 @@ graph.addEdge({ Welcome to join the **X6 Communication Group** (Scan the QR Code to Join us). We also welcome the github [issues](https://github.com/antvis/x6/issues). - X6 图可视化交流群1 - X6 图可视化交流群2 - X6 图可视化交流群3 + X6 图可视化交流群4 ## Development diff --git a/README.md b/README.md index 97157256093..839092d078a 100644 --- a/README.md +++ b/README.md @@ -76,7 +76,7 @@ $ yarn add @antv/x6 ```ts // 从 node_modules 引入 import { Graph } from '@antv/x6' -// 从 CND 引入时,我们暴露了 X6 这个全局变量 +// 从 CDN 引入时,我们暴露了 X6 这个全局变量 // const { Graph } = X6 // 创建 Graph 的实例 @@ -121,7 +121,7 @@ graph.addEdge({ - [基础教程](https://x6.antv.vision/zh/docs/tutorial/basic/graph) - [进阶实践](https://x6.antv.vision/zh/docs/tutorial/intermediate/serialization) - [高级指引](https://x6.antv.vision/zh/docs/tutorial/advanced/animation) -- [更新日志](https://x6.antv.vision/zh/docs/tutorial/log) +- [更新日志](https://www.yuque.com/antv/x6/xgb04i) ## 应用案例 @@ -165,9 +165,7 @@ graph.addEdge({ 需要注意的是,提问题时请配上 [CodeSandbox](https://codesandbox.io/s/pensive-sound-f4nhc) 的复现代码,方便快速定位和解决问题。 - X6 图可视化交流群1 - X6 图可视化交流群2 - X6 图可视化交流群3 + X6 图可视化交流群4 ## 如何开发 diff --git a/configs/package-json/CHANGELOG.md b/configs/package-json/CHANGELOG.md index a7c4aaa1bcf..fe2ebfd9b3f 100644 --- a/configs/package-json/CHANGELOG.md +++ b/configs/package-json/CHANGELOG.md @@ -1,3 +1,11 @@ +## @antv/x6-package-json [1.0.2](https://github.com/antvis/x6/compare/@antv/x6-package-json@1.0.1...@antv/x6-package-json@1.0.2) (2022-06-07) + +## @antv/x6-package-json [1.0.2](https://github.com/antvis/x6/compare/@antv/x6-package-json@1.0.1...@antv/x6-package-json@1.0.2) (2022-06-06) + +## @antv/x6-package-json [1.0.2](https://github.com/antvis/x6/compare/@antv/x6-package-json@1.0.1...@antv/x6-package-json@1.0.2) (2022-06-05) + +## @antv/x6-package-json [1.0.2](https://github.com/antvis/x6/compare/@antv/x6-package-json@1.0.1...@antv/x6-package-json@1.0.2) (2022-05-31) + ## @antv/x6-package-json [1.0.1](https://github.com/antvis/x6/compare/@antv/x6-package-json@1.0.0...@antv/x6-package-json@1.0.1) (2021-11-14) ## @antv/x6-package-json [1.0.1](https://github.com/antvis/x6/compare/@antv/x6-package-json@1.0.0...@antv/x6-package-json@1.0.1) (2021-11-08) diff --git a/configs/package-json/package.json b/configs/package-json/package.json index 8e8a29a05cf..1aa09de7522 100644 --- a/configs/package-json/package.json +++ b/configs/package-json/package.json @@ -1,7 +1,7 @@ { "private": true, "name": "@antv/x6-package-json", - "version": "1.0.1", + "version": "1.0.2", "bin": { "package-compare": "./bin/package-compare.js", "package-inherit": "./bin/package-inherit.js" @@ -73,7 +73,7 @@ "chalk": "^4.1.0", "detect-newline": "^3.1.0", "parse-package-name": "^0.1.0", - "workspace-tools": "^0.12.3", + "workspace-tools": "^0.18.4", "yargs-parser": "^20.2.7" } } diff --git a/examples/x6-app-dag/CHANGELOG.md b/examples/x6-app-dag/CHANGELOG.md index d338c703363..123ab518582 100644 --- a/examples/x6-app-dag/CHANGELOG.md +++ b/examples/x6-app-dag/CHANGELOG.md @@ -1,3 +1,119 @@ +## @antv/x6-app-dag [1.1.7](https://github.com/antvis/x6/compare/@antv/x6-app-dag@1.1.6...@antv/x6-app-dag@1.1.7) (2022-06-07) + +## @antv/x6-app-dag [1.1.7](https://github.com/antvis/x6/compare/@antv/x6-app-dag@1.1.6...@antv/x6-app-dag@1.1.7) (2022-06-06) + +## @antv/x6-app-dag [1.1.7](https://github.com/antvis/x6/compare/@antv/x6-app-dag@1.1.6...@antv/x6-app-dag@1.1.7) (2022-06-05) + +## @antv/x6-app-dag [1.1.7](https://github.com/antvis/x6/compare/@antv/x6-app-dag@1.1.6...@antv/x6-app-dag@1.1.7) (2022-05-31) + + + + + +### Dependencies + +* **@antv/x6:** upgraded to 1.32.3 + +## @antv/x6-app-dag [1.1.7](https://github.com/antvis/x6/compare/@antv/x6-app-dag@1.1.6...@antv/x6-app-dag@1.1.7) (2022-05-17) + + + + + +### Dependencies + +* **@antv/x6:** upgraded to 1.32.2 + +## @antv/x6-app-dag [1.1.7](https://github.com/antvis/x6/compare/@antv/x6-app-dag@1.1.6...@antv/x6-app-dag@1.1.7) (2022-05-16) + + + + + +### Dependencies + +* **@antv/x6:** upgraded to 1.32.1 + +## @antv/x6-app-dag [1.1.8](https://github.com/antvis/x6/compare/@antv/x6-app-dag@1.1.7...@antv/x6-app-dag@1.1.8) (2022-05-14) + + + + + +### Dependencies + +* **@antv/x6:** upgraded to 1.32.0 + +## @antv/x6-app-dag [1.1.7](https://github.com/antvis/x6/compare/@antv/x6-app-dag@1.1.6...@antv/x6-app-dag@1.1.7) (2022-05-09) + + + + + +### Dependencies + +* **@antv/x6:** upgraded to 1.31.5 + +## @antv/x6-app-dag [1.1.7](https://github.com/antvis/x6/compare/@antv/x6-app-dag@1.1.6...@antv/x6-app-dag@1.1.7) (2022-05-01) + +## @antv/x6-app-dag [1.1.7](https://github.com/antvis/x6/compare/@antv/x6-app-dag@1.1.6...@antv/x6-app-dag@1.1.7) (2022-04-26) + +## @antv/x6-app-dag [1.1.7](https://github.com/antvis/x6/compare/@antv/x6-app-dag@1.1.6...@antv/x6-app-dag@1.1.7) (2022-04-21) + + + + + +### Dependencies + +* **@antv/x6:** upgraded to 1.31.4 + +## @antv/x6-app-dag [1.1.7](https://github.com/antvis/x6/compare/@antv/x6-app-dag@1.1.6...@antv/x6-app-dag@1.1.7) (2022-04-13) + +## @antv/x6-app-dag [1.1.7](https://github.com/antvis/x6/compare/@antv/x6-app-dag@1.1.6...@antv/x6-app-dag@1.1.7) (2022-04-09) + + + + + +### Dependencies + +* **@antv/x6:** upgraded to 1.31.3 + +## @antv/x6-app-dag [1.1.7](https://github.com/antvis/x6/compare/@antv/x6-app-dag@1.1.6...@antv/x6-app-dag@1.1.7) (2022-04-09) + +## @antv/x6-app-dag [1.1.7](https://github.com/antvis/x6/compare/@antv/x6-app-dag@1.1.6...@antv/x6-app-dag@1.1.7) (2022-04-09) + + + + + +### Dependencies + +* **@antv/x6:** upgraded to 1.31.2 + +## @antv/x6-app-dag [1.1.7](https://github.com/antvis/x6/compare/@antv/x6-app-dag@1.1.6...@antv/x6-app-dag@1.1.7) (2022-04-05) + +## @antv/x6-app-dag [1.1.7](https://github.com/antvis/x6/compare/@antv/x6-app-dag@1.1.6...@antv/x6-app-dag@1.1.7) (2022-04-05) + + + + + +### Dependencies + +* **@antv/x6:** upgraded to 1.31.1 + +## @antv/x6-app-dag [1.1.7](https://github.com/antvis/x6/compare/@antv/x6-app-dag@1.1.6...@antv/x6-app-dag@1.1.7) (2022-03-23) + + + + + +### Dependencies + +* **@antv/x6:** upgraded to 1.31.0 + ## @antv/x6-app-dag [1.1.7](https://github.com/antvis/x6/compare/@antv/x6-app-dag@1.1.6...@antv/x6-app-dag@1.1.7) (2022-03-10) diff --git a/examples/x6-app-dag/package.json b/examples/x6-app-dag/package.json index 81ec39c9b72..4e4d7db465d 100644 --- a/examples/x6-app-dag/package.json +++ b/examples/x6-app-dag/package.json @@ -24,7 +24,7 @@ }, "dependencies": { "@ant-design/icons": "^4.2.1", - "@antv/x6": "^1.30.2", + "@antv/x6": "^1.32.3", "@antv/x6-react-components": "^1.1.16", "@antv/x6-react-shape": "^1.6.0", "@types/dompurify": "^2.0.4", diff --git a/examples/x6-app-draw/CHANGELOG.md b/examples/x6-app-draw/CHANGELOG.md index 36f88916170..e0b248e487d 100644 --- a/examples/x6-app-draw/CHANGELOG.md +++ b/examples/x6-app-draw/CHANGELOG.md @@ -1,3 +1,119 @@ +## @antv/x6-app-draw [1.1.6](https://github.com/antvis/x6/compare/@antv/x6-app-draw@1.1.5...@antv/x6-app-draw@1.1.6) (2022-06-07) + +## @antv/x6-app-draw [1.1.6](https://github.com/antvis/x6/compare/@antv/x6-app-draw@1.1.5...@antv/x6-app-draw@1.1.6) (2022-06-06) + +## @antv/x6-app-draw [1.1.6](https://github.com/antvis/x6/compare/@antv/x6-app-draw@1.1.5...@antv/x6-app-draw@1.1.6) (2022-06-05) + +## @antv/x6-app-draw [1.1.6](https://github.com/antvis/x6/compare/@antv/x6-app-draw@1.1.5...@antv/x6-app-draw@1.1.6) (2022-05-31) + + + + + +### Dependencies + +* **@antv/x6:** upgraded to 1.32.3 + +## @antv/x6-app-draw [1.1.6](https://github.com/antvis/x6/compare/@antv/x6-app-draw@1.1.5...@antv/x6-app-draw@1.1.6) (2022-05-17) + + + + + +### Dependencies + +* **@antv/x6:** upgraded to 1.32.2 + +## @antv/x6-app-draw [1.1.6](https://github.com/antvis/x6/compare/@antv/x6-app-draw@1.1.5...@antv/x6-app-draw@1.1.6) (2022-05-16) + + + + + +### Dependencies + +* **@antv/x6:** upgraded to 1.32.1 + +## @antv/x6-app-draw [1.1.7](https://github.com/antvis/x6/compare/@antv/x6-app-draw@1.1.6...@antv/x6-app-draw@1.1.7) (2022-05-14) + + + + + +### Dependencies + +* **@antv/x6:** upgraded to 1.32.0 + +## @antv/x6-app-draw [1.1.6](https://github.com/antvis/x6/compare/@antv/x6-app-draw@1.1.5...@antv/x6-app-draw@1.1.6) (2022-05-09) + + + + + +### Dependencies + +* **@antv/x6:** upgraded to 1.31.5 + +## @antv/x6-app-draw [1.1.6](https://github.com/antvis/x6/compare/@antv/x6-app-draw@1.1.5...@antv/x6-app-draw@1.1.6) (2022-05-01) + +## @antv/x6-app-draw [1.1.6](https://github.com/antvis/x6/compare/@antv/x6-app-draw@1.1.5...@antv/x6-app-draw@1.1.6) (2022-04-26) + +## @antv/x6-app-draw [1.1.6](https://github.com/antvis/x6/compare/@antv/x6-app-draw@1.1.5...@antv/x6-app-draw@1.1.6) (2022-04-21) + + + + + +### Dependencies + +* **@antv/x6:** upgraded to 1.31.4 + +## @antv/x6-app-draw [1.1.6](https://github.com/antvis/x6/compare/@antv/x6-app-draw@1.1.5...@antv/x6-app-draw@1.1.6) (2022-04-13) + +## @antv/x6-app-draw [1.1.6](https://github.com/antvis/x6/compare/@antv/x6-app-draw@1.1.5...@antv/x6-app-draw@1.1.6) (2022-04-09) + + + + + +### Dependencies + +* **@antv/x6:** upgraded to 1.31.3 + +## @antv/x6-app-draw [1.1.6](https://github.com/antvis/x6/compare/@antv/x6-app-draw@1.1.5...@antv/x6-app-draw@1.1.6) (2022-04-09) + +## @antv/x6-app-draw [1.1.6](https://github.com/antvis/x6/compare/@antv/x6-app-draw@1.1.5...@antv/x6-app-draw@1.1.6) (2022-04-09) + + + + + +### Dependencies + +* **@antv/x6:** upgraded to 1.31.2 + +## @antv/x6-app-draw [1.1.6](https://github.com/antvis/x6/compare/@antv/x6-app-draw@1.1.5...@antv/x6-app-draw@1.1.6) (2022-04-05) + +## @antv/x6-app-draw [1.1.6](https://github.com/antvis/x6/compare/@antv/x6-app-draw@1.1.5...@antv/x6-app-draw@1.1.6) (2022-04-05) + + + + + +### Dependencies + +* **@antv/x6:** upgraded to 1.31.1 + +## @antv/x6-app-draw [1.1.6](https://github.com/antvis/x6/compare/@antv/x6-app-draw@1.1.5...@antv/x6-app-draw@1.1.6) (2022-03-23) + + + + + +### Dependencies + +* **@antv/x6:** upgraded to 1.31.0 + ## @antv/x6-app-draw [1.1.6](https://github.com/antvis/x6/compare/@antv/x6-app-draw@1.1.5...@antv/x6-app-draw@1.1.6) (2022-03-10) diff --git a/examples/x6-app-draw/package.json b/examples/x6-app-draw/package.json index e5d000d6368..5890863afff 100644 --- a/examples/x6-app-draw/package.json +++ b/examples/x6-app-draw/package.json @@ -9,7 +9,7 @@ "precommit": "lint-staged" }, "dependencies": { - "@antv/x6": "^1.30.2", + "@antv/x6": "^1.32.3", "@antv/x6-react-components": "^1.1.16", "antd": "^4.4.2", "react": "^16.8.6", diff --git a/examples/x6-app-er/CHANGELOG.md b/examples/x6-app-er/CHANGELOG.md index ea2837a4454..b26436cb1e6 100644 --- a/examples/x6-app-er/CHANGELOG.md +++ b/examples/x6-app-er/CHANGELOG.md @@ -1,3 +1,119 @@ +## @antv/x6-app-er [1.1.7](https://github.com/antvis/x6/compare/@antv/x6-app-er@1.1.6...@antv/x6-app-er@1.1.7) (2022-06-07) + +## @antv/x6-app-er [1.1.7](https://github.com/antvis/x6/compare/@antv/x6-app-er@1.1.6...@antv/x6-app-er@1.1.7) (2022-06-06) + +## @antv/x6-app-er [1.1.7](https://github.com/antvis/x6/compare/@antv/x6-app-er@1.1.6...@antv/x6-app-er@1.1.7) (2022-06-05) + +## @antv/x6-app-er [1.1.7](https://github.com/antvis/x6/compare/@antv/x6-app-er@1.1.6...@antv/x6-app-er@1.1.7) (2022-05-31) + + + + + +### Dependencies + +* **@antv/x6:** upgraded to 1.32.3 + +## @antv/x6-app-er [1.1.7](https://github.com/antvis/x6/compare/@antv/x6-app-er@1.1.6...@antv/x6-app-er@1.1.7) (2022-05-17) + + + + + +### Dependencies + +* **@antv/x6:** upgraded to 1.32.2 + +## @antv/x6-app-er [1.1.7](https://github.com/antvis/x6/compare/@antv/x6-app-er@1.1.6...@antv/x6-app-er@1.1.7) (2022-05-16) + + + + + +### Dependencies + +* **@antv/x6:** upgraded to 1.32.1 + +## @antv/x6-app-er [1.1.8](https://github.com/antvis/x6/compare/@antv/x6-app-er@1.1.7...@antv/x6-app-er@1.1.8) (2022-05-14) + + + + + +### Dependencies + +* **@antv/x6:** upgraded to 1.32.0 + +## @antv/x6-app-er [1.1.7](https://github.com/antvis/x6/compare/@antv/x6-app-er@1.1.6...@antv/x6-app-er@1.1.7) (2022-05-09) + + + + + +### Dependencies + +* **@antv/x6:** upgraded to 1.31.5 + +## @antv/x6-app-er [1.1.7](https://github.com/antvis/x6/compare/@antv/x6-app-er@1.1.6...@antv/x6-app-er@1.1.7) (2022-05-01) + +## @antv/x6-app-er [1.1.7](https://github.com/antvis/x6/compare/@antv/x6-app-er@1.1.6...@antv/x6-app-er@1.1.7) (2022-04-26) + +## @antv/x6-app-er [1.1.7](https://github.com/antvis/x6/compare/@antv/x6-app-er@1.1.6...@antv/x6-app-er@1.1.7) (2022-04-21) + + + + + +### Dependencies + +* **@antv/x6:** upgraded to 1.31.4 + +## @antv/x6-app-er [1.1.7](https://github.com/antvis/x6/compare/@antv/x6-app-er@1.1.6...@antv/x6-app-er@1.1.7) (2022-04-13) + +## @antv/x6-app-er [1.1.7](https://github.com/antvis/x6/compare/@antv/x6-app-er@1.1.6...@antv/x6-app-er@1.1.7) (2022-04-09) + + + + + +### Dependencies + +* **@antv/x6:** upgraded to 1.31.3 + +## @antv/x6-app-er [1.1.7](https://github.com/antvis/x6/compare/@antv/x6-app-er@1.1.6...@antv/x6-app-er@1.1.7) (2022-04-09) + +## @antv/x6-app-er [1.1.7](https://github.com/antvis/x6/compare/@antv/x6-app-er@1.1.6...@antv/x6-app-er@1.1.7) (2022-04-09) + + + + + +### Dependencies + +* **@antv/x6:** upgraded to 1.31.2 + +## @antv/x6-app-er [1.1.7](https://github.com/antvis/x6/compare/@antv/x6-app-er@1.1.6...@antv/x6-app-er@1.1.7) (2022-04-05) + +## @antv/x6-app-er [1.1.7](https://github.com/antvis/x6/compare/@antv/x6-app-er@1.1.6...@antv/x6-app-er@1.1.7) (2022-04-05) + + + + + +### Dependencies + +* **@antv/x6:** upgraded to 1.31.1 + +## @antv/x6-app-er [1.1.7](https://github.com/antvis/x6/compare/@antv/x6-app-er@1.1.6...@antv/x6-app-er@1.1.7) (2022-03-23) + + + + + +### Dependencies + +* **@antv/x6:** upgraded to 1.31.0 + ## @antv/x6-app-er [1.1.7](https://github.com/antvis/x6/compare/@antv/x6-app-er@1.1.6...@antv/x6-app-er@1.1.7) (2022-03-10) diff --git a/examples/x6-app-er/package.json b/examples/x6-app-er/package.json index f5a4adbfffa..d6b75354e0c 100644 --- a/examples/x6-app-er/package.json +++ b/examples/x6-app-er/package.json @@ -22,7 +22,7 @@ ] }, "dependencies": { - "@antv/x6": "^1.30.2", + "@antv/x6": "^1.32.3", "@antv/x6-react-components": "^1.1.16", "@antv/x6-react-shape": "^1.6.0", "antd": "^4.4.2", diff --git a/examples/x6-example-features/CHANGELOG.md b/examples/x6-example-features/CHANGELOG.md index 1b4fd86c437..ad687e639b4 100644 --- a/examples/x6-example-features/CHANGELOG.md +++ b/examples/x6-example-features/CHANGELOG.md @@ -1,3 +1,318 @@ +## @antv/x6-example-features [1.2.2](https://github.com/antvis/x6/compare/@antv/x6-example-features@1.2.1...@antv/x6-example-features@1.2.2) (2022-06-07) + + +### Bug Fixes + +* 🐛 optimize contextmenu tools ([#1391](https://github.com/antvis/x6/issues/1391)) ([cc01fdf](https://github.com/antvis/x6/commit/cc01fdf208f4fbd283a6ce3d7a106716e8e10300)) +* 🐛 update x6-react-shape version ([#1425](https://github.com/antvis/x6/issues/1425)) ([4208846](https://github.com/antvis/x6/commit/4208846337326d8983f1662faa8da67efd8568b4)) + + +### Performance Improvements + +* ⚡️ add simple config to remove rect and text element ([#1449](https://github.com/antvis/x6/issues/1449)) ([0b5f241](https://github.com/antvis/x6/commit/0b5f2413f0b907316784149027615ae2d09616a4)) + +## @antv/x6-example-features [1.2.2](https://github.com/antvis/x6/compare/@antv/x6-example-features@1.2.1...@antv/x6-example-features@1.2.2) (2022-06-06) + + +### Bug Fixes + +* 🐛 optimize contextmenu tools ([#1391](https://github.com/antvis/x6/issues/1391)) ([cc01fdf](https://github.com/antvis/x6/commit/cc01fdf208f4fbd283a6ce3d7a106716e8e10300)) +* 🐛 update x6-react-shape version ([#1425](https://github.com/antvis/x6/issues/1425)) ([4208846](https://github.com/antvis/x6/commit/4208846337326d8983f1662faa8da67efd8568b4)) + + +### Performance Improvements + +* ⚡️ add simple config to remove rect and text element ([#1449](https://github.com/antvis/x6/issues/1449)) ([0b5f241](https://github.com/antvis/x6/commit/0b5f2413f0b907316784149027615ae2d09616a4)) + +## @antv/x6-example-features [1.2.2](https://github.com/antvis/x6/compare/@antv/x6-example-features@1.2.1...@antv/x6-example-features@1.2.2) (2022-06-05) + + +### Bug Fixes + +* 🐛 optimize contextmenu tools ([#1391](https://github.com/antvis/x6/issues/1391)) ([cc01fdf](https://github.com/antvis/x6/commit/cc01fdf208f4fbd283a6ce3d7a106716e8e10300)) +* 🐛 update x6-react-shape version ([#1425](https://github.com/antvis/x6/issues/1425)) ([4208846](https://github.com/antvis/x6/commit/4208846337326d8983f1662faa8da67efd8568b4)) + + +### Performance Improvements + +* ⚡️ add simple config to remove rect and text element ([#1449](https://github.com/antvis/x6/issues/1449)) ([0b5f241](https://github.com/antvis/x6/commit/0b5f2413f0b907316784149027615ae2d09616a4)) + +## @antv/x6-example-features [1.2.2](https://github.com/antvis/x6/compare/@antv/x6-example-features@1.2.1...@antv/x6-example-features@1.2.2) (2022-05-31) + + +### Bug Fixes + +* 🐛 optimize contextmenu tools ([#1391](https://github.com/antvis/x6/issues/1391)) ([cc01fdf](https://github.com/antvis/x6/commit/cc01fdf208f4fbd283a6ce3d7a106716e8e10300)) +* 🐛 update x6-react-shape version ([#1425](https://github.com/antvis/x6/issues/1425)) ([4208846](https://github.com/antvis/x6/commit/4208846337326d8983f1662faa8da67efd8568b4)) + + +### Performance Improvements + +* ⚡️ add simple config to remove rect and text element ([#1449](https://github.com/antvis/x6/issues/1449)) ([0b5f241](https://github.com/antvis/x6/commit/0b5f2413f0b907316784149027615ae2d09616a4)) + + + + + +### Dependencies + +* **@antv/x6:** upgraded to 1.32.3 + +## @antv/x6-example-features [1.2.2](https://github.com/antvis/x6/compare/@antv/x6-example-features@1.2.1...@antv/x6-example-features@1.2.2) (2022-05-17) + + +### Bug Fixes + +* 🐛 optimize contextmenu tools ([#1391](https://github.com/antvis/x6/issues/1391)) ([cc01fdf](https://github.com/antvis/x6/commit/cc01fdf208f4fbd283a6ce3d7a106716e8e10300)) +* 🐛 update x6-react-shape version ([#1425](https://github.com/antvis/x6/issues/1425)) ([4208846](https://github.com/antvis/x6/commit/4208846337326d8983f1662faa8da67efd8568b4)) + + +### Performance Improvements + +* ⚡️ add simple config to remove rect and text element ([#1449](https://github.com/antvis/x6/issues/1449)) ([0b5f241](https://github.com/antvis/x6/commit/0b5f2413f0b907316784149027615ae2d09616a4)) + + + + + +### Dependencies + +* **@antv/x6:** upgraded to 1.32.2 + +## @antv/x6-example-features [1.2.2](https://github.com/antvis/x6/compare/@antv/x6-example-features@1.2.1...@antv/x6-example-features@1.2.2) (2022-05-16) + + +### Bug Fixes + +* 🐛 optimize contextmenu tools ([#1391](https://github.com/antvis/x6/issues/1391)) ([cc01fdf](https://github.com/antvis/x6/commit/cc01fdf208f4fbd283a6ce3d7a106716e8e10300)) +* 🐛 update x6-react-shape version ([#1425](https://github.com/antvis/x6/issues/1425)) ([4208846](https://github.com/antvis/x6/commit/4208846337326d8983f1662faa8da67efd8568b4)) + + +### Performance Improvements + +* ⚡️ add simple config to remove rect and text element ([#1449](https://github.com/antvis/x6/issues/1449)) ([0b5f241](https://github.com/antvis/x6/commit/0b5f2413f0b907316784149027615ae2d09616a4)) + + + + + +### Dependencies + +* **@antv/x6:** upgraded to 1.32.1 +* **@antv/x6-vector:** upgraded to 1.4.0 + +## @antv/x6-example-features [1.2.3](https://github.com/antvis/x6/compare/@antv/x6-example-features@1.2.2...@antv/x6-example-features@1.2.3) (2022-05-14) + + + + + +### Dependencies + +* **@antv/x6:** upgraded to 1.32.0 +* **@antv/x6-vector:** upgraded to 1.4.0 + +## @antv/x6-example-features [1.2.2](https://github.com/antvis/x6/compare/@antv/x6-example-features@1.2.1...@antv/x6-example-features@1.2.2) (2022-05-09) + + +### Bug Fixes + +* 🐛 optimize contextmenu tools ([#1391](https://github.com/antvis/x6/issues/1391)) ([cc01fdf](https://github.com/antvis/x6/commit/cc01fdf208f4fbd283a6ce3d7a106716e8e10300)) +* 🐛 update x6-react-shape version ([#1425](https://github.com/antvis/x6/issues/1425)) ([4208846](https://github.com/antvis/x6/commit/4208846337326d8983f1662faa8da67efd8568b4)) + + +### Performance Improvements + +* ⚡️ add simple config to remove rect and text element ([#1449](https://github.com/antvis/x6/issues/1449)) ([0b5f241](https://github.com/antvis/x6/commit/0b5f2413f0b907316784149027615ae2d09616a4)) + + + + + +### Dependencies + +* **@antv/x6:** upgraded to 1.31.5 +* **@antv/x6-vector:** upgraded to 1.3.2 + +## @antv/x6-example-features [1.2.2](https://github.com/antvis/x6/compare/@antv/x6-example-features@1.2.1...@antv/x6-example-features@1.2.2) (2022-05-01) + + +### Bug Fixes + +* 🐛 optimize contextmenu tools ([#1391](https://github.com/antvis/x6/issues/1391)) ([cc01fdf](https://github.com/antvis/x6/commit/cc01fdf208f4fbd283a6ce3d7a106716e8e10300)) +* 🐛 update x6-react-shape version ([#1425](https://github.com/antvis/x6/issues/1425)) ([4208846](https://github.com/antvis/x6/commit/4208846337326d8983f1662faa8da67efd8568b4)) + + +### Performance Improvements + +* ⚡️ add simple config to remove rect and text element ([#1449](https://github.com/antvis/x6/issues/1449)) ([0b5f241](https://github.com/antvis/x6/commit/0b5f2413f0b907316784149027615ae2d09616a4)) + +## @antv/x6-example-features [1.2.2](https://github.com/antvis/x6/compare/@antv/x6-example-features@1.2.1...@antv/x6-example-features@1.2.2) (2022-04-26) + + +### Bug Fixes + +* 🐛 optimize contextmenu tools ([#1391](https://github.com/antvis/x6/issues/1391)) ([cc01fdf](https://github.com/antvis/x6/commit/cc01fdf208f4fbd283a6ce3d7a106716e8e10300)) +* 🐛 update x6-react-shape version ([#1425](https://github.com/antvis/x6/issues/1425)) ([4208846](https://github.com/antvis/x6/commit/4208846337326d8983f1662faa8da67efd8568b4)) + + +### Performance Improvements + +* ⚡️ add simple config to remove rect and text element ([#1449](https://github.com/antvis/x6/issues/1449)) ([0b5f241](https://github.com/antvis/x6/commit/0b5f2413f0b907316784149027615ae2d09616a4)) + +## @antv/x6-example-features [1.2.2](https://github.com/antvis/x6/compare/@antv/x6-example-features@1.2.1...@antv/x6-example-features@1.2.2) (2022-04-21) + + +### Bug Fixes + +* 🐛 optimize contextmenu tools ([#1391](https://github.com/antvis/x6/issues/1391)) ([cc01fdf](https://github.com/antvis/x6/commit/cc01fdf208f4fbd283a6ce3d7a106716e8e10300)) +* 🐛 update x6-react-shape version ([#1425](https://github.com/antvis/x6/issues/1425)) ([4208846](https://github.com/antvis/x6/commit/4208846337326d8983f1662faa8da67efd8568b4)) + + +### Performance Improvements + +* ⚡️ add simple config to remove rect and text element ([#1449](https://github.com/antvis/x6/issues/1449)) ([0b5f241](https://github.com/antvis/x6/commit/0b5f2413f0b907316784149027615ae2d09616a4)) + + + + + +### Dependencies + +* **@antv/x6:** upgraded to 1.31.4 + +## @antv/x6-example-features [1.2.2](https://github.com/antvis/x6/compare/@antv/x6-example-features@1.2.1...@antv/x6-example-features@1.2.2) (2022-04-13) + + +### Bug Fixes + +* 🐛 optimize contextmenu tools ([#1391](https://github.com/antvis/x6/issues/1391)) ([cc01fdf](https://github.com/antvis/x6/commit/cc01fdf208f4fbd283a6ce3d7a106716e8e10300)) +* 🐛 update x6-react-shape version ([#1425](https://github.com/antvis/x6/issues/1425)) ([4208846](https://github.com/antvis/x6/commit/4208846337326d8983f1662faa8da67efd8568b4)) + + +### Performance Improvements + +* ⚡️ add simple config to remove rect and text element ([#1449](https://github.com/antvis/x6/issues/1449)) ([0b5f241](https://github.com/antvis/x6/commit/0b5f2413f0b907316784149027615ae2d09616a4)) + +## @antv/x6-example-features [1.2.2](https://github.com/antvis/x6/compare/@antv/x6-example-features@1.2.1...@antv/x6-example-features@1.2.2) (2022-04-09) + + +### Bug Fixes + +* 🐛 optimize contextmenu tools ([#1391](https://github.com/antvis/x6/issues/1391)) ([cc01fdf](https://github.com/antvis/x6/commit/cc01fdf208f4fbd283a6ce3d7a106716e8e10300)) +* 🐛 update x6-react-shape version ([#1425](https://github.com/antvis/x6/issues/1425)) ([4208846](https://github.com/antvis/x6/commit/4208846337326d8983f1662faa8da67efd8568b4)) + + +### Performance Improvements + +* ⚡️ add simple config to remove rect and text element ([#1449](https://github.com/antvis/x6/issues/1449)) ([0b5f241](https://github.com/antvis/x6/commit/0b5f2413f0b907316784149027615ae2d09616a4)) + + + + + +### Dependencies + +* **@antv/x6:** upgraded to 1.31.3 + +## @antv/x6-example-features [1.2.2](https://github.com/antvis/x6/compare/@antv/x6-example-features@1.2.1...@antv/x6-example-features@1.2.2) (2022-04-09) + + +### Bug Fixes + +* 🐛 optimize contextmenu tools ([#1391](https://github.com/antvis/x6/issues/1391)) ([cc01fdf](https://github.com/antvis/x6/commit/cc01fdf208f4fbd283a6ce3d7a106716e8e10300)) +* 🐛 update x6-react-shape version ([#1425](https://github.com/antvis/x6/issues/1425)) ([4208846](https://github.com/antvis/x6/commit/4208846337326d8983f1662faa8da67efd8568b4)) + + +### Performance Improvements + +* ⚡️ add simple config to remove rect and text element ([#1449](https://github.com/antvis/x6/issues/1449)) ([0b5f241](https://github.com/antvis/x6/commit/0b5f2413f0b907316784149027615ae2d09616a4)) + +## @antv/x6-example-features [1.2.2](https://github.com/antvis/x6/compare/@antv/x6-example-features@1.2.1...@antv/x6-example-features@1.2.2) (2022-04-09) + + +### Bug Fixes + +* 🐛 optimize contextmenu tools ([#1391](https://github.com/antvis/x6/issues/1391)) ([cc01fdf](https://github.com/antvis/x6/commit/cc01fdf208f4fbd283a6ce3d7a106716e8e10300)) +* 🐛 update x6-react-shape version ([#1425](https://github.com/antvis/x6/issues/1425)) ([4208846](https://github.com/antvis/x6/commit/4208846337326d8983f1662faa8da67efd8568b4)) + + +### Performance Improvements + +* ⚡️ add simple config to remove rect and text element ([#1449](https://github.com/antvis/x6/issues/1449)) ([0b5f241](https://github.com/antvis/x6/commit/0b5f2413f0b907316784149027615ae2d09616a4)) + + + + + +### Dependencies + +* **@antv/x6:** upgraded to 1.31.2 + +## @antv/x6-example-features [1.2.2](https://github.com/antvis/x6/compare/@antv/x6-example-features@1.2.1...@antv/x6-example-features@1.2.2) (2022-04-05) + + +### Bug Fixes + +* 🐛 optimize contextmenu tools ([#1391](https://github.com/antvis/x6/issues/1391)) ([cc01fdf](https://github.com/antvis/x6/commit/cc01fdf208f4fbd283a6ce3d7a106716e8e10300)) +* 🐛 update x6-react-shape version ([#1425](https://github.com/antvis/x6/issues/1425)) ([4208846](https://github.com/antvis/x6/commit/4208846337326d8983f1662faa8da67efd8568b4)) + + +### Performance Improvements + +* ⚡️ add simple config to remove rect and text element ([#1449](https://github.com/antvis/x6/issues/1449)) ([0b5f241](https://github.com/antvis/x6/commit/0b5f2413f0b907316784149027615ae2d09616a4)) + + + + + +### Dependencies + +* **@antv/x6-vector:** upgraded to 1.3.1 + +## @antv/x6-example-features [1.2.2](https://github.com/antvis/x6/compare/@antv/x6-example-features@1.2.1...@antv/x6-example-features@1.2.2) (2022-04-05) + + +### Bug Fixes + +* 🐛 optimize contextmenu tools ([#1391](https://github.com/antvis/x6/issues/1391)) ([cc01fdf](https://github.com/antvis/x6/commit/cc01fdf208f4fbd283a6ce3d7a106716e8e10300)) +* 🐛 update x6-react-shape version ([#1425](https://github.com/antvis/x6/issues/1425)) ([4208846](https://github.com/antvis/x6/commit/4208846337326d8983f1662faa8da67efd8568b4)) + + +### Performance Improvements + +* ⚡️ add simple config to remove rect and text element ([#1449](https://github.com/antvis/x6/issues/1449)) ([0b5f241](https://github.com/antvis/x6/commit/0b5f2413f0b907316784149027615ae2d09616a4)) + + + + + +### Dependencies + +* **@antv/x6:** upgraded to 1.31.1 +* **@antv/x6-vector:** upgraded to 1.3.1 + +## @antv/x6-example-features [1.2.2](https://github.com/antvis/x6/compare/@antv/x6-example-features@1.2.1...@antv/x6-example-features@1.2.2) (2022-03-23) + + +### Bug Fixes + +* 🐛 optimize contextmenu tools ([#1391](https://github.com/antvis/x6/issues/1391)) ([cc01fdf](https://github.com/antvis/x6/commit/cc01fdf208f4fbd283a6ce3d7a106716e8e10300)) +* 🐛 update x6-react-shape version ([#1425](https://github.com/antvis/x6/issues/1425)) ([4208846](https://github.com/antvis/x6/commit/4208846337326d8983f1662faa8da67efd8568b4)) + + +### Performance Improvements + +* ⚡️ add simple config to remove rect and text element ([#1449](https://github.com/antvis/x6/issues/1449)) ([0b5f241](https://github.com/antvis/x6/commit/0b5f2413f0b907316784149027615ae2d09616a4)) + + + + + +### Dependencies + +* **@antv/x6:** upgraded to 1.31.0 + ## @antv/x6-example-features [1.2.2](https://github.com/antvis/x6/compare/@antv/x6-example-features@1.2.1...@antv/x6-example-features@1.2.2) (2022-03-10) diff --git a/examples/x6-example-features/package.json b/examples/x6-example-features/package.json index b991f736051..56d749f9038 100644 --- a/examples/x6-example-features/package.json +++ b/examples/x6-example-features/package.json @@ -9,10 +9,10 @@ "precommit": "lint-staged" }, "dependencies": { - "@antv/x6": "^1.30.2", + "@antv/x6": "^1.34.0", "@antv/x6-react-components": "^1.1.16", "@antv/x6-react-shape": "^1.6.0", - "@antv/x6-vector": "^1.3.0", + "@antv/x6-vector": "^1.4.0", "antd": "^4.4.2", "classnames": "^2.2.6", "dagre": "^0.8.5", diff --git a/examples/x6-example-features/src/pages/edge/tooltip.tsx b/examples/x6-example-features/src/pages/edge/tooltip.tsx deleted file mode 100644 index f02b50dcc0a..00000000000 --- a/examples/x6-example-features/src/pages/edge/tooltip.tsx +++ /dev/null @@ -1,173 +0,0 @@ -import React from 'react' -import ReactDom from 'react-dom' -import { Tooltip } from 'antd' -import { Graph, Markup, ToolsView, EdgeView } from '@antv/x6' -import '../index.less' - -class TooltipTool extends ToolsView.ToolItem { - private delay = 100 - private moveTimer: number - private enterTimer: number - private leaveTimer: number - private tooltipVisible: boolean - - protected onRender() { - this.updatePosition() - } - - private toggleTooltip(visible: boolean) { - ReactDom.unmountComponentAtNode(this.childNodes.foContent) - - if (visible) { - ReactDom.render( - -
- , - this.childNodes.foContent, - ) - } - this.tooltipVisible = visible - } - - private updatePosition(e?: MouseEvent) { - const fo = this.childNodes.fo as SVGForeignObjectElement - if (e) { - const pos = this.graph.clientToLocal(e.clientX, e.clientY) - fo.setAttribute('x', `${pos.x}`) - fo.setAttribute('y', `${pos.y}`) - } else { - fo.setAttribute('x', `-10000`) - fo.setAttribute('y', `-10000`) - } - } - - private onMouseEnter({ e }: EdgeView.EventArgs['edge:mouseenter']) { - this.updatePosition(e.originalEvent) - window.clearTimeout(this.leaveTimer) - this.enterTimer = window.setTimeout( - () => this.toggleTooltip(true), - this.delay, - ) - if (this.options.follow != false) { - document.addEventListener('mousemove', this.onMouseMove) - } - } - - private onMouseLeave() { - this.updatePosition() - window.clearTimeout(this.enterTimer) - this.leaveTimer = window.setTimeout( - () => this.toggleTooltip(false), - this.delay, - ) - if (this.options.follow != false) { - document.removeEventListener('mousemove', this.onMouseMove) - } - } - - private onMouseMove = (e: MouseEvent) => { - window.clearTimeout(this.moveTimer) - window.clearTimeout(this.enterTimer) - this.updatePosition(e) - this.moveTimer = window.setTimeout(() => { - if (this.tooltipVisible) { - this.toggleTooltip(false) - } - this.toggleTooltip(true) - }, this.delay) - } - - delegateEvents() { - this.cellView.on('edge:mouseenter', this.onMouseEnter, this) - this.cellView.on('edge:mouseleave', this.onMouseLeave, this) - return super.delegateEvents() - } - - protected onRemove() { - this.cellView.off('edge:mouseenter', this.onMouseEnter, this) - this.cellView.off('edge:mouseleave', this.onMouseLeave, this) - } -} - -namespace TooltipTool { - TooltipTool.config({ - markup: Markup.getForeignObjectMarkup(), - }) - - export interface Options extends ToolsView.ToolItem.Options { - follow?: boolean - tooltip?: string - } -} - -Graph.registerEdgeTool('tooltip', TooltipTool, true) - -export default class Example extends React.Component { - private container: HTMLDivElement - - componentDidMount() { - const graph = new Graph({ - container: this.container, - width: 800, - height: 400, - grid: true, - }) - - graph.addEdge({ - source: { x: 40, y: 40 }, - target: { x: 380, y: 40 }, - vertices: [ - { x: 40, y: 80 }, - { x: 200, y: 80 }, - { x: 200, y: 40 }, - ], - attrs: { - line: { - stroke: '#3c4260', - strokeWidth: 2, - targetMarker: 'classic', - }, - }, - tools: [ - { - name: 'tooltip', - args: { follow: false, tooltip: 'tooltip test 1' }, - }, - ], - }) - - graph.addEdge({ - source: { x: 40, y: 160 }, - target: { x: 380, y: 160 }, - vertices: [ - { x: 40, y: 200 }, - { x: 200, y: 200 }, - { x: 200, y: 160 }, - ], - attrs: { - line: { - stroke: '#3c4260', - strokeWidth: 2, - targetMarker: 'classic', - }, - }, - connector: 'smooth', - tools: { - name: 'tooltip', - args: { follow: true, tooltip: 'tooltip test 2' }, - }, - }) - } - - refContainer = (container: HTMLDivElement) => { - this.container = container - } - - render() { - return ( -
-
-
- ) - } -} diff --git a/examples/x6-example-features/src/pages/react/portal.tsx b/examples/x6-example-features/src/pages/react/portal.tsx index 889c1a9157c..3335a12fa3c 100644 --- a/examples/x6-example-features/src/pages/react/portal.tsx +++ b/examples/x6-example-features/src/pages/react/portal.tsx @@ -1,21 +1,16 @@ -import React from 'react' +import React, { memo, useEffect, useRef, useState } from 'react' import { Graph, Node, Color } from '@antv/x6' -import { Portal } from '@antv/x6-react-shape' +import { Portal, ReactShape } from '@antv/x6-react-shape' import '../index.less' -class MyComponent extends React.Component<{ node?: Node; text: string }> { - shouldComponentUpdate() { - const node = this.props.node - if (node) { - if (node.hasChanged('data')) { - return true - } - } - - return false - } +// You should do this outside your components +// (or make sure its not recreated on every render). +// +// 这个调用需要在组件外进行。 +const X6ReactPortalProvider = Portal.getProvider() - render() { +const MyComponent = memo( + ({ node, text }: { node?: ReactShape; text: string }) => { const color = Color.randomHex() return (
{ background: color, }} > - {this.props.text} + {text}
) - } -} + }, + (prev, next) => { + return Boolean(next.node?.hasChanged('data')) + }, +) + +export default () => { + const container = useRef(null) -export default class Example extends React.Component { - private container: HTMLDivElement + useEffect(() => { + if (!container.current) { + return + } - componentDidMount() { const graph = new Graph({ - container: this.container, + container: container.current, width: 800, height: 600, }) @@ -61,7 +63,7 @@ export default class Example extends React.Component { y: 320, width: 160, height: 60, - component: (node) => { + component: (node: Node) => { return
{node.attr('body/fill')}
}, // component: () => , @@ -80,19 +82,18 @@ export default class Example extends React.Component { update() console.log(graph.toJSON()) - } + return () => graph.dispose() + }, []) - refContainer = (container: HTMLDivElement) => { - this.container = container - } + const [counter, setCounter] = useState(0) - render() { - const X6ReactPortalProvider = Portal.getProvider() - return ( -
- -
-
- ) - } + return ( +
+ + +
+
+ ) } diff --git a/examples/x6-example-features/src/pages/tools/tooltip.tsx b/examples/x6-example-features/src/pages/tools/tooltip.tsx index f1e88ec164f..9026c3848cc 100644 --- a/examples/x6-example-features/src/pages/tools/tooltip.tsx +++ b/examples/x6-example-features/src/pages/tools/tooltip.tsx @@ -17,18 +17,20 @@ class TooltipTool extends ToolsView.ToolItem { } private toggleTooltip(visible: boolean) { - ReactDom.unmountComponentAtNode(this.knob) - if (visible) { - ReactDom.render( - -
- , - this.knob, - ) + if (this.knob) { + ReactDom.unmountComponentAtNode(this.knob) + if (visible) { + ReactDom.render( + +
+ , + this.knob, + ) + } } } @@ -69,6 +71,7 @@ class TooltipTool extends ToolsView.ToolItem { } protected onRemove() { + this.toggleTooltip(false) this.cellView.off('cell:mouseenter', this.onMosueEnter, this) this.cellView.off('cell:mouseleave', this.onMouseLeave, this) this.cellView.off('cell:mousemove', this.onMouseMove, this) diff --git a/examples/x6-example-features/src/pages/undo/index.tsx b/examples/x6-example-features/src/pages/undo/index.tsx index f67192d191c..695c8c785ab 100644 --- a/examples/x6-example-features/src/pages/undo/index.tsx +++ b/examples/x6-example-features/src/pages/undo/index.tsx @@ -1,6 +1,8 @@ -import React from 'react' import { Button } from 'antd' +import React from 'react' + import { Graph } from '@antv/x6' + import '../index.less' export default class Example extends React.Component< @@ -22,10 +24,13 @@ export default class Example extends React.Component< height: 600, grid: true, history: true, + embedding: { + enabled: true, + }, }) this.history = graph.history - this.history.on('change', () => { + this.history.on('change', (info) => { this.setState({ canRedo: this.history.canRedo(), canUndo: this.history.canUndo(), @@ -62,6 +67,21 @@ export default class Example extends React.Component< }, }) + graph.addNode({ + x: 400, + y: 100, + width: 150, + height: 150, + attrs: { + label: { + text: '🌎', + }, + body: { + strokeWidth: 1, + }, + }, + }) + graph.addEdge({ source, target, arrts: { line: { strokeWidth: 1 } } }) } diff --git a/package.json b/package.json index 6ffd7a005f1..b7bc53e2da4 100644 --- a/package.json +++ b/package.json @@ -26,7 +26,9 @@ "package:check": "yarn package-inherit check", "package:inherit": "yarn package-inherit update", "prepare": "is-ci || husky install configs/husky-config", - "precommit": "yarn lint-staged && lerna run --concurrency 1 --stream precommit" + "precommit": "yarn lint-staged && lerna run --concurrency 1 --stream precommit", + "version": "lerna version --no-private", + "publish:latest": "lerna publish from-package --no-private --ignore-scripts" }, "lint-staged": { "**/*.{js,jsx,tsx,ts,less,md,json}": [ diff --git a/packages/x6-angular-shape/CHANGELOG.md b/packages/x6-angular-shape/CHANGELOG.md index dd2352d862d..3c43a615522 100644 --- a/packages/x6-angular-shape/CHANGELOG.md +++ b/packages/x6-angular-shape/CHANGELOG.md @@ -1,3 +1,5 @@ +## @antv/x6-angular-shape [1.3.1](https://github.com/antvis/x6/compare/@antv/x6-angular-shape@1.3.0...@antv/x6-angular-shape@1.3.1) (2022-06-05) + # @antv/x6-angular-shape [1.3.0](https://github.com/antvis/x6/compare/@antv/x6-angular-shape@1.2.0...@antv/x6-angular-shape@1.3.0) (2022-01-11) diff --git a/packages/x6-angular-shape/package.json b/packages/x6-angular-shape/package.json index d9d88924010..16245575cbf 100644 --- a/packages/x6-angular-shape/package.json +++ b/packages/x6-angular-shape/package.json @@ -1,6 +1,6 @@ { "name": "@antv/x6-angular-shape", - "version": "1.3.0", + "version": "1.3.1", "description": "X6 shape for rendering angular components.", "main": "lib/index.js", "module": "es/index.js", @@ -54,7 +54,7 @@ "devDependencies": { "@angular/cdk": "^10.2.3", "@angular/common": "^10.2.3", - "@angular/core": "^10.2.3", + "@angular/core": "^11.0.5", "@rollup/plugin-commonjs": "^20.0.0", "@rollup/plugin-node-resolve": "^13.0.4", "@rollup/plugin-replace": "^3.0.0", diff --git a/packages/x6-geometry/CHANGELOG.md b/packages/x6-geometry/CHANGELOG.md index 9039446b322..d144d470b01 100644 --- a/packages/x6-geometry/CHANGELOG.md +++ b/packages/x6-geometry/CHANGELOG.md @@ -1,3 +1,17 @@ +## @antv/x6-geometry [1.0.12](https://github.com/antvis/x6/compare/@antv/x6-geometry@1.0.11...@antv/x6-geometry@1.0.12) (2022-05-16) + + +### Bug Fixes + +* remove the browserslist configuration in package.json ([#2084](https://github.com/antvis/x6/issues/2084)) ([de59617](https://github.com/antvis/x6/commit/de59617532cb20c0103ac701f44f2d0509b782e0)) + +## @antv/x6-geometry [1.0.12](https://github.com/antvis/x6/compare/@antv/x6-geometry@1.0.11...@antv/x6-geometry@1.0.12) (2022-05-09) + + +### Bug Fixes + +* remove the browserslist configuration in package.json ([#2084](https://github.com/antvis/x6/issues/2084)) ([de59617](https://github.com/antvis/x6/commit/de59617532cb20c0103ac701f44f2d0509b782e0)) + ## @antv/x6-geometry [1.0.11](https://github.com/antvis/x6/compare/@antv/x6-geometry@1.0.10...@antv/x6-geometry@1.0.11) (2021-11-14) # @antv/x6-geometry 1.0.0 (2021-11-11) diff --git a/packages/x6-geometry/package.json b/packages/x6-geometry/package.json index 718f37fda4d..aa2254585af 100644 --- a/packages/x6-geometry/package.json +++ b/packages/x6-geometry/package.json @@ -1,5 +1,5 @@ { - "version": "1.0.11", + "version": "1.0.12", "name": "@antv/x6-geometry", "description": "Some useful geometry operations.", "main": "lib/index.js", @@ -91,11 +91,6 @@ "tslib": "^2.3.1", "typescript": "^4.4.3" }, - "browserslist": [ - "last 2 versions", - "Firefox ESR", - "> 1%" - ], "author": { "name": "bubkoo", "email": "bubkoo.wy@gmail.com" diff --git a/packages/x6-geometry/src/version.ts b/packages/x6-geometry/src/version.ts index 95d4fd14175..99d256ff981 100644 --- a/packages/x6-geometry/src/version.ts +++ b/packages/x6-geometry/src/version.ts @@ -3,5 +3,5 @@ /** * Auto generated version file, do not modify it! */ -const version = '1.0.8' +const version = '1.0.12' export { version } diff --git a/packages/x6-react-components/package.json b/packages/x6-react-components/package.json index 636c6bb2ba6..1cf3756e92e 100644 --- a/packages/x6-react-components/package.json +++ b/packages/x6-react-components/package.json @@ -1,6 +1,6 @@ { "name": "@antv/x6-react-components", - "version": "1.1.16", + "version": "1.1.18", "description": "React components for building x6 editors", "main": "lib/index.js", "module": "es/index.js", @@ -71,7 +71,7 @@ "rc-dropdown": "^3.0.0-alpha.0", "rc-util": "^4.15.7", "react-color": "2.17.1", - "react-resize-detector": "^6.6.4", + "react-resize-detector": "^7.0.0", "ua-parser-js": "^0.7.20" }, "devDependencies": { diff --git a/packages/x6-react-shape/package.json b/packages/x6-react-shape/package.json index 26135c5daaf..9573394f986 100644 --- a/packages/x6-react-shape/package.json +++ b/packages/x6-react-shape/package.json @@ -1,6 +1,6 @@ { "name": "@antv/x6-react-shape", - "version": "1.6.0", + "version": "1.6.2", "description": "X6 shape for rendering react components.", "main": "lib/index.js", "module": "es/index.js", @@ -10,7 +10,8 @@ "files": [ "dist", "es", - "lib" + "lib", + "src" ], "keywords": [ "shape", diff --git a/packages/x6-react-shape/src/view.ts b/packages/x6-react-shape/src/view.ts index 2bd3303b73d..9cd924c4e93 100644 --- a/packages/x6-react-shape/src/view.ts +++ b/packages/x6-react-shape/src/view.ts @@ -57,30 +57,6 @@ export class ReactShapeView extends NodeView { return root } - onMouseDown(e: JQuery.MouseDownEvent, x: number, y: number) { - const target = e.target as Element - const tagName = target.tagName.toLowerCase() - if (tagName === 'input') { - const type = target.getAttribute('type') - if ( - type == null || - [ - 'text', - 'password', - 'number', - 'email', - 'search', - 'tel', - 'url', - ].includes(type) - ) { - return - } - } - - super.onMouseDown(e, x, y) - } - unmount() { Portal.disconnect(this.cell.id) this.unmountReactComponent() diff --git a/packages/x6-vector/CHANGELOG.md b/packages/x6-vector/CHANGELOG.md index ad2bbd642d7..0222bf69695 100644 --- a/packages/x6-vector/CHANGELOG.md +++ b/packages/x6-vector/CHANGELOG.md @@ -1,3 +1,43 @@ +# @antv/x6-vector [1.4.0](https://github.com/antvis/x6/compare/@antv/x6-vector@1.3.1...@antv/x6-vector@1.4.0) (2022-05-16) + + +### Bug Fixes + +* remove the browserslist configuration in package.json ([#2084](https://github.com/antvis/x6/issues/2084)) ([de59617](https://github.com/antvis/x6/commit/de59617532cb20c0103ac701f44f2d0509b782e0)) + + +### Features + +* ✨ unified minimap interaction between scroller and panning ([#2109](https://github.com/antvis/x6/issues/2109)) ([3c7c06a](https://github.com/antvis/x6/commit/3c7c06ac30b48d563cbfa5dca298789ac6ea1ba2)) + +# @antv/x6-vector [1.4.0](https://github.com/antvis/x6/compare/@antv/x6-vector@1.3.2...@antv/x6-vector@1.4.0) (2022-05-14) + + +### Features + +* ✨ unified minimap interaction between scroller and panning ([#2109](https://github.com/antvis/x6/issues/2109)) ([3c7c06a](https://github.com/antvis/x6/commit/3c7c06ac30b48d563cbfa5dca298789ac6ea1ba2)) + +## @antv/x6-vector [1.3.2](https://github.com/antvis/x6/compare/@antv/x6-vector@1.3.1...@antv/x6-vector@1.3.2) (2022-05-09) + + +### Bug Fixes + +* remove the browserslist configuration in package.json ([#2084](https://github.com/antvis/x6/issues/2084)) ([de59617](https://github.com/antvis/x6/commit/de59617532cb20c0103ac701f44f2d0509b782e0)) + +## @antv/x6-vector [1.3.1](https://github.com/antvis/x6/compare/@antv/x6-vector@1.3.0...@antv/x6-vector@1.3.1) (2022-04-05) + + +### Bug Fixes + +* 🐛 fix lgtm alert ([#1975](https://github.com/antvis/x6/issues/1975)) ([7440903](https://github.com/antvis/x6/commit/7440903281be9214d8cff7f69c4e44106d751422)) + +## @antv/x6-vector [1.3.1](https://github.com/antvis/x6/compare/@antv/x6-vector@1.3.0...@antv/x6-vector@1.3.1) (2022-04-05) + + +### Bug Fixes + +* 🐛 fix lgtm alert ([#1975](https://github.com/antvis/x6/issues/1975)) ([7440903](https://github.com/antvis/x6/commit/7440903281be9214d8cff7f69c4e44106d751422)) + # @antv/x6-vector [1.3.0](https://github.com/antvis/x6/compare/@antv/x6-vector@1.2.3...@antv/x6-vector@1.3.0) (2021-12-18) diff --git a/packages/x6-vector/package.json b/packages/x6-vector/package.json index 21f278683ec..77ffbfc1abc 100644 --- a/packages/x6-vector/package.json +++ b/packages/x6-vector/package.json @@ -1,5 +1,5 @@ { - "version": "1.3.0", + "version": "1.4.0", "name": "@antv/x6-vector", "description": "Lightweight library for manipulating and animating SVG.", "main": "lib/index.js", @@ -103,11 +103,6 @@ "tslib": "^2.3.1", "typescript": "^4.4.3" }, - "browserslist": [ - "last 2 versions", - "Firefox ESR", - "> 1%" - ], "author": { "name": "bubkoo", "email": "bubkoo.wy@gmail.com" diff --git a/packages/x6-vector/src/dom/common/adopter.ts b/packages/x6-vector/src/dom/common/adopter.ts index 9ea3e8ffbf0..3c9342a7b87 100644 --- a/packages/x6-vector/src/dom/common/adopter.ts +++ b/packages/x6-vector/src/dom/common/adopter.ts @@ -94,7 +94,7 @@ export namespace Adopter { // Make sure, that HTML elements are created with the correct namespace const wrapper = isHTML ? createHTMLNode('div') : createSVGNode('svg') - wrapper.innerHTML = node + wrapper.innerHTML = typeof node === 'string' ? unescape(node) : node // We can use firstChild here because we know, // that the first char is < and thus an element diff --git a/packages/x6-vector/src/global/version.ts b/packages/x6-vector/src/global/version.ts index e5c8f30a55b..e3705aece32 100644 --- a/packages/x6-vector/src/global/version.ts +++ b/packages/x6-vector/src/global/version.ts @@ -3,5 +3,5 @@ /** * Auto generated version file, do not modify it! */ -const version = '1.3.0' +const version = '1.4.0' export { version } diff --git a/packages/x6-vector/src/vector/image/image.test.ts b/packages/x6-vector/src/vector/image/image.test.ts index b9be2d227a3..379ba6b10fd 100644 --- a/packages/x6-vector/src/vector/image/image.test.ts +++ b/packages/x6-vector/src/vector/image/image.test.ts @@ -3,7 +3,8 @@ import { SVG } from '../svg/svg' import { Image } from './image' describe('Image', () => { - const url = 'http://via.placeholder.com/120x80' + const url = + 'https://gw.alipayobjects.com/mdn/rms_43231b/afts/img/A*bSBhSbhNr2QAAAAAAAAAAAAAARQnAQ' describe('constructor()', () => { it('should create an instance of Image', () => { diff --git a/packages/x6-vue-shape/CHANGELOG.md b/packages/x6-vue-shape/CHANGELOG.md index b6f237f317a..5b84e5432b0 100644 --- a/packages/x6-vue-shape/CHANGELOG.md +++ b/packages/x6-vue-shape/CHANGELOG.md @@ -1,3 +1,33 @@ +# @antv/x6-vue-shape [1.4.0](https://github.com/antvis/x6/compare/@antv/x6-vue-shape@1.3.2...@antv/x6-vue-shape@1.4.0) (2022-05-09) + + +### Features + +* vue3支持使用useTeleport ([#2078](https://github.com/antvis/x6/issues/2078)) ([b8c2175](https://github.com/antvis/x6/commit/b8c217572a696a11fc0fbad7050fffb34ab6c3af)) + + + + + +### Dependencies + +* **@antv/x6:** upgraded to 1.31.5 + +## @antv/x6-vue-shape [1.3.2](https://github.com/antvis/x6/compare/@antv/x6-vue-shape@1.3.1...@antv/x6-vue-shape@1.3.2) (2022-04-05) + + +### Bug Fixes + +* **x6-vue-shape:** 🐛 error on removing fragment node ([#1974](https://github.com/antvis/x6/issues/1974)) ([6614e4f](https://github.com/antvis/x6/commit/6614e4f83c5926d97a55db48232f58ba17f64a00)) + + + + + +### Dependencies + +* **@antv/x6:** upgraded to 1.31.1 + ## @antv/x6-vue-shape [1.3.1](https://github.com/antvis/x6/compare/@antv/x6-vue-shape@1.3.0...@antv/x6-vue-shape@1.3.1) (2022-01-12) diff --git a/packages/x6-vue-shape/README.md b/packages/x6-vue-shape/README.md index a197324da8d..253f843a436 100644 --- a/packages/x6-vue-shape/README.md +++ b/packages/x6-vue-shape/README.md @@ -26,17 +26,7 @@ graph.addNode({ y: 48, width: 180, height: 40, - component: { - template: ``, - data() { - return { - name: 'x6', - } - }, - components: { - HelloWorld, - } - }, + component: HelloWorld, }) ``` diff --git a/packages/x6-vue-shape/package.json b/packages/x6-vue-shape/package.json index 75583e6288d..d2d0051d709 100644 --- a/packages/x6-vue-shape/package.json +++ b/packages/x6-vue-shape/package.json @@ -1,6 +1,6 @@ { "name": "@antv/x6-vue-shape", - "version": "1.3.1", + "version": "1.5.2", "description": "X6 shape for rendering vue components.", "main": "lib/index.js", "module": "es/index.js", @@ -45,7 +45,7 @@ "@antv/x6-package-json/rollup.json" ], "dependencies": { - "vue-demi": "^0.7.4" + "vue-demi": "latest" }, "peerDependencies": { "@antv/x6": ">=1.0.0", diff --git a/packages/x6-vue-shape/src/index.ts b/packages/x6-vue-shape/src/index.ts index bc603eec42f..d30997393f8 100644 --- a/packages/x6-vue-shape/src/index.ts +++ b/packages/x6-vue-shape/src/index.ts @@ -3,3 +3,4 @@ import './hook' export * from './node' export * from './view' export * from './registry' +export * from './teleport' diff --git a/packages/x6-vue-shape/src/registry.ts b/packages/x6-vue-shape/src/registry.ts index e608e0f160f..844718fc6f9 100644 --- a/packages/x6-vue-shape/src/registry.ts +++ b/packages/x6-vue-shape/src/registry.ts @@ -1,14 +1,9 @@ import { Graph, Node, Registry } from '@antv/x6' +import { ComponentInstance } from 'vue-demi' -export type VueComponent = { - template: string - data?: { [key: string]: any } - components?: { [key: string]: any } - computed?: { [key: string]: any } - methods?: { [key: string]: any } -} +export declare type VueComponent = ComponentInstance -export type Definition = +export declare type Definition = | VueComponent | ((this: Graph, node: Node) => VueComponent) diff --git a/packages/x6-vue-shape/src/teleport.ts b/packages/x6-vue-shape/src/teleport.ts new file mode 100644 index 00000000000..d680bc9ba30 --- /dev/null +++ b/packages/x6-vue-shape/src/teleport.ts @@ -0,0 +1,118 @@ +import { defineComponent, h, reactive, isVue3, Vue } from 'vue-demi' +import { Graph, NodeView, Scheduler } from '@antv/x6' +import { VueShape } from './node' +import { VueShapeView } from './view' + +export function useTeleport(uniqViewId: string) { + if (isVue3) { + const { Teleport, markRaw, Fragment, VNode, VNodeData } = Vue as any + const action: any = 'vue' + + const items = reactive<{ [key: string]: any }>({}) + + const TeleportContainer = defineComponent({ + setup() { + return () => + h( + Fragment, + {}, + Object.keys(items).map((id) => h(items[id])), + ) + }, + }) + + const connect = ( + id: string, + node: VueShape, + graph: Graph, + component: any, + getContainer: () => HTMLDivElement, + ) => { + if (items[id]) { + // confirmUpdate可能导致多次调用,所以判断一下 + return + } + items[id] = markRaw( + defineComponent({ + render: () => + (getContainer() + ? h(Teleport, { to: getContainer() } as typeof VNodeData, [ + h(component, { graph, node } as any), + ]) + : null) as typeof VNode, + provide: () => ({ + getGraph: () => graph, + getNode: () => node, + }), + }), + ) + } + const disconnect = (id: string) => { + delete items[id] + } + + class VuePortalShapeView extends NodeView { + getTargetId() { + return `${this.graph.view.cid}:${this.cell.id}` + } + init() { + super.init() + const targetId = this.getTargetId() + this.cell.on('removed', () => { + disconnect(targetId) + }) + this.renderVueComponent() + } + renderVueComponent() { + const targetId = this.getTargetId() + const component = this.graph.hook.getVueComponent(this.cell) + // 这里需要将当前View的cell以及graph还有component等对象存储起来给TeleportContainer使用 + connect( + targetId, + this.cell, + this.graph, + component, + this.getComponentContainer.bind(this), + ) + } + getComponentContainer() { + return this.cell.prop('useForeignObject') === false + ? (this.selectors.content as SVGElement) + : (this.selectors.foContent as HTMLDivElement) + } + confirmUpdate(flag: any) { + const ret = super.confirmUpdate(flag) + return this.handleAction(ret, action, () => { + // 参照VueShapeView进行渲染,修复 #2505 + Scheduler.scheduleTask(() => { + this.renderVueComponent() + }) + }) + } + unmount(elem: Element) { + // 基类调用removeView的时候,会自动调用unmount + const targetId = this.getTargetId() + disconnect(targetId) + super.unmount(elem) + return this + } + } + VuePortalShapeView.config({ + bootstrap: [action], + actions: { + component: action, + }, + }) + + NodeView.registry.register(uniqViewId, VuePortalShapeView, true) + + return TeleportContainer + } + // 如果是vue2就默认输出一个警告信息 + console.warn('useTeleport should run in vue3') + // 或者拿默认的view注册一个,保证这个api是可用状态,不至于用户使用了,但是报错 + NodeView.registry.register(uniqViewId, VueShapeView, true) + return defineComponent(() => null) +} + +export default useTeleport diff --git a/packages/x6-vue-shape/src/view.ts b/packages/x6-vue-shape/src/view.ts index d1a4520da26..e8caa8aa48b 100644 --- a/packages/x6-vue-shape/src/view.ts +++ b/packages/x6-vue-shape/src/view.ts @@ -1,7 +1,6 @@ import { NodeView, Scheduler } from '@antv/x6' import { isVue2, isVue3, createApp, h, Vue2 } from 'vue-demi' import { VueShape } from './node' -import { VueComponent } from './registry' export class VueShapeView extends NodeView { private vm: any @@ -33,31 +32,28 @@ export class VueShapeView extends NodeView { const component = this.graph.hook.getVueComponent(node) if (isVue2) { const Vue = Vue2 as any - const div = document.createElement('div') - div.style.width = '100%' - div.style.height = '100%' if (typeof component === 'string') { - div.innerHTML = component - this.vm = new Vue({ el: div }) + this.vm = new Vue({ template: component }) } else { - const { template, ...other } = component as VueComponent - div.innerHTML = template this.vm = new Vue({ - el: div, + render() { + // 保留之前的provide,增加传递graph和node + return h(component as any, { graph, node } as any) + }, provide() { return { getGraph: () => graph, getNode: () => node, } }, - ...other, }) } - root.appendChild(this.vm.$el) + this.vm.$mount(root) } else if (isVue3) { this.vm = createApp({ render() { - return h(component as any) + // 保留之前的provide,增加传递graph和node + return h(component as any, { graph, node } as any) }, provide() { return { @@ -73,12 +69,12 @@ export class VueShapeView extends NodeView { protected unmountVueComponent() { const root = this.getComponentContainer() - root.innerHTML = '' if (this.vm) { isVue2 && this.vm.$destroy() isVue3 && this.vm.unmount() this.vm = null } + root.innerHTML = '' return root } diff --git a/packages/x6/CHANGELOG.md b/packages/x6/CHANGELOG.md index e153c136b29..e1c11adf435 100644 --- a/packages/x6/CHANGELOG.md +++ b/packages/x6/CHANGELOG.md @@ -1,3 +1,83 @@ +## @antv/x6 [1.32.3](https://github.com/antvis/x6/compare/@antv/x6@1.32.2...@antv/x6@1.32.3) (2022-05-31) + + +### Bug Fixes + +* :bug: Fixed the error when a node meet an invisiable node in node:embedding event ([#2129](https://github.com/antvis/x6/issues/2129)) ([6ef7f55](https://github.com/antvis/x6/commit/6ef7f55334d9415bce217c9cc5885f1bc084de92)) + +## @antv/x6 [1.32.2](https://github.com/antvis/x6/compare/@antv/x6@1.32.1...@antv/x6@1.32.2) (2022-05-17) + + +### Bug Fixes + +* 🐛 fix minimap error in after resize graph ([#2117](https://github.com/antvis/x6/issues/2117)) ([e1bb928](https://github.com/antvis/x6/commit/e1bb9289b0e5bd8106baaf88e16cbab125c5fc4e)) + +## @antv/x6 [1.32.1](https://github.com/antvis/x6/compare/@antv/x6@1.32.0...@antv/x6@1.32.1) (2022-05-16) + + +### Bug Fixes + +* 🐛 auto zoom minimap graph to fit content ([#2111](https://github.com/antvis/x6/issues/2111)) ([12e3e89](https://github.com/antvis/x6/commit/12e3e8969f35ed14acff16bf62da6ea9012137da)) + +# @antv/x6 [1.32.0](https://github.com/antvis/x6/compare/@antv/x6@1.31.5...@antv/x6@1.32.0) (2022-05-14) + + +### Features + +* ✨ unified minimap interaction between scroller and panning ([#2109](https://github.com/antvis/x6/issues/2109)) ([3c7c06a](https://github.com/antvis/x6/commit/3c7c06ac30b48d563cbfa5dca298789ac6ea1ba2)) + +## @antv/x6 [1.31.5](https://github.com/antvis/x6/compare/@antv/x6@1.31.4...@antv/x6@1.31.5) (2022-05-09) + + +### Bug Fixes + +* :bug: fix the graph function zoomTo not return the graph instance. ([#2090](https://github.com/antvis/x6/issues/2090)) ([692a4ee](https://github.com/antvis/x6/commit/692a4ee1b0c3063580e0e3433922c073cadf1880)) +* 🐛 not rerender tools when edge update ([#2095](https://github.com/antvis/x6/issues/2095)) ([26ce96f](https://github.com/antvis/x6/commit/26ce96f7a20e272b06e5044840d2393815884d87)) +* remove the browserslist configuration in package.json ([#2084](https://github.com/antvis/x6/issues/2084)) ([de59617](https://github.com/antvis/x6/commit/de59617532cb20c0103ac701f44f2d0509b782e0)) + +## @antv/x6 [1.31.4](https://github.com/antvis/x6/compare/@antv/x6@1.31.3...@antv/x6@1.31.4) (2022-04-21) + + +### Bug Fixes + +* 🐛 exclude case-sensitive-attr in kebablizeAttrs ([#2031](https://github.com/antvis/x6/issues/2031)) ([1e513ad](https://github.com/antvis/x6/commit/1e513adfdeee34c833c70eed037d26e28be33594)) + +## @antv/x6 [1.31.3](https://github.com/antvis/x6/compare/@antv/x6@1.31.2...@antv/x6@1.31.3) (2022-04-09) + + +### Bug Fixes + +* fix animationOptions type ([#1989](https://github.com/antvis/x6/issues/1989)) ([5020e92](https://github.com/antvis/x6/commit/5020e92ce8b758d1e7baeb7e3b5035142b3b6186)) + +## @antv/x6 [1.31.2](https://github.com/antvis/x6/compare/@antv/x6@1.31.1...@antv/x6@1.31.2) (2022-04-09) + + +### Bug Fixes + +* 🐛 change copystyle not include number propery when toSvg ([#1985](https://github.com/antvis/x6/issues/1985)) ([214b927](https://github.com/antvis/x6/commit/214b92704d6c6099047597110477809a4e0d900c)) +* 🐛 fix scroller resize size miscalculation when graph resize ([#1977](https://github.com/antvis/x6/issues/1977)) ([e6de636](https://github.com/antvis/x6/commit/e6de6363aea991b1984010cb8f1d90f89a25388a)) + +## @antv/x6 [1.31.1](https://github.com/antvis/x6/compare/@antv/x6@1.31.0...@antv/x6@1.31.1) (2022-04-05) + + +### Bug Fixes + +* 🐛 fix lgtm alert ([#1975](https://github.com/antvis/x6/issues/1975)) ([7440903](https://github.com/antvis/x6/commit/7440903281be9214d8cff7f69c4e44106d751422)) + +# @antv/x6 [1.31.0](https://github.com/antvis/x6/compare/@antv/x6@1.30.2...@antv/x6@1.31.0) (2022-03-23) + + +### Bug Fixes + +* 🐛 change the order of statement ([#1910](https://github.com/antvis/x6/issues/1910)) ([eff14ba](https://github.com/antvis/x6/commit/eff14baca749753a10bde0a81adfd55898cf7215)) +* 🐛 fix cellEditorOptions typo ([#1895](https://github.com/antvis/x6/issues/1895)) ([4d174d7](https://github.com/antvis/x6/commit/4d174d7807463d64ff248fe4ee1e09010bad4bfc)) + + +### Features + +* ✨ delete the new Function mode to avoid the CSP policy ([#1921](https://github.com/antvis/x6/issues/1921)) ([157b207](https://github.com/antvis/x6/commit/157b2072f35cd7d883eab95b9a874444858758e3)) +* 🐛 support click on the non-text area without adding a new label ([#1894](https://github.com/antvis/x6/issues/1894)) ([4ae1b9e](https://github.com/antvis/x6/commit/4ae1b9ef4f43b9c9f96796c5c5fa31f968b82bdf)) + ## @antv/x6 [1.30.2](https://github.com/antvis/x6/compare/@antv/x6@1.30.1...@antv/x6@1.30.2) (2022-03-10) diff --git a/packages/x6/README.md b/packages/x6/README.md index 97157256093..839092d078a 100644 --- a/packages/x6/README.md +++ b/packages/x6/README.md @@ -76,7 +76,7 @@ $ yarn add @antv/x6 ```ts // 从 node_modules 引入 import { Graph } from '@antv/x6' -// 从 CND 引入时,我们暴露了 X6 这个全局变量 +// 从 CDN 引入时,我们暴露了 X6 这个全局变量 // const { Graph } = X6 // 创建 Graph 的实例 @@ -121,7 +121,7 @@ graph.addEdge({ - [基础教程](https://x6.antv.vision/zh/docs/tutorial/basic/graph) - [进阶实践](https://x6.antv.vision/zh/docs/tutorial/intermediate/serialization) - [高级指引](https://x6.antv.vision/zh/docs/tutorial/advanced/animation) -- [更新日志](https://x6.antv.vision/zh/docs/tutorial/log) +- [更新日志](https://www.yuque.com/antv/x6/xgb04i) ## 应用案例 @@ -165,9 +165,7 @@ graph.addEdge({ 需要注意的是,提问题时请配上 [CodeSandbox](https://codesandbox.io/s/pensive-sound-f4nhc) 的复现代码,方便快速定位和解决问题。 - X6 图可视化交流群1 - X6 图可视化交流群2 - X6 图可视化交流群3 + X6 图可视化交流群4 ## 如何开发 diff --git a/packages/x6/package.json b/packages/x6/package.json index 6b1dc7d70a4..2fdc160c4c4 100644 --- a/packages/x6/package.json +++ b/packages/x6/package.json @@ -1,6 +1,6 @@ { "name": "@antv/x6", - "version": "1.30.2", + "version": "1.34.2", "description": "JavaScript diagramming library that uses SVG and HTML for rendering.", "main": "lib/index.js", "module": "es/index.js", @@ -134,11 +134,6 @@ "tslib": "^2.3.1", "typescript": "^4.4.3" }, - "browserslist": [ - "last 2 versions", - "Firefox ESR", - "> 1%" - ], "author": { "name": "bubkoo", "email": "bubkoo.wy@gmail.com" diff --git a/packages/x6/src/addon/dnd/index.ts b/packages/x6/src/addon/dnd/index.ts index f89152aa26c..48f8ed1f5c9 100644 --- a/packages/x6/src/addon/dnd/index.ts +++ b/packages/x6/src/addon/dnd/index.ts @@ -338,9 +338,15 @@ export class Dnd extends View { protected isInsideValidArea(p: Point.PointLike) { let targetRect: Rectangle + let dndRect: Rectangle | null = null const targetGraph = this.targetGraph const targetScroller = this.targetScroller + if (this.options.dndContainer) { + dndRect = this.getDropArea(this.options.dndContainer) + } + const isInsideDndRect = dndRect && dndRect.containsPoint(p) + if (targetScroller) { if (targetScroller.options.autoResize) { targetRect = this.getDropArea(targetScroller.container) @@ -354,7 +360,7 @@ export class Dnd extends View { targetRect = this.getDropArea(targetGraph.container) } - return targetRect && targetRect.containsPoint(p) + return !isInsideDndRect && targetRect && targetRect.containsPoint(p) } protected getDropArea(elem: Element) { @@ -457,6 +463,10 @@ export namespace Dnd { easing?: string } containerParent?: HTMLElement + /** + * dnd tool box container. + */ + dndContainer?: HTMLElement getDragNode: (sourceNode: Node, options: GetDragNodeOptions) => Node getDropNode: (draggingNode: Node, options: GetDropNodeOptions) => Node validateNode?: ( diff --git a/packages/x6/src/addon/minimap/index.ts b/packages/x6/src/addon/minimap/index.ts index 0afcb3d21b3..7819b8a2d37 100644 --- a/packages/x6/src/addon/minimap/index.ts +++ b/packages/x6/src/addon/minimap/index.ts @@ -2,7 +2,6 @@ import { FunctionExt } from '../../util' import { View } from '../../view/view' import { Graph } from '../../graph/graph' import { EventArgs } from '../../graph/events' -import { Point } from '../../geometry' namespace ClassName { export const root = 'widget-minimap' @@ -129,8 +128,9 @@ export class MiniMap extends View { this.updateViewport, ) } else { - this.sourceGraph.on('translate', this.onSourceGraphTransform, this) - this.sourceGraph.on('scale', this.onSourceGraphTransform, this) + this.sourceGraph.on('translate', this.onTransform, this) + this.sourceGraph.on('scale', this.onTransform, this) + this.sourceGraph.on('model:updated', this.onModelUpdated, this) } this.sourceGraph.on('resize', this.updatePaper, this) this.delegateEvents({ @@ -145,8 +145,9 @@ export class MiniMap extends View { if (this.scroller) { this.$graphContainer.off(this.getEventNamespace()) } else { - this.sourceGraph.off('translate', this.onSourceGraphTransform, this) - this.sourceGraph.off('scale', this.onSourceGraphTransform, this) + this.sourceGraph.off('translate', this.onTransform, this) + this.sourceGraph.off('scale', this.onTransform, this) + this.sourceGraph.off('model:updated', this.onModelUpdated, this) } this.sourceGraph.off('resize', this.updatePaper, this) this.undelegateEvents() @@ -158,17 +159,16 @@ export class MiniMap extends View { this.targetGraph.dispose() } - protected onSourceGraphTransform() { - if (!this.targetGraphTransforming) { - this.updatePaper( - this.sourceGraph.options.width, - this.sourceGraph.options.height, - ) - } else { + protected onTransform(options: { ui: boolean }) { + if (options.ui || this.targetGraphTransforming) { this.updateViewport() } } + protected onModelUpdated() { + this.targetGraph.zoomToFit() + } + protected updatePaper(width: number, height: number): this protected updatePaper({ width, height }: EventArgs['resize']): this protected updatePaper(w: number | EventArgs['resize'], h?: number) { @@ -200,21 +200,26 @@ export class MiniMap extends View { height *= ratio // eslint-disable-line this.targetGraph.resizeGraph(width, height) this.targetGraph.translate(x, y) - this.targetGraph.scale(ratio, ratio) + + if (this.scroller) { + this.targetGraph.scale(ratio, ratio) + } else { + this.targetGraph.zoomToFit() + } + this.updateViewport() return this } protected updateViewport() { - const ratio = this.ratio - const scale = this.sourceGraph.transform.getScale() + const sourceGraphScale = this.sourceGraph.transform.getScale() + const targetGraphScale = this.targetGraph.transform.getScale() let origin = null if (this.scroller) { origin = this.scroller.clientToLocalPoint(0, 0) } else { - const ctm = this.sourceGraph.matrix() - origin = new Point(-ctm.e / ctm.a, -ctm.f / ctm.d) + origin = this.graph.graphToLocal(0, 0) } const position = this.$(this.targetGraph.container).position() @@ -222,10 +227,14 @@ export class MiniMap extends View { translation.ty = translation.ty || 0 this.geometry = { - top: position.top + origin.y * ratio + translation.ty, - left: position.left + origin.x * ratio + translation.tx, - width: (this.$graphContainer.innerWidth()! * ratio) / scale.sx, - height: (this.$graphContainer.innerHeight()! * ratio) / scale.sy, + top: position.top + origin.y * targetGraphScale.sy + translation.ty, + left: position.left + origin.x * targetGraphScale.sx + translation.tx, + width: + (this.$graphContainer.innerWidth()! * targetGraphScale.sx) / + sourceGraphScale.sx, + height: + (this.$graphContainer.innerHeight()! * targetGraphScale.sy) / + sourceGraphScale.sy, } this.$viewport.css(this.geometry) } diff --git a/packages/x6/src/addon/scroller/index.ts b/packages/x6/src/addon/scroller/index.ts index 5a2abfe09c4..6f44770aab2 100644 --- a/packages/x6/src/addon/scroller/index.ts +++ b/packages/x6/src/addon/scroller/index.ts @@ -346,6 +346,11 @@ export class Scroller extends View { const graphHeight = this.graph.options.height const pageWidth = this.options.pageWidth! * this.sx const pageHeight = this.options.pageHeight! * this.sy + + if (pageWidth === 0 || pageHeight === 0) { + return + } + if (graphWidth > pageWidth || graphHeight > pageHeight) { let hasPageBreak = false const container = document.createElement('div') @@ -396,12 +401,76 @@ export class Scroller extends View { gridWidth: this.options.pageWidth, gridHeight: this.options.pageHeight, allowNewOrigin: 'negative', + contentArea: this.calcContextArea(resizeOptions), ...resizeOptions, } this.graph.fitToContent(this.getFitToContentOptions(options)) } + protected calcContextArea( + resizeOptions: + | (TransformManager.FitToContentFullOptions & { + direction?: + | Scroller.AutoResizeDirection + | Scroller.AutoResizeDirection[] + }) + | undefined, + ) { + const direction = resizeOptions?.direction + + if (!direction) { + return this.graph.transform.getContentArea() + } + + function getCellBBox(cell: Cell) { + let rect = cell.getBBox() + if (rect) { + if (cell.isNode()) { + const angle = cell.getAngle() + if (angle != null && angle !== 0) { + rect = rect.bbox(angle) + } + } + } + return rect + } + + const gridWidth = this.options.pageWidth || 1 + const gridHeight = this.options.pageHeight || 1 + let calculativeCells = this.graph.getCells() + + if (!direction.includes('top')) { + calculativeCells = calculativeCells.filter((cell) => { + const bbox = getCellBBox(cell) + return bbox.y >= 0 + }) + } + + if (!direction.includes('left')) { + calculativeCells = calculativeCells.filter((cell) => { + const bbox = getCellBBox(cell) + return bbox.x >= 0 + }) + } + + if (!direction.includes('right')) { + calculativeCells = calculativeCells.filter((cell) => { + const bbox = getCellBBox(cell) + return bbox.x + bbox.width <= gridWidth + }) + } + + if (!direction.includes('bottom')) { + calculativeCells = calculativeCells.filter((cell) => { + const bbox = getCellBBox(cell) + return bbox.y + bbox.height <= gridHeight + }) + } + + return this.model.getCellsBBox(calculativeCells) || new Rectangle() + } + protected getFitToContentOptions( options: TransformManager.FitToContentFullOptions, ) { @@ -1021,8 +1090,8 @@ export class Scroller extends View { } resize(width?: number, height?: number) { - let w = width != null ? width : this.container.clientWidth - let h = height != null ? height : this.container.clientHeight + let w = width != null ? width : this.container.offsetWidth + let h = height != null ? height : this.container.offsetHeight if (typeof w === 'number') { w = Math.round(w) @@ -1201,17 +1270,25 @@ export namespace Scroller { * @deprecated */ fitTocontentOptions?: - | TransformManager.FitToContentFullOptions + | (TransformManager.FitToContentFullOptions & { + direction?: AutoResizeDirection | AutoResizeDirection[] + }) | (( this: Scroller, scroller: Scroller, - ) => TransformManager.FitToContentFullOptions) + ) => TransformManager.FitToContentFullOptions & { + direction?: AutoResizeDirection | AutoResizeDirection[] + }) autoResizeOptions?: - | TransformManager.FitToContentFullOptions + | (TransformManager.FitToContentFullOptions & { + direction?: AutoResizeDirection | AutoResizeDirection[] + }) | (( this: Scroller, scroller: Scroller, - ) => TransformManager.FitToContentFullOptions) + ) => TransformManager.FitToContentFullOptions & { + direction?: AutoResizeDirection | AutoResizeDirection[] + }) } export interface Options extends CommonOptions { @@ -1258,6 +1335,8 @@ export namespace Scroller { visibility?: number center?: Point.PointLike } + + export type AutoResizeDirection = 'top' | 'right' | 'bottom' | 'left' } export namespace Scroller { diff --git a/packages/x6/src/addon/selection/index.ts b/packages/x6/src/addon/selection/index.ts index c8cbd08df9f..17d73d27ec8 100644 --- a/packages/x6/src/addon/selection/index.ts +++ b/packages/x6/src/addon/selection/index.ts @@ -125,7 +125,7 @@ export class Selection extends View { options, }: Collection.EventArgs['node:change:position']) { const { showNodeSelectionBox, pointerEvents } = this.options - const { ui, selection } = options + const { ui, selection, translateBy } = options let allowTranslating = !this.translating /* Scenarios where this method is not called: @@ -137,6 +137,10 @@ export class Selection extends View { (showNodeSelectionBox !== true || pointerEvents === 'none') allowTranslating = allowTranslating && ui && !selection + // Avoid circular calls of child nodes + allowTranslating = + allowTranslating && translateBy && node.id === translateBy + if (allowTranslating) { this.translating = true const current = node.position() @@ -289,6 +293,7 @@ export class Selection extends View { offsetY: y, scrollerX: 0, scrollerY: 0, + moving: false, }) this.delegateDocumentEvents(Private.documentEvents, evt.data) @@ -893,7 +898,7 @@ export class Selection extends View { added, removed, options, - selected: this.cells, + selected: this.cells.filter((cell) => !!this.graph.getCellById(cell.id)), } this.trigger('selection:changed', args) this.graph.trigger('selection:changed', args) diff --git a/packages/x6/src/addon/snapline/index.less b/packages/x6/src/addon/snapline/index.less index a77d5ebcdee..f2327c954cd 100644 --- a/packages/x6/src/addon/snapline/index.less +++ b/packages/x6/src/addon/snapline/index.less @@ -12,16 +12,7 @@ &-vertical, &-horizontal { - position: absolute; - opacity: 1; - pointer-events: none; - } - - &-horizontal { - border-bottom: 1px solid #2ecc71; - } - - &-vertical { - border-right: 1px solid #2ecc71; + stroke: #2ecc71; + stroke-width: 1px; } } diff --git a/packages/x6/src/addon/snapline/index.ts b/packages/x6/src/addon/snapline/index.ts index b96fa6be0ea..e3f7f0dc5a8 100644 --- a/packages/x6/src/addon/snapline/index.ts +++ b/packages/x6/src/addon/snapline/index.ts @@ -1,13 +1,14 @@ -import { ArrayExt, FunctionExt } from '../../util' import { IDisablable } from '../../common' -import { Point, Rectangle, Angle } from '../../geometry' -import { Node } from '../../model/node' +import { Angle, Point, Rectangle } from '../../geometry' +import { Graph } from '../../graph' +import { EventArgs } from '../../graph/events' import { Model } from '../../model/model' -import { View } from '../../view/view' +import { Node } from '../../model/node' +import { ArrayExt, FunctionExt } from '../../util' +import { Vector } from '../../util/vector' import { CellView } from '../../view/cell' import { NodeView } from '../../view/node' -import { Graph } from '../../graph' -import { EventArgs } from '../../graph/events' +import { View } from '../../view/view' export class Snapline extends View implements IDisablable { public readonly options: Snapline.Options @@ -17,9 +18,11 @@ export class Snapline extends View implements IDisablable { protected filterFunction: Snapline.FilterFunction | null protected offset: Point.PointLike protected timer: number | null - protected $container: JQuery - protected $horizontal: JQuery - protected $vertical: JQuery + + public container: SVGElement + protected containerWrapper: Vector + protected horizontal: Vector + protected vertical: Vector protected get model() { return this.graph.model @@ -43,6 +46,7 @@ export class Snapline extends View implements IDisablable { const { graph, ...others } = options this.graph = graph this.options = { tolerance: 10, ...others } + this.offset = { x: 0, y: 0 } this.render() this.parseFilter() if (!this.disabled) { @@ -79,23 +83,27 @@ export class Snapline extends View implements IDisablable { } protected render() { - this.container = document.createElement('div') - this.$container = this.$(this.container) - this.$horizontal = this.$(document.createElement('div')).addClass( - this.horizontalClassName, - ) - this.$vertical = this.$(document.createElement('div')).addClass( - this.verticalClassName, - ) + const container = (this.containerWrapper = new Vector('svg')) + const horizontal = (this.horizontal = new Vector('path')) + const vertical = (this.vertical = new Vector('path')) + + container.addClass(this.containerClassName) + horizontal.addClass(this.horizontalClassName) + vertical.addClass(this.verticalClassName) - this.$container - .hide() - .addClass(this.containerClassName) - .append([this.$horizontal, this.$vertical]) + container.setAttribute('width', '100%') + container.setAttribute('height', '100%') + + horizontal.setAttribute('display', 'none') + vertical.setAttribute('display', 'none') + + container.append([horizontal, vertical]) if (this.options.className) { - this.$container.addClass(this.options.className) + container.addClass(this.options.className) } + + this.container = this.containerWrapper.node } protected startListening() { @@ -566,53 +574,41 @@ export class Snapline extends View implements IDisablable { horizontalLeft?: number horizontalWidth?: number }) { - const ctm = this.graph.matrix() - const sx = ctm.a - const sy = ctm.d - const tx = ctm.e - const ty = ctm.f - - const sharp = this.options.sharp - const hasScroller = this.graph.scroller.widget != null - + // https://en.wikipedia.org/wiki/Transformation_matrix#Affine_transformations if (metadata.horizontalTop) { - this.$horizontal - .css({ - top: metadata.horizontalTop * sy + ty, - left: sharp - ? metadata.horizontalLeft! * sx + tx - : hasScroller - ? '-300%' - : 0, - width: sharp - ? metadata.horizontalWidth! * sx - : hasScroller - ? '700%' - : '100%', - }) - .show() + const start = this.graph.localToGraph( + new Point(metadata.horizontalLeft, metadata.horizontalTop), + ) + const end = this.graph.localToGraph( + new Point( + metadata.horizontalLeft! + metadata.horizontalWidth!, + metadata.horizontalTop, + ), + ) + this.horizontal.setAttributes({ + d: `M ${start.x},${start.y} L ${end.x},${end.y}`, + display: 'inherit', + }) } else { - this.$horizontal.hide() + this.horizontal.setAttribute('display', 'none') } if (metadata.verticalLeft) { - this.$vertical - .css({ - left: metadata.verticalLeft * sx + tx, - top: sharp - ? metadata.verticalTop! * sy + ty - : hasScroller - ? '-300%' - : 0, - height: sharp - ? metadata.verticalHeight! * sy - : hasScroller - ? '700%' - : '100%', - }) - .show() + const start = this.graph.localToGraph( + new Point(metadata.verticalLeft, metadata.verticalTop), + ) + const end = this.graph.localToGraph( + new Point( + metadata.verticalLeft, + metadata.verticalTop! + metadata.verticalHeight!, + ), + ) + this.vertical.setAttributes({ + d: `M ${start.x},${start.y} L ${end.x},${end.y}`, + display: 'inherit', + }) } else { - this.$vertical.hide() + this.vertical.setAttribute('display', 'none') } this.show() @@ -626,7 +622,6 @@ export class Snapline extends View implements IDisablable { } show() { - this.$container.show() this.resetTimer() if (this.container.parentNode == null) { this.graph.container.appendChild(this.container) @@ -635,16 +630,18 @@ export class Snapline extends View implements IDisablable { } hide() { - this.$container.hide() this.resetTimer() + this.vertical.setAttribute('display', 'none') + this.horizontal.setAttribute('display', 'none') const clean = this.options.clean const delay = typeof clean === 'number' ? clean : clean !== false ? 3000 : 0 if (delay > 0) { this.timer = window.setTimeout(() => { - this.unmount() + if (this.container.parentNode !== null) { + this.unmount() + } }, delay) } - return this } @@ -664,6 +661,14 @@ export namespace Snapline { enabled?: boolean className?: string tolerance?: number + /** + * @deprecated The behavior is now to clamp snaplines to the elements + * that are being aligned (instead of them spanning the entire graph), + * equivalent to `sharp: true`. The `sharp` option will be removed in a future release. + * + * @deprecated 对齐线将默认在对齐的元素边界截断,而不是跨越整个图的横轴/纵轴;相当于 `sharp: true`. + * `sharp` 选项将在之后的版本中去除。 + */ sharp?: boolean /** * Specify if snap on node resizing or not. diff --git a/packages/x6/src/addon/transform/index.ts b/packages/x6/src/addon/transform/index.ts index f0d913e28d3..c711634b7ff 100644 --- a/packages/x6/src/addon/transform/index.ts +++ b/packages/x6/src/addon/transform/index.ts @@ -436,6 +436,7 @@ export class Transform extends Widget { if (options.rotateGrid) { target = Util.snapToGrid(target, options.rotateGrid) } + target = Angle.normalize(target) if (currentAngle !== target) { node.rotate(target, { absolute: true }) diff --git a/packages/x6/src/global/version.ts b/packages/x6/src/global/version.ts index 1f3803bdf17..25f2453603c 100644 --- a/packages/x6/src/global/version.ts +++ b/packages/x6/src/global/version.ts @@ -3,5 +3,5 @@ /** * Auto generated version file, do not modify it! */ -const version = '1.30.2' +const version = '1.34.1' export { version } diff --git a/packages/x6/src/graph/clipboard.ts b/packages/x6/src/graph/clipboard.ts index 9bc080c9b55..e33c055c00c 100644 --- a/packages/x6/src/graph/clipboard.ts +++ b/packages/x6/src/graph/clipboard.ts @@ -47,6 +47,7 @@ export class ClipboardManager extends Base implements IDisablable { ...this.commonOptions, ...options, }) + this.graph.trigger('clipboard:changed', { cells }) } } @@ -56,6 +57,7 @@ export class ClipboardManager extends Base implements IDisablable { ...this.commonOptions, ...options, }) + this.graph.trigger('clipboard:changed', { cells }) } } @@ -72,6 +74,7 @@ export class ClipboardManager extends Base implements IDisablable { clean(force?: boolean) { if (!this.disabled || force) { this.widget.clean() + this.graph.trigger('clipboard:changed', { cells: [] }) } } @@ -86,6 +89,12 @@ export class ClipboardManager extends Base implements IDisablable { } export namespace ClipboardManager { + export interface ClipboardEventArgs { + 'clipboard:changed': { + cells: Cell[] + } + } + export interface Options extends Clipboard.Options { enabled?: boolean } diff --git a/packages/x6/src/graph/events.ts b/packages/x6/src/graph/events.ts index 929eeacb4f7..dc2327960c7 100644 --- a/packages/x6/src/graph/events.ts +++ b/packages/x6/src/graph/events.ts @@ -1,6 +1,7 @@ import { Model } from '../model' import { CellView } from '../view' import { Selection } from '../addon/selection' +import { ClipboardManager } from './clipboard' import { Renderer } from './renderer' interface CommonEventArgs { @@ -15,7 +16,8 @@ interface PositionEventArgs extends CommonEventArgs { export interface EventArgs extends Omit, CellView.EventArgs, - Selection.SelectionEventArgs { + Selection.SelectionEventArgs, + ClipboardManager.ClipboardEventArgs { 'model:sorted'?: Model.EventArgs['sorted'] 'model:updated': Model.EventArgs['updated'] 'model:reseted': Model.EventArgs['reseted'] diff --git a/packages/x6/src/graph/format.ts b/packages/x6/src/graph/format.ts index efa98aaa171..bc0409e0770 100644 --- a/packages/x6/src/graph/format.ts +++ b/packages/x6/src/graph/format.ts @@ -109,8 +109,9 @@ export class FormatManager extends Base { Object.keys(computedStyle).forEach((property) => { if ( + !NumberExt.isNumeric(property) && computedStyle.getPropertyValue(property) !== - defaultComputedStyle[property] + defaultComputedStyle[property] ) { customStyle[property] = computedStyle.getPropertyValue(property) } diff --git a/packages/x6/src/graph/graph.ts b/packages/x6/src/graph/graph.ts index ccb918d207b..dea758cc3b0 100644 --- a/packages/x6/src/graph/graph.ts +++ b/packages/x6/src/graph/graph.ts @@ -691,6 +691,8 @@ export class Graph extends Basecoat { } else { this.transform.zoom(factor, { ...options, absolute: true }) } + + return this } zoomToRect( @@ -1880,20 +1882,36 @@ export class Graph extends Basecoat { return this } + /** + * @deprecated + * @see Snapline.Options.sharp + */ isSharpSnapline() { return this.snapline.widget.options.sharp === true } + /** + * @deprecated + * @see Snapline.Options.sharp + */ enableSharpSnapline() { this.snapline.widget.options.sharp = true return this } + /** + * @deprecated + * @see Snapline.Options.sharp + */ disableSharpSnapline() { this.snapline.widget.options.sharp = false return this } + /** + * @deprecated + * @see Snapline.Options.sharp + */ toggleSharpSnapline(sharp?: boolean) { if (sharp != null) { if (sharp !== this.isSharpSnapline()) { diff --git a/packages/x6/src/graph/history.ts b/packages/x6/src/graph/history.ts index b17d291684e..19b87f94eaf 100644 --- a/packages/x6/src/graph/history.ts +++ b/packages/x6/src/graph/history.ts @@ -398,6 +398,7 @@ export class HistoryManager if (cmds.length > 0) { this.redoStack = [] this.undoStack.push(cmds) + this.consolidateCommands() this.notify('add', cmds, options) } this.batchCommands = null @@ -469,9 +470,66 @@ export class HistoryManager this.emit('batch', { cmd, options }) } else { this.undoStack.push(cmd) + this.consolidateCommands() this.notify('add', cmd, options) } } + + /** + * Conditionally combine multiple undo items into one. + * + * Currently this is only used combine a `cell:changed:position` event + * followed by multiple `cell:change:parent` and `cell:change:children` + * events, such that a "move + embed" action can be undone in one step. + * + * See https://github.com/antvis/X6/issues/2421 + * + * This is an ugly WORKAROUND. It does not solve deficiencies in the batch + * system itself. + */ + private consolidateCommands() { + const lastCommandGroup = this.undoStack[this.undoStack.length - 1] + const penultimateCommandGroup = this.undoStack[this.undoStack.length - 2] + + // We are looking for at least one cell:change:parent + // and one cell:change:children + if (!Array.isArray(lastCommandGroup)) { + return + } + const eventTypes = new Set(lastCommandGroup.map((cmd) => cmd.event)) + if ( + eventTypes.size !== 2 || + !eventTypes.has('cell:change:parent') || + !eventTypes.has('cell:change:children') + ) { + return + } + + // We are looking for events from user interactions + if (!lastCommandGroup.every((cmd) => cmd.batch && cmd.options?.ui)) { + return + } + + // We are looking for a command group with exactly one event, whose event + // type is cell:change:position, and is from user interactions + if ( + !Array.isArray(penultimateCommandGroup) || + penultimateCommandGroup.length !== 1 + ) { + return + } + const maybePositionChange = penultimateCommandGroup[0] + if ( + maybePositionChange.event !== 'cell:change:position' || + !maybePositionChange.options?.ui + ) { + return + } + + // Actually consolidating the commands we get + penultimateCommandGroup.push(...lastCommandGroup) + this.undoStack.pop() + } } export namespace HistoryManager { diff --git a/packages/x6/src/graph/hook.ts b/packages/x6/src/graph/hook.ts index 9e91648ac69..991602f61a4 100644 --- a/packages/x6/src/graph/hook.ts +++ b/packages/x6/src/graph/hook.ts @@ -553,12 +553,12 @@ export class Hook extends Base implements Hook.IHook { } } - if (valid && allowNode != null) { + // When judging nodes, the influence of the ports should be excluded, + // because the ports and nodes have the same terminalView + if (valid && allowNode != null && terminalMagnet == null) { if (typeof allowNode === 'boolean') { - if (!allowNode && terminalView != null) { - if (NodeView.isNodeView(terminalView) && terminalMagnet == null) { - valid = false - } + if (!allowNode && NodeView.isNodeView(terminalView)) { + valid = false } } else { valid = doValidate(allowNode) diff --git a/packages/x6/src/graph/keyboard.ts b/packages/x6/src/graph/keyboard.ts index d44f990962e..e943c39da22 100644 --- a/packages/x6/src/graph/keyboard.ts +++ b/packages/x6/src/graph/keyboard.ts @@ -106,8 +106,13 @@ export class Keyboard extends Disposable implements IDisablable { protected isGraphEvent(e: KeyboardEvent) { const target = (e.srcElement || e.target) as Element + const currentTarget = e.currentTarget as Element if (target) { - if (target === this.target || target === document.body) { + if ( + target === this.target || + currentTarget === this.target || + target === document.body + ) { return true } @@ -119,8 +124,8 @@ export class Keyboard extends Disposable implements IDisablable { isInputEvent(e: KeyboardEvent | JQuery.MouseUpEvent) { const target = e.target as Element - const tagName = target && target.tagName.toLowerCase() - return tagName === 'input' + const tagName = target?.tagName?.toLowerCase() + return ['input', 'textarea'].includes(tagName) } isEnabledForEvent(e: KeyboardEvent) { diff --git a/packages/x6/src/graph/mousewheel.ts b/packages/x6/src/graph/mousewheel.ts index dcbd6231bbb..1a4af6e8f52 100644 --- a/packages/x6/src/graph/mousewheel.ts +++ b/packages/x6/src/graph/mousewheel.ts @@ -135,14 +135,17 @@ export class MouseWheel extends Disposable implements IDisablable { } else { scroller.zoom(targetScale, { absolute: true }) } - } else if (this.options.zoomAtMousePosition) { - const origin = this.graph.coord.clientToGraphPoint(this.startPos) - this.graph.zoom(targetScale, { - absolute: true, - center: origin.clone(), - }) } else { - this.graph.zoom(targetScale, { absolute: true }) + if (this.options.zoomAtMousePosition) { + const origin = this.graph.coord.clientToGraphPoint(this.startPos) + this.graph.transform.zoom(targetScale, { + absolute: true, + center: origin.clone(), + ui: true, + }) + } else { + this.graph.transform.zoom(targetScale, { absolute: true, ui: true }) + } } } this.currentScale = null diff --git a/packages/x6/src/graph/options.ts b/packages/x6/src/graph/options.ts index b3380ee240c..d62460465a3 100644 --- a/packages/x6/src/graph/options.ts +++ b/packages/x6/src/graph/options.ts @@ -130,7 +130,9 @@ export namespace Options { /** * Prevent the default context menu from being displayed. */ - preventDefaultContextMenu: boolean + preventDefaultContextMenu: + | boolean + | ((this: Graph, { view }: { view: CellView | null }) => boolean) preventDefaultDblClick: boolean @@ -731,6 +733,7 @@ export namespace Options { rubberEdge: false, // next version will set to true pointerEvents: 'auto', multiple: true, + multipleSelectionModifiers: ['ctrl', 'meta'], movable: true, strict: false, useCellGeometry: false, diff --git a/packages/x6/src/graph/panning.ts b/packages/x6/src/graph/panning.ts index 28061881e34..1a1a58f32aa 100644 --- a/packages/x6/src/graph/panning.ts +++ b/packages/x6/src/graph/panning.ts @@ -102,7 +102,10 @@ export class PanningManager extends Base { const dy = e.clientY - this.clientY this.clientX = e.clientX this.clientY = e.clientY - this.graph.translateBy(dx, dy) + const ts = this.graph.transform.getTranslation() + const tx = ts.tx + dx + const ty = ts.ty + dy + this.graph.transform.translate(tx, ty, { ui: true }) } // eslint-disable-next-line diff --git a/packages/x6/src/graph/renderer.ts b/packages/x6/src/graph/renderer.ts index faf18a19634..a2c875ac299 100644 --- a/packages/x6/src/graph/renderer.ts +++ b/packages/x6/src/graph/renderer.ts @@ -162,6 +162,8 @@ export class Renderer extends Base { if (visible) { this.processEdgeOnTerminalVisibleChanged(cell, true) } + + // this.sortViews() } protected processEdgeOnTerminalVisibleChanged(node: Cell, visible: boolean) { diff --git a/packages/x6/src/graph/selection.ts b/packages/x6/src/graph/selection.ts index a9462db0152..1959801f084 100644 --- a/packages/x6/src/graph/selection.ts +++ b/packages/x6/src/graph/selection.ts @@ -76,6 +76,13 @@ export class SelectionManager extends Base { ) } + allowMultipleSelection(e: JQuery.MouseDownEvent | JQuery.MouseUpEvent) { + return ( + this.isMultiple() && + ModifierKey.isMatch(e, this.widgetOptions.multipleSelectionModifiers) + ) + } + protected onCellMouseMove({ cell }: EventArgs['cell:mousemove']) { this.movedMap.set(cell, true) } @@ -96,7 +103,7 @@ export class SelectionManager extends Base { } if (!disabled) { - if (options.multiple === false || (!e.ctrlKey && !e.metaKey)) { + if (!this.allowMultipleSelection(e)) { this.reset(cell) } else if (this.unselectMap.has(cell)) { this.unselectMap.delete(cell) @@ -112,7 +119,7 @@ export class SelectionManager extends Base { protected onBoxMouseDown({ e, cell }: Selection.EventArgs['box:mousedown']) { if (!this.disabled) { - if (this.widgetOptions.multiple !== false && (e.ctrlKey || e.metaKey)) { + if (this.allowMultipleSelection(e)) { this.unselect(cell) this.unselectMap.set(cell, true) } @@ -256,6 +263,7 @@ export namespace SelectionManager { rubberband?: boolean modifiers?: string | ModifierKey[] | null multiple?: boolean + multipleSelectionModifiers?: string | ModifierKey[] | null selectCellOnMoved?: boolean selectNodeOnMoved?: boolean selectEdgeOnMoved?: boolean diff --git a/packages/x6/src/graph/transform.ts b/packages/x6/src/graph/transform.ts index d6168497e02..3f75ac47c37 100644 --- a/packages/x6/src/graph/transform.ts +++ b/packages/x6/src/graph/transform.ts @@ -136,7 +136,13 @@ export class TransformManager extends Base { return Dom.matrixToScale(this.getMatrix()) } - scale(sx: number, sy: number = sx, ox = 0, oy = 0) { + scale( + sx: number, + sy: number = sx, + ox = 0, + oy = 0, + options: TransformManager.TransformOptions = {}, + ) { sx = this.clampScale(sx) // eslint-disable-line sy = this.clampScale(sy) // eslint-disable-line @@ -154,7 +160,7 @@ export class TransformManager extends Base { matrix.d = sy this.setMatrix(matrix) - this.graph.trigger('scale', { sx, sy, ox, oy }) + this.graph.trigger('scale', { sx, sy, ox, oy, ...options }) return this } @@ -167,7 +173,10 @@ export class TransformManager extends Base { return this.getScale().sx } - zoom(factor: number, options?: TransformManager.ZoomOptions) { + zoom( + factor: number, + options?: TransformManager.ZoomOptions & TransformManager.TransformOptions, + ) { options = options || {} // eslint-disable-line let sx = factor @@ -210,11 +219,11 @@ export class TransformManager extends Base { const tx = cx - (cx - ts.tx) * (sx / scale.sx) const ty = cy - (cy - ts.ty) * (sy / scale.sy) if (tx !== ts.tx || ty !== ts.ty) { - this.translate(tx, ty) + this.translate(tx, ty, { ui: options.ui }) } } - this.scale(sx, sy) + this.scale(sx, sy, 0, 0, { ui: options.ui }) return this } @@ -242,7 +251,11 @@ export class TransformManager extends Base { return Dom.matrixToTranslation(this.getMatrix()) } - translate(tx: number, ty: number) { + translate( + tx: number, + ty: number, + options: TransformManager.TransformOptions = {}, + ) { const matrix = this.getMatrix() matrix.e = tx || 0 matrix.f = ty || 0 @@ -250,7 +263,7 @@ export class TransformManager extends Base { const ts = this.getTranslation() this.options.x = ts.tx this.options.y = ts.ty - this.graph.trigger('translate', { ...ts }) + this.graph.trigger('translate', { ...ts, ...options }) return this } @@ -594,6 +607,9 @@ export class TransformManager extends Base { } export namespace TransformManager { + export interface TransformOptions { + ui?: boolean + } export interface FitToContentOptions extends GetContentAreaOptions { minWidth?: number minHeight?: number diff --git a/packages/x6/src/graph/view.ts b/packages/x6/src/graph/view.ts index f573d036f96..ec8ab260d1d 100644 --- a/packages/x6/src/graph/view.ts +++ b/packages/x6/src/graph/view.ts @@ -139,13 +139,30 @@ export class GraphView extends View { } } - protected onContextMenu(evt: JQuery.ContextMenuEvent) { - if (this.options.preventDefaultContextMenu) { - evt.preventDefault() + protected isPreventDefaultContextMenu( + evt: JQuery.ContextMenuEvent, + view: CellView | null, + ) { + let preventDefaultContextMenu = this.options.preventDefaultContextMenu + if (typeof preventDefaultContextMenu === 'function') { + preventDefaultContextMenu = FunctionExt.call( + preventDefaultContextMenu, + this.graph, + { view }, + ) } + return preventDefaultContextMenu + } + + protected onContextMenu(evt: JQuery.ContextMenuEvent) { const e = this.normalizeEvent(evt) const view = this.findView(e.target) + + if (this.isPreventDefaultContextMenu(e, view)) { + evt.preventDefault() + } + if (this.guard(e, view)) { return } @@ -201,7 +218,10 @@ export class GraphView extends View { if (view) { view.onMouseDown(e, localPoint.x, localPoint.y) } else { - if (this.options.preventDefaultBlankAction) { + if ( + this.options.preventDefaultBlankAction && + ['touchstart'].includes(e.type) + ) { e.preventDefault() } @@ -470,8 +490,11 @@ export class GraphView extends View { }) } - protected onMagnetContextMenu(e: JQuery.ContextMenuEvent) { - if (this.options.preventDefaultContextMenu) { + protected onMagnetContextMenu(evt: JQuery.ContextMenuEvent) { + const e = this.normalizeEvent(evt) + const view = this.findView(e.target) + + if (this.isPreventDefaultContextMenu(e, view)) { e.preventDefault() } this.handleMagnetEvent(e, (view, e, magnet, x, y) => { diff --git a/packages/x6/src/model/edge.ts b/packages/x6/src/model/edge.ts index 37a5c55d597..6bc00b40b3d 100644 --- a/packages/x6/src/model/edge.ts +++ b/packages/x6/src/model/edge.ts @@ -1099,7 +1099,7 @@ export namespace Edge { port?: string } - export type TerminalData = TerminalPointData | TerminalCellData + export type TerminalData = TerminalPointData | TerminalCellLooseData export function equalTerminals(a: TerminalData, b: TerminalData) { const a1 = a as TerminalCellData diff --git a/packages/x6/src/model/model.ts b/packages/x6/src/model/model.ts index 981182529fc..af39934a3be 100644 --- a/packages/x6/src/model/model.ts +++ b/packages/x6/src/model/model.ts @@ -159,27 +159,31 @@ export class Model extends Basecoat { protected onEdgeTerminalChanged(edge: Edge, type: Edge.TerminalType) { const ref = type === 'source' ? this.outgoings : this.incomings - const prev = edge.previous(type) + const prev = edge.previous(type) if (prev && prev.cell) { - const cache = ref[prev.cell] + const cellId = Cell.isCell(prev.cell) ? prev.cell.id : prev.cell + const cache = ref[cellId] const index = cache ? cache.indexOf(edge.id) : -1 if (index >= 0) { cache.splice(index, 1) if (cache.length === 0) { - delete ref[prev.cell] + delete ref[cellId] } } } - const terminal = edge.getTerminal(type) as Edge.TerminalCellData + const terminal = edge.getTerminal(type) as Edge.TerminalCellLooseData if (terminal && terminal.cell) { - const cache = ref[terminal.cell] || [] + const terminalId = Cell.isCell(terminal.cell) + ? terminal.cell.id + : terminal.cell + const cache = ref[terminalId] || [] const index = cache.indexOf(edge.id) if (index === -1) { cache.push(edge.id) } - ref[terminal.cell] = cache + ref[terminalId] = cache } } diff --git a/packages/x6/src/registry/attr/connection.ts b/packages/x6/src/registry/attr/connection.ts index 7318b608ca8..6613993b884 100644 --- a/packages/x6/src/registry/attr/connection.ts +++ b/packages/x6/src/registry/attr/connection.ts @@ -9,24 +9,44 @@ export const connection: Attr.Definition = { qualify: isEdgeView, set(val, args) { const view = args.view as EdgeView + const reverse = ((val as any).reverse || false) as boolean const stubs = ((val as any).stubs || 0) as number let d if (Number.isFinite(stubs) && stubs !== 0) { - let offset - if (stubs < 0) { - const len = view.getConnectionLength() || 0 - offset = (len + stubs) / 2 - } else { - offset = stubs - } + if (!reverse) { + let offset + if (stubs < 0) { + const len = view.getConnectionLength() || 0 + offset = (len + stubs) / 2 + } else { + offset = stubs + } - const path = view.getConnection() - if (path) { - const sourceParts = path.divideAtLength(offset) - const targetParts = path.divideAtLength(-offset) - if (sourceParts && targetParts) { - d = `${sourceParts[0].serialize()} ${targetParts[1].serialize()}` + const path = view.getConnection() + if (path) { + const sourceParts = path.divideAtLength(offset) + const targetParts = path.divideAtLength(-offset) + if (sourceParts && targetParts) { + d = `${sourceParts[0].serialize()} ${targetParts[1].serialize()}` + } } + } else { + let offset + let length + const len = view.getConnectionLength() || 0 + if (stubs < 0) { + offset = (len + stubs) / 2 + length = -stubs + } else { + offset = stubs + length = len - stubs * 2 + } + + const path = view.getConnection() + d = path + ?.divideAtLength(offset)?.[1] + ?.divideAtLength(length)?.[0] + ?.serialize() } } diff --git a/packages/x6/src/registry/router/manhattan/obstacle-map.ts b/packages/x6/src/registry/router/manhattan/obstacle-map.ts index 43ba70ebdb0..312336b1d05 100644 --- a/packages/x6/src/registry/router/manhattan/obstacle-map.ts +++ b/packages/x6/src/registry/router/manhattan/obstacle-map.ts @@ -76,9 +76,11 @@ export class ObstacleMap { const excludeShapes = options.excludeShapes const excType = shape ? excludeShapes.includes(shape) : false const excTerminal = excludedTerminals.some((cell) => cell.id === node.id) + const excNode = options.excludeNodes.includes(node) const excAncestor = excludedAncestors.includes(node.id) const excHidden = options.excludeHiddenNodes && !node.isVisible() - const excluded = excType || excTerminal || excAncestor || excHidden + const excluded = + excType || excTerminal || excNode || excAncestor || excHidden if (!excluded) { const bbox = node.getBBox().moveAndExpand(options.paddingBox) diff --git a/packages/x6/src/registry/router/manhattan/options.ts b/packages/x6/src/registry/router/manhattan/options.ts index 070bee34761..2ad2c51c8ae 100644 --- a/packages/x6/src/registry/router/manhattan/options.ts +++ b/packages/x6/src/registry/router/manhattan/options.ts @@ -1,6 +1,6 @@ import { NumberExt } from '../../../util' import { Point, Rectangle, Angle } from '../../../geometry' -import { Edge } from '../../../model' +import { Edge, Node } from '../../../model' import { EdgeView } from '../../../view' import { orth } from '../orth' import { Router } from '../index' @@ -46,6 +46,11 @@ export interface ResolvedOptions { */ excludeShapes: string[] + /** + * Should certain nodes not be considered as obstacles? + */ + excludeNodes: Node[] + /** * Should certain hidden nodes not be considered as obstacles? */ @@ -141,6 +146,7 @@ export const defaults: ManhattanRouterOptions = { perpendicular: true, excludeTerminals: [], excludeShapes: [], // ['text'] + excludeNodes: [], excludeHiddenNodes: false, startDirections: ['top', 'right', 'bottom', 'left'], endDirections: ['top', 'right', 'bottom', 'left'], @@ -221,7 +227,7 @@ export function resolveOptions(options: ManhattanRouterOptions) { if (result.padding) { const sides = NumberExt.normalizeSides(result.padding) - options.paddingBox = { + result.paddingBox = { x: -sides.left, y: -sides.top, width: sides.left + sides.right, diff --git a/packages/x6/src/registry/tool/button.ts b/packages/x6/src/registry/tool/button.ts index 218aea41348..4446e17b2f6 100644 --- a/packages/x6/src/registry/tool/button.ts +++ b/packages/x6/src/registry/tool/button.ts @@ -80,10 +80,12 @@ export class Button extends ToolsView.ToolItem< let tangent let position let angle - if (NumberExt.isPercentage(distance)) { - tangent = view.getTangentAtRatio(parseFloat(distance) / 100) + + const d = NumberExt.normalizePercentage(distance, 1) + if (d >= 0 && d <= 1) { + tangent = view.getTangentAtRatio(d) } else { - tangent = view.getTangentAtLength(distance) + tangent = view.getTangentAtLength(d) } if (tangent) { diff --git a/packages/x6/src/registry/tool/editor.ts b/packages/x6/src/registry/tool/editor.ts index 4109b20db40..e6b61520df2 100644 --- a/packages/x6/src/registry/tool/editor.ts +++ b/packages/x6/src/registry/tool/editor.ts @@ -14,7 +14,7 @@ export class CellEditor extends ToolsView.ToolItem< render() { this.createElement() - this.update() + this.updateEditor() this.autoFocus() this.delegateDocumentEvents(this.options.documentEvents!) @@ -33,7 +33,7 @@ export class CellEditor extends ToolsView.ToolItem< this.container.appendChild(this.editor) } - update() { + updateEditor() { const { graph, cell, editor } = this const style = editor.style @@ -49,7 +49,6 @@ export class CellEditor extends ToolsView.ToolItem< const parent = target.parentElement const isEdgeLabel = parent && Dom.hasClass(parent, this.prefixClassName('edge-label')) - const labelAddable = this.options.labelAddable if (isEdgeLabel) { const index = parent.getAttribute('data-index') || '0' this.labelIndex = parseInt(index, 10) @@ -58,7 +57,7 @@ export class CellEditor extends ToolsView.ToolItem< pos = new Point(translation.tx, translation.ty) minWidth = Dom.getBBox(target).width } else { - if (!labelAddable) { + if (!this.options.labelAddable) { return this } pos = graph.clientToLocal(Point.create(e.clientX, e.clientY)) diff --git a/packages/x6/src/shape/base.ts b/packages/x6/src/shape/base.ts index bd02165e767..c7de7618ac8 100644 --- a/packages/x6/src/shape/base.ts +++ b/packages/x6/src/shape/base.ts @@ -58,5 +58,6 @@ export namespace Base { } return others }, + visible: true, }) } diff --git a/packages/x6/src/style/index.less b/packages/x6/src/style/index.less index 223d5317bda..14e507bc3b9 100755 --- a/packages/x6/src/style/index.less +++ b/packages/x6/src/style/index.less @@ -7,6 +7,7 @@ .@{x6-prefix}-graph { position: relative; outline: none; + touch-action: none; &-background, &-grid, diff --git a/packages/x6/src/style/raw.ts b/packages/x6/src/style/raw.ts index 741d755223b..fbc61ab79a2 100644 --- a/packages/x6/src/style/raw.ts +++ b/packages/x6/src/style/raw.ts @@ -7,6 +7,7 @@ export const content = `.x6-graph { position: relative; outline: none; + touch-action: none; } .x6-graph-background, .x6-graph-grid, @@ -574,7 +575,7 @@ export const content = `.x6-graph { position: absolute; top: -10000px; left: -10000px; - z-index: 100; + z-index: 999999; display: none; cursor: move; opacity: 0.7; @@ -820,15 +821,8 @@ export const content = `.x6-graph { } .x6-widget-snapline-vertical, .x6-widget-snapline-horizontal { - position: absolute; - opacity: 1; - pointer-events: none; -} -.x6-widget-snapline-horizontal { - border-bottom: 1px solid #2ecc71; -} -.x6-widget-snapline-vertical { - border-right: 1px solid #2ecc71; + stroke: #2ecc71; + stroke-width: 1px; } .x6-widget-stencil { position: absolute; diff --git a/packages/x6/src/util/array/array.ts b/packages/x6/src/util/array/array.ts index 54a329e3395..a7530d3a355 100644 --- a/packages/x6/src/util/array/array.ts +++ b/packages/x6/src/util/array/array.ts @@ -8,6 +8,7 @@ export { sortBy, groupBy, difference, + max, } from 'lodash-es' export * from './diff' diff --git a/packages/x6/src/util/dom/attr.ts b/packages/x6/src/util/dom/attr.ts index 460a12eed26..30ed856e8ea 100644 --- a/packages/x6/src/util/dom/attr.ts +++ b/packages/x6/src/util/dom/attr.ts @@ -1,6 +1,13 @@ import { ns } from './elem' import { kebabCase } from '../string/format' +export const CASE_SENSITIVE_ATTR = [ + 'viewBox', + 'attributeName', + 'attributeType', + 'repeatCount', +] + export type Attributes = { [key: string]: string | number | null | undefined } export function getAttribute(elem: Element, name: string) { @@ -100,7 +107,7 @@ export function qualifyAttr(name: string) { export function kebablizeAttrs(attrs: Attributes) { const result: Attributes = {} Object.keys(attrs).forEach((key) => { - const name = kebabCase(key) + const name = CASE_SENSITIVE_ATTR.includes(key) ? key : kebabCase(key) result[name] = attrs[key] }) return result diff --git a/packages/x6/src/util/dom/elem.ts b/packages/x6/src/util/dom/elem.ts index 98531c5a6b4..037c18c737c 100644 --- a/packages/x6/src/util/dom/elem.ts +++ b/packages/x6/src/util/dom/elem.ts @@ -224,3 +224,35 @@ export function isHTMLElement(elem: any): elem is HTMLElement { ) } } + +export function clickable(elem: Element): boolean { + if (!elem || !isHTMLElement(elem)) { + return false + } + if (['a', 'button'].includes(tagName(elem))) { + return true + } + if ( + elem.getAttribute('role') === 'button' || + elem.getAttribute('type') === 'button' + ) { + return true + } + return clickable(elem.parentNode as Element) +} + +export function isInputElement(elem: any): boolean { + const elemTagName = tagName(elem) + if (elemTagName === 'input') { + const type = elem.getAttribute('type') + if ( + type == null || + ['text', 'password', 'number', 'email', 'search', 'tel', 'url'].includes( + type, + ) + ) { + return true + } + } + return false +} diff --git a/packages/x6/src/util/dom/geom.ts b/packages/x6/src/util/dom/geom.ts index 0c4e5f2db76..d8541b399ba 100644 --- a/packages/x6/src/util/dom/geom.ts +++ b/packages/x6/src/util/dom/geom.ts @@ -400,7 +400,7 @@ export interface AnimateCallbacks { } export type AnimationOptions = AnimateCallbacks & { - [name: string]: string | number | undefined + [name: string]: any } export function animate(elem: SVGElement, options: AnimationOptions) { diff --git a/packages/x6/src/util/object/inherit.ts b/packages/x6/src/util/object/inherit.ts index 0d1c32b69dd..90a4ae846f7 100644 --- a/packages/x6/src/util/object/inherit.ts +++ b/packages/x6/src/util/object/inherit.ts @@ -35,22 +35,21 @@ const isNativeClass = /** * Extends class with specified class name. */ -// eslint-disable-next-line -export function createClass(className: string, base: Function): T { +export function createClass any>( + className: string, + base: T, +): T { let cls if (isNativeClass) { - // eslint-disable-next-line no-new-func - cls = new Function('base', `return class ${className} extends base { }`)( - base, - ) + cls = class extends base {} } else { - // eslint-disable-next-line no-new-func - cls = new Function( - 'base', - `return function ${className}() { return base.apply(this, arguments) }`, - )(base) + cls = function () { + return base.apply(this, arguments) // eslint-disable-line + } inherit(cls, base) } + Object.defineProperty(cls, 'name', { value: className }) + return cls as T } diff --git a/packages/x6/src/util/object/object.ts b/packages/x6/src/util/object/object.ts index f914fb4b6e7..13a30d289b0 100644 --- a/packages/x6/src/util/object/object.ts +++ b/packages/x6/src/util/object/object.ts @@ -49,6 +49,10 @@ export function getBoolean(obj: any, key: string, defaultValue: boolean) { return !!value } +export function isMaliciousProp(prop: string): boolean { + return prop === '__proto__' +} + export function getByPath( obj: any, path: string | string[], @@ -79,13 +83,15 @@ export function setByPath( ) { const keys = Array.isArray(path) ? path : path.split(delimiter) const lastKey = keys.pop() - if (lastKey) { + if (lastKey && !isMaliciousProp(lastKey)) { let diver = obj keys.forEach((key) => { - if (diver[key] == null) { - diver[key] = {} + if (!isMaliciousProp(key)) { + if (diver[key] == null) { + diver[key] = {} + } + diver = diver[key] } - diver = diver[key] }) diver[lastKey] = value } diff --git a/packages/x6/src/util/scheduler/index.ts b/packages/x6/src/util/scheduler/index.ts index b490a7594bf..08f133da7a4 100644 --- a/packages/x6/src/util/scheduler/index.ts +++ b/packages/x6/src/util/scheduler/index.ts @@ -17,7 +17,7 @@ export namespace Scheduler { const schedule = (cb: FlushTaskFn) => unit.push(cb) === 1 && postMessage() const postMessage = (() => { - const cb = () => unit.splice(0, unit.length).forEach((c) => c()) + const cb = () => unit.splice(0, unit.length)[0]?.() if (typeof MessageChannel !== 'undefined') { const { port1, port2 } = new MessageChannel() port1.onmessage = cb diff --git a/packages/x6/src/util/unit/index.test.ts b/packages/x6/src/util/unit/index.test.ts index 1a4ad8e4c12..72b5c4bd1c9 100644 --- a/packages/x6/src/util/unit/index.test.ts +++ b/packages/x6/src/util/unit/index.test.ts @@ -4,8 +4,8 @@ describe('Unit', () => { describe('#toPx', () => { it('should return correct px', () => { expect(Math.floor(Unit.toPx(10, 'mm'))).toBe(37) - expect(Math.floor(Unit.toPx(10, 'cm'))).toBe(376) - expect(Math.floor(Unit.toPx(10, 'in'))).toBe(956) + // expect(Math.floor(Unit.toPx(10, 'cm'))).toBe(376) + // expect(Math.floor(Unit.toPx(10, 'in'))).toBe(956) expect(Math.floor(Unit.toPx(10, 'pt'))).toBe(13) expect(Math.floor(Unit.toPx(10, 'pc'))).toBe(159) }) diff --git a/packages/x6/src/view/attr.ts b/packages/x6/src/view/attr.ts index da2f5c94222..8d018c81428 100644 --- a/packages/x6/src/view/attr.ts +++ b/packages/x6/src/view/attr.ts @@ -66,7 +66,7 @@ export class AttrManager { if (normal == null) { normal = {} } - const normalName = AttrManager.CASE_SENSITIVE_ATTR.includes(name) + const normalName = Dom.CASE_SENSITIVE_ATTR.includes(name) ? name : StringExt.kebabCase(name) normal[normalName] = val as Attr.SimpleAttrValue @@ -584,7 +584,6 @@ export namespace AttrManager { delay?: Attr.ComplexAttrs | undefined } - export const CASE_SENSITIVE_ATTR = ['viewBox'] export const DELAY_ATTRS = [ 'text', 'textWrap', diff --git a/packages/x6/src/view/edge.ts b/packages/x6/src/view/edge.ts index b4718d25b77..adf119b9344 100644 --- a/packages/x6/src/view/edge.ts +++ b/packages/x6/src/view/edge.ts @@ -202,6 +202,7 @@ export class EdgeView< this.renderMarkup() this.renderLabels() this.update() + this.renderExternalTools() return this } @@ -541,12 +542,7 @@ export class EdgeView< this.updateLabelPositions() this.updateToolsPosition() this.updateArrowheadMarkers() - - if (options.toolId == null) { - this.renderExternalTools() - } else { - this.updateTools(options) - } + this.updateTools(options) return this } @@ -2341,14 +2337,26 @@ export class EdgeView< data: EventData.ArrowheadDragging, ) { const graph = this.graph - const snap = graph.options.connecting.snap + const { snap, allowEdge } = graph.options.connecting const radius = (typeof snap === 'object' && snap.radius) || 50 - const views = graph.renderer.findViewsInArea({ + + const findViewsOption = { x: x - radius, y: y - radius, width: 2 * radius, height: 2 * radius, - }) + } + + const views = graph.renderer.findViewsInArea(findViewsOption) + + if (allowEdge) { + const edgeViews = graph.renderer + .findEdgeViewsInArea(findViewsOption) + .filter((view) => { + return view !== this + }) + views.push(...edgeViews) + } const prevView = data.closestView || null const prevMagnet = data.closestMagnet || null diff --git a/packages/x6/src/view/node.ts b/packages/x6/src/view/node.ts index 8e02665080b..ccfbb55136c 100644 --- a/packages/x6/src/view/node.ts +++ b/packages/x6/src/view/node.ts @@ -1,3 +1,4 @@ +import JQuery from 'jquery' import { Util, Config } from '../global' import { ArrayExt, FunctionExt, Dom, Vector } from '../util' import { Rectangle, Point } from '../geometry' @@ -463,7 +464,11 @@ export class NodeView< portSelectors = portContentSelectors || portLabelSelectors } - Dom.addClass(portElement, 'x6-port') + let portClass = 'x6-port' + if (port.group) { + portClass += ` x6-port-${port.group}` + } + Dom.addClass(portElement, portClass) Dom.addClass(portContentElement, 'x6-port-body') Dom.addClass(portLabelElement, 'x6-port-label') @@ -607,6 +612,13 @@ export class NodeView< } notifyMouseUp(e: JQuery.MouseUpEvent, x: number, y: number) { + // Problem: super will call stopBatch before event listeners + // attached to this **node** run. Those events will not count + // towards this batch, despite being triggered by the same UI event. + // + // This complicates a lot of stuff e.g. history recording. + // + // See https://github.com/antvis/X6/issues/2421 for background. super.onMouseUp(e, x, y) this.notify('node:mouseup', this.getEventArgs(e, x, y)) } @@ -630,6 +642,12 @@ export class NodeView< if (this.isPropagationStopped(e)) { return } + // 避免处于foreignObject内部元素触发onMouseDown导致节点被拖拽 + // 拖拽的时候是以onMouseDown启动的 + const target = e.target as Element + if (Dom.clickable(target) || Dom.isInputElement(target)) { + return + } this.notifyMouseDown(e, x, y) this.startNodeDragging(e, x, y) } @@ -665,6 +683,12 @@ export class NodeView< if (action === 'magnet') { this.stopMagnetDragging(e, x, y) } else { + // 避免处于foreignObject内部元素触发onMouseUp导致节点被选中 + // 选中的时候是以onMouseUp启动的 + const target = e.target as Element + if (Dom.clickable(target) || Dom.isInputElement(target)) { + return + } this.notifyMouseUp(e, x, y) if (action === 'move') { const meta = data as EventData.Moving @@ -835,9 +859,18 @@ export class NodeView< // Picks the node with the highest `z` index if (options.frontOnly) { - candidates = candidates.slice(-1) + if (candidates.length > 0) { + const zIndexMap = ArrayExt.groupBy(candidates, 'zIndex') + const maxZIndex = ArrayExt.max(Object.keys(zIndexMap)) + if (maxZIndex) { + candidates = zIndexMap[maxZIndex] + } + } } + // Filter the nodes which is invisiable + candidates = candidates.filter((candidate) => candidate.visible) + let newCandidateView = null const prevCandidateView = data.candidateEmbedView const validateEmbeding = options.validate @@ -893,6 +926,7 @@ export class NodeView< } finalizeEmbedding(e: JQuery.MouseUpEvent, data: EventData.MovingTargetNode) { + this.graph.startBatch('embedding') const cell = data.cell || this.cell const graph = data.graph || this.graph const view = graph.findViewByCell(cell) @@ -913,9 +947,8 @@ export class NodeView< edge.updateParent({ ui: true }) }) - const localPoint = graph.snapToGrid(e.clientX, e.clientY) - - if (view) { + if (view && candidateView) { + const localPoint = graph.snapToGrid(e.clientX, e.clientY) view.notify('node:embedded', { e, cell, @@ -927,6 +960,7 @@ export class NodeView< currentParent: cell.getParent(), }) } + this.graph.stopBatch('embedding') } getDelegatedView() { @@ -969,12 +1003,18 @@ export class NodeView< if (graph.options.magnetThreshold <= 0) { this.startConnectting(e, magnet, x, y) } - this.setEventData>(e, { action: 'magnet', }) this.stopPropagation(e) } else { + // 只需要阻止port的冒泡 #2258 + if ( + Dom.hasClass(magnet, 'x6-port-body') || + JQuery(magnet).closest('.x6-port-body').length > 0 + ) { + this.stopPropagation(e) + } this.onMouseDown(e, x, y) } diff --git a/packages/x6/src/view/tool.ts b/packages/x6/src/view/tool.ts index d90370c26dd..c9799f1d3bb 100644 --- a/packages/x6/src/view/tool.ts +++ b/packages/x6/src/view/tool.ts @@ -327,7 +327,7 @@ export namespace ToolsView { protected cellView: TargetView - protected visible: boolean + protected visible = true protected childNodes: KeyValue @@ -440,7 +440,7 @@ export namespace ToolsView { } isVisible() { - return this.visible + return !!this.visible } focus() { diff --git a/scripts/monorepo-semantic-release/package.json b/scripts/monorepo-semantic-release/package.json index 27156c04d1c..b881ae9fc30 100644 --- a/scripts/monorepo-semantic-release/package.json +++ b/scripts/monorepo-semantic-release/package.json @@ -8,7 +8,7 @@ "build": "yarn clean && ./node_modules/.bin/tsc" }, "dependencies": { - "@actions/core": "^1.2.5", + "@actions/core": "^1.9.1", "@actions/github": "^4.0.0", "@semantic-release/changelog": "^5.0.1", "@semantic-release/exec": "^5.0.0", @@ -28,7 +28,7 @@ "lodash.identity": "^3.0.0", "promise-events": "^0.2.0", "read-pkg": "^5.2.0", - "semantic-release": "^17.2.2", + "semantic-release": "^19.0.3", "signale": "^1.4.0", "stream-buffers": "^3.0.2" }, diff --git a/scripts/monorepo-semantic-release/yarn.lock b/scripts/monorepo-semantic-release/yarn.lock index a4c1e81b320..3c21f019542 100644 --- a/scripts/monorepo-semantic-release/yarn.lock +++ b/scripts/monorepo-semantic-release/yarn.lock @@ -2,10 +2,13 @@ # yarn lockfile v1 -"@actions/core@^1.2.5": - version "1.2.6" - resolved "https://registry.npmjs.org/@actions/core/-/core-1.2.6.tgz#a78d49f41a4def18e88ce47c2cac615d5694bf09" - integrity sha512-ZQYitnqiyBc3D+k7LsgSBmMDVkOVidaagDG7j3fOym77jNunWRuYx7VSHa9GNfFZh+zh61xsCjRj4JxMZlDqTA== +"@actions/core@^1.9.1": + version "1.9.1" + resolved "https://registry.yarnpkg.com/@actions/core/-/core-1.9.1.tgz#97c0201b1f9856df4f7c3a375cdcdb0c2a2f750b" + integrity sha512-5ad+U2YGrmmiw6du20AQW5XuWo7UKN2052FjSV7MX+Wfjf8sCqcsZe62NfgHys4QI4/Y+vQvLKYL8jWtA1ZBTA== + dependencies: + "@actions/http-client" "^2.0.1" + uuid "^8.3.2" "@actions/github@^4.0.0": version "4.0.0" @@ -24,6 +27,13 @@ dependencies: tunnel "0.0.6" +"@actions/http-client@^2.0.1": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@actions/http-client/-/http-client-2.0.1.tgz#873f4ca98fe32f6839462a6f046332677322f99c" + integrity sha512-PIXiMVtz6VvyaRsGY268qvj57hXQEpsYogYOu2nrQhlf+XCGmZstmuZBbAybUl1nQGnvS1k1eEsQ69ZoD7xlSw== + dependencies: + tunnel "^0.0.6" + "@babel/code-frame@^7.0.0": version "7.10.4" resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz#168da1a36e90da68ae8d49c0f1b48c7c6249213a" @@ -45,6 +55,16 @@ chalk "^2.0.0" js-tokens "^4.0.0" +"@colors/colors@1.5.0": + version "1.5.0" + resolved "https://registry.yarnpkg.com/@colors/colors/-/colors-1.5.0.tgz#bb504579c1cae923e6576a4f5da43d25f97bdbd9" + integrity sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ== + +"@gar/promisify@^1.0.1", "@gar/promisify@^1.1.3": + version "1.1.3" + resolved "https://registry.yarnpkg.com/@gar/promisify/-/promisify-1.1.3.tgz#555193ab2e3bb3b6adc3d551c9c030d9e860daf6" + integrity sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw== + "@iarna/cli@^1.2.0": version "1.2.0" resolved "https://registry.npmjs.org/@iarna/cli/-/cli-1.2.0.tgz#0f7af5e851afe895104583c4ca07377a8094d641" @@ -54,6 +74,11 @@ update-notifier "^2.2.0" yargs "^8.0.2" +"@isaacs/string-locale-compare@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@isaacs/string-locale-compare/-/string-locale-compare-1.1.0.tgz#291c227e93fd407a96ecd59879a35809120e432b" + integrity sha512-SQ7Kzhh9+D+ZW9MA0zkYv3VXhIDNx+LzM6EJ+/65I3QY+enU6Itte7E5XX7EWrqLW2FN4n06GWzBnPoC3th2aQ== + "@nodelib/fs.scandir@2.1.3": version "2.1.3" resolved "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.3.tgz#3a582bdb53804c6ba6d146579c46e52130cf4a3b" @@ -75,6 +100,181 @@ "@nodelib/fs.scandir" "2.1.3" fastq "^1.6.0" +"@npmcli/arborist@^5.0.0", "@npmcli/arborist@^5.0.4": + version "5.2.1" + resolved "https://registry.yarnpkg.com/@npmcli/arborist/-/arborist-5.2.1.tgz#4f38187cb694946f551a825df17e6efd565b8946" + integrity sha512-DNyTHov3lU7PtCGHABzrPqQOUiBdiYzZ5dLv3D0RD5I9KbmhTLcZI/rv3ddZY0K9vpDE/R+R48b+cU/dUkL0Tw== + dependencies: + "@isaacs/string-locale-compare" "^1.1.0" + "@npmcli/installed-package-contents" "^1.0.7" + "@npmcli/map-workspaces" "^2.0.3" + "@npmcli/metavuln-calculator" "^3.0.1" + "@npmcli/move-file" "^2.0.0" + "@npmcli/name-from-folder" "^1.0.1" + "@npmcli/node-gyp" "^2.0.0" + "@npmcli/package-json" "^2.0.0" + "@npmcli/run-script" "^3.0.0" + bin-links "^3.0.0" + cacache "^16.0.6" + common-ancestor-path "^1.0.1" + json-parse-even-better-errors "^2.3.1" + json-stringify-nice "^1.1.4" + mkdirp "^1.0.4" + mkdirp-infer-owner "^2.0.0" + nopt "^5.0.0" + npm-install-checks "^5.0.0" + npm-package-arg "^9.0.0" + npm-pick-manifest "^7.0.0" + npm-registry-fetch "^13.0.0" + npmlog "^6.0.2" + pacote "^13.0.5" + parse-conflict-json "^2.0.1" + proc-log "^2.0.0" + promise-all-reject-late "^1.0.0" + promise-call-limit "^1.0.1" + read-package-json-fast "^2.0.2" + readdir-scoped-modules "^1.1.0" + rimraf "^3.0.2" + semver "^7.3.7" + ssri "^9.0.0" + treeverse "^2.0.0" + walk-up-path "^1.0.0" + +"@npmcli/ci-detect@^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@npmcli/ci-detect/-/ci-detect-2.0.0.tgz#e63c91bcd4185ac1e85720a34fc48e164ece5b89" + integrity sha512-8yQtQ9ArHh/TzdUDKQwEvwCgpDuhSWTDAbiKMl3854PcT+Dk4UmWaiawuFTLy9n5twzXOBXVflWe+90/ffXQrA== + +"@npmcli/config@^4.1.0": + version "4.1.0" + resolved "https://registry.yarnpkg.com/@npmcli/config/-/config-4.1.0.tgz#5c92e5ded2a44baf76b94926646329c3b39e79b8" + integrity sha512-cPQmIQ2Q0vuOfrenrA3isikdMFMAHgzlXV+EmvZ8f2JeJsU5xTU2bG7ipXECiMvPF9nM+QDnMLuIg8QLw9H4xg== + dependencies: + "@npmcli/map-workspaces" "^2.0.2" + ini "^3.0.0" + mkdirp-infer-owner "^2.0.0" + nopt "^5.0.0" + proc-log "^2.0.0" + read-package-json-fast "^2.0.3" + semver "^7.3.5" + walk-up-path "^1.0.0" + +"@npmcli/disparity-colors@^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@npmcli/disparity-colors/-/disparity-colors-2.0.0.tgz#cb518166ee21573b96241a3613fef70acb2a60ba" + integrity sha512-FFXGrIjhvd2qSZ8iS0yDvbI7nbjdyT2VNO7wotosjYZM2p2r8PN3B7Om3M5NO9KqW/OVzfzLB3L0V5Vo5QXC7A== + dependencies: + ansi-styles "^4.3.0" + +"@npmcli/fs@^1.0.0": + version "1.1.1" + resolved "https://registry.yarnpkg.com/@npmcli/fs/-/fs-1.1.1.tgz#72f719fe935e687c56a4faecf3c03d06ba593257" + integrity sha512-8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ== + dependencies: + "@gar/promisify" "^1.0.1" + semver "^7.3.5" + +"@npmcli/fs@^2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@npmcli/fs/-/fs-2.1.0.tgz#f2a21c28386e299d1a9fae8051d35ad180e33109" + integrity sha512-DmfBvNXGaetMxj9LTp8NAN9vEidXURrf5ZTslQzEAi/6GbW+4yjaLFQc6Tue5cpZ9Frlk4OBo/Snf1Bh/S7qTQ== + dependencies: + "@gar/promisify" "^1.1.3" + semver "^7.3.5" + +"@npmcli/git@^3.0.0": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@npmcli/git/-/git-3.0.1.tgz#049b99b1381a2ddf7dc56ba3e91eaf76ca803a8d" + integrity sha512-UU85F/T+F1oVn3IsB/L6k9zXIMpXBuUBE25QDH0SsURwT6IOBqkC7M16uqo2vVZIyji3X1K4XH9luip7YekH1A== + dependencies: + "@npmcli/promise-spawn" "^3.0.0" + lru-cache "^7.4.4" + mkdirp "^1.0.4" + npm-pick-manifest "^7.0.0" + proc-log "^2.0.0" + promise-inflight "^1.0.1" + promise-retry "^2.0.1" + semver "^7.3.5" + which "^2.0.2" + +"@npmcli/installed-package-contents@^1.0.7": + version "1.0.7" + resolved "https://registry.yarnpkg.com/@npmcli/installed-package-contents/-/installed-package-contents-1.0.7.tgz#ab7408c6147911b970a8abe261ce512232a3f4fa" + integrity sha512-9rufe0wnJusCQoLpV9ZPKIVP55itrM5BxOXs10DmdbRfgWtHy1LDyskbwRnBghuB0PrF7pNPOqREVtpz4HqzKw== + dependencies: + npm-bundled "^1.1.1" + npm-normalize-package-bin "^1.0.1" + +"@npmcli/map-workspaces@^2.0.2", "@npmcli/map-workspaces@^2.0.3": + version "2.0.3" + resolved "https://registry.yarnpkg.com/@npmcli/map-workspaces/-/map-workspaces-2.0.3.tgz#2d3c75119ee53246e9aa75bc469a55281cd5f08f" + integrity sha512-X6suAun5QyupNM8iHkNPh0AHdRC2rb1W+MTdMvvA/2ixgmqZwlq5cGUBgmKHUHT2LgrkKJMAXbfAoTxOigpK8Q== + dependencies: + "@npmcli/name-from-folder" "^1.0.1" + glob "^8.0.1" + minimatch "^5.0.1" + read-package-json-fast "^2.0.3" + +"@npmcli/metavuln-calculator@^3.0.1": + version "3.1.0" + resolved "https://registry.yarnpkg.com/@npmcli/metavuln-calculator/-/metavuln-calculator-3.1.0.tgz#b1c2f0991c4f2d992b1615a54d4358c05efc3702" + integrity sha512-Q5fbQqGDlYqk7kWrbg6E2j/mtqQjZop0ZE6735wYA1tYNHguIDjAuWs+kFb5rJCkLIlXllfapvsyotYKiZOTBA== + dependencies: + cacache "^16.0.0" + json-parse-even-better-errors "^2.3.1" + pacote "^13.0.3" + semver "^7.3.5" + +"@npmcli/move-file@^1.0.1": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@npmcli/move-file/-/move-file-1.1.2.tgz#1a82c3e372f7cae9253eb66d72543d6b8685c674" + integrity sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg== + dependencies: + mkdirp "^1.0.4" + rimraf "^3.0.2" + +"@npmcli/move-file@^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@npmcli/move-file/-/move-file-2.0.0.tgz#417f585016081a0184cef3e38902cd917a9bbd02" + integrity sha512-UR6D5f4KEGWJV6BGPH3Qb2EtgH+t+1XQ1Tt85c7qicN6cezzuHPdZwwAxqZr4JLtnQu0LZsTza/5gmNmSl8XLg== + dependencies: + mkdirp "^1.0.4" + rimraf "^3.0.2" + +"@npmcli/name-from-folder@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@npmcli/name-from-folder/-/name-from-folder-1.0.1.tgz#77ecd0a4fcb772ba6fe927e2e2e155fbec2e6b1a" + integrity sha512-qq3oEfcLFwNfEYOQ8HLimRGKlD8WSeGEdtUa7hmzpR8Sa7haL1KVQrvgO6wqMjhWFFVjgtrh1gIxDz+P8sjUaA== + +"@npmcli/node-gyp@^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@npmcli/node-gyp/-/node-gyp-2.0.0.tgz#8c20e53e34e9078d18815c1d2dda6f2420d75e35" + integrity sha512-doNI35wIe3bBaEgrlPfdJPaCpUR89pJWep4Hq3aRdh6gKazIVWfs0jHttvSSoq47ZXgC7h73kDsUl8AoIQUB+A== + +"@npmcli/package-json@^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@npmcli/package-json/-/package-json-2.0.0.tgz#3bbcf4677e21055adbe673d9f08c9f9cde942e4a" + integrity sha512-42jnZ6yl16GzjWSH7vtrmWyJDGVa/LXPdpN2rcUWolFjc9ON2N3uz0qdBbQACfmhuJZ2lbKYtmK5qx68ZPLHMA== + dependencies: + json-parse-even-better-errors "^2.3.1" + +"@npmcli/promise-spawn@^3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@npmcli/promise-spawn/-/promise-spawn-3.0.0.tgz#53283b5f18f855c6925f23c24e67c911501ef573" + integrity sha512-s9SgS+p3a9Eohe68cSI3fi+hpcZUmXq5P7w0kMlAsWVtR7XbK3ptkZqKT2cK1zLDObJ3sR+8P59sJE0w/KTL1g== + dependencies: + infer-owner "^1.0.4" + +"@npmcli/run-script@^3.0.0", "@npmcli/run-script@^3.0.1": + version "3.0.3" + resolved "https://registry.yarnpkg.com/@npmcli/run-script/-/run-script-3.0.3.tgz#66afa6e0c4c3484056195f295fa6c1d1a45ddf58" + integrity sha512-ZXL6qgC5NjwfZJ2nET+ZSLEz/PJgJ/5CU90C2S66dZY4Jw73DasS4ZCXuy/KHWYP0imjJ4VtA+Gebb5BxxKp9Q== + dependencies: + "@npmcli/node-gyp" "^2.0.0" + "@npmcli/promise-spawn" "^3.0.0" + node-gyp "^8.4.1" + read-package-json-fast "^2.0.3" + "@octokit/auth-token@^2.4.0": version "2.4.3" resolved "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-2.4.3.tgz#b868b5f2366533a7e62933eaa1181a8924228cc4" @@ -82,17 +282,12 @@ dependencies: "@octokit/types" "^5.0.0" -"@octokit/core@^2.4.3": - version "2.5.4" - resolved "https://registry.npmjs.org/@octokit/core/-/core-2.5.4.tgz#f7fbf8e4f86c5cc2497a8887ba2561ec8d358054" - integrity sha512-HCp8yKQfTITYK+Nd09MHzAlP1v3Ii/oCohv0/TW9rhSLvzb98BOVs2QmVYuloE6a3l6LsfyGIwb6Pc4ycgWlIQ== +"@octokit/auth-token@^2.4.4": + version "2.5.0" + resolved "https://registry.yarnpkg.com/@octokit/auth-token/-/auth-token-2.5.0.tgz#27c37ea26c205f28443402477ffd261311f21e36" + integrity sha512-r5FVUJCOLl19AxiuZD2VRZ/ORjp/4IN98Of6YJoJOkY75CIBuYfmiNHGrDwXr+aLGG55igl9QrxX3hbiXlLb+g== dependencies: - "@octokit/auth-token" "^2.4.0" - "@octokit/graphql" "^4.3.1" - "@octokit/request" "^5.4.0" - "@octokit/types" "^5.0.0" - before-after-hook "^2.1.0" - universal-user-agent "^5.0.0" + "@octokit/types" "^6.0.3" "@octokit/core@^3.0.0": version "3.2.1" @@ -106,6 +301,19 @@ before-after-hook "^2.1.0" universal-user-agent "^6.0.0" +"@octokit/core@^3.5.1": + version "3.6.0" + resolved "https://registry.yarnpkg.com/@octokit/core/-/core-3.6.0.tgz#3376cb9f3008d9b3d110370d90e0a1fcd5fe6085" + integrity sha512-7RKRKuA4xTjMhY+eG3jthb3hlZCsOwg3rztWh75Xc+ShDWOfDDATWbeZpAHBNRpm4Tv9WgBMOy1zEJYXG6NJ7Q== + dependencies: + "@octokit/auth-token" "^2.4.4" + "@octokit/graphql" "^4.5.8" + "@octokit/request" "^5.6.3" + "@octokit/request-error" "^2.0.5" + "@octokit/types" "^6.0.3" + before-after-hook "^2.2.0" + universal-user-agent "^6.0.0" + "@octokit/endpoint@^6.0.1": version "6.0.9" resolved "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-6.0.9.tgz#c6a772e024202b1bd19ab69f90e0536a2598b13e" @@ -124,25 +332,38 @@ "@octokit/types" "^5.0.0" universal-user-agent "^6.0.0" -"@octokit/plugin-paginate-rest@^2.2.0", "@octokit/plugin-paginate-rest@^2.2.3": +"@octokit/graphql@^4.5.8": + version "4.8.0" + resolved "https://registry.yarnpkg.com/@octokit/graphql/-/graphql-4.8.0.tgz#664d9b11c0e12112cbf78e10f49a05959aa22cc3" + integrity sha512-0gv+qLSBLKF0z8TKaSKTsS39scVKF9dbMxJpj3U0vC7wjNWFuIpL/z76Qe2fiuCbDRcJSavkXsVtMS6/dtQQsg== + dependencies: + "@octokit/request" "^5.6.0" + "@octokit/types" "^6.0.3" + universal-user-agent "^6.0.0" + +"@octokit/openapi-types@^11.2.0": + version "11.2.0" + resolved "https://registry.yarnpkg.com/@octokit/openapi-types/-/openapi-types-11.2.0.tgz#b38d7fc3736d52a1e96b230c1ccd4a58a2f400a6" + integrity sha512-PBsVO+15KSlGmiI8QAzaqvsNlZlrDlyAJYcrXBCvVUxCp7VnXjkwPoFHgjEJXx3WF9BAwkA6nfCUA7i9sODzKA== + +"@octokit/plugin-paginate-rest@^2.16.8": + version "2.17.0" + resolved "https://registry.yarnpkg.com/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-2.17.0.tgz#32e9c7cab2a374421d3d0de239102287d791bce7" + integrity sha512-tzMbrbnam2Mt4AhuyCHvpRkS0oZ5MvwwcQPYGtMv4tUa5kkzG58SVB0fcsLulOZQeRnOgdkZWkRUiyBlh0Bkyw== + dependencies: + "@octokit/types" "^6.34.0" + +"@octokit/plugin-paginate-rest@^2.2.3": version "2.6.0" resolved "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-2.6.0.tgz#03416396e7a227b268c5b827365238f620a9c5c1" integrity sha512-o+O8c1PqsC5++BHXfMZabRRsBIVb34tXPWyQLyp2IXq5MmkxdipS7TXM4Y9ldL1PzY9CTrCsn/lzFFJGM3oRRA== dependencies: "@octokit/types" "^5.5.0" -"@octokit/plugin-request-log@^1.0.0": - version "1.0.2" - resolved "https://registry.npmjs.org/@octokit/plugin-request-log/-/plugin-request-log-1.0.2.tgz#394d59ec734cd2f122431fbaf05099861ece3c44" - integrity sha512-oTJSNAmBqyDR41uSMunLQKMX0jmEXbwD1fpz8FG27lScV3RhtGfBa1/BBLym+PxcC16IBlF7KH9vP1BUYxA+Eg== - -"@octokit/plugin-rest-endpoint-methods@3.17.0": - version "3.17.0" - resolved "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-3.17.0.tgz#d8ba04eb883849dd98666c55bf49d8c9fe7be055" - integrity sha512-NFV3vq7GgoO2TrkyBRUOwflkfTYkFKS0tLAPym7RNpkwLCttqShaEGjthOsPEEL+7LFcYv3mU24+F2yVd3npmg== - dependencies: - "@octokit/types" "^4.1.6" - deprecation "^2.3.1" +"@octokit/plugin-request-log@^1.0.4": + version "1.0.4" + resolved "https://registry.yarnpkg.com/@octokit/plugin-request-log/-/plugin-request-log-1.0.4.tgz#5e50ed7083a613816b1e4a28aeec5fb7f1462e85" + integrity sha512-mLUsMkgP7K/cnFEw07kWqXGF5LKrOkD+lhCrKvPHXWDywAwuDUeDwWBpc69XK3pNX0uKiVt8g5z96PJ6z9xCFA== "@octokit/plugin-rest-endpoint-methods@^4.0.0": version "4.2.1" @@ -152,6 +373,14 @@ "@octokit/types" "^5.5.0" deprecation "^2.3.1" +"@octokit/plugin-rest-endpoint-methods@^5.12.0": + version "5.13.0" + resolved "https://registry.yarnpkg.com/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-5.13.0.tgz#8c46109021a3412233f6f50d28786f8e552427ba" + integrity sha512-uJjMTkN1KaOIgNtUPMtIXDOjx6dGYysdIFhgA52x4xSadQCz3b/zJexvITDVpANnfKPW/+E0xkOvLntqMYpviA== + dependencies: + "@octokit/types" "^6.34.0" + deprecation "^2.3.1" + "@octokit/request-error@^2.0.0": version "2.0.3" resolved "https://registry.npmjs.org/@octokit/request-error/-/request-error-2.0.3.tgz#b51b200052bf483f6fa56c9e7e3aa51ead36ecd8" @@ -161,6 +390,15 @@ deprecation "^2.0.0" once "^1.4.0" +"@octokit/request-error@^2.0.5", "@octokit/request-error@^2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@octokit/request-error/-/request-error-2.1.0.tgz#9e150357831bfc788d13a4fd4b1913d60c74d677" + integrity sha512-1VIvgXxs9WHSjicsRwq8PlR2LR2x6DwsJAaFgzdi0JfJoGSO8mYI/cHJQ+9FbN21aa+DrgNLnwObmyeSC8Rmpg== + dependencies: + "@octokit/types" "^6.0.3" + deprecation "^2.0.0" + once "^1.4.0" + "@octokit/request@^5.3.0", "@octokit/request@^5.4.0": version "5.4.10" resolved "https://registry.npmjs.org/@octokit/request/-/request-5.4.10.tgz#402d2c53768bde12b99348329ba4129746aebb9c" @@ -175,22 +413,27 @@ once "^1.4.0" universal-user-agent "^6.0.0" -"@octokit/rest@^17.0.0": - version "17.11.2" - resolved "https://registry.npmjs.org/@octokit/rest/-/rest-17.11.2.tgz#f3dbd46f9f06361c646230fd0ef8598e59183ead" - integrity sha512-4jTmn8WossTUaLfNDfXk4fVJgbz5JgZE8eCs4BvIb52lvIH8rpVMD1fgRCrHbSd6LRPE5JFZSfAEtszrOq3ZFQ== +"@octokit/request@^5.6.0", "@octokit/request@^5.6.3": + version "5.6.3" + resolved "https://registry.yarnpkg.com/@octokit/request/-/request-5.6.3.tgz#19a022515a5bba965ac06c9d1334514eb50c48b0" + integrity sha512-bFJl0I1KVc9jYTe9tdGGpAMPy32dLBXXo1dS/YwSCTL/2nd9XeHsY616RE3HPXDVk+a+dBuzyz5YdlXwcDTr2A== dependencies: - "@octokit/core" "^2.4.3" - "@octokit/plugin-paginate-rest" "^2.2.0" - "@octokit/plugin-request-log" "^1.0.0" - "@octokit/plugin-rest-endpoint-methods" "3.17.0" + "@octokit/endpoint" "^6.0.1" + "@octokit/request-error" "^2.1.0" + "@octokit/types" "^6.16.1" + is-plain-object "^5.0.0" + node-fetch "^2.6.7" + universal-user-agent "^6.0.0" -"@octokit/types@^4.1.6": - version "4.1.10" - resolved "https://registry.npmjs.org/@octokit/types/-/types-4.1.10.tgz#e4029c11e2cc1335051775bc1600e7e740e4aca4" - integrity sha512-/wbFy1cUIE5eICcg0wTKGXMlKSbaAxEr00qaBXzscLXpqhcwgXeS6P8O0pkysBhRfyjkKjJaYrvR1ExMO5eOXQ== +"@octokit/rest@^18.0.0": + version "18.12.0" + resolved "https://registry.yarnpkg.com/@octokit/rest/-/rest-18.12.0.tgz#f06bc4952fc87130308d810ca9d00e79f6988881" + integrity sha512-gDPiOHlyGavxr72y0guQEhLsemgVjwRePayJ+FcKc2SJqKUbxbkvf5kAZEWA/MKvsfYlQAMVzNJE3ezQcxMJ2Q== dependencies: - "@types/node" ">= 8" + "@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" "@octokit/types@^5.0.0", "@octokit/types@^5.0.1", "@octokit/types@^5.5.0": version "5.5.0" @@ -199,6 +442,13 @@ dependencies: "@types/node" ">= 8" +"@octokit/types@^6.0.3", "@octokit/types@^6.16.1", "@octokit/types@^6.34.0": + version "6.34.0" + resolved "https://registry.yarnpkg.com/@octokit/types/-/types-6.34.0.tgz#c6021333334d1ecfb5d370a8798162ddf1ae8218" + integrity sha512-s1zLBjWhdEI2zwaoSgyOFoKSl109CUcVBCc7biPJ3aAf6LGLU6szDvi31JPU7bxfla2lqfhjbbg/5DdFNxOwHw== + dependencies: + "@octokit/openapi-types" "^11.2.0" + "@semantic-release/changelog@^5.0.1": version "5.0.1" resolved "https://registry.npmjs.org/@semantic-release/changelog/-/changelog-5.0.1.tgz#50a84b63e5d391b7debfe021421589fa2bcdafe4" @@ -209,16 +459,16 @@ fs-extra "^9.0.0" lodash "^4.17.4" -"@semantic-release/commit-analyzer@^8.0.0": - version "8.0.1" - resolved "https://registry.npmjs.org/@semantic-release/commit-analyzer/-/commit-analyzer-8.0.1.tgz#5d2a37cd5a3312da0e3ac05b1ca348bf60b90bca" - integrity sha512-5bJma/oB7B4MtwUkZC2Bf7O1MHfi4gWe4mA+MIQ3lsEV0b422Bvl1z5HRpplDnMLHH3EXMoRdEng6Ds5wUqA3A== +"@semantic-release/commit-analyzer@^9.0.2": + version "9.0.2" + resolved "https://registry.yarnpkg.com/@semantic-release/commit-analyzer/-/commit-analyzer-9.0.2.tgz#a78e54f9834193b55f1073fa6258eecc9a545e03" + integrity sha512-E+dr6L+xIHZkX4zNMe6Rnwg4YQrWNXK+rNsvwOPpdFppvZO1olE2fIgWhv89TkQErygevbjsZFSIxp+u6w2e5g== dependencies: conventional-changelog-angular "^5.0.0" conventional-commits-filter "^2.0.0" - conventional-commits-parser "^3.0.7" + conventional-commits-parser "^3.2.3" debug "^4.0.0" - import-from "^3.0.0" + import-from "^4.0.0" lodash "^4.17.4" micromatch "^4.0.2" @@ -227,6 +477,11 @@ resolved "https://registry.npmjs.org/@semantic-release/error/-/error-2.2.0.tgz#ee9d5a09c9969eade1ec864776aeda5c5cddbbf0" integrity sha512-9Tj/qn+y2j+sjCI3Jd+qseGtHjOAeg7dU2/lVcqIQ9TV3QDaDXDYXcoOHU+7o2Hwh8L8ymL4gfuO7KxDs3q2zg== +"@semantic-release/error@^3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@semantic-release/error/-/error-3.0.0.tgz#30a3b97bbb5844d695eb22f9d3aa40f6a92770c2" + integrity sha512-5hiM4Un+tpl4cKw3lV4UgzJj+SmfNIDCLLw0TepzQxz9ZGV5ixnqkzIVF+3tp0ZHgcMKE+VNGHJjEeyFG2dcSw== + "@semantic-release/exec@^5.0.0": version "5.0.0" resolved "https://registry.npmjs.org/@semantic-release/exec/-/exec-5.0.0.tgz#69c253107a755dabf7c262d417269d099f714356" @@ -253,60 +508,60 @@ micromatch "^4.0.0" p-reduce "^2.0.0" -"@semantic-release/github@^7.0.0": - version "7.1.1" - resolved "https://registry.npmjs.org/@semantic-release/github/-/github-7.1.1.tgz#e998aa9a9cd770838d9f27c64f060c2b686b9d95" - integrity sha512-w8CLCvGVKNe2FPOYQ68OFxFVNNha7YRzptnwTZYdjXYtgTDKw0XVfnMSd9NlJeQPYGfQmIhIVPNBU/cA6zUY0A== +"@semantic-release/github@^8.0.0": + version "8.0.4" + resolved "https://registry.yarnpkg.com/@semantic-release/github/-/github-8.0.4.tgz#4ea242f6ad10a0474b0fbb09462e10c43518002a" + integrity sha512-But4e8oqqP3anZI5tjzZssZc2J6eoUdeeE0s7LVKKwyiAXJiQDWNNvtPOpgG2DsIz4+Exuse7cEQgjGMxwtLmg== dependencies: - "@octokit/rest" "^17.0.0" + "@octokit/rest" "^18.0.0" "@semantic-release/error" "^2.2.0" aggregate-error "^3.0.0" bottleneck "^2.18.1" debug "^4.0.0" dir-glob "^3.0.0" - fs-extra "^9.0.0" + fs-extra "^10.0.0" globby "^11.0.0" - http-proxy-agent "^4.0.0" + http-proxy-agent "^5.0.0" https-proxy-agent "^5.0.0" issue-parser "^6.0.0" lodash "^4.17.4" - mime "^2.4.3" + mime "^3.0.0" p-filter "^2.0.0" p-retry "^4.0.0" url-join "^4.0.0" -"@semantic-release/npm@^7.0.0": - version "7.0.6" - resolved "https://registry.npmjs.org/@semantic-release/npm/-/npm-7.0.6.tgz#1301bd57d246eae048d7104a735467bb0829f3d8" - integrity sha512-F4judxdeLe8f7+vDva1TkqNc5Tb2tcltZYW0tLtvP2Xt7CD/gGiz7UxAWEOPsXBvIqAP+uTidvGLPl9U3/uRoQ== +"@semantic-release/npm@^9.0.0": + version "9.0.1" + resolved "https://registry.yarnpkg.com/@semantic-release/npm/-/npm-9.0.1.tgz#d81828eb1fb771e2767b3a8ee989915e1af27075" + integrity sha512-I5nVZklxBzfMFwemhRNbSrkiN/dsH3c7K9+KSk6jUnq0rdLFUuJt7EBsysq4Ir3moajQgFkfEryEHPqiKJj20g== dependencies: - "@semantic-release/error" "^2.2.0" + "@semantic-release/error" "^3.0.0" aggregate-error "^3.0.0" - execa "^4.0.0" - fs-extra "^9.0.0" + execa "^5.0.0" + fs-extra "^10.0.0" lodash "^4.17.15" nerf-dart "^1.0.0" - normalize-url "^5.0.0" - npm "^6.13.0" + normalize-url "^6.0.0" + npm "^8.3.0" rc "^1.2.8" read-pkg "^5.0.0" registry-auth-token "^4.0.0" semver "^7.1.2" - tempy "^0.5.0" + tempy "^1.0.0" -"@semantic-release/release-notes-generator@^9.0.0": - version "9.0.1" - resolved "https://registry.npmjs.org/@semantic-release/release-notes-generator/-/release-notes-generator-9.0.1.tgz#732d285d103064f2a64f08a32031551ebb4f918b" - integrity sha512-bOoTiH6SiiR0x2uywSNR7uZcRDl22IpZhj+Q5Bn0v+98MFtOMhCxFhbrKQjhbYoZw7vps1mvMRmFkp/g6R9cvQ== +"@semantic-release/release-notes-generator@^10.0.0": + version "10.0.3" + resolved "https://registry.yarnpkg.com/@semantic-release/release-notes-generator/-/release-notes-generator-10.0.3.tgz#85f7ca78bfa6b01fb5fda0ac48112855d69171dc" + integrity sha512-k4x4VhIKneOWoBGHkx0qZogNjCldLPRiAjnIpMnlUh6PtaWXp/T+C9U7/TaNDDtgDa5HMbHl4WlREdxHio6/3w== dependencies: conventional-changelog-angular "^5.0.0" - conventional-changelog-writer "^4.0.0" + conventional-changelog-writer "^5.0.0" conventional-commits-filter "^2.0.0" - conventional-commits-parser "^3.0.0" + conventional-commits-parser "^3.2.3" debug "^4.0.0" - get-stream "^5.0.0" - import-from "^3.0.0" - into-stream "^5.0.0" + get-stream "^6.0.0" + import-from "^4.0.0" + into-stream "^6.0.0" lodash "^4.17.4" read-pkg-up "^7.0.0" @@ -315,6 +570,11 @@ resolved "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz#ccb91445360179a04e7fe6aff78c00ffc1eeaf82" integrity sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw== +"@tootallnate/once@2": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-2.0.0.tgz#f544a148d3ab35801c1f633a7441fd87c2e484bf" + integrity sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A== + "@types/bash-glob@^2.0.0": version "2.0.0" resolved "https://registry.npmjs.org/@types/bash-glob/-/bash-glob-2.0.0.tgz#bba8dcad40e615f33e400170fa551daa40ee3c6a" @@ -427,7 +687,7 @@ agent-base@4, agent-base@^4.2.0, agent-base@^4.3.0: dependencies: es6-promisify "^5.0.0" -agent-base@6: +agent-base@6, agent-base@^6.0.2: version "6.0.2" resolved "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77" integrity sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ== @@ -448,6 +708,15 @@ agentkeepalive@^3.1.0, agentkeepalive@^3.4.1: dependencies: humanize-ms "^1.2.1" +agentkeepalive@^4.1.3, agentkeepalive@^4.2.1: + version "4.2.1" + resolved "https://registry.yarnpkg.com/agentkeepalive/-/agentkeepalive-4.2.1.tgz#a7975cbb9f83b367f06c90cc51ff28fe7d499717" + integrity sha512-Zn4cw2NEqd+9fiSVWMscnjyQ1a8Yfoc5oBajLeo5w+YBHgDUcEBY2hS4YpTz6iN5f/2zQiktcuM6tS8x1p9dpA== + dependencies: + debug "^4.1.0" + depd "^1.1.2" + humanize-ms "^1.2.1" + aggregate-error@^3.0.0: version "3.1.0" resolved "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz#92670ff50f5359bdb7a3e0d40d0ec30c5737687a" @@ -473,12 +742,12 @@ ansi-align@^2.0.0: dependencies: string-width "^2.0.0" -ansi-escapes@^4.3.1: - version "4.3.1" - resolved "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.1.tgz#a5c47cc43181f1f38ffd7076837700d395522a61" - integrity sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA== +ansi-escapes@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-5.0.0.tgz#b6a0caf0eef0c41af190e9a749e0c00ec04bb2a6" + integrity sha512-5GFMVX8HqE/TB+FuBJGuO5XG0WrsA6ptUqoODaT/n9mmUaZFkqnBueB4leqGBCmrUHnCnC4PCZTCd0E7QQ83bA== dependencies: - type-fest "^0.11.0" + type-fest "^1.0.2" ansi-regex@^2.0.0: version "2.1.1" @@ -500,6 +769,11 @@ ansi-regex@^5.0.0: resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75" integrity sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg== +ansi-regex@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" + integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== + ansi-styles@^2.2.1: version "2.2.1" resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" @@ -512,7 +786,7 @@ ansi-styles@^3.2.0, ansi-styles@^3.2.1: dependencies: color-convert "^1.9.0" -ansi-styles@^4.0.0, ansi-styles@^4.1.0: +ansi-styles@^4.0.0, ansi-styles@^4.1.0, ansi-styles@^4.3.0: version "4.3.0" resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== @@ -539,7 +813,7 @@ aproba@^1.0.3, aproba@^1.1.1, aproba@^1.1.2: resolved "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" integrity sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw== -"aproba@^1.1.2 || 2", aproba@^2.0.0: +"aproba@^1.0.3 || ^2.0.0", "aproba@^1.1.2 || 2", aproba@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz#52520b8ae5b569215b354efc0caa3fe1e45a8adc" integrity sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ== @@ -549,6 +823,14 @@ archy@~1.0.0: resolved "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz#f9c8c13757cc1dd7bc379ac77b2c62a5c2868c40" integrity sha1-+cjBN1fMHde8N5rHeyxipcKGjEA= +are-we-there-yet@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-3.0.0.tgz#ba20bd6b553e31d62fc8c31bd23d22b95734390d" + integrity sha512-0GWpv50YSOcLXaN6/FAKY3vfRbllXWV2xvfA/oKJF8pzFhWXPV+yjhJXDBbjscDYowv7Yw1A3uigpzn5iEGTyw== + dependencies: + delegates "^1.0.0" + readable-stream "^3.6.0" + are-we-there-yet@~1.1.2: version "1.1.5" resolved "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz#4b35c2944f062a8bfcda66410760350fe9ddfc21" @@ -684,6 +966,11 @@ before-after-hook@^2.1.0: resolved "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.1.0.tgz#b6c03487f44e24200dd30ca5e6a1979c5d2fb635" integrity sha512-IWIbu7pMqyw3EAJHzzHbWa85b6oud/yfKYg5rqB5hNE8CeMi3nX+2C2sj0HswfblST86hpVEOAb9x34NZd6P7A== +before-after-hook@^2.2.0: + version "2.2.2" + resolved "https://registry.yarnpkg.com/before-after-hook/-/before-after-hook-2.2.2.tgz#a6e8ca41028d90ee2c24222f201c90956091613e" + integrity sha512-3pZEU3NT5BFUo/AD5ERPWOgQOCZITni6iavr5AUw5AUwQjMlI0kzu5btnyD39AF0gUEsDPwJT+oY1ORBJijPjQ== + bin-links@^1.1.2, bin-links@^1.1.8: version "1.1.8" resolved "https://registry.npmjs.org/bin-links/-/bin-links-1.1.8.tgz#bd39aadab5dc4bdac222a07df5baf1af745b2228" @@ -696,6 +983,23 @@ bin-links@^1.1.2, bin-links@^1.1.8: npm-normalize-package-bin "^1.0.0" write-file-atomic "^2.3.0" +bin-links@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/bin-links/-/bin-links-3.0.1.tgz#cc70ffb481988b22c527d3e6e454787876987a49" + integrity sha512-9vx+ypzVhASvHTS6K+YSGf7nwQdANoz7v6MTC0aCtYnOEZ87YvMf81aY737EZnGZdpbRM3sfWjO9oWkKmuIvyQ== + dependencies: + cmd-shim "^5.0.0" + mkdirp-infer-owner "^2.0.0" + npm-normalize-package-bin "^1.0.0" + read-cmd-shim "^3.0.0" + rimraf "^3.0.0" + write-file-atomic "^4.0.0" + +binary-extensions@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" + integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== + binary-mirror-config@^1.19.0: version "1.28.0" resolved "https://registry.npmjs.org/binary-mirror-config/-/binary-mirror-config-1.28.0.tgz#90a92277ebe6581cda0b34be62e7cf6a6ed8a2d1" @@ -744,7 +1048,14 @@ brace-expansion@^1.1.7: balanced-match "^1.0.0" concat-map "0.0.1" -braces@^3.0.1: +brace-expansion@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.1.tgz#1edc459e0f0c548486ecf9fc99f2221364b9a0ae" + integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA== + dependencies: + balanced-match "^1.0.0" + +braces@^3.0.2: version "3.0.2" resolved "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== @@ -761,6 +1072,13 @@ builtins@^1.0.3: resolved "https://registry.npmjs.org/builtins/-/builtins-1.0.3.tgz#cb94faeb61c8696451db36534e1422f94f0aee88" integrity sha1-y5T662HIaWRR2zZTThQi+U8K7og= +builtins@^5.0.0: + version "5.0.1" + resolved "https://registry.yarnpkg.com/builtins/-/builtins-5.0.1.tgz#87f6db9ab0458be728564fa81d876d8d74552fa9" + integrity sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ== + dependencies: + semver "^7.0.0" + byline@^5.0.0: version "5.0.0" resolved "https://registry.npmjs.org/byline/-/byline-5.0.0.tgz#741c5216468eadc457b03410118ad77de8c1ddb1" @@ -802,6 +1120,54 @@ cacache@^12.0.0, cacache@^12.0.2, cacache@^12.0.3: unique-filename "^1.1.1" y18n "^4.0.0" +cacache@^15.2.0: + version "15.3.0" + resolved "https://registry.yarnpkg.com/cacache/-/cacache-15.3.0.tgz#dc85380fb2f556fe3dda4c719bfa0ec875a7f1eb" + integrity sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ== + dependencies: + "@npmcli/fs" "^1.0.0" + "@npmcli/move-file" "^1.0.1" + chownr "^2.0.0" + fs-minipass "^2.0.0" + glob "^7.1.4" + infer-owner "^1.0.4" + lru-cache "^6.0.0" + minipass "^3.1.1" + minipass-collect "^1.0.2" + minipass-flush "^1.0.5" + minipass-pipeline "^1.2.2" + mkdirp "^1.0.3" + p-map "^4.0.0" + promise-inflight "^1.0.1" + rimraf "^3.0.2" + ssri "^8.0.1" + tar "^6.0.2" + unique-filename "^1.1.1" + +cacache@^16.0.0, cacache@^16.0.6, cacache@^16.1.0: + version "16.1.1" + resolved "https://registry.yarnpkg.com/cacache/-/cacache-16.1.1.tgz#4e79fb91d3efffe0630d5ad32db55cc1b870669c" + integrity sha512-VDKN+LHyCQXaaYZ7rA/qtkURU+/yYhviUdvqEv2LT6QPZU8jpyzEkEVAcKlKLt5dJ5BRp11ym8lo3NKLluEPLg== + dependencies: + "@npmcli/fs" "^2.1.0" + "@npmcli/move-file" "^2.0.0" + chownr "^2.0.0" + fs-minipass "^2.1.0" + glob "^8.0.1" + infer-owner "^1.0.4" + lru-cache "^7.7.1" + minipass "^3.1.6" + minipass-collect "^1.0.2" + minipass-flush "^1.0.5" + minipass-pipeline "^1.2.4" + mkdirp "^1.0.4" + p-map "^4.0.0" + promise-inflight "^1.0.1" + rimraf "^3.0.2" + ssri "^9.0.0" + tar "^6.1.11" + unique-filename "^1.1.1" + call-bind@^1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/call-bind/-/call-bind-1.0.0.tgz#24127054bb3f9bdcb4b1fb82418186072f77b8ce" @@ -885,11 +1251,29 @@ chalk@^4.0.0: ansi-styles "^4.1.0" supports-color "^7.1.0" +chalk@^4.1.0, chalk@^4.1.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" + integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + +chalk@^5.0.0: + version "5.0.1" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-5.0.1.tgz#ca57d71e82bb534a296df63bbacc4a1c22b2a4b6" + integrity sha512-Fo07WOYGqMfCWHOzSXOt2CxDbC6skS/jO9ynEcmpANMoPrD+W1r1K6Vx7iNm+AQmETU1Xr2t+n8nzkV9t6xh3w== + chownr@^1.1.1, chownr@^1.1.2, chownr@^1.1.4: version "1.1.4" resolved "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b" integrity sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg== +chownr@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/chownr/-/chownr-2.0.0.tgz#15bfbe53d2eab4cf70f18a8cd68ebe5b3cb1dece" + integrity sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ== + ci-info@^1.5.0: version "1.6.0" resolved "https://registry.npmjs.org/ci-info/-/ci-info-1.6.0.tgz#2ca20dbb9ceb32d4524a683303313f0304b1e497" @@ -907,6 +1291,13 @@ cidr-regex@^2.0.10: dependencies: ip-regex "^2.1.0" +cidr-regex@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/cidr-regex/-/cidr-regex-3.1.1.tgz#ba1972c57c66f61875f18fd7dd487469770b571d" + integrity sha512-RBqYd32aDwbCMFJRL6wHOlDNYJsPNTt8vC82ErHF5vKt8QQzxm1FrkW8s/R5pVrXMf17sba09Uoy91PKiddAsw== + dependencies: + ip-regex "^4.1.0" + clean-stack@^2.0.0: version "2.2.0" resolved "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b" @@ -925,6 +1316,14 @@ cli-columns@^3.1.2: string-width "^2.0.0" strip-ansi "^3.0.1" +cli-columns@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/cli-columns/-/cli-columns-4.0.0.tgz#9fe4d65975238d55218c41bd2ed296a7fa555646" + integrity sha512-XW2Vg+w+L9on9wtwKpyzluIPCWXjaBahI7mTcYjx+BVIYD9c3yqcv/yKC7CmdCZat4rq2yiE1UMSJC5ivKfMtQ== + dependencies: + string-width "^4.2.3" + strip-ansi "^6.0.1" + cli-cursor@^2.1.0: version "2.1.0" resolved "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5" @@ -947,12 +1346,14 @@ cli-table3@^0.5.0, cli-table3@^0.5.1: optionalDependencies: colors "^1.1.2" -cli-table@^0.3.1: - version "0.3.1" - resolved "https://registry.npmjs.org/cli-table/-/cli-table-0.3.1.tgz#f53b05266a8b1a0b934b3d0821e6e2dc5914ae23" - integrity sha1-9TsFJmqLGguTSz0IIebi3FkUriM= +cli-table3@^0.6.1, cli-table3@^0.6.2: + version "0.6.2" + resolved "https://registry.yarnpkg.com/cli-table3/-/cli-table3-0.6.2.tgz#aaf5df9d8b5bf12634dc8b3040806a0c07120d2a" + integrity sha512-QyavHCaIC80cMivimWu4aWHilIpiDpfm3hGmqAmXVL1UsnbLuBSMd21hTX6VY4ZSDSM73ESLeF8TOYId3rBTbw== dependencies: - colors "1.0.3" + string-width "^4.2.0" + optionalDependencies: + "@colors/colors" "1.5.0" cliui@^3.2.0: version "3.2.0" @@ -972,14 +1373,14 @@ cliui@^5.0.0: strip-ansi "^5.2.0" wrap-ansi "^5.1.0" -cliui@^6.0.0: - version "6.0.0" - resolved "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz#511d702c0c4e41ca156d7d0e96021f23e13225b1" - integrity sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ== +cliui@^7.0.2: + version "7.0.4" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f" + integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ== dependencies: string-width "^4.2.0" strip-ansi "^6.0.0" - wrap-ansi "^6.2.0" + wrap-ansi "^7.0.0" clone@^1.0.2: version "1.0.4" @@ -1002,6 +1403,13 @@ cmd-shim@^3.0.0, cmd-shim@^3.0.3: graceful-fs "^4.1.2" mkdirp "~0.5.0" +cmd-shim@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/cmd-shim/-/cmd-shim-5.0.0.tgz#8d0aaa1a6b0708630694c4dbde070ed94c707724" + integrity sha512-qkCtZ59BidfEwHltnJwkyVZn+XQojdAySM1D1gSeh11Z4pW1Kpolkyo53L5noc0nrxmIvyFwTmJRo4xs7FFLPw== + dependencies: + mkdirp-infer-owner "^2.0.0" + cnpm@^6.1.1: version "6.1.1" resolved "https://registry.npmjs.org/cnpm/-/cnpm-6.1.1.tgz#b03a062f65758ddc27908f40b20bd8d84cd3eac8" @@ -1088,16 +1496,24 @@ color-name@~1.1.4: resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== -colors@1.0.3: - version "1.0.3" - resolved "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz#0433f44d809680fdeb60ed260f1b0c262e82a40b" - integrity sha1-BDP0TYCWgP3rYO0mDxsMJi6CpAs= +color-support@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/color-support/-/color-support-1.1.3.tgz#93834379a1cc9a0c61f82f52f0d04322251bd5a2" + integrity sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg== colors@^1.1.2: version "1.4.0" resolved "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz#c50491479d4c1bdaed2c9ced32cf7c7dc2360f78" integrity sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA== +columnify@^1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/columnify/-/columnify-1.6.0.tgz#6989531713c9008bb29735e61e37acf5bd553cf3" + integrity sha512-lomjuFZKfM6MSAnV9aCZC9sc0qGbmZdfygNv+nCpqVkSKdCxCklLtd16O0EILGkImHw9ZpHkAnHaB+8Zxq5W6Q== + dependencies: + strip-ansi "^6.0.1" + wcwidth "^1.0.0" + columnify@~1.5.4: version "1.5.4" resolved "https://registry.npmjs.org/columnify/-/columnify-1.5.4.tgz#4737ddf1c7b69a8a7c340570782e947eec8e78bb" @@ -1120,6 +1536,11 @@ commander@~2.10.0: dependencies: graceful-readlink ">= 1.0.0" +common-ancestor-path@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/common-ancestor-path/-/common-ancestor-path-1.0.1.tgz#4f7d2d1394d91b7abdf51871c62f71eadb0182a7" + integrity sha512-L3sHRo1pXXEqX8VU28kfgUY+YGsk09hPqZiZmLacNib6XNTCM8ubYeT7ryXQw8asB1sKgcU5lkB7ONug08aB8w== + compare-func@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/compare-func/-/compare-func-2.0.0.tgz#fb65e75edbddfd2e568554e8b5b05fff7a51fcb3" @@ -1186,15 +1607,14 @@ conventional-changelog-angular@^5.0.0: compare-func "^2.0.0" q "^1.5.1" -conventional-changelog-writer@^4.0.0: - version "4.0.18" - resolved "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-4.0.18.tgz#10b73baa59c7befc69b360562f8b9cd19e63daf8" - integrity sha512-mAQDCKyB9HsE8Ko5cCM1Jn1AWxXPYV0v8dFPabZRkvsiWUul2YyAqbIaoMKF88Zf2ffnOPSvKhboLf3fnjo5/A== +conventional-changelog-writer@^5.0.0: + version "5.0.1" + resolved "https://registry.yarnpkg.com/conventional-changelog-writer/-/conventional-changelog-writer-5.0.1.tgz#e0757072f045fe03d91da6343c843029e702f359" + integrity sha512-5WsuKUfxW7suLblAbFnxAcrvf6r+0b7GvNaWUwUIk0bXMnENP/PEieGKVUQrjPqwPT4o3EPAASBXiY6iHooLOQ== dependencies: - compare-func "^2.0.0" conventional-commits-filter "^2.0.7" dateformat "^3.0.0" - handlebars "^4.7.6" + handlebars "^4.7.7" json-stringify-safe "^5.0.1" lodash "^4.17.15" meow "^8.0.0" @@ -1210,18 +1630,17 @@ conventional-commits-filter@^2.0.0, conventional-commits-filter@^2.0.7: lodash.ismatch "^4.4.0" modify-values "^1.0.0" -conventional-commits-parser@^3.0.0, conventional-commits-parser@^3.0.7: - version "3.2.0" - resolved "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-3.2.0.tgz#9e261b139ca4b7b29bcebbc54460da36894004ca" - integrity sha512-XmJiXPxsF0JhAKyfA2Nn+rZwYKJ60nanlbSWwwkGwLQFbugsc0gv1rzc7VbbUWAzJfR1qR87/pNgv9NgmxtBMQ== +conventional-commits-parser@^3.2.3: + version "3.2.4" + resolved "https://registry.yarnpkg.com/conventional-commits-parser/-/conventional-commits-parser-3.2.4.tgz#a7d3b77758a202a9b2293d2112a8d8052c740972" + integrity sha512-nK7sAtfi+QXbxHCYfhpZsfRtaitZLIA6889kFIouLvz6repszQDgxBu7wf2WbU+Dco7sAnNCJYERCwt54WPC2Q== dependencies: JSONStream "^1.0.4" is-text-path "^1.0.1" lodash "^4.17.15" meow "^8.0.0" - split2 "^2.0.0" + split2 "^3.0.0" through2 "^4.0.0" - trim-off-newlines "^1.0.0" copy-concurrently@^1.0.0: version "1.0.5" @@ -1245,16 +1664,16 @@ core-util-is@1.0.2, core-util-is@^1.0.2, core-util-is@~1.0.0: resolved "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= -cosmiconfig@^6.0.0: - version "6.0.0" - resolved "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz#da4fee853c52f6b1e6935f41c1a2fc50bd4a9982" - integrity sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg== +cosmiconfig@^7.0.0: + version "7.0.1" + resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.0.1.tgz#714d756522cace867867ccb4474c5d01bbae5d6d" + integrity sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ== dependencies: "@types/parse-json" "^4.0.0" - import-fresh "^3.1.0" + import-fresh "^3.2.1" parse-json "^5.0.0" path-type "^4.0.0" - yaml "^1.7.2" + yaml "^1.10.0" create-error-class@^3.0.0: version "3.0.2" @@ -1272,17 +1691,6 @@ cross-spawn@^5.0.1, cross-spawn@^5.1.0: shebang-command "^1.2.0" which "^1.2.9" -cross-spawn@^6.0.0: - version "6.0.5" - resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" - integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== - dependencies: - nice-try "^1.0.4" - path-key "^2.0.1" - semver "^5.5.0" - shebang-command "^1.2.0" - which "^1.2.9" - cross-spawn@^7.0.0, cross-spawn@^7.0.3: version "7.0.3" resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" @@ -1345,10 +1753,10 @@ debug@3.1.0: dependencies: ms "2.0.0" -debug@4, debug@^4.0.0, debug@^4.2.0: - version "4.2.0" - resolved "https://registry.npmjs.org/debug/-/debug-4.2.0.tgz#7f150f93920e94c58f5574c2fd01a3110effe7f1" - integrity sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg== +debug@4, debug@^4.0.0, debug@^4.1.0, debug@^4.1.1, debug@^4.2.0, debug@^4.3.3: + version "4.3.4" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" + integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== dependencies: ms "2.1.2" @@ -1359,13 +1767,6 @@ debug@^3.1.0: dependencies: ms "^2.1.1" -debug@^4.1.1: - version "4.3.1" - resolved "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz#f0d229c505e0c6d8c49ac553d1b13dc183f6b2ee" - integrity sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ== - dependencies: - ms "2.1.2" - debuglog@^1.0.1: version "1.0.1" resolved "https://registry.npmjs.org/debuglog/-/debuglog-1.0.1.tgz#aa24ffb9ac3df9a2351837cfb2d279360cd78492" @@ -1429,6 +1830,20 @@ degenerator@^1.0.4: escodegen "1.x.x" esprima "3.x.x" +del@^6.0.0: + version "6.1.1" + resolved "https://registry.yarnpkg.com/del/-/del-6.1.1.tgz#3b70314f1ec0aa325c6b14eb36b95786671edb7a" + integrity sha512-ua8BhapfP0JUJKC/zV9yHHDW/rDoDxP4Zhn3AkA6/xT6gY7jYXJiaeyBZznYVujhZZET+UgcbZiQ7sN3WqcImg== + dependencies: + globby "^11.0.1" + graceful-fs "^4.2.4" + is-glob "^4.0.1" + is-path-cwd "^2.2.0" + is-path-inside "^3.0.2" + p-map "^4.0.0" + rimraf "^3.0.2" + slash "^3.0.0" + delayed-stream@~1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" @@ -1439,7 +1854,7 @@ delegates@^1.0.0: resolved "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" integrity sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o= -depd@~1.1.2: +depd@^1.1.2, depd@~1.1.2: version "1.1.2" resolved "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" integrity sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak= @@ -1482,6 +1897,11 @@ dezalgo@^1.0.0, dezalgo@~1.0.3: asap "^2.0.0" wrappy "1" +diff@^5.0.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/diff/-/diff-5.1.0.tgz#bc52d298c5ea8df9194800224445ed43ffc87e40" + integrity sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw== + digest-header@^0.0.1: version "0.0.1" resolved "https://registry.npmjs.org/digest-header/-/digest-header-0.0.1.tgz#11ccf6deec5766ac379744d901c12cba49514be6" @@ -1575,7 +1995,7 @@ enable@1: resolved "https://registry.npmjs.org/enable/-/enable-1.3.2.tgz#9eba6837d16d0982b59f87d889bf754443d52931" integrity sha1-nrpoN9FtCYK1n4fYib91REPVKTE= -encoding@^0.1.11: +encoding@^0.1.11, encoding@^0.1.12, encoding@^0.1.13: version "0.1.13" resolved "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz#56574afdd791f54a8e9b2785c0582a2d26210fa9" integrity sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A== @@ -1607,6 +2027,11 @@ err-code@^1.0.0: resolved "https://registry.npmjs.org/err-code/-/err-code-1.1.2.tgz#06e0116d3028f6aef4806849eb0ea6a748ae6960" integrity sha1-BuARbTAo9q70gGhJ6w6mp0iuaWA= +err-code@^2.0.2: + version "2.0.3" + resolved "https://registry.yarnpkg.com/err-code/-/err-code-2.0.3.tgz#23c2f3b756ffdfc608d30e27c9a941024807e7f9" + integrity sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA== + errno@~0.1.7: version "0.1.7" resolved "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz#4684d71779ad39af177e3f007996f7c67c852618" @@ -1677,6 +2102,11 @@ es6-promisify@^5.0.0: dependencies: es6-promise "^4.0.3" +escalade@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" + integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== + escape-html@^1.0.3: version "1.0.3" resolved "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" @@ -1732,19 +2162,6 @@ execa@^0.7.0: signal-exit "^3.0.0" strip-eof "^1.0.0" -execa@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8" - integrity sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA== - dependencies: - cross-spawn "^6.0.0" - get-stream "^4.0.0" - is-stream "^1.1.0" - npm-run-path "^2.0.0" - p-finally "^1.0.0" - signal-exit "^3.0.0" - strip-eof "^1.0.0" - execa@^4.0.0: version "4.1.0" resolved "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz#4e5491ad1572f2f17a77d388c6c857135b22847a" @@ -1814,6 +2231,17 @@ fast-glob@^3.1.1: micromatch "^4.0.2" picomatch "^2.2.1" +fast-glob@^3.2.9: + version "3.2.11" + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.11.tgz#a1172ad95ceb8a16e20caa5c5e56480e5129c1d9" + integrity sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew== + dependencies: + "@nodelib/fs.stat" "^2.0.2" + "@nodelib/fs.walk" "^1.2.3" + glob-parent "^5.1.2" + merge2 "^1.3.0" + micromatch "^4.0.4" + fast-json-stable-stringify@^2.0.0: version "2.1.0" resolved "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" @@ -1824,6 +2252,11 @@ fast-levenshtein@~2.0.6: resolved "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= +fastest-levenshtein@^1.0.12: + version "1.0.12" + resolved "https://registry.yarnpkg.com/fastest-levenshtein/-/fastest-levenshtein-1.0.12.tgz#9990f7d3a88cc5a9ffd1f1745745251700d497e2" + integrity sha512-On2N+BpYJ15xIC974QNVuYGMOlEVt4s0EOI3wwMqOmK1fdDY+FN/zltPV8vosq4ad4c/gJ1KHScUn/6AWIgiow== + fastq@^1.6.0: version "1.9.0" resolved "https://registry.npmjs.org/fastq/-/fastq-1.9.0.tgz#e16a72f338eaca48e91b5c23593bcc2ef66b7947" @@ -1889,12 +2322,12 @@ find-up@^4.1.0: locate-path "^5.0.0" path-exists "^4.0.0" -find-versions@^3.0.0: - version "3.2.0" - resolved "https://registry.npmjs.org/find-versions/-/find-versions-3.2.0.tgz#10297f98030a786829681690545ef659ed1d254e" - integrity sha512-P8WRou2S+oe222TOCHitLy8zj+SIsVJh52VP4lvXkaFVnOFFdoWv1H1Jjvel1aI6NCFOAaeAVm8qrI0odiLcww== +find-versions@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/find-versions/-/find-versions-4.0.0.tgz#3c57e573bf97769b8cb8df16934b627915da4965" + integrity sha512-wgpWy002tA+wgmO27buH/9KzyEOQnKsG/R0yrcjPT9BOFm0zRBVQbZ95nRGXWMywS8YR5knRbpohio0bcJABxQ== dependencies: - semver-regex "^2.0.0" + semver-regex "^3.1.2" flush-write-stream@^1.0.0: version "1.1.1" @@ -1943,6 +2376,15 @@ from2@^2.1.0, from2@^2.3.0: inherits "^2.0.1" readable-stream "^2.0.0" +fs-extra@^10.0.0: + version "10.1.0" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-10.1.0.tgz#02873cfbc4084dde127eaa5f9905eef2325d1abf" + integrity sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ== + dependencies: + graceful-fs "^4.2.0" + jsonfile "^6.0.1" + universalify "^2.0.0" + fs-extra@^9.0.0, fs-extra@^9.0.1: version "9.0.1" resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-9.0.1.tgz#910da0062437ba4c39fedd863f1675ccfefcb9fc" @@ -1971,6 +2413,13 @@ fs-minipass@^1.2.5: dependencies: minipass "^2.6.0" +fs-minipass@^2.0.0, fs-minipass@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-2.1.0.tgz#7f5036fdbf12c63c169190cbe4199c852271f9fb" + integrity sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg== + dependencies: + minipass "^3.0.0" + fs-vacuum@^1.2.10, fs-vacuum@~1.2.10: version "1.2.10" resolved "https://registry.npmjs.org/fs-vacuum/-/fs-vacuum-1.2.10.tgz#b7629bec07a4031a2548fdf99f5ecf1cc8b31e36" @@ -2018,6 +2467,20 @@ function-bind@^1.1.1: resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== +gauge@^4.0.3: + version "4.0.4" + resolved "https://registry.yarnpkg.com/gauge/-/gauge-4.0.4.tgz#52ff0652f2bbf607a989793d53b751bef2328dce" + integrity sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg== + dependencies: + aproba "^1.0.3 || ^2.0.0" + color-support "^1.1.3" + console-control-strings "^1.1.0" + has-unicode "^2.0.1" + signal-exit "^3.0.7" + string-width "^4.2.3" + strip-ansi "^6.0.1" + wide-align "^1.1.5" + gauge@~2.7.3: version "2.7.4" resolved "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7" @@ -2059,7 +2522,7 @@ get-caller-file@^1.0.1: resolved "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz#f978fa4c90d1dfe7ff2d6beda2a515e713bdcf4a" integrity sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w== -get-caller-file@^2.0.1: +get-caller-file@^2.0.1, get-caller-file@^2.0.5: version "2.0.5" resolved "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== @@ -2133,10 +2596,10 @@ giturl@^1.0.0: resolved "https://registry.npmjs.org/giturl/-/giturl-1.0.1.tgz#926c69bda5c48a3d8f74254e99f826835e6a4aa0" integrity sha512-wQourBdI13n8tbjcZTDl6k+ZrCRMU6p9vfp9jknZq+zfWc8xXNztpZFM4XkPHVzHcMSUZxEMYYKZjIGkPlei6Q== -glob-parent@^5.1.0: - version "5.1.1" - resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz#b6c1ef417c4e5663ea498f1c45afac6916bbc229" - integrity sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ== +glob-parent@^5.1.0, glob-parent@^5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" + integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== dependencies: is-glob "^4.0.1" @@ -2152,6 +2615,17 @@ glob@^7.0.3, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6: once "^1.3.0" path-is-absolute "^1.0.0" +glob@^8.0.1: + version "8.0.3" + resolved "https://registry.yarnpkg.com/glob/-/glob-8.0.3.tgz#415c6eb2deed9e502c68fa44a272e6da6eeca42e" + integrity sha512-ull455NHSHI/Y1FqGaaYFaLGkNMMJbavMrEGFXG/PGrg6y7sutWHUHrz6gy6WEBH6akM1M414dWKCNs+IhKdiQ== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^5.0.1" + once "^1.3.0" + global-dirs@^0.1.0: version "0.1.1" resolved "https://registry.npmjs.org/global-dirs/-/global-dirs-0.1.1.tgz#b319c0dd4607f353f3be9cca4c72fc148c49f445" @@ -2171,6 +2645,18 @@ globby@^11.0.0: merge2 "^1.3.0" slash "^3.0.0" +globby@^11.0.1: + version "11.1.0" + resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b" + integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== + dependencies: + array-union "^2.1.0" + dir-glob "^3.0.1" + fast-glob "^3.2.9" + ignore "^5.2.0" + merge2 "^1.4.1" + slash "^3.0.0" + got@^6.7.1: version "6.7.1" resolved "https://registry.npmjs.org/got/-/got-6.7.1.tgz#240cd05785a9a18e561dc1b44b41c763ef1e8db0" @@ -2193,12 +2679,17 @@ graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6 resolved "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb" integrity sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw== +graceful-fs@^4.2.10, graceful-fs@^4.2.6: + version "4.2.10" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.10.tgz#147d3a006da4ca3ce14728c7aefc287c367d7a6c" + integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA== + "graceful-readlink@>= 1.0.0": version "1.0.1" resolved "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz#4cafad76bc62f02fa039b2f94e9a3dd3a391a725" integrity sha1-TK+tdrxi8C+gObL5Tpo906ORpyU= -handlebars@^4.7.6: +handlebars@^4.7.7: version "4.7.7" resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.7.7.tgz#9ce33416aad02dbd6c8fafa8240d5d98004945a1" integrity sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA== @@ -2250,7 +2741,7 @@ has-symbols@^1.0.1: resolved "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz#9f5214758a44196c406d9bd76cebf81ec2dd31e8" integrity sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg== -has-unicode@^2.0.0, has-unicode@~2.0.1: +has-unicode@^2.0.0, has-unicode@^2.0.1, has-unicode@~2.0.1: version "2.0.1" resolved "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" integrity sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk= @@ -2272,18 +2763,37 @@ hosted-git-info@^2.1.4, hosted-git-info@^2.1.5, hosted-git-info@^2.7.1, hosted-g resolved "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz#7539bd4bc1e0e0a895815a2e0262420b12858488" integrity sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg== -hosted-git-info@^3.0.0, hosted-git-info@^3.0.6: +hosted-git-info@^3.0.6: version "3.0.7" resolved "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-3.0.7.tgz#a30727385ea85acfcee94e0aad9e368c792e036c" integrity sha512-fWqc0IcuXs+BmE9orLDyVykAG9GJtGLGuZAAqgcckPgv5xad4AcXGIv8galtQvlwutxSlaMcdw7BUtq2EIvqCQ== dependencies: lru-cache "^6.0.0" +hosted-git-info@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-4.1.0.tgz#827b82867e9ff1c8d0c4d9d53880397d2c86d224" + integrity sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA== + dependencies: + lru-cache "^6.0.0" + +hosted-git-info@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-5.0.0.tgz#df7a06678b4ebd722139786303db80fdf302ea56" + integrity sha512-rRnjWu0Bxj+nIfUOkz0695C0H6tRrN5iYIzYejb0tDEefe2AekHu/U5Kn9pEie5vsJqpNQU02az7TGSH3qpz4Q== + dependencies: + lru-cache "^7.5.1" + http-cache-semantics@^3.8.1: version "3.8.1" resolved "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-3.8.1.tgz#39b0e16add9b605bf0a9ef3d9daaf4843b4cacd2" integrity sha512-5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w== +http-cache-semantics@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz#49e91c5cbf36c9b94bcfcd71c23d5249ec74e390" + integrity sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ== + http-errors@1.7.3: version "1.7.3" resolved "https://registry.npmjs.org/http-errors/-/http-errors-1.7.3.tgz#6c619e4f9c60308c38519498c14fbb10aacebb06" @@ -2303,15 +2813,24 @@ http-proxy-agent@^2.1.0: agent-base "4" debug "3.1.0" -http-proxy-agent@^4.0.0: +http-proxy-agent@^4.0.1: version "4.0.1" - resolved "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz#8a8c8ef7f5932ccf953c296ca8291b95aa74aa3a" + resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz#8a8c8ef7f5932ccf953c296ca8291b95aa74aa3a" integrity sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg== dependencies: "@tootallnate/once" "1" agent-base "6" debug "4" +http-proxy-agent@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz#5129800203520d434f142bc78ff3c170800f2b43" + integrity sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w== + dependencies: + "@tootallnate/once" "2" + agent-base "6" + debug "4" + http-signature@~1.2.0: version "1.2.0" resolved "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" @@ -2393,25 +2912,35 @@ ignore-walk@^3.0.1: dependencies: minimatch "^3.0.4" +ignore-walk@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-5.0.1.tgz#5f199e23e1288f518d90358d461387788a154776" + integrity sha512-yemi4pMf51WKT7khInJqAvsIGzoqYXblnsz0ql8tM+yi1EKYTY1evX4NAbJrLL/Aanr2HyZeluqU+Oi7MGHokw== + dependencies: + minimatch "^5.0.1" + ignore@^5.1.4: version "5.1.8" resolved "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz#f150a8b50a34289b33e22f5889abd4d8016f0e57" integrity sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw== -import-fresh@^3.1.0: - version "3.2.2" - resolved "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.2.tgz#fc129c160c5d68235507f4331a6baad186bdbc3e" - integrity sha512-cTPNrlvJT6twpYy+YmKUKrTSjWFs3bjYjAhCwm+z4EOCubZxAuO+hHpRN64TqjEaYSHs7tJAE0w1CKMGmsG/lw== +ignore@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.0.tgz#6d3bac8fa7fe0d45d9f9be7bac2fc279577e345a" + integrity sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ== + +import-fresh@^3.2.1: + version "3.3.0" + resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" + integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== dependencies: parent-module "^1.0.0" resolve-from "^4.0.0" -import-from@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/import-from/-/import-from-3.0.0.tgz#055cfec38cd5a27d8057ca51376d7d3bf0891966" - integrity sha512-CiuXOFFSzkU5x/CR0+z7T91Iht4CXgfCxVOFRhh2Zyhg5wOpWvvDLQUsWl+gcN+QscYBjez8hDCt85O7RLDttQ== - dependencies: - resolve-from "^5.0.0" +import-from@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/import-from/-/import-from-4.0.0.tgz#2710b8d66817d232e16f4166e319248d3d5492e2" + integrity sha512-P9J71vT5nLlDeV8FHs5nNxaLbrpfAV5cF5srvbZfpwpcJoM/xZR3hiv+q+SAnuSmuGbXMWud063iIMx/V/EWZQ== import-lazy@^2.1.0: version "2.1.0" @@ -2451,6 +2980,11 @@ ini@^1.3.4, ini@^1.3.5, ini@~1.3.0: resolved "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927" integrity sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw== +ini@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/ini/-/ini-3.0.0.tgz#2f6de95006923aa75feed8894f5686165adc08f1" + integrity sha512-TxYQaeNW/N8ymDvwAxPyRbhMBtnEwuvaTYpOQkFx1nSeusgezHniEc/l35Vo4iCq/mMiTJbpD7oYxN98hFlfmw== + init-package-json@^1.10.3: version "1.10.3" resolved "https://registry.npmjs.org/init-package-json/-/init-package-json-1.10.3.tgz#45ffe2f610a8ca134f2bd1db5637b235070f6cbe" @@ -2465,10 +2999,23 @@ init-package-json@^1.10.3: validate-npm-package-license "^3.0.1" validate-npm-package-name "^3.0.0" -into-stream@^5.0.0: - version "5.1.1" - resolved "https://registry.npmjs.org/into-stream/-/into-stream-5.1.1.tgz#f9a20a348a11f3c13face22763f2d02e127f4db8" - integrity sha512-krrAJ7McQxGGmvaYbB7Q1mcA+cRwg9Ij2RfWIeVesNBgVDZmzY/Fa4IpZUT3bmdRzMzdf/mzltCG2Dq99IZGBA== +init-package-json@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/init-package-json/-/init-package-json-3.0.2.tgz#f5bc9bac93f2bdc005778bc2271be642fecfcd69" + integrity sha512-YhlQPEjNFqlGdzrBfDNRLhvoSgX7iQRgSxgsNknRQ9ITXFT7UMfVMWhBTOh2Y+25lRnGrv5Xz8yZwQ3ACR6T3A== + dependencies: + npm-package-arg "^9.0.1" + promzard "^0.3.0" + read "^1.0.7" + read-package-json "^5.0.0" + semver "^7.3.5" + validate-npm-package-license "^3.0.4" + validate-npm-package-name "^4.0.0" + +into-stream@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/into-stream/-/into-stream-6.0.0.tgz#4bfc1244c0128224e18b8870e85b2de8e66c6702" + integrity sha512-XHbaOAvP+uFKUFsOgoNPRjLkwB+I22JFPFe5OjTkQ0nwgj6+pSjb4NmB6VMxaPshLiOf+zcpOCBQuLwC1KHhZA== dependencies: from2 "^2.3.0" p-is-promise "^3.0.0" @@ -2483,6 +3030,11 @@ ip-regex@^2.1.0: resolved "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz#fa78bf5d2e6913c911ce9f819ee5146bb6d844e9" integrity sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk= +ip-regex@^4.1.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-4.3.0.tgz#687275ab0f57fa76978ff8f4dddc8a23d5990db5" + integrity sha512-B9ZWJxHHOHUhUjCPrMpLD4xEq35bUTClHM1S6CBU5ixQnkZmwipwgc96vAd7AAGM9TGHvJR+Uss+/Ak6UphK+Q== + ip@1.1.5, ip@^1.1.5: version "1.1.5" resolved "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz#bdded70114290828c0a039e72ef25f5aaec4354a" @@ -2512,6 +3064,13 @@ is-cidr@^3.0.0: dependencies: cidr-regex "^2.0.10" +is-cidr@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/is-cidr/-/is-cidr-4.0.2.tgz#94c7585e4c6c77ceabf920f8cde51b8c0fda8814" + integrity sha512-z4a1ENUajDbEl/Q6/pVBpTR1nBjjEE1X7qb7bmWYanNnPoKAvUCPFKeXV6Fe4mgTkWKBqiHIcwsI3SndiO5FeA== + dependencies: + cidr-regex "^3.1.1" + is-class-hotfix@~0.0.6: version "0.0.6" resolved "https://registry.npmjs.org/is-class-hotfix/-/is-class-hotfix-0.0.6.tgz#a527d31fb23279281dde5f385c77b5de70a72435" @@ -2524,6 +3083,13 @@ is-core-module@^2.0.0: dependencies: has "^1.0.3" +is-core-module@^2.8.1: + version "2.9.0" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.9.0.tgz#e1c34429cd51c6dd9e09e0799e396e27b19a9c69" + integrity sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A== + dependencies: + has "^1.0.3" + is-date-object@^1.0.1: version "1.0.2" resolved "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz#bda736f2cd8fd06d32844e7743bfa7494c3bfd7e" @@ -2536,8 +3102,8 @@ is-extendable@^0.1.0: is-extglob@^2.1.1: version "2.1.1" - resolved "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" - integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= + resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" + integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== is-fullwidth-code-point@^1.0.0: version "1.0.0" @@ -2557,9 +3123,9 @@ is-fullwidth-code-point@^3.0.0: integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== is-glob@^4.0.0, is-glob@^4.0.1: - version "4.0.1" - resolved "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc" - integrity sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg== + version "4.0.3" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" + integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== dependencies: is-extglob "^2.1.1" @@ -2571,6 +3137,11 @@ is-installed-globally@^0.1.0: global-dirs "^0.1.0" is-path-inside "^1.0.0" +is-lambda@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-lambda/-/is-lambda-1.0.1.tgz#3d9877899e6a53efc0160504cde15f82e6f061d5" + integrity sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ== + is-negative-zero@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.0.tgz#9553b121b0fac28869da9ed459e20c7543788461" @@ -2596,6 +3167,11 @@ is-obj@^2.0.0: resolved "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz#473fb05d973705e3fd9620545018ca8e22ef4982" integrity sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w== +is-path-cwd@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-2.2.0.tgz#67d43b82664a7b5191fd9119127eb300048a9fdb" + integrity sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ== + is-path-inside@^1.0.0: version "1.0.1" resolved "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz#8ef5b7de50437a3fdca6b4e865ef7aa55cb48036" @@ -2603,6 +3179,11 @@ is-path-inside@^1.0.0: dependencies: path-is-inside "^1.0.1" +is-path-inside@^3.0.2: + version "3.0.3" + resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283" + integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== + is-plain-obj@^1.1.0: version "1.1.0" resolved "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" @@ -2724,7 +3305,7 @@ json-parse-better-errors@^1.0.0, json-parse-better-errors@^1.0.1, json-parse-bet resolved "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== -json-parse-even-better-errors@^2.3.0: +json-parse-even-better-errors@^2.3.0, json-parse-even-better-errors@^2.3.1: version "2.3.1" resolved "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== @@ -2739,6 +3320,11 @@ json-schema@0.2.3: resolved "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" integrity sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM= +json-stringify-nice@^1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/json-stringify-nice/-/json-stringify-nice-1.1.4.tgz#2c937962b80181d3f317dd39aa323e14f5a60a67" + integrity sha512-5Z5RFW63yxReJ7vANgW6eZFGWaQvnPE3WNmZoOJrSkGju2etKA2L5rrOa1sm877TVTFt57A80BH1bArcmlLfPw== + json-stringify-safe@^5.0.1, json-stringify-safe@~5.0.1: version "5.0.1" resolved "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" @@ -2760,7 +3346,7 @@ jsonfile@^6.0.1: optionalDependencies: graceful-fs "^4.1.6" -jsonparse@^1.2.0: +jsonparse@^1.2.0, jsonparse@^1.3.1: version "1.3.1" resolved "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz#3f4dae4a91fac315f71062f8521cc239f1366280" integrity sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA= @@ -2775,6 +3361,16 @@ jsprim@^1.2.2: json-schema "0.2.3" verror "1.10.0" +just-diff-apply@^5.2.0: + version "5.3.1" + resolved "https://registry.yarnpkg.com/just-diff-apply/-/just-diff-apply-5.3.1.tgz#30f40809ffed55ad76dccf73fa9b85a76964c867" + integrity sha512-dgFenZnMsc1xGNqgdtgnh7DK+Oy352CE3VZLbzcbQpsBs9iI2K3M0IRrdgREZ72eItTjbl0suRyvKRdVQa9GbA== + +just-diff@^5.0.1: + version "5.0.3" + resolved "https://registry.yarnpkg.com/just-diff/-/just-diff-5.0.3.tgz#4c9c514dec5526b25ab977590e3c39a0cf271554" + integrity sha512-a8p80xcpJ6sdurk5PxDKb4mav9MeKjA3zFKZpCWBIfvg8mznfnmb13MKZvlrwJ+Lhis0wM3uGAzE0ArhFHvIcg== + kind-of@^6.0.3: version "6.0.3" resolved "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" @@ -2878,6 +3474,16 @@ libnpmaccess@^3.0.2: npm-package-arg "^6.1.0" npm-registry-fetch "^4.0.0" +libnpmaccess@^6.0.2: + version "6.0.3" + resolved "https://registry.yarnpkg.com/libnpmaccess/-/libnpmaccess-6.0.3.tgz#473cc3e4aadb2bc713419d92e45d23b070d8cded" + integrity sha512-4tkfUZprwvih2VUZYMozL7EMKgQ5q9VW2NtRyxWtQWlkLTAWHRklcAvBN49CVqEkhUw7vTX2fNgB5LzgUucgYg== + dependencies: + aproba "^2.0.0" + minipass "^3.1.1" + npm-package-arg "^9.0.1" + npm-registry-fetch "^13.0.0" + libnpmconfig@^1.2.1: version "1.2.1" resolved "https://registry.npmjs.org/libnpmconfig/-/libnpmconfig-1.2.1.tgz#c0c2f793a74e67d4825e5039e7a02a0044dfcbc0" @@ -2887,6 +3493,45 @@ libnpmconfig@^1.2.1: find-up "^3.0.0" ini "^1.3.5" +libnpmdiff@^4.0.2: + version "4.0.3" + resolved "https://registry.yarnpkg.com/libnpmdiff/-/libnpmdiff-4.0.3.tgz#ad3997330c887c1098ac42682f1e5ad014d49cec" + integrity sha512-AiwBtXtH7HjfmT7FbTf9LFzJB347RrIA4I+IewMfhq8vYXaUveHwJMVNgMM2H/o2J+7Hf12JCBoOF5bTwlmGyw== + dependencies: + "@npmcli/disparity-colors" "^2.0.0" + "@npmcli/installed-package-contents" "^1.0.7" + binary-extensions "^2.2.0" + diff "^5.0.0" + minimatch "^5.0.1" + npm-package-arg "^9.0.1" + pacote "^13.0.5" + tar "^6.1.0" + +libnpmexec@^4.0.2: + version "4.0.6" + resolved "https://registry.yarnpkg.com/libnpmexec/-/libnpmexec-4.0.6.tgz#600beffd6f265cf92a096a7f336f330bc0019e82" + integrity sha512-v1jAPJyFFex6R0YHYXuudR4liQ3tYJ7vVZ6eThOex4+WzQEnoShLVfK3MLyFbjdGNO85wCHcVWVpXaBOVnVa/w== + dependencies: + "@npmcli/arborist" "^5.0.0" + "@npmcli/ci-detect" "^2.0.0" + "@npmcli/run-script" "^3.0.0" + chalk "^4.1.0" + mkdirp-infer-owner "^2.0.0" + npm-package-arg "^9.0.1" + npmlog "^6.0.2" + pacote "^13.0.5" + proc-log "^2.0.0" + read "^1.0.7" + read-package-json-fast "^2.0.2" + walk-up-path "^1.0.0" + +libnpmfund@^3.0.1: + version "3.0.2" + resolved "https://registry.yarnpkg.com/libnpmfund/-/libnpmfund-3.0.2.tgz#7da0827950f0db2cce0acb0dc7652d1834a8b239" + integrity sha512-wmFMP/93Wjy+jDg5LaSldDgAhSgCyA64JUUmp806Kae7y3YP9Qv5m1vUhPxT4yebxgB2v/I6G1/RUcNb1y0kVg== + dependencies: + "@npmcli/arborist" "^5.0.0" + libnpmhook@^5.0.3: version "5.0.3" resolved "https://registry.npmjs.org/libnpmhook/-/libnpmhook-5.0.3.tgz#4020c0f5edbf08ebe395325caa5ea01885b928f7" @@ -2897,6 +3542,14 @@ libnpmhook@^5.0.3: get-stream "^4.0.0" npm-registry-fetch "^4.0.0" +libnpmhook@^8.0.2: + version "8.0.3" + resolved "https://registry.yarnpkg.com/libnpmhook/-/libnpmhook-8.0.3.tgz#9628518a63455d21dafda312ee46175275707ff5" + integrity sha512-TEdNI1mC5zS+w/juCgxrwwQnpbq9lY76NDOS0N37pn6pWIUxB1Yq8mwy6MUEXR1TgH4HurSQyKT6I6Kp9Wjm4A== + dependencies: + aproba "^2.0.0" + npm-registry-fetch "^13.0.0" + libnpmorg@^1.0.1: version "1.0.1" resolved "https://registry.npmjs.org/libnpmorg/-/libnpmorg-1.0.1.tgz#5d2503f6ceb57f33dbdcc718e6698fea6d5ad087" @@ -2907,6 +3560,23 @@ libnpmorg@^1.0.1: get-stream "^4.0.0" npm-registry-fetch "^4.0.0" +libnpmorg@^4.0.2: + version "4.0.3" + resolved "https://registry.yarnpkg.com/libnpmorg/-/libnpmorg-4.0.3.tgz#a85cbdb3665ad4f7c7279d239a4581ec2eeef5a6" + integrity sha512-r4CpmCEF+e5PbFMBi64xSXmqn0uGgV4T7NWpGL4/A6KT/DTtIxALILQZq+l0ZdN1xm4RjOvqSDR22oT4il8rAQ== + dependencies: + aproba "^2.0.0" + npm-registry-fetch "^13.0.0" + +libnpmpack@^4.0.2: + version "4.1.0" + resolved "https://registry.yarnpkg.com/libnpmpack/-/libnpmpack-4.1.0.tgz#93a170b67bc52e15edc7b1f2e09b2c36e532b897" + integrity sha512-BHwojfEbJvVVJXivZjOCe3Y0IzQ47p6c/bfebrpzazuFNRoS9XOsbkncRbl3f23+u9b51eplzwaPh/5xSOAWHg== + dependencies: + "@npmcli/run-script" "^3.0.0" + npm-package-arg "^9.0.1" + pacote "^13.5.0" + libnpmpublish@^1.1.2: version "1.1.3" resolved "https://registry.npmjs.org/libnpmpublish/-/libnpmpublish-1.1.3.tgz#e3782796722d79eef1a0a22944c117e0c4ca4280" @@ -2922,6 +3592,17 @@ libnpmpublish@^1.1.2: semver "^5.5.1" ssri "^6.0.1" +libnpmpublish@^6.0.2: + version "6.0.4" + resolved "https://registry.yarnpkg.com/libnpmpublish/-/libnpmpublish-6.0.4.tgz#adb41ec6b0c307d6f603746a4d929dcefb8f1a0b" + integrity sha512-lvAEYW8mB8QblL6Q/PI/wMzKNvIrF7Kpujf/4fGS/32a2i3jzUXi04TNyIBcK6dQJ34IgywfaKGh+Jq4HYPFmg== + dependencies: + normalize-package-data "^4.0.0" + npm-package-arg "^9.0.1" + npm-registry-fetch "^13.0.0" + semver "^7.3.7" + ssri "^9.0.0" + libnpmsearch@^2.0.2: version "2.0.2" resolved "https://registry.npmjs.org/libnpmsearch/-/libnpmsearch-2.0.2.tgz#9a4f059102d38e3dd44085bdbfe5095f2a5044cf" @@ -2931,6 +3612,13 @@ libnpmsearch@^2.0.2: get-stream "^4.0.0" npm-registry-fetch "^4.0.0" +libnpmsearch@^5.0.2: + version "5.0.3" + resolved "https://registry.yarnpkg.com/libnpmsearch/-/libnpmsearch-5.0.3.tgz#ed502a4c2c70ea36723180455fae1357546b2184" + integrity sha512-Ofq76qKAPhxbiyzPf/5LPjJln26VTKwU9hIU0ACxQ6tNtBJ1CHmI7iITrdp7vNezhZc0FlkXwrIpqXjhBJZgLQ== + dependencies: + npm-registry-fetch "^13.0.0" + libnpmteam@^1.0.2: version "1.0.2" resolved "https://registry.npmjs.org/libnpmteam/-/libnpmteam-1.0.2.tgz#8b48bcbb6ce70dd8150c950fcbdbf3feb6eec820" @@ -2941,6 +3629,25 @@ libnpmteam@^1.0.2: get-stream "^4.0.0" npm-registry-fetch "^4.0.0" +libnpmteam@^4.0.2: + version "4.0.3" + resolved "https://registry.yarnpkg.com/libnpmteam/-/libnpmteam-4.0.3.tgz#9335fbbd032b3770f5c9b7ffc6203f47d1ed144a" + integrity sha512-LsYYLz4TlTpcqkusInY5MhKjiHFaCx1GV0LmydXJ/QMh+3IWBJpUhes4ynTZuFoJKkDIFjxyMU09ul+RZixgdg== + dependencies: + aproba "^2.0.0" + npm-registry-fetch "^13.0.0" + +libnpmversion@^3.0.1: + version "3.0.4" + resolved "https://registry.yarnpkg.com/libnpmversion/-/libnpmversion-3.0.4.tgz#a30f563416ea1e2dd69878b4a9edf4eb4a070ef8" + integrity sha512-q5hvZlso0SMLgKm4AMtleRWtq4pERprebEGV6OwKi24efgAOgNDP98+jNUX2mIR2wp9eAa6ybkNNWu4yMaCsVw== + dependencies: + "@npmcli/git" "^3.0.0" + "@npmcli/run-script" "^3.0.0" + json-parse-even-better-errors "^2.3.1" + proc-log "^2.0.0" + semver "^7.3.7" + libnpx@^10.2.4: version "10.2.4" resolved "https://registry.npmjs.org/libnpx/-/libnpx-10.2.4.tgz#ef0e3258e29aef2ec7ee3276115e20e67f67d4ee" @@ -3072,11 +3779,6 @@ lodash.isstring@^4.0.1: resolved "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz#d527dfb5456eca7cc9bb95d5daeaf88ba54a5451" integrity sha1-1SfftUVuynzJu5XV2ur4i6VKVFE= -lodash.toarray@^4.4.0: - version "4.4.0" - resolved "https://registry.npmjs.org/lodash.toarray/-/lodash.toarray-4.4.0.tgz#24c4bfcd6b2fba38bfd0594db1179d8e9b656561" - integrity sha1-JMS/zWsvuji/0FlNsRedjptlZWE= - lodash.union@~4.6.0: version "4.6.0" resolved "https://registry.npmjs.org/lodash.union/-/lodash.union-4.6.0.tgz#48bb5088409f16f1821666641c44dd1aaae3cd88" @@ -3097,7 +3799,7 @@ lodash.without@~4.4.0: resolved "https://registry.npmjs.org/lodash.without/-/lodash.without-4.4.0.tgz#3cd4574a00b67bae373a94b748772640507b7aac" integrity sha1-PNRXSgC2e643OpS3SHcmQFB7eqw= -lodash@^4.17.15, lodash@^4.17.4: +lodash@^4.17.15, lodash@^4.17.21, lodash@^4.17.4: version "4.17.21" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== @@ -3141,10 +3843,10 @@ lru-cache@^6.0.0: dependencies: yallist "^4.0.0" -macos-release@^2.2.0: - version "2.4.1" - resolved "https://registry.npmjs.org/macos-release/-/macos-release-2.4.1.tgz#64033d0ec6a5e6375155a74b1a1eba8e509820ac" - integrity sha512-H/QHeBIN1fIGJX517pvK8IEK53yQOW7YcEI55oYtgjDdoCQQz7eJS94qt5kNrscReEyuD/JcdFCm2XBEcGOITg== +lru-cache@^7.4.4, lru-cache@^7.5.1, lru-cache@^7.7.1: + version "7.10.1" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-7.10.1.tgz#db577f42a94c168f676b638d15da8fb073448cab" + integrity sha512-BQuhQxPuRl79J5zSXRP+uNzPOyZw2oFI9JLRQ80XswSvg21KMKNtQza9eF42rfI/3Z40RvzBdXgziEkudzjo8A== make-dir@^1.0.0: version "1.3.0" @@ -3153,6 +3855,28 @@ make-dir@^1.0.0: dependencies: pify "^3.0.0" +make-fetch-happen@^10.0.3, make-fetch-happen@^10.0.6, make-fetch-happen@^10.1.6: + version "10.1.7" + resolved "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-10.1.7.tgz#b1402cb3c9fad92b380ff3a863cdae5414a42f76" + integrity sha512-J/2xa2+7zlIUKqfyXDCXFpH3ypxO4k3rgkZHPSZkyUYcBT/hM80M3oyKLM/9dVriZFiGeGGS2Ei+0v2zfhqj3Q== + dependencies: + agentkeepalive "^4.2.1" + cacache "^16.1.0" + http-cache-semantics "^4.1.0" + http-proxy-agent "^5.0.0" + https-proxy-agent "^5.0.0" + is-lambda "^1.0.1" + lru-cache "^7.7.1" + minipass "^3.1.6" + minipass-collect "^1.0.2" + minipass-fetch "^2.0.3" + minipass-flush "^1.0.5" + minipass-pipeline "^1.2.4" + negotiator "^0.6.3" + promise-retry "^2.0.1" + socks-proxy-agent "^7.0.0" + ssri "^9.0.0" + make-fetch-happen@^5.0.0: version "5.0.2" resolved "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-5.0.2.tgz#aa8387104f2687edca01c8687ee45013d02d19bd" @@ -3170,6 +3894,28 @@ make-fetch-happen@^5.0.0: socks-proxy-agent "^4.0.0" ssri "^6.0.0" +make-fetch-happen@^9.1.0: + version "9.1.0" + resolved "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-9.1.0.tgz#53085a09e7971433e6765f7971bf63f4e05cb968" + integrity sha512-+zopwDy7DNknmwPQplem5lAZX/eCOzSvSNNcSKm5eVwTkOBzoktEfXsa9L23J/GIRhxRsaxzkPEhrJEpE2F4Gg== + dependencies: + agentkeepalive "^4.1.3" + cacache "^15.2.0" + 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" + negotiator "^0.6.2" + promise-retry "^2.0.1" + socks-proxy-agent "^6.0.0" + ssri "^8.0.0" + map-obj@^1.0.0: version "1.0.1" resolved "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d" @@ -3180,22 +3926,22 @@ map-obj@^4.0.0: resolved "https://registry.npmjs.org/map-obj/-/map-obj-4.1.0.tgz#b91221b542734b9f14256c0132c897c5d7256fd5" integrity sha512-glc9y00wgtwcDmp7GaE/0b0OnxpNJsVf3ael/An6Fe2Q51LLwN1er6sdomLRzz5h0+yMpiYLhWYF5R7HeqVd4g== -marked-terminal@^4.0.0: - version "4.1.0" - resolved "https://registry.npmjs.org/marked-terminal/-/marked-terminal-4.1.0.tgz#01087372d3636dc7cb286475a1d6147187f500e0" - integrity sha512-5KllfAOW02WS6hLRQ7cNvGOxvKW1BKuXELH4EtbWfyWgxQhROoMxEvuQ/3fTgkNjledR0J48F4HbapvYp1zWkQ== +marked-terminal@^5.0.0: + version "5.1.1" + resolved "https://registry.yarnpkg.com/marked-terminal/-/marked-terminal-5.1.1.tgz#d2edc2991841d893ee943b44b40b2ee9518b4d9f" + integrity sha512-+cKTOx9P4l7HwINYhzbrBSyzgxO2HaHKGZGuB1orZsMIgXYaJyfidT81VXRdpelW/PcHEWxywscePVgI/oUF6g== dependencies: - ansi-escapes "^4.3.1" + ansi-escapes "^5.0.0" cardinal "^2.1.1" - chalk "^4.0.0" - cli-table "^0.3.1" - node-emoji "^1.10.0" - supports-hyperlinks "^2.1.0" + chalk "^5.0.0" + cli-table3 "^0.6.1" + node-emoji "^1.11.0" + supports-hyperlinks "^2.2.0" -marked@^1.0.0: - version "1.2.3" - resolved "https://registry.npmjs.org/marked/-/marked-1.2.3.tgz#58817ba348a7c9398cb94d40d12e0d08df83af57" - integrity sha512-RQuL2i6I6Gn+9n81IDNGbL0VHnta4a+8ZhqvryXEniTb/hQNtf3i26hi1XWUhzb9BgVyWHKR3UO8MaHtKoYibw== +marked@^4.0.10: + version "4.0.16" + resolved "https://registry.yarnpkg.com/marked/-/marked-4.0.16.tgz#9ec18fc1a723032eb28666100344d9428cf7a264" + integrity sha512-wahonIQ5Jnyatt2fn8KqF/nIqZM8mh3oRu2+l5EANGMhu6RFjiSG52QNE2eWzFMI94HqYSgN184NurgNG6CztA== meant@^1.0.2: version "1.0.2" @@ -3231,18 +3977,18 @@ merge-stream@^2.0.0: resolved "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== -merge2@^1.3.0: +merge2@^1.3.0, merge2@^1.4.1: version "1.4.1" resolved "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== -micromatch@^4.0.0, micromatch@^4.0.2: - version "4.0.2" - resolved "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz#4fcb0999bf9fbc2fcbdd212f6d629b9a56c39259" - integrity sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q== +micromatch@^4.0.0, micromatch@^4.0.2, micromatch@^4.0.4: + version "4.0.5" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6" + integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== dependencies: - braces "^3.0.1" - picomatch "^2.0.5" + braces "^3.0.2" + picomatch "^2.3.1" mime-db@1.44.0: version "1.44.0" @@ -3261,10 +4007,10 @@ mime@^1.3.4: resolved "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== -mime@^2.4.3: - version "2.4.6" - resolved "https://registry.npmjs.org/mime/-/mime-2.4.6.tgz#e5b407c90db442f2beb5b162373d07b69affa4d1" - integrity sha512-RZKhC3EmpBchfTGBVb8fb+RL2cWyw/32lshnsETttkBAyAUXSGHxbEJWWRXc751DrIxG1q04b8QwMbAwkRPpUA== +mime@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/mime/-/mime-3.0.0.tgz#b374550dca3a0c18443b0c950a6a58f1931cf7a7" + integrity sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A== mimic-fn@^1.0.0: version "1.2.0" @@ -3288,6 +4034,13 @@ minimatch@^3.0.4: dependencies: brace-expansion "^1.1.7" +minimatch@^5.0.1: + version "5.1.0" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.1.0.tgz#1717b464f4971b144f6aabe8f2d0b8e4511e09c7" + integrity sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg== + dependencies: + brace-expansion "^2.0.1" + minimist-options@4.1.0: version "4.1.0" resolved "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz#c0655713c53a8a2ebd77ffa247d342c40f010619" @@ -3298,9 +4051,67 @@ minimist-options@4.1.0: kind-of "^6.0.3" minimist@^1.1.0, minimist@^1.2.0, minimist@^1.2.5: - version "1.2.5" - resolved "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" - integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== + version "1.2.6" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.6.tgz#8637a5b759ea0d6e98702cfb3a9283323c93af44" + integrity sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q== + +minipass-collect@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/minipass-collect/-/minipass-collect-1.0.2.tgz#22b813bf745dc6edba2576b940022ad6edc8c617" + integrity sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA== + dependencies: + minipass "^3.0.0" + +minipass-fetch@^1.3.2: + version "1.4.1" + resolved "https://registry.yarnpkg.com/minipass-fetch/-/minipass-fetch-1.4.1.tgz#d75e0091daac1b0ffd7e9d41629faff7d0c1f1b6" + integrity sha512-CGH1eblLq26Y15+Azk7ey4xh0J/XfJfrCox5LDJiKqI2Q2iwOLOKrlmIaODiSQS8d18jalF6y2K2ePUm0CmShw== + dependencies: + minipass "^3.1.0" + minipass-sized "^1.0.3" + minizlib "^2.0.0" + optionalDependencies: + encoding "^0.1.12" + +minipass-fetch@^2.0.3: + version "2.1.0" + resolved "https://registry.yarnpkg.com/minipass-fetch/-/minipass-fetch-2.1.0.tgz#ca1754a5f857a3be99a9271277246ac0b44c3ff8" + integrity sha512-H9U4UVBGXEyyWJnqYDCLp1PwD8XIkJ4akNHp1aGVI+2Ym7wQMlxDKi4IB4JbmyU+pl9pEs/cVrK6cOuvmbK4Sg== + dependencies: + minipass "^3.1.6" + minipass-sized "^1.0.3" + minizlib "^2.1.2" + optionalDependencies: + encoding "^0.1.13" + +minipass-flush@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/minipass-flush/-/minipass-flush-1.0.5.tgz#82e7135d7e89a50ffe64610a787953c4c4cbb373" + integrity sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw== + dependencies: + minipass "^3.0.0" + +minipass-json-stream@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/minipass-json-stream/-/minipass-json-stream-1.0.1.tgz#7edbb92588fbfc2ff1db2fc10397acb7b6b44aa7" + integrity sha512-ODqY18UZt/I8k+b7rl2AENgbWE8IDYam+undIJONvigAz8KR5GWblsFTEfQs0WODsjbSXWlm+JHEv8Gr6Tfdbg== + dependencies: + jsonparse "^1.3.1" + minipass "^3.0.0" + +minipass-pipeline@^1.2.2, minipass-pipeline@^1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz#68472f79711c084657c067c5c6ad93cddea8214c" + integrity sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A== + dependencies: + minipass "^3.0.0" + +minipass-sized@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/minipass-sized/-/minipass-sized-1.0.3.tgz#70ee5a7c5052070afacfbc22977ea79def353b70" + integrity sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g== + dependencies: + minipass "^3.0.0" minipass@^2.3.5, minipass@^2.6.0, minipass@^2.8.6, minipass@^2.9.0: version "2.9.0" @@ -3310,6 +4121,13 @@ minipass@^2.3.5, minipass@^2.6.0, minipass@^2.8.6, minipass@^2.9.0: safe-buffer "^5.1.2" yallist "^3.0.0" +minipass@^3.0.0, minipass@^3.1.0, minipass@^3.1.1, minipass@^3.1.3, minipass@^3.1.6: + version "3.1.6" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-3.1.6.tgz#3b8150aa688a711a1521af5e8779c1d3bb4f45ee" + integrity sha512-rty5kpw9/z8SX9dmxblFA6edItUmwJgMeYDZRrwlIVN27i8gysGbznJwUggw2V/FVqFSDdWy040ZPS811DYAqQ== + dependencies: + yallist "^4.0.0" + minizlib@^1.2.1: version "1.3.3" resolved "https://registry.npmjs.org/minizlib/-/minizlib-1.3.3.tgz#2290de96818a34c29551c8a8d301216bd65a861d" @@ -3317,6 +4135,14 @@ minizlib@^1.2.1: dependencies: minipass "^2.9.0" +minizlib@^2.0.0, minizlib@^2.1.1, minizlib@^2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-2.1.2.tgz#e90d3466ba209b932451508a11ce3d3632145931" + integrity sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg== + dependencies: + minipass "^3.0.0" + yallist "^4.0.0" + mississippi@^3.0.0: version "3.0.0" resolved "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz#ea0a3291f97e0b5e8776b363d5f0a12d94c67022" @@ -3333,6 +4159,15 @@ mississippi@^3.0.0: stream-each "^1.1.0" through2 "^2.0.0" +mkdirp-infer-owner@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/mkdirp-infer-owner/-/mkdirp-infer-owner-2.0.0.tgz#55d3b368e7d89065c38f32fd38e638f0ab61d316" + integrity sha512-sdqtiFt3lkOaYvTXSRIUjkIdPTcxgv5+fgqYE/5qgwdw12cOrAuzzgzvVExIkH/ul1oeHN3bCLOWSG3XOqbKKw== + dependencies: + chownr "^2.0.0" + infer-owner "^1.0.4" + mkdirp "^1.0.3" + "mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@^0.5.5, mkdirp@~0.5.0: version "0.5.5" resolved "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def" @@ -3340,15 +4175,20 @@ mississippi@^3.0.0: dependencies: minimist "^1.2.5" +mkdirp@^1.0.3, mkdirp@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" + integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== + modify-values@^1.0.0: version "1.0.1" resolved "https://registry.npmjs.org/modify-values/-/modify-values-1.0.1.tgz#b3939fa605546474e3e3e3c63d64bd43b4ee6022" integrity sha512-xV2bxeN6F7oYjZWTe/YPAy6MN2M+sL4u/Rlm2AHCIVGfo2p1yGmBHQ6vHehl4bRTZBdHu3TSkWdYgkwpYzAGSw== moment@^2.18.1: - version "2.29.1" - resolved "https://registry.npmjs.org/moment/-/moment-2.29.1.tgz#b2be769fa31940be9eeea6469c075e35006fa3d3" - integrity sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ== + version "2.29.4" + resolved "https://registry.yarnpkg.com/moment/-/moment-2.29.4.tgz#3dbe052889fe7c1b2ed966fcb3a77328964ef108" + integrity sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w== move-concurrently@^1.0.1: version "1.0.1" @@ -3372,6 +4212,11 @@ ms@2.1.2, ms@^2.0.0, ms@^2.1.1: resolved "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== +ms@^2.1.2: + version "2.1.3" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" + integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== + mute-stream@~0.0.4: version "0.0.8" resolved "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d" @@ -3397,6 +4242,11 @@ mz@^2.7.0: object-assign "^4.0.1" thenify-all "^1.0.0" +negotiator@^0.6.2, negotiator@^0.6.3: + version "0.6.3" + resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.3.tgz#58e323a72fedc0d6f9cd4d31fe49f51479590ccd" + integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg== + neo-async@^2.6.0: version "2.6.2" resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" @@ -3412,17 +4262,12 @@ netmask@^1.0.6: resolved "https://registry.npmjs.org/netmask/-/netmask-1.0.6.tgz#20297e89d86f6f6400f250d9f4f6b4c1945fcd35" integrity sha1-ICl+idhvb2QA8lDZ9Pa0wZRfzTU= -nice-try@^1.0.4: - version "1.0.5" - resolved "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" - integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== - -node-emoji@^1.10.0: - version "1.10.0" - resolved "https://registry.npmjs.org/node-emoji/-/node-emoji-1.10.0.tgz#8886abd25d9c7bb61802a658523d1f8d2a89b2da" - integrity sha512-Yt3384If5H6BYGVHiHwTL+99OzJKHhgp82S8/dktEK73T26BazdgZ4JZh92xSVtGNJvz9UbXdNAc5hcrXV42vw== +node-emoji@^1.11.0: + version "1.11.0" + resolved "https://registry.yarnpkg.com/node-emoji/-/node-emoji-1.11.0.tgz#69a0150e6946e2f115e9d7ea4df7971e2628301c" + integrity sha512-wo2DpQkQp7Sjm2A0cq+sN7EHKO6Sl0ctXeBdFZrL9T9+UywORbufTcTZxom8YqpLQt/FqNMUkOpkZrJVYSKD3A== dependencies: - lodash.toarray "^4.4.0" + lodash "^4.17.21" node-fetch-npm@^2.0.2: version "2.0.4" @@ -3433,7 +4278,7 @@ node-fetch-npm@^2.0.2: json-parse-better-errors "^1.0.0" safe-buffer "^5.1.1" -node-fetch@^2.6.1: +node-fetch@^2.6.1, node-fetch@^2.6.7: version "2.6.7" resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.7.tgz#24de9fba827e3b4ae44dc8b20256a379160052ad" integrity sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ== @@ -3475,6 +4320,38 @@ node-gyp@^5.0.2, node-gyp@^5.1.0: tar "^4.4.12" which "^1.3.1" +node-gyp@^8.4.1: + version "8.4.1" + resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-8.4.1.tgz#3d49308fc31f768180957d6b5746845fbd429937" + integrity sha512-olTJRgUtAb/hOXG0E93wZDs5YiJlgbXxTwQAFHyNlRsXQnYzUaF2aGgujZbw+hR8aF4ZG/rST57bWMWD16jr9w== + dependencies: + env-paths "^2.2.0" + glob "^7.1.4" + graceful-fs "^4.2.6" + make-fetch-happen "^9.1.0" + nopt "^5.0.0" + npmlog "^6.0.0" + rimraf "^3.0.2" + semver "^7.3.5" + tar "^6.1.2" + which "^2.0.2" + +node-gyp@^9.0.0: + version "9.0.0" + resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-9.0.0.tgz#e1da2067427f3eb5bb56820cb62bc6b1e4bd2089" + integrity sha512-Ma6p4s+XCTPxCuAMrOA/IJRmVy16R8Sdhtwl4PrCr7IBlj4cPawF0vg/l7nOT1jPbuNS7lIRJpBSvVsXwEZuzw== + dependencies: + env-paths "^2.2.0" + glob "^7.1.4" + graceful-fs "^4.2.6" + make-fetch-happen "^10.0.3" + nopt "^5.0.0" + npmlog "^6.0.0" + rimraf "^3.0.2" + semver "^7.3.5" + tar "^6.1.2" + which "^2.0.2" + node-homedir@^1.0.0: version "1.1.1" resolved "https://registry.npmjs.org/node-homedir/-/node-homedir-1.1.1.tgz#736db0b60e3bba8aba68df9927de40a7aabe1075" @@ -3495,6 +4372,13 @@ nopt@^4.0.1, nopt@^4.0.3: abbrev "1" osenv "^0.1.4" +nopt@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/nopt/-/nopt-5.0.0.tgz#530942bb58a512fccafe53fe210f13a25355dc88" + integrity sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ== + dependencies: + abbrev "1" + normalize-git-url@^3.0.2: version "3.0.2" resolved "https://registry.npmjs.org/normalize-git-url/-/normalize-git-url-3.0.2.tgz#8e5f14be0bdaedb73e07200310aa416c27350fc4" @@ -3520,10 +4404,20 @@ normalize-package-data@^3.0.0: semver "^7.3.2" validate-npm-package-license "^3.0.1" -normalize-url@^5.0.0: - version "5.3.0" - resolved "https://registry.npmjs.org/normalize-url/-/normalize-url-5.3.0.tgz#8959b3cdaa295b61592c1f245dded34b117618dd" - integrity sha512-9/nOVLYYe/dO/eJeQUNaGUF4m4Z5E7cb9oNTKabH+bNf19mqj60txTcveQxL0GlcWLXCxkOu2/LwL8oW0idIDA== +normalize-package-data@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-4.0.0.tgz#1122d5359af21d4cd08718b92b058a658594177c" + integrity sha512-m+GL22VXJKkKbw62ZaBBjv8u6IE3UI4Mh5QakIqs3fWiKe0Xyi6L97hakwZK41/LD4R/2ly71Bayx0NLMwLA/g== + dependencies: + hosted-git-info "^5.0.0" + is-core-module "^2.8.1" + semver "^7.3.5" + validate-npm-package-license "^3.0.4" + +normalize-url@^6.0.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-6.1.0.tgz#40d0885b535deffe3f3147bec877d05fe4c5668a" + integrity sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A== npm-audit-report@^1.3.3: version "1.3.3" @@ -3533,6 +4427,13 @@ npm-audit-report@^1.3.3: cli-table3 "^0.5.0" console-control-strings "^1.1.0" +npm-audit-report@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/npm-audit-report/-/npm-audit-report-3.0.0.tgz#1bf3e531208b5f77347c8d00c3d9badf5be30cd6" + integrity sha512-tWQzfbwz1sc4244Bx2BVELw0EmZlCsCF0X93RDcmmwhonCsPMoEviYsi+32R+mdRvOWXolPce9zo64n2xgPESw== + dependencies: + chalk "^4.0.0" + npm-bundled@^1.0.1: version "1.1.1" resolved "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.1.1.tgz#1edd570865a94cdb1bc8220775e29466c9fb234b" @@ -3540,6 +4441,13 @@ npm-bundled@^1.0.1: dependencies: npm-normalize-package-bin "^1.0.1" +npm-bundled@^1.1.1, npm-bundled@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.1.2.tgz#944c78789bd739035b70baa2ca5cc32b8d860bc1" + integrity sha512-x5DHup0SuyQcmL3s7Rx/YQ8sbw/Hzg0rj48eN0dV7hf5cmQq5PXIeioroH3raV1QC1yh3uTYuMThvEQF3iKgGQ== + dependencies: + npm-normalize-package-bin "^1.0.1" + npm-cache-filename@~1.0.2: version "1.0.2" resolved "https://registry.npmjs.org/npm-cache-filename/-/npm-cache-filename-1.0.2.tgz#ded306c5b0bfc870a9e9faf823bc5f283e05ae11" @@ -3552,6 +4460,13 @@ npm-install-checks@^3.0.2: dependencies: semver "^2.3.0 || 3.x || 4 || 5" +npm-install-checks@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/npm-install-checks/-/npm-install-checks-5.0.0.tgz#5ff27d209a4e3542b8ac6b0c1db6063506248234" + integrity sha512-65lUsMI8ztHCxFz5ckCEC44DRvEGdZX5usQFriauxHEwt7upv1FKaQEmAtU0YnOAdwuNWCmk64xYiQABNrEyLA== + dependencies: + semver "^7.1.1" + npm-lifecycle@^3.0.0, npm-lifecycle@^3.1.5: version "3.1.5" resolved "https://registry.npmjs.org/npm-lifecycle/-/npm-lifecycle-3.1.5.tgz#9882d3642b8c82c815782a12e6a1bfeed0026309" @@ -3594,6 +4509,15 @@ npm-package-arg@^4.2.0: hosted-git-info "^2.1.5" semver "^5.1.0" +npm-package-arg@^9.0.0, npm-package-arg@^9.0.1, npm-package-arg@^9.0.2: + version "9.0.2" + resolved "https://registry.yarnpkg.com/npm-package-arg/-/npm-package-arg-9.0.2.tgz#f3ef7b1b3b02e82564af2d5228b4c36567dcd389" + integrity sha512-v/miORuX8cndiOheW8p2moNuPJ7QhcFh9WGlTorruG8hXSA23vMTEp5hTCmDxic0nD8KHhj/NQgFuySD3GYY3g== + dependencies: + hosted-git-info "^5.0.0" + semver "^7.3.5" + validate-npm-package-name "^4.0.0" + npm-packlist@^1.1.12, npm-packlist@^1.4.8: version "1.4.8" resolved "https://registry.npmjs.org/npm-packlist/-/npm-packlist-1.4.8.tgz#56ee6cc135b9f98ad3d51c1c95da22bbb9b2ef3e" @@ -3603,6 +4527,16 @@ npm-packlist@^1.1.12, npm-packlist@^1.4.8: npm-bundled "^1.0.1" npm-normalize-package-bin "^1.0.1" +npm-packlist@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-5.1.0.tgz#f3fd52903a021009913a133732022132eb355ce7" + integrity sha512-a04sqF6FbkyOAFA19AA0e94gS7Et5T2/IMj3VOT9nOF2RaRdVPQ1Q17Fb/HaDRFs+gbC7HOmhVZ29adpWgmDZg== + dependencies: + glob "^8.0.1" + ignore-walk "^5.0.1" + npm-bundled "^1.1.2" + npm-normalize-package-bin "^1.0.1" + npm-pick-manifest@^3.0.0, npm-pick-manifest@^3.0.2: version "3.0.2" resolved "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-3.0.2.tgz#f4d9e5fd4be2153e5f4e5f9b7be8dc419a99abb7" @@ -3612,6 +4546,16 @@ npm-pick-manifest@^3.0.0, npm-pick-manifest@^3.0.2: npm-package-arg "^6.0.0" semver "^5.4.1" +npm-pick-manifest@^7.0.0, npm-pick-manifest@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/npm-pick-manifest/-/npm-pick-manifest-7.0.1.tgz#76dda30a7cd6b99be822217a935c2f5eacdaca4c" + integrity sha512-IA8+tuv8KujbsbLQvselW2XQgmXWS47t3CB0ZrzsRZ82DbDfkcFunOaPm4X7qNuhMfq+FmV7hQT4iFVpHqV7mg== + dependencies: + npm-install-checks "^5.0.0" + npm-normalize-package-bin "^1.0.1" + npm-package-arg "^9.0.0" + semver "^7.3.5" + npm-profile@^4.0.2, npm-profile@^4.0.4: version "4.0.4" resolved "https://registry.npmjs.org/npm-profile/-/npm-profile-4.0.4.tgz#28ee94390e936df6d084263ee2061336a6a1581b" @@ -3621,6 +4565,27 @@ npm-profile@^4.0.2, npm-profile@^4.0.4: figgy-pudding "^3.4.1" npm-registry-fetch "^4.0.0" +npm-profile@^6.0.3: + version "6.0.3" + resolved "https://registry.yarnpkg.com/npm-profile/-/npm-profile-6.0.3.tgz#f4a11ce09467f00fa0832db7f27992e55fdfc94b" + integrity sha512-TVeHhnol2Iemud+Sr70/uqax5LnLJ9y361w+m5+Z7WYV2B1t6FhRDxDu72+yYYTvsgshkhnXEqbPjuD87kYXfA== + dependencies: + npm-registry-fetch "^13.0.1" + proc-log "^2.0.0" + +npm-registry-fetch@^13.0.0, npm-registry-fetch@^13.0.1, npm-registry-fetch@^13.1.1: + version "13.1.1" + resolved "https://registry.yarnpkg.com/npm-registry-fetch/-/npm-registry-fetch-13.1.1.tgz#26dc4b26d0a545886e807748032ba2aefaaae96b" + integrity sha512-5p8rwe6wQPLJ8dMqeTnA57Dp9Ox6GH9H60xkyJup07FmVlu3Mk7pf/kIIpl9gaN5bM8NM+UUx3emUWvDNTt39w== + dependencies: + make-fetch-happen "^10.0.6" + minipass "^3.1.6" + minipass-fetch "^2.0.3" + minipass-json-stream "^1.0.1" + minizlib "^2.1.2" + npm-package-arg "^9.0.1" + proc-log "^2.0.0" + npm-registry-fetch@^4.0.0, npm-registry-fetch@^4.0.7: version "4.0.7" resolved "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-4.0.7.tgz#57951bf6541e0246b34c9f9a38ab73607c9449d7" @@ -3655,15 +4620,15 @@ npm-run-path@^4.0.0, npm-run-path@^4.0.1: dependencies: path-key "^3.0.0" -npm-user-validate@^1.0.1, npm-user-validate@~1.0.0: +npm-user-validate@^1.0.1: version "1.0.1" resolved "https://registry.npmjs.org/npm-user-validate/-/npm-user-validate-1.0.1.tgz#31428fc5475fe8416023f178c0ab47935ad8c561" integrity sha512-uQwcd/tY+h1jnEaze6cdX/LrhWhoBxfSknxentoqmIuStxUExxjWd3ULMLFPiFUrZKbOVMowH6Jq2FRWfmhcEw== -npm@^6.13.0: - version "6.14.8" - resolved "https://registry.npmjs.org/npm/-/npm-6.14.8.tgz#64ef754345639bc035982ec3f609353c8539033c" - integrity sha512-HBZVBMYs5blsj94GTeQZel7s9odVuuSUHy1+AlZh7rPVux1os2ashvEGLy/STNK7vUjbrCg5Kq9/GXisJgdf6A== +npm@^6.13.4: + version "6.14.9" + resolved "https://registry.npmjs.org/npm/-/npm-6.14.9.tgz#d2b4237562bfd95689249e2c2874700ed952ed82" + integrity sha512-yHi1+i9LyAZF1gAmgyYtVk+HdABlLy94PMIDoK1TRKWvmFQAt5z3bodqVwKvzY0s6dLqQPVsRLiwhJfNtiHeCg== dependencies: JSONStream "^1.3.5" abbrev "~1.1.1" @@ -3737,7 +4702,7 @@ npm@^6.13.0: npm-pick-manifest "^3.0.2" npm-profile "^4.0.4" npm-registry-fetch "^4.0.7" - npm-user-validate "~1.0.0" + npm-user-validate "^1.0.1" npmlog "~4.1.2" once "~1.4.0" opener "^1.5.1" @@ -3781,126 +4746,81 @@ npm@^6.13.0: worker-farm "^1.7.0" write-file-atomic "^2.4.3" -npm@^6.13.4: - version "6.14.9" - resolved "https://registry.npmjs.org/npm/-/npm-6.14.9.tgz#d2b4237562bfd95689249e2c2874700ed952ed82" - integrity sha512-yHi1+i9LyAZF1gAmgyYtVk+HdABlLy94PMIDoK1TRKWvmFQAt5z3bodqVwKvzY0s6dLqQPVsRLiwhJfNtiHeCg== - dependencies: - JSONStream "^1.3.5" +npm@^8.3.0: + version "8.12.1" + resolved "https://registry.yarnpkg.com/npm/-/npm-8.12.1.tgz#624064fa7a8e0730223f6b2effe087e7127d567b" + integrity sha512-0yOlhfgu1UzP6UijnaFuIS2bES2H9D90EA5OVsf2iOZw7VBrjntXKEwKfCaFA6vMVWkCP8qnPwCxxPdnDVwlNw== + dependencies: + "@isaacs/string-locale-compare" "^1.1.0" + "@npmcli/arborist" "^5.0.4" + "@npmcli/ci-detect" "^2.0.0" + "@npmcli/config" "^4.1.0" + "@npmcli/fs" "^2.1.0" + "@npmcli/map-workspaces" "^2.0.3" + "@npmcli/package-json" "^2.0.0" + "@npmcli/run-script" "^3.0.1" abbrev "~1.1.1" - ansicolors "~0.3.2" - ansistyles "~0.1.3" - aproba "^2.0.0" archy "~1.0.0" - bin-links "^1.1.8" - bluebird "^3.5.5" - byte-size "^5.0.1" - cacache "^12.0.3" - call-limit "^1.1.1" - chownr "^1.1.4" - ci-info "^2.0.0" - cli-columns "^3.1.2" - cli-table3 "^0.5.1" - cmd-shim "^3.0.3" - columnify "~1.5.4" - config-chain "^1.1.12" - detect-indent "~5.0.0" - detect-newline "^2.1.0" - dezalgo "~1.0.3" - editor "~1.0.0" - figgy-pudding "^3.5.1" - find-npm-prefix "^1.0.2" - fs-vacuum "~1.2.10" - fs-write-stream-atomic "~1.0.10" - gentle-fs "^2.3.1" - glob "^7.1.6" - graceful-fs "^4.2.4" - has-unicode "~2.0.1" - hosted-git-info "^2.8.8" - iferr "^1.0.2" - infer-owner "^1.0.4" - inflight "~1.0.6" - inherits "^2.0.4" - ini "^1.3.5" - init-package-json "^1.10.3" - is-cidr "^3.0.0" - json-parse-better-errors "^1.0.2" - lazy-property "~1.0.0" - libcipm "^4.0.8" - libnpm "^3.0.1" - libnpmaccess "^3.0.2" - libnpmhook "^5.0.3" - libnpmorg "^1.0.1" - libnpmsearch "^2.0.2" - libnpmteam "^1.0.2" - libnpx "^10.2.4" - lock-verify "^2.1.0" - lockfile "^1.0.4" - lodash._baseuniq "~4.6.0" - lodash.clonedeep "~4.5.0" - lodash.union "~4.6.0" - lodash.uniq "~4.5.0" - lodash.without "~4.4.0" - lru-cache "^5.1.1" - meant "^1.0.2" - mississippi "^3.0.0" - mkdirp "^0.5.5" - move-concurrently "^1.0.1" - node-gyp "^5.1.0" - nopt "^4.0.3" - normalize-package-data "^2.5.0" - npm-audit-report "^1.3.3" - npm-cache-filename "~1.0.2" - npm-install-checks "^3.0.2" - npm-lifecycle "^3.1.5" - npm-package-arg "^6.1.1" - npm-packlist "^1.4.8" - npm-pick-manifest "^3.0.2" - npm-profile "^4.0.4" - npm-registry-fetch "^4.0.7" + cacache "^16.1.0" + chalk "^4.1.2" + chownr "^2.0.0" + cli-columns "^4.0.0" + cli-table3 "^0.6.2" + columnify "^1.6.0" + fastest-levenshtein "^1.0.12" + glob "^8.0.1" + graceful-fs "^4.2.10" + hosted-git-info "^5.0.0" + ini "^3.0.0" + init-package-json "^3.0.2" + is-cidr "^4.0.2" + json-parse-even-better-errors "^2.3.1" + libnpmaccess "^6.0.2" + libnpmdiff "^4.0.2" + libnpmexec "^4.0.2" + libnpmfund "^3.0.1" + libnpmhook "^8.0.2" + libnpmorg "^4.0.2" + libnpmpack "^4.0.2" + libnpmpublish "^6.0.2" + libnpmsearch "^5.0.2" + libnpmteam "^4.0.2" + libnpmversion "^3.0.1" + make-fetch-happen "^10.1.6" + minipass "^3.1.6" + minipass-pipeline "^1.2.4" + mkdirp "^1.0.4" + mkdirp-infer-owner "^2.0.0" + ms "^2.1.2" + node-gyp "^9.0.0" + nopt "^5.0.0" + npm-audit-report "^3.0.0" + npm-install-checks "^5.0.0" + npm-package-arg "^9.0.2" + npm-pick-manifest "^7.0.1" + npm-profile "^6.0.3" + npm-registry-fetch "^13.1.1" npm-user-validate "^1.0.1" - npmlog "~4.1.2" - once "~1.4.0" - opener "^1.5.1" - osenv "^0.1.5" - pacote "^9.5.12" - path-is-inside "~1.0.2" - promise-inflight "~1.0.1" + npmlog "^6.0.2" + opener "^1.5.2" + pacote "^13.6.0" + parse-conflict-json "^2.0.2" + proc-log "^2.0.1" qrcode-terminal "^0.12.0" - query-string "^6.8.2" - qw "~1.0.1" read "~1.0.7" - read-cmd-shim "^1.0.5" - read-installed "~4.0.3" - read-package-json "^2.1.1" - read-package-tree "^5.3.1" - readable-stream "^3.6.0" + read-package-json "^5.0.1" + read-package-json-fast "^2.0.3" readdir-scoped-modules "^1.1.0" - request "^2.88.0" - retry "^0.12.0" - rimraf "^2.7.1" - safe-buffer "^5.1.2" - semver "^5.7.1" - sha "^3.0.0" - slide "~1.1.6" - sorted-object "~2.0.1" - sorted-union-stream "~2.1.3" - ssri "^6.0.1" - stringify-package "^1.0.1" - tar "^4.4.13" + rimraf "^3.0.2" + semver "^7.3.7" + ssri "^9.0.1" + tar "^6.1.11" text-table "~0.2.0" tiny-relative-date "^1.3.0" - uid-number "0.0.6" - umask "~1.1.0" - unique-filename "^1.1.1" - unpipe "~1.0.0" - update-notifier "^2.5.0" - uuid "^3.3.3" - validate-npm-package-license "^3.0.4" - validate-npm-package-name "~3.0.0" - which "^1.3.1" - worker-farm "^1.7.0" - write-file-atomic "^2.4.3" + treeverse "^2.0.0" + validate-npm-package-name "^4.0.0" + which "^2.0.2" + write-file-atomic "^4.0.1" npminstall@^3.25.2: version "3.28.0" @@ -3950,6 +4870,16 @@ npminstall@^3.25.2: gauge "~2.7.3" set-blocking "~2.0.0" +npmlog@^6.0.0, npmlog@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-6.0.2.tgz#c8166017a42f2dea92d6453168dd865186a70830" + integrity sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg== + dependencies: + are-we-there-yet "^3.0.0" + console-control-strings "^1.1.0" + gauge "^4.0.3" + set-blocking "^2.0.0" + number-is-nan@^1.0.0: version "1.0.1" resolved "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" @@ -4019,7 +4949,7 @@ open@^0.0.5: resolved "https://registry.npmjs.org/open/-/open-0.0.5.tgz#42c3e18ec95466b6bf0dc42f3a2945c3f0cad8fc" integrity sha1-QsPhjslUZra/DcQvOilFw/DK2Pw= -opener@^1.5.1: +opener@^1.5.1, opener@^1.5.2: version "1.5.2" resolved "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz#5d37e1f35077b9dcac4301372271afdeb2a13598" integrity sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A== @@ -4060,14 +4990,6 @@ os-locale@^2.0.0: lcid "^1.0.0" mem "^1.1.0" -os-name@^3.1.0: - version "3.1.0" - resolved "https://registry.npmjs.org/os-name/-/os-name-3.1.0.tgz#dec19d966296e1cd62d701a5a66ee1ddeae70801" - integrity sha512-h8L+8aNjNcMpo/mAIBPn5PXCM16iyPGjHNWo6U1YO8sJTMHtEtyczI6QJnLoplswm6goopQkqc7OAnjhWcugVg== - dependencies: - macos-release "^2.2.0" - windows-release "^3.1.0" - os-name@~1.0.3: version "1.0.3" resolved "https://registry.npmjs.org/os-name/-/os-name-1.0.3.tgz#1b379f64835af7c5a7f498b357cb95215c159edf" @@ -4158,6 +5080,13 @@ p-map@^2.0.0: resolved "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz#310928feef9c9ecc65b68b17693018a665cea175" integrity sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw== +p-map@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/p-map/-/p-map-4.0.0.tgz#bb2f95a5eda2ec168ec9274e06a747c3e2904d2b" + integrity sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ== + dependencies: + aggregate-error "^3.0.0" + p-reduce@^2.0.0: version "2.1.0" resolved "https://registry.npmjs.org/p-reduce/-/p-reduce-2.1.0.tgz#09408da49507c6c274faa31f28df334bc712b64a" @@ -4216,6 +5145,33 @@ package-json@^4.0.0: registry-url "^3.0.3" semver "^5.1.0" +pacote@^13.0.3, pacote@^13.0.5, pacote@^13.5.0, pacote@^13.6.0: + version "13.6.0" + resolved "https://registry.yarnpkg.com/pacote/-/pacote-13.6.0.tgz#79ea3d3ae5a2b29e2994dcf18d75494e8d888032" + integrity sha512-zHmuCwG4+QKnj47LFlW3LmArwKoglx2k5xtADiMCivVWPgNRP5QyLDGOIjGjwOe61lhl1rO63m/VxT16pEHLWg== + dependencies: + "@npmcli/git" "^3.0.0" + "@npmcli/installed-package-contents" "^1.0.7" + "@npmcli/promise-spawn" "^3.0.0" + "@npmcli/run-script" "^3.0.1" + cacache "^16.0.0" + chownr "^2.0.0" + fs-minipass "^2.1.0" + infer-owner "^1.0.4" + minipass "^3.1.6" + mkdirp "^1.0.4" + npm-package-arg "^9.0.0" + npm-packlist "^5.1.0" + npm-pick-manifest "^7.0.0" + npm-registry-fetch "^13.0.1" + proc-log "^2.0.0" + promise-retry "^2.0.1" + read-package-json "^5.0.0" + read-package-json-fast "^2.0.3" + rimraf "^3.0.2" + ssri "^9.0.0" + tar "^6.1.11" + pacote@^9.1.0, pacote@^9.5.12, pacote@^9.5.3: version "9.5.12" resolved "https://registry.npmjs.org/pacote/-/pacote-9.5.12.tgz#1e11dd7a8d736bcc36b375a9804d41bb0377bf66" @@ -4268,6 +5224,15 @@ parent-module@^1.0.0: dependencies: callsites "^3.0.0" +parse-conflict-json@^2.0.1, parse-conflict-json@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/parse-conflict-json/-/parse-conflict-json-2.0.2.tgz#3d05bc8ffe07d39600dc6436c6aefe382033d323" + integrity sha512-jDbRGb00TAPFsKWCpZZOT93SxVP9nONOSgES3AevqRq/CHvavEBvKAjxX9p5Y5F0RZLxH9Ufd9+RwtCsa+lFDA== + dependencies: + json-parse-even-better-errors "^2.3.1" + just-diff "^5.0.1" + just-diff-apply "^5.2.0" + parse-json@^2.2.0: version "2.2.0" resolved "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9" @@ -4313,7 +5278,7 @@ path-is-inside@^1.0.1, path-is-inside@^1.0.2, path-is-inside@~1.0.2: resolved "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" integrity sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM= -path-key@^2.0.0, path-key@^2.0.1: +path-key@^2.0.0: version "2.0.1" resolved "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= @@ -4352,11 +5317,16 @@ performance-now@^2.1.0: resolved "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= -picomatch@^2.0.5, picomatch@^2.2.1: +picomatch@^2.2.1: version "2.2.2" resolved "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz#21f333e9b6b8eaff02468f5146ea406d345f4dad" integrity sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg== +picomatch@^2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" + integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== + pify@^2.0.0: version "2.3.0" resolved "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" @@ -4385,11 +5355,26 @@ prepend-http@^1.0.1: resolved "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc" integrity sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw= +proc-log@^2.0.0, proc-log@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/proc-log/-/proc-log-2.0.1.tgz#8f3f69a1f608de27878f91f5c688b225391cb685" + integrity sha512-Kcmo2FhfDTXdcbfDH76N7uBYHINxc/8GW7UAVuVP9I+Va3uHSerrnKV6dLooga/gh7GlgzuCCr/eoldnL1muGw== + process-nextick-args@~2.0.0: version "2.0.1" resolved "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== +promise-all-reject-late@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/promise-all-reject-late/-/promise-all-reject-late-1.0.1.tgz#f8ebf13483e5ca91ad809ccc2fcf25f26f8643c2" + integrity sha512-vuf0Lf0lOxyQREH7GDIOUMLS7kz+gs8i6B+Yi8dC68a2sychGrHTJYghMBD6k7eUcH0H5P73EckCA48xijWqXw== + +promise-call-limit@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/promise-call-limit/-/promise-call-limit-1.0.1.tgz#4bdee03aeb85674385ca934da7114e9bcd3c6e24" + integrity sha512-3+hgaa19jzCGLuSCbieeRsu5C2joKfYn8pY6JAuXFRVfF4IO+L7UPpFWNTeWT9pM7uhskvbPPd/oEOktCn317Q== + promise-events@^0.2.0: version "0.2.0" resolved "https://registry.npmjs.org/promise-events/-/promise-events-0.2.0.tgz#5ac625e90b24b618f9564e6d677093e4ceaa8c33" @@ -4408,6 +5393,14 @@ promise-retry@^1.1.1: err-code "^1.0.0" retry "^0.10.0" +promise-retry@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/promise-retry/-/promise-retry-2.0.1.tgz#ff747a13620ab57ba688f5fc67855410c370da22" + integrity sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g== + dependencies: + err-code "^2.0.2" + retry "^0.12.0" + promzard@^0.3.0: version "0.3.0" resolved "https://registry.npmjs.org/promzard/-/promzard-0.3.0.tgz#26a5d6ee8c7dee4cb12208305acfb93ba382a9ee" @@ -4557,6 +5550,11 @@ read-cmd-shim@^1.0.1, read-cmd-shim@^1.0.5: dependencies: graceful-fs "^4.1.2" +read-cmd-shim@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/read-cmd-shim/-/read-cmd-shim-3.0.0.tgz#62b8c638225c61e6cc607f8f4b779f3b8238f155" + integrity sha512-KQDVjGqhZk92PPNRj9ZEXEuqg8bUobSKRw+q0YQ3TKI5xkce7bUJobL4Z/OtiEbAAv70yEpYIXp4iQ9L8oPVog== + read-installed@~4.0.3: version "4.0.3" resolved "https://registry.npmjs.org/read-installed/-/read-installed-4.0.3.tgz#ff9b8b67f187d1e4c29b9feb31f6b223acd19067" @@ -4571,6 +5569,14 @@ read-installed@~4.0.3: optionalDependencies: graceful-fs "^4.1.2" +read-package-json-fast@^2.0.2, read-package-json-fast@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/read-package-json-fast/-/read-package-json-fast-2.0.3.tgz#323ca529630da82cb34b36cc0b996693c98c2b83" + integrity sha512-W/BKtbL+dUjTuRL2vziuYhp76s5HZ9qQhd/dKfWIZveD0O40453QNyZhC0e63lqZrAQ4jiOapVoeJ7JrszenQQ== + dependencies: + json-parse-even-better-errors "^2.3.0" + npm-normalize-package-bin "^1.0.1" + "read-package-json@1 || 2", read-package-json@^2.0.0, read-package-json@^2.0.13, read-package-json@^2.1.1: version "2.1.2" resolved "https://registry.npmjs.org/read-package-json/-/read-package-json-2.1.2.tgz#6992b2b66c7177259feb8eaac73c3acd28b9222a" @@ -4581,6 +5587,16 @@ read-installed@~4.0.3: normalize-package-data "^2.0.0" npm-normalize-package-bin "^1.0.0" +read-package-json@^5.0.0, read-package-json@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/read-package-json/-/read-package-json-5.0.1.tgz#1ed685d95ce258954596b13e2e0e76c7d0ab4c26" + integrity sha512-MALHuNgYWdGW3gKzuNMuYtcSSZbGQm94fAp16xt8VsYTLBjUSc55bLMKe6gzpWue0Tfi6CBgwCSdDAqutGDhMg== + dependencies: + glob "^8.0.1" + json-parse-even-better-errors "^2.3.1" + normalize-package-data "^4.0.0" + npm-normalize-package-bin "^1.0.1" + read-package-tree@^5.3.1: version "5.3.1" resolved "https://registry.npmjs.org/read-package-tree/-/read-package-tree-5.3.1.tgz#a32cb64c7f31eb8a6f31ef06f9cedf74068fe636" @@ -4626,7 +5642,7 @@ read-pkg@^5.0.0, read-pkg@^5.2.0: parse-json "^5.0.0" type-fest "^0.6.0" -read@1, read@~1.0.1, read@~1.0.7: +read@1, read@^1.0.7, read@~1.0.1, read@~1.0.7: version "1.0.7" resolved "https://registry.npmjs.org/read/-/read-1.0.7.tgz#b3da19bd052431a97671d44a42634adf710b40c4" integrity sha1-s9oZvQUkMal2cdRKQmNK33ELQMQ= @@ -4656,7 +5672,7 @@ readable-stream@1.1.x, readable-stream@~1.1.10: isarray "0.0.1" string_decoder "~0.10.x" -readable-stream@3, readable-stream@^3.6.0: +readable-stream@3, readable-stream@^3.0.0, readable-stream@^3.6.0: version "3.6.0" resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198" integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== @@ -4801,7 +5817,7 @@ rimraf@2, rimraf@^2.2.8, rimraf@^2.5.2, rimraf@^2.5.4, rimraf@^2.6.1, rimraf@^2. dependencies: glob "^7.1.3" -rimraf@^3.0.2: +rimraf@^3.0.0, rimraf@^3.0.2: version "3.0.2" resolved "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== @@ -4843,30 +5859,30 @@ safe-buffer@~5.1.0, safe-buffer@~5.1.1: resolved "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== -semantic-release@^17.2.2: - version "17.2.2" - resolved "https://registry.npmjs.org/semantic-release/-/semantic-release-17.2.2.tgz#520dae9cd188c7cdcc5216a7aad131548fc5cec7" - integrity sha512-LNU68ud3a3oU46H11OThXaKAK430jGGGTIF4VsiP843kRmS6s8kVCceLRdi7yWWz/sCCMD0zygPTQV2Jw79J5g== +semantic-release@^19.0.3: + version "19.0.3" + resolved "https://registry.yarnpkg.com/semantic-release/-/semantic-release-19.0.3.tgz#9291053ad9890052f28e7c5921d4741530d516fd" + integrity sha512-HaFbydST1cDKZHuFZxB8DTrBLJVK/AnDExpK0s3EqLIAAUAHUgnd+VSJCUtTYQKkAkauL8G9CucODrVCc7BuAA== dependencies: - "@semantic-release/commit-analyzer" "^8.0.0" - "@semantic-release/error" "^2.2.0" - "@semantic-release/github" "^7.0.0" - "@semantic-release/npm" "^7.0.0" - "@semantic-release/release-notes-generator" "^9.0.0" + "@semantic-release/commit-analyzer" "^9.0.2" + "@semantic-release/error" "^3.0.0" + "@semantic-release/github" "^8.0.0" + "@semantic-release/npm" "^9.0.0" + "@semantic-release/release-notes-generator" "^10.0.0" aggregate-error "^3.0.0" - cosmiconfig "^6.0.0" + cosmiconfig "^7.0.0" debug "^4.0.0" env-ci "^5.0.0" - execa "^4.0.0" + execa "^5.0.0" figures "^3.0.0" - find-versions "^3.0.0" - get-stream "^5.0.0" + find-versions "^4.0.0" + get-stream "^6.0.0" git-log-parser "^1.2.0" hook-std "^2.0.0" - hosted-git-info "^3.0.0" - lodash "^4.17.15" - marked "^1.0.0" - marked-terminal "^4.0.0" + hosted-git-info "^4.0.0" + lodash "^4.17.21" + marked "^4.0.10" + marked-terminal "^5.0.0" micromatch "^4.0.2" p-each-series "^2.1.0" p-reduce "^2.0.0" @@ -4875,7 +5891,7 @@ semantic-release@^17.2.2: semver "^7.3.2" semver-diff "^3.1.1" signale "^1.2.1" - yargs "^15.0.1" + yargs "^16.2.0" semver-diff@^2.0.0: version "2.1.0" @@ -4891,12 +5907,12 @@ semver-diff@^3.1.1: dependencies: semver "^6.3.0" -semver-regex@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/semver-regex/-/semver-regex-2.0.0.tgz#a93c2c5844539a770233379107b38c7b4ac9d338" - integrity sha512-mUdIBBvdn0PLOeP3TEkMH7HHeUP3GjsXCwKarjv/kGmUFOYg1VqEemKhoQpWMu6X2I8kHeuVdGibLGkVK+/5Qw== +semver-regex@^3.1.2: + version "3.1.4" + resolved "https://registry.yarnpkg.com/semver-regex/-/semver-regex-3.1.4.tgz#13053c0d4aa11d070a2f2872b6b1e3ae1e1971b4" + integrity sha512-6IiqeZNgq01qGf0TId0t3NvKzSvUsjcpdEO3AQNeIjR6A2+ckTnQlDpl4qu1bjRv0RzN3FP9hzFmws3lKqRWkA== -"semver@2 || 3 || 4 || 5", "semver@2.x || 3.x || 4 || 5", "semver@^2.3.0 || 3.x || 4 || 5", semver@^5.0.1, semver@^5.0.3, semver@^5.1.0, semver@^5.3.0, semver@^5.4.1, semver@^5.5.0, semver@^5.5.1, semver@^5.6.0, semver@^5.7.1: +"semver@2 || 3 || 4 || 5", "semver@2.x || 3.x || 4 || 5", "semver@^2.3.0 || 3.x || 4 || 5", semver@^5.0.1, semver@^5.0.3, semver@^5.1.0, semver@^5.3.0, semver@^5.4.1, semver@^5.5.1, semver@^5.6.0, semver@^5.7.1: version "5.7.1" resolved "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== @@ -4906,10 +5922,12 @@ semver@^6.0.0, semver@^6.3.0: resolved "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== -semver@^7.1.2, semver@^7.3.2: - version "7.3.2" - resolved "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz#604962b052b81ed0786aae84389ffba70ffd3938" - integrity sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ== +semver@^7.0.0, semver@^7.1.1, semver@^7.1.2, semver@^7.3.2, semver@^7.3.5, semver@^7.3.7: + version "7.3.7" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.7.tgz#12c5b649afdbf9049707796e22a4028814ce523f" + integrity sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g== + dependencies: + lru-cache "^6.0.0" semver@~5.3.0: version "5.3.0" @@ -4962,6 +5980,11 @@ signal-exit@^3.0.0, signal-exit@^3.0.2, signal-exit@^3.0.3: resolved "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c" integrity sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA== +signal-exit@^3.0.7: + version "3.0.7" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" + integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== + signale@^1.2.1, signale@^1.4.0: version "1.4.0" resolved "https://registry.npmjs.org/signale/-/signale-1.4.0.tgz#c4be58302fb0262ac00fc3d886a7c113759042f1" @@ -4986,6 +6009,11 @@ smart-buffer@^4.1.0: resolved "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.1.0.tgz#91605c25d91652f4661ea69ccf45f1b331ca21ba" integrity sha512-iVICrxOzCynf/SNaBQCw34eM9jROU/s5rzIhpOvzhzuYHfJR/DhZfDkXiZSgKXfgv26HT3Yni3AV/DGw0cGnnw== +smart-buffer@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/smart-buffer/-/smart-buffer-4.2.0.tgz#6e1d71fa4f18c05f7d0ff216dd16a481d0e8d9ae" + integrity sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg== + socks-proxy-agent@^4.0.0, socks-proxy-agent@^4.0.1: version "4.0.2" resolved "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-4.0.2.tgz#3c8991f3145b2799e70e11bd5fbc8b1963116386" @@ -4994,6 +6022,32 @@ socks-proxy-agent@^4.0.0, socks-proxy-agent@^4.0.1: agent-base "~4.2.1" socks "~2.3.2" +socks-proxy-agent@^6.0.0: + version "6.2.1" + resolved "https://registry.yarnpkg.com/socks-proxy-agent/-/socks-proxy-agent-6.2.1.tgz#2687a31f9d7185e38d530bef1944fe1f1496d6ce" + integrity sha512-a6KW9G+6B3nWZ1yB8G7pJwL3ggLy1uTzKAgCb7ttblwqdz9fMGJUuTy3uFzEP48FAs9FLILlmzDlE2JJhVQaXQ== + dependencies: + agent-base "^6.0.2" + debug "^4.3.3" + socks "^2.6.2" + +socks-proxy-agent@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/socks-proxy-agent/-/socks-proxy-agent-7.0.0.tgz#dc069ecf34436621acb41e3efa66ca1b5fed15b6" + integrity sha512-Fgl0YPZ902wEsAyiQ+idGd1A7rSFx/ayC1CQVMw5P+EQx2V0SgpGtf6OKFhVjPflPUl9YMmEOnmfjCdMUsygww== + dependencies: + agent-base "^6.0.2" + debug "^4.3.3" + socks "^2.6.2" + +socks@^2.6.2: + version "2.6.2" + resolved "https://registry.yarnpkg.com/socks/-/socks-2.6.2.tgz#ec042d7960073d40d94268ff3bb727dc685f111a" + integrity sha512-zDZhHhZRY9PxRruRMR7kMhnf3I8hDs4S3f9RecfnGxvcBHQcKcIH/oUcEWffsfl1XxdYlA7nnlGbbTvPz9D8gA== + dependencies: + ip "^1.1.5" + smart-buffer "^4.2.0" + socks@~2.3.2: version "2.3.3" resolved "https://registry.npmjs.org/socks/-/socks-2.3.3.tgz#01129f0a5d534d2b897712ed8aceab7ee65d78e3" @@ -5056,12 +6110,12 @@ split-on-first@^1.0.0: resolved "https://registry.npmjs.org/split-on-first/-/split-on-first-1.1.0.tgz#f610afeee3b12bce1d0c30425e76398b78249a5f" integrity sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw== -split2@^2.0.0: - version "2.2.0" - resolved "https://registry.npmjs.org/split2/-/split2-2.2.0.tgz#186b2575bcf83e85b7d18465756238ee4ee42493" - integrity sha512-RAb22TG39LhI31MbreBgIuKiIKhVsawfTgEGqKHTK87aG+ul/PB8Sqoi3I7kVdRWiCfrKxK3uo4/YUkpNvhPbw== +split2@^3.0.0: + version "3.2.2" + resolved "https://registry.yarnpkg.com/split2/-/split2-3.2.2.tgz#bf2cf2a37d838312c249c89206fd7a17dd12365f" + integrity sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg== dependencies: - through2 "^2.0.2" + readable-stream "^3.0.0" split2@~1.0.0: version "1.0.0" @@ -5099,6 +6153,20 @@ ssri@^6.0.0, ssri@^6.0.1: dependencies: figgy-pudding "^3.5.1" +ssri@^8.0.0, ssri@^8.0.1: + version "8.0.1" + resolved "https://registry.yarnpkg.com/ssri/-/ssri-8.0.1.tgz#638e4e439e2ffbd2cd289776d5ca457c4f51a2af" + integrity sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ== + dependencies: + minipass "^3.1.1" + +ssri@^9.0.0, ssri@^9.0.1: + version "9.0.1" + resolved "https://registry.yarnpkg.com/ssri/-/ssri-9.0.1.tgz#544d4c357a8d7b71a19700074b6883fcb4eae057" + integrity sha512-o57Wcn66jMQvfHG1FlYbWeZWW/dHZhJXjpIcTfXldXEk5nz5lStPo3mK0OJQfGR3RbZUlbISexbljkJzuEj/8Q== + dependencies: + minipass "^3.1.1" + "statuses@>= 1.5.0 < 2", statuses@^1.3.1: version "1.5.0" resolved "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" @@ -5160,6 +6228,15 @@ string-width@^1.0.1: is-fullwidth-code-point "^2.0.0" strip-ansi "^4.0.0" +"string-width@^1.0.2 || 2 || 3 || 4", string-width@^4.2.3: + version "4.2.3" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" + integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.1" + string-width@^3.0.0, string-width@^3.1.0: version "3.1.0" resolved "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961" @@ -5246,6 +6323,13 @@ strip-ansi@^6.0.0: dependencies: ansi-regex "^5.0.0" +strip-ansi@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== + dependencies: + ansi-regex "^5.0.1" + strip-bom@^3.0.0: version "3.0.0" resolved "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" @@ -5292,10 +6376,10 @@ supports-color@^7.0.0, supports-color@^7.1.0: dependencies: has-flag "^4.0.0" -supports-hyperlinks@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.1.0.tgz#f663df252af5f37c5d49bbd7eeefa9e0b9e59e47" - integrity sha512-zoE5/e+dnEijk6ASB6/qrK+oYdm2do1hjoLWrqUC/8WEIW1gbxFcKuBof7sW8ArN6e+AYvsE8HBGiVRWL/F5CA== +supports-hyperlinks@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/supports-hyperlinks/-/supports-hyperlinks-2.2.0.tgz#4f77b42488765891774b70c79babd87f9bd594bb" + integrity sha512-6sXEzV5+I5j8Bmq9/vUphGRM/RJNT9SCURJLjwfOg51heRtguGWDzcaBlgAzKhQa0EVNpPEKzQuBwZ8S8WaCeQ== dependencies: has-flag "^4.0.0" supports-color "^7.0.0" @@ -5322,19 +6406,32 @@ tar@^4.0.1, tar@^4.4.10, tar@^4.4.12, tar@^4.4.13: safe-buffer "^5.1.2" yallist "^3.0.3" +tar@^6.0.2, tar@^6.1.0, tar@^6.1.11, tar@^6.1.2: + version "6.1.11" + resolved "https://registry.yarnpkg.com/tar/-/tar-6.1.11.tgz#6760a38f003afa1b2ffd0ffe9e9abbd0eab3d621" + integrity sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA== + dependencies: + chownr "^2.0.0" + fs-minipass "^2.0.0" + minipass "^3.0.0" + minizlib "^2.1.1" + mkdirp "^1.0.3" + yallist "^4.0.0" + temp-dir@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/temp-dir/-/temp-dir-2.0.0.tgz#bde92b05bdfeb1516e804c9c00ad45177f31321e" integrity sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg== -tempy@^0.5.0: - version "0.5.0" - resolved "https://registry.npmjs.org/tempy/-/tempy-0.5.0.tgz#2785c89df39fcc4d1714fc554813225e1581d70b" - integrity sha512-VEY96x7gbIRfsxqsafy2l5yVxxp3PhwAGoWMyC2D2Zt5DmEv+2tGiPOrquNRpf21hhGnKLVEsuqleqiZmKG/qw== +tempy@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/tempy/-/tempy-1.0.1.tgz#30fe901fd869cfb36ee2bd999805aa72fbb035de" + integrity sha512-biM9brNqxSc04Ee71hzFbryD11nX7VPhQQY32AdDmjFvodsRFz/3ufeoTZ6uYkRFfGo188tENcASNs3vTdsM0w== dependencies: + del "^6.0.0" is-stream "^2.0.0" temp-dir "^2.0.0" - type-fest "^0.12.0" + type-fest "^0.16.0" unique-string "^2.0.0" term-size@^1.2.0: @@ -5368,7 +6465,7 @@ thenify-all@^1.0.0: dependencies: any-promise "^1.0.0" -through2@^2.0.0, through2@^2.0.2, through2@~2.0.0: +through2@^2.0.0, through2@~2.0.0: version "2.0.5" resolved "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd" integrity sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ== @@ -5440,16 +6537,16 @@ traverse@~0.6.6: resolved "https://registry.npmjs.org/traverse/-/traverse-0.6.6.tgz#cbdf560fd7b9af632502fed40f918c157ea97137" integrity sha1-y99WD9e5r2MlAv7UD5GMFX6pcTc= +treeverse@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/treeverse/-/treeverse-2.0.0.tgz#036dcef04bc3fd79a9b79a68d4da03e882d8a9ca" + integrity sha512-N5gJCkLu1aXccpOTtqV6ddSEi6ZmGkh3hjmbu1IjcavJK4qyOVQmi0myQKM7z5jVGmD68SJoliaVrMmVObhj6A== + trim-newlines@^3.0.0: version "3.0.0" resolved "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.0.tgz#79726304a6a898aa8373427298d54c2ee8b1cb30" integrity sha512-C4+gOpvmxaSMKuEf9Qc134F1ZuOHVXKRbtEflf4NTtuuJDEIJ9p5PXsalL8SkeRw+qit1Mo+yuvMPAKwWg/1hA== -trim-off-newlines@^1.0.0: - version "1.0.3" - resolved "https://registry.yarnpkg.com/trim-off-newlines/-/trim-off-newlines-1.0.3.tgz#8df24847fcb821b0ab27d58ab6efec9f2fe961a1" - integrity sha512-kh6Tu6GbeSNMGfrrZh6Bb/4ZEHV1QlB4xNDBeog8Y9/QwFlKTRyWvY3Fs9tRDAMZliVUwieMgEdIeL/FtqjkJg== - tslib@^2.0.1: version "2.0.3" resolved "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz#8e0741ac45fc0c226e58a17bfc3e64b9bc6ca61c" @@ -5462,7 +6559,7 @@ tunnel-agent@^0.6.0: dependencies: safe-buffer "^5.0.1" -tunnel@0.0.6: +tunnel@0.0.6, tunnel@^0.0.6: version "0.0.6" resolved "https://registry.npmjs.org/tunnel/-/tunnel-0.0.6.tgz#72f1314b34a5b192db012324df2cc587ca47f92c" integrity sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg== @@ -5479,15 +6576,10 @@ type-check@~0.3.2: dependencies: prelude-ls "~1.1.2" -type-fest@^0.11.0: - version "0.11.0" - resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz#97abf0872310fed88a5c466b25681576145e33f1" - integrity sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ== - -type-fest@^0.12.0: - version "0.12.0" - resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.12.0.tgz#f57a27ab81c68d136a51fd71467eff94157fa1ee" - integrity sha512-53RyidyjvkGpnWPMF9bQgFtWp+Sl8O2Rp13VavmJgfAP9WWG6q6TkrKU8iyJdnwnfgHI6k2hTlgqH4aSdjoTbg== +type-fest@^0.16.0: + version "0.16.0" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.16.0.tgz#3240b891a78b0deae910dbeb86553e552a148860" + integrity sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg== type-fest@^0.18.0: version "0.18.0" @@ -5504,6 +6596,11 @@ type-fest@^0.8.1: resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d" integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA== +type-fest@^1.0.2: + version "1.4.0" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-1.4.0.tgz#e9fb813fe3bf1744ec359d55d1affefa76f14be1" + integrity sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA== + typedarray@^0.0.6: version "0.0.6" resolved "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" @@ -5564,13 +6661,6 @@ unique-string@^2.0.0: dependencies: crypto-random-string "^2.0.0" -universal-user-agent@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-5.0.0.tgz#a3182aa758069bf0e79952570ca757de3579c1d9" - integrity sha512-B5TPtzZleXyPrUMKCpEHFmVhMN6EhmJYjG5PQna9s7mXeSqGTLap4OpqLl5FCEFUI3UBmllkETwKf/db66Y54Q== - dependencies: - os-name "^3.1.0" - universal-user-agent@^6.0.0: version "6.0.0" resolved "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.0.tgz#3381f8503b251c0d9cd21bc1de939ec9df5480ee" @@ -5692,6 +6782,11 @@ uuid@^3.0.1, uuid@^3.3.2, uuid@^3.3.3: resolved "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== +uuid@^8.3.2: + version "8.3.2" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" + integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== + validate-npm-package-license@^3.0.1, validate-npm-package-license@^3.0.4: version "3.0.4" resolved "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" @@ -5707,6 +6802,13 @@ validate-npm-package-name@^3.0.0, validate-npm-package-name@~3.0.0: dependencies: builtins "^1.0.3" +validate-npm-package-name@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/validate-npm-package-name/-/validate-npm-package-name-4.0.0.tgz#fe8f1c50ac20afdb86f177da85b3600f0ac0d747" + integrity sha512-mzR0L8ZDktZjpX4OB46KT+56MAhl4EIazWP/+G/HPGuvfdaqg4YsCdtOm6U9+LOFyYDoh4dpnpxZRB9MQQns5Q== + dependencies: + builtins "^5.0.0" + verror@1.10.0: version "1.10.0" resolved "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" @@ -5716,6 +6818,11 @@ verror@1.10.0: core-util-is "1.0.2" extsprintf "^1.2.0" +walk-up-path@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/walk-up-path/-/walk-up-path-1.0.0.tgz#d4745e893dd5fd0dbb58dd0a4c6a33d9c9fec53e" + integrity sha512-hwj/qMDUEjCU5h0xr90KGCf0tg0/LgJbmOWgrWKYlcJZM7XvquvUJZ0G/HMGr7F7OQMOUuPHWP9JpriinkAlkg== + wcwidth@^1.0.0: version "1.0.1" resolved "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz#f0b0dcf915bc5ff1528afadb2c0e17b532da2fe8" @@ -5748,7 +6855,7 @@ which@1, which@^1.2.9, which@^1.3.0, which@^1.3.1: dependencies: isexe "^2.0.0" -which@^2.0.1: +which@^2.0.1, which@^2.0.2: version "2.0.2" resolved "https://registry.npmjs.org/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== @@ -5762,6 +6869,13 @@ wide-align@^1.1.0: dependencies: string-width "^1.0.2 || 2" +wide-align@^1.1.5: + version "1.1.5" + resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.5.tgz#df1d4c206854369ecf3c9a4898f1b23fbd9d15d3" + integrity sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg== + dependencies: + string-width "^1.0.2 || 2 || 3 || 4" + widest-line@^2.0.0: version "2.0.1" resolved "https://registry.npmjs.org/widest-line/-/widest-line-2.0.1.tgz#7438764730ec7ef4381ce4df82fb98a53142a3fc" @@ -5776,13 +6890,6 @@ win-release@^1.0.0: dependencies: semver "^5.0.1" -windows-release@^3.1.0: - version "3.3.3" - resolved "https://registry.npmjs.org/windows-release/-/windows-release-3.3.3.tgz#1c10027c7225743eec6b89df160d64c2e0293999" - integrity sha512-OSOGH1QYiW5yVor9TtmXKQvt2vjQqbYS+DqmsZw+r7xDwLXEeT3JGW0ZppFmHx4diyXmxt238KFR3N9jzevBRg== - dependencies: - execa "^1.0.0" - word-wrap@~1.2.3: version "1.2.3" resolved "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" @@ -5817,10 +6924,10 @@ wrap-ansi@^5.1.0: string-width "^3.0.0" strip-ansi "^5.0.0" -wrap-ansi@^6.2.0: - version "6.2.0" - resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53" - integrity sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA== +wrap-ansi@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" + integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== dependencies: ansi-styles "^4.0.0" string-width "^4.1.0" @@ -5840,6 +6947,14 @@ write-file-atomic@^2.0.0, write-file-atomic@^2.3.0, write-file-atomic@^2.4.3: imurmurhash "^0.1.4" signal-exit "^3.0.2" +write-file-atomic@^4.0.0, write-file-atomic@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-4.0.1.tgz#9faa33a964c1c85ff6f849b80b42a88c2c537c8f" + integrity sha512-nSKUxgAbyioruk6hU87QzVbY279oYT6uiwgDoujth2ju4mJ+TZau7SQBhtbTmUyuNYTuXnSyRn66FV0+eCgcrQ== + dependencies: + imurmurhash "^0.1.4" + signal-exit "^3.0.7" + xdg-basedir@^3.0.0: version "3.0.0" resolved "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-3.0.0.tgz#496b2cc109eca8dbacfe2dc72b603c17c5870ad4" @@ -5865,6 +6980,11 @@ y18n@^4.0.0: resolved "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b" integrity sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w== +y18n@^5.0.5: + version "5.0.8" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" + integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== + yallist@^2.1.2: version "2.1.2" resolved "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" @@ -5880,10 +7000,10 @@ yallist@^4.0.0: resolved "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== -yaml@^1.7.2: - version "1.10.0" - resolved "https://registry.npmjs.org/yaml/-/yaml-1.10.0.tgz#3b593add944876077d4d683fee01081bd9fff31e" - integrity sha512-yr2icI4glYaNG+KWONODapy2/jDdMSDnrONSjblABjD9B4Z5LgiircSt8m8sRZFNi08kG9Sm0uSHtEmP3zaEGg== +yaml@^1.10.0: + version "1.10.2" + resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" + integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== yargs-parser@^15.0.1: version "15.0.1" @@ -5893,13 +7013,10 @@ yargs-parser@^15.0.1: camelcase "^5.0.0" decamelize "^1.2.0" -yargs-parser@^18.1.2: - version "18.1.3" - resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0" - integrity sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ== - dependencies: - camelcase "^5.0.0" - decamelize "^1.2.0" +yargs-parser@^20.2.2: + version "20.2.9" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee" + integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== yargs-parser@^20.2.3: version "20.2.3" @@ -5930,22 +7047,18 @@ yargs@^14.2.3: y18n "^4.0.0" yargs-parser "^15.0.1" -yargs@^15.0.1: - version "15.4.1" - resolved "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz#0d87a16de01aee9d8bec2bfbf74f67851730f4f8" - integrity sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A== +yargs@^16.2.0: + version "16.2.0" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66" + integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== dependencies: - cliui "^6.0.0" - decamelize "^1.2.0" - find-up "^4.1.0" - get-caller-file "^2.0.1" + cliui "^7.0.2" + escalade "^3.1.1" + get-caller-file "^2.0.5" require-directory "^2.1.1" - require-main-filename "^2.0.0" - set-blocking "^2.0.0" string-width "^4.2.0" - which-module "^2.0.0" - y18n "^4.0.0" - yargs-parser "^18.1.2" + y18n "^5.0.5" + yargs-parser "^20.2.2" yargs@^8.0.2: version "8.0.2" diff --git a/sites/x6-sites-demos/CHANGELOG.md b/sites/x6-sites-demos/CHANGELOG.md index f6acafe79ab..30383f13adf 100644 --- a/sites/x6-sites-demos/CHANGELOG.md +++ b/sites/x6-sites-demos/CHANGELOG.md @@ -1,3 +1,221 @@ +## @antv/x6-sites-demos [1.2.1](https://github.com/antvis/x6/compare/@antv/x6-sites-demos@1.2.0...@antv/x6-sites-demos@1.2.1) (2022-06-07) + + +### Bug Fixes + +* 🐛 not create label when text is empty ([#1783](https://github.com/antvis/x6/issues/1783)) ([ed1fcd1](https://github.com/antvis/x6/commit/ed1fcd1f26601150d1b7913b8eaaf329a958af53)) +* 🐛 update x6 version ([#1655](https://github.com/antvis/x6/issues/1655)) ([07037be](https://github.com/antvis/x6/commit/07037beb59537d0feaa47ac1ab629d8c9b8c3a8b)) + +## @antv/x6-sites-demos [1.2.1](https://github.com/antvis/x6/compare/@antv/x6-sites-demos@1.2.0...@antv/x6-sites-demos@1.2.1) (2022-06-06) + + +### Bug Fixes + +* 🐛 not create label when text is empty ([#1783](https://github.com/antvis/x6/issues/1783)) ([ed1fcd1](https://github.com/antvis/x6/commit/ed1fcd1f26601150d1b7913b8eaaf329a958af53)) +* 🐛 update x6 version ([#1655](https://github.com/antvis/x6/issues/1655)) ([07037be](https://github.com/antvis/x6/commit/07037beb59537d0feaa47ac1ab629d8c9b8c3a8b)) + +## @antv/x6-sites-demos [1.2.1](https://github.com/antvis/x6/compare/@antv/x6-sites-demos@1.2.0...@antv/x6-sites-demos@1.2.1) (2022-06-05) + + +### Bug Fixes + +* 🐛 not create label when text is empty ([#1783](https://github.com/antvis/x6/issues/1783)) ([ed1fcd1](https://github.com/antvis/x6/commit/ed1fcd1f26601150d1b7913b8eaaf329a958af53)) +* 🐛 update x6 version ([#1655](https://github.com/antvis/x6/issues/1655)) ([07037be](https://github.com/antvis/x6/commit/07037beb59537d0feaa47ac1ab629d8c9b8c3a8b)) + +## @antv/x6-sites-demos [1.2.1](https://github.com/antvis/x6/compare/@antv/x6-sites-demos@1.2.0...@antv/x6-sites-demos@1.2.1) (2022-05-31) + + +### Bug Fixes + +* 🐛 not create label when text is empty ([#1783](https://github.com/antvis/x6/issues/1783)) ([ed1fcd1](https://github.com/antvis/x6/commit/ed1fcd1f26601150d1b7913b8eaaf329a958af53)) +* 🐛 update x6 version ([#1655](https://github.com/antvis/x6/issues/1655)) ([07037be](https://github.com/antvis/x6/commit/07037beb59537d0feaa47ac1ab629d8c9b8c3a8b)) + + + + + +### Dependencies + +* **@antv/x6:** upgraded to 1.32.3 + +## @antv/x6-sites-demos [1.2.1](https://github.com/antvis/x6/compare/@antv/x6-sites-demos@1.2.0...@antv/x6-sites-demos@1.2.1) (2022-05-17) + + +### Bug Fixes + +* 🐛 not create label when text is empty ([#1783](https://github.com/antvis/x6/issues/1783)) ([ed1fcd1](https://github.com/antvis/x6/commit/ed1fcd1f26601150d1b7913b8eaaf329a958af53)) +* 🐛 update x6 version ([#1655](https://github.com/antvis/x6/issues/1655)) ([07037be](https://github.com/antvis/x6/commit/07037beb59537d0feaa47ac1ab629d8c9b8c3a8b)) + + + + + +### Dependencies + +* **@antv/x6:** upgraded to 1.32.2 + +## @antv/x6-sites-demos [1.2.1](https://github.com/antvis/x6/compare/@antv/x6-sites-demos@1.2.0...@antv/x6-sites-demos@1.2.1) (2022-05-16) + + +### Bug Fixes + +* 🐛 not create label when text is empty ([#1783](https://github.com/antvis/x6/issues/1783)) ([ed1fcd1](https://github.com/antvis/x6/commit/ed1fcd1f26601150d1b7913b8eaaf329a958af53)) +* 🐛 update x6 version ([#1655](https://github.com/antvis/x6/issues/1655)) ([07037be](https://github.com/antvis/x6/commit/07037beb59537d0feaa47ac1ab629d8c9b8c3a8b)) + + + + + +### Dependencies + +* **@antv/x6:** upgraded to 1.32.1 + +## @antv/x6-sites-demos [1.2.2](https://github.com/antvis/x6/compare/@antv/x6-sites-demos@1.2.1...@antv/x6-sites-demos@1.2.2) (2022-05-14) + + + + + +### Dependencies + +* **@antv/x6:** upgraded to 1.32.0 + +## @antv/x6-sites-demos [1.2.1](https://github.com/antvis/x6/compare/@antv/x6-sites-demos@1.2.0...@antv/x6-sites-demos@1.2.1) (2022-05-09) + + +### Bug Fixes + +* 🐛 not create label when text is empty ([#1783](https://github.com/antvis/x6/issues/1783)) ([ed1fcd1](https://github.com/antvis/x6/commit/ed1fcd1f26601150d1b7913b8eaaf329a958af53)) +* 🐛 update x6 version ([#1655](https://github.com/antvis/x6/issues/1655)) ([07037be](https://github.com/antvis/x6/commit/07037beb59537d0feaa47ac1ab629d8c9b8c3a8b)) + + + + + +### Dependencies + +* **@antv/x6:** upgraded to 1.31.5 + +## @antv/x6-sites-demos [1.2.1](https://github.com/antvis/x6/compare/@antv/x6-sites-demos@1.2.0...@antv/x6-sites-demos@1.2.1) (2022-05-01) + + +### Bug Fixes + +* 🐛 not create label when text is empty ([#1783](https://github.com/antvis/x6/issues/1783)) ([ed1fcd1](https://github.com/antvis/x6/commit/ed1fcd1f26601150d1b7913b8eaaf329a958af53)) +* 🐛 update x6 version ([#1655](https://github.com/antvis/x6/issues/1655)) ([07037be](https://github.com/antvis/x6/commit/07037beb59537d0feaa47ac1ab629d8c9b8c3a8b)) + +## @antv/x6-sites-demos [1.2.1](https://github.com/antvis/x6/compare/@antv/x6-sites-demos@1.2.0...@antv/x6-sites-demos@1.2.1) (2022-04-26) + + +### Bug Fixes + +* 🐛 not create label when text is empty ([#1783](https://github.com/antvis/x6/issues/1783)) ([ed1fcd1](https://github.com/antvis/x6/commit/ed1fcd1f26601150d1b7913b8eaaf329a958af53)) +* 🐛 update x6 version ([#1655](https://github.com/antvis/x6/issues/1655)) ([07037be](https://github.com/antvis/x6/commit/07037beb59537d0feaa47ac1ab629d8c9b8c3a8b)) + +## @antv/x6-sites-demos [1.2.1](https://github.com/antvis/x6/compare/@antv/x6-sites-demos@1.2.0...@antv/x6-sites-demos@1.2.1) (2022-04-21) + + +### Bug Fixes + +* 🐛 not create label when text is empty ([#1783](https://github.com/antvis/x6/issues/1783)) ([ed1fcd1](https://github.com/antvis/x6/commit/ed1fcd1f26601150d1b7913b8eaaf329a958af53)) +* 🐛 update x6 version ([#1655](https://github.com/antvis/x6/issues/1655)) ([07037be](https://github.com/antvis/x6/commit/07037beb59537d0feaa47ac1ab629d8c9b8c3a8b)) + + + + + +### Dependencies + +* **@antv/x6:** upgraded to 1.31.4 + +## @antv/x6-sites-demos [1.2.1](https://github.com/antvis/x6/compare/@antv/x6-sites-demos@1.2.0...@antv/x6-sites-demos@1.2.1) (2022-04-13) + + +### Bug Fixes + +* 🐛 not create label when text is empty ([#1783](https://github.com/antvis/x6/issues/1783)) ([ed1fcd1](https://github.com/antvis/x6/commit/ed1fcd1f26601150d1b7913b8eaaf329a958af53)) +* 🐛 update x6 version ([#1655](https://github.com/antvis/x6/issues/1655)) ([07037be](https://github.com/antvis/x6/commit/07037beb59537d0feaa47ac1ab629d8c9b8c3a8b)) + +## @antv/x6-sites-demos [1.2.1](https://github.com/antvis/x6/compare/@antv/x6-sites-demos@1.2.0...@antv/x6-sites-demos@1.2.1) (2022-04-09) + + +### Bug Fixes + +* 🐛 not create label when text is empty ([#1783](https://github.com/antvis/x6/issues/1783)) ([ed1fcd1](https://github.com/antvis/x6/commit/ed1fcd1f26601150d1b7913b8eaaf329a958af53)) +* 🐛 update x6 version ([#1655](https://github.com/antvis/x6/issues/1655)) ([07037be](https://github.com/antvis/x6/commit/07037beb59537d0feaa47ac1ab629d8c9b8c3a8b)) + + + + + +### Dependencies + +* **@antv/x6:** upgraded to 1.31.3 + +## @antv/x6-sites-demos [1.2.1](https://github.com/antvis/x6/compare/@antv/x6-sites-demos@1.2.0...@antv/x6-sites-demos@1.2.1) (2022-04-09) + + +### Bug Fixes + +* 🐛 not create label when text is empty ([#1783](https://github.com/antvis/x6/issues/1783)) ([ed1fcd1](https://github.com/antvis/x6/commit/ed1fcd1f26601150d1b7913b8eaaf329a958af53)) +* 🐛 update x6 version ([#1655](https://github.com/antvis/x6/issues/1655)) ([07037be](https://github.com/antvis/x6/commit/07037beb59537d0feaa47ac1ab629d8c9b8c3a8b)) + +## @antv/x6-sites-demos [1.2.1](https://github.com/antvis/x6/compare/@antv/x6-sites-demos@1.2.0...@antv/x6-sites-demos@1.2.1) (2022-04-09) + + +### Bug Fixes + +* 🐛 not create label when text is empty ([#1783](https://github.com/antvis/x6/issues/1783)) ([ed1fcd1](https://github.com/antvis/x6/commit/ed1fcd1f26601150d1b7913b8eaaf329a958af53)) +* 🐛 update x6 version ([#1655](https://github.com/antvis/x6/issues/1655)) ([07037be](https://github.com/antvis/x6/commit/07037beb59537d0feaa47ac1ab629d8c9b8c3a8b)) + + + + + +### Dependencies + +* **@antv/x6:** upgraded to 1.31.2 + +## @antv/x6-sites-demos [1.2.1](https://github.com/antvis/x6/compare/@antv/x6-sites-demos@1.2.0...@antv/x6-sites-demos@1.2.1) (2022-04-05) + + +### Bug Fixes + +* 🐛 not create label when text is empty ([#1783](https://github.com/antvis/x6/issues/1783)) ([ed1fcd1](https://github.com/antvis/x6/commit/ed1fcd1f26601150d1b7913b8eaaf329a958af53)) +* 🐛 update x6 version ([#1655](https://github.com/antvis/x6/issues/1655)) ([07037be](https://github.com/antvis/x6/commit/07037beb59537d0feaa47ac1ab629d8c9b8c3a8b)) + +## @antv/x6-sites-demos [1.2.1](https://github.com/antvis/x6/compare/@antv/x6-sites-demos@1.2.0...@antv/x6-sites-demos@1.2.1) (2022-04-05) + + +### Bug Fixes + +* 🐛 not create label when text is empty ([#1783](https://github.com/antvis/x6/issues/1783)) ([ed1fcd1](https://github.com/antvis/x6/commit/ed1fcd1f26601150d1b7913b8eaaf329a958af53)) +* 🐛 update x6 version ([#1655](https://github.com/antvis/x6/issues/1655)) ([07037be](https://github.com/antvis/x6/commit/07037beb59537d0feaa47ac1ab629d8c9b8c3a8b)) + + + + + +### Dependencies + +* **@antv/x6:** upgraded to 1.31.1 + +## @antv/x6-sites-demos [1.2.1](https://github.com/antvis/x6/compare/@antv/x6-sites-demos@1.2.0...@antv/x6-sites-demos@1.2.1) (2022-03-23) + + +### Bug Fixes + +* 🐛 not create label when text is empty ([#1783](https://github.com/antvis/x6/issues/1783)) ([ed1fcd1](https://github.com/antvis/x6/commit/ed1fcd1f26601150d1b7913b8eaaf329a958af53)) +* 🐛 update x6 version ([#1655](https://github.com/antvis/x6/issues/1655)) ([07037be](https://github.com/antvis/x6/commit/07037beb59537d0feaa47ac1ab629d8c9b8c3a8b)) + + + + + +### Dependencies + +* **@antv/x6:** upgraded to 1.31.0 + ## @antv/x6-sites-demos [1.2.1](https://github.com/antvis/x6/compare/@antv/x6-sites-demos@1.2.0...@antv/x6-sites-demos@1.2.1) (2022-03-10) diff --git a/sites/x6-sites-demos/package.json b/sites/x6-sites-demos/package.json index 17018171e85..f2d5eb4cad0 100644 --- a/sites/x6-sites-demos/package.json +++ b/sites/x6-sites-demos/package.json @@ -15,7 +15,7 @@ "dependencies": { "@ant-design/icons": "^4.2.1", "@antv/layout": "^0.1.9", - "@antv/x6": "^1.30.2", + "@antv/x6": "latest", "@antv/x6-react-components": "^1.1.16", "@antv/x6-react-shape": "^1.6.0", "@antv/x6-sites-demos-helper": "^1.2.2", diff --git a/sites/x6-sites-demos/packages/tutorial/advanced/react/react-portal/.env b/sites/x6-sites-demos/packages/tutorial/advanced/react/react-portal/.env new file mode 100644 index 00000000000..c91520f694a --- /dev/null +++ b/sites/x6-sites-demos/packages/tutorial/advanced/react/react-portal/.env @@ -0,0 +1,3 @@ +GENERATE_SOURCEMAP=false +SKIP_PREFLIGHT_CHECK=true +PUBLIC_URL='./' diff --git a/sites/x6-sites-demos/packages/tutorial/advanced/react/react-portal/.gitignore b/sites/x6-sites-demos/packages/tutorial/advanced/react/react-portal/.gitignore new file mode 100644 index 00000000000..db037d53ea6 --- /dev/null +++ b/sites/x6-sites-demos/packages/tutorial/advanced/react/react-portal/.gitignore @@ -0,0 +1,24 @@ +# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. + +# dependencies +/node_modules +react-app-env.d.ts +/.pnp +.pnp.js + +# testing +/coverage + +# production +/build + +# misc +.DS_Store +.env.local +.env.development.local +.env.test.local +.env.production.local + +npm-debug.log* +yarn-debug.log* +yarn-error.log* diff --git a/sites/x6-sites-demos/packages/tutorial/advanced/react/react-portal/package.json b/sites/x6-sites-demos/packages/tutorial/advanced/react/react-portal/package.json new file mode 100644 index 00000000000..9cef1bd1a66 --- /dev/null +++ b/sites/x6-sites-demos/packages/tutorial/advanced/react/react-portal/package.json @@ -0,0 +1,42 @@ +{ + "name": "@antv/x6-sites-demos-tutorial.advanced.react.react-portal", + "version": "0.1.0", + "private": true, + "dependencies": { + "@antv/x6": "latest", + "@antv/x6-react-shape": "latest", + "@antv/x6-sites-demos-helper": "latest", + "antd": "^4.4.2", + "react": "^16.13.1", + "react-dom": "^16.13.1", + "react-scripts": "^3.4.1" + }, + "devDependencies": { + "@types/react": "^16.9.19", + "@types/react-dom": "^16.9.5", + "typescript": "^4.1.2" + }, + "scripts": { + "start": "react-scripts start", + "build": "react-scripts build", + "test": "react-scripts test", + "eject": "react-scripts eject", + "deploy": "yarn -s prepare && yarn -s static", + "prestart": "yarn prepare" + }, + "eslintConfig": { + "extends": "react-app" + }, + "browserslist": { + "production": [ + ">0.2%", + "not dead", + "not op_mini all" + ], + "development": [ + "last 1 chrome version", + "last 1 firefox version", + "last 1 safari version" + ] + } +} diff --git a/sites/x6-sites-demos/packages/tutorial/advanced/react/react-portal/public/index.html b/sites/x6-sites-demos/packages/tutorial/advanced/react/react-portal/public/index.html new file mode 100644 index 00000000000..775bb0d85d9 --- /dev/null +++ b/sites/x6-sites-demos/packages/tutorial/advanced/react/react-portal/public/index.html @@ -0,0 +1,15 @@ + + + + + + + + + +
+ + diff --git a/sites/x6-sites-demos/packages/tutorial/advanced/react/react-portal/src/app.css b/sites/x6-sites-demos/packages/tutorial/advanced/react/react-portal/src/app.css new file mode 100644 index 00000000000..4dea7a64e8d --- /dev/null +++ b/sites/x6-sites-demos/packages/tutorial/advanced/react/react-portal/src/app.css @@ -0,0 +1,14 @@ +.app { + font-family: sans-serif; + padding: 0; + display: flex; + padding: 16px 8px; +} + +.app-content { + flex: 1; + height: 240px; + margin-left: 8px; + margin-right: 8px; + box-shadow: 0 0 10px 1px #e9e9e9; +} diff --git a/sites/x6-sites-demos/packages/tutorial/advanced/react/react-portal/src/app.tsx b/sites/x6-sites-demos/packages/tutorial/advanced/react/react-portal/src/app.tsx new file mode 100644 index 00000000000..3ddb2941225 --- /dev/null +++ b/sites/x6-sites-demos/packages/tutorial/advanced/react/react-portal/src/app.tsx @@ -0,0 +1,94 @@ +import React, { memo, useEffect, useRef } from 'react' +import { Graph, Node, Color } from '@antv/x6' +import { Portal, ReactShape } from '@antv/x6-react-shape' +import './app.css' + +// You should do this outside your components +// (or make sure its not recreated on every render). +// +// 这个调用需要在组件外进行。 +const X6ReactPortalProvider = Portal.getProvider() + +const MyComponent = memo( + ({ node, text }: { node?: ReactShape; text: string }) => { + const color = Color.randomHex() + return ( +
+ {text} +
+ ) + }, + (prev, next) => { + return Boolean(next.node?.hasChanged('data')) + }, +) + +export default () => { + const container = useRef(null) + + useEffect(() => { + if (!container.current) { + return + } + + const graph = new Graph({ + container: container.current, + width: 800, + height: 600, + }) + + const source = graph.addNode({ + shape: 'react-shape', + x: 80, + y: 80, + width: 160, + height: 60, + data: {}, + xxx: {}, + component: , + }) + + const target = graph.addNode({ + shape: 'react-shape', + x: 320, + y: 320, + width: 160, + height: 60, + component: (node: Node) => { + return
{node.attr('body/fill')}
+ }, + // component: () => , + }) + + graph.addEdge({ + source, + target, + }) + + const update = () => { + target.prop('attrs/body/fill', Color.randomHex()) + setTimeout(update, 1000) + } + + update() + + console.log(graph.toJSON()) + return () => graph.dispose() + }, []) + + return ( +
+ +
+
+ ) +} diff --git a/sites/x6-sites-demos/packages/tutorial/advanced/react/react-portal/src/index.css b/sites/x6-sites-demos/packages/tutorial/advanced/react/react-portal/src/index.css new file mode 100644 index 00000000000..e2bd8f36a01 --- /dev/null +++ b/sites/x6-sites-demos/packages/tutorial/advanced/react/react-portal/src/index.css @@ -0,0 +1,14 @@ +body { + margin: 0; + padding: 0; + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', + 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', + sans-serif; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +code { + font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New', + monospace; +} diff --git a/sites/x6-sites-demos/packages/tutorial/advanced/react/react-portal/src/index.tsx b/sites/x6-sites-demos/packages/tutorial/advanced/react/react-portal/src/index.tsx new file mode 100644 index 00000000000..1802b3eb682 --- /dev/null +++ b/sites/x6-sites-demos/packages/tutorial/advanced/react/react-portal/src/index.tsx @@ -0,0 +1,11 @@ +import React from 'react' +import ReactDOM from 'react-dom' +import { Wrap } from '@antv/x6-sites-demos-helper' +import App from './app' + +ReactDOM.render( + + + , + document.getElementById('root'), +) diff --git a/sites/x6-sites-demos/packages/tutorial/advanced/react/react-portal/tsconfig.json b/sites/x6-sites-demos/packages/tutorial/advanced/react/react-portal/tsconfig.json new file mode 100644 index 00000000000..b46de511b01 --- /dev/null +++ b/sites/x6-sites-demos/packages/tutorial/advanced/react/react-portal/tsconfig.json @@ -0,0 +1,27 @@ +{ + "compilerOptions": { + "allowJs": true, + "strict": true, + "isolatedModules": true, + "allowSyntheticDefaultImports": true, + "forceConsistentCasingInFileNames": true, + "strictPropertyInitialization": false, + "noEmit": true, + "module": "esnext", + "moduleResolution": "node", + "sourceMap": true, + "declaration": true, + "skipLibCheck": true, + "esModuleInterop": true, + "noImplicitAny": true, + "noEmitOnError": true, + "noUnusedLocals": true, + "strictNullChecks": true, + "resolveJsonModule": true, + "experimentalDecorators": true, + "jsx": "react", + "target": "es5", + "lib": ["dom", "es2015"] + }, + "include": ["src"] +} diff --git a/sites/x6-sites-demos/packages/tutorial/basic/dnd/dnd/src/app.tsx b/sites/x6-sites-demos/packages/tutorial/basic/dnd/dnd/src/app.tsx index 2171aec23b9..8cabc60370e 100644 --- a/sites/x6-sites-demos/packages/tutorial/basic/dnd/dnd/src/app.tsx +++ b/sites/x6-sites-demos/packages/tutorial/basic/dnd/dnd/src/app.tsx @@ -7,6 +7,7 @@ const { Dnd } = Addon export default class Example extends React.Component { private graph: Graph private container: HTMLDivElement + private dndContainer: HTMLDivElement private dnd: any componentDidMount() { @@ -70,6 +71,7 @@ export default class Example extends React.Component { target: graph, scaled: false, animation: true, + dndContainer: this.dndContainer, validateNode(droppingNode, options) { return droppingNode.shape === 'html' ? new Promise((resolve) => { @@ -133,10 +135,14 @@ export default class Example extends React.Component { this.container = container } + dndContainerRef = (container: HTMLDivElement) => { + this.dndContainer = container + } + render() { return (
-
+
参数 + +| 名称 | 类型 | 必选 | 默认值 | 描述 | +|------------------|-----------------------|:----:|---------|-------------------------------------------------------------------| +| nodes | (Node.Metadata \| Node)[] | ✓ | | [节点元数据](/en/docs/api/model/node#constructor)或[节点实例](/en/docs/api/model/node)数组。 | +| options.silent | boolean | | `false` | 为 `true` 时不触发 `'node:added'` 和 `'cell:added'` 事件和画布重绘。 | +| options.sort | boolean | | `true` | 是否按照 `zIndex` 排序。 | +| options...others | object | | | 其他自定义键值对,可以在事件回调中使用。 | + ### removeNode(...) ```sign @@ -123,6 +140,23 @@ addEdge(edge:Edge, options?: AddOptions): Edge | options.sort | boolean | | `true` | 是否按照 `zIndex` 排序。 | | options...others | object | | | 其他自定义键值对,可以在事件回调中使用。 | +### addEdges(...) + +```sign +addEdges(edges: (Edge.Metadata | Edge)[], options?: AddOptions): Graph +``` + +添加多条边到画布,返回该画布。 + +参数 + +| 名称 | 类型 | 必选 | 默认值 | 描述 | +|------------------|-----------------------|:----:|---------|-------------------------------------------------------------------| +| edges | (Edge.Metadata \| Edge)[] | ✓ | | [边元数据](/en/docs/api/model/edge#constructor)或[边实例](/en/docs/api/model/edge)数组。 | +| options.silent | boolean | | `false` | 为 `true` 时不触发 `'edge:added'` 和 `'cell:added'` 事件和画布重绘。 | +| options.sort | boolean | | `true` | 是否按照 `zIndex` 排序。 | +| options...others | object | | | 其他自定义键值对,可以在事件回调中使用。 | + ### removeEdge(...) ```sign @@ -157,6 +191,23 @@ addCell(cell: Cell | Cell[], options?: AddOptions): this | options.sort | boolean | | `true` | 是否按照 `zIndex` 排序。 | | options...others | object | | | 其他自定义键值对,可以在事件回调中使用。 | +### addCells(...) + +```sign +addCells(cells: Cell[], options?: AddOptions): this +``` + +添加多个节点或边到画布。 + +参数 + +| 名称 | 类型 | 必选 | 默认值 | 描述 | +|------------------|----------------|:----:|---------|----------------------------------------------------------------------------------| +| cells | Cell[] | ✓ | | [节点实例](/en/docs/api/model/node)或[边实例](/en/docs/api/model/edge)的数组。 | +| options.silent | boolean | | `false` | 为 `true` 时不触发 `'cell:added'`、`'node:added'` 和 `'edge:added'` 事件和画布重绘。 | +| options.sort | boolean | | `true` | 是否按照 `zIndex` 排序。 | +| options...others | object | | | 其他自定义键值对,可以在事件回调中使用。 | + ### removeCell(...) ```sign @@ -409,7 +460,7 @@ getRootNodes(): Node[] isRootNode(cell: Cell | string): boolean ``` -返回指定的节点是否是跟节点。 +返回指定的节点是否是根节点。 参数 @@ -431,6 +482,8 @@ getLeafNodes(): Node[] isLeafNode(cell: Cell | string): boolean ``` +返回指定的节点是否是叶子节点 + 参数 | 名称 | 类型 | 必选 | 默认值 | 描述 | @@ -488,7 +541,6 @@ isPredecessor(cell1: Cell, cell2: Cell, options?: GetPredecessorsOptions): boole 返回 `cell2` 是否是 `cell1` 的前序节点,其中 `options` 选项与 [`getPredecessors(...)`](#getpredecessors) 方法的选项一致。 -参数 ### getSuccessors(...) @@ -723,4 +775,4 @@ fromJSON( ): this ``` -当 `options.slient` 为 `true` 时,不触发 `cell:added`、`node:added` 和 `edge:added` 事件和画布重绘。 \ No newline at end of file +当 `options.silent` 为 `true` 时,不触发 `cell:added`、`node:added` 和 `edge:added` 事件和画布重绘。 \ No newline at end of file diff --git a/sites/x6-sites/docs/api/graph/model.zh.md b/sites/x6-sites/docs/api/graph/model.zh.md index 01b2521a700..ce5d165ab14 100644 --- a/sites/x6-sites/docs/api/graph/model.zh.md +++ b/sites/x6-sites/docs/api/graph/model.zh.md @@ -74,6 +74,23 @@ addNode(node: Node, options?: AddOptions): Node | options.sort | boolean | | `true` | 是否按照 `zIndex` 排序。 | | options...others | object | | | 其他自定义键值对,可以在事件回调中使用。 | +### addNodes(...) + +```sign +addNodes(nodes: (Node.Metadata | Node)[], options?: AddOptions): Graph +``` + +添加多个节点到画布,返回该画布。批量添加节点的时候,推荐使用这个方法,相比多次 addNode,它具备更好的性能。 + +参数 + +| 名称 | 类型 | 必选 | 默认值 | 描述 | +|------------------|-----------------------|:----:|---------|-------------------------------------------------------------------| +| nodes | (Node.Metadata \| Node)[] | ✓ | | [节点元数据](/en/docs/api/model/node#constructor)或[节点实例](/en/docs/api/model/node)数组。 | +| options.silent | boolean | | `false` | 为 `true` 时不触发 `'node:added'` 和 `'cell:added'` 事件和画布重绘。 | +| options.sort | boolean | | `true` | 是否按照 `zIndex` 排序。 | +| options...others | object | | | 其他自定义键值对,可以在事件回调中使用。 | + ### removeNode(...) ```sign @@ -123,6 +140,23 @@ addEdge(edge:Edge, options?: AddOptions): Edge | options.sort | boolean | | `true` | 是否按照 `zIndex` 排序。 | | options...others | object | | | 其他自定义键值对,可以在事件回调中使用。 | +### addEdges(...) + +```sign +addEdges(edges: (Edge.Metadata | Edge)[], options?: AddOptions): Graph +``` + +添加多条边到画布,返回该画布。 + +参数 + +| 名称 | 类型 | 必选 | 默认值 | 描述 | +|------------------|-----------------------|:----:|---------|-------------------------------------------------------------------| +| edges | (Edge.Metadata \| Edge)[] | ✓ | | [边元数据](/en/docs/api/model/edge#constructor)或[边实例](/en/docs/api/model/edge)数组。 | +| options.silent | boolean | | `false` | 为 `true` 时不触发 `'edge:added'` 和 `'cell:added'` 事件和画布重绘。 | +| options.sort | boolean | | `true` | 是否按照 `zIndex` 排序。 | +| options...others | object | | | 其他自定义键值对,可以在事件回调中使用。 | + ### removeEdge(...) ```sign @@ -157,6 +191,23 @@ addCell(cell: Cell | Cell[], options?: AddOptions): this | options.sort | boolean | | `true` | 是否按照 `zIndex` 排序。 | | options...others | object | | | 其他自定义键值对,可以在事件回调中使用。 | +### addCells(...) + +```sign +addCells(cells: Cell[], options?: AddOptions): this +``` + +添加多个节点或边到画布。 + +参数 + +| 名称 | 类型 | 必选 | 默认值 | 描述 | +|------------------|----------------|:----:|---------|----------------------------------------------------------------------------------| +| cells | Cell[] | ✓ | | [节点实例](/en/docs/api/model/node)或[边实例](/en/docs/api/model/edge)的数组。 | +| options.silent | boolean | | `false` | 为 `true` 时不触发 `'cell:added'`、`'node:added'` 和 `'edge:added'` 事件和画布重绘。 | +| options.sort | boolean | | `true` | 是否按照 `zIndex` 排序。 | +| options...others | object | | | 其他自定义键值对,可以在事件回调中使用。 | + ### removeCell(...) ```sign @@ -280,7 +331,7 @@ getCellById(id: string) | 名称 | 类型 | 必选 | 默认值 | 描述 | |------|--------|:----:|--------|-------------| -| cell | string | ✓ | | 节点/边的 ID。 | +| id | string | ✓ | | 节点/边的 ID。 | ### updateCellId(...) @@ -431,6 +482,8 @@ getLeafNodes(): Node[] isLeafNode(cell: Cell | string): boolean ``` +返回指定的节点是否是叶子节点 + 参数 | 名称 | 类型 | 必选 | 默认值 | 描述 | @@ -488,7 +541,6 @@ isPredecessor(cell1: Cell, cell2: Cell, options?: GetPredecessorsOptions): boole 返回 `cell2` 是否是 `cell1` 的前序节点,其中 `options` 选项与 [`getPredecessors(...)`](#getpredecessors) 方法的选项一致。 -参数 ### getSuccessors(...) @@ -723,4 +775,4 @@ fromJSON( ): this ``` -当 `options.slient` 为 `true` 时,不触发 `cell:added`、`node:added` 和 `edge:added` 事件和画布重绘。 +当 `options.silent` 为 `true` 时,不触发 `cell:added`、`node:added` 和 `edge:added` 事件和画布重绘。 diff --git a/sites/x6-sites/docs/api/graph/scroller.en.md b/sites/x6-sites/docs/api/graph/scroller.en.md index 090f4163dd9..2a7eeca1111 100644 --- a/sites/x6-sites/docs/api/graph/scroller.en.md +++ b/sites/x6-sites/docs/api/graph/scroller.en.md @@ -145,6 +145,7 @@ interface { maxWidth?: number // 画布最大宽度 maxHeight?: number // 画布最大高度 border?: number // 距离画布边缘多少位置时触发自动扩展画布,例如设置为 `20` 表示当节点移动到距离画布边缘 `20px` 内时触发自动扩展画布。 + direction?: ('top' | 'right' | 'bottom' | 'left') | ('top' | 'right' | 'bottom' | 'left')[] // 画布可扩展的方向,默认四个方向都可扩展 } ``` @@ -389,14 +390,6 @@ disableAutoResize(): this 关闭自动扩充/缩小画布 -### update() - -```sign -update(): this -``` - -更新画布 - ### lockScroller() ```sign diff --git a/sites/x6-sites/docs/api/graph/scroller.zh.md b/sites/x6-sites/docs/api/graph/scroller.zh.md index 1c2f8fb304a..7791e09bdf6 100644 --- a/sites/x6-sites/docs/api/graph/scroller.zh.md +++ b/sites/x6-sites/docs/api/graph/scroller.zh.md @@ -145,6 +145,7 @@ interface { maxWidth?: number // 画布最大宽度 maxHeight?: number // 画布最大高度 border?: number // 距离画布边缘多少位置时触发自动扩展画布,例如设置为 `20` 表示当节点移动到距离画布边缘 `20px` 内时触发自动扩展画布。 + direction?: ('top' | 'right' | 'bottom' | 'left') | ('top' | 'right' | 'bottom' | 'left')[] // 画布可扩展的方向,默认四个方向都可扩展 } ``` @@ -389,14 +390,6 @@ disableAutoResize(): this 关闭自动扩充/缩小画布 -### update() - -```sign -update(): this -``` - -更新画布 - ### lockScroller() ```sign diff --git a/sites/x6-sites/docs/api/graph/selecting.en.md b/sites/x6-sites/docs/api/graph/selecting.en.md index eb0d783d2d5..74bc4230771 100644 --- a/sites/x6-sites/docs/api/graph/selecting.en.md +++ b/sites/x6-sites/docs/api/graph/selecting.en.md @@ -44,6 +44,7 @@ interface SelectionOptions { rubberband?: boolean strict?: boolean modifiers?: string | ('alt' | 'ctrl' | 'meta' | 'shift')[] | null + multipleSelectionModifiers?: string | ('alt' | 'ctrl' | 'meta' | 'shift')[] | null movable?: boolean content?: | null @@ -78,7 +79,17 @@ const graph = new Graph({ ### multiple -是否启用点击多选,默认为 `true`。启用多选后按住 `ctrl` 或 `command` 键点击节点实现多选。 +是否启用点击多选,默认为 `true`。启用多选后默认按住 `ctrl` 或 `command` 键点击节点实现多选。和 `multipleSelectionModifiers` 配合使用。 + +### multipleSelectionModifiers + +修饰键(`'alt'`、`'ctrl'`、`'meta'`、`'shift'`),设置修饰键后需按下修饰键才能触发点选多选。默认值是 `['ctrl', 'meta']`。 + +支持配置单个(如 `'alt'`)或多个(如 `['alt', 'ctrl']`)修饰键,通过数组形式配置的多个修饰键是*或关系*,比如刚刚配置的修饰键表示按下 `'alt'` 或 `'ctrl'`,如果需要更加灵活的配置,可以使用如下这些形式: + +- `'alt|ctrl'` 表示按下 `'alt'` 或 `'ctrl'`。 +- `'alt&ctrl'` 表示同时按下 `'alt'` 和 `'ctrl'`。 +- `'alt|ctrl&shift'` 表示同时按下 `'alt'` 和 `'shift'` 或者同时按下 `'ctrl'` 和 `'shift'`。 ### rubberband @@ -482,4 +493,4 @@ setSelectionDisplayContent( ### selection:changed -选中的节点/边发生改变(增删)时触发。 \ No newline at end of file +选中的节点/边发生改变(增删)时触发。 diff --git a/sites/x6-sites/docs/api/graph/selecting.zh.md b/sites/x6-sites/docs/api/graph/selecting.zh.md index adbce360e39..7c8333f0ff9 100644 --- a/sites/x6-sites/docs/api/graph/selecting.zh.md +++ b/sites/x6-sites/docs/api/graph/selecting.zh.md @@ -44,6 +44,7 @@ interface SelectionOptions { rubberband?: boolean strict?: boolean modifiers?: string | ('alt' | 'ctrl' | 'meta' | 'shift')[] | null + multipleSelectionModifiers?: string | ('alt' | 'ctrl' | 'meta' | 'shift')[] | null movable?: boolean content?: | null @@ -78,7 +79,17 @@ const graph = new Graph({ ### multiple -是否启用点击多选,默认为 `true`。启用多选后按住 `ctrl` 或 `command` 键点击节点实现多选。 +是否启用点击多选,默认为 `true`。启用多选后默认按住 `ctrl` 或 `command` 键点击节点实现多选。和 `multipleSelectionModifiers` 配合使用。 + +### multipleSelectionModifiers + +修饰键(`'alt'`、`'ctrl'`、`'meta'`、`'shift'`),设置修饰键后需按下修饰键才能触发点选多选。默认值是 `['ctrl', 'meta']`。 + +支持配置单个(如 `'alt'`)或多个(如 `['alt', 'ctrl']`)修饰键,通过数组形式配置的多个修饰键是*或关系*,比如刚刚配置的修饰键表示按下 `'alt'` 或 `'ctrl'`,如果需要更加灵活的配置,可以使用如下这些形式: + +- `'alt|ctrl'` 表示按下 `'alt'` 或 `'ctrl'`。 +- `'alt&ctrl'` 表示同时按下 `'alt'` 和 `'ctrl'`。 +- `'alt|ctrl&shift'` 表示同时按下 `'alt'` 和 `'shift'` 或者同时按下 `'ctrl'` 和 `'shift'`。 ### rubberband @@ -482,4 +493,4 @@ setSelectionDisplayContent( ### selection:changed -选中的节点/边发生改变(增删)时触发。 \ No newline at end of file +选中的节点/边发生改变(增删)时触发。 diff --git a/sites/x6-sites/docs/api/model/cell.en.md b/sites/x6-sites/docs/api/model/cell.en.md index 74b720c268b..816d51aa471 100644 --- a/sites/x6-sites/docs/api/model/cell.en.md +++ b/sites/x6-sites/docs/api/model/cell.en.md @@ -277,7 +277,7 @@ const rect = new Shape.Rect({ 值得一提的是,支持使用[小驼峰(camelCase)格式](https://zh.wikipedia.org/zh-cn/%E9%A7%9D%E5%B3%B0%E5%BC%8F%E5%A4%A7%E5%B0%8F%E5%AF%AB)的属性名,如 `'fontSize'`,这就避免了 `'font-size'` 这种属性名作为对象 Key 时需要加引号的麻烦。 -除了标准的 [SVG 属性](https://developer.mozilla.org/zh-CN/docs/Web/SVG/Attribute),我们在 X6 中还定义了一系列特殊属性,详情请参考[如何使用特殊属性]()和[如何自定义属性]()。另外,我们还可以使用 [CSS](https://developer.mozilla.org/en-US/docs/Web/CSS) 来定制样式,节点和边渲染到画布后分别有 `'x6-node'` 和 `'x6-edge'` 两个样式名,默认的样式定义[参考这里](https://github.com/antvis/X6/blob/master/packages/x6/src/index.less#L26-L156)。例如,我们可以像下面这样来指定节点中 `` 元素的样式: +除了标准的 [SVG 属性](https://developer.mozilla.org/zh-CN/docs/Web/SVG/Attribute),我们在 X6 中还定义了一系列特殊属性,详情请参考[如何使用特殊属性](/en/docs/tutorial/intermediate/attrs#gatsby-focus-wrapper)和[如何自定义属性](/en/docs/api/model/cell/#自定义属性)。另外,我们还可以使用 [CSS](https://developer.mozilla.org/en-US/docs/Web/CSS) 来定制样式,节点和边渲染到画布后分别有 `'x6-node'` 和 `'x6-edge'` 两个样式名,默认的样式定义[参考这里](https://github.com/antvis/X6/blob/master/packages/x6/src/index.less#L26-L156)。例如,我们可以像下面这样来指定节点中 `` 元素的样式: ```css .x6-node rect { diff --git a/sites/x6-sites/docs/api/model/cell.zh.md b/sites/x6-sites/docs/api/model/cell.zh.md index e9676ba3d06..0ed0c3fe8e4 100644 --- a/sites/x6-sites/docs/api/model/cell.zh.md +++ b/sites/x6-sites/docs/api/model/cell.zh.md @@ -277,7 +277,7 @@ const rect = new Shape.Rect({ 值得一提的是,支持使用[小驼峰(camelCase)格式](https://zh.wikipedia.org/zh-cn/%E9%A7%9D%E5%B3%B0%E5%BC%8F%E5%A4%A7%E5%B0%8F%E5%AF%AB)的属性名,如 `'fontSize'`,这就避免了 `'font-size'` 这种属性名作为对象 Key 时需要加引号的麻烦。 -除了标准的 [SVG 属性](https://developer.mozilla.org/zh-CN/docs/Web/SVG/Attribute),我们在 X6 中还定义了一系列特殊属性,详情请参考[如何使用特殊属性]()和[如何自定义属性]()。另外,我们还可以使用 [CSS](https://developer.mozilla.org/en-US/docs/Web/CSS) 来定制样式,节点和边渲染到画布后分别有 `'x6-node'` 和 `'x6-edge'` 两个样式名,默认的样式定义[参考这里](https://github.com/antvis/X6/blob/master/packages/x6/src/index.less#L26-L156)。例如,我们可以像下面这样来指定节点中 `` 元素的样式: +除了标准的 [SVG 属性](https://developer.mozilla.org/zh-CN/docs/Web/SVG/Attribute),我们在 X6 中还定义了一系列特殊属性,详情请参考[如何使用特殊属性](/zh/docs/tutorial/intermediate/attrs#gatsby-focus-wrapper)和[如何自定义属性](/zh/docs/api/model/cell/#自定义属性)。另外,我们还可以使用 [CSS](https://developer.mozilla.org/en-US/docs/Web/CSS) 来定制样式,节点和边渲染到画布后分别有 `'x6-node'` 和 `'x6-edge'` 两个样式名,默认的样式定义[参考这里](https://github.com/antvis/X6/blob/master/packages/x6/src/index.less#L26-L156)。例如,我们可以像下面这样来指定节点中 `` 元素的样式: ```css .x6-node rect { @@ -2728,6 +2728,11 @@ addTools( items: Cell.ToolItem | Cell.ToolItem[], options?: Cell.AddToolOptions, ): this +addTools( + items: Cell.ToolItem | Cell.ToolItem[], + name: string, + options?: Cell.AddToolOptions, +): this ``` 添加小工具。 @@ -2737,6 +2742,7 @@ addTools( | 名称 | 类型 | 必选 | 默认值 | 描述 | |------------------|----------------------------------|:----:|---------|----------------------------------------------------------------------------------------------------------------------| | items | Cell.ToolItem \| Cell.ToolItem[] | | | [NodeTool](/zh/docs/api/registry/node-tool#presets) 或 [EdgeTool](/zh/docs/api/registry/edge-tool#presets) 中定义的小工具。 | +| name | string | | `null` | 定义该组工具的别称,可以作为`hasTools(name)`的参数 | | options.reset | boolean | | `false` | 是否清空工具集,默认向工具集追加小工具。 | | options.local | boolean | | `false` | 工具是否渲染到节点/边的容器中,默认为 `false`,所有工具会渲染在 `x6-graph-svg-decorator` 下面,只有在 `options.reset` 为 `true` 为时生效 | | options.silent | boolean | | `false` | 为 `true` 时不触发 `'change:tools'` 事件和小工具重绘。 | diff --git a/sites/x6-sites/docs/api/model/node.en.md b/sites/x6-sites/docs/api/model/node.en.md index 192016e780d..0bd07fa6250 100644 --- a/sites/x6-sites/docs/api/model/node.en.md +++ b/sites/x6-sites/docs/api/model/node.en.md @@ -504,7 +504,7 @@ node.translate(undefined, 30) // 只在 Y 轴移动 我们可以通过 `options.restrict` 选项来将节点的移动限制在指定的矩形 `{x: number; y: number; width: number; height: number}` 范围内。 -例如,我可以将字节的移动限制在父节点的包围盒中: +例如,我们可以将子节点的移动限制在父节点的包围盒中: ```ts child.translate(30, 30, { diff --git a/sites/x6-sites/docs/api/model/node.zh.md b/sites/x6-sites/docs/api/model/node.zh.md index 8e8398c76ad..0c79baf3deb 100644 --- a/sites/x6-sites/docs/api/model/node.zh.md +++ b/sites/x6-sites/docs/api/model/node.zh.md @@ -504,7 +504,7 @@ node.translate(undefined, 30) // 只在 Y 轴移动 我们可以通过 `options.restrict` 选项来将节点的移动限制在指定的矩形 `{x: number; y: number; width: number; height: number}` 范围内。 -例如,我可以将字节的移动限制在父节点的包围盒中: +例如,我们可以将子节点的移动限制在父节点的包围盒中: ```ts child.translate(30, 30, { diff --git a/sites/x6-sites/docs/api/registry/attr.en.md b/sites/x6-sites/docs/api/registry/attr.en.md index 0fedeb55e13..c42c1db7a2f 100644 --- a/sites/x6-sites/docs/api/registry/attr.en.md +++ b/sites/x6-sites/docs/api/registry/attr.en.md @@ -463,14 +463,19 @@ edge.attr('pathSelector', { }) ``` -也支持包含 `stubs` 选项的对象。 +也支持包含 `stubs` 和 `reserve` 选项的对象。 -- 当 `stubs` 为正数时,表示渲染的起始和终止部分长度。例如 `nnection: { stubs: 20 }` 表示连线只渲染起始的 `20px` 和终止的 `20px`,其余部分不渲染。 -- 当 `stubs` 为负数时,表示中间缺失(不渲染)部分的长度。例如 `nnection: { stubs: -20 }` 表示连线中间有 `20px` 不渲染。 +- 当 `reverse` 为 `false` 时: + - 当 `stubs` 为正数时,表示渲染的起始和终止部分长度。例如 `connection: { stubs: 20 }` 表示连线只渲染起始的 `20px` 和终止的 `20px`,其余部分不渲染。 + - 当 `stubs` 为负数时,表示中间缺失(不渲染)部分的长度。例如 `connection: { stubs: -20 }` 表示连线中间有 `20px` 不渲染。 + +- 当 `reverse` 为 `true` 时: + - 当 `stubs` 为正数时,起始和终止部分不渲染的长度。例如 `connection: { stubs: 20 }` 表示起始的 `20px` 和终止的 `20px` 不渲染。 + - 当 `stubs` 为负数时,表示中间部分的长度。例如 `connection: { stubs: -20 }` 表示只渲染中间 `20px`。 ```ts edge.attr('pathSelector', { - connection: { stubs: -20 }, + connection: { stubs: -20, reverse: true }, }) ``` diff --git a/sites/x6-sites/docs/api/registry/attr.zh.md b/sites/x6-sites/docs/api/registry/attr.zh.md index c5f01c32d8b..b306f3f976a 100644 --- a/sites/x6-sites/docs/api/registry/attr.zh.md +++ b/sites/x6-sites/docs/api/registry/attr.zh.md @@ -463,14 +463,19 @@ edge.attr('pathSelector', { }) ``` -也支持包含 `stubs` 选项的对象。 +也支持包含 `stubs` 和 `reserve` 选项的对象。 -- 当 `stubs` 为正数时,表示渲染的起始和终止部分长度。例如 `nnection: { stubs: 20 }` 表示连线只渲染起始的 `20px` 和终止的 `20px`,其余部分不渲染。 -- 当 `stubs` 为负数时,表示中间缺失(不渲染)部分的长度。例如 `nnection: { stubs: -20 }` 表示连线中间有 `20px` 不渲染。 +- 当 `reverse` 为 `false` 时: + - 当 `stubs` 为正数时,表示渲染的起始和终止部分长度。例如 `connection: { stubs: 20 }` 表示连线只渲染起始的 `20px` 和终止的 `20px`,其余部分不渲染。 + - 当 `stubs` 为负数时,表示中间缺失(不渲染)部分的长度。例如 `connection: { stubs: -20 }` 表示连线中间有 `20px` 不渲染。 + +- 当 `reverse` 为 `true` 时: + - 当 `stubs` 为正数时,起始和终止部分不渲染的长度。例如 `connection: { stubs: 20 }` 表示起始的 `20px` 和终止的 `20px` 不渲染。 + - 当 `stubs` 为负数时,表示中间部分的长度。例如 `connection: { stubs: -20 }` 表示只渲染中间 `20px`。 ```ts edge.attr('pathSelector', { - connection: { stubs: -20 }, + connection: { stubs: -20, reverse: true }, }) ``` diff --git a/sites/x6-sites/docs/api/registry/edge-tool.en.md b/sites/x6-sites/docs/api/registry/edge-tool.en.md index c0f8649df7e..0468e18f9bd 100644 --- a/sites/x6-sites/docs/api/registry/edge-tool.en.md +++ b/sites/x6-sites/docs/api/registry/edge-tool.en.md @@ -406,6 +406,7 @@ graph.on('edge:mouseleave', ({ cell }) => { | 参数名 | 类型 | 默认值 | 说明 | |---------|---------------------------|-------------|-------------------------------------------------------| | event | JQuery.MouseEventBase | - | 触发文本编辑的事件参数 | +| labelAddable | boolean | true | 点击非文本位置是否新建label | | attrs/fontSize | string | `14` | 编辑文本字体大小 | | attrs/color | string | `#000` | 编辑文本字体颜色 | | attrs/fontFamily | string | `Arial, helvetica, sans-serif`| 编辑文本的字体 | diff --git a/sites/x6-sites/docs/api/registry/edge-tool.zh.md b/sites/x6-sites/docs/api/registry/edge-tool.zh.md index 1bd66467728..b4ebf3b27eb 100644 --- a/sites/x6-sites/docs/api/registry/edge-tool.zh.md +++ b/sites/x6-sites/docs/api/registry/edge-tool.zh.md @@ -406,6 +406,7 @@ graph.on('edge:mouseleave', ({ cell }) => { | 参数名 | 类型 | 默认值 | 说明 | |---------|---------------------------|-------------|-------------------------------------------------------| | event | JQuery.MouseEventBase | - | 触发文本编辑的事件参数 | +| labelAddable | boolean | true | 点击非文本位置是否新建label | | attrs/fontSize | string | `14` | 编辑文本字体大小 | | attrs/color | string | `#000` | 编辑文本字体颜色 | | attrs/fontFamily | string | `Arial, helvetica, sans-serif`| 编辑文本的字体 | diff --git a/sites/x6-sites/docs/api/registry/router.en.md b/sites/x6-sites/docs/api/registry/router.en.md index 600fea6f640..8144a95d503 100644 --- a/sites/x6-sites/docs/api/registry/router.en.md +++ b/sites/x6-sites/docs/api/registry/router.en.md @@ -169,13 +169,13 @@ graph.addEdge({ | 参数名 | 参数类型 | 是否必选 | 默认值 | 参数说明 | |--------------------|--------------------------|:-------:|--------------------------------------|----------------------------------------------------------------------------------------| | step | number | 否 | `10` | 路由算法步进步长,其值越小计算量越大。
推荐使用画布的网格大小(`graph.options.grid.size`)。 | -| maximumLoops | number | 否 | `2000` | 最大迭代次数,到达最大迭代次数后将使用候补路由。 | -| maxDirectionChange | number | 否 | `90` | 最大旋转角度。 | | excludeTerminals | ('source' \| 'target')[] | 否 | `[]` | 忽略起始或终止节点,忽略后不参与障碍物计算。 | | excludeShapes | string[] | 否 | `[]` | 忽略指定形状的节点,忽略后不参与障碍物计算。 | +| excludeNodes | Node[] | 否 | `[]` | 忽略的节点,忽略后不参与障碍物计算。 | | excludeHiddenNodes | boolean | 否 | `false` | 忽略隐藏的节点,忽略后不参与障碍物计算。 | | startDirections | string[] | 否 | `['top', 'right', 'bottom', 'left']` | 支持从哪些方向开始路由。 | | endDirections | string[] | 否 | `['top', 'right', 'bottom', 'left']` | 支持从哪些方向结束路由。 | +| padding | SideOptions | 否 | 20 | 设置锚点距离转角的最小距离,和 orth 路由配置一致。 | 例如: diff --git a/sites/x6-sites/docs/api/registry/router.zh.md b/sites/x6-sites/docs/api/registry/router.zh.md index 5bba59db94d..a36258e0185 100644 --- a/sites/x6-sites/docs/api/registry/router.zh.md +++ b/sites/x6-sites/docs/api/registry/router.zh.md @@ -169,13 +169,13 @@ graph.addEdge({ | 参数名 | 参数类型 | 是否必选 | 默认值 | 参数说明 | |--------------------|--------------------------|:-------:|--------------------------------------|----------------------------------------------------------------------------------------| | step | number | 否 | `10` | 路由算法步进步长,其值越小计算量越大。
推荐使用画布的网格大小(`graph.options.grid.size`)。 | -| maximumLoops | number | 否 | `2000` | 最大迭代次数,到达最大迭代次数后将使用候补路由。 | -| maxDirectionChange | number | 否 | `90` | 最大旋转角度。 | | excludeTerminals | ('source' \| 'target')[] | 否 | `[]` | 忽略起始或终止节点,忽略后不参与障碍物计算。 | | excludeShapes | string[] | 否 | `[]` | 忽略指定形状的节点,忽略后不参与障碍物计算。 | +| excludeNodes | Node[] | 否 | `[]` | 忽略的节点,忽略后不参与障碍物计算。 | | excludeHiddenNodes | boolean | 否 | `false` | 忽略隐藏的节点,忽略后不参与障碍物计算。 | | startDirections | string[] | 否 | `['top', 'right', 'bottom', 'left']` | 支持从哪些方向开始路由。 | | endDirections | string[] | 否 | `['top', 'right', 'bottom', 'left']` | 支持从哪些方向结束路由。 | +| padding | SideOptions | 否 | 20 | 设置锚点距离转角的最小距离,和 orth 路由配置一致。 | 例如: diff --git a/sites/x6-sites/docs/api/ui/menu.en.md b/sites/x6-sites/docs/api/ui/menu.en.md index 36286c97888..d1b402c1321 100644 --- a/sites/x6-sites/docs/api/ui/menu.en.md +++ b/sites/x6-sites/docs/api/ui/menu.en.md @@ -21,9 +21,9 @@ const Divider = Menu.Divider } hotkey="Cmd+Z" text="Undo" /> - } tkey="Cmd+Shift+Z" text="Redo" /> + } hotkey="Cmd+Shift+Z" text="Redo" /> - } hotkey="Cmd+X" t="Cut" /> + } hotkey="Cmd+X" text="Cut" /> } hotkey="Cmd+C" text="Copy" /> } hotkey="Cmd+V" disabled={true} text="Paste" /> } hotkey="Delete" text="Delete" /> diff --git a/sites/x6-sites/docs/api/ui/menu.zh.md b/sites/x6-sites/docs/api/ui/menu.zh.md index c40e17cff49..f3acdf1bff7 100644 --- a/sites/x6-sites/docs/api/ui/menu.zh.md +++ b/sites/x6-sites/docs/api/ui/menu.zh.md @@ -21,9 +21,9 @@ const Divider = Menu.Divider } hotkey="Cmd+Z" text="Undo" /> - } tkey="Cmd+Shift+Z" text="Redo" /> + } hotkey="Cmd+Shift+Z" text="Redo" /> - } hotkey="Cmd+X" t="Cut" /> + } hotkey="Cmd+X" text="Cut" /> } hotkey="Cmd+C" text="Copy" /> } hotkey="Cmd+V" disabled={true} text="Paste" /> } hotkey="Delete" text="Delete" /> diff --git a/sites/x6-sites/docs/tutorial/about.en.md b/sites/x6-sites/docs/tutorial/about.en.md index 2db5fb1f25f..12c697e2dfe 100644 --- a/sites/x6-sites/docs/tutorial/about.en.md +++ b/sites/x6-sites/docs/tutorial/about.en.md @@ -40,9 +40,7 @@ X6 是 AntV 旗下的图编辑引擎,提供了一系列开箱即用的交互 欢迎各界 X6 使用者、图可视化爱好者加入 X6 图可视化交流群(钉钉群,使用钉钉扫一扫加入)讨论与交流。 - X6 图可视化交流群1 - X6 图可视化交流群2 - X6 图可视化交流群3 + X6 图可视化交流群4 ## 🤝 如何贡献 diff --git a/sites/x6-sites/docs/tutorial/about.zh.md b/sites/x6-sites/docs/tutorial/about.zh.md index 86f5d734233..46cda626235 100644 --- a/sites/x6-sites/docs/tutorial/about.zh.md +++ b/sites/x6-sites/docs/tutorial/about.zh.md @@ -35,16 +35,14 @@ X6 是 AntV 旗下的图编辑引擎,提供了一系列开箱即用的交互 - [基础教程](basic/graph) - [进阶实战](intermediate/serialization) - [高级指引](advanced/animation) -- [更新日志](log) +- [更新日志](https://www.yuque.com/antv/x6/xgb04i) ## ❤️ 如何流群 欢迎各界 X6 使用者、图可视化爱好者加入 X6 图可视化交流群(钉钉群,使用钉钉扫一扫加入)讨论与交流。 - X6 图可视化交流群1 - X6 图可视化交流群2 - X6 图可视化交流群3 + X6 图可视化交流群4 ## 🤝 如何贡献 diff --git a/sites/x6-sites/docs/tutorial/advanced/layout.en.md b/sites/x6-sites/docs/tutorial/advanced/layout.en.md index 64ebc6a69aa..c71b2dba1c9 100644 --- a/sites/x6-sites/docs/tutorial/advanced/layout.en.md +++ b/sites/x6-sites/docs/tutorial/advanced/layout.en.md @@ -207,8 +207,9 @@ const dagreLayout = new DagreLayout({ | 名称 | 类型 | 必选 | 默认值 | 描述 | |-------------------|-----------|:----:|------------------|-----------------------------------------------------------------------------| | type | string | `true` | `dagre` | 布局类型 | +| begin | [number, number] | `false` | - | 布局左上角对齐位置 | | rankdir | 'TB' \| 'BT' \| 'LR' \| 'RL' | `false` | `TB` | 布局的方向。T:top(上);B:bottom(下);L:left(左);R:right(右)| -| align | 'UL' \| 'UR' \| 'DL' \| 'DR' | `false` | `UL` | 节点对齐方式。U:upper(上);D:down(下);L:left(左);R:right(右) | +| align | 'UL' \| 'UR' \| 'DL' \| 'DR' \| undefined | `false` | - | 节点对齐方式。U:upper(上);D:down(下);L:left(左);R:right(右);undefined (居中) | | nodesep | number | `false` | 50 | 节点间距(px)。在 `rankdir` 为 `TB` 或 `BT` 时是节点的水平间距;在 `rankdir` 为 `LR` 或 `RL` 时代表节点的竖直方向间距 | | ranksep | number | `false` | 50 | 层间距(px)。在 `rankdir` 为 `TB` 或 `BT` 时是竖直方向相邻层间距;在 `rankdir` 为 `LR` 或 `RL` 时代表水平方向相邻层间距 | | nodesepFunc | function | `false` | - | 节点间距(px)的回调函数,通过该参数可以对不同节点设置不同的节点间距。 | diff --git a/sites/x6-sites/docs/tutorial/advanced/layout.zh.md b/sites/x6-sites/docs/tutorial/advanced/layout.zh.md index aebe06a9386..557762f9d99 100644 --- a/sites/x6-sites/docs/tutorial/advanced/layout.zh.md +++ b/sites/x6-sites/docs/tutorial/advanced/layout.zh.md @@ -207,8 +207,9 @@ const dagreLayout = new DagreLayout({ | 名称 | 类型 | 必选 | 默认值 | 描述 | |-------------------|-----------|:----:|------------------|-----------------------------------------------------------------------------| | type | string | `true` | `dagre` | 布局类型 | +| begin | [number, number] | `false` | - | 布局左上角对齐位置 | | rankdir | 'TB' \| 'BT' \| 'LR' \| 'RL' | `false` | `TB` | 布局的方向。T:top(上);B:bottom(下);L:left(左);R:right(右)| -| align | 'UL' \| 'UR' \| 'DL' \| 'DR' | `false` | `UL` | 节点对齐方式。U:upper(上);D:down(下);L:left(左);R:right(右) | +| align | 'UL' \| 'UR' \| 'DL' \| 'DR' \| undefined | `false` | - | 节点对齐方式。U:upper(上);D:down(下);L:left(左);R:right(右);undefined (居中) | | nodesep | number | `false` | 50 | 节点间距(px)。在 `rankdir` 为 `TB` 或 `BT` 时是节点的水平间距;在 `rankdir` 为 `LR` 或 `RL` 时代表节点的竖直方向间距 | | ranksep | number | `false` | 50 | 层间距(px)。在 `rankdir` 为 `TB` 或 `BT` 时是竖直方向相邻层间距;在 `rankdir` 为 `LR` 或 `RL` 时代表水平方向相邻层间距 | | nodesepFunc | function | `false` | - | 节点间距(px)的回调函数,通过该参数可以对不同节点设置不同的节点间距。 | diff --git a/sites/x6-sites/docs/tutorial/advanced/react.en.md b/sites/x6-sites/docs/tutorial/advanced/react.en.md index b6e68fc682b..d0ff3d3f00e 100644 --- a/sites/x6-sites/docs/tutorial/advanced/react.en.md +++ b/sites/x6-sites/docs/tutorial/advanced/react.en.md @@ -151,29 +151,7 @@ graph.addNode({ }) ``` -节点渲染时将自动为 React 组件注入一个名为 `'node'` 的属性,属性值为当前节点的实例。节点每次重新渲染都将触发 React 组件重新渲染,我们可以通过 `node` 属性和 `shouldComponentUpdate` 方法来决定是否需要重新渲染 React 组件。在下面示例中,仅当节点的 `data` 发生变化时才触发 `MyComponent` 组件重新渲染。 - -```tsx -import { ReactShape } from '@antv/x6-react-shape' - -export class MyComponent extends React.Component<{ node?: ReactShape; text: string }> { - shouldComponentUpdate() { - const node = this.props.node - if (node) { - if (node.hasChanged('data')) { - return true - } - } - - return false - } - - render() { - return (
{this.props.text}
) - } -} -``` - +节点渲染时将自动为 React 组件注入一个名为 `'node'` 的属性,属性值为当前节点的实例。 另外 `component` 也可以是一个返回 React 组件的方法 `(this:Graph, node: ReactShape) => React.Component`,每次重新渲染都会调用该方法来获取最新的组件。 @@ -193,48 +171,74 @@ graph.addNode({ -**提升 React 节点挂载性能** +#### 决定渲染频次 + +节点每次重新渲染都将触发 React 组件的重新渲染。如果不希望组件有频繁的更新,可以通过 [`React.memo`](https://reactjs.org/docs/react-api.html#reactmemo) 获得 `node` 实例进行判断。 -当要挂载的 React 组件节点数量非常多时,挂载时长会比较长,此时可以通过 `@antv/x6-react-shape` 提供的 `usePortal` React Hook 来提升节点的挂载性能。具体做法为: +在下面示例中,仅当节点的 `data` 发生变化时才触发 `MyComponent` 组件重新渲染。 ```tsx -import React, { useEffect } from 'react' -import { Graph } from '@antv/x6' -import { usePortal, ReactShape } from '@antv/x6-react-shape' +import { ReactShape } from '@antv/x6-react-shape' + +export const MyComponent = memo( + ({ node, text }: { node?: ReactShape; text: string }) => { + return // ... + }, + (prev, next) => { + return Boolean(next.node?.hasChanged('data')) + }, +) +``` + +#### 获取组件上下文 + +在默认情况下,每一个 React 节点的组件都会作为一个独立的 React 文档进行渲染(即使用 [`ReactDOM.createRoot`](https://reactjs.org/docs/react-dom-client.html#createroot)),此时你的 React 组件将不能正常获得你的主应用的上下文(Context),这意味着一些依赖上下文的第三方库(比如 `react-router`, `react-intl`, `umi` 等)将不能在 React 组件内部被正常使用: -const UNIQ_GRAPH_ID = 'UNIQ_GRAPH_ID' // 任意字符串,作为画布的唯一标识。注意:任意两张同时渲染的画布需要有不同的标识 +[[error]] +| ```tsx +| import { FormattedMessage } from 'react-intl; +| +| function MyComponent () { +| return +| // [React Intl] Could not find required `intl` object. needs to exist in the component ancestry. +| // ... +| } +| ``` -export const App: React.FC<{}> = () => { - const [Portal, setGraph] = usePortal(UNIQ_GRAPH_ID) +如果希望在 React 组件内获得应用的上下文,可以使用我们额外提供的 Portal 机制。它的大致用法是: + +```tsx +import { Portal, ReactShape } from '@antv/x6-react-shape' + +// You should do this outside your components +// (or make sure its not recreated on every render). +// +// 这个调用需要在组件外进行。 +const X6ReactPortalProvider = Portal.getProvider() + +function App() { + const container = useRef(null) useEffect(() => { const graph = new Graph({ - // ... 图的配置项 + container: container.current, + // ... }) - setGraph(graph) // 在添加节点前,先将生成的 Graph 实例传入 setGrah - - // 生成一组可被添加的节点 - const nodes = data.map(dataItem => { - return new ReactShape({ - view: UNIQ_GRAPH_ID, // 需要指定 view 属性为定义的标识 - component: , // 自定义的 React 节点 - // .. 其它配置项 - }) - }) - - // 批量添加一组节点以提升挂载性能 - graph.addCell(nodes) - }, [setGraph]) + }, []) return ( -
- {/* 在原有的 React 树中挂载 Portal */} - -
+ <> + +
+ ) } ``` + + +#### 序列化 + [[warning]] | 需要注意的是,当 `component` 为 React 组件或函数时,将不能通过 `graph.toJSON()` 方法导出画布数据。所以我们提供了以下两种方案来解决数据导出问题。 @@ -331,12 +335,7 @@ Graph.registerNode("my-count", { y: 150, width: 150, height: 100, - component: { - template: ``, - components: { - Count, - }, - }, + component: Count, }); graph.addNode({ @@ -393,6 +392,34 @@ export default { [详细 demo](https://codesandbox.io/s/vue-shape-8ciig) +**提升 Vue 节点挂载性能** + +当要挂载的 Vue 组件节点数量非常多时,挂载时长会比较长,此时可以通过 `@antv/x6-vue-shape` 提供的 `useTeleport`来提升节点的挂载性能(由于使用了vue3内置的Teleport组件,只在vue3可用)。具体做法为: + +```tsx +import { useTeleport } from '@antv/x6-vue-shape' + +const UNIQ_GRAPH_ID = 'UNIQ_GRAPH_ID' + +const TeleportContainer = useTeleport(UNIQ_GRAPH_ID) + +graph.addNode({ + id: "1", + shape: "my-count", + view: UNIQ_GRAPH_ID, // 需要指定 view 属性为定义的标识 + x: 400, + y: 150, + width: 150, + height: 100, + data: { + num: 0, + }, +}); + +{/* 在原有的 Vue 树中挂载 TeleportContainer */} + +``` + [[warning]] | 需要注意的是,在渲染 `vue` 组件的过程中用到了运行时编译,所以需要在 `vue.config.js` 中启用 `runtimeCompiler: true` 配置。同样当 `component` 为 Vue 组件或函数时,将不能通过 `graph.JSON()`和`graph.fromJSON()` 方法正确导出和导入画布数据,因此我们提供了 `Graph.registerVueComponent(...)` 来解决这个问题。 @@ -407,12 +434,7 @@ Graph.registerNode("my-count", { y: 150, width: 150, height: 100, - component: { - template: ``, - components: { - Count, - }, - }, + component: Count, }); ``` @@ -433,16 +455,7 @@ graph.addNode({ 使用 `Graph.registerVueComponent(...)` 方法将 Vue 组件注册到系统中。 ```ts -Graph.registerVueComponent( - "count", - { - template: ``, - components: { - Count, - }, - }, - true -); +Graph.registerVueComponent("count", Count, true); ``` 然后将节点的 `component` 属性指定为注册的组件名。 diff --git a/sites/x6-sites/docs/tutorial/advanced/react.zh.md b/sites/x6-sites/docs/tutorial/advanced/react.zh.md index 1dd6a753814..5e8c3ab2886 100644 --- a/sites/x6-sites/docs/tutorial/advanced/react.zh.md +++ b/sites/x6-sites/docs/tutorial/advanced/react.zh.md @@ -151,29 +151,7 @@ graph.addNode({ }) ``` -节点渲染时将自动为 React 组件注入一个名为 `'node'` 的属性,属性值为当前节点的实例。节点每次重新渲染都将触发 React 组件重新渲染,我们可以通过 `node` 属性和 `shouldComponentUpdate` 方法来决定是否需要重新渲染 React 组件。在下面示例中,仅当节点的 `data` 发生变化时才触发 `MyComponent` 组件重新渲染。 - -```tsx -import { ReactShape } from '@antv/x6-react-shape' - -export class MyComponent extends React.Component<{ node?: ReactShape; text: string }> { - shouldComponentUpdate() { - const node = this.props.node - if (node) { - if (node.hasChanged('data')) { - return true - } - } - - return false - } - - render() { - return (
{this.props.text}
) - } -} -``` - +节点渲染时将自动为 React 组件注入一个名为 `'node'` 的属性,属性值为当前节点的实例。 另外 `component` 也可以是一个返回 React 组件的方法 `(this:Graph, node: ReactShape) => React.Component`,每次重新渲染都会调用该方法来获取最新的组件。 @@ -191,50 +169,76 @@ graph.addNode({ }) ``` +#### 决定渲染频次 + +节点每次重新渲染都将触发 React 组件的重新渲染。如果不希望组件有频繁的更新,可以通过 [`React.memo`](https://reactjs.org/docs/react-api.html#reactmemo) 获得 `node` 实例进行判断。 + +在下面示例中,仅当节点的 `data` 发生变化时才触发 `MyComponent` 组件重新渲染。 + +```tsx +import { ReactShape } from '@antv/x6-react-shape' + +export const MyComponent = memo( + ({ node, text }: { node?: ReactShape; text: string }) => { + return // ... + }, + (prev, next) => { + return Boolean(next.node?.hasChanged('data')) + }, +) +``` + -**提升 React 节点挂载性能** +#### 获取组件上下文 + +在默认情况下,每一个 React 节点的组件都会作为一个独立的 React 文档进行渲染(即使用 [`ReactDOM.createRoot`](https://reactjs.org/docs/react-dom-client.html#createroot)),此时你的 React 组件将不能正常获得你的主应用的上下文(Context),这意味着一些依赖上下文的第三方库(比如 `react-router`, `react-intl`, `umi` 等)将不能在 React 组件内部被正常使用: + +[[error]] +| ```tsx +| import { FormattedMessage } from 'react-intl; +| +| function MyComponent () { +| return +| // [React Intl] Could not find required `intl` object. needs to exist in the component ancestry. +| // ... +| } +| ``` -当要挂载的 React 组件节点数量非常多时,挂载时长会比较长,此时可以通过 `@antv/x6-react-shape` 提供的 `usePortal` React Hook 来提升节点的挂载性能。具体做法为: +如果希望在 React 组件内获得应用的上下文,可以使用我们额外提供的 Portal 机制。它的大致用法是: ```tsx -import React, { useEffect } from 'react' -import { Graph } from '@antv/x6' -import { usePortal, ReactShape } from '@antv/x6-react-shape' +import { Portal, ReactShape } from '@antv/x6-react-shape' -const UNIQ_GRAPH_ID = 'UNIQ_GRAPH_ID' // 任意字符串,作为画布的唯一标识。注意:任意两张同时渲染的画布需要有不同的标识 +// You should do this outside your components +// (or make sure its not recreated on every render). +// +// 这个调用需要在组件外进行。 +const X6ReactPortalProvider = Portal.getProvider() -export const App: React.FC<{}> = () => { - const [Portal, setGraph] = usePortal(UNIQ_GRAPH_ID) +function App() { + const container = useRef(null) useEffect(() => { const graph = new Graph({ - // ... 图的配置项 + container: container.current, + // ... }) - setGraph(graph) // 在添加节点前,先将生成的 Graph 实例传入 setGrah - - // 生成一组可被添加的节点 - const nodes = data.map(dataItem => { - return new ReactShape({ - view: UNIQ_GRAPH_ID, // 需要指定 view 属性为定义的标识 - component: , // 自定义的 React 节点 - // .. 其它配置项 - }) - }) - - // 批量添加一组节点以提升挂载性能 - graph.addCell(nodes) - }, [setGraph]) + }, []) return ( -
- {/* 在原有的 React 树中挂载 Portal */} - -
+ <> + +
+ ) } ``` + + +#### 序列化 + [[warning]] | 需要注意的是,当 `component` 为 React 组件或函数时,将不能通过 `graph.toJSON()` 方法导出画布数据。所以我们提供了以下两种方案来解决数据导出问题。 @@ -331,12 +335,7 @@ Graph.registerNode("my-count", { y: 150, width: 150, height: 100, - component: { - template: ``, - components: { - Count, - }, - }, + component: Count, }); graph.addNode({ @@ -393,6 +392,34 @@ export default { [详细 demo](https://codesandbox.io/s/vue-shape-8ciig) +**提升 Vue 节点挂载性能** + +当要挂载的 Vue 组件节点数量非常多时,挂载时长会比较长,此时可以通过 `@antv/x6-vue-shape` 提供的 `useTeleport`来提升节点的挂载性能(由于使用了vue3内置的Teleport组件,只在vue3可用)。具体做法为: + +```tsx +import { useTeleport } from '@antv/x6-vue-shape' + +const UNIQ_GRAPH_ID = 'UNIQ_GRAPH_ID' + +const TeleportContainer = useTeleport(UNIQ_GRAPH_ID) + +graph.addNode({ + id: "1", + shape: "my-count", + view: UNIQ_GRAPH_ID, // 需要指定 view 属性为定义的标识 + x: 400, + y: 150, + width: 150, + height: 100, + data: { + num: 0, + }, +}); + +{/* 在原有的 Vue 树中挂载 TeleportContainer */} + +``` + [[warning]] | 需要注意的是,在渲染 `vue` 组件的过程中用到了运行时编译,所以需要在 `vue.config.js` 中启用 `runtimeCompiler: true` 配置。同样当 `component` 为 Vue 组件或函数时,将不能通过 `graph.JSON()`和`graph.fromJSON()` 方法正确导出和导入画布数据,因此我们提供了 `Graph.registerVueComponent(...)` 来解决这个问题。 @@ -407,12 +434,7 @@ Graph.registerNode("my-count", { y: 150, width: 150, height: 100, - component: { - template: ``, - components: { - Count, - }, - }, + component: Count, }); ``` @@ -433,16 +455,7 @@ graph.addNode({ 使用 `Graph.registerVueComponent(...)` 方法将 Vue 组件注册到系统中。 ```ts -Graph.registerVueComponent( - "count", - { - template: ``, - components: { - Count, - }, - }, - true -); +Graph.registerVueComponent("count", Count, true); ``` 然后将节点的 `component` 属性指定为注册的组件名。 diff --git a/sites/x6-sites/docs/tutorial/basic/clipboard.en.md b/sites/x6-sites/docs/tutorial/basic/clipboard.en.md index af75717050d..6182a66108f 100644 --- a/sites/x6-sites/docs/tutorial/basic/clipboard.en.md +++ b/sites/x6-sites/docs/tutorial/basic/clipboard.en.md @@ -183,3 +183,16 @@ toggleClipboard(enabled?: boolean): this | 名称 | 类型 | 必选 | 默认值 | 描述 | |---------|---------|:----:|--------|------------------------------------------| | enabled | boolean | | - | 是否启用剪切板,缺省时切换剪切板的启用状态。 | + +## 事件 + +### clipboard:changed + +复制、剪切、清空剪切板时触发。 + +```ts +graph.on('clipboard:changed', ({ + cells: Cell[] +}) => { + // code here +}) \ No newline at end of file diff --git a/sites/x6-sites/docs/tutorial/basic/clipboard.zh.md b/sites/x6-sites/docs/tutorial/basic/clipboard.zh.md index dd3f1d623fa..b6f19cda2a6 100644 --- a/sites/x6-sites/docs/tutorial/basic/clipboard.zh.md +++ b/sites/x6-sites/docs/tutorial/basic/clipboard.zh.md @@ -183,3 +183,16 @@ toggleClipboard(enabled?: boolean): this | 名称 | 类型 | 必选 | 默认值 | 描述 | |---------|---------|:----:|--------|------------------------------------------| | enabled | boolean | | - | 是否启用剪切板,缺省时切换剪切板的启用状态。 | + +## 事件 + +### clipboard:changed + +复制、剪切、清空剪切板时触发。 + +```ts +graph.on('clipboard:changed', ({ + cells: Cell[] +}) => { + // code here +}) \ No newline at end of file diff --git a/sites/x6-sites/docs/tutorial/basic/dnd.en.md b/sites/x6-sites/docs/tutorial/basic/dnd.en.md index fafc70d6a20..966fb1813c8 100644 --- a/sites/x6-sites/docs/tutorial/basic/dnd.en.md +++ b/sites/x6-sites/docs/tutorial/basic/dnd.en.md @@ -31,6 +31,7 @@ const dnd = new Addon.Dnd(options) | options.getDropNode | (draggingNode: Node, options: GetDropNodeOptions) => Node | | | 拖拽结束时,获取放置到目标画布的节点,默认克隆代理节点。 | | options.validateNode | (droppingNode: Node, options: ValidateNodeOptions) => boolean \| Promins\ | | | 拖拽结束时,验证节点是否可以放置到目标画布中。 | | options.animation | boolean \| { duration?: number; easing?: string } | | `false` | 拖拽结束时,而且目标节点不能添加到目标画布时,是否使用动画将代理画布移动到开始拖动的位置。选项 `duration` 和 `easing` 对应 JQuery 的 [.animate( properties [, duration ] [, easing ] [, complete ] )](https://api.jquery.com/animate/) 方法中的参数。 | +| options.dndContainer | HTMLElement | | | Dnd工具箱所在容器,拖拽未离开容器区域时,不创建dropNode代理节点。 | ### Step 2 开始拖拽 @@ -263,4 +264,4 @@ const stencil = new Addon.Stencil({ ```ts // 第一个参数是 group 的 name stencil.resizeGroup('group1', { width: 200, height: 200 }) -``` \ No newline at end of file +``` diff --git a/sites/x6-sites/docs/tutorial/basic/dnd.zh.md b/sites/x6-sites/docs/tutorial/basic/dnd.zh.md index d2be6613101..95cc8e0c3da 100644 --- a/sites/x6-sites/docs/tutorial/basic/dnd.zh.md +++ b/sites/x6-sites/docs/tutorial/basic/dnd.zh.md @@ -31,6 +31,7 @@ const dnd = new Addon.Dnd(options) | options.getDropNode | (draggingNode: Node, options: GetDropNodeOptions) => Node | | | 拖拽结束时,获取放置到目标画布的节点,默认克隆代理节点。 | | options.validateNode | (droppingNode: Node, options: ValidateNodeOptions) => boolean \| Promins\ | | | 拖拽结束时,验证节点是否可以放置到目标画布中。 | | options.animation | boolean \| { duration?: number; easing?: string } | | `false` | 拖拽结束时,而且目标节点不能添加到目标画布时,是否使用动画将代理画布移动到开始拖动的位置。选项 `duration` 和 `easing` 对应 JQuery 的 [.animate( properties [, duration ] [, easing ] [, complete ] )](https://api.jquery.com/animate/) 方法中的参数。 | +| options.dndContainer | HTMLElement | | | Dnd工具箱所在容器,拖拽未离开容器区域时,不创建dropNode代理节点。 | ### Step 2 开始拖拽 @@ -263,4 +264,4 @@ const stencil = new Addon.Stencil({ ```ts // 第一个参数是 group 的 name stencil.resizeGroup('group1', { width: 200, height: 200 }) -``` \ No newline at end of file +``` diff --git a/sites/x6-sites/docs/tutorial/basic/interacting.zh.md b/sites/x6-sites/docs/tutorial/basic/interacting.zh.md index 4eaddd9d038..adc3b51d885 100644 --- a/sites/x6-sites/docs/tutorial/basic/interacting.zh.md +++ b/sites/x6-sites/docs/tutorial/basic/interacting.zh.md @@ -277,7 +277,20 @@ const graph = new Graph({ #### createEdge -连接的过程中创建新的边 +从 `magnet=true` 的元素拖拽出新的边的时候,可以自定义边的样式: + +```ts +createEdge() { + return this.createEdge({ + shape: 'edge', + attrs: { + line: { + stroke: 'red' + } + } + }) +} +``` #### validateMagnet diff --git a/sites/x6-sites/docs/tutorial/basic/node.zh.md b/sites/x6-sites/docs/tutorial/basic/node.zh.md index 73a843232b6..0c2c31409f2 100644 --- a/sites/x6-sites/docs/tutorial/basic/node.zh.md +++ b/sites/x6-sites/docs/tutorial/basic/node.zh.md @@ -7,7 +7,7 @@ redirect_from: - /zh/docs/tutorial/basic --- -在[快速上手](/zh/docs/tutorialgetting-started)案例中,我们通过 JSON 数据来快速添加两个矩形节点和一条边到画布中,并简单介绍了如何定制节点样式。接下来我们将学习更多创建节点的方式,并了解创建节点的基础选项。 +在[快速上手](/zh/docs/tutorial/getting-started)案例中,我们通过 JSON 数据来快速添加两个矩形节点和一条边到画布中,并简单介绍了如何定制节点样式。接下来我们将学习更多创建节点的方式,并了解创建节点的基础选项。 ## 创建节点 diff --git a/sites/x6-sites/docs/tutorial/basic/selection.en.md b/sites/x6-sites/docs/tutorial/basic/selection.en.md index 693484396dd..f87a4128a09 100644 --- a/sites/x6-sites/docs/tutorial/basic/selection.en.md +++ b/sites/x6-sites/docs/tutorial/basic/selection.en.md @@ -58,7 +58,9 @@ interface SelectionOptions { rubberEdge?: boolean strict?: boolean modifiers?: string | ('alt' | 'ctrl' | 'meta' | 'shift')[] | null + multipleSelectionModifiers?: string | ('alt' | 'ctrl' | 'meta' | 'shift')[] | null movable?: boolean + following?: boolean content?: | null | false @@ -73,6 +75,10 @@ interface SelectionOptions { | string[] | ({ id: string })[] | ((this: Graph, cell: Cell) => boolean) + showEdgeSelectionBox?: boolean + showNodeSelectionBox?: boolean + useCellGeometry?: boolean + pointerEvents?: 'none' | 'auto' } ``` @@ -91,11 +97,21 @@ const graph = new Graph({ ### multiple -是否启用点击多选,默认为 `true`。启用多选后按住 `ctrl` 或 `command` 键点击节点实现多选。 +是否启用点击多选,默认为 `true`。启用多选后默认按住 `ctrl` 或 `command` 键点击节点实现多选。和 `multipleSelectionModifiers` 配合使用。 + +### multipleSelectionModifiers + +修饰键(`'alt'`、`'ctrl'`、`'meta'`、`'shift'`),设置修饰键后需按下修饰键才能触发点选多选。默认值是 `['ctrl', 'meta']`。 + +支持配置单个(如 `'alt'`)或多个(如 `['alt', 'ctrl']`)修饰键,通过数组形式配置的多个修饰键是*或关系*,比如刚刚配置的修饰键表示按下 `'alt'` 或 `'ctrl'`,如果需要更加灵活的配置,可以使用如下这些形式: + +- `'alt|ctrl'` 表示按下 `'alt'` 或 `'ctrl'`。 +- `'alt&ctrl'` 表示同时按下 `'alt'` 和 `'ctrl'`。 +- `'alt|ctrl&shift'` 表示同时按下 `'alt'` 和 `'shift'` 或者同时按下 `'ctrl'` 和 `'shift'`。 ### rubberband -是否启用框选,默认为 `false`。是否启用框选,默认为 `false`。开启框选时,默认只能框选节点,如果需要自定义框选节点或者边,可以配置 `rubberNode` 和 `rubberEdge` 属性。 +是否启用框选,默认为 `false`。开启框选时,默认只能框选节点,如果需要自定义框选节点或者边,可以配置 `rubberNode` 和 `rubberEdge` 属性。 ```ts const graph = new Graph({ @@ -181,6 +197,12 @@ const graph = new Graph({ 是否显示边的选择框,默认为 `false`,建议使用下面的样式定制方法去定制自己的选择框样式。 +### useCellGeometry +是否使用几何计算的方式计算节点包围盒,默认为 `false`,如果设置为 `true`,`selectionBox` 只会包含节点本身(不会包含连接桩)。 + +### pointerEvents +如果打开 `showNodeSelectionBox` 时,会在节点上方盖一层元素,导致节点的事件无法响应,此时可以配置 `pointerEvents: none` 来解决,默认值是 `auto`。 + ## 样式定制 上面介绍了通过 [className](#classname) 选项来定制样式,另外也可以通过覆盖以下几个 CSS 样式定义来定制,默认的样式定义[参考这里](https://github.com/antvis/X6/blob/master/packages/x6/src/addon/selection/index.less)。 diff --git a/sites/x6-sites/docs/tutorial/basic/selection.zh.md b/sites/x6-sites/docs/tutorial/basic/selection.zh.md index ef71283cca3..95131c73374 100644 --- a/sites/x6-sites/docs/tutorial/basic/selection.zh.md +++ b/sites/x6-sites/docs/tutorial/basic/selection.zh.md @@ -58,7 +58,9 @@ interface SelectionOptions { rubberEdge?: boolean strict?: boolean modifiers?: string | ('alt' | 'ctrl' | 'meta' | 'shift')[] | null + multipleSelectionModifiers?: string | ('alt' | 'ctrl' | 'meta' | 'shift')[] | null movable?: boolean + following?: boolean content?: | null | false @@ -73,6 +75,10 @@ interface SelectionOptions { | string[] | ({ id: string })[] | ((this: Graph, cell: Cell) => boolean) + showEdgeSelectionBox?: boolean + showNodeSelectionBox?: boolean + useCellGeometry?: boolean + pointerEvents?: 'none' | 'auto' } ``` @@ -91,7 +97,17 @@ const graph = new Graph({ ### multiple -是否启用点击多选,默认为 `true`。启用多选后按住 `ctrl` 或 `command` 键点击节点实现多选。 +是否启用点击多选,默认为 `true`。启用多选后默认按住 `ctrl` 或 `command` 键点击节点实现多选。和 `multipleSelectionModifiers` 配合使用。 + +### multipleSelectionModifiers + +修饰键(`'alt'`、`'ctrl'`、`'meta'`、`'shift'`),设置修饰键后需按下修饰键才能触发点选多选。默认值是 `['ctrl', 'meta']`。 + +支持配置单个(如 `'alt'`)或多个(如 `['alt', 'ctrl']`)修饰键,通过数组形式配置的多个修饰键是*或关系*,比如刚刚配置的修饰键表示按下 `'alt'` 或 `'ctrl'`,如果需要更加灵活的配置,可以使用如下这些形式: + +- `'alt|ctrl'` 表示按下 `'alt'` 或 `'ctrl'`。 +- `'alt&ctrl'` 表示同时按下 `'alt'` 和 `'ctrl'`。 +- `'alt|ctrl&shift'` 表示同时按下 `'alt'` 和 `'shift'` 或者同时按下 `'ctrl'` 和 `'shift'`。 ### rubberband @@ -181,6 +197,12 @@ const graph = new Graph({ 是否显示边的选择框,默认为 `false`,建议使用下面的样式定制方法去定制自己的选择框样式。 +### useCellGeometry +是否使用几何计算的方式计算节点包围盒,默认为 `false`,如果设置为 `true`,`selectionBox` 只会包含节点本身(不会包含连接桩)。 + +### pointerEvents +如果打开 `showNodeSelectionBox` 时,会在节点上方盖一层元素,导致节点的事件无法响应,此时可以配置 `pointerEvents: none` 来解决,默认值是 `auto`。 + ## 样式定制 上面介绍了通过 [className](#classname) 选项来定制样式,另外也可以通过覆盖以下几个 CSS 样式定义来定制,默认的样式定义[参考这里](https://github.com/antvis/X6/blob/master/packages/x6/src/addon/selection/index.less)。 diff --git a/sites/x6-sites/docs/tutorial/basic/snapline.en.md b/sites/x6-sites/docs/tutorial/basic/snapline.en.md index f0a01e5ec79..73f192bf11e 100644 --- a/sites/x6-sites/docs/tutorial/basic/snapline.en.md +++ b/sites/x6-sites/docs/tutorial/basic/snapline.en.md @@ -43,7 +43,7 @@ if (graph.isSnaplineEnabled()) { interface SnaplineOptions { className?: string tolerance?: number - sharp?: boolean + // sharp?: boolean (废弃) resizing?: boolean clean?: boolean filter?: (string | { id: string })[] | ((this: Graph, node: Node) => boolean) @@ -76,9 +76,14 @@ const graph = new Graph({ }) ``` -### sharp +### ~~sharp~~ -是否显示截断的对齐线,默认为 `false`。 +~~是否显示截断的对齐线,默认为 `false`。~~ + +[[error]] +| 在 1.32.7 及以上版本,`sharp` 选项将被废弃,不再生效。 +| +| 在新版本中,默认行为将是显示截断的对齐线,等同于 1.32.7 以前的 `sharp: true`. [参见演示](#演示)。 ### resizing @@ -218,7 +223,10 @@ toggleSnaplineOnResizing(enabled?: boolean): this |---------|---------|:----:|--------|------------------------------------------| | enabled | boolean | | - | 是否启用对齐线,缺省时切换对齐线的启用状态。 | -### graph.isSharpSnapline() +### ~~graph.isSharpSnapline()~~ + +[[error]] +| 在 1.32.7 及以上版本,`sharp` 选项将被废弃,不再生效,短款对齐线将成为默认效果。 ```sign isSharpSnapline(): boolean @@ -226,7 +234,7 @@ isSharpSnapline(): boolean 是否使用短款对齐线。 -### graph.enableSharpSnapline() +### ~~graph.enableSharpSnapline()~~ ```sign enableSharpSnapline(): this @@ -234,7 +242,7 @@ enableSharpSnapline(): this 启用短款对齐线,启用后对齐线只显示到相关节点位置处,否则显示贯穿画布的对齐线。 -### graph.disableSharpSnapline() +### ~~graph.disableSharpSnapline()~~ ```sign disableSharpSnapline(): this @@ -242,7 +250,7 @@ disableSharpSnapline(): this 禁用短款对齐线,对齐线将贯穿整个画布。 -### graph.toggleSharpSnapline(...) +### ~~graph.toggleSharpSnapline()~~ ```sign toggleSharpSnapline(enabled?: boolean): this diff --git a/sites/x6-sites/docs/tutorial/basic/snapline.zh.md b/sites/x6-sites/docs/tutorial/basic/snapline.zh.md index 2a1da6bf95b..e8556ba7b70 100644 --- a/sites/x6-sites/docs/tutorial/basic/snapline.zh.md +++ b/sites/x6-sites/docs/tutorial/basic/snapline.zh.md @@ -43,7 +43,7 @@ if (graph.isSnaplineEnabled()) { interface SnaplineOptions { className?: string tolerance?: number - sharp?: boolean + // sharp?: boolean (废弃) resizing?: boolean clean?: boolean filter?: (string | { id: string })[] | ((this: Graph, node: Node) => boolean) @@ -76,9 +76,14 @@ const graph = new Graph({ }) ``` -### sharp +### ~~sharp~~ -是否显示截断的对齐线,默认为 `false`。 +~~是否显示截断的对齐线,默认为 `false`。~~ + +[[error]] +| 在 1.32.7 及以上版本,`sharp` 选项将被废弃,不再生效。 +| +| 在新版本中,默认行为将是显示截断的对齐线,等同于 1.32.7 以前的 `sharp: true`. [参见演示](#演示)。 ### resizing @@ -218,7 +223,10 @@ toggleSnaplineOnResizing(enabled?: boolean): this |---------|---------|:----:|--------|------------------------------------------| | enabled | boolean | | - | 是否启用对齐线,缺省时切换对齐线的启用状态。 | -### graph.isSharpSnapline() +### ~~graph.isSharpSnapline()~~ + +[[error]] +| 在 1.32.7 及以上版本,`sharp` 选项将被废弃,不再生效,短款对齐线将成为默认效果。 ```sign isSharpSnapline(): boolean @@ -226,7 +234,7 @@ isSharpSnapline(): boolean 是否使用短款对齐线。 -### graph.enableSharpSnapline() +### ~~graph.enableSharpSnapline()~~ ```sign enableSharpSnapline(): this @@ -234,7 +242,7 @@ enableSharpSnapline(): this 启用短款对齐线,启用后对齐线只显示到相关节点位置处,否则显示贯穿画布的对齐线。 -### graph.disableSharpSnapline() +### ~~graph.disableSharpSnapline()~~ ```sign disableSharpSnapline(): this @@ -242,7 +250,7 @@ disableSharpSnapline(): this 禁用短款对齐线,对齐线将贯穿整个画布。 -### graph.toggleSharpSnapline(...) +### ~~graph.toggleSharpSnapline()~~ ```sign toggleSharpSnapline(enabled?: boolean): this diff --git a/sites/x6-sites/docs/tutorial/contact.en.md b/sites/x6-sites/docs/tutorial/contact.en.md index 95cf1ed79d6..bee9695aafc 100644 --- a/sites/x6-sites/docs/tutorial/contact.en.md +++ b/sites/x6-sites/docs/tutorial/contact.en.md @@ -15,6 +15,4 @@ redirect_from: 欢迎各界 X6 使用者、图可视化爱好者加入 X6 图可视化交流群(钉钉群,使用钉钉扫一扫加入)讨论与交流。 -X6 图可视化交流群1 -X6 图可视化交流群2 -X6 图可视化交流群3 +X6 图可视化交流群4 diff --git a/sites/x6-sites/docs/tutorial/contact.zh.md b/sites/x6-sites/docs/tutorial/contact.zh.md index a5bf01421cd..2850fd9f012 100644 --- a/sites/x6-sites/docs/tutorial/contact.zh.md +++ b/sites/x6-sites/docs/tutorial/contact.zh.md @@ -15,6 +15,4 @@ redirect_from: 欢迎各界 X6 使用者、图可视化爱好者加入 X6 图可视化交流群(钉钉群,使用钉钉扫一扫加入)讨论与交流。 -X6 图可视化交流群1 -X6 图可视化交流群2 -X6 图可视化交流群3 +X6 图可视化交流群4 diff --git a/sites/x6-sites/docs/tutorial/epilog.en.md b/sites/x6-sites/docs/tutorial/epilog.en.md deleted file mode 100644 index 5303f1ac6d6..00000000000 --- a/sites/x6-sites/docs/tutorial/epilog.en.md +++ /dev/null @@ -1,202 +0,0 @@ ---- -title: 常见问题 -order: 9 -redirect_from: - - /zh/docs - - /zh/docs/tutorial ---- - -1. 一般问题 - 1. [X6 与 G6 的区别](#x6-与-g6-的区别) - 2. [X6 支持 Vue 吗](#x6-支持-vue-吗) - 3. [X6 浏览器兼容性](#浏览器兼容性) - 4. [怎么解决 angular 项目类型报错](#怎么解决-angular-项目类型报错) - 5. [导出图片样式缺失](#导出图片样式缺失) -2. 节点相关 - 1. [怎么禁止节点移动](#怎么禁止节点移动) - 2. [怎么支持特定节点的放大缩小](#怎么支持特定节点的放大缩小) - 3. [怎么判断节点处于可缩放状态](#怎么判断节点处于可缩放状态) - 4. [HTML/React/Vue 节点渲染出错](#htmlreactvue节点渲染出错) - 5. [node:moved 事件中 x、y 参数](mode:moved-事件中x、y-参数) -3. 边相关 - 1. [怎么区分 edgeremoved 事件触发原因](#怎么区分-edgeremoved-事件触发原因) - 2. [在 edge:removed 事件中怎么获取目标节点](#在-edgeremoved-事件中怎么获取目标节点) - 3. [在历史记录中忽略某个属性的修改]() -4. 连接桩相关 - 1. [怎么监听连接桩的点击事件](#怎么监听连接桩的点击事件) - - -### X6 与 G6 的区别 - -X6 是图编辑引擎,特点是节点、边、等元素的定制能力非常强,经常用来构建流程图、ER图、DAG图、脑图等应用。G6 和 X6 是孪生兄弟,G6 更擅长于图可视化和图分析领域。详细对比可以参考这篇[文章](https://www.zhihu.com/question/435855401) - -### X6 支持 Vue 吗 - -X6 的核心能力和框架无关,在 X6 的基础上我们有 [x6-react-shape](https://github.com/antvis/X6/tree/master/packages/x6-react-shape) 和 [x6-react-components](https://github.com/antvis/X6/tree/master/packages/x6-react-components) 两个项目,用来支持 `React` 渲染以及提供一系列图编辑场景的常用 UI 组件。我们同样提供 [x6-vue-shape](https://github.com/antvis/X6/tree/master/packages/x6-vue-shape) 来支持 `Vue` 节点的渲染。 - -### 浏览器兼容性 - -现代浏览器(Chrome、Firefox 、Safari 较新版本,IE11 部分功能不支持) - -#### 怎么解决 angular 项目类型报错 - -可以在 `tsconfig.app.json` 中增加以下配置: - -```json -"compilerOptions": { - "skipLibCheck": true, -}, -``` - -#### 导出图片样式缺失 - -在 React/Vue/Angular/HTML 节点中,导出图片时会出现样式缺失的现象,暂时解决方案,将缺失的样式补充到 `stylesheet` 属性中或者使用行内样式: - -```ts -this.graph.toSVG((dataUri: string) => { - // todo -}, { - stylesheet: ` - .my-element { - font-size: 12px; - } - ` -}) -``` - -### 怎么禁止节点移动 - -可以使用以下方式, - -```ts -const graph = new Graph({ - container: this.container, - grid: 10, - interacting: { - nodeMovable: false - } -}) -``` -更多配置见: [interacting](https://x6.antv.vision/zh/docs/api/graph#interacting) - -### 怎么支持特定节点的放大缩小 - -```ts -new graph({ - resizing: { - enabled: (this: Graph, arg: Node) => boolean - } -}) -``` - -### 怎么判断节点处于可缩放状态 - -处于可缩放状态的节点会带有 `has-widget-transform` 类名 - -### HTML/React/Vue节点渲染出错 - -HTML/React/Vue 节点内容都是渲染在 SVG 的 [foreignObject](https://developer.mozilla.org/zh-CN/docs/Web/SVG/Element/foreignObject) 节点内部,因为浏览器的兼容性问题,经常会出现一些异常的渲染行为。主要表现形式为: - -- 节点内容展示不全 -- 节点内容闪烁 - -可以通过以下方式来规避: - -- 节点内部元素的 css 样式中不要使用 `position:absolute` 和 `position:relative` -- 节点内部元素的 css 样式中不要使用 `transform` -- 节点内部元素的 css 样式中不要使用 `opacity` - -以上是实践过程中的临时解决方案,后续我们也会采用新的技术方案来彻底解决这个问题。 -### node:moved 事件中 x、y 参数 - -在 `node:moved` 事件中参数中,`x`、`y` 参数经常引起歧义,这里说明一下:`x` 和 `y` 指定的是鼠标相对于画布的位置,而不是节点的位置,要获取节点的位置,可以: - -```ts -graph.on('node:moved', ({ node })) { - const { x, y } = node.position() -} -``` - -### 怎么区分 edge:removed 事件触发原因 - -调用 `removeEdge` 或者手动删除 edge 时都会触发 `edge:removed` 事件,那怎么区分两种行为呢?在调用 `removeEdge` 的时候可以传入第二个参数 `options`,在 `options` 里面定义自己的属性,在 `edge:remove` 事件参数中能获取到自定义的属性。 - -```ts -graph.removeEdge(edge, { - triggerByFunction: true -}) -graph.on("edge:removed", ({ options }) => { - if (options.triggerByFunction) { - // 调用removeEdge删除边 - } -}); -``` - -### 在 edge:removed 事件中怎么获取目标节点 - -```ts -graph.on("edge:removed", ({ edge, options }) => { - const cellId = edge.getTargetCellId() - const target = graph.getCellById(cellId) -}); -``` - -### 在历史记录中忽略某个属性的修改 - -已连线为例,拖动过程中是虚线,连接结束变为实线,此时如果执行 `undo` 操作,怎样直接恢复到未连线的状态呢? - -```ts -new Graph({ - history: { - enabled: true, - beforeAddCommand(event, args: any) { - // 忽略历史变更 - if (args.options.ignoreHistory) { - return false - } - }, - }, - connecting: { - createEdge() { - // 指定新创建的边为虚线样式 - return Edge.create({ - attrs: { - line: { - strokeDasharray: '5 5', - }, - }, - }) - }, - }, -}) - -graph.on('edge:connected', ({ edge }) => { - // 传入自定义的 ignoreHistory 选项来忽略历史变更 - edge.attr('line/strokeDasharray', null, { ignoreHistory: true }) -}) -``` - -### 怎么监听连接桩的点击事件 - -```ts -graph.addNode({ - x: 60, - y: 50, - width: 180, - height: 100, - ports: [ - { - id: "port1", - attrs: { - circle: { - event: "port:click", // 添加自定义属性 event 来监听该元素的点击事件 - } - } - } - ] -}); - -graph.on("port:click", () => { - // handle -}); -``` diff --git a/sites/x6-sites/docs/tutorial/epilog.zh.md b/sites/x6-sites/docs/tutorial/epilog.zh.md deleted file mode 100644 index 5303f1ac6d6..00000000000 --- a/sites/x6-sites/docs/tutorial/epilog.zh.md +++ /dev/null @@ -1,202 +0,0 @@ ---- -title: 常见问题 -order: 9 -redirect_from: - - /zh/docs - - /zh/docs/tutorial ---- - -1. 一般问题 - 1. [X6 与 G6 的区别](#x6-与-g6-的区别) - 2. [X6 支持 Vue 吗](#x6-支持-vue-吗) - 3. [X6 浏览器兼容性](#浏览器兼容性) - 4. [怎么解决 angular 项目类型报错](#怎么解决-angular-项目类型报错) - 5. [导出图片样式缺失](#导出图片样式缺失) -2. 节点相关 - 1. [怎么禁止节点移动](#怎么禁止节点移动) - 2. [怎么支持特定节点的放大缩小](#怎么支持特定节点的放大缩小) - 3. [怎么判断节点处于可缩放状态](#怎么判断节点处于可缩放状态) - 4. [HTML/React/Vue 节点渲染出错](#htmlreactvue节点渲染出错) - 5. [node:moved 事件中 x、y 参数](mode:moved-事件中x、y-参数) -3. 边相关 - 1. [怎么区分 edgeremoved 事件触发原因](#怎么区分-edgeremoved-事件触发原因) - 2. [在 edge:removed 事件中怎么获取目标节点](#在-edgeremoved-事件中怎么获取目标节点) - 3. [在历史记录中忽略某个属性的修改]() -4. 连接桩相关 - 1. [怎么监听连接桩的点击事件](#怎么监听连接桩的点击事件) - - -### X6 与 G6 的区别 - -X6 是图编辑引擎,特点是节点、边、等元素的定制能力非常强,经常用来构建流程图、ER图、DAG图、脑图等应用。G6 和 X6 是孪生兄弟,G6 更擅长于图可视化和图分析领域。详细对比可以参考这篇[文章](https://www.zhihu.com/question/435855401) - -### X6 支持 Vue 吗 - -X6 的核心能力和框架无关,在 X6 的基础上我们有 [x6-react-shape](https://github.com/antvis/X6/tree/master/packages/x6-react-shape) 和 [x6-react-components](https://github.com/antvis/X6/tree/master/packages/x6-react-components) 两个项目,用来支持 `React` 渲染以及提供一系列图编辑场景的常用 UI 组件。我们同样提供 [x6-vue-shape](https://github.com/antvis/X6/tree/master/packages/x6-vue-shape) 来支持 `Vue` 节点的渲染。 - -### 浏览器兼容性 - -现代浏览器(Chrome、Firefox 、Safari 较新版本,IE11 部分功能不支持) - -#### 怎么解决 angular 项目类型报错 - -可以在 `tsconfig.app.json` 中增加以下配置: - -```json -"compilerOptions": { - "skipLibCheck": true, -}, -``` - -#### 导出图片样式缺失 - -在 React/Vue/Angular/HTML 节点中,导出图片时会出现样式缺失的现象,暂时解决方案,将缺失的样式补充到 `stylesheet` 属性中或者使用行内样式: - -```ts -this.graph.toSVG((dataUri: string) => { - // todo -}, { - stylesheet: ` - .my-element { - font-size: 12px; - } - ` -}) -``` - -### 怎么禁止节点移动 - -可以使用以下方式, - -```ts -const graph = new Graph({ - container: this.container, - grid: 10, - interacting: { - nodeMovable: false - } -}) -``` -更多配置见: [interacting](https://x6.antv.vision/zh/docs/api/graph#interacting) - -### 怎么支持特定节点的放大缩小 - -```ts -new graph({ - resizing: { - enabled: (this: Graph, arg: Node) => boolean - } -}) -``` - -### 怎么判断节点处于可缩放状态 - -处于可缩放状态的节点会带有 `has-widget-transform` 类名 - -### HTML/React/Vue节点渲染出错 - -HTML/React/Vue 节点内容都是渲染在 SVG 的 [foreignObject](https://developer.mozilla.org/zh-CN/docs/Web/SVG/Element/foreignObject) 节点内部,因为浏览器的兼容性问题,经常会出现一些异常的渲染行为。主要表现形式为: - -- 节点内容展示不全 -- 节点内容闪烁 - -可以通过以下方式来规避: - -- 节点内部元素的 css 样式中不要使用 `position:absolute` 和 `position:relative` -- 节点内部元素的 css 样式中不要使用 `transform` -- 节点内部元素的 css 样式中不要使用 `opacity` - -以上是实践过程中的临时解决方案,后续我们也会采用新的技术方案来彻底解决这个问题。 -### node:moved 事件中 x、y 参数 - -在 `node:moved` 事件中参数中,`x`、`y` 参数经常引起歧义,这里说明一下:`x` 和 `y` 指定的是鼠标相对于画布的位置,而不是节点的位置,要获取节点的位置,可以: - -```ts -graph.on('node:moved', ({ node })) { - const { x, y } = node.position() -} -``` - -### 怎么区分 edge:removed 事件触发原因 - -调用 `removeEdge` 或者手动删除 edge 时都会触发 `edge:removed` 事件,那怎么区分两种行为呢?在调用 `removeEdge` 的时候可以传入第二个参数 `options`,在 `options` 里面定义自己的属性,在 `edge:remove` 事件参数中能获取到自定义的属性。 - -```ts -graph.removeEdge(edge, { - triggerByFunction: true -}) -graph.on("edge:removed", ({ options }) => { - if (options.triggerByFunction) { - // 调用removeEdge删除边 - } -}); -``` - -### 在 edge:removed 事件中怎么获取目标节点 - -```ts -graph.on("edge:removed", ({ edge, options }) => { - const cellId = edge.getTargetCellId() - const target = graph.getCellById(cellId) -}); -``` - -### 在历史记录中忽略某个属性的修改 - -已连线为例,拖动过程中是虚线,连接结束变为实线,此时如果执行 `undo` 操作,怎样直接恢复到未连线的状态呢? - -```ts -new Graph({ - history: { - enabled: true, - beforeAddCommand(event, args: any) { - // 忽略历史变更 - if (args.options.ignoreHistory) { - return false - } - }, - }, - connecting: { - createEdge() { - // 指定新创建的边为虚线样式 - return Edge.create({ - attrs: { - line: { - strokeDasharray: '5 5', - }, - }, - }) - }, - }, -}) - -graph.on('edge:connected', ({ edge }) => { - // 传入自定义的 ignoreHistory 选项来忽略历史变更 - edge.attr('line/strokeDasharray', null, { ignoreHistory: true }) -}) -``` - -### 怎么监听连接桩的点击事件 - -```ts -graph.addNode({ - x: 60, - y: 50, - width: 180, - height: 100, - ports: [ - { - id: "port1", - attrs: { - circle: { - event: "port:click", // 添加自定义属性 event 来监听该元素的点击事件 - } - } - } - ] -}); - -graph.on("port:click", () => { - // handle -}); -``` diff --git a/sites/x6-sites/docs/tutorial/intermediate/custom-edge.en.md b/sites/x6-sites/docs/tutorial/intermediate/custom-edge.en.md index f04a8e9ef1b..aab356b8c80 100644 --- a/sites/x6-sites/docs/tutorial/intermediate/custom-edge.en.md +++ b/sites/x6-sites/docs/tutorial/intermediate/custom-edge.en.md @@ -202,7 +202,7 @@ Graph.registerEdge(name: string, options: Object, overwrite?: boolean) 通过 `options.inherit` 来指定继承的基类,默认值为 `Edge` 类,支持字符串或边类,当 `options.inherit` 为字符串时将自动从已注册的边中找到对应的边作为基类,`options` 的其他选项与 [define 方法](#便捷方法一)一致。当 `options.constructorName` 类名缺省时,第一个参数 `name` 的大驼峰形式(CamelCase)也将作为自定义边的类名。 ```ts -Graph.registerNode('red-edge', { +Graph.registerEdge('red-edge', { inherit: Edge, // 或 'rect' attrs: { line: { diff --git a/sites/x6-sites/docs/tutorial/intermediate/custom-edge.zh.md b/sites/x6-sites/docs/tutorial/intermediate/custom-edge.zh.md index d1c974c5529..0a3c3aa5a2e 100644 --- a/sites/x6-sites/docs/tutorial/intermediate/custom-edge.zh.md +++ b/sites/x6-sites/docs/tutorial/intermediate/custom-edge.zh.md @@ -202,7 +202,7 @@ Graph.registerEdge(name: string, options: Object, overwrite?: boolean) 通过 `options.inherit` 来指定继承的基类,默认值为 `Edge` 类,支持字符串或边类,当 `options.inherit` 为字符串时将自动从已注册的边中找到对应的边作为基类,`options` 的其他选项与 [define 方法](#便捷方法一)一致。当 `options.constructorName` 类名缺省时,第一个参数 `name` 的大驼峰形式(CamelCase)也将作为自定义边的类名。 ```ts -Graph.registerNode('red-edge', { +Graph.registerEdge('red-edge', { inherit: Edge, // 或 'rect' attrs: { line: { diff --git a/sites/x6-sites/docs/tutorial/intermediate/custom-node.en.md b/sites/x6-sites/docs/tutorial/intermediate/custom-node.en.md index f6d21bd5fc9..5541dfa5213 100644 --- a/sites/x6-sites/docs/tutorial/intermediate/custom-node.en.md +++ b/sites/x6-sites/docs/tutorial/intermediate/custom-node.en.md @@ -7,7 +7,7 @@ redirect_from: - /en/docs/tutorial/intermediate --- -我们在 X6 中内置了一些基础图形,如 `Rect`、`Circle` 和 `Ellipse` 等,但这些还远远不能满足我们的实习需求,我们需要能够定义具有业务意义的节点,例如 ER 图的表格节点。自定义节点也不是什么难事,其实就是在组合使用 SVG 中的 `` 、``、``、``、``、`` 等基础元素,如果你对这些基础元素还不熟悉,可以参考 MDN 提供的[教程](https://developer.mozilla.org/en-US/docs/Web/SVG/Element),使用这些基础元素可以定义出任何我们想要的图形。 +我们在 X6 中内置了一些基础图形,如 `Rect`、`Circle` 和 `Ellipse` 等,但这些还远远不能满足我们的实际需求,我们需要能够定义具有业务意义的节点,例如 ER 图的表格节点。自定义节点也不是什么难事,其实就是在组合使用 SVG 中的 `` 、``、``、``、``、`` 等基础元素,如果你对这些基础元素还不熟悉,可以参考 MDN 提供的[教程](https://developer.mozilla.org/en-US/docs/Web/SVG/Element),使用这些基础元素可以定义出任何我们想要的图形。 ## 原理 diff --git a/sites/x6-sites/docs/tutorial/log.en.md b/sites/x6-sites/docs/tutorial/log.en.md deleted file mode 100644 index 2af455887d7..00000000000 --- a/sites/x6-sites/docs/tutorial/log.en.md +++ /dev/null @@ -1,380 +0,0 @@ ---- -title: 更新日志 -order: 10 -redirect_from: - - /en/docs - - /en/docs/tutorial ---- - -## 1.27.x - -- 1.27.0 - - ✨ `stencil` 中增加 `resizeGroup` 方法 ([#1388](https://github.com/antvis/x6/issues/1388)) ([4baba33](https://github.com/antvis/x6/commit/4baba3326bc9ecbbd9c272fcfa4ee3d3c0389db3)) - - 🐛 修复移动端旋转节点报错问题 ([#1387](https://github.com/antvis/x6/issues/1387)) ([ba4aedc](https://github.com/antvis/x6/commit/ba4aedc49793fa681cd73a4790ab4dc34e3cf936)) -## 1.26.x - -- 1.26.3 - - 🐛 修复节点粘贴位置偏移问题 ([#1350](https://github.com/antvis/x6/issues/1350)) ([016303c](https://github.com/antvis/x6/commit/016303c936ccbc23e7bbb80c8461e4ba9fe8d14f)) - - `segments & vertices` 工具增加 `onChanged` 回调参数 ([#1348](https://github.com/antvis/x6/issues/1348)) ([502856c](https://github.com/antvis/x6/commit/502856c3b89a4613859c7152ec212253ec7919d8)) - -- 1.26.1 - - 🐛 解决批量移动选中节点不触发 `node:moved` 事件问题 ([#1305](https://github.com/antvis/x6/issues/1305)) ([6a3f96d](https://github.com/antvis/x6/commit/6a3f96d3b5754def401084e023dad466c013cc49)) -## 1.25.x - -- 1.25.4 - * 🐛 `cell clone` 方法中增加 `keepId` 配置 ([#1254](https://github.com/antvis/x6/issues/1254)) ([7c51152](https://github.com/antvis/x6/commit/7c51152f03998c26b740eec640961193c29ebd34)) - -- 1.25.1 - - 🐛 `prop` 方法优化 ([#1225](https://github.com/antvis/x6/issues/1225)) ([ba2350d](https://github.com/antvis/x6/commit/ba2350dcc930a9a4ab350862db67a5415fe41cfd)) - - 🐛 `stencil` 的搜索逻辑修改为对大小写敏感 ([#1211](https://github.com/antvis/x6/issues/1211)) ([c28289c](https://github.com/antvis/x6/commit/c28289c3c9f0552b14c81999542374649271e495)) - -- 1.25.0 - - ✨ 内置 `cell-editor` 工具 ([#1202](https://github.com/antvis/x6/issues/1202)) ([2286097](https://github.com/antvis/x6/commit/228609783e1b3a3ff579ce9d38cf2e70dacd4931)) - - 🐛 `scaleContentToFit` 的 `padding` 配置支持四个方向 ([#1203](https://github.com/antvis/x6/issues/1203)) ([692ea04](https://github.com/antvis/x6/commit/692ea043854095535273e7a9ff2e4f8809faee81)) -## 1.24.x - -- 1.24.8 - * 🐛 框选超出画布时开启画布自动滚动 ([#1197](https://github.com/antvis/x6/issues/1197)) ([ffc801b](https://github.com/antvis/x6/commit/ffc801b9550fd55a03a2642051a84ef586d88ee7)) - -- 1.24.5 - - 🐛 统一scroller画布和普通画布的 `panning api` ([#1151](https://github.com/antvis/x6/issues/1151)) ([fc78817](https://github.com/antvis/x6/commit/fc7881731bfc5c7cde698ca8948dfa0c40f891fc)) - -- 1.24.4 - - 🐛 增加 `toolsAddable` 配置 ([#1124](https://github.com/antvis/x6/issues/1124)) ([5dde09c](https://github.com/antvis/x6/commit/5dde09c4fc99e395947d8839adb67ab6c20abbe7)) - -- 1.24.2 - - 🐛 新建连线的时候如果超出画布自动滚动画布 ([#1121](https://github.com/antvis/x6/issues/1121)) ([fde89fc](https://github.com/antvis/x6/commit/fde89fcf14e4dec9d9bf15489290cc145c29e400)) - -- 1.24.0 - - ✨ 解决群组中多个选中节点平移相互影响问题 ([#1115](https://github.com/antvis/x6/issues/1115)) ([41fe23b](https://github.com/antvis/x6/commit/41fe23b6b959782487c0db03215fcfcf5c821b87)) -## 1.23.x - -- 1.23.13 - - 🐛 画布在聚焦后取消自动滚动 ([#1116](https://github.com/antvis/x6/issues/1116)) ([9b66853](https://github.com/antvis/x6/commit/9b66853e143825de669fa5c97e1540971e835bed)) - -- 1.23.10 - - 🐛 修复 `node:move` 事件的触发机制 ([cca97ff](https://github.com/antvis/x6/commit/cca97ff1ed44a45ca6ef0acf9b2c2d38070cb4cb)) - - 🐛 修复 `embedded` 事件的触发机制 ([a922aa4](https://github.com/antvis/x6/commit/a922aa42b6a726fd7daf45d283d5b4a9c792e4a8)) - - 🐛 优化 `cell.remove` 方法 ([c6fd5da](https://github.com/antvis/x6/commit/c6fd5da9e5b8b89b3eff13f1026da0298ac397e9)) - -- 1.23.8 - - 🐛 `mousedown` 事件中不取消选中效果 ([d6195a7](https://github.com/antvis/x6/commit/d6195a74f3765d65fcdf42dd0de7739fb8867f75)) - -- 1.23.5 - - 🐛 修复画布背景图片不自动缩放问题 [#1070](https://github.com/antvis/x6/issues/1070) ([#1072](https://github.com/antvis/x6/issues/1072)) ([ada59be](https://github.com/antvis/x6/commit/ada59be847cb139040c8ee8b68603756194201cd)) - -- 1.23.3 - - 🐛 修复 scroller 画布在 `autoResize` 为 false 下内容区域尺寸不固定问题 ([1a77b44](https://github.com/antvis/x6/commit/1a77b4464c6397c407d848adb17f8aa90131d63d)) - -- 1.23.2 - - 🐛 优化 `addTools` 参数 ([9fb3a51](https://github.com/antvis/x6/commit/9fb3a514c2d34dee61d1ee5acd68416ae5bd5cfa)) - -- 1.23.0 - - ✨ 在普通画布中支持 `minimap` ([3ce87d9](https://github.com/antvis/x6/commit/3ce87d91a952e9b8bf61988cba1cc8cedd39b942)) -## 1.22.x - -- 1.22.1 - - 🐛 兼容 firefox 下文本 `bbox` 计算误差 ([328eb7e](https://github.com/antvis/x6/commit/328eb7e980fae6091ca94ce20f867f3694788446)) - -- 1.22.0 - - ✨ `scroller` 画布支持右键平移 ([2ceca37](https://github.com/antvis/x6/commit/2ceca3724e792dc0247398bf8790909597c50f31)) -## 1.21.x - -- 1.21.1 - - 🐛 节点属性中支持 `css` 变量 ([c4dde7e](https://github.com/antvis/x6/commit/c4dde7e498c5b892a181e86d9908519bc0e2c200)) - -- 1.21.0 - - ✨ `selecting` 中增加 `rubberNode` 和 `rubberEdge` 配置 ([#949](https://github.com/antvis/x6/issues/949)) ([b715463](https://github.com/antvis/x6/commit/b71546332a91f7a894f453c691efee006fdf4ad0)) -## 1.20.x - -- 1.20.0 - - ✨ `panning` 支持右键和触摸板 ([3694cc0](https://github.com/antvis/x6/commit/3694cc080ca5d2a291ba6b2df8c25933bb39b80a)) - - 🐛 重构 `mousewheel` 的实现 ([a2851cd](https://github.com/antvis/x6/commit/a2851cd862c9224bb66a8f9bda3e0035259fd940)) -## 1.19.x - -- 1.19.6 - - 🐛 `validateEdge` 修改成同步调用 ([57a6f2b](https://github.com/antvis/x6/commit/57a6f2be0685c91dced5208103051ad30742e87f)) - -- 1.19.4 - - ⚡️ 优化 `marker` 的渲染性能 ([6e90b6b](https://github.com/antvis/x6/commit/6e90b6b308a854dad97acf7c0577900731c08d9d)) - - ⚡️ 优化节点渲染性能 ([433d25f](https://github.com/antvis/x6/commit/433d25ff4a8cb6bab662f1a2317f59c1d41aa7bd)) - - ⚡️ 减少 `sortViews` 过程中的 dom 操作 ([79800b8](https://github.com/antvis/x6/commit/79800b8c4c007513bfd57abee2c7066fdfdc678e)) - -- 1.19.0 - - ✨ 优化 scroller 画布性能 ([#909](https://github.com/antvis/x6/issues/909)) ([1346223](https://github.com/antvis/x6/commit/134622397cab7312cb8e9cfc3f78901008a7b49f)) - - ✨ 优化 `keyboard target` 聚焦时机以提高拖拽性能 ([f3c04ca](https://github.com/antvis/x6/commit/f3c04ca02945d14e7912a963a11fe89908e1a4c8)) - -## 1.18.x - -- 1.18.5 - - 🐛 修复 `setProp` 方法会修改节点 ID 问题 ([44be23e](https://github.com/antvis/x6/commit/44be23ed5500a3b219ee4774990e8caee58269c3)) - -- 1.18.4 - - 🐛 连接桩不能被连接时鼠标为默认状态 ([2a1aa21](https://github.com/antvis/x6/commit/2a1aa2167e73f0bf2992bf2ef264c0401025a3f3)) - - 🐛 npm 包中加入 src 目录源码 ([d2901a8](https://github.com/antvis/x6/commit/d2901a86a065dd5b6537fdf6d7a1249ed4e10a1e)) - -- 1.18.3 - - 🐛 优化滚轮缩放因子计算方式 ([#855](https://github.com/antvis/x6/issues/855)) ([8a3ecce](https://github.com/antvis/x6/commit/8a3eccec6856a8ff7bfb4464dfed43a0c27097a4)) - -- 1.18.0 - - 🐛 修复画布坐标错乱问题 ([319f30f](https://github.com/antvis/x6/commit/319f30f5e68587623d85a2759142feaf37ac46fc)) - -## 1.17.x - -- 1.17.7 - * 🐛 解决 `eslint` 报错 ([06ba121](https://github.com/antvis/x6/commit/06ba121e3b937c5aeebbbe2b24e6db67fc141cb9)) - * 🐛 解决测试用例运行失败问题 ([f7ae6b1](https://github.com/antvis/x6/commit/f7ae6b1f6b961a01c58d8827a9aaa2d5a984a6e0)) - -- 1.17.6 - - 🐛 解决 `model:updated model:reseted model:sort` 触发两次问题 ([#789](https://github.com/antvis/x6/issues/789)) ([5520bc3](https://github.com/antvis/x6/commit/5520bc38ab4106287e6591c73aff8c6f96f675da)) - -- 1.17.5 - - 🐛 增加 `unembed` 的限制条件 ([2f797fd](https://github.com/antvis/x6/commit/2f797fd13754e3068f321800d1973a0ad3612d4d)) - -- 1.17.4 - - 🐛 解决 `async` 模式下开启小地图页面无响应问题 ([474d93c](https://github.com/antvis/x6/commit/474d93c9bc54cb469d75b72e6cd956c9671afcd2)) - -- 1.17.3 - - 🐛 解决添加工具失效问题 ([191eab3](https://github.com/antvis/x6/commit/191eab3d02bdea32755009d865a2929a131cb9e2)) - -- 1.17.2 - - 🐛 解决 `removeTool` 后工具不刷新问题 ([9d15243](https://github.com/antvis/x6/commit/9d152433ee4050bf2311c140d74dd805cae519ba)) - -- 1.17.1 - - 🐛 增加 `ToJSONData` 类型 ([f5ffbe2](https://github.com/antvis/x6/commit/f5ffbe2ffa50cb9585ee241aa1f37d5c069e97e5)) - - -- 1.17.0 - - 🐛 画布销毁后保证清除全部 css 资源 ([81fa537](https://github.com/antvis/x6/commit/81fa537282ce5cd65c2fb585b8a7649087490313)) - - ✨ 支持开启和关闭 `autoResize` 配置 ([dd6681b](https://github.com/antvis/x6/commit/dd6681b53739bf48fa0a97166e16ada4a2c16896)) - -## 1.16.x - -- 1.16.0 - - ✨ `node-anchor midSide` 上增加 `direction` 配置 ([b235c11](https://github.com/antvis/x6/commit/b235c1106b4041f257d4f0db5f30198e5c41c90d)) - -## 1.15.x - -- 1.15.0 - - ✨ `resizing` 中增加 `allowReverse` 配置 ([a597a75](https://github.com/antvis/x6/commit/a597a759c0a0b83f53e99e530d1970f46faf3dd2)) - -## 1.14.x - -- 1.14.0 - - ✨ `Dnd` 中增加 `containerParent` 配置 ([58fb4fd](https://github.com/antvis/x6/commit/58fb4fdd6a51c672e5a473773874081fe548fe0a)) - -## 1.13.x - -- 1.13.4 - - 🐛 解决同时开启 `scroller` 和 `autoResize` 后画布一直缩小问题 ([faf3e4f](https://github.com/antvis/x6/commit/faf3e4f0b015650b04f33d7ad914c116962f317e)) - -- 1.13.3 - - 🐛 解决滚轮滚动多次后位置不正确问题 ([1077a31](https://github.com/antvis/x6/commit/1077a3196219ecadbf1ecffac31d843d542f91fb)) - -- 1.13.2 - - 🐛 增加 `special` 事件的兼容性判断 ([2732b12](https://github.com/antvis/x6/commit/2732b12b4fe9cf7e381239333497c10ca2b8e7d0)) - - ⚡️ 缓存容器尺寸,避免多次计算导致性能问题 ([83483e9](https://github.com/antvis/x6/commit/83483e9d2af65ce2397770d35e8a7b799af8972a)) - -- 1.13.0 - - ✨ `selection` 中增加 `following` 配置 ([#687](https://github.com/antvis/x6/issues/687)) ([5b52433](https://github.com/antvis/x6/commit/5b52433709089280320cc6b13e6442f31c1dcf30)) - -## 1.12.x - -- 1.12.32 - - 🐛 解决无法触发键盘事件问题 ([4ea5f31](https://github.com/antvis/x6/commit/4ea5f3194e80125a68e25e71920526f5b6c86150)) - -- 1.12.31 - - 🐛 解决拼写错误 ([2f33b99](https://github.com/antvis/x6/commit/2f33b99cae8559d3d98204fe427c1ad18ce94ac0)) - -- 1.12.30 - - 🐛 在 css 中将 `foreignobject` 修改为 `foreignObject`来兼容 firefox ([#664](https://github.com/antvis/x6/issues/664)) ([2fa99f0](https://github.com/antvis/x6/commit/2fa99f05a8692bef1e9a4c241db399cee258fbb6)) - -- 1.12.28 - - 🐛 优化自动扩展画布的逻辑 ([fcb5f11](https://github.com/antvis/x6/commit/fcb5f11195c9e0418091ad55bb684294b189979e)), closes [#644](https://github.com/antvis/x6/issues/644) [#564](https://github.com/antvis/x6/issues/564) - -- 1.12.27 - - 🐛 在撤销重做过程中不会插入新的命令 ([1696f51](https://github.com/antvis/x6/commit/1696f519056a2cd57189b19532a758b24af3fe2a)), closes [#627](https://github.com/antvis/x6/issues/627) - * 🐛 使用 `prop` 修改 `parent` 或者 `children` 时,需要修改节点之间引用 ([f258522](https://github.com/antvis/x6/commit/f2585224689f4deb980d14f0e1f1a0c247bdcedc)) - -- 1.12.26 - - 🐛 Edge 的 `vertices` 支持 `[[100, 100], [20, 20]]` 这种结构数据 ([c7b0f0d](https://github.com/antvis/x6/commit/c7b0f0d811bbceb30365b683f69124ddf9d96008)) - - 🐛 解决边上渐变色问题 ([39619d3](https://github.com/antvis/x6/commit/39619d3baaab1af79cb0d2ecc08bb8859ef44065)), closes [#635](https://github.com/antvis/x6/issues/635) - - 🐛 `vertices` 在最低层级渲染 ([da9ddf5](https://github.com/antvis/x6/commit/da9ddf5f068f84fbe1b359aad459252d49feab34)), closes [#638](https://github.com/antvis/x6/issues/638) - - 🐛 `selection` 下批量拖动节点触发 `node:move` 的逻辑优化 ([#643](https://github.com/antvis/x6/issues/643)) ([586fc1f](https://github.com/antvis/x6/commit/586fc1f08fff85dcc1c6c8637aef529e8bccb169)) - -- 1.12.25 - - 删除代码中的打印语句 ([#642](https://github.com/antvis/x6/issues/642)) ([024c01f](https://github.com/antvis/x6/commit/024c01f000545c0c0b50259510fc886b3aa9815b)) - -- 1.12.23 - - 🐛 解决中英文混排长度计算问题 ([7f37319](https://github.com/antvis/x6/commit/7f373194d9a3722aab403319aa2a843a00a18825)), closes [#596](https://github.com/antvis/x6/issues/596) - -- 1.12.22 - - 🐛 `autoResize` 只有在 `flex` 的容器上初始化画布才有效 ([73c1e1d](https://github.com/antvis/x6/commit/73c1e1d869b098bd341ad1c6e969222980067053)) - -- 1.12.21 - - 🐛 解决关闭 `selection` 的 `movable` 配置也会触发框选节点的 `node:move` 事件 ([f651181](https://github.com/antvis/x6/commit/f65118150178df82ee795f4fc292f5ce91c78b6b)) - -- 1.12.20 - - 🐛 销毁画布之前清除节点 ([e211c1a](https://github.com/antvis/x6/commit/e211c1a0a1f79588b084a4de326fdd493e839def)), closes [#600](https://github.com/antvis/x6/issues/600) - -- 1.12.19 - - 🐛 修复内部的类型定义 ([6b446f8](https://github.com/antvis/x6/commit/6b446f80ba96dbbfbff7257012fc6f6f8aca49fd)) - -- 1.12.18 - - 🐛 解决边也会触发 `node:move` 事件问题 ([#593](https://github.com/antvis/x6/issues/593)) ([dac555e](https://github.com/antvis/x6/commit/dac555e5cf15fba6a5450ecdb335a2cd9145d339)) - -- 1.12.17 - - 🐛 执行 `setProp` 之前需要执行 `propHooks` ([0dfc09f](https://github.com/antvis/x6/commit/0dfc09f97ff4281aacb465ad74f1958930d30c8c)) - -- 1.12.16 - - 🐛 修复 html 节点注册无效问题 ([e0c9e97](https://github.com/antvis/x6/commit/e0c9e970723b8c7bd6a63127edf46be79a72d7c3)) - -- 1.12.15 - - 🐛 解决 IE11 下报错问题 ([#585](https://github.com/antvis/x6/issues/585)) ([8cb2f48](https://github.com/antvis/x6/commit/8cb2f489d2f913dd9fa80dab5c50e1fffe7f6939)) - -- 1.12.13 - - 🐛 解决 `registerHtmlComponent` 不支持注册 `render` 对象问题 ([c810821](https://github.com/antvis/x6/commit/c81082169763f4ca5432b44c94996674cd3599b1)) - -- 1.12.11 - - 🐛 在节点内部的 `input` 上键入 `delete` 或者 `backspace` 时,不会触发键盘事件 ([429ef9a](https://github.com/antvis/x6/commit/429ef9ad45a11a49072d169a0c89146640f7e21a)) - -- 1.12.10 - - 🐛 `stencil` 增加 `placeholder` 和 `notFoundText` 两个选项 ([#574](https://github.com/antvis/x6/issues/574)) ([c9100ab](https://github.com/antvis/x6/commit/c9100abb8576eaf55c5a9b0c5496f63c1796af5a)), closes [#555] - -- 1.12.9 - - 🐛 解决 `get graph of undefined` 报错问题 ([#573](https://github.com/antvis/x6/issues/573)) ([5aadc87](https://github.com/antvis/x6/commit/5aadc87467e61dbd33d385e94a94bee72e744f84)) - -- 1.12.4 - - 🐛 根据可交互能力修改节点鼠标悬浮样式 ([#566](https://github.com/antvis/x6/issues/566)) ([6a33149](https://github.com/antvis/x6/commit/6a3314959206c1299eb916c1dc10130d49ee7de8)), closes [#558](https://github.com/antvis/x6/issues/558) - -- 1.12.3 - - 🐛 增加 `hasTool` 和 `removeTool` 方法 ([#565](https://github.com/antvis/x6/issues/565)) ([f87dc43](https://github.com/antvis/x6/commit/f87dc43e439bfd13b7afe193db096bacd456bdcd)), closes [#552](https://github.com/antvis/x6/issues/552) - -- 1.12.0 - - ✨ 增加 `autoResize` 选项,是否自动根据容器大小自动更新画布大小 ([ff6e2b6](https://github.com/antvis/x6/commit/ff6e2b63bce78992cdb1892c84d7bf2ce6c2bbc3)), closes [#531](https://github.com/antvis/x6/issues/531) - -## 1.11.x - -- 1.11.1 - - 🐛 修改 `double-edge` 和 `shadow-edge` 模式鼠标悬浮样式为手型 ([b7d61b7](https://github.com/antvis/x6/commit/b7d61b75fbc24b36cfc384fdd9c6ed3baf2cf12a)) - -- 1.11.0 - - ✨ 平滑路由增加方向配置 ([deec3bc](https://github.com/antvis/x6/commit/deec3bc805c5af1d2d0fc81a25c0819a6072f99e)) - - 🐛 解决 `windows` 下页面第一次未聚焦情况下点击事件失效问题 ([2cb270e](https://github.com/antvis/x6/commit/2cb270e189361670b2479b4a9c9694b953bdb8ab)) - -## 1.10.x - -- 1.10.2 - - 🐛`model.startBatch` 方法之前触发 `batch:start` 事件 ([429f4e8](https://github.com/antvis/x6/commit/429f4e8b6a394dd10412fce4775af22af583cadc)) - -- 1.10.1 - - 🐛 在 `cell:changed` 之后修改选择框大小,解决 `size` 方法执行后选择框大小不变问题 ([#517](https://github.com/antvis/x6/issues/517)) ([c8234d5](https://github.com/antvis/x6/commit/c8234d5df1c7cb7910a93d5d7314c01c7b4023b0)) - -- 1.10.0 - - 🐛 `Node.define(...)` 支持 `overwrite` 配置 ([f47fe4c](https://github.com/antvis/x6/commit/f47fe4cdef2da7ac6bb188c3ae131dffc2192cdb)) - - 🐛 支持多个 `knobs` ([9fe76b9](https://github.com/antvis/x6/commit/9fe76b9c82c7e6040a4dcca00c417183a6fcb130)) - - ✨ 添加 `arcTo`, `quadTo`, `drawPoints` 方法 ([00e8fd0](https://github.com/antvis/x6/commit/00e8fd0ec06e442833dd3f6c7ce7c05aabc5b556)) - - ✨ 为 `knobs` 添加 `position` 钩子 ([3e2f315](https://github.com/antvis/x6/commit/3e2f3154a7635f1b94176d05e6780d4b79761037)) - - ✨ 为 `geometry` 增加 `rotate` 方法 ([90a5603](https://github.com/antvis/x6/commit/90a56037b16adff6fc3fbf50660eb95d3bd6bd2d)) - -## 1.9.x - -- 1.9.3 - - 🐛 `konb` 和 `transform` 的控制旋钮,在交互时只显示正在交互的旋钮 ([73bb1e1](https://github.com/antvis/x6/commit/73bb1e16e329853ae5a47c0a3725000a65efd6a3)) - - 🐛 `node` 改变时需要清除 `knob` ([bf83cd8](https://github.com/antvis/x6/commit/bf83cd8760e89358846e216bc2a41c305f8a17fb)) - -- 1.9.2 - - 🐛 `mousemove` 之后再触发 `node:resize` 和 `node:rotate` 事件 ([#505](https://github.com/antvis/x6/issues/505)) ([4156e57](https://github.com/antvis/x6/commit/4156e5712ec1940041e7b22863361a6e6ee820aa)) - -- 1.9.1 - - 🐛 事件队列在事件回调用被修改,应该先缓存起来 ([d29ea43](https://github.com/antvis/x6/commit/d29ea43ea6e2b24a0caa2e861849bc01f6b4ce79)) - -- 1.9.0 - - 🐛 需要在在画布容器中渲染 `html` 工具 ([ebb43a9](https://github.com/antvis/x6/commit/ebb43a9501be68196266db2ffab2cbde54b7bdb4)) - - ✨ 增加 `clientToGraph` 方法 ([1d55c62](https://github.com/antvis/x6/commit/1d55c62507d112d4a1f52e3ea6c4768017956fa0)) - - ✨ 支持调节手柄,如圆柱,通过调节手柄修改圆柱椭圆面的大小 ([6ae70b8](https://github.com/antvis/x6/commit/6ae70b809e85db4d537e9104830eef1328c16f7a)) - -## 1.8.x - -- 1.8.0 - - ✨ 支持 `html` 工具 ([97624f4](https://github.com/antvis/x6/commit/97624f4a9dfaacc551acd89c5557a2b301fe2d5e)) - -## 1.7.x - -- 1.7.12 - - 🐛 解决 `toPNG` 下载图片不完整问题 ([6dc50e9](https://github.com/antvis/x6/commit/6dc50e91d94fae0da2bc35a056e6410cb94d07be)) - -- 1.7.11 - - 🐛 自动计算 `ER` 路由的方向 ([9b9a727](https://github.com/antvis/x6/commit/9b9a727c9b168af80623be448d5ae389a21a72b0)) - -- 1.7.9 - - 🐛 修正节点和边的类型定义([d2742a4](https://github.com/antvis/x6/commit/d2742a4a8a473e60bc47fe099fd49c27e0c2d9ae)), closes [#478](https://github.com/antvis/x6/issues/478) - -- 1.7.8 - - 🐛 默认关闭代码追踪([bdb0db2](https://github.com/antvis/x6/commit/bdb0db2da8708d626ebd09b46da7d431102b79bf)) - -- 1.7.7 - - 🐛 解决 `html` 节点 `html` 属性设置为 dom 对象时不显示问题([afb4f0b](https://github.com/antvis/x6/commit/afb4f0b12bc28e353e5f2e4c41822cb0b77c6f8d)) - - 🐛 `interacting` 配置中每一个交互规则支持函数判断([2222ab6](https://github.com/antvis/x6/commit/2222ab683abea60e7208832e8ef856ce132c8cf0)) - -- 1.7.6 - - 🐛 解决在 `scroller` 模式下 `drawBackground` 导致背景消失问题([521f99a](https://github.com/antvis/x6/commit/521f99a2942ec42284fefaf63fba3ddf77a7da3a)), closes [#466](https://github.com/antvis/x6/issues/466) - - 🐛 恢复 `minmap` 的样式([6de2ac8](https://github.com/antvis/x6/commit/6de2ac895475eda529f72a8ae774ce42a1226655)) - -- 1.7.4 - - 🐛 `html` 节点支持自定义重新渲染方法([0020c78](https://github.com/antvis/x6/commit/0020c781c3bb4b4747220fe327ade7e926d52014)) - -- 1.7.1 - - 🐛 解决样式被覆盖问题([95c1329](https://github.com/antvis/x6/commit/95c132900b8881e12b73b9c7d5ab742c0154d472)) - - 🐛 修正 `shadow-edge` 的箭头([7acd9f2](https://github.com/antvis/x6/commit/7acd9f2897747a45dd442975bc326e71740eb09e)) - -- 1.7.0 - - ✨ 支持 `xml` 格式 `markup`([f16e7eb](https://github.com/antvis/x6/commit/f16e7eb38ca1f0dec71f51cd41b74341fc1a0f3d)) - - 🐛 text标签支持一些特殊属性([e1f9abf](https://github.com/antvis/x6/commit/e1f9abfffcdd723815311ebc58ef17761ad2a063)) - -## 1.6.x - -- 1.6.4 - - ⚡️ `rectangle` 中增加 `bounds` 属性([c4480af](https://github.com/antvis/x6/commit/c4480af4e45b9a90746f3aefa14a4d7332b08d6a)) - -- 1.6.3 - - 🐛 `ForeignObject` 的默认背景设置为透明([a386f94](https://github.com/antvis/x6/commit/a386f940eb18e718998b150d432242d8cfea5f8b)) - - 🐛 只添加 `SVG tool` 到 `ToolsView`, `HTML tools` 需要手动处理([5c7b7d6](https://github.com/antvis/x6/commit/5c7b7d646c90e20a28f273d268d83a16246bb9f2)) - -- 1.6.2 - - 🐛 修正开始箭头和结束箭头的位置([d637cf6](https://github.com/antvis/x6/commit/d637cf649e0b149acdf9dee12e6561e3b4f76b17)) - - 🐛 更新 `cell` 的时候需要删除 `tool` ([fac7e7a](https://github.com/antvis/x6/commit/fac7e7a4c853d75ea0ae37fcd7089bf20e56654b)) - - 🐛 拖动边的时候更新箭头([c9e7b5f](https://github.com/antvis/x6/commit/c9e7b5ffeb52e2fd609283d5f72b0d43ad368561)) - -- 1.6.0 - - ✨ 增加 `allowBlank`、`allowMulti`、`allowLoop`、`allowNode`、`allowEdge`、`allowPort` 六个连线规则([68f7965](https://github.com/antvis/x6/commit/68f7965699b36d6a46f25e6aba5d144fb086c9a0)) - -## 1.5.x - -- 1.5.2 - - 🐛 校正箭头位置([b21cac6](https://github.com/antvis/x6/commit/b21cac6968a548cad17c185a4219f24d135eaa8a)) - -- 1.5.1 - - 🐛 修复 dnd: 拖拽节点到画布,进行异步验证时,应该停止拖拽,并优化拖拽 DEMO,支持异步验证时 loading 效果([d418e07](https://github.com/antvis/x6/commit/d418e07ef404881400faf03943c8c9ff067e4598)) ([#429](https://github.com/antvis/x6/issues/429)) - -- 1.5.0 - - 🐛 调用 `sendToken` 方法时,返回停止动画的方法([21276b2](https://github.com/antvis/x6/commit/21276b2a0f396b8e8343f133fed9383142468f5d)),[文档](https://x6.antv.vision/zh/docs/tutorial/advanced/animation#%E5%BC%80%E5%A7%8B) - - ✨ 添加 `animate` 和 `animateTransform` 方法([b2ebf69](https://github.com/antvis/x6/commit/b2ebf69f2c311b1b8056179005d8fafd0a7eb8e9)),[文档](https://x6.antv.vision/zh/docs/api/view/cellview#animate) - - ⚡️ `transition` 方法添加一系列生命周期方法和事件([462abd0](https://github.com/antvis/x6/commit/462abd0aa06e28bbbabf96ffd0493af4a9af6e1a))([#419](https://github.com/antvis/x6/issues/419) [#420](https://github.com/antvis/x6/issues/420)),[文档](https://x6.antv.vision/zh/docs/api/model/cell#%E5%8A%A8%E7%94%BB-transition) - -## 1.4.x - -- 1.4.0 - - ✨ 增加循环连线 ([bfa3c67](https://github.com/antvis/x6/commit/bfa3c6743b42c22d64edfbf79f82913129a5a285)),[demo](https://github.com/antvis/X6/blob/master/examples/x6-example-features/src/pages/edge/loop.tsx) - -## 1.3.x - -- 1.3.20 - - 🐛 解决图片节点上设置宽高无效问题([15fd567](https://github.com/antvis/x6/commit/15fd5673e13825a94bd05ffb4f892645ee20e887)) ([#397](https://github.com/antvis/x6/issues/397)) - -- 1.3.14 - - 🐛 删除空格修饰键 ([a7258cd](https://github.com/antvis/x6/commit/a7258cd2db48ab63b6925101b8f98b38caa04929)) - -## 更早 - -更早的日志可以去 [Github](https://github.com/antvis/X6/blob/master/packages/x6/CHANGELOG.md) 查看 \ No newline at end of file diff --git a/sites/x6-sites/docs/tutorial/log.zh.md b/sites/x6-sites/docs/tutorial/log.zh.md deleted file mode 100644 index a6fd15e73cd..00000000000 --- a/sites/x6-sites/docs/tutorial/log.zh.md +++ /dev/null @@ -1,380 +0,0 @@ ---- -title: 更新日志 -order: 10 -redirect_from: - - /zh/docs - - /zh/docs/tutorial ---- - -## 1.27.x - -- 1.27.0 - - ✨ `stencil` 中增加 `resizeGroup` 方法 ([#1388](https://github.com/antvis/x6/issues/1388)) ([4baba33](https://github.com/antvis/x6/commit/4baba3326bc9ecbbd9c272fcfa4ee3d3c0389db3)) - - 🐛 修复移动端旋转节点报错问题 ([#1387](https://github.com/antvis/x6/issues/1387)) ([ba4aedc](https://github.com/antvis/x6/commit/ba4aedc49793fa681cd73a4790ab4dc34e3cf936)) -## 1.26.x - -- 1.26.3 - - 🐛 修复节点粘贴位置偏移问题 ([#1350](https://github.com/antvis/x6/issues/1350)) ([016303c](https://github.com/antvis/x6/commit/016303c936ccbc23e7bbb80c8461e4ba9fe8d14f)) - - `segments & vertices` 工具增加 `onChanged` 回调参数 ([#1348](https://github.com/antvis/x6/issues/1348)) ([502856c](https://github.com/antvis/x6/commit/502856c3b89a4613859c7152ec212253ec7919d8)) - -- 1.26.1 - - 🐛 解决批量移动选中节点不触发 `node:moved` 事件问题 ([#1305](https://github.com/antvis/x6/issues/1305)) ([6a3f96d](https://github.com/antvis/x6/commit/6a3f96d3b5754def401084e023dad466c013cc49)) -## 1.25.x - -- 1.25.4 - * 🐛 `cell clone` 方法中增加 `keepId` 配置 ([#1254](https://github.com/antvis/x6/issues/1254)) ([7c51152](https://github.com/antvis/x6/commit/7c51152f03998c26b740eec640961193c29ebd34)) - -- 1.25.1 - - 🐛 `prop` 方法优化 ([#1225](https://github.com/antvis/x6/issues/1225)) ([ba2350d](https://github.com/antvis/x6/commit/ba2350dcc930a9a4ab350862db67a5415fe41cfd)) - - 🐛 `stencil` 的搜索逻辑修改为对大小写敏感 ([#1211](https://github.com/antvis/x6/issues/1211)) ([c28289c](https://github.com/antvis/x6/commit/c28289c3c9f0552b14c81999542374649271e495)) - -- 1.25.0 - - ✨ 内置 `cell-editor` 工具 ([#1202](https://github.com/antvis/x6/issues/1202)) ([2286097](https://github.com/antvis/x6/commit/228609783e1b3a3ff579ce9d38cf2e70dacd4931)) - - 🐛 `scaleContentToFit` 的 `padding` 配置支持四个方向 ([#1203](https://github.com/antvis/x6/issues/1203)) ([692ea04](https://github.com/antvis/x6/commit/692ea043854095535273e7a9ff2e4f8809faee81)) -## 1.24.x - -- 1.24.8 - * 🐛 框选超出画布时开启画布自动滚动 ([#1197](https://github.com/antvis/x6/issues/1197)) ([ffc801b](https://github.com/antvis/x6/commit/ffc801b9550fd55a03a2642051a84ef586d88ee7)) - -- 1.24.5 - - 🐛 统一scroller画布和普通画布的 `panning api` ([#1151](https://github.com/antvis/x6/issues/1151)) ([fc78817](https://github.com/antvis/x6/commit/fc7881731bfc5c7cde698ca8948dfa0c40f891fc)) - -- 1.24.4 - - 🐛 增加 `toolsAddable` 配置 ([#1124](https://github.com/antvis/x6/issues/1124)) ([5dde09c](https://github.com/antvis/x6/commit/5dde09c4fc99e395947d8839adb67ab6c20abbe7)) - -- 1.24.2 - - 🐛 新建连线的时候如果超出画布自动滚动画布 ([#1121](https://github.com/antvis/x6/issues/1121)) ([fde89fc](https://github.com/antvis/x6/commit/fde89fcf14e4dec9d9bf15489290cc145c29e400)) - -- 1.24.0 - - ✨ 解决群组中多个选中节点平移相互影响问题 ([#1115](https://github.com/antvis/x6/issues/1115)) ([41fe23b](https://github.com/antvis/x6/commit/41fe23b6b959782487c0db03215fcfcf5c821b87)) -## 1.23.x - -- 1.23.13 - - 🐛 画布在聚焦后取消自动滚动 ([#1116](https://github.com/antvis/x6/issues/1116)) ([9b66853](https://github.com/antvis/x6/commit/9b66853e143825de669fa5c97e1540971e835bed)) - -- 1.23.10 - - 🐛 修复 `node:move` 事件的触发机制 ([cca97ff](https://github.com/antvis/x6/commit/cca97ff1ed44a45ca6ef0acf9b2c2d38070cb4cb)) - - 🐛 修复 `embedded` 事件的触发机制 ([a922aa4](https://github.com/antvis/x6/commit/a922aa42b6a726fd7daf45d283d5b4a9c792e4a8)) - - 🐛 优化 `cell.remove` 方法 ([c6fd5da](https://github.com/antvis/x6/commit/c6fd5da9e5b8b89b3eff13f1026da0298ac397e9)) - -- 1.23.8 - - 🐛 `mousedown` 事件中不取消选中效果 ([d6195a7](https://github.com/antvis/x6/commit/d6195a74f3765d65fcdf42dd0de7739fb8867f75)) - -- 1.23.5 - - 🐛 修复画布背景图片不自动缩放问题 [#1070](https://github.com/antvis/x6/issues/1070) ([#1072](https://github.com/antvis/x6/issues/1072)) ([ada59be](https://github.com/antvis/x6/commit/ada59be847cb139040c8ee8b68603756194201cd)) - -- 1.23.3 - - 🐛 修复 scroller 画布在 `autoResize` 为 false 下内容区域尺寸不固定问题 ([1a77b44](https://github.com/antvis/x6/commit/1a77b4464c6397c407d848adb17f8aa90131d63d)) - -- 1.23.2 - - 🐛 优化 `addTools` 参数 ([9fb3a51](https://github.com/antvis/x6/commit/9fb3a514c2d34dee61d1ee5acd68416ae5bd5cfa)) - -- 1.23.0 - - ✨ 在普通画布中支持 `minimap` ([3ce87d9](https://github.com/antvis/x6/commit/3ce87d91a952e9b8bf61988cba1cc8cedd39b942)) -## 1.22.x - -- 1.22.1 - - 🐛 兼容 firefox 下文本 `bbox` 计算误差 ([328eb7e](https://github.com/antvis/x6/commit/328eb7e980fae6091ca94ce20f867f3694788446)) - -- 1.22.0 - - ✨ `scroller` 画布支持右键平移 ([2ceca37](https://github.com/antvis/x6/commit/2ceca3724e792dc0247398bf8790909597c50f31)) -## 1.21.x - -- 1.21.1 - - 🐛 节点属性中支持 `css` 变量 ([c4dde7e](https://github.com/antvis/x6/commit/c4dde7e498c5b892a181e86d9908519bc0e2c200)) - -- 1.21.0 - - ✨ `selecting` 中增加 `rubberNode` 和 `rubberEdge` 配置 ([#949](https://github.com/antvis/x6/issues/949)) ([b715463](https://github.com/antvis/x6/commit/b71546332a91f7a894f453c691efee006fdf4ad0)) -## 1.20.x - -- 1.20.0 - - ✨ `panning` 支持右键和触摸板 ([3694cc0](https://github.com/antvis/x6/commit/3694cc080ca5d2a291ba6b2df8c25933bb39b80a)) - - 🐛 重构 `mousewheel` 的实现 ([a2851cd](https://github.com/antvis/x6/commit/a2851cd862c9224bb66a8f9bda3e0035259fd940)) -## 1.19.x - -- 1.19.6 - - 🐛 `validateEdge` 修改成同步调用 ([57a6f2b](https://github.com/antvis/x6/commit/57a6f2be0685c91dced5208103051ad30742e87f)) - -- 1.19.4 - - ⚡️ 优化 `marker` 的渲染性能 ([6e90b6b](https://github.com/antvis/x6/commit/6e90b6b308a854dad97acf7c0577900731c08d9d)) - - ⚡️ 优化节点渲染性能 ([433d25f](https://github.com/antvis/x6/commit/433d25ff4a8cb6bab662f1a2317f59c1d41aa7bd)) - - ⚡️ 减少 `sortViews` 过程中的 dom 操作 ([79800b8](https://github.com/antvis/x6/commit/79800b8c4c007513bfd57abee2c7066fdfdc678e)) - -- 1.19.0 - - ✨ 优化 scroller 画布性能 ([#909](https://github.com/antvis/x6/issues/909)) ([1346223](https://github.com/antvis/x6/commit/134622397cab7312cb8e9cfc3f78901008a7b49f)) - - ✨ 优化 `keyboard target` 聚焦时机以提高拖拽性能 ([f3c04ca](https://github.com/antvis/x6/commit/f3c04ca02945d14e7912a963a11fe89908e1a4c8)) - -## 1.18.x - -- 1.18.5 - - 🐛 修复 `setProp` 方法会修改节点 ID 问题 ([44be23e](https://github.com/antvis/x6/commit/44be23ed5500a3b219ee4774990e8caee58269c3)) - -- 1.18.4 - - 🐛 连接桩不能被连接时鼠标为默认状态 ([2a1aa21](https://github.com/antvis/x6/commit/2a1aa2167e73f0bf2992bf2ef264c0401025a3f3)) - - 🐛 npm 包中加入 src 目录源码 ([d2901a8](https://github.com/antvis/x6/commit/d2901a86a065dd5b6537fdf6d7a1249ed4e10a1e)) - -- 1.18.3 - - 🐛 优化滚轮缩放因子计算方式 ([#855](https://github.com/antvis/x6/issues/855)) ([8a3ecce](https://github.com/antvis/x6/commit/8a3eccec6856a8ff7bfb4464dfed43a0c27097a4)) - -- 1.18.0 - - 🐛 修复画布坐标错乱问题 ([319f30f](https://github.com/antvis/x6/commit/319f30f5e68587623d85a2759142feaf37ac46fc)) - -## 1.17.x - -- 1.17.7 - * 🐛 解决 `eslint` 报错 ([06ba121](https://github.com/antvis/x6/commit/06ba121e3b937c5aeebbbe2b24e6db67fc141cb9)) - * 🐛 解决测试用例运行失败问题 ([f7ae6b1](https://github.com/antvis/x6/commit/f7ae6b1f6b961a01c58d8827a9aaa2d5a984a6e0)) - -- 1.17.6 - - 🐛 解决 `model:updated model:reseted model:sort` 触发两次问题 ([#789](https://github.com/antvis/x6/issues/789)) ([5520bc3](https://github.com/antvis/x6/commit/5520bc38ab4106287e6591c73aff8c6f96f675da)) - -- 1.17.5 - - 🐛 增加 `unembed` 的限制条件 ([2f797fd](https://github.com/antvis/x6/commit/2f797fd13754e3068f321800d1973a0ad3612d4d)) - -- 1.17.4 - - 🐛 解决 `async` 模式下开启小地图页面无响应问题 ([474d93c](https://github.com/antvis/x6/commit/474d93c9bc54cb469d75b72e6cd956c9671afcd2)) - -- 1.17.3 - - 🐛 解决添加工具失效问题 ([191eab3](https://github.com/antvis/x6/commit/191eab3d02bdea32755009d865a2929a131cb9e2)) - -- 1.17.2 - - 🐛 解决 `removeTool` 后工具不刷新问题 ([9d15243](https://github.com/antvis/x6/commit/9d152433ee4050bf2311c140d74dd805cae519ba)) - -- 1.17.1 - - 🐛 增加 `ToJSONData` 类型 ([f5ffbe2](https://github.com/antvis/x6/commit/f5ffbe2ffa50cb9585ee241aa1f37d5c069e97e5)) - - -- 1.17.0 - - 🐛 画布销毁后保证清除全部 css 资源 ([81fa537](https://github.com/antvis/x6/commit/81fa537282ce5cd65c2fb585b8a7649087490313)) - - ✨ 支持开启和关闭 `autoResize` 配置 ([dd6681b](https://github.com/antvis/x6/commit/dd6681b53739bf48fa0a97166e16ada4a2c16896)) - -## 1.16.x - -- 1.16.0 - - ✨ `node-anchor midSide` 上增加 `direction` 配置 ([b235c11](https://github.com/antvis/x6/commit/b235c1106b4041f257d4f0db5f30198e5c41c90d)) - -## 1.15.x - -- 1.15.0 - - ✨ `resizing` 中增加 `allowReverse` 配置 ([a597a75](https://github.com/antvis/x6/commit/a597a759c0a0b83f53e99e530d1970f46faf3dd2)) - -## 1.14.x - -- 1.14.0 - - ✨ `Dnd` 中增加 `containerParent` 配置 ([58fb4fd](https://github.com/antvis/x6/commit/58fb4fdd6a51c672e5a473773874081fe548fe0a)) - -## 1.13.x - -- 1.13.4 - - 🐛 解决同时开启 `scroller` 和 `autoResize` 后画布一直缩小问题 ([faf3e4f](https://github.com/antvis/x6/commit/faf3e4f0b015650b04f33d7ad914c116962f317e)) - -- 1.13.3 - - 🐛 解决滚轮滚动多次后位置不正确问题 ([1077a31](https://github.com/antvis/x6/commit/1077a3196219ecadbf1ecffac31d843d542f91fb)) - -- 1.13.2 - - 🐛 增加 `special` 事件的兼容性判断 ([2732b12](https://github.com/antvis/x6/commit/2732b12b4fe9cf7e381239333497c10ca2b8e7d0)) - - ⚡️ 缓存容器尺寸,避免多次计算导致性能问题 ([83483e9](https://github.com/antvis/x6/commit/83483e9d2af65ce2397770d35e8a7b799af8972a)) - -- 1.13.0 - - ✨ `selection` 中增加 `following` 配置 ([#687](https://github.com/antvis/x6/issues/687)) ([5b52433](https://github.com/antvis/x6/commit/5b52433709089280320cc6b13e6442f31c1dcf30)) - -## 1.12.x - -- 1.12.32 - - 🐛 解决无法触发键盘事件问题 ([4ea5f31](https://github.com/antvis/x6/commit/4ea5f3194e80125a68e25e71920526f5b6c86150)) - -- 1.12.31 - - 🐛 解决拼写错误 ([2f33b99](https://github.com/antvis/x6/commit/2f33b99cae8559d3d98204fe427c1ad18ce94ac0)) - -- 1.12.30 - - 🐛 在 css 中将 `foreignobject` 修改为 `foreignObject`来兼容 firefox ([#664](https://github.com/antvis/x6/issues/664)) ([2fa99f0](https://github.com/antvis/x6/commit/2fa99f05a8692bef1e9a4c241db399cee258fbb6)) - -- 1.12.28 - - 🐛 优化自动扩展画布的逻辑 ([fcb5f11](https://github.com/antvis/x6/commit/fcb5f11195c9e0418091ad55bb684294b189979e)), closes [#644](https://github.com/antvis/x6/issues/644) [#564](https://github.com/antvis/x6/issues/564) - -- 1.12.27 - - 🐛 在撤销重做过程中不会插入新的命令 ([1696f51](https://github.com/antvis/x6/commit/1696f519056a2cd57189b19532a758b24af3fe2a)), closes [#627](https://github.com/antvis/x6/issues/627) - * 🐛 使用 `prop` 修改 `parent` 或者 `children` 时,需要修改节点之间引用 ([f258522](https://github.com/antvis/x6/commit/f2585224689f4deb980d14f0e1f1a0c247bdcedc)) - -- 1.12.26 - - 🐛 Edge 的 `vertices` 支持 `[[100, 100], [20, 20]]` 这种结构数据 ([c7b0f0d](https://github.com/antvis/x6/commit/c7b0f0d811bbceb30365b683f69124ddf9d96008)) - - 🐛 解决边上渐变色问题 ([39619d3](https://github.com/antvis/x6/commit/39619d3baaab1af79cb0d2ecc08bb8859ef44065)), closes [#635](https://github.com/antvis/x6/issues/635) - - 🐛 `vertices` 在最低层级渲染 ([da9ddf5](https://github.com/antvis/x6/commit/da9ddf5f068f84fbe1b359aad459252d49feab34)), closes [#638](https://github.com/antvis/x6/issues/638) - - 🐛 `selection` 下批量拖动节点触发 `node:move` 的逻辑优化 ([#643](https://github.com/antvis/x6/issues/643)) ([586fc1f](https://github.com/antvis/x6/commit/586fc1f08fff85dcc1c6c8637aef529e8bccb169)) - -- 1.12.25 - - 删除代码中的打印语句 ([#642](https://github.com/antvis/x6/issues/642)) ([024c01f](https://github.com/antvis/x6/commit/024c01f000545c0c0b50259510fc886b3aa9815b)) - -- 1.12.23 - - 🐛 解决中英文混排长度计算问题 ([7f37319](https://github.com/antvis/x6/commit/7f373194d9a3722aab403319aa2a843a00a18825)), closes [#596](https://github.com/antvis/x6/issues/596) - -- 1.12.22 - - 🐛 `autoResize` 只有在 `flex` 的容器上初始化画布才有效 ([73c1e1d](https://github.com/antvis/x6/commit/73c1e1d869b098bd341ad1c6e969222980067053)) - -- 1.12.21 - - 🐛 解决关闭 `selection` 的 `movable` 配置也会触发框选节点的 `node:move` 事件 ([f651181](https://github.com/antvis/x6/commit/f65118150178df82ee795f4fc292f5ce91c78b6b)) - -- 1.12.20 - - 🐛 销毁画布之前清除节点 ([e211c1a](https://github.com/antvis/x6/commit/e211c1a0a1f79588b084a4de326fdd493e839def)), closes [#600](https://github.com/antvis/x6/issues/600) - -- 1.12.19 - - 🐛 修复内部的类型定义 ([6b446f8](https://github.com/antvis/x6/commit/6b446f80ba96dbbfbff7257012fc6f6f8aca49fd)) - -- 1.12.18 - - 🐛 解决边也会触发 `node:move` 事件问题 ([#593](https://github.com/antvis/x6/issues/593)) ([dac555e](https://github.com/antvis/x6/commit/dac555e5cf15fba6a5450ecdb335a2cd9145d339)) - -- 1.12.17 - - 🐛 执行 `setProp` 之前需要执行 `propHooks` ([0dfc09f](https://github.com/antvis/x6/commit/0dfc09f97ff4281aacb465ad74f1958930d30c8c)) - -- 1.12.16 - - 🐛 修复 html 节点注册无效问题 ([e0c9e97](https://github.com/antvis/x6/commit/e0c9e970723b8c7bd6a63127edf46be79a72d7c3)) - -- 1.12.15 - - 🐛 解决 IE11 下报错问题 ([#585](https://github.com/antvis/x6/issues/585)) ([8cb2f48](https://github.com/antvis/x6/commit/8cb2f489d2f913dd9fa80dab5c50e1fffe7f6939)) - -- 1.12.13 - - 🐛 解决 `registerHtmlComponent` 不支持注册 `render` 对象问题 ([c810821](https://github.com/antvis/x6/commit/c81082169763f4ca5432b44c94996674cd3599b1)) - -- 1.12.11 - - 🐛 在节点内部的 `input` 上键入 `delete` 或者 `backspace` 时,不会触发键盘事件 ([429ef9a](https://github.com/antvis/x6/commit/429ef9ad45a11a49072d169a0c89146640f7e21a)) - -- 1.12.10 - - 🐛 `stencil` 增加 `placeholder` 和 `notFoundText` 两个选项 ([#574](https://github.com/antvis/x6/issues/574)) ([c9100ab](https://github.com/antvis/x6/commit/c9100abb8576eaf55c5a9b0c5496f63c1796af5a)), closes [#555] - -- 1.12.9 - - 🐛 解决 `get graph of undefined` 报错问题 ([#573](https://github.com/antvis/x6/issues/573)) ([5aadc87](https://github.com/antvis/x6/commit/5aadc87467e61dbd33d385e94a94bee72e744f84)) - -- 1.12.4 - - 🐛 根据可交互能力修改节点鼠标悬浮样式 ([#566](https://github.com/antvis/x6/issues/566)) ([6a33149](https://github.com/antvis/x6/commit/6a3314959206c1299eb916c1dc10130d49ee7de8)), closes [#558](https://github.com/antvis/x6/issues/558) - -- 1.12.3 - - 🐛 增加 `hasTool` 和 `removeTool` 方法 ([#565](https://github.com/antvis/x6/issues/565)) ([f87dc43](https://github.com/antvis/x6/commit/f87dc43e439bfd13b7afe193db096bacd456bdcd)), closes [#552](https://github.com/antvis/x6/issues/552) - -- 1.12.0 - - ✨ 增加 `autoResize` 选项,是否自动根据容器大小自动更新画布大小 ([ff6e2b6](https://github.com/antvis/x6/commit/ff6e2b63bce78992cdb1892c84d7bf2ce6c2bbc3)), closes [#531](https://github.com/antvis/x6/issues/531) - -## 1.11.x - -- 1.11.1 - - 🐛 修改 `double-edge` 和 `shadow-edge` 模式鼠标悬浮样式为手型 ([b7d61b7](https://github.com/antvis/x6/commit/b7d61b75fbc24b36cfc384fdd9c6ed3baf2cf12a)) - -- 1.11.0 - - ✨ 平滑路由增加方向配置 ([deec3bc](https://github.com/antvis/x6/commit/deec3bc805c5af1d2d0fc81a25c0819a6072f99e)) - - 🐛 解决 `windows` 下页面第一次未聚焦情况下点击事件失效问题 ([2cb270e](https://github.com/antvis/x6/commit/2cb270e189361670b2479b4a9c9694b953bdb8ab)) - -## 1.10.x - -- 1.10.2 - - 🐛`model.startBatch` 方法之前触发 `batch:start` 事件 ([429f4e8](https://github.com/antvis/x6/commit/429f4e8b6a394dd10412fce4775af22af583cadc)) - -- 1.10.1 - - 🐛 在 `cell:changed` 之后修改选择框大小,解决 `size` 方法执行后选择框大小不变问题 ([#517](https://github.com/antvis/x6/issues/517)) ([c8234d5](https://github.com/antvis/x6/commit/c8234d5df1c7cb7910a93d5d7314c01c7b4023b0)) - -- 1.10.0 - - 🐛 `Node.define(...)` 支持 `overwrite` 配置 ([f47fe4c](https://github.com/antvis/x6/commit/f47fe4cdef2da7ac6bb188c3ae131dffc2192cdb)) - - 🐛 支持多个 `knobs` ([9fe76b9](https://github.com/antvis/x6/commit/9fe76b9c82c7e6040a4dcca00c417183a6fcb130)) - - ✨ 添加 `arcTo`, `quadTo`, `drawPoints` 方法 ([00e8fd0](https://github.com/antvis/x6/commit/00e8fd0ec06e442833dd3f6c7ce7c05aabc5b556)) - - ✨ 为 `knobs` 添加 `position` 钩子 ([3e2f315](https://github.com/antvis/x6/commit/3e2f3154a7635f1b94176d05e6780d4b79761037)) - - ✨ 为 `geometry` 增加 `rotate` 方法 ([90a5603](https://github.com/antvis/x6/commit/90a56037b16adff6fc3fbf50660eb95d3bd6bd2d)) - -## 1.9.x - -- 1.9.3 - - 🐛 `konb` 和 `transform` 的控制旋钮,在交互时只显示正在交互的旋钮 ([73bb1e1](https://github.com/antvis/x6/commit/73bb1e16e329853ae5a47c0a3725000a65efd6a3)) - - 🐛 `node` 改变时需要清除 `knob` ([bf83cd8](https://github.com/antvis/x6/commit/bf83cd8760e89358846e216bc2a41c305f8a17fb)) - -- 1.9.2 - - 🐛 `mousemove` 之后再触发 `node:resize` 和 `node:rotate` 事件 ([#505](https://github.com/antvis/x6/issues/505)) ([4156e57](https://github.com/antvis/x6/commit/4156e5712ec1940041e7b22863361a6e6ee820aa)) - -- 1.9.1 - - 🐛 事件队列在事件回调用被修改,应该先缓存起来 ([d29ea43](https://github.com/antvis/x6/commit/d29ea43ea6e2b24a0caa2e861849bc01f6b4ce79)) - -- 1.9.0 - - 🐛 需要在在画布容器中渲染 `html` 工具 ([ebb43a9](https://github.com/antvis/x6/commit/ebb43a9501be68196266db2ffab2cbde54b7bdb4)) - - ✨ 增加 `clientToGraph` 方法 ([1d55c62](https://github.com/antvis/x6/commit/1d55c62507d112d4a1f52e3ea6c4768017956fa0)) - - ✨ 支持调节手柄,如圆柱,通过调节手柄修改圆柱椭圆面的大小 ([6ae70b8](https://github.com/antvis/x6/commit/6ae70b809e85db4d537e9104830eef1328c16f7a)) - -## 1.8.x - -- 1.8.0 - - ✨ 支持 `html` 工具 ([97624f4](https://github.com/antvis/x6/commit/97624f4a9dfaacc551acd89c5557a2b301fe2d5e)) - -## 1.7.x - -- 1.7.12 - - 🐛 解决 `toPNG` 下载图片不完整问题 ([6dc50e9](https://github.com/antvis/x6/commit/6dc50e91d94fae0da2bc35a056e6410cb94d07be)) - -- 1.7.11 - - 🐛 自动计算 `ER` 路由的方向 ([9b9a727](https://github.com/antvis/x6/commit/9b9a727c9b168af80623be448d5ae389a21a72b0)) - -- 1.7.9 - - 🐛 修正节点和边的类型定义([d2742a4](https://github.com/antvis/x6/commit/d2742a4a8a473e60bc47fe099fd49c27e0c2d9ae)), closes [#478](https://github.com/antvis/x6/issues/478) - -- 1.7.8 - - 🐛 默认关闭代码追踪([bdb0db2](https://github.com/antvis/x6/commit/bdb0db2da8708d626ebd09b46da7d431102b79bf)) - -- 1.7.7 - - 🐛 解决 `html` 节点 `html` 属性设置为 dom 对象时不显示问题([afb4f0b](https://github.com/antvis/x6/commit/afb4f0b12bc28e353e5f2e4c41822cb0b77c6f8d)) - - 🐛 `interacting` 配置中每一个交互规则支持函数判断([2222ab6](https://github.com/antvis/x6/commit/2222ab683abea60e7208832e8ef856ce132c8cf0)) - -- 1.7.6 - - 🐛 解决在 `scroller` 模式下 `drawBackground` 导致背景消失问题([521f99a](https://github.com/antvis/x6/commit/521f99a2942ec42284fefaf63fba3ddf77a7da3a)), closes [#466](https://github.com/antvis/x6/issues/466) - - 🐛 恢复 `minmap` 的样式([6de2ac8](https://github.com/antvis/x6/commit/6de2ac895475eda529f72a8ae774ce42a1226655)) - -- 1.7.4 - - 🐛 `html` 节点支持自定义重新渲染方法([0020c78](https://github.com/antvis/x6/commit/0020c781c3bb4b4747220fe327ade7e926d52014)) - -- 1.7.1 - - 🐛 解决样式被覆盖问题([95c1329](https://github.com/antvis/x6/commit/95c132900b8881e12b73b9c7d5ab742c0154d472)) - - 🐛 修正 `shadow-edge` 的箭头([7acd9f2](https://github.com/antvis/x6/commit/7acd9f2897747a45dd442975bc326e71740eb09e)) - -- 1.7.0 - - ✨ 支持 `xml` 格式 `markup`([f16e7eb](https://github.com/antvis/x6/commit/f16e7eb38ca1f0dec71f51cd41b74341fc1a0f3d)) - - 🐛 text标签支持一些特殊属性([e1f9abf](https://github.com/antvis/x6/commit/e1f9abfffcdd723815311ebc58ef17761ad2a063)) - -## 1.6.x - -- 1.6.4 - - ⚡️ `rectangle` 中增加 `bounds` 属性([c4480af](https://github.com/antvis/x6/commit/c4480af4e45b9a90746f3aefa14a4d7332b08d6a)) - -- 1.6.3 - - 🐛 `ForeignObject` 的默认背景设置为透明([a386f94](https://github.com/antvis/x6/commit/a386f940eb18e718998b150d432242d8cfea5f8b)) - - 🐛 只添加 `SVG tool` 到 `ToolsView`, `HTML tools` 需要手动处理([5c7b7d6](https://github.com/antvis/x6/commit/5c7b7d646c90e20a28f273d268d83a16246bb9f2)) - -- 1.6.2 - - 🐛 修正开始箭头和结束箭头的位置([d637cf6](https://github.com/antvis/x6/commit/d637cf649e0b149acdf9dee12e6561e3b4f76b17)) - - 🐛 更新 `cell` 的时候需要删除 `tool` ([fac7e7a](https://github.com/antvis/x6/commit/fac7e7a4c853d75ea0ae37fcd7089bf20e56654b)) - - 🐛 拖动边的时候更新箭头([c9e7b5f](https://github.com/antvis/x6/commit/c9e7b5ffeb52e2fd609283d5f72b0d43ad368561)) - -- 1.6.0 - - ✨ 增加 `allowBlank`、`allowMulti`、`allowLoop`、`allowNode`、`allowEdge`、`allowPort` 六个连线规则([68f7965](https://github.com/antvis/x6/commit/68f7965699b36d6a46f25e6aba5d144fb086c9a0)) - -## 1.5.x - -- 1.5.2 - - 🐛 校正箭头位置([b21cac6](https://github.com/antvis/x6/commit/b21cac6968a548cad17c185a4219f24d135eaa8a)) - -- 1.5.1 - - 🐛 修复 dnd: 拖拽节点到画布,进行异步验证时,应该停止拖拽,并优化拖拽 DEMO,支持异步验证时 loading 效果([d418e07](https://github.com/antvis/x6/commit/d418e07ef404881400faf03943c8c9ff067e4598)) ([#429](https://github.com/antvis/x6/issues/429)) - -- 1.5.0 - - 🐛 调用 `sendToken` 方法时,返回停止动画的方法([21276b2](https://github.com/antvis/x6/commit/21276b2a0f396b8e8343f133fed9383142468f5d)),[文档](https://x6.antv.vision/zh/docs/tutorial/advanced/animation#%E5%BC%80%E5%A7%8B) - - ✨ 添加 `animate` 和 `animateTransform` 方法([b2ebf69](https://github.com/antvis/x6/commit/b2ebf69f2c311b1b8056179005d8fafd0a7eb8e9)),[文档](https://x6.antv.vision/zh/docs/api/view/cellview#animate) - - ⚡️ `transition` 方法添加一系列生命周期方法和事件([462abd0](https://github.com/antvis/x6/commit/462abd0aa06e28bbbabf96ffd0493af4a9af6e1a))([#419](https://github.com/antvis/x6/issues/419) [#420](https://github.com/antvis/x6/issues/420)),[文档](https://x6.antv.vision/zh/docs/api/model/cell#%E5%8A%A8%E7%94%BB-transition) - -## 1.4.x - -- 1.4.0 - - ✨ 增加循环连线 ([bfa3c67](https://github.com/antvis/x6/commit/bfa3c6743b42c22d64edfbf79f82913129a5a285)),[demo](https://github.com/antvis/X6/blob/master/examples/x6-example-features/src/pages/edge/loop.tsx) - -## 1.3.x - -- 1.3.20 - - 🐛 解决图片节点上设置宽高无效问题([15fd567](https://github.com/antvis/x6/commit/15fd5673e13825a94bd05ffb4f892645ee20e887)) ([#397](https://github.com/antvis/x6/issues/397)) - -- 1.3.14 - - 🐛 删除空格修饰键 ([a7258cd](https://github.com/antvis/x6/commit/a7258cd2db48ab63b6925101b8f98b38caa04929)) - -## 更早 - -更早的日志可以去 [Github](https://github.com/antvis/X6/blob/master/packages/x6/CHANGELOG.md) 查看 \ No newline at end of file diff --git a/sites/x6-sites/examples/edge/tool/demo/tooltip.tsx b/sites/x6-sites/examples/edge/tool/demo/tooltip.tsx index 026b17bcb54..b098cc360a6 100644 --- a/sites/x6-sites/examples/edge/tool/demo/tooltip.tsx +++ b/sites/x6-sites/examples/edge/tool/demo/tooltip.tsx @@ -15,18 +15,20 @@ class TooltipTool extends ToolsView.ToolItem { } private toggleTooltip(visible: boolean) { - ReactDom.unmountComponentAtNode(this.knob) - if (visible) { - ReactDom.render( - -
- , - this.knob, - ) + if (this.knob) { + ReactDom.unmountComponentAtNode(this.knob) + if (visible) { + ReactDom.render( + +
+ , + this.knob, + ) + } } } @@ -67,6 +69,7 @@ class TooltipTool extends ToolsView.ToolItem { } protected onRemove() { + this.toggleTooltip(false) this.cellView.off('cell:mouseenter', this.onMosueEnter, this) this.cellView.off('cell:mouseleave', this.onMouseLeave, this) this.cellView.off('cell:mousemove', this.onMouseMove, this) diff --git a/sites/x6-sites/examples/node/custom-node/demo/custom-with-svg.ts b/sites/x6-sites/examples/node/custom-node/demo/custom-with-svg.ts index 22180c4aec3..60bebcdba61 100644 --- a/sites/x6-sites/examples/node/custom-node/demo/custom-with-svg.ts +++ b/sites/x6-sites/examples/node/custom-node/demo/custom-with-svg.ts @@ -10,6 +10,8 @@ Graph.registerNode( stroke: '#5F95FF', strokeWidth: 1, fill: 'rgba(95,149,255,0.05)', + refWidth: 1, + refHeight: 1, }, image: { 'xlink:href': @@ -59,7 +61,7 @@ Graph.registerNode( ) const graph = new Graph({ - container: document.getElementById('container'), + container: document.getElementById('container')!, grid: true, }) diff --git a/sites/x6-sites/examples/node/group/demo/collapsable.ts b/sites/x6-sites/examples/node/group/demo/collapsable.ts index c508fbeef0a..50797807fc1 100644 --- a/sites/x6-sites/examples/node/group/demo/collapsable.ts +++ b/sites/x6-sites/examples/node/group/demo/collapsable.ts @@ -88,7 +88,7 @@ Group.config({ stroke: '#808080', }, label: { - fontSzie: 12, + fontSize: 12, fill: '#fff', refX: 32, refY: 10, diff --git a/sites/x6-sites/gatsby-config.js b/sites/x6-sites/gatsby-config.js index 2e5b70444cc..ce5d76075ec 100644 --- a/sites/x6-sites/gatsby-config.js +++ b/sites/x6-sites/gatsby-config.js @@ -97,6 +97,22 @@ module.exports = { }, order: 2, }, + { + slug: 'https://www.yuque.com/antv/x6/be9pfx', + title: { + zh: '常见问题', + en: 'Q&A', + }, + order: 3, + }, + { + slug: 'https://www.yuque.com/antv/x6/xgb04i', + title: { + zh: '更新日志', + en: 'Change Log', + }, + order: 4, + }, ], docs: [ { diff --git a/sites/x6-sites/package.json b/sites/x6-sites/package.json index 3321f015f5b..b47b7a89900 100644 --- a/sites/x6-sites/package.json +++ b/sites/x6-sites/package.json @@ -18,9 +18,9 @@ "@antv/gatsby-theme-antv": "^1.1.13", "@antv/hierarchy": "^0.6.6", "@antv/layout": "^0.1.9", - "@antv/x6": "^1.30.2", - "@antv/x6-react-components": "^1.1.16", - "@antv/x6-react-shape": "^1.6.0", + "@antv/x6": "latest", + "@antv/x6-react-components": "latest", + "@antv/x6-react-shape": "latest", "antd": "^4.4.2", "dagre": "^0.8.5", "elkjs": "^0.7.1", diff --git a/sites/x6-svg-to-shape/CHANGELOG.md b/sites/x6-svg-to-shape/CHANGELOG.md index b2cd0c37beb..6d0b2ecf72d 100644 --- a/sites/x6-svg-to-shape/CHANGELOG.md +++ b/sites/x6-svg-to-shape/CHANGELOG.md @@ -1,3 +1,119 @@ +## @antv/x6-svg-to-shape [1.0.6](https://github.com/antvis/x6/compare/@antv/x6-svg-to-shape@1.0.5...@antv/x6-svg-to-shape@1.0.6) (2022-06-07) + +## @antv/x6-svg-to-shape [1.0.6](https://github.com/antvis/x6/compare/@antv/x6-svg-to-shape@1.0.5...@antv/x6-svg-to-shape@1.0.6) (2022-06-06) + +## @antv/x6-svg-to-shape [1.0.6](https://github.com/antvis/x6/compare/@antv/x6-svg-to-shape@1.0.5...@antv/x6-svg-to-shape@1.0.6) (2022-06-05) + +## @antv/x6-svg-to-shape [1.0.6](https://github.com/antvis/x6/compare/@antv/x6-svg-to-shape@1.0.5...@antv/x6-svg-to-shape@1.0.6) (2022-05-31) + + + + + +### Dependencies + +* **@antv/x6:** upgraded to 1.32.3 + +## @antv/x6-svg-to-shape [1.0.6](https://github.com/antvis/x6/compare/@antv/x6-svg-to-shape@1.0.5...@antv/x6-svg-to-shape@1.0.6) (2022-05-17) + + + + + +### Dependencies + +* **@antv/x6:** upgraded to 1.32.2 + +## @antv/x6-svg-to-shape [1.0.6](https://github.com/antvis/x6/compare/@antv/x6-svg-to-shape@1.0.5...@antv/x6-svg-to-shape@1.0.6) (2022-05-16) + + + + + +### Dependencies + +* **@antv/x6:** upgraded to 1.32.1 + +## @antv/x6-svg-to-shape [1.0.7](https://github.com/antvis/x6/compare/@antv/x6-svg-to-shape@1.0.6...@antv/x6-svg-to-shape@1.0.7) (2022-05-14) + + + + + +### Dependencies + +* **@antv/x6:** upgraded to 1.32.0 + +## @antv/x6-svg-to-shape [1.0.6](https://github.com/antvis/x6/compare/@antv/x6-svg-to-shape@1.0.5...@antv/x6-svg-to-shape@1.0.6) (2022-05-09) + + + + + +### Dependencies + +* **@antv/x6:** upgraded to 1.31.5 + +## @antv/x6-svg-to-shape [1.0.6](https://github.com/antvis/x6/compare/@antv/x6-svg-to-shape@1.0.5...@antv/x6-svg-to-shape@1.0.6) (2022-05-01) + +## @antv/x6-svg-to-shape [1.0.6](https://github.com/antvis/x6/compare/@antv/x6-svg-to-shape@1.0.5...@antv/x6-svg-to-shape@1.0.6) (2022-04-26) + +## @antv/x6-svg-to-shape [1.0.6](https://github.com/antvis/x6/compare/@antv/x6-svg-to-shape@1.0.5...@antv/x6-svg-to-shape@1.0.6) (2022-04-21) + + + + + +### Dependencies + +* **@antv/x6:** upgraded to 1.31.4 + +## @antv/x6-svg-to-shape [1.0.6](https://github.com/antvis/x6/compare/@antv/x6-svg-to-shape@1.0.5...@antv/x6-svg-to-shape@1.0.6) (2022-04-13) + +## @antv/x6-svg-to-shape [1.0.6](https://github.com/antvis/x6/compare/@antv/x6-svg-to-shape@1.0.5...@antv/x6-svg-to-shape@1.0.6) (2022-04-09) + + + + + +### Dependencies + +* **@antv/x6:** upgraded to 1.31.3 + +## @antv/x6-svg-to-shape [1.0.6](https://github.com/antvis/x6/compare/@antv/x6-svg-to-shape@1.0.5...@antv/x6-svg-to-shape@1.0.6) (2022-04-09) + +## @antv/x6-svg-to-shape [1.0.6](https://github.com/antvis/x6/compare/@antv/x6-svg-to-shape@1.0.5...@antv/x6-svg-to-shape@1.0.6) (2022-04-09) + + + + + +### Dependencies + +* **@antv/x6:** upgraded to 1.31.2 + +## @antv/x6-svg-to-shape [1.0.6](https://github.com/antvis/x6/compare/@antv/x6-svg-to-shape@1.0.5...@antv/x6-svg-to-shape@1.0.6) (2022-04-05) + +## @antv/x6-svg-to-shape [1.0.6](https://github.com/antvis/x6/compare/@antv/x6-svg-to-shape@1.0.5...@antv/x6-svg-to-shape@1.0.6) (2022-04-05) + + + + + +### Dependencies + +* **@antv/x6:** upgraded to 1.31.1 + +## @antv/x6-svg-to-shape [1.0.6](https://github.com/antvis/x6/compare/@antv/x6-svg-to-shape@1.0.5...@antv/x6-svg-to-shape@1.0.6) (2022-03-23) + + + + + +### Dependencies + +* **@antv/x6:** upgraded to 1.31.0 + ## @antv/x6-svg-to-shape [1.0.6](https://github.com/antvis/x6/compare/@antv/x6-svg-to-shape@1.0.5...@antv/x6-svg-to-shape@1.0.6) (2022-03-10) diff --git a/sites/x6-svg-to-shape/package.json b/sites/x6-svg-to-shape/package.json index 06c814142f3..80d929c7606 100644 --- a/sites/x6-svg-to-shape/package.json +++ b/sites/x6-svg-to-shape/package.json @@ -23,7 +23,7 @@ ] }, "dependencies": { - "@antv/x6": "^1.30.2", + "@antv/x6": "^1.32.3", "@umijs/preset-react": "1.x", "antd": "^4.4.2", "classnames": "^2.2.6", diff --git a/yarn.lock b/yarn.lock index 363e4c3fc06..221592f22fb 100644 --- a/yarn.lock +++ b/yarn.lock @@ -26,10 +26,10 @@ dependencies: tslib "^2.0.0" -"@angular/core@^10.2.3": - version "10.2.5" - resolved "https://registry.nlark.com/@angular/core/download/@angular/core-10.2.5.tgz#2050b0dbb180aa98c2ec46bba6d4827565ba2a2d" - integrity sha1-IFCw27GAqpjC7Ea7ptSCdWW6Ki0= +"@angular/core@^11.0.5": + version "11.0.5" + resolved "https://registry.yarnpkg.com/@angular/core/-/core-11.0.5.tgz#b8c448c3cd4f6dae7327cc1ba4ee2aa29c8dbc26" + integrity sha512-XAXWQi7R3ucZXQwx9QK5jSKJeQyRJ53u2dQDpr7R5stzeCy1a5hrNOkZLg9zOTTPcth/6+FrOrRZP9SMdxtw3w== dependencies: tslib "^2.0.0" @@ -284,6 +284,36 @@ dependencies: tslib "^2.0.3" +"@antv/x6-react-components@latest": + version "1.1.15" + resolved "https://registry.npmjs.org/@antv/x6-react-components/-/x6-react-components-1.1.15.tgz#9d35b06ffe261272d11caee63b463f3ac744b392" + integrity sha512-tXUak5CPuZLIA0fVBSM2vZ+TxxoEGBcokr0J69e7H0G3WIutDf6J6RkNeRGuKvcW8O1Lef1jiBGSLLjlrRXf0g== + dependencies: + clamp "^1.0.1" + classnames "^2.2.6" + rc-dropdown "^3.0.0-alpha.0" + rc-util "^4.15.7" + react-color "^2.17.3" + react-resize-detector "^6.6.4" + ua-parser-js "^0.7.20" + +"@antv/x6-react-shape@latest": + version "1.6.1" + resolved "https://registry.npmjs.org/@antv/x6-react-shape/-/x6-react-shape-1.6.1.tgz#cf029ac6580300eaffa7539555cffa6723e8f199" + integrity sha512-EkcDoIlfbQC69DGgwznFRsi78fW+apTO0OW5J6tnKpMW3r6zB5zr5QM06hzq5UEUgGheMUxNh3wrTd0jnCwR3A== + +"@antv/x6@latest": + version "1.32.9" + resolved "https://registry.npmjs.org/@antv/x6/-/x6-1.32.9.tgz#0e29527289001e29795087cbb536afdbbead2c56" + integrity sha512-zpAd8RBCeBw5/POpMp3v0A4d4hUF5SXRZAqTvwxFzRsQ7q3/byTpwAqUtqq/AWNJAzFJm6oc5TqbWaRrBltJVQ== + dependencies: + csstype "^3.0.3" + jquery "^3.5.1" + jquery-mousewheel "^3.1.13" + lodash-es "^4.17.15" + mousetrap "^1.6.5" + utility-types "^3.10.0" + "@ardatan/aggregate-error@0.0.6": version "0.0.6" resolved "https://registry.npmjs.org/@ardatan/aggregate-error/-/aggregate-error-0.0.6.tgz#fe6924771ea40fc98dc7a7045c2e872dc8527609" @@ -3979,61 +4009,6 @@ schema-utils "^2.6.5" source-map "^0.7.3" -"@pnpm/constants@4.1.0": - version "4.1.0" - resolved "https://registry.npmjs.org/@pnpm/constants/-/constants-4.1.0.tgz#94d10416d4f78cf9adf77031360caf588ba4b8fb" - integrity sha512-kH6+y0IMPExiUnwk+BTXvaPSIp3SlBxTXK7JeW8hopJ2B8EVIwFOWLdXK85sJpr4+jxbtEn2spzLRx6Rcfh7xQ== - -"@pnpm/error@1.4.0": - version "1.4.0" - resolved "https://registry.npmjs.org/@pnpm/error/-/error-1.4.0.tgz#6a3ce98a2e3f1b0614debaddd33a6c6597b493f3" - integrity sha512-vxkRrkneBPVmP23kyjnYwVOtipwlSl6UfL+h+Xa3TrABJTz5rYBXemlTsU5BzST8U4pD7YDkTb3SQu+MMuIDKA== - -"@pnpm/lockfile-file@^3.0.7": - version "3.2.1" - resolved "https://registry.npmjs.org/@pnpm/lockfile-file/-/lockfile-file-3.2.1.tgz#b52a3c837f005e88cbecf8e7efc99409a7ba20fa" - integrity sha512-2fi4XHW8OBv9KsG9G33bKw2Lb2zHRP2g7kbt61p+ha/XHW9lRwS+Br5d1AmhbXTwgitKqXvQL4zf0B8exhiZSA== - dependencies: - "@pnpm/constants" "4.1.0" - "@pnpm/error" "1.4.0" - "@pnpm/lockfile-types" "2.2.0" - "@pnpm/merge-lockfile-changes" "1.0.1" - "@pnpm/types" "6.4.0" - "@zkochan/rimraf" "^1.0.0" - js-yaml "^4.0.0" - mz "^2.7.0" - normalize-path "^3.0.0" - ramda "^0.27.1" - strip-bom "^4.0.0" - write-file-atomic "^3.0.3" - -"@pnpm/lockfile-types@2.2.0": - version "2.2.0" - resolved "https://registry.npmjs.org/@pnpm/lockfile-types/-/lockfile-types-2.2.0.tgz#5ccbd763c3a3e0c81da1cc42a80780eaecab04a8" - integrity sha512-JO+MeNdc6lKaAjUqtMSx0V2+NkGtPWIJsyXrNrGhzzazgVdr6kxJUZnuBQQ8SZUyxVAOjoTBZTOxoHcFuSfkTg== - -"@pnpm/logger@^3.2.2": - version "3.2.3" - resolved "https://registry.npmjs.org/@pnpm/logger/-/logger-3.2.3.tgz#9426f153126f312a3069c9d9e8cb50bc692ceeb7" - integrity sha512-/nZCAUeKwlv1MldtOHSPDm5SuXBy4L4SoS30gYn9ti2N5XlUrVoXDE8Hq8EYfl+Knb1GQEDz04KjfFEDVsAsvg== - dependencies: - bole "npm:@zkochan/bole@^3.0.4" - ndjson "^1.5.0" - -"@pnpm/merge-lockfile-changes@1.0.1": - version "1.0.1" - resolved "https://registry.npmjs.org/@pnpm/merge-lockfile-changes/-/merge-lockfile-changes-1.0.1.tgz#cf2fdb588cbe4fcccf669459c3f5dbdb1d55584f" - integrity sha512-eJg3mBAoIEp5jtf/WKZ+MO0ZFpLmBZ9oYzGn166EZX7wAiSvDNxWGnfJ2tc2YeIBd6kb7OC1OoTybm7gtR6D9g== - dependencies: - "@pnpm/lockfile-types" "2.2.0" - ramda "^0.27.1" - semver "^7.3.4" - -"@pnpm/types@6.4.0": - version "6.4.0" - resolved "https://registry.npmjs.org/@pnpm/types/-/types-6.4.0.tgz#312c3bf0b43b003508cb21bd3815406ea0f3b669" - integrity sha512-nco4+4sZqNHn60Y4VE/fbtlShCBqipyUO+nKRPvDHqLrecMW9pzHWMVRxk4nrMRoeowj3q0rX3GYRBa8lsHTAg== - "@polka/url@^1.0.0-next.15": version "1.0.0-next.15" resolved "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.15.tgz#6a9d143f7f4f49db2d782f9e1c8839a29b43ae23" @@ -4397,10 +4372,10 @@ dependencies: defer-to-connect "^1.0.1" -"@tokenizer/token@^0.1.1": - version "0.1.1" - resolved "https://registry.npmjs.org/@tokenizer/token/-/token-0.1.1.tgz#f0d92c12f87079ddfd1b29f614758b9696bc29e3" - integrity sha512-XO6INPbZCxdprl+9qa/AAbFFOMzzwqYxpjPgLICrMD6C2FCw6qfJOPcBk6JqqPLSaZ/Qx87qn4rpPmPMwaAK6w== +"@tokenizer/token@^0.3.0": + version "0.3.0" + resolved "https://registry.yarnpkg.com/@tokenizer/token/-/token-0.3.0.tgz#fe98a93fe789247e998c75e74e9c7c63217aa276" + integrity sha512-OvjF+z51L3ov0OyAU0duzsYuvO01PH7x4t6DJx+guahgTnBHkhJdG7soQeTSFLWN3efnHyibZ4Z8l2EuWwJN3A== "@tootallnate/once@1": version "1.1.2" @@ -4501,8 +4476,8 @@ "@types/configstore@^2.1.1": version "2.1.1" - resolved "https://registry.npmjs.org/@types/configstore/-/configstore-2.1.1.tgz#cd1e8553633ad3185c3f2f239ecff5d2643e92b6" - integrity sha1-zR6FU2M60xhcPy8jns/10mQ+krY= + resolved "https://registry.yarnpkg.com/@types/configstore/-/configstore-2.1.1.tgz#cd1e8553633ad3185c3f2f239ecff5d2643e92b6" + integrity sha512-YY+hm3afkDHeSM2rsFXxeZtu0garnusBWNG1+7MknmDWQHqcH2w21/xOU9arJUi8ch4qyFklidANLCu3ihhVwQ== "@types/cookie@^0.4.0": version "0.4.0" @@ -4550,14 +4525,9 @@ "@types/debug@^0.0.30": version "0.0.30" - resolved "https://registry.npmjs.org/@types/debug/-/debug-0.0.30.tgz#dc1e40f7af3b9c815013a7860e6252f6352a84df" + resolved "https://registry.yarnpkg.com/@types/debug/-/debug-0.0.30.tgz#dc1e40f7af3b9c815013a7860e6252f6352a84df" integrity sha512-orGL5LXERPYsLov6CWs3Fh6203+dXzJkR7OnddIr2514Hsecwc8xRpzCapshBbKFImCsvS/mk6+FWiN5LyZJAQ== -"@types/debug@^4.1.5": - version "4.1.5" - resolved "https://registry.npmjs.org/@types/debug/-/debug-4.1.5.tgz#b14efa8852b7768d898906613c23f688713e02cd" - integrity sha512-Q1y515GcOdTHgagaVFhHnIFQ38ygs/kmxdNpvpou+raI9UO3YZcHDngBSYKQklcKlvA7iuQlmIKbzvmxcOE9CQ== - "@types/dompurify@^2.0.4": version "2.2.2" resolved "https://registry.npmjs.org/@types/dompurify/-/dompurify-2.2.2.tgz#2c6692580eb7c653785ca3b2c1348847ea8b995d" @@ -4580,30 +4550,24 @@ resolved "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz#e177e699ee1b8c22d23174caaa7422644389509f" integrity sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw== -"@types/events@*": - version "3.0.0" - resolved "https://registry.npmjs.org/@types/events/-/events-3.0.0.tgz#2862f3f58a9a7f7c3e78d79f130dd4d71c25c2a7" - integrity sha512-EaObqwIvayI5a8dCzhFrjKzVwKLxjoG9T6Ppd5CEo07LRKfQ8Yokw54r5+Wq7FaBQ+yXRvQAYPrHwya1/UFt9g== - "@types/get-port@^3.2.0": version "3.2.0" - resolved "https://registry.npmjs.org/@types/get-port/-/get-port-3.2.0.tgz#f9e0a11443cc21336470185eae3dfba4495d29bc" + resolved "https://registry.yarnpkg.com/@types/get-port/-/get-port-3.2.0.tgz#f9e0a11443cc21336470185eae3dfba4495d29bc" integrity sha512-TiNg8R1kjDde5Pub9F9vCwZA/BNW9HeXP5b9j7Qucqncy/McfPZ6xze/EyBdXS5FhMIGN6Fx3vg75l5KHy3V1Q== "@types/glob@*", "@types/glob@^7.1.1": - version "7.1.3" - resolved "https://registry.npmjs.org/@types/glob/-/glob-7.1.3.tgz#e6ba80f36b7daad2c685acd9266382e68985c183" - integrity sha512-SEYeGAIQIQX8NN6LDKprLjbrd5dARM5EXsd8GI/A5l0apYI1fGMWgPHSe4ZKL4eozlAyI+doUE9XbYS4xCkQ1w== + version "7.2.0" + resolved "https://registry.yarnpkg.com/@types/glob/-/glob-7.2.0.tgz#bc1b5bf3aa92f25bd5dd39f35c57361bdce5b2eb" + integrity sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA== dependencies: "@types/minimatch" "*" "@types/node" "*" "@types/glob@^5.0.34": - version "5.0.36" - resolved "https://registry.npmjs.org/@types/glob/-/glob-5.0.36.tgz#0c80a9c8664fc7d19781de229f287077fd622cb2" - integrity sha512-KEzSKuP2+3oOjYYjujue6Z3Yqis5HKA1BsIC+jZ1v3lrRNdsqyNNtX0rQf6LSuI4DJJ2z5UV//zBZCcvM0xikg== + version "5.0.37" + resolved "https://registry.yarnpkg.com/@types/glob/-/glob-5.0.37.tgz#d0982abc88f9aebbd62099d3d70440cbcea692de" + integrity sha512-ATA/xrS7CZ3A2WCPVY4eKdNpybq56zqlTirnHhhyOztZM/lPxJzusOBI3BsaXbu6FrUluqzvMlI4sZ6BDYMlMg== dependencies: - "@types/events" "*" "@types/minimatch" "*" "@types/node" "*" @@ -4746,9 +4710,9 @@ "@types/lodash" "*" "@types/lodash@*", "@types/lodash@^4.14.136", "@types/lodash@^4.14.92": - version "4.14.170" - resolved "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.170.tgz#0d67711d4bf7f4ca5147e9091b847479b87925d6" - integrity sha512-bpcvu/MKHHeYX+qeEN8GE7DIravODWdACVA1ctevD8CN24RhPZIKMn9ntfAsrvLfSX3cR5RrBKAbYm9bGs0A+Q== + version "4.14.182" + resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.182.tgz#05301a4d5e62963227eaafe0ce04dd77c54ea5c2" + integrity sha512-/THyiqyQAP9AfARo4pF+aCGcyiQ94tX/Is2I7HofNRqoYLgN1PBoOWu2/zTA5zMxzP5EFutMtWtGAFRKUe961Q== "@types/mdast@^3.0.0", "@types/mdast@^3.0.3": version "3.0.3" @@ -4757,7 +4721,12 @@ dependencies: "@types/unist" "*" -"@types/minimatch@*", "@types/minimatch@^3.0.3": +"@types/minimatch@*": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.5.tgz#1001cc5e6a3704b83c236027e77f2f58ea010f40" + integrity sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ== + +"@types/minimatch@^3.0.3": version "3.0.4" resolved "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.4.tgz#f0ec25dbf2f0e4b18647313ac031134ca5b24b21" integrity sha512-1z8k4wzFnNjVK/tlxvrWuK5WMt6mydWWP7+zvH5eFep4oj+UkrfiJTRtjCeBXNpwaA/FYqqtb4/QS4ianFpIRA== @@ -4769,7 +4738,7 @@ "@types/mkdirp@^0.5.2": version "0.5.2" - resolved "https://registry.npmjs.org/@types/mkdirp/-/mkdirp-0.5.2.tgz#503aacfe5cc2703d5484326b1b27efa67a339c1f" + resolved "https://registry.yarnpkg.com/@types/mkdirp/-/mkdirp-0.5.2.tgz#503aacfe5cc2703d5484326b1b27efa67a339c1f" integrity sha512-U5icWpv7YnZYGsN4/cmh3WD2onMY0aJIiTE6+51TwJCttdHvtCYmkBNOobHlXwrJRL0nkH9jH4kD+1FAdMN4Tg== dependencies: "@types/node" "*" @@ -4788,9 +4757,9 @@ form-data "^3.0.0" "@types/node@*", "@types/node@>=10.0.0": - version "15.12.2" - resolved "https://registry.npmjs.org/@types/node/-/node-15.12.2.tgz#1f2b42c4be7156ff4a6f914b2fb03d05fa84e38d" - integrity sha512-zjQ69G564OCIWIOHSXyQEEDpdpGl+G348RAKY0XXy9Z5kU9Vzv1GMNnkar/ZJ8dzXB3COzD9Mo9NtRZ4xfgUww== + version "17.0.39" + resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.39.tgz#3652d82e2a16b4ea679d5ea3143b816c91b7e113" + integrity sha512-JDU3YLlnPK3WDao6/DlXLOgSNpG13ct+CwIO17V8q0/9fWJyeMJJ/VyZ1lv8kDprihvZMydzVwf0tQOqGiY2Nw== "@types/node@10.17.13": version "10.17.13" @@ -4819,7 +4788,7 @@ "@types/node@^8.5.7": version "8.10.66" - resolved "https://registry.npmjs.org/@types/node/-/node-8.10.66.tgz#dd035d409df322acc83dff62a602f12a5783bbb3" + resolved "https://registry.yarnpkg.com/@types/node/-/node-8.10.66.tgz#dd035d409df322acc83dff62a602f12a5783bbb3" integrity sha512-tktOkFUA4kXx2hhhrB8bIFb5TbwzS4uOhKEmwiD+NoiL0qtP2OQ9mFldbgD4dV1djrlBYP6eBuQZiWjuHUpqFw== "@types/normalize-package-data@^2.4.0": @@ -4976,14 +4945,6 @@ dependencies: "@types/react" "*" -"@types/readable-stream@^2.3.9": - version "2.3.10" - resolved "https://registry.npmjs.org/@types/readable-stream/-/readable-stream-2.3.10.tgz#0f1a512ca30bec5e53d3282133b9237a703e7562" - integrity sha512-xwSXvAv9x4B9Vj88AMZnFyEVLilz1EBxKvRUhGqIF4nJpRQBSTm7jS236X4Y9Y2qPsVvaMxwrGJlNhLHEahlFQ== - dependencies: - "@types/node" "*" - safe-buffer "*" - "@types/resize-observer-browser@^0.1.5": version "0.1.5" resolved "https://registry.npmjs.org/@types/resize-observer-browser/-/resize-observer-browser-0.1.5.tgz#36d897708172ac2380cd486da7a3daf1161c1e23" @@ -4997,9 +4958,9 @@ "@types/node" "*" "@types/rimraf@^2.0.2": - version "2.0.4" - resolved "https://registry.npmjs.org/@types/rimraf/-/rimraf-2.0.4.tgz#403887b0b53c6100a6c35d2ab24f6ccc042fec46" - integrity sha512-8gBudvllD2A/c0CcEX/BivIDorHFt5UI5m46TsNj8DjWCCTTZT74kEe4g+QsY7P/B9WdO98d82zZgXO/RQzu2Q== + version "2.0.5" + resolved "https://registry.yarnpkg.com/@types/rimraf/-/rimraf-2.0.5.tgz#368fb04d59630b727fc05a74d2ca557f64a8ef98" + integrity sha512-YyP+VfeaqAyFmXoTh3HChxOQMyjByRMsHU7kc5KOJkSlXudhMhQIALbYV7rHh/l8d2lX3VUQzprrcAgWdRuU8g== dependencies: "@types/glob" "*" "@types/node" "*" @@ -5055,8 +5016,8 @@ "@types/tmp@^0.0.33": version "0.0.33" - resolved "https://registry.npmjs.org/@types/tmp/-/tmp-0.0.33.tgz#1073c4bc824754ae3d10cfab88ab0237ba964e4d" - integrity sha1-EHPEvIJHVK49EM+riKsCN7qWTk0= + resolved "https://registry.yarnpkg.com/@types/tmp/-/tmp-0.0.33.tgz#1073c4bc824754ae3d10cfab88ab0237ba964e4d" + integrity sha512-gVC1InwyVrO326wbBZw+AO3u2vRXz/iRWq9jYhpG4W8LXyIgDv3ZmcLQ5Q4Gs+gFMyqx+viFoFT+l3p61QFCmQ== "@types/trusted-types@*": version "2.0.1" @@ -6051,13 +6012,6 @@ resolved "https://registry.npmjs.org/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz#e77a97fbd345b76d83245edcd17d393b1b41fb31" integrity sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ== -"@zkochan/rimraf@^1.0.0": - version "1.0.1" - resolved "https://registry.npmjs.org/@zkochan/rimraf/-/rimraf-1.0.1.tgz#60bf82d813dc4e1953c04c740a4f3c308bd5704a" - integrity sha512-GIbPASozv6Pcn68adkbBCSjzut/JkCVzF7rSnWP7VSzD9Yi896Dl09OhGaXPiGWH3CxJrfSEcgutYieFIrrbrg== - dependencies: - rimraf "^3.0.2" - JSONStream@^1.0.4, JSONStream@^1.2.1, JSONStream@^1.3.5: version "1.3.5" resolved "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz#3208c1f08d3a4d99261ab64f92302bc15e111ca0" @@ -6439,7 +6393,7 @@ ansi-colors@^4.1.1: ansi-escapes@^3.0.0, ansi-escapes@^3.1.0, ansi-escapes@^3.2.0: version "3.2.0" - resolved "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz#8780b98ff9dbf5638152d1f1fe5c1d7b4442976b" + resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.2.0.tgz#8780b98ff9dbf5638152d1f1fe5c1d7b4442976b" integrity sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ== ansi-escapes@^4.1.0, ansi-escapes@^4.2.1, ansi-escapes@^4.3.0: @@ -6652,11 +6606,6 @@ any-observable@^0.3.0: resolved "https://registry.npmjs.org/any-observable/-/any-observable-0.3.0.tgz#af933475e5806a67d0d7df090dd5e8bef65d119b" integrity sha512-/FQM1EDkTsf63Ub2C6O7GuYFDsSXUwsaZDurV0np41ocwq0jthUAYCmhBX9f+KwlaCgIuWyr/4WlUQUBfKfZog== -any-promise@^1.0.0: - version "1.3.0" - resolved "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz#abc6afeedcea52e809cdc0376aed3ce39635d17f" - integrity sha1-q8av7tzqUugJzcA3au0845Y10X8= - anymatch@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb" @@ -6680,8 +6629,8 @@ append-field@^1.0.0: application-config-path@^0.1.0: version "0.1.0" - resolved "https://registry.npmjs.org/application-config-path/-/application-config-path-0.1.0.tgz#193c5f0a86541a4c66fba1e2dc38583362ea5e8f" - integrity sha1-GTxfCoZUGkxm+6Hi3DhYM2LqXo8= + resolved "https://registry.yarnpkg.com/application-config-path/-/application-config-path-0.1.0.tgz#193c5f0a86541a4c66fba1e2dc38583362ea5e8f" + integrity sha512-lljTpVvFteShrHuKRvweZfa9o/Nc34Y8r5/1Lqh/yyKaspRT2J3fkEiSSk1YLG8ZSVyU7yHysRy9zcDDS2aH1Q== aproba@^1.0.3, aproba@^1.1.1: version "1.2.0" @@ -7766,14 +7715,6 @@ body-parser@1.19.0, body-parser@^1.19.0: raw-body "2.4.0" type-is "~1.6.17" -"bole@npm:@zkochan/bole@^3.0.4": - version "3.0.4" - resolved "https://registry.npmjs.org/@zkochan/bole/-/bole-3.0.4.tgz#9df7911130328c9a46f031e271c1c278eac04a7a" - integrity sha512-3iPQz6Z7A2aiKc9cxB+I4X0nKxOagBxWAl91+ukUyJ9El+DgejYgbfd4PtzUyam+JRXXydUCkKGKiWYj8EzrGw== - dependencies: - fast-safe-stringify "~1.1.0" - individual "~3.0.0" - bonjour@^3.5.0: version "3.5.0" resolved "https://registry.npmjs.org/bonjour/-/bonjour-3.5.0.tgz#8e890a183d8ee9a2393b3844c691a42bcf7bc9f5" @@ -8043,9 +7984,9 @@ buffer-fill@^1.0.0: integrity sha1-+PeLdniYiO858gXNY39o5wISKyw= buffer-from@^1.0.0: - version "1.1.1" - resolved "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" - integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A== + version "1.1.2" + resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" + integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== buffer-indexof@^1.0.0: version "1.1.1" @@ -9172,7 +9113,7 @@ comma-separated-tokens@^1.0.0, comma-separated-tokens@^1.0.1: command-exists@^1.2.4: version "1.2.9" - resolved "https://registry.npmjs.org/command-exists/-/command-exists-1.2.9.tgz#c50725af3808c8ab0260fd60b01fbfa25b954f69" + resolved "https://registry.yarnpkg.com/command-exists/-/command-exists-1.2.9.tgz#c50725af3808c8ab0260fd60b01fbfa25b954f69" integrity sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w== commander@^2.11.0, commander@^2.12.1, commander@^2.14.1, commander@^2.18.0, commander@^2.19.0, commander@^2.20.0, commander@^2.20.3, commander@^2.7.1, commander@^2.9.0: @@ -9293,7 +9234,7 @@ compute-scroll-into-view@^1.0.17: concat-map@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" - integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= + integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== concat-stream@^1.5.0, concat-stream@^1.5.2: version "1.6.2" @@ -9869,7 +9810,7 @@ cross-spawn@5.1.0, cross-spawn@^5.0.1: cross-spawn@6.0.5, cross-spawn@^6.0.0, cross-spawn@^6.0.5: version "6.0.5" - resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== dependencies: nice-try "^1.0.4" @@ -10863,9 +10804,9 @@ detect-port@^1.3.0: debug "^2.6.0" devcert@^1.1.3: - version "1.1.3" - resolved "https://registry.npmjs.org/devcert/-/devcert-1.1.3.tgz#ff8119efae52ebf2449531b7482ae0f7211542e9" - integrity sha512-7/nIzKdQ8y2K0imjIP7dyg2GJ2h38Ps6VOMXWZHIarNDV3p6mTXyEugKFnkmsZ2DD58JEG34ILyVb3qdOMmP9w== + version "1.2.1" + resolved "https://registry.yarnpkg.com/devcert/-/devcert-1.2.1.tgz#cb545583f4dfd33ed5358dacc3756d4c3878b858" + integrity sha512-R7DqtMtsNmFVY75kzRHXON3hXoJili2xxlEcZgHi0VHSx8aJECfm7ZqAquXzTeAM/I9f8G2pHc/zq5k6iXHQzA== dependencies: "@types/configstore" "^2.1.1" "@types/debug" "^0.0.30" @@ -10882,6 +10823,7 @@ devcert@^1.1.3: eol "^0.9.1" get-port "^3.2.0" glob "^7.1.2" + is-valid-domain "^0.1.6" lodash "^4.17.4" mkdirp "^0.5.1" password-prompt "^1.0.4" @@ -11695,7 +11637,7 @@ enzyme@^3.10.0: eol@^0.9.1: version "0.9.1" - resolved "https://registry.npmjs.org/eol/-/eol-0.9.1.tgz#f701912f504074be35c6117a5c4ade49cd547acd" + resolved "https://registry.yarnpkg.com/eol/-/eol-0.9.1.tgz#f701912f504074be35c6117a5c4ade49cd547acd" integrity sha512-Ds/TEoZjwggRoz/Q2O7SE3i4Jm66mqTDfmdHdq/7DKVk3bro9Q8h6WdXKdPqFLMoqxrDK5SVRzHVPOS6uuGtrg== err-code@^1.0.0: @@ -13210,11 +13152,6 @@ fast-levenshtein@^2.0.6, fast-levenshtein@~2.0.6: resolved "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= -fast-safe-stringify@~1.1.0: - version "1.1.13" - resolved "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-1.1.13.tgz#a01e9cd9c9e491715c98a75a42d5f0bbd107ff76" - integrity sha1-oB6c2cnkkXFcmKdaQtXwu9EH/3Y= - fast-shallow-equal@^1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/fast-shallow-equal/-/fast-shallow-equal-1.0.0.tgz#d4dcaf6472440dcefa6f88b98e3251e27f25628b" @@ -13371,13 +13308,13 @@ file-name@^0.1.0: integrity sha1-ErEi8SD5w028F2wauBpUis7W3vc= file-type@^16.0.0: - version "16.5.0" - resolved "https://registry.npmjs.org/file-type/-/file-type-16.5.0.tgz#16a2626f3b33bac612f6e81e52216f3a7c8e12a2" - integrity sha512-OxgWA9tbL8N/WP00GD1z8O0MiwQKFyWRs1q+3FhjdvcGgKqwxcejyGWso3n4/IMU6DdwV+ARZ4A7TTnPkDcSiw== + version "16.5.4" + resolved "https://registry.yarnpkg.com/file-type/-/file-type-16.5.4.tgz#474fb4f704bee427681f98dd390058a172a6c2fd" + integrity sha512-/yFHK0aGjFEgDJjEKP0pWCplsPFPhwyfwevf/pVxiN0tmE4L9LmwWxWukdJSHdoCli4VgQLehjJtwQBnqmsKcw== dependencies: readable-web-to-node-stream "^3.0.0" - strtok3 "^6.0.3" - token-types "^2.0.0" + strtok3 "^6.2.4" + token-types "^4.1.1" file-uri-to-path@1.0.0: version "1.0.0" @@ -13575,14 +13512,6 @@ find-up@^5.0.0: locate-path "^6.0.0" path-exists "^4.0.0" -find-yarn-workspace-root@^1.2.1: - version "1.2.1" - resolved "https://registry.npmjs.org/find-yarn-workspace-root/-/find-yarn-workspace-root-1.2.1.tgz#40eb8e6e7c2502ddfaa2577c176f221422f860db" - integrity sha512-dVtfb0WuQG+8Ag2uWkbG79hOUzEsRrhBzgfn86g2sJPkzmcpGdghbNTfUKGTxymFrY/tLIodDzLoW9nOJ4FY8Q== - dependencies: - fs-extra "^4.0.3" - micromatch "^3.1.4" - first-chunk-stream@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/first-chunk-stream/-/first-chunk-stream-2.0.0.tgz#1bdecdb8e083c0664b91945581577a43a9f31d70" @@ -13841,7 +13770,7 @@ fs-extra@^3.0.1: jsonfile "^3.0.0" universalify "^0.1.0" -fs-extra@^4.0.0, fs-extra@^4.0.2, fs-extra@^4.0.3: +fs-extra@^4.0.0, fs-extra@^4.0.2: version "4.0.3" resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.3.tgz#0d852122e5bc5beb453fb028e9c0c9bf36340c94" integrity sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg== @@ -13868,7 +13797,7 @@ fs-extra@^8.0.1, fs-extra@^8.1.0: jsonfile "^4.0.0" universalify "^0.1.0" -fs-extra@^9.0.0, fs-extra@^9.1.0: +fs-extra@^9.1.0: version "9.1.0" resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz#5954460c764a8da2094ba3554bf839e6b9a7c86d" integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ== @@ -13905,7 +13834,7 @@ fs-write-stream-atomic@^1.0.8: fs.realpath@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" - integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= + integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== fsevents@2.1.2: version "2.1.2" @@ -14686,8 +14615,8 @@ get-pkg-repo@^1.0.0: get-port@^3.2.0: version "3.2.0" - resolved "https://registry.npmjs.org/get-port/-/get-port-3.2.0.tgz#dd7ce7de187c06c8bf353796ac71e099f0980ebc" - integrity sha1-3Xzn3hh8Bsi/NTeWrHHgmfCYDrw= + resolved "https://registry.yarnpkg.com/get-port/-/get-port-3.2.0.tgz#dd7ce7de187c06c8bf353796ac71e099f0980ebc" + integrity sha512-x5UJKlgeUiNT8nyo/AcnwLnZuZNcSjSw0kogRB+Whd1fjjFq4B1hySFxSFWWSn4mIBzg3sRNUDFYc4g5gjPoLg== get-port@^5.1.1: version "5.1.1" @@ -14925,14 +14854,14 @@ glob@7.1.4: path-is-absolute "^1.0.0" glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6, glob@^7.1.7: - version "7.2.0" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.0.tgz#d15535af7732e02e948f4c41628bd910293f6023" - integrity sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q== + version "7.2.3" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" + integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== dependencies: fs.realpath "^1.0.0" inflight "^1.0.4" inherits "2" - minimatch "^3.0.4" + minimatch "^3.1.1" once "^1.3.0" path-is-absolute "^1.0.0" @@ -16398,11 +16327,6 @@ indexes-of@^1.0.1: resolved "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz#f30f716c8e2bd346c7b67d3df3915566a7c05607" integrity sha1-8w9xbI4r00bHtn0985FVZqfAVgc= -individual@~3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/individual/-/individual-3.0.0.tgz#e7ca4f85f8957b018734f285750dc22ec2f9862d" - integrity sha1-58pPhfiVewGHNPKFdQ3CLsL5hi0= - infer-owner@^1.0.3, infer-owner@^1.0.4: version "1.0.4" resolved "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz#c4cefcaa8e51051c2a40ba2ce8a3d27295af9467" @@ -16411,14 +16335,14 @@ infer-owner@^1.0.3, infer-owner@^1.0.4: inflight@^1.0.4: version "1.0.6" resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" - integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= + integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== dependencies: once "^1.3.0" wrappy "1" inherits@2, inherits@2.0.4, inherits@^2.0.0, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.1, inherits@~2.0.3, inherits@~2.0.4: version "2.0.4" - resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== inherits@2.0.1: @@ -17432,6 +17356,13 @@ is-utf8@^0.2.0, is-utf8@^0.2.1: resolved "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" integrity sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI= +is-valid-domain@^0.1.6: + version "0.1.6" + resolved "https://registry.yarnpkg.com/is-valid-domain/-/is-valid-domain-0.1.6.tgz#3c85469d2938f170c8f82ce6e52df8ad9fca8105" + integrity sha512-ZKtq737eFkZr71At8NxOFcP9O1K89gW3DkdrGMpp1upr/ueWjj+Weh4l9AI4rN0Gt8W2M1w7jrG2b/Yv83Ljpg== + dependencies: + punycode "^2.1.1" + is-valid-path@^0.1.1: version "0.1.1" resolved "https://registry.npmjs.org/is-valid-path/-/is-valid-path-0.1.1.tgz#110f9ff74c37f663e1ec7915eb451f2db93ac9df" @@ -17510,8 +17441,8 @@ isemail@3.x.x: isexe@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" - integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= + resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" + integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== isobject@^2.0.0: version "2.1.0" @@ -21147,6 +21078,13 @@ minimatch@3.0.4, minimatch@^3.0.3, minimatch@^3.0.4, minimatch@~3.0.4: dependencies: brace-expansion "^1.1.7" +minimatch@^3.1.1: + version "3.1.2" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" + integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== + dependencies: + brace-expansion "^1.1.7" + minimist-options@4.1.0: version "4.1.0" resolved "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz#c0655713c53a8a2ebd77ffa247d342c40f010619" @@ -21174,6 +21112,11 @@ minimist@^1.1.0, minimist@^1.1.1, minimist@^1.1.3, minimist@^1.2.0, minimist@^1. resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== +minimist@^1.2.6: + version "1.2.6" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.6.tgz#8637a5b759ea0d6e98702cfb3a9283323c93af44" + integrity sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q== + minipass-collect@^1.0.2: version "1.0.2" resolved "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz#22b813bf745dc6edba2576b940022ad6edc8c617" @@ -21347,11 +21290,11 @@ mkdirp@0.5.1: minimist "0.0.8" mkdirp@0.5.x, mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@^0.5.3, mkdirp@^0.5.5, mkdirp@~0.5.1: - version "0.5.5" - resolved "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def" - integrity sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ== + version "0.5.6" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.6.tgz#7def03d2432dcae4ba1d611445c48396062255f6" + integrity sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw== dependencies: - minimist "^1.2.5" + minimist "^1.2.6" mkdirp@^1.0.0, mkdirp@^1.0.3, mkdirp@^1.0.4: version "1.0.4" @@ -21394,9 +21337,9 @@ modify-values@^1.0.0: integrity sha512-xV2bxeN6F7oYjZWTe/YPAy6MN2M+sL4u/Rlm2AHCIVGfo2p1yGmBHQ6vHehl4bRTZBdHu3TSkWdYgkwpYzAGSw== moment@2.x, moment@^2.15.1, moment@^2.22.1, moment@^2.24.0, moment@^2.25.3, moment@^2.27.0, moment@^2.29.1: - version "2.29.1" - resolved "https://registry.npmjs.org/moment/-/moment-2.29.1.tgz#b2be769fa31940be9eeea6469c075e35006fa3d3" - integrity sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ== + version "2.29.4" + resolved "https://registry.yarnpkg.com/moment/-/moment-2.29.4.tgz#3dbe052889fe7c1b2ed966fcb3a77328964ef108" + integrity sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w== monaco-editor-webpack-plugin@2.0.0, monaco-editor-webpack-plugin@^2.0.0: version "2.0.0" @@ -21531,15 +21474,6 @@ mute-stream@0.0.8, mute-stream@~0.0.4: resolved "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d" integrity sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA== -mz@^2.7.0: - version "2.7.0" - resolved "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz#95008057a56cafadc2bc63dde7f9ff6955948e32" - integrity sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q== - dependencies: - any-promise "^1.0.0" - object-assign "^4.0.1" - thenify-all "^1.0.0" - name-all-modules-plugin@^1.0.1: version "1.0.1" resolved "https://registry.npmjs.org/name-all-modules-plugin/-/name-all-modules-plugin-1.0.1.tgz#0abfb6ad835718b9fb4def0674e06657a954375c" @@ -21613,16 +21547,6 @@ natural-compare@^1.4.0: resolved "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= -ndjson@^1.5.0: - version "1.5.0" - resolved "https://registry.npmjs.org/ndjson/-/ndjson-1.5.0.tgz#ae603b36b134bcec347b452422b0bf98d5832ec8" - integrity sha1-rmA7NrE0vOw0e0UkIrC/mNWDLsg= - dependencies: - json-stringify-safe "^5.0.1" - minimist "^1.2.0" - split2 "^2.1.0" - through2 "^2.0.3" - nearley@^2.7.10: version "2.20.1" resolved "https://registry.npmjs.org/nearley/-/nearley-2.20.1.tgz#246cd33eff0d012faf197ff6774d7ac78acdd474" @@ -21664,7 +21588,7 @@ next-tick@~1.0.0: nice-try@^1.0.4: version "1.0.5" - resolved "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" + resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== nise@^5.1.0: @@ -22381,7 +22305,7 @@ on-headers@~1.0.2: once@^1.3.0, once@^1.3.1, once@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" - integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= + integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== dependencies: wrappy "1" @@ -22559,8 +22483,8 @@ os-locale@^4.0.0: os-tmpdir@^1.0.0, os-tmpdir@~1.0.2: version "1.0.2" - resolved "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" - integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ= + resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" + integrity sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g== osenv@^0.1.4, osenv@^0.1.5: version "0.1.5" @@ -23113,7 +23037,7 @@ pascalcase@^0.1.1: password-prompt@^1.0.4: version "1.1.2" - resolved "https://registry.npmjs.org/password-prompt/-/password-prompt-1.1.2.tgz#85b2f93896c5bd9e9f2d6ff0627fa5af3dc00923" + resolved "https://registry.yarnpkg.com/password-prompt/-/password-prompt-1.1.2.tgz#85b2f93896c5bd9e9f2d6ff0627fa5af3dc00923" integrity sha512-bpuBhROdrhuN3E7G/koAju0WjVw9/uQOG5Co5mokNj0MiOSBVZS1JTwM4zl55hu0WFmIEFvO9cU9sJQiBIYeIA== dependencies: ansi-escapes "^3.1.0" @@ -23161,7 +23085,7 @@ path-exists@^4.0.0: path-is-absolute@1.0.1, path-is-absolute@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" - integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= + integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== path-is-inside@^1.0.1, path-is-inside@^1.0.2: version "1.0.2" @@ -23175,8 +23099,8 @@ path-is-root@0.1.0: path-key@^2.0.0, path-key@^2.0.1: version "2.0.1" - resolved "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" - integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= + resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" + integrity sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw== path-key@^3.0.0, path-key@^3.1.0: version "3.1.1" @@ -23251,10 +23175,10 @@ pbkdf2@^3.0.3: safe-buffer "^5.0.1" sha.js "^2.4.8" -peek-readable@^3.1.3: - version "3.1.3" - resolved "https://registry.npmjs.org/peek-readable/-/peek-readable-3.1.3.tgz#932480d46cf6aa553c46c68566c4fb69a82cd2b1" - integrity sha512-mpAcysyRJxmICBcBa5IXH7SZPvWkcghm6Fk8RekoS3v+BpbSzlZzuWbMx+GXrlUwESi9qHar4nVEZNMKylIHvg== +peek-readable@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/peek-readable/-/peek-readable-4.1.0.tgz#4ece1111bf5c2ad8867c314c81356847e8a62e72" + integrity sha512-ZI3LnwUv5nOGbQzD9c2iDG6toheuXSZP5esSHBjopsXH4dg19soufvpUGA3uohi5anFtGb2lhAVdHzH6R/Evvg== performance-now@^2.1.0: version "2.1.0" @@ -25016,7 +24940,7 @@ punycode@1.3.2: punycode@2.x.x, punycode@^2.1.0, punycode@^2.1.1: version "2.1.1" - resolved "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== punycode@^1.2.4: @@ -25149,11 +25073,6 @@ ramda@^0.24.1: resolved "https://registry.npmjs.org/ramda/-/ramda-0.24.1.tgz#c3b7755197f35b8dc3502228262c4c91ddb6b857" integrity sha1-w7d1UZfzW43DUCIoJixMkd22uFc= -ramda@^0.27.1: - version "0.27.1" - resolved "https://registry.npmjs.org/ramda/-/ramda-0.27.1.tgz#66fc2df3ef873874ffc2da6aa8984658abacf5c9" - integrity sha512-PgIdVpn5y5Yns8vqb8FzBUEYn98V3xcPgawAkkgj0YJ0qDsnHCiNmZYfOGMgOvoB0eWFLpYbhxUR3mxfDIMvpw== - randexp@0.4.6: version "0.4.6" resolved "https://registry.npmjs.org/randexp/-/randexp-0.4.6.tgz#e986ad5e5e31dae13ddd6f7b3019aa7c87f60ca3" @@ -26086,6 +26005,19 @@ react-color@2.17.1: reactcss "^1.2.0" tinycolor2 "^1.4.1" +react-color@^2.17.3: + version "2.19.3" + resolved "https://registry.npmjs.org/react-color/-/react-color-2.19.3.tgz#ec6c6b4568312a3c6a18420ab0472e146aa5683d" + integrity sha512-LEeGE/ZzNLIsFWa1TMe8y5VYqr7bibneWmvJwm1pCn/eNmrabWDh659JSPn9BuaMpEfU83WTOJfnCcjDZwNQTA== + dependencies: + "@icons/material" "^0.2.4" + lodash "^4.17.15" + lodash-es "^4.17.15" + material-colors "^1.2.1" + prop-types "^15.5.10" + reactcss "^1.2.0" + tinycolor2 "^1.4.1" + react-copy-to-clipboard@^5.0.1: version "5.0.3" resolved "https://registry.npmjs.org/react-copy-to-clipboard/-/react-copy-to-clipboard-5.0.3.tgz#2a0623b1115a1d8c84144e9434d3342b5af41ab4" @@ -26391,6 +26323,13 @@ react-resize-detector@^6.6.4: lodash.throttle "^4.1.1" resize-observer-polyfill "^1.5.1" +react-resize-detector@^7.0.0: + version "7.1.2" + resolved "https://registry.npmjs.org/react-resize-detector/-/react-resize-detector-7.1.2.tgz#8ef975dd8c3d56f9a5160ac382ef7136dcd2d86c" + integrity sha512-zXnPJ2m8+6oq9Nn8zsep/orts9vQv3elrpA+R8XTcW7DVVUJ9vwDwMXaBtykAYjMnkCIaOoK9vObyR7ZgFNlOw== + dependencies: + lodash "^4.17.21" + react-responsive@^8.0.1: version "8.2.0" resolved "https://registry.npmjs.org/react-responsive/-/react-responsive-8.2.0.tgz#e0ffb306cfd8f38c9c12e26725b9e1245fa9debc" @@ -26841,11 +26780,10 @@ readable-stream@~1.0.31: string_decoder "~0.10.x" readable-web-to-node-stream@^3.0.0: - version "3.0.1" - resolved "https://registry.npmjs.org/readable-web-to-node-stream/-/readable-web-to-node-stream-3.0.1.tgz#3f619b1bc5dd73a4cfe5c5f9b4f6faba55dff845" - integrity sha512-4zDC6CvjUyusN7V0QLsXVB7pJCD9+vtrM9bYDRv6uBQ+SKfx36rp5AFNPRgh9auKRul/a1iFZJYXcCbwRL+SaA== + version "3.0.2" + resolved "https://registry.yarnpkg.com/readable-web-to-node-stream/-/readable-web-to-node-stream-3.0.2.tgz#5d52bb5df7b54861fd48d015e93a2cb87b3ee0bb" + integrity sha512-ePeK6cc1EcKLEhJFt/AebMCLL+GgSKhuygrZ/GLaKZYEecIgIECf4UaUuaByiGtzckwR4ain9VzUh95T1exYGw== dependencies: - "@types/readable-stream" "^2.3.9" readable-stream "^3.6.0" readdir-scoped-modules@^1.0.0: @@ -27989,16 +27927,16 @@ rxjs@^6.3.3, rxjs@^6.4.0, rxjs@^6.5.3, rxjs@^6.6.0, rxjs@^6.6.7: dependencies: tslib "^1.9.0" -safe-buffer@*, safe-buffer@>=5.1.0, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@^5.2.1, safe-buffer@~5.2.0: - version "5.2.1" - resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" - integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== - safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: version "5.1.2" resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== +safe-buffer@>=5.1.0, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@^5.2.1, safe-buffer@~5.2.0: + version "5.2.1" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" + integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== + safe-identifier@^0.4.2: version "0.4.2" resolved "https://registry.npmjs.org/safe-identifier/-/safe-identifier-0.4.2.tgz#cf6bfca31c2897c588092d1750d30ef501d59fcb" @@ -28405,7 +28343,7 @@ sharp@^0.27.0: shebang-command@^1.2.0: version "1.2.0" - resolved "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" + resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" integrity sha1-RKrGW2lbAzmJaMOfNj/uXer98eo= dependencies: shebang-regex "^1.0.0" @@ -28419,7 +28357,7 @@ shebang-command@^2.0.0: shebang-regex@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" + resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" integrity sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= shebang-regex@^3.0.0: @@ -28905,9 +28843,9 @@ source-map-resolve@^0.5.0, source-map-resolve@^0.5.2: urix "^0.1.0" source-map-support@^0.5.17, source-map-support@^0.5.19, source-map-support@^0.5.6, source-map-support@^0.5.9, source-map-support@~0.5.12, source-map-support@~0.5.19: - version "0.5.19" - resolved "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz#a98b62f86dcaf4f67399648c085291ab9e8fed61" - integrity sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw== + version "0.5.21" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f" + integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== dependencies: buffer-from "^1.0.0" source-map "^0.6.0" @@ -29020,13 +28958,6 @@ split-string@^3.0.1, split-string@^3.0.2: dependencies: extend-shallow "^3.0.0" -split2@^2.1.0: - version "2.2.0" - resolved "https://registry.npmjs.org/split2/-/split2-2.2.0.tgz#186b2575bcf83e85b7d18465756238ee4ee42493" - integrity sha512-RAb22TG39LhI31MbreBgIuKiIKhVsawfTgEGqKHTK87aG+ul/PB8Sqoi3I7kVdRWiCfrKxK3uo4/YUkpNvhPbw== - dependencies: - through2 "^2.0.2" - split2@^3.0.0: version "3.2.2" resolved "https://registry.npmjs.org/split2/-/split2-3.2.2.tgz#bf2cf2a37d838312c249c89206fd7a17dd12365f" @@ -29432,7 +29363,7 @@ string.prototype.trimstart@^1.0.4: string_decoder@^1.0.0, string_decoder@^1.1.1, string_decoder@^1.3.0: version "1.3.0" - resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== dependencies: safe-buffer "~5.2.0" @@ -29610,14 +29541,13 @@ strong-log-transformer@^2.1.0: minimist "^1.2.0" through "^2.3.4" -strtok3@^6.0.3: - version "6.0.8" - resolved "https://registry.npmjs.org/strtok3/-/strtok3-6.0.8.tgz#c839157f615c10ba0f4ae35067dad9959eeca346" - integrity sha512-QLgv+oiXwXgCgp2PdPPa+Jpp4D9imK9e/0BsyfeFMr6QL6wMVqoVn9+OXQ9I7MZbmUzN6lmitTJ09uwS2OmGcw== +strtok3@^6.2.4: + version "6.3.0" + resolved "https://registry.yarnpkg.com/strtok3/-/strtok3-6.3.0.tgz#358b80ffe6d5d5620e19a073aa78ce947a90f9a0" + integrity sha512-fZtbhtvI9I48xDSywd/somNqgUHl2L2cstmXCCif0itOf96jeW18MBSyrLuNicYQVkvpOxkZtkzujiTJ9LW5Jw== dependencies: - "@tokenizer/token" "^0.1.1" - "@types/debug" "^4.1.5" - peek-readable "^3.1.3" + "@tokenizer/token" "^0.3.0" + peek-readable "^4.1.0" style-inject@^0.3.0: version "0.3.0" @@ -29962,7 +29892,7 @@ subscriptions-transport-ws@^0.9.18: sudo-prompt@^8.2.0: version "8.2.5" - resolved "https://registry.npmjs.org/sudo-prompt/-/sudo-prompt-8.2.5.tgz#cc5ef3769a134bb94b24a631cc09628d4d53603e" + resolved "https://registry.yarnpkg.com/sudo-prompt/-/sudo-prompt-8.2.5.tgz#cc5ef3769a134bb94b24a631cc09628d4d53603e" integrity sha512-rlBo3HU/1zAJUrkY6jNxDOC9eVYliG6nS4JA8u8KAshITd07tafMc/Br7xQwCSseXwJ2iCcHCE8SNWX3q8Z+kw== sugarss@^2.0.0: @@ -30351,9 +30281,9 @@ terser@5.6.0: source-map-support "~0.5.19" terser@^4.0.0, terser@^4.1.2, terser@^4.6.12, terser@^4.6.3: - version "4.8.0" - resolved "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz#63056343d7c70bb29f3af665865a46fe03a0df17" - integrity sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw== + version "4.8.1" + resolved "https://registry.yarnpkg.com/terser/-/terser-4.8.1.tgz#a00e5634562de2239fd404c649051bf6fc21144f" + integrity sha512-4GnLC0x667eJG0ewJTa6z/yXrbLGv80D9Ru6HIpCQmO+Q4PfEtBFi0ObSckqwL6VyQv/7ENJieXHo2ANmdQwgw== dependencies: commander "^2.20.0" source-map "~0.6.1" @@ -30402,20 +30332,6 @@ textextensions@^2.5.0: resolved "https://registry.npmjs.org/textextensions/-/textextensions-2.6.0.tgz#d7e4ab13fe54e32e08873be40d51b74229b00fc4" integrity sha512-49WtAWS+tcsy93dRt6P0P3AMD2m5PvXRhuEA0kaXos5ZLlujtYmpmFsB+QvWUSxE1ZsstmYXfQ7L40+EcQgpAQ== -thenify-all@^1.0.0: - version "1.6.0" - resolved "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz#1a1918d402d8fc3f98fbf234db0bcc8cc10e9726" - integrity sha1-GhkY1ALY/D+Y+/I02wvMjMEOlyY= - dependencies: - thenify ">= 3.1.0 < 4" - -"thenify@>= 3.1.0 < 4": - version "3.3.1" - resolved "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz#8932e686a4066038a016dd9e2ca46add9838a95f" - integrity sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw== - dependencies: - any-promise "^1.0.0" - throat@^4.0.0, throat@^4.1.0: version "4.1.0" resolved "https://registry.npmjs.org/throat/-/throat-4.1.0.tgz#89037cbc92c56ab18926e6ba4cbb200e15672a6a" @@ -30436,7 +30352,7 @@ throttle-debounce@^2.1.0: resolved "https://registry.npmjs.org/throttle-debounce/-/throttle-debounce-2.3.0.tgz#fd31865e66502071e411817e241465b3e9c372e2" integrity sha512-H7oLPV0P7+jgvrk+6mwwwBDmxTaxnu9HMXmloNLXwnNO0ZxZ31Orah2n8lU1eMPvsaowP2CX+USCgyovXfdOFQ== -through2@^2.0.0, through2@^2.0.1, through2@^2.0.2, through2@^2.0.3: +through2@^2.0.0, through2@^2.0.1: version "2.0.5" resolved "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd" integrity sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ== @@ -30524,7 +30440,7 @@ title-case@^2.1.0: tmp@^0.0.33: version "0.0.33" - resolved "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" + resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" integrity sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw== dependencies: os-tmpdir "~1.0.2" @@ -30613,12 +30529,12 @@ toidentifier@1.0.0: resolved "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz#7e1be3470f1e77948bc43d94a3c8f4d7752ba553" integrity sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw== -token-types@^2.0.0: - version "2.1.1" - resolved "https://registry.npmjs.org/token-types/-/token-types-2.1.1.tgz#bd585d64902aaf720b8979d257b4b850b4d45c45" - integrity sha512-wnQcqlreS6VjthyHO3Y/kpK/emflxDBNhlNUPfh7wE39KnuDdOituXomIbyI79vBtF0Ninpkh72mcuRHo+RG3Q== +token-types@^4.1.1: + version "4.2.0" + resolved "https://registry.yarnpkg.com/token-types/-/token-types-4.2.0.tgz#b66bc3d67420c6873222a424eee64a744f4c2f13" + integrity sha512-P0rrp4wUpefLncNamWIef62J0v0kQR/GfDVji9WKY7GDCWy5YbVSrKUTam07iWPZQGy0zWNOfstYTykMmPNR7w== dependencies: - "@tokenizer/token" "^0.1.1" + "@tokenizer/token" "^0.3.0" ieee754 "^1.2.1" topo@2.x.x: @@ -30841,12 +30757,7 @@ tslib@^1.10.0, tslib@^1.8.0, tslib@^1.8.1, tslib@^1.9.0: resolved "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== -tslib@^2, tslib@^2.0.0, tslib@^2.0.3, tslib@^2.2.0: - version "2.3.0" - resolved "https://registry.npmjs.org/tslib/-/tslib-2.3.0.tgz#803b8cdab3e12ba581a4ca41c8839bbb0dacb09e" - integrity sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg== - -tslib@^2.3.1: +tslib@^2, tslib@^2.0.0, tslib@^2.0.3, tslib@^2.2.0, tslib@^2.3.1: version "2.3.1" resolved "https://registry.nlark.com/tslib/download/tslib-2.3.1.tgz#e8a335add5ceae51aa261d32a490158ef042ef01" integrity sha1-6KM1rdXOrlGqJh0ypJAVjvBC7wE= @@ -32058,9 +31969,9 @@ uri-js@^4.2.2: punycode "^2.1.0" urijs@^1.19.2: - version "1.19.10" - resolved "https://registry.yarnpkg.com/urijs/-/urijs-1.19.10.tgz#8e2fe70a8192845c180f75074884278f1eea26cb" - integrity sha512-EzauQlgKuJgsXOqoMrCiePBf4At5jVqRhXykF3Wfb8ZsOBMxPcfiVBcsHXug4Aepb/ICm2PIgqAUGMelgdrWEg== + version "1.19.11" + resolved "https://registry.yarnpkg.com/urijs/-/urijs-1.19.11.tgz#204b0d6b605ae80bea54bea39280cdb7c9f923cc" + integrity sha512-HXgFDgDommxn5/bIv0cnQZsPhHDA90NPHD6+c/v21U5+Sx5hoP8+dP9IZXBU1gIfvdRfhG8cel9QNPeionfcCQ== urix@^0.1.0: version "0.1.0" @@ -32171,8 +32082,8 @@ user-home@2.0.0, user-home@^2.0.0: util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1: version "1.0.2" - resolved "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" - integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= + resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" + integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== util-promisify@^2.1.0: version "2.1.0" @@ -32450,10 +32361,10 @@ void-elements@^2.0.0: resolved "https://registry.npmjs.org/void-elements/-/void-elements-2.0.1.tgz#c066afb582bb1cb4128d60ea92392e94d5e9dbec" integrity sha1-wGavtYK7HLQSjWDqkjkulNXp2+w= -vue-demi@^0.7.4: - version "0.7.5" - resolved "https://registry.npmjs.org/vue-demi/-/vue-demi-0.7.5.tgz#88dee7492fc99a0f911ff03fc02c658fa2a79af8" - integrity sha512-eFSQSvbQdY7C9ujOzvM6tn7XxwLjn0VQDXQsiYBLBwf28Na+2nTQR4BBBcomhmdP6mmHlBKAwarq6a0BPG87hQ== +vue-demi@latest: + version "0.13.6" + resolved "https://registry.npmjs.org/vue-demi/-/vue-demi-0.13.6.tgz#f9433cbd75e68a970dec066647f4ba6c08ced48f" + integrity sha512-02NYpxgyGE2kKGegRPYlNQSL1UWfA/+JqvzhGCOYjhfbLWXU5QQX0+9pAm/R2sCOPKr5NBxVIab7fvFU0B1RxQ== vue@^2.6.12: version "2.6.14" @@ -33327,17 +33238,13 @@ worker-rpc@^0.1.0: dependencies: microevent.ts "~0.1.1" -workspace-tools@^0.12.3: - version "0.12.3" - resolved "https://registry.npmjs.org/workspace-tools/-/workspace-tools-0.12.3.tgz#71da0c7acdd65576cb7f666aca132abdbe5c3eb9" - integrity sha512-Toq4VI4GJw5naWxgXNU5/mmuu6PeiCRRZDkVOoeJacqQ6r0zRGWVBxE4YXQp2SADTKdC1ATwqsE+6bcJTZUmpA== +workspace-tools@^0.18.4: + version "0.18.4" + resolved "https://registry.yarnpkg.com/workspace-tools/-/workspace-tools-0.18.4.tgz#a59ca6dc864d07aafc06a9ff4a9ff093456b8765" + integrity sha512-ZdhlB4NEC3uJ4eW7snyHKOfzMC00HXWO2QbIU3aY8XBdtE+VrU2ajv+oxDUIZfCLD4Wlk3ltWaPt4Jk6IC9bMA== dependencies: - "@pnpm/lockfile-file" "^3.0.7" - "@pnpm/logger" "^3.2.2" "@yarnpkg/lockfile" "^1.1.0" find-up "^4.1.0" - find-yarn-workspace-root "^1.2.1" - fs-extra "^9.0.0" git-url-parse "^11.1.2" globby "^11.0.0" jju "^1.4.0"