diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md
index bc01133..0e30ca3 100644
--- a/.github/ISSUE_TEMPLATE/bug_report.md
+++ b/.github/ISSUE_TEMPLATE/bug_report.md
@@ -25,7 +25,7 @@ If applicable, add screenshots to help explain your problem.
**Desktop (please complete the following information):**
- OS: [e.g. iOS]
-- Browser version [e.g. chrome 100]
+- Browser version [e.g. Chrome 100]
- Version [e.g. 3.0.2]
**Additional context**
diff --git a/.gitignore b/.gitignore
index fafcf66..fc7dce8 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,18 +1,11 @@
-
-# Dependency directories
+# autogenerated
node_modules/
-
-# ide
-.idea
-
-# os
-.DS_Store
-
-# application autogenerated files not for git
+public/build/
*.js.map
*.zip
*.crx
manifest.json
-bundle/js
-*.log
+# miscellaneous
+.DS_Store
+tmp/
diff --git a/.idea/.gitignore b/.idea/.gitignore
new file mode 100644
index 0000000..13566b8
--- /dev/null
+++ b/.idea/.gitignore
@@ -0,0 +1,8 @@
+# Default ignored files
+/shelf/
+/workspace.xml
+# Editor-based HTTP Client requests
+/httpRequests/
+# Datasource local storage ignored files
+/dataSources/
+/dataSources.local.xml
diff --git a/.idea/codeStyles/Project.xml b/.idea/codeStyles/Project.xml
new file mode 100644
index 0000000..932f7d1
--- /dev/null
+++ b/.idea/codeStyles/Project.xml
@@ -0,0 +1,59 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/codeStyles/codeStyleConfig.xml b/.idea/codeStyles/codeStyleConfig.xml
new file mode 100644
index 0000000..79ee123
--- /dev/null
+++ b/.idea/codeStyles/codeStyleConfig.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/deno.xml b/.idea/deno.xml
new file mode 100644
index 0000000..2e4b145
--- /dev/null
+++ b/.idea/deno.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/jsLibraryMappings.xml b/.idea/jsLibraryMappings.xml
new file mode 100644
index 0000000..1adbe87
--- /dev/null
+++ b/.idea/jsLibraryMappings.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/jsdiff.iml b/.idea/jsdiff.iml
new file mode 100644
index 0000000..4640429
--- /dev/null
+++ b/.idea/jsdiff.iml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/modules.xml b/.idea/modules.xml
new file mode 100644
index 0000000..d59e7db
--- /dev/null
+++ b/.idea/modules.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
new file mode 100644
index 0000000..35eb1dd
--- /dev/null
+++ b/.idea/vcs.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.prettierignore b/.prettierignore
deleted file mode 100644
index 137915a..0000000
--- a/.prettierignore
+++ /dev/null
@@ -1,3 +0,0 @@
-/bundle/js
-*.min.js
-pnpm-lock.yaml
diff --git a/.prettierrc.json b/.prettierrc.json
deleted file mode 100644
index 0a72520..0000000
--- a/.prettierrc.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "trailingComma": "es5",
- "tabWidth": 2,
- "semi": true,
- "singleQuote": true
-}
diff --git a/.vscode/extensions.json b/.vscode/extensions.json
index 8b74947..e4ed63d 100644
--- a/.vscode/extensions.json
+++ b/.vscode/extensions.json
@@ -1,3 +1,3 @@
{
- "recommendations": ["esbenp.prettier-vscode", "jebbs.plantuml"]
+ "recommendations": ["jebbs.plantuml", "denoland.vscode-deno"]
}
diff --git a/.vscode/settings.json b/.vscode/settings.json
index 46c0db8..ea44335 100644
--- a/.vscode/settings.json
+++ b/.vscode/settings.json
@@ -1,6 +1,9 @@
{
- "json.schemaDownload.enable": true,
+ "deno.enable": true,
+ "editor.defaultFormatter": "denoland.vscode-deno",
"editor.formatOnSave": true,
+ "editor.formatOnSaveMode": "file",
+ "json.schemaDownload.enable": true,
"json.schemas": [
{
"fileMatch": ["manifest.json"],
@@ -9,5 +12,12 @@
],
"typescript.tsdk": "node_modules/typescript/lib",
"spellright.language": ["en-US-10-1."],
- "spellright.documentTypes": ["latex", "plaintext", "markdown"]
+ "spellright.documentTypes": [
+ "latex",
+ "plaintext",
+ "markdown"
+ ],
+ "[typescript]": {
+ "editor.defaultFormatter": "denoland.vscode-deno"
+ }
}
diff --git a/Makefile b/Makefile
index d120af3..6a89f38 100644
--- a/Makefile
+++ b/Makefile
@@ -1,62 +1,54 @@
-ZIP_CHROME_FILE="extension.chrome.zip"
-ZIP_FIREFOX_FILE="extension.firefox.zip"
-HASH_ALG="sha384"
-
.PHONY:
- install clean all lint test dev prod zip_chrome zip_firefox
+ install clean install dev valid test prod all
tune2chrome tune2firefox
-
-install:
- npm i -g pnpm
- pnpm i
+.DEFAULT_GOAL := dev
+
+CHROME_ZIP = "extension.chrome.zip"
+CHROME_MANIFEST = ./manifest.chrome.json
+FIREFOX_ZIP = "extension.firefox.zip"
+FIREFOX_MANIFEST = ./manifest.firefox.json
+DENO_DEV = NODE_ENV=development deno run --watch
+DENO_PROD = NODE_ENV=production deno run
+DENO_OPTIONS = --allow-env --allow-read --allow-run
+BUILD_SCRIPT = ./build.ts
+OUTPUT_DIR = ./public/
+BUILD_DIR = ./public/build/
clean:
- rm -rf ./node_modules
- rm -rf $(ZIP_CHROME_FILE) $(ZIP_FIREFOX_FILE)
- rm -rf ./bundle/js/
-
-all:
- make lint
- make test
- make prod
- make zip_firefox
- make zip_chrome
+ rm -rf ./node_modules ./deno.lock $(BUILD_DIR) $(CHROME_ZIP) $(FIREFOX_ZIP)
-lint:
- pnpm exec prettier . --write
- pnpm exec tsc -noEmit
-
-test:
- pnpm exec tsx --test
+install:
+ deno install --allow-scripts
dev:
- rm -rf ./bundle/js/
- NODE_OPTIONS="--import=tsx --trace-deprecation" \
- pnpm exec webpack --progress --watch --mode=development
+ rm -rf $(BUILD_DIR)
+ $(DENO_DEV) $(DENO_OPTIONS) $(BUILD_SCRIPT)
-prod:
- rm -rf ./bundle/js/
- NODE_OPTIONS="--import=tsx" \
- NODE_ENV="production" \
- time pnpm exec webpack --mode=production
+valid:
+ deno fmt --unstable-component
+ deno lint
-zip_chrome:
- make tune2chrome
- rm -rf $(ZIP_CHROME_FILE)
- zip -r $(ZIP_CHROME_FILE) ./bundle ./manifest.json > /dev/null
- zip --delete $(ZIP_CHROME_FILE) "bundle/js/firefox/*"
- FILE_HASH=$$(openssl dgst -$(HASH_ALG) -binary $(ZIP_CHROME_FILE) | openssl base64 -A); \
- echo "$(ZIP_CHROME_FILE) $(HASH_ALG):$$FILE_HASH"
+test: valid
+ deno test --no-check --trace-leaks --reporter=dot
-zip_firefox:
- make tune2firefox
- rm -rf $(ZIP_FIREFOX_FILE)
- zip -r $(ZIP_FIREFOX_FILE) ./bundle ./manifest.json > /dev/null
- FILE_HASH=$$(openssl dgst -$(HASH_ALG) -binary $(ZIP_FIREFOX_FILE) | openssl base64 -A); \
- echo "$(ZIP_FIREFOX_FILE) $(HASH_ALG):$$FILE_HASH"
+prod: test
+ rm -rf $(BUILD_DIR)
+ $(DENO_PROD) $(DENO_OPTIONS) $(BUILD_SCRIPT)
tune2chrome:
- cp manifest.chrome.json manifest.json
+ cp $(CHROME_MANIFEST) manifest.json
tune2firefox:
- cp manifest.firefox.json manifest.json
+ cp $(FIREFOX_MANIFEST) manifest.json
+
+all: prod
+ make tune2firefox
+ rm -rf $(FIREFOX_ZIP)
+ zip -r $(FIREFOX_ZIP) $(OUTPUT_DIR) ./manifest.json > /dev/null
+
+ make tune2chrome
+ rm -rf $(CHROME_ZIP)
+ zip -r $(CHROME_ZIP) $(OUTPUT_DIR) ./manifest.json > /dev/null
+ zip --delete $(CHROME_ZIP) "$(BUILD_DIR)firefox/*" > /dev/null
+
+ tree -Dis $(BUILD_DIR) *.zip
diff --git a/README.md b/README.md
index 5012322..9e725de 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,4 @@
-###  JSDiff
+###  JSDiff
An extension for developers that enhances the console API by incorporating the ability to compare objects and adds a `JSDiff` tab (parallel to Elements, Network panels) within your dev-tools for viewing the results.
@@ -101,7 +101,7 @@ declare global {
### Serialization by types
| Input | Output |
-| ------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- |
+|---------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------|
| XMLHttpRequest[1] | ƒ XMLHttpRequest⟪native⟫ |
| function test(){}[1] | ƒ test⟪1374b28d22b674e53a044425556a9cd48b82fd5aba3bf19e3545d51704227b10⟫ |
| document.body | {0001}[2,3] DOM⟪BODY⟫ |
@@ -110,7 +110,7 @@ declare global {
| 98765432109876543210n | BigInt⟪98765432109876543210⟫ |
| void 0 | ⟪undefined⟫ |
| /example/i | RegExp⟪/example/i⟫ |
-| new URL('https:\//example.com/') | URL⟪https:\//example.com/⟫ |
+| new URL('https:\//example.com/') | URL⟪https:\//example.com\/⟫ |
| Symbol('example') | {0001}[3] Symbol(example) |
| Symbol.for('global') | Symbol(global) |
| (obj = {key: 1}, {first: obj, second: obj}) | {"first": {"key": 1}, "second": "[0002][4] Object⟪♻️⟫"} |
@@ -150,7 +150,7 @@ declare global {
### Build instructions
- Linux
-- node 22.14 (LTS)
+- deno 2.2.8
```sh
make install # install dependencies
diff --git a/build.ts b/build.ts
new file mode 100644
index 0000000..f3b7b25
--- /dev/null
+++ b/build.ts
@@ -0,0 +1,51 @@
+import { build, type BuildOptions, context, stop } from 'esbuild';
+import manifest from './manifest.json' with { type: 'json' };
+import { vue3Plugin } from 'esbuild-plugin-vue-iii';
+
+const nodeEnv = Deno.env.get('NODE_ENV');
+const isProd = nodeEnv === 'production';
+const buildOptions: BuildOptions = {
+ plugins: [
+ vue3Plugin({
+ isProduction: isProd,
+ }),
+ ],
+ entryPoints: [
+ './src/jsdiff-devtools.ts',
+ './src/jsdiff-panel.ts',
+ './src/jsdiff-proxy.ts',
+ './src/jsdiff-console.ts',
+ './src/firefox/jsdiff-background.ts',
+ ],
+ outdir: './public/build/',
+ publicPath: '/public/build/',
+ define: {
+ __VUE_OPTIONS_API__: 'false',
+ __VUE_PROD_DEVTOOLS__: 'false',
+ __VUE_PROD_HYDRATION_MISMATCH_DETAILS__: 'false',
+ __development__: `${!isProd}`,
+ __app_version__: `"${manifest.version}"`,
+ __app_homepage__: `"${manifest.homepage_url}"`,
+ },
+ loader: {
+ '.png': 'file',
+ '.svg': 'file',
+ },
+ bundle: true,
+ platform: 'browser',
+ format: 'iife',
+ target: 'esnext',
+ conditions: [`${nodeEnv}`],
+ minify: isProd,
+ sourcemap: false,
+ treeShaking: true,
+ logLevel: 'warning',
+};
+
+if (isProd) {
+ await build(buildOptions);
+ await stop();
+} else {
+ const ctx = await context(buildOptions);
+ await ctx.watch();
+}
diff --git a/bundle/jsdiff-devtools.html b/bundle/jsdiff-devtools.html
deleted file mode 100644
index eb374a8..0000000
--- a/bundle/jsdiff-devtools.html
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
-
-
-
-
-
diff --git a/bundle/jsdiff-panel.html b/bundle/jsdiff-panel.html
deleted file mode 100644
index 5d4bfe4..0000000
--- a/bundle/jsdiff-panel.html
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
-
-
-
-
-
diff --git a/deno.json b/deno.json
new file mode 100644
index 0000000..043120e
--- /dev/null
+++ b/deno.json
@@ -0,0 +1,44 @@
+{
+ "compilerOptions": {
+ "types": ["npm:@types/chrome", "npm:@types/firefox-webext-browser"],
+ "lib": ["dom", "dom.iterable", "dom.asynciterable", "deno.ns"],
+ "strict": true
+ },
+ "lint": {
+ "include": [
+ "src/",
+ "tests/",
+ "build.ts",
+ "public/*.html"
+ ],
+ "rules": {
+ "tags": ["recommended"]
+ }
+ },
+ "fmt": {
+ "useTabs": false,
+ "lineWidth": 80,
+ "indentWidth": 2,
+ "semiColons": true,
+ "singleQuote": true,
+ "proseWrap": "preserve",
+ "include": [
+ "src/",
+ "tests/",
+ "public/*.html",
+ "build.ts",
+ "deno.json",
+ "package.json",
+ "manifest.chrome.json",
+ "manifest.firefox.json",
+ "tsconfig.json"
+ ]
+ },
+ "imports": {
+ "esbuild": "https://deno.land/x/esbuild@v0.25.2/mod.js",
+ "esbuild-plugin-vue-iii": "npm:esbuild-plugin-vue-iii@0.5.0",
+
+ "@std/expect": "jsr:@std/expect@1.0.15",
+ "@std/testing": "jsr:@std/testing@1.0.11"
+ }
+}
diff --git a/deno.lock b/deno.lock
new file mode 100644
index 0000000..305fc81
--- /dev/null
+++ b/deno.lock
@@ -0,0 +1,1083 @@
+{
+ "version": "4",
+ "specifiers": {
+ "jsr:@std/assert@^1.0.12": "1.0.12",
+ "jsr:@std/async@^1.0.12": "1.0.12",
+ "jsr:@std/data-structures@^1.0.6": "1.0.6",
+ "jsr:@std/expect@1.0.15": "1.0.15",
+ "jsr:@std/fs@^1.0.16": "1.0.16",
+ "jsr:@std/internal@^1.0.6": "1.0.6",
+ "jsr:@std/path@^1.0.8": "1.0.8",
+ "jsr:@std/testing@1.0.11": "1.0.11",
+ "npm:@noble/hashes@1.7.1": "1.7.1",
+ "npm:@types/chrome@*": "0.0.313",
+ "npm:@types/chrome@0.0.313": "0.0.313",
+ "npm:@types/diff-match-patch@1.0.36": "1.0.36",
+ "npm:@types/firefox-webext-browser@*": "120.0.4",
+ "npm:@types/firefox-webext-browser@120.0.4": "120.0.4",
+ "npm:diff-match-patch@1.0.5": "1.0.5",
+ "npm:esbuild-plugin-vue-iii@0.5.0": "0.5.0_esbuild@0.25.2_typescript@5.8.3",
+ "npm:jsondiffpatch@0.7.3": "0.7.3",
+ "npm:pinia@3.0.1": "3.0.1_typescript@5.8.3_vue@3.5.13__typescript@5.8.3",
+ "npm:typescript@5.8.3": "5.8.3",
+ "npm:vue-loader@17.4.2": "17.4.2_webpack@5.99.1",
+ "npm:vue@3.5.13": "3.5.13_typescript@5.8.3"
+ },
+ "jsr": {
+ "@std/assert@1.0.12": {
+ "integrity": "08009f0926dda9cbd8bef3a35d3b6a4b964b0ab5c3e140a4e0351fbf34af5b9a",
+ "dependencies": [
+ "jsr:@std/internal"
+ ]
+ },
+ "@std/async@1.0.12": {
+ "integrity": "d1bfcec459e8012846fe4e38dfc4241ab23240ecda3d8d6dfcf6d81a632e803d"
+ },
+ "@std/data-structures@1.0.6": {
+ "integrity": "76a7fd8080c66604c0496220a791860492ab21a04a63a969c0b9a0609bbbb760"
+ },
+ "@std/expect@1.0.15": {
+ "integrity": "eca360007b5a7f13dbfa1294224baee7fb98dcd460d8461fe64eeae302902945",
+ "dependencies": [
+ "jsr:@std/assert",
+ "jsr:@std/internal"
+ ]
+ },
+ "@std/fs@1.0.16": {
+ "integrity": "81878f62b6eeda0bf546197fc3daa5327c132fee1273f6113f940784a468b036",
+ "dependencies": [
+ "jsr:@std/path"
+ ]
+ },
+ "@std/internal@1.0.6": {
+ "integrity": "9533b128f230f73bd209408bb07a4b12f8d4255ab2a4d22a1fd6d87304aca9a4"
+ },
+ "@std/path@1.0.8": {
+ "integrity": "548fa456bb6a04d3c1a1e7477986b6cffbce95102d0bb447c67c4ee70e0364be"
+ },
+ "@std/testing@1.0.11": {
+ "integrity": "12b3db12d34f0f385a26248933bde766c0f8c5ad8b6ab34d4d38f528ab852f48",
+ "dependencies": [
+ "jsr:@std/assert",
+ "jsr:@std/async",
+ "jsr:@std/data-structures",
+ "jsr:@std/fs",
+ "jsr:@std/internal",
+ "jsr:@std/path"
+ ]
+ }
+ },
+ "npm": {
+ "@babel/helper-string-parser@7.25.9": {
+ "integrity": "sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA=="
+ },
+ "@babel/helper-validator-identifier@7.25.9": {
+ "integrity": "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ=="
+ },
+ "@babel/parser@7.27.0": {
+ "integrity": "sha512-iaepho73/2Pz7w2eMS0Q5f83+0RKI7i4xmiYeBmDzfRVbQtTOG7Ts0S4HzJVsTMGI9keU8rNfuZr8DKfSt7Yyg==",
+ "dependencies": [
+ "@babel/types"
+ ]
+ },
+ "@babel/types@7.27.0": {
+ "integrity": "sha512-H45s8fVLYjbhFH62dIJ3WtmJ6RSPt/3DRO0ZcT2SUiYiQyz3BLVb9ADEnLl91m74aQPS3AzzeajZHYOalWe3bg==",
+ "dependencies": [
+ "@babel/helper-string-parser",
+ "@babel/helper-validator-identifier"
+ ]
+ },
+ "@dmsnell/diff-match-patch@1.1.0": {
+ "integrity": "sha512-yejLPmM5pjsGvxS9gXablUSbInW7H976c/FJ4iQxWIm7/38xBySRemTPDe34lhg1gVLbJntX0+sH0jYfU+PN9A=="
+ },
+ "@esbuild/aix-ppc64@0.25.2": {
+ "integrity": "sha512-wCIboOL2yXZym2cgm6mlA742s9QeJ8DjGVaL39dLN4rRwrOgOyYSnOaFPhKZGLb2ngj4EyfAFjsNJwPXZvseag=="
+ },
+ "@esbuild/android-arm64@0.25.2": {
+ "integrity": "sha512-5ZAX5xOmTligeBaeNEPnPaeEuah53Id2tX4c2CVP3JaROTH+j4fnfHCkr1PjXMd78hMst+TlkfKcW/DlTq0i4w=="
+ },
+ "@esbuild/android-arm@0.25.2": {
+ "integrity": "sha512-NQhH7jFstVY5x8CKbcfa166GoV0EFkaPkCKBQkdPJFvo5u+nGXLEH/ooniLb3QI8Fk58YAx7nsPLozUWfCBOJA=="
+ },
+ "@esbuild/android-x64@0.25.2": {
+ "integrity": "sha512-Ffcx+nnma8Sge4jzddPHCZVRvIfQ0kMsUsCMcJRHkGJ1cDmhe4SsrYIjLUKn1xpHZybmOqCWwB0zQvsjdEHtkg=="
+ },
+ "@esbuild/darwin-arm64@0.25.2": {
+ "integrity": "sha512-MpM6LUVTXAzOvN4KbjzU/q5smzryuoNjlriAIx+06RpecwCkL9JpenNzpKd2YMzLJFOdPqBpuub6eVRP5IgiSA=="
+ },
+ "@esbuild/darwin-x64@0.25.2": {
+ "integrity": "sha512-5eRPrTX7wFyuWe8FqEFPG2cU0+butQQVNcT4sVipqjLYQjjh8a8+vUTfgBKM88ObB85ahsnTwF7PSIt6PG+QkA=="
+ },
+ "@esbuild/freebsd-arm64@0.25.2": {
+ "integrity": "sha512-mLwm4vXKiQ2UTSX4+ImyiPdiHjiZhIaE9QvC7sw0tZ6HoNMjYAqQpGyui5VRIi5sGd+uWq940gdCbY3VLvsO1w=="
+ },
+ "@esbuild/freebsd-x64@0.25.2": {
+ "integrity": "sha512-6qyyn6TjayJSwGpm8J9QYYGQcRgc90nmfdUb0O7pp1s4lTY+9D0H9O02v5JqGApUyiHOtkz6+1hZNvNtEhbwRQ=="
+ },
+ "@esbuild/linux-arm64@0.25.2": {
+ "integrity": "sha512-gq/sjLsOyMT19I8obBISvhoYiZIAaGF8JpeXu1u8yPv8BE5HlWYobmlsfijFIZ9hIVGYkbdFhEqC0NvM4kNO0g=="
+ },
+ "@esbuild/linux-arm@0.25.2": {
+ "integrity": "sha512-UHBRgJcmjJv5oeQF8EpTRZs/1knq6loLxTsjc3nxO9eXAPDLcWW55flrMVc97qFPbmZP31ta1AZVUKQzKTzb0g=="
+ },
+ "@esbuild/linux-ia32@0.25.2": {
+ "integrity": "sha512-bBYCv9obgW2cBP+2ZWfjYTU+f5cxRoGGQ5SeDbYdFCAZpYWrfjjfYwvUpP8MlKbP0nwZ5gyOU/0aUzZ5HWPuvQ=="
+ },
+ "@esbuild/linux-loong64@0.25.2": {
+ "integrity": "sha512-SHNGiKtvnU2dBlM5D8CXRFdd+6etgZ9dXfaPCeJtz+37PIUlixvlIhI23L5khKXs3DIzAn9V8v+qb1TRKrgT5w=="
+ },
+ "@esbuild/linux-mips64el@0.25.2": {
+ "integrity": "sha512-hDDRlzE6rPeoj+5fsADqdUZl1OzqDYow4TB4Y/3PlKBD0ph1e6uPHzIQcv2Z65u2K0kpeByIyAjCmjn1hJgG0Q=="
+ },
+ "@esbuild/linux-ppc64@0.25.2": {
+ "integrity": "sha512-tsHu2RRSWzipmUi9UBDEzc0nLc4HtpZEI5Ba+Omms5456x5WaNuiG3u7xh5AO6sipnJ9r4cRWQB2tUjPyIkc6g=="
+ },
+ "@esbuild/linux-riscv64@0.25.2": {
+ "integrity": "sha512-k4LtpgV7NJQOml/10uPU0s4SAXGnowi5qBSjaLWMojNCUICNu7TshqHLAEbkBdAszL5TabfvQ48kK84hyFzjnw=="
+ },
+ "@esbuild/linux-s390x@0.25.2": {
+ "integrity": "sha512-GRa4IshOdvKY7M/rDpRR3gkiTNp34M0eLTaC1a08gNrh4u488aPhuZOCpkF6+2wl3zAN7L7XIpOFBhnaE3/Q8Q=="
+ },
+ "@esbuild/linux-x64@0.25.2": {
+ "integrity": "sha512-QInHERlqpTTZ4FRB0fROQWXcYRD64lAoiegezDunLpalZMjcUcld3YzZmVJ2H/Cp0wJRZ8Xtjtj0cEHhYc/uUg=="
+ },
+ "@esbuild/netbsd-arm64@0.25.2": {
+ "integrity": "sha512-talAIBoY5M8vHc6EeI2WW9d/CkiO9MQJ0IOWX8hrLhxGbro/vBXJvaQXefW2cP0z0nQVTdQ/eNyGFV1GSKrxfw=="
+ },
+ "@esbuild/netbsd-x64@0.25.2": {
+ "integrity": "sha512-voZT9Z+tpOxrvfKFyfDYPc4DO4rk06qamv1a/fkuzHpiVBMOhpjK+vBmWM8J1eiB3OLSMFYNaOaBNLXGChf5tg=="
+ },
+ "@esbuild/openbsd-arm64@0.25.2": {
+ "integrity": "sha512-dcXYOC6NXOqcykeDlwId9kB6OkPUxOEqU+rkrYVqJbK2hagWOMrsTGsMr8+rW02M+d5Op5NNlgMmjzecaRf7Tg=="
+ },
+ "@esbuild/openbsd-x64@0.25.2": {
+ "integrity": "sha512-t/TkWwahkH0Tsgoq1Ju7QfgGhArkGLkF1uYz8nQS/PPFlXbP5YgRpqQR3ARRiC2iXoLTWFxc6DJMSK10dVXluw=="
+ },
+ "@esbuild/sunos-x64@0.25.2": {
+ "integrity": "sha512-cfZH1co2+imVdWCjd+D1gf9NjkchVhhdpgb1q5y6Hcv9TP6Zi9ZG/beI3ig8TvwT9lH9dlxLq5MQBBgwuj4xvA=="
+ },
+ "@esbuild/win32-arm64@0.25.2": {
+ "integrity": "sha512-7Loyjh+D/Nx/sOTzV8vfbB3GJuHdOQyrOryFdZvPHLf42Tk9ivBU5Aedi7iyX+x6rbn2Mh68T4qq1SDqJBQO5Q=="
+ },
+ "@esbuild/win32-ia32@0.25.2": {
+ "integrity": "sha512-WRJgsz9un0nqZJ4MfhabxaD9Ft8KioqU3JMinOTvobbX6MOSUigSBlogP8QB3uxpJDsFS6yN+3FDBdqE5lg9kg=="
+ },
+ "@esbuild/win32-x64@0.25.2": {
+ "integrity": "sha512-kM3HKb16VIXZyIeVrM1ygYmZBKybX8N4p754bw390wGO3Tf2j4L2/WYL+4suWujpgf6GBYs3jv7TyUivdd05JA=="
+ },
+ "@jridgewell/gen-mapping@0.3.8": {
+ "integrity": "sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==",
+ "dependencies": [
+ "@jridgewell/set-array",
+ "@jridgewell/sourcemap-codec",
+ "@jridgewell/trace-mapping"
+ ]
+ },
+ "@jridgewell/resolve-uri@3.1.2": {
+ "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw=="
+ },
+ "@jridgewell/set-array@1.2.1": {
+ "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A=="
+ },
+ "@jridgewell/source-map@0.3.6": {
+ "integrity": "sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==",
+ "dependencies": [
+ "@jridgewell/gen-mapping",
+ "@jridgewell/trace-mapping"
+ ]
+ },
+ "@jridgewell/sourcemap-codec@1.5.0": {
+ "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ=="
+ },
+ "@jridgewell/trace-mapping@0.3.25": {
+ "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==",
+ "dependencies": [
+ "@jridgewell/resolve-uri",
+ "@jridgewell/sourcemap-codec"
+ ]
+ },
+ "@noble/hashes@1.7.1": {
+ "integrity": "sha512-B8XBPsn4vT/KJAGqDzbwztd+6Yte3P4V7iafm24bxgDe/mlRuK6xmWPuCNrKt2vDafZ8MfJLlchDG/vYafQEjQ=="
+ },
+ "@nodelib/fs.scandir@2.1.5": {
+ "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
+ "dependencies": [
+ "@nodelib/fs.stat",
+ "run-parallel"
+ ]
+ },
+ "@nodelib/fs.stat@2.0.5": {
+ "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A=="
+ },
+ "@nodelib/fs.walk@1.2.8": {
+ "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
+ "dependencies": [
+ "@nodelib/fs.scandir",
+ "fastq"
+ ]
+ },
+ "@types/chrome@0.0.313": {
+ "integrity": "sha512-9R5T7gTaYZhkxlu+Ho4wk9FL+y/werWQY2yjGWSqCuiTsqS7nL/BE5UMTP6rU7J+oIG2FRKqrEycHhJATeltVA==",
+ "dependencies": [
+ "@types/filesystem",
+ "@types/har-format"
+ ]
+ },
+ "@types/diff-match-patch@1.0.36": {
+ "integrity": "sha512-xFdR6tkm0MWvBfO8xXCSsinYxHcqkQUlcHeSpMC2ukzOb6lwQAfDmW+Qt0AvlGd8HpsS28qKsB+oPeJn9I39jg=="
+ },
+ "@types/eslint-scope@3.7.7": {
+ "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==",
+ "dependencies": [
+ "@types/eslint",
+ "@types/estree"
+ ]
+ },
+ "@types/eslint@9.6.1": {
+ "integrity": "sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==",
+ "dependencies": [
+ "@types/estree",
+ "@types/json-schema"
+ ]
+ },
+ "@types/estree@1.0.7": {
+ "integrity": "sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ=="
+ },
+ "@types/filesystem@0.0.36": {
+ "integrity": "sha512-vPDXOZuannb9FZdxgHnqSwAG/jvdGM8Wq+6N4D/d80z+D4HWH+bItqsZaVRQykAn6WEVeEkLm2oQigyHtgb0RA==",
+ "dependencies": [
+ "@types/filewriter"
+ ]
+ },
+ "@types/filewriter@0.0.33": {
+ "integrity": "sha512-xFU8ZXTw4gd358lb2jw25nxY9QAgqn2+bKKjKOYfNCzN4DKCFetK7sPtrlpg66Ywe3vWY9FNxprZawAh9wfJ3g=="
+ },
+ "@types/firefox-webext-browser@120.0.4": {
+ "integrity": "sha512-lBrpf08xhiZBigrtdQfUaqX1UauwZ+skbFiL8u2Tdra/rklkKadYmIzTwkNZSWtuZ7OKpFqbE2HHfDoFqvZf6w=="
+ },
+ "@types/har-format@1.2.16": {
+ "integrity": "sha512-fluxdy7ryD3MV6h8pTfTYpy/xQzCFC7m89nOH9y94cNqJ1mDIDPut7MnRHI3F6qRmh/cT2fUjG1MLdCNb4hE9A=="
+ },
+ "@types/json-schema@7.0.15": {
+ "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA=="
+ },
+ "@types/node@22.12.0": {
+ "integrity": "sha512-Fll2FZ1riMjNmlmJOdAyY5pUbkftXslB5DgEzlIuNaiWhXd00FhWxVC/r4yV/4wBb9JfImTu+jiSvXTkJ7F/gA==",
+ "dependencies": [
+ "undici-types"
+ ]
+ },
+ "@typescript-eslint/types@4.33.0": {
+ "integrity": "sha512-zKp7CjQzLQImXEpLt2BUw1tvOMPfNoTAfb8l51evhYbOEEzdWyQNmHWWGPR6hwKJDAi+1VXSBmnhL9kyVTTOuQ=="
+ },
+ "@typescript-eslint/typescript-estree@4.33.0_typescript@5.8.3": {
+ "integrity": "sha512-rkWRY1MPFzjwnEVHsxGemDzqqddw2QbTJlICPD9p9I9LfsO8fdmfQPOX3uKfUaGRDFJbfrtm/sXhVXN4E+bzCA==",
+ "dependencies": [
+ "@typescript-eslint/types",
+ "@typescript-eslint/visitor-keys",
+ "debug",
+ "globby",
+ "is-glob",
+ "semver",
+ "tsutils"
+ ]
+ },
+ "@typescript-eslint/visitor-keys@4.33.0": {
+ "integrity": "sha512-uqi/2aSz9g2ftcHWf8uLPJA70rUv6yuMW5Bohw+bwcuzaxQIHaKFZCKGoGXIrc9vkTJ3+0txM73K0Hq3d5wgIg==",
+ "dependencies": [
+ "@typescript-eslint/types",
+ "eslint-visitor-keys"
+ ]
+ },
+ "@vue/compiler-core@3.5.13": {
+ "integrity": "sha512-oOdAkwqUfW1WqpwSYJce06wvt6HljgY3fGeM9NcVA1HaYOij3mZG9Rkysn0OHuyUAGMbEbARIpsG+LPVlBJ5/Q==",
+ "dependencies": [
+ "@babel/parser",
+ "@vue/shared",
+ "entities",
+ "estree-walker",
+ "source-map-js"
+ ]
+ },
+ "@vue/compiler-dom@3.5.13": {
+ "integrity": "sha512-ZOJ46sMOKUjO3e94wPdCzQ6P1Lx/vhp2RSvfaab88Ajexs0AHeV0uasYhi99WPaogmBlRHNRuly8xV75cNTMDA==",
+ "dependencies": [
+ "@vue/compiler-core",
+ "@vue/shared"
+ ]
+ },
+ "@vue/compiler-sfc@3.5.13": {
+ "integrity": "sha512-6VdaljMpD82w6c2749Zhf5T9u5uLBWKnVue6XWxprDobftnletJ8+oel7sexFfM3qIxNmVE7LSFGTpv6obNyaQ==",
+ "dependencies": [
+ "@babel/parser",
+ "@vue/compiler-core",
+ "@vue/compiler-dom",
+ "@vue/compiler-ssr",
+ "@vue/shared",
+ "estree-walker",
+ "magic-string",
+ "postcss",
+ "source-map-js"
+ ]
+ },
+ "@vue/compiler-ssr@3.5.13": {
+ "integrity": "sha512-wMH6vrYHxQl/IybKJagqbquvxpWCuVYpoUJfCqFZwa/JY1GdATAQ+TgVtgrwwMZ0D07QhA99rs/EAAWfvG6KpA==",
+ "dependencies": [
+ "@vue/compiler-dom",
+ "@vue/shared"
+ ]
+ },
+ "@vue/devtools-api@7.7.2": {
+ "integrity": "sha512-1syn558KhyN+chO5SjlZIwJ8bV/bQ1nOVTG66t2RbG66ZGekyiYNmRO7X9BJCXQqPsFHlnksqvPhce2qpzxFnA==",
+ "dependencies": [
+ "@vue/devtools-kit"
+ ]
+ },
+ "@vue/devtools-kit@7.7.2": {
+ "integrity": "sha512-CY0I1JH3Z8PECbn6k3TqM1Bk9ASWxeMtTCvZr7vb+CHi+X/QwQm5F1/fPagraamKMAHVfuuCbdcnNg1A4CYVWQ==",
+ "dependencies": [
+ "@vue/devtools-shared",
+ "birpc",
+ "hookable",
+ "mitt",
+ "perfect-debounce",
+ "speakingurl",
+ "superjson"
+ ]
+ },
+ "@vue/devtools-shared@7.7.2": {
+ "integrity": "sha512-uBFxnp8gwW2vD6FrJB8JZLUzVb6PNRG0B0jBnHsOH8uKyva2qINY8PTF5Te4QlTbMDqU5K6qtJDr6cNsKWhbOA==",
+ "dependencies": [
+ "rfdc"
+ ]
+ },
+ "@vue/reactivity@3.5.13": {
+ "integrity": "sha512-NaCwtw8o48B9I6L1zl2p41OHo/2Z4wqYGGIK1Khu5T7yxrn+ATOixn/Udn2m+6kZKB/J7cuT9DbWWhRxqixACg==",
+ "dependencies": [
+ "@vue/shared"
+ ]
+ },
+ "@vue/runtime-core@3.5.13": {
+ "integrity": "sha512-Fj4YRQ3Az0WTZw1sFe+QDb0aXCerigEpw418pw1HBUKFtnQHWzwojaukAs2X/c9DQz4MQ4bsXTGlcpGxU/RCIw==",
+ "dependencies": [
+ "@vue/reactivity",
+ "@vue/shared"
+ ]
+ },
+ "@vue/runtime-dom@3.5.13": {
+ "integrity": "sha512-dLaj94s93NYLqjLiyFzVs9X6dWhTdAlEAciC3Moq7gzAc13VJUdCnjjRurNM6uTLFATRHexHCTu/Xp3eW6yoog==",
+ "dependencies": [
+ "@vue/reactivity",
+ "@vue/runtime-core",
+ "@vue/shared",
+ "csstype"
+ ]
+ },
+ "@vue/server-renderer@3.5.13_vue@3.5.13__typescript@5.8.3_typescript@5.8.3": {
+ "integrity": "sha512-wAi4IRJV/2SAW3htkTlB+dHeRmpTiVIK1OGLWV1yeStVSebSQQOwGwIq0D3ZIoBj2C2qpgz5+vX9iEBkTdk5YA==",
+ "dependencies": [
+ "@vue/compiler-ssr",
+ "@vue/shared",
+ "vue"
+ ]
+ },
+ "@vue/shared@3.5.13": {
+ "integrity": "sha512-/hnE/qP5ZoGpol0a5mDi45bOd7t3tjYJBjsgCsivow7D48cJeV5l05RD82lPqi7gRiphZM37rnhW1l6ZoCNNnQ=="
+ },
+ "@webassemblyjs/ast@1.14.1": {
+ "integrity": "sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==",
+ "dependencies": [
+ "@webassemblyjs/helper-numbers",
+ "@webassemblyjs/helper-wasm-bytecode"
+ ]
+ },
+ "@webassemblyjs/floating-point-hex-parser@1.13.2": {
+ "integrity": "sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA=="
+ },
+ "@webassemblyjs/helper-api-error@1.13.2": {
+ "integrity": "sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ=="
+ },
+ "@webassemblyjs/helper-buffer@1.14.1": {
+ "integrity": "sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA=="
+ },
+ "@webassemblyjs/helper-numbers@1.13.2": {
+ "integrity": "sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA==",
+ "dependencies": [
+ "@webassemblyjs/floating-point-hex-parser",
+ "@webassemblyjs/helper-api-error",
+ "@xtuc/long"
+ ]
+ },
+ "@webassemblyjs/helper-wasm-bytecode@1.13.2": {
+ "integrity": "sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA=="
+ },
+ "@webassemblyjs/helper-wasm-section@1.14.1": {
+ "integrity": "sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw==",
+ "dependencies": [
+ "@webassemblyjs/ast",
+ "@webassemblyjs/helper-buffer",
+ "@webassemblyjs/helper-wasm-bytecode",
+ "@webassemblyjs/wasm-gen"
+ ]
+ },
+ "@webassemblyjs/ieee754@1.13.2": {
+ "integrity": "sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw==",
+ "dependencies": [
+ "@xtuc/ieee754"
+ ]
+ },
+ "@webassemblyjs/leb128@1.13.2": {
+ "integrity": "sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw==",
+ "dependencies": [
+ "@xtuc/long"
+ ]
+ },
+ "@webassemblyjs/utf8@1.13.2": {
+ "integrity": "sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ=="
+ },
+ "@webassemblyjs/wasm-edit@1.14.1": {
+ "integrity": "sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ==",
+ "dependencies": [
+ "@webassemblyjs/ast",
+ "@webassemblyjs/helper-buffer",
+ "@webassemblyjs/helper-wasm-bytecode",
+ "@webassemblyjs/helper-wasm-section",
+ "@webassemblyjs/wasm-gen",
+ "@webassemblyjs/wasm-opt",
+ "@webassemblyjs/wasm-parser",
+ "@webassemblyjs/wast-printer"
+ ]
+ },
+ "@webassemblyjs/wasm-gen@1.14.1": {
+ "integrity": "sha512-AmomSIjP8ZbfGQhumkNvgC33AY7qtMCXnN6bL2u2Js4gVCg8fp735aEiMSBbDR7UQIj90n4wKAFUSEd0QN2Ukg==",
+ "dependencies": [
+ "@webassemblyjs/ast",
+ "@webassemblyjs/helper-wasm-bytecode",
+ "@webassemblyjs/ieee754",
+ "@webassemblyjs/leb128",
+ "@webassemblyjs/utf8"
+ ]
+ },
+ "@webassemblyjs/wasm-opt@1.14.1": {
+ "integrity": "sha512-PTcKLUNvBqnY2U6E5bdOQcSM+oVP/PmrDY9NzowJjislEjwP/C4an2303MCVS2Mg9d3AJpIGdUFIQQWbPds0Sw==",
+ "dependencies": [
+ "@webassemblyjs/ast",
+ "@webassemblyjs/helper-buffer",
+ "@webassemblyjs/wasm-gen",
+ "@webassemblyjs/wasm-parser"
+ ]
+ },
+ "@webassemblyjs/wasm-parser@1.14.1": {
+ "integrity": "sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ==",
+ "dependencies": [
+ "@webassemblyjs/ast",
+ "@webassemblyjs/helper-api-error",
+ "@webassemblyjs/helper-wasm-bytecode",
+ "@webassemblyjs/ieee754",
+ "@webassemblyjs/leb128",
+ "@webassemblyjs/utf8"
+ ]
+ },
+ "@webassemblyjs/wast-printer@1.14.1": {
+ "integrity": "sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw==",
+ "dependencies": [
+ "@webassemblyjs/ast",
+ "@xtuc/long"
+ ]
+ },
+ "@xtuc/ieee754@1.2.0": {
+ "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA=="
+ },
+ "@xtuc/long@4.2.2": {
+ "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ=="
+ },
+ "acorn@8.14.1": {
+ "integrity": "sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg=="
+ },
+ "ajv-formats@2.1.1_ajv@8.17.1": {
+ "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==",
+ "dependencies": [
+ "ajv"
+ ]
+ },
+ "ajv-keywords@5.1.0_ajv@8.17.1": {
+ "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==",
+ "dependencies": [
+ "ajv",
+ "fast-deep-equal"
+ ]
+ },
+ "ajv@8.17.1": {
+ "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==",
+ "dependencies": [
+ "fast-deep-equal",
+ "fast-uri",
+ "json-schema-traverse",
+ "require-from-string"
+ ]
+ },
+ "ansi-styles@4.3.0": {
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dependencies": [
+ "color-convert"
+ ]
+ },
+ "array-union@2.1.0": {
+ "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw=="
+ },
+ "birpc@0.2.19": {
+ "integrity": "sha512-5WeXXAvTmitV1RqJFppT5QtUiz2p1mRSYU000Jkft5ZUCLJIk4uQriYNO50HknxKwM6jd8utNc66K1qGIwwWBQ=="
+ },
+ "braces@3.0.3": {
+ "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
+ "dependencies": [
+ "fill-range"
+ ]
+ },
+ "browserslist@4.24.4": {
+ "integrity": "sha512-KDi1Ny1gSePi1vm0q4oxSF8b4DR44GF4BbmS2YdhPLOEqd8pDviZOGH/GsmRwoWJ2+5Lr085X7naowMwKHDG1A==",
+ "dependencies": [
+ "caniuse-lite",
+ "electron-to-chromium",
+ "node-releases",
+ "update-browserslist-db"
+ ]
+ },
+ "buffer-from@1.1.2": {
+ "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ=="
+ },
+ "caniuse-lite@1.0.30001709": {
+ "integrity": "sha512-NgL3vUTnDrPCZ3zTahp4fsugQ4dc7EKTSzwQDPEel6DMoMnfH2jhry9n2Zm8onbSR+f/QtKHFOA+iAQu4kbtWA=="
+ },
+ "chalk@4.1.2": {
+ "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+ "dependencies": [
+ "ansi-styles",
+ "supports-color@7.2.0"
+ ]
+ },
+ "chrome-trace-event@1.0.4": {
+ "integrity": "sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ=="
+ },
+ "color-convert@2.0.1": {
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dependencies": [
+ "color-name"
+ ]
+ },
+ "color-name@1.1.4": {
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
+ },
+ "commander@2.20.3": {
+ "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ=="
+ },
+ "copy-anything@3.0.5": {
+ "integrity": "sha512-yCEafptTtb4bk7GLEQoM8KVJpxAfdBJYaXyzQEgQQQgYrZiDp8SJmGKlYza6CYjEDNstAdNdKA3UuoULlEbS6w==",
+ "dependencies": [
+ "is-what"
+ ]
+ },
+ "csstype@3.1.3": {
+ "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw=="
+ },
+ "debug@4.4.0": {
+ "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==",
+ "dependencies": [
+ "ms"
+ ]
+ },
+ "diff-match-patch@1.0.5": {
+ "integrity": "sha512-IayShXAgj/QMXgB0IWmKx+rOPuGMhqm5w6jvFxmVenXKIzRqTAAsbBPT3kWQeGANj3jGgvcvv4yK6SxqYmikgw=="
+ },
+ "dir-glob@3.0.1": {
+ "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==",
+ "dependencies": [
+ "path-type"
+ ]
+ },
+ "electron-to-chromium@1.5.130": {
+ "integrity": "sha512-Ou2u7L9j2XLZbhqzyX0jWDj6gA8D3jIfVzt4rikLf3cGBa0VdReuFimBKS9tQJA4+XpeCxj1NoWlfBXzbMa9IA=="
+ },
+ "enhanced-resolve@5.18.1": {
+ "integrity": "sha512-ZSW3ma5GkcQBIpwZTSRAI8N71Uuwgs93IezB7mf7R60tC8ZbJideoDNKjHn2O9KIlx6rkGTTEk1xUCK2E1Y2Yg==",
+ "dependencies": [
+ "graceful-fs",
+ "tapable"
+ ]
+ },
+ "entities@4.5.0": {
+ "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw=="
+ },
+ "es-module-lexer@1.6.0": {
+ "integrity": "sha512-qqnD1yMU6tk/jnaMosogGySTZP8YtUgAffA9nMN+E/rjxcfRQ6IEk7IiozUjgxKoFHBGjTLnrHB/YC45r/59EQ=="
+ },
+ "esbuild-plugin-vue-iii@0.5.0_esbuild@0.25.2_typescript@5.8.3": {
+ "integrity": "sha512-q1G4nsttwZ0tLPwNeaiVMIcJO6PjgkeAPKmZM3NhTf/HZrFC3BvwWCoD9GLvJvPSEoNmvDIbdGRAJ3Ps8horoA==",
+ "dependencies": [
+ "@typescript-eslint/typescript-estree",
+ "@vue/compiler-sfc",
+ "esbuild",
+ "querystring",
+ "source-map"
+ ]
+ },
+ "esbuild@0.25.2": {
+ "integrity": "sha512-16854zccKPnC+toMywC+uKNeYSv+/eXkevRAfwRD/G9Cleq66m8XFIrigkbvauLLlCfDL45Q2cWegSg53gGBnQ==",
+ "dependencies": [
+ "@esbuild/aix-ppc64",
+ "@esbuild/android-arm",
+ "@esbuild/android-arm64",
+ "@esbuild/android-x64",
+ "@esbuild/darwin-arm64",
+ "@esbuild/darwin-x64",
+ "@esbuild/freebsd-arm64",
+ "@esbuild/freebsd-x64",
+ "@esbuild/linux-arm",
+ "@esbuild/linux-arm64",
+ "@esbuild/linux-ia32",
+ "@esbuild/linux-loong64",
+ "@esbuild/linux-mips64el",
+ "@esbuild/linux-ppc64",
+ "@esbuild/linux-riscv64",
+ "@esbuild/linux-s390x",
+ "@esbuild/linux-x64",
+ "@esbuild/netbsd-arm64",
+ "@esbuild/netbsd-x64",
+ "@esbuild/openbsd-arm64",
+ "@esbuild/openbsd-x64",
+ "@esbuild/sunos-x64",
+ "@esbuild/win32-arm64",
+ "@esbuild/win32-ia32",
+ "@esbuild/win32-x64"
+ ]
+ },
+ "escalade@3.2.0": {
+ "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA=="
+ },
+ "eslint-scope@5.1.1": {
+ "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==",
+ "dependencies": [
+ "esrecurse",
+ "estraverse@4.3.0"
+ ]
+ },
+ "eslint-visitor-keys@2.1.0": {
+ "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw=="
+ },
+ "esrecurse@4.3.0": {
+ "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==",
+ "dependencies": [
+ "estraverse@5.3.0"
+ ]
+ },
+ "estraverse@4.3.0": {
+ "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw=="
+ },
+ "estraverse@5.3.0": {
+ "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA=="
+ },
+ "estree-walker@2.0.2": {
+ "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w=="
+ },
+ "events@3.3.0": {
+ "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q=="
+ },
+ "fast-deep-equal@3.1.3": {
+ "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q=="
+ },
+ "fast-glob@3.3.3": {
+ "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==",
+ "dependencies": [
+ "@nodelib/fs.stat",
+ "@nodelib/fs.walk",
+ "glob-parent",
+ "merge2",
+ "micromatch"
+ ]
+ },
+ "fast-uri@3.0.6": {
+ "integrity": "sha512-Atfo14OibSv5wAp4VWNsFYE1AchQRTv9cBGWET4pZWHzYshFSS9NQI6I57rdKn9croWVMbYFbLhJ+yJvmZIIHw=="
+ },
+ "fastq@1.19.1": {
+ "integrity": "sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==",
+ "dependencies": [
+ "reusify"
+ ]
+ },
+ "fill-range@7.1.1": {
+ "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
+ "dependencies": [
+ "to-regex-range"
+ ]
+ },
+ "glob-parent@5.1.2": {
+ "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
+ "dependencies": [
+ "is-glob"
+ ]
+ },
+ "glob-to-regexp@0.4.1": {
+ "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw=="
+ },
+ "globby@11.1.0": {
+ "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==",
+ "dependencies": [
+ "array-union",
+ "dir-glob",
+ "fast-glob",
+ "ignore",
+ "merge2",
+ "slash"
+ ]
+ },
+ "graceful-fs@4.2.11": {
+ "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ=="
+ },
+ "has-flag@4.0.0": {
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ=="
+ },
+ "hash-sum@2.0.0": {
+ "integrity": "sha512-WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg=="
+ },
+ "hookable@5.5.3": {
+ "integrity": "sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ=="
+ },
+ "ignore@5.3.2": {
+ "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g=="
+ },
+ "is-extglob@2.1.1": {
+ "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ=="
+ },
+ "is-glob@4.0.3": {
+ "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
+ "dependencies": [
+ "is-extglob"
+ ]
+ },
+ "is-number@7.0.0": {
+ "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng=="
+ },
+ "is-what@4.1.16": {
+ "integrity": "sha512-ZhMwEosbFJkA0YhFnNDgTM4ZxDRsS6HqTo7qsZM08fehyRYIYa0yHu5R6mgo1n/8MgaPBXiPimPD77baVFYg+A=="
+ },
+ "jest-worker@27.5.1": {
+ "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==",
+ "dependencies": [
+ "@types/node",
+ "merge-stream",
+ "supports-color@8.1.1"
+ ]
+ },
+ "json-parse-even-better-errors@2.3.1": {
+ "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w=="
+ },
+ "json-schema-traverse@1.0.0": {
+ "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug=="
+ },
+ "jsondiffpatch@0.7.3": {
+ "integrity": "sha512-zd4dqFiXSYyant2WgSXAZ9+yYqilNVvragVNkNRn2IFZKgjyULNrKRznqN4Zon0MkLueCg+3QaPVCnDAVP20OQ==",
+ "dependencies": [
+ "@dmsnell/diff-match-patch"
+ ]
+ },
+ "loader-runner@4.3.0": {
+ "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg=="
+ },
+ "magic-string@0.30.17": {
+ "integrity": "sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==",
+ "dependencies": [
+ "@jridgewell/sourcemap-codec"
+ ]
+ },
+ "merge-stream@2.0.0": {
+ "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w=="
+ },
+ "merge2@1.4.1": {
+ "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg=="
+ },
+ "micromatch@4.0.8": {
+ "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==",
+ "dependencies": [
+ "braces",
+ "picomatch"
+ ]
+ },
+ "mime-db@1.52.0": {
+ "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg=="
+ },
+ "mime-types@2.1.35": {
+ "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
+ "dependencies": [
+ "mime-db"
+ ]
+ },
+ "mitt@3.0.1": {
+ "integrity": "sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw=="
+ },
+ "ms@2.1.3": {
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="
+ },
+ "nanoid@3.3.11": {
+ "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w=="
+ },
+ "neo-async@2.6.2": {
+ "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw=="
+ },
+ "node-releases@2.0.19": {
+ "integrity": "sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw=="
+ },
+ "path-type@4.0.0": {
+ "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw=="
+ },
+ "perfect-debounce@1.0.0": {
+ "integrity": "sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA=="
+ },
+ "picocolors@1.1.1": {
+ "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA=="
+ },
+ "picomatch@2.3.1": {
+ "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA=="
+ },
+ "pinia@3.0.1_typescript@5.8.3_vue@3.5.13__typescript@5.8.3": {
+ "integrity": "sha512-WXglsDzztOTH6IfcJ99ltYZin2mY8XZCXujkYWVIJlBjqsP6ST7zw+Aarh63E1cDVYeyUcPCxPHzJpEOmzB6Wg==",
+ "dependencies": [
+ "@vue/devtools-api",
+ "typescript",
+ "vue"
+ ]
+ },
+ "postcss@8.5.3": {
+ "integrity": "sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A==",
+ "dependencies": [
+ "nanoid",
+ "picocolors",
+ "source-map-js"
+ ]
+ },
+ "querystring@0.2.1": {
+ "integrity": "sha512-wkvS7mL/JMugcup3/rMitHmd9ecIGd2lhFhK9N3UUQ450h66d1r3Y9nvXzQAW1Lq+wyx61k/1pfKS5KuKiyEbg=="
+ },
+ "queue-microtask@1.2.3": {
+ "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A=="
+ },
+ "randombytes@2.1.0": {
+ "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==",
+ "dependencies": [
+ "safe-buffer"
+ ]
+ },
+ "require-from-string@2.0.2": {
+ "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw=="
+ },
+ "reusify@1.1.0": {
+ "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw=="
+ },
+ "rfdc@1.4.1": {
+ "integrity": "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA=="
+ },
+ "run-parallel@1.2.0": {
+ "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==",
+ "dependencies": [
+ "queue-microtask"
+ ]
+ },
+ "safe-buffer@5.2.1": {
+ "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ=="
+ },
+ "schema-utils@4.3.0_ajv@8.17.1": {
+ "integrity": "sha512-Gf9qqc58SpCA/xdziiHz35F4GNIWYWZrEshUc/G/r5BnLph6xpKuLeoJoQuj5WfBIx/eQLf+hmVPYHaxJu7V2g==",
+ "dependencies": [
+ "@types/json-schema",
+ "ajv",
+ "ajv-formats",
+ "ajv-keywords"
+ ]
+ },
+ "semver@7.7.1": {
+ "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA=="
+ },
+ "serialize-javascript@6.0.2": {
+ "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==",
+ "dependencies": [
+ "randombytes"
+ ]
+ },
+ "slash@3.0.0": {
+ "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q=="
+ },
+ "source-map-js@1.2.1": {
+ "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA=="
+ },
+ "source-map-support@0.5.21": {
+ "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==",
+ "dependencies": [
+ "buffer-from",
+ "source-map"
+ ]
+ },
+ "source-map@0.6.1": {
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
+ },
+ "speakingurl@14.0.1": {
+ "integrity": "sha512-1POYv7uv2gXoyGFpBCmpDVSNV74IfsWlDW216UPjbWufNf+bSU6GdbDsxdcxtfwb4xlI3yxzOTKClUosxARYrQ=="
+ },
+ "superjson@2.2.2": {
+ "integrity": "sha512-5JRxVqC8I8NuOUjzBbvVJAKNM8qoVuH0O77h4WInc/qC2q5IreqKxYwgkga3PfA22OayK2ikceb/B26dztPl+Q==",
+ "dependencies": [
+ "copy-anything"
+ ]
+ },
+ "supports-color@7.2.0": {
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+ "dependencies": [
+ "has-flag"
+ ]
+ },
+ "supports-color@8.1.1": {
+ "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==",
+ "dependencies": [
+ "has-flag"
+ ]
+ },
+ "tapable@2.2.1": {
+ "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ=="
+ },
+ "terser-webpack-plugin@5.3.14_webpack@5.99.1": {
+ "integrity": "sha512-vkZjpUjb6OMS7dhV+tILUW6BhpDR7P2L/aQSAv+Uwk+m8KATX9EccViHTJR2qDtACKPIYndLGCyl3FMo+r2LMw==",
+ "dependencies": [
+ "@jridgewell/trace-mapping",
+ "jest-worker",
+ "schema-utils",
+ "serialize-javascript",
+ "terser",
+ "webpack"
+ ]
+ },
+ "terser@5.39.0": {
+ "integrity": "sha512-LBAhFyLho16harJoWMg/nZsQYgTrg5jXOn2nCYjRUcZZEdE3qa2zb8QEDRUGVZBW4rlazf2fxkg8tztybTaqWw==",
+ "dependencies": [
+ "@jridgewell/source-map",
+ "acorn",
+ "commander",
+ "source-map-support"
+ ]
+ },
+ "to-regex-range@5.0.1": {
+ "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
+ "dependencies": [
+ "is-number"
+ ]
+ },
+ "tslib@1.14.1": {
+ "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg=="
+ },
+ "tsutils@3.21.0_typescript@5.8.3": {
+ "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==",
+ "dependencies": [
+ "tslib",
+ "typescript"
+ ]
+ },
+ "typescript@5.8.3": {
+ "integrity": "sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ=="
+ },
+ "undici-types@6.20.0": {
+ "integrity": "sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg=="
+ },
+ "update-browserslist-db@1.1.3_browserslist@4.24.4": {
+ "integrity": "sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==",
+ "dependencies": [
+ "browserslist",
+ "escalade",
+ "picocolors"
+ ]
+ },
+ "vue-loader@17.4.2_webpack@5.99.1": {
+ "integrity": "sha512-yTKOA4R/VN4jqjw4y5HrynFL8AK0Z3/Jt7eOJXEitsm0GMRHDBjCfCiuTiLP7OESvsZYo2pATCWhDqxC5ZrM6w==",
+ "dependencies": [
+ "chalk",
+ "hash-sum",
+ "watchpack",
+ "webpack"
+ ]
+ },
+ "vue@3.5.13_typescript@5.8.3": {
+ "integrity": "sha512-wmeiSMxkZCSc+PM2w2VRsOYAZC8GdipNFRTsLSfodVqI9mbejKeXEGr8SckuLnrQPGe3oJN5c3K0vpoU9q/wCQ==",
+ "dependencies": [
+ "@vue/compiler-dom",
+ "@vue/compiler-sfc",
+ "@vue/runtime-dom",
+ "@vue/server-renderer",
+ "@vue/shared",
+ "typescript"
+ ]
+ },
+ "watchpack@2.4.2": {
+ "integrity": "sha512-TnbFSbcOCcDgjZ4piURLCbJ3nJhznVh9kw6F6iokjiFPl8ONxe9A6nMDVXDiNbrSfLILs6vB07F7wLBrwPYzJw==",
+ "dependencies": [
+ "glob-to-regexp",
+ "graceful-fs"
+ ]
+ },
+ "webpack-sources@3.2.3": {
+ "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w=="
+ },
+ "webpack@5.99.1": {
+ "integrity": "sha512-o9gY7ibHPFxLjF6NtvQ6+5CGknsPTRllsL6SEnqR2Zhjk02hiIioJYLS7dvrWaykrRbbmhvDeKp36mKHNbKYiw==",
+ "dependencies": [
+ "@types/eslint-scope",
+ "@types/estree",
+ "@webassemblyjs/ast",
+ "@webassemblyjs/wasm-edit",
+ "@webassemblyjs/wasm-parser",
+ "acorn",
+ "browserslist",
+ "chrome-trace-event",
+ "enhanced-resolve",
+ "es-module-lexer",
+ "eslint-scope",
+ "events",
+ "glob-to-regexp",
+ "graceful-fs",
+ "json-parse-even-better-errors",
+ "loader-runner",
+ "mime-types",
+ "neo-async",
+ "schema-utils",
+ "tapable",
+ "terser-webpack-plugin",
+ "watchpack",
+ "webpack-sources"
+ ]
+ }
+ },
+ "remote": {
+ "https://deno.land/x/denoflate@1.2.1/mod.ts": "f5628e44b80b3d80ed525afa2ba0f12408e3849db817d47a883b801f9ce69dd6",
+ "https://deno.land/x/denoflate@1.2.1/pkg/denoflate.js": "b9f9ad9457d3f12f28b1fb35c555f57443427f74decb403113d67364e4f2caf4",
+ "https://deno.land/x/denoflate@1.2.1/pkg/denoflate_bg.wasm.js": "d581956245407a2115a3d7e8d85a9641c032940a8e810acbd59ca86afd34d44d",
+ "https://deno.land/x/esbuild@v0.25.2/mod.js": "fde73e72559dc2932556506581bc61462cff72d0394382334500d956851cd9f5"
+ },
+ "workspace": {
+ "dependencies": [
+ "jsr:@std/expect@1.0.15",
+ "jsr:@std/testing@1.0.11",
+ "npm:@types/chrome@*",
+ "npm:@types/firefox-webext-browser@*",
+ "npm:esbuild-plugin-vue-iii@0.5.0"
+ ],
+ "packageJson": {
+ "dependencies": [
+ "npm:@noble/hashes@1.7.1",
+ "npm:@types/chrome@0.0.313",
+ "npm:@types/diff-match-patch@1.0.36",
+ "npm:@types/firefox-webext-browser@120.0.4",
+ "npm:diff-match-patch@1.0.5",
+ "npm:jsondiffpatch@0.7.3",
+ "npm:pinia@3.0.1",
+ "npm:typescript@5.8.3",
+ "npm:vue-loader@17.4.2",
+ "npm:vue@3.5.13"
+ ]
+ }
+ }
+}
diff --git a/manifest.chrome.json b/manifest.chrome.json
index e7c4a31..22cc503 100644
--- a/manifest.chrome.json
+++ b/manifest.chrome.json
@@ -1,31 +1,30 @@
{
"manifest_version": 3,
"name": "console.diff(...)",
- "version": "3.0.7",
+ "version": "3.1.0",
"key": "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAlCx2Bl0li+3idvfrH9cQL/MzphafGFqMUA2P+0vbyhwxsxWl0llOaGQbkirX5qCoAVHoUCPqu3hCjpVCv35igPbfqDs5bdLZZmXt2F0HjEQnWI/eZKd9IKcKYMplEeL2BodmpU02VrP1UnUzQHZeeMWk9ybgWOqCimkwliILVubRj5dxNB9AidLwO4Z5iGq/OvW9AJMYdxKxrLP2lF6/GGNcCBg+iCJZwlQOhFB9LbUjytT4ws3bIEX4b5zmWLqGKR1NiZfGug2eCWXt9oEKg2WkbXmBBzFKqxnM/bBUrVR29N9qNgx0f42qnyhsW3Bo4kPzE3d0asXCV5nofLTLEwIDAQAB",
"description": "Compare objects in memory with console.diff(old, new) devtools function",
- "minimum_chrome_version": "100.0",
+ "minimum_chrome_version": "135.0",
"homepage_url": "https://github.com/zendive/jsdiff#readme",
- "author": "calexblock@gmail.com",
"permissions": ["storage"],
"host_permissions": ["*://*/*"],
- "devtools_page": "bundle/jsdiff-devtools.html",
+ "devtools_page": "/public/jsdiff-devtools.html",
"icons": {
- "28": "bundle/img/panel-icon28.png",
- "64": "bundle/img/panel-icon64.png",
- "128": "bundle/img/panel-icon128.png"
+ "28": "/public/img/panel-icon28.png",
+ "64": "/public/img/panel-icon64.png",
+ "128": "/public/img/panel-icon128.png"
},
"content_scripts": [
{
"world": "MAIN",
- "js": ["/bundle/js/jsdiff-console.js"],
+ "js": ["/public/build/jsdiff-console.js"],
"matches": [""],
"match_origin_as_fallback": true,
"all_frames": true,
"run_at": "document_start"
},
{
- "js": ["/bundle/js/jsdiff-proxy.js"],
+ "js": ["/public/build/jsdiff-proxy.js"],
"matches": [""],
"match_origin_as_fallback": true,
"all_frames": true,
diff --git a/manifest.firefox.json b/manifest.firefox.json
index a2208ac..ff54a86 100644
--- a/manifest.firefox.json
+++ b/manifest.firefox.json
@@ -1,31 +1,29 @@
{
"manifest_version": 3,
"name": "jsdiff.diff(...)",
- "version": "3.0.6",
+ "version": "3.1.0",
"description": "Compare objects in memory with jsdiff.diff(old, new) devtools function",
- "minimum_chrome_version": "100.0",
"browser_specific_settings": {
"gecko": {
- "id": "calexblock@gmail.com",
- "strict_min_version": "120.0"
+ "id": "{d010c440-61aa-4972-a4ca-30838c593b51}",
+ "strict_min_version": "137.0"
}
},
"homepage_url": "https://github.com/zendive/jsdiff#readme",
- "author": "calexblock@gmail.com",
"permissions": ["storage", "devtools", "activeTab"],
"host_permissions": [""],
"background": {
- "scripts": ["bundle/js/firefox/jsdiff-background.js"]
+ "scripts": ["public/build/firefox/jsdiff-background.js"]
},
- "devtools_page": "bundle/jsdiff-devtools.html",
+ "devtools_page": "public/builddiff-devtools.html",
"icons": {
- "28": "bundle/img/panel-icon28.png",
- "64": "bundle/img/panel-icon64.png",
- "128": "bundle/img/panel-icon128.png"
+ "28": "public/img/panel-icon28.png",
+ "64": "public/img/panel-icon64.png",
+ "128": "public/img/panel-icon128.png"
},
"content_scripts": [
{
- "js": ["bundle/js/jsdiff-console.js", "bundle/js/jsdiff-proxy.js"],
+ "js": ["public/build/jsdiff-console.js", "public/build/jsdiff-proxy.js"],
"matches": ["*://*/*"],
"all_frames": true,
"run_at": "document_start"
diff --git a/package.json b/package.json
index 6ea7763..f854629 100644
--- a/package.json
+++ b/package.json
@@ -2,33 +2,14 @@
"type": "module",
"devDependencies": {
"@noble/hashes": "1.7.1",
- "@types/chrome": "0.0.307",
+ "@types/chrome": "0.0.313",
"@types/diff-match-patch": "1.0.36",
"@types/firefox-webext-browser": "120.0.4",
- "@types/webpack-bundle-analyzer": "4.7.0",
- "@vue/compiler-sfc": "3.5.13",
- "css-loader": "7.1.2",
"diff-match-patch": "1.0.5",
- "esbuild": "0.25.0",
- "esbuild-loader": "4.3.0",
- "jsondiffpatch": "0.6.0",
+ "jsondiffpatch": "0.7.3",
"pinia": "3.0.1",
- "prettier": "3.5.3",
- "sass": "1.85.1",
- "sass-loader": "16.0.5",
- "style-loader": "4.0.0",
- "tsx": "4.19.3",
- "typescript": "5.8.2",
+ "typescript": "5.8.3",
"vue": "3.5.13",
- "vue-loader": "17.4.2",
- "webpack": "5.98.0",
- "webpack-bundle-analyzer": "4.10.2",
- "webpack-cli": "6.0.1"
- },
- "pnpm": {
- "overrides": {},
- "onlyBuiltDependencies": [
- "sass"
- ]
+ "vue-loader": "17.4.2"
}
}
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
deleted file mode 100644
index d3347a4..0000000
--- a/pnpm-lock.yaml
+++ /dev/null
@@ -1,2372 +0,0 @@
-lockfileVersion: '9.0'
-
-settings:
- autoInstallPeers: true
- excludeLinksFromLockfile: false
-
-importers:
-
- .:
- devDependencies:
- '@noble/hashes':
- specifier: 1.7.1
- version: 1.7.1
- '@types/chrome':
- specifier: 0.0.307
- version: 0.0.307
- '@types/diff-match-patch':
- specifier: 1.0.36
- version: 1.0.36
- '@types/firefox-webext-browser':
- specifier: 120.0.4
- version: 120.0.4
- '@types/webpack-bundle-analyzer':
- specifier: 4.7.0
- version: 4.7.0(esbuild@0.25.0)(webpack-cli@6.0.1)
- '@vue/compiler-sfc':
- specifier: 3.5.13
- version: 3.5.13
- css-loader:
- specifier: 7.1.2
- version: 7.1.2(webpack@5.98.0)
- diff-match-patch:
- specifier: 1.0.5
- version: 1.0.5
- esbuild:
- specifier: 0.25.0
- version: 0.25.0
- esbuild-loader:
- specifier: 4.3.0
- version: 4.3.0(webpack@5.98.0)
- jsondiffpatch:
- specifier: 0.6.0
- version: 0.6.0
- pinia:
- specifier: 3.0.1
- version: 3.0.1(typescript@5.8.2)(vue@3.5.13(typescript@5.8.2))
- prettier:
- specifier: 3.5.3
- version: 3.5.3
- sass:
- specifier: 1.85.1
- version: 1.85.1
- sass-loader:
- specifier: 16.0.5
- version: 16.0.5(sass@1.85.1)(webpack@5.98.0)
- style-loader:
- specifier: 4.0.0
- version: 4.0.0(webpack@5.98.0)
- tsx:
- specifier: 4.19.3
- version: 4.19.3
- typescript:
- specifier: 5.8.2
- version: 5.8.2
- vue:
- specifier: 3.5.13
- version: 3.5.13(typescript@5.8.2)
- vue-loader:
- specifier: 17.4.2
- version: 17.4.2(@vue/compiler-sfc@3.5.13)(vue@3.5.13(typescript@5.8.2))(webpack@5.98.0)
- webpack:
- specifier: 5.98.0
- version: 5.98.0(esbuild@0.25.0)(webpack-cli@6.0.1)
- webpack-bundle-analyzer:
- specifier: 4.10.2
- version: 4.10.2
- webpack-cli:
- specifier: 6.0.1
- version: 6.0.1(webpack-bundle-analyzer@4.10.2)(webpack@5.98.0)
-
-packages:
-
- '@babel/helper-string-parser@7.25.9':
- resolution: {integrity: sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==}
- engines: {node: '>=6.9.0'}
-
- '@babel/helper-validator-identifier@7.25.9':
- resolution: {integrity: sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==}
- engines: {node: '>=6.9.0'}
-
- '@babel/parser@7.26.2':
- resolution: {integrity: sha512-DWMCZH9WA4Maitz2q21SRKHo9QXZxkDsbNZoVD62gusNtNBBqDg9i7uOhASfTfIGNzW+O+r7+jAlM8dwphcJKQ==}
- engines: {node: '>=6.0.0'}
- hasBin: true
-
- '@babel/types@7.26.0':
- resolution: {integrity: sha512-Z/yiTPj+lDVnF7lWeKCIJzaIkI0vYO87dMpZ4bg4TDrFe4XXLFWL1TbXU27gBP3QccxV9mZICCrnjnYlJjXHOA==}
- engines: {node: '>=6.9.0'}
-
- '@discoveryjs/json-ext@0.5.7':
- resolution: {integrity: sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==}
- engines: {node: '>=10.0.0'}
-
- '@discoveryjs/json-ext@0.6.3':
- resolution: {integrity: sha512-4B4OijXeVNOPZlYA2oEwWOTkzyltLao+xbotHQeqN++Rv27Y6s818+n2Qkp8q+Fxhn0t/5lA5X1Mxktud8eayQ==}
- engines: {node: '>=14.17.0'}
-
- '@esbuild/aix-ppc64@0.25.0':
- resolution: {integrity: sha512-O7vun9Sf8DFjH2UtqK8Ku3LkquL9SZL8OLY1T5NZkA34+wG3OQF7cl4Ql8vdNzM6fzBbYfLaiRLIOZ+2FOCgBQ==}
- engines: {node: '>=18'}
- cpu: [ppc64]
- os: [aix]
-
- '@esbuild/android-arm64@0.25.0':
- resolution: {integrity: sha512-grvv8WncGjDSyUBjN9yHXNt+cq0snxXbDxy5pJtzMKGmmpPxeAmAhWxXI+01lU5rwZomDgD3kJwulEnhTRUd6g==}
- engines: {node: '>=18'}
- cpu: [arm64]
- os: [android]
-
- '@esbuild/android-arm@0.25.0':
- resolution: {integrity: sha512-PTyWCYYiU0+1eJKmw21lWtC+d08JDZPQ5g+kFyxP0V+es6VPPSUhM6zk8iImp2jbV6GwjX4pap0JFbUQN65X1g==}
- engines: {node: '>=18'}
- cpu: [arm]
- os: [android]
-
- '@esbuild/android-x64@0.25.0':
- resolution: {integrity: sha512-m/ix7SfKG5buCnxasr52+LI78SQ+wgdENi9CqyCXwjVR2X4Jkz+BpC3le3AoBPYTC9NHklwngVXvbJ9/Akhrfg==}
- engines: {node: '>=18'}
- cpu: [x64]
- os: [android]
-
- '@esbuild/darwin-arm64@0.25.0':
- resolution: {integrity: sha512-mVwdUb5SRkPayVadIOI78K7aAnPamoeFR2bT5nszFUZ9P8UpK4ratOdYbZZXYSqPKMHfS1wdHCJk1P1EZpRdvw==}
- engines: {node: '>=18'}
- cpu: [arm64]
- os: [darwin]
-
- '@esbuild/darwin-x64@0.25.0':
- resolution: {integrity: sha512-DgDaYsPWFTS4S3nWpFcMn/33ZZwAAeAFKNHNa1QN0rI4pUjgqf0f7ONmXf6d22tqTY+H9FNdgeaAa+YIFUn2Rg==}
- engines: {node: '>=18'}
- cpu: [x64]
- os: [darwin]
-
- '@esbuild/freebsd-arm64@0.25.0':
- resolution: {integrity: sha512-VN4ocxy6dxefN1MepBx/iD1dH5K8qNtNe227I0mnTRjry8tj5MRk4zprLEdG8WPyAPb93/e4pSgi1SoHdgOa4w==}
- engines: {node: '>=18'}
- cpu: [arm64]
- os: [freebsd]
-
- '@esbuild/freebsd-x64@0.25.0':
- resolution: {integrity: sha512-mrSgt7lCh07FY+hDD1TxiTyIHyttn6vnjesnPoVDNmDfOmggTLXRv8Id5fNZey1gl/V2dyVK1VXXqVsQIiAk+A==}
- engines: {node: '>=18'}
- cpu: [x64]
- os: [freebsd]
-
- '@esbuild/linux-arm64@0.25.0':
- resolution: {integrity: sha512-9QAQjTWNDM/Vk2bgBl17yWuZxZNQIF0OUUuPZRKoDtqF2k4EtYbpyiG5/Dk7nqeK6kIJWPYldkOcBqjXjrUlmg==}
- engines: {node: '>=18'}
- cpu: [arm64]
- os: [linux]
-
- '@esbuild/linux-arm@0.25.0':
- resolution: {integrity: sha512-vkB3IYj2IDo3g9xX7HqhPYxVkNQe8qTK55fraQyTzTX/fxaDtXiEnavv9geOsonh2Fd2RMB+i5cbhu2zMNWJwg==}
- engines: {node: '>=18'}
- cpu: [arm]
- os: [linux]
-
- '@esbuild/linux-ia32@0.25.0':
- resolution: {integrity: sha512-43ET5bHbphBegyeqLb7I1eYn2P/JYGNmzzdidq/w0T8E2SsYL1U6un2NFROFRg1JZLTzdCoRomg8Rvf9M6W6Gg==}
- engines: {node: '>=18'}
- cpu: [ia32]
- os: [linux]
-
- '@esbuild/linux-loong64@0.25.0':
- resolution: {integrity: sha512-fC95c/xyNFueMhClxJmeRIj2yrSMdDfmqJnyOY4ZqsALkDrrKJfIg5NTMSzVBr5YW1jf+l7/cndBfP3MSDpoHw==}
- engines: {node: '>=18'}
- cpu: [loong64]
- os: [linux]
-
- '@esbuild/linux-mips64el@0.25.0':
- resolution: {integrity: sha512-nkAMFju7KDW73T1DdH7glcyIptm95a7Le8irTQNO/qtkoyypZAnjchQgooFUDQhNAy4iu08N79W4T4pMBwhPwQ==}
- engines: {node: '>=18'}
- cpu: [mips64el]
- os: [linux]
-
- '@esbuild/linux-ppc64@0.25.0':
- resolution: {integrity: sha512-NhyOejdhRGS8Iwv+KKR2zTq2PpysF9XqY+Zk77vQHqNbo/PwZCzB5/h7VGuREZm1fixhs4Q/qWRSi5zmAiO4Fw==}
- engines: {node: '>=18'}
- cpu: [ppc64]
- os: [linux]
-
- '@esbuild/linux-riscv64@0.25.0':
- resolution: {integrity: sha512-5S/rbP5OY+GHLC5qXp1y/Mx//e92L1YDqkiBbO9TQOvuFXM+iDqUNG5XopAnXoRH3FjIUDkeGcY1cgNvnXp/kA==}
- engines: {node: '>=18'}
- cpu: [riscv64]
- os: [linux]
-
- '@esbuild/linux-s390x@0.25.0':
- resolution: {integrity: sha512-XM2BFsEBz0Fw37V0zU4CXfcfuACMrppsMFKdYY2WuTS3yi8O1nFOhil/xhKTmE1nPmVyvQJjJivgDT+xh8pXJA==}
- engines: {node: '>=18'}
- cpu: [s390x]
- os: [linux]
-
- '@esbuild/linux-x64@0.25.0':
- resolution: {integrity: sha512-9yl91rHw/cpwMCNytUDxwj2XjFpxML0y9HAOH9pNVQDpQrBxHy01Dx+vaMu0N1CKa/RzBD2hB4u//nfc+Sd3Cw==}
- engines: {node: '>=18'}
- cpu: [x64]
- os: [linux]
-
- '@esbuild/netbsd-arm64@0.25.0':
- resolution: {integrity: sha512-RuG4PSMPFfrkH6UwCAqBzauBWTygTvb1nxWasEJooGSJ/NwRw7b2HOwyRTQIU97Hq37l3npXoZGYMy3b3xYvPw==}
- engines: {node: '>=18'}
- cpu: [arm64]
- os: [netbsd]
-
- '@esbuild/netbsd-x64@0.25.0':
- resolution: {integrity: sha512-jl+qisSB5jk01N5f7sPCsBENCOlPiS/xptD5yxOx2oqQfyourJwIKLRA2yqWdifj3owQZCL2sn6o08dBzZGQzA==}
- engines: {node: '>=18'}
- cpu: [x64]
- os: [netbsd]
-
- '@esbuild/openbsd-arm64@0.25.0':
- resolution: {integrity: sha512-21sUNbq2r84YE+SJDfaQRvdgznTD8Xc0oc3p3iW/a1EVWeNj/SdUCbm5U0itZPQYRuRTW20fPMWMpcrciH2EJw==}
- engines: {node: '>=18'}
- cpu: [arm64]
- os: [openbsd]
-
- '@esbuild/openbsd-x64@0.25.0':
- resolution: {integrity: sha512-2gwwriSMPcCFRlPlKx3zLQhfN/2WjJ2NSlg5TKLQOJdV0mSxIcYNTMhk3H3ulL/cak+Xj0lY1Ym9ysDV1igceg==}
- engines: {node: '>=18'}
- cpu: [x64]
- os: [openbsd]
-
- '@esbuild/sunos-x64@0.25.0':
- resolution: {integrity: sha512-bxI7ThgLzPrPz484/S9jLlvUAHYMzy6I0XiU1ZMeAEOBcS0VePBFxh1JjTQt3Xiat5b6Oh4x7UC7IwKQKIJRIg==}
- engines: {node: '>=18'}
- cpu: [x64]
- os: [sunos]
-
- '@esbuild/win32-arm64@0.25.0':
- resolution: {integrity: sha512-ZUAc2YK6JW89xTbXvftxdnYy3m4iHIkDtK3CLce8wg8M2L+YZhIvO1DKpxrd0Yr59AeNNkTiic9YLf6FTtXWMw==}
- engines: {node: '>=18'}
- cpu: [arm64]
- os: [win32]
-
- '@esbuild/win32-ia32@0.25.0':
- resolution: {integrity: sha512-eSNxISBu8XweVEWG31/JzjkIGbGIJN/TrRoiSVZwZ6pkC6VX4Im/WV2cz559/TXLcYbcrDN8JtKgd9DJVIo8GA==}
- engines: {node: '>=18'}
- cpu: [ia32]
- os: [win32]
-
- '@esbuild/win32-x64@0.25.0':
- resolution: {integrity: sha512-ZENoHJBxA20C2zFzh6AI4fT6RraMzjYw4xKWemRTRmRVtN9c5DcH9r/f2ihEkMjOW5eGgrwCslG/+Y/3bL+DHQ==}
- engines: {node: '>=18'}
- cpu: [x64]
- os: [win32]
-
- '@jridgewell/gen-mapping@0.3.3':
- resolution: {integrity: sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==}
- engines: {node: '>=6.0.0'}
-
- '@jridgewell/resolve-uri@3.1.0':
- resolution: {integrity: sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==}
- engines: {node: '>=6.0.0'}
-
- '@jridgewell/set-array@1.1.2':
- resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==}
- engines: {node: '>=6.0.0'}
-
- '@jridgewell/source-map@0.3.3':
- resolution: {integrity: sha512-b+fsZXeLYi9fEULmfBrhxn4IrPlINf8fiNarzTof004v3lFdntdwa9PF7vFJqm3mg7s+ScJMxXaE3Acp1irZcg==}
-
- '@jridgewell/sourcemap-codec@1.5.0':
- resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==}
-
- '@jridgewell/trace-mapping@0.3.25':
- resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==}
-
- '@noble/hashes@1.7.1':
- resolution: {integrity: sha512-B8XBPsn4vT/KJAGqDzbwztd+6Yte3P4V7iafm24bxgDe/mlRuK6xmWPuCNrKt2vDafZ8MfJLlchDG/vYafQEjQ==}
- engines: {node: ^14.21.3 || >=16}
-
- '@parcel/watcher-android-arm64@2.5.0':
- resolution: {integrity: sha512-qlX4eS28bUcQCdribHkg/herLe+0A9RyYC+mm2PXpncit8z5b3nSqGVzMNR3CmtAOgRutiZ02eIJJgP/b1iEFQ==}
- engines: {node: '>= 10.0.0'}
- cpu: [arm64]
- os: [android]
-
- '@parcel/watcher-darwin-arm64@2.5.0':
- resolution: {integrity: sha512-hyZ3TANnzGfLpRA2s/4U1kbw2ZI4qGxaRJbBH2DCSREFfubMswheh8TeiC1sGZ3z2jUf3s37P0BBlrD3sjVTUw==}
- engines: {node: '>= 10.0.0'}
- cpu: [arm64]
- os: [darwin]
-
- '@parcel/watcher-darwin-x64@2.5.0':
- resolution: {integrity: sha512-9rhlwd78saKf18fT869/poydQK8YqlU26TMiNg7AIu7eBp9adqbJZqmdFOsbZ5cnLp5XvRo9wcFmNHgHdWaGYA==}
- engines: {node: '>= 10.0.0'}
- cpu: [x64]
- os: [darwin]
-
- '@parcel/watcher-freebsd-x64@2.5.0':
- resolution: {integrity: sha512-syvfhZzyM8kErg3VF0xpV8dixJ+RzbUaaGaeb7uDuz0D3FK97/mZ5AJQ3XNnDsXX7KkFNtyQyFrXZzQIcN49Tw==}
- engines: {node: '>= 10.0.0'}
- cpu: [x64]
- os: [freebsd]
-
- '@parcel/watcher-linux-arm-glibc@2.5.0':
- resolution: {integrity: sha512-0VQY1K35DQET3dVYWpOaPFecqOT9dbuCfzjxoQyif1Wc574t3kOSkKevULddcR9znz1TcklCE7Ht6NIxjvTqLA==}
- engines: {node: '>= 10.0.0'}
- cpu: [arm]
- os: [linux]
-
- '@parcel/watcher-linux-arm-musl@2.5.0':
- resolution: {integrity: sha512-6uHywSIzz8+vi2lAzFeltnYbdHsDm3iIB57d4g5oaB9vKwjb6N6dRIgZMujw4nm5r6v9/BQH0noq6DzHrqr2pA==}
- engines: {node: '>= 10.0.0'}
- cpu: [arm]
- os: [linux]
-
- '@parcel/watcher-linux-arm64-glibc@2.5.0':
- resolution: {integrity: sha512-BfNjXwZKxBy4WibDb/LDCriWSKLz+jJRL3cM/DllnHH5QUyoiUNEp3GmL80ZqxeumoADfCCP19+qiYiC8gUBjA==}
- engines: {node: '>= 10.0.0'}
- cpu: [arm64]
- os: [linux]
-
- '@parcel/watcher-linux-arm64-musl@2.5.0':
- resolution: {integrity: sha512-S1qARKOphxfiBEkwLUbHjCY9BWPdWnW9j7f7Hb2jPplu8UZ3nes7zpPOW9bkLbHRvWM0WDTsjdOTUgW0xLBN1Q==}
- engines: {node: '>= 10.0.0'}
- cpu: [arm64]
- os: [linux]
-
- '@parcel/watcher-linux-x64-glibc@2.5.0':
- resolution: {integrity: sha512-d9AOkusyXARkFD66S6zlGXyzx5RvY+chTP9Jp0ypSTC9d4lzyRs9ovGf/80VCxjKddcUvnsGwCHWuF2EoPgWjw==}
- engines: {node: '>= 10.0.0'}
- cpu: [x64]
- os: [linux]
-
- '@parcel/watcher-linux-x64-musl@2.5.0':
- resolution: {integrity: sha512-iqOC+GoTDoFyk/VYSFHwjHhYrk8bljW6zOhPuhi5t9ulqiYq1togGJB5e3PwYVFFfeVgc6pbz3JdQyDoBszVaA==}
- engines: {node: '>= 10.0.0'}
- cpu: [x64]
- os: [linux]
-
- '@parcel/watcher-win32-arm64@2.5.0':
- resolution: {integrity: sha512-twtft1d+JRNkM5YbmexfcH/N4znDtjgysFaV9zvZmmJezQsKpkfLYJ+JFV3uygugK6AtIM2oADPkB2AdhBrNig==}
- engines: {node: '>= 10.0.0'}
- cpu: [arm64]
- os: [win32]
-
- '@parcel/watcher-win32-ia32@2.5.0':
- resolution: {integrity: sha512-+rgpsNRKwo8A53elqbbHXdOMtY/tAtTzManTWShB5Kk54N8Q9mzNWV7tV+IbGueCbcj826MfWGU3mprWtuf1TA==}
- engines: {node: '>= 10.0.0'}
- cpu: [ia32]
- os: [win32]
-
- '@parcel/watcher-win32-x64@2.5.0':
- resolution: {integrity: sha512-lPrxve92zEHdgeff3aiu4gDOIt4u7sJYha6wbdEZDCDUhtjTsOMiaJzG5lMY4GkWH8p0fMmO2Ppq5G5XXG+DQw==}
- engines: {node: '>= 10.0.0'}
- cpu: [x64]
- os: [win32]
-
- '@parcel/watcher@2.5.0':
- resolution: {integrity: sha512-i0GV1yJnm2n3Yq1qw6QrUrd/LI9bE8WEBOTtOkpCXHHdyN3TAGgqAK/DAT05z4fq2x04cARXt2pDmjWjL92iTQ==}
- engines: {node: '>= 10.0.0'}
-
- '@polka/url@1.0.0-next.23':
- resolution: {integrity: sha512-C16M+IYz0rgRhWZdCmK+h58JMv8vijAA61gmz2rspCSwKwzBebpdcsiUmwrtJRdphuY30i6BSLEOP8ppbNLyLg==}
-
- '@types/chrome@0.0.307':
- resolution: {integrity: sha512-IHqsTT+JT6vlFTcRWaih7saaEYhFCT13KRgRIRFKjXYOG3g0ummwXAGKtaxK9Zzz6yYsYvbEut91exTX0F/xSg==}
-
- '@types/diff-match-patch@1.0.36':
- resolution: {integrity: sha512-xFdR6tkm0MWvBfO8xXCSsinYxHcqkQUlcHeSpMC2ukzOb6lwQAfDmW+Qt0AvlGd8HpsS28qKsB+oPeJn9I39jg==}
-
- '@types/eslint-scope@3.7.7':
- resolution: {integrity: sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==}
-
- '@types/eslint@8.40.2':
- resolution: {integrity: sha512-PRVjQ4Eh9z9pmmtaq8nTjZjQwKFk7YIHIud3lRoKRBgUQjgjRmoGxxGEPXQkF+lH7QkHJRNr5F4aBgYCW0lqpQ==}
-
- '@types/estree@1.0.6':
- resolution: {integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==}
-
- '@types/filesystem@0.0.32':
- resolution: {integrity: sha512-Yuf4jR5YYMR2DVgwuCiP11s0xuVRyPKmz8vo6HBY3CGdeMj8af93CFZX+T82+VD1+UqHOxTq31lO7MI7lepBtQ==}
-
- '@types/filewriter@0.0.29':
- resolution: {integrity: sha512-BsPXH/irW0ht0Ji6iw/jJaK8Lj3FJemon2gvEqHKpCdDCeemHa+rI3WBGq5z7cDMZgoLjY40oninGxqk+8NzNQ==}
-
- '@types/firefox-webext-browser@120.0.4':
- resolution: {integrity: sha512-lBrpf08xhiZBigrtdQfUaqX1UauwZ+skbFiL8u2Tdra/rklkKadYmIzTwkNZSWtuZ7OKpFqbE2HHfDoFqvZf6w==}
-
- '@types/har-format@1.2.12':
- resolution: {integrity: sha512-P20p/YBrqUBmzD6KhIQ8EiY4/RRzlekL4eCvfQnulFPfjmiGxKIoyCeI7qam5I7oKH3P8EU4ptEi0EfyGoLysw==}
-
- '@types/json-schema@7.0.12':
- resolution: {integrity: sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==}
-
- '@types/node@20.6.0':
- resolution: {integrity: sha512-najjVq5KN2vsH2U/xyh2opaSEz6cZMR2SetLIlxlj08nOcmPOemJmUK2o4kUzfLqfrWE0PIrNeE16XhYDd3nqg==}
-
- '@types/webpack-bundle-analyzer@4.7.0':
- resolution: {integrity: sha512-c5i2ThslSNSG8W891BRvOd/RoCjI2zwph8maD22b1adtSns20j+0azDDMCK06DiVrzTgnwiDl5Ntmu1YRJw8Sg==}
-
- '@vue/compiler-core@3.5.13':
- resolution: {integrity: sha512-oOdAkwqUfW1WqpwSYJce06wvt6HljgY3fGeM9NcVA1HaYOij3mZG9Rkysn0OHuyUAGMbEbARIpsG+LPVlBJ5/Q==}
-
- '@vue/compiler-dom@3.5.13':
- resolution: {integrity: sha512-ZOJ46sMOKUjO3e94wPdCzQ6P1Lx/vhp2RSvfaab88Ajexs0AHeV0uasYhi99WPaogmBlRHNRuly8xV75cNTMDA==}
-
- '@vue/compiler-sfc@3.5.13':
- resolution: {integrity: sha512-6VdaljMpD82w6c2749Zhf5T9u5uLBWKnVue6XWxprDobftnletJ8+oel7sexFfM3qIxNmVE7LSFGTpv6obNyaQ==}
-
- '@vue/compiler-ssr@3.5.13':
- resolution: {integrity: sha512-wMH6vrYHxQl/IybKJagqbquvxpWCuVYpoUJfCqFZwa/JY1GdATAQ+TgVtgrwwMZ0D07QhA99rs/EAAWfvG6KpA==}
-
- '@vue/devtools-api@7.7.2':
- resolution: {integrity: sha512-1syn558KhyN+chO5SjlZIwJ8bV/bQ1nOVTG66t2RbG66ZGekyiYNmRO7X9BJCXQqPsFHlnksqvPhce2qpzxFnA==}
-
- '@vue/devtools-kit@7.7.2':
- resolution: {integrity: sha512-CY0I1JH3Z8PECbn6k3TqM1Bk9ASWxeMtTCvZr7vb+CHi+X/QwQm5F1/fPagraamKMAHVfuuCbdcnNg1A4CYVWQ==}
-
- '@vue/devtools-shared@7.7.2':
- resolution: {integrity: sha512-uBFxnp8gwW2vD6FrJB8JZLUzVb6PNRG0B0jBnHsOH8uKyva2qINY8PTF5Te4QlTbMDqU5K6qtJDr6cNsKWhbOA==}
-
- '@vue/reactivity@3.5.13':
- resolution: {integrity: sha512-NaCwtw8o48B9I6L1zl2p41OHo/2Z4wqYGGIK1Khu5T7yxrn+ATOixn/Udn2m+6kZKB/J7cuT9DbWWhRxqixACg==}
-
- '@vue/runtime-core@3.5.13':
- resolution: {integrity: sha512-Fj4YRQ3Az0WTZw1sFe+QDb0aXCerigEpw418pw1HBUKFtnQHWzwojaukAs2X/c9DQz4MQ4bsXTGlcpGxU/RCIw==}
-
- '@vue/runtime-dom@3.5.13':
- resolution: {integrity: sha512-dLaj94s93NYLqjLiyFzVs9X6dWhTdAlEAciC3Moq7gzAc13VJUdCnjjRurNM6uTLFATRHexHCTu/Xp3eW6yoog==}
-
- '@vue/server-renderer@3.5.13':
- resolution: {integrity: sha512-wAi4IRJV/2SAW3htkTlB+dHeRmpTiVIK1OGLWV1yeStVSebSQQOwGwIq0D3ZIoBj2C2qpgz5+vX9iEBkTdk5YA==}
- peerDependencies:
- vue: 3.5.13
-
- '@vue/shared@3.5.13':
- resolution: {integrity: sha512-/hnE/qP5ZoGpol0a5mDi45bOd7t3tjYJBjsgCsivow7D48cJeV5l05RD82lPqi7gRiphZM37rnhW1l6ZoCNNnQ==}
-
- '@webassemblyjs/ast@1.14.1':
- resolution: {integrity: sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==}
-
- '@webassemblyjs/floating-point-hex-parser@1.13.2':
- resolution: {integrity: sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA==}
-
- '@webassemblyjs/helper-api-error@1.13.2':
- resolution: {integrity: sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ==}
-
- '@webassemblyjs/helper-buffer@1.14.1':
- resolution: {integrity: sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA==}
-
- '@webassemblyjs/helper-numbers@1.13.2':
- resolution: {integrity: sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA==}
-
- '@webassemblyjs/helper-wasm-bytecode@1.13.2':
- resolution: {integrity: sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA==}
-
- '@webassemblyjs/helper-wasm-section@1.14.1':
- resolution: {integrity: sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw==}
-
- '@webassemblyjs/ieee754@1.13.2':
- resolution: {integrity: sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw==}
-
- '@webassemblyjs/leb128@1.13.2':
- resolution: {integrity: sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw==}
-
- '@webassemblyjs/utf8@1.13.2':
- resolution: {integrity: sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ==}
-
- '@webassemblyjs/wasm-edit@1.14.1':
- resolution: {integrity: sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ==}
-
- '@webassemblyjs/wasm-gen@1.14.1':
- resolution: {integrity: sha512-AmomSIjP8ZbfGQhumkNvgC33AY7qtMCXnN6bL2u2Js4gVCg8fp735aEiMSBbDR7UQIj90n4wKAFUSEd0QN2Ukg==}
-
- '@webassemblyjs/wasm-opt@1.14.1':
- resolution: {integrity: sha512-PTcKLUNvBqnY2U6E5bdOQcSM+oVP/PmrDY9NzowJjislEjwP/C4an2303MCVS2Mg9d3AJpIGdUFIQQWbPds0Sw==}
-
- '@webassemblyjs/wasm-parser@1.14.1':
- resolution: {integrity: sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ==}
-
- '@webassemblyjs/wast-printer@1.14.1':
- resolution: {integrity: sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw==}
-
- '@webpack-cli/configtest@3.0.1':
- resolution: {integrity: sha512-u8d0pJ5YFgneF/GuvEiDA61Tf1VDomHHYMjv/wc9XzYj7nopltpG96nXN5dJRstxZhcNpV1g+nT6CydO7pHbjA==}
- engines: {node: '>=18.12.0'}
- peerDependencies:
- webpack: ^5.82.0
- webpack-cli: 6.x.x
-
- '@webpack-cli/info@3.0.1':
- resolution: {integrity: sha512-coEmDzc2u/ffMvuW9aCjoRzNSPDl/XLuhPdlFRpT9tZHmJ/039az33CE7uH+8s0uL1j5ZNtfdv0HkfaKRBGJsQ==}
- engines: {node: '>=18.12.0'}
- peerDependencies:
- webpack: ^5.82.0
- webpack-cli: 6.x.x
-
- '@webpack-cli/serve@3.0.1':
- resolution: {integrity: sha512-sbgw03xQaCLiT6gcY/6u3qBDn01CWw/nbaXl3gTdTFuJJ75Gffv3E3DBpgvY2fkkrdS1fpjaXNOmJlnbtKauKg==}
- engines: {node: '>=18.12.0'}
- peerDependencies:
- webpack: ^5.82.0
- webpack-cli: 6.x.x
- webpack-dev-server: '*'
- peerDependenciesMeta:
- webpack-dev-server:
- optional: true
-
- '@xtuc/ieee754@1.2.0':
- resolution: {integrity: sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==}
-
- '@xtuc/long@4.2.2':
- resolution: {integrity: sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==}
-
- acorn-walk@8.2.0:
- resolution: {integrity: sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==}
- engines: {node: '>=0.4.0'}
-
- acorn@8.10.0:
- resolution: {integrity: sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==}
- engines: {node: '>=0.4.0'}
- hasBin: true
-
- acorn@8.14.0:
- resolution: {integrity: sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==}
- engines: {node: '>=0.4.0'}
- hasBin: true
-
- ajv-formats@2.1.1:
- resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==}
- peerDependencies:
- ajv: ^8.0.0
- peerDependenciesMeta:
- ajv:
- optional: true
-
- ajv-keywords@5.1.0:
- resolution: {integrity: sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==}
- peerDependencies:
- ajv: ^8.8.2
-
- ajv@8.17.1:
- resolution: {integrity: sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==}
-
- ansi-styles@4.3.0:
- resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
- engines: {node: '>=8'}
-
- big.js@5.2.2:
- resolution: {integrity: sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==}
-
- birpc@0.2.19:
- resolution: {integrity: sha512-5WeXXAvTmitV1RqJFppT5QtUiz2p1mRSYU000Jkft5ZUCLJIk4uQriYNO50HknxKwM6jd8utNc66K1qGIwwWBQ==}
-
- braces@3.0.3:
- resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==}
- engines: {node: '>=8'}
-
- browserslist@4.24.2:
- resolution: {integrity: sha512-ZIc+Q62revdMcqC6aChtW4jz3My3klmCO1fEmINZY/8J3EpBg5/A/D0AKmBveUh6pgoeycoMkVMko84tuYS+Gg==}
- engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
- hasBin: true
-
- buffer-from@1.1.2:
- resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==}
-
- caniuse-lite@1.0.30001679:
- resolution: {integrity: sha512-j2YqID/YwpLnKzCmBOS4tlZdWprXm3ZmQLBH9ZBXFOhoxLA46fwyBvx6toCBWBmnuwUY/qB3kEU6gFx8qgCroA==}
-
- chalk@4.1.2:
- resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==}
- engines: {node: '>=10'}
-
- chalk@5.3.0:
- resolution: {integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==}
- engines: {node: ^12.17.0 || ^14.13 || >=16.0.0}
-
- chokidar@4.0.1:
- resolution: {integrity: sha512-n8enUVCED/KVRQlab1hr3MVpcVMvxtZjmEa956u+4YijlmQED223XMSYj2tLuKvr4jcCTzNNMpQDUer72MMmzA==}
- engines: {node: '>= 14.16.0'}
-
- chrome-trace-event@1.0.3:
- resolution: {integrity: sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==}
- engines: {node: '>=6.0'}
-
- clone-deep@4.0.1:
- resolution: {integrity: sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==}
- engines: {node: '>=6'}
-
- color-convert@2.0.1:
- resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
- engines: {node: '>=7.0.0'}
-
- color-name@1.1.4:
- resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
-
- colorette@2.0.20:
- resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==}
-
- commander@12.1.0:
- resolution: {integrity: sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==}
- engines: {node: '>=18'}
-
- commander@2.20.3:
- resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==}
-
- commander@7.2.0:
- resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==}
- engines: {node: '>= 10'}
-
- copy-anything@3.0.5:
- resolution: {integrity: sha512-yCEafptTtb4bk7GLEQoM8KVJpxAfdBJYaXyzQEgQQQgYrZiDp8SJmGKlYza6CYjEDNstAdNdKA3UuoULlEbS6w==}
- engines: {node: '>=12.13'}
-
- cross-spawn@7.0.3:
- resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==}
- engines: {node: '>= 8'}
-
- css-loader@7.1.2:
- resolution: {integrity: sha512-6WvYYn7l/XEGN8Xu2vWFt9nVzrCn39vKyTEFf/ExEyoksJjjSZV/0/35XPlMbpnr6VGhZIUg5yJrL8tGfes/FA==}
- engines: {node: '>= 18.12.0'}
- peerDependencies:
- '@rspack/core': 0.x || 1.x
- webpack: ^5.27.0
- peerDependenciesMeta:
- '@rspack/core':
- optional: true
- webpack:
- optional: true
-
- cssesc@3.0.0:
- resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==}
- engines: {node: '>=4'}
- hasBin: true
-
- csstype@3.1.3:
- resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==}
-
- debounce@1.2.1:
- resolution: {integrity: sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==}
-
- detect-libc@1.0.3:
- resolution: {integrity: sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==}
- engines: {node: '>=0.10'}
- hasBin: true
-
- diff-match-patch@1.0.5:
- resolution: {integrity: sha512-IayShXAgj/QMXgB0IWmKx+rOPuGMhqm5w6jvFxmVenXKIzRqTAAsbBPT3kWQeGANj3jGgvcvv4yK6SxqYmikgw==}
-
- duplexer@0.1.2:
- resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==}
-
- electron-to-chromium@1.5.55:
- resolution: {integrity: sha512-6maZ2ASDOTBtjt9FhqYPRnbvKU5tjG0IN9SztUOWYw2AzNDNpKJYLJmlK0/En4Hs/aiWnB+JZ+gW19PIGszgKg==}
-
- emojis-list@3.0.0:
- resolution: {integrity: sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==}
- engines: {node: '>= 4'}
-
- enhanced-resolve@5.17.1:
- resolution: {integrity: sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==}
- engines: {node: '>=10.13.0'}
-
- entities@4.5.0:
- resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==}
- engines: {node: '>=0.12'}
-
- envinfo@7.14.0:
- resolution: {integrity: sha512-CO40UI41xDQzhLB1hWyqUKgFhs250pNcGbyGKe1l/e4FSaI/+YE4IMG76GDt0In67WLPACIITC+sOi08x4wIvg==}
- engines: {node: '>=4'}
- hasBin: true
-
- es-module-lexer@1.3.0:
- resolution: {integrity: sha512-vZK7T0N2CBmBOixhmjdqx2gWVbFZ4DXZ/NyRMZVlJXPa7CyFS+/a4QQsDGDQy9ZfEzxFuNEsMLeQJnKP2p5/JA==}
-
- esbuild-loader@4.3.0:
- resolution: {integrity: sha512-D7HeJNdkDKKMarPQO/3dlJT6RwN2YJO7ENU6RPlpOz5YxSHnUNi2yvW41Bckvi1EVwctIaLzlb0ni5ag2GINYA==}
- peerDependencies:
- webpack: ^4.40.0 || ^5.0.0
-
- esbuild@0.25.0:
- resolution: {integrity: sha512-BXq5mqc8ltbaN34cDqWuYKyNhX8D/Z0J1xdtdQ8UcIIIyJyz+ZMKUt58tF3SrZ85jcfN/PZYhjR5uDQAYNVbuw==}
- engines: {node: '>=18'}
- hasBin: true
-
- escalade@3.2.0:
- resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==}
- engines: {node: '>=6'}
-
- escape-string-regexp@4.0.0:
- resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==}
- engines: {node: '>=10'}
-
- eslint-scope@5.1.1:
- resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==}
- engines: {node: '>=8.0.0'}
-
- esrecurse@4.3.0:
- resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==}
- engines: {node: '>=4.0'}
-
- estraverse@4.3.0:
- resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==}
- engines: {node: '>=4.0'}
-
- estraverse@5.3.0:
- resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==}
- engines: {node: '>=4.0'}
-
- estree-walker@2.0.2:
- resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==}
-
- events@3.3.0:
- resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==}
- engines: {node: '>=0.8.x'}
-
- fast-deep-equal@3.1.3:
- resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==}
-
- fast-uri@3.0.6:
- resolution: {integrity: sha512-Atfo14OibSv5wAp4VWNsFYE1AchQRTv9cBGWET4pZWHzYshFSS9NQI6I57rdKn9croWVMbYFbLhJ+yJvmZIIHw==}
-
- fastest-levenshtein@1.0.16:
- resolution: {integrity: sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==}
- engines: {node: '>= 4.9.1'}
-
- fill-range@7.1.1:
- resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==}
- engines: {node: '>=8'}
-
- find-up@4.1.0:
- resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==}
- engines: {node: '>=8'}
-
- flat@5.0.2:
- resolution: {integrity: sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==}
- hasBin: true
-
- fsevents@2.3.3:
- resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==}
- engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
- os: [darwin]
-
- function-bind@1.1.1:
- resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==}
-
- get-tsconfig@4.8.1:
- resolution: {integrity: sha512-k9PN+cFBmaLWtVz29SkUoqU5O0slLuHJXt/2P+tMVFT+phsSGXGkp9t3rQIqdz0e+06EHNGs3oM6ZX1s2zHxRg==}
-
- glob-to-regexp@0.4.1:
- resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==}
-
- graceful-fs@4.2.11:
- resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==}
-
- gzip-size@6.0.0:
- resolution: {integrity: sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==}
- engines: {node: '>=10'}
-
- has-flag@4.0.0:
- resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==}
- engines: {node: '>=8'}
-
- has@1.0.3:
- resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==}
- engines: {node: '>= 0.4.0'}
-
- hash-sum@2.0.0:
- resolution: {integrity: sha512-WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg==}
-
- hookable@5.5.3:
- resolution: {integrity: sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==}
-
- html-escaper@2.0.2:
- resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==}
-
- icss-utils@5.1.0:
- resolution: {integrity: sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==}
- engines: {node: ^10 || ^12 || >= 14}
- peerDependencies:
- postcss: ^8.1.0
-
- immutable@5.0.3:
- resolution: {integrity: sha512-P8IdPQHq3lA1xVeBRi5VPqUm5HDgKnx0Ru51wZz5mjxHr5n3RWhjIpOFU7ybkUxfB+5IToy+OLaHYDBIWsv+uw==}
-
- import-local@3.1.0:
- resolution: {integrity: sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==}
- engines: {node: '>=8'}
- hasBin: true
-
- interpret@3.1.1:
- resolution: {integrity: sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ==}
- engines: {node: '>=10.13.0'}
-
- is-core-module@2.12.1:
- resolution: {integrity: sha512-Q4ZuBAe2FUsKtyQJoQHlvP8OvBERxO3jEmy1I7hcRXcJBGGHFh/aJBswbXuS9sgrDH2QUO8ilkwNPHvHMd8clg==}
-
- is-extglob@2.1.1:
- resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
- engines: {node: '>=0.10.0'}
-
- is-glob@4.0.3:
- resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
- engines: {node: '>=0.10.0'}
-
- is-number@7.0.0:
- resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
- engines: {node: '>=0.12.0'}
-
- is-plain-object@2.0.4:
- resolution: {integrity: sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==}
- engines: {node: '>=0.10.0'}
-
- is-what@4.1.16:
- resolution: {integrity: sha512-ZhMwEosbFJkA0YhFnNDgTM4ZxDRsS6HqTo7qsZM08fehyRYIYa0yHu5R6mgo1n/8MgaPBXiPimPD77baVFYg+A==}
- engines: {node: '>=12.13'}
-
- isexe@2.0.0:
- resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
-
- isobject@3.0.1:
- resolution: {integrity: sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==}
- engines: {node: '>=0.10.0'}
-
- jest-worker@27.5.1:
- resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==}
- engines: {node: '>= 10.13.0'}
-
- json-parse-even-better-errors@2.3.1:
- resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==}
-
- json-schema-traverse@1.0.0:
- resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==}
-
- json5@2.2.3:
- resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==}
- engines: {node: '>=6'}
- hasBin: true
-
- jsondiffpatch@0.6.0:
- resolution: {integrity: sha512-3QItJOXp2AP1uv7waBkao5nCvhEv+QmJAd38Ybq7wNI74Q+BBmnLn4EDKz6yI9xGAIQoUF87qHt+kc1IVxB4zQ==}
- engines: {node: ^18.0.0 || >=20.0.0}
- hasBin: true
-
- kind-of@6.0.3:
- resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==}
- engines: {node: '>=0.10.0'}
-
- loader-runner@4.3.0:
- resolution: {integrity: sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==}
- engines: {node: '>=6.11.5'}
-
- loader-utils@2.0.4:
- resolution: {integrity: sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==}
- engines: {node: '>=8.9.0'}
-
- locate-path@5.0.0:
- resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==}
- engines: {node: '>=8'}
-
- lru-cache@6.0.0:
- resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==}
- engines: {node: '>=10'}
-
- magic-string@0.30.12:
- resolution: {integrity: sha512-Ea8I3sQMVXr8JhN4z+H/d8zwo+tYDgHE9+5G4Wnrwhs0gaK9fXTKx0Tw5Xwsd/bCPTTZNRAdpyzvoeORe9LYpw==}
-
- merge-stream@2.0.0:
- resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==}
-
- micromatch@4.0.8:
- resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==}
- engines: {node: '>=8.6'}
-
- mime-db@1.52.0:
- resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==}
- engines: {node: '>= 0.6'}
-
- mime-types@2.1.35:
- resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==}
- engines: {node: '>= 0.6'}
-
- mitt@3.0.1:
- resolution: {integrity: sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==}
-
- mrmime@1.0.1:
- resolution: {integrity: sha512-hzzEagAgDyoU1Q6yg5uI+AorQgdvMCur3FcKf7NhMKWsaYg+RnbTyHRa/9IlLF9rf455MOCtcqqrQQ83pPP7Uw==}
- engines: {node: '>=10'}
-
- nanoid@3.3.7:
- resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==}
- engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
- hasBin: true
-
- nanoid@3.3.8:
- resolution: {integrity: sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==}
- engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
- hasBin: true
-
- neo-async@2.6.2:
- resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==}
-
- node-addon-api@7.1.1:
- resolution: {integrity: sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==}
-
- node-releases@2.0.18:
- resolution: {integrity: sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==}
-
- opener@1.5.2:
- resolution: {integrity: sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==}
- hasBin: true
-
- p-limit@2.3.0:
- resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==}
- engines: {node: '>=6'}
-
- p-locate@4.1.0:
- resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==}
- engines: {node: '>=8'}
-
- p-try@2.2.0:
- resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==}
- engines: {node: '>=6'}
-
- path-exists@4.0.0:
- resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==}
- engines: {node: '>=8'}
-
- path-key@3.1.1:
- resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==}
- engines: {node: '>=8'}
-
- path-parse@1.0.7:
- resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
-
- perfect-debounce@1.0.0:
- resolution: {integrity: sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==}
-
- picocolors@1.0.0:
- resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==}
-
- picocolors@1.1.1:
- resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==}
-
- picomatch@2.3.1:
- resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
- engines: {node: '>=8.6'}
-
- pinia@3.0.1:
- resolution: {integrity: sha512-WXglsDzztOTH6IfcJ99ltYZin2mY8XZCXujkYWVIJlBjqsP6ST7zw+Aarh63E1cDVYeyUcPCxPHzJpEOmzB6Wg==}
- peerDependencies:
- typescript: '>=4.4.4'
- vue: ^2.7.0 || ^3.5.11
- peerDependenciesMeta:
- typescript:
- optional: true
-
- pkg-dir@4.2.0:
- resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==}
- engines: {node: '>=8'}
-
- postcss-modules-extract-imports@3.1.0:
- resolution: {integrity: sha512-k3kNe0aNFQDAZGbin48pL2VNidTF0w4/eASDsxlyspobzU3wZQLOGj7L9gfRe0Jo9/4uud09DsjFNH7winGv8Q==}
- engines: {node: ^10 || ^12 || >= 14}
- peerDependencies:
- postcss: ^8.1.0
-
- postcss-modules-local-by-default@4.0.5:
- resolution: {integrity: sha512-6MieY7sIfTK0hYfafw1OMEG+2bg8Q1ocHCpoWLqOKj3JXlKu4G7btkmM/B7lFubYkYWmRSPLZi5chid63ZaZYw==}
- engines: {node: ^10 || ^12 || >= 14}
- peerDependencies:
- postcss: ^8.1.0
-
- postcss-modules-scope@3.2.0:
- resolution: {integrity: sha512-oq+g1ssrsZOsx9M96c5w8laRmvEu9C3adDSjI8oTcbfkrTE8hx/zfyobUoWIxaKPO8bt6S62kxpw5GqypEw1QQ==}
- engines: {node: ^10 || ^12 || >= 14}
- peerDependencies:
- postcss: ^8.1.0
-
- postcss-modules-values@4.0.0:
- resolution: {integrity: sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==}
- engines: {node: ^10 || ^12 || >= 14}
- peerDependencies:
- postcss: ^8.1.0
-
- postcss-selector-parser@6.0.13:
- resolution: {integrity: sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==}
- engines: {node: '>=4'}
-
- postcss-value-parser@4.2.0:
- resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==}
-
- postcss@8.4.38:
- resolution: {integrity: sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==}
- engines: {node: ^10 || ^12 || >=14}
-
- postcss@8.5.3:
- resolution: {integrity: sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A==}
- engines: {node: ^10 || ^12 || >=14}
-
- prettier@3.5.3:
- resolution: {integrity: sha512-QQtaxnoDJeAkDvDKWCLiwIXkTgRhwYDEQCghU9Z6q03iyek/rxRh/2lC3HB7P8sWT2xC/y5JDctPLBIGzHKbhw==}
- engines: {node: '>=14'}
- hasBin: true
-
- randombytes@2.1.0:
- resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==}
-
- readdirp@4.0.2:
- resolution: {integrity: sha512-yDMz9g+VaZkqBYS/ozoBJwaBhTbZo3UNYQHNRw1D3UFQB8oHB4uS/tAODO+ZLjGWmUbKnIlOWO+aaIiAxrUWHA==}
- engines: {node: '>= 14.16.0'}
-
- rechoir@0.8.0:
- resolution: {integrity: sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ==}
- engines: {node: '>= 10.13.0'}
-
- require-from-string@2.0.2:
- resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==}
- engines: {node: '>=0.10.0'}
-
- resolve-cwd@3.0.0:
- resolution: {integrity: sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==}
- engines: {node: '>=8'}
-
- resolve-from@5.0.0:
- resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==}
- engines: {node: '>=8'}
-
- resolve-pkg-maps@1.0.0:
- resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==}
-
- resolve@1.22.2:
- resolution: {integrity: sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==}
- hasBin: true
-
- rfdc@1.4.1:
- resolution: {integrity: sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==}
-
- safe-buffer@5.2.1:
- resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==}
-
- sass-loader@16.0.5:
- resolution: {integrity: sha512-oL+CMBXrj6BZ/zOq4os+UECPL+bWqt6OAC6DWS8Ln8GZRcMDjlJ4JC3FBDuHJdYaFWIdKNIBYmtZtK2MaMkNIw==}
- engines: {node: '>= 18.12.0'}
- peerDependencies:
- '@rspack/core': 0.x || 1.x
- node-sass: ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0 || ^9.0.0
- sass: ^1.3.0
- sass-embedded: '*'
- webpack: ^5.0.0
- peerDependenciesMeta:
- '@rspack/core':
- optional: true
- node-sass:
- optional: true
- sass:
- optional: true
- sass-embedded:
- optional: true
- webpack:
- optional: true
-
- sass@1.85.1:
- resolution: {integrity: sha512-Uk8WpxM5v+0cMR0XjX9KfRIacmSG86RH4DCCZjLU2rFh5tyutt9siAXJ7G+YfxQ99Q6wrRMbMlVl6KqUms71ag==}
- engines: {node: '>=14.0.0'}
- hasBin: true
-
- schema-utils@4.3.0:
- resolution: {integrity: sha512-Gf9qqc58SpCA/xdziiHz35F4GNIWYWZrEshUc/G/r5BnLph6xpKuLeoJoQuj5WfBIx/eQLf+hmVPYHaxJu7V2g==}
- engines: {node: '>= 10.13.0'}
-
- semver@7.5.4:
- resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==}
- engines: {node: '>=10'}
- hasBin: true
-
- serialize-javascript@6.0.2:
- resolution: {integrity: sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==}
-
- shallow-clone@3.0.1:
- resolution: {integrity: sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==}
- engines: {node: '>=8'}
-
- shebang-command@2.0.0:
- resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==}
- engines: {node: '>=8'}
-
- shebang-regex@3.0.0:
- resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}
- engines: {node: '>=8'}
-
- sirv@2.0.3:
- resolution: {integrity: sha512-O9jm9BsID1P+0HOi81VpXPoDxYP374pkOLzACAoyUQ/3OUVndNpsz6wMnY2z+yOxzbllCKZrM+9QrWsv4THnyA==}
- engines: {node: '>= 10'}
-
- source-list-map@2.0.1:
- resolution: {integrity: sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==}
-
- source-map-js@1.2.0:
- resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==}
- engines: {node: '>=0.10.0'}
-
- source-map-js@1.2.1:
- resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==}
- engines: {node: '>=0.10.0'}
-
- source-map-support@0.5.21:
- resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==}
-
- source-map@0.6.1:
- resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==}
- engines: {node: '>=0.10.0'}
-
- speakingurl@14.0.1:
- resolution: {integrity: sha512-1POYv7uv2gXoyGFpBCmpDVSNV74IfsWlDW216UPjbWufNf+bSU6GdbDsxdcxtfwb4xlI3yxzOTKClUosxARYrQ==}
- engines: {node: '>=0.10.0'}
-
- style-loader@4.0.0:
- resolution: {integrity: sha512-1V4WqhhZZgjVAVJyt7TdDPZoPBPNHbekX4fWnCJL1yQukhCeZhJySUL+gL9y6sNdN95uEOS83Y55SqHcP7MzLA==}
- engines: {node: '>= 18.12.0'}
- peerDependencies:
- webpack: ^5.27.0
-
- superjson@2.2.2:
- resolution: {integrity: sha512-5JRxVqC8I8NuOUjzBbvVJAKNM8qoVuH0O77h4WInc/qC2q5IreqKxYwgkga3PfA22OayK2ikceb/B26dztPl+Q==}
- engines: {node: '>=16'}
-
- supports-color@7.2.0:
- resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==}
- engines: {node: '>=8'}
-
- supports-color@8.1.1:
- resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==}
- engines: {node: '>=10'}
-
- supports-preserve-symlinks-flag@1.0.0:
- resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
- engines: {node: '>= 0.4'}
-
- tapable@2.2.1:
- resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==}
- engines: {node: '>=6'}
-
- terser-webpack-plugin@5.3.11:
- resolution: {integrity: sha512-RVCsMfuD0+cTt3EwX8hSl2Ks56EbFHWmhluwcqoPKtBnfjiT6olaq7PRIRfhyU8nnC2MrnDrBLfrD/RGE+cVXQ==}
- engines: {node: '>= 10.13.0'}
- peerDependencies:
- '@swc/core': '*'
- esbuild: '*'
- uglify-js: '*'
- webpack: ^5.1.0
- peerDependenciesMeta:
- '@swc/core':
- optional: true
- esbuild:
- optional: true
- uglify-js:
- optional: true
-
- terser@5.39.0:
- resolution: {integrity: sha512-LBAhFyLho16harJoWMg/nZsQYgTrg5jXOn2nCYjRUcZZEdE3qa2zb8QEDRUGVZBW4rlazf2fxkg8tztybTaqWw==}
- engines: {node: '>=10'}
- hasBin: true
-
- to-regex-range@5.0.1:
- resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
- engines: {node: '>=8.0'}
-
- totalist@3.0.1:
- resolution: {integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==}
- engines: {node: '>=6'}
-
- tsx@4.19.3:
- resolution: {integrity: sha512-4H8vUNGNjQ4V2EOoGw005+c+dGuPSnhpPBPHBtsZdGZBk/iJb4kguGlPWaZTZ3q5nMtFOEsY0nRDlh9PJyd6SQ==}
- engines: {node: '>=18.0.0'}
- hasBin: true
-
- typescript@5.8.2:
- resolution: {integrity: sha512-aJn6wq13/afZp/jT9QZmwEjDqqvSGp1VT5GVg+f/t6/oVyrgXM6BY1h9BRh/O5p3PlUPAe+WuiEZOmb/49RqoQ==}
- engines: {node: '>=14.17'}
- hasBin: true
-
- update-browserslist-db@1.1.1:
- resolution: {integrity: sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A==}
- hasBin: true
- peerDependencies:
- browserslist: '>= 4.21.0'
-
- util-deprecate@1.0.2:
- resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
-
- vue-loader@17.4.2:
- resolution: {integrity: sha512-yTKOA4R/VN4jqjw4y5HrynFL8AK0Z3/Jt7eOJXEitsm0GMRHDBjCfCiuTiLP7OESvsZYo2pATCWhDqxC5ZrM6w==}
- peerDependencies:
- '@vue/compiler-sfc': '*'
- vue: '*'
- webpack: ^4.1.0 || ^5.0.0-0
- peerDependenciesMeta:
- '@vue/compiler-sfc':
- optional: true
- vue:
- optional: true
-
- vue@3.5.13:
- resolution: {integrity: sha512-wmeiSMxkZCSc+PM2w2VRsOYAZC8GdipNFRTsLSfodVqI9mbejKeXEGr8SckuLnrQPGe3oJN5c3K0vpoU9q/wCQ==}
- peerDependencies:
- typescript: '*'
- peerDependenciesMeta:
- typescript:
- optional: true
-
- watchpack@2.4.0:
- resolution: {integrity: sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==}
- engines: {node: '>=10.13.0'}
-
- watchpack@2.4.1:
- resolution: {integrity: sha512-8wrBCMtVhqcXP2Sup1ctSkga6uc2Bx0IIvKyT7yTFier5AXHooSI+QyQQAtTb7+E0IUCCKyTFmXqdqgum2XWGg==}
- engines: {node: '>=10.13.0'}
-
- webpack-bundle-analyzer@4.10.2:
- resolution: {integrity: sha512-vJptkMm9pk5si4Bv922ZbKLV8UTT4zib4FPgXMhgzUny0bfDDkLXAVQs3ly3fS4/TN9ROFtb0NFrm04UXFE/Vw==}
- engines: {node: '>= 10.13.0'}
- hasBin: true
-
- webpack-cli@6.0.1:
- resolution: {integrity: sha512-MfwFQ6SfwinsUVi0rNJm7rHZ31GyTcpVE5pgVA3hwFRb7COD4TzjUUwhGWKfO50+xdc2MQPuEBBJoqIMGt3JDw==}
- engines: {node: '>=18.12.0'}
- hasBin: true
- peerDependencies:
- webpack: ^5.82.0
- webpack-bundle-analyzer: '*'
- webpack-dev-server: '*'
- peerDependenciesMeta:
- webpack-bundle-analyzer:
- optional: true
- webpack-dev-server:
- optional: true
-
- webpack-merge@6.0.1:
- resolution: {integrity: sha512-hXXvrjtx2PLYx4qruKl+kyRSLc52V+cCvMxRjmKwoA+CBbbF5GfIBtR6kCvl0fYGqTUPKB+1ktVmTHqMOzgCBg==}
- engines: {node: '>=18.0.0'}
-
- webpack-sources@1.4.3:
- resolution: {integrity: sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==}
-
- webpack-sources@3.2.3:
- resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==}
- engines: {node: '>=10.13.0'}
-
- webpack@5.98.0:
- resolution: {integrity: sha512-UFynvx+gM44Gv9qFgj0acCQK2VE1CtdfwFdimkapco3hlPCJ/zeq73n2yVKimVbtm+TnApIugGhLJnkU6gjYXA==}
- engines: {node: '>=10.13.0'}
- hasBin: true
- peerDependencies:
- webpack-cli: '*'
- peerDependenciesMeta:
- webpack-cli:
- optional: true
-
- which@2.0.2:
- resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==}
- engines: {node: '>= 8'}
- hasBin: true
-
- wildcard@2.0.1:
- resolution: {integrity: sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==}
-
- ws@7.5.9:
- resolution: {integrity: sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==}
- engines: {node: '>=8.3.0'}
- peerDependencies:
- bufferutil: ^4.0.1
- utf-8-validate: ^5.0.2
- peerDependenciesMeta:
- bufferutil:
- optional: true
- utf-8-validate:
- optional: true
-
- yallist@4.0.0:
- resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==}
-
-snapshots:
-
- '@babel/helper-string-parser@7.25.9': {}
-
- '@babel/helper-validator-identifier@7.25.9': {}
-
- '@babel/parser@7.26.2':
- dependencies:
- '@babel/types': 7.26.0
-
- '@babel/types@7.26.0':
- dependencies:
- '@babel/helper-string-parser': 7.25.9
- '@babel/helper-validator-identifier': 7.25.9
-
- '@discoveryjs/json-ext@0.5.7': {}
-
- '@discoveryjs/json-ext@0.6.3': {}
-
- '@esbuild/aix-ppc64@0.25.0':
- optional: true
-
- '@esbuild/android-arm64@0.25.0':
- optional: true
-
- '@esbuild/android-arm@0.25.0':
- optional: true
-
- '@esbuild/android-x64@0.25.0':
- optional: true
-
- '@esbuild/darwin-arm64@0.25.0':
- optional: true
-
- '@esbuild/darwin-x64@0.25.0':
- optional: true
-
- '@esbuild/freebsd-arm64@0.25.0':
- optional: true
-
- '@esbuild/freebsd-x64@0.25.0':
- optional: true
-
- '@esbuild/linux-arm64@0.25.0':
- optional: true
-
- '@esbuild/linux-arm@0.25.0':
- optional: true
-
- '@esbuild/linux-ia32@0.25.0':
- optional: true
-
- '@esbuild/linux-loong64@0.25.0':
- optional: true
-
- '@esbuild/linux-mips64el@0.25.0':
- optional: true
-
- '@esbuild/linux-ppc64@0.25.0':
- optional: true
-
- '@esbuild/linux-riscv64@0.25.0':
- optional: true
-
- '@esbuild/linux-s390x@0.25.0':
- optional: true
-
- '@esbuild/linux-x64@0.25.0':
- optional: true
-
- '@esbuild/netbsd-arm64@0.25.0':
- optional: true
-
- '@esbuild/netbsd-x64@0.25.0':
- optional: true
-
- '@esbuild/openbsd-arm64@0.25.0':
- optional: true
-
- '@esbuild/openbsd-x64@0.25.0':
- optional: true
-
- '@esbuild/sunos-x64@0.25.0':
- optional: true
-
- '@esbuild/win32-arm64@0.25.0':
- optional: true
-
- '@esbuild/win32-ia32@0.25.0':
- optional: true
-
- '@esbuild/win32-x64@0.25.0':
- optional: true
-
- '@jridgewell/gen-mapping@0.3.3':
- dependencies:
- '@jridgewell/set-array': 1.1.2
- '@jridgewell/sourcemap-codec': 1.5.0
- '@jridgewell/trace-mapping': 0.3.25
-
- '@jridgewell/resolve-uri@3.1.0': {}
-
- '@jridgewell/set-array@1.1.2': {}
-
- '@jridgewell/source-map@0.3.3':
- dependencies:
- '@jridgewell/gen-mapping': 0.3.3
- '@jridgewell/trace-mapping': 0.3.25
-
- '@jridgewell/sourcemap-codec@1.5.0': {}
-
- '@jridgewell/trace-mapping@0.3.25':
- dependencies:
- '@jridgewell/resolve-uri': 3.1.0
- '@jridgewell/sourcemap-codec': 1.5.0
-
- '@noble/hashes@1.7.1': {}
-
- '@parcel/watcher-android-arm64@2.5.0':
- optional: true
-
- '@parcel/watcher-darwin-arm64@2.5.0':
- optional: true
-
- '@parcel/watcher-darwin-x64@2.5.0':
- optional: true
-
- '@parcel/watcher-freebsd-x64@2.5.0':
- optional: true
-
- '@parcel/watcher-linux-arm-glibc@2.5.0':
- optional: true
-
- '@parcel/watcher-linux-arm-musl@2.5.0':
- optional: true
-
- '@parcel/watcher-linux-arm64-glibc@2.5.0':
- optional: true
-
- '@parcel/watcher-linux-arm64-musl@2.5.0':
- optional: true
-
- '@parcel/watcher-linux-x64-glibc@2.5.0':
- optional: true
-
- '@parcel/watcher-linux-x64-musl@2.5.0':
- optional: true
-
- '@parcel/watcher-win32-arm64@2.5.0':
- optional: true
-
- '@parcel/watcher-win32-ia32@2.5.0':
- optional: true
-
- '@parcel/watcher-win32-x64@2.5.0':
- optional: true
-
- '@parcel/watcher@2.5.0':
- dependencies:
- detect-libc: 1.0.3
- is-glob: 4.0.3
- micromatch: 4.0.8
- node-addon-api: 7.1.1
- optionalDependencies:
- '@parcel/watcher-android-arm64': 2.5.0
- '@parcel/watcher-darwin-arm64': 2.5.0
- '@parcel/watcher-darwin-x64': 2.5.0
- '@parcel/watcher-freebsd-x64': 2.5.0
- '@parcel/watcher-linux-arm-glibc': 2.5.0
- '@parcel/watcher-linux-arm-musl': 2.5.0
- '@parcel/watcher-linux-arm64-glibc': 2.5.0
- '@parcel/watcher-linux-arm64-musl': 2.5.0
- '@parcel/watcher-linux-x64-glibc': 2.5.0
- '@parcel/watcher-linux-x64-musl': 2.5.0
- '@parcel/watcher-win32-arm64': 2.5.0
- '@parcel/watcher-win32-ia32': 2.5.0
- '@parcel/watcher-win32-x64': 2.5.0
- optional: true
-
- '@polka/url@1.0.0-next.23': {}
-
- '@types/chrome@0.0.307':
- dependencies:
- '@types/filesystem': 0.0.32
- '@types/har-format': 1.2.12
-
- '@types/diff-match-patch@1.0.36': {}
-
- '@types/eslint-scope@3.7.7':
- dependencies:
- '@types/eslint': 8.40.2
- '@types/estree': 1.0.6
-
- '@types/eslint@8.40.2':
- dependencies:
- '@types/estree': 1.0.6
- '@types/json-schema': 7.0.12
-
- '@types/estree@1.0.6': {}
-
- '@types/filesystem@0.0.32':
- dependencies:
- '@types/filewriter': 0.0.29
-
- '@types/filewriter@0.0.29': {}
-
- '@types/firefox-webext-browser@120.0.4': {}
-
- '@types/har-format@1.2.12': {}
-
- '@types/json-schema@7.0.12': {}
-
- '@types/node@20.6.0': {}
-
- '@types/webpack-bundle-analyzer@4.7.0(esbuild@0.25.0)(webpack-cli@6.0.1)':
- dependencies:
- '@types/node': 20.6.0
- tapable: 2.2.1
- webpack: 5.98.0(esbuild@0.25.0)(webpack-cli@6.0.1)
- transitivePeerDependencies:
- - '@swc/core'
- - esbuild
- - uglify-js
- - webpack-cli
-
- '@vue/compiler-core@3.5.13':
- dependencies:
- '@babel/parser': 7.26.2
- '@vue/shared': 3.5.13
- entities: 4.5.0
- estree-walker: 2.0.2
- source-map-js: 1.2.1
-
- '@vue/compiler-dom@3.5.13':
- dependencies:
- '@vue/compiler-core': 3.5.13
- '@vue/shared': 3.5.13
-
- '@vue/compiler-sfc@3.5.13':
- dependencies:
- '@babel/parser': 7.26.2
- '@vue/compiler-core': 3.5.13
- '@vue/compiler-dom': 3.5.13
- '@vue/compiler-ssr': 3.5.13
- '@vue/shared': 3.5.13
- estree-walker: 2.0.2
- magic-string: 0.30.12
- postcss: 8.5.3
- source-map-js: 1.2.1
-
- '@vue/compiler-ssr@3.5.13':
- dependencies:
- '@vue/compiler-dom': 3.5.13
- '@vue/shared': 3.5.13
-
- '@vue/devtools-api@7.7.2':
- dependencies:
- '@vue/devtools-kit': 7.7.2
-
- '@vue/devtools-kit@7.7.2':
- dependencies:
- '@vue/devtools-shared': 7.7.2
- birpc: 0.2.19
- hookable: 5.5.3
- mitt: 3.0.1
- perfect-debounce: 1.0.0
- speakingurl: 14.0.1
- superjson: 2.2.2
-
- '@vue/devtools-shared@7.7.2':
- dependencies:
- rfdc: 1.4.1
-
- '@vue/reactivity@3.5.13':
- dependencies:
- '@vue/shared': 3.5.13
-
- '@vue/runtime-core@3.5.13':
- dependencies:
- '@vue/reactivity': 3.5.13
- '@vue/shared': 3.5.13
-
- '@vue/runtime-dom@3.5.13':
- dependencies:
- '@vue/reactivity': 3.5.13
- '@vue/runtime-core': 3.5.13
- '@vue/shared': 3.5.13
- csstype: 3.1.3
-
- '@vue/server-renderer@3.5.13(vue@3.5.13(typescript@5.8.2))':
- dependencies:
- '@vue/compiler-ssr': 3.5.13
- '@vue/shared': 3.5.13
- vue: 3.5.13(typescript@5.8.2)
-
- '@vue/shared@3.5.13': {}
-
- '@webassemblyjs/ast@1.14.1':
- dependencies:
- '@webassemblyjs/helper-numbers': 1.13.2
- '@webassemblyjs/helper-wasm-bytecode': 1.13.2
-
- '@webassemblyjs/floating-point-hex-parser@1.13.2': {}
-
- '@webassemblyjs/helper-api-error@1.13.2': {}
-
- '@webassemblyjs/helper-buffer@1.14.1': {}
-
- '@webassemblyjs/helper-numbers@1.13.2':
- dependencies:
- '@webassemblyjs/floating-point-hex-parser': 1.13.2
- '@webassemblyjs/helper-api-error': 1.13.2
- '@xtuc/long': 4.2.2
-
- '@webassemblyjs/helper-wasm-bytecode@1.13.2': {}
-
- '@webassemblyjs/helper-wasm-section@1.14.1':
- dependencies:
- '@webassemblyjs/ast': 1.14.1
- '@webassemblyjs/helper-buffer': 1.14.1
- '@webassemblyjs/helper-wasm-bytecode': 1.13.2
- '@webassemblyjs/wasm-gen': 1.14.1
-
- '@webassemblyjs/ieee754@1.13.2':
- dependencies:
- '@xtuc/ieee754': 1.2.0
-
- '@webassemblyjs/leb128@1.13.2':
- dependencies:
- '@xtuc/long': 4.2.2
-
- '@webassemblyjs/utf8@1.13.2': {}
-
- '@webassemblyjs/wasm-edit@1.14.1':
- dependencies:
- '@webassemblyjs/ast': 1.14.1
- '@webassemblyjs/helper-buffer': 1.14.1
- '@webassemblyjs/helper-wasm-bytecode': 1.13.2
- '@webassemblyjs/helper-wasm-section': 1.14.1
- '@webassemblyjs/wasm-gen': 1.14.1
- '@webassemblyjs/wasm-opt': 1.14.1
- '@webassemblyjs/wasm-parser': 1.14.1
- '@webassemblyjs/wast-printer': 1.14.1
-
- '@webassemblyjs/wasm-gen@1.14.1':
- dependencies:
- '@webassemblyjs/ast': 1.14.1
- '@webassemblyjs/helper-wasm-bytecode': 1.13.2
- '@webassemblyjs/ieee754': 1.13.2
- '@webassemblyjs/leb128': 1.13.2
- '@webassemblyjs/utf8': 1.13.2
-
- '@webassemblyjs/wasm-opt@1.14.1':
- dependencies:
- '@webassemblyjs/ast': 1.14.1
- '@webassemblyjs/helper-buffer': 1.14.1
- '@webassemblyjs/wasm-gen': 1.14.1
- '@webassemblyjs/wasm-parser': 1.14.1
-
- '@webassemblyjs/wasm-parser@1.14.1':
- dependencies:
- '@webassemblyjs/ast': 1.14.1
- '@webassemblyjs/helper-api-error': 1.13.2
- '@webassemblyjs/helper-wasm-bytecode': 1.13.2
- '@webassemblyjs/ieee754': 1.13.2
- '@webassemblyjs/leb128': 1.13.2
- '@webassemblyjs/utf8': 1.13.2
-
- '@webassemblyjs/wast-printer@1.14.1':
- dependencies:
- '@webassemblyjs/ast': 1.14.1
- '@xtuc/long': 4.2.2
-
- '@webpack-cli/configtest@3.0.1(webpack-cli@6.0.1)(webpack@5.98.0)':
- dependencies:
- webpack: 5.98.0(esbuild@0.25.0)(webpack-cli@6.0.1)
- webpack-cli: 6.0.1(webpack-bundle-analyzer@4.10.2)(webpack@5.98.0)
-
- '@webpack-cli/info@3.0.1(webpack-cli@6.0.1)(webpack@5.98.0)':
- dependencies:
- webpack: 5.98.0(esbuild@0.25.0)(webpack-cli@6.0.1)
- webpack-cli: 6.0.1(webpack-bundle-analyzer@4.10.2)(webpack@5.98.0)
-
- '@webpack-cli/serve@3.0.1(webpack-cli@6.0.1)(webpack@5.98.0)':
- dependencies:
- webpack: 5.98.0(esbuild@0.25.0)(webpack-cli@6.0.1)
- webpack-cli: 6.0.1(webpack-bundle-analyzer@4.10.2)(webpack@5.98.0)
-
- '@xtuc/ieee754@1.2.0': {}
-
- '@xtuc/long@4.2.2': {}
-
- acorn-walk@8.2.0: {}
-
- acorn@8.10.0: {}
-
- acorn@8.14.0: {}
-
- ajv-formats@2.1.1(ajv@8.17.1):
- optionalDependencies:
- ajv: 8.17.1
-
- ajv-keywords@5.1.0(ajv@8.17.1):
- dependencies:
- ajv: 8.17.1
- fast-deep-equal: 3.1.3
-
- ajv@8.17.1:
- dependencies:
- fast-deep-equal: 3.1.3
- fast-uri: 3.0.6
- json-schema-traverse: 1.0.0
- require-from-string: 2.0.2
-
- ansi-styles@4.3.0:
- dependencies:
- color-convert: 2.0.1
-
- big.js@5.2.2: {}
-
- birpc@0.2.19: {}
-
- braces@3.0.3:
- dependencies:
- fill-range: 7.1.1
- optional: true
-
- browserslist@4.24.2:
- dependencies:
- caniuse-lite: 1.0.30001679
- electron-to-chromium: 1.5.55
- node-releases: 2.0.18
- update-browserslist-db: 1.1.1(browserslist@4.24.2)
-
- buffer-from@1.1.2: {}
-
- caniuse-lite@1.0.30001679: {}
-
- chalk@4.1.2:
- dependencies:
- ansi-styles: 4.3.0
- supports-color: 7.2.0
-
- chalk@5.3.0: {}
-
- chokidar@4.0.1:
- dependencies:
- readdirp: 4.0.2
-
- chrome-trace-event@1.0.3: {}
-
- clone-deep@4.0.1:
- dependencies:
- is-plain-object: 2.0.4
- kind-of: 6.0.3
- shallow-clone: 3.0.1
-
- color-convert@2.0.1:
- dependencies:
- color-name: 1.1.4
-
- color-name@1.1.4: {}
-
- colorette@2.0.20: {}
-
- commander@12.1.0: {}
-
- commander@2.20.3: {}
-
- commander@7.2.0: {}
-
- copy-anything@3.0.5:
- dependencies:
- is-what: 4.1.16
-
- cross-spawn@7.0.3:
- dependencies:
- path-key: 3.1.1
- shebang-command: 2.0.0
- which: 2.0.2
-
- css-loader@7.1.2(webpack@5.98.0):
- dependencies:
- icss-utils: 5.1.0(postcss@8.4.38)
- postcss: 8.4.38
- postcss-modules-extract-imports: 3.1.0(postcss@8.4.38)
- postcss-modules-local-by-default: 4.0.5(postcss@8.4.38)
- postcss-modules-scope: 3.2.0(postcss@8.4.38)
- postcss-modules-values: 4.0.0(postcss@8.4.38)
- postcss-value-parser: 4.2.0
- semver: 7.5.4
- optionalDependencies:
- webpack: 5.98.0(esbuild@0.25.0)(webpack-cli@6.0.1)
-
- cssesc@3.0.0: {}
-
- csstype@3.1.3: {}
-
- debounce@1.2.1: {}
-
- detect-libc@1.0.3:
- optional: true
-
- diff-match-patch@1.0.5: {}
-
- duplexer@0.1.2: {}
-
- electron-to-chromium@1.5.55: {}
-
- emojis-list@3.0.0: {}
-
- enhanced-resolve@5.17.1:
- dependencies:
- graceful-fs: 4.2.11
- tapable: 2.2.1
-
- entities@4.5.0: {}
-
- envinfo@7.14.0: {}
-
- es-module-lexer@1.3.0: {}
-
- esbuild-loader@4.3.0(webpack@5.98.0):
- dependencies:
- esbuild: 0.25.0
- get-tsconfig: 4.8.1
- loader-utils: 2.0.4
- webpack: 5.98.0(esbuild@0.25.0)(webpack-cli@6.0.1)
- webpack-sources: 1.4.3
-
- esbuild@0.25.0:
- optionalDependencies:
- '@esbuild/aix-ppc64': 0.25.0
- '@esbuild/android-arm': 0.25.0
- '@esbuild/android-arm64': 0.25.0
- '@esbuild/android-x64': 0.25.0
- '@esbuild/darwin-arm64': 0.25.0
- '@esbuild/darwin-x64': 0.25.0
- '@esbuild/freebsd-arm64': 0.25.0
- '@esbuild/freebsd-x64': 0.25.0
- '@esbuild/linux-arm': 0.25.0
- '@esbuild/linux-arm64': 0.25.0
- '@esbuild/linux-ia32': 0.25.0
- '@esbuild/linux-loong64': 0.25.0
- '@esbuild/linux-mips64el': 0.25.0
- '@esbuild/linux-ppc64': 0.25.0
- '@esbuild/linux-riscv64': 0.25.0
- '@esbuild/linux-s390x': 0.25.0
- '@esbuild/linux-x64': 0.25.0
- '@esbuild/netbsd-arm64': 0.25.0
- '@esbuild/netbsd-x64': 0.25.0
- '@esbuild/openbsd-arm64': 0.25.0
- '@esbuild/openbsd-x64': 0.25.0
- '@esbuild/sunos-x64': 0.25.0
- '@esbuild/win32-arm64': 0.25.0
- '@esbuild/win32-ia32': 0.25.0
- '@esbuild/win32-x64': 0.25.0
-
- escalade@3.2.0: {}
-
- escape-string-regexp@4.0.0: {}
-
- eslint-scope@5.1.1:
- dependencies:
- esrecurse: 4.3.0
- estraverse: 4.3.0
-
- esrecurse@4.3.0:
- dependencies:
- estraverse: 5.3.0
-
- estraverse@4.3.0: {}
-
- estraverse@5.3.0: {}
-
- estree-walker@2.0.2: {}
-
- events@3.3.0: {}
-
- fast-deep-equal@3.1.3: {}
-
- fast-uri@3.0.6: {}
-
- fastest-levenshtein@1.0.16: {}
-
- fill-range@7.1.1:
- dependencies:
- to-regex-range: 5.0.1
- optional: true
-
- find-up@4.1.0:
- dependencies:
- locate-path: 5.0.0
- path-exists: 4.0.0
-
- flat@5.0.2: {}
-
- fsevents@2.3.3:
- optional: true
-
- function-bind@1.1.1: {}
-
- get-tsconfig@4.8.1:
- dependencies:
- resolve-pkg-maps: 1.0.0
-
- glob-to-regexp@0.4.1: {}
-
- graceful-fs@4.2.11: {}
-
- gzip-size@6.0.0:
- dependencies:
- duplexer: 0.1.2
-
- has-flag@4.0.0: {}
-
- has@1.0.3:
- dependencies:
- function-bind: 1.1.1
-
- hash-sum@2.0.0: {}
-
- hookable@5.5.3: {}
-
- html-escaper@2.0.2: {}
-
- icss-utils@5.1.0(postcss@8.4.38):
- dependencies:
- postcss: 8.4.38
-
- immutable@5.0.3: {}
-
- import-local@3.1.0:
- dependencies:
- pkg-dir: 4.2.0
- resolve-cwd: 3.0.0
-
- interpret@3.1.1: {}
-
- is-core-module@2.12.1:
- dependencies:
- has: 1.0.3
-
- is-extglob@2.1.1:
- optional: true
-
- is-glob@4.0.3:
- dependencies:
- is-extglob: 2.1.1
- optional: true
-
- is-number@7.0.0:
- optional: true
-
- is-plain-object@2.0.4:
- dependencies:
- isobject: 3.0.1
-
- is-what@4.1.16: {}
-
- isexe@2.0.0: {}
-
- isobject@3.0.1: {}
-
- jest-worker@27.5.1:
- dependencies:
- '@types/node': 20.6.0
- merge-stream: 2.0.0
- supports-color: 8.1.1
-
- json-parse-even-better-errors@2.3.1: {}
-
- json-schema-traverse@1.0.0: {}
-
- json5@2.2.3: {}
-
- jsondiffpatch@0.6.0:
- dependencies:
- '@types/diff-match-patch': 1.0.36
- chalk: 5.3.0
- diff-match-patch: 1.0.5
-
- kind-of@6.0.3: {}
-
- loader-runner@4.3.0: {}
-
- loader-utils@2.0.4:
- dependencies:
- big.js: 5.2.2
- emojis-list: 3.0.0
- json5: 2.2.3
-
- locate-path@5.0.0:
- dependencies:
- p-locate: 4.1.0
-
- lru-cache@6.0.0:
- dependencies:
- yallist: 4.0.0
-
- magic-string@0.30.12:
- dependencies:
- '@jridgewell/sourcemap-codec': 1.5.0
-
- merge-stream@2.0.0: {}
-
- micromatch@4.0.8:
- dependencies:
- braces: 3.0.3
- picomatch: 2.3.1
- optional: true
-
- mime-db@1.52.0: {}
-
- mime-types@2.1.35:
- dependencies:
- mime-db: 1.52.0
-
- mitt@3.0.1: {}
-
- mrmime@1.0.1: {}
-
- nanoid@3.3.7: {}
-
- nanoid@3.3.8: {}
-
- neo-async@2.6.2: {}
-
- node-addon-api@7.1.1:
- optional: true
-
- node-releases@2.0.18: {}
-
- opener@1.5.2: {}
-
- p-limit@2.3.0:
- dependencies:
- p-try: 2.2.0
-
- p-locate@4.1.0:
- dependencies:
- p-limit: 2.3.0
-
- p-try@2.2.0: {}
-
- path-exists@4.0.0: {}
-
- path-key@3.1.1: {}
-
- path-parse@1.0.7: {}
-
- perfect-debounce@1.0.0: {}
-
- picocolors@1.0.0: {}
-
- picocolors@1.1.1: {}
-
- picomatch@2.3.1:
- optional: true
-
- pinia@3.0.1(typescript@5.8.2)(vue@3.5.13(typescript@5.8.2)):
- dependencies:
- '@vue/devtools-api': 7.7.2
- vue: 3.5.13(typescript@5.8.2)
- optionalDependencies:
- typescript: 5.8.2
-
- pkg-dir@4.2.0:
- dependencies:
- find-up: 4.1.0
-
- postcss-modules-extract-imports@3.1.0(postcss@8.4.38):
- dependencies:
- postcss: 8.4.38
-
- postcss-modules-local-by-default@4.0.5(postcss@8.4.38):
- dependencies:
- icss-utils: 5.1.0(postcss@8.4.38)
- postcss: 8.4.38
- postcss-selector-parser: 6.0.13
- postcss-value-parser: 4.2.0
-
- postcss-modules-scope@3.2.0(postcss@8.4.38):
- dependencies:
- postcss: 8.4.38
- postcss-selector-parser: 6.0.13
-
- postcss-modules-values@4.0.0(postcss@8.4.38):
- dependencies:
- icss-utils: 5.1.0(postcss@8.4.38)
- postcss: 8.4.38
-
- postcss-selector-parser@6.0.13:
- dependencies:
- cssesc: 3.0.0
- util-deprecate: 1.0.2
-
- postcss-value-parser@4.2.0: {}
-
- postcss@8.4.38:
- dependencies:
- nanoid: 3.3.7
- picocolors: 1.1.1
- source-map-js: 1.2.0
-
- postcss@8.5.3:
- dependencies:
- nanoid: 3.3.8
- picocolors: 1.1.1
- source-map-js: 1.2.1
-
- prettier@3.5.3: {}
-
- randombytes@2.1.0:
- dependencies:
- safe-buffer: 5.2.1
-
- readdirp@4.0.2: {}
-
- rechoir@0.8.0:
- dependencies:
- resolve: 1.22.2
-
- require-from-string@2.0.2: {}
-
- resolve-cwd@3.0.0:
- dependencies:
- resolve-from: 5.0.0
-
- resolve-from@5.0.0: {}
-
- resolve-pkg-maps@1.0.0: {}
-
- resolve@1.22.2:
- dependencies:
- is-core-module: 2.12.1
- path-parse: 1.0.7
- supports-preserve-symlinks-flag: 1.0.0
-
- rfdc@1.4.1: {}
-
- safe-buffer@5.2.1: {}
-
- sass-loader@16.0.5(sass@1.85.1)(webpack@5.98.0):
- dependencies:
- neo-async: 2.6.2
- optionalDependencies:
- sass: 1.85.1
- webpack: 5.98.0(esbuild@0.25.0)(webpack-cli@6.0.1)
-
- sass@1.85.1:
- dependencies:
- chokidar: 4.0.1
- immutable: 5.0.3
- source-map-js: 1.2.1
- optionalDependencies:
- '@parcel/watcher': 2.5.0
-
- schema-utils@4.3.0:
- dependencies:
- '@types/json-schema': 7.0.12
- ajv: 8.17.1
- ajv-formats: 2.1.1(ajv@8.17.1)
- ajv-keywords: 5.1.0(ajv@8.17.1)
-
- semver@7.5.4:
- dependencies:
- lru-cache: 6.0.0
-
- serialize-javascript@6.0.2:
- dependencies:
- randombytes: 2.1.0
-
- shallow-clone@3.0.1:
- dependencies:
- kind-of: 6.0.3
-
- shebang-command@2.0.0:
- dependencies:
- shebang-regex: 3.0.0
-
- shebang-regex@3.0.0: {}
-
- sirv@2.0.3:
- dependencies:
- '@polka/url': 1.0.0-next.23
- mrmime: 1.0.1
- totalist: 3.0.1
-
- source-list-map@2.0.1: {}
-
- source-map-js@1.2.0: {}
-
- source-map-js@1.2.1: {}
-
- source-map-support@0.5.21:
- dependencies:
- buffer-from: 1.1.2
- source-map: 0.6.1
-
- source-map@0.6.1: {}
-
- speakingurl@14.0.1: {}
-
- style-loader@4.0.0(webpack@5.98.0):
- dependencies:
- webpack: 5.98.0(esbuild@0.25.0)(webpack-cli@6.0.1)
-
- superjson@2.2.2:
- dependencies:
- copy-anything: 3.0.5
-
- supports-color@7.2.0:
- dependencies:
- has-flag: 4.0.0
-
- supports-color@8.1.1:
- dependencies:
- has-flag: 4.0.0
-
- supports-preserve-symlinks-flag@1.0.0: {}
-
- tapable@2.2.1: {}
-
- terser-webpack-plugin@5.3.11(esbuild@0.25.0)(webpack@5.98.0):
- dependencies:
- '@jridgewell/trace-mapping': 0.3.25
- jest-worker: 27.5.1
- schema-utils: 4.3.0
- serialize-javascript: 6.0.2
- terser: 5.39.0
- webpack: 5.98.0(esbuild@0.25.0)(webpack-cli@6.0.1)
- optionalDependencies:
- esbuild: 0.25.0
-
- terser@5.39.0:
- dependencies:
- '@jridgewell/source-map': 0.3.3
- acorn: 8.14.0
- commander: 2.20.3
- source-map-support: 0.5.21
-
- to-regex-range@5.0.1:
- dependencies:
- is-number: 7.0.0
- optional: true
-
- totalist@3.0.1: {}
-
- tsx@4.19.3:
- dependencies:
- esbuild: 0.25.0
- get-tsconfig: 4.8.1
- optionalDependencies:
- fsevents: 2.3.3
-
- typescript@5.8.2: {}
-
- update-browserslist-db@1.1.1(browserslist@4.24.2):
- dependencies:
- browserslist: 4.24.2
- escalade: 3.2.0
- picocolors: 1.1.1
-
- util-deprecate@1.0.2: {}
-
- vue-loader@17.4.2(@vue/compiler-sfc@3.5.13)(vue@3.5.13(typescript@5.8.2))(webpack@5.98.0):
- dependencies:
- chalk: 4.1.2
- hash-sum: 2.0.0
- watchpack: 2.4.0
- webpack: 5.98.0(esbuild@0.25.0)(webpack-cli@6.0.1)
- optionalDependencies:
- '@vue/compiler-sfc': 3.5.13
- vue: 3.5.13(typescript@5.8.2)
-
- vue@3.5.13(typescript@5.8.2):
- dependencies:
- '@vue/compiler-dom': 3.5.13
- '@vue/compiler-sfc': 3.5.13
- '@vue/runtime-dom': 3.5.13
- '@vue/server-renderer': 3.5.13(vue@3.5.13(typescript@5.8.2))
- '@vue/shared': 3.5.13
- optionalDependencies:
- typescript: 5.8.2
-
- watchpack@2.4.0:
- dependencies:
- glob-to-regexp: 0.4.1
- graceful-fs: 4.2.11
-
- watchpack@2.4.1:
- dependencies:
- glob-to-regexp: 0.4.1
- graceful-fs: 4.2.11
-
- webpack-bundle-analyzer@4.10.2:
- dependencies:
- '@discoveryjs/json-ext': 0.5.7
- acorn: 8.10.0
- acorn-walk: 8.2.0
- commander: 7.2.0
- debounce: 1.2.1
- escape-string-regexp: 4.0.0
- gzip-size: 6.0.0
- html-escaper: 2.0.2
- opener: 1.5.2
- picocolors: 1.0.0
- sirv: 2.0.3
- ws: 7.5.9
- transitivePeerDependencies:
- - bufferutil
- - utf-8-validate
-
- webpack-cli@6.0.1(webpack-bundle-analyzer@4.10.2)(webpack@5.98.0):
- dependencies:
- '@discoveryjs/json-ext': 0.6.3
- '@webpack-cli/configtest': 3.0.1(webpack-cli@6.0.1)(webpack@5.98.0)
- '@webpack-cli/info': 3.0.1(webpack-cli@6.0.1)(webpack@5.98.0)
- '@webpack-cli/serve': 3.0.1(webpack-cli@6.0.1)(webpack@5.98.0)
- colorette: 2.0.20
- commander: 12.1.0
- cross-spawn: 7.0.3
- envinfo: 7.14.0
- fastest-levenshtein: 1.0.16
- import-local: 3.1.0
- interpret: 3.1.1
- rechoir: 0.8.0
- webpack: 5.98.0(esbuild@0.25.0)(webpack-cli@6.0.1)
- webpack-merge: 6.0.1
- optionalDependencies:
- webpack-bundle-analyzer: 4.10.2
-
- webpack-merge@6.0.1:
- dependencies:
- clone-deep: 4.0.1
- flat: 5.0.2
- wildcard: 2.0.1
-
- webpack-sources@1.4.3:
- dependencies:
- source-list-map: 2.0.1
- source-map: 0.6.1
-
- webpack-sources@3.2.3: {}
-
- webpack@5.98.0(esbuild@0.25.0)(webpack-cli@6.0.1):
- dependencies:
- '@types/eslint-scope': 3.7.7
- '@types/estree': 1.0.6
- '@webassemblyjs/ast': 1.14.1
- '@webassemblyjs/wasm-edit': 1.14.1
- '@webassemblyjs/wasm-parser': 1.14.1
- acorn: 8.14.0
- browserslist: 4.24.2
- chrome-trace-event: 1.0.3
- enhanced-resolve: 5.17.1
- es-module-lexer: 1.3.0
- eslint-scope: 5.1.1
- events: 3.3.0
- glob-to-regexp: 0.4.1
- graceful-fs: 4.2.11
- json-parse-even-better-errors: 2.3.1
- loader-runner: 4.3.0
- mime-types: 2.1.35
- neo-async: 2.6.2
- schema-utils: 4.3.0
- tapable: 2.2.1
- terser-webpack-plugin: 5.3.11(esbuild@0.25.0)(webpack@5.98.0)
- watchpack: 2.4.1
- webpack-sources: 3.2.3
- optionalDependencies:
- webpack-cli: 6.0.1(webpack-bundle-analyzer@4.10.2)(webpack@5.98.0)
- transitivePeerDependencies:
- - '@swc/core'
- - esbuild
- - uglify-js
-
- which@2.0.2:
- dependencies:
- isexe: 2.0.0
-
- wildcard@2.0.1: {}
-
- ws@7.5.9: {}
-
- yallist@4.0.0: {}
diff --git a/bundle/img/panel-icon128.png b/public/img/panel-icon128.png
similarity index 100%
rename from bundle/img/panel-icon128.png
rename to public/img/panel-icon128.png
diff --git a/bundle/img/panel-icon28.png b/public/img/panel-icon28.png
similarity index 100%
rename from bundle/img/panel-icon28.png
rename to public/img/panel-icon28.png
diff --git a/bundle/img/panel-icon64.png b/public/img/panel-icon64.png
similarity index 100%
rename from bundle/img/panel-icon64.png
rename to public/img/panel-icon64.png
diff --git a/public/jsdiff-devtools.html b/public/jsdiff-devtools.html
new file mode 100644
index 0000000..ec431ad
--- /dev/null
+++ b/public/jsdiff-devtools.html
@@ -0,0 +1,9 @@
+
+
+
+
+ DevtoolsTab
+
+
+
+
diff --git a/public/jsdiff-panel.html b/public/jsdiff-panel.html
new file mode 100644
index 0000000..acf19f7
--- /dev/null
+++ b/public/jsdiff-panel.html
@@ -0,0 +1,13 @@
+
+
+
+
+ DevtoolsPanel
+
+
+
+
+
+
+
+
diff --git a/src/@types/index.d.ts b/src/@types/index.d.ts
index b7601b1..7826de3 100644
--- a/src/@types/index.d.ts
+++ b/src/@types/index.d.ts
@@ -5,44 +5,11 @@ declare global {
const __app_version__: string;
const __app_homepage__: string;
- interface ICompareState {
- timestamp: number;
- left?: unknown;
- right?: unknown;
- }
-
- interface ICompareMessagePayload {
- push?: unknown;
- left?: unknown;
- right?: unknown;
- timestamp: number;
- [key: string]: unknown;
- }
-
- interface ICompareMessage {
- source: 'jsdiff-proxy-to-panel-compare';
- payload: ICompareMessagePayload;
- }
-
- interface IErrorMessage {
- source: 'jsdiff-proxy-to-panel-error';
- }
-
- interface IProgressMessage {
- source: 'jsdiff-proxy-to-panel-inprogress';
- on: boolean;
- }
-
- type TRuntimeMessageOptions =
- | ICompareMessage
- | IProgressMessage
- | IErrorMessage;
-
interface Window {
wrappedJSObject: { jsdiff: () => void };
}
// firefox extension context
// currently not present in '@types/firefox-webext-browser'
- function cloneInto(...args: any[]): any;
+ function cloneInto(...args: unknown[]): unknown;
}
diff --git a/src/api/clone.ts b/src/api/clone.ts
index 89f4f23..e0e5ff8 100644
--- a/src/api/clone.ts
+++ b/src/api/clone.ts
@@ -1,30 +1,29 @@
-import { hashString } from '@/api/toolkit.ts';
+import { hashString } from './toolkit.ts';
import {
+ TAG_DOM_ELEMENT,
TAG_EXCEPTION,
TAG_EXCEPTION_FALLBACK,
TAG_FUNCTION,
+ TAG_GLOBAL_SYMBOL,
TAG_NATIVE_FUNCTION,
- TAG_NULL,
TAG_NUMERIC,
TAG_RECURRING_ARRAY,
TAG_RECURRING_MAP,
TAG_RECURRING_OBJECT,
TAG_RECURRING_SET,
TAG_REGEXP,
- TAG_UNIQUE_SYMBOL,
TAG_UNDEFINED,
- TAG_DOM_ELEMENT,
- TAG_GLOBAL_SYMBOL,
+ TAG_UNIQUE_SYMBOL,
TAG_URL,
-} from '@/api/const.ts';
+} from './const.ts';
import {
- UniqueLookupCatalog,
CommonLookupCatalog,
type TCommonInstanceTag,
-} from '@/api/cloneCatalog.ts';
+ UniqueLookupCatalog,
+} from './cloneCatalog.ts';
interface ISerializeToObject {
- [key: string]: any;
+ [key: string | symbol]: unknown;
}
interface IFunction {
name: string;
@@ -37,41 +36,6 @@ interface IHasToJSON {
const symbolCatalog = new UniqueLookupCatalog();
const domCatalog = new UniqueLookupCatalog();
-export function post(payload: ICompareMessagePayload) {
- try {
- window.postMessage(
- { source: 'jsdiff-console-to-proxy-inprogress', on: true },
- '*'
- );
-
- for (const key of ['push', 'left', 'right']) {
- if (Reflect.has(payload, key)) {
- const value = payload[key];
-
- if (value === undefined) {
- payload[key] = TAG_UNDEFINED;
- } else if (value === null) {
- payload[key] = TAG_NULL;
- } else {
- payload[key] = customClone(value);
- }
- }
- }
-
- window.postMessage(
- { source: 'jsdiff-console-to-proxy-compare', payload },
- '*'
- );
- } catch (error) {
- console.error('console.diff()', error);
-
- window.postMessage(
- { source: 'jsdiff-console-to-proxy-inprogress', on: false },
- '*'
- );
- }
-}
-
export function customClone(value: unknown) {
let commonCatalog: CommonLookupCatalog | null = new CommonLookupCatalog();
const rv = recursiveClone(commonCatalog, value);
@@ -117,7 +81,7 @@ function recursiveClone(commonCatalog: CommonLookupCatalog, value: unknown) {
function serializeArrayAlike(
commonCatalog: CommonLookupCatalog,
array: unknown[] | Set,
- badge: TCommonInstanceTag
+ badge: TCommonInstanceTag,
): unknown[] | string {
const record = commonCatalog.lookup(array, badge);
if (record.seen) {
@@ -136,7 +100,7 @@ function serializeArrayAlike(
function serializeMap(
commonCatalog: CommonLookupCatalog,
- value: Map
+ value: Map,
) {
const record = commonCatalog.lookup(value, TAG_RECURRING_MAP);
@@ -149,9 +113,8 @@ function serializeMap(
const obj: ISerializeToObject = {};
for (const [k, v] of value) {
const newKey = serializeMapKey(commonCatalog, k);
- const newValue = recursiveClone(commonCatalog, v);
- obj[newKey] = newValue;
+ obj[newKey] = recursiveClone(commonCatalog, v);
}
return obj;
@@ -159,7 +122,7 @@ function serializeMap(
function serializeMapKey(
commonCatalog: CommonLookupCatalog,
- key: unknown
+ key: unknown,
): string {
let rv;
@@ -223,7 +186,7 @@ function serializeObject(commonCatalog: CommonLookupCatalog, value: object) {
function serializeObjectKey(
commonCatalog: CommonLookupCatalog,
key: string | symbol,
- value: object
+ value: ISerializeToObject,
) {
let newKey: string, newValue: unknown;
@@ -237,7 +200,7 @@ function serializeObjectKey(
try {
// accessing value by key may throw
- newValue = recursiveClone(commonCatalog, (value as any)[key]);
+ newValue = recursiveClone(commonCatalog, value[key]);
} catch (error) {
newValue = stringifyError(error);
}
@@ -283,16 +246,17 @@ function isArray(that: unknown): that is unknown[] {
return (
that instanceof Array ||
that instanceof Uint8Array ||
- that instanceof Int8Array ||
that instanceof Uint8ClampedArray ||
that instanceof Uint16Array ||
- that instanceof Int16Array ||
that instanceof Uint32Array ||
+ that instanceof Int8Array ||
+ that instanceof Int16Array ||
that instanceof Int32Array ||
+ that instanceof Float16Array ||
that instanceof Float32Array ||
+ that instanceof Float64Array ||
that instanceof BigUint64Array ||
- that instanceof BigInt64Array ||
- that instanceof Float64Array
+ that instanceof BigInt64Array
);
}
@@ -316,12 +280,11 @@ function isSelfSerializableObject(that: unknown): that is IHasToJSON {
let rv;
try {
- rv =
- that !== null &&
+ rv = that !== null &&
typeof that === 'object' &&
'toJSON' in that &&
typeof that.toJSON === 'function';
- } catch (ignore) {
+ } catch (_ignore) {
rv = false;
}
diff --git a/src/api/cloneCatalog.ts b/src/api/cloneCatalog.ts
index f23827e..1ad45fd 100644
--- a/src/api/cloneCatalog.ts
+++ b/src/api/cloneCatalog.ts
@@ -1,4 +1,4 @@
-type TUniqueInstanceTag = (id: string, value: any) => string;
+type TUniqueInstanceTag = (id: string, value: unknown) => string;
export type TCommonInstanceTag = (id: string) => string;
type ICatalogUniqueRecord = string;
diff --git a/src/api/consolePost.ts b/src/api/consolePost.ts
new file mode 100644
index 0000000..b1c00ab
--- /dev/null
+++ b/src/api/consolePost.ts
@@ -0,0 +1,38 @@
+import { TAG_NULL, TAG_UNDEFINED } from './const.ts';
+import { customClone } from './clone.ts';
+import type { ICompareMessagePayload } from './proxy.ts';
+
+export function post(payload: ICompareMessagePayload) {
+ try {
+ globalThis.postMessage(
+ { source: 'jsdiff-console-to-proxy-inprogress', on: true },
+ '*',
+ );
+
+ for (const key of ['push', 'left', 'right']) {
+ if (Reflect.has(payload, key)) {
+ const value = payload[key];
+
+ if (value === undefined) {
+ payload[key] = TAG_UNDEFINED;
+ } else if (value === null) {
+ payload[key] = TAG_NULL;
+ } else {
+ payload[key] = customClone(value);
+ }
+ }
+ }
+
+ globalThis.postMessage(
+ { source: 'jsdiff-console-to-proxy-compare', payload },
+ '*',
+ );
+ } catch (error) {
+ console.error('console.diff()', error);
+
+ globalThis.postMessage(
+ { source: 'jsdiff-console-to-proxy-inprogress', on: false },
+ '*',
+ );
+ }
+}
diff --git a/src/api/const.ts b/src/api/const.ts
index f414614..6fe3348 100644
--- a/src/api/const.ts
+++ b/src/api/const.ts
@@ -1,5 +1,7 @@
export const APP_DIFFAPI = 'https://github.com/benjamine/jsondiffpatch';
-export const APP_CODE_EXAMPLE = `${typeof browser !== 'undefined' ? 'jsdiff' : 'console'}.diff({a:1, b:1, c:3}, {a:1, b:2, d:3});`;
+export const APP_CODE_EXAMPLE = `${
+ typeof browser !== 'undefined' ? 'jsdiff' : 'console'
+}.diff({a:1, b:1, c:3}, {a:1, b:2, d:3});`;
export const TAG_EMPTY = '⟪empty⟫';
export const TAG_UNDEFINED = '⟪undefined⟫';
export const TAG_NULL = '⟪null⟫';
diff --git a/src/api/deltaHtml/HtmlFormatter.ts b/src/api/deltaHtml/HtmlFormatter.ts
index 9baf3cc..987f941 100644
--- a/src/api/deltaHtml/HtmlFormatter.ts
+++ b/src/api/deltaHtml/HtmlFormatter.ts
@@ -1,9 +1,9 @@
import { escapeHTML } from '../toolkit.ts';
import BaseFormatter from 'jsondiffpatch/formatters/base';
import type {
+ BaseFormatterContext,
DeltaType,
NodeType,
- BaseFormatterContext,
} from 'jsondiffpatch/formatters/base';
import type {
AddedDelta,
@@ -17,9 +17,12 @@ import type {
export type { Delta } from 'jsondiffpatch';
export class HtmlFormatter extends BaseFormatter {
- typeFormattterErrorFormatter(context: BaseFormatterContext, err: unknown) {
+ override typeFormattterErrorFormatter(
+ context: BaseFormatterContext,
+ err: unknown,
+ ) {
context.out(
- `${escapeHTML(String(err))}
`
+ `${escapeHTML(String(err))}
`,
);
}
@@ -34,19 +37,17 @@ export class HtmlFormatter extends BaseFormatter {
const line = lines[i];
context.out(
'' +
- `${
- line.location.line
- }${
- line.location.chr
- }
`
+ `${line.location.line}${line.location.chr}
`,
);
const pieces = line.pieces;
for (let i = 0, I = pieces.length; i < I; i++) {
const piece = pieces[i];
context.out(
- `${escapeHTML(
- decodeURI(piece.text)
- )}`
+ `${
+ escapeHTML(
+ decodeURI(piece.text),
+ )
+ }`,
);
}
context.out('
');
@@ -57,7 +58,7 @@ export class HtmlFormatter extends BaseFormatter {
rootBegin(
context: BaseFormatterContext,
type: DeltaType,
- nodeType: NodeType
+ nodeType: NodeType,
) {
const nodeClass = `jsondiffpatch-${type}${
nodeType ? ` jsondiffpatch-child-node-type-${nodeType}` : ''
@@ -71,10 +72,10 @@ export class HtmlFormatter extends BaseFormatter {
nodeBegin(
context: BaseFormatterContext,
- key: string,
+ _key: string,
leftKey: string | number,
type: DeltaType,
- nodeType: NodeType
+ nodeType: NodeType,
) {
const nodeClass = `jsondiffpatch-${type}${
nodeType ? ` jsondiffpatch-child-node-type-${nodeType}` : ''
@@ -82,7 +83,7 @@ export class HtmlFormatter extends BaseFormatter {
context.out(
`${
typeof leftKey === 'string' ? escapeHTML(leftKey) : leftKey
- }
`
+ }`,
);
}
@@ -92,8 +93,8 @@ export class HtmlFormatter extends BaseFormatter {
format_unchanged(
context: BaseFormatterContext,
- delta: undefined,
- left: unknown
+ _delta: undefined,
+ left: unknown,
) {
if (typeof left === 'undefined') {
return;
@@ -105,8 +106,8 @@ export class HtmlFormatter extends BaseFormatter {
format_movedestination(
context: BaseFormatterContext,
- delta: undefined,
- left: unknown
+ _delta: undefined,
+ left: unknown,
) {
if (typeof left === 'undefined') {
return;
@@ -119,12 +120,12 @@ export class HtmlFormatter extends BaseFormatter {
format_node(
context: BaseFormatterContext,
delta: ObjectDelta | ArrayDelta,
- left: unknown
+ left: unknown,
) {
// recurse
const nodeType = delta._t === 'a' ? 'array' : 'object';
context.out(
- ``
+ ``,
);
this.formatDeltaChildren(context, delta, left);
context.out('
');
diff --git a/src/api/deltaHtml/api.ts b/src/api/deltaHtml/api.ts
index 40d97eb..ffb9e81 100644
--- a/src/api/deltaHtml/api.ts
+++ b/src/api/deltaHtml/api.ts
@@ -1,11 +1,11 @@
-import { HtmlFormatter, type Delta } from './HtmlFormatter.ts';
+import { type Delta, HtmlFormatter } from './HtmlFormatter.ts';
let htmlFormatter: HtmlFormatter;
export function buildDeltaElement(
delta: Delta,
left: unknown,
- hide: boolean
+ hide: boolean,
): Element | null {
if (!htmlFormatter) {
htmlFormatter = new HtmlFormatter();
diff --git a/src/api/diffApi.ts b/src/api/diffApi.ts
index ba3d3f4..6263fb7 100644
--- a/src/api/diffApi.ts
+++ b/src/api/diffApi.ts
@@ -1,9 +1,9 @@
-import { hasValue } from '@/api/toolkit.ts';
+import { hasValue } from './toolkit.ts';
import DiffMatchPatch from 'diff-match-patch';
-import * as jsondiffpatch from 'jsondiffpatch';
+import { create } from 'jsondiffpatch';
export type { Delta } from 'jsondiffpatch';
-const patcher = jsondiffpatch.create({
+const patcher = create({
// used to match objects when diffing arrays, by default only === operator is used
objectHash(obj, index) {
// this function is used only to when objects are not equal by ref
@@ -11,8 +11,8 @@ const patcher = jsondiffpatch.create({
? 'id' in obj && hasValue(obj.id)
? obj.id
: '_id' in obj && hasValue(obj._id)
- ? obj._id
- : index
+ ? obj._id
+ : index
: index;
return hasValue(rv) ? String(rv) : undefined;
diff --git a/src/api/onColourSchemeChange.ts b/src/api/onColourSchemeChange.ts
index be1dc2c..ca89e51 100644
--- a/src/api/onColourSchemeChange.ts
+++ b/src/api/onColourSchemeChange.ts
@@ -4,10 +4,10 @@ export type TColourScheme = 'light' | 'dark';
* NOTE: if OS is dark but devtools is default - then scheme is dark
*/
export function onColourSchemeChange(
- callback: (scheme: TColourScheme) => void
+ callback: (scheme: TColourScheme) => void,
) {
const devtoolsScheme = chrome.devtools.panels.themeName;
- const osDarkScheme = window.matchMedia('(prefers-color-scheme: dark)');
+ const osDarkScheme = globalThis.matchMedia('(prefers-color-scheme: dark)');
if (devtoolsScheme === 'dark' || osDarkScheme.matches) {
callback('dark');
diff --git a/src/api/proxy.ts b/src/api/proxy.ts
index 287619b..0dfe5ac 100644
--- a/src/api/proxy.ts
+++ b/src/api/proxy.ts
@@ -3,11 +3,38 @@ import {
ERROR_PORT_CLOSED,
ERROR_QUOTA_EXCEEDED,
TAG_EMPTY,
-} from '@/api/const.ts';
+} from './const.ts';
+
+export interface ICompareMessagePayload {
+ push?: unknown;
+ left?: unknown;
+ right?: unknown;
+ timestamp: number;
+ [key: string]: unknown;
+}
+
+interface ICompareMessage {
+ source: 'jsdiff-proxy-to-panel-compare';
+ payload: ICompareMessagePayload;
+}
+
+interface IErrorMessage {
+ source: 'jsdiff-proxy-to-panel-error';
+}
+
+interface IProgressMessage {
+ source: 'jsdiff-proxy-to-panel-inprogress';
+ on: boolean;
+}
+
+export type TRuntimeMessageOptions =
+ | ICompareMessage
+ | IProgressMessage
+ | IErrorMessage;
export function proxyMessageGate(
callbackInprogress: (e: MessageEvent) => void,
- callbackCompare: (e: MessageEvent) => Promise
+ callbackCompare: (e: MessageEvent) => Promise,
) {
return function (e: MessageEvent) {
if (e.source === window && typeof e.data === 'object' && e.data !== null) {
@@ -21,14 +48,14 @@ export function proxyMessageGate(
}
export async function proxyCompareHandler(
- e: MessageEvent
+ e: MessageEvent,
): Promise {
try {
const current = e.data.payload;
const { lastApiReq: old } = await chrome.storage.local.get(['lastApiReq']);
const next = processComparisonObject(
old as ICompareMessagePayload,
- current
+ current,
);
// may throw
@@ -38,15 +65,15 @@ export async function proxyCompareHandler(
{
source: 'jsdiff-proxy-to-panel-compare',
} as ICompareMessage,
- handleResponse
+ handleResponse,
);
- } catch (error: any) {
+ } catch (error: unknown) {
if (error?.message === ERROR_QUOTA_EXCEEDED) {
await chrome.storage.local.set({ lastError: ERROR_QUOTA_EXCEEDED });
chrome.runtime.sendMessage(
{ source: 'jsdiff-proxy-to-panel-error' } as IErrorMessage,
- handleResponse
+ handleResponse,
);
} else if (error?.message) {
console.error('Unhnadled', error.message);
@@ -55,20 +82,20 @@ export async function proxyCompareHandler(
}
export function proxyInprogressHandler(
- e: MessageEvent
+ e: MessageEvent,
): void {
chrome.runtime.sendMessage(
{
source: 'jsdiff-proxy-to-panel-inprogress',
on: e.data.on,
} as IProgressMessage,
- handleResponse
+ handleResponse,
);
}
function processComparisonObject(
old: ICompareMessagePayload,
- next: ICompareMessagePayload
+ next: ICompareMessagePayload,
) {
if (!old) {
old = {
diff --git a/src/api/toolkit.ts b/src/api/toolkit.ts
index 1ef8fb9..242a8b0 100644
--- a/src/api/toolkit.ts
+++ b/src/api/toolkit.ts
@@ -17,12 +17,12 @@ export function escapeHTML(str: string) {
return str.replace(
/[&<>"']/g,
(match) =>
- (>{
+ (> {
'&': '&',
'<': '<',
'>': '>',
'"': '"',
"'": ''',
- })[match]
+ })[match],
);
}
diff --git a/src/api/useRuntime.ts b/src/api/useRuntime.ts
index b0efbbb..d17f3f4 100644
--- a/src/api/useRuntime.ts
+++ b/src/api/useRuntime.ts
@@ -2,7 +2,7 @@
* Browser extension runtime connection unified abstraction between chrome and firefox.
* Chrome connection is straightforward, while firefox MV3 still communicates via
* background script port that have limited live-span and should be kept alive
- * while stil in use.
+ * while still in use.
*
* @example
* const runtime = useRuntime(); // once per component setup
@@ -11,15 +11,15 @@
*/
import {
- BACKGROUND_SCRIPT_CONNECTION_NAME,
BACKGROUND_SCRIPT_CONNECTION_INTERVAL,
-} from '@/api/const.ts';
+ BACKGROUND_SCRIPT_CONNECTION_NAME,
+} from './const.ts';
-type TRuntimeListener = (...args: any[]) => void;
+type TRuntimeListener = (...args: unknown[]) => void;
const allListeners = new Set();
-function callAllListeners(...args: any[]) {
+function callAllListeners(...args: unknown[]) {
for (const listener of allListeners) {
listener(...args);
}
@@ -37,6 +37,7 @@ function getFirefoxPort(callback: TRuntimeListener) {
if (typeof browser !== 'undefined') {
// firefox
+ // deno-lint-ignore no-unused-vars
let port = getFirefoxPort(callAllListeners);
setInterval(() => {
@@ -48,7 +49,7 @@ if (typeof browser !== 'undefined') {
}
export function useRuntime() {
- let localListeners = new Set();
+ const localListeners = new Set();
return {
connect(listener: TRuntimeListener) {
diff --git a/src/firefox/background-script.ts b/src/firefox/jsdiff-background.ts
similarity index 77%
rename from src/firefox/background-script.ts
rename to src/firefox/jsdiff-background.ts
index 417b795..ad4b370 100644
--- a/src/firefox/background-script.ts
+++ b/src/firefox/jsdiff-background.ts
@@ -1,16 +1,15 @@
// background script for firefox's partial(?) MV3 implementation
-import { BACKGROUND_SCRIPT_CONNECTION_NAME } from '@/api/const.ts';
+import { BACKGROUND_SCRIPT_CONNECTION_NAME } from '../api/const.ts';
const ports = new Map();
// Listen for connections from DevTools pages
browser.runtime.onConnect.addListener((port) => {
if (port.name === BACKGROUND_SCRIPT_CONNECTION_NAME) {
- const contextId =
- port.sender && 'contextId' in port.sender
- ? (port.sender.contextId as number)
- : -1;
+ const contextId = port.sender && 'contextId' in port.sender
+ ? (port.sender.contextId as number)
+ : -1;
console.assert(contextId !== -1, 'unreliable port.sender.contextId');
if (!ports.has(contextId)) {
@@ -28,7 +27,7 @@ browser.runtime.onConnect.addListener((port) => {
// Listen for messages from content scripts
// and forward the message to the DevTools page connected ports
browser.runtime.onMessage.addListener((msg) => {
- for (const [contextId, port] of ports) {
+ for (const [_contextId, port] of ports) {
port.postMessage(msg);
}
});
diff --git a/src/jsdiff-console.ts b/src/jsdiff-console.ts
index a3485da..899bf3c 100644
--- a/src/jsdiff-console.ts
+++ b/src/jsdiff-console.ts
@@ -1,11 +1,11 @@
-import { post } from '@/api/clone.ts';
+import { post } from './api/consolePost.ts';
const consoleAPI = {
diff: (...args: unknown[]) => {
post(
args.length === 1
? { push: args[0], timestamp: Date.now() }
- : { left: args[0], right: args[1], timestamp: Date.now() }
+ : { left: args[0], right: args[1], timestamp: Date.now() },
);
},
@@ -30,7 +30,7 @@ if (typeof browser === 'undefined') {
// firefox
// the technic described in:
// @link: https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/Sharing_objects_with_page_scripts
- window.wrappedJSObject.jsdiff = cloneInto(consoleAPI, window, {
+ globalThis.wrappedJSObject.jsdiff = cloneInto(consoleAPI, window, {
cloneFunctions: true,
});
console.debug(`✚ jsdiff.diff()`);
diff --git a/src/jsdiff-devtools.ts b/src/jsdiff-devtools.ts
index 41fae97..857e97a 100644
--- a/src/jsdiff-devtools.ts
+++ b/src/jsdiff-devtools.ts
@@ -2,8 +2,8 @@
if (chrome.devtools.inspectedWindow.tabId !== null) {
chrome.devtools.panels.create(
'JSDiff',
- '/bundle/img/panel-icon28.png',
- '/bundle/jsdiff-panel.html',
- (/*panel*/) => {}
+ '/public/img/panel-icon28.png',
+ '/public/jsdiff-panel.html',
+ (/*panel*/) => {},
);
}
diff --git a/src/jsdiff-panel.js b/src/jsdiff-panel.ts
similarity index 69%
rename from src/jsdiff-panel.js
rename to src/jsdiff-panel.ts
index fa84317..0e355a4 100644
--- a/src/jsdiff-panel.js
+++ b/src/jsdiff-panel.ts
@@ -1,7 +1,7 @@
import { createApp } from 'vue';
-import Panel from '@/view/panel.vue';
+import Panel from './view/panel.vue';
import { createPinia } from 'pinia';
-import { compareStoreRuntimeService } from '@/stores/compare.store.ts';
+import { compareStoreRuntimeService } from './stores/compare.store.ts';
import 'jsondiffpatch/formatters/styles/html.css';
createApp(Panel)
diff --git a/src/jsdiff-proxy.ts b/src/jsdiff-proxy.ts
index 5fa2324..dcc4be7 100644
--- a/src/jsdiff-proxy.ts
+++ b/src/jsdiff-proxy.ts
@@ -1,10 +1,10 @@
import {
- proxyMessageGate,
- proxyInprogressHandler,
proxyCompareHandler,
-} from '@/api/proxy.ts';
+ proxyInprogressHandler,
+ proxyMessageGate,
+} from './api/proxy.ts';
-window.addEventListener(
+globalThis.addEventListener(
'message',
- proxyMessageGate(proxyInprogressHandler, proxyCompareHandler)
+ proxyMessageGate(proxyInprogressHandler, proxyCompareHandler),
);
diff --git a/src/stores/compare.store.ts b/src/stores/compare.store.ts
index 801abb3..17d44ec 100644
--- a/src/stores/compare.store.ts
+++ b/src/stores/compare.store.ts
@@ -1,9 +1,16 @@
-import { diff, type Delta } from '@/api/diffApi.ts';
-import { hasValue } from '@/api/toolkit.ts';
+import { type Delta, diff } from '../api/diffApi.ts';
+import { hasValue } from '../api/toolkit.ts';
import { defineStore } from 'pinia';
import { markRaw } from 'vue';
-import { useRuntime } from '@/api/useRuntime.ts';
-import { useSearchStore } from '@/stores/search.store.ts';
+import { useRuntime } from '../api/useRuntime.ts';
+import { useSearchStore } from './search.store.ts';
+import type { TRuntimeMessageOptions } from '../api/proxy.ts';
+
+interface ICompareState {
+ timestamp: number;
+ left?: unknown;
+ right?: unknown;
+}
function defaultCompareState(): ICompareState {
return {
@@ -19,7 +26,7 @@ export const useCompareStore = defineStore('compareStore', {
inprogress: false,
compare: defaultCompareState(),
showOnlyChanged: JSON.parse(
- localStorage.getItem('showOnlyChanged') || 'false'
+ localStorage.getItem('showOnlyChanged') || 'false',
),
lastError: '',
}),
@@ -38,8 +45,9 @@ export const useCompareStore = defineStore('compareStore', {
assign({ left, right, timestamp }: ICompareState) {
this.compare = {
left: left !== null && typeof left === 'object' ? markRaw(left) : left,
- right:
- right !== null && typeof right === 'object' ? markRaw(right) : right,
+ right: right !== null && typeof right === 'object'
+ ? markRaw(right)
+ : right,
timestamp: timestamp || Date.now(),
};
},
@@ -81,10 +89,7 @@ export const compareStoreRuntimeService = {
const { lastError } = await chrome.storage.local.get(['lastError']);
compareStore.lastError = lastError || '';
compareStore.inprogress = false;
- } else if (
- 'jsdiff-proxy-to-panel-inprogress' === e.source &&
- typeof e.on === 'boolean'
- ) {
+ } else if ('jsdiff-proxy-to-panel-inprogress' === e.source) {
compareStore.inprogress = e.on;
} else if ('jsdiff-proxy-to-panel-compare' === e.source) {
compareStore.lastError = '';
@@ -98,7 +103,7 @@ export const compareStoreRuntimeService = {
}
});
- compareStore.$subscribe((mut, state) => {
+ compareStore.$subscribe((_mut, state) => {
localStorage.setItem('showOnlyChanged', String(state.showOnlyChanged));
});
},
diff --git a/src/stores/search.store.ts b/src/stores/search.store.ts
index efc194f..1e8cce0 100644
--- a/src/stores/search.store.ts
+++ b/src/stores/search.store.ts
@@ -1,4 +1,4 @@
-import { UPPERCASE_PATTERN } from '@/api/const.ts';
+import { UPPERCASE_PATTERN } from '../api/const.ts';
import { defineStore } from 'pinia';
import { markRaw } from 'vue';
@@ -34,8 +34,9 @@ export const useSearchStore = defineStore('searchStore', {
},
assignDeltaElement(el: HTMLElement | null) {
- this.deltaEl =
- el && typeof el === 'object' ? markRaw(el) : null;
+ this.deltaEl = el && typeof el === 'object'
+ ? markRaw(el)
+ : null;
this.clear();
},
@@ -55,15 +56,15 @@ export const useSearchStore = defineStore('searchStore', {
this.deltaEl,
this.searchQuery,
UPPERCASE_PATTERN.test(this.searchQuery),
- /*IN/OUT*/ this.foundEls
+ /*IN/OUT*/ this.foundEls,
);
this.currentIndex = -1;
}
}
},
- searchNext(step: -1 | 1, prefferFresh = true) {
- prefferFresh && this._ensureFreshResults();
+ searchNext(step: -1 | 1, preferFresh = true) {
+ preferFresh && this._ensureFreshResults();
if (this.foundEls.length) {
clearCurrent(this.foundEls[this.currentIndex]);
@@ -71,7 +72,7 @@ export const useSearchStore = defineStore('searchStore', {
this.currentIndex += step;
this.currentIndex = indexInBound(
this.currentIndex,
- this.foundEls.length
+ this.foundEls.length,
);
highlightCurrent(this.foundEls[this.currentIndex]);
@@ -114,6 +115,7 @@ function highlightCurrent(el: HTMLElement) {
* Find nodes containing string query recursively
* @param container
* @param query
+ * @param isCaseSensitive
* @param els
* @returns
*/
@@ -121,21 +123,21 @@ function highlightAll(
container: HTMLElement | null,
query: string,
isCaseSensitive: boolean,
- /*IN/OUT*/ els: HTMLElement[]
+ /*IN/OUT*/ els: HTMLElement[],
) {
if (!container) {
return;
}
- const containerNodes = >container.childNodes;
+ const containerNodes = > container.childNodes;
if (!containerNodes.length) {
return;
}
const firstChild = containerNodes[0];
- const isLeafNode =
- containerNodes.length === 1 && firstChild.nodeType === Node.TEXT_NODE;
+ const isLeafNode = containerNodes.length === 1 &&
+ firstChild.nodeType === Node.TEXT_NODE;
if (isLeafNode) {
const text = firstChild.textContent || firstChild.innerText;
@@ -147,8 +149,7 @@ function highlightAll(
return;
}
- const isHidden =
- container.closest('.jsondiffpatch-unchanged-hidden') &&
+ const isHidden = container.closest('.jsondiffpatch-unchanged-hidden') &&
container.closest('.jsondiffpatch-unchanged');
if (isHidden) {
diff --git a/src/view/panel.badge.vue b/src/view/panel.badge.vue
index 93b01e8..a1f4f16 100644
--- a/src/view/panel.badge.vue
+++ b/src/view/panel.badge.vue
@@ -2,13 +2,13 @@