├── .github
└── workflows
│ └── publish.yml
├── .gitignore
├── CHANGELOG.md
├── LICENSE
├── README.md
├── auto-imports.d.ts
├── components.d.ts
├── icon.png
├── index.html
├── package.json
├── pnpm-lock.yaml
├── postcss.config.js
├── screencast.gif
├── src
├── App.vue
├── components
│ ├── Editor.vue
│ └── dialog.vue
├── main.ts
├── stores
│ └── editor.ts
├── style.css
└── vue.d.ts
├── tailwind.config.js
├── tsconfig.json
└── vite.config.ts
/.github/workflows/publish.yml:
--------------------------------------------------------------------------------
1 | name: Build plugin
2 |
3 | on:
4 | push:
5 | # Sequence of patterns matched against refs/tags
6 | tags:
7 | - "*" # Push events to matching any tag format, i.e. 1.0, 20.15.10
8 |
9 | env:
10 | PLUGIN_NAME: logseq-plugin-global-custom-css
11 |
12 | jobs:
13 | build:
14 | runs-on: ubuntu-latest
15 |
16 | steps:
17 | - uses: actions/checkout@v2
18 | - name: Use Node.js
19 | uses: actions/setup-node@v1
20 | with:
21 | node-version: "16.x" # You might need to adjust this value to your own version
22 | - name: Build
23 | id: build
24 | run: |
25 | npm install -g pnpm
26 | pnpm install
27 | pnpm build
28 | mv dist ${{ env.PLUGIN_NAME }}
29 | zip -r ${{ env.PLUGIN_NAME }}.zip ${{ env.PLUGIN_NAME }}
30 | tar -cvzf ${{ env.PLUGIN_NAME }}.tar.gz -C ${{ env.PLUGIN_NAME }} .
31 | ls
32 | echo "::set-output name=tag_name::$(git tag --sort version:refname | tail -n 1)"
33 |
34 | - name: Create Release
35 | uses: ncipollo/release-action@v1
36 | id: create_release
37 | env:
38 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
39 | VERSION: ${{ github.ref }}
40 | with:
41 | allowUpdates: true
42 | draft: false
43 | prerelease: false
44 |
45 | - name: Upload zip file
46 | id: upload_zip
47 | uses: actions/upload-release-asset@v1
48 | env:
49 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
50 | with:
51 | upload_url: ${{ steps.create_release.outputs.upload_url }}
52 | asset_path: ./${{ env.PLUGIN_NAME }}.zip
53 | asset_name: ${{ env.PLUGIN_NAME }}-${{ steps.build.outputs.tag_name }}.zip
54 | asset_content_type: application/zip
55 |
56 | - name: Upload tar.gz file
57 | id: upload_metadata
58 | uses: actions/upload-release-asset@v1
59 | env:
60 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
61 | with:
62 | upload_url: ${{ steps.create_release.outputs.upload_url }}
63 | asset_path: ./${{ env.PLUGIN_NAME }}.tar.gz
64 | asset_name: ${{ env.PLUGIN_NAME }}-${{ steps.build.outputs.tag_name }}.tar.gz
65 | asset_content_type: application/gzip
66 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | node_modules
3 | dist
--------------------------------------------------------------------------------
/CHANGELOG.md:
--------------------------------------------------------------------------------
1 | # CHANGELOG
2 |
3 | ## v0.0.3
4 |
5 | - fix: add github username setting
6 |
7 | ## v0.0.2
8 |
9 | - fix: toolbar key is wrong
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2022
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Logseq Global Custom CSS
2 |
3 | [](https://github.com/vipzhicheng/logseq-plugin-global-custom-css/releases)
4 |
5 | 
6 |
7 | A plugin for Logseq themer. Logseq's custom.css give end user the ability to customize look and feel of Logseq over the theme layer, it's awesome but have some limits.
8 |
9 | * Each repo has a custom.css, if you have many repos, you need to copy and paste changes all the time.
10 | * You need to go back and forth to preview after editing.
11 |
12 | ## Features
13 |
14 | With this plugins, it create a new workflow for themer to customize css globally.
15 |
16 | * It's a CSS editor in popup modal which can be drag and drop.
17 | * Support syntax highlight, and autocomplete.
18 | * Code will be applied automatically.
19 | * Save to/Load from Github Gists.
20 | * Support fullscreen press F11.
21 | * Support Code format.
22 |
23 | ## Workflow
24 |
25 | * You can rely on this plugin to replace the original custom.css, so you can get the ability to edit once and use it globally.
26 | * Or, you can just use it as a debug window, you can preview effects when you editing, then if it works, you can copy all code to custom.css, and clear the window.
27 |
28 | ## Settings
29 |
30 | If you do not need to save code to Github Gist, it's an out-of-the-box. For now it can only be trigger from the right top corner, the colorful icon.
31 |
32 | If you do need to save code to Github Gist, you need to config the plugin
33 |
34 | ### Github Personal Access Token
35 |
36 | It's best only grant **Gist Create** permission for this token. You can apply it [here](https://github.com/settings/tokens).
37 |
38 | ### Gist ID
39 |
40 | The plugin can not help you create a gist and alway use the created one to save code, so you need to set a specific gist id, the plugin will not touch any other your gists.
41 |
42 | ## Buy me a coffee
43 |
44 | If my plugin solve your situation a little bit and you will, you can choose to buy me a coffee via [this](https://www.buymeacoffee.com/vipzhicheng) and [this](https://afdian.net/@vipzhicheng).
45 |
46 | ## Licence
47 | MIT
48 |
--------------------------------------------------------------------------------
/auto-imports.d.ts:
--------------------------------------------------------------------------------
1 | // Generated by 'unplugin-auto-import'
2 | export {}
3 | declare global {
4 | const EffectScope: typeof import('vue')['EffectScope']
5 | const computed: typeof import('vue')['computed']
6 | const createApp: typeof import('vue')['createApp']
7 | const customRef: typeof import('vue')['customRef']
8 | const defineAsyncComponent: typeof import('vue')['defineAsyncComponent']
9 | const defineComponent: typeof import('vue')['defineComponent']
10 | const effectScope: typeof import('vue')['effectScope']
11 | const getCurrentInstance: typeof import('vue')['getCurrentInstance']
12 | const getCurrentScope: typeof import('vue')['getCurrentScope']
13 | const h: typeof import('vue')['h']
14 | const inject: typeof import('vue')['inject']
15 | const isReadonly: typeof import('vue')['isReadonly']
16 | const isRef: typeof import('vue')['isRef']
17 | const markRaw: typeof import('vue')['markRaw']
18 | const nextTick: typeof import('vue')['nextTick']
19 | const onActivated: typeof import('vue')['onActivated']
20 | const onBeforeMount: typeof import('vue')['onBeforeMount']
21 | const onBeforeUnmount: typeof import('vue')['onBeforeUnmount']
22 | const onBeforeUpdate: typeof import('vue')['onBeforeUpdate']
23 | const onDeactivated: typeof import('vue')['onDeactivated']
24 | const onErrorCaptured: typeof import('vue')['onErrorCaptured']
25 | const onMounted: typeof import('vue')['onMounted']
26 | const onRenderTracked: typeof import('vue')['onRenderTracked']
27 | const onRenderTriggered: typeof import('vue')['onRenderTriggered']
28 | const onScopeDispose: typeof import('vue')['onScopeDispose']
29 | const onServerPrefetch: typeof import('vue')['onServerPrefetch']
30 | const onUnmounted: typeof import('vue')['onUnmounted']
31 | const onUpdated: typeof import('vue')['onUpdated']
32 | const provide: typeof import('vue')['provide']
33 | const reactive: typeof import('vue')['reactive']
34 | const readonly: typeof import('vue')['readonly']
35 | const ref: typeof import('vue')['ref']
36 | const resolveComponent: typeof import('vue')['resolveComponent']
37 | const shallowReactive: typeof import('vue')['shallowReactive']
38 | const shallowReadonly: typeof import('vue')['shallowReadonly']
39 | const shallowRef: typeof import('vue')['shallowRef']
40 | const toRaw: typeof import('vue')['toRaw']
41 | const toRef: typeof import('vue')['toRef']
42 | const toRefs: typeof import('vue')['toRefs']
43 | const triggerRef: typeof import('vue')['triggerRef']
44 | const unref: typeof import('vue')['unref']
45 | const useAttrs: typeof import('vue')['useAttrs']
46 | const useCssModule: typeof import('vue')['useCssModule']
47 | const useCssVars: typeof import('vue')['useCssVars']
48 | const useSlots: typeof import('vue')['useSlots']
49 | const watch: typeof import('vue')['watch']
50 | const watchEffect: typeof import('vue')['watchEffect']
51 | }
52 |
--------------------------------------------------------------------------------
/components.d.ts:
--------------------------------------------------------------------------------
1 | // generated by unplugin-vue-components
2 | // We suggest you to commit this file into source control
3 | // Read more: https://github.com/vuejs/vue-next/pull/3399
4 | import '@vue/runtime-core'
5 |
6 | declare module '@vue/runtime-core' {
7 | export interface GlobalComponents {
8 | Dialog: typeof import('./src/components/dialog.vue')['default']
9 | Editor: typeof import('./src/components/editor.vue')['default']
10 | ElButton: typeof import('element-plus/es')['ElButton']
11 | ElDialog: typeof import('element-plus/es')['ElDialog']
12 | }
13 | }
14 |
15 | export {}
16 |
--------------------------------------------------------------------------------
/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vipzhicheng/logseq-plugin-global-custom-css/0f99a81974373b855e9c68756f2fc4408a01a3ba/icon.png
--------------------------------------------------------------------------------
/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | Starter
8 |
9 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "logseq-plugin-global-custom-css",
3 | "version": "0.0.3",
4 | "description": "A plugin for Logseq themer",
5 | "main": "index.html",
6 | "scripts": {
7 | "dev": "vite dev",
8 | "build": "vue-tsc --noEmit && vite build && cp icon.png package.json LICENSE dist/"
9 | },
10 | "keywords": [],
11 | "author": "",
12 | "license": "ISC",
13 | "devDependencies": {
14 | "@types/codemirror": "^5.60.5",
15 | "@types/node": "^17.0.35",
16 | "@vitejs/plugin-vue": "^2.3.3",
17 | "autoprefixer": "^10.4.7",
18 | "postcss": "^8.4.14",
19 | "tailwindcss": "^3.0.24",
20 | "typescript": "^4.7.2",
21 | "unplugin-auto-import": "^0.8.5",
22 | "unplugin-vue-components": "^0.19.5",
23 | "vite": "^2.9.9",
24 | "vite-plugin-logseq": "^1.1.2",
25 | "vue-tsc": "^0.34.16"
26 | },
27 | "dependencies": {
28 | "@logseq/libs": "^0.0.6",
29 | "@octokit/rest": "^18.12.0",
30 | "codemirror": "^5.65.4",
31 | "element-plus": "^2.2.2",
32 | "pinia": "^2.0.14",
33 | "simply-beautiful": "^0.2.13",
34 | "vue": "^3.2.36"
35 | },
36 | "logseq": {
37 | "id": "logseq-plugin-global-custom-css",
38 | "title": "Global Custom CSS",
39 | "icon": "./icon.png"
40 | }
41 | }
42 |
--------------------------------------------------------------------------------
/pnpm-lock.yaml:
--------------------------------------------------------------------------------
1 | lockfileVersion: 5.3
2 |
3 | specifiers:
4 | '@logseq/libs': ^0.0.6
5 | '@octokit/rest': ^18.12.0
6 | '@types/codemirror': ^5.60.5
7 | '@types/node': ^17.0.35
8 | '@vitejs/plugin-vue': ^2.3.3
9 | autoprefixer: ^10.4.7
10 | codemirror: ^5.65.4
11 | element-plus: ^2.2.2
12 | pinia: ^2.0.14
13 | postcss: ^8.4.14
14 | simply-beautiful: ^0.2.13
15 | tailwindcss: ^3.0.24
16 | typescript: ^4.7.2
17 | unplugin-auto-import: ^0.8.5
18 | unplugin-vue-components: ^0.19.5
19 | vite: ^2.9.9
20 | vite-plugin-logseq: ^1.1.2
21 | vue: ^3.2.36
22 | vue-tsc: ^0.34.16
23 |
24 | dependencies:
25 | '@logseq/libs': 0.0.6
26 | '@octokit/rest': 18.12.0
27 | codemirror: 5.65.4
28 | element-plus: 2.2.2_vue@3.2.36
29 | pinia: 2.0.14_typescript@4.7.2+vue@3.2.36
30 | simply-beautiful: 0.2.13
31 | vue: 3.2.36
32 |
33 | devDependencies:
34 | '@types/codemirror': 5.60.5
35 | '@types/node': 17.0.35
36 | '@vitejs/plugin-vue': 2.3.3_vite@2.9.9+vue@3.2.36
37 | autoprefixer: 10.4.7_postcss@8.4.14
38 | postcss: 8.4.14
39 | tailwindcss: 3.0.24
40 | typescript: 4.7.2
41 | unplugin-auto-import: 0.8.5_vite@2.9.9
42 | unplugin-vue-components: 0.19.5_vite@2.9.9+vue@3.2.36
43 | vite: 2.9.9
44 | vite-plugin-logseq: 1.1.2
45 | vue-tsc: 0.34.16_typescript@4.7.2
46 |
47 | packages:
48 |
49 | /@antfu/utils/0.5.2:
50 | resolution: {integrity: sha512-CQkeV+oJxUazwjlHD0/3ZD08QWKuGQkhnrKo3e6ly5pd48VUpXbb77q0xMU4+vc2CkJnDS02Eq/M9ugyX20XZA==}
51 | dev: true
52 |
53 | /@babel/parser/7.17.3:
54 | resolution: {integrity: sha512-7yJPvPV+ESz2IUTPbOL+YkIGyCqOyNIzdguKQuJGnH7bg1WTIifuM21YqokFt/THWh1AkCRn9IgoykTRCBVpzA==}
55 | engines: {node: '>=6.0.0'}
56 | hasBin: true
57 |
58 | /@ctrl/tinycolor/3.4.1:
59 | resolution: {integrity: sha512-ej5oVy6lykXsvieQtqZxCOaLT+xD4+QNarq78cIYISHmZXshCvROLudpQN3lfL8G0NL7plMSSK+zlyvCaIJ4Iw==}
60 | engines: {node: '>=10'}
61 | dev: false
62 |
63 | /@element-plus/icons-vue/1.1.4_vue@3.2.36:
64 | resolution: {integrity: sha512-Iz/nHqdp1sFPmdzRwHkEQQA3lKvoObk8azgABZ81QUOpW9s/lUyQVUSh0tNtEPZXQlKwlSh7SPgoVxzrE0uuVQ==}
65 | peerDependencies:
66 | vue: ^3.2.0
67 | dependencies:
68 | vue: 3.2.36
69 | dev: false
70 |
71 | /@floating-ui/core/0.7.1:
72 | resolution: {integrity: sha512-grcqEmI8DTIolufpxhJagVeJmvloxBXE6xxSrVnSXz/Wz1uUIsC85ad+UNBqAoBOvzLxE42wvDj3YkmSGqWRxA==}
73 | dev: false
74 |
75 | /@floating-ui/dom/0.5.1:
76 | resolution: {integrity: sha512-dkPSy5JPiQEtljc3VpG9lauYctxfLlqj/8N9f+lmsR92gQaSVMAWuBbFBH2keY5DmdQn3p4Dv1dQd+e8osH+/g==}
77 | dependencies:
78 | '@floating-ui/core': 0.7.1
79 | dev: false
80 |
81 | /@logseq/libs/0.0.6:
82 | resolution: {integrity: sha512-0Fv+Wdno5m0EA9xW6tRRvoKNPAF5nznpi6A1bBjh8aq4XMt7rGvhHbsH+u84/nswCYlce3t2Q/ei8CRK8iWbdw==}
83 | dependencies:
84 | csstype: 3.0.8
85 | debug: 4.3.1
86 | dompurify: 2.3.1
87 | eventemitter3: 4.0.7
88 | fast-deep-equal: 3.1.3
89 | lodash-es: 4.17.21
90 | path: 0.12.7
91 | snake-case: 3.0.4
92 | transitivePeerDependencies:
93 | - supports-color
94 | dev: false
95 |
96 | /@nodelib/fs.scandir/2.1.5:
97 | resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
98 | engines: {node: '>= 8'}
99 | dependencies:
100 | '@nodelib/fs.stat': 2.0.5
101 | run-parallel: 1.2.0
102 | dev: true
103 |
104 | /@nodelib/fs.stat/2.0.5:
105 | resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==}
106 | engines: {node: '>= 8'}
107 | dev: true
108 |
109 | /@nodelib/fs.walk/1.2.8:
110 | resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==}
111 | engines: {node: '>= 8'}
112 | dependencies:
113 | '@nodelib/fs.scandir': 2.1.5
114 | fastq: 1.13.0
115 | dev: true
116 |
117 | /@octokit/auth-token/2.5.0:
118 | resolution: {integrity: sha512-r5FVUJCOLl19AxiuZD2VRZ/ORjp/4IN98Of6YJoJOkY75CIBuYfmiNHGrDwXr+aLGG55igl9QrxX3hbiXlLb+g==}
119 | dependencies:
120 | '@octokit/types': 6.34.0
121 | dev: false
122 |
123 | /@octokit/core/3.6.0:
124 | resolution: {integrity: sha512-7RKRKuA4xTjMhY+eG3jthb3hlZCsOwg3rztWh75Xc+ShDWOfDDATWbeZpAHBNRpm4Tv9WgBMOy1zEJYXG6NJ7Q==}
125 | dependencies:
126 | '@octokit/auth-token': 2.5.0
127 | '@octokit/graphql': 4.8.0
128 | '@octokit/request': 5.6.3
129 | '@octokit/request-error': 2.1.0
130 | '@octokit/types': 6.34.0
131 | before-after-hook: 2.2.2
132 | universal-user-agent: 6.0.0
133 | transitivePeerDependencies:
134 | - encoding
135 | dev: false
136 |
137 | /@octokit/endpoint/6.0.12:
138 | resolution: {integrity: sha512-lF3puPwkQWGfkMClXb4k/eUT/nZKQfxinRWJrdZaJO85Dqwo/G0yOC434Jr2ojwafWJMYqFGFa5ms4jJUgujdA==}
139 | dependencies:
140 | '@octokit/types': 6.34.0
141 | is-plain-object: 5.0.0
142 | universal-user-agent: 6.0.0
143 | dev: false
144 |
145 | /@octokit/graphql/4.8.0:
146 | resolution: {integrity: sha512-0gv+qLSBLKF0z8TKaSKTsS39scVKF9dbMxJpj3U0vC7wjNWFuIpL/z76Qe2fiuCbDRcJSavkXsVtMS6/dtQQsg==}
147 | dependencies:
148 | '@octokit/request': 5.6.3
149 | '@octokit/types': 6.34.0
150 | universal-user-agent: 6.0.0
151 | transitivePeerDependencies:
152 | - encoding
153 | dev: false
154 |
155 | /@octokit/openapi-types/11.2.0:
156 | resolution: {integrity: sha512-PBsVO+15KSlGmiI8QAzaqvsNlZlrDlyAJYcrXBCvVUxCp7VnXjkwPoFHgjEJXx3WF9BAwkA6nfCUA7i9sODzKA==}
157 | dev: false
158 |
159 | /@octokit/plugin-paginate-rest/2.17.0_@octokit+core@3.6.0:
160 | resolution: {integrity: sha512-tzMbrbnam2Mt4AhuyCHvpRkS0oZ5MvwwcQPYGtMv4tUa5kkzG58SVB0fcsLulOZQeRnOgdkZWkRUiyBlh0Bkyw==}
161 | peerDependencies:
162 | '@octokit/core': '>=2'
163 | dependencies:
164 | '@octokit/core': 3.6.0
165 | '@octokit/types': 6.34.0
166 | dev: false
167 |
168 | /@octokit/plugin-request-log/1.0.4_@octokit+core@3.6.0:
169 | resolution: {integrity: sha512-mLUsMkgP7K/cnFEw07kWqXGF5LKrOkD+lhCrKvPHXWDywAwuDUeDwWBpc69XK3pNX0uKiVt8g5z96PJ6z9xCFA==}
170 | peerDependencies:
171 | '@octokit/core': '>=3'
172 | dependencies:
173 | '@octokit/core': 3.6.0
174 | dev: false
175 |
176 | /@octokit/plugin-rest-endpoint-methods/5.13.0_@octokit+core@3.6.0:
177 | resolution: {integrity: sha512-uJjMTkN1KaOIgNtUPMtIXDOjx6dGYysdIFhgA52x4xSadQCz3b/zJexvITDVpANnfKPW/+E0xkOvLntqMYpviA==}
178 | peerDependencies:
179 | '@octokit/core': '>=3'
180 | dependencies:
181 | '@octokit/core': 3.6.0
182 | '@octokit/types': 6.34.0
183 | deprecation: 2.3.1
184 | dev: false
185 |
186 | /@octokit/request-error/2.1.0:
187 | resolution: {integrity: sha512-1VIvgXxs9WHSjicsRwq8PlR2LR2x6DwsJAaFgzdi0JfJoGSO8mYI/cHJQ+9FbN21aa+DrgNLnwObmyeSC8Rmpg==}
188 | dependencies:
189 | '@octokit/types': 6.34.0
190 | deprecation: 2.3.1
191 | once: 1.4.0
192 | dev: false
193 |
194 | /@octokit/request/5.6.3:
195 | resolution: {integrity: sha512-bFJl0I1KVc9jYTe9tdGGpAMPy32dLBXXo1dS/YwSCTL/2nd9XeHsY616RE3HPXDVk+a+dBuzyz5YdlXwcDTr2A==}
196 | dependencies:
197 | '@octokit/endpoint': 6.0.12
198 | '@octokit/request-error': 2.1.0
199 | '@octokit/types': 6.34.0
200 | is-plain-object: 5.0.0
201 | node-fetch: 2.6.7
202 | universal-user-agent: 6.0.0
203 | transitivePeerDependencies:
204 | - encoding
205 | dev: false
206 |
207 | /@octokit/rest/18.12.0:
208 | resolution: {integrity: sha512-gDPiOHlyGavxr72y0guQEhLsemgVjwRePayJ+FcKc2SJqKUbxbkvf5kAZEWA/MKvsfYlQAMVzNJE3ezQcxMJ2Q==}
209 | dependencies:
210 | '@octokit/core': 3.6.0
211 | '@octokit/plugin-paginate-rest': 2.17.0_@octokit+core@3.6.0
212 | '@octokit/plugin-request-log': 1.0.4_@octokit+core@3.6.0
213 | '@octokit/plugin-rest-endpoint-methods': 5.13.0_@octokit+core@3.6.0
214 | transitivePeerDependencies:
215 | - encoding
216 | dev: false
217 |
218 | /@octokit/types/6.34.0:
219 | resolution: {integrity: sha512-s1zLBjWhdEI2zwaoSgyOFoKSl109CUcVBCc7biPJ3aAf6LGLU6szDvi31JPU7bxfla2lqfhjbbg/5DdFNxOwHw==}
220 | dependencies:
221 | '@octokit/openapi-types': 11.2.0
222 | dev: false
223 |
224 | /@rollup/pluginutils/4.2.1:
225 | resolution: {integrity: sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==}
226 | engines: {node: '>= 8.0.0'}
227 | dependencies:
228 | estree-walker: 2.0.2
229 | picomatch: 2.3.1
230 | dev: true
231 |
232 | /@sxzz/popperjs-es/2.11.7:
233 | resolution: {integrity: sha512-Ccy0NlLkzr0Ex2FKvh2X+OyERHXJ88XJ1MXtsI9y9fGexlaXaVTPzBCRBwIxFkORuOb+uBqeu+RqnpgYTEZRUQ==}
234 | dev: false
235 |
236 | /@types/codemirror/5.60.5:
237 | resolution: {integrity: sha512-TiECZmm8St5YxjFUp64LK0c8WU5bxMDt9YaAek1UqUb9swrSCoJhh92fWu1p3mTEqlHjhB5sY7OFBhWroJXZVg==}
238 | dependencies:
239 | '@types/tern': 0.23.4
240 | dev: true
241 |
242 | /@types/estree/0.0.51:
243 | resolution: {integrity: sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==}
244 | dev: true
245 |
246 | /@types/lodash-es/4.17.6:
247 | resolution: {integrity: sha512-R+zTeVUKDdfoRxpAryaQNRKk3105Rrgx2CFRClIgRGaqDTdjsm8h6IYA8ir584W3ePzkZfst5xIgDwYrlh9HLg==}
248 | dependencies:
249 | '@types/lodash': 4.14.182
250 | dev: false
251 |
252 | /@types/lodash/4.14.182:
253 | resolution: {integrity: sha512-/THyiqyQAP9AfARo4pF+aCGcyiQ94tX/Is2I7HofNRqoYLgN1PBoOWu2/zTA5zMxzP5EFutMtWtGAFRKUe961Q==}
254 | dev: false
255 |
256 | /@types/node/17.0.35:
257 | resolution: {integrity: sha512-vu1SrqBjbbZ3J6vwY17jBs8Sr/BKA+/a/WtjRG+whKg1iuLFOosq872EXS0eXWILdO36DHQQeku/ZcL6hz2fpg==}
258 | dev: true
259 |
260 | /@types/tern/0.23.4:
261 | resolution: {integrity: sha512-JAUw1iXGO1qaWwEOzxTKJZ/5JxVeON9kvGZ/osgZaJImBnyjyn0cjovPsf6FNLmyGY8Vw9DoXZCMlfMkMwHRWg==}
262 | dependencies:
263 | '@types/estree': 0.0.51
264 | dev: true
265 |
266 | /@vitejs/plugin-vue/2.3.3_vite@2.9.9+vue@3.2.36:
267 | resolution: {integrity: sha512-SmQLDyhz+6lGJhPELsBdzXGc+AcaT8stgkbiTFGpXPe8Tl1tJaBw1A6pxDqDuRsVkD8uscrkx3hA7QDOoKYtyw==}
268 | engines: {node: '>=12.0.0'}
269 | peerDependencies:
270 | vite: ^2.5.10
271 | vue: ^3.2.25
272 | dependencies:
273 | vite: 2.9.9
274 | vue: 3.2.36
275 | dev: true
276 |
277 | /@volar/code-gen/0.34.16:
278 | resolution: {integrity: sha512-ep5us1iF66WlwzCFjTHMIdULIHzu6661228NknkSBGEAh878GPO+AgUqyQn9tY+al0KrsLuDRQVt6pwmeLoqwQ==}
279 | dependencies:
280 | '@volar/source-map': 0.34.16
281 | dev: true
282 |
283 | /@volar/source-map/0.34.16:
284 | resolution: {integrity: sha512-50F1XWcVRzKVXqwO7J39hZ4qd/htzHj62dsywz7FfhZZSOaQ43XT3uEy7cBAVgw7gs+qChFaUJAhM1iHb0FyOQ==}
285 | dev: true
286 |
287 | /@volar/vue-code-gen/0.34.16:
288 | resolution: {integrity: sha512-R8OGn26pCQsctXLa6mZi3BIkyXemcrhibTRGrVh1z2TqWMtnCIT/NiAYXR7kAH4UzFEpglOJAIxrjwnodJ7x6w==}
289 | dependencies:
290 | '@volar/code-gen': 0.34.16
291 | '@volar/source-map': 0.34.16
292 | '@vue/compiler-core': 3.2.36
293 | '@vue/compiler-dom': 3.2.36
294 | '@vue/shared': 3.2.36
295 | dev: true
296 |
297 | /@volar/vue-typescript/0.34.16:
298 | resolution: {integrity: sha512-Jmo19pKRJAIhbAmr/1974knqKws9FZlnYWuCDvvg9wimKHTFosjDhDysORIMVHZ97og/0idK70iIKbcsyDadvw==}
299 | dependencies:
300 | '@volar/code-gen': 0.34.16
301 | '@volar/source-map': 0.34.16
302 | '@volar/vue-code-gen': 0.34.16
303 | '@vue/compiler-sfc': 3.2.36
304 | '@vue/reactivity': 3.2.33
305 | dev: true
306 |
307 | /@vue/compiler-core/3.2.36:
308 | resolution: {integrity: sha512-bbyZM5hvBicv0PW3KUfVi+x3ylHnfKG7DOn5wM+f2OztTzTjLEyBb/5yrarIYpmnGitVGbjZqDbODyW4iK8hqw==}
309 | dependencies:
310 | '@babel/parser': 7.17.3
311 | '@vue/shared': 3.2.36
312 | estree-walker: 2.0.2
313 | source-map: 0.6.1
314 |
315 | /@vue/compiler-dom/3.2.36:
316 | resolution: {integrity: sha512-tcOTAOiW4s24QLnq+ON6J+GRONXJ+A/mqKCORi0LSlIh8XQlNnlm24y8xIL8la+ZDgkdbjarQ9ZqYSvEja6gVA==}
317 | dependencies:
318 | '@vue/compiler-core': 3.2.36
319 | '@vue/shared': 3.2.36
320 |
321 | /@vue/compiler-sfc/3.2.36:
322 | resolution: {integrity: sha512-AvGb4bTj4W8uQ4BqaSxo7UwTEqX5utdRSMyHy58OragWlt8nEACQ9mIeQh3K4di4/SX+41+pJrLIY01lHAOFOA==}
323 | dependencies:
324 | '@babel/parser': 7.17.3
325 | '@vue/compiler-core': 3.2.36
326 | '@vue/compiler-dom': 3.2.36
327 | '@vue/compiler-ssr': 3.2.36
328 | '@vue/reactivity-transform': 3.2.36
329 | '@vue/shared': 3.2.36
330 | estree-walker: 2.0.2
331 | magic-string: 0.25.7
332 | postcss: 8.4.14
333 | source-map: 0.6.1
334 |
335 | /@vue/compiler-ssr/3.2.36:
336 | resolution: {integrity: sha512-+KugInUFRvOxEdLkZwE+W43BqHyhBh0jpYXhmqw1xGq2dmE6J9eZ8UUSOKNhdHtQ/iNLWWeK/wPZkVLUf3YGaw==}
337 | dependencies:
338 | '@vue/compiler-dom': 3.2.36
339 | '@vue/shared': 3.2.36
340 |
341 | /@vue/devtools-api/6.1.4:
342 | resolution: {integrity: sha512-IiA0SvDrJEgXvVxjNkHPFfDx6SXw0b/TUkqMcDZWNg9fnCAHbTpoo59YfJ9QLFkwa3raau5vSlRVzMSLDnfdtQ==}
343 | dev: false
344 |
345 | /@vue/reactivity-transform/3.2.36:
346 | resolution: {integrity: sha512-Jk5o2BhpODC9XTA7o4EL8hSJ4JyrFWErLtClG3NH8wDS7ri9jBDWxI7/549T7JY9uilKsaNM+4pJASLj5dtRwA==}
347 | dependencies:
348 | '@babel/parser': 7.17.3
349 | '@vue/compiler-core': 3.2.36
350 | '@vue/shared': 3.2.36
351 | estree-walker: 2.0.2
352 | magic-string: 0.25.7
353 |
354 | /@vue/reactivity/3.2.33:
355 | resolution: {integrity: sha512-62Sq0mp9/0bLmDuxuLD5CIaMG2susFAGARLuZ/5jkU1FCf9EDbwUuF+BO8Ub3Rbodx0ziIecM/NsmyjardBxfQ==}
356 | dependencies:
357 | '@vue/shared': 3.2.33
358 | dev: true
359 |
360 | /@vue/reactivity/3.2.36:
361 | resolution: {integrity: sha512-c2qvopo0crh9A4GXi2/2kfGYMxsJW4tVILrqRPydVGZHhq0fnzy6qmclWOhBFckEhmyxmpHpdJtIRYGeKcuhnA==}
362 | dependencies:
363 | '@vue/shared': 3.2.36
364 | dev: false
365 |
366 | /@vue/runtime-core/3.2.36:
367 | resolution: {integrity: sha512-PTWBD+Lub+1U3/KhbCExrfxyS14hstLX+cBboxVHaz+kXoiDLNDEYAovPtxeTutbqtClIXtft+wcGdC+FUQ9qQ==}
368 | dependencies:
369 | '@vue/reactivity': 3.2.36
370 | '@vue/shared': 3.2.36
371 | dev: false
372 |
373 | /@vue/runtime-dom/3.2.36:
374 | resolution: {integrity: sha512-gYPYblm7QXHVuBohqNRRT7Wez0f2Mx2D40rb4fleehrJU9CnkjG0phhcGEZFfGwCmHZRqBCRgbFWE98bPULqkg==}
375 | dependencies:
376 | '@vue/runtime-core': 3.2.36
377 | '@vue/shared': 3.2.36
378 | csstype: 2.6.19
379 | dev: false
380 |
381 | /@vue/server-renderer/3.2.36_vue@3.2.36:
382 | resolution: {integrity: sha512-uZE0+jfye6yYXWvAQYeHZv+f50sRryvy16uiqzk3jn8hEY8zTjI+rzlmZSGoE915k+W/Ol9XSw6vxOUD8dGkUg==}
383 | peerDependencies:
384 | vue: 3.2.36
385 | dependencies:
386 | '@vue/compiler-ssr': 3.2.36
387 | '@vue/shared': 3.2.36
388 | vue: 3.2.36
389 | dev: false
390 |
391 | /@vue/shared/3.2.33:
392 | resolution: {integrity: sha512-UBc1Pg1T3yZ97vsA2ueER0F6GbJebLHYlEi4ou1H5YL4KWvMOOWwpYo9/QpWq93wxKG6Wo13IY74Hcn/f7c7Bg==}
393 | dev: true
394 |
395 | /@vue/shared/3.2.36:
396 | resolution: {integrity: sha512-JtB41wXl7Au3+Nl3gD16Cfpj7k/6aCroZ6BbOiCMFCMvrOpkg/qQUXTso2XowaNqBbnkuGHurLAqkLBxNGc1hQ==}
397 |
398 | /@vueuse/core/8.5.0_vue@3.2.36:
399 | resolution: {integrity: sha512-VEJ6sGNsPlUp0o9BGda2YISvDZbhWJSOJu5zlp2TufRGVrLcYUKr31jyFEOj6RXzG3k/H4aCYeZyjpItfU8glw==}
400 | peerDependencies:
401 | '@vue/composition-api': ^1.1.0
402 | vue: ^2.6.0 || ^3.2.0
403 | peerDependenciesMeta:
404 | '@vue/composition-api':
405 | optional: true
406 | vue:
407 | optional: true
408 | dependencies:
409 | '@vueuse/metadata': 8.5.0
410 | '@vueuse/shared': 8.5.0_vue@3.2.36
411 | vue: 3.2.36
412 | vue-demi: 0.12.5_vue@3.2.36
413 | dev: false
414 |
415 | /@vueuse/metadata/8.5.0:
416 | resolution: {integrity: sha512-WxsD+Cd+bn+HcjpY6Dl9FJ8ywTRTT9pTwk3bCQpzEhXVYAyNczKDSahk50fCfIJKeWHhyI4B2+/ZEOxQAkUr0g==}
417 | dev: false
418 |
419 | /@vueuse/shared/8.5.0_vue@3.2.36:
420 | resolution: {integrity: sha512-qKG+SZb44VvGD4dU5cQ63z4JE2Yk39hQUecR0a9sEdJA01cx+XrxAvFKJfPooxwoiqalAVw/ktWK6xbyc/jS3g==}
421 | peerDependencies:
422 | '@vue/composition-api': ^1.1.0
423 | vue: ^2.6.0 || ^3.2.0
424 | peerDependenciesMeta:
425 | '@vue/composition-api':
426 | optional: true
427 | vue:
428 | optional: true
429 | dependencies:
430 | vue: 3.2.36
431 | vue-demi: 0.12.5_vue@3.2.36
432 | dev: false
433 |
434 | /acorn-node/1.8.2:
435 | resolution: {integrity: sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==}
436 | dependencies:
437 | acorn: 7.4.1
438 | acorn-walk: 7.2.0
439 | xtend: 4.0.2
440 | dev: true
441 |
442 | /acorn-walk/7.2.0:
443 | resolution: {integrity: sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==}
444 | engines: {node: '>=0.4.0'}
445 | dev: true
446 |
447 | /acorn/7.4.1:
448 | resolution: {integrity: sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==}
449 | engines: {node: '>=0.4.0'}
450 | hasBin: true
451 | dev: true
452 |
453 | /anymatch/3.1.2:
454 | resolution: {integrity: sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==}
455 | engines: {node: '>= 8'}
456 | dependencies:
457 | normalize-path: 3.0.0
458 | picomatch: 2.3.1
459 | dev: true
460 |
461 | /arg/5.0.1:
462 | resolution: {integrity: sha512-e0hDa9H2Z9AwFkk2qDlwhoMYE4eToKarchkQHovNdLTCYMHZHeRjI71crOh+dio4K6u1IcwubQqo79Ga4CyAQA==}
463 | dev: true
464 |
465 | /async-validator/4.1.1:
466 | resolution: {integrity: sha512-p4DO/JXwjs8klJyJL8Q2oM4ks5fUTze/h5k10oPPKMiLe1fj3G1QMzPHNmN1Py4ycOk7WlO2DcGXv1qiESJCZA==}
467 | dev: false
468 |
469 | /autoprefixer/10.4.7_postcss@8.4.14:
470 | resolution: {integrity: sha512-ypHju4Y2Oav95SipEcCcI5J7CGPuvz8oat7sUtYj3ClK44bldfvtvcxK6IEK++7rqB7YchDGzweZIBG+SD0ZAA==}
471 | engines: {node: ^10 || ^12 || >=14}
472 | hasBin: true
473 | peerDependencies:
474 | postcss: ^8.1.0
475 | dependencies:
476 | browserslist: 4.20.3
477 | caniuse-lite: 1.0.30001341
478 | fraction.js: 4.2.0
479 | normalize-range: 0.1.2
480 | picocolors: 1.0.0
481 | postcss: 8.4.14
482 | postcss-value-parser: 4.2.0
483 | dev: true
484 |
485 | /balanced-match/1.0.2:
486 | resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
487 | dev: true
488 |
489 | /before-after-hook/2.2.2:
490 | resolution: {integrity: sha512-3pZEU3NT5BFUo/AD5ERPWOgQOCZITni6iavr5AUw5AUwQjMlI0kzu5btnyD39AF0gUEsDPwJT+oY1ORBJijPjQ==}
491 | dev: false
492 |
493 | /binary-extensions/2.2.0:
494 | resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==}
495 | engines: {node: '>=8'}
496 | dev: true
497 |
498 | /brace-expansion/2.0.1:
499 | resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==}
500 | dependencies:
501 | balanced-match: 1.0.2
502 | dev: true
503 |
504 | /braces/3.0.2:
505 | resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==}
506 | engines: {node: '>=8'}
507 | dependencies:
508 | fill-range: 7.0.1
509 | dev: true
510 |
511 | /browserslist/4.20.3:
512 | resolution: {integrity: sha512-NBhymBQl1zM0Y5dQT/O+xiLP9/rzOIQdKM/eMJBAq7yBgaB6krIYLGejrwVYnSHZdqjscB1SPuAjHwxjvN6Wdg==}
513 | engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
514 | hasBin: true
515 | dependencies:
516 | caniuse-lite: 1.0.30001341
517 | electron-to-chromium: 1.4.137
518 | escalade: 3.1.1
519 | node-releases: 2.0.4
520 | picocolors: 1.0.0
521 | dev: true
522 |
523 | /camelcase-css/2.0.1:
524 | resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==}
525 | engines: {node: '>= 6'}
526 | dev: true
527 |
528 | /caniuse-lite/1.0.30001341:
529 | resolution: {integrity: sha512-2SodVrFFtvGENGCv0ChVJIDQ0KPaS1cg7/qtfMaICgeMolDdo/Z2OD32F0Aq9yl6F4YFwGPBS5AaPqNYiW4PoA==}
530 | dev: true
531 |
532 | /chokidar/3.5.3:
533 | resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==}
534 | engines: {node: '>= 8.10.0'}
535 | dependencies:
536 | anymatch: 3.1.2
537 | braces: 3.0.2
538 | glob-parent: 5.1.2
539 | is-binary-path: 2.1.0
540 | is-glob: 4.0.3
541 | normalize-path: 3.0.0
542 | readdirp: 3.6.0
543 | optionalDependencies:
544 | fsevents: 2.3.2
545 | dev: true
546 |
547 | /codemirror/5.65.4:
548 | resolution: {integrity: sha512-tytrSm5Rh52b6j36cbDXN+FHwHCl9aroY4BrDZB2NFFL3Wjfq9nuYVLFFhaOYOczKAg3JXTr8BuT8LcE5QY4Iw==}
549 | dev: false
550 |
551 | /color-name/1.1.4:
552 | resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
553 | dev: true
554 |
555 | /cssesc/3.0.0:
556 | resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==}
557 | engines: {node: '>=4'}
558 | hasBin: true
559 | dev: true
560 |
561 | /csstype/2.6.19:
562 | resolution: {integrity: sha512-ZVxXaNy28/k3kJg0Fou5MiYpp88j7H9hLZp8PDC3jV0WFjfH5E9xHb56L0W59cPbKbcHXeP4qyT8PrHp8t6LcQ==}
563 | dev: false
564 |
565 | /csstype/3.0.8:
566 | resolution: {integrity: sha512-jXKhWqXPmlUeoQnF/EhTtTl4C9SnrxSH/jZUih3jmO6lBKr99rP3/+FmrMj4EFpOXzMtXHAZkd3x0E6h6Fgflw==}
567 | dev: false
568 |
569 | /dayjs/1.11.2:
570 | resolution: {integrity: sha512-F4LXf1OeU9hrSYRPTTj/6FbO4HTjPKXvEIC1P2kcnFurViINCVk3ZV0xAS3XVx9MkMsXbbqlK6hjseaYbgKEHw==}
571 | dev: false
572 |
573 | /debug/4.3.1:
574 | resolution: {integrity: sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==}
575 | engines: {node: '>=6.0'}
576 | peerDependencies:
577 | supports-color: '*'
578 | peerDependenciesMeta:
579 | supports-color:
580 | optional: true
581 | dependencies:
582 | ms: 2.1.2
583 | dev: false
584 |
585 | /debug/4.3.4:
586 | resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==}
587 | engines: {node: '>=6.0'}
588 | peerDependencies:
589 | supports-color: '*'
590 | peerDependenciesMeta:
591 | supports-color:
592 | optional: true
593 | dependencies:
594 | ms: 2.1.2
595 | dev: true
596 |
597 | /defined/1.0.0:
598 | resolution: {integrity: sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=}
599 | dev: true
600 |
601 | /deprecation/2.3.1:
602 | resolution: {integrity: sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==}
603 | dev: false
604 |
605 | /detective/5.2.0:
606 | resolution: {integrity: sha512-6SsIx+nUUbuK0EthKjv0zrdnajCCXVYGmbYYiYjFVpzcjwEs/JMDZ8tPRG29J/HhN56t3GJp2cGSWDRjjot8Pg==}
607 | engines: {node: '>=0.8.0'}
608 | hasBin: true
609 | dependencies:
610 | acorn-node: 1.8.2
611 | defined: 1.0.0
612 | minimist: 1.2.5
613 | dev: true
614 |
615 | /didyoumean/1.2.2:
616 | resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==}
617 | dev: true
618 |
619 | /dlv/1.1.3:
620 | resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==}
621 | dev: true
622 |
623 | /dompurify/2.3.1:
624 | resolution: {integrity: sha512-xGWt+NHAQS+4tpgbOAI08yxW0Pr256Gu/FNE2frZVTbgrBUn8M7tz7/ktS/LZ2MHeGqz6topj0/xY+y8R5FBFw==}
625 | dev: false
626 |
627 | /dot-case/3.0.4:
628 | resolution: {integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==}
629 | dependencies:
630 | no-case: 3.0.4
631 | tslib: 2.3.1
632 | dev: false
633 |
634 | /electron-to-chromium/1.4.137:
635 | resolution: {integrity: sha512-0Rcpald12O11BUogJagX3HsCN3FE83DSqWjgXoHo5a72KUKMSfI39XBgJpgNNxS9fuGzytaFjE06kZkiVFy2qA==}
636 | dev: true
637 |
638 | /element-plus/2.2.2_vue@3.2.36:
639 | resolution: {integrity: sha512-yGcj2Ayb0jZO1WbI51tHJ4efhlfWKlBqqGtWbzhq+tcpfaKzJZN+IHRouuFasqn0ZV3tWCDu1jggDR1+9y7XfQ==}
640 | peerDependencies:
641 | vue: ^3.2.0
642 | dependencies:
643 | '@ctrl/tinycolor': 3.4.1
644 | '@element-plus/icons-vue': 1.1.4_vue@3.2.36
645 | '@floating-ui/dom': 0.5.1
646 | '@popperjs/core': /@sxzz/popperjs-es/2.11.7
647 | '@types/lodash': 4.14.182
648 | '@types/lodash-es': 4.17.6
649 | '@vueuse/core': 8.5.0_vue@3.2.36
650 | async-validator: 4.1.1
651 | dayjs: 1.11.2
652 | escape-html: 1.0.3
653 | lodash: 4.17.21
654 | lodash-es: 4.17.21
655 | lodash-unified: 1.0.2_da03a4540fbd16bbaafbb96724306afd
656 | memoize-one: 6.0.0
657 | normalize-wheel-es: 1.1.2
658 | vue: 3.2.36
659 | transitivePeerDependencies:
660 | - '@vue/composition-api'
661 | dev: false
662 |
663 | /esbuild-android-64/0.14.39:
664 | resolution: {integrity: sha512-EJOu04p9WgZk0UoKTqLId9VnIsotmI/Z98EXrKURGb3LPNunkeffqQIkjS2cAvidh+OK5uVrXaIP229zK6GvhQ==}
665 | engines: {node: '>=12'}
666 | cpu: [x64]
667 | os: [android]
668 | requiresBuild: true
669 | dev: true
670 | optional: true
671 |
672 | /esbuild-android-arm64/0.14.39:
673 | resolution: {integrity: sha512-+twajJqO7n3MrCz9e+2lVOnFplRsaGRwsq1KL/uOy7xK7QdRSprRQcObGDeDZUZsacD5gUkk6OiHiYp6RzU3CA==}
674 | engines: {node: '>=12'}
675 | cpu: [arm64]
676 | os: [android]
677 | requiresBuild: true
678 | dev: true
679 | optional: true
680 |
681 | /esbuild-darwin-64/0.14.39:
682 | resolution: {integrity: sha512-ImT6eUw3kcGcHoUxEcdBpi6LfTRWaV6+qf32iYYAfwOeV+XaQ/Xp5XQIBiijLeo+LpGci9M0FVec09nUw41a5g==}
683 | engines: {node: '>=12'}
684 | cpu: [x64]
685 | os: [darwin]
686 | requiresBuild: true
687 | dev: true
688 | optional: true
689 |
690 | /esbuild-darwin-arm64/0.14.39:
691 | resolution: {integrity: sha512-/fcQ5UhE05OiT+bW5v7/up1bDsnvaRZPJxXwzXsMRrr7rZqPa85vayrD723oWMT64dhrgWeA3FIneF8yER0XTw==}
692 | engines: {node: '>=12'}
693 | cpu: [arm64]
694 | os: [darwin]
695 | requiresBuild: true
696 | dev: true
697 | optional: true
698 |
699 | /esbuild-freebsd-64/0.14.39:
700 | resolution: {integrity: sha512-oMNH8lJI4wtgN5oxuFP7BQ22vgB/e3Tl5Woehcd6i2r6F3TszpCnNl8wo2d/KvyQ4zvLvCWAlRciumhQg88+kQ==}
701 | engines: {node: '>=12'}
702 | cpu: [x64]
703 | os: [freebsd]
704 | requiresBuild: true
705 | dev: true
706 | optional: true
707 |
708 | /esbuild-freebsd-arm64/0.14.39:
709 | resolution: {integrity: sha512-1GHK7kwk57ukY2yI4ILWKJXaxfr+8HcM/r/JKCGCPziIVlL+Wi7RbJ2OzMcTKZ1HpvEqCTBT/J6cO4ZEwW4Ypg==}
710 | engines: {node: '>=12'}
711 | cpu: [arm64]
712 | os: [freebsd]
713 | requiresBuild: true
714 | dev: true
715 | optional: true
716 |
717 | /esbuild-linux-32/0.14.39:
718 | resolution: {integrity: sha512-g97Sbb6g4zfRLIxHgW2pc393DjnkTRMeq3N1rmjDUABxpx8SjocK4jLen+/mq55G46eE2TA0MkJ4R3SpKMu7dg==}
719 | engines: {node: '>=12'}
720 | cpu: [ia32]
721 | os: [linux]
722 | requiresBuild: true
723 | dev: true
724 | optional: true
725 |
726 | /esbuild-linux-64/0.14.39:
727 | resolution: {integrity: sha512-4tcgFDYWdI+UbNMGlua9u1Zhu0N5R6u9tl5WOM8aVnNX143JZoBZLpCuUr5lCKhnD0SCO+5gUyMfupGrHtfggQ==}
728 | engines: {node: '>=12'}
729 | cpu: [x64]
730 | os: [linux]
731 | requiresBuild: true
732 | dev: true
733 | optional: true
734 |
735 | /esbuild-linux-arm/0.14.39:
736 | resolution: {integrity: sha512-t0Hn1kWVx5UpCzAJkKRfHeYOLyFnXwYynIkK54/h3tbMweGI7dj400D1k0Vvtj2u1P+JTRT9tx3AjtLEMmfVBQ==}
737 | engines: {node: '>=12'}
738 | cpu: [arm]
739 | os: [linux]
740 | requiresBuild: true
741 | dev: true
742 | optional: true
743 |
744 | /esbuild-linux-arm64/0.14.39:
745 | resolution: {integrity: sha512-23pc8MlD2D6Px1mV8GMglZlKgwgNKAO8gsgsLLcXWSs9lQsCYkIlMo/2Ycfo5JrDIbLdwgP8D2vpfH2KcBqrDQ==}
746 | engines: {node: '>=12'}
747 | cpu: [arm64]
748 | os: [linux]
749 | requiresBuild: true
750 | dev: true
751 | optional: true
752 |
753 | /esbuild-linux-mips64le/0.14.39:
754 | resolution: {integrity: sha512-epwlYgVdbmkuRr5n4es3B+yDI0I2e/nxhKejT9H0OLxFAlMkeQZxSpxATpDc9m8NqRci6Kwyb/SfmD1koG2Zuw==}
755 | engines: {node: '>=12'}
756 | cpu: [mips64el]
757 | os: [linux]
758 | requiresBuild: true
759 | dev: true
760 | optional: true
761 |
762 | /esbuild-linux-ppc64le/0.14.39:
763 | resolution: {integrity: sha512-W/5ezaq+rQiQBThIjLMNjsuhPHg+ApVAdTz2LvcuesZFMsJoQAW2hutoyg47XxpWi7aEjJGrkS26qCJKhRn3QQ==}
764 | engines: {node: '>=12'}
765 | cpu: [ppc64]
766 | os: [linux]
767 | requiresBuild: true
768 | dev: true
769 | optional: true
770 |
771 | /esbuild-linux-riscv64/0.14.39:
772 | resolution: {integrity: sha512-IS48xeokcCTKeQIOke2O0t9t14HPvwnZcy+5baG13Z1wxs9ZrC5ig5ypEQQh4QMKxURD5TpCLHw2W42CLuVZaA==}
773 | engines: {node: '>=12'}
774 | cpu: [riscv64]
775 | os: [linux]
776 | requiresBuild: true
777 | dev: true
778 | optional: true
779 |
780 | /esbuild-linux-s390x/0.14.39:
781 | resolution: {integrity: sha512-zEfunpqR8sMomqXhNTFEKDs+ik7HC01m3M60MsEjZOqaywHu5e5682fMsqOlZbesEAAaO9aAtRBsU7CHnSZWyA==}
782 | engines: {node: '>=12'}
783 | cpu: [s390x]
784 | os: [linux]
785 | requiresBuild: true
786 | dev: true
787 | optional: true
788 |
789 | /esbuild-netbsd-64/0.14.39:
790 | resolution: {integrity: sha512-Uo2suJBSIlrZCe4E0k75VDIFJWfZy+bOV6ih3T4MVMRJh1lHJ2UyGoaX4bOxomYN3t+IakHPyEoln1+qJ1qYaA==}
791 | engines: {node: '>=12'}
792 | cpu: [x64]
793 | os: [netbsd]
794 | requiresBuild: true
795 | dev: true
796 | optional: true
797 |
798 | /esbuild-openbsd-64/0.14.39:
799 | resolution: {integrity: sha512-secQU+EpgUPpYjJe3OecoeGKVvRMLeKUxSMGHnK+aK5uQM3n1FPXNJzyz1LHFOo0WOyw+uoCxBYdM4O10oaCAA==}
800 | engines: {node: '>=12'}
801 | cpu: [x64]
802 | os: [openbsd]
803 | requiresBuild: true
804 | dev: true
805 | optional: true
806 |
807 | /esbuild-sunos-64/0.14.39:
808 | resolution: {integrity: sha512-qHq0t5gePEDm2nqZLb+35p/qkaXVS7oIe32R0ECh2HOdiXXkj/1uQI9IRogGqKkK+QjDG+DhwiUw7QoHur/Rwg==}
809 | engines: {node: '>=12'}
810 | cpu: [x64]
811 | os: [sunos]
812 | requiresBuild: true
813 | dev: true
814 | optional: true
815 |
816 | /esbuild-windows-32/0.14.39:
817 | resolution: {integrity: sha512-XPjwp2OgtEX0JnOlTgT6E5txbRp6Uw54Isorm3CwOtloJazeIWXuiwK0ONJBVb/CGbiCpS7iP2UahGgd2p1x+Q==}
818 | engines: {node: '>=12'}
819 | cpu: [ia32]
820 | os: [win32]
821 | requiresBuild: true
822 | dev: true
823 | optional: true
824 |
825 | /esbuild-windows-64/0.14.39:
826 | resolution: {integrity: sha512-E2wm+5FwCcLpKsBHRw28bSYQw0Ikxb7zIMxw3OPAkiaQhLVr3dnVO8DofmbWhhf6b97bWzg37iSZ45ZDpLw7Ow==}
827 | engines: {node: '>=12'}
828 | cpu: [x64]
829 | os: [win32]
830 | requiresBuild: true
831 | dev: true
832 | optional: true
833 |
834 | /esbuild-windows-arm64/0.14.39:
835 | resolution: {integrity: sha512-sBZQz5D+Gd0EQ09tZRnz/PpVdLwvp/ufMtJ1iDFYddDaPpZXKqPyaxfYBLs3ueiaksQ26GGa7sci0OqFzNs7KA==}
836 | engines: {node: '>=12'}
837 | cpu: [arm64]
838 | os: [win32]
839 | requiresBuild: true
840 | dev: true
841 | optional: true
842 |
843 | /esbuild/0.14.39:
844 | resolution: {integrity: sha512-2kKujuzvRWYtwvNjYDY444LQIA3TyJhJIX3Yo4+qkFlDDtGlSicWgeHVJqMUP/2sSfH10PGwfsj+O2ro1m10xQ==}
845 | engines: {node: '>=12'}
846 | hasBin: true
847 | requiresBuild: true
848 | optionalDependencies:
849 | esbuild-android-64: 0.14.39
850 | esbuild-android-arm64: 0.14.39
851 | esbuild-darwin-64: 0.14.39
852 | esbuild-darwin-arm64: 0.14.39
853 | esbuild-freebsd-64: 0.14.39
854 | esbuild-freebsd-arm64: 0.14.39
855 | esbuild-linux-32: 0.14.39
856 | esbuild-linux-64: 0.14.39
857 | esbuild-linux-arm: 0.14.39
858 | esbuild-linux-arm64: 0.14.39
859 | esbuild-linux-mips64le: 0.14.39
860 | esbuild-linux-ppc64le: 0.14.39
861 | esbuild-linux-riscv64: 0.14.39
862 | esbuild-linux-s390x: 0.14.39
863 | esbuild-netbsd-64: 0.14.39
864 | esbuild-openbsd-64: 0.14.39
865 | esbuild-sunos-64: 0.14.39
866 | esbuild-windows-32: 0.14.39
867 | esbuild-windows-64: 0.14.39
868 | esbuild-windows-arm64: 0.14.39
869 | dev: true
870 |
871 | /escalade/3.1.1:
872 | resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==}
873 | engines: {node: '>=6'}
874 | dev: true
875 |
876 | /escape-html/1.0.3:
877 | resolution: {integrity: sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=}
878 | dev: false
879 |
880 | /escape-string-regexp/5.0.0:
881 | resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==}
882 | engines: {node: '>=12'}
883 | dev: true
884 |
885 | /estree-walker/2.0.2:
886 | resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==}
887 |
888 | /eventemitter3/4.0.7:
889 | resolution: {integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==}
890 | dev: false
891 |
892 | /fast-deep-equal/3.1.3:
893 | resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==}
894 | dev: false
895 |
896 | /fast-glob/3.2.11:
897 | resolution: {integrity: sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==}
898 | engines: {node: '>=8.6.0'}
899 | dependencies:
900 | '@nodelib/fs.stat': 2.0.5
901 | '@nodelib/fs.walk': 1.2.8
902 | glob-parent: 5.1.2
903 | merge2: 1.4.1
904 | micromatch: 4.0.4
905 | dev: true
906 |
907 | /fastq/1.13.0:
908 | resolution: {integrity: sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==}
909 | dependencies:
910 | reusify: 1.0.4
911 | dev: true
912 |
913 | /fill-range/7.0.1:
914 | resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==}
915 | engines: {node: '>=8'}
916 | dependencies:
917 | to-regex-range: 5.0.1
918 | dev: true
919 |
920 | /fraction.js/4.2.0:
921 | resolution: {integrity: sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==}
922 | dev: true
923 |
924 | /fsevents/2.3.2:
925 | resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==}
926 | engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
927 | os: [darwin]
928 | requiresBuild: true
929 | dev: true
930 | optional: true
931 |
932 | /function-bind/1.1.1:
933 | resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==}
934 | dev: true
935 |
936 | /glob-parent/5.1.2:
937 | resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==}
938 | engines: {node: '>= 6'}
939 | dependencies:
940 | is-glob: 4.0.3
941 | dev: true
942 |
943 | /glob-parent/6.0.2:
944 | resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==}
945 | engines: {node: '>=10.13.0'}
946 | dependencies:
947 | is-glob: 4.0.3
948 | dev: true
949 |
950 | /has/1.0.3:
951 | resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==}
952 | engines: {node: '>= 0.4.0'}
953 | dependencies:
954 | function-bind: 1.1.1
955 | dev: true
956 |
957 | /inherits/2.0.3:
958 | resolution: {integrity: sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=}
959 | dev: false
960 |
961 | /is-binary-path/2.1.0:
962 | resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==}
963 | engines: {node: '>=8'}
964 | dependencies:
965 | binary-extensions: 2.2.0
966 | dev: true
967 |
968 | /is-core-module/2.8.1:
969 | resolution: {integrity: sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA==}
970 | dependencies:
971 | has: 1.0.3
972 | dev: true
973 |
974 | /is-extglob/2.1.1:
975 | resolution: {integrity: sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=}
976 | engines: {node: '>=0.10.0'}
977 | dev: true
978 |
979 | /is-glob/4.0.3:
980 | resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
981 | engines: {node: '>=0.10.0'}
982 | dependencies:
983 | is-extglob: 2.1.1
984 | dev: true
985 |
986 | /is-number/7.0.0:
987 | resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
988 | engines: {node: '>=0.12.0'}
989 | dev: true
990 |
991 | /is-plain-object/5.0.0:
992 | resolution: {integrity: sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==}
993 | engines: {node: '>=0.10.0'}
994 | dev: false
995 |
996 | /jsonc-parser/3.0.0:
997 | resolution: {integrity: sha512-fQzRfAbIBnR0IQvftw9FJveWiHp72Fg20giDrHz6TdfB12UH/uue0D3hm57UB5KgAVuniLMCaS8P1IMj9NR7cA==}
998 | dev: true
999 |
1000 | /lilconfig/2.0.5:
1001 | resolution: {integrity: sha512-xaYmXZtTHPAw5m+xLN8ab9C+3a8YmV3asNSPOATITbtwrfbwaLJj8h66H1WMIpALCkqsIzK3h7oQ+PdX+LQ9Eg==}
1002 | engines: {node: '>=10'}
1003 | dev: true
1004 |
1005 | /local-pkg/0.4.1:
1006 | resolution: {integrity: sha512-lL87ytIGP2FU5PWwNDo0w3WhIo2gopIAxPg9RxDYF7m4rr5ahuZxP22xnJHIvaLTe4Z9P6uKKY2UHiwyB4pcrw==}
1007 | engines: {node: '>=14'}
1008 | dev: true
1009 |
1010 | /lodash-es/4.17.21:
1011 | resolution: {integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==}
1012 | dev: false
1013 |
1014 | /lodash-unified/1.0.2_da03a4540fbd16bbaafbb96724306afd:
1015 | resolution: {integrity: sha512-OGbEy+1P+UT26CYi4opY4gebD8cWRDxAT6MAObIVQMiqYdxZr1g3QHWCToVsm31x2NkLS4K3+MC2qInaRMa39g==}
1016 | peerDependencies:
1017 | '@types/lodash-es': '*'
1018 | lodash: '*'
1019 | lodash-es: '*'
1020 | dependencies:
1021 | '@types/lodash-es': 4.17.6
1022 | lodash: 4.17.21
1023 | lodash-es: 4.17.21
1024 | dev: false
1025 |
1026 | /lodash/4.17.21:
1027 | resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==}
1028 | dev: false
1029 |
1030 | /lower-case/2.0.2:
1031 | resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==}
1032 | dependencies:
1033 | tslib: 2.3.1
1034 | dev: false
1035 |
1036 | /magic-string/0.25.7:
1037 | resolution: {integrity: sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==}
1038 | dependencies:
1039 | sourcemap-codec: 1.4.8
1040 |
1041 | /magic-string/0.26.1:
1042 | resolution: {integrity: sha512-ndThHmvgtieXe8J/VGPjG+Apu7v7ItcD5mhEIvOscWjPF/ccOiLxHaSuCAS2G+3x4GKsAbT8u7zdyamupui8Tg==}
1043 | engines: {node: '>=12'}
1044 | dependencies:
1045 | sourcemap-codec: 1.4.8
1046 | dev: true
1047 |
1048 | /magic-string/0.26.2:
1049 | resolution: {integrity: sha512-NzzlXpclt5zAbmo6h6jNc8zl2gNRGHvmsZW4IvZhTC4W7k4OlLP+S5YLussa/r3ixNT66KOQfNORlXHSOy/X4A==}
1050 | engines: {node: '>=12'}
1051 | dependencies:
1052 | sourcemap-codec: 1.4.8
1053 | dev: true
1054 |
1055 | /memoize-one/6.0.0:
1056 | resolution: {integrity: sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw==}
1057 | dev: false
1058 |
1059 | /merge2/1.4.1:
1060 | resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==}
1061 | engines: {node: '>= 8'}
1062 | dev: true
1063 |
1064 | /micromatch/4.0.4:
1065 | resolution: {integrity: sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==}
1066 | engines: {node: '>=8.6'}
1067 | dependencies:
1068 | braces: 3.0.2
1069 | picomatch: 2.3.1
1070 | dev: true
1071 |
1072 | /minimatch/5.1.0:
1073 | resolution: {integrity: sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==}
1074 | engines: {node: '>=10'}
1075 | dependencies:
1076 | brace-expansion: 2.0.1
1077 | dev: true
1078 |
1079 | /minimist/1.2.5:
1080 | resolution: {integrity: sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==}
1081 | dev: true
1082 |
1083 | /mlly/0.3.19:
1084 | resolution: {integrity: sha512-zMq5n3cOf4fOzA4WoeulxagbAgMChdev3MgP6K51k7M0u2whTXxupfIY4VVzws4vxkiWhwH1rVQcsw7zDGfRhA==}
1085 | dev: true
1086 |
1087 | /mlly/0.5.2:
1088 | resolution: {integrity: sha512-4GTELSSErv6ZZJYU98fZNuIBJcXSz+ktHdRrCYEqU1m6ZlebOCG0jwZ+IEd9vOrbpYsVBBMC5OTrEyLnKRcauQ==}
1089 | dependencies:
1090 | pathe: 0.2.0
1091 | pkg-types: 0.3.2
1092 | dev: true
1093 |
1094 | /ms/2.1.2:
1095 | resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==}
1096 |
1097 | /nanoid/3.3.4:
1098 | resolution: {integrity: sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==}
1099 | engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
1100 | hasBin: true
1101 |
1102 | /no-case/3.0.4:
1103 | resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==}
1104 | dependencies:
1105 | lower-case: 2.0.2
1106 | tslib: 2.3.1
1107 | dev: false
1108 |
1109 | /node-fetch/2.6.7:
1110 | resolution: {integrity: sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==}
1111 | engines: {node: 4.x || >=6.0.0}
1112 | peerDependencies:
1113 | encoding: ^0.1.0
1114 | peerDependenciesMeta:
1115 | encoding:
1116 | optional: true
1117 | dependencies:
1118 | whatwg-url: 5.0.0
1119 | dev: false
1120 |
1121 | /node-releases/2.0.4:
1122 | resolution: {integrity: sha512-gbMzqQtTtDz/00jQzZ21PQzdI9PyLYqUSvD0p3naOhX4odFji0ZxYdnVwPTxmSwkmxhcFImpozceidSG+AgoPQ==}
1123 | dev: true
1124 |
1125 | /normalize-path/3.0.0:
1126 | resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==}
1127 | engines: {node: '>=0.10.0'}
1128 | dev: true
1129 |
1130 | /normalize-range/0.1.2:
1131 | resolution: {integrity: sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=}
1132 | engines: {node: '>=0.10.0'}
1133 | dev: true
1134 |
1135 | /normalize-wheel-es/1.1.2:
1136 | resolution: {integrity: sha512-scX83plWJXYH1J4+BhAuIHadROzxX0UBF3+HuZNY2Ks8BciE7tSTQ+5JhTsvzjaO0/EJdm4JBGrfObKxFf3Png==}
1137 | dev: false
1138 |
1139 | /object-hash/3.0.0:
1140 | resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==}
1141 | engines: {node: '>= 6'}
1142 | dev: true
1143 |
1144 | /once/1.4.0:
1145 | resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
1146 | dependencies:
1147 | wrappy: 1.0.2
1148 | dev: false
1149 |
1150 | /path-parse/1.0.7:
1151 | resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
1152 | dev: true
1153 |
1154 | /path/0.12.7:
1155 | resolution: {integrity: sha1-1NwqUGxM4hl+tIHr/NWzbAFAsQ8=}
1156 | dependencies:
1157 | process: 0.11.10
1158 | util: 0.10.4
1159 | dev: false
1160 |
1161 | /pathe/0.2.0:
1162 | resolution: {integrity: sha512-sTitTPYnn23esFR3RlqYBWn4c45WGeLcsKzQiUpXJAyfcWkolvlYpV8FLo7JishK946oQwMFUCHXQ9AjGPKExw==}
1163 | dev: true
1164 |
1165 | /pathe/0.3.0:
1166 | resolution: {integrity: sha512-3vUjp552BJzCw9vqKsO5sttHkbYqqsZtH0x1PNtItgqx8BXEXzoY1SYRKcL6BTyVh4lGJGLj0tM42elUDMvcYA==}
1167 | dev: true
1168 |
1169 | /picocolors/1.0.0:
1170 | resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==}
1171 |
1172 | /picomatch/2.3.1:
1173 | resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
1174 | engines: {node: '>=8.6'}
1175 | dev: true
1176 |
1177 | /pinia/2.0.14_typescript@4.7.2+vue@3.2.36:
1178 | resolution: {integrity: sha512-0nPuZR4TetT/WcLN+feMSjWJku3SQU7dBbXC6uw+R6FLQJCsg+/0pzXyD82T1FmAYe0lsx+jnEDQ1BLgkRKlxA==}
1179 | peerDependencies:
1180 | '@vue/composition-api': ^1.4.0
1181 | typescript: '>=4.4.4'
1182 | vue: ^2.6.14 || ^3.2.0
1183 | peerDependenciesMeta:
1184 | '@vue/composition-api':
1185 | optional: true
1186 | typescript:
1187 | optional: true
1188 | dependencies:
1189 | '@vue/devtools-api': 6.1.4
1190 | typescript: 4.7.2
1191 | vue: 3.2.36
1192 | vue-demi: 0.12.5_vue@3.2.36
1193 | dev: false
1194 |
1195 | /pkg-types/0.3.2:
1196 | resolution: {integrity: sha512-eBYzX/7NYsQEOR2alWY4rnQB49G62oHzFpoi9Som56aUr8vB8UGcmcIia9v8fpBeuhH3Ltentuk2OGpp4IQV3Q==}
1197 | dependencies:
1198 | jsonc-parser: 3.0.0
1199 | mlly: 0.3.19
1200 | pathe: 0.2.0
1201 | dev: true
1202 |
1203 | /postcss-js/4.0.0_postcss@8.4.14:
1204 | resolution: {integrity: sha512-77QESFBwgX4irogGVPgQ5s07vLvFqWr228qZY+w6lW599cRlK/HmnlivnnVUxkjHnCu4J16PDMHcH+e+2HbvTQ==}
1205 | engines: {node: ^12 || ^14 || >= 16}
1206 | peerDependencies:
1207 | postcss: ^8.3.3
1208 | dependencies:
1209 | camelcase-css: 2.0.1
1210 | postcss: 8.4.14
1211 | dev: true
1212 |
1213 | /postcss-load-config/3.1.4_postcss@8.4.14:
1214 | resolution: {integrity: sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==}
1215 | engines: {node: '>= 10'}
1216 | peerDependencies:
1217 | postcss: '>=8.0.9'
1218 | ts-node: '>=9.0.0'
1219 | peerDependenciesMeta:
1220 | postcss:
1221 | optional: true
1222 | ts-node:
1223 | optional: true
1224 | dependencies:
1225 | lilconfig: 2.0.5
1226 | postcss: 8.4.14
1227 | yaml: 1.10.2
1228 | dev: true
1229 |
1230 | /postcss-nested/5.0.6_postcss@8.4.14:
1231 | resolution: {integrity: sha512-rKqm2Fk0KbA8Vt3AdGN0FB9OBOMDVajMG6ZCf/GoHgdxUJ4sBFp0A/uMIRm+MJUdo33YXEtjqIz8u7DAp8B7DA==}
1232 | engines: {node: '>=12.0'}
1233 | peerDependencies:
1234 | postcss: ^8.2.14
1235 | dependencies:
1236 | postcss: 8.4.14
1237 | postcss-selector-parser: 6.0.10
1238 | dev: true
1239 |
1240 | /postcss-selector-parser/6.0.10:
1241 | resolution: {integrity: sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==}
1242 | engines: {node: '>=4'}
1243 | dependencies:
1244 | cssesc: 3.0.0
1245 | util-deprecate: 1.0.2
1246 | dev: true
1247 |
1248 | /postcss-value-parser/4.2.0:
1249 | resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==}
1250 | dev: true
1251 |
1252 | /postcss/8.4.14:
1253 | resolution: {integrity: sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==}
1254 | engines: {node: ^10 || ^12 || >=14}
1255 | dependencies:
1256 | nanoid: 3.3.4
1257 | picocolors: 1.0.0
1258 | source-map-js: 1.0.2
1259 |
1260 | /process/0.11.10:
1261 | resolution: {integrity: sha1-czIwDoQBYb2j5podHZGn1LwW8YI=}
1262 | engines: {node: '>= 0.6.0'}
1263 | dev: false
1264 |
1265 | /queue-microtask/1.2.3:
1266 | resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
1267 | dev: true
1268 |
1269 | /quick-lru/5.1.1:
1270 | resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==}
1271 | engines: {node: '>=10'}
1272 | dev: true
1273 |
1274 | /readdirp/3.6.0:
1275 | resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==}
1276 | engines: {node: '>=8.10.0'}
1277 | dependencies:
1278 | picomatch: 2.3.1
1279 | dev: true
1280 |
1281 | /resolve/1.22.0:
1282 | resolution: {integrity: sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==}
1283 | hasBin: true
1284 | dependencies:
1285 | is-core-module: 2.8.1
1286 | path-parse: 1.0.7
1287 | supports-preserve-symlinks-flag: 1.0.0
1288 | dev: true
1289 |
1290 | /reusify/1.0.4:
1291 | resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==}
1292 | engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
1293 | dev: true
1294 |
1295 | /rollup/2.67.2:
1296 | resolution: {integrity: sha512-hoEiBWwZtf1QdK3jZIq59L0FJj4Fiv4RplCO4pvCRC86qsoFurWB4hKQIjoRf3WvJmk5UZ9b0y5ton+62fC7Tw==}
1297 | engines: {node: '>=10.0.0'}
1298 | hasBin: true
1299 | optionalDependencies:
1300 | fsevents: 2.3.2
1301 | dev: true
1302 |
1303 | /run-parallel/1.2.0:
1304 | resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
1305 | dependencies:
1306 | queue-microtask: 1.2.3
1307 | dev: true
1308 |
1309 | /scule/0.2.1:
1310 | resolution: {integrity: sha512-M9gnWtn3J0W+UhJOHmBxBTwv8mZCan5i1Himp60t6vvZcor0wr+IM0URKmIglsWJ7bRujNAVVN77fp+uZaWoKg==}
1311 | dev: true
1312 |
1313 | /simply-beautiful/0.2.13:
1314 | resolution: {integrity: sha512-ZJ85VJOW1XRq3nVfPKTWybIIxbqnbX7dtDOz7I0hguQu8P3p+9jfUCPNwERAu+ZBfBgttoAaS1NWcOq+fdoKBA==}
1315 | engines: {node: '>=6.0.0'}
1316 | dev: false
1317 |
1318 | /snake-case/3.0.4:
1319 | resolution: {integrity: sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==}
1320 | dependencies:
1321 | dot-case: 3.0.4
1322 | tslib: 2.3.1
1323 | dev: false
1324 |
1325 | /source-map-js/1.0.2:
1326 | resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==}
1327 | engines: {node: '>=0.10.0'}
1328 |
1329 | /source-map/0.6.1:
1330 | resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==}
1331 | engines: {node: '>=0.10.0'}
1332 |
1333 | /sourcemap-codec/1.4.8:
1334 | resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==}
1335 |
1336 | /supports-preserve-symlinks-flag/1.0.0:
1337 | resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
1338 | engines: {node: '>= 0.4'}
1339 | dev: true
1340 |
1341 | /tailwindcss/3.0.24:
1342 | resolution: {integrity: sha512-H3uMmZNWzG6aqmg9q07ZIRNIawoiEcNFKDfL+YzOPuPsXuDXxJxB9icqzLgdzKNwjG3SAro2h9SYav8ewXNgig==}
1343 | engines: {node: '>=12.13.0'}
1344 | hasBin: true
1345 | dependencies:
1346 | arg: 5.0.1
1347 | chokidar: 3.5.3
1348 | color-name: 1.1.4
1349 | detective: 5.2.0
1350 | didyoumean: 1.2.2
1351 | dlv: 1.1.3
1352 | fast-glob: 3.2.11
1353 | glob-parent: 6.0.2
1354 | is-glob: 4.0.3
1355 | lilconfig: 2.0.5
1356 | normalize-path: 3.0.0
1357 | object-hash: 3.0.0
1358 | picocolors: 1.0.0
1359 | postcss: 8.4.14
1360 | postcss-js: 4.0.0_postcss@8.4.14
1361 | postcss-load-config: 3.1.4_postcss@8.4.14
1362 | postcss-nested: 5.0.6_postcss@8.4.14
1363 | postcss-selector-parser: 6.0.10
1364 | postcss-value-parser: 4.2.0
1365 | quick-lru: 5.1.1
1366 | resolve: 1.22.0
1367 | transitivePeerDependencies:
1368 | - ts-node
1369 | dev: true
1370 |
1371 | /to-regex-range/5.0.1:
1372 | resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
1373 | engines: {node: '>=8.0'}
1374 | dependencies:
1375 | is-number: 7.0.0
1376 | dev: true
1377 |
1378 | /tr46/0.0.3:
1379 | resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==}
1380 | dev: false
1381 |
1382 | /tslib/2.3.1:
1383 | resolution: {integrity: sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==}
1384 | dev: false
1385 |
1386 | /typescript/4.7.2:
1387 | resolution: {integrity: sha512-Mamb1iX2FDUpcTRzltPxgWMKy3fhg0TN378ylbktPGPK/99KbDtMQ4W1hwgsbPAsG3a0xKa1vmw4VKZQbkvz5A==}
1388 | engines: {node: '>=4.2.0'}
1389 | hasBin: true
1390 | dev: true
1391 |
1392 | /unimport/0.2.4_vite@2.9.9:
1393 | resolution: {integrity: sha512-7OEUIlZMS1s1h1uFAGkCPylMtE8hnlJ/cFurJQHdzKAqIyuGiOREFKaCLbkNtFloZicCpRAlqC0Ny2yMoz6mFg==}
1394 | dependencies:
1395 | '@rollup/pluginutils': 4.2.1
1396 | escape-string-regexp: 5.0.0
1397 | fast-glob: 3.2.11
1398 | local-pkg: 0.4.1
1399 | magic-string: 0.26.2
1400 | mlly: 0.5.2
1401 | pathe: 0.3.0
1402 | scule: 0.2.1
1403 | unplugin: 0.6.3_vite@2.9.9
1404 | transitivePeerDependencies:
1405 | - esbuild
1406 | - rollup
1407 | - vite
1408 | - webpack
1409 | dev: true
1410 |
1411 | /universal-user-agent/6.0.0:
1412 | resolution: {integrity: sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w==}
1413 | dev: false
1414 |
1415 | /unplugin-auto-import/0.8.5_vite@2.9.9:
1416 | resolution: {integrity: sha512-JT43zA89fMjxtdqz+sTSkTsL9J0PNdnGmMOvcwbkpDi45yL5SU0aDCZgj0E8+qWLyQSIvvBaDBW3VuBrcc2MXg==}
1417 | engines: {node: '>=14'}
1418 | peerDependencies:
1419 | '@vueuse/core': '*'
1420 | peerDependenciesMeta:
1421 | '@vueuse/core':
1422 | optional: true
1423 | dependencies:
1424 | '@antfu/utils': 0.5.2
1425 | '@rollup/pluginutils': 4.2.1
1426 | local-pkg: 0.4.1
1427 | magic-string: 0.26.2
1428 | unimport: 0.2.4_vite@2.9.9
1429 | unplugin: 0.6.3_vite@2.9.9
1430 | transitivePeerDependencies:
1431 | - esbuild
1432 | - rollup
1433 | - vite
1434 | - webpack
1435 | dev: true
1436 |
1437 | /unplugin-vue-components/0.19.5_vite@2.9.9+vue@3.2.36:
1438 | resolution: {integrity: sha512-cIC+PdQEXmG+B1gmZGk4hws2xP+00C6pg3FD6ixEgRyW+WF+QXQW/60pc+hUhtDYs1PFE+23K3NY7yvYTnDDTA==}
1439 | engines: {node: '>=14'}
1440 | peerDependencies:
1441 | '@babel/parser': ^7.15.8
1442 | '@babel/traverse': ^7.15.4
1443 | vue: 2 || 3
1444 | peerDependenciesMeta:
1445 | '@babel/parser':
1446 | optional: true
1447 | '@babel/traverse':
1448 | optional: true
1449 | dependencies:
1450 | '@antfu/utils': 0.5.2
1451 | '@rollup/pluginutils': 4.2.1
1452 | chokidar: 3.5.3
1453 | debug: 4.3.4
1454 | fast-glob: 3.2.11
1455 | local-pkg: 0.4.1
1456 | magic-string: 0.26.1
1457 | minimatch: 5.1.0
1458 | resolve: 1.22.0
1459 | unplugin: 0.6.3_vite@2.9.9
1460 | vue: 3.2.36
1461 | transitivePeerDependencies:
1462 | - esbuild
1463 | - rollup
1464 | - supports-color
1465 | - vite
1466 | - webpack
1467 | dev: true
1468 |
1469 | /unplugin/0.6.3_vite@2.9.9:
1470 | resolution: {integrity: sha512-CoW88FQfCW/yabVc4bLrjikN9HC8dEvMU4O7B6K2jsYMPK0l6iAnd9dpJwqGcmXJKRCU9vwSsy653qg+RK0G6A==}
1471 | peerDependencies:
1472 | esbuild: '>=0.13'
1473 | rollup: ^2.50.0
1474 | vite: ^2.3.0
1475 | webpack: 4 || 5
1476 | peerDependenciesMeta:
1477 | esbuild:
1478 | optional: true
1479 | rollup:
1480 | optional: true
1481 | vite:
1482 | optional: true
1483 | webpack:
1484 | optional: true
1485 | dependencies:
1486 | chokidar: 3.5.3
1487 | vite: 2.9.9
1488 | webpack-sources: 3.2.3
1489 | webpack-virtual-modules: 0.4.3
1490 | dev: true
1491 |
1492 | /util-deprecate/1.0.2:
1493 | resolution: {integrity: sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=}
1494 | dev: true
1495 |
1496 | /util/0.10.4:
1497 | resolution: {integrity: sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==}
1498 | dependencies:
1499 | inherits: 2.0.3
1500 | dev: false
1501 |
1502 | /vite-plugin-logseq/1.1.2:
1503 | resolution: {integrity: sha512-l5YvoH3K25Zx9eqgoJFug7NfVqSPwq7/FcYYhN1TkdG8ZOiD+c+TAwdCS2dJbGgvx8GmSpbgwSZWgslB+wH53g==}
1504 | dependencies:
1505 | magic-string: 0.26.1
1506 | dev: true
1507 |
1508 | /vite/2.9.9:
1509 | resolution: {integrity: sha512-ffaam+NgHfbEmfw/Vuh6BHKKlI/XIAhxE5QSS7gFLIngxg171mg1P3a4LSRME0z2ZU1ScxoKzphkipcYwSD5Ew==}
1510 | engines: {node: '>=12.2.0'}
1511 | hasBin: true
1512 | peerDependencies:
1513 | less: '*'
1514 | sass: '*'
1515 | stylus: '*'
1516 | peerDependenciesMeta:
1517 | less:
1518 | optional: true
1519 | sass:
1520 | optional: true
1521 | stylus:
1522 | optional: true
1523 | dependencies:
1524 | esbuild: 0.14.39
1525 | postcss: 8.4.14
1526 | resolve: 1.22.0
1527 | rollup: 2.67.2
1528 | optionalDependencies:
1529 | fsevents: 2.3.2
1530 | dev: true
1531 |
1532 | /vue-demi/0.12.5_vue@3.2.36:
1533 | resolution: {integrity: sha512-BREuTgTYlUr0zw0EZn3hnhC3I6gPWv+Kwh4MCih6QcAeaTlaIX0DwOVN0wHej7hSvDPecz4jygy/idsgKfW58Q==}
1534 | engines: {node: '>=12'}
1535 | hasBin: true
1536 | requiresBuild: true
1537 | peerDependencies:
1538 | '@vue/composition-api': ^1.0.0-rc.1
1539 | vue: ^3.0.0-0 || ^2.6.0
1540 | peerDependenciesMeta:
1541 | '@vue/composition-api':
1542 | optional: true
1543 | dependencies:
1544 | vue: 3.2.36
1545 | dev: false
1546 |
1547 | /vue-tsc/0.34.16_typescript@4.7.2:
1548 | resolution: {integrity: sha512-9tYBQIOyl3Tz8ZrlYUKtftu5m/wXHfxCalyjR22QzSaUJoBJmZeNOoVs/QEllc0z4ideEZxvvU+pBFdoY3O16A==}
1549 | hasBin: true
1550 | peerDependencies:
1551 | typescript: '*'
1552 | dependencies:
1553 | '@volar/vue-typescript': 0.34.16
1554 | typescript: 4.7.2
1555 | dev: true
1556 |
1557 | /vue/3.2.36:
1558 | resolution: {integrity: sha512-5yTXmrE6gW8IQgttzHW5bfBiFA6mx35ZXHjGLDmKYzW6MMmYvCwuKybANRepwkMYeXw2v1buGg3/lPICY5YlZw==}
1559 | dependencies:
1560 | '@vue/compiler-dom': 3.2.36
1561 | '@vue/compiler-sfc': 3.2.36
1562 | '@vue/runtime-dom': 3.2.36
1563 | '@vue/server-renderer': 3.2.36_vue@3.2.36
1564 | '@vue/shared': 3.2.36
1565 | dev: false
1566 |
1567 | /webidl-conversions/3.0.1:
1568 | resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==}
1569 | dev: false
1570 |
1571 | /webpack-sources/3.2.3:
1572 | resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==}
1573 | engines: {node: '>=10.13.0'}
1574 | dev: true
1575 |
1576 | /webpack-virtual-modules/0.4.3:
1577 | resolution: {integrity: sha512-5NUqC2JquIL2pBAAo/VfBP6KuGkHIZQXW/lNKupLPfhViwh8wNsu0BObtl09yuKZszeEUfbXz8xhrHvSG16Nqw==}
1578 | dev: true
1579 |
1580 | /whatwg-url/5.0.0:
1581 | resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==}
1582 | dependencies:
1583 | tr46: 0.0.3
1584 | webidl-conversions: 3.0.1
1585 | dev: false
1586 |
1587 | /wrappy/1.0.2:
1588 | resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
1589 | dev: false
1590 |
1591 | /xtend/4.0.2:
1592 | resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==}
1593 | engines: {node: '>=0.4'}
1594 | dev: true
1595 |
1596 | /yaml/1.10.2:
1597 | resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==}
1598 | engines: {node: '>= 6'}
1599 | dev: true
1600 |
--------------------------------------------------------------------------------
/postcss.config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | plugins: {
3 | tailwindcss: {},
4 | autoprefixer: {},
5 | },
6 | }
7 |
--------------------------------------------------------------------------------
/screencast.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vipzhicheng/logseq-plugin-global-custom-css/0f99a81974373b855e9c68756f2fc4408a01a3ba/screencast.gif
--------------------------------------------------------------------------------
/src/App.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/src/components/Editor.vue:
--------------------------------------------------------------------------------
1 |
11 |
12 |
13 |
14 |
15 |
16 |
26 |
--------------------------------------------------------------------------------
/src/components/dialog.vue:
--------------------------------------------------------------------------------
1 |
6 |
7 |
17 |
18 | Format
19 | Save
22 | Load
25 | Clear
26 |
27 |
28 |
29 |
30 |
38 |
--------------------------------------------------------------------------------
/src/main.ts:
--------------------------------------------------------------------------------
1 | import "@logseq/libs";
2 | import { createPinia } from "pinia";
3 | import { createApp } from "vue";
4 | import App from "./App.vue";
5 | import "./style.css";
6 | import { useEditorStore } from "@/stores/editor";
7 | import { SettingSchemaDesc } from "@logseq/libs/dist/LSPlugin";
8 |
9 | function createModel() {
10 | return {
11 | openModal() {
12 | logseq.showMainUI();
13 | },
14 | };
15 | }
16 |
17 | async function triggerBlockModal() {
18 | createModel().openModal();
19 | }
20 |
21 | const defineSettings: SettingSchemaDesc[] = [
22 | {
23 | key: "personal_access_token",
24 | type: "string",
25 | default: "",
26 | title: "Personal Access Token",
27 | description:
28 | 'Apply Github Personal Access Token on https://github.com/settings/tokens, please only grant "Gist create" permisson for this token.',
29 | },
30 | {
31 | key: "github_username",
32 | type: "string",
33 | default: "",
34 | title: "Github Username",
35 | description:
36 | "Your Github username, e.g. https://gist.github.com/[username]/[gist_id]",
37 | },
38 | {
39 | key: "gist_id",
40 | type: "string",
41 | default: "",
42 | title: "Gist ID",
43 | description:
44 | "You need to create a gist on Github first, and then find out the gist id, e.g. https://gist.github.com/[username]/[gist_id]",
45 | },
46 | ];
47 |
48 | logseq.useSettingsSchema(defineSettings);
49 |
50 | const main = async () => {
51 | const settings = logseq.settings;
52 | if (settings.styles && settings.styles.global) {
53 | const style = "/* Global Custom CSS */\n" + settings.styles.global;
54 | logseq.provideStyle({
55 | key: "global",
56 | style,
57 | });
58 | }
59 |
60 | const app = createApp(App);
61 | app.use(createPinia());
62 | app.mount("#app");
63 |
64 | logseq.on("ui:visible:changed", (visible) => {
65 | if (!visible) {
66 | return;
67 | }
68 |
69 | const editorStore = useEditorStore();
70 |
71 | editorStore.show();
72 | });
73 |
74 | logseq.App.registerUIItem("toolbar", {
75 | key: "global-custom-css",
76 | template: `
77 |
78 |
79 |
80 | `,
81 | });
82 |
83 | document.addEventListener("click", (e) => {
84 | logseq.hideMainUI();
85 | });
86 | };
87 |
88 | logseq.ready(createModel(), main).catch(console.error);
89 |
--------------------------------------------------------------------------------
/src/stores/editor.ts:
--------------------------------------------------------------------------------
1 | import "@logseq/libs";
2 | import beautify from "simply-beautiful";
3 | import { defineStore } from "pinia";
4 | import { EditorFromTextArea } from "codemirror";
5 |
6 | import * as CodeMirror from "codemirror";
7 |
8 | import "codemirror/lib/codemirror.css";
9 |
10 | import "codemirror/theme/monokai.css";
11 |
12 | import "codemirror/mode/css/css";
13 |
14 | // For auto close brackets and match brackets
15 | import "codemirror/addon/edit/matchbrackets.js";
16 | import "codemirror/addon/edit/closebrackets.js";
17 |
18 | // For auto complete
19 | import "codemirror/addon/hint/show-hint.css";
20 | import "codemirror/addon/hint/show-hint.js";
21 | import "codemirror/addon/hint/css-hint.js";
22 |
23 | // For fullscreen
24 | import "codemirror/addon/display/fullscreen.css";
25 | import "codemirror/addon/display/fullscreen.js";
26 |
27 | export const useEditorStore = defineStore("editor", {
28 | state: () => ({
29 | visible: true,
30 | cm: null as EditorFromTextArea | null,
31 | timer: null,
32 | }),
33 | actions: {
34 | show() {
35 | this.visible = true;
36 | },
37 |
38 | async clear() {
39 | if (this.cm as EditorFromTextArea) {
40 | let style = "";
41 | this.cm.setValue(style);
42 | this.apply();
43 | }
44 | },
45 |
46 | async loadFromGithubGist() {
47 | if (this.cm as EditorFromTextArea) {
48 | const gist_id = logseq.settings.gist_id;
49 | const token = logseq.settings.personal_access_token;
50 | const github_username = logseq.settings.github_username;
51 |
52 | if (!gist_id || !token || !github_username) {
53 | alert(
54 | "personal access token or github username or gist id not config"
55 | );
56 | }
57 | await fetch(
58 | `https://gist.github.com/${github_username}/${gist_id}/raw?${Math.random()}`,
59 | {
60 | method: "GET", // *GET, POST, PUT, DELETE, etc.
61 | mode: "cors", // no-cors, *cors, same-origin
62 | cache: "no-cache", // *default, no-cache, reload, force-cache, only-if-cached
63 | credentials: "same-origin", // include, *same-origin, omit
64 | // headers: {
65 | // "Content-Type": "application/json",
66 | // Authorization: `token ${token}`,
67 | // // 'Content-Type': 'application/x-www-form-urlencoded',
68 | // },
69 | redirect: "follow", // manual, *follow, error
70 | referrerPolicy: "no-referrer", // no-referrer, *no-referrer-when-downgrade, origin, origin-when-cross-origin, same-origin, strict-origin, strict-origin-when-cross-origin, unsafe-url
71 | }
72 | ).then(async (response) => {
73 | const body = await response.text();
74 | this.cm.setValue(body);
75 | this.apply();
76 | });
77 | }
78 | },
79 |
80 | async saveToGithubGist() {
81 | if (this.cm as EditorFromTextArea) {
82 | let style = this.cm.getValue();
83 |
84 | const data = {
85 | description: "Logseq Global Custom CSS",
86 | files: {
87 | "logseq_global_custom.css": {
88 | content: style,
89 | },
90 | },
91 | };
92 |
93 | const gist_id = logseq.settings.gist_id;
94 | const token = logseq.settings.personal_access_token;
95 |
96 | if (!gist_id || !token) {
97 | alert("gist_id or personal access token not config");
98 | }
99 | await fetch(`https://api.github.com/gists/${gist_id}`, {
100 | method: "PATCH", // *GET, POST, PUT, DELETE, etc.
101 | mode: "cors", // no-cors, *cors, same-origin
102 | cache: "no-cache", // *default, no-cache, reload, force-cache, only-if-cached
103 | credentials: "same-origin", // include, *same-origin, omit
104 | headers: {
105 | "Content-Type": "application/json",
106 | Authorization: `token ${token}`,
107 | // 'Content-Type': 'application/x-www-form-urlencoded',
108 | },
109 | redirect: "follow", // manual, *follow, error
110 | referrerPolicy: "no-referrer", // no-referrer, *no-referrer-when-downgrade, origin, origin-when-cross-origin, same-origin, strict-origin, strict-origin-when-cross-origin, unsafe-url
111 | body: JSON.stringify(data), // body data type must match "Content-Type" header
112 | });
113 |
114 | alert("Save successfully!");
115 | }
116 | },
117 |
118 | format() {
119 | if (this.cm as EditorFromTextArea) {
120 | let style = this.cm.getValue();
121 | var options = {
122 | indent_size: 2,
123 | };
124 | let formated = beautify.css(style, options);
125 | this.cm.setValue(formated);
126 | }
127 | },
128 |
129 | apply() {
130 | if (this.cm as EditorFromTextArea) {
131 | let style = this.cm.getValue();
132 |
133 | logseq.updateSettings({
134 | styles: {
135 | global: style,
136 | },
137 | });
138 | style = "/* Global Custom CSS */\n" + style;
139 | logseq.provideStyle({
140 | key: "global",
141 | style,
142 | });
143 | }
144 | },
145 |
146 | async init(selector: string) {
147 | const editor = document.getElementById(selector) as HTMLTextAreaElement;
148 |
149 | const cm = markRaw(
150 | CodeMirror.fromTextArea(editor as HTMLTextAreaElement, {
151 | mode: "css",
152 | theme: "monokai",
153 | // // @ts-ignore
154 | // minimap: true,
155 | lineNumbers: true,
156 | lineWrapping: false,
157 | // autofocus: true,
158 | indentUnit: 2,
159 | tabSize: 2,
160 | indentWithTabs: true,
161 | showCursorWhenSelecting: true,
162 | autoCloseBrackets: true,
163 | })
164 | );
165 |
166 | cm.addKeyMap({
167 | "Ctrl-Space": "autocomplete",
168 | F11: function (cm) {
169 | cm.setOption("fullScreen", !cm.getOption("fullScreen"));
170 | },
171 | });
172 |
173 | const keyMapDefault = CodeMirror.normalizeKeyMap({
174 | // indent with spaces
175 | Tab: (cm: CodeMirror.Editor) => {
176 | // @ts-ignore
177 | const spaces = Array(cm.getOption("indentUnit") + 1).join(" ");
178 | cm.replaceSelection(spaces);
179 | },
180 | });
181 |
182 | cm.setOption("extraKeys", keyMapDefault);
183 |
184 | // Auto apply
185 | cm.on("change", (cm, change) => {
186 | if (this.timer) {
187 | clearTimeout(this.timer);
188 | }
189 | this.timer = setTimeout(() => {
190 | this.apply();
191 | }, 300);
192 | });
193 |
194 | this.cm = cm;
195 |
196 | logseq.on("ui:visible:changed", (visible) => {
197 | if (!visible) {
198 | return;
199 | }
200 | if (cm) {
201 | cm.refresh();
202 | cm.focus();
203 | const settings = logseq.settings;
204 | if (settings.styles && settings.styles.global) {
205 | cm.setValue(settings.styles.global);
206 | }
207 | }
208 | });
209 |
210 | return cm;
211 | },
212 | },
213 | });
214 |
--------------------------------------------------------------------------------
/src/style.css:
--------------------------------------------------------------------------------
1 | @tailwind base;
2 | @tailwind components;
3 | @tailwind utilities;
--------------------------------------------------------------------------------
/src/vue.d.ts:
--------------------------------------------------------------------------------
1 | //
2 |
3 | declare module "*.vue" {
4 | import { DefineComponent } from "vue"
5 | const component: DefineComponent<{}, {}, any>
6 | export default component
7 | }
--------------------------------------------------------------------------------
/tailwind.config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | content: ['index.html', 'src/**/*.vue'],
3 | theme: {
4 | extend: {},
5 | },
6 | plugins: [],
7 | }
8 |
--------------------------------------------------------------------------------
/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | /* Visit https://aka.ms/tsconfig.json to read more about this file */
4 |
5 | /* Projects */
6 | // "incremental": true, /* Enable incremental compilation */
7 | // "composite": true, /* Enable constraints that allow a TypeScript project to be used with project references. */
8 | // "tsBuildInfoFile": "./", /* Specify the folder for .tsbuildinfo incremental compilation files. */
9 | // "disableSourceOfProjectReferenceRedirect": true, /* Disable preferring source files instead of declaration files when referencing composite projects */
10 | // "disableSolutionSearching": true, /* Opt a project out of multi-project reference checking when editing. */
11 | // "disableReferencedProjectLoad": true, /* Reduce the number of projects loaded automatically by TypeScript. */
12 |
13 | /* Language and Environment */
14 | "target": "esnext" /* Set the JavaScript language version for emitted JavaScript and include compatible library declarations. */,
15 | "lib": [
16 | "ESNext",
17 | "DOM"
18 | ] /* Specify a set of bundled library declaration files that describe the target runtime environment. */,
19 | // "jsx": "preserve", /* Specify what JSX code is generated. */
20 | // "experimentalDecorators": true, /* Enable experimental support for TC39 stage 2 draft decorators. */
21 | // "emitDecoratorMetadata": true, /* Emit design-type metadata for decorated declarations in source files. */
22 | // "jsxFactory": "", /* Specify the JSX factory function used when targeting React JSX emit, e.g. 'React.createElement' or 'h' */
23 | // "jsxFragmentFactory": "", /* Specify the JSX Fragment reference used for fragments when targeting React JSX emit e.g. 'React.Fragment' or 'Fragment'. */
24 | // "jsxImportSource": "", /* Specify module specifier used to import the JSX factory functions when using `jsx: react-jsx*`.` */
25 | // "reactNamespace": "", /* Specify the object invoked for `createElement`. This only applies when targeting `react` JSX emit. */
26 | // "noLib": true, /* Disable including any library files, including the default lib.d.ts. */
27 | // "useDefineForClassFields": true, /* Emit ECMAScript-standard-compliant class fields. */
28 |
29 | /* Modules */
30 | "module": "esnext" /* Specify what module code is generated. */,
31 | // "rootDir": "./", /* Specify the root folder within your source files. */
32 | "moduleResolution": "node" /* Specify how TypeScript looks up a file from a given module specifier. */,
33 | "baseUrl": "./" /* Specify the base directory to resolve non-relative module names. */,
34 | "paths": {
35 | "@/*": ["src/*"]
36 | } /* Specify a set of entries that re-map imports to additional lookup locations. */,
37 | // "rootDirs": [], /* Allow multiple folders to be treated as one when resolving modules. */
38 | // "typeRoots": [], /* Specify multiple folders that act like `./node_modules/@types`. */
39 | // "types": [], /* Specify type package names to be included without being referenced in a source file. */
40 | // "allowUmdGlobalAccess": true, /* Allow accessing UMD globals from modules. */
41 | "resolveJsonModule": true /* Enable importing .json files */,
42 | // "noResolve": true, /* Disallow `import`s, `require`s or ``s from expanding the number of files TypeScript should add to a project. */
43 |
44 | /* JavaScript Support */
45 | // "allowJs": true, /* Allow JavaScript files to be a part of your program. Use the `checkJS` option to get errors from these files. */
46 | // "checkJs": true, /* Enable error reporting in type-checked JavaScript files. */
47 | // "maxNodeModuleJsDepth": 1, /* Specify the maximum folder depth used for checking JavaScript files from `node_modules`. Only applicable with `allowJs`. */
48 |
49 | /* Emit */
50 | // "declaration": true, /* Generate .d.ts files from TypeScript and JavaScript files in your project. */
51 | // "declarationMap": true, /* Create sourcemaps for d.ts files. */
52 | // "emitDeclarationOnly": true, /* Only output d.ts files and not JavaScript files. */
53 | // "sourceMap": true, /* Create source map files for emitted JavaScript files. */
54 | // "outFile": "./", /* Specify a file that bundles all outputs into one JavaScript file. If `declaration` is true, also designates a file that bundles all .d.ts output. */
55 | // "outDir": "./", /* Specify an output folder for all emitted files. */
56 | // "removeComments": true, /* Disable emitting comments. */
57 | // "noEmit": true, /* Disable emitting files from a compilation. */
58 | // "importHelpers": true, /* Allow importing helper functions from tslib once per project, instead of including them per-file. */
59 | // "importsNotUsedAsValues": "remove", /* Specify emit/checking behavior for imports that are only used for types */
60 | // "downlevelIteration": true, /* Emit more compliant, but verbose and less performant JavaScript for iteration. */
61 | // "sourceRoot": "", /* Specify the root path for debuggers to find the reference source code. */
62 | // "mapRoot": "", /* Specify the location where debugger should locate map files instead of generated locations. */
63 | // "inlineSourceMap": true, /* Include sourcemap files inside the emitted JavaScript. */
64 | // "inlineSources": true, /* Include source code in the sourcemaps inside the emitted JavaScript. */
65 | // "emitBOM": true, /* Emit a UTF-8 Byte Order Mark (BOM) in the beginning of output files. */
66 | // "newLine": "crlf", /* Set the newline character for emitting files. */
67 | // "stripInternal": true, /* Disable emitting declarations that have `@internal` in their JSDoc comments. */
68 | // "noEmitHelpers": true, /* Disable generating custom helper functions like `__extends` in compiled output. */
69 | // "noEmitOnError": true, /* Disable emitting files if any type checking errors are reported. */
70 | // "preserveConstEnums": true, /* Disable erasing `const enum` declarations in generated code. */
71 | // "declarationDir": "./", /* Specify the output directory for generated declaration files. */
72 | // "preserveValueImports": true, /* Preserve unused imported values in the JavaScript output that would otherwise be removed. */
73 |
74 | /* Interop Constraints */
75 | // "isolatedModules": true, /* Ensure that each file can be safely transpiled without relying on other imports. */
76 | // "allowSyntheticDefaultImports": true, /* Allow 'import x from y' when a module doesn't have a default export. */
77 | "esModuleInterop": true /* Emit additional JavaScript to ease support for importing CommonJS modules. This enables `allowSyntheticDefaultImports` for type compatibility. */,
78 | // "preserveSymlinks": true, /* Disable resolving symlinks to their realpath. This correlates to the same flag in node. */
79 | "forceConsistentCasingInFileNames": true /* Ensure that casing is correct in imports. */,
80 |
81 | /* Type Checking */
82 | // "strict": true /* Enable all strict type-checking options. */,
83 | // "noImplicitAny": true, /* Enable error reporting for expressions and declarations with an implied `any` type.. */
84 | // "strictNullChecks": true, /* When type checking, take into account `null` and `undefined`. */
85 | // "strictFunctionTypes": true, /* When assigning functions, check to ensure parameters and the return values are subtype-compatible. */
86 | // "strictBindCallApply": true, /* Check that the arguments for `bind`, `call`, and `apply` methods match the original function. */
87 | // "strictPropertyInitialization": true, /* Check for class properties that are declared but not set in the constructor. */
88 | // "noImplicitThis": true, /* Enable error reporting when `this` is given the type `any`. */
89 | // "useUnknownInCatchVariables": true, /* Type catch clause variables as 'unknown' instead of 'any'. */
90 | // "alwaysStrict": true, /* Ensure 'use strict' is always emitted. */
91 | // "noUnusedLocals": true, /* Enable error reporting when a local variables aren't read. */
92 | // "noUnusedParameters": true, /* Raise an error when a function parameter isn't read */
93 | // "exactOptionalPropertyTypes": true, /* Interpret optional property types as written, rather than adding 'undefined'. */
94 | // "noImplicitReturns": true, /* Enable error reporting for codepaths that do not explicitly return in a function. */
95 | // "noFallthroughCasesInSwitch": true, /* Enable error reporting for fallthrough cases in switch statements. */
96 | // "noUncheckedIndexedAccess": true, /* Include 'undefined' in index signature results */
97 | // "noImplicitOverride": true, /* Ensure overriding members in derived classes are marked with an override modifier. */
98 | // "noPropertyAccessFromIndexSignature": true, /* Enforces using indexed accessors for keys declared using an indexed type */
99 | // "allowUnusedLabels": true, /* Disable error reporting for unused labels. */
100 | // "allowUnreachableCode": true, /* Disable error reporting for unreachable code. */
101 |
102 | /* Completeness */
103 | // "skipDefaultLibCheck": true, /* Skip type checking .d.ts files that are included with TypeScript. */
104 | "skipLibCheck": true /* Skip type checking all .d.ts files. */
105 | }
106 | // "include": ["src/**/*.vue", "src/**/*.ts", "src/**/*.tsx", "src/**/*.d.ts"]
107 | }
108 |
--------------------------------------------------------------------------------
/vite.config.ts:
--------------------------------------------------------------------------------
1 | import { defineConfig } from "vite";
2 | import path from "path";
3 | import vue from "@vitejs/plugin-vue";
4 | import logseqPlugin from "vite-plugin-logseq";
5 |
6 | import AutoImport from "unplugin-auto-import/vite";
7 | import Components from "unplugin-vue-components/vite";
8 | import { ElementPlusResolver } from "unplugin-vue-components/resolvers";
9 |
10 | export default defineConfig({
11 | base: "./",
12 | build: {
13 | sourcemap: false,
14 | // sourcemap: true,
15 | target: "esnext",
16 | minify: "esbuild",
17 | // minify: false,
18 | chunkSizeWarningLimit: 1024,
19 | rollupOptions: {
20 | output: {
21 | manualChunks: {
22 | logseq: ["@logseq/libs"],
23 | codemirror: ["codemirror"],
24 | },
25 | },
26 | },
27 | },
28 | resolve: {
29 | alias: {
30 | "@": path.resolve(__dirname, "./src"),
31 | },
32 | },
33 | plugins: [
34 | vue(),
35 | AutoImport({
36 | include: [
37 | /\.[tj]sx?$/, // .ts, .tsx, .js, .jsx
38 | /\.vue$/,
39 | /\.vue\?vue/, // .vue
40 | ],
41 | imports: ["vue"],
42 | resolvers: [ElementPlusResolver()],
43 | }),
44 | Components({
45 | resolvers: [ElementPlusResolver()],
46 | }),
47 | logseqPlugin(),
48 | ],
49 | });
50 |
--------------------------------------------------------------------------------