diff --git a/.gitignore b/.gitignore
index b97d7ba2f..37c322c80 100644
--- a/.gitignore
+++ b/.gitignore
@@ -55,5 +55,4 @@ node_modules
stats.html
/coverage
/playwright-report/
-.histoire
diff --git a/env.d.ts b/env.d.ts
index f284c30a9..5cdc6906b 100644
--- a/env.d.ts
+++ b/env.d.ts
@@ -1,5 +1,3 @@
-///
-
///
interface ImportMetaEnv {
diff --git a/histoire.config.ts b/histoire.config.ts
deleted file mode 100644
index 8cd1c1719..000000000
--- a/histoire.config.ts
+++ /dev/null
@@ -1,52 +0,0 @@
-///
-
-import { defineConfig } from "histoire";
-import { HstVue } from "@histoire/plugin-vue";
-import path from "path";
-
-export default defineConfig({
- plugins: [HstVue()],
- setupFile: path.resolve(__dirname, "./src/histoire.setup.ts"),
- viteNodeInlineDeps: [/date-fns/],
- // viteIgnorePlugins: ['vite-plugin-pwa', 'vite-plugin-pwa:build', 'vite-plugin-pwa:info'],
- tree: {
- groups: [
- {
- title: "Actors",
- include: (file) => /^src\/components\/Account/.test(file.path),
- },
- {
- title: "Address",
- include: (file) => /^src\/components\/Address/.test(file.path),
- },
- {
- title: "Comments",
- include: (file) => /^src\/components\/Comment/.test(file.path),
- },
- {
- title: "Discussion",
- include: (file) => /^src\/components\/Discussion/.test(file.path),
- },
- {
- title: "Events",
- include: (file) => /^src\/components\/Event/.test(file.path),
- },
- {
- title: "Groups",
- include: (file) => /^src\/components\/Group/.test(file.path),
- },
- {
- title: "Home",
- include: (file) => /^src\/components\/Home/.test(file.path),
- },
- {
- title: "Posts",
- include: (file) => /^src\/components\/Post/.test(file.path),
- },
- {
- title: "Others",
- include: () => true,
- },
- ],
- },
-});
diff --git a/package-lock.json b/package-lock.json
index 0b219ec26..88a47c85e 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -90,7 +90,6 @@
},
"devDependencies": {
"@eslint/js": "^9.38.0",
- "@histoire/plugin-vue": "^0.17.1",
"@playwright/test": "^1.25.1",
"@rushstack/eslint-patch": "^1.1.4",
"@tailwindcss/forms": "^0.5.2",
@@ -103,9 +102,9 @@
"@types/ngeohash": "^0.6.2",
"@types/phoenix": "^1.5.2",
"@types/sanitize-html": "^2.5.0",
- "@vitejs/plugin-vue": "^5.0.0",
- "@vitest/coverage-v8": "^1.2.2",
- "@vitest/ui": "^1.2.2",
+ "@vitejs/plugin-vue": "^6.0.1",
+ "@vitest/coverage-v8": "^4.0.2",
+ "@vitest/ui": "^4.0.2",
"@vue/eslint-config-prettier": "^10.2.0",
"@vue/eslint-config-typescript": "^14.6.0",
"@vue/test-utils": "^2.0.2",
@@ -116,32 +115,21 @@
"eslint-plugin-vue": "^10.5.1",
"flush-promises": "^1.0.2",
"globals": "^16.4.0",
- "histoire": "^0.17.0",
"husky": "^9.0.10",
"jsdom": "^24.0.0",
- "lint-staged": "^15.1.0",
+ "lint-staged": "^16.2.6",
"mock-apollo-client": "^1.1.0",
"prettier": "^3.0.0",
"prettier-eslint": "^16.1.2",
- "rollup-plugin-visualizer": "^5.7.1",
+ "rollup-plugin-visualizer": "^6.0.5",
"sass": "^1.34.1",
"typescript": "^5.9.3",
"typescript-eslint": "^8.46.2",
- "vite": "^5.0.12",
- "vite-plugin-pwa": "^0.19.0",
- "vitest": "^1.2.2",
+ "vite": "^7.1.12",
+ "vite-plugin-pwa": "^1.1.0",
+ "vitest": "^4.0.2",
"vue-i18n-extract": "^2.0.4",
- "vue-router-mock": "^1.0.0"
- }
- },
- "node_modules/@akryum/tinypool": {
- "version": "0.3.1",
- "resolved": "https://registry.npmjs.org/@akryum/tinypool/-/tinypool-0.3.1.tgz",
- "integrity": "sha512-nznEC1ZA/m3hQDEnrGQ4c5gkaa9pcaVnw4LFJyzBAaR7E3nfiAPEHS3otnSafpZouVnoKeITl5D+2LsnwlnK8g==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=14.0.0"
+ "vue-router-mock": "^2.0.0"
}
},
"node_modules/@alloc/quick-lru": {
@@ -156,20 +144,6 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/@ampproject/remapping": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz",
- "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==",
- "dev": true,
- "license": "Apache-2.0",
- "dependencies": {
- "@jridgewell/gen-mapping": "^0.3.5",
- "@jridgewell/trace-mapping": "^0.3.24"
- },
- "engines": {
- "node": ">=6.0.0"
- }
- },
"node_modules/@apollo/client": {
"version": "3.14.0",
"resolved": "https://registry.npmjs.org/@apollo/client/-/client-3.14.0.tgz",
@@ -242,9 +216,9 @@
}
},
"node_modules/@babel/compat-data": {
- "version": "7.28.4",
- "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.28.4.tgz",
- "integrity": "sha512-YsmSKC29MJwf0gF8Rjjrg5LQCmyh+j/nD8/eP7f+BeoQTKYqs9RoWbjGOdy0+1Ekr68RJZMUOPVQaQisnIo4Rw==",
+ "version": "7.28.5",
+ "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.28.5.tgz",
+ "integrity": "sha512-6uFXyCayocRbqhZOB+6XcuZbkMNimwfVGFji8CTZnCzOHVGvDqzvitu1re2AU5LROliz7eQPhB8CpAMvnx9EjA==",
"dev": true,
"license": "MIT",
"engines": {
@@ -252,21 +226,21 @@
}
},
"node_modules/@babel/core": {
- "version": "7.28.4",
- "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.28.4.tgz",
- "integrity": "sha512-2BCOP7TN8M+gVDj7/ht3hsaO/B/n5oDbiAyyvnRlNOs+u1o+JWNYTQrmpuNp1/Wq2gcFrI01JAW+paEKDMx/CA==",
+ "version": "7.28.5",
+ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.28.5.tgz",
+ "integrity": "sha512-e7jT4DxYvIDLk1ZHmU/m/mB19rex9sv0c2ftBtjSBv+kVM/902eh0fINUzD7UwLLNR+jU585GxUJ8/EBfAM5fw==",
"dev": true,
"license": "MIT",
"dependencies": {
"@babel/code-frame": "^7.27.1",
- "@babel/generator": "^7.28.3",
+ "@babel/generator": "^7.28.5",
"@babel/helper-compilation-targets": "^7.27.2",
"@babel/helper-module-transforms": "^7.28.3",
"@babel/helpers": "^7.28.4",
- "@babel/parser": "^7.28.4",
+ "@babel/parser": "^7.28.5",
"@babel/template": "^7.27.2",
- "@babel/traverse": "^7.28.4",
- "@babel/types": "^7.28.4",
+ "@babel/traverse": "^7.28.5",
+ "@babel/types": "^7.28.5",
"@jridgewell/remapping": "^2.3.5",
"convert-source-map": "^2.0.0",
"debug": "^4.1.0",
@@ -306,14 +280,14 @@
}
},
"node_modules/@babel/generator": {
- "version": "7.28.3",
- "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.28.3.tgz",
- "integrity": "sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw==",
+ "version": "7.28.5",
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.28.5.tgz",
+ "integrity": "sha512-3EwLFhZ38J4VyIP6WNtt2kUdW9dokXA9Cr4IVIFHuCpZ3H8/YFOl5JjZHisrn1fATPBmKKqXzDFvh9fUwHz6CQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/parser": "^7.28.3",
- "@babel/types": "^7.28.2",
+ "@babel/parser": "^7.28.5",
+ "@babel/types": "^7.28.5",
"@jridgewell/gen-mapping": "^0.3.12",
"@jridgewell/trace-mapping": "^0.3.28",
"jsesc": "^3.0.2"
@@ -373,18 +347,18 @@
}
},
"node_modules/@babel/helper-create-class-features-plugin": {
- "version": "7.28.3",
- "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.28.3.tgz",
- "integrity": "sha512-V9f6ZFIYSLNEbuGA/92uOvYsGCJNsuA8ESZ4ldc09bWk/j8H8TKiPw8Mk1eG6olpnO0ALHJmYfZvF4MEE4gajg==",
+ "version": "7.28.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.28.5.tgz",
+ "integrity": "sha512-q3WC4JfdODypvxArsJQROfupPBq9+lMwjKq7C33GhbFYJsufD0yd/ziwD+hJucLeWsnFPWZjsU2DNFqBPE7jwQ==",
"dev": true,
"license": "MIT",
"dependencies": {
"@babel/helper-annotate-as-pure": "^7.27.3",
- "@babel/helper-member-expression-to-functions": "^7.27.1",
+ "@babel/helper-member-expression-to-functions": "^7.28.5",
"@babel/helper-optimise-call-expression": "^7.27.1",
"@babel/helper-replace-supers": "^7.27.1",
"@babel/helper-skip-transparent-expression-wrappers": "^7.27.1",
- "@babel/traverse": "^7.28.3",
+ "@babel/traverse": "^7.28.5",
"semver": "^6.3.1"
},
"engines": {
@@ -405,14 +379,14 @@
}
},
"node_modules/@babel/helper-create-regexp-features-plugin": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.27.1.tgz",
- "integrity": "sha512-uVDC72XVf8UbrH5qQTc18Agb8emwjTiZrQE11Nv3CuBEZmVvTwwE9CBUEvHku06gQCAyYf8Nv6ja1IN+6LMbxQ==",
+ "version": "7.28.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.28.5.tgz",
+ "integrity": "sha512-N1EhvLtHzOvj7QQOUCCS3NrPJP8c5W6ZXCHDn7Yialuy1iu4r5EmIYkXlKNqT99Ciw+W0mDqWoR6HWMZlFP3hw==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/helper-annotate-as-pure": "^7.27.1",
- "regexpu-core": "^6.2.0",
+ "@babel/helper-annotate-as-pure": "^7.27.3",
+ "regexpu-core": "^6.3.1",
"semver": "^6.3.1"
},
"engines": {
@@ -460,14 +434,14 @@
}
},
"node_modules/@babel/helper-member-expression-to-functions": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.27.1.tgz",
- "integrity": "sha512-E5chM8eWjTp/aNoVpcbfM7mLxu9XGLWYise2eBKGQomAk/Mb4XoxyqXTZbuTohbsl8EKqdlMhnDI2CCLfcs9wA==",
+ "version": "7.28.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.28.5.tgz",
+ "integrity": "sha512-cwM7SBRZcPCLgl8a7cY0soT1SptSzAlMH39vwiRpOQkJlh53r5hdHwLSCZpQdVLT39sZt+CRpNwYG4Y2v77atg==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/traverse": "^7.27.1",
- "@babel/types": "^7.27.1"
+ "@babel/traverse": "^7.28.5",
+ "@babel/types": "^7.28.5"
},
"engines": {
"node": ">=6.9.0"
@@ -588,9 +562,9 @@
}
},
"node_modules/@babel/helper-validator-identifier": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz",
- "integrity": "sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==",
+ "version": "7.28.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz",
+ "integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==",
"license": "MIT",
"engines": {
"node": ">=6.9.0"
@@ -636,12 +610,12 @@
}
},
"node_modules/@babel/parser": {
- "version": "7.28.4",
- "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.28.4.tgz",
- "integrity": "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg==",
+ "version": "7.28.5",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.28.5.tgz",
+ "integrity": "sha512-KKBU1VGYR7ORr3At5HAtUQ+TV3SzRCXmA/8OdDZiLDBIZxVyzXuztPjfLd3BV1PRAQGCMWWSHYhL0F8d5uHBDQ==",
"license": "MIT",
"dependencies": {
- "@babel/types": "^7.28.4"
+ "@babel/types": "^7.28.5"
},
"bin": {
"parser": "bin/babel-parser.js"
@@ -651,14 +625,14 @@
}
},
"node_modules/@babel/plugin-bugfix-firefox-class-in-computed-class-key": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.27.1.tgz",
- "integrity": "sha512-QPG3C9cCVRQLxAVwmefEmwdTanECuUBMQZ/ym5kiw3XKCGA7qkuQLcjWWHcrD/GKbn/WmJwaezfuuAOcyKlRPA==",
+ "version": "7.28.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.28.5.tgz",
+ "integrity": "sha512-87GDMS3tsmMSi/3bWOte1UblL+YUTFMV8SZPZ2eSEL17s74Cw/l63rR6NmGVKMYW2GYi85nE+/d6Hw5N0bEk2Q==",
"dev": true,
"license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^7.27.1",
- "@babel/traverse": "^7.27.1"
+ "@babel/traverse": "^7.28.5"
},
"engines": {
"node": ">=6.9.0"
@@ -865,9 +839,9 @@
}
},
"node_modules/@babel/plugin-transform-block-scoping": {
- "version": "7.28.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.28.4.tgz",
- "integrity": "sha512-1yxmvN0MJHOhPVmAsmoW5liWwoILobu/d/ShymZmj867bAdxGbehIrew1DuLpw2Ukv+qDSSPQdYW1dLNE7t11A==",
+ "version": "7.28.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.28.5.tgz",
+ "integrity": "sha512-45DmULpySVvmq9Pj3X9B+62Xe+DJGov27QravQJU1LLcapR6/10i+gYVAucGGJpHBp5mYxIMK4nDAT/QDLr47g==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -953,14 +927,14 @@
}
},
"node_modules/@babel/plugin-transform-destructuring": {
- "version": "7.28.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.28.0.tgz",
- "integrity": "sha512-v1nrSMBiKcodhsyJ4Gf+Z0U/yawmJDBOTpEB3mcQY52r9RIyPneGyAS/yM6seP/8I+mWI3elOMtT5dB8GJVs+A==",
+ "version": "7.28.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.28.5.tgz",
+ "integrity": "sha512-Kl9Bc6D0zTUcFUvkNuQh4eGXPKKNDOJQXVyyM4ZAQPMveniJdxi8XMJwLo+xSoW3MIq81bD33lcUe9kZpl0MCw==",
"dev": true,
"license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^7.27.1",
- "@babel/traverse": "^7.28.0"
+ "@babel/traverse": "^7.28.5"
},
"engines": {
"node": ">=6.9.0"
@@ -1053,9 +1027,9 @@
}
},
"node_modules/@babel/plugin-transform-exponentiation-operator": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.27.1.tgz",
- "integrity": "sha512-uspvXnhHvGKf2r4VVtBpeFnuDWsJLQ6MF6lGJLC89jBR1uoVeqM416AZtTuhTezOfgHicpJQmoD5YUakO/YmXQ==",
+ "version": "7.28.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.28.5.tgz",
+ "integrity": "sha512-D4WIMaFtwa2NizOp+dnoFjRez/ClKiC2BqqImwKd1X28nqBtZEyCYJ2ozQrrzlxAFrcrjxo39S6khe9RNDlGzw==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -1152,9 +1126,9 @@
}
},
"node_modules/@babel/plugin-transform-logical-assignment-operators": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.27.1.tgz",
- "integrity": "sha512-SJvDs5dXxiae4FbSL1aBJlG4wvl594N6YEVVn9e3JGulwioy6z3oPjx/sQBO3Y4NwUu5HNix6KJ3wBZoewcdbw==",
+ "version": "7.28.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.28.5.tgz",
+ "integrity": "sha512-axUuqnUTBuXyHGcJEVVh9pORaN6wC5bYfE7FGzPiaWa3syib9m7g+/IT/4VgCOe2Upef43PHzeAvcrVek6QuuA==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -1218,16 +1192,16 @@
}
},
"node_modules/@babel/plugin-transform-modules-systemjs": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.27.1.tgz",
- "integrity": "sha512-w5N1XzsRbc0PQStASMksmUeqECuzKuTJer7kFagK8AXgpCMkeDMO5S+aaFb7A51ZYDF7XI34qsTX+fkHiIm5yA==",
+ "version": "7.28.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.28.5.tgz",
+ "integrity": "sha512-vn5Jma98LCOeBy/KpeQhXcV2WZgaRUtjwQmjoBuLNlOmkg0fB5pdvYVeWRYI69wWKwK2cD1QbMiUQnoujWvrew==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/helper-module-transforms": "^7.27.1",
+ "@babel/helper-module-transforms": "^7.28.3",
"@babel/helper-plugin-utils": "^7.27.1",
- "@babel/helper-validator-identifier": "^7.27.1",
- "@babel/traverse": "^7.27.1"
+ "@babel/helper-validator-identifier": "^7.28.5",
+ "@babel/traverse": "^7.28.5"
},
"engines": {
"node": ">=6.9.0"
@@ -1372,9 +1346,9 @@
}
},
"node_modules/@babel/plugin-transform-optional-chaining": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.27.1.tgz",
- "integrity": "sha512-BQmKPPIuc8EkZgNKsv0X4bPmOoayeu4F1YCwx2/CfmDSXDbp7GnzlUH+/ul5VGfRg1AoFPsrIThlEBj2xb4CAg==",
+ "version": "7.28.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.28.5.tgz",
+ "integrity": "sha512-N6fut9IZlPnjPwgiQkXNhb+cT8wQKFlJNqcZkWlcTqkcqx6/kU4ynGmLFoa4LViBSirn05YAwk+sQBbPfxtYzQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -1653,17 +1627,17 @@
}
},
"node_modules/@babel/preset-env": {
- "version": "7.28.3",
- "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.28.3.tgz",
- "integrity": "sha512-ROiDcM+GbYVPYBOeCR6uBXKkQpBExLl8k9HO1ygXEyds39j+vCCsjmj7S8GOniZQlEs81QlkdJZe76IpLSiqpg==",
+ "version": "7.28.5",
+ "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.28.5.tgz",
+ "integrity": "sha512-S36mOoi1Sb6Fz98fBfE+UZSpYw5mJm0NUHtIKrOuNcqeFauy1J6dIvXm2KRVKobOSaGq4t/hBXdN4HGU3wL9Wg==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/compat-data": "^7.28.0",
+ "@babel/compat-data": "^7.28.5",
"@babel/helper-compilation-targets": "^7.27.2",
"@babel/helper-plugin-utils": "^7.27.1",
"@babel/helper-validator-option": "^7.27.1",
- "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.27.1",
+ "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.28.5",
"@babel/plugin-bugfix-safari-class-field-initializer-scope": "^7.27.1",
"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.27.1",
"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.27.1",
@@ -1676,42 +1650,42 @@
"@babel/plugin-transform-async-generator-functions": "^7.28.0",
"@babel/plugin-transform-async-to-generator": "^7.27.1",
"@babel/plugin-transform-block-scoped-functions": "^7.27.1",
- "@babel/plugin-transform-block-scoping": "^7.28.0",
+ "@babel/plugin-transform-block-scoping": "^7.28.5",
"@babel/plugin-transform-class-properties": "^7.27.1",
"@babel/plugin-transform-class-static-block": "^7.28.3",
- "@babel/plugin-transform-classes": "^7.28.3",
+ "@babel/plugin-transform-classes": "^7.28.4",
"@babel/plugin-transform-computed-properties": "^7.27.1",
- "@babel/plugin-transform-destructuring": "^7.28.0",
+ "@babel/plugin-transform-destructuring": "^7.28.5",
"@babel/plugin-transform-dotall-regex": "^7.27.1",
"@babel/plugin-transform-duplicate-keys": "^7.27.1",
"@babel/plugin-transform-duplicate-named-capturing-groups-regex": "^7.27.1",
"@babel/plugin-transform-dynamic-import": "^7.27.1",
"@babel/plugin-transform-explicit-resource-management": "^7.28.0",
- "@babel/plugin-transform-exponentiation-operator": "^7.27.1",
+ "@babel/plugin-transform-exponentiation-operator": "^7.28.5",
"@babel/plugin-transform-export-namespace-from": "^7.27.1",
"@babel/plugin-transform-for-of": "^7.27.1",
"@babel/plugin-transform-function-name": "^7.27.1",
"@babel/plugin-transform-json-strings": "^7.27.1",
"@babel/plugin-transform-literals": "^7.27.1",
- "@babel/plugin-transform-logical-assignment-operators": "^7.27.1",
+ "@babel/plugin-transform-logical-assignment-operators": "^7.28.5",
"@babel/plugin-transform-member-expression-literals": "^7.27.1",
"@babel/plugin-transform-modules-amd": "^7.27.1",
"@babel/plugin-transform-modules-commonjs": "^7.27.1",
- "@babel/plugin-transform-modules-systemjs": "^7.27.1",
+ "@babel/plugin-transform-modules-systemjs": "^7.28.5",
"@babel/plugin-transform-modules-umd": "^7.27.1",
"@babel/plugin-transform-named-capturing-groups-regex": "^7.27.1",
"@babel/plugin-transform-new-target": "^7.27.1",
"@babel/plugin-transform-nullish-coalescing-operator": "^7.27.1",
"@babel/plugin-transform-numeric-separator": "^7.27.1",
- "@babel/plugin-transform-object-rest-spread": "^7.28.0",
+ "@babel/plugin-transform-object-rest-spread": "^7.28.4",
"@babel/plugin-transform-object-super": "^7.27.1",
"@babel/plugin-transform-optional-catch-binding": "^7.27.1",
- "@babel/plugin-transform-optional-chaining": "^7.27.1",
+ "@babel/plugin-transform-optional-chaining": "^7.28.5",
"@babel/plugin-transform-parameters": "^7.27.7",
"@babel/plugin-transform-private-methods": "^7.27.1",
"@babel/plugin-transform-private-property-in-object": "^7.27.1",
"@babel/plugin-transform-property-literals": "^7.27.1",
- "@babel/plugin-transform-regenerator": "^7.28.3",
+ "@babel/plugin-transform-regenerator": "^7.28.4",
"@babel/plugin-transform-regexp-modifiers": "^7.27.1",
"@babel/plugin-transform-reserved-words": "^7.27.1",
"@babel/plugin-transform-shorthand-properties": "^7.27.1",
@@ -1787,18 +1761,18 @@
}
},
"node_modules/@babel/traverse": {
- "version": "7.28.4",
- "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.28.4.tgz",
- "integrity": "sha512-YEzuboP2qvQavAcjgQNVgsvHIDv6ZpwXvcvjmyySP2DIMuByS/6ioU5G9pYrWHM6T2YDfc7xga9iNzYOs12CFQ==",
+ "version": "7.28.5",
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.28.5.tgz",
+ "integrity": "sha512-TCCj4t55U90khlYkVV/0TfkJkAkUg3jZFA3Neb7unZT8CPok7iiRfaX0F+WnqWqt7OxhOn0uBKXCw4lbL8W0aQ==",
"dev": true,
"license": "MIT",
"dependencies": {
"@babel/code-frame": "^7.27.1",
- "@babel/generator": "^7.28.3",
+ "@babel/generator": "^7.28.5",
"@babel/helper-globals": "^7.28.0",
- "@babel/parser": "^7.28.4",
+ "@babel/parser": "^7.28.5",
"@babel/template": "^7.27.2",
- "@babel/types": "^7.28.4",
+ "@babel/types": "^7.28.5",
"debug": "^4.3.1"
},
"engines": {
@@ -1806,110 +1780,26 @@
}
},
"node_modules/@babel/types": {
- "version": "7.28.4",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.28.4.tgz",
- "integrity": "sha512-bkFqkLhh3pMBUQQkpVgWDWq/lqzc2678eUyDlTBhRqhCHFguYYGM0Efga7tYk4TogG/3x0EEl66/OQ+WGbWB/Q==",
+ "version": "7.28.5",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.28.5.tgz",
+ "integrity": "sha512-qQ5m48eI/MFLQ5PxQj4PFaprjyCTLI37ElWMmNs0K8Lk3dVeOdNpB3ks8jc7yM5CDmVC73eMVk/trk3fgmrUpA==",
"license": "MIT",
"dependencies": {
"@babel/helper-string-parser": "^7.27.1",
- "@babel/helper-validator-identifier": "^7.27.1"
+ "@babel/helper-validator-identifier": "^7.28.5"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@bcoe/v8-coverage": {
- "version": "0.2.3",
- "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz",
- "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@codemirror/commands": {
- "version": "6.9.0",
- "resolved": "https://registry.npmjs.org/@codemirror/commands/-/commands-6.9.0.tgz",
- "integrity": "sha512-454TVgjhO6cMufsyyGN70rGIfJxJEjcqjBG2x2Y03Y/+Fm99d3O/Kv1QDYWuG6hvxsgmjXmBuATikIIYvERX+w==",
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-1.0.2.tgz",
+ "integrity": "sha512-6zABk/ECA/QYSCQ1NGiVwwbQerUCZ+TQbp64Q3AgmfNvurHH0j8TtXa1qbShXA6qqkpAj4V5W8pP6mLe1mcMqA==",
"dev": true,
"license": "MIT",
- "dependencies": {
- "@codemirror/language": "^6.0.0",
- "@codemirror/state": "^6.4.0",
- "@codemirror/view": "^6.27.0",
- "@lezer/common": "^1.1.0"
- }
- },
- "node_modules/@codemirror/lang-json": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/@codemirror/lang-json/-/lang-json-6.0.2.tgz",
- "integrity": "sha512-x2OtO+AvwEHrEwR0FyyPtfDUiloG3rnVTSZV1W8UteaLL8/MajQd8DpvUb2YVzC+/T18aSDv0H9mu+xw0EStoQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@codemirror/language": "^6.0.0",
- "@lezer/json": "^1.0.0"
- }
- },
- "node_modules/@codemirror/language": {
- "version": "6.11.3",
- "resolved": "https://registry.npmjs.org/@codemirror/language/-/language-6.11.3.tgz",
- "integrity": "sha512-9HBM2XnwDj7fnu0551HkGdrUrrqmYq/WC5iv6nbY2WdicXdGbhR/gfbZOH73Aqj4351alY1+aoG9rCNfiwS1RA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@codemirror/state": "^6.0.0",
- "@codemirror/view": "^6.23.0",
- "@lezer/common": "^1.1.0",
- "@lezer/highlight": "^1.0.0",
- "@lezer/lr": "^1.0.0",
- "style-mod": "^4.0.0"
- }
- },
- "node_modules/@codemirror/lint": {
- "version": "6.9.0",
- "resolved": "https://registry.npmjs.org/@codemirror/lint/-/lint-6.9.0.tgz",
- "integrity": "sha512-wZxW+9XDytH3SKvS8cQzMyQCaaazH8XL1EMHleHe00wVzsv7NBQKVW2yzEHrRhmM7ZOhVdItPbvlRBvMp9ej7A==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@codemirror/state": "^6.0.0",
- "@codemirror/view": "^6.35.0",
- "crelt": "^1.0.5"
- }
- },
- "node_modules/@codemirror/state": {
- "version": "6.5.2",
- "resolved": "https://registry.npmjs.org/@codemirror/state/-/state-6.5.2.tgz",
- "integrity": "sha512-FVqsPqtPWKVVL3dPSxy8wEF/ymIEuVzF1PK3VbUgrxXpJUSHQWWZz4JMToquRxnkw+36LTamCZG2iua2Ptq0fA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@marijn/find-cluster-break": "^1.0.0"
- }
- },
- "node_modules/@codemirror/theme-one-dark": {
- "version": "6.1.3",
- "resolved": "https://registry.npmjs.org/@codemirror/theme-one-dark/-/theme-one-dark-6.1.3.tgz",
- "integrity": "sha512-NzBdIvEJmx6fjeremiGp3t/okrLPYT0d9orIc7AFun8oZcRk58aejkqhv6spnz4MLAevrKNPMQYXEWMg4s+sKA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@codemirror/language": "^6.0.0",
- "@codemirror/state": "^6.0.0",
- "@codemirror/view": "^6.0.0",
- "@lezer/highlight": "^1.0.0"
- }
- },
- "node_modules/@codemirror/view": {
- "version": "6.38.6",
- "resolved": "https://registry.npmjs.org/@codemirror/view/-/view-6.38.6.tgz",
- "integrity": "sha512-qiS0z1bKs5WOvHIAC0Cybmv4AJSkAXgX5aD6Mqd2epSLlVJsQl8NG23jCVouIgkh4All/mrbdsf2UOLFnJw0tw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@codemirror/state": "^6.5.0",
- "crelt": "^1.0.6",
- "style-mod": "^4.1.0",
- "w3c-keyname": "^2.2.4"
+ "engines": {
+ "node": ">=18"
}
},
"node_modules/@csstools/color-helpers": {
@@ -2028,9 +1918,9 @@
}
},
"node_modules/@esbuild/aix-ppc64": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz",
- "integrity": "sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==",
+ "version": "0.25.11",
+ "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.11.tgz",
+ "integrity": "sha512-Xt1dOL13m8u0WE8iplx9Ibbm+hFAO0GsU2P34UNoDGvZYkY8ifSiy6Zuc1lYxfG7svWE2fzqCUmFp5HCn51gJg==",
"cpu": [
"ppc64"
],
@@ -2041,13 +1931,13 @@
"aix"
],
"engines": {
- "node": ">=12"
+ "node": ">=18"
}
},
"node_modules/@esbuild/android-arm": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.21.5.tgz",
- "integrity": "sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==",
+ "version": "0.25.11",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.11.tgz",
+ "integrity": "sha512-uoa7dU+Dt3HYsethkJ1k6Z9YdcHjTrSb5NUy66ZfZaSV8hEYGD5ZHbEMXnqLFlbBflLsl89Zke7CAdDJ4JI+Gg==",
"cpu": [
"arm"
],
@@ -2058,13 +1948,13 @@
"android"
],
"engines": {
- "node": ">=12"
+ "node": ">=18"
}
},
"node_modules/@esbuild/android-arm64": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz",
- "integrity": "sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==",
+ "version": "0.25.11",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.11.tgz",
+ "integrity": "sha512-9slpyFBc4FPPz48+f6jyiXOx/Y4v34TUeDDXJpZqAWQn/08lKGeD8aDp9TMn9jDz2CiEuHwfhRmGBvpnd/PWIQ==",
"cpu": [
"arm64"
],
@@ -2075,13 +1965,13 @@
"android"
],
"engines": {
- "node": ">=12"
+ "node": ">=18"
}
},
"node_modules/@esbuild/android-x64": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.21.5.tgz",
- "integrity": "sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==",
+ "version": "0.25.11",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.11.tgz",
+ "integrity": "sha512-Sgiab4xBjPU1QoPEIqS3Xx+R2lezu0LKIEcYe6pftr56PqPygbB7+szVnzoShbx64MUupqoE0KyRlN7gezbl8g==",
"cpu": [
"x64"
],
@@ -2092,13 +1982,13 @@
"android"
],
"engines": {
- "node": ">=12"
+ "node": ">=18"
}
},
"node_modules/@esbuild/darwin-arm64": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz",
- "integrity": "sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==",
+ "version": "0.25.11",
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.11.tgz",
+ "integrity": "sha512-VekY0PBCukppoQrycFxUqkCojnTQhdec0vevUL/EDOCnXd9LKWqD/bHwMPzigIJXPhC59Vd1WFIL57SKs2mg4w==",
"cpu": [
"arm64"
],
@@ -2109,13 +1999,13 @@
"darwin"
],
"engines": {
- "node": ">=12"
+ "node": ">=18"
}
},
"node_modules/@esbuild/darwin-x64": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz",
- "integrity": "sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==",
+ "version": "0.25.11",
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.11.tgz",
+ "integrity": "sha512-+hfp3yfBalNEpTGp9loYgbknjR695HkqtY3d3/JjSRUyPg/xd6q+mQqIb5qdywnDxRZykIHs3axEqU6l1+oWEQ==",
"cpu": [
"x64"
],
@@ -2126,13 +2016,13 @@
"darwin"
],
"engines": {
- "node": ">=12"
+ "node": ">=18"
}
},
"node_modules/@esbuild/freebsd-arm64": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz",
- "integrity": "sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==",
+ "version": "0.25.11",
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.11.tgz",
+ "integrity": "sha512-CmKjrnayyTJF2eVuO//uSjl/K3KsMIeYeyN7FyDBjsR3lnSJHaXlVoAK8DZa7lXWChbuOk7NjAc7ygAwrnPBhA==",
"cpu": [
"arm64"
],
@@ -2143,13 +2033,13 @@
"freebsd"
],
"engines": {
- "node": ">=12"
+ "node": ">=18"
}
},
"node_modules/@esbuild/freebsd-x64": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz",
- "integrity": "sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==",
+ "version": "0.25.11",
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.11.tgz",
+ "integrity": "sha512-Dyq+5oscTJvMaYPvW3x3FLpi2+gSZTCE/1ffdwuM6G1ARang/mb3jvjxs0mw6n3Lsw84ocfo9CrNMqc5lTfGOw==",
"cpu": [
"x64"
],
@@ -2160,13 +2050,13 @@
"freebsd"
],
"engines": {
- "node": ">=12"
+ "node": ">=18"
}
},
"node_modules/@esbuild/linux-arm": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz",
- "integrity": "sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==",
+ "version": "0.25.11",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.11.tgz",
+ "integrity": "sha512-TBMv6B4kCfrGJ8cUPo7vd6NECZH/8hPpBHHlYI3qzoYFvWu2AdTvZNuU/7hsbKWqu/COU7NIK12dHAAqBLLXgw==",
"cpu": [
"arm"
],
@@ -2177,13 +2067,13 @@
"linux"
],
"engines": {
- "node": ">=12"
+ "node": ">=18"
}
},
"node_modules/@esbuild/linux-arm64": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz",
- "integrity": "sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==",
+ "version": "0.25.11",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.11.tgz",
+ "integrity": "sha512-Qr8AzcplUhGvdyUF08A1kHU3Vr2O88xxP0Tm8GcdVOUm25XYcMPp2YqSVHbLuXzYQMf9Bh/iKx7YPqECs6ffLA==",
"cpu": [
"arm64"
],
@@ -2194,13 +2084,13 @@
"linux"
],
"engines": {
- "node": ">=12"
+ "node": ">=18"
}
},
"node_modules/@esbuild/linux-ia32": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz",
- "integrity": "sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==",
+ "version": "0.25.11",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.11.tgz",
+ "integrity": "sha512-TmnJg8BMGPehs5JKrCLqyWTVAvielc615jbkOirATQvWWB1NMXY77oLMzsUjRLa0+ngecEmDGqt5jiDC6bfvOw==",
"cpu": [
"ia32"
],
@@ -2211,13 +2101,13 @@
"linux"
],
"engines": {
- "node": ">=12"
+ "node": ">=18"
}
},
"node_modules/@esbuild/linux-loong64": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz",
- "integrity": "sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==",
+ "version": "0.25.11",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.11.tgz",
+ "integrity": "sha512-DIGXL2+gvDaXlaq8xruNXUJdT5tF+SBbJQKbWy/0J7OhU8gOHOzKmGIlfTTl6nHaCOoipxQbuJi7O++ldrxgMw==",
"cpu": [
"loong64"
],
@@ -2228,13 +2118,13 @@
"linux"
],
"engines": {
- "node": ">=12"
+ "node": ">=18"
}
},
"node_modules/@esbuild/linux-mips64el": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz",
- "integrity": "sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==",
+ "version": "0.25.11",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.11.tgz",
+ "integrity": "sha512-Osx1nALUJu4pU43o9OyjSCXokFkFbyzjXb6VhGIJZQ5JZi8ylCQ9/LFagolPsHtgw6himDSyb5ETSfmp4rpiKQ==",
"cpu": [
"mips64el"
],
@@ -2245,13 +2135,13 @@
"linux"
],
"engines": {
- "node": ">=12"
+ "node": ">=18"
}
},
"node_modules/@esbuild/linux-ppc64": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz",
- "integrity": "sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==",
+ "version": "0.25.11",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.11.tgz",
+ "integrity": "sha512-nbLFgsQQEsBa8XSgSTSlrnBSrpoWh7ioFDUmwo158gIm5NNP+17IYmNWzaIzWmgCxq56vfr34xGkOcZ7jX6CPw==",
"cpu": [
"ppc64"
],
@@ -2262,13 +2152,13 @@
"linux"
],
"engines": {
- "node": ">=12"
+ "node": ">=18"
}
},
"node_modules/@esbuild/linux-riscv64": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz",
- "integrity": "sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==",
+ "version": "0.25.11",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.11.tgz",
+ "integrity": "sha512-HfyAmqZi9uBAbgKYP1yGuI7tSREXwIb438q0nqvlpxAOs3XnZ8RsisRfmVsgV486NdjD7Mw2UrFSw51lzUk1ww==",
"cpu": [
"riscv64"
],
@@ -2279,13 +2169,13 @@
"linux"
],
"engines": {
- "node": ">=12"
+ "node": ">=18"
}
},
"node_modules/@esbuild/linux-s390x": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz",
- "integrity": "sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==",
+ "version": "0.25.11",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.11.tgz",
+ "integrity": "sha512-HjLqVgSSYnVXRisyfmzsH6mXqyvj0SA7pG5g+9W7ESgwA70AXYNpfKBqh1KbTxmQVaYxpzA/SvlB9oclGPbApw==",
"cpu": [
"s390x"
],
@@ -2296,13 +2186,13 @@
"linux"
],
"engines": {
- "node": ">=12"
+ "node": ">=18"
}
},
"node_modules/@esbuild/linux-x64": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz",
- "integrity": "sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==",
+ "version": "0.25.11",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.11.tgz",
+ "integrity": "sha512-HSFAT4+WYjIhrHxKBwGmOOSpphjYkcswF449j6EjsjbinTZbp8PJtjsVK1XFJStdzXdy/jaddAep2FGY+wyFAQ==",
"cpu": [
"x64"
],
@@ -2313,13 +2203,30 @@
"linux"
],
"engines": {
- "node": ">=12"
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/netbsd-arm64": {
+ "version": "0.25.11",
+ "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.11.tgz",
+ "integrity": "sha512-hr9Oxj1Fa4r04dNpWr3P8QKVVsjQhqrMSUzZzf+LZcYjZNqhA3IAfPQdEh1FLVUJSiu6sgAwp3OmwBfbFgG2Xg==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "netbsd"
+ ],
+ "engines": {
+ "node": ">=18"
}
},
"node_modules/@esbuild/netbsd-x64": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz",
- "integrity": "sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==",
+ "version": "0.25.11",
+ "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.11.tgz",
+ "integrity": "sha512-u7tKA+qbzBydyj0vgpu+5h5AeudxOAGncb8N6C9Kh1N4n7wU1Xw1JDApsRjpShRpXRQlJLb9wY28ELpwdPcZ7A==",
"cpu": [
"x64"
],
@@ -2330,13 +2237,30 @@
"netbsd"
],
"engines": {
- "node": ">=12"
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/openbsd-arm64": {
+ "version": "0.25.11",
+ "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.11.tgz",
+ "integrity": "sha512-Qq6YHhayieor3DxFOoYM1q0q1uMFYb7cSpLD2qzDSvK1NAvqFi8Xgivv0cFC6J+hWVw2teCYltyy9/m/14ryHg==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "openbsd"
+ ],
+ "engines": {
+ "node": ">=18"
}
},
"node_modules/@esbuild/openbsd-x64": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz",
- "integrity": "sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==",
+ "version": "0.25.11",
+ "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.11.tgz",
+ "integrity": "sha512-CN+7c++kkbrckTOz5hrehxWN7uIhFFlmS/hqziSFVWpAzpWrQoAG4chH+nN3Be+Kzv/uuo7zhX716x3Sn2Jduw==",
"cpu": [
"x64"
],
@@ -2347,13 +2271,30 @@
"openbsd"
],
"engines": {
- "node": ">=12"
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/openharmony-arm64": {
+ "version": "0.25.11",
+ "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.11.tgz",
+ "integrity": "sha512-rOREuNIQgaiR+9QuNkbkxubbp8MSO9rONmwP5nKncnWJ9v5jQ4JxFnLu4zDSRPf3x4u+2VN4pM4RdyIzDty/wQ==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "openharmony"
+ ],
+ "engines": {
+ "node": ">=18"
}
},
"node_modules/@esbuild/sunos-x64": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz",
- "integrity": "sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==",
+ "version": "0.25.11",
+ "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.11.tgz",
+ "integrity": "sha512-nq2xdYaWxyg9DcIyXkZhcYulC6pQ2FuCgem3LI92IwMgIZ69KHeY8T4Y88pcwoLIjbed8n36CyKoYRDygNSGhA==",
"cpu": [
"x64"
],
@@ -2364,13 +2305,13 @@
"sunos"
],
"engines": {
- "node": ">=12"
+ "node": ">=18"
}
},
"node_modules/@esbuild/win32-arm64": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz",
- "integrity": "sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==",
+ "version": "0.25.11",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.11.tgz",
+ "integrity": "sha512-3XxECOWJq1qMZ3MN8srCJ/QfoLpL+VaxD/WfNRm1O3B4+AZ/BnLVgFbUV3eiRYDMXetciH16dwPbbHqwe1uU0Q==",
"cpu": [
"arm64"
],
@@ -2381,13 +2322,13 @@
"win32"
],
"engines": {
- "node": ">=12"
+ "node": ">=18"
}
},
"node_modules/@esbuild/win32-ia32": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz",
- "integrity": "sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==",
+ "version": "0.25.11",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.11.tgz",
+ "integrity": "sha512-3ukss6gb9XZ8TlRyJlgLn17ecsK4NSQTmdIXRASVsiS2sQ6zPPZklNJT5GR5tE/MUarymmy8kCEf5xPCNCqVOA==",
"cpu": [
"ia32"
],
@@ -2398,13 +2339,13 @@
"win32"
],
"engines": {
- "node": ">=12"
+ "node": ">=18"
}
},
"node_modules/@esbuild/win32-x64": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz",
- "integrity": "sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==",
+ "version": "0.25.11",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.11.tgz",
+ "integrity": "sha512-D7Hpz6A2L4hzsRpPaCYkQnGOotdUpDzSGRIv9I+1ITdHROSFUWW95ZPZWQmGka1Fg7W3zFJowyn9WGwMJ0+KPA==",
"cpu": [
"x64"
],
@@ -2415,7 +2356,7 @@
"win32"
],
"engines": {
- "node": ">=12"
+ "node": ">=18"
}
},
"node_modules/@eslint-community/eslint-utils": {
@@ -2713,84 +2654,6 @@
"graphql": "^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"
}
},
- "node_modules/@histoire/app": {
- "version": "0.17.17",
- "resolved": "https://registry.npmjs.org/@histoire/app/-/app-0.17.17.tgz",
- "integrity": "sha512-2i1V38o08V+eaR0d3L0/EA6AYG14xyQBJbyYv0Hz3r4sH3Elj1FoJiwolbCfTDmkOnSgwWTc7+JoCqkLIbxfhA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@histoire/controls": "^0.17.17",
- "@histoire/shared": "^0.17.17",
- "@histoire/vendors": "^0.17.17",
- "@types/flexsearch": "^0.7.6",
- "flexsearch": "0.7.21",
- "shiki-es": "^0.2.0"
- }
- },
- "node_modules/@histoire/controls": {
- "version": "0.17.17",
- "resolved": "https://registry.npmjs.org/@histoire/controls/-/controls-0.17.17.tgz",
- "integrity": "sha512-W22HZ/X078IZmE09XEKj4Fq7LxQPP/w/aMYAzm94V2NIGhI0fkiSaBDvyTUl7NYrGT66Wq5+9Po1IWPMllk3cQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@codemirror/commands": "^6.3.0",
- "@codemirror/lang-json": "^6.0.1",
- "@codemirror/language": "^6.9.2",
- "@codemirror/lint": "^6.4.2",
- "@codemirror/state": "^6.3.1",
- "@codemirror/theme-one-dark": "^6.1.2",
- "@codemirror/view": "^6.22.0",
- "@histoire/shared": "^0.17.17",
- "@histoire/vendors": "^0.17.17"
- }
- },
- "node_modules/@histoire/plugin-vue": {
- "version": "0.17.17",
- "resolved": "https://registry.npmjs.org/@histoire/plugin-vue/-/plugin-vue-0.17.17.tgz",
- "integrity": "sha512-O5h/Ww6IT2CygVVT4onN27IZt11Z2qE8XeHeXJCEese3dxnnVWRhjMpsaWAU5XqgfjKNAiALJk86b49/6NQaRg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@histoire/controls": "^0.17.17",
- "@histoire/shared": "^0.17.17",
- "@histoire/vendors": "^0.17.17",
- "change-case": "^4.1.2",
- "globby": "^13.2.2",
- "launch-editor": "^2.6.1",
- "pathe": "^1.1.1"
- },
- "peerDependencies": {
- "histoire": "^0.17.17",
- "vue": "^3.2.47"
- }
- },
- "node_modules/@histoire/shared": {
- "version": "0.17.17",
- "resolved": "https://registry.npmjs.org/@histoire/shared/-/shared-0.17.17.tgz",
- "integrity": "sha512-ueGtURysonT0MujCObPCR57+mgZluMEXCrbc2FBgKAD/DoAt38tNwSGsmLldk2O6nTr7lr6ClbVSgWrLwgY6Xw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@histoire/vendors": "^0.17.17",
- "@types/fs-extra": "^9.0.13",
- "@types/markdown-it": "^12.2.3",
- "chokidar": "^3.5.3",
- "pathe": "^1.1.1",
- "picocolors": "^1.0.0"
- },
- "peerDependencies": {
- "vite": "^2.9.0 || ^3.0.0 || ^4.0.0 || ^5.0.0"
- }
- },
- "node_modules/@histoire/vendors": {
- "version": "0.17.17",
- "resolved": "https://registry.npmjs.org/@histoire/vendors/-/vendors-0.17.17.tgz",
- "integrity": "sha512-QZvmffdoJlLuYftPIkOU5Q2FPAdG2JjMuQ5jF7NmEl0n1XnmbMqtRkdYTZ4eF6CO1KLZ0Zyf6gBQvoT1uWNcjA==",
- "dev": true,
- "license": "MIT"
- },
"node_modules/@humanfs/core": {
"version": "0.19.1",
"resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz",
@@ -2952,16 +2815,6 @@
"node": ">=12"
}
},
- "node_modules/@istanbuljs/schema": {
- "version": "0.1.3",
- "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz",
- "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
"node_modules/@jest/schemas": {
"version": "29.6.3",
"resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz",
@@ -3108,52 +2961,6 @@
"integrity": "sha512-odxIc1/vDlo4iZcfXqRYFj0vpXFNoGdKMAUieAlFYO6m/nl5e9KR/beGf41z4a1FI+aQgtjhuaSlDxQ0hmkrHg==",
"license": "MIT"
},
- "node_modules/@lezer/common": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/@lezer/common/-/common-1.3.0.tgz",
- "integrity": "sha512-L9X8uHCYU310o99L3/MpJKYxPzXPOS7S0NmBaM7UO/x2Kb2WbmMLSkfvdr1KxRIFYOpbY0Jhn7CfLSUDzL8arQ==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@lezer/highlight": {
- "version": "1.2.2",
- "resolved": "https://registry.npmjs.org/@lezer/highlight/-/highlight-1.2.2.tgz",
- "integrity": "sha512-z8TQwaBXXQIvG6i2g3e9cgMwUUXu9Ib7jo2qRRggdhwKpM56Dw3PM3wmexn+EGaaOZ7az0K7sjc3/gcGW7sz7A==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@lezer/common": "^1.3.0"
- }
- },
- "node_modules/@lezer/json": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/@lezer/json/-/json-1.0.3.tgz",
- "integrity": "sha512-BP9KzdF9Y35PDpv04r0VeSTKDeox5vVr3efE7eBbx3r4s3oNLfunchejZhjArmeieBH+nVOpgIiBJpEAv8ilqQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@lezer/common": "^1.2.0",
- "@lezer/highlight": "^1.0.0",
- "@lezer/lr": "^1.0.0"
- }
- },
- "node_modules/@lezer/lr": {
- "version": "1.4.2",
- "resolved": "https://registry.npmjs.org/@lezer/lr/-/lr-1.4.2.tgz",
- "integrity": "sha512-pu0K1jCIdnQ12aWNaAVU5bzi7Bd1w54J3ECgANPmYLtQKP0HBj2cE/5coBD66MT10xbtIuUr7tg0Shbsvk0mDA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@lezer/common": "^1.0.0"
- }
- },
- "node_modules/@marijn/find-cluster-break": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/@marijn/find-cluster-break/-/find-cluster-break-1.0.2.tgz",
- "integrity": "sha512-l0h88YhZFyKdXIFNfSWpyjStDjGHwZ/U7iobcK1cQQD8sejsONdQtTVU+1wVN1PBw40PiiHB1vA5S7VTfQiP9g==",
- "dev": true,
- "license": "MIT"
- },
"node_modules/@nodelib/fs.scandir": {
"version": "2.1.5",
"resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
@@ -3583,6 +3390,13 @@
"integrity": "sha512-42aWfPrimMfDKDi4YegyS7x+/0tlzaqwPQCULLanv3DMIlu96KTJR0fM5isWX2UViOqlGnX6YFgqWepcX+XMNg==",
"license": "MIT"
},
+ "node_modules/@rolldown/pluginutils": {
+ "version": "1.0.0-beta.29",
+ "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.29.tgz",
+ "integrity": "sha512-NIJgOsMjbxAXvoGq/X0gD7VPMQ8j9g0BiDaNjVNVjvl+iKXxL3Jre0v31RmBYeLEmkbj2s02v8vFTbUXi5XS2Q==",
+ "dev": true,
+ "license": "MIT"
+ },
"node_modules/@rollup/plugin-node-resolve": {
"version": "15.3.1",
"resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-15.3.1.tgz",
@@ -3997,86 +3811,86 @@
"license": "MIT"
},
"node_modules/@sentry-internal/browser-utils": {
- "version": "10.21.0",
- "resolved": "https://registry.npmjs.org/@sentry-internal/browser-utils/-/browser-utils-10.21.0.tgz",
- "integrity": "sha512-QRHpCBheLd/88Z2m3ABMriV0MweW+pcGKuVsH61/UdziKcQLdoQpOSvGg0/0CuqFm2UjL7237ZzLdZrWaCOlfQ==",
+ "version": "10.22.0",
+ "resolved": "https://registry.npmjs.org/@sentry-internal/browser-utils/-/browser-utils-10.22.0.tgz",
+ "integrity": "sha512-BpJoLZEyJr7ORzkCrIjxRTnFWwO1mJNICVh3B9g5d9245niGT4OJvRozmLz89WgJkZFHWu84ls6Xfq5b/3tGFQ==",
"license": "MIT",
"dependencies": {
- "@sentry/core": "10.21.0"
+ "@sentry/core": "10.22.0"
},
"engines": {
"node": ">=18"
}
},
"node_modules/@sentry-internal/browser-utils/node_modules/@sentry/core": {
- "version": "10.21.0",
- "resolved": "https://registry.npmjs.org/@sentry/core/-/core-10.21.0.tgz",
- "integrity": "sha512-/+gpOOb2Wr1UbW59WKqNAVVIqFz9FjtUJuPtVh4UanxGCfavMPaKpFzSlaEKJSKDkiCQgANP4O2y8Y5Bh3tvEA==",
+ "version": "10.22.0",
+ "resolved": "https://registry.npmjs.org/@sentry/core/-/core-10.22.0.tgz",
+ "integrity": "sha512-V1oeHbrOKzxadsCmgtPku3v3Emo/Bpb3VSuKmlLrQefiHX98MWtjJ3XDGfduzD5/dCdh0r/OOLwjcmrO/PZ2aw==",
"license": "MIT",
"engines": {
"node": ">=18"
}
},
"node_modules/@sentry-internal/feedback": {
- "version": "10.21.0",
- "resolved": "https://registry.npmjs.org/@sentry-internal/feedback/-/feedback-10.21.0.tgz",
- "integrity": "sha512-6SnRR2FiW6TMwCE0PqbueHkkpeVnjOjz00R+/mX25Dp1U5BU5TzbXHzn9Y4wKnaD3Rzz4+nnzVkpHAOL3SppGw==",
+ "version": "10.22.0",
+ "resolved": "https://registry.npmjs.org/@sentry-internal/feedback/-/feedback-10.22.0.tgz",
+ "integrity": "sha512-zXySOin/gGHPV+yKaHqjN9YZ7psEJwzLn8PzCLeo+4REzF1eQwbYZIgOxJFD32z8s3nZiABSWFM/n1CvVfMEsQ==",
"license": "MIT",
"dependencies": {
- "@sentry/core": "10.21.0"
+ "@sentry/core": "10.22.0"
},
"engines": {
"node": ">=18"
}
},
"node_modules/@sentry-internal/feedback/node_modules/@sentry/core": {
- "version": "10.21.0",
- "resolved": "https://registry.npmjs.org/@sentry/core/-/core-10.21.0.tgz",
- "integrity": "sha512-/+gpOOb2Wr1UbW59WKqNAVVIqFz9FjtUJuPtVh4UanxGCfavMPaKpFzSlaEKJSKDkiCQgANP4O2y8Y5Bh3tvEA==",
+ "version": "10.22.0",
+ "resolved": "https://registry.npmjs.org/@sentry/core/-/core-10.22.0.tgz",
+ "integrity": "sha512-V1oeHbrOKzxadsCmgtPku3v3Emo/Bpb3VSuKmlLrQefiHX98MWtjJ3XDGfduzD5/dCdh0r/OOLwjcmrO/PZ2aw==",
"license": "MIT",
"engines": {
"node": ">=18"
}
},
"node_modules/@sentry-internal/replay": {
- "version": "10.21.0",
- "resolved": "https://registry.npmjs.org/@sentry-internal/replay/-/replay-10.21.0.tgz",
- "integrity": "sha512-5tfiKZJzZf9+Xk8SyvoC4ZEVLNmjBZZEaKhVyNo53CLWUWfWOqDc3DB9fj85i/yHFQ0ImdRnaPBc0CIeN00CcA==",
+ "version": "10.22.0",
+ "resolved": "https://registry.npmjs.org/@sentry-internal/replay/-/replay-10.22.0.tgz",
+ "integrity": "sha512-JNE4kHAQSG4/V+J+Zog3vKBWgOe9H33ol/MEU1RuLM/4I+uLf4mTetwnS9ilpnnW/Z/gQYfA+R3CiMrZtqTivw==",
"license": "MIT",
"dependencies": {
- "@sentry-internal/browser-utils": "10.21.0",
- "@sentry/core": "10.21.0"
+ "@sentry-internal/browser-utils": "10.22.0",
+ "@sentry/core": "10.22.0"
},
"engines": {
"node": ">=18"
}
},
"node_modules/@sentry-internal/replay-canvas": {
- "version": "10.21.0",
- "resolved": "https://registry.npmjs.org/@sentry-internal/replay-canvas/-/replay-canvas-10.21.0.tgz",
- "integrity": "sha512-TOLo5mAjJSOuJId8Po44d1hwJ5bIZDtRSoupWpYWqLw1tuUh1tc4vqID11ZXsw9pBzjVIK653BPDX/z/9+Um+Q==",
+ "version": "10.22.0",
+ "resolved": "https://registry.npmjs.org/@sentry-internal/replay-canvas/-/replay-canvas-10.22.0.tgz",
+ "integrity": "sha512-DE4JNUskJg+O+wFq42W5gAa/99aD5k7TfGOwABxvnzFv8vkKA7pqXwPbFFPzypdKIkln+df7RmbnDwQRNg6/lA==",
"license": "MIT",
"dependencies": {
- "@sentry-internal/replay": "10.21.0",
- "@sentry/core": "10.21.0"
+ "@sentry-internal/replay": "10.22.0",
+ "@sentry/core": "10.22.0"
},
"engines": {
"node": ">=18"
}
},
"node_modules/@sentry-internal/replay-canvas/node_modules/@sentry/core": {
- "version": "10.21.0",
- "resolved": "https://registry.npmjs.org/@sentry/core/-/core-10.21.0.tgz",
- "integrity": "sha512-/+gpOOb2Wr1UbW59WKqNAVVIqFz9FjtUJuPtVh4UanxGCfavMPaKpFzSlaEKJSKDkiCQgANP4O2y8Y5Bh3tvEA==",
+ "version": "10.22.0",
+ "resolved": "https://registry.npmjs.org/@sentry/core/-/core-10.22.0.tgz",
+ "integrity": "sha512-V1oeHbrOKzxadsCmgtPku3v3Emo/Bpb3VSuKmlLrQefiHX98MWtjJ3XDGfduzD5/dCdh0r/OOLwjcmrO/PZ2aw==",
"license": "MIT",
"engines": {
"node": ">=18"
}
},
"node_modules/@sentry-internal/replay/node_modules/@sentry/core": {
- "version": "10.21.0",
- "resolved": "https://registry.npmjs.org/@sentry/core/-/core-10.21.0.tgz",
- "integrity": "sha512-/+gpOOb2Wr1UbW59WKqNAVVIqFz9FjtUJuPtVh4UanxGCfavMPaKpFzSlaEKJSKDkiCQgANP4O2y8Y5Bh3tvEA==",
+ "version": "10.22.0",
+ "resolved": "https://registry.npmjs.org/@sentry/core/-/core-10.22.0.tgz",
+ "integrity": "sha512-V1oeHbrOKzxadsCmgtPku3v3Emo/Bpb3VSuKmlLrQefiHX98MWtjJ3XDGfduzD5/dCdh0r/OOLwjcmrO/PZ2aw==",
"license": "MIT",
"engines": {
"node": ">=18"
@@ -4097,25 +3911,25 @@
}
},
"node_modules/@sentry/browser": {
- "version": "10.21.0",
- "resolved": "https://registry.npmjs.org/@sentry/browser/-/browser-10.21.0.tgz",
- "integrity": "sha512-z/63bUFBQkTfJ5ElhWTYvomz+gZ1GsoH16v4/RGoPY5qZgYxcVO3fkp0opnu3gcbXS0ZW7TLRiHpqhvipDdP6g==",
+ "version": "10.22.0",
+ "resolved": "https://registry.npmjs.org/@sentry/browser/-/browser-10.22.0.tgz",
+ "integrity": "sha512-wD2XqN+yeBpQFfdPo6+wlKDMyyuDctVGzZWE4qTPntICKQuwMdAfeq5Ma89ad0Dw+bzG9UijGeyuJQlswF87Mw==",
"license": "MIT",
"dependencies": {
- "@sentry-internal/browser-utils": "10.21.0",
- "@sentry-internal/feedback": "10.21.0",
- "@sentry-internal/replay": "10.21.0",
- "@sentry-internal/replay-canvas": "10.21.0",
- "@sentry/core": "10.21.0"
+ "@sentry-internal/browser-utils": "10.22.0",
+ "@sentry-internal/feedback": "10.22.0",
+ "@sentry-internal/replay": "10.22.0",
+ "@sentry-internal/replay-canvas": "10.22.0",
+ "@sentry/core": "10.22.0"
},
"engines": {
"node": ">=18"
}
},
"node_modules/@sentry/browser/node_modules/@sentry/core": {
- "version": "10.21.0",
- "resolved": "https://registry.npmjs.org/@sentry/core/-/core-10.21.0.tgz",
- "integrity": "sha512-/+gpOOb2Wr1UbW59WKqNAVVIqFz9FjtUJuPtVh4UanxGCfavMPaKpFzSlaEKJSKDkiCQgANP4O2y8Y5Bh3tvEA==",
+ "version": "10.22.0",
+ "resolved": "https://registry.npmjs.org/@sentry/core/-/core-10.22.0.tgz",
+ "integrity": "sha512-V1oeHbrOKzxadsCmgtPku3v3Emo/Bpb3VSuKmlLrQefiHX98MWtjJ3XDGfduzD5/dCdh0r/OOLwjcmrO/PZ2aw==",
"license": "MIT",
"engines": {
"node": ">=18"
@@ -4168,13 +3982,13 @@
}
},
"node_modules/@sentry/vue": {
- "version": "10.21.0",
- "resolved": "https://registry.npmjs.org/@sentry/vue/-/vue-10.21.0.tgz",
- "integrity": "sha512-jOX9jOkC7gBcr+JG65zjLczHRGfxxzc9QxHShM3g3+YuXk5BxMcRveyq4ne1+tzmvwqG6OI0T7jt28J6fL2JDQ==",
+ "version": "10.22.0",
+ "resolved": "https://registry.npmjs.org/@sentry/vue/-/vue-10.22.0.tgz",
+ "integrity": "sha512-rzwGkFKqAFsH1GGsH83lo0GdZ29yXHOReJqFOzexbhX2j0mtKmFqSwAqKTDbPz/snIQIO5eKtXHTF6kpZ+CkiA==",
"license": "MIT",
"dependencies": {
- "@sentry/browser": "10.21.0",
- "@sentry/core": "10.21.0"
+ "@sentry/browser": "10.22.0",
+ "@sentry/core": "10.22.0"
},
"engines": {
"node": ">=18"
@@ -4190,9 +4004,9 @@
}
},
"node_modules/@sentry/vue/node_modules/@sentry/core": {
- "version": "10.21.0",
- "resolved": "https://registry.npmjs.org/@sentry/core/-/core-10.21.0.tgz",
- "integrity": "sha512-/+gpOOb2Wr1UbW59WKqNAVVIqFz9FjtUJuPtVh4UanxGCfavMPaKpFzSlaEKJSKDkiCQgANP4O2y8Y5Bh3tvEA==",
+ "version": "10.22.0",
+ "resolved": "https://registry.npmjs.org/@sentry/core/-/core-10.22.0.tgz",
+ "integrity": "sha512-V1oeHbrOKzxadsCmgtPku3v3Emo/Bpb3VSuKmlLrQefiHX98MWtjJ3XDGfduzD5/dCdh0r/OOLwjcmrO/PZ2aw==",
"license": "MIT",
"engines": {
"node": ">=18"
@@ -4205,6 +4019,13 @@
"dev": true,
"license": "MIT"
},
+ "node_modules/@standard-schema/spec": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/@standard-schema/spec/-/spec-1.0.0.tgz",
+ "integrity": "sha512-m2bOd0f2RT9k8QJx1JN85cZYyH1RqFBdlwtkSlf4tBDYLCiiZnv1fIIwacK6cqwXavOydf0NPToMQgpKq+dVlA==",
+ "dev": true,
+ "license": "MIT"
+ },
"node_modules/@surma/rollup-plugin-off-main-thread": {
"version": "2.2.3",
"resolved": "https://registry.npmjs.org/@surma/rollup-plugin-off-main-thread/-/rollup-plugin-off-main-thread-2.2.3.tgz",
@@ -4660,16 +4481,24 @@
"vue": "^3.0.0"
}
},
- "node_modules/@tootallnate/once": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz",
- "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==",
+ "node_modules/@types/chai": {
+ "version": "5.2.3",
+ "resolved": "https://registry.npmjs.org/@types/chai/-/chai-5.2.3.tgz",
+ "integrity": "sha512-Mw558oeA9fFbv65/y4mHtXDs9bPnFMZAL/jxdPFUpOHHIXX91mcgEHbS5Lahr+pwZFR8A7GQleRWeI6cGFC2UA==",
"dev": true,
"license": "MIT",
- "engines": {
- "node": ">= 10"
+ "dependencies": {
+ "@types/deep-eql": "*",
+ "assertion-error": "^2.0.1"
}
},
+ "node_modules/@types/deep-eql": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/@types/deep-eql/-/deep-eql-4.0.2.tgz",
+ "integrity": "sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==",
+ "dev": true,
+ "license": "MIT"
+ },
"node_modules/@types/estree": {
"version": "1.0.8",
"resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz",
@@ -4677,23 +4506,6 @@
"dev": true,
"license": "MIT"
},
- "node_modules/@types/flexsearch": {
- "version": "0.7.6",
- "resolved": "https://registry.npmjs.org/@types/flexsearch/-/flexsearch-0.7.6.tgz",
- "integrity": "sha512-H5IXcRn96/gaDmo+rDl2aJuIJsob8dgOXDqf8K0t8rWZd1AFNaaspmRsElESiU+EWE33qfbFPgI0OC/B1g9FCA==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@types/fs-extra": {
- "version": "9.0.13",
- "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-9.0.13.tgz",
- "integrity": "sha512-nEnwB++1u5lVDM2UI4c1+5R+FYaKfaAzS4OococimjVm3nQw3TuzH5UNsocrcTBbhnerblyHj4A49qXbIiZdpA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/node": "*"
- }
- },
"node_modules/@types/geojson": {
"version": "7946.0.16",
"resolved": "https://registry.npmjs.org/@types/geojson/-/geojson-7946.0.16.tgz",
@@ -4766,14 +4578,13 @@
"license": "MIT"
},
"node_modules/@types/markdown-it": {
- "version": "12.2.3",
- "resolved": "https://registry.npmjs.org/@types/markdown-it/-/markdown-it-12.2.3.tgz",
- "integrity": "sha512-GKMHFfv3458yYy+v/N8gjufHO6MSZKCOXpZc5GXIWWy8uldwfmPn98vp81gZ5f9SVw8YYBctgfJ22a2d7AOMeQ==",
- "dev": true,
+ "version": "14.1.2",
+ "resolved": "https://registry.npmjs.org/@types/markdown-it/-/markdown-it-14.1.2.tgz",
+ "integrity": "sha512-promo4eFwuiW+TfGxhi+0x3czqTYJkG8qB17ZUJiVF10Xm7NLVRSLUsfRTU/6h1e24VvRnXCx+hG7li58lkzog==",
"license": "MIT",
"dependencies": {
- "@types/linkify-it": "*",
- "@types/mdurl": "*"
+ "@types/linkify-it": "^5",
+ "@types/mdurl": "^2"
}
},
"node_modules/@types/mdurl": {
@@ -4789,16 +4600,6 @@
"dev": true,
"license": "MIT"
},
- "node_modules/@types/node": {
- "version": "24.9.1",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-24.9.1.tgz",
- "integrity": "sha512-QoiaXANRkSXK6p0Duvt56W208du4P9Uye9hWLWgGMDTEoKPhuenzNcC4vGUmrNkiOKTlIrBoyNQYNpSwfEZXSg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "undici-types": "~7.16.0"
- }
- },
"node_modules/@types/phoenix": {
"version": "1.6.6",
"resolved": "https://registry.npmjs.org/@types/phoenix/-/phoenix-1.6.6.tgz",
@@ -5146,167 +4947,182 @@
}
},
"node_modules/@vitejs/plugin-vue": {
- "version": "5.2.4",
- "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-5.2.4.tgz",
- "integrity": "sha512-7Yx/SXSOcQq5HiiV3orevHUFn+pmMB4cgbEkDYgnkUWb0WfeQ/wa2yFv6D5ICiCQOVpjA7vYDXrC7AGO8yjDHA==",
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-6.0.1.tgz",
+ "integrity": "sha512-+MaE752hU0wfPFJEUAIxqw18+20euHHdxVtMvbFcOEpjEyfqXH/5DCoTHiVJ0J29EhTJdoTkjEv5YBKU9dnoTw==",
"dev": true,
"license": "MIT",
+ "dependencies": {
+ "@rolldown/pluginutils": "1.0.0-beta.29"
+ },
"engines": {
- "node": "^18.0.0 || >=20.0.0"
+ "node": "^20.19.0 || >=22.12.0"
},
"peerDependencies": {
- "vite": "^5.0.0 || ^6.0.0",
+ "vite": "^5.0.0 || ^6.0.0 || ^7.0.0",
"vue": "^3.2.25"
}
},
"node_modules/@vitest/coverage-v8": {
- "version": "1.6.1",
- "resolved": "https://registry.npmjs.org/@vitest/coverage-v8/-/coverage-v8-1.6.1.tgz",
- "integrity": "sha512-6YeRZwuO4oTGKxD3bijok756oktHSIm3eczVVzNe3scqzuhLwltIF3S9ZL/vwOVIpURmU6SnZhziXXAfw8/Qlw==",
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/@vitest/coverage-v8/-/coverage-v8-4.0.2.tgz",
+ "integrity": "sha512-daQs7CNoq4KKJ+3mgnxwbX8NLkT3nNxK/ZARdWyy/VtNwe0LoKIHgXFvj0hCKXclgfHaihpqbv1UHkQOgyEZng==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@ampproject/remapping": "^2.2.1",
- "@bcoe/v8-coverage": "^0.2.3",
- "debug": "^4.3.4",
+ "@bcoe/v8-coverage": "^1.0.2",
+ "@vitest/utils": "4.0.2",
+ "ast-v8-to-istanbul": "^0.3.5",
+ "debug": "^4.4.3",
"istanbul-lib-coverage": "^3.2.2",
"istanbul-lib-report": "^3.0.1",
- "istanbul-lib-source-maps": "^5.0.4",
- "istanbul-reports": "^3.1.6",
- "magic-string": "^0.30.5",
- "magicast": "^0.3.3",
- "picocolors": "^1.0.0",
- "std-env": "^3.5.0",
- "strip-literal": "^2.0.0",
- "test-exclude": "^6.0.0"
+ "istanbul-lib-source-maps": "^5.0.6",
+ "istanbul-reports": "^3.2.0",
+ "magicast": "^0.3.5",
+ "std-env": "^3.9.0",
+ "tinyrainbow": "^3.0.3"
},
"funding": {
"url": "https://opencollective.com/vitest"
},
"peerDependencies": {
- "vitest": "1.6.1"
+ "@vitest/browser": "4.0.2",
+ "vitest": "4.0.2"
+ },
+ "peerDependenciesMeta": {
+ "@vitest/browser": {
+ "optional": true
+ }
}
},
"node_modules/@vitest/expect": {
- "version": "1.6.1",
- "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-1.6.1.tgz",
- "integrity": "sha512-jXL+9+ZNIJKruofqXuuTClf44eSpcHlgj3CiuNihUF3Ioujtmc0zIa3UJOW5RjDK1YLBJZnWBlPuqhYycLioog==",
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-4.0.2.tgz",
+ "integrity": "sha512-izQY+ABWqL2Vyr5+LNo3m16nLLTAzLn8em6i5uxqsrWRhdgzdN5JIHrpFVGBAYRGDAbtwE+yD4Heu8gsBSWTVQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@vitest/spy": "1.6.1",
- "@vitest/utils": "1.6.1",
- "chai": "^4.3.10"
+ "@standard-schema/spec": "^1.0.0",
+ "@types/chai": "^5.2.2",
+ "@vitest/spy": "4.0.2",
+ "@vitest/utils": "4.0.2",
+ "chai": "^6.0.1",
+ "tinyrainbow": "^3.0.3"
+ },
+ "funding": {
+ "url": "https://opencollective.com/vitest"
+ }
+ },
+ "node_modules/@vitest/mocker": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-4.0.2.tgz",
+ "integrity": "sha512-oiny+oBSGU9vHMA1DPdO+t1GVidCRuA4lKSG6rbo5SrCiTCGl7bTCyTaUkwxDpUkiSxEVneeXW4LJ4fg3H56dw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@vitest/spy": "4.0.2",
+ "estree-walker": "^3.0.3",
+ "magic-string": "^0.30.19"
+ },
+ "funding": {
+ "url": "https://opencollective.com/vitest"
+ },
+ "peerDependencies": {
+ "msw": "^2.4.9",
+ "vite": "^6.0.0 || ^7.0.0-0"
+ },
+ "peerDependenciesMeta": {
+ "msw": {
+ "optional": true
+ },
+ "vite": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@vitest/pretty-format": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-4.0.2.tgz",
+ "integrity": "sha512-PhrSiljryCz5nUDhHla5ihXYy2iRCBob+rNqlu34dA+KZIllVR39rUGny5R3kLgDgw3r8GW1ptOo64WbieMkeQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "tinyrainbow": "^3.0.3"
},
"funding": {
"url": "https://opencollective.com/vitest"
}
},
"node_modules/@vitest/runner": {
- "version": "1.6.1",
- "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-1.6.1.tgz",
- "integrity": "sha512-3nSnYXkVkf3mXFfE7vVyPmi3Sazhb/2cfZGGs0JRzFsPFvAMBEcrweV1V1GsrstdXeKCTXlJbvnQwGWgEIHmOA==",
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-4.0.2.tgz",
+ "integrity": "sha512-mPS5T/ZDuO6J5rsQiA76CFmlHtos7dnCvL14I1Oo8SbcjIhJd6kirFmekovfYLRygdF0gJe6SA5asCKIWKw1tw==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@vitest/utils": "1.6.1",
- "p-limit": "^5.0.0",
- "pathe": "^1.1.1"
+ "@vitest/utils": "4.0.2",
+ "pathe": "^2.0.3"
},
"funding": {
"url": "https://opencollective.com/vitest"
}
},
- "node_modules/@vitest/runner/node_modules/p-limit": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-5.0.0.tgz",
- "integrity": "sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "yocto-queue": "^1.0.0"
- },
- "engines": {
- "node": ">=18"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/@vitest/runner/node_modules/yocto-queue": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.2.1.tgz",
- "integrity": "sha512-AyeEbWOu/TAXdxlV9wmGcR0+yh2j3vYPGOECcIj2S7MkrLyC7ne+oye2BKTItt0ii2PHk4cDy+95+LshzbXnGg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=12.20"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
"node_modules/@vitest/snapshot": {
- "version": "1.6.1",
- "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-1.6.1.tgz",
- "integrity": "sha512-WvidQuWAzU2p95u8GAKlRMqMyN1yOJkGHnx3M1PL9Raf7AQ1kwLKg04ADlCa3+OXUZE7BceOhVZiuWAbzCKcUQ==",
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-4.0.2.tgz",
+ "integrity": "sha512-NibujZAh+fTQlpGdP8J2pZcsPg7EPjiLUOUq9In++4p35vc9xIFMkXfQDbBSpijqZPe6i2hEKrUCbKu70/sPzw==",
"dev": true,
"license": "MIT",
"dependencies": {
- "magic-string": "^0.30.5",
- "pathe": "^1.1.1",
- "pretty-format": "^29.7.0"
+ "@vitest/pretty-format": "4.0.2",
+ "magic-string": "^0.30.19",
+ "pathe": "^2.0.3"
},
"funding": {
"url": "https://opencollective.com/vitest"
}
},
"node_modules/@vitest/spy": {
- "version": "1.6.1",
- "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-1.6.1.tgz",
- "integrity": "sha512-MGcMmpGkZebsMZhbQKkAf9CX5zGvjkBTqf8Zx3ApYWXr3wG+QvEu2eXWfnIIWYSJExIp4V9FCKDEeygzkYrXMw==",
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-4.0.2.tgz",
+ "integrity": "sha512-KrTWRXFPYrbhD0iUXeoA8BMXl81nvemj5D8sc7NbTlRvCeUWo36JheOWtAUCafcNi0G72ycAdsvWQVSOxy/3TA==",
"dev": true,
"license": "MIT",
- "dependencies": {
- "tinyspy": "^2.2.0"
- },
"funding": {
"url": "https://opencollective.com/vitest"
}
},
"node_modules/@vitest/ui": {
- "version": "1.6.1",
- "resolved": "https://registry.npmjs.org/@vitest/ui/-/ui-1.6.1.tgz",
- "integrity": "sha512-xa57bCPGuzEFqGjPs3vVLyqareG8DX0uMkr5U/v5vLv5/ZUrBrPL7gzxzTJedEyZxFMfsozwTIbbYfEQVo3kgg==",
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/@vitest/ui/-/ui-4.0.2.tgz",
+ "integrity": "sha512-GqPobLaUnKxkEJQHxszJ4yTSHCNGysWto6wANoBn/iXWU1juZV5pVjopxu+DkMKU+J6UQqvZ4ZXkcjxzRQS31A==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@vitest/utils": "1.6.1",
- "fast-glob": "^3.3.2",
- "fflate": "^0.8.1",
- "flatted": "^3.2.9",
- "pathe": "^1.1.1",
- "picocolors": "^1.0.0",
- "sirv": "^2.0.4"
+ "@vitest/utils": "4.0.2",
+ "fflate": "^0.8.2",
+ "flatted": "^3.3.3",
+ "pathe": "^2.0.3",
+ "sirv": "^3.0.2",
+ "tinyglobby": "^0.2.15",
+ "tinyrainbow": "^3.0.3"
},
"funding": {
"url": "https://opencollective.com/vitest"
},
"peerDependencies": {
- "vitest": "1.6.1"
+ "vitest": "4.0.2"
}
},
"node_modules/@vitest/utils": {
- "version": "1.6.1",
- "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-1.6.1.tgz",
- "integrity": "sha512-jOrrUvXM4Av9ZWiG1EajNto0u96kWAhJ1LmPmJhXXQx/32MecEKd10pOLYgS2BQx1TgkGhloPU1ArDW2vvaY6g==",
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-4.0.2.tgz",
+ "integrity": "sha512-H9jFzZb/5B5Qh7ajPUWMJ8UYGxQ4EQTaNLSm3icXs/oXkzQ1jqfcWDEJ4U3LkFPZOd6QW8M2MYjz32poW+KKqg==",
"dev": true,
"license": "MIT",
"dependencies": {
- "diff-sequences": "^29.6.3",
- "estree-walker": "^3.0.3",
- "loupe": "^2.3.7",
- "pretty-format": "^29.7.0"
+ "@vitest/pretty-format": "4.0.2",
+ "tinyrainbow": "^3.0.3"
},
"funding": {
"url": "https://opencollective.com/vitest"
@@ -5744,14 +5560,6 @@
"integrity": "sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==",
"license": "BSD-2-Clause"
},
- "node_modules/abab": {
- "version": "2.0.6",
- "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz",
- "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==",
- "deprecated": "Use your platform's native atob() and btoa() methods instead",
- "dev": true,
- "license": "BSD-3-Clause"
- },
"node_modules/abbrev": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/abbrev/-/abbrev-2.0.0.tgz",
@@ -5775,17 +5583,6 @@
"node": ">=0.4.0"
}
},
- "node_modules/acorn-globals": {
- "version": "7.0.1",
- "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-7.0.1.tgz",
- "integrity": "sha512-umOSDSDrfHbTNPuNpC2NSnnA3LUrqpevPb4T9jRx4MagXNS0rs+gwiTcAvqCRmsD6utzsrzNt+ebm00SNWiC3Q==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "acorn": "^8.1.0",
- "acorn-walk": "^8.0.2"
- }
- },
"node_modules/acorn-jsx": {
"version": "5.3.2",
"resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz",
@@ -5796,19 +5593,6 @@
"acorn": "^6.0.0 || ^7.0.0 || ^8.0.0"
}
},
- "node_modules/acorn-walk": {
- "version": "8.3.4",
- "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.4.tgz",
- "integrity": "sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "acorn": "^8.11.0"
- },
- "engines": {
- "node": ">=0.4.0"
- }
- },
"node_modules/agent-base": {
"version": "7.1.4",
"resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.4.tgz",
@@ -6073,15 +5857,34 @@
}
},
"node_modules/assertion-error": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz",
- "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==",
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-2.0.1.tgz",
+ "integrity": "sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==",
"dev": true,
"license": "MIT",
"engines": {
- "node": "*"
+ "node": ">=12"
}
},
+ "node_modules/ast-v8-to-istanbul": {
+ "version": "0.3.8",
+ "resolved": "https://registry.npmjs.org/ast-v8-to-istanbul/-/ast-v8-to-istanbul-0.3.8.tgz",
+ "integrity": "sha512-szgSZqUxI5T8mLKvS7WTjF9is+MVbOeLADU73IseOcrqhxr/VAvy6wfoVE39KnKzA7JRhjF5eUagNlHwvZPlKQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jridgewell/trace-mapping": "^0.3.31",
+ "estree-walker": "^3.0.3",
+ "js-tokens": "^9.0.1"
+ }
+ },
+ "node_modules/ast-v8-to-istanbul/node_modules/js-tokens": {
+ "version": "9.0.1",
+ "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-9.0.1.tgz",
+ "integrity": "sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==",
+ "dev": true,
+ "license": "MIT"
+ },
"node_modules/async": {
"version": "3.2.6",
"resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz",
@@ -6277,9 +6080,9 @@
"license": "MIT"
},
"node_modules/baseline-browser-mapping": {
- "version": "2.8.19",
- "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.8.19.tgz",
- "integrity": "sha512-zoKGUdu6vb2jd3YOq0nnhEDQVbPcHhco3UImJrv5dSkvxTc2pl2WjOPsjZXDwPDSl5eghIMuY3R6J9NDKF3KcQ==",
+ "version": "2.8.20",
+ "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.8.20.tgz",
+ "integrity": "sha512-JMWsdF+O8Orq3EMukbUN1QfbLK9mX2CkUmQBcW2T0s8OmdAUL5LLM/6wFwSrqXzlXB13yhyK9gTKS1rIizOduQ==",
"license": "Apache-2.0",
"bin": {
"baseline-browser-mapping": "dist/cli.js"
@@ -6303,16 +6106,6 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/birpc": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/birpc/-/birpc-0.1.1.tgz",
- "integrity": "sha512-B64AGL4ug2IS2jvV/zjTYDD1L+2gOJTT7Rv+VaK7KVQtQOo/xZbCDsh7g727ipckmU+QJYRqo5RcifVr0Kgcmg==",
- "dev": true,
- "license": "MIT",
- "funding": {
- "url": "https://github.com/sponsors/antfu"
- }
- },
"node_modules/blurhash": {
"version": "2.0.5",
"resolved": "https://registry.npmjs.org/blurhash/-/blurhash-2.0.5.tgz",
@@ -6454,17 +6247,6 @@
"node": ">=6"
}
},
- "node_modules/camel-case": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz",
- "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "pascal-case": "^3.1.2",
- "tslib": "^2.0.3"
- }
- },
"node_modules/camelcase-css": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz",
@@ -6494,35 +6276,14 @@
],
"license": "CC-BY-4.0"
},
- "node_modules/capital-case": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/capital-case/-/capital-case-1.0.4.tgz",
- "integrity": "sha512-ds37W8CytHgwnhGGTi88pcPyR15qoNkOpYwmMMfnWqqWgESapLqvDx6huFjQ5vqWSn2Z06173XNA7LtMOeUh1A==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "no-case": "^3.0.4",
- "tslib": "^2.0.3",
- "upper-case-first": "^2.0.2"
- }
- },
"node_modules/chai": {
- "version": "4.5.0",
- "resolved": "https://registry.npmjs.org/chai/-/chai-4.5.0.tgz",
- "integrity": "sha512-RITGBfijLkBddZvnn8jdqoTypxvqbOLYQkGGxXzeFjVHvudaPw0HNFD9x928/eUwYWd2dPCugVqspGALTZZQKw==",
+ "version": "6.2.0",
+ "resolved": "https://registry.npmjs.org/chai/-/chai-6.2.0.tgz",
+ "integrity": "sha512-aUTnJc/JipRzJrNADXVvpVqi6CO0dn3nx4EVPxijri+fj3LUUDyZQOgVeW54Ob3Y1Xh9Iz8f+CgaCl8v0mn9bA==",
"dev": true,
"license": "MIT",
- "dependencies": {
- "assertion-error": "^1.1.0",
- "check-error": "^1.0.3",
- "deep-eql": "^4.1.3",
- "get-func-name": "^2.0.2",
- "loupe": "^2.3.6",
- "pathval": "^1.1.1",
- "type-detect": "^4.1.0"
- },
"engines": {
- "node": ">=4"
+ "node": ">=18"
}
},
"node_modules/chalk": {
@@ -6541,62 +6302,20 @@
"url": "https://github.com/chalk/chalk?sponsor=1"
}
},
- "node_modules/change-case": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/change-case/-/change-case-4.1.2.tgz",
- "integrity": "sha512-bSxY2ws9OtviILG1EiY5K7NNxkqg/JnRnFxLtKQ96JaviiIxi7djMrSd0ECT9AC+lttClmYwKw53BWpOMblo7A==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "camel-case": "^4.1.2",
- "capital-case": "^1.0.4",
- "constant-case": "^3.0.4",
- "dot-case": "^3.0.4",
- "header-case": "^2.0.4",
- "no-case": "^3.0.4",
- "param-case": "^3.0.4",
- "pascal-case": "^3.1.2",
- "path-case": "^3.0.4",
- "sentence-case": "^3.0.4",
- "snake-case": "^3.0.4",
- "tslib": "^2.0.3"
- }
- },
- "node_modules/check-error": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.3.tgz",
- "integrity": "sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "get-func-name": "^2.0.2"
- },
- "engines": {
- "node": "*"
- }
- },
"node_modules/chokidar": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz",
- "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==",
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz",
+ "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==",
+ "dev": true,
"license": "MIT",
"dependencies": {
- "anymatch": "~3.1.2",
- "braces": "~3.0.2",
- "glob-parent": "~5.1.2",
- "is-binary-path": "~2.1.0",
- "is-glob": "~4.0.1",
- "normalize-path": "~3.0.0",
- "readdirp": "~3.6.0"
+ "readdirp": "^4.0.1"
},
"engines": {
- "node": ">= 8.10.0"
+ "node": ">= 14.16.0"
},
"funding": {
"url": "https://paulmillr.com/funding/"
- },
- "optionalDependencies": {
- "fsevents": "~2.3.2"
}
},
"node_modules/ci-info": {
@@ -6631,42 +6350,34 @@
}
},
"node_modules/cli-truncate": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-4.0.0.tgz",
- "integrity": "sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA==",
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-5.1.1.tgz",
+ "integrity": "sha512-SroPvNHxUnk+vIW/dOSfNqdy1sPEFkrTk6TUtqLCnBlo3N7TNYYkzzN7uSD6+jVjrdO4+p8nH7JzH6cIvUem6A==",
"dev": true,
"license": "MIT",
"dependencies": {
- "slice-ansi": "^5.0.0",
- "string-width": "^7.0.0"
+ "slice-ansi": "^7.1.0",
+ "string-width": "^8.0.0"
},
"engines": {
- "node": ">=18"
+ "node": ">=20"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/cli-truncate/node_modules/emoji-regex": {
- "version": "10.6.0",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.6.0.tgz",
- "integrity": "sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==",
- "dev": true,
- "license": "MIT"
- },
"node_modules/cli-truncate/node_modules/string-width": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz",
- "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==",
+ "version": "8.1.0",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-8.1.0.tgz",
+ "integrity": "sha512-Kxl3KJGb/gxkaUMOjRsQ8IrXiGW75O4E3RPjFIINOVH8AMl2SQ/yWdTzWwF3FevIX9LcMAjJW+GRwAlAbTSXdg==",
"dev": true,
"license": "MIT",
"dependencies": {
- "emoji-regex": "^10.3.0",
- "get-east-asian-width": "^1.0.0",
+ "get-east-asian-width": "^1.3.0",
"strip-ansi": "^7.1.0"
},
"engines": {
- "node": ">=18"
+ "node": ">=20"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
@@ -6825,13 +6536,6 @@
"dev": true,
"license": "MIT"
},
- "node_modules/confbox": {
- "version": "0.1.8",
- "resolved": "https://registry.npmjs.org/confbox/-/confbox-0.1.8.tgz",
- "integrity": "sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==",
- "dev": true,
- "license": "MIT"
- },
"node_modules/config-chain": {
"version": "1.1.13",
"resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.13.tgz",
@@ -6843,51 +6547,6 @@
"proto-list": "~1.2.1"
}
},
- "node_modules/connect": {
- "version": "3.7.0",
- "resolved": "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz",
- "integrity": "sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "debug": "2.6.9",
- "finalhandler": "1.1.2",
- "parseurl": "~1.3.3",
- "utils-merge": "1.0.1"
- },
- "engines": {
- "node": ">= 0.10.0"
- }
- },
- "node_modules/connect/node_modules/debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ms": "2.0.0"
- }
- },
- "node_modules/connect/node_modules/ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/constant-case": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/constant-case/-/constant-case-3.0.4.tgz",
- "integrity": "sha512-I2hSBi7Vvs7BEuJDr5dDHfzb/Ruj3FyvFyh7KLilAjNQw3Be+xgqUBA2W6scVEcL0hL1dwPRtIqEPVUCKkSsyQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "no-case": "^3.0.4",
- "tslib": "^2.0.3",
- "upper-case": "^2.0.2"
- }
- },
"node_modules/convert-source-map": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz",
@@ -6962,13 +6621,6 @@
"node": ">=4"
}
},
- "node_modules/cssom": {
- "version": "0.5.0",
- "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.5.0.tgz",
- "integrity": "sha512-iKuQcq+NdHqlAcwUY0o/HL69XQrUaQdMjmStJ8JFmUaiiQErlhrmuigkg/CU4E2J0IyUKUrMAgl36TvN67MqTw==",
- "dev": true,
- "license": "MIT"
- },
"node_modules/cssstyle": {
"version": "4.6.0",
"resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-4.6.0.tgz",
@@ -7108,19 +6760,6 @@
"dev": true,
"license": "MIT"
},
- "node_modules/deep-eql": {
- "version": "4.1.4",
- "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.4.tgz",
- "integrity": "sha512-SUwdGfqdKOwxCPeVYjwSyRpJ7Z+fhpwIAtmCUdZIWZ/YP5R9WAsyuSgpLVDi9bjWoN2LXHNss/dk3urXtdQxGg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "type-detect": "^4.0.0"
- },
- "engines": {
- "node": ">=6"
- }
- },
"node_modules/deep-is": {
"version": "0.1.4",
"resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz",
@@ -7182,13 +6821,6 @@
"url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/defu": {
- "version": "6.1.4",
- "resolved": "https://registry.npmjs.org/defu/-/defu-6.1.4.tgz",
- "integrity": "sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==",
- "dev": true,
- "license": "MIT"
- },
"node_modules/delayed-stream": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
@@ -7213,29 +6845,12 @@
"node": ">=0.10"
}
},
- "node_modules/diacritics": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/diacritics/-/diacritics-1.3.0.tgz",
- "integrity": "sha512-wlwEkqcsaxvPJML+rDh/2iS824jbREk6DUMUKkEaSlxdYHeS43cClJtsWglvw2RfeXGm6ohKDqsXteJ5sP5enA==",
- "dev": true,
- "license": "MIT"
- },
"node_modules/didyoumean": {
"version": "1.2.2",
"resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz",
"integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==",
"license": "Apache-2.0"
},
- "node_modules/diff-sequences": {
- "version": "29.6.3",
- "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz",
- "integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
- }
- },
"node_modules/dir-glob": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz",
@@ -7294,20 +6909,6 @@
],
"license": "BSD-2-Clause"
},
- "node_modules/domexception": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/domexception/-/domexception-4.0.0.tgz",
- "integrity": "sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw==",
- "deprecated": "Use your platform's native DOMException instead",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "webidl-conversions": "^7.0.0"
- },
- "engines": {
- "node": ">=12"
- }
- },
"node_modules/domhandler": {
"version": "5.0.3",
"resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz",
@@ -7337,17 +6938,6 @@
"url": "https://github.com/fb55/domutils?sponsor=1"
}
},
- "node_modules/dot-case": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz",
- "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "no-case": "^3.0.4",
- "tslib": "^2.0.3"
- }
- },
"node_modules/dot-object": {
"version": "2.1.5",
"resolved": "https://registry.npmjs.org/dot-object/-/dot-object-2.1.5.tgz",
@@ -7473,13 +7063,6 @@
"url": "https://github.com/sponsors/isaacs"
}
},
- "node_modules/ee-first": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
- "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==",
- "dev": true,
- "license": "MIT"
- },
"node_modules/ejs": {
"version": "3.1.10",
"resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.10.tgz",
@@ -7497,9 +7080,9 @@
}
},
"node_modules/electron-to-chromium": {
- "version": "1.5.239",
- "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.239.tgz",
- "integrity": "sha512-1y5w0Zsq39MSPmEjHjbizvhYoTaulVtivpxkp5q5kaPmQtsK6/2nvAzGRxNMS9DoYySp9PkW0MAQDwU1m764mg==",
+ "version": "1.5.240",
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.240.tgz",
+ "integrity": "sha512-OBwbZjWgrCOH+g6uJsA2/7Twpas2OlepS9uvByJjR2datRDuKGYeD+nP8lBBks2qnB7bGJNHDUx7c/YLaT3QMQ==",
"license": "ISC"
},
"node_modules/emoji-regex": {
@@ -7508,16 +7091,6 @@
"integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==",
"license": "MIT"
},
- "node_modules/encodeurl": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
- "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 0.8"
- }
- },
"node_modules/entities": {
"version": "4.5.0",
"resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz",
@@ -7630,6 +7203,13 @@
"node": ">= 0.4"
}
},
+ "node_modules/es-module-lexer": {
+ "version": "1.7.0",
+ "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.7.0.tgz",
+ "integrity": "sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==",
+ "dev": true,
+ "license": "MIT"
+ },
"node_modules/es-object-atoms": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz",
@@ -7690,9 +7270,9 @@
}
},
"node_modules/esbuild": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz",
- "integrity": "sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==",
+ "version": "0.25.11",
+ "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.11.tgz",
+ "integrity": "sha512-KohQwyzrKTQmhXDW1PjCv3Tyspn9n5GcY2RTDqeORIdIJY8yKIF7sTSopFmn/wpMPW4rdPXI0UE5LJLuq3bx0Q==",
"dev": true,
"hasInstallScript": true,
"license": "MIT",
@@ -7700,32 +7280,35 @@
"esbuild": "bin/esbuild"
},
"engines": {
- "node": ">=12"
+ "node": ">=18"
},
"optionalDependencies": {
- "@esbuild/aix-ppc64": "0.21.5",
- "@esbuild/android-arm": "0.21.5",
- "@esbuild/android-arm64": "0.21.5",
- "@esbuild/android-x64": "0.21.5",
- "@esbuild/darwin-arm64": "0.21.5",
- "@esbuild/darwin-x64": "0.21.5",
- "@esbuild/freebsd-arm64": "0.21.5",
- "@esbuild/freebsd-x64": "0.21.5",
- "@esbuild/linux-arm": "0.21.5",
- "@esbuild/linux-arm64": "0.21.5",
- "@esbuild/linux-ia32": "0.21.5",
- "@esbuild/linux-loong64": "0.21.5",
- "@esbuild/linux-mips64el": "0.21.5",
- "@esbuild/linux-ppc64": "0.21.5",
- "@esbuild/linux-riscv64": "0.21.5",
- "@esbuild/linux-s390x": "0.21.5",
- "@esbuild/linux-x64": "0.21.5",
- "@esbuild/netbsd-x64": "0.21.5",
- "@esbuild/openbsd-x64": "0.21.5",
- "@esbuild/sunos-x64": "0.21.5",
- "@esbuild/win32-arm64": "0.21.5",
- "@esbuild/win32-ia32": "0.21.5",
- "@esbuild/win32-x64": "0.21.5"
+ "@esbuild/aix-ppc64": "0.25.11",
+ "@esbuild/android-arm": "0.25.11",
+ "@esbuild/android-arm64": "0.25.11",
+ "@esbuild/android-x64": "0.25.11",
+ "@esbuild/darwin-arm64": "0.25.11",
+ "@esbuild/darwin-x64": "0.25.11",
+ "@esbuild/freebsd-arm64": "0.25.11",
+ "@esbuild/freebsd-x64": "0.25.11",
+ "@esbuild/linux-arm": "0.25.11",
+ "@esbuild/linux-arm64": "0.25.11",
+ "@esbuild/linux-ia32": "0.25.11",
+ "@esbuild/linux-loong64": "0.25.11",
+ "@esbuild/linux-mips64el": "0.25.11",
+ "@esbuild/linux-ppc64": "0.25.11",
+ "@esbuild/linux-riscv64": "0.25.11",
+ "@esbuild/linux-s390x": "0.25.11",
+ "@esbuild/linux-x64": "0.25.11",
+ "@esbuild/netbsd-arm64": "0.25.11",
+ "@esbuild/netbsd-x64": "0.25.11",
+ "@esbuild/openbsd-arm64": "0.25.11",
+ "@esbuild/openbsd-x64": "0.25.11",
+ "@esbuild/openharmony-arm64": "0.25.11",
+ "@esbuild/sunos-x64": "0.25.11",
+ "@esbuild/win32-arm64": "0.25.11",
+ "@esbuild/win32-ia32": "0.25.11",
+ "@esbuild/win32-x64": "0.25.11"
}
},
"node_modules/escalade": {
@@ -7737,13 +7320,6 @@
"node": ">=6"
}
},
- "node_modules/escape-html": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
- "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==",
- "dev": true,
- "license": "MIT"
- },
"node_modules/escape-string-regexp": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
@@ -7756,39 +7332,6 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/escodegen": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz",
- "integrity": "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==",
- "dev": true,
- "license": "BSD-2-Clause",
- "dependencies": {
- "esprima": "^4.0.1",
- "estraverse": "^5.2.0",
- "esutils": "^2.0.2"
- },
- "bin": {
- "escodegen": "bin/escodegen.js",
- "esgenerate": "bin/esgenerate.js"
- },
- "engines": {
- "node": ">=6.0"
- },
- "optionalDependencies": {
- "source-map": "~0.6.1"
- }
- },
- "node_modules/escodegen/node_modules/source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
- "dev": true,
- "license": "BSD-3-Clause",
- "optional": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
"node_modules/eslint": {
"version": "9.38.0",
"resolved": "https://registry.npmjs.org/eslint/-/eslint-9.38.0.tgz",
@@ -8131,19 +7674,6 @@
"dev": true,
"license": "MIT"
},
- "node_modules/eslint/node_modules/glob-parent": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz",
- "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "is-glob": "^4.0.3"
- },
- "engines": {
- "node": ">=10.13.0"
- }
- },
"node_modules/eslint/node_modules/minimatch": {
"version": "3.1.2",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
@@ -8188,20 +7718,6 @@
"url": "https://opencollective.com/eslint"
}
},
- "node_modules/esprima": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
- "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
- "dev": true,
- "license": "BSD-2-Clause",
- "bin": {
- "esparse": "bin/esparse.js",
- "esvalidate": "bin/esvalidate.js"
- },
- "engines": {
- "node": ">=4"
- }
- },
"node_modules/esquery": {
"version": "1.6.0",
"resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz",
@@ -8265,41 +7781,14 @@
"dev": true,
"license": "MIT"
},
- "node_modules/execa": {
- "version": "8.0.1",
- "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz",
- "integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==",
+ "node_modules/expect-type": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/expect-type/-/expect-type-1.2.2.tgz",
+ "integrity": "sha512-JhFGDVJ7tmDJItKhYgJCGLOWjuK9vPxiXoUFLwLDc99NlmklilbiQJwoctZtt13+xMw91MCk/REan6MWHqDjyA==",
"dev": true,
- "license": "MIT",
- "dependencies": {
- "cross-spawn": "^7.0.3",
- "get-stream": "^8.0.1",
- "human-signals": "^5.0.0",
- "is-stream": "^3.0.0",
- "merge-stream": "^2.0.0",
- "npm-run-path": "^5.1.0",
- "onetime": "^6.0.0",
- "signal-exit": "^4.1.0",
- "strip-final-newline": "^3.0.0"
- },
+ "license": "Apache-2.0",
"engines": {
- "node": ">=16.17"
- },
- "funding": {
- "url": "https://github.com/sindresorhus/execa?sponsor=1"
- }
- },
- "node_modules/extend-shallow": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
- "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "is-extendable": "^0.1.0"
- },
- "engines": {
- "node": ">=0.10.0"
+ "node": ">=12.0.0"
}
},
"node_modules/fast-deep-equal": {
@@ -8331,6 +7820,18 @@
"node": ">=8.6.0"
}
},
+ "node_modules/fast-glob/node_modules/glob-parent": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
+ "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
+ "license": "ISC",
+ "dependencies": {
+ "is-glob": "^4.0.1"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
"node_modules/fast-json-stable-stringify": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
@@ -8426,42 +7927,6 @@
"node": ">=8"
}
},
- "node_modules/finalhandler": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz",
- "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "debug": "2.6.9",
- "encodeurl": "~1.0.2",
- "escape-html": "~1.0.3",
- "on-finished": "~2.3.0",
- "parseurl": "~1.3.3",
- "statuses": "~1.5.0",
- "unpipe": "~1.0.0"
- },
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/finalhandler/node_modules/debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ms": "2.0.0"
- }
- },
- "node_modules/finalhandler/node_modules/ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
- "dev": true,
- "license": "MIT"
- },
"node_modules/find-up": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz",
@@ -8509,13 +7974,6 @@
"dev": true,
"license": "ISC"
},
- "node_modules/flexsearch": {
- "version": "0.7.21",
- "resolved": "https://registry.npmjs.org/flexsearch/-/flexsearch-0.7.21.tgz",
- "integrity": "sha512-W7cHV7Hrwjid6lWmy0IhsWDFQboWSng25U3VVywpHOTJnnAZNPScog67G+cVpeX9f7yDD21ih0WDrMMT+JoaYg==",
- "dev": true,
- "license": "Apache-2.0"
- },
"node_modules/floating-vue": {
"version": "5.2.2",
"resolved": "https://registry.npmjs.org/floating-vue/-/floating-vue-5.2.2.tgz",
@@ -8641,9 +8099,9 @@
"license": "ISC"
},
"node_modules/fsevents": {
- "version": "2.3.3",
- "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz",
- "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==",
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
+ "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
"hasInstallScript": true,
"license": "MIT",
"optional": true,
@@ -8737,16 +8195,6 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/get-func-name": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.2.tgz",
- "integrity": "sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": "*"
- }
- },
"node_modules/get-intrinsic": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz",
@@ -8791,19 +8239,6 @@
"node": ">= 0.4"
}
},
- "node_modules/get-stream": {
- "version": "8.0.1",
- "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz",
- "integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=16"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
"node_modules/get-symbol-description": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.1.0.tgz",
@@ -8843,15 +8278,15 @@
}
},
"node_modules/glob-parent": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
- "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz",
+ "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==",
"license": "ISC",
"dependencies": {
- "is-glob": "^4.0.1"
+ "is-glob": "^4.0.3"
},
"engines": {
- "node": ">= 6"
+ "node": ">=10.13.0"
}
},
"node_modules/globals": {
@@ -8885,25 +8320,36 @@
}
},
"node_modules/globby": {
- "version": "13.2.2",
- "resolved": "https://registry.npmjs.org/globby/-/globby-13.2.2.tgz",
- "integrity": "sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==",
+ "version": "11.1.0",
+ "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz",
+ "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==",
"dev": true,
"license": "MIT",
"dependencies": {
+ "array-union": "^2.1.0",
"dir-glob": "^3.0.1",
- "fast-glob": "^3.3.0",
- "ignore": "^5.2.4",
+ "fast-glob": "^3.2.9",
+ "ignore": "^5.2.0",
"merge2": "^1.4.1",
- "slash": "^4.0.0"
+ "slash": "^3.0.0"
},
"engines": {
- "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+ "node": ">=10"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "node_modules/globby/node_modules/slash": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
+ "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/gopd": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz",
@@ -8953,46 +8399,6 @@
"graphql": "^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0"
}
},
- "node_modules/gray-matter": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/gray-matter/-/gray-matter-4.0.3.tgz",
- "integrity": "sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "js-yaml": "^3.13.1",
- "kind-of": "^6.0.2",
- "section-matter": "^1.0.0",
- "strip-bom-string": "^1.0.0"
- },
- "engines": {
- "node": ">=6.0"
- }
- },
- "node_modules/gray-matter/node_modules/argparse": {
- "version": "1.0.10",
- "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
- "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "sprintf-js": "~1.0.2"
- }
- },
- "node_modules/gray-matter/node_modules/js-yaml": {
- "version": "3.14.1",
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz",
- "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "argparse": "^1.0.7",
- "esprima": "^4.0.0"
- },
- "bin": {
- "js-yaml": "bin/js-yaml.js"
- }
- },
"node_modules/hammerjs": {
"version": "2.0.8",
"resolved": "https://registry.npmjs.org/hammerjs/-/hammerjs-2.0.8.tgz",
@@ -9115,262 +8521,6 @@
"node": ">= 0.4"
}
},
- "node_modules/header-case": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/header-case/-/header-case-2.0.4.tgz",
- "integrity": "sha512-H/vuk5TEEVZwrR0lp2zed9OCo1uAILMlx0JEMgC26rzyJJ3N1v6XkwHHXJQdR2doSjcGPM6OKPYoJgf0plJ11Q==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "capital-case": "^1.0.4",
- "tslib": "^2.0.3"
- }
- },
- "node_modules/histoire": {
- "version": "0.17.17",
- "resolved": "https://registry.npmjs.org/histoire/-/histoire-0.17.17.tgz",
- "integrity": "sha512-DAwY4sgIoP7NGE5ldaws2d3RWz4OOQcwhS8elRMiA2euqzLvDU2IXm+ZjeDDFVtGkvmQNQyfZBDKLCLHfRkSUg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@akryum/tinypool": "^0.3.1",
- "@histoire/app": "^0.17.17",
- "@histoire/controls": "^0.17.17",
- "@histoire/shared": "^0.17.17",
- "@histoire/vendors": "^0.17.17",
- "@types/flexsearch": "^0.7.6",
- "@types/markdown-it": "^12.2.3",
- "birpc": "^0.1.1",
- "change-case": "^4.1.2",
- "chokidar": "^3.5.3",
- "connect": "^3.7.0",
- "defu": "^6.1.3",
- "diacritics": "^1.3.0",
- "flexsearch": "0.7.21",
- "fs-extra": "^10.1.0",
- "globby": "^13.2.2",
- "gray-matter": "^4.0.3",
- "jiti": "^1.21.0",
- "jsdom": "^20.0.3",
- "markdown-it": "^12.3.2",
- "markdown-it-anchor": "^8.6.7",
- "markdown-it-attrs": "^4.1.6",
- "markdown-it-emoji": "^2.0.2",
- "micromatch": "^4.0.5",
- "mrmime": "^1.0.1",
- "pathe": "^1.1.1",
- "picocolors": "^1.0.0",
- "sade": "^1.8.1",
- "shiki-es": "^0.2.0",
- "sirv": "^2.0.3",
- "vite-node": "^0.34.6"
- },
- "bin": {
- "histoire": "bin.mjs"
- },
- "peerDependencies": {
- "vite": "^2.9.0 || ^3.0.0 || ^4.0.0 || ^5.0.0"
- }
- },
- "node_modules/histoire/node_modules/agent-base": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz",
- "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "debug": "4"
- },
- "engines": {
- "node": ">= 6.0.0"
- }
- },
- "node_modules/histoire/node_modules/cssstyle": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz",
- "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "cssom": "~0.3.6"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/histoire/node_modules/cssstyle/node_modules/cssom": {
- "version": "0.3.8",
- "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz",
- "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/histoire/node_modules/data-urls": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-3.0.2.tgz",
- "integrity": "sha512-Jy/tj3ldjZJo63sVAvg6LHt2mHvl4V6AgRAmNDtLdm7faqtsx+aJG42rsyCo9JCoRVKwPFzKlIPx3DIibwSIaQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "abab": "^2.0.6",
- "whatwg-mimetype": "^3.0.0",
- "whatwg-url": "^11.0.0"
- },
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/histoire/node_modules/html-encoding-sniffer": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz",
- "integrity": "sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "whatwg-encoding": "^2.0.0"
- },
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/histoire/node_modules/http-proxy-agent": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz",
- "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@tootallnate/once": "2",
- "agent-base": "6",
- "debug": "4"
- },
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/histoire/node_modules/https-proxy-agent": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz",
- "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "agent-base": "6",
- "debug": "4"
- },
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/histoire/node_modules/jsdom": {
- "version": "20.0.3",
- "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-20.0.3.tgz",
- "integrity": "sha512-SYhBvTh89tTfCD/CRdSOm13mOBa42iTaTyfyEWBdKcGdPxPtLFBXuHR8XHb33YNYaP+lLbmSvBTsnoesCNJEsQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "abab": "^2.0.6",
- "acorn": "^8.8.1",
- "acorn-globals": "^7.0.0",
- "cssom": "^0.5.0",
- "cssstyle": "^2.3.0",
- "data-urls": "^3.0.2",
- "decimal.js": "^10.4.2",
- "domexception": "^4.0.0",
- "escodegen": "^2.0.0",
- "form-data": "^4.0.0",
- "html-encoding-sniffer": "^3.0.0",
- "http-proxy-agent": "^5.0.0",
- "https-proxy-agent": "^5.0.1",
- "is-potential-custom-element-name": "^1.0.1",
- "nwsapi": "^2.2.2",
- "parse5": "^7.1.1",
- "saxes": "^6.0.0",
- "symbol-tree": "^3.2.4",
- "tough-cookie": "^4.1.2",
- "w3c-xmlserializer": "^4.0.0",
- "webidl-conversions": "^7.0.0",
- "whatwg-encoding": "^2.0.0",
- "whatwg-mimetype": "^3.0.0",
- "whatwg-url": "^11.0.0",
- "ws": "^8.11.0",
- "xml-name-validator": "^4.0.0"
- },
- "engines": {
- "node": ">=14"
- },
- "peerDependencies": {
- "canvas": "^2.5.0"
- },
- "peerDependenciesMeta": {
- "canvas": {
- "optional": true
- }
- }
- },
- "node_modules/histoire/node_modules/tr46": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/tr46/-/tr46-3.0.0.tgz",
- "integrity": "sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "punycode": "^2.1.1"
- },
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/histoire/node_modules/w3c-xmlserializer": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-4.0.0.tgz",
- "integrity": "sha512-d+BFHzbiCx6zGfz0HyQ6Rg69w9k19nviJspaj4yNscGjrHu94sVP+aRm75yEbCh+r2/yR+7q6hux9LVtbuTGBw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "xml-name-validator": "^4.0.0"
- },
- "engines": {
- "node": ">=14"
- }
- },
- "node_modules/histoire/node_modules/whatwg-encoding": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz",
- "integrity": "sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "iconv-lite": "0.6.3"
- },
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/histoire/node_modules/whatwg-mimetype": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-3.0.0.tgz",
- "integrity": "sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/histoire/node_modules/whatwg-url": {
- "version": "11.0.0",
- "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-11.0.0.tgz",
- "integrity": "sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "tr46": "^3.0.0",
- "webidl-conversions": "^7.0.0"
- },
- "engines": {
- "node": ">=12"
- }
- },
"node_modules/hoist-non-react-statics": {
"version": "3.3.2",
"resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz",
@@ -9453,16 +8603,6 @@
"node": ">= 14"
}
},
- "node_modules/human-signals": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz",
- "integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==",
- "dev": true,
- "license": "Apache-2.0",
- "engines": {
- "node": ">=16.17.0"
- }
- },
"node_modules/husky": {
"version": "9.1.7",
"resolved": "https://registry.npmjs.org/husky/-/husky-9.1.7.tgz",
@@ -9768,16 +8908,6 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/is-extendable": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
- "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=0.10.0"
- }
- },
"node_modules/is-extglob": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
@@ -9804,13 +8934,16 @@
}
},
"node_modules/is-fullwidth-code-point": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-4.0.0.tgz",
- "integrity": "sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==",
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-5.1.0.tgz",
+ "integrity": "sha512-5XHYaSyiqADb4RnZ1Bdad6cPp8Toise4TzEjcOYDHZkTCbKgiUl7WTUCpNWHuxmDt91wnsZBc9xinNzopv3JMQ==",
"dev": true,
"license": "MIT",
+ "dependencies": {
+ "get-east-asian-width": "^1.3.1"
+ },
"engines": {
- "node": ">=12"
+ "node": ">=18"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
@@ -10001,19 +9134,6 @@
"url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/is-stream": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz",
- "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
"node_modules/is-string": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/is-string/-/is-string-1.1.1.tgz",
@@ -10472,16 +9592,6 @@
"json-buffer": "3.0.1"
}
},
- "node_modules/kind-of": {
- "version": "6.0.3",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
- "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=0.10.0"
- }
- },
"node_modules/klaw-sync": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/klaw-sync/-/klaw-sync-6.0.0.tgz",
@@ -10491,17 +9601,6 @@
"graceful-fs": "^4.1.11"
}
},
- "node_modules/launch-editor": {
- "version": "2.11.1",
- "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.11.1.tgz",
- "integrity": "sha512-SEET7oNfgSaB6Ym0jufAdCeo3meJVeCaaDyzRygy0xsp2BFKCprcfHljTq4QkzTLUxEKkFK6OK4811YM2oSrRg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "picocolors": "^1.1.1",
- "shell-quote": "^1.8.3"
- }
- },
"node_modules/leaflet": {
"version": "1.9.4",
"resolved": "https://registry.npmjs.org/leaflet/-/leaflet-1.9.4.tgz",
@@ -10566,13 +9665,12 @@
"license": "MIT"
},
"node_modules/linkify-it": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-3.0.3.tgz",
- "integrity": "sha512-ynTsyrFSdE5oZ/O9GEf00kPngmOfVwazR5GKDq6EYfhlpFug3J2zybX56a2PRRpc9P+FuSoGNAwjlbDs9jJBPQ==",
- "dev": true,
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-5.0.0.tgz",
+ "integrity": "sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ==",
"license": "MIT",
"dependencies": {
- "uc.micro": "^1.0.1"
+ "uc.micro": "^2.0.0"
}
},
"node_modules/linkifyjs": {
@@ -10582,64 +9680,48 @@
"license": "MIT"
},
"node_modules/lint-staged": {
- "version": "15.5.2",
- "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-15.5.2.tgz",
- "integrity": "sha512-YUSOLq9VeRNAo/CTaVmhGDKG+LBtA8KF1X4K5+ykMSwWST1vDxJRB2kv2COgLb1fvpCo+A/y9A0G0znNVmdx4w==",
+ "version": "16.2.6",
+ "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-16.2.6.tgz",
+ "integrity": "sha512-s1gphtDbV4bmW1eylXpVMk2u7is7YsrLl8hzrtvC70h4ByhcMLZFY01Fx05ZUDNuv1H8HO4E+e2zgejV1jVwNw==",
"dev": true,
"license": "MIT",
"dependencies": {
- "chalk": "^5.4.1",
- "commander": "^13.1.0",
- "debug": "^4.4.0",
- "execa": "^8.0.1",
- "lilconfig": "^3.1.3",
- "listr2": "^8.2.5",
+ "commander": "^14.0.1",
+ "listr2": "^9.0.5",
"micromatch": "^4.0.8",
+ "nano-spawn": "^2.0.0",
"pidtree": "^0.6.0",
"string-argv": "^0.3.2",
- "yaml": "^2.7.0"
+ "yaml": "^2.8.1"
},
"bin": {
"lint-staged": "bin/lint-staged.js"
},
"engines": {
- "node": ">=18.12.0"
+ "node": ">=20.17"
},
"funding": {
"url": "https://opencollective.com/lint-staged"
}
},
- "node_modules/lint-staged/node_modules/chalk": {
- "version": "5.6.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.6.2.tgz",
- "integrity": "sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": "^12.17.0 || ^14.13 || >=16.0.0"
- },
- "funding": {
- "url": "https://github.com/chalk/chalk?sponsor=1"
- }
- },
"node_modules/lint-staged/node_modules/commander": {
- "version": "13.1.0",
- "resolved": "https://registry.npmjs.org/commander/-/commander-13.1.0.tgz",
- "integrity": "sha512-/rFeCpNJQbhSZjGVwO9RFV3xPqbnERS8MmIQzCtD/zl6gpJuV/bMLuN92oG3F7d8oDEHHRrujSXNUr8fpjntKw==",
+ "version": "14.0.1",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-14.0.1.tgz",
+ "integrity": "sha512-2JkV3gUZUVrbNA+1sjBOYLsMZ5cEEl8GTFP2a4AVz5hvasAMCQ1D2l2le/cX+pV4N6ZU17zjUahLpIXRrnWL8A==",
"dev": true,
"license": "MIT",
"engines": {
- "node": ">=18"
+ "node": ">=20"
}
},
"node_modules/listr2": {
- "version": "8.3.3",
- "resolved": "https://registry.npmjs.org/listr2/-/listr2-8.3.3.tgz",
- "integrity": "sha512-LWzX2KsqcB1wqQ4AHgYb4RsDXauQiqhjLk+6hjbaeHG4zpjjVAB6wC/gz6X0l+Du1cN3pUB5ZlrvTbhGSNnUQQ==",
+ "version": "9.0.5",
+ "resolved": "https://registry.npmjs.org/listr2/-/listr2-9.0.5.tgz",
+ "integrity": "sha512-ME4Fb83LgEgwNw96RKNvKV4VTLuXfoKudAmm2lP8Kk87KaMK0/Xrx/aAkMWmT8mDb+3MlFDspfbCs7adjRxA2g==",
"dev": true,
"license": "MIT",
"dependencies": {
- "cli-truncate": "^4.0.0",
+ "cli-truncate": "^5.0.0",
"colorette": "^2.0.20",
"eventemitter3": "^5.0.1",
"log-update": "^6.1.0",
@@ -10647,7 +9729,7 @@
"wrap-ansi": "^9.0.0"
},
"engines": {
- "node": ">=18.0.0"
+ "node": ">=20.0.0"
}
},
"node_modules/listr2/node_modules/ansi-styles": {
@@ -10706,23 +9788,6 @@
"url": "https://github.com/chalk/wrap-ansi?sponsor=1"
}
},
- "node_modules/local-pkg": {
- "version": "0.5.1",
- "resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-0.5.1.tgz",
- "integrity": "sha512-9rrA30MRRP3gBD3HTGnC6cDFpaE1kVDWxWgqWJUN0RvDNAo+Nz/9GxB+nHOH0ifbVFy0hSA1V6vFDvnx54lTEQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "mlly": "^1.7.3",
- "pkg-types": "^1.2.1"
- },
- "engines": {
- "node": ">=14"
- },
- "funding": {
- "url": "https://github.com/sponsors/antfu"
- }
- },
"node_modules/locate-path": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz",
@@ -10806,39 +9871,6 @@
"dev": true,
"license": "MIT"
},
- "node_modules/log-update/node_modules/is-fullwidth-code-point": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-5.1.0.tgz",
- "integrity": "sha512-5XHYaSyiqADb4RnZ1Bdad6cPp8Toise4TzEjcOYDHZkTCbKgiUl7WTUCpNWHuxmDt91wnsZBc9xinNzopv3JMQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "get-east-asian-width": "^1.3.1"
- },
- "engines": {
- "node": ">=18"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/log-update/node_modules/slice-ansi": {
- "version": "7.1.2",
- "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-7.1.2.tgz",
- "integrity": "sha512-iOBWFgUX7caIZiuutICxVgX1SdxwAVFFKwt1EvMYYec/NWO5meOJ6K5uQxhrYBdQJne4KxiqZc+KptFOWFSI9w==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ansi-styles": "^6.2.1",
- "is-fullwidth-code-point": "^5.0.0"
- },
- "engines": {
- "node": ">=18"
- },
- "funding": {
- "url": "https://github.com/chalk/slice-ansi?sponsor=1"
- }
- },
"node_modules/log-update/node_modules/string-width": {
"version": "7.2.0",
"resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz",
@@ -10982,26 +10014,6 @@
"loose-envify": "cli.js"
}
},
- "node_modules/loupe": {
- "version": "2.3.7",
- "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.7.tgz",
- "integrity": "sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "get-func-name": "^2.0.1"
- }
- },
- "node_modules/lower-case": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz",
- "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "tslib": "^2.0.3"
- }
- },
"node_modules/lru-cache": {
"version": "10.4.3",
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz",
@@ -11009,9 +10021,9 @@
"license": "ISC"
},
"node_modules/magic-string": {
- "version": "0.30.19",
- "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.19.tgz",
- "integrity": "sha512-2N21sPY9Ws53PZvsEpVtNuSW+ScYbQdp4b9qUaL+9QkHUrGFKo56Lg9Emg5s9V/qrtNBmiR01sYhUOwu3H+VOw==",
+ "version": "0.30.21",
+ "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.21.tgz",
+ "integrity": "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==",
"license": "MIT",
"dependencies": {
"@jridgewell/sourcemap-codec": "^1.5.5"
@@ -11046,61 +10058,20 @@
}
},
"node_modules/markdown-it": {
- "version": "12.3.2",
- "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-12.3.2.tgz",
- "integrity": "sha512-TchMembfxfNVpHkbtriWltGWc+m3xszaRD0CZup7GFFhzIgQqxIfn3eGj1yZpfuflzPvfkt611B2Q/Bsk1YnGg==",
- "dev": true,
+ "version": "14.1.0",
+ "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-14.1.0.tgz",
+ "integrity": "sha512-a54IwgWPaeBCAAsv13YgmALOF1elABB08FxO9i+r4VFk5Vl4pKokRPeX8u5TCgSsPi6ec1otfLjdOpVcgbpshg==",
"license": "MIT",
"dependencies": {
"argparse": "^2.0.1",
- "entities": "~2.1.0",
- "linkify-it": "^3.0.1",
- "mdurl": "^1.0.1",
- "uc.micro": "^1.0.5"
+ "entities": "^4.4.0",
+ "linkify-it": "^5.0.0",
+ "mdurl": "^2.0.0",
+ "punycode.js": "^2.3.1",
+ "uc.micro": "^2.1.0"
},
"bin": {
- "markdown-it": "bin/markdown-it.js"
- }
- },
- "node_modules/markdown-it-anchor": {
- "version": "8.6.7",
- "resolved": "https://registry.npmjs.org/markdown-it-anchor/-/markdown-it-anchor-8.6.7.tgz",
- "integrity": "sha512-FlCHFwNnutLgVTflOYHPW2pPcl2AACqVzExlkGQNsi4CJgqOHN7YTgDd4LuhgN1BFO3TS0vLAruV1Td6dwWPJA==",
- "dev": true,
- "license": "Unlicense",
- "peerDependencies": {
- "@types/markdown-it": "*",
- "markdown-it": "*"
- }
- },
- "node_modules/markdown-it-attrs": {
- "version": "4.3.1",
- "resolved": "https://registry.npmjs.org/markdown-it-attrs/-/markdown-it-attrs-4.3.1.tgz",
- "integrity": "sha512-/ko6cba+H6gdZ0DOw7BbNMZtfuJTRp9g/IrGIuz8lYc/EfnmWRpaR3CFPnNbVz0LDvF8Gf1hFGPqrQqq7De0rg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6"
- },
- "peerDependencies": {
- "markdown-it": ">= 9.0.0"
- }
- },
- "node_modules/markdown-it-emoji": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/markdown-it-emoji/-/markdown-it-emoji-2.0.2.tgz",
- "integrity": "sha512-zLftSaNrKuYl0kR5zm4gxXjHaOI3FAOEaloKmRA5hijmJZvSjmxcokOLlzycb/HXlUFWzXqpIEoyEMCE4i9MvQ==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/markdown-it/node_modules/entities": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/entities/-/entities-2.1.0.tgz",
- "integrity": "sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w==",
- "dev": true,
- "license": "BSD-2-Clause",
- "funding": {
- "url": "https://github.com/fb55/entities?sponsor=1"
+ "markdown-it": "bin/markdown-it.mjs"
}
},
"node_modules/math-intrinsics": {
@@ -11113,17 +10084,9 @@
}
},
"node_modules/mdurl": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz",
- "integrity": "sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/merge-stream": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz",
- "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==",
- "dev": true,
+ "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-2.0.0.tgz",
+ "integrity": "sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w==",
"license": "MIT"
},
"node_modules/merge2": {
@@ -11171,19 +10134,6 @@
"node": ">= 0.6"
}
},
- "node_modules/mimic-fn": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz",
- "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
"node_modules/mimic-function": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/mimic-function/-/mimic-function-5.0.1.tgz",
@@ -11240,26 +10190,6 @@
"node": ">=16 || 14 >=14.17"
}
},
- "node_modules/mlly": {
- "version": "1.8.0",
- "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.8.0.tgz",
- "integrity": "sha512-l8D9ODSRWLe2KHJSifWGwBqpTZXIXTeo8mlKjY+E2HAakaTeNpqAyBZ8GSqLzHgw4XmHmC8whvpjJNMbFZN7/g==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "acorn": "^8.15.0",
- "pathe": "^2.0.3",
- "pkg-types": "^1.3.1",
- "ufo": "^1.6.1"
- }
- },
- "node_modules/mlly/node_modules/pathe": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz",
- "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==",
- "dev": true,
- "license": "MIT"
- },
"node_modules/mock-apollo-client": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/mock-apollo-client/-/mock-apollo-client-1.4.0.tgz",
@@ -11270,20 +10200,10 @@
"@apollo/client": "^3.0.0"
}
},
- "node_modules/mri": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz",
- "integrity": "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=4"
- }
- },
"node_modules/mrmime": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-1.0.1.tgz",
- "integrity": "sha512-hzzEagAgDyoU1Q6yg5uI+AorQgdvMCur3FcKf7NhMKWsaYg+RnbTyHRa/9IlLF9rf455MOCtcqqrQQ83pPP7Uw==",
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.1.tgz",
+ "integrity": "sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==",
"dev": true,
"license": "MIT",
"engines": {
@@ -11308,6 +10228,19 @@
"thenify-all": "^1.0.0"
}
},
+ "node_modules/nano-spawn": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/nano-spawn/-/nano-spawn-2.0.0.tgz",
+ "integrity": "sha512-tacvGzUY5o2D8CBh2rrwxyNojUsZNU2zjNTzKQrkgGJQTbGAfArVWXSKMBokBeeg6C7OLRGUEyoFlYbfeWQIqw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=20.17"
+ },
+ "funding": {
+ "url": "https://github.com/sindresorhus/nano-spawn?sponsor=1"
+ }
+ },
"node_modules/nanoid": {
"version": "3.3.11",
"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz",
@@ -11342,17 +10275,6 @@
"node": ">=v0.2.0"
}
},
- "node_modules/no-case": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz",
- "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "lower-case": "^2.0.2",
- "tslib": "^2.0.3"
- }
- },
"node_modules/node-addon-api": {
"version": "7.1.1",
"resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.1.tgz",
@@ -11401,35 +10323,6 @@
"node": ">=0.10.0"
}
},
- "node_modules/npm-run-path": {
- "version": "5.3.0",
- "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz",
- "integrity": "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "path-key": "^4.0.0"
- },
- "engines": {
- "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/npm-run-path/node_modules/path-key": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz",
- "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
"node_modules/nth-check": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz",
@@ -11564,19 +10457,6 @@
"url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/on-finished": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
- "integrity": "sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ee-first": "1.1.1"
- },
- "engines": {
- "node": ">= 0.8"
- }
- },
"node_modules/once": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
@@ -11588,16 +10468,16 @@
}
},
"node_modules/onetime": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz",
- "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==",
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/onetime/-/onetime-7.0.0.tgz",
+ "integrity": "sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "mimic-fn": "^4.0.0"
+ "mimic-function": "^5.0.0"
},
"engines": {
- "node": ">=12"
+ "node": ">=18"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
@@ -11732,17 +10612,6 @@
"url": "https://github.com/sponsors/harlan-zw"
}
},
- "node_modules/param-case": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz",
- "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "dot-case": "^3.0.4",
- "tslib": "^2.0.3"
- }
- },
"node_modules/parent-module": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
@@ -11788,27 +10657,6 @@
"url": "https://github.com/fb55/entities?sponsor=1"
}
},
- "node_modules/parseurl": {
- "version": "1.3.3",
- "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
- "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/pascal-case": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz",
- "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "no-case": "^3.0.4",
- "tslib": "^2.0.3"
- }
- },
"node_modules/patch-package": {
"version": "8.0.1",
"resolved": "https://registry.npmjs.org/patch-package/-/patch-package-8.0.1.tgz",
@@ -11838,26 +10686,6 @@
"npm": ">5"
}
},
- "node_modules/patch-package/node_modules/slash": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz",
- "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==",
- "license": "MIT",
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/path-case": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/path-case/-/path-case-3.0.4.tgz",
- "integrity": "sha512-qO4qCFjXqVTrcbPt/hQfhTQ+VhFsqNKOPtytgNKkKxSoEp3XPUQ8ObFuePylOIok5gjn69ry8XiULxCwot3Wfg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "dot-case": "^3.0.4",
- "tslib": "^2.0.3"
- }
- },
"node_modules/path-exists": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
@@ -11920,22 +10748,12 @@
}
},
"node_modules/pathe": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/pathe/-/pathe-1.1.2.tgz",
- "integrity": "sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==",
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz",
+ "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==",
"dev": true,
"license": "MIT"
},
- "node_modules/pathval": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz",
- "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": "*"
- }
- },
"node_modules/phoenix": {
"version": "1.8.1",
"resolved": "https://registry.npmjs.org/phoenix/-/phoenix-1.8.1.tgz",
@@ -11991,25 +10809,6 @@
"node": ">= 6"
}
},
- "node_modules/pkg-types": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-1.3.1.tgz",
- "integrity": "sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "confbox": "^0.1.8",
- "mlly": "^1.7.4",
- "pathe": "^2.0.1"
- }
- },
- "node_modules/pkg-types/node_modules/pathe": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz",
- "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==",
- "dev": true,
- "license": "MIT"
- },
"node_modules/plausible-tracker": {
"version": "0.3.9",
"resolved": "https://registry.npmjs.org/plausible-tracker/-/plausible-tracker-0.3.9.tgz",
@@ -12051,21 +10850,6 @@
"node": ">=18"
}
},
- "node_modules/playwright/node_modules/fsevents": {
- "version": "2.3.2",
- "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
- "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
- "dev": true,
- "hasInstallScript": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "darwin"
- ],
- "engines": {
- "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
- }
- },
"node_modules/possible-typed-array-names": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.1.0.tgz",
@@ -12661,19 +11445,6 @@
"node": "^10.12.0 || >=12.0.0"
}
},
- "node_modules/prettier-eslint/node_modules/glob-parent": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz",
- "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "is-glob": "^4.0.3"
- },
- "engines": {
- "node": ">=10.13.0"
- }
- },
"node_modules/prettier-eslint/node_modules/globals": {
"version": "13.24.0",
"resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz",
@@ -12690,27 +11461,6 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/prettier-eslint/node_modules/globby": {
- "version": "11.1.0",
- "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz",
- "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "array-union": "^2.1.0",
- "dir-glob": "^3.0.1",
- "fast-glob": "^3.2.9",
- "ignore": "^5.2.0",
- "merge2": "^1.4.1",
- "slash": "^3.0.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
"node_modules/prettier-eslint/node_modules/minimatch": {
"version": "9.0.3",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz",
@@ -12727,16 +11477,6 @@
"url": "https://github.com/sponsors/isaacs"
}
},
- "node_modules/prettier-eslint/node_modules/slash": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
- "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
"node_modules/prettier-eslint/node_modules/strip-ansi": {
"version": "6.0.1",
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
@@ -12968,54 +11708,6 @@
"prosemirror-model": "^1.25.0"
}
},
- "node_modules/prosemirror-markdown/node_modules/@types/markdown-it": {
- "version": "14.1.2",
- "resolved": "https://registry.npmjs.org/@types/markdown-it/-/markdown-it-14.1.2.tgz",
- "integrity": "sha512-promo4eFwuiW+TfGxhi+0x3czqTYJkG8qB17ZUJiVF10Xm7NLVRSLUsfRTU/6h1e24VvRnXCx+hG7li58lkzog==",
- "license": "MIT",
- "dependencies": {
- "@types/linkify-it": "^5",
- "@types/mdurl": "^2"
- }
- },
- "node_modules/prosemirror-markdown/node_modules/linkify-it": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-5.0.0.tgz",
- "integrity": "sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ==",
- "license": "MIT",
- "dependencies": {
- "uc.micro": "^2.0.0"
- }
- },
- "node_modules/prosemirror-markdown/node_modules/markdown-it": {
- "version": "14.1.0",
- "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-14.1.0.tgz",
- "integrity": "sha512-a54IwgWPaeBCAAsv13YgmALOF1elABB08FxO9i+r4VFk5Vl4pKokRPeX8u5TCgSsPi6ec1otfLjdOpVcgbpshg==",
- "license": "MIT",
- "dependencies": {
- "argparse": "^2.0.1",
- "entities": "^4.4.0",
- "linkify-it": "^5.0.0",
- "mdurl": "^2.0.0",
- "punycode.js": "^2.3.1",
- "uc.micro": "^2.1.0"
- },
- "bin": {
- "markdown-it": "bin/markdown-it.mjs"
- }
- },
- "node_modules/prosemirror-markdown/node_modules/mdurl": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-2.0.0.tgz",
- "integrity": "sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w==",
- "license": "MIT"
- },
- "node_modules/prosemirror-markdown/node_modules/uc.micro": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-2.1.0.tgz",
- "integrity": "sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==",
- "license": "MIT"
- },
"node_modules/prosemirror-menu": {
"version": "1.2.5",
"resolved": "https://registry.npmjs.org/prosemirror-menu/-/prosemirror-menu-1.2.5.tgz",
@@ -13058,9 +11750,9 @@
}
},
"node_modules/prosemirror-state": {
- "version": "1.4.3",
- "resolved": "https://registry.npmjs.org/prosemirror-state/-/prosemirror-state-1.4.3.tgz",
- "integrity": "sha512-goFKORVbvPuAQaXhpbemJFRKJ2aixr+AZMGiquiqKxaucC6hlpHNZHWgz5R7dS4roHiwq9vDctE//CZ++o0W1Q==",
+ "version": "1.4.4",
+ "resolved": "https://registry.npmjs.org/prosemirror-state/-/prosemirror-state-1.4.4.tgz",
+ "integrity": "sha512-6jiYHH2CIGbCfnxdHbXZ12gySFY/fz/ulZE333G6bPqIZ4F+TXo9ifiR86nAHpWnfoNjOb3o5ESi7J8Uz1jXHw==",
"license": "MIT",
"dependencies": {
"prosemirror-model": "^1.0.0",
@@ -13208,15 +11900,17 @@
}
},
"node_modules/readdirp": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
- "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz",
+ "integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==",
+ "dev": true,
"license": "MIT",
- "dependencies": {
- "picomatch": "^2.2.1"
- },
"engines": {
- "node": ">=8.10.0"
+ "node": ">= 14.18.0"
+ },
+ "funding": {
+ "type": "individual",
+ "url": "https://paulmillr.com/funding/"
}
},
"node_modules/reflect.getprototypeof": {
@@ -13432,22 +12126,6 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/restore-cursor/node_modules/onetime": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/onetime/-/onetime-7.0.0.tgz",
- "integrity": "sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "mimic-function": "^5.0.0"
- },
- "engines": {
- "node": ">=18"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
"node_modules/reusify": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz",
@@ -13571,13 +12249,13 @@
}
},
"node_modules/rollup-plugin-visualizer": {
- "version": "5.14.0",
- "resolved": "https://registry.npmjs.org/rollup-plugin-visualizer/-/rollup-plugin-visualizer-5.14.0.tgz",
- "integrity": "sha512-VlDXneTDaKsHIw8yzJAFWtrzguoJ/LnQ+lMpoVfYJ3jJF4Ihe5oYLAqLklIK/35lgUY+1yEzCkHyZ1j4A5w5fA==",
+ "version": "6.0.5",
+ "resolved": "https://registry.npmjs.org/rollup-plugin-visualizer/-/rollup-plugin-visualizer-6.0.5.tgz",
+ "integrity": "sha512-9+HlNgKCVbJDs8tVtjQ43US12eqaiHyyiLMdBwQ7vSZPiHMysGNo2E88TAp1si5wx8NAoYriI2A5kuKfIakmJg==",
"dev": true,
"license": "MIT",
"dependencies": {
- "open": "^8.4.0",
+ "open": "^8.0.0",
"picomatch": "^4.0.2",
"source-map": "^0.7.4",
"yargs": "^17.5.1"
@@ -13589,7 +12267,7 @@
"node": ">=18"
},
"peerDependencies": {
- "rolldown": "1.x",
+ "rolldown": "1.x || ^1.0.0-beta",
"rollup": "2.x || 3.x || 4.x"
},
"peerDependenciesMeta": {
@@ -13686,19 +12364,6 @@
"integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
"license": "0BSD"
},
- "node_modules/sade": {
- "version": "1.8.1",
- "resolved": "https://registry.npmjs.org/sade/-/sade-1.8.1.tgz",
- "integrity": "sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "mri": "^1.1.0"
- },
- "engines": {
- "node": ">=6"
- }
- },
"node_modules/safe-array-concat": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.3.tgz",
@@ -13817,36 +12482,6 @@
"@parcel/watcher": "^2.4.1"
}
},
- "node_modules/sass/node_modules/chokidar": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz",
- "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "readdirp": "^4.0.1"
- },
- "engines": {
- "node": ">= 14.16.0"
- },
- "funding": {
- "url": "https://paulmillr.com/funding/"
- }
- },
- "node_modules/sass/node_modules/readdirp": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz",
- "integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 14.18.0"
- },
- "funding": {
- "type": "individual",
- "url": "https://paulmillr.com/funding/"
- }
- },
"node_modules/saxes": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/saxes/-/saxes-6.0.0.tgz",
@@ -13860,20 +12495,6 @@
"node": ">=v12.22.7"
}
},
- "node_modules/section-matter": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/section-matter/-/section-matter-1.0.0.tgz",
- "integrity": "sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "extend-shallow": "^2.0.1",
- "kind-of": "^6.0.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
"node_modules/semver": {
"version": "7.7.3",
"resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz",
@@ -13886,18 +12507,6 @@
"node": ">=10"
}
},
- "node_modules/sentence-case": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/sentence-case/-/sentence-case-3.0.4.tgz",
- "integrity": "sha512-8LS0JInaQMCRoQ7YUytAo/xUu5W2XnQxV2HI/6uM6U7CITS1RqPElr30V6uIqyMKM9lJGRVFy5/4CuzcixNYSg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "no-case": "^3.0.4",
- "tslib": "^2.0.3",
- "upper-case-first": "^2.0.2"
- }
- },
"node_modules/serialize-javascript": {
"version": "6.0.2",
"resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz",
@@ -13977,27 +12586,6 @@
"node": ">=8"
}
},
- "node_modules/shell-quote": {
- "version": "1.8.3",
- "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.3.tgz",
- "integrity": "sha512-ObmnIF4hXNg1BqhnHmgbDETF8dLPCggZWBjkQfhZpbszZnYur5DUljTcCHii5LC3J5E0yeO/1LIMyH+UvHQgyw==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/shiki-es": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/shiki-es/-/shiki-es-0.2.0.tgz",
- "integrity": "sha512-RbRMD+IuJJseSZljDdne9ThrUYrwBwJR04FvN4VXpfsU3MNID5VJGHLAD5je/HGThCyEKNgH+nEkSFEWKD7C3Q==",
- "deprecated": "Please migrate to https://github.com/antfu/shikiji",
- "dev": true,
- "license": "MIT"
- },
"node_modules/side-channel": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz",
@@ -14094,9 +12682,9 @@
}
},
"node_modules/sirv": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/sirv/-/sirv-2.0.4.tgz",
- "integrity": "sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==",
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/sirv/-/sirv-3.0.2.tgz",
+ "integrity": "sha512-2wcC/oGxHis/BoHkkPwldgiPSYcpZK3JU28WoMVv55yHJgcZ8rlXvuG9iZggz+sU1d4bRgIGASwyWqjxu3FM0g==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -14105,44 +12693,30 @@
"totalist": "^3.0.0"
},
"engines": {
- "node": ">= 10"
- }
- },
- "node_modules/sirv/node_modules/mrmime": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.1.tgz",
- "integrity": "sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=10"
+ "node": ">=18"
}
},
"node_modules/slash": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz",
- "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==",
- "dev": true,
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz",
+ "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==",
"license": "MIT",
"engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
+ "node": ">=6"
}
},
"node_modules/slice-ansi": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-5.0.0.tgz",
- "integrity": "sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==",
+ "version": "7.1.2",
+ "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-7.1.2.tgz",
+ "integrity": "sha512-iOBWFgUX7caIZiuutICxVgX1SdxwAVFFKwt1EvMYYec/NWO5meOJ6K5uQxhrYBdQJne4KxiqZc+KptFOWFSI9w==",
"dev": true,
"license": "MIT",
"dependencies": {
- "ansi-styles": "^6.0.0",
- "is-fullwidth-code-point": "^4.0.0"
+ "ansi-styles": "^6.2.1",
+ "is-fullwidth-code-point": "^5.0.0"
},
"engines": {
- "node": ">=12"
+ "node": ">=18"
},
"funding": {
"url": "https://github.com/chalk/slice-ansi?sponsor=1"
@@ -14168,17 +12742,6 @@
"dev": true,
"license": "MIT"
},
- "node_modules/snake-case": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/snake-case/-/snake-case-3.0.4.tgz",
- "integrity": "sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "dot-case": "^3.0.4",
- "tslib": "^2.0.3"
- }
- },
"node_modules/sortablejs": {
"version": "1.14.0",
"resolved": "https://registry.npmjs.org/sortablejs/-/sortablejs-1.14.0.tgz",
@@ -14233,13 +12796,6 @@
"dev": true,
"license": "MIT"
},
- "node_modules/sprintf-js": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
- "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==",
- "dev": true,
- "license": "BSD-3-Clause"
- },
"node_modules/stackback": {
"version": "0.0.2",
"resolved": "https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz",
@@ -14247,16 +12803,6 @@
"dev": true,
"license": "MIT"
},
- "node_modules/statuses": {
- "version": "1.5.0",
- "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz",
- "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 0.6"
- }
- },
"node_modules/std-env": {
"version": "3.10.0",
"resolved": "https://registry.npmjs.org/std-env/-/std-env-3.10.0.tgz",
@@ -14505,16 +13051,6 @@
"node": ">=4"
}
},
- "node_modules/strip-bom-string": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/strip-bom-string/-/strip-bom-string-1.0.0.tgz",
- "integrity": "sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=0.10.0"
- }
- },
"node_modules/strip-comments": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/strip-comments/-/strip-comments-2.0.1.tgz",
@@ -14525,19 +13061,6 @@
"node": ">=10"
}
},
- "node_modules/strip-final-newline": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz",
- "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
"node_modules/strip-json-comments": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
@@ -14551,33 +13074,6 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/strip-literal": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/strip-literal/-/strip-literal-2.1.1.tgz",
- "integrity": "sha512-631UJ6O00eNGfMiWG78ck80dfBab8X6IVFB51jZK5Icd7XAs60Z5y7QdSd/wGIklnWvRbUNloVzhOKKmutxQ6Q==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "js-tokens": "^9.0.1"
- },
- "funding": {
- "url": "https://github.com/sponsors/antfu"
- }
- },
- "node_modules/strip-literal/node_modules/js-tokens": {
- "version": "9.0.1",
- "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-9.0.1.tgz",
- "integrity": "sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/style-mod": {
- "version": "4.1.3",
- "resolved": "https://registry.npmjs.org/style-mod/-/style-mod-4.1.3.tgz",
- "integrity": "sha512-i/n8VsZydrugj3Iuzll8+x/00GH2vnYsk1eomD8QiRrSAeW6ItbCQDtfXCeJHd0iwiNagqjQkvpvREEPtW3IoQ==",
- "dev": true,
- "license": "MIT"
- },
"node_modules/sucrase": {
"version": "3.35.0",
"resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.35.0.tgz",
@@ -14702,16 +13198,40 @@
"node": ">=14.0.0"
}
},
- "node_modules/tailwindcss/node_modules/glob-parent": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz",
- "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==",
- "license": "ISC",
+ "node_modules/tailwindcss/node_modules/chokidar": {
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz",
+ "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==",
+ "license": "MIT",
"dependencies": {
- "is-glob": "^4.0.3"
+ "anymatch": "~3.1.2",
+ "braces": "~3.0.2",
+ "glob-parent": "~5.1.2",
+ "is-binary-path": "~2.1.0",
+ "is-glob": "~4.0.1",
+ "normalize-path": "~3.0.0",
+ "readdirp": "~3.6.0"
},
"engines": {
- "node": ">=10.13.0"
+ "node": ">= 8.10.0"
+ },
+ "funding": {
+ "url": "https://paulmillr.com/funding/"
+ },
+ "optionalDependencies": {
+ "fsevents": "~2.3.2"
+ }
+ },
+ "node_modules/tailwindcss/node_modules/chokidar/node_modules/glob-parent": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
+ "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
+ "license": "ISC",
+ "dependencies": {
+ "is-glob": "^4.0.1"
+ },
+ "engines": {
+ "node": ">= 6"
}
},
"node_modules/tailwindcss/node_modules/postcss-selector-parser": {
@@ -14727,6 +13247,18 @@
"node": ">=4"
}
},
+ "node_modules/tailwindcss/node_modules/readdirp": {
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
+ "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
+ "license": "MIT",
+ "dependencies": {
+ "picomatch": "^2.2.1"
+ },
+ "engines": {
+ "node": ">=8.10.0"
+ }
+ },
"node_modules/temp-dir": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-2.0.0.tgz",
@@ -14795,67 +13327,6 @@
"dev": true,
"license": "MIT"
},
- "node_modules/test-exclude": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz",
- "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "@istanbuljs/schema": "^0.1.2",
- "glob": "^7.1.4",
- "minimatch": "^3.0.4"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/test-exclude/node_modules/brace-expansion": {
- "version": "1.1.12",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz",
- "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "balanced-match": "^1.0.0",
- "concat-map": "0.0.1"
- }
- },
- "node_modules/test-exclude/node_modules/glob": {
- "version": "7.2.3",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
- "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
- "deprecated": "Glob versions prior to v9 are no longer supported",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^3.1.1",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
- },
- "engines": {
- "node": "*"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
- "node_modules/test-exclude/node_modules/minimatch": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
- "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "brace-expansion": "^1.1.7"
- },
- "engines": {
- "node": "*"
- }
- },
"node_modules/text-table": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
@@ -14900,20 +13371,65 @@
"dev": true,
"license": "MIT"
},
- "node_modules/tinypool": {
- "version": "0.8.4",
- "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-0.8.4.tgz",
- "integrity": "sha512-i11VH5gS6IFeLY3gMBQ00/MmLncVP7JLXOw1vlgkytLmJK7QnEr7NXf0LBdxfmNPAeyetukOk0bOYrJrFGjYJQ==",
+ "node_modules/tinyexec": {
+ "version": "0.3.2",
+ "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-0.3.2.tgz",
+ "integrity": "sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/tinyglobby": {
+ "version": "0.2.15",
+ "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz",
+ "integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "fdir": "^6.5.0",
+ "picomatch": "^4.0.3"
+ },
+ "engines": {
+ "node": ">=12.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/SuperchupuDev"
+ }
+ },
+ "node_modules/tinyglobby/node_modules/fdir": {
+ "version": "6.5.0",
+ "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz",
+ "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==",
"dev": true,
"license": "MIT",
"engines": {
- "node": ">=14.0.0"
+ "node": ">=12.0.0"
+ },
+ "peerDependencies": {
+ "picomatch": "^3 || ^4"
+ },
+ "peerDependenciesMeta": {
+ "picomatch": {
+ "optional": true
+ }
}
},
- "node_modules/tinyspy": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-2.2.1.tgz",
- "integrity": "sha512-KYad6Vy5VDWV4GH3fjpseMQ/XU2BhIYP7Vzd0LG44qRWm/Yt2WCOTicFdvmgo6gWaqooMQCawTtILVQJupKu7A==",
+ "node_modules/tinyglobby/node_modules/picomatch": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz",
+ "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/jonschlinkert"
+ }
+ },
+ "node_modules/tinyrainbow": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/tinyrainbow/-/tinyrainbow-3.0.3.tgz",
+ "integrity": "sha512-PSkbLUoxOFRzJYjjxHJt9xro7D+iilgMX/C9lawzVuYiIdcihh9DXmVibBe8lmcFrRi/VzlPjBxbN7rH24q8/Q==",
"dev": true,
"license": "MIT",
"engines": {
@@ -15076,16 +13592,6 @@
"node": ">= 0.8.0"
}
},
- "node_modules/type-detect": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.1.0.tgz",
- "integrity": "sha512-Acylog8/luQ8L7il+geoSxhEkazvkslg7PSNKOX59mbB9cOveP5aq9h74Y7YU8yDpJwetzQQrfIwtf4Wp4LKcw==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=4"
- }
- },
"node_modules/type-fest": {
"version": "0.16.0",
"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.16.0.tgz",
@@ -15216,17 +13722,9 @@
}
},
"node_modules/uc.micro": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.6.tgz",
- "integrity": "sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/ufo": {
- "version": "1.6.1",
- "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.6.1.tgz",
- "integrity": "sha512-9a4/uxlTWJ4+a5i0ooc1rU7C7YOw3wT+UGqdeNNHWnOF9qcMBgLRS+4IYUqbczewFx4mLEig6gawh7X6mFlEkA==",
- "dev": true,
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-2.1.0.tgz",
+ "integrity": "sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==",
"license": "MIT"
},
"node_modules/unbox-primitive": {
@@ -15248,13 +13746,6 @@
"url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/undici-types": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.16.0.tgz",
- "integrity": "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==",
- "dev": true,
- "license": "MIT"
- },
"node_modules/unfetch": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/unfetch/-/unfetch-5.0.0.tgz",
@@ -15345,16 +13836,6 @@
"node": ">= 10.0.0"
}
},
- "node_modules/unpipe": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
- "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 0.8"
- }
- },
"node_modules/upath": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz",
@@ -15396,26 +13877,6 @@
"browserslist": ">= 4.21.0"
}
},
- "node_modules/upper-case": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-2.0.2.tgz",
- "integrity": "sha512-KgdgDGJt2TpuwBUIjgG6lzw2GWFRCW9Qkfkiv0DxqHHLYJHmtmdUIKcZd8rHgFSjopVTlw6ggzCm1b8MFQwikg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "tslib": "^2.0.3"
- }
- },
- "node_modules/upper-case-first": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/upper-case-first/-/upper-case-first-2.0.2.tgz",
- "integrity": "sha512-514ppYHBaKwfJRK/pNC6c/OxfGa0obSnAl106u97Ed0I625Nin96KAjttZF6ZL3e1XLtphxnqrOi9iWgm+u+bg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "tslib": "^2.0.3"
- }
- },
"node_modules/uri-js": {
"version": "4.4.1",
"resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
@@ -15443,32 +13904,25 @@
"integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==",
"license": "MIT"
},
- "node_modules/utils-merge": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
- "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 0.4.0"
- }
- },
"node_modules/vite": {
- "version": "5.4.21",
- "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.21.tgz",
- "integrity": "sha512-o5a9xKjbtuhY6Bi5S3+HvbRERmouabWbyUcpXXUA1u+GNUKoROi9byOJ8M0nHbHYHkYICiMlqxkg1KkYmm25Sw==",
+ "version": "7.1.12",
+ "resolved": "https://registry.npmjs.org/vite/-/vite-7.1.12.tgz",
+ "integrity": "sha512-ZWyE8YXEXqJrrSLvYgrRP7p62OziLW7xI5HYGWFzOvupfAlrLvURSzv/FyGyy0eidogEM3ujU+kUG1zuHgb6Ug==",
"dev": true,
"license": "MIT",
"dependencies": {
- "esbuild": "^0.21.3",
- "postcss": "^8.4.43",
- "rollup": "^4.20.0"
+ "esbuild": "^0.25.0",
+ "fdir": "^6.5.0",
+ "picomatch": "^4.0.3",
+ "postcss": "^8.5.6",
+ "rollup": "^4.43.0",
+ "tinyglobby": "^0.2.15"
},
"bin": {
"vite": "bin/vite.js"
},
"engines": {
- "node": "^18.0.0 || >=20.0.0"
+ "node": "^20.19.0 || >=22.12.0"
},
"funding": {
"url": "https://github.com/vitejs/vite?sponsor=1"
@@ -15477,19 +13931,25 @@
"fsevents": "~2.3.3"
},
"peerDependencies": {
- "@types/node": "^18.0.0 || >=20.0.0",
- "less": "*",
+ "@types/node": "^20.19.0 || >=22.12.0",
+ "jiti": ">=1.21.0",
+ "less": "^4.0.0",
"lightningcss": "^1.21.0",
- "sass": "*",
- "sass-embedded": "*",
- "stylus": "*",
- "sugarss": "*",
- "terser": "^5.4.0"
+ "sass": "^1.70.0",
+ "sass-embedded": "^1.70.0",
+ "stylus": ">=0.54.8",
+ "sugarss": "^5.0.0",
+ "terser": "^5.16.0",
+ "tsx": "^4.8.1",
+ "yaml": "^2.4.2"
},
"peerDependenciesMeta": {
"@types/node": {
"optional": true
},
+ "jiti": {
+ "optional": true
+ },
"less": {
"optional": true
},
@@ -15510,45 +13970,27 @@
},
"terser": {
"optional": true
+ },
+ "tsx": {
+ "optional": true
+ },
+ "yaml": {
+ "optional": true
}
}
},
- "node_modules/vite-node": {
- "version": "0.34.7",
- "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-0.34.7.tgz",
- "integrity": "sha512-0Yzb96QzHmqIKIs/x2q/sqG750V/EF6yDkS2p1WjJc1W2bgRSuQjf5vB9HY8h2nVb5j4pO5paS5Npcv3s69YUg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "cac": "^6.7.14",
- "debug": "^4.3.4",
- "mlly": "^1.4.0",
- "pathe": "^1.1.1",
- "picocolors": "^1.0.0",
- "vite": "^3.0.0 || ^4.0.0 || ^5.0.0-0"
- },
- "bin": {
- "vite-node": "vite-node.mjs"
- },
- "engines": {
- "node": ">=v14.18.0"
- },
- "funding": {
- "url": "https://opencollective.com/vitest"
- }
- },
"node_modules/vite-plugin-pwa": {
- "version": "0.19.8",
- "resolved": "https://registry.npmjs.org/vite-plugin-pwa/-/vite-plugin-pwa-0.19.8.tgz",
- "integrity": "sha512-e1oK0dfhzhDhY3VBuML6c0h8Xfx6EkOVYqolj7g+u8eRfdauZe5RLteCIA/c5gH0CBQ0CNFAuv/AFTx4Z7IXTw==",
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/vite-plugin-pwa/-/vite-plugin-pwa-1.1.0.tgz",
+ "integrity": "sha512-VsSpdubPzXhHWVINcSx6uHRMpOHVHQcHsef1QgkOlEoaIDAlssFEW88LBq1a59BuokAhsh2kUDJbaX1bZv4Bjw==",
"dev": true,
"license": "MIT",
"dependencies": {
- "debug": "^4.3.4",
- "fast-glob": "^3.3.2",
+ "debug": "^4.3.6",
"pretty-bytes": "^6.1.1",
- "workbox-build": "^7.0.0",
- "workbox-window": "^7.0.0"
+ "tinyglobby": "^0.2.10",
+ "workbox-build": "^7.3.0",
+ "workbox-window": "^7.3.0"
},
"engines": {
"node": ">=16.0.0"
@@ -15557,10 +13999,10 @@
"url": "https://github.com/sponsors/antfu"
},
"peerDependencies": {
- "@vite-pwa/assets-generator": "^0.2.4",
- "vite": "^3.1.0 || ^4.0.0 || ^5.0.0",
- "workbox-build": "^7.0.0",
- "workbox-window": "^7.0.0"
+ "@vite-pwa/assets-generator": "^1.0.0",
+ "vite": "^3.1.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0",
+ "workbox-build": "^7.3.0",
+ "workbox-window": "^7.3.0"
},
"peerDependenciesMeta": {
"@vite-pwa/assets-generator": {
@@ -15568,48 +14010,97 @@
}
}
},
+ "node_modules/vite/node_modules/fdir": {
+ "version": "6.5.0",
+ "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz",
+ "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=12.0.0"
+ },
+ "peerDependencies": {
+ "picomatch": "^3 || ^4"
+ },
+ "peerDependenciesMeta": {
+ "picomatch": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/vite/node_modules/fsevents": {
+ "version": "2.3.3",
+ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz",
+ "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==",
+ "dev": true,
+ "hasInstallScript": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
+ }
+ },
+ "node_modules/vite/node_modules/picomatch": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz",
+ "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/jonschlinkert"
+ }
+ },
"node_modules/vitest": {
- "version": "1.6.1",
- "resolved": "https://registry.npmjs.org/vitest/-/vitest-1.6.1.tgz",
- "integrity": "sha512-Ljb1cnSJSivGN0LqXd/zmDbWEM0RNNg2t1QW/XUhYl/qPqyu7CsqeWtqQXHVaJsecLPuDoak2oJcZN2QoRIOag==",
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/vitest/-/vitest-4.0.2.tgz",
+ "integrity": "sha512-SXrA2ZzOPulX479d8W13RqKSmvHb9Bfg71eW7Fbs6ZjUFcCCXyt/OzFCkNyiUE8mFlPHa4ZVUGw0ky+5ndKnrg==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@vitest/expect": "1.6.1",
- "@vitest/runner": "1.6.1",
- "@vitest/snapshot": "1.6.1",
- "@vitest/spy": "1.6.1",
- "@vitest/utils": "1.6.1",
- "acorn-walk": "^8.3.2",
- "chai": "^4.3.10",
- "debug": "^4.3.4",
- "execa": "^8.0.1",
- "local-pkg": "^0.5.0",
- "magic-string": "^0.30.5",
- "pathe": "^1.1.1",
- "picocolors": "^1.0.0",
- "std-env": "^3.5.0",
- "strip-literal": "^2.0.0",
- "tinybench": "^2.5.1",
- "tinypool": "^0.8.3",
- "vite": "^5.0.0",
- "vite-node": "1.6.1",
- "why-is-node-running": "^2.2.2"
+ "@vitest/expect": "4.0.2",
+ "@vitest/mocker": "4.0.2",
+ "@vitest/pretty-format": "4.0.2",
+ "@vitest/runner": "4.0.2",
+ "@vitest/snapshot": "4.0.2",
+ "@vitest/spy": "4.0.2",
+ "@vitest/utils": "4.0.2",
+ "debug": "^4.4.3",
+ "es-module-lexer": "^1.7.0",
+ "expect-type": "^1.2.2",
+ "magic-string": "^0.30.19",
+ "pathe": "^2.0.3",
+ "picomatch": "^4.0.3",
+ "std-env": "^3.9.0",
+ "tinybench": "^2.9.0",
+ "tinyexec": "^0.3.2",
+ "tinyglobby": "^0.2.15",
+ "tinyrainbow": "^3.0.3",
+ "vite": "^6.0.0 || ^7.0.0",
+ "why-is-node-running": "^2.3.0"
},
"bin": {
"vitest": "vitest.mjs"
},
"engines": {
- "node": "^18.0.0 || >=20.0.0"
+ "node": "^20.0.0 || ^22.0.0 || >=24.0.0"
},
"funding": {
"url": "https://opencollective.com/vitest"
},
"peerDependencies": {
"@edge-runtime/vm": "*",
- "@types/node": "^18.0.0 || >=20.0.0",
- "@vitest/browser": "1.6.1",
- "@vitest/ui": "1.6.1",
+ "@types/debug": "^4.1.12",
+ "@types/node": "^20.0.0 || ^22.0.0 || >=24.0.0",
+ "@vitest/browser-playwright": "4.0.2",
+ "@vitest/browser-preview": "4.0.2",
+ "@vitest/browser-webdriverio": "4.0.2",
+ "@vitest/ui": "4.0.2",
"happy-dom": "*",
"jsdom": "*"
},
@@ -15617,10 +14108,19 @@
"@edge-runtime/vm": {
"optional": true
},
+ "@types/debug": {
+ "optional": true
+ },
"@types/node": {
"optional": true
},
- "@vitest/browser": {
+ "@vitest/browser-playwright": {
+ "optional": true
+ },
+ "@vitest/browser-preview": {
+ "optional": true
+ },
+ "@vitest/browser-webdriverio": {
"optional": true
},
"@vitest/ui": {
@@ -15634,27 +14134,17 @@
}
}
},
- "node_modules/vitest/node_modules/vite-node": {
- "version": "1.6.1",
- "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-1.6.1.tgz",
- "integrity": "sha512-YAXkfvGtuTzwWbDSACdJSg4A4DZiAqckWe90Zapc/sEX3XvHcw1NdurM/6od8J207tSDqNbSsgdCacBgvJKFuA==",
+ "node_modules/vitest/node_modules/picomatch": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz",
+ "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==",
"dev": true,
"license": "MIT",
- "dependencies": {
- "cac": "^6.7.14",
- "debug": "^4.3.4",
- "pathe": "^1.1.1",
- "picocolors": "^1.0.0",
- "vite": "^5.0.0"
- },
- "bin": {
- "vite-node": "vite-node.mjs"
- },
"engines": {
- "node": "^18.0.0 || >=20.0.0"
+ "node": ">=12"
},
"funding": {
- "url": "https://opencollective.com/vitest"
+ "url": "https://github.com/sponsors/jonschlinkert"
}
},
"node_modules/vue": {
@@ -15843,9 +14333,9 @@
}
},
"node_modules/vue-router-mock": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/vue-router-mock/-/vue-router-mock-1.1.0.tgz",
- "integrity": "sha512-RhKhxkiZh2zB2eRkzfcCILQQ0ZUc0tk7CE2ZC1PGJYi5GOU+2QQAGHtTCgb8V4B/OPm9ws+X5Q9SQB5vyTXxBQ==",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/vue-router-mock/-/vue-router-mock-2.0.0.tgz",
+ "integrity": "sha512-UmfJ9C4odcC8P2d8+yZWGPnjK7MMc1Uk3bmchpq+8lcGEdpwrO18RPQOMUEiwAjqjTVN5Z955Weaz2Ev9UrXMw==",
"dev": true,
"license": "MIT",
"peerDependencies": {
diff --git a/package.json b/package.json
index 5bf4dd8f0..343734b2a 100644
--- a/package.json
+++ b/package.json
@@ -10,9 +10,6 @@
"format": "prettier . --write",
"build:assets": "vite build",
"build:pictures": "bash ./scripts/build/pictures.sh",
- "story:dev": "histoire dev",
- "story:build": "histoire build",
- "story:preview": "histoire preview",
"test": "vitest",
"coverage": "vitest run --coverage",
"prepare": "husky",
@@ -112,7 +109,6 @@
},
"devDependencies": {
"@eslint/js": "^9.38.0",
- "@histoire/plugin-vue": "^0.17.1",
"@playwright/test": "^1.25.1",
"@rushstack/eslint-patch": "^1.1.4",
"@tailwindcss/forms": "^0.5.2",
@@ -125,9 +121,9 @@
"@types/ngeohash": "^0.6.2",
"@types/phoenix": "^1.5.2",
"@types/sanitize-html": "^2.5.0",
- "@vitejs/plugin-vue": "^5.0.0",
- "@vitest/coverage-v8": "^1.2.2",
- "@vitest/ui": "^1.2.2",
+ "@vitejs/plugin-vue": "^6.0.1",
+ "@vitest/coverage-v8": "^4.0.2",
+ "@vitest/ui": "^4.0.2",
"@vue/eslint-config-prettier": "^10.2.0",
"@vue/eslint-config-typescript": "^14.6.0",
"@vue/test-utils": "^2.0.2",
@@ -138,21 +134,20 @@
"eslint-plugin-vue": "^10.5.1",
"flush-promises": "^1.0.2",
"globals": "^16.4.0",
- "histoire": "^0.17.0",
"husky": "^9.0.10",
"jsdom": "^24.0.0",
- "lint-staged": "^15.1.0",
+ "lint-staged": "^16.2.6",
"mock-apollo-client": "^1.1.0",
"prettier": "^3.0.0",
"prettier-eslint": "^16.1.2",
- "rollup-plugin-visualizer": "^5.7.1",
+ "rollup-plugin-visualizer": "^6.0.5",
"sass": "^1.34.1",
"typescript": "^5.9.3",
"typescript-eslint": "^8.46.2",
- "vite": "^5.0.12",
- "vite-plugin-pwa": "^0.19.0",
- "vitest": "^1.2.2",
+ "vite": "^7.1.12",
+ "vite-plugin-pwa": "^1.1.0",
+ "vitest": "^4.0.2",
"vue-i18n-extract": "^2.0.4",
- "vue-router-mock": "^1.0.0"
+ "vue-router-mock": "^2.0.0"
}
}
diff --git a/src/components/About/InstanceContactLink.story.vue b/src/components/About/InstanceContactLink.story.vue
deleted file mode 100644
index 6369bd2c4..000000000
--- a/src/components/About/InstanceContactLink.story.vue
+++ /dev/null
@@ -1,20 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/components/Account/ActorCard.story.vue b/src/components/Account/ActorCard.story.vue
deleted file mode 100644
index ee5f2e830..000000000
--- a/src/components/Account/ActorCard.story.vue
+++ /dev/null
@@ -1,52 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/components/Account/ActorInline.story.vue b/src/components/Account/ActorInline.story.vue
deleted file mode 100644
index 7ab2923f8..000000000
--- a/src/components/Account/ActorInline.story.vue
+++ /dev/null
@@ -1,52 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/components/Account/PopoverActorCard.story.vue b/src/components/Account/PopoverActorCard.story.vue
deleted file mode 100644
index 25a5950eb..000000000
--- a/src/components/Account/PopoverActorCard.story.vue
+++ /dev/null
@@ -1,59 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/components/Account/ProfileOnboarding.story.vue b/src/components/Account/ProfileOnboarding.story.vue
deleted file mode 100644
index 604b118e1..000000000
--- a/src/components/Account/ProfileOnboarding.story.vue
+++ /dev/null
@@ -1,29 +0,0 @@
-
-
-
-
-
-
-
-
-
diff --git a/src/components/Address/AddressInfo.story.vue b/src/components/Address/AddressInfo.story.vue
deleted file mode 100644
index 97ae8821e..000000000
--- a/src/components/Address/AddressInfo.story.vue
+++ /dev/null
@@ -1,31 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/components/Address/InlineAddress.story.vue b/src/components/Address/InlineAddress.story.vue
deleted file mode 100644
index da69eab8f..000000000
--- a/src/components/Address/InlineAddress.story.vue
+++ /dev/null
@@ -1,27 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/components/Categories/CategoryCard.story.vue b/src/components/Categories/CategoryCard.story.vue
deleted file mode 100644
index 95fec5c33..000000000
--- a/src/components/Categories/CategoryCard.story.vue
+++ /dev/null
@@ -1,29 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/components/Discussion/DiscussionComment.story.vue b/src/components/Discussion/DiscussionComment.story.vue
deleted file mode 100644
index 86621443f..000000000
--- a/src/components/Discussion/DiscussionComment.story.vue
+++ /dev/null
@@ -1,50 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/components/Discussion/DiscussionListItem.story.vue b/src/components/Discussion/DiscussionListItem.story.vue
deleted file mode 100644
index 7f075f3c2..000000000
--- a/src/components/Discussion/DiscussionListItem.story.vue
+++ /dev/null
@@ -1,33 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/components/Event/DateCalendarIcon.story.vue b/src/components/Event/DateCalendarIcon.story.vue
deleted file mode 100644
index e6b55dcb3..000000000
--- a/src/components/Event/DateCalendarIcon.story.vue
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/components/Event/OrganizerPicker.story.vue b/src/components/Event/OrganizerPicker.story.vue
deleted file mode 100644
index a58dcd68d..000000000
--- a/src/components/Event/OrganizerPicker.story.vue
+++ /dev/null
@@ -1,56 +0,0 @@
-
-
-
-
-
-
-
-
diff --git a/src/components/Event/OrganizerPickerWrapper.story.vue b/src/components/Event/OrganizerPickerWrapper.story.vue
deleted file mode 100644
index 0906588d0..000000000
--- a/src/components/Event/OrganizerPickerWrapper.story.vue
+++ /dev/null
@@ -1,89 +0,0 @@
-
-
-
-
-
-
-
-
diff --git a/src/components/Event/ParticipationButton.story.vue b/src/components/Event/ParticipationButton.story.vue
deleted file mode 100644
index 594a3353d..000000000
--- a/src/components/Event/ParticipationButton.story.vue
+++ /dev/null
@@ -1,114 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/components/Event/ShareEventModal.story.vue b/src/components/Event/ShareEventModal.story.vue
deleted file mode 100644
index c153fdc5a..000000000
--- a/src/components/Event/ShareEventModal.story.vue
+++ /dev/null
@@ -1,29 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/components/Event/SkeletonEventResult.story.vue b/src/components/Event/SkeletonEventResult.story.vue
deleted file mode 100644
index 079d01ba7..000000000
--- a/src/components/Event/SkeletonEventResult.story.vue
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/components/Event/TagInput.story.vue b/src/components/Event/TagInput.story.vue
deleted file mode 100644
index 19bced808..000000000
--- a/src/components/Event/TagInput.story.vue
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
-
-
-
-
-
-
-
-
diff --git a/src/components/Group/GroupCard.story.vue b/src/components/Group/GroupCard.story.vue
deleted file mode 100644
index 56772549b..000000000
--- a/src/components/Group/GroupCard.story.vue
+++ /dev/null
@@ -1,60 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/components/Group/GroupMemberCard.story.vue b/src/components/Group/GroupMemberCard.story.vue
deleted file mode 100644
index 461d2177c..000000000
--- a/src/components/Group/GroupMemberCard.story.vue
+++ /dev/null
@@ -1,91 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/components/Home/CategoriesPreview.story.vue b/src/components/Home/CategoriesPreview.story.vue
deleted file mode 100644
index dc788a9df..000000000
--- a/src/components/Home/CategoriesPreview.story.vue
+++ /dev/null
@@ -1,16 +0,0 @@
-
-
-
-
-
-
-
-
diff --git a/src/components/Home/MobilizonPresentation.story.vue b/src/components/Home/MobilizonPresentation.story.vue
deleted file mode 100644
index 5d66f6045..000000000
--- a/src/components/Home/MobilizonPresentation.story.vue
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
-
-
-
diff --git a/src/components/Home/SearchFields.story.vue b/src/components/Home/SearchFields.story.vue
deleted file mode 100644
index fd3f8112e..000000000
--- a/src/components/Home/SearchFields.story.vue
+++ /dev/null
@@ -1,22 +0,0 @@
-
-
-
-
-
-
-
-
diff --git a/src/components/Home/UnloggedIntroduction.story.vue b/src/components/Home/UnloggedIntroduction.story.vue
deleted file mode 100644
index 4958f4e22..000000000
--- a/src/components/Home/UnloggedIntroduction.story.vue
+++ /dev/null
@@ -1,23 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/components/Post/PostListItem.story.vue b/src/components/Post/PostListItem.story.vue
deleted file mode 100644
index 61d583900..000000000
--- a/src/components/Post/PostListItem.story.vue
+++ /dev/null
@@ -1,48 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/components/Post/SharePostModal.story.vue b/src/components/Post/SharePostModal.story.vue
deleted file mode 100644
index 9531800ea..000000000
--- a/src/components/Post/SharePostModal.story.vue
+++ /dev/null
@@ -1,20 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/components/User/AuthProviders.story.vue b/src/components/User/AuthProviders.story.vue
deleted file mode 100644
index ee88b54a1..000000000
--- a/src/components/User/AuthProviders.story.vue
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-
-
-
-
-
-
-
diff --git a/src/components/core/MaterialIcon.story.vue b/src/components/core/MaterialIcon.story.vue
deleted file mode 100644
index 1b6a20a58..000000000
--- a/src/components/core/MaterialIcon.story.vue
+++ /dev/null
@@ -1,16 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/histoire.setup.ts b/src/histoire.setup.ts
deleted file mode 100644
index b9757b419..000000000
--- a/src/histoire.setup.ts
+++ /dev/null
@@ -1,17 +0,0 @@
-import { defineSetupVue3 } from "@histoire/plugin-vue";
-import { orugaConfig } from "./oruga-config";
-import { i18n } from "./utils/i18n";
-import Oruga from "@oruga-ui/oruga-next";
-import "@oruga-ui/oruga-next/dist/oruga-full-vars.css";
-import "./assets/tailwind.css";
-import "./assets/oruga-tailwindcss.css";
-import locale from "date-fns/locale/en-US";
-import MaterialIcon from "./components/core/MaterialIcon.vue";
-
-export const setupVue3 = defineSetupVue3(({ app }) => {
- // Vue plugin
- app.use(i18n);
- app.use(Oruga, orugaConfig);
- app.component("material-icon", MaterialIcon);
- app.provide("dateFnsLocale", locale);
-});
diff --git a/tests/unit/specs/components/About/InstanceContactLink.spec.ts b/tests/unit/specs/components/About/InstanceContactLink.spec.ts
new file mode 100644
index 000000000..056f5acd0
--- /dev/null
+++ b/tests/unit/specs/components/About/InstanceContactLink.spec.ts
@@ -0,0 +1,74 @@
+import { beforeEach, describe, it, expect } from "vitest";
+import { enUS } from "date-fns/locale";
+import { routes } from "@/router";
+import { createRouter, createWebHistory, Router } from "vue-router";
+import { config, mount } from "@vue/test-utils";
+import { Oruga } from "@oruga-ui/oruga-next";
+import flushPromises from "flush-promises";
+import { getMockClient } from "../../mocks/client";
+import { htmlRemoveId } from "../../common";
+import InstanceContactLink from "@/components/About/InstanceContactLink.vue";
+
+config.global.plugins.push(Oruga);
+
+let router: Router;
+
+beforeEach(async () => {
+ router = createRouter({
+ history: createWebHistory(),
+ routes: routes,
+ });
+
+ // await router.isReady();
+});
+
+const generateWrapper = (props: any = {}) => {
+ const global_data = getMockClient([]);
+ global_data.provide.dateFnsLocale = enUS;
+ global_data.plugins = [router];
+ return mount(InstanceContactLink, {
+ props: props,
+ global: {
+ ...global_data,
+ stubs: {
+ RouterLink: false,
+ },
+ },
+ });
+};
+
+describe("InstanceContactLink", () => {
+ it("Show empty", async () => {
+ const wrapper = generateWrapper();
+ await wrapper.vm.$nextTick();
+ await flushPromises();
+ expect(htmlRemoveId(wrapper.html())).toMatchSnapshot();
+ });
+
+ it("Show string", async () => {
+ const wrapper = generateWrapper({
+ contact: "someone",
+ });
+ await wrapper.vm.$nextTick();
+ await flushPromises();
+ expect(htmlRemoveId(wrapper.html())).toMatchSnapshot();
+ });
+
+ it("Show email", async () => {
+ const wrapper = generateWrapper({
+ contact: "someone@somewhere.tld",
+ });
+ await wrapper.vm.$nextTick();
+ await flushPromises();
+ expect(htmlRemoveId(wrapper.html())).toMatchSnapshot();
+ });
+
+ it("Show url", async () => {
+ const wrapper = generateWrapper({
+ contact: "https://somewhere.com",
+ });
+ await wrapper.vm.$nextTick();
+ await flushPromises();
+ expect(htmlRemoveId(wrapper.html())).toMatchSnapshot();
+ });
+});
diff --git a/tests/unit/specs/components/About/__snapshots__/InstanceContactLink.spec.ts.snap b/tests/unit/specs/components/About/__snapshots__/InstanceContactLink.spec.ts.snap
new file mode 100644
index 000000000..a8d8505d8
--- /dev/null
+++ b/tests/unit/specs/components/About/__snapshots__/InstanceContactLink.spec.ts.snap
@@ -0,0 +1,9 @@
+// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
+
+exports[`InstanceContactLink > Show email 1`] = `"
someone@somewhere.tld
"`;
+
+exports[`InstanceContactLink > Show empty 1`] = `"contact uninformed
"`;
+
+exports[`InstanceContactLink > Show string 1`] = `"someone
"`;
+
+exports[`InstanceContactLink > Show url 1`] = `"somewhere.com
"`;
diff --git a/tests/unit/specs/components/Account/ActorCard.spec.ts b/tests/unit/specs/components/Account/ActorCard.spec.ts
new file mode 100644
index 000000000..1f1f7c1ff
--- /dev/null
+++ b/tests/unit/specs/components/Account/ActorCard.spec.ts
@@ -0,0 +1,87 @@
+import { beforeEach, describe, it, expect } from "vitest";
+import { enUS } from "date-fns/locale";
+import { routes } from "@/router";
+import { createRouter, createWebHistory, Router } from "vue-router";
+import { config, mount } from "@vue/test-utils";
+import { Oruga } from "@oruga-ui/oruga-next";
+import flushPromises from "flush-promises";
+import { getMockClient } from "../../mocks/client";
+import { htmlRemoveId } from "../../common";
+import ActorCard from "@/components/Account/ActorCard.vue";
+import { reactive, ref } from "vue";
+import { IActor } from "@/types/actor";
+import { ActorType } from "@/types/enums";
+
+config.global.plugins.push(Oruga);
+
+let router: Router;
+
+beforeEach(async () => {
+ router = createRouter({
+ history: createWebHistory(),
+ routes: routes,
+ });
+
+ // await router.isReady();
+});
+
+const avatarUrl = ref(
+ "https://stockage.framapiaf.org/framapiaf/accounts/avatars/000/000/399/original/52b08a3e80b43d40.jpg"
+);
+
+const stateLocal = reactive({
+ name: "Thomas Citharel",
+ preferredUsername: "tcit",
+ avatar: null,
+ domain: null,
+ url: "",
+ summary: "",
+ suspended: false,
+ type: ActorType.PERSON,
+});
+
+const stateRemote = reactive({
+ name: "Framasoft",
+ preferredUsername: "framasoft",
+ avatar: { url: avatarUrl.value, id: "", name: "", alt: "", metadata: {} },
+ domain: "framapiaf.org",
+ url: "",
+ summary: "",
+ suspended: false,
+ type: ActorType.PERSON,
+});
+
+const generateWrapper = (props: any) => {
+ const global_data = getMockClient([]);
+ global_data.provide.dateFnsLocale = enUS;
+ global_data.plugins = [router];
+ return mount(ActorCard, {
+ props: props,
+ global: {
+ ...global_data,
+ stubs: {
+ RouterLink: false,
+ },
+ },
+ });
+};
+
+describe("ActorCard", () => {
+ it("Show local", async () => {
+ const wrapper = generateWrapper({
+ actor: stateLocal,
+ });
+ await wrapper.vm.$nextTick();
+ await flushPromises();
+ expect(htmlRemoveId(wrapper.html())).toMatchSnapshot();
+ });
+
+ it("Show simple", async () => {
+ const wrapper = generateWrapper({
+ actor: stateRemote,
+ });
+ await wrapper.vm.$nextTick();
+ await flushPromises();
+ expect(htmlRemoveId(wrapper.html())).toMatchSnapshot();
+ });
+});
diff --git a/tests/unit/specs/components/Account/ActorInline.spec.ts b/tests/unit/specs/components/Account/ActorInline.spec.ts
new file mode 100644
index 000000000..67a1b1db4
--- /dev/null
+++ b/tests/unit/specs/components/Account/ActorInline.spec.ts
@@ -0,0 +1,87 @@
+import { beforeEach, describe, it, expect } from "vitest";
+import { enUS } from "date-fns/locale";
+import { routes } from "@/router";
+import { createRouter, createWebHistory, Router } from "vue-router";
+import { config, mount } from "@vue/test-utils";
+import { Oruga } from "@oruga-ui/oruga-next";
+import flushPromises from "flush-promises";
+import { getMockClient } from "../../mocks/client";
+import { htmlRemoveId } from "../../common";
+import ActorInline from "@/components/Account/ActorInline.vue";
+import { reactive, ref } from "vue";
+import { IActor } from "@/types/actor";
+import { ActorType } from "@/types/enums";
+
+config.global.plugins.push(Oruga);
+
+let router: Router;
+
+beforeEach(async () => {
+ router = createRouter({
+ history: createWebHistory(),
+ routes: routes,
+ });
+
+ // await router.isReady();
+});
+
+const generateWrapper = (props: any) => {
+ const global_data = getMockClient([]);
+ global_data.provide.dateFnsLocale = enUS;
+ global_data.plugins = [router];
+ return mount(ActorInline, {
+ props: props,
+ global: {
+ ...global_data,
+ stubs: {
+ RouterLink: false,
+ },
+ },
+ });
+};
+
+const avatarUrl = ref(
+ "https://stockage.framapiaf.org/framapiaf/accounts/avatars/000/000/399/original/52b08a3e80b43d40.jpg"
+);
+
+const stateLocal = reactive({
+ name: "Thomas Citharel",
+ preferredUsername: "tcit",
+ avatar: null,
+ domain: null,
+ url: "",
+ summary: "",
+ suspended: false,
+ type: ActorType.PERSON,
+});
+
+const stateRemote = reactive({
+ name: "Framasoft",
+ preferredUsername: "framasoft",
+ avatar: { url: avatarUrl.value, id: "", name: "", alt: "", metadata: {} },
+ domain: "framapiaf.org",
+ url: "",
+ summary: "",
+ suspended: false,
+ type: ActorType.PERSON,
+});
+
+describe("ActorInline", () => {
+ it("Show local", async () => {
+ const wrapper = generateWrapper({
+ actor: stateLocal,
+ });
+ await wrapper.vm.$nextTick();
+ await flushPromises();
+ expect(htmlRemoveId(wrapper.html())).toMatchSnapshot();
+ });
+
+ it("Show remote", async () => {
+ const wrapper = generateWrapper({
+ actor: stateRemote,
+ });
+ await wrapper.vm.$nextTick();
+ await flushPromises();
+ expect(htmlRemoveId(wrapper.html())).toMatchSnapshot();
+ });
+});
diff --git a/tests/unit/specs/components/Account/PopoverActorCard.spec.ts b/tests/unit/specs/components/Account/PopoverActorCard.spec.ts
new file mode 100644
index 000000000..691cb9eb4
--- /dev/null
+++ b/tests/unit/specs/components/Account/PopoverActorCard.spec.ts
@@ -0,0 +1,90 @@
+import { beforeEach, describe, it, expect } from "vitest";
+import { enUS } from "date-fns/locale";
+import { routes } from "@/router";
+import { createRouter, createWebHistory, Router } from "vue-router";
+import { config, mount } from "@vue/test-utils";
+import { Oruga } from "@oruga-ui/oruga-next";
+import flushPromises from "flush-promises";
+import { getMockClient, requestHandlers } from "../../mocks/client";
+import { htmlRemoveId } from "../../common";
+import PopoverActorCard from "@/components/Account/PopoverActorCard.vue";
+import { ActorType } from "@/types/enums";
+
+config.global.plugins.push(Oruga);
+
+let router: Router;
+
+beforeEach(async () => {
+ router = createRouter({
+ history: createWebHistory(),
+ routes: routes,
+ });
+
+ // await router.isReady();
+});
+
+const baseActorAvatar = {
+ id: "",
+ name: "",
+ alt: "",
+ metadata: {},
+ url: "https://social.tcit.fr/system/accounts/avatars/000/000/001/original/a28c50ce5f2b13fd.jpg",
+};
+
+const baseActor = {
+ name: "Thomas Citharel",
+ preferredUsername: "tcit",
+ avatar: baseActorAvatar,
+ domain: null,
+ url: "",
+ summary: "",
+ suspended: false,
+ type: ActorType.PERSON,
+};
+
+const group = {
+ ...baseActor,
+ name: "Framasoft",
+ preferredUsername: "framasoft",
+ domain: "mobilizon.fr",
+ avatar: {
+ ...baseActorAvatar,
+ url: "https://stockage.framapiaf.org/framapiaf/accounts/avatars/000/000/399/original/52b08a3e80b43d40.jpg",
+ },
+};
+
+const generateWrapper = (actor: any) => {
+ const global_data = getMockClient([]);
+ global_data.provide.dateFnsLocale = enUS;
+ global_data.plugins = [router];
+ return mount(PopoverActorCard, {
+ props: {
+ actor: actor,
+ },
+ global: {
+ ...global_data,
+ stubs: {
+ RouterLink: false,
+ },
+ },
+ slots: {
+ default: " Popover me !
",
+ },
+ });
+};
+
+describe("PopoverActorCard", () => {
+ it("Show Person", async () => {
+ const wrapper = generateWrapper(baseActor);
+ await wrapper.vm.$nextTick();
+ await flushPromises();
+ expect(htmlRemoveId(wrapper.html())).toMatchSnapshot();
+ });
+
+ it("Show Group", async () => {
+ const wrapper = generateWrapper(group);
+ await wrapper.vm.$nextTick();
+ await flushPromises();
+ expect(htmlRemoveId(wrapper.html())).toMatchSnapshot();
+ });
+});
diff --git a/tests/unit/specs/components/Account/ProfileOnboarding.spec.ts b/tests/unit/specs/components/Account/ProfileOnboarding.spec.ts
new file mode 100644
index 000000000..77b52c300
--- /dev/null
+++ b/tests/unit/specs/components/Account/ProfileOnboarding.spec.ts
@@ -0,0 +1,63 @@
+import { beforeEach, describe, it, expect } from "vitest";
+import { enUS } from "date-fns/locale";
+import { routes } from "@/router";
+import { createRouter, createWebHistory, Router } from "vue-router";
+import { config, mount } from "@vue/test-utils";
+import { Oruga } from "@oruga-ui/oruga-next";
+import flushPromises from "flush-promises";
+import { getMockClient } from "../../mocks/client";
+import { htmlRemoveId } from "../../common";
+import ProfileOnboarding from "@/components/Account/ProfileOnboarding.vue";
+import { ActorType } from "@/types/enums";
+import { IPerson } from "@/types/actor";
+
+config.global.plugins.push(Oruga);
+
+let router: Router;
+
+beforeEach(async () => {
+ router = createRouter({
+ history: createWebHistory(),
+ routes: routes,
+ });
+
+ // await router.isReady();
+});
+
+const baseActor: IPerson = {
+ name: "Thomas Citharel",
+ preferredUsername: "tcit",
+ avatar: null,
+ domain: null,
+ url: "",
+ summary: "",
+ suspended: false,
+ type: ActorType.PERSON,
+};
+
+const generateWrapper = (props: any) => {
+ const global_data = getMockClient([]);
+ global_data.provide.dateFnsLocale = enUS;
+ global_data.plugins = [router];
+ return mount(ProfileOnboarding, {
+ props: props,
+ global: {
+ ...global_data,
+ stubs: {
+ RouterLink: false,
+ },
+ },
+ });
+};
+
+describe("ProfileOnboarding", () => {
+ it("Show simple", async () => {
+ const wrapper = generateWrapper({
+ currentActor: baseActor,
+ instanceName: "Instance name",
+ });
+ await wrapper.vm.$nextTick();
+ await flushPromises();
+ expect(htmlRemoveId(wrapper.html())).toMatchSnapshot();
+ });
+});
diff --git a/tests/unit/specs/components/Account/__snapshots__/ActorCard.spec.ts.snap b/tests/unit/specs/components/Account/__snapshots__/ActorCard.spec.ts.snap
new file mode 100644
index 000000000..10eb5f58f
--- /dev/null
+++ b/tests/unit/specs/components/Account/__snapshots__/ActorCard.spec.ts.snap
@@ -0,0 +1,103 @@
+// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
+
+exports[`ActorCard > Show local 1`] = `
+"
+
+
+
Thomas Citharel
+
@tcit
+
+
+
+
+
+"
+`;
+
+exports[`ActorCard > Show simple 1`] = `
+"
+
+
+
+
+
Framasoft
+
@framasoft@framapiaf.org
+
+
+
+
+
+"
+`;
diff --git a/tests/unit/specs/components/Account/__snapshots__/ActorInline.spec.ts.snap b/tests/unit/specs/components/Account/__snapshots__/ActorInline.spec.ts.snap
new file mode 100644
index 000000000..afe458152
--- /dev/null
+++ b/tests/unit/specs/components/Account/__snapshots__/ActorInline.spec.ts.snap
@@ -0,0 +1,23 @@
+// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
+
+exports[`ActorInline > Show local 1`] = `
+"
+
+
+
Thomas Citharel
+
@tcit
+
+
"
+`;
+
+exports[`ActorInline > Show remote 1`] = `
+"
+
+
+
+
+
Framasoft
+
@framasoft@framapiaf.org
+
+
"
+`;
diff --git a/tests/unit/specs/components/Account/__snapshots__/PopoverActorCard.spec.ts.snap b/tests/unit/specs/components/Account/__snapshots__/PopoverActorCard.spec.ts.snap
new file mode 100644
index 000000000..314ce49ed
--- /dev/null
+++ b/tests/unit/specs/components/Account/__snapshots__/PopoverActorCard.spec.ts.snap
@@ -0,0 +1,13 @@
+// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
+
+exports[`PopoverActorCard > Show Group 1`] = `
+"
+ Popover me !
+ "
+`;
+
+exports[`PopoverActorCard > Show Person 1`] = `
+"
+ Popover me !
+ "
+`;
diff --git a/tests/unit/specs/components/Account/__snapshots__/ProfileOnboarding.spec.ts.snap b/tests/unit/specs/components/Account/__snapshots__/ProfileOnboarding.spec.ts.snap
new file mode 100644
index 000000000..7aa9e5658
--- /dev/null
+++ b/tests/unit/specs/components/Account/__snapshots__/ProfileOnboarding.spec.ts.snap
@@ -0,0 +1,13 @@
+// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
+
+exports[`ProfileOnboarding > Show simple 1`] = `
+"
+
Profiles and federation
+
+Mobilizon uses a system of profiles to compartiment your activities. You will be able to create as many profiles as you want.
+
+Mobilizon is a federated software, meaning you can interact - depending on your admin's federation settings - with content from other instances, such as joining groups or events that were created elsewhere. This instance, Instance name (localhost) , hosts your profile, so remember its name.
+
+If you are being asked for your federated indentity, it's composed of your username and your instance. For instance, the federated identity for your first profile is:
+tcit@localhost
"
+`;
diff --git a/tests/unit/specs/components/Address/AddressInfo.spec.ts b/tests/unit/specs/components/Address/AddressInfo.spec.ts
new file mode 100644
index 000000000..870cac9bd
--- /dev/null
+++ b/tests/unit/specs/components/Address/AddressInfo.spec.ts
@@ -0,0 +1,73 @@
+import { beforeEach, describe, it, expect } from "vitest";
+import { enUS } from "date-fns/locale";
+import { routes } from "@/router";
+import { createRouter, createWebHistory, Router } from "vue-router";
+import { config, mount } from "@vue/test-utils";
+import { Oruga } from "@oruga-ui/oruga-next";
+import flushPromises from "flush-promises";
+import { getMockClient } from "../../mocks/client";
+import { htmlRemoveId } from "../../common";
+import AddressInfo from "@/components/Address/AddressInfo.vue";
+import { IAddress } from "@/types/address.model";
+import { reactive } from "vue";
+
+config.global.plugins.push(Oruga);
+
+let router: Router;
+
+beforeEach(async () => {
+ router = createRouter({
+ history: createWebHistory(),
+ routes: routes,
+ });
+
+ // await router.isReady();
+});
+
+const generateWrapper = (props: any) => {
+ const global_data = getMockClient([]);
+ global_data.provide.dateFnsLocale = enUS;
+ global_data.plugins = [router];
+ return mount(AddressInfo, {
+ props: props,
+ global: {
+ ...global_data,
+ stubs: {
+ RouterLink: false,
+ },
+ },
+ });
+};
+
+const address = reactive({
+ description: "Locaux Motiv",
+ street: "10 Rue Jangot",
+ locality: "Lyon",
+ postalCode: "69007",
+ region: "Auvergne Rhône-Alpes",
+ country: "France",
+ type: "",
+ timezone: "Europe/Dublin",
+});
+
+describe("AddressInfo", () => {
+ it("Show Basic", async () => {
+ const wrapper = generateWrapper({
+ address: address,
+ });
+ await wrapper.vm.$nextTick();
+ await flushPromises();
+ expect(htmlRemoveId(wrapper.html())).toMatchSnapshot();
+ });
+
+ it("Show Basic with timezone", async () => {
+ const wrapper = generateWrapper({
+ address: address,
+ showTimezone: true,
+ userTimezone: "Europe/Berlin",
+ });
+ await wrapper.vm.$nextTick();
+ await flushPromises();
+ expect(htmlRemoveId(wrapper.html())).toMatchSnapshot();
+ });
+});
diff --git a/tests/unit/specs/components/Address/InlineAddress.spec.ts b/tests/unit/specs/components/Address/InlineAddress.spec.ts
new file mode 100644
index 000000000..9ee9b3993
--- /dev/null
+++ b/tests/unit/specs/components/Address/InlineAddress.spec.ts
@@ -0,0 +1,71 @@
+import { beforeEach, describe, it, expect } from "vitest";
+import { enUS } from "date-fns/locale";
+import { routes } from "@/router";
+import { createRouter, createWebHistory, Router } from "vue-router";
+import { config, mount } from "@vue/test-utils";
+import { Oruga } from "@oruga-ui/oruga-next";
+import flushPromises from "flush-promises";
+import { getMockClient } from "../../mocks/client";
+import { htmlRemoveId } from "../../common";
+import { IAddress } from "@/types/address.model";
+import { reactive } from "vue";
+import InlineAddress from "@/components/Address/InlineAddress.vue";
+
+const address = reactive({
+ description: "Locaux Motiv",
+ street: "10 Rue Jangot",
+ locality: "Lyon",
+ postalCode: "69007",
+ region: "Auvergne Rhône-Alpes",
+ country: "France",
+ type: "",
+ timezone: "Europe/Dublin",
+});
+
+config.global.plugins.push(Oruga);
+
+let router: Router;
+
+beforeEach(async () => {
+ router = createRouter({
+ history: createWebHistory(),
+ routes: routes,
+ });
+
+ // await router.isReady();
+});
+
+const generateWrapper = (props: any = {}) => {
+ const global_data = getMockClient([]);
+ global_data.provide.dateFnsLocale = enUS;
+ global_data.plugins = [router];
+ return mount(InlineAddress, {
+ props: props,
+ global: {
+ ...global_data,
+ stubs: {
+ RouterLink: false,
+ },
+ },
+ });
+};
+
+describe("InlineAddress", () => {
+ it("Show with locality", async () => {
+ const wrapper = generateWrapper({
+ physicalAddress: address,
+ });
+ await wrapper.vm.$nextTick();
+ await flushPromises();
+ expect(htmlRemoveId(wrapper.html())).toMatchSnapshot();
+ });
+
+ it("Show without locality", async () => {
+ const wrapper = generateWrapper({
+ physicalAddress: { ...address, locality: null },
+ });
+ await wrapper.vm.$nextTick();
+ await flushPromises();
+ expect(htmlRemoveId(wrapper.html())).toMatchSnapshot();
+ });
+});
diff --git a/tests/unit/specs/components/Address/__snapshots__/AddressInfo.spec.ts.snap b/tests/unit/specs/components/Address/__snapshots__/AddressInfo.spec.ts.snap
new file mode 100644
index 000000000..b0a7530b6
--- /dev/null
+++ b/tests/unit/specs/components/Address/__snapshots__/AddressInfo.spec.ts.snap
@@ -0,0 +1,17 @@
+// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
+
+exports[`AddressInfo > Show Basic 1`] = `
+"
+
+ Locaux Motiv 10 Rue Jangot, 69007, Lyon
+
+
+ "
+`;
+
+exports[`AddressInfo > Show Basic with timezone 1`] = `
+"
+
+ Locaux Motiv 10 Rue Jangot, 69007, Lyon 🌐 heure moyenne de Greenwich (UTC)
+ "
+`;
diff --git a/tests/unit/specs/components/Address/__snapshots__/InlineAddress.spec.ts.snap b/tests/unit/specs/components/Address/__snapshots__/InlineAddress.spec.ts.snap
new file mode 100644
index 000000000..05c75a229
--- /dev/null
+++ b/tests/unit/specs/components/Address/__snapshots__/InlineAddress.spec.ts.snap
@@ -0,0 +1,5 @@
+// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
+
+exports[`InlineAddress > Show with locality 1`] = `""`;
+
+exports[`InlineAddress > Show without locality 1`] = `""`;
diff --git a/tests/unit/specs/components/Categories/CategoryCard.spec.ts b/tests/unit/specs/components/Categories/CategoryCard.spec.ts
new file mode 100644
index 000000000..5075cfa6d
--- /dev/null
+++ b/tests/unit/specs/components/Categories/CategoryCard.spec.ts
@@ -0,0 +1,67 @@
+import { beforeEach, describe, it, expect } from "vitest";
+import { enUS } from "date-fns/locale";
+import { routes } from "@/router";
+import { createRouter, createWebHistory, Router } from "vue-router";
+import { config, mount } from "@vue/test-utils";
+import { Oruga } from "@oruga-ui/oruga-next";
+import flushPromises from "flush-promises";
+import { getMockClient } from "../../mocks/client";
+import { htmlRemoveId } from "../../common";
+import CategoryCard from "@/components/Categories/CategoryCard.vue";
+import { CategoryStatsModel } from "@/types/stats.model";
+import { reactive } from "vue";
+
+config.global.plugins.push(Oruga);
+
+let router: Router;
+
+beforeEach(async () => {
+ router = createRouter({
+ history: createWebHistory(),
+ routes: routes,
+ });
+
+ // await router.isReady();
+});
+
+const generateWrapper = (props: any) => {
+ const global_data = getMockClient([]);
+ global_data.provide.dateFnsLocale = enUS;
+ global_data.plugins = [router];
+ return mount(CategoryCard, {
+ props: props,
+ global: {
+ ...global_data,
+ stubs: {
+ RouterLink: false,
+ },
+ },
+ });
+};
+
+const category = reactive({
+ key: "PHOTOGRAPHY",
+ number: 5,
+ label: "Hello",
+});
+
+describe("CategoryCard", () => {
+ it("Show Basic", async () => {
+ const wrapper = generateWrapper({
+ category: category,
+ });
+ await wrapper.vm.$nextTick();
+ await flushPromises();
+ expect(htmlRemoveId(wrapper.html())).toMatchSnapshot();
+ });
+
+ it("Show Details", async () => {
+ const wrapper = generateWrapper({
+ category: { ...category, key: "OUTDOORS_ADVENTURE" },
+ withDetails: true,
+ });
+ await wrapper.vm.$nextTick();
+ await flushPromises();
+ expect(htmlRemoveId(wrapper.html())).toMatchSnapshot();
+ });
+});
diff --git a/tests/unit/specs/components/Categories/__snapshots__/CategoryCard.spec.ts.snap b/tests/unit/specs/components/Categories/__snapshots__/CategoryCard.spec.ts.snap
new file mode 100644
index 000000000..5f758a59e
--- /dev/null
+++ b/tests/unit/specs/components/Categories/__snapshots__/CategoryCard.spec.ts.snap
@@ -0,0 +1,26 @@
+// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
+
+exports[`CategoryCard > Show Basic 1`] = `
+"
+
+
+
+
+
+
Hello
+
+
+ "
+`;
+
+exports[`CategoryCard > Show Details 1`] = `
+"
+
+
+
+
+
+
Hello
+ 5 events
+ "
+`;
diff --git a/src/components/Comment/EventComment.story.vue b/tests/unit/specs/components/Comment/EventComment.spec.ts
similarity index 67%
rename from src/components/Comment/EventComment.story.vue
rename to tests/unit/specs/components/Comment/EventComment.spec.ts
index b0baf3295..526fd6868 100644
--- a/src/components/Comment/EventComment.story.vue
+++ b/tests/unit/specs/components/Comment/EventComment.spec.ts
@@ -1,28 +1,13 @@
-
-
-
-
-
-
-
-
-
-
-
+
+const generateWrapper = (props: any) => {
+ const global_data = getMockClient([]);
+ global_data.provide.dateFnsLocale = enUS;
+ global_data.plugins = [router];
+ return mount(EventComment, {
+ props: props,
+ global: {
+ ...global_data,
+ stubs: {
+ RouterLink: false,
+ },
+ },
+ });
+};
+
+describe("EventComment", () => {
+ it("Show Basic", async () => {
+ const wrapper = generateWrapper({
+ comment: comment,
+ event: event,
+ currentActor: baseActor,
+ });
+ await wrapper.vm.$nextTick();
+ await flushPromises();
+ expect(htmlRemoveId(wrapper.html())).toMatchSnapshot();
+ });
+ it("Show Announcement", async () => {
+ const wrapper = generateWrapper({
+ comment: { ...comment, isAnnouncement: true },
+ event: event,
+ currentActor: baseActor,
+ });
+ await wrapper.vm.$nextTick();
+ await flushPromises();
+ expect(htmlRemoveId(wrapper.html())).toMatchSnapshot();
+ });
+});
diff --git a/tests/unit/specs/components/Comment/__snapshots__/EventComment.spec.ts.snap b/tests/unit/specs/components/Comment/__snapshots__/EventComment.spec.ts.snap
new file mode 100644
index 000000000..8fccca323
--- /dev/null
+++ b/tests/unit/specs/components/Comment/__snapshots__/EventComment.spec.ts.snap
@@ -0,0 +1,177 @@
+// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
+
+exports[`EventComment > Show Announcement 1`] = `
+"
+
+
+
+
+
+
+
+
+
+
+
+
+
The report will be sent to the moderators of your instance. You can explain why you report this content below.
+
+
+
+
Additional comments
+
+
+
+
+
+
+
Cancel
+
+ Send the report
+
+
+
+
+
+
+
+ "
+`;
+
+exports[`EventComment > Show Basic 1`] = `
+"
+
+
+
+
+
+
+
+
+
+
+
+
+
The report will be sent to the moderators of your instance. You can explain why you report this content below.
+
+
+
+
Additional comments
+
+
+
+
+
+
+
Cancel
+
+ Send the report
+
+
+
+
+
+
+
+ "
+`;
diff --git a/tests/unit/specs/components/Discussion/DiscussionComment.spec.ts b/tests/unit/specs/components/Discussion/DiscussionComment.spec.ts
new file mode 100644
index 000000000..87f86bbea
--- /dev/null
+++ b/tests/unit/specs/components/Discussion/DiscussionComment.spec.ts
@@ -0,0 +1,96 @@
+import { beforeEach, describe, it, expect } from "vitest";
+import { enUS } from "date-fns/locale";
+import { routes } from "@/router";
+import { createRouter, createWebHistory, Router } from "vue-router";
+import { config, mount } from "@vue/test-utils";
+import { Oruga } from "@oruga-ui/oruga-next";
+import flushPromises from "flush-promises";
+import { getMockClient } from "../../mocks/client";
+import { htmlRemoveId } from "../../common";
+import DiscussionComment from "@/components/Discussion/DiscussionComment.vue";
+import { IPerson } from "@/types/actor";
+import { IComment } from "@/types/comment.model";
+import { ActorType } from "@/types/enums";
+import { reactive } from "vue";
+
+config.global.plugins.push(Oruga);
+
+let router: Router;
+
+beforeEach(async () => {
+ router = createRouter({
+ history: createWebHistory(),
+ routes: routes,
+ });
+
+ // await router.isReady();
+});
+
+const baseActorAvatar = {
+ id: "",
+ name: "",
+ alt: "",
+ metadata: {},
+ url: "https://social.tcit.fr/system/accounts/avatars/000/000/001/original/a28c50ce5f2b13fd.jpg",
+};
+
+const baseActor: IPerson = {
+ name: "Thomas Citharel",
+ preferredUsername: "tcit",
+ avatar: baseActorAvatar,
+ domain: null,
+ url: "",
+ summary: "",
+ suspended: false,
+ type: ActorType.PERSON,
+ id: "598",
+};
+
+const comment = reactive({
+ text: "Hello there",
+ publishedAt: new Date().toString(),
+ actor: baseActor,
+});
+
+const deletedComment = reactive({
+ ...comment,
+ actor: null,
+ deletedAt: new Date().toString(),
+});
+
+const generateWrapper = (props: any) => {
+ const global_data = getMockClient([]);
+ global_data.provide.dateFnsLocale = enUS;
+ global_data.plugins = [router];
+ return mount(DiscussionComment, {
+ props: props,
+ global: {
+ ...global_data,
+ stubs: {
+ RouterLink: false,
+ },
+ },
+ });
+};
+
+describe("DiscussionComment", () => {
+ it("Show Basic", async () => {
+ const wrapper = generateWrapper({
+ modelValue: comment,
+ currentActor: baseActor,
+ });
+ await wrapper.vm.$nextTick();
+ await flushPromises();
+ expect(htmlRemoveId(wrapper.html())).toMatchSnapshot();
+ });
+
+ it("Show Deleted comment", async () => {
+ const wrapper = generateWrapper({
+ modelValue: deletedComment,
+ currentActor: baseActor,
+ });
+ await wrapper.vm.$nextTick();
+ await flushPromises();
+ expect(htmlRemoveId(wrapper.html())).toMatchSnapshot();
+ });
+});
diff --git a/tests/unit/specs/components/Discussion/DiscussionListItem.spec.ts b/tests/unit/specs/components/Discussion/DiscussionListItem.spec.ts
new file mode 100644
index 000000000..ed76ba0f6
--- /dev/null
+++ b/tests/unit/specs/components/Discussion/DiscussionListItem.spec.ts
@@ -0,0 +1,60 @@
+import { describe, it, expect } from "vitest";
+import { enUS } from "date-fns/locale";
+import { config, mount } from "@vue/test-utils";
+import { Oruga } from "@oruga-ui/oruga-next";
+import flushPromises from "flush-promises";
+import { getMockClient } from "../../mocks/client";
+import { htmlRemoveId } from "../../common";
+import DiscussionListItem from "@/components/Discussion/DiscussionListItem.vue";
+import { IDiscussion } from "@/types/discussions";
+import { reactive } from "vue";
+
+config.global.plugins.push(Oruga);
+
+const generateWrapper = (props: any) => {
+ const global_data = getMockClient([]);
+ global_data.provide.dateFnsLocale = enUS;
+ global_data.plugins = [];
+ return mount(DiscussionListItem, {
+ props: props,
+ global: {
+ ...global_data,
+ },
+ });
+};
+
+const mockdiscussion = reactive({
+ title: "A discussion",
+ comments: { total: 5, elements: [] },
+ insertedAt: "2022-02-02T02:04:00.000Z",
+ updatedAt: "2022-02-04T02:04:00.000Z",
+ deletedAt: null,
+ lastComment: { text: "Hello there", publishedAt: new Date().toString() },
+});
+
+const mockdiscussionWithDeletedComment = reactive({
+ ...mockdiscussion,
+ lastComment: {
+ ...mockdiscussion.lastComment,
+ deletedAt: "2022-02-06T02:04:00.000Z",
+ },
+});
+
+describe("DiscussionListItem", () => {
+ it("Show Basic", async () => {
+ const wrapper = generateWrapper({
+ discussion: mockdiscussion,
+ });
+ await wrapper.vm.$nextTick();
+ await flushPromises();
+ expect(htmlRemoveId(wrapper.html())).toMatchSnapshot();
+ });
+ it("Show Deleted comment", async () => {
+ const wrapper = generateWrapper({
+ discussion: mockdiscussion,
+ });
+ await wrapper.vm.$nextTick();
+ await flushPromises();
+ expect(htmlRemoveId(wrapper.html())).toMatchSnapshot();
+ });
+});
diff --git a/tests/unit/specs/components/Discussion/__snapshots__/DiscussionComment.spec.ts.snap b/tests/unit/specs/components/Discussion/__snapshots__/DiscussionComment.spec.ts.snap
new file mode 100644
index 000000000..ba6adb383
--- /dev/null
+++ b/tests/unit/specs/components/Discussion/__snapshots__/DiscussionComment.spec.ts.snap
@@ -0,0 +1,130 @@
+// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
+
+exports[`DiscussionComment > Show Basic 1`] = `
+"
+
+
+
+
+
+
Thomas Citharel @tcit
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
The report will be sent to the moderators of your instance. You can explain why you report this content below.
+
+
+
+
Additional comments
+
+
+
+
+
+
+
Cancel
+
+ Send the report
+
+
+
+
+
+
+"
+`;
+
+exports[`DiscussionComment > Show Deleted comment 1`] = `
+"
+
+
+
+
+
+
+
+
+
+
+
+
+
The report will be sent to the moderators of your instance. You can explain why you report this content below.
+
+
+
+
Additional comments
+
+
+
+
+
+
+
Cancel
+
+ Send the report
+
+
+
+
+
+
+"
+`;
diff --git a/tests/unit/specs/components/Discussion/__snapshots__/DiscussionListItem.spec.ts.snap b/tests/unit/specs/components/Discussion/__snapshots__/DiscussionListItem.spec.ts.snap
new file mode 100644
index 000000000..4fc9d45ee
--- /dev/null
+++ b/tests/unit/specs/components/Discussion/__snapshots__/DiscussionListItem.spec.ts.snap
@@ -0,0 +1,25 @@
+// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
+
+exports[`DiscussionListItem > Show Basic 1`] = `
+"
+
+
+ "
+`;
+
+exports[`DiscussionListItem > Show Deleted comment 1`] = `
+"
+
+
+ "
+`;
diff --git a/tests/unit/specs/components/Event/DateCalendarIcon.spec.ts b/tests/unit/specs/components/Event/DateCalendarIcon.spec.ts
new file mode 100644
index 000000000..c7d8fd296
--- /dev/null
+++ b/tests/unit/specs/components/Event/DateCalendarIcon.spec.ts
@@ -0,0 +1,59 @@
+import { beforeEach, describe, it, expect } from "vitest";
+import { enUS } from "date-fns/locale";
+import { routes } from "@/router";
+import { createRouter, createWebHistory, Router } from "vue-router";
+import { config, mount } from "@vue/test-utils";
+import { Oruga } from "@oruga-ui/oruga-next";
+import flushPromises from "flush-promises";
+import { getMockClient } from "../../mocks/client";
+import { htmlRemoveId } from "../../common";
+import DateCalendarIcon from "@/components/Event/DateCalendarIcon.vue";
+
+config.global.plugins.push(Oruga);
+
+let router: Router;
+
+beforeEach(async () => {
+ router = createRouter({
+ history: createWebHistory(),
+ routes: routes,
+ });
+
+ // await router.isReady();
+});
+
+const generateWrapper = (props: any) => {
+ const global_data = getMockClient([]);
+ global_data.provide.dateFnsLocale = enUS;
+ global_data.plugins = [router];
+ return mount(DateCalendarIcon, {
+ props: props,
+ global: {
+ ...global_data,
+ stubs: {
+ RouterLink: false,
+ },
+ },
+ });
+};
+
+describe("DateCalendarIcon", () => {
+ it("Show new", async () => {
+ const wrapper = generateWrapper({
+ date: new Date().toString(),
+ });
+ await wrapper.vm.$nextTick();
+ await flushPromises();
+ expect(htmlRemoveId(wrapper.html())).toMatchSnapshot();
+ });
+
+ it("Show small", async () => {
+ const wrapper = generateWrapper({
+ date: new Date().toString(),
+ small: true,
+ });
+ await wrapper.vm.$nextTick();
+ await flushPromises();
+ expect(htmlRemoveId(wrapper.html())).toMatchSnapshot();
+ });
+});
diff --git a/src/components/Event/EventCard.story.vue b/tests/unit/specs/components/Event/EventCard.spec.ts
similarity index 53%
rename from src/components/Event/EventCard.story.vue
rename to tests/unit/specs/components/Event/EventCard.spec.ts
index 82020d4c8..4d69d133d 100644
--- a/src/components/Event/EventCard.story.vue
+++ b/tests/unit/specs/components/Event/EventCard.spec.ts
@@ -1,26 +1,13 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+describe("EventCard", () => {
+ it("Show default", async () => {
+ const wrapper = generateWrapper({
+ event: event,
+ });
+ await wrapper.vm.$nextTick();
+ await flushPromises();
+ expect(htmlRemoveId(wrapper.html())).toMatchSnapshot();
+ });
+
+ it("Show long", async () => {
+ const wrapper = generateWrapper({
+ event: longEvent,
+ });
+ await wrapper.vm.$nextTick();
+ await flushPromises();
+ expect(htmlRemoveId(wrapper.html())).toMatchSnapshot();
+ });
+
+ it("Show tentative", async () => {
+ const wrapper = generateWrapper({
+ event: tentativeEvent,
+ });
+ await wrapper.vm.$nextTick();
+ await flushPromises();
+ expect(htmlRemoveId(wrapper.html())).toMatchSnapshot();
+ });
+
+ it("Show cancelled", async () => {
+ const wrapper = generateWrapper({
+ event: cancelledEvent,
+ });
+ await wrapper.vm.$nextTick();
+ await flushPromises();
+ expect(htmlRemoveId(wrapper.html())).toMatchSnapshot();
+ });
+
+ it("Show Row mode", async () => {
+ const wrapper = generateWrapper({
+ event: longEvent,
+ mode: "row",
+ });
+ await wrapper.vm.$nextTick();
+ await flushPromises();
+ expect(htmlRemoveId(wrapper.html())).toMatchSnapshot();
+ });
+});
diff --git a/src/components/Event/EventListViewCard.story.vue b/tests/unit/specs/components/Event/EventListViewCard.spec.ts
similarity index 61%
rename from src/components/Event/EventListViewCard.story.vue
rename to tests/unit/specs/components/Event/EventListViewCard.spec.ts
index 2ecca3b8f..bb4234443 100644
--- a/src/components/Event/EventListViewCard.story.vue
+++ b/tests/unit/specs/components/Event/EventListViewCard.spec.ts
@@ -1,23 +1,13 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+ it("Show long", async () => {
+ const wrapper = generateWrapper({
+ event: longEvent,
+ });
+ await wrapper.vm.$nextTick();
+ await flushPromises();
+ expect(htmlRemoveId(wrapper.html())).toMatchSnapshot();
+ });
+});
diff --git a/tests/unit/specs/components/Event/OrganizerPicker.spec.ts b/tests/unit/specs/components/Event/OrganizerPicker.spec.ts
new file mode 100644
index 000000000..39508e878
--- /dev/null
+++ b/tests/unit/specs/components/Event/OrganizerPicker.spec.ts
@@ -0,0 +1,78 @@
+import { beforeEach, describe, it, expect } from "vitest";
+import { enUS } from "date-fns/locale";
+import { routes } from "@/router";
+import { createRouter, createWebHistory, Router } from "vue-router";
+import { config, mount } from "@vue/test-utils";
+import { Oruga } from "@oruga-ui/oruga-next";
+import flushPromises from "flush-promises";
+import { getMockClient } from "../../mocks/client";
+import { htmlRemoveId } from "../../common";
+import OrganizerPicker from "@/components/Event/OrganizerPicker.vue";
+import { reactive, ref } from "vue";
+import { ActorType } from "@/types/enums";
+
+config.global.plugins.push(Oruga);
+
+let router: Router;
+
+beforeEach(async () => {
+ router = createRouter({
+ history: createWebHistory(),
+ routes: routes,
+ });
+
+ // await router.isReady();
+});
+
+const currentActor = reactive({
+ id: "59",
+ preferredUsername: "me",
+ name: "Someone",
+ type: ActorType.PERSON,
+});
+
+const actor = reactive({
+ id: "5",
+ preferredUsername: "hello",
+ name: "Sigmund",
+ type: ActorType.PERSON,
+});
+
+const group = reactive({
+ id: "89",
+ preferredUsername: "congregation",
+ name: "College",
+ type: ActorType.GROUP,
+});
+
+const identities = [actor, group];
+
+const generateWrapper = () => {
+ const global_data = getMockClient([]);
+ global_data.provide.dateFnsLocale = enUS;
+ global_data.plugins = [router];
+ return mount(OrganizerPicker, {
+ props: {
+ modelValue: actor,
+ identities: identities,
+ actorFilter: "",
+ groupMemberships: [],
+ currentActor: currentActor,
+ },
+ global: {
+ ...global_data,
+ stubs: {
+ RouterLink: false,
+ },
+ },
+ });
+};
+
+describe("OrganizerPicker", () => {
+ it("Show simple", async () => {
+ const wrapper = generateWrapper();
+ await wrapper.vm.$nextTick();
+ await flushPromises();
+ expect(htmlRemoveId(wrapper.html())).toMatchSnapshot();
+ });
+});
diff --git a/tests/unit/specs/components/Event/OrganizerPickerWrapper.spec.ts b/tests/unit/specs/components/Event/OrganizerPickerWrapper.spec.ts
new file mode 100644
index 000000000..3ef6304ff
--- /dev/null
+++ b/tests/unit/specs/components/Event/OrganizerPickerWrapper.spec.ts
@@ -0,0 +1,73 @@
+import { beforeEach, describe, it, expect } from "vitest";
+import { enUS } from "date-fns/locale";
+import { routes } from "@/router";
+import { createRouter, createWebHistory, Router } from "vue-router";
+import { config, mount } from "@vue/test-utils";
+import { Oruga } from "@oruga-ui/oruga-next";
+import flushPromises from "flush-promises";
+import { getMockClient, requestHandlers } from "../../mocks/client";
+import { htmlRemoveId } from "../../common";
+import OrganizerPickerWrapper from "@/components/Event/OrganizerPickerWrapper.vue";
+import { PERSON_GROUP_MEMBERSHIPS } from "@/graphql/actor";
+import { IDENTITIES } from "@/graphql/actor";
+
+config.global.plugins.push(Oruga);
+
+let router: Router;
+
+beforeEach(async () => {
+ router = createRouter({
+ history: createWebHistory(),
+ routes: routes,
+ });
+
+ // await router.isReady();
+});
+
+const mock_person = {
+ data: {
+ person: { id: "5", memberships: { total: 0, elements: [] } },
+ },
+};
+const mock_loggeduser = {
+ data: {
+ loggedUser: {
+ actors: [{ id: "9", preferredUsername: "sam", name: "Samuel" }],
+ },
+ },
+};
+
+const generateWrapper = () => {
+ const global_data = getMockClient([
+ [PERSON_GROUP_MEMBERSHIPS, mock_person],
+ [IDENTITIES, mock_loggeduser],
+ ]);
+ global_data.provide.dateFnsLocale = enUS;
+ global_data.plugins = [router];
+ return mount(OrganizerPickerWrapper, {
+ props: {
+ modelValue: {
+ id: "5",
+ preferredUsername: "hello",
+ name: "Sigmund",
+ },
+ },
+ global: {
+ ...global_data,
+ stubs: {
+ RouterLink: false,
+ },
+ },
+ });
+};
+
+describe("OrganizerPickerWrapper", () => {
+ it("Show simple", async () => {
+ const wrapper = generateWrapper();
+ await wrapper.vm.$nextTick();
+ await flushPromises();
+ expect(htmlRemoveId(wrapper.html())).toMatchSnapshot();
+ expect(requestHandlers.handle_0).toHaveBeenCalledTimes(0);
+ expect(requestHandlers.handle_1).toHaveBeenCalledTimes(0);
+ });
+});
diff --git a/tests/unit/specs/components/Event/ParticipationButton.spec.ts b/tests/unit/specs/components/Event/ParticipationButton.spec.ts
new file mode 100644
index 000000000..1c5c68601
--- /dev/null
+++ b/tests/unit/specs/components/Event/ParticipationButton.spec.ts
@@ -0,0 +1,160 @@
+import { beforeEach, describe, it, expect } from "vitest";
+import { enUS } from "date-fns/locale";
+import { routes } from "@/router";
+import { createRouter, createWebHistory, Router } from "vue-router";
+import { config, mount } from "@vue/test-utils";
+import { Oruga } from "@oruga-ui/oruga-next";
+import flushPromises from "flush-promises";
+import { getMockClient } from "../../mocks/client";
+import { htmlRemoveId } from "../../common";
+import ParticipationButton from "@/components/Event/ParticipationButton.vue";
+import { IPerson } from "@/types/actor";
+import { EventJoinOptions, ParticipantRole } from "@/types/enums";
+import { IEvent } from "@/types/event.model";
+import { IParticipant } from "@/types/participant.model";
+
+config.global.plugins.push(Oruga);
+
+let router: Router;
+
+beforeEach(async () => {
+ router = createRouter({
+ history: createWebHistory(),
+ routes: routes,
+ });
+
+ // await router.isReady();
+});
+
+const generateWrapper = (props) => {
+ const global_data = getMockClient([]);
+ global_data.provide.dateFnsLocale = enUS;
+ global_data.plugins = [router];
+ return mount(ParticipationButton, {
+ props: props,
+ global: {
+ ...global_data,
+ stubs: {
+ RouterLink: false,
+ },
+ },
+ });
+};
+
+const emptyCurrentActor: IPerson = {};
+
+const currentActor: IPerson = {
+ id: "1",
+ preferredUsername: "tcit",
+ name: "Thomas",
+ avatar: {
+ url: "https://mobilizon.fr/media/3a5f18c058a8193b1febfaf561f94ae8b91f85ac64c01ddf5ad7b251fb43baf5.jpg?name=profil.jpg",
+ },
+};
+
+const participation: IParticipant = {
+ actor: currentActor,
+ role: ParticipantRole.PARTICIPANT,
+};
+
+const identities: IPerson[] = [
+ currentActor,
+ {
+ id: "2",
+ preferredUsername: "another",
+ name: "Another",
+ avatar: {
+ url: "https://mobilizon.fr/media/95ab5ba92287ab4857bb517cadae2a7ab6a553748d1c48cefc27e2b7ab640fea.jpg?name=FB_IMG_16150214351371162.jpg",
+ },
+ },
+];
+
+const event: IEvent = {
+ uuid: "0123456789",
+ title: "hello",
+ url: "https://mobilizon.fr/events/an-uuid",
+ options: {
+ anonymousParticipation: false,
+ },
+ joinOptions: EventJoinOptions.FREE,
+};
+
+describe("ParticipationButton", () => {
+ it("Show Unlogged", async () => {
+ const wrapper = generateWrapper({
+ event: event,
+ currentActor: emptyCurrentActor,
+ participation: undefined,
+ identities: [],
+ });
+ await wrapper.vm.$nextTick();
+ await flushPromises();
+ expect(htmlRemoveId(wrapper.html())).toMatchSnapshot();
+ });
+
+ it("Show Basic", async () => {
+ const wrapper = generateWrapper({
+ event: event,
+ currentActor: currentActor,
+ participation: undefined,
+ identities: identities,
+ });
+ await wrapper.vm.$nextTick();
+ await flushPromises();
+ expect(htmlRemoveId(wrapper.html())).toMatchSnapshot();
+ });
+
+ it("Show Basic with confirmation", async () => {
+ const wrapper = generateWrapper({
+ event: { ...event, joinOptions: EventJoinOptions.RESTRICTED },
+ currentActor: currentActor,
+ participation: undefined,
+ identities: identities,
+ });
+ await wrapper.vm.$nextTick();
+ await flushPromises();
+ expect(htmlRemoveId(wrapper.html())).toMatchSnapshot();
+ });
+
+ it("Show Participating", async () => {
+ const wrapper = generateWrapper({
+ event: event,
+ currentActor: currentActor,
+ participation: participation,
+ identities: identities,
+ });
+ await wrapper.vm.$nextTick();
+ await flushPromises();
+ expect(htmlRemoveId(wrapper.html())).toMatchSnapshot();
+ });
+
+ it("Show Pending approval", async () => {
+ const wrapper = generateWrapper({
+ event: event,
+ currentActor: currentActor,
+ participation: {
+ ...participation,
+ role: ParticipantRole.NOT_APPROVED,
+ },
+ identities: identities,
+ });
+ await wrapper.vm.$nextTick();
+ await flushPromises();
+ expect(htmlRemoveId(wrapper.html())).toMatchSnapshot();
+ });
+
+ it("Show Rejected", async () => {
+ const wrapper = generateWrapper({
+ event: event,
+ currentActor: currentActor,
+ participation: {
+ ...participation,
+ role: ParticipantRole.REJECTED,
+ },
+ identities: identities,
+ });
+ await wrapper.vm.$nextTick();
+ await flushPromises();
+ expect(htmlRemoveId(wrapper.html())).toMatchSnapshot();
+ });
+});
diff --git a/tests/unit/specs/components/Event/ShareEventModal.spec.ts b/tests/unit/specs/components/Event/ShareEventModal.spec.ts
new file mode 100644
index 000000000..5b9612b2f
--- /dev/null
+++ b/tests/unit/specs/components/Event/ShareEventModal.spec.ts
@@ -0,0 +1,92 @@
+import { beforeEach, describe, it, expect } from "vitest";
+import { enUS } from "date-fns/locale";
+import { routes } from "@/router";
+import { createRouter, createWebHistory, Router } from "vue-router";
+import { config, mount } from "@vue/test-utils";
+import { Oruga } from "@oruga-ui/oruga-next";
+import flushPromises from "flush-promises";
+import { getMockClient, requestHandlers } from "../../mocks/client";
+import { htmlRemoveId } from "../../common";
+import ShareEventModal from "@/components/Event/ShareEventModal.vue";
+import { EventVisibility, EventStatus } from "@/types/enums";
+
+config.global.plugins.push(Oruga);
+
+let router: Router;
+
+beforeEach(async () => {
+ router = createRouter({
+ history: createWebHistory(),
+ routes: routes,
+ });
+
+ // await router.isReady();
+});
+
+const generateWrapper = (event: any, eventCapacityOK: boolean = true) => {
+ const global_data = getMockClient([]);
+ global_data.provide.dateFnsLocale = enUS;
+ global_data.plugins = [router];
+ return mount(ShareEventModal, {
+ props: {
+ event: event,
+ eventCapacityOK: eventCapacityOK,
+ },
+ global: {
+ ...global_data,
+ stubs: {
+ RouterLink: false,
+ },
+ },
+ });
+};
+
+describe("ShareEventModal", () => {
+ it("Show Public", async () => {
+ const wrapper = generateWrapper({
+ title: "hello",
+ url: "https://mobilizon.fr/events/an-uuid",
+ visibility: EventVisibility.PUBLIC,
+ });
+ await wrapper.vm.$nextTick();
+ await flushPromises();
+ expect(htmlRemoveId(wrapper.html())).toMatchSnapshot();
+ });
+
+ it("Show Private", async () => {
+ const wrapper = generateWrapper({
+ title: "hello",
+ url: "https://mobilizon.fr/events/an-uuid",
+ visibility: EventVisibility.PRIVATE,
+ });
+ await wrapper.vm.$nextTick();
+ await flushPromises();
+ expect(htmlRemoveId(wrapper.html())).toMatchSnapshot();
+ });
+
+ it("Show Cancelled", async () => {
+ const wrapper = generateWrapper({
+ title: "hello",
+ url: "https://mobilizon.fr/events/an-uuid",
+ visibility: EventVisibility.PUBLIC,
+ status: EventStatus.CANCELLED,
+ });
+ await wrapper.vm.$nextTick();
+ await flushPromises();
+ expect(htmlRemoveId(wrapper.html())).toMatchSnapshot();
+ });
+
+ it("Show No seats left", async () => {
+ const wrapper = generateWrapper(
+ {
+ title: "hello",
+ url: "https://mobilizon.fr/events/an-uuid",
+ visibility: EventVisibility.PUBLIC,
+ },
+ false
+ );
+ await wrapper.vm.$nextTick();
+ await flushPromises();
+ expect(htmlRemoveId(wrapper.html())).toMatchSnapshot();
+ });
+});
diff --git a/tests/unit/specs/components/Event/SkeletonEventResult.spec.ts b/tests/unit/specs/components/Event/SkeletonEventResult.spec.ts
new file mode 100644
index 000000000..f2cd508f4
--- /dev/null
+++ b/tests/unit/specs/components/Event/SkeletonEventResult.spec.ts
@@ -0,0 +1,65 @@
+import { beforeEach, describe, it, expect } from "vitest";
+import { enUS } from "date-fns/locale";
+import { routes } from "@/router";
+import { createRouter, createWebHistory, Router } from "vue-router";
+import { config, mount } from "@vue/test-utils";
+import { Oruga } from "@oruga-ui/oruga-next";
+import flushPromises from "flush-promises";
+import { getMockClient } from "../../mocks/client";
+import { htmlRemoveId } from "../../common";
+import SkeletonEventResult from "@/components/Event/SkeletonEventResult.vue";
+
+config.global.plugins.push(Oruga);
+
+let router: Router;
+
+beforeEach(async () => {
+ router = createRouter({
+ history: createWebHistory(),
+ routes: routes,
+ });
+
+ // await router.isReady();
+});
+
+const generateWrapper = (props: any = {}) => {
+ const global_data = getMockClient([]);
+ global_data.provide.dateFnsLocale = enUS;
+ global_data.plugins = [router];
+ return mount(SkeletonEventResult, {
+ props: props,
+ global: {
+ ...global_data,
+ stubs: {
+ RouterLink: false,
+ },
+ },
+ });
+};
+
+describe("SkeletonEventResult", () => {
+ it("Show row", async () => {
+ const wrapper = generateWrapper();
+ await wrapper.vm.$nextTick();
+ await flushPromises();
+ expect(htmlRemoveId(wrapper.html())).toMatchSnapshot();
+ });
+
+ it("Show column", async () => {
+ const wrapper = generateWrapper({
+ viewMode: "column",
+ });
+ await wrapper.vm.$nextTick();
+ await flushPromises();
+ expect(htmlRemoveId(wrapper.html())).toMatchSnapshot();
+ });
+
+ it("Show not minimal", async () => {
+ const wrapper = generateWrapper({
+ minimal: false,
+ });
+ await wrapper.vm.$nextTick();
+ await flushPromises();
+ expect(htmlRemoveId(wrapper.html())).toMatchSnapshot();
+ });
+});
diff --git a/tests/unit/specs/components/Event/TagInput.spec.ts b/tests/unit/specs/components/Event/TagInput.spec.ts
new file mode 100644
index 000000000..042756721
--- /dev/null
+++ b/tests/unit/specs/components/Event/TagInput.spec.ts
@@ -0,0 +1,55 @@
+import { beforeEach, describe, it, expect } from "vitest";
+import { enUS } from "date-fns/locale";
+import { routes } from "@/router";
+import { createRouter, createWebHistory, Router } from "vue-router";
+import { config, mount } from "@vue/test-utils";
+import { Oruga } from "@oruga-ui/oruga-next";
+import flushPromises from "flush-promises";
+import { getMockClient, requestHandlers } from "../../mocks/client";
+import { htmlRemoveId } from "../../common";
+import TagInput from "@/components/Event/TagInput.vue";
+import { FILTER_TAGS } from "@/graphql/tags";
+import { ITag } from "@/types/tag.model";
+import { reactive } from "vue";
+
+config.global.plugins.push(Oruga);
+
+let router: Router;
+
+beforeEach(async () => {
+ router = createRouter({
+ history: createWebHistory(),
+ routes: routes,
+ });
+
+ // await router.isReady();
+});
+
+const tags = reactive([{ title: "Hello", slug: "hello" }]);
+
+const generateWrapper = () => {
+ const global_data = getMockClient([FILTER_TAGS]);
+ global_data.provide.dateFnsLocale = enUS;
+ global_data.plugins = [router];
+ return mount(TagInput, {
+ props: {
+ modelValue: tags,
+ },
+ global: {
+ ...global_data,
+ stubs: {
+ RouterLink: false,
+ },
+ },
+ });
+};
+
+describe("TagInput", () => {
+ it("Show new", async () => {
+ const wrapper = generateWrapper();
+ await wrapper.vm.$nextTick();
+ await flushPromises();
+ expect(htmlRemoveId(wrapper.html())).toMatchSnapshot();
+ expect(requestHandlers.handle_0).toHaveBeenCalledTimes(0);
+ });
+});
diff --git a/tests/unit/specs/components/Event/__snapshots__/DateCalendarIcon.spec.ts.snap b/tests/unit/specs/components/Event/__snapshots__/DateCalendarIcon.spec.ts.snap
new file mode 100644
index 000000000..4d9bb8a50
--- /dev/null
+++ b/tests/unit/specs/components/Event/__snapshots__/DateCalendarIcon.spec.ts.snap
@@ -0,0 +1,17 @@
+// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
+
+exports[`DateCalendarIcon > Show new 1`] = `
+""
+`;
+
+exports[`DateCalendarIcon > Show small 1`] = `
+""
+`;
diff --git a/tests/unit/specs/components/Event/__snapshots__/EventCard.spec.ts.snap b/tests/unit/specs/components/Event/__snapshots__/EventCard.spec.ts.snap
new file mode 100644
index 000000000..461d5e9de
--- /dev/null
+++ b/tests/unit/specs/components/Event/__snapshots__/EventCard.spec.ts.snap
@@ -0,0 +1,252 @@
+// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
+
+exports[`EventCard > Show Row mode 1`] = `
+"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Feb 2, 2022, 3:04 AM
+
+
+
A very long title that will have trouble to display because it will take multiple lines but where will it stop ?! Maybe after 3 lines is enough. Let's say so. But if it doesn't work, we really need to truncate it at some point. Definitively.
+
+
+
Hello
+
+
+
+
+
+
+
+ "
+`;
+
+exports[`EventCard > Show cancelled 1`] = `
+"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Feb 2, 2022, 3:04 AM
+
+
+
A very interesting event
+
+
+
Hello
+
+
+
+
+
+
+
+ "
+`;
+
+exports[`EventCard > Show default 1`] = `
+"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Feb 2, 2022, 3:04 AM
+
+
+
A very interesting event
+
+
+
Hello
+
+
+
+
+
+
+
+ "
+`;
+
+exports[`EventCard > Show long 1`] = `
+"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Feb 2, 2022, 3:04 AM
+
+
+
A very long title that will have trouble to display because it will take multiple lines but where will it stop ?! Maybe after 3 lines is enough. Let's say so. But if it doesn't work, we really need to truncate it at some point. Definitively.
+
+
+
Hello
+
+
+
+
+
+
+
+ "
+`;
+
+exports[`EventCard > Show tentative 1`] = `
+"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Feb 2, 2022, 3:04 AM
+
+
+
A very interesting event
+
+
+
Hello
+
+
+
+
+
+
+
+ "
+`;
diff --git a/tests/unit/specs/components/Event/__snapshots__/EventListViewCard.spec.ts.snap b/tests/unit/specs/components/Event/__snapshots__/EventListViewCard.spec.ts.snap
new file mode 100644
index 000000000..11581321f
--- /dev/null
+++ b/tests/unit/specs/components/Event/__snapshots__/EventListViewCard.spec.ts.snap
@@ -0,0 +1,47 @@
+// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
+
+exports[`EventListViewCard > Show default 1`] = `
+"
+
+
+ Published by Hello
+
+
+ "
+`;
+
+exports[`EventListViewCard > Show long 1`] = `
+"
+
+
+ Published by Hello
+
+
+ "
+`;
diff --git a/tests/unit/specs/components/Event/__snapshots__/OrganizerPicker.spec.ts.snap b/tests/unit/specs/components/Event/__snapshots__/OrganizerPicker.spec.ts.snap
new file mode 100644
index 000000000..9278eaf31
--- /dev/null
+++ b/tests/unit/specs/components/Event/__snapshots__/OrganizerPicker.spec.ts.snap
@@ -0,0 +1,28 @@
+// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
+
+exports[`OrganizerPicker > Show simple 1`] = `
+""
+`;
diff --git a/tests/unit/specs/components/Event/__snapshots__/OrganizerPickerWrapper.spec.ts.snap b/tests/unit/specs/components/Event/__snapshots__/OrganizerPickerWrapper.spec.ts.snap
new file mode 100644
index 000000000..fb0b23083
--- /dev/null
+++ b/tests/unit/specs/components/Event/__snapshots__/OrganizerPickerWrapper.spec.ts.snap
@@ -0,0 +1,47 @@
+// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
+
+exports[`OrganizerPickerWrapper > Show simple 1`] = `
+"
+
+
+
+
+
+
+
+
+
+ Pick a profile or a group
+
+
+
+
+
+
+
+
+
Your profile will be shown as contact.
+
+
+
+
+
+
+
+
+
+
+
"
+`;
diff --git a/tests/unit/specs/components/Event/__snapshots__/ParticipationButton.spec.ts.snap b/tests/unit/specs/components/Event/__snapshots__/ParticipationButton.spec.ts.snap
new file mode 100644
index 000000000..1b33cf24f
--- /dev/null
+++ b/tests/unit/specs/components/Event/__snapshots__/ParticipationButton.spec.ts.snap
@@ -0,0 +1,104 @@
+// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
+
+exports[`ParticipationButton > Show Basic 1`] = `
+"
+
+
Participate
+
+
+
+
+
+
+
+
+
+
"
+`;
+
+exports[`ParticipationButton > Show Basic with confirmation 1`] = `
+"
+
+
Participate
+
+
+
+
+
+
+
+
+
+
"
+`;
+
+exports[`ParticipationButton > Show Participating 1`] = `
+"
+
+
I participate
+
+
+
+
+
+
+
+
+
+
"
+`;
+
+exports[`ParticipationButton > Show Pending approval 1`] = `
+"
+
+
+
Participation requested!
+
Waiting for organization team approval.
+
+
"
+`;
+
+exports[`ParticipationButton > Show Rejected 1`] = `
+"
+
Unfortunately, your participation request was rejected by the organizers.
+
"
+`;
+
+exports[`ParticipationButton > Show Unlogged 1`] = `
+""
+`;
diff --git a/tests/unit/specs/components/Event/__snapshots__/ShareEventModal.spec.ts.snap b/tests/unit/specs/components/Event/__snapshots__/ShareEventModal.spec.ts.snap
new file mode 100644
index 000000000..edaeb2796
--- /dev/null
+++ b/tests/unit/specs/components/Event/__snapshots__/ShareEventModal.spec.ts.snap
@@ -0,0 +1,178 @@
+// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
+
+exports[`ShareEventModal > Show Cancelled 1`] = `
+"
+
+
+
+
+
+
+
+
+
+
+
This event has been cancelled.
+
+
+
+
+
Event URL
+
+
+
+
+
+
+
+
+
+
+
+ URL copied to clipboard
+
+
+
+
+
+
+
+
+
+
+
+
+
"
+`;
+
+exports[`ShareEventModal > Show No seats left 1`] = `
+"
+
+
+
+
+
+
+
+
+
+
+
+
All the places have already been taken
+
+
+
+
Event URL
+
+
+
+
+
+
+
+
+
+
+
+ URL copied to clipboard
+
+
+
+
+
+
+
+
+
+
+
+
+
"
+`;
+
+exports[`ShareEventModal > Show Private 1`] = `
+"
+
+
+
+
+
+
+
+
+
+
This event is accessible only through it's link. Be careful where you post this link.
+
+
+
+
+
+
Event URL
+
+
+
+
+
+
+
+
+
+
+
+ URL copied to clipboard
+
+
+
+
+
+
+
+
+
+
+
+
+
"
+`;
+
+exports[`ShareEventModal > Show Public 1`] = `
+"
+
+
+
+
+
Event URL
+
+
+
+
+
+
+
+
+
+
+
+ URL copied to clipboard
+
+
+
+
+
+
+
+
+
+
+
+
+
"
+`;
diff --git a/tests/unit/specs/components/Event/__snapshots__/SkeletonEventResult.spec.ts.snap b/tests/unit/specs/components/Event/__snapshots__/SkeletonEventResult.spec.ts.snap
new file mode 100644
index 000000000..5f83d7997
--- /dev/null
+++ b/tests/unit/specs/components/Event/__snapshots__/SkeletonEventResult.spec.ts.snap
@@ -0,0 +1,62 @@
+// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
+
+exports[`SkeletonEventResult > Show column 1`] = `
+""
+`;
+
+exports[`SkeletonEventResult > Show not minimal 1`] = `
+""
+`;
+
+exports[`SkeletonEventResult > Show row 1`] = `
+""
+`;
diff --git a/tests/unit/specs/components/Event/__snapshots__/TagInput.spec.ts.snap b/tests/unit/specs/components/Event/__snapshots__/TagInput.spec.ts.snap
new file mode 100644
index 000000000..47074bada
--- /dev/null
+++ b/tests/unit/specs/components/Event/__snapshots__/TagInput.spec.ts.snap
@@ -0,0 +1,42 @@
+// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
+
+exports[`TagInput > Show new 1`] = `
+""
+`;
diff --git a/tests/unit/specs/components/Group/GroupCard.spec.ts b/tests/unit/specs/components/Group/GroupCard.spec.ts
new file mode 100644
index 000000000..32d590d4b
--- /dev/null
+++ b/tests/unit/specs/components/Group/GroupCard.spec.ts
@@ -0,0 +1,111 @@
+import { beforeEach, describe, it, expect } from "vitest";
+import { enUS } from "date-fns/locale";
+import { routes } from "@/router";
+import { createRouter, createWebHistory, Router } from "vue-router";
+import { config, mount } from "@vue/test-utils";
+import { Oruga } from "@oruga-ui/oruga-next";
+import flushPromises from "flush-promises";
+import { getMockClient } from "../../mocks/client";
+import { htmlRemoveId } from "../../common";
+import GroupCard from "@/components/Group/GroupCard.vue";
+import { IGroup } from "@/types/actor";
+
+config.global.plugins.push(Oruga);
+
+let router: Router;
+
+beforeEach(async () => {
+ router = createRouter({
+ history: createWebHistory(),
+ routes: routes,
+ });
+
+ // await router.isReady();
+});
+
+const basicGroup: IGroup = {
+ name: "Framasoft",
+ preferredUsername: "framasoft",
+ avatar: null,
+ domain: "mobilizon.fr",
+ url: "",
+ summary: "",
+ suspended: false,
+ members: { total: 0, elements: [] },
+ followers: { total: 0, elements: [] },
+};
+
+const groupWithMedia: IGroup = {
+ ...basicGroup,
+ banner: {
+ url: "https://mobilizon.fr/media/a8227a16cc80b3d20ff5ee549a29c1b20a0ca1547f8861129aae9f00c3c69d12.jpg?name=framasoft%27s%20banner.jpg",
+ },
+ avatar: {
+ url: "https://mobilizon.fr/media/890f5396ef80081a6b1b18a5db969746cf8bb340e8a4e657d665e41f6646c539.jpg?name=framasoft%27s%20avatar.jpg",
+ },
+};
+
+const groupWithFollowersOrMembers: IGroup = {
+ ...groupWithMedia,
+ members: { total: 2, elements: [] },
+ followers: { total: 5, elements: [] },
+ summary:
+ "You can also use variant modifiers to target media queries like responsive breakpoints, dark mode, prefers-reduced-motion, and more. For example, use md:h-full to apply the h-full utility at only medium screen sizes and above.",
+ physicalAddress: {
+ description: "Nantes",
+ },
+};
+
+const generateWrapper = (props: any = {}) => {
+ const global_data = getMockClient([]);
+ global_data.provide.dateFnsLocale = enUS;
+ global_data.plugins = [router];
+ return mount(GroupCard, {
+ props: props,
+ global: {
+ ...global_data,
+ stubs: {
+ RouterLink: false,
+ },
+ },
+ });
+};
+
+describe("GroupCard", () => {
+ it("Show Empty", async () => {
+ const wrapper = generateWrapper({
+ group: basicGroup,
+ });
+ await wrapper.vm.$nextTick();
+ await flushPromises();
+ expect(htmlRemoveId(wrapper.html())).toMatchSnapshot();
+ });
+
+ it("Show With media", async () => {
+ const wrapper = generateWrapper({
+ group: groupWithMedia,
+ });
+ await wrapper.vm.$nextTick();
+ await flushPromises();
+ expect(htmlRemoveId(wrapper.html())).toMatchSnapshot();
+ });
+
+ it("Show with followers or members", async () => {
+ const wrapper = generateWrapper({
+ group: groupWithFollowersOrMembers,
+ });
+ await wrapper.vm.$nextTick();
+ await flushPromises();
+ expect(htmlRemoveId(wrapper.html())).toMatchSnapshot();
+ });
+
+ it("Show Row mode", async () => {
+ const wrapper = generateWrapper({
+ group: groupWithFollowersOrMembers,
+ mode: "row",
+ });
+ await wrapper.vm.$nextTick();
+ await flushPromises();
+ expect(htmlRemoveId(wrapper.html())).toMatchSnapshot();
+ });
+});
diff --git a/tests/unit/specs/components/Group/GroupMemberCard.spec.ts b/tests/unit/specs/components/Group/GroupMemberCard.spec.ts
new file mode 100644
index 000000000..bb7825586
--- /dev/null
+++ b/tests/unit/specs/components/Group/GroupMemberCard.spec.ts
@@ -0,0 +1,120 @@
+import { beforeEach, describe, it, expect } from "vitest";
+import { enUS } from "date-fns/locale";
+import { routes } from "@/router";
+import { createRouter, createWebHistory, Router } from "vue-router";
+import { config, mount } from "@vue/test-utils";
+import { Oruga } from "@oruga-ui/oruga-next";
+import flushPromises from "flush-promises";
+import { getMockClient } from "../../mocks/client";
+import { htmlRemoveId } from "../../common";
+import GroupMemberCard from "@/components/Group/GroupMemberCard.vue";
+import { IActor } from "@/types/actor";
+import { IMember } from "@/types/actor/member.model";
+import { MemberRole } from "@/types/enums";
+
+config.global.plugins.push(Oruga);
+
+let router: Router;
+
+beforeEach(async () => {
+ router = createRouter({
+ history: createWebHistory(),
+ routes: routes,
+ });
+
+ // await router.isReady();
+});
+
+const generateWrapper = (props: any) => {
+ const global_data = getMockClient([]);
+ global_data.provide.dateFnsLocale = enUS;
+ global_data.plugins = [router];
+ return mount(GroupMemberCard, {
+ props: props,
+ global: {
+ ...global_data,
+ stubs: {
+ RouterLink: false,
+ },
+ },
+ });
+};
+
+const baseActorAvatar = {
+ id: "",
+ name: "",
+ alt: "",
+ metadata: {},
+ url: "https://social.tcit.fr/system/accounts/avatars/000/000/001/original/a28c50ce5f2b13fd.jpg",
+};
+
+const basePerson: IActor = {
+ name: "Thomas Citharel",
+ preferredUsername: "tcit",
+ avatar: baseActorAvatar,
+ domain: null,
+ url: "",
+ summary: "",
+ suspended: false,
+};
+
+const basicGroup: IActor = {
+ name: "Framasoft",
+ preferredUsername: "framasoft",
+ avatar: {
+ url: "https://mobilizon.fr/media/ff5b2d425fb73e17fcbb56a1a032359ee0b21453c11af59e103e783817a32fdf.png?name=framasoft%27s%20avatar.png",
+ },
+ domain: "mobilizon.fr",
+ url: "",
+ summary: `La Fediverse , c'est la Féd ération qui englobe l'Univers des réseaux sociaux libres et décentralisés, dont Mobilizon (évènements), Mastodon (microblog), Peertube (vidéos), Pixelfed (photos), Funkwhale (musique), Matrix (messagerie instantanée)... et tant d'autres font partie.
Et "La Fediverse Nantaise " est un collectif cherchant à faire connaître localement tout le potentiel de ces réseaux ! :-)
`,
+ suspended: false,
+ members: { total: 0, elements: [] },
+ followers: { total: 0, elements: [] },
+};
+
+const basicMember: IMember = {
+ parent: basicGroup as IActor,
+ actor: basePerson,
+ role: MemberRole.MEMBER,
+};
+
+const moderatorMember: IMember = {
+ parent: basicGroup,
+ actor: basePerson,
+ role: MemberRole.MODERATOR,
+};
+
+const adminMember: IMember = {
+ parent: basicGroup,
+ actor: basePerson,
+ role: MemberRole.ADMINISTRATOR,
+};
+
+describe("GroupMemberCard", () => {
+ it("Show simple member", async () => {
+ const wrapper = generateWrapper({
+ member: basicMember,
+ });
+ await wrapper.vm.$nextTick();
+ await flushPromises();
+ expect(htmlRemoveId(wrapper.html())).toMatchSnapshot();
+ });
+
+ it("Show moderator", async () => {
+ const wrapper = generateWrapper({
+ member: moderatorMember,
+ });
+ await wrapper.vm.$nextTick();
+ await flushPromises();
+ expect(htmlRemoveId(wrapper.html())).toMatchSnapshot();
+ });
+
+ it("Show administrator", async () => {
+ const wrapper = generateWrapper({
+ member: adminMember,
+ });
+ await wrapper.vm.$nextTick();
+ await flushPromises();
+ expect(htmlRemoveId(wrapper.html())).toMatchSnapshot();
+ });
+});
diff --git a/tests/unit/specs/components/Group/__snapshots__/GroupCard.spec.ts.snap b/tests/unit/specs/components/Group/__snapshots__/GroupCard.spec.ts.snap
new file mode 100644
index 000000000..5dcb8bb0e
--- /dev/null
+++ b/tests/unit/specs/components/Group/__snapshots__/GroupCard.spec.ts.snap
@@ -0,0 +1,79 @@
+// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
+
+exports[`GroupCard > Show Empty 1`] = `
+"
+
+
+
+
+
Framasoft @framasoft@mobilizon.fr
+
+
+
+
+
+
+
+
+ "
+`;
+
+exports[`GroupCard > Show Row mode 1`] = `
+"
+
+
+
+
+
+
+
Framasoft @framasoft@mobilizon.fr
+
+
+
You can also use variant modifiers to target media queries like responsive breakpoints, dark mode, prefers-reduced-motion, and more. For example, use md:h-full to apply the h-full utility at only medium screen sizes and above.
+
+
+
7 members or followers
+
+
+ "
+`;
+
+exports[`GroupCard > Show With media 1`] = `
+"
+
+
+
+
+
+
+
Framasoft @framasoft@mobilizon.fr
+
+
+
+
+
+
+
+
+ "
+`;
+
+exports[`GroupCard > Show with followers or members 1`] = `
+"
+
+
+
+
+
+
+
Framasoft @framasoft@mobilizon.fr
+
+
+
You can also use variant modifiers to target media queries like responsive breakpoints, dark mode, prefers-reduced-motion, and more. For example, use md:h-full to apply the h-full utility at only medium screen sizes and above.
+
+
+
7 members or followers
+
+
+ "
+`;
diff --git a/tests/unit/specs/components/Group/__snapshots__/GroupMemberCard.spec.ts.snap b/tests/unit/specs/components/Group/__snapshots__/GroupMemberCard.spec.ts.snap
new file mode 100644
index 000000000..b3cc28113
--- /dev/null
+++ b/tests/unit/specs/components/Group/__snapshots__/GroupMemberCard.spec.ts.snap
@@ -0,0 +1,123 @@
+// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
+
+exports[`GroupMemberCard > Show administrator 1`] = `
+"
+
+
Thomas Citharel (@tcit)
+
+
+
+
+
+
+
+
+
+
+
La Fediverse , c'est la Féd ération qui englobe l'Univers des réseaux sociaux libres et décentralisés, dont Mobilizon (évènements), Mastodon (microblog), Peertube (vidéos), Pixelfed (photos), Funkwhale (musique), Matrix (messagerie instantanée)... et tant d'autres font partie.
+
Et "La Fediverse Nantaise " est un collectif cherchant à faire connaître localement tout le potentiel de ces réseaux ! :-)
+
+
+
+
+
"
+`;
+
+exports[`GroupMemberCard > Show moderator 1`] = `
+"
+
+
Thomas Citharel (@tcit)
+
+
+
+
+
+
+
+
+
+
+
La Fediverse , c'est la Féd ération qui englobe l'Univers des réseaux sociaux libres et décentralisés, dont Mobilizon (évènements), Mastodon (microblog), Peertube (vidéos), Pixelfed (photos), Funkwhale (musique), Matrix (messagerie instantanée)... et tant d'autres font partie.
+
Et "La Fediverse Nantaise " est un collectif cherchant à faire connaître localement tout le potentiel de ces réseaux ! :-)
+
+
+
+
+
"
+`;
+
+exports[`GroupMemberCard > Show simple member 1`] = `
+"
+
+
Thomas Citharel (@tcit)
+
+
+
+
+
+
+
+
+
+
+
La Fediverse , c'est la Féd ération qui englobe l'Univers des réseaux sociaux libres et décentralisés, dont Mobilizon (évènements), Mastodon (microblog), Peertube (vidéos), Pixelfed (photos), Funkwhale (musique), Matrix (messagerie instantanée)... et tant d'autres font partie.
+
Et "La Fediverse Nantaise " est un collectif cherchant à faire connaître localement tout le potentiel de ces réseaux ! :-)
+
+
+
+
+
"
+`;
diff --git a/tests/unit/specs/components/Home/CategoriesPreview.spec.ts b/tests/unit/specs/components/Home/CategoriesPreview.spec.ts
new file mode 100644
index 000000000..9f49a4338
--- /dev/null
+++ b/tests/unit/specs/components/Home/CategoriesPreview.spec.ts
@@ -0,0 +1,50 @@
+import { beforeEach, describe, it, expect } from "vitest";
+import { enUS } from "date-fns/locale";
+import { routes } from "@/router";
+import { createRouter, createWebHistory, Router } from "vue-router";
+import { config, mount } from "@vue/test-utils";
+import { Oruga } from "@oruga-ui/oruga-next";
+import flushPromises from "flush-promises";
+import { getMockClient, requestHandlers } from "../../mocks/client";
+import { htmlRemoveId } from "../../common";
+import CategoriesPreview from "@/components/Home/CategoriesPreview.vue";
+import { CATEGORY_STATISTICS } from "@/graphql/statistics";
+
+config.global.plugins.push(Oruga);
+
+let router: Router;
+
+beforeEach(async () => {
+ router = createRouter({
+ history: createWebHistory(),
+ routes: routes,
+ });
+
+ // await router.isReady();
+});
+
+const generateWrapper = () => {
+ const global_data = getMockClient([CATEGORY_STATISTICS]);
+ global_data.provide.dateFnsLocale = enUS;
+ global_data.plugins = [router];
+ return mount(CategoriesPreview, {
+ props: {},
+ global: {
+ ...global_data,
+ stubs: {
+ RouterLink: false,
+ },
+ },
+ });
+};
+
+describe("CategoriesPreview", () => {
+ it("Show simple", async () => {
+ const wrapper = generateWrapper();
+ await wrapper.vm.$nextTick();
+ await flushPromises();
+ expect(htmlRemoveId(wrapper.html())).toMatchSnapshot();
+ expect(requestHandlers.handle_0).toHaveBeenCalledTimes(1);
+ expect(requestHandlers.handle_0).toHaveBeenCalledWith({});
+ });
+});
diff --git a/tests/unit/specs/components/Home/MobilizonPresentation.spec.ts b/tests/unit/specs/components/Home/MobilizonPresentation.spec.ts
new file mode 100644
index 000000000..3cedf169d
--- /dev/null
+++ b/tests/unit/specs/components/Home/MobilizonPresentation.spec.ts
@@ -0,0 +1,47 @@
+import { beforeEach, describe, it, expect } from "vitest";
+import { enUS } from "date-fns/locale";
+import { routes } from "@/router";
+import { createRouter, createWebHistory, Router } from "vue-router";
+import { config, mount } from "@vue/test-utils";
+import { Oruga } from "@oruga-ui/oruga-next";
+import flushPromises from "flush-promises";
+import { getMockClient } from "../../mocks/client";
+import { htmlRemoveId } from "../../common";
+import MobilizonPresentation from "@/components/Home/MobilizonPresentation.vue";
+
+config.global.plugins.push(Oruga);
+
+let router: Router;
+
+beforeEach(async () => {
+ router = createRouter({
+ history: createWebHistory(),
+ routes: routes,
+ });
+
+ // await router.isReady();
+});
+
+const generateWrapper = () => {
+ const global_data = getMockClient([]);
+ global_data.provide.dateFnsLocale = enUS;
+ global_data.plugins = [router];
+ return mount(MobilizonPresentation, {
+ props: {},
+ global: {
+ ...global_data,
+ stubs: {
+ RouterLink: false,
+ },
+ },
+ });
+};
+
+describe("MobilizonPresentation", () => {
+ it("Show simple", async () => {
+ const wrapper = generateWrapper();
+ await wrapper.vm.$nextTick();
+ await flushPromises();
+ expect(htmlRemoveId(wrapper.html())).toMatchSnapshot();
+ });
+});
diff --git a/tests/unit/specs/components/Home/SearchFields.spec.ts b/tests/unit/specs/components/Home/SearchFields.spec.ts
new file mode 100644
index 000000000..3cd186a38
--- /dev/null
+++ b/tests/unit/specs/components/Home/SearchFields.spec.ts
@@ -0,0 +1,50 @@
+import { beforeEach, describe, it, expect } from "vitest";
+import { enUS } from "date-fns/locale";
+import { routes } from "@/router";
+import { createRouter, createWebHistory, Router } from "vue-router";
+import { config, mount } from "@vue/test-utils";
+import { Oruga } from "@oruga-ui/oruga-next";
+import flushPromises from "flush-promises";
+import { getMockClient } from "../../mocks/client";
+import { htmlRemoveId } from "../../common";
+import SearchFields from "@/components/Home/SearchFields.vue";
+
+config.global.plugins.push(Oruga);
+
+let router: Router;
+
+beforeEach(async () => {
+ router = createRouter({
+ history: createWebHistory(),
+ routes: routes,
+ });
+
+ // await router.isReady();
+});
+
+const generateWrapper = () => {
+ const global_data = getMockClient([]);
+ global_data.provide.dateFnsLocale = enUS;
+ global_data.plugins = [router];
+ return mount(SearchFields, {
+ props: {
+ search: "",
+ location: {},
+ },
+ global: {
+ ...global_data,
+ stubs: {
+ RouterLink: false,
+ },
+ },
+ });
+};
+
+describe("SearchFields", () => {
+ it("Show simple", async () => {
+ const wrapper = generateWrapper();
+ await wrapper.vm.$nextTick();
+ await flushPromises();
+ expect(htmlRemoveId(wrapper.html())).toMatchSnapshot();
+ });
+});
diff --git a/tests/unit/specs/components/Home/UnloggedIntroduction.spec.ts b/tests/unit/specs/components/Home/UnloggedIntroduction.spec.ts
new file mode 100644
index 000000000..52f827e09
--- /dev/null
+++ b/tests/unit/specs/components/Home/UnloggedIntroduction.spec.ts
@@ -0,0 +1,68 @@
+import { beforeEach, describe, it, expect } from "vitest";
+import { enUS } from "date-fns/locale";
+import { routes } from "@/router";
+import { createRouter, createWebHistory, Router } from "vue-router";
+import { config, mount } from "@vue/test-utils";
+import { Oruga } from "@oruga-ui/oruga-next";
+import flushPromises from "flush-promises";
+import { getMockClient } from "../../mocks/client";
+import { htmlRemoveId } from "../../common";
+import UnloggedIntroduction from "@/components/Home/UnloggedIntroduction.vue";
+import { reactive } from "vue";
+
+config.global.plugins.push(Oruga);
+
+let router: Router;
+
+beforeEach(async () => {
+ router = createRouter({
+ history: createWebHistory(),
+ routes: routes,
+ });
+
+ // await router.isReady();
+});
+
+const generateWrapper = (props: any) => {
+ const global_data = getMockClient([]);
+ global_data.provide.dateFnsLocale = enUS;
+ global_data.plugins = [router];
+ return mount(UnloggedIntroduction, {
+ props: props,
+ global: {
+ ...global_data,
+ stubs: {
+ RouterLink: false,
+ },
+ },
+ });
+};
+
+const mockconfig = reactive({
+ name: "My instance name",
+ description: "An instance that doesn't exist",
+ slogan: "Test! Test! Test!",
+ registrationsOpen: true,
+});
+
+const mockconfigClosed = reactive({ ...config, registrationsOpen: false });
+
+describe("UnloggedIntroduction", () => {
+ it("Show open", async () => {
+ const wrapper = generateWrapper({
+ config: mockconfig,
+ });
+ await wrapper.vm.$nextTick();
+ await flushPromises();
+ expect(htmlRemoveId(wrapper.html())).toMatchSnapshot();
+ });
+
+ it("Show close", async () => {
+ const wrapper = generateWrapper({
+ config: mockconfigClosed,
+ });
+ await wrapper.vm.$nextTick();
+ await flushPromises();
+ expect(htmlRemoveId(wrapper.html())).toMatchSnapshot();
+ });
+});
diff --git a/tests/unit/specs/components/Home/__snapshots__/CategoriesPreview.spec.ts.snap b/tests/unit/specs/components/Home/__snapshots__/CategoriesPreview.spec.ts.snap
new file mode 100644
index 000000000..1dd51cc89
--- /dev/null
+++ b/tests/unit/specs/components/Home/__snapshots__/CategoriesPreview.spec.ts.snap
@@ -0,0 +1,3 @@
+// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
+
+exports[`CategoriesPreview > Show simple 1`] = `""`;
diff --git a/tests/unit/specs/components/Home/__snapshots__/MobilizonPresentation.spec.ts.snap b/tests/unit/specs/components/Home/__snapshots__/MobilizonPresentation.spec.ts.snap
new file mode 100644
index 000000000..1a7a48655
--- /dev/null
+++ b/tests/unit/specs/components/Home/__snapshots__/MobilizonPresentation.spec.ts.snap
@@ -0,0 +1,23 @@
+// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
+
+exports[`MobilizonPresentation > Show simple 1`] = `
+"
+
+
+
A practical tool
+
Mobilizon is a tool that helps you find, create and organise events .
+
+
+
An ethical alternative
+
Ethical alternative to Facebook events, groups and pages, Mobilizon is a tool designed to serve you . Period.
+
+
+
A federated software
+
Mobilizon is not a giant platform, but a multitude of interconnected Mobilizon websites .
+
+
+
+
"
+`;
diff --git a/tests/unit/specs/components/Home/__snapshots__/SearchFields.spec.ts.snap b/tests/unit/specs/components/Home/__snapshots__/SearchFields.spec.ts.snap
new file mode 100644
index 000000000..122463629
--- /dev/null
+++ b/tests/unit/specs/components/Home/__snapshots__/SearchFields.spec.ts.snap
@@ -0,0 +1,21 @@
+// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
+
+exports[`SearchFields > Show simple 1`] = `
+""
+`;
diff --git a/tests/unit/specs/components/Home/__snapshots__/UnloggedIntroduction.spec.ts.snap b/tests/unit/specs/components/Home/__snapshots__/UnloggedIntroduction.spec.ts.snap
new file mode 100644
index 000000000..847097be7
--- /dev/null
+++ b/tests/unit/specs/components/Home/__snapshots__/UnloggedIntroduction.spec.ts.snap
@@ -0,0 +1,15 @@
+// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
+
+exports[`UnloggedIntroduction > Show close 1`] = `
+"
+ Gather ⋅ Organize ⋅ Mobilize
+
+ "
+`;
+
+exports[`UnloggedIntroduction > Show open 1`] = `
+"
+ Test! Test! Test!
+ An instance that doesn't exist
+ "
+`;
diff --git a/tests/unit/specs/components/Post/SharePostModal.spec.ts b/tests/unit/specs/components/Post/SharePostModal.spec.ts
new file mode 100644
index 000000000..094aaff50
--- /dev/null
+++ b/tests/unit/specs/components/Post/SharePostModal.spec.ts
@@ -0,0 +1,64 @@
+import { beforeEach, describe, it, expect } from "vitest";
+import { enUS } from "date-fns/locale";
+import { routes } from "@/router";
+import { createRouter, createWebHistory, Router } from "vue-router";
+import { config, mount } from "@vue/test-utils";
+import { Oruga } from "@oruga-ui/oruga-next";
+import flushPromises from "flush-promises";
+import { getMockClient } from "../../mocks/client";
+import { htmlRemoveId } from "../../common";
+import SharePostModal from "@/components/Post/SharePostModal.vue";
+import { PostVisibility } from "@/types/enums";
+
+config.global.plugins.push(Oruga);
+
+let router: Router;
+
+beforeEach(async () => {
+ router = createRouter({
+ history: createWebHistory(),
+ routes: routes,
+ });
+
+ // await router.isReady();
+});
+
+const generateWrapper = (props: any = {}) => {
+ const global_data = getMockClient([]);
+ global_data.provide.dateFnsLocale = enUS;
+ global_data.plugins = [router];
+ return mount(SharePostModal, {
+ props: props,
+ global: {
+ ...global_data,
+ stubs: {
+ RouterLink: false,
+ },
+ },
+ });
+};
+
+const post = {
+ title: "hello",
+ url: "https://mobilizon.fr/p/an-uuid",
+};
+
+describe("SharePostModal", () => {
+ it("Show public", async () => {
+ const wrapper = generateWrapper({
+ post: { ...post, visibility: PostVisibility.PUBLIC },
+ });
+ await wrapper.vm.$nextTick();
+ await flushPromises();
+ expect(htmlRemoveId(wrapper.html())).toMatchSnapshot();
+ });
+
+ it("Show private", async () => {
+ const wrapper = generateWrapper({
+ post: post,
+ });
+ await wrapper.vm.$nextTick();
+ await flushPromises();
+ expect(htmlRemoveId(wrapper.html())).toMatchSnapshot();
+ });
+});
diff --git a/tests/unit/specs/components/Post/__snapshots__/SharePostModal.spec.ts.snap b/tests/unit/specs/components/Post/__snapshots__/SharePostModal.spec.ts.snap
new file mode 100644
index 000000000..7f097f3bb
--- /dev/null
+++ b/tests/unit/specs/components/Post/__snapshots__/SharePostModal.spec.ts.snap
@@ -0,0 +1,69 @@
+// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
+
+exports[`SharePostModal > Show private 1`] = `
+"
+
+
+
+
Post URL
+
+
+
+
+
+
+
+
+
+
+
+ URL copied to clipboard
+
+
+
+
+
+
+
+
+
+
+
+
"
+`;
+
+exports[`SharePostModal > Show public 1`] = `
+"
+
+
+
+
Post URL
+
+
+
+
+
+
+
+
+
+
+
+ URL copied to clipboard
+
+
+
+
+
+
+
+
+
+
+
+
"
+`;
diff --git a/tests/unit/specs/components/User/AuthProviders.spec.ts b/tests/unit/specs/components/User/AuthProviders.spec.ts
new file mode 100644
index 000000000..8df4c4753
--- /dev/null
+++ b/tests/unit/specs/components/User/AuthProviders.spec.ts
@@ -0,0 +1,51 @@
+import { beforeEach, describe, it, expect } from "vitest";
+import { enUS } from "date-fns/locale";
+import { routes } from "@/router";
+import { createRouter, createWebHistory, Router } from "vue-router";
+import { config, mount } from "@vue/test-utils";
+import { Oruga } from "@oruga-ui/oruga-next";
+import flushPromises from "flush-promises";
+import { getMockClient } from "../../mocks/client";
+import { htmlRemoveId } from "../../common";
+import AuthProviders from "@/components/User/AuthProviders.vue";
+
+config.global.plugins.push(Oruga);
+
+let router: Router;
+
+beforeEach(async () => {
+ router = createRouter({
+ history: createWebHistory(),
+ routes: routes,
+ });
+
+ // await router.isReady();
+});
+
+const providers = [{ id: "keycloak", label: "Entreprise" }, { id: "google" }];
+
+const generateWrapper = () => {
+ const global_data = getMockClient([]);
+ global_data.provide.dateFnsLocale = enUS;
+ global_data.plugins = [router];
+ return mount(AuthProviders, {
+ props: {
+ oauthProviders: providers,
+ },
+ global: {
+ ...global_data,
+ stubs: {
+ RouterLink: false,
+ },
+ },
+ });
+};
+
+describe("AuthProviders", () => {
+ it("Show simple", async () => {
+ const wrapper = generateWrapper();
+ await wrapper.vm.$nextTick();
+ await flushPromises();
+ expect(htmlRemoveId(wrapper.html())).toMatchSnapshot();
+ });
+});
diff --git a/tests/unit/specs/components/User/__snapshots__/AuthProviders.spec.ts.snap b/tests/unit/specs/components/User/__snapshots__/AuthProviders.spec.ts.snap
new file mode 100644
index 000000000..85514b502
--- /dev/null
+++ b/tests/unit/specs/components/User/__snapshots__/AuthProviders.spec.ts.snap
@@ -0,0 +1,11 @@
+// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
+
+exports[`AuthProviders > Show simple 1`] = `
+""
+`;
diff --git a/tests/unit/specs/components/core/MaterialIcon.spec.ts b/tests/unit/specs/components/core/MaterialIcon.spec.ts
new file mode 100644
index 000000000..a1aa1daad
--- /dev/null
+++ b/tests/unit/specs/components/core/MaterialIcon.spec.ts
@@ -0,0 +1,63 @@
+import { beforeEach, describe, it, expect } from "vitest";
+import { enUS } from "date-fns/locale";
+import { routes } from "@/router";
+import { createRouter, createWebHistory, Router } from "vue-router";
+import { config, shallowMount } from "@vue/test-utils";
+import { Oruga } from "@oruga-ui/oruga-next";
+import flushPromises from "flush-promises";
+import { getMockClient, requestHandlers } from "../../mocks/client";
+import { htmlRemoveId } from "../../common";
+import MaterialIcon from "@/components/core/MaterialIcon.vue";
+
+config.global.plugins.push(Oruga);
+
+let router: Router;
+
+beforeEach(async () => {
+ router = createRouter({
+ history: createWebHistory(),
+ routes: routes,
+ });
+
+ // await router.isReady();
+});
+
+const generateWrapper = (iconname: string) => {
+ const global_data = getMockClient([]);
+ global_data.provide.dateFnsLocale = enUS;
+ global_data.plugins = [router];
+ return shallowMount(MaterialIcon, {
+ props: {
+ icon: ["", iconname],
+ },
+ global: {
+ ...global_data,
+ stubs: {
+ RouterLink: false,
+ },
+ },
+ });
+};
+
+describe("MaterialIcon", () => {
+ it("Show GoogleHangouts", async () => {
+ const wrapper = generateWrapper("GoogleHangouts");
+ await wrapper.vm.$nextTick();
+ await flushPromises();
+ expect(htmlRemoveId(wrapper.html())).toMatchSnapshot();
+ });
+
+ it("Show CalendarStar", async () => {
+ const wrapper = generateWrapper("CalendarStar");
+ await wrapper.vm.$nextTick();
+ await flushPromises();
+ expect(htmlRemoveId(wrapper.html())).toMatchSnapshot();
+ });
+
+ it("Show account-multiple-plus", async () => {
+ const wrapper = generateWrapper("account-multiple-plus");
+ await wrapper.vm.$nextTick();
+ await flushPromises();
+ expect(htmlRemoveId(wrapper.html())).toMatchSnapshot();
+ });
+});
diff --git a/tests/unit/specs/components/core/__snapshots__/MaterialIcon.spec.ts.snap b/tests/unit/specs/components/core/__snapshots__/MaterialIcon.spec.ts.snap
new file mode 100644
index 000000000..dc3602fa5
--- /dev/null
+++ b/tests/unit/specs/components/core/__snapshots__/MaterialIcon.spec.ts.snap
@@ -0,0 +1,7 @@
+// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
+
+exports[`MaterialIcon > Show CalendarStar 1`] = `" "`;
+
+exports[`MaterialIcon > Show GoogleHangouts 1`] = `" "`;
+
+exports[`MaterialIcon > Show account-multiple-plus 1`] = `" "`;
diff --git a/tests/unit/specs/components/stories/ActorCardStory.spec.ts b/tests/unit/specs/components/stories/ActorCardStory.spec.ts
deleted file mode 100644
index 2542b39b3..000000000
--- a/tests/unit/specs/components/stories/ActorCardStory.spec.ts
+++ /dev/null
@@ -1,15 +0,0 @@
-import { describe, expect, it } from "vitest";
-import { mount, VueWrapper } from "@vue/test-utils";
-import ActorCardStory from "@/components/Account/ActorCard.story.vue";
-
-describe("Actor Card Story", () => {
- let wrapper: VueWrapper;
-
- const generateWrapper = () => {
- wrapper = mount(ActorCardStory);
- };
- it("Default", async () => {
- generateWrapper();
- expect(wrapper.html()).toMatchSnapshot();
- });
-});
diff --git a/tests/unit/specs/components/stories/ActorInlineStory.spec.ts b/tests/unit/specs/components/stories/ActorInlineStory.spec.ts
deleted file mode 100644
index 8c820eebc..000000000
--- a/tests/unit/specs/components/stories/ActorInlineStory.spec.ts
+++ /dev/null
@@ -1,15 +0,0 @@
-import { describe, expect, it } from "vitest";
-import { mount, VueWrapper } from "@vue/test-utils";
-import ActorInlineStory from "@/components/Account/ActorInline.story.vue";
-
-describe("Actor Inline Story", () => {
- let wrapper: VueWrapper;
-
- const generateWrapper = () => {
- wrapper = mount(ActorInlineStory);
- };
- it("Default", async () => {
- generateWrapper();
- expect(wrapper.html()).toMatchSnapshot();
- });
-});
diff --git a/tests/unit/specs/components/stories/AddressInfoStory.spec.ts b/tests/unit/specs/components/stories/AddressInfoStory.spec.ts
deleted file mode 100644
index 03d6c84a7..000000000
--- a/tests/unit/specs/components/stories/AddressInfoStory.spec.ts
+++ /dev/null
@@ -1,15 +0,0 @@
-import { describe, expect, it } from "vitest";
-import { mount, VueWrapper } from "@vue/test-utils";
-import AddressInfoStory from "@/components/Address/AddressInfo.story.vue";
-
-describe("Address Info Story", () => {
- let wrapper: VueWrapper;
-
- const generateWrapper = () => {
- wrapper = mount(AddressInfoStory);
- };
- it("Default", async () => {
- generateWrapper();
- expect(wrapper.html()).toMatchSnapshot();
- });
-});
diff --git a/tests/unit/specs/components/stories/AuthProvidersStory.spec.ts b/tests/unit/specs/components/stories/AuthProvidersStory.spec.ts
deleted file mode 100644
index a5192c79b..000000000
--- a/tests/unit/specs/components/stories/AuthProvidersStory.spec.ts
+++ /dev/null
@@ -1,15 +0,0 @@
-import { describe, expect, it } from "vitest";
-import { mount, VueWrapper } from "@vue/test-utils";
-import AuthProvidersStory from "@/components/User/AuthProviders.story.vue";
-
-describe("Auth Providers Story", () => {
- let wrapper: VueWrapper;
-
- const generateWrapper = () => {
- wrapper = mount(AuthProvidersStory);
- };
- it("Default", async () => {
- generateWrapper();
- expect(wrapper.html()).toMatchSnapshot();
- });
-});
diff --git a/tests/unit/specs/components/stories/CategoriesPreviewStory.spec.ts b/tests/unit/specs/components/stories/CategoriesPreviewStory.spec.ts
deleted file mode 100644
index 911f39133..000000000
--- a/tests/unit/specs/components/stories/CategoriesPreviewStory.spec.ts
+++ /dev/null
@@ -1,19 +0,0 @@
-import { describe, expect, it } from "vitest";
-import { mount, VueWrapper } from "@vue/test-utils";
-import CategoriesPreviewStory from "@/components/Home/CategoriesPreview.story.vue";
-import { getMockClient } from "../../mocks/client";
-import { CATEGORY_STATISTICS } from "@/graphql/statistics";
-
-describe("Categories Preview Story", () => {
- let wrapper: VueWrapper;
-
- const generateWrapper = () => {
- wrapper = mount(CategoriesPreviewStory, {
- global: getMockClient([CATEGORY_STATISTICS]),
- });
- };
- it("Default", async () => {
- generateWrapper();
- expect(wrapper.html()).toMatchSnapshot();
- });
-});
diff --git a/tests/unit/specs/components/stories/CategoryCardStory.spec.ts b/tests/unit/specs/components/stories/CategoryCardStory.spec.ts
deleted file mode 100644
index 13ed91194..000000000
--- a/tests/unit/specs/components/stories/CategoryCardStory.spec.ts
+++ /dev/null
@@ -1,16 +0,0 @@
-import { afterEach, describe, expect, it } from "vitest";
-import { mount, VueWrapper } from "@vue/test-utils";
-import CategoryCardStory from "@/components/Categories/CategoryCard.story.vue";
-
-describe("Category Card Story", () => {
- let wrapper: VueWrapper;
-
- const generateWrapper = () => {
- wrapper = mount(CategoryCardStory);
- };
- afterEach(() => {});
- it("Default", async () => {
- generateWrapper();
- expect(wrapper.html()).toMatchSnapshot();
- });
-});
diff --git a/tests/unit/specs/components/stories/DateCalendarIconStory.spec.ts b/tests/unit/specs/components/stories/DateCalendarIconStory.spec.ts
deleted file mode 100644
index ebccf0c4e..000000000
--- a/tests/unit/specs/components/stories/DateCalendarIconStory.spec.ts
+++ /dev/null
@@ -1,15 +0,0 @@
-import { describe, expect, it } from "vitest";
-import { mount, VueWrapper } from "@vue/test-utils";
-import DateCalendarIconStory from "@/components/Event/DateCalendarIcon.story.vue";
-
-describe("Date Calendar Icon Story", () => {
- let wrapper: VueWrapper;
-
- const generateWrapper = () => {
- wrapper = mount(DateCalendarIconStory);
- };
- it("Default", async () => {
- generateWrapper();
- expect(wrapper.html()).toMatchSnapshot();
- });
-});
diff --git a/tests/unit/specs/components/stories/DiscussionListItemStory.spec.ts b/tests/unit/specs/components/stories/DiscussionListItemStory.spec.ts
deleted file mode 100644
index 400e4ddf4..000000000
--- a/tests/unit/specs/components/stories/DiscussionListItemStory.spec.ts
+++ /dev/null
@@ -1,15 +0,0 @@
-import { describe, expect, it } from "vitest";
-import { mount, VueWrapper } from "@vue/test-utils";
-import DiscussionListItemStory from "@/components/Discussion/DiscussionListItem.story.vue";
-
-describe("Discussion List Item Story", () => {
- let wrapper: VueWrapper;
-
- const generateWrapper = () => {
- wrapper = mount(DiscussionListItemStory);
- };
- it("Default", async () => {
- generateWrapper();
- expect(wrapper.html()).toMatchSnapshot();
- });
-});
diff --git a/tests/unit/specs/components/stories/EventCardStory.spec.ts b/tests/unit/specs/components/stories/EventCardStory.spec.ts
deleted file mode 100644
index 11d70d806..000000000
--- a/tests/unit/specs/components/stories/EventCardStory.spec.ts
+++ /dev/null
@@ -1,25 +0,0 @@
-import { beforeEach, describe, expect, it } from "vitest";
-import { mount, VueWrapper } from "@vue/test-utils";
-import EventCardStory from "@/components/Event/EventCard.story.vue";
-import {
- createMockIntersectionObserver,
- getMockClient,
-} from "../../mocks/client";
-import { CONFIG } from "@/graphql/config"; //
-
-describe("Event Card Story", () => {
- let wrapper: VueWrapper;
-
- const generateWrapper = () => {
- wrapper = mount(EventCardStory, {
- global: getMockClient([CONFIG]),
- });
- };
- beforeEach(() => {
- createMockIntersectionObserver();
- });
- it("Default", async () => {
- generateWrapper();
- expect(wrapper.html()).toMatchSnapshot();
- });
-});
diff --git a/tests/unit/specs/components/stories/EventListViewCardStory.spec.ts b/tests/unit/specs/components/stories/EventListViewCardStory.spec.ts
deleted file mode 100644
index 4a2f39361..000000000
--- a/tests/unit/specs/components/stories/EventListViewCardStory.spec.ts
+++ /dev/null
@@ -1,15 +0,0 @@
-import { describe, expect, it } from "vitest";
-import { mount, VueWrapper } from "@vue/test-utils";
-import EventListViewCardStory from "@/components/Event/EventListViewCard.story.vue";
-
-describe("Event List View Card Story", () => {
- let wrapper: VueWrapper;
-
- const generateWrapper = () => {
- wrapper = mount(EventListViewCardStory);
- };
- it("Default", async () => {
- generateWrapper();
- expect(wrapper.html()).toMatchSnapshot();
- });
-});
diff --git a/tests/unit/specs/components/stories/GroupCardStory.spec.ts b/tests/unit/specs/components/stories/GroupCardStory.spec.ts
deleted file mode 100644
index 6a1c26b3d..000000000
--- a/tests/unit/specs/components/stories/GroupCardStory.spec.ts
+++ /dev/null
@@ -1,15 +0,0 @@
-import { describe, expect, it } from "vitest";
-import { mount, VueWrapper } from "@vue/test-utils";
-import GroupCardStory from "@/components/Group/GroupCard.story.vue";
-
-describe("Group Card Story", () => {
- let wrapper: VueWrapper;
-
- const generateWrapper = () => {
- wrapper = mount(GroupCardStory);
- };
- it("Default", async () => {
- generateWrapper();
- expect(wrapper.html()).toMatchSnapshot();
- });
-});
diff --git a/tests/unit/specs/components/stories/GroupMemberCardStory.spec.ts b/tests/unit/specs/components/stories/GroupMemberCardStory.spec.ts
deleted file mode 100644
index 1eb7514d6..000000000
--- a/tests/unit/specs/components/stories/GroupMemberCardStory.spec.ts
+++ /dev/null
@@ -1,15 +0,0 @@
-import { describe, expect, it } from "vitest";
-import { mount, VueWrapper } from "@vue/test-utils";
-import GroupMemberCardStory from "@/components/Group/GroupMemberCard.story.vue";
-
-describe("Group Member Card Story", () => {
- let wrapper: VueWrapper;
-
- const generateWrapper = () => {
- wrapper = mount(GroupMemberCardStory);
- };
- it("Default", async () => {
- generateWrapper();
- expect(wrapper.html()).toMatchSnapshot();
- });
-});
diff --git a/tests/unit/specs/components/stories/InlineAddressStory.spec.ts b/tests/unit/specs/components/stories/InlineAddressStory.spec.ts
deleted file mode 100644
index f8d2233a0..000000000
--- a/tests/unit/specs/components/stories/InlineAddressStory.spec.ts
+++ /dev/null
@@ -1,15 +0,0 @@
-import { describe, expect, it } from "vitest";
-import { mount, VueWrapper } from "@vue/test-utils";
-import InlineAddressStory from "@/components/Address/InlineAddress.story.vue";
-
-describe("Inline Address Story", () => {
- let wrapper: VueWrapper;
-
- const generateWrapper = () => {
- wrapper = mount(InlineAddressStory);
- };
- it("Default", async () => {
- generateWrapper();
- expect(wrapper.html()).toMatchSnapshot();
- });
-});
diff --git a/tests/unit/specs/components/stories/InstanceContactLinkStory.spec.ts b/tests/unit/specs/components/stories/InstanceContactLinkStory.spec.ts
deleted file mode 100644
index 369079ef2..000000000
--- a/tests/unit/specs/components/stories/InstanceContactLinkStory.spec.ts
+++ /dev/null
@@ -1,15 +0,0 @@
-import InstanceContactLinkStory from "@/components/About/InstanceContactLink.story.vue";
-import { describe, expect, it } from "vitest";
-import { mount, VueWrapper } from "@vue/test-utils";
-
-describe("Instance Contact Link Story", () => {
- let wrapper: VueWrapper;
-
- const generateWrapper = () => {
- wrapper = mount(InstanceContactLinkStory);
- };
- it("Default", async () => {
- generateWrapper();
- expect(wrapper.html()).toMatchSnapshot();
- });
-});
diff --git a/tests/unit/specs/components/stories/MaterialIconStory.spec.ts b/tests/unit/specs/components/stories/MaterialIconStory.spec.ts
deleted file mode 100644
index 2033e44b7..000000000
--- a/tests/unit/specs/components/stories/MaterialIconStory.spec.ts
+++ /dev/null
@@ -1,15 +0,0 @@
-import { describe, expect, it } from "vitest";
-import { mount, VueWrapper } from "@vue/test-utils";
-import MaterialIconStory from "@/components/core/MaterialIcon.story.vue";
-
-describe("Material Icon Story", () => {
- let wrapper: VueWrapper;
-
- const generateWrapper = () => {
- wrapper = mount(MaterialIconStory);
- };
- it("Default", async () => {
- generateWrapper();
- expect(wrapper.html()).toMatchSnapshot();
- });
-});
diff --git a/tests/unit/specs/components/stories/MobilizonPresentationStory.spec.ts b/tests/unit/specs/components/stories/MobilizonPresentationStory.spec.ts
deleted file mode 100644
index 06dcd5cf7..000000000
--- a/tests/unit/specs/components/stories/MobilizonPresentationStory.spec.ts
+++ /dev/null
@@ -1,15 +0,0 @@
-import { describe, expect, it } from "vitest";
-import { mount, VueWrapper } from "@vue/test-utils";
-import MobilizonPresentationStory from "@/components/Home/MobilizonPresentation.story.vue";
-
-describe("Mobilizon Presentation Story", () => {
- let wrapper: VueWrapper;
-
- const generateWrapper = () => {
- wrapper = mount(MobilizonPresentationStory);
- };
- it("Default", async () => {
- generateWrapper();
- expect(wrapper.html()).toMatchSnapshot();
- });
-});
diff --git a/tests/unit/specs/components/stories/PopoverActorCardStory.spec.ts b/tests/unit/specs/components/stories/PopoverActorCardStory.spec.ts
deleted file mode 100644
index fc2388971..000000000
--- a/tests/unit/specs/components/stories/PopoverActorCardStory.spec.ts
+++ /dev/null
@@ -1,15 +0,0 @@
-import { describe, expect, it } from "vitest";
-import { mount, VueWrapper } from "@vue/test-utils";
-import PopoverActorCardStory from "@/components/Account/PopoverActorCard.story.vue";
-
-describe("Popover Actor Card Story", () => {
- let wrapper: VueWrapper;
-
- const generateWrapper = () => {
- wrapper = mount(PopoverActorCardStory);
- };
- it("Default", async () => {
- generateWrapper();
- expect(wrapper.html()).toMatchSnapshot();
- });
-});
diff --git a/tests/unit/specs/components/stories/PostListItemStory.spec.ts b/tests/unit/specs/components/stories/PostListItemStory.spec.ts
deleted file mode 100644
index 6eb9147e8..000000000
--- a/tests/unit/specs/components/stories/PostListItemStory.spec.ts
+++ /dev/null
@@ -1,25 +0,0 @@
-import { beforeEach, describe, expect, it } from "vitest";
-import { mount, VueWrapper } from "@vue/test-utils";
-import PostListItemStory from "@/components/Post/PostListItem.story.vue";
-import {
- createMockIntersectionObserver,
- getMockClient,
-} from "../../mocks/client";
-import { CONFIG } from "@/graphql/config";
-
-describe("Post List Item Story", () => {
- let wrapper: VueWrapper;
-
- const generateWrapper = () => {
- wrapper = mount(PostListItemStory, {
- global: getMockClient([CONFIG]),
- });
- };
- beforeEach(() => {
- createMockIntersectionObserver();
- });
- it("Default", async () => {
- generateWrapper();
- expect(wrapper.html()).toMatchSnapshot();
- });
-});
diff --git a/tests/unit/specs/components/stories/ProfileOnboardingStory.spec.ts b/tests/unit/specs/components/stories/ProfileOnboardingStory.spec.ts
deleted file mode 100644
index d44127c71..000000000
--- a/tests/unit/specs/components/stories/ProfileOnboardingStory.spec.ts
+++ /dev/null
@@ -1,15 +0,0 @@
-import { describe, expect, it } from "vitest";
-import { mount, VueWrapper } from "@vue/test-utils";
-import ProfileOnboardingStory from "@/components/Account/ProfileOnboarding.story.vue";
-
-describe("Profile On boarding Story", () => {
- let wrapper: VueWrapper;
-
- const generateWrapper = () => {
- wrapper = mount(ProfileOnboardingStory);
- };
- it("Default", async () => {
- generateWrapper();
- expect(wrapper.html()).toMatchSnapshot();
- });
-});
diff --git a/tests/unit/specs/components/stories/ShareEventModalStory.spec.ts b/tests/unit/specs/components/stories/ShareEventModalStory.spec.ts
deleted file mode 100644
index 98bd4b148..000000000
--- a/tests/unit/specs/components/stories/ShareEventModalStory.spec.ts
+++ /dev/null
@@ -1,15 +0,0 @@
-import { describe, expect, it } from "vitest";
-import { mount, VueWrapper } from "@vue/test-utils";
-import ShareEventModalStory from "@/components/Event/ShareEventModal.story.vue";
-
-describe("Share Event Modal Story", () => {
- let wrapper: VueWrapper;
-
- const generateWrapper = () => {
- wrapper = mount(ShareEventModalStory);
- };
- it("Default", async () => {
- generateWrapper();
- expect(wrapper.html()).toMatchSnapshot();
- });
-});
diff --git a/tests/unit/specs/components/stories/SharePostModalStory.spec.ts b/tests/unit/specs/components/stories/SharePostModalStory.spec.ts
deleted file mode 100644
index b41fffbb2..000000000
--- a/tests/unit/specs/components/stories/SharePostModalStory.spec.ts
+++ /dev/null
@@ -1,15 +0,0 @@
-import { describe, expect, it } from "vitest";
-import { mount, VueWrapper } from "@vue/test-utils";
-import SharePostModalStory from "@/components/Post/SharePostModal.story.vue";
-
-describe("Share Post Modal Story", () => {
- let wrapper: VueWrapper;
-
- const generateWrapper = () => {
- wrapper = mount(SharePostModalStory);
- };
- it("Default", async () => {
- generateWrapper();
- expect(wrapper.html()).toMatchSnapshot();
- });
-});
diff --git a/tests/unit/specs/components/stories/SkeletonEventResultStory.spec.ts b/tests/unit/specs/components/stories/SkeletonEventResultStory.spec.ts
deleted file mode 100644
index 1db68086f..000000000
--- a/tests/unit/specs/components/stories/SkeletonEventResultStory.spec.ts
+++ /dev/null
@@ -1,15 +0,0 @@
-import { describe, expect, it } from "vitest";
-import { mount, VueWrapper } from "@vue/test-utils";
-import SkeletonEventResultStory from "@/components/Event/SkeletonEventResult.story.vue";
-
-describe("Skeleton Event Result Story", () => {
- let wrapper: VueWrapper;
-
- const generateWrapper = () => {
- wrapper = mount(SkeletonEventResultStory);
- };
- it("Default", async () => {
- generateWrapper();
- expect(wrapper.html()).toMatchSnapshot();
- });
-});
diff --git a/tests/unit/specs/components/stories/TagInputStory.spec.ts b/tests/unit/specs/components/stories/TagInputStory.spec.ts
deleted file mode 100644
index ffc9eeb67..000000000
--- a/tests/unit/specs/components/stories/TagInputStory.spec.ts
+++ /dev/null
@@ -1,15 +0,0 @@
-import { describe, expect, it } from "vitest";
-import { mount, VueWrapper } from "@vue/test-utils";
-import TagInputStory from "@/components/Event/TagInput.story.vue";
-
-describe("Tag Input Story", () => {
- let wrapper: VueWrapper;
-
- const generateWrapper = () => {
- wrapper = mount(TagInputStory);
- };
- it("Default", async () => {
- generateWrapper();
- expect(wrapper.html()).toMatchSnapshot();
- });
-});
diff --git a/tests/unit/specs/components/stories/UnloggedIntroductionStory.spec.ts b/tests/unit/specs/components/stories/UnloggedIntroductionStory.spec.ts
deleted file mode 100644
index 5ff18b62f..000000000
--- a/tests/unit/specs/components/stories/UnloggedIntroductionStory.spec.ts
+++ /dev/null
@@ -1,15 +0,0 @@
-import { describe, expect, it } from "vitest";
-import { mount, VueWrapper } from "@vue/test-utils";
-import UnloggedIntroductionStory from "@/components/Home/UnloggedIntroduction.story.vue";
-
-describe("Unlogged Introduction Story", () => {
- let wrapper: VueWrapper;
-
- const generateWrapper = () => {
- wrapper = mount(UnloggedIntroductionStory);
- };
- it("Default", async () => {
- generateWrapper();
- expect(wrapper.html()).toMatchSnapshot();
- });
-});
diff --git a/tests/unit/specs/components/stories/__snapshots__/ActorCardStory.spec.ts.snap b/tests/unit/specs/components/stories/__snapshots__/ActorCardStory.spec.ts.snap
deleted file mode 100644
index 75780292e..000000000
--- a/tests/unit/specs/components/stories/__snapshots__/ActorCardStory.spec.ts.snap
+++ /dev/null
@@ -1,110 +0,0 @@
-// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
-
-exports[`Actor Card Story > Default 1`] = `
-"
-
-
-
-
-
Thomas Citharel
-
@tcit
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Framasoft
-
@framasoft@framapiaf.org
-
-
-
-
-
-
-
- "
-`;
diff --git a/tests/unit/specs/components/stories/__snapshots__/ActorInlineStory.spec.ts.snap b/tests/unit/specs/components/stories/__snapshots__/ActorInlineStory.spec.ts.snap
deleted file mode 100644
index 4a259664d..000000000
--- a/tests/unit/specs/components/stories/__snapshots__/ActorInlineStory.spec.ts.snap
+++ /dev/null
@@ -1,26 +0,0 @@
-// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
-
-exports[`Actor Inline Story > Default 1`] = `
-"
-
-
-
-
-
Thomas Citharel
-
@tcit
-
-
-
-
-
-
-
-
-
-
Framasoft
-
@framasoft@framapiaf.org
-
-
-
- "
-`;
diff --git a/tests/unit/specs/components/stories/__snapshots__/AddressInfoStory.spec.ts.snap b/tests/unit/specs/components/stories/__snapshots__/AddressInfoStory.spec.ts.snap
deleted file mode 100644
index 268fd0394..000000000
--- a/tests/unit/specs/components/stories/__snapshots__/AddressInfoStory.spec.ts.snap
+++ /dev/null
@@ -1,20 +0,0 @@
-// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
-
-exports[`Address Info Story > Default 1`] = `
-"
-
-
-
- Locaux Motiv 10 Rue Jangot, 69007, Lyon
-
-
-
-
-
-
-
- Locaux Motiv 10 Rue Jangot, 69007, Lyon 🌐 heure d’été irlandaise (UTC+1)
-
-
- "
-`;
diff --git a/tests/unit/specs/components/stories/__snapshots__/AuthProvidersStory.spec.ts.snap b/tests/unit/specs/components/stories/__snapshots__/AuthProvidersStory.spec.ts.snap
deleted file mode 100644
index 4c0d14cfb..000000000
--- a/tests/unit/specs/components/stories/__snapshots__/AuthProvidersStory.spec.ts.snap
+++ /dev/null
@@ -1,14 +0,0 @@
-// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
-
-exports[`Auth Providers Story > Default 1`] = `
-"
-
- Sign in with
-
- Entreprise
- Google
-
-
-
- "
-`;
diff --git a/tests/unit/specs/components/stories/__snapshots__/CategoriesPreviewStory.spec.ts.snap b/tests/unit/specs/components/stories/__snapshots__/CategoriesPreviewStory.spec.ts.snap
deleted file mode 100644
index aeb6e697d..000000000
--- a/tests/unit/specs/components/stories/__snapshots__/CategoriesPreviewStory.spec.ts.snap
+++ /dev/null
@@ -1,11 +0,0 @@
-// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
-
-exports[`Categories Preview Story > Default 1`] = `
-"
-
-
-
- "
-`;
diff --git a/tests/unit/specs/components/stories/__snapshots__/CategoryCardStory.spec.ts.snap b/tests/unit/specs/components/stories/__snapshots__/CategoryCardStory.spec.ts.snap
deleted file mode 100644
index d5b4e968d..000000000
--- a/tests/unit/specs/components/stories/__snapshots__/CategoryCardStory.spec.ts.snap
+++ /dev/null
@@ -1,33 +0,0 @@
-// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
-
-exports[`Category Card Story > Default 1`] = `
-"
-
-
-
-
-
-
-
-
-
Hello
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Hello
- 5 events
-
-
-
- "
-`;
diff --git a/tests/unit/specs/components/stories/__snapshots__/DateCalendarIconStory.spec.ts.snap b/tests/unit/specs/components/stories/__snapshots__/DateCalendarIconStory.spec.ts.snap
deleted file mode 100644
index 3856f5983..000000000
--- a/tests/unit/specs/components/stories/__snapshots__/DateCalendarIconStory.spec.ts.snap
+++ /dev/null
@@ -1,20 +0,0 @@
-// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
-
-exports[`Date Calendar Icon Story > Default 1`] = `
-"
-
-
-
-
-
-
- "
-`;
diff --git a/tests/unit/specs/components/stories/__snapshots__/DiscussionCommentStory.spec.ts.snap b/tests/unit/specs/components/stories/__snapshots__/DiscussionCommentStory.spec.ts.snap
deleted file mode 100644
index 5c522f1dd..000000000
--- a/tests/unit/specs/components/stories/__snapshots__/DiscussionCommentStory.spec.ts.snap
+++ /dev/null
@@ -1,87 +0,0 @@
-// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
-
-exports[`Discussion Comment Story > Default 1`] = `
-"
-
-
-
-
-
-
-
-
Thomas Citharel @tcit
Edit Delete
-
-
-
-
-
-
-
-
-
-
-
-
-
-
The report will be sent to the moderators of your instance. You can explain why you report this content below.
-
-
-
-
-
-
-
-
-
-
- Cancel
- Send the report
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
The report will be sent to the moderators of your instance. You can explain why you report this content below.
-
-
-
-
-
-
-
-
-
-
- Cancel
- Send the report
-
-
-
-
- "
-`;
diff --git a/tests/unit/specs/components/stories/__snapshots__/DiscussionListItemStory.spec.ts.snap b/tests/unit/specs/components/stories/__snapshots__/DiscussionListItemStory.spec.ts.snap
deleted file mode 100644
index e057d3cba..000000000
--- a/tests/unit/specs/components/stories/__snapshots__/DiscussionListItemStory.spec.ts.snap
+++ /dev/null
@@ -1,28 +0,0 @@
-// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
-
-exports[`Discussion List Item Story > Default 1`] = `
-"
-
-
-
-
-
-
A discussion
0 seconds
-
-
-
-
-
-
-
-
-
-
-
A discussion
0 seconds
-
-
[This comment has been deleted]
-
-
-
- "
-`;
diff --git a/tests/unit/specs/components/stories/__snapshots__/EventCardStory.spec.ts.snap b/tests/unit/specs/components/stories/__snapshots__/EventCardStory.spec.ts.snap
deleted file mode 100644
index 06cf0e0b8..000000000
--- a/tests/unit/specs/components/stories/__snapshots__/EventCardStory.spec.ts.snap
+++ /dev/null
@@ -1,262 +0,0 @@
-// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
-
-exports[`Event Card Story > Default 1`] = `
-"
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Something
-
-
-
-
-
-
-
-
-
-
-
A very interesting event
-
-
-
Hello
-
-
-
-
-
-
- Something
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Something
-
-
-
-
-
-
-
-
-
-
-
A very long title that will have trouble to display because it will take multiple lines but where will it stop ?! Maybe after 3 lines is enough. Let's say so. But if it doesn't work, we really need to truncate it at some point. Definitively.
-
-
-
Hello
-
-
-
-
-
-
- Something
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Tentative
-
- Something
-
-
-
-
-
-
-
-
-
-
-
A very interesting event
-
-
-
Hello
-
-
-
- Tentative
-
- Something
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Cancelled
- Something
-
-
-
-
-
-
-
-
-
-
-
A very interesting event
-
-
-
Hello
-
-
-
-
- Cancelled
- Something
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Something
-
-
-
-
-
-
-
-
-
-
-
A very long title that will have trouble to display because it will take multiple lines but where will it stop ?! Maybe after 3 lines is enough. Let's say so. But if it doesn't work, we really need to truncate it at some point. Definitively.
-
-
-
Hello
-
-
-
-
-
-
- Something
-
-
-
-
-
-
-
- "
-`;
diff --git a/tests/unit/specs/components/stories/__snapshots__/EventListViewCardStory.spec.ts.snap b/tests/unit/specs/components/stories/__snapshots__/EventListViewCardStory.spec.ts.snap
deleted file mode 100644
index e095c3ee5..000000000
--- a/tests/unit/specs/components/stories/__snapshots__/EventListViewCardStory.spec.ts.snap
+++ /dev/null
@@ -1,59 +0,0 @@
-// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
-
-exports[`Event List View Card Story > Default 1`] = `
-"
-
-
-
-
-
- A very interesting event
-
-
-
- Published by Hello
-
-
-
-
-
-
-
-
-
- A very long title that will have trouble to display because it will take multiple lines but where will it stop ?! Maybe after 3 lines is enough. Let's say so.
-
-
-
- Published by Hello
-
-
-
-
-
- "
-`;
diff --git a/tests/unit/specs/components/stories/__snapshots__/GroupCardStory.spec.ts.snap b/tests/unit/specs/components/stories/__snapshots__/GroupCardStory.spec.ts.snap
deleted file mode 100644
index 88b3a5ae1..000000000
--- a/tests/unit/specs/components/stories/__snapshots__/GroupCardStory.spec.ts.snap
+++ /dev/null
@@ -1,86 +0,0 @@
-// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
-
-exports[`Group Card Story > Default 1`] = `
-"
-
-
-
-
-
-
-
-
Framasoft @framasoft@mobilizon.fr
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Framasoft @framasoft@mobilizon.fr
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Framasoft @framasoft@mobilizon.fr
-
-
-
You can also use variant modifiers to target media queries like responsive breakpoints, dark mode, prefers-reduced-motion, and more. For example, use md:h-full to apply the h-full utility at only medium screen sizes and above.
-
-
-
7 members or followers
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Framasoft @framasoft@mobilizon.fr
-
-
-
You can also use variant modifiers to target media queries like responsive breakpoints, dark mode, prefers-reduced-motion, and more. For example, use md:h-full to apply the h-full utility at only medium screen sizes and above.
-
-
-
7 members or followers
-
-
-
-
- "
-`;
diff --git a/tests/unit/specs/components/stories/__snapshots__/GroupMemberCardStory.spec.ts.snap b/tests/unit/specs/components/stories/__snapshots__/GroupMemberCardStory.spec.ts.snap
deleted file mode 100644
index 67bd3ee3e..000000000
--- a/tests/unit/specs/components/stories/__snapshots__/GroupMemberCardStory.spec.ts.snap
+++ /dev/null
@@ -1,107 +0,0 @@
-// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
-
-exports[`Group Member Card Story > Default 1`] = `
-"
-
-
-
-
-
Thomas Citharel (@tcit)
-
-
-
-
-
-
-
-
-
- Framasoft
- @framasoft@mobilizon.fr
-
-
-
-
-
-
-
La Fediverse , c'est la Féd ération qui englobe l'Univers des réseaux sociaux libres et décentralisés, dont Mobilizon (évènements), Mastodon (microblog), Peertube (vidéos), Pixelfed (photos), Funkwhale (musique), Matrix (messagerie instantanée)... et tant d'autres font partie.
-
Et "La Fediverse Nantaise " est un collectif cherchant à faire connaître localement tout le potentiel de ces réseaux ! :-)
-
-
-
-
-
-
-
-
-
-
-
-
Thomas Citharel (@tcit)
-
-
-
-
-
-
-
-
-
- Framasoft
- @framasoft@mobilizon.fr Moderator
-
-
-
-
-
La Fediverse , c'est la Féd ération qui englobe l'Univers des réseaux sociaux libres et décentralisés, dont Mobilizon (évènements), Mastodon (microblog), Peertube (vidéos), Pixelfed (photos), Funkwhale (musique), Matrix (messagerie instantanée)... et tant d'autres font partie.
-
Et "La Fediverse Nantaise " est un collectif cherchant à faire connaître localement tout le potentiel de ces réseaux ! :-)
-
-
-
-
-
-
-
-
-
-
-
-
Thomas Citharel (@tcit)
-
-
-
-
-
-
-
-
-
- Framasoft
- @framasoft@mobilizon.fr Administrator
-
-
-
-
-
La Fediverse , c'est la Féd ération qui englobe l'Univers des réseaux sociaux libres et décentralisés, dont Mobilizon (évènements), Mastodon (microblog), Peertube (vidéos), Pixelfed (photos), Funkwhale (musique), Matrix (messagerie instantanée)... et tant d'autres font partie.
-
Et "La Fediverse Nantaise " est un collectif cherchant à faire connaître localement tout le potentiel de ces réseaux ! :-)
-
-
-
-
-
-
-
- "
-`;
diff --git a/tests/unit/specs/components/stories/__snapshots__/InlineAddressStory.spec.ts.snap b/tests/unit/specs/components/stories/__snapshots__/InlineAddressStory.spec.ts.snap
deleted file mode 100644
index 0edc634b4..000000000
--- a/tests/unit/specs/components/stories/__snapshots__/InlineAddressStory.spec.ts.snap
+++ /dev/null
@@ -1,12 +0,0 @@
-// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
-
-exports[`Inline Address Story > Default 1`] = `
-"
-
-
-
-
-
-
- "
-`;
diff --git a/tests/unit/specs/components/stories/__snapshots__/InstanceContactLinkStory.spec.ts.snap b/tests/unit/specs/components/stories/__snapshots__/InstanceContactLinkStory.spec.ts.snap
deleted file mode 100644
index 846b5afb1..000000000
--- a/tests/unit/specs/components/stories/__snapshots__/InstanceContactLinkStory.spec.ts.snap
+++ /dev/null
@@ -1,18 +0,0 @@
-// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
-
-exports[`Instance Contact Link Story > Default 1`] = `
-"
-
- contact uninformed
-
-
- someone
-
-
- someone@somewhere.tld
-
-
- somewhere.com
-
- "
-`;
diff --git a/tests/unit/specs/components/stories/__snapshots__/MaterialIconStory.spec.ts.snap b/tests/unit/specs/components/stories/__snapshots__/MaterialIconStory.spec.ts.snap
deleted file mode 100644
index ac624fea6..000000000
--- a/tests/unit/specs/components/stories/__snapshots__/MaterialIconStory.spec.ts.snap
+++ /dev/null
@@ -1,15 +0,0 @@
-// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
-
-exports[`Material Icon Story > Default 1`] = `
-"
-
-
-
-
-
-
-
-
-
- "
-`;
diff --git a/tests/unit/specs/components/stories/__snapshots__/MobilizonPresentationStory.spec.ts.snap b/tests/unit/specs/components/stories/__snapshots__/MobilizonPresentationStory.spec.ts.snap
deleted file mode 100644
index 446953f30..000000000
--- a/tests/unit/specs/components/stories/__snapshots__/MobilizonPresentationStory.spec.ts.snap
+++ /dev/null
@@ -1,27 +0,0 @@
-// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
-
-exports[`Mobilizon Presentation Story > Default 1`] = `
-"
-
-
-
-
-
A practical tool
-
Mobilizon is a tool that helps you find, create and organise events .
-
-
-
An ethical alternative
-
Ethical alternative to Facebook events, groups and pages, Mobilizon is a tool designed to serve you . Period.
-
-
-
A federated software
-
Mobilizon is not a giant platform, but a multitude of interconnected Mobilizon websites .
-
-
-
- Learn more about Mobilizon
-
-
-
- "
-`;
diff --git a/tests/unit/specs/components/stories/__snapshots__/PopoverActorCardStory.spec.ts.snap b/tests/unit/specs/components/stories/__snapshots__/PopoverActorCardStory.spec.ts.snap
deleted file mode 100644
index 5094b67ff..000000000
--- a/tests/unit/specs/components/stories/__snapshots__/PopoverActorCardStory.spec.ts.snap
+++ /dev/null
@@ -1,24 +0,0 @@
-// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
-
-exports[`Popover Actor Card Story > Default 1`] = `
-"
-
-
-
-
-
-
- "
-`;
diff --git a/tests/unit/specs/components/stories/__snapshots__/PostListItemStory.spec.ts.snap b/tests/unit/specs/components/stories/__snapshots__/PostListItemStory.spec.ts.snap
deleted file mode 100644
index d92c6bd9e..000000000
--- a/tests/unit/specs/components/stories/__snapshots__/PostListItemStory.spec.ts.snap
+++ /dev/null
@@ -1,60 +0,0 @@
-// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
-
-exports[`Post List Item Story > Default 1`] = `
-"
-
-
-
-
-
-
-
-
-
-
-
Musique sur Nantes : un groupe à développer ensemble !
-
less than a minute ago
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Musique sur Nantes : un groupe à développer ensemble ! Musique sur Nantes : un groupe à développer ensemble !
-
less than a minute ago
-
Musique Concert VeryLongTagWhatHappensThen
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Musique sur Nantes : un groupe à développer ensemble ! Musique sur Nantes : un groupe à développer ensemble !
-
less than a minute ago
-
Musique Concert VeryLongTagWhatHappensThen
-
Published by I'm the author
-
-
-
-
- "
-`;
diff --git a/tests/unit/specs/components/stories/__snapshots__/ProfileOnboardingStory.spec.ts.snap b/tests/unit/specs/components/stories/__snapshots__/ProfileOnboardingStory.spec.ts.snap
deleted file mode 100644
index 883a2581c..000000000
--- a/tests/unit/specs/components/stories/__snapshots__/ProfileOnboardingStory.spec.ts.snap
+++ /dev/null
@@ -1,19 +0,0 @@
-// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
-
-exports[`Profile On boarding Story > Default 1`] = `
-"
-
-
-
-
Profiles and federation
-
-
Mobilizon uses a system of profiles to compartiment your activities. You will be able to create as many profiles as you want.
-
-
Mobilizon is a federated software, meaning you can interact - depending on your admin's federation settings - with content from other instances, such as joining groups or events that were created elsewhere. This instance, Instance name (localhost) , hosts your profile, so remember its name.
-
-
If you are being asked for your federated indentity, it's composed of your username and your instance. For instance, the federated identity for your first profile is:
-
tcit@localhost
-
-
- "
-`;
diff --git a/tests/unit/specs/components/stories/__snapshots__/ShareEventModalStory.spec.ts.snap b/tests/unit/specs/components/stories/__snapshots__/ShareEventModalStory.spec.ts.snap
deleted file mode 100644
index 163075790..000000000
--- a/tests/unit/specs/components/stories/__snapshots__/ShareEventModalStory.spec.ts.snap
+++ /dev/null
@@ -1,99 +0,0 @@
-// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
-
-exports[`Share Event Modal Story > Default 1`] = `
-"
-
-
-
-
-
-
-
-
-
-
This event is accessible only through it's link. Be careful where you post this link.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
This event has been cancelled.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
All the places have already been taken
-
-
-
-
-
-
-
-
-
-
-
-
-
- "
-`;
diff --git a/tests/unit/specs/components/stories/__snapshots__/SharePostModalStory.spec.ts.snap b/tests/unit/specs/components/stories/__snapshots__/SharePostModalStory.spec.ts.snap
deleted file mode 100644
index 4e8fcaa9e..000000000
--- a/tests/unit/specs/components/stories/__snapshots__/SharePostModalStory.spec.ts.snap
+++ /dev/null
@@ -1,44 +0,0 @@
-// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
-
-exports[`Share Post Modal Story > Default 1`] = `
-"
-
-
-
-
-
-
- "
-`;
diff --git a/tests/unit/specs/components/stories/__snapshots__/SkeletonEventResultStory.spec.ts.snap b/tests/unit/specs/components/stories/__snapshots__/SkeletonEventResultStory.spec.ts.snap
deleted file mode 100644
index 23f26e63f..000000000
--- a/tests/unit/specs/components/stories/__snapshots__/SkeletonEventResultStory.spec.ts.snap
+++ /dev/null
@@ -1,64 +0,0 @@
-// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
-
-exports[`Skeleton Event Result Story > Default 1`] = `
-"
-
-
-
-
-
-
-
-
-
- "
-`;
diff --git a/tests/unit/specs/components/stories/__snapshots__/TagInputStory.spec.ts.snap b/tests/unit/specs/components/stories/__snapshots__/TagInputStory.spec.ts.snap
deleted file mode 100644
index 3263721de..000000000
--- a/tests/unit/specs/components/stories/__snapshots__/TagInputStory.spec.ts.snap
+++ /dev/null
@@ -1,14 +0,0 @@
-// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
-
-exports[`Tag Input Story > Default 1`] = `
-"
-
-
-
-
-
-
- "
-`;
diff --git a/tests/unit/specs/components/stories/__snapshots__/UnloggedIntroductionStory.spec.ts.snap b/tests/unit/specs/components/stories/__snapshots__/UnloggedIntroductionStory.spec.ts.snap
deleted file mode 100644
index 99c0e832d..000000000
--- a/tests/unit/specs/components/stories/__snapshots__/UnloggedIntroductionStory.spec.ts.snap
+++ /dev/null
@@ -1,18 +0,0 @@
-// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
-
-exports[`Unlogged Introduction Story > Default 1`] = `
-"
-
-
- Test! Test! Test!
- An instance that doesn't exist
-
-
-
-
- Test! Test! Test!
- An instance that doesn't exist
-
-
- "
-`;
diff --git a/tests/unit/specs/components/Group/CreateView.spec.ts b/tests/unit/specs/views/Group/CreateView.spec.ts
similarity index 100%
rename from tests/unit/specs/components/Group/CreateView.spec.ts
rename to tests/unit/specs/views/Group/CreateView.spec.ts
diff --git a/tests/unit/specs/components/Group/GroupFollowers.spec.ts b/tests/unit/specs/views/Group/GroupFollowers.spec.ts
similarity index 100%
rename from tests/unit/specs/components/Group/GroupFollowers.spec.ts
rename to tests/unit/specs/views/Group/GroupFollowers.spec.ts
diff --git a/tests/unit/specs/components/Group/GroupMembers.spec.ts b/tests/unit/specs/views/Group/GroupMembers.spec.ts
similarity index 100%
rename from tests/unit/specs/components/Group/GroupMembers.spec.ts
rename to tests/unit/specs/views/Group/GroupMembers.spec.ts
diff --git a/tests/unit/specs/components/Group/GroupSettings.spec.ts b/tests/unit/specs/views/Group/GroupSettings.spec.ts
similarity index 100%
rename from tests/unit/specs/components/Group/GroupSettings.spec.ts
rename to tests/unit/specs/views/Group/GroupSettings.spec.ts
diff --git a/tests/unit/specs/components/Group/GroupView.spec.ts b/tests/unit/specs/views/Group/GroupView.spec.ts
similarity index 100%
rename from tests/unit/specs/components/Group/GroupView.spec.ts
rename to tests/unit/specs/views/Group/GroupView.spec.ts
diff --git a/tests/unit/specs/components/Group/MyGroups.spec.ts b/tests/unit/specs/views/Group/MyGroups.spec.ts
similarity index 100%
rename from tests/unit/specs/components/Group/MyGroups.spec.ts
rename to tests/unit/specs/views/Group/MyGroups.spec.ts
diff --git a/tests/unit/specs/components/Group/SettingsView.spec.ts b/tests/unit/specs/views/Group/SettingsView.spec.ts
similarity index 100%
rename from tests/unit/specs/components/Group/SettingsView.spec.ts
rename to tests/unit/specs/views/Group/SettingsView.spec.ts
diff --git a/tests/unit/specs/components/Group/TimelineView.spec.ts b/tests/unit/specs/views/Group/TimelineView.spec.ts
similarity index 100%
rename from tests/unit/specs/components/Group/TimelineView.spec.ts
rename to tests/unit/specs/views/Group/TimelineView.spec.ts
diff --git a/tests/unit/specs/components/Group/__snapshots__/CreateView.spec.ts.snap b/tests/unit/specs/views/Group/__snapshots__/CreateView.spec.ts.snap
similarity index 100%
rename from tests/unit/specs/components/Group/__snapshots__/CreateView.spec.ts.snap
rename to tests/unit/specs/views/Group/__snapshots__/CreateView.spec.ts.snap
diff --git a/tests/unit/specs/components/Group/__snapshots__/GroupFollowers.spec.ts.snap b/tests/unit/specs/views/Group/__snapshots__/GroupFollowers.spec.ts.snap
similarity index 100%
rename from tests/unit/specs/components/Group/__snapshots__/GroupFollowers.spec.ts.snap
rename to tests/unit/specs/views/Group/__snapshots__/GroupFollowers.spec.ts.snap
diff --git a/tests/unit/specs/components/Group/__snapshots__/GroupMembers.spec.ts.snap b/tests/unit/specs/views/Group/__snapshots__/GroupMembers.spec.ts.snap
similarity index 100%
rename from tests/unit/specs/components/Group/__snapshots__/GroupMembers.spec.ts.snap
rename to tests/unit/specs/views/Group/__snapshots__/GroupMembers.spec.ts.snap
diff --git a/tests/unit/specs/components/Group/__snapshots__/GroupSettings.spec.ts.snap b/tests/unit/specs/views/Group/__snapshots__/GroupSettings.spec.ts.snap
similarity index 100%
rename from tests/unit/specs/components/Group/__snapshots__/GroupSettings.spec.ts.snap
rename to tests/unit/specs/views/Group/__snapshots__/GroupSettings.spec.ts.snap
diff --git a/tests/unit/specs/components/Group/__snapshots__/GroupView.spec.ts.snap b/tests/unit/specs/views/Group/__snapshots__/GroupView.spec.ts.snap
similarity index 100%
rename from tests/unit/specs/components/Group/__snapshots__/GroupView.spec.ts.snap
rename to tests/unit/specs/views/Group/__snapshots__/GroupView.spec.ts.snap
diff --git a/tests/unit/specs/components/Group/__snapshots__/MyGroups.spec.ts.snap b/tests/unit/specs/views/Group/__snapshots__/MyGroups.spec.ts.snap
similarity index 100%
rename from tests/unit/specs/components/Group/__snapshots__/MyGroups.spec.ts.snap
rename to tests/unit/specs/views/Group/__snapshots__/MyGroups.spec.ts.snap
diff --git a/tests/unit/specs/components/Group/__snapshots__/SettingsView.spec.ts.snap b/tests/unit/specs/views/Group/__snapshots__/SettingsView.spec.ts.snap
similarity index 100%
rename from tests/unit/specs/components/Group/__snapshots__/SettingsView.spec.ts.snap
rename to tests/unit/specs/views/Group/__snapshots__/SettingsView.spec.ts.snap
diff --git a/tests/unit/specs/components/Group/__snapshots__/TimelineView.spec.ts.snap b/tests/unit/specs/views/Group/__snapshots__/TimelineView.spec.ts.snap
similarity index 100%
rename from tests/unit/specs/components/Group/__snapshots__/TimelineView.spec.ts.snap
rename to tests/unit/specs/views/Group/__snapshots__/TimelineView.spec.ts.snap
diff --git a/tests/unit/specs/components/User/PasswordReset.spec.ts b/tests/unit/specs/views/User/PasswordReset.spec.ts
similarity index 100%
rename from tests/unit/specs/components/User/PasswordReset.spec.ts
rename to tests/unit/specs/views/User/PasswordReset.spec.ts
diff --git a/tests/unit/specs/components/User/RegisterView.spec.ts b/tests/unit/specs/views/User/RegisterView.spec.ts
similarity index 100%
rename from tests/unit/specs/components/User/RegisterView.spec.ts
rename to tests/unit/specs/views/User/RegisterView.spec.ts
diff --git a/tests/unit/specs/components/User/ValidateUser.spec.ts b/tests/unit/specs/views/User/ValidateUser.spec.ts
similarity index 100%
rename from tests/unit/specs/components/User/ValidateUser.spec.ts
rename to tests/unit/specs/views/User/ValidateUser.spec.ts
diff --git a/tests/unit/specs/components/User/__snapshots__/RegisterView.spec.ts.snap b/tests/unit/specs/views/User/__snapshots__/RegisterView.spec.ts.snap
similarity index 100%
rename from tests/unit/specs/components/User/__snapshots__/RegisterView.spec.ts.snap
rename to tests/unit/specs/views/User/__snapshots__/RegisterView.spec.ts.snap
diff --git a/tests/unit/specs/components/User/__snapshots__/ValidateUser.spec.ts.snap b/tests/unit/specs/views/User/__snapshots__/ValidateUser.spec.ts.snap
similarity index 100%
rename from tests/unit/specs/components/User/__snapshots__/ValidateUser.spec.ts.snap
rename to tests/unit/specs/views/User/__snapshots__/ValidateUser.spec.ts.snap
diff --git a/tests/unit/specs/components/User/__snapshots__/emailValidate.spec.ts.snap b/tests/unit/specs/views/User/__snapshots__/emailValidate.spec.ts.snap
similarity index 100%
rename from tests/unit/specs/components/User/__snapshots__/emailValidate.spec.ts.snap
rename to tests/unit/specs/views/User/__snapshots__/emailValidate.spec.ts.snap
diff --git a/tests/unit/specs/components/User/__snapshots__/providerValidation.spec.ts.snap b/tests/unit/specs/views/User/__snapshots__/providerValidation.spec.ts.snap
similarity index 100%
rename from tests/unit/specs/components/User/__snapshots__/providerValidation.spec.ts.snap
rename to tests/unit/specs/views/User/__snapshots__/providerValidation.spec.ts.snap
diff --git a/tests/unit/specs/components/User/__snapshots__/resendConfirmation.spec.ts.snap b/tests/unit/specs/views/User/__snapshots__/resendConfirmation.spec.ts.snap
similarity index 100%
rename from tests/unit/specs/components/User/__snapshots__/resendConfirmation.spec.ts.snap
rename to tests/unit/specs/views/User/__snapshots__/resendConfirmation.spec.ts.snap
diff --git a/tests/unit/specs/components/User/__snapshots__/sendPasswordReset.spec.ts.snap b/tests/unit/specs/views/User/__snapshots__/sendPasswordReset.spec.ts.snap
similarity index 100%
rename from tests/unit/specs/components/User/__snapshots__/sendPasswordReset.spec.ts.snap
rename to tests/unit/specs/views/User/__snapshots__/sendPasswordReset.spec.ts.snap
diff --git a/tests/unit/specs/components/User/__snapshots__/settingsOnboard.spec.ts.snap b/tests/unit/specs/views/User/__snapshots__/settingsOnboard.spec.ts.snap
similarity index 100%
rename from tests/unit/specs/components/User/__snapshots__/settingsOnboard.spec.ts.snap
rename to tests/unit/specs/views/User/__snapshots__/settingsOnboard.spec.ts.snap
diff --git a/tests/unit/specs/components/User/emailValidate.spec.ts b/tests/unit/specs/views/User/emailValidate.spec.ts
similarity index 100%
rename from tests/unit/specs/components/User/emailValidate.spec.ts
rename to tests/unit/specs/views/User/emailValidate.spec.ts
diff --git a/tests/unit/specs/components/User/login.spec.ts b/tests/unit/specs/views/User/login.spec.ts
similarity index 100%
rename from tests/unit/specs/components/User/login.spec.ts
rename to tests/unit/specs/views/User/login.spec.ts
diff --git a/tests/unit/specs/components/User/providerValidation.spec.ts b/tests/unit/specs/views/User/providerValidation.spec.ts
similarity index 100%
rename from tests/unit/specs/components/User/providerValidation.spec.ts
rename to tests/unit/specs/views/User/providerValidation.spec.ts
diff --git a/tests/unit/specs/components/User/resendConfirmation.spec.ts b/tests/unit/specs/views/User/resendConfirmation.spec.ts
similarity index 100%
rename from tests/unit/specs/components/User/resendConfirmation.spec.ts
rename to tests/unit/specs/views/User/resendConfirmation.spec.ts
diff --git a/tests/unit/specs/components/User/sendPasswordReset.spec.ts b/tests/unit/specs/views/User/sendPasswordReset.spec.ts
similarity index 100%
rename from tests/unit/specs/components/User/sendPasswordReset.spec.ts
rename to tests/unit/specs/views/User/sendPasswordReset.spec.ts
diff --git a/tests/unit/specs/components/User/settingsOnboard.spec.ts b/tests/unit/specs/views/User/settingsOnboard.spec.ts
similarity index 100%
rename from tests/unit/specs/components/User/settingsOnboard.spec.ts
rename to tests/unit/specs/views/User/settingsOnboard.spec.ts
diff --git a/tests/unit/specs/components/admin/__snapshots__/adminGroupProfile.spec.ts.snap b/tests/unit/specs/views/admin/__snapshots__/adminGroupProfile.spec.ts.snap
similarity index 100%
rename from tests/unit/specs/components/admin/__snapshots__/adminGroupProfile.spec.ts.snap
rename to tests/unit/specs/views/admin/__snapshots__/adminGroupProfile.spec.ts.snap
diff --git a/tests/unit/specs/components/admin/__snapshots__/adminProfile.spec.ts.snap b/tests/unit/specs/views/admin/__snapshots__/adminProfile.spec.ts.snap
similarity index 100%
rename from tests/unit/specs/components/admin/__snapshots__/adminProfile.spec.ts.snap
rename to tests/unit/specs/views/admin/__snapshots__/adminProfile.spec.ts.snap
diff --git a/tests/unit/specs/components/admin/__snapshots__/adminUsersProfileView.spec.ts.snap b/tests/unit/specs/views/admin/__snapshots__/adminUsersProfileView.spec.ts.snap
similarity index 100%
rename from tests/unit/specs/components/admin/__snapshots__/adminUsersProfileView.spec.ts.snap
rename to tests/unit/specs/views/admin/__snapshots__/adminUsersProfileView.spec.ts.snap
diff --git a/tests/unit/specs/components/admin/__snapshots__/dashboard.spec.ts.snap b/tests/unit/specs/views/admin/__snapshots__/dashboard.spec.ts.snap
similarity index 100%
rename from tests/unit/specs/components/admin/__snapshots__/dashboard.spec.ts.snap
rename to tests/unit/specs/views/admin/__snapshots__/dashboard.spec.ts.snap
diff --git a/tests/unit/specs/components/admin/__snapshots__/groupProfiles.spec.ts.snap b/tests/unit/specs/views/admin/__snapshots__/groupProfiles.spec.ts.snap
similarity index 100%
rename from tests/unit/specs/components/admin/__snapshots__/groupProfiles.spec.ts.snap
rename to tests/unit/specs/views/admin/__snapshots__/groupProfiles.spec.ts.snap
diff --git a/tests/unit/specs/components/admin/__snapshots__/instanceView.spec.ts.snap b/tests/unit/specs/views/admin/__snapshots__/instanceView.spec.ts.snap
similarity index 100%
rename from tests/unit/specs/components/admin/__snapshots__/instanceView.spec.ts.snap
rename to tests/unit/specs/views/admin/__snapshots__/instanceView.spec.ts.snap
diff --git a/tests/unit/specs/components/admin/__snapshots__/instancesView.spec.ts.snap b/tests/unit/specs/views/admin/__snapshots__/instancesView.spec.ts.snap
similarity index 88%
rename from tests/unit/specs/components/admin/__snapshots__/instancesView.spec.ts.snap
rename to tests/unit/specs/views/admin/__snapshots__/instancesView.spec.ts.snap
index bea979cef..ef0219346 100644
--- a/tests/unit/specs/components/admin/__snapshots__/instancesView.spec.ts.snap
+++ b/tests/unit/specs/views/admin/__snapshots__/instancesView.spec.ts.snap
@@ -64,7 +64,7 @@ exports[`InstancesView > Show simple 1`] = `