├── .eslintignore
├── .eslintrc.cjs
├── .gitignore
├── .npmrc
├── .vscode
└── extensions.json
├── LICENSE
├── README.md
├── lib-vue2
├── LICENSE
├── README.md
├── app
├── index.html
├── package.json
└── vite.config.ts
├── lib-vue3
├── LICENSE
├── README.md
├── app
│ ├── App.vue
│ ├── main.vue2.ts
│ └── main.vue3.ts
├── index.html
├── package.json
├── src
│ ├── __tests__
│ │ └── Input.spec.ts
│ ├── components
│ │ └── MyInput.vue
│ ├── env.d.ts
│ └── main.ts
└── vite.config.ts
├── package.json
├── pnpm-lock.yaml
├── pnpm-workspace.yaml
├── scripts
└── symlink.js
├── tsconfig.json
├── tsconfig
├── README.md
├── tsconfig.node.json
├── tsconfig.vue2.app.json
├── tsconfig.vue2.lib.json
├── tsconfig.vue2.vitest.json
├── tsconfig.vue3.app.json
├── tsconfig.vue3.lib.json
└── tsconfig.vue3.vitest.json
└── vite.config.shared.ts
/.eslintignore:
--------------------------------------------------------------------------------
1 |
2 | lib-vue2/dist
3 | lib-vue2/typings
4 | lib-vue3/dist
5 | lib-vue3/typings
6 | node_modules/
--------------------------------------------------------------------------------
/.eslintrc.cjs:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | root: true,
3 | rules: {
4 | 'vue/multi-word-component-names': 'off',
5 | },
6 | extends: [
7 | 'eslint:recommended',
8 | 'plugin:@typescript-eslint/eslint-recommended',
9 | 'plugin:vue/vue3-essential',
10 | // make sure to always include this plugin *after* plugin:vue to it can override rules
11 | '@vue-bridge/eslint-config',
12 | ],
13 | parserOptions: {
14 | parser: require.resolve('@typescript-eslint/parser'),
15 | extraFileExtensions: ['.vue'],
16 | ecmaFeatures: {
17 | jsx: true,
18 | },
19 | },
20 | env: {
21 | 'vue/setup-compiler-macros': true,
22 | es2022: true,
23 | },
24 | overrides: [
25 | // Treat root js/ts files as node files
26 | {
27 | files: ['*.{cjs,js,jsx,ts,tsx}', 'lib-*/*.{cjs,js,jsx,ts,tsx}'],
28 | env: {
29 | node: true,
30 | },
31 | },
32 | // Test files have both node and browser APIs available
33 | {
34 | files: ['**/*spec.{js,ts}'],
35 | env: {
36 | node: true,
37 | browser: true,
38 | },
39 | },
40 | ],
41 | };
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | .DS_Store
3 | dist
4 | dist-ssr
5 |
6 | lib-vue2/dist
7 | lib-vue3/dist
8 | # This is a symlink added in postinstall so we don't commit it
9 | lib-vue2/src
10 | lib-vue2/typings
11 | lib-vue3/typings
12 |
13 | tsconfig/logs
14 |
15 | *.local
16 |
--------------------------------------------------------------------------------
/.npmrc:
--------------------------------------------------------------------------------
1 | strict-peer-dependencies=false
--------------------------------------------------------------------------------
/.vscode/extensions.json:
--------------------------------------------------------------------------------
1 | {
2 | "recommendations": ["Vue.volar"]
3 | }
4 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2021 PUT YOUR NAME HERE
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Vue-Bridge Template
2 |
3 | > Full Documentation for Vue-Bridge can be found at https://vue-bridge-docs.netlify.app
4 | ## Features of this template
5 |
6 | * Build, Test and Publish a component library for both Vue 2 and Vue 3 from *one* codebase
7 | * Workspaces with [PNPM](https://www.pnpm.io)
8 | * [Typescript](https://www.typescriptlang.org) (Easily [removable](#removing-typescript) for JS-Users)
9 | * Linting with [Eslint](https://) 8
10 | * Unit-Tests with [Vitest](https://vitest.dev)
11 | * Bundling and local dev with [Vite](https://vitejs.dev)
12 | * Interoperability supported by the `@vue-bridge/*` packages:
13 | * `@vue-bridge/eslint-config` : eslint rules that support you in writing interoperable code
14 | * `@vue-bridge/runtime` : tiny runtime enhancements for interoperability between Vue 2 and Vue 3
15 | * `@vue-bridge/vite-plugin` : Vite plugin for build-time optimizations
16 | * `@vue-bridge/testing` : Harmonized API for `@vue/test-utils` versions `1` and `2`
17 |
18 | Roadmap TODOs:
19 |
20 | * _TODO_ ⚙️: E2E Tests with Cypress
21 |
22 | ## Getting Started
23 |
24 | Install the template by running the following command in a folder of your choice:
25 |
26 | ```bash
27 | # create in the current directory:
28 | npx degit vue-bridge/template-monorepo
29 | # create in a new subfolder called "my-library":
30 | npx degit vue-bridge/template-monorepo my-library
31 | ```
32 |
33 | ...or just click the big green button labeled "use this template" in the github repo.
34 |
35 | We recommend starting with the docs at `https://vue-bridge-docs.netlify.app`, but you can also dive right into this repo and come back to the docs whenever you need them.
36 |
37 | At the very least, make sure to go through this short todo list and then read the rest of the README to have a smooth start.
38 |
39 | - [ ] Install dependencies by running `pnpm i`. Not using pnpm yet? Get started at https://pnpm.io
40 | - [ ] Give this monorepo a proper name, description and your author details (`/package.json`)
41 | - [ ] Give your packages a proper name, description and your author details (`/lib-vue*/package.json`)
42 | - [ ] Give your package a real global Name in each `vite.config.ts` (look for the `libraryGlobalName` - it should be the **same** in both configs)
43 | - [ ] Add your name to the LICENSE files in the root folder as well as the package folders (`/lib-vue*`)
44 | - [ ] Run `pnpm build-all` and inspect the build output in `/lib-vue{2,3}/dist`. Take a look at the package exports defined in `package.json` to get a picture of what's being exported by your package.
45 | - [ ] Congrats, you're ready - start coding!
46 |
47 |
48 | ## Recommended Reading
49 |
50 | TODO: Links to Vue-Bridge docs
51 |
52 | ## Project Structure
53 |
54 | This is an overview meant to give you an idea about the general layout and the important files and folders. Some files and folders left out for brevity
55 | ```
56 | lib-vue2/
57 | ├─ app/ # Symlink to /lib-vue3/app
58 | ├─ dist/ # `pnpm build` output of Vue 2 version of library
59 | ├─ typings/ # generated type declarations of this version
60 | ├─ src/ # Symlink to /lib-vue3/src
61 | ├─ index.html # Entry point for demo app (`pnpm dev`)
62 | ├─ package.json # contains Vue 2 dev deps and runtime deps
63 | ├─ vite.config.js # Build & test config for Vue 2 version
64 |
65 | lib-vue3/
66 | ├─ app/ # Demo application consuming /src, for Vue2&3
67 | ├─ dist/ # build output of Vue 3 version of library
68 | ├─ src/ # Source files of your library
69 | ├─ index.html # Entry point for demo app (`pnpm dev`)
70 | ├─ package.json # contains Vue 3 dev deps and runtime deps
71 | ├─ vite.config.js # Build & test config for Vue 2 version
72 |
73 | package.json # contains shared dev dependencies a d scripts
74 | pnpm-workspace.yaml # Config of workspace directories
75 | vite.config.shared.js # shared config for vite used by both packages
76 | ```
77 |
78 | ## Commands
79 |
80 | This template comes preconfigured with npm scripts to develop, test and build your library for Vue 3 and Vue 2 at the same time. Here's an overview:
81 |
82 | ### Root `package.json`
83 |
84 | You can run the following commands from the project root.
85 |
86 | |Command|Description|
87 | |-------|-----------|
88 | | `pnpm dev-vue2` | Start a small app that you can use to demo/test/play with your library. See `/lib-vue2/app` |
89 | | `pnpm dev-vue3` | Start a small app that you can use to demo/test/play with your library. See `/lib-vue3/app` |
90 | | `pnpm build-all`| Build both packages, and generate type declarations |
91 | | `pnpm test-all` | Run unit tests in both packages |
92 | | `pnpm lint` | Run eslint on all files, with auto-fixing |
93 |
94 | ## Commands in Workspaces (`/lib-vue2` & `/lib-vue3`)
95 |
96 | These commands can be used in the two package directories. They are the same for both.
97 |
98 | |Command |Description|
99 | |-------------------|-----------|
100 | | `pnpm dev` | Start a small app that you can use to demo/test/play with your library. |
101 | | `pnpm build` | Build the package and generate type declarations |
102 | | `pnpm build-watch`| Build the package in watch mode, re-bundling on file changes |
103 | | `pnpm tsc-watch` | run `vue-tsc` in watch mode, getting type checks run on file change |
104 | | `pnpm test` | Run unit tests in both packages |
105 | | `pnpm test-watch` | Build both packages, and generate type declarations |
106 |
107 | ## Workflow
108 |
109 | Here's a rough outline of the workflow of developing:
110 |
111 | * Edit source files in `/lib-vue3` to write your library.
112 | * `pnpm dev` provides a dev-server with a demo app in which you can test your library/components with HMR.
113 | * Write Tests in `/lib-vue3/src/__tests__` using `@vite-bridge/testing` as a cross-compatible drop-in replacement for `@vue/test-utils`
114 | * `pnpm test-watch` runs your tests in watch mode for instant feedback while writing your tests, thanks to Vitest.
115 | * If you want to run/test your library in Vue 2, you can run the same commands in `/lib-vue2` anytime.
116 | * To run all tests against both versions, you can use `pnpm test-all` from the root folder.
117 | * Build both packages, you can use `pnpm build-all` from the root folder,
118 | * After those commands have run, you can publish both packages. (We may provide guidance on this as well in the Vue-Bridge docs at a later time. PRs welcome)
119 |
120 | ## Dependencies
121 |
122 | When developing your library, you might need to introduce new dependencies, let's say [`lodah-es`](https://www.npmjs.com/package/lodash-es). You need to install this dependency in **both** packages, as you will build and publish both packages (provided you stick to the default config of this template).
123 |
124 | PNPM allows you to run commands on multiple package with [filters](https://pnpm.io/filtering), which is amazing. Herer are two usefule commands to add or remove dependencies to your two packages (the `--filter` matches the package names, so change it accordingly):
125 |
126 | ```bash
127 | # Add dependency
128 | pnpm add --filter "example-vue-library-*" lodash-es
129 | # Add dev dependency
130 | pnpm add -D --filter "example-vue-library-*" lodash-es
131 | # Remoe dependency
132 | pnpm remove --filter "example-vue-library-*" lodash-es
133 | ```
134 |
135 | ## Typescript
136 |
137 | This template comes with Typescript support pre-configured. Vite & Vitest can read TS out of the box, but don't do type-checking or generate declaration files. For that, we use `vue-tsc`.
138 |
139 | The tsconfig file structure was taken from the official [`create-vue`](https://github.com/vuejs/create-vue) package, so if you already created a Vue 3 project with that tool, it should look familiar.
140 |
141 | ### Removing Typescript
142 |
143 | 1. Install the following dependencies from root:
144 |
145 | ```json
146 | "devDependencies": {
147 | "@types/node": "16",
148 | "@typescript-eslint/eslint-plugin": "^5.23.0",
149 | "@typescript-eslint/parser": "^5.23.0",
150 | "tslib": "^2.4.0",
151 | "typescript": "~4.6.4",
152 | }
153 | ```
154 |
155 | 2. remove Typescript from .eslintrc.cjs
156 |
157 | ```diff
158 | module.exports = {
159 | root: true,
160 | extends: [
161 | "eslint:recommended",
162 | - "plugin:@typescript-eslint/eslint-recommended",
163 | "plugin:vue/vue3-essential",
164 | "@vue-bridge/eslint-config",
165 | ],
166 | parserOptions: {
167 | - parser: require.resolve("@typescript-eslint/parser"),
168 | - extraFileExtensions: [".vue"],
169 | ecmaFeatures: {
170 | jsx: true,
171 | },
172 | },
173 | ```
174 |
175 | 3. remove all tsconfig*.json files, and replace them with a simple jsconfig.json in the project root:
176 |
177 | ```json
178 | {
179 | "include": [
180 | "lib-*/src/**/*.{ts,tsx,js,jsx,vue}",
181 | "lib-*/src/**/*.d.ts",
182 | "lib-*/*.{js,ts}"
183 | ]
184 | }
185 | ```
186 |
187 | You can leave all of these *.ts references in there because Vite, using esbuild internally, can still deal with Typescript files and treat them as JS, basically.
--------------------------------------------------------------------------------
/lib-vue2/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2021 PUT YOUR NAME HERE
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/lib-vue2/README.md:
--------------------------------------------------------------------------------
1 | # Vue 2 Compat Build Package
2 |
3 | This package is the Vue 2 version of your library. It can
4 |
5 | * test
6 | * build
7 | * publish
8 |
9 | the code symlinked from `/lib-vue3/src` as a Vue 2 plugin library.
10 |
11 | ## Things to be aware of.
12 |
13 | * The src folder is just a symlink to `/lib-vue3/src`. So both packages share the same source.
14 | * You need to synchronize the dependencies between both packages. if you add a new dependency to `/lib-vue3`, you likely also want to install it here. pnpm can help doing that in a single command: running i.e. `pnpm add lodash-es --filter="example-*"` in the project root will add the package `lodash-es` as a dependencies to both `/lib-vue2` and `/lib-vue3` packages, as their package names both start with `example-*`.
15 |
16 | ## Alternative Publishing Strategy
17 |
18 | This template is preconfigured to publish the Vue 2 and Vue 3 versions in individual packages. This is generally the recommended approach so you don't have to mix dependencies for Vue 2 and Vue 3 in package.json.
19 |
20 | However, you can alternatively decide to publish just one package, including both the Vue 2 and Vue 3 bundles. Just be aware that you might encounter trouble if you need different versions of a dependency for each version.
21 |
22 | Here's what you would have to change for that:
23 |
24 | ### `/lib-vue2/package.json`
25 |
26 | * give a distinct name
27 | * make it private so it won't be published.
28 | * Optionally remove module exports & entry points
29 |
30 | ```diff
31 | {
32 | "name": "some-name-different-from-lib-vue3",
33 | + "private": "false",
34 | "type": "module",
35 | - "main": "dist/index.cjs.cjs",
36 | - "module": "dist/index.es.js",
37 | - "typings": "index.vue2.d.ts",
38 | - "exports": {
39 | - ".": {
40 | -- "script": "dist/index.iife.js",
41 | - "import": "dist/index.es.js",
42 | - "require": "dist/index.cjs.cjs"
43 | - },
44 | - },
45 | - "files": [
46 | - "dist",
47 | - "src",
48 | - "index.vue2.d.ts",
49 | - "README.md",
50 | - ]
51 | }
52 | ```
53 |
54 | ### `/lib-vue2/vite.config.ts`
55 |
56 | change build output to `../lib-vue3/dist`:
57 |
58 | ```diff
59 | // ...
60 | build: buildConfig({
61 | - outDir: "./dist",
62 | + outDir: "../lib-vue3/dist-vue2",
63 | }),
64 | //...
65 | ```
66 |
67 | ### Setup src folder
68 |
69 | Right now, `/lib-vue2` is a symlink to `/lib-vue3/src`. For types, we need to publish the src folder with out package, not just a symlink. so instead, we need an actual copy of the source folder
70 |
71 | 1. Remove symlink - just delete the `/lib-vue2/src` folder.
72 | 2. install `rimraf` && `cpy-cli`
73 |
74 | ```bash
75 | # in /lib-vue2
76 | pnpm add -D cpy-cli
77 | ```
78 |
79 | 3. Adjust these scripts in package.json - we don't need the copy script anymore:
80 |
81 | ```diff
82 | "script": {
83 | "dev": "vite build --watch",
84 | - "build": "pnpm prepare-src && copy-src",
85 | + "build": "vite build",
86 | - "copy-src: "cpy ../lib-vue3/src/* ./dist/src/"
87 | # ....
88 | }
89 | ```
90 |
91 | ### `index.vue2.d.ts`
92 |
93 | Move `/lib-vue2/index.d.ts` to `/lib-vue3/index.vue2.d.ts` and make it export the src directory there.
94 |
95 | ## module exports in `/lib-vue3`
96 |
97 | ```json
98 | {
99 | "main": "dist/index.cjs.cjs",
100 | "module": "dist/index.es.js",
101 | "jsdelivr": "dist/index.iife.js",
102 | "unpkg": "dist/index.iife.js",
103 | "typings": "./typings/main.d.ts",
104 | "exports": {
105 | ".": {
106 | "types": "./typings/main.d.ts",
107 | "script": "./dist/index.iife.js",
108 | "import": "./dist/index.es.js",
109 | "require": "./dist/index.cjs.cjs",
110 | "default": "./dist/index.es.js"
111 | },
112 | "./vue3": {
113 | "types": "./typings/main.d.ts",
114 | "script": "./dist/index.iife.js",
115 | "import": "./dist/index.es.js",
116 | "require": "./dist/index.cjs.cjs",
117 | "default": "./dist/index.es.js"
118 | },
119 | "./vue2": {
120 | "types": "./index.vue2.d.ts",
121 | "script": "./dist-vue2/index.iife.js",
122 | "import": "./dist-vue2/index.es.js",
123 | "require": "./dist-vue2/index.cjs.cjs",
124 | "default": "./dist-vue2/index.es.js"
125 | },
126 | "./style.css": "./dist/style.css",
127 | "./src/": "./src/",
128 | "./package.json": "./package.json"
129 | }
130 | ```
131 |
132 | ### That's it!
133 |
134 | Now you can run `pnpm release` and pnpm will test, build and publish both version in one package!
--------------------------------------------------------------------------------
/lib-vue2/app:
--------------------------------------------------------------------------------
1 | ../lib-vue3/app/
--------------------------------------------------------------------------------
/lib-vue2/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | Vite App
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/lib-vue2/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "example-vue-library-vue2",
3 | "version": "0.0.0",
4 | "scripts": {
5 | "dev": "vite",
6 | "build": "vite build && pnpm build-types",
7 | "build-watch": "vite build --watch",
8 | "build-types": "vue-tsc --declaration --emitDeclarationOnly -p ../tsconfig/tsconfig.vue2.lib.json",
9 | "tsc-watch": "vue-tsc --watch",
10 | "test": "vitest --reporter=verbose --run",
11 | "test-watch": "vitest --reporter=verbose"
12 | },
13 | "type": "module",
14 | "main": "dist/index.umd.cjs",
15 | "module": "dist/index.es.mjs",
16 | "jsdelivr": "dist/index.umd.js",
17 | "unpkg": "dist/index.umd.js",
18 | "typings": "./typings/main.d.ts",
19 | "exports": {
20 | ".": {
21 | "types": "./typings/main.d.ts",
22 | "script": "./dist/index.umd.js",
23 | "import": "./dist/index.es.mjs",
24 | "require": "./dist/index.cjs.cjs",
25 | "default": "./dist/index.umd.js"
26 | },
27 | "./style.css": "./dist/style.css",
28 | "./package.json": "./package.json",
29 | "./src/": "./src/",
30 | "./typings/": "./typings/"
31 | },
32 | "files": [
33 | "dist",
34 | "src",
35 | "README.md"
36 | ],
37 | "browserslist": [
38 | "IE 11, >3%, last 2 versions"
39 | ],
40 | "dependencies": {
41 | "@swc/helpers": "^0.4.11",
42 | "@vue-bridge/runtime": "^0.1.1",
43 | "core-js": "^3.25.0",
44 | "regenerator-runtime": "^0.13.9"
45 | },
46 | "devDependencies": {
47 | "@vitejs/plugin-vue2": "^1.1.2",
48 | "@vue-bridge/testing": "^0.2.1",
49 | "@vue-bridge/vite-plugin": "^0.2.0",
50 | "@vue/test-utils": "^1.3.0",
51 | "browserslist": "^4.21.3",
52 | "vite": "^3.0.9",
53 | "vue": "^2.7.10",
54 | "vue-template-compiler": "^2.7.10"
55 | },
56 | "peerDependencies": {
57 | "vue": "^2.7"
58 | },
59 | "peerDependenciesMeta": {
60 | "vue": {
61 | "optional": true
62 | }
63 | }
64 | }
--------------------------------------------------------------------------------
/lib-vue2/vite.config.ts:
--------------------------------------------------------------------------------
1 | import { defineConfig } from "vite";
2 | import vue from "@vitejs/plugin-vue2";
3 | import { vueBridge } from "@vue-bridge/vite-plugin";
4 | import { buildConfig } from "../vite.config.shared";
5 |
6 | // This is the name of the global you library is accessible in the iife build
7 | // (window.ExampleLibrary)
8 | const libraryGlobalName = "ExampleLibrary";
9 |
10 | // https://vitejs.dev/config/
11 | export default defineConfig({
12 | plugins: [
13 | vue(),
14 | vueBridge({
15 | vueVersion: "2",
16 | localizeDeps: true,
17 | useSwc: true,
18 | swcOptions: {
19 | env: {
20 | mode: 'usage',
21 | },
22 | jsc: {
23 | parser: {
24 | syntax: 'typescript',
25 | tsx: false,
26 | },
27 | loose: true,
28 | },
29 | }
30 | }),
31 | ],
32 | resolve: {
33 | alias: {
34 | "@vue-bridge/runtime": "@vue-bridge/runtime/vue2",
35 | },
36 | },
37 | build: buildConfig({
38 | name: libraryGlobalName,
39 | }),
40 | test: {
41 | environment: "jsdom",
42 | deps: {
43 | inline: true,
44 | }
45 | },
46 | });
47 |
--------------------------------------------------------------------------------
/lib-vue3/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2021 PUT YOUR NAME HERE
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/lib-vue3/README.md:
--------------------------------------------------------------------------------
1 | # Vue 3 + Typescript + Vite
2 |
3 | This template should help get you started developing with Vue 3 and Typescript in Vite. The template uses Vue 3 `
10 |
11 |
12 |
Title: {{ title }}
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/lib-vue3/app/main.vue2.ts:
--------------------------------------------------------------------------------
1 | import Vue from "vue";
2 | import AppVue from "./App.vue";
3 | import { install as Plugin } from "../src/main";
4 |
5 | Vue.use(Plugin);
6 | new Vue(AppVue).$mount("#app");
7 |
--------------------------------------------------------------------------------
/lib-vue3/app/main.vue3.ts:
--------------------------------------------------------------------------------
1 | import { createApp } from "vue";
2 | import AppVue from "./App.vue";
3 | import { install as Plugin } from "../src/main";
4 |
5 | createApp(AppVue).use(Plugin).mount("#app");
6 |
--------------------------------------------------------------------------------
/lib-vue3/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | Vite App
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/lib-vue3/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "example-vue-library-vue3",
3 | "version": "0.0.0",
4 | "scripts": {
5 | "dev": "vite",
6 | "build-watch": "vite build --watch",
7 | "build": "vite build && pnpm build-types",
8 | "tsc-watch": "vue-tsc --watch",
9 | "build-types": "vue-tsc --declaration --emitDeclarationOnly -p ../tsconfig/tsconfig.vue3.lib.json",
10 | "test": "vitest --reporter=verbose --run",
11 | "test-watch": "vitest --reporter=verbose",
12 | "preview": "vite preview"
13 | },
14 | "type": "module",
15 | "main": "dist/index.umd.js",
16 | "module": "dist/index.es.mjs",
17 | "jsdelivr": "dist/index.umd.js",
18 | "unpkg": "dist/index.umd.js",
19 | "typings": "./typings/main.d.ts",
20 | "exports": {
21 | ".": {
22 | "types": "./typings/main.d.ts",
23 | "script": "./dist/index.umd.js",
24 | "import": "./dist/index.es.mjs",
25 | "require": "./dist/index.cjs.cjs",
26 | "default": "./dist/index.umd.js"
27 | },
28 | "./style.css": "./dist/style.css",
29 | "./package.json": "./package.json",
30 | "./src/": "./src/"
31 | },
32 | "files": [
33 | "dist",
34 | "src",
35 | "typings",
36 | "README.md"
37 | ],
38 | "dependencies": {
39 | "@vue-bridge/runtime": "^0.1.1"
40 | },
41 | "devDependencies": {
42 | "@vitejs/plugin-vue": "^3.0.3",
43 | "@vue-bridge/testing": "^0.2.1",
44 | "@vue-bridge/vite-plugin": "^0.2.0",
45 | "@vue/test-utils": "^2.0.2",
46 | "vite": "^3.0.9",
47 | "vue": "^3.2.37"
48 | }
49 | }
--------------------------------------------------------------------------------
/lib-vue3/src/__tests__/Input.spec.ts:
--------------------------------------------------------------------------------
1 | import { mount } from "@vue-bridge/testing";
2 | import { nextTick } from "vue";
3 | import { describe, it, expect } from "vitest";
4 | import Input from "../components/MyInput.vue";
5 |
6 | describe("Input", () => {
7 | it("v-model works", async () => {
8 | const newValue = "Hello You!";
9 |
10 | // mount() has the sameAPI as `@vue/test-utils@2` (for Vue 3)
11 | const wrapper = mount(Input, {
12 | props: {
13 | // @ts-ignore - would be propsData in normal vue 2 test-utils
14 | modelValue: "Hello World",
15 | },
16 | });
17 |
18 | // We use `nextTick` from `@vue-bridge/testing` because we can't import it in an interoperable way from 'vue'
19 | await nextTick();
20 |
21 | const input = wrapper.find("input");
22 | expect(wrapper.props().modelValue).toBe("Hello World");
23 | expect((wrapper.vm as any).model).toBe("Hello World");
24 | expect((input!.element as HTMLInputElement).value).toBe("Hello World");
25 |
26 | input.setValue(newValue);
27 | await nextTick();
28 |
29 | expect(wrapper.emitted()["update:modelValue"]?.length).toEqual(1);
30 | expect((wrapper.emitted()["update:modelValue"]?.[0] as any)?.[0]).toEqual(
31 | newValue
32 | );
33 | });
34 | });
35 |
--------------------------------------------------------------------------------
/lib-vue3/src/components/MyInput.vue:
--------------------------------------------------------------------------------
1 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
--------------------------------------------------------------------------------
/lib-vue3/src/env.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 |
3 | declare module "*.vue" {
4 | import { DefineComponent } from "vue";
5 | const component: DefineComponent<{}, {}, any>;
6 | export default component;
7 | }
8 |
--------------------------------------------------------------------------------
/lib-vue3/src/main.ts:
--------------------------------------------------------------------------------
1 | import MyInput from "./components/MyInput.vue";
2 | import type { App } from "@vue-bridge/runtime";
3 | export { MyInput };
4 |
5 | export function install(app: App) {
6 | app.component(MyInput.name!, MyInput);
7 | }
8 |
--------------------------------------------------------------------------------
/lib-vue3/vite.config.ts:
--------------------------------------------------------------------------------
1 | import { defineConfig } from "vite";
2 | import vue from "@vitejs/plugin-vue";
3 | import { buildConfig } from "../vite.config.shared";
4 | import { vueBridge } from "@vue-bridge/vite-plugin";
5 | // This is the name of the global you library is accessible in the iife build (for CDN use)
6 | // (window.ExampleLibrary)
7 | const libraryGlobalName = "ExampleLibrary";
8 |
9 | // https://vitejs.dev/config/
10 | export default defineConfig({
11 | plugins: [
12 | vue(),
13 | vueBridge({
14 | vueVersion: "3",
15 | }),
16 | ],
17 | resolve: {
18 | alias: {
19 | "@vue-bridge/runtime": "@vue-bridge/runtime/vue3",
20 | },
21 | },
22 | build: buildConfig({
23 | name: libraryGlobalName,
24 | }),
25 | test: {
26 | environment: "jsdom",
27 | },
28 | });
29 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@vue-bridge/template-monorepo",
3 | "private": true,
4 | "description": "",
5 | "author": "",
6 | "keywords": [],
7 | "license": "MIT",
8 | "scripts": {
9 | "dev-vue3": "pnpm --filter=example-vue-library-vue3 run dev",
10 | "dev-vue2": "pnpm --filter=example-vue-library-vue2 run dev",
11 | "build-all": "pnpm -r --aggregate-output run build",
12 | "build-watch-all": "pnpm -r --stream run build:w",
13 | "test-all": "pnpm -r --parallel --aggregate-output run test ",
14 | "lint": "eslint '*.{js,ts}' '{lib-*}/**/*.{js,ts,vue}'",
15 | "lint:fix": "eslint '*.{js,ts}' '{lib-*}/**/*.{js,ts,vue}' --fix",
16 | "postinstall": "node scripts/symlink lib-vue3/src lib-vue2/src"
17 | },
18 | "pnpm": {
19 | "packageExtensions": {
20 | "vue-template-compiler": {
21 | "peerDependencies": {
22 | "vue": "^2.7"
23 | }
24 | }
25 | }
26 | },
27 | "devDependencies": {
28 | "@types/node": "^16.11.56",
29 | "@typescript-eslint/eslint-plugin": "^5.35.1",
30 | "@typescript-eslint/parser": "^5.35.1",
31 | "@vue-bridge/eslint-config": "^0.2.0",
32 | "@vue/tsconfig": "^0.1.3",
33 | "eslint": "^8.23.0",
34 | "eslint-plugin-vue": "^9.4.0",
35 | "jsdom": "^20.0.0",
36 | "tslib": "^2.4.0",
37 | "typescript": "~4.6.4",
38 | "vite": "^3.0.9",
39 | "vitest": "^0.22.1",
40 | "vue-tsc": "^0.40.1"
41 | }
42 | }
43 |
--------------------------------------------------------------------------------
/pnpm-lock.yaml:
--------------------------------------------------------------------------------
1 | lockfileVersion: 5.4
2 |
3 | packageExtensionsChecksum: 6f7c101b3e3b42f5797eb39f750c0ec5
4 |
5 | importers:
6 |
7 | .:
8 | specifiers:
9 | '@types/node': ^16.11.56
10 | '@typescript-eslint/eslint-plugin': ^5.35.1
11 | '@typescript-eslint/parser': ^5.35.1
12 | '@vue-bridge/eslint-config': ^0.2.0
13 | '@vue/tsconfig': ^0.1.3
14 | eslint: ^8.23.0
15 | eslint-plugin-vue: ^9.4.0
16 | jsdom: ^20.0.0
17 | tslib: ^2.4.0
18 | typescript: ~4.6.4
19 | vite: ^3.0.9
20 | vitest: ^0.22.1
21 | vue-tsc: ^0.40.1
22 | devDependencies:
23 | '@types/node': 16.11.56
24 | '@typescript-eslint/eslint-plugin': 5.35.1_hy4by47wjjtoupqk2r7jy5xf2e
25 | '@typescript-eslint/parser': 5.35.1_pyvvhc3zqdua4akflcggygkl44
26 | '@vue-bridge/eslint-config': 0.2.0_x7y5nmvio6pfqudbshgm4cij3q
27 | '@vue/tsconfig': 0.1.3_@types+node@16.11.56
28 | eslint: 8.23.0
29 | eslint-plugin-vue: 9.4.0_eslint@8.23.0
30 | jsdom: 20.0.0
31 | tslib: 2.4.0
32 | typescript: 4.6.4
33 | vite: 3.0.9
34 | vitest: 0.22.1_jsdom@20.0.0
35 | vue-tsc: 0.40.1_typescript@4.6.4
36 |
37 | lib-vue2:
38 | specifiers:
39 | '@swc/helpers': ^0.4.11
40 | '@vitejs/plugin-vue2': ^1.1.2
41 | '@vue-bridge/runtime': ^0.1.1
42 | '@vue-bridge/testing': ^0.2.1
43 | '@vue-bridge/vite-plugin': ^0.2.0
44 | '@vue/test-utils': ^1.3.0
45 | browserslist: ^4.21.3
46 | core-js: ^3.25.0
47 | regenerator-runtime: ^0.13.9
48 | vite: ^3.0.9
49 | vue: ^2.7.10
50 | vue-template-compiler: ^2.7.10
51 | dependencies:
52 | '@swc/helpers': 0.4.11
53 | '@vue-bridge/runtime': 0.1.1_vue@2.7.10
54 | core-js: 3.25.0
55 | regenerator-runtime: 0.13.9
56 | devDependencies:
57 | '@vitejs/plugin-vue2': 1.1.2_vite@3.0.9+vue@2.7.10
58 | '@vue-bridge/testing': 0.2.1_53g5u5a44atmcvvmpo7z5vxoi4
59 | '@vue-bridge/vite-plugin': 0.2.0
60 | '@vue/test-utils': 1.3.0_42puyn3dcxirnpdjnosl7pbb6a
61 | browserslist: 4.21.3
62 | vite: 3.0.9
63 | vue: 2.7.10
64 | vue-template-compiler: 2.7.10_vue@2.7.10
65 |
66 | lib-vue3:
67 | specifiers:
68 | '@vitejs/plugin-vue': ^3.0.3
69 | '@vue-bridge/runtime': ^0.1.1
70 | '@vue-bridge/testing': ^0.2.1
71 | '@vue-bridge/vite-plugin': ^0.2.0
72 | '@vue/test-utils': ^2.0.2
73 | vite: ^3.0.9
74 | vue: ^3.2.37
75 | dependencies:
76 | '@vue-bridge/runtime': 0.1.1_vue@3.2.37
77 | devDependencies:
78 | '@vitejs/plugin-vue': 3.0.3_vite@3.0.9+vue@3.2.37
79 | '@vue-bridge/testing': 0.2.1_wlaifosis4rwreoeq6u47n65qe
80 | '@vue-bridge/vite-plugin': 0.2.0
81 | '@vue/test-utils': 2.0.2_vue@3.2.37
82 | vite: 3.0.9
83 | vue: 3.2.37
84 |
85 | packages:
86 |
87 | /@babel/helper-string-parser/7.18.10:
88 | resolution: {integrity: sha512-XtIfWmeNY3i4t7t4D2t02q50HvqHybPqW2ki1kosnvWCwuCMeo81Jf0gwr85jy/neUdg5XDdeFE/80DXiO+njw==}
89 | engines: {node: '>=6.9.0'}
90 |
91 | /@babel/helper-validator-identifier/7.18.6:
92 | resolution: {integrity: sha512-MmetCkz9ej86nJQV+sFCxoGGrUbU3q02kgLciwkrt9QqEB7cP39oKEY0PakknEO0Gu20SskMRi+AYZ3b1TpN9g==}
93 | engines: {node: '>=6.9.0'}
94 |
95 | /@babel/parser/7.18.13:
96 | resolution: {integrity: sha512-dgXcIfMuQ0kgzLB2b9tRZs7TTFFaGM2AbtA4fJgUUYukzGH4jwsS7hzQHEGs67jdehpm22vkgKwvbU+aEflgwg==}
97 | engines: {node: '>=6.0.0'}
98 | hasBin: true
99 | dependencies:
100 | '@babel/types': 7.18.13
101 |
102 | /@babel/types/7.18.13:
103 | resolution: {integrity: sha512-ePqfTihzW0W6XAU+aMw2ykilisStJfDnsejDCXRchCcMJ4O0+8DhPXf2YUbZ6wjBlsEmZwLK/sPweWtu8hcJYQ==}
104 | engines: {node: '>=6.9.0'}
105 | dependencies:
106 | '@babel/helper-string-parser': 7.18.10
107 | '@babel/helper-validator-identifier': 7.18.6
108 | to-fast-properties: 2.0.0
109 |
110 | /@eslint/eslintrc/1.3.1:
111 | resolution: {integrity: sha512-OhSY22oQQdw3zgPOOwdoj01l/Dzl1Z+xyUP33tkSN+aqyEhymJCcPHyXt+ylW8FSe0TfRC2VG+ROQOapD0aZSQ==}
112 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
113 | dependencies:
114 | ajv: 6.12.6
115 | debug: 4.3.4
116 | espree: 9.4.0
117 | globals: 13.17.0
118 | ignore: 5.2.0
119 | import-fresh: 3.3.0
120 | js-yaml: 4.1.0
121 | minimatch: 3.1.2
122 | strip-json-comments: 3.1.1
123 | transitivePeerDependencies:
124 | - supports-color
125 | dev: true
126 |
127 | /@humanwhocodes/config-array/0.10.4:
128 | resolution: {integrity: sha512-mXAIHxZT3Vcpg83opl1wGlVZ9xydbfZO3r5YfRSH6Gpp2J/PfdBP0wbDa2sO6/qRbcalpoevVyW6A/fI6LfeMw==}
129 | engines: {node: '>=10.10.0'}
130 | dependencies:
131 | '@humanwhocodes/object-schema': 1.2.1
132 | debug: 4.3.4
133 | minimatch: 3.1.2
134 | transitivePeerDependencies:
135 | - supports-color
136 | dev: true
137 |
138 | /@humanwhocodes/gitignore-to-minimatch/1.0.2:
139 | resolution: {integrity: sha512-rSqmMJDdLFUsyxR6FMtD00nfQKKLFb1kv+qBbOVKqErvloEIJLo5bDTJTQNTYgeyp78JsA7u/NPi5jT1GR/MuA==}
140 | dev: true
141 |
142 | /@humanwhocodes/module-importer/1.0.1:
143 | resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==}
144 | engines: {node: '>=12.22'}
145 | dev: true
146 |
147 | /@humanwhocodes/object-schema/1.2.1:
148 | resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==}
149 | dev: true
150 |
151 | /@nodelib/fs.scandir/2.1.5:
152 | resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
153 | engines: {node: '>= 8'}
154 | dependencies:
155 | '@nodelib/fs.stat': 2.0.5
156 | run-parallel: 1.2.0
157 | dev: true
158 |
159 | /@nodelib/fs.stat/2.0.5:
160 | resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==}
161 | engines: {node: '>= 8'}
162 | dev: true
163 |
164 | /@nodelib/fs.walk/1.2.8:
165 | resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==}
166 | engines: {node: '>= 8'}
167 | dependencies:
168 | '@nodelib/fs.scandir': 2.1.5
169 | fastq: 1.13.0
170 | dev: true
171 |
172 | /@swc/core-android-arm-eabi/1.2.218:
173 | resolution: {integrity: sha512-Q/uLCh262t3xxNzhCz+ZW9t+g2nWd0gZZO4jMYFWJs7ilKVNsBfRtfnNGGACHzkVuWLNDIWtAS2PSNodl7VUHQ==}
174 | engines: {node: '>=10'}
175 | cpu: [arm]
176 | os: [android]
177 | requiresBuild: true
178 | dev: true
179 | optional: true
180 |
181 | /@swc/core-android-arm64/1.2.218:
182 | resolution: {integrity: sha512-dy+8lUHUcyrkfPcl7azEQ4M44duRo1Uibz1E5/tltXCGoR6tu2ZN2VkqEKgA2a9XR3UD8/x4lv2r5evwJWy+uQ==}
183 | engines: {node: '>=10'}
184 | cpu: [arm64]
185 | os: [android]
186 | requiresBuild: true
187 | dev: true
188 | optional: true
189 |
190 | /@swc/core-darwin-arm64/1.2.218:
191 | resolution: {integrity: sha512-aTpFjWio8G0oukN76VtXCBPtFzH0PXIQ+1dFjGGkzrBcU5suztCCbhPBGhKRoWp3NJBwfPDwwWzmG+ddXrVAKg==}
192 | engines: {node: '>=10'}
193 | cpu: [arm64]
194 | os: [darwin]
195 | requiresBuild: true
196 | dev: true
197 | optional: true
198 |
199 | /@swc/core-darwin-x64/1.2.218:
200 | resolution: {integrity: sha512-H3w/gNzROE6gVPZCAg5qvvPihzlg88Yi7HWb/mowfpNqH9/iJ8XMdwqJyovnfUeUXsuJQBFv6uXv/ri7qhGMHA==}
201 | engines: {node: '>=10'}
202 | cpu: [x64]
203 | os: [darwin]
204 | requiresBuild: true
205 | dev: true
206 | optional: true
207 |
208 | /@swc/core-freebsd-x64/1.2.218:
209 | resolution: {integrity: sha512-kkch07yCSlpUrSMp0FZPWtMHJjh3lfHiwp7JYNf6CUl5xXlgT19NeomPYq31dbTzPV2VnE7TVVlAawIjuuOH4g==}
210 | engines: {node: '>=10'}
211 | cpu: [x64]
212 | os: [freebsd]
213 | requiresBuild: true
214 | dev: true
215 | optional: true
216 |
217 | /@swc/core-linux-arm-gnueabihf/1.2.218:
218 | resolution: {integrity: sha512-vwEgvtD9f/+0HFxYD5q4sd8SG6zd0cxm17cwRGZ6jWh/d4Ninjht3CpDGE1ffh9nJ+X3Mb/7rjU/kTgWFz5qfg==}
219 | engines: {node: '>=10'}
220 | cpu: [arm]
221 | os: [linux]
222 | requiresBuild: true
223 | dev: true
224 | optional: true
225 |
226 | /@swc/core-linux-arm64-gnu/1.2.218:
227 | resolution: {integrity: sha512-g5PQI6COUHV7x7tyaZQn6jXWtOLXXNIEQK1HS5/e+6kqqsM2NsndE9bjLhoH1EQuXiN2eUjAR/ZDOFAg102aRw==}
228 | engines: {node: '>=10'}
229 | cpu: [arm64]
230 | os: [linux]
231 | requiresBuild: true
232 | dev: true
233 | optional: true
234 |
235 | /@swc/core-linux-arm64-musl/1.2.218:
236 | resolution: {integrity: sha512-IETYHB6H01NmVmlw+Ng8nkjdFBv1exGQRR74GAnHis1bVx1Uq14hREIF6XT3I1Aj26nRwlGkIYQuEKnFO5/j3Q==}
237 | engines: {node: '>=10'}
238 | cpu: [arm64]
239 | os: [linux]
240 | requiresBuild: true
241 | dev: true
242 | optional: true
243 |
244 | /@swc/core-linux-x64-gnu/1.2.218:
245 | resolution: {integrity: sha512-PK39Zg4/YZbfchQRw77iVfB7Qat7QaK58sQt8enH39CUMXlJ+GSfC0Fqw2mtZ12sFGwmsGrK9yBy3ZVoOws5Ng==}
246 | engines: {node: '>=10'}
247 | cpu: [x64]
248 | os: [linux]
249 | requiresBuild: true
250 | dev: true
251 | optional: true
252 |
253 | /@swc/core-linux-x64-musl/1.2.218:
254 | resolution: {integrity: sha512-SNjrzORJYiKTSmFbaBkKZAf5B/PszwoZoFZOcd86AG192zsvQBSvKjQzMjT5rDZxB+sOnhRE7wH/bvqxZishQQ==}
255 | engines: {node: '>=10'}
256 | cpu: [x64]
257 | os: [linux]
258 | requiresBuild: true
259 | dev: true
260 | optional: true
261 |
262 | /@swc/core-win32-arm64-msvc/1.2.218:
263 | resolution: {integrity: sha512-lVXFWkYl+w8+deq9mgGsfvSY5Gr1RRjFgqZ+0wMZgyaonfx7jNn3TILUwc7egumEwxK0anNriVZCyKfcO3ZIjA==}
264 | engines: {node: '>=10'}
265 | cpu: [arm64]
266 | os: [win32]
267 | requiresBuild: true
268 | dev: true
269 | optional: true
270 |
271 | /@swc/core-win32-ia32-msvc/1.2.218:
272 | resolution: {integrity: sha512-jgP+NZsHUh9Cp8PcXznnkpJTW3hPDLUgsXI0NKfE+8+Xvc6hALHxl6K46IyPYU67FfFlegYcBSNkOgpc85gk0A==}
273 | engines: {node: '>=10'}
274 | cpu: [ia32]
275 | os: [win32]
276 | requiresBuild: true
277 | dev: true
278 | optional: true
279 |
280 | /@swc/core-win32-x64-msvc/1.2.218:
281 | resolution: {integrity: sha512-XYLjX00KV4ft324Q3QDkw61xHkoN7EKkVvIpb0wXaf6wVshwU+BCDyPw2CSg4PQecNP8QGgMRQf9QM7xNtEM7A==}
282 | engines: {node: '>=10'}
283 | cpu: [x64]
284 | os: [win32]
285 | requiresBuild: true
286 | dev: true
287 | optional: true
288 |
289 | /@swc/core/1.2.218:
290 | resolution: {integrity: sha512-wzXTeBUi3YAHr305lCo1tlxRj5Zpk7hu6rmulngH06NgrH7fS6bj8IaR7K2QPZ4ZZ4U+TGS2tOKbXBmqeMRUtg==}
291 | engines: {node: '>=10'}
292 | hasBin: true
293 | requiresBuild: true
294 | optionalDependencies:
295 | '@swc/core-android-arm-eabi': 1.2.218
296 | '@swc/core-android-arm64': 1.2.218
297 | '@swc/core-darwin-arm64': 1.2.218
298 | '@swc/core-darwin-x64': 1.2.218
299 | '@swc/core-freebsd-x64': 1.2.218
300 | '@swc/core-linux-arm-gnueabihf': 1.2.218
301 | '@swc/core-linux-arm64-gnu': 1.2.218
302 | '@swc/core-linux-arm64-musl': 1.2.218
303 | '@swc/core-linux-x64-gnu': 1.2.218
304 | '@swc/core-linux-x64-musl': 1.2.218
305 | '@swc/core-win32-arm64-msvc': 1.2.218
306 | '@swc/core-win32-ia32-msvc': 1.2.218
307 | '@swc/core-win32-x64-msvc': 1.2.218
308 | dev: true
309 |
310 | /@swc/helpers/0.4.11:
311 | resolution: {integrity: sha512-rEUrBSGIoSFuYxwBYtlUFMlE2CwGhmW+w9355/5oduSw8e5h2+Tj4UrAGNNgP9915++wj5vkQo0UuOBqOAq4nw==}
312 | dependencies:
313 | tslib: 2.4.0
314 | dev: false
315 |
316 | /@tootallnate/once/2.0.0:
317 | resolution: {integrity: sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==}
318 | engines: {node: '>= 10'}
319 | dev: true
320 |
321 | /@types/chai-subset/1.3.3:
322 | resolution: {integrity: sha512-frBecisrNGz+F4T6bcc+NLeolfiojh5FxW2klu669+8BARtyQv2C/GkNW6FUodVe4BroGMP/wER/YDGc7rEllw==}
323 | dependencies:
324 | '@types/chai': 4.3.3
325 | dev: true
326 |
327 | /@types/chai/4.3.3:
328 | resolution: {integrity: sha512-hC7OMnszpxhZPduX+m+nrx+uFoLkWOMiR4oa/AZF3MuSETYTZmFfJAHqZEM8MVlvfG7BEUcgvtwoCTxBp6hm3g==}
329 | dev: true
330 |
331 | /@types/json-schema/7.0.11:
332 | resolution: {integrity: sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==}
333 | dev: true
334 |
335 | /@types/node/16.11.56:
336 | resolution: {integrity: sha512-aFcUkv7EddxxOa/9f74DINReQ/celqH8DiB3fRYgVDM2Xm5QJL8sl80QKuAnGvwAsMn+H3IFA6WCrQh1CY7m1A==}
337 | dev: true
338 |
339 | /@typescript-eslint/eslint-plugin/5.35.1_hy4by47wjjtoupqk2r7jy5xf2e:
340 | resolution: {integrity: sha512-RBZZXZlI4XCY4Wzgy64vB+0slT9+yAPQRjj/HSaRwUot33xbDjF1oN9BLwOLTewoOI0jothIltZRe9uJCHf8gg==}
341 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
342 | peerDependencies:
343 | '@typescript-eslint/parser': ^5.0.0
344 | eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
345 | typescript: '*'
346 | peerDependenciesMeta:
347 | typescript:
348 | optional: true
349 | dependencies:
350 | '@typescript-eslint/parser': 5.35.1_pyvvhc3zqdua4akflcggygkl44
351 | '@typescript-eslint/scope-manager': 5.35.1
352 | '@typescript-eslint/type-utils': 5.35.1_pyvvhc3zqdua4akflcggygkl44
353 | '@typescript-eslint/utils': 5.35.1_pyvvhc3zqdua4akflcggygkl44
354 | debug: 4.3.4
355 | eslint: 8.23.0
356 | functional-red-black-tree: 1.0.1
357 | ignore: 5.2.0
358 | regexpp: 3.2.0
359 | semver: 7.3.7
360 | tsutils: 3.21.0_typescript@4.6.4
361 | typescript: 4.6.4
362 | transitivePeerDependencies:
363 | - supports-color
364 | dev: true
365 |
366 | /@typescript-eslint/parser/5.35.1_pyvvhc3zqdua4akflcggygkl44:
367 | resolution: {integrity: sha512-XL2TBTSrh3yWAsMYpKseBYTVpvudNf69rPOWXWVBI08My2JVT5jR66eTt4IgQFHA/giiKJW5dUD4x/ZviCKyGg==}
368 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
369 | peerDependencies:
370 | eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
371 | typescript: '*'
372 | peerDependenciesMeta:
373 | typescript:
374 | optional: true
375 | dependencies:
376 | '@typescript-eslint/scope-manager': 5.35.1
377 | '@typescript-eslint/types': 5.35.1
378 | '@typescript-eslint/typescript-estree': 5.35.1_typescript@4.6.4
379 | debug: 4.3.4
380 | eslint: 8.23.0
381 | typescript: 4.6.4
382 | transitivePeerDependencies:
383 | - supports-color
384 | dev: true
385 |
386 | /@typescript-eslint/scope-manager/5.35.1:
387 | resolution: {integrity: sha512-kCYRSAzIW9ByEIzmzGHE50NGAvAP3wFTaZevgWva7GpquDyFPFcmvVkFJGWJJktg/hLwmys/FZwqM9EKr2u24Q==}
388 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
389 | dependencies:
390 | '@typescript-eslint/types': 5.35.1
391 | '@typescript-eslint/visitor-keys': 5.35.1
392 | dev: true
393 |
394 | /@typescript-eslint/type-utils/5.35.1_pyvvhc3zqdua4akflcggygkl44:
395 | resolution: {integrity: sha512-8xT8ljvo43Mp7BiTn1vxLXkjpw8wS4oAc00hMSB4L1/jIiYbjjnc3Qp2GAUOG/v8zsNCd1qwcqfCQ0BuishHkw==}
396 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
397 | peerDependencies:
398 | eslint: '*'
399 | typescript: '*'
400 | peerDependenciesMeta:
401 | typescript:
402 | optional: true
403 | dependencies:
404 | '@typescript-eslint/utils': 5.35.1_pyvvhc3zqdua4akflcggygkl44
405 | debug: 4.3.4
406 | eslint: 8.23.0
407 | tsutils: 3.21.0_typescript@4.6.4
408 | typescript: 4.6.4
409 | transitivePeerDependencies:
410 | - supports-color
411 | dev: true
412 |
413 | /@typescript-eslint/types/5.35.1:
414 | resolution: {integrity: sha512-FDaujtsH07VHzG0gQ6NDkVVhi1+rhq0qEvzHdJAQjysN+LHDCKDKCBRlZFFE0ec0jKxiv0hN63SNfExy0KrbQQ==}
415 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
416 | dev: true
417 |
418 | /@typescript-eslint/typescript-estree/5.35.1_typescript@4.6.4:
419 | resolution: {integrity: sha512-JUqE1+VRTGyoXlDWWjm6MdfpBYVq+hixytrv1oyjYIBEOZhBCwtpp5ZSvBt4wIA1MKWlnaC2UXl2XmYGC3BoQA==}
420 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
421 | peerDependencies:
422 | typescript: '*'
423 | peerDependenciesMeta:
424 | typescript:
425 | optional: true
426 | dependencies:
427 | '@typescript-eslint/types': 5.35.1
428 | '@typescript-eslint/visitor-keys': 5.35.1
429 | debug: 4.3.4
430 | globby: 11.1.0
431 | is-glob: 4.0.3
432 | semver: 7.3.7
433 | tsutils: 3.21.0_typescript@4.6.4
434 | typescript: 4.6.4
435 | transitivePeerDependencies:
436 | - supports-color
437 | dev: true
438 |
439 | /@typescript-eslint/utils/5.35.1_pyvvhc3zqdua4akflcggygkl44:
440 | resolution: {integrity: sha512-v6F8JNXgeBWI4pzZn36hT2HXXzoBBBJuOYvoQiaQaEEjdi5STzux3Yj8v7ODIpx36i/5s8TdzuQ54TPc5AITQQ==}
441 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
442 | peerDependencies:
443 | eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
444 | dependencies:
445 | '@types/json-schema': 7.0.11
446 | '@typescript-eslint/scope-manager': 5.35.1
447 | '@typescript-eslint/types': 5.35.1
448 | '@typescript-eslint/typescript-estree': 5.35.1_typescript@4.6.4
449 | eslint: 8.23.0
450 | eslint-scope: 5.1.1
451 | eslint-utils: 3.0.0_eslint@8.23.0
452 | transitivePeerDependencies:
453 | - supports-color
454 | - typescript
455 | dev: true
456 |
457 | /@typescript-eslint/visitor-keys/5.35.1:
458 | resolution: {integrity: sha512-cEB1DvBVo1bxbW/S5axbGPE6b7FIMAbo3w+AGq6zNDA7+NYJOIkKj/sInfTv4edxd4PxJSgdN4t6/pbvgA+n5g==}
459 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
460 | dependencies:
461 | '@typescript-eslint/types': 5.35.1
462 | eslint-visitor-keys: 3.3.0
463 | dev: true
464 |
465 | /@vitejs/plugin-vue/3.0.3_vite@3.0.9+vue@3.2.37:
466 | resolution: {integrity: sha512-U4zNBlz9mg+TA+i+5QPc3N5lQvdUXENZLO2h0Wdzp56gI1MWhqJOv+6R+d4kOzoaSSq6TnGPBdZAXKOe4lXy6g==}
467 | engines: {node: ^14.18.0 || >=16.0.0}
468 | peerDependencies:
469 | vite: ^3.0.0
470 | vue: ^3.2.25
471 | dependencies:
472 | vite: 3.0.9
473 | vue: 3.2.37
474 | dev: true
475 |
476 | /@vitejs/plugin-vue2/1.1.2_vite@3.0.9+vue@2.7.10:
477 | resolution: {integrity: sha512-y6OEA+2UdJ0xrEQHodq20v9r3SpS62IOHrgN92JPLvVpNkhcissu7yvD5PXMzMESyazj0XNWGsc8UQk8+mVrjQ==}
478 | engines: {node: '>=14.6.0'}
479 | peerDependencies:
480 | vite: '>=2.5.10'
481 | vue: ^2.7.0-0
482 | dependencies:
483 | vite: 3.0.9
484 | vue: 2.7.10
485 | dev: true
486 |
487 | /@volar/code-gen/0.40.1:
488 | resolution: {integrity: sha512-mN1jn08wRKLoUj+KThltyWfsiEGt6Um1yT6S7bkruwV76yiLlzIR4WZgWng254byGMozJ00qgkZmBhraD5b48A==}
489 | dependencies:
490 | '@volar/source-map': 0.40.1
491 | dev: true
492 |
493 | /@volar/source-map/0.40.1:
494 | resolution: {integrity: sha512-ORYg5W+R4iT2k/k2U4ASkKvDxabIzKtP+lXZ1CcqFIbTF81GOooAv5tJZImf8ifhUV9p8bgGaitFj/VnNzkdYg==}
495 | dev: true
496 |
497 | /@volar/typescript-faster/0.40.1:
498 | resolution: {integrity: sha512-UiX8OzVRJtpudGfTY2KgB5m78DIA8oVbwI4QN5i4Ot8oURQPOviH7MahikHeeXidbh3iOy/u4vceMb+mfdizpQ==}
499 | dependencies:
500 | semver: 7.3.7
501 | dev: true
502 |
503 | /@volar/vue-language-core/0.40.1:
504 | resolution: {integrity: sha512-RBU2nQkj+asKZ/ht3sU3hTau+dGuTjJrQS3nNSw4+vnwUJnN/WogO/MmgKdrvVf3pUdLiucIog1E/Us1C8Y5wg==}
505 | dependencies:
506 | '@volar/code-gen': 0.40.1
507 | '@volar/source-map': 0.40.1
508 | '@vue/compiler-core': 3.2.37
509 | '@vue/compiler-dom': 3.2.37
510 | '@vue/compiler-sfc': 3.2.37
511 | '@vue/reactivity': 3.2.37
512 | '@vue/shared': 3.2.37
513 | dev: true
514 |
515 | /@volar/vue-typescript/0.40.1:
516 | resolution: {integrity: sha512-58nW/Xwy7VBkeIPmbyEmi/j1Ta2HxGl/5aFiEEpWxoas7vI1AM+txz8+MhWho4ZMw0w0eCqPtGgugD2rr+/v7w==}
517 | dependencies:
518 | '@volar/code-gen': 0.40.1
519 | '@volar/typescript-faster': 0.40.1
520 | '@volar/vue-language-core': 0.40.1
521 | dev: true
522 |
523 | /@vue-bridge/eslint-config/0.2.0_x7y5nmvio6pfqudbshgm4cij3q:
524 | resolution: {integrity: sha512-32je2xQD1F1jehDfLEc+d2aO5EwbMsrjh0kNN1Gy9uE3a2DFzgiGUfc11qP9EuxRnTFRd2HQJrzZCYw4tCRg/Q==}
525 | peerDependencies:
526 | eslint: ^8.0.0 || ^9.0.0
527 | eslint-plugin-vue: '>8.0.0'
528 | peerDependenciesMeta:
529 | eslint:
530 | optional: true
531 | eslint-plugin-vue:
532 | optional: true
533 | dependencies:
534 | eslint: 8.23.0
535 | eslint-plugin-vue: 9.4.0_eslint@8.23.0
536 | dev: true
537 |
538 | /@vue-bridge/runtime/0.1.1_vue@2.7.10:
539 | resolution: {integrity: sha512-mXTuiME52G0H2yQM3hw6a/HsZKSpKGs7fiq9BHGbL9/eUVTE7kYZSv7CC2pzoaCwWddF6tV8B8Q8Q/joKyIYTQ==}
540 | hasBin: true
541 | requiresBuild: true
542 | peerDependencies:
543 | '@vue/composition-api': '*'
544 | vue: ^2.7.0-0 || >=3.2.0
545 | peerDependenciesMeta:
546 | '@vue/composition-api':
547 | optional: true
548 | vue:
549 | optional: true
550 | dependencies:
551 | tslib: 2.4.0
552 | vue: 2.7.10
553 | dev: false
554 |
555 | /@vue-bridge/runtime/0.1.1_vue@3.2.37:
556 | resolution: {integrity: sha512-mXTuiME52G0H2yQM3hw6a/HsZKSpKGs7fiq9BHGbL9/eUVTE7kYZSv7CC2pzoaCwWddF6tV8B8Q8Q/joKyIYTQ==}
557 | hasBin: true
558 | requiresBuild: true
559 | peerDependencies:
560 | '@vue/composition-api': '*'
561 | vue: ^2.7.0-0 || >=3.2.0
562 | peerDependenciesMeta:
563 | '@vue/composition-api':
564 | optional: true
565 | vue:
566 | optional: true
567 | dependencies:
568 | tslib: 2.4.0
569 | vue: 3.2.37
570 | dev: false
571 |
572 | /@vue-bridge/testing/0.2.1_53g5u5a44atmcvvmpo7z5vxoi4:
573 | resolution: {integrity: sha512-XEp+gZObyHypmrpH1xnNWEx/kWkpLj/elqWnguJlgxErTf+NzSIoqaCPkkBrn1Ea3cQ9zVSb9AloptktNdMK/w==}
574 | peerDependencies:
575 | '@vue/test-utils': ^1.2.1 || ^2.0.0-0
576 | vue: ^2.7.0-0 || ^3.2.*
577 | peerDependenciesMeta:
578 | '@vue/test-utils':
579 | optional: true
580 | vue:
581 | optional: true
582 | dependencies:
583 | '@vue/test-utils': 1.3.0_42puyn3dcxirnpdjnosl7pbb6a
584 | vue: 2.7.10
585 | dev: true
586 |
587 | /@vue-bridge/testing/0.2.1_wlaifosis4rwreoeq6u47n65qe:
588 | resolution: {integrity: sha512-XEp+gZObyHypmrpH1xnNWEx/kWkpLj/elqWnguJlgxErTf+NzSIoqaCPkkBrn1Ea3cQ9zVSb9AloptktNdMK/w==}
589 | peerDependencies:
590 | '@vue/test-utils': ^1.2.1 || ^2.0.0-0
591 | vue: ^2.7.0-0 || ^3.2.*
592 | peerDependenciesMeta:
593 | '@vue/test-utils':
594 | optional: true
595 | vue:
596 | optional: true
597 | dependencies:
598 | '@vue/test-utils': 2.0.2_vue@3.2.37
599 | vue: 3.2.37
600 | dev: true
601 |
602 | /@vue-bridge/vite-plugin/0.2.0:
603 | resolution: {integrity: sha512-RjjJYW51a5Q/H1pbKAUWYzXiJo8gmBQtpF72BHBwGyKPKdvFJEBiHdxrJ6Ojajz/SHFQxaP2jVQiglnUONL/Zw==}
604 | dependencies:
605 | '@swc/core': 1.2.218
606 | debug: 4.3.4
607 | resolve-pkg: 2.0.0
608 | transitivePeerDependencies:
609 | - supports-color
610 | dev: true
611 |
612 | /@vue/compiler-core/3.2.37:
613 | resolution: {integrity: sha512-81KhEjo7YAOh0vQJoSmAD68wLfYqJvoiD4ulyedzF+OEk/bk6/hx3fTNVfuzugIIaTrOx4PGx6pAiBRe5e9Zmg==}
614 | dependencies:
615 | '@babel/parser': 7.18.13
616 | '@vue/shared': 3.2.37
617 | estree-walker: 2.0.2
618 | source-map: 0.6.1
619 |
620 | /@vue/compiler-dom/3.2.37:
621 | resolution: {integrity: sha512-yxJLH167fucHKxaqXpYk7x8z7mMEnXOw3G2q62FTkmsvNxu4FQSu5+3UMb+L7fjKa26DEzhrmCxAgFLLIzVfqQ==}
622 | dependencies:
623 | '@vue/compiler-core': 3.2.37
624 | '@vue/shared': 3.2.37
625 |
626 | /@vue/compiler-sfc/2.7.10:
627 | resolution: {integrity: sha512-55Shns6WPxlYsz4WX7q9ZJBL77sKE1ZAYNYStLs6GbhIOMrNtjMvzcob6gu3cGlfpCR4bT7NXgyJ3tly2+Hx8Q==}
628 | dependencies:
629 | '@babel/parser': 7.18.13
630 | postcss: 8.4.16
631 | source-map: 0.6.1
632 |
633 | /@vue/compiler-sfc/3.2.37:
634 | resolution: {integrity: sha512-+7i/2+9LYlpqDv+KTtWhOZH+pa8/HnX/905MdVmAcI/mPQOBwkHHIzrsEsucyOIZQYMkXUiTkmZq5am/NyXKkg==}
635 | dependencies:
636 | '@babel/parser': 7.18.13
637 | '@vue/compiler-core': 3.2.37
638 | '@vue/compiler-dom': 3.2.37
639 | '@vue/compiler-ssr': 3.2.37
640 | '@vue/reactivity-transform': 3.2.37
641 | '@vue/shared': 3.2.37
642 | estree-walker: 2.0.2
643 | magic-string: 0.25.9
644 | postcss: 8.4.16
645 | source-map: 0.6.1
646 |
647 | /@vue/compiler-ssr/3.2.37:
648 | resolution: {integrity: sha512-7mQJD7HdXxQjktmsWp/J67lThEIcxLemz1Vb5I6rYJHR5vI+lON3nPGOH3ubmbvYGt8xEUaAr1j7/tIFWiEOqw==}
649 | dependencies:
650 | '@vue/compiler-dom': 3.2.37
651 | '@vue/shared': 3.2.37
652 |
653 | /@vue/reactivity-transform/3.2.37:
654 | resolution: {integrity: sha512-IWopkKEb+8qpu/1eMKVeXrK0NLw9HicGviJzhJDEyfxTR9e1WtpnnbYkJWurX6WwoFP0sz10xQg8yL8lgskAZg==}
655 | dependencies:
656 | '@babel/parser': 7.18.13
657 | '@vue/compiler-core': 3.2.37
658 | '@vue/shared': 3.2.37
659 | estree-walker: 2.0.2
660 | magic-string: 0.25.9
661 |
662 | /@vue/reactivity/3.2.37:
663 | resolution: {integrity: sha512-/7WRafBOshOc6m3F7plwzPeCu/RCVv9uMpOwa/5PiY1Zz+WLVRWiy0MYKwmg19KBdGtFWsmZ4cD+LOdVPcs52A==}
664 | dependencies:
665 | '@vue/shared': 3.2.37
666 |
667 | /@vue/runtime-core/3.2.37:
668 | resolution: {integrity: sha512-JPcd9kFyEdXLl/i0ClS7lwgcs0QpUAWj+SKX2ZC3ANKi1U4DOtiEr6cRqFXsPwY5u1L9fAjkinIdB8Rz3FoYNQ==}
669 | dependencies:
670 | '@vue/reactivity': 3.2.37
671 | '@vue/shared': 3.2.37
672 |
673 | /@vue/runtime-dom/3.2.37:
674 | resolution: {integrity: sha512-HimKdh9BepShW6YozwRKAYjYQWg9mQn63RGEiSswMbW+ssIht1MILYlVGkAGGQbkhSh31PCdoUcfiu4apXJoPw==}
675 | dependencies:
676 | '@vue/runtime-core': 3.2.37
677 | '@vue/shared': 3.2.37
678 | csstype: 2.6.20
679 |
680 | /@vue/server-renderer/3.2.37_vue@3.2.37:
681 | resolution: {integrity: sha512-kLITEJvaYgZQ2h47hIzPh2K3jG8c1zCVbp/o/bzQOyvzaKiCquKS7AaioPI28GNxIsE/zSx+EwWYsNxDCX95MA==}
682 | peerDependencies:
683 | vue: 3.2.37
684 | dependencies:
685 | '@vue/compiler-ssr': 3.2.37
686 | '@vue/shared': 3.2.37
687 | vue: 3.2.37
688 |
689 | /@vue/shared/3.2.37:
690 | resolution: {integrity: sha512-4rSJemR2NQIo9Klm1vabqWjD8rs/ZaJSzMxkMNeJS6lHiUjjUeYFbooN19NgFjztubEKh3WlZUeOLVdbbUWHsw==}
691 |
692 | /@vue/test-utils/1.3.0_42puyn3dcxirnpdjnosl7pbb6a:
693 | resolution: {integrity: sha512-Xk2Xiyj2k5dFb8eYUKkcN9PzqZSppTlx7LaQWBbdA8tqh3jHr/KHX2/YLhNFc/xwDrgeLybqd+4ZCPJSGPIqeA==}
694 | peerDependencies:
695 | vue: 2.x
696 | vue-template-compiler: ^2.x
697 | dependencies:
698 | dom-event-types: 1.1.0
699 | lodash: 4.17.21
700 | pretty: 2.0.0
701 | vue: 2.7.10
702 | vue-template-compiler: 2.7.10_vue@2.7.10
703 | dev: true
704 |
705 | /@vue/test-utils/2.0.2_vue@3.2.37:
706 | resolution: {integrity: sha512-E2P4oXSaWDqTZNbmKZFVLrNN/siVN78YkEqs7pHryWerrlZR9bBFLWdJwRoguX45Ru6HxIflzKl4vQvwRMwm5g==}
707 | peerDependencies:
708 | vue: ^3.0.1
709 | dependencies:
710 | vue: 3.2.37
711 | dev: true
712 |
713 | /@vue/tsconfig/0.1.3_@types+node@16.11.56:
714 | resolution: {integrity: sha512-kQVsh8yyWPvHpb8gIc9l/HIDiiVUy1amynLNpCy8p+FoCiZXCo6fQos5/097MmnNZc9AtseDsCrfkhqCrJ8Olg==}
715 | peerDependencies:
716 | '@types/node': '*'
717 | peerDependenciesMeta:
718 | '@types/node':
719 | optional: true
720 | dependencies:
721 | '@types/node': 16.11.56
722 | dev: true
723 |
724 | /abab/2.0.6:
725 | resolution: {integrity: sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==}
726 | dev: true
727 |
728 | /abbrev/1.1.1:
729 | resolution: {integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==}
730 | dev: true
731 |
732 | /acorn-globals/6.0.0:
733 | resolution: {integrity: sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==}
734 | dependencies:
735 | acorn: 7.4.1
736 | acorn-walk: 7.2.0
737 | dev: true
738 |
739 | /acorn-jsx/5.3.2_acorn@8.8.0:
740 | resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==}
741 | peerDependencies:
742 | acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
743 | dependencies:
744 | acorn: 8.8.0
745 | dev: true
746 |
747 | /acorn-walk/7.2.0:
748 | resolution: {integrity: sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==}
749 | engines: {node: '>=0.4.0'}
750 | dev: true
751 |
752 | /acorn/7.4.1:
753 | resolution: {integrity: sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==}
754 | engines: {node: '>=0.4.0'}
755 | hasBin: true
756 | dev: true
757 |
758 | /acorn/8.8.0:
759 | resolution: {integrity: sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==}
760 | engines: {node: '>=0.4.0'}
761 | hasBin: true
762 | dev: true
763 |
764 | /agent-base/6.0.2:
765 | resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==}
766 | engines: {node: '>= 6.0.0'}
767 | dependencies:
768 | debug: 4.3.4
769 | transitivePeerDependencies:
770 | - supports-color
771 | dev: true
772 |
773 | /ajv/6.12.6:
774 | resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==}
775 | dependencies:
776 | fast-deep-equal: 3.1.3
777 | fast-json-stable-stringify: 2.1.0
778 | json-schema-traverse: 0.4.1
779 | uri-js: 4.4.1
780 | dev: true
781 |
782 | /ansi-regex/5.0.1:
783 | resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
784 | engines: {node: '>=8'}
785 | dev: true
786 |
787 | /ansi-styles/4.3.0:
788 | resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
789 | engines: {node: '>=8'}
790 | dependencies:
791 | color-convert: 2.0.1
792 | dev: true
793 |
794 | /argparse/2.0.1:
795 | resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==}
796 | dev: true
797 |
798 | /array-union/2.1.0:
799 | resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==}
800 | engines: {node: '>=8'}
801 | dev: true
802 |
803 | /assertion-error/1.1.0:
804 | resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==}
805 | dev: true
806 |
807 | /asynckit/0.4.0:
808 | resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==}
809 | dev: true
810 |
811 | /balanced-match/1.0.2:
812 | resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
813 | dev: true
814 |
815 | /boolbase/1.0.0:
816 | resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==}
817 | dev: true
818 |
819 | /brace-expansion/1.1.11:
820 | resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==}
821 | dependencies:
822 | balanced-match: 1.0.2
823 | concat-map: 0.0.1
824 | dev: true
825 |
826 | /braces/3.0.2:
827 | resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==}
828 | engines: {node: '>=8'}
829 | dependencies:
830 | fill-range: 7.0.1
831 | dev: true
832 |
833 | /browser-process-hrtime/1.0.0:
834 | resolution: {integrity: sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==}
835 | dev: true
836 |
837 | /browserslist/4.21.3:
838 | resolution: {integrity: sha512-898rgRXLAyRkM1GryrrBHGkqA5hlpkV5MhtZwg9QXeiyLUYs2k00Un05aX5l2/yJIOObYKOpS2JNo8nJDE7fWQ==}
839 | engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
840 | hasBin: true
841 | dependencies:
842 | caniuse-lite: 1.0.30001383
843 | electron-to-chromium: 1.4.233
844 | node-releases: 2.0.6
845 | update-browserslist-db: 1.0.5_browserslist@4.21.3
846 | dev: true
847 |
848 | /callsites/3.1.0:
849 | resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==}
850 | engines: {node: '>=6'}
851 | dev: true
852 |
853 | /caniuse-lite/1.0.30001383:
854 | resolution: {integrity: sha512-swMpEoTp5vDoGBZsYZX7L7nXHe6dsHxi9o6/LKf/f0LukVtnrxly5GVb/fWdCDTqi/yw6Km6tiJ0pmBacm0gbg==}
855 | dev: true
856 |
857 | /chai/4.3.6:
858 | resolution: {integrity: sha512-bbcp3YfHCUzMOvKqsztczerVgBKSsEijCySNlHHbX3VG1nskvqjz5Rfso1gGwD6w6oOV3eI60pKuMOV5MV7p3Q==}
859 | engines: {node: '>=4'}
860 | dependencies:
861 | assertion-error: 1.1.0
862 | check-error: 1.0.2
863 | deep-eql: 3.0.1
864 | get-func-name: 2.0.0
865 | loupe: 2.3.4
866 | pathval: 1.1.1
867 | type-detect: 4.0.8
868 | dev: true
869 |
870 | /chalk/4.1.2:
871 | resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==}
872 | engines: {node: '>=10'}
873 | dependencies:
874 | ansi-styles: 4.3.0
875 | supports-color: 7.2.0
876 | dev: true
877 |
878 | /check-error/1.0.2:
879 | resolution: {integrity: sha512-BrgHpW9NURQgzoNyjfq0Wu6VFO6D7IZEmJNdtgNqpzGG8RuNFHt2jQxWlAs4HMe119chBnv+34syEZtc6IhLtA==}
880 | dev: true
881 |
882 | /color-convert/2.0.1:
883 | resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
884 | engines: {node: '>=7.0.0'}
885 | dependencies:
886 | color-name: 1.1.4
887 | dev: true
888 |
889 | /color-name/1.1.4:
890 | resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
891 | dev: true
892 |
893 | /combined-stream/1.0.8:
894 | resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==}
895 | engines: {node: '>= 0.8'}
896 | dependencies:
897 | delayed-stream: 1.0.0
898 | dev: true
899 |
900 | /commander/2.20.3:
901 | resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==}
902 | dev: true
903 |
904 | /concat-map/0.0.1:
905 | resolution: {integrity: sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=}
906 | dev: true
907 |
908 | /condense-newlines/0.2.1:
909 | resolution: {integrity: sha1-PemFVTE5R10yUCyDsC9gaE0kxV8=}
910 | engines: {node: '>=0.10.0'}
911 | dependencies:
912 | extend-shallow: 2.0.1
913 | is-whitespace: 0.3.0
914 | kind-of: 3.2.2
915 | dev: true
916 |
917 | /config-chain/1.1.13:
918 | resolution: {integrity: sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==}
919 | dependencies:
920 | ini: 1.3.8
921 | proto-list: 1.2.4
922 | dev: true
923 |
924 | /core-js/3.25.0:
925 | resolution: {integrity: sha512-CVU1xvJEfJGhyCpBrzzzU1kjCfgsGUxhEvwUV2e/cOedYWHdmluamx+knDnmhqALddMG16fZvIqvs9aijsHHaA==}
926 | requiresBuild: true
927 | dev: false
928 |
929 | /cross-spawn/7.0.3:
930 | resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==}
931 | engines: {node: '>= 8'}
932 | dependencies:
933 | path-key: 3.1.1
934 | shebang-command: 2.0.0
935 | which: 2.0.2
936 | dev: true
937 |
938 | /cssesc/3.0.0:
939 | resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==}
940 | engines: {node: '>=4'}
941 | hasBin: true
942 | dev: true
943 |
944 | /cssom/0.3.8:
945 | resolution: {integrity: sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==}
946 | dev: true
947 |
948 | /cssom/0.5.0:
949 | resolution: {integrity: sha512-iKuQcq+NdHqlAcwUY0o/HL69XQrUaQdMjmStJ8JFmUaiiQErlhrmuigkg/CU4E2J0IyUKUrMAgl36TvN67MqTw==}
950 | dev: true
951 |
952 | /cssstyle/2.3.0:
953 | resolution: {integrity: sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==}
954 | engines: {node: '>=8'}
955 | dependencies:
956 | cssom: 0.3.8
957 | dev: true
958 |
959 | /csstype/2.6.20:
960 | resolution: {integrity: sha512-/WwNkdXfckNgw6S5R125rrW8ez139lBHWouiBvX8dfMFtcn6V81REDqnH7+CRpRipfYlyU1CmOnOxrmGcFOjeA==}
961 |
962 | /csstype/3.1.0:
963 | resolution: {integrity: sha512-uX1KG+x9h5hIJsaKR9xHUeUraxf8IODOwq9JLNPq6BwB04a/xgpq3rcx47l5BZu5zBPlgD342tdke3Hom/nJRA==}
964 |
965 | /data-urls/3.0.2:
966 | resolution: {integrity: sha512-Jy/tj3ldjZJo63sVAvg6LHt2mHvl4V6AgRAmNDtLdm7faqtsx+aJG42rsyCo9JCoRVKwPFzKlIPx3DIibwSIaQ==}
967 | engines: {node: '>=12'}
968 | dependencies:
969 | abab: 2.0.6
970 | whatwg-mimetype: 3.0.0
971 | whatwg-url: 11.0.0
972 | dev: true
973 |
974 | /de-indent/1.0.2:
975 | resolution: {integrity: sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==}
976 | dev: true
977 |
978 | /debug/4.3.4:
979 | resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==}
980 | engines: {node: '>=6.0'}
981 | peerDependencies:
982 | supports-color: '*'
983 | peerDependenciesMeta:
984 | supports-color:
985 | optional: true
986 | dependencies:
987 | ms: 2.1.2
988 | dev: true
989 |
990 | /decimal.js/10.3.1:
991 | resolution: {integrity: sha512-V0pfhfr8suzyPGOx3nmq4aHqabehUZn6Ch9kyFpV79TGDTWFmHqUqXdabR7QHqxzrYolF4+tVmJhUG4OURg5dQ==}
992 | dev: true
993 |
994 | /deep-eql/3.0.1:
995 | resolution: {integrity: sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw==}
996 | engines: {node: '>=0.12'}
997 | dependencies:
998 | type-detect: 4.0.8
999 | dev: true
1000 |
1001 | /deep-is/0.1.4:
1002 | resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==}
1003 | dev: true
1004 |
1005 | /delayed-stream/1.0.0:
1006 | resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==}
1007 | engines: {node: '>=0.4.0'}
1008 | dev: true
1009 |
1010 | /dir-glob/3.0.1:
1011 | resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==}
1012 | engines: {node: '>=8'}
1013 | dependencies:
1014 | path-type: 4.0.0
1015 | dev: true
1016 |
1017 | /doctrine/3.0.0:
1018 | resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==}
1019 | engines: {node: '>=6.0.0'}
1020 | dependencies:
1021 | esutils: 2.0.3
1022 | dev: true
1023 |
1024 | /dom-event-types/1.1.0:
1025 | resolution: {integrity: sha512-jNCX+uNJ3v38BKvPbpki6j5ItVlnSqVV6vDWGS6rExzCMjsc39frLjm1n91o6YaKK6AZl0wLloItW6C6mr61BQ==}
1026 | dev: true
1027 |
1028 | /domexception/4.0.0:
1029 | resolution: {integrity: sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw==}
1030 | engines: {node: '>=12'}
1031 | dependencies:
1032 | webidl-conversions: 7.0.0
1033 | dev: true
1034 |
1035 | /editorconfig/0.15.3:
1036 | resolution: {integrity: sha512-M9wIMFx96vq0R4F+gRpY3o2exzb8hEj/n9S8unZtHSvYjibBp/iMufSzvmOcV/laG0ZtuTVGtiJggPOSW2r93g==}
1037 | hasBin: true
1038 | dependencies:
1039 | commander: 2.20.3
1040 | lru-cache: 4.1.5
1041 | semver: 5.7.1
1042 | sigmund: 1.0.1
1043 | dev: true
1044 |
1045 | /electron-to-chromium/1.4.233:
1046 | resolution: {integrity: sha512-ejwIKXTg1wqbmkcRJh9Ur3hFGHFDZDw1POzdsVrB2WZjgRuRMHIQQKNpe64N/qh3ZtH2otEoRoS+s6arAAuAAw==}
1047 | dev: true
1048 |
1049 | /entities/4.3.1:
1050 | resolution: {integrity: sha512-o4q/dYJlmyjP2zfnaWDUC6A3BQFmVTX+tZPezK7k0GLSU9QYCauscf5Y+qcEPzKL+EixVouYDgLQK5H9GrLpkg==}
1051 | engines: {node: '>=0.12'}
1052 | dev: true
1053 |
1054 | /esbuild-android-64/0.14.49:
1055 | resolution: {integrity: sha512-vYsdOTD+yi+kquhBiFWl3tyxnj2qZJsl4tAqwhT90ktUdnyTizgle7TjNx6Ar1bN7wcwWqZ9QInfdk2WVagSww==}
1056 | engines: {node: '>=12'}
1057 | cpu: [x64]
1058 | os: [android]
1059 | requiresBuild: true
1060 | dev: true
1061 | optional: true
1062 |
1063 | /esbuild-android-arm64/0.14.49:
1064 | resolution: {integrity: sha512-g2HGr/hjOXCgSsvQZ1nK4nW/ei8JUx04Li74qub9qWrStlysaVmadRyTVuW32FGIpLQyc5sUjjZopj49eGGM2g==}
1065 | engines: {node: '>=12'}
1066 | cpu: [arm64]
1067 | os: [android]
1068 | requiresBuild: true
1069 | dev: true
1070 | optional: true
1071 |
1072 | /esbuild-darwin-64/0.14.49:
1073 | resolution: {integrity: sha512-3rvqnBCtX9ywso5fCHixt2GBCUsogNp9DjGmvbBohh31Ces34BVzFltMSxJpacNki96+WIcX5s/vum+ckXiLYg==}
1074 | engines: {node: '>=12'}
1075 | cpu: [x64]
1076 | os: [darwin]
1077 | requiresBuild: true
1078 | dev: true
1079 | optional: true
1080 |
1081 | /esbuild-darwin-arm64/0.14.49:
1082 | resolution: {integrity: sha512-XMaqDxO846srnGlUSJnwbijV29MTKUATmOLyQSfswbK/2X5Uv28M9tTLUJcKKxzoo9lnkYPsx2o8EJcTYwCs/A==}
1083 | engines: {node: '>=12'}
1084 | cpu: [arm64]
1085 | os: [darwin]
1086 | requiresBuild: true
1087 | dev: true
1088 | optional: true
1089 |
1090 | /esbuild-freebsd-64/0.14.49:
1091 | resolution: {integrity: sha512-NJ5Q6AjV879mOHFri+5lZLTp5XsO2hQ+KSJYLbfY9DgCu8s6/Zl2prWXVANYTeCDLlrIlNNYw8y34xqyLDKOmQ==}
1092 | engines: {node: '>=12'}
1093 | cpu: [x64]
1094 | os: [freebsd]
1095 | requiresBuild: true
1096 | dev: true
1097 | optional: true
1098 |
1099 | /esbuild-freebsd-arm64/0.14.49:
1100 | resolution: {integrity: sha512-lFLtgXnAc3eXYqj5koPlBZvEbBSOSUbWO3gyY/0+4lBdRqELyz4bAuamHvmvHW5swJYL7kngzIZw6kdu25KGOA==}
1101 | engines: {node: '>=12'}
1102 | cpu: [arm64]
1103 | os: [freebsd]
1104 | requiresBuild: true
1105 | dev: true
1106 | optional: true
1107 |
1108 | /esbuild-linux-32/0.14.49:
1109 | resolution: {integrity: sha512-zTTH4gr2Kb8u4QcOpTDVn7Z8q7QEIvFl/+vHrI3cF6XOJS7iEI1FWslTo3uofB2+mn6sIJEQD9PrNZKoAAMDiA==}
1110 | engines: {node: '>=12'}
1111 | cpu: [ia32]
1112 | os: [linux]
1113 | requiresBuild: true
1114 | dev: true
1115 | optional: true
1116 |
1117 | /esbuild-linux-64/0.14.49:
1118 | resolution: {integrity: sha512-hYmzRIDzFfLrB5c1SknkxzM8LdEUOusp6M2TnuQZJLRtxTgyPnZZVtyMeCLki0wKgYPXkFsAVhi8vzo2mBNeTg==}
1119 | engines: {node: '>=12'}
1120 | cpu: [x64]
1121 | os: [linux]
1122 | requiresBuild: true
1123 | dev: true
1124 | optional: true
1125 |
1126 | /esbuild-linux-arm/0.14.49:
1127 | resolution: {integrity: sha512-iE3e+ZVv1Qz1Sy0gifIsarJMQ89Rpm9mtLSRtG3AH0FPgAzQ5Z5oU6vYzhc/3gSPi2UxdCOfRhw2onXuFw/0lg==}
1128 | engines: {node: '>=12'}
1129 | cpu: [arm]
1130 | os: [linux]
1131 | requiresBuild: true
1132 | dev: true
1133 | optional: true
1134 |
1135 | /esbuild-linux-arm64/0.14.49:
1136 | resolution: {integrity: sha512-KLQ+WpeuY+7bxukxLz5VgkAAVQxUv67Ft4DmHIPIW+2w3ObBPQhqNoeQUHxopoW/aiOn3m99NSmSV+bs4BSsdA==}
1137 | engines: {node: '>=12'}
1138 | cpu: [arm64]
1139 | os: [linux]
1140 | requiresBuild: true
1141 | dev: true
1142 | optional: true
1143 |
1144 | /esbuild-linux-mips64le/0.14.49:
1145 | resolution: {integrity: sha512-n+rGODfm8RSum5pFIqFQVQpYBw+AztL8s6o9kfx7tjfK0yIGF6tm5HlG6aRjodiiKkH2xAiIM+U4xtQVZYU4rA==}
1146 | engines: {node: '>=12'}
1147 | cpu: [mips64el]
1148 | os: [linux]
1149 | requiresBuild: true
1150 | dev: true
1151 | optional: true
1152 |
1153 | /esbuild-linux-ppc64le/0.14.49:
1154 | resolution: {integrity: sha512-WP9zR4HX6iCBmMFH+XHHng2LmdoIeUmBpL4aL2TR8ruzXyT4dWrJ5BSbT8iNo6THN8lod6GOmYDLq/dgZLalGw==}
1155 | engines: {node: '>=12'}
1156 | cpu: [ppc64]
1157 | os: [linux]
1158 | requiresBuild: true
1159 | dev: true
1160 | optional: true
1161 |
1162 | /esbuild-linux-riscv64/0.14.49:
1163 | resolution: {integrity: sha512-h66ORBz+Dg+1KgLvzTVQEA1LX4XBd1SK0Fgbhhw4akpG/YkN8pS6OzYI/7SGENiN6ao5hETRDSkVcvU9NRtkMQ==}
1164 | engines: {node: '>=12'}
1165 | cpu: [riscv64]
1166 | os: [linux]
1167 | requiresBuild: true
1168 | dev: true
1169 | optional: true
1170 |
1171 | /esbuild-linux-s390x/0.14.49:
1172 | resolution: {integrity: sha512-DhrUoFVWD+XmKO1y7e4kNCqQHPs6twz6VV6Uezl/XHYGzM60rBewBF5jlZjG0nCk5W/Xy6y1xWeopkrhFFM0sQ==}
1173 | engines: {node: '>=12'}
1174 | cpu: [s390x]
1175 | os: [linux]
1176 | requiresBuild: true
1177 | dev: true
1178 | optional: true
1179 |
1180 | /esbuild-netbsd-64/0.14.49:
1181 | resolution: {integrity: sha512-BXaUwFOfCy2T+hABtiPUIpWjAeWK9P8O41gR4Pg73hpzoygVGnj0nI3YK4SJhe52ELgtdgWP/ckIkbn2XaTxjQ==}
1182 | engines: {node: '>=12'}
1183 | cpu: [x64]
1184 | os: [netbsd]
1185 | requiresBuild: true
1186 | dev: true
1187 | optional: true
1188 |
1189 | /esbuild-openbsd-64/0.14.49:
1190 | resolution: {integrity: sha512-lP06UQeLDGmVPw9Rg437Btu6J9/BmyhdoefnQ4gDEJTtJvKtQaUcOQrhjTq455ouZN4EHFH1h28WOJVANK41kA==}
1191 | engines: {node: '>=12'}
1192 | cpu: [x64]
1193 | os: [openbsd]
1194 | requiresBuild: true
1195 | dev: true
1196 | optional: true
1197 |
1198 | /esbuild-sunos-64/0.14.49:
1199 | resolution: {integrity: sha512-4c8Zowp+V3zIWje329BeLbGh6XI9c/rqARNaj5yPHdC61pHI9UNdDxT3rePPJeWcEZVKjkiAS6AP6kiITp7FSw==}
1200 | engines: {node: '>=12'}
1201 | cpu: [x64]
1202 | os: [sunos]
1203 | requiresBuild: true
1204 | dev: true
1205 | optional: true
1206 |
1207 | /esbuild-windows-32/0.14.49:
1208 | resolution: {integrity: sha512-q7Rb+J9yHTeKr9QTPDYkqfkEj8/kcKz9lOabDuvEXpXuIcosWCJgo5Z7h/L4r7rbtTH4a8U2FGKb6s1eeOHmJA==}
1209 | engines: {node: '>=12'}
1210 | cpu: [ia32]
1211 | os: [win32]
1212 | requiresBuild: true
1213 | dev: true
1214 | optional: true
1215 |
1216 | /esbuild-windows-64/0.14.49:
1217 | resolution: {integrity: sha512-+Cme7Ongv0UIUTniPqfTX6mJ8Deo7VXw9xN0yJEN1lQMHDppTNmKwAM3oGbD/Vqff+07K2gN0WfNkMohmG+dVw==}
1218 | engines: {node: '>=12'}
1219 | cpu: [x64]
1220 | os: [win32]
1221 | requiresBuild: true
1222 | dev: true
1223 | optional: true
1224 |
1225 | /esbuild-windows-arm64/0.14.49:
1226 | resolution: {integrity: sha512-v+HYNAXzuANrCbbLFJ5nmO3m5y2PGZWLe3uloAkLt87aXiO2mZr3BTmacZdjwNkNEHuH3bNtN8cak+mzVjVPfA==}
1227 | engines: {node: '>=12'}
1228 | cpu: [arm64]
1229 | os: [win32]
1230 | requiresBuild: true
1231 | dev: true
1232 | optional: true
1233 |
1234 | /esbuild/0.14.49:
1235 | resolution: {integrity: sha512-/TlVHhOaq7Yz8N1OJrjqM3Auzo5wjvHFLk+T8pIue+fhnhIMpfAzsG6PLVMbFveVxqD2WOp3QHei+52IMUNmCw==}
1236 | engines: {node: '>=12'}
1237 | hasBin: true
1238 | requiresBuild: true
1239 | optionalDependencies:
1240 | esbuild-android-64: 0.14.49
1241 | esbuild-android-arm64: 0.14.49
1242 | esbuild-darwin-64: 0.14.49
1243 | esbuild-darwin-arm64: 0.14.49
1244 | esbuild-freebsd-64: 0.14.49
1245 | esbuild-freebsd-arm64: 0.14.49
1246 | esbuild-linux-32: 0.14.49
1247 | esbuild-linux-64: 0.14.49
1248 | esbuild-linux-arm: 0.14.49
1249 | esbuild-linux-arm64: 0.14.49
1250 | esbuild-linux-mips64le: 0.14.49
1251 | esbuild-linux-ppc64le: 0.14.49
1252 | esbuild-linux-riscv64: 0.14.49
1253 | esbuild-linux-s390x: 0.14.49
1254 | esbuild-netbsd-64: 0.14.49
1255 | esbuild-openbsd-64: 0.14.49
1256 | esbuild-sunos-64: 0.14.49
1257 | esbuild-windows-32: 0.14.49
1258 | esbuild-windows-64: 0.14.49
1259 | esbuild-windows-arm64: 0.14.49
1260 | dev: true
1261 |
1262 | /escalade/3.1.1:
1263 | resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==}
1264 | engines: {node: '>=6'}
1265 | dev: true
1266 |
1267 | /escape-string-regexp/4.0.0:
1268 | resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==}
1269 | engines: {node: '>=10'}
1270 | dev: true
1271 |
1272 | /escodegen/2.0.0:
1273 | resolution: {integrity: sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==}
1274 | engines: {node: '>=6.0'}
1275 | hasBin: true
1276 | dependencies:
1277 | esprima: 4.0.1
1278 | estraverse: 5.3.0
1279 | esutils: 2.0.3
1280 | optionator: 0.8.3
1281 | optionalDependencies:
1282 | source-map: 0.6.1
1283 | dev: true
1284 |
1285 | /eslint-plugin-vue/9.4.0_eslint@8.23.0:
1286 | resolution: {integrity: sha512-Nzz2QIJ8FG+rtJaqT/7/ru5ie2XgT9KCudkbN0y3uFYhQ41nuHEaboLAiqwMcK006hZPQv/rVMRhUIwEGhIvfQ==}
1287 | engines: {node: ^14.17.0 || >=16.0.0}
1288 | peerDependencies:
1289 | eslint: ^6.2.0 || ^7.0.0 || ^8.0.0
1290 | dependencies:
1291 | eslint: 8.23.0
1292 | eslint-utils: 3.0.0_eslint@8.23.0
1293 | natural-compare: 1.4.0
1294 | nth-check: 2.1.1
1295 | postcss-selector-parser: 6.0.10
1296 | semver: 7.3.7
1297 | vue-eslint-parser: 9.0.3_eslint@8.23.0
1298 | xml-name-validator: 4.0.0
1299 | transitivePeerDependencies:
1300 | - supports-color
1301 | dev: true
1302 |
1303 | /eslint-scope/5.1.1:
1304 | resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==}
1305 | engines: {node: '>=8.0.0'}
1306 | dependencies:
1307 | esrecurse: 4.3.0
1308 | estraverse: 4.3.0
1309 | dev: true
1310 |
1311 | /eslint-scope/7.1.1:
1312 | resolution: {integrity: sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==}
1313 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
1314 | dependencies:
1315 | esrecurse: 4.3.0
1316 | estraverse: 5.3.0
1317 | dev: true
1318 |
1319 | /eslint-utils/3.0.0_eslint@8.23.0:
1320 | resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==}
1321 | engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0}
1322 | peerDependencies:
1323 | eslint: '>=5'
1324 | dependencies:
1325 | eslint: 8.23.0
1326 | eslint-visitor-keys: 2.1.0
1327 | dev: true
1328 |
1329 | /eslint-visitor-keys/2.1.0:
1330 | resolution: {integrity: sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==}
1331 | engines: {node: '>=10'}
1332 | dev: true
1333 |
1334 | /eslint-visitor-keys/3.3.0:
1335 | resolution: {integrity: sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==}
1336 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
1337 | dev: true
1338 |
1339 | /eslint/8.23.0:
1340 | resolution: {integrity: sha512-pBG/XOn0MsJcKcTRLr27S5HpzQo4kLr+HjLQIyK4EiCsijDl/TB+h5uEuJU6bQ8Edvwz1XWOjpaP2qgnXGpTcA==}
1341 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
1342 | hasBin: true
1343 | dependencies:
1344 | '@eslint/eslintrc': 1.3.1
1345 | '@humanwhocodes/config-array': 0.10.4
1346 | '@humanwhocodes/gitignore-to-minimatch': 1.0.2
1347 | '@humanwhocodes/module-importer': 1.0.1
1348 | ajv: 6.12.6
1349 | chalk: 4.1.2
1350 | cross-spawn: 7.0.3
1351 | debug: 4.3.4
1352 | doctrine: 3.0.0
1353 | escape-string-regexp: 4.0.0
1354 | eslint-scope: 7.1.1
1355 | eslint-utils: 3.0.0_eslint@8.23.0
1356 | eslint-visitor-keys: 3.3.0
1357 | espree: 9.4.0
1358 | esquery: 1.4.0
1359 | esutils: 2.0.3
1360 | fast-deep-equal: 3.1.3
1361 | file-entry-cache: 6.0.1
1362 | find-up: 5.0.0
1363 | functional-red-black-tree: 1.0.1
1364 | glob-parent: 6.0.2
1365 | globals: 13.17.0
1366 | globby: 11.1.0
1367 | grapheme-splitter: 1.0.4
1368 | ignore: 5.2.0
1369 | import-fresh: 3.3.0
1370 | imurmurhash: 0.1.4
1371 | is-glob: 4.0.3
1372 | js-yaml: 4.1.0
1373 | json-stable-stringify-without-jsonify: 1.0.1
1374 | levn: 0.4.1
1375 | lodash.merge: 4.6.2
1376 | minimatch: 3.1.2
1377 | natural-compare: 1.4.0
1378 | optionator: 0.9.1
1379 | regexpp: 3.2.0
1380 | strip-ansi: 6.0.1
1381 | strip-json-comments: 3.1.1
1382 | text-table: 0.2.0
1383 | transitivePeerDependencies:
1384 | - supports-color
1385 | dev: true
1386 |
1387 | /espree/9.3.2:
1388 | resolution: {integrity: sha512-D211tC7ZwouTIuY5x9XnS0E9sWNChB7IYKX/Xp5eQj3nFXhqmiUDB9q27y76oFl8jTg3pXcQx/bpxMfs3CIZbA==}
1389 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
1390 | dependencies:
1391 | acorn: 8.8.0
1392 | acorn-jsx: 5.3.2_acorn@8.8.0
1393 | eslint-visitor-keys: 3.3.0
1394 | dev: true
1395 |
1396 | /espree/9.4.0:
1397 | resolution: {integrity: sha512-DQmnRpLj7f6TgN/NYb0MTzJXL+vJF9h3pHy4JhCIs3zwcgez8xmGg3sXHcEO97BrmO2OSvCwMdfdlyl+E9KjOw==}
1398 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
1399 | dependencies:
1400 | acorn: 8.8.0
1401 | acorn-jsx: 5.3.2_acorn@8.8.0
1402 | eslint-visitor-keys: 3.3.0
1403 | dev: true
1404 |
1405 | /esprima/4.0.1:
1406 | resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==}
1407 | engines: {node: '>=4'}
1408 | hasBin: true
1409 | dev: true
1410 |
1411 | /esquery/1.4.0:
1412 | resolution: {integrity: sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==}
1413 | engines: {node: '>=0.10'}
1414 | dependencies:
1415 | estraverse: 5.3.0
1416 | dev: true
1417 |
1418 | /esrecurse/4.3.0:
1419 | resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==}
1420 | engines: {node: '>=4.0'}
1421 | dependencies:
1422 | estraverse: 5.3.0
1423 | dev: true
1424 |
1425 | /estraverse/4.3.0:
1426 | resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==}
1427 | engines: {node: '>=4.0'}
1428 | dev: true
1429 |
1430 | /estraverse/5.3.0:
1431 | resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==}
1432 | engines: {node: '>=4.0'}
1433 | dev: true
1434 |
1435 | /estree-walker/2.0.2:
1436 | resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==}
1437 |
1438 | /esutils/2.0.3:
1439 | resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==}
1440 | engines: {node: '>=0.10.0'}
1441 | dev: true
1442 |
1443 | /extend-shallow/2.0.1:
1444 | resolution: {integrity: sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=}
1445 | engines: {node: '>=0.10.0'}
1446 | dependencies:
1447 | is-extendable: 0.1.1
1448 | dev: true
1449 |
1450 | /fast-deep-equal/3.1.3:
1451 | resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==}
1452 | dev: true
1453 |
1454 | /fast-glob/3.2.11:
1455 | resolution: {integrity: sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==}
1456 | engines: {node: '>=8.6.0'}
1457 | dependencies:
1458 | '@nodelib/fs.stat': 2.0.5
1459 | '@nodelib/fs.walk': 1.2.8
1460 | glob-parent: 5.1.2
1461 | merge2: 1.4.1
1462 | micromatch: 4.0.5
1463 | dev: true
1464 |
1465 | /fast-json-stable-stringify/2.1.0:
1466 | resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==}
1467 | dev: true
1468 |
1469 | /fast-levenshtein/2.0.6:
1470 | resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==}
1471 | dev: true
1472 |
1473 | /fastq/1.13.0:
1474 | resolution: {integrity: sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==}
1475 | dependencies:
1476 | reusify: 1.0.4
1477 | dev: true
1478 |
1479 | /file-entry-cache/6.0.1:
1480 | resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==}
1481 | engines: {node: ^10.12.0 || >=12.0.0}
1482 | dependencies:
1483 | flat-cache: 3.0.4
1484 | dev: true
1485 |
1486 | /fill-range/7.0.1:
1487 | resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==}
1488 | engines: {node: '>=8'}
1489 | dependencies:
1490 | to-regex-range: 5.0.1
1491 | dev: true
1492 |
1493 | /find-up/5.0.0:
1494 | resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==}
1495 | engines: {node: '>=10'}
1496 | dependencies:
1497 | locate-path: 6.0.0
1498 | path-exists: 4.0.0
1499 | dev: true
1500 |
1501 | /flat-cache/3.0.4:
1502 | resolution: {integrity: sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==}
1503 | engines: {node: ^10.12.0 || >=12.0.0}
1504 | dependencies:
1505 | flatted: 3.2.6
1506 | rimraf: 3.0.2
1507 | dev: true
1508 |
1509 | /flatted/3.2.6:
1510 | resolution: {integrity: sha512-0sQoMh9s0BYsm+12Huy/rkKxVu4R1+r96YX5cG44rHV0pQ6iC3Q+mkoMFaGWObMFYQxCVT+ssG1ksneA2MI9KQ==}
1511 | dev: true
1512 |
1513 | /form-data/4.0.0:
1514 | resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==}
1515 | engines: {node: '>= 6'}
1516 | dependencies:
1517 | asynckit: 0.4.0
1518 | combined-stream: 1.0.8
1519 | mime-types: 2.1.35
1520 | dev: true
1521 |
1522 | /fs.realpath/1.0.0:
1523 | resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==}
1524 | dev: true
1525 |
1526 | /fsevents/2.3.2:
1527 | resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==}
1528 | engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
1529 | os: [darwin]
1530 | requiresBuild: true
1531 | dev: true
1532 | optional: true
1533 |
1534 | /function-bind/1.1.1:
1535 | resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==}
1536 | dev: true
1537 |
1538 | /functional-red-black-tree/1.0.1:
1539 | resolution: {integrity: sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==}
1540 | dev: true
1541 |
1542 | /get-func-name/2.0.0:
1543 | resolution: {integrity: sha512-Hm0ixYtaSZ/V7C8FJrtZIuBBI+iSgL+1Aq82zSu8VQNB4S3Gk8e7Qs3VwBDJAhmRZcFqkl3tQu36g/Foh5I5ig==}
1544 | dev: true
1545 |
1546 | /glob-parent/5.1.2:
1547 | resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==}
1548 | engines: {node: '>= 6'}
1549 | dependencies:
1550 | is-glob: 4.0.3
1551 | dev: true
1552 |
1553 | /glob-parent/6.0.2:
1554 | resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==}
1555 | engines: {node: '>=10.13.0'}
1556 | dependencies:
1557 | is-glob: 4.0.3
1558 | dev: true
1559 |
1560 | /glob/7.2.0:
1561 | resolution: {integrity: sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==}
1562 | dependencies:
1563 | fs.realpath: 1.0.0
1564 | inflight: 1.0.6
1565 | inherits: 2.0.4
1566 | minimatch: 3.1.2
1567 | once: 1.4.0
1568 | path-is-absolute: 1.0.1
1569 | dev: true
1570 |
1571 | /glob/7.2.3:
1572 | resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==}
1573 | dependencies:
1574 | fs.realpath: 1.0.0
1575 | inflight: 1.0.6
1576 | inherits: 2.0.4
1577 | minimatch: 3.1.2
1578 | once: 1.4.0
1579 | path-is-absolute: 1.0.1
1580 | dev: true
1581 |
1582 | /globals/13.17.0:
1583 | resolution: {integrity: sha512-1C+6nQRb1GwGMKm2dH/E7enFAMxGTmGI7/dEdhy/DNelv85w9B72t3uc5frtMNXIbzrarJJ/lTCjcaZwbLJmyw==}
1584 | engines: {node: '>=8'}
1585 | dependencies:
1586 | type-fest: 0.20.2
1587 | dev: true
1588 |
1589 | /globby/11.1.0:
1590 | resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==}
1591 | engines: {node: '>=10'}
1592 | dependencies:
1593 | array-union: 2.1.0
1594 | dir-glob: 3.0.1
1595 | fast-glob: 3.2.11
1596 | ignore: 5.2.0
1597 | merge2: 1.4.1
1598 | slash: 3.0.0
1599 | dev: true
1600 |
1601 | /grapheme-splitter/1.0.4:
1602 | resolution: {integrity: sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==}
1603 | dev: true
1604 |
1605 | /has-flag/4.0.0:
1606 | resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==}
1607 | engines: {node: '>=8'}
1608 | dev: true
1609 |
1610 | /has/1.0.3:
1611 | resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==}
1612 | engines: {node: '>= 0.4.0'}
1613 | dependencies:
1614 | function-bind: 1.1.1
1615 | dev: true
1616 |
1617 | /he/1.2.0:
1618 | resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==}
1619 | hasBin: true
1620 | dev: true
1621 |
1622 | /html-encoding-sniffer/3.0.0:
1623 | resolution: {integrity: sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==}
1624 | engines: {node: '>=12'}
1625 | dependencies:
1626 | whatwg-encoding: 2.0.0
1627 | dev: true
1628 |
1629 | /http-proxy-agent/5.0.0:
1630 | resolution: {integrity: sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==}
1631 | engines: {node: '>= 6'}
1632 | dependencies:
1633 | '@tootallnate/once': 2.0.0
1634 | agent-base: 6.0.2
1635 | debug: 4.3.4
1636 | transitivePeerDependencies:
1637 | - supports-color
1638 | dev: true
1639 |
1640 | /https-proxy-agent/5.0.1:
1641 | resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==}
1642 | engines: {node: '>= 6'}
1643 | dependencies:
1644 | agent-base: 6.0.2
1645 | debug: 4.3.4
1646 | transitivePeerDependencies:
1647 | - supports-color
1648 | dev: true
1649 |
1650 | /iconv-lite/0.6.3:
1651 | resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==}
1652 | engines: {node: '>=0.10.0'}
1653 | dependencies:
1654 | safer-buffer: 2.1.2
1655 | dev: true
1656 |
1657 | /ignore/5.2.0:
1658 | resolution: {integrity: sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==}
1659 | engines: {node: '>= 4'}
1660 | dev: true
1661 |
1662 | /import-fresh/3.3.0:
1663 | resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==}
1664 | engines: {node: '>=6'}
1665 | dependencies:
1666 | parent-module: 1.0.1
1667 | resolve-from: 4.0.0
1668 | dev: true
1669 |
1670 | /imurmurhash/0.1.4:
1671 | resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==}
1672 | engines: {node: '>=0.8.19'}
1673 | dev: true
1674 |
1675 | /inflight/1.0.6:
1676 | resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==}
1677 | dependencies:
1678 | once: 1.4.0
1679 | wrappy: 1.0.2
1680 | dev: true
1681 |
1682 | /inherits/2.0.4:
1683 | resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
1684 | dev: true
1685 |
1686 | /ini/1.3.8:
1687 | resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==}
1688 | dev: true
1689 |
1690 | /is-buffer/1.1.6:
1691 | resolution: {integrity: sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==}
1692 | dev: true
1693 |
1694 | /is-core-module/2.9.0:
1695 | resolution: {integrity: sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==}
1696 | dependencies:
1697 | has: 1.0.3
1698 | dev: true
1699 |
1700 | /is-extendable/0.1.1:
1701 | resolution: {integrity: sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=}
1702 | engines: {node: '>=0.10.0'}
1703 | dev: true
1704 |
1705 | /is-extglob/2.1.1:
1706 | resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
1707 | engines: {node: '>=0.10.0'}
1708 | dev: true
1709 |
1710 | /is-glob/4.0.3:
1711 | resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
1712 | engines: {node: '>=0.10.0'}
1713 | dependencies:
1714 | is-extglob: 2.1.1
1715 | dev: true
1716 |
1717 | /is-number/7.0.0:
1718 | resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
1719 | engines: {node: '>=0.12.0'}
1720 | dev: true
1721 |
1722 | /is-potential-custom-element-name/1.0.1:
1723 | resolution: {integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==}
1724 | dev: true
1725 |
1726 | /is-whitespace/0.3.0:
1727 | resolution: {integrity: sha1-Fjnssb4DauxppUy7QBz77XEUq38=}
1728 | engines: {node: '>=0.10.0'}
1729 | dev: true
1730 |
1731 | /isexe/2.0.0:
1732 | resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
1733 | dev: true
1734 |
1735 | /js-beautify/1.14.2:
1736 | resolution: {integrity: sha512-H85kX95a53os+q1OCqtYe8AXAmgy3BvtysA/V83S3fdhznm6WlUpGi14DqSPbKFsL3dXZFXYl7YQwW9U1+76ng==}
1737 | engines: {node: '>=10'}
1738 | hasBin: true
1739 | dependencies:
1740 | config-chain: 1.1.13
1741 | editorconfig: 0.15.3
1742 | glob: 7.2.0
1743 | nopt: 5.0.0
1744 | dev: true
1745 |
1746 | /js-yaml/4.1.0:
1747 | resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==}
1748 | hasBin: true
1749 | dependencies:
1750 | argparse: 2.0.1
1751 | dev: true
1752 |
1753 | /jsdom/20.0.0:
1754 | resolution: {integrity: sha512-x4a6CKCgx00uCmP+QakBDFXwjAJ69IkkIWHmtmjd3wvXPcdOS44hfX2vqkOQrVrq8l9DhNNADZRXaCEWvgXtVA==}
1755 | engines: {node: '>=14'}
1756 | peerDependencies:
1757 | canvas: ^2.5.0
1758 | peerDependenciesMeta:
1759 | canvas:
1760 | optional: true
1761 | dependencies:
1762 | abab: 2.0.6
1763 | acorn: 8.8.0
1764 | acorn-globals: 6.0.0
1765 | cssom: 0.5.0
1766 | cssstyle: 2.3.0
1767 | data-urls: 3.0.2
1768 | decimal.js: 10.3.1
1769 | domexception: 4.0.0
1770 | escodegen: 2.0.0
1771 | form-data: 4.0.0
1772 | html-encoding-sniffer: 3.0.0
1773 | http-proxy-agent: 5.0.0
1774 | https-proxy-agent: 5.0.1
1775 | is-potential-custom-element-name: 1.0.1
1776 | nwsapi: 2.2.1
1777 | parse5: 7.0.0
1778 | saxes: 6.0.0
1779 | symbol-tree: 3.2.4
1780 | tough-cookie: 4.0.0
1781 | w3c-hr-time: 1.0.2
1782 | w3c-xmlserializer: 3.0.0
1783 | webidl-conversions: 7.0.0
1784 | whatwg-encoding: 2.0.0
1785 | whatwg-mimetype: 3.0.0
1786 | whatwg-url: 11.0.0
1787 | ws: 8.8.1
1788 | xml-name-validator: 4.0.0
1789 | transitivePeerDependencies:
1790 | - bufferutil
1791 | - supports-color
1792 | - utf-8-validate
1793 | dev: true
1794 |
1795 | /json-schema-traverse/0.4.1:
1796 | resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==}
1797 | dev: true
1798 |
1799 | /json-stable-stringify-without-jsonify/1.0.1:
1800 | resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==}
1801 | dev: true
1802 |
1803 | /kind-of/3.2.2:
1804 | resolution: {integrity: sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=}
1805 | engines: {node: '>=0.10.0'}
1806 | dependencies:
1807 | is-buffer: 1.1.6
1808 | dev: true
1809 |
1810 | /levn/0.3.0:
1811 | resolution: {integrity: sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==}
1812 | engines: {node: '>= 0.8.0'}
1813 | dependencies:
1814 | prelude-ls: 1.1.2
1815 | type-check: 0.3.2
1816 | dev: true
1817 |
1818 | /levn/0.4.1:
1819 | resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==}
1820 | engines: {node: '>= 0.8.0'}
1821 | dependencies:
1822 | prelude-ls: 1.2.1
1823 | type-check: 0.4.0
1824 | dev: true
1825 |
1826 | /local-pkg/0.4.2:
1827 | resolution: {integrity: sha512-mlERgSPrbxU3BP4qBqAvvwlgW4MTg78iwJdGGnv7kibKjWcJksrG3t6LB5lXI93wXRDvG4NpUgJFmTG4T6rdrg==}
1828 | engines: {node: '>=14'}
1829 | dev: true
1830 |
1831 | /locate-path/6.0.0:
1832 | resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==}
1833 | engines: {node: '>=10'}
1834 | dependencies:
1835 | p-locate: 5.0.0
1836 | dev: true
1837 |
1838 | /lodash.merge/4.6.2:
1839 | resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==}
1840 | dev: true
1841 |
1842 | /lodash/4.17.21:
1843 | resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==}
1844 | dev: true
1845 |
1846 | /loupe/2.3.4:
1847 | resolution: {integrity: sha512-OvKfgCC2Ndby6aSTREl5aCCPTNIzlDfQZvZxNUrBrihDhL3xcrYegTblhmEiCrg2kKQz4XsFIaemE5BF4ybSaQ==}
1848 | dependencies:
1849 | get-func-name: 2.0.0
1850 | dev: true
1851 |
1852 | /lru-cache/4.1.5:
1853 | resolution: {integrity: sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==}
1854 | dependencies:
1855 | pseudomap: 1.0.2
1856 | yallist: 2.1.2
1857 | dev: true
1858 |
1859 | /lru-cache/6.0.0:
1860 | resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==}
1861 | engines: {node: '>=10'}
1862 | dependencies:
1863 | yallist: 4.0.0
1864 | dev: true
1865 |
1866 | /magic-string/0.25.9:
1867 | resolution: {integrity: sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==}
1868 | dependencies:
1869 | sourcemap-codec: 1.4.8
1870 |
1871 | /merge2/1.4.1:
1872 | resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==}
1873 | engines: {node: '>= 8'}
1874 | dev: true
1875 |
1876 | /micromatch/4.0.5:
1877 | resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==}
1878 | engines: {node: '>=8.6'}
1879 | dependencies:
1880 | braces: 3.0.2
1881 | picomatch: 2.3.1
1882 | dev: true
1883 |
1884 | /mime-db/1.52.0:
1885 | resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==}
1886 | engines: {node: '>= 0.6'}
1887 | dev: true
1888 |
1889 | /mime-types/2.1.35:
1890 | resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==}
1891 | engines: {node: '>= 0.6'}
1892 | dependencies:
1893 | mime-db: 1.52.0
1894 | dev: true
1895 |
1896 | /minimatch/3.1.2:
1897 | resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==}
1898 | dependencies:
1899 | brace-expansion: 1.1.11
1900 | dev: true
1901 |
1902 | /ms/2.1.2:
1903 | resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==}
1904 | dev: true
1905 |
1906 | /nanoid/3.3.4:
1907 | resolution: {integrity: sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==}
1908 | engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
1909 | hasBin: true
1910 |
1911 | /natural-compare/1.4.0:
1912 | resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==}
1913 | dev: true
1914 |
1915 | /node-releases/2.0.6:
1916 | resolution: {integrity: sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==}
1917 | dev: true
1918 |
1919 | /nopt/5.0.0:
1920 | resolution: {integrity: sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==}
1921 | engines: {node: '>=6'}
1922 | hasBin: true
1923 | dependencies:
1924 | abbrev: 1.1.1
1925 | dev: true
1926 |
1927 | /nth-check/2.1.1:
1928 | resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==}
1929 | dependencies:
1930 | boolbase: 1.0.0
1931 | dev: true
1932 |
1933 | /nwsapi/2.2.1:
1934 | resolution: {integrity: sha512-JYOWTeFoS0Z93587vRJgASD5Ut11fYl5NyihP3KrYBvMe1FRRs6RN7m20SA/16GM4P6hTnZjT+UmDOt38UeXNg==}
1935 | dev: true
1936 |
1937 | /once/1.4.0:
1938 | resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
1939 | dependencies:
1940 | wrappy: 1.0.2
1941 | dev: true
1942 |
1943 | /optionator/0.8.3:
1944 | resolution: {integrity: sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==}
1945 | engines: {node: '>= 0.8.0'}
1946 | dependencies:
1947 | deep-is: 0.1.4
1948 | fast-levenshtein: 2.0.6
1949 | levn: 0.3.0
1950 | prelude-ls: 1.1.2
1951 | type-check: 0.3.2
1952 | word-wrap: 1.2.3
1953 | dev: true
1954 |
1955 | /optionator/0.9.1:
1956 | resolution: {integrity: sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==}
1957 | engines: {node: '>= 0.8.0'}
1958 | dependencies:
1959 | deep-is: 0.1.4
1960 | fast-levenshtein: 2.0.6
1961 | levn: 0.4.1
1962 | prelude-ls: 1.2.1
1963 | type-check: 0.4.0
1964 | word-wrap: 1.2.3
1965 | dev: true
1966 |
1967 | /p-limit/3.1.0:
1968 | resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==}
1969 | engines: {node: '>=10'}
1970 | dependencies:
1971 | yocto-queue: 0.1.0
1972 | dev: true
1973 |
1974 | /p-locate/5.0.0:
1975 | resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==}
1976 | engines: {node: '>=10'}
1977 | dependencies:
1978 | p-limit: 3.1.0
1979 | dev: true
1980 |
1981 | /parent-module/1.0.1:
1982 | resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==}
1983 | engines: {node: '>=6'}
1984 | dependencies:
1985 | callsites: 3.1.0
1986 | dev: true
1987 |
1988 | /parse5/7.0.0:
1989 | resolution: {integrity: sha512-y/t8IXSPWTuRZqXc0ajH/UwDj4mnqLEbSttNbThcFhGrZuOyoyvNBO85PBp2jQa55wY9d07PBNjsK8ZP3K5U6g==}
1990 | dependencies:
1991 | entities: 4.3.1
1992 | dev: true
1993 |
1994 | /path-exists/4.0.0:
1995 | resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==}
1996 | engines: {node: '>=8'}
1997 | dev: true
1998 |
1999 | /path-is-absolute/1.0.1:
2000 | resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==}
2001 | engines: {node: '>=0.10.0'}
2002 | dev: true
2003 |
2004 | /path-key/3.1.1:
2005 | resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==}
2006 | engines: {node: '>=8'}
2007 | dev: true
2008 |
2009 | /path-parse/1.0.7:
2010 | resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
2011 | dev: true
2012 |
2013 | /path-type/4.0.0:
2014 | resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==}
2015 | engines: {node: '>=8'}
2016 | dev: true
2017 |
2018 | /pathval/1.1.1:
2019 | resolution: {integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==}
2020 | dev: true
2021 |
2022 | /picocolors/1.0.0:
2023 | resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==}
2024 |
2025 | /picomatch/2.3.1:
2026 | resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
2027 | engines: {node: '>=8.6'}
2028 | dev: true
2029 |
2030 | /postcss-selector-parser/6.0.10:
2031 | resolution: {integrity: sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==}
2032 | engines: {node: '>=4'}
2033 | dependencies:
2034 | cssesc: 3.0.0
2035 | util-deprecate: 1.0.2
2036 | dev: true
2037 |
2038 | /postcss/8.4.16:
2039 | resolution: {integrity: sha512-ipHE1XBvKzm5xI7hiHCZJCSugxvsdq2mPnsq5+UF+VHCjiBvtDrlxJfMBToWaP9D5XlgNmcFGqoHmUn0EYEaRQ==}
2040 | engines: {node: ^10 || ^12 || >=14}
2041 | dependencies:
2042 | nanoid: 3.3.4
2043 | picocolors: 1.0.0
2044 | source-map-js: 1.0.2
2045 |
2046 | /prelude-ls/1.1.2:
2047 | resolution: {integrity: sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==}
2048 | engines: {node: '>= 0.8.0'}
2049 | dev: true
2050 |
2051 | /prelude-ls/1.2.1:
2052 | resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==}
2053 | engines: {node: '>= 0.8.0'}
2054 | dev: true
2055 |
2056 | /pretty/2.0.0:
2057 | resolution: {integrity: sha1-rbx5YLe7/iiaVX3F9zdhmiINBqU=}
2058 | engines: {node: '>=0.10.0'}
2059 | dependencies:
2060 | condense-newlines: 0.2.1
2061 | extend-shallow: 2.0.1
2062 | js-beautify: 1.14.2
2063 | dev: true
2064 |
2065 | /proto-list/1.2.4:
2066 | resolution: {integrity: sha1-IS1b/hMYMGpCD2QCuOJv85ZHqEk=}
2067 | dev: true
2068 |
2069 | /pseudomap/1.0.2:
2070 | resolution: {integrity: sha1-8FKijacOYYkX7wqKw0wa5aaChrM=}
2071 | dev: true
2072 |
2073 | /psl/1.9.0:
2074 | resolution: {integrity: sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==}
2075 | dev: true
2076 |
2077 | /punycode/2.1.1:
2078 | resolution: {integrity: sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==}
2079 | engines: {node: '>=6'}
2080 | dev: true
2081 |
2082 | /queue-microtask/1.2.3:
2083 | resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
2084 | dev: true
2085 |
2086 | /regenerator-runtime/0.13.9:
2087 | resolution: {integrity: sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==}
2088 | dev: false
2089 |
2090 | /regexpp/3.2.0:
2091 | resolution: {integrity: sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==}
2092 | engines: {node: '>=8'}
2093 | dev: true
2094 |
2095 | /resolve-from/4.0.0:
2096 | resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==}
2097 | engines: {node: '>=4'}
2098 | dev: true
2099 |
2100 | /resolve-from/5.0.0:
2101 | resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==}
2102 | engines: {node: '>=8'}
2103 | dev: true
2104 |
2105 | /resolve-pkg/2.0.0:
2106 | resolution: {integrity: sha512-+1lzwXehGCXSeryaISr6WujZzowloigEofRB+dj75y9RRa/obVcYgbHJd53tdYw8pvZj8GojXaaENws8Ktw/hQ==}
2107 | engines: {node: '>=8'}
2108 | dependencies:
2109 | resolve-from: 5.0.0
2110 | dev: true
2111 |
2112 | /resolve/1.22.1:
2113 | resolution: {integrity: sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==}
2114 | hasBin: true
2115 | dependencies:
2116 | is-core-module: 2.9.0
2117 | path-parse: 1.0.7
2118 | supports-preserve-symlinks-flag: 1.0.0
2119 | dev: true
2120 |
2121 | /reusify/1.0.4:
2122 | resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==}
2123 | engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
2124 | dev: true
2125 |
2126 | /rimraf/3.0.2:
2127 | resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==}
2128 | hasBin: true
2129 | dependencies:
2130 | glob: 7.2.3
2131 | dev: true
2132 |
2133 | /rollup/2.77.0:
2134 | resolution: {integrity: sha512-vL8xjY4yOQEw79DvyXLijhnhh+R/O9zpF/LEgkCebZFtb6ELeN9H3/2T0r8+mp+fFTBHZ5qGpOpW2ela2zRt3g==}
2135 | engines: {node: '>=10.0.0'}
2136 | hasBin: true
2137 | optionalDependencies:
2138 | fsevents: 2.3.2
2139 | dev: true
2140 |
2141 | /run-parallel/1.2.0:
2142 | resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
2143 | dependencies:
2144 | queue-microtask: 1.2.3
2145 | dev: true
2146 |
2147 | /safer-buffer/2.1.2:
2148 | resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==}
2149 | dev: true
2150 |
2151 | /saxes/6.0.0:
2152 | resolution: {integrity: sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==}
2153 | engines: {node: '>=v12.22.7'}
2154 | dependencies:
2155 | xmlchars: 2.2.0
2156 | dev: true
2157 |
2158 | /semver/5.7.1:
2159 | resolution: {integrity: sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==}
2160 | hasBin: true
2161 | dev: true
2162 |
2163 | /semver/7.3.7:
2164 | resolution: {integrity: sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==}
2165 | engines: {node: '>=10'}
2166 | hasBin: true
2167 | dependencies:
2168 | lru-cache: 6.0.0
2169 | dev: true
2170 |
2171 | /shebang-command/2.0.0:
2172 | resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==}
2173 | engines: {node: '>=8'}
2174 | dependencies:
2175 | shebang-regex: 3.0.0
2176 | dev: true
2177 |
2178 | /shebang-regex/3.0.0:
2179 | resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}
2180 | engines: {node: '>=8'}
2181 | dev: true
2182 |
2183 | /sigmund/1.0.1:
2184 | resolution: {integrity: sha1-P/IfGYytIXX587eBhT/ZTQ0ZtZA=}
2185 | dev: true
2186 |
2187 | /slash/3.0.0:
2188 | resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==}
2189 | engines: {node: '>=8'}
2190 | dev: true
2191 |
2192 | /source-map-js/1.0.2:
2193 | resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==}
2194 | engines: {node: '>=0.10.0'}
2195 |
2196 | /source-map/0.6.1:
2197 | resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==}
2198 | engines: {node: '>=0.10.0'}
2199 |
2200 | /sourcemap-codec/1.4.8:
2201 | resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==}
2202 |
2203 | /strip-ansi/6.0.1:
2204 | resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==}
2205 | engines: {node: '>=8'}
2206 | dependencies:
2207 | ansi-regex: 5.0.1
2208 | dev: true
2209 |
2210 | /strip-json-comments/3.1.1:
2211 | resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==}
2212 | engines: {node: '>=8'}
2213 | dev: true
2214 |
2215 | /supports-color/7.2.0:
2216 | resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==}
2217 | engines: {node: '>=8'}
2218 | dependencies:
2219 | has-flag: 4.0.0
2220 | dev: true
2221 |
2222 | /supports-preserve-symlinks-flag/1.0.0:
2223 | resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
2224 | engines: {node: '>= 0.4'}
2225 | dev: true
2226 |
2227 | /symbol-tree/3.2.4:
2228 | resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==}
2229 | dev: true
2230 |
2231 | /text-table/0.2.0:
2232 | resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==}
2233 | dev: true
2234 |
2235 | /tinypool/0.2.4:
2236 | resolution: {integrity: sha512-Vs3rhkUH6Qq1t5bqtb816oT+HeJTXfwt2cbPH17sWHIYKTotQIFPk3tf2fgqRrVyMDVOc1EnPgzIxfIulXVzwQ==}
2237 | engines: {node: '>=14.0.0'}
2238 | dev: true
2239 |
2240 | /tinyspy/1.0.2:
2241 | resolution: {integrity: sha512-bSGlgwLBYf7PnUsQ6WOc6SJ3pGOcd+d8AA6EUnLDDM0kWEstC1JIlSZA3UNliDXhd9ABoS7hiRBDCu+XP/sf1Q==}
2242 | engines: {node: '>=14.0.0'}
2243 | dev: true
2244 |
2245 | /to-fast-properties/2.0.0:
2246 | resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==}
2247 | engines: {node: '>=4'}
2248 |
2249 | /to-regex-range/5.0.1:
2250 | resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
2251 | engines: {node: '>=8.0'}
2252 | dependencies:
2253 | is-number: 7.0.0
2254 | dev: true
2255 |
2256 | /tough-cookie/4.0.0:
2257 | resolution: {integrity: sha512-tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg==}
2258 | engines: {node: '>=6'}
2259 | dependencies:
2260 | psl: 1.9.0
2261 | punycode: 2.1.1
2262 | universalify: 0.1.2
2263 | dev: true
2264 |
2265 | /tr46/3.0.0:
2266 | resolution: {integrity: sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==}
2267 | engines: {node: '>=12'}
2268 | dependencies:
2269 | punycode: 2.1.1
2270 | dev: true
2271 |
2272 | /tslib/1.14.1:
2273 | resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==}
2274 | dev: true
2275 |
2276 | /tslib/2.4.0:
2277 | resolution: {integrity: sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==}
2278 |
2279 | /tsutils/3.21.0_typescript@4.6.4:
2280 | resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==}
2281 | engines: {node: '>= 6'}
2282 | peerDependencies:
2283 | typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta'
2284 | dependencies:
2285 | tslib: 1.14.1
2286 | typescript: 4.6.4
2287 | dev: true
2288 |
2289 | /type-check/0.3.2:
2290 | resolution: {integrity: sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==}
2291 | engines: {node: '>= 0.8.0'}
2292 | dependencies:
2293 | prelude-ls: 1.1.2
2294 | dev: true
2295 |
2296 | /type-check/0.4.0:
2297 | resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==}
2298 | engines: {node: '>= 0.8.0'}
2299 | dependencies:
2300 | prelude-ls: 1.2.1
2301 | dev: true
2302 |
2303 | /type-detect/4.0.8:
2304 | resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==}
2305 | engines: {node: '>=4'}
2306 | dev: true
2307 |
2308 | /type-fest/0.20.2:
2309 | resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==}
2310 | engines: {node: '>=10'}
2311 | dev: true
2312 |
2313 | /typescript/4.6.4:
2314 | resolution: {integrity: sha512-9ia/jWHIEbo49HfjrLGfKbZSuWo9iTMwXO+Ca3pRsSpbsMbc7/IU8NKdCZVRRBafVPGnoJeFL76ZOAA84I9fEg==}
2315 | engines: {node: '>=4.2.0'}
2316 | hasBin: true
2317 | dev: true
2318 |
2319 | /universalify/0.1.2:
2320 | resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==}
2321 | engines: {node: '>= 4.0.0'}
2322 | dev: true
2323 |
2324 | /update-browserslist-db/1.0.5_browserslist@4.21.3:
2325 | resolution: {integrity: sha512-dteFFpCyvuDdr9S/ff1ISkKt/9YZxKjI9WlRR99c180GaztJtRa/fn18FdxGVKVsnPY7/a/FDN68mcvUmP4U7Q==}
2326 | hasBin: true
2327 | peerDependencies:
2328 | browserslist: '>= 4.21.0'
2329 | dependencies:
2330 | browserslist: 4.21.3
2331 | escalade: 3.1.1
2332 | picocolors: 1.0.0
2333 | dev: true
2334 |
2335 | /uri-js/4.4.1:
2336 | resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==}
2337 | dependencies:
2338 | punycode: 2.1.1
2339 | dev: true
2340 |
2341 | /util-deprecate/1.0.2:
2342 | resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
2343 | dev: true
2344 |
2345 | /vite/3.0.9:
2346 | resolution: {integrity: sha512-waYABTM+G6DBTCpYAxvevpG50UOlZuynR0ckTK5PawNVt7ebX6X7wNXHaGIO6wYYFXSM7/WcuFuO2QzhBB6aMw==}
2347 | engines: {node: ^14.18.0 || >=16.0.0}
2348 | hasBin: true
2349 | peerDependencies:
2350 | less: '*'
2351 | sass: '*'
2352 | stylus: '*'
2353 | terser: ^5.4.0
2354 | peerDependenciesMeta:
2355 | less:
2356 | optional: true
2357 | sass:
2358 | optional: true
2359 | stylus:
2360 | optional: true
2361 | terser:
2362 | optional: true
2363 | dependencies:
2364 | esbuild: 0.14.49
2365 | postcss: 8.4.16
2366 | resolve: 1.22.1
2367 | rollup: 2.77.0
2368 | optionalDependencies:
2369 | fsevents: 2.3.2
2370 | dev: true
2371 |
2372 | /vitest/0.22.1_jsdom@20.0.0:
2373 | resolution: {integrity: sha512-+x28YTnSLth4KbXg7MCzoDAzPJlJex7YgiZbUh6YLp0/4PqVZ7q7/zyfdL0OaPtKTpNiQFPpMC8Y2MSzk8F7dw==}
2374 | engines: {node: '>=v14.16.0'}
2375 | hasBin: true
2376 | peerDependencies:
2377 | '@edge-runtime/vm': '*'
2378 | '@vitest/browser': '*'
2379 | '@vitest/ui': '*'
2380 | happy-dom: '*'
2381 | jsdom: '*'
2382 | peerDependenciesMeta:
2383 | '@edge-runtime/vm':
2384 | optional: true
2385 | '@vitest/browser':
2386 | optional: true
2387 | '@vitest/ui':
2388 | optional: true
2389 | happy-dom:
2390 | optional: true
2391 | jsdom:
2392 | optional: true
2393 | dependencies:
2394 | '@types/chai': 4.3.3
2395 | '@types/chai-subset': 1.3.3
2396 | '@types/node': 16.11.56
2397 | chai: 4.3.6
2398 | debug: 4.3.4
2399 | jsdom: 20.0.0
2400 | local-pkg: 0.4.2
2401 | tinypool: 0.2.4
2402 | tinyspy: 1.0.2
2403 | vite: 3.0.9
2404 | transitivePeerDependencies:
2405 | - less
2406 | - sass
2407 | - stylus
2408 | - supports-color
2409 | - terser
2410 | dev: true
2411 |
2412 | /vue-eslint-parser/9.0.3_eslint@8.23.0:
2413 | resolution: {integrity: sha512-yL+ZDb+9T0ELG4VIFo/2anAOz8SvBdlqEnQnvJ3M7Scq56DvtjY0VY88bByRZB0D4J0u8olBcfrXTVONXsh4og==}
2414 | engines: {node: ^14.17.0 || >=16.0.0}
2415 | peerDependencies:
2416 | eslint: '>=6.0.0'
2417 | dependencies:
2418 | debug: 4.3.4
2419 | eslint: 8.23.0
2420 | eslint-scope: 7.1.1
2421 | eslint-visitor-keys: 3.3.0
2422 | espree: 9.3.2
2423 | esquery: 1.4.0
2424 | lodash: 4.17.21
2425 | semver: 7.3.7
2426 | transitivePeerDependencies:
2427 | - supports-color
2428 | dev: true
2429 |
2430 | /vue-template-compiler/2.7.10_vue@2.7.10:
2431 | resolution: {integrity: sha512-QO+8R9YRq1Gudm8ZMdo/lImZLJVUIAM8c07Vp84ojdDAf8HmPJc7XB556PcXV218k2AkKznsRz6xB5uOjAC4EQ==}
2432 | peerDependencies:
2433 | vue: ^2.7
2434 | dependencies:
2435 | de-indent: 1.0.2
2436 | he: 1.2.0
2437 | vue: 2.7.10
2438 | dev: true
2439 |
2440 | /vue-tsc/0.40.1_typescript@4.6.4:
2441 | resolution: {integrity: sha512-Z+3rlp/6TrtKvLuaFYwBn03zrdinMR6lBb3mWBJtDA+KwlRu+I4eMoqC1qT9D7i/29u0Bw58dH7ErjMpNLN9bQ==}
2442 | hasBin: true
2443 | peerDependencies:
2444 | typescript: '*'
2445 | dependencies:
2446 | '@volar/vue-language-core': 0.40.1
2447 | '@volar/vue-typescript': 0.40.1
2448 | typescript: 4.6.4
2449 | dev: true
2450 |
2451 | /vue/2.7.10:
2452 | resolution: {integrity: sha512-HmFC70qarSHPXcKtW8U8fgIkF6JGvjEmDiVInTkKZP0gIlEPhlVlcJJLkdGIDiNkIeA2zJPQTWJUI4iWe+AVfg==}
2453 | dependencies:
2454 | '@vue/compiler-sfc': 2.7.10
2455 | csstype: 3.1.0
2456 |
2457 | /vue/3.2.37:
2458 | resolution: {integrity: sha512-bOKEZxrm8Eh+fveCqS1/NkG/n6aMidsI6hahas7pa0w/l7jkbssJVsRhVDs07IdDq7h9KHswZOgItnwJAgtVtQ==}
2459 | dependencies:
2460 | '@vue/compiler-dom': 3.2.37
2461 | '@vue/compiler-sfc': 3.2.37
2462 | '@vue/runtime-dom': 3.2.37
2463 | '@vue/server-renderer': 3.2.37_vue@3.2.37
2464 | '@vue/shared': 3.2.37
2465 |
2466 | /w3c-hr-time/1.0.2:
2467 | resolution: {integrity: sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==}
2468 | dependencies:
2469 | browser-process-hrtime: 1.0.0
2470 | dev: true
2471 |
2472 | /w3c-xmlserializer/3.0.0:
2473 | resolution: {integrity: sha512-3WFqGEgSXIyGhOmAFtlicJNMjEps8b1MG31NCA0/vOF9+nKMUW1ckhi9cnNHmf88Rzw5V+dwIwsm2C7X8k9aQg==}
2474 | engines: {node: '>=12'}
2475 | dependencies:
2476 | xml-name-validator: 4.0.0
2477 | dev: true
2478 |
2479 | /webidl-conversions/7.0.0:
2480 | resolution: {integrity: sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==}
2481 | engines: {node: '>=12'}
2482 | dev: true
2483 |
2484 | /whatwg-encoding/2.0.0:
2485 | resolution: {integrity: sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==}
2486 | engines: {node: '>=12'}
2487 | dependencies:
2488 | iconv-lite: 0.6.3
2489 | dev: true
2490 |
2491 | /whatwg-mimetype/3.0.0:
2492 | resolution: {integrity: sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==}
2493 | engines: {node: '>=12'}
2494 | dev: true
2495 |
2496 | /whatwg-url/11.0.0:
2497 | resolution: {integrity: sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==}
2498 | engines: {node: '>=12'}
2499 | dependencies:
2500 | tr46: 3.0.0
2501 | webidl-conversions: 7.0.0
2502 | dev: true
2503 |
2504 | /which/2.0.2:
2505 | resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==}
2506 | engines: {node: '>= 8'}
2507 | hasBin: true
2508 | dependencies:
2509 | isexe: 2.0.0
2510 | dev: true
2511 |
2512 | /word-wrap/1.2.3:
2513 | resolution: {integrity: sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==}
2514 | engines: {node: '>=0.10.0'}
2515 | dev: true
2516 |
2517 | /wrappy/1.0.2:
2518 | resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
2519 | dev: true
2520 |
2521 | /ws/8.8.1:
2522 | resolution: {integrity: sha512-bGy2JzvzkPowEJV++hF07hAD6niYSr0JzBNo/J29WsB57A2r7Wlc1UFcTR9IzrPvuNVO4B8LGqF8qcpsVOhJCA==}
2523 | engines: {node: '>=10.0.0'}
2524 | peerDependencies:
2525 | bufferutil: ^4.0.1
2526 | utf-8-validate: ^5.0.2
2527 | peerDependenciesMeta:
2528 | bufferutil:
2529 | optional: true
2530 | utf-8-validate:
2531 | optional: true
2532 | dev: true
2533 |
2534 | /xml-name-validator/4.0.0:
2535 | resolution: {integrity: sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==}
2536 | engines: {node: '>=12'}
2537 | dev: true
2538 |
2539 | /xmlchars/2.2.0:
2540 | resolution: {integrity: sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==}
2541 | dev: true
2542 |
2543 | /yallist/2.1.2:
2544 | resolution: {integrity: sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=}
2545 | dev: true
2546 |
2547 | /yallist/4.0.0:
2548 | resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==}
2549 | dev: true
2550 |
2551 | /yocto-queue/0.1.0:
2552 | resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==}
2553 | engines: {node: '>=10'}
2554 | dev: true
2555 |
--------------------------------------------------------------------------------
/pnpm-workspace.yaml:
--------------------------------------------------------------------------------
1 | packages:
2 | - 'lib-vue3'
3 | - 'lib-vue2'
--------------------------------------------------------------------------------
/scripts/symlink.js:
--------------------------------------------------------------------------------
1 | const { existsSync } = require('fs')
2 | const { symlink } = require('node:fs/promises')
3 | const { argv } = require('process')
4 | const { resolve} = require('path')
5 |
6 |
7 | main()
8 |
9 | async function main() {
10 | const from = argv[2]
11 | const to = argv[3]
12 |
13 | const fromPath = resolve(process.cwd(), from)
14 | const toPath = resolve(process.cwd(), to)
15 |
16 | if (!existsSync(from)) {
17 | console.error(`⚠️ ERROR: path not found: ${from} relative to ${process.cwd()}`)
18 | process.exit(1)
19 | }
20 |
21 | if (!existsSync(toPath)) {
22 | await symlink(fromPath, toPath, 'junction')
23 | } else {
24 | console.info(`Symlink in '${toPath}' already exists.`)
25 | }
26 |
27 | }
28 |
--------------------------------------------------------------------------------
/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "files": [],
3 | "references": [
4 | {
5 | "path": "./tsconfig/tsconfig.node.json"
6 | },
7 | {
8 | "path": "./tsconfig/tsconfig.vue2.lib.json"
9 | },
10 | {
11 | "path": "./tsconfig/tsconfig.vue2.app.json"
12 | },
13 | {
14 | "path": "./tsconfig/tsconfig.vue2.vitest.json"
15 | },
16 | {
17 | "path": "./tsconfig/tsconfig.vue3.lib.json"
18 | },
19 | {
20 | "path": "./tsconfig/tsconfig.vue3.app.json"
21 | },
22 | {
23 | "path": "./tsconfig/tsconfig.vue3.vitest.json"
24 | }
25 | ]
26 | }
27 |
--------------------------------------------------------------------------------
/tsconfig/README.md:
--------------------------------------------------------------------------------
1 | # TSConfig
2 |
3 | This folder contains all of the project reference configs for this repository.
4 |
5 | ## Types of files
6 |
7 | |File |Description |
8 | |---------------------------|--------------------------|
9 | |`tsconfig.node.json` |for config files like viteconfig, eslintrc etc.|
10 | |`tsconfig.vue2.lib.json` | `/lib-vue2/src`, excluding test files |
11 | |`tsconfig.vue2.app.json` | `/lib-vue2/app`, files for the demo app |
12 | |`tsconfig.vue2.vitest.json`| extends lib config, but includes test files |
13 | |`tsconfig.vue3.lib.json` | `/lib-vue3/src`, excluding test files |
14 | |`tsconfig.vue3.app.json` | `/lib-vue3/app`, files for the demo app |
15 | |`tsconfig.vue2.vitest.json`| extends lib config, but includes test files |
16 |
17 | ## Which config file is used to create my library's types?
18 |
19 | |Version| Config file |
20 | |-------|-------------|
21 | |Vue 2 | `tsconfig.vue2.lib.json` |
22 | |Vue 3 | `tsconfig.vue3.lib.json` |
23 |
24 | So you should edit these files if you want to change any compiler settings relevant to the build process of your library.
25 |
26 | ## What are the `*.app.json` and `*.vitest.json` files needed for?
27 |
28 | * The lib files only include the /src files, and exclude any tests.
29 | * in src files, we have the browser api (`window` etc) available.
30 | * So `*.vitest.json` extends the lib config and includes the test files again.
31 | * in test files, we additionally have the node api (`process` etc) available.
32 | * The `*.app.json` configs include the ./app files. Since they should not be part of the generated declaration files, we moved them into their own project reference/config.
--------------------------------------------------------------------------------
/tsconfig/tsconfig.node.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "@vue/tsconfig/tsconfig.node.json",
3 | "include": [
4 | "../vite.config.*",
5 | "../eslintrc.cjs"
6 | ],
7 | "compilerOptions": {
8 | "composite": true,
9 | "types": ["node", "vitest"]
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/tsconfig/tsconfig.vue2.app.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "./tsconfig.vue2.lib.json",
3 | "include": [
4 | "../lib-vue2/app/**/*",
5 | "../lib-vue2/app/**/*.vue"
6 | ],
7 | "compilerOptions": {
8 | "rootDir": "../lib-vue2/app",
9 | "composite": true
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/tsconfig/tsconfig.vue2.lib.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "@vue/tsconfig/tsconfig.web.json",
3 | "include": [
4 | "../lib-vue2/src/env.d.ts",
5 | "../lib-vue2/src/**/*",
6 | "../lib-vue2/src/**/*.vue"
7 |
8 | ],
9 | "exclude": [
10 | "../lib-vue2/src/**/__tests__/*"
11 | ],
12 | "compilerOptions": {
13 | "composite": true,
14 | "rootDir": "../lib-vue2/src",
15 | "declarationDir": "../lib-vue2/typings",
16 | "tsBuildInfoFile": "./logs/vue2.tsbuildinfo",
17 | "jsx": "preserve",
18 | "paths": {
19 | "@vue-bridge/runtime": ["../lib-vue2/node_modules/@vue-bridge/runtime/dist-vue2/index.d.ts"]
20 | }
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/tsconfig/tsconfig.vue2.vitest.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "./tsconfig.vue2.lib.json",
3 | "exclude": [],
4 | "compilerOptions": {
5 | "composite": true,
6 | // "lib": [],
7 | "types": ["node", "jsdom"]
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/tsconfig/tsconfig.vue3.app.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "./tsconfig.vue3.lib.json",
3 | "include": [
4 | "../lib-vue3/app/**/*",
5 | "../lib-vue3/app/**/*.vue"
6 | ],
7 | "compilerOptions": {
8 | "rootDir": "../lib-vue3/app",
9 | "composite": true
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/tsconfig/tsconfig.vue3.lib.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "@vue/tsconfig/tsconfig.web.json",
3 | "include": [
4 | "../lib-vue3/src/env.d.ts",
5 | "../lib-vue3/src/**/*",
6 | "../lib-vue3/src/**/*.vue"
7 | ],
8 | "exclude": [
9 | "../lib-vue3/src/**/__tests__/*"
10 | ],
11 | "compilerOptions": {
12 | "composite": true,
13 | "rootDir": "../lib-vue3/src",
14 | "declarationDir": "../lib-vue3/typings",
15 | "tsBuildInfoFile": "./logs/vue3.tsbuildinfo",
16 | "jsx": "preserve",
17 | "paths": {
18 | "@vue-bridge/runtime": ["../libs-vue3/node_modules/@vue-bridge/runtime/dist-vue3/index.d.ts"]
19 | }
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/tsconfig/tsconfig.vue3.vitest.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "./tsconfig.vue3.lib.json",
3 | "exclude": [],
4 | "compilerOptions": {
5 | "composite": true,
6 | // "lib": [],
7 | "types": ["node", "jsdom"]
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/vite.config.shared.ts:
--------------------------------------------------------------------------------
1 | ///
2 | import type { UserConfig } from "vite";
3 |
4 |
5 | export interface VueBridgeBuildOptions {
6 | name: string;
7 | outDir?: string;
8 | }
9 |
10 | const defaults: Partial = {
11 | outDir: "dist",
12 | };
13 |
14 | const fileExtensionMap = {
15 | es: 'mjs',
16 | cjs: 'cjs',
17 | iife: 'js',
18 | umd: 'js'
19 | };
20 |
21 | export const buildConfig = (_options: VueBridgeBuildOptions): UserConfig['build'] => {
22 | const options = Object.assign({}, defaults, _options);
23 |
24 | return {
25 | outDir: options.outDir,
26 |
27 | lib: {
28 | entry: 'src/main.ts',
29 | formats: ['es', 'cjs', 'iife'],
30 | name: options.name, // global variable name for IIFE build
31 | fileName: (f) => {
32 | const format = f as keyof typeof fileExtensionMap
33 | return `index.${format}.${fileExtensionMap[format]}`
34 | },
35 | },
36 |
37 | rollupOptions: {
38 | output: {
39 | // this means your main.ts file should only have named exports, and no default export!
40 | exports: 'named',
41 |
42 | // Add global names for externalized dependencies here.
43 | // IIFE needs to now how to access external deps like: `window.Vue`
44 | globals: {
45 | vue: 'Vue',
46 | '@vue-bridge/runtime': 'VueBridge',
47 | },
48 | },
49 | // add any 3rd party packages that you do no want to have bundled in your library
50 | // this *must* contain 'vue'
51 | external: ['vue', '@vue-bridge/runtime'],
52 | },
53 | };
54 | };
--------------------------------------------------------------------------------