├── .gitignore ├── .npmrc ├── .vscode ├── launch.json └── settings.json ├── LICENSE ├── README.md ├── demo ├── .npmrc ├── docs │ ├── .vitepress │ │ └── config.ts │ ├── Alternative │ │ ├── index.md │ │ └── subpageone.md │ ├── index.md │ ├── public │ │ ├── favicon.ico │ │ └── icon.png │ ├── subfolder │ │ ├── index.md │ │ └── subpageone.md │ └── vite.config.ts ├── package.json └── pnpm-lock.yaml ├── package.json ├── pnpm-lock.yaml ├── src ├── Search.vue ├── docs-builder.ts ├── flex-logo.svg ├── index.ts ├── md-index-builder.ts ├── module │ ├── async.js │ ├── cache.js │ ├── common.js │ ├── config.js │ ├── document.js │ ├── engine.js │ ├── global.js │ ├── index.js │ ├── intersect.js │ ├── lang.js │ ├── lang │ │ ├── arabic │ │ │ └── default.js │ │ ├── at.js │ │ ├── cjk │ │ │ └── default.js │ │ ├── cyrillic │ │ │ └── default.js │ │ ├── de.js │ │ ├── en.js │ │ ├── latin │ │ │ ├── advanced.js │ │ │ ├── balance.js │ │ │ ├── default.js │ │ │ ├── extra.js │ │ │ └── simple.js │ │ └── us.js │ ├── polyfill.js │ ├── preset.js │ ├── serialize.js │ ├── type.js │ ├── webpack.js │ └── worker │ │ ├── handler.js │ │ ├── index.js │ │ ├── node.js │ │ └── worker.js └── types.ts ├── tsconfig.json ├── vite-env.d.ts └── vite.config.ts /.gitignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | logs 3 | *.log 4 | npm-debug.log* 5 | yarn-debug.log* 6 | yarn-error.log* 7 | lerna-debug.log* 8 | 9 | # Diagnostic reports (https://nodejs.org/api/report.html) 10 | report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json 11 | 12 | # Runtime data 13 | pids 14 | *.pid 15 | *.seed 16 | *.pid.lock 17 | 18 | # Directory for instrumented libs generated by jscoverage/JSCover 19 | lib-cov 20 | 21 | # Coverage directory used by tools like istanbul 22 | coverage 23 | *.lcov 24 | 25 | # nyc test coverage 26 | .nyc_output 27 | 28 | # Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) 29 | .grunt 30 | 31 | # Bower dependency directory (https://bower.io/) 32 | bower_components 33 | 34 | # node-waf configuration 35 | .lock-wscript 36 | 37 | # Compiled binary addons (https://nodejs.org/api/addons.html) 38 | build/Release 39 | 40 | # Dependency directories 41 | node_modules/ 42 | jspm_packages/ 43 | 44 | # TypeScript v1 declaration files 45 | typings/ 46 | 47 | # TypeScript cache 48 | *.tsbuildinfo 49 | 50 | # Optional npm cache directory 51 | .npm 52 | 53 | # Optional eslint cache 54 | .eslintcache 55 | 56 | # Microbundle cache 57 | .rpt2_cache/ 58 | .rts2_cache_cjs/ 59 | .rts2_cache_es/ 60 | .rts2_cache_umd/ 61 | 62 | # Optional REPL history 63 | .node_repl_history 64 | 65 | # Output of 'npm pack' 66 | *.tgz 67 | 68 | # Yarn Integrity file 69 | .yarn-integrity 70 | 71 | # dotenv environment variables file 72 | .env 73 | .env.test 74 | 75 | # parcel-bundler cache (https://parceljs.org/) 76 | .cache 77 | 78 | # Next.js build output 79 | .next 80 | 81 | # Nuxt.js build / generate output 82 | .nuxt 83 | dist 84 | out 85 | 86 | # Gatsby files 87 | .cache/ 88 | # Comment in the public line in if your project uses Gatsby and *not* Next.js 89 | # https://nextjs.org/blog/next-9-1#public-directory-support 90 | # public 91 | 92 | # vuepress build output 93 | demo/.vitepress/dist 94 | 95 | # Serverless directories 96 | .serverless/ 97 | 98 | # FuseBox cache 99 | .fusebox/ 100 | 101 | # DynamoDB Local files 102 | .dynamodb/ 103 | 104 | # TernJS port file 105 | .tern-port 106 | 107 | .idea 108 | 109 | demo/docs/.vitepress/ -------------------------------------------------------------------------------- /.npmrc: -------------------------------------------------------------------------------- 1 | auto-install-peers=true 2 | -------------------------------------------------------------------------------- /.vscode/launch.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "0.2.0", 3 | "configurations": [ 4 | { 5 | "name": "debugger demo", 6 | "request": "launch", 7 | "runtimeArgs": [ 8 | "run-script", 9 | "dev" 10 | ], 11 | "console": "integratedTerminal", 12 | "runtimeExecutable": "npm", 13 | "skipFiles": [ 14 | "/**" 15 | ], 16 | "type": "node", 17 | "cwd": "${workspaceFolder}/demo" 18 | } 19 | ] 20 | } -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "cSpell.words": ["Bottero", "flexsearch", "vitepress"] 3 | } 4 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2017 Form.io 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. -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ## Provides local search to your documentation site 2 | 3 | Uses [flexsearch](https://github.com/nextapps-de/flexsearch). 4 | 5 | ## Installing 6 | 7 | ```js 8 | npm i vitepress-plugin-search flexsearch -D 9 | ``` 10 | 11 | ## Add the plugin 12 | 13 | - Using an vite.config file 14 | ```js 15 | //vite.config.ts 16 | import { SearchPlugin } from "vitepress-plugin-search"; 17 | import { defineConfig } from "vite"; 18 | 19 | //default options 20 | var options = { 21 | ...flexSearchIndexOptions, 22 | previewLength: 62, 23 | buttonLabel: "Search", 24 | placeholder: "Search docs", 25 | allow: [], 26 | ignore: [], 27 | }; 28 | 29 | export default defineConfig({ 30 | plugins: [SearchPlugin(options)], 31 | }); 32 | ``` 33 | 34 | - Using config.js or config.ts 35 | ```js 36 | import { SearchPlugin } from "vitepress-plugin-search"; 37 | import { defineConfig } from "vitepress"; 38 | export default defineConfig({ 39 | vite: { plugins: [SearchPlugin(options)] } 40 | }); 41 | ``` 42 | 43 | ## Options 44 | 45 | Accept [FlexSearch Index Options](https://github.com/nextapps-de/flexsearch#options) 46 | 47 | ## Multi language support 48 | 49 | Provided by flexsearch 50 | 51 | See [chinese settings for example](https://github.com/emersonbottero/vitepress-plugin-search/issues/11) 52 | -------------------------------------------------------------------------------- /demo/.npmrc: -------------------------------------------------------------------------------- 1 | auto-install-peers=true -------------------------------------------------------------------------------- /demo/docs/.vitepress/config.ts: -------------------------------------------------------------------------------- 1 | import { defineConfig } from "vitepress"; 2 | 3 | export default defineConfig({ 4 | outDir: "./.vitepress/out", 5 | base: "/test/", 6 | // themeConfig: { 7 | // search: { 8 | // provider: 'local' 9 | // } 10 | // } 11 | // srcExclude: ["subfolder"], 12 | }); 13 | -------------------------------------------------------------------------------- /demo/docs/Alternative/index.md: -------------------------------------------------------------------------------- 1 | # Worked 2 | 3 | Some not so cool text 4 | 5 | ## First Working Version 6 | 7 | some text after first 8 | 9 | ## Second 10 | 11 | some text after second 12 | 13 | ## `hello` Third` 14 | ```ts 15 | console.log('make it longer until scrollable') 16 | console.log('make it longer until scrollable') 17 | console.log('make it longer until scrollable') 18 | console.log('make it longer until scrollable') 19 | console.log('make it longer until scrollable') 20 | ``` 21 | ## emoji anchor 🤖 22 | 23 | New content here, with text 24 | 25 | ### sub anchor 2 26 | 27 | Ops, it works 28 | 29 | ## test strict {#server-fs-strict} 30 | 31 | Another text here 🤓 -------------------------------------------------------------------------------- /demo/docs/Alternative/subpageone.md: -------------------------------------------------------------------------------- 1 | baaa.. 2 | 3 | subpageone 4 | 5 | Amotra de texto em portugues para testar pronomes como de costume, o de sempre como por exemplo 6 | -------------------------------------------------------------------------------- /demo/docs/index.md: -------------------------------------------------------------------------------- 1 | 6 | 7 | # Yesssssssssss 8 | 9 | super cool text 10 | 11 | ## First Anchor 12 | 13 | aosidjaosidjaosidjaoisdjaosidddddddddddddddddddddddddddd as dasddddddddd asdddddddddddd a sd asd asdasd asd asd asd asd asd asd . 14 | 15 | eeeeeeeeeeeeeeeeeeeeeee 16 | 17 | goto [subfolder](subfolder/index) 18 | and [sub1](subfolder/subpageone) 19 | 20 | ### Subsub anchor 21 | 22 | should worked 23 | 24 | and one more text here 25 | 26 | 27 | 28 | 29 | 34 | -------------------------------------------------------------------------------- /demo/docs/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emersonbottero/vitepress-plugin-search/cca4cd096d9d9912d114057689da21a50e9d6bfc/demo/docs/public/favicon.ico -------------------------------------------------------------------------------- /demo/docs/public/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emersonbottero/vitepress-plugin-search/cca4cd096d9d9912d114057689da21a50e9d6bfc/demo/docs/public/icon.png -------------------------------------------------------------------------------- /demo/docs/subfolder/index.md: -------------------------------------------------------------------------------- 1 | # Worked 2 | 3 | Some not so cool text 4 | 5 | ## First Working Version 6 | 7 | some text after first 8 | 9 | ## Second 10 | 11 | some text after second 12 | 13 | ## `hello` Third` 14 | ```ts 15 | console.log('make it longer until scrollable') 16 | console.log('make it longer until scrollable') 17 | console.log('make it longer until scrollable') 18 | console.log('make it longer until scrollable') 19 | console.log('make it longer until scrollable') 20 | ``` 21 | ## emoji anchor 🤖 22 | 23 | New content here, with text 24 | 25 | ### sub anchor 2 26 | 27 | Ops, it works 28 | 29 | ## test strict {#server-fs-strict} 30 | 31 | Another text here 🤓 -------------------------------------------------------------------------------- /demo/docs/subfolder/subpageone.md: -------------------------------------------------------------------------------- 1 | baaa.. 2 | 3 | subpageone 4 | 5 | Amotra de texto em portugues para testar pronomes como de costume, o de sempre como por exemplo 6 | -------------------------------------------------------------------------------- /demo/docs/vite.config.ts: -------------------------------------------------------------------------------- 1 | import { SearchPlugin } from "vitepress-plugin-search"; 2 | import { defineConfig } from "vite"; 3 | 4 | export default defineConfig({ 5 | plugins: [ 6 | SearchPlugin({ 7 | placeholder: "Procure por algo!", 8 | buttonLabel: "Procurar", 9 | previewLength: 10, 10 | }), 11 | ], 12 | server: { 13 | fs: { 14 | // Allow serving files from one level up to the project root 15 | allow: ["../.."], 16 | }, 17 | }, 18 | }); 19 | -------------------------------------------------------------------------------- /demo/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "playground", 3 | "version": "1.0.0", 4 | "description": "vite-plugin-search playground", 5 | "main": "index.js", 6 | "type": "module", 7 | "scripts": { 8 | "index": "node ./node_modules/vitepress-plugin-search/src/index.js", 9 | "dev": "vitepress dev docs", 10 | "build": "vitepress build docs", 11 | "serve": "vitepress serve docs" 12 | }, 13 | "author": "", 14 | "license": "ISC", 15 | "devDependencies": { 16 | "vitepress": "1.0.0-rc.35", 17 | "vue": "^3.2.37" 18 | }, 19 | "dependencies": { 20 | "vite": "4", 21 | "vitepress-plugin-search": "link:.." 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /demo/pnpm-lock.yaml: -------------------------------------------------------------------------------- 1 | lockfileVersion: 5.4 2 | 3 | specifiers: 4 | vite: '4' 5 | vitepress: 1.0.0-rc.35 6 | vitepress-plugin-search: link:.. 7 | vue: ^3.2.37 8 | 9 | dependencies: 10 | vite: 4.0.1 11 | vitepress-plugin-search: link:.. 12 | 13 | devDependencies: 14 | vitepress: 1.0.0-rc.35_fpdpe25nxnl2nnchxbpjwr7cn4 15 | vue: 3.2.45 16 | 17 | packages: 18 | 19 | /@algolia/autocomplete-core/1.9.3_u43zsokib7mjcbvyvsp25skayq: 20 | resolution: {integrity: sha512-009HdfugtGCdC4JdXUbVJClA0q0zh24yyePn+KUGk3rP7j8FEe/m5Yo/z65gn6nP/cM39PxpzqKrL7A6fP6PPw==} 21 | dependencies: 22 | '@algolia/autocomplete-plugin-algolia-insights': 1.9.3_u43zsokib7mjcbvyvsp25skayq 23 | '@algolia/autocomplete-shared': 1.9.3_udetasf7idxfl6psxq66rvxxue 24 | transitivePeerDependencies: 25 | - '@algolia/client-search' 26 | - algoliasearch 27 | - search-insights 28 | dev: true 29 | 30 | /@algolia/autocomplete-plugin-algolia-insights/1.9.3_u43zsokib7mjcbvyvsp25skayq: 31 | resolution: {integrity: sha512-a/yTUkcO/Vyy+JffmAnTWbr4/90cLzw+CC3bRbhnULr/EM0fGNvM13oQQ14f2moLMcVDyAx/leczLlAOovhSZg==} 32 | peerDependencies: 33 | search-insights: '>= 1 < 3' 34 | dependencies: 35 | '@algolia/autocomplete-shared': 1.9.3_udetasf7idxfl6psxq66rvxxue 36 | search-insights: 2.13.0 37 | transitivePeerDependencies: 38 | - '@algolia/client-search' 39 | - algoliasearch 40 | dev: true 41 | 42 | /@algolia/autocomplete-preset-algolia/1.9.3_udetasf7idxfl6psxq66rvxxue: 43 | resolution: {integrity: sha512-d4qlt6YmrLMYy95n5TB52wtNDr6EgAIPH81dvvvW8UmuWRgxEtY0NJiPwl/h95JtG2vmRM804M0DSwMCNZlzRA==} 44 | peerDependencies: 45 | '@algolia/client-search': '>= 4.9.1 < 6' 46 | algoliasearch: '>= 4.9.1 < 6' 47 | dependencies: 48 | '@algolia/autocomplete-shared': 1.9.3_udetasf7idxfl6psxq66rvxxue 49 | '@algolia/client-search': 4.22.0 50 | algoliasearch: 4.22.0 51 | dev: true 52 | 53 | /@algolia/autocomplete-shared/1.9.3_udetasf7idxfl6psxq66rvxxue: 54 | resolution: {integrity: sha512-Wnm9E4Ye6Rl6sTTqjoymD+l8DjSTHsHboVRYrKgEt8Q7UHm9nYbqhN/i0fhUYA3OAEH7WA8x3jfpnmJm3rKvaQ==} 55 | peerDependencies: 56 | '@algolia/client-search': '>= 4.9.1 < 6' 57 | algoliasearch: '>= 4.9.1 < 6' 58 | dependencies: 59 | '@algolia/client-search': 4.22.0 60 | algoliasearch: 4.22.0 61 | dev: true 62 | 63 | /@algolia/cache-browser-local-storage/4.22.0: 64 | resolution: {integrity: sha512-uZ1uZMLDZb4qODLfTSNHxSi4fH9RdrQf7DXEzW01dS8XK7QFtFh29N5NGKa9S+Yudf1vUMIF+/RiL4i/J0pWlQ==} 65 | dependencies: 66 | '@algolia/cache-common': 4.22.0 67 | dev: true 68 | 69 | /@algolia/cache-common/4.22.0: 70 | resolution: {integrity: sha512-TPwUMlIGPN16eW67qamNQUmxNiGHg/WBqWcrOoCddhqNTqGDPVqmgfaM85LPbt24t3r1z0zEz/tdsmuq3Q6oaA==} 71 | dev: true 72 | 73 | /@algolia/cache-in-memory/4.22.0: 74 | resolution: {integrity: sha512-kf4Cio9NpPjzp1+uXQgL4jsMDeck7MP89BYThSvXSjf2A6qV/0KeqQf90TL2ECS02ovLOBXkk98P7qVarM+zGA==} 75 | dependencies: 76 | '@algolia/cache-common': 4.22.0 77 | dev: true 78 | 79 | /@algolia/client-account/4.22.0: 80 | resolution: {integrity: sha512-Bjb5UXpWmJT+yGWiqAJL0prkENyEZTBzdC+N1vBuHjwIJcjLMjPB6j1hNBRbT12Lmwi55uzqeMIKS69w+0aPzA==} 81 | dependencies: 82 | '@algolia/client-common': 4.22.0 83 | '@algolia/client-search': 4.22.0 84 | '@algolia/transporter': 4.22.0 85 | dev: true 86 | 87 | /@algolia/client-analytics/4.22.0: 88 | resolution: {integrity: sha512-os2K+kHUcwwRa4ArFl5p/3YbF9lN3TLOPkbXXXxOvDpqFh62n9IRZuzfxpHxMPKAQS3Et1s0BkKavnNP02E9Hg==} 89 | dependencies: 90 | '@algolia/client-common': 4.22.0 91 | '@algolia/client-search': 4.22.0 92 | '@algolia/requester-common': 4.22.0 93 | '@algolia/transporter': 4.22.0 94 | dev: true 95 | 96 | /@algolia/client-common/4.22.0: 97 | resolution: {integrity: sha512-BlbkF4qXVWuwTmYxVWvqtatCR3lzXwxx628p1wj1Q7QP2+LsTmGt1DiUYRuy9jG7iMsnlExby6kRMOOlbhv2Ag==} 98 | dependencies: 99 | '@algolia/requester-common': 4.22.0 100 | '@algolia/transporter': 4.22.0 101 | dev: true 102 | 103 | /@algolia/client-personalization/4.22.0: 104 | resolution: {integrity: sha512-pEOftCxeBdG5pL97WngOBi9w5Vxr5KCV2j2D+xMVZH8MuU/JX7CglDSDDb0ffQWYqcUN+40Ry+xtXEYaGXTGow==} 105 | dependencies: 106 | '@algolia/client-common': 4.22.0 107 | '@algolia/requester-common': 4.22.0 108 | '@algolia/transporter': 4.22.0 109 | dev: true 110 | 111 | /@algolia/client-search/4.22.0: 112 | resolution: {integrity: sha512-bn4qQiIdRPBGCwsNuuqB8rdHhGKKWIij9OqidM1UkQxnSG8yzxHdb7CujM30pvp5EnV7jTqDZRbxacbjYVW20Q==} 113 | dependencies: 114 | '@algolia/client-common': 4.22.0 115 | '@algolia/requester-common': 4.22.0 116 | '@algolia/transporter': 4.22.0 117 | dev: true 118 | 119 | /@algolia/logger-common/4.22.0: 120 | resolution: {integrity: sha512-HMUQTID0ucxNCXs5d1eBJ5q/HuKg8rFVE/vOiLaM4Abfeq1YnTtGV3+rFEhOPWhRQxNDd+YHa4q864IMc0zHpQ==} 121 | dev: true 122 | 123 | /@algolia/logger-console/4.22.0: 124 | resolution: {integrity: sha512-7JKb6hgcY64H7CRm3u6DRAiiEVXMvCJV5gRE672QFOUgDxo4aiDpfU61g6Uzy8NKjlEzHMmgG4e2fklELmPXhQ==} 125 | dependencies: 126 | '@algolia/logger-common': 4.22.0 127 | dev: true 128 | 129 | /@algolia/requester-browser-xhr/4.22.0: 130 | resolution: {integrity: sha512-BHfv1h7P9/SyvcDJDaRuIwDu2yrDLlXlYmjvaLZTtPw6Ok/ZVhBR55JqW832XN/Fsl6k3LjdkYHHR7xnsa5Wvg==} 131 | dependencies: 132 | '@algolia/requester-common': 4.22.0 133 | dev: true 134 | 135 | /@algolia/requester-common/4.22.0: 136 | resolution: {integrity: sha512-Y9cEH/cKjIIZgzvI1aI0ARdtR/xRrOR13g5psCxkdhpgRN0Vcorx+zePhmAa4jdQNqexpxtkUdcKYugBzMZJgQ==} 137 | dev: true 138 | 139 | /@algolia/requester-node-http/4.22.0: 140 | resolution: {integrity: sha512-8xHoGpxVhz3u2MYIieHIB6MsnX+vfd5PS4REgglejJ6lPigftRhTdBCToe6zbwq4p0anZXjjPDvNWMlgK2+xYA==} 141 | dependencies: 142 | '@algolia/requester-common': 4.22.0 143 | dev: true 144 | 145 | /@algolia/transporter/4.22.0: 146 | resolution: {integrity: sha512-ieO1k8x2o77GNvOoC+vAkFKppydQSVfbjM3YrSjLmgywiBejPTvU1R1nEvG59JIIUvtSLrZsLGPkd6vL14zopA==} 147 | dependencies: 148 | '@algolia/cache-common': 4.22.0 149 | '@algolia/logger-common': 4.22.0 150 | '@algolia/requester-common': 4.22.0 151 | dev: true 152 | 153 | /@babel/helper-string-parser/7.19.4: 154 | resolution: {integrity: sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==} 155 | engines: {node: '>=6.9.0'} 156 | dev: true 157 | 158 | /@babel/helper-validator-identifier/7.19.1: 159 | resolution: {integrity: sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==} 160 | engines: {node: '>=6.9.0'} 161 | dev: true 162 | 163 | /@babel/parser/7.20.5: 164 | resolution: {integrity: sha512-r27t/cy/m9uKLXQNWWebeCUHgnAZq0CpG1OwKRxzJMP1vpSU4bSIK2hq+/cp0bQxetkXx38n09rNu8jVkcK/zA==} 165 | engines: {node: '>=6.0.0'} 166 | hasBin: true 167 | dependencies: 168 | '@babel/types': 7.20.5 169 | dev: true 170 | 171 | /@babel/parser/7.23.6: 172 | resolution: {integrity: sha512-Z2uID7YJ7oNvAI20O9X0bblw7Qqs8Q2hFy0R9tAfnfLkp5MW0UH9eUvnDSnFwKZ0AvgS1ucqR4KzvVHgnke1VQ==} 173 | engines: {node: '>=6.0.0'} 174 | hasBin: true 175 | dependencies: 176 | '@babel/types': 7.20.5 177 | dev: true 178 | 179 | /@babel/types/7.20.5: 180 | resolution: {integrity: sha512-c9fst/h2/dcF7H+MJKZ2T0KjEQ8hY/BNnDk/H3XY8C4Aw/eWQXWn/lWntHF9ooUBnGmEvbfGrTgLWc+um0YDUg==} 181 | engines: {node: '>=6.9.0'} 182 | dependencies: 183 | '@babel/helper-string-parser': 7.19.4 184 | '@babel/helper-validator-identifier': 7.19.1 185 | to-fast-properties: 2.0.0 186 | dev: true 187 | 188 | /@docsearch/css/3.5.2: 189 | resolution: {integrity: sha512-SPiDHaWKQZpwR2siD0KQUwlStvIAnEyK6tAE2h2Wuoq8ue9skzhlyVQ1ddzOxX6khULnAALDiR/isSF3bnuciA==} 190 | dev: true 191 | 192 | /@docsearch/js/3.5.2_fpdpe25nxnl2nnchxbpjwr7cn4: 193 | resolution: {integrity: sha512-p1YFTCDflk8ieHgFJYfmyHBki1D61+U9idwrLh+GQQMrBSP3DLGKpy0XUJtPjAOPltcVbqsTjiPFfH7JImjUNg==} 194 | dependencies: 195 | '@docsearch/react': 3.5.2_fpdpe25nxnl2nnchxbpjwr7cn4 196 | preact: 10.19.3 197 | transitivePeerDependencies: 198 | - '@algolia/client-search' 199 | - '@types/react' 200 | - react 201 | - react-dom 202 | - search-insights 203 | dev: true 204 | 205 | /@docsearch/react/3.5.2_fpdpe25nxnl2nnchxbpjwr7cn4: 206 | resolution: {integrity: sha512-9Ahcrs5z2jq/DcAvYtvlqEBHImbm4YJI8M9y0x6Tqg598P40HTEkX7hsMcIuThI+hTFxRGZ9hll0Wygm2yEjng==} 207 | peerDependencies: 208 | '@types/react': '>= 16.8.0 < 19.0.0' 209 | react: '>= 16.8.0 < 19.0.0' 210 | react-dom: '>= 16.8.0 < 19.0.0' 211 | search-insights: '>= 1 < 3' 212 | peerDependenciesMeta: 213 | '@types/react': 214 | optional: true 215 | react: 216 | optional: true 217 | react-dom: 218 | optional: true 219 | search-insights: 220 | optional: true 221 | dependencies: 222 | '@algolia/autocomplete-core': 1.9.3_u43zsokib7mjcbvyvsp25skayq 223 | '@algolia/autocomplete-preset-algolia': 1.9.3_udetasf7idxfl6psxq66rvxxue 224 | '@docsearch/css': 3.5.2 225 | algoliasearch: 4.22.0 226 | search-insights: 2.13.0 227 | transitivePeerDependencies: 228 | - '@algolia/client-search' 229 | dev: true 230 | 231 | /@esbuild/aix-ppc64/0.19.11: 232 | resolution: {integrity: sha512-FnzU0LyE3ySQk7UntJO4+qIiQgI7KoODnZg5xzXIrFJlKd2P2gwHsHY4927xj9y5PJmJSzULiUCWmv7iWnNa7g==} 233 | engines: {node: '>=12'} 234 | cpu: [ppc64] 235 | os: [aix] 236 | requiresBuild: true 237 | dev: true 238 | optional: true 239 | 240 | /@esbuild/android-arm/0.16.7: 241 | resolution: {integrity: sha512-yhzDbiVcmq6T1/XEvdcJIVcXHdLjDJ5cQ0Dp9R9p9ERMBTeO1dR5tc8YYv8zwDeBw1xZm+Eo3MRo8cwclhBS0g==} 242 | engines: {node: '>=12'} 243 | cpu: [arm] 244 | os: [android] 245 | requiresBuild: true 246 | dev: false 247 | optional: true 248 | 249 | /@esbuild/android-arm/0.19.11: 250 | resolution: {integrity: sha512-5OVapq0ClabvKvQ58Bws8+wkLCV+Rxg7tUVbo9xu034Nm536QTII4YzhaFriQ7rMrorfnFKUsArD2lqKbFY4vw==} 251 | engines: {node: '>=12'} 252 | cpu: [arm] 253 | os: [android] 254 | requiresBuild: true 255 | dev: true 256 | optional: true 257 | 258 | /@esbuild/android-arm64/0.16.7: 259 | resolution: {integrity: sha512-tYFw0lBJSEvLoGzzYh1kXuzoX1iPkbOk3O29VqzQb0HbOy7t/yw1hGkvwoJhXHwzQUPsShyYcTgRf6bDBcfnTw==} 260 | engines: {node: '>=12'} 261 | cpu: [arm64] 262 | os: [android] 263 | requiresBuild: true 264 | dev: false 265 | optional: true 266 | 267 | /@esbuild/android-arm64/0.19.11: 268 | resolution: {integrity: sha512-aiu7K/5JnLj//KOnOfEZ0D90obUkRzDMyqd/wNAUQ34m4YUPVhRZpnqKV9uqDGxT7cToSDnIHsGooyIczu9T+Q==} 269 | engines: {node: '>=12'} 270 | cpu: [arm64] 271 | os: [android] 272 | requiresBuild: true 273 | dev: true 274 | optional: true 275 | 276 | /@esbuild/android-x64/0.16.7: 277 | resolution: {integrity: sha512-3P2OuTxwAtM3k/yEWTNUJRjMPG1ce8rXs51GTtvEC5z1j8fC1plHeVVczdeHECU7aM2/Buc0MwZ6ciM/zysnWg==} 278 | engines: {node: '>=12'} 279 | cpu: [x64] 280 | os: [android] 281 | requiresBuild: true 282 | dev: false 283 | optional: true 284 | 285 | /@esbuild/android-x64/0.19.11: 286 | resolution: {integrity: sha512-eccxjlfGw43WYoY9QgB82SgGgDbibcqyDTlk3l3C0jOVHKxrjdc9CTwDUQd0vkvYg5um0OH+GpxYvp39r+IPOg==} 287 | engines: {node: '>=12'} 288 | cpu: [x64] 289 | os: [android] 290 | requiresBuild: true 291 | dev: true 292 | optional: true 293 | 294 | /@esbuild/darwin-arm64/0.16.7: 295 | resolution: {integrity: sha512-VUb9GK23z8jkosHU9yJNUgQpsfJn+7ZyBm6adi2Ec5/U241eR1tAn82QicnUzaFDaffeixiHwikjmnec/YXEZg==} 296 | engines: {node: '>=12'} 297 | cpu: [arm64] 298 | os: [darwin] 299 | requiresBuild: true 300 | dev: false 301 | optional: true 302 | 303 | /@esbuild/darwin-arm64/0.19.11: 304 | resolution: {integrity: sha512-ETp87DRWuSt9KdDVkqSoKoLFHYTrkyz2+65fj9nfXsaV3bMhTCjtQfw3y+um88vGRKRiF7erPrh/ZuIdLUIVxQ==} 305 | engines: {node: '>=12'} 306 | cpu: [arm64] 307 | os: [darwin] 308 | requiresBuild: true 309 | dev: true 310 | optional: true 311 | 312 | /@esbuild/darwin-x64/0.16.7: 313 | resolution: {integrity: sha512-duterlv3tit3HI9vhzMWnSVaB1B6YsXpFq1Ntd6Fou82BB1l4tucYy3FI9dHv3tvtDuS0NiGf/k6XsdBqPZ01w==} 314 | engines: {node: '>=12'} 315 | cpu: [x64] 316 | os: [darwin] 317 | requiresBuild: true 318 | dev: false 319 | optional: true 320 | 321 | /@esbuild/darwin-x64/0.19.11: 322 | resolution: {integrity: sha512-fkFUiS6IUK9WYUO/+22omwetaSNl5/A8giXvQlcinLIjVkxwTLSktbF5f/kJMftM2MJp9+fXqZ5ezS7+SALp4g==} 323 | engines: {node: '>=12'} 324 | cpu: [x64] 325 | os: [darwin] 326 | requiresBuild: true 327 | dev: true 328 | optional: true 329 | 330 | /@esbuild/freebsd-arm64/0.16.7: 331 | resolution: {integrity: sha512-9kkycpBFes/vhi7B7o0cf+q2WdJi+EpVzpVTqtWFNiutARWDFFLcB93J8PR1cG228sucsl3B+7Ts27izE6qiaQ==} 332 | engines: {node: '>=12'} 333 | cpu: [arm64] 334 | os: [freebsd] 335 | requiresBuild: true 336 | dev: false 337 | optional: true 338 | 339 | /@esbuild/freebsd-arm64/0.19.11: 340 | resolution: {integrity: sha512-lhoSp5K6bxKRNdXUtHoNc5HhbXVCS8V0iZmDvyWvYq9S5WSfTIHU2UGjcGt7UeS6iEYp9eeymIl5mJBn0yiuxA==} 341 | engines: {node: '>=12'} 342 | cpu: [arm64] 343 | os: [freebsd] 344 | requiresBuild: true 345 | dev: true 346 | optional: true 347 | 348 | /@esbuild/freebsd-x64/0.16.7: 349 | resolution: {integrity: sha512-5Ahf6jzWXJ4J2uh9dpy5DKOO+PeRUE/9DMys6VuYfwgQzd6n5+pVFm58L2Z2gRe611RX6SdydnNaiIKM3svY7g==} 350 | engines: {node: '>=12'} 351 | cpu: [x64] 352 | os: [freebsd] 353 | requiresBuild: true 354 | dev: false 355 | optional: true 356 | 357 | /@esbuild/freebsd-x64/0.19.11: 358 | resolution: {integrity: sha512-JkUqn44AffGXitVI6/AbQdoYAq0TEullFdqcMY/PCUZ36xJ9ZJRtQabzMA+Vi7r78+25ZIBosLTOKnUXBSi1Kw==} 359 | engines: {node: '>=12'} 360 | cpu: [x64] 361 | os: [freebsd] 362 | requiresBuild: true 363 | dev: true 364 | optional: true 365 | 366 | /@esbuild/linux-arm/0.16.7: 367 | resolution: {integrity: sha512-QqJnyCfu5OF78Olt7JJSZ7OSv/B4Hf+ZJWp4kkq9xwMsgu7yWq3crIic8gGOpDYTqVKKMDAVDgRXy5Wd/nWZyQ==} 368 | engines: {node: '>=12'} 369 | cpu: [arm] 370 | os: [linux] 371 | requiresBuild: true 372 | dev: false 373 | optional: true 374 | 375 | /@esbuild/linux-arm/0.19.11: 376 | resolution: {integrity: sha512-3CRkr9+vCV2XJbjwgzjPtO8T0SZUmRZla+UL1jw+XqHZPkPgZiyWvbDvl9rqAN8Zl7qJF0O/9ycMtjU67HN9/Q==} 377 | engines: {node: '>=12'} 378 | cpu: [arm] 379 | os: [linux] 380 | requiresBuild: true 381 | dev: true 382 | optional: true 383 | 384 | /@esbuild/linux-arm64/0.16.7: 385 | resolution: {integrity: sha512-2wv0xYDskk2+MzIm/AEprDip39a23Chptc4mL7hsHg26P0gD8RUhzmDu0KCH2vMThUI1sChXXoK9uH0KYQKaDg==} 386 | engines: {node: '>=12'} 387 | cpu: [arm64] 388 | os: [linux] 389 | requiresBuild: true 390 | dev: false 391 | optional: true 392 | 393 | /@esbuild/linux-arm64/0.19.11: 394 | resolution: {integrity: sha512-LneLg3ypEeveBSMuoa0kwMpCGmpu8XQUh+mL8XXwoYZ6Be2qBnVtcDI5azSvh7vioMDhoJFZzp9GWp9IWpYoUg==} 395 | engines: {node: '>=12'} 396 | cpu: [arm64] 397 | os: [linux] 398 | requiresBuild: true 399 | dev: true 400 | optional: true 401 | 402 | /@esbuild/linux-ia32/0.16.7: 403 | resolution: {integrity: sha512-APVYbEilKbD5ptmKdnIcXej2/+GdV65TfTjxR2Uk8t1EsOk49t6HapZW6DS/Bwlvh5hDwtLapdSumIVNGxgqLg==} 404 | engines: {node: '>=12'} 405 | cpu: [ia32] 406 | os: [linux] 407 | requiresBuild: true 408 | dev: false 409 | optional: true 410 | 411 | /@esbuild/linux-ia32/0.19.11: 412 | resolution: {integrity: sha512-caHy++CsD8Bgq2V5CodbJjFPEiDPq8JJmBdeyZ8GWVQMjRD0sU548nNdwPNvKjVpamYYVL40AORekgfIubwHoA==} 413 | engines: {node: '>=12'} 414 | cpu: [ia32] 415 | os: [linux] 416 | requiresBuild: true 417 | dev: true 418 | optional: true 419 | 420 | /@esbuild/linux-loong64/0.16.7: 421 | resolution: {integrity: sha512-5wPUAGclplQrAW7EFr3F84Y/d++7G0KykohaF4p54+iNWhUnMVU8Bh2sxiEOXUy4zKIdpHByMgJ5/Ko6QhtTUw==} 422 | engines: {node: '>=12'} 423 | cpu: [loong64] 424 | os: [linux] 425 | requiresBuild: true 426 | dev: false 427 | optional: true 428 | 429 | /@esbuild/linux-loong64/0.19.11: 430 | resolution: {integrity: sha512-ppZSSLVpPrwHccvC6nQVZaSHlFsvCQyjnvirnVjbKSHuE5N24Yl8F3UwYUUR1UEPaFObGD2tSvVKbvR+uT1Nrg==} 431 | engines: {node: '>=12'} 432 | cpu: [loong64] 433 | os: [linux] 434 | requiresBuild: true 435 | dev: true 436 | optional: true 437 | 438 | /@esbuild/linux-mips64el/0.16.7: 439 | resolution: {integrity: sha512-hxzlXtWF6yWfkE/SMTscNiVqLOAn7fOuIF3q/kiZaXxftz1DhZW/HpnTmTTWrzrS7zJWQxHHT4QSxyAj33COmA==} 440 | engines: {node: '>=12'} 441 | cpu: [mips64el] 442 | os: [linux] 443 | requiresBuild: true 444 | dev: false 445 | optional: true 446 | 447 | /@esbuild/linux-mips64el/0.19.11: 448 | resolution: {integrity: sha512-B5x9j0OgjG+v1dF2DkH34lr+7Gmv0kzX6/V0afF41FkPMMqaQ77pH7CrhWeR22aEeHKaeZVtZ6yFwlxOKPVFyg==} 449 | engines: {node: '>=12'} 450 | cpu: [mips64el] 451 | os: [linux] 452 | requiresBuild: true 453 | dev: true 454 | optional: true 455 | 456 | /@esbuild/linux-ppc64/0.16.7: 457 | resolution: {integrity: sha512-WM83Dac0LdXty5xPhlOuCD5Egfk1xLND/oRLYeB7Jb/tY4kzFSDgLlq91wYbHua/s03tQGA9iXvyjgymMw62Vw==} 458 | engines: {node: '>=12'} 459 | cpu: [ppc64] 460 | os: [linux] 461 | requiresBuild: true 462 | dev: false 463 | optional: true 464 | 465 | /@esbuild/linux-ppc64/0.19.11: 466 | resolution: {integrity: sha512-MHrZYLeCG8vXblMetWyttkdVRjQlQUb/oMgBNurVEnhj4YWOr4G5lmBfZjHYQHHN0g6yDmCAQRR8MUHldvvRDA==} 467 | engines: {node: '>=12'} 468 | cpu: [ppc64] 469 | os: [linux] 470 | requiresBuild: true 471 | dev: true 472 | optional: true 473 | 474 | /@esbuild/linux-riscv64/0.16.7: 475 | resolution: {integrity: sha512-3nkNnNg4Ax6MS/l8O8Ynq2lGEVJYyJ2EoY3PHjNJ4PuZ80EYLMrFTFZ4L/Hc16AxgtXKwmNP9TM0YKNiBzBiJQ==} 476 | engines: {node: '>=12'} 477 | cpu: [riscv64] 478 | os: [linux] 479 | requiresBuild: true 480 | dev: false 481 | optional: true 482 | 483 | /@esbuild/linux-riscv64/0.19.11: 484 | resolution: {integrity: sha512-f3DY++t94uVg141dozDu4CCUkYW+09rWtaWfnb3bqe4w5NqmZd6nPVBm+qbz7WaHZCoqXqHz5p6CM6qv3qnSSQ==} 485 | engines: {node: '>=12'} 486 | cpu: [riscv64] 487 | os: [linux] 488 | requiresBuild: true 489 | dev: true 490 | optional: true 491 | 492 | /@esbuild/linux-s390x/0.16.7: 493 | resolution: {integrity: sha512-3SA/2VJuv0o1uD7zuqxEP+RrAyRxnkGddq0bwHQ98v1KNlzXD/JvxwTO3T6GM5RH6JUd29RTVQTOJfyzMkkppA==} 494 | engines: {node: '>=12'} 495 | cpu: [s390x] 496 | os: [linux] 497 | requiresBuild: true 498 | dev: false 499 | optional: true 500 | 501 | /@esbuild/linux-s390x/0.19.11: 502 | resolution: {integrity: sha512-A5xdUoyWJHMMlcSMcPGVLzYzpcY8QP1RtYzX5/bS4dvjBGVxdhuiYyFwp7z74ocV7WDc0n1harxmpq2ePOjI0Q==} 503 | engines: {node: '>=12'} 504 | cpu: [s390x] 505 | os: [linux] 506 | requiresBuild: true 507 | dev: true 508 | optional: true 509 | 510 | /@esbuild/linux-x64/0.16.7: 511 | resolution: {integrity: sha512-xi/tbqCqvPIzU+zJVyrpz12xqciTAPMi2fXEWGnapZymoGhuL2GIWIRXg4O2v5BXaYA5TSaiKYE14L0QhUTuQg==} 512 | engines: {node: '>=12'} 513 | cpu: [x64] 514 | os: [linux] 515 | requiresBuild: true 516 | dev: false 517 | optional: true 518 | 519 | /@esbuild/linux-x64/0.19.11: 520 | resolution: {integrity: sha512-grbyMlVCvJSfxFQUndw5mCtWs5LO1gUlwP4CDi4iJBbVpZcqLVT29FxgGuBJGSzyOxotFG4LoO5X+M1350zmPA==} 521 | engines: {node: '>=12'} 522 | cpu: [x64] 523 | os: [linux] 524 | requiresBuild: true 525 | dev: true 526 | optional: true 527 | 528 | /@esbuild/netbsd-x64/0.16.7: 529 | resolution: {integrity: sha512-NUsYbq3B+JdNKn8SXkItFvdes9qTwEoS3aLALtiWciW/ystiCKM20Fgv9XQBOXfhUHyh5CLEeZDXzLOrwBXuCQ==} 530 | engines: {node: '>=12'} 531 | cpu: [x64] 532 | os: [netbsd] 533 | requiresBuild: true 534 | dev: false 535 | optional: true 536 | 537 | /@esbuild/netbsd-x64/0.19.11: 538 | resolution: {integrity: sha512-13jvrQZJc3P230OhU8xgwUnDeuC/9egsjTkXN49b3GcS5BKvJqZn86aGM8W9pd14Kd+u7HuFBMVtrNGhh6fHEQ==} 539 | engines: {node: '>=12'} 540 | cpu: [x64] 541 | os: [netbsd] 542 | requiresBuild: true 543 | dev: true 544 | optional: true 545 | 546 | /@esbuild/openbsd-x64/0.16.7: 547 | resolution: {integrity: sha512-qjwzsgeve9I8Tbsko2FEkdSk2iiezuNGFgipQxY/736NePXDaDZRodIejYGWOlbYXugdxb0nif5yvypH6lKBmA==} 548 | engines: {node: '>=12'} 549 | cpu: [x64] 550 | os: [openbsd] 551 | requiresBuild: true 552 | dev: false 553 | optional: true 554 | 555 | /@esbuild/openbsd-x64/0.19.11: 556 | resolution: {integrity: sha512-ysyOGZuTp6SNKPE11INDUeFVVQFrhcNDVUgSQVDzqsqX38DjhPEPATpid04LCoUr2WXhQTEZ8ct/EgJCUDpyNw==} 557 | engines: {node: '>=12'} 558 | cpu: [x64] 559 | os: [openbsd] 560 | requiresBuild: true 561 | dev: true 562 | optional: true 563 | 564 | /@esbuild/sunos-x64/0.16.7: 565 | resolution: {integrity: sha512-mFWDz4RoBTzPphTCkM7Kc7Qpa0o/Z01acajR+Ai7LdfKgcP/C6jYOaKwv7nKzD0+MjOT20j7You9g4ozYy1dKQ==} 566 | engines: {node: '>=12'} 567 | cpu: [x64] 568 | os: [sunos] 569 | requiresBuild: true 570 | dev: false 571 | optional: true 572 | 573 | /@esbuild/sunos-x64/0.19.11: 574 | resolution: {integrity: sha512-Hf+Sad9nVwvtxy4DXCZQqLpgmRTQqyFyhT3bZ4F2XlJCjxGmRFF0Shwn9rzhOYRB61w9VMXUkxlBy56dk9JJiQ==} 575 | engines: {node: '>=12'} 576 | cpu: [x64] 577 | os: [sunos] 578 | requiresBuild: true 579 | dev: true 580 | optional: true 581 | 582 | /@esbuild/win32-arm64/0.16.7: 583 | resolution: {integrity: sha512-m39UmX19RvEIuC8sYZ0M+eQtdXw4IePDSZ78ZQmYyFaXY9krq4YzQCK2XWIJomNLtg4q+W5aXr8bW3AbqWNoVg==} 584 | engines: {node: '>=12'} 585 | cpu: [arm64] 586 | os: [win32] 587 | requiresBuild: true 588 | dev: false 589 | optional: true 590 | 591 | /@esbuild/win32-arm64/0.19.11: 592 | resolution: {integrity: sha512-0P58Sbi0LctOMOQbpEOvOL44Ne0sqbS0XWHMvvrg6NE5jQ1xguCSSw9jQeUk2lfrXYsKDdOe6K+oZiwKPilYPQ==} 593 | engines: {node: '>=12'} 594 | cpu: [arm64] 595 | os: [win32] 596 | requiresBuild: true 597 | dev: true 598 | optional: true 599 | 600 | /@esbuild/win32-ia32/0.16.7: 601 | resolution: {integrity: sha512-1cbzSEZA1fANwmT6rjJ4G1qQXHxCxGIcNYFYR9ctI82/prT38lnwSRZ0i5p/MVXksw9eMlHlet6pGu2/qkXFCg==} 602 | engines: {node: '>=12'} 603 | cpu: [ia32] 604 | os: [win32] 605 | requiresBuild: true 606 | dev: false 607 | optional: true 608 | 609 | /@esbuild/win32-ia32/0.19.11: 610 | resolution: {integrity: sha512-6YOrWS+sDJDmshdBIQU+Uoyh7pQKrdykdefC1avn76ss5c+RN6gut3LZA4E2cH5xUEp5/cA0+YxRaVtRAb0xBg==} 611 | engines: {node: '>=12'} 612 | cpu: [ia32] 613 | os: [win32] 614 | requiresBuild: true 615 | dev: true 616 | optional: true 617 | 618 | /@esbuild/win32-x64/0.16.7: 619 | resolution: {integrity: sha512-QaQ8IH0JLacfGf5cf0HCCPnQuCTd/dAI257vXBgb/cccKGbH/6pVtI1gwhdAQ0Y48QSpTIFrh9etVyNdZY+zzw==} 620 | engines: {node: '>=12'} 621 | cpu: [x64] 622 | os: [win32] 623 | requiresBuild: true 624 | dev: false 625 | optional: true 626 | 627 | /@esbuild/win32-x64/0.19.11: 628 | resolution: {integrity: sha512-vfkhltrjCAb603XaFhqhAF4LGDi2M4OrCRrFusyQ+iTLQ/o60QQXxc9cZC/FFpihBI9N1Grn6SMKVJ4KP7Fuiw==} 629 | engines: {node: '>=12'} 630 | cpu: [x64] 631 | os: [win32] 632 | requiresBuild: true 633 | dev: true 634 | optional: true 635 | 636 | /@jridgewell/sourcemap-codec/1.4.15: 637 | resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} 638 | dev: true 639 | 640 | /@rollup/rollup-android-arm-eabi/4.9.2: 641 | resolution: {integrity: sha512-RKzxFxBHq9ysZ83fn8Iduv3A283K7zPPYuhL/z9CQuyFrjwpErJx0h4aeb/bnJ+q29GRLgJpY66ceQ/Wcsn3wA==} 642 | cpu: [arm] 643 | os: [android] 644 | requiresBuild: true 645 | dev: true 646 | optional: true 647 | 648 | /@rollup/rollup-android-arm64/4.9.2: 649 | resolution: {integrity: sha512-yZ+MUbnwf3SHNWQKJyWh88ii2HbuHCFQnAYTeeO1Nb8SyEiWASEi5dQUygt3ClHWtA9My9RQAYkjvrsZ0WK8Xg==} 650 | cpu: [arm64] 651 | os: [android] 652 | requiresBuild: true 653 | dev: true 654 | optional: true 655 | 656 | /@rollup/rollup-darwin-arm64/4.9.2: 657 | resolution: {integrity: sha512-vqJ/pAUh95FLc/G/3+xPqlSBgilPnauVf2EXOQCZzhZJCXDXt/5A8mH/OzU6iWhb3CNk5hPJrh8pqJUPldN5zw==} 658 | cpu: [arm64] 659 | os: [darwin] 660 | requiresBuild: true 661 | dev: true 662 | optional: true 663 | 664 | /@rollup/rollup-darwin-x64/4.9.2: 665 | resolution: {integrity: sha512-otPHsN5LlvedOprd3SdfrRNhOahhVBwJpepVKUN58L0RnC29vOAej1vMEaVU6DadnpjivVsNTM5eNt0CcwTahw==} 666 | cpu: [x64] 667 | os: [darwin] 668 | requiresBuild: true 669 | dev: true 670 | optional: true 671 | 672 | /@rollup/rollup-linux-arm-gnueabihf/4.9.2: 673 | resolution: {integrity: sha512-ewG5yJSp+zYKBYQLbd1CUA7b1lSfIdo9zJShNTyc2ZP1rcPrqyZcNlsHgs7v1zhgfdS+kW0p5frc0aVqhZCiYQ==} 674 | cpu: [arm] 675 | os: [linux] 676 | requiresBuild: true 677 | dev: true 678 | optional: true 679 | 680 | /@rollup/rollup-linux-arm64-gnu/4.9.2: 681 | resolution: {integrity: sha512-pL6QtV26W52aCWTG1IuFV3FMPL1m4wbsRG+qijIvgFO/VBsiXJjDPE/uiMdHBAO6YcpV4KvpKtd0v3WFbaxBtg==} 682 | cpu: [arm64] 683 | os: [linux] 684 | requiresBuild: true 685 | dev: true 686 | optional: true 687 | 688 | /@rollup/rollup-linux-arm64-musl/4.9.2: 689 | resolution: {integrity: sha512-On+cc5EpOaTwPSNetHXBuqylDW+765G/oqB9xGmWU3npEhCh8xu0xqHGUA+4xwZLqBbIZNcBlKSIYfkBm6ko7g==} 690 | cpu: [arm64] 691 | os: [linux] 692 | requiresBuild: true 693 | dev: true 694 | optional: true 695 | 696 | /@rollup/rollup-linux-riscv64-gnu/4.9.2: 697 | resolution: {integrity: sha512-Wnx/IVMSZ31D/cO9HSsU46FjrPWHqtdF8+0eyZ1zIB5a6hXaZXghUKpRrC4D5DcRTZOjml2oBhXoqfGYyXKipw==} 698 | cpu: [riscv64] 699 | os: [linux] 700 | requiresBuild: true 701 | dev: true 702 | optional: true 703 | 704 | /@rollup/rollup-linux-x64-gnu/4.9.2: 705 | resolution: {integrity: sha512-ym5x1cj4mUAMBummxxRkI4pG5Vht1QMsJexwGP8547TZ0sox9fCLDHw9KCH9c1FO5d9GopvkaJsBIOkTKxksdw==} 706 | cpu: [x64] 707 | os: [linux] 708 | requiresBuild: true 709 | dev: true 710 | optional: true 711 | 712 | /@rollup/rollup-linux-x64-musl/4.9.2: 713 | resolution: {integrity: sha512-m0hYELHGXdYx64D6IDDg/1vOJEaiV8f1G/iO+tejvRCJNSwK4jJ15e38JQy5Q6dGkn1M/9KcyEOwqmlZ2kqaZg==} 714 | cpu: [x64] 715 | os: [linux] 716 | requiresBuild: true 717 | dev: true 718 | optional: true 719 | 720 | /@rollup/rollup-win32-arm64-msvc/4.9.2: 721 | resolution: {integrity: sha512-x1CWburlbN5JjG+juenuNa4KdedBdXLjZMp56nHFSHTOsb/MI2DYiGzLtRGHNMyydPGffGId+VgjOMrcltOksA==} 722 | cpu: [arm64] 723 | os: [win32] 724 | requiresBuild: true 725 | dev: true 726 | optional: true 727 | 728 | /@rollup/rollup-win32-ia32-msvc/4.9.2: 729 | resolution: {integrity: sha512-VVzCB5yXR1QlfsH1Xw1zdzQ4Pxuzv+CPr5qpElpKhVxlxD3CRdfubAG9mJROl6/dmj5gVYDDWk8sC+j9BI9/kQ==} 730 | cpu: [ia32] 731 | os: [win32] 732 | requiresBuild: true 733 | dev: true 734 | optional: true 735 | 736 | /@rollup/rollup-win32-x64-msvc/4.9.2: 737 | resolution: {integrity: sha512-SYRedJi+mweatroB+6TTnJYLts0L0bosg531xnQWtklOI6dezEagx4Q0qDyvRdK+qgdA3YZpjjGuPFtxBmddBA==} 738 | cpu: [x64] 739 | os: [win32] 740 | requiresBuild: true 741 | dev: true 742 | optional: true 743 | 744 | /@types/linkify-it/3.0.5: 745 | resolution: {integrity: sha512-yg6E+u0/+Zjva+buc3EIb+29XEg4wltq7cSmd4Uc2EE/1nUVmxyzpX6gUXD0V8jIrG0r7YeOGVIbYRkxeooCtw==} 746 | dev: true 747 | 748 | /@types/markdown-it/13.0.7: 749 | resolution: {integrity: sha512-U/CBi2YUUcTHBt5tjO2r5QV/x0Po6nsYwQU4Y04fBS6vfoImaiZ6f8bi3CjTCxBPQSO1LMyUqkByzi8AidyxfA==} 750 | dependencies: 751 | '@types/linkify-it': 3.0.5 752 | '@types/mdurl': 1.0.5 753 | dev: true 754 | 755 | /@types/mdurl/1.0.5: 756 | resolution: {integrity: sha512-6L6VymKTzYSrEf4Nev4Xa1LCHKrlTlYCBMTlQKFuddo1CvQcE52I0mwfOJayueUC7MJuXOeHTcIU683lzd0cUA==} 757 | dev: true 758 | 759 | /@types/web-bluetooth/0.0.20: 760 | resolution: {integrity: sha512-g9gZnnXVq7gM7v3tJCWV/qw7w+KeOlSHAhgF9RytFyifW6AF61hdT2ucrYhPq9hLs5JIryeupHV3qGk95dH9ow==} 761 | dev: true 762 | 763 | /@vitejs/plugin-vue/5.0.2_vite@5.0.10+vue@3.4.5: 764 | resolution: {integrity: sha512-kEjJHrLb5ePBvjD0SPZwJlw1QTRcjjCA9sB5VyfonoXVBxTS7TMnqL6EkLt1Eu61RDeiuZ/WN9Hf6PxXhPI2uA==} 765 | engines: {node: ^18.0.0 || >=20.0.0} 766 | peerDependencies: 767 | vite: ^5.0.0 768 | vue: ^3.2.25 769 | dependencies: 770 | vite: 5.0.10 771 | vue: 3.4.5 772 | dev: true 773 | 774 | /@vue/compiler-core/3.2.45: 775 | resolution: {integrity: sha512-rcMj7H+PYe5wBV3iYeUgbCglC+pbpN8hBLTJvRiK2eKQiWqu+fG9F+8sW99JdL4LQi7Re178UOxn09puSXvn4A==} 776 | dependencies: 777 | '@babel/parser': 7.20.5 778 | '@vue/shared': 3.2.45 779 | estree-walker: 2.0.2 780 | source-map: 0.6.1 781 | dev: true 782 | 783 | /@vue/compiler-core/3.4.5: 784 | resolution: {integrity: sha512-Daka7P1z2AgKjzuueWXhwzIsKu0NkLB6vGbNVEV2iJ8GJTrzraZo/Sk4GWCMRtd/qVi3zwnk+Owbd/xSZbwHtQ==} 785 | dependencies: 786 | '@babel/parser': 7.23.6 787 | '@vue/shared': 3.4.5 788 | entities: 4.5.0 789 | estree-walker: 2.0.2 790 | source-map-js: 1.0.2 791 | dev: true 792 | 793 | /@vue/compiler-dom/3.2.45: 794 | resolution: {integrity: sha512-tyYeUEuKqqZO137WrZkpwfPCdiiIeXYCcJ8L4gWz9vqaxzIQRccTSwSWZ/Axx5YR2z+LvpUbmPNXxuBU45lyRw==} 795 | dependencies: 796 | '@vue/compiler-core': 3.2.45 797 | '@vue/shared': 3.2.45 798 | dev: true 799 | 800 | /@vue/compiler-dom/3.4.5: 801 | resolution: {integrity: sha512-J8YlxknJVd90SXFJ4HwGANSAXsx5I0lK30sO/zvYV7s5gXf7gZR7r/1BmZ2ju7RGH1lnc6bpBc6nL61yW+PsAQ==} 802 | dependencies: 803 | '@vue/compiler-core': 3.4.5 804 | '@vue/shared': 3.4.5 805 | dev: true 806 | 807 | /@vue/compiler-sfc/3.2.45: 808 | resolution: {integrity: sha512-1jXDuWah1ggsnSAOGsec8cFjT/K6TMZ0sPL3o3d84Ft2AYZi2jWJgRMjw4iaK0rBfA89L5gw427H4n1RZQBu6Q==} 809 | dependencies: 810 | '@babel/parser': 7.20.5 811 | '@vue/compiler-core': 3.2.45 812 | '@vue/compiler-dom': 3.2.45 813 | '@vue/compiler-ssr': 3.2.45 814 | '@vue/reactivity-transform': 3.2.45 815 | '@vue/shared': 3.2.45 816 | estree-walker: 2.0.2 817 | magic-string: 0.25.9 818 | postcss: 8.4.19 819 | source-map: 0.6.1 820 | dev: true 821 | 822 | /@vue/compiler-sfc/3.4.5: 823 | resolution: {integrity: sha512-jauvkDuSSUbP0ebhfNqljhShA90YEfX/0wZ+w40oZF43IjGyWYjqYaJbvMJwGOd+9+vODW6eSvnk28f0SGV7OQ==} 824 | dependencies: 825 | '@babel/parser': 7.23.6 826 | '@vue/compiler-core': 3.4.5 827 | '@vue/compiler-dom': 3.4.5 828 | '@vue/compiler-ssr': 3.4.5 829 | '@vue/shared': 3.4.5 830 | estree-walker: 2.0.2 831 | magic-string: 0.30.5 832 | postcss: 8.4.33 833 | source-map-js: 1.0.2 834 | dev: true 835 | 836 | /@vue/compiler-ssr/3.2.45: 837 | resolution: {integrity: sha512-6BRaggEGqhWht3lt24CrIbQSRD5O07MTmd+LjAn5fJj568+R9eUD2F7wMQJjX859seSlrYog7sUtrZSd7feqrQ==} 838 | dependencies: 839 | '@vue/compiler-dom': 3.2.45 840 | '@vue/shared': 3.2.45 841 | dev: true 842 | 843 | /@vue/compiler-ssr/3.4.5: 844 | resolution: {integrity: sha512-DDdEcDzj2lWTMfUMMtEpLDhURai9LhM0zSZ219jCt7b2Vyl0/jy3keFgCPMitG0V1S1YG4Cmws3lWHWdxHQOpg==} 845 | dependencies: 846 | '@vue/compiler-dom': 3.4.5 847 | '@vue/shared': 3.4.5 848 | dev: true 849 | 850 | /@vue/devtools-api/6.5.1: 851 | resolution: {integrity: sha512-+KpckaAQyfbvshdDW5xQylLni1asvNSGme1JFs8I1+/H5pHEhqUKMEQD/qn3Nx5+/nycBq11qAEi8lk+LXI2dA==} 852 | dev: true 853 | 854 | /@vue/reactivity-transform/3.2.45: 855 | resolution: {integrity: sha512-BHVmzYAvM7vcU5WmuYqXpwaBHjsS8T63jlKGWVtHxAHIoMIlmaMyurUSEs1Zcg46M4AYT5MtB1U274/2aNzjJQ==} 856 | dependencies: 857 | '@babel/parser': 7.20.5 858 | '@vue/compiler-core': 3.2.45 859 | '@vue/shared': 3.2.45 860 | estree-walker: 2.0.2 861 | magic-string: 0.25.9 862 | dev: true 863 | 864 | /@vue/reactivity/3.2.45: 865 | resolution: {integrity: sha512-PRvhCcQcyEVohW0P8iQ7HDcIOXRjZfAsOds3N99X/Dzewy8TVhTCT4uXpAHfoKjVTJRA0O0K+6QNkDIZAxNi3A==} 866 | dependencies: 867 | '@vue/shared': 3.2.45 868 | dev: true 869 | 870 | /@vue/reactivity/3.4.5: 871 | resolution: {integrity: sha512-BcWkKvjdvqJwb7BhhFkXPLDCecX4d4a6GATvCduJQDLv21PkPowAE5GKuIE5p6RC07/Lp9FMkkq4AYCTVF5KlQ==} 872 | dependencies: 873 | '@vue/shared': 3.4.5 874 | dev: true 875 | 876 | /@vue/runtime-core/3.2.45: 877 | resolution: {integrity: sha512-gzJiTA3f74cgARptqzYswmoQx0fIA+gGYBfokYVhF8YSXjWTUA2SngRzZRku2HbGbjzB6LBYSbKGIaK8IW+s0A==} 878 | dependencies: 879 | '@vue/reactivity': 3.2.45 880 | '@vue/shared': 3.2.45 881 | dev: true 882 | 883 | /@vue/runtime-core/3.4.5: 884 | resolution: {integrity: sha512-wh9ELIOQKeWT9SaUPdLrsxRkZv14jp+SJm9aiQGWio+/MWNM3Lib0wE6CoKEqQ9+SCYyGjDBhTOTtO47kCgbkg==} 885 | dependencies: 886 | '@vue/reactivity': 3.4.5 887 | '@vue/shared': 3.4.5 888 | dev: true 889 | 890 | /@vue/runtime-dom/3.2.45: 891 | resolution: {integrity: sha512-cy88YpfP5Ue2bDBbj75Cb4bIEZUMM/mAkDMfqDTpUYVgTf/kuQ2VQ8LebuZ8k6EudgH8pYhsGWHlY0lcxlvTwA==} 892 | dependencies: 893 | '@vue/runtime-core': 3.2.45 894 | '@vue/shared': 3.2.45 895 | csstype: 2.6.21 896 | dev: true 897 | 898 | /@vue/runtime-dom/3.4.5: 899 | resolution: {integrity: sha512-n5ewvOjyG3IEpqGBahdPXODFSpVlSz3H4LF76Sx0XAqpIOqyJ5bIb2PrdYuH2ogBMAQPh+o5tnoH4nJpBr8U0Q==} 900 | dependencies: 901 | '@vue/runtime-core': 3.4.5 902 | '@vue/shared': 3.4.5 903 | csstype: 3.1.3 904 | dev: true 905 | 906 | /@vue/server-renderer/3.2.45_vue@3.2.45: 907 | resolution: {integrity: sha512-ebiMq7q24WBU1D6uhPK//2OTR1iRIyxjF5iVq/1a5I1SDMDyDu4Ts6fJaMnjrvD3MqnaiFkKQj+LKAgz5WIK3g==} 908 | peerDependencies: 909 | vue: 3.2.45 910 | dependencies: 911 | '@vue/compiler-ssr': 3.2.45 912 | '@vue/shared': 3.2.45 913 | vue: 3.2.45 914 | dev: true 915 | 916 | /@vue/server-renderer/3.4.5_vue@3.4.5: 917 | resolution: {integrity: sha512-jOFc/VE87yvifQpNju12VcqimH8pBLxdcT+t3xMeiED1K6DfH9SORyhFEoZlW5TG2Vwfn3Ul5KE+1aC99xnSBg==} 918 | peerDependencies: 919 | vue: 3.4.5 920 | dependencies: 921 | '@vue/compiler-ssr': 3.4.5 922 | '@vue/shared': 3.4.5 923 | vue: 3.4.5 924 | dev: true 925 | 926 | /@vue/shared/3.2.45: 927 | resolution: {integrity: sha512-Ewzq5Yhimg7pSztDV+RH1UDKBzmtqieXQlpTVm2AwraoRL/Rks96mvd8Vgi7Lj+h+TH8dv7mXD3FRZR3TUvbSg==} 928 | dev: true 929 | 930 | /@vue/shared/3.4.5: 931 | resolution: {integrity: sha512-6XptuzlMvN4l4cDnDw36pdGEV+9njYkQ1ZE0Q6iZLwrKefKaOJyiFmcP3/KBDHbt72cJZGtllAc1GaHe6XGAyg==} 932 | dev: true 933 | 934 | /@vueuse/core/10.7.1_vue@3.4.5: 935 | resolution: {integrity: sha512-74mWHlaesJSWGp1ihg76vAnfVq9NTv1YT0SYhAQ6zwFNdBkkP+CKKJmVOEHcdSnLXCXYiL5e7MaewblfiYLP7g==} 936 | dependencies: 937 | '@types/web-bluetooth': 0.0.20 938 | '@vueuse/metadata': 10.7.1 939 | '@vueuse/shared': 10.7.1_vue@3.4.5 940 | vue-demi: 0.14.6_vue@3.4.5 941 | transitivePeerDependencies: 942 | - '@vue/composition-api' 943 | - vue 944 | dev: true 945 | 946 | /@vueuse/integrations/10.7.1_focus-trap@7.5.4+vue@3.4.5: 947 | resolution: {integrity: sha512-cKo5LEeKVHdBRBtMTOrDPdR0YNtrmN9IBfdcnY2P3m5LHVrsD0xiHUtAH1WKjHQRIErZG6rJUa6GA4tWZt89Og==} 948 | peerDependencies: 949 | async-validator: '*' 950 | axios: '*' 951 | change-case: '*' 952 | drauu: '*' 953 | focus-trap: '*' 954 | fuse.js: '*' 955 | idb-keyval: '*' 956 | jwt-decode: '*' 957 | nprogress: '*' 958 | qrcode: '*' 959 | sortablejs: '*' 960 | universal-cookie: '*' 961 | peerDependenciesMeta: 962 | async-validator: 963 | optional: true 964 | axios: 965 | optional: true 966 | change-case: 967 | optional: true 968 | drauu: 969 | optional: true 970 | focus-trap: 971 | optional: true 972 | fuse.js: 973 | optional: true 974 | idb-keyval: 975 | optional: true 976 | jwt-decode: 977 | optional: true 978 | nprogress: 979 | optional: true 980 | qrcode: 981 | optional: true 982 | sortablejs: 983 | optional: true 984 | universal-cookie: 985 | optional: true 986 | dependencies: 987 | '@vueuse/core': 10.7.1_vue@3.4.5 988 | '@vueuse/shared': 10.7.1_vue@3.4.5 989 | focus-trap: 7.5.4 990 | vue-demi: 0.14.6_vue@3.4.5 991 | transitivePeerDependencies: 992 | - '@vue/composition-api' 993 | - vue 994 | dev: true 995 | 996 | /@vueuse/metadata/10.7.1: 997 | resolution: {integrity: sha512-jX8MbX5UX067DYVsbtrmKn6eG6KMcXxLRLlurGkZku5ZYT3vxgBjui2zajvUZ18QLIjrgBkFRsu7CqTAg18QFw==} 998 | dev: true 999 | 1000 | /@vueuse/shared/10.7.1_vue@3.4.5: 1001 | resolution: {integrity: sha512-v0jbRR31LSgRY/C5i5X279A/WQjD6/JsMzGa+eqt658oJ75IvQXAeONmwvEMrvJQKnRElq/frzBR7fhmWY5uLw==} 1002 | dependencies: 1003 | vue-demi: 0.14.6_vue@3.4.5 1004 | transitivePeerDependencies: 1005 | - '@vue/composition-api' 1006 | - vue 1007 | dev: true 1008 | 1009 | /algoliasearch/4.22.0: 1010 | resolution: {integrity: sha512-gfceltjkwh7PxXwtkS8KVvdfK+TSNQAWUeNSxf4dA29qW5tf2EGwa8jkJujlT9jLm17cixMVoGNc+GJFO1Mxhg==} 1011 | dependencies: 1012 | '@algolia/cache-browser-local-storage': 4.22.0 1013 | '@algolia/cache-common': 4.22.0 1014 | '@algolia/cache-in-memory': 4.22.0 1015 | '@algolia/client-account': 4.22.0 1016 | '@algolia/client-analytics': 4.22.0 1017 | '@algolia/client-common': 4.22.0 1018 | '@algolia/client-personalization': 4.22.0 1019 | '@algolia/client-search': 4.22.0 1020 | '@algolia/logger-common': 4.22.0 1021 | '@algolia/logger-console': 4.22.0 1022 | '@algolia/requester-browser-xhr': 4.22.0 1023 | '@algolia/requester-common': 4.22.0 1024 | '@algolia/requester-node-http': 4.22.0 1025 | '@algolia/transporter': 4.22.0 1026 | dev: true 1027 | 1028 | /csstype/2.6.21: 1029 | resolution: {integrity: sha512-Z1PhmomIfypOpoMjRQB70jfvy/wxT50qW08YXO5lMIJkrdq4yOTR+AW7FqutScmB9NkLwxo+jU+kZLbofZZq/w==} 1030 | dev: true 1031 | 1032 | /csstype/3.1.3: 1033 | resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} 1034 | dev: true 1035 | 1036 | /entities/4.5.0: 1037 | resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} 1038 | engines: {node: '>=0.12'} 1039 | dev: true 1040 | 1041 | /esbuild/0.16.7: 1042 | resolution: {integrity: sha512-P6OBFYFSQOGzfApqCeYKqfKRRbCIRsdppTXFo4aAvtiW3o8TTyiIplBvHJI171saPAiy3WlawJHCveJVIOIx1A==} 1043 | engines: {node: '>=12'} 1044 | hasBin: true 1045 | requiresBuild: true 1046 | optionalDependencies: 1047 | '@esbuild/android-arm': 0.16.7 1048 | '@esbuild/android-arm64': 0.16.7 1049 | '@esbuild/android-x64': 0.16.7 1050 | '@esbuild/darwin-arm64': 0.16.7 1051 | '@esbuild/darwin-x64': 0.16.7 1052 | '@esbuild/freebsd-arm64': 0.16.7 1053 | '@esbuild/freebsd-x64': 0.16.7 1054 | '@esbuild/linux-arm': 0.16.7 1055 | '@esbuild/linux-arm64': 0.16.7 1056 | '@esbuild/linux-ia32': 0.16.7 1057 | '@esbuild/linux-loong64': 0.16.7 1058 | '@esbuild/linux-mips64el': 0.16.7 1059 | '@esbuild/linux-ppc64': 0.16.7 1060 | '@esbuild/linux-riscv64': 0.16.7 1061 | '@esbuild/linux-s390x': 0.16.7 1062 | '@esbuild/linux-x64': 0.16.7 1063 | '@esbuild/netbsd-x64': 0.16.7 1064 | '@esbuild/openbsd-x64': 0.16.7 1065 | '@esbuild/sunos-x64': 0.16.7 1066 | '@esbuild/win32-arm64': 0.16.7 1067 | '@esbuild/win32-ia32': 0.16.7 1068 | '@esbuild/win32-x64': 0.16.7 1069 | dev: false 1070 | 1071 | /esbuild/0.19.11: 1072 | resolution: {integrity: sha512-HJ96Hev2hX/6i5cDVwcqiJBBtuo9+FeIJOtZ9W1kA5M6AMJRHUZlpYZ1/SbEwtO0ioNAW8rUooVpC/WehY2SfA==} 1073 | engines: {node: '>=12'} 1074 | hasBin: true 1075 | requiresBuild: true 1076 | optionalDependencies: 1077 | '@esbuild/aix-ppc64': 0.19.11 1078 | '@esbuild/android-arm': 0.19.11 1079 | '@esbuild/android-arm64': 0.19.11 1080 | '@esbuild/android-x64': 0.19.11 1081 | '@esbuild/darwin-arm64': 0.19.11 1082 | '@esbuild/darwin-x64': 0.19.11 1083 | '@esbuild/freebsd-arm64': 0.19.11 1084 | '@esbuild/freebsd-x64': 0.19.11 1085 | '@esbuild/linux-arm': 0.19.11 1086 | '@esbuild/linux-arm64': 0.19.11 1087 | '@esbuild/linux-ia32': 0.19.11 1088 | '@esbuild/linux-loong64': 0.19.11 1089 | '@esbuild/linux-mips64el': 0.19.11 1090 | '@esbuild/linux-ppc64': 0.19.11 1091 | '@esbuild/linux-riscv64': 0.19.11 1092 | '@esbuild/linux-s390x': 0.19.11 1093 | '@esbuild/linux-x64': 0.19.11 1094 | '@esbuild/netbsd-x64': 0.19.11 1095 | '@esbuild/openbsd-x64': 0.19.11 1096 | '@esbuild/sunos-x64': 0.19.11 1097 | '@esbuild/win32-arm64': 0.19.11 1098 | '@esbuild/win32-ia32': 0.19.11 1099 | '@esbuild/win32-x64': 0.19.11 1100 | dev: true 1101 | 1102 | /estree-walker/2.0.2: 1103 | resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} 1104 | dev: true 1105 | 1106 | /focus-trap/7.5.4: 1107 | resolution: {integrity: sha512-N7kHdlgsO/v+iD/dMoJKtsSqs5Dz/dXZVebRgJw23LDk+jMi/974zyiOYDziY2JPp8xivq9BmUGwIJMiuSBi7w==} 1108 | dependencies: 1109 | tabbable: 6.2.0 1110 | dev: true 1111 | 1112 | /fsevents/2.3.2: 1113 | resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} 1114 | engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} 1115 | os: [darwin] 1116 | requiresBuild: true 1117 | dev: false 1118 | optional: true 1119 | 1120 | /fsevents/2.3.3: 1121 | resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} 1122 | engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} 1123 | os: [darwin] 1124 | requiresBuild: true 1125 | dev: true 1126 | optional: true 1127 | 1128 | /function-bind/1.1.1: 1129 | resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} 1130 | dev: false 1131 | 1132 | /has/1.0.3: 1133 | resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} 1134 | engines: {node: '>= 0.4.0'} 1135 | dependencies: 1136 | function-bind: 1.1.1 1137 | dev: false 1138 | 1139 | /is-core-module/2.11.0: 1140 | resolution: {integrity: sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==} 1141 | dependencies: 1142 | has: 1.0.3 1143 | dev: false 1144 | 1145 | /magic-string/0.25.9: 1146 | resolution: {integrity: sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==} 1147 | dependencies: 1148 | sourcemap-codec: 1.4.8 1149 | dev: true 1150 | 1151 | /magic-string/0.30.5: 1152 | resolution: {integrity: sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA==} 1153 | engines: {node: '>=12'} 1154 | dependencies: 1155 | '@jridgewell/sourcemap-codec': 1.4.15 1156 | dev: true 1157 | 1158 | /mark.js/8.11.1: 1159 | resolution: {integrity: sha512-1I+1qpDt4idfgLQG+BNWmrqku+7/2bi5nLf4YwF8y8zXvmfiTBY3PV3ZibfrjBueCByROpuBjLLFCajqkgYoLQ==} 1160 | dev: true 1161 | 1162 | /minisearch/6.3.0: 1163 | resolution: {integrity: sha512-ihFnidEeU8iXzcVHy74dhkxh/dn8Dc08ERl0xwoMMGqp4+LvRSCgicb+zGqWthVokQKvCSxITlh3P08OzdTYCQ==} 1164 | dev: true 1165 | 1166 | /nanoid/3.3.4: 1167 | resolution: {integrity: sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==} 1168 | engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} 1169 | hasBin: true 1170 | 1171 | /nanoid/3.3.7: 1172 | resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} 1173 | engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} 1174 | hasBin: true 1175 | dev: true 1176 | 1177 | /path-parse/1.0.7: 1178 | resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} 1179 | dev: false 1180 | 1181 | /picocolors/1.0.0: 1182 | resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} 1183 | 1184 | /postcss/8.4.19: 1185 | resolution: {integrity: sha512-h+pbPsyhlYj6N2ozBmHhHrs9DzGmbaarbLvWipMRO7RLS+v4onj26MPFXA5OBYFxyqYhUJK456SwDcY9H2/zsA==} 1186 | engines: {node: ^10 || ^12 || >=14} 1187 | dependencies: 1188 | nanoid: 3.3.4 1189 | picocolors: 1.0.0 1190 | source-map-js: 1.0.2 1191 | dev: true 1192 | 1193 | /postcss/8.4.20: 1194 | resolution: {integrity: sha512-6Q04AXR1212bXr5fh03u8aAwbLxAQNGQ/Q1LNa0VfOI06ZAlhPHtQvE4OIdpj4kLThXilalPnmDSOD65DcHt+g==} 1195 | engines: {node: ^10 || ^12 || >=14} 1196 | dependencies: 1197 | nanoid: 3.3.4 1198 | picocolors: 1.0.0 1199 | source-map-js: 1.0.2 1200 | dev: false 1201 | 1202 | /postcss/8.4.33: 1203 | resolution: {integrity: sha512-Kkpbhhdjw2qQs2O2DGX+8m5OVqEcbB9HRBvuYM9pgrjEFUg30A9LmXNlTAUj4S9kgtGyrMbTzVjH7E+s5Re2yg==} 1204 | engines: {node: ^10 || ^12 || >=14} 1205 | dependencies: 1206 | nanoid: 3.3.7 1207 | picocolors: 1.0.0 1208 | source-map-js: 1.0.2 1209 | dev: true 1210 | 1211 | /preact/10.19.3: 1212 | resolution: {integrity: sha512-nHHTeFVBTHRGxJXKkKu5hT8C/YWBkPso4/Gad6xuj5dbptt9iF9NZr9pHbPhBrnT2klheu7mHTxTZ/LjwJiEiQ==} 1213 | dev: true 1214 | 1215 | /resolve/1.22.1: 1216 | resolution: {integrity: sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==} 1217 | hasBin: true 1218 | dependencies: 1219 | is-core-module: 2.11.0 1220 | path-parse: 1.0.7 1221 | supports-preserve-symlinks-flag: 1.0.0 1222 | dev: false 1223 | 1224 | /rollup/3.7.4: 1225 | resolution: {integrity: sha512-jN9rx3k5pfg9H9al0r0y1EYKSeiRANZRYX32SuNXAnKzh6cVyf4LZVto1KAuDnbHT03E1CpsgqDKaqQ8FZtgxw==} 1226 | engines: {node: '>=14.18.0', npm: '>=8.0.0'} 1227 | hasBin: true 1228 | optionalDependencies: 1229 | fsevents: 2.3.2 1230 | dev: false 1231 | 1232 | /rollup/4.9.2: 1233 | resolution: {integrity: sha512-66RB8OtFKUTozmVEh3qyNfH+b+z2RXBVloqO2KCC/pjFaGaHtxP9fVfOQKPSGXg2mElmjmxjW/fZ7iKrEpMH5Q==} 1234 | engines: {node: '>=18.0.0', npm: '>=8.0.0'} 1235 | hasBin: true 1236 | optionalDependencies: 1237 | '@rollup/rollup-android-arm-eabi': 4.9.2 1238 | '@rollup/rollup-android-arm64': 4.9.2 1239 | '@rollup/rollup-darwin-arm64': 4.9.2 1240 | '@rollup/rollup-darwin-x64': 4.9.2 1241 | '@rollup/rollup-linux-arm-gnueabihf': 4.9.2 1242 | '@rollup/rollup-linux-arm64-gnu': 4.9.2 1243 | '@rollup/rollup-linux-arm64-musl': 4.9.2 1244 | '@rollup/rollup-linux-riscv64-gnu': 4.9.2 1245 | '@rollup/rollup-linux-x64-gnu': 4.9.2 1246 | '@rollup/rollup-linux-x64-musl': 4.9.2 1247 | '@rollup/rollup-win32-arm64-msvc': 4.9.2 1248 | '@rollup/rollup-win32-ia32-msvc': 4.9.2 1249 | '@rollup/rollup-win32-x64-msvc': 4.9.2 1250 | fsevents: 2.3.3 1251 | dev: true 1252 | 1253 | /search-insights/2.13.0: 1254 | resolution: {integrity: sha512-Orrsjf9trHHxFRuo9/rzm0KIWmgzE8RMlZMzuhZOJ01Rnz3D0YBAe+V6473t6/H6c7irs6Lt48brULAiRWb3Vw==} 1255 | dev: true 1256 | 1257 | /shikiji-core/0.9.17: 1258 | resolution: {integrity: sha512-r1FWTXk6SO2aYqfWgcsJ11MuVQ1ymPSdXzJjK7q8EXuyqu8yc2N5qrQy5+BL6gTVOaF4yLjbxFjF+KTRM1Sp8Q==} 1259 | dev: true 1260 | 1261 | /shikiji-transformers/0.9.17: 1262 | resolution: {integrity: sha512-2CCG9qSLS6Bn/jbeUTEuvC6YSuP8gm8VyX5VjmCvDKyCPGhlLJbH1k/kg9wfRt7cJqpYjhdMDgT5rkdYrOZnsA==} 1263 | dependencies: 1264 | shikiji: 0.9.17 1265 | dev: true 1266 | 1267 | /shikiji/0.9.17: 1268 | resolution: {integrity: sha512-0z/1NfkhBkm3ijrfFeHg3G9yDNuHhXdAGbQm7tRxj4WQ5z2y0XDbnagFyKyuV2ebCTS1Mwy1I3n0Fzcc/4xdmw==} 1269 | dependencies: 1270 | shikiji-core: 0.9.17 1271 | dev: true 1272 | 1273 | /source-map-js/1.0.2: 1274 | resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} 1275 | engines: {node: '>=0.10.0'} 1276 | 1277 | /source-map/0.6.1: 1278 | resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} 1279 | engines: {node: '>=0.10.0'} 1280 | dev: true 1281 | 1282 | /sourcemap-codec/1.4.8: 1283 | resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==} 1284 | deprecated: Please use @jridgewell/sourcemap-codec instead 1285 | dev: true 1286 | 1287 | /supports-preserve-symlinks-flag/1.0.0: 1288 | resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} 1289 | engines: {node: '>= 0.4'} 1290 | dev: false 1291 | 1292 | /tabbable/6.2.0: 1293 | resolution: {integrity: sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==} 1294 | dev: true 1295 | 1296 | /to-fast-properties/2.0.0: 1297 | resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} 1298 | engines: {node: '>=4'} 1299 | dev: true 1300 | 1301 | /vite/4.0.1: 1302 | resolution: {integrity: sha512-kZQPzbDau35iWOhy3CpkrRC7It+HIHtulAzBhMqzGHKRf/4+vmh8rPDDdv98SWQrFWo6//3ozwsRmwQIPZsK9g==} 1303 | engines: {node: ^14.18.0 || >=16.0.0} 1304 | hasBin: true 1305 | peerDependencies: 1306 | '@types/node': '>= 14' 1307 | less: '*' 1308 | sass: '*' 1309 | stylus: '*' 1310 | sugarss: '*' 1311 | terser: ^5.4.0 1312 | peerDependenciesMeta: 1313 | '@types/node': 1314 | optional: true 1315 | less: 1316 | optional: true 1317 | sass: 1318 | optional: true 1319 | stylus: 1320 | optional: true 1321 | sugarss: 1322 | optional: true 1323 | terser: 1324 | optional: true 1325 | dependencies: 1326 | esbuild: 0.16.7 1327 | postcss: 8.4.20 1328 | resolve: 1.22.1 1329 | rollup: 3.7.4 1330 | optionalDependencies: 1331 | fsevents: 2.3.2 1332 | dev: false 1333 | 1334 | /vite/5.0.10: 1335 | resolution: {integrity: sha512-2P8J7WWgmc355HUMlFrwofacvr98DAjoE52BfdbwQtyLH06XKwaL/FMnmKM2crF0iX4MpmMKoDlNCB1ok7zHCw==} 1336 | engines: {node: ^18.0.0 || >=20.0.0} 1337 | hasBin: true 1338 | peerDependencies: 1339 | '@types/node': ^18.0.0 || >=20.0.0 1340 | less: '*' 1341 | lightningcss: ^1.21.0 1342 | sass: '*' 1343 | stylus: '*' 1344 | sugarss: '*' 1345 | terser: ^5.4.0 1346 | peerDependenciesMeta: 1347 | '@types/node': 1348 | optional: true 1349 | less: 1350 | optional: true 1351 | lightningcss: 1352 | optional: true 1353 | sass: 1354 | optional: true 1355 | stylus: 1356 | optional: true 1357 | sugarss: 1358 | optional: true 1359 | terser: 1360 | optional: true 1361 | dependencies: 1362 | esbuild: 0.19.11 1363 | postcss: 8.4.33 1364 | rollup: 4.9.2 1365 | optionalDependencies: 1366 | fsevents: 2.3.3 1367 | dev: true 1368 | 1369 | /vitepress/1.0.0-rc.35_fpdpe25nxnl2nnchxbpjwr7cn4: 1370 | resolution: {integrity: sha512-+2VnFwtYIiKWWAnMjWg7ik0PfsUdrNoZIZKeu5dbJtrkzKO/mTvlA3owiT5VBKJsZAgI17B5UV37aYfUvGrN6g==} 1371 | hasBin: true 1372 | peerDependencies: 1373 | markdown-it-mathjax3: ^4.3.2 1374 | postcss: ^8.4.32 1375 | peerDependenciesMeta: 1376 | markdown-it-mathjax3: 1377 | optional: true 1378 | postcss: 1379 | optional: true 1380 | dependencies: 1381 | '@docsearch/css': 3.5.2 1382 | '@docsearch/js': 3.5.2_fpdpe25nxnl2nnchxbpjwr7cn4 1383 | '@types/markdown-it': 13.0.7 1384 | '@vitejs/plugin-vue': 5.0.2_vite@5.0.10+vue@3.4.5 1385 | '@vue/devtools-api': 6.5.1 1386 | '@vueuse/core': 10.7.1_vue@3.4.5 1387 | '@vueuse/integrations': 10.7.1_focus-trap@7.5.4+vue@3.4.5 1388 | focus-trap: 7.5.4 1389 | mark.js: 8.11.1 1390 | minisearch: 6.3.0 1391 | shikiji: 0.9.17 1392 | shikiji-core: 0.9.17 1393 | shikiji-transformers: 0.9.17 1394 | vite: 5.0.10 1395 | vue: 3.4.5 1396 | transitivePeerDependencies: 1397 | - '@algolia/client-search' 1398 | - '@types/node' 1399 | - '@types/react' 1400 | - '@vue/composition-api' 1401 | - async-validator 1402 | - axios 1403 | - change-case 1404 | - drauu 1405 | - fuse.js 1406 | - idb-keyval 1407 | - jwt-decode 1408 | - less 1409 | - lightningcss 1410 | - nprogress 1411 | - qrcode 1412 | - react 1413 | - react-dom 1414 | - sass 1415 | - search-insights 1416 | - sortablejs 1417 | - stylus 1418 | - sugarss 1419 | - terser 1420 | - typescript 1421 | - universal-cookie 1422 | dev: true 1423 | 1424 | /vue-demi/0.14.6_vue@3.4.5: 1425 | resolution: {integrity: sha512-8QA7wrYSHKaYgUxDA5ZC24w+eHm3sYCbp0EzcDwKqN3p6HqtTCGR/GVsPyZW92unff4UlcSh++lmqDWN3ZIq4w==} 1426 | engines: {node: '>=12'} 1427 | hasBin: true 1428 | requiresBuild: true 1429 | peerDependencies: 1430 | '@vue/composition-api': ^1.0.0-rc.1 1431 | vue: ^3.0.0-0 || ^2.6.0 1432 | peerDependenciesMeta: 1433 | '@vue/composition-api': 1434 | optional: true 1435 | dependencies: 1436 | vue: 3.4.5 1437 | dev: true 1438 | 1439 | /vue/3.2.45: 1440 | resolution: {integrity: sha512-9Nx/Mg2b2xWlXykmCwiTUCWHbWIj53bnkizBxKai1g61f2Xit700A1ljowpTIM11e3uipOeiPcSqnmBg6gyiaA==} 1441 | dependencies: 1442 | '@vue/compiler-dom': 3.2.45 1443 | '@vue/compiler-sfc': 3.2.45 1444 | '@vue/runtime-dom': 3.2.45 1445 | '@vue/server-renderer': 3.2.45_vue@3.2.45 1446 | '@vue/shared': 3.2.45 1447 | dev: true 1448 | 1449 | /vue/3.4.5: 1450 | resolution: {integrity: sha512-VH6nHFhLPjgu2oh5vEBXoNZxsGHuZNr3qf4PHClwJWw6IDqw6B3x+4J+ABdoZ0aJuT8Zi0zf3GpGlLQCrGWHrw==} 1451 | peerDependencies: 1452 | typescript: '*' 1453 | peerDependenciesMeta: 1454 | typescript: 1455 | optional: true 1456 | dependencies: 1457 | '@vue/compiler-dom': 3.4.5 1458 | '@vue/compiler-sfc': 3.4.5 1459 | '@vue/runtime-dom': 3.4.5 1460 | '@vue/server-renderer': 3.4.5_vue@3.4.5 1461 | '@vue/shared': 3.4.5 1462 | dev: true 1463 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "vitepress-plugin-search", 3 | "version": "1.0.4-alpha.22", 4 | "description": "Provide local search to your documentation site.", 5 | "types": "./dist/types/src/index.d.ts", 6 | "files": [ 7 | "dist" 8 | ], 9 | "main": "./dist/vitepress-plugin-search.umd.js", 10 | "module": "./dist/vitepress-plugin-search.es.mjs", 11 | "exports": { 12 | ".": { 13 | "import": "./dist/vitepress-plugin-search.es.mjs", 14 | "require": "./dist/vitepress-plugin-search.umd.js" 15 | }, 16 | "./Search.vue": "./dist/Search.vue" 17 | }, 18 | "scripts": { 19 | "dev": "vite build --watch", 20 | "build": "vite build", 21 | "postbuild": "vue-tsc --emitDeclarationOnly", 22 | "test": "echo \"Error: no test specified\" && exit 1" 23 | }, 24 | "engines": { 25 | "node": "^14.13.1 || ^16.7.0 || >=18" 26 | }, 27 | "repository": { 28 | "type": "git", 29 | "url": "git+https://github.com/emersonbottero/vitepress-plugin-search.git" 30 | }, 31 | "keywords": [ 32 | "vitepress", 33 | "search", 34 | "offline" 35 | ], 36 | "author": "Emerson Bottero", 37 | "license": "MIT", 38 | "bugs": { 39 | "url": "https://github.com/emersonbottero/vitepress-plugin-search/issues" 40 | }, 41 | "homepage": "https://github.com/emersonbottero/vitepress-plugin-search#readme", 42 | "peerDependencies": { 43 | "flexsearch": "^0.7.31", 44 | "vitepress": "^1.0.0-rc.35", 45 | "vue": "3" 46 | }, 47 | "devDependencies": { 48 | "@mdit-vue/shared": "^0.11.0", 49 | "@types/glob-to-regexp": "^0.4.1", 50 | "@types/node": "18.8.0", 51 | "vite": "^4.0.4", 52 | "vite-plugin-static-copy": "^0.13.1", 53 | "vue-tsc": "1" 54 | }, 55 | "dependencies": { 56 | "@types/flexsearch": "^0.7.3", 57 | "@types/markdown-it": "^12.2.3", 58 | "glob-to-regexp": "^0.4.1", 59 | "markdown-it": "^13.0.1" 60 | } 61 | } 62 | -------------------------------------------------------------------------------- /pnpm-lock.yaml: -------------------------------------------------------------------------------- 1 | lockfileVersion: 5.4 2 | 3 | specifiers: 4 | '@mdit-vue/shared': ^0.11.0 5 | '@types/flexsearch': ^0.7.3 6 | '@types/glob-to-regexp': ^0.4.1 7 | '@types/markdown-it': ^12.2.3 8 | '@types/node': 18.8.0 9 | flexsearch: ^0.7.31 10 | glob-to-regexp: ^0.4.1 11 | markdown-it: ^13.0.1 12 | vite: ^4.0.4 13 | vite-plugin-static-copy: ^0.13.1 14 | vitepress: ^1.0.0-alpha.65 15 | vue: '3' 16 | vue-tsc: '1' 17 | 18 | dependencies: 19 | '@types/flexsearch': 0.7.3 20 | '@types/markdown-it': 12.2.3 21 | flexsearch: 0.7.31 22 | glob-to-regexp: 0.4.1 23 | markdown-it: 13.0.1 24 | vitepress: 1.0.0-alpha.65_zaojyisplaxoutm4rqjcos7hk4 25 | vue: 3.2.45 26 | 27 | devDependencies: 28 | '@mdit-vue/shared': 0.11.0 29 | '@types/glob-to-regexp': 0.4.1 30 | '@types/node': 18.8.0 31 | vite: 4.0.4_@types+node@18.8.0 32 | vite-plugin-static-copy: 0.13.1_vite@4.0.4 33 | vue-tsc: 1.0.11_typescript@4.9.3 34 | 35 | packages: 36 | 37 | /@algolia/autocomplete-core/1.7.4: 38 | resolution: {integrity: sha512-daoLpQ3ps/VTMRZDEBfU8ixXd+amZcNJ4QSP3IERGyzqnL5Ch8uSRFt/4G8pUvW9c3o6GA4vtVv4I4lmnkdXyg==} 39 | dependencies: 40 | '@algolia/autocomplete-shared': 1.7.4 41 | dev: false 42 | 43 | /@algolia/autocomplete-preset-algolia/1.7.4_qs6lk5nhygj2o3hj4sf6xnr724: 44 | resolution: {integrity: sha512-s37hrvLEIfcmKY8VU9LsAXgm2yfmkdHT3DnA3SgHaY93yjZ2qL57wzb5QweVkYuEBZkT2PIREvRoLXC2sxTbpQ==} 45 | peerDependencies: 46 | '@algolia/client-search': '>= 4.9.1 < 6' 47 | algoliasearch: '>= 4.9.1 < 6' 48 | dependencies: 49 | '@algolia/autocomplete-shared': 1.7.4 50 | '@algolia/client-search': 4.14.2 51 | algoliasearch: 4.14.2 52 | dev: false 53 | 54 | /@algolia/autocomplete-shared/1.7.4: 55 | resolution: {integrity: sha512-2VGCk7I9tA9Ge73Km99+Qg87w0wzW4tgUruvWAn/gfey1ZXgmxZtyIRBebk35R1O8TbK77wujVtCnpsGpRy1kg==} 56 | dev: false 57 | 58 | /@algolia/cache-browser-local-storage/4.14.2: 59 | resolution: {integrity: sha512-FRweBkK/ywO+GKYfAWbrepewQsPTIEirhi1BdykX9mxvBPtGNKccYAxvGdDCumU1jL4r3cayio4psfzKMejBlA==} 60 | dependencies: 61 | '@algolia/cache-common': 4.14.2 62 | dev: false 63 | 64 | /@algolia/cache-common/4.14.2: 65 | resolution: {integrity: sha512-SbvAlG9VqNanCErr44q6lEKD2qoK4XtFNx9Qn8FK26ePCI8I9yU7pYB+eM/cZdS9SzQCRJBbHUumVr4bsQ4uxg==} 66 | dev: false 67 | 68 | /@algolia/cache-in-memory/4.14.2: 69 | resolution: {integrity: sha512-HrOukWoop9XB/VFojPv1R5SVXowgI56T9pmezd/djh2JnVN/vXswhXV51RKy4nCpqxyHt/aGFSq2qkDvj6KiuQ==} 70 | dependencies: 71 | '@algolia/cache-common': 4.14.2 72 | dev: false 73 | 74 | /@algolia/client-account/4.14.2: 75 | resolution: {integrity: sha512-WHtriQqGyibbb/Rx71YY43T0cXqyelEU0lB2QMBRXvD2X0iyeGl4qMxocgEIcbHyK7uqE7hKgjT8aBrHqhgc1w==} 76 | dependencies: 77 | '@algolia/client-common': 4.14.2 78 | '@algolia/client-search': 4.14.2 79 | '@algolia/transporter': 4.14.2 80 | dev: false 81 | 82 | /@algolia/client-analytics/4.14.2: 83 | resolution: {integrity: sha512-yBvBv2mw+HX5a+aeR0dkvUbFZsiC4FKSnfqk9rrfX+QrlNOKEhCG0tJzjiOggRW4EcNqRmaTULIYvIzQVL2KYQ==} 84 | dependencies: 85 | '@algolia/client-common': 4.14.2 86 | '@algolia/client-search': 4.14.2 87 | '@algolia/requester-common': 4.14.2 88 | '@algolia/transporter': 4.14.2 89 | dev: false 90 | 91 | /@algolia/client-common/4.14.2: 92 | resolution: {integrity: sha512-43o4fslNLcktgtDMVaT5XwlzsDPzlqvqesRi4MjQz2x4/Sxm7zYg5LRYFol1BIhG6EwxKvSUq8HcC/KxJu3J0Q==} 93 | dependencies: 94 | '@algolia/requester-common': 4.14.2 95 | '@algolia/transporter': 4.14.2 96 | dev: false 97 | 98 | /@algolia/client-personalization/4.14.2: 99 | resolution: {integrity: sha512-ACCoLi0cL8CBZ1W/2juehSltrw2iqsQBnfiu/Rbl9W2yE6o2ZUb97+sqN/jBqYNQBS+o0ekTMKNkQjHHAcEXNw==} 100 | dependencies: 101 | '@algolia/client-common': 4.14.2 102 | '@algolia/requester-common': 4.14.2 103 | '@algolia/transporter': 4.14.2 104 | dev: false 105 | 106 | /@algolia/client-search/4.14.2: 107 | resolution: {integrity: sha512-L5zScdOmcZ6NGiVbLKTvP02UbxZ0njd5Vq9nJAmPFtjffUSOGEp11BmD2oMJ5QvARgx2XbX4KzTTNS5ECYIMWw==} 108 | dependencies: 109 | '@algolia/client-common': 4.14.2 110 | '@algolia/requester-common': 4.14.2 111 | '@algolia/transporter': 4.14.2 112 | dev: false 113 | 114 | /@algolia/logger-common/4.14.2: 115 | resolution: {integrity: sha512-/JGlYvdV++IcMHBnVFsqEisTiOeEr6cUJtpjz8zc0A9c31JrtLm318Njc72p14Pnkw3A/5lHHh+QxpJ6WFTmsA==} 116 | dev: false 117 | 118 | /@algolia/logger-console/4.14.2: 119 | resolution: {integrity: sha512-8S2PlpdshbkwlLCSAB5f8c91xyc84VM9Ar9EdfE9UmX+NrKNYnWR1maXXVDQQoto07G1Ol/tYFnFVhUZq0xV/g==} 120 | dependencies: 121 | '@algolia/logger-common': 4.14.2 122 | dev: false 123 | 124 | /@algolia/requester-browser-xhr/4.14.2: 125 | resolution: {integrity: sha512-CEh//xYz/WfxHFh7pcMjQNWgpl4wFB85lUMRyVwaDPibNzQRVcV33YS+63fShFWc2+42YEipFGH2iPzlpszmDw==} 126 | dependencies: 127 | '@algolia/requester-common': 4.14.2 128 | dev: false 129 | 130 | /@algolia/requester-common/4.14.2: 131 | resolution: {integrity: sha512-73YQsBOKa5fvVV3My7iZHu1sUqmjjfs9TteFWwPwDmnad7T0VTCopttcsM3OjLxZFtBnX61Xxl2T2gmG2O4ehg==} 132 | dev: false 133 | 134 | /@algolia/requester-node-http/4.14.2: 135 | resolution: {integrity: sha512-oDbb02kd1o5GTEld4pETlPZLY0e+gOSWjWMJHWTgDXbv9rm/o2cF7japO6Vj1ENnrqWvLBmW1OzV9g6FUFhFXg==} 136 | dependencies: 137 | '@algolia/requester-common': 4.14.2 138 | dev: false 139 | 140 | /@algolia/transporter/4.14.2: 141 | resolution: {integrity: sha512-t89dfQb2T9MFQHidjHcfhh6iGMNwvuKUvojAj+JsrHAGbuSy7yE4BylhLX6R0Q1xYRoC4Vvv+O5qIw/LdnQfsQ==} 142 | dependencies: 143 | '@algolia/cache-common': 4.14.2 144 | '@algolia/logger-common': 4.14.2 145 | '@algolia/requester-common': 4.14.2 146 | dev: false 147 | 148 | /@babel/helper-string-parser/7.19.4: 149 | resolution: {integrity: sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==} 150 | engines: {node: '>=6.9.0'} 151 | 152 | /@babel/helper-validator-identifier/7.19.1: 153 | resolution: {integrity: sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==} 154 | engines: {node: '>=6.9.0'} 155 | 156 | /@babel/parser/7.20.5: 157 | resolution: {integrity: sha512-r27t/cy/m9uKLXQNWWebeCUHgnAZq0CpG1OwKRxzJMP1vpSU4bSIK2hq+/cp0bQxetkXx38n09rNu8jVkcK/zA==} 158 | engines: {node: '>=6.0.0'} 159 | hasBin: true 160 | dependencies: 161 | '@babel/types': 7.20.5 162 | 163 | /@babel/types/7.20.5: 164 | resolution: {integrity: sha512-c9fst/h2/dcF7H+MJKZ2T0KjEQ8hY/BNnDk/H3XY8C4Aw/eWQXWn/lWntHF9ooUBnGmEvbfGrTgLWc+um0YDUg==} 165 | engines: {node: '>=6.9.0'} 166 | dependencies: 167 | '@babel/helper-string-parser': 7.19.4 168 | '@babel/helper-validator-identifier': 7.19.1 169 | to-fast-properties: 2.0.0 170 | 171 | /@docsearch/css/3.3.3: 172 | resolution: {integrity: sha512-6SCwI7P8ao+se1TUsdZ7B4XzL+gqeQZnBc+2EONZlcVa0dVrk0NjETxozFKgMv0eEGH8QzP1fkN+A1rH61l4eg==} 173 | dev: false 174 | 175 | /@docsearch/js/3.3.3_tbpndr44ulefs3hehwpi2mkf2y: 176 | resolution: {integrity: sha512-2xAv2GFuHzzmG0SSZgf8wHX0qZX8n9Y1ZirKUk5Wrdc+vH9CL837x2hZIUdwcPZI9caBA+/CzxsS68O4waYjUQ==} 177 | dependencies: 178 | '@docsearch/react': 3.3.3_tbpndr44ulefs3hehwpi2mkf2y 179 | preact: 10.11.3 180 | transitivePeerDependencies: 181 | - '@algolia/client-search' 182 | - '@types/react' 183 | - react 184 | - react-dom 185 | dev: false 186 | 187 | /@docsearch/react/3.3.3_tbpndr44ulefs3hehwpi2mkf2y: 188 | resolution: {integrity: sha512-pLa0cxnl+G0FuIDuYlW+EBK6Rw2jwLw9B1RHIeS4N4s2VhsfJ/wzeCi3CWcs5yVfxLd5ZK50t//TMA5e79YT7Q==} 189 | peerDependencies: 190 | '@types/react': '>= 16.8.0 < 19.0.0' 191 | react: '>= 16.8.0 < 19.0.0' 192 | react-dom: '>= 16.8.0 < 19.0.0' 193 | peerDependenciesMeta: 194 | '@types/react': 195 | optional: true 196 | react: 197 | optional: true 198 | react-dom: 199 | optional: true 200 | dependencies: 201 | '@algolia/autocomplete-core': 1.7.4 202 | '@algolia/autocomplete-preset-algolia': 1.7.4_qs6lk5nhygj2o3hj4sf6xnr724 203 | '@docsearch/css': 3.3.3 204 | algoliasearch: 4.14.2 205 | transitivePeerDependencies: 206 | - '@algolia/client-search' 207 | dev: false 208 | 209 | /@esbuild/android-arm/0.16.17: 210 | resolution: {integrity: sha512-N9x1CMXVhtWEAMS7pNNONyA14f71VPQN9Cnavj1XQh6T7bskqiLLrSca4O0Vr8Wdcga943eThxnVp3JLnBMYtw==} 211 | engines: {node: '>=12'} 212 | cpu: [arm] 213 | os: [android] 214 | requiresBuild: true 215 | dev: true 216 | optional: true 217 | 218 | /@esbuild/android-arm/0.17.15: 219 | resolution: {integrity: sha512-sRSOVlLawAktpMvDyJIkdLI/c/kdRTOqo8t6ImVxg8yT7LQDUYV5Rp2FKeEosLr6ZCja9UjYAzyRSxGteSJPYg==} 220 | engines: {node: '>=12'} 221 | cpu: [arm] 222 | os: [android] 223 | requiresBuild: true 224 | dev: false 225 | optional: true 226 | 227 | /@esbuild/android-arm64/0.16.17: 228 | resolution: {integrity: sha512-MIGl6p5sc3RDTLLkYL1MyL8BMRN4tLMRCn+yRJJmEDvYZ2M7tmAf80hx1kbNEUX2KJ50RRtxZ4JHLvCfuB6kBg==} 229 | engines: {node: '>=12'} 230 | cpu: [arm64] 231 | os: [android] 232 | requiresBuild: true 233 | dev: true 234 | optional: true 235 | 236 | /@esbuild/android-arm64/0.17.15: 237 | resolution: {integrity: sha512-0kOB6Y7Br3KDVgHeg8PRcvfLkq+AccreK///B4Z6fNZGr/tNHX0z2VywCc7PTeWp+bPvjA5WMvNXltHw5QjAIA==} 238 | engines: {node: '>=12'} 239 | cpu: [arm64] 240 | os: [android] 241 | requiresBuild: true 242 | dev: false 243 | optional: true 244 | 245 | /@esbuild/android-x64/0.16.17: 246 | resolution: {integrity: sha512-a3kTv3m0Ghh4z1DaFEuEDfz3OLONKuFvI4Xqczqx4BqLyuFaFkuaG4j2MtA6fuWEFeC5x9IvqnX7drmRq/fyAQ==} 247 | engines: {node: '>=12'} 248 | cpu: [x64] 249 | os: [android] 250 | requiresBuild: true 251 | dev: true 252 | optional: true 253 | 254 | /@esbuild/android-x64/0.17.15: 255 | resolution: {integrity: sha512-MzDqnNajQZ63YkaUWVl9uuhcWyEyh69HGpMIrf+acR4otMkfLJ4sUCxqwbCyPGicE9dVlrysI3lMcDBjGiBBcQ==} 256 | engines: {node: '>=12'} 257 | cpu: [x64] 258 | os: [android] 259 | requiresBuild: true 260 | dev: false 261 | optional: true 262 | 263 | /@esbuild/darwin-arm64/0.16.17: 264 | resolution: {integrity: sha512-/2agbUEfmxWHi9ARTX6OQ/KgXnOWfsNlTeLcoV7HSuSTv63E4DqtAc+2XqGw1KHxKMHGZgbVCZge7HXWX9Vn+w==} 265 | engines: {node: '>=12'} 266 | cpu: [arm64] 267 | os: [darwin] 268 | requiresBuild: true 269 | dev: true 270 | optional: true 271 | 272 | /@esbuild/darwin-arm64/0.17.15: 273 | resolution: {integrity: sha512-7siLjBc88Z4+6qkMDxPT2juf2e8SJxmsbNVKFY2ifWCDT72v5YJz9arlvBw5oB4W/e61H1+HDB/jnu8nNg0rLA==} 274 | engines: {node: '>=12'} 275 | cpu: [arm64] 276 | os: [darwin] 277 | requiresBuild: true 278 | dev: false 279 | optional: true 280 | 281 | /@esbuild/darwin-x64/0.16.17: 282 | resolution: {integrity: sha512-2By45OBHulkd9Svy5IOCZt376Aa2oOkiE9QWUK9fe6Tb+WDr8hXL3dpqi+DeLiMed8tVXspzsTAvd0jUl96wmg==} 283 | engines: {node: '>=12'} 284 | cpu: [x64] 285 | os: [darwin] 286 | requiresBuild: true 287 | dev: true 288 | optional: true 289 | 290 | /@esbuild/darwin-x64/0.17.15: 291 | resolution: {integrity: sha512-NbImBas2rXwYI52BOKTW342Tm3LTeVlaOQ4QPZ7XuWNKiO226DisFk/RyPk3T0CKZkKMuU69yOvlapJEmax7cg==} 292 | engines: {node: '>=12'} 293 | cpu: [x64] 294 | os: [darwin] 295 | requiresBuild: true 296 | dev: false 297 | optional: true 298 | 299 | /@esbuild/freebsd-arm64/0.16.17: 300 | resolution: {integrity: sha512-mt+cxZe1tVx489VTb4mBAOo2aKSnJ33L9fr25JXpqQqzbUIw/yzIzi+NHwAXK2qYV1lEFp4OoVeThGjUbmWmdw==} 301 | engines: {node: '>=12'} 302 | cpu: [arm64] 303 | os: [freebsd] 304 | requiresBuild: true 305 | dev: true 306 | optional: true 307 | 308 | /@esbuild/freebsd-arm64/0.17.15: 309 | resolution: {integrity: sha512-Xk9xMDjBVG6CfgoqlVczHAdJnCs0/oeFOspFap5NkYAmRCT2qTn1vJWA2f419iMtsHSLm+O8B6SLV/HlY5cYKg==} 310 | engines: {node: '>=12'} 311 | cpu: [arm64] 312 | os: [freebsd] 313 | requiresBuild: true 314 | dev: false 315 | optional: true 316 | 317 | /@esbuild/freebsd-x64/0.16.17: 318 | resolution: {integrity: sha512-8ScTdNJl5idAKjH8zGAsN7RuWcyHG3BAvMNpKOBaqqR7EbUhhVHOqXRdL7oZvz8WNHL2pr5+eIT5c65kA6NHug==} 319 | engines: {node: '>=12'} 320 | cpu: [x64] 321 | os: [freebsd] 322 | requiresBuild: true 323 | dev: true 324 | optional: true 325 | 326 | /@esbuild/freebsd-x64/0.17.15: 327 | resolution: {integrity: sha512-3TWAnnEOdclvb2pnfsTWtdwthPfOz7qAfcwDLcfZyGJwm1SRZIMOeB5FODVhnM93mFSPsHB9b/PmxNNbSnd0RQ==} 328 | engines: {node: '>=12'} 329 | cpu: [x64] 330 | os: [freebsd] 331 | requiresBuild: true 332 | dev: false 333 | optional: true 334 | 335 | /@esbuild/linux-arm/0.16.17: 336 | resolution: {integrity: sha512-iihzrWbD4gIT7j3caMzKb/RsFFHCwqqbrbH9SqUSRrdXkXaygSZCZg1FybsZz57Ju7N/SHEgPyaR0LZ8Zbe9gQ==} 337 | engines: {node: '>=12'} 338 | cpu: [arm] 339 | os: [linux] 340 | requiresBuild: true 341 | dev: true 342 | optional: true 343 | 344 | /@esbuild/linux-arm/0.17.15: 345 | resolution: {integrity: sha512-MLTgiXWEMAMr8nmS9Gigx43zPRmEfeBfGCwxFQEMgJ5MC53QKajaclW6XDPjwJvhbebv+RzK05TQjvH3/aM4Xw==} 346 | engines: {node: '>=12'} 347 | cpu: [arm] 348 | os: [linux] 349 | requiresBuild: true 350 | dev: false 351 | optional: true 352 | 353 | /@esbuild/linux-arm64/0.16.17: 354 | resolution: {integrity: sha512-7S8gJnSlqKGVJunnMCrXHU9Q8Q/tQIxk/xL8BqAP64wchPCTzuM6W3Ra8cIa1HIflAvDnNOt2jaL17vaW+1V0g==} 355 | engines: {node: '>=12'} 356 | cpu: [arm64] 357 | os: [linux] 358 | requiresBuild: true 359 | dev: true 360 | optional: true 361 | 362 | /@esbuild/linux-arm64/0.17.15: 363 | resolution: {integrity: sha512-T0MVnYw9KT6b83/SqyznTs/3Jg2ODWrZfNccg11XjDehIved2oQfrX/wVuev9N936BpMRaTR9I1J0tdGgUgpJA==} 364 | engines: {node: '>=12'} 365 | cpu: [arm64] 366 | os: [linux] 367 | requiresBuild: true 368 | dev: false 369 | optional: true 370 | 371 | /@esbuild/linux-ia32/0.16.17: 372 | resolution: {integrity: sha512-kiX69+wcPAdgl3Lonh1VI7MBr16nktEvOfViszBSxygRQqSpzv7BffMKRPMFwzeJGPxcio0pdD3kYQGpqQ2SSg==} 373 | engines: {node: '>=12'} 374 | cpu: [ia32] 375 | os: [linux] 376 | requiresBuild: true 377 | dev: true 378 | optional: true 379 | 380 | /@esbuild/linux-ia32/0.17.15: 381 | resolution: {integrity: sha512-wp02sHs015T23zsQtU4Cj57WiteiuASHlD7rXjKUyAGYzlOKDAjqK6bk5dMi2QEl/KVOcsjwL36kD+WW7vJt8Q==} 382 | engines: {node: '>=12'} 383 | cpu: [ia32] 384 | os: [linux] 385 | requiresBuild: true 386 | dev: false 387 | optional: true 388 | 389 | /@esbuild/linux-loong64/0.16.17: 390 | resolution: {integrity: sha512-dTzNnQwembNDhd654cA4QhbS9uDdXC3TKqMJjgOWsC0yNCbpzfWoXdZvp0mY7HU6nzk5E0zpRGGx3qoQg8T2DQ==} 391 | engines: {node: '>=12'} 392 | cpu: [loong64] 393 | os: [linux] 394 | requiresBuild: true 395 | dev: true 396 | optional: true 397 | 398 | /@esbuild/linux-loong64/0.17.15: 399 | resolution: {integrity: sha512-k7FsUJjGGSxwnBmMh8d7IbObWu+sF/qbwc+xKZkBe/lTAF16RqxRCnNHA7QTd3oS2AfGBAnHlXL67shV5bBThQ==} 400 | engines: {node: '>=12'} 401 | cpu: [loong64] 402 | os: [linux] 403 | requiresBuild: true 404 | dev: false 405 | optional: true 406 | 407 | /@esbuild/linux-mips64el/0.16.17: 408 | resolution: {integrity: sha512-ezbDkp2nDl0PfIUn0CsQ30kxfcLTlcx4Foz2kYv8qdC6ia2oX5Q3E/8m6lq84Dj/6b0FrkgD582fJMIfHhJfSw==} 409 | engines: {node: '>=12'} 410 | cpu: [mips64el] 411 | os: [linux] 412 | requiresBuild: true 413 | dev: true 414 | optional: true 415 | 416 | /@esbuild/linux-mips64el/0.17.15: 417 | resolution: {integrity: sha512-ZLWk6czDdog+Q9kE/Jfbilu24vEe/iW/Sj2d8EVsmiixQ1rM2RKH2n36qfxK4e8tVcaXkvuV3mU5zTZviE+NVQ==} 418 | engines: {node: '>=12'} 419 | cpu: [mips64el] 420 | os: [linux] 421 | requiresBuild: true 422 | dev: false 423 | optional: true 424 | 425 | /@esbuild/linux-ppc64/0.16.17: 426 | resolution: {integrity: sha512-dzS678gYD1lJsW73zrFhDApLVdM3cUF2MvAa1D8K8KtcSKdLBPP4zZSLy6LFZ0jYqQdQ29bjAHJDgz0rVbLB3g==} 427 | engines: {node: '>=12'} 428 | cpu: [ppc64] 429 | os: [linux] 430 | requiresBuild: true 431 | dev: true 432 | optional: true 433 | 434 | /@esbuild/linux-ppc64/0.17.15: 435 | resolution: {integrity: sha512-mY6dPkIRAiFHRsGfOYZC8Q9rmr8vOBZBme0/j15zFUKM99d4ILY4WpOC7i/LqoY+RE7KaMaSfvY8CqjJtuO4xg==} 436 | engines: {node: '>=12'} 437 | cpu: [ppc64] 438 | os: [linux] 439 | requiresBuild: true 440 | dev: false 441 | optional: true 442 | 443 | /@esbuild/linux-riscv64/0.16.17: 444 | resolution: {integrity: sha512-ylNlVsxuFjZK8DQtNUwiMskh6nT0vI7kYl/4fZgV1llP5d6+HIeL/vmmm3jpuoo8+NuXjQVZxmKuhDApK0/cKw==} 445 | engines: {node: '>=12'} 446 | cpu: [riscv64] 447 | os: [linux] 448 | requiresBuild: true 449 | dev: true 450 | optional: true 451 | 452 | /@esbuild/linux-riscv64/0.17.15: 453 | resolution: {integrity: sha512-EcyUtxffdDtWjjwIH8sKzpDRLcVtqANooMNASO59y+xmqqRYBBM7xVLQhqF7nksIbm2yHABptoioS9RAbVMWVA==} 454 | engines: {node: '>=12'} 455 | cpu: [riscv64] 456 | os: [linux] 457 | requiresBuild: true 458 | dev: false 459 | optional: true 460 | 461 | /@esbuild/linux-s390x/0.16.17: 462 | resolution: {integrity: sha512-gzy7nUTO4UA4oZ2wAMXPNBGTzZFP7mss3aKR2hH+/4UUkCOyqmjXiKpzGrY2TlEUhbbejzXVKKGazYcQTZWA/w==} 463 | engines: {node: '>=12'} 464 | cpu: [s390x] 465 | os: [linux] 466 | requiresBuild: true 467 | dev: true 468 | optional: true 469 | 470 | /@esbuild/linux-s390x/0.17.15: 471 | resolution: {integrity: sha512-BuS6Jx/ezxFuHxgsfvz7T4g4YlVrmCmg7UAwboeyNNg0OzNzKsIZXpr3Sb/ZREDXWgt48RO4UQRDBxJN3B9Rbg==} 472 | engines: {node: '>=12'} 473 | cpu: [s390x] 474 | os: [linux] 475 | requiresBuild: true 476 | dev: false 477 | optional: true 478 | 479 | /@esbuild/linux-x64/0.16.17: 480 | resolution: {integrity: sha512-mdPjPxfnmoqhgpiEArqi4egmBAMYvaObgn4poorpUaqmvzzbvqbowRllQ+ZgzGVMGKaPkqUmPDOOFQRUFDmeUw==} 481 | engines: {node: '>=12'} 482 | cpu: [x64] 483 | os: [linux] 484 | requiresBuild: true 485 | dev: true 486 | optional: true 487 | 488 | /@esbuild/linux-x64/0.17.15: 489 | resolution: {integrity: sha512-JsdS0EgEViwuKsw5tiJQo9UdQdUJYuB+Mf6HxtJSPN35vez1hlrNb1KajvKWF5Sa35j17+rW1ECEO9iNrIXbNg==} 490 | engines: {node: '>=12'} 491 | cpu: [x64] 492 | os: [linux] 493 | requiresBuild: true 494 | dev: false 495 | optional: true 496 | 497 | /@esbuild/netbsd-x64/0.16.17: 498 | resolution: {integrity: sha512-/PzmzD/zyAeTUsduZa32bn0ORug+Jd1EGGAUJvqfeixoEISYpGnAezN6lnJoskauoai0Jrs+XSyvDhppCPoKOA==} 499 | engines: {node: '>=12'} 500 | cpu: [x64] 501 | os: [netbsd] 502 | requiresBuild: true 503 | dev: true 504 | optional: true 505 | 506 | /@esbuild/netbsd-x64/0.17.15: 507 | resolution: {integrity: sha512-R6fKjtUysYGym6uXf6qyNephVUQAGtf3n2RCsOST/neIwPqRWcnc3ogcielOd6pT+J0RDR1RGcy0ZY7d3uHVLA==} 508 | engines: {node: '>=12'} 509 | cpu: [x64] 510 | os: [netbsd] 511 | requiresBuild: true 512 | dev: false 513 | optional: true 514 | 515 | /@esbuild/openbsd-x64/0.16.17: 516 | resolution: {integrity: sha512-2yaWJhvxGEz2RiftSk0UObqJa/b+rIAjnODJgv2GbGGpRwAfpgzyrg1WLK8rqA24mfZa9GvpjLcBBg8JHkoodg==} 517 | engines: {node: '>=12'} 518 | cpu: [x64] 519 | os: [openbsd] 520 | requiresBuild: true 521 | dev: true 522 | optional: true 523 | 524 | /@esbuild/openbsd-x64/0.17.15: 525 | resolution: {integrity: sha512-mVD4PGc26b8PI60QaPUltYKeSX0wxuy0AltC+WCTFwvKCq2+OgLP4+fFd+hZXzO2xW1HPKcytZBdjqL6FQFa7w==} 526 | engines: {node: '>=12'} 527 | cpu: [x64] 528 | os: [openbsd] 529 | requiresBuild: true 530 | dev: false 531 | optional: true 532 | 533 | /@esbuild/sunos-x64/0.16.17: 534 | resolution: {integrity: sha512-xtVUiev38tN0R3g8VhRfN7Zl42YCJvyBhRKw1RJjwE1d2emWTVToPLNEQj/5Qxc6lVFATDiy6LjVHYhIPrLxzw==} 535 | engines: {node: '>=12'} 536 | cpu: [x64] 537 | os: [sunos] 538 | requiresBuild: true 539 | dev: true 540 | optional: true 541 | 542 | /@esbuild/sunos-x64/0.17.15: 543 | resolution: {integrity: sha512-U6tYPovOkw3459t2CBwGcFYfFRjivcJJc1WC8Q3funIwX8x4fP+R6xL/QuTPNGOblbq/EUDxj9GU+dWKX0oWlQ==} 544 | engines: {node: '>=12'} 545 | cpu: [x64] 546 | os: [sunos] 547 | requiresBuild: true 548 | dev: false 549 | optional: true 550 | 551 | /@esbuild/win32-arm64/0.16.17: 552 | resolution: {integrity: sha512-ga8+JqBDHY4b6fQAmOgtJJue36scANy4l/rL97W+0wYmijhxKetzZdKOJI7olaBaMhWt8Pac2McJdZLxXWUEQw==} 553 | engines: {node: '>=12'} 554 | cpu: [arm64] 555 | os: [win32] 556 | requiresBuild: true 557 | dev: true 558 | optional: true 559 | 560 | /@esbuild/win32-arm64/0.17.15: 561 | resolution: {integrity: sha512-W+Z5F++wgKAleDABemiyXVnzXgvRFs+GVKThSI+mGgleLWluv0D7Diz4oQpgdpNzh4i2nNDzQtWbjJiqutRp6Q==} 562 | engines: {node: '>=12'} 563 | cpu: [arm64] 564 | os: [win32] 565 | requiresBuild: true 566 | dev: false 567 | optional: true 568 | 569 | /@esbuild/win32-ia32/0.16.17: 570 | resolution: {integrity: sha512-WnsKaf46uSSF/sZhwnqE4L/F89AYNMiD4YtEcYekBt9Q7nj0DiId2XH2Ng2PHM54qi5oPrQ8luuzGszqi/veig==} 571 | engines: {node: '>=12'} 572 | cpu: [ia32] 573 | os: [win32] 574 | requiresBuild: true 575 | dev: true 576 | optional: true 577 | 578 | /@esbuild/win32-ia32/0.17.15: 579 | resolution: {integrity: sha512-Muz/+uGgheShKGqSVS1KsHtCyEzcdOn/W/Xbh6H91Etm+wiIfwZaBn1W58MeGtfI8WA961YMHFYTthBdQs4t+w==} 580 | engines: {node: '>=12'} 581 | cpu: [ia32] 582 | os: [win32] 583 | requiresBuild: true 584 | dev: false 585 | optional: true 586 | 587 | /@esbuild/win32-x64/0.16.17: 588 | resolution: {integrity: sha512-y+EHuSchhL7FjHgvQL/0fnnFmO4T1bhvWANX6gcnqTjtnKWbTvUMCpGnv2+t+31d7RzyEAYAd4u2fnIhHL6N/Q==} 589 | engines: {node: '>=12'} 590 | cpu: [x64] 591 | os: [win32] 592 | requiresBuild: true 593 | dev: true 594 | optional: true 595 | 596 | /@esbuild/win32-x64/0.17.15: 597 | resolution: {integrity: sha512-DjDa9ywLUUmjhV2Y9wUTIF+1XsmuFGvZoCmOWkli1XcNAh5t25cc7fgsCx4Zi/Uurep3TTLyDiKATgGEg61pkA==} 598 | engines: {node: '>=12'} 599 | cpu: [x64] 600 | os: [win32] 601 | requiresBuild: true 602 | dev: false 603 | optional: true 604 | 605 | /@mdit-vue/shared/0.11.0: 606 | resolution: {integrity: sha512-eiGe42y7UYpjO6/8Lg6OpAtzZrRU9k8dhpX1e/kJMTcL+tn+XkqRMJJ8I2pdrOQMSkgvIva5FNAriykqFzkdGg==} 607 | dependencies: 608 | '@mdit-vue/types': 0.11.0 609 | '@types/markdown-it': 12.2.3 610 | markdown-it: 13.0.1 611 | dev: true 612 | 613 | /@mdit-vue/types/0.11.0: 614 | resolution: {integrity: sha512-ygCGP7vFpqS02hpZwEe1uz8cfImWX06+zRs08J+tCZRKb6k+easIaIHFtY9ZSxt7j9L/gAPLDo/5RmOT6z0DPQ==} 615 | dev: true 616 | 617 | /@nodelib/fs.scandir/2.1.5: 618 | resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} 619 | engines: {node: '>= 8'} 620 | dependencies: 621 | '@nodelib/fs.stat': 2.0.5 622 | run-parallel: 1.2.0 623 | dev: true 624 | 625 | /@nodelib/fs.stat/2.0.5: 626 | resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} 627 | engines: {node: '>= 8'} 628 | dev: true 629 | 630 | /@nodelib/fs.walk/1.2.8: 631 | resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} 632 | engines: {node: '>= 8'} 633 | dependencies: 634 | '@nodelib/fs.scandir': 2.1.5 635 | fastq: 1.14.0 636 | dev: true 637 | 638 | /@types/flexsearch/0.7.3: 639 | resolution: {integrity: sha512-HXwADeHEP4exXkCIwy2n1+i0f1ilP1ETQOH5KDOugjkTFZPntWo0Gr8stZOaebkxsdx+k0X/K6obU/+it07ocg==} 640 | dev: false 641 | 642 | /@types/glob-to-regexp/0.4.1: 643 | resolution: {integrity: sha512-S0mIukll6fbF0tvrKic/jj+jI8SHoSvGU+Cs95b/jzZEnBYCbj+7aJtQ9yeABuK3xP1okwA3jEH9qIRayijnvQ==} 644 | dev: true 645 | 646 | /@types/linkify-it/3.0.2: 647 | resolution: {integrity: sha512-HZQYqbiFVWufzCwexrvh694SOim8z2d+xJl5UNamcvQFejLY/2YUtzXHYi3cHdI7PMlS8ejH2slRAOJQ32aNbA==} 648 | 649 | /@types/markdown-it/12.2.3: 650 | resolution: {integrity: sha512-GKMHFfv3458yYy+v/N8gjufHO6MSZKCOXpZc5GXIWWy8uldwfmPn98vp81gZ5f9SVw8YYBctgfJ22a2d7AOMeQ==} 651 | dependencies: 652 | '@types/linkify-it': 3.0.2 653 | '@types/mdurl': 1.0.2 654 | 655 | /@types/mdurl/1.0.2: 656 | resolution: {integrity: sha512-eC4U9MlIcu2q0KQmXszyn5Akca/0jrQmwDRgpAMJai7qBWq4amIQhZyNau4VYGtCeALvW1/NtjzJJ567aZxfKA==} 657 | 658 | /@types/node/18.8.0: 659 | resolution: {integrity: sha512-u+h43R6U8xXDt2vzUaVP3VwjjLyOJk6uEciZS8OSyziUQGOwmk+l+4drxcsDboHXwyTaqS1INebghmWMRxq3LA==} 660 | 661 | /@types/web-bluetooth/0.0.16: 662 | resolution: {integrity: sha512-oh8q2Zc32S6gd/j50GowEjKLoOVOwHP/bWVjKJInBwQqdOYMdPrf1oVlelTlyfFK3CKxL1uahMDAr+vy8T7yMQ==} 663 | dev: false 664 | 665 | /@vitejs/plugin-vue/4.1.0_vite@4.2.1+vue@3.2.47: 666 | resolution: {integrity: sha512-++9JOAFdcXI3lyer9UKUV4rfoQ3T1RN8yDqoCLar86s0xQct5yblxAE+yWgRnU5/0FOlVCpTZpYSBV/bGWrSrQ==} 667 | engines: {node: ^14.18.0 || >=16.0.0} 668 | peerDependencies: 669 | vite: ^4.0.0 670 | vue: ^3.2.25 671 | dependencies: 672 | vite: 4.2.1_@types+node@18.8.0 673 | vue: 3.2.47 674 | dev: false 675 | 676 | /@volar/language-core/1.0.11: 677 | resolution: {integrity: sha512-YwUYKxIyDc+Fq3kQ6BGGfkrKCG5JzE2Yr6vMxrxEXW2rg/gsq3JgMk/4sI8ybRsaTirhCB4V8+AIVYsvcRxgig==} 678 | dependencies: 679 | '@volar/source-map': 1.0.11 680 | '@vue/reactivity': 3.2.45 681 | muggle-string: 0.1.0 682 | dev: true 683 | 684 | /@volar/source-map/1.0.11: 685 | resolution: {integrity: sha512-tkuV9MD+OuiZfHA0qZXrPdW6F7TvnpnuTan6Qe7UGUs9+sflezlMJdjaYdGgQObfP+06pcT1E3xdkOoi08ZyyQ==} 686 | dependencies: 687 | muggle-string: 0.1.0 688 | dev: true 689 | 690 | /@volar/typescript/1.0.11: 691 | resolution: {integrity: sha512-mq7wDDAs0Eb43jev2FxbowuiwWqvL3kb+tar1we8VQbdabpyQ5dmbWPwo/IglevMmW3SKo1Et+6rqAeZpXNnPQ==} 692 | dependencies: 693 | '@volar/language-core': 1.0.11 694 | dev: true 695 | 696 | /@volar/vue-language-core/1.0.11: 697 | resolution: {integrity: sha512-A3ODs0/ua7BcpSSnE7KtO8bzWsYsbOJRyW2Q/2uktxlfHj8srln3JdgK/mNlIgfnWtACbE5K+EfMJOgJKv864A==} 698 | dependencies: 699 | '@volar/language-core': 1.0.11 700 | '@volar/source-map': 1.0.11 701 | '@vue/compiler-dom': 3.2.45 702 | '@vue/compiler-sfc': 3.2.45 703 | '@vue/reactivity': 3.2.45 704 | '@vue/shared': 3.2.45 705 | minimatch: 5.1.1 706 | vue-template-compiler: 2.7.14 707 | dev: true 708 | 709 | /@volar/vue-typescript/1.0.11: 710 | resolution: {integrity: sha512-jlnFPvBcTyPiAbGlgjhKK7fp3Q+Z7Z5eU1NTbTSS0lQC8Gog3sh2UxLAFG5Voe1gHIxasoOEPXzMR0CWF4bKbA==} 711 | dependencies: 712 | '@volar/typescript': 1.0.11 713 | '@volar/vue-language-core': 1.0.11 714 | dev: true 715 | 716 | /@vue/compiler-core/3.2.45: 717 | resolution: {integrity: sha512-rcMj7H+PYe5wBV3iYeUgbCglC+pbpN8hBLTJvRiK2eKQiWqu+fG9F+8sW99JdL4LQi7Re178UOxn09puSXvn4A==} 718 | dependencies: 719 | '@babel/parser': 7.20.5 720 | '@vue/shared': 3.2.45 721 | estree-walker: 2.0.2 722 | source-map: 0.6.1 723 | 724 | /@vue/compiler-core/3.2.47: 725 | resolution: {integrity: sha512-p4D7FDnQb7+YJmO2iPEv0SQNeNzcbHdGByJDsT4lynf63AFkOTFN07HsiRSvjGo0QrxR/o3d0hUyNCUnBU2Tig==} 726 | dependencies: 727 | '@babel/parser': 7.20.5 728 | '@vue/shared': 3.2.47 729 | estree-walker: 2.0.2 730 | source-map: 0.6.1 731 | dev: false 732 | 733 | /@vue/compiler-dom/3.2.45: 734 | resolution: {integrity: sha512-tyYeUEuKqqZO137WrZkpwfPCdiiIeXYCcJ8L4gWz9vqaxzIQRccTSwSWZ/Axx5YR2z+LvpUbmPNXxuBU45lyRw==} 735 | dependencies: 736 | '@vue/compiler-core': 3.2.45 737 | '@vue/shared': 3.2.45 738 | 739 | /@vue/compiler-dom/3.2.47: 740 | resolution: {integrity: sha512-dBBnEHEPoftUiS03a4ggEig74J2YBZ2UIeyfpcRM2tavgMWo4bsEfgCGsu+uJIL/vax9S+JztH8NmQerUo7shQ==} 741 | dependencies: 742 | '@vue/compiler-core': 3.2.47 743 | '@vue/shared': 3.2.47 744 | dev: false 745 | 746 | /@vue/compiler-sfc/3.2.45: 747 | resolution: {integrity: sha512-1jXDuWah1ggsnSAOGsec8cFjT/K6TMZ0sPL3o3d84Ft2AYZi2jWJgRMjw4iaK0rBfA89L5gw427H4n1RZQBu6Q==} 748 | dependencies: 749 | '@babel/parser': 7.20.5 750 | '@vue/compiler-core': 3.2.45 751 | '@vue/compiler-dom': 3.2.45 752 | '@vue/compiler-ssr': 3.2.45 753 | '@vue/reactivity-transform': 3.2.45 754 | '@vue/shared': 3.2.45 755 | estree-walker: 2.0.2 756 | magic-string: 0.25.9 757 | postcss: 8.4.19 758 | source-map: 0.6.1 759 | 760 | /@vue/compiler-sfc/3.2.47: 761 | resolution: {integrity: sha512-rog05W+2IFfxjMcFw10tM9+f7i/+FFpZJJ5XHX72NP9eC2uRD+42M3pYcQqDXVYoj74kHMSEdQ/WmCjt8JFksQ==} 762 | dependencies: 763 | '@babel/parser': 7.20.5 764 | '@vue/compiler-core': 3.2.47 765 | '@vue/compiler-dom': 3.2.47 766 | '@vue/compiler-ssr': 3.2.47 767 | '@vue/reactivity-transform': 3.2.47 768 | '@vue/shared': 3.2.47 769 | estree-walker: 2.0.2 770 | magic-string: 0.25.9 771 | postcss: 8.4.21 772 | source-map: 0.6.1 773 | dev: false 774 | 775 | /@vue/compiler-ssr/3.2.45: 776 | resolution: {integrity: sha512-6BRaggEGqhWht3lt24CrIbQSRD5O07MTmd+LjAn5fJj568+R9eUD2F7wMQJjX859seSlrYog7sUtrZSd7feqrQ==} 777 | dependencies: 778 | '@vue/compiler-dom': 3.2.45 779 | '@vue/shared': 3.2.45 780 | 781 | /@vue/compiler-ssr/3.2.47: 782 | resolution: {integrity: sha512-wVXC+gszhulcMD8wpxMsqSOpvDZ6xKXSVWkf50Guf/S+28hTAXPDYRTbLQ3EDkOP5Xz/+SY37YiwDquKbJOgZw==} 783 | dependencies: 784 | '@vue/compiler-dom': 3.2.47 785 | '@vue/shared': 3.2.47 786 | dev: false 787 | 788 | /@vue/devtools-api/6.5.0: 789 | resolution: {integrity: sha512-o9KfBeaBmCKl10usN4crU53fYtC1r7jJwdGKjPT24t348rHxgfpZ0xL3Xm/gLUYnc0oTp8LAmrxOeLyu6tbk2Q==} 790 | dev: false 791 | 792 | /@vue/reactivity-transform/3.2.45: 793 | resolution: {integrity: sha512-BHVmzYAvM7vcU5WmuYqXpwaBHjsS8T63jlKGWVtHxAHIoMIlmaMyurUSEs1Zcg46M4AYT5MtB1U274/2aNzjJQ==} 794 | dependencies: 795 | '@babel/parser': 7.20.5 796 | '@vue/compiler-core': 3.2.45 797 | '@vue/shared': 3.2.45 798 | estree-walker: 2.0.2 799 | magic-string: 0.25.9 800 | 801 | /@vue/reactivity-transform/3.2.47: 802 | resolution: {integrity: sha512-m8lGXw8rdnPVVIdIFhf0LeQ/ixyHkH5plYuS83yop5n7ggVJU+z5v0zecwEnX7fa7HNLBhh2qngJJkxpwEEmYA==} 803 | dependencies: 804 | '@babel/parser': 7.20.5 805 | '@vue/compiler-core': 3.2.47 806 | '@vue/shared': 3.2.47 807 | estree-walker: 2.0.2 808 | magic-string: 0.25.9 809 | dev: false 810 | 811 | /@vue/reactivity/3.2.45: 812 | resolution: {integrity: sha512-PRvhCcQcyEVohW0P8iQ7HDcIOXRjZfAsOds3N99X/Dzewy8TVhTCT4uXpAHfoKjVTJRA0O0K+6QNkDIZAxNi3A==} 813 | dependencies: 814 | '@vue/shared': 3.2.45 815 | 816 | /@vue/reactivity/3.2.47: 817 | resolution: {integrity: sha512-7khqQ/75oyyg+N/e+iwV6lpy1f5wq759NdlS1fpAhFXa8VeAIKGgk2E/C4VF59lx5b+Ezs5fpp/5WsRYXQiKxQ==} 818 | dependencies: 819 | '@vue/shared': 3.2.47 820 | dev: false 821 | 822 | /@vue/runtime-core/3.2.45: 823 | resolution: {integrity: sha512-gzJiTA3f74cgARptqzYswmoQx0fIA+gGYBfokYVhF8YSXjWTUA2SngRzZRku2HbGbjzB6LBYSbKGIaK8IW+s0A==} 824 | dependencies: 825 | '@vue/reactivity': 3.2.45 826 | '@vue/shared': 3.2.45 827 | dev: false 828 | 829 | /@vue/runtime-core/3.2.47: 830 | resolution: {integrity: sha512-RZxbLQIRB/K0ev0K9FXhNbBzT32H9iRtYbaXb0ZIz2usLms/D55dJR2t6cIEUn6vyhS3ALNvNthI+Q95C+NOpA==} 831 | dependencies: 832 | '@vue/reactivity': 3.2.47 833 | '@vue/shared': 3.2.47 834 | dev: false 835 | 836 | /@vue/runtime-dom/3.2.45: 837 | resolution: {integrity: sha512-cy88YpfP5Ue2bDBbj75Cb4bIEZUMM/mAkDMfqDTpUYVgTf/kuQ2VQ8LebuZ8k6EudgH8pYhsGWHlY0lcxlvTwA==} 838 | dependencies: 839 | '@vue/runtime-core': 3.2.45 840 | '@vue/shared': 3.2.45 841 | csstype: 2.6.21 842 | dev: false 843 | 844 | /@vue/runtime-dom/3.2.47: 845 | resolution: {integrity: sha512-ArXrFTjS6TsDei4qwNvgrdmHtD930KgSKGhS5M+j8QxXrDJYLqYw4RRcDy1bz1m1wMmb6j+zGLifdVHtkXA7gA==} 846 | dependencies: 847 | '@vue/runtime-core': 3.2.47 848 | '@vue/shared': 3.2.47 849 | csstype: 2.6.21 850 | dev: false 851 | 852 | /@vue/server-renderer/3.2.45_vue@3.2.45: 853 | resolution: {integrity: sha512-ebiMq7q24WBU1D6uhPK//2OTR1iRIyxjF5iVq/1a5I1SDMDyDu4Ts6fJaMnjrvD3MqnaiFkKQj+LKAgz5WIK3g==} 854 | peerDependencies: 855 | vue: 3.2.45 856 | dependencies: 857 | '@vue/compiler-ssr': 3.2.45 858 | '@vue/shared': 3.2.45 859 | vue: 3.2.45 860 | dev: false 861 | 862 | /@vue/server-renderer/3.2.47_vue@3.2.47: 863 | resolution: {integrity: sha512-dN9gc1i8EvmP9RCzvneONXsKfBRgqFeFZLurmHOveL7oH6HiFXJw5OGu294n1nHc/HMgTy6LulU/tv5/A7f/LA==} 864 | peerDependencies: 865 | vue: 3.2.47 866 | dependencies: 867 | '@vue/compiler-ssr': 3.2.47 868 | '@vue/shared': 3.2.47 869 | vue: 3.2.47 870 | dev: false 871 | 872 | /@vue/shared/3.2.45: 873 | resolution: {integrity: sha512-Ewzq5Yhimg7pSztDV+RH1UDKBzmtqieXQlpTVm2AwraoRL/Rks96mvd8Vgi7Lj+h+TH8dv7mXD3FRZR3TUvbSg==} 874 | 875 | /@vue/shared/3.2.47: 876 | resolution: {integrity: sha512-BHGyyGN3Q97EZx0taMQ+OLNuZcW3d37ZEVmEAyeoA9ERdGvm9Irc/0Fua8SNyOtV1w6BS4q25wbMzJujO9HIfQ==} 877 | dev: false 878 | 879 | /@vueuse/core/9.13.0_vue@3.2.47: 880 | resolution: {integrity: sha512-pujnclbeHWxxPRqXWmdkKV5OX4Wk4YeK7wusHqRwU0Q7EFusHoqNA/aPhB6KCh9hEqJkLAJo7bb0Lh9b+OIVzw==} 881 | dependencies: 882 | '@types/web-bluetooth': 0.0.16 883 | '@vueuse/metadata': 9.13.0 884 | '@vueuse/shared': 9.13.0_vue@3.2.47 885 | vue-demi: 0.13.11_vue@3.2.47 886 | transitivePeerDependencies: 887 | - '@vue/composition-api' 888 | - vue 889 | dev: false 890 | 891 | /@vueuse/metadata/9.13.0: 892 | resolution: {integrity: sha512-gdU7TKNAUVlXXLbaF+ZCfte8BjRJQWPCa2J55+7/h+yDtzw3vOoGQDRXzI6pyKyo6bXFT5/QoPE4hAknExjRLQ==} 893 | dev: false 894 | 895 | /@vueuse/shared/9.13.0_vue@3.2.47: 896 | resolution: {integrity: sha512-UrnhU+Cnufu4S6JLCPZnkWh0WwZGUp72ktOF2DFptMlOs3TOdVv8xJN53zhHGARmVOsz5KqOls09+J1NR6sBKw==} 897 | dependencies: 898 | vue-demi: 0.13.11_vue@3.2.47 899 | transitivePeerDependencies: 900 | - '@vue/composition-api' 901 | - vue 902 | dev: false 903 | 904 | /algoliasearch/4.14.2: 905 | resolution: {integrity: sha512-ngbEQonGEmf8dyEh5f+uOIihv4176dgbuOZspiuhmTTBRBuzWu3KCGHre6uHj5YyuC7pNvQGzB6ZNJyZi0z+Sg==} 906 | dependencies: 907 | '@algolia/cache-browser-local-storage': 4.14.2 908 | '@algolia/cache-common': 4.14.2 909 | '@algolia/cache-in-memory': 4.14.2 910 | '@algolia/client-account': 4.14.2 911 | '@algolia/client-analytics': 4.14.2 912 | '@algolia/client-common': 4.14.2 913 | '@algolia/client-personalization': 4.14.2 914 | '@algolia/client-search': 4.14.2 915 | '@algolia/logger-common': 4.14.2 916 | '@algolia/logger-console': 4.14.2 917 | '@algolia/requester-browser-xhr': 4.14.2 918 | '@algolia/requester-common': 4.14.2 919 | '@algolia/requester-node-http': 4.14.2 920 | '@algolia/transporter': 4.14.2 921 | dev: false 922 | 923 | /ansi-sequence-parser/1.1.0: 924 | resolution: {integrity: sha512-lEm8mt52to2fT8GhciPCGeCXACSz2UwIN4X2e2LJSnZ5uAbn2/dsYdOmUXq0AtWS5cpAupysIneExOgH0Vd2TQ==} 925 | dev: false 926 | 927 | /anymatch/3.1.3: 928 | resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} 929 | engines: {node: '>= 8'} 930 | dependencies: 931 | normalize-path: 3.0.0 932 | picomatch: 2.3.1 933 | dev: true 934 | 935 | /argparse/2.0.1: 936 | resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} 937 | 938 | /balanced-match/1.0.2: 939 | resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} 940 | dev: true 941 | 942 | /binary-extensions/2.2.0: 943 | resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} 944 | engines: {node: '>=8'} 945 | dev: true 946 | 947 | /body-scroll-lock/4.0.0-beta.0: 948 | resolution: {integrity: sha512-a7tP5+0Mw3YlUJcGAKUqIBkYYGlYxk2fnCasq/FUph1hadxlTRjF+gAcZksxANnaMnALjxEddmSi/H3OR8ugcQ==} 949 | dev: false 950 | 951 | /brace-expansion/2.0.1: 952 | resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} 953 | dependencies: 954 | balanced-match: 1.0.2 955 | dev: true 956 | 957 | /braces/3.0.2: 958 | resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} 959 | engines: {node: '>=8'} 960 | dependencies: 961 | fill-range: 7.0.1 962 | dev: true 963 | 964 | /chokidar/3.5.3: 965 | resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} 966 | engines: {node: '>= 8.10.0'} 967 | dependencies: 968 | anymatch: 3.1.3 969 | braces: 3.0.2 970 | glob-parent: 5.1.2 971 | is-binary-path: 2.1.0 972 | is-glob: 4.0.3 973 | normalize-path: 3.0.0 974 | readdirp: 3.6.0 975 | optionalDependencies: 976 | fsevents: 2.3.2 977 | dev: true 978 | 979 | /csstype/2.6.21: 980 | resolution: {integrity: sha512-Z1PhmomIfypOpoMjRQB70jfvy/wxT50qW08YXO5lMIJkrdq4yOTR+AW7FqutScmB9NkLwxo+jU+kZLbofZZq/w==} 981 | dev: false 982 | 983 | /de-indent/1.0.2: 984 | resolution: {integrity: sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==} 985 | dev: true 986 | 987 | /entities/3.0.1: 988 | resolution: {integrity: sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q==} 989 | engines: {node: '>=0.12'} 990 | 991 | /esbuild/0.16.17: 992 | resolution: {integrity: sha512-G8LEkV0XzDMNwXKgM0Jwu3nY3lSTwSGY6XbxM9cr9+s0T/qSV1q1JVPBGzm3dcjhCic9+emZDmMffkwgPeOeLg==} 993 | engines: {node: '>=12'} 994 | hasBin: true 995 | requiresBuild: true 996 | optionalDependencies: 997 | '@esbuild/android-arm': 0.16.17 998 | '@esbuild/android-arm64': 0.16.17 999 | '@esbuild/android-x64': 0.16.17 1000 | '@esbuild/darwin-arm64': 0.16.17 1001 | '@esbuild/darwin-x64': 0.16.17 1002 | '@esbuild/freebsd-arm64': 0.16.17 1003 | '@esbuild/freebsd-x64': 0.16.17 1004 | '@esbuild/linux-arm': 0.16.17 1005 | '@esbuild/linux-arm64': 0.16.17 1006 | '@esbuild/linux-ia32': 0.16.17 1007 | '@esbuild/linux-loong64': 0.16.17 1008 | '@esbuild/linux-mips64el': 0.16.17 1009 | '@esbuild/linux-ppc64': 0.16.17 1010 | '@esbuild/linux-riscv64': 0.16.17 1011 | '@esbuild/linux-s390x': 0.16.17 1012 | '@esbuild/linux-x64': 0.16.17 1013 | '@esbuild/netbsd-x64': 0.16.17 1014 | '@esbuild/openbsd-x64': 0.16.17 1015 | '@esbuild/sunos-x64': 0.16.17 1016 | '@esbuild/win32-arm64': 0.16.17 1017 | '@esbuild/win32-ia32': 0.16.17 1018 | '@esbuild/win32-x64': 0.16.17 1019 | dev: true 1020 | 1021 | /esbuild/0.17.15: 1022 | resolution: {integrity: sha512-LBUV2VsUIc/iD9ME75qhT4aJj0r75abCVS0jakhFzOtR7TQsqQA5w0tZ+KTKnwl3kXE0MhskNdHDh/I5aCR1Zw==} 1023 | engines: {node: '>=12'} 1024 | hasBin: true 1025 | requiresBuild: true 1026 | optionalDependencies: 1027 | '@esbuild/android-arm': 0.17.15 1028 | '@esbuild/android-arm64': 0.17.15 1029 | '@esbuild/android-x64': 0.17.15 1030 | '@esbuild/darwin-arm64': 0.17.15 1031 | '@esbuild/darwin-x64': 0.17.15 1032 | '@esbuild/freebsd-arm64': 0.17.15 1033 | '@esbuild/freebsd-x64': 0.17.15 1034 | '@esbuild/linux-arm': 0.17.15 1035 | '@esbuild/linux-arm64': 0.17.15 1036 | '@esbuild/linux-ia32': 0.17.15 1037 | '@esbuild/linux-loong64': 0.17.15 1038 | '@esbuild/linux-mips64el': 0.17.15 1039 | '@esbuild/linux-ppc64': 0.17.15 1040 | '@esbuild/linux-riscv64': 0.17.15 1041 | '@esbuild/linux-s390x': 0.17.15 1042 | '@esbuild/linux-x64': 0.17.15 1043 | '@esbuild/netbsd-x64': 0.17.15 1044 | '@esbuild/openbsd-x64': 0.17.15 1045 | '@esbuild/sunos-x64': 0.17.15 1046 | '@esbuild/win32-arm64': 0.17.15 1047 | '@esbuild/win32-ia32': 0.17.15 1048 | '@esbuild/win32-x64': 0.17.15 1049 | dev: false 1050 | 1051 | /estree-walker/2.0.2: 1052 | resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} 1053 | 1054 | /fast-glob/3.2.12: 1055 | resolution: {integrity: sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==} 1056 | engines: {node: '>=8.6.0'} 1057 | dependencies: 1058 | '@nodelib/fs.stat': 2.0.5 1059 | '@nodelib/fs.walk': 1.2.8 1060 | glob-parent: 5.1.2 1061 | merge2: 1.4.1 1062 | micromatch: 4.0.5 1063 | dev: true 1064 | 1065 | /fastq/1.14.0: 1066 | resolution: {integrity: sha512-eR2D+V9/ExcbF9ls441yIuN6TI2ED1Y2ZcA5BmMtJsOkWOFRJQ0Jt0g1UwqXJJVAb+V+umH5Dfr8oh4EVP7VVg==} 1067 | dependencies: 1068 | reusify: 1.0.4 1069 | dev: true 1070 | 1071 | /fill-range/7.0.1: 1072 | resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} 1073 | engines: {node: '>=8'} 1074 | dependencies: 1075 | to-regex-range: 5.0.1 1076 | dev: true 1077 | 1078 | /flexsearch/0.7.31: 1079 | resolution: {integrity: sha512-XGozTsMPYkm+6b5QL3Z9wQcJjNYxp0CYn3U1gO7dwD6PAqU1SVWZxI9CCg3z+ml3YfqdPnrBehaBrnH2AGKbNA==} 1080 | dev: false 1081 | 1082 | /fs-extra/11.1.1: 1083 | resolution: {integrity: sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ==} 1084 | engines: {node: '>=14.14'} 1085 | dependencies: 1086 | graceful-fs: 4.2.10 1087 | jsonfile: 6.1.0 1088 | universalify: 2.0.0 1089 | dev: true 1090 | 1091 | /fsevents/2.3.2: 1092 | resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} 1093 | engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} 1094 | os: [darwin] 1095 | requiresBuild: true 1096 | optional: true 1097 | 1098 | /function-bind/1.1.1: 1099 | resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} 1100 | 1101 | /glob-parent/5.1.2: 1102 | resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} 1103 | engines: {node: '>= 6'} 1104 | dependencies: 1105 | is-glob: 4.0.3 1106 | dev: true 1107 | 1108 | /glob-to-regexp/0.4.1: 1109 | resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==} 1110 | dev: false 1111 | 1112 | /graceful-fs/4.2.10: 1113 | resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==} 1114 | dev: true 1115 | 1116 | /has/1.0.3: 1117 | resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} 1118 | engines: {node: '>= 0.4.0'} 1119 | dependencies: 1120 | function-bind: 1.1.1 1121 | 1122 | /he/1.2.0: 1123 | resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} 1124 | hasBin: true 1125 | dev: true 1126 | 1127 | /is-binary-path/2.1.0: 1128 | resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} 1129 | engines: {node: '>=8'} 1130 | dependencies: 1131 | binary-extensions: 2.2.0 1132 | dev: true 1133 | 1134 | /is-core-module/2.11.0: 1135 | resolution: {integrity: sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==} 1136 | dependencies: 1137 | has: 1.0.3 1138 | 1139 | /is-extglob/2.1.1: 1140 | resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} 1141 | engines: {node: '>=0.10.0'} 1142 | dev: true 1143 | 1144 | /is-glob/4.0.3: 1145 | resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} 1146 | engines: {node: '>=0.10.0'} 1147 | dependencies: 1148 | is-extglob: 2.1.1 1149 | dev: true 1150 | 1151 | /is-number/7.0.0: 1152 | resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} 1153 | engines: {node: '>=0.12.0'} 1154 | dev: true 1155 | 1156 | /jsonc-parser/3.2.0: 1157 | resolution: {integrity: sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==} 1158 | dev: false 1159 | 1160 | /jsonfile/6.1.0: 1161 | resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} 1162 | dependencies: 1163 | universalify: 2.0.0 1164 | optionalDependencies: 1165 | graceful-fs: 4.2.10 1166 | dev: true 1167 | 1168 | /linkify-it/4.0.1: 1169 | resolution: {integrity: sha512-C7bfi1UZmoj8+PQx22XyeXCuBlokoyWQL5pWSP+EI6nzRylyThouddufc2c1NDIcP9k5agmN9fLpA7VNJfIiqw==} 1170 | dependencies: 1171 | uc.micro: 1.0.6 1172 | 1173 | /magic-string/0.25.9: 1174 | resolution: {integrity: sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==} 1175 | dependencies: 1176 | sourcemap-codec: 1.4.8 1177 | 1178 | /markdown-it/13.0.1: 1179 | resolution: {integrity: sha512-lTlxriVoy2criHP0JKRhO2VDG9c2ypWCsT237eDiLqi09rmbKoUetyGHq2uOIRoRS//kfoJckS0eUzzkDR+k2Q==} 1180 | hasBin: true 1181 | dependencies: 1182 | argparse: 2.0.1 1183 | entities: 3.0.1 1184 | linkify-it: 4.0.1 1185 | mdurl: 1.0.1 1186 | uc.micro: 1.0.6 1187 | 1188 | /mdurl/1.0.1: 1189 | resolution: {integrity: sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==} 1190 | 1191 | /merge2/1.4.1: 1192 | resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} 1193 | engines: {node: '>= 8'} 1194 | dev: true 1195 | 1196 | /micromatch/4.0.5: 1197 | resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} 1198 | engines: {node: '>=8.6'} 1199 | dependencies: 1200 | braces: 3.0.2 1201 | picomatch: 2.3.1 1202 | dev: true 1203 | 1204 | /minimatch/5.1.1: 1205 | resolution: {integrity: sha512-362NP+zlprccbEt/SkxKfRMHnNY85V74mVnpUpNyr3F35covl09Kec7/sEFLt3RA4oXmewtoaanoIf67SE5Y5g==} 1206 | engines: {node: '>=10'} 1207 | dependencies: 1208 | brace-expansion: 2.0.1 1209 | dev: true 1210 | 1211 | /muggle-string/0.1.0: 1212 | resolution: {integrity: sha512-Tr1knR3d2mKvvWthlk7202rywKbiOm4rVFLsfAaSIhJ6dt9o47W4S+JMtWhd/PW9Wrdew2/S2fSvhz3E2gkfEg==} 1213 | dev: true 1214 | 1215 | /nanoid/3.3.4: 1216 | resolution: {integrity: sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==} 1217 | engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} 1218 | hasBin: true 1219 | 1220 | /normalize-path/3.0.0: 1221 | resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} 1222 | engines: {node: '>=0.10.0'} 1223 | dev: true 1224 | 1225 | /path-parse/1.0.7: 1226 | resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} 1227 | 1228 | /picocolors/1.0.0: 1229 | resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} 1230 | 1231 | /picomatch/2.3.1: 1232 | resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} 1233 | engines: {node: '>=8.6'} 1234 | dev: true 1235 | 1236 | /postcss/8.4.19: 1237 | resolution: {integrity: sha512-h+pbPsyhlYj6N2ozBmHhHrs9DzGmbaarbLvWipMRO7RLS+v4onj26MPFXA5OBYFxyqYhUJK456SwDcY9H2/zsA==} 1238 | engines: {node: ^10 || ^12 || >=14} 1239 | dependencies: 1240 | nanoid: 3.3.4 1241 | picocolors: 1.0.0 1242 | source-map-js: 1.0.2 1243 | 1244 | /postcss/8.4.21: 1245 | resolution: {integrity: sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==} 1246 | engines: {node: ^10 || ^12 || >=14} 1247 | dependencies: 1248 | nanoid: 3.3.4 1249 | picocolors: 1.0.0 1250 | source-map-js: 1.0.2 1251 | 1252 | /preact/10.11.3: 1253 | resolution: {integrity: sha512-eY93IVpod/zG3uMF22Unl8h9KkrcKIRs2EGar8hwLZZDU1lkjph303V9HZBwufh2s736U6VXuhD109LYqPoffg==} 1254 | dev: false 1255 | 1256 | /queue-microtask/1.2.3: 1257 | resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} 1258 | dev: true 1259 | 1260 | /readdirp/3.6.0: 1261 | resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} 1262 | engines: {node: '>=8.10.0'} 1263 | dependencies: 1264 | picomatch: 2.3.1 1265 | dev: true 1266 | 1267 | /resolve/1.22.1: 1268 | resolution: {integrity: sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==} 1269 | hasBin: true 1270 | dependencies: 1271 | is-core-module: 2.11.0 1272 | path-parse: 1.0.7 1273 | supports-preserve-symlinks-flag: 1.0.0 1274 | 1275 | /reusify/1.0.4: 1276 | resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} 1277 | engines: {iojs: '>=1.0.0', node: '>=0.10.0'} 1278 | dev: true 1279 | 1280 | /rollup/3.12.0: 1281 | resolution: {integrity: sha512-4MZ8kA2HNYahIjz63rzrMMRvDqQDeS9LoriJvMuV0V6zIGysP36e9t4yObUfwdT9h/szXoHQideICftcdZklWg==} 1282 | engines: {node: '>=14.18.0', npm: '>=8.0.0'} 1283 | hasBin: true 1284 | optionalDependencies: 1285 | fsevents: 2.3.2 1286 | dev: true 1287 | 1288 | /rollup/3.20.2: 1289 | resolution: {integrity: sha512-3zwkBQl7Ai7MFYQE0y1MeQ15+9jsi7XxfrqwTb/9EK8D9C9+//EBR4M+CuA1KODRaNbFez/lWxA5vhEGZp4MUg==} 1290 | engines: {node: '>=14.18.0', npm: '>=8.0.0'} 1291 | hasBin: true 1292 | optionalDependencies: 1293 | fsevents: 2.3.2 1294 | dev: false 1295 | 1296 | /run-parallel/1.2.0: 1297 | resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} 1298 | dependencies: 1299 | queue-microtask: 1.2.3 1300 | dev: true 1301 | 1302 | /shiki/0.14.1: 1303 | resolution: {integrity: sha512-+Jz4nBkCBe0mEDqo1eKRcCdjRtrCjozmcbTUjbPTX7OOJfEbTZzlUWlZtGe3Gb5oV1/jnojhG//YZc3rs9zSEw==} 1304 | dependencies: 1305 | ansi-sequence-parser: 1.1.0 1306 | jsonc-parser: 3.2.0 1307 | vscode-oniguruma: 1.7.0 1308 | vscode-textmate: 8.0.0 1309 | dev: false 1310 | 1311 | /source-map-js/1.0.2: 1312 | resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} 1313 | engines: {node: '>=0.10.0'} 1314 | 1315 | /source-map/0.6.1: 1316 | resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} 1317 | engines: {node: '>=0.10.0'} 1318 | 1319 | /sourcemap-codec/1.4.8: 1320 | resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==} 1321 | deprecated: Please use @jridgewell/sourcemap-codec instead 1322 | 1323 | /supports-preserve-symlinks-flag/1.0.0: 1324 | resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} 1325 | engines: {node: '>= 0.4'} 1326 | 1327 | /to-fast-properties/2.0.0: 1328 | resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} 1329 | engines: {node: '>=4'} 1330 | 1331 | /to-regex-range/5.0.1: 1332 | resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} 1333 | engines: {node: '>=8.0'} 1334 | dependencies: 1335 | is-number: 7.0.0 1336 | dev: true 1337 | 1338 | /typescript/4.9.3: 1339 | resolution: {integrity: sha512-CIfGzTelbKNEnLpLdGFgdyKhG23CKdKgQPOBc+OUNrkJ2vr+KSzsSV5kq5iWhEQbok+quxgGzrAtGWCyU7tHnA==} 1340 | engines: {node: '>=4.2.0'} 1341 | hasBin: true 1342 | dev: true 1343 | 1344 | /uc.micro/1.0.6: 1345 | resolution: {integrity: sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==} 1346 | 1347 | /universalify/2.0.0: 1348 | resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==} 1349 | engines: {node: '>= 10.0.0'} 1350 | dev: true 1351 | 1352 | /vite-plugin-static-copy/0.13.1_vite@4.0.4: 1353 | resolution: {integrity: sha512-KwIcGBT1aOxSq+laK3VmSngoEa3HXWj/6ZEXdv+y59eZ7p/XSuPahoDo+CfYW22JjTdnstgeKWiX+78KNgDu6g==} 1354 | engines: {node: ^14.18.0 || >=16.0.0} 1355 | peerDependencies: 1356 | vite: ^3.0.0 || ^4.0.0 1357 | dependencies: 1358 | chokidar: 3.5.3 1359 | fast-glob: 3.2.12 1360 | fs-extra: 11.1.1 1361 | picocolors: 1.0.0 1362 | vite: 4.0.4_@types+node@18.8.0 1363 | dev: true 1364 | 1365 | /vite/4.0.4_@types+node@18.8.0: 1366 | resolution: {integrity: sha512-xevPU7M8FU0i/80DMR+YhgrzR5KS2ORy1B4xcX/cXLsvnUWvfHuqMmVU6N0YiJ4JWGRJJsLCgjEzKjG9/GKoSw==} 1367 | engines: {node: ^14.18.0 || >=16.0.0} 1368 | hasBin: true 1369 | peerDependencies: 1370 | '@types/node': '>= 14' 1371 | less: '*' 1372 | sass: '*' 1373 | stylus: '*' 1374 | sugarss: '*' 1375 | terser: ^5.4.0 1376 | peerDependenciesMeta: 1377 | '@types/node': 1378 | optional: true 1379 | less: 1380 | optional: true 1381 | sass: 1382 | optional: true 1383 | stylus: 1384 | optional: true 1385 | sugarss: 1386 | optional: true 1387 | terser: 1388 | optional: true 1389 | dependencies: 1390 | '@types/node': 18.8.0 1391 | esbuild: 0.16.17 1392 | postcss: 8.4.21 1393 | resolve: 1.22.1 1394 | rollup: 3.12.0 1395 | optionalDependencies: 1396 | fsevents: 2.3.2 1397 | dev: true 1398 | 1399 | /vite/4.2.1_@types+node@18.8.0: 1400 | resolution: {integrity: sha512-7MKhqdy0ISo4wnvwtqZkjke6XN4taqQ2TBaTccLIpOKv7Vp2h4Y+NpmWCnGDeSvvn45KxvWgGyb0MkHvY1vgbg==} 1401 | engines: {node: ^14.18.0 || >=16.0.0} 1402 | hasBin: true 1403 | peerDependencies: 1404 | '@types/node': '>= 14' 1405 | less: '*' 1406 | sass: '*' 1407 | stylus: '*' 1408 | sugarss: '*' 1409 | terser: ^5.4.0 1410 | peerDependenciesMeta: 1411 | '@types/node': 1412 | optional: true 1413 | less: 1414 | optional: true 1415 | sass: 1416 | optional: true 1417 | stylus: 1418 | optional: true 1419 | sugarss: 1420 | optional: true 1421 | terser: 1422 | optional: true 1423 | dependencies: 1424 | '@types/node': 18.8.0 1425 | esbuild: 0.17.15 1426 | postcss: 8.4.21 1427 | resolve: 1.22.1 1428 | rollup: 3.20.2 1429 | optionalDependencies: 1430 | fsevents: 2.3.2 1431 | dev: false 1432 | 1433 | /vitepress/1.0.0-alpha.65_zaojyisplaxoutm4rqjcos7hk4: 1434 | resolution: {integrity: sha512-iGWC0AQC6WrfRZTJf5+TiGG4o8PLhqIJNyai8NVxZCY9YpmMJhddvQeqqjJdQniF/LQK/hQ5nQZ9HgSZDGRPGQ==} 1435 | hasBin: true 1436 | dependencies: 1437 | '@docsearch/css': 3.3.3 1438 | '@docsearch/js': 3.3.3_tbpndr44ulefs3hehwpi2mkf2y 1439 | '@vitejs/plugin-vue': 4.1.0_vite@4.2.1+vue@3.2.47 1440 | '@vue/devtools-api': 6.5.0 1441 | '@vueuse/core': 9.13.0_vue@3.2.47 1442 | body-scroll-lock: 4.0.0-beta.0 1443 | shiki: 0.14.1 1444 | vite: 4.2.1_@types+node@18.8.0 1445 | vue: 3.2.47 1446 | transitivePeerDependencies: 1447 | - '@algolia/client-search' 1448 | - '@types/node' 1449 | - '@types/react' 1450 | - '@vue/composition-api' 1451 | - less 1452 | - react 1453 | - react-dom 1454 | - sass 1455 | - stylus 1456 | - sugarss 1457 | - terser 1458 | dev: false 1459 | 1460 | /vscode-oniguruma/1.7.0: 1461 | resolution: {integrity: sha512-L9WMGRfrjOhgHSdOYgCt/yRMsXzLDJSL7BPrOZt73gU0iWO4mpqzqQzOz5srxqTvMBaR0XZTSrVWo4j55Rc6cA==} 1462 | dev: false 1463 | 1464 | /vscode-textmate/8.0.0: 1465 | resolution: {integrity: sha512-AFbieoL7a5LMqcnOF04ji+rpXadgOXnZsxQr//r83kLPr7biP7am3g9zbaZIaBGwBRWeSvoMD4mgPdX3e4NWBg==} 1466 | dev: false 1467 | 1468 | /vue-demi/0.13.11_vue@3.2.47: 1469 | resolution: {integrity: sha512-IR8HoEEGM65YY3ZJYAjMlKygDQn25D5ajNFNoKh9RSDMQtlzCxtfQjdQgv9jjK+m3377SsJXY8ysq8kLCZL25A==} 1470 | engines: {node: '>=12'} 1471 | hasBin: true 1472 | requiresBuild: true 1473 | peerDependencies: 1474 | '@vue/composition-api': ^1.0.0-rc.1 1475 | vue: ^3.0.0-0 || ^2.6.0 1476 | peerDependenciesMeta: 1477 | '@vue/composition-api': 1478 | optional: true 1479 | dependencies: 1480 | vue: 3.2.47 1481 | dev: false 1482 | 1483 | /vue-template-compiler/2.7.14: 1484 | resolution: {integrity: sha512-zyA5Y3ArvVG0NacJDkkzJuPQDF8RFeRlzV2vLeSnhSpieO6LK2OVbdLPi5MPPs09Ii+gMO8nY4S3iKQxBxDmWQ==} 1485 | dependencies: 1486 | de-indent: 1.0.2 1487 | he: 1.2.0 1488 | dev: true 1489 | 1490 | /vue-tsc/1.0.11_typescript@4.9.3: 1491 | resolution: {integrity: sha512-lj+6dEroPsE4wmQOPtjCzAf8x363Km5/tuEvMEoQaoRnzs9myBM46FNvCGIIPStYUGuaqF1W1bORmP2KDQEORA==} 1492 | hasBin: true 1493 | peerDependencies: 1494 | typescript: '*' 1495 | dependencies: 1496 | '@volar/vue-language-core': 1.0.11 1497 | '@volar/vue-typescript': 1.0.11 1498 | typescript: 4.9.3 1499 | dev: true 1500 | 1501 | /vue/3.2.45: 1502 | resolution: {integrity: sha512-9Nx/Mg2b2xWlXykmCwiTUCWHbWIj53bnkizBxKai1g61f2Xit700A1ljowpTIM11e3uipOeiPcSqnmBg6gyiaA==} 1503 | dependencies: 1504 | '@vue/compiler-dom': 3.2.45 1505 | '@vue/compiler-sfc': 3.2.45 1506 | '@vue/runtime-dom': 3.2.45 1507 | '@vue/server-renderer': 3.2.45_vue@3.2.45 1508 | '@vue/shared': 3.2.45 1509 | dev: false 1510 | 1511 | /vue/3.2.47: 1512 | resolution: {integrity: sha512-60188y/9Dc9WVrAZeUVSDxRQOZ+z+y5nO2ts9jWXSTkMvayiWxCWOWtBQoYjLeccfXkiiPZWAHcV+WTPhkqJHQ==} 1513 | dependencies: 1514 | '@vue/compiler-dom': 3.2.47 1515 | '@vue/compiler-sfc': 3.2.47 1516 | '@vue/runtime-dom': 3.2.47 1517 | '@vue/server-renderer': 3.2.47_vue@3.2.47 1518 | '@vue/shared': 3.2.47 1519 | dev: false 1520 | -------------------------------------------------------------------------------- /src/Search.vue: -------------------------------------------------------------------------------- 1 | 155 | 156 | 273 | 274 | 634 | -------------------------------------------------------------------------------- /src/docs-builder.ts: -------------------------------------------------------------------------------- 1 | import { Options } from "./types"; 2 | import * as fs from "fs/promises"; 3 | import { slugify } from "@mdit-vue/shared"; 4 | import globToRegExp from "glob-to-regexp"; 5 | 6 | const { readdir, readFile } = fs; 7 | let rootPath = ""; 8 | 9 | const replaceMdSyntax = (mdCode: string): string => 10 | mdCode 11 | .replace(/\[(.*?)\]\(.*?\)/g, `$1`) // links 12 | .replace(/(\*+)(\s*\b)([^\*]*)(\b\s*)(\*+)/gm, `$3`); //bold 13 | 14 | /** 15 | * Get if a string matches any of the regexes or globs in the array 16 | */ 17 | const match = (str: string, arr: (string | RegExp)[]): boolean => { 18 | let isMatch = false; 19 | for (const item of arr) { 20 | if (item instanceof RegExp) { 21 | if (item.test(str)) { 22 | isMatch = true; 23 | break; 24 | } 25 | } else if (typeof item === "string") { 26 | if (globToRegExp(item).test(str)) { 27 | isMatch = true; 28 | break; 29 | } 30 | } 31 | } 32 | return isMatch; 33 | }; 34 | 35 | /** 36 | * Get a list of all md files in the docs folders.. 37 | * @param dirName the full path name containing the md files 38 | * @param options the options object 39 | * @returns a list of full path location of each md file 40 | */ 41 | const getFileList = async ( 42 | dirName: string, 43 | options: Options 44 | ): Promise => { 45 | let files = [] as string[]; 46 | const items = await readdir(dirName, { withFileTypes: true }); 47 | 48 | for (const item of items) { 49 | if (options?.allow?.length > 0) { 50 | if (!match(`${dirName}/${item.name}`, options.allow)) continue; 51 | } 52 | if (options?.ignore?.length > 0) { 53 | if (match(`${dirName}/${item.name}`, options.ignore)) continue; 54 | } 55 | if (item.isDirectory() && item.name != "node_modules") { 56 | files = [ 57 | ...files, 58 | ...(await getFileList(`${dirName}/${item.name}`, options)), 59 | ]; 60 | } else { 61 | if (item.name.endsWith(".md")) files.push(`${dirName}/${item.name}`); 62 | } 63 | } 64 | 65 | return files; 66 | }; 67 | 68 | /** 69 | * remove frontmatter content 70 | * @param mdCode the content of md files 71 | * @returns the content without frontmatter content 72 | */ 73 | const removeFrontMatter = (mdCode: string): string => 74 | mdCode.replace(/^---(.|\W)*?---/, ""); 75 | 76 | /** 77 | * remove script tags from md content 78 | * @param mdCode the content of md files 79 | * @returns the content without script tags 80 | */ 81 | const removeScriptTag = (mdCode: string): string => 82 | mdCode 83 | .replace(/)<[^<]*)*<\/script>/gi, "") 84 | .trim(); 85 | 86 | /** 87 | * remove style tags from md content 88 | * @param mdCode the content of md files 89 | * @returns the content without style tags 90 | */ 91 | const removeStyleTag = (mdCode: string): string => 92 | mdCode.replace(/)<[^<]*)*<\/style>/gi, "").trim(); 93 | 94 | /** 95 | * create index docs to be used later on lunr 96 | * @param dirName the full path name containing the md files 97 | * @returns a list cleaned md contents 98 | */ 99 | const processMdFiles = async ( 100 | dirName: string, 101 | options: Options 102 | ): Promise => { 103 | rootPath = dirName; 104 | let mdFilesList = await getFileList(dirName, options); 105 | let allData = [] as mdFiles[]; 106 | 107 | for (let index = 0; index < mdFilesList.length; index++) { 108 | const mdFile = mdFilesList[index]; 109 | // console.log(`reading md file ${index +1} of ${mdFilesList.length}`); 110 | let code: string = await readFile(mdFile, { encoding: "utf8" }); 111 | let cleanCode = removeStyleTag( 112 | removeScriptTag(replaceMdSyntax(removeFrontMatter(code))) 113 | ); 114 | allData.push({ content: cleanCode, path: mdFile }); 115 | } 116 | 117 | return Promise.resolve(allData); 118 | }; 119 | 120 | /** 121 | * index data extracted from md to be used to generate the final index and previews 122 | */ 123 | interface MdIndexDoc { 124 | path: string; 125 | anchor: string; 126 | content: string; 127 | } 128 | 129 | interface mdFiles { 130 | path: string; 131 | content: string; 132 | } 133 | 134 | /** 135 | * Split an md content by anchors in several index docs 136 | * @param mdCode an md content 137 | * @param path path of md file 138 | * @returns array of index docs 139 | */ 140 | const parseMdContent = (mdCode: string, path: string): MdIndexDoc[] => { 141 | const result = mdCode.split(/(^|\s)#{2,}\s/gi); 142 | const cleaning = result.filter((i) => i != "" && i != "\n"); 143 | const mdData = cleaning.map((i) => { 144 | let content = i.split("\n"); 145 | let anchor = content?.shift() || ""; 146 | return { anchor, content: content.join("\n"), path }; 147 | }); 148 | return mdData; 149 | }; 150 | 151 | interface Doc { 152 | id: string; 153 | link: string; 154 | b: string; 155 | a: string; 156 | t?: string; 157 | } 158 | 159 | const buildDoc = (mdDoc: MdIndexDoc, id: string): Doc => { 160 | let m, t; 161 | let a = (t = mdDoc.anchor); 162 | if ((m = /\{(.*?)\}/m.exec(mdDoc.anchor)) !== null) { 163 | a = m[0]; 164 | t = mdDoc.anchor.replace(/\{(.*?)\}/m, ""); 165 | } 166 | a = slugify(a); 167 | if (a[0] == "#") a = a.replace("#", ""); 168 | 169 | let link = mdDoc.path.replace(rootPath + "/", "").replace("md", "html"); 170 | 171 | if (!id.includes(".0")) link += `#${slugify(a)}`; 172 | 173 | return { 174 | id, 175 | link, 176 | b: mdDoc.content, 177 | a, 178 | t, 179 | }; 180 | }; 181 | 182 | const buildDocs = async (HTML_FOLDER: string, options: Options) => { 183 | const files = await processMdFiles(HTML_FOLDER, options); 184 | 185 | const docs = [] as Doc[]; 186 | if (files !== undefined) { 187 | for (let i = 0; i < files.length; i++) { 188 | const file = files[i]; 189 | let mdDocs = parseMdContent(file.content, file.path); 190 | 191 | for (let index = 0; index < mdDocs.length; index++) { 192 | const mdDoc = mdDocs[index]; 193 | docs.push(buildDoc(mdDoc, i + "." + index)); 194 | } 195 | } 196 | } 197 | return docs; 198 | }; 199 | 200 | export default buildDocs; 201 | -------------------------------------------------------------------------------- /src/flex-logo.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | FlexSearch 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /src/index.ts: -------------------------------------------------------------------------------- 1 | import { Plugin, ResolvedConfig } from "vite"; 2 | import { IndexSearch } from "./md-index-builder"; 3 | import { Options } from "./types"; 4 | 5 | export interface SearchData { 6 | PREVIEW_LOOKUP: string; 7 | INDEX_DATA: string; 8 | Options: Options; 9 | } 10 | 11 | const DEFAULT_OPTIONS: Options = { 12 | previewLength: 62, 13 | buttonLabel: "Search", 14 | placeholder: "Search docs", 15 | allow: [], 16 | ignore: [], 17 | }; 18 | 19 | export function SearchPlugin(searchOptions?: Partial): Plugin { 20 | // eslint-disable-next-line no-unused-vars 21 | const options = { 22 | ...DEFAULT_OPTIONS, 23 | ...searchOptions, 24 | }; 25 | 26 | let config: ResolvedConfig; 27 | const virtualModuleId = "virtual:search-data"; 28 | const resolvedVirtualModuleId = "\0" + virtualModuleId; 29 | 30 | return { 31 | name: "vite-plugin-search", 32 | enforce: "pre", 33 | configResolved(resolvedConfig) { 34 | config = resolvedConfig; 35 | }, 36 | 37 | config: () => ({ 38 | resolve: { 39 | alias: { "./VPNavBarSearch.vue": "vitepress-plugin-search/Search.vue" }, 40 | }, 41 | }), 42 | 43 | async resolveId(id) { 44 | if (id === virtualModuleId) { 45 | return resolvedVirtualModuleId; 46 | } 47 | }, 48 | async load(this, id) { 49 | if (id !== resolvedVirtualModuleId) return; 50 | console.log(config.root); 51 | 52 | const data = await IndexSearch(config.root, options); 53 | return data; 54 | }, 55 | }; 56 | } 57 | -------------------------------------------------------------------------------- /src/md-index-builder.ts: -------------------------------------------------------------------------------- 1 | import MarkdownIt from "markdown-it"; 2 | import { Options } from "./types.js"; 3 | import buildDocs from "./docs-builder.js"; 4 | // @ts-ignore 5 | import FlexSearch from "flexsearch/dist/flexsearch.bundle.js"; 6 | 7 | const md = new MarkdownIt(); 8 | let MAX_PREVIEW_CHARS = 62; // Number of characters to show for a given search result 9 | 10 | const buildIndexSearch = (docs: any[], options: Options) => { 11 | var searchIndex = new FlexSearch.Index(options); 12 | docs.forEach((doc: any) => { 13 | searchIndex.add(doc.id, doc.a + " " + doc.b); 14 | }); 15 | return searchIndex; 16 | }; 17 | 18 | function buildPreviews(docs: any[]) { 19 | const result: any = {}; 20 | for (let i = 0; i < docs.length; i++) { 21 | const doc = docs[i]; 22 | let preview = md.render(doc["b"]).replace(/(<([^>]+)>)/gi, ""); 23 | if (preview == "") preview = doc["b"]; 24 | 25 | if (preview.length > MAX_PREVIEW_CHARS) 26 | preview = preview.slice(0, MAX_PREVIEW_CHARS) + " ..."; 27 | 28 | result[doc["id"]] = { 29 | t: doc["t"] || doc["a"], 30 | p: preview, 31 | l: doc["link"], 32 | a: doc["a"], 33 | }; 34 | } 35 | return result; 36 | } 37 | 38 | export async function IndexSearch( 39 | HTML_FOLDER: string, 40 | options: Options 41 | ): Promise { 42 | console.log(" 🔎 Indexing..."); 43 | if (options.previewLength) MAX_PREVIEW_CHARS = options.previewLength; 44 | const docs = await buildDocs(HTML_FOLDER, options); 45 | const previews = buildPreviews(docs); 46 | const flexIdx = buildIndexSearch(docs, options); 47 | var Export = { 48 | reg: JSON.stringify(flexIdx.registry), 49 | cfg: JSON.stringify(flexIdx.cfg), 50 | map: JSON.stringify(flexIdx.map), 51 | ctx: JSON.stringify(flexIdx.ctx), 52 | }; 53 | 54 | const js = `const INDEX_DATA = ${JSON.stringify(Export)}; 55 | const PREVIEW_LOOKUP = ${JSON.stringify(previews)}; 56 | const Options = ${JSON.stringify(options)}; 57 | const data = { INDEX_DATA, PREVIEW_LOOKUP, Options }; 58 | export default data;`; 59 | 60 | console.log(" 🔎 Done."); 61 | 62 | return js; 63 | } 64 | -------------------------------------------------------------------------------- /src/module/async.js: -------------------------------------------------------------------------------- 1 | import{IndexInterface,DocumentInterface}from"./type.js";import{is_function,is_object,is_string}from"./common.js";export default function(a){register(a,"add"),register(a,"append"),register(a,"search"),register(a,"update"),register(a,"remove")}function register(a,b){a[b+"Async"]=function(){const a=this,c=arguments,d=c[c.length-1];let e;is_function(d)&&(e=d,delete c[c.length-1]);const f=new Promise(function(d){setTimeout(function(){a.async=!0;const e=a[b].apply(a,c);a.async=!1,d(e)})});return e?(f.then(e),this):f}} -------------------------------------------------------------------------------- /src/module/cache.js: -------------------------------------------------------------------------------- 1 | import{IndexInterface,DocumentInterface}from"./type.js";import{create_object,is_object}from"./common.js";function CacheClass(a){this.limit=!0!==a&&a,this.cache=create_object(),this.queue=[]}export default CacheClass;export function searchCache(a,b,c){is_object(a)&&(a=a.query);let d=this.cache.get(a);return d||(d=this.search(a,b,c),this.cache.set(a,d)),d}CacheClass.prototype.set=function(a,b){if(!this.cache[a]){let b=this.queue.length;b===this.limit?delete this.cache[this.queue[b-1]]:b++;for(let a=b-1;0b||c)&&(e=e.slice(c,c+b)),d&&(e=apply_enrich.call(this,e)),{tag:a,result:e}}function apply_enrich(a){const b=Array(a.length);for(let c,d=0;d=this.minlength&&(g||!f[i])){let l=get_score(h,e,j),m="";switch(this.tokenize){case"full":if(3b;d--)if(d-b>=this.minlength){const g=get_score(h,e,j,k,b);m=i.substring(b,d),this.push_index(f,m,g,a,c)}break}case"reverse":if(2=this.minlength){const d=get_score(h,e,j,k,b);this.push_index(f,m,d,a,c)}m=""}case"forward":if(1=this.minlength&&this.push_index(f,m,l,a,c);break}default:if(this.boost&&(l=Math.min(0|l/this.boost(b,i,j),h-1)),this.push_index(f,i,l,a,c),g&&1=this.minlength&&!f[i]){f[i]=1;const b=get_score(h+(e/2>h?0:1),e,j,l-1,g-1),m=this.bidirectional&&i>k;this.push_index(d,m?k:i,b,a,c,m?i:k)}}}}}this.fastupdate||(this.register[a]=1)}}return this};function get_score(a,b,c,d,e){return c&&1=this.minlength&&!b[e]){if(!this.optimize&&!f&&!this.map[e])return g;c[i++]=e,b[e]=1}a=c,d=a.length}if(!d)return g;b||(b=100);let i,j=this.depth&&1=c)))));l++);if(b)return e?single_result(h,c,0):void(a[a.length]=h)}return!b&&h};function single_result(a,b,c){return a=1===a.length?a[0]:concat(a),c||a.length>b?a.slice(c,c+b):a}function get_array(a,b,c,d){if(c){const e=d&&b>c;a=a[e?b:c],a=a&&a[e?c:b]}else a=a[b];return a}Index.prototype.contain=function(a){return!!this.register[a]},Index.prototype.update=function(a,b){return this.remove(a).add(a,b)},Index.prototype.remove=function(a,b){const c=this.register[a];if(c){if(this.fastupdate)for(let b,d=0;d configuration profile as a shortcut or as a base for your custom settings. */ 3 | preset?: "memory" | "performance" | "match" | "score" | "default"; 4 | tokenize?: "strict" | "forward" | "reverse" | "full" | TokenizeFunction; 5 | cache?: boolean | number; 6 | resolution?: number; 7 | context?: boolean | Context; 8 | optimize?: boolean; 9 | boost?: Boost; 10 | language?: string; 11 | } 12 | 13 | interface Boost { 14 | (boost: string[], term: string, index: number): number; 15 | } 16 | 17 | interface Context { 18 | resolution: number; 19 | depth: number; 20 | bidirectional: true; 21 | } 22 | 23 | interface TokenizeFunction { 24 | (str: string): string[]; 25 | } 26 | export interface Options extends indexOption { 27 | previewLength: number; 28 | buttonLabel: string; 29 | placeholder: string; 30 | allow: (string | RegExp)[]; 31 | ignore: (string | RegExp)[]; 32 | } 33 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "baseUrl": "./", 4 | "target": "esnext", 5 | "useDefineForClassFields": true, 6 | "module": "esnext", 7 | "moduleResolution": "node", 8 | "isolatedModules": true, 9 | "strict": true, 10 | "jsx": "preserve", 11 | "sourceMap": true, 12 | "resolveJsonModule": true, 13 | "esModuleInterop": true, 14 | "lib": ["esnext", "dom", "dom.iterable", "scripthost"], 15 | "skipLibCheck": true, 16 | "outDir": "dist/types", 17 | "declaration": true, 18 | "types": ["vite"] 19 | }, 20 | "include": ["vite.config.*", "vite-env.d.ts", "src/**/*", "src/**/*.vue"] 21 | } 22 | -------------------------------------------------------------------------------- /vite-env.d.ts: -------------------------------------------------------------------------------- 1 | declare module "virtual:search-data" { 2 | export default { 3 | INDEX_DATA: Record, 4 | PREVIEW_LOOKUP: Record, 5 | Options: Record 6 | } 7 | } 8 | 9 | declare module "*.vue" { 10 | import { DefineComponent } from "vue"; 11 | const component: DefineComponent<{}, {}, any>; 12 | export default component; 13 | } 14 | -------------------------------------------------------------------------------- /vite.config.ts: -------------------------------------------------------------------------------- 1 | const path = require("path"); 2 | const { defineConfig } = require("vite"); 3 | import { viteStaticCopy } from "vite-plugin-static-copy"; 4 | // import vue from '@vitejs/plugin-vue'; 5 | 6 | module.exports = defineConfig({ 7 | plugins: [ 8 | viteStaticCopy({ 9 | targets: [ 10 | { 11 | src: "src/module", 12 | dest: "./", 13 | }, 14 | { 15 | src: "src/Search.vue", 16 | dest: "./", 17 | }, 18 | { 19 | src: "src/flex-logo.svg", 20 | dest: "./", 21 | }, 22 | ], 23 | }), 24 | ], 25 | build: { 26 | lib: { 27 | entry: path.resolve(__dirname, "src/index.ts"), 28 | name: "SearchPlugin", 29 | fileName: (format: string) => 30 | format == "es" 31 | ? `vitepress-plugin-search.${format}.mjs` 32 | : `vitepress-plugin-search.${format}.js`, 33 | }, 34 | rollupOptions: { 35 | // make sure to externalize deps that shouldn't be bundled 36 | // into your library 37 | external: ["vue", "vite", "markdown-it", "fs/promises", "flexsearch"], 38 | output: { 39 | // Provide global variables to use in the UMD build 40 | // for externalized deps 41 | globals: { 42 | vue: "Vue", 43 | }, 44 | }, 45 | }, 46 | }, 47 | }); 48 | --------------------------------------------------------------------------------