mirror of
https://github.com/mermaid-js/mermaid.git
synced 2025-01-21 06:53:17 +08:00
Merge branch 'develop' into origin/3258_Flowchart_nodeSpacing_Subgraph
This commit is contained in:
commit
6a1a38b395
109
.github/workflows/e2e.yml
vendored
109
.github/workflows/e2e.yml
vendored
@ -1,16 +1,63 @@
|
|||||||
|
# We use github cache to save snapshots between runs.
|
||||||
|
# For PRs and MergeQueues, the target commit is used, and for push events, github.event.previous is used.
|
||||||
|
# If a snapshot for a given Hash is not found, we checkout that commit, run the tests and cache the snapshots.
|
||||||
|
# These are then downloaded before running the E2E, providing the reference snapshots.
|
||||||
|
# If there are any errors, the diff image is uploaded to artifacts, and the user is notified.
|
||||||
|
|
||||||
name: E2E
|
name: E2E
|
||||||
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
|
branches-ignore:
|
||||||
|
- 'gh-readonly-queue/**'
|
||||||
pull_request:
|
pull_request:
|
||||||
merge_group:
|
merge_group:
|
||||||
|
|
||||||
permissions:
|
permissions:
|
||||||
contents: read
|
contents: read
|
||||||
|
|
||||||
|
env:
|
||||||
|
# For PRs and MergeQueues, the target commit is used, and for push events, github.event.previous is used.
|
||||||
|
targetHash: ${{ github.event.pull_request.base.sha || github.event.merge_group.base_sha || github.event.before }}
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
|
cache:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
- uses: pnpm/action-setup@v2
|
||||||
|
- name: Setup Node.js
|
||||||
|
uses: actions/setup-node@v4
|
||||||
|
with:
|
||||||
|
node-version: 18.x
|
||||||
|
|
||||||
|
- name: Cache snapshots
|
||||||
|
id: cache-snapshot
|
||||||
|
uses: actions/cache@v4
|
||||||
|
with:
|
||||||
|
save-always: true
|
||||||
|
path: ./cypress/snapshots
|
||||||
|
key: ${{ runner.os }}-snapshots-${{ env.targetHash }}
|
||||||
|
|
||||||
|
# If a snapshot for a given Hash is not found, we checkout that commit, run the tests and cache the snapshots.
|
||||||
|
- name: Switch to base branch
|
||||||
|
if: ${{ steps.cache-snapshot.outputs.cache-hit != 'true' }}
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
ref: ${{ env.targetHash }}
|
||||||
|
|
||||||
|
- name: Cypress run
|
||||||
|
uses: cypress-io/github-action@v4
|
||||||
|
id: cypress-snapshot-gen
|
||||||
|
if: ${{ steps.cache-snapshot.outputs.cache-hit != 'true' }}
|
||||||
|
with:
|
||||||
|
start: pnpm run dev
|
||||||
|
wait-on: 'http://localhost:9000'
|
||||||
|
browser: chrome
|
||||||
|
|
||||||
e2e:
|
e2e:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
needs: cache
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
@ -27,6 +74,14 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
node-version: ${{ matrix.node-version }}
|
node-version: ${{ matrix.node-version }}
|
||||||
|
|
||||||
|
# These cached snapshots are downloaded, providing the reference snapshots.
|
||||||
|
- name: Cache snapshots
|
||||||
|
id: cache-snapshot
|
||||||
|
uses: actions/cache/restore@v3
|
||||||
|
with:
|
||||||
|
path: ./cypress/snapshots
|
||||||
|
key: ${{ runner.os }}-snapshots-${{ env.targetHash }}
|
||||||
|
|
||||||
# Install NPM dependencies, cache them correctly
|
# Install NPM dependencies, cache them correctly
|
||||||
# and run all Cypress tests
|
# and run all Cypress tests
|
||||||
- name: Cypress run
|
- name: Cypress run
|
||||||
@ -38,6 +93,7 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
start: pnpm run dev:coverage
|
start: pnpm run dev:coverage
|
||||||
wait-on: 'http://localhost:9000'
|
wait-on: 'http://localhost:9000'
|
||||||
|
browser: chrome
|
||||||
# Disable recording if we don't have an API key
|
# Disable recording if we don't have an API key
|
||||||
# e.g. if this action was run from a fork
|
# e.g. if this action was run from a fork
|
||||||
record: ${{ secrets.CYPRESS_RECORD_KEY != '' }}
|
record: ${{ secrets.CYPRESS_RECORD_KEY != '' }}
|
||||||
@ -46,6 +102,7 @@ jobs:
|
|||||||
CYPRESS_RECORD_KEY: ${{ secrets.CYPRESS_RECORD_KEY }}
|
CYPRESS_RECORD_KEY: ${{ secrets.CYPRESS_RECORD_KEY }}
|
||||||
VITEST_COVERAGE: true
|
VITEST_COVERAGE: true
|
||||||
CYPRESS_COMMIT: ${{ github.sha }}
|
CYPRESS_COMMIT: ${{ github.sha }}
|
||||||
|
|
||||||
- name: Upload Coverage to Codecov
|
- name: Upload Coverage to Codecov
|
||||||
uses: codecov/codecov-action@v3
|
uses: codecov/codecov-action@v3
|
||||||
# Run step only pushes to develop and pull_requests
|
# Run step only pushes to develop and pull_requests
|
||||||
@ -57,9 +114,55 @@ jobs:
|
|||||||
fail_ci_if_error: false
|
fail_ci_if_error: false
|
||||||
verbose: true
|
verbose: true
|
||||||
token: 6845cc80-77ee-4e17-85a1-026cd95e0766
|
token: 6845cc80-77ee-4e17-85a1-026cd95e0766
|
||||||
|
|
||||||
|
# We upload the artifacts into numbered archives to prevent overwriting
|
||||||
- name: Upload Artifacts
|
- name: Upload Artifacts
|
||||||
uses: actions/upload-artifact@v3
|
uses: actions/upload-artifact@v4
|
||||||
if: ${{ failure() && steps.cypress.conclusion == 'failure' }}
|
if: ${{ always() }}
|
||||||
|
with:
|
||||||
|
name: snapshots-${{ matrix.containers }}
|
||||||
|
retention-days: 1
|
||||||
|
path: ./cypress/snapshots
|
||||||
|
|
||||||
|
combineArtifacts:
|
||||||
|
needs: e2e
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
if: ${{ always() }}
|
||||||
|
steps:
|
||||||
|
# Download all snapshot artifacts and merge them into a single folder
|
||||||
|
- name: Download All Artifacts
|
||||||
|
uses: actions/download-artifact@v4
|
||||||
|
with:
|
||||||
|
path: snapshots
|
||||||
|
pattern: snapshots-*
|
||||||
|
merge-multiple: true
|
||||||
|
|
||||||
|
# For successful push events, we save the snapshots cache
|
||||||
|
- name: Save snapshots cache
|
||||||
|
id: cache-upload
|
||||||
|
if: ${{ github.event_name == 'push' && needs.e2e.result != 'failure' }}
|
||||||
|
uses: actions/cache/save@v3
|
||||||
|
with:
|
||||||
|
path: ./snapshots
|
||||||
|
key: ${{ runner.os }}-snapshots-${{ github.event.after }}
|
||||||
|
|
||||||
|
- name: Flatten images to a folder
|
||||||
|
if: ${{ needs.e2e.result == 'failure' }}
|
||||||
|
run: |
|
||||||
|
mkdir errors
|
||||||
|
cd snapshots
|
||||||
|
find . -mindepth 2 -type d -name "*__diff_output__*" -exec sh -c 'mv "$0"/*.png ../errors/' {} \;
|
||||||
|
|
||||||
|
- name: Upload Error snapshots
|
||||||
|
if: ${{ needs.e2e.result == 'failure' }}
|
||||||
|
uses: actions/upload-artifact@v4
|
||||||
|
id: upload-artifacts
|
||||||
with:
|
with:
|
||||||
name: error-snapshots
|
name: error-snapshots
|
||||||
path: cypress/snapshots/**/__diff_output__/*
|
retention-days: 10
|
||||||
|
path: errors/
|
||||||
|
|
||||||
|
- name: Notify Users
|
||||||
|
if: ${{ needs.e2e.result == 'failure' }}
|
||||||
|
run: |
|
||||||
|
echo "::error title=Visual tests failed::You can view images that failed by downloading the error-snapshots artifact: ${{ steps.upload-artifacts.outputs.artifact-url }}"
|
||||||
|
@ -102,6 +102,7 @@
|
|||||||
"pathe",
|
"pathe",
|
||||||
"pbrolin",
|
"pbrolin",
|
||||||
"phpbb",
|
"phpbb",
|
||||||
|
"pixelmatch",
|
||||||
"plantuml",
|
"plantuml",
|
||||||
"playfair",
|
"playfair",
|
||||||
"pnpm",
|
"pnpm",
|
||||||
@ -124,6 +125,7 @@
|
|||||||
"sidharth",
|
"sidharth",
|
||||||
"sidharthv",
|
"sidharthv",
|
||||||
"sphinxcontrib",
|
"sphinxcontrib",
|
||||||
|
"ssim",
|
||||||
"startx",
|
"startx",
|
||||||
"starty",
|
"starty",
|
||||||
"statediagram",
|
"statediagram",
|
||||||
|
@ -6,10 +6,18 @@ const coverage = require('@cypress/code-coverage/task');
|
|||||||
|
|
||||||
module.exports = defineConfig({
|
module.exports = defineConfig({
|
||||||
projectId: 'n2sma2',
|
projectId: 'n2sma2',
|
||||||
|
viewportWidth: 1440,
|
||||||
|
viewportHeight: 1024,
|
||||||
e2e: {
|
e2e: {
|
||||||
specPattern: 'cypress/integration/**/*.{js,jsx,ts,tsx}',
|
specPattern: 'cypress/integration/**/*.{js,ts}',
|
||||||
setupNodeEvents(on, config) {
|
setupNodeEvents(on, config) {
|
||||||
coverage(on, config);
|
coverage(on, config);
|
||||||
|
on('before:browser:launch', (browser = {}, launchOptions) => {
|
||||||
|
if (browser.name === 'chrome' && browser.isHeadless) {
|
||||||
|
launchOptions.args.push('--window-size=1440,1024', '--force-device-scale-factor=1');
|
||||||
|
}
|
||||||
|
return launchOptions;
|
||||||
|
});
|
||||||
addMatchImageSnapshotPlugin(on, config);
|
addMatchImageSnapshotPlugin(on, config);
|
||||||
// copy any needed variables from process.env to config.env
|
// copy any needed variables from process.env to config.env
|
||||||
config.env.useAppli = process.env.USE_APPLI ? true : false;
|
config.env.useAppli = process.env.USE_APPLI ? true : false;
|
||||||
|
@ -117,7 +117,6 @@ describe('Configuration', () => {
|
|||||||
});
|
});
|
||||||
it('should not taint the initial configuration when using multiple directives', () => {
|
it('should not taint the initial configuration when using multiple directives', () => {
|
||||||
const url = 'http://localhost:9000/regression/issue-1874.html';
|
const url = 'http://localhost:9000/regression/issue-1874.html';
|
||||||
cy.viewport(1440, 1024);
|
|
||||||
cy.visit(url);
|
cy.visit(url);
|
||||||
|
|
||||||
cy.get('svg');
|
cy.get('svg');
|
||||||
|
@ -1,14 +1,12 @@
|
|||||||
describe('Rerendering', () => {
|
describe('Rerendering', () => {
|
||||||
it('should be able to render after an error has occurred', () => {
|
it('should be able to render after an error has occurred', () => {
|
||||||
const url = 'http://localhost:9000/render-after-error.html';
|
const url = 'http://localhost:9000/render-after-error.html';
|
||||||
cy.viewport(1440, 1024);
|
|
||||||
cy.visit(url);
|
cy.visit(url);
|
||||||
cy.get('#graphDiv').should('exist');
|
cy.get('#graphDiv').should('exist');
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should be able to render and rerender a graph via API', () => {
|
it('should be able to render and rerender a graph via API', () => {
|
||||||
const url = 'http://localhost:9000/rerender.html';
|
const url = 'http://localhost:9000/rerender.html';
|
||||||
cy.viewport(1440, 1024);
|
|
||||||
cy.visit(url);
|
cy.visit(url);
|
||||||
cy.get('#graph [id^=flowchart-A]').should('have.text', 'XMas');
|
cy.get('#graph [id^=flowchart-A]').should('have.text', 'XMas');
|
||||||
|
|
||||||
|
@ -1,12 +0,0 @@
|
|||||||
import { imgSnapshotTest } from '../../helpers/util.ts';
|
|
||||||
|
|
||||||
describe('Flowchart', () => {
|
|
||||||
it('34: testing the label width in percy', () => {
|
|
||||||
imgSnapshotTest(
|
|
||||||
`graph TD
|
|
||||||
A[Christmas]
|
|
||||||
`,
|
|
||||||
{ theme: 'forest', fontFamily: '"Noto Sans SC", sans-serif' }
|
|
||||||
);
|
|
||||||
});
|
|
||||||
});
|
|
@ -245,7 +245,10 @@ describe('Gantt diagram', () => {
|
|||||||
const style = svg.attr('style');
|
const style = svg.attr('style');
|
||||||
expect(style).to.match(/^max-width: [\d.]+px;$/);
|
expect(style).to.match(/^max-width: [\d.]+px;$/);
|
||||||
const maxWidthValue = parseFloat(style.match(/[\d.]+/g).join(''));
|
const maxWidthValue = parseFloat(style.match(/[\d.]+/g).join(''));
|
||||||
expect(maxWidthValue).to.be.within(984 * 0.95, 984 * 1.05);
|
expect(maxWidthValue).to.be.within(
|
||||||
|
Cypress.config().viewportWidth * 0.95,
|
||||||
|
Cypress.config().viewportWidth * 1.05
|
||||||
|
);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -285,11 +288,11 @@ describe('Gantt diagram', () => {
|
|||||||
{ gantt: { useMaxWidth: false } }
|
{ gantt: { useMaxWidth: false } }
|
||||||
);
|
);
|
||||||
cy.get('svg').should((svg) => {
|
cy.get('svg').should((svg) => {
|
||||||
// const height = parseFloat(svg.attr('height'));
|
|
||||||
const width = parseFloat(svg.attr('width'));
|
const width = parseFloat(svg.attr('width'));
|
||||||
// use within because the absolute value can be slightly different depending on the environment ±5%
|
expect(width).to.be.within(
|
||||||
// expect(height).to.be.within(484 * 0.95, 484 * 1.05);
|
Cypress.config().viewportWidth * 0.95,
|
||||||
expect(width).to.be.within(984 * 0.95, 984 * 1.05);
|
Cypress.config().viewportWidth * 1.05
|
||||||
|
);
|
||||||
expect(svg).to.not.have.attr('style');
|
expect(svg).to.not.have.attr('style');
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
@ -24,8 +24,18 @@
|
|||||||
// -- This is will overwrite an existing command --
|
// -- This is will overwrite an existing command --
|
||||||
// Cypress.Commands.overwrite("visit", (originalFn, url, options) => { ... })
|
// Cypress.Commands.overwrite("visit", (originalFn, url, options) => { ... })
|
||||||
|
|
||||||
// import '@percy/cypress';
|
|
||||||
|
|
||||||
import { addMatchImageSnapshotCommand } from 'cypress-image-snapshot/command';
|
import { addMatchImageSnapshotCommand } from 'cypress-image-snapshot/command';
|
||||||
|
|
||||||
|
// The SSIM comparison method can be used if the pixelmatch is throwing lots of false positives.
|
||||||
|
// SSIM actually does not catch minute changes in the image, so it is not as accurate as pixelmatch.
|
||||||
|
// addMatchImageSnapshotCommand({
|
||||||
|
// comparisonMethod: 'ssim',
|
||||||
|
// failureThreshold: 0.01,
|
||||||
|
// failureThresholdType: 'percent',
|
||||||
|
// customDiffConfig: {
|
||||||
|
// ssim: 'fast',
|
||||||
|
// },
|
||||||
|
// blur: 1,
|
||||||
|
// });
|
||||||
|
|
||||||
addMatchImageSnapshotCommand();
|
addMatchImageSnapshotCommand();
|
||||||
|
121
pnpm-lock.yaml
generated
121
pnpm-lock.yaml
generated
@ -377,7 +377,7 @@ importers:
|
|||||||
version: 1.0.0-alpha.72(@algolia/client-search@4.19.1)(@types/node@18.17.5)(search-insights@2.7.0)
|
version: 1.0.0-alpha.72(@algolia/client-search@4.19.1)(@types/node@18.17.5)(search-insights@2.7.0)
|
||||||
vitepress-plugin-search:
|
vitepress-plugin-search:
|
||||||
specifier: ^1.0.4-alpha.20
|
specifier: ^1.0.4-alpha.20
|
||||||
version: 1.0.4-alpha.20(flexsearch@0.7.31)(vitepress@1.0.0-alpha.72)(vue@3.3.8)
|
version: 1.0.4-alpha.20(flexsearch@0.7.31)(vitepress@1.0.0-alpha.72)(vue@3.4.15)
|
||||||
|
|
||||||
packages/mermaid-example-diagram:
|
packages/mermaid-example-diagram:
|
||||||
dependencies:
|
dependencies:
|
||||||
@ -464,7 +464,7 @@ importers:
|
|||||||
version: 1.1.0
|
version: 1.1.0
|
||||||
unocss:
|
unocss:
|
||||||
specifier: ^0.58.0
|
specifier: ^0.58.0
|
||||||
version: 0.58.0(postcss@8.4.31)(rollup@2.79.1)(vite@4.5.0)
|
version: 0.58.0(postcss@8.4.33)(rollup@2.79.1)(vite@4.5.0)
|
||||||
unplugin-vue-components:
|
unplugin-vue-components:
|
||||||
specifier: ^0.26.0
|
specifier: ^0.26.0
|
||||||
version: 0.26.0(rollup@2.79.1)(vue@3.3.4)
|
version: 0.26.0(rollup@2.79.1)(vue@3.3.4)
|
||||||
@ -476,7 +476,7 @@ importers:
|
|||||||
version: 0.17.0(vite@4.5.0)(workbox-build@7.0.0)(workbox-window@7.0.0)
|
version: 0.17.0(vite@4.5.0)(workbox-build@7.0.0)(workbox-window@7.0.0)
|
||||||
vitepress:
|
vitepress:
|
||||||
specifier: 1.0.0-rc.39
|
specifier: 1.0.0-rc.39
|
||||||
version: 1.0.0-rc.39(@algolia/client-search@4.19.1)(@types/node@18.17.5)(postcss@8.4.31)(search-insights@2.7.0)(typescript@5.1.6)
|
version: 1.0.0-rc.39(@algolia/client-search@4.19.1)(@types/node@18.17.5)(postcss@8.4.33)(search-insights@2.7.0)(typescript@5.1.6)
|
||||||
workbox-window:
|
workbox-window:
|
||||||
specifier: ^7.0.0
|
specifier: ^7.0.0
|
||||||
version: 7.0.0
|
version: 7.0.0
|
||||||
@ -5593,7 +5593,7 @@ packages:
|
|||||||
sirv: 2.0.3
|
sirv: 2.0.3
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/@unocss/postcss@0.58.0(postcss@8.4.31):
|
/@unocss/postcss@0.58.0(postcss@8.4.33):
|
||||||
resolution: {integrity: sha512-2hAwLbfUFqysi8FN1cn3xkHy5GhLMlYy6W4NrAZ2ws7F2MKpsCT2xCj7dT5cI2tW8ulD2YoVbKH15dBhNsMNUA==}
|
resolution: {integrity: sha512-2hAwLbfUFqysi8FN1cn3xkHy5GhLMlYy6W4NrAZ2ws7F2MKpsCT2xCj7dT5cI2tW8ulD2YoVbKH15dBhNsMNUA==}
|
||||||
engines: {node: '>=14'}
|
engines: {node: '>=14'}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
@ -5605,7 +5605,7 @@ packages:
|
|||||||
css-tree: 2.3.1
|
css-tree: 2.3.1
|
||||||
fast-glob: 3.3.2
|
fast-glob: 3.3.2
|
||||||
magic-string: 0.30.5
|
magic-string: 0.30.5
|
||||||
postcss: 8.4.31
|
postcss: 8.4.33
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/@unocss/preset-attributify@0.58.0:
|
/@unocss/preset-attributify@0.58.0:
|
||||||
@ -5876,15 +5876,6 @@ packages:
|
|||||||
estree-walker: 2.0.2
|
estree-walker: 2.0.2
|
||||||
source-map-js: 1.0.2
|
source-map-js: 1.0.2
|
||||||
|
|
||||||
/@vue/compiler-core@3.3.8:
|
|
||||||
resolution: {integrity: sha512-hN/NNBUECw8SusQvDSqqcVv6gWq8L6iAktUR0UF3vGu2OhzRqcOiAno0FmBJWwxhYEXRlQJT5XnoKsVq1WZx4g==}
|
|
||||||
dependencies:
|
|
||||||
'@babel/parser': 7.23.5
|
|
||||||
'@vue/shared': 3.3.8
|
|
||||||
estree-walker: 2.0.2
|
|
||||||
source-map-js: 1.0.2
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/@vue/compiler-core@3.4.15:
|
/@vue/compiler-core@3.4.15:
|
||||||
resolution: {integrity: sha512-XcJQVOaxTKCnth1vCxEChteGuwG6wqnUHxAm1DO3gCz0+uXKaJNx8/digSz4dLALCy8n2lKq24jSUs8segoqIw==}
|
resolution: {integrity: sha512-XcJQVOaxTKCnth1vCxEChteGuwG6wqnUHxAm1DO3gCz0+uXKaJNx8/digSz4dLALCy8n2lKq24jSUs8segoqIw==}
|
||||||
dependencies:
|
dependencies:
|
||||||
@ -5901,13 +5892,6 @@ packages:
|
|||||||
'@vue/compiler-core': 3.3.4
|
'@vue/compiler-core': 3.3.4
|
||||||
'@vue/shared': 3.3.4
|
'@vue/shared': 3.3.4
|
||||||
|
|
||||||
/@vue/compiler-dom@3.3.8:
|
|
||||||
resolution: {integrity: sha512-+PPtv+p/nWDd0AvJu3w8HS0RIm/C6VGBIRe24b9hSyNWOAPEUosFZ5diwawwP8ip5sJ8n0Pe87TNNNHnvjs0FQ==}
|
|
||||||
dependencies:
|
|
||||||
'@vue/compiler-core': 3.3.8
|
|
||||||
'@vue/shared': 3.3.8
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/@vue/compiler-dom@3.4.15:
|
/@vue/compiler-dom@3.4.15:
|
||||||
resolution: {integrity: sha512-wox0aasVV74zoXyblarOM3AZQz/Z+OunYcIHe1OsGclCHt8RsRm04DObjefaI82u6XDzv+qGWZ24tIsRAIi5MQ==}
|
resolution: {integrity: sha512-wox0aasVV74zoXyblarOM3AZQz/Z+OunYcIHe1OsGclCHt8RsRm04DObjefaI82u6XDzv+qGWZ24tIsRAIi5MQ==}
|
||||||
dependencies:
|
dependencies:
|
||||||
@ -5929,21 +5913,6 @@ packages:
|
|||||||
postcss: 8.4.31
|
postcss: 8.4.31
|
||||||
source-map-js: 1.0.2
|
source-map-js: 1.0.2
|
||||||
|
|
||||||
/@vue/compiler-sfc@3.3.8:
|
|
||||||
resolution: {integrity: sha512-WMzbUrlTjfYF8joyT84HfwwXo+8WPALuPxhy+BZ6R4Aafls+jDBnSz8PDz60uFhuqFbl3HxRfxvDzrUf3THwpA==}
|
|
||||||
dependencies:
|
|
||||||
'@babel/parser': 7.23.5
|
|
||||||
'@vue/compiler-core': 3.3.8
|
|
||||||
'@vue/compiler-dom': 3.3.8
|
|
||||||
'@vue/compiler-ssr': 3.3.8
|
|
||||||
'@vue/reactivity-transform': 3.3.8
|
|
||||||
'@vue/shared': 3.3.8
|
|
||||||
estree-walker: 2.0.2
|
|
||||||
magic-string: 0.30.5
|
|
||||||
postcss: 8.4.31
|
|
||||||
source-map-js: 1.0.2
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/@vue/compiler-sfc@3.4.15:
|
/@vue/compiler-sfc@3.4.15:
|
||||||
resolution: {integrity: sha512-LCn5M6QpkpFsh3GQvs2mJUOAlBQcCco8D60Bcqmf3O3w5a+KWS5GvYbrrJBkgvL1BDnTp+e8q0lXCLgHhKguBA==}
|
resolution: {integrity: sha512-LCn5M6QpkpFsh3GQvs2mJUOAlBQcCco8D60Bcqmf3O3w5a+KWS5GvYbrrJBkgvL1BDnTp+e8q0lXCLgHhKguBA==}
|
||||||
dependencies:
|
dependencies:
|
||||||
@ -5964,13 +5933,6 @@ packages:
|
|||||||
'@vue/compiler-dom': 3.3.4
|
'@vue/compiler-dom': 3.3.4
|
||||||
'@vue/shared': 3.3.4
|
'@vue/shared': 3.3.4
|
||||||
|
|
||||||
/@vue/compiler-ssr@3.3.8:
|
|
||||||
resolution: {integrity: sha512-hXCqQL/15kMVDBuoBYpUnSYT8doDNwsjvm3jTefnXr+ytn294ySnT8NlsFHmTgKNjwpuFy7XVV8yTeLtNl/P6w==}
|
|
||||||
dependencies:
|
|
||||||
'@vue/compiler-dom': 3.3.8
|
|
||||||
'@vue/shared': 3.3.8
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/@vue/compiler-ssr@3.4.15:
|
/@vue/compiler-ssr@3.4.15:
|
||||||
resolution: {integrity: sha512-1jdeQyiGznr8gjFDadVmOJqZiLNSsMa5ZgqavkPZ8O2wjHv0tVuAEsw5hTdUoUW4232vpBbL/wJhzVW/JwY1Uw==}
|
resolution: {integrity: sha512-1jdeQyiGznr8gjFDadVmOJqZiLNSsMa5ZgqavkPZ8O2wjHv0tVuAEsw5hTdUoUW4232vpBbL/wJhzVW/JwY1Uw==}
|
||||||
dependencies:
|
dependencies:
|
||||||
@ -5994,27 +5956,11 @@ packages:
|
|||||||
estree-walker: 2.0.2
|
estree-walker: 2.0.2
|
||||||
magic-string: 0.30.5
|
magic-string: 0.30.5
|
||||||
|
|
||||||
/@vue/reactivity-transform@3.3.8:
|
|
||||||
resolution: {integrity: sha512-49CvBzmZNtcHua0XJ7GdGifM8GOXoUMOX4dD40Y5DxI3R8OUhMlvf2nvgUAcPxaXiV5MQQ1Nwy09ADpnLQUqRw==}
|
|
||||||
dependencies:
|
|
||||||
'@babel/parser': 7.23.5
|
|
||||||
'@vue/compiler-core': 3.3.8
|
|
||||||
'@vue/shared': 3.3.8
|
|
||||||
estree-walker: 2.0.2
|
|
||||||
magic-string: 0.30.5
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/@vue/reactivity@3.3.4:
|
/@vue/reactivity@3.3.4:
|
||||||
resolution: {integrity: sha512-kLTDLwd0B1jG08NBF3R5rqULtv/f8x3rOFByTDz4J53ttIQEDmALqKqXY0J+XQeN0aV2FBxY8nJDf88yvOPAqQ==}
|
resolution: {integrity: sha512-kLTDLwd0B1jG08NBF3R5rqULtv/f8x3rOFByTDz4J53ttIQEDmALqKqXY0J+XQeN0aV2FBxY8nJDf88yvOPAqQ==}
|
||||||
dependencies:
|
dependencies:
|
||||||
'@vue/shared': 3.3.4
|
'@vue/shared': 3.3.4
|
||||||
|
|
||||||
/@vue/reactivity@3.3.8:
|
|
||||||
resolution: {integrity: sha512-ctLWitmFBu6mtddPyOKpHg8+5ahouoTCRtmAHZAXmolDtuZXfjL2T3OJ6DL6ezBPQB1SmMnpzjiWjCiMYmpIuw==}
|
|
||||||
dependencies:
|
|
||||||
'@vue/shared': 3.3.8
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/@vue/reactivity@3.4.15:
|
/@vue/reactivity@3.4.15:
|
||||||
resolution: {integrity: sha512-55yJh2bsff20K5O84MxSvXKPHHt17I2EomHznvFiJCAZpJTNW8IuLj1xZWMLELRhBK3kkFV/1ErZGHJfah7i7w==}
|
resolution: {integrity: sha512-55yJh2bsff20K5O84MxSvXKPHHt17I2EomHznvFiJCAZpJTNW8IuLj1xZWMLELRhBK3kkFV/1ErZGHJfah7i7w==}
|
||||||
dependencies:
|
dependencies:
|
||||||
@ -6027,13 +5973,6 @@ packages:
|
|||||||
'@vue/reactivity': 3.3.4
|
'@vue/reactivity': 3.3.4
|
||||||
'@vue/shared': 3.3.4
|
'@vue/shared': 3.3.4
|
||||||
|
|
||||||
/@vue/runtime-core@3.3.8:
|
|
||||||
resolution: {integrity: sha512-qurzOlb6q26KWQ/8IShHkMDOuJkQnQcTIp1sdP4I9MbCf9FJeGVRXJFr2mF+6bXh/3Zjr9TDgURXrsCr9bfjUw==}
|
|
||||||
dependencies:
|
|
||||||
'@vue/reactivity': 3.3.8
|
|
||||||
'@vue/shared': 3.3.8
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/@vue/runtime-core@3.4.15:
|
/@vue/runtime-core@3.4.15:
|
||||||
resolution: {integrity: sha512-6E3by5m6v1AkW0McCeAyhHTw+3y17YCOKG0U0HDKDscV4Hs0kgNT5G+GCHak16jKgcCDHpI9xe5NKb8sdLCLdw==}
|
resolution: {integrity: sha512-6E3by5m6v1AkW0McCeAyhHTw+3y17YCOKG0U0HDKDscV4Hs0kgNT5G+GCHak16jKgcCDHpI9xe5NKb8sdLCLdw==}
|
||||||
dependencies:
|
dependencies:
|
||||||
@ -6048,14 +5987,6 @@ packages:
|
|||||||
'@vue/shared': 3.3.4
|
'@vue/shared': 3.3.4
|
||||||
csstype: 3.1.2
|
csstype: 3.1.2
|
||||||
|
|
||||||
/@vue/runtime-dom@3.3.8:
|
|
||||||
resolution: {integrity: sha512-Noy5yM5UIf9UeFoowBVgghyGGPIDPy1Qlqt0yVsUdAVbqI8eeMSsTqBtauaEoT2UFXUk5S64aWVNJN4MJ2vRdA==}
|
|
||||||
dependencies:
|
|
||||||
'@vue/runtime-core': 3.3.8
|
|
||||||
'@vue/shared': 3.3.8
|
|
||||||
csstype: 3.1.2
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/@vue/runtime-dom@3.4.15:
|
/@vue/runtime-dom@3.4.15:
|
||||||
resolution: {integrity: sha512-EVW8D6vfFVq3V/yDKNPBFkZKGMFSvZrUQmx196o/v2tHKdwWdiZjYUBS+0Ez3+ohRyF8Njwy/6FH5gYJ75liUw==}
|
resolution: {integrity: sha512-EVW8D6vfFVq3V/yDKNPBFkZKGMFSvZrUQmx196o/v2tHKdwWdiZjYUBS+0Ez3+ohRyF8Njwy/6FH5gYJ75liUw==}
|
||||||
dependencies:
|
dependencies:
|
||||||
@ -6073,16 +6004,6 @@ packages:
|
|||||||
'@vue/shared': 3.3.4
|
'@vue/shared': 3.3.4
|
||||||
vue: 3.3.4
|
vue: 3.3.4
|
||||||
|
|
||||||
/@vue/server-renderer@3.3.8(vue@3.3.8):
|
|
||||||
resolution: {integrity: sha512-zVCUw7RFskvPuNlPn/8xISbrf0zTWsTSdYTsUTN1ERGGZGVnRxM2QZ3x1OR32+vwkkCm0IW6HmJ49IsPm7ilLg==}
|
|
||||||
peerDependencies:
|
|
||||||
vue: 3.3.8
|
|
||||||
dependencies:
|
|
||||||
'@vue/compiler-ssr': 3.3.8
|
|
||||||
'@vue/shared': 3.3.8
|
|
||||||
vue: 3.3.8(typescript@5.0.4)
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/@vue/server-renderer@3.4.15(vue@3.4.15):
|
/@vue/server-renderer@3.4.15(vue@3.4.15):
|
||||||
resolution: {integrity: sha512-3HYzaidu9cHjrT+qGUuDhFYvF/j643bHC6uUN9BgM11DVy+pM6ATsG6uPBLnkwOgs7BpJABReLmpL3ZPAsUaqw==}
|
resolution: {integrity: sha512-3HYzaidu9cHjrT+qGUuDhFYvF/j643bHC6uUN9BgM11DVy+pM6ATsG6uPBLnkwOgs7BpJABReLmpL3ZPAsUaqw==}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
@ -6090,16 +6011,12 @@ packages:
|
|||||||
dependencies:
|
dependencies:
|
||||||
'@vue/compiler-ssr': 3.4.15
|
'@vue/compiler-ssr': 3.4.15
|
||||||
'@vue/shared': 3.4.15
|
'@vue/shared': 3.4.15
|
||||||
vue: 3.4.15(typescript@5.1.6)
|
vue: 3.4.15(typescript@5.0.4)
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/@vue/shared@3.3.4:
|
/@vue/shared@3.3.4:
|
||||||
resolution: {integrity: sha512-7OjdcV8vQ74eiz1TZLzZP4JwqM5fA94K6yntPS5Z25r9HDuGNzaGdgvwKYq6S+MxwF0TFRwe50fIR/MYnakdkQ==}
|
resolution: {integrity: sha512-7OjdcV8vQ74eiz1TZLzZP4JwqM5fA94K6yntPS5Z25r9HDuGNzaGdgvwKYq6S+MxwF0TFRwe50fIR/MYnakdkQ==}
|
||||||
|
|
||||||
/@vue/shared@3.3.8:
|
|
||||||
resolution: {integrity: sha512-8PGwybFwM4x8pcfgqEQFy70NaQxASvOC5DJwLQfpArw1UDfUXrJkdxD3BhVTMS+0Lef/TU7YO0Jvr0jJY8T+mw==}
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/@vue/shared@3.4.15:
|
/@vue/shared@3.4.15:
|
||||||
resolution: {integrity: sha512-KzfPTxVaWfB+eGcGdbSf4CWdaXcGDqckoeXUh7SB3fZdEtzPCK2Vq9B/lRRL3yutax/LWITz+SwvgyOxz5V75g==}
|
resolution: {integrity: sha512-KzfPTxVaWfB+eGcGdbSf4CWdaXcGDqckoeXUh7SB3fZdEtzPCK2Vq9B/lRRL3yutax/LWITz+SwvgyOxz5V75g==}
|
||||||
dev: true
|
dev: true
|
||||||
@ -16175,7 +16092,7 @@ packages:
|
|||||||
engines: {node: '>= 10.0.0'}
|
engines: {node: '>= 10.0.0'}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/unocss@0.58.0(postcss@8.4.31)(rollup@2.79.1)(vite@4.5.0):
|
/unocss@0.58.0(postcss@8.4.33)(rollup@2.79.1)(vite@4.5.0):
|
||||||
resolution: {integrity: sha512-MSPRHxBqWN+1AHGV+J5uUy4//e6ZBK6O+ISzD0qrXcCD/GNtxk1+lYjOK2ltkUiKX539+/KF91vNxzhhwEf+xA==}
|
resolution: {integrity: sha512-MSPRHxBqWN+1AHGV+J5uUy4//e6ZBK6O+ISzD0qrXcCD/GNtxk1+lYjOK2ltkUiKX539+/KF91vNxzhhwEf+xA==}
|
||||||
engines: {node: '>=14'}
|
engines: {node: '>=14'}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
@ -16191,7 +16108,7 @@ packages:
|
|||||||
'@unocss/cli': 0.58.0(rollup@2.79.1)
|
'@unocss/cli': 0.58.0(rollup@2.79.1)
|
||||||
'@unocss/core': 0.58.0
|
'@unocss/core': 0.58.0
|
||||||
'@unocss/extractor-arbitrary-variants': 0.58.0
|
'@unocss/extractor-arbitrary-variants': 0.58.0
|
||||||
'@unocss/postcss': 0.58.0(postcss@8.4.31)
|
'@unocss/postcss': 0.58.0(postcss@8.4.33)
|
||||||
'@unocss/preset-attributify': 0.58.0
|
'@unocss/preset-attributify': 0.58.0
|
||||||
'@unocss/preset-icons': 0.58.0
|
'@unocss/preset-icons': 0.58.0
|
||||||
'@unocss/preset-mini': 0.58.0
|
'@unocss/preset-mini': 0.58.0
|
||||||
@ -16530,7 +16447,7 @@ packages:
|
|||||||
fsevents: 2.3.3
|
fsevents: 2.3.3
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/vitepress-plugin-search@1.0.4-alpha.20(flexsearch@0.7.31)(vitepress@1.0.0-alpha.72)(vue@3.3.8):
|
/vitepress-plugin-search@1.0.4-alpha.20(flexsearch@0.7.31)(vitepress@1.0.0-alpha.72)(vue@3.4.15):
|
||||||
resolution: {integrity: sha512-zG+ev9pw1Mg7htABlFCNXb8XwnKN+qfTKw+vU0Ers6RIrABx+45EAAFBoaL1mEpl1FRFn1o/dQ7F4b8GP6HdGQ==}
|
resolution: {integrity: sha512-zG+ev9pw1Mg7htABlFCNXb8XwnKN+qfTKw+vU0Ers6RIrABx+45EAAFBoaL1mEpl1FRFn1o/dQ7F4b8GP6HdGQ==}
|
||||||
engines: {node: ^14.13.1 || ^16.7.0 || >=18}
|
engines: {node: ^14.13.1 || ^16.7.0 || >=18}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
@ -16544,7 +16461,7 @@ packages:
|
|||||||
glob-to-regexp: 0.4.1
|
glob-to-regexp: 0.4.1
|
||||||
markdown-it: 13.0.1
|
markdown-it: 13.0.1
|
||||||
vitepress: 1.0.0-alpha.72(@algolia/client-search@4.19.1)(@types/node@18.17.5)(search-insights@2.7.0)
|
vitepress: 1.0.0-alpha.72(@algolia/client-search@4.19.1)(@types/node@18.17.5)(search-insights@2.7.0)
|
||||||
vue: 3.3.8(typescript@5.0.4)
|
vue: 3.4.15(typescript@5.0.4)
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/vitepress@1.0.0-alpha.72(@algolia/client-search@4.19.1)(@types/node@18.17.5)(search-insights@2.7.0):
|
/vitepress@1.0.0-alpha.72(@algolia/client-search@4.19.1)(@types/node@18.17.5)(search-insights@2.7.0):
|
||||||
@ -16578,7 +16495,7 @@ packages:
|
|||||||
- terser
|
- terser
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/vitepress@1.0.0-rc.39(@algolia/client-search@4.19.1)(@types/node@18.17.5)(postcss@8.4.31)(search-insights@2.7.0)(typescript@5.1.6):
|
/vitepress@1.0.0-rc.39(@algolia/client-search@4.19.1)(@types/node@18.17.5)(postcss@8.4.33)(search-insights@2.7.0)(typescript@5.1.6):
|
||||||
resolution: {integrity: sha512-EcgoRlAAp37WOxUOYv45oxyhLrcy3Upey+mKpqW3ldsg6Ol4trPndRBk2GO0QiSvEKlb9BMerk49D/bFICN6kg==}
|
resolution: {integrity: sha512-EcgoRlAAp37WOxUOYv45oxyhLrcy3Upey+mKpqW3ldsg6Ol4trPndRBk2GO0QiSvEKlb9BMerk49D/bFICN6kg==}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
@ -16600,7 +16517,7 @@ packages:
|
|||||||
focus-trap: 7.5.4
|
focus-trap: 7.5.4
|
||||||
mark.js: 8.11.1
|
mark.js: 8.11.1
|
||||||
minisearch: 6.3.0
|
minisearch: 6.3.0
|
||||||
postcss: 8.4.31
|
postcss: 8.4.33
|
||||||
shikiji: 0.9.19
|
shikiji: 0.9.19
|
||||||
shikiji-core: 0.9.19
|
shikiji-core: 0.9.19
|
||||||
shikiji-transformers: 0.9.19
|
shikiji-transformers: 0.9.19
|
||||||
@ -16788,19 +16705,19 @@ packages:
|
|||||||
'@vue/server-renderer': 3.3.4(vue@3.3.4)
|
'@vue/server-renderer': 3.3.4(vue@3.3.4)
|
||||||
'@vue/shared': 3.3.4
|
'@vue/shared': 3.3.4
|
||||||
|
|
||||||
/vue@3.3.8(typescript@5.0.4):
|
/vue@3.4.15(typescript@5.0.4):
|
||||||
resolution: {integrity: sha512-5VSX/3DabBikOXMsxzlW8JyfeLKlG9mzqnWgLQLty88vdZL7ZJgrdgBOmrArwxiLtmS+lNNpPcBYqrhE6TQW5w==}
|
resolution: {integrity: sha512-jC0GH4KkWLWJOEQjOpkqU1bQsBwf4R1rsFtw5GQJbjHVKWDzO6P0nWWBTmjp1xSemAioDFj1jdaK1qa3DnMQoQ==}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
typescript: '*'
|
typescript: '*'
|
||||||
peerDependenciesMeta:
|
peerDependenciesMeta:
|
||||||
typescript:
|
typescript:
|
||||||
optional: true
|
optional: true
|
||||||
dependencies:
|
dependencies:
|
||||||
'@vue/compiler-dom': 3.3.8
|
'@vue/compiler-dom': 3.4.15
|
||||||
'@vue/compiler-sfc': 3.3.8
|
'@vue/compiler-sfc': 3.4.15
|
||||||
'@vue/runtime-dom': 3.3.8
|
'@vue/runtime-dom': 3.4.15
|
||||||
'@vue/server-renderer': 3.3.8(vue@3.3.8)
|
'@vue/server-renderer': 3.4.15(vue@3.4.15)
|
||||||
'@vue/shared': 3.3.8
|
'@vue/shared': 3.4.15
|
||||||
typescript: 5.0.4
|
typescript: 5.0.4
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user