├── .gitignore
├── README.md
├── app.tmpl.go
├── frontend
├── dist
│ └── .gitkeep
├── index.tmpl.html
├── package-lock.tmpl.json
├── package.tmpl.json
├── src
│ ├── App.vue
│ ├── assets
│ │ ├── fonts
│ │ │ ├── OFL.txt
│ │ │ └── nunito-v16-latin-regular.woff2
│ │ └── images
│ │ │ ├── vue.svg
│ │ │ └── wails.svg
│ ├── components
│ │ └── Home.vue
│ ├── env.d.ts
│ └── main.ts
├── tsconfig.json
└── vite.config.ts
├── go.mod.tmpl
├── go.sum
├── main.tmpl.go
├── template.json
└── wails.tmpl.json
/.gitignore:
--------------------------------------------------------------------------------
1 | # Editor directories and files
2 | .idea
3 | .vscode
4 | *.suo
5 | *.ntvs*
6 | *.njsproj
7 | *.sln
8 | *.sw*
9 |
10 | # Misc
11 | .DS_Store
12 | node_modules/
13 | dist/
14 | dist-ssr/
15 |
16 | # Local files
17 | *.local
18 |
19 | # Log files
20 | npm-debug.log*
21 | yarn-debug.log*
22 | yarn-error.log*
23 |
24 | # Binaries for programs and plugins
25 | *.exe
26 | *.exe.manifest
27 | *.exe~
28 | *.dll
29 | *.so
30 | *.dylib
31 |
32 | # Test binary, built with `go test -c`
33 | *.test
34 |
35 | # Output of the go coverage tool, specifically when used with LiteIDE
36 | *.out
37 |
38 | # Dependency directories (remove the comment below to include it)
39 | # vendor/
40 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Wails + Vue 3 Typescript
2 |
3 | ## ARCHIVED NOTICE
4 |
5 | This Wails template has been archived and is no longer maintained. I intend to develop a new template in the future.
6 |
7 | ## About
8 |
9 | This is a Wails template project with Vue 3 and TypeScript, using Vite for
10 | asset bundling. It comes with the bare minimum, and can be extended by following
11 | the guides in this README.
12 |
13 | If you would like a more feature packed version that includes all features
14 | documented below already added, please check out my
15 | [feature packed Vite + Vue3 TypeScript template](https://github.com/codydbentley/wails-vite-vue-the-works)
16 |
17 | ## Live Development
18 |
19 | To run in live development mode, run `wails dev` in the project directory. In another terminal, go into the `frontend`
20 | directory and run `npm run dev`. Navigate to http://localhost:34115
21 | in your browser to connect to your application.
22 |
23 | Note: Typechecking is disabled. If you want to do type checking, use `npm run type-check`
24 |
25 | ## Extending Features
26 |
27 | This template does not ship with things like routing, vuex, or sass.
28 | To add any of these features, simply follow the instructions below. Please
29 | note that all commands should be run in the `frontend` directory.
30 |
31 | ### Sass
32 |
33 | Installation:
34 | ```shell
35 | $ npm install --save-dev sass
36 | ```
37 |
38 | Usage:
39 |
40 | You can now add Sass to your single file component
41 | styling like this:
42 | ```html
43 |
46 | ```
47 |
48 | ### ESLint + Prettier
49 |
50 | Installation:
51 | ```shell
52 | $ npm install --save-dev eslint prettier eslint-plugin-vue eslint-config-prettier @vue/eslint-config-typescript @typescript-eslint/parser @typescript-eslint/eslint-plugin
53 | $ touch .eslintrc && touch .prettierrc
54 | ```
55 |
56 | Usage: `eslintrc`
57 | ```json
58 | {
59 | "extends": [
60 | "plugin:vue/vue3-essential",
61 | "eslint:recommended",
62 | "prettier",
63 | "@vue/typescript/recommended"
64 | ],
65 | "rules": {
66 | // override/add rules settings here, such as:
67 | // "vue/no-unused-vars": "error"
68 | }
69 | }
70 | ```
71 |
72 | Usage: `.prettierrc`
73 | ```json
74 | {
75 | "semi": false,
76 | "tabWidth": 2,
77 | "useTabs": false,
78 | "printWidth": 120,
79 | "endOfLine": "auto",
80 | "singleQuote": true,
81 | "trailingComma": "all",
82 | "bracketSpacing": true,
83 | "arrowParens": "always"
84 | }
85 | ```
86 |
87 | ### Vuex
88 |
89 | Installation:
90 | ```shell
91 | $ npm install --save vuex@next
92 | $ touch src/store.ts
93 | ```
94 |
95 | Usage: `src/store.ts`
96 | ```ts
97 | import { InjectionKey } from 'vue'
98 | import { createStore, Store, useStore as baseUseStore } from 'vuex'
99 |
100 | // define your typings for the store state
101 | export interface State {
102 | count: number
103 | }
104 |
105 | // define injection key
106 | export const key: InjectionKey> = Symbol()
107 |
108 | export const store = createStore({
109 | state() {
110 | return {
111 | count: 0
112 | }
113 | },
114 | mutations: {
115 | increment(state) {
116 | state.count++
117 | }
118 | }
119 | })
120 |
121 | export function useStore() {
122 | return baseUseStore(key)
123 | }
124 | ```
125 |
126 | Usage: `src/main.ts`
127 | ```ts
128 | import { createApp } from 'vue'
129 | import App from './App.vue'
130 | import { store, key } from './store'
131 |
132 | createApp(App).use(store, key).mount('#app')
133 | ```
134 |
135 | Usage: `src/components/Home.vue`
136 | ```ts
137 | import { useStore } from '../store'
138 | const store = useStore()
139 | const increment = () => store.commit('increment')
140 | ```
141 |
142 | ### Vue Router
143 |
144 | Installation:
145 | ```shell
146 | $ npm install --save vue-router@4
147 | $ touch src/router.ts
148 | ```
149 |
150 | Usage: `src/router.ts`
151 | ```ts
152 | import { createRouter, createWebHashHistory } from 'vue-router'
153 | import Home from './components/Home.vue'
154 |
155 | const routes = [
156 | {
157 | path: '/',
158 | name: 'Home',
159 | component: Home,
160 | }
161 | ]
162 |
163 | const router = createRouter({
164 | history: createWebHashHistory(),
165 | routes,
166 | })
167 |
168 | export default router
169 | ```
170 |
171 | Usage: `src/main.ts`
172 | ```ts
173 | import { createApp } from 'vue'
174 | import App from './App.vue'
175 | import router from './router'
176 |
177 | createApp(App).use(router).mount('#app')
178 | ```
179 |
180 | Usage: `src/App.vue`
181 | ```html
182 |
183 | Home
184 |
185 |
186 | ```
187 |
188 | ## Building
189 |
190 | To build this project in debug mode, use `wails build`. For production, use `wails build -production`.
191 | To generate a platform native package, add the `-package` flag.
192 |
193 | ## Known Issues
194 |
195 | - When making changes to the frontend, the browser reload will often happen too fast, causes issues. A refresh will fix the page.
196 | - Typechecking is turned off due to Wails depending on the frontend to build before it will compile the backend and generate bindings.
197 | - If you find any other problems, please create an issue.
198 |
--------------------------------------------------------------------------------
/app.tmpl.go:
--------------------------------------------------------------------------------
1 | package main
2 |
3 | import (
4 | "context"
5 | "fmt"
6 | )
7 |
8 | // App struct
9 | type App struct {
10 | ctx context.Context
11 | }
12 |
13 | // NewApp creates a new App application struct
14 | func NewApp() *App {
15 | return &App{}
16 | }
17 |
18 | // startup is called at application startup
19 | func (a *App) startup(ctx context.Context) {
20 | // Perform your setup here
21 | a.ctx = ctx
22 | }
23 |
24 | // domReady is called after the front-end dom has been loaded
25 | func (a App) domReady(ctx context.Context) {
26 | // Add your action here
27 | }
28 |
29 | // shutdown is called at application termination
30 | func (a *App) shutdown(ctx context.Context) {
31 | // Perform your teardown here
32 | }
33 |
34 | // Greet returns a greeting for the given name
35 | func (a *App) Greet(name string) string {
36 | return fmt.Sprintf("Hello %s!", name)
37 | }
38 |
--------------------------------------------------------------------------------
/frontend/dist/.gitkeep:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sircodemane/wails-vite-vue-ts/d26e6849685ff8ae6721939730f733ec121deac2/frontend/dist/.gitkeep
--------------------------------------------------------------------------------
/frontend/index.tmpl.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | {{.ProjectName}}
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/frontend/package-lock.tmpl.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "{{.ProjectName}}",
3 | "version": "0.1.0",
4 | "lockfileVersion": 1,
5 | "requires": true,
6 | "dependencies": {
7 | "@babel/helper-validator-identifier": {
8 | "version": "7.15.7",
9 | "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.15.7.tgz",
10 | "integrity": "sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w==",
11 | "dev": true
12 | },
13 | "@babel/parser": {
14 | "version": "7.15.7",
15 | "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.15.7.tgz",
16 | "integrity": "sha512-rycZXvQ+xS9QyIcJ9HXeDWf1uxqlbVFAUq0Rq0dbc50Zb/+wUe/ehyfzGfm9KZZF0kBejYgxltBXocP+gKdL2g=="
17 | },
18 | "@babel/types": {
19 | "version": "7.15.6",
20 | "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.6.tgz",
21 | "integrity": "sha512-BPU+7QhqNjmWyDO0/vitH/CuhpV8ZmK1wpKva8nuyNF5MJfuRNWMc+hc14+u9xT93kvykMdncrJT19h74uB1Ig==",
22 | "dev": true,
23 | "requires": {
24 | "@babel/helper-validator-identifier": "^7.14.9",
25 | "to-fast-properties": "^2.0.0"
26 | }
27 | },
28 | "@emmetio/abbreviation": {
29 | "version": "2.2.2",
30 | "resolved": "https://registry.npmjs.org/@emmetio/abbreviation/-/abbreviation-2.2.2.tgz",
31 | "integrity": "sha512-TtE/dBnkTCct8+LntkqVrwqQao6EnPAs1YN3cUgxOxTaBlesBCY37ROUAVZrRlG64GNnVShdl/b70RfAI3w5lw==",
32 | "dev": true,
33 | "requires": {
34 | "@emmetio/scanner": "^1.0.0"
35 | }
36 | },
37 | "@emmetio/css-abbreviation": {
38 | "version": "2.1.4",
39 | "resolved": "https://registry.npmjs.org/@emmetio/css-abbreviation/-/css-abbreviation-2.1.4.tgz",
40 | "integrity": "sha512-qk9L60Y+uRtM5CPbB0y+QNl/1XKE09mSO+AhhSauIfr2YOx/ta3NJw2d8RtCFxgzHeRqFRr8jgyzThbu+MZ4Uw==",
41 | "dev": true,
42 | "requires": {
43 | "@emmetio/scanner": "^1.0.0"
44 | }
45 | },
46 | "@emmetio/scanner": {
47 | "version": "1.0.0",
48 | "resolved": "https://registry.npmjs.org/@emmetio/scanner/-/scanner-1.0.0.tgz",
49 | "integrity": "sha512-8HqW8EVqjnCmWXVpqAOZf+EGESdkR27odcMMMGefgKXtar00SoYNSryGv//TELI4T3QFsECo78p+0lmalk/CFA==",
50 | "dev": true
51 | },
52 | "@vitejs/plugin-vue": {
53 | "version": "1.9.2",
54 | "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-1.9.2.tgz",
55 | "integrity": "sha512-QnUQJvGmY+YT9xTidLcjr6NAjKWNdSuul1M+BZ6uwTQaO5vpAY9USBncXESATk742dYMZGJenegJgeJhG/HMNQ==",
56 | "dev": true
57 | },
58 | "@volar/code-gen": {
59 | "version": "0.27.24",
60 | "resolved": "https://registry.npmjs.org/@volar/code-gen/-/code-gen-0.27.24.tgz",
61 | "integrity": "sha512-s4j/QqOZUW03PeD6LmVYI00Q1C3CfJEOePDOQwDvCTUov4lFk0iSBtFyYhjlLyQ1pdtV1+TDTErkj2aMQtc4PA==",
62 | "dev": true,
63 | "requires": {
64 | "@volar/shared": "^0.27.24",
65 | "@volar/source-map": "^0.27.24"
66 | }
67 | },
68 | "@volar/html2pug": {
69 | "version": "0.27.13",
70 | "resolved": "https://registry.npmjs.org/@volar/html2pug/-/html2pug-0.27.13.tgz",
71 | "integrity": "sha512-3NYgNA5F3PDsKbbpOrVdGy2S7ZYmZIbFmbp1A/27DDzjj/uIC9Pj7HXVvbYOzi8HcOxUPt0BMrh4TVzBUaCFww==",
72 | "dev": true,
73 | "requires": {
74 | "domelementtype": "^2.2.0",
75 | "domhandler": "^4.2.0",
76 | "htmlparser2": "^6.1.0",
77 | "pug": "^3.0.2"
78 | }
79 | },
80 | "@volar/shared": {
81 | "version": "0.27.24",
82 | "resolved": "https://registry.npmjs.org/@volar/shared/-/shared-0.27.24.tgz",
83 | "integrity": "sha512-Mi8a4GQaiorfb+o4EqOXDZm9E/uBJXgScFgF+NhtcMBOUKHNMKQyLI7YRGumtyJTTdaX7nSDJjGGTkv23tcOtQ==",
84 | "dev": true,
85 | "requires": {
86 | "upath": "^2.0.1",
87 | "vscode-jsonrpc": "^8.0.0-next.2",
88 | "vscode-uri": "^3.0.2"
89 | }
90 | },
91 | "@volar/source-map": {
92 | "version": "0.27.24",
93 | "resolved": "https://registry.npmjs.org/@volar/source-map/-/source-map-0.27.24.tgz",
94 | "integrity": "sha512-2I5a7cXqekZ66D6lHep7ttJgvVVtPEBUIe1hnpcGbnXWNA2ya6f6jKNNyTmrXQyfkh32IEuaUd4kocR+3AKMag==",
95 | "dev": true,
96 | "requires": {
97 | "@volar/shared": "^0.27.24"
98 | }
99 | },
100 | "@volar/transforms": {
101 | "version": "0.27.24",
102 | "resolved": "https://registry.npmjs.org/@volar/transforms/-/transforms-0.27.24.tgz",
103 | "integrity": "sha512-sOHi1ZSapFlxn7yPl4MO5TXd9aWC0BVq2CgXAJ2EESb+ddh2uJbGQgLLNocX+MDh419cUuuFT2QAJpuWHhJcng==",
104 | "dev": true,
105 | "requires": {
106 | "@volar/shared": "^0.27.24",
107 | "vscode-languageserver": "^8.0.0-next.2"
108 | }
109 | },
110 | "@vscode/emmet-helper": {
111 | "version": "2.7.0",
112 | "resolved": "https://registry.npmjs.org/@vscode/emmet-helper/-/emmet-helper-2.7.0.tgz",
113 | "integrity": "sha512-LL7MoKNLUQASacQROO7hBdx5IAxsEnA0UdJFd9xXyf3sBQgz8NE3QEfo3IezE7uin8W2fkG2+EXMst3oqK6+KQ==",
114 | "dev": true,
115 | "requires": {
116 | "emmet": "^2.3.0",
117 | "jsonc-parser": "^2.3.0",
118 | "vscode-languageserver-textdocument": "^1.0.1",
119 | "vscode-languageserver-types": "^3.15.1",
120 | "vscode-nls": "^5.0.0",
121 | "vscode-uri": "^2.1.2"
122 | },
123 | "dependencies": {
124 | "vscode-languageserver-types": {
125 | "version": "3.16.0",
126 | "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.16.0.tgz",
127 | "integrity": "sha512-k8luDIWJWyenLc5ToFQQMaSrqCHiLwyKPHKPQZ5zz21vM+vIVUSvsRpcbiECH4WR88K2XZqc4ScRcZ7nk/jbeA==",
128 | "dev": true
129 | },
130 | "vscode-uri": {
131 | "version": "2.1.2",
132 | "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-2.1.2.tgz",
133 | "integrity": "sha512-8TEXQxlldWAuIODdukIb+TR5s+9Ds40eSJrw+1iDDA9IFORPjMELarNQE3myz5XIkWWpdprmJjm1/SxMlWOC8A==",
134 | "dev": true
135 | }
136 | }
137 | },
138 | "@vue/compiler-core": {
139 | "version": "3.2.19",
140 | "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.2.19.tgz",
141 | "integrity": "sha512-8dOPX0YOtaXol0Zf2cfLQ4NU/yHYl2H7DCKsLEZ7gdvPK6ZSEwGLJ7IdghhY2YEshEpC5RB9QKdC5I07z8Dtjg==",
142 | "requires": {
143 | "@babel/parser": "^7.15.0",
144 | "@vue/shared": "3.2.19",
145 | "estree-walker": "^2.0.2",
146 | "source-map": "^0.6.1"
147 | }
148 | },
149 | "@vue/compiler-dom": {
150 | "version": "3.2.19",
151 | "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.2.19.tgz",
152 | "integrity": "sha512-WzQoE8rfkFjPtIioc7SSgTsnz9g2oG61DU8KHnzPrRS7fW/lji6H2uCYJfp4Z6kZE8GjnHc1Ljwl3/gxDes0cw==",
153 | "requires": {
154 | "@vue/compiler-core": "3.2.19",
155 | "@vue/shared": "3.2.19"
156 | }
157 | },
158 | "@vue/compiler-sfc": {
159 | "version": "3.2.19",
160 | "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.2.19.tgz",
161 | "integrity": "sha512-pLlbgkO1UHTO02MSpa/sFOXUwIDxSMiKZ1ozE5n71CY4DM+YmI+G3gT/ZHZ46WBId7f3VTF/D8pGwMygcQbrQA==",
162 | "requires": {
163 | "@babel/parser": "^7.15.0",
164 | "@vue/compiler-core": "3.2.19",
165 | "@vue/compiler-dom": "3.2.19",
166 | "@vue/compiler-ssr": "3.2.19",
167 | "@vue/ref-transform": "3.2.19",
168 | "@vue/shared": "3.2.19",
169 | "estree-walker": "^2.0.2",
170 | "magic-string": "^0.25.7",
171 | "postcss": "^8.1.10",
172 | "source-map": "^0.6.1"
173 | }
174 | },
175 | "@vue/compiler-ssr": {
176 | "version": "3.2.19",
177 | "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.2.19.tgz",
178 | "integrity": "sha512-oLon0Cn3O7WEYzzmzZavGoqXH+199LT+smdjBT3Uf3UX4HwDNuBFCmvL0TsqV9SQnIgKvBRbQ7lhbpnd4lqM3w==",
179 | "requires": {
180 | "@vue/compiler-dom": "3.2.19",
181 | "@vue/shared": "3.2.19"
182 | }
183 | },
184 | "@vue/reactivity": {
185 | "version": "3.2.19",
186 | "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.2.19.tgz",
187 | "integrity": "sha512-FtachoYs2SnyrWup5UikP54xDX6ZJ1s5VgHcJp4rkGoutU3Ry61jhs+nCX7J64zjX992Mh9gGUC0LqTs8q9vCA==",
188 | "requires": {
189 | "@vue/shared": "3.2.19"
190 | }
191 | },
192 | "@vue/ref-transform": {
193 | "version": "3.2.19",
194 | "resolved": "https://registry.npmjs.org/@vue/ref-transform/-/ref-transform-3.2.19.tgz",
195 | "integrity": "sha512-03wwUnoIAeKti5IGGx6Vk/HEBJ+zUcm5wrUM3+PQsGf7IYnXTbeIfHHpx4HeSeWhnLAjqZjADQwW8uA4rBmVbg==",
196 | "requires": {
197 | "@babel/parser": "^7.15.0",
198 | "@vue/compiler-core": "3.2.19",
199 | "@vue/shared": "3.2.19",
200 | "estree-walker": "^2.0.2",
201 | "magic-string": "^0.25.7"
202 | }
203 | },
204 | "@vue/runtime-core": {
205 | "version": "3.2.19",
206 | "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.2.19.tgz",
207 | "integrity": "sha512-qArZSWKxWsgKfxk9BelZ32nY0MZ31CAW2kUUyVJyxh4cTfHaXGbjiQB5JgsvKc49ROMNffv9t3/qjasQqAH+RQ==",
208 | "requires": {
209 | "@vue/reactivity": "3.2.19",
210 | "@vue/shared": "3.2.19"
211 | }
212 | },
213 | "@vue/runtime-dom": {
214 | "version": "3.2.19",
215 | "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.2.19.tgz",
216 | "integrity": "sha512-hIRboxXwafeHhbZEkZYNV0MiJXPNf4fP0X6hM2TJb0vssz8BKhD9cF92BkRgZztTQevecbhk0gu4uAPJ3dxL9A==",
217 | "requires": {
218 | "@vue/runtime-core": "3.2.19",
219 | "@vue/shared": "3.2.19",
220 | "csstype": "^2.6.8"
221 | }
222 | },
223 | "@vue/server-renderer": {
224 | "version": "3.2.19",
225 | "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.2.19.tgz",
226 | "integrity": "sha512-A9FNT7fgQJXItwdzWREntAgWKVtKYuXHBKGev/H4+ByTu8vB7gQXGcim01QxaJshdNg4dYuH2tEBZXCNCNx+/w==",
227 | "requires": {
228 | "@vue/compiler-ssr": "3.2.19",
229 | "@vue/shared": "3.2.19"
230 | }
231 | },
232 | "@vue/shared": {
233 | "version": "3.2.19",
234 | "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.2.19.tgz",
235 | "integrity": "sha512-Knqhx7WieLdVgwCAZgTVrDCXZ50uItuecLh9JdLC8O+a5ayaSyIQYveUK3hCRNC7ws5zalHmZwfdLMGaS8r4Ew=="
236 | },
237 | "acorn": {
238 | "version": "7.4.1",
239 | "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz",
240 | "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==",
241 | "dev": true
242 | },
243 | "asap": {
244 | "version": "2.0.6",
245 | "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz",
246 | "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=",
247 | "dev": true
248 | },
249 | "assert-never": {
250 | "version": "1.2.1",
251 | "resolved": "https://registry.npmjs.org/assert-never/-/assert-never-1.2.1.tgz",
252 | "integrity": "sha512-TaTivMB6pYI1kXwrFlEhLeGfOqoDNdTxjCdwRfFFkEA30Eu+k48W34nlok2EYWJfFFzqaEmichdNM7th6M5HNw==",
253 | "dev": true
254 | },
255 | "babel-walk": {
256 | "version": "3.0.0-canary-5",
257 | "resolved": "https://registry.npmjs.org/babel-walk/-/babel-walk-3.0.0-canary-5.tgz",
258 | "integrity": "sha512-GAwkz0AihzY5bkwIY5QDR+LvsRQgB/B+1foMPvi0FZPMl5fjD7ICiznUiBdLYMH1QYe6vqu4gWYytZOccLouFw==",
259 | "dev": true,
260 | "requires": {
261 | "@babel/types": "^7.9.6"
262 | }
263 | },
264 | "call-bind": {
265 | "version": "1.0.2",
266 | "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz",
267 | "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==",
268 | "dev": true,
269 | "requires": {
270 | "function-bind": "^1.1.1",
271 | "get-intrinsic": "^1.0.2"
272 | }
273 | },
274 | "character-parser": {
275 | "version": "2.2.0",
276 | "resolved": "https://registry.npmjs.org/character-parser/-/character-parser-2.2.0.tgz",
277 | "integrity": "sha1-x84o821LzZdE5f/CxfzeHHMmH8A=",
278 | "dev": true,
279 | "requires": {
280 | "is-regex": "^1.0.3"
281 | }
282 | },
283 | "constantinople": {
284 | "version": "4.0.1",
285 | "resolved": "https://registry.npmjs.org/constantinople/-/constantinople-4.0.1.tgz",
286 | "integrity": "sha512-vCrqcSIq4//Gx74TXXCGnHpulY1dskqLTFGDmhrGxzeXL8lF8kvXv6mpNWlJj1uD4DW23D4ljAqbY4RRaaUZIw==",
287 | "dev": true,
288 | "requires": {
289 | "@babel/parser": "^7.6.0",
290 | "@babel/types": "^7.6.1"
291 | }
292 | },
293 | "csstype": {
294 | "version": "2.6.18",
295 | "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.18.tgz",
296 | "integrity": "sha512-RSU6Hyeg14am3Ah4VZEmeX8H7kLwEEirXe6aU2IPfKNvhXwTflK5HQRDNI0ypQXoqmm+QPyG2IaPuQE5zMwSIQ=="
297 | },
298 | "doctypes": {
299 | "version": "1.1.0",
300 | "resolved": "https://registry.npmjs.org/doctypes/-/doctypes-1.1.0.tgz",
301 | "integrity": "sha1-6oCxBqh1OHdOijpKWv4pPeSJ4Kk=",
302 | "dev": true
303 | },
304 | "dom-serializer": {
305 | "version": "1.3.2",
306 | "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.3.2.tgz",
307 | "integrity": "sha512-5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig==",
308 | "dev": true,
309 | "requires": {
310 | "domelementtype": "^2.0.1",
311 | "domhandler": "^4.2.0",
312 | "entities": "^2.0.0"
313 | }
314 | },
315 | "domelementtype": {
316 | "version": "2.2.0",
317 | "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz",
318 | "integrity": "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==",
319 | "dev": true
320 | },
321 | "domhandler": {
322 | "version": "4.2.2",
323 | "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.2.2.tgz",
324 | "integrity": "sha512-PzE9aBMsdZO8TK4BnuJwH0QT41wgMbRzuZrHUcpYncEjmQazq8QEaBWgLG7ZyC/DAZKEgglpIA6j4Qn/HmxS3w==",
325 | "dev": true,
326 | "requires": {
327 | "domelementtype": "^2.2.0"
328 | }
329 | },
330 | "domutils": {
331 | "version": "2.8.0",
332 | "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz",
333 | "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==",
334 | "dev": true,
335 | "requires": {
336 | "dom-serializer": "^1.0.1",
337 | "domelementtype": "^2.2.0",
338 | "domhandler": "^4.2.0"
339 | }
340 | },
341 | "emmet": {
342 | "version": "2.3.4",
343 | "resolved": "https://registry.npmjs.org/emmet/-/emmet-2.3.4.tgz",
344 | "integrity": "sha512-3IqSwmO+N2ZGeuhDyhV/TIOJFUbkChi53bcasSNRE7Yd+4eorbbYz4e53TpMECt38NtYkZNupQCZRlwdAYA42A==",
345 | "dev": true,
346 | "requires": {
347 | "@emmetio/abbreviation": "^2.2.2",
348 | "@emmetio/css-abbreviation": "^2.1.4"
349 | }
350 | },
351 | "entities": {
352 | "version": "2.2.0",
353 | "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz",
354 | "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==",
355 | "dev": true
356 | },
357 | "esbuild": {
358 | "version": "0.13.3",
359 | "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.13.3.tgz",
360 | "integrity": "sha512-98xovMLKnyhv3gcReUuAEi5Ig1rK6SIgvsJuBIcfwzqGSEHsV8UJjMlmkhHoHMf9XZybMpE9Zax8AA8f7i2hlQ==",
361 | "dev": true,
362 | "requires": {
363 | "esbuild-android-arm64": "0.13.3",
364 | "esbuild-darwin-64": "0.13.3",
365 | "esbuild-darwin-arm64": "0.13.3",
366 | "esbuild-freebsd-64": "0.13.3",
367 | "esbuild-freebsd-arm64": "0.13.3",
368 | "esbuild-linux-32": "0.13.3",
369 | "esbuild-linux-64": "0.13.3",
370 | "esbuild-linux-arm": "0.13.3",
371 | "esbuild-linux-arm64": "0.13.3",
372 | "esbuild-linux-mips64le": "0.13.3",
373 | "esbuild-linux-ppc64le": "0.13.3",
374 | "esbuild-openbsd-64": "0.13.3",
375 | "esbuild-sunos-64": "0.13.3",
376 | "esbuild-windows-32": "0.13.3",
377 | "esbuild-windows-64": "0.13.3",
378 | "esbuild-windows-arm64": "0.13.3"
379 | }
380 | },
381 | "esbuild-android-arm64": {
382 | "version": "0.13.3",
383 | "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.13.3.tgz",
384 | "integrity": "sha512-jc9E8vGTHkzb0Vwl74H8liANV9BWsqtzLHaKvcsRgf1M+aVCBSF0gUheduAKfDsbDMT0judeMLhwBP34EUesTA==",
385 | "dev": true,
386 | "optional": true
387 | },
388 | "esbuild-darwin-64": {
389 | "version": "0.13.3",
390 | "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.13.3.tgz",
391 | "integrity": "sha512-8bG3Zq+ZNuLlIJebOO2+weI7P2LVf33sOzaUfHj8MuJ+1Ixe4KtQxfYp7qhFnP6xP2ToJaYHxGUfLeiUCEz9hw==",
392 | "dev": true,
393 | "optional": true
394 | },
395 | "esbuild-darwin-arm64": {
396 | "version": "0.13.3",
397 | "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.13.3.tgz",
398 | "integrity": "sha512-5E81eImYtTgh8pY7Gq4WQHhWkR/LvYadUXmuYeZBiP+3ADZJZcG60UFceZrjqNPaFOWKr/xmh4aNocwagEubcA==",
399 | "dev": true,
400 | "optional": true
401 | },
402 | "esbuild-freebsd-64": {
403 | "version": "0.13.3",
404 | "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.13.3.tgz",
405 | "integrity": "sha512-ou+f91KkTGexi8HvF/BdtsITL6plbciQfZGys7QX6/QEwyE96PmL5KnU6ZQwoU7E99Ts6Sc9bUDq8HXJubKtBA==",
406 | "dev": true,
407 | "optional": true
408 | },
409 | "esbuild-freebsd-arm64": {
410 | "version": "0.13.3",
411 | "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.13.3.tgz",
412 | "integrity": "sha512-F1zV7nySjHswJuvIgjkiG5liZ63MeazDGXGKViTCeegjZ71sAhOChcaGhKcu6vq9+vqZxlfEi1fmXlx6Pc3coQ==",
413 | "dev": true,
414 | "optional": true
415 | },
416 | "esbuild-linux-32": {
417 | "version": "0.13.3",
418 | "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.13.3.tgz",
419 | "integrity": "sha512-mHHc2v6uLrHH4zaaq5RB/5IWzgimEJ1HGldzf1qtGI513KZWfH0HRRQ8p1di4notJgBn7tDzWQ1f34ZHy69viQ==",
420 | "dev": true,
421 | "optional": true
422 | },
423 | "esbuild-linux-64": {
424 | "version": "0.13.3",
425 | "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.13.3.tgz",
426 | "integrity": "sha512-FJ1De2O89mrOuqtaEXu41qIYJU6R41F+OA6vheNwcAQcX8fu0aiA13FJeLABq29BYJuTVgRj3cyC8q+tz19/dQ==",
427 | "dev": true,
428 | "optional": true
429 | },
430 | "esbuild-linux-arm": {
431 | "version": "0.13.3",
432 | "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.13.3.tgz",
433 | "integrity": "sha512-9BJNRtLwBh3OP22cln9g3AJdbAQUcjRHqA4BScx9k4RZpGqPokFr548zpeplxWhcwrIjT8qPebwH9CrRVy8Bsw==",
434 | "dev": true,
435 | "optional": true
436 | },
437 | "esbuild-linux-arm64": {
438 | "version": "0.13.3",
439 | "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.13.3.tgz",
440 | "integrity": "sha512-Cauhr45KSo+wRUojs+1qfycQqQCAXTOvsWvkZ6xmEMAXLAm+f8RQGDQeP8CAf8Yeelnegcn6UNdvzdzLHhWDFg==",
441 | "dev": true,
442 | "optional": true
443 | },
444 | "esbuild-linux-mips64le": {
445 | "version": "0.13.3",
446 | "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.13.3.tgz",
447 | "integrity": "sha512-YVzJUGCncuuLm2boYyVeuMFsak4ZAhdiBwi0xNDZCC8sy+tS6Boe2mzcrD2uubv5JKAUOrpN186S1DtU4WgBgw==",
448 | "dev": true,
449 | "optional": true
450 | },
451 | "esbuild-linux-ppc64le": {
452 | "version": "0.13.3",
453 | "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.13.3.tgz",
454 | "integrity": "sha512-GU6CqqKtJEoyxC2QWHiJtmuOz9wc/jMv8ZloK2WwiGY5yMvAmM3PI103Dj7xcjebNTHBqITTUw/aigY1wx5A3w==",
455 | "dev": true,
456 | "optional": true
457 | },
458 | "esbuild-openbsd-64": {
459 | "version": "0.13.3",
460 | "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.13.3.tgz",
461 | "integrity": "sha512-HVpkgpn4BQt4BPDAjTOpeMub6mzNWw6Y3gaLQJrpbO24pws6ZwYkY24OI3/Uo3LDCbH6856MM81JxECt92OWjA==",
462 | "dev": true,
463 | "optional": true
464 | },
465 | "esbuild-sunos-64": {
466 | "version": "0.13.3",
467 | "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.13.3.tgz",
468 | "integrity": "sha512-XncBVOtnEfUbPV4CaiFBxh38ychnBfwCxuTm9iAqcHzIwkmeNRN5qMzDyfE1jyfJje+Bbt6AvIfz6SdYt8/UEQ==",
469 | "dev": true,
470 | "optional": true
471 | },
472 | "esbuild-windows-32": {
473 | "version": "0.13.3",
474 | "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.13.3.tgz",
475 | "integrity": "sha512-ZlgDz7d1nk8wQACi+z8IDzNZVUlN9iprAme+1YSTsfFDlkyI8jeaGWPk9EQFNY7rJzsLVYm6eZ2mhPioc7uT5A==",
476 | "dev": true,
477 | "optional": true
478 | },
479 | "esbuild-windows-64": {
480 | "version": "0.13.3",
481 | "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.13.3.tgz",
482 | "integrity": "sha512-YX7KvRez3TR+GudlQm9tND/ssj2FsF9vb8ZWzAoZOLxpPzE3y+3SFJNrfDzzQKPzJ0Pnh9KBP4gsaMwJjKHDhw==",
483 | "dev": true,
484 | "optional": true
485 | },
486 | "esbuild-windows-arm64": {
487 | "version": "0.13.3",
488 | "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.13.3.tgz",
489 | "integrity": "sha512-nP7H0Y2a6OJd3Qi1Q8sehhyP4x4JoXK4S5y6FzH2vgaJgiyEurzFxjUufGdMaw+RxtxiwD/uRndUgwaZ2JD8lg==",
490 | "dev": true,
491 | "optional": true
492 | },
493 | "estree-walker": {
494 | "version": "2.0.2",
495 | "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz",
496 | "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w=="
497 | },
498 | "fsevents": {
499 | "version": "2.3.2",
500 | "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
501 | "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
502 | "dev": true,
503 | "optional": true
504 | },
505 | "function-bind": {
506 | "version": "1.1.1",
507 | "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
508 | "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
509 | "dev": true
510 | },
511 | "get-intrinsic": {
512 | "version": "1.1.1",
513 | "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz",
514 | "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==",
515 | "dev": true,
516 | "requires": {
517 | "function-bind": "^1.1.1",
518 | "has": "^1.0.3",
519 | "has-symbols": "^1.0.1"
520 | }
521 | },
522 | "has": {
523 | "version": "1.0.3",
524 | "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
525 | "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
526 | "dev": true,
527 | "requires": {
528 | "function-bind": "^1.1.1"
529 | }
530 | },
531 | "has-symbols": {
532 | "version": "1.0.2",
533 | "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz",
534 | "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==",
535 | "dev": true
536 | },
537 | "has-tostringtag": {
538 | "version": "1.0.0",
539 | "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz",
540 | "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==",
541 | "dev": true,
542 | "requires": {
543 | "has-symbols": "^1.0.2"
544 | }
545 | },
546 | "htmlparser2": {
547 | "version": "6.1.0",
548 | "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz",
549 | "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==",
550 | "dev": true,
551 | "requires": {
552 | "domelementtype": "^2.0.1",
553 | "domhandler": "^4.0.0",
554 | "domutils": "^2.5.2",
555 | "entities": "^2.0.0"
556 | }
557 | },
558 | "is-core-module": {
559 | "version": "2.7.0",
560 | "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.7.0.tgz",
561 | "integrity": "sha512-ByY+tjCciCr+9nLryBYcSD50EOGWt95c7tIsKTG1J2ixKKXPvF7Ej3AVd+UfDydAJom3biBGDBALaO79ktwgEQ==",
562 | "dev": true,
563 | "requires": {
564 | "has": "^1.0.3"
565 | }
566 | },
567 | "is-expression": {
568 | "version": "4.0.0",
569 | "resolved": "https://registry.npmjs.org/is-expression/-/is-expression-4.0.0.tgz",
570 | "integrity": "sha512-zMIXX63sxzG3XrkHkrAPvm/OVZVSCPNkwMHU8oTX7/U3AL78I0QXCEICXUM13BIa8TYGZ68PiTKfQz3yaTNr4A==",
571 | "dev": true,
572 | "requires": {
573 | "acorn": "^7.1.1",
574 | "object-assign": "^4.1.1"
575 | }
576 | },
577 | "is-promise": {
578 | "version": "2.2.2",
579 | "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.2.2.tgz",
580 | "integrity": "sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==",
581 | "dev": true
582 | },
583 | "is-regex": {
584 | "version": "1.1.4",
585 | "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz",
586 | "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==",
587 | "dev": true,
588 | "requires": {
589 | "call-bind": "^1.0.2",
590 | "has-tostringtag": "^1.0.0"
591 | }
592 | },
593 | "js-stringify": {
594 | "version": "1.0.2",
595 | "resolved": "https://registry.npmjs.org/js-stringify/-/js-stringify-1.0.2.tgz",
596 | "integrity": "sha1-Fzb939lyTyijaCrcYjCufk6Weds=",
597 | "dev": true
598 | },
599 | "jsonc-parser": {
600 | "version": "2.3.1",
601 | "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-2.3.1.tgz",
602 | "integrity": "sha512-H8jvkz1O50L3dMZCsLqiuB2tA7muqbSg1AtGEkN0leAqGjsUzDJir3Zwr02BhqdcITPg3ei3mZ+HjMocAknhhg==",
603 | "dev": true
604 | },
605 | "jstransformer": {
606 | "version": "1.0.0",
607 | "resolved": "https://registry.npmjs.org/jstransformer/-/jstransformer-1.0.0.tgz",
608 | "integrity": "sha1-7Yvwkh4vPx7U1cGkT2hwntJHIsM=",
609 | "dev": true,
610 | "requires": {
611 | "is-promise": "^2.0.0",
612 | "promise": "^7.0.1"
613 | }
614 | },
615 | "lru-cache": {
616 | "version": "6.0.0",
617 | "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
618 | "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
619 | "dev": true,
620 | "requires": {
621 | "yallist": "^4.0.0"
622 | }
623 | },
624 | "magic-string": {
625 | "version": "0.25.7",
626 | "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.7.tgz",
627 | "integrity": "sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==",
628 | "requires": {
629 | "sourcemap-codec": "^1.4.4"
630 | }
631 | },
632 | "nanocolors": {
633 | "version": "0.2.12",
634 | "resolved": "https://registry.npmjs.org/nanocolors/-/nanocolors-0.2.12.tgz",
635 | "integrity": "sha512-SFNdALvzW+rVlzqexid6epYdt8H9Zol7xDoQarioEFcFN0JHo4CYNztAxmtfgGTVRCmFlEOqqhBpoFGKqSAMug=="
636 | },
637 | "nanoid": {
638 | "version": "3.1.28",
639 | "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.28.tgz",
640 | "integrity": "sha512-gSu9VZ2HtmoKYe/lmyPFES5nknFrHa+/DT9muUFWFMi6Jh9E1I7bkvlQ8xxf1Kos9pi9o8lBnIOkatMhKX/YUw=="
641 | },
642 | "object-assign": {
643 | "version": "4.1.1",
644 | "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
645 | "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
646 | "dev": true
647 | },
648 | "path-parse": {
649 | "version": "1.0.7",
650 | "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
651 | "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
652 | "dev": true
653 | },
654 | "postcss": {
655 | "version": "8.3.8",
656 | "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.3.8.tgz",
657 | "integrity": "sha512-GT5bTjjZnwDifajzczOC+r3FI3Cu+PgPvrsjhQdRqa2kTJ4968/X9CUce9xttIB0xOs5c6xf0TCWZo/y9lF6bA==",
658 | "requires": {
659 | "nanocolors": "^0.2.2",
660 | "nanoid": "^3.1.25",
661 | "source-map-js": "^0.6.2"
662 | }
663 | },
664 | "promise": {
665 | "version": "7.3.1",
666 | "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz",
667 | "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==",
668 | "dev": true,
669 | "requires": {
670 | "asap": "~2.0.3"
671 | }
672 | },
673 | "pug": {
674 | "version": "3.0.2",
675 | "resolved": "https://registry.npmjs.org/pug/-/pug-3.0.2.tgz",
676 | "integrity": "sha512-bp0I/hiK1D1vChHh6EfDxtndHji55XP/ZJKwsRqrz6lRia6ZC2OZbdAymlxdVFwd1L70ebrVJw4/eZ79skrIaw==",
677 | "dev": true,
678 | "requires": {
679 | "pug-code-gen": "^3.0.2",
680 | "pug-filters": "^4.0.0",
681 | "pug-lexer": "^5.0.1",
682 | "pug-linker": "^4.0.0",
683 | "pug-load": "^3.0.0",
684 | "pug-parser": "^6.0.0",
685 | "pug-runtime": "^3.0.1",
686 | "pug-strip-comments": "^2.0.0"
687 | }
688 | },
689 | "pug-attrs": {
690 | "version": "3.0.0",
691 | "resolved": "https://registry.npmjs.org/pug-attrs/-/pug-attrs-3.0.0.tgz",
692 | "integrity": "sha512-azINV9dUtzPMFQktvTXciNAfAuVh/L/JCl0vtPCwvOA21uZrC08K/UnmrL+SXGEVc1FwzjW62+xw5S/uaLj6cA==",
693 | "dev": true,
694 | "requires": {
695 | "constantinople": "^4.0.1",
696 | "js-stringify": "^1.0.2",
697 | "pug-runtime": "^3.0.0"
698 | }
699 | },
700 | "pug-code-gen": {
701 | "version": "3.0.2",
702 | "resolved": "https://registry.npmjs.org/pug-code-gen/-/pug-code-gen-3.0.2.tgz",
703 | "integrity": "sha512-nJMhW16MbiGRiyR4miDTQMRWDgKplnHyeLvioEJYbk1RsPI3FuA3saEP8uwnTb2nTJEKBU90NFVWJBk4OU5qyg==",
704 | "dev": true,
705 | "requires": {
706 | "constantinople": "^4.0.1",
707 | "doctypes": "^1.1.0",
708 | "js-stringify": "^1.0.2",
709 | "pug-attrs": "^3.0.0",
710 | "pug-error": "^2.0.0",
711 | "pug-runtime": "^3.0.0",
712 | "void-elements": "^3.1.0",
713 | "with": "^7.0.0"
714 | }
715 | },
716 | "pug-error": {
717 | "version": "2.0.0",
718 | "resolved": "https://registry.npmjs.org/pug-error/-/pug-error-2.0.0.tgz",
719 | "integrity": "sha512-sjiUsi9M4RAGHktC1drQfCr5C5eriu24Lfbt4s+7SykztEOwVZtbFk1RRq0tzLxcMxMYTBR+zMQaG07J/btayQ==",
720 | "dev": true
721 | },
722 | "pug-filters": {
723 | "version": "4.0.0",
724 | "resolved": "https://registry.npmjs.org/pug-filters/-/pug-filters-4.0.0.tgz",
725 | "integrity": "sha512-yeNFtq5Yxmfz0f9z2rMXGw/8/4i1cCFecw/Q7+D0V2DdtII5UvqE12VaZ2AY7ri6o5RNXiweGH79OCq+2RQU4A==",
726 | "dev": true,
727 | "requires": {
728 | "constantinople": "^4.0.1",
729 | "jstransformer": "1.0.0",
730 | "pug-error": "^2.0.0",
731 | "pug-walk": "^2.0.0",
732 | "resolve": "^1.15.1"
733 | }
734 | },
735 | "pug-lexer": {
736 | "version": "5.0.1",
737 | "resolved": "https://registry.npmjs.org/pug-lexer/-/pug-lexer-5.0.1.tgz",
738 | "integrity": "sha512-0I6C62+keXlZPZkOJeVam9aBLVP2EnbeDw3An+k0/QlqdwH6rv8284nko14Na7c0TtqtogfWXcRoFE4O4Ff20w==",
739 | "dev": true,
740 | "requires": {
741 | "character-parser": "^2.2.0",
742 | "is-expression": "^4.0.0",
743 | "pug-error": "^2.0.0"
744 | }
745 | },
746 | "pug-linker": {
747 | "version": "4.0.0",
748 | "resolved": "https://registry.npmjs.org/pug-linker/-/pug-linker-4.0.0.tgz",
749 | "integrity": "sha512-gjD1yzp0yxbQqnzBAdlhbgoJL5qIFJw78juN1NpTLt/mfPJ5VgC4BvkoD3G23qKzJtIIXBbcCt6FioLSFLOHdw==",
750 | "dev": true,
751 | "requires": {
752 | "pug-error": "^2.0.0",
753 | "pug-walk": "^2.0.0"
754 | }
755 | },
756 | "pug-load": {
757 | "version": "3.0.0",
758 | "resolved": "https://registry.npmjs.org/pug-load/-/pug-load-3.0.0.tgz",
759 | "integrity": "sha512-OCjTEnhLWZBvS4zni/WUMjH2YSUosnsmjGBB1An7CsKQarYSWQ0GCVyd4eQPMFJqZ8w9xgs01QdiZXKVjk92EQ==",
760 | "dev": true,
761 | "requires": {
762 | "object-assign": "^4.1.1",
763 | "pug-walk": "^2.0.0"
764 | }
765 | },
766 | "pug-parser": {
767 | "version": "6.0.0",
768 | "resolved": "https://registry.npmjs.org/pug-parser/-/pug-parser-6.0.0.tgz",
769 | "integrity": "sha512-ukiYM/9cH6Cml+AOl5kETtM9NR3WulyVP2y4HOU45DyMim1IeP/OOiyEWRr6qk5I5klpsBnbuHpwKmTx6WURnw==",
770 | "dev": true,
771 | "requires": {
772 | "pug-error": "^2.0.0",
773 | "token-stream": "1.0.0"
774 | }
775 | },
776 | "pug-runtime": {
777 | "version": "3.0.1",
778 | "resolved": "https://registry.npmjs.org/pug-runtime/-/pug-runtime-3.0.1.tgz",
779 | "integrity": "sha512-L50zbvrQ35TkpHwv0G6aLSuueDRwc/97XdY8kL3tOT0FmhgG7UypU3VztfV/LATAvmUfYi4wNxSajhSAeNN+Kg==",
780 | "dev": true
781 | },
782 | "pug-strip-comments": {
783 | "version": "2.0.0",
784 | "resolved": "https://registry.npmjs.org/pug-strip-comments/-/pug-strip-comments-2.0.0.tgz",
785 | "integrity": "sha512-zo8DsDpH7eTkPHCXFeAk1xZXJbyoTfdPlNR0bK7rpOMuhBYb0f5qUVCO1xlsitYd3w5FQTK7zpNVKb3rZoUrrQ==",
786 | "dev": true,
787 | "requires": {
788 | "pug-error": "^2.0.0"
789 | }
790 | },
791 | "pug-walk": {
792 | "version": "2.0.0",
793 | "resolved": "https://registry.npmjs.org/pug-walk/-/pug-walk-2.0.0.tgz",
794 | "integrity": "sha512-yYELe9Q5q9IQhuvqsZNwA5hfPkMJ8u92bQLIMcsMxf/VADjNtEYptU+inlufAFYcWdHlwNfZOEnOOQrZrcyJCQ==",
795 | "dev": true
796 | },
797 | "request-light": {
798 | "version": "0.5.4",
799 | "resolved": "https://registry.npmjs.org/request-light/-/request-light-0.5.4.tgz",
800 | "integrity": "sha512-t3566CMweOFlUk7Y1DJMu5OrtpoZEb6aSTsLQVT3wtrIEJ5NhcY9G/Oqxvjllzl4a15zXfFlcr9q40LbLVQJqw==",
801 | "dev": true
802 | },
803 | "resolve": {
804 | "version": "1.20.0",
805 | "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz",
806 | "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==",
807 | "dev": true,
808 | "requires": {
809 | "is-core-module": "^2.2.0",
810 | "path-parse": "^1.0.6"
811 | }
812 | },
813 | "rollup": {
814 | "version": "2.58.0",
815 | "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.58.0.tgz",
816 | "integrity": "sha512-NOXpusKnaRpbS7ZVSzcEXqxcLDOagN6iFS8p45RkoiMqPHDLwJm758UF05KlMoCRbLBTZsPOIa887gZJ1AiXvw==",
817 | "dev": true,
818 | "requires": {
819 | "fsevents": "~2.3.2"
820 | }
821 | },
822 | "semver": {
823 | "version": "7.3.5",
824 | "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz",
825 | "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==",
826 | "dev": true,
827 | "requires": {
828 | "lru-cache": "^6.0.0"
829 | }
830 | },
831 | "source-map": {
832 | "version": "0.6.1",
833 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
834 | "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
835 | },
836 | "source-map-js": {
837 | "version": "0.6.2",
838 | "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-0.6.2.tgz",
839 | "integrity": "sha512-/3GptzWzu0+0MBQFrDKzw/DvvMTUORvgY6k6jd/VS6iCR4RDTKWH6v6WPwQoUO8667uQEf9Oe38DxAYWY5F/Ug=="
840 | },
841 | "sourcemap-codec": {
842 | "version": "1.4.8",
843 | "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz",
844 | "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA=="
845 | },
846 | "to-fast-properties": {
847 | "version": "2.0.0",
848 | "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
849 | "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=",
850 | "dev": true
851 | },
852 | "token-stream": {
853 | "version": "1.0.0",
854 | "resolved": "https://registry.npmjs.org/token-stream/-/token-stream-1.0.0.tgz",
855 | "integrity": "sha1-zCAOqyYT9BZtJ/+a/HylbUnfbrQ=",
856 | "dev": true
857 | },
858 | "typescript": {
859 | "version": "4.4.3",
860 | "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.4.3.tgz",
861 | "integrity": "sha512-4xfscpisVgqqDfPaJo5vkd+Qd/ItkoagnHpufr+i2QCHBsNYp+G7UAoyFl8aPtx879u38wPV65rZ8qbGZijalA==",
862 | "dev": true
863 | },
864 | "upath": {
865 | "version": "2.0.1",
866 | "resolved": "https://registry.npmjs.org/upath/-/upath-2.0.1.tgz",
867 | "integrity": "sha512-1uEe95xksV1O0CYKXo8vQvN1JEbtJp7lb7C5U9HMsIp6IVwntkH/oNUzyVNQSd4S1sYk2FpSSW44FqMc8qee5w==",
868 | "dev": true
869 | },
870 | "vite": {
871 | "version": "2.6.2",
872 | "resolved": "https://registry.npmjs.org/vite/-/vite-2.6.2.tgz",
873 | "integrity": "sha512-HSIg9U15LOnbD3CUxX364Pdrm7DUjftuBljowGxvkFHgDZU/SKPqApg9t86MX/Qq1VCO7wS+mGJHlfuTF7c0Sg==",
874 | "dev": true,
875 | "requires": {
876 | "esbuild": "^0.13.2",
877 | "fsevents": "~2.3.2",
878 | "postcss": "^8.3.8",
879 | "resolve": "^1.20.0",
880 | "rollup": "^2.57.0"
881 | }
882 | },
883 | "void-elements": {
884 | "version": "3.1.0",
885 | "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-3.1.0.tgz",
886 | "integrity": "sha1-YU9/v42AHwu18GYfWy9XhXUOTwk=",
887 | "dev": true
888 | },
889 | "vscode-css-languageservice": {
890 | "version": "5.1.7",
891 | "resolved": "https://registry.npmjs.org/vscode-css-languageservice/-/vscode-css-languageservice-5.1.7.tgz",
892 | "integrity": "sha512-h4oafcZaGFe2VtbNIlkZDmLEP0GQha3E5Ct2YMH4p/p9xYC8yWDNQ5CD+VF3UnSijKPSKmA+oc4cKjhJBowGKw==",
893 | "dev": true,
894 | "requires": {
895 | "vscode-languageserver-textdocument": "^1.0.1",
896 | "vscode-languageserver-types": "^3.16.0",
897 | "vscode-nls": "^5.0.0",
898 | "vscode-uri": "^3.0.2"
899 | },
900 | "dependencies": {
901 | "vscode-languageserver-types": {
902 | "version": "3.16.0",
903 | "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.16.0.tgz",
904 | "integrity": "sha512-k8luDIWJWyenLc5ToFQQMaSrqCHiLwyKPHKPQZ5zz21vM+vIVUSvsRpcbiECH4WR88K2XZqc4ScRcZ7nk/jbeA==",
905 | "dev": true
906 | }
907 | }
908 | },
909 | "vscode-html-languageservice": {
910 | "version": "4.1.0",
911 | "resolved": "https://registry.npmjs.org/vscode-html-languageservice/-/vscode-html-languageservice-4.1.0.tgz",
912 | "integrity": "sha512-QQrEKfpfbeglD8Jcai4fQDQ7vOJrN6LyiOs47Y6qAxnhve+ervw1kP2UCt9ohHe/6teNWJDYTGxLDgs5iAvitw==",
913 | "dev": true,
914 | "requires": {
915 | "vscode-languageserver-textdocument": "^1.0.1",
916 | "vscode-languageserver-types": "^3.16.0",
917 | "vscode-nls": "^5.0.0",
918 | "vscode-uri": "^3.0.2"
919 | },
920 | "dependencies": {
921 | "vscode-languageserver-types": {
922 | "version": "3.16.0",
923 | "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.16.0.tgz",
924 | "integrity": "sha512-k8luDIWJWyenLc5ToFQQMaSrqCHiLwyKPHKPQZ5zz21vM+vIVUSvsRpcbiECH4WR88K2XZqc4ScRcZ7nk/jbeA==",
925 | "dev": true
926 | }
927 | }
928 | },
929 | "vscode-json-languageservice": {
930 | "version": "4.1.8",
931 | "resolved": "https://registry.npmjs.org/vscode-json-languageservice/-/vscode-json-languageservice-4.1.8.tgz",
932 | "integrity": "sha512-0vSpg6Xd9hfV+eZAaYN63xVVMOTmJ4GgHxXnkLCh+9RsQBkWKIghzLhW2B9ebfG+LQQg8uLtsQ2aUKjTgE+QOg==",
933 | "dev": true,
934 | "requires": {
935 | "jsonc-parser": "^3.0.0",
936 | "vscode-languageserver-textdocument": "^1.0.1",
937 | "vscode-languageserver-types": "^3.16.0",
938 | "vscode-nls": "^5.0.0",
939 | "vscode-uri": "^3.0.2"
940 | },
941 | "dependencies": {
942 | "jsonc-parser": {
943 | "version": "3.0.0",
944 | "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.0.0.tgz",
945 | "integrity": "sha512-fQzRfAbIBnR0IQvftw9FJveWiHp72Fg20giDrHz6TdfB12UH/uue0D3hm57UB5KgAVuniLMCaS8P1IMj9NR7cA==",
946 | "dev": true
947 | },
948 | "vscode-languageserver-types": {
949 | "version": "3.16.0",
950 | "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.16.0.tgz",
951 | "integrity": "sha512-k8luDIWJWyenLc5ToFQQMaSrqCHiLwyKPHKPQZ5zz21vM+vIVUSvsRpcbiECH4WR88K2XZqc4ScRcZ7nk/jbeA==",
952 | "dev": true
953 | }
954 | }
955 | },
956 | "vscode-jsonrpc": {
957 | "version": "8.0.0-next.2",
958 | "resolved": "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-8.0.0-next.2.tgz",
959 | "integrity": "sha512-gxUyTBAjmwGkiHW/UaRScre2s4i98P8M7gnc3VB4DrVQUm3vQ0idi2cN9nbkfcjATx+uEt8C22j+MLN/8UzsJA==",
960 | "dev": true
961 | },
962 | "vscode-languageserver": {
963 | "version": "8.0.0-next.2",
964 | "resolved": "https://registry.npmjs.org/vscode-languageserver/-/vscode-languageserver-8.0.0-next.2.tgz",
965 | "integrity": "sha512-7qCEXTeGZKkI8BGvlKh0JPXTY7BaWoiwQYKCcGaUgnMs34wt6F/yaKcxoC3XIouBBVyRxiI6Ml/JdztM3XYEaA==",
966 | "dev": true,
967 | "requires": {
968 | "vscode-languageserver-protocol": "3.17.0-next.8"
969 | }
970 | },
971 | "vscode-languageserver-protocol": {
972 | "version": "3.17.0-next.8",
973 | "resolved": "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.17.0-next.8.tgz",
974 | "integrity": "sha512-P89vSuJ+FA5JzFmcOoZN13Ig1yd6LsiPOig0O5m5BSGuO/rplQegCd9J0wKpaTy7trf/SYHRoypnbUBdzy14sg==",
975 | "dev": true,
976 | "requires": {
977 | "vscode-jsonrpc": "8.0.0-next.2",
978 | "vscode-languageserver-types": "3.17.0-next.3"
979 | }
980 | },
981 | "vscode-languageserver-textdocument": {
982 | "version": "1.0.1",
983 | "resolved": "https://registry.npmjs.org/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.1.tgz",
984 | "integrity": "sha512-UIcJDjX7IFkck7cSkNNyzIz5FyvpQfY7sdzVy+wkKN/BLaD4DQ0ppXQrKePomCxTS7RrolK1I0pey0bG9eh8dA==",
985 | "dev": true
986 | },
987 | "vscode-languageserver-types": {
988 | "version": "3.17.0-next.3",
989 | "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.17.0-next.3.tgz",
990 | "integrity": "sha512-VQcXnhKYxUW6OiRMhG++SzmZYMJwusXknJGd+FfdOnS1yHAo734OHyR0e2eEHDlv0/oWc8RZPgx/VKSKyondVg==",
991 | "dev": true
992 | },
993 | "vscode-nls": {
994 | "version": "5.0.0",
995 | "resolved": "https://registry.npmjs.org/vscode-nls/-/vscode-nls-5.0.0.tgz",
996 | "integrity": "sha512-u0Lw+IYlgbEJFF6/qAqG2d1jQmJl0eyAGJHoAJqr2HT4M2BNuQYSEiSE75f52pXHSJm8AlTjnLLbBFPrdz2hpA==",
997 | "dev": true
998 | },
999 | "vscode-pug-languageservice": {
1000 | "version": "0.27.24",
1001 | "resolved": "https://registry.npmjs.org/vscode-pug-languageservice/-/vscode-pug-languageservice-0.27.24.tgz",
1002 | "integrity": "sha512-GSvsFB+rPhAD7cBlEKCVNNsFGIaOnp/0zyLw3WpYbXY24vJZafXu1kHvtYaaQXJRnIhqp5EI5p+EqpdI3hTBnw==",
1003 | "dev": true,
1004 | "requires": {
1005 | "@volar/code-gen": "^0.27.24",
1006 | "@volar/shared": "^0.27.24",
1007 | "@volar/source-map": "^0.27.24",
1008 | "@volar/transforms": "^0.27.24",
1009 | "pug-lexer": "^5.0.1",
1010 | "pug-parser": "^6.0.0",
1011 | "vscode-languageserver": "^8.0.0-next.2"
1012 | }
1013 | },
1014 | "vscode-typescript-languageservice": {
1015 | "version": "0.27.25",
1016 | "resolved": "https://registry.npmjs.org/vscode-typescript-languageservice/-/vscode-typescript-languageservice-0.27.25.tgz",
1017 | "integrity": "sha512-nxpJI9MnF2rn5rKL/032Qrsq3T9DgM3slK5fwZp3suNdo90JG2zFTs3Ola8n62k7+KWu4A775obxyb4wLIW6Gw==",
1018 | "dev": true,
1019 | "requires": {
1020 | "@volar/shared": "^0.27.24",
1021 | "semver": "^7.3.5",
1022 | "upath": "^2.0.1",
1023 | "vscode-languageserver": "^8.0.0-next.2",
1024 | "vscode-languageserver-textdocument": "^1.0.1"
1025 | }
1026 | },
1027 | "vscode-uri": {
1028 | "version": "3.0.2",
1029 | "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-3.0.2.tgz",
1030 | "integrity": "sha512-jkjy6pjU1fxUvI51P+gCsxg1u2n8LSt0W6KrCNQceaziKzff74GoWmjVG46KieVzybO1sttPQmYfrwSHey7GUA==",
1031 | "dev": true
1032 | },
1033 | "vscode-vue-languageservice": {
1034 | "version": "0.27.27",
1035 | "resolved": "https://registry.npmjs.org/vscode-vue-languageservice/-/vscode-vue-languageservice-0.27.27.tgz",
1036 | "integrity": "sha512-q5vaaTxQpsqr4O2h2A5zXQtK17ZHKdrcjv6gZaItTBcI4rxw6GIHoblYsNXMo+dhBZEmFmyI18iPn+a7RajFEQ==",
1037 | "dev": true,
1038 | "requires": {
1039 | "@volar/code-gen": "^0.27.24",
1040 | "@volar/html2pug": "^0.27.13",
1041 | "@volar/shared": "^0.27.24",
1042 | "@volar/source-map": "^0.27.24",
1043 | "@volar/transforms": "^0.27.24",
1044 | "@vscode/emmet-helper": "^2.7.0",
1045 | "@vue/compiler-dom": "^3.2.19",
1046 | "@vue/reactivity": "^3.2.19",
1047 | "@vue/shared": "^3.2.19",
1048 | "request-light": "^0.5.4",
1049 | "upath": "^2.0.1",
1050 | "vscode-css-languageservice": "^5.1.4",
1051 | "vscode-html-languageservice": "^4.0.7",
1052 | "vscode-json-languageservice": "^4.1.7",
1053 | "vscode-languageserver": "^8.0.0-next.2",
1054 | "vscode-languageserver-textdocument": "^1.0.1",
1055 | "vscode-pug-languageservice": "^0.27.24",
1056 | "vscode-typescript-languageservice": "^0.27.25"
1057 | }
1058 | },
1059 | "vue": {
1060 | "version": "3.2.19",
1061 | "resolved": "https://registry.npmjs.org/vue/-/vue-3.2.19.tgz",
1062 | "integrity": "sha512-6KAMdIfAtlK+qohTIUE4urwAv4A3YRuo8uAbByApUmiB0CziGAAPs6qVugN6oHPia8YIafHB/37K0O6KZ7sGmA==",
1063 | "requires": {
1064 | "@vue/compiler-dom": "3.2.19",
1065 | "@vue/compiler-sfc": "3.2.19",
1066 | "@vue/runtime-dom": "3.2.19",
1067 | "@vue/server-renderer": "3.2.19",
1068 | "@vue/shared": "3.2.19"
1069 | }
1070 | },
1071 | "vue-tsc": {
1072 | "version": "0.3.0",
1073 | "resolved": "https://registry.npmjs.org/vue-tsc/-/vue-tsc-0.3.0.tgz",
1074 | "integrity": "sha512-zaDRZBxwRIz1XjhNP92FqugG71st6BUMnA2EwPeXrAyzbEYVRz6TezNFceYl3QYqqN8CtaxbqUhaQEDj/ntoCA==",
1075 | "dev": true,
1076 | "requires": {
1077 | "vscode-vue-languageservice": "^0.27.0"
1078 | }
1079 | },
1080 | "with": {
1081 | "version": "7.0.2",
1082 | "resolved": "https://registry.npmjs.org/with/-/with-7.0.2.tgz",
1083 | "integrity": "sha512-RNGKj82nUPg3g5ygxkQl0R937xLyho1J24ItRCBTr/m1YnZkzJy1hUiHUJrc/VlsDQzsCnInEGSg3bci0Lmd4w==",
1084 | "dev": true,
1085 | "requires": {
1086 | "@babel/parser": "^7.9.6",
1087 | "@babel/types": "^7.9.6",
1088 | "assert-never": "^1.2.1",
1089 | "babel-walk": "3.0.0-canary-5"
1090 | }
1091 | },
1092 | "yallist": {
1093 | "version": "4.0.0",
1094 | "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
1095 | "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
1096 | "dev": true
1097 | }
1098 | }
1099 | }
1100 |
--------------------------------------------------------------------------------
/frontend/package.tmpl.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "{{.ProjectName}}",
3 | "version": "0.1.0",
4 | "author": "{{.AuthorName}}",
5 | "private": true,
6 | "scripts": {
7 | "dev": "vite build --watch",
8 | "type-check": "vue-tsc --noEmit",
9 | "build": "vite build"
10 | },
11 | "dependencies": {
12 | "vue": "^3.2.13"
13 | },
14 | "devDependencies": {
15 | "@vitejs/plugin-vue": "^1.9.0",
16 | "typescript": "^4.4.3",
17 | "vite": "^2.5.10",
18 | "vue-tsc": "^0.3.0"
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/frontend/src/App.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
10 |
11 |
49 |
--------------------------------------------------------------------------------
/frontend/src/assets/fonts/OFL.txt:
--------------------------------------------------------------------------------
1 | Copyright 2016 The Nunito Project Authors (contact@sansoxygen.com),
2 |
3 | This Font Software is licensed under the SIL Open Font License, Version 1.1.
4 | This license is copied below, and is also available with a FAQ at:
5 | http://scripts.sil.org/OFL
6 |
7 |
8 | -----------------------------------------------------------
9 | SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
10 | -----------------------------------------------------------
11 |
12 | PREAMBLE
13 | The goals of the Open Font License (OFL) are to stimulate worldwide
14 | development of collaborative font projects, to support the font creation
15 | efforts of academic and linguistic communities, and to provide a free and
16 | open framework in which fonts may be shared and improved in partnership
17 | with others.
18 |
19 | The OFL allows the licensed fonts to be used, studied, modified and
20 | redistributed freely as long as they are not sold by themselves. The
21 | fonts, including any derivative works, can be bundled, embedded,
22 | redistributed and/or sold with any software provided that any reserved
23 | names are not used by derivative works. The fonts and derivatives,
24 | however, cannot be released under any other type of license. The
25 | requirement for fonts to remain under this license does not apply
26 | to any document created using the fonts or their derivatives.
27 |
28 | DEFINITIONS
29 | "Font Software" refers to the set of files released by the Copyright
30 | Holder(s) under this license and clearly marked as such. This may
31 | include source files, build scripts and documentation.
32 |
33 | "Reserved Font Name" refers to any names specified as such after the
34 | copyright statement(s).
35 |
36 | "Original Version" refers to the collection of Font Software components as
37 | distributed by the Copyright Holder(s).
38 |
39 | "Modified Version" refers to any derivative made by adding to, deleting,
40 | or substituting -- in part or in whole -- any of the components of the
41 | Original Version, by changing formats or by porting the Font Software to a
42 | new environment.
43 |
44 | "Author" refers to any designer, engineer, programmer, technical
45 | writer or other person who contributed to the Font Software.
46 |
47 | PERMISSION & CONDITIONS
48 | Permission is hereby granted, free of charge, to any person obtaining
49 | a copy of the Font Software, to use, study, copy, merge, embed, modify,
50 | redistribute, and sell modified and unmodified copies of the Font
51 | Software, subject to the following conditions:
52 |
53 | 1) Neither the Font Software nor any of its individual components,
54 | in Original or Modified Versions, may be sold by itself.
55 |
56 | 2) Original or Modified Versions of the Font Software may be bundled,
57 | redistributed and/or sold with any software, provided that each copy
58 | contains the above copyright notice and this license. These can be
59 | included either as stand-alone text files, human-readable headers or
60 | in the appropriate machine-readable metadata fields within text or
61 | binary files as long as those fields can be easily viewed by the user.
62 |
63 | 3) No Modified Version of the Font Software may use the Reserved Font
64 | Name(s) unless explicit written permission is granted by the corresponding
65 | Copyright Holder. This restriction only applies to the primary font name as
66 | presented to the users.
67 |
68 | 4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
69 | Software shall not be used to promote, endorse or advertise any
70 | Modified Version, except to acknowledge the contribution(s) of the
71 | Copyright Holder(s) and the Author(s) or with their explicit written
72 | permission.
73 |
74 | 5) The Font Software, modified or unmodified, in part or in whole,
75 | must be distributed entirely under this license, and must not be
76 | distributed under any other license. The requirement for fonts to
77 | remain under this license does not apply to any document created
78 | using the Font Software.
79 |
80 | TERMINATION
81 | This license becomes null and void if any of the above conditions are
82 | not met.
83 |
84 | DISCLAIMER
85 | THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
86 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
87 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
88 | OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
89 | COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
90 | INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
91 | DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
92 | FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
93 | OTHER DEALINGS IN THE FONT SOFTWARE.
94 |
--------------------------------------------------------------------------------
/frontend/src/assets/fonts/nunito-v16-latin-regular.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sircodemane/wails-vite-vue-ts/d26e6849685ff8ae6721939730f733ec121deac2/frontend/src/assets/fonts/nunito-v16-latin-regular.woff2
--------------------------------------------------------------------------------
/frontend/src/assets/images/vue.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/frontend/src/assets/images/wails.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
81 |
--------------------------------------------------------------------------------
/frontend/src/components/Home.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |

4 |

5 |
6 |
11 | {{ result }}
12 |
13 |
14 |
15 |
16 |
17 |
18 |
36 |
37 |
103 |
--------------------------------------------------------------------------------
/frontend/src/env.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 |
3 | declare module '*.vue' {
4 | import { DefineComponent } from 'vue'
5 | // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/ban-types
6 | const component: DefineComponent<{}, {}, any>
7 | export default component
8 | }
9 |
--------------------------------------------------------------------------------
/frontend/src/main.ts:
--------------------------------------------------------------------------------
1 | import { createApp } from 'vue'
2 | import App from './App.vue'
3 |
4 | createApp(App).mount('#app')
5 |
--------------------------------------------------------------------------------
/frontend/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "esnext",
4 | "useDefineForClassFields": true,
5 | "module": "esnext",
6 | "moduleResolution": "node",
7 | "strict": true,
8 | "jsx": "preserve",
9 | "sourceMap": true,
10 | "resolveJsonModule": true,
11 | "esModuleInterop": true,
12 | "lib": ["esnext", "dom"]
13 | },
14 | "include": ["src/**/*.ts", "src/**/*.d.ts", "src/**/*.tsx", "src/**/*.vue"],
15 | "exclude": ["node_modules/*", "dist/*"]
16 | }
17 |
--------------------------------------------------------------------------------
/frontend/vite.config.ts:
--------------------------------------------------------------------------------
1 | import { defineConfig } from 'vite'
2 | import vue from '@vitejs/plugin-vue'
3 |
4 | // https://vitejs.dev/config/
5 | export default defineConfig({
6 | plugins: [vue()],
7 | build: {
8 | rollupOptions: {
9 | output: {
10 | entryFileNames: `assets/[name].js`,
11 | chunkFileNames: `assets/[name].js`,
12 | assetFileNames: `assets/[name].[ext]`
13 | }
14 | }
15 | }
16 | })
17 |
--------------------------------------------------------------------------------
/go.mod.tmpl:
--------------------------------------------------------------------------------
1 | module {{.ProjectName}}
2 |
3 | go 1.17
4 |
5 | require github.com/wailsapp/wails/v2 {{.WailsVersion}}
6 |
7 | require (
8 | github.com/andybalholm/brotli v1.0.2 // indirect
9 | github.com/davecgh/go-spew v1.1.1 // indirect
10 | github.com/fasthttp/websocket v0.0.0-20200320073529-1554a54587ab // indirect
11 | github.com/gabriel-vasile/mimetype v1.3.1 // indirect
12 | github.com/go-ole/go-ole v1.2.5 // indirect
13 | github.com/gofiber/fiber/v2 v2.17.0 // indirect
14 | github.com/gofiber/websocket/v2 v2.0.8 // indirect
15 | github.com/google/uuid v1.1.2 // indirect
16 | github.com/imdario/mergo v0.3.12 // indirect
17 | github.com/jchv/go-winloader v0.0.0-20200815041850-dec1ee9a7fd5 // indirect
18 | github.com/klauspost/compress v1.12.2 // indirect
19 | github.com/leaanthony/debme v1.2.1 // indirect
20 | github.com/leaanthony/go-ansi-parser v1.0.1 // indirect
21 | github.com/leaanthony/go-common-file-dialog v1.0.3 // indirect
22 | github.com/leaanthony/go-webview2 v0.0.0-20210914103035-f00aa774a934 // indirect
23 | github.com/leaanthony/slicer v1.5.0 // indirect
24 | github.com/leaanthony/typescriptify-golang-structs v0.1.7 // indirect
25 | github.com/leaanthony/webview2runtime v1.1.0 // indirect
26 | github.com/leaanthony/winc v0.0.0-20210921073452-54963136bf18 // indirect
27 | github.com/pkg/browser v0.0.0-20210706143420-7d21f8c997e2 // indirect
28 | github.com/pkg/errors v0.9.1 // indirect
29 | github.com/savsgio/gotils v0.0.0-20200117113501-90175b0fbe3f // indirect
30 | github.com/tkrajina/go-reflector v0.5.5 // indirect
31 | github.com/valyala/bytebufferpool v1.0.0 // indirect
32 | github.com/valyala/fasthttp v1.28.0 // indirect
33 | github.com/valyala/tcplisten v1.0.0 // indirect
34 | golang.org/x/net v0.0.0-20210510120150-4163338589ed // indirect
35 | golang.org/x/sys v0.0.0-20210823070655-63515b42dcdf // indirect
36 | )
37 |
38 | // replace github.com/wailsapp/wails/v2 {{.WailsVersion}} => {{.WailsDirectory}}
--------------------------------------------------------------------------------
/go.sum:
--------------------------------------------------------------------------------
1 | github.com/Masterminds/semver v1.5.0/go.mod h1:MB6lktGJrhw8PrUyiEoblNEGEQ+RzHPF078ddwwvV3Y=
2 | github.com/Microsoft/go-winio v0.4.14/go.mod h1:qXqCSQ3Xa7+6tgxaGTIe4Kpcdsi+P8jBhyzoq1bpyYA=
3 | github.com/Microsoft/go-winio v0.4.16/go.mod h1:XB6nPKklQyQ7GC9LdcBEcBl8PF76WugXOPRXwdLnMv0=
4 | github.com/alcortesm/tgz v0.0.0-20161220082320-9c5fe88206d7/go.mod h1:6zEj6s6u/ghQa61ZWa/C2Aw3RkjiTBOix7dkqa1VLIs=
5 | github.com/andybalholm/brotli v1.0.2 h1:JKnhI/XQ75uFBTiuzXpzFrUriDPiZjlOSzh6wXogP0E=
6 | github.com/andybalholm/brotli v1.0.2/go.mod h1:loMXtMfwqflxFJPmdbJO0a3KNoPuLBgiu3qAvBg8x/Y=
7 | github.com/anmitsu/go-shlex v0.0.0-20161002113705-648efa622239/go.mod h1:2FmKhYUyUczH0OGQWaF5ceTx0UBShxjsH6f8oGKYe2c=
8 | github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkYZB8zMSxRWpUBQtwG5a7fFgvEO+odwuTv2gs=
9 | github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
10 | github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
11 | github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
12 | github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
13 | github.com/emirpasic/gods v1.12.0/go.mod h1:YfzfFFoVP/catgzJb4IKIqXjX78Ha8FMSDh3ymbK86o=
14 | github.com/fasthttp/websocket v0.0.0-20200320073529-1554a54587ab h1:9e2joQGp642wHGFP5m86SDptAavrdGBe8/x9DGEEAaI=
15 | github.com/fasthttp/websocket v0.0.0-20200320073529-1554a54587ab/go.mod h1:smsv/h4PBEBaU0XDTY5UwJTpZv69fQ0FfcLJr21mA6Y=
16 | github.com/fatih/structtag v1.2.0/go.mod h1:mBJUNpUnHmRKrKlQQlmCrh5PuhftFbNv8Ys4/aAZl94=
17 | github.com/flynn/go-shlex v0.0.0-20150515145356-3f9db97f8568/go.mod h1:xEzjJPgXI435gkrCt3MPfRiAkVrwSbHsst4LCFVfpJc=
18 | github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ=
19 | github.com/gabriel-vasile/mimetype v1.3.1 h1:qevA6c2MtE1RorlScnixeG0VA1H4xrXyhyX3oWBynNQ=
20 | github.com/gabriel-vasile/mimetype v1.3.1/go.mod h1:fA8fi6KUiG7MgQQ+mEWotXoEOvmxRtOJlERCzSmRvr8=
21 | github.com/gin-contrib/sse v0.1.0/go.mod h1:RHrZQHXnP2xjPF+u1gW/2HnVO7nvIa9PG3Gm+fLHvGI=
22 | github.com/gin-gonic/gin v1.6.3/go.mod h1:75u5sXoLsGZoRN5Sgbi1eraJ4GU3++wFwWzhwvtwp4M=
23 | github.com/gliderlabs/ssh v0.2.2/go.mod h1:U7qILu1NlMHj9FlMhZLlkCdDnU1DBEAqr0aevW3Awn0=
24 | github.com/go-git/gcfg v1.5.0/go.mod h1:5m20vg6GwYabIxaOonVkTdrILxQMpEShl1xiMF4ua+E=
25 | github.com/go-git/go-billy/v5 v5.0.0/go.mod h1:pmpqyWchKfYfrkb/UVH4otLvyi/5gJlGI4Hb3ZqZ3W0=
26 | github.com/go-git/go-billy/v5 v5.1.0/go.mod h1:pmpqyWchKfYfrkb/UVH4otLvyi/5gJlGI4Hb3ZqZ3W0=
27 | github.com/go-git/go-billy/v5 v5.2.0/go.mod h1:pmpqyWchKfYfrkb/UVH4otLvyi/5gJlGI4Hb3ZqZ3W0=
28 | github.com/go-git/go-git-fixtures/v4 v4.0.2-0.20200613231340-f56387b50c12/go.mod h1:m+ICp2rF3jDhFgEZ/8yziagdT1C+ZpZcrJjappBCDSw=
29 | github.com/go-git/go-git/v5 v5.3.0/go.mod h1:xdX4bWJ48aOrdhnl2XqHYstHbbp6+LFS4r4X+lNVprw=
30 | github.com/go-ole/go-ole v1.2.4/go.mod h1:XCwSNxSkXRo4vlyPy93sltvi/qJq0jqQhjqQNIwKuxM=
31 | github.com/go-ole/go-ole v1.2.5 h1:t4MGB5xEDZvXI+0rMjjsfBsD7yAgp/s9ZDkL1JndXwY=
32 | github.com/go-ole/go-ole v1.2.5/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0=
33 | github.com/go-playground/assert/v2 v2.0.1/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4=
34 | github.com/go-playground/locales v0.13.0/go.mod h1:taPMhCMXrRLJO55olJkUXHZBHCxTMfnGwq/HNwmWNS8=
35 | github.com/go-playground/universal-translator v0.17.0/go.mod h1:UkSxE5sNxxRwHyU+Scu5vgOQjsIJAF8j9muTVoKLVtA=
36 | github.com/go-playground/validator/v10 v10.2.0/go.mod h1:uOYAAleCW8F/7oMFd6aG0GOhaH6EGOAJShg8Id5JGkI=
37 | github.com/gobwas/httphead v0.0.0-20180130184737-2c6c146eadee/go.mod h1:L0fX3K22YWvt/FAX9NnzrNzcI4wNYi9Yku4O0LKYflo=
38 | github.com/gobwas/pool v0.2.0/go.mod h1:q8bcK0KcYlCgd9e7WYLm9LpyS+YeLd8JVDW6WezmKEw=
39 | github.com/gobwas/ws v1.0.2/go.mod h1:szmBTxLgaFppYjEmNtny/v3w89xOydFnnZMcgRRu/EM=
40 | github.com/gofiber/fiber/v2 v2.17.0 h1:qP3PkGUbBB0i9iQh5E057XI1yO5CZigUxZhyUFYAFoM=
41 | github.com/gofiber/fiber/v2 v2.17.0/go.mod h1:iftruuHGkRYGEXVISmdD7HTYWyfS2Bh+Dkfq4n/1Owg=
42 | github.com/gofiber/websocket/v2 v2.0.8 h1:Hb4y6IxYZVMO0segROODXJiXVgVD3a6i7wnfot8kM6k=
43 | github.com/gofiber/websocket/v2 v2.0.8/go.mod h1:fv8HSGQX09sauNv9g5Xq8GeGAaahLFYQKKb4ZdT0x2w=
44 | github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw=
45 | github.com/golang/protobuf v1.3.5/go.mod h1:6O5/vntMXwX2lRkT1hjjk0nAC1IDOTvTlVgjlRvqsdk=
46 | github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk=
47 | github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY=
48 | github.com/golang/snappy v0.0.3/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q=
49 | github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
50 | github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
51 | github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
52 | github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
53 | github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
54 | github.com/google/uuid v1.1.2 h1:EVhdT+1Kseyi1/pUmXKaFxYsDNy9RQYkMWRH68J/W7Y=
55 | github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
56 | github.com/gorilla/websocket v1.4.1/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE=
57 | github.com/imdario/mergo v0.3.12 h1:b6R2BslTbIEToALKP7LxUvijTsNI9TAe80pLWN2g/HU=
58 | github.com/imdario/mergo v0.3.12/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH0dnCYA=
59 | github.com/jackmordaunt/icns v1.0.0/go.mod h1:7TTQVEuGzVVfOPPlLNHJIkzA6CoV7aH1Dv9dW351oOo=
60 | github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99/go.mod h1:1lJo3i6rXxKeerYnT8Nvf0QmHCRC1n8sfWVwXF2Frvo=
61 | github.com/jchv/go-winloader v0.0.0-20200815041850-dec1ee9a7fd5 h1:pdFFlHXY9tZXmJz+tRSm1DzYEH4ebha7cffmm607bMU=
62 | github.com/jchv/go-winloader v0.0.0-20200815041850-dec1ee9a7fd5/go.mod h1:alcuEEnZsY1WQsagKhZDsoPCRoOijYqhZvPwLG0kzVs=
63 | github.com/jessevdk/go-flags v1.5.0/go.mod h1:Fw0T6WPc1dYxT4mKEZRfG5kJhaTDP9pj1c2EWnYs/m4=
64 | github.com/json-iterator/go v1.1.9/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4=
65 | github.com/kevinburke/ssh_config v0.0.0-20201106050909-4977a11b4351/go.mod h1:CT57kijsi8u/K/BOFA39wgDQJ9CxiF4nAY/ojJ6r6mM=
66 | github.com/klauspost/compress v1.8.2/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0guNDohfE1A=
67 | github.com/klauspost/compress v1.10.3/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs=
68 | github.com/klauspost/compress v1.12.2 h1:2KCfW3I9M7nSc5wOqXAlW2v2U6v+w6cbjvbfp+OykW8=
69 | github.com/klauspost/compress v1.12.2/go.mod h1:8dP1Hq4DHOhN9w426knH3Rhby4rFm6D8eO+e+Dq5Gzg=
70 | github.com/klauspost/cpuid v1.2.1/go.mod h1:Pj4uuM528wm8OyEC2QMXAi2YiTZ96dNQPGgoMS4s3ek=
71 | github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
72 | github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
73 | github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI=
74 | github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
75 | github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
76 | github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
77 | github.com/leaanthony/clir v1.0.4/go.mod h1:k/RBkdkFl18xkkACMCLt09bhiZnrGORoxmomeMvDpE0=
78 | github.com/leaanthony/debme v1.1.1/go.mod h1:3V+sCm5tYAgQymvSOfYQ5Xx2JCr+OXiD9Jkw3otUjiA=
79 | github.com/leaanthony/debme v1.2.1 h1:9Tgwf+kjcrbMQ4WnPcEIUcQuIZYqdWftzZkBr+i/oOc=
80 | github.com/leaanthony/debme v1.2.1/go.mod h1:3V+sCm5tYAgQymvSOfYQ5Xx2JCr+OXiD9Jkw3otUjiA=
81 | github.com/leaanthony/go-ansi-parser v1.0.1 h1:97v6c5kYppVsbScf4r/VZdXyQ21KQIfeQOk2DgKxGG4=
82 | github.com/leaanthony/go-ansi-parser v1.0.1/go.mod h1:7arTzgVI47srICYhvgUV4CGd063sGEeoSlych5yeSPM=
83 | github.com/leaanthony/go-common-file-dialog v1.0.3 h1:O0uGjKnWtdEADGrkg+TyAAbZylykMwwx/MNEXn9fp+Y=
84 | github.com/leaanthony/go-common-file-dialog v1.0.3/go.mod h1:TGhEc9eSJgRsupZ+iH1ZgAOnEo9zp05cRH2j08RPrF0=
85 | github.com/leaanthony/go-webview2 v0.0.0-20210914103035-f00aa774a934 h1:nK/JTPyJi5QRqYjVZjXgtN4/dhg2qtngoLxLDVn429k=
86 | github.com/leaanthony/go-webview2 v0.0.0-20210914103035-f00aa774a934/go.mod h1:lS5ds4bruPk9d7lzdF/OH31Z0YCerI6MmHNFGsWoUnM=
87 | github.com/leaanthony/gosod v1.0.2/go.mod h1:W8RyeSFBXu7RpIxPGEJfW4moSyGGEjlJMLV25wEbAdU=
88 | github.com/leaanthony/idgen v1.0.0/go.mod h1:4nBZnt8ml/f/ic/EVQuLxuj817RccT2fyrUaZFxrcVA=
89 | github.com/leaanthony/slicer v1.5.0 h1:aHYTN8xbCCLxJmkNKiLB6tgcMARl4eWmH9/F+S/0HtY=
90 | github.com/leaanthony/slicer v1.5.0/go.mod h1:FwrApmf8gOrpzEWM2J/9Lh79tyq8KTX5AzRtwV7m4AY=
91 | github.com/leaanthony/typescriptify-golang-structs v0.1.7 h1:yoznzWzyxkO/iWdlpq+aPcuJ5Y/hpjq/lmgMFmpjwl0=
92 | github.com/leaanthony/typescriptify-golang-structs v0.1.7/go.mod h1:cWtOkiVhMF77e6phAXUcfNwYmMwCJ67Sij24lfvi9Js=
93 | github.com/leaanthony/webview2runtime v1.1.0 h1:N0pv55ift8XtqozIp4PNOtRCJ/Qdd/qzx80lUpalS4c=
94 | github.com/leaanthony/webview2runtime v1.1.0/go.mod h1:hH9GnWCve3DYzNaPOcPbhHQ7fodXR1QJNsnwixid4Tk=
95 | github.com/leaanthony/winc v0.0.0-20210921073452-54963136bf18 h1:5iOd93PZbpH4Iir8QkC4coFD+zEQEZSIRcjwjTFZkr0=
96 | github.com/leaanthony/winc v0.0.0-20210921073452-54963136bf18/go.mod h1:KEbMsKoznsebyGHwLk5LqkFOxL5uXSRdvpP4+avmAMs=
97 | github.com/leaanthony/winicon v1.0.0/go.mod h1:en5xhijl92aphrJdmRPlh4NI1L6wq3gEm0LpXAPghjU=
98 | github.com/leodido/go-urn v1.2.0/go.mod h1:+8+nEpDfqqsY+g338gtMEUOtuK+4dEMhiQEgxpxOKII=
99 | github.com/logrusorgru/aurora v0.0.0-20181002194514-a7b3b318ed4e/go.mod h1:7rIyQOR62GCctdiQpZ/zOJlFyk6y+94wXzv6RNZgaR4=
100 | github.com/matryer/is v1.4.0 h1:sosSmIWwkYITGrxZ25ULNDeKiMNzFSr4V/eqBQP0PeE=
101 | github.com/matryer/is v1.4.0/go.mod h1:8I/i5uYgLzgsgEloJE1U6xx5HkBQpAZvepWuujKwMRU=
102 | github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU=
103 | github.com/mattn/go-runewidth v0.0.7/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI=
104 | github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0=
105 | github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
106 | github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0=
107 | github.com/nfnt/resize v0.0.0-20180221191011-83c6a9932646/go.mod h1:jpp1/29i3P1S/RLdc7JQKbRpFeM1dOBd8T9ki5s+AY8=
108 | github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno=
109 | github.com/olekukonko/tablewriter v0.0.4/go.mod h1:zq6QwlOf5SlnkVbMSr5EoBv3636FWnp+qbPhuoO21uA=
110 | github.com/pkg/browser v0.0.0-20210706143420-7d21f8c997e2 h1:acNfDZXmm28D2Yg/c3ALnZStzNaZMSagpbr96vY6Zjc=
111 | github.com/pkg/browser v0.0.0-20210706143420-7d21f8c997e2/go.mod h1:HKlIX3XHQyzLZPlr7++PzdhaXEj94dEiJgZDTsxEqUI=
112 | github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
113 | github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
114 | github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
115 | github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
116 | github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
117 | github.com/savsgio/gotils v0.0.0-20200117113501-90175b0fbe3f h1:PgA+Olipyj258EIEYnpFFONrrCcAIWNUNoFhUfMqAGY=
118 | github.com/savsgio/gotils v0.0.0-20200117113501-90175b0fbe3f/go.mod h1:lHhJedqxCoHN+zMtwGNTXWmF0u9Jt363FYRhV6g0CdY=
119 | github.com/sergi/go-diff v1.1.0/go.mod h1:STckp+ISIX8hZLjrqAeVduY0gWCT9IjLuqbuNXdaHfM=
120 | github.com/sirupsen/logrus v1.4.1/go.mod h1:ni0Sbl8bgC9z8RoU9G6nDWqqs/fq4eDPysMBDgk/93Q=
121 | github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
122 | github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
123 | github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
124 | github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
125 | github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
126 | github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5CcY=
127 | github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
128 | github.com/tc-hib/winres v0.1.5/go.mod h1:pe6dOR40VOrGz8PkzreVKNvEKnlE8t4yR8A8naL+t7A=
129 | github.com/tdewolff/minify v2.3.6+incompatible/go.mod h1:9Ov578KJUmAWpS6NeZwRZyT56Uf6o3Mcz9CEsg8USYs=
130 | github.com/tdewolff/parse v2.3.4+incompatible/go.mod h1:8oBwCsVmUkgHO8M5iCzSIDtpzXOT0WXX9cWhz+bIzJQ=
131 | github.com/tdewolff/test v1.0.6/go.mod h1:6DAvZliBAAnD7rhVgwaM7DE5/d9NMOAJ09SqYqeK4QE=
132 | github.com/tidwall/gjson v1.8.0/go.mod h1:5/xDoumyyDNerp2U36lyolv46b3uF/9Bu6OfyQ9GImk=
133 | github.com/tidwall/match v1.0.3/go.mod h1:eRSPERbgtNPcGhD8UCthc6PmLEQXEWd3PRB5JTxsfmM=
134 | github.com/tidwall/pretty v1.1.0/go.mod h1:XNkn88O1ChpSDQmQeStsy+sBenx6DDtFZJxhVysOjyk=
135 | github.com/tidwall/sjson v1.1.7/go.mod h1:w/yG+ezBeTdUxiKs5NcPicO9diP38nk96QBAbIIGeFs=
136 | github.com/tkrajina/go-reflector v0.5.5 h1:gwoQFNye30Kk7NrExj8zm3zFtrGPqOkzFMLuQZg1DtQ=
137 | github.com/tkrajina/go-reflector v0.5.5/go.mod h1:ECbqLgccecY5kPmPmXg1MrHW585yMcDkVl6IvJe64T4=
138 | github.com/ugorji/go v1.1.7/go.mod h1:kZn38zHttfInRq0xu/PH0az30d+z6vm202qpg1oXVMw=
139 | github.com/ugorji/go/codec v1.1.7/go.mod h1:Ax+UKWsSmolVDwsd+7N3ZtXu+yMGCf907BLYF3GoBXY=
140 | github.com/valyala/bytebufferpool v1.0.0 h1:GqA5TC/0021Y/b9FG4Oi9Mr3q7XYx6KllzawFIhcdPw=
141 | github.com/valyala/bytebufferpool v1.0.0/go.mod h1:6bBcMArwyJ5K/AmCkWv1jt77kVWyCJ6HpOuEn7z0Csc=
142 | github.com/valyala/fasthttp v1.9.0/go.mod h1:FstJa9V+Pj9vQ7OJie2qMHdwemEDaDiSdBnvPM1Su9w=
143 | github.com/valyala/fasthttp v1.26.0/go.mod h1:cmWIqlu99AO/RKcp1HWaViTqc57FswJOfYYdPJBl8BA=
144 | github.com/valyala/fasthttp v1.28.0 h1:ruVmTmZaBR5i67NqnjvvH5gEv0zwHfWtbjoyW98iho4=
145 | github.com/valyala/fasthttp v1.28.0/go.mod h1:cmWIqlu99AO/RKcp1HWaViTqc57FswJOfYYdPJBl8BA=
146 | github.com/valyala/tcplisten v0.0.0-20161114210144-ceec8f93295a/go.mod h1:v3UYOV9WzVtRmSR+PDvWpU/qWl4Wa5LApYYX4ZtKbio=
147 | github.com/valyala/tcplisten v1.0.0 h1:rBHj/Xf+E1tRGZyWIWwJDiRY0zc1Js+CV5DqwacVSA8=
148 | github.com/valyala/tcplisten v1.0.0/go.mod h1:T0xQ8SeCZGxckz9qRXTfG43PvQ/mcWh7FwZEA7Ioqkc=
149 | github.com/wzshiming/ctc v1.2.3/go.mod h1:2tVAtIY7SUyraSk0JxvwmONNPFL4ARavPuEsg5+KA28=
150 | github.com/wzshiming/winseq v0.0.0-20200112104235-db357dc107ae/go.mod h1:VTAq37rkGeV+WOybvZwjXiJOicICdpLCN8ifpISjK20=
151 | github.com/xanzy/ssh-agent v0.3.0/go.mod h1:3s9xbODqPuuhK9JV1R321M/FlMZSBvE5aY6eAcqrDh0=
152 | github.com/xyproto/xpm v1.2.1/go.mod h1:cMnesLsD0PBXLgjDfTDEaKr8XyTFsnP1QycSqRw7BiY=
153 | github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
154 | github.com/ztrue/tracerr v0.3.0/go.mod h1:qEalzze4VN9O8tnhBXScfCrmoJo10o8TN5ciKjm6Mww=
155 | golang.org/x/crypto v0.0.0-20190219172222-a4c6cb3142f2/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
156 | golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
157 | golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
158 | golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
159 | golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4=
160 | golang.org/x/crypto v0.0.0-20210513164829-c07d793c2f9a/go.mod h1:P+XmwS30IXTQdn5tA2iutPOUgjI07+tq3H3K9MVA1s8=
161 | golang.org/x/image v0.0.0-20200430140353-33d19683fad8/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0=
162 | golang.org/x/image v0.0.0-20201208152932-35266b937fa6/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0=
163 | golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
164 | golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
165 | golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
166 | golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
167 | golang.org/x/net v0.0.0-20190827160401-ba9fcec4b297/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
168 | golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
169 | golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
170 | golang.org/x/net v0.0.0-20210326060303-6b1517762897/go.mod h1:uSPa2vr4CLtc/ILN5odXGNXS6mhrKVzTaCXzk9m6W3k=
171 | golang.org/x/net v0.0.0-20210505024714-0287a6fb4125/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
172 | golang.org/x/net v0.0.0-20210510120150-4163338589ed h1:p9UgmWI9wKpfYmgaV/IZKGdXc5qEK45tDwwwDyjS26I=
173 | golang.org/x/net v0.0.0-20210510120150-4163338589ed/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
174 | golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
175 | golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
176 | golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
177 | golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
178 | golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
179 | golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
180 | golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
181 | golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
182 | golang.org/x/sys v0.0.0-20200107162124-548cf772de50/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
183 | golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
184 | golang.org/x/sys v0.0.0-20200302150141-5c8b2ff67527/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
185 | golang.org/x/sys v0.0.0-20200810151505-1b9f1253b3ed/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
186 | golang.org/x/sys v0.0.0-20200814200057-3d37ad5750ed/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
187 | golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
188 | golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
189 | golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
190 | golang.org/x/sys v0.0.0-20210320140829-1e4c9ba3b0c4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
191 | golang.org/x/sys v0.0.0-20210324051608-47abb6519492/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
192 | golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
193 | golang.org/x/sys v0.0.0-20210514084401-e8d321eab015/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
194 | golang.org/x/sys v0.0.0-20210611083646-a4fc73990273/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
195 | golang.org/x/sys v0.0.0-20210616045830-e2b7044e8c71/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
196 | golang.org/x/sys v0.0.0-20210823070655-63515b42dcdf h1:2ucpDCmfkl8Bd/FsLtiD653Wf96cW37s+iGx93zsu4k=
197 | golang.org/x/sys v0.0.0-20210823070655-63515b42dcdf/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
198 | golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
199 | golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
200 | golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
201 | golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
202 | golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
203 | golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
204 | golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
205 | golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
206 | golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0=
207 | golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
208 | golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
209 | golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
210 | golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
211 | google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw=
212 | google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
213 | gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
214 | gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
215 | gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
216 | gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q=
217 | gopkg.in/warnings.v0 v0.1.2/go.mod h1:jksf8JmL6Qr/oQM2OXTHunEvvTAsrWBLb6OOjuVWRNI=
218 | gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
219 | gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
220 | gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
221 | gopkg.in/yaml.v2 v2.3.0 h1:clyUAQHOM3G0M3f5vQj7LuJrETvjVot3Z5el9nffUtU=
222 | gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
223 | gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c h1:dUUwHk2QECo/6vqA44rthZ8ie2QXMNeKRTHCNY2nXvo=
224 | gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
225 | nhooyr.io/websocket v1.8.6/go.mod h1:B70DZP8IakI65RVQ51MsWP/8jndNma26DVA/nFSCgW0=
226 |
--------------------------------------------------------------------------------
/main.tmpl.go:
--------------------------------------------------------------------------------
1 | package main
2 |
3 | import (
4 | "embed"
5 | "log"
6 |
7 | "github.com/wailsapp/wails/v2"
8 | "github.com/wailsapp/wails/v2/pkg/logger"
9 | "github.com/wailsapp/wails/v2/pkg/options"
10 | "github.com/wailsapp/wails/v2/pkg/options/windows"
11 | )
12 |
13 | //go:embed frontend/dist
14 | var assets embed.FS
15 |
16 | func main() {
17 | // Create an instance of the app structure
18 | app := NewApp()
19 |
20 | // Create application with options
21 | err := wails.Run(&options.App{
22 | Title: "{{.ProjectName}}",
23 | Width: 1024,
24 | Height: 768,
25 | // MinWidth: 720,
26 | // MinHeight: 570,
27 | // MaxWidth: 1280,
28 | // MaxHeight: 740,
29 | DisableResize: false,
30 | Fullscreen: false,
31 | Frameless: false,
32 | StartHidden: false,
33 | HideWindowOnClose: false,
34 | RGBA: &options.RGBA{R: 255, G: 255, B: 255, A: 255},
35 | Assets: assets,
36 | LogLevel: logger.DEBUG,
37 | OnStartup: app.startup,
38 | OnDomReady: app.domReady,
39 | OnShutdown: app.shutdown,
40 | Bind: []interface{}{
41 | app,
42 | },
43 | // Windows platform specific options
44 | Windows: &windows.Options{
45 | WebviewIsTransparent: false,
46 | WindowIsTranslucent: false,
47 | DisableWindowIcon: false,
48 | },
49 | })
50 |
51 | if err != nil {
52 | log.Fatal(err)
53 | }
54 | }
55 |
--------------------------------------------------------------------------------
/template.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Vue3 TypeScript + Vite",
3 | "shortname": "wails-vite-vue-ts",
4 | "author": "Cody Bentley