├── .gitignore
├── .vscode
└── extensions.json
├── README.md
├── index.html
├── package-lock.json
├── package.json
├── public
├── logo.png
└── logo.svg
├── src
├── App.vue
├── P5Plugin.ts
├── components
│ ├── P5.vue
│ └── index.ts
├── env.d.ts
└── main.ts
├── tsconfig.json
├── tsconfig.node.json
└── vite.config.ts
/.gitignore:
--------------------------------------------------------------------------------
1 | # Logs
2 | logs
3 | *.log
4 | npm-debug.log*
5 | yarn-debug.log*
6 | yarn-error.log*
7 | pnpm-debug.log*
8 | lerna-debug.log*
9 |
10 | node_modules
11 | dist
12 | dist-ssr
13 | *.local
14 |
15 | # Editor directories and files
16 | .vscode/*
17 | !.vscode/extensions.json
18 | .idea
19 | .DS_Store
20 | *.suo
21 | *.ntvs*
22 | *.njsproj
23 | *.sln
24 | *.sw?
25 | yarn.lock
26 |
--------------------------------------------------------------------------------
/.vscode/extensions.json:
--------------------------------------------------------------------------------
1 | {
2 | "recommendations": ["Vue.volar"]
3 | }
4 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | > 🔍 Seeking New Maintainer 🔍
2 | >
3 | > This repository is currently not under active development and is searching for a new maintainer to take over and drive its future growth. If you're interested in becoming the new steward of this project, please get in touch. Your contribution can help keep this project alive and valuable for the community.
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 | p5vue
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 | This npm package provides a Vue 3 P5
componente which accepts a sketch
property, making it extremely easy to get one or more p5 sketches running in Vue without scoping issues.
20 |
21 |
22 |
23 | Compatible with **_Vue 3_** & **_Nuxt Js_**.
24 |
25 |
26 |
27 |
28 | 📘 Docs + Examples
29 |
30 |
31 | ## Usage
32 |
33 | ### Install:
34 |
35 | ```fish
36 | npm i p5vue
37 | ```
38 |
39 |
40 | Depending on your environment, you may be alerted upon installing p5vue
that p5
is a required peer dependency which you must install yourself.
41 | If this is the case:
42 |
43 |
44 | ```fish
45 | npm i -D p5
46 | ```
47 |
48 | Now add `p5vue` to your project:
49 |
50 | - Import the Plugin to your main.js file
51 |
52 | ```javascript
53 | // main.js || main.ts
54 | import { createApp } from "vue"
55 | import App from "./App.vue"
56 |
57 | import p5vue from "p5vue"
58 |
59 | createApp(App).use(p5vue).mount("#app")
60 | ```
61 |
62 | - Use the P5
component inside the app
63 |
64 | ```vue
65 |
78 |
79 |
80 |
81 |
82 | ```
83 |
84 | ## Nuxt 3 Setup
85 |
86 |
87 | Setup for Nuxt 3 with SSR
88 |
89 | ##### To set the plugin up for Nuxt 3 we have to use some tricks to get it workin.
90 |
91 | - Install p5vue
92 | ```fish
93 | npm i p5vue
94 | ```
95 | - Add Plugin to nuxt
96 |
97 | - Crate a plugins folder in your root directory `~/plugins`
98 | - add a `p5vue.client.ts` file in the plugins folder
99 | - Add the plugin to Nuxt like this:
100 |
101 | ```javascript
102 | // p5vue.client.ts
103 |
104 | import { defineNuxtPlugin } from "#app"
105 | //@ts-ignore
106 | import p5vue from "p5vue"
107 | export default defineNuxtPlugin((nuxtApp) => {
108 | nuxtApp.vueApp.use(p5vue)
109 | })
110 | ```
111 |
112 | - Create a `P5Wrapper.client.vue` file in `~/components`
113 |
114 | ```vue
115 | // P5Wrapper.client.vue
116 |
117 |
121 |
122 |
123 |
124 |
125 | ```
126 |
127 | We need this wrapper component to ensure p5 only loads on client side.
128 |
129 | - Now we can use our custom Wrapper inside the complete Nuxt App like this:
130 |
131 | ```vue
132 | // App.vue
133 |
134 |
147 |
148 |
149 |
150 | ```
151 |
152 |
153 |
154 | ## Typescript:
155 |
156 | Typescript inst fully supported yet.
157 | To get the Plugin working without type errors do this:
158 |
159 | - ```typescript
160 | // main.ts
161 | import { createApp } from "vue"
162 | import App from "./App.vue"
163 | // @ts-ignore
164 | import p5vue from "p5vue"
165 |
166 | createApp(App).use(p5vue).mount("#app")
167 | ```
168 |
169 | - ```vue
170 | // Add the p5 type in function argument
171 |
184 |
185 |
186 |
187 |
188 | ```
189 |
--------------------------------------------------------------------------------
/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | Vite App
8 |
9 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/package-lock.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "p5vue",
3 | "version": "0.0.3",
4 | "lockfileVersion": 2,
5 | "requires": true,
6 | "packages": {
7 | "": {
8 | "name": "p5vue",
9 | "version": "0.0.3",
10 | "license": "Apache-2.0",
11 | "dependencies": {
12 | "@types/p5": "^1.4.2",
13 | "p5": "^1.4.1",
14 | "vue": "^3.2.25"
15 | },
16 | "devDependencies": {
17 | "@vitejs/plugin-vue": "^2.3.3",
18 | "rollup-plugin-typescript2": "^0.32.1",
19 | "typescript": "^4.5.4",
20 | "vite": "^2.9.9",
21 | "vue-tsc": "^0.34.7"
22 | }
23 | },
24 | "node_modules/@babel/parser": {
25 | "version": "7.18.5",
26 | "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.18.5.tgz",
27 | "integrity": "sha512-YZWVaglMiplo7v8f1oMQ5ZPQr0vn7HPeZXxXWsxXJRjGVrzUFn9OxFQl1sb5wzfootjA/yChhW84BV+383FSOw==",
28 | "license": "MIT",
29 | "bin": {
30 | "parser": "bin/babel-parser.js"
31 | },
32 | "engines": {
33 | "node": ">=6.0.0"
34 | }
35 | },
36 | "node_modules/@rollup/pluginutils": {
37 | "version": "4.2.1",
38 | "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-4.2.1.tgz",
39 | "integrity": "sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==",
40 | "dev": true,
41 | "dependencies": {
42 | "estree-walker": "^2.0.1",
43 | "picomatch": "^2.2.2"
44 | },
45 | "engines": {
46 | "node": ">= 8.0.0"
47 | }
48 | },
49 | "node_modules/@types/p5": {
50 | "version": "1.4.2",
51 | "resolved": "https://registry.npmjs.org/@types/p5/-/p5-1.4.2.tgz",
52 | "integrity": "sha512-tzJ2PdmeXlX8tidbA1/pQEhs0MHVWam0K4ux5ri0GrZXhBU3QrpTpSVzNaBDuo6KheryHdH8wR82x1nPvxo42g=="
53 | },
54 | "node_modules/@vitejs/plugin-vue": {
55 | "version": "2.3.3",
56 | "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-2.3.3.tgz",
57 | "integrity": "sha512-SmQLDyhz+6lGJhPELsBdzXGc+AcaT8stgkbiTFGpXPe8Tl1tJaBw1A6pxDqDuRsVkD8uscrkx3hA7QDOoKYtyw==",
58 | "dev": true,
59 | "license": "MIT",
60 | "engines": {
61 | "node": ">=12.0.0"
62 | },
63 | "peerDependencies": {
64 | "vite": "^2.5.10",
65 | "vue": "^3.2.25"
66 | }
67 | },
68 | "node_modules/@volar/code-gen": {
69 | "version": "0.34.17",
70 | "resolved": "https://registry.npmjs.org/@volar/code-gen/-/code-gen-0.34.17.tgz",
71 | "integrity": "sha512-rHR7BA71BJ/4S7xUOPMPiB7uk6iU9oTWpEMZxFi5VGC9iJmDncE82WzU5iYpcbOBCVHsOjMh0+5CGMgdO6SaPA==",
72 | "dev": true,
73 | "license": "MIT",
74 | "dependencies": {
75 | "@volar/source-map": "0.34.17"
76 | }
77 | },
78 | "node_modules/@volar/source-map": {
79 | "version": "0.34.17",
80 | "resolved": "https://registry.npmjs.org/@volar/source-map/-/source-map-0.34.17.tgz",
81 | "integrity": "sha512-3yn1IMXJGGWB/G817/VFlFMi8oh5pmE7VzUqvgMZMrppaZpKj6/juvJIEiXNxRsgWc0RxIO8OSp4htdPUg1Raw==",
82 | "dev": true,
83 | "license": "MIT"
84 | },
85 | "node_modules/@volar/vue-code-gen": {
86 | "version": "0.34.17",
87 | "resolved": "https://registry.npmjs.org/@volar/vue-code-gen/-/vue-code-gen-0.34.17.tgz",
88 | "integrity": "sha512-17pzcK29fyFWUc+C82J3JYSnA+jy3QNrIldb9kPaP9Itbik05ZjEIyEue9FjhgIAuHeYSn4LDM5s6nGjxyfhsQ==",
89 | "dev": true,
90 | "license": "MIT",
91 | "dependencies": {
92 | "@volar/code-gen": "0.34.17",
93 | "@volar/source-map": "0.34.17",
94 | "@vue/compiler-core": "^3.2.36",
95 | "@vue/compiler-dom": "^3.2.36",
96 | "@vue/shared": "^3.2.36"
97 | }
98 | },
99 | "node_modules/@volar/vue-typescript": {
100 | "version": "0.34.17",
101 | "resolved": "https://registry.npmjs.org/@volar/vue-typescript/-/vue-typescript-0.34.17.tgz",
102 | "integrity": "sha512-U0YSVIBPRWVPmgJHNa4nrfq88+oS+tmyZNxmnfajIw9A/GOGZQiKXHC0k09SVvbYXlsjgJ6NIjhm9NuAhGRQjg==",
103 | "dev": true,
104 | "license": "MIT",
105 | "dependencies": {
106 | "@volar/code-gen": "0.34.17",
107 | "@volar/source-map": "0.34.17",
108 | "@volar/vue-code-gen": "0.34.17",
109 | "@vue/compiler-sfc": "^3.2.36",
110 | "@vue/reactivity": "^3.2.36"
111 | }
112 | },
113 | "node_modules/@vue/compiler-core": {
114 | "version": "3.2.37",
115 | "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.2.37.tgz",
116 | "integrity": "sha512-81KhEjo7YAOh0vQJoSmAD68wLfYqJvoiD4ulyedzF+OEk/bk6/hx3fTNVfuzugIIaTrOx4PGx6pAiBRe5e9Zmg==",
117 | "license": "MIT",
118 | "dependencies": {
119 | "@babel/parser": "^7.16.4",
120 | "@vue/shared": "3.2.37",
121 | "estree-walker": "^2.0.2",
122 | "source-map": "^0.6.1"
123 | }
124 | },
125 | "node_modules/@vue/compiler-dom": {
126 | "version": "3.2.37",
127 | "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.2.37.tgz",
128 | "integrity": "sha512-yxJLH167fucHKxaqXpYk7x8z7mMEnXOw3G2q62FTkmsvNxu4FQSu5+3UMb+L7fjKa26DEzhrmCxAgFLLIzVfqQ==",
129 | "license": "MIT",
130 | "dependencies": {
131 | "@vue/compiler-core": "3.2.37",
132 | "@vue/shared": "3.2.37"
133 | }
134 | },
135 | "node_modules/@vue/compiler-sfc": {
136 | "version": "3.2.37",
137 | "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.2.37.tgz",
138 | "integrity": "sha512-+7i/2+9LYlpqDv+KTtWhOZH+pa8/HnX/905MdVmAcI/mPQOBwkHHIzrsEsucyOIZQYMkXUiTkmZq5am/NyXKkg==",
139 | "license": "MIT",
140 | "dependencies": {
141 | "@babel/parser": "^7.16.4",
142 | "@vue/compiler-core": "3.2.37",
143 | "@vue/compiler-dom": "3.2.37",
144 | "@vue/compiler-ssr": "3.2.37",
145 | "@vue/reactivity-transform": "3.2.37",
146 | "@vue/shared": "3.2.37",
147 | "estree-walker": "^2.0.2",
148 | "magic-string": "^0.25.7",
149 | "postcss": "^8.1.10",
150 | "source-map": "^0.6.1"
151 | }
152 | },
153 | "node_modules/@vue/compiler-ssr": {
154 | "version": "3.2.37",
155 | "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.2.37.tgz",
156 | "integrity": "sha512-7mQJD7HdXxQjktmsWp/J67lThEIcxLemz1Vb5I6rYJHR5vI+lON3nPGOH3ubmbvYGt8xEUaAr1j7/tIFWiEOqw==",
157 | "license": "MIT",
158 | "dependencies": {
159 | "@vue/compiler-dom": "3.2.37",
160 | "@vue/shared": "3.2.37"
161 | }
162 | },
163 | "node_modules/@vue/reactivity": {
164 | "version": "3.2.37",
165 | "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.2.37.tgz",
166 | "integrity": "sha512-/7WRafBOshOc6m3F7plwzPeCu/RCVv9uMpOwa/5PiY1Zz+WLVRWiy0MYKwmg19KBdGtFWsmZ4cD+LOdVPcs52A==",
167 | "license": "MIT",
168 | "dependencies": {
169 | "@vue/shared": "3.2.37"
170 | }
171 | },
172 | "node_modules/@vue/reactivity-transform": {
173 | "version": "3.2.37",
174 | "resolved": "https://registry.npmjs.org/@vue/reactivity-transform/-/reactivity-transform-3.2.37.tgz",
175 | "integrity": "sha512-IWopkKEb+8qpu/1eMKVeXrK0NLw9HicGviJzhJDEyfxTR9e1WtpnnbYkJWurX6WwoFP0sz10xQg8yL8lgskAZg==",
176 | "license": "MIT",
177 | "dependencies": {
178 | "@babel/parser": "^7.16.4",
179 | "@vue/compiler-core": "3.2.37",
180 | "@vue/shared": "3.2.37",
181 | "estree-walker": "^2.0.2",
182 | "magic-string": "^0.25.7"
183 | }
184 | },
185 | "node_modules/@vue/runtime-core": {
186 | "version": "3.2.37",
187 | "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.2.37.tgz",
188 | "integrity": "sha512-JPcd9kFyEdXLl/i0ClS7lwgcs0QpUAWj+SKX2ZC3ANKi1U4DOtiEr6cRqFXsPwY5u1L9fAjkinIdB8Rz3FoYNQ==",
189 | "license": "MIT",
190 | "dependencies": {
191 | "@vue/reactivity": "3.2.37",
192 | "@vue/shared": "3.2.37"
193 | }
194 | },
195 | "node_modules/@vue/runtime-dom": {
196 | "version": "3.2.37",
197 | "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.2.37.tgz",
198 | "integrity": "sha512-HimKdh9BepShW6YozwRKAYjYQWg9mQn63RGEiSswMbW+ssIht1MILYlVGkAGGQbkhSh31PCdoUcfiu4apXJoPw==",
199 | "license": "MIT",
200 | "dependencies": {
201 | "@vue/runtime-core": "3.2.37",
202 | "@vue/shared": "3.2.37",
203 | "csstype": "^2.6.8"
204 | }
205 | },
206 | "node_modules/@vue/server-renderer": {
207 | "version": "3.2.37",
208 | "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.2.37.tgz",
209 | "integrity": "sha512-kLITEJvaYgZQ2h47hIzPh2K3jG8c1zCVbp/o/bzQOyvzaKiCquKS7AaioPI28GNxIsE/zSx+EwWYsNxDCX95MA==",
210 | "license": "MIT",
211 | "dependencies": {
212 | "@vue/compiler-ssr": "3.2.37",
213 | "@vue/shared": "3.2.37"
214 | },
215 | "peerDependencies": {
216 | "vue": "3.2.37"
217 | }
218 | },
219 | "node_modules/@vue/shared": {
220 | "version": "3.2.37",
221 | "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.2.37.tgz",
222 | "integrity": "sha512-4rSJemR2NQIo9Klm1vabqWjD8rs/ZaJSzMxkMNeJS6lHiUjjUeYFbooN19NgFjztubEKh3WlZUeOLVdbbUWHsw==",
223 | "license": "MIT"
224 | },
225 | "node_modules/commondir": {
226 | "version": "1.0.1",
227 | "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz",
228 | "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==",
229 | "dev": true
230 | },
231 | "node_modules/csstype": {
232 | "version": "2.6.20",
233 | "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.20.tgz",
234 | "integrity": "sha512-/WwNkdXfckNgw6S5R125rrW8ez139lBHWouiBvX8dfMFtcn6V81REDqnH7+CRpRipfYlyU1CmOnOxrmGcFOjeA==",
235 | "license": "MIT"
236 | },
237 | "node_modules/esbuild": {
238 | "version": "0.14.45",
239 | "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.14.45.tgz",
240 | "integrity": "sha512-JOxGUD8jcs8xE8DjyGWC8by/vLMCXTJ/wuauWipL5kJRZx1dhpqIntb31QHjA45GZJWaXv7SjC/Zwu1bCkXWtQ==",
241 | "dev": true,
242 | "hasInstallScript": true,
243 | "license": "MIT",
244 | "bin": {
245 | "esbuild": "bin/esbuild"
246 | },
247 | "engines": {
248 | "node": ">=12"
249 | },
250 | "optionalDependencies": {
251 | "esbuild-android-64": "0.14.45",
252 | "esbuild-android-arm64": "0.14.45",
253 | "esbuild-darwin-64": "0.14.45",
254 | "esbuild-darwin-arm64": "0.14.45",
255 | "esbuild-freebsd-64": "0.14.45",
256 | "esbuild-freebsd-arm64": "0.14.45",
257 | "esbuild-linux-32": "0.14.45",
258 | "esbuild-linux-64": "0.14.45",
259 | "esbuild-linux-arm": "0.14.45",
260 | "esbuild-linux-arm64": "0.14.45",
261 | "esbuild-linux-mips64le": "0.14.45",
262 | "esbuild-linux-ppc64le": "0.14.45",
263 | "esbuild-linux-riscv64": "0.14.45",
264 | "esbuild-linux-s390x": "0.14.45",
265 | "esbuild-netbsd-64": "0.14.45",
266 | "esbuild-openbsd-64": "0.14.45",
267 | "esbuild-sunos-64": "0.14.45",
268 | "esbuild-windows-32": "0.14.45",
269 | "esbuild-windows-64": "0.14.45",
270 | "esbuild-windows-arm64": "0.14.45"
271 | }
272 | },
273 | "node_modules/esbuild-windows-64": {
274 | "version": "0.14.45",
275 | "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.14.45.tgz",
276 | "integrity": "sha512-t6bxFZcp9bLmSs+1pCNL/BW2bq3QEQHxU4HoiMEyWfF8QBU8iNXFI1iLGdyCzB1Ue2739h55tpOvojFrfyNPWA==",
277 | "cpu": [
278 | "x64"
279 | ],
280 | "dev": true,
281 | "license": "MIT",
282 | "optional": true,
283 | "os": [
284 | "win32"
285 | ],
286 | "engines": {
287 | "node": ">=12"
288 | }
289 | },
290 | "node_modules/estree-walker": {
291 | "version": "2.0.2",
292 | "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz",
293 | "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==",
294 | "license": "MIT"
295 | },
296 | "node_modules/find-cache-dir": {
297 | "version": "3.3.2",
298 | "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz",
299 | "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==",
300 | "dev": true,
301 | "dependencies": {
302 | "commondir": "^1.0.1",
303 | "make-dir": "^3.0.2",
304 | "pkg-dir": "^4.1.0"
305 | },
306 | "engines": {
307 | "node": ">=8"
308 | },
309 | "funding": {
310 | "url": "https://github.com/avajs/find-cache-dir?sponsor=1"
311 | }
312 | },
313 | "node_modules/find-up": {
314 | "version": "4.1.0",
315 | "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
316 | "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
317 | "dev": true,
318 | "dependencies": {
319 | "locate-path": "^5.0.0",
320 | "path-exists": "^4.0.0"
321 | },
322 | "engines": {
323 | "node": ">=8"
324 | }
325 | },
326 | "node_modules/fs-extra": {
327 | "version": "10.1.0",
328 | "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz",
329 | "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==",
330 | "dev": true,
331 | "dependencies": {
332 | "graceful-fs": "^4.2.0",
333 | "jsonfile": "^6.0.1",
334 | "universalify": "^2.0.0"
335 | },
336 | "engines": {
337 | "node": ">=12"
338 | }
339 | },
340 | "node_modules/function-bind": {
341 | "version": "1.1.1",
342 | "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
343 | "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
344 | "dev": true,
345 | "license": "MIT"
346 | },
347 | "node_modules/graceful-fs": {
348 | "version": "4.2.10",
349 | "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz",
350 | "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==",
351 | "dev": true
352 | },
353 | "node_modules/has": {
354 | "version": "1.0.3",
355 | "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
356 | "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
357 | "dev": true,
358 | "license": "MIT",
359 | "dependencies": {
360 | "function-bind": "^1.1.1"
361 | },
362 | "engines": {
363 | "node": ">= 0.4.0"
364 | }
365 | },
366 | "node_modules/is-core-module": {
367 | "version": "2.9.0",
368 | "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.9.0.tgz",
369 | "integrity": "sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==",
370 | "dev": true,
371 | "license": "MIT",
372 | "dependencies": {
373 | "has": "^1.0.3"
374 | },
375 | "funding": {
376 | "url": "https://github.com/sponsors/ljharb"
377 | }
378 | },
379 | "node_modules/jsonfile": {
380 | "version": "6.1.0",
381 | "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz",
382 | "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==",
383 | "dev": true,
384 | "dependencies": {
385 | "universalify": "^2.0.0"
386 | },
387 | "optionalDependencies": {
388 | "graceful-fs": "^4.1.6"
389 | }
390 | },
391 | "node_modules/locate-path": {
392 | "version": "5.0.0",
393 | "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
394 | "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
395 | "dev": true,
396 | "dependencies": {
397 | "p-locate": "^4.1.0"
398 | },
399 | "engines": {
400 | "node": ">=8"
401 | }
402 | },
403 | "node_modules/magic-string": {
404 | "version": "0.25.9",
405 | "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz",
406 | "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==",
407 | "license": "MIT",
408 | "dependencies": {
409 | "sourcemap-codec": "^1.4.8"
410 | }
411 | },
412 | "node_modules/make-dir": {
413 | "version": "3.1.0",
414 | "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz",
415 | "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==",
416 | "dev": true,
417 | "dependencies": {
418 | "semver": "^6.0.0"
419 | },
420 | "engines": {
421 | "node": ">=8"
422 | },
423 | "funding": {
424 | "url": "https://github.com/sponsors/sindresorhus"
425 | }
426 | },
427 | "node_modules/nanoid": {
428 | "version": "3.3.4",
429 | "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz",
430 | "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==",
431 | "license": "MIT",
432 | "bin": {
433 | "nanoid": "bin/nanoid.cjs"
434 | },
435 | "engines": {
436 | "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
437 | }
438 | },
439 | "node_modules/p-limit": {
440 | "version": "2.3.0",
441 | "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
442 | "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
443 | "dev": true,
444 | "dependencies": {
445 | "p-try": "^2.0.0"
446 | },
447 | "engines": {
448 | "node": ">=6"
449 | },
450 | "funding": {
451 | "url": "https://github.com/sponsors/sindresorhus"
452 | }
453 | },
454 | "node_modules/p-locate": {
455 | "version": "4.1.0",
456 | "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
457 | "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
458 | "dev": true,
459 | "dependencies": {
460 | "p-limit": "^2.2.0"
461 | },
462 | "engines": {
463 | "node": ">=8"
464 | }
465 | },
466 | "node_modules/p-try": {
467 | "version": "2.2.0",
468 | "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
469 | "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
470 | "dev": true,
471 | "engines": {
472 | "node": ">=6"
473 | }
474 | },
475 | "node_modules/p5": {
476 | "version": "1.4.1",
477 | "resolved": "https://registry.npmjs.org/p5/-/p5-1.4.1.tgz",
478 | "integrity": "sha512-3/X+qb0bK2Cg8nuZNpZZvzxkeUSRghOf0S+l8c+U8yIkUTVSbbcV0R8y96rx3InVBVhk8cH9kFC93VlZZElqSw=="
479 | },
480 | "node_modules/path-exists": {
481 | "version": "4.0.0",
482 | "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
483 | "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
484 | "dev": true,
485 | "engines": {
486 | "node": ">=8"
487 | }
488 | },
489 | "node_modules/path-parse": {
490 | "version": "1.0.7",
491 | "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
492 | "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
493 | "dev": true,
494 | "license": "MIT"
495 | },
496 | "node_modules/picocolors": {
497 | "version": "1.0.0",
498 | "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
499 | "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==",
500 | "license": "ISC"
501 | },
502 | "node_modules/picomatch": {
503 | "version": "2.3.1",
504 | "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
505 | "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
506 | "dev": true,
507 | "engines": {
508 | "node": ">=8.6"
509 | },
510 | "funding": {
511 | "url": "https://github.com/sponsors/jonschlinkert"
512 | }
513 | },
514 | "node_modules/pkg-dir": {
515 | "version": "4.2.0",
516 | "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz",
517 | "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==",
518 | "dev": true,
519 | "dependencies": {
520 | "find-up": "^4.0.0"
521 | },
522 | "engines": {
523 | "node": ">=8"
524 | }
525 | },
526 | "node_modules/postcss": {
527 | "version": "8.4.14",
528 | "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.14.tgz",
529 | "integrity": "sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==",
530 | "funding": [
531 | {
532 | "type": "opencollective",
533 | "url": "https://opencollective.com/postcss/"
534 | },
535 | {
536 | "type": "tidelift",
537 | "url": "https://tidelift.com/funding/github/npm/postcss"
538 | }
539 | ],
540 | "license": "MIT",
541 | "dependencies": {
542 | "nanoid": "^3.3.4",
543 | "picocolors": "^1.0.0",
544 | "source-map-js": "^1.0.2"
545 | },
546 | "engines": {
547 | "node": "^10 || ^12 || >=14"
548 | }
549 | },
550 | "node_modules/resolve": {
551 | "version": "1.22.0",
552 | "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz",
553 | "integrity": "sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==",
554 | "dev": true,
555 | "license": "MIT",
556 | "dependencies": {
557 | "is-core-module": "^2.8.1",
558 | "path-parse": "^1.0.7",
559 | "supports-preserve-symlinks-flag": "^1.0.0"
560 | },
561 | "bin": {
562 | "resolve": "bin/resolve"
563 | },
564 | "funding": {
565 | "url": "https://github.com/sponsors/ljharb"
566 | }
567 | },
568 | "node_modules/rollup": {
569 | "version": "2.75.6",
570 | "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.75.6.tgz",
571 | "integrity": "sha512-OEf0TgpC9vU6WGROJIk1JA3LR5vk/yvqlzxqdrE2CzzXnqKXNzbAwlWUXis8RS3ZPe7LAq+YUxsRa0l3r27MLA==",
572 | "dev": true,
573 | "license": "MIT",
574 | "bin": {
575 | "rollup": "dist/bin/rollup"
576 | },
577 | "engines": {
578 | "node": ">=10.0.0"
579 | },
580 | "optionalDependencies": {
581 | "fsevents": "~2.3.2"
582 | }
583 | },
584 | "node_modules/rollup-plugin-typescript2": {
585 | "version": "0.32.1",
586 | "resolved": "https://registry.npmjs.org/rollup-plugin-typescript2/-/rollup-plugin-typescript2-0.32.1.tgz",
587 | "integrity": "sha512-RanO8bp1WbeMv0bVlgcbsFNCn+Y3rX7wF97SQLDxf0fMLsg0B/QFF005t4AsGUcDgF3aKJHoqt4JF2xVaABeKw==",
588 | "dev": true,
589 | "dependencies": {
590 | "@rollup/pluginutils": "^4.1.2",
591 | "find-cache-dir": "^3.3.2",
592 | "fs-extra": "^10.0.0",
593 | "resolve": "^1.20.0",
594 | "tslib": "^2.4.0"
595 | },
596 | "peerDependencies": {
597 | "rollup": ">=1.26.3",
598 | "typescript": ">=2.4.0"
599 | }
600 | },
601 | "node_modules/semver": {
602 | "version": "6.3.0",
603 | "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
604 | "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
605 | "dev": true,
606 | "bin": {
607 | "semver": "bin/semver.js"
608 | }
609 | },
610 | "node_modules/source-map": {
611 | "version": "0.6.1",
612 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
613 | "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
614 | "license": "BSD-3-Clause",
615 | "engines": {
616 | "node": ">=0.10.0"
617 | }
618 | },
619 | "node_modules/source-map-js": {
620 | "version": "1.0.2",
621 | "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz",
622 | "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==",
623 | "license": "BSD-3-Clause",
624 | "engines": {
625 | "node": ">=0.10.0"
626 | }
627 | },
628 | "node_modules/sourcemap-codec": {
629 | "version": "1.4.8",
630 | "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz",
631 | "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==",
632 | "license": "MIT"
633 | },
634 | "node_modules/supports-preserve-symlinks-flag": {
635 | "version": "1.0.0",
636 | "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
637 | "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==",
638 | "dev": true,
639 | "license": "MIT",
640 | "engines": {
641 | "node": ">= 0.4"
642 | },
643 | "funding": {
644 | "url": "https://github.com/sponsors/ljharb"
645 | }
646 | },
647 | "node_modules/tslib": {
648 | "version": "2.4.0",
649 | "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
650 | "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
651 | "dev": true
652 | },
653 | "node_modules/typescript": {
654 | "version": "4.7.3",
655 | "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.7.3.tgz",
656 | "integrity": "sha512-WOkT3XYvrpXx4vMMqlD+8R8R37fZkjyLGlxavMc4iB8lrl8L0DeTcHbYgw/v0N/z9wAFsgBhcsF0ruoySS22mA==",
657 | "dev": true,
658 | "license": "Apache-2.0",
659 | "bin": {
660 | "tsc": "bin/tsc",
661 | "tsserver": "bin/tsserver"
662 | },
663 | "engines": {
664 | "node": ">=4.2.0"
665 | }
666 | },
667 | "node_modules/universalify": {
668 | "version": "2.0.0",
669 | "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz",
670 | "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==",
671 | "dev": true,
672 | "engines": {
673 | "node": ">= 10.0.0"
674 | }
675 | },
676 | "node_modules/vite": {
677 | "version": "2.9.12",
678 | "resolved": "https://registry.npmjs.org/vite/-/vite-2.9.12.tgz",
679 | "integrity": "sha512-suxC36dQo9Rq1qMB2qiRorNJtJAdxguu5TMvBHOc/F370KvqAe9t48vYp+/TbPKRNrMh/J55tOUmkuIqstZaew==",
680 | "dev": true,
681 | "license": "MIT",
682 | "dependencies": {
683 | "esbuild": "^0.14.27",
684 | "postcss": "^8.4.13",
685 | "resolve": "^1.22.0",
686 | "rollup": "^2.59.0"
687 | },
688 | "bin": {
689 | "vite": "bin/vite.js"
690 | },
691 | "engines": {
692 | "node": ">=12.2.0"
693 | },
694 | "optionalDependencies": {
695 | "fsevents": "~2.3.2"
696 | },
697 | "peerDependencies": {
698 | "less": "*",
699 | "sass": "*",
700 | "stylus": "*"
701 | },
702 | "peerDependenciesMeta": {
703 | "less": {
704 | "optional": true
705 | },
706 | "sass": {
707 | "optional": true
708 | },
709 | "stylus": {
710 | "optional": true
711 | }
712 | }
713 | },
714 | "node_modules/vue": {
715 | "version": "3.2.37",
716 | "resolved": "https://registry.npmjs.org/vue/-/vue-3.2.37.tgz",
717 | "integrity": "sha512-bOKEZxrm8Eh+fveCqS1/NkG/n6aMidsI6hahas7pa0w/l7jkbssJVsRhVDs07IdDq7h9KHswZOgItnwJAgtVtQ==",
718 | "license": "MIT",
719 | "dependencies": {
720 | "@vue/compiler-dom": "3.2.37",
721 | "@vue/compiler-sfc": "3.2.37",
722 | "@vue/runtime-dom": "3.2.37",
723 | "@vue/server-renderer": "3.2.37",
724 | "@vue/shared": "3.2.37"
725 | }
726 | },
727 | "node_modules/vue-tsc": {
728 | "version": "0.34.17",
729 | "resolved": "https://registry.npmjs.org/vue-tsc/-/vue-tsc-0.34.17.tgz",
730 | "integrity": "sha512-jzUXky44ZLHC4daaJag7FQr3idlPYN719/K1eObGljz5KaS2UnVGTU/XSYCd7d6ampYYg4OsyalbHyJIxV0aEQ==",
731 | "dev": true,
732 | "license": "MIT",
733 | "dependencies": {
734 | "@volar/vue-typescript": "0.34.17"
735 | },
736 | "bin": {
737 | "vue-tsc": "bin/vue-tsc.js"
738 | },
739 | "peerDependencies": {
740 | "typescript": "*"
741 | }
742 | }
743 | },
744 | "dependencies": {
745 | "@babel/parser": {
746 | "version": "7.18.5",
747 | "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.18.5.tgz",
748 | "integrity": "sha512-YZWVaglMiplo7v8f1oMQ5ZPQr0vn7HPeZXxXWsxXJRjGVrzUFn9OxFQl1sb5wzfootjA/yChhW84BV+383FSOw=="
749 | },
750 | "@rollup/pluginutils": {
751 | "version": "4.2.1",
752 | "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-4.2.1.tgz",
753 | "integrity": "sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==",
754 | "dev": true,
755 | "requires": {
756 | "estree-walker": "^2.0.1",
757 | "picomatch": "^2.2.2"
758 | }
759 | },
760 | "@types/p5": {
761 | "version": "1.4.2",
762 | "resolved": "https://registry.npmjs.org/@types/p5/-/p5-1.4.2.tgz",
763 | "integrity": "sha512-tzJ2PdmeXlX8tidbA1/pQEhs0MHVWam0K4ux5ri0GrZXhBU3QrpTpSVzNaBDuo6KheryHdH8wR82x1nPvxo42g=="
764 | },
765 | "@vitejs/plugin-vue": {
766 | "version": "2.3.3",
767 | "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-2.3.3.tgz",
768 | "integrity": "sha512-SmQLDyhz+6lGJhPELsBdzXGc+AcaT8stgkbiTFGpXPe8Tl1tJaBw1A6pxDqDuRsVkD8uscrkx3hA7QDOoKYtyw==",
769 | "dev": true,
770 | "requires": {}
771 | },
772 | "@volar/code-gen": {
773 | "version": "0.34.17",
774 | "resolved": "https://registry.npmjs.org/@volar/code-gen/-/code-gen-0.34.17.tgz",
775 | "integrity": "sha512-rHR7BA71BJ/4S7xUOPMPiB7uk6iU9oTWpEMZxFi5VGC9iJmDncE82WzU5iYpcbOBCVHsOjMh0+5CGMgdO6SaPA==",
776 | "dev": true,
777 | "requires": {
778 | "@volar/source-map": "0.34.17"
779 | }
780 | },
781 | "@volar/source-map": {
782 | "version": "0.34.17",
783 | "resolved": "https://registry.npmjs.org/@volar/source-map/-/source-map-0.34.17.tgz",
784 | "integrity": "sha512-3yn1IMXJGGWB/G817/VFlFMi8oh5pmE7VzUqvgMZMrppaZpKj6/juvJIEiXNxRsgWc0RxIO8OSp4htdPUg1Raw==",
785 | "dev": true
786 | },
787 | "@volar/vue-code-gen": {
788 | "version": "0.34.17",
789 | "resolved": "https://registry.npmjs.org/@volar/vue-code-gen/-/vue-code-gen-0.34.17.tgz",
790 | "integrity": "sha512-17pzcK29fyFWUc+C82J3JYSnA+jy3QNrIldb9kPaP9Itbik05ZjEIyEue9FjhgIAuHeYSn4LDM5s6nGjxyfhsQ==",
791 | "dev": true,
792 | "requires": {
793 | "@volar/code-gen": "0.34.17",
794 | "@volar/source-map": "0.34.17",
795 | "@vue/compiler-core": "^3.2.36",
796 | "@vue/compiler-dom": "^3.2.36",
797 | "@vue/shared": "^3.2.36"
798 | }
799 | },
800 | "@volar/vue-typescript": {
801 | "version": "0.34.17",
802 | "resolved": "https://registry.npmjs.org/@volar/vue-typescript/-/vue-typescript-0.34.17.tgz",
803 | "integrity": "sha512-U0YSVIBPRWVPmgJHNa4nrfq88+oS+tmyZNxmnfajIw9A/GOGZQiKXHC0k09SVvbYXlsjgJ6NIjhm9NuAhGRQjg==",
804 | "dev": true,
805 | "requires": {
806 | "@volar/code-gen": "0.34.17",
807 | "@volar/source-map": "0.34.17",
808 | "@volar/vue-code-gen": "0.34.17",
809 | "@vue/compiler-sfc": "^3.2.36",
810 | "@vue/reactivity": "^3.2.36"
811 | }
812 | },
813 | "@vue/compiler-core": {
814 | "version": "3.2.37",
815 | "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.2.37.tgz",
816 | "integrity": "sha512-81KhEjo7YAOh0vQJoSmAD68wLfYqJvoiD4ulyedzF+OEk/bk6/hx3fTNVfuzugIIaTrOx4PGx6pAiBRe5e9Zmg==",
817 | "requires": {
818 | "@babel/parser": "^7.16.4",
819 | "@vue/shared": "3.2.37",
820 | "estree-walker": "^2.0.2",
821 | "source-map": "^0.6.1"
822 | }
823 | },
824 | "@vue/compiler-dom": {
825 | "version": "3.2.37",
826 | "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.2.37.tgz",
827 | "integrity": "sha512-yxJLH167fucHKxaqXpYk7x8z7mMEnXOw3G2q62FTkmsvNxu4FQSu5+3UMb+L7fjKa26DEzhrmCxAgFLLIzVfqQ==",
828 | "requires": {
829 | "@vue/compiler-core": "3.2.37",
830 | "@vue/shared": "3.2.37"
831 | }
832 | },
833 | "@vue/compiler-sfc": {
834 | "version": "3.2.37",
835 | "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.2.37.tgz",
836 | "integrity": "sha512-+7i/2+9LYlpqDv+KTtWhOZH+pa8/HnX/905MdVmAcI/mPQOBwkHHIzrsEsucyOIZQYMkXUiTkmZq5am/NyXKkg==",
837 | "requires": {
838 | "@babel/parser": "^7.16.4",
839 | "@vue/compiler-core": "3.2.37",
840 | "@vue/compiler-dom": "3.2.37",
841 | "@vue/compiler-ssr": "3.2.37",
842 | "@vue/reactivity-transform": "3.2.37",
843 | "@vue/shared": "3.2.37",
844 | "estree-walker": "^2.0.2",
845 | "magic-string": "^0.25.7",
846 | "postcss": "^8.1.10",
847 | "source-map": "^0.6.1"
848 | }
849 | },
850 | "@vue/compiler-ssr": {
851 | "version": "3.2.37",
852 | "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.2.37.tgz",
853 | "integrity": "sha512-7mQJD7HdXxQjktmsWp/J67lThEIcxLemz1Vb5I6rYJHR5vI+lON3nPGOH3ubmbvYGt8xEUaAr1j7/tIFWiEOqw==",
854 | "requires": {
855 | "@vue/compiler-dom": "3.2.37",
856 | "@vue/shared": "3.2.37"
857 | }
858 | },
859 | "@vue/reactivity": {
860 | "version": "3.2.37",
861 | "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.2.37.tgz",
862 | "integrity": "sha512-/7WRafBOshOc6m3F7plwzPeCu/RCVv9uMpOwa/5PiY1Zz+WLVRWiy0MYKwmg19KBdGtFWsmZ4cD+LOdVPcs52A==",
863 | "requires": {
864 | "@vue/shared": "3.2.37"
865 | }
866 | },
867 | "@vue/reactivity-transform": {
868 | "version": "3.2.37",
869 | "resolved": "https://registry.npmjs.org/@vue/reactivity-transform/-/reactivity-transform-3.2.37.tgz",
870 | "integrity": "sha512-IWopkKEb+8qpu/1eMKVeXrK0NLw9HicGviJzhJDEyfxTR9e1WtpnnbYkJWurX6WwoFP0sz10xQg8yL8lgskAZg==",
871 | "requires": {
872 | "@babel/parser": "^7.16.4",
873 | "@vue/compiler-core": "3.2.37",
874 | "@vue/shared": "3.2.37",
875 | "estree-walker": "^2.0.2",
876 | "magic-string": "^0.25.7"
877 | }
878 | },
879 | "@vue/runtime-core": {
880 | "version": "3.2.37",
881 | "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.2.37.tgz",
882 | "integrity": "sha512-JPcd9kFyEdXLl/i0ClS7lwgcs0QpUAWj+SKX2ZC3ANKi1U4DOtiEr6cRqFXsPwY5u1L9fAjkinIdB8Rz3FoYNQ==",
883 | "requires": {
884 | "@vue/reactivity": "3.2.37",
885 | "@vue/shared": "3.2.37"
886 | }
887 | },
888 | "@vue/runtime-dom": {
889 | "version": "3.2.37",
890 | "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.2.37.tgz",
891 | "integrity": "sha512-HimKdh9BepShW6YozwRKAYjYQWg9mQn63RGEiSswMbW+ssIht1MILYlVGkAGGQbkhSh31PCdoUcfiu4apXJoPw==",
892 | "requires": {
893 | "@vue/runtime-core": "3.2.37",
894 | "@vue/shared": "3.2.37",
895 | "csstype": "^2.6.8"
896 | }
897 | },
898 | "@vue/server-renderer": {
899 | "version": "3.2.37",
900 | "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.2.37.tgz",
901 | "integrity": "sha512-kLITEJvaYgZQ2h47hIzPh2K3jG8c1zCVbp/o/bzQOyvzaKiCquKS7AaioPI28GNxIsE/zSx+EwWYsNxDCX95MA==",
902 | "requires": {
903 | "@vue/compiler-ssr": "3.2.37",
904 | "@vue/shared": "3.2.37"
905 | }
906 | },
907 | "@vue/shared": {
908 | "version": "3.2.37",
909 | "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.2.37.tgz",
910 | "integrity": "sha512-4rSJemR2NQIo9Klm1vabqWjD8rs/ZaJSzMxkMNeJS6lHiUjjUeYFbooN19NgFjztubEKh3WlZUeOLVdbbUWHsw=="
911 | },
912 | "commondir": {
913 | "version": "1.0.1",
914 | "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz",
915 | "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==",
916 | "dev": true
917 | },
918 | "csstype": {
919 | "version": "2.6.20",
920 | "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.20.tgz",
921 | "integrity": "sha512-/WwNkdXfckNgw6S5R125rrW8ez139lBHWouiBvX8dfMFtcn6V81REDqnH7+CRpRipfYlyU1CmOnOxrmGcFOjeA=="
922 | },
923 | "esbuild": {
924 | "version": "0.14.45",
925 | "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.14.45.tgz",
926 | "integrity": "sha512-JOxGUD8jcs8xE8DjyGWC8by/vLMCXTJ/wuauWipL5kJRZx1dhpqIntb31QHjA45GZJWaXv7SjC/Zwu1bCkXWtQ==",
927 | "dev": true,
928 | "requires": {
929 | "esbuild-android-64": "0.14.45",
930 | "esbuild-android-arm64": "0.14.45",
931 | "esbuild-darwin-64": "0.14.45",
932 | "esbuild-darwin-arm64": "0.14.45",
933 | "esbuild-freebsd-64": "0.14.45",
934 | "esbuild-freebsd-arm64": "0.14.45",
935 | "esbuild-linux-32": "0.14.45",
936 | "esbuild-linux-64": "0.14.45",
937 | "esbuild-linux-arm": "0.14.45",
938 | "esbuild-linux-arm64": "0.14.45",
939 | "esbuild-linux-mips64le": "0.14.45",
940 | "esbuild-linux-ppc64le": "0.14.45",
941 | "esbuild-linux-riscv64": "0.14.45",
942 | "esbuild-linux-s390x": "0.14.45",
943 | "esbuild-netbsd-64": "0.14.45",
944 | "esbuild-openbsd-64": "0.14.45",
945 | "esbuild-sunos-64": "0.14.45",
946 | "esbuild-windows-32": "0.14.45",
947 | "esbuild-windows-64": "0.14.45",
948 | "esbuild-windows-arm64": "0.14.45"
949 | }
950 | },
951 | "esbuild-windows-64": {
952 | "version": "0.14.45",
953 | "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.14.45.tgz",
954 | "integrity": "sha512-t6bxFZcp9bLmSs+1pCNL/BW2bq3QEQHxU4HoiMEyWfF8QBU8iNXFI1iLGdyCzB1Ue2739h55tpOvojFrfyNPWA==",
955 | "dev": true,
956 | "optional": true
957 | },
958 | "estree-walker": {
959 | "version": "2.0.2",
960 | "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz",
961 | "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w=="
962 | },
963 | "find-cache-dir": {
964 | "version": "3.3.2",
965 | "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz",
966 | "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==",
967 | "dev": true,
968 | "requires": {
969 | "commondir": "^1.0.1",
970 | "make-dir": "^3.0.2",
971 | "pkg-dir": "^4.1.0"
972 | }
973 | },
974 | "find-up": {
975 | "version": "4.1.0",
976 | "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
977 | "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
978 | "dev": true,
979 | "requires": {
980 | "locate-path": "^5.0.0",
981 | "path-exists": "^4.0.0"
982 | }
983 | },
984 | "fs-extra": {
985 | "version": "10.1.0",
986 | "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz",
987 | "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==",
988 | "dev": true,
989 | "requires": {
990 | "graceful-fs": "^4.2.0",
991 | "jsonfile": "^6.0.1",
992 | "universalify": "^2.0.0"
993 | }
994 | },
995 | "function-bind": {
996 | "version": "1.1.1",
997 | "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
998 | "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
999 | "dev": true
1000 | },
1001 | "graceful-fs": {
1002 | "version": "4.2.10",
1003 | "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz",
1004 | "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==",
1005 | "dev": true
1006 | },
1007 | "has": {
1008 | "version": "1.0.3",
1009 | "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
1010 | "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
1011 | "dev": true,
1012 | "requires": {
1013 | "function-bind": "^1.1.1"
1014 | }
1015 | },
1016 | "is-core-module": {
1017 | "version": "2.9.0",
1018 | "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.9.0.tgz",
1019 | "integrity": "sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==",
1020 | "dev": true,
1021 | "requires": {
1022 | "has": "^1.0.3"
1023 | }
1024 | },
1025 | "jsonfile": {
1026 | "version": "6.1.0",
1027 | "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz",
1028 | "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==",
1029 | "dev": true,
1030 | "requires": {
1031 | "graceful-fs": "^4.1.6",
1032 | "universalify": "^2.0.0"
1033 | }
1034 | },
1035 | "locate-path": {
1036 | "version": "5.0.0",
1037 | "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
1038 | "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
1039 | "dev": true,
1040 | "requires": {
1041 | "p-locate": "^4.1.0"
1042 | }
1043 | },
1044 | "magic-string": {
1045 | "version": "0.25.9",
1046 | "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz",
1047 | "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==",
1048 | "requires": {
1049 | "sourcemap-codec": "^1.4.8"
1050 | }
1051 | },
1052 | "make-dir": {
1053 | "version": "3.1.0",
1054 | "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz",
1055 | "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==",
1056 | "dev": true,
1057 | "requires": {
1058 | "semver": "^6.0.0"
1059 | }
1060 | },
1061 | "nanoid": {
1062 | "version": "3.3.4",
1063 | "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz",
1064 | "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw=="
1065 | },
1066 | "p-limit": {
1067 | "version": "2.3.0",
1068 | "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
1069 | "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
1070 | "dev": true,
1071 | "requires": {
1072 | "p-try": "^2.0.0"
1073 | }
1074 | },
1075 | "p-locate": {
1076 | "version": "4.1.0",
1077 | "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
1078 | "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
1079 | "dev": true,
1080 | "requires": {
1081 | "p-limit": "^2.2.0"
1082 | }
1083 | },
1084 | "p-try": {
1085 | "version": "2.2.0",
1086 | "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
1087 | "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
1088 | "dev": true
1089 | },
1090 | "p5": {
1091 | "version": "1.4.1",
1092 | "resolved": "https://registry.npmjs.org/p5/-/p5-1.4.1.tgz",
1093 | "integrity": "sha512-3/X+qb0bK2Cg8nuZNpZZvzxkeUSRghOf0S+l8c+U8yIkUTVSbbcV0R8y96rx3InVBVhk8cH9kFC93VlZZElqSw=="
1094 | },
1095 | "path-exists": {
1096 | "version": "4.0.0",
1097 | "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
1098 | "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
1099 | "dev": true
1100 | },
1101 | "path-parse": {
1102 | "version": "1.0.7",
1103 | "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
1104 | "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
1105 | "dev": true
1106 | },
1107 | "picocolors": {
1108 | "version": "1.0.0",
1109 | "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
1110 | "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ=="
1111 | },
1112 | "picomatch": {
1113 | "version": "2.3.1",
1114 | "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
1115 | "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
1116 | "dev": true
1117 | },
1118 | "pkg-dir": {
1119 | "version": "4.2.0",
1120 | "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz",
1121 | "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==",
1122 | "dev": true,
1123 | "requires": {
1124 | "find-up": "^4.0.0"
1125 | }
1126 | },
1127 | "postcss": {
1128 | "version": "8.4.14",
1129 | "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.14.tgz",
1130 | "integrity": "sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==",
1131 | "requires": {
1132 | "nanoid": "^3.3.4",
1133 | "picocolors": "^1.0.0",
1134 | "source-map-js": "^1.0.2"
1135 | }
1136 | },
1137 | "resolve": {
1138 | "version": "1.22.0",
1139 | "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz",
1140 | "integrity": "sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==",
1141 | "dev": true,
1142 | "requires": {
1143 | "is-core-module": "^2.8.1",
1144 | "path-parse": "^1.0.7",
1145 | "supports-preserve-symlinks-flag": "^1.0.0"
1146 | }
1147 | },
1148 | "rollup": {
1149 | "version": "2.75.6",
1150 | "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.75.6.tgz",
1151 | "integrity": "sha512-OEf0TgpC9vU6WGROJIk1JA3LR5vk/yvqlzxqdrE2CzzXnqKXNzbAwlWUXis8RS3ZPe7LAq+YUxsRa0l3r27MLA==",
1152 | "dev": true,
1153 | "requires": {
1154 | "fsevents": "~2.3.2"
1155 | }
1156 | },
1157 | "rollup-plugin-typescript2": {
1158 | "version": "0.32.1",
1159 | "resolved": "https://registry.npmjs.org/rollup-plugin-typescript2/-/rollup-plugin-typescript2-0.32.1.tgz",
1160 | "integrity": "sha512-RanO8bp1WbeMv0bVlgcbsFNCn+Y3rX7wF97SQLDxf0fMLsg0B/QFF005t4AsGUcDgF3aKJHoqt4JF2xVaABeKw==",
1161 | "dev": true,
1162 | "requires": {
1163 | "@rollup/pluginutils": "^4.1.2",
1164 | "find-cache-dir": "^3.3.2",
1165 | "fs-extra": "^10.0.0",
1166 | "resolve": "^1.20.0",
1167 | "tslib": "^2.4.0"
1168 | }
1169 | },
1170 | "semver": {
1171 | "version": "6.3.0",
1172 | "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
1173 | "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
1174 | "dev": true
1175 | },
1176 | "source-map": {
1177 | "version": "0.6.1",
1178 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
1179 | "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
1180 | },
1181 | "source-map-js": {
1182 | "version": "1.0.2",
1183 | "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz",
1184 | "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw=="
1185 | },
1186 | "sourcemap-codec": {
1187 | "version": "1.4.8",
1188 | "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz",
1189 | "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA=="
1190 | },
1191 | "supports-preserve-symlinks-flag": {
1192 | "version": "1.0.0",
1193 | "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
1194 | "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==",
1195 | "dev": true
1196 | },
1197 | "tslib": {
1198 | "version": "2.4.0",
1199 | "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
1200 | "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
1201 | "dev": true
1202 | },
1203 | "typescript": {
1204 | "version": "4.7.3",
1205 | "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.7.3.tgz",
1206 | "integrity": "sha512-WOkT3XYvrpXx4vMMqlD+8R8R37fZkjyLGlxavMc4iB8lrl8L0DeTcHbYgw/v0N/z9wAFsgBhcsF0ruoySS22mA==",
1207 | "dev": true
1208 | },
1209 | "universalify": {
1210 | "version": "2.0.0",
1211 | "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz",
1212 | "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==",
1213 | "dev": true
1214 | },
1215 | "vite": {
1216 | "version": "2.9.12",
1217 | "resolved": "https://registry.npmjs.org/vite/-/vite-2.9.12.tgz",
1218 | "integrity": "sha512-suxC36dQo9Rq1qMB2qiRorNJtJAdxguu5TMvBHOc/F370KvqAe9t48vYp+/TbPKRNrMh/J55tOUmkuIqstZaew==",
1219 | "dev": true,
1220 | "requires": {
1221 | "esbuild": "^0.14.27",
1222 | "fsevents": "~2.3.2",
1223 | "postcss": "^8.4.13",
1224 | "resolve": "^1.22.0",
1225 | "rollup": "^2.59.0"
1226 | }
1227 | },
1228 | "vue": {
1229 | "version": "3.2.37",
1230 | "resolved": "https://registry.npmjs.org/vue/-/vue-3.2.37.tgz",
1231 | "integrity": "sha512-bOKEZxrm8Eh+fveCqS1/NkG/n6aMidsI6hahas7pa0w/l7jkbssJVsRhVDs07IdDq7h9KHswZOgItnwJAgtVtQ==",
1232 | "requires": {
1233 | "@vue/compiler-dom": "3.2.37",
1234 | "@vue/compiler-sfc": "3.2.37",
1235 | "@vue/runtime-dom": "3.2.37",
1236 | "@vue/server-renderer": "3.2.37",
1237 | "@vue/shared": "3.2.37"
1238 | }
1239 | },
1240 | "vue-tsc": {
1241 | "version": "0.34.17",
1242 | "resolved": "https://registry.npmjs.org/vue-tsc/-/vue-tsc-0.34.17.tgz",
1243 | "integrity": "sha512-jzUXky44ZLHC4daaJag7FQr3idlPYN719/K1eObGljz5KaS2UnVGTU/XSYCd7d6ampYYg4OsyalbHyJIxV0aEQ==",
1244 | "dev": true,
1245 | "requires": {
1246 | "@volar/vue-typescript": "0.34.17"
1247 | }
1248 | }
1249 | }
1250 | }
1251 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "p5vue",
3 | "version": "0.0.7",
4 | "type": "module",
5 | "exports": {
6 | ".": "./dist/index.js",
7 | "./styles": "./dist/style.css"
8 | },
9 | "browser": {
10 | "./styles.css": "./dist/style.css"
11 | },
12 | "license": "Apache-2.0",
13 | "files": [
14 | "dist"
15 | ],
16 | "repository": {
17 | "type": "git",
18 | "url": "https://github.com/Nico-Mayer/vueP5.git"
19 | },
20 | "scripts": {
21 | "dev": "vite",
22 | "build": "vue-tsc --noEmit && vite build",
23 | "preview": "vite preview"
24 | },
25 | "dependencies": {
26 | "@types/p5": "^1.4.2",
27 | "p5": "^1.4.1",
28 | "vue": "^3.2.25"
29 | },
30 | "devDependencies": {
31 | "@vitejs/plugin-vue": "^2.3.3",
32 | "rollup-plugin-typescript2": "^0.32.1",
33 | "typescript": "^4.5.4",
34 | "vite": "^2.9.9",
35 | "vue-tsc": "^0.34.7"
36 | }
37 | }
38 |
--------------------------------------------------------------------------------
/public/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Nico-Mayer/p5-vue/e1318154a8a746b7c277408481c9a05e266bb464/public/logo.png
--------------------------------------------------------------------------------
/public/logo.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/src/App.vue:
--------------------------------------------------------------------------------
1 |
21 |
22 |
23 | Unmount
24 |
25 |
26 |
--------------------------------------------------------------------------------
/src/P5Plugin.ts:
--------------------------------------------------------------------------------
1 | import type { App } from "vue"
2 | import { P5 } from "./components"
3 |
4 | export default {
5 | install: (app: App) => {
6 | app.component("P5", P5)
7 | },
8 | }
9 |
10 | export { P5 }
11 |
--------------------------------------------------------------------------------
/src/components/P5.vue:
--------------------------------------------------------------------------------
1 |
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/src/components/index.ts:
--------------------------------------------------------------------------------
1 | export { default as P5 } from "./P5.vue"
2 |
--------------------------------------------------------------------------------
/src/env.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 |
3 | declare module '*.vue' {
4 | import type { DefineComponent } from 'vue'
5 | // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/ban-types
6 | const component: DefineComponent<{}, {}, any>
7 | export default component
8 | }
9 |
--------------------------------------------------------------------------------
/src/main.ts:
--------------------------------------------------------------------------------
1 | import { createApp } from "vue"
2 | import App from "./App.vue"
3 | import vuep5 from "./P5Plugin"
4 |
5 | createApp(App).use(vuep5).mount("#app")
6 |
--------------------------------------------------------------------------------
/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "esnext",
4 | "useDefineForClassFields": true,
5 | "module": "esnext",
6 | "moduleResolution": "node",
7 | "strict": true,
8 | "jsx": "preserve",
9 | "sourceMap": true,
10 | "resolveJsonModule": true,
11 | "isolatedModules": true,
12 | "esModuleInterop": true,
13 | "lib": ["esnext", "dom"],
14 | "skipLibCheck": true
15 | },
16 | "include": ["src/**/*.ts", "src/**/*.d.ts", "src/**/*.tsx", "src/**/*.vue"],
17 | "references": [{ "path": "./tsconfig.node.json" }]
18 | }
19 |
--------------------------------------------------------------------------------
/tsconfig.node.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "composite": true,
4 | "module": "esnext",
5 | "moduleResolution": "node"
6 | },
7 | "include": ["vite.config.ts"]
8 | }
9 |
--------------------------------------------------------------------------------
/vite.config.ts:
--------------------------------------------------------------------------------
1 | import { defineConfig } from "vite"
2 | import vue from "@vitejs/plugin-vue"
3 | import typescript2 from "rollup-plugin-typescript2"
4 |
5 | // https://vitejs.dev/config/
6 | export default defineConfig({
7 | plugins: [
8 | vue(),
9 | typescript2({
10 | check: false,
11 | include: ["src/components/*.vue"],
12 | tsconfigOverride: {
13 | compilerOptions: {
14 | sourceMap: true,
15 | declaration: true,
16 | declarationMap: true,
17 | },
18 | exclude: ["vite.config.js"],
19 | },
20 | }),
21 | ],
22 | build: {
23 | cssCodeSplit: false,
24 | lib: {
25 | entry: "./src/P5Plugin.ts",
26 | formats: ["es", "cjs"],
27 | name: "vueP5",
28 | fileName: (format) => (format === "es" ? "index.js" : "index.cjs"),
29 | },
30 | rollupOptions: {
31 | external: ["vue"],
32 | output: {
33 | globals: {
34 | vue: "Vue",
35 | },
36 | },
37 | },
38 | },
39 | })
40 |
--------------------------------------------------------------------------------