diff --git a/.changeset/grumpy-cheetahs-deliver.md b/.changeset/grumpy-cheetahs-deliver.md
new file mode 100644
index 000000000..fa6736d42
--- /dev/null
+++ b/.changeset/grumpy-cheetahs-deliver.md
@@ -0,0 +1,5 @@
+---
+'mermaid': patch
+---
+
+`mermaidAPI.getDiagramFromText()` now returns a new db instance on each call for state diagrams
diff --git a/.changeset/heavy-moose-mix.md b/.changeset/heavy-moose-mix.md
new file mode 100644
index 000000000..c02d62446
--- /dev/null
+++ b/.changeset/heavy-moose-mix.md
@@ -0,0 +1,5 @@
+---
+'mermaid': patch
+---
+
+Added versioning to StateDB and updated tests and diagrams to use it.
diff --git a/.changeset/silver-olives-marry.md b/.changeset/silver-olives-marry.md
new file mode 100644
index 000000000..d709b17ba
--- /dev/null
+++ b/.changeset/silver-olives-marry.md
@@ -0,0 +1,5 @@
+---
+'mermaid': patch
+---
+
+fix: `mermaidAPI.getDiagramFromText()` now returns a new different db for each sequence diagram. Added unique IDs for messages.
diff --git a/.changeset/weak-trees-perform.md b/.changeset/weak-trees-perform.md
new file mode 100644
index 000000000..17175301d
--- /dev/null
+++ b/.changeset/weak-trees-perform.md
@@ -0,0 +1,5 @@
+---
+'mermaid': patch
+---
+
+fix: `getDirection` and `setDirection` in `stateDb` refactored to return and set actual direction
diff --git a/.github/lychee.toml b/.github/lychee.toml
index 288ab054a..5070c3d50 100644
--- a/.github/lychee.toml
+++ b/.github/lychee.toml
@@ -47,7 +47,10 @@ exclude = [
"https://(www.)?drupal.org",
# Swimm returns 404, eventhough the link is valid
-"https://docs.swimm.io"
+"https://docs.swimm.io",
+
+# Timeout
+"https://huehive.co"
]
# Exclude all private IPs from checking.
diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml
index 94ede60ab..a5cbbf8d5 100644
--- a/.github/workflows/codeql.yml
+++ b/.github/workflows/codeql.yml
@@ -36,7 +36,7 @@ jobs:
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
- uses: github/codeql-action/init@c36620d31ac7c881962c3d9dd939c40ec9434f2b # v3.26.12
+ uses: github/codeql-action/init@f779452ac5af1c261dce0346a8f964149f49322b # v3.26.13
with:
config-file: ./.github/codeql/codeql-config.yml
languages: ${{ matrix.language }}
@@ -48,7 +48,7 @@ jobs:
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
# If this step fails, then you should remove it and run the build manually (see below)
- name: Autobuild
- uses: github/codeql-action/autobuild@c36620d31ac7c881962c3d9dd939c40ec9434f2b # v3.26.12
+ uses: github/codeql-action/autobuild@f779452ac5af1c261dce0346a8f964149f49322b # v3.26.13
# âšī¸ Command-line programs to run using the OS shell.
# đ See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun
@@ -62,4 +62,4 @@ jobs:
# make release
- name: Perform CodeQL Analysis
- uses: github/codeql-action/analyze@c36620d31ac7c881962c3d9dd939c40ec9434f2b # v3.26.12
+ uses: github/codeql-action/analyze@f779452ac5af1c261dce0346a8f964149f49322b # v3.26.13
diff --git a/.github/workflows/dependency-review.yml b/.github/workflows/dependency-review.yml
index 521735e6e..dce9ad2b2 100644
--- a/.github/workflows/dependency-review.yml
+++ b/.github/workflows/dependency-review.yml
@@ -17,4 +17,4 @@ jobs:
- name: 'Checkout Repository'
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: 'Dependency Review'
- uses: actions/dependency-review-action@5a2ce3f5b92ee19cbb1541a4984c76d921601d7c # v4.3.4
+ uses: actions/dependency-review-action@a6993e2c61fd5dc440b409aa1d6904921c5e1894 # v4.3.5
diff --git a/.github/workflows/e2e-timings.yml b/.github/workflows/e2e-timings.yml
index e3f724d81..42760e222 100644
--- a/.github/workflows/e2e-timings.yml
+++ b/.github/workflows/e2e-timings.yml
@@ -26,11 +26,11 @@ jobs:
with:
node-version-file: '.node-version'
- name: Install dependencies
- uses: cypress-io/github-action@0da3c06ed8217b912deea9d8ee69630baed1737e # v6.7.6
+ uses: cypress-io/github-action@57b70560982e6a11d23d4b8bec7f8a487cdbb71b # v6.7.8
with:
runTests: false
- name: Cypress run
- uses: cypress-io/github-action@0da3c06ed8217b912deea9d8ee69630baed1737e # v6.7.6
+ uses: cypress-io/github-action@57b70560982e6a11d23d4b8bec7f8a487cdbb71b # v6.7.8
id: cypress
with:
install: false
diff --git a/.github/workflows/e2e.yml b/.github/workflows/e2e.yml
index 1392963fb..4922da76f 100644
--- a/.github/workflows/e2e.yml
+++ b/.github/workflows/e2e.yml
@@ -7,9 +7,6 @@ on:
- master
- release/**
pull_request:
- issue_comment:
- types:
- - created
merge_group:
concurrency: ${{ github.workflow }}-${{ github.ref }}
@@ -31,12 +28,10 @@ env:
) ||
github.event.before
}}
- # Check if this is a new comment with '/visual-test'
RUN_VISUAL_TEST: >-
- ${{ github.event_name == 'issue_comment' && github.event.action == 'created' && contains(github.event.comment.body, '/visual-test') && github.event.issue.pull_request != null }}
+ ${{ github.repository == 'mermaid-js/mermaid' && (github.event_name != 'pull_request' || !startsWith(github.head_ref, 'renovate/')) }}
jobs:
cache:
- if: ${{ github.event_name != 'issue_comment' || contains(github.event.comment.body, '/visual-test') }}
runs-on: ubuntu-latest
container:
image: cypress/browsers:node-20.11.0-chrome-121.0.6167.85-1-ff-120.0-edge-121.0.2277.83-1
@@ -50,9 +45,8 @@ jobs:
node-version-file: '.node-version'
- name: Cache snapshots
id: cache-snapshot
- uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v4.0.2
+ uses: actions/cache@0c907a75c2c80ebcb7f088228285e798b750cf8f # v4.2.1
with:
- save-always: true
path: ./cypress/snapshots
key: ${{ runner.os }}-snapshots-${{ env.targetHash }}
@@ -65,7 +59,7 @@ jobs:
- name: Install dependencies
if: ${{ steps.cache-snapshot.outputs.cache-hit != 'true' }}
- uses: cypress-io/github-action@0da3c06ed8217b912deea9d8ee69630baed1737e # v6.7.6
+ uses: cypress-io/github-action@57b70560982e6a11d23d4b8bec7f8a487cdbb71b # v6.7.8
with:
# just perform install
runTests: false
@@ -101,13 +95,13 @@ jobs:
# These cached snapshots are downloaded, providing the reference snapshots.
- name: Cache snapshots
id: cache-snapshot
- uses: actions/cache/restore@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v4.0.2
+ uses: actions/cache/restore@0c907a75c2c80ebcb7f088228285e798b750cf8f # v4.2.1
with:
path: ./cypress/snapshots
key: ${{ runner.os }}-snapshots-${{ env.targetHash }}
- name: Install dependencies
- uses: cypress-io/github-action@0da3c06ed8217b912deea9d8ee69630baed1737e # v6.7.6
+ uses: cypress-io/github-action@57b70560982e6a11d23d4b8bec7f8a487cdbb71b # v6.7.8
with:
runTests: false
@@ -123,7 +117,7 @@ jobs:
# Install NPM dependencies, cache them correctly
# and run all Cypress tests
- name: Cypress run
- uses: cypress-io/github-action@0da3c06ed8217b912deea9d8ee69630baed1737e # v6.7.6
+ uses: cypress-io/github-action@57b70560982e6a11d23d4b8bec7f8a487cdbb71b # v6.7.8
id: cypress
with:
install: false
@@ -134,8 +128,6 @@ jobs:
# e.g. if this action was run from a fork
record: ${{ env.RUN_VISUAL_TEST == 'true' && secrets.CYPRESS_RECORD_KEY != '' }}
env:
- # Only set Argos environment variables if the visual test comment trigger is present
- ARGOS_TOKEN: ${{ env.RUN_VISUAL_TEST == 'true' && secrets.ARGOS_TOKEN || '' }}
ARGOS_PARALLEL: ${{ env.RUN_VISUAL_TEST == 'true' }}
ARGOS_PARALLEL_TOTAL: ${{ env.RUN_VISUAL_TEST == 'true' && strategy.job-total || 1 }}
ARGOS_PARALLEL_INDEX: ${{ env.RUN_VISUAL_TEST == 'true' && matrix.containers || 1 }}
diff --git a/.github/workflows/link-checker.yml b/.github/workflows/link-checker.yml
index 0a2b74dfe..d2f5d7744 100644
--- a/.github/workflows/link-checker.yml
+++ b/.github/workflows/link-checker.yml
@@ -32,7 +32,7 @@ jobs:
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: Restore lychee cache
- uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v4.0.2
+ uses: actions/cache@0c907a75c2c80ebcb7f088228285e798b750cf8f # v4.2.1
with:
path: .lycheecache
key: cache-lychee-${{ github.sha }}
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index 4e8e9cd83..d4e349d08 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -36,7 +36,7 @@ jobs:
- name: Create Release Pull Request or Publish to npm
id: changesets
- uses: changesets/action@3de3850952bec538fde60aac71731376e57b9b57 # v1.4.8
+ uses: changesets/action@c8bada60c408975afd1a20b3db81d6eee6789308 # v1.4.9
with:
version: pnpm changeset:version
publish: pnpm changeset:publish
diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml
index c35f2645b..5b4fdc342 100644
--- a/.github/workflows/scorecard.yml
+++ b/.github/workflows/scorecard.yml
@@ -32,6 +32,6 @@ jobs:
path: results.sarif
retention-days: 5
- name: Upload to code-scanning
- uses: github/codeql-action/upload-sarif@c36620d31ac7c881962c3d9dd939c40ec9434f2b # v3.26.12
+ uses: github/codeql-action/upload-sarif@f779452ac5af1c261dce0346a8f964149f49322b # v3.26.13
with:
sarif_file: results.sarif
diff --git a/cypress.config.ts b/cypress.config.ts
index 253e4b7cc..d077ba915 100644
--- a/cypress.config.ts
+++ b/cypress.config.ts
@@ -23,12 +23,10 @@ export default eyesPlugin(
});
// copy any needed variables from process.env to config.env
config.env.useAppli = process.env.USE_APPLI ? true : false;
- config.env.useArgos = !!process.env.CI && !!process.env.ARGOS_TOKEN;
+ config.env.useArgos = process.env.RUN_VISUAL_TEST === 'true';
if (config.env.useArgos) {
- registerArgosTask(on, config, {
- token: 'fc3a35cf5200db928d65b2047861582d9444032b',
- });
+ registerArgosTask(on, config);
} else {
addMatchImageSnapshotPlugin(on, config);
}
diff --git a/cypress/platform/knsv2.html b/cypress/platform/knsv2.html
index 90ecd20ea..3a437850d 100644
--- a/cypress/platform/knsv2.html
+++ b/cypress/platform/knsv2.html
@@ -11,7 +11,7 @@
rel="stylesheet"
/>
> = {};
const issueWarning = (warning: ConfigWarningStrings) => {
if (issuedWarnings[warning]) {
return;
diff --git a/packages/mermaid/src/diagrams/architecture/architectureTypes.ts b/packages/mermaid/src/diagrams/architecture/architectureTypes.ts
index cad2c5c36..a7af33ca7 100644
--- a/packages/mermaid/src/diagrams/architecture/architectureTypes.ts
+++ b/packages/mermaid/src/diagrams/architecture/architectureTypes.ts
@@ -106,9 +106,7 @@ export const isValidArchitectureDirectionPair = function (
return x !== 'LL' && x !== 'RR' && x !== 'TT' && x !== 'BB';
};
-export type ArchitectureDirectionPairMap = {
- [key in ArchitectureDirectionPair]?: string;
-};
+export type ArchitectureDirectionPairMap = Partial>;
/**
* Creates a pair of the directions of each side of an edge. This function should be used instead of manually creating it to ensure that the source is always the first character.
diff --git a/packages/mermaid/src/diagrams/sequence/sequenceDb.ts b/packages/mermaid/src/diagrams/sequence/sequenceDb.ts
index 69ddeaf18..c6b44dac0 100644
--- a/packages/mermaid/src/diagrams/sequence/sequenceDb.ts
+++ b/packages/mermaid/src/diagrams/sequence/sequenceDb.ts
@@ -1,4 +1,5 @@
import { getConfig } from '../../diagram-api/diagramAPI.js';
+import type { DiagramDB } from '../../diagram-api/types.js';
import { log } from '../../logger.js';
import { ImperativeState } from '../../utils/imperativeState.js';
import { sanitizeText } from '../common/common.js';
@@ -28,273 +29,7 @@ interface SequenceState {
lastDestroyed?: Actor;
}
-const state = new ImperativeState(() => ({
- prevActor: undefined,
- actors: new Map(),
- createdActors: new Map(),
- destroyedActors: new Map(),
- boxes: [],
- messages: [],
- notes: [],
- sequenceNumbersEnabled: false,
- wrapEnabled: undefined,
- currentBox: undefined,
- lastCreated: undefined,
- lastDestroyed: undefined,
-}));
-
-export const addBox = function (data: { text: string; color: string; wrap: boolean }) {
- state.records.boxes.push({
- name: data.text,
- wrap: data.wrap ?? autoWrap(),
- fill: data.color,
- actorKeys: [],
- });
- state.records.currentBox = state.records.boxes.slice(-1)[0];
-};
-
-export const addActor = function (
- id: string,
- name: string,
- description: { text: string; wrap?: boolean | null; type: string },
- type: string
-) {
- let assignedBox = state.records.currentBox;
- const old = state.records.actors.get(id);
- if (old) {
- // If already set and trying to set to a new one throw error
- if (state.records.currentBox && old.box && state.records.currentBox !== old.box) {
- throw new Error(
- `A same participant should only be defined in one Box: ${old.name} can't be in '${old.box.name}' and in '${state.records.currentBox.name}' at the same time.`
- );
- }
-
- // Don't change the box if already
- assignedBox = old.box ? old.box : state.records.currentBox;
- old.box = assignedBox;
-
- // Don't allow description nulling
- if (old && name === old.name && description == null) {
- return;
- }
- }
-
- // Don't allow null descriptions, either
- if (description?.text == null) {
- description = { text: name, type };
- }
- if (type == null || description.text == null) {
- description = { text: name, type };
- }
-
- state.records.actors.set(id, {
- box: assignedBox,
- name: name,
- description: description.text,
- wrap: description.wrap ?? autoWrap(),
- prevActor: state.records.prevActor,
- links: {},
- properties: {},
- actorCnt: null,
- rectData: null,
- type: type ?? 'participant',
- });
- if (state.records.prevActor) {
- const prevActorInRecords = state.records.actors.get(state.records.prevActor);
- if (prevActorInRecords) {
- prevActorInRecords.nextActor = id;
- }
- }
-
- if (state.records.currentBox) {
- state.records.currentBox.actorKeys.push(id);
- }
- state.records.prevActor = id;
-};
-
-const activationCount = (part: string) => {
- let i;
- let count = 0;
- if (!part) {
- return 0;
- }
- for (i = 0; i < state.records.messages.length; i++) {
- if (
- state.records.messages[i].type === LINETYPE.ACTIVE_START &&
- state.records.messages[i].from === part
- ) {
- count++;
- }
- if (
- state.records.messages[i].type === LINETYPE.ACTIVE_END &&
- state.records.messages[i].from === part
- ) {
- count--;
- }
- }
- return count;
-};
-
-export const addMessage = function (
- idFrom: Message['from'],
- idTo: Message['to'],
- message: { text: string; wrap?: boolean },
- answer: Message['answer']
-) {
- state.records.messages.push({
- from: idFrom,
- to: idTo,
- message: message.text,
- wrap: message.wrap ?? autoWrap(),
- answer: answer,
- });
-};
-
-export const addSignal = function (
- idFrom?: Message['from'],
- idTo?: Message['to'],
- message?: { text: string; wrap: boolean },
- messageType?: number,
- activate = false
-) {
- if (messageType === LINETYPE.ACTIVE_END) {
- const cnt = activationCount(idFrom ?? '');
- if (cnt < 1) {
- // Bail out as there is an activation signal from an inactive participant
- const error = new Error('Trying to inactivate an inactive participant (' + idFrom + ')');
-
- // @ts-ignore: we are passing hash param to the error object, however we should define our own custom error class to make it type safe
- error.hash = {
- text: '->>-',
- token: '->>-',
- line: '1',
- loc: { first_line: 1, last_line: 1, first_column: 1, last_column: 1 },
- expected: ["'ACTIVE_PARTICIPANT'"],
- };
- throw error;
- }
- }
- state.records.messages.push({
- from: idFrom,
- to: idTo,
- message: message?.text ?? '',
- wrap: message?.wrap ?? autoWrap(),
- type: messageType,
- activate,
- });
- return true;
-};
-
-export const hasAtLeastOneBox = function () {
- return state.records.boxes.length > 0;
-};
-
-export const hasAtLeastOneBoxWithTitle = function () {
- return state.records.boxes.some((b) => b.name);
-};
-
-export const getMessages = function () {
- return state.records.messages;
-};
-
-export const getBoxes = function () {
- return state.records.boxes;
-};
-export const getActors = function () {
- return state.records.actors;
-};
-export const getCreatedActors = function () {
- return state.records.createdActors;
-};
-export const getDestroyedActors = function () {
- return state.records.destroyedActors;
-};
-export const getActor = function (id: string) {
- // TODO: do we ever use this function in a way that it might return undefined?
- return state.records.actors.get(id)!;
-};
-export const getActorKeys = function () {
- return [...state.records.actors.keys()];
-};
-export const enableSequenceNumbers = function () {
- state.records.sequenceNumbersEnabled = true;
-};
-export const disableSequenceNumbers = function () {
- state.records.sequenceNumbersEnabled = false;
-};
-export const showSequenceNumbers = () => state.records.sequenceNumbersEnabled;
-
-export const setWrap = function (wrapSetting?: boolean) {
- state.records.wrapEnabled = wrapSetting;
-};
-
-const extractWrap = (text?: string): { cleanedText?: string; wrap?: boolean } => {
- if (text === undefined) {
- return {};
- }
- text = text.trim();
- const wrap =
- /^:?wrap:/.exec(text) !== null ? true : /^:?nowrap:/.exec(text) !== null ? false : undefined;
- const cleanedText = (wrap === undefined ? text : text.replace(/^:?(?:no)?wrap:/, '')).trim();
- return { cleanedText, wrap };
-};
-
-export const autoWrap = () => {
- // if setWrap has been called, use that value, otherwise use the value from the config
- // TODO: refactor, always use the config value let setWrap update the config value
- if (state.records.wrapEnabled !== undefined) {
- return state.records.wrapEnabled;
- }
- return getConfig().sequence?.wrap ?? false;
-};
-
-export const clear = function () {
- state.reset();
- commonClear();
-};
-
-export const parseMessage = function (str: string) {
- const trimmedStr = str.trim();
- const { wrap, cleanedText } = extractWrap(trimmedStr);
- const message = {
- text: cleanedText,
- wrap,
- };
- log.debug(`parseMessage: ${JSON.stringify(message)}`);
- return message;
-};
-
-// We expect the box statement to be color first then description
-// The color can be rgb,rgba,hsl,hsla, or css code names #hex codes are not supported for now because of the way the char # is handled
-// We extract first segment as color, the rest of the line is considered as text
-export const parseBoxData = function (str: string) {
- const match = /^((?:rgba?|hsla?)\s*\(.*\)|\w*)(.*)$/.exec(str);
- let color = match?.[1] ? match[1].trim() : 'transparent';
- let title = match?.[2] ? match[2].trim() : undefined;
-
- // check that the string is a color
- if (window?.CSS) {
- if (!window.CSS.supports('color', color)) {
- color = 'transparent';
- title = str.trim();
- }
- } else {
- const style = new Option().style;
- style.color = color;
- if (style.color !== color) {
- color = 'transparent';
- title = str.trim();
- }
- }
- const { wrap, cleanedText } = extractWrap(title);
- return {
- text: cleanedText ? sanitizeText(cleanedText, getConfig()) : undefined,
- color,
- wrap,
- };
-};
-
-export const LINETYPE = {
+const LINETYPE = {
SOLID: 0,
DOTTED: 1,
NOTE: 2,
@@ -327,342 +62,597 @@ export const LINETYPE = {
PAR_OVER_START: 32,
BIDIRECTIONAL_SOLID: 33,
BIDIRECTIONAL_DOTTED: 34,
-};
+} as const;
-export const ARROWTYPE = {
+const ARROWTYPE = {
FILLED: 0,
OPEN: 1,
-};
+} as const;
-export const PLACEMENT = {
+const PLACEMENT = {
LEFTOF: 0,
RIGHTOF: 1,
OVER: 2,
-};
+} as const;
-export const addNote = function (
- actor: { actor: string },
- placement: Message['placement'],
- message: { text: string; wrap?: boolean }
-) {
- const note: Note = {
- actor: actor,
- placement: placement,
- message: message.text,
- wrap: message.wrap ?? autoWrap(),
- };
+export class SequenceDB implements DiagramDB {
+ private readonly state = new ImperativeState(() => ({
+ prevActor: undefined,
+ actors: new Map(),
+ createdActors: new Map(),
+ destroyedActors: new Map(),
+ boxes: [],
+ messages: [],
+ notes: [],
+ sequenceNumbersEnabled: false,
+ wrapEnabled: undefined,
+ currentBox: undefined,
+ lastCreated: undefined,
+ lastDestroyed: undefined,
+ }));
- //@ts-ignore: Coerce actor into a [to, from, ...] array
- // eslint-disable-next-line unicorn/prefer-spread
- const actors = [].concat(actor, actor);
- state.records.notes.push(note);
- state.records.messages.push({
- from: actors[0],
- to: actors[1],
- message: message.text,
- wrap: message.wrap ?? autoWrap(),
- type: LINETYPE.NOTE,
- placement: placement,
- });
-};
+ constructor() {
+ // Needed for JISON since it only supports direct properties
+ this.apply = this.apply.bind(this);
+ this.parseBoxData = this.parseBoxData.bind(this);
+ this.parseMessage = this.parseMessage.bind(this);
-export const addLinks = function (actorId: string, text: { text: string }) {
- // find the actor
- const actor = getActor(actorId);
- // JSON.parse the text
- try {
- let sanitizedText = sanitizeText(text.text, getConfig());
- sanitizedText = sanitizedText.replace(/&/g, '&');
- sanitizedText = sanitizedText.replace(/=/g, '=');
- const links = JSON.parse(sanitizedText);
- // add the deserialized text to the actor's links field.
- insertLinks(actor, links);
- } catch (e) {
- log.error('error while parsing actor link text', e);
- }
-};
+ this.clear();
-export const addALink = function (actorId: string, text: { text: string }) {
- // find the actor
- const actor = getActor(actorId);
- try {
- const links: Record = {};
- let sanitizedText = sanitizeText(text.text, getConfig());
- const sep = sanitizedText.indexOf('@');
- sanitizedText = sanitizedText.replace(/&/g, '&');
- sanitizedText = sanitizedText.replace(/=/g, '=');
- const label = sanitizedText.slice(0, sep - 1).trim();
- const link = sanitizedText.slice(sep + 1).trim();
-
- links[label] = link;
- // add the deserialized text to the actor's links field.
- insertLinks(actor, links);
- } catch (e) {
- log.error('error while parsing actor link text', e);
- }
-};
-
-/**
- * @param actor - the actor to add the links to
- * @param links - the links to add to the actor
- */
-function insertLinks(actor: Actor, links: Record) {
- if (actor.links == null) {
- actor.links = links;
- } else {
- for (const key in links) {
- actor.links[key] = links[key];
- }
- }
-}
-
-export const addProperties = function (actorId: string, text: { text: string }) {
- // find the actor
- const actor = getActor(actorId);
- // JSON.parse the text
- try {
- const sanitizedText = sanitizeText(text.text, getConfig());
- const properties: Record = JSON.parse(sanitizedText);
- // add the deserialized text to the actor's property field.
- insertProperties(actor, properties);
- } catch (e) {
- log.error('error while parsing actor properties text', e);
- }
-};
-
-/**
- * @param actor - the actor to add the properties to
- * @param properties - the properties to add to the actor's properties
- */
-function insertProperties(actor: Actor, properties: Record) {
- if (actor.properties == null) {
- actor.properties = properties;
- } else {
- for (const key in properties) {
- actor.properties[key] = properties[key];
- }
- }
-}
-
-function boxEnd() {
- state.records.currentBox = undefined;
-}
-
-export const addDetails = function (actorId: string, text: { text: string }) {
- // find the actor
- const actor = getActor(actorId);
- const elem = document.getElementById(text.text)!;
-
- // JSON.parse the text
- try {
- const text = elem.innerHTML;
- const details = JSON.parse(text);
- // add the deserialized text to the actor's property field.
- if (details.properties) {
- insertProperties(actor, details.properties);
- }
-
- if (details.links) {
- insertLinks(actor, details.links);
- }
- } catch (e) {
- log.error('error while parsing actor details text', e);
- }
-};
-
-export const getActorProperty = function (actor: Actor, key: string) {
- if (actor?.properties !== undefined) {
- return actor.properties[key];
+ this.setWrap(getConfig().wrap);
+ this.LINETYPE = LINETYPE;
+ this.ARROWTYPE = ARROWTYPE;
+ this.PLACEMENT = PLACEMENT;
}
- return undefined;
-};
-
-// eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-redundant-type-constituents
-export const apply = function (param: any | AddMessageParams | AddMessageParams[]) {
- if (Array.isArray(param)) {
- param.forEach(function (item) {
- apply(item);
+ public addBox(data: { text: string; color: string; wrap: boolean }) {
+ this.state.records.boxes.push({
+ name: data.text,
+ wrap: data.wrap ?? this.autoWrap(),
+ fill: data.color,
+ actorKeys: [],
});
- } else {
- switch (param.type) {
- case 'sequenceIndex':
- state.records.messages.push({
- from: undefined,
- to: undefined,
- message: {
- start: param.sequenceIndex,
- step: param.sequenceIndexStep,
- visible: param.sequenceVisible,
- },
- wrap: false,
- type: param.signalType,
- });
- break;
- case 'addParticipant':
- addActor(param.actor, param.actor, param.description, param.draw);
- break;
- case 'createParticipant':
- if (state.records.actors.has(param.actor)) {
- throw new Error(
- "It is not possible to have actors with the same id, even if one is destroyed before the next is created. Use 'AS' aliases to simulate the behavior"
- );
- }
- state.records.lastCreated = param.actor;
- addActor(param.actor, param.actor, param.description, param.draw);
- state.records.createdActors.set(param.actor, state.records.messages.length);
- break;
- case 'destroyParticipant':
- state.records.lastDestroyed = param.actor;
- state.records.destroyedActors.set(param.actor, state.records.messages.length);
- break;
- case 'activeStart':
- addSignal(param.actor, undefined, undefined, param.signalType);
- break;
- case 'activeEnd':
- addSignal(param.actor, undefined, undefined, param.signalType);
- break;
- case 'addNote':
- addNote(param.actor, param.placement, param.text);
- break;
- case 'addLinks':
- addLinks(param.actor, param.text);
- break;
- case 'addALink':
- addALink(param.actor, param.text);
- break;
- case 'addProperties':
- addProperties(param.actor, param.text);
- break;
- case 'addDetails':
- addDetails(param.actor, param.text);
- break;
- case 'addMessage':
- if (state.records.lastCreated) {
- if (param.to !== state.records.lastCreated) {
- throw new Error(
- 'The created participant ' +
- state.records.lastCreated.name +
- ' does not have an associated creating message after its declaration. Please check the sequence diagram.'
- );
- } else {
- state.records.lastCreated = undefined;
- }
- } else if (state.records.lastDestroyed) {
- if (
- param.to !== state.records.lastDestroyed &&
- param.from !== state.records.lastDestroyed
- ) {
- throw new Error(
- 'The destroyed participant ' +
- state.records.lastDestroyed.name +
- ' does not have an associated destroying message after its declaration. Please check the sequence diagram.'
- );
- } else {
- state.records.lastDestroyed = undefined;
- }
- }
- addSignal(param.from, param.to, param.msg, param.signalType, param.activate);
- break;
- case 'boxStart':
- addBox(param.boxData);
- break;
- case 'boxEnd':
- boxEnd();
- break;
- case 'loopStart':
- addSignal(undefined, undefined, param.loopText, param.signalType);
- break;
- case 'loopEnd':
- addSignal(undefined, undefined, undefined, param.signalType);
- break;
- case 'rectStart':
- addSignal(undefined, undefined, param.color, param.signalType);
- break;
- case 'rectEnd':
- addSignal(undefined, undefined, undefined, param.signalType);
- break;
- case 'optStart':
- addSignal(undefined, undefined, param.optText, param.signalType);
- break;
- case 'optEnd':
- addSignal(undefined, undefined, undefined, param.signalType);
- break;
- case 'altStart':
- addSignal(undefined, undefined, param.altText, param.signalType);
- break;
- case 'else':
- addSignal(undefined, undefined, param.altText, param.signalType);
- break;
- case 'altEnd':
- addSignal(undefined, undefined, undefined, param.signalType);
- break;
- case 'setAccTitle':
- setAccTitle(param.text);
- break;
- case 'parStart':
- addSignal(undefined, undefined, param.parText, param.signalType);
- break;
- case 'and':
- addSignal(undefined, undefined, param.parText, param.signalType);
- break;
- case 'parEnd':
- addSignal(undefined, undefined, undefined, param.signalType);
- break;
- case 'criticalStart':
- addSignal(undefined, undefined, param.criticalText, param.signalType);
- break;
- case 'option':
- addSignal(undefined, undefined, param.optionText, param.signalType);
- break;
- case 'criticalEnd':
- addSignal(undefined, undefined, undefined, param.signalType);
- break;
- case 'breakStart':
- addSignal(undefined, undefined, param.breakText, param.signalType);
- break;
- case 'breakEnd':
- addSignal(undefined, undefined, undefined, param.signalType);
- break;
+ this.state.records.currentBox = this.state.records.boxes.slice(-1)[0];
+ }
+
+ public addActor(
+ id: string,
+ name: string,
+ description: { text: string; wrap?: boolean | null; type: string },
+ type: string
+ ) {
+ let assignedBox = this.state.records.currentBox;
+ const old = this.state.records.actors.get(id);
+ if (old) {
+ // If already set and trying to set to a new one throw error
+ if (this.state.records.currentBox && old.box && this.state.records.currentBox !== old.box) {
+ throw new Error(
+ `A same participant should only be defined in one Box: ${old.name} can't be in '${old.box.name}' and in '${this.state.records.currentBox.name}' at the same time.`
+ );
+ }
+
+ // Don't change the box if already
+ assignedBox = old.box ? old.box : this.state.records.currentBox;
+ old.box = assignedBox;
+
+ // Don't allow description nulling
+ if (old && name === old.name && description == null) {
+ return;
+ }
+ }
+
+ // Don't allow null descriptions, either
+ if (description?.text == null) {
+ description = { text: name, type };
+ }
+ if (type == null || description.text == null) {
+ description = { text: name, type };
+ }
+
+ this.state.records.actors.set(id, {
+ box: assignedBox,
+ name: name,
+ description: description.text,
+ wrap: description.wrap ?? this.autoWrap(),
+ prevActor: this.state.records.prevActor,
+ links: {},
+ properties: {},
+ actorCnt: null,
+ rectData: null,
+ type: type ?? 'participant',
+ });
+ if (this.state.records.prevActor) {
+ const prevActorInRecords = this.state.records.actors.get(this.state.records.prevActor);
+ if (prevActorInRecords) {
+ prevActorInRecords.nextActor = id;
+ }
+ }
+
+ if (this.state.records.currentBox) {
+ this.state.records.currentBox.actorKeys.push(id);
+ }
+ this.state.records.prevActor = id;
+ }
+
+ private activationCount(part: string) {
+ let i;
+ let count = 0;
+ if (!part) {
+ return 0;
+ }
+ for (i = 0; i < this.state.records.messages.length; i++) {
+ if (
+ this.state.records.messages[i].type === this.LINETYPE.ACTIVE_START &&
+ this.state.records.messages[i].from === part
+ ) {
+ count++;
+ }
+ if (
+ this.state.records.messages[i].type === this.LINETYPE.ACTIVE_END &&
+ this.state.records.messages[i].from === part
+ ) {
+ count--;
+ }
+ }
+ return count;
+ }
+
+ public addMessage(
+ idFrom: Message['from'],
+ idTo: Message['to'],
+ message: { text: string; wrap?: boolean },
+ answer: Message['answer']
+ ) {
+ this.state.records.messages.push({
+ id: this.state.records.messages.length.toString(),
+ from: idFrom,
+ to: idTo,
+ message: message.text,
+ wrap: message.wrap ?? this.autoWrap(),
+ answer: answer,
+ });
+ }
+
+ public addSignal(
+ idFrom?: Message['from'],
+ idTo?: Message['to'],
+ message?: { text: string; wrap: boolean },
+ messageType?: number,
+ activate = false
+ ) {
+ if (messageType === this.LINETYPE.ACTIVE_END) {
+ const cnt = this.activationCount(idFrom ?? '');
+ if (cnt < 1) {
+ // Bail out as there is an activation signal from an inactive participant
+ const error = new Error('Trying to inactivate an inactive participant (' + idFrom + ')');
+
+ // @ts-ignore: we are passing hash param to the error object, however we should define our own custom error class to make it type safe
+ error.hash = {
+ text: '->>-',
+ token: '->>-',
+ line: '1',
+ loc: { first_line: 1, last_line: 1, first_column: 1, last_column: 1 },
+ expected: ["'ACTIVE_PARTICIPANT'"],
+ };
+ throw error;
+ }
+ }
+ this.state.records.messages.push({
+ id: this.state.records.messages.length.toString(),
+ from: idFrom,
+ to: idTo,
+ message: message?.text ?? '',
+ wrap: message?.wrap ?? this.autoWrap(),
+ type: messageType,
+ activate,
+ });
+ return true;
+ }
+
+ public hasAtLeastOneBox() {
+ return this.state.records.boxes.length > 0;
+ }
+
+ public hasAtLeastOneBoxWithTitle() {
+ return this.state.records.boxes.some((b) => b.name);
+ }
+
+ public getMessages() {
+ return this.state.records.messages;
+ }
+
+ public getBoxes() {
+ return this.state.records.boxes;
+ }
+ public getActors() {
+ return this.state.records.actors;
+ }
+ public getCreatedActors() {
+ return this.state.records.createdActors;
+ }
+ public getDestroyedActors() {
+ return this.state.records.destroyedActors;
+ }
+ public getActor(id: string) {
+ // TODO: do we ever use this function in a way that it might return undefined?
+ return this.state.records.actors.get(id)!;
+ }
+ public getActorKeys() {
+ return [...this.state.records.actors.keys()];
+ }
+ public enableSequenceNumbers() {
+ this.state.records.sequenceNumbersEnabled = true;
+ }
+ public disableSequenceNumbers() {
+ this.state.records.sequenceNumbersEnabled = false;
+ }
+ public showSequenceNumbers() {
+ return this.state.records.sequenceNumbersEnabled;
+ }
+
+ public setWrap(wrapSetting?: boolean) {
+ this.state.records.wrapEnabled = wrapSetting;
+ }
+
+ private extractWrap(text?: string): { cleanedText?: string; wrap?: boolean } {
+ if (text === undefined) {
+ return {};
+ }
+ text = text.trim();
+ const wrap =
+ /^:?wrap:/.exec(text) !== null ? true : /^:?nowrap:/.exec(text) !== null ? false : undefined;
+ const cleanedText = (wrap === undefined ? text : text.replace(/^:?(?:no)?wrap:/, '')).trim();
+ return { cleanedText, wrap };
+ }
+
+ public autoWrap() {
+ // if setWrap has been called, use that value, otherwise use the value from the config
+ // TODO: refactor, always use the config value let setWrap update the config value
+ if (this.state.records.wrapEnabled !== undefined) {
+ return this.state.records.wrapEnabled;
+ }
+ return getConfig().sequence?.wrap ?? false;
+ }
+
+ public clear() {
+ this.state.reset();
+ commonClear();
+ }
+
+ public parseMessage(str: string) {
+ const trimmedStr = str.trim();
+ const { wrap, cleanedText } = this.extractWrap(trimmedStr);
+ const message = {
+ text: cleanedText,
+ wrap,
+ };
+ log.debug(`parseMessage: ${JSON.stringify(message)}`);
+ return message;
+ }
+
+ // We expect the box statement to be color first then description
+ // The color can be rgb,rgba,hsl,hsla, or css code names #hex codes are not supported for now because of the way the char # is handled
+ // We extract first segment as color, the rest of the line is considered as text
+ public parseBoxData(str: string) {
+ const match = /^((?:rgba?|hsla?)\s*\(.*\)|\w*)(.*)$/.exec(str);
+ let color = match?.[1] ? match[1].trim() : 'transparent';
+ let title = match?.[2] ? match[2].trim() : undefined;
+
+ // check that the string is a color
+ if (window?.CSS) {
+ if (!window.CSS.supports('color', color)) {
+ color = 'transparent';
+ title = str.trim();
+ }
+ } else {
+ const style = new Option().style;
+ style.color = color;
+ if (style.color !== color) {
+ color = 'transparent';
+ title = str.trim();
+ }
+ }
+ const { wrap, cleanedText } = this.extractWrap(title);
+ return {
+ text: cleanedText ? sanitizeText(cleanedText, getConfig()) : undefined,
+ color,
+ wrap,
+ };
+ }
+
+ public readonly LINETYPE: typeof LINETYPE;
+ public readonly ARROWTYPE: typeof ARROWTYPE;
+ public readonly PLACEMENT: typeof PLACEMENT;
+
+ public addNote(
+ actor: { actor: string },
+ placement: Message['placement'],
+ message: { text: string; wrap?: boolean }
+ ) {
+ const note: Note = {
+ actor: actor,
+ placement: placement,
+ message: message.text,
+ wrap: message.wrap ?? this.autoWrap(),
+ };
+
+ //@ts-ignore: Coerce actor into a [to, from, ...] array
+ // eslint-disable-next-line unicorn/prefer-spread
+ const actors = [].concat(actor, actor);
+ this.state.records.notes.push(note);
+ this.state.records.messages.push({
+ id: this.state.records.messages.length.toString(),
+ from: actors[0],
+ to: actors[1],
+ message: message.text,
+ wrap: message.wrap ?? this.autoWrap(),
+ type: this.LINETYPE.NOTE,
+ placement: placement,
+ });
+ }
+
+ public addLinks(actorId: string, text: { text: string }) {
+ // find the actor
+ const actor = this.getActor(actorId);
+ // JSON.parse the text
+ try {
+ let sanitizedText = sanitizeText(text.text, getConfig());
+ sanitizedText = sanitizedText.replace(/=/g, '=');
+ sanitizedText = sanitizedText.replace(/&/g, '&');
+ const links = JSON.parse(sanitizedText);
+ // add the deserialized text to the actor's links field.
+ this.insertLinks(actor, links);
+ } catch (e) {
+ log.error('error while parsing actor link text', e);
}
}
-};
-export default {
- addActor,
- addMessage,
- addSignal,
- addLinks,
- addDetails,
- addProperties,
- autoWrap,
- setWrap,
- enableSequenceNumbers,
- disableSequenceNumbers,
- showSequenceNumbers,
- getMessages,
- getActors,
- getCreatedActors,
- getDestroyedActors,
- getActor,
- getActorKeys,
- getActorProperty,
- getAccTitle,
- getBoxes,
- getDiagramTitle,
- setDiagramTitle,
- getConfig: () => getConfig().sequence,
- clear,
- parseMessage,
- parseBoxData,
- LINETYPE,
- ARROWTYPE,
- PLACEMENT,
- addNote,
- setAccTitle,
- apply,
- setAccDescription,
- getAccDescription,
- hasAtLeastOneBox,
- hasAtLeastOneBoxWithTitle,
-};
+ public addALink(actorId: string, text: { text: string }) {
+ // find the actor
+ const actor = this.getActor(actorId);
+ try {
+ const links: Record = {};
+ let sanitizedText = sanitizeText(text.text, getConfig());
+ const sep = sanitizedText.indexOf('@');
+ sanitizedText = sanitizedText.replace(/=/g, '=');
+ sanitizedText = sanitizedText.replace(/&/g, '&');
+ const label = sanitizedText.slice(0, sep - 1).trim();
+ const link = sanitizedText.slice(sep + 1).trim();
+
+ links[label] = link;
+ // add the deserialized text to the actor's links field.
+ this.insertLinks(actor, links);
+ } catch (e) {
+ log.error('error while parsing actor link text', e);
+ }
+ }
+
+ private insertLinks(actor: Actor, links: Record) {
+ if (actor.links == null) {
+ actor.links = links;
+ } else {
+ for (const key in links) {
+ actor.links[key] = links[key];
+ }
+ }
+ }
+
+ public addProperties(actorId: string, text: { text: string }) {
+ // find the actor
+ const actor = this.getActor(actorId);
+ // JSON.parse the text
+ try {
+ const sanitizedText = sanitizeText(text.text, getConfig());
+ const properties: Record = JSON.parse(sanitizedText);
+ // add the deserialized text to the actor's property field.
+ this.insertProperties(actor, properties);
+ } catch (e) {
+ log.error('error while parsing actor properties text', e);
+ }
+ }
+
+ private insertProperties(actor: Actor, properties: Record) {
+ if (actor.properties == null) {
+ actor.properties = properties;
+ } else {
+ for (const key in properties) {
+ actor.properties[key] = properties[key];
+ }
+ }
+ }
+
+ private boxEnd() {
+ this.state.records.currentBox = undefined;
+ }
+
+ public addDetails(actorId: string, text: { text: string }) {
+ // find the actor
+ const actor = this.getActor(actorId);
+ const elem = document.getElementById(text.text)!;
+
+ // JSON.parse the text
+ try {
+ const text = elem.innerHTML;
+ const details = JSON.parse(text);
+ // add the deserialized text to the actor's property field.
+ if (details.properties) {
+ this.insertProperties(actor, details.properties);
+ }
+
+ if (details.links) {
+ this.insertLinks(actor, details.links);
+ }
+ } catch (e) {
+ log.error('error while parsing actor details text', e);
+ }
+ }
+
+ public getActorProperty(actor: Actor, key: string) {
+ if (actor?.properties !== undefined) {
+ return actor.properties[key];
+ }
+
+ return undefined;
+ }
+
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-redundant-type-constituents
+ public apply(param: any | AddMessageParams | AddMessageParams[]) {
+ if (Array.isArray(param)) {
+ param.forEach((item) => {
+ this.apply(item);
+ });
+ } else {
+ switch (param.type) {
+ case 'sequenceIndex':
+ this.state.records.messages.push({
+ id: this.state.records.messages.length.toString(),
+ from: undefined,
+ to: undefined,
+ message: {
+ start: param.sequenceIndex,
+ step: param.sequenceIndexStep,
+ visible: param.sequenceVisible,
+ },
+ wrap: false,
+ type: param.signalType,
+ });
+ break;
+ case 'addParticipant':
+ this.addActor(param.actor, param.actor, param.description, param.draw);
+ break;
+ case 'createParticipant':
+ if (this.state.records.actors.has(param.actor)) {
+ throw new Error(
+ "It is not possible to have actors with the same id, even if one is destroyed before the next is created. Use 'AS' aliases to simulate the behavior"
+ );
+ }
+ this.state.records.lastCreated = param.actor;
+ this.addActor(param.actor, param.actor, param.description, param.draw);
+ this.state.records.createdActors.set(param.actor, this.state.records.messages.length);
+ break;
+ case 'destroyParticipant':
+ this.state.records.lastDestroyed = param.actor;
+ this.state.records.destroyedActors.set(param.actor, this.state.records.messages.length);
+ break;
+ case 'activeStart':
+ this.addSignal(param.actor, undefined, undefined, param.signalType);
+ break;
+ case 'activeEnd':
+ this.addSignal(param.actor, undefined, undefined, param.signalType);
+ break;
+ case 'addNote':
+ this.addNote(param.actor, param.placement, param.text);
+ break;
+ case 'addLinks':
+ this.addLinks(param.actor, param.text);
+ break;
+ case 'addALink':
+ this.addALink(param.actor, param.text);
+ break;
+ case 'addProperties':
+ this.addProperties(param.actor, param.text);
+ break;
+ case 'addDetails':
+ this.addDetails(param.actor, param.text);
+ break;
+ case 'addMessage':
+ if (this.state.records.lastCreated) {
+ if (param.to !== this.state.records.lastCreated) {
+ throw new Error(
+ 'The created participant ' +
+ this.state.records.lastCreated.name +
+ ' does not have an associated creating message after its declaration. Please check the sequence diagram.'
+ );
+ } else {
+ this.state.records.lastCreated = undefined;
+ }
+ } else if (this.state.records.lastDestroyed) {
+ if (
+ param.to !== this.state.records.lastDestroyed &&
+ param.from !== this.state.records.lastDestroyed
+ ) {
+ throw new Error(
+ 'The destroyed participant ' +
+ this.state.records.lastDestroyed.name +
+ ' does not have an associated destroying message after its declaration. Please check the sequence diagram.'
+ );
+ } else {
+ this.state.records.lastDestroyed = undefined;
+ }
+ }
+ this.addSignal(param.from, param.to, param.msg, param.signalType, param.activate);
+ break;
+ case 'boxStart':
+ this.addBox(param.boxData);
+ break;
+ case 'boxEnd':
+ this.boxEnd();
+ break;
+ case 'loopStart':
+ this.addSignal(undefined, undefined, param.loopText, param.signalType);
+ break;
+ case 'loopEnd':
+ this.addSignal(undefined, undefined, undefined, param.signalType);
+ break;
+ case 'rectStart':
+ this.addSignal(undefined, undefined, param.color, param.signalType);
+ break;
+ case 'rectEnd':
+ this.addSignal(undefined, undefined, undefined, param.signalType);
+ break;
+ case 'optStart':
+ this.addSignal(undefined, undefined, param.optText, param.signalType);
+ break;
+ case 'optEnd':
+ this.addSignal(undefined, undefined, undefined, param.signalType);
+ break;
+ case 'altStart':
+ this.addSignal(undefined, undefined, param.altText, param.signalType);
+ break;
+ case 'else':
+ this.addSignal(undefined, undefined, param.altText, param.signalType);
+ break;
+ case 'altEnd':
+ this.addSignal(undefined, undefined, undefined, param.signalType);
+ break;
+ case 'setAccTitle':
+ setAccTitle(param.text);
+ break;
+ case 'parStart':
+ this.addSignal(undefined, undefined, param.parText, param.signalType);
+ break;
+ case 'and':
+ this.addSignal(undefined, undefined, param.parText, param.signalType);
+ break;
+ case 'parEnd':
+ this.addSignal(undefined, undefined, undefined, param.signalType);
+ break;
+ case 'criticalStart':
+ this.addSignal(undefined, undefined, param.criticalText, param.signalType);
+ break;
+ case 'option':
+ this.addSignal(undefined, undefined, param.optionText, param.signalType);
+ break;
+ case 'criticalEnd':
+ this.addSignal(undefined, undefined, undefined, param.signalType);
+ break;
+ case 'breakStart':
+ this.addSignal(undefined, undefined, param.breakText, param.signalType);
+ break;
+ case 'breakEnd':
+ this.addSignal(undefined, undefined, undefined, param.signalType);
+ break;
+ }
+ }
+ }
+
+ public setAccTitle = setAccTitle;
+ public setAccDescription = setAccDescription;
+ public setDiagramTitle = setDiagramTitle;
+ public getAccTitle = getAccTitle;
+ public getAccDescription = getAccDescription;
+ public getDiagramTitle = getDiagramTitle;
+ public getConfig() {
+ return getConfig().sequence;
+ }
+}
diff --git a/packages/mermaid/src/diagrams/sequence/sequenceDiagram.spec.js b/packages/mermaid/src/diagrams/sequence/sequenceDiagram.spec.js
index fde813cef..1fb35bce6 100644
--- a/packages/mermaid/src/diagrams/sequence/sequenceDiagram.spec.js
+++ b/packages/mermaid/src/diagrams/sequence/sequenceDiagram.spec.js
@@ -3,6 +3,7 @@ import { setSiteConfig } from '../../diagram-api/diagramAPI.js';
import mermaidAPI from '../../mermaidAPI.js';
import { Diagram } from '../../Diagram.js';
import { addDiagrams } from '../../diagram-api/diagram-orchestration.js';
+import { SequenceDB } from './sequenceDb.js';
beforeAll(async () => {
// Is required to load the sequence diagram
@@ -92,19 +93,19 @@ function addConf(conf, key, value) {
}
// const parser = sequence.parser;
-let diagram;
describe('more than one sequence diagram', () => {
it('should not have duplicated messages', async () => {
- const diagram1 = await Diagram.fromText(`
+ const diagram = await Diagram.fromText(`
sequenceDiagram
Alice->Bob:Hello Bob, how are you?
Bob-->Alice: I am good thanks!`);
- expect(diagram1.db.getMessages()).toMatchInlineSnapshot(`
+ expect(diagram.db.getMessages()).toMatchInlineSnapshot(`
[
{
"activate": false,
"from": "Alice",
+ "id": "0",
"message": "Hello Bob, how are you?",
"to": "Bob",
"type": 5,
@@ -113,6 +114,7 @@ describe('more than one sequence diagram', () => {
{
"activate": false,
"from": "Bob",
+ "id": "1",
"message": "I am good thanks!",
"to": "Alice",
"type": 6,
@@ -130,6 +132,7 @@ describe('more than one sequence diagram', () => {
{
"activate": false,
"from": "Alice",
+ "id": "0",
"message": "Hello Bob, how are you?",
"to": "Bob",
"type": 5,
@@ -138,6 +141,7 @@ describe('more than one sequence diagram', () => {
{
"activate": false,
"from": "Bob",
+ "id": "1",
"message": "I am good thanks!",
"to": "Alice",
"type": 6,
@@ -157,6 +161,7 @@ describe('more than one sequence diagram', () => {
{
"activate": false,
"from": "Alice",
+ "id": "0",
"message": "Hello John, how are you?",
"to": "John",
"type": 5,
@@ -165,6 +170,7 @@ describe('more than one sequence diagram', () => {
{
"activate": false,
"from": "John",
+ "id": "1",
"message": "I am good thanks!",
"to": "Alice",
"type": 6,
@@ -176,6 +182,7 @@ describe('more than one sequence diagram', () => {
});
describe('when parsing a sequenceDiagram', function () {
+ let diagram;
beforeEach(async function () {
diagram = await Diagram.fromText(`
sequenceDiagram
@@ -183,14 +190,7 @@ Alice->Bob:Hello Bob, how are you?
Note right of Bob: Bob thinks
Bob-->Alice: I am good thanks!`);
});
- it('should handle a sequenceDiagram definition', async function () {
- const str = `
-sequenceDiagram
-Alice->Bob:Hello Bob, how are you?
-Note right of Bob: Bob thinks
-Bob-->Alice: I am good thanks!`;
-
- await mermaidAPI.parse(str);
+ it('should handle a sequenceDiagram definition', function () {
const actors = diagram.db.getActors();
expect(actors.get('Alice').description).toBe('Alice');
actors.get('Bob').description = 'Bob';
@@ -208,7 +208,6 @@ Alice->Bob:Hello Bob, how are you?
Note right of Bob: Bob thinks
Bob-->Alice: I am good thanks!`;
- await mermaidAPI.parse(str);
await diagram.renderer.draw(str, 'tst', '1.2.3', diagram); // needs to be rendered for the correct value of visibility auto numbers
expect(diagram.db.showSequenceNumbers()).toBe(false);
});
@@ -220,20 +219,20 @@ Alice->Bob:Hello Bob, how are you?
Note right of Bob: Bob thinks
Bob-->Alice: I am good thanks!`;
- await mermaidAPI.parse(str);
+ const diagram = await Diagram.fromText(str);
+
await diagram.renderer.draw(str, 'tst', '1.2.3', diagram); // needs to be rendered for the correct value of visibility auto numbers
expect(diagram.db.showSequenceNumbers()).toBe(true);
});
it('should handle a sequenceDiagram definition with a title:', async () => {
- const str = `
+ const diagram = await Diagram.fromText(`
sequenceDiagram
title: Diagram Title
Alice->Bob:Hello Bob, how are you?
Note right of Bob: Bob thinks
-Bob-->Alice: I am good thanks!`;
+Bob-->Alice: I am good thanks!`);
- await mermaidAPI.parse(str);
const actors = diagram.db.getActors();
expect(actors.get('Alice').description).toBe('Alice');
actors.get('Bob').description = 'Bob';
@@ -249,14 +248,13 @@ Bob-->Alice: I am good thanks!`;
});
it('should handle a sequenceDiagram definition with a title without a :', async () => {
- const str = `
+ const diagram = await Diagram.fromText(`
sequenceDiagram
title Diagram Title
Alice->Bob:Hello Bob, how are you?
Note right of Bob: Bob thinks
-Bob-->Alice: I am good thanks!`;
+Bob-->Alice: I am good thanks!`);
- await mermaidAPI.parse(str);
const actors = diagram.db.getActors();
expect(actors.get('Alice').description).toBe('Alice');
actors.get('Bob').description = 'Bob';
@@ -272,22 +270,20 @@ Bob-->Alice: I am good thanks!`;
});
it('should handle a sequenceDiagram definition with a accessibility title and description (accDescr)', async () => {
- const str = `
+ const diagram = await Diagram.fromText(`
sequenceDiagram
title: Diagram Title
accTitle: This is the title
accDescr: Accessibility Description
Alice->Bob:Hello Bob, how are you?
-`;
+`);
- await mermaidAPI.parse(str);
expect(diagram.db.getDiagramTitle()).toBe('Diagram Title');
expect(diagram.db.getAccTitle()).toBe('This is the title');
expect(diagram.db.getAccDescription()).toBe('Accessibility Description');
- const messages = diagram.db.getMessages();
});
it('should handle a sequenceDiagram definition with a accessibility title and multiline description (accDescr)', async () => {
- const str = `
+ const diagram = await Diagram.fromText(`
sequenceDiagram
accTitle: This is the title
accDescr {
@@ -295,21 +291,18 @@ Accessibility
Description
}
Alice->Bob:Hello Bob, how are you?
-`;
+`);
- await mermaidAPI.parse(str);
expect(diagram.db.getAccTitle()).toBe('This is the title');
expect(diagram.db.getAccDescription()).toBe('Accessibility\nDescription');
- const messages = diagram.db.getMessages();
});
it('should space in actor names', async () => {
- const str = `
+ const diagram = await Diagram.fromText(`
sequenceDiagram
Alice->Bob:Hello Bob, how are - you?
-Bob-->Alice: I am good thanks!`;
+Bob-->Alice: I am good thanks!`);
- await mermaidAPI.parse(str);
const actors = diagram.db.getActors();
expect(actors.get('Alice').description).toBe('Alice');
actors.get('Bob').description = 'Bob';
@@ -321,12 +314,11 @@ Bob-->Alice: I am good thanks!`;
expect(messages[1].from).toBe('Bob');
});
it('should handle dashes in actor names', async () => {
- const str = `
+ const diagram = await Diagram.fromText(`
sequenceDiagram
Alice-in-Wonderland->Bob:Hello Bob, how are - you?
-Bob-->Alice-in-Wonderland:I am good thanks!`;
+Bob-->Alice-in-Wonderland:I am good thanks!`);
- await mermaidAPI.parse(str);
const actors = diagram.db.getActors();
expect(actors.get('Alice-in-Wonderland').description).toBe('Alice-in-Wonderland');
expect(actors.get('Bob').description).toBe('Bob');
@@ -339,14 +331,13 @@ Bob-->Alice-in-Wonderland:I am good thanks!`;
});
it('should handle dashes in participant names', async () => {
- const str = `
+ const diagram = await Diagram.fromText(`
sequenceDiagram
participant Alice-in-Wonderland
participant Bob
Alice-in-Wonderland->Bob:Hello Bob, how are - you?
-Bob-->Alice-in-Wonderland:I am good thanks!`;
+Bob-->Alice-in-Wonderland:I am good thanks!`);
- await mermaidAPI.parse(str);
const actors = diagram.db.getActors();
expect([...actors.keys()]).toEqual(['Alice-in-Wonderland', 'Bob']);
expect(actors.get('Alice-in-Wonderland').description).toBe('Alice-in-Wonderland');
@@ -360,14 +351,12 @@ Bob-->Alice-in-Wonderland:I am good thanks!`;
});
it('should alias participants', async () => {
- const str = `
+ const diagram = await Diagram.fromText(`
sequenceDiagram
participant A as Alice
participant B as Bob
A->B:Hello Bob, how are you?
-B-->A: I am good thanks!`;
-
- await mermaidAPI.parse(str);
+B-->A: I am good thanks!`);
const actors = diagram.db.getActors();
@@ -381,7 +370,7 @@ B-->A: I am good thanks!`;
expect(messages[1].from).toBe('B');
});
it('should alias a mix of actors and participants apa12', async () => {
- const str = `
+ const diagram = await Diagram.fromText(`
sequenceDiagram
actor Alice as Alice2
actor Bob
@@ -391,9 +380,7 @@ sequenceDiagram
Bob->>Alice: Hi Alice
Alice->>John: Hi John
John->>Mandy: Hi Mandy
- Mandy ->>Joan: Hi Joan`;
-
- await mermaidAPI.parse(str);
+ Mandy ->>Joan: Hi Joan`);
const actors = diagram.db.getActors();
expect([...actors.keys()]).toEqual(['Alice', 'Bob', 'John', 'Mandy', 'Joan']);
@@ -409,14 +396,12 @@ sequenceDiagram
expect(messages[4].to).toBe('Joan');
});
it('should alias actors apa13', async () => {
- const str = `
+ const diagram = await Diagram.fromText(`
sequenceDiagram
actor A as Alice
actor B as Bob
A->B:Hello Bob, how are you?
-B-->A: I am good thanks!`;
-
- await mermaidAPI.parse(str);
+B-->A: I am good thanks!`);
const actors = diagram.db.getActors();
expect([...actors.keys()]).toEqual(['A', 'B']);
@@ -429,11 +414,10 @@ B-->A: I am good thanks!`;
expect(messages[1].from).toBe('B');
});
it('should handle in async messages', async () => {
- const str = `
+ const diagram = await Diagram.fromText(`
sequenceDiagram
-Alice-xBob:Hello Bob, how are you?`;
+Alice-xBob:Hello Bob, how are you?`);
- await mermaidAPI.parse(str);
const actors = diagram.db.getActors();
expect(actors.get('Alice').description).toBe('Alice');
expect(actors.get('Bob').description).toBe('Bob');
@@ -444,11 +428,10 @@ Alice-xBob:Hello Bob, how are you?`;
expect(messages[0].type).toBe(diagram.db.LINETYPE.SOLID_CROSS);
});
it('should handle in async dotted messages', async () => {
- const str = `
+ const diagram = await Diagram.fromText(`
sequenceDiagram
-Alice--xBob:Hello Bob, how are you?`;
+Alice--xBob:Hello Bob, how are you?`);
- await mermaidAPI.parse(str);
const actors = diagram.db.getActors();
expect(actors.get('Alice').description).toBe('Alice');
expect(actors.get('Bob').description).toBe('Bob');
@@ -459,11 +442,10 @@ Alice--xBob:Hello Bob, how are you?`;
expect(messages[0].type).toBe(diagram.db.LINETYPE.DOTTED_CROSS);
});
it('should handle in sync messages', async () => {
- const str = `
+ const diagram = await Diagram.fromText(`
sequenceDiagram
-Alice-)Bob:Hello Bob, how are you?`;
+Alice-)Bob:Hello Bob, how are you?`);
- await mermaidAPI.parse(str);
const actors = diagram.db.getActors();
expect(actors.get('Alice').description).toBe('Alice');
expect(actors.get('Bob').description).toBe('Bob');
@@ -474,11 +456,10 @@ Alice-)Bob:Hello Bob, how are you?`;
expect(messages[0].type).toBe(diagram.db.LINETYPE.SOLID_POINT);
});
it('should handle in sync dotted messages', async () => {
- const str = `
+ const diagram = await Diagram.fromText(`
sequenceDiagram
-Alice--)Bob:Hello Bob, how are you?`;
+Alice--)Bob:Hello Bob, how are you?`);
- await mermaidAPI.parse(str);
const actors = diagram.db.getActors();
expect(actors.get('Alice').description).toBe('Alice');
expect(actors.get('Bob').description).toBe('Bob');
@@ -489,11 +470,10 @@ Alice--)Bob:Hello Bob, how are you?`;
expect(messages[0].type).toBe(diagram.db.LINETYPE.DOTTED_POINT);
});
it('should handle in arrow messages', async () => {
- const str = `
+ const diagram = await Diagram.fromText(`
sequenceDiagram
-Alice->>Bob:Hello Bob, how are you?`;
+Alice->>Bob:Hello Bob, how are you?`);
- await mermaidAPI.parse(str);
const actors = diagram.db.getActors();
expect(actors.get('Alice').description).toBe('Alice');
expect(actors.get('Bob').description).toBe('Bob');
@@ -504,9 +484,10 @@ Alice->>Bob:Hello Bob, how are you?`;
expect(messages[0].type).toBe(diagram.db.LINETYPE.SOLID);
});
it('should handle in arrow messages', async () => {
- const str = 'sequenceDiagram\n' + 'Alice-->>Bob:Hello Bob, how are you?';
+ const diagram = await Diagram.fromText(
+ 'sequenceDiagram\n' + 'Alice-->>Bob:Hello Bob, how are you?'
+ );
- await mermaidAPI.parse(str);
const actors = diagram.db.getActors();
expect(actors.get('Alice').description).toBe('Alice');
expect(actors.get('Bob').description).toBe('Bob');
@@ -517,11 +498,12 @@ Alice->>Bob:Hello Bob, how are you?`;
expect(messages[0].type).toBe(diagram.db.LINETYPE.DOTTED);
});
it('should handle bidirectional arrow messages', async () => {
- const str = `
+ const diagram = await Diagram.fromText(
+ `
sequenceDiagram
-Alice<<->>Bob:Hello Bob, how are you?`;
+Alice<<->>Bob:Hello Bob, how are you?`
+ );
- await mermaidAPI.parse(str);
const actors = diagram.db.getActors();
expect(actors.get('Alice').description).toBe('Alice');
expect(actors.get('Bob').description).toBe('Bob');
@@ -532,11 +514,12 @@ Alice<<->>Bob:Hello Bob, how are you?`;
expect(messages[0].type).toBe(diagram.db.LINETYPE.BIDIRECTIONAL_SOLID);
});
it('should handle bidirectional dotted arrow messages', async () => {
- const str = `
+ const diagram = await Diagram.fromText(
+ `
sequenceDiagram
- Alice<<-->>Bob:Hello Bob, how are you?`;
+ Alice<<-->>Bob:Hello Bob, how are you?`
+ );
- await mermaidAPI.parse(str);
const actors = diagram.db.getActors();
expect(actors.get('Alice').description).toBe('Alice');
expect(actors.get('Bob').description).toBe('Bob');
@@ -547,14 +530,13 @@ Alice<<->>Bob:Hello Bob, how are you?`;
expect(messages[0].type).toBe(diagram.db.LINETYPE.BIDIRECTIONAL_DOTTED);
});
it('should handle actor activation', async () => {
- const str = `
+ const diagram = await Diagram.fromText(`
sequenceDiagram
Alice-->>Bob:Hello Bob, how are you?
activate Bob
Bob-->>Alice:Hello Alice, I'm fine and you?
-deactivate Bob`;
+deactivate Bob`);
- await mermaidAPI.parse(str);
const actors = diagram.db.getActors();
expect(actors.get('Alice').description).toBe('Alice');
expect(actors.get('Bob').description).toBe('Bob');
@@ -570,12 +552,11 @@ deactivate Bob`;
expect(messages[3].from).toBe('Bob');
});
it('should handle actor one line notation activation', async () => {
- const str = `
- sequenceDiagram
- Alice-->>+Bob:Hello Bob, how are you?
- Bob-->>- Alice:Hello Alice, I'm fine and you?`;
+ const diagram = await Diagram.fromText(`
+ sequenceDiagram
+ Alice-->>+Bob:Hello Bob, how are you?
+ Bob-->>- Alice:Hello Alice, I'm fine and you?`);
- await mermaidAPI.parse(str);
const actors = diagram.db.getActors();
expect(actors.get('Alice').description).toBe('Alice');
expect(actors.get('Bob').description).toBe('Bob');
@@ -592,14 +573,13 @@ deactivate Bob`;
expect(messages[3].from).toBe('Bob');
});
it('should handle stacked activations', async () => {
- const str = `
+ const diagram = await Diagram.fromText(`
sequenceDiagram
Alice-->>+Bob:Hello Bob, how are you?
Bob-->>+Carol:Carol, let me introduce Alice?
Bob-->>- Alice:Hello Alice, please meet Carol?
- Carol->>- Bob:Oh Bob, I'm so happy to be here!`;
+ Carol->>- Bob:Oh Bob, I'm so happy to be here!`);
- await mermaidAPI.parse(str);
const actors = diagram.db.getActors();
expect(actors.get('Alice').description).toBe('Alice');
expect(actors.get('Bob').description).toBe('Bob');
@@ -645,14 +625,13 @@ deactivate Bob`;
});
it('should handle comments in a sequenceDiagram', async () => {
- const str = `
+ const diagram = await Diagram.fromText(`
sequenceDiagram
Alice->Bob: Hello Bob, how are you?
%% Comment
Note right of Bob: Bob thinks
- Bob-->Alice: I am good thanks!`;
+ Bob-->Alice: I am good thanks!`);
- await mermaidAPI.parse(str);
const actors = diagram.db.getActors();
expect(actors.get('Alice').description).toBe('Alice');
actors.get('Bob').description = 'Bob';
@@ -664,16 +643,15 @@ deactivate Bob`;
expect(messages[2].from).toBe('Bob');
});
it('should handle new lines in a sequenceDiagram', async () => {
- const str = `
+ const diagram = await Diagram.fromText(`
sequenceDiagram
Alice->Bob: Hello Bob, how are you?
%% Comment
Note right of Bob: Bob thinks
Bob-->Alice: I am good thanks!
- `;
+ `);
- await mermaidAPI.parse(str);
const actors = diagram.db.getActors();
expect(actors.get('Alice').description).toBe('Alice');
actors.get('Bob').description = 'Bob';
@@ -685,10 +663,9 @@ deactivate Bob`;
expect(messages[2].from).toBe('Bob');
});
it('should handle semicolons', async () => {
- const str = `
-sequenceDiagram;Alice->Bob: Hello Bob, how are you?;Note right of Bob: Bob thinks;Bob-->Alice: I am good thanks!;`;
+ const diagram = await Diagram.fromText(`
+sequenceDiagram;Alice->Bob: Hello Bob, how are you?;Note right of Bob: Bob thinks;Bob-->Alice: I am good thanks!;`);
- await mermaidAPI.parse(str);
const actors = diagram.db.getActors();
expect(actors.get('Alice').description).toBe('Alice');
actors.get('Bob').description = 'Bob';
@@ -700,15 +677,14 @@ sequenceDiagram;Alice->Bob: Hello Bob, how are you?;Note right of Bob: Bob think
expect(messages[2].from).toBe('Bob');
});
it('should handle one leading space in lines in a sequenceDiagram', async () => {
- const str = `
+ const diagram = await Diagram.fromText(`
sequenceDiagram
Alice->Bob: Hello Bob, how are you?
%% Comment
Note right of Bob: Bob thinks
-Bob-->Alice: I am good thanks!`;
+Bob-->Alice: I am good thanks!`);
- await mermaidAPI.parse(str);
const actors = diagram.db.getActors();
expect(actors.get('Alice').description).toBe('Alice');
actors.get('Bob').description = 'Bob';
@@ -720,15 +696,14 @@ Bob-->Alice: I am good thanks!`;
expect(messages[2].from).toBe('Bob');
});
it('should handle several leading spaces in lines in a sequenceDiagram', async () => {
- const str = `
+ const diagram = await Diagram.fromText(`
sequenceDiagram
Alice->Bob: Hello Bob, how are you?
%% Comment
Note right of Bob: Bob thinks
-Bob-->Alice: I am good thanks!`;
+Bob-->Alice: I am good thanks!`);
- await mermaidAPI.parse(str);
const actors = diagram.db.getActors();
expect(actors.get('Alice').description).toBe('Alice');
actors.get('Bob').description = 'Bob';
@@ -740,7 +715,7 @@ Bob-->Alice: I am good thanks!`;
expect(messages[2].from).toBe('Bob');
});
it('should handle several leading spaces in lines in a sequenceDiagram', async () => {
- const str = `
+ const diagram = await Diagram.fromText(`
sequenceDiagram
participant Alice
participant Bob
@@ -751,9 +726,8 @@ John->John: Fight against hypochondria
Note right of John: Rational thoughts
prevail...
John-->Alice: Great!
John->Bob: How about you?
-Bob-->John: Jolly good!`;
+Bob-->John: Jolly good!`);
- await mermaidAPI.parse(str);
const actors = diagram.db.getActors();
expect(actors.get('Alice').description).toBe('Alice');
actors.get('Bob').description = 'Bob';
@@ -765,7 +739,7 @@ Bob-->John: Jolly good!`;
expect(messages[2].from).toBe('John');
});
it('should handle different line breaks', async () => {
- const str = `
+ const diagram = await Diagram.fromText(`
sequenceDiagram
participant 1 as multiline
text
participant 2 as multiline
text
@@ -779,9 +753,7 @@ note right of 3: multiline
text
note right of 4: multiline
text
4->>1: multiline
text
note right of 1: multiline
text
-`;
-
- await mermaidAPI.parse(str);
+`);
const actors = diagram.db.getActors();
expect(actors.get('1').description).toBe('multiline
text');
@@ -800,7 +772,7 @@ note right of 1: multiline
text
expect(messages[7].message).toBe('multiline
text');
});
it('should handle notes and messages without wrap specified', async () => {
- const str = `
+ const diagram = await Diagram.fromText(`
sequenceDiagram
participant 1
participant 2
@@ -814,9 +786,7 @@ note right of 3:nowrap: single-line text
note right of 4: multiline
text
4->>1:nowrap: multiline
text
note right of 1:nowrap: multiline
text
-`;
-
- await mermaidAPI.parse(str);
+`);
const messages = diagram.db.getMessages();
expect(messages[0].message).toBe('single-line text');
@@ -839,7 +809,7 @@ note right of 1:nowrap: multiline
text
expect(messages[7].wrap).toBe(false);
});
it('should handle notes and messages with wrap specified', async () => {
- const str = `
+ const diagram = await Diagram.fromText(`
sequenceDiagram
participant 1
participant 2
@@ -849,9 +819,7 @@ participant 4
note right of 2:wrap: single-line text
2->>3:wrap: multiline
text
note right of 3:wrap: multiline
text
-`;
-
- await mermaidAPI.parse(str);
+`);
const messages = diagram.db.getMessages();
expect(messages[0].message).toBe('single-line text');
@@ -864,15 +832,13 @@ note right of 3:wrap: multiline
text
expect(messages[3].wrap).toBe(true);
});
it('should handle notes and messages with nowrap or line breaks', async () => {
- const str = `
+ const diagram = await Diagram.fromText(`
sequenceDiagram
participant 1
participant 2
1->>2: single-line text
note right of 2: single-line text
-`;
-
- await mermaidAPI.parse(str);
+`);
const messages = diagram.db.getMessages();
expect(messages[0].message).toBe('single-line text');
@@ -881,27 +847,23 @@ note right of 2: single-line text
expect(messages[1].wrap).toBe(false);
});
it('should handle notes over a single actor', async () => {
- const str = `
+ const diagram = await Diagram.fromText(`
sequenceDiagram
Alice->Bob: Hello Bob, how are you?
Note over Bob: Bob thinks
-`;
-
- await mermaidAPI.parse(str);
+`);
const messages = diagram.db.getMessages();
expect(messages[1].from).toBe('Bob');
expect(messages[1].to).toBe('Bob');
});
it('should handle notes over multiple actors', async () => {
- const str = `
+ const diagram = await Diagram.fromText(`
sequenceDiagram
Alice->Bob: Hello Bob, how are you?
Note over Alice,Bob: confusion
Note over Bob,Alice: resolution
-`;
-
- await mermaidAPI.parse(str);
+`);
const messages = diagram.db.getMessages();
expect(messages[1].from).toBe('Alice');
@@ -910,7 +872,7 @@ Note over Bob,Alice: resolution
expect(messages[2].to).toBe('Alice');
});
it('should handle loop statements', async () => {
- const str = `
+ const diagram = await Diagram.fromText(`
sequenceDiagram
Alice->Bob: Hello Bob, how are you?
@@ -919,9 +881,8 @@ Note right of Bob: Bob thinks
loop Multiple happy responses
Bob-->Alice: I am good thanks!
-end`;
+end`);
- await mermaidAPI.parse(str);
const actors = diagram.db.getActors();
expect(actors.get('Alice').description).toBe('Alice');
actors.get('Bob').description = 'Bob';
@@ -933,7 +894,7 @@ end`;
expect(messages[1].from).toBe('Bob');
});
it('should add a rect around sequence', async () => {
- const str = `
+ const diagram = await Diagram.fromText(`
sequenceDiagram
Alice->Bob: Hello Bob, how are you?
%% Comment
@@ -941,9 +902,8 @@ end`;
Note right of Bob: Bob thinks
Bob-->Alice: I am good thanks
end
- `;
+ `);
- await mermaidAPI.parse(str);
const actors = diagram.db.getActors();
expect(actors.get('Alice').description).toBe('Alice');
actors.get('Bob').description = 'Bob';
@@ -957,7 +917,7 @@ end`;
});
it('should allow for nested rects', async () => {
- const str = `
+ const diagram = await Diagram.fromText(`
sequenceDiagram
Alice->Bob: Hello Bob, how are you?
%% Comment
@@ -967,8 +927,8 @@ end`;
end
Bob-->Alice: I am good thanks
end
- `;
- await mermaidAPI.parse(str);
+ `);
+
const actors = diagram.db.getActors();
expect(actors.get('Alice').description).toBe('Alice');
actors.get('Bob').description = 'Bob';
@@ -984,7 +944,7 @@ end`;
expect(messages[6].type).toEqual(diagram.db.LINETYPE.RECT_END);
});
it('should handle opt statements', async () => {
- const str = `
+ const diagram = await Diagram.fromText(`
sequenceDiagram
Alice->Bob: Hello Bob, how are you?
@@ -993,9 +953,8 @@ Note right of Bob: Bob thinks
opt Perhaps a happy response
Bob-->Alice: I am good thanks!
-end`;
+end`);
- await mermaidAPI.parse(str);
const actors = diagram.db.getActors();
expect(actors.get('Alice').description).toBe('Alice');
actors.get('Bob').description = 'Bob';
@@ -1007,7 +966,7 @@ end`;
expect(messages[1].from).toBe('Bob');
});
it('should handle alt statements', async () => {
- const str = `
+ const diagram = await Diagram.fromText(`
sequenceDiagram
Alice->Bob: Hello Bob, how are you?
@@ -1018,9 +977,8 @@ alt isWell
Bob-->Alice: I am good thanks!
else isSick
Bob-->Alice: Feel sick...
-end`;
+end`);
- await mermaidAPI.parse(str);
const actors = diagram.db.getActors();
expect(actors.get('Alice').description).toBe('Alice');
@@ -1033,7 +991,7 @@ end`;
expect(messages[1].from).toBe('Bob');
});
it('should handle alt statements with multiple elses', async () => {
- const str = `
+ const diagram = await Diagram.fromText(`
sequenceDiagram
Alice->Bob: Hello Bob, how are you?
@@ -1046,8 +1004,8 @@ else isSick
Bob-->Alice: Feel sick...
else default
Bob-->Alice: :-)
-end`;
- await mermaidAPI.parse(str);
+end`);
+
const messages = diagram.db.getMessages();
expect(messages.length).toBe(9);
expect(messages[1].from).toBe('Bob');
@@ -1060,13 +1018,12 @@ end`;
expect(messages[8].type).toBe(diagram.db.LINETYPE.ALT_END);
});
it('should handle critical statements without options', async () => {
- const str = `
+ const diagram = await Diagram.fromText(`
sequenceDiagram
critical Establish a connection to the DB
Service-->DB: connect
- end`;
+ end`);
- await mermaidAPI.parse(str);
const actors = diagram.db.getActors();
expect(actors.get('Service').description).toBe('Service');
@@ -1080,7 +1037,7 @@ sequenceDiagram
expect(messages[2].type).toBe(diagram.db.LINETYPE.CRITICAL_END);
});
it('should handle critical statements with options', async () => {
- const str = `
+ const diagram = await Diagram.fromText(`
sequenceDiagram
critical Establish a connection to the DB
Service-->DB: connect
@@ -1088,9 +1045,8 @@ sequenceDiagram
Service-->Service: Log error
option Credentials rejected
Service-->Service: Log different error
- end`;
+ end`);
- await mermaidAPI.parse(str);
const actors = diagram.db.getActors();
expect(actors.get('Service').description).toBe('Service');
@@ -1108,16 +1064,15 @@ sequenceDiagram
expect(messages[6].type).toBe(diagram.db.LINETYPE.CRITICAL_END);
});
it('should handle break statements', async () => {
- const str = `
+ const diagram = await Diagram.fromText(`
sequenceDiagram
Consumer-->API: Book something
API-->BookingService: Start booking process
break when the booking process fails
API-->Consumer: show failure
end
- API-->BillingService: Start billing process`;
+ API-->BillingService: Start billing process`);
- await mermaidAPI.parse(str);
const actors = diagram.db.getActors();
expect(actors.get('Consumer').description).toBe('Consumer');
@@ -1134,7 +1089,7 @@ sequenceDiagram
expect(messages[5].from).toBe('API');
});
it('should handle par statements a sequenceDiagram', async () => {
- const str = `
+ const diagram = await Diagram.fromText(`
sequenceDiagram
par Parallel one
Alice->>Bob: Hello Bob, how are you?
@@ -1145,9 +1100,8 @@ Bob-->>Alice: Fine!
and Parallel three
Alice->>Bob: What do you think about it?
Bob-->>Alice: It's good!
-end`;
+end`);
- await mermaidAPI.parse(str);
const actors = diagram.db.getActors();
expect(actors.get('Alice').description).toBe('Alice');
@@ -1161,15 +1115,14 @@ end`;
expect(messages[2].from).toBe('Bob');
});
it('it should handle par_over statements', async () => {
- const str = `
+ const diagram = await Diagram.fromText(`
sequenceDiagram
par_over Parallel overlap
Alice ->> Bob: Message
Note left of Alice: Alice note
Note right of Bob: Bob note
-end`;
+end`);
- await mermaidAPI.parse(str);
const actors = diagram.db.getActors();
expect(actors.get('Alice').description).toBe('Alice');
@@ -1184,120 +1137,102 @@ end`;
expect(messages[3].from).toBe('Bob');
});
it('should handle special characters in signals', async () => {
- const str = 'sequenceDiagram\n' + 'Alice->Bob: -:<>,;# comment';
-
- await mermaidAPI.parse(str);
+ const diagram = await Diagram.fromText('sequenceDiagram\n' + 'Alice->Bob: -:<>,;# comment');
const messages = diagram.db.getMessages();
expect(messages[0].message).toBe('-:<>,');
});
it('should handle special characters in notes', async () => {
- const str = `
+ const diagram = await Diagram.fromText(`
sequenceDiagram
Alice->Bob: Hello Bob, how are you?
-Note right of Bob: -:<>,;# comment`;
-
- await mermaidAPI.parse(str);
+Note right of Bob: -:<>,;# comment`);
const messages = diagram.db.getMessages();
expect(messages[1].message).toBe('-:<>,');
});
it('should handle special characters in loop', async () => {
- const str = `
+ const diagram = await Diagram.fromText(`
sequenceDiagram
Alice->Bob: Hello Bob, how are you?
loop -:<>,;# comment
Bob-->Alice: I am good thanks!
-end`;
-
- await mermaidAPI.parse(str);
+end`);
const messages = diagram.db.getMessages();
expect(messages[1].message).toBe('-:<>,');
});
it('should handle special characters in opt', async () => {
- const str = `
+ const diagram = await Diagram.fromText(`
sequenceDiagram
Alice->Bob: Hello Bob, how are you?
opt -:<>,;# comment
Bob-->Alice: I am good thanks!
-end`;
-
- await mermaidAPI.parse(str);
+end`);
const messages = diagram.db.getMessages();
expect(messages[1].message).toBe('-:<>,');
});
it('should handle special characters in alt', async () => {
- const str = `
+ const diagram = await Diagram.fromText(`
sequenceDiagram
Alice->Bob: Hello Bob, how are you?
alt -:<>,;# comment
Bob-->Alice: I am good thanks!
else ,<>:-#; comment
Bob-->Alice: I am good thanks!
-end`;
-
- await mermaidAPI.parse(str);
+end`);
const messages = diagram.db.getMessages();
expect(messages[1].message).toBe('-:<>,');
expect(messages[3].message).toBe(',<>:-');
});
it('should handle special characters in par', async () => {
- const str = `
+ const diagram = await Diagram.fromText(`
sequenceDiagram
Alice->Bob: Hello Bob, how are you?
par -:<>,;# comment
Bob-->Alice: I am good thanks!
and ,<>:-#; comment
Bob-->Alice: I am good thanks!
-end`;
-
- await mermaidAPI.parse(str);
+end`);
const messages = diagram.db.getMessages();
expect(messages[1].message).toBe('-:<>,');
expect(messages[3].message).toBe(',<>:-');
});
it('should handle no-label loop', async () => {
- const str = `
+ const diagram = await Diagram.fromText(`
sequenceDiagram
Alice->Bob: Hello Bob, how are you?
loop
Bob-->Alice: I am good thanks!
-end`;
-
- await mermaidAPI.parse(str);
+end`);
const messages = diagram.db.getMessages();
expect(messages[1].message).toBe('');
expect(messages[2].message).toBe('I am good thanks!');
});
it('should handle no-label opt', async () => {
- const str = `
+ const diagram = await Diagram.fromText(`
sequenceDiagram
Alice->Bob: Hello Bob, how are you?
opt # comment
Bob-->Alice: I am good thanks!
-end`;
-
- await mermaidAPI.parse(str);
+end`);
const messages = diagram.db.getMessages();
expect(messages[1].message).toBe('');
expect(messages[2].message).toBe('I am good thanks!');
});
it('should handle no-label alt', async () => {
- const str = `
+ const diagram = await Diagram.fromText(`
sequenceDiagram
Alice->Bob: Hello Bob, how are you?
alt;Bob-->Alice: I am good thanks!
else # comment
Bob-->Alice: I am good thanks!
-end`;
-
- await mermaidAPI.parse(str);
+end`);
const messages = diagram.db.getMessages();
expect(messages[1].message).toBe('');
@@ -1306,15 +1241,13 @@ end`;
expect(messages[4].message).toBe('I am good thanks!');
});
it('should handle no-label par', async () => {
- const str = `
+ const diagram = await Diagram.fromText(`
sequenceDiagram
Alice->Bob: Hello Bob, how are you?
par;Bob-->Alice: I am good thanks!
and # comment
Bob-->Alice: I am good thanks!
-end`;
-
- await mermaidAPI.parse(str);
+end`);
const messages = diagram.db.getMessages();
expect(messages[1].message).toBe('');
@@ -1324,7 +1257,7 @@ end`;
});
it('should handle links', async () => {
- const str = `
+ const diagram = await Diagram.fromText(`
sequenceDiagram
participant a as Alice
participant b as Bob
@@ -1335,9 +1268,8 @@ links a: { "On-Call": "https://oncall.contoso.com/?svc=alice" }
link a: Endpoint @ https://alice.contoso.com
link a: Swagger @ https://swagger.contoso.com
link a: Tests @ https://tests.contoso.com/?svc=alice@contoso.com
-`;
+`);
- await mermaidAPI.parse(str);
const actors = diagram.db.getActors();
expect(actors.get('a').links.Repo).toBe('https://repo.contoso.com/');
expect(actors.get('b').links.Repo).toBe(undefined);
@@ -1352,16 +1284,15 @@ link a: Tests @ https://tests.contoso.com/?svc=alice@contoso.com
it('should handle properties EXPERIMENTAL: USE WITH CAUTION', async () => {
//Be aware that the syntax for "properties" is likely to be changed.
- const str = `
+ const diagram = await Diagram.fromText(`
sequenceDiagram
participant a as Alice
participant b as Bob
participant c as Charlie
properties a: {"class": "internal-service-actor", "icon": "@clock"}
properties b: {"class": "external-service-actor", "icon": "@computer"}
-`;
+`);
- await mermaidAPI.parse(str);
const actors = diagram.db.getActors();
expect(actors.get('a').properties.class).toBe('internal-service-actor');
expect(actors.get('b').properties.class).toBe('external-service-actor');
@@ -1371,7 +1302,7 @@ properties b: {"class": "external-service-actor", "icon": "@computer"}
});
it('should handle box', async () => {
- const str = `
+ const diagram = await Diagram.fromText(`
sequenceDiagram
box green Group 1
participant a as Alice
@@ -1384,9 +1315,8 @@ links a: { "On-Call": "https://oncall.contoso.com/?svc=alice" }
link a: Endpoint @ https://alice.contoso.com
link a: Swagger @ https://swagger.contoso.com
link a: Tests @ https://tests.contoso.com/?svc=alice@contoso.com
-`;
+`);
- await mermaidAPI.parse(str);
const boxes = diagram.db.getBoxes();
expect(boxes[0].name).toEqual('Group 1');
expect(boxes[0].actorKeys).toEqual(['a', 'b']);
@@ -1394,7 +1324,7 @@ link a: Tests @ https://tests.contoso.com/?svc=alice@contoso.com
});
it('should handle box without color', async () => {
- const str = `
+ const diagram = await Diagram.fromText(`
sequenceDiagram
box Group 1
participant a as Alice
@@ -1407,9 +1337,8 @@ link a: Tests @ https://tests.contoso.com/?svc=alice@contoso.com
link a: Endpoint @ https://alice.contoso.com
link a: Swagger @ https://swagger.contoso.com
link a: Tests @ https://tests.contoso.com/?svc=alice@contoso.com
- `;
+ `);
- await mermaidAPI.parse(str);
const boxes = diagram.db.getBoxes();
expect(boxes[0].name).toEqual('Group 1');
expect(boxes[0].actorKeys).toEqual(['a', 'b']);
@@ -1417,7 +1346,7 @@ link a: Tests @ https://tests.contoso.com/?svc=alice@contoso.com
});
it('should handle box without description', async () => {
- const str = `
+ const diagram = await Diagram.fromText(`
sequenceDiagram
box Aqua
participant a as Alice
@@ -1430,9 +1359,8 @@ link a: Tests @ https://tests.contoso.com/?svc=alice@contoso.com
link a: Endpoint @ https://alice.contoso.com
link a: Swagger @ https://swagger.contoso.com
link a: Tests @ https://tests.contoso.com/?svc=alice@contoso.com
- `;
+ `);
- await mermaidAPI.parse(str);
const boxes = diagram.db.getBoxes();
expect(boxes[0].name).toBeFalsy();
expect(boxes[0].actorKeys).toEqual(['a', 'b']);
@@ -1440,7 +1368,7 @@ link a: Tests @ https://tests.contoso.com/?svc=alice@contoso.com
});
it('should handle simple actor creation', async () => {
- const str = `
+ const diagram = await Diagram.fromText(`
sequenceDiagram
participant a as Alice
a ->>b: Hello Bob?
@@ -1449,8 +1377,7 @@ link a: Tests @ https://tests.contoso.com/?svc=alice@contoso.com
c ->> b: Hello b?
create actor d as Donald
a ->> d: Hello Donald?
- `;
- await mermaidAPI.parse(str);
+ `);
const actors = diagram.db.getActors();
const createdActors = diagram.db.getCreatedActors();
expect(actors.get('c').name).toEqual('c');
@@ -1463,7 +1390,7 @@ link a: Tests @ https://tests.contoso.com/?svc=alice@contoso.com
expect(createdActors.get('d')).toEqual(3);
});
it('should handle simple actor destruction', async () => {
- const str = `
+ const diagram = await Diagram.fromText(`
sequenceDiagram
participant a as Alice
a ->>b: Hello Bob?
@@ -1472,14 +1399,13 @@ link a: Tests @ https://tests.contoso.com/?svc=alice@contoso.com
b ->> c: Where is Alice?
destroy c
b ->> c: Where are you?
- `;
- await mermaidAPI.parse(str);
+ `);
const destroyedActors = diagram.db.getDestroyedActors();
expect(destroyedActors.get('a')).toEqual(1);
expect(destroyedActors.get('c')).toEqual(3);
});
it('should handle the creation and destruction of the same actor', async () => {
- const str = `
+ const diagram2 = await Diagram.fromText(`
sequenceDiagram
a ->>b: Hello Bob?
create participant c
@@ -1487,10 +1413,9 @@ link a: Tests @ https://tests.contoso.com/?svc=alice@contoso.com
c ->> b: Hello b?
destroy c
b ->> c : Bye c !
- `;
- await mermaidAPI.parse(str);
- const createdActors = diagram.db.getCreatedActors();
- const destroyedActors = diagram.db.getDestroyedActors();
+ `);
+ const createdActors = diagram2.db.getCreatedActors();
+ const destroyedActors = diagram2.db.getDestroyedActors();
expect(createdActors.get('c')).toEqual(1);
expect(destroyedActors.get('c')).toEqual(3);
});
@@ -1514,7 +1439,12 @@ describe('when checking the bounds in a sequenceDiagram', function () {
});
let conf;
- beforeEach(function () {
+ let diagram;
+ beforeEach(async function () {
+ diagram = await Diagram.fromText(`
+ sequenceDiagram
+ Alice->Bob:Hello Bob, how are you?
+ Bob-->Alice: I am good thanks!`);
mermaidAPI.reset();
diagram.renderer.bounds.init();
conf = diagram.db.getConfig();
@@ -1570,7 +1500,7 @@ describe('when checking the bounds in a sequenceDiagram', function () {
expect(bounds.stopx).toBe(300);
expect(bounds.stopy).toBe(400);
});
- it('should handle multiple loops withtout expanding the bounds', () => {
+ it('should handle multiple loops without expanding the bounds', () => {
diagram.renderer.bounds.insert(100, 100, 1000, 1000);
diagram.renderer.bounds.verticalPos = 200;
diagram.renderer.bounds.newLoop();
@@ -1643,7 +1573,7 @@ describe('when rendering a sequenceDiagram APA', function () {
setSiteConfig({ logLevel: 5, sequence: conf });
});
let conf;
- beforeEach(async function () {
+ beforeEach(function () {
mermaidAPI.reset();
// });
@@ -1662,11 +1592,6 @@ describe('when rendering a sequenceDiagram APA', function () {
mirrorActors: false,
};
setSiteConfig({ logLevel: 5, sequence: conf });
- diagram = await Diagram.fromText(`
-sequenceDiagram
-Alice->Bob:Hello Bob, how are you?
-Note right of Bob: Bob thinks
-Bob-->Alice: I am good thanks!`);
});
['tspan', 'fo', 'old', undefined].forEach(function (textPlacement) {
it(`
@@ -1675,7 +1600,7 @@ it should handle one actor, when textPlacement is ${textPlacement}`, async () =>
sequenceDiagram
participant Alice`;
- await mermaidAPI.parse(str);
+ const diagram = await Diagram.fromText(str);
// diagram.renderer.setConf(mermaidAPI.getConfig().sequence);
await diagram.renderer.draw(str, 'tst', '1.2.3', diagram);
@@ -1687,14 +1612,12 @@ participant Alice`;
});
});
it('should handle same actor with different whitespace properly', async () => {
- const str = `
+ const diagram = await Diagram.fromText(`
sequenceDiagram
participant Alice
participant Alice
participant Alice
-`;
-
- await mermaidAPI.parse(str);
+`);
const actors = diagram.db.getActors();
expect([...actors.keys()]).toEqual(['Alice']);
@@ -1705,9 +1628,9 @@ sequenceDiagram
participant Alice
Note over Alice: Alice thinks
`;
+ const diagram = await Diagram.fromText(str);
expect(mermaidAPI.getConfig().sequence.mirrorActors).toBeFalsy();
- await mermaidAPI.parse(str);
await diagram.renderer.draw(str, 'tst', '1.2.3', diagram);
const { bounds, models } = diagram.renderer.bounds.getBounds();
@@ -1723,7 +1646,7 @@ sequenceDiagram
participant Alice
Note left of Alice: Alice thinks`;
- await mermaidAPI.parse(str);
+ const diagram = await Diagram.fromText(str);
await diagram.renderer.draw(str, 'tst', '1.2.3', diagram);
const { bounds, models } = diagram.renderer.bounds.getBounds();
@@ -1739,7 +1662,7 @@ sequenceDiagram
participant Alice
Note right of Alice: Alice thinks`;
- await mermaidAPI.parse(str);
+ const diagram = await Diagram.fromText(str);
await diagram.renderer.draw(str, 'tst', '1.2.3', diagram);
const { bounds, models } = diagram.renderer.bounds.getBounds();
@@ -1754,7 +1677,7 @@ Note right of Alice: Alice thinks`;
sequenceDiagram
Alice->Bob: Hello Bob, how are you?`;
- await mermaidAPI.parse(str);
+ const diagram = await Diagram.fromText(str);
await diagram.renderer.draw(str, 'tst', '1.2.3', diagram);
const { bounds, models } = diagram.renderer.bounds.getBounds();
@@ -1772,7 +1695,7 @@ participant Bob
end
Alice->Bob: Hello Bob, how are you?`;
- await mermaidAPI.parse(str);
+ const diagram = await Diagram.fromText(str);
await diagram.renderer.draw(str, 'tst', '1.2.3', diagram);
const { bounds, models } = diagram.renderer.bounds.getBounds();
@@ -1786,8 +1709,8 @@ Alice->Bob: Hello Bob, how are you?`;
%%{init: {'logLevel': 0}}%%
sequenceDiagram
Alice->Bob: Hello Bob, how are you?`;
-
await mermaidAPI.parse(str);
+ const diagram = await Diagram.fromText(str);
await diagram.renderer.draw(str, 'tst', '1.2.3', diagram);
const { bounds, models } = diagram.renderer.bounds.getBounds();
@@ -1802,12 +1725,11 @@ Alice->Bob: Hello Bob, how are you?`;
const str = `
%%{init: { 'logLevel': 0}}%%
sequenceDiagram
-%%{
-wrap
-}%%
+%%{wrap}%%
Alice->Bob: Hello Bob, how are you?`;
await mermaidAPI.parse(str);
+ const diagram = await Diagram.fromText(str);
await diagram.renderer.draw(str, 'tst', '1.2.3', diagram);
const msgs = diagram.db.getMessages();
@@ -1827,8 +1749,8 @@ Alice->Bob: Hello Bob, how are you?
Note over Alice,Bob: Looks
Note over Bob,Alice: Looks back
`;
+ const diagram = await Diagram.fromText(str);
// mermaidAPI.initialize({logLevel:0})
- await mermaidAPI.parse(str);
await diagram.renderer.draw(str, 'tst', '1.2.3', diagram);
const { bounds, models } = diagram.renderer.bounds.getBounds();
@@ -1843,7 +1765,7 @@ sequenceDiagram
Alice->Bob: Hello Bob, how are you?
Bob->Alice: Fine!`;
- await mermaidAPI.parse(str);
+ const diagram = await Diagram.fromText(str);
await diagram.renderer.draw(str, 'tst', '1.2.3', diagram);
const { bounds, models } = diagram.renderer.bounds.getBounds();
@@ -1859,7 +1781,7 @@ Alice->Bob: Hello Bob, how are you?
Note right of Bob: Bob thinks
Bob->Alice: Fine!`;
- await mermaidAPI.parse(str);
+ const diagram = await Diagram.fromText(str);
await diagram.renderer.draw(str, 'tst', '1.2.3', diagram);
const { bounds, models } = diagram.renderer.bounds.getBounds();
@@ -1878,7 +1800,7 @@ Alice->Bob: Hello Bob, how are you?
Note left of Alice: Bob thinks
Bob->Alice: Fine!`;
- await mermaidAPI.parse(str);
+ const diagram = await Diagram.fromText(str);
await diagram.renderer.draw(str, 'tst', '1.2.3', diagram);
const { bounds, models } = diagram.renderer.bounds.getBounds();
@@ -1895,7 +1817,7 @@ Alice->>Bob:wrap: Hello Bob, how are you? If you are not available right now, I
Note left of Alice: Bob thinks
Bob->>Alice: Fine!`;
- await mermaidAPI.parse(str);
+ const diagram = await Diagram.fromText(str);
await diagram.renderer.draw(str, 'tst', '1.2.3', diagram);
const { bounds, models } = diagram.renderer.bounds.getBounds();
@@ -1917,6 +1839,7 @@ Note left of Alice: Bob thinks
Bob->>Alice: Fine!`;
await mermaidAPI.parse(str);
+ const diagram = await Diagram.fromText(str);
await diagram.renderer.draw(str, 'tst', '1.2.3', diagram);
const { bounds, models } = diagram.renderer.bounds.getBounds();
@@ -1940,6 +1863,8 @@ Note left of Alice: Bob thinks
Bob->>Alice: Fine!`;
await mermaidAPI.parse(str);
+ const diagram = await Diagram.fromText(str);
+
await diagram.renderer.draw(str, 'tst', '1.2.3', diagram);
const { bounds, models } = diagram.renderer.bounds.getBounds();
@@ -1962,6 +1887,7 @@ Note left of Alice: Bob thinks
Bob->>Alice: Fine!`;
// mermaidAPI.initialize({ logLevel: 0 });
await mermaidAPI.parse(str);
+ const diagram = await Diagram.fromText(str);
await diagram.renderer.draw(str, 'tst', '1.2.3', diagram);
const { bounds, models } = diagram.renderer.bounds.getBounds();
@@ -1985,9 +1911,9 @@ Alice->Bob: Hello Bob, how are you?
loop Cheers
Bob->Alice: Fine!
end`;
- await mermaidAPI.parse(str);
- await diagram.renderer.draw(str, 'tst', '1.2.3', diagram);
+ const diagram = await Diagram.fromText(str);
+ await diagram.renderer.draw(str, 'tst', '1.2.3', diagram);
const { bounds, models } = diagram.renderer.bounds.getBounds();
expect(bounds.startx).toBe(0);
expect(bounds.starty).toBe(0);
@@ -2003,7 +1929,7 @@ end`;
Bob->Alice: I feel surrounded by darkness
end
`;
- await mermaidAPI.parse(str);
+ const diagram = await Diagram.fromText(str);
await diagram.renderer.draw(str, 'tst', '1.2.3', diagram);
const { bounds, models } = diagram.renderer.bounds.getBounds();
expect(bounds.startx).toBe(0);
@@ -2037,20 +1963,23 @@ describe('when rendering a sequenceDiagram with actor mirror activated', () => {
});
let conf;
- beforeEach(function () {
+ let diagram;
+ beforeEach(async function () {
+ diagram = await Diagram.fromText(`
+ sequenceDiagram
+ Alice->Bob:Hello Bob, how are you?
+ Bob-->Alice: I am good thanks!`);
mermaidAPI.reset();
conf = diagram.db.getConfig();
diagram.renderer.bounds.init();
});
['tspan', 'fo', 'old', undefined].forEach(function (textPlacement) {
it('should handle one actor, when textPlacement is' + textPlacement, async () => {
- mermaidAPI.initialize(addConf(conf, 'textPlacement', textPlacement));
- diagram.renderer.bounds.init();
const str = `
sequenceDiagram
participant Alice`;
+ const diagram = await Diagram.fromText(str);
diagram.renderer.bounds.init();
- await mermaidAPI.parse(str);
await diagram.renderer.draw(str, 'tst', '1.2.3', diagram);
const { bounds, models } = diagram.renderer.bounds.getBounds();
@@ -2071,3 +2000,27 @@ ${prop}-->>A: Hello, how are you?`)
).resolves.toBeDefined();
});
});
+
+describe('sequence db class', () => {
+ let sequenceDb;
+ beforeEach(() => {
+ sequenceDb = new SequenceDB();
+ });
+ // This is to ensure that functions used in sequence JISON are exposed as function from SequenceDB
+ it('should have functions used in sequence JISON as own property', () => {
+ const functionsUsedInParser = [
+ 'apply',
+ 'parseBoxData',
+ 'LINETYPE',
+ 'setDiagramTitle',
+ 'setAccTitle',
+ 'setAccDescription',
+ 'parseMessage',
+ 'PLACEMENT',
+ ];
+
+ for (const fun of functionsUsedInParser) {
+ expect(Object.hasOwn(sequenceDb, fun)).toBe(true);
+ }
+ });
+});
diff --git a/packages/mermaid/src/diagrams/sequence/sequenceDiagram.ts b/packages/mermaid/src/diagrams/sequence/sequenceDiagram.ts
index f8d71c95e..f2b701712 100644
--- a/packages/mermaid/src/diagrams/sequence/sequenceDiagram.ts
+++ b/packages/mermaid/src/diagrams/sequence/sequenceDiagram.ts
@@ -1,16 +1,26 @@
import type { DiagramDefinition } from '../../diagram-api/types.js';
// @ts-ignore: JISON doesn't support types
import parser from './parser/sequenceDiagram.jison';
-import db from './sequenceDb.js';
+import { SequenceDB } from './sequenceDb.js';
import styles from './styles.js';
+import { setConfig } from '../../diagram-api/diagramAPI.js';
import renderer from './sequenceRenderer.js';
+import type { MermaidConfig } from '../../config.type.js';
export const diagram: DiagramDefinition = {
parser,
- db,
+ get db() {
+ return new SequenceDB();
+ },
renderer,
styles,
- init: ({ wrap }) => {
- db.setWrap(wrap);
+ init: (cnf: MermaidConfig) => {
+ if (!cnf.sequence) {
+ cnf.sequence = {};
+ }
+ if (cnf.wrap) {
+ cnf.sequence.wrap = cnf.wrap;
+ setConfig({ sequence: { wrap: cnf.wrap } });
+ }
},
};
diff --git a/packages/mermaid/src/diagrams/sequence/sequenceRenderer.ts b/packages/mermaid/src/diagrams/sequence/sequenceRenderer.ts
index 951d84b86..389171d3c 100644
--- a/packages/mermaid/src/diagrams/sequence/sequenceRenderer.ts
+++ b/packages/mermaid/src/diagrams/sequence/sequenceRenderer.ts
@@ -1538,7 +1538,6 @@ const calculateLoopBounds = async function (messages, actors, _maxWidthPerActor,
let current, noteModel, msgModel;
for (const msg of messages) {
- msg.id = utils.random({ length: 10 });
switch (msg.type) {
case diagObj.db.LINETYPE.LOOP_START:
case diagObj.db.LINETYPE.ALT_START:
diff --git a/packages/mermaid/src/diagrams/sequence/types.ts b/packages/mermaid/src/diagrams/sequence/types.ts
index 10c1c8ed3..7cf2ead9c 100644
--- a/packages/mermaid/src/diagrams/sequence/types.ts
+++ b/packages/mermaid/src/diagrams/sequence/types.ts
@@ -20,6 +20,7 @@ export interface Actor {
}
export interface Message {
+ id: string;
from?: string;
to?: string;
message:
diff --git a/packages/mermaid/src/diagrams/state/parser/state-parser.spec.js b/packages/mermaid/src/diagrams/state/parser/state-parser.spec.js
index 9fa8acab8..89701cbce 100644
--- a/packages/mermaid/src/diagrams/state/parser/state-parser.spec.js
+++ b/packages/mermaid/src/diagrams/state/parser/state-parser.spec.js
@@ -1,4 +1,4 @@
-import stateDb from '../stateDb.js';
+import { StateDB } from '../stateDb.js';
import stateDiagram from './stateDiagram.jison';
import { setConfig } from '../../../config.js';
@@ -7,7 +7,9 @@ setConfig({
});
describe('state parser can parse...', () => {
+ let stateDb;
beforeEach(function () {
+ stateDb = new StateDB(2);
stateDiagram.parser.yy = stateDb;
stateDiagram.parser.yy.clear();
});
@@ -18,7 +20,6 @@ describe('state parser can parse...', () => {
const diagramText = `stateDiagram-v2
state "Small State 1" as namedState1`;
stateDiagram.parser.parse(diagramText);
- stateDiagram.parser.yy.extract(stateDiagram.parser.yy.getRootDocV2());
const states = stateDiagram.parser.yy.getStates();
expect(states.get('namedState1')).not.toBeUndefined();
@@ -31,7 +32,6 @@ describe('state parser can parse...', () => {
const diagramText = `stateDiagram-v2
namedState1 : Small State 1`;
stateDiagram.parser.parse(diagramText);
- stateDiagram.parser.yy.extract(stateDiagram.parser.yy.getRootDocV2());
const states = stateDiagram.parser.yy.getStates();
expect(states.get('namedState1')).not.toBeUndefined();
@@ -42,7 +42,6 @@ describe('state parser can parse...', () => {
const diagramText = `stateDiagram-v2
namedState1:Small State 1`;
stateDiagram.parser.parse(diagramText);
- stateDiagram.parser.yy.extract(stateDiagram.parser.yy.getRootDocV2());
const states = stateDiagram.parser.yy.getStates();
expect(states.get('namedState1')).not.toBeUndefined();
@@ -60,7 +59,6 @@ describe('state parser can parse...', () => {
state assemblies
`;
stateDiagram.parser.parse(diagramText);
- stateDiagram.parser.yy.extract(stateDiagram.parser.yy.getRootDocV2());
const states = stateDiagram.parser.yy.getStates();
expect(states.get('assemble')).not.toBeUndefined();
expect(states.get('assemblies')).not.toBeUndefined();
@@ -71,7 +69,6 @@ describe('state parser can parse...', () => {
state "as" as as
`;
stateDiagram.parser.parse(diagramText);
- stateDiagram.parser.yy.extract(stateDiagram.parser.yy.getRootDocV2());
const states = stateDiagram.parser.yy.getStates();
expect(states.get('as')).not.toBeUndefined();
expect(states.get('as').descriptions.join(' ')).toEqual('as');
@@ -96,7 +93,6 @@ describe('state parser can parse...', () => {
namedState2 --> bigState2: should point to \\nbigState2 container`;
stateDiagram.parser.parse(diagramText);
- stateDiagram.parser.yy.extract(stateDiagram.parser.yy.getRootDocV2());
const states = stateDiagram.parser.yy.getStates();
expect(states.get('namedState1')).not.toBeUndefined();
@@ -120,7 +116,6 @@ describe('state parser can parse...', () => {
inner1 --> inner2
}`;
stateDiagram.parser.parse(diagramText);
- stateDiagram.parser.yy.extract(stateDiagram.parser.yy.getRootDocV2());
const states = stateDiagram.parser.yy.getStates();
expect(states.get('bigState1')).not.toBeUndefined();
@@ -137,7 +132,6 @@ describe('state parser can parse...', () => {
stateDiagram-v2
[*] --> ${prop}
${prop} --> [*]`);
- stateDiagram.parser.yy.extract(stateDiagram.parser.yy.getRootDocV2());
const states = stateDiagram.parser.yy.getStates();
expect(states.get(prop)).not.toBeUndefined();
});
diff --git a/packages/mermaid/src/diagrams/state/parser/state-style.spec.js b/packages/mermaid/src/diagrams/state/parser/state-style.spec.js
index fed63c444..7db5f59d5 100644
--- a/packages/mermaid/src/diagrams/state/parser/state-style.spec.js
+++ b/packages/mermaid/src/diagrams/state/parser/state-style.spec.js
@@ -1,13 +1,15 @@
-import stateDb from '../stateDb.js';
-import stateDiagram from './stateDiagram.jison';
import { setConfig } from '../../../config.js';
+import { StateDB } from '../stateDb.js';
+import stateDiagram from './stateDiagram.jison';
setConfig({
securityLevel: 'strict',
});
describe('ClassDefs and classes when parsing a State diagram', () => {
+ let stateDb;
beforeEach(function () {
+ stateDb = new StateDB(2);
stateDiagram.parser.yy = stateDb;
stateDiagram.parser.yy.clear();
});
@@ -16,7 +18,6 @@ describe('ClassDefs and classes when parsing a State diagram', () => {
describe('defining (classDef)', () => {
it('has "classDef" as a keyword, an id, and can set a css style attribute', function () {
stateDiagram.parser.parse('stateDiagram-v2\n classDef exampleClass background:#bbb;');
- stateDiagram.parser.yy.extract(stateDiagram.parser.yy.getRootDocV2());
const styleClasses = stateDb.getClasses();
expect(styleClasses.get('exampleClass').styles.length).toEqual(1);
@@ -27,7 +28,6 @@ describe('ClassDefs and classes when parsing a State diagram', () => {
stateDiagram.parser.parse(
'stateDiagram-v2\n classDef exampleClass background:#bbb, font-weight:bold, font-style:italic;'
);
- stateDiagram.parser.yy.extract(stateDiagram.parser.yy.getRootDocV2());
const styleClasses = stateDb.getClasses();
expect(styleClasses.get('exampleClass').styles.length).toEqual(3);
@@ -41,7 +41,6 @@ describe('ClassDefs and classes when parsing a State diagram', () => {
stateDiagram.parser.parse(
'stateDiagram-v2\n classDef exampleStyleClass background:#bbb,border:1.5px solid red;'
);
- stateDiagram.parser.yy.extract(stateDiagram.parser.yy.getRootDocV2());
const classes = stateDiagram.parser.yy.getClasses();
expect(classes.get('exampleStyleClass').styles.length).toBe(2);
@@ -53,7 +52,6 @@ describe('ClassDefs and classes when parsing a State diagram', () => {
stateDiagram.parser.parse(
'stateDiagram-v2\n classDef exampleStyleClass background: #bbb,border:1.5px solid red;'
);
- stateDiagram.parser.yy.extract(stateDiagram.parser.yy.getRootDocV2());
const classes = stateDiagram.parser.yy.getClasses();
expect(classes.get('exampleStyleClass').styles.length).toBe(2);
@@ -65,7 +63,6 @@ describe('ClassDefs and classes when parsing a State diagram', () => {
stateDiagram.parser.parse(
'stateDiagram-v2\n classDef __proto__ background:#bbb,border:1.5px solid red;\n classDef constructor background:#bbb,border:1.5px solid red;'
);
- stateDiagram.parser.yy.extract(stateDiagram.parser.yy.getRootDocV2());
const classes = stateDiagram.parser.yy.getClasses();
expect(classes.get('__proto__').styles.length).toBe(2);
expect(classes.get('constructor').styles.length).toBe(2);
@@ -81,7 +78,6 @@ describe('ClassDefs and classes when parsing a State diagram', () => {
diagram += 'class a exampleStyleClass';
stateDiagram.parser.parse(diagram);
- stateDiagram.parser.yy.extract(stateDiagram.parser.yy.getRootDocV2());
const classes = stateDb.getClasses();
expect(classes.get('exampleStyleClass').styles.length).toEqual(2);
@@ -102,7 +98,6 @@ describe('ClassDefs and classes when parsing a State diagram', () => {
diagram += 'class a_a exampleStyleClass';
stateDiagram.parser.parse(diagram);
- stateDiagram.parser.yy.extract(stateDiagram.parser.yy.getRootDocV2());
const classes = stateDiagram.parser.yy.getClasses();
expect(classes.get('exampleStyleClass').styles.length).toBe(2);
@@ -122,7 +117,6 @@ describe('ClassDefs and classes when parsing a State diagram', () => {
diagram += 'a --> b:::exampleStyleClass' + '\n';
stateDiagram.parser.parse(diagram);
- stateDiagram.parser.yy.extract(stateDiagram.parser.yy.getRootDocV2());
const states = stateDiagram.parser.yy.getStates();
const classes = stateDiagram.parser.yy.getClasses();
@@ -141,7 +135,6 @@ describe('ClassDefs and classes when parsing a State diagram', () => {
diagram += '[*]:::exampleStyleClass --> b\n';
stateDiagram.parser.parse(diagram);
- stateDiagram.parser.yy.extract(stateDiagram.parser.yy.getRootDocV2());
const states = stateDiagram.parser.yy.getStates();
const classes = stateDiagram.parser.yy.getClasses();
@@ -161,7 +154,6 @@ describe('ClassDefs and classes when parsing a State diagram', () => {
diagram += 'class a,b exampleStyleClass';
stateDiagram.parser.parse(diagram);
- stateDiagram.parser.yy.extract(stateDiagram.parser.yy.getRootDocV2());
let classes = stateDiagram.parser.yy.getClasses();
let states = stateDiagram.parser.yy.getStates();
@@ -180,7 +172,6 @@ describe('ClassDefs and classes when parsing a State diagram', () => {
diagram += 'class a,b,c, d, e exampleStyleClass';
stateDiagram.parser.parse(diagram);
- stateDiagram.parser.yy.extract(stateDiagram.parser.yy.getRootDocV2());
const classes = stateDiagram.parser.yy.getClasses();
const states = stateDiagram.parser.yy.getStates();
@@ -208,7 +199,6 @@ describe('ClassDefs and classes when parsing a State diagram', () => {
diagram += '}\n';
stateDiagram.parser.parse(diagram);
- stateDiagram.parser.yy.extract(stateDiagram.parser.yy.getRootDocV2());
const states = stateDiagram.parser.yy.getStates();
@@ -224,7 +214,6 @@ describe('ClassDefs and classes when parsing a State diagram', () => {
stateDiagram.parser.parse(`stateDiagram-v2
id1
style id1 background:#bbb`);
- stateDiagram.parser.yy.extract(stateDiagram.parser.yy.getRootDocV2());
const data4Layout = stateDiagram.parser.yy.getData();
expect(data4Layout.nodes[0].cssStyles).toEqual(['background:#bbb']);
@@ -234,7 +223,6 @@ describe('ClassDefs and classes when parsing a State diagram', () => {
id1
id2
style id1,id2 background:#bbb`);
- stateDiagram.parser.yy.extract(stateDiagram.parser.yy.getRootDocV2());
const data4Layout = stateDiagram.parser.yy.getData();
expect(data4Layout.nodes[0].cssStyles).toEqual(['background:#bbb']);
@@ -247,7 +235,6 @@ describe('ClassDefs and classes when parsing a State diagram', () => {
id2
style id1,id2 background:#bbb, font-weight:bold, font-style:italic;`);
- stateDiagram.parser.yy.extract(stateDiagram.parser.yy.getRootDocV2());
const data4Layout = stateDiagram.parser.yy.getData();
expect(data4Layout.nodes[0].cssStyles).toEqual([
diff --git a/packages/mermaid/src/diagrams/state/shapes.js b/packages/mermaid/src/diagrams/state/shapes.js
index f0ab4136b..b18b4ca0e 100644
--- a/packages/mermaid/src/diagrams/state/shapes.js
+++ b/packages/mermaid/src/diagrams/state/shapes.js
@@ -1,6 +1,6 @@
import { line, curveBasis } from 'd3';
import idCache from './id-cache.js';
-import stateDb from './stateDb.js';
+import { StateDB } from './stateDb.js';
import utils from '../../utils.js';
import common from '../common/common.js';
import { getConfig } from '../../diagram-api/diagramAPI.js';
@@ -414,13 +414,13 @@ let edgeCount = 0;
export const drawEdge = function (elem, path, relation) {
const getRelationType = function (type) {
switch (type) {
- case stateDb.relationType.AGGREGATION:
+ case StateDB.relationType.AGGREGATION:
return 'aggregation';
- case stateDb.relationType.EXTENSION:
+ case StateDB.relationType.EXTENSION:
return 'extension';
- case stateDb.relationType.COMPOSITION:
+ case StateDB.relationType.COMPOSITION:
return 'composition';
- case stateDb.relationType.DEPENDENCY:
+ case StateDB.relationType.DEPENDENCY:
return 'dependency';
}
};
@@ -459,7 +459,7 @@ export const drawEdge = function (elem, path, relation) {
svgPath.attr(
'marker-end',
- 'url(' + url + '#' + getRelationType(stateDb.relationType.DEPENDENCY) + 'End' + ')'
+ 'url(' + url + '#' + getRelationType(StateDB.relationType.DEPENDENCY) + 'End' + ')'
);
if (relation.title !== undefined) {
diff --git a/packages/mermaid/src/diagrams/state/stateCommon.ts b/packages/mermaid/src/diagrams/state/stateCommon.ts
index 17a1bd24a..2902ce6b0 100644
--- a/packages/mermaid/src/diagrams/state/stateCommon.ts
+++ b/packages/mermaid/src/diagrams/state/stateCommon.ts
@@ -3,11 +3,14 @@
*/
// default diagram direction
-export const DEFAULT_DIAGRAM_DIRECTION = 'LR';
+export const DEFAULT_DIAGRAM_DIRECTION = 'TB';
// default direction for any nested documents (composites)
export const DEFAULT_NESTED_DOC_DIR = 'TB';
+// parsed statement type for a direction
+export const STMT_DIRECTION = 'dir';
+
// parsed statement type for a state
export const STMT_STATE = 'state';
// parsed statement type for a relation
diff --git a/packages/mermaid/src/diagrams/state/stateDb.js b/packages/mermaid/src/diagrams/state/stateDb.js
index 1f12425e6..029db9c6f 100644
--- a/packages/mermaid/src/diagrams/state/stateDb.js
+++ b/packages/mermaid/src/diagrams/state/stateDb.js
@@ -1,28 +1,29 @@
+import { getConfig } from '../../diagram-api/diagramAPI.js';
import { log } from '../../logger.js';
import { generateId } from '../../utils.js';
import common from '../common/common.js';
-import { getConfig } from '../../diagram-api/diagramAPI.js';
import {
- setAccTitle,
- getAccTitle,
- getAccDescription,
- setAccDescription,
clear as commonClear,
- setDiagramTitle,
+ getAccDescription,
+ getAccTitle,
getDiagramTitle,
+ setAccDescription,
+ setAccTitle,
+ setDiagramTitle,
} from '../common/commonDb.js';
import { dataFetcher, reset as resetDataFetching } from './dataFetcher.js';
import { getDir } from './stateRenderer-v3-unified.js';
import {
DEFAULT_DIAGRAM_DIRECTION,
- STMT_STATE,
- STMT_RELATION,
- STMT_CLASSDEF,
- STMT_STYLEDEF,
- STMT_APPLYCLASS,
DEFAULT_STATE_TYPE,
DIVIDER_TYPE,
+ STMT_APPLYCLASS,
+ STMT_CLASSDEF,
+ STMT_DIRECTION,
+ STMT_RELATION,
+ STMT_STATE,
+ STMT_STYLEDEF,
} from './stateCommon.js';
const START_NODE = '[*]';
@@ -46,15 +47,6 @@ function newClassesList() {
return new Map();
}
-let nodes = [];
-let edges = [];
-
-let direction = DEFAULT_DIAGRAM_DIRECTION;
-let rootDoc = [];
-let classes = newClassesList(); // style classes defined by a classDef
-
-// --------------------------------------
-
const newDoc = () => {
return {
/** @type {{ id1: string, id2: string, relationTitle: string }[]} */
@@ -63,564 +55,652 @@ const newDoc = () => {
documents: {},
};
};
-let documents = {
- root: newDoc(),
-};
-
-let currentDocument = documents.root;
-let startEndCount = 0;
-let dividerCnt = 0;
-
-export const lineType = {
- LINE: 0,
- DOTTED_LINE: 1,
-};
-
-export const relationType = {
- AGGREGATION: 0,
- EXTENSION: 1,
- COMPOSITION: 2,
- DEPENDENCY: 3,
-};
const clone = (o) => JSON.parse(JSON.stringify(o));
-const setRootDoc = (o) => {
- log.info('Setting root doc', o);
- // rootDoc = { id: 'root', doc: o };
- rootDoc = o;
-};
+export class StateDB {
+ /**
+ * @param {1 | 2} version - v1 renderer or v2 renderer.
+ */
+ constructor(version) {
+ this.clear();
-const getRootDoc = () => rootDoc;
+ this.version = version;
-const docTranslator = (parent, node, first) => {
- if (node.stmt === STMT_RELATION) {
- docTranslator(parent, node.state1, true);
- docTranslator(parent, node.state2, false);
- } else {
- if (node.stmt === STMT_STATE) {
- if (node.id === '[*]') {
- node.id = first ? parent.id + '_start' : parent.id + '_end';
- node.start = first;
- } else {
- // This is just a plain state, not a start or end
- node.id = node.id.trim();
- }
- }
-
- if (node.doc) {
- const doc = [];
- // Check for concurrency
- let currentDoc = [];
- let i;
- for (i = 0; i < node.doc.length; i++) {
- if (node.doc[i].type === DIVIDER_TYPE) {
- // debugger;
- const newNode = clone(node.doc[i]);
- newNode.doc = clone(currentDoc);
- doc.push(newNode);
- currentDoc = [];
- } else {
- currentDoc.push(node.doc[i]);
- }
- }
-
- // If any divider was encountered
- if (doc.length > 0 && currentDoc.length > 0) {
- const newNode = {
- stmt: STMT_STATE,
- id: generateId(),
- type: 'divider',
- doc: clone(currentDoc),
- };
- doc.push(clone(newNode));
- node.doc = doc;
- }
-
- node.doc.forEach((docNode) => docTranslator(node, docNode, true));
- }
- }
-};
-const getRootDocV2 = () => {
- docTranslator({ id: 'root' }, { id: 'root', doc: rootDoc }, true);
- return { id: 'root', doc: rootDoc };
- // Here
-};
-
-/**
- * Convert all of the statements (stmts) that were parsed into states and relationships.
- * This is done because a state diagram may have nested sections,
- * where each section is a 'document' and has its own set of statements.
- * Ex: the section within a fork has its own statements, and incoming and outgoing statements
- * refer to the fork as a whole (document).
- * See the parser grammar: the definition of a document is a document then a 'line', where a line can be a statement.
- * This will push the statement into the list of statements for the current document.
- *
- * @param _doc
- */
-const extract = (_doc) => {
- // const res = { states: [], relations: [] };
- let doc;
- if (_doc.doc) {
- doc = _doc.doc;
- } else {
- doc = _doc;
- }
- // let doc = root.doc;
- // if (!doc) {
- // doc = root;
- // }
- log.info(doc);
- clear(true);
-
- log.info('Extract initial document:', doc);
-
- doc.forEach((item) => {
- log.warn('Statement', item.stmt);
- switch (item.stmt) {
- case STMT_STATE:
- addState(
- item.id.trim(),
- item.type,
- item.doc,
- item.description,
- item.note,
- item.classes,
- item.styles,
- item.textStyles
- );
- break;
- case STMT_RELATION:
- addRelation(item.state1, item.state2, item.description);
- break;
- case STMT_CLASSDEF:
- addStyleClass(item.id.trim(), item.classes);
- break;
- case STMT_STYLEDEF:
- {
- const ids = item.id.trim().split(',');
- const styles = item.styleClass.split(',');
- ids.forEach((id) => {
- let foundState = getState(id);
- if (foundState === undefined) {
- const trimmedId = id.trim();
- addState(trimmedId);
- foundState = getState(trimmedId);
- }
- foundState.styles = styles.map((s) => s.replace(/;/g, '')?.trim());
- });
- }
- break;
- case STMT_APPLYCLASS:
- setCssClass(item.id.trim(), item.styleClass);
- break;
- }
- });
-
- const diagramStates = getStates();
- const config = getConfig();
- const look = config.look;
- resetDataFetching();
- dataFetcher(undefined, getRootDocV2(), diagramStates, nodes, edges, true, look, classes);
- nodes.forEach((node) => {
- if (Array.isArray(node.label)) {
- // add the rest as description
- node.description = node.label.slice(1);
- if (node.isGroup && node.description.length > 0) {
- throw new Error(
- 'Group nodes can only have label. Remove the additional description for node [' +
- node.id +
- ']'
- );
- }
- // add first description as label
- node.label = node.label[0];
- }
- });
-};
-
-/**
- * Function called by parser when a node definition has been found.
- *
- * @param {null | string} id
- * @param {null | string} type
- * @param {null | string} doc
- * @param {null | string | string[]} descr - description for the state. Can be a string or a list or strings
- * @param {null | string} note
- * @param {null | string | string[]} classes - class styles to apply to this state. Can be a string (1 style) or an array of styles. If it's just 1 class, convert it to an array of that 1 class.
- * @param {null | string | string[]} styles - styles to apply to this state. Can be a string (1 style) or an array of styles. If it's just 1 style, convert it to an array of that 1 style.
- * @param {null | string | string[]} textStyles - text styles to apply to this state. Can be a string (1 text test) or an array of text styles. If it's just 1 text style, convert it to an array of that 1 text style.
- */
-export const addState = function (
- id,
- type = DEFAULT_STATE_TYPE,
- doc = null,
- descr = null,
- note = null,
- classes = null,
- styles = null,
- textStyles = null
-) {
- const trimmedId = id?.trim();
- // add the state if needed
- if (!currentDocument.states.has(trimmedId)) {
- log.info('Adding state ', trimmedId, descr);
- currentDocument.states.set(trimmedId, {
- id: trimmedId,
- descriptions: [],
- type,
- doc,
- note,
- classes: [],
- styles: [],
- textStyles: [],
- });
- } else {
- if (!currentDocument.states.get(trimmedId).doc) {
- currentDocument.states.get(trimmedId).doc = doc;
- }
- if (!currentDocument.states.get(trimmedId).type) {
- currentDocument.states.get(trimmedId).type = type;
- }
+ // Needed for JISON since it only supports direct properties
+ this.setRootDoc = this.setRootDoc.bind(this);
+ this.getDividerId = this.getDividerId.bind(this);
+ this.setDirection = this.setDirection.bind(this);
+ this.trimColon = this.trimColon.bind(this);
}
- if (descr) {
- log.info('Setting state description', trimmedId, descr);
- if (typeof descr === 'string') {
- addDescription(trimmedId, descr.trim());
- }
+ /**
+ * @private
+ * @type {1 | 2}
+ */
+ version;
- if (typeof descr === 'object') {
- descr.forEach((des) => addDescription(trimmedId, des.trim()));
- }
- }
-
- if (note) {
- const doc2 = currentDocument.states.get(trimmedId);
- doc2.note = note;
- doc2.note.text = common.sanitizeText(doc2.note.text, getConfig());
- }
-
- if (classes) {
- log.info('Setting state classes', trimmedId, classes);
- const classesList = typeof classes === 'string' ? [classes] : classes;
- classesList.forEach((cssClass) => setCssClass(trimmedId, cssClass.trim()));
- }
-
- if (styles) {
- log.info('Setting state styles', trimmedId, styles);
- const stylesList = typeof styles === 'string' ? [styles] : styles;
- stylesList.forEach((style) => setStyle(trimmedId, style.trim()));
- }
-
- if (textStyles) {
- log.info('Setting state styles', trimmedId, styles);
- const textStylesList = typeof textStyles === 'string' ? [textStyles] : textStyles;
- textStylesList.forEach((textStyle) => setTextStyle(trimmedId, textStyle.trim()));
- }
-};
-
-export const clear = function (saveCommon) {
+ /**
+ * @private
+ * @type {Array}
+ */
nodes = [];
+ /**
+ * @private
+ * @type {Array}
+ */
edges = [];
+
+ /**
+ * @private
+ * @type {Array}
+ */
+ rootDoc = [];
+ /**
+ * @private
+ * @type {Map}
+ */
+ classes = newClassesList(); // style classes defined by a classDef
+
+ /**
+ * @private
+ * @type {Object}
+ */
documents = {
root: newDoc(),
};
- currentDocument = documents.root;
- // number of start and end nodes; used to construct ids
+ /**
+ * @private
+ * @type {Object}
+ */
+ currentDocument = this.documents.root;
+ /**
+ * @private
+ * @type {number}
+ */
startEndCount = 0;
- classes = newClassesList();
- if (!saveCommon) {
- commonClear();
+ /**
+ * @private
+ * @type {number}
+ */
+ dividerCnt = 0;
+
+ static relationType = {
+ AGGREGATION: 0,
+ EXTENSION: 1,
+ COMPOSITION: 2,
+ DEPENDENCY: 3,
+ };
+
+ setRootDoc(o) {
+ log.info('Setting root doc', o);
+ // rootDoc = { id: 'root', doc: o };
+ this.rootDoc = o;
+ if (this.version === 1) {
+ this.extract(o);
+ } else {
+ this.extract(this.getRootDocV2());
+ }
}
-};
-export const getState = function (id) {
- return currentDocument.states.get(id);
-};
-
-export const getStates = function () {
- return currentDocument.states;
-};
-export const logDocuments = function () {
- log.info('Documents = ', documents);
-};
-export const getRelations = function () {
- return currentDocument.relations;
-};
-
-/**
- * If the id is a start node ( [*] ), then return a new id constructed from
- * the start node name and the current start node count.
- * else return the given id
- *
- * @param {string} id
- * @returns {string} - the id (original or constructed)
- */
-function startIdIfNeeded(id = '') {
- let fixedId = id;
- if (id === START_NODE) {
- startEndCount++;
- fixedId = `${START_TYPE}${startEndCount}`;
+ getRootDoc() {
+ return this.rootDoc;
}
- return fixedId;
-}
-/**
- * If the id is a start node ( [*] ), then return the start type ('start')
- * else return the given type
- *
- * @param {string} id
- * @param {string} type
- * @returns {string} - the type that should be used
- */
-function startTypeIfNeeded(id = '', type = DEFAULT_STATE_TYPE) {
- return id === START_NODE ? START_TYPE : type;
-}
+ /**
+ * @private
+ * @param {Object} parent
+ * @param {Object} node
+ * @param {boolean} first
+ */
+ docTranslator(parent, node, first) {
+ if (node.stmt === STMT_RELATION) {
+ this.docTranslator(parent, node.state1, true);
+ this.docTranslator(parent, node.state2, false);
+ } else {
+ if (node.stmt === STMT_STATE) {
+ if (node.id === '[*]') {
+ node.id = first ? parent.id + '_start' : parent.id + '_end';
+ node.start = first;
+ } else {
+ // This is just a plain state, not a start or end
+ node.id = node.id.trim();
+ }
+ }
-/**
- * If the id is an end node ( [*] ), then return a new id constructed from
- * the end node name and the current start_end node count.
- * else return the given id
- *
- * @param {string} id
- * @returns {string} - the id (original or constructed)
- */
-function endIdIfNeeded(id = '') {
- let fixedId = id;
- if (id === END_NODE) {
- startEndCount++;
- fixedId = `${END_TYPE}${startEndCount}`;
+ if (node.doc) {
+ const doc = [];
+ // Check for concurrency
+ let currentDoc = [];
+ let i;
+ for (i = 0; i < node.doc.length; i++) {
+ if (node.doc[i].type === DIVIDER_TYPE) {
+ const newNode = clone(node.doc[i]);
+ newNode.doc = clone(currentDoc);
+ doc.push(newNode);
+ currentDoc = [];
+ } else {
+ currentDoc.push(node.doc[i]);
+ }
+ }
+
+ // If any divider was encountered
+ if (doc.length > 0 && currentDoc.length > 0) {
+ const newNode = {
+ stmt: STMT_STATE,
+ id: generateId(),
+ type: 'divider',
+ doc: clone(currentDoc),
+ };
+ doc.push(clone(newNode));
+ node.doc = doc;
+ }
+
+ node.doc.forEach((docNode) => this.docTranslator(node, docNode, true));
+ }
+ }
}
- return fixedId;
-}
-/**
- * If the id is an end node ( [*] ), then return the end type
- * else return the given type
- *
- * @param {string} id
- * @param {string} type
- * @returns {string} - the type that should be used
- */
-function endTypeIfNeeded(id = '', type = DEFAULT_STATE_TYPE) {
- return id === END_NODE ? END_TYPE : type;
-}
+ /**
+ * @private
+ */
+ getRootDocV2() {
+ this.docTranslator({ id: 'root' }, { id: 'root', doc: this.rootDoc }, true);
+ return { id: 'root', doc: this.rootDoc };
+ // Here
+ }
-/**
- *
- * @param item1
- * @param item2
- * @param relationTitle
- */
-export function addRelationObjs(item1, item2, relationTitle) {
- let id1 = startIdIfNeeded(item1.id.trim());
- let type1 = startTypeIfNeeded(item1.id.trim(), item1.type);
- let id2 = startIdIfNeeded(item2.id.trim());
- let type2 = startTypeIfNeeded(item2.id.trim(), item2.type);
+ /**
+ * Convert all of the statements (stmts) that were parsed into states and relationships.
+ * This is done because a state diagram may have nested sections,
+ * where each section is a 'document' and has its own set of statements.
+ * Ex: the section within a fork has its own statements, and incoming and outgoing statements
+ * refer to the fork as a whole (document).
+ * See the parser grammar: the definition of a document is a document then a 'line', where a line can be a statement.
+ * This will push the statement into the list of statements for the current document.
+ * @private
+ * @param _doc
+ */
+ extract(_doc) {
+ // const res = { states: [], relations: [] };
+ let doc;
+ if (_doc.doc) {
+ doc = _doc.doc;
+ } else {
+ doc = _doc;
+ }
+ // let doc = root.doc;
+ // if (!doc) {
+ // doc = root;
+ // }
+ log.info(doc);
+ this.clear(true);
+ log.info('Extract initial document:', doc);
+
+ doc.forEach((item) => {
+ log.warn('Statement', item.stmt);
+ switch (item.stmt) {
+ case STMT_STATE:
+ this.addState(
+ item.id.trim(),
+ item.type,
+ item.doc,
+ item.description,
+ item.note,
+ item.classes,
+ item.styles,
+ item.textStyles
+ );
+ break;
+ case STMT_RELATION:
+ this.addRelation(item.state1, item.state2, item.description);
+ break;
+ case STMT_CLASSDEF:
+ this.addStyleClass(item.id.trim(), item.classes);
+ break;
+ case STMT_STYLEDEF:
+ {
+ const ids = item.id.trim().split(',');
+ const styles = item.styleClass.split(',');
+ ids.forEach((id) => {
+ let foundState = this.getState(id);
+ if (foundState === undefined) {
+ const trimmedId = id.trim();
+ this.addState(trimmedId);
+ foundState = this.getState(trimmedId);
+ }
+ foundState.styles = styles.map((s) => s.replace(/;/g, '')?.trim());
+ });
+ }
+ break;
+ case STMT_APPLYCLASS:
+ this.setCssClass(item.id.trim(), item.styleClass);
+ break;
+ }
+ });
+
+ const diagramStates = this.getStates();
+ const config = getConfig();
+ const look = config.look;
+
+ resetDataFetching();
+ dataFetcher(
+ undefined,
+ this.getRootDocV2(),
+ diagramStates,
+ this.nodes,
+ this.edges,
+ true,
+ look,
+ this.classes
+ );
+ this.nodes.forEach((node) => {
+ if (Array.isArray(node.label)) {
+ // add the rest as description
+ node.description = node.label.slice(1);
+ if (node.isGroup && node.description.length > 0) {
+ throw new Error(
+ 'Group nodes can only have label. Remove the additional description for node [' +
+ node.id +
+ ']'
+ );
+ }
+ // add first description as label
+ node.label = node.label[0];
+ }
+ });
+ }
+
+ /**
+ * Function called by parser when a node definition has been found.
+ *
+ * @param {null | string} id
+ * @param {null | string} type
+ * @param {null | string} doc
+ * @param {null | string | string[]} descr - description for the state. Can be a string or a list or strings
+ * @param {null | string} note
+ * @param {null | string | string[]} classes - class styles to apply to this state. Can be a string (1 style) or an array of styles. If it's just 1 class, convert it to an array of that 1 class.
+ * @param {null | string | string[]} styles - styles to apply to this state. Can be a string (1 style) or an array of styles. If it's just 1 style, convert it to an array of that 1 style.
+ * @param {null | string | string[]} textStyles - text styles to apply to this state. Can be a string (1 text test) or an array of text styles. If it's just 1 text style, convert it to an array of that 1 text style.
+ */
addState(
- id1,
- type1,
- item1.doc,
- item1.description,
- item1.note,
- item1.classes,
- item1.styles,
- item1.textStyles
- );
- addState(
- id2,
- type2,
- item2.doc,
- item2.description,
- item2.note,
- item2.classes,
- item2.styles,
- item2.textStyles
- );
+ id,
+ type = DEFAULT_STATE_TYPE,
+ doc = null,
+ descr = null,
+ note = null,
+ classes = null,
+ styles = null,
+ textStyles = null
+ ) {
+ const trimmedId = id?.trim();
+ // add the state if needed
+ if (!this.currentDocument.states.has(trimmedId)) {
+ log.info('Adding state ', trimmedId, descr);
+ this.currentDocument.states.set(trimmedId, {
+ id: trimmedId,
+ descriptions: [],
+ type,
+ doc,
+ note,
+ classes: [],
+ styles: [],
+ textStyles: [],
+ });
+ } else {
+ if (!this.currentDocument.states.get(trimmedId).doc) {
+ this.currentDocument.states.get(trimmedId).doc = doc;
+ }
+ if (!this.currentDocument.states.get(trimmedId).type) {
+ this.currentDocument.states.get(trimmedId).type = type;
+ }
+ }
- currentDocument.relations.push({
- id1,
- id2,
- relationTitle: common.sanitizeText(relationTitle, getConfig()),
- });
-}
+ if (descr) {
+ log.info('Setting state description', trimmedId, descr);
+ if (typeof descr === 'string') {
+ this.addDescription(trimmedId, descr.trim());
+ }
-/**
- * Add a relation between two items. The items may be full objects or just the string id of a state.
- *
- * @param {string | object} item1
- * @param {string | object} item2
- * @param {string} title
- */
-export const addRelation = function (item1, item2, title) {
- if (typeof item1 === 'object') {
- addRelationObjs(item1, item2, title);
- } else {
- const id1 = startIdIfNeeded(item1.trim());
- const type1 = startTypeIfNeeded(item1);
- const id2 = endIdIfNeeded(item2.trim());
- const type2 = endTypeIfNeeded(item2);
+ if (typeof descr === 'object') {
+ descr.forEach((des) => this.addDescription(trimmedId, des.trim()));
+ }
+ }
- addState(id1, type1);
- addState(id2, type2);
- currentDocument.relations.push({
+ if (note) {
+ const doc2 = this.currentDocument.states.get(trimmedId);
+ doc2.note = note;
+ doc2.note.text = common.sanitizeText(doc2.note.text, getConfig());
+ }
+
+ if (classes) {
+ log.info('Setting state classes', trimmedId, classes);
+ const classesList = typeof classes === 'string' ? [classes] : classes;
+ classesList.forEach((cssClass) => this.setCssClass(trimmedId, cssClass.trim()));
+ }
+
+ if (styles) {
+ log.info('Setting state styles', trimmedId, styles);
+ const stylesList = typeof styles === 'string' ? [styles] : styles;
+ stylesList.forEach((style) => this.setStyle(trimmedId, style.trim()));
+ }
+
+ if (textStyles) {
+ log.info('Setting state styles', trimmedId, styles);
+ const textStylesList = typeof textStyles === 'string' ? [textStyles] : textStyles;
+ textStylesList.forEach((textStyle) => this.setTextStyle(trimmedId, textStyle.trim()));
+ }
+ }
+
+ clear(saveCommon) {
+ this.nodes = [];
+ this.edges = [];
+ this.documents = {
+ root: newDoc(),
+ };
+ this.currentDocument = this.documents.root;
+
+ // number of start and end nodes; used to construct ids
+ this.startEndCount = 0;
+ this.classes = newClassesList();
+ if (!saveCommon) {
+ commonClear();
+ }
+ }
+
+ getState(id) {
+ return this.currentDocument.states.get(id);
+ }
+ getStates() {
+ return this.currentDocument.states;
+ }
+ logDocuments() {
+ log.info('Documents = ', this.documents);
+ }
+ getRelations() {
+ return this.currentDocument.relations;
+ }
+
+ /**
+ * If the id is a start node ( [*] ), then return a new id constructed from
+ * the start node name and the current start node count.
+ * else return the given id
+ *
+ * @param {string} id
+ * @returns {string} - the id (original or constructed)
+ * @private
+ */
+ startIdIfNeeded(id = '') {
+ let fixedId = id;
+ if (id === START_NODE) {
+ this.startEndCount++;
+ fixedId = `${START_TYPE}${this.startEndCount}`;
+ }
+ return fixedId;
+ }
+
+ /**
+ * If the id is a start node ( [*] ), then return the start type ('start')
+ * else return the given type
+ *
+ * @param {string} id
+ * @param {string} type
+ * @returns {string} - the type that should be used
+ * @private
+ */
+ startTypeIfNeeded(id = '', type = DEFAULT_STATE_TYPE) {
+ return id === START_NODE ? START_TYPE : type;
+ }
+
+ /**
+ * If the id is an end node ( [*] ), then return a new id constructed from
+ * the end node name and the current start_end node count.
+ * else return the given id
+ *
+ * @param {string} id
+ * @returns {string} - the id (original or constructed)
+ * @private
+ */
+ endIdIfNeeded(id = '') {
+ let fixedId = id;
+ if (id === END_NODE) {
+ this.startEndCount++;
+ fixedId = `${END_TYPE}${this.startEndCount}`;
+ }
+ return fixedId;
+ }
+
+ /**
+ * If the id is an end node ( [*] ), then return the end type
+ * else return the given type
+ *
+ * @param {string} id
+ * @param {string} type
+ * @returns {string} - the type that should be used
+ * @private
+ */
+ endTypeIfNeeded(id = '', type = DEFAULT_STATE_TYPE) {
+ return id === END_NODE ? END_TYPE : type;
+ }
+
+ /**
+ *
+ * @param item1
+ * @param item2
+ * @param relationTitle
+ */
+ addRelationObjs(item1, item2, relationTitle) {
+ let id1 = this.startIdIfNeeded(item1.id.trim());
+ let type1 = this.startTypeIfNeeded(item1.id.trim(), item1.type);
+ let id2 = this.startIdIfNeeded(item2.id.trim());
+ let type2 = this.startTypeIfNeeded(item2.id.trim(), item2.type);
+
+ this.addState(
+ id1,
+ type1,
+ item1.doc,
+ item1.description,
+ item1.note,
+ item1.classes,
+ item1.styles,
+ item1.textStyles
+ );
+ this.addState(
+ id2,
+ type2,
+ item2.doc,
+ item2.description,
+ item2.note,
+ item2.classes,
+ item2.styles,
+ item2.textStyles
+ );
+
+ this.currentDocument.relations.push({
id1,
id2,
- title: common.sanitizeText(title, getConfig()),
+ relationTitle: common.sanitizeText(relationTitle, getConfig()),
});
}
-};
-export const addDescription = function (id, descr) {
- const theState = currentDocument.states.get(id);
- const _descr = descr.startsWith(':') ? descr.replace(':', '').trim() : descr;
- theState.descriptions.push(common.sanitizeText(_descr, getConfig()));
-};
+ /**
+ * Add a relation between two items. The items may be full objects or just the string id of a state.
+ *
+ * @param {string | object} item1
+ * @param {string | object} item2
+ * @param {string} title
+ */
+ addRelation(item1, item2, title) {
+ if (typeof item1 === 'object') {
+ this.addRelationObjs(item1, item2, title);
+ } else {
+ const id1 = this.startIdIfNeeded(item1.trim());
+ const type1 = this.startTypeIfNeeded(item1);
+ const id2 = this.endIdIfNeeded(item2.trim());
+ const type2 = this.endTypeIfNeeded(item2);
-export const cleanupLabel = function (label) {
- if (label.substring(0, 1) === ':') {
- return label.substr(2).trim();
- } else {
- return label.trim();
- }
-};
-
-const getDividerId = () => {
- dividerCnt++;
- return 'divider-id-' + dividerCnt;
-};
-
-/**
- * Called when the parser comes across a (style) class definition
- * @example classDef my-style fill:#f96;
- *
- * @param {string} id - the id of this (style) class
- * @param {string | null} styleAttributes - the string with 1 or more style attributes (each separated by a comma)
- */
-export const addStyleClass = function (id, styleAttributes = '') {
- // create a new style class object with this id
- if (!classes.has(id)) {
- classes.set(id, { id: id, styles: [], textStyles: [] }); // This is a classDef
- }
- const foundClass = classes.get(id);
- if (styleAttributes !== undefined && styleAttributes !== null) {
- styleAttributes.split(STYLECLASS_SEP).forEach((attrib) => {
- // remove any trailing ;
- const fixedAttrib = attrib.replace(/([^;]*);/, '$1').trim();
-
- // replace some style keywords
- if (RegExp(COLOR_KEYWORD).exec(attrib)) {
- const newStyle1 = fixedAttrib.replace(FILL_KEYWORD, BG_FILL);
- const newStyle2 = newStyle1.replace(COLOR_KEYWORD, FILL_KEYWORD);
- foundClass.textStyles.push(newStyle2);
- }
- foundClass.styles.push(fixedAttrib);
- });
- }
-};
-
-/**
- * Return all of the style classes
- * @returns {{} | any | classes}
- */
-export const getClasses = function () {
- return classes;
-};
-
-/**
- * Add a (style) class or css class to a state with the given id.
- * If the state isn't already in the list of known states, add it.
- * Might be called by parser when a style class or CSS class should be applied to a state
- *
- * @param {string | string[]} itemIds The id or a list of ids of the item(s) to apply the css class to
- * @param {string} cssClassName CSS class name
- */
-export const setCssClass = function (itemIds, cssClassName) {
- itemIds.split(',').forEach(function (id) {
- let foundState = getState(id);
- if (foundState === undefined) {
- const trimmedId = id.trim();
- addState(trimmedId);
- foundState = getState(trimmedId);
+ this.addState(id1, type1);
+ this.addState(id2, type2);
+ this.currentDocument.relations.push({
+ id1,
+ id2,
+ title: common.sanitizeText(title, getConfig()),
+ });
}
- foundState.classes.push(cssClassName);
- });
-};
-
-/**
- * Add a style to a state with the given id.
- * @example style stateId fill:#f9f,stroke:#333,stroke-width:4px
- * where 'style' is the keyword
- * stateId is the id of a state
- * the rest of the string is the styleText (all of the attributes to be applied to the state)
- *
- * @param itemId The id of item to apply the style to
- * @param styleText - the text of the attributes for the style
- */
-export const setStyle = function (itemId, styleText) {
- const item = getState(itemId);
- if (item !== undefined) {
- item.styles.push(styleText);
}
-};
-/**
- * Add a text style to a state with the given id
- *
- * @param itemId The id of item to apply the css class to
- * @param cssClassName CSS class name
- */
-export const setTextStyle = function (itemId, cssClassName) {
- const item = getState(itemId);
- if (item !== undefined) {
- item.textStyles.push(cssClassName);
+ addDescription(id, descr) {
+ const theState = this.currentDocument.states.get(id);
+ const _descr = descr.startsWith(':') ? descr.replace(':', '').trim() : descr;
+ theState.descriptions.push(common.sanitizeText(_descr, getConfig()));
}
-};
-const getDirection = () => direction;
-const setDirection = (dir) => {
- direction = dir;
-};
+ cleanupLabel(label) {
+ if (label.substring(0, 1) === ':') {
+ return label.substr(2).trim();
+ } else {
+ return label.trim();
+ }
+ }
-const trimColon = (str) => (str && str[0] === ':' ? str.substr(1).trim() : str.trim());
+ getDividerId() {
+ this.dividerCnt++;
+ return 'divider-id-' + this.dividerCnt;
+ }
-export const getData = () => {
- const config = getConfig();
- return { nodes, edges, other: {}, config, direction: getDir(getRootDocV2()) };
-};
+ /**
+ * Called when the parser comes across a (style) class definition
+ * @example classDef my-style fill:#f96;
+ *
+ * @param {string} id - the id of this (style) class
+ * @param {string | null} styleAttributes - the string with 1 or more style attributes (each separated by a comma)
+ */
+ addStyleClass(id, styleAttributes = '') {
+ // create a new style class object with this id
+ if (!this.classes.has(id)) {
+ this.classes.set(id, { id: id, styles: [], textStyles: [] }); // This is a classDef
+ }
+ const foundClass = this.classes.get(id);
+ if (styleAttributes !== undefined && styleAttributes !== null) {
+ styleAttributes.split(STYLECLASS_SEP).forEach((attrib) => {
+ // remove any trailing ;
+ const fixedAttrib = attrib.replace(/([^;]*);/, '$1').trim();
-export default {
- getConfig: () => getConfig().state,
- getData,
- addState,
- clear,
- getState,
- getStates,
- getRelations,
- getClasses,
- getDirection,
- addRelation,
- getDividerId,
- setDirection,
- cleanupLabel,
- lineType,
- relationType,
- logDocuments,
- getRootDoc,
- setRootDoc,
- getRootDocV2,
- extract,
- trimColon,
- getAccTitle,
- setAccTitle,
- getAccDescription,
- setAccDescription,
- addStyleClass,
- setCssClass,
- addDescription,
- setDiagramTitle,
- getDiagramTitle,
-};
+ // replace some style keywords
+ if (RegExp(COLOR_KEYWORD).exec(attrib)) {
+ const newStyle1 = fixedAttrib.replace(FILL_KEYWORD, BG_FILL);
+ const newStyle2 = newStyle1.replace(COLOR_KEYWORD, FILL_KEYWORD);
+ foundClass.textStyles.push(newStyle2);
+ }
+ foundClass.styles.push(fixedAttrib);
+ });
+ }
+ }
+
+ /**
+ * Return all of the style classes
+ * @returns {{} | any | classes}
+ */
+ getClasses() {
+ return this.classes;
+ }
+
+ /**
+ * Add a (style) class or css class to a state with the given id.
+ * If the state isn't already in the list of known states, add it.
+ * Might be called by parser when a style class or CSS class should be applied to a state
+ *
+ * @param {string | string[]} itemIds The id or a list of ids of the item(s) to apply the css class to
+ * @param {string} cssClassName CSS class name
+ */
+ setCssClass(itemIds, cssClassName) {
+ itemIds.split(',').forEach((id) => {
+ let foundState = this.getState(id);
+ if (foundState === undefined) {
+ const trimmedId = id.trim();
+ this.addState(trimmedId);
+ foundState = this.getState(trimmedId);
+ }
+ foundState.classes.push(cssClassName);
+ });
+ }
+
+ /**
+ * Add a style to a state with the given id.
+ * @example style stateId fill:#f9f,stroke:#333,stroke-width:4px
+ * where 'style' is the keyword
+ * stateId is the id of a state
+ * the rest of the string is the styleText (all of the attributes to be applied to the state)
+ *
+ * @param itemId The id of item to apply the style to
+ * @param styleText - the text of the attributes for the style
+ */
+ setStyle(itemId, styleText) {
+ const item = this.getState(itemId);
+ if (item !== undefined) {
+ item.styles.push(styleText);
+ }
+ }
+
+ /**
+ * Add a text style to a state with the given id
+ *
+ * @param itemId The id of item to apply the css class to
+ * @param cssClassName CSS class name
+ */
+ setTextStyle(itemId, cssClassName) {
+ const item = this.getState(itemId);
+ if (item !== undefined) {
+ item.textStyles.push(cssClassName);
+ }
+ }
+
+ /**
+ * Finds the direction statement in the root document.
+ * @private
+ * @returns {{ value: string } | undefined} - the direction statement if present
+ */
+ getDirectionStatement() {
+ return this.rootDoc.find((doc) => doc.stmt === STMT_DIRECTION);
+ }
+
+ getDirection() {
+ return this.getDirectionStatement()?.value ?? DEFAULT_DIAGRAM_DIRECTION;
+ }
+
+ setDirection(dir) {
+ const doc = this.getDirectionStatement();
+ if (doc) {
+ doc.value = dir;
+ } else {
+ this.rootDoc.unshift({ stmt: STMT_DIRECTION, value: dir });
+ }
+ }
+
+ trimColon(str) {
+ return str && str[0] === ':' ? str.substr(1).trim() : str.trim();
+ }
+
+ getData() {
+ const config = getConfig();
+ return {
+ nodes: this.nodes,
+ edges: this.edges,
+ other: {},
+ config,
+ direction: getDir(this.getRootDocV2()),
+ };
+ }
+
+ getConfig() {
+ return getConfig().state;
+ }
+ getAccTitle = getAccTitle;
+ setAccTitle = setAccTitle;
+ getAccDescription = getAccDescription;
+ setAccDescription = setAccDescription;
+ setDiagramTitle = setDiagramTitle;
+ getDiagramTitle = getDiagramTitle;
+}
diff --git a/packages/mermaid/src/diagrams/state/stateDb.spec.js b/packages/mermaid/src/diagrams/state/stateDb.spec.js
index ff0581200..783b9212c 100644
--- a/packages/mermaid/src/diagrams/state/stateDb.spec.js
+++ b/packages/mermaid/src/diagrams/state/stateDb.spec.js
@@ -1,8 +1,9 @@
-import stateDb from './stateDb.js';
+import { StateDB } from './stateDb.js';
describe('State Diagram stateDb', () => {
+ let stateDb;
beforeEach(() => {
- stateDb.clear();
+ stateDb = new StateDB(1);
});
describe('addStyleClass', () => {
@@ -20,8 +21,9 @@ describe('State Diagram stateDb', () => {
});
describe('addDescription to a state', () => {
+ let stateDb;
beforeEach(() => {
- stateDb.clear();
+ stateDb = new StateDB(1);
stateDb.addState('state1');
});
@@ -73,3 +75,25 @@ describe('State Diagram stateDb', () => {
});
});
});
+
+describe('state db class', () => {
+ let stateDb;
+ beforeEach(() => {
+ stateDb = new StateDB(1);
+ });
+ // This is to ensure that functions used in state JISON are exposed as function from StateDb
+ it('should have functions used in flow JISON as own property', () => {
+ const functionsUsedInParser = [
+ 'setRootDoc',
+ 'trimColon',
+ 'getDividerId',
+ 'setAccTitle',
+ 'setAccDescription',
+ 'setDirection',
+ ];
+
+ for (const fun of functionsUsedInParser) {
+ expect(Object.hasOwn(stateDb, fun)).toBe(true);
+ }
+ });
+});
diff --git a/packages/mermaid/src/diagrams/state/stateDiagram-v2.spec.js b/packages/mermaid/src/diagrams/state/stateDiagram-v2.spec.js
index 53063f41a..a79e44d5d 100644
--- a/packages/mermaid/src/diagrams/state/stateDiagram-v2.spec.js
+++ b/packages/mermaid/src/diagrams/state/stateDiagram-v2.spec.js
@@ -1,11 +1,13 @@
-import { parser } from './parser/stateDiagram.jison';
-import stateDb from './stateDb.js';
-import stateDiagram from './parser/stateDiagram.jison';
+import stateDiagram, { parser } from './parser/stateDiagram.jison';
+import { DEFAULT_DIAGRAM_DIRECTION } from './stateCommon.js';
+import { StateDB } from './stateDb.js';
describe('state diagram V2, ', function () {
// TODO - these examples should be put into ./parser/stateDiagram.spec.js
describe('when parsing an info graph it', function () {
+ let stateDb;
beforeEach(function () {
+ stateDb = new StateDB(2);
parser.yy = stateDb;
stateDiagram.parser.yy = stateDb;
stateDiagram.parser.yy.clear();
@@ -127,7 +129,6 @@ describe('state diagram V2, ', function () {
`;
stateDiagram.parser.parse(diagram);
- stateDiagram.parser.yy.extract(stateDiagram.parser.yy.getRootDocV2());
const rels = stateDb.getRelations();
const rel_1_2 = rels.find((rel) => rel.id1 === 'State1' && rel.id2 === 'State2');
@@ -402,7 +403,6 @@ describe('state diagram V2, ', function () {
`;
stateDiagram.parser.parse(diagram);
- stateDiagram.parser.yy.extract(stateDiagram.parser.yy.getRootDocV2());
const states = stateDb.getStates();
expect(states.get('Active').doc[0].id).toEqual('Idle');
@@ -413,5 +413,34 @@ describe('state diagram V2, ', function () {
const rel_Active_Active = rels.find((rel) => rel.id1 === 'Active' && rel.id2 === 'Active');
expect(rel_Active_Active.relationTitle).toEqual('LOG');
});
+
+ it('should check default diagram direction', () => {
+ const diagram = `
+ stateDiagram
+ [*] --> Still
+ Still --> [*]
+ `;
+
+ parser.parse(diagram);
+
+ // checking default direction if no direction is specified
+ const defaultDir = stateDb.getDirection();
+ expect(defaultDir).toEqual(DEFAULT_DIAGRAM_DIRECTION);
+ });
+
+ it('retrieve the diagram direction correctly', () => {
+ const diagram = `
+ stateDiagram
+ direction LR
+ [*] --> Still
+ Still --> [*]
+ `;
+
+ parser.parse(diagram);
+
+ //retrieve the diagram direction
+ const currentDirection = stateDb.getDirection();
+ expect(currentDirection).toEqual('LR');
+ });
});
});
diff --git a/packages/mermaid/src/diagrams/state/stateDiagram-v2.ts b/packages/mermaid/src/diagrams/state/stateDiagram-v2.ts
index 8fd98e930..b0309fa84 100644
--- a/packages/mermaid/src/diagrams/state/stateDiagram-v2.ts
+++ b/packages/mermaid/src/diagrams/state/stateDiagram-v2.ts
@@ -1,13 +1,15 @@
import type { DiagramDefinition } from '../../diagram-api/types.js';
// @ts-ignore: JISON doesn't support types
import parser from './parser/stateDiagram.jison';
-import db from './stateDb.js';
+import { StateDB } from './stateDb.js';
import styles from './styles.js';
import renderer from './stateRenderer-v3-unified.js';
export const diagram: DiagramDefinition = {
parser,
- db,
+ get db() {
+ return new StateDB(2);
+ },
renderer,
styles,
init: (cnf) => {
diff --git a/packages/mermaid/src/diagrams/state/stateDiagram.spec.js b/packages/mermaid/src/diagrams/state/stateDiagram.spec.js
index 7fcf4d0a6..362c86ccd 100644
--- a/packages/mermaid/src/diagrams/state/stateDiagram.spec.js
+++ b/packages/mermaid/src/diagrams/state/stateDiagram.spec.js
@@ -1,9 +1,11 @@
import { parser } from './parser/stateDiagram.jison';
-import stateDb from './stateDb.js';
+import { StateDB } from './stateDb.js';
describe('state diagram, ', function () {
describe('when parsing an info graph it', function () {
+ let stateDb;
beforeEach(function () {
+ stateDb = new StateDB(1);
parser.yy = stateDb;
});
diff --git a/packages/mermaid/src/diagrams/state/stateDiagram.ts b/packages/mermaid/src/diagrams/state/stateDiagram.ts
index bd8383287..50d313e76 100644
--- a/packages/mermaid/src/diagrams/state/stateDiagram.ts
+++ b/packages/mermaid/src/diagrams/state/stateDiagram.ts
@@ -1,13 +1,15 @@
import type { DiagramDefinition } from '../../diagram-api/types.js';
// @ts-ignore: JISON doesn't support types
import parser from './parser/stateDiagram.jison';
-import db from './stateDb.js';
+import { StateDB } from './stateDb.js';
import styles from './styles.js';
import renderer from './stateRenderer.js';
export const diagram: DiagramDefinition = {
parser,
- db,
+ get db() {
+ return new StateDB(1);
+ },
renderer,
styles,
init: (cnf) => {
diff --git a/packages/mermaid/src/diagrams/state/stateRenderer-v3-unified.ts b/packages/mermaid/src/diagrams/state/stateRenderer-v3-unified.ts
index 109417c03..2998c8173 100644
--- a/packages/mermaid/src/diagrams/state/stateRenderer-v3-unified.ts
+++ b/packages/mermaid/src/diagrams/state/stateRenderer-v3-unified.ts
@@ -36,7 +36,6 @@ export const getClasses = function (
text: string,
diagramObj: any
): Map {
- diagramObj.db.extract(diagramObj.db.getRootDocV2());
return diagramObj.db.getClasses();
};
diff --git a/packages/mermaid/src/diagrams/state/stateRenderer.js b/packages/mermaid/src/diagrams/state/stateRenderer.js
index 17b674cb5..e621e9c13 100644
--- a/packages/mermaid/src/diagrams/state/stateRenderer.js
+++ b/packages/mermaid/src/diagrams/state/stateRenderer.js
@@ -136,7 +136,6 @@ const renderDoc = (doc, diagram, parentId, altBkg, root, domDocument, diagObj) =
return {};
});
- diagObj.db.extract(doc);
const states = diagObj.db.getStates();
const relations = diagObj.db.getRelations();
diff --git a/packages/mermaid/src/mermaidAPI.spec.ts b/packages/mermaid/src/mermaidAPI.spec.ts
index e51d419d3..c3480d203 100644
--- a/packages/mermaid/src/mermaidAPI.spec.ts
+++ b/packages/mermaid/src/mermaidAPI.spec.ts
@@ -67,10 +67,12 @@ vi.mock('stylis', () => {
import { compile, serialize } from 'stylis';
import { Diagram } from './Diagram.js';
-import { decodeEntities, encodeEntities } from './utils.js';
-import { toBase64 } from './utils/base64.js';
import { ClassDB } from './diagrams/class/classDb.js';
import { FlowDB } from './diagrams/flowchart/flowDb.js';
+import { SequenceDB } from './diagrams/sequence/sequenceDb.js';
+import { decodeEntities, encodeEntities } from './utils.js';
+import { toBase64 } from './utils/base64.js';
+import { StateDB } from './diagrams/state/stateDb.js';
/**
* @see https://vitest.dev/guide/mocking.html Mock part of a module
@@ -836,6 +838,31 @@ graph TD;A--x|text including URL space|B;`)
});
it('should not modify db when rendering different diagrams', async () => {
+ const stateDiagram1 = await mermaidAPI.getDiagramFromText(
+ `stateDiagram
+ direction LR
+ [*] --> Still
+ Still --> [*]
+ Still --> Moving
+ Moving --> Still
+ Moving --> Crash
+ Crash --> [*]`
+ );
+ const stateDiagram2 = await mermaidAPI.getDiagramFromText(
+ `stateDiagram
+ direction TB
+ [*] --> Still
+ Still --> [*]
+ Still --> Moving
+ Moving --> Still
+ Moving --> Crash
+ Crash --> [*]`
+ );
+ expect(stateDiagram1.db).not.toBe(stateDiagram2.db);
+ assert(stateDiagram1.db instanceof StateDB);
+ assert(stateDiagram2.db instanceof StateDB);
+ expect(stateDiagram1.db.getDirection()).not.toEqual(stateDiagram2.db.getDirection());
+
const flowDiagram1 = await mermaidAPI.getDiagramFromText(
`flowchart LR
A -- text --> B -- text2 --> C`
@@ -899,28 +926,18 @@ graph TD;A--x|text including URL space|B;`)
);
const sequenceDiagram2 = await mermaidAPI.getDiagramFromText(
`sequenceDiagram
+ actor A1
Alice->>+John: Hello John, how are you?
Alice->>+John: John, can you hear me?
John-->>-Alice: Hi Alice, I can hear you!
John-->>-Alice: I feel great!`
);
- // Since sequenceDiagram will return same Db object each time, we can compare the db to be same.
- expect(sequenceDiagram1.db).toBe(sequenceDiagram2.db);
+
+ // Since sequenceDiagram will return new Db object each time, we can compare the db to be different.
+ expect(sequenceDiagram1.db).not.toBe(sequenceDiagram2.db);
+ assert(sequenceDiagram1.db instanceof SequenceDB);
+ assert(sequenceDiagram2.db instanceof SequenceDB);
+ expect(sequenceDiagram1.db.getActors()).not.toEqual(sequenceDiagram2.db.getActors());
});
});
-
- // Sequence Diagram currently uses a singleton DB, so this test will fail
- it.fails('should not modify db when rendering different sequence diagrams', async () => {
- const sequenceDiagram1 = await mermaidAPI.getDiagramFromText(
- `sequenceDiagram
- Alice->>Bob: Hello Bob, how are you?
- Bob-->>John: How about you John?`
- );
- const sequenceDiagram2 = await mermaidAPI.getDiagramFromText(
- `sequenceDiagram
- Alice->>Bob: Hello Bob, how are you?
- Bob-->>John: How about you John?`
- );
- expect(sequenceDiagram1.db).not.toBe(sequenceDiagram2.db);
- });
});
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 178fb27ec..8c2dc8735 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -27,16 +27,16 @@ importers:
version: 2.27.9
'@cspell/eslint-plugin':
specifier: ^8.8.4
- version: 8.14.4(eslint@9.12.0(jiti@1.21.6))
+ version: 8.17.4(eslint@9.20.1(jiti@1.21.6))
'@cypress/code-coverage':
specifier: ^3.12.30
- version: 3.13.4(@babel/core@7.25.7)(@babel/preset-env@7.26.7(@babel/core@7.25.7))(babel-loader@9.2.1(@babel/core@7.25.7)(webpack@5.95.0(esbuild@0.21.5)))(cypress@13.15.0)(webpack@5.95.0(esbuild@0.21.5))
+ version: 3.13.4(@babel/core@7.25.7)(@babel/preset-env@7.26.9(@babel/core@7.25.7))(babel-loader@9.2.1(@babel/core@7.25.7)(webpack@5.95.0(esbuild@0.25.0)))(cypress@13.15.0)(webpack@5.95.0(esbuild@0.25.0))
'@eslint/js':
specifier: ^9.4.0
- version: 9.12.0
+ version: 9.20.0
'@rollup/plugin-typescript':
specifier: ^11.1.6
- version: 11.1.6(rollup@4.32.0)(tslib@2.7.0)(typescript@5.4.5)
+ version: 11.1.6(rollup@4.32.0)(tslib@2.8.1)(typescript@5.4.5)
'@types/cors':
specifier: ^2.8.17
version: 2.8.17
@@ -63,7 +63,7 @@ importers:
version: 4.2.4
'@vitest/coverage-v8':
specifier: ^1.4.0
- version: 1.6.0(vitest@1.6.1(@types/node@20.16.11)(@vitest/ui@1.6.0)(jsdom@24.1.3)(terser@5.38.2))
+ version: 1.6.0(vitest@1.6.1(@types/node@20.16.11)(@vitest/ui@1.6.0)(jsdom@24.1.3)(terser@5.39.0))
'@vitest/spy':
specifier: ^1.4.0
version: 1.6.0
@@ -101,44 +101,44 @@ importers:
specifier: ^1.24.0
version: 1.24.0(@babel/core@7.25.7)
esbuild:
- specifier: ^0.21.5
- version: 0.21.5
+ specifier: ^0.25.0
+ version: 0.25.0
eslint:
specifier: ^9.4.0
- version: 9.12.0(jiti@1.21.6)
+ version: 9.20.1(jiti@1.21.6)
eslint-config-prettier:
- specifier: ^9.1.0
- version: 9.1.0(eslint@9.12.0(jiti@1.21.6))
+ specifier: ^10.0.0
+ version: 10.0.1(eslint@9.20.1(jiti@1.21.6))
eslint-plugin-cypress:
- specifier: ^3.3.0
- version: 3.5.0(eslint@9.12.0(jiti@1.21.6))
+ specifier: ^4.0.0
+ version: 4.1.0(eslint@9.20.1(jiti@1.21.6))
eslint-plugin-html:
specifier: ^8.1.1
version: 8.1.2
eslint-plugin-jest:
specifier: ^28.6.0
- version: 28.8.3(@typescript-eslint/eslint-plugin@8.8.1(@typescript-eslint/parser@8.8.1(eslint@9.12.0(jiti@1.21.6))(typescript@5.4.5))(eslint@9.12.0(jiti@1.21.6))(typescript@5.4.5))(eslint@9.12.0(jiti@1.21.6))(jest@29.7.0(@types/node@20.16.11))(typescript@5.4.5)
+ version: 28.11.0(@typescript-eslint/eslint-plugin@8.24.1(@typescript-eslint/parser@8.24.1(eslint@9.20.1(jiti@1.21.6))(typescript@5.4.5))(eslint@9.20.1(jiti@1.21.6))(typescript@5.4.5))(eslint@9.20.1(jiti@1.21.6))(jest@29.7.0(@types/node@20.16.11))(typescript@5.4.5)
eslint-plugin-jsdoc:
specifier: ^50.0.0
- version: 50.3.1(eslint@9.12.0(jiti@1.21.6))
+ version: 50.6.3(eslint@9.20.1(jiti@1.21.6))
eslint-plugin-json:
specifier: ^4.0.0
version: 4.0.1
eslint-plugin-lodash:
specifier: ^8.0.0
- version: 8.0.0(eslint@9.12.0(jiti@1.21.6))
+ version: 8.0.0(eslint@9.20.1(jiti@1.21.6))
eslint-plugin-markdown:
specifier: ^5.0.0
- version: 5.1.0(eslint@9.12.0(jiti@1.21.6))
+ version: 5.1.0(eslint@9.20.1(jiti@1.21.6))
eslint-plugin-no-only-tests:
specifier: ^3.1.0
version: 3.3.0
eslint-plugin-tsdoc:
- specifier: ^0.3.0
- version: 0.3.0
+ specifier: ^0.4.0
+ version: 0.4.0
eslint-plugin-unicorn:
- specifier: ^56.0.0
- version: 56.0.0(eslint@9.12.0(jiti@1.21.6))
+ specifier: ^57.0.0
+ version: 57.0.0(eslint@9.20.1(jiti@1.21.6))
express:
specifier: ^4.19.1
version: 4.21.0
@@ -193,6 +193,9 @@ importers:
start-server-and-test:
specifier: ^2.0.3
version: 2.0.8
+ tslib:
+ specifier: ^2.8.1
+ version: 2.8.1
tsx:
specifier: ^4.7.1
version: 4.19.1
@@ -201,16 +204,16 @@ importers:
version: 5.4.5
typescript-eslint:
specifier: ^8.0.0-alpha.34
- version: 8.8.1(eslint@9.12.0(jiti@1.21.6))(typescript@5.4.5)
+ version: 8.24.1(eslint@9.20.1(jiti@1.21.6))(typescript@5.4.5)
vite:
specifier: ^5.2.3
- version: 5.4.12(@types/node@20.16.11)(terser@5.38.2)
+ version: 5.4.12(@types/node@20.16.11)(terser@5.39.0)
vite-plugin-istanbul:
specifier: ^6.0.0
- version: 6.0.2(vite@5.4.12(@types/node@20.16.11)(terser@5.38.2))
+ version: 6.0.2(vite@5.4.12(@types/node@20.16.11)(terser@5.39.0))
vitest:
specifier: ^1.4.0
- version: 1.6.1(@types/node@20.16.11)(@vitest/ui@1.6.0)(jsdom@24.1.3)(terser@5.38.2)
+ version: 1.6.1(@types/node@20.16.11)(@vitest/ui@1.6.0)(jsdom@24.1.3)(terser@5.39.0)
packages/mermaid:
dependencies:
@@ -261,7 +264,7 @@ importers:
version: 1.11.13
dompurify:
specifier: ^3.2.1
- version: 3.2.1
+ version: 3.2.4
katex:
specifier: ^0.16.9
version: 0.16.11
@@ -406,10 +409,10 @@ importers:
version: 5.0.0
vitepress:
specifier: ^1.0.1
- version: 1.1.4(@algolia/client-search@4.24.0)(@types/node@20.16.11)(axios@1.7.7)(postcss@8.5.1)(search-insights@2.17.2)(terser@5.38.2)(typescript@5.4.5)
+ version: 1.1.4(@algolia/client-search@4.24.0)(@types/node@20.16.11)(axios@1.7.7)(postcss@8.5.1)(search-insights@2.17.2)(terser@5.39.0)(typescript@5.4.5)
vitepress-plugin-search:
specifier: 1.0.4-alpha.22
- version: 1.0.4-alpha.22(flexsearch@0.7.43)(vitepress@1.1.4(@algolia/client-search@4.24.0)(@types/node@20.16.11)(axios@1.7.7)(postcss@8.5.1)(search-insights@2.17.2)(terser@5.38.2)(typescript@5.4.5))(vue@3.5.11(typescript@5.4.5))
+ version: 1.0.4-alpha.22(flexsearch@0.7.43)(vitepress@1.1.4(@algolia/client-search@4.24.0)(@types/node@20.16.11)(axios@1.7.7)(postcss@8.5.1)(search-insights@2.17.2)(terser@5.39.0)(typescript@5.4.5))(vue@3.5.11(typescript@5.4.5))
packages/mermaid-example-diagram:
dependencies:
@@ -488,10 +491,10 @@ importers:
version: 0.59.4
'@vite-pwa/vitepress':
specifier: ^0.4.0
- version: 0.4.0(vite-plugin-pwa@0.19.8(vite@5.4.12(@types/node@20.16.11)(terser@5.38.2))(workbox-build@7.1.1(@types/babel__core@7.20.5))(workbox-window@7.1.0))
+ version: 0.4.0(vite-plugin-pwa@0.19.8(vite@5.4.12(@types/node@20.16.11)(terser@5.39.0))(workbox-build@7.1.1(@types/babel__core@7.20.5))(workbox-window@7.1.0))
'@vitejs/plugin-vue':
specifier: ^5.0.0
- version: 5.1.4(vite@5.4.12(@types/node@20.16.11)(terser@5.38.2))(vue@3.5.11(typescript@5.6.2))
+ version: 5.1.4(vite@5.4.12(@types/node@20.16.11)(terser@5.39.0))(vue@3.5.11(typescript@5.6.2))
fast-glob:
specifier: ^3.3.2
version: 3.3.2
@@ -503,19 +506,19 @@ importers:
version: 1.1.2
unocss:
specifier: ^0.59.0
- version: 0.59.4(postcss@8.5.1)(rollup@2.79.2)(vite@5.4.12(@types/node@20.16.11)(terser@5.38.2))
+ version: 0.59.4(postcss@8.5.1)(rollup@2.79.2)(vite@5.4.12(@types/node@20.16.11)(terser@5.39.0))
unplugin-vue-components:
specifier: ^0.26.0
- version: 0.26.0(@babel/parser@7.26.8)(rollup@2.79.2)(vue@3.5.11(typescript@5.6.2))(webpack-sources@3.2.3)
+ version: 0.26.0(@babel/parser@7.26.9)(rollup@2.79.2)(vue@3.5.11(typescript@5.6.2))(webpack-sources@3.2.3)
vite:
specifier: ^5.0.0
- version: 5.4.12(@types/node@20.16.11)(terser@5.38.2)
+ version: 5.4.12(@types/node@20.16.11)(terser@5.39.0)
vite-plugin-pwa:
specifier: ^0.19.7
- version: 0.19.8(vite@5.4.12(@types/node@20.16.11)(terser@5.38.2))(workbox-build@7.1.1(@types/babel__core@7.20.5))(workbox-window@7.1.0)
+ version: 0.19.8(vite@5.4.12(@types/node@20.16.11)(terser@5.39.0))(workbox-build@7.1.1(@types/babel__core@7.20.5))(workbox-window@7.1.0)
vitepress:
specifier: 1.1.4
- version: 1.1.4(@algolia/client-search@4.24.0)(@types/node@20.16.11)(axios@1.7.7)(postcss@8.5.1)(search-insights@2.17.2)(terser@5.38.2)(typescript@5.6.2)
+ version: 1.1.4(@algolia/client-search@4.24.0)(@types/node@20.16.11)(axios@1.7.7)(postcss@8.5.1)(search-insights@2.17.2)(terser@5.39.0)(typescript@5.6.2)
workbox-window:
specifier: ^7.0.0
version: 7.1.0
@@ -541,7 +544,7 @@ importers:
devDependencies:
webpack:
specifier: ^5.91.0
- version: 5.95.0(esbuild@0.21.5)(webpack-cli@4.10.0)
+ version: 5.95.0(esbuild@0.25.0)(webpack-cli@4.10.0)
webpack-cli:
specifier: ^4.10.0
version: 4.10.0(webpack-dev-server@4.15.2)(webpack@5.95.0)
@@ -846,16 +849,16 @@ packages:
resolution: {integrity: sha512-yJ474Zv3cwiSOO9nXJuqzvwEeM+chDuQ8GJirw+pZ91sCGCyOZ3dJkVE09fTV0VEVzXyLWhh3G/AolYTPX7Mow==}
engines: {node: '>=6.9.0'}
- '@babel/core@7.26.8':
- resolution: {integrity: sha512-l+lkXCHS6tQEc5oUpK28xBOZ6+HwaH7YwoYQbLFiYb4nS2/l1tKnZEtEWkD0GuiYdvArf9qBS0XlQGXzPMsNqQ==}
+ '@babel/core@7.26.9':
+ resolution: {integrity: sha512-lWBYIrF7qK5+GjY5Uy+/hEgp8OJWOD/rpy74GplYRhEauvbHDeFB8t5hPOZxCZ0Oxf4Cc36tK51/l3ymJysrKw==}
engines: {node: '>=6.9.0'}
'@babel/generator@7.25.7':
resolution: {integrity: sha512-5Dqpl5fyV9pIAD62yK9P7fcA768uVPUyrQmqpqstHWgMma4feF1x/oFysBCVZLY5wJ2GkMUCdsNDnGZrPoR6rA==}
engines: {node: '>=6.9.0'}
- '@babel/generator@7.26.8':
- resolution: {integrity: sha512-ef383X5++iZHWAXX0SXQR6ZyQhw/0KtTkrTz61WXRhFM6dhpHulO/RJz79L8S6ugZHJkOOkUrUdxgdF2YiPFnA==}
+ '@babel/generator@7.26.9':
+ resolution: {integrity: sha512-kEWdzjOAUMW4hAyrzJ0ZaTOu9OmpyDIQicIh0zg0EEcEkYXZb2TjtBhnHi2ViX7PKwZqF4xwqfAm299/QMP3lg==}
engines: {node: '>=6.9.0'}
'@babel/helper-annotate-as-pure@7.25.7':
@@ -880,8 +883,8 @@ packages:
peerDependencies:
'@babel/core': ^7.0.0
- '@babel/helper-create-class-features-plugin@7.25.9':
- resolution: {integrity: sha512-UTZQMvt0d/rSz6KI+qdu7GQze5TIajwTS++GUozlw8VBJDEOAqSXwm1WvmYEZwqdqSGQshRocPDqrt4HBZB3fQ==}
+ '@babel/helper-create-class-features-plugin@7.26.9':
+ resolution: {integrity: sha512-ubbUqCofvxPRurw5L8WTsCLSkQiVpov4Qx0WMA+jUN+nXBK8ADPlJO1grkFw5CWKC5+sZSOfuGMdX1aI1iT9Sg==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0
@@ -979,10 +982,6 @@ packages:
resolution: {integrity: sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==}
engines: {node: '>=6.9.0'}
- '@babel/helper-validator-identifier@7.25.7':
- resolution: {integrity: sha512-AM6TzwYqGChO45oiuPqwL2t20/HdMC1rTPAesnBCgPCSF1x3oN9MVUwQV2iyz4xqWrctwK5RNC8LV22kaQCNYg==}
- engines: {node: '>=6.9.0'}
-
'@babel/helper-validator-identifier@7.25.9':
resolution: {integrity: sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==}
engines: {node: '>=6.9.0'}
@@ -1003,8 +1002,8 @@ packages:
resolution: {integrity: sha512-Sv6pASx7Esm38KQpF/U/OXLwPPrdGHNKoeblRxgZRLXnAtnkEe4ptJPDtAZM7fBLadbc1Q07kQpSiGQ0Jg6tRA==}
engines: {node: '>=6.9.0'}
- '@babel/helpers@7.26.7':
- resolution: {integrity: sha512-8NHiL98vsi0mbPQmYAGWwfcFaOy4j2HY49fXJCfuDcdE7fMIsH9a7GdaeXpIBsbT7307WU8KCMp5pUVDNL4f9A==}
+ '@babel/helpers@7.26.9':
+ resolution: {integrity: sha512-Mz/4+y8udxBKdmzt/UjPACs4G3j5SshJJEFFKxlCGPydG4JAHXxjWjAwjd09tf6oINvl1VfMJo+nB7H2YKQ0dA==}
engines: {node: '>=6.9.0'}
'@babel/highlight@7.25.7':
@@ -1016,8 +1015,8 @@ packages:
engines: {node: '>=6.0.0'}
hasBin: true
- '@babel/parser@7.26.8':
- resolution: {integrity: sha512-TZIQ25pkSoaKEYYaHbbxkfL36GNsQ6iFiBbeuzAkLnXayKR1yP1zFe+NxuZWWsUyvt8icPU9CCq0sgWGXR1GEw==}
+ '@babel/parser@7.26.9':
+ resolution: {integrity: sha512-81NWa1njQblgZbQHxWHpxxCzNsa3ZwvFqpUg7P+NNUU6f3UU2jBEg4OlF/J6rl8+PQGh1q6/zWScd001YwcA5A==}
engines: {node: '>=6.0.0'}
hasBin: true
@@ -1262,8 +1261,8 @@ packages:
peerDependencies:
'@babel/core': ^7.0.0-0
- '@babel/plugin-transform-for-of@7.25.9':
- resolution: {integrity: sha512-LqHxduHoaGELJl2uhImHwRQudhCM50pT46rIBNvtT/Oql3nqiS3wOwP+5ten7NpYSXrrVLgtZU3DZmPtWZo16A==}
+ '@babel/plugin-transform-for-of@7.26.9':
+ resolution: {integrity: sha512-Hry8AusVm8LW5BVFgiyUReuoGzPUpdHQQqJY5bZnbbf+ngOHWuCuYFKw/BqaaWlvEUrF91HMhDtEaI1hZzNbLg==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
@@ -1478,14 +1477,8 @@ packages:
peerDependencies:
'@babel/core': ^7.0.0
- '@babel/preset-env@7.26.7':
- resolution: {integrity: sha512-Ycg2tnXwixaXOVb29rana8HNPgLVBof8qqtNQ9LE22IoyZboQbGSxI6ZySMdW3K5nAe6gu35IaJefUJflhUFTQ==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
-
- '@babel/preset-env@7.26.8':
- resolution: {integrity: sha512-um7Sy+2THd697S4zJEfv/U5MHGJzkN2xhtsR3T/SWRbVSic62nbISh51VVfU9JiO/L/Z97QczHTaFVkOU8IzNg==}
+ '@babel/preset-env@7.26.9':
+ resolution: {integrity: sha512-vX3qPGE8sEKEAZCWk05k3cpTAE3/nOYca++JA+Rd0z2NCNzabmYvEiSShKzm10zdquOIAVXsy2Ei/DTW34KlKQ==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
@@ -1505,32 +1498,32 @@ packages:
resolution: {integrity: sha512-FjoyLe754PMiYsFaN5C94ttGiOmBNYTf6pLr4xXHAT5uctHb092PBszndLDR5XA/jghQvn4n7JMHl7dmTgbm9w==}
engines: {node: '>=6.9.0'}
- '@babel/runtime@7.26.7':
- resolution: {integrity: sha512-AOPI3D+a8dXnja+iwsUqGRjr1BbZIe771sXdapOtYI531gSqpi92vXivKcq2asu/DFpdl1ceFAKZyRzK2PCVcQ==}
+ '@babel/runtime@7.26.9':
+ resolution: {integrity: sha512-aA63XwOkcl4xxQa3HjPMqOP6LiK0ZDv3mUPYEFXkpHbaFjtGggE1A61FjFzJnB+p7/oy2gA8E+rcBNl/zC1tMg==}
engines: {node: '>=6.9.0'}
'@babel/template@7.25.7':
resolution: {integrity: sha512-wRwtAgI3bAS+JGU2upWNL9lSlDcRCqD05BZ1n3X2ONLH1WilFP6O1otQjeMK/1g0pvYcXC7b/qVUB1keofjtZA==}
engines: {node: '>=6.9.0'}
- '@babel/template@7.26.8':
- resolution: {integrity: sha512-iNKaX3ZebKIsCvJ+0jd6embf+Aulaa3vNBqZ41kM7iTWjx5qzWKXGHiJUW3+nTpQ18SG11hdF8OAzKrpXkb96Q==}
+ '@babel/template@7.26.9':
+ resolution: {integrity: sha512-qyRplbeIpNZhmzOysF/wFMuP9sctmh2cFzRAZOn1YapxBsE1i9bJIY586R/WBLfLcmcBlM8ROBiQURnnNy+zfA==}
engines: {node: '>=6.9.0'}
'@babel/traverse@7.25.7':
resolution: {integrity: sha512-jatJPT1Zjqvh/1FyJs6qAHL+Dzb7sTb+xr7Q+gM1b+1oBsMsQQ4FkVKb6dFlJvLlVssqkRzV05Jzervt9yhnzg==}
engines: {node: '>=6.9.0'}
- '@babel/traverse@7.26.8':
- resolution: {integrity: sha512-nic9tRkjYH0oB2dzr/JoGIm+4Q6SuYeLEiIiZDwBscRMYFJ+tMAz98fuel9ZnbXViA2I0HVSSRRK8DW5fjXStA==}
+ '@babel/traverse@7.26.9':
+ resolution: {integrity: sha512-ZYW7L+pL8ahU5fXmNbPF+iZFHCv5scFak7MZ9bwaRPLUhHh7QQEMjZUg0HevihoqCM5iSYHN61EyCoZvqC+bxg==}
engines: {node: '>=6.9.0'}
'@babel/types@7.25.7':
resolution: {integrity: sha512-vwIVdXG+j+FOpkwqHRcBgHLYNL7XMkufrlaFvL9o6Ai9sJn9+PdyIL5qa0XzTZw084c+u9LOls53eoZWP/W5WQ==}
engines: {node: '>=6.9.0'}
- '@babel/types@7.26.8':
- resolution: {integrity: sha512-eUuWapzEGWFEpHFxgEaBG8e3n6S8L3MSu0oda755rOfabWPnh0Our1AozNFVUxGFIhbKgd1ksprsoDGMinTOTA==}
+ '@babel/types@7.26.9':
+ resolution: {integrity: sha512-Y3IR1cRnOxOCDvMmNiym7XpXQ93iGDDPHx+Zj+NM+rg0fBaShfQLkg+hKPaZCEvg5N/LeCo4+Rj/i3FuJsIQaw==}
engines: {node: '>=6.9.0'}
'@bcherny/json-schema-ref-parser@10.0.5-fork':
@@ -1627,6 +1620,10 @@ packages:
resolution: {integrity: sha512-JHZOpCJzN6fPBapBOvoeMxZbr0ZA11ZAkwcqM4w0lKoacbi6TwK8GIYf66hHvwLmMeav75TNXWE6aPTvBLMMqA==}
engines: {node: '>=18'}
+ '@cspell/cspell-bundled-dicts@8.17.4':
+ resolution: {integrity: sha512-oPNQU3Uwc0OnvAmC8Vs7DSCRBhGRbZvO8J57JEnJ6YMNyCJZpKq050OzbAWmNdjjZ7yRLJ+LOcxhzdFg2Qn4Yw==}
+ engines: {node: '>=18'}
+
'@cspell/cspell-json-reporter@8.14.4':
resolution: {integrity: sha512-gJ6tQbGCNLyHS2iIimMg77as5MMAFv3sxU7W6tjLlZp8htiNZS7fS976g24WbT/hscsTT9Dd0sNHkpo8K3nvVw==}
engines: {node: '>=18'}
@@ -1635,186 +1632,379 @@ packages:
resolution: {integrity: sha512-CLLdouqfrQ4rqdQdPu0Oo+HHCU/oLYoEsK1nNPb28cZTFxnn0cuSPKB6AMPBJmMwdfJ6fMD0BCKNbEe1UNLHcw==}
engines: {node: '>=18'}
+ '@cspell/cspell-pipe@8.17.4':
+ resolution: {integrity: sha512-0KzqYetKMT9c3Pt77yRla2/zLDitpztEQ/VPYAbW5DCW+btRe5pAb6VQ7U6HKA2HoM2rhlLTWOBh4jauRFtgxA==}
+ engines: {node: '>=18'}
+
'@cspell/cspell-resolver@8.14.4':
resolution: {integrity: sha512-s3uZyymJ04yn8+zlTp7Pt1WRSlAel6XVo+iZRxls3LSvIP819KK64DoyjCD2Uon0Vg9P/K7aAPt8GcxDcnJtgA==}
engines: {node: '>=18'}
+ '@cspell/cspell-resolver@8.17.4':
+ resolution: {integrity: sha512-1Z3yZRuhnyGCheD2nt/ZswV+ulXBOfnKCoyfkUKNAR5ALkrqv6bjXXwZrpEi2cIK1km4/59ybT72+r2Ry9dGUw==}
+ engines: {node: '>=18'}
+
'@cspell/cspell-service-bus@8.14.4':
resolution: {integrity: sha512-i3UG+ep63akNsDXZrtGgICNF3MLBHtvKe/VOIH6+L+NYaAaVHqqQvOY9MdUwt1HXh8ElzfwfoRp36wc5aAvt6g==}
engines: {node: '>=18'}
+ '@cspell/cspell-service-bus@8.17.4':
+ resolution: {integrity: sha512-S8fENifriBW8KdDIvOnsP9gdEyCp1zrs4GT15vmDvm6uoevj2mfmdCj4/EbM1KbmmNAh1tlidAgn2OWdtyW7Lg==}
+ engines: {node: '>=18'}
+
'@cspell/cspell-types@8.14.4':
resolution: {integrity: sha512-VXwikqdHgjOVperVVCn2DOe8W3rPIswwZtMHfRYnagpzZo/TOntIjkXPJSfTtl/cFyx5DnCBsDH8ytKGlMeHkw==}
engines: {node: '>=18'}
+ '@cspell/cspell-types@8.17.4':
+ resolution: {integrity: sha512-1K6tXEMXSaoUXhH3TiaCyh3Nh8ZE0wPej0+wa5HAMtdcY1B3FGvHZ9DltkgZxbzs3bGNXIySFE5ITqULbhweBA==}
+ engines: {node: '>=18'}
+
'@cspell/dict-ada@4.0.2':
resolution: {integrity: sha512-0kENOWQeHjUlfyId/aCM/mKXtkEgV0Zu2RhUXCBr4hHo9F9vph+Uu8Ww2b0i5a4ZixoIkudGA+eJvyxrG1jUpA==}
+ '@cspell/dict-ada@4.1.0':
+ resolution: {integrity: sha512-7SvmhmX170gyPd+uHXrfmqJBY5qLcCX8kTGURPVeGxmt8XNXT75uu9rnZO+jwrfuU2EimNoArdVy5GZRGljGNg==}
+
+ '@cspell/dict-al@1.1.0':
+ resolution: {integrity: sha512-PtNI1KLmYkELYltbzuoztBxfi11jcE9HXBHCpID2lou/J4VMYKJPNqe4ZjVzSI9NYbMnMnyG3gkbhIdx66VSXg==}
+
'@cspell/dict-aws@4.0.4':
resolution: {integrity: sha512-6AWI/Kkf+RcX/J81VX8+GKLeTgHWEr/OMhGk3dHQzWK66RaqDJCGDqi7494ghZKcBB7dGa3U5jcKw2FZHL/u3w==}
+ '@cspell/dict-aws@4.0.9':
+ resolution: {integrity: sha512-bDYdnnJGwSkIZ4gzrauu7qzOs/ZAY/FnU4k11LgdMI8BhwMfsbsy2EI1iS+sD/BI5ZnNT9kU5YR3WADeNOmhRg==}
+
'@cspell/dict-bash@4.1.5':
resolution: {integrity: sha512-YGim/h7E2U5HCCb2ckNufT6/yyWygt9nSZ5C7qw6oOD3bygbObqD1+rlPor1JW+YyO+3GwTIHE70uKEEU6VZYw==}
+ '@cspell/dict-bash@4.2.0':
+ resolution: {integrity: sha512-HOyOS+4AbCArZHs/wMxX/apRkjxg6NDWdt0jF9i9XkvJQUltMwEhyA2TWYjQ0kssBsnof+9amax2lhiZnh3kCg==}
+
+ '@cspell/dict-companies@3.1.14':
+ resolution: {integrity: sha512-iqo1Ce4L7h0l0GFSicm2wCLtfuymwkvgFGhmu9UHyuIcTbdFkDErH+m6lH3Ed+QuskJlpQ9dM7puMIGqUlVERw==}
+
'@cspell/dict-companies@3.1.4':
resolution: {integrity: sha512-y9e0amzEK36EiiKx3VAA+SHQJPpf2Qv5cCt5eTUSggpTkiFkCh6gRKQ97rVlrKh5GJrqinDwYIJtTsxuh2vy2Q==}
'@cspell/dict-cpp@5.1.19':
resolution: {integrity: sha512-i/odUPNFLdqWisOktu6c4qjUR4k+P9Al2RCri3Wso9EFblp53xt/5jIUdGMdDDVQGqX7s/KLtdqNxNKqP3/d+w==}
+ '@cspell/dict-cpp@6.0.3':
+ resolution: {integrity: sha512-OFrVXdxCeGKnon36Pe3yFjBuY4kzzEwWFf3vDz+cJTodZDkjFkBifQeTtt5YfimgF8cfAJZXkBCsxjipAgmAiw==}
+
'@cspell/dict-cryptocurrencies@5.0.0':
resolution: {integrity: sha512-Z4ARIw5+bvmShL+4ZrhDzGhnc9znaAGHOEMaB/GURdS/jdoreEDY34wdN0NtdLHDO5KO7GduZnZyqGdRoiSmYA==}
+ '@cspell/dict-cryptocurrencies@5.0.4':
+ resolution: {integrity: sha512-6iFu7Abu+4Mgqq08YhTKHfH59mpMpGTwdzDB2Y8bbgiwnGFCeoiSkVkgLn1Kel2++hYcZ8vsAW/MJS9oXxuMag==}
+
'@cspell/dict-csharp@4.0.2':
resolution: {integrity: sha512-1JMofhLK+4p4KairF75D3A924m5ERMgd1GvzhwK2geuYgd2ZKuGW72gvXpIV7aGf52E3Uu1kDXxxGAiZ5uVG7g==}
+ '@cspell/dict-csharp@4.0.6':
+ resolution: {integrity: sha512-w/+YsqOknjQXmIlWDRmkW+BHBPJZ/XDrfJhZRQnp0wzpPOGml7W0q1iae65P2AFRtTdPKYmvSz7AL5ZRkCnSIw==}
+
'@cspell/dict-css@4.0.13':
resolution: {integrity: sha512-WfOQkqlAJTo8eIQeztaH0N0P+iF5hsJVKFuhy4jmARPISy8Efcv8QXk2/IVbmjJH0/ZV7dKRdnY5JFVXuVz37g==}
+ '@cspell/dict-css@4.0.17':
+ resolution: {integrity: sha512-2EisRLHk6X/PdicybwlajLGKF5aJf4xnX2uuG5lexuYKt05xV/J/OiBADmi8q9obhxf1nesrMQbqAt+6CsHo/w==}
+
'@cspell/dict-dart@2.2.1':
resolution: {integrity: sha512-yriKm7QkoPx3JPSSOcw6iX9gOb2N50bOo/wqWviqPYbhpMRh9Xiv6dkUy3+ot+21GuShZazO8X6U5+Vw67XEwg==}
- '@cspell/dict-data-science@2.0.2':
- resolution: {integrity: sha512-VwAck6OZQVqrscKyOrvllixIugIPF+Q6YoFNvXZCPhHGtNyOAVraD3S7kOgPYBdUjgno4QbdMWm92BUPqL1QjQ==}
+ '@cspell/dict-dart@2.3.0':
+ resolution: {integrity: sha512-1aY90lAicek8vYczGPDKr70pQSTQHwMFLbmWKTAI6iavmb1fisJBS1oTmMOKE4ximDf86MvVN6Ucwx3u/8HqLg==}
+
+ '@cspell/dict-data-science@2.0.7':
+ resolution: {integrity: sha512-XhAkK+nSW6zmrnWzusmZ1BpYLc62AWYHZc2p17u4nE2Z9XG5DleG55PCZxXQTKz90pmwlhFM9AfpkJsYaBWATA==}
'@cspell/dict-django@4.1.0':
resolution: {integrity: sha512-bKJ4gPyrf+1c78Z0Oc4trEB9MuhcB+Yg+uTTWsvhY6O2ncFYbB/LbEZfqhfmmuK/XJJixXfI1laF2zicyf+l0w==}
+ '@cspell/dict-django@4.1.4':
+ resolution: {integrity: sha512-fX38eUoPvytZ/2GA+g4bbdUtCMGNFSLbdJJPKX2vbewIQGfgSFJKY56vvcHJKAvw7FopjvgyS/98Ta9WN1gckg==}
+
+ '@cspell/dict-docker@1.1.12':
+ resolution: {integrity: sha512-6d25ZPBnYZaT9D9An/x6g/4mk542R8bR3ipnby3QFCxnfdd6xaWiTcwDPsCgwN2aQZIQ1jX/fil9KmBEqIK/qA==}
+
'@cspell/dict-docker@1.1.7':
resolution: {integrity: sha512-XlXHAr822euV36GGsl2J1CkBIVg3fZ6879ZOg5dxTIssuhUOCiV2BuzKZmt6aIFmcdPmR14+9i9Xq+3zuxeX0A==}
'@cspell/dict-dotnet@5.0.5':
resolution: {integrity: sha512-gjg0L97ee146wX47dnA698cHm85e7EOpf9mVrJD8DmEaqoo/k1oPy2g7c7LgKxK9XnqwoXxhLNnngPrwXOoEtQ==}
+ '@cspell/dict-dotnet@5.0.9':
+ resolution: {integrity: sha512-JGD6RJW5sHtO5lfiJl11a5DpPN6eKSz5M1YBa1I76j4dDOIqgZB6rQexlDlK1DH9B06X4GdDQwdBfnpAB0r2uQ==}
+
'@cspell/dict-elixir@4.0.3':
resolution: {integrity: sha512-g+uKLWvOp9IEZvrIvBPTr/oaO6619uH/wyqypqvwpmnmpjcfi8+/hqZH8YNKt15oviK8k4CkINIqNhyndG9d9Q==}
+ '@cspell/dict-elixir@4.0.7':
+ resolution: {integrity: sha512-MAUqlMw73mgtSdxvbAvyRlvc3bYnrDqXQrx5K9SwW8F7fRYf9V4vWYFULh+UWwwkqkhX9w03ZqFYRTdkFku6uA==}
+
'@cspell/dict-en-common-misspellings@2.0.4':
resolution: {integrity: sha512-lvOiRjV/FG4pAGZL3PN2GCVHSTCE92cwhfLGGkOsQtxSmef6WCHfHwp9auafkBlX0yFQSKDfq6/TlpQbjbJBtQ==}
+ '@cspell/dict-en-common-misspellings@2.0.9':
+ resolution: {integrity: sha512-O/jAr1VNtuyCFckbTmpeEf43ZFWVD9cJFvWaA6rO2IVmLirJViHWJUyBZOuQcesSplzEIw80MAYmnK06/MDWXQ==}
+
'@cspell/dict-en-gb@1.1.33':
resolution: {integrity: sha512-tKSSUf9BJEV+GJQAYGw5e+ouhEe2ZXE620S7BLKe3ZmpnjlNG9JqlnaBhkIMxKnNFkLY2BP/EARzw31AZnOv4g==}
'@cspell/dict-en_us@4.3.23':
resolution: {integrity: sha512-l0SoEQBsi3zDSl3OuL4/apBkxjuj4hLIg/oy6+gZ7LWh03rKdF6VNtSZNXWAmMY+pmb1cGA3ouleTiJIglbsIg==}
+ '@cspell/dict-en_us@4.3.31':
+ resolution: {integrity: sha512-MDc+1B0aFwQONS0JZ6w7ks2KFGkUcaNTFJ8kI6GHvFRmEl3zP5NJDwFEXFsoEdLDb86j2myauSWMJXR3JFuwbA==}
+
+ '@cspell/dict-filetypes@3.0.11':
+ resolution: {integrity: sha512-bBtCHZLo7MiSRUqx5KEiPdGOmXIlDGY+L7SJEtRWZENpAKE+96rT7hj+TUUYWBbCzheqHr0OXZJFEKDgsG/uZg==}
+
'@cspell/dict-filetypes@3.0.4':
resolution: {integrity: sha512-IBi8eIVdykoGgIv5wQhOURi5lmCNJq0we6DvqKoPQJHthXbgsuO1qrHSiUVydMiQl/XvcnUWTMeAlVUlUClnVg==}
'@cspell/dict-flutter@1.0.0':
resolution: {integrity: sha512-W7k1VIc4KeV8BjEBxpA3cqpzbDWjfb7oXkEb0LecBCBp5Z7kcfnjT1YVotTx/U9PGyAOBhDaEdgZACVGNQhayw==}
+ '@cspell/dict-flutter@1.1.0':
+ resolution: {integrity: sha512-3zDeS7zc2p8tr9YH9tfbOEYfopKY/srNsAa+kE3rfBTtQERAZeOhe5yxrnTPoufctXLyuUtcGMUTpxr3dO0iaA==}
+
'@cspell/dict-fonts@4.0.0':
resolution: {integrity: sha512-t9V4GeN/m517UZn63kZPUYP3OQg5f0OBLSd3Md5CU3eH1IFogSvTzHHnz4Wqqbv8NNRiBZ3HfdY/pqREZ6br3Q==}
+ '@cspell/dict-fonts@4.0.4':
+ resolution: {integrity: sha512-cHFho4hjojBcHl6qxidl9CvUb492IuSk7xIf2G2wJzcHwGaCFa2o3gRcxmIg1j62guetAeDDFELizDaJlVRIOg==}
+
'@cspell/dict-fsharp@1.0.1':
resolution: {integrity: sha512-23xyPcD+j+NnqOjRHgW3IU7Li912SX9wmeefcY0QxukbAxJ/vAN4rBpjSwwYZeQPAn3fxdfdNZs03fg+UM+4yQ==}
+ '@cspell/dict-fsharp@1.1.0':
+ resolution: {integrity: sha512-oguWmHhGzgbgbEIBKtgKPrFSVAFtvGHaQS0oj+vacZqMObwkapcTGu7iwf4V3Bc2T3caf0QE6f6rQfIJFIAVsw==}
+
'@cspell/dict-fullstack@3.2.0':
resolution: {integrity: sha512-sIGQwU6G3rLTo+nx0GKyirR5dQSFeTIzFTOrURw51ISf+jKG9a3OmvsVtc2OANfvEAOLOC9Wfd8WYhmsO8KRDQ==}
+ '@cspell/dict-fullstack@3.2.4':
+ resolution: {integrity: sha512-JRRvaOLBZ13BO9sP395W+06tyO1Jy/87aFlKe9xQiCWMiwpCo2kGq0xBGq0PDWe253lYLs+GKrNmLU0fSxrObg==}
+
'@cspell/dict-gaming-terms@1.0.5':
resolution: {integrity: sha512-C3riccZDD3d9caJQQs1+MPfrUrQ+0KHdlj9iUR1QD92FgTOF6UxoBpvHUUZ9YSezslcmpFQK4xQQ5FUGS7uWfw==}
+ '@cspell/dict-gaming-terms@1.1.0':
+ resolution: {integrity: sha512-46AnDs9XkgJ2f1Sqol1WgfJ8gOqp60fojpc9Wxch7x+BA63g4JfMV5/M5x0sI0TLlLY8EBSglcr8wQF/7C80AQ==}
+
'@cspell/dict-git@3.0.0':
resolution: {integrity: sha512-simGS/lIiXbEaqJu9E2VPoYW1OTC2xrwPPXNXFMa2uo/50av56qOuaxDrZ5eH1LidFXwoc8HROCHYeKoNrDLSw==}
+ '@cspell/dict-git@3.0.4':
+ resolution: {integrity: sha512-C44M+m56rYn6QCsLbiKiedyPTMZxlDdEYAsPwwlL5bhMDDzXZ3Ic8OCQIhMbiunhCOJJT+er4URmOmM+sllnjg==}
+
'@cspell/dict-golang@6.0.13':
resolution: {integrity: sha512-uBUWi+AjFpluB6qF0rsC1gGyooqXeKPUdWHSmSXW/DCnS5PBSjRW6VWWp8efc1Fanob0QJxiZiYlc4U7oxuG6Q==}
+ '@cspell/dict-golang@6.0.18':
+ resolution: {integrity: sha512-Mt+7NwfodDwUk7423DdaQa0YaA+4UoV3XSxQwZioqjpFBCuxfvvv4l80MxCTAAbK6duGj0uHbGTwpv8fyKYPKg==}
+
'@cspell/dict-google@1.0.1':
resolution: {integrity: sha512-dQr4M3n95uOhtloNSgB9tYYGXGGEGEykkFyRtfcp5pFuEecYUa0BSgtlGKx9RXVtJtKgR+yFT/a5uQSlt8WjqQ==}
+ '@cspell/dict-google@1.0.8':
+ resolution: {integrity: sha512-BnMHgcEeaLyloPmBs8phCqprI+4r2Jb8rni011A8hE+7FNk7FmLE3kiwxLFrcZnnb7eqM0agW4zUaNoB0P+z8A==}
+
'@cspell/dict-haskell@4.0.1':
resolution: {integrity: sha512-uRrl65mGrOmwT7NxspB4xKXFUenNC7IikmpRZW8Uzqbqcu7ZRCUfstuVH7T1rmjRgRkjcIjE4PC11luDou4wEQ==}
+ '@cspell/dict-haskell@4.0.5':
+ resolution: {integrity: sha512-s4BG/4tlj2pPM9Ha7IZYMhUujXDnI0Eq1+38UTTCpatYLbQqDwRFf2KNPLRqkroU+a44yTUAe0rkkKbwy4yRtQ==}
+
'@cspell/dict-html-symbol-entities@4.0.0':
resolution: {integrity: sha512-HGRu+48ErJjoweR5IbcixxETRewrBb0uxQBd6xFGcxbEYCX8CnQFTAmKI5xNaIt2PKaZiJH3ijodGSqbKdsxhw==}
+ '@cspell/dict-html-symbol-entities@4.0.3':
+ resolution: {integrity: sha512-aABXX7dMLNFdSE8aY844X4+hvfK7977sOWgZXo4MTGAmOzR8524fjbJPswIBK7GaD3+SgFZ2yP2o0CFvXDGF+A==}
+
+ '@cspell/dict-html@4.0.11':
+ resolution: {integrity: sha512-QR3b/PB972SRQ2xICR1Nw/M44IJ6rjypwzA4jn+GH8ydjAX9acFNfc+hLZVyNe0FqsE90Gw3evLCOIF0vy1vQw==}
+
'@cspell/dict-html@4.0.6':
resolution: {integrity: sha512-cLWHfuOhE4wqwC12up6Doxo2u1xxVhX1A8zriR4CUD+osFQzUIcBK1ykNXppga+rt1WyypaJdTU2eV6OpzYrgQ==}
+ '@cspell/dict-java@5.0.11':
+ resolution: {integrity: sha512-T4t/1JqeH33Raa/QK/eQe26FE17eUCtWu+JsYcTLkQTci2dk1DfcIKo8YVHvZXBnuM43ATns9Xs0s+AlqDeH7w==}
+
'@cspell/dict-java@5.0.7':
resolution: {integrity: sha512-ejQ9iJXYIq7R09BScU2y5OUGrSqwcD+J5mHFOKbduuQ5s/Eh/duz45KOzykeMLI6KHPVxhBKpUPBWIsfewECpQ==}
'@cspell/dict-julia@1.0.1':
resolution: {integrity: sha512-4JsCLCRhhLMLiaHpmR7zHFjj1qOauzDI5ZzCNQS31TUMfsOo26jAKDfo0jljFAKgw5M2fEG7sKr8IlPpQAYrmQ==}
+ '@cspell/dict-julia@1.1.0':
+ resolution: {integrity: sha512-CPUiesiXwy3HRoBR3joUseTZ9giFPCydSKu2rkh6I2nVjXnl5vFHzOMLXpbF4HQ1tH2CNfnDbUndxD+I+7eL9w==}
+
+ '@cspell/dict-k8s@1.0.10':
+ resolution: {integrity: sha512-313haTrX9prep1yWO7N6Xw4D6tvUJ0Xsx+YhCP+5YrrcIKoEw5Rtlg8R4PPzLqe6zibw6aJ+Eqq+y76Vx5BZkw==}
+
'@cspell/dict-k8s@1.0.6':
resolution: {integrity: sha512-srhVDtwrd799uxMpsPOQqeDJY+gEocgZpoK06EFrb4GRYGhv7lXo9Fb+xQMyQytzOW9dw4DNOEck++nacDuymg==}
+ '@cspell/dict-kotlin@1.1.0':
+ resolution: {integrity: sha512-vySaVw6atY7LdwvstQowSbdxjXG6jDhjkWVWSjg1XsUckyzH1JRHXe9VahZz1i7dpoFEUOWQrhIe5B9482UyJQ==}
+
'@cspell/dict-latex@4.0.0':
resolution: {integrity: sha512-LPY4y6D5oI7D3d+5JMJHK/wxYTQa2lJMSNxps2JtuF8hbAnBQb3igoWEjEbIbRRH1XBM0X8dQqemnjQNCiAtxQ==}
+ '@cspell/dict-latex@4.0.3':
+ resolution: {integrity: sha512-2KXBt9fSpymYHxHfvhUpjUFyzrmN4c4P8mwIzweLyvqntBT3k0YGZJSriOdjfUjwSygrfEwiuPI1EMrvgrOMJw==}
+
'@cspell/dict-lorem-ipsum@4.0.0':
resolution: {integrity: sha512-1l3yjfNvMzZPibW8A7mQU4kTozwVZVw0AvFEdy+NcqtbxH+TvbSkNMqROOFWrkD2PjnKG0+Ea0tHI2Pi6Gchnw==}
+ '@cspell/dict-lorem-ipsum@4.0.4':
+ resolution: {integrity: sha512-+4f7vtY4dp2b9N5fn0za/UR0kwFq2zDtA62JCbWHbpjvO9wukkbl4rZg4YudHbBgkl73HRnXFgCiwNhdIA1JPw==}
+
'@cspell/dict-lua@4.0.3':
resolution: {integrity: sha512-lDHKjsrrbqPaea13+G9s0rtXjMO06gPXPYRjRYawbNmo4E/e3XFfVzeci3OQDQNDmf2cPOwt9Ef5lu2lDmwfJg==}
+ '@cspell/dict-lua@4.0.7':
+ resolution: {integrity: sha512-Wbr7YSQw+cLHhTYTKV6cAljgMgcY+EUAxVIZW3ljKswEe4OLxnVJ7lPqZF5JKjlXdgCjbPSimsHqyAbC5pQN/Q==}
+
'@cspell/dict-makefile@1.0.0':
resolution: {integrity: sha512-3W9tHPcSbJa6s0bcqWo6VisEDTSN5zOtDbnPabF7rbyjRpNo0uHXHRJQF8gAbFzoTzBBhgkTmrfSiuyQm7vBUQ==}
+ '@cspell/dict-makefile@1.0.4':
+ resolution: {integrity: sha512-E4hG/c0ekPqUBvlkrVvzSoAA+SsDA9bLi4xSV3AXHTVru7Y2bVVGMPtpfF+fI3zTkww/jwinprcU1LSohI3ylw==}
+
+ '@cspell/dict-markdown@2.0.9':
+ resolution: {integrity: sha512-j2e6Eg18BlTb1mMP1DkyRFMM/FLS7qiZjltpURzDckB57zDZbUyskOFdl4VX7jItZZEeY0fe22bSPOycgS1Z5A==}
+ peerDependencies:
+ '@cspell/dict-css': ^4.0.17
+ '@cspell/dict-html': ^4.0.11
+ '@cspell/dict-html-symbol-entities': ^4.0.3
+ '@cspell/dict-typescript': ^3.2.0
+
+ '@cspell/dict-monkeyc@1.0.10':
+ resolution: {integrity: sha512-7RTGyKsTIIVqzbvOtAu6Z/lwwxjGRtY5RkKPlXKHEoEAgIXwfDxb5EkVwzGQwQr8hF/D3HrdYbRT8MFBfsueZw==}
+
'@cspell/dict-monkeyc@1.0.6':
resolution: {integrity: sha512-oO8ZDu/FtZ55aq9Mb67HtaCnsLn59xvhO/t2mLLTHAp667hJFxpp7bCtr2zOrR1NELzFXmKln/2lw/PvxMSvrA==}
'@cspell/dict-node@5.0.1':
resolution: {integrity: sha512-lax/jGz9h3Dv83v8LHa5G0bf6wm8YVRMzbjJPG/9rp7cAGPtdrga+XANFq+B7bY5+jiSA3zvj10LUFCFjnnCCg==}
+ '@cspell/dict-node@5.0.6':
+ resolution: {integrity: sha512-CEbhPCpxGvRNByGolSBTrXXW2rJA4bGqZuTx1KKO85mwR6aadeOmUE7xf/8jiCkXSy+qvr9aJeh+jlfXcsrziQ==}
+
+ '@cspell/dict-npm@5.1.26':
+ resolution: {integrity: sha512-JU0/9P4nLPPC3Py+sF42tUKm9J4KAvwXaJubp2a4QwhCPzFVlOJTP2tTseFlLbdZn23d61pt0hZ+Jhyy7N76Mg==}
+
'@cspell/dict-npm@5.1.5':
resolution: {integrity: sha512-oAOGWuJYU3DlO+cAsStKMWN8YEkBue25cRC9EwdiL5Z84nchU20UIoYrLfIQejMlZca+1GyrNeyxRAgn4KiivA==}
'@cspell/dict-php@4.0.10':
resolution: {integrity: sha512-NfTZdp6kcZDF1PvgQ6cY0zE4FUO5rSwNmBH/iwCBuaLfJAFQ97rgjxo+D2bic4CFwNjyHutnHPtjJBRANO5XQw==}
+ '@cspell/dict-php@4.0.14':
+ resolution: {integrity: sha512-7zur8pyncYZglxNmqsRycOZ6inpDoVd4yFfz1pQRe5xaRWMiK3Km4n0/X/1YMWhh3e3Sl/fQg5Axb2hlN68t1g==}
+
'@cspell/dict-powershell@5.0.10':
resolution: {integrity: sha512-U4H0zm94sNK+YP7jSFb7xb160XLf2dKIPVt5sOYctKlEyR9M16sP8FHbyWV2Yp1YtxXugoNdeCm2vwGEDAd8sg==}
+ '@cspell/dict-powershell@5.0.14':
+ resolution: {integrity: sha512-ktjjvtkIUIYmj/SoGBYbr3/+CsRGNXGpvVANrY0wlm/IoGlGywhoTUDYN0IsGwI2b8Vktx3DZmQkfb3Wo38jBA==}
+
+ '@cspell/dict-public-licenses@2.0.13':
+ resolution: {integrity: sha512-1Wdp/XH1ieim7CadXYE7YLnUlW0pULEjVl9WEeziZw3EKCAw8ZI8Ih44m4bEa5VNBLnuP5TfqC4iDautAleQzQ==}
+
'@cspell/dict-public-licenses@2.0.8':
resolution: {integrity: sha512-Sup+tFS7cDV0fgpoKtUqEZ6+fA/H+XUgBiqQ/Fbs6vUE3WCjJHOIVsP+udHuyMH7iBfJ4UFYOYeORcY4EaKdMg==}
+ '@cspell/dict-python@4.2.15':
+ resolution: {integrity: sha512-VNXhj0Eh+hdHN89MgyaoSAexBQKmYtJaMhucbMI7XmBs4pf8fuFFN3xugk51/A4TZJr8+RImdFFsGMOw+I4bDA==}
+
'@cspell/dict-python@4.2.8':
resolution: {integrity: sha512-4y5dynLiajvowhB3PqlcwJ2C4okK1y2Hombec1+TGcV9sUBfo8FYNw6VRFUUrpsxO+Ut/3ncIifdZS5/zAWi5w==}
'@cspell/dict-r@2.0.1':
resolution: {integrity: sha512-KCmKaeYMLm2Ip79mlYPc8p+B2uzwBp4KMkzeLd5E6jUlCL93Y5Nvq68wV5fRLDRTf7N1LvofkVFWfDcednFOgA==}
+ '@cspell/dict-r@2.1.0':
+ resolution: {integrity: sha512-k2512wgGG0lTpTYH9w5Wwco+lAMf3Vz7mhqV8+OnalIE7muA0RSuD9tWBjiqLcX8zPvEJr4LdgxVju8Gk3OKyA==}
+
'@cspell/dict-ruby@5.0.4':
resolution: {integrity: sha512-URw0jScj5pv8sKCVLNnde11qVCQR442rUpSd12u46Swl+5qBaSdnOUoCWQk419kd9/dpC6bB/3l4kOSY2fdYHw==}
+ '@cspell/dict-ruby@5.0.7':
+ resolution: {integrity: sha512-4/d0hcoPzi5Alk0FmcyqlzFW9lQnZh9j07MJzPcyVO62nYJJAGKaPZL2o4qHeCS/od/ctJC5AHRdoUm0ktsw6Q==}
+
+ '@cspell/dict-rust@4.0.11':
+ resolution: {integrity: sha512-OGWDEEzm8HlkSmtD8fV3pEcO2XBpzG2XYjgMCJCRwb2gRKvR+XIm6Dlhs04N/K2kU+iH8bvrqNpM8fS/BFl0uw==}
+
'@cspell/dict-rust@4.0.6':
resolution: {integrity: sha512-Buzy9PfLbdRPibSth8CV1D8ZsYqybo26yNIlAN+8ehU0pSBss0Jv4aleL4vKQ3FjouXeAC27rtEsLd7yaMZTog==}
'@cspell/dict-scala@5.0.3':
resolution: {integrity: sha512-4yGb4AInT99rqprxVNT9TYb1YSpq58Owzq7zi3ZS5T0u899Y4VsxsBiOgHnQ/4W+ygi+sp+oqef8w8nABR2lkg==}
+ '@cspell/dict-scala@5.0.7':
+ resolution: {integrity: sha512-yatpSDW/GwulzO3t7hB5peoWwzo+Y3qTc0pO24Jf6f88jsEeKmDeKkfgPbYuCgbE4jisGR4vs4+jfQZDIYmXPA==}
+
+ '@cspell/dict-shell@1.1.0':
+ resolution: {integrity: sha512-D/xHXX7T37BJxNRf5JJHsvziFDvh23IF/KvkZXNSh8VqcRdod3BAz9VGHZf6VDqcZXr1VRqIYR3mQ8DSvs3AVQ==}
+
'@cspell/dict-software-terms@4.1.7':
resolution: {integrity: sha512-+fFTALseXszDN8/khonF1DpTcYzwyNqYxhATLakr7CUPtUCO1fCH4lidMtBN4UtPVpE6tbjc5D8tj51PJxEOcw==}
+ '@cspell/dict-software-terms@4.2.5':
+ resolution: {integrity: sha512-CaRzkWti3AgcXoxuRcMijaNG7YUk/MH1rHjB8VX34v3UdCxXXeqvRyElRKnxhFeVLB/robb2UdShqh/CpskxRg==}
+
'@cspell/dict-sql@2.1.5':
resolution: {integrity: sha512-FmxanytHXss7GAWAXmgaxl3icTCW7YxlimyOSPNfm+njqeUDjw3kEv4mFNDDObBJv8Ec5AWCbUDkWIpkE3IpKg==}
+ '@cspell/dict-sql@2.2.0':
+ resolution: {integrity: sha512-MUop+d1AHSzXpBvQgQkCiok8Ejzb+nrzyG16E8TvKL2MQeDwnIvMe3bv90eukP6E1HWb+V/MA/4pnq0pcJWKqQ==}
+
'@cspell/dict-svelte@1.0.2':
resolution: {integrity: sha512-rPJmnn/GsDs0btNvrRBciOhngKV98yZ9SHmg8qI6HLS8hZKvcXc0LMsf9LLuMK1TmS2+WQFAan6qeqg6bBxL2Q==}
+ '@cspell/dict-svelte@1.0.6':
+ resolution: {integrity: sha512-8LAJHSBdwHCoKCSy72PXXzz7ulGROD0rP1CQ0StOqXOOlTUeSFaJJlxNYjlONgd2c62XBQiN2wgLhtPN+1Zv7Q==}
+
'@cspell/dict-swift@2.0.1':
resolution: {integrity: sha512-gxrCMUOndOk7xZFmXNtkCEeroZRnS2VbeaIPiymGRHj5H+qfTAzAKxtv7jJbVA3YYvEzWcVE2oKDP4wcbhIERw==}
+ '@cspell/dict-swift@2.0.5':
+ resolution: {integrity: sha512-3lGzDCwUmnrfckv3Q4eVSW3sK3cHqqHlPprFJZD4nAqt23ot7fic5ALR7J4joHpvDz36nHX34TgcbZNNZOC/JA==}
+
'@cspell/dict-terraform@1.0.2':
resolution: {integrity: sha512-UZdJwWIpib2Rx02w6vtXTU3z+M/VMZU0F1dhSL3Ab9otQsFntT8U1CX7wBSqQCLg8bJiCfnUyVvMK3UBm3SR8A==}
+ '@cspell/dict-terraform@1.1.0':
+ resolution: {integrity: sha512-G55pcUUxeXAhejstmD35B47SkFd4uqCQimc+CMgq8Nx0dr03guL2iMsz8faRWQGkCnGimX8S91rbOhDv9p/heg==}
+
'@cspell/dict-typescript@3.1.6':
resolution: {integrity: sha512-1beC6O4P/j23VuxX+i0+F7XqPVc3hhiAzGJHEKqnWf5cWAXQtg0xz3xQJ5MvYx2a7iLaSa+lu7+05vG9UHyu9Q==}
+ '@cspell/dict-typescript@3.2.0':
+ resolution: {integrity: sha512-Pk3zNePLT8qg51l0M4g1ISowYAEGxTuNfZlgkU5SvHa9Cu7x/BWoyYq9Fvc3kAyoisCjRPyvWF4uRYrPitPDFw==}
+
'@cspell/dict-vue@3.0.0':
resolution: {integrity: sha512-niiEMPWPV9IeRBRzZ0TBZmNnkK3olkOPYxC1Ny2AX4TGlYRajcW0WUtoSHmvvjZNfWLSg2L6ruiBeuPSbjnG6A==}
+ '@cspell/dict-vue@3.0.4':
+ resolution: {integrity: sha512-0dPtI0lwHcAgSiQFx8CzvqjdoXROcH+1LyqgROCpBgppommWpVhbQ0eubnKotFEXgpUCONVkeZJ6Ql8NbTEu+w==}
+
'@cspell/dynamic-import@8.14.4':
resolution: {integrity: sha512-GjKsBJvPXp4dYRqsMn7n1zpnKbnpfJnlKLOVeoFBh8fi4n06G50xYr+G25CWX1WT3WFaALAavvVICEUPrVsuqg==}
engines: {node: '>=18.0'}
- '@cspell/eslint-plugin@8.14.4':
- resolution: {integrity: sha512-Wv6Jkttp/rsEm1nadLFQrUrYg9nTWQFwJu47KO2cfWP39TeH0zXQpmyas1xNlcDx5QJ9JJw9urTT/iw2tsHeRA==}
+ '@cspell/dynamic-import@8.17.4':
+ resolution: {integrity: sha512-rUwFOVPnfEGzhzCRnE4esTTMgWtTORXfa5FJJR8653KwcvD6HJQfPTYepBG6n6Bmu3TssMa4ktq+ZJk4o1BF9A==}
+ engines: {node: '>=18.0'}
+
+ '@cspell/eslint-plugin@8.17.4':
+ resolution: {integrity: sha512-PtIo7L3fiyUTzMb76rbImGxdL6D4VPSLBN9yJ33lCwLne+CA4xMw17GOyF0eYU0g7fIDaxJc/MjPtYdw2Sqn6w==}
engines: {node: '>=18'}
peerDependencies:
eslint: ^7 || ^8 || ^9
@@ -1823,14 +2013,26 @@ packages:
resolution: {integrity: sha512-qd68dD7xTA4Mnf/wjIKYz2SkiTBshIM+yszOUtLa06YJm0aocoNQ25FHXyYEQYm9NQXCYnRWWA02sFMGs8Sv/w==}
engines: {node: '>=18'}
+ '@cspell/filetypes@8.17.4':
+ resolution: {integrity: sha512-zzYm0hr+lvctsy/65hjI0vsQJj2CAwSOTnVk+5ubJCkCaWH/rayI/SaVZA0Xynf08B/x0r/36nPH0lO2iMJ4aw==}
+ engines: {node: '>=18'}
+
'@cspell/strong-weak-map@8.14.4':
resolution: {integrity: sha512-Uyfck64TfVU24wAP3BLGQ5EsAfzIZiLfN90NhttpEM7GlOBmbGrEJd4hNOwfpYsE/TT80eGWQVPRTLr5SDbXFA==}
engines: {node: '>=18'}
+ '@cspell/strong-weak-map@8.17.4':
+ resolution: {integrity: sha512-Io4ffbMI9hQz+9CLe/oU1Om0H3SqAlvFTaS7ZQOg7joyJSXuGBsCcCg03uTRKWD+NoaxPNUlZOkucUBGil6djw==}
+ engines: {node: '>=18'}
+
'@cspell/url@8.14.4':
resolution: {integrity: sha512-htHhNF8WrM/NfaLSWuTYw0NqVgFRVHYSyHlRT3i/Yv5xvErld8Gw7C6ldm+0TLjoGlUe6X1VV72JSir7+yLp/Q==}
engines: {node: '>=18.0'}
+ '@cspell/url@8.17.4':
+ resolution: {integrity: sha512-vWLySh0ARsI0+TdvA8W6btdeeQbSjBhDE8kwGlzIrOCLIfkeO9Bu++mkc1To1/uogkS2T5icmA24D0rL8ZqjNw==}
+ engines: {node: '>=18.0'}
+
'@cypress/code-coverage@3.13.4':
resolution: {integrity: sha512-4Bne95y/Vkye9tfctyiKjYHirA/0LZq7Z5MiCrrT2mlyWfaOSnPeUHG84BdxuycgVOLzMFxqvc+uNQO5lupvTg==}
peerDependencies:
@@ -1889,8 +2091,8 @@ packages:
'@emnapi/runtime@1.3.0':
resolution: {integrity: sha512-XMBySMuNZs3DM96xcJmLW4EfGnf+uGmFNjzpehMjuX5PLB5j87ar2Zc4e3PVeZ3I5g3tYtAqskB28manlF69Zw==}
- '@es-joy/jsdoccomment@0.48.0':
- resolution: {integrity: sha512-G6QUWIcC+KvSwXNsJyDTHvqUdNoAVJPPgkc3+Uk4WBKqZvoXhlvazOgm9aL0HwihJLQf0l+tOE2UFzXBqCqgDw==}
+ '@es-joy/jsdoccomment@0.49.0':
+ resolution: {integrity: sha512-xjZTSFgECpb9Ohuk5yMX5RhUEbfeQcuOp8IF60e+wyzWEF0M5xeSgqsfLtvPEX8BIyOX9saZqzuGPmZ8oWc+5Q==}
engines: {node: '>=16'}
'@esbuild/aix-ppc64@0.21.5':
@@ -1905,6 +2107,12 @@ packages:
cpu: [ppc64]
os: [aix]
+ '@esbuild/aix-ppc64@0.25.0':
+ resolution: {integrity: sha512-O7vun9Sf8DFjH2UtqK8Ku3LkquL9SZL8OLY1T5NZkA34+wG3OQF7cl4Ql8vdNzM6fzBbYfLaiRLIOZ+2FOCgBQ==}
+ engines: {node: '>=18'}
+ cpu: [ppc64]
+ os: [aix]
+
'@esbuild/android-arm64@0.21.5':
resolution: {integrity: sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==}
engines: {node: '>=12'}
@@ -1917,6 +2125,12 @@ packages:
cpu: [arm64]
os: [android]
+ '@esbuild/android-arm64@0.25.0':
+ resolution: {integrity: sha512-grvv8WncGjDSyUBjN9yHXNt+cq0snxXbDxy5pJtzMKGmmpPxeAmAhWxXI+01lU5rwZomDgD3kJwulEnhTRUd6g==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [android]
+
'@esbuild/android-arm@0.21.5':
resolution: {integrity: sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==}
engines: {node: '>=12'}
@@ -1929,6 +2143,12 @@ packages:
cpu: [arm]
os: [android]
+ '@esbuild/android-arm@0.25.0':
+ resolution: {integrity: sha512-PTyWCYYiU0+1eJKmw21lWtC+d08JDZPQ5g+kFyxP0V+es6VPPSUhM6zk8iImp2jbV6GwjX4pap0JFbUQN65X1g==}
+ engines: {node: '>=18'}
+ cpu: [arm]
+ os: [android]
+
'@esbuild/android-x64@0.21.5':
resolution: {integrity: sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==}
engines: {node: '>=12'}
@@ -1941,6 +2161,12 @@ packages:
cpu: [x64]
os: [android]
+ '@esbuild/android-x64@0.25.0':
+ resolution: {integrity: sha512-m/ix7SfKG5buCnxasr52+LI78SQ+wgdENi9CqyCXwjVR2X4Jkz+BpC3le3AoBPYTC9NHklwngVXvbJ9/Akhrfg==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [android]
+
'@esbuild/darwin-arm64@0.21.5':
resolution: {integrity: sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==}
engines: {node: '>=12'}
@@ -1953,6 +2179,12 @@ packages:
cpu: [arm64]
os: [darwin]
+ '@esbuild/darwin-arm64@0.25.0':
+ resolution: {integrity: sha512-mVwdUb5SRkPayVadIOI78K7aAnPamoeFR2bT5nszFUZ9P8UpK4ratOdYbZZXYSqPKMHfS1wdHCJk1P1EZpRdvw==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [darwin]
+
'@esbuild/darwin-x64@0.21.5':
resolution: {integrity: sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==}
engines: {node: '>=12'}
@@ -1965,6 +2197,12 @@ packages:
cpu: [x64]
os: [darwin]
+ '@esbuild/darwin-x64@0.25.0':
+ resolution: {integrity: sha512-DgDaYsPWFTS4S3nWpFcMn/33ZZwAAeAFKNHNa1QN0rI4pUjgqf0f7ONmXf6d22tqTY+H9FNdgeaAa+YIFUn2Rg==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [darwin]
+
'@esbuild/freebsd-arm64@0.21.5':
resolution: {integrity: sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==}
engines: {node: '>=12'}
@@ -1977,6 +2215,12 @@ packages:
cpu: [arm64]
os: [freebsd]
+ '@esbuild/freebsd-arm64@0.25.0':
+ resolution: {integrity: sha512-VN4ocxy6dxefN1MepBx/iD1dH5K8qNtNe227I0mnTRjry8tj5MRk4zprLEdG8WPyAPb93/e4pSgi1SoHdgOa4w==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [freebsd]
+
'@esbuild/freebsd-x64@0.21.5':
resolution: {integrity: sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==}
engines: {node: '>=12'}
@@ -1989,6 +2233,12 @@ packages:
cpu: [x64]
os: [freebsd]
+ '@esbuild/freebsd-x64@0.25.0':
+ resolution: {integrity: sha512-mrSgt7lCh07FY+hDD1TxiTyIHyttn6vnjesnPoVDNmDfOmggTLXRv8Id5fNZey1gl/V2dyVK1VXXqVsQIiAk+A==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [freebsd]
+
'@esbuild/linux-arm64@0.21.5':
resolution: {integrity: sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==}
engines: {node: '>=12'}
@@ -2001,6 +2251,12 @@ packages:
cpu: [arm64]
os: [linux]
+ '@esbuild/linux-arm64@0.25.0':
+ resolution: {integrity: sha512-9QAQjTWNDM/Vk2bgBl17yWuZxZNQIF0OUUuPZRKoDtqF2k4EtYbpyiG5/Dk7nqeK6kIJWPYldkOcBqjXjrUlmg==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [linux]
+
'@esbuild/linux-arm@0.21.5':
resolution: {integrity: sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==}
engines: {node: '>=12'}
@@ -2013,6 +2269,12 @@ packages:
cpu: [arm]
os: [linux]
+ '@esbuild/linux-arm@0.25.0':
+ resolution: {integrity: sha512-vkB3IYj2IDo3g9xX7HqhPYxVkNQe8qTK55fraQyTzTX/fxaDtXiEnavv9geOsonh2Fd2RMB+i5cbhu2zMNWJwg==}
+ engines: {node: '>=18'}
+ cpu: [arm]
+ os: [linux]
+
'@esbuild/linux-ia32@0.21.5':
resolution: {integrity: sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==}
engines: {node: '>=12'}
@@ -2025,6 +2287,12 @@ packages:
cpu: [ia32]
os: [linux]
+ '@esbuild/linux-ia32@0.25.0':
+ resolution: {integrity: sha512-43ET5bHbphBegyeqLb7I1eYn2P/JYGNmzzdidq/w0T8E2SsYL1U6un2NFROFRg1JZLTzdCoRomg8Rvf9M6W6Gg==}
+ engines: {node: '>=18'}
+ cpu: [ia32]
+ os: [linux]
+
'@esbuild/linux-loong64@0.21.5':
resolution: {integrity: sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==}
engines: {node: '>=12'}
@@ -2037,6 +2305,12 @@ packages:
cpu: [loong64]
os: [linux]
+ '@esbuild/linux-loong64@0.25.0':
+ resolution: {integrity: sha512-fC95c/xyNFueMhClxJmeRIj2yrSMdDfmqJnyOY4ZqsALkDrrKJfIg5NTMSzVBr5YW1jf+l7/cndBfP3MSDpoHw==}
+ engines: {node: '>=18'}
+ cpu: [loong64]
+ os: [linux]
+
'@esbuild/linux-mips64el@0.21.5':
resolution: {integrity: sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==}
engines: {node: '>=12'}
@@ -2049,6 +2323,12 @@ packages:
cpu: [mips64el]
os: [linux]
+ '@esbuild/linux-mips64el@0.25.0':
+ resolution: {integrity: sha512-nkAMFju7KDW73T1DdH7glcyIptm95a7Le8irTQNO/qtkoyypZAnjchQgooFUDQhNAy4iu08N79W4T4pMBwhPwQ==}
+ engines: {node: '>=18'}
+ cpu: [mips64el]
+ os: [linux]
+
'@esbuild/linux-ppc64@0.21.5':
resolution: {integrity: sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==}
engines: {node: '>=12'}
@@ -2061,6 +2341,12 @@ packages:
cpu: [ppc64]
os: [linux]
+ '@esbuild/linux-ppc64@0.25.0':
+ resolution: {integrity: sha512-NhyOejdhRGS8Iwv+KKR2zTq2PpysF9XqY+Zk77vQHqNbo/PwZCzB5/h7VGuREZm1fixhs4Q/qWRSi5zmAiO4Fw==}
+ engines: {node: '>=18'}
+ cpu: [ppc64]
+ os: [linux]
+
'@esbuild/linux-riscv64@0.21.5':
resolution: {integrity: sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==}
engines: {node: '>=12'}
@@ -2073,6 +2359,12 @@ packages:
cpu: [riscv64]
os: [linux]
+ '@esbuild/linux-riscv64@0.25.0':
+ resolution: {integrity: sha512-5S/rbP5OY+GHLC5qXp1y/Mx//e92L1YDqkiBbO9TQOvuFXM+iDqUNG5XopAnXoRH3FjIUDkeGcY1cgNvnXp/kA==}
+ engines: {node: '>=18'}
+ cpu: [riscv64]
+ os: [linux]
+
'@esbuild/linux-s390x@0.21.5':
resolution: {integrity: sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==}
engines: {node: '>=12'}
@@ -2085,6 +2377,12 @@ packages:
cpu: [s390x]
os: [linux]
+ '@esbuild/linux-s390x@0.25.0':
+ resolution: {integrity: sha512-XM2BFsEBz0Fw37V0zU4CXfcfuACMrppsMFKdYY2WuTS3yi8O1nFOhil/xhKTmE1nPmVyvQJjJivgDT+xh8pXJA==}
+ engines: {node: '>=18'}
+ cpu: [s390x]
+ os: [linux]
+
'@esbuild/linux-x64@0.21.5':
resolution: {integrity: sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==}
engines: {node: '>=12'}
@@ -2097,6 +2395,18 @@ packages:
cpu: [x64]
os: [linux]
+ '@esbuild/linux-x64@0.25.0':
+ resolution: {integrity: sha512-9yl91rHw/cpwMCNytUDxwj2XjFpxML0y9HAOH9pNVQDpQrBxHy01Dx+vaMu0N1CKa/RzBD2hB4u//nfc+Sd3Cw==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [linux]
+
+ '@esbuild/netbsd-arm64@0.25.0':
+ resolution: {integrity: sha512-RuG4PSMPFfrkH6UwCAqBzauBWTygTvb1nxWasEJooGSJ/NwRw7b2HOwyRTQIU97Hq37l3npXoZGYMy3b3xYvPw==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [netbsd]
+
'@esbuild/netbsd-x64@0.21.5':
resolution: {integrity: sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==}
engines: {node: '>=12'}
@@ -2109,12 +2419,24 @@ packages:
cpu: [x64]
os: [netbsd]
+ '@esbuild/netbsd-x64@0.25.0':
+ resolution: {integrity: sha512-jl+qisSB5jk01N5f7sPCsBENCOlPiS/xptD5yxOx2oqQfyourJwIKLRA2yqWdifj3owQZCL2sn6o08dBzZGQzA==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [netbsd]
+
'@esbuild/openbsd-arm64@0.23.1':
resolution: {integrity: sha512-3x37szhLexNA4bXhLrCC/LImN/YtWis6WXr1VESlfVtVeoFJBRINPJ3f0a/6LV8zpikqoUg4hyXw0sFBt5Cr+Q==}
engines: {node: '>=18'}
cpu: [arm64]
os: [openbsd]
+ '@esbuild/openbsd-arm64@0.25.0':
+ resolution: {integrity: sha512-21sUNbq2r84YE+SJDfaQRvdgznTD8Xc0oc3p3iW/a1EVWeNj/SdUCbm5U0itZPQYRuRTW20fPMWMpcrciH2EJw==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [openbsd]
+
'@esbuild/openbsd-x64@0.21.5':
resolution: {integrity: sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==}
engines: {node: '>=12'}
@@ -2127,6 +2449,12 @@ packages:
cpu: [x64]
os: [openbsd]
+ '@esbuild/openbsd-x64@0.25.0':
+ resolution: {integrity: sha512-2gwwriSMPcCFRlPlKx3zLQhfN/2WjJ2NSlg5TKLQOJdV0mSxIcYNTMhk3H3ulL/cak+Xj0lY1Ym9ysDV1igceg==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [openbsd]
+
'@esbuild/sunos-x64@0.21.5':
resolution: {integrity: sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==}
engines: {node: '>=12'}
@@ -2139,6 +2467,12 @@ packages:
cpu: [x64]
os: [sunos]
+ '@esbuild/sunos-x64@0.25.0':
+ resolution: {integrity: sha512-bxI7ThgLzPrPz484/S9jLlvUAHYMzy6I0XiU1ZMeAEOBcS0VePBFxh1JjTQt3Xiat5b6Oh4x7UC7IwKQKIJRIg==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [sunos]
+
'@esbuild/win32-arm64@0.21.5':
resolution: {integrity: sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==}
engines: {node: '>=12'}
@@ -2151,6 +2485,12 @@ packages:
cpu: [arm64]
os: [win32]
+ '@esbuild/win32-arm64@0.25.0':
+ resolution: {integrity: sha512-ZUAc2YK6JW89xTbXvftxdnYy3m4iHIkDtK3CLce8wg8M2L+YZhIvO1DKpxrd0Yr59AeNNkTiic9YLf6FTtXWMw==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [win32]
+
'@esbuild/win32-ia32@0.21.5':
resolution: {integrity: sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==}
engines: {node: '>=12'}
@@ -2163,6 +2503,12 @@ packages:
cpu: [ia32]
os: [win32]
+ '@esbuild/win32-ia32@0.25.0':
+ resolution: {integrity: sha512-eSNxISBu8XweVEWG31/JzjkIGbGIJN/TrRoiSVZwZ6pkC6VX4Im/WV2cz559/TXLcYbcrDN8JtKgd9DJVIo8GA==}
+ engines: {node: '>=18'}
+ cpu: [ia32]
+ os: [win32]
+
'@esbuild/win32-x64@0.21.5':
resolution: {integrity: sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==}
engines: {node: '>=12'}
@@ -2175,38 +2521,44 @@ packages:
cpu: [x64]
os: [win32]
- '@eslint-community/eslint-utils@4.4.0':
- resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==}
+ '@esbuild/win32-x64@0.25.0':
+ resolution: {integrity: sha512-ZENoHJBxA20C2zFzh6AI4fT6RraMzjYw4xKWemRTRmRVtN9c5DcH9r/f2ihEkMjOW5eGgrwCslG/+Y/3bL+DHQ==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [win32]
+
+ '@eslint-community/eslint-utils@4.4.1':
+ resolution: {integrity: sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies:
eslint: ^6.0.0 || ^7.0.0 || >=8.0.0
- '@eslint-community/regexpp@4.11.1':
- resolution: {integrity: sha512-m4DVN9ZqskZoLU5GlWZadwDnYo3vAEydiUayB9widCl9ffWx2IvPnp6n3on5rJmziJSw9Bv+Z3ChDVdMwXCY8Q==}
+ '@eslint-community/regexpp@4.12.1':
+ resolution: {integrity: sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==}
engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
- '@eslint/config-array@0.18.0':
- resolution: {integrity: sha512-fTxvnS1sRMu3+JjXwJG0j/i4RT9u4qJ+lqS/yCGap4lH4zZGzQ7tu+xZqQmcMZq5OBZDL4QRxQzRjkWcGt8IVw==}
+ '@eslint/config-array@0.19.2':
+ resolution: {integrity: sha512-GNKqxfHG2ySmJOBSHg7LxeUx4xpuCoFjacmlCoYWEbaPXLwvfIjixRI12xCQZeULksQb23uiA8F40w5TojpV7w==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- '@eslint/core@0.6.0':
- resolution: {integrity: sha512-8I2Q8ykA4J0x0o7cg67FPVnehcqWTBehu/lmY+bolPFHGjh49YzGBMXTvpqVgEbBdvNCSxj6iFgiIyHzf03lzg==}
+ '@eslint/core@0.11.0':
+ resolution: {integrity: sha512-DWUB2pksgNEb6Bz2fggIy1wh6fGgZP4Xyy/Mt0QZPiloKKXerbqq9D3SBQTlCRYOrcRPu4vuz+CGjwdfqxnoWA==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- '@eslint/eslintrc@3.1.0':
- resolution: {integrity: sha512-4Bfj15dVJdoy3RfZmmo86RK1Fwzn6SstsvK9JS+BaVKqC6QQQQyXekNaC+g+LKNgkQ+2VhGAzm6hO40AhMR3zQ==}
+ '@eslint/eslintrc@3.2.0':
+ resolution: {integrity: sha512-grOjVNN8P3hjJn/eIETF1wwd12DdnwFDoyceUJLYYdkpbwq3nLi+4fqrTAONx7XDALqlL220wC/RHSC/QTI/0w==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- '@eslint/js@9.12.0':
- resolution: {integrity: sha512-eohesHH8WFRUprDNyEREgqP6beG6htMeUYeCpkEgBCieCMme5r9zFWjzAJp//9S+Kub4rqE+jXe9Cp1a7IYIIA==}
+ '@eslint/js@9.20.0':
+ resolution: {integrity: sha512-iZA07H9io9Wn836aVTytRaNqh00Sad+EamwOVJT12GTLw1VGMFV/4JaME+JjLtr9fiGaoWgYnS54wrfWsSs4oQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- '@eslint/object-schema@2.1.4':
- resolution: {integrity: sha512-BsWiH1yFGjXXS2yvrf5LyuoSIIbPrGUWob917o+BTKuZ7qJdxX8aJLRxs1fS9n6r7vESrq1OUqb68dANcFXuQQ==}
+ '@eslint/object-schema@2.1.6':
+ resolution: {integrity: sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- '@eslint/plugin-kit@0.2.0':
- resolution: {integrity: sha512-vH9PiIMMwvhCx31Af3HiGzsVNULDbyVkHXwlemn/B0TFj/00ho3y55efXrUZTfQipxoHC5u4xq6zblww1zm1Ig==}
+ '@eslint/plugin-kit@0.2.6':
+ resolution: {integrity: sha512-+0TjwR1eAUdZtvv/ir1mGX+v0tUoR3VEPB8Up0LLJC+whRW0GgBBtpbOkg/a/U4Dxa6l5a3l9AJ1aWIQVyoWJA==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
'@fastify/ajv-compiler@3.6.0':
@@ -2281,12 +2633,12 @@ packages:
peerDependencies:
vue: ^3.2.0
- '@humanfs/core@0.19.0':
- resolution: {integrity: sha512-2cbWIHbZVEweE853g8jymffCA+NCMiuqeECeBBLm8dg2oFdjuGJhgN4UAbI+6v0CKbbhvtXA4qV8YR5Ji86nmw==}
+ '@humanfs/core@0.19.1':
+ resolution: {integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==}
engines: {node: '>=18.18.0'}
- '@humanfs/node@0.16.5':
- resolution: {integrity: sha512-KSPA4umqSG4LHYRodq31VDwKAvaTF4xmVlzM8Aeh4PlU1JQ3IG0wiA8C25d3RQ9nJyM3mBHyI53K06VVL/oFFg==}
+ '@humanfs/node@0.16.6':
+ resolution: {integrity: sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==}
engines: {node: '>=18.18.0'}
'@humanwhocodes/module-importer@1.0.1':
@@ -2297,6 +2649,10 @@ packages:
resolution: {integrity: sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==}
engines: {node: '>=18.18'}
+ '@humanwhocodes/retry@0.4.2':
+ resolution: {integrity: sha512-xeO57FpIu4p1Ri3Jq/EXq4ClRm86dVF2z/+kvFnyqVYRavTZmaFaUBbWCOuuTh0o/g7DSsk6kc2vrS4Vl5oPOQ==}
+ engines: {node: '>=18.18'}
+
'@iconify-json/carbon@1.2.1':
resolution: {integrity: sha512-dIMY6OOY9LnwR3kOqAtfz4phGFG+KNfESEwSL6muCprBelSlSPpRXtdqvEEO/qWhkf5AJ9hWrOV3Egi5Z2IuKA==}
@@ -2529,11 +2885,11 @@ packages:
'@mdi/font@7.4.47':
resolution: {integrity: sha512-43MtGpd585SNzHZPcYowu/84Vz2a2g31TvPMTm9uTiCSWzaheQySUcSyUH/46fPnuPQWof2yd0pGBtzee/IQWw==}
- '@microsoft/tsdoc-config@0.17.0':
- resolution: {integrity: sha512-v/EYRXnCAIHxOHW+Plb6OWuUoMotxTN0GLatnpOb1xq0KuTNw/WI3pamJx/UbsoJP5k9MCw1QxvvhPcF9pH3Zg==}
+ '@microsoft/tsdoc-config@0.17.1':
+ resolution: {integrity: sha512-UtjIFe0C6oYgTnad4q1QP4qXwLhe6tIpNTRStJ2RZEPIkqQPREAwE5spzVxsdn9UaEMUqhh0AqSx3X4nWAKXWw==}
- '@microsoft/tsdoc@0.15.0':
- resolution: {integrity: sha512-HZpPoABogPvjeJOdzCOSJsXeL/SMCBgBZMVC3X3d7YYp2gf31MfxhUoYUNwf1ERPJOnQc0wkFn9trqI6ZEdZuA==}
+ '@microsoft/tsdoc@0.15.1':
+ resolution: {integrity: sha512-4aErSrCR/On/e5G2hDP0wjooqDdauzEbIq8hIkIe5pXV0rtWJZvdCEKL0ykZxex+IxIwBp0eGeV48hQN07dXtw==}
'@nodelib/fs.scandir@2.1.5':
resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
@@ -3032,9 +3388,6 @@ packages:
'@types/flexsearch@0.7.6':
resolution: {integrity: sha512-H5IXcRn96/gaDmo+rDl2aJuIJsob8dgOXDqf8K0t8rWZd1AFNaaspmRsElESiU+EWE33qfbFPgI0OC/B1g9FCA==}
- '@types/gensync@1.0.4':
- resolution: {integrity: sha512-C3YYeRQWp2fmq9OryX+FoDy8nXS6scQ7dPptD8LnFDAUNcKWJjXQKDNJD3HVm+kOUsXhTOkpi69vI4EuAr95bA==}
-
'@types/geojson@7946.0.14':
resolution: {integrity: sha512-WCfD5Ht3ZesJUsONdhvm84dmzWOiOzOAqOncN0++w0lBw1o8OuDNJF2McvvCef/yBqb/HYRahp1BYtODFQ8bRg==}
@@ -3219,46 +3572,38 @@ packages:
'@types/yauzl@2.10.3':
resolution: {integrity: sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==}
- '@typescript-eslint/eslint-plugin@8.8.1':
- resolution: {integrity: sha512-xfvdgA8AP/vxHgtgU310+WBnLB4uJQ9XdyP17RebG26rLtDrQJV3ZYrcopX91GrHmMoH8bdSwMRh2a//TiJ1jQ==}
+ '@typescript-eslint/eslint-plugin@8.24.1':
+ resolution: {integrity: sha512-ll1StnKtBigWIGqvYDVuDmXJHVH4zLVot1yQ4fJtLpL7qacwkxJc1T0bptqw+miBQ/QfUbhl1TcQ4accW5KUyA==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
'@typescript-eslint/parser': ^8.0.0 || ^8.0.0-alpha.0
eslint: ^8.57.0 || ^9.0.0
- typescript: '*'
- peerDependenciesMeta:
- typescript:
- optional: true
+ typescript: '>=4.8.4 <5.8.0'
- '@typescript-eslint/parser@8.8.1':
- resolution: {integrity: sha512-hQUVn2Lij2NAxVFEdvIGxT9gP1tq2yM83m+by3whWFsWC+1y8pxxxHUFE1UqDu2VsGi2i6RLcv4QvouM84U+ow==}
+ '@typescript-eslint/parser@8.24.1':
+ resolution: {integrity: sha512-Tqoa05bu+t5s8CTZFaGpCH2ub3QeT9YDkXbPd3uQ4SfsLoh1/vv2GEYAioPoxCWJJNsenXlC88tRjwoHNts1oQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
eslint: ^8.57.0 || ^9.0.0
- typescript: '*'
- peerDependenciesMeta:
- typescript:
- optional: true
+ typescript: '>=4.8.4 <5.8.0'
- '@typescript-eslint/scope-manager@8.8.1':
- resolution: {integrity: sha512-X4JdU+66Mazev/J0gfXlcC/dV6JI37h+93W9BRYXrSn0hrE64IoWgVkO9MSJgEzoWkxONgaQpICWg8vAN74wlA==}
+ '@typescript-eslint/scope-manager@8.24.1':
+ resolution: {integrity: sha512-OdQr6BNBzwRjNEXMQyaGyZzgg7wzjYKfX2ZBV3E04hUCBDv3GQCHiz9RpqdUIiVrMgJGkXm3tcEh4vFSHreS2Q==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- '@typescript-eslint/type-utils@8.8.1':
- resolution: {integrity: sha512-qSVnpcbLP8CALORf0za+vjLYj1Wp8HSoiI8zYU5tHxRVj30702Z1Yw4cLwfNKhTPWp5+P+k1pjmD5Zd1nhxiZA==}
+ '@typescript-eslint/type-utils@8.24.1':
+ resolution: {integrity: sha512-/Do9fmNgCsQ+K4rCz0STI7lYB4phTtEXqqCAs3gZW0pnK7lWNkvWd5iW545GSmApm4AzmQXmSqXPO565B4WVrw==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
- typescript: '*'
- peerDependenciesMeta:
- typescript:
- optional: true
+ eslint: ^8.57.0 || ^9.0.0
+ typescript: '>=4.8.4 <5.8.0'
'@typescript-eslint/types@7.18.0':
resolution: {integrity: sha512-iZqi+Ds1y4EDYUtlOOC+aUmxnE9xS/yCigkjA7XpTKV6nCBd3Hp/PRGGmdwnfkV2ThMyYldP1wRpm/id99spTQ==}
engines: {node: ^18.18.0 || >=20.0.0}
- '@typescript-eslint/types@8.8.1':
- resolution: {integrity: sha512-WCcTP4SDXzMd23N27u66zTKMuEevH4uzU8C9jf0RO4E04yVHgQgW+r+TeVTNnO1KIfrL8ebgVVYYMMO3+jC55Q==}
+ '@typescript-eslint/types@8.24.1':
+ resolution: {integrity: sha512-9kqJ+2DkUXiuhoiYIUvIYjGcwle8pcPpdlfkemGvTObzgmYfJ5d0Qm6jwb4NBXP9W1I5tss0VIAnWFumz3mC5A==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
'@typescript-eslint/typescript-estree@7.18.0':
@@ -3270,27 +3615,25 @@ packages:
typescript:
optional: true
- '@typescript-eslint/typescript-estree@8.8.1':
- resolution: {integrity: sha512-A5d1R9p+X+1js4JogdNilDuuq+EHZdsH9MjTVxXOdVFfTJXunKJR/v+fNNyO4TnoOn5HqobzfRlc70NC6HTcdg==}
+ '@typescript-eslint/typescript-estree@8.24.1':
+ resolution: {integrity: sha512-UPyy4MJ/0RE648DSKQe9g0VDSehPINiejjA6ElqnFaFIhI6ZEiZAkUI0D5MCk0bQcTf/LVqZStvQ6K4lPn/BRg==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
- typescript: '*'
- peerDependenciesMeta:
- typescript:
- optional: true
+ typescript: '>=4.8.4 <5.8.0'
- '@typescript-eslint/utils@8.8.1':
- resolution: {integrity: sha512-/QkNJDbV0bdL7H7d0/y0qBbV2HTtf0TIyjSDTvvmQEzeVx8jEImEbLuOA4EsvE8gIgqMitns0ifb5uQhMj8d9w==}
+ '@typescript-eslint/utils@8.24.1':
+ resolution: {integrity: sha512-OOcg3PMMQx9EXspId5iktsI3eMaXVwlhC8BvNnX6B5w9a4dVgpkQZuU8Hy67TolKcl+iFWq0XX+jbDGN4xWxjQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
eslint: ^8.57.0 || ^9.0.0
+ typescript: '>=4.8.4 <5.8.0'
'@typescript-eslint/visitor-keys@7.18.0':
resolution: {integrity: sha512-cDF0/Gf81QpY3xYyJKDV14Zwdmid5+uuENhjH2EqFaF0ni+yAyq/LzMaIJdhNJXZI7uLzwIlA+V7oWoyn6Curg==}
engines: {node: ^18.18.0 || >=20.0.0}
- '@typescript-eslint/visitor-keys@8.8.1':
- resolution: {integrity: sha512-0/TdC3aeRAsW7MDvYRwEc1Uwm0TIBfzjPFgg60UU2Haj5qsCs9cc3zNgY71edqE3LbWfF/WoZQd3lJoDXFQpag==}
+ '@typescript-eslint/visitor-keys@8.24.1':
+ resolution: {integrity: sha512-EwVHlp5l+2vp8CoqJm9KikPZgi3gbdZAtabKT9KPShGeOcJhsv4Zdo3oc8T8I0uKEmYoU4ItyxbptjF08enaxg==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
'@ungap/structured-clone@1.2.0':
@@ -3932,11 +4275,6 @@ packages:
peerDependencies:
'@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0
- babel-plugin-polyfill-corejs3@0.10.6:
- resolution: {integrity: sha512-b37+KR2i/khY5sKmWNVQAnitvquQbNdWy6lJdsr0kmquCKEEUgMKK4SboVM3HtfnZilfjr4MMQ7vY58FVWDtIA==}
- peerDependencies:
- '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0
-
babel-plugin-polyfill-corejs3@0.11.1:
resolution: {integrity: sha512-yGCqvBT4rwMczo28xkH/noxJ6MZ4nJfkVYdoDaC/utLtWrXxv27HVrzAeSbqR8SxDsp46n0YF47EbHoixy6rXQ==}
peerDependencies:
@@ -4052,9 +4390,9 @@ packages:
resolution: {integrity: sha512-9q/rDEGSb/Qsvv2qvzIzdluL5k7AaJOTrw23z9reQthrbF7is4CtlT0DXyO1oei2DCp4uojjzQ7igaSHp1kAEQ==}
engines: {node: '>=0.2.0'}
- builtin-modules@3.3.0:
- resolution: {integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==}
- engines: {node: '>=6'}
+ builtin-modules@4.0.0:
+ resolution: {integrity: sha512-p1n8zyCkt1BVrKNFymOHjcDSAl7oq/gUvfgULv2EblgpPVQlQr9yHnWjg9IJ2MhfwPqiYqMMrr01OY7yQoK2yA==}
+ engines: {node: '>=18.20'}
bytes@3.0.0:
resolution: {integrity: sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==}
@@ -4122,8 +4460,8 @@ packages:
caniuse-lite@1.0.30001667:
resolution: {integrity: sha512-7LTwJjcRkzKFmtqGsibMeuXmvFDfZq/nzIjnmgCGzKKRVzjD72selLDK1oPF/Oxzmt4fNcPvTDvGqSDG4tCALw==}
- caniuse-lite@1.0.30001699:
- resolution: {integrity: sha512-b+uH5BakXZ9Do9iK+CkDmctUSEqZl+SP056vc5usa0PL+ev5OHw003rZXcnjNDv3L8P5j6rwT6C0BPKSikW08w==}
+ caniuse-lite@1.0.30001700:
+ resolution: {integrity: sha512-2S6XIXwaE7K7erT8dY+kLQcpa5ms63XlRkMkReXjle+kf6c5g38vyMl+Z5y8dSxOFDhcFe+nxnn261PLxBSQsQ==}
caseless@0.12.0:
resolution: {integrity: sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==}
@@ -4214,8 +4552,8 @@ packages:
resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==}
engines: {node: '>=8'}
- ci-info@4.0.0:
- resolution: {integrity: sha512-TdHqgGf9odd8SXNuxtUBVx8Nv+qZOejE6qyqiy5NtbYYQOeFa6zmHkxlPzmaLxWWHsU6nJmB7AETdVPi+2NBUg==}
+ ci-info@4.1.0:
+ resolution: {integrity: sha512-HutrvTNsF48wnxkzERIXOe5/mlcfFcbfCmwcg6CJnizbSue78AbDt+1cgl26zwn61WFxhcPykPfZrbqjGmBb4A==}
engines: {node: '>=8'}
cjs-module-lexer@1.4.1:
@@ -4445,9 +4783,6 @@ packages:
resolution: {integrity: sha512-yCEafptTtb4bk7GLEQoM8KVJpxAfdBJYaXyzQEgQQQgYrZiDp8SJmGKlYza6CYjEDNstAdNdKA3UuoULlEbS6w==}
engines: {node: '>=12.13'}
- core-js-compat@3.38.1:
- resolution: {integrity: sha512-JRH6gfXxGmrzF3tZ57lFx97YARxCXPaMzPo6jELZhv88pBH5VXpQ+y0znKGlFnzuaihqhLbefxSJxWJMPtfDzw==}
-
core-js-compat@3.40.0:
resolution: {integrity: sha512-0XEDpr5y5mijvw8Lbc6E5AkjrHfp7eEoPlu36SWeAbcL8fn1G1ANe8DBlo2XoNN89oVpxWwOjYIPVzR4ZvsKCQ==}
@@ -4513,10 +4848,18 @@ packages:
resolution: {integrity: sha512-cnUeJfniTiebqCaQmIUnbSrPrTH7xzKRQjJDHAEV0WYnOG2MhRXI13OzytdFdhkVBdStmgTzTCJKE7x+kmU2NA==}
engines: {node: '>=18'}
+ cspell-config-lib@8.17.4:
+ resolution: {integrity: sha512-vOi3B5gnngGeI1HMVDosHTBCRROx7XQXpD6rcKFxxehrs3hw1/EGGEKPKWX5R1UKhOiUNVmvicpqTXU+4/tbZA==}
+ engines: {node: '>=18'}
+
cspell-dictionary@8.14.4:
resolution: {integrity: sha512-pZvQHxpAW5fZAnt3ZKKy3s7M+3CX2t8tCS3uJrpEHIynlCawpG0fPF78rVE5o+g0dON36Lguc/BUuSN4IWKLmQ==}
engines: {node: '>=18'}
+ cspell-dictionary@8.17.4:
+ resolution: {integrity: sha512-nzFc/+r6Q0wP5KpvKnjtnI+C2HMaLfrzMaY4VtoCzyqEF8inYQz430e6sSReBDzjshoU9YUxhShXl18aA3eAqA==}
+ engines: {node: '>=18'}
+
cspell-gitignore@8.14.4:
resolution: {integrity: sha512-RwfQEW5hD7CpYwS7m3b0ONG0nTLKP6bL2tvMdl7qtaYkL7ztGdsBTtLD1pmwqUsCbiN5RuaOxhYOYeRcpFRIkQ==}
engines: {node: '>=18'}
@@ -4526,23 +4869,44 @@ packages:
resolution: {integrity: sha512-C/xTS5nujMRMuguibq92qMVP767mtxrur7DcVolCvpzcivm1RB5NtIN0OctQxTyMbnmKeQv1t4epRKQ9A8vWRg==}
engines: {node: '>=18'}
+ cspell-glob@8.17.4:
+ resolution: {integrity: sha512-HbAyg/t6l2Um0kgeTZeTEyXgVkIQX/ir2uLW/W3T9foOkSZ016Os6GRYDRJX7ebfREk8cCZ0uFtOi1Yn56INEQ==}
+ engines: {node: '>=18'}
+
cspell-grammar@8.14.4:
resolution: {integrity: sha512-yaSKAAJDiamsw3FChbw4HXb2RvTQrDsLelh1+T4MavarOIcAxXrqAJ8ysqm++g+S/ooJz2YO8YWIyzJKxcMf8g==}
engines: {node: '>=18'}
hasBin: true
+ cspell-grammar@8.17.4:
+ resolution: {integrity: sha512-RgnpQPVSOdWxq7fLHUkjGJCkMNay4p2cZXRYwhTBJf2kWNsDC39tjRhugFweyxxZPamEbLERgkCaFzE54enuMw==}
+ engines: {node: '>=18'}
+ hasBin: true
+
cspell-io@8.14.4:
resolution: {integrity: sha512-o6OTWRyx/Az+PFhr1B0wMAwqG070hFC9g73Fkxd8+rHX0rfRS69QZH7LgSmZytqbZIMxCTDGdsLl33MFGWCbZQ==}
engines: {node: '>=18'}
+ cspell-io@8.17.4:
+ resolution: {integrity: sha512-lHvkxquov5XfIXSenzXrWcOWPiW79+uySoExb20UXHvPSMz0Bk7ZIqDf6lMwTquXbM4BvGGsKQbQE/D4SLD9jw==}
+ engines: {node: '>=18'}
+
cspell-lib@8.14.4:
resolution: {integrity: sha512-qdkUkKtm+nmgpA4jQbmQTuepDfjHBDWvs3zDuEwVIVFq/h8gnXrRr75gJ3RYdTy+vOOqHPoLLqgxyqkUUrUGXA==}
engines: {node: '>=18'}
+ cspell-lib@8.17.4:
+ resolution: {integrity: sha512-BxQy4MDFSjMQ74SYptWJOLLPsNC8XDtKyey0IfMQaqeFmuxrz727GWcONQ2KROrPPs9dnmccDs6Kn8Tx7Wug4A==}
+ engines: {node: '>=18'}
+
cspell-trie-lib@8.14.4:
resolution: {integrity: sha512-zu8EJ33CH+FA5lwTRGqS//Q6phO0qtgEmODMR1KPlD7WlrfTFMb3bWFsLo/tiv5hjpsn7CM6dYDAAgBOSkoyhQ==}
engines: {node: '>=18'}
+ cspell-trie-lib@8.17.4:
+ resolution: {integrity: sha512-Ou2MGBnZyC+Hti57m4T4D/Tq1P3G570rFPkxgi32f325xsLz1AVEvqrM5oVHDilFH2guUYFaelmL0UcGeP3L6w==}
+ engines: {node: '>=18'}
+
cspell@8.14.4:
resolution: {integrity: sha512-R5Awb3i/RKaVVcZzFt8dkN3M6VnifIEDYBcbzbmYjZ/Eq+ASF+QTmI0E9WPhMEcFM1nd7YOyXnETo560yRdoKw==}
engines: {node: '>=18'}
@@ -5026,8 +5390,8 @@ packages:
resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==}
engines: {node: '>= 4'}
- dompurify@3.2.1:
- resolution: {integrity: sha512-NBHEsc0/kzRYQd+AY6HR6B/IgsqzBABrqJbpCDQII/OK6h7B7LXzweZTDsqSW2LkTRpoxf18YUP+YjGySk6B3w==}
+ dompurify@3.2.4:
+ resolution: {integrity: sha512-ysFSFEDVduQpyhzAob/kkuJjf5zWkZD8/A9ywSp1byueyuCfHamrCBa14/Oc2iiB0e51B+NpxSl5gmzn+Ms/mg==}
domutils@3.1.0:
resolution: {integrity: sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==}
@@ -5067,12 +5431,12 @@ packages:
engines: {node: '>=0.10.0'}
hasBin: true
+ electron-to-chromium@1.5.101:
+ resolution: {integrity: sha512-L0ISiQrP/56Acgu4/i/kfPwWSgrzYZUnQrC0+QPFuhqlLP1Ir7qzPPDVS9BcKIyWTRU8+o6CC8dKw38tSWhYIA==}
+
electron-to-chromium@1.5.33:
resolution: {integrity: sha512-+cYTcFB1QqD4j4LegwLfpCNxifb6dDFUAwk6RsLusCwIaZI6or2f+q8rs5tTB2YC53HhOlIbEaqHMAAC8IOIwA==}
- electron-to-chromium@1.5.98:
- resolution: {integrity: sha512-bI/LbtRBxU2GzK7KK5xxFd2y9Lf9XguHooPYbcXWy6wUoT8NMnffsvRhPmSeUHLSDKAEtKuTaEtK4Ms15zkIEA==}
-
elkjs@0.9.3:
resolution: {integrity: sha512-f/ZeWvW/BCXbhGEf1Ujp29EASo/lk1FDnETgNKwJrsVvGZhUWCZyg3xLJjAsxfOmt8KjswHmI5EwCQcPMpOYhQ==}
@@ -5157,6 +5521,9 @@ packages:
es-module-lexer@1.5.4:
resolution: {integrity: sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw==}
+ es-module-lexer@1.6.0:
+ resolution: {integrity: sha512-qqnD1yMU6tk/jnaMosogGySTZP8YtUgAffA9nMN+E/rjxcfRQ6IEk7IiozUjgxKoFHBGjTLnrHB/YC45r/59EQ==}
+
es-object-atoms@1.1.1:
resolution: {integrity: sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==}
engines: {node: '>= 0.4'}
@@ -5200,6 +5567,11 @@ packages:
engines: {node: '>=18'}
hasBin: true
+ esbuild@0.25.0:
+ resolution: {integrity: sha512-BXq5mqc8ltbaN34cDqWuYKyNhX8D/Z0J1xdtdQ8UcIIIyJyz+ZMKUt58tF3SrZ85jcfN/PZYhjR5uDQAYNVbuw==}
+ engines: {node: '>=18'}
+ hasBin: true
+
escalade@3.2.0:
resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==}
engines: {node: '>=6'}
@@ -5233,23 +5605,23 @@ packages:
engines: {node: '>=6.0'}
hasBin: true
- eslint-config-prettier@9.1.0:
- resolution: {integrity: sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==}
+ eslint-config-prettier@10.0.1:
+ resolution: {integrity: sha512-lZBts941cyJyeaooiKxAtzoPHTN+GbQTJFAIdQbRhA4/8whaAraEh47Whw/ZFfrjNSnlAxqfm9i0XVAEkULjCw==}
hasBin: true
peerDependencies:
eslint: '>=7.0.0'
- eslint-plugin-cypress@3.5.0:
- resolution: {integrity: sha512-JZQ6XnBTNI8h1B9M7wJSFzc48SYbh7VMMKaNTQOFa3BQlnmXPrVc4PKen8R+fpv6VleiPeej6VxloGb42zdRvw==}
+ eslint-plugin-cypress@4.1.0:
+ resolution: {integrity: sha512-JhqkMY02mw74USwK9OFhectx3YSj6Co1NgWBxlGdKvlqiAp9vdEuQqt33DKGQFvvGS/NWtduuhWXWNnU29xDSg==}
peerDependencies:
- eslint: '>=7'
+ eslint: '>=9'
eslint-plugin-html@8.1.2:
resolution: {integrity: sha512-pbRchDV2SmqbCi/Ev/q3aAikzG9BcFe0IjjqjtMn8eTLq71ZUggyJB6CDmuwGAXmYZHrXI12XTfCqvgcnPRqGw==}
engines: {node: '>=16.0.0'}
- eslint-plugin-jest@28.8.3:
- resolution: {integrity: sha512-HIQ3t9hASLKm2IhIOqnu+ifw7uLZkIlR7RYNv7fMcEi/p0CIiJmfriStQS2LDkgtY4nyLbIZAD+JL347Yc2ETQ==}
+ eslint-plugin-jest@28.11.0:
+ resolution: {integrity: sha512-QAfipLcNCWLVocVbZW8GimKn5p5iiMcgGbRzz8z/P5q7xw+cNEpYqyzFMtIF/ZgF2HLOyy+dYBut+DoYolvqig==}
engines: {node: ^16.10.0 || ^18.12.0 || >=20.0.0}
peerDependencies:
'@typescript-eslint/eslint-plugin': ^6.0.0 || ^7.0.0 || ^8.0.0
@@ -5261,8 +5633,8 @@ packages:
jest:
optional: true
- eslint-plugin-jsdoc@50.3.1:
- resolution: {integrity: sha512-SY9oUuTMr6aWoJggUS40LtMjsRzJPB5ZT7F432xZIHK3EfHF+8i48GbUBpwanrtlL9l1gILNTHK9o8gEhYLcKA==}
+ eslint-plugin-jsdoc@50.6.3:
+ resolution: {integrity: sha512-NxbJyt1M5zffPcYZ8Nb53/8nnbIScmiLAMdoe0/FAszwb7lcSiX3iYBTsuF7RV84dZZJC8r3NghomrUXsmWvxQ==}
engines: {node: '>=18'}
peerDependencies:
eslint: ^7.0.0 || ^8.0.0 || ^9.0.0
@@ -5287,33 +5659,33 @@ packages:
resolution: {integrity: sha512-brcKcxGnISN2CcVhXJ/kEQlNa0MEfGRtwKtWA16SkqXHKitaKIMrfemJKLKX1YqDU5C/5JY3PvZXd5jEW04e0Q==}
engines: {node: '>=5.0.0'}
- eslint-plugin-tsdoc@0.3.0:
- resolution: {integrity: sha512-0MuFdBrrJVBjT/gyhkP2BqpD0np1NxNLfQ38xXDlSs/KVVpKI2A6vN7jx2Rve/CyUsvOsMGwp9KKrinv7q9g3A==}
+ eslint-plugin-tsdoc@0.4.0:
+ resolution: {integrity: sha512-MT/8b4aKLdDClnS8mP3R/JNjg29i0Oyqd/0ym6NnQf+gfKbJJ4ZcSh2Bs1H0YiUMTBwww5JwXGTWot/RwyJ7aQ==}
- eslint-plugin-unicorn@56.0.0:
- resolution: {integrity: sha512-aXpddVz/PQMmd69uxO98PA4iidiVNvA0xOtbpUoz1WhBd4RxOQQYqN618v68drY0hmy5uU2jy1bheKEVWBjlPw==}
+ eslint-plugin-unicorn@57.0.0:
+ resolution: {integrity: sha512-zUYYa6zfNdTeG9BISWDlcLmz16c+2Ck2o5ZDHh0UzXJz3DEP7xjmlVDTzbyV0W+XksgZ0q37WEWzN2D2Ze+g9Q==}
engines: {node: '>=18.18'}
peerDependencies:
- eslint: '>=8.56.0'
+ eslint: '>=9.20.0'
eslint-scope@5.1.1:
resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==}
engines: {node: '>=8.0.0'}
- eslint-scope@8.1.0:
- resolution: {integrity: sha512-14dSvlhaVhKKsa9Fx1l8A17s7ah7Ef7wCakJ10LYk6+GYmP9yDti2oq2SEwcyndt6knfcZyhyxwY3i9yL78EQw==}
+ eslint-scope@8.2.0:
+ resolution: {integrity: sha512-PHlWUfG6lvPc3yvP5A4PNyBL1W8fkDUccmI21JUu/+GKZBoH/W5u6usENXUrWFRsyoW5ACUjFGgAFQp5gUlb/A==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
eslint-visitor-keys@3.4.3:
resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
- eslint-visitor-keys@4.1.0:
- resolution: {integrity: sha512-Q7lok0mqMUSf5a/AdAZkA5a/gHcO6snwQClVNNvFKCAVlxXucdU8pKydU5ZVZjBx5xr37vGbFFWtLQYreLzrZg==}
+ eslint-visitor-keys@4.2.0:
+ resolution: {integrity: sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- eslint@9.12.0:
- resolution: {integrity: sha512-UVIOlTEWxwIopRL1wgSQYdnVDcEvs2wyaO6DGo5mXqe3r16IoCNWkR29iHhyaP4cICWjbgbmFUGAhh0GJRuGZw==}
+ eslint@9.20.1:
+ resolution: {integrity: sha512-m1mM33o6dBUjxl2qb6wv6nGNwCAsns1eKtaQ4l/NPHeTvhiUPbtdfMyktxN4B3fgHIgsYh1VT3V9txblpQHq+g==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
hasBin: true
peerDependencies:
@@ -5330,6 +5702,10 @@ packages:
resolution: {integrity: sha512-upbkBJbckcCNBDBDXEbuhjbP68n+scUd3k/U2EkyM9nw+I/jPiL4cLF/Al06CF96wRltFda16sxDFrxsI1v0/g==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ espree@10.3.0:
+ resolution: {integrity: sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
esprima@1.1.1:
resolution: {integrity: sha512-qxxB994/7NtERxgXdFgLHIs9M6bhLXc6qtUmWZ3L8+gTQ9qaoyki2887P2IqAYsoENyr8SUbTutStDniOHSDHg==}
engines: {node: '>=0.4.0'}
@@ -5471,10 +5847,18 @@ packages:
resolution: {integrity: sha512-WF1Wi8PwwSY7/6Kx0vKXtw8RwuSGoM1bvDaJbu7MxDlR1vovZjIAKrnzyrThgAjm6JDTu0fVgWXDlMGspodfoQ==}
engines: {node: '>=6.0.0'}
+ fast-equals@5.2.2:
+ resolution: {integrity: sha512-V7/RktU11J3I36Nwq2JnZEM7tNm17eBJz+u25qdxBZeCKiX6BkVSZQjwWIr+IobgnZy+ag73tTZgZi7tr0LrBw==}
+ engines: {node: '>=6.0.0'}
+
fast-glob@3.3.2:
resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==}
engines: {node: '>=8.6.0'}
+ fast-glob@3.3.3:
+ resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==}
+ engines: {node: '>=8.6.0'}
+
fast-json-stable-stringify@2.1.0:
resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==}
@@ -5638,6 +6022,9 @@ packages:
flatted@3.3.1:
resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==}
+ flatted@3.3.3:
+ resolution: {integrity: sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==}
+
flexsearch@0.7.43:
resolution: {integrity: sha512-c5o/+Um8aqCSOXGcZoqZOm+NqtVwNsvVpWv6lfmSclU954O3wvQKxxK8zj74fPaSJbXpSLTs4PRhh+wnoCXnKg==}
@@ -5870,10 +6257,6 @@ packages:
resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==}
engines: {node: '>=4'}
- globals@13.24.0:
- resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==}
- engines: {node: '>=8'}
-
globals@14.0.0:
resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==}
engines: {node: '>=18'}
@@ -5882,6 +6265,10 @@ packages:
resolution: {integrity: sha512-tqFIbz83w4Y5TCbtgjZjApohbuh7K9BxGYFm7ifwDR240tvdb7P9x+/9VvUKlmkPoiknoJtanI8UOrqxS3a7lQ==}
engines: {node: '>=18'}
+ globals@15.15.0:
+ resolution: {integrity: sha512-7ACyT3wmyp3I61S4fG682L0VA2RGD9otkqGJIwNUMF1SWUombIIk+af1unuDYgMm082aHYwD+mzJvv9Iu8dsgg==}
+ engines: {node: '>=18'}
+
globalthis@1.0.4:
resolution: {integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==}
engines: {node: '>= 0.4'}
@@ -6004,8 +6391,9 @@ packages:
hookable@5.5.3:
resolution: {integrity: sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==}
- hosted-git-info@2.8.9:
- resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==}
+ hosted-git-info@7.0.2:
+ resolution: {integrity: sha512-puUZAUKT5m8Zzvs72XWy3HtvVbTWljRE66cP60bxJzAqf2DgICo7lYTY2IHUmLnNpjYvw5bvmoHvPc0QO2a62w==}
+ engines: {node: ^16.14.0 || >=18.0.0}
hpack.js@2.1.6:
resolution: {integrity: sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==}
@@ -6132,6 +6520,10 @@ packages:
resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==}
engines: {node: '>=6'}
+ import-fresh@3.3.1:
+ resolution: {integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==}
+ engines: {node: '>=6'}
+
import-local@3.2.0:
resolution: {integrity: sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA==}
engines: {node: '>=8'}
@@ -6152,6 +6544,10 @@ packages:
resolution: {integrity: sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==}
engines: {node: '>=12'}
+ index-to-position@0.1.2:
+ resolution: {integrity: sha512-MWDKS3AS1bGCHLBA2VLImJz42f7bJh8wQsTGCzI3j519/CASStoDONUBVz2I/VID0MpiX3SGSnbOD2xUalbE5g==}
+ engines: {node: '>=18'}
+
inflight@1.0.6:
resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==}
deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.
@@ -6252,9 +6648,9 @@ packages:
resolution: {integrity: sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A==}
engines: {node: '>= 0.4'}
- is-builtin-module@3.2.1:
- resolution: {integrity: sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==}
- engines: {node: '>=6'}
+ is-builtin-module@4.0.0:
+ resolution: {integrity: sha512-rWP3AMAalQSesXO8gleROyL2iKU73SX5Er66losQn9rWOWL4Gef0a/xOEOVqjWGMuR2vHG3FJ8UUmT700O8oFg==}
+ engines: {node: '>=18.20'}
is-callable@1.2.7:
resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==}
@@ -6744,10 +7140,6 @@ packages:
canvas:
optional: true
- jsesc@0.5.0:
- resolution: {integrity: sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==}
- hasBin: true
-
jsesc@3.0.2:
resolution: {integrity: sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==}
engines: {node: '>=6'}
@@ -7464,8 +7856,9 @@ packages:
resolution: {integrity: sha512-fiVbT7BqxiQqjlR9U3FDGOSERFCKoXVCdxV2FwZuNN7/cmJ42iQx35nUFOAFDcyvemu9Adp+IlsCGlKQYLmBKw==}
deprecated: Package no longer supported. Contact support@npmjs.com for more info.
- normalize-package-data@2.5.0:
- resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==}
+ normalize-package-data@6.0.2:
+ resolution: {integrity: sha512-V6gygoYb/5EmNI+MEGrWkC+e6+Rr7mTmfHrxDbLzxQogBkgzo76rkok0Am6thgSF7Mv2nLOajAJj5vDJZEFn7g==}
+ engines: {node: ^16.14.0 || >=18.0.0}
normalize-path@3.0.0:
resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==}
@@ -7714,6 +8107,10 @@ packages:
resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==}
engines: {node: '>=8'}
+ parse-json@8.1.0:
+ resolution: {integrity: sha512-rum1bPifK5SSar35Z6EKZuYPJx85pkNaFrxBK3mwdfSJ1/WKbYrjoW/zTPSjRRamfmVX1ACBIdFAO0VRErW/EA==}
+ engines: {node: '>=18'}
+
parse5@7.1.2:
resolution: {integrity: sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==}
@@ -8092,13 +8489,13 @@ packages:
read-cache@1.0.0:
resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==}
- read-pkg-up@7.0.1:
- resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==}
- engines: {node: '>=8'}
+ read-package-up@11.0.0:
+ resolution: {integrity: sha512-MbgfoNPANMdb4oRBNg5eqLbB2t2r+o5Ua1pNt8BqGp4I0FJZhuVSOj3PaBPni4azWuSzEdNn2evevzVmEk1ohQ==}
+ engines: {node: '>=18'}
- read-pkg@5.2.0:
- resolution: {integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==}
- engines: {node: '>=8'}
+ read-pkg@9.0.1:
+ resolution: {integrity: sha512-9viLL4/n1BJUCT1NXVTdS1jtm80yDEgR5T4yCelII49Mbj0v1rZdKqj7zCiYdbB0CuCgdrvHcNogAKTFPBocFA==}
+ engines: {node: '>=18'}
read-yaml-file@1.1.0:
resolution: {integrity: sha512-VIMnQi/Z4HT2Fxuwg5KrY174U1VdUIASQVWXXyqtNRtxSr9IYkn1rsI6Tb6HsrHCmB7gVpNwX6JxPTHcH6IoTA==}
@@ -8170,10 +8567,6 @@ packages:
regjsgen@0.8.0:
resolution: {integrity: sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q==}
- regjsparser@0.10.0:
- resolution: {integrity: sha512-qx+xQGZVsy55CH0a1hiVwHmqjLryfh7wQyF5HO07XJ9f7dQMY/gPQHhlyDkIzJKC+x2fUCpCcUODUUUFrm7SHA==}
- hasBin: true
-
regjsparser@0.12.0:
resolution: {integrity: sha512-cnE+y8bz4NhMjISKbgeVJtqNbtf5QpjZP+Bslo+UqkIt9QPnX9q095eiRRASJG1/tz6dlNr6Z5NsBiWYokp6EQ==}
hasBin: true
@@ -8429,6 +8822,11 @@ packages:
engines: {node: '>=10'}
hasBin: true
+ semver@7.7.1:
+ resolution: {integrity: sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==}
+ engines: {node: '>=10'}
+ hasBin: true
+
send@0.19.0:
resolution: {integrity: sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==}
engines: {node: '>= 0.8.0'}
@@ -8652,8 +9050,8 @@ packages:
spdx-expression-parse@4.0.0:
resolution: {integrity: sha512-Clya5JIij/7C6bRR22+tnGXbc4VKlibKSVj2iHvVeX5iMW7s1SIQlqu699JkODJJIhh/pUu8L0/VLh8xflD+LQ==}
- spdx-license-ids@3.0.20:
- resolution: {integrity: sha512-jg25NiDV/1fLtSgEgyvVyDunvaNHbuwF9lfNV17gSmPFAlYzdfNBlLtLzXTevwkPj7DhGbmN9VnmJIgLnhvaBw==}
+ spdx-license-ids@3.0.21:
+ resolution: {integrity: sha512-Bvg/8F5XephndSK3JffaRqdT+gyhfqIPwDHpX80tJrF8QQRYMo8sNMeaZ2Dp5+jhwKnUmIOyFFQfHRkjJm5nXg==}
spdy-transport@3.0.0:
resolution: {integrity: sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==}
@@ -8806,9 +9204,9 @@ packages:
resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==}
engines: {node: '>=12'}
- strip-indent@3.0.0:
- resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==}
- engines: {node: '>=8'}
+ strip-indent@4.0.0:
+ resolution: {integrity: sha512-mnVSV2l+Zv6BLpSD/8V87CW/y9EmmbYzGCIavsnsI6/nwn26DwffM/yztm30Z/I2DY9wdS3vXVCMnHDgZaVNoA==}
+ engines: {node: '>=12'}
strip-json-comments@3.1.1:
resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==}
@@ -8917,8 +9315,8 @@ packages:
engines: {node: '>=10'}
hasBin: true
- terser@5.38.2:
- resolution: {integrity: sha512-w8CXxxbFA5zfNsR/i8HZq5bvn18AK0O9jj7hyo1YqkovLxEFa0uP0LCVGZRqiRaKRFxXhELBp8SteeAjEnfeJg==}
+ terser@5.39.0:
+ resolution: {integrity: sha512-LBAhFyLho16harJoWMg/nZsQYgTrg5jXOn2nCYjRUcZZEdE3qa2zb8QEDRUGVZBW4rlazf2fxkg8tztybTaqWw==}
engines: {node: '>=10'}
hasBin: true
@@ -8926,9 +9324,6 @@ packages:
resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==}
engines: {node: '>=8'}
- text-table@0.2.0:
- resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==}
-
thenify-all@1.6.0:
resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==}
engines: {node: '>=0.8'}
@@ -9034,12 +9429,18 @@ packages:
trough@2.2.0:
resolution: {integrity: sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==}
- ts-api-utils@1.3.0:
- resolution: {integrity: sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==}
+ ts-api-utils@1.4.3:
+ resolution: {integrity: sha512-i3eMG77UTMD0hZhgRS562pv83RC6ukSAC2GMNWc+9dieh/+jDM5u5YG+NHX6VNDRHQcHwmsTHctP9LhbC3WxVw==}
engines: {node: '>=16'}
peerDependencies:
typescript: '>=4.2.0'
+ ts-api-utils@2.0.1:
+ resolution: {integrity: sha512-dnlgjFSVetynI8nzgJ+qF62efpglpWRk8isUEWZGWlJYySCTD6aKvbUDu+zbPeDakk3bg5H4XpitHukgfL1m9w==}
+ engines: {node: '>=18.12'}
+ peerDependencies:
+ typescript: '>=4.8.4'
+
ts-dedent@2.2.0:
resolution: {integrity: sha512-q5W7tVM71e2xjHZTlgfTDoPF/SmqKG5hddq9SzR49CH2hayqRKJtQ4mtRlSxKaJlR/+9rEM+mnBHf7I2/BQcpQ==}
engines: {node: '>=6.10'}
@@ -9054,8 +9455,8 @@ packages:
resolution: {integrity: sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==}
engines: {node: '>=6'}
- tslib@2.7.0:
- resolution: {integrity: sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==}
+ tslib@2.8.1:
+ resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==}
tsx@4.19.1:
resolution: {integrity: sha512-0flMz1lh74BR4wOvBjuh9olbnwqCPc35OOlfyzHba0Dc+QNUeWX/Gq2YTbnwcWPO3BMd8fkzRVrHcsR+a7z7rA==}
@@ -9096,10 +9497,6 @@ packages:
resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==}
engines: {node: '>=10'}
- type-fest@0.6.0:
- resolution: {integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==}
- engines: {node: '>=8'}
-
type-fest@0.8.1:
resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==}
engines: {node: '>=8'}
@@ -9146,14 +9543,12 @@ packages:
peerDependencies:
typescript: 4.6.x || 4.7.x || 4.8.x || 4.9.x || 5.0.x || 5.1.x || 5.2.x || 5.3.x || 5.4.x
- typescript-eslint@8.8.1:
- resolution: {integrity: sha512-R0dsXFt6t4SAFjUSKFjMh4pXDtq04SsFKCVGDP3ZOzNP7itF0jBcZYU4fMsZr4y7O7V7Nc751dDeESbe4PbQMQ==}
+ typescript-eslint@8.24.1:
+ resolution: {integrity: sha512-cw3rEdzDqBs70TIcb0Gdzbt6h11BSs2pS0yaq7hDWDBtCCSei1pPSUXE9qUdQ/Wm9NgFg8mKtMt1b8fTHIl1jA==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
- typescript: '*'
- peerDependenciesMeta:
- typescript:
- optional: true
+ eslint: ^8.57.0 || ^9.0.0
+ typescript: '>=4.8.4 <5.8.0'
typescript@5.4.5:
resolution: {integrity: sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==}
@@ -9523,6 +9918,9 @@ packages:
vscode-uri@3.0.8:
resolution: {integrity: sha512-AyFQ0EVmsOZOlAnxoFOGOq1SQDWAB7C6aqMGS23svWAllfOaxbuFvcT8D1i8z3Gyn8fraVeZNNmN6e9bxxXkKw==}
+ vscode-uri@3.1.0:
+ resolution: {integrity: sha512-/BpdSx+yCQGnCvecbyXdxHDkuk55/G3xwnC0GqY4gmQ3j+A+g8kzzgB4Nk/SINjqn6+waqw3EgbVF2QKExkRxQ==}
+
vue-demi@0.14.10:
resolution: {integrity: sha512-nMZBOwuzabUO0nLgIcc6rycZEebF6eeUfaiQx9+WSk8e29IbLvPU9feI6tqW4kTo3hvoYAJkMh8n8D0fuISphg==}
engines: {node: '>=12'}
@@ -9862,6 +10260,11 @@ packages:
engines: {node: '>= 14'}
hasBin: true
+ yaml@2.7.0:
+ resolution: {integrity: sha512-+hSoy/QHluxmC9kCIJyL/uyFmLmc+e5CFR5Wa+bpIhIj85LVb9ZH2nVnqrHoSvKogwODv0ClqZkmiSSaIH5LTA==}
+ engines: {node: '>= 14'}
+ hasBin: true
+
yargs-parser@18.1.3:
resolution: {integrity: sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==}
engines: {node: '>=6'}
@@ -10463,19 +10866,18 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@babel/core@7.26.8':
+ '@babel/core@7.26.9':
dependencies:
'@ampproject/remapping': 2.3.0
'@babel/code-frame': 7.26.2
- '@babel/generator': 7.26.8
+ '@babel/generator': 7.26.9
'@babel/helper-compilation-targets': 7.26.5
- '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.8)
- '@babel/helpers': 7.26.7
- '@babel/parser': 7.26.8
- '@babel/template': 7.26.8
- '@babel/traverse': 7.26.8
- '@babel/types': 7.26.8
- '@types/gensync': 1.0.4
+ '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.9)
+ '@babel/helpers': 7.26.9
+ '@babel/parser': 7.26.9
+ '@babel/template': 7.26.9
+ '@babel/traverse': 7.26.9
+ '@babel/types': 7.26.9
convert-source-map: 2.0.0
debug: 4.4.0
gensync: 1.0.0-beta.2
@@ -10489,12 +10891,12 @@ snapshots:
'@babel/types': 7.25.7
'@jridgewell/gen-mapping': 0.3.5
'@jridgewell/trace-mapping': 0.3.25
- jsesc: 3.0.2
+ jsesc: 3.1.0
- '@babel/generator@7.26.8':
+ '@babel/generator@7.26.9':
dependencies:
- '@babel/parser': 7.26.8
- '@babel/types': 7.26.8
+ '@babel/parser': 7.26.9
+ '@babel/types': 7.26.9
'@jridgewell/gen-mapping': 0.3.8
'@jridgewell/trace-mapping': 0.3.25
jsesc: 3.1.0
@@ -10505,13 +10907,13 @@ snapshots:
'@babel/helper-annotate-as-pure@7.25.9':
dependencies:
- '@babel/types': 7.26.8
+ '@babel/types': 7.26.9
'@babel/helper-compilation-targets@7.25.7':
dependencies:
'@babel/compat-data': 7.25.7
'@babel/helper-validator-option': 7.25.7
- browserslist: 4.24.0
+ browserslist: 4.24.4
lru-cache: 5.1.1
semver: 6.3.1
@@ -10536,7 +10938,7 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@babel/helper-create-class-features-plugin@7.25.9(@babel/core@7.25.7)':
+ '@babel/helper-create-class-features-plugin@7.26.9(@babel/core@7.25.7)':
dependencies:
'@babel/core': 7.25.7
'@babel/helper-annotate-as-pure': 7.25.9
@@ -10544,20 +10946,20 @@ snapshots:
'@babel/helper-optimise-call-expression': 7.25.9
'@babel/helper-replace-supers': 7.26.5(@babel/core@7.25.7)
'@babel/helper-skip-transparent-expression-wrappers': 7.25.9
- '@babel/traverse': 7.26.8
+ '@babel/traverse': 7.26.9
semver: 6.3.1
transitivePeerDependencies:
- supports-color
- '@babel/helper-create-class-features-plugin@7.25.9(@babel/core@7.26.8)':
+ '@babel/helper-create-class-features-plugin@7.26.9(@babel/core@7.26.9)':
dependencies:
- '@babel/core': 7.26.8
+ '@babel/core': 7.26.9
'@babel/helper-annotate-as-pure': 7.25.9
'@babel/helper-member-expression-to-functions': 7.25.9
'@babel/helper-optimise-call-expression': 7.25.9
- '@babel/helper-replace-supers': 7.26.5(@babel/core@7.26.8)
+ '@babel/helper-replace-supers': 7.26.5(@babel/core@7.26.9)
'@babel/helper-skip-transparent-expression-wrappers': 7.25.9
- '@babel/traverse': 7.26.8
+ '@babel/traverse': 7.26.9
semver: 6.3.1
transitivePeerDependencies:
- supports-color
@@ -10569,9 +10971,9 @@ snapshots:
regexpu-core: 6.2.0
semver: 6.3.1
- '@babel/helper-create-regexp-features-plugin@7.26.3(@babel/core@7.26.8)':
+ '@babel/helper-create-regexp-features-plugin@7.26.3(@babel/core@7.26.9)':
dependencies:
- '@babel/core': 7.26.8
+ '@babel/core': 7.26.9
'@babel/helper-annotate-as-pure': 7.25.9
regexpu-core: 6.2.0
semver: 6.3.1
@@ -10587,9 +10989,9 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@babel/helper-define-polyfill-provider@0.6.3(@babel/core@7.26.8)':
+ '@babel/helper-define-polyfill-provider@0.6.3(@babel/core@7.26.9)':
dependencies:
- '@babel/core': 7.26.8
+ '@babel/core': 7.26.9
'@babel/helper-compilation-targets': 7.26.5
'@babel/helper-plugin-utils': 7.26.5
debug: 4.4.0
@@ -10607,8 +11009,8 @@ snapshots:
'@babel/helper-member-expression-to-functions@7.25.9':
dependencies:
- '@babel/traverse': 7.26.8
- '@babel/types': 7.26.8
+ '@babel/traverse': 7.26.9
+ '@babel/types': 7.26.9
transitivePeerDependencies:
- supports-color
@@ -10621,8 +11023,8 @@ snapshots:
'@babel/helper-module-imports@7.25.9':
dependencies:
- '@babel/traverse': 7.26.8
- '@babel/types': 7.26.8
+ '@babel/traverse': 7.26.9
+ '@babel/types': 7.26.9
transitivePeerDependencies:
- supports-color
@@ -10631,7 +11033,7 @@ snapshots:
'@babel/core': 7.25.7
'@babel/helper-module-imports': 7.25.7
'@babel/helper-simple-access': 7.25.7
- '@babel/helper-validator-identifier': 7.25.7
+ '@babel/helper-validator-identifier': 7.25.9
'@babel/traverse': 7.25.7
transitivePeerDependencies:
- supports-color
@@ -10641,16 +11043,16 @@ snapshots:
'@babel/core': 7.25.7
'@babel/helper-module-imports': 7.25.9
'@babel/helper-validator-identifier': 7.25.9
- '@babel/traverse': 7.26.8
+ '@babel/traverse': 7.26.9
transitivePeerDependencies:
- supports-color
- '@babel/helper-module-transforms@7.26.0(@babel/core@7.26.8)':
+ '@babel/helper-module-transforms@7.26.0(@babel/core@7.26.9)':
dependencies:
- '@babel/core': 7.26.8
+ '@babel/core': 7.26.9
'@babel/helper-module-imports': 7.25.9
'@babel/helper-validator-identifier': 7.25.9
- '@babel/traverse': 7.26.8
+ '@babel/traverse': 7.26.9
transitivePeerDependencies:
- supports-color
@@ -10660,7 +11062,7 @@ snapshots:
'@babel/helper-optimise-call-expression@7.25.9':
dependencies:
- '@babel/types': 7.26.8
+ '@babel/types': 7.26.9
'@babel/helper-plugin-utils@7.25.7': {}
@@ -10671,16 +11073,16 @@ snapshots:
'@babel/core': 7.25.7
'@babel/helper-annotate-as-pure': 7.25.9
'@babel/helper-wrap-function': 7.25.9
- '@babel/traverse': 7.26.8
+ '@babel/traverse': 7.26.9
transitivePeerDependencies:
- supports-color
- '@babel/helper-remap-async-to-generator@7.25.9(@babel/core@7.26.8)':
+ '@babel/helper-remap-async-to-generator@7.25.9(@babel/core@7.26.9)':
dependencies:
- '@babel/core': 7.26.8
+ '@babel/core': 7.26.9
'@babel/helper-annotate-as-pure': 7.25.9
'@babel/helper-wrap-function': 7.25.9
- '@babel/traverse': 7.26.8
+ '@babel/traverse': 7.26.9
transitivePeerDependencies:
- supports-color
@@ -10698,16 +11100,16 @@ snapshots:
'@babel/core': 7.25.7
'@babel/helper-member-expression-to-functions': 7.25.9
'@babel/helper-optimise-call-expression': 7.25.9
- '@babel/traverse': 7.26.8
+ '@babel/traverse': 7.26.9
transitivePeerDependencies:
- supports-color
- '@babel/helper-replace-supers@7.26.5(@babel/core@7.26.8)':
+ '@babel/helper-replace-supers@7.26.5(@babel/core@7.26.9)':
dependencies:
- '@babel/core': 7.26.8
+ '@babel/core': 7.26.9
'@babel/helper-member-expression-to-functions': 7.25.9
'@babel/helper-optimise-call-expression': 7.25.9
- '@babel/traverse': 7.26.8
+ '@babel/traverse': 7.26.9
transitivePeerDependencies:
- supports-color
@@ -10727,8 +11129,8 @@ snapshots:
'@babel/helper-skip-transparent-expression-wrappers@7.25.9':
dependencies:
- '@babel/traverse': 7.26.8
- '@babel/types': 7.26.8
+ '@babel/traverse': 7.26.9
+ '@babel/types': 7.26.9
transitivePeerDependencies:
- supports-color
@@ -10736,8 +11138,6 @@ snapshots:
'@babel/helper-string-parser@7.25.9': {}
- '@babel/helper-validator-identifier@7.25.7': {}
-
'@babel/helper-validator-identifier@7.25.9': {}
'@babel/helper-validator-option@7.25.7': {}
@@ -10746,9 +11146,9 @@ snapshots:
'@babel/helper-wrap-function@7.25.9':
dependencies:
- '@babel/template': 7.26.8
- '@babel/traverse': 7.26.8
- '@babel/types': 7.26.8
+ '@babel/template': 7.26.9
+ '@babel/traverse': 7.26.9
+ '@babel/types': 7.26.9
transitivePeerDependencies:
- supports-color
@@ -10757,14 +11157,14 @@ snapshots:
'@babel/template': 7.25.7
'@babel/types': 7.25.7
- '@babel/helpers@7.26.7':
+ '@babel/helpers@7.26.9':
dependencies:
- '@babel/template': 7.26.8
- '@babel/types': 7.26.8
+ '@babel/template': 7.26.9
+ '@babel/types': 7.26.9
'@babel/highlight@7.25.7':
dependencies:
- '@babel/helper-validator-identifier': 7.25.7
+ '@babel/helper-validator-identifier': 7.25.9
chalk: 2.4.2
js-tokens: 4.0.0
picocolors: 1.1.1
@@ -10773,23 +11173,23 @@ snapshots:
dependencies:
'@babel/types': 7.25.7
- '@babel/parser@7.26.8':
+ '@babel/parser@7.26.9':
dependencies:
- '@babel/types': 7.26.8
+ '@babel/types': 7.26.9
'@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.25.9(@babel/core@7.25.7)':
dependencies:
'@babel/core': 7.25.7
'@babel/helper-plugin-utils': 7.26.5
- '@babel/traverse': 7.26.8
+ '@babel/traverse': 7.26.9
transitivePeerDependencies:
- supports-color
- '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.25.9(@babel/core@7.26.8)':
+ '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.25.9(@babel/core@7.26.9)':
dependencies:
- '@babel/core': 7.26.8
+ '@babel/core': 7.26.9
'@babel/helper-plugin-utils': 7.26.5
- '@babel/traverse': 7.26.8
+ '@babel/traverse': 7.26.9
transitivePeerDependencies:
- supports-color
@@ -10798,9 +11198,9 @@ snapshots:
'@babel/core': 7.25.7
'@babel/helper-plugin-utils': 7.26.5
- '@babel/plugin-bugfix-safari-class-field-initializer-scope@7.25.9(@babel/core@7.26.8)':
+ '@babel/plugin-bugfix-safari-class-field-initializer-scope@7.25.9(@babel/core@7.26.9)':
dependencies:
- '@babel/core': 7.26.8
+ '@babel/core': 7.26.9
'@babel/helper-plugin-utils': 7.26.5
'@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.25.9(@babel/core@7.25.7)':
@@ -10808,9 +11208,9 @@ snapshots:
'@babel/core': 7.25.7
'@babel/helper-plugin-utils': 7.26.5
- '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.25.9(@babel/core@7.26.8)':
+ '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.25.9(@babel/core@7.26.9)':
dependencies:
- '@babel/core': 7.26.8
+ '@babel/core': 7.26.9
'@babel/helper-plugin-utils': 7.26.5
'@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.25.9(@babel/core@7.25.7)':
@@ -10822,12 +11222,12 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.25.9(@babel/core@7.26.8)':
+ '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.25.9(@babel/core@7.26.9)':
dependencies:
- '@babel/core': 7.26.8
+ '@babel/core': 7.26.9
'@babel/helper-plugin-utils': 7.26.5
'@babel/helper-skip-transparent-expression-wrappers': 7.25.9
- '@babel/plugin-transform-optional-chaining': 7.25.9(@babel/core@7.26.8)
+ '@babel/plugin-transform-optional-chaining': 7.25.9(@babel/core@7.26.9)
transitivePeerDependencies:
- supports-color
@@ -10835,15 +11235,15 @@ snapshots:
dependencies:
'@babel/core': 7.25.7
'@babel/helper-plugin-utils': 7.26.5
- '@babel/traverse': 7.26.8
+ '@babel/traverse': 7.26.9
transitivePeerDependencies:
- supports-color
- '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.25.9(@babel/core@7.26.8)':
+ '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.25.9(@babel/core@7.26.9)':
dependencies:
- '@babel/core': 7.26.8
+ '@babel/core': 7.26.9
'@babel/helper-plugin-utils': 7.26.5
- '@babel/traverse': 7.26.8
+ '@babel/traverse': 7.26.9
transitivePeerDependencies:
- supports-color
@@ -10851,9 +11251,9 @@ snapshots:
dependencies:
'@babel/core': 7.25.7
- '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.26.8)':
+ '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.26.9)':
dependencies:
- '@babel/core': 7.26.8
+ '@babel/core': 7.26.9
'@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.25.7)':
dependencies:
@@ -10880,9 +11280,9 @@ snapshots:
'@babel/core': 7.25.7
'@babel/helper-plugin-utils': 7.26.5
- '@babel/plugin-syntax-import-assertions@7.26.0(@babel/core@7.26.8)':
+ '@babel/plugin-syntax-import-assertions@7.26.0(@babel/core@7.26.9)':
dependencies:
- '@babel/core': 7.26.8
+ '@babel/core': 7.26.9
'@babel/helper-plugin-utils': 7.26.5
'@babel/plugin-syntax-import-attributes@7.25.7(@babel/core@7.25.7)':
@@ -10895,9 +11295,9 @@ snapshots:
'@babel/core': 7.25.7
'@babel/helper-plugin-utils': 7.26.5
- '@babel/plugin-syntax-import-attributes@7.26.0(@babel/core@7.26.8)':
+ '@babel/plugin-syntax-import-attributes@7.26.0(@babel/core@7.26.9)':
dependencies:
- '@babel/core': 7.26.8
+ '@babel/core': 7.26.9
'@babel/helper-plugin-utils': 7.26.5
'@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.25.7)':
@@ -10966,10 +11366,10 @@ snapshots:
'@babel/helper-create-regexp-features-plugin': 7.26.3(@babel/core@7.25.7)
'@babel/helper-plugin-utils': 7.26.5
- '@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.26.8)':
+ '@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.26.9)':
dependencies:
- '@babel/core': 7.26.8
- '@babel/helper-create-regexp-features-plugin': 7.26.3(@babel/core@7.26.8)
+ '@babel/core': 7.26.9
+ '@babel/helper-create-regexp-features-plugin': 7.26.3(@babel/core@7.26.9)
'@babel/helper-plugin-utils': 7.26.5
'@babel/plugin-transform-arrow-functions@7.25.9(@babel/core@7.25.7)':
@@ -10977,9 +11377,9 @@ snapshots:
'@babel/core': 7.25.7
'@babel/helper-plugin-utils': 7.26.5
- '@babel/plugin-transform-arrow-functions@7.25.9(@babel/core@7.26.8)':
+ '@babel/plugin-transform-arrow-functions@7.25.9(@babel/core@7.26.9)':
dependencies:
- '@babel/core': 7.26.8
+ '@babel/core': 7.26.9
'@babel/helper-plugin-utils': 7.26.5
'@babel/plugin-transform-async-generator-functions@7.26.8(@babel/core@7.25.7)':
@@ -10987,16 +11387,16 @@ snapshots:
'@babel/core': 7.25.7
'@babel/helper-plugin-utils': 7.26.5
'@babel/helper-remap-async-to-generator': 7.25.9(@babel/core@7.25.7)
- '@babel/traverse': 7.26.8
+ '@babel/traverse': 7.26.9
transitivePeerDependencies:
- supports-color
- '@babel/plugin-transform-async-generator-functions@7.26.8(@babel/core@7.26.8)':
+ '@babel/plugin-transform-async-generator-functions@7.26.8(@babel/core@7.26.9)':
dependencies:
- '@babel/core': 7.26.8
+ '@babel/core': 7.26.9
'@babel/helper-plugin-utils': 7.26.5
- '@babel/helper-remap-async-to-generator': 7.25.9(@babel/core@7.26.8)
- '@babel/traverse': 7.26.8
+ '@babel/helper-remap-async-to-generator': 7.25.9(@babel/core@7.26.9)
+ '@babel/traverse': 7.26.9
transitivePeerDependencies:
- supports-color
@@ -11009,12 +11409,12 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@babel/plugin-transform-async-to-generator@7.25.9(@babel/core@7.26.8)':
+ '@babel/plugin-transform-async-to-generator@7.25.9(@babel/core@7.26.9)':
dependencies:
- '@babel/core': 7.26.8
+ '@babel/core': 7.26.9
'@babel/helper-module-imports': 7.25.9
'@babel/helper-plugin-utils': 7.26.5
- '@babel/helper-remap-async-to-generator': 7.25.9(@babel/core@7.26.8)
+ '@babel/helper-remap-async-to-generator': 7.25.9(@babel/core@7.26.9)
transitivePeerDependencies:
- supports-color
@@ -11023,9 +11423,9 @@ snapshots:
'@babel/core': 7.25.7
'@babel/helper-plugin-utils': 7.26.5
- '@babel/plugin-transform-block-scoped-functions@7.26.5(@babel/core@7.26.8)':
+ '@babel/plugin-transform-block-scoped-functions@7.26.5(@babel/core@7.26.9)':
dependencies:
- '@babel/core': 7.26.8
+ '@babel/core': 7.26.9
'@babel/helper-plugin-utils': 7.26.5
'@babel/plugin-transform-block-scoping@7.25.9(@babel/core@7.25.7)':
@@ -11033,23 +11433,23 @@ snapshots:
'@babel/core': 7.25.7
'@babel/helper-plugin-utils': 7.26.5
- '@babel/plugin-transform-block-scoping@7.25.9(@babel/core@7.26.8)':
+ '@babel/plugin-transform-block-scoping@7.25.9(@babel/core@7.26.9)':
dependencies:
- '@babel/core': 7.26.8
+ '@babel/core': 7.26.9
'@babel/helper-plugin-utils': 7.26.5
'@babel/plugin-transform-class-properties@7.25.9(@babel/core@7.25.7)':
dependencies:
'@babel/core': 7.25.7
- '@babel/helper-create-class-features-plugin': 7.25.9(@babel/core@7.25.7)
+ '@babel/helper-create-class-features-plugin': 7.26.9(@babel/core@7.25.7)
'@babel/helper-plugin-utils': 7.26.5
transitivePeerDependencies:
- supports-color
- '@babel/plugin-transform-class-properties@7.25.9(@babel/core@7.26.8)':
+ '@babel/plugin-transform-class-properties@7.25.9(@babel/core@7.26.9)':
dependencies:
- '@babel/core': 7.26.8
- '@babel/helper-create-class-features-plugin': 7.25.9(@babel/core@7.26.8)
+ '@babel/core': 7.26.9
+ '@babel/helper-create-class-features-plugin': 7.26.9(@babel/core@7.26.9)
'@babel/helper-plugin-utils': 7.26.5
transitivePeerDependencies:
- supports-color
@@ -11057,15 +11457,15 @@ snapshots:
'@babel/plugin-transform-class-static-block@7.26.0(@babel/core@7.25.7)':
dependencies:
'@babel/core': 7.25.7
- '@babel/helper-create-class-features-plugin': 7.25.9(@babel/core@7.25.7)
+ '@babel/helper-create-class-features-plugin': 7.26.9(@babel/core@7.25.7)
'@babel/helper-plugin-utils': 7.26.5
transitivePeerDependencies:
- supports-color
- '@babel/plugin-transform-class-static-block@7.26.0(@babel/core@7.26.8)':
+ '@babel/plugin-transform-class-static-block@7.26.0(@babel/core@7.26.9)':
dependencies:
- '@babel/core': 7.26.8
- '@babel/helper-create-class-features-plugin': 7.25.9(@babel/core@7.26.8)
+ '@babel/core': 7.26.9
+ '@babel/helper-create-class-features-plugin': 7.26.9(@babel/core@7.26.9)
'@babel/helper-plugin-utils': 7.26.5
transitivePeerDependencies:
- supports-color
@@ -11077,19 +11477,19 @@ snapshots:
'@babel/helper-compilation-targets': 7.26.5
'@babel/helper-plugin-utils': 7.26.5
'@babel/helper-replace-supers': 7.26.5(@babel/core@7.25.7)
- '@babel/traverse': 7.26.8
+ '@babel/traverse': 7.26.9
globals: 11.12.0
transitivePeerDependencies:
- supports-color
- '@babel/plugin-transform-classes@7.25.9(@babel/core@7.26.8)':
+ '@babel/plugin-transform-classes@7.25.9(@babel/core@7.26.9)':
dependencies:
- '@babel/core': 7.26.8
+ '@babel/core': 7.26.9
'@babel/helper-annotate-as-pure': 7.25.9
'@babel/helper-compilation-targets': 7.26.5
'@babel/helper-plugin-utils': 7.26.5
- '@babel/helper-replace-supers': 7.26.5(@babel/core@7.26.8)
- '@babel/traverse': 7.26.8
+ '@babel/helper-replace-supers': 7.26.5(@babel/core@7.26.9)
+ '@babel/traverse': 7.26.9
globals: 11.12.0
transitivePeerDependencies:
- supports-color
@@ -11098,22 +11498,22 @@ snapshots:
dependencies:
'@babel/core': 7.25.7
'@babel/helper-plugin-utils': 7.26.5
- '@babel/template': 7.26.8
+ '@babel/template': 7.26.9
- '@babel/plugin-transform-computed-properties@7.25.9(@babel/core@7.26.8)':
+ '@babel/plugin-transform-computed-properties@7.25.9(@babel/core@7.26.9)':
dependencies:
- '@babel/core': 7.26.8
+ '@babel/core': 7.26.9
'@babel/helper-plugin-utils': 7.26.5
- '@babel/template': 7.26.8
+ '@babel/template': 7.26.9
'@babel/plugin-transform-destructuring@7.25.9(@babel/core@7.25.7)':
dependencies:
'@babel/core': 7.25.7
'@babel/helper-plugin-utils': 7.26.5
- '@babel/plugin-transform-destructuring@7.25.9(@babel/core@7.26.8)':
+ '@babel/plugin-transform-destructuring@7.25.9(@babel/core@7.26.9)':
dependencies:
- '@babel/core': 7.26.8
+ '@babel/core': 7.26.9
'@babel/helper-plugin-utils': 7.26.5
'@babel/plugin-transform-dotall-regex@7.25.9(@babel/core@7.25.7)':
@@ -11122,10 +11522,10 @@ snapshots:
'@babel/helper-create-regexp-features-plugin': 7.26.3(@babel/core@7.25.7)
'@babel/helper-plugin-utils': 7.26.5
- '@babel/plugin-transform-dotall-regex@7.25.9(@babel/core@7.26.8)':
+ '@babel/plugin-transform-dotall-regex@7.25.9(@babel/core@7.26.9)':
dependencies:
- '@babel/core': 7.26.8
- '@babel/helper-create-regexp-features-plugin': 7.26.3(@babel/core@7.26.8)
+ '@babel/core': 7.26.9
+ '@babel/helper-create-regexp-features-plugin': 7.26.3(@babel/core@7.26.9)
'@babel/helper-plugin-utils': 7.26.5
'@babel/plugin-transform-duplicate-keys@7.25.9(@babel/core@7.25.7)':
@@ -11133,9 +11533,9 @@ snapshots:
'@babel/core': 7.25.7
'@babel/helper-plugin-utils': 7.26.5
- '@babel/plugin-transform-duplicate-keys@7.25.9(@babel/core@7.26.8)':
+ '@babel/plugin-transform-duplicate-keys@7.25.9(@babel/core@7.26.9)':
dependencies:
- '@babel/core': 7.26.8
+ '@babel/core': 7.26.9
'@babel/helper-plugin-utils': 7.26.5
'@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.25.9(@babel/core@7.25.7)':
@@ -11144,10 +11544,10 @@ snapshots:
'@babel/helper-create-regexp-features-plugin': 7.26.3(@babel/core@7.25.7)
'@babel/helper-plugin-utils': 7.26.5
- '@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.25.9(@babel/core@7.26.8)':
+ '@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.25.9(@babel/core@7.26.9)':
dependencies:
- '@babel/core': 7.26.8
- '@babel/helper-create-regexp-features-plugin': 7.26.3(@babel/core@7.26.8)
+ '@babel/core': 7.26.9
+ '@babel/helper-create-regexp-features-plugin': 7.26.3(@babel/core@7.26.9)
'@babel/helper-plugin-utils': 7.26.5
'@babel/plugin-transform-dynamic-import@7.25.9(@babel/core@7.25.7)':
@@ -11155,9 +11555,9 @@ snapshots:
'@babel/core': 7.25.7
'@babel/helper-plugin-utils': 7.26.5
- '@babel/plugin-transform-dynamic-import@7.25.9(@babel/core@7.26.8)':
+ '@babel/plugin-transform-dynamic-import@7.25.9(@babel/core@7.26.9)':
dependencies:
- '@babel/core': 7.26.8
+ '@babel/core': 7.26.9
'@babel/helper-plugin-utils': 7.26.5
'@babel/plugin-transform-exponentiation-operator@7.26.3(@babel/core@7.25.7)':
@@ -11165,9 +11565,9 @@ snapshots:
'@babel/core': 7.25.7
'@babel/helper-plugin-utils': 7.26.5
- '@babel/plugin-transform-exponentiation-operator@7.26.3(@babel/core@7.26.8)':
+ '@babel/plugin-transform-exponentiation-operator@7.26.3(@babel/core@7.26.9)':
dependencies:
- '@babel/core': 7.26.8
+ '@babel/core': 7.26.9
'@babel/helper-plugin-utils': 7.26.5
'@babel/plugin-transform-export-namespace-from@7.25.9(@babel/core@7.25.7)':
@@ -11175,12 +11575,12 @@ snapshots:
'@babel/core': 7.25.7
'@babel/helper-plugin-utils': 7.26.5
- '@babel/plugin-transform-export-namespace-from@7.25.9(@babel/core@7.26.8)':
+ '@babel/plugin-transform-export-namespace-from@7.25.9(@babel/core@7.26.9)':
dependencies:
- '@babel/core': 7.26.8
+ '@babel/core': 7.26.9
'@babel/helper-plugin-utils': 7.26.5
- '@babel/plugin-transform-for-of@7.25.9(@babel/core@7.25.7)':
+ '@babel/plugin-transform-for-of@7.26.9(@babel/core@7.25.7)':
dependencies:
'@babel/core': 7.25.7
'@babel/helper-plugin-utils': 7.26.5
@@ -11188,9 +11588,9 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@babel/plugin-transform-for-of@7.25.9(@babel/core@7.26.8)':
+ '@babel/plugin-transform-for-of@7.26.9(@babel/core@7.26.9)':
dependencies:
- '@babel/core': 7.26.8
+ '@babel/core': 7.26.9
'@babel/helper-plugin-utils': 7.26.5
'@babel/helper-skip-transparent-expression-wrappers': 7.25.9
transitivePeerDependencies:
@@ -11201,16 +11601,16 @@ snapshots:
'@babel/core': 7.25.7
'@babel/helper-compilation-targets': 7.26.5
'@babel/helper-plugin-utils': 7.26.5
- '@babel/traverse': 7.26.8
+ '@babel/traverse': 7.26.9
transitivePeerDependencies:
- supports-color
- '@babel/plugin-transform-function-name@7.25.9(@babel/core@7.26.8)':
+ '@babel/plugin-transform-function-name@7.25.9(@babel/core@7.26.9)':
dependencies:
- '@babel/core': 7.26.8
+ '@babel/core': 7.26.9
'@babel/helper-compilation-targets': 7.26.5
'@babel/helper-plugin-utils': 7.26.5
- '@babel/traverse': 7.26.8
+ '@babel/traverse': 7.26.9
transitivePeerDependencies:
- supports-color
@@ -11219,9 +11619,9 @@ snapshots:
'@babel/core': 7.25.7
'@babel/helper-plugin-utils': 7.26.5
- '@babel/plugin-transform-json-strings@7.25.9(@babel/core@7.26.8)':
+ '@babel/plugin-transform-json-strings@7.25.9(@babel/core@7.26.9)':
dependencies:
- '@babel/core': 7.26.8
+ '@babel/core': 7.26.9
'@babel/helper-plugin-utils': 7.26.5
'@babel/plugin-transform-literals@7.25.9(@babel/core@7.25.7)':
@@ -11229,9 +11629,9 @@ snapshots:
'@babel/core': 7.25.7
'@babel/helper-plugin-utils': 7.26.5
- '@babel/plugin-transform-literals@7.25.9(@babel/core@7.26.8)':
+ '@babel/plugin-transform-literals@7.25.9(@babel/core@7.26.9)':
dependencies:
- '@babel/core': 7.26.8
+ '@babel/core': 7.26.9
'@babel/helper-plugin-utils': 7.26.5
'@babel/plugin-transform-logical-assignment-operators@7.25.9(@babel/core@7.25.7)':
@@ -11239,9 +11639,9 @@ snapshots:
'@babel/core': 7.25.7
'@babel/helper-plugin-utils': 7.26.5
- '@babel/plugin-transform-logical-assignment-operators@7.25.9(@babel/core@7.26.8)':
+ '@babel/plugin-transform-logical-assignment-operators@7.25.9(@babel/core@7.26.9)':
dependencies:
- '@babel/core': 7.26.8
+ '@babel/core': 7.26.9
'@babel/helper-plugin-utils': 7.26.5
'@babel/plugin-transform-member-expression-literals@7.25.9(@babel/core@7.25.7)':
@@ -11249,9 +11649,9 @@ snapshots:
'@babel/core': 7.25.7
'@babel/helper-plugin-utils': 7.26.5
- '@babel/plugin-transform-member-expression-literals@7.25.9(@babel/core@7.26.8)':
+ '@babel/plugin-transform-member-expression-literals@7.25.9(@babel/core@7.26.9)':
dependencies:
- '@babel/core': 7.26.8
+ '@babel/core': 7.26.9
'@babel/helper-plugin-utils': 7.26.5
'@babel/plugin-transform-modules-amd@7.25.9(@babel/core@7.25.7)':
@@ -11262,10 +11662,10 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@babel/plugin-transform-modules-amd@7.25.9(@babel/core@7.26.8)':
+ '@babel/plugin-transform-modules-amd@7.25.9(@babel/core@7.26.9)':
dependencies:
- '@babel/core': 7.26.8
- '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.8)
+ '@babel/core': 7.26.9
+ '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.9)
'@babel/helper-plugin-utils': 7.26.5
transitivePeerDependencies:
- supports-color
@@ -11287,10 +11687,10 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@babel/plugin-transform-modules-commonjs@7.26.3(@babel/core@7.26.8)':
+ '@babel/plugin-transform-modules-commonjs@7.26.3(@babel/core@7.26.9)':
dependencies:
- '@babel/core': 7.26.8
- '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.8)
+ '@babel/core': 7.26.9
+ '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.9)
'@babel/helper-plugin-utils': 7.26.5
transitivePeerDependencies:
- supports-color
@@ -11301,17 +11701,17 @@ snapshots:
'@babel/helper-module-transforms': 7.26.0(@babel/core@7.25.7)
'@babel/helper-plugin-utils': 7.26.5
'@babel/helper-validator-identifier': 7.25.9
- '@babel/traverse': 7.26.8
+ '@babel/traverse': 7.26.9
transitivePeerDependencies:
- supports-color
- '@babel/plugin-transform-modules-systemjs@7.25.9(@babel/core@7.26.8)':
+ '@babel/plugin-transform-modules-systemjs@7.25.9(@babel/core@7.26.9)':
dependencies:
- '@babel/core': 7.26.8
- '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.8)
+ '@babel/core': 7.26.9
+ '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.9)
'@babel/helper-plugin-utils': 7.26.5
'@babel/helper-validator-identifier': 7.25.9
- '@babel/traverse': 7.26.8
+ '@babel/traverse': 7.26.9
transitivePeerDependencies:
- supports-color
@@ -11323,10 +11723,10 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@babel/plugin-transform-modules-umd@7.25.9(@babel/core@7.26.8)':
+ '@babel/plugin-transform-modules-umd@7.25.9(@babel/core@7.26.9)':
dependencies:
- '@babel/core': 7.26.8
- '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.8)
+ '@babel/core': 7.26.9
+ '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.9)
'@babel/helper-plugin-utils': 7.26.5
transitivePeerDependencies:
- supports-color
@@ -11337,10 +11737,10 @@ snapshots:
'@babel/helper-create-regexp-features-plugin': 7.26.3(@babel/core@7.25.7)
'@babel/helper-plugin-utils': 7.26.5
- '@babel/plugin-transform-named-capturing-groups-regex@7.25.9(@babel/core@7.26.8)':
+ '@babel/plugin-transform-named-capturing-groups-regex@7.25.9(@babel/core@7.26.9)':
dependencies:
- '@babel/core': 7.26.8
- '@babel/helper-create-regexp-features-plugin': 7.26.3(@babel/core@7.26.8)
+ '@babel/core': 7.26.9
+ '@babel/helper-create-regexp-features-plugin': 7.26.3(@babel/core@7.26.9)
'@babel/helper-plugin-utils': 7.26.5
'@babel/plugin-transform-new-target@7.25.9(@babel/core@7.25.7)':
@@ -11348,9 +11748,9 @@ snapshots:
'@babel/core': 7.25.7
'@babel/helper-plugin-utils': 7.26.5
- '@babel/plugin-transform-new-target@7.25.9(@babel/core@7.26.8)':
+ '@babel/plugin-transform-new-target@7.25.9(@babel/core@7.26.9)':
dependencies:
- '@babel/core': 7.26.8
+ '@babel/core': 7.26.9
'@babel/helper-plugin-utils': 7.26.5
'@babel/plugin-transform-nullish-coalescing-operator@7.26.6(@babel/core@7.25.7)':
@@ -11358,9 +11758,9 @@ snapshots:
'@babel/core': 7.25.7
'@babel/helper-plugin-utils': 7.26.5
- '@babel/plugin-transform-nullish-coalescing-operator@7.26.6(@babel/core@7.26.8)':
+ '@babel/plugin-transform-nullish-coalescing-operator@7.26.6(@babel/core@7.26.9)':
dependencies:
- '@babel/core': 7.26.8
+ '@babel/core': 7.26.9
'@babel/helper-plugin-utils': 7.26.5
'@babel/plugin-transform-numeric-separator@7.25.9(@babel/core@7.25.7)':
@@ -11368,9 +11768,9 @@ snapshots:
'@babel/core': 7.25.7
'@babel/helper-plugin-utils': 7.26.5
- '@babel/plugin-transform-numeric-separator@7.25.9(@babel/core@7.26.8)':
+ '@babel/plugin-transform-numeric-separator@7.25.9(@babel/core@7.26.9)':
dependencies:
- '@babel/core': 7.26.8
+ '@babel/core': 7.26.9
'@babel/helper-plugin-utils': 7.26.5
'@babel/plugin-transform-object-rest-spread@7.25.9(@babel/core@7.25.7)':
@@ -11380,12 +11780,12 @@ snapshots:
'@babel/helper-plugin-utils': 7.26.5
'@babel/plugin-transform-parameters': 7.25.9(@babel/core@7.25.7)
- '@babel/plugin-transform-object-rest-spread@7.25.9(@babel/core@7.26.8)':
+ '@babel/plugin-transform-object-rest-spread@7.25.9(@babel/core@7.26.9)':
dependencies:
- '@babel/core': 7.26.8
+ '@babel/core': 7.26.9
'@babel/helper-compilation-targets': 7.26.5
'@babel/helper-plugin-utils': 7.26.5
- '@babel/plugin-transform-parameters': 7.25.9(@babel/core@7.26.8)
+ '@babel/plugin-transform-parameters': 7.25.9(@babel/core@7.26.9)
'@babel/plugin-transform-object-super@7.25.9(@babel/core@7.25.7)':
dependencies:
@@ -11395,11 +11795,11 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@babel/plugin-transform-object-super@7.25.9(@babel/core@7.26.8)':
+ '@babel/plugin-transform-object-super@7.25.9(@babel/core@7.26.9)':
dependencies:
- '@babel/core': 7.26.8
+ '@babel/core': 7.26.9
'@babel/helper-plugin-utils': 7.26.5
- '@babel/helper-replace-supers': 7.26.5(@babel/core@7.26.8)
+ '@babel/helper-replace-supers': 7.26.5(@babel/core@7.26.9)
transitivePeerDependencies:
- supports-color
@@ -11408,9 +11808,9 @@ snapshots:
'@babel/core': 7.25.7
'@babel/helper-plugin-utils': 7.26.5
- '@babel/plugin-transform-optional-catch-binding@7.25.9(@babel/core@7.26.8)':
+ '@babel/plugin-transform-optional-catch-binding@7.25.9(@babel/core@7.26.9)':
dependencies:
- '@babel/core': 7.26.8
+ '@babel/core': 7.26.9
'@babel/helper-plugin-utils': 7.26.5
'@babel/plugin-transform-optional-chaining@7.25.9(@babel/core@7.25.7)':
@@ -11421,9 +11821,9 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@babel/plugin-transform-optional-chaining@7.25.9(@babel/core@7.26.8)':
+ '@babel/plugin-transform-optional-chaining@7.25.9(@babel/core@7.26.9)':
dependencies:
- '@babel/core': 7.26.8
+ '@babel/core': 7.26.9
'@babel/helper-plugin-utils': 7.26.5
'@babel/helper-skip-transparent-expression-wrappers': 7.25.9
transitivePeerDependencies:
@@ -11434,23 +11834,23 @@ snapshots:
'@babel/core': 7.25.7
'@babel/helper-plugin-utils': 7.26.5
- '@babel/plugin-transform-parameters@7.25.9(@babel/core@7.26.8)':
+ '@babel/plugin-transform-parameters@7.25.9(@babel/core@7.26.9)':
dependencies:
- '@babel/core': 7.26.8
+ '@babel/core': 7.26.9
'@babel/helper-plugin-utils': 7.26.5
'@babel/plugin-transform-private-methods@7.25.9(@babel/core@7.25.7)':
dependencies:
'@babel/core': 7.25.7
- '@babel/helper-create-class-features-plugin': 7.25.9(@babel/core@7.25.7)
+ '@babel/helper-create-class-features-plugin': 7.26.9(@babel/core@7.25.7)
'@babel/helper-plugin-utils': 7.26.5
transitivePeerDependencies:
- supports-color
- '@babel/plugin-transform-private-methods@7.25.9(@babel/core@7.26.8)':
+ '@babel/plugin-transform-private-methods@7.25.9(@babel/core@7.26.9)':
dependencies:
- '@babel/core': 7.26.8
- '@babel/helper-create-class-features-plugin': 7.25.9(@babel/core@7.26.8)
+ '@babel/core': 7.26.9
+ '@babel/helper-create-class-features-plugin': 7.26.9(@babel/core@7.26.9)
'@babel/helper-plugin-utils': 7.26.5
transitivePeerDependencies:
- supports-color
@@ -11459,16 +11859,16 @@ snapshots:
dependencies:
'@babel/core': 7.25.7
'@babel/helper-annotate-as-pure': 7.25.9
- '@babel/helper-create-class-features-plugin': 7.25.9(@babel/core@7.25.7)
+ '@babel/helper-create-class-features-plugin': 7.26.9(@babel/core@7.25.7)
'@babel/helper-plugin-utils': 7.26.5
transitivePeerDependencies:
- supports-color
- '@babel/plugin-transform-private-property-in-object@7.25.9(@babel/core@7.26.8)':
+ '@babel/plugin-transform-private-property-in-object@7.25.9(@babel/core@7.26.9)':
dependencies:
- '@babel/core': 7.26.8
+ '@babel/core': 7.26.9
'@babel/helper-annotate-as-pure': 7.25.9
- '@babel/helper-create-class-features-plugin': 7.25.9(@babel/core@7.26.8)
+ '@babel/helper-create-class-features-plugin': 7.26.9(@babel/core@7.26.9)
'@babel/helper-plugin-utils': 7.26.5
transitivePeerDependencies:
- supports-color
@@ -11478,9 +11878,9 @@ snapshots:
'@babel/core': 7.25.7
'@babel/helper-plugin-utils': 7.26.5
- '@babel/plugin-transform-property-literals@7.25.9(@babel/core@7.26.8)':
+ '@babel/plugin-transform-property-literals@7.25.9(@babel/core@7.26.9)':
dependencies:
- '@babel/core': 7.26.8
+ '@babel/core': 7.26.9
'@babel/helper-plugin-utils': 7.26.5
'@babel/plugin-transform-regenerator@7.25.9(@babel/core@7.25.7)':
@@ -11489,9 +11889,9 @@ snapshots:
'@babel/helper-plugin-utils': 7.26.5
regenerator-transform: 0.15.2
- '@babel/plugin-transform-regenerator@7.25.9(@babel/core@7.26.8)':
+ '@babel/plugin-transform-regenerator@7.25.9(@babel/core@7.26.9)':
dependencies:
- '@babel/core': 7.26.8
+ '@babel/core': 7.26.9
'@babel/helper-plugin-utils': 7.26.5
regenerator-transform: 0.15.2
@@ -11501,10 +11901,10 @@ snapshots:
'@babel/helper-create-regexp-features-plugin': 7.26.3(@babel/core@7.25.7)
'@babel/helper-plugin-utils': 7.26.5
- '@babel/plugin-transform-regexp-modifiers@7.26.0(@babel/core@7.26.8)':
+ '@babel/plugin-transform-regexp-modifiers@7.26.0(@babel/core@7.26.9)':
dependencies:
- '@babel/core': 7.26.8
- '@babel/helper-create-regexp-features-plugin': 7.26.3(@babel/core@7.26.8)
+ '@babel/core': 7.26.9
+ '@babel/helper-create-regexp-features-plugin': 7.26.3(@babel/core@7.26.9)
'@babel/helper-plugin-utils': 7.26.5
'@babel/plugin-transform-reserved-words@7.25.9(@babel/core@7.25.7)':
@@ -11512,9 +11912,9 @@ snapshots:
'@babel/core': 7.25.7
'@babel/helper-plugin-utils': 7.26.5
- '@babel/plugin-transform-reserved-words@7.25.9(@babel/core@7.26.8)':
+ '@babel/plugin-transform-reserved-words@7.25.9(@babel/core@7.26.9)':
dependencies:
- '@babel/core': 7.26.8
+ '@babel/core': 7.26.9
'@babel/helper-plugin-utils': 7.26.5
'@babel/plugin-transform-shorthand-properties@7.25.9(@babel/core@7.25.7)':
@@ -11522,9 +11922,9 @@ snapshots:
'@babel/core': 7.25.7
'@babel/helper-plugin-utils': 7.26.5
- '@babel/plugin-transform-shorthand-properties@7.25.9(@babel/core@7.26.8)':
+ '@babel/plugin-transform-shorthand-properties@7.25.9(@babel/core@7.26.9)':
dependencies:
- '@babel/core': 7.26.8
+ '@babel/core': 7.26.9
'@babel/helper-plugin-utils': 7.26.5
'@babel/plugin-transform-spread@7.25.9(@babel/core@7.25.7)':
@@ -11535,9 +11935,9 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@babel/plugin-transform-spread@7.25.9(@babel/core@7.26.8)':
+ '@babel/plugin-transform-spread@7.25.9(@babel/core@7.26.9)':
dependencies:
- '@babel/core': 7.26.8
+ '@babel/core': 7.26.9
'@babel/helper-plugin-utils': 7.26.5
'@babel/helper-skip-transparent-expression-wrappers': 7.25.9
transitivePeerDependencies:
@@ -11548,9 +11948,9 @@ snapshots:
'@babel/core': 7.25.7
'@babel/helper-plugin-utils': 7.26.5
- '@babel/plugin-transform-sticky-regex@7.25.9(@babel/core@7.26.8)':
+ '@babel/plugin-transform-sticky-regex@7.25.9(@babel/core@7.26.9)':
dependencies:
- '@babel/core': 7.26.8
+ '@babel/core': 7.26.9
'@babel/helper-plugin-utils': 7.26.5
'@babel/plugin-transform-template-literals@7.26.8(@babel/core@7.25.7)':
@@ -11558,9 +11958,9 @@ snapshots:
'@babel/core': 7.25.7
'@babel/helper-plugin-utils': 7.26.5
- '@babel/plugin-transform-template-literals@7.26.8(@babel/core@7.26.8)':
+ '@babel/plugin-transform-template-literals@7.26.8(@babel/core@7.26.9)':
dependencies:
- '@babel/core': 7.26.8
+ '@babel/core': 7.26.9
'@babel/helper-plugin-utils': 7.26.5
'@babel/plugin-transform-typeof-symbol@7.26.7(@babel/core@7.25.7)':
@@ -11568,9 +11968,9 @@ snapshots:
'@babel/core': 7.25.7
'@babel/helper-plugin-utils': 7.26.5
- '@babel/plugin-transform-typeof-symbol@7.26.7(@babel/core@7.26.8)':
+ '@babel/plugin-transform-typeof-symbol@7.26.7(@babel/core@7.26.9)':
dependencies:
- '@babel/core': 7.26.8
+ '@babel/core': 7.26.9
'@babel/helper-plugin-utils': 7.26.5
'@babel/plugin-transform-typescript@7.25.7(@babel/core@7.25.7)':
@@ -11589,9 +11989,9 @@ snapshots:
'@babel/core': 7.25.7
'@babel/helper-plugin-utils': 7.26.5
- '@babel/plugin-transform-unicode-escapes@7.25.9(@babel/core@7.26.8)':
+ '@babel/plugin-transform-unicode-escapes@7.25.9(@babel/core@7.26.9)':
dependencies:
- '@babel/core': 7.26.8
+ '@babel/core': 7.26.9
'@babel/helper-plugin-utils': 7.26.5
'@babel/plugin-transform-unicode-property-regex@7.25.9(@babel/core@7.25.7)':
@@ -11600,10 +12000,10 @@ snapshots:
'@babel/helper-create-regexp-features-plugin': 7.26.3(@babel/core@7.25.7)
'@babel/helper-plugin-utils': 7.26.5
- '@babel/plugin-transform-unicode-property-regex@7.25.9(@babel/core@7.26.8)':
+ '@babel/plugin-transform-unicode-property-regex@7.25.9(@babel/core@7.26.9)':
dependencies:
- '@babel/core': 7.26.8
- '@babel/helper-create-regexp-features-plugin': 7.26.3(@babel/core@7.26.8)
+ '@babel/core': 7.26.9
+ '@babel/helper-create-regexp-features-plugin': 7.26.3(@babel/core@7.26.9)
'@babel/helper-plugin-utils': 7.26.5
'@babel/plugin-transform-unicode-regex@7.25.9(@babel/core@7.25.7)':
@@ -11612,10 +12012,10 @@ snapshots:
'@babel/helper-create-regexp-features-plugin': 7.26.3(@babel/core@7.25.7)
'@babel/helper-plugin-utils': 7.26.5
- '@babel/plugin-transform-unicode-regex@7.25.9(@babel/core@7.26.8)':
+ '@babel/plugin-transform-unicode-regex@7.25.9(@babel/core@7.26.9)':
dependencies:
- '@babel/core': 7.26.8
- '@babel/helper-create-regexp-features-plugin': 7.26.3(@babel/core@7.26.8)
+ '@babel/core': 7.26.9
+ '@babel/helper-create-regexp-features-plugin': 7.26.3(@babel/core@7.26.9)
'@babel/helper-plugin-utils': 7.26.5
'@babel/plugin-transform-unicode-sets-regex@7.25.9(@babel/core@7.25.7)':
@@ -11624,13 +12024,13 @@ snapshots:
'@babel/helper-create-regexp-features-plugin': 7.26.3(@babel/core@7.25.7)
'@babel/helper-plugin-utils': 7.26.5
- '@babel/plugin-transform-unicode-sets-regex@7.25.9(@babel/core@7.26.8)':
+ '@babel/plugin-transform-unicode-sets-regex@7.25.9(@babel/core@7.26.9)':
dependencies:
- '@babel/core': 7.26.8
- '@babel/helper-create-regexp-features-plugin': 7.26.3(@babel/core@7.26.8)
+ '@babel/core': 7.26.9
+ '@babel/helper-create-regexp-features-plugin': 7.26.3(@babel/core@7.26.9)
'@babel/helper-plugin-utils': 7.26.5
- '@babel/preset-env@7.26.7(@babel/core@7.25.7)':
+ '@babel/preset-env@7.26.9(@babel/core@7.25.7)':
dependencies:
'@babel/compat-data': 7.26.8
'@babel/core': 7.25.7
@@ -11662,7 +12062,7 @@ snapshots:
'@babel/plugin-transform-dynamic-import': 7.25.9(@babel/core@7.25.7)
'@babel/plugin-transform-exponentiation-operator': 7.26.3(@babel/core@7.25.7)
'@babel/plugin-transform-export-namespace-from': 7.25.9(@babel/core@7.25.7)
- '@babel/plugin-transform-for-of': 7.25.9(@babel/core@7.25.7)
+ '@babel/plugin-transform-for-of': 7.26.9(@babel/core@7.25.7)
'@babel/plugin-transform-function-name': 7.25.9(@babel/core@7.25.7)
'@babel/plugin-transform-json-strings': 7.25.9(@babel/core@7.25.7)
'@babel/plugin-transform-literals': 7.25.9(@babel/core@7.25.7)
@@ -11698,83 +12098,83 @@ snapshots:
'@babel/plugin-transform-unicode-sets-regex': 7.25.9(@babel/core@7.25.7)
'@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.25.7)
babel-plugin-polyfill-corejs2: 0.4.12(@babel/core@7.25.7)
- babel-plugin-polyfill-corejs3: 0.10.6(@babel/core@7.25.7)
+ babel-plugin-polyfill-corejs3: 0.11.1(@babel/core@7.25.7)
babel-plugin-polyfill-regenerator: 0.6.3(@babel/core@7.25.7)
core-js-compat: 3.40.0
semver: 6.3.1
transitivePeerDependencies:
- supports-color
- '@babel/preset-env@7.26.8(@babel/core@7.26.8)':
+ '@babel/preset-env@7.26.9(@babel/core@7.26.9)':
dependencies:
'@babel/compat-data': 7.26.8
- '@babel/core': 7.26.8
+ '@babel/core': 7.26.9
'@babel/helper-compilation-targets': 7.26.5
'@babel/helper-plugin-utils': 7.26.5
'@babel/helper-validator-option': 7.25.9
- '@babel/plugin-bugfix-firefox-class-in-computed-class-key': 7.25.9(@babel/core@7.26.8)
- '@babel/plugin-bugfix-safari-class-field-initializer-scope': 7.25.9(@babel/core@7.26.8)
- '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.25.9(@babel/core@7.26.8)
- '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.25.9(@babel/core@7.26.8)
- '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.25.9(@babel/core@7.26.8)
- '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.26.8)
- '@babel/plugin-syntax-import-assertions': 7.26.0(@babel/core@7.26.8)
- '@babel/plugin-syntax-import-attributes': 7.26.0(@babel/core@7.26.8)
- '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.26.8)
- '@babel/plugin-transform-arrow-functions': 7.25.9(@babel/core@7.26.8)
- '@babel/plugin-transform-async-generator-functions': 7.26.8(@babel/core@7.26.8)
- '@babel/plugin-transform-async-to-generator': 7.25.9(@babel/core@7.26.8)
- '@babel/plugin-transform-block-scoped-functions': 7.26.5(@babel/core@7.26.8)
- '@babel/plugin-transform-block-scoping': 7.25.9(@babel/core@7.26.8)
- '@babel/plugin-transform-class-properties': 7.25.9(@babel/core@7.26.8)
- '@babel/plugin-transform-class-static-block': 7.26.0(@babel/core@7.26.8)
- '@babel/plugin-transform-classes': 7.25.9(@babel/core@7.26.8)
- '@babel/plugin-transform-computed-properties': 7.25.9(@babel/core@7.26.8)
- '@babel/plugin-transform-destructuring': 7.25.9(@babel/core@7.26.8)
- '@babel/plugin-transform-dotall-regex': 7.25.9(@babel/core@7.26.8)
- '@babel/plugin-transform-duplicate-keys': 7.25.9(@babel/core@7.26.8)
- '@babel/plugin-transform-duplicate-named-capturing-groups-regex': 7.25.9(@babel/core@7.26.8)
- '@babel/plugin-transform-dynamic-import': 7.25.9(@babel/core@7.26.8)
- '@babel/plugin-transform-exponentiation-operator': 7.26.3(@babel/core@7.26.8)
- '@babel/plugin-transform-export-namespace-from': 7.25.9(@babel/core@7.26.8)
- '@babel/plugin-transform-for-of': 7.25.9(@babel/core@7.26.8)
- '@babel/plugin-transform-function-name': 7.25.9(@babel/core@7.26.8)
- '@babel/plugin-transform-json-strings': 7.25.9(@babel/core@7.26.8)
- '@babel/plugin-transform-literals': 7.25.9(@babel/core@7.26.8)
- '@babel/plugin-transform-logical-assignment-operators': 7.25.9(@babel/core@7.26.8)
- '@babel/plugin-transform-member-expression-literals': 7.25.9(@babel/core@7.26.8)
- '@babel/plugin-transform-modules-amd': 7.25.9(@babel/core@7.26.8)
- '@babel/plugin-transform-modules-commonjs': 7.26.3(@babel/core@7.26.8)
- '@babel/plugin-transform-modules-systemjs': 7.25.9(@babel/core@7.26.8)
- '@babel/plugin-transform-modules-umd': 7.25.9(@babel/core@7.26.8)
- '@babel/plugin-transform-named-capturing-groups-regex': 7.25.9(@babel/core@7.26.8)
- '@babel/plugin-transform-new-target': 7.25.9(@babel/core@7.26.8)
- '@babel/plugin-transform-nullish-coalescing-operator': 7.26.6(@babel/core@7.26.8)
- '@babel/plugin-transform-numeric-separator': 7.25.9(@babel/core@7.26.8)
- '@babel/plugin-transform-object-rest-spread': 7.25.9(@babel/core@7.26.8)
- '@babel/plugin-transform-object-super': 7.25.9(@babel/core@7.26.8)
- '@babel/plugin-transform-optional-catch-binding': 7.25.9(@babel/core@7.26.8)
- '@babel/plugin-transform-optional-chaining': 7.25.9(@babel/core@7.26.8)
- '@babel/plugin-transform-parameters': 7.25.9(@babel/core@7.26.8)
- '@babel/plugin-transform-private-methods': 7.25.9(@babel/core@7.26.8)
- '@babel/plugin-transform-private-property-in-object': 7.25.9(@babel/core@7.26.8)
- '@babel/plugin-transform-property-literals': 7.25.9(@babel/core@7.26.8)
- '@babel/plugin-transform-regenerator': 7.25.9(@babel/core@7.26.8)
- '@babel/plugin-transform-regexp-modifiers': 7.26.0(@babel/core@7.26.8)
- '@babel/plugin-transform-reserved-words': 7.25.9(@babel/core@7.26.8)
- '@babel/plugin-transform-shorthand-properties': 7.25.9(@babel/core@7.26.8)
- '@babel/plugin-transform-spread': 7.25.9(@babel/core@7.26.8)
- '@babel/plugin-transform-sticky-regex': 7.25.9(@babel/core@7.26.8)
- '@babel/plugin-transform-template-literals': 7.26.8(@babel/core@7.26.8)
- '@babel/plugin-transform-typeof-symbol': 7.26.7(@babel/core@7.26.8)
- '@babel/plugin-transform-unicode-escapes': 7.25.9(@babel/core@7.26.8)
- '@babel/plugin-transform-unicode-property-regex': 7.25.9(@babel/core@7.26.8)
- '@babel/plugin-transform-unicode-regex': 7.25.9(@babel/core@7.26.8)
- '@babel/plugin-transform-unicode-sets-regex': 7.25.9(@babel/core@7.26.8)
- '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.26.8)
- babel-plugin-polyfill-corejs2: 0.4.12(@babel/core@7.26.8)
- babel-plugin-polyfill-corejs3: 0.11.1(@babel/core@7.26.8)
- babel-plugin-polyfill-regenerator: 0.6.3(@babel/core@7.26.8)
+ '@babel/plugin-bugfix-firefox-class-in-computed-class-key': 7.25.9(@babel/core@7.26.9)
+ '@babel/plugin-bugfix-safari-class-field-initializer-scope': 7.25.9(@babel/core@7.26.9)
+ '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.25.9(@babel/core@7.26.9)
+ '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.25.9(@babel/core@7.26.9)
+ '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.25.9(@babel/core@7.26.9)
+ '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.26.9)
+ '@babel/plugin-syntax-import-assertions': 7.26.0(@babel/core@7.26.9)
+ '@babel/plugin-syntax-import-attributes': 7.26.0(@babel/core@7.26.9)
+ '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.26.9)
+ '@babel/plugin-transform-arrow-functions': 7.25.9(@babel/core@7.26.9)
+ '@babel/plugin-transform-async-generator-functions': 7.26.8(@babel/core@7.26.9)
+ '@babel/plugin-transform-async-to-generator': 7.25.9(@babel/core@7.26.9)
+ '@babel/plugin-transform-block-scoped-functions': 7.26.5(@babel/core@7.26.9)
+ '@babel/plugin-transform-block-scoping': 7.25.9(@babel/core@7.26.9)
+ '@babel/plugin-transform-class-properties': 7.25.9(@babel/core@7.26.9)
+ '@babel/plugin-transform-class-static-block': 7.26.0(@babel/core@7.26.9)
+ '@babel/plugin-transform-classes': 7.25.9(@babel/core@7.26.9)
+ '@babel/plugin-transform-computed-properties': 7.25.9(@babel/core@7.26.9)
+ '@babel/plugin-transform-destructuring': 7.25.9(@babel/core@7.26.9)
+ '@babel/plugin-transform-dotall-regex': 7.25.9(@babel/core@7.26.9)
+ '@babel/plugin-transform-duplicate-keys': 7.25.9(@babel/core@7.26.9)
+ '@babel/plugin-transform-duplicate-named-capturing-groups-regex': 7.25.9(@babel/core@7.26.9)
+ '@babel/plugin-transform-dynamic-import': 7.25.9(@babel/core@7.26.9)
+ '@babel/plugin-transform-exponentiation-operator': 7.26.3(@babel/core@7.26.9)
+ '@babel/plugin-transform-export-namespace-from': 7.25.9(@babel/core@7.26.9)
+ '@babel/plugin-transform-for-of': 7.26.9(@babel/core@7.26.9)
+ '@babel/plugin-transform-function-name': 7.25.9(@babel/core@7.26.9)
+ '@babel/plugin-transform-json-strings': 7.25.9(@babel/core@7.26.9)
+ '@babel/plugin-transform-literals': 7.25.9(@babel/core@7.26.9)
+ '@babel/plugin-transform-logical-assignment-operators': 7.25.9(@babel/core@7.26.9)
+ '@babel/plugin-transform-member-expression-literals': 7.25.9(@babel/core@7.26.9)
+ '@babel/plugin-transform-modules-amd': 7.25.9(@babel/core@7.26.9)
+ '@babel/plugin-transform-modules-commonjs': 7.26.3(@babel/core@7.26.9)
+ '@babel/plugin-transform-modules-systemjs': 7.25.9(@babel/core@7.26.9)
+ '@babel/plugin-transform-modules-umd': 7.25.9(@babel/core@7.26.9)
+ '@babel/plugin-transform-named-capturing-groups-regex': 7.25.9(@babel/core@7.26.9)
+ '@babel/plugin-transform-new-target': 7.25.9(@babel/core@7.26.9)
+ '@babel/plugin-transform-nullish-coalescing-operator': 7.26.6(@babel/core@7.26.9)
+ '@babel/plugin-transform-numeric-separator': 7.25.9(@babel/core@7.26.9)
+ '@babel/plugin-transform-object-rest-spread': 7.25.9(@babel/core@7.26.9)
+ '@babel/plugin-transform-object-super': 7.25.9(@babel/core@7.26.9)
+ '@babel/plugin-transform-optional-catch-binding': 7.25.9(@babel/core@7.26.9)
+ '@babel/plugin-transform-optional-chaining': 7.25.9(@babel/core@7.26.9)
+ '@babel/plugin-transform-parameters': 7.25.9(@babel/core@7.26.9)
+ '@babel/plugin-transform-private-methods': 7.25.9(@babel/core@7.26.9)
+ '@babel/plugin-transform-private-property-in-object': 7.25.9(@babel/core@7.26.9)
+ '@babel/plugin-transform-property-literals': 7.25.9(@babel/core@7.26.9)
+ '@babel/plugin-transform-regenerator': 7.25.9(@babel/core@7.26.9)
+ '@babel/plugin-transform-regexp-modifiers': 7.26.0(@babel/core@7.26.9)
+ '@babel/plugin-transform-reserved-words': 7.25.9(@babel/core@7.26.9)
+ '@babel/plugin-transform-shorthand-properties': 7.25.9(@babel/core@7.26.9)
+ '@babel/plugin-transform-spread': 7.25.9(@babel/core@7.26.9)
+ '@babel/plugin-transform-sticky-regex': 7.25.9(@babel/core@7.26.9)
+ '@babel/plugin-transform-template-literals': 7.26.8(@babel/core@7.26.9)
+ '@babel/plugin-transform-typeof-symbol': 7.26.7(@babel/core@7.26.9)
+ '@babel/plugin-transform-unicode-escapes': 7.25.9(@babel/core@7.26.9)
+ '@babel/plugin-transform-unicode-property-regex': 7.25.9(@babel/core@7.26.9)
+ '@babel/plugin-transform-unicode-regex': 7.25.9(@babel/core@7.26.9)
+ '@babel/plugin-transform-unicode-sets-regex': 7.25.9(@babel/core@7.26.9)
+ '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.26.9)
+ babel-plugin-polyfill-corejs2: 0.4.12(@babel/core@7.26.9)
+ babel-plugin-polyfill-corejs3: 0.11.1(@babel/core@7.26.9)
+ babel-plugin-polyfill-regenerator: 0.6.3(@babel/core@7.26.9)
core-js-compat: 3.40.0
semver: 6.3.1
transitivePeerDependencies:
@@ -11784,14 +12184,14 @@ snapshots:
dependencies:
'@babel/core': 7.25.7
'@babel/helper-plugin-utils': 7.26.5
- '@babel/types': 7.26.8
+ '@babel/types': 7.26.9
esutils: 2.0.3
- '@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.26.8)':
+ '@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.26.9)':
dependencies:
- '@babel/core': 7.26.8
+ '@babel/core': 7.26.9
'@babel/helper-plugin-utils': 7.26.5
- '@babel/types': 7.26.8
+ '@babel/types': 7.26.9
esutils: 2.0.3
'@babel/preset-typescript@7.25.7(@babel/core@7.25.7)':
@@ -11809,7 +12209,7 @@ snapshots:
dependencies:
regenerator-runtime: 0.14.1
- '@babel/runtime@7.26.7':
+ '@babel/runtime@7.26.9':
dependencies:
regenerator-runtime: 0.14.1
@@ -11819,11 +12219,11 @@ snapshots:
'@babel/parser': 7.25.7
'@babel/types': 7.25.7
- '@babel/template@7.26.8':
+ '@babel/template@7.26.9':
dependencies:
'@babel/code-frame': 7.26.2
- '@babel/parser': 7.26.8
- '@babel/types': 7.26.8
+ '@babel/parser': 7.26.9
+ '@babel/types': 7.26.9
'@babel/traverse@7.25.7':
dependencies:
@@ -11837,13 +12237,13 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@babel/traverse@7.26.8':
+ '@babel/traverse@7.26.9':
dependencies:
'@babel/code-frame': 7.26.2
- '@babel/generator': 7.26.8
- '@babel/parser': 7.26.8
- '@babel/template': 7.26.8
- '@babel/types': 7.26.8
+ '@babel/generator': 7.26.9
+ '@babel/parser': 7.26.9
+ '@babel/template': 7.26.9
+ '@babel/types': 7.26.9
debug: 4.4.0
globals: 11.12.0
transitivePeerDependencies:
@@ -11852,10 +12252,10 @@ snapshots:
'@babel/types@7.25.7':
dependencies:
'@babel/helper-string-parser': 7.25.7
- '@babel/helper-validator-identifier': 7.25.7
+ '@babel/helper-validator-identifier': 7.25.9
to-fast-properties: 2.0.0
- '@babel/types@7.26.8':
+ '@babel/types@7.26.9':
dependencies:
'@babel/helper-string-parser': 7.25.9
'@babel/helper-validator-identifier': 7.25.9
@@ -12104,154 +12504,357 @@ snapshots:
'@cspell/dict-typescript': 3.1.6
'@cspell/dict-vue': 3.0.0
+ '@cspell/cspell-bundled-dicts@8.17.4':
+ dependencies:
+ '@cspell/dict-ada': 4.1.0
+ '@cspell/dict-al': 1.1.0
+ '@cspell/dict-aws': 4.0.9
+ '@cspell/dict-bash': 4.2.0
+ '@cspell/dict-companies': 3.1.14
+ '@cspell/dict-cpp': 6.0.3
+ '@cspell/dict-cryptocurrencies': 5.0.4
+ '@cspell/dict-csharp': 4.0.6
+ '@cspell/dict-css': 4.0.17
+ '@cspell/dict-dart': 2.3.0
+ '@cspell/dict-data-science': 2.0.7
+ '@cspell/dict-django': 4.1.4
+ '@cspell/dict-docker': 1.1.12
+ '@cspell/dict-dotnet': 5.0.9
+ '@cspell/dict-elixir': 4.0.7
+ '@cspell/dict-en-common-misspellings': 2.0.9
+ '@cspell/dict-en-gb': 1.1.33
+ '@cspell/dict-en_us': 4.3.31
+ '@cspell/dict-filetypes': 3.0.11
+ '@cspell/dict-flutter': 1.1.0
+ '@cspell/dict-fonts': 4.0.4
+ '@cspell/dict-fsharp': 1.1.0
+ '@cspell/dict-fullstack': 3.2.4
+ '@cspell/dict-gaming-terms': 1.1.0
+ '@cspell/dict-git': 3.0.4
+ '@cspell/dict-golang': 6.0.18
+ '@cspell/dict-google': 1.0.8
+ '@cspell/dict-haskell': 4.0.5
+ '@cspell/dict-html': 4.0.11
+ '@cspell/dict-html-symbol-entities': 4.0.3
+ '@cspell/dict-java': 5.0.11
+ '@cspell/dict-julia': 1.1.0
+ '@cspell/dict-k8s': 1.0.10
+ '@cspell/dict-kotlin': 1.1.0
+ '@cspell/dict-latex': 4.0.3
+ '@cspell/dict-lorem-ipsum': 4.0.4
+ '@cspell/dict-lua': 4.0.7
+ '@cspell/dict-makefile': 1.0.4
+ '@cspell/dict-markdown': 2.0.9(@cspell/dict-css@4.0.17)(@cspell/dict-html-symbol-entities@4.0.3)(@cspell/dict-html@4.0.11)(@cspell/dict-typescript@3.2.0)
+ '@cspell/dict-monkeyc': 1.0.10
+ '@cspell/dict-node': 5.0.6
+ '@cspell/dict-npm': 5.1.26
+ '@cspell/dict-php': 4.0.14
+ '@cspell/dict-powershell': 5.0.14
+ '@cspell/dict-public-licenses': 2.0.13
+ '@cspell/dict-python': 4.2.15
+ '@cspell/dict-r': 2.1.0
+ '@cspell/dict-ruby': 5.0.7
+ '@cspell/dict-rust': 4.0.11
+ '@cspell/dict-scala': 5.0.7
+ '@cspell/dict-shell': 1.1.0
+ '@cspell/dict-software-terms': 4.2.5
+ '@cspell/dict-sql': 2.2.0
+ '@cspell/dict-svelte': 1.0.6
+ '@cspell/dict-swift': 2.0.5
+ '@cspell/dict-terraform': 1.1.0
+ '@cspell/dict-typescript': 3.2.0
+ '@cspell/dict-vue': 3.0.4
+
'@cspell/cspell-json-reporter@8.14.4':
dependencies:
'@cspell/cspell-types': 8.14.4
'@cspell/cspell-pipe@8.14.4': {}
+ '@cspell/cspell-pipe@8.17.4': {}
+
'@cspell/cspell-resolver@8.14.4':
dependencies:
global-directory: 4.0.1
+ '@cspell/cspell-resolver@8.17.4':
+ dependencies:
+ global-directory: 4.0.1
+
'@cspell/cspell-service-bus@8.14.4': {}
+ '@cspell/cspell-service-bus@8.17.4': {}
+
'@cspell/cspell-types@8.14.4': {}
+ '@cspell/cspell-types@8.17.4': {}
+
'@cspell/dict-ada@4.0.2': {}
+ '@cspell/dict-ada@4.1.0': {}
+
+ '@cspell/dict-al@1.1.0': {}
+
'@cspell/dict-aws@4.0.4': {}
+ '@cspell/dict-aws@4.0.9': {}
+
'@cspell/dict-bash@4.1.5': {}
+ '@cspell/dict-bash@4.2.0':
+ dependencies:
+ '@cspell/dict-shell': 1.1.0
+
+ '@cspell/dict-companies@3.1.14': {}
+
'@cspell/dict-companies@3.1.4': {}
'@cspell/dict-cpp@5.1.19': {}
+ '@cspell/dict-cpp@6.0.3': {}
+
'@cspell/dict-cryptocurrencies@5.0.0': {}
+ '@cspell/dict-cryptocurrencies@5.0.4': {}
+
'@cspell/dict-csharp@4.0.2': {}
+ '@cspell/dict-csharp@4.0.6': {}
+
'@cspell/dict-css@4.0.13': {}
+ '@cspell/dict-css@4.0.17': {}
+
'@cspell/dict-dart@2.2.1': {}
- '@cspell/dict-data-science@2.0.2': {}
+ '@cspell/dict-dart@2.3.0': {}
+
+ '@cspell/dict-data-science@2.0.7': {}
'@cspell/dict-django@4.1.0': {}
+ '@cspell/dict-django@4.1.4': {}
+
+ '@cspell/dict-docker@1.1.12': {}
+
'@cspell/dict-docker@1.1.7': {}
'@cspell/dict-dotnet@5.0.5': {}
+ '@cspell/dict-dotnet@5.0.9': {}
+
'@cspell/dict-elixir@4.0.3': {}
+ '@cspell/dict-elixir@4.0.7': {}
+
'@cspell/dict-en-common-misspellings@2.0.4': {}
+ '@cspell/dict-en-common-misspellings@2.0.9': {}
+
'@cspell/dict-en-gb@1.1.33': {}
'@cspell/dict-en_us@4.3.23': {}
+ '@cspell/dict-en_us@4.3.31': {}
+
+ '@cspell/dict-filetypes@3.0.11': {}
+
'@cspell/dict-filetypes@3.0.4': {}
'@cspell/dict-flutter@1.0.0': {}
+ '@cspell/dict-flutter@1.1.0': {}
+
'@cspell/dict-fonts@4.0.0': {}
+ '@cspell/dict-fonts@4.0.4': {}
+
'@cspell/dict-fsharp@1.0.1': {}
+ '@cspell/dict-fsharp@1.1.0': {}
+
'@cspell/dict-fullstack@3.2.0': {}
+ '@cspell/dict-fullstack@3.2.4': {}
+
'@cspell/dict-gaming-terms@1.0.5': {}
+ '@cspell/dict-gaming-terms@1.1.0': {}
+
'@cspell/dict-git@3.0.0': {}
+ '@cspell/dict-git@3.0.4': {}
+
'@cspell/dict-golang@6.0.13': {}
+ '@cspell/dict-golang@6.0.18': {}
+
'@cspell/dict-google@1.0.1': {}
+ '@cspell/dict-google@1.0.8': {}
+
'@cspell/dict-haskell@4.0.1': {}
+ '@cspell/dict-haskell@4.0.5': {}
+
'@cspell/dict-html-symbol-entities@4.0.0': {}
+ '@cspell/dict-html-symbol-entities@4.0.3': {}
+
+ '@cspell/dict-html@4.0.11': {}
+
'@cspell/dict-html@4.0.6': {}
+ '@cspell/dict-java@5.0.11': {}
+
'@cspell/dict-java@5.0.7': {}
'@cspell/dict-julia@1.0.1': {}
+ '@cspell/dict-julia@1.1.0': {}
+
+ '@cspell/dict-k8s@1.0.10': {}
+
'@cspell/dict-k8s@1.0.6': {}
+ '@cspell/dict-kotlin@1.1.0': {}
+
'@cspell/dict-latex@4.0.0': {}
+ '@cspell/dict-latex@4.0.3': {}
+
'@cspell/dict-lorem-ipsum@4.0.0': {}
+ '@cspell/dict-lorem-ipsum@4.0.4': {}
+
'@cspell/dict-lua@4.0.3': {}
+ '@cspell/dict-lua@4.0.7': {}
+
'@cspell/dict-makefile@1.0.0': {}
+ '@cspell/dict-makefile@1.0.4': {}
+
+ '@cspell/dict-markdown@2.0.9(@cspell/dict-css@4.0.17)(@cspell/dict-html-symbol-entities@4.0.3)(@cspell/dict-html@4.0.11)(@cspell/dict-typescript@3.2.0)':
+ dependencies:
+ '@cspell/dict-css': 4.0.17
+ '@cspell/dict-html': 4.0.11
+ '@cspell/dict-html-symbol-entities': 4.0.3
+ '@cspell/dict-typescript': 3.2.0
+
+ '@cspell/dict-monkeyc@1.0.10': {}
+
'@cspell/dict-monkeyc@1.0.6': {}
'@cspell/dict-node@5.0.1': {}
+ '@cspell/dict-node@5.0.6': {}
+
+ '@cspell/dict-npm@5.1.26': {}
+
'@cspell/dict-npm@5.1.5': {}
'@cspell/dict-php@4.0.10': {}
+ '@cspell/dict-php@4.0.14': {}
+
'@cspell/dict-powershell@5.0.10': {}
+ '@cspell/dict-powershell@5.0.14': {}
+
+ '@cspell/dict-public-licenses@2.0.13': {}
+
'@cspell/dict-public-licenses@2.0.8': {}
+ '@cspell/dict-python@4.2.15':
+ dependencies:
+ '@cspell/dict-data-science': 2.0.7
+
'@cspell/dict-python@4.2.8':
dependencies:
- '@cspell/dict-data-science': 2.0.2
+ '@cspell/dict-data-science': 2.0.7
'@cspell/dict-r@2.0.1': {}
+ '@cspell/dict-r@2.1.0': {}
+
'@cspell/dict-ruby@5.0.4': {}
+ '@cspell/dict-ruby@5.0.7': {}
+
+ '@cspell/dict-rust@4.0.11': {}
+
'@cspell/dict-rust@4.0.6': {}
'@cspell/dict-scala@5.0.3': {}
+ '@cspell/dict-scala@5.0.7': {}
+
+ '@cspell/dict-shell@1.1.0': {}
+
'@cspell/dict-software-terms@4.1.7': {}
+ '@cspell/dict-software-terms@4.2.5': {}
+
'@cspell/dict-sql@2.1.5': {}
+ '@cspell/dict-sql@2.2.0': {}
+
'@cspell/dict-svelte@1.0.2': {}
+ '@cspell/dict-svelte@1.0.6': {}
+
'@cspell/dict-swift@2.0.1': {}
+ '@cspell/dict-swift@2.0.5': {}
+
'@cspell/dict-terraform@1.0.2': {}
+ '@cspell/dict-terraform@1.1.0': {}
+
'@cspell/dict-typescript@3.1.6': {}
+ '@cspell/dict-typescript@3.2.0': {}
+
'@cspell/dict-vue@3.0.0': {}
+ '@cspell/dict-vue@3.0.4': {}
+
'@cspell/dynamic-import@8.14.4':
dependencies:
import-meta-resolve: 4.1.0
- '@cspell/eslint-plugin@8.14.4(eslint@9.12.0(jiti@1.21.6))':
+ '@cspell/dynamic-import@8.17.4':
dependencies:
- '@cspell/cspell-types': 8.14.4
- '@cspell/url': 8.14.4
- cspell-lib: 8.14.4
- eslint: 9.12.0(jiti@1.21.6)
+ '@cspell/url': 8.17.4
+ import-meta-resolve: 4.1.0
+
+ '@cspell/eslint-plugin@8.17.4(eslint@9.20.1(jiti@1.21.6))':
+ dependencies:
+ '@cspell/cspell-types': 8.17.4
+ '@cspell/url': 8.17.4
+ cspell-lib: 8.17.4
+ eslint: 9.20.1(jiti@1.21.6)
synckit: 0.9.2
'@cspell/filetypes@8.14.4': {}
+ '@cspell/filetypes@8.17.4': {}
+
'@cspell/strong-weak-map@8.14.4': {}
+ '@cspell/strong-weak-map@8.17.4': {}
+
'@cspell/url@8.14.4': {}
- '@cypress/code-coverage@3.13.4(@babel/core@7.25.7)(@babel/preset-env@7.26.7(@babel/core@7.25.7))(babel-loader@9.2.1(@babel/core@7.25.7)(webpack@5.95.0(esbuild@0.21.5)))(cypress@13.15.0)(webpack@5.95.0(esbuild@0.21.5))':
+ '@cspell/url@8.17.4': {}
+
+ '@cypress/code-coverage@3.13.4(@babel/core@7.25.7)(@babel/preset-env@7.26.9(@babel/core@7.25.7))(babel-loader@9.2.1(@babel/core@7.25.7)(webpack@5.95.0(esbuild@0.25.0)))(cypress@13.15.0)(webpack@5.95.0(esbuild@0.25.0))':
dependencies:
'@babel/core': 7.25.7
- '@babel/preset-env': 7.26.7(@babel/core@7.25.7)
- '@cypress/webpack-preprocessor': 6.0.2(@babel/core@7.25.7)(@babel/preset-env@7.26.7(@babel/core@7.25.7))(babel-loader@9.2.1(@babel/core@7.25.7)(webpack@5.95.0(esbuild@0.21.5)))(webpack@5.95.0(esbuild@0.21.5))
- babel-loader: 9.2.1(@babel/core@7.25.7)(webpack@5.95.0(esbuild@0.21.5))
+ '@babel/preset-env': 7.26.9(@babel/core@7.25.7)
+ '@cypress/webpack-preprocessor': 6.0.2(@babel/core@7.25.7)(@babel/preset-env@7.26.9(@babel/core@7.25.7))(babel-loader@9.2.1(@babel/core@7.25.7)(webpack@5.95.0(esbuild@0.25.0)))(webpack@5.95.0(esbuild@0.25.0))
+ babel-loader: 9.2.1(@babel/core@7.25.7)(webpack@5.95.0(esbuild@0.25.0))
chalk: 4.1.2
cypress: 13.15.0
dayjs: 1.11.13
@@ -12261,7 +12864,7 @@ snapshots:
istanbul-lib-coverage: 3.2.2
js-yaml: 4.1.0
nyc: 15.1.0
- webpack: 5.95.0(esbuild@0.21.5)
+ webpack: 5.95.0(esbuild@0.25.0)
transitivePeerDependencies:
- supports-color
@@ -12286,15 +12889,15 @@ snapshots:
tunnel-agent: 0.6.0
uuid: 8.3.2
- '@cypress/webpack-preprocessor@6.0.2(@babel/core@7.25.7)(@babel/preset-env@7.26.7(@babel/core@7.25.7))(babel-loader@9.2.1(@babel/core@7.25.7)(webpack@5.95.0(esbuild@0.21.5)))(webpack@5.95.0(esbuild@0.21.5))':
+ '@cypress/webpack-preprocessor@6.0.2(@babel/core@7.25.7)(@babel/preset-env@7.26.9(@babel/core@7.25.7))(babel-loader@9.2.1(@babel/core@7.25.7)(webpack@5.95.0(esbuild@0.25.0)))(webpack@5.95.0(esbuild@0.25.0))':
dependencies:
'@babel/core': 7.25.7
- '@babel/preset-env': 7.26.7(@babel/core@7.25.7)
- babel-loader: 9.2.1(@babel/core@7.25.7)(webpack@5.95.0(esbuild@0.21.5))
+ '@babel/preset-env': 7.26.9(@babel/core@7.25.7)
+ babel-loader: 9.2.1(@babel/core@7.25.7)(webpack@5.95.0(esbuild@0.25.0))
bluebird: 3.7.1
debug: 4.3.7(supports-color@8.1.1)
lodash: 4.17.21
- webpack: 5.95.0(esbuild@0.21.5)
+ webpack: 5.95.0(esbuild@0.25.0)
transitivePeerDependencies:
- supports-color
@@ -12338,10 +12941,10 @@ snapshots:
'@emnapi/runtime@1.3.0':
dependencies:
- tslib: 2.7.0
+ tslib: 2.8.1
optional: true
- '@es-joy/jsdoccomment@0.48.0':
+ '@es-joy/jsdoccomment@0.49.0':
dependencies:
comment-parser: 1.4.1
esquery: 1.6.0
@@ -12353,178 +12956,256 @@ snapshots:
'@esbuild/aix-ppc64@0.23.1':
optional: true
+ '@esbuild/aix-ppc64@0.25.0':
+ optional: true
+
'@esbuild/android-arm64@0.21.5':
optional: true
'@esbuild/android-arm64@0.23.1':
optional: true
+ '@esbuild/android-arm64@0.25.0':
+ optional: true
+
'@esbuild/android-arm@0.21.5':
optional: true
'@esbuild/android-arm@0.23.1':
optional: true
+ '@esbuild/android-arm@0.25.0':
+ optional: true
+
'@esbuild/android-x64@0.21.5':
optional: true
'@esbuild/android-x64@0.23.1':
optional: true
+ '@esbuild/android-x64@0.25.0':
+ optional: true
+
'@esbuild/darwin-arm64@0.21.5':
optional: true
'@esbuild/darwin-arm64@0.23.1':
optional: true
+ '@esbuild/darwin-arm64@0.25.0':
+ optional: true
+
'@esbuild/darwin-x64@0.21.5':
optional: true
'@esbuild/darwin-x64@0.23.1':
optional: true
+ '@esbuild/darwin-x64@0.25.0':
+ optional: true
+
'@esbuild/freebsd-arm64@0.21.5':
optional: true
'@esbuild/freebsd-arm64@0.23.1':
optional: true
+ '@esbuild/freebsd-arm64@0.25.0':
+ optional: true
+
'@esbuild/freebsd-x64@0.21.5':
optional: true
'@esbuild/freebsd-x64@0.23.1':
optional: true
+ '@esbuild/freebsd-x64@0.25.0':
+ optional: true
+
'@esbuild/linux-arm64@0.21.5':
optional: true
'@esbuild/linux-arm64@0.23.1':
optional: true
+ '@esbuild/linux-arm64@0.25.0':
+ optional: true
+
'@esbuild/linux-arm@0.21.5':
optional: true
'@esbuild/linux-arm@0.23.1':
optional: true
+ '@esbuild/linux-arm@0.25.0':
+ optional: true
+
'@esbuild/linux-ia32@0.21.5':
optional: true
'@esbuild/linux-ia32@0.23.1':
optional: true
+ '@esbuild/linux-ia32@0.25.0':
+ optional: true
+
'@esbuild/linux-loong64@0.21.5':
optional: true
'@esbuild/linux-loong64@0.23.1':
optional: true
+ '@esbuild/linux-loong64@0.25.0':
+ optional: true
+
'@esbuild/linux-mips64el@0.21.5':
optional: true
'@esbuild/linux-mips64el@0.23.1':
optional: true
+ '@esbuild/linux-mips64el@0.25.0':
+ optional: true
+
'@esbuild/linux-ppc64@0.21.5':
optional: true
'@esbuild/linux-ppc64@0.23.1':
optional: true
+ '@esbuild/linux-ppc64@0.25.0':
+ optional: true
+
'@esbuild/linux-riscv64@0.21.5':
optional: true
'@esbuild/linux-riscv64@0.23.1':
optional: true
+ '@esbuild/linux-riscv64@0.25.0':
+ optional: true
+
'@esbuild/linux-s390x@0.21.5':
optional: true
'@esbuild/linux-s390x@0.23.1':
optional: true
+ '@esbuild/linux-s390x@0.25.0':
+ optional: true
+
'@esbuild/linux-x64@0.21.5':
optional: true
'@esbuild/linux-x64@0.23.1':
optional: true
+ '@esbuild/linux-x64@0.25.0':
+ optional: true
+
+ '@esbuild/netbsd-arm64@0.25.0':
+ optional: true
+
'@esbuild/netbsd-x64@0.21.5':
optional: true
'@esbuild/netbsd-x64@0.23.1':
optional: true
+ '@esbuild/netbsd-x64@0.25.0':
+ optional: true
+
'@esbuild/openbsd-arm64@0.23.1':
optional: true
+ '@esbuild/openbsd-arm64@0.25.0':
+ optional: true
+
'@esbuild/openbsd-x64@0.21.5':
optional: true
'@esbuild/openbsd-x64@0.23.1':
optional: true
+ '@esbuild/openbsd-x64@0.25.0':
+ optional: true
+
'@esbuild/sunos-x64@0.21.5':
optional: true
'@esbuild/sunos-x64@0.23.1':
optional: true
+ '@esbuild/sunos-x64@0.25.0':
+ optional: true
+
'@esbuild/win32-arm64@0.21.5':
optional: true
'@esbuild/win32-arm64@0.23.1':
optional: true
+ '@esbuild/win32-arm64@0.25.0':
+ optional: true
+
'@esbuild/win32-ia32@0.21.5':
optional: true
'@esbuild/win32-ia32@0.23.1':
optional: true
+ '@esbuild/win32-ia32@0.25.0':
+ optional: true
+
'@esbuild/win32-x64@0.21.5':
optional: true
'@esbuild/win32-x64@0.23.1':
optional: true
- '@eslint-community/eslint-utils@4.4.0(eslint@9.12.0(jiti@1.21.6))':
+ '@esbuild/win32-x64@0.25.0':
+ optional: true
+
+ '@eslint-community/eslint-utils@4.4.1(eslint@9.20.1(jiti@1.21.6))':
dependencies:
- eslint: 9.12.0(jiti@1.21.6)
+ eslint: 9.20.1(jiti@1.21.6)
eslint-visitor-keys: 3.4.3
- '@eslint-community/regexpp@4.11.1': {}
+ '@eslint-community/regexpp@4.12.1': {}
- '@eslint/config-array@0.18.0':
+ '@eslint/config-array@0.19.2':
dependencies:
- '@eslint/object-schema': 2.1.4
- debug: 4.3.7(supports-color@8.1.1)
+ '@eslint/object-schema': 2.1.6
+ debug: 4.4.0
minimatch: 3.1.2
transitivePeerDependencies:
- supports-color
- '@eslint/core@0.6.0': {}
+ '@eslint/core@0.11.0':
+ dependencies:
+ '@types/json-schema': 7.0.15
- '@eslint/eslintrc@3.1.0':
+ '@eslint/eslintrc@3.2.0':
dependencies:
ajv: 6.12.6
- debug: 4.3.7(supports-color@8.1.1)
- espree: 10.2.0
+ debug: 4.4.0
+ espree: 10.3.0
globals: 14.0.0
ignore: 5.3.2
- import-fresh: 3.3.0
+ import-fresh: 3.3.1
js-yaml: 4.1.0
minimatch: 3.1.2
strip-json-comments: 3.1.1
transitivePeerDependencies:
- supports-color
- '@eslint/js@9.12.0': {}
+ '@eslint/js@9.20.0': {}
- '@eslint/object-schema@2.1.4': {}
+ '@eslint/object-schema@2.1.6': {}
- '@eslint/plugin-kit@0.2.0':
+ '@eslint/plugin-kit@0.2.6':
dependencies:
+ '@eslint/core': 0.11.0
levn: 0.4.1
'@fastify/ajv-compiler@3.6.0':
@@ -12608,17 +13289,19 @@ snapshots:
'@tanstack/vue-virtual': 3.10.8(vue@3.5.11(typescript@5.6.2))
vue: 3.5.11(typescript@5.6.2)
- '@humanfs/core@0.19.0': {}
+ '@humanfs/core@0.19.1': {}
- '@humanfs/node@0.16.5':
+ '@humanfs/node@0.16.6':
dependencies:
- '@humanfs/core': 0.19.0
+ '@humanfs/core': 0.19.1
'@humanwhocodes/retry': 0.3.1
'@humanwhocodes/module-importer@1.0.1': {}
'@humanwhocodes/retry@0.3.1': {}
+ '@humanwhocodes/retry@0.4.2': {}
+
'@iconify-json/carbon@1.2.1':
dependencies:
'@iconify/types': 2.0.0
@@ -12943,14 +13626,14 @@ snapshots:
'@mdi/font@7.4.47': {}
- '@microsoft/tsdoc-config@0.17.0':
+ '@microsoft/tsdoc-config@0.17.1':
dependencies:
- '@microsoft/tsdoc': 0.15.0
+ '@microsoft/tsdoc': 0.15.1
ajv: 8.12.0
jju: 1.4.0
- resolve: 1.22.8
+ resolve: 1.22.10
- '@microsoft/tsdoc@0.15.0': {}
+ '@microsoft/tsdoc@0.15.1': {}
'@nodelib/fs.scandir@2.1.5':
dependencies:
@@ -12971,9 +13654,9 @@ snapshots:
'@polka/url@1.0.0-next.28': {}
- '@rollup/plugin-babel@5.3.1(@babel/core@7.26.8)(@types/babel__core@7.20.5)(rollup@2.79.2)':
+ '@rollup/plugin-babel@5.3.1(@babel/core@7.26.9)(@types/babel__core@7.20.5)(rollup@2.79.2)':
dependencies:
- '@babel/core': 7.26.8
+ '@babel/core': 7.26.9
'@babel/helper-module-imports': 7.25.9
'@rollup/pluginutils': 3.1.0(rollup@2.79.2)
rollup: 2.79.2
@@ -13002,18 +13685,18 @@ snapshots:
dependencies:
serialize-javascript: 6.0.2
smob: 1.5.0
- terser: 5.38.2
+ terser: 5.39.0
optionalDependencies:
rollup: 2.79.2
- '@rollup/plugin-typescript@11.1.6(rollup@4.32.0)(tslib@2.7.0)(typescript@5.4.5)':
+ '@rollup/plugin-typescript@11.1.6(rollup@4.32.0)(tslib@2.8.1)(typescript@5.4.5)':
dependencies:
'@rollup/pluginutils': 5.1.2(rollup@4.32.0)
resolve: 1.22.8
typescript: 5.4.5
optionalDependencies:
rollup: 4.32.0
- tslib: 2.7.0
+ tslib: 2.8.1
'@rollup/pluginutils@3.1.0(rollup@2.79.2)':
dependencies:
@@ -13442,8 +14125,6 @@ snapshots:
'@types/flexsearch@0.7.6': {}
- '@types/gensync@1.0.4': {}
-
'@types/geojson@7946.0.14': {}
'@types/glob@7.2.0':
@@ -13636,57 +14317,54 @@ snapshots:
'@types/node': 20.16.11
optional: true
- '@typescript-eslint/eslint-plugin@8.8.1(@typescript-eslint/parser@8.8.1(eslint@9.12.0(jiti@1.21.6))(typescript@5.4.5))(eslint@9.12.0(jiti@1.21.6))(typescript@5.4.5)':
+ '@typescript-eslint/eslint-plugin@8.24.1(@typescript-eslint/parser@8.24.1(eslint@9.20.1(jiti@1.21.6))(typescript@5.4.5))(eslint@9.20.1(jiti@1.21.6))(typescript@5.4.5)':
dependencies:
- '@eslint-community/regexpp': 4.11.1
- '@typescript-eslint/parser': 8.8.1(eslint@9.12.0(jiti@1.21.6))(typescript@5.4.5)
- '@typescript-eslint/scope-manager': 8.8.1
- '@typescript-eslint/type-utils': 8.8.1(eslint@9.12.0(jiti@1.21.6))(typescript@5.4.5)
- '@typescript-eslint/utils': 8.8.1(eslint@9.12.0(jiti@1.21.6))(typescript@5.4.5)
- '@typescript-eslint/visitor-keys': 8.8.1
- eslint: 9.12.0(jiti@1.21.6)
+ '@eslint-community/regexpp': 4.12.1
+ '@typescript-eslint/parser': 8.24.1(eslint@9.20.1(jiti@1.21.6))(typescript@5.4.5)
+ '@typescript-eslint/scope-manager': 8.24.1
+ '@typescript-eslint/type-utils': 8.24.1(eslint@9.20.1(jiti@1.21.6))(typescript@5.4.5)
+ '@typescript-eslint/utils': 8.24.1(eslint@9.20.1(jiti@1.21.6))(typescript@5.4.5)
+ '@typescript-eslint/visitor-keys': 8.24.1
+ eslint: 9.20.1(jiti@1.21.6)
graphemer: 1.4.0
ignore: 5.3.2
natural-compare: 1.4.0
- ts-api-utils: 1.3.0(typescript@5.4.5)
- optionalDependencies:
+ ts-api-utils: 2.0.1(typescript@5.4.5)
typescript: 5.4.5
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/parser@8.8.1(eslint@9.12.0(jiti@1.21.6))(typescript@5.4.5)':
+ '@typescript-eslint/parser@8.24.1(eslint@9.20.1(jiti@1.21.6))(typescript@5.4.5)':
dependencies:
- '@typescript-eslint/scope-manager': 8.8.1
- '@typescript-eslint/types': 8.8.1
- '@typescript-eslint/typescript-estree': 8.8.1(typescript@5.4.5)
- '@typescript-eslint/visitor-keys': 8.8.1
+ '@typescript-eslint/scope-manager': 8.24.1
+ '@typescript-eslint/types': 8.24.1
+ '@typescript-eslint/typescript-estree': 8.24.1(typescript@5.4.5)
+ '@typescript-eslint/visitor-keys': 8.24.1
debug: 4.4.0
- eslint: 9.12.0(jiti@1.21.6)
- optionalDependencies:
+ eslint: 9.20.1(jiti@1.21.6)
typescript: 5.4.5
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/scope-manager@8.8.1':
+ '@typescript-eslint/scope-manager@8.24.1':
dependencies:
- '@typescript-eslint/types': 8.8.1
- '@typescript-eslint/visitor-keys': 8.8.1
+ '@typescript-eslint/types': 8.24.1
+ '@typescript-eslint/visitor-keys': 8.24.1
- '@typescript-eslint/type-utils@8.8.1(eslint@9.12.0(jiti@1.21.6))(typescript@5.4.5)':
+ '@typescript-eslint/type-utils@8.24.1(eslint@9.20.1(jiti@1.21.6))(typescript@5.4.5)':
dependencies:
- '@typescript-eslint/typescript-estree': 8.8.1(typescript@5.4.5)
- '@typescript-eslint/utils': 8.8.1(eslint@9.12.0(jiti@1.21.6))(typescript@5.4.5)
+ '@typescript-eslint/typescript-estree': 8.24.1(typescript@5.4.5)
+ '@typescript-eslint/utils': 8.24.1(eslint@9.20.1(jiti@1.21.6))(typescript@5.4.5)
debug: 4.4.0
- ts-api-utils: 1.3.0(typescript@5.4.5)
- optionalDependencies:
+ eslint: 9.20.1(jiti@1.21.6)
+ ts-api-utils: 2.0.1(typescript@5.4.5)
typescript: 5.4.5
transitivePeerDependencies:
- - eslint
- supports-color
'@typescript-eslint/types@7.18.0': {}
- '@typescript-eslint/types@8.8.1': {}
+ '@typescript-eslint/types@8.24.1': {}
'@typescript-eslint/typescript-estree@7.18.0(typescript@5.6.2)':
dependencies:
@@ -13696,58 +14374,57 @@ snapshots:
globby: 11.1.0
is-glob: 4.0.3
minimatch: 9.0.5
- semver: 7.6.3
- ts-api-utils: 1.3.0(typescript@5.6.2)
+ semver: 7.7.1
+ ts-api-utils: 1.4.3(typescript@5.6.2)
optionalDependencies:
typescript: 5.6.2
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/typescript-estree@8.8.1(typescript@5.4.5)':
+ '@typescript-eslint/typescript-estree@8.24.1(typescript@5.4.5)':
dependencies:
- '@typescript-eslint/types': 8.8.1
- '@typescript-eslint/visitor-keys': 8.8.1
+ '@typescript-eslint/types': 8.24.1
+ '@typescript-eslint/visitor-keys': 8.24.1
debug: 4.4.0
- fast-glob: 3.3.2
+ fast-glob: 3.3.3
is-glob: 4.0.3
minimatch: 9.0.5
- semver: 7.6.3
- ts-api-utils: 1.3.0(typescript@5.4.5)
- optionalDependencies:
+ semver: 7.7.1
+ ts-api-utils: 2.0.1(typescript@5.4.5)
typescript: 5.4.5
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/utils@8.8.1(eslint@9.12.0(jiti@1.21.6))(typescript@5.4.5)':
+ '@typescript-eslint/utils@8.24.1(eslint@9.20.1(jiti@1.21.6))(typescript@5.4.5)':
dependencies:
- '@eslint-community/eslint-utils': 4.4.0(eslint@9.12.0(jiti@1.21.6))
- '@typescript-eslint/scope-manager': 8.8.1
- '@typescript-eslint/types': 8.8.1
- '@typescript-eslint/typescript-estree': 8.8.1(typescript@5.4.5)
- eslint: 9.12.0(jiti@1.21.6)
+ '@eslint-community/eslint-utils': 4.4.1(eslint@9.20.1(jiti@1.21.6))
+ '@typescript-eslint/scope-manager': 8.24.1
+ '@typescript-eslint/types': 8.24.1
+ '@typescript-eslint/typescript-estree': 8.24.1(typescript@5.4.5)
+ eslint: 9.20.1(jiti@1.21.6)
+ typescript: 5.4.5
transitivePeerDependencies:
- supports-color
- - typescript
'@typescript-eslint/visitor-keys@7.18.0':
dependencies:
'@typescript-eslint/types': 7.18.0
eslint-visitor-keys: 3.4.3
- '@typescript-eslint/visitor-keys@8.8.1':
+ '@typescript-eslint/visitor-keys@8.24.1':
dependencies:
- '@typescript-eslint/types': 8.8.1
- eslint-visitor-keys: 3.4.3
+ '@typescript-eslint/types': 8.24.1
+ eslint-visitor-keys: 4.2.0
'@ungap/structured-clone@1.2.0': {}
- '@unocss/astro@0.59.4(rollup@2.79.2)(vite@5.4.12(@types/node@20.16.11)(terser@5.38.2))':
+ '@unocss/astro@0.59.4(rollup@2.79.2)(vite@5.4.12(@types/node@20.16.11)(terser@5.39.0))':
dependencies:
'@unocss/core': 0.59.4
'@unocss/reset': 0.59.4
- '@unocss/vite': 0.59.4(rollup@2.79.2)(vite@5.4.12(@types/node@20.16.11)(terser@5.38.2))
+ '@unocss/vite': 0.59.4(rollup@2.79.2)(vite@5.4.12(@types/node@20.16.11)(terser@5.39.0))
optionalDependencies:
- vite: 5.4.12(@types/node@20.16.11)(terser@5.38.2)
+ vite: 5.4.12(@types/node@20.16.11)(terser@5.39.0)
transitivePeerDependencies:
- rollup
@@ -13878,7 +14555,7 @@ snapshots:
dependencies:
'@unocss/core': 0.59.4
- '@unocss/vite@0.59.4(rollup@2.79.2)(vite@5.4.12(@types/node@20.16.11)(terser@5.38.2))':
+ '@unocss/vite@0.59.4(rollup@2.79.2)(vite@5.4.12(@types/node@20.16.11)(terser@5.39.0))':
dependencies:
'@ampproject/remapping': 2.3.0
'@rollup/pluginutils': 5.1.2(rollup@2.79.2)
@@ -13890,30 +14567,30 @@ snapshots:
chokidar: 3.6.0
fast-glob: 3.3.2
magic-string: 0.30.11
- vite: 5.4.12(@types/node@20.16.11)(terser@5.38.2)
+ vite: 5.4.12(@types/node@20.16.11)(terser@5.39.0)
transitivePeerDependencies:
- rollup
- '@vite-pwa/vitepress@0.4.0(vite-plugin-pwa@0.19.8(vite@5.4.12(@types/node@20.16.11)(terser@5.38.2))(workbox-build@7.1.1(@types/babel__core@7.20.5))(workbox-window@7.1.0))':
+ '@vite-pwa/vitepress@0.4.0(vite-plugin-pwa@0.19.8(vite@5.4.12(@types/node@20.16.11)(terser@5.39.0))(workbox-build@7.1.1(@types/babel__core@7.20.5))(workbox-window@7.1.0))':
dependencies:
- vite-plugin-pwa: 0.19.8(vite@5.4.12(@types/node@20.16.11)(terser@5.38.2))(workbox-build@7.1.1(@types/babel__core@7.20.5))(workbox-window@7.1.0)
+ vite-plugin-pwa: 0.19.8(vite@5.4.12(@types/node@20.16.11)(terser@5.39.0))(workbox-build@7.1.1(@types/babel__core@7.20.5))(workbox-window@7.1.0)
- '@vitejs/plugin-vue@5.1.4(vite@5.4.12(@types/node@20.16.11)(terser@5.38.2))(vue@3.5.11(typescript@5.6.2))':
+ '@vitejs/plugin-vue@5.1.4(vite@5.4.12(@types/node@20.16.11)(terser@5.39.0))(vue@3.5.11(typescript@5.6.2))':
dependencies:
- vite: 5.4.12(@types/node@20.16.11)(terser@5.38.2)
+ vite: 5.4.12(@types/node@20.16.11)(terser@5.39.0)
vue: 3.5.11(typescript@5.6.2)
- '@vitejs/plugin-vue@5.1.4(vite@5.4.8(@types/node@20.16.11)(terser@5.38.2))(vue@3.5.11(typescript@5.4.5))':
+ '@vitejs/plugin-vue@5.1.4(vite@5.4.8(@types/node@20.16.11)(terser@5.39.0))(vue@3.5.11(typescript@5.4.5))':
dependencies:
- vite: 5.4.8(@types/node@20.16.11)(terser@5.38.2)
+ vite: 5.4.8(@types/node@20.16.11)(terser@5.39.0)
vue: 3.5.11(typescript@5.4.5)
- '@vitejs/plugin-vue@5.1.4(vite@5.4.8(@types/node@20.16.11)(terser@5.38.2))(vue@3.5.11(typescript@5.6.2))':
+ '@vitejs/plugin-vue@5.1.4(vite@5.4.8(@types/node@20.16.11)(terser@5.39.0))(vue@3.5.11(typescript@5.6.2))':
dependencies:
- vite: 5.4.8(@types/node@20.16.11)(terser@5.38.2)
+ vite: 5.4.8(@types/node@20.16.11)(terser@5.39.0)
vue: 3.5.11(typescript@5.6.2)
- '@vitest/coverage-v8@1.6.0(vitest@1.6.1(@types/node@20.16.11)(@vitest/ui@1.6.0)(jsdom@24.1.3)(terser@5.38.2))':
+ '@vitest/coverage-v8@1.6.0(vitest@1.6.1(@types/node@20.16.11)(@vitest/ui@1.6.0)(jsdom@24.1.3)(terser@5.39.0))':
dependencies:
'@ampproject/remapping': 2.3.0
'@bcoe/v8-coverage': 0.2.3
@@ -13928,7 +14605,7 @@ snapshots:
std-env: 3.7.0
strip-literal: 2.1.0
test-exclude: 6.0.0
- vitest: 1.6.1(@types/node@20.16.11)(@vitest/ui@1.6.0)(jsdom@24.1.3)(terser@5.38.2)
+ vitest: 1.6.1(@types/node@20.16.11)(@vitest/ui@1.6.0)(jsdom@24.1.3)(terser@5.39.0)
transitivePeerDependencies:
- supports-color
@@ -13967,7 +14644,7 @@ snapshots:
pathe: 1.1.2
picocolors: 1.1.0
sirv: 2.0.4
- vitest: 1.6.1(@types/node@20.16.11)(@vitest/ui@1.6.0)(jsdom@24.1.3)(terser@5.38.2)
+ vitest: 1.6.1(@types/node@20.16.11)(@vitest/ui@1.6.0)(jsdom@24.1.3)(terser@5.39.0)
'@vitest/utils@1.6.0':
dependencies:
@@ -14241,9 +14918,9 @@ snapshots:
'@webassemblyjs/ast': 1.12.1
'@xtuc/long': 4.2.2
- '@webpack-cli/configtest@1.2.0(webpack-cli@4.10.0(webpack-dev-server@4.15.2)(webpack@5.95.0))(webpack@5.95.0(esbuild@0.21.5)(webpack-cli@4.10.0))':
+ '@webpack-cli/configtest@1.2.0(webpack-cli@4.10.0(webpack-dev-server@4.15.2)(webpack@5.95.0))(webpack@5.95.0(esbuild@0.25.0)(webpack-cli@4.10.0))':
dependencies:
- webpack: 5.95.0(esbuild@0.21.5)(webpack-cli@4.10.0)
+ webpack: 5.95.0(esbuild@0.25.0)(webpack-cli@4.10.0)
webpack-cli: 4.10.0(webpack-dev-server@4.15.2)(webpack@5.95.0)
'@webpack-cli/info@1.5.0(webpack-cli@4.10.0(webpack-dev-server@4.15.2)(webpack@5.95.0))':
@@ -14274,7 +14951,7 @@ snapshots:
antlr4: 4.11.0
color-string: 1.9.1
dom-to-image-more: 2.16.0
- dompurify: 3.2.1
+ dompurify: 3.2.4
file-saver: 2.0.5
highlight.js: 10.7.3
html-to-image: 1.11.11
@@ -14314,6 +14991,10 @@ snapshots:
dependencies:
acorn: 8.12.1
+ acorn-jsx@5.3.2(acorn@8.14.0):
+ dependencies:
+ acorn: 8.14.0
+
acorn-walk@8.3.4:
dependencies:
acorn: 8.14.0
@@ -14577,12 +15258,12 @@ snapshots:
transitivePeerDependencies:
- supports-color
- babel-loader@9.2.1(@babel/core@7.25.7)(webpack@5.95.0(esbuild@0.21.5)):
+ babel-loader@9.2.1(@babel/core@7.25.7)(webpack@5.95.0(esbuild@0.25.0)):
dependencies:
'@babel/core': 7.25.7
find-cache-dir: 4.0.0
schema-utils: 4.3.0
- webpack: 5.95.0(esbuild@0.21.5)
+ webpack: 5.95.0(esbuild@0.25.0)
babel-plugin-istanbul@6.1.1:
dependencies:
@@ -14610,16 +15291,16 @@ snapshots:
transitivePeerDependencies:
- supports-color
- babel-plugin-polyfill-corejs2@0.4.12(@babel/core@7.26.8):
+ babel-plugin-polyfill-corejs2@0.4.12(@babel/core@7.26.9):
dependencies:
'@babel/compat-data': 7.26.8
- '@babel/core': 7.26.8
- '@babel/helper-define-polyfill-provider': 0.6.3(@babel/core@7.26.8)
+ '@babel/core': 7.26.9
+ '@babel/helper-define-polyfill-provider': 0.6.3(@babel/core@7.26.9)
semver: 6.3.1
transitivePeerDependencies:
- supports-color
- babel-plugin-polyfill-corejs3@0.10.6(@babel/core@7.25.7):
+ babel-plugin-polyfill-corejs3@0.11.1(@babel/core@7.25.7):
dependencies:
'@babel/core': 7.25.7
'@babel/helper-define-polyfill-provider': 0.6.3(@babel/core@7.25.7)
@@ -14627,10 +15308,10 @@ snapshots:
transitivePeerDependencies:
- supports-color
- babel-plugin-polyfill-corejs3@0.11.1(@babel/core@7.26.8):
+ babel-plugin-polyfill-corejs3@0.11.1(@babel/core@7.26.9):
dependencies:
- '@babel/core': 7.26.8
- '@babel/helper-define-polyfill-provider': 0.6.3(@babel/core@7.26.8)
+ '@babel/core': 7.26.9
+ '@babel/helper-define-polyfill-provider': 0.6.3(@babel/core@7.26.9)
core-js-compat: 3.40.0
transitivePeerDependencies:
- supports-color
@@ -14642,10 +15323,10 @@ snapshots:
transitivePeerDependencies:
- supports-color
- babel-plugin-polyfill-regenerator@0.6.3(@babel/core@7.26.8):
+ babel-plugin-polyfill-regenerator@0.6.3(@babel/core@7.26.9):
dependencies:
- '@babel/core': 7.26.8
- '@babel/helper-define-polyfill-provider': 0.6.3(@babel/core@7.26.8)
+ '@babel/core': 7.26.9
+ '@babel/helper-define-polyfill-provider': 0.6.3(@babel/core@7.26.9)
transitivePeerDependencies:
- supports-color
@@ -14764,8 +15445,8 @@ snapshots:
browserslist@4.24.4:
dependencies:
- caniuse-lite: 1.0.30001699
- electron-to-chromium: 1.5.98
+ caniuse-lite: 1.0.30001700
+ electron-to-chromium: 1.5.101
node-releases: 2.0.19
update-browserslist-db: 1.1.2(browserslist@4.24.4)
@@ -14789,7 +15470,7 @@ snapshots:
buffers@0.1.1: {}
- builtin-modules@3.3.0: {}
+ builtin-modules@4.0.0: {}
bytes@3.0.0: {}
@@ -14855,7 +15536,7 @@ snapshots:
caniuse-lite@1.0.30001667: {}
- caniuse-lite@1.0.30001699: {}
+ caniuse-lite@1.0.30001700: {}
caseless@0.12.0: {}
@@ -14957,7 +15638,7 @@ snapshots:
ci-info@3.9.0: {}
- ci-info@4.0.0: {}
+ ci-info@4.1.0: {}
cjs-module-lexer@1.4.1: {}
@@ -15176,10 +15857,6 @@ snapshots:
dependencies:
is-what: 4.1.16
- core-js-compat@3.38.1:
- dependencies:
- browserslist: 4.24.0
-
core-js-compat@3.40.0:
dependencies:
browserslist: 4.24.4
@@ -15276,6 +15953,12 @@ snapshots:
comment-json: 4.2.5
yaml: 2.5.1
+ cspell-config-lib@8.17.4:
+ dependencies:
+ '@cspell/cspell-types': 8.17.4
+ comment-json: 4.2.5
+ yaml: 2.7.0
+
cspell-dictionary@8.14.4:
dependencies:
'@cspell/cspell-pipe': 8.14.4
@@ -15283,6 +15966,13 @@ snapshots:
cspell-trie-lib: 8.14.4
fast-equals: 5.0.1
+ cspell-dictionary@8.17.4:
+ dependencies:
+ '@cspell/cspell-pipe': 8.17.4
+ '@cspell/cspell-types': 8.17.4
+ cspell-trie-lib: 8.17.4
+ fast-equals: 5.2.2
+
cspell-gitignore@8.14.4:
dependencies:
'@cspell/url': 8.14.4
@@ -15295,16 +15985,31 @@ snapshots:
'@cspell/url': 8.14.4
micromatch: 4.0.8
+ cspell-glob@8.17.4:
+ dependencies:
+ '@cspell/url': 8.17.4
+ micromatch: 4.0.8
+
cspell-grammar@8.14.4:
dependencies:
'@cspell/cspell-pipe': 8.14.4
'@cspell/cspell-types': 8.14.4
+ cspell-grammar@8.17.4:
+ dependencies:
+ '@cspell/cspell-pipe': 8.17.4
+ '@cspell/cspell-types': 8.17.4
+
cspell-io@8.14.4:
dependencies:
'@cspell/cspell-service-bus': 8.14.4
'@cspell/url': 8.14.4
+ cspell-io@8.17.4:
+ dependencies:
+ '@cspell/cspell-service-bus': 8.17.4
+ '@cspell/url': 8.17.4
+
cspell-lib@8.14.4:
dependencies:
'@cspell/cspell-bundled-dicts': 8.14.4
@@ -15332,12 +16037,45 @@ snapshots:
vscode-uri: 3.0.8
xdg-basedir: 5.1.0
+ cspell-lib@8.17.4:
+ dependencies:
+ '@cspell/cspell-bundled-dicts': 8.17.4
+ '@cspell/cspell-pipe': 8.17.4
+ '@cspell/cspell-resolver': 8.17.4
+ '@cspell/cspell-types': 8.17.4
+ '@cspell/dynamic-import': 8.17.4
+ '@cspell/filetypes': 8.17.4
+ '@cspell/strong-weak-map': 8.17.4
+ '@cspell/url': 8.17.4
+ clear-module: 4.1.2
+ comment-json: 4.2.5
+ cspell-config-lib: 8.17.4
+ cspell-dictionary: 8.17.4
+ cspell-glob: 8.17.4
+ cspell-grammar: 8.17.4
+ cspell-io: 8.17.4
+ cspell-trie-lib: 8.17.4
+ env-paths: 3.0.0
+ fast-equals: 5.2.2
+ gensequence: 7.0.0
+ import-fresh: 3.3.1
+ resolve-from: 5.0.0
+ vscode-languageserver-textdocument: 1.0.12
+ vscode-uri: 3.1.0
+ xdg-basedir: 5.1.0
+
cspell-trie-lib@8.14.4:
dependencies:
'@cspell/cspell-pipe': 8.14.4
'@cspell/cspell-types': 8.14.4
gensequence: 7.0.0
+ cspell-trie-lib@8.17.4:
+ dependencies:
+ '@cspell/cspell-pipe': 8.17.4
+ '@cspell/cspell-types': 8.17.4
+ gensequence: 7.0.0
+
cspell@8.14.4:
dependencies:
'@cspell/cspell-json-reporter': 8.14.4
@@ -15902,7 +16640,7 @@ snapshots:
dependencies:
domelementtype: 2.3.0
- dompurify@3.2.1:
+ dompurify@3.2.4:
optionalDependencies:
'@types/trusted-types': 2.0.7
@@ -15943,9 +16681,9 @@ snapshots:
dependencies:
jake: 10.9.2
- electron-to-chromium@1.5.33: {}
+ electron-to-chromium@1.5.101: {}
- electron-to-chromium@1.5.98: {}
+ electron-to-chromium@1.5.33: {}
elkjs@0.9.3: {}
@@ -16069,6 +16807,8 @@ snapshots:
es-module-lexer@1.5.4: {}
+ es-module-lexer@1.6.0: {}
+
es-object-atoms@1.1.1:
dependencies:
es-errors: 1.3.0
@@ -16168,6 +16908,34 @@ snapshots:
'@esbuild/win32-ia32': 0.23.1
'@esbuild/win32-x64': 0.23.1
+ esbuild@0.25.0:
+ optionalDependencies:
+ '@esbuild/aix-ppc64': 0.25.0
+ '@esbuild/android-arm': 0.25.0
+ '@esbuild/android-arm64': 0.25.0
+ '@esbuild/android-x64': 0.25.0
+ '@esbuild/darwin-arm64': 0.25.0
+ '@esbuild/darwin-x64': 0.25.0
+ '@esbuild/freebsd-arm64': 0.25.0
+ '@esbuild/freebsd-x64': 0.25.0
+ '@esbuild/linux-arm': 0.25.0
+ '@esbuild/linux-arm64': 0.25.0
+ '@esbuild/linux-ia32': 0.25.0
+ '@esbuild/linux-loong64': 0.25.0
+ '@esbuild/linux-mips64el': 0.25.0
+ '@esbuild/linux-ppc64': 0.25.0
+ '@esbuild/linux-riscv64': 0.25.0
+ '@esbuild/linux-s390x': 0.25.0
+ '@esbuild/linux-x64': 0.25.0
+ '@esbuild/netbsd-arm64': 0.25.0
+ '@esbuild/netbsd-x64': 0.25.0
+ '@esbuild/openbsd-arm64': 0.25.0
+ '@esbuild/openbsd-x64': 0.25.0
+ '@esbuild/sunos-x64': 0.25.0
+ '@esbuild/win32-arm64': 0.25.0
+ '@esbuild/win32-ia32': 0.25.0
+ '@esbuild/win32-x64': 0.25.0
+
escalade@3.2.0: {}
escape-html@1.0.3: {}
@@ -16196,42 +16964,42 @@ snapshots:
optionalDependencies:
source-map: 0.6.1
- eslint-config-prettier@9.1.0(eslint@9.12.0(jiti@1.21.6)):
+ eslint-config-prettier@10.0.1(eslint@9.20.1(jiti@1.21.6)):
dependencies:
- eslint: 9.12.0(jiti@1.21.6)
+ eslint: 9.20.1(jiti@1.21.6)
- eslint-plugin-cypress@3.5.0(eslint@9.12.0(jiti@1.21.6)):
+ eslint-plugin-cypress@4.1.0(eslint@9.20.1(jiti@1.21.6)):
dependencies:
- eslint: 9.12.0(jiti@1.21.6)
- globals: 13.24.0
+ eslint: 9.20.1(jiti@1.21.6)
+ globals: 15.15.0
eslint-plugin-html@8.1.2:
dependencies:
htmlparser2: 9.1.0
- eslint-plugin-jest@28.8.3(@typescript-eslint/eslint-plugin@8.8.1(@typescript-eslint/parser@8.8.1(eslint@9.12.0(jiti@1.21.6))(typescript@5.4.5))(eslint@9.12.0(jiti@1.21.6))(typescript@5.4.5))(eslint@9.12.0(jiti@1.21.6))(jest@29.7.0(@types/node@20.16.11))(typescript@5.4.5):
+ eslint-plugin-jest@28.11.0(@typescript-eslint/eslint-plugin@8.24.1(@typescript-eslint/parser@8.24.1(eslint@9.20.1(jiti@1.21.6))(typescript@5.4.5))(eslint@9.20.1(jiti@1.21.6))(typescript@5.4.5))(eslint@9.20.1(jiti@1.21.6))(jest@29.7.0(@types/node@20.16.11))(typescript@5.4.5):
dependencies:
- '@typescript-eslint/utils': 8.8.1(eslint@9.12.0(jiti@1.21.6))(typescript@5.4.5)
- eslint: 9.12.0(jiti@1.21.6)
+ '@typescript-eslint/utils': 8.24.1(eslint@9.20.1(jiti@1.21.6))(typescript@5.4.5)
+ eslint: 9.20.1(jiti@1.21.6)
optionalDependencies:
- '@typescript-eslint/eslint-plugin': 8.8.1(@typescript-eslint/parser@8.8.1(eslint@9.12.0(jiti@1.21.6))(typescript@5.4.5))(eslint@9.12.0(jiti@1.21.6))(typescript@5.4.5)
+ '@typescript-eslint/eslint-plugin': 8.24.1(@typescript-eslint/parser@8.24.1(eslint@9.20.1(jiti@1.21.6))(typescript@5.4.5))(eslint@9.20.1(jiti@1.21.6))(typescript@5.4.5)
jest: 29.7.0(@types/node@20.16.11)
transitivePeerDependencies:
- supports-color
- typescript
- eslint-plugin-jsdoc@50.3.1(eslint@9.12.0(jiti@1.21.6)):
+ eslint-plugin-jsdoc@50.6.3(eslint@9.20.1(jiti@1.21.6)):
dependencies:
- '@es-joy/jsdoccomment': 0.48.0
+ '@es-joy/jsdoccomment': 0.49.0
are-docs-informative: 0.0.2
comment-parser: 1.4.1
- debug: 4.3.7(supports-color@8.1.1)
+ debug: 4.4.0
escape-string-regexp: 4.0.0
- eslint: 9.12.0(jiti@1.21.6)
- espree: 10.2.0
+ eslint: 9.20.1(jiti@1.21.6)
+ espree: 10.3.0
esquery: 1.6.0
parse-imports: 2.2.1
- semver: 7.6.3
+ semver: 7.7.1
spdx-expression-parse: 4.0.0
synckit: 0.9.2
transitivePeerDependencies:
@@ -16242,81 +17010,81 @@ snapshots:
lodash: 4.17.21
vscode-json-languageservice: 4.2.1
- eslint-plugin-lodash@8.0.0(eslint@9.12.0(jiti@1.21.6)):
+ eslint-plugin-lodash@8.0.0(eslint@9.20.1(jiti@1.21.6)):
dependencies:
- eslint: 9.12.0(jiti@1.21.6)
+ eslint: 9.20.1(jiti@1.21.6)
lodash: 4.17.21
- eslint-plugin-markdown@5.1.0(eslint@9.12.0(jiti@1.21.6)):
+ eslint-plugin-markdown@5.1.0(eslint@9.20.1(jiti@1.21.6)):
dependencies:
- eslint: 9.12.0(jiti@1.21.6)
+ eslint: 9.20.1(jiti@1.21.6)
mdast-util-from-markdown: 0.8.5
transitivePeerDependencies:
- supports-color
eslint-plugin-no-only-tests@3.3.0: {}
- eslint-plugin-tsdoc@0.3.0:
+ eslint-plugin-tsdoc@0.4.0:
dependencies:
- '@microsoft/tsdoc': 0.15.0
- '@microsoft/tsdoc-config': 0.17.0
+ '@microsoft/tsdoc': 0.15.1
+ '@microsoft/tsdoc-config': 0.17.1
- eslint-plugin-unicorn@56.0.0(eslint@9.12.0(jiti@1.21.6)):
+ eslint-plugin-unicorn@57.0.0(eslint@9.20.1(jiti@1.21.6)):
dependencies:
- '@babel/helper-validator-identifier': 7.25.7
- '@eslint-community/eslint-utils': 4.4.0(eslint@9.12.0(jiti@1.21.6))
- ci-info: 4.0.0
+ '@babel/helper-validator-identifier': 7.25.9
+ '@eslint-community/eslint-utils': 4.4.1(eslint@9.20.1(jiti@1.21.6))
+ ci-info: 4.1.0
clean-regexp: 1.0.0
- core-js-compat: 3.38.1
- eslint: 9.12.0(jiti@1.21.6)
+ core-js-compat: 3.40.0
+ eslint: 9.20.1(jiti@1.21.6)
esquery: 1.6.0
- globals: 15.10.0
- indent-string: 4.0.0
- is-builtin-module: 3.2.1
- jsesc: 3.0.2
+ globals: 15.15.0
+ indent-string: 5.0.0
+ is-builtin-module: 4.0.0
+ jsesc: 3.1.0
pluralize: 8.0.0
- read-pkg-up: 7.0.1
+ read-package-up: 11.0.0
regexp-tree: 0.1.27
- regjsparser: 0.10.0
- semver: 7.6.3
- strip-indent: 3.0.0
+ regjsparser: 0.12.0
+ semver: 7.7.1
+ strip-indent: 4.0.0
eslint-scope@5.1.1:
dependencies:
esrecurse: 4.3.0
estraverse: 4.3.0
- eslint-scope@8.1.0:
+ eslint-scope@8.2.0:
dependencies:
esrecurse: 4.3.0
estraverse: 5.3.0
eslint-visitor-keys@3.4.3: {}
- eslint-visitor-keys@4.1.0: {}
+ eslint-visitor-keys@4.2.0: {}
- eslint@9.12.0(jiti@1.21.6):
+ eslint@9.20.1(jiti@1.21.6):
dependencies:
- '@eslint-community/eslint-utils': 4.4.0(eslint@9.12.0(jiti@1.21.6))
- '@eslint-community/regexpp': 4.11.1
- '@eslint/config-array': 0.18.0
- '@eslint/core': 0.6.0
- '@eslint/eslintrc': 3.1.0
- '@eslint/js': 9.12.0
- '@eslint/plugin-kit': 0.2.0
- '@humanfs/node': 0.16.5
+ '@eslint-community/eslint-utils': 4.4.1(eslint@9.20.1(jiti@1.21.6))
+ '@eslint-community/regexpp': 4.12.1
+ '@eslint/config-array': 0.19.2
+ '@eslint/core': 0.11.0
+ '@eslint/eslintrc': 3.2.0
+ '@eslint/js': 9.20.0
+ '@eslint/plugin-kit': 0.2.6
+ '@humanfs/node': 0.16.6
'@humanwhocodes/module-importer': 1.0.1
- '@humanwhocodes/retry': 0.3.1
+ '@humanwhocodes/retry': 0.4.2
'@types/estree': 1.0.6
'@types/json-schema': 7.0.15
ajv: 6.12.6
chalk: 4.1.2
- cross-spawn: 7.0.3
- debug: 4.3.7(supports-color@8.1.1)
+ cross-spawn: 7.0.6
+ debug: 4.4.0
escape-string-regexp: 4.0.0
- eslint-scope: 8.1.0
- eslint-visitor-keys: 4.1.0
- espree: 10.2.0
+ eslint-scope: 8.2.0
+ eslint-visitor-keys: 4.2.0
+ espree: 10.3.0
esquery: 1.6.0
esutils: 2.0.3
fast-deep-equal: 3.1.3
@@ -16331,7 +17099,6 @@ snapshots:
minimatch: 3.1.2
natural-compare: 1.4.0
optionator: 0.9.4
- text-table: 0.2.0
optionalDependencies:
jiti: 1.21.6
transitivePeerDependencies:
@@ -16348,7 +17115,13 @@ snapshots:
dependencies:
acorn: 8.12.1
acorn-jsx: 5.3.2(acorn@8.12.1)
- eslint-visitor-keys: 4.1.0
+ eslint-visitor-keys: 4.2.0
+
+ espree@10.3.0:
+ dependencies:
+ acorn: 8.14.0
+ acorn-jsx: 5.3.2(acorn@8.14.0)
+ eslint-visitor-keys: 4.2.0
esprima@1.1.1: {}
@@ -16537,6 +17310,8 @@ snapshots:
fast-equals@5.0.1: {}
+ fast-equals@5.2.2: {}
+
fast-glob@3.3.2:
dependencies:
'@nodelib/fs.stat': 2.0.5
@@ -16545,6 +17320,14 @@ snapshots:
merge2: 1.4.1
micromatch: 4.0.8
+ fast-glob@3.3.3:
+ dependencies:
+ '@nodelib/fs.stat': 2.0.5
+ '@nodelib/fs.walk': 1.2.8
+ glob-parent: 5.1.2
+ merge2: 1.4.1
+ micromatch: 4.0.8
+
fast-json-stable-stringify@2.1.0: {}
fast-json-stringify@5.16.1:
@@ -16595,7 +17378,7 @@ snapshots:
proxy-addr: 2.0.7
rfdc: 1.4.1
secure-json-parse: 2.7.0
- semver: 7.6.3
+ semver: 7.6.2
toad-cache: 3.7.0
fastq@1.17.1:
@@ -16660,7 +17443,7 @@ snapshots:
enhanced-resolve: 5.17.1
module-definition: 6.0.0
module-lookup-amd: 9.0.2
- resolve: 1.22.8
+ resolve: 1.22.10
resolve-dependency-path: 4.0.0
sass-lookup: 6.0.1
stylus-lookup: 6.0.0
@@ -16761,7 +17544,7 @@ snapshots:
flat-cache@4.0.1:
dependencies:
- flatted: 3.3.1
+ flatted: 3.3.3
keyv: 4.5.4
flat-cache@5.0.0:
@@ -16773,6 +17556,8 @@ snapshots:
flatted@3.3.1: {}
+ flatted@3.3.3: {}
+
flexsearch@0.7.43: {}
focus-trap@7.6.0:
@@ -16799,12 +17584,12 @@ snapshots:
foreground-child@2.0.0:
dependencies:
- cross-spawn: 7.0.3
+ cross-spawn: 7.0.6
signal-exit: 3.0.7
foreground-child@3.3.0:
dependencies:
- cross-spawn: 7.0.3
+ cross-spawn: 7.0.6
signal-exit: 4.1.0
forever-agent@0.6.1: {}
@@ -17014,14 +17799,12 @@ snapshots:
globals@11.12.0: {}
- globals@13.24.0:
- dependencies:
- type-fest: 0.20.2
-
globals@14.0.0: {}
globals@15.10.0: {}
+ globals@15.15.0: {}
+
globalthis@1.0.4:
dependencies:
define-properties: 1.2.1
@@ -17163,7 +17946,9 @@ snapshots:
hookable@5.5.3: {}
- hosted-git-info@2.8.9: {}
+ hosted-git-info@7.0.2:
+ dependencies:
+ lru-cache: 10.4.3
hpack.js@2.1.6:
dependencies:
@@ -17314,6 +18099,11 @@ snapshots:
parent-module: 1.0.1
resolve-from: 4.0.0
+ import-fresh@3.3.1:
+ dependencies:
+ parent-module: 1.0.1
+ resolve-from: 4.0.0
+
import-local@3.2.0:
dependencies:
pkg-dir: 4.2.0
@@ -17327,6 +18117,8 @@ snapshots:
indent-string@5.0.0: {}
+ index-to-position@0.1.2: {}
+
inflight@1.0.6:
dependencies:
once: 1.4.0
@@ -17423,9 +18215,9 @@ snapshots:
call-bound: 1.0.3
has-tostringtag: 1.0.2
- is-builtin-module@3.2.1:
+ is-builtin-module@4.0.0:
dependencies:
- builtin-modules: 3.3.0
+ builtin-modules: 4.0.0
is-callable@1.2.7: {}
@@ -17652,14 +18444,14 @@ snapshots:
'@babel/parser': 7.25.7
'@istanbuljs/schema': 0.1.3
istanbul-lib-coverage: 3.2.2
- semver: 7.6.3
+ semver: 7.7.1
transitivePeerDependencies:
- supports-color
istanbul-lib-processinfo@2.0.3:
dependencies:
archy: 1.0.0
- cross-spawn: 7.0.3
+ cross-spawn: 7.0.6
istanbul-lib-coverage: 3.2.2
p-map: 3.0.0
rimraf: 3.0.2
@@ -17901,7 +18693,7 @@ snapshots:
jest-pnp-resolver: 1.2.3(jest-resolve@29.7.0)
jest-util: 29.7.0
jest-validate: 29.7.0
- resolve: 1.22.8
+ resolve: 1.22.10
resolve.exports: 2.0.2
slash: 3.0.0
@@ -17979,7 +18771,7 @@ snapshots:
jest-util: 29.7.0
natural-compare: 1.4.0
pretty-format: 29.7.0
- semver: 7.6.3
+ semver: 7.7.1
transitivePeerDependencies:
- supports-color
@@ -18116,8 +18908,6 @@ snapshots:
- supports-color
- utf-8-validate
- jsesc@0.5.0: {}
-
jsesc@3.0.2: {}
jsesc@3.1.0: {}
@@ -18431,7 +19221,7 @@ snapshots:
make-dir@4.0.0:
dependencies:
- semver: 7.6.3
+ semver: 7.7.1
makeerror@1.0.12:
dependencies:
@@ -18998,11 +19788,10 @@ snapshots:
colors: 0.5.1
underscore: 1.1.7
- normalize-package-data@2.5.0:
+ normalize-package-data@6.0.2:
dependencies:
- hosted-git-info: 2.8.9
- resolve: 1.22.8
- semver: 5.7.2
+ hosted-git-info: 7.0.2
+ semver: 7.7.1
validate-npm-package-license: 3.0.4
normalize-path@3.0.0: {}
@@ -19264,16 +20053,22 @@ snapshots:
parse-imports@2.2.1:
dependencies:
- es-module-lexer: 1.5.4
+ es-module-lexer: 1.6.0
slashes: 3.0.12
parse-json@5.2.0:
dependencies:
- '@babel/code-frame': 7.25.7
+ '@babel/code-frame': 7.26.2
error-ex: 1.3.2
json-parse-even-better-errors: 2.3.1
lines-and-columns: 1.2.4
+ parse-json@8.1.0:
+ dependencies:
+ '@babel/code-frame': 7.26.2
+ index-to-position: 0.1.2
+ type-fest: 4.26.1
+
parse5@7.1.2:
dependencies:
entities: 4.5.0
@@ -19619,18 +20414,19 @@ snapshots:
dependencies:
pify: 2.3.0
- read-pkg-up@7.0.1:
+ read-package-up@11.0.0:
dependencies:
- find-up: 4.1.0
- read-pkg: 5.2.0
- type-fest: 0.8.1
+ find-up-simple: 1.0.0
+ read-pkg: 9.0.1
+ type-fest: 4.26.1
- read-pkg@5.2.0:
+ read-pkg@9.0.1:
dependencies:
'@types/normalize-package-data': 2.4.4
- normalize-package-data: 2.5.0
- parse-json: 5.2.0
- type-fest: 0.6.0
+ normalize-package-data: 6.0.2
+ parse-json: 8.1.0
+ type-fest: 4.26.1
+ unicorn-magic: 0.1.0
read-yaml-file@1.1.0:
dependencies:
@@ -19671,7 +20467,7 @@ snapshots:
rechoir@0.6.2:
dependencies:
- resolve: 1.22.8
+ resolve: 1.22.10
rechoir@0.7.1:
dependencies:
@@ -19698,7 +20494,7 @@ snapshots:
regenerator-transform@0.15.2:
dependencies:
- '@babel/runtime': 7.26.7
+ '@babel/runtime': 7.26.9
regex@4.3.3: {}
@@ -19731,10 +20527,6 @@ snapshots:
regjsgen@0.8.0: {}
- regjsparser@0.10.0:
- dependencies:
- jsesc: 0.5.0
-
regjsparser@0.12.0:
dependencies:
jsesc: 3.0.2
@@ -19955,7 +20747,7 @@ snapshots:
rxjs@7.8.1:
dependencies:
- tslib: 2.7.0
+ tslib: 2.8.1
safe-array-concat@1.1.3:
dependencies:
@@ -20035,6 +20827,8 @@ snapshots:
semver@7.6.3: {}
+ semver@7.7.1: {}
+
send@0.19.0:
dependencies:
debug: 2.6.9
@@ -20116,7 +20910,7 @@ snapshots:
dependencies:
color: 4.2.3
detect-libc: 2.0.3
- semver: 7.6.3
+ semver: 7.7.1
optionalDependencies:
'@img/sharp-darwin-arm64': 0.33.5
'@img/sharp-darwin-x64': 0.33.5
@@ -20325,21 +21119,21 @@ snapshots:
spdx-correct@3.2.0:
dependencies:
spdx-expression-parse: 3.0.1
- spdx-license-ids: 3.0.20
+ spdx-license-ids: 3.0.21
spdx-exceptions@2.5.0: {}
spdx-expression-parse@3.0.1:
dependencies:
spdx-exceptions: 2.5.0
- spdx-license-ids: 3.0.20
+ spdx-license-ids: 3.0.21
spdx-expression-parse@4.0.0:
dependencies:
spdx-exceptions: 2.5.0
- spdx-license-ids: 3.0.20
+ spdx-license-ids: 3.0.21
- spdx-license-ids@3.0.20: {}
+ spdx-license-ids@3.0.21: {}
spdy-transport@3.0.0:
dependencies:
@@ -20539,7 +21333,7 @@ snapshots:
strip-final-newline@3.0.0: {}
- strip-indent@3.0.0:
+ strip-indent@4.0.0:
dependencies:
min-indent: 1.0.1
@@ -20594,7 +21388,7 @@ snapshots:
synckit@0.9.2:
dependencies:
'@pkgr/core': 0.1.1
- tslib: 2.7.0
+ tslib: 2.8.1
tabbable@6.2.0: {}
@@ -20652,27 +21446,27 @@ snapshots:
term-size@2.2.1: {}
- terser-webpack-plugin@5.3.10(esbuild@0.21.5)(webpack@5.95.0(esbuild@0.21.5)(webpack-cli@4.10.0)):
+ terser-webpack-plugin@5.3.10(esbuild@0.25.0)(webpack@5.95.0(esbuild@0.25.0)(webpack-cli@4.10.0)):
dependencies:
'@jridgewell/trace-mapping': 0.3.25
jest-worker: 27.5.1
schema-utils: 3.3.0
serialize-javascript: 6.0.2
terser: 5.34.1
- webpack: 5.95.0(esbuild@0.21.5)(webpack-cli@4.10.0)
+ webpack: 5.95.0(esbuild@0.25.0)(webpack-cli@4.10.0)
optionalDependencies:
- esbuild: 0.21.5
+ esbuild: 0.25.0
- terser-webpack-plugin@5.3.10(esbuild@0.21.5)(webpack@5.95.0(esbuild@0.21.5)):
+ terser-webpack-plugin@5.3.10(esbuild@0.25.0)(webpack@5.95.0(esbuild@0.25.0)):
dependencies:
'@jridgewell/trace-mapping': 0.3.25
jest-worker: 27.5.1
schema-utils: 3.3.0
serialize-javascript: 6.0.2
terser: 5.34.1
- webpack: 5.95.0(esbuild@0.21.5)
+ webpack: 5.95.0(esbuild@0.25.0)
optionalDependencies:
- esbuild: 0.21.5
+ esbuild: 0.25.0
terser@5.34.1:
dependencies:
@@ -20681,7 +21475,7 @@ snapshots:
commander: 2.20.3
source-map-support: 0.5.21
- terser@5.38.2:
+ terser@5.39.0:
dependencies:
'@jridgewell/source-map': 0.3.6
acorn: 8.14.0
@@ -20694,8 +21488,6 @@ snapshots:
glob: 7.2.3
minimatch: 3.1.2
- text-table@0.2.0: {}
-
thenify-all@1.6.0:
dependencies:
thenify: 3.3.1
@@ -20783,14 +21575,14 @@ snapshots:
trough@2.2.0: {}
- ts-api-utils@1.3.0(typescript@5.4.5):
- dependencies:
- typescript: 5.4.5
-
- ts-api-utils@1.3.0(typescript@5.6.2):
+ ts-api-utils@1.4.3(typescript@5.6.2):
dependencies:
typescript: 5.6.2
+ ts-api-utils@2.0.1(typescript@5.4.5):
+ dependencies:
+ typescript: 5.4.5
+
ts-dedent@2.2.0: {}
ts-interface-checker@0.1.13: {}
@@ -20803,7 +21595,7 @@ snapshots:
minimist: 1.2.8
strip-bom: 3.0.0
- tslib@2.7.0: {}
+ tslib@2.8.1: {}
tsx@4.19.1:
dependencies:
@@ -20834,8 +21626,6 @@ snapshots:
type-fest@0.21.3: {}
- type-fest@0.6.0: {}
-
type-fest@0.8.1: {}
type-fest@4.26.1: {}
@@ -20897,15 +21687,14 @@ snapshots:
shiki: 0.14.7
typescript: 5.4.5
- typescript-eslint@8.8.1(eslint@9.12.0(jiti@1.21.6))(typescript@5.4.5):
+ typescript-eslint@8.24.1(eslint@9.20.1(jiti@1.21.6))(typescript@5.4.5):
dependencies:
- '@typescript-eslint/eslint-plugin': 8.8.1(@typescript-eslint/parser@8.8.1(eslint@9.12.0(jiti@1.21.6))(typescript@5.4.5))(eslint@9.12.0(jiti@1.21.6))(typescript@5.4.5)
- '@typescript-eslint/parser': 8.8.1(eslint@9.12.0(jiti@1.21.6))(typescript@5.4.5)
- '@typescript-eslint/utils': 8.8.1(eslint@9.12.0(jiti@1.21.6))(typescript@5.4.5)
- optionalDependencies:
+ '@typescript-eslint/eslint-plugin': 8.24.1(@typescript-eslint/parser@8.24.1(eslint@9.20.1(jiti@1.21.6))(typescript@5.4.5))(eslint@9.20.1(jiti@1.21.6))(typescript@5.4.5)
+ '@typescript-eslint/parser': 8.24.1(eslint@9.20.1(jiti@1.21.6))(typescript@5.4.5)
+ '@typescript-eslint/utils': 8.24.1(eslint@9.20.1(jiti@1.21.6))(typescript@5.4.5)
+ eslint: 9.20.1(jiti@1.21.6)
typescript: 5.4.5
transitivePeerDependencies:
- - eslint
- supports-color
typescript@5.4.5: {}
@@ -21017,9 +21806,9 @@ snapshots:
universalify@2.0.1: {}
- unocss@0.59.4(postcss@8.5.1)(rollup@2.79.2)(vite@5.4.12(@types/node@20.16.11)(terser@5.38.2)):
+ unocss@0.59.4(postcss@8.5.1)(rollup@2.79.2)(vite@5.4.12(@types/node@20.16.11)(terser@5.39.0)):
dependencies:
- '@unocss/astro': 0.59.4(rollup@2.79.2)(vite@5.4.12(@types/node@20.16.11)(terser@5.38.2))
+ '@unocss/astro': 0.59.4(rollup@2.79.2)(vite@5.4.12(@types/node@20.16.11)(terser@5.39.0))
'@unocss/cli': 0.59.4(rollup@2.79.2)
'@unocss/core': 0.59.4
'@unocss/extractor-arbitrary-variants': 0.59.4
@@ -21038,9 +21827,9 @@ snapshots:
'@unocss/transformer-compile-class': 0.59.4
'@unocss/transformer-directives': 0.59.4
'@unocss/transformer-variant-group': 0.59.4
- '@unocss/vite': 0.59.4(rollup@2.79.2)(vite@5.4.12(@types/node@20.16.11)(terser@5.38.2))
+ '@unocss/vite': 0.59.4(rollup@2.79.2)(vite@5.4.12(@types/node@20.16.11)(terser@5.39.0))
optionalDependencies:
- vite: 5.4.12(@types/node@20.16.11)(terser@5.38.2)
+ vite: 5.4.12(@types/node@20.16.11)(terser@5.39.0)
transitivePeerDependencies:
- postcss
- rollup
@@ -21048,7 +21837,7 @@ snapshots:
unpipe@1.0.0: {}
- unplugin-vue-components@0.26.0(@babel/parser@7.26.8)(rollup@2.79.2)(vue@3.5.11(typescript@5.6.2))(webpack-sources@3.2.3):
+ unplugin-vue-components@0.26.0(@babel/parser@7.26.9)(rollup@2.79.2)(vue@3.5.11(typescript@5.6.2))(webpack-sources@3.2.3):
dependencies:
'@antfu/utils': 0.7.10
'@rollup/pluginutils': 5.1.2(rollup@2.79.2)
@@ -21062,7 +21851,7 @@ snapshots:
unplugin: 1.14.1(webpack-sources@3.2.3)
vue: 3.5.11(typescript@5.6.2)
optionalDependencies:
- '@babel/parser': 7.26.8
+ '@babel/parser': 7.26.9
transitivePeerDependencies:
- rollup
- supports-color
@@ -21137,13 +21926,13 @@ snapshots:
'@types/unist': 3.0.3
vfile-message: 4.0.2
- vite-node@1.6.1(@types/node@20.16.11)(terser@5.38.2):
+ vite-node@1.6.1(@types/node@20.16.11)(terser@5.39.0):
dependencies:
cac: 6.7.14
debug: 4.4.0
pathe: 1.1.2
picocolors: 1.1.1
- vite: 5.4.12(@types/node@20.16.11)(terser@5.38.2)
+ vite: 5.4.12(@types/node@20.16.11)(terser@5.39.0)
transitivePeerDependencies:
- '@types/node'
- less
@@ -21155,7 +21944,7 @@ snapshots:
- supports-color
- terser
- vite-plugin-istanbul@6.0.2(vite@5.4.12(@types/node@20.16.11)(terser@5.38.2)):
+ vite-plugin-istanbul@6.0.2(vite@5.4.12(@types/node@20.16.11)(terser@5.39.0)):
dependencies:
'@istanbuljs/load-nyc-config': 1.1.0
espree: 10.2.0
@@ -21163,22 +21952,22 @@ snapshots:
picocolors: 1.1.0
source-map: 0.7.4
test-exclude: 6.0.0
- vite: 5.4.12(@types/node@20.16.11)(terser@5.38.2)
+ vite: 5.4.12(@types/node@20.16.11)(terser@5.39.0)
transitivePeerDependencies:
- supports-color
- vite-plugin-pwa@0.19.8(vite@5.4.12(@types/node@20.16.11)(terser@5.38.2))(workbox-build@7.1.1(@types/babel__core@7.20.5))(workbox-window@7.1.0):
+ vite-plugin-pwa@0.19.8(vite@5.4.12(@types/node@20.16.11)(terser@5.39.0))(workbox-build@7.1.1(@types/babel__core@7.20.5))(workbox-window@7.1.0):
dependencies:
debug: 4.3.7(supports-color@8.1.1)
fast-glob: 3.3.2
pretty-bytes: 6.1.1
- vite: 5.4.12(@types/node@20.16.11)(terser@5.38.2)
+ vite: 5.4.12(@types/node@20.16.11)(terser@5.39.0)
workbox-build: 7.1.1(@types/babel__core@7.20.5)
workbox-window: 7.1.0
transitivePeerDependencies:
- supports-color
- vite@5.4.12(@types/node@20.16.11)(terser@5.38.2):
+ vite@5.4.12(@types/node@20.16.11)(terser@5.39.0):
dependencies:
esbuild: 0.21.5
postcss: 8.5.1
@@ -21186,9 +21975,9 @@ snapshots:
optionalDependencies:
'@types/node': 20.16.11
fsevents: 2.3.3
- terser: 5.38.2
+ terser: 5.39.0
- vite@5.4.8(@types/node@20.16.11)(terser@5.38.2):
+ vite@5.4.8(@types/node@20.16.11)(terser@5.39.0):
dependencies:
esbuild: 0.21.5
postcss: 8.4.47
@@ -21196,26 +21985,26 @@ snapshots:
optionalDependencies:
'@types/node': 20.16.11
fsevents: 2.3.3
- terser: 5.38.2
+ terser: 5.39.0
- vitepress-plugin-search@1.0.4-alpha.22(flexsearch@0.7.43)(vitepress@1.1.4(@algolia/client-search@4.24.0)(@types/node@20.16.11)(axios@1.7.7)(postcss@8.5.1)(search-insights@2.17.2)(terser@5.38.2)(typescript@5.4.5))(vue@3.5.11(typescript@5.4.5)):
+ vitepress-plugin-search@1.0.4-alpha.22(flexsearch@0.7.43)(vitepress@1.1.4(@algolia/client-search@4.24.0)(@types/node@20.16.11)(axios@1.7.7)(postcss@8.5.1)(search-insights@2.17.2)(terser@5.39.0)(typescript@5.4.5))(vue@3.5.11(typescript@5.4.5)):
dependencies:
'@types/flexsearch': 0.7.6
'@types/markdown-it': 12.2.3
flexsearch: 0.7.43
glob-to-regexp: 0.4.1
markdown-it: 13.0.2
- vitepress: 1.1.4(@algolia/client-search@4.24.0)(@types/node@20.16.11)(axios@1.7.7)(postcss@8.5.1)(search-insights@2.17.2)(terser@5.38.2)(typescript@5.4.5)
+ vitepress: 1.1.4(@algolia/client-search@4.24.0)(@types/node@20.16.11)(axios@1.7.7)(postcss@8.5.1)(search-insights@2.17.2)(terser@5.39.0)(typescript@5.4.5)
vue: 3.5.11(typescript@5.4.5)
- vitepress@1.1.4(@algolia/client-search@4.24.0)(@types/node@20.16.11)(axios@1.7.7)(postcss@8.5.1)(search-insights@2.17.2)(terser@5.38.2)(typescript@5.4.5):
+ vitepress@1.1.4(@algolia/client-search@4.24.0)(@types/node@20.16.11)(axios@1.7.7)(postcss@8.5.1)(search-insights@2.17.2)(terser@5.39.0)(typescript@5.4.5):
dependencies:
'@docsearch/css': 3.6.2
'@docsearch/js': 3.6.2(@algolia/client-search@4.24.0)(search-insights@2.17.2)
'@shikijs/core': 1.22.0
'@shikijs/transformers': 1.22.0
'@types/markdown-it': 14.1.2
- '@vitejs/plugin-vue': 5.1.4(vite@5.4.8(@types/node@20.16.11)(terser@5.38.2))(vue@3.5.11(typescript@5.4.5))
+ '@vitejs/plugin-vue': 5.1.4(vite@5.4.8(@types/node@20.16.11)(terser@5.39.0))(vue@3.5.11(typescript@5.4.5))
'@vue/devtools-api': 7.4.6
'@vueuse/core': 10.11.1(vue@3.5.11(typescript@5.4.5))
'@vueuse/integrations': 10.11.1(axios@1.7.7)(focus-trap@7.6.0)(vue@3.5.11(typescript@5.4.5))
@@ -21223,7 +22012,7 @@ snapshots:
mark.js: 8.11.1
minisearch: 6.3.0
shiki: 1.22.0
- vite: 5.4.8(@types/node@20.16.11)(terser@5.38.2)
+ vite: 5.4.8(@types/node@20.16.11)(terser@5.39.0)
vue: 3.5.11(typescript@5.4.5)
optionalDependencies:
postcss: 8.5.1
@@ -21255,14 +22044,14 @@ snapshots:
- typescript
- universal-cookie
- vitepress@1.1.4(@algolia/client-search@4.24.0)(@types/node@20.16.11)(axios@1.7.7)(postcss@8.5.1)(search-insights@2.17.2)(terser@5.38.2)(typescript@5.6.2):
+ vitepress@1.1.4(@algolia/client-search@4.24.0)(@types/node@20.16.11)(axios@1.7.7)(postcss@8.5.1)(search-insights@2.17.2)(terser@5.39.0)(typescript@5.6.2):
dependencies:
'@docsearch/css': 3.6.2
'@docsearch/js': 3.6.2(@algolia/client-search@4.24.0)(search-insights@2.17.2)
'@shikijs/core': 1.22.0
'@shikijs/transformers': 1.22.0
'@types/markdown-it': 14.1.2
- '@vitejs/plugin-vue': 5.1.4(vite@5.4.8(@types/node@20.16.11)(terser@5.38.2))(vue@3.5.11(typescript@5.6.2))
+ '@vitejs/plugin-vue': 5.1.4(vite@5.4.8(@types/node@20.16.11)(terser@5.39.0))(vue@3.5.11(typescript@5.6.2))
'@vue/devtools-api': 7.4.6
'@vueuse/core': 10.11.1(vue@3.5.11(typescript@5.6.2))
'@vueuse/integrations': 10.11.1(axios@1.7.7)(focus-trap@7.6.0)(vue@3.5.11(typescript@5.6.2))
@@ -21270,7 +22059,7 @@ snapshots:
mark.js: 8.11.1
minisearch: 6.3.0
shiki: 1.22.0
- vite: 5.4.8(@types/node@20.16.11)(terser@5.38.2)
+ vite: 5.4.8(@types/node@20.16.11)(terser@5.39.0)
vue: 3.5.11(typescript@5.6.2)
optionalDependencies:
postcss: 8.5.1
@@ -21302,7 +22091,7 @@ snapshots:
- typescript
- universal-cookie
- vitest@1.6.1(@types/node@20.16.11)(@vitest/ui@1.6.0)(jsdom@24.1.3)(terser@5.38.2):
+ vitest@1.6.1(@types/node@20.16.11)(@vitest/ui@1.6.0)(jsdom@24.1.3)(terser@5.39.0):
dependencies:
'@vitest/expect': 1.6.1
'@vitest/runner': 1.6.1
@@ -21321,8 +22110,8 @@ snapshots:
strip-literal: 2.1.1
tinybench: 2.9.0
tinypool: 0.8.4
- vite: 5.4.12(@types/node@20.16.11)(terser@5.38.2)
- vite-node: 1.6.1(@types/node@20.16.11)(terser@5.38.2)
+ vite: 5.4.12(@types/node@20.16.11)(terser@5.39.0)
+ vite-node: 1.6.1(@types/node@20.16.11)(terser@5.39.0)
why-is-node-running: 2.3.0
optionalDependencies:
'@types/node': 20.16.11
@@ -21369,6 +22158,8 @@ snapshots:
vscode-uri@3.0.8: {}
+ vscode-uri@3.1.0: {}
+
vue-demi@0.14.10(vue@3.5.11(typescript@5.4.5)):
dependencies:
vue: 3.5.11(typescript@5.4.5)
@@ -21459,7 +22250,7 @@ snapshots:
webpack-cli@4.10.0(webpack-dev-server@4.15.2)(webpack@5.95.0):
dependencies:
'@discoveryjs/json-ext': 0.5.7
- '@webpack-cli/configtest': 1.2.0(webpack-cli@4.10.0(webpack-dev-server@4.15.2)(webpack@5.95.0))(webpack@5.95.0(esbuild@0.21.5)(webpack-cli@4.10.0))
+ '@webpack-cli/configtest': 1.2.0(webpack-cli@4.10.0(webpack-dev-server@4.15.2)(webpack@5.95.0))(webpack@5.95.0(esbuild@0.25.0)(webpack-cli@4.10.0))
'@webpack-cli/info': 1.5.0(webpack-cli@4.10.0(webpack-dev-server@4.15.2)(webpack@5.95.0))
'@webpack-cli/serve': 1.7.0(webpack-cli@4.10.0(webpack-dev-server@4.15.2)(webpack@5.95.0))(webpack-dev-server@4.15.2(webpack-cli@4.10.0)(webpack@5.95.0))
colorette: 2.0.20
@@ -21469,19 +22260,19 @@ snapshots:
import-local: 3.2.0
interpret: 2.2.0
rechoir: 0.7.1
- webpack: 5.95.0(esbuild@0.21.5)(webpack-cli@4.10.0)
+ webpack: 5.95.0(esbuild@0.25.0)(webpack-cli@4.10.0)
webpack-merge: 5.10.0
optionalDependencies:
webpack-dev-server: 4.15.2(webpack-cli@4.10.0)(webpack@5.95.0)
- webpack-dev-middleware@5.3.4(webpack@5.95.0(esbuild@0.21.5)(webpack-cli@4.10.0)):
+ webpack-dev-middleware@5.3.4(webpack@5.95.0(esbuild@0.25.0)(webpack-cli@4.10.0)):
dependencies:
colorette: 2.0.20
memfs: 3.5.3
mime-types: 2.1.35
range-parser: 1.2.1
schema-utils: 4.2.0
- webpack: 5.95.0(esbuild@0.21.5)(webpack-cli@4.10.0)
+ webpack: 5.95.0(esbuild@0.25.0)(webpack-cli@4.10.0)
webpack-dev-server@4.15.2(webpack-cli@4.10.0)(webpack@5.95.0):
dependencies:
@@ -21513,10 +22304,10 @@ snapshots:
serve-index: 1.9.1
sockjs: 0.3.24
spdy: 4.0.2
- webpack-dev-middleware: 5.3.4(webpack@5.95.0(esbuild@0.21.5)(webpack-cli@4.10.0))
+ webpack-dev-middleware: 5.3.4(webpack@5.95.0(esbuild@0.25.0)(webpack-cli@4.10.0))
ws: 8.18.0
optionalDependencies:
- webpack: 5.95.0(esbuild@0.21.5)(webpack-cli@4.10.0)
+ webpack: 5.95.0(esbuild@0.25.0)(webpack-cli@4.10.0)
webpack-cli: 4.10.0(webpack-dev-server@4.15.2)(webpack@5.95.0)
transitivePeerDependencies:
- bufferutil
@@ -21534,7 +22325,7 @@ snapshots:
webpack-virtual-modules@0.6.2: {}
- webpack@5.95.0(esbuild@0.21.5):
+ webpack@5.95.0(esbuild@0.25.0):
dependencies:
'@types/estree': 1.0.6
'@webassemblyjs/ast': 1.12.1
@@ -21556,7 +22347,7 @@ snapshots:
neo-async: 2.6.2
schema-utils: 3.3.0
tapable: 2.2.1
- terser-webpack-plugin: 5.3.10(esbuild@0.21.5)(webpack@5.95.0(esbuild@0.21.5))
+ terser-webpack-plugin: 5.3.10(esbuild@0.25.0)(webpack@5.95.0(esbuild@0.25.0))
watchpack: 2.4.2
webpack-sources: 3.2.3
transitivePeerDependencies:
@@ -21564,7 +22355,7 @@ snapshots:
- esbuild
- uglify-js
- webpack@5.95.0(esbuild@0.21.5)(webpack-cli@4.10.0):
+ webpack@5.95.0(esbuild@0.25.0)(webpack-cli@4.10.0):
dependencies:
'@types/estree': 1.0.6
'@webassemblyjs/ast': 1.12.1
@@ -21586,7 +22377,7 @@ snapshots:
neo-async: 2.6.2
schema-utils: 3.3.0
tapable: 2.2.1
- terser-webpack-plugin: 5.3.10(esbuild@0.21.5)(webpack@5.95.0(esbuild@0.21.5)(webpack-cli@4.10.0))
+ terser-webpack-plugin: 5.3.10(esbuild@0.25.0)(webpack@5.95.0(esbuild@0.25.0)(webpack-cli@4.10.0))
watchpack: 2.4.2
webpack-sources: 3.2.3
optionalDependencies:
@@ -21719,10 +22510,10 @@ snapshots:
workbox-build@7.1.1(@types/babel__core@7.20.5):
dependencies:
'@apideck/better-ajv-errors': 0.3.6(ajv@8.17.1)
- '@babel/core': 7.26.8
- '@babel/preset-env': 7.26.8(@babel/core@7.26.8)
- '@babel/runtime': 7.26.7
- '@rollup/plugin-babel': 5.3.1(@babel/core@7.26.8)(@types/babel__core@7.20.5)(rollup@2.79.2)
+ '@babel/core': 7.26.9
+ '@babel/preset-env': 7.26.9(@babel/core@7.26.9)
+ '@babel/runtime': 7.26.9
+ '@rollup/plugin-babel': 5.3.1(@babel/core@7.26.9)(@types/babel__core@7.20.5)(rollup@2.79.2)
'@rollup/plugin-node-resolve': 15.3.1(rollup@2.79.2)
'@rollup/plugin-replace': 2.4.2(rollup@2.79.2)
'@rollup/plugin-terser': 0.4.4(rollup@2.79.2)
@@ -21884,6 +22675,8 @@ snapshots:
yaml@2.5.1: {}
+ yaml@2.7.0: {}
+
yargs-parser@18.1.3:
dependencies:
camelcase: 5.3.1