├── .gitignore
├── LICENSE
├── index.html
├── netlify.toml
├── package.json
├── pnpm-lock.yaml
├── public
└── favicon.ico
├── src
├── assets
│ └── images
│ │ └── logo.png
├── components
│ ├── App.vue
│ ├── AppHeader.vue
│ ├── BugReport.vue
│ ├── FeatureRequest.vue
│ └── FormIntro.vue
├── config
│ ├── index.js
│ └── repos.js
├── helpers
│ ├── generate.js
│ ├── index.js
│ └── query.js
├── i18n
│ ├── locales
│ │ ├── en
│ │ │ ├── cli-envinfo-subtitle.md
│ │ │ ├── cli-repro-subtitle-links.md
│ │ │ ├── index.js
│ │ │ ├── intro-modal.md
│ │ │ ├── intro.md
│ │ │ ├── proposal-subtitle.md
│ │ │ ├── rationale-subtitle.md
│ │ │ ├── repro-modal.md
│ │ │ ├── repro-subtitle-links.md
│ │ │ ├── repro-subtitle.md
│ │ │ ├── router-next-repro-subtitle-links.md
│ │ │ ├── steps-subtitle.md
│ │ │ └── vue-next-repro-subtitle-links.md
│ │ ├── index.js
│ │ └── zh-cn
│ │ │ ├── cli-envinfo-subtitle.md
│ │ │ ├── cli-repro-subtitle-links.md
│ │ │ ├── index.js
│ │ │ ├── intro-modal.md
│ │ │ ├── intro.md
│ │ │ ├── proposal-subtitle.md
│ │ │ ├── rationale-subtitle.md
│ │ │ ├── repro-modal.md
│ │ │ ├── repro-subtitle-links.md
│ │ │ ├── repro-subtitle.md
│ │ │ ├── router-next-repro-subtitle-links.md
│ │ │ ├── steps-subtitle.md
│ │ │ └── vue-next-repro-subtitle-links.md
│ └── plugin.js
├── main.js
├── mixins
│ ├── check-modal.js
│ └── github-search.js
└── style
│ ├── imports.styl
│ └── vars.styl
└── vite.config.js
/.gitignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | node_modules
3 | /dist
4 |
5 | # local env files
6 | .env.local
7 | .env.*.local
8 |
9 | # Log files
10 | npm-debug.log*
11 | yarn-debug.log*
12 | yarn-error.log*
13 |
14 | # Editor directories and files
15 | .idea
16 | .vscode
17 | *.suo
18 | *.ntvs*
19 | *.njsproj
20 | *.sln
21 | *.sw*
22 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2018 Evan You
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 |
--------------------------------------------------------------------------------
/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | Vue Issue Helper
9 |
10 |
11 |
12 |
15 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/netlify.toml:
--------------------------------------------------------------------------------
1 | [build.environment]
2 | NODE_VERSION = "16"
3 | NPM_FLAGS = "--version" # prevent Netlify npm install
4 |
5 | [build]
6 | publish = "dist"
7 | command = "npx pnpm i --store=node_modules/.pnpm-store && npm run build"
8 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "new-issue-helper",
3 | "version": "0.1.0",
4 | "private": true,
5 | "scripts": {
6 | "dev": "vite",
7 | "build": "vite build"
8 | },
9 | "dependencies": {
10 | "@vue/ui": "^0.5.2",
11 | "copy-to-clipboard": "^3.0.8",
12 | "marked": "^0.4.0",
13 | "qs": "^6.5.2",
14 | "semver": "^5.6.0",
15 | "vue": "^2.6.14"
16 | },
17 | "devDependencies": {
18 | "vite": "^2.7.0",
19 | "stylus": "^0.56.0",
20 | "vue-template-compiler": "^2.6.14",
21 | "vite-plugin-vue2": "^1.9.3"
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/pnpm-lock.yaml:
--------------------------------------------------------------------------------
1 | lockfileVersion: '6.0'
2 |
3 | settings:
4 | autoInstallPeers: true
5 | excludeLinksFromLockfile: false
6 |
7 | dependencies:
8 | '@vue/ui':
9 | specifier: ^0.5.2
10 | version: 0.5.6(vue@2.6.14)
11 | copy-to-clipboard:
12 | specifier: ^3.0.8
13 | version: 3.3.1
14 | marked:
15 | specifier: ^0.4.0
16 | version: 0.4.0
17 | qs:
18 | specifier: ^6.5.2
19 | version: 6.10.3
20 | semver:
21 | specifier: ^5.6.0
22 | version: 5.7.1
23 | vue:
24 | specifier: ^2.6.14
25 | version: 2.6.14
26 |
27 | devDependencies:
28 | stylus:
29 | specifier: ^0.56.0
30 | version: 0.56.0
31 | vite:
32 | specifier: ^2.7.0
33 | version: 2.7.13(stylus@0.56.0)
34 | vite-plugin-vue2:
35 | specifier: ^1.9.3
36 | version: 1.9.3(vite@2.7.13)(vue-template-compiler@2.6.14)
37 | vue-template-compiler:
38 | specifier: ^2.6.14
39 | version: 2.6.14
40 |
41 | packages:
42 |
43 | /@ampproject/remapping@2.0.2:
44 | resolution: {integrity: sha512-sE8Gx+qSDMLoJvb3QarJJlDQK7SSY4rK3hxp4XsiANeFOmjU46ZI7Y9adAQRJrmbz8zbtZkp3mJTT+rGxtF0XA==}
45 | engines: {node: '>=6.0.0'}
46 | dependencies:
47 | '@jridgewell/trace-mapping': 0.2.4
48 | sourcemap-codec: 1.4.8
49 | dev: true
50 |
51 | /@babel/code-frame@7.16.7:
52 | resolution: {integrity: sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==}
53 | engines: {node: '>=6.9.0'}
54 | dependencies:
55 | '@babel/highlight': 7.16.10
56 | dev: true
57 |
58 | /@babel/code-frame@7.22.13:
59 | resolution: {integrity: sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==}
60 | engines: {node: '>=6.9.0'}
61 | dependencies:
62 | '@babel/highlight': 7.22.20
63 | chalk: 2.4.2
64 | dev: true
65 |
66 | /@babel/compat-data@7.17.0:
67 | resolution: {integrity: sha512-392byTlpGWXMv4FbyWw3sAZ/FrW/DrwqLGXpy0mbyNe9Taqv1mg9yON5/o0cnr8XYCkFTZbC1eV+c+LAROgrng==}
68 | engines: {node: '>=6.9.0'}
69 | dev: true
70 |
71 | /@babel/core@7.17.0:
72 | resolution: {integrity: sha512-x/5Ea+RO5MvF9ize5DeVICJoVrNv0Mi2RnIABrZEKYvPEpldXwauPkgvYA17cKa6WpU3LoYvYbuEMFtSNFsarA==}
73 | engines: {node: '>=6.9.0'}
74 | dependencies:
75 | '@ampproject/remapping': 2.0.2
76 | '@babel/code-frame': 7.16.7
77 | '@babel/generator': 7.17.0
78 | '@babel/helper-compilation-targets': 7.16.7(@babel/core@7.17.0)
79 | '@babel/helper-module-transforms': 7.16.7
80 | '@babel/helpers': 7.17.0
81 | '@babel/parser': 7.17.0
82 | '@babel/template': 7.16.7
83 | '@babel/traverse': 7.23.2
84 | '@babel/types': 7.17.0
85 | convert-source-map: 1.8.0
86 | debug: 4.3.3
87 | gensync: 1.0.0-beta.2
88 | json5: 2.2.0
89 | semver: 6.3.0
90 | transitivePeerDependencies:
91 | - supports-color
92 | dev: true
93 |
94 | /@babel/generator@7.17.0:
95 | resolution: {integrity: sha512-I3Omiv6FGOC29dtlZhkfXO6pgkmukJSlT26QjVvS1DGZe/NzSVCPG41X0tS21oZkJYlovfj9qDWgKP+Cn4bXxw==}
96 | engines: {node: '>=6.9.0'}
97 | dependencies:
98 | '@babel/types': 7.17.0
99 | jsesc: 2.5.2
100 | source-map: 0.5.7
101 | dev: true
102 |
103 | /@babel/generator@7.23.0:
104 | resolution: {integrity: sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g==}
105 | engines: {node: '>=6.9.0'}
106 | dependencies:
107 | '@babel/types': 7.23.0
108 | '@jridgewell/gen-mapping': 0.3.3
109 | '@jridgewell/trace-mapping': 0.3.19
110 | jsesc: 2.5.2
111 | dev: true
112 |
113 | /@babel/helper-annotate-as-pure@7.16.7:
114 | resolution: {integrity: sha512-s6t2w/IPQVTAET1HitoowRGXooX8mCgtuP5195wD/QJPV6wYjpujCGF7JuMODVX2ZAJOf1GT6DT9MHEZvLOFSw==}
115 | engines: {node: '>=6.9.0'}
116 | dependencies:
117 | '@babel/types': 7.17.0
118 | dev: true
119 |
120 | /@babel/helper-compilation-targets@7.16.7(@babel/core@7.17.0):
121 | resolution: {integrity: sha512-mGojBwIWcwGD6rfqgRXVlVYmPAv7eOpIemUG3dGnDdCY4Pae70ROij3XmfrH6Fa1h1aiDylpglbZyktfzyo/hA==}
122 | engines: {node: '>=6.9.0'}
123 | peerDependencies:
124 | '@babel/core': ^7.0.0
125 | dependencies:
126 | '@babel/compat-data': 7.17.0
127 | '@babel/core': 7.17.0
128 | '@babel/helper-validator-option': 7.16.7
129 | browserslist: 4.19.1
130 | semver: 6.3.0
131 | dev: true
132 |
133 | /@babel/helper-create-class-features-plugin@7.17.0(@babel/core@7.17.0):
134 | resolution: {integrity: sha512-S3+IHG72pJFb0RmJgeXg/TjVKt641ZsLla028haXJjdqCf9eccE5r1JsdO//L7nzTDzXjtC+hwV/lrkEb2+t0Q==}
135 | engines: {node: '>=6.9.0'}
136 | peerDependencies:
137 | '@babel/core': ^7.0.0
138 | dependencies:
139 | '@babel/core': 7.17.0
140 | '@babel/helper-annotate-as-pure': 7.16.7
141 | '@babel/helper-environment-visitor': 7.16.7
142 | '@babel/helper-function-name': 7.16.7
143 | '@babel/helper-member-expression-to-functions': 7.16.7
144 | '@babel/helper-optimise-call-expression': 7.16.7
145 | '@babel/helper-replace-supers': 7.16.7
146 | '@babel/helper-split-export-declaration': 7.16.7
147 | transitivePeerDependencies:
148 | - supports-color
149 | dev: true
150 |
151 | /@babel/helper-environment-visitor@7.16.7:
152 | resolution: {integrity: sha512-SLLb0AAn6PkUeAfKJCCOl9e1R53pQlGAfc4y4XuMRZfqeMYLE0dM1LMhqbGAlGQY0lfw5/ohoYWAe9V1yibRag==}
153 | engines: {node: '>=6.9.0'}
154 | dependencies:
155 | '@babel/types': 7.17.0
156 | dev: true
157 |
158 | /@babel/helper-environment-visitor@7.22.20:
159 | resolution: {integrity: sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==}
160 | engines: {node: '>=6.9.0'}
161 | dev: true
162 |
163 | /@babel/helper-function-name@7.16.7:
164 | resolution: {integrity: sha512-QfDfEnIUyyBSR3HtrtGECuZ6DAyCkYFp7GHl75vFtTnn6pjKeK0T1DB5lLkFvBea8MdaiUABx3osbgLyInoejA==}
165 | engines: {node: '>=6.9.0'}
166 | dependencies:
167 | '@babel/helper-get-function-arity': 7.16.7
168 | '@babel/template': 7.16.7
169 | '@babel/types': 7.17.0
170 | dev: true
171 |
172 | /@babel/helper-function-name@7.23.0:
173 | resolution: {integrity: sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==}
174 | engines: {node: '>=6.9.0'}
175 | dependencies:
176 | '@babel/template': 7.22.15
177 | '@babel/types': 7.23.0
178 | dev: true
179 |
180 | /@babel/helper-get-function-arity@7.16.7:
181 | resolution: {integrity: sha512-flc+RLSOBXzNzVhcLu6ujeHUrD6tANAOU5ojrRx/as+tbzf8+stUCj7+IfRRoAbEZqj/ahXEMsjhOhgeZsrnTw==}
182 | engines: {node: '>=6.9.0'}
183 | dependencies:
184 | '@babel/types': 7.17.0
185 | dev: true
186 |
187 | /@babel/helper-hoist-variables@7.22.5:
188 | resolution: {integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==}
189 | engines: {node: '>=6.9.0'}
190 | dependencies:
191 | '@babel/types': 7.23.0
192 | dev: true
193 |
194 | /@babel/helper-member-expression-to-functions@7.16.7:
195 | resolution: {integrity: sha512-VtJ/65tYiU/6AbMTDwyoXGPKHgTsfRarivm+YbB5uAzKUyuPjgZSgAFeG87FCigc7KNHu2Pegh1XIT3lXjvz3Q==}
196 | engines: {node: '>=6.9.0'}
197 | dependencies:
198 | '@babel/types': 7.17.0
199 | dev: true
200 |
201 | /@babel/helper-module-imports@7.16.7:
202 | resolution: {integrity: sha512-LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg==}
203 | engines: {node: '>=6.9.0'}
204 | dependencies:
205 | '@babel/types': 7.17.0
206 | dev: true
207 |
208 | /@babel/helper-module-transforms@7.16.7:
209 | resolution: {integrity: sha512-gaqtLDxJEFCeQbYp9aLAefjhkKdjKcdh6DB7jniIGU3Pz52WAmP268zK0VgPz9hUNkMSYeH976K2/Y6yPadpng==}
210 | engines: {node: '>=6.9.0'}
211 | dependencies:
212 | '@babel/helper-environment-visitor': 7.16.7
213 | '@babel/helper-module-imports': 7.16.7
214 | '@babel/helper-simple-access': 7.16.7
215 | '@babel/helper-split-export-declaration': 7.16.7
216 | '@babel/helper-validator-identifier': 7.16.7
217 | '@babel/template': 7.16.7
218 | '@babel/traverse': 7.23.2
219 | '@babel/types': 7.17.0
220 | transitivePeerDependencies:
221 | - supports-color
222 | dev: true
223 |
224 | /@babel/helper-optimise-call-expression@7.16.7:
225 | resolution: {integrity: sha512-EtgBhg7rd/JcnpZFXpBy0ze1YRfdm7BnBX4uKMBd3ixa3RGAE002JZB66FJyNH7g0F38U05pXmA5P8cBh7z+1w==}
226 | engines: {node: '>=6.9.0'}
227 | dependencies:
228 | '@babel/types': 7.17.0
229 | dev: true
230 |
231 | /@babel/helper-plugin-utils@7.16.7:
232 | resolution: {integrity: sha512-Qg3Nk7ZxpgMrsox6HreY1ZNKdBq7K72tDSliA6dCl5f007jR4ne8iD5UzuNnCJH2xBf2BEEVGr+/OL6Gdp7RxA==}
233 | engines: {node: '>=6.9.0'}
234 | dev: true
235 |
236 | /@babel/helper-replace-supers@7.16.7:
237 | resolution: {integrity: sha512-y9vsWilTNaVnVh6xiJfABzsNpgDPKev9HnAgz6Gb1p6UUwf9NepdlsV7VXGCftJM+jqD5f7JIEubcpLjZj5dBw==}
238 | engines: {node: '>=6.9.0'}
239 | dependencies:
240 | '@babel/helper-environment-visitor': 7.16.7
241 | '@babel/helper-member-expression-to-functions': 7.16.7
242 | '@babel/helper-optimise-call-expression': 7.16.7
243 | '@babel/traverse': 7.23.2
244 | '@babel/types': 7.17.0
245 | transitivePeerDependencies:
246 | - supports-color
247 | dev: true
248 |
249 | /@babel/helper-simple-access@7.16.7:
250 | resolution: {integrity: sha512-ZIzHVyoeLMvXMN/vok/a4LWRy8G2v205mNP0XOuf9XRLyX5/u9CnVulUtDgUTama3lT+bf/UqucuZjqiGuTS1g==}
251 | engines: {node: '>=6.9.0'}
252 | dependencies:
253 | '@babel/types': 7.17.0
254 | dev: true
255 |
256 | /@babel/helper-split-export-declaration@7.16.7:
257 | resolution: {integrity: sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw==}
258 | engines: {node: '>=6.9.0'}
259 | dependencies:
260 | '@babel/types': 7.17.0
261 | dev: true
262 |
263 | /@babel/helper-split-export-declaration@7.22.6:
264 | resolution: {integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==}
265 | engines: {node: '>=6.9.0'}
266 | dependencies:
267 | '@babel/types': 7.23.0
268 | dev: true
269 |
270 | /@babel/helper-string-parser@7.22.5:
271 | resolution: {integrity: sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==}
272 | engines: {node: '>=6.9.0'}
273 | dev: true
274 |
275 | /@babel/helper-validator-identifier@7.16.7:
276 | resolution: {integrity: sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==}
277 | engines: {node: '>=6.9.0'}
278 | dev: true
279 |
280 | /@babel/helper-validator-identifier@7.22.20:
281 | resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==}
282 | engines: {node: '>=6.9.0'}
283 | dev: true
284 |
285 | /@babel/helper-validator-option@7.16.7:
286 | resolution: {integrity: sha512-TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ==}
287 | engines: {node: '>=6.9.0'}
288 | dev: true
289 |
290 | /@babel/helpers@7.17.0:
291 | resolution: {integrity: sha512-Xe/9NFxjPwELUvW2dsukcMZIp6XwPSbI4ojFBJuX5ramHuVE22SVcZIwqzdWo5uCgeTXW8qV97lMvSOjq+1+nQ==}
292 | engines: {node: '>=6.9.0'}
293 | dependencies:
294 | '@babel/template': 7.16.7
295 | '@babel/traverse': 7.23.2
296 | '@babel/types': 7.17.0
297 | transitivePeerDependencies:
298 | - supports-color
299 | dev: true
300 |
301 | /@babel/highlight@7.16.10:
302 | resolution: {integrity: sha512-5FnTQLSLswEj6IkgVw5KusNUUFY9ZGqe/TRFnP/BKYHYgfh7tc+C7mwiy95/yNP7Dh9x580Vv8r7u7ZfTBFxdw==}
303 | engines: {node: '>=6.9.0'}
304 | dependencies:
305 | '@babel/helper-validator-identifier': 7.16.7
306 | chalk: 2.4.2
307 | js-tokens: 4.0.0
308 | dev: true
309 |
310 | /@babel/highlight@7.22.20:
311 | resolution: {integrity: sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==}
312 | engines: {node: '>=6.9.0'}
313 | dependencies:
314 | '@babel/helper-validator-identifier': 7.22.20
315 | chalk: 2.4.2
316 | js-tokens: 4.0.0
317 | dev: true
318 |
319 | /@babel/parser@7.17.0:
320 | resolution: {integrity: sha512-VKXSCQx5D8S04ej+Dqsr1CzYvvWgf20jIw2D+YhQCrIlr2UZGaDds23Y0xg75/skOxpLCRpUZvk/1EAVkGoDOw==}
321 | engines: {node: '>=6.0.0'}
322 | hasBin: true
323 | dependencies:
324 | '@babel/types': 7.17.0
325 | dev: true
326 |
327 | /@babel/parser@7.23.0:
328 | resolution: {integrity: sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw==}
329 | engines: {node: '>=6.0.0'}
330 | hasBin: true
331 | dependencies:
332 | '@babel/types': 7.23.0
333 | dev: true
334 |
335 | /@babel/plugin-proposal-class-properties@7.16.7(@babel/core@7.17.0):
336 | resolution: {integrity: sha512-IobU0Xme31ewjYOShSIqd/ZGM/r/cuOz2z0MDbNrhF5FW+ZVgi0f2lyeoj9KFPDOAqsYxmLWZte1WOwlvY9aww==}
337 | engines: {node: '>=6.9.0'}
338 | peerDependencies:
339 | '@babel/core': ^7.0.0-0
340 | dependencies:
341 | '@babel/core': 7.17.0
342 | '@babel/helper-create-class-features-plugin': 7.17.0(@babel/core@7.17.0)
343 | '@babel/helper-plugin-utils': 7.16.7
344 | transitivePeerDependencies:
345 | - supports-color
346 | dev: true
347 |
348 | /@babel/plugin-proposal-decorators@7.17.0(@babel/core@7.17.0):
349 | resolution: {integrity: sha512-JR8HTf3T1CsdMqfENrZ9pqncwsH4sPcvsyDLpvmv8iIbpDmeyBD7HPfGAIqkQph2j5d3B84hTm+m3qHPAedaPw==}
350 | engines: {node: '>=6.9.0'}
351 | peerDependencies:
352 | '@babel/core': ^7.0.0-0
353 | dependencies:
354 | '@babel/core': 7.17.0
355 | '@babel/helper-create-class-features-plugin': 7.17.0(@babel/core@7.17.0)
356 | '@babel/helper-plugin-utils': 7.16.7
357 | '@babel/helper-replace-supers': 7.16.7
358 | '@babel/plugin-syntax-decorators': 7.17.0(@babel/core@7.17.0)
359 | charcodes: 0.2.0
360 | transitivePeerDependencies:
361 | - supports-color
362 | dev: true
363 |
364 | /@babel/plugin-syntax-decorators@7.17.0(@babel/core@7.17.0):
365 | resolution: {integrity: sha512-qWe85yCXsvDEluNP0OyeQjH63DlhAR3W7K9BxxU1MvbDb48tgBG+Ao6IJJ6smPDrrVzSQZrbF6donpkFBMcs3A==}
366 | engines: {node: '>=6.9.0'}
367 | peerDependencies:
368 | '@babel/core': ^7.0.0-0
369 | dependencies:
370 | '@babel/core': 7.17.0
371 | '@babel/helper-plugin-utils': 7.16.7
372 | dev: true
373 |
374 | /@babel/plugin-syntax-jsx@7.16.7(@babel/core@7.17.0):
375 | resolution: {integrity: sha512-Esxmk7YjA8QysKeT3VhTXvF6y77f/a91SIs4pWb4H2eWGQkCKFgQaG6hdoEVZtGsrAcb2K5BW66XsOErD4WU3Q==}
376 | engines: {node: '>=6.9.0'}
377 | peerDependencies:
378 | '@babel/core': ^7.0.0-0
379 | dependencies:
380 | '@babel/core': 7.17.0
381 | '@babel/helper-plugin-utils': 7.16.7
382 | dev: true
383 |
384 | /@babel/plugin-syntax-typescript@7.16.7(@babel/core@7.17.0):
385 | resolution: {integrity: sha512-YhUIJHHGkqPgEcMYkPCKTyGUdoGKWtopIycQyjJH8OjvRgOYsXsaKehLVPScKJWAULPxMa4N1vCe6szREFlZ7A==}
386 | engines: {node: '>=6.9.0'}
387 | peerDependencies:
388 | '@babel/core': ^7.0.0-0
389 | dependencies:
390 | '@babel/core': 7.17.0
391 | '@babel/helper-plugin-utils': 7.16.7
392 | dev: true
393 |
394 | /@babel/plugin-transform-typescript@7.16.8(@babel/core@7.17.0):
395 | resolution: {integrity: sha512-bHdQ9k7YpBDO2d0NVfkj51DpQcvwIzIusJ7mEUaMlbZq3Kt/U47j24inXZHQ5MDiYpCs+oZiwnXyKedE8+q7AQ==}
396 | engines: {node: '>=6.9.0'}
397 | peerDependencies:
398 | '@babel/core': ^7.0.0-0
399 | dependencies:
400 | '@babel/core': 7.17.0
401 | '@babel/helper-create-class-features-plugin': 7.17.0(@babel/core@7.17.0)
402 | '@babel/helper-plugin-utils': 7.16.7
403 | '@babel/plugin-syntax-typescript': 7.16.7(@babel/core@7.17.0)
404 | transitivePeerDependencies:
405 | - supports-color
406 | dev: true
407 |
408 | /@babel/runtime@7.17.0:
409 | resolution: {integrity: sha512-etcO/ohMNaNA2UBdaXBBSX/3aEzFMRrVfaPv8Ptc0k+cWpWW0QFiGZ2XnVqQZI1Cf734LbPGmqBKWESfW4x/dQ==}
410 | engines: {node: '>=6.9.0'}
411 | dependencies:
412 | regenerator-runtime: 0.13.9
413 | dev: false
414 |
415 | /@babel/template@7.16.7:
416 | resolution: {integrity: sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w==}
417 | engines: {node: '>=6.9.0'}
418 | dependencies:
419 | '@babel/code-frame': 7.16.7
420 | '@babel/parser': 7.17.0
421 | '@babel/types': 7.17.0
422 | dev: true
423 |
424 | /@babel/template@7.22.15:
425 | resolution: {integrity: sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==}
426 | engines: {node: '>=6.9.0'}
427 | dependencies:
428 | '@babel/code-frame': 7.22.13
429 | '@babel/parser': 7.23.0
430 | '@babel/types': 7.23.0
431 | dev: true
432 |
433 | /@babel/traverse@7.23.2:
434 | resolution: {integrity: sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw==}
435 | engines: {node: '>=6.9.0'}
436 | dependencies:
437 | '@babel/code-frame': 7.22.13
438 | '@babel/generator': 7.23.0
439 | '@babel/helper-environment-visitor': 7.22.20
440 | '@babel/helper-function-name': 7.23.0
441 | '@babel/helper-hoist-variables': 7.22.5
442 | '@babel/helper-split-export-declaration': 7.22.6
443 | '@babel/parser': 7.23.0
444 | '@babel/types': 7.23.0
445 | debug: 4.3.3
446 | globals: 11.12.0
447 | transitivePeerDependencies:
448 | - supports-color
449 | dev: true
450 |
451 | /@babel/types@7.17.0:
452 | resolution: {integrity: sha512-TmKSNO4D5rzhL5bjWFcVHHLETzfQ/AmbKpKPOSjlP0WoHZ6L911fgoOKY4Alp/emzG4cHJdyN49zpgkbXFEHHw==}
453 | engines: {node: '>=6.9.0'}
454 | dependencies:
455 | '@babel/helper-validator-identifier': 7.16.7
456 | to-fast-properties: 2.0.0
457 | dev: true
458 |
459 | /@babel/types@7.23.0:
460 | resolution: {integrity: sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg==}
461 | engines: {node: '>=6.9.0'}
462 | dependencies:
463 | '@babel/helper-string-parser': 7.22.5
464 | '@babel/helper-validator-identifier': 7.22.20
465 | to-fast-properties: 2.0.0
466 | dev: true
467 |
468 | /@jridgewell/gen-mapping@0.3.3:
469 | resolution: {integrity: sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==}
470 | engines: {node: '>=6.0.0'}
471 | dependencies:
472 | '@jridgewell/set-array': 1.1.2
473 | '@jridgewell/sourcemap-codec': 1.4.15
474 | '@jridgewell/trace-mapping': 0.3.19
475 | dev: true
476 |
477 | /@jridgewell/resolve-uri@3.0.4:
478 | resolution: {integrity: sha512-cz8HFjOFfUBtvN+NXYSFMHYRdxZMaEl0XypVrhzxBgadKIXhIkRd8aMeHhmF56Sl7SuS8OnUpQ73/k9LE4VnLg==}
479 | engines: {node: '>=6.0.0'}
480 | dev: true
481 |
482 | /@jridgewell/resolve-uri@3.1.1:
483 | resolution: {integrity: sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==}
484 | engines: {node: '>=6.0.0'}
485 | dev: true
486 |
487 | /@jridgewell/set-array@1.1.2:
488 | resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==}
489 | engines: {node: '>=6.0.0'}
490 | dev: true
491 |
492 | /@jridgewell/sourcemap-codec@1.4.15:
493 | resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==}
494 | dev: true
495 |
496 | /@jridgewell/trace-mapping@0.2.4:
497 | resolution: {integrity: sha512-W/qPHey63KLHPC7zzvXeul8ouaugOu232lUPbyBAuoG9s+bmDSP1ANulLjGCf34Je3sGUPtw/Cg52e7ALY9+3w==}
498 | dependencies:
499 | '@jridgewell/resolve-uri': 3.0.4
500 | sourcemap-codec: 1.4.8
501 | dev: true
502 |
503 | /@jridgewell/trace-mapping@0.3.19:
504 | resolution: {integrity: sha512-kf37QtfW+Hwx/buWGMPcR60iF9ziHa6r/CZJIHbmcm4+0qrXiVdxegAH0F6yddEVQ7zdkjcGCgCzUu+BcbhQxw==}
505 | dependencies:
506 | '@jridgewell/resolve-uri': 3.1.1
507 | '@jridgewell/sourcemap-codec': 1.4.15
508 | dev: true
509 |
510 | /@rollup/pluginutils@4.1.2:
511 | resolution: {integrity: sha512-ROn4qvkxP9SyPeHaf7uQC/GPFY6L/OWy9+bd9AwcjOAWQwxRscoEyAUD8qCY5o5iL4jqQwoLk2kaTKJPb/HwzQ==}
512 | engines: {node: '>= 8.0.0'}
513 | dependencies:
514 | estree-walker: 2.0.2
515 | picomatch: 2.3.1
516 | dev: true
517 |
518 | /@vue/babel-helper-vue-jsx-merge-props@1.2.1:
519 | resolution: {integrity: sha512-QOi5OW45e2R20VygMSNhyQHvpdUwQZqGPc748JLGCYEy+yp8fNFNdbNIGAgZmi9e+2JHPd6i6idRuqivyicIkA==}
520 | dev: true
521 |
522 | /@vue/babel-plugin-transform-vue-jsx@1.2.1(@babel/core@7.17.0):
523 | resolution: {integrity: sha512-HJuqwACYehQwh1fNT8f4kyzqlNMpBuUK4rSiSES5D4QsYncv5fxFsLyrxFPG2ksO7t5WP+Vgix6tt6yKClwPzA==}
524 | peerDependencies:
525 | '@babel/core': ^7.0.0-0
526 | dependencies:
527 | '@babel/core': 7.17.0
528 | '@babel/helper-module-imports': 7.16.7
529 | '@babel/plugin-syntax-jsx': 7.16.7(@babel/core@7.17.0)
530 | '@vue/babel-helper-vue-jsx-merge-props': 1.2.1
531 | html-tags: 2.0.0
532 | lodash.kebabcase: 4.1.1
533 | svg-tags: 1.0.0
534 | dev: true
535 |
536 | /@vue/babel-preset-jsx@1.2.4(@babel/core@7.17.0):
537 | resolution: {integrity: sha512-oRVnmN2a77bYDJzeGSt92AuHXbkIxbf/XXSE3klINnh9AXBmVS1DGa1f0d+dDYpLfsAKElMnqKTQfKn7obcL4w==}
538 | peerDependencies:
539 | '@babel/core': ^7.0.0-0
540 | dependencies:
541 | '@babel/core': 7.17.0
542 | '@vue/babel-helper-vue-jsx-merge-props': 1.2.1
543 | '@vue/babel-plugin-transform-vue-jsx': 1.2.1(@babel/core@7.17.0)
544 | '@vue/babel-sugar-composition-api-inject-h': 1.2.1(@babel/core@7.17.0)
545 | '@vue/babel-sugar-composition-api-render-instance': 1.2.4(@babel/core@7.17.0)
546 | '@vue/babel-sugar-functional-vue': 1.2.2(@babel/core@7.17.0)
547 | '@vue/babel-sugar-inject-h': 1.2.2(@babel/core@7.17.0)
548 | '@vue/babel-sugar-v-model': 1.2.3(@babel/core@7.17.0)
549 | '@vue/babel-sugar-v-on': 1.2.3(@babel/core@7.17.0)
550 | dev: true
551 |
552 | /@vue/babel-sugar-composition-api-inject-h@1.2.1(@babel/core@7.17.0):
553 | resolution: {integrity: sha512-4B3L5Z2G+7s+9Bwbf+zPIifkFNcKth7fQwekVbnOA3cr3Pq71q71goWr97sk4/yyzH8phfe5ODVzEjX7HU7ItQ==}
554 | peerDependencies:
555 | '@babel/core': ^7.0.0-0
556 | dependencies:
557 | '@babel/core': 7.17.0
558 | '@babel/plugin-syntax-jsx': 7.16.7(@babel/core@7.17.0)
559 | dev: true
560 |
561 | /@vue/babel-sugar-composition-api-render-instance@1.2.4(@babel/core@7.17.0):
562 | resolution: {integrity: sha512-joha4PZznQMsxQYXtR3MnTgCASC9u3zt9KfBxIeuI5g2gscpTsSKRDzWQt4aqNIpx6cv8On7/m6zmmovlNsG7Q==}
563 | peerDependencies:
564 | '@babel/core': ^7.0.0-0
565 | dependencies:
566 | '@babel/core': 7.17.0
567 | '@babel/plugin-syntax-jsx': 7.16.7(@babel/core@7.17.0)
568 | dev: true
569 |
570 | /@vue/babel-sugar-functional-vue@1.2.2(@babel/core@7.17.0):
571 | resolution: {integrity: sha512-JvbgGn1bjCLByIAU1VOoepHQ1vFsroSA/QkzdiSs657V79q6OwEWLCQtQnEXD/rLTA8rRit4rMOhFpbjRFm82w==}
572 | peerDependencies:
573 | '@babel/core': ^7.0.0-0
574 | dependencies:
575 | '@babel/core': 7.17.0
576 | '@babel/plugin-syntax-jsx': 7.16.7(@babel/core@7.17.0)
577 | dev: true
578 |
579 | /@vue/babel-sugar-inject-h@1.2.2(@babel/core@7.17.0):
580 | resolution: {integrity: sha512-y8vTo00oRkzQTgufeotjCLPAvlhnpSkcHFEp60+LJUwygGcd5Chrpn5480AQp/thrxVm8m2ifAk0LyFel9oCnw==}
581 | peerDependencies:
582 | '@babel/core': ^7.0.0-0
583 | dependencies:
584 | '@babel/core': 7.17.0
585 | '@babel/plugin-syntax-jsx': 7.16.7(@babel/core@7.17.0)
586 | dev: true
587 |
588 | /@vue/babel-sugar-v-model@1.2.3(@babel/core@7.17.0):
589 | resolution: {integrity: sha512-A2jxx87mySr/ulAsSSyYE8un6SIH0NWHiLaCWpodPCVOlQVODCaSpiR4+IMsmBr73haG+oeCuSvMOM+ttWUqRQ==}
590 | peerDependencies:
591 | '@babel/core': ^7.0.0-0
592 | dependencies:
593 | '@babel/core': 7.17.0
594 | '@babel/plugin-syntax-jsx': 7.16.7(@babel/core@7.17.0)
595 | '@vue/babel-helper-vue-jsx-merge-props': 1.2.1
596 | '@vue/babel-plugin-transform-vue-jsx': 1.2.1(@babel/core@7.17.0)
597 | camelcase: 5.3.1
598 | html-tags: 2.0.0
599 | svg-tags: 1.0.0
600 | dev: true
601 |
602 | /@vue/babel-sugar-v-on@1.2.3(@babel/core@7.17.0):
603 | resolution: {integrity: sha512-kt12VJdz/37D3N3eglBywV8GStKNUhNrsxChXIV+o0MwVXORYuhDTHJRKPgLJRb/EY3vM2aRFQdxJBp9CLikjw==}
604 | peerDependencies:
605 | '@babel/core': ^7.0.0-0
606 | dependencies:
607 | '@babel/core': 7.17.0
608 | '@babel/plugin-syntax-jsx': 7.16.7(@babel/core@7.17.0)
609 | '@vue/babel-plugin-transform-vue-jsx': 1.2.1(@babel/core@7.17.0)
610 | camelcase: 5.3.1
611 | dev: true
612 |
613 | /@vue/component-compiler-utils@3.3.0:
614 | resolution: {integrity: sha512-97sfH2mYNU+2PzGrmK2haqffDpVASuib9/w2/noxiFi31Z54hW+q3izKQXXQZSNhtiUpAI36uSuYepeBe4wpHQ==}
615 | dependencies:
616 | consolidate: 0.15.1
617 | hash-sum: 1.0.2
618 | lru-cache: 4.1.5
619 | merge-source-map: 1.1.0
620 | postcss: 7.0.39
621 | postcss-selector-parser: 6.0.9
622 | source-map: 0.6.1
623 | vue-template-es2015-compiler: 1.9.1
624 | optionalDependencies:
625 | prettier: 2.5.1
626 | transitivePeerDependencies:
627 | - arc-templates
628 | - atpl
629 | - babel-core
630 | - bracket-template
631 | - coffee-script
632 | - dot
633 | - dust
634 | - dustjs-helpers
635 | - dustjs-linkedin
636 | - eco
637 | - ect
638 | - ejs
639 | - haml-coffee
640 | - hamlet
641 | - hamljs
642 | - handlebars
643 | - hogan.js
644 | - htmling
645 | - jade
646 | - jazz
647 | - jqtpl
648 | - just
649 | - liquid-node
650 | - liquor
651 | - lodash
652 | - marko
653 | - mote
654 | - mustache
655 | - nunjucks
656 | - plates
657 | - pug
658 | - qejs
659 | - ractive
660 | - razor-tmpl
661 | - react
662 | - react-dom
663 | - slm
664 | - squirrelly
665 | - swig
666 | - swig-templates
667 | - teacup
668 | - templayed
669 | - then-jade
670 | - then-pug
671 | - tinyliquid
672 | - toffee
673 | - twig
674 | - twing
675 | - underscore
676 | - vash
677 | - velocityjs
678 | - walrus
679 | - whiskers
680 | dev: true
681 |
682 | /@vue/ui@0.5.6(vue@2.6.14):
683 | resolution: {integrity: sha512-NmxJsFk8umipCbKLusz6L27DQIicpt8jLOjN1aLjyBIeX3t4H5RFshxH7IUtjDPtgOYGwwq7gy86bmFkDDBsIQ==}
684 | peerDependencies:
685 | vue: ^2.5.13
686 | dependencies:
687 | focus-visible: 4.1.5
688 | material-design-icons: 3.0.1
689 | v-tooltip: 2.1.3(vue@2.6.14)
690 | vue: 2.6.14
691 | vue-resize: 0.4.5(vue@2.6.14)
692 | dev: false
693 |
694 | /ansi-styles@3.2.1:
695 | resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==}
696 | engines: {node: '>=4'}
697 | dependencies:
698 | color-convert: 1.9.3
699 | dev: true
700 |
701 | /at-least-node@1.0.0:
702 | resolution: {integrity: sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==}
703 | engines: {node: '>= 4.0.0'}
704 | dev: true
705 |
706 | /atob@2.1.2:
707 | resolution: {integrity: sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==}
708 | engines: {node: '>= 4.5.0'}
709 | hasBin: true
710 | dev: true
711 |
712 | /balanced-match@1.0.2:
713 | resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
714 | dev: true
715 |
716 | /bluebird@3.7.2:
717 | resolution: {integrity: sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==}
718 | dev: true
719 |
720 | /brace-expansion@1.1.11:
721 | resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==}
722 | dependencies:
723 | balanced-match: 1.0.2
724 | concat-map: 0.0.1
725 | dev: true
726 |
727 | /browserslist@4.19.1:
728 | resolution: {integrity: sha512-u2tbbG5PdKRTUoctO3NBD8FQ5HdPh1ZXPHzp1rwaa5jTc+RV9/+RlWiAIKmjRPQF+xbGM9Kklj5bZQFa2s/38A==}
729 | engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
730 | hasBin: true
731 | dependencies:
732 | caniuse-lite: 1.0.30001306
733 | electron-to-chromium: 1.4.63
734 | escalade: 3.1.1
735 | node-releases: 2.0.1
736 | picocolors: 1.0.0
737 | dev: true
738 |
739 | /call-bind@1.0.2:
740 | resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==}
741 | dependencies:
742 | function-bind: 1.1.1
743 | get-intrinsic: 1.1.1
744 | dev: false
745 |
746 | /camelcase@5.3.1:
747 | resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==}
748 | engines: {node: '>=6'}
749 | dev: true
750 |
751 | /caniuse-lite@1.0.30001306:
752 | resolution: {integrity: sha512-Wd1OuggRzg1rbnM5hv1wXs2VkxJH/AA+LuudlIqvZiCvivF+wJJe2mgBZC8gPMgI7D76PP5CTx8Luvaqc1V6OQ==}
753 | dev: true
754 |
755 | /chalk@2.4.2:
756 | resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==}
757 | engines: {node: '>=4'}
758 | dependencies:
759 | ansi-styles: 3.2.1
760 | escape-string-regexp: 1.0.5
761 | supports-color: 5.5.0
762 | dev: true
763 |
764 | /charcodes@0.2.0:
765 | resolution: {integrity: sha512-Y4kiDb+AM4Ecy58YkuZrrSRJBDQdQ2L+NyS1vHHFtNtUjgutcZfx3yp1dAONI/oPaPmyGfCLx5CxL+zauIMyKQ==}
766 | engines: {node: '>=6'}
767 | dev: true
768 |
769 | /color-convert@1.9.3:
770 | resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==}
771 | dependencies:
772 | color-name: 1.1.3
773 | dev: true
774 |
775 | /color-name@1.1.3:
776 | resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==}
777 | dev: true
778 |
779 | /concat-map@0.0.1:
780 | resolution: {integrity: sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=}
781 | dev: true
782 |
783 | /consolidate@0.15.1:
784 | resolution: {integrity: sha512-DW46nrsMJgy9kqAbPt5rKaCr7uFtpo4mSUvLHIUbJEjm0vo+aY5QLwBUq3FK4tRnJr/X0Psc0C4jf/h+HtXSMw==}
785 | engines: {node: '>= 0.10.0'}
786 | peerDependencies:
787 | arc-templates: ^0.5.3
788 | atpl: '>=0.7.6'
789 | babel-core: ^6.26.3
790 | bracket-template: ^1.1.5
791 | coffee-script: ^1.12.7
792 | dot: ^1.1.3
793 | dust: ^0.3.0
794 | dustjs-helpers: ^1.7.4
795 | dustjs-linkedin: ^2.7.5
796 | eco: ^1.1.0-rc-3
797 | ect: ^0.5.9
798 | ejs: ^3.1.5
799 | haml-coffee: ^1.14.1
800 | hamlet: ^0.3.3
801 | hamljs: ^0.6.2
802 | handlebars: ^4.7.6
803 | hogan.js: ^3.0.2
804 | htmling: ^0.0.8
805 | jade: ^1.11.0
806 | jazz: ^0.0.18
807 | jqtpl: ~1.1.0
808 | just: ^0.1.8
809 | liquid-node: ^3.0.1
810 | liquor: ^0.0.5
811 | lodash: ^4.17.20
812 | marko: ^3.14.4
813 | mote: ^0.2.0
814 | mustache: ^3.0.0
815 | nunjucks: ^3.2.2
816 | plates: ~0.4.11
817 | pug: ^3.0.0
818 | qejs: ^3.0.5
819 | ractive: ^1.3.12
820 | razor-tmpl: ^1.3.1
821 | react: ^16.13.1
822 | react-dom: ^16.13.1
823 | slm: ^2.0.0
824 | squirrelly: ^5.1.0
825 | swig: ^1.4.2
826 | swig-templates: ^2.0.3
827 | teacup: ^2.0.0
828 | templayed: '>=0.2.3'
829 | then-jade: '*'
830 | then-pug: '*'
831 | tinyliquid: ^0.2.34
832 | toffee: ^0.3.6
833 | twig: ^1.15.2
834 | twing: ^5.0.2
835 | underscore: ^1.11.0
836 | vash: ^0.13.0
837 | velocityjs: ^2.0.1
838 | walrus: ^0.10.1
839 | whiskers: ^0.4.0
840 | peerDependenciesMeta:
841 | arc-templates:
842 | optional: true
843 | atpl:
844 | optional: true
845 | babel-core:
846 | optional: true
847 | bracket-template:
848 | optional: true
849 | coffee-script:
850 | optional: true
851 | dot:
852 | optional: true
853 | dust:
854 | optional: true
855 | dustjs-helpers:
856 | optional: true
857 | dustjs-linkedin:
858 | optional: true
859 | eco:
860 | optional: true
861 | ect:
862 | optional: true
863 | ejs:
864 | optional: true
865 | haml-coffee:
866 | optional: true
867 | hamlet:
868 | optional: true
869 | hamljs:
870 | optional: true
871 | handlebars:
872 | optional: true
873 | hogan.js:
874 | optional: true
875 | htmling:
876 | optional: true
877 | jade:
878 | optional: true
879 | jazz:
880 | optional: true
881 | jqtpl:
882 | optional: true
883 | just:
884 | optional: true
885 | liquid-node:
886 | optional: true
887 | liquor:
888 | optional: true
889 | lodash:
890 | optional: true
891 | marko:
892 | optional: true
893 | mote:
894 | optional: true
895 | mustache:
896 | optional: true
897 | nunjucks:
898 | optional: true
899 | plates:
900 | optional: true
901 | pug:
902 | optional: true
903 | qejs:
904 | optional: true
905 | ractive:
906 | optional: true
907 | razor-tmpl:
908 | optional: true
909 | react:
910 | optional: true
911 | react-dom:
912 | optional: true
913 | slm:
914 | optional: true
915 | squirrelly:
916 | optional: true
917 | swig:
918 | optional: true
919 | swig-templates:
920 | optional: true
921 | teacup:
922 | optional: true
923 | templayed:
924 | optional: true
925 | then-jade:
926 | optional: true
927 | then-pug:
928 | optional: true
929 | tinyliquid:
930 | optional: true
931 | toffee:
932 | optional: true
933 | twig:
934 | optional: true
935 | twing:
936 | optional: true
937 | underscore:
938 | optional: true
939 | vash:
940 | optional: true
941 | velocityjs:
942 | optional: true
943 | walrus:
944 | optional: true
945 | whiskers:
946 | optional: true
947 | dependencies:
948 | bluebird: 3.7.2
949 | dev: true
950 |
951 | /consolidate@0.16.0:
952 | resolution: {integrity: sha512-Nhl1wzCslqXYTJVDyJCu3ODohy9OfBMB5uD2BiBTzd7w+QY0lBzafkR8y8755yMYHAaMD4NuzbAw03/xzfw+eQ==}
953 | engines: {node: '>= 0.10.0'}
954 | peerDependencies:
955 | arc-templates: ^0.5.3
956 | atpl: '>=0.7.6'
957 | babel-core: ^6.26.3
958 | bracket-template: ^1.1.5
959 | coffee-script: ^1.12.7
960 | dot: ^1.1.3
961 | dust: ^0.3.0
962 | dustjs-helpers: ^1.7.4
963 | dustjs-linkedin: ^2.7.5
964 | eco: ^1.1.0-rc-3
965 | ect: ^0.5.9
966 | ejs: ^3.1.5
967 | haml-coffee: ^1.14.1
968 | hamlet: ^0.3.3
969 | hamljs: ^0.6.2
970 | handlebars: ^4.7.6
971 | hogan.js: ^3.0.2
972 | htmling: ^0.0.8
973 | jade: ^1.11.0
974 | jazz: ^0.0.18
975 | jqtpl: ~1.1.0
976 | just: ^0.1.8
977 | liquid-node: ^3.0.1
978 | liquor: ^0.0.5
979 | lodash: ^4.17.20
980 | marko: ^3.14.4
981 | mote: ^0.2.0
982 | mustache: ^4.0.1
983 | nunjucks: ^3.2.2
984 | plates: ~0.4.11
985 | pug: ^3.0.0
986 | qejs: ^3.0.5
987 | ractive: ^1.3.12
988 | razor-tmpl: ^1.3.1
989 | react: ^16.13.1
990 | react-dom: ^16.13.1
991 | slm: ^2.0.0
992 | squirrelly: ^5.1.0
993 | swig: ^1.4.2
994 | swig-templates: ^2.0.3
995 | teacup: ^2.0.0
996 | templayed: '>=0.2.3'
997 | then-jade: '*'
998 | then-pug: '*'
999 | tinyliquid: ^0.2.34
1000 | toffee: ^0.3.6
1001 | twig: ^1.15.2
1002 | twing: ^5.0.2
1003 | underscore: ^1.11.0
1004 | vash: ^0.13.0
1005 | velocityjs: ^2.0.1
1006 | walrus: ^0.10.1
1007 | whiskers: ^0.4.0
1008 | peerDependenciesMeta:
1009 | arc-templates:
1010 | optional: true
1011 | atpl:
1012 | optional: true
1013 | babel-core:
1014 | optional: true
1015 | bracket-template:
1016 | optional: true
1017 | coffee-script:
1018 | optional: true
1019 | dot:
1020 | optional: true
1021 | dust:
1022 | optional: true
1023 | dustjs-helpers:
1024 | optional: true
1025 | dustjs-linkedin:
1026 | optional: true
1027 | eco:
1028 | optional: true
1029 | ect:
1030 | optional: true
1031 | ejs:
1032 | optional: true
1033 | haml-coffee:
1034 | optional: true
1035 | hamlet:
1036 | optional: true
1037 | hamljs:
1038 | optional: true
1039 | handlebars:
1040 | optional: true
1041 | hogan.js:
1042 | optional: true
1043 | htmling:
1044 | optional: true
1045 | jade:
1046 | optional: true
1047 | jazz:
1048 | optional: true
1049 | jqtpl:
1050 | optional: true
1051 | just:
1052 | optional: true
1053 | liquid-node:
1054 | optional: true
1055 | liquor:
1056 | optional: true
1057 | lodash:
1058 | optional: true
1059 | marko:
1060 | optional: true
1061 | mote:
1062 | optional: true
1063 | mustache:
1064 | optional: true
1065 | nunjucks:
1066 | optional: true
1067 | plates:
1068 | optional: true
1069 | pug:
1070 | optional: true
1071 | qejs:
1072 | optional: true
1073 | ractive:
1074 | optional: true
1075 | razor-tmpl:
1076 | optional: true
1077 | react:
1078 | optional: true
1079 | react-dom:
1080 | optional: true
1081 | slm:
1082 | optional: true
1083 | squirrelly:
1084 | optional: true
1085 | swig:
1086 | optional: true
1087 | swig-templates:
1088 | optional: true
1089 | teacup:
1090 | optional: true
1091 | templayed:
1092 | optional: true
1093 | then-jade:
1094 | optional: true
1095 | then-pug:
1096 | optional: true
1097 | tinyliquid:
1098 | optional: true
1099 | toffee:
1100 | optional: true
1101 | twig:
1102 | optional: true
1103 | twing:
1104 | optional: true
1105 | underscore:
1106 | optional: true
1107 | vash:
1108 | optional: true
1109 | velocityjs:
1110 | optional: true
1111 | walrus:
1112 | optional: true
1113 | whiskers:
1114 | optional: true
1115 | dependencies:
1116 | bluebird: 3.7.2
1117 | dev: true
1118 |
1119 | /convert-source-map@1.8.0:
1120 | resolution: {integrity: sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==}
1121 | dependencies:
1122 | safe-buffer: 5.1.2
1123 | dev: true
1124 |
1125 | /copy-to-clipboard@3.3.1:
1126 | resolution: {integrity: sha512-i13qo6kIHTTpCm8/Wup+0b1mVWETvu2kIMzKoK8FpkLkFxlt0znUAHcMzox+T8sPlqtZXq3CulEjQHsYiGFJUw==}
1127 | dependencies:
1128 | toggle-selection: 1.0.6
1129 | dev: false
1130 |
1131 | /css@3.0.0:
1132 | resolution: {integrity: sha512-DG9pFfwOrzc+hawpmqX/dHYHJG+Bsdb0klhyi1sDneOgGOXy9wQIC8hzyVp1e4NRYDBdxcylvywPkkXCHAzTyQ==}
1133 | dependencies:
1134 | inherits: 2.0.4
1135 | source-map: 0.6.1
1136 | source-map-resolve: 0.6.0
1137 | dev: true
1138 |
1139 | /cssesc@3.0.0:
1140 | resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==}
1141 | engines: {node: '>=4'}
1142 | hasBin: true
1143 | dev: true
1144 |
1145 | /de-indent@1.0.2:
1146 | resolution: {integrity: sha1-sgOOhG3DO6pXlhKNCAS0VbjB4h0=}
1147 | dev: true
1148 |
1149 | /debug@4.3.3:
1150 | resolution: {integrity: sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==}
1151 | engines: {node: '>=6.0'}
1152 | peerDependencies:
1153 | supports-color: '*'
1154 | peerDependenciesMeta:
1155 | supports-color:
1156 | optional: true
1157 | dependencies:
1158 | ms: 2.1.2
1159 | dev: true
1160 |
1161 | /decode-uri-component@0.2.0:
1162 | resolution: {integrity: sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=}
1163 | engines: {node: '>=0.10'}
1164 | dev: true
1165 |
1166 | /electron-to-chromium@1.4.63:
1167 | resolution: {integrity: sha512-e0PX/LRJPFRU4kzJKLvTobxyFdnANCvcoDCe8XcyTqP58nTWIwdsHvXLIl1RkB39X5yaosLaroMASWB0oIsgCA==}
1168 | dev: true
1169 |
1170 | /esbuild-android-arm64@0.13.15:
1171 | resolution: {integrity: sha512-m602nft/XXeO8YQPUDVoHfjyRVPdPgjyyXOxZ44MK/agewFFkPa8tUo6lAzSWh5Ui5PB4KR9UIFTSBKh/RrCmg==}
1172 | cpu: [arm64]
1173 | os: [android]
1174 | requiresBuild: true
1175 | dev: true
1176 | optional: true
1177 |
1178 | /esbuild-darwin-64@0.13.15:
1179 | resolution: {integrity: sha512-ihOQRGs2yyp7t5bArCwnvn2Atr6X4axqPpEdCFPVp7iUj4cVSdisgvEKdNR7yH3JDjW6aQDw40iQFoTqejqxvQ==}
1180 | cpu: [x64]
1181 | os: [darwin]
1182 | requiresBuild: true
1183 | dev: true
1184 | optional: true
1185 |
1186 | /esbuild-darwin-arm64@0.13.15:
1187 | resolution: {integrity: sha512-i1FZssTVxUqNlJ6cBTj5YQj4imWy3m49RZRnHhLpefFIh0To05ow9DTrXROTE1urGTQCloFUXTX8QfGJy1P8dQ==}
1188 | cpu: [arm64]
1189 | os: [darwin]
1190 | requiresBuild: true
1191 | dev: true
1192 | optional: true
1193 |
1194 | /esbuild-freebsd-64@0.13.15:
1195 | resolution: {integrity: sha512-G3dLBXUI6lC6Z09/x+WtXBXbOYQZ0E8TDBqvn7aMaOCzryJs8LyVXKY4CPnHFXZAbSwkCbqiPuSQ1+HhrNk7EA==}
1196 | cpu: [x64]
1197 | os: [freebsd]
1198 | requiresBuild: true
1199 | dev: true
1200 | optional: true
1201 |
1202 | /esbuild-freebsd-arm64@0.13.15:
1203 | resolution: {integrity: sha512-KJx0fzEDf1uhNOZQStV4ujg30WlnwqUASaGSFPhznLM/bbheu9HhqZ6mJJZM32lkyfGJikw0jg7v3S0oAvtvQQ==}
1204 | cpu: [arm64]
1205 | os: [freebsd]
1206 | requiresBuild: true
1207 | dev: true
1208 | optional: true
1209 |
1210 | /esbuild-linux-32@0.13.15:
1211 | resolution: {integrity: sha512-ZvTBPk0YWCLMCXiFmD5EUtB30zIPvC5Itxz0mdTu/xZBbbHJftQgLWY49wEPSn2T/TxahYCRDWun5smRa0Tu+g==}
1212 | cpu: [ia32]
1213 | os: [linux]
1214 | requiresBuild: true
1215 | dev: true
1216 | optional: true
1217 |
1218 | /esbuild-linux-64@0.13.15:
1219 | resolution: {integrity: sha512-eCKzkNSLywNeQTRBxJRQ0jxRCl2YWdMB3+PkWFo2BBQYC5mISLIVIjThNtn6HUNqua1pnvgP5xX0nHbZbPj5oA==}
1220 | cpu: [x64]
1221 | os: [linux]
1222 | requiresBuild: true
1223 | dev: true
1224 | optional: true
1225 |
1226 | /esbuild-linux-arm64@0.13.15:
1227 | resolution: {integrity: sha512-bYpuUlN6qYU9slzr/ltyLTR9YTBS7qUDymO8SV7kjeNext61OdmqFAzuVZom+OLW1HPHseBfJ/JfdSlx8oTUoA==}
1228 | cpu: [arm64]
1229 | os: [linux]
1230 | requiresBuild: true
1231 | dev: true
1232 | optional: true
1233 |
1234 | /esbuild-linux-arm@0.13.15:
1235 | resolution: {integrity: sha512-wUHttDi/ol0tD8ZgUMDH8Ef7IbDX+/UsWJOXaAyTdkT7Yy9ZBqPg8bgB/Dn3CZ9SBpNieozrPRHm0BGww7W/jA==}
1236 | cpu: [arm]
1237 | os: [linux]
1238 | requiresBuild: true
1239 | dev: true
1240 | optional: true
1241 |
1242 | /esbuild-linux-mips64le@0.13.15:
1243 | resolution: {integrity: sha512-KlVjIG828uFPyJkO/8gKwy9RbXhCEUeFsCGOJBepUlpa7G8/SeZgncUEz/tOOUJTcWMTmFMtdd3GElGyAtbSWg==}
1244 | cpu: [mips64el]
1245 | os: [linux]
1246 | requiresBuild: true
1247 | dev: true
1248 | optional: true
1249 |
1250 | /esbuild-linux-ppc64le@0.13.15:
1251 | resolution: {integrity: sha512-h6gYF+OsaqEuBjeesTBtUPw0bmiDu7eAeuc2OEH9S6mV9/jPhPdhOWzdeshb0BskRZxPhxPOjqZ+/OqLcxQwEQ==}
1252 | cpu: [ppc64]
1253 | os: [linux]
1254 | requiresBuild: true
1255 | dev: true
1256 | optional: true
1257 |
1258 | /esbuild-netbsd-64@0.13.15:
1259 | resolution: {integrity: sha512-3+yE9emwoevLMyvu+iR3rsa+Xwhie7ZEHMGDQ6dkqP/ndFzRHkobHUKTe+NCApSqG5ce2z4rFu+NX/UHnxlh3w==}
1260 | cpu: [x64]
1261 | os: [netbsd]
1262 | requiresBuild: true
1263 | dev: true
1264 | optional: true
1265 |
1266 | /esbuild-openbsd-64@0.13.15:
1267 | resolution: {integrity: sha512-wTfvtwYJYAFL1fSs8yHIdf5GEE4NkbtbXtjLWjM3Cw8mmQKqsg8kTiqJ9NJQe5NX/5Qlo7Xd9r1yKMMkHllp5g==}
1268 | cpu: [x64]
1269 | os: [openbsd]
1270 | requiresBuild: true
1271 | dev: true
1272 | optional: true
1273 |
1274 | /esbuild-sunos-64@0.13.15:
1275 | resolution: {integrity: sha512-lbivT9Bx3t1iWWrSnGyBP9ODriEvWDRiweAs69vI+miJoeKwHWOComSRukttbuzjZ8r1q0mQJ8Z7yUsDJ3hKdw==}
1276 | cpu: [x64]
1277 | os: [sunos]
1278 | requiresBuild: true
1279 | dev: true
1280 | optional: true
1281 |
1282 | /esbuild-windows-32@0.13.15:
1283 | resolution: {integrity: sha512-fDMEf2g3SsJ599MBr50cY5ve5lP1wyVwTe6aLJsM01KtxyKkB4UT+fc5MXQFn3RLrAIAZOG+tHC+yXObpSn7Nw==}
1284 | cpu: [ia32]
1285 | os: [win32]
1286 | requiresBuild: true
1287 | dev: true
1288 | optional: true
1289 |
1290 | /esbuild-windows-64@0.13.15:
1291 | resolution: {integrity: sha512-9aMsPRGDWCd3bGjUIKG/ZOJPKsiztlxl/Q3C1XDswO6eNX/Jtwu4M+jb6YDH9hRSUflQWX0XKAfWzgy5Wk54JQ==}
1292 | cpu: [x64]
1293 | os: [win32]
1294 | requiresBuild: true
1295 | dev: true
1296 | optional: true
1297 |
1298 | /esbuild-windows-arm64@0.13.15:
1299 | resolution: {integrity: sha512-zzvyCVVpbwQQATaf3IG8mu1IwGEiDxKkYUdA4FpoCHi1KtPa13jeScYDjlW0Qh+ebWzpKfR2ZwvqAQkSWNcKjA==}
1300 | cpu: [arm64]
1301 | os: [win32]
1302 | requiresBuild: true
1303 | dev: true
1304 | optional: true
1305 |
1306 | /esbuild@0.13.15:
1307 | resolution: {integrity: sha512-raCxt02HBKv8RJxE8vkTSCXGIyKHdEdGfUmiYb8wnabnaEmHzyW7DCHb5tEN0xU8ryqg5xw54mcwnYkC4x3AIw==}
1308 | hasBin: true
1309 | requiresBuild: true
1310 | optionalDependencies:
1311 | esbuild-android-arm64: 0.13.15
1312 | esbuild-darwin-64: 0.13.15
1313 | esbuild-darwin-arm64: 0.13.15
1314 | esbuild-freebsd-64: 0.13.15
1315 | esbuild-freebsd-arm64: 0.13.15
1316 | esbuild-linux-32: 0.13.15
1317 | esbuild-linux-64: 0.13.15
1318 | esbuild-linux-arm: 0.13.15
1319 | esbuild-linux-arm64: 0.13.15
1320 | esbuild-linux-mips64le: 0.13.15
1321 | esbuild-linux-ppc64le: 0.13.15
1322 | esbuild-netbsd-64: 0.13.15
1323 | esbuild-openbsd-64: 0.13.15
1324 | esbuild-sunos-64: 0.13.15
1325 | esbuild-windows-32: 0.13.15
1326 | esbuild-windows-64: 0.13.15
1327 | esbuild-windows-arm64: 0.13.15
1328 | dev: true
1329 |
1330 | /escalade@3.1.1:
1331 | resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==}
1332 | engines: {node: '>=6'}
1333 | dev: true
1334 |
1335 | /escape-string-regexp@1.0.5:
1336 | resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==}
1337 | engines: {node: '>=0.8.0'}
1338 | dev: true
1339 |
1340 | /estree-walker@2.0.2:
1341 | resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==}
1342 | dev: true
1343 |
1344 | /focus-visible@4.1.5:
1345 | resolution: {integrity: sha512-yo/njtk/BB4Z2euzaZe3CZrg4u5s5uEi7ZwbHBJS2quHx51N0mmcx9nTIiImUGlgy+vf26d0CcQluahBBBL/Fw==}
1346 | dev: false
1347 |
1348 | /fs-extra@9.1.0:
1349 | resolution: {integrity: sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==}
1350 | engines: {node: '>=10'}
1351 | dependencies:
1352 | at-least-node: 1.0.0
1353 | graceful-fs: 4.2.9
1354 | jsonfile: 6.1.0
1355 | universalify: 2.0.0
1356 | dev: true
1357 |
1358 | /fs.realpath@1.0.0:
1359 | resolution: {integrity: sha1-FQStJSMVjKpA20onh8sBQRmU6k8=}
1360 | dev: true
1361 |
1362 | /fsevents@2.3.2:
1363 | resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==}
1364 | engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
1365 | os: [darwin]
1366 | requiresBuild: true
1367 | dev: true
1368 | optional: true
1369 |
1370 | /function-bind@1.1.1:
1371 | resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==}
1372 |
1373 | /gensync@1.0.0-beta.2:
1374 | resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==}
1375 | engines: {node: '>=6.9.0'}
1376 | dev: true
1377 |
1378 | /get-intrinsic@1.1.1:
1379 | resolution: {integrity: sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==}
1380 | dependencies:
1381 | function-bind: 1.1.1
1382 | has: 1.0.3
1383 | has-symbols: 1.0.2
1384 | dev: false
1385 |
1386 | /glob@7.2.0:
1387 | resolution: {integrity: sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==}
1388 | dependencies:
1389 | fs.realpath: 1.0.0
1390 | inflight: 1.0.6
1391 | inherits: 2.0.4
1392 | minimatch: 3.0.4
1393 | once: 1.4.0
1394 | path-is-absolute: 1.0.1
1395 | dev: true
1396 |
1397 | /globals@11.12.0:
1398 | resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==}
1399 | engines: {node: '>=4'}
1400 | dev: true
1401 |
1402 | /graceful-fs@4.2.9:
1403 | resolution: {integrity: sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==}
1404 | dev: true
1405 |
1406 | /has-flag@3.0.0:
1407 | resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==}
1408 | engines: {node: '>=4'}
1409 | dev: true
1410 |
1411 | /has-symbols@1.0.2:
1412 | resolution: {integrity: sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==}
1413 | engines: {node: '>= 0.4'}
1414 | dev: false
1415 |
1416 | /has@1.0.3:
1417 | resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==}
1418 | engines: {node: '>= 0.4.0'}
1419 | dependencies:
1420 | function-bind: 1.1.1
1421 |
1422 | /hash-sum@1.0.2:
1423 | resolution: {integrity: sha1-M7QHd3VMZDJXPBIMw4CLvRDUfwQ=}
1424 | dev: true
1425 |
1426 | /hash-sum@2.0.0:
1427 | resolution: {integrity: sha512-WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg==}
1428 | dev: true
1429 |
1430 | /he@1.2.0:
1431 | resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==}
1432 | hasBin: true
1433 | dev: true
1434 |
1435 | /html-tags@2.0.0:
1436 | resolution: {integrity: sha1-ELMKOGCF9Dzt41PMj6fLDe7qZos=}
1437 | engines: {node: '>=4'}
1438 | dev: true
1439 |
1440 | /inflight@1.0.6:
1441 | resolution: {integrity: sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=}
1442 | dependencies:
1443 | once: 1.4.0
1444 | wrappy: 1.0.2
1445 | dev: true
1446 |
1447 | /inherits@2.0.4:
1448 | resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
1449 | dev: true
1450 |
1451 | /is-core-module@2.8.1:
1452 | resolution: {integrity: sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA==}
1453 | dependencies:
1454 | has: 1.0.3
1455 | dev: true
1456 |
1457 | /js-tokens@4.0.0:
1458 | resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==}
1459 | dev: true
1460 |
1461 | /jsesc@2.5.2:
1462 | resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==}
1463 | engines: {node: '>=4'}
1464 | hasBin: true
1465 | dev: true
1466 |
1467 | /json5@2.2.0:
1468 | resolution: {integrity: sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==}
1469 | engines: {node: '>=6'}
1470 | hasBin: true
1471 | dependencies:
1472 | minimist: 1.2.5
1473 | dev: true
1474 |
1475 | /jsonfile@6.1.0:
1476 | resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==}
1477 | dependencies:
1478 | universalify: 2.0.0
1479 | optionalDependencies:
1480 | graceful-fs: 4.2.9
1481 | dev: true
1482 |
1483 | /lodash.kebabcase@4.1.1:
1484 | resolution: {integrity: sha1-hImxyw0p/4gZXM7KRI/21swpXDY=}
1485 | dev: true
1486 |
1487 | /lodash@4.17.21:
1488 | resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==}
1489 | dev: false
1490 |
1491 | /lru-cache@4.1.5:
1492 | resolution: {integrity: sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==}
1493 | dependencies:
1494 | pseudomap: 1.0.2
1495 | yallist: 2.1.2
1496 | dev: true
1497 |
1498 | /magic-string@0.25.7:
1499 | resolution: {integrity: sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==}
1500 | dependencies:
1501 | sourcemap-codec: 1.4.8
1502 | dev: true
1503 |
1504 | /marked@0.4.0:
1505 | resolution: {integrity: sha512-tMsdNBgOsrUophCAFQl0XPe6Zqk/uy9gnue+jIIKhykO51hxyu6uNx7zBPy0+y/WKYVZZMspV9YeXLNdKk+iYw==}
1506 | engines: {node: '>=0.10.0'}
1507 | hasBin: true
1508 | dev: false
1509 |
1510 | /material-design-icons@3.0.1:
1511 | resolution: {integrity: sha1-mnHEh0chjrylHlGmbaaCA4zct78=}
1512 | dev: false
1513 |
1514 | /merge-source-map@1.1.0:
1515 | resolution: {integrity: sha512-Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw==}
1516 | dependencies:
1517 | source-map: 0.6.1
1518 | dev: true
1519 |
1520 | /minimatch@3.0.4:
1521 | resolution: {integrity: sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==}
1522 | dependencies:
1523 | brace-expansion: 1.1.11
1524 | dev: true
1525 |
1526 | /minimist@1.2.5:
1527 | resolution: {integrity: sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==}
1528 | dev: true
1529 |
1530 | /ms@2.1.2:
1531 | resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==}
1532 | dev: true
1533 |
1534 | /nanoid@3.2.0:
1535 | resolution: {integrity: sha512-fmsZYa9lpn69Ad5eDn7FMcnnSR+8R34W9qJEijxYhTbfOWzr22n1QxCMzXLK+ODyW2973V3Fux959iQoUxzUIA==}
1536 | engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
1537 | hasBin: true
1538 | dev: true
1539 |
1540 | /node-releases@2.0.1:
1541 | resolution: {integrity: sha512-CqyzN6z7Q6aMeF/ktcMVTzhAHCEpf8SOarwpzpf8pNBY2k5/oM34UHldUwp8VKI7uxct2HxSRdJjBaZeESzcxA==}
1542 | dev: true
1543 |
1544 | /object-inspect@1.12.0:
1545 | resolution: {integrity: sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g==}
1546 | dev: false
1547 |
1548 | /once@1.4.0:
1549 | resolution: {integrity: sha1-WDsap3WWHUsROsF9nFC6753Xa9E=}
1550 | dependencies:
1551 | wrappy: 1.0.2
1552 | dev: true
1553 |
1554 | /path-is-absolute@1.0.1:
1555 | resolution: {integrity: sha1-F0uSaHNVNP+8es5r9TpanhtcX18=}
1556 | engines: {node: '>=0.10.0'}
1557 | dev: true
1558 |
1559 | /path-parse@1.0.7:
1560 | resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
1561 | dev: true
1562 |
1563 | /picocolors@0.2.1:
1564 | resolution: {integrity: sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==}
1565 | dev: true
1566 |
1567 | /picocolors@1.0.0:
1568 | resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==}
1569 | dev: true
1570 |
1571 | /picomatch@2.3.1:
1572 | resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
1573 | engines: {node: '>=8.6'}
1574 | dev: true
1575 |
1576 | /popper.js@1.16.1:
1577 | resolution: {integrity: sha512-Wb4p1J4zyFTbM+u6WuO4XstYx4Ky9Cewe4DWrel7B0w6VVICvPwdOpotjzcf6eD8TsckVnIMNONQyPIUFOUbCQ==}
1578 | deprecated: You can find the new Popper v2 at @popperjs/core, this package is dedicated to the legacy v1
1579 | dev: false
1580 |
1581 | /postcss-selector-parser@6.0.9:
1582 | resolution: {integrity: sha512-UO3SgnZOVTwu4kyLR22UQ1xZh086RyNZppb7lLAKBFK8a32ttG5i87Y/P3+2bRSjZNyJ1B7hfFNo273tKe9YxQ==}
1583 | engines: {node: '>=4'}
1584 | dependencies:
1585 | cssesc: 3.0.0
1586 | util-deprecate: 1.0.2
1587 | dev: true
1588 |
1589 | /postcss@7.0.39:
1590 | resolution: {integrity: sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==}
1591 | engines: {node: '>=6.0.0'}
1592 | dependencies:
1593 | picocolors: 0.2.1
1594 | source-map: 0.6.1
1595 | dev: true
1596 |
1597 | /postcss@8.4.6:
1598 | resolution: {integrity: sha512-OovjwIzs9Te46vlEx7+uXB0PLijpwjXGKXjVGGPIGubGpq7uh5Xgf6D6FiJ/SzJMBosHDp6a2hiXOS97iBXcaA==}
1599 | engines: {node: ^10 || ^12 || >=14}
1600 | dependencies:
1601 | nanoid: 3.2.0
1602 | picocolors: 1.0.0
1603 | source-map-js: 1.0.2
1604 | dev: true
1605 |
1606 | /prettier@2.5.1:
1607 | resolution: {integrity: sha512-vBZcPRUR5MZJwoyi3ZoyQlc1rXeEck8KgeC9AwwOn+exuxLxq5toTRDTSaVrXHxelDMHy9zlicw8u66yxoSUFg==}
1608 | engines: {node: '>=10.13.0'}
1609 | hasBin: true
1610 | dev: true
1611 |
1612 | /pseudomap@1.0.2:
1613 | resolution: {integrity: sha1-8FKijacOYYkX7wqKw0wa5aaChrM=}
1614 | dev: true
1615 |
1616 | /qs@6.10.3:
1617 | resolution: {integrity: sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==}
1618 | engines: {node: '>=0.6'}
1619 | dependencies:
1620 | side-channel: 1.0.4
1621 | dev: false
1622 |
1623 | /querystring@0.2.1:
1624 | resolution: {integrity: sha512-wkvS7mL/JMugcup3/rMitHmd9ecIGd2lhFhK9N3UUQ450h66d1r3Y9nvXzQAW1Lq+wyx61k/1pfKS5KuKiyEbg==}
1625 | engines: {node: '>=0.4.x'}
1626 | deprecated: The querystring API is considered Legacy. new code should use the URLSearchParams API instead.
1627 | dev: true
1628 |
1629 | /regenerator-runtime@0.13.9:
1630 | resolution: {integrity: sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==}
1631 | dev: false
1632 |
1633 | /resolve@1.22.0:
1634 | resolution: {integrity: sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==}
1635 | hasBin: true
1636 | dependencies:
1637 | is-core-module: 2.8.1
1638 | path-parse: 1.0.7
1639 | supports-preserve-symlinks-flag: 1.0.0
1640 | dev: true
1641 |
1642 | /rollup@2.67.0:
1643 | resolution: {integrity: sha512-W83AaERwvDiHwHEF/dfAfS3z1Be5wf7n+pO3ZAO5IQadCT2lBTr7WQ2MwZZe+nodbD+n3HtC4OCOAdsOPPcKZQ==}
1644 | engines: {node: '>=10.0.0'}
1645 | hasBin: true
1646 | optionalDependencies:
1647 | fsevents: 2.3.2
1648 | dev: true
1649 |
1650 | /safe-buffer@5.1.2:
1651 | resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==}
1652 | dev: true
1653 |
1654 | /safer-buffer@2.1.2:
1655 | resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==}
1656 | dev: true
1657 |
1658 | /sax@1.2.4:
1659 | resolution: {integrity: sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==}
1660 | dev: true
1661 |
1662 | /semver@5.7.1:
1663 | resolution: {integrity: sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==}
1664 | hasBin: true
1665 | dev: false
1666 |
1667 | /semver@6.3.0:
1668 | resolution: {integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==}
1669 | hasBin: true
1670 | dev: true
1671 |
1672 | /side-channel@1.0.4:
1673 | resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==}
1674 | dependencies:
1675 | call-bind: 1.0.2
1676 | get-intrinsic: 1.1.1
1677 | object-inspect: 1.12.0
1678 | dev: false
1679 |
1680 | /slash@3.0.0:
1681 | resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==}
1682 | engines: {node: '>=8'}
1683 | dev: true
1684 |
1685 | /source-map-js@1.0.2:
1686 | resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==}
1687 | engines: {node: '>=0.10.0'}
1688 | dev: true
1689 |
1690 | /source-map-resolve@0.6.0:
1691 | resolution: {integrity: sha512-KXBr9d/fO/bWo97NXsPIAW1bFSBOuCnjbNTBMO7N59hsv5i9yzRDfcYwwt0l04+VqnKC+EwzvJZIP/qkuMgR/w==}
1692 | deprecated: See https://github.com/lydell/source-map-resolve#deprecated
1693 | dependencies:
1694 | atob: 2.1.2
1695 | decode-uri-component: 0.2.0
1696 | dev: true
1697 |
1698 | /source-map@0.5.7:
1699 | resolution: {integrity: sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=}
1700 | engines: {node: '>=0.10.0'}
1701 | dev: true
1702 |
1703 | /source-map@0.6.1:
1704 | resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==}
1705 | engines: {node: '>=0.10.0'}
1706 | dev: true
1707 |
1708 | /source-map@0.7.3:
1709 | resolution: {integrity: sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==}
1710 | engines: {node: '>= 8'}
1711 | dev: true
1712 |
1713 | /sourcemap-codec@1.4.8:
1714 | resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==}
1715 | dev: true
1716 |
1717 | /stylus@0.56.0:
1718 | resolution: {integrity: sha512-Ev3fOb4bUElwWu4F9P9WjnnaSpc8XB9OFHSFZSKMFL1CE1oM+oFXWEgAqPmmZIyhBihuqIQlFsVTypiiS9RxeA==}
1719 | hasBin: true
1720 | dependencies:
1721 | css: 3.0.0
1722 | debug: 4.3.3
1723 | glob: 7.2.0
1724 | safer-buffer: 2.1.2
1725 | sax: 1.2.4
1726 | source-map: 0.7.3
1727 | transitivePeerDependencies:
1728 | - supports-color
1729 | dev: true
1730 |
1731 | /supports-color@5.5.0:
1732 | resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==}
1733 | engines: {node: '>=4'}
1734 | dependencies:
1735 | has-flag: 3.0.0
1736 | dev: true
1737 |
1738 | /supports-preserve-symlinks-flag@1.0.0:
1739 | resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
1740 | engines: {node: '>= 0.4'}
1741 | dev: true
1742 |
1743 | /svg-tags@1.0.0:
1744 | resolution: {integrity: sha1-WPcc7jvVGbWdSyqEO2x95krAR2Q=}
1745 | dev: true
1746 |
1747 | /to-fast-properties@2.0.0:
1748 | resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==}
1749 | engines: {node: '>=4'}
1750 | dev: true
1751 |
1752 | /toggle-selection@1.0.6:
1753 | resolution: {integrity: sha1-bkWxJj8gF/oKzH2J14sVuL932jI=}
1754 | dev: false
1755 |
1756 | /universalify@2.0.0:
1757 | resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==}
1758 | engines: {node: '>= 10.0.0'}
1759 | dev: true
1760 |
1761 | /util-deprecate@1.0.2:
1762 | resolution: {integrity: sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=}
1763 | dev: true
1764 |
1765 | /v-tooltip@2.1.3(vue@2.6.14):
1766 | resolution: {integrity: sha512-xXngyxLQTOx/yUEy50thb8te7Qo4XU6h4LZB6cvEfVd9mnysUxLEoYwGWDdqR+l69liKsy3IPkdYff3J1gAJ5w==}
1767 | dependencies:
1768 | '@babel/runtime': 7.17.0
1769 | lodash: 4.17.21
1770 | popper.js: 1.16.1
1771 | vue-resize: 1.0.1(vue@2.6.14)
1772 | transitivePeerDependencies:
1773 | - vue
1774 | dev: false
1775 |
1776 | /vite-plugin-vue2@1.9.3(vite@2.7.13)(vue-template-compiler@2.6.14):
1777 | resolution: {integrity: sha512-0KhHSEeht0VHJtt4Z2cJ9bWBq4dP3HoXpapqAHV+f+cUa6KywYdOd+z6sSGLpuGjN8F9YinrFIo8dfVmMOpc8Q==}
1778 | peerDependencies:
1779 | vite: ^2.0.0-beta.23
1780 | vue-template-compiler: ^2.2.0
1781 | dependencies:
1782 | '@babel/core': 7.17.0
1783 | '@babel/parser': 7.17.0
1784 | '@babel/plugin-proposal-class-properties': 7.16.7(@babel/core@7.17.0)
1785 | '@babel/plugin-proposal-decorators': 7.17.0(@babel/core@7.17.0)
1786 | '@babel/plugin-transform-typescript': 7.16.8(@babel/core@7.17.0)
1787 | '@rollup/pluginutils': 4.1.2
1788 | '@vue/babel-helper-vue-jsx-merge-props': 1.2.1
1789 | '@vue/babel-preset-jsx': 1.2.4(@babel/core@7.17.0)
1790 | '@vue/component-compiler-utils': 3.3.0
1791 | consolidate: 0.16.0
1792 | debug: 4.3.3
1793 | fs-extra: 9.1.0
1794 | hash-sum: 2.0.0
1795 | magic-string: 0.25.7
1796 | prettier: 2.5.1
1797 | querystring: 0.2.1
1798 | rollup: 2.67.0
1799 | slash: 3.0.0
1800 | source-map: 0.7.3
1801 | vite: 2.7.13(stylus@0.56.0)
1802 | vue-template-compiler: 2.6.14
1803 | vue-template-es2015-compiler: 1.9.1
1804 | transitivePeerDependencies:
1805 | - arc-templates
1806 | - atpl
1807 | - babel-core
1808 | - bracket-template
1809 | - coffee-script
1810 | - dot
1811 | - dust
1812 | - dustjs-helpers
1813 | - dustjs-linkedin
1814 | - eco
1815 | - ect
1816 | - ejs
1817 | - haml-coffee
1818 | - hamlet
1819 | - hamljs
1820 | - handlebars
1821 | - hogan.js
1822 | - htmling
1823 | - jade
1824 | - jazz
1825 | - jqtpl
1826 | - just
1827 | - liquid-node
1828 | - liquor
1829 | - lodash
1830 | - marko
1831 | - mote
1832 | - mustache
1833 | - nunjucks
1834 | - plates
1835 | - pug
1836 | - qejs
1837 | - ractive
1838 | - razor-tmpl
1839 | - react
1840 | - react-dom
1841 | - slm
1842 | - squirrelly
1843 | - supports-color
1844 | - swig
1845 | - swig-templates
1846 | - teacup
1847 | - templayed
1848 | - then-jade
1849 | - then-pug
1850 | - tinyliquid
1851 | - toffee
1852 | - twig
1853 | - twing
1854 | - underscore
1855 | - vash
1856 | - velocityjs
1857 | - walrus
1858 | - whiskers
1859 | dev: true
1860 |
1861 | /vite@2.7.13(stylus@0.56.0):
1862 | resolution: {integrity: sha512-Mq8et7f3aK0SgSxjDNfOAimZGW9XryfHRa/uV0jseQSilg+KhYDSoNb9h1rknOy6SuMkvNDLKCYAYYUMCE+IgQ==}
1863 | engines: {node: '>=12.2.0'}
1864 | hasBin: true
1865 | peerDependencies:
1866 | less: '*'
1867 | sass: '*'
1868 | stylus: '*'
1869 | peerDependenciesMeta:
1870 | less:
1871 | optional: true
1872 | sass:
1873 | optional: true
1874 | stylus:
1875 | optional: true
1876 | dependencies:
1877 | esbuild: 0.13.15
1878 | postcss: 8.4.6
1879 | resolve: 1.22.0
1880 | rollup: 2.67.0
1881 | stylus: 0.56.0
1882 | optionalDependencies:
1883 | fsevents: 2.3.2
1884 | dev: true
1885 |
1886 | /vue-resize@0.4.5(vue@2.6.14):
1887 | resolution: {integrity: sha512-bhP7MlgJQ8TIkZJXAfDf78uJO+mEI3CaLABLjv0WNzr4CcGRGPIAItyWYnP6LsPA4Oq0WE+suidNs6dgpO4RHg==}
1888 | peerDependencies:
1889 | vue: ^2.3.0
1890 | dependencies:
1891 | vue: 2.6.14
1892 | dev: false
1893 |
1894 | /vue-resize@1.0.1(vue@2.6.14):
1895 | resolution: {integrity: sha512-z5M7lJs0QluJnaoMFTIeGx6dIkYxOwHThlZDeQnWZBizKblb99GSejPnK37ZbNE/rVwDcYcHY+Io+AxdpY952w==}
1896 | peerDependencies:
1897 | vue: ^2.6.0
1898 | dependencies:
1899 | '@babel/runtime': 7.17.0
1900 | vue: 2.6.14
1901 | dev: false
1902 |
1903 | /vue-template-compiler@2.6.14:
1904 | resolution: {integrity: sha512-ODQS1SyMbjKoO1JBJZojSw6FE4qnh9rIpUZn2EUT86FKizx9uH5z6uXiIrm4/Nb/gwxTi/o17ZDEGWAXHvtC7g==}
1905 | dependencies:
1906 | de-indent: 1.0.2
1907 | he: 1.2.0
1908 | dev: true
1909 |
1910 | /vue-template-es2015-compiler@1.9.1:
1911 | resolution: {integrity: sha512-4gDntzrifFnCEvyoO8PqyJDmguXgVPxKiIxrBKjIowvL9l+N66196+72XVYR8BBf1Uv1Fgt3bGevJ+sEmxfZzw==}
1912 | dev: true
1913 |
1914 | /vue@2.6.14:
1915 | resolution: {integrity: sha512-x2284lgYvjOMj3Za7kqzRcUSxBboHqtgRE2zlos1qWaOye5yUmHn42LB1250NJBLRwEcdrB0JRwyPTEPhfQjiQ==}
1916 | dev: false
1917 |
1918 | /wrappy@1.0.2:
1919 | resolution: {integrity: sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=}
1920 | dev: true
1921 |
1922 | /yallist@2.1.2:
1923 | resolution: {integrity: sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=}
1924 | dev: true
1925 |
--------------------------------------------------------------------------------
/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/vue-issue-helper/114d91b9b9d75b6556825db27bdde5f495859267/public/favicon.ico
--------------------------------------------------------------------------------
/src/assets/images/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vuejs/vue-issue-helper/114d91b9b9d75b6556825db27bdde5f495859267/src/assets/images/logo.png
--------------------------------------------------------------------------------
/src/components/App.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
87 |
88 |
94 |
95 |
96 |
97 |
102 |
103 |
104 |
105 |
106 |
115 |
116 |
117 |
118 |
208 |
209 |
212 |
213 |
237 |
--------------------------------------------------------------------------------
/src/components/AppHeader.vue:
--------------------------------------------------------------------------------
1 |
2 |
31 |
32 |
33 |
38 |
39 |
80 |
--------------------------------------------------------------------------------
/src/components/BugReport.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
8 |
17 |
18 |
19 |
23 |
27 |
28 |
32 |
33 |
34 |
35 |
39 |
43 |
44 |
48 |
49 |
50 |
55 |
60 |
61 |
65 |
66 |
67 |
68 |
74 |
75 |
76 |
79 |
80 |
81 |
82 |
86 |
87 |
88 |
89 |
90 |
94 |
100 |
101 |
102 |
103 |
106 |
112 |
113 |
114 |
117 |
123 |
124 |
125 |
130 |
135 |
136 |
137 |
138 |
144 |
145 |
146 |
147 |
148 |
149 |
150 |
151 |
327 |
--------------------------------------------------------------------------------
/src/components/FeatureRequest.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
7 |
13 |
14 |
15 |
16 |
19 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
59 |
--------------------------------------------------------------------------------
/src/components/FormIntro.vue:
--------------------------------------------------------------------------------
1 |
2 |
20 |
21 |
22 |
39 |
40 |
49 |
--------------------------------------------------------------------------------
/src/config/index.js:
--------------------------------------------------------------------------------
1 | export * from './repos'
2 |
--------------------------------------------------------------------------------
/src/config/repos.js:
--------------------------------------------------------------------------------
1 | const repos = [
2 | {
3 | id: 'vuejs/core',
4 | name: 'vuejs/core (Vue 3)',
5 | reproSubtitleId: 'vue-next-repro-subtitle-links'
6 | },
7 | { id: 'vuejs/vue', name: 'vuejs/vue (Vue 2)' },
8 | {
9 | id: 'vuejs/router',
10 | name: 'vue-router (for Vue 3)',
11 | reproSubtitleId: 'router-next-repro-subtitle-links'
12 | },
13 | { id: 'vuejs/vue-router', name: 'vue-router (for Vue 2)' },
14 | { id: 'vuejs/vuex', name: 'vuex' },
15 | // { id: 'vuejs/devtools', name: 'vue devtools' },
16 | { id: 'vuejs/vue-test-utils', name: 'vue-test-utils (for Vue 2)' },
17 | {
18 | id: 'vuejs/vue-cli',
19 | name: 'vue-cli',
20 | reproSubtitleId: 'cli-repro-subtitle-links'
21 | },
22 | { id: 'vuejs/vue-loader', name: 'vue-loader' }
23 | ]
24 |
25 | export { repos }
26 |
--------------------------------------------------------------------------------
/src/helpers/generate.js:
--------------------------------------------------------------------------------
1 | import marked from 'marked'
2 | import copy from 'copy-to-clipboard'
3 |
4 | export function generate (markdown) {
5 | const withMarker = `${markdown}\n\n`
6 |
7 | copy(withMarker)
8 |
9 | const renderer = new marked.Renderer({
10 | gfm: true,
11 | tables: true,
12 | breaks: false,
13 | pedantic: false,
14 | sanitize: true,
15 | smartLists: true,
16 | smartypants: false
17 | })
18 |
19 | // Extend linkRenderer to return links that open in a new tab
20 | const linkRenderer = renderer.link
21 | renderer.link = (href, title, text) => {
22 | const html = linkRenderer.call(renderer, href, title, text)
23 | return html.replace(/^ {
5 | resolved[key.replace(/^\.\//, '').replace(/\.md$/, '')] = mds[key].default
6 | })
7 |
8 | export default {
9 | _label: 'EN',
10 |
11 | ...resolved,
12 |
13 | // intro
14 | 'intro-modal-title': 'The reason behind our strict issue policy',
15 |
16 | // bug report
17 | 'repo-title': 'I am opening an issue for',
18 | 'repo-subtitle': 'Please make sure to file the issue at appropriate repo.',
19 | 'type-title': 'This is a',
20 | 'title-title': 'Issue title',
21 |
22 | 'version-title': 'Version',
23 | 'version-subtitle':
24 | 'Check if the issue is reproducible with the latest stable version of Vue.',
25 |
26 | 'repro-title': 'Link to minimal reproduction',
27 | 'repro-modal-title': 'About Reproductions',
28 | 'cli-no-repro': 'If your issue cannot be reproduced with code, check here.',
29 |
30 | 'node-and-os-title': 'Node, npm/yarn and OS info',
31 | 'node-and-os-subtitle':
32 | 'Please specify node.js version, npm or yarn version, OS name & version. Example: Node 10.7.0 / yarn 1.7.0 / Windows 10',
33 |
34 | 'cli-envinfo-title': 'Environment Info',
35 |
36 | 'browser-and-os-title': 'Browser and OS info',
37 | 'browser-and-os-subtitle':
38 | 'Please specify browser name & version, OS name & version. Example: Chrome 62 / Windows 10',
39 |
40 | 'steps-title': 'Steps to reproduce',
41 |
42 | 'expected-title': 'What is expected?',
43 | 'actual-title': 'What is actually happening?',
44 | 'extra-title': 'Any additional comments? (optional)',
45 | 'extra-subtitle':
46 | 'e.g. some background/context of how you ran into this bug.',
47 |
48 | // feature request
49 | 'rationale-title': 'What problem does this feature solve?',
50 |
51 | 'proposal-title': 'What does the proposed API look like?',
52 |
53 | // preview
54 | preview: 'Preview',
55 | 'preview-title': 'Issue Preview',
56 | create: 'Create',
57 |
58 | // misc
59 | 'bug-report': 'Bug Report',
60 | 'feature-request': 'Feature Request',
61 | 'similar-issues': 'Similar issues',
62 | 'show-more': 'Show more',
63 | 'show-less': 'Show less',
64 | 'drop-warn':
65 | `Unfortunately, image drop/uploading is not supported due to GitHub API ` +
66 | `limitations. However, you can create the issue first (which will take you ` +
67 | `to GitHub) and then drop the images needed.`
68 | }
69 |
--------------------------------------------------------------------------------
/src/i18n/locales/en/intro-modal.md:
--------------------------------------------------------------------------------
1 | Maintaining open source projects, especially popular ones, is [hard work](https://nolanlawson.com/2017/03/05/what-it-feels-like-to-be-an-open-source-maintainer/). As Vue's user base has grown, we are getting more and more usage questions, bug reports, feature requests and pull requests every single day.
2 |
3 | As a free and open source project, Vue also has limited maintainer bandwidth. That means the only way to ensure the project's sustainability is to:
4 |
5 | 1. Prioritize more concrete work (bug fixes and new features);
6 | 2. Improve issue triaging efficiency.
7 |
8 | For (1), we have decided to use the GitHub issue lists exclusively for work that has well-defined, actionable goals. Questions and open ended discussions should be posted to mediums that are better suited for them.
9 |
10 | For (2), we have found that issues that do not provide proper information upfront usually results in terribly inefficient back-and-forth communication just to extract the basic information needed for actual triaging. This is exactly why we have created this app: to ensure that every issue is created with the necessary information, and to save time on both sides.
11 |
--------------------------------------------------------------------------------
/src/i18n/locales/en/intro.md:
--------------------------------------------------------------------------------
1 | ## Before You Start...
2 |
3 | The issue list is reserved exclusively for bug reports and feature requests. That means we do not accept usage questions. If you open an issue that does not conform to the requirements, **it will be closed immediately**.
[Why are we so strict about this?](#why-strict)
4 |
5 | For usage questions, please use the following resources:
6 |
7 | - Read the [docs](https://vuejs.org/guide/)
8 | - Watch [video tutorials](https://laracasts.com/series/learn-vue-2-step-by-step)
9 | - Ask on the [forums](https://forum.vuejs.org/)
10 | - Ask on the [chat](https://chat.vuejs.org)
11 | - Look for / ask questions on [Stack Overflow](https://stackoverflow.com/questions/ask?tags=vue.js)
12 |
13 | Also try to search for your issue - it may have already been answered or even fixed in the development branch. However, if you find that an old, closed issue still persists in the latest version, you should open a new issue using the form below instead of commenting on the old issue.
14 |
--------------------------------------------------------------------------------
/src/i18n/locales/en/proposal-subtitle.md:
--------------------------------------------------------------------------------
1 | Describe how you propose to solve the problem and provide code samples of how the API would work once implemented. Note that you can use [Markdown](https://guides.github.com/features/mastering-markdown/) to format your code blocks.
2 |
--------------------------------------------------------------------------------
/src/i18n/locales/en/rationale-subtitle.md:
--------------------------------------------------------------------------------
1 | Explain your use case, context, and rationale behind this feature request. More importantly, what is the **end user experience** you are trying to build that led to the need for this feature?
2 |
3 | An important design goal of Vue is keeping the API surface small and straightforward. In general, we only consider adding new features that solve a problem that cannot be easily dealt with using existing APIs (i.e. not just an alternative way of doing things that can already be done). The problem should also be common enough to justify the addition.
4 |
--------------------------------------------------------------------------------
/src/i18n/locales/en/repro-modal.md:
--------------------------------------------------------------------------------
1 | A bug reproduction is a piece of code that can run and demonstrate how a bug can happen.
2 |
3 | ##### Text is not enough
4 |
5 | It's impossible to fix a bug from mere text descriptions. First, it's very difficult to precisely describe a technical problem while keeping it easy to follow; Second, the real cause may very well be something that you forgot to even mention. A reproduction is the only way that can reliably help us understand what is going on, so please provide one.
6 |
7 | ##### A repro must be runnable
8 |
9 | Screenshots or videos are **NOT** reproductions! They only show that the bug exists, but do not provide enough information on why it happens. Only runnable code provides the most complete context and allows us to properly debug the scenario. That said, in some cases videos/gifs can help explain interaction issues that are hard to describe in text.
10 |
11 | ##### A repro should be minimal
12 |
13 | Some users would give us a link to a real project and hope we can help them figure out what is wrong. We generally do not accept such requests because:
14 |
15 | - You are already familiar with your codebase, but we are not. It is extremely time-consuming to hunt a bug in a big and unfamiliar codebase.
16 |
17 | - The problematic behavior may very well be caused by your code rather than by a bug in Vue.
18 |
19 | A **minimal** reproduction means it demonstrates the bug, and the bug only. It should only contain the bare minimum amount of code that can reliably cause the bug. Try your best to get rid of anything that aren't directly related to the problem.
20 |
21 | ##### How to create a repro
22 |
23 | Unless your bug can only be reproduced with a built setup, we prefer reproductions made with online coding services like [JSFiddle](https://jsfiddle.net), [JSBin](https://jsbin.com) or [Codepen](https://codepen.io). If your bug involves a build setup, you can create a project using [vue-cli](https://github.com/vuejs/vue-cli) and provide the link to a GitHub repository.
24 |
--------------------------------------------------------------------------------
/src/i18n/locales/en/repro-subtitle-links.md:
--------------------------------------------------------------------------------
1 | For Vue 3 core reproductions, try reproducing it in [The SFC Playground](https://sfc.vuejs.org). If it is a Vue 2 bug or cannot be reproduced in the playground, you can use [CodePen](https://codepen.io/pen/), [CodeSandbox](https://codesandbox.io/s/vue) or provide a GitHub repo.
--------------------------------------------------------------------------------
/src/i18n/locales/en/repro-subtitle.md:
--------------------------------------------------------------------------------
1 | [What is a _minimal reproduction_, and why is it required?](#why-repro)
2 |
3 | Please do not just fill in a random link. We will close your issue if you do that.
4 |
--------------------------------------------------------------------------------
/src/i18n/locales/en/router-next-repro-subtitle-links.md:
--------------------------------------------------------------------------------
1 | If the reproduction does not need a build setup, please provide a link to a [JSFiddle](https://jsfiddle.net/posva/3yq6ojLv), [JSBin](https://jsbin.com/) or [CodePen](https://codepen.io). If it requires a build setup, you can use [CodeSandbox](https://codesandbox.io/s/vue-router-4-reproduction-s1sqc) or provide a GitHub repo.
2 |
--------------------------------------------------------------------------------
/src/i18n/locales/en/steps-subtitle.md:
--------------------------------------------------------------------------------
1 | What do we need to do after opening your repro in order to make the bug happen? Clear and concise reproduction instructions are important for us to be
2 | able to triage your issue in a timely manner. Note that you can use
3 | [Markdown](https://guides.github.com/features/mastering-markdown/) to format lists and code.
4 |
--------------------------------------------------------------------------------
/src/i18n/locales/en/vue-next-repro-subtitle-links.md:
--------------------------------------------------------------------------------
1 | If possible, use [the SFC Playground](https://sfc.vuejs.org) to provide a reproduction. If it requires an actual build setup, you can use [StackBlitz](https://vite.new/vue) or provide a GitHub repo.
2 |
--------------------------------------------------------------------------------
/src/i18n/locales/index.js:
--------------------------------------------------------------------------------
1 | const locales = import.meta.globEager('./*/index.js')
2 |
3 | const exported = {}
4 | Object.keys(locales).forEach((key) => {
5 | exported[key.match(/\/([\w-]+)\//)[1]] = locales[key].default
6 | })
7 |
8 | export default exported
9 |
--------------------------------------------------------------------------------
/src/i18n/locales/zh-cn/cli-envinfo-subtitle.md:
--------------------------------------------------------------------------------
1 | 请使用终端命令行,在项目目录中运行以下命令:
2 |
3 | `vue info`
4 |
5 | 并将运行结果复制粘贴到上面的输入框中。
6 |
--------------------------------------------------------------------------------
/src/i18n/locales/zh-cn/cli-repro-subtitle-links.md:
--------------------------------------------------------------------------------
1 | 请提供一个能够重现你的问题的 GitHub 仓库。
2 |
--------------------------------------------------------------------------------
/src/i18n/locales/zh-cn/index.js:
--------------------------------------------------------------------------------
1 | const mds = import.meta.globEager('./*.md')
2 |
3 | const resolved = {}
4 | Object.keys(mds).forEach((key) => {
5 | resolved[key.replace(/^\.\//, '').replace(/\.md$/, '')] = mds[key].default
6 | })
7 |
8 | export default {
9 | _label: '中文',
10 |
11 | ...resolved,
12 |
13 | // intro
14 | 'intro-modal-title': '为什么要有这么严格的 issue 规定',
15 |
16 | // bug report
17 | 'repo-title': '相关库',
18 | 'repo-subtitle': '请确保将 issue 发往相关的仓库。',
19 | 'type-title': '这是一个',
20 | 'title-title': 'Issue 标题',
21 |
22 | 'version-title': '版本',
23 | 'version-subtitle': '请检查问题是否存在于 Vue 的最新版本中。',
24 |
25 | 'repro-title': '重现链接',
26 | 'repro-modal-title': '关于重现',
27 | 'cli-no-repro': '如果你的问题无法用代码重现,点选这里。',
28 |
29 | 'node-and-os-title': 'Node.js、npm/yarn 以及操作系统信息',
30 | 'node-and-os-subtitle': '请写明 Node.js 版本、npm/yarn 的版本、操作系统的名称以及版本,例如: Node 10.7.0 / yarn 1.7.0 / Windows 10',
31 |
32 | 'cli-envinfo-title': '环境信息',
33 |
34 | 'browser-and-os-title': '浏览器和操作系统信息',
35 | 'browser-and-os-subtitle': '请写明浏览器和操作系统的名称/版本,例如: Chrome 62 / Windows 10',
36 |
37 | 'steps-title': '重现步骤',
38 |
39 | 'expected-title': '期望的结果是什么?',
40 | 'actual-title': '实际的结果是什么?',
41 | 'extra-title': '补充说明(可选)',
42 | 'extra-subtitle': '比如:遇到这个 bug 的业务场景、上下文。',
43 |
44 | // feature request
45 | 'rationale-title': '这个功能解决了什么问题?',
46 |
47 | 'proposal-title': '你期望的 API 是怎样的?',
48 |
49 | // preview
50 | 'preview': '预览',
51 | 'preview-title': '预览',
52 | 'create': '创建 Issue',
53 |
54 | // misc
55 | 'bug-report': '错误报告',
56 | 'feature-request': '功能要求',
57 | 'similar-issues': '类似的 issue',
58 | 'show-more': '展开',
59 | 'show-less': '收起',
60 | 'drop-warn': '由于 GitHub API 的限制,这里不支持图片拖拽上传功能。但是你可以先创建 issue,然后在 GitHub 的界面中上传需要的图片。'
61 | }
62 |
--------------------------------------------------------------------------------
/src/i18n/locales/zh-cn/intro-modal.md:
--------------------------------------------------------------------------------
1 | 维护开源项目,尤其是流行的项目,是[非常辛苦的工作](https://nolanlawson.com/2017/03/05/what-it-feels-like-to-be-an-open-source-maintainer/)。随着 Vue 在社区越来越受欢迎,我们每天都在收到越来越多的问题, bug 报告,功能需求和 Pull Requests。
2 |
3 | 作为一个完全免费使用的开源项目,Vue 的维护人手是有限的。这意味着想要让项目长期的可持续发展,我们必须:
4 |
5 | 1. 给予更具体的工作更高的优先级(比如 bug 的修复和新功能的开发);
6 | 2. 提高 issue 处理的效率。
7 |
8 | 针对 (1),我们决定将 GitHub issue 列表严格地限制用于有具体目标和内容的工作。问题和讨论应当发送到更适合它们的场合。
9 |
10 | 针对 (2),我们发现影响 issue 处理效率的最大因素是用户在开 issue 时没有提供足够的信息。这导致我们需要花费大量的时间去跟用户来回沟通,只为了获得一些基本信息好让我们对 issue 进行真正的分析。这正是我们开发这个 app 的理由:我们要确保每个新 issue 都提供了必需的信息,这样能节省维护者和开发者双方的时间。
11 |
12 | 最重要的是,请明白一件事:开源项目的用户和维护者之间并不是甲方和乙方的关系,issue 也不是客服。在开 issue 的时候,请抱着一种『一起合作来解决这个问题』的心态,不要期待我们单方面地为你服务。
13 |
--------------------------------------------------------------------------------
/src/i18n/locales/zh-cn/intro.md:
--------------------------------------------------------------------------------
1 | ## 在你开始之前……
2 |
3 | 首先,虽然我们为了中文用户的方便提供了中文的表单,但在填写时请**尽量使用英文**。Vue 的维护团队并不全是中国人,GitHub 社区也以外国用户为主。如果你想让尽可能多的人能够看懂你的 issue,就请尽量用英文。
4 |
5 | 其次,Vue 的 issue 列表只接受 bug 报告或是新功能请求 (feature requests)。这意味着**我们不接受用法问题**。如果你开的 issue 不符合规定,它将会被**立刻关闭**。
[为什么要这么严格?](#why-strict)
6 |
7 | 对于使用中遇到的问题,请使用以下资源:
8 |
9 | - 仔细阅读 [文档](https://cn.vuejs.org/v2/guide/)
10 | - 观看 [视频教程](https://laracasts.com/series/learn-vue-2-step-by-step) (英文)
11 | - 到 [官方论坛](https://forum.vuejs.org/) 提问(英文)
12 | - 在 [Stack Overflow](https://stackoverflow.com/questions/ask?tags=vue.js) (英文) 或是 [SegmentFault](https://segmentfault.com/t/vue.js)(中文)搜索和提问
13 | - 到 [中文社区](http://www.vue-js.com/) 提问(非官方)
14 |
15 | 最后,在开 issue 前,可以先搜索一下以往的旧 issue - 你遇到的问题可能已经有人提了,也可能已经在最新版本中被修正。注意:如果你发现一个已经关闭的旧 issue 在最新版本中仍然存在,请不要在旧 issue 下面留言,而应该用下面的表单开一个新的 issue。
16 |
--------------------------------------------------------------------------------
/src/i18n/locales/zh-cn/proposal-subtitle.md:
--------------------------------------------------------------------------------
1 | 描述一下你期望这个新功能的 API 是如何使用的,并提供一些代码示例。请用 [Markdown](https://guides.github.com/features/mastering-markdown/) 格式化你的代码片段。
2 |
--------------------------------------------------------------------------------
/src/i18n/locales/zh-cn/rationale-subtitle.md:
--------------------------------------------------------------------------------
1 | 请尽可能详尽地说明这个需求的用例和场景。最重要的是:解释清楚是怎样的**用户体验需求**催生了这个功能上的需求。
2 |
3 | Vue 的一个重要设计原则是保持 API 的简洁和直接。通常来说,我们只考虑添加在现有的 API 下无法轻松实现的功能。新功能的用例也应当足够常见。
4 |
--------------------------------------------------------------------------------
/src/i18n/locales/zh-cn/repro-modal.md:
--------------------------------------------------------------------------------
1 | 所谓『重现』,就是一段可以运行并展示一个 bug 如何发生的代码。
2 |
3 | ##### 文字是不够的
4 |
5 | 如果你遇到一个问题,但是只提供了一些文字描述,我们是不可能修复这个 bug 的。首先,文字在描述技术问题时的表达难度和不精确性;其次,问题的真实原因有很多可能,它完全有可能是一个你根本没有提及的因素导致的。重现是唯一能够可靠地让我们理解问题本质的方式。
6 |
7 | ##### 重现必须是可运行的
8 |
9 | **截图和视频不是重现**。它们仅仅证明了 bug 的存在,但却不能提供关于 bug 是如何发生的信息。只有可运行的代码提供了完整的上下文,并让我们可以进行真正的 debug 而不是空想和猜测。当然,在提供的重现的前提下,视频或是 gif 动画可以帮助解释一些比较难用文字描述的交互行为。
10 |
11 | ##### 重现应当尽量精简
12 |
13 | 有些用户会直接给我们一整个项目的代码,然后希望我们帮忙找出问题所在。此类请求我们通常不予接受,因为:
14 |
15 | - 你对你的项目的代码结构可能已经非常熟悉,但我们并不是。阅读、运行、分析一个完全陌生的项目是极其耗费时间和精力的。
16 |
17 | - 由于涉及了大量业务代码,问题可能是你的代码错误,而不是 Vue 的 bug 所导致的。
18 |
19 | 一个最小化的重现意味着它精确地定位了 bug 本身 - 它应当只包含能够触发 bug 的**最少量**的代码。你应当尽可能地剔除任何跟该 bug 无关的部分。
20 |
21 | ##### 如何提供一个重现
22 |
23 | 除非你的 bug 只有在构建工具下才能重现,否则我们建议使用诸如 [JSFiddle](https://jsfiddle.net), [JSBin](https://jsbin.com) 或是 [Codepen](https://codepen.io) 这样的在线代码服务来提供重现。如果你的 bug 必须用到构建工具,那么我们建议使用 [vue-cli](https://github.com/vuejs/vue-cli) 来搭建一个新项目,推送到 GitHub 并提供仓库的链接。
24 |
--------------------------------------------------------------------------------
/src/i18n/locales/zh-cn/repro-subtitle-links.md:
--------------------------------------------------------------------------------
1 | Vue 3 相关的 bug 请尝试用 [SFC Playground](https://sfc.vuejs.org) 重现。如果无法在 Playground 中重现,则请提供一个 [CodePen](https://codepen.io),[CodeSandbox](https://codesandbox.io/s/vue) 或是一个 GitHub 仓库的链接。
2 |
--------------------------------------------------------------------------------
/src/i18n/locales/zh-cn/repro-subtitle.md:
--------------------------------------------------------------------------------
1 | [什么是*最小化重现*,为什么这是必需的?](#why-repro)
2 |
3 | 请不要乱填一个链接,那只会让你的 issue 被直接关闭。
4 |
--------------------------------------------------------------------------------
/src/i18n/locales/zh-cn/router-next-repro-subtitle-links.md:
--------------------------------------------------------------------------------
1 | 如果重现不需要构建工具,请提供一个尽可能精简的 [JSFiddle](https://jsfiddle.net/posva/3yq6ojLv), [JSBin](https://jsbin.com/) 或是 [CodePen](https://codepen.io) 链接。如果需要构建工具,可以使用 [CodeSandbox](https://codesandbox.io/s/vue-router-4-reproduction-s1sqc) 或是提供一个 GitHub 仓库的链接。
2 |
--------------------------------------------------------------------------------
/src/i18n/locales/zh-cn/steps-subtitle.md:
--------------------------------------------------------------------------------
1 | 打开重现后,我们需要执行哪些操作才能让 bug 出现?简洁清晰的重现步骤能够帮助我们更迅速地定位问题所在。支持使用 [Markdown](https://guides.github.com/features/mastering-markdown/) 来格式化列表或是代码片段。
2 |
--------------------------------------------------------------------------------
/src/i18n/locales/zh-cn/vue-next-repro-subtitle-links.md:
--------------------------------------------------------------------------------
1 | 尽可能使用 [SFC Playground](https://sfc.vuejs.org) 来提供一个复现。如果重现需要完整的构建工具,可以使用 [StackBlitz](https://vite.new/vue) 或是提供一个 GitHub 仓库的链接。
2 |
--------------------------------------------------------------------------------
/src/i18n/plugin.js:
--------------------------------------------------------------------------------
1 | import marked from 'marked'
2 | import locales from './locales/index'
3 | import qs from 'qs'
4 |
5 | export default Vue => {
6 | // add locale and lang to root instance.
7 | // $lang is reactive.
8 | Vue.mixin({
9 | beforeCreate () {
10 | if (this.$root === this) {
11 | this.$locales = locales
12 | const query = qs.parse(window.location.search.slice(1))
13 | Vue.util.defineReactive(this, '$lang', query && query.lang || 'en')
14 | }
15 | }
16 | })
17 |
18 | const notFound = (lang, id) =>
19 | `[i18n content not found for { lang: "${lang}", id: "${id}" }`
20 |
21 | // global i18n method for simple phrases in text interpolations
22 | Vue.prototype.i18n = function (id) {
23 | const { $locales, $lang } = this.$root
24 | const locale = $locales[$lang]
25 | return locale[id] || notFound($lang, id)
26 | }
27 |
28 | // component for rendering an i18n locale markdown file
29 | Vue.component('i18n', {
30 | props: {
31 | id: {
32 | type: String,
33 | required: true
34 | }
35 | },
36 | render (h) {
37 | const { $locales, $lang } = this.$root
38 | const locale = $locales[$lang]
39 | const content = locale[this.id]
40 | return h('div', {
41 | domProps: {
42 | innerHTML: content
43 | ? marked(content.trim())
44 | : `${notFound($lang, this.id)}
`
45 | }
46 | })
47 | },
48 | mounted: processLinks,
49 | updated: processLinks
50 | })
51 |
52 | function processLinks () {
53 | [...this.$el.querySelectorAll('a')].forEach(a => {
54 | // avoid interferring with form input tab focus
55 | a.setAttribute('tabindex', '-1')
56 | const href = a.getAttribute('href')
57 | if (href) {
58 | if (href.charAt(0) !== '#') {
59 | // make external links open in new tab
60 | a.setAttribute('target', '_blank')
61 | } else {
62 | // hash link, emit event, we only have modals so far
63 | a.addEventListener('click', () => {
64 | this.$emit(`click-modal`)
65 | })
66 | }
67 | }
68 | })
69 | }
70 | }
71 |
--------------------------------------------------------------------------------
/src/main.js:
--------------------------------------------------------------------------------
1 | import Vue from 'vue'
2 | import i18n from './i18n/plugin'
3 | import VueUi from '@vue/ui'
4 |
5 | import App from './components/App.vue'
6 |
7 | Vue.use(i18n)
8 | Vue.use(VueUi)
9 |
10 | window.addEventListener('dragover', e => {
11 | e.preventDefault()
12 | })
13 |
14 | window.addEventListener('drop', e => {
15 | e.preventDefault()
16 | alert(app.i18n('drop-warn'))
17 | })
18 |
19 | const app = new Vue({
20 | el: '#app',
21 | ...App
22 | })
23 |
--------------------------------------------------------------------------------
/src/mixins/check-modal.js:
--------------------------------------------------------------------------------
1 | export default {
2 | watch: {
3 | show (val) {
4 | if (!val) {
5 | const newUrl = window.location.origin + '/' + window.location.search
6 | window.history.pushState({
7 | path: newUrl
8 | }, '', newUrl)
9 | }
10 | }
11 | },
12 |
13 | methods: {
14 | checkModal (id) {
15 | this.show = window.location.hash === `#${id}`
16 | }
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/src/mixins/github-search.js:
--------------------------------------------------------------------------------
1 | const API_ENDPOINT = 'https://api.github.com/search/issues'
2 |
3 | function toArray(any) {
4 | return Array.isArray(any) ? any : [any]
5 | }
6 |
7 | /**
8 | * Maximum number of related issues to be shown by default
9 | * @type {Number}
10 | */
11 | const MAX_SHOWN_ISSUE_COUNT = 5
12 |
13 | export default {
14 | data: () => ({
15 | _issues: [],
16 | showingAllIssues: false
17 | }),
18 |
19 | computed: {
20 | issues: {
21 | get() {
22 | const issues = this.$data._issues
23 | return this.showingAllIssues
24 | ? issues
25 | : issues.slice(0, MAX_SHOWN_ISSUE_COUNT)
26 | },
27 | set(issues) {
28 | this.$data._issues = issues
29 | }
30 | },
31 |
32 | /**
33 | * Whether to show the "Show more/less" button after the similar issue list.
34 | * @return {Boolean}
35 | */
36 | showIssueToggleControl() {
37 | return this.$data._issues.length > MAX_SHOWN_ISSUE_COUNT
38 | }
39 | },
40 |
41 | methods: {
42 | async fetchIssues(term, filters) {
43 | const q =
44 | Object.keys(filters)
45 | .map((key) =>
46 | toArray(filters[key])
47 | .map((value) => `${key}:${value}`)
48 | .join(' ')
49 | )
50 | .join(' ') +
51 | ' ' +
52 | term
53 |
54 | try {
55 | const res = await fetch(API_ENDPOINT + `?q=${q}`)
56 | const { items } = await res.json()
57 | this.$data._issues = items || []
58 | } catch (e) {
59 | // ignore
60 | }
61 | }
62 | }
63 | }
64 |
--------------------------------------------------------------------------------
/src/style/imports.styl:
--------------------------------------------------------------------------------
1 | @import "@vue/ui/src/style/imports"
2 | @import "./vars"
3 |
--------------------------------------------------------------------------------
/src/style/vars.styl:
--------------------------------------------------------------------------------
1 | $page-width = 900px
2 |
--------------------------------------------------------------------------------
/vite.config.js:
--------------------------------------------------------------------------------
1 | import { createVuePlugin } from 'vite-plugin-vue2'
2 |
3 | export default {
4 | plugins: [
5 | createVuePlugin(),
6 | {
7 | name: 'load-raw-md',
8 | transform(code, id) {
9 | if (id.endsWith('.md')) {
10 | return `export default ${JSON.stringify(code)}`
11 | }
12 | }
13 | }
14 | ]
15 | }
16 |
--------------------------------------------------------------------------------