Compare commits
60
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e953c320fb | ||
|
|
a4fe43572b | ||
|
|
04b898ee54 | ||
|
|
83175127b0 | ||
|
|
adc9dc7460 | ||
|
|
9e02aaf962 | ||
|
|
3a48e4e519 | ||
|
|
6987b6f3c6 | ||
|
|
d2acfd5d36 | ||
|
|
b384e53d8b | ||
|
|
a6dcabd4b7 | ||
|
|
082e6dfffc | ||
|
|
20c23bb338 | ||
|
|
6ad4d415b2 | ||
|
|
e2c81de42e | ||
|
|
e8162c2004 | ||
|
|
5ea615ae26 | ||
|
|
7c32365935 | ||
|
|
6c209cddf1 | ||
|
|
810315ca10 | ||
|
|
a1312fc095 | ||
|
|
9395c1f154 | ||
|
|
5a880f3efe | ||
|
|
d160e43eae | ||
|
|
732e44b6b9 | ||
|
|
1a7a79d936 | ||
|
|
080b5673e7 | ||
|
|
5e06fd5df1 | ||
|
|
bba7e55662 | ||
|
|
9b7015d2cb | ||
|
|
5531564265 | ||
|
|
b08856f42e | ||
|
|
f00095540b | ||
|
|
e07204b954 | ||
|
|
1b4ddae110 | ||
|
|
7ede189894 | ||
|
|
91c34554a9 | ||
|
|
735527ae45 | ||
|
|
c45b9079c2 | ||
|
|
e7e9d81694 | ||
|
|
a1c0f8512a | ||
|
|
bdb35843bc | ||
|
|
b9e4ccfa1c | ||
|
|
df01b89342 | ||
|
|
fe03ec9fcc | ||
|
|
585dc21d7a | ||
|
|
7c627e626f | ||
|
|
bc97a075dd | ||
|
|
37c0c65cad | ||
|
|
69349ba3f4 | ||
|
|
0e07537969 | ||
|
|
6055a147b0 | ||
|
|
1becc7183d | ||
|
|
8af7029a37 | ||
|
|
d90c414e3b | ||
|
|
ec527ddf67 | ||
|
|
ea6e45ff18 | ||
|
|
1daa67c932 | ||
|
|
1290a07ddb | ||
|
|
63e978576c |
+2
-3
@@ -25,7 +25,7 @@ module.exports = {
|
|||||||
},
|
},
|
||||||
parserOptions: {
|
parserOptions: {
|
||||||
sourceType: 'module',
|
sourceType: 'module',
|
||||||
ecmaVersion: 2019,
|
ecmaVersion: 2020,
|
||||||
tsconfigRootDir: __dirname,
|
tsconfigRootDir: __dirname,
|
||||||
project: ['./tsconfig.json'],
|
project: ['./tsconfig.json'],
|
||||||
extraFileExtensions: ['.svelte'],
|
extraFileExtensions: ['.svelte'],
|
||||||
@@ -33,8 +33,7 @@ module.exports = {
|
|||||||
},
|
},
|
||||||
env: {
|
env: {
|
||||||
browser: true,
|
browser: true,
|
||||||
es2017: true,
|
es2020: true
|
||||||
node: true
|
|
||||||
},
|
},
|
||||||
rules: {
|
rules: {
|
||||||
'@typescript-eslint/ban-ts-comment': [
|
'@typescript-eslint/ban-ts-comment': [
|
||||||
|
|||||||
@@ -13,8 +13,8 @@ jobs:
|
|||||||
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
exempt-issue-labels: 'retained'
|
exempt-issue-labels: 'retained'
|
||||||
exempt-pr-labels: 'retained'
|
exempt-pr-labels: 'retained'
|
||||||
stale-issue-message: 'This issue is stale because it has been open 90 days with no activity. Remove stale label or comment or this will be closed in 14 days'
|
stale-issue-message: 'This issue is stale because it has been open 90 days with no activity. Remove stale label or comment or this will be closed in 30 days'
|
||||||
stale-pr-message: 'This pr is stale because it has been open 90 days with no activity. Remove stale label or comment or this will be closed in 14 days'
|
stale-pr-message: 'This pr is stale because it has been open 90 days with no activity. Remove stale label or comment or this will be closed in 30 days'
|
||||||
days-before-stale: 90
|
days-before-stale: 90
|
||||||
days-before-close: 14
|
days-before-close: 30
|
||||||
days-before-pr-close: -1
|
days-before-pr-close: -1
|
||||||
|
|||||||
+1
-1
@@ -6,7 +6,7 @@
|
|||||||
# Stop : press ctrl + c
|
# Stop : press ctrl + c
|
||||||
# or
|
# or
|
||||||
# docker stop mermaid-live-editor
|
# docker stop mermaid-live-editor
|
||||||
FROM node:18.7.0 as mermaid-live-editor-builder
|
FROM node:18.8.0 as mermaid-live-editor-builder
|
||||||
COPY --chown=node:node . /home
|
COPY --chown=node:node . /home
|
||||||
WORKDIR /home
|
WORKDIR /home
|
||||||
RUN yarn install
|
RUN yarn install
|
||||||
|
|||||||
+1
-1
@@ -9,7 +9,7 @@ export default defineConfig({
|
|||||||
defaultCommandTimeout: 16000,
|
defaultCommandTimeout: 16000,
|
||||||
requestTimeout: 16000,
|
requestTimeout: 16000,
|
||||||
retries: {
|
retries: {
|
||||||
runMode: 2,
|
runMode: 4,
|
||||||
openMode: 0
|
openMode: 0
|
||||||
},
|
},
|
||||||
e2e: {
|
e2e: {
|
||||||
|
|||||||
+10
-16
@@ -1,4 +1,4 @@
|
|||||||
import { disableDebounce } from './util';
|
import { disableDebounce, verifyFileSize } from './util';
|
||||||
describe('Check actions', () => {
|
describe('Check actions', () => {
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
cy.clearLocalStorage();
|
cy.clearLocalStorage();
|
||||||
@@ -27,28 +27,22 @@ describe('Check actions', () => {
|
|||||||
|
|
||||||
it('should download png and svg', () => {
|
it('should download png and svg', () => {
|
||||||
cy.clock(new Date(2022, 0, 1).getTime());
|
cy.clock(new Date(2022, 0, 1).getTime());
|
||||||
const downloadsFolder = Cypress.config('downloadsFolder');
|
|
||||||
|
|
||||||
const verifyFileSize = (fileType: string, size: number) => {
|
cy.get(`#downloadPNG`).click();
|
||||||
cy.get(`#download${fileType.toUpperCase()}`).click();
|
verifyFileSize('diagram', 'png', 21_000);
|
||||||
const fileName = `mermaid-diagram-2022-01-01-000000.${fileType}`;
|
|
||||||
const filePath = `${downloadsFolder}/${fileName}`;
|
|
||||||
cy.verifyDownload(fileName);
|
|
||||||
cy.readFile(filePath, null, {
|
|
||||||
log: false
|
|
||||||
}).then((buffer) => expect((buffer as ArrayBuffer).byteLength).to.be.gt(size));
|
|
||||||
cy.task('deleteFile', filePath);
|
|
||||||
};
|
|
||||||
|
|
||||||
verifyFileSize('png', 21_000);
|
cy.get(`#downloadSVG`).click();
|
||||||
verifyFileSize('svg', 11_000);
|
verifyFileSize('diagram', 'svg', 10_000);
|
||||||
|
|
||||||
// Verify downloaded file is different for different diagrams
|
// Verify downloaded file is different for different diagrams
|
||||||
cy.contains('Sample Diagrams').click();
|
cy.contains('Sample Diagrams').click();
|
||||||
cy.contains('ER Diagram').click();
|
cy.contains('ER Diagram').click();
|
||||||
|
|
||||||
verifyFileSize('png', 46_000);
|
cy.get(`#downloadPNG`).click();
|
||||||
verifyFileSize('svg', 12_000);
|
verifyFileSize('diagram', 'png', 46_000);
|
||||||
|
|
||||||
|
cy.get(`#downloadSVG`).click();
|
||||||
|
verifyFileSize('diagram', 'svg', 12_000);
|
||||||
|
|
||||||
cy.clock().invoke('restore');
|
cy.clock().invoke('restore');
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
import { getEditor, disableDebounce } from './util';
|
import { getEditor, disableDebounce, verifyFileSnapshot } from './util';
|
||||||
|
|
||||||
describe('Save History', () => {
|
describe('Save History', () => {
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
cy.clock();
|
cy.clock(new Date(2022, 0, 1).getTime());
|
||||||
cy.clearLocalStorage();
|
cy.clearLocalStorage();
|
||||||
cy.visit('/edit');
|
cy.visit('/edit');
|
||||||
disableDebounce();
|
disableDebounce();
|
||||||
@@ -10,6 +10,38 @@ describe('Save History', () => {
|
|||||||
cy.contains('History').click();
|
cy.contains('History').click();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
afterEach(() => {
|
||||||
|
cy.clock().invoke('restore');
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should load history from localstorage', () => {
|
||||||
|
cy.setLocalStorage(
|
||||||
|
'manualHistoryStore',
|
||||||
|
'[{"state":{"code":"graph TD\\n A[Halloween] -->|Get money| B(Go shopping)","mermaid":"{\\n \\"theme\\": \\"dark\\"\\n}","updateEditor":false,"autoSync":true,"updateDiagram":false},"time":0,"type":"manual","id":"d7ea820e-21dd-418a-b984-fd58acde09df","name":"hollow-art"},{"state":{"code":"graph TD\\n A[Christmas] -->|Get money| B(Go shopping)","mermaid":"{\\n \\"theme\\": \\"dark\\"\\n}","updateEditor":true,"autoSync":true,"updateDiagram":true},"time":0,"type":"manual","id":"b749ffc6-522b-4a44-86cf-7c1ffc3146b3","name":"helpful-ocean"}]'
|
||||||
|
);
|
||||||
|
cy.setLocalStorage(
|
||||||
|
'autoHistoryStore',
|
||||||
|
'[{"state":{"code":"graph TD\\n A[New Year] -->|Get money| B(Go shopping)","mermaid":"{\\n \\"theme\\": \\"dark\\"\\n}","updateEditor":false,"autoSync":true,"updateDiagram":false},"time":0,"type":"auto","id":"69ea820e-522b-4a44-86cf-fd58acde09df","name":"barking-dog"},{"state":{"code":"graph TD\\n A[Christmas] -->|Get money| B(Go shopping)","mermaid":"{\\n \\"theme\\": \\"dark\\"\\n}","updateEditor":true,"autoSync":true,"updateDiagram":true},"time":0,"type":"manual","id":"x749ffc6-21dd-418a-b984-7c1ffc3146b3","name":"needy-mosquito"}]'
|
||||||
|
);
|
||||||
|
cy.reload();
|
||||||
|
cy.contains('Actions').click();
|
||||||
|
cy.contains('History').click();
|
||||||
|
cy.get('#historyList').find('li').should('have.length', 2);
|
||||||
|
cy.get('#historyList').find('No items in History').should('not.exist');
|
||||||
|
cy.get('#historyList').contains('helpful-ocean');
|
||||||
|
cy.get('#historyList').contains('hollow-art');
|
||||||
|
cy.contains('Restore').click();
|
||||||
|
cy.contains('Halloween');
|
||||||
|
cy.contains('Timeline').click();
|
||||||
|
|
||||||
|
cy.get('#historyList').find('li').should('have.length', 2);
|
||||||
|
cy.get('#historyList').find('No items in History').should('not.exist');
|
||||||
|
cy.get('#historyList').contains('needy-mosquito');
|
||||||
|
cy.get('#historyList').contains('barking-dog');
|
||||||
|
cy.contains('Restore').click();
|
||||||
|
cy.contains('New Year');
|
||||||
|
});
|
||||||
|
|
||||||
it('should save when clicked', () => {
|
it('should save when clicked', () => {
|
||||||
cy.get('#historyList').find('li').should('have.length', 0);
|
cy.get('#historyList').find('li').should('have.length', 0);
|
||||||
cy.get('#historyList').contains('No items in History');
|
cy.get('#historyList').contains('No items in History');
|
||||||
@@ -64,4 +96,10 @@ describe('Save History', () => {
|
|||||||
}
|
}
|
||||||
cy.get('#historyList').find('li').should('have.length', 30);
|
cy.get('#historyList').find('li').should('have.length', 30);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it('should download history', () => {
|
||||||
|
cy.get('#saveHistory').click();
|
||||||
|
cy.get(`#downloadHistory`).click();
|
||||||
|
verifyFileSnapshot('history', 'json', 'A[Christmas] -->|Get money| B(Go shopping)');
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -9,3 +9,35 @@ export const getEditor = ({ bottom = true, newline = false } = {}) =>
|
|||||||
.type(`${newline ? '{enter}' : cmd}`);
|
.type(`${newline ? '{enter}' : cmd}`);
|
||||||
|
|
||||||
export const disableDebounce = () => cy.setLocalStorage('noDebounce', 'true');
|
export const disableDebounce = () => cy.setLocalStorage('noDebounce', 'true');
|
||||||
|
|
||||||
|
const downloadsFolder = Cypress.config('downloadsFolder');
|
||||||
|
|
||||||
|
export const verifyFileSize = (
|
||||||
|
fileType: 'history' | 'diagram',
|
||||||
|
extension: string,
|
||||||
|
size: number
|
||||||
|
) => {
|
||||||
|
const fileName = `mermaid-${fileType}-2022-01-01-000000.${extension}`;
|
||||||
|
const filePath = `${downloadsFolder}/${fileName}`;
|
||||||
|
cy.verifyDownload(fileName);
|
||||||
|
cy.readFile(filePath, null, {
|
||||||
|
log: false
|
||||||
|
}).then((buffer) => expect((buffer as ArrayBuffer).byteLength).to.be.gt(size));
|
||||||
|
cy.task('deleteFile', filePath);
|
||||||
|
};
|
||||||
|
|
||||||
|
export const verifyFileSnapshot = (
|
||||||
|
fileType: 'history' | 'diagram',
|
||||||
|
extension: string,
|
||||||
|
content: string
|
||||||
|
) => {
|
||||||
|
const fileName = `mermaid-${fileType}-2022-01-01-000000.${extension}`;
|
||||||
|
const filePath = `${downloadsFolder}/${fileName}`;
|
||||||
|
cy.verifyDownload(fileName);
|
||||||
|
cy.readFile(filePath, null, {
|
||||||
|
log: false
|
||||||
|
}).then((buffer) =>
|
||||||
|
expect(new TextDecoder('utf-8').decode(buffer as ArrayBuffer)).to.contain(content)
|
||||||
|
);
|
||||||
|
cy.task('deleteFile', filePath);
|
||||||
|
};
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ module.exports = {
|
|||||||
"1": "{\"code\":\"graph TD\\n A[Party] -->|Get money| B(Go shopping!!)\\n \",\"mermaid\":\"{\\n \\\"theme\\\": \\\"forest\\\",\\n \\\"test\\\": \\\"hello world\\\"\\n}\",\"updateEditor\":false,\"autoSync\":true,\"updateDiagram\":true,\"loader\":{\"type\":\"files\",\"config\":{\"codeURL\":\"https://gist.githubusercontent.com/sidharthv96/6268a23e673a533dcb198f241fd7012a/raw/4eb03887e6a41397e80bdcdbf94017c498f8f1e2/code.mmd\",\"configURL\":\"https://gist.githubusercontent.com/sidharthv96/6268a23e673a533dcb198f241fd7012a/raw/4eb03887e6a41397e80bdcdbf94017c498f8f1e2/config.json\"}}}"
|
"1": "{\"code\":\"graph TD\\n A[Party] -->|Get money| B(Go shopping!!)\\n \",\"mermaid\":\"{\\n \\\"theme\\\": \\\"forest\\\",\\n \\\"test\\\": \\\"hello world\\\"\\n}\",\"updateEditor\":false,\"autoSync\":true,\"updateDiagram\":true,\"loader\":{\"type\":\"files\",\"config\":{\"codeURL\":\"https://gist.githubusercontent.com/sidharthv96/6268a23e673a533dcb198f241fd7012a/raw/4eb03887e6a41397e80bdcdbf94017c498f8f1e2/code.mmd\",\"configURL\":\"https://gist.githubusercontent.com/sidharthv96/6268a23e673a533dcb198f241fd7012a/raw/4eb03887e6a41397e80bdcdbf94017c498f8f1e2/config.json\"}}}"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"__version": "10.4.0",
|
"__version": "10.6.0",
|
||||||
"Auto sync tests": {
|
"Auto sync tests": {
|
||||||
"should dim diagram when code is edited": {
|
"should dim diagram when code is edited": {
|
||||||
"1": "{\"code\":\"graph TD\\n A[Christmas] -->|Get money| B(Go shopping)\\n B --> C{Let me think}\\n C -->|One| D[Laptop]\\n C -->|Two| E[iPhone]\\n C -->|Three| F[fa:fa-car Car]\\n C --> Test\",\"mermaid\":\"{\\n \\\"theme\\\": \\\"default\\\"\\n}\",\"updateEditor\":false,\"autoSync\":false,\"updateDiagram\":false}"
|
"1": "{\"code\":\"graph TD\\n A[Christmas] -->|Get money| B(Go shopping)\\n B --> C{Let me think}\\n C -->|One| D[Laptop]\\n C -->|Two| E[iPhone]\\n C -->|Three| F[fa:fa-car Car]\\n C --> Test\",\"mermaid\":\"{\\n \\\"theme\\\": \\\"default\\\"\\n}\",\"updateEditor\":false,\"autoSync\":false,\"updateDiagram\":false}"
|
||||||
|
|||||||
+19
-16
@@ -11,7 +11,7 @@
|
|||||||
"lint:fix": "prettier --write --cache --plugin-search-dir=. .;eslint --fix --ignore-path .gitignore .",
|
"lint:fix": "prettier --write --cache --plugin-search-dir=. .;eslint --fix --ignore-path .gitignore .",
|
||||||
"format": "prettier --write --cache --plugin-search-dir=. .",
|
"format": "prettier --write --cache --plugin-search-dir=. .",
|
||||||
"pre-commit": "lint-staged",
|
"pre-commit": "lint-staged",
|
||||||
"postinstall": "husky install; cypress cache prune; svelte-kit sync",
|
"postinstall": "husky install; svelte-kit sync",
|
||||||
"test:unit": "vitest",
|
"test:unit": "vitest",
|
||||||
"test:ui": "vitest --ui",
|
"test:ui": "vitest --ui",
|
||||||
"test:coverage": "vitest run --coverage",
|
"test:coverage": "vitest run --coverage",
|
||||||
@@ -22,22 +22,23 @@
|
|||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@cypress/snapshot": "2.1.7",
|
"@cypress/snapshot": "2.1.7",
|
||||||
"@sveltejs/adapter-static": "1.0.0-next.39",
|
"@sveltejs/adapter-static": "1.0.0-next.39",
|
||||||
"@sveltejs/kit": "1.0.0-next.405",
|
"@sveltejs/kit": "1.0.0-next.442",
|
||||||
"@testing-library/jest-dom": "5.16.5",
|
"@testing-library/jest-dom": "5.16.5",
|
||||||
"@testing-library/svelte": "3.1.3",
|
"@testing-library/svelte": "3.2.1",
|
||||||
"@types/mermaid": "8.2.9",
|
"@types/mermaid": "8.2.9",
|
||||||
"@types/pako": "1.0.3",
|
"@types/pako": "1.0.3",
|
||||||
"@typescript-eslint/eslint-plugin": "5.33.0",
|
"@types/uuid": "^8.3.4",
|
||||||
"@typescript-eslint/parser": "5.33.0",
|
"@typescript-eslint/eslint-plugin": "5.35.1",
|
||||||
"@vitest/ui": "0.21.1",
|
"@typescript-eslint/parser": "5.34.0",
|
||||||
|
"@vitest/ui": "0.22.1",
|
||||||
"autoprefixer": "10.4.8",
|
"autoprefixer": "10.4.8",
|
||||||
"c8": "7.12.0",
|
"c8": "7.12.0",
|
||||||
"chai": "4.3.6",
|
"chai": "4.3.6",
|
||||||
"cssnano": "5.1.12",
|
"cssnano": "5.1.13",
|
||||||
"cy-verify-downloads": "0.1.8",
|
"cy-verify-downloads": "0.1.8",
|
||||||
"cypress": "10.4.0",
|
"cypress": "10.6.0",
|
||||||
"cypress-localstorage-commands": "2.2.0",
|
"cypress-localstorage-commands": "2.2.0",
|
||||||
"eslint": "8.21.0",
|
"eslint": "8.22.0",
|
||||||
"eslint-config-prettier": "8.5.0",
|
"eslint-config-prettier": "8.5.0",
|
||||||
"eslint-plugin-cypress": "2.12.1",
|
"eslint-plugin-cypress": "2.12.1",
|
||||||
"eslint-plugin-es": "4.1.0",
|
"eslint-plugin-es": "4.1.0",
|
||||||
@@ -57,24 +58,26 @@
|
|||||||
"svelte-preprocess": "4.10.7",
|
"svelte-preprocess": "4.10.7",
|
||||||
"tailwindcss": "3.1.8",
|
"tailwindcss": "3.1.8",
|
||||||
"tslib": "2.4.0",
|
"tslib": "2.4.0",
|
||||||
"typescript": "4.7.4",
|
"typescript": "4.8.2",
|
||||||
"vite": "3.0.6",
|
"vite": "3.0.9",
|
||||||
"vitest": "0.21.1",
|
"vitest": "0.22.1",
|
||||||
"vitest-svelte-kit": "0.0.7"
|
"vitest-svelte-kit": "0.0.7"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@analytics/google-analytics": "1.0.3",
|
"@analytics/google-analytics": "1.0.3",
|
||||||
"@macfja/svelte-persistent-store": "1.3.0",
|
"@macfja/svelte-persistent-store": "2.0.0",
|
||||||
"analytics": "0.8.1",
|
"analytics": "0.8.1",
|
||||||
"daisyui": "2.22.0",
|
"analytics-plugin-plausible": "^0.0.6",
|
||||||
|
"daisyui": "2.24.0",
|
||||||
"js-base64": "3.7.2",
|
"js-base64": "3.7.2",
|
||||||
"mermaid": "9.1.5",
|
"mermaid": "9.1.6",
|
||||||
"moment": "2.29.4",
|
"moment": "2.29.4",
|
||||||
"monaco-editor": "0.34.0",
|
"monaco-editor": "0.34.0",
|
||||||
"monaco-mermaid": "1.0.6",
|
"monaco-mermaid": "1.0.6",
|
||||||
"pako": "2.0.4",
|
"pako": "2.0.4",
|
||||||
"random-word-slugs": "0.1.6",
|
"random-word-slugs": "0.1.6",
|
||||||
"svg-pan-zoom": "^3.6.1"
|
"svg-pan-zoom": "^3.6.1",
|
||||||
|
"uuid": "^8.3.2"
|
||||||
},
|
},
|
||||||
"lint-staged": {
|
"lint-staged": {
|
||||||
"*.{ts,svelte,js,css,md,json}": [
|
"*.{ts,svelte,js,css,md,json}": [
|
||||||
|
|||||||
@@ -120,12 +120,16 @@
|
|||||||
|
|
||||||
const onDownloadPNG = (event: Event) => {
|
const onDownloadPNG = (event: Event) => {
|
||||||
exportImage(event, downloadImage);
|
exportImage(event, downloadImage);
|
||||||
void logEvent('downloadPNG');
|
void logEvent('download', {
|
||||||
|
type: 'png'
|
||||||
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
const onDownloadSVG = () => {
|
const onDownloadSVG = () => {
|
||||||
simulateDownload(getFileName('svg'), `data:image/svg+xml;base64,${getBase64SVG()}`);
|
simulateDownload(getFileName('svg'), `data:image/svg+xml;base64,${getBase64SVG()}`);
|
||||||
void logEvent('downloadSVG');
|
void logEvent('download', {
|
||||||
|
type: 'svg'
|
||||||
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
const onCopyMarkdown = () => {
|
const onCopyMarkdown = () => {
|
||||||
|
|||||||
@@ -7,12 +7,15 @@
|
|||||||
clearHistoryData,
|
clearHistoryData,
|
||||||
getPreviousState,
|
getPreviousState,
|
||||||
historyStore,
|
historyStore,
|
||||||
loaderHistoryStore
|
loaderHistoryStore,
|
||||||
|
restoreHistory
|
||||||
} from './history';
|
} from './history';
|
||||||
import { notify, prompt } from '$lib/util/notify';
|
import { notify, prompt } from '$lib/util/notify';
|
||||||
import { onMount } from 'svelte';
|
import { onMount } from 'svelte';
|
||||||
|
import { get } from 'svelte/store';
|
||||||
import moment from 'moment';
|
import moment from 'moment';
|
||||||
import type { HistoryType, State, Tab } from '$lib/types';
|
import type { HistoryType, State, Tab } from '$lib/types';
|
||||||
|
import { logEvent } from '$lib/util/stats';
|
||||||
|
|
||||||
const HISTORY_SAVE_INTERVAL = 60000;
|
const HISTORY_SAVE_INTERVAL = 60000;
|
||||||
|
|
||||||
@@ -32,6 +35,39 @@
|
|||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
|
||||||
|
const downloadHistory = () => {
|
||||||
|
const data = get(historyStore);
|
||||||
|
const blob = new Blob([JSON.stringify(data)], { type: 'application/json' });
|
||||||
|
const url = URL.createObjectURL(blob);
|
||||||
|
const a = document.createElement('a');
|
||||||
|
a.href = url;
|
||||||
|
a.download = `mermaid-history-${moment().format('YYYY-MM-DD-HHmmss')}.json`;
|
||||||
|
a.click();
|
||||||
|
URL.revokeObjectURL(url);
|
||||||
|
logEvent('history', {
|
||||||
|
action: 'download'
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
const uploadHistory = () => {
|
||||||
|
const input = document.createElement('input');
|
||||||
|
input.type = 'file';
|
||||||
|
input.accept = 'application/json';
|
||||||
|
input.addEventListener('change', ({ target }: Event) => {
|
||||||
|
const file = (<HTMLInputElement>target).files[0];
|
||||||
|
if (!file) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
const reader = new FileReader();
|
||||||
|
reader.onload = (e) => {
|
||||||
|
const data = JSON.parse(e.target.result as string);
|
||||||
|
restoreHistory(data);
|
||||||
|
};
|
||||||
|
reader.readAsText(file);
|
||||||
|
});
|
||||||
|
input.click();
|
||||||
|
};
|
||||||
|
|
||||||
const saveHistory = (auto = false) => {
|
const saveHistory = (auto = false) => {
|
||||||
const currentState: string = getStateString();
|
const currentState: string = getStateString();
|
||||||
const previousState: string = getPreviousState(auto);
|
const previousState: string = getPreviousState(auto);
|
||||||
@@ -46,14 +82,14 @@
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
const clearHistory = (date?: number): void => {
|
const clearHistory = (id?: string): void => {
|
||||||
if (!date && !prompt('Clear all saved items?')) {
|
if (!id && !prompt('Clear all saved items?')) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
clearHistoryData(date);
|
clearHistoryData(id);
|
||||||
};
|
};
|
||||||
|
|
||||||
const restoreHistory = (state: State): void => {
|
const restoreHistoryItem = (state: State): void => {
|
||||||
inputStateStore.set({ ...state, updateEditor: true, updateDiagram: true });
|
inputStateStore.set({ ...state, updateEditor: true, updateDiagram: true });
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -88,6 +124,19 @@
|
|||||||
|
|
||||||
<Card on:select={tabSelectHandler} bind:isOpen {tabs} title="History">
|
<Card on:select={tabSelectHandler} bind:isOpen {tabs} title="History">
|
||||||
<div slot="actions">
|
<div slot="actions">
|
||||||
|
<button
|
||||||
|
id="uploadHistory"
|
||||||
|
class="btn btn-xs btn-secondary w-12"
|
||||||
|
on:click|stopPropagation={() => uploadHistory()}
|
||||||
|
title="Upload history"><i class="fa fa-upload" /></button>
|
||||||
|
{#if $historyStore.length > 0}
|
||||||
|
<button
|
||||||
|
id="downloadHistory"
|
||||||
|
class="btn btn-xs btn-secondary w-12"
|
||||||
|
on:click|stopPropagation={() => downloadHistory()}
|
||||||
|
title="Download history"><i class="fa fa-download" /></button>
|
||||||
|
{/if}
|
||||||
|
|
|
||||||
<button
|
<button
|
||||||
id="saveHistory"
|
id="saveHistory"
|
||||||
class="btn btn-xs btn-success w-12"
|
class="btn btn-xs btn-success w-12"
|
||||||
@@ -103,7 +152,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<ul class="p-2 space-y-2 overflow-auto h-56" id="historyList">
|
<ul class="p-2 space-y-2 overflow-auto h-56" id="historyList">
|
||||||
{#if $historyStore.length > 0}
|
{#if $historyStore.length > 0}
|
||||||
{#each $historyStore as { state, time, name, url, type }}
|
{#each $historyStore as { id, state, time, name, url, type }}
|
||||||
<li class="rounded p-2 shadow flex-col">
|
<li class="rounded p-2 shadow flex-col">
|
||||||
<div class="flex">
|
<div class="flex">
|
||||||
<div class="flex-1">
|
<div class="flex-1">
|
||||||
@@ -121,10 +170,10 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="flex gap-2 content-center">
|
<div class="flex gap-2 content-center">
|
||||||
<button class="btn btn-success" on:click={() => restoreHistory(state)}
|
<button class="btn btn-success" on:click={() => restoreHistoryItem(state)}
|
||||||
><i class="fas fa-undo mr-1" />Restore</button>
|
><i class="fas fa-undo mr-1" />Restore</button>
|
||||||
{#if type !== 'loader'}
|
{#if type !== 'loader'}
|
||||||
<button class="btn btn-error" on:click={() => clearHistory(time)}
|
<button class="btn btn-error" on:click={() => clearHistory(id)}
|
||||||
><i class="fas fa-trash-alt mr-1" />Delete</button>
|
><i class="fas fa-trash-alt mr-1" />Delete</button>
|
||||||
{/if}
|
{/if}
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -1,26 +1,28 @@
|
|||||||
import { derived, writable, get } from 'svelte/store';
|
import { derived, writable, get } from 'svelte/store';
|
||||||
import type { Readable, Writable } from 'svelte/store';
|
import type { Readable, Writable } from 'svelte/store';
|
||||||
import { persist, localStorage } from '@macfja/svelte-persistent-store';
|
import { persist, createLocalStorage } from '@macfja/svelte-persistent-store';
|
||||||
import { generateSlug } from 'random-word-slugs';
|
import { generateSlug } from 'random-word-slugs';
|
||||||
import type { HistoryEntry, HistoryType } from '$lib/types';
|
import type { HistoryEntry, HistoryType, Optional } from '$lib/types';
|
||||||
|
import { v4 as uuidV4 } from 'uuid';
|
||||||
|
import { logEvent } from '$lib/util/stats';
|
||||||
|
|
||||||
const MAX_AUTO_HISTORY_LENGTH = 30;
|
const MAX_AUTO_HISTORY_LENGTH = 30;
|
||||||
|
|
||||||
export const historyModeStore: Writable<HistoryType> = persist(
|
export const historyModeStore: Writable<HistoryType> = persist(
|
||||||
writable('manual'),
|
writable('manual'),
|
||||||
localStorage(),
|
createLocalStorage(),
|
||||||
'autoHistoryMode'
|
'autoHistoryMode'
|
||||||
);
|
);
|
||||||
|
|
||||||
const autoHistoryStore: Writable<HistoryEntry[]> = persist(
|
const autoHistoryStore: Writable<HistoryEntry[]> = persist(
|
||||||
writable([]),
|
writable([]),
|
||||||
localStorage(),
|
createLocalStorage(),
|
||||||
'autoHistoryStore'
|
'autoHistoryStore'
|
||||||
);
|
);
|
||||||
|
|
||||||
const manualHistoryStore: Writable<HistoryEntry[]> = persist(
|
const manualHistoryStore: Writable<HistoryEntry[]> = persist(
|
||||||
writable([]),
|
writable([]),
|
||||||
localStorage(),
|
createLocalStorage(),
|
||||||
'manualHistoryStore'
|
'manualHistoryStore'
|
||||||
);
|
);
|
||||||
|
|
||||||
@@ -41,28 +43,39 @@ export const historyStore: Readable<HistoryEntry[]> = derived(
|
|||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
export const addHistoryEntry = (entry: HistoryEntry): void => {
|
export const addHistoryEntry = (entryToAdd: Optional<HistoryEntry, 'id'>): void => {
|
||||||
|
const entry: HistoryEntry = {
|
||||||
|
...entryToAdd,
|
||||||
|
id: uuidV4()
|
||||||
|
};
|
||||||
|
|
||||||
if (entry.type === 'loader') {
|
if (entry.type === 'loader') {
|
||||||
loaderHistoryStore.update((entries) => [entry, ...entries]);
|
loaderHistoryStore.update((entries) => [entry, ...entries]);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
entry.name = generateSlug(2);
|
|
||||||
if (entry.type !== 'auto') {
|
if (!entry.name) {
|
||||||
|
entry.name = generateSlug(2);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (entry.type === 'auto') {
|
||||||
|
autoHistoryStore.update((entries) => {
|
||||||
|
if (entries.length >= MAX_AUTO_HISTORY_LENGTH) {
|
||||||
|
entries = entries.slice(0, MAX_AUTO_HISTORY_LENGTH - 1);
|
||||||
|
}
|
||||||
|
return [entry, ...entries];
|
||||||
|
});
|
||||||
|
} else if (entry.type === 'manual') {
|
||||||
manualHistoryStore.update((entries) => [entry, ...entries]);
|
manualHistoryStore.update((entries) => [entry, ...entries]);
|
||||||
return;
|
logEvent('history', { action: 'save' });
|
||||||
}
|
}
|
||||||
autoHistoryStore.update((entries) => {
|
|
||||||
if (entries.length === MAX_AUTO_HISTORY_LENGTH) {
|
|
||||||
entries.pop();
|
|
||||||
}
|
|
||||||
return [entry, ...entries];
|
|
||||||
});
|
|
||||||
};
|
};
|
||||||
|
|
||||||
export const clearHistoryData = (time?: number): void => {
|
export const clearHistoryData = (idToClear?: string): void => {
|
||||||
(get(historyModeStore) === 'auto' ? autoHistoryStore : manualHistoryStore).update((entries) => {
|
(get(historyModeStore) === 'auto' ? autoHistoryStore : manualHistoryStore).update((entries) => {
|
||||||
if (get(historyModeStore) !== 'loader') {
|
if (get(historyModeStore) !== 'loader') {
|
||||||
entries = entries.filter((entry) => time && entry.time != time);
|
entries = entries.filter(({ id }) => idToClear && id != idToClear);
|
||||||
|
logEvent('history', { action: 'clear', type: idToClear ? 'single' : 'all' });
|
||||||
}
|
}
|
||||||
return entries;
|
return entries;
|
||||||
});
|
});
|
||||||
@@ -75,3 +88,54 @@ export const getPreviousState = (auto: boolean): string => {
|
|||||||
}
|
}
|
||||||
return '';
|
return '';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
export const restoreHistory = (data: HistoryEntry[]) => {
|
||||||
|
const entries = data.filter(validateEntry);
|
||||||
|
const invalidEntryCount = data.length - entries.length;
|
||||||
|
if (invalidEntryCount > 0) {
|
||||||
|
console.error(`${invalidEntryCount} invalid history entries were removed.`);
|
||||||
|
console.error(data);
|
||||||
|
}
|
||||||
|
if (entries.length > 0) {
|
||||||
|
let entryCount = 0;
|
||||||
|
(entries[0].type === 'auto' ? autoHistoryStore : manualHistoryStore).update((existing) => {
|
||||||
|
const existingIDs = new Set(existing.map(({ id }) => id));
|
||||||
|
const newEntries = entries.filter(({ id }) => !existingIDs.has(id));
|
||||||
|
entryCount = newEntries.length;
|
||||||
|
const combined = [...existing, ...newEntries];
|
||||||
|
combined.sort((a, b) => b.time - a.time);
|
||||||
|
return combined;
|
||||||
|
});
|
||||||
|
|
||||||
|
alert(
|
||||||
|
`${entryCount} entries restored. ${invalidEntryCount} invalid, ${
|
||||||
|
entries.length - entryCount
|
||||||
|
} duplicates.`
|
||||||
|
);
|
||||||
|
logEvent('history', {
|
||||||
|
action: 'restore',
|
||||||
|
success: entryCount,
|
||||||
|
invalid: invalidEntryCount,
|
||||||
|
duplicates: entries.length - entryCount
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
alert('No valid entries found.');
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
export const injectHistoryIDs = (): void => {
|
||||||
|
const setIDs = (entries: HistoryEntry[]) => {
|
||||||
|
for (const entry of entries) {
|
||||||
|
if (!entry.id) {
|
||||||
|
entry.id = uuidV4();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return entries;
|
||||||
|
};
|
||||||
|
autoHistoryStore.update(setIDs);
|
||||||
|
manualHistoryStore.update(setIDs);
|
||||||
|
};
|
||||||
|
|
||||||
|
const validateEntry = (entry: HistoryEntry): boolean => {
|
||||||
|
return entry.type && entry.state && entry.time && true;
|
||||||
|
};
|
||||||
|
|||||||
@@ -90,7 +90,7 @@
|
|||||||
error = false;
|
error = false;
|
||||||
} else if (manualUpdate) {
|
} else if (manualUpdate) {
|
||||||
manualUpdate = false;
|
manualUpdate = false;
|
||||||
} else {
|
} else if (code !== state.code || config !== state.mermaid) {
|
||||||
outOfSync = true;
|
outOfSync = true;
|
||||||
}
|
}
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
|
|||||||
Vendored
+11
-7
@@ -68,13 +68,16 @@ export interface LoaderConfig {
|
|||||||
config: GistLoaderConfig | FileLoaderConfig;
|
config: GistLoaderConfig | FileLoaderConfig;
|
||||||
}
|
}
|
||||||
export type HistoryType = 'auto' | 'manual' | 'loader';
|
export type HistoryType = 'auto' | 'manual' | 'loader';
|
||||||
export interface HistoryEntry {
|
export type HistoryEntry = { id: string; state: State; time: number; url?: string } & (
|
||||||
state: State;
|
| {
|
||||||
time: number;
|
type: 'loader';
|
||||||
name?: string;
|
name: string;
|
||||||
type: HistoryType;
|
}
|
||||||
url?: string;
|
| {
|
||||||
}
|
type: HistoryType;
|
||||||
|
name?: string;
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
export interface DocConfig {
|
export interface DocConfig {
|
||||||
[key: string]: {
|
[key: string]: {
|
||||||
@@ -84,3 +87,4 @@ export interface DocConfig {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export type Loader = (url: string) => Promise<State>;
|
export type Loader = (url: string) => Promise<State>;
|
||||||
|
export type Optional<T, K extends keyof T> = Pick<Partial<T>, K> & Omit<T, K>;
|
||||||
|
|||||||
@@ -0,0 +1,35 @@
|
|||||||
|
import { writable, get, type Writable } from 'svelte/store';
|
||||||
|
import { persist, createLocalStorage } from '@macfja/svelte-persistent-store';
|
||||||
|
import { injectHistoryIDs } from '$lib/components/history/history';
|
||||||
|
import { logEvent } from './stats';
|
||||||
|
|
||||||
|
interface MigrationState {
|
||||||
|
version: number;
|
||||||
|
}
|
||||||
|
|
||||||
|
const migrations: { [key: string]: () => void } = {
|
||||||
|
injectHistoryIDs
|
||||||
|
};
|
||||||
|
|
||||||
|
const migrationStore: Writable<MigrationState> = persist(
|
||||||
|
writable({ version: -1 }),
|
||||||
|
createLocalStorage(),
|
||||||
|
'migrations'
|
||||||
|
);
|
||||||
|
|
||||||
|
export const applyMigrations = (): void => {
|
||||||
|
const { version }: MigrationState = get(migrationStore);
|
||||||
|
const allMigrations = Object.entries(migrations);
|
||||||
|
if (version === allMigrations.length - 1) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
console.log(`Current migration version: v${version}. Migrating to v${allMigrations.length - 1}.`);
|
||||||
|
for (let i = version + 1; i < allMigrations.length; i++) {
|
||||||
|
const [key, fn] = allMigrations[i];
|
||||||
|
console.log(`Applying migration ${i}: ${key}.`);
|
||||||
|
fn();
|
||||||
|
logEvent('migration', { key });
|
||||||
|
migrationStore.set({ version: i });
|
||||||
|
}
|
||||||
|
logEvent('migration', { status: 'complete', from: version, to: allMigrations.length - 1 });
|
||||||
|
};
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
import { writable, get, derived } from 'svelte/store';
|
import { writable, get, derived } from 'svelte/store';
|
||||||
import { persist, localStorage } from '@macfja/svelte-persistent-store';
|
import { persist, createLocalStorage } from '@macfja/svelte-persistent-store';
|
||||||
import { saveStatistics } from './stats';
|
import { saveStatistics } from './stats';
|
||||||
import { serializeState, deserializeState } from './serde';
|
import { serializeState, deserializeState } from './serde';
|
||||||
import { cmdKey } from './util';
|
import { cmdKey } from './util';
|
||||||
@@ -40,7 +40,7 @@ const urlParseFailedState = `graph TD
|
|||||||
click D href "https://github.com/mermaid-js/mermaid-live-editor/issues/new?assignees=&labels=bug&template=bug_report.md&title=Broken%20link" "Raise issue"`;
|
click D href "https://github.com/mermaid-js/mermaid-live-editor/issues/new?assignees=&labels=bug&template=bug_report.md&title=Broken%20link" "Raise issue"`;
|
||||||
|
|
||||||
// inputStateStore handles all updates and is shared externally when exporting via URL, History, etc.
|
// inputStateStore handles all updates and is shared externally when exporting via URL, History, etc.
|
||||||
export const inputStateStore = persist(writable(defaultState), localStorage(), 'codeStore');
|
export const inputStateStore = persist(writable(defaultState), createLocalStorage(), 'codeStore');
|
||||||
|
|
||||||
// All internal reads should be done via stateStore, but it should not be persisted/shared externally.
|
// All internal reads should be done via stateStore, but it should not be persisted/shared externally.
|
||||||
export const stateStore: Readable<ValidatedState> = derived([inputStateStore], ([state]) => {
|
export const stateStore: Readable<ValidatedState> = derived([inputStateStore], ([state]) => {
|
||||||
|
|||||||
+14
-4
@@ -8,18 +8,28 @@ export const initAnalytics = async (): Promise<void> => {
|
|||||||
try {
|
try {
|
||||||
const { Analytics } = await import('analytics');
|
const { Analytics } = await import('analytics');
|
||||||
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
||||||
const googleAnalytics = await import('@analytics/google-analytics');
|
const googleAnalytics = (await import('@analytics/google-analytics')).default;
|
||||||
|
const plausible = (await import('analytics-plugin-plausible')).default;
|
||||||
analytics = Analytics({
|
analytics = Analytics({
|
||||||
app: 'mermaid-live-editor',
|
app: 'mermaid-live-editor',
|
||||||
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
||||||
plugins: [
|
plugins: [
|
||||||
// eslint-disable-next-line @typescript-eslint/no-unsafe-call, @typescript-eslint/no-unsafe-member-access
|
// eslint-disable-next-line @typescript-eslint/no-unsafe-call, @typescript-eslint/no-unsafe-member-access
|
||||||
googleAnalytics.init({
|
googleAnalytics({
|
||||||
trackingId: 'UA-153180559-1'
|
measurementIds: ['UA-153180559-1']
|
||||||
|
}),
|
||||||
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
||||||
|
// @ts-ignore
|
||||||
|
plausible({
|
||||||
|
domain: 'mermaid.live',
|
||||||
|
hashMode: false,
|
||||||
|
trackLocalhost: false, // By default 'false'
|
||||||
|
apiHost: 'https://plausible.io'
|
||||||
})
|
})
|
||||||
]
|
]
|
||||||
});
|
});
|
||||||
} catch {
|
} catch (e) {
|
||||||
|
console.log(e);
|
||||||
console.info('Analytics blocked ;)');
|
console.info('Analytics blocked ;)');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
import { writable } from 'svelte/store';
|
import { writable } from 'svelte/store';
|
||||||
import type { Writable } from 'svelte/store';
|
import type { Writable } from 'svelte/store';
|
||||||
import { persist, localStorage } from '@macfja/svelte-persistent-store';
|
import { persist, createLocalStorage } from '@macfja/svelte-persistent-store';
|
||||||
import { logEvent } from './stats';
|
import { logEvent } from './stats';
|
||||||
|
|
||||||
export interface ThemeConfig {
|
export interface ThemeConfig {
|
||||||
@@ -12,7 +12,7 @@ export const themeStore: Writable<ThemeConfig> = persist(
|
|||||||
writable({
|
writable({
|
||||||
isDark: false
|
isDark: false
|
||||||
}),
|
}),
|
||||||
localStorage(),
|
createLocalStorage(),
|
||||||
'themeStore'
|
'themeStore'
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|||||||
@@ -6,10 +6,12 @@
|
|||||||
import { setTheme, themeStore } from '$lib/util/theme';
|
import { setTheme, themeStore } from '$lib/util/theme';
|
||||||
import { toggleDarkTheme } from '$lib/util/state';
|
import { toggleDarkTheme } from '$lib/util/state';
|
||||||
import { initHandler } from '$lib/util/util';
|
import { initHandler } from '$lib/util/util';
|
||||||
|
import { applyMigrations } from '$lib/util/migrations';
|
||||||
|
|
||||||
// This can be removed once https://github.com/sveltejs/kit/issues/1612 is fixed.
|
// This can be removed once https://github.com/sveltejs/kit/issues/1612 is fixed.
|
||||||
// Then move it into src and vite will bundle it automatically.
|
// Then move it into src and vite will bundle it automatically.
|
||||||
onMount(() => {
|
onMount(() => {
|
||||||
|
applyMigrations();
|
||||||
window.addEventListener('hashchange', async (ev) => {
|
window.addEventListener('hashchange', async (ev) => {
|
||||||
await initHandler();
|
await initHandler();
|
||||||
});
|
});
|
||||||
@@ -1,2 +0,0 @@
|
|||||||
import { GET as manifestGet } from '../manifest.json';
|
|
||||||
export const GET = manifestGet;
|
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
import type { RequestHandler } from './$types';
|
||||||
|
import { GET as manifestGet } from '../../manifest.json/+server';
|
||||||
|
|
||||||
|
export const GET: RequestHandler = manifestGet;
|
||||||
@@ -113,7 +113,6 @@
|
|||||||
|
|
||||||
let debounce: { [key: string]: number } = {};
|
let debounce: { [key: string]: number } = {};
|
||||||
const updateHandler = ({ detail: { text } }: CustomEvent<EditorUpdateEvent>) => {
|
const updateHandler = ({ detail: { text } }: CustomEvent<EditorUpdateEvent>) => {
|
||||||
console.log({ debounceEnabled });
|
|
||||||
if (debounceEnabled) {
|
if (debounceEnabled) {
|
||||||
clearTimeout(debounce[selectedMode]);
|
clearTimeout(debounce[selectedMode]);
|
||||||
debounce[selectedMode] = window.setTimeout(() => {
|
debounce[selectedMode] = window.setTimeout(() => {
|
||||||
@@ -1,28 +0,0 @@
|
|||||||
import { base } from '$app/paths';
|
|
||||||
export const GET = (): { body: unknown } => {
|
|
||||||
return {
|
|
||||||
body: {
|
|
||||||
short_name: 'Mermaid',
|
|
||||||
name: 'Mermaid Live Editor',
|
|
||||||
icons: [
|
|
||||||
{
|
|
||||||
src: `${base}/icon-192.png`,
|
|
||||||
type: 'image/png',
|
|
||||||
sizes: '192x192'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
src: `${base}/icon-512.png`,
|
|
||||||
type: 'image/png',
|
|
||||||
sizes: '512x512'
|
|
||||||
}
|
|
||||||
],
|
|
||||||
start_url: `${base}/edit/`,
|
|
||||||
background_color: '#6366F1',
|
|
||||||
display: 'standalone',
|
|
||||||
scope: `${base}/edit/`,
|
|
||||||
theme_color: '#6366F1',
|
|
||||||
description: 'FlowChart & Diagrams Editor.',
|
|
||||||
orientation: 'landscape'
|
|
||||||
}
|
|
||||||
};
|
|
||||||
};
|
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
import { json } from '@sveltejs/kit';
|
||||||
|
import { base } from '$app/paths';
|
||||||
|
import type { RequestHandler } from './$types';
|
||||||
|
|
||||||
|
export const GET: RequestHandler = () => {
|
||||||
|
return json({
|
||||||
|
short_name: 'Mermaid',
|
||||||
|
name: 'Mermaid Live Editor',
|
||||||
|
icons: [
|
||||||
|
{
|
||||||
|
src: `${base}/icon-192.png`,
|
||||||
|
type: 'image/png',
|
||||||
|
sizes: '192x192'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
src: `${base}/icon-512.png`,
|
||||||
|
type: 'image/png',
|
||||||
|
sizes: '512x512'
|
||||||
|
}
|
||||||
|
],
|
||||||
|
start_url: `${base}/edit/`,
|
||||||
|
background_color: '#6366F1',
|
||||||
|
display: 'standalone',
|
||||||
|
scope: `${base}/edit/`,
|
||||||
|
theme_color: '#6366F1',
|
||||||
|
description: 'FlowChart & Diagrams Editor.',
|
||||||
|
orientation: 'landscape'
|
||||||
|
});
|
||||||
|
};
|
||||||
+8
-1
@@ -1,4 +1,11 @@
|
|||||||
import matchers from '@testing-library/jest-dom/matchers';
|
import matchers from '@testing-library/jest-dom/matchers';
|
||||||
import { expect } from 'vitest';
|
import { expect, beforeAll, vi } from 'vitest';
|
||||||
|
|
||||||
expect.extend(matchers);
|
expect.extend(matchers);
|
||||||
|
|
||||||
|
// TODO: Remove once https://github.com/sveltejs/kit/issues/6259 is closed.
|
||||||
|
beforeAll(() => {
|
||||||
|
vi.mock('$app/env', () => ({
|
||||||
|
browser: 'window' in globalThis
|
||||||
|
}));
|
||||||
|
});
|
||||||
|
|||||||
@@ -7,13 +7,22 @@
|
|||||||
resolved "https://registry.yarnpkg.com/@adobe/css-tools/-/css-tools-4.0.1.tgz#b38b444ad3aa5fedbb15f2f746dcd934226a12dd"
|
resolved "https://registry.yarnpkg.com/@adobe/css-tools/-/css-tools-4.0.1.tgz#b38b444ad3aa5fedbb15f2f746dcd934226a12dd"
|
||||||
integrity sha512-+u76oB43nOHrF4DDWRLWDCtci7f3QJoEBigemIdIeTi1ODqjx6Tad9NCVnPRwewWlKkVab5PlK8DCtPTyX7S8g==
|
integrity sha512-+u76oB43nOHrF4DDWRLWDCtci7f3QJoEBigemIdIeTi1ODqjx6Tad9NCVnPRwewWlKkVab5PlK8DCtPTyX7S8g==
|
||||||
|
|
||||||
"@analytics/cookie-utils@^0.2.10":
|
"@analytics/cookie-utils@^0.2.10", "@analytics/cookie-utils@^0.2.9":
|
||||||
version "0.2.10"
|
version "0.2.10"
|
||||||
resolved "https://registry.yarnpkg.com/@analytics/cookie-utils/-/cookie-utils-0.2.10.tgz#94d1ad0766c58c4a294e5ca54f59b0a69bd574b4"
|
resolved "https://registry.yarnpkg.com/@analytics/cookie-utils/-/cookie-utils-0.2.10.tgz#94d1ad0766c58c4a294e5ca54f59b0a69bd574b4"
|
||||||
integrity sha512-k7oyW1PkMCnEdCYmHCLLXAsKavQh5ZRh5EeugBEUTlPJs8x8ajF+W1T0PYVDS26Impkea1sJR2etv/6l2pKtlg==
|
integrity sha512-k7oyW1PkMCnEdCYmHCLLXAsKavQh5ZRh5EeugBEUTlPJs8x8ajF+W1T0PYVDS26Impkea1sJR2etv/6l2pKtlg==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@analytics/global-storage-utils" "^0.1.5"
|
"@analytics/global-storage-utils" "^0.1.5"
|
||||||
|
|
||||||
|
"@analytics/core@^0.10.23":
|
||||||
|
version "0.10.23"
|
||||||
|
resolved "https://registry.yarnpkg.com/@analytics/core/-/core-0.10.23.tgz#869218c28bae4948bdecfd76415064e83bb8ca8d"
|
||||||
|
integrity sha512-crOJ7tNA5xak5YGiiX8IvPyqf4Hy3tMmTH4dTvQiOapO6BiBJcxBUkjtJNPwZlhS4nmsWh0skeTBr4Kv92RzeA==
|
||||||
|
dependencies:
|
||||||
|
"@analytics/global-storage-utils" "^0.1.4"
|
||||||
|
"@analytics/type-utils" "^0.5.4"
|
||||||
|
analytics-utils "^1.0.9"
|
||||||
|
|
||||||
"@analytics/core@^0.11.1":
|
"@analytics/core@^0.11.1":
|
||||||
version "0.11.1"
|
version "0.11.1"
|
||||||
resolved "https://registry.yarnpkg.com/@analytics/core/-/core-0.11.1.tgz#3d26858aeaf77b80810e269a4ecfd70173032501"
|
resolved "https://registry.yarnpkg.com/@analytics/core/-/core-0.11.1.tgz#3d26858aeaf77b80810e269a4ecfd70173032501"
|
||||||
@@ -23,7 +32,7 @@
|
|||||||
"@analytics/type-utils" "^0.6.0"
|
"@analytics/type-utils" "^0.6.0"
|
||||||
analytics-utils "^1.0.10"
|
analytics-utils "^1.0.10"
|
||||||
|
|
||||||
"@analytics/global-storage-utils@^0.1.5":
|
"@analytics/global-storage-utils@^0.1.4", "@analytics/global-storage-utils@^0.1.5":
|
||||||
version "0.1.5"
|
version "0.1.5"
|
||||||
resolved "https://registry.yarnpkg.com/@analytics/global-storage-utils/-/global-storage-utils-0.1.5.tgz#54cc14f8d678610b5fca1e98215fe29fff662f31"
|
resolved "https://registry.yarnpkg.com/@analytics/global-storage-utils/-/global-storage-utils-0.1.5.tgz#54cc14f8d678610b5fca1e98215fe29fff662f31"
|
||||||
integrity sha512-DzOCd0qK7PGnz/dgBYNzLmaFBkxcEHM6/CpWMY7hel1IBUldMsyet4sdRgI2Nk+Wc6B/YvqVqos68p5ntB59zA==
|
integrity sha512-DzOCd0qK7PGnz/dgBYNzLmaFBkxcEHM6/CpWMY7hel1IBUldMsyet4sdRgI2Nk+Wc6B/YvqVqos68p5ntB59zA==
|
||||||
@@ -35,13 +44,20 @@
|
|||||||
resolved "https://registry.yarnpkg.com/@analytics/google-analytics/-/google-analytics-1.0.3.tgz#4b3966c4b5729ae65f909149b9f1a58ac42dc10f"
|
resolved "https://registry.yarnpkg.com/@analytics/google-analytics/-/google-analytics-1.0.3.tgz#4b3966c4b5729ae65f909149b9f1a58ac42dc10f"
|
||||||
integrity sha512-LnwefjQaqypjIXhw9GLRYpUz8dkriEC53JTLgJZ+mxSBZTkSrLSi3zuAiuV8rcsI0XfYmlWIav9RgGq92dWd4w==
|
integrity sha512-LnwefjQaqypjIXhw9GLRYpUz8dkriEC53JTLgJZ+mxSBZTkSrLSi3zuAiuV8rcsI0XfYmlWIav9RgGq92dWd4w==
|
||||||
|
|
||||||
"@analytics/localstorage-utils@^0.1.8":
|
"@analytics/localstorage-utils@^0.1.7", "@analytics/localstorage-utils@^0.1.8":
|
||||||
version "0.1.8"
|
version "0.1.8"
|
||||||
resolved "https://registry.yarnpkg.com/@analytics/localstorage-utils/-/localstorage-utils-0.1.8.tgz#eab6a9690ccd3c05d131e3a9788b4443affdb800"
|
resolved "https://registry.yarnpkg.com/@analytics/localstorage-utils/-/localstorage-utils-0.1.8.tgz#eab6a9690ccd3c05d131e3a9788b4443affdb800"
|
||||||
integrity sha512-tU5rLEHdYRc4EmRXkWacMJSmu4SeJfQuxvthSHHRVx3hGBQ00MJRDGyDHMXcrLKQXrBpsJo6t/8YRavHLOxDPQ==
|
integrity sha512-tU5rLEHdYRc4EmRXkWacMJSmu4SeJfQuxvthSHHRVx3hGBQ00MJRDGyDHMXcrLKQXrBpsJo6t/8YRavHLOxDPQ==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@analytics/global-storage-utils" "^0.1.5"
|
"@analytics/global-storage-utils" "^0.1.5"
|
||||||
|
|
||||||
|
"@analytics/session-storage-utils@^0.0.4":
|
||||||
|
version "0.0.4"
|
||||||
|
resolved "https://registry.yarnpkg.com/@analytics/session-storage-utils/-/session-storage-utils-0.0.4.tgz#6aefe0eb012038f3722433c411485a2b7f540a15"
|
||||||
|
integrity sha512-HPVIUMpL9ua8uBj5kLsTOLbxUNP0GVYQowC9AwX1S/T39Eg8RKwbV/GYaDAqeCjEi8BGYOEguqI9kFGqxIt1iA==
|
||||||
|
dependencies:
|
||||||
|
"@analytics/global-storage-utils" "^0.1.4"
|
||||||
|
|
||||||
"@analytics/session-storage-utils@^0.0.5":
|
"@analytics/session-storage-utils@^0.0.5":
|
||||||
version "0.0.5"
|
version "0.0.5"
|
||||||
resolved "https://registry.yarnpkg.com/@analytics/session-storage-utils/-/session-storage-utils-0.0.5.tgz#f0501ef73d1b94a34e94057056cadaeee4f65fdf"
|
resolved "https://registry.yarnpkg.com/@analytics/session-storage-utils/-/session-storage-utils-0.0.5.tgz#f0501ef73d1b94a34e94057056cadaeee4f65fdf"
|
||||||
@@ -49,6 +65,17 @@
|
|||||||
dependencies:
|
dependencies:
|
||||||
"@analytics/global-storage-utils" "^0.1.5"
|
"@analytics/global-storage-utils" "^0.1.5"
|
||||||
|
|
||||||
|
"@analytics/storage-utils@^0.3.0":
|
||||||
|
version "0.3.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/@analytics/storage-utils/-/storage-utils-0.3.0.tgz#7a9795af6b73e13194edb03eb27402c4877d9d96"
|
||||||
|
integrity sha512-uxOz5wdZkuxc7RaWlNsj/7iFr0GkkFqmxyIYY4oFk91E3/hyosny59lb8DEC/MpdUUAoNI+clU+I/PYcv3p1WA==
|
||||||
|
dependencies:
|
||||||
|
"@analytics/cookie-utils" "^0.2.9"
|
||||||
|
"@analytics/global-storage-utils" "^0.1.4"
|
||||||
|
"@analytics/localstorage-utils" "^0.1.7"
|
||||||
|
"@analytics/session-storage-utils" "^0.0.4"
|
||||||
|
"@analytics/type-utils" "^0.5.4"
|
||||||
|
|
||||||
"@analytics/storage-utils@^0.4.0":
|
"@analytics/storage-utils@^0.4.0":
|
||||||
version "0.4.0"
|
version "0.4.0"
|
||||||
resolved "https://registry.yarnpkg.com/@analytics/storage-utils/-/storage-utils-0.4.0.tgz#12e5c0683f0124e189650a4989a627f3318d7995"
|
resolved "https://registry.yarnpkg.com/@analytics/storage-utils/-/storage-utils-0.4.0.tgz#12e5c0683f0124e189650a4989a627f3318d7995"
|
||||||
@@ -60,6 +87,11 @@
|
|||||||
"@analytics/session-storage-utils" "^0.0.5"
|
"@analytics/session-storage-utils" "^0.0.5"
|
||||||
"@analytics/type-utils" "^0.6.0"
|
"@analytics/type-utils" "^0.6.0"
|
||||||
|
|
||||||
|
"@analytics/type-utils@^0.5.4":
|
||||||
|
version "0.5.4"
|
||||||
|
resolved "https://registry.yarnpkg.com/@analytics/type-utils/-/type-utils-0.5.4.tgz#1fcaa6d1d557c0377d1fbd8615624ac918d1727d"
|
||||||
|
integrity sha512-2CT5YTsvif3gYPYp5hPIhh66mUo/Cu+k5OiHbX3k5p+YsZ5Bggcp/wLEFnrdKG4tKgGn5SOKkEtL63VYhGXX7g==
|
||||||
|
|
||||||
"@analytics/type-utils@^0.6.0":
|
"@analytics/type-utils@^0.6.0":
|
||||||
version "0.6.0"
|
version "0.6.0"
|
||||||
resolved "https://registry.yarnpkg.com/@analytics/type-utils/-/type-utils-0.6.0.tgz#1b8745516da5a654d292ed3f2db893c61cd3d9c5"
|
resolved "https://registry.yarnpkg.com/@analytics/type-utils/-/type-utils-0.6.0.tgz#1b8745516da5a654d292ed3f2db893c61cd3d9c5"
|
||||||
@@ -213,13 +245,19 @@
|
|||||||
"@jridgewell/resolve-uri" "^3.0.3"
|
"@jridgewell/resolve-uri" "^3.0.3"
|
||||||
"@jridgewell/sourcemap-codec" "^1.4.10"
|
"@jridgewell/sourcemap-codec" "^1.4.10"
|
||||||
|
|
||||||
"@macfja/svelte-persistent-store@1.3.0":
|
"@macfja/serializer@^1.0.2":
|
||||||
version "1.3.0"
|
version "1.0.2"
|
||||||
resolved "https://registry.yarnpkg.com/@macfja/svelte-persistent-store/-/svelte-persistent-store-1.3.0.tgz#e3ef6440cde04657ab77284dacd447b12a89cb1e"
|
resolved "https://registry.yarnpkg.com/@macfja/serializer/-/serializer-1.0.2.tgz#9170d0a298787244d9c9b7d31bbbe64762dd1677"
|
||||||
integrity sha512-3lPsEAFe28zCNTyA+/pYfUgzRrH6KZvoG0i4IHVhYOs3Xzaqg9hN7LdHa+Qrv7GncXn/6XhDEpb36hB0f7CzXA==
|
integrity sha512-ORAF9M5DtarMV6RqZjvVdfsHQ0yTdBDgpA3dFmRBdg/A4TKIwPBjZ9NMjGFQZmJXt/GAHEEMhixu3Rkg5eGWuA==
|
||||||
|
|
||||||
|
"@macfja/svelte-persistent-store@2.0.0":
|
||||||
|
version "2.0.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/@macfja/svelte-persistent-store/-/svelte-persistent-store-2.0.0.tgz#2505e1b0a66966355f26e29b1806aec8954ab4c1"
|
||||||
|
integrity sha512-JX9dre6pFG+lK0GiHefXv9xKEtkSSzHAWsjLj8Kgw/gW5KMzWKaTqvJ0e98Xiv72fzUWWWqgW5Dz5DpHVxbbwA==
|
||||||
dependencies:
|
dependencies:
|
||||||
|
"@macfja/serializer" "^1.0.2"
|
||||||
browser-cookies "^1.2.0"
|
browser-cookies "^1.2.0"
|
||||||
esserializer "^1.3.2"
|
cyrup "^0.8.1"
|
||||||
idb-keyval "^5.1.3"
|
idb-keyval "^5.1.3"
|
||||||
|
|
||||||
"@nodelib/fs.scandir@2.1.5":
|
"@nodelib/fs.scandir@2.1.5":
|
||||||
@@ -266,15 +304,23 @@
|
|||||||
resolved "https://registry.yarnpkg.com/@sveltejs/adapter-static/-/adapter-static-1.0.0-next.39.tgz#ae79b95accd3af6ecfa92e9596c4d41b49cf6fea"
|
resolved "https://registry.yarnpkg.com/@sveltejs/adapter-static/-/adapter-static-1.0.0-next.39.tgz#ae79b95accd3af6ecfa92e9596c4d41b49cf6fea"
|
||||||
integrity sha512-EeD39H6iEe0UEKnKxLFTZFZpi/FcX5xfbAvsMQ+B09aDZccpQmkJBSIo+4kq1JsQGSjwi/+J3aE9bR67R6CIyQ==
|
integrity sha512-EeD39H6iEe0UEKnKxLFTZFZpi/FcX5xfbAvsMQ+B09aDZccpQmkJBSIo+4kq1JsQGSjwi/+J3aE9bR67R6CIyQ==
|
||||||
|
|
||||||
"@sveltejs/kit@1.0.0-next.405":
|
"@sveltejs/kit@1.0.0-next.442":
|
||||||
version "1.0.0-next.405"
|
version "1.0.0-next.442"
|
||||||
resolved "https://registry.yarnpkg.com/@sveltejs/kit/-/kit-1.0.0-next.405.tgz#ab1fe94e695a4c0326cb9c52767281a760d3ac55"
|
resolved "https://registry.yarnpkg.com/@sveltejs/kit/-/kit-1.0.0-next.442.tgz#9fa8d36067801ee95226c88a8132973fe7bae87d"
|
||||||
integrity sha512-jHSa74F7k+hC+0fof75g/xm/+1M5sM66Qt6v8eLLMSgjkp36Lb5xOioBhbl6w0NYoE5xysLsBWuu+yHytfvCBA==
|
integrity sha512-xFGgyQuQEvIrBpdfsGQNG9cHINxpqmaa5LMENUdAt0lpbLuRrc4V2Zi2T11MPT2znNBn3rHEFsqCH9zviEcCRw==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@sveltejs/vite-plugin-svelte" "^1.0.1"
|
"@sveltejs/vite-plugin-svelte" "^1.0.1"
|
||||||
chokidar "^3.5.3"
|
cookie "^0.5.0"
|
||||||
|
devalue "^2.0.1"
|
||||||
|
kleur "^4.1.4"
|
||||||
|
magic-string "^0.26.2"
|
||||||
|
mime "^3.0.0"
|
||||||
|
node-fetch "^3.2.4"
|
||||||
sade "^1.8.1"
|
sade "^1.8.1"
|
||||||
|
set-cookie-parser "^2.4.8"
|
||||||
|
sirv "^2.0.2"
|
||||||
tiny-glob "^0.2.9"
|
tiny-glob "^0.2.9"
|
||||||
|
undici "^5.8.1"
|
||||||
|
|
||||||
"@sveltejs/vite-plugin-svelte@^1.0.1":
|
"@sveltejs/vite-plugin-svelte@^1.0.1":
|
||||||
version "1.0.1"
|
version "1.0.1"
|
||||||
@@ -317,10 +363,10 @@
|
|||||||
lodash "^4.17.15"
|
lodash "^4.17.15"
|
||||||
redent "^3.0.0"
|
redent "^3.0.0"
|
||||||
|
|
||||||
"@testing-library/svelte@3.1.3":
|
"@testing-library/svelte@3.2.1":
|
||||||
version "3.1.3"
|
version "3.2.1"
|
||||||
resolved "https://registry.yarnpkg.com/@testing-library/svelte/-/svelte-3.1.3.tgz#a3605a0e98ea04f9ba58ec3d554a9e1a81a4a577"
|
resolved "https://registry.yarnpkg.com/@testing-library/svelte/-/svelte-3.2.1.tgz#c63bd2b7df7907f26e91b4ce0c50c77d8e7c4745"
|
||||||
integrity sha512-pyed3yMnTu7wG9Z4XKoIxdrx52hSEFDC8qUaiSsiSh8tBVj3ZjqEKnV2Nfc0IF2llEkT0B7QOXnOVTLJ3O5RCw==
|
integrity sha512-qP5nMAx78zt+a3y9Sws9BNQYP30cOQ/LXDYuAj7wNtw86b7AtB7TFAz6/Av9hFsW3IJHPBBIGff6utVNyq+F1g==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@testing-library/dom" "^8.1.0"
|
"@testing-library/dom" "^8.1.0"
|
||||||
|
|
||||||
@@ -346,12 +392,7 @@
|
|||||||
dependencies:
|
dependencies:
|
||||||
"@types/chai" "*"
|
"@types/chai" "*"
|
||||||
|
|
||||||
"@types/chai@*":
|
"@types/chai@*", "@types/chai@^4.3.3":
|
||||||
version "4.3.1"
|
|
||||||
resolved "https://registry.yarnpkg.com/@types/chai/-/chai-4.3.1.tgz#e2c6e73e0bdeb2521d00756d099218e9f5d90a04"
|
|
||||||
integrity sha512-/zPMqDkzSZ8t3VtxOa4KPq7uzzW978M9Tvh+j7GHKuo6k6GTLxPJ4J5gE5cjfJ26pnXst0N5Hax8Sr0T2Mi9zQ==
|
|
||||||
|
|
||||||
"@types/chai@^4.3.3":
|
|
||||||
version "4.3.3"
|
version "4.3.3"
|
||||||
resolved "https://registry.yarnpkg.com/@types/chai/-/chai-4.3.3.tgz#3c90752792660c4b562ad73b3fbd68bf3bc7ae07"
|
resolved "https://registry.yarnpkg.com/@types/chai/-/chai-4.3.3.tgz#3c90752792660c4b562ad73b3fbd68bf3bc7ae07"
|
||||||
integrity sha512-hC7OMnszpxhZPduX+m+nrx+uFoLkWOMiR4oa/AZF3MuSETYTZmFfJAHqZEM8MVlvfG7BEUcgvtwoCTxBp6hm3g==
|
integrity sha512-hC7OMnszpxhZPduX+m+nrx+uFoLkWOMiR4oa/AZF3MuSETYTZmFfJAHqZEM8MVlvfG7BEUcgvtwoCTxBp6hm3g==
|
||||||
@@ -423,6 +464,11 @@
|
|||||||
dependencies:
|
dependencies:
|
||||||
"@types/jest" "*"
|
"@types/jest" "*"
|
||||||
|
|
||||||
|
"@types/uuid@^8.3.4":
|
||||||
|
version "8.3.4"
|
||||||
|
resolved "https://registry.yarnpkg.com/@types/uuid/-/uuid-8.3.4.tgz#bd86a43617df0594787d38b735f55c805becf1bc"
|
||||||
|
integrity sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==
|
||||||
|
|
||||||
"@types/yauzl@^2.9.1":
|
"@types/yauzl@^2.9.1":
|
||||||
version "2.9.1"
|
version "2.9.1"
|
||||||
resolved "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.9.1.tgz"
|
resolved "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.9.1.tgz"
|
||||||
@@ -430,14 +476,14 @@
|
|||||||
dependencies:
|
dependencies:
|
||||||
"@types/node" "*"
|
"@types/node" "*"
|
||||||
|
|
||||||
"@typescript-eslint/eslint-plugin@5.33.0":
|
"@typescript-eslint/eslint-plugin@5.35.1":
|
||||||
version "5.33.0"
|
version "5.35.1"
|
||||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.33.0.tgz#059798888720ec52ffa96c5f868e31a8f70fa3ec"
|
resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.35.1.tgz#0d822bfea7469904dfc1bb8f13cabd362b967c93"
|
||||||
integrity sha512-jHvZNSW2WZ31OPJ3enhLrEKvAZNyAFWZ6rx9tUwaessTc4sx9KmgMNhVcqVAl1ETnT5rU5fpXTLmY9YvC1DCNg==
|
integrity sha512-RBZZXZlI4XCY4Wzgy64vB+0slT9+yAPQRjj/HSaRwUot33xbDjF1oN9BLwOLTewoOI0jothIltZRe9uJCHf8gg==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@typescript-eslint/scope-manager" "5.33.0"
|
"@typescript-eslint/scope-manager" "5.35.1"
|
||||||
"@typescript-eslint/type-utils" "5.33.0"
|
"@typescript-eslint/type-utils" "5.35.1"
|
||||||
"@typescript-eslint/utils" "5.33.0"
|
"@typescript-eslint/utils" "5.35.1"
|
||||||
debug "^4.3.4"
|
debug "^4.3.4"
|
||||||
functional-red-black-tree "^1.0.1"
|
functional-red-black-tree "^1.0.1"
|
||||||
ignore "^5.2.0"
|
ignore "^5.2.0"
|
||||||
@@ -445,121 +491,109 @@
|
|||||||
semver "^7.3.7"
|
semver "^7.3.7"
|
||||||
tsutils "^3.21.0"
|
tsutils "^3.21.0"
|
||||||
|
|
||||||
"@typescript-eslint/parser@5.33.0":
|
"@typescript-eslint/parser@5.34.0":
|
||||||
version "5.33.0"
|
version "5.34.0"
|
||||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.33.0.tgz#26ec3235b74f0667414613727cb98f9b69dc5383"
|
resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.34.0.tgz#ca710858ea85dbfd30c9b416a335dc49e82dbc07"
|
||||||
integrity sha512-cgM5cJrWmrDV2KpvlcSkelTBASAs1mgqq+IUGKJvFxWrapHpaRy5EXPQz9YaKF3nZ8KY18ILTiVpUtbIac86/w==
|
integrity sha512-SZ3NEnK4usd2CXkoV3jPa/vo1mWX1fqRyIVUQZR4As1vyp4fneknBNJj+OFtV8WAVgGf+rOHMSqQbs2Qn3nFZQ==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@typescript-eslint/scope-manager" "5.33.0"
|
"@typescript-eslint/scope-manager" "5.34.0"
|
||||||
"@typescript-eslint/types" "5.33.0"
|
"@typescript-eslint/types" "5.34.0"
|
||||||
"@typescript-eslint/typescript-estree" "5.33.0"
|
"@typescript-eslint/typescript-estree" "5.34.0"
|
||||||
debug "^4.3.4"
|
debug "^4.3.4"
|
||||||
|
|
||||||
"@typescript-eslint/scope-manager@5.32.0":
|
"@typescript-eslint/scope-manager@5.34.0":
|
||||||
version "5.32.0"
|
version "5.34.0"
|
||||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.32.0.tgz#763386e963a8def470580cc36cf9228864190b95"
|
resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.34.0.tgz#14efd13dc57602937e25f188fd911f118781e527"
|
||||||
integrity sha512-KyAE+tUON0D7tNz92p1uetRqVJiiAkeluvwvZOqBmW9z2XApmk5WSMV9FrzOroAcVxJZB3GfUwVKr98Dr/OjOg==
|
integrity sha512-HNvASMQlah5RsBW6L6c7IJ0vsm+8Sope/wu5sEAf7joJYWNb1LDbJipzmdhdUOnfrDFE6LR1j57x1EYVxrY4ow==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@typescript-eslint/types" "5.32.0"
|
"@typescript-eslint/types" "5.34.0"
|
||||||
"@typescript-eslint/visitor-keys" "5.32.0"
|
"@typescript-eslint/visitor-keys" "5.34.0"
|
||||||
|
|
||||||
"@typescript-eslint/scope-manager@5.33.0":
|
"@typescript-eslint/scope-manager@5.35.1":
|
||||||
version "5.33.0"
|
version "5.35.1"
|
||||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.33.0.tgz#509d7fa540a2c58f66bdcfcf278a3fa79002e18d"
|
resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.35.1.tgz#ccb69d54b7fd0f2d0226a11a75a8f311f525ff9e"
|
||||||
integrity sha512-/Jta8yMNpXYpRDl8EwF/M8It2A9sFJTubDo0ATZefGXmOqlaBffEw0ZbkbQ7TNDK6q55NPHFshGBPAZvZkE8Pw==
|
integrity sha512-kCYRSAzIW9ByEIzmzGHE50NGAvAP3wFTaZevgWva7GpquDyFPFcmvVkFJGWJJktg/hLwmys/FZwqM9EKr2u24Q==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@typescript-eslint/types" "5.33.0"
|
"@typescript-eslint/types" "5.35.1"
|
||||||
"@typescript-eslint/visitor-keys" "5.33.0"
|
"@typescript-eslint/visitor-keys" "5.35.1"
|
||||||
|
|
||||||
"@typescript-eslint/type-utils@5.33.0":
|
"@typescript-eslint/type-utils@5.35.1":
|
||||||
version "5.33.0"
|
version "5.35.1"
|
||||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.33.0.tgz#92ad1fba973c078d23767ce2d8d5a601baaa9338"
|
resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.35.1.tgz#d50903b56758c5c8fc3be52b3be40569f27f9c4a"
|
||||||
integrity sha512-2zB8uEn7hEH2pBeyk3NpzX1p3lF9dKrEbnXq1F7YkpZ6hlyqb2yZujqgRGqXgRBTHWIUG3NGx/WeZk224UKlIA==
|
integrity sha512-8xT8ljvo43Mp7BiTn1vxLXkjpw8wS4oAc00hMSB4L1/jIiYbjjnc3Qp2GAUOG/v8zsNCd1qwcqfCQ0BuishHkw==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@typescript-eslint/utils" "5.33.0"
|
"@typescript-eslint/utils" "5.35.1"
|
||||||
debug "^4.3.4"
|
debug "^4.3.4"
|
||||||
tsutils "^3.21.0"
|
tsutils "^3.21.0"
|
||||||
|
|
||||||
"@typescript-eslint/types@5.32.0":
|
"@typescript-eslint/types@5.34.0":
|
||||||
version "5.32.0"
|
version "5.34.0"
|
||||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.32.0.tgz#484273021eeeae87ddb288f39586ef5efeb6dcd8"
|
resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.34.0.tgz#217bf08049e9e7b86694d982e88a2c1566330c78"
|
||||||
integrity sha512-EBUKs68DOcT/EjGfzywp+f8wG9Zw6gj6BjWu7KV/IYllqKJFPlZlLSYw/PTvVyiRw50t6wVbgv4p9uE2h6sZrQ==
|
integrity sha512-49fm3xbbUPuzBIOcy2CDpYWqy/X7VBkxVN+DC21e0zIm3+61Z0NZi6J9mqPmSW1BDVk9FIOvuCFyUPjXz93sjA==
|
||||||
|
|
||||||
"@typescript-eslint/types@5.33.0":
|
"@typescript-eslint/types@5.35.1":
|
||||||
version "5.33.0"
|
version "5.35.1"
|
||||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.33.0.tgz#d41c584831805554b063791338b0220b613a275b"
|
resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.35.1.tgz#af355fe52a0cc88301e889bc4ada72f279b63d61"
|
||||||
integrity sha512-nIMt96JngB4MYFYXpZ/3ZNU4GWPNdBbcB5w2rDOCpXOVUkhtNlG2mmm8uXhubhidRZdwMaMBap7Uk8SZMU/ppw==
|
integrity sha512-FDaujtsH07VHzG0gQ6NDkVVhi1+rhq0qEvzHdJAQjysN+LHDCKDKCBRlZFFE0ec0jKxiv0hN63SNfExy0KrbQQ==
|
||||||
|
|
||||||
"@typescript-eslint/typescript-estree@5.32.0":
|
"@typescript-eslint/typescript-estree@5.34.0":
|
||||||
version "5.32.0"
|
version "5.34.0"
|
||||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.32.0.tgz#282943f34babf07a4afa7b0ff347a8e7b6030d12"
|
resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.34.0.tgz#ba7b83f4bf8ccbabf074bbf1baca7a58de3ccb9a"
|
||||||
integrity sha512-ZVAUkvPk3ITGtCLU5J4atCw9RTxK+SRc6hXqLtllC2sGSeMFWN+YwbiJR9CFrSFJ3w4SJfcWtDwNb/DmUIHdhg==
|
integrity sha512-mXHAqapJJDVzxauEkfJI96j3D10sd567LlqroyCeJaHnu42sDbjxotGb3XFtGPYKPD9IyLjhsoULML1oI3M86A==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@typescript-eslint/types" "5.32.0"
|
"@typescript-eslint/types" "5.34.0"
|
||||||
"@typescript-eslint/visitor-keys" "5.32.0"
|
"@typescript-eslint/visitor-keys" "5.34.0"
|
||||||
debug "^4.3.4"
|
debug "^4.3.4"
|
||||||
globby "^11.1.0"
|
globby "^11.1.0"
|
||||||
is-glob "^4.0.3"
|
is-glob "^4.0.3"
|
||||||
semver "^7.3.7"
|
semver "^7.3.7"
|
||||||
tsutils "^3.21.0"
|
tsutils "^3.21.0"
|
||||||
|
|
||||||
"@typescript-eslint/typescript-estree@5.33.0":
|
"@typescript-eslint/typescript-estree@5.35.1":
|
||||||
version "5.33.0"
|
version "5.35.1"
|
||||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.33.0.tgz#02d9c9ade6f4897c09e3508c27de53ad6bfa54cf"
|
resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.35.1.tgz#db878a39a0dbdc9bb133f11cdad451770bfba211"
|
||||||
integrity sha512-tqq3MRLlggkJKJUrzM6wltk8NckKyyorCSGMq4eVkyL5sDYzJJcMgZATqmF8fLdsWrW7OjjIZ1m9v81vKcaqwQ==
|
integrity sha512-JUqE1+VRTGyoXlDWWjm6MdfpBYVq+hixytrv1oyjYIBEOZhBCwtpp5ZSvBt4wIA1MKWlnaC2UXl2XmYGC3BoQA==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@typescript-eslint/types" "5.33.0"
|
"@typescript-eslint/types" "5.35.1"
|
||||||
"@typescript-eslint/visitor-keys" "5.33.0"
|
"@typescript-eslint/visitor-keys" "5.35.1"
|
||||||
debug "^4.3.4"
|
debug "^4.3.4"
|
||||||
globby "^11.1.0"
|
globby "^11.1.0"
|
||||||
is-glob "^4.0.3"
|
is-glob "^4.0.3"
|
||||||
semver "^7.3.7"
|
semver "^7.3.7"
|
||||||
tsutils "^3.21.0"
|
tsutils "^3.21.0"
|
||||||
|
|
||||||
"@typescript-eslint/utils@5.33.0":
|
"@typescript-eslint/utils@5.35.1", "@typescript-eslint/utils@^5.17.0":
|
||||||
version "5.33.0"
|
version "5.35.1"
|
||||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.33.0.tgz#46797461ce3146e21c095d79518cc0f8ec574038"
|
resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.35.1.tgz#ae1399afbfd6aa7d0ed1b7d941e9758d950250eb"
|
||||||
integrity sha512-JxOAnXt9oZjXLIiXb5ZIcZXiwVHCkqZgof0O8KPgz7C7y0HS42gi75PdPlqh1Tf109M0fyUw45Ao6JLo7S5AHw==
|
integrity sha512-v6F8JNXgeBWI4pzZn36hT2HXXzoBBBJuOYvoQiaQaEEjdi5STzux3Yj8v7ODIpx36i/5s8TdzuQ54TPc5AITQQ==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@types/json-schema" "^7.0.9"
|
"@types/json-schema" "^7.0.9"
|
||||||
"@typescript-eslint/scope-manager" "5.33.0"
|
"@typescript-eslint/scope-manager" "5.35.1"
|
||||||
"@typescript-eslint/types" "5.33.0"
|
"@typescript-eslint/types" "5.35.1"
|
||||||
"@typescript-eslint/typescript-estree" "5.33.0"
|
"@typescript-eslint/typescript-estree" "5.35.1"
|
||||||
eslint-scope "^5.1.1"
|
eslint-scope "^5.1.1"
|
||||||
eslint-utils "^3.0.0"
|
eslint-utils "^3.0.0"
|
||||||
|
|
||||||
"@typescript-eslint/utils@^5.17.0":
|
"@typescript-eslint/visitor-keys@5.34.0":
|
||||||
version "5.32.0"
|
version "5.34.0"
|
||||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.32.0.tgz#eccb6b672b94516f1afc6508d05173c45924840c"
|
resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.34.0.tgz#d0fb3e31033e82ddd5de048371ad39eb342b2d40"
|
||||||
integrity sha512-W7lYIAI5Zlc5K082dGR27Fczjb3Q57ECcXefKU/f0ajM5ToM0P+N9NmJWip8GmGu/g6QISNT+K6KYB+iSHjXCQ==
|
integrity sha512-O1moYjOSrab0a2fUvFpsJe0QHtvTC+cR+ovYpgKrAVXzqQyc74mv76TgY6z+aEtjQE2vgZux3CQVtGryqdcOAw==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@types/json-schema" "^7.0.9"
|
"@typescript-eslint/types" "5.34.0"
|
||||||
"@typescript-eslint/scope-manager" "5.32.0"
|
|
||||||
"@typescript-eslint/types" "5.32.0"
|
|
||||||
"@typescript-eslint/typescript-estree" "5.32.0"
|
|
||||||
eslint-scope "^5.1.1"
|
|
||||||
eslint-utils "^3.0.0"
|
|
||||||
|
|
||||||
"@typescript-eslint/visitor-keys@5.32.0":
|
|
||||||
version "5.32.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.32.0.tgz#b9715d0b11fdb5dd10fd0c42ff13987470525394"
|
|
||||||
integrity sha512-S54xOHZgfThiZ38/ZGTgB2rqx51CMJ5MCfVT2IplK4Q7hgzGfe0nLzLCcenDnc/cSjP568hdeKfeDcBgqNHD/g==
|
|
||||||
dependencies:
|
|
||||||
"@typescript-eslint/types" "5.32.0"
|
|
||||||
eslint-visitor-keys "^3.3.0"
|
eslint-visitor-keys "^3.3.0"
|
||||||
|
|
||||||
"@typescript-eslint/visitor-keys@5.33.0":
|
"@typescript-eslint/visitor-keys@5.35.1":
|
||||||
version "5.33.0"
|
version "5.35.1"
|
||||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.33.0.tgz#fbcbb074e460c11046e067bc3384b5d66b555484"
|
resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.35.1.tgz#285e9e34aed7c876f16ff646a3984010035898e6"
|
||||||
integrity sha512-/XsqCzD4t+Y9p5wd9HZiptuGKBlaZO5showwqODii5C0nZawxWLF+Q6k5wYHBrQv96h6GYKyqqMHCSTqta8Kiw==
|
integrity sha512-cEB1DvBVo1bxbW/S5axbGPE6b7FIMAbo3w+AGq6zNDA7+NYJOIkKj/sInfTv4edxd4PxJSgdN4t6/pbvgA+n5g==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@typescript-eslint/types" "5.33.0"
|
"@typescript-eslint/types" "5.35.1"
|
||||||
eslint-visitor-keys "^3.3.0"
|
eslint-visitor-keys "^3.3.0"
|
||||||
|
|
||||||
"@vitest/ui@0.21.1":
|
"@vitest/ui@0.22.1":
|
||||||
version "0.21.1"
|
version "0.22.1"
|
||||||
resolved "https://registry.yarnpkg.com/@vitest/ui/-/ui-0.21.1.tgz#b941f5053663a8363910a54f680c263444cc5f09"
|
resolved "https://registry.yarnpkg.com/@vitest/ui/-/ui-0.22.1.tgz#549fe2d156bf91824c61cde74bd835c81c4a7996"
|
||||||
integrity sha512-e+AZdMG6NvrYhxB99LGxW1GkoTpqSDPKpL+wghsApWhocNwALBOBzvgsDr/WN6D6YWRXf18rsJ1kY/KaIspRdg==
|
integrity sha512-iiM2JN+vzY8pEejUbPPi0EgkEselI3RvrgMPNUOalxQRgtlNVGyMsM0Re99xQsrZ/eBkHgWrlW216gNDoeD5cA==
|
||||||
dependencies:
|
dependencies:
|
||||||
sirv "^2.0.2"
|
sirv "^2.0.2"
|
||||||
|
|
||||||
@@ -650,7 +684,15 @@ am-i-a-dependency@1.1.2:
|
|||||||
resolved "https://registry.npmjs.org/am-i-a-dependency/-/am-i-a-dependency-1.1.2.tgz"
|
resolved "https://registry.npmjs.org/am-i-a-dependency/-/am-i-a-dependency-1.1.2.tgz"
|
||||||
integrity sha1-+dNCIwTW9kL4IeTEB1ZQNfYWfx8=
|
integrity sha1-+dNCIwTW9kL4IeTEB1ZQNfYWfx8=
|
||||||
|
|
||||||
analytics-utils@^1.0.10:
|
analytics-plugin-plausible@^0.0.6:
|
||||||
|
version "0.0.6"
|
||||||
|
resolved "https://registry.yarnpkg.com/analytics-plugin-plausible/-/analytics-plugin-plausible-0.0.6.tgz#22595821f1d201cb2e58dde2bb688d78fae78725"
|
||||||
|
integrity sha512-gXeoJo85JLO91DckbPq23jn/QJW4vg1hA/bRcAbcAo5D6u6JUIg/rG6Ecwkk75sPefnGFIZ6qGHIoz1b2wFK9w==
|
||||||
|
dependencies:
|
||||||
|
analytics "^0.7.5"
|
||||||
|
plausible-tracker "^0.3.1"
|
||||||
|
|
||||||
|
analytics-utils@^1.0.10, analytics-utils@^1.0.9:
|
||||||
version "1.0.10"
|
version "1.0.10"
|
||||||
resolved "https://registry.yarnpkg.com/analytics-utils/-/analytics-utils-1.0.10.tgz#e44078176c67005e5b11aae1dc538202744a5ca5"
|
resolved "https://registry.yarnpkg.com/analytics-utils/-/analytics-utils-1.0.10.tgz#e44078176c67005e5b11aae1dc538202744a5ca5"
|
||||||
integrity sha512-ZKYKhip7Sf09qE85l4vZMBPR3fz6ISUTlwzkWSwJHbzLLzP5qrWQtcQlBcP9Pah7BMNSq8pqho+PX4ZKB014Yg==
|
integrity sha512-ZKYKhip7Sf09qE85l4vZMBPR3fz6ISUTlwzkWSwJHbzLLzP5qrWQtcQlBcP9Pah7BMNSq8pqho+PX4ZKB014Yg==
|
||||||
@@ -666,6 +708,14 @@ analytics@0.8.1:
|
|||||||
"@analytics/core" "^0.11.1"
|
"@analytics/core" "^0.11.1"
|
||||||
"@analytics/storage-utils" "^0.4.0"
|
"@analytics/storage-utils" "^0.4.0"
|
||||||
|
|
||||||
|
analytics@^0.7.5:
|
||||||
|
version "0.7.23"
|
||||||
|
resolved "https://registry.yarnpkg.com/analytics/-/analytics-0.7.23.tgz#cff8d43c67fa851229232bc251e58a27e2f863eb"
|
||||||
|
integrity sha512-9zujZOUmDnRGRNoKIXwongMlOV1Odi+5ftRpfTPlYYQfX7Kl6ttSaP2caFQhKr5SenSCW2RMIxiLzX+LynE7sw==
|
||||||
|
dependencies:
|
||||||
|
"@analytics/core" "^0.10.23"
|
||||||
|
"@analytics/storage-utils" "^0.3.0"
|
||||||
|
|
||||||
ansi-colors@^4.1.1:
|
ansi-colors@^4.1.1:
|
||||||
version "4.1.1"
|
version "4.1.1"
|
||||||
resolved "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz"
|
resolved "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz"
|
||||||
@@ -960,9 +1010,9 @@ caniuse-api@^3.0.0:
|
|||||||
lodash.uniq "^4.5.0"
|
lodash.uniq "^4.5.0"
|
||||||
|
|
||||||
caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001370, caniuse-lite@^1.0.30001373:
|
caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001370, caniuse-lite@^1.0.30001373:
|
||||||
version "1.0.30001375"
|
version "1.0.30001383"
|
||||||
resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001375.tgz"
|
resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001383.tgz"
|
||||||
integrity sha512-kWIMkNzLYxSvnjy0hL8w1NOaWNr2rn39RTAVyIwcw8juu60bZDWiF1/loOYANzjtJmy6qPgNmn38ro5Pygagdw==
|
integrity sha512-swMpEoTp5vDoGBZsYZX7L7nXHe6dsHxi9o6/LKf/f0LukVtnrxly5GVb/fWdCDTqi/yw6Km6tiJ0pmBacm0gbg==
|
||||||
|
|
||||||
caseless@~0.12.0:
|
caseless@~0.12.0:
|
||||||
version "0.12.0"
|
version "0.12.0"
|
||||||
@@ -1201,6 +1251,11 @@ convert-source-map@^1.6.0:
|
|||||||
dependencies:
|
dependencies:
|
||||||
safe-buffer "~5.1.1"
|
safe-buffer "~5.1.1"
|
||||||
|
|
||||||
|
cookie@^0.5.0:
|
||||||
|
version "0.5.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.5.0.tgz#d1f5d71adec6558c58f389987c366aa47e994f8b"
|
||||||
|
integrity sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==
|
||||||
|
|
||||||
core-util-is@1.0.2:
|
core-util-is@1.0.2:
|
||||||
version "1.0.2"
|
version "1.0.2"
|
||||||
resolved "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz"
|
resolved "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz"
|
||||||
@@ -1302,10 +1357,10 @@ cssnano-utils@^3.1.0:
|
|||||||
resolved "https://registry.yarnpkg.com/cssnano-utils/-/cssnano-utils-3.1.0.tgz#95684d08c91511edfc70d2636338ca37ef3a6861"
|
resolved "https://registry.yarnpkg.com/cssnano-utils/-/cssnano-utils-3.1.0.tgz#95684d08c91511edfc70d2636338ca37ef3a6861"
|
||||||
integrity sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA==
|
integrity sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA==
|
||||||
|
|
||||||
cssnano@5.1.12:
|
cssnano@5.1.13:
|
||||||
version "5.1.12"
|
version "5.1.13"
|
||||||
resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-5.1.12.tgz#bcd0b64d6be8692de79332c501daa7ece969816c"
|
resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-5.1.13.tgz#83d0926e72955332dc4802a7070296e6258efc0a"
|
||||||
integrity sha512-TgvArbEZu0lk/dvg2ja+B7kYoD7BBCmn3+k58xD0qjrGHsFzXY/wKTo9M5egcUCabPol05e/PVoIu79s2JN4WQ==
|
integrity sha512-S2SL2ekdEz6w6a2epXn4CmMKU4K3KpcyXLKfAYc9UQQqJRkD/2eLUG0vJ3Db/9OvO5GuAdgXw3pFbR6abqghDQ==
|
||||||
dependencies:
|
dependencies:
|
||||||
cssnano-preset-default "^5.2.12"
|
cssnano-preset-default "^5.2.12"
|
||||||
lilconfig "^2.0.3"
|
lilconfig "^2.0.3"
|
||||||
@@ -1345,10 +1400,10 @@ cypress-localstorage-commands@2.2.0:
|
|||||||
resolved "https://registry.yarnpkg.com/cypress-localstorage-commands/-/cypress-localstorage-commands-2.2.0.tgz#324030aba6a3915c27db95987e80223212da5d64"
|
resolved "https://registry.yarnpkg.com/cypress-localstorage-commands/-/cypress-localstorage-commands-2.2.0.tgz#324030aba6a3915c27db95987e80223212da5d64"
|
||||||
integrity sha512-kIPxqe2yATmas3UcqK8Famecg6jThV/DQ2XcKCzK9BbzljU5Mfl2RtuzrXOmLc7phm8CIGbzXH57IIoyPsndwg==
|
integrity sha512-kIPxqe2yATmas3UcqK8Famecg6jThV/DQ2XcKCzK9BbzljU5Mfl2RtuzrXOmLc7phm8CIGbzXH57IIoyPsndwg==
|
||||||
|
|
||||||
cypress@10.4.0:
|
cypress@10.6.0:
|
||||||
version "10.4.0"
|
version "10.6.0"
|
||||||
resolved "https://registry.yarnpkg.com/cypress/-/cypress-10.4.0.tgz#bb5b3b6588ad49eff172fecf5778cc0da2980e4e"
|
resolved "https://registry.yarnpkg.com/cypress/-/cypress-10.6.0.tgz#13f46867febf2c3715874ed5dce9c2e946b175fe"
|
||||||
integrity sha512-OM7F8MRE01SHQRVVzunid1ZK1m90XTxYnl+7uZfIrB4CYqUDCrZEeSyCXzIbsS6qcaijVCAhqDL60SxG8N6hew==
|
integrity sha512-6sOpHjostp8gcLO34p6r/Ci342lBs8S5z9/eb3ZCQ22w2cIhMWGUoGKkosabPBfKcvRS9BE4UxybBtlIs8gTQA==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@cypress/request" "^2.88.10"
|
"@cypress/request" "^2.88.10"
|
||||||
"@cypress/xvfb" "^1.2.4"
|
"@cypress/xvfb" "^1.2.4"
|
||||||
@@ -1393,6 +1448,11 @@ cypress@10.4.0:
|
|||||||
untildify "^4.0.0"
|
untildify "^4.0.0"
|
||||||
yauzl "^2.10.0"
|
yauzl "^2.10.0"
|
||||||
|
|
||||||
|
cyrup@^0.8.1:
|
||||||
|
version "0.8.1"
|
||||||
|
resolved "https://registry.yarnpkg.com/cyrup/-/cyrup-0.8.1.tgz#f2be38ea4a6e2f52ebe96731d56c09c2cb8a0f45"
|
||||||
|
integrity sha512-nBtYqOSyaXLlUbr0KzDiHsvR6jqqrJmbyXBUur2dC1axZjlFm+v++2SYFXKMQC+Dj+0ywy+9WJjV8Eu+6vemYQ==
|
||||||
|
|
||||||
d3-array@1, d3-array@^1.1.1, d3-array@^1.2.0:
|
d3-array@1, d3-array@^1.1.1, d3-array@^1.2.0:
|
||||||
version "1.2.4"
|
version "1.2.4"
|
||||||
resolved "https://registry.yarnpkg.com/d3-array/-/d3-array-1.2.4.tgz#635ce4d5eea759f6f605863dbcfc30edc737f71f"
|
resolved "https://registry.yarnpkg.com/d3-array/-/d3-array-1.2.4.tgz#635ce4d5eea759f6f605863dbcfc30edc737f71f"
|
||||||
@@ -1903,10 +1963,10 @@ dagre@^0.8.5:
|
|||||||
graphlib "^2.1.8"
|
graphlib "^2.1.8"
|
||||||
lodash "^4.17.15"
|
lodash "^4.17.15"
|
||||||
|
|
||||||
daisyui@2.22.0:
|
daisyui@2.24.0:
|
||||||
version "2.22.0"
|
version "2.24.0"
|
||||||
resolved "https://registry.yarnpkg.com/daisyui/-/daisyui-2.22.0.tgz#00ea4948fb886ad5242bd6bd3d1a229a8f28d932"
|
resolved "https://registry.yarnpkg.com/daisyui/-/daisyui-2.24.0.tgz#7eacfc943815979227cf50b98f7df622c2814118"
|
||||||
integrity sha512-H08aQP+Mfl2fQOmyaxd1NP54gQbr2xRUj2MmFFvfJ5EDGbthVBICDMNFKyia/zBfR58G8eTJo3CmydglM81/7Q==
|
integrity sha512-Fdu/4LCdTfWLWAbCuPxvnaRotEfJ+hVPgZ2kv/aUk9RZ00Yk8fGdJtIf0kXJ3IgUKOr8rCXUpfQY6DQU9usPCQ==
|
||||||
dependencies:
|
dependencies:
|
||||||
color "^4.2"
|
color "^4.2"
|
||||||
css-selector-tokenizer "^0.8.0"
|
css-selector-tokenizer "^0.8.0"
|
||||||
@@ -1920,6 +1980,11 @@ dashdash@^1.12.0:
|
|||||||
dependencies:
|
dependencies:
|
||||||
assert-plus "^1.0.0"
|
assert-plus "^1.0.0"
|
||||||
|
|
||||||
|
data-uri-to-buffer@^4.0.0:
|
||||||
|
version "4.0.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/data-uri-to-buffer/-/data-uri-to-buffer-4.0.0.tgz#b5db46aea50f6176428ac05b73be39a57701a64b"
|
||||||
|
integrity sha512-Vr3mLBA8qWmcuschSLAOogKgQ/Jwxulv3RNE4FXnYWRGujzrRWQI4m12fQqRkwX06C0KanhLr4hK+GydchZsaA==
|
||||||
|
|
||||||
data-urls@^3.0.2:
|
data-urls@^3.0.2:
|
||||||
version "3.0.2"
|
version "3.0.2"
|
||||||
resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-3.0.2.tgz#9cf24a477ae22bcef5cd5f6f0bfbc1d2d3be9143"
|
resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-3.0.2.tgz#9cf24a477ae22bcef5cd5f6f0bfbc1d2d3be9143"
|
||||||
@@ -2028,6 +2093,11 @@ detective@^5.2.1:
|
|||||||
defined "^1.0.0"
|
defined "^1.0.0"
|
||||||
minimist "^1.2.6"
|
minimist "^1.2.6"
|
||||||
|
|
||||||
|
devalue@^2.0.1:
|
||||||
|
version "2.0.1"
|
||||||
|
resolved "https://registry.yarnpkg.com/devalue/-/devalue-2.0.1.tgz#5d368f9adc0928e47b77eea53ca60d2f346f9762"
|
||||||
|
integrity sha512-I2TiqT5iWBEyB8GRfTDP0hiLZ0YeDJZ+upDxjBfOC2lebO5LezQMv7QvIUTzdb64jQyAKLf1AHADtGN+jw6v8Q==
|
||||||
|
|
||||||
didyoumean@^1.2.2:
|
didyoumean@^1.2.2:
|
||||||
version "1.2.2"
|
version "1.2.2"
|
||||||
resolved "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz"
|
resolved "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz"
|
||||||
@@ -2441,10 +2511,10 @@ eslint-visitor-keys@^3.3.0:
|
|||||||
resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz#f6480fa6b1f30efe2d1968aa8ac745b862469826"
|
resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz#f6480fa6b1f30efe2d1968aa8ac745b862469826"
|
||||||
integrity sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==
|
integrity sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==
|
||||||
|
|
||||||
eslint@8.21.0:
|
eslint@8.22.0:
|
||||||
version "8.21.0"
|
version "8.22.0"
|
||||||
resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.21.0.tgz#1940a68d7e0573cef6f50037addee295ff9be9ef"
|
resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.22.0.tgz#78fcb044196dfa7eef30a9d65944f6f980402c48"
|
||||||
integrity sha512-/XJ1+Qurf1T9G2M5IHrsjp+xrGT73RZf23xA1z5wB1ZzzEAWSZKvRwhWxTFp1rvkvCfwcvAUNAP31bhKTTGfDA==
|
integrity sha512-ci4t0sz6vSRKdmkOGmprBo6fmI4PrphDFMy5JEq/fNS0gQkJM3rLmrqcp8ipMcdobH3KtUP40KniAE9W19S4wA==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@eslint/eslintrc" "^1.3.0"
|
"@eslint/eslintrc" "^1.3.0"
|
||||||
"@humanwhocodes/config-array" "^0.10.4"
|
"@humanwhocodes/config-array" "^0.10.4"
|
||||||
@@ -2486,16 +2556,7 @@ eslint@8.21.0:
|
|||||||
text-table "^0.2.0"
|
text-table "^0.2.0"
|
||||||
v8-compile-cache "^2.0.3"
|
v8-compile-cache "^2.0.3"
|
||||||
|
|
||||||
espree@^9.3.2:
|
espree@^9.3.2, espree@^9.3.3:
|
||||||
version "9.3.2"
|
|
||||||
resolved "https://registry.yarnpkg.com/espree/-/espree-9.3.2.tgz#f58f77bd334731182801ced3380a8cc859091596"
|
|
||||||
integrity sha512-D211tC7ZwouTIuY5x9XnS0E9sWNChB7IYKX/Xp5eQj3nFXhqmiUDB9q27y76oFl8jTg3pXcQx/bpxMfs3CIZbA==
|
|
||||||
dependencies:
|
|
||||||
acorn "^8.7.1"
|
|
||||||
acorn-jsx "^5.3.2"
|
|
||||||
eslint-visitor-keys "^3.3.0"
|
|
||||||
|
|
||||||
espree@^9.3.3:
|
|
||||||
version "9.3.3"
|
version "9.3.3"
|
||||||
resolved "https://registry.yarnpkg.com/espree/-/espree-9.3.3.tgz#2dd37c4162bb05f433ad3c1a52ddf8a49dc08e9d"
|
resolved "https://registry.yarnpkg.com/espree/-/espree-9.3.3.tgz#2dd37c4162bb05f433ad3c1a52ddf8a49dc08e9d"
|
||||||
integrity sha512-ORs1Rt/uQTqUKjDdGCyrtYxbazf5umATSf/K4qxjmZHORR6HJk+2s/2Pqe+Kk49HHINC/xNIrGfgh8sZcll0ng==
|
integrity sha512-ORs1Rt/uQTqUKjDdGCyrtYxbazf5umATSf/K4qxjmZHORR6HJk+2s/2Pqe+Kk49HHINC/xNIrGfgh8sZcll0ng==
|
||||||
@@ -2523,11 +2584,6 @@ esrecurse@^4.3.0:
|
|||||||
dependencies:
|
dependencies:
|
||||||
estraverse "^5.2.0"
|
estraverse "^5.2.0"
|
||||||
|
|
||||||
esserializer@^1.3.2:
|
|
||||||
version "1.3.2"
|
|
||||||
resolved "https://registry.yarnpkg.com/esserializer/-/esserializer-1.3.2.tgz#4788444a7d08108a57ddc6a77602e8c853d3f8da"
|
|
||||||
integrity sha512-48xQjlQ9Wr6dUfjLAC1IQF0bMIk6m62mN7BH0PklRP0NDfm2ISY16EXM8t2Wfc6WcLKser+X8ggeeFwieBkufQ==
|
|
||||||
|
|
||||||
estraverse@^4.1.1:
|
estraverse@^4.1.1:
|
||||||
version "4.3.0"
|
version "4.3.0"
|
||||||
resolved "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz"
|
resolved "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz"
|
||||||
@@ -2661,6 +2717,14 @@ fd-slicer@~1.1.0:
|
|||||||
dependencies:
|
dependencies:
|
||||||
pend "~1.2.0"
|
pend "~1.2.0"
|
||||||
|
|
||||||
|
fetch-blob@^3.1.2, fetch-blob@^3.1.4:
|
||||||
|
version "3.2.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/fetch-blob/-/fetch-blob-3.2.0.tgz#f09b8d4bbd45adc6f0c20b7e787e793e309dcce9"
|
||||||
|
integrity sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==
|
||||||
|
dependencies:
|
||||||
|
node-domexception "^1.0.0"
|
||||||
|
web-streams-polyfill "^3.0.3"
|
||||||
|
|
||||||
figures@^3.2.0:
|
figures@^3.2.0:
|
||||||
version "3.2.0"
|
version "3.2.0"
|
||||||
resolved "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz"
|
resolved "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz"
|
||||||
@@ -2749,6 +2813,13 @@ form-data@~2.3.2:
|
|||||||
combined-stream "^1.0.6"
|
combined-stream "^1.0.6"
|
||||||
mime-types "^2.1.12"
|
mime-types "^2.1.12"
|
||||||
|
|
||||||
|
formdata-polyfill@^4.0.10:
|
||||||
|
version "4.0.10"
|
||||||
|
resolved "https://registry.yarnpkg.com/formdata-polyfill/-/formdata-polyfill-4.0.10.tgz#24807c31c9d402e002ab3d8c720144ceb8848423"
|
||||||
|
integrity sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==
|
||||||
|
dependencies:
|
||||||
|
fetch-blob "^3.1.2"
|
||||||
|
|
||||||
fraction.js@^4.2.0:
|
fraction.js@^4.2.0:
|
||||||
version "4.2.0"
|
version "4.2.0"
|
||||||
resolved "https://registry.yarnpkg.com/fraction.js/-/fraction.js-4.2.0.tgz#448e5109a313a3527f5a3ab2119ec4cf0e0e2950"
|
resolved "https://registry.yarnpkg.com/fraction.js/-/fraction.js-4.2.0.tgz#448e5109a313a3527f5a3ab2119ec4cf0e0e2950"
|
||||||
@@ -3348,7 +3419,7 @@ khroma@^2.0.0:
|
|||||||
resolved "https://registry.yarnpkg.com/khroma/-/khroma-2.0.0.tgz#7577de98aed9f36c7a474c4d453d94c0d6c6588b"
|
resolved "https://registry.yarnpkg.com/khroma/-/khroma-2.0.0.tgz#7577de98aed9f36c7a474c4d453d94c0d6c6588b"
|
||||||
integrity sha512-2J8rDNlQWbtiNYThZRvmMv5yt44ZakX+Tz5ZIp/mN1pt4snn+m030Va5Z4v8xA0cQFDXBwO/8i42xL4QPsVk3g==
|
integrity sha512-2J8rDNlQWbtiNYThZRvmMv5yt44ZakX+Tz5ZIp/mN1pt4snn+m030Va5Z4v8xA0cQFDXBwO/8i42xL4QPsVk3g==
|
||||||
|
|
||||||
kleur@^4.1.5:
|
kleur@^4.1.4, kleur@^4.1.5:
|
||||||
version "4.1.5"
|
version "4.1.5"
|
||||||
resolved "https://registry.yarnpkg.com/kleur/-/kleur-4.1.5.tgz#95106101795f7050c6c650f350c683febddb1780"
|
resolved "https://registry.yarnpkg.com/kleur/-/kleur-4.1.5.tgz#95106101795f7050c6c650f350c683febddb1780"
|
||||||
integrity sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==
|
integrity sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==
|
||||||
@@ -3549,10 +3620,10 @@ merge2@^1.3.0, merge2@^1.4.1:
|
|||||||
resolved "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz"
|
resolved "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz"
|
||||||
integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==
|
integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==
|
||||||
|
|
||||||
mermaid@9.1.5:
|
mermaid@9.1.6:
|
||||||
version "9.1.5"
|
version "9.1.6"
|
||||||
resolved "https://registry.yarnpkg.com/mermaid/-/mermaid-9.1.5.tgz#9be3efb6b54942ab4f08bf3dd30a2ba77cfbdad7"
|
resolved "https://registry.yarnpkg.com/mermaid/-/mermaid-9.1.6.tgz#e34d5ad632455df014784d7c77af21fd51388341"
|
||||||
integrity sha512-XoikwsOTTwsf/bKrTKjE5vCWXuhrOocA+/v3ynmdb0PIO1UEdfRLUNb70Cssz4TxTADX6HzeWYsUBCATBi7F1w==
|
integrity sha512-oBuQk7s55wQgEgH/AK0GYY8U0kBqOIGK9QlJL+VYxh+1kZQtU9tNwoy0gWCfBJDaFIRdfpc/fm9PagaIXg6XFQ==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@braintree/sanitize-url" "^6.0.0"
|
"@braintree/sanitize-url" "^6.0.0"
|
||||||
d3 "^7.0.0"
|
d3 "^7.0.0"
|
||||||
@@ -3584,6 +3655,11 @@ mime-types@^2.1.12, mime-types@~2.1.19:
|
|||||||
dependencies:
|
dependencies:
|
||||||
mime-db "1.47.0"
|
mime-db "1.47.0"
|
||||||
|
|
||||||
|
mime@^3.0.0:
|
||||||
|
version "3.0.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/mime/-/mime-3.0.0.tgz#b374550dca3a0c18443b0c950a6a58f1931cf7a7"
|
||||||
|
integrity sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==
|
||||||
|
|
||||||
mimic-fn@^2.1.0:
|
mimic-fn@^2.1.0:
|
||||||
version "2.1.0"
|
version "2.1.0"
|
||||||
resolved "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz"
|
resolved "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz"
|
||||||
@@ -3678,6 +3754,20 @@ node-addon-api@^1.7.1:
|
|||||||
resolved "https://registry.npmjs.org/node-addon-api/-/node-addon-api-1.7.2.tgz"
|
resolved "https://registry.npmjs.org/node-addon-api/-/node-addon-api-1.7.2.tgz"
|
||||||
integrity sha512-ibPK3iA+vaY1eEjESkQkM0BbCqFOaZMiXRTtdB0u7b4djtY6JnsjvPdUHVMg6xQt3B8fpTTWHI9A+ADjM9frzg==
|
integrity sha512-ibPK3iA+vaY1eEjESkQkM0BbCqFOaZMiXRTtdB0u7b4djtY6JnsjvPdUHVMg6xQt3B8fpTTWHI9A+ADjM9frzg==
|
||||||
|
|
||||||
|
node-domexception@^1.0.0:
|
||||||
|
version "1.0.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/node-domexception/-/node-domexception-1.0.0.tgz#6888db46a1f71c0b76b3f7555016b63fe64766e5"
|
||||||
|
integrity sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==
|
||||||
|
|
||||||
|
node-fetch@^3.2.4:
|
||||||
|
version "3.2.10"
|
||||||
|
resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-3.2.10.tgz#e8347f94b54ae18b57c9c049ef641cef398a85c8"
|
||||||
|
integrity sha512-MhuzNwdURnZ1Cp4XTazr69K0BTizsBroX7Zx3UgDSVcZYKF/6p0CBe4EUb/hLqmzVhl0UpYfgRljQ4yxE+iCxA==
|
||||||
|
dependencies:
|
||||||
|
data-uri-to-buffer "^4.0.0"
|
||||||
|
fetch-blob "^3.1.4"
|
||||||
|
formdata-polyfill "^4.0.10"
|
||||||
|
|
||||||
node-html-parser@5.4.1:
|
node-html-parser@5.4.1:
|
||||||
version "5.4.1"
|
version "5.4.1"
|
||||||
resolved "https://registry.yarnpkg.com/node-html-parser/-/node-html-parser-5.4.1.tgz#c9938b9521ef542c2374e4923078f8f2a365f50d"
|
resolved "https://registry.yarnpkg.com/node-html-parser/-/node-html-parser-5.4.1.tgz#c9938b9521ef542c2374e4923078f8f2a365f50d"
|
||||||
@@ -3933,6 +4023,11 @@ pify@^2.2.0, pify@^2.3.0:
|
|||||||
resolved "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz"
|
resolved "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz"
|
||||||
integrity sha1-7RQaasBDqEnqWISY59yosVMw6Qw=
|
integrity sha1-7RQaasBDqEnqWISY59yosVMw6Qw=
|
||||||
|
|
||||||
|
plausible-tracker@^0.3.1:
|
||||||
|
version "0.3.8"
|
||||||
|
resolved "https://registry.yarnpkg.com/plausible-tracker/-/plausible-tracker-0.3.8.tgz#9b8b322cc41e0e1d6473869ef234deea365a5a40"
|
||||||
|
integrity sha512-lmOWYQ7s9KOUJ1R+YTOR3HrjdbxIS2Z4de0P/Jx2dQPteznJl2eX3tXxKClpvbfyGP59B5bbhW8ftN59HbbFSg==
|
||||||
|
|
||||||
postcss-calc@^8.2.3:
|
postcss-calc@^8.2.3:
|
||||||
version "8.2.4"
|
version "8.2.4"
|
||||||
resolved "https://registry.yarnpkg.com/postcss-calc/-/postcss-calc-8.2.4.tgz#77b9c29bfcbe8a07ff6693dc87050828889739a5"
|
resolved "https://registry.yarnpkg.com/postcss-calc/-/postcss-calc-8.2.4.tgz#77b9c29bfcbe8a07ff6693dc87050828889739a5"
|
||||||
@@ -4525,6 +4620,11 @@ semver@^7.3.2, semver@^7.3.7:
|
|||||||
dependencies:
|
dependencies:
|
||||||
lru-cache "^6.0.0"
|
lru-cache "^6.0.0"
|
||||||
|
|
||||||
|
set-cookie-parser@^2.4.8:
|
||||||
|
version "2.5.1"
|
||||||
|
resolved "https://registry.yarnpkg.com/set-cookie-parser/-/set-cookie-parser-2.5.1.tgz#ddd3e9a566b0e8e0862aca974a6ac0e01349430b"
|
||||||
|
integrity sha512-1jeBGaKNGdEq4FgIrORu/N570dwoPYio8lSoYLWmX7sQ//0JY08Xh9o5pBcgmHQ/MbsYp/aZnOe1s1lIsbLprQ==
|
||||||
|
|
||||||
shebang-command@^2.0.0:
|
shebang-command@^2.0.0:
|
||||||
version "2.0.0"
|
version "2.0.0"
|
||||||
resolved "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz"
|
resolved "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz"
|
||||||
@@ -4895,10 +4995,10 @@ tinypool@^0.2.4:
|
|||||||
resolved "https://registry.yarnpkg.com/tinypool/-/tinypool-0.2.4.tgz#4d2598c4689d1a2ce267ddf3360a9c6b3925a20c"
|
resolved "https://registry.yarnpkg.com/tinypool/-/tinypool-0.2.4.tgz#4d2598c4689d1a2ce267ddf3360a9c6b3925a20c"
|
||||||
integrity sha512-Vs3rhkUH6Qq1t5bqtb816oT+HeJTXfwt2cbPH17sWHIYKTotQIFPk3tf2fgqRrVyMDVOc1EnPgzIxfIulXVzwQ==
|
integrity sha512-Vs3rhkUH6Qq1t5bqtb816oT+HeJTXfwt2cbPH17sWHIYKTotQIFPk3tf2fgqRrVyMDVOc1EnPgzIxfIulXVzwQ==
|
||||||
|
|
||||||
tinyspy@^1.0.0:
|
tinyspy@^1.0.2:
|
||||||
version "1.0.0"
|
version "1.0.2"
|
||||||
resolved "https://registry.yarnpkg.com/tinyspy/-/tinyspy-1.0.0.tgz#0cb34587287b0432b33fe36a9bd945fe22b1eb89"
|
resolved "https://registry.yarnpkg.com/tinyspy/-/tinyspy-1.0.2.tgz#6da0b3918bfd56170fb3cd3a2b5ef832ee1dff0d"
|
||||||
integrity sha512-FI5B2QdODQYDRjfuLF+OrJ8bjWRMCXokQPcwKm0W3IzcbUmBNv536cQc7eXGoAuXphZwgx1DFbqImwzz08Fnhw==
|
integrity sha512-bSGlgwLBYf7PnUsQ6WOc6SJ3pGOcd+d8AA6EUnLDDM0kWEstC1JIlSZA3UNliDXhd9ABoS7hiRBDCu+XP/sf1Q==
|
||||||
|
|
||||||
tmp@~0.2.1:
|
tmp@~0.2.1:
|
||||||
version "0.2.1"
|
version "0.2.1"
|
||||||
@@ -5006,10 +5106,15 @@ type-fest@^0.21.3:
|
|||||||
resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz"
|
resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz"
|
||||||
integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==
|
integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==
|
||||||
|
|
||||||
typescript@4.7.4:
|
typescript@4.8.2:
|
||||||
version "4.7.4"
|
version "4.8.2"
|
||||||
resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.7.4.tgz#1a88596d1cf47d59507a1bcdfb5b9dfe4d488235"
|
resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.8.2.tgz#e3b33d5ccfb5914e4eeab6699cf208adee3fd790"
|
||||||
integrity sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ==
|
integrity sha512-C0I1UsrrDHo2fYI5oaCGbSejwX4ch+9Y5jTQELvovfmFkK3HHSZJB8MSJcWLmCUBzQBchCrZ9rMRV6GuNrvGtw==
|
||||||
|
|
||||||
|
undici@^5.8.1:
|
||||||
|
version "5.10.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/undici/-/undici-5.10.0.tgz#dd9391087a90ccfbd007568db458674232ebf014"
|
||||||
|
integrity sha512-c8HsD3IbwmjjbLvoZuRI26TZic+TSEe8FPMLLOkN1AfYRhdjnKBU6yL+IwcSCbdZiX4e5t0lfMDLDCqj4Sq70g==
|
||||||
|
|
||||||
universalify@^0.1.2:
|
universalify@^0.1.2:
|
||||||
version "0.1.2"
|
version "0.1.2"
|
||||||
@@ -5082,10 +5187,10 @@ verror@1.10.0:
|
|||||||
core-util-is "1.0.2"
|
core-util-is "1.0.2"
|
||||||
extsprintf "^1.2.0"
|
extsprintf "^1.2.0"
|
||||||
|
|
||||||
vite@3.0.6, "vite@^2.9.12 || ^3.0.0-0":
|
vite@3.0.9, "vite@^2.9.12 || ^3.0.0-0":
|
||||||
version "3.0.6"
|
version "3.0.9"
|
||||||
resolved "https://registry.yarnpkg.com/vite/-/vite-3.0.6.tgz#08e85ebaa34a3b647cb1365c87675b45f3511be0"
|
resolved "https://registry.yarnpkg.com/vite/-/vite-3.0.9.tgz#45fac22c2a5290a970f23d66c1aef56a04be8a30"
|
||||||
integrity sha512-pjfsWIzfUlQME/VAmU6SsjdHkTt6WAHysuqPkHDcjzNu6IGtxDSZ/VfRYOwHaCqX4M3Ivz0kxuSfAPM6gAIX+w==
|
integrity sha512-waYABTM+G6DBTCpYAxvevpG50UOlZuynR0ckTK5PawNVt7ebX6X7wNXHaGIO6wYYFXSM7/WcuFuO2QzhBB6aMw==
|
||||||
dependencies:
|
dependencies:
|
||||||
esbuild "^0.14.47"
|
esbuild "^0.14.47"
|
||||||
postcss "^8.4.16"
|
postcss "^8.4.16"
|
||||||
@@ -5099,10 +5204,10 @@ vitest-svelte-kit@0.0.7:
|
|||||||
resolved "https://registry.yarnpkg.com/vitest-svelte-kit/-/vitest-svelte-kit-0.0.7.tgz#002b943a2946beffaadf20838ff0d950e8f861f3"
|
resolved "https://registry.yarnpkg.com/vitest-svelte-kit/-/vitest-svelte-kit-0.0.7.tgz#002b943a2946beffaadf20838ff0d950e8f861f3"
|
||||||
integrity sha512-B83C14BAQEwNqTHcZ1dEV9EuCwOEKglcix32zBqRFonTmnc652JUOPJhMDAkQmOzHlA+SIXZ3FNEKiJjXyd1JA==
|
integrity sha512-B83C14BAQEwNqTHcZ1dEV9EuCwOEKglcix32zBqRFonTmnc652JUOPJhMDAkQmOzHlA+SIXZ3FNEKiJjXyd1JA==
|
||||||
|
|
||||||
vitest@0.21.1:
|
vitest@0.22.1:
|
||||||
version "0.21.1"
|
version "0.22.1"
|
||||||
resolved "https://registry.yarnpkg.com/vitest/-/vitest-0.21.1.tgz#b4f5b901c9a23a3aaec76d3404f3072821d93d00"
|
resolved "https://registry.yarnpkg.com/vitest/-/vitest-0.22.1.tgz#3122e6024bf782ee9aca53034017af7adb009c32"
|
||||||
integrity sha512-WBIxuFmIDPuK47GO6Lu9eNeRMqHj/FWL3dk73OHH3eyPPWPiu+UB3QHLkLK2PEggCqJW4FaWoWg8R68S7p9+9Q==
|
integrity sha512-+x28YTnSLth4KbXg7MCzoDAzPJlJex7YgiZbUh6YLp0/4PqVZ7q7/zyfdL0OaPtKTpNiQFPpMC8Y2MSzk8F7dw==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@types/chai" "^4.3.3"
|
"@types/chai" "^4.3.3"
|
||||||
"@types/chai-subset" "^1.3.3"
|
"@types/chai-subset" "^1.3.3"
|
||||||
@@ -5111,7 +5216,7 @@ vitest@0.21.1:
|
|||||||
debug "^4.3.4"
|
debug "^4.3.4"
|
||||||
local-pkg "^0.4.2"
|
local-pkg "^0.4.2"
|
||||||
tinypool "^0.2.4"
|
tinypool "^0.2.4"
|
||||||
tinyspy "^1.0.0"
|
tinyspy "^1.0.2"
|
||||||
vite "^2.9.12 || ^3.0.0-0"
|
vite "^2.9.12 || ^3.0.0-0"
|
||||||
|
|
||||||
w3c-hr-time@^1.0.2:
|
w3c-hr-time@^1.0.2:
|
||||||
@@ -5128,6 +5233,11 @@ w3c-xmlserializer@^3.0.0:
|
|||||||
dependencies:
|
dependencies:
|
||||||
xml-name-validator "^4.0.0"
|
xml-name-validator "^4.0.0"
|
||||||
|
|
||||||
|
web-streams-polyfill@^3.0.3:
|
||||||
|
version "3.2.1"
|
||||||
|
resolved "https://registry.yarnpkg.com/web-streams-polyfill/-/web-streams-polyfill-3.2.1.tgz#71c2718c52b45fd49dbeee88634b3a60ceab42a6"
|
||||||
|
integrity sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q==
|
||||||
|
|
||||||
webidl-conversions@^7.0.0:
|
webidl-conversions@^7.0.0:
|
||||||
version "7.0.0"
|
version "7.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-7.0.0.tgz#256b4e1882be7debbf01d05f0aa2039778ea080a"
|
resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-7.0.0.tgz#256b4e1882be7debbf01d05f0aa2039778ea080a"
|
||||||
|
|||||||
Reference in New Issue
Block a user