Browse Source

Add some views and modify a test

master
Jared 1 year ago
parent
commit
7c862e585f
9 changed files with 1913 additions and 112 deletions
  1. +1508
    -47
      package-lock.json
  2. +2
    -1
      package.json
  3. +2
    -2
      src/App.vue
  4. +6
    -2
      src/router/index.ts
  5. +4
    -4
      src/views/ForbiddenView.vue
  6. +1
    -12
      src/views/ModifyUserView.vue
  7. +14
    -4
      src/views/NotFoundView.vue
  8. +23
    -8
      tests/unit/example.spec.ts
  9. +353
    -32
      yarn.lock

+ 1508
- 47
package-lock.json
File diff suppressed because it is too large
View File


+ 2
- 1
package.json View File

@@ -47,6 +47,7 @@
"eslint-plugin-vuejs-accessibility": "^1.1.0",
"stylus": "^0.55.0",
"stylus-loader": "^6.1.0",
"typescript": "~4.5.5"
"typescript": "~4.5.5",
"vitest": "^0.28.4"
}
}

+ 2
- 2
src/App.vue View File

@@ -22,9 +22,9 @@
<RouterLink to="/admin/dashboard" class="button is-primary">
Admin
</RouterLink>
<button class="button is-white" @click="logout">
<a class="button is-white" tabindex="0" @click="logout" @keydown.enter="logout">
Log out
</button>
</a>
</div>
</div>
</div>


+ 6
- 2
src/router/index.ts View File

@@ -16,6 +16,8 @@ import ModifyUserView from '@/views/ModifyUserView.vue';
import ChangePasswordView from '@/views/ChangePasswordView.vue';
import store from '@/store';
import ForbiddenView from '@/views/ForbiddenView.vue';
import hasPermission from '@/lib/auth';
import NotFoundView from '@/views/NotFoundView.vue';

const routes: Array<RouteRecordRaw> = [
{
@@ -125,7 +127,7 @@ const routes: Array<RouteRecordRaw> = [
{
path: '/:pathMatch(.*)*',
name: 'wildcard',
redirect: '/',
component: NotFoundView,
},
];

@@ -138,7 +140,9 @@ router.beforeEach(async (to, from, next) => {
document.title = `Beignet - ${to.meta.title}`;

if (!store.getters.passwordChangeRequired) {
return next();
const requirements = to.meta.requiredRights as Privileges | undefined;
if (!requirements || (requirements && hasPermission(requirements))) return next();
if (requirements && !hasPermission(requirements)) return next('/forbidden');
}
if (to.name !== 'changepassword') {
return next('changepassword');


+ 4
- 4
src/views/ForbiddenView.vue View File

@@ -1,8 +1,8 @@
<template>
<section class="section is-medium">
<span class="is-size-3">403</span>
<p>Forbidden</p>
</section>
<section class="section is-large">
<span class="is-size-2 has-text-weight-semibold">403</span>
<p class="is-size-4">Forbidden</p>
</section>
</template>

<script setup lang="ts">


+ 1
- 12
src/views/ModifyUserView.vue View File

@@ -6,24 +6,12 @@
<th class="p-2">
Username
</th>
<th class="p-2">
Password
</th>
<th class="p-2">
Privileges
</th>
</tr>
<tr v-for="user in users" :key="user.username">
<td class="p-2">{{ user.username }}</td>
<td class="p-2">
<template v-if="userData.username === user.username || userData.privileges < 2">
<input type="password"
class="input is-small" :aria-label="`${user.username}'s Password`">
</template>
<template v-else>
********
</template>
</td>
<td class="p-2">
<div class="select is-small">
<select name="" id=""
@@ -76,6 +64,7 @@ const getSelectedPrivilege = (evt: Event) => {
};

const userData = ref<Claims>({
id: -1,
username: '',
privileges: -1,
exp: -1,


+ 14
- 4
src/views/NotFoundView.vue View File

@@ -1,11 +1,21 @@
<template>

<section class="section is-large">
<span class="is-size-2 has-text-weight-semibold">404</span>
<p class="is-size-4">Path
<span class="is-family-monospace is-size-5">/{{ path }}</span>
not found
</p>
</section>
</template>

<script setup lang="ts">
export default {
name: "NotFoundView"
}
import { useRoute } from 'vue-router';

const route = useRoute();

const { pathMatch } = route.params as { pathMatch: string[] };

const path = pathMatch.join('/');
</script>

<style scoped>


+ 23
- 8
tests/unit/example.spec.ts View File

@@ -1,16 +1,31 @@
import { expect } from 'chai';
import { shallowMount } from '@vue/test-utils';
import HelloWorld from '@/components/HelloWorld.vue';
import {
createRouter,
createWebHistory,
} from 'vue-router';
import signetRouter from '@/router';
import FundLink from '@/components/FundLink.vue';
import { expect } from 'chai';

const router = createRouter({
history: createWebHistory(),
routes: signetRouter.getRoutes(),
});

// TODO: Not sure why this isn't working
// vi.mock('@/api/composed', () => ({
// getRewardFunds: vi.fn(() => []),
// }));
describe('router', () => {
it('requires permissions before routing', async () => {
await router.push('/admin/modifyuser');
const admin = router.options.routes.find((r) => r.path === '/admin');
const permissionsOnAllAdmin = admin && admin.children && admin.children.length > 0
&& admin.children.every((r) => r.meta && r.meta.requiredRights);
expect(permissionsOnAllAdmin);
});
});

describe('HelloWorld.vue', () => {
describe('FundLink.vue', () => {
it('renders props.msg when passed', () => {
const msg = 'new message';
const wrapper = shallowMount(HelloWorld, {
const wrapper = shallowMount(FundLink, {
props: { msg },
});
expect(wrapper.text())


+ 353
- 32
yarn.lock View File

@@ -961,6 +961,11 @@
"@babel/helper-validator-identifier" "^7.19.1"
"to-fast-properties" "^2.0.0"

"@esbuild/linux-x64@0.16.17":
"integrity" "sha512-mdPjPxfnmoqhgpiEArqi4egmBAMYvaObgn4poorpUaqmvzzbvqbowRllQ+ZgzGVMGKaPkqUmPDOOFQRUFDmeUw=="
"resolved" "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.16.17.tgz"
"version" "0.16.17"

"@eslint/eslintrc@^0.4.3":
"integrity" "sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw=="
"resolved" "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.3.tgz"
@@ -1150,10 +1155,17 @@
dependencies:
"@types/node" "*"

"@types/chai@^4.2.15":
"integrity" "sha512-hC7OMnszpxhZPduX+m+nrx+uFoLkWOMiR4oa/AZF3MuSETYTZmFfJAHqZEM8MVlvfG7BEUcgvtwoCTxBp6hm3g=="
"resolved" "https://registry.npmjs.org/@types/chai/-/chai-4.3.3.tgz"
"version" "4.3.3"
"@types/chai-subset@^1.3.3":
"integrity" "sha512-frBecisrNGz+F4T6bcc+NLeolfiojh5FxW2klu669+8BARtyQv2C/GkNW6FUodVe4BroGMP/wER/YDGc7rEllw=="
"resolved" "https://registry.npmjs.org/@types/chai-subset/-/chai-subset-1.3.3.tgz"
"version" "1.3.3"
dependencies:
"@types/chai" "*"

"@types/chai@*", "@types/chai@^4.2.15", "@types/chai@^4.3.4":
"integrity" "sha512-KnRanxnpfpjUTqTCXslZSEdLfXExwgNxYPdiO2WGUj8+HDjFi8R3k5RVKPeSCzLjCcshCAtVO2QBbVuAV4kTnw=="
"resolved" "https://registry.npmjs.org/@types/chai/-/chai-4.3.4.tgz"
"version" "4.3.4"

"@types/connect-history-api-fallback@^1.3.5":
"integrity" "sha512-h8QJa8xSb1WD4fpKBDcATDNGXghFj6/3GRWG6dhmRcu0RX1Ubasur2Uvx5aeEwlf0MwblEC2bMzzMQntxnw/Cw=="
@@ -1270,7 +1282,7 @@
"resolved" "https://registry.npmjs.org/@types/mocha/-/mocha-8.2.3.tgz"
"version" "8.2.3"

"@types/node@*", "@types/node@^18.11.19":
"@types/node@*", "@types/node@^18.11.19", "@types/node@>= 14":
"integrity" "sha512-YUgMWAQBWLObABqrvx8qKO1enAvBUdjZOAWQ5grBAkp5LQv45jBvYKZ3oFS9iKRCQyFjqw6iuEa1vmFqtxYLZw=="
"resolved" "https://registry.npmjs.org/@types/node/-/node-18.11.19.tgz"
"version" "18.11.19"
@@ -1432,6 +1444,42 @@
"resolved" "https://registry.npmjs.org/@ungap/promise-all-settled/-/promise-all-settled-1.1.2.tgz"
"version" "1.1.2"

"@vitest/expect@0.28.4":
"integrity" "sha512-JqK0NZ4brjvOSL8hXAnIsfi+jxDF7rH/ZWCGCt0FAqRnVFc1hXsfwXksQvEnKqD84avRt3gmeXoK4tNbmkoVsQ=="
"resolved" "https://registry.npmjs.org/@vitest/expect/-/expect-0.28.4.tgz"
"version" "0.28.4"
dependencies:
"@vitest/spy" "0.28.4"
"@vitest/utils" "0.28.4"
"chai" "^4.3.7"

"@vitest/runner@0.28.4":
"integrity" "sha512-Q8UV6GjDvBSTfUoq0QXVCNpNOUrWu4P2qvRq7ssJWzn0+S0ojbVOxEjMt+8a32X6SdkhF8ak+2nkppsqV0JyNQ=="
"resolved" "https://registry.npmjs.org/@vitest/runner/-/runner-0.28.4.tgz"
"version" "0.28.4"
dependencies:
"@vitest/utils" "0.28.4"
"p-limit" "^4.0.0"
"pathe" "^1.1.0"

"@vitest/spy@0.28.4":
"integrity" "sha512-8WuhfXLlvCXpNXEGJW6Gc+IKWI32435fQJLh43u70HnZ1otJOa2Cmg2Wy2Aym47ZnNCP4NolF+8cUPwd0MigKQ=="
"resolved" "https://registry.npmjs.org/@vitest/spy/-/spy-0.28.4.tgz"
"version" "0.28.4"
dependencies:
"tinyspy" "^1.0.2"

"@vitest/utils@0.28.4":
"integrity" "sha512-l2QztOLdc2LkR+w/lP52RGh8hW+Ul4KESmCAgVE8q737I7e7bQoAfkARKpkPJ4JQtGpwW4deqlj1732VZD7TFw=="
"resolved" "https://registry.npmjs.org/@vitest/utils/-/utils-0.28.4.tgz"
"version" "0.28.4"
dependencies:
"cli-truncate" "^3.1.0"
"diff" "^5.1.0"
"loupe" "^2.3.6"
"picocolors" "^1.0.0"
"pretty-format" "^27.5.1"

"@vue/babel-helper-vue-jsx-merge-props@^1.4.0":
"integrity" "sha512-JkqXfCkUDp4PIlFdDQ0TdXoIejMtTHP67/pvxlgeY+u5k3LEdKuWZ3LK6xkxo52uDoABIVyRwqVkfLQJhk7VBA=="
"resolved" "https://registry.npmjs.org/@vue/babel-helper-vue-jsx-merge-props/-/babel-helper-vue-jsx-merge-props-1.4.0.tgz"
@@ -2037,15 +2085,15 @@
"resolved" "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz"
"version" "7.2.0"

"acorn-walk@^8.0.0", "acorn-walk@^8.0.2":
"acorn-walk@^8.0.0", "acorn-walk@^8.0.2", "acorn-walk@^8.2.0":
"integrity" "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA=="
"resolved" "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz"
"version" "8.2.0"

"acorn@^6.0.0 || ^7.0.0 || ^8.0.0", "acorn@^8", "acorn@^8.0.4", "acorn@^8.0.5", "acorn@^8.5.0", "acorn@^8.7.1", "acorn@^8.8.0":
"integrity" "sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA=="
"resolved" "https://registry.npmjs.org/acorn/-/acorn-8.8.1.tgz"
"version" "8.8.1"
"acorn@^6.0.0 || ^7.0.0 || ^8.0.0", "acorn@^8", "acorn@^8.0.4", "acorn@^8.0.5", "acorn@^8.5.0", "acorn@^8.7.1", "acorn@^8.8.0", "acorn@^8.8.1", "acorn@^8.8.2":
"integrity" "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw=="
"resolved" "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz"
"version" "8.8.2"

"acorn@^7.1.1":
"integrity" "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A=="
@@ -2153,6 +2201,11 @@
"resolved" "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz"
"version" "5.0.1"

"ansi-regex@^6.0.1":
"integrity" "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA=="
"resolved" "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz"
"version" "6.0.1"

"ansi-styles@^3.2.0", "ansi-styles@^3.2.1":
"integrity" "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA=="
"resolved" "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz"
@@ -2167,6 +2220,16 @@
dependencies:
"color-convert" "^2.0.1"

"ansi-styles@^5.0.0":
"integrity" "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA=="
"resolved" "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz"
"version" "5.2.0"

"ansi-styles@^6.0.0":
"integrity" "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug=="
"resolved" "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz"
"version" "6.2.1"

"any-promise@^1.0.0":
"integrity" "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A=="
"resolved" "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz"
@@ -2470,6 +2533,11 @@
"resolved" "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz"
"version" "3.1.2"

"cac@^6.7.14":
"integrity" "sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ=="
"resolved" "https://registry.npmjs.org/cac/-/cac-6.7.14.tgz"
"version" "6.7.14"

"call-bind@^1.0.0", "call-bind@^1.0.2":
"integrity" "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA=="
"resolved" "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz"
@@ -2521,14 +2589,14 @@
"resolved" "https://registry.npmjs.org/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.4.0.tgz"
"version" "2.4.0"

"chai@^4.2.0":
"integrity" "sha512-bbcp3YfHCUzMOvKqsztczerVgBKSsEijCySNlHHbX3VG1nskvqjz5Rfso1gGwD6w6oOV3eI60pKuMOV5MV7p3Q=="
"resolved" "https://registry.npmjs.org/chai/-/chai-4.3.6.tgz"
"version" "4.3.6"
"chai@^4.2.0", "chai@^4.3.7":
"integrity" "sha512-HLnAzZ2iupm25PlN0xFreAlBA5zaBSv3og0DdeGA4Ar6h6rJ3A0rolRUKJhSF2V10GZKDgWF/VmAEsNWjCRB+A=="
"resolved" "https://registry.npmjs.org/chai/-/chai-4.3.7.tgz"
"version" "4.3.7"
dependencies:
"assertion-error" "^1.1.0"
"check-error" "^1.0.2"
"deep-eql" "^3.0.1"
"deep-eql" "^4.1.2"
"get-func-name" "^2.0.0"
"loupe" "^2.3.1"
"pathval" "^1.1.1"
@@ -2660,6 +2728,14 @@
"resolved" "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.7.0.tgz"
"version" "2.7.0"

"cli-truncate@^3.1.0":
"integrity" "sha512-wfOBkjXteqSnI59oPcJkcPl/ZmwvMMOj340qUIY1SKZCv0B9Cf4D4fAucRkIKQmsIuYK3x1rrgU7MeGRruiuiA=="
"resolved" "https://registry.npmjs.org/cli-truncate/-/cli-truncate-3.1.0.tgz"
"version" "3.1.0"
dependencies:
"slice-ansi" "^5.0.0"
"string-width" "^5.0.0"

"clipboardy@^2.3.0":
"integrity" "sha512-mKhiIL2DrQIsuXMgBgnfEHOZOryC7kY7YO//TN6c63wlEm3NG5tz+YgY5rVi29KCmq/QQjKYvM7a19+MDOTHOQ=="
"resolved" "https://registry.npmjs.org/clipboardy/-/clipboardy-2.3.0.tgz"
@@ -3134,10 +3210,10 @@
"resolved" "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz"
"version" "0.2.0"

"deep-eql@^3.0.1":
"integrity" "sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw=="
"resolved" "https://registry.npmjs.org/deep-eql/-/deep-eql-3.0.1.tgz"
"version" "3.0.1"
"deep-eql@^4.1.2":
"integrity" "sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw=="
"resolved" "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.3.tgz"
"version" "4.1.3"
dependencies:
"type-detect" "^4.0.0"

@@ -3229,6 +3305,11 @@
"resolved" "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz"
"version" "2.1.0"

"diff@^5.1.0":
"integrity" "sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw=="
"resolved" "https://registry.npmjs.org/diff/-/diff-5.1.0.tgz"
"version" "5.1.0"

"diff@5.0.0":
"integrity" "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w=="
"resolved" "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz"
@@ -3334,6 +3415,11 @@
"resolved" "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz"
"version" "0.1.2"

"eastasianwidth@^0.2.0":
"integrity" "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA=="
"resolved" "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz"
"version" "0.2.0"

"easy-stack@1.0.1":
"integrity" "sha512-wK2sCs4feiiJeFXn3zvY0p41mdU5VUgbgs1rNsc/y5ngFUijdWd+iIN8eoyuZHKB8xN6BL4PdWmzqFmxNg6V2w=="
"resolved" "https://registry.npmjs.org/easy-stack/-/easy-stack-1.0.1.tgz"
@@ -3364,6 +3450,11 @@
"resolved" "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz"
"version" "8.0.0"

"emoji-regex@^9.2.2":
"integrity" "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg=="
"resolved" "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz"
"version" "9.2.2"

"emojis-list@^3.0.0":
"integrity" "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q=="
"resolved" "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz"
@@ -3496,6 +3587,34 @@
"is-date-object" "^1.0.1"
"is-symbol" "^1.0.2"

"esbuild@^0.16.14":
"integrity" "sha512-G8LEkV0XzDMNwXKgM0Jwu3nY3lSTwSGY6XbxM9cr9+s0T/qSV1q1JVPBGzm3dcjhCic9+emZDmMffkwgPeOeLg=="
"resolved" "https://registry.npmjs.org/esbuild/-/esbuild-0.16.17.tgz"
"version" "0.16.17"
optionalDependencies:
"@esbuild/android-arm" "0.16.17"
"@esbuild/android-arm64" "0.16.17"
"@esbuild/android-x64" "0.16.17"
"@esbuild/darwin-arm64" "0.16.17"
"@esbuild/darwin-x64" "0.16.17"
"@esbuild/freebsd-arm64" "0.16.17"
"@esbuild/freebsd-x64" "0.16.17"
"@esbuild/linux-arm" "0.16.17"
"@esbuild/linux-arm64" "0.16.17"
"@esbuild/linux-ia32" "0.16.17"
"@esbuild/linux-loong64" "0.16.17"
"@esbuild/linux-mips64el" "0.16.17"
"@esbuild/linux-ppc64" "0.16.17"
"@esbuild/linux-riscv64" "0.16.17"
"@esbuild/linux-s390x" "0.16.17"
"@esbuild/linux-x64" "0.16.17"
"@esbuild/netbsd-x64" "0.16.17"
"@esbuild/openbsd-x64" "0.16.17"
"@esbuild/sunos-x64" "0.16.17"
"@esbuild/win32-arm64" "0.16.17"
"@esbuild/win32-ia32" "0.16.17"
"@esbuild/win32-x64" "0.16.17"

"escalade@^3.1.1":
"integrity" "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw=="
"resolved" "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz"
@@ -4671,6 +4790,11 @@
"resolved" "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz"
"version" "3.0.0"

"is-fullwidth-code-point@^4.0.0":
"integrity" "sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ=="
"resolved" "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-4.0.0.tgz"
"version" "4.0.0"

"is-glob@^4.0.0", "is-glob@^4.0.1", "is-glob@^4.0.3", "is-glob@~4.0.1":
"integrity" "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg=="
"resolved" "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz"
@@ -4903,7 +5027,7 @@
"resolved" "https://registry.npmjs.org/jsdom-global/-/jsdom-global-3.0.2.tgz"
"version" "3.0.2"

"jsdom@^18.0.1", "jsdom@>=10.0.0":
"jsdom@*", "jsdom@^18.0.1", "jsdom@>=10.0.0":
"integrity" "sha512-NmJQbjQ/gpS/1at/ce3nCx89HbXL/f5OcenBe8wU1Eik0ROhyUc3LtmG3567dEHAGXkN8rmILW/qtCOPxPHQJw=="
"resolved" "https://registry.npmjs.org/jsdom/-/jsdom-18.1.1.tgz"
"version" "18.1.1"
@@ -4988,6 +5112,11 @@
"resolved" "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz"
"version" "2.2.1"

"jsonc-parser@^3.2.0":
"integrity" "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w=="
"resolved" "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz"
"version" "3.2.0"

"jsonfile@^6.0.1":
"integrity" "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ=="
"resolved" "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz"
@@ -5076,6 +5205,11 @@
"emojis-list" "^3.0.0"
"json5" "^2.1.2"

"local-pkg@^0.4.2":
"integrity" "sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g=="
"resolved" "https://registry.npmjs.org/local-pkg/-/local-pkg-0.4.3.tgz"
"version" "0.4.3"

"locate-path@^3.0.0":
"integrity" "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A=="
"resolved" "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz"
@@ -5167,10 +5301,10 @@
"cli-cursor" "^2.0.0"
"wrap-ansi" "^3.0.1"

"loupe@^2.3.1":
"integrity" "sha512-KNGVjhsXDxvY/cYE8GNi7SBaJSfJIT+/+/8GlprqBXpoU6cSR7/RT7OBJOsoYtyxq0L3q6oIcO8tX7dbEEXr3A=="
"resolved" "https://registry.npmjs.org/loupe/-/loupe-2.3.5.tgz"
"version" "2.3.5"
"loupe@^2.3.1", "loupe@^2.3.6":
"integrity" "sha512-RaPMZKiMy8/JruncMU5Bt6na1eftNoo++R4Y+N2FrxkDVTrGvcyzFTsaGif4QTeKESheMGegbhw6iUAq+5A8zA=="
"resolved" "https://registry.npmjs.org/loupe/-/loupe-2.3.6.tgz"
"version" "2.3.6"
dependencies:
"get-func-name" "^2.0.0"

@@ -5357,6 +5491,16 @@
"resolved" "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz"
"version" "1.0.4"

"mlly@^1.0.0", "mlly@^1.1.0":
"integrity" "sha512-cwzBrBfwGC1gYJyfcy8TcZU1f+dbH/T+TuOhtYP2wLv/Fb51/uV7HJQfBPtEupZ2ORLRU1EKFS/QfS3eo9+kBQ=="
"resolved" "https://registry.npmjs.org/mlly/-/mlly-1.1.0.tgz"
"version" "1.1.0"
dependencies:
"acorn" "^8.8.1"
"pathe" "^1.0.0"
"pkg-types" "^1.0.1"
"ufo" "^1.0.1"

"mocha@^8.3.0", "mocha@>=6":
"integrity" "sha512-hJaO0mwDXmZS4ghXsvPVriOhsxQ7ofcpQdm8dE+jISUOKopitvnXFQmpRR7jd2K6VBG6E26gU3IAbXXGIbu4sQ=="
"resolved" "https://registry.npmjs.org/mocha/-/mocha-8.4.0.tgz"
@@ -5735,6 +5879,13 @@
dependencies:
"yocto-queue" "^0.1.0"

"p-limit@^4.0.0":
"integrity" "sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ=="
"resolved" "https://registry.npmjs.org/p-limit/-/p-limit-4.0.0.tgz"
"version" "4.0.0"
dependencies:
"yocto-queue" "^1.0.0"

"p-locate@^3.0.0":
"integrity" "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ=="
"resolved" "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz"
@@ -5869,6 +6020,11 @@
"resolved" "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz"
"version" "4.0.0"

"pathe@^1.0.0", "pathe@^1.1.0":
"integrity" "sha512-ODbEPR0KKHqECXW1GoxdDb+AZvULmXjVPy4rt+pGo2+TnjJTIPJQSVS6N63n8T2Ip+syHhbn52OewKicV0373w=="
"resolved" "https://registry.npmjs.org/pathe/-/pathe-1.1.0.tgz"
"version" "1.1.0"

"pathval@^1.1.1":
"integrity" "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ=="
"resolved" "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz"
@@ -5896,6 +6052,15 @@
dependencies:
"find-up" "^4.0.0"

"pkg-types@^1.0.1":
"integrity" "sha512-jHv9HB+Ho7dj6ItwppRDDl0iZRYBD0jsakHXtFgoLr+cHSF6xC+QL54sJmWxyGxOLYSHm0afhXhXcQDQqH9z8g=="
"resolved" "https://registry.npmjs.org/pkg-types/-/pkg-types-1.0.1.tgz"
"version" "1.0.1"
dependencies:
"jsonc-parser" "^3.2.0"
"mlly" "^1.0.0"
"pathe" "^1.0.0"

"portfinder@^1.0.26":
"integrity" "sha512-on2ZJVVDXRADWE6jnQaX0ioEylzgBpQk8r55NE4wjXW1ZxO+BgDlY6DXwj20i0V8eB4SenDQ00WEaxfiIQPcxg=="
"resolved" "https://registry.npmjs.org/portfinder/-/portfinder-1.0.32.tgz"
@@ -6152,10 +6317,10 @@
"resolved" "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz"
"version" "4.2.0"

"postcss@^7.0.0 || ^8.0.1", "postcss@^8.0.9", "postcss@^8.1.0", "postcss@^8.1.10", "postcss@^8.2.15", "postcss@^8.2.2", "postcss@^8.2.6", "postcss@^8.3.5", "postcss@^8.4.7":
"integrity" "sha512-Wi8mWhncLJm11GATDaQKobXSNEYGUHeQLiQqDFG1qQ5UTDPTEvKw0Xt5NsTpktGTwLps3ByrWsBrG0rB8YQ9oA=="
"resolved" "https://registry.npmjs.org/postcss/-/postcss-8.4.18.tgz"
"version" "8.4.18"
"postcss@^7.0.0 || ^8.0.1", "postcss@^8.0.9", "postcss@^8.1.0", "postcss@^8.1.10", "postcss@^8.2.15", "postcss@^8.2.2", "postcss@^8.2.6", "postcss@^8.3.5", "postcss@^8.4.21", "postcss@^8.4.7":
"integrity" "sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg=="
"resolved" "https://registry.npmjs.org/postcss/-/postcss-8.4.21.tgz"
"version" "8.4.21"
dependencies:
"nanoid" "^3.3.4"
"picocolors" "^1.0.0"
@@ -6192,6 +6357,15 @@
"lodash" "^4.17.20"
"renderkid" "^3.0.0"

"pretty-format@^27.5.1":
"integrity" "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ=="
"resolved" "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz"
"version" "27.5.1"
dependencies:
"ansi-regex" "^5.0.1"
"ansi-styles" "^5.0.0"
"react-is" "^17.0.1"

"process-nextick-args@~2.0.0":
"integrity" "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag=="
"resolved" "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz"
@@ -6286,6 +6460,11 @@
"iconv-lite" "0.4.24"
"unpipe" "1.0.0"

"react-is@^17.0.1":
"integrity" "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w=="
"resolved" "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz"
"version" "17.0.2"

"read-pkg-up@^7.0.1":
"integrity" "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg=="
"resolved" "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz"
@@ -6453,7 +6632,7 @@
"resolved" "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz"
"version" "4.0.0"

"resolve@^1.10.0", "resolve@^1.14.2", "resolve@^1.20.0", "resolve@^1.22.0":
"resolve@^1.10.0", "resolve@^1.14.2", "resolve@^1.20.0", "resolve@^1.22.0", "resolve@^1.22.1":
"integrity" "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw=="
"resolved" "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz"
"version" "1.22.1"
@@ -6495,6 +6674,13 @@
dependencies:
"glob" "^7.1.3"

"rollup@^3.10.0":
"integrity" "sha512-o23sdgCLcLSe3zIplT9nQ1+r97okuaiR+vmAPZPTDYB7/f3tgWIYNyiQveMsZwshBT0is4eGax/HH83Q7CG+/Q=="
"resolved" "https://registry.npmjs.org/rollup/-/rollup-3.14.0.tgz"
"version" "3.14.0"
optionalDependencies:
"fsevents" "~2.3.2"

"run-parallel@^1.1.9":
"integrity" "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA=="
"resolved" "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz"
@@ -6773,6 +6959,11 @@
"get-intrinsic" "^1.0.2"
"object-inspect" "^1.9.0"

"siginfo@^2.0.0":
"integrity" "sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g=="
"resolved" "https://registry.npmjs.org/siginfo/-/siginfo-2.0.0.tgz"
"version" "2.0.0"

"signal-exit@^3.0.0", "signal-exit@^3.0.2", "signal-exit@^3.0.3":
"integrity" "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ=="
"resolved" "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz"
@@ -6801,6 +6992,14 @@
"astral-regex" "^2.0.0"
"is-fullwidth-code-point" "^3.0.0"

"slice-ansi@^5.0.0":
"integrity" "sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ=="
"resolved" "https://registry.npmjs.org/slice-ansi/-/slice-ansi-5.0.0.tgz"
"version" "5.0.0"
dependencies:
"ansi-styles" "^6.0.0"
"is-fullwidth-code-point" "^4.0.0"

"sockjs@^0.3.24":
"integrity" "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ=="
"resolved" "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz"
@@ -6833,7 +7032,7 @@
"atob" "^2.1.2"
"decode-uri-component" "^0.2.0"

"source-map-support@^0.5.13", "source-map-support@~0.5.20":
"source-map-support@^0.5.13", "source-map-support@^0.5.21", "source-map-support@~0.5.20":
"integrity" "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w=="
"resolved" "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz"
"version" "0.5.21"
@@ -6922,6 +7121,11 @@
"resolved" "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz"
"version" "0.1.8"

"stackback@0.0.2":
"integrity" "sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw=="
"resolved" "https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz"
"version" "0.0.2"

"stackframe@^1.3.4":
"integrity" "sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw=="
"resolved" "https://registry.npmjs.org/stackframe/-/stackframe-1.3.4.tgz"
@@ -6937,6 +7141,11 @@
"resolved" "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz"
"version" "2.0.1"

"std-env@^3.3.1":
"integrity" "sha512-uUZI65yrV2Qva5gqE0+A7uVAvO40iPo6jGhs7s8keRfHCmtg+uB2X6EiLGCI9IgL1J17xGhvoOqSz79lzICPTA=="
"resolved" "https://registry.npmjs.org/std-env/-/std-env-3.3.2.tgz"
"version" "3.3.2"

"string_decoder@^1.1.1":
"integrity" "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA=="
"resolved" "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz"
@@ -6985,6 +7194,15 @@
"is-fullwidth-code-point" "^3.0.0"
"strip-ansi" "^6.0.1"

"string-width@^5.0.0":
"integrity" "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA=="
"resolved" "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz"
"version" "5.1.2"
dependencies:
"eastasianwidth" "^0.2.0"
"emoji-regex" "^9.2.2"
"strip-ansi" "^7.0.1"

"string.prototype.trimend@^1.0.5":
"integrity" "sha512-I7RGvmjV4pJ7O3kdf+LXFpVfdNOxtCW/2C8f6jNiW4+PQchwxkCDzlk1/7p+Wl4bqFIZeF47qAHXLuHHWKAxog=="
"resolved" "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.5.tgz"
@@ -7024,6 +7242,13 @@
dependencies:
"ansi-regex" "^5.0.1"

"strip-ansi@^7.0.1":
"integrity" "sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw=="
"resolved" "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz"
"version" "7.0.1"
dependencies:
"ansi-regex" "^6.0.1"

"strip-bom@^3.0.0":
"integrity" "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA=="
"resolved" "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz"
@@ -7049,6 +7274,13 @@
"resolved" "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz"
"version" "3.1.1"

"strip-literal@^1.0.0":
"integrity" "sha512-QZTsipNpa2Ppr6v1AmJHESqJ3Uz247MUS0OjrnnZjFAvEoWqxuyFuXn2xLgMtRnijJShAa1HL0gtJyUs7u7n3Q=="
"resolved" "https://registry.npmjs.org/strip-literal/-/strip-literal-1.0.1.tgz"
"version" "1.0.1"
dependencies:
"acorn" "^8.8.2"

"stylehacks@^5.1.1":
"integrity" "sha512-sBpcd5Hx7G6seo7b1LkpttvTz7ikD0LlH5RmdcBNb6fFR0Fl7LQwHDFr300q4cwUqi+IYrFGmsIHieMBfnN/Bw=="
"resolved" "https://registry.npmjs.org/stylehacks/-/stylehacks-5.1.1.tgz"
@@ -7066,7 +7298,7 @@
"klona" "^2.0.4"
"normalize-path" "^3.0.0"

"stylus@^0.55.0", "stylus@>=0.52.4":
"stylus@*", "stylus@^0.55.0", "stylus@>=0.52.4":
"integrity" "sha512-MuzIIVRSbc8XxHH7FjkvWqkIcr1BvoMZoR/oFuAJDlh7VSaNJzrB4uJ38GRQa+mWjLXODAMzeDe0xi9GYbGwnw=="
"resolved" "https://registry.npmjs.org/stylus/-/stylus-0.55.0.tgz"
"version" "0.55.0"
@@ -7166,7 +7398,7 @@
"serialize-javascript" "^6.0.0"
"terser" "^5.14.1"

"terser@^5.10.0", "terser@^5.14.1":
"terser@^5.10.0", "terser@^5.14.1", "terser@^5.4.0":
"integrity" "sha512-K1faMUvpm/FBxjBXud0LWVAGxmvoPbZbfTCYbSgaaYQaIXI3/TdI7a7ZGA73Zrou6Q8Zmz3oeUTsp/dj+ag2Xw=="
"resolved" "https://registry.npmjs.org/terser/-/terser-5.15.1.tgz"
"version" "5.15.1"
@@ -7211,6 +7443,21 @@
"resolved" "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz"
"version" "1.1.0"

"tinybench@^2.3.1":
"integrity" "sha512-hGYWYBMPr7p4g5IarQE7XhlyWveh1EKhy4wUBS1LrHXCKYgvz+4/jCqgmJqZxxldesn05vccrtME2RLLZNW7iA=="
"resolved" "https://registry.npmjs.org/tinybench/-/tinybench-2.3.1.tgz"
"version" "2.3.1"

"tinypool@^0.3.1":
"integrity" "sha512-zLA1ZXlstbU2rlpA4CIeVaqvWq41MTWqLY3FfsAXgC8+f7Pk7zroaJQxDgxn1xNudKW6Kmj4808rPFShUlIRmQ=="
"resolved" "https://registry.npmjs.org/tinypool/-/tinypool-0.3.1.tgz"
"version" "0.3.1"

"tinyspy@^1.0.2":
"integrity" "sha512-bSGlgwLBYf7PnUsQ6WOc6SJ3pGOcd+d8AA6EUnLDDM0kWEstC1JIlSZA3UNliDXhd9ABoS7hiRBDCu+XP/sf1Q=="
"resolved" "https://registry.npmjs.org/tinyspy/-/tinyspy-1.0.2.tgz"
"version" "1.0.2"

"to-fast-properties@^2.0.0":
"integrity" "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog=="
"resolved" "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz"
@@ -7351,6 +7598,11 @@
"resolved" "https://registry.npmjs.org/typescript/-/typescript-4.5.5.tgz"
"version" "4.5.5"

"ufo@^1.0.1":
"integrity" "sha512-boAm74ubXHY7KJQZLlXrtMz52qFvpsbOxDcZOnw/Wf+LS4Mmyu7JxmzD4tDLtUQtmZECypJ0FrCz4QIe6dvKRA=="
"resolved" "https://registry.npmjs.org/ufo/-/ufo-1.0.1.tgz"
"version" "1.0.1"

"unbox-primitive@^1.0.2":
"integrity" "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw=="
"resolved" "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz"
@@ -7460,6 +7712,62 @@
"resolved" "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz"
"version" "1.1.2"

"vite-node@0.28.4":
"integrity" "sha512-KM0Q0uSG/xHHKOJvVHc5xDBabgt0l70y7/lWTR7Q0pR5/MrYxadT+y32cJOE65FfjGmJgxpVEEY+69btJgcXOQ=="
"resolved" "https://registry.npmjs.org/vite-node/-/vite-node-0.28.4.tgz"
"version" "0.28.4"
dependencies:
"cac" "^6.7.14"
"debug" "^4.3.4"
"mlly" "^1.1.0"
"pathe" "^1.1.0"
"picocolors" "^1.0.0"
"source-map" "^0.6.1"
"source-map-support" "^0.5.21"
"vite" "^3.0.0 || ^4.0.0"

"vite@^3.0.0 || ^4.0.0":
"integrity" "sha512-LM9WWea8vsxhr782r9ntg+bhSFS06FJgCvvB0+8hf8UWtvaiDagKYWXndjfX6kGl74keHJUcpzrQliDXZlF5yg=="
"resolved" "https://registry.npmjs.org/vite/-/vite-4.1.1.tgz"
"version" "4.1.1"
dependencies:
"esbuild" "^0.16.14"
"postcss" "^8.4.21"
"resolve" "^1.22.1"
"rollup" "^3.10.0"
optionalDependencies:
"fsevents" "~2.3.2"

"vitest@^0.28.4":
"integrity" "sha512-sfWIy0AdlbyGRhunm+TLQEJrFH9XuRPdApfubsyLcDbCRrUX717BRQKInTgzEfyl2Ipi1HWoHB84Nqtcwxogcg=="
"resolved" "https://registry.npmjs.org/vitest/-/vitest-0.28.4.tgz"
"version" "0.28.4"
dependencies:
"@types/chai" "^4.3.4"
"@types/chai-subset" "^1.3.3"
"@types/node" "*"
"@vitest/expect" "0.28.4"
"@vitest/runner" "0.28.4"
"@vitest/spy" "0.28.4"
"@vitest/utils" "0.28.4"
"acorn" "^8.8.1"
"acorn-walk" "^8.2.0"
"cac" "^6.7.14"
"chai" "^4.3.7"
"debug" "^4.3.4"
"local-pkg" "^0.4.2"
"pathe" "^1.1.0"
"picocolors" "^1.0.0"
"source-map" "^0.6.1"
"std-env" "^3.3.1"
"strip-literal" "^1.0.0"
"tinybench" "^2.3.1"
"tinypool" "^0.3.1"
"tinyspy" "^1.0.2"
"vite" "^3.0.0 || ^4.0.0"
"vite-node" "0.28.4"
"why-is-node-running" "^2.2.2"

"vue-demi@*":
"integrity" "sha512-IR8HoEEGM65YY3ZJYAjMlKygDQn25D5ajNFNoKh9RSDMQtlzCxtfQjdQgv9jjK+m3377SsJXY8ysq8kLCZL25A=="
"resolved" "https://registry.npmjs.org/vue-demi/-/vue-demi-0.13.11.tgz"
@@ -7832,6 +8140,14 @@
dependencies:
"isexe" "^2.0.0"

"why-is-node-running@^2.2.2":
"integrity" "sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA=="
"resolved" "https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.2.2.tgz"
"version" "2.2.2"
dependencies:
"siginfo" "^2.0.0"
"stackback" "0.0.2"

"wide-align@1.1.3":
"integrity" "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA=="
"resolved" "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz"
@@ -7993,6 +8309,11 @@
"resolved" "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz"
"version" "0.1.0"

"yocto-queue@^1.0.0":
"integrity" "sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g=="
"resolved" "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.0.0.tgz"
"version" "1.0.0"

"yorkie@^2.0.0":
"integrity" "sha512-jcKpkthap6x63MB4TxwCyuIGkV0oYP/YRyuQU5UO0Yz/E/ZAu+653/uov+phdmO54n6BcvFRyyt0RRrWdN2mpw=="
"resolved" "https://registry.npmjs.org/yorkie/-/yorkie-2.0.0.tgz"


Loading…
Cancel
Save