├── .github └── workflows │ ├── deploy-tests.yml │ └── publish-npm.yml ├── .gitignore ├── .vscode └── settings.json ├── LICENSE ├── README.md ├── package-lock.json ├── package.json ├── src ├── index.css └── index.js ├── test ├── alpinejs.html ├── index.html └── vuejs.html └── vite.config.js /.github/workflows/deploy-tests.yml: -------------------------------------------------------------------------------- 1 | name: Deploy tests 2 | on: 3 | release: 4 | types: published 5 | workflow_dispatch: 6 | concurrency: 7 | group: ${{ github.workflow }} 8 | cancel-in-progress: true 9 | jobs: 10 | deploy-tests: 11 | permissions: 12 | contents: read 13 | id-token: write 14 | pages: write 15 | deployments: write 16 | environment: 17 | name: github-pages 18 | url: ${{ steps.deploy-pages.outputs.page_url }} 19 | runs-on: ubuntu-latest 20 | steps: 21 | - uses: actions/checkout@v3 22 | - uses: actions/setup-node@v3 23 | with: 24 | cache: npm 25 | - run: npm ci 26 | - id: configure-pages 27 | uses: actions/configure-pages@v3 28 | - run: npm run build 29 | env: 30 | BASE_URL: ${{ steps.configure-pages.outputs.base_url }}/ 31 | - uses: actions/upload-pages-artifact@v1 32 | with: 33 | path: test 34 | - id: deploy-pages 35 | uses: actions/deploy-pages@v2 36 | -------------------------------------------------------------------------------- /.github/workflows/publish-npm.yml: -------------------------------------------------------------------------------- 1 | name: Publish npm 2 | on: 3 | release: 4 | types: published 5 | workflow_dispatch: 6 | concurrency: 7 | group: ${{ github.workflow }} 8 | cancel-in-progress: true 9 | jobs: 10 | publish-npm: 11 | runs-on: ubuntu-latest 12 | steps: 13 | - uses: actions/checkout@v3 14 | - uses: actions/setup-node@v3 15 | with: 16 | cache: npm 17 | registry-url: https://registry.npmjs.org/ 18 | - run: npm ci 19 | - run: npm run build 20 | - run: npm publish 21 | env: 22 | NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} 23 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # This is easier than trying to mess with a testing server. 2 | ezmdpage.min.js 3 | 4 | #region https://github.com/github/gitignore/blob/main/Node.gitignore 5 | # Logs 6 | logs 7 | *.log 8 | npm-debug.log* 9 | yarn-debug.log* 10 | yarn-error.log* 11 | lerna-debug.log* 12 | .pnpm-debug.log* 13 | 14 | # Diagnostic reports (https://nodejs.org/api/report.html) 15 | report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json 16 | 17 | # Runtime data 18 | pids 19 | *.pid 20 | *.seed 21 | *.pid.lock 22 | 23 | # Directory for instrumented libs generated by jscoverage/JSCover 24 | lib-cov 25 | 26 | # Coverage directory used by tools like istanbul 27 | coverage 28 | *.lcov 29 | 30 | # nyc test coverage 31 | .nyc_output 32 | 33 | # Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) 34 | .grunt 35 | 36 | # Bower dependency directory (https://bower.io/) 37 | bower_components 38 | 39 | # node-waf configuration 40 | .lock-wscript 41 | 42 | # Compiled binary addons (https://nodejs.org/api/addons.html) 43 | build/Release 44 | 45 | # Dependency directories 46 | node_modules/ 47 | jspm_packages/ 48 | 49 | # Snowpack dependency directory (https://snowpack.dev/) 50 | web_modules/ 51 | 52 | # TypeScript cache 53 | *.tsbuildinfo 54 | 55 | # Optional npm cache directory 56 | .npm 57 | 58 | # Optional eslint cache 59 | .eslintcache 60 | 61 | # Optional stylelint cache 62 | .stylelintcache 63 | 64 | # Microbundle cache 65 | .rpt2_cache/ 66 | .rts2_cache_cjs/ 67 | .rts2_cache_es/ 68 | .rts2_cache_umd/ 69 | 70 | # Optional REPL history 71 | .node_repl_history 72 | 73 | # Output of 'npm pack' 74 | *.tgz 75 | 76 | # Yarn Integrity file 77 | .yarn-integrity 78 | 79 | # dotenv environment variable files 80 | .env 81 | .env.development.local 82 | .env.test.local 83 | .env.production.local 84 | .env.local 85 | 86 | # parcel-bundler cache (https://parceljs.org/) 87 | .cache 88 | .parcel-cache 89 | 90 | # Next.js build output 91 | .next 92 | out 93 | 94 | # Nuxt.js build / generate output 95 | .nuxt 96 | dist 97 | 98 | # Gatsby files 99 | .cache/ 100 | # Comment in the public line in if your project uses Gatsby and not Next.js 101 | # https://nextjs.org/blog/next-9-1#public-directory-support 102 | # public 103 | 104 | # vuepress build output 105 | .vuepress/dist 106 | 107 | # vuepress v2.x temp and cache directory 108 | .temp 109 | .cache 110 | 111 | # Docusaurus cache and generated files 112 | .docusaurus 113 | 114 | # Serverless directories 115 | .serverless/ 116 | 117 | # FuseBox cache 118 | .fusebox/ 119 | 120 | # DynamoDB Local files 121 | .dynamodb/ 122 | 123 | # TernJS port file 124 | .tern-port 125 | 126 | # Stores VSCode versions used for testing VSCode extensions 127 | .vscode-test 128 | 129 | # yarn v2 130 | .yarn/cache 131 | .yarn/unplugged 132 | .yarn/build-state.yml 133 | .yarn/install-state.gz 134 | .pnp.* 135 | #endregion 136 | -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "files.associations": { 3 | "*.html": "markdown" 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2023 TogaJam 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Easy self-rendering Markdown pages 2 | 3 | 📝 Write raw Markdown in `.html` files that gets auto-rendered everywhere \ 4 | 💡 Inspired by [markdeep] 5 | 6 |
7 | 8 | ![](https://github.com/togajam/ezmdpage/assets/61068799/6272eb94-1b39-4e5b-9bea-9257b2e2c4b9) 9 | 10 | 11 | [Test page](https://jcbhmr.me/ezmdpage/) 12 | | [ezmdpage & Alpine.js](https://jcbhmr.me/ezmdpage/alpinejs.html) 13 | | [ezmdpage & Vue.js](https://jcbhmr.me/ezmdpage/vuejs.html) 14 | 15 |
16 | 17 | 📂 Works with `file:///document.html` documents \ 18 | 📜 Failsafe text fallback when JavaScript is disabled \ 19 | 🎨 Styled using GitHub's Markdown CSS \ 20 | 🏝️ Works offline! 21 | 22 | ## Installation 23 | 24 | ![unpkg.com](https://img.shields.io/static/v1?style=for-the-badge&message=unpkg.com&color=EFEFEF&logo=Udemy&logoColor=8B4513&label=) 25 | ![jsDelivr](https://img.shields.io/static/v1?style=for-the-badge&message=jsDelivr&color=E84D3D&logo=jsDelivr&logoColor=FFFFFF&label=) 26 | 27 | You can Ctrl+S [the `ezmdpage.min.js` file] to 28 | download it and load it locally (for offline use) or use an npm CDN like 29 | [unpkg.com] or [jsDelivr] to load it from the web: 30 | 31 | 32 | ```html 33 | 34 | <script src="https://unpkg.com/ezmdpage@2"></script><plaintext /> 35 | <script src="https://cdn.jsdelivr.net/npm/ezmdpage@2"></script><plaintext /> 36 | ``` 37 | 38 | <details><summary>💡 You may also configure your formatter & editor</summary> 39 | 40 | To get the best editing experience, you can configure Prettier or your other 41 | favorite formatter to use its Markdown parser/beautifier on `.html` files. 42 | 43 | ```jsonc 44 | // package.json 45 | { 46 | "prettier": { 47 | "overrides": [ 48 | { 49 | "files": ["*.html"], 50 | "options": { 51 | "parser": "markdown" 52 | } 53 | } 54 | ] 55 | } 56 | } 57 | ``` 58 | 59 | 💡 You can also use a custom suffix like `.md.html` or something if you have 60 | other non-ezmdpage HTML content in your workspace too. 61 | 62 | ⚛️ To get proper syntax highlighting in VS Code, you'll need to configure it to 63 | use its Markdown mode for `.html` files. You can do this by adding this to your 64 | `.vscode/settings.json` file: 65 | 66 | ```jsonc 67 | { 68 | "files.associations": { 69 | "*.html": "markdown" 70 | } 71 | } 72 | ``` 73 | 74 | </details> 75 | 76 | ⚠️ This project is intended to be used on a plain HTML page. It may not work 77 | with other non-Markdown content on the page. 78 | 79 | ## Usage 80 | 81 | ![Markdown](https://img.shields.io/static/v1?style=for-the-badge&message=Markdown&color=000000&logo=Markdown&logoColor=FFFFFF&label=) 82 | ![Browser](https://img.shields.io/static/v1?style=for-the-badge&message=Browser&color=4285F4&logo=Google+Chrome&logoColor=FFFFFF&label=) 83 | 84 | After adding the magic `<script>` to your `.md.html` file, you can get started 85 | editing your document in ernest! You can use any relgular old text editor to 86 | compose your markdown; even Windows Notepad works great! ezmdpage even works 87 | with local `file:` URLs: you can just email or share a plain `.html` file with 88 | someone, and they will be able to open and view it. 89 | 90 | ````md 91 | <script src="https://unpkg.com/ezmdpage@2"></script><plaintext /> 92 | 93 | # Hello world! 94 | 95 | This is my **Markdown document**! There's some <mark>HTML</mark> elements in 96 | here <u>too</u> since Markdown supports _inline HTML_. 97 | 98 | | Look at this cool 😎 GFM table! | Wow! | 99 | | ------------------------------- | ------------------- | 100 | | We can even do math! | $ax^2 + bx + c = 0$ | 101 | 102 | ```js 103 | console.log("Code highlighting works too!"); 104 | ``` 105 | 106 | > All other Markdown features work as expected. 107 | 108 | <script> 109 | // You can even use <script> tags! There's NO SAFETY FILTER for HTML elements. 110 | const html = `<p>It's ${new Date().toLocaleTimeString()}!</p>`; 111 | document.body.append(document.createRange().createContextualFragment(html)); 112 | </script> 113 | ```` 114 | 115 | 🤩 For more cool examples like using [Alpine.js with ezmdpage], check out [the 116 | GitHub Pages site] which hosts the `test/` folder demos! 117 | 118 | ## Development 119 | 120 | ![JavaScript](https://img.shields.io/static/v1?style=for-the-badge&message=JavaScript&color=222222&logo=JavaScript&logoColor=F7DF1E&label=) 121 | ![CSS](https://img.shields.io/static/v1?style=for-the-badge&message=CSS&color=1572B6&logo=CSS3&logoColor=FFFFFF&label=) 122 | ![Vite](https://img.shields.io/static/v1?style=for-the-badge&message=Vite&color=646CFF&logo=Vite&logoColor=FFFFFF&label=) 123 | 124 | This project uses [Vite] to create a IIFE bundle of all the CSS and JavaScript 125 | that gets injected into the page. It's basically just [Marked] & [HighlightJS]. 126 | We use [vite-plugin-css-injected-by-js] to inline the CSS into the JavaScript 127 | bundle. 128 | 129 | ℹ Note that we use the `main` field in `package.json` and not the new `exports` 130 | field. This is because [unpkg.com] doesn't support the new `exports` field. See 131 | [mjackson/unpkg#265]. unpkg.com is the most popular CDN for non-ESM npm 132 | packages, so it makes sense to bend over backwards to support it. 133 | 134 | <!-- prettier-ignore-start --> 135 | [markdeep]: https://casual-effects.com/markdeep/ 136 | [marked]: https://marked.js.org/ 137 | [highlightjs]: https://highlightjs.org/ 138 | [mjackson/unpkg#265]: https://github.com/mjackson/unpkg/issues/265 139 | [vite]: https://vitejs.dev/ 140 | [unpkg.com]: https://unpkg.com/ 141 | [jsdelivr]: https://www.jsdelivr.com/ 142 | [vite-plugin-css-injected-by-js]: https://github.com/marco-prontera/vite-plugin-css-injected-by-js#readme 143 | [alpine.js with ezmdpage]: https://togajam.github.io/ezmdpage/alpinejs.html 144 | [the github pages site]: https://togajam.github.io/ezmdpage/ 145 | [the `ezmdpage.min.js` file]: https://togajam.github.io/ezmdpage/ezmdpage.min.js 146 | <!-- prettier-ignore-end --> 147 | -------------------------------------------------------------------------------- /package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ezmdpage", 3 | "version": "2.0.3", 4 | "lockfileVersion": 2, 5 | "requires": true, 6 | "packages": { 7 | "": { 8 | "name": "ezmdpage", 9 | "version": "2.0.3", 10 | "license": "MIT", 11 | "dependencies": { 12 | "github-markdown-css": "^5.2.0", 13 | "marked": "^4.3.0" 14 | }, 15 | "devDependencies": { 16 | "@types/marked": "^5.0.0", 17 | "concurrently": "^8.2.0", 18 | "prettier": "^2.8.8", 19 | "prettier-plugin-packagejson": "^2.4.3", 20 | "serve": "^14.2.0", 21 | "vite": "^4.3.9", 22 | "vite-plugin-css-injected-by-js": "^3.1.0" 23 | } 24 | }, 25 | "node_modules/@babel/runtime": { 26 | "version": "7.22.5", 27 | "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.22.5.tgz", 28 | "integrity": "sha512-ecjvYlnAaZ/KVneE/OdKYBYfgXV3Ptu6zQWmgEF7vwKhQnvVS6bjMD2XYgj+SNvQ1GfK/pjgokfPkC/2CO8CuA==", 29 | "dev": true, 30 | "dependencies": { 31 | "regenerator-runtime": "^0.13.11" 32 | }, 33 | "engines": { 34 | "node": ">=6.9.0" 35 | } 36 | }, 37 | "node_modules/@esbuild/android-arm": { 38 | "version": "0.18.20", 39 | "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.20.tgz", 40 | "integrity": "sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==", 41 | "cpu": [ 42 | "arm" 43 | ], 44 | "dev": true, 45 | "optional": true, 46 | "os": [ 47 | "android" 48 | ], 49 | "engines": { 50 | "node": ">=12" 51 | } 52 | }, 53 | "node_modules/@esbuild/android-arm64": { 54 | "version": "0.18.20", 55 | "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.20.tgz", 56 | "integrity": "sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==", 57 | "cpu": [ 58 | "arm64" 59 | ], 60 | "dev": true, 61 | "optional": true, 62 | "os": [ 63 | "android" 64 | ], 65 | "engines": { 66 | "node": ">=12" 67 | } 68 | }, 69 | "node_modules/@esbuild/android-x64": { 70 | "version": "0.18.20", 71 | "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.20.tgz", 72 | "integrity": "sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==", 73 | "cpu": [ 74 | "x64" 75 | ], 76 | "dev": true, 77 | "optional": true, 78 | "os": [ 79 | "android" 80 | ], 81 | "engines": { 82 | "node": ">=12" 83 | } 84 | }, 85 | "node_modules/@esbuild/darwin-arm64": { 86 | "version": "0.18.20", 87 | "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.20.tgz", 88 | "integrity": "sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==", 89 | "cpu": [ 90 | "arm64" 91 | ], 92 | "dev": true, 93 | "optional": true, 94 | "os": [ 95 | "darwin" 96 | ], 97 | "engines": { 98 | "node": ">=12" 99 | } 100 | }, 101 | "node_modules/@esbuild/darwin-x64": { 102 | "version": "0.18.20", 103 | "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.20.tgz", 104 | "integrity": "sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==", 105 | "cpu": [ 106 | "x64" 107 | ], 108 | "dev": true, 109 | "optional": true, 110 | "os": [ 111 | "darwin" 112 | ], 113 | "engines": { 114 | "node": ">=12" 115 | } 116 | }, 117 | "node_modules/@esbuild/freebsd-arm64": { 118 | "version": "0.18.20", 119 | "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.20.tgz", 120 | "integrity": "sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==", 121 | "cpu": [ 122 | "arm64" 123 | ], 124 | "dev": true, 125 | "optional": true, 126 | "os": [ 127 | "freebsd" 128 | ], 129 | "engines": { 130 | "node": ">=12" 131 | } 132 | }, 133 | "node_modules/@esbuild/freebsd-x64": { 134 | "version": "0.18.20", 135 | "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.20.tgz", 136 | "integrity": "sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==", 137 | "cpu": [ 138 | "x64" 139 | ], 140 | "dev": true, 141 | "optional": true, 142 | "os": [ 143 | "freebsd" 144 | ], 145 | "engines": { 146 | "node": ">=12" 147 | } 148 | }, 149 | "node_modules/@esbuild/linux-arm": { 150 | "version": "0.18.20", 151 | "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.20.tgz", 152 | "integrity": "sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==", 153 | "cpu": [ 154 | "arm" 155 | ], 156 | "dev": true, 157 | "optional": true, 158 | "os": [ 159 | "linux" 160 | ], 161 | "engines": { 162 | "node": ">=12" 163 | } 164 | }, 165 | "node_modules/@esbuild/linux-arm64": { 166 | "version": "0.18.20", 167 | "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.20.tgz", 168 | "integrity": "sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==", 169 | "cpu": [ 170 | "arm64" 171 | ], 172 | "dev": true, 173 | "optional": true, 174 | "os": [ 175 | "linux" 176 | ], 177 | "engines": { 178 | "node": ">=12" 179 | } 180 | }, 181 | "node_modules/@esbuild/linux-ia32": { 182 | "version": "0.18.20", 183 | "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.20.tgz", 184 | "integrity": "sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==", 185 | "cpu": [ 186 | "ia32" 187 | ], 188 | "dev": true, 189 | "optional": true, 190 | "os": [ 191 | "linux" 192 | ], 193 | "engines": { 194 | "node": ">=12" 195 | } 196 | }, 197 | "node_modules/@esbuild/linux-loong64": { 198 | "version": "0.18.20", 199 | "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.20.tgz", 200 | "integrity": "sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==", 201 | "cpu": [ 202 | "loong64" 203 | ], 204 | "dev": true, 205 | "optional": true, 206 | "os": [ 207 | "linux" 208 | ], 209 | "engines": { 210 | "node": ">=12" 211 | } 212 | }, 213 | "node_modules/@esbuild/linux-mips64el": { 214 | "version": "0.18.20", 215 | "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.20.tgz", 216 | "integrity": "sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==", 217 | "cpu": [ 218 | "mips64el" 219 | ], 220 | "dev": true, 221 | "optional": true, 222 | "os": [ 223 | "linux" 224 | ], 225 | "engines": { 226 | "node": ">=12" 227 | } 228 | }, 229 | "node_modules/@esbuild/linux-ppc64": { 230 | "version": "0.18.20", 231 | "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.20.tgz", 232 | "integrity": "sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==", 233 | "cpu": [ 234 | "ppc64" 235 | ], 236 | "dev": true, 237 | "optional": true, 238 | "os": [ 239 | "linux" 240 | ], 241 | "engines": { 242 | "node": ">=12" 243 | } 244 | }, 245 | "node_modules/@esbuild/linux-riscv64": { 246 | "version": "0.18.20", 247 | "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.20.tgz", 248 | "integrity": "sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==", 249 | "cpu": [ 250 | "riscv64" 251 | ], 252 | "dev": true, 253 | "optional": true, 254 | "os": [ 255 | "linux" 256 | ], 257 | "engines": { 258 | "node": ">=12" 259 | } 260 | }, 261 | "node_modules/@esbuild/linux-s390x": { 262 | "version": "0.18.20", 263 | "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.20.tgz", 264 | "integrity": "sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==", 265 | "cpu": [ 266 | "s390x" 267 | ], 268 | "dev": true, 269 | "optional": true, 270 | "os": [ 271 | "linux" 272 | ], 273 | "engines": { 274 | "node": ">=12" 275 | } 276 | }, 277 | "node_modules/@esbuild/linux-x64": { 278 | "version": "0.18.20", 279 | "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.20.tgz", 280 | "integrity": "sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==", 281 | "cpu": [ 282 | "x64" 283 | ], 284 | "dev": true, 285 | "optional": true, 286 | "os": [ 287 | "linux" 288 | ], 289 | "engines": { 290 | "node": ">=12" 291 | } 292 | }, 293 | "node_modules/@esbuild/netbsd-x64": { 294 | "version": "0.18.20", 295 | "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.20.tgz", 296 | "integrity": "sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==", 297 | "cpu": [ 298 | "x64" 299 | ], 300 | "dev": true, 301 | "optional": true, 302 | "os": [ 303 | "netbsd" 304 | ], 305 | "engines": { 306 | "node": ">=12" 307 | } 308 | }, 309 | "node_modules/@esbuild/openbsd-x64": { 310 | "version": "0.18.20", 311 | "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.20.tgz", 312 | "integrity": "sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==", 313 | "cpu": [ 314 | "x64" 315 | ], 316 | "dev": true, 317 | "optional": true, 318 | "os": [ 319 | "openbsd" 320 | ], 321 | "engines": { 322 | "node": ">=12" 323 | } 324 | }, 325 | "node_modules/@esbuild/sunos-x64": { 326 | "version": "0.18.20", 327 | "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.20.tgz", 328 | "integrity": "sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==", 329 | "cpu": [ 330 | "x64" 331 | ], 332 | "dev": true, 333 | "optional": true, 334 | "os": [ 335 | "sunos" 336 | ], 337 | "engines": { 338 | "node": ">=12" 339 | } 340 | }, 341 | "node_modules/@esbuild/win32-arm64": { 342 | "version": "0.18.20", 343 | "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.20.tgz", 344 | "integrity": "sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==", 345 | "cpu": [ 346 | "arm64" 347 | ], 348 | "dev": true, 349 | "optional": true, 350 | "os": [ 351 | "win32" 352 | ], 353 | "engines": { 354 | "node": ">=12" 355 | } 356 | }, 357 | "node_modules/@esbuild/win32-ia32": { 358 | "version": "0.18.20", 359 | "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.20.tgz", 360 | "integrity": "sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==", 361 | "cpu": [ 362 | "ia32" 363 | ], 364 | "dev": true, 365 | "optional": true, 366 | "os": [ 367 | "win32" 368 | ], 369 | "engines": { 370 | "node": ">=12" 371 | } 372 | }, 373 | "node_modules/@esbuild/win32-x64": { 374 | "version": "0.18.20", 375 | "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.20.tgz", 376 | "integrity": "sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==", 377 | "cpu": [ 378 | "x64" 379 | ], 380 | "dev": true, 381 | "optional": true, 382 | "os": [ 383 | "win32" 384 | ], 385 | "engines": { 386 | "node": ">=12" 387 | } 388 | }, 389 | "node_modules/@nodelib/fs.scandir": { 390 | "version": "2.1.5", 391 | "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", 392 | "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", 393 | "dev": true, 394 | "dependencies": { 395 | "@nodelib/fs.stat": "2.0.5", 396 | "run-parallel": "^1.1.9" 397 | }, 398 | "engines": { 399 | "node": ">= 8" 400 | } 401 | }, 402 | "node_modules/@nodelib/fs.stat": { 403 | "version": "2.0.5", 404 | "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", 405 | "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", 406 | "dev": true, 407 | "engines": { 408 | "node": ">= 8" 409 | } 410 | }, 411 | "node_modules/@nodelib/fs.walk": { 412 | "version": "1.2.8", 413 | "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", 414 | "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", 415 | "dev": true, 416 | "dependencies": { 417 | "@nodelib/fs.scandir": "2.1.5", 418 | "fastq": "^1.6.0" 419 | }, 420 | "engines": { 421 | "node": ">= 8" 422 | } 423 | }, 424 | "node_modules/@pkgr/utils": { 425 | "version": "2.3.1", 426 | "resolved": "https://registry.npmjs.org/@pkgr/utils/-/utils-2.3.1.tgz", 427 | "integrity": "sha512-wfzX8kc1PMyUILA+1Z/EqoE4UCXGy0iRGMhPwdfae1+f0OXlLqCk+By+aMzgJBzR9AzS4CDizioG6Ss1gvAFJw==", 428 | "dev": true, 429 | "dependencies": { 430 | "cross-spawn": "^7.0.3", 431 | "is-glob": "^4.0.3", 432 | "open": "^8.4.0", 433 | "picocolors": "^1.0.0", 434 | "tiny-glob": "^0.2.9", 435 | "tslib": "^2.4.0" 436 | }, 437 | "engines": { 438 | "node": "^12.20.0 || ^14.18.0 || >=16.0.0" 439 | }, 440 | "funding": { 441 | "url": "https://opencollective.com/unts" 442 | } 443 | }, 444 | "node_modules/@types/marked": { 445 | "version": "5.0.0", 446 | "resolved": "https://registry.npmjs.org/@types/marked/-/marked-5.0.0.tgz", 447 | "integrity": "sha512-YcZe50jhltsCq7rc9MNZC/4QB/OnA2Pd6hrOSTOFajtabN+38slqgDDCeE/0F83SjkKBQcsZUj7VLWR0H5cKRA==", 448 | "dev": true 449 | }, 450 | "node_modules/@types/node": { 451 | "version": "18.15.5", 452 | "resolved": "https://registry.npmjs.org/@types/node/-/node-18.15.5.tgz", 453 | "integrity": "sha512-Ark2WDjjZO7GmvsyFFf81MXuGTA/d6oP38anyxWOL6EREyBKAxKoFHwBhaZxCfLRLpO8JgVXwqOwSwa7jRcjew==", 454 | "dev": true, 455 | "optional": true, 456 | "peer": true 457 | }, 458 | "node_modules/@zeit/schemas": { 459 | "version": "2.29.0", 460 | "resolved": "https://registry.npmjs.org/@zeit/schemas/-/schemas-2.29.0.tgz", 461 | "integrity": "sha512-g5QiLIfbg3pLuYUJPlisNKY+epQJTcMDsOnVNkscrDP1oi7vmJnzOANYJI/1pZcVJ6umUkBv3aFtlg1UvUHGzA==", 462 | "dev": true 463 | }, 464 | "node_modules/accepts": { 465 | "version": "1.3.8", 466 | "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", 467 | "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", 468 | "dev": true, 469 | "dependencies": { 470 | "mime-types": "~2.1.34", 471 | "negotiator": "0.6.3" 472 | }, 473 | "engines": { 474 | "node": ">= 0.6" 475 | } 476 | }, 477 | "node_modules/ajv": { 478 | "version": "8.11.0", 479 | "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", 480 | "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", 481 | "dev": true, 482 | "dependencies": { 483 | "fast-deep-equal": "^3.1.1", 484 | "json-schema-traverse": "^1.0.0", 485 | "require-from-string": "^2.0.2", 486 | "uri-js": "^4.2.2" 487 | }, 488 | "funding": { 489 | "type": "github", 490 | "url": "https://github.com/sponsors/epoberezkin" 491 | } 492 | }, 493 | "node_modules/ansi-align": { 494 | "version": "3.0.1", 495 | "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz", 496 | "integrity": "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==", 497 | "dev": true, 498 | "dependencies": { 499 | "string-width": "^4.1.0" 500 | } 501 | }, 502 | "node_modules/ansi-align/node_modules/emoji-regex": { 503 | "version": "8.0.0", 504 | "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", 505 | "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", 506 | "dev": true 507 | }, 508 | "node_modules/ansi-align/node_modules/string-width": { 509 | "version": "4.2.3", 510 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", 511 | "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", 512 | "dev": true, 513 | "dependencies": { 514 | "emoji-regex": "^8.0.0", 515 | "is-fullwidth-code-point": "^3.0.0", 516 | "strip-ansi": "^6.0.1" 517 | }, 518 | "engines": { 519 | "node": ">=8" 520 | } 521 | }, 522 | "node_modules/ansi-align/node_modules/strip-ansi": { 523 | "version": "6.0.1", 524 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", 525 | "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", 526 | "dev": true, 527 | "dependencies": { 528 | "ansi-regex": "^5.0.1" 529 | }, 530 | "engines": { 531 | "node": ">=8" 532 | } 533 | }, 534 | "node_modules/ansi-regex": { 535 | "version": "5.0.1", 536 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", 537 | "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", 538 | "dev": true, 539 | "engines": { 540 | "node": ">=8" 541 | } 542 | }, 543 | "node_modules/ansi-styles": { 544 | "version": "4.3.0", 545 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", 546 | "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", 547 | "dev": true, 548 | "dependencies": { 549 | "color-convert": "^2.0.1" 550 | }, 551 | "engines": { 552 | "node": ">=8" 553 | }, 554 | "funding": { 555 | "url": "https://github.com/chalk/ansi-styles?sponsor=1" 556 | } 557 | }, 558 | "node_modules/anymatch": { 559 | "version": "3.1.3", 560 | "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", 561 | "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", 562 | "dev": true, 563 | "optional": true, 564 | "peer": true, 565 | "dependencies": { 566 | "normalize-path": "^3.0.0", 567 | "picomatch": "^2.0.4" 568 | }, 569 | "engines": { 570 | "node": ">= 8" 571 | } 572 | }, 573 | "node_modules/arch": { 574 | "version": "2.2.0", 575 | "resolved": "https://registry.npmjs.org/arch/-/arch-2.2.0.tgz", 576 | "integrity": "sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==", 577 | "dev": true, 578 | "funding": [ 579 | { 580 | "type": "github", 581 | "url": "https://github.com/sponsors/feross" 582 | }, 583 | { 584 | "type": "patreon", 585 | "url": "https://www.patreon.com/feross" 586 | }, 587 | { 588 | "type": "consulting", 589 | "url": "https://feross.org/support" 590 | } 591 | ] 592 | }, 593 | "node_modules/arg": { 594 | "version": "5.0.2", 595 | "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", 596 | "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", 597 | "dev": true 598 | }, 599 | "node_modules/balanced-match": { 600 | "version": "1.0.2", 601 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", 602 | "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", 603 | "dev": true 604 | }, 605 | "node_modules/binary-extensions": { 606 | "version": "2.2.0", 607 | "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", 608 | "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", 609 | "dev": true, 610 | "optional": true, 611 | "peer": true, 612 | "engines": { 613 | "node": ">=8" 614 | } 615 | }, 616 | "node_modules/boxen": { 617 | "version": "7.0.0", 618 | "resolved": "https://registry.npmjs.org/boxen/-/boxen-7.0.0.tgz", 619 | "integrity": "sha512-j//dBVuyacJbvW+tvZ9HuH03fZ46QcaKvvhZickZqtB271DxJ7SNRSNxrV/dZX0085m7hISRZWbzWlJvx/rHSg==", 620 | "dev": true, 621 | "dependencies": { 622 | "ansi-align": "^3.0.1", 623 | "camelcase": "^7.0.0", 624 | "chalk": "^5.0.1", 625 | "cli-boxes": "^3.0.0", 626 | "string-width": "^5.1.2", 627 | "type-fest": "^2.13.0", 628 | "widest-line": "^4.0.1", 629 | "wrap-ansi": "^8.0.1" 630 | }, 631 | "engines": { 632 | "node": ">=14.16" 633 | }, 634 | "funding": { 635 | "url": "https://github.com/sponsors/sindresorhus" 636 | } 637 | }, 638 | "node_modules/boxen/node_modules/chalk": { 639 | "version": "5.2.0", 640 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.2.0.tgz", 641 | "integrity": "sha512-ree3Gqw/nazQAPuJJEy+avdl7QfZMcUvmHIKgEZkGL+xOBzRvup5Hxo6LHuMceSxOabuJLJm5Yp/92R9eMmMvA==", 642 | "dev": true, 643 | "engines": { 644 | "node": "^12.17.0 || ^14.13 || >=16.0.0" 645 | }, 646 | "funding": { 647 | "url": "https://github.com/chalk/chalk?sponsor=1" 648 | } 649 | }, 650 | "node_modules/brace-expansion": { 651 | "version": "1.1.11", 652 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", 653 | "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", 654 | "dev": true, 655 | "dependencies": { 656 | "balanced-match": "^1.0.0", 657 | "concat-map": "0.0.1" 658 | } 659 | }, 660 | "node_modules/braces": { 661 | "version": "3.0.2", 662 | "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", 663 | "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", 664 | "dev": true, 665 | "dependencies": { 666 | "fill-range": "^7.0.1" 667 | }, 668 | "engines": { 669 | "node": ">=8" 670 | } 671 | }, 672 | "node_modules/bytes": { 673 | "version": "3.0.0", 674 | "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", 675 | "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==", 676 | "dev": true, 677 | "engines": { 678 | "node": ">= 0.8" 679 | } 680 | }, 681 | "node_modules/camelcase": { 682 | "version": "7.0.1", 683 | "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-7.0.1.tgz", 684 | "integrity": "sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw==", 685 | "dev": true, 686 | "engines": { 687 | "node": ">=14.16" 688 | }, 689 | "funding": { 690 | "url": "https://github.com/sponsors/sindresorhus" 691 | } 692 | }, 693 | "node_modules/chalk": { 694 | "version": "4.1.2", 695 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", 696 | "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", 697 | "dev": true, 698 | "dependencies": { 699 | "ansi-styles": "^4.1.0", 700 | "supports-color": "^7.1.0" 701 | }, 702 | "engines": { 703 | "node": ">=10" 704 | }, 705 | "funding": { 706 | "url": "https://github.com/chalk/chalk?sponsor=1" 707 | } 708 | }, 709 | "node_modules/chalk-template": { 710 | "version": "0.4.0", 711 | "resolved": "https://registry.npmjs.org/chalk-template/-/chalk-template-0.4.0.tgz", 712 | "integrity": "sha512-/ghrgmhfY8RaSdeo43hNXxpoHAtxdbskUHjPpfqUWGttFgycUhYPGx3YZBCnUCvOa7Doivn1IZec3DEGFoMgLg==", 713 | "dev": true, 714 | "dependencies": { 715 | "chalk": "^4.1.2" 716 | }, 717 | "engines": { 718 | "node": ">=12" 719 | }, 720 | "funding": { 721 | "url": "https://github.com/chalk/chalk-template?sponsor=1" 722 | } 723 | }, 724 | "node_modules/chalk/node_modules/supports-color": { 725 | "version": "7.2.0", 726 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", 727 | "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", 728 | "dev": true, 729 | "dependencies": { 730 | "has-flag": "^4.0.0" 731 | }, 732 | "engines": { 733 | "node": ">=8" 734 | } 735 | }, 736 | "node_modules/chokidar": { 737 | "version": "3.5.3", 738 | "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", 739 | "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", 740 | "dev": true, 741 | "funding": [ 742 | { 743 | "type": "individual", 744 | "url": "https://paulmillr.com/funding/" 745 | } 746 | ], 747 | "optional": true, 748 | "peer": true, 749 | "dependencies": { 750 | "anymatch": "~3.1.2", 751 | "braces": "~3.0.2", 752 | "glob-parent": "~5.1.2", 753 | "is-binary-path": "~2.1.0", 754 | "is-glob": "~4.0.1", 755 | "normalize-path": "~3.0.0", 756 | "readdirp": "~3.6.0" 757 | }, 758 | "engines": { 759 | "node": ">= 8.10.0" 760 | }, 761 | "optionalDependencies": { 762 | "fsevents": "~2.3.2" 763 | } 764 | }, 765 | "node_modules/cli-boxes": { 766 | "version": "3.0.0", 767 | "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-3.0.0.tgz", 768 | "integrity": "sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==", 769 | "dev": true, 770 | "engines": { 771 | "node": ">=10" 772 | }, 773 | "funding": { 774 | "url": "https://github.com/sponsors/sindresorhus" 775 | } 776 | }, 777 | "node_modules/clipboardy": { 778 | "version": "3.0.0", 779 | "resolved": "https://registry.npmjs.org/clipboardy/-/clipboardy-3.0.0.tgz", 780 | "integrity": "sha512-Su+uU5sr1jkUy1sGRpLKjKrvEOVXgSgiSInwa/qeID6aJ07yh+5NWc3h2QfjHjBnfX4LhtFcuAWKUsJ3r+fjbg==", 781 | "dev": true, 782 | "dependencies": { 783 | "arch": "^2.2.0", 784 | "execa": "^5.1.1", 785 | "is-wsl": "^2.2.0" 786 | }, 787 | "engines": { 788 | "node": "^12.20.0 || ^14.13.1 || >=16.0.0" 789 | }, 790 | "funding": { 791 | "url": "https://github.com/sponsors/sindresorhus" 792 | } 793 | }, 794 | "node_modules/clipboardy/node_modules/execa": { 795 | "version": "5.1.1", 796 | "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", 797 | "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", 798 | "dev": true, 799 | "dependencies": { 800 | "cross-spawn": "^7.0.3", 801 | "get-stream": "^6.0.0", 802 | "human-signals": "^2.1.0", 803 | "is-stream": "^2.0.0", 804 | "merge-stream": "^2.0.0", 805 | "npm-run-path": "^4.0.1", 806 | "onetime": "^5.1.2", 807 | "signal-exit": "^3.0.3", 808 | "strip-final-newline": "^2.0.0" 809 | }, 810 | "engines": { 811 | "node": ">=10" 812 | }, 813 | "funding": { 814 | "url": "https://github.com/sindresorhus/execa?sponsor=1" 815 | } 816 | }, 817 | "node_modules/clipboardy/node_modules/human-signals": { 818 | "version": "2.1.0", 819 | "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", 820 | "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", 821 | "dev": true, 822 | "engines": { 823 | "node": ">=10.17.0" 824 | } 825 | }, 826 | "node_modules/clipboardy/node_modules/is-stream": { 827 | "version": "2.0.1", 828 | "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", 829 | "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", 830 | "dev": true, 831 | "engines": { 832 | "node": ">=8" 833 | }, 834 | "funding": { 835 | "url": "https://github.com/sponsors/sindresorhus" 836 | } 837 | }, 838 | "node_modules/clipboardy/node_modules/mimic-fn": { 839 | "version": "2.1.0", 840 | "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", 841 | "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", 842 | "dev": true, 843 | "engines": { 844 | "node": ">=6" 845 | } 846 | }, 847 | "node_modules/clipboardy/node_modules/npm-run-path": { 848 | "version": "4.0.1", 849 | "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", 850 | "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", 851 | "dev": true, 852 | "dependencies": { 853 | "path-key": "^3.0.0" 854 | }, 855 | "engines": { 856 | "node": ">=8" 857 | } 858 | }, 859 | "node_modules/clipboardy/node_modules/onetime": { 860 | "version": "5.1.2", 861 | "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", 862 | "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", 863 | "dev": true, 864 | "dependencies": { 865 | "mimic-fn": "^2.1.0" 866 | }, 867 | "engines": { 868 | "node": ">=6" 869 | }, 870 | "funding": { 871 | "url": "https://github.com/sponsors/sindresorhus" 872 | } 873 | }, 874 | "node_modules/clipboardy/node_modules/strip-final-newline": { 875 | "version": "2.0.0", 876 | "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", 877 | "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", 878 | "dev": true, 879 | "engines": { 880 | "node": ">=6" 881 | } 882 | }, 883 | "node_modules/cliui": { 884 | "version": "8.0.1", 885 | "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", 886 | "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", 887 | "dev": true, 888 | "dependencies": { 889 | "string-width": "^4.2.0", 890 | "strip-ansi": "^6.0.1", 891 | "wrap-ansi": "^7.0.0" 892 | }, 893 | "engines": { 894 | "node": ">=12" 895 | } 896 | }, 897 | "node_modules/cliui/node_modules/emoji-regex": { 898 | "version": "8.0.0", 899 | "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", 900 | "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", 901 | "dev": true 902 | }, 903 | "node_modules/cliui/node_modules/string-width": { 904 | "version": "4.2.3", 905 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", 906 | "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", 907 | "dev": true, 908 | "dependencies": { 909 | "emoji-regex": "^8.0.0", 910 | "is-fullwidth-code-point": "^3.0.0", 911 | "strip-ansi": "^6.0.1" 912 | }, 913 | "engines": { 914 | "node": ">=8" 915 | } 916 | }, 917 | "node_modules/cliui/node_modules/strip-ansi": { 918 | "version": "6.0.1", 919 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", 920 | "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", 921 | "dev": true, 922 | "dependencies": { 923 | "ansi-regex": "^5.0.1" 924 | }, 925 | "engines": { 926 | "node": ">=8" 927 | } 928 | }, 929 | "node_modules/cliui/node_modules/wrap-ansi": { 930 | "version": "7.0.0", 931 | "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", 932 | "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", 933 | "dev": true, 934 | "dependencies": { 935 | "ansi-styles": "^4.0.0", 936 | "string-width": "^4.1.0", 937 | "strip-ansi": "^6.0.0" 938 | }, 939 | "engines": { 940 | "node": ">=10" 941 | }, 942 | "funding": { 943 | "url": "https://github.com/chalk/wrap-ansi?sponsor=1" 944 | } 945 | }, 946 | "node_modules/color-convert": { 947 | "version": "2.0.1", 948 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", 949 | "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", 950 | "dev": true, 951 | "dependencies": { 952 | "color-name": "~1.1.4" 953 | }, 954 | "engines": { 955 | "node": ">=7.0.0" 956 | } 957 | }, 958 | "node_modules/color-name": { 959 | "version": "1.1.4", 960 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", 961 | "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", 962 | "dev": true 963 | }, 964 | "node_modules/compressible": { 965 | "version": "2.0.18", 966 | "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", 967 | "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", 968 | "dev": true, 969 | "dependencies": { 970 | "mime-db": ">= 1.43.0 < 2" 971 | }, 972 | "engines": { 973 | "node": ">= 0.6" 974 | } 975 | }, 976 | "node_modules/compression": { 977 | "version": "1.7.4", 978 | "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", 979 | "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", 980 | "dev": true, 981 | "dependencies": { 982 | "accepts": "~1.3.5", 983 | "bytes": "3.0.0", 984 | "compressible": "~2.0.16", 985 | "debug": "2.6.9", 986 | "on-headers": "~1.0.2", 987 | "safe-buffer": "5.1.2", 988 | "vary": "~1.1.2" 989 | }, 990 | "engines": { 991 | "node": ">= 0.8.0" 992 | } 993 | }, 994 | "node_modules/compression/node_modules/debug": { 995 | "version": "2.6.9", 996 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", 997 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", 998 | "dev": true, 999 | "dependencies": { 1000 | "ms": "2.0.0" 1001 | } 1002 | }, 1003 | "node_modules/compression/node_modules/ms": { 1004 | "version": "2.0.0", 1005 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", 1006 | "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", 1007 | "dev": true 1008 | }, 1009 | "node_modules/concat-map": { 1010 | "version": "0.0.1", 1011 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", 1012 | "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", 1013 | "dev": true 1014 | }, 1015 | "node_modules/concurrently": { 1016 | "version": "8.2.0", 1017 | "resolved": "https://registry.npmjs.org/concurrently/-/concurrently-8.2.0.tgz", 1018 | "integrity": "sha512-nnLMxO2LU492mTUj9qX/az/lESonSZu81UznYDoXtz1IQf996ixVqPAgHXwvHiHCAef/7S8HIK+fTFK7Ifk8YA==", 1019 | "dev": true, 1020 | "dependencies": { 1021 | "chalk": "^4.1.2", 1022 | "date-fns": "^2.30.0", 1023 | "lodash": "^4.17.21", 1024 | "rxjs": "^7.8.1", 1025 | "shell-quote": "^1.8.1", 1026 | "spawn-command": "0.0.2", 1027 | "supports-color": "^8.1.1", 1028 | "tree-kill": "^1.2.2", 1029 | "yargs": "^17.7.2" 1030 | }, 1031 | "bin": { 1032 | "conc": "dist/bin/concurrently.js", 1033 | "concurrently": "dist/bin/concurrently.js" 1034 | }, 1035 | "engines": { 1036 | "node": "^14.13.0 || >=16.0.0" 1037 | }, 1038 | "funding": { 1039 | "url": "https://github.com/open-cli-tools/concurrently?sponsor=1" 1040 | } 1041 | }, 1042 | "node_modules/content-disposition": { 1043 | "version": "0.5.2", 1044 | "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz", 1045 | "integrity": "sha512-kRGRZw3bLlFISDBgwTSA1TMBFN6J6GWDeubmDE3AF+3+yXL8hTWv8r5rkLbqYXY4RjPk/EzHnClI3zQf1cFmHA==", 1046 | "dev": true, 1047 | "engines": { 1048 | "node": ">= 0.6" 1049 | } 1050 | }, 1051 | "node_modules/cross-spawn": { 1052 | "version": "7.0.3", 1053 | "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", 1054 | "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", 1055 | "dev": true, 1056 | "dependencies": { 1057 | "path-key": "^3.1.0", 1058 | "shebang-command": "^2.0.0", 1059 | "which": "^2.0.1" 1060 | }, 1061 | "engines": { 1062 | "node": ">= 8" 1063 | } 1064 | }, 1065 | "node_modules/date-fns": { 1066 | "version": "2.30.0", 1067 | "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.30.0.tgz", 1068 | "integrity": "sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==", 1069 | "dev": true, 1070 | "dependencies": { 1071 | "@babel/runtime": "^7.21.0" 1072 | }, 1073 | "engines": { 1074 | "node": ">=0.11" 1075 | }, 1076 | "funding": { 1077 | "type": "opencollective", 1078 | "url": "https://opencollective.com/date-fns" 1079 | } 1080 | }, 1081 | "node_modules/deep-extend": { 1082 | "version": "0.6.0", 1083 | "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", 1084 | "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", 1085 | "dev": true, 1086 | "engines": { 1087 | "node": ">=4.0.0" 1088 | } 1089 | }, 1090 | "node_modules/define-lazy-prop": { 1091 | "version": "2.0.0", 1092 | "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", 1093 | "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", 1094 | "dev": true, 1095 | "engines": { 1096 | "node": ">=8" 1097 | } 1098 | }, 1099 | "node_modules/detect-indent": { 1100 | "version": "7.0.1", 1101 | "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-7.0.1.tgz", 1102 | "integrity": "sha512-Mc7QhQ8s+cLrnUfU/Ji94vG/r8M26m8f++vyres4ZoojaRDpZ1eSIh/EpzLNwlWuvzSZ3UbDFspjFvTDXe6e/g==", 1103 | "dev": true, 1104 | "engines": { 1105 | "node": ">=12.20" 1106 | } 1107 | }, 1108 | "node_modules/detect-newline": { 1109 | "version": "4.0.0", 1110 | "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-4.0.0.tgz", 1111 | "integrity": "sha512-1aXUEPdfGdzVPFpzGJJNgq9o81bGg1s09uxTWsqBlo9PI332uyJRQq13+LK/UN4JfxJbFdCXonUFQ9R/p7yCtw==", 1112 | "dev": true, 1113 | "engines": { 1114 | "node": "^12.20.0 || ^14.13.1 || >=16.0.0" 1115 | }, 1116 | "funding": { 1117 | "url": "https://github.com/sponsors/sindresorhus" 1118 | } 1119 | }, 1120 | "node_modules/dir-glob": { 1121 | "version": "3.0.1", 1122 | "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", 1123 | "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", 1124 | "dev": true, 1125 | "dependencies": { 1126 | "path-type": "^4.0.0" 1127 | }, 1128 | "engines": { 1129 | "node": ">=8" 1130 | } 1131 | }, 1132 | "node_modules/eastasianwidth": { 1133 | "version": "0.2.0", 1134 | "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", 1135 | "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", 1136 | "dev": true 1137 | }, 1138 | "node_modules/emoji-regex": { 1139 | "version": "9.2.2", 1140 | "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", 1141 | "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", 1142 | "dev": true 1143 | }, 1144 | "node_modules/esbuild": { 1145 | "version": "0.18.20", 1146 | "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.20.tgz", 1147 | "integrity": "sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==", 1148 | "dev": true, 1149 | "hasInstallScript": true, 1150 | "bin": { 1151 | "esbuild": "bin/esbuild" 1152 | }, 1153 | "engines": { 1154 | "node": ">=12" 1155 | }, 1156 | "optionalDependencies": { 1157 | "@esbuild/android-arm": "0.18.20", 1158 | "@esbuild/android-arm64": "0.18.20", 1159 | "@esbuild/android-x64": "0.18.20", 1160 | "@esbuild/darwin-arm64": "0.18.20", 1161 | "@esbuild/darwin-x64": "0.18.20", 1162 | "@esbuild/freebsd-arm64": "0.18.20", 1163 | "@esbuild/freebsd-x64": "0.18.20", 1164 | "@esbuild/linux-arm": "0.18.20", 1165 | "@esbuild/linux-arm64": "0.18.20", 1166 | "@esbuild/linux-ia32": "0.18.20", 1167 | "@esbuild/linux-loong64": "0.18.20", 1168 | "@esbuild/linux-mips64el": "0.18.20", 1169 | "@esbuild/linux-ppc64": "0.18.20", 1170 | "@esbuild/linux-riscv64": "0.18.20", 1171 | "@esbuild/linux-s390x": "0.18.20", 1172 | "@esbuild/linux-x64": "0.18.20", 1173 | "@esbuild/netbsd-x64": "0.18.20", 1174 | "@esbuild/openbsd-x64": "0.18.20", 1175 | "@esbuild/sunos-x64": "0.18.20", 1176 | "@esbuild/win32-arm64": "0.18.20", 1177 | "@esbuild/win32-ia32": "0.18.20", 1178 | "@esbuild/win32-x64": "0.18.20" 1179 | } 1180 | }, 1181 | "node_modules/escalade": { 1182 | "version": "3.1.1", 1183 | "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", 1184 | "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", 1185 | "dev": true, 1186 | "engines": { 1187 | "node": ">=6" 1188 | } 1189 | }, 1190 | "node_modules/fast-deep-equal": { 1191 | "version": "3.1.3", 1192 | "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", 1193 | "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", 1194 | "dev": true 1195 | }, 1196 | "node_modules/fast-glob": { 1197 | "version": "3.2.12", 1198 | "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz", 1199 | "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==", 1200 | "dev": true, 1201 | "dependencies": { 1202 | "@nodelib/fs.stat": "^2.0.2", 1203 | "@nodelib/fs.walk": "^1.2.3", 1204 | "glob-parent": "^5.1.2", 1205 | "merge2": "^1.3.0", 1206 | "micromatch": "^4.0.4" 1207 | }, 1208 | "engines": { 1209 | "node": ">=8.6.0" 1210 | } 1211 | }, 1212 | "node_modules/fast-url-parser": { 1213 | "version": "1.1.3", 1214 | "resolved": "https://registry.npmjs.org/fast-url-parser/-/fast-url-parser-1.1.3.tgz", 1215 | "integrity": "sha512-5jOCVXADYNuRkKFzNJ0dCCewsZiYo0dz8QNYljkOpFC6r2U4OBmKtvm/Tsuh4w1YYdDqDb31a8TVhBJ2OJKdqQ==", 1216 | "dev": true, 1217 | "dependencies": { 1218 | "punycode": "^1.3.2" 1219 | } 1220 | }, 1221 | "node_modules/fastq": { 1222 | "version": "1.15.0", 1223 | "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", 1224 | "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", 1225 | "dev": true, 1226 | "dependencies": { 1227 | "reusify": "^1.0.4" 1228 | } 1229 | }, 1230 | "node_modules/fill-range": { 1231 | "version": "7.0.1", 1232 | "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", 1233 | "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", 1234 | "dev": true, 1235 | "dependencies": { 1236 | "to-regex-range": "^5.0.1" 1237 | }, 1238 | "engines": { 1239 | "node": ">=8" 1240 | } 1241 | }, 1242 | "node_modules/fsevents": { 1243 | "version": "2.3.2", 1244 | "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", 1245 | "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", 1246 | "dev": true, 1247 | "hasInstallScript": true, 1248 | "optional": true, 1249 | "os": [ 1250 | "darwin" 1251 | ], 1252 | "engines": { 1253 | "node": "^8.16.0 || ^10.6.0 || >=11.0.0" 1254 | } 1255 | }, 1256 | "node_modules/get-caller-file": { 1257 | "version": "2.0.5", 1258 | "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", 1259 | "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", 1260 | "dev": true, 1261 | "engines": { 1262 | "node": "6.* || 8.* || >= 10.*" 1263 | } 1264 | }, 1265 | "node_modules/get-stream": { 1266 | "version": "6.0.1", 1267 | "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", 1268 | "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", 1269 | "dev": true, 1270 | "engines": { 1271 | "node": ">=10" 1272 | }, 1273 | "funding": { 1274 | "url": "https://github.com/sponsors/sindresorhus" 1275 | } 1276 | }, 1277 | "node_modules/git-hooks-list": { 1278 | "version": "3.1.0", 1279 | "resolved": "https://registry.npmjs.org/git-hooks-list/-/git-hooks-list-3.1.0.tgz", 1280 | "integrity": "sha512-LF8VeHeR7v+wAbXqfgRlTSX/1BJR9Q1vEMR8JAz1cEg6GX07+zyj3sAdDvYjj/xnlIfVuGgj4qBei1K3hKH+PA==", 1281 | "dev": true, 1282 | "funding": { 1283 | "url": "https://github.com/fisker/git-hooks-list?sponsor=1" 1284 | } 1285 | }, 1286 | "node_modules/github-markdown-css": { 1287 | "version": "5.2.0", 1288 | "resolved": "https://registry.npmjs.org/github-markdown-css/-/github-markdown-css-5.2.0.tgz", 1289 | "integrity": "sha512-hq5RaCInSUZ48bImOZpkppW2/MT44StRgsbsZ8YA4vJFwLKB/Vo3k7R2t+pUGqO+ThG0QDMi96TewV/B3vyItg==", 1290 | "funding": { 1291 | "url": "https://github.com/sponsors/sindresorhus" 1292 | } 1293 | }, 1294 | "node_modules/glob-parent": { 1295 | "version": "5.1.2", 1296 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", 1297 | "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", 1298 | "dev": true, 1299 | "dependencies": { 1300 | "is-glob": "^4.0.1" 1301 | }, 1302 | "engines": { 1303 | "node": ">= 6" 1304 | } 1305 | }, 1306 | "node_modules/globalyzer": { 1307 | "version": "0.1.0", 1308 | "resolved": "https://registry.npmjs.org/globalyzer/-/globalyzer-0.1.0.tgz", 1309 | "integrity": "sha512-40oNTM9UfG6aBmuKxk/giHn5nQ8RVz/SS4Ir6zgzOv9/qC3kKZ9v4etGTcJbEl/NyVQH7FGU7d+X1egr57Md2Q==", 1310 | "dev": true 1311 | }, 1312 | "node_modules/globby": { 1313 | "version": "13.1.3", 1314 | "resolved": "https://registry.npmjs.org/globby/-/globby-13.1.3.tgz", 1315 | "integrity": "sha512-8krCNHXvlCgHDpegPzleMq07yMYTO2sXKASmZmquEYWEmCx6J5UTRbp5RwMJkTJGtcQ44YpiUYUiN0b9mzy8Bw==", 1316 | "dev": true, 1317 | "dependencies": { 1318 | "dir-glob": "^3.0.1", 1319 | "fast-glob": "^3.2.11", 1320 | "ignore": "^5.2.0", 1321 | "merge2": "^1.4.1", 1322 | "slash": "^4.0.0" 1323 | }, 1324 | "engines": { 1325 | "node": "^12.20.0 || ^14.13.1 || >=16.0.0" 1326 | }, 1327 | "funding": { 1328 | "url": "https://github.com/sponsors/sindresorhus" 1329 | } 1330 | }, 1331 | "node_modules/globrex": { 1332 | "version": "0.1.2", 1333 | "resolved": "https://registry.npmjs.org/globrex/-/globrex-0.1.2.tgz", 1334 | "integrity": "sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==", 1335 | "dev": true 1336 | }, 1337 | "node_modules/has-flag": { 1338 | "version": "4.0.0", 1339 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", 1340 | "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", 1341 | "dev": true, 1342 | "engines": { 1343 | "node": ">=8" 1344 | } 1345 | }, 1346 | "node_modules/ignore": { 1347 | "version": "5.2.4", 1348 | "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", 1349 | "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", 1350 | "dev": true, 1351 | "engines": { 1352 | "node": ">= 4" 1353 | } 1354 | }, 1355 | "node_modules/immutable": { 1356 | "version": "4.3.0", 1357 | "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.0.tgz", 1358 | "integrity": "sha512-0AOCmOip+xgJwEVTQj1EfiDDOkPmuyllDuTuEX+DDXUgapLAsBIfkg3sxCYyCEA8mQqZrrxPUGjcOQ2JS3WLkg==", 1359 | "dev": true, 1360 | "optional": true, 1361 | "peer": true 1362 | }, 1363 | "node_modules/ini": { 1364 | "version": "1.3.8", 1365 | "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", 1366 | "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", 1367 | "dev": true 1368 | }, 1369 | "node_modules/is-binary-path": { 1370 | "version": "2.1.0", 1371 | "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", 1372 | "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", 1373 | "dev": true, 1374 | "optional": true, 1375 | "peer": true, 1376 | "dependencies": { 1377 | "binary-extensions": "^2.0.0" 1378 | }, 1379 | "engines": { 1380 | "node": ">=8" 1381 | } 1382 | }, 1383 | "node_modules/is-docker": { 1384 | "version": "2.2.1", 1385 | "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", 1386 | "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", 1387 | "dev": true, 1388 | "bin": { 1389 | "is-docker": "cli.js" 1390 | }, 1391 | "engines": { 1392 | "node": ">=8" 1393 | }, 1394 | "funding": { 1395 | "url": "https://github.com/sponsors/sindresorhus" 1396 | } 1397 | }, 1398 | "node_modules/is-extglob": { 1399 | "version": "2.1.1", 1400 | "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", 1401 | "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", 1402 | "dev": true, 1403 | "engines": { 1404 | "node": ">=0.10.0" 1405 | } 1406 | }, 1407 | "node_modules/is-fullwidth-code-point": { 1408 | "version": "3.0.0", 1409 | "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", 1410 | "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", 1411 | "dev": true, 1412 | "engines": { 1413 | "node": ">=8" 1414 | } 1415 | }, 1416 | "node_modules/is-glob": { 1417 | "version": "4.0.3", 1418 | "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", 1419 | "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", 1420 | "dev": true, 1421 | "dependencies": { 1422 | "is-extglob": "^2.1.1" 1423 | }, 1424 | "engines": { 1425 | "node": ">=0.10.0" 1426 | } 1427 | }, 1428 | "node_modules/is-number": { 1429 | "version": "7.0.0", 1430 | "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", 1431 | "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", 1432 | "dev": true, 1433 | "engines": { 1434 | "node": ">=0.12.0" 1435 | } 1436 | }, 1437 | "node_modules/is-plain-obj": { 1438 | "version": "4.1.0", 1439 | "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", 1440 | "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", 1441 | "dev": true, 1442 | "engines": { 1443 | "node": ">=12" 1444 | }, 1445 | "funding": { 1446 | "url": "https://github.com/sponsors/sindresorhus" 1447 | } 1448 | }, 1449 | "node_modules/is-port-reachable": { 1450 | "version": "4.0.0", 1451 | "resolved": "https://registry.npmjs.org/is-port-reachable/-/is-port-reachable-4.0.0.tgz", 1452 | "integrity": "sha512-9UoipoxYmSk6Xy7QFgRv2HDyaysmgSG75TFQs6S+3pDM7ZhKTF/bskZV+0UlABHzKjNVhPjYCLfeZUEg1wXxig==", 1453 | "dev": true, 1454 | "engines": { 1455 | "node": "^12.20.0 || ^14.13.1 || >=16.0.0" 1456 | }, 1457 | "funding": { 1458 | "url": "https://github.com/sponsors/sindresorhus" 1459 | } 1460 | }, 1461 | "node_modules/is-wsl": { 1462 | "version": "2.2.0", 1463 | "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", 1464 | "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", 1465 | "dev": true, 1466 | "dependencies": { 1467 | "is-docker": "^2.0.0" 1468 | }, 1469 | "engines": { 1470 | "node": ">=8" 1471 | } 1472 | }, 1473 | "node_modules/isexe": { 1474 | "version": "2.0.0", 1475 | "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", 1476 | "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", 1477 | "dev": true 1478 | }, 1479 | "node_modules/json-schema-traverse": { 1480 | "version": "1.0.0", 1481 | "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", 1482 | "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", 1483 | "dev": true 1484 | }, 1485 | "node_modules/lodash": { 1486 | "version": "4.17.21", 1487 | "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", 1488 | "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", 1489 | "dev": true 1490 | }, 1491 | "node_modules/marked": { 1492 | "version": "4.3.0", 1493 | "resolved": "https://registry.npmjs.org/marked/-/marked-4.3.0.tgz", 1494 | "integrity": "sha512-PRsaiG84bK+AMvxziE/lCFss8juXjNaWzVbN5tXAm4XjeaS9NAHhop+PjQxz2A9h8Q4M/xGmzP8vqNwy6JeK0A==", 1495 | "bin": { 1496 | "marked": "bin/marked.js" 1497 | }, 1498 | "engines": { 1499 | "node": ">= 12" 1500 | } 1501 | }, 1502 | "node_modules/merge-stream": { 1503 | "version": "2.0.0", 1504 | "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", 1505 | "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", 1506 | "dev": true 1507 | }, 1508 | "node_modules/merge2": { 1509 | "version": "1.4.1", 1510 | "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", 1511 | "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", 1512 | "dev": true, 1513 | "engines": { 1514 | "node": ">= 8" 1515 | } 1516 | }, 1517 | "node_modules/micromatch": { 1518 | "version": "4.0.5", 1519 | "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", 1520 | "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", 1521 | "dev": true, 1522 | "dependencies": { 1523 | "braces": "^3.0.2", 1524 | "picomatch": "^2.3.1" 1525 | }, 1526 | "engines": { 1527 | "node": ">=8.6" 1528 | } 1529 | }, 1530 | "node_modules/mime-db": { 1531 | "version": "1.52.0", 1532 | "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", 1533 | "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", 1534 | "dev": true, 1535 | "engines": { 1536 | "node": ">= 0.6" 1537 | } 1538 | }, 1539 | "node_modules/mime-types": { 1540 | "version": "2.1.35", 1541 | "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", 1542 | "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", 1543 | "dev": true, 1544 | "dependencies": { 1545 | "mime-db": "1.52.0" 1546 | }, 1547 | "engines": { 1548 | "node": ">= 0.6" 1549 | } 1550 | }, 1551 | "node_modules/minimatch": { 1552 | "version": "3.1.2", 1553 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", 1554 | "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", 1555 | "dev": true, 1556 | "dependencies": { 1557 | "brace-expansion": "^1.1.7" 1558 | }, 1559 | "engines": { 1560 | "node": "*" 1561 | } 1562 | }, 1563 | "node_modules/minimist": { 1564 | "version": "1.2.8", 1565 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", 1566 | "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", 1567 | "dev": true, 1568 | "funding": { 1569 | "url": "https://github.com/sponsors/ljharb" 1570 | } 1571 | }, 1572 | "node_modules/nanoid": { 1573 | "version": "3.3.6", 1574 | "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", 1575 | "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==", 1576 | "dev": true, 1577 | "funding": [ 1578 | { 1579 | "type": "github", 1580 | "url": "https://github.com/sponsors/ai" 1581 | } 1582 | ], 1583 | "bin": { 1584 | "nanoid": "bin/nanoid.cjs" 1585 | }, 1586 | "engines": { 1587 | "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" 1588 | } 1589 | }, 1590 | "node_modules/negotiator": { 1591 | "version": "0.6.3", 1592 | "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", 1593 | "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", 1594 | "dev": true, 1595 | "engines": { 1596 | "node": ">= 0.6" 1597 | } 1598 | }, 1599 | "node_modules/normalize-path": { 1600 | "version": "3.0.0", 1601 | "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", 1602 | "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", 1603 | "dev": true, 1604 | "optional": true, 1605 | "peer": true, 1606 | "engines": { 1607 | "node": ">=0.10.0" 1608 | } 1609 | }, 1610 | "node_modules/on-headers": { 1611 | "version": "1.0.2", 1612 | "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", 1613 | "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", 1614 | "dev": true, 1615 | "engines": { 1616 | "node": ">= 0.8" 1617 | } 1618 | }, 1619 | "node_modules/open": { 1620 | "version": "8.4.2", 1621 | "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz", 1622 | "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==", 1623 | "dev": true, 1624 | "dependencies": { 1625 | "define-lazy-prop": "^2.0.0", 1626 | "is-docker": "^2.1.1", 1627 | "is-wsl": "^2.2.0" 1628 | }, 1629 | "engines": { 1630 | "node": ">=12" 1631 | }, 1632 | "funding": { 1633 | "url": "https://github.com/sponsors/sindresorhus" 1634 | } 1635 | }, 1636 | "node_modules/path-is-inside": { 1637 | "version": "1.0.2", 1638 | "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", 1639 | "integrity": "sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w==", 1640 | "dev": true 1641 | }, 1642 | "node_modules/path-key": { 1643 | "version": "3.1.1", 1644 | "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", 1645 | "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", 1646 | "dev": true, 1647 | "engines": { 1648 | "node": ">=8" 1649 | } 1650 | }, 1651 | "node_modules/path-to-regexp": { 1652 | "version": "2.2.1", 1653 | "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-2.2.1.tgz", 1654 | "integrity": "sha512-gu9bD6Ta5bwGrrU8muHzVOBFFREpp2iRkVfhBJahwJ6p6Xw20SjT0MxLnwkjOibQmGSYhiUnf2FLe7k+jcFmGQ==", 1655 | "dev": true 1656 | }, 1657 | "node_modules/path-type": { 1658 | "version": "4.0.0", 1659 | "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", 1660 | "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", 1661 | "dev": true, 1662 | "engines": { 1663 | "node": ">=8" 1664 | } 1665 | }, 1666 | "node_modules/picocolors": { 1667 | "version": "1.0.0", 1668 | "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", 1669 | "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", 1670 | "dev": true 1671 | }, 1672 | "node_modules/picomatch": { 1673 | "version": "2.3.1", 1674 | "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", 1675 | "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", 1676 | "dev": true, 1677 | "engines": { 1678 | "node": ">=8.6" 1679 | }, 1680 | "funding": { 1681 | "url": "https://github.com/sponsors/jonschlinkert" 1682 | } 1683 | }, 1684 | "node_modules/postcss": { 1685 | "version": "8.4.31", 1686 | "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz", 1687 | "integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==", 1688 | "dev": true, 1689 | "funding": [ 1690 | { 1691 | "type": "opencollective", 1692 | "url": "https://opencollective.com/postcss/" 1693 | }, 1694 | { 1695 | "type": "tidelift", 1696 | "url": "https://tidelift.com/funding/github/npm/postcss" 1697 | }, 1698 | { 1699 | "type": "github", 1700 | "url": "https://github.com/sponsors/ai" 1701 | } 1702 | ], 1703 | "dependencies": { 1704 | "nanoid": "^3.3.6", 1705 | "picocolors": "^1.0.0", 1706 | "source-map-js": "^1.0.2" 1707 | }, 1708 | "engines": { 1709 | "node": "^10 || ^12 || >=14" 1710 | } 1711 | }, 1712 | "node_modules/prettier": { 1713 | "version": "2.8.8", 1714 | "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", 1715 | "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", 1716 | "dev": true, 1717 | "bin": { 1718 | "prettier": "bin-prettier.js" 1719 | }, 1720 | "engines": { 1721 | "node": ">=10.13.0" 1722 | }, 1723 | "funding": { 1724 | "url": "https://github.com/prettier/prettier?sponsor=1" 1725 | } 1726 | }, 1727 | "node_modules/prettier-plugin-packagejson": { 1728 | "version": "2.4.3", 1729 | "resolved": "https://registry.npmjs.org/prettier-plugin-packagejson/-/prettier-plugin-packagejson-2.4.3.tgz", 1730 | "integrity": "sha512-kPeeviJiwy0BgOSk7No8NmzzXfW4R9FYWni6ziA5zc1kGVVrKnBzMZdu2TUhI+I7h8/5Htt3vARYOk7KKJTTNQ==", 1731 | "dev": true, 1732 | "dependencies": { 1733 | "sort-package-json": "2.4.1", 1734 | "synckit": "0.8.5" 1735 | }, 1736 | "peerDependencies": { 1737 | "prettier": ">= 1.16.0" 1738 | }, 1739 | "peerDependenciesMeta": { 1740 | "prettier": { 1741 | "optional": true 1742 | } 1743 | } 1744 | }, 1745 | "node_modules/punycode": { 1746 | "version": "1.4.1", 1747 | "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", 1748 | "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==", 1749 | "dev": true 1750 | }, 1751 | "node_modules/queue-microtask": { 1752 | "version": "1.2.3", 1753 | "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", 1754 | "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", 1755 | "dev": true, 1756 | "funding": [ 1757 | { 1758 | "type": "github", 1759 | "url": "https://github.com/sponsors/feross" 1760 | }, 1761 | { 1762 | "type": "patreon", 1763 | "url": "https://www.patreon.com/feross" 1764 | }, 1765 | { 1766 | "type": "consulting", 1767 | "url": "https://feross.org/support" 1768 | } 1769 | ] 1770 | }, 1771 | "node_modules/range-parser": { 1772 | "version": "1.2.0", 1773 | "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz", 1774 | "integrity": "sha512-kA5WQoNVo4t9lNx2kQNFCxKeBl5IbbSNBl1M/tLkw9WCn+hxNBAW5Qh8gdhs63CJnhjJ2zQWFoqPJP2sK1AV5A==", 1775 | "dev": true, 1776 | "engines": { 1777 | "node": ">= 0.6" 1778 | } 1779 | }, 1780 | "node_modules/rc": { 1781 | "version": "1.2.8", 1782 | "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", 1783 | "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", 1784 | "dev": true, 1785 | "dependencies": { 1786 | "deep-extend": "^0.6.0", 1787 | "ini": "~1.3.0", 1788 | "minimist": "^1.2.0", 1789 | "strip-json-comments": "~2.0.1" 1790 | }, 1791 | "bin": { 1792 | "rc": "cli.js" 1793 | } 1794 | }, 1795 | "node_modules/readdirp": { 1796 | "version": "3.6.0", 1797 | "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", 1798 | "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", 1799 | "dev": true, 1800 | "optional": true, 1801 | "peer": true, 1802 | "dependencies": { 1803 | "picomatch": "^2.2.1" 1804 | }, 1805 | "engines": { 1806 | "node": ">=8.10.0" 1807 | } 1808 | }, 1809 | "node_modules/regenerator-runtime": { 1810 | "version": "0.13.11", 1811 | "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", 1812 | "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==", 1813 | "dev": true 1814 | }, 1815 | "node_modules/registry-auth-token": { 1816 | "version": "3.3.2", 1817 | "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-3.3.2.tgz", 1818 | "integrity": "sha512-JL39c60XlzCVgNrO+qq68FoNb56w/m7JYvGR2jT5iR1xBrUA3Mfx5Twk5rqTThPmQKMWydGmq8oFtDlxfrmxnQ==", 1819 | "dev": true, 1820 | "dependencies": { 1821 | "rc": "^1.1.6", 1822 | "safe-buffer": "^5.0.1" 1823 | } 1824 | }, 1825 | "node_modules/registry-url": { 1826 | "version": "3.1.0", 1827 | "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-3.1.0.tgz", 1828 | "integrity": "sha512-ZbgR5aZEdf4UKZVBPYIgaglBmSF2Hi94s2PcIHhRGFjKYu+chjJdYfHn4rt3hB6eCKLJ8giVIIfgMa1ehDfZKA==", 1829 | "dev": true, 1830 | "dependencies": { 1831 | "rc": "^1.0.1" 1832 | }, 1833 | "engines": { 1834 | "node": ">=0.10.0" 1835 | } 1836 | }, 1837 | "node_modules/require-directory": { 1838 | "version": "2.1.1", 1839 | "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", 1840 | "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", 1841 | "dev": true, 1842 | "engines": { 1843 | "node": ">=0.10.0" 1844 | } 1845 | }, 1846 | "node_modules/require-from-string": { 1847 | "version": "2.0.2", 1848 | "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", 1849 | "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", 1850 | "dev": true, 1851 | "engines": { 1852 | "node": ">=0.10.0" 1853 | } 1854 | }, 1855 | "node_modules/reusify": { 1856 | "version": "1.0.4", 1857 | "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", 1858 | "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", 1859 | "dev": true, 1860 | "engines": { 1861 | "iojs": ">=1.0.0", 1862 | "node": ">=0.10.0" 1863 | } 1864 | }, 1865 | "node_modules/rollup": { 1866 | "version": "3.29.4", 1867 | "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.29.4.tgz", 1868 | "integrity": "sha512-oWzmBZwvYrU0iJHtDmhsm662rC15FRXmcjCk1xD771dFDx5jJ02ufAQQTn0etB2emNk4J9EZg/yWKpsn9BWGRw==", 1869 | "dev": true, 1870 | "bin": { 1871 | "rollup": "dist/bin/rollup" 1872 | }, 1873 | "engines": { 1874 | "node": ">=14.18.0", 1875 | "npm": ">=8.0.0" 1876 | }, 1877 | "optionalDependencies": { 1878 | "fsevents": "~2.3.2" 1879 | } 1880 | }, 1881 | "node_modules/run-parallel": { 1882 | "version": "1.2.0", 1883 | "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", 1884 | "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", 1885 | "dev": true, 1886 | "funding": [ 1887 | { 1888 | "type": "github", 1889 | "url": "https://github.com/sponsors/feross" 1890 | }, 1891 | { 1892 | "type": "patreon", 1893 | "url": "https://www.patreon.com/feross" 1894 | }, 1895 | { 1896 | "type": "consulting", 1897 | "url": "https://feross.org/support" 1898 | } 1899 | ], 1900 | "dependencies": { 1901 | "queue-microtask": "^1.2.2" 1902 | } 1903 | }, 1904 | "node_modules/rxjs": { 1905 | "version": "7.8.1", 1906 | "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", 1907 | "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", 1908 | "dev": true, 1909 | "dependencies": { 1910 | "tslib": "^2.1.0" 1911 | } 1912 | }, 1913 | "node_modules/safe-buffer": { 1914 | "version": "5.1.2", 1915 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", 1916 | "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", 1917 | "dev": true 1918 | }, 1919 | "node_modules/sass": { 1920 | "version": "1.59.3", 1921 | "resolved": "https://registry.npmjs.org/sass/-/sass-1.59.3.tgz", 1922 | "integrity": "sha512-QCq98N3hX1jfTCoUAsF3eyGuXLsY7BCnCEg9qAact94Yc21npG2/mVOqoDvE0fCbWDqiM4WlcJQla0gWG2YlxQ==", 1923 | "dev": true, 1924 | "optional": true, 1925 | "peer": true, 1926 | "dependencies": { 1927 | "chokidar": ">=3.0.0 <4.0.0", 1928 | "immutable": "^4.0.0", 1929 | "source-map-js": ">=0.6.2 <2.0.0" 1930 | }, 1931 | "bin": { 1932 | "sass": "sass.js" 1933 | }, 1934 | "engines": { 1935 | "node": ">=12.0.0" 1936 | } 1937 | }, 1938 | "node_modules/serve": { 1939 | "version": "14.2.0", 1940 | "resolved": "https://registry.npmjs.org/serve/-/serve-14.2.0.tgz", 1941 | "integrity": "sha512-+HOw/XK1bW8tw5iBilBz/mJLWRzM8XM6MPxL4J/dKzdxq1vfdEWSwhaR7/yS8EJp5wzvP92p1qirysJvnEtjXg==", 1942 | "dev": true, 1943 | "dependencies": { 1944 | "@zeit/schemas": "2.29.0", 1945 | "ajv": "8.11.0", 1946 | "arg": "5.0.2", 1947 | "boxen": "7.0.0", 1948 | "chalk": "5.0.1", 1949 | "chalk-template": "0.4.0", 1950 | "clipboardy": "3.0.0", 1951 | "compression": "1.7.4", 1952 | "is-port-reachable": "4.0.0", 1953 | "serve-handler": "6.1.5", 1954 | "update-check": "1.5.4" 1955 | }, 1956 | "bin": { 1957 | "serve": "build/main.js" 1958 | }, 1959 | "engines": { 1960 | "node": ">= 14" 1961 | } 1962 | }, 1963 | "node_modules/serve-handler": { 1964 | "version": "6.1.5", 1965 | "resolved": "https://registry.npmjs.org/serve-handler/-/serve-handler-6.1.5.tgz", 1966 | "integrity": "sha512-ijPFle6Hwe8zfmBxJdE+5fta53fdIY0lHISJvuikXB3VYFafRjMRpOffSPvCYsbKyBA7pvy9oYr/BT1O3EArlg==", 1967 | "dev": true, 1968 | "dependencies": { 1969 | "bytes": "3.0.0", 1970 | "content-disposition": "0.5.2", 1971 | "fast-url-parser": "1.1.3", 1972 | "mime-types": "2.1.18", 1973 | "minimatch": "3.1.2", 1974 | "path-is-inside": "1.0.2", 1975 | "path-to-regexp": "2.2.1", 1976 | "range-parser": "1.2.0" 1977 | } 1978 | }, 1979 | "node_modules/serve-handler/node_modules/mime-db": { 1980 | "version": "1.33.0", 1981 | "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz", 1982 | "integrity": "sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==", 1983 | "dev": true, 1984 | "engines": { 1985 | "node": ">= 0.6" 1986 | } 1987 | }, 1988 | "node_modules/serve-handler/node_modules/mime-types": { 1989 | "version": "2.1.18", 1990 | "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz", 1991 | "integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==", 1992 | "dev": true, 1993 | "dependencies": { 1994 | "mime-db": "~1.33.0" 1995 | }, 1996 | "engines": { 1997 | "node": ">= 0.6" 1998 | } 1999 | }, 2000 | "node_modules/serve/node_modules/chalk": { 2001 | "version": "5.0.1", 2002 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.0.1.tgz", 2003 | "integrity": "sha512-Fo07WOYGqMfCWHOzSXOt2CxDbC6skS/jO9ynEcmpANMoPrD+W1r1K6Vx7iNm+AQmETU1Xr2t+n8nzkV9t6xh3w==", 2004 | "dev": true, 2005 | "engines": { 2006 | "node": "^12.17.0 || ^14.13 || >=16.0.0" 2007 | }, 2008 | "funding": { 2009 | "url": "https://github.com/chalk/chalk?sponsor=1" 2010 | } 2011 | }, 2012 | "node_modules/shebang-command": { 2013 | "version": "2.0.0", 2014 | "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", 2015 | "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", 2016 | "dev": true, 2017 | "dependencies": { 2018 | "shebang-regex": "^3.0.0" 2019 | }, 2020 | "engines": { 2021 | "node": ">=8" 2022 | } 2023 | }, 2024 | "node_modules/shebang-regex": { 2025 | "version": "3.0.0", 2026 | "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", 2027 | "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", 2028 | "dev": true, 2029 | "engines": { 2030 | "node": ">=8" 2031 | } 2032 | }, 2033 | "node_modules/shell-quote": { 2034 | "version": "1.8.1", 2035 | "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz", 2036 | "integrity": "sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==", 2037 | "dev": true, 2038 | "funding": { 2039 | "url": "https://github.com/sponsors/ljharb" 2040 | } 2041 | }, 2042 | "node_modules/signal-exit": { 2043 | "version": "3.0.7", 2044 | "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", 2045 | "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", 2046 | "dev": true 2047 | }, 2048 | "node_modules/slash": { 2049 | "version": "4.0.0", 2050 | "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", 2051 | "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", 2052 | "dev": true, 2053 | "engines": { 2054 | "node": ">=12" 2055 | }, 2056 | "funding": { 2057 | "url": "https://github.com/sponsors/sindresorhus" 2058 | } 2059 | }, 2060 | "node_modules/sort-object-keys": { 2061 | "version": "1.1.3", 2062 | "resolved": "https://registry.npmjs.org/sort-object-keys/-/sort-object-keys-1.1.3.tgz", 2063 | "integrity": "sha512-855pvK+VkU7PaKYPc+Jjnmt4EzejQHyhhF33q31qG8x7maDzkeFhAAThdCYay11CISO+qAMwjOBP+fPZe0IPyg==", 2064 | "dev": true 2065 | }, 2066 | "node_modules/sort-package-json": { 2067 | "version": "2.4.1", 2068 | "resolved": "https://registry.npmjs.org/sort-package-json/-/sort-package-json-2.4.1.tgz", 2069 | "integrity": "sha512-Nd3rgLBJcZ4iw7tpuOhwBupG6SvUDU0Fy1cZGAMorA2JmDUb+29Dg5phJK9gapa2Ak9d15w/RuMl/viwX+nKwQ==", 2070 | "dev": true, 2071 | "dependencies": { 2072 | "detect-indent": "^7.0.1", 2073 | "detect-newline": "^4.0.0", 2074 | "git-hooks-list": "^3.0.0", 2075 | "globby": "^13.1.2", 2076 | "is-plain-obj": "^4.1.0", 2077 | "sort-object-keys": "^1.1.3" 2078 | }, 2079 | "bin": { 2080 | "sort-package-json": "cli.js" 2081 | } 2082 | }, 2083 | "node_modules/source-map-js": { 2084 | "version": "1.0.2", 2085 | "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", 2086 | "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", 2087 | "dev": true, 2088 | "engines": { 2089 | "node": ">=0.10.0" 2090 | } 2091 | }, 2092 | "node_modules/spawn-command": { 2093 | "version": "0.0.2", 2094 | "resolved": "https://registry.npmjs.org/spawn-command/-/spawn-command-0.0.2.tgz", 2095 | "integrity": "sha512-zC8zGoGkmc8J9ndvml8Xksr1Amk9qBujgbF0JAIWO7kXr43w0h/0GJNM/Vustixu+YE8N/MTrQ7N31FvHUACxQ==", 2096 | "dev": true 2097 | }, 2098 | "node_modules/string-width": { 2099 | "version": "5.1.2", 2100 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", 2101 | "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", 2102 | "dev": true, 2103 | "dependencies": { 2104 | "eastasianwidth": "^0.2.0", 2105 | "emoji-regex": "^9.2.2", 2106 | "strip-ansi": "^7.0.1" 2107 | }, 2108 | "engines": { 2109 | "node": ">=12" 2110 | }, 2111 | "funding": { 2112 | "url": "https://github.com/sponsors/sindresorhus" 2113 | } 2114 | }, 2115 | "node_modules/strip-ansi": { 2116 | "version": "7.0.1", 2117 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz", 2118 | "integrity": "sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==", 2119 | "dev": true, 2120 | "dependencies": { 2121 | "ansi-regex": "^6.0.1" 2122 | }, 2123 | "engines": { 2124 | "node": ">=12" 2125 | }, 2126 | "funding": { 2127 | "url": "https://github.com/chalk/strip-ansi?sponsor=1" 2128 | } 2129 | }, 2130 | "node_modules/strip-ansi/node_modules/ansi-regex": { 2131 | "version": "6.0.1", 2132 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", 2133 | "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", 2134 | "dev": true, 2135 | "engines": { 2136 | "node": ">=12" 2137 | }, 2138 | "funding": { 2139 | "url": "https://github.com/chalk/ansi-regex?sponsor=1" 2140 | } 2141 | }, 2142 | "node_modules/strip-json-comments": { 2143 | "version": "2.0.1", 2144 | "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", 2145 | "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", 2146 | "dev": true, 2147 | "engines": { 2148 | "node": ">=0.10.0" 2149 | } 2150 | }, 2151 | "node_modules/supports-color": { 2152 | "version": "8.1.1", 2153 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", 2154 | "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", 2155 | "dev": true, 2156 | "dependencies": { 2157 | "has-flag": "^4.0.0" 2158 | }, 2159 | "engines": { 2160 | "node": ">=10" 2161 | }, 2162 | "funding": { 2163 | "url": "https://github.com/chalk/supports-color?sponsor=1" 2164 | } 2165 | }, 2166 | "node_modules/synckit": { 2167 | "version": "0.8.5", 2168 | "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.8.5.tgz", 2169 | "integrity": "sha512-L1dapNV6vu2s/4Sputv8xGsCdAVlb5nRDMFU/E27D44l5U6cw1g0dGd45uLc+OXjNMmF4ntiMdCimzcjFKQI8Q==", 2170 | "dev": true, 2171 | "dependencies": { 2172 | "@pkgr/utils": "^2.3.1", 2173 | "tslib": "^2.5.0" 2174 | }, 2175 | "engines": { 2176 | "node": "^14.18.0 || >=16.0.0" 2177 | }, 2178 | "funding": { 2179 | "url": "https://opencollective.com/unts" 2180 | } 2181 | }, 2182 | "node_modules/tiny-glob": { 2183 | "version": "0.2.9", 2184 | "resolved": "https://registry.npmjs.org/tiny-glob/-/tiny-glob-0.2.9.tgz", 2185 | "integrity": "sha512-g/55ssRPUjShh+xkfx9UPDXqhckHEsHr4Vd9zX55oSdGZc/MD0m3sferOkwWtp98bv+kcVfEHtRJgBVJzelrzg==", 2186 | "dev": true, 2187 | "dependencies": { 2188 | "globalyzer": "0.1.0", 2189 | "globrex": "^0.1.2" 2190 | } 2191 | }, 2192 | "node_modules/to-regex-range": { 2193 | "version": "5.0.1", 2194 | "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", 2195 | "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", 2196 | "dev": true, 2197 | "dependencies": { 2198 | "is-number": "^7.0.0" 2199 | }, 2200 | "engines": { 2201 | "node": ">=8.0" 2202 | } 2203 | }, 2204 | "node_modules/tree-kill": { 2205 | "version": "1.2.2", 2206 | "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz", 2207 | "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==", 2208 | "dev": true, 2209 | "bin": { 2210 | "tree-kill": "cli.js" 2211 | } 2212 | }, 2213 | "node_modules/tslib": { 2214 | "version": "2.5.0", 2215 | "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", 2216 | "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", 2217 | "dev": true 2218 | }, 2219 | "node_modules/type-fest": { 2220 | "version": "2.19.0", 2221 | "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz", 2222 | "integrity": "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==", 2223 | "dev": true, 2224 | "engines": { 2225 | "node": ">=12.20" 2226 | }, 2227 | "funding": { 2228 | "url": "https://github.com/sponsors/sindresorhus" 2229 | } 2230 | }, 2231 | "node_modules/update-check": { 2232 | "version": "1.5.4", 2233 | "resolved": "https://registry.npmjs.org/update-check/-/update-check-1.5.4.tgz", 2234 | "integrity": "sha512-5YHsflzHP4t1G+8WGPlvKbJEbAJGCgw+Em+dGR1KmBUbr1J36SJBqlHLjR7oob7sco5hWHGQVcr9B2poIVDDTQ==", 2235 | "dev": true, 2236 | "dependencies": { 2237 | "registry-auth-token": "3.3.2", 2238 | "registry-url": "3.1.0" 2239 | } 2240 | }, 2241 | "node_modules/uri-js": { 2242 | "version": "4.4.1", 2243 | "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", 2244 | "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", 2245 | "dev": true, 2246 | "dependencies": { 2247 | "punycode": "^2.1.0" 2248 | } 2249 | }, 2250 | "node_modules/uri-js/node_modules/punycode": { 2251 | "version": "2.3.0", 2252 | "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", 2253 | "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", 2254 | "dev": true, 2255 | "engines": { 2256 | "node": ">=6" 2257 | } 2258 | }, 2259 | "node_modules/vary": { 2260 | "version": "1.1.2", 2261 | "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", 2262 | "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", 2263 | "dev": true, 2264 | "engines": { 2265 | "node": ">= 0.8" 2266 | } 2267 | }, 2268 | "node_modules/vite": { 2269 | "version": "4.5.3", 2270 | "resolved": "https://registry.npmjs.org/vite/-/vite-4.5.3.tgz", 2271 | "integrity": "sha512-kQL23kMeX92v3ph7IauVkXkikdDRsYMGTVl5KY2E9OY4ONLvkHf04MDTbnfo6NKxZiDLWzVpP5oTa8hQD8U3dg==", 2272 | "dev": true, 2273 | "dependencies": { 2274 | "esbuild": "^0.18.10", 2275 | "postcss": "^8.4.27", 2276 | "rollup": "^3.27.1" 2277 | }, 2278 | "bin": { 2279 | "vite": "bin/vite.js" 2280 | }, 2281 | "engines": { 2282 | "node": "^14.18.0 || >=16.0.0" 2283 | }, 2284 | "funding": { 2285 | "url": "https://github.com/vitejs/vite?sponsor=1" 2286 | }, 2287 | "optionalDependencies": { 2288 | "fsevents": "~2.3.2" 2289 | }, 2290 | "peerDependencies": { 2291 | "@types/node": ">= 14", 2292 | "less": "*", 2293 | "lightningcss": "^1.21.0", 2294 | "sass": "*", 2295 | "stylus": "*", 2296 | "sugarss": "*", 2297 | "terser": "^5.4.0" 2298 | }, 2299 | "peerDependenciesMeta": { 2300 | "@types/node": { 2301 | "optional": true 2302 | }, 2303 | "less": { 2304 | "optional": true 2305 | }, 2306 | "lightningcss": { 2307 | "optional": true 2308 | }, 2309 | "sass": { 2310 | "optional": true 2311 | }, 2312 | "stylus": { 2313 | "optional": true 2314 | }, 2315 | "sugarss": { 2316 | "optional": true 2317 | }, 2318 | "terser": { 2319 | "optional": true 2320 | } 2321 | } 2322 | }, 2323 | "node_modules/vite-plugin-css-injected-by-js": { 2324 | "version": "3.1.0", 2325 | "resolved": "https://registry.npmjs.org/vite-plugin-css-injected-by-js/-/vite-plugin-css-injected-by-js-3.1.0.tgz", 2326 | "integrity": "sha512-qogCmpocZfcbSAYZQjS88ieIY0PzLUm7RkLFWFgAxkXdz3N6roZbSTNTxeIOj5IxFbZWACUPuVBBoo6qCuXDcw==", 2327 | "dev": true, 2328 | "peerDependencies": { 2329 | "vite": ">2.0.0-0" 2330 | } 2331 | }, 2332 | "node_modules/which": { 2333 | "version": "2.0.2", 2334 | "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", 2335 | "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", 2336 | "dev": true, 2337 | "dependencies": { 2338 | "isexe": "^2.0.0" 2339 | }, 2340 | "bin": { 2341 | "node-which": "bin/node-which" 2342 | }, 2343 | "engines": { 2344 | "node": ">= 8" 2345 | } 2346 | }, 2347 | "node_modules/widest-line": { 2348 | "version": "4.0.1", 2349 | "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-4.0.1.tgz", 2350 | "integrity": "sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig==", 2351 | "dev": true, 2352 | "dependencies": { 2353 | "string-width": "^5.0.1" 2354 | }, 2355 | "engines": { 2356 | "node": ">=12" 2357 | }, 2358 | "funding": { 2359 | "url": "https://github.com/sponsors/sindresorhus" 2360 | } 2361 | }, 2362 | "node_modules/wrap-ansi": { 2363 | "version": "8.1.0", 2364 | "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", 2365 | "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", 2366 | "dev": true, 2367 | "dependencies": { 2368 | "ansi-styles": "^6.1.0", 2369 | "string-width": "^5.0.1", 2370 | "strip-ansi": "^7.0.1" 2371 | }, 2372 | "engines": { 2373 | "node": ">=12" 2374 | }, 2375 | "funding": { 2376 | "url": "https://github.com/chalk/wrap-ansi?sponsor=1" 2377 | } 2378 | }, 2379 | "node_modules/wrap-ansi/node_modules/ansi-styles": { 2380 | "version": "6.2.1", 2381 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", 2382 | "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", 2383 | "dev": true, 2384 | "engines": { 2385 | "node": ">=12" 2386 | }, 2387 | "funding": { 2388 | "url": "https://github.com/chalk/ansi-styles?sponsor=1" 2389 | } 2390 | }, 2391 | "node_modules/y18n": { 2392 | "version": "5.0.8", 2393 | "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", 2394 | "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", 2395 | "dev": true, 2396 | "engines": { 2397 | "node": ">=10" 2398 | } 2399 | }, 2400 | "node_modules/yargs": { 2401 | "version": "17.7.2", 2402 | "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", 2403 | "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", 2404 | "dev": true, 2405 | "dependencies": { 2406 | "cliui": "^8.0.1", 2407 | "escalade": "^3.1.1", 2408 | "get-caller-file": "^2.0.5", 2409 | "require-directory": "^2.1.1", 2410 | "string-width": "^4.2.3", 2411 | "y18n": "^5.0.5", 2412 | "yargs-parser": "^21.1.1" 2413 | }, 2414 | "engines": { 2415 | "node": ">=12" 2416 | } 2417 | }, 2418 | "node_modules/yargs-parser": { 2419 | "version": "21.1.1", 2420 | "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", 2421 | "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", 2422 | "dev": true, 2423 | "engines": { 2424 | "node": ">=12" 2425 | } 2426 | }, 2427 | "node_modules/yargs/node_modules/emoji-regex": { 2428 | "version": "8.0.0", 2429 | "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", 2430 | "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", 2431 | "dev": true 2432 | }, 2433 | "node_modules/yargs/node_modules/string-width": { 2434 | "version": "4.2.3", 2435 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", 2436 | "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", 2437 | "dev": true, 2438 | "dependencies": { 2439 | "emoji-regex": "^8.0.0", 2440 | "is-fullwidth-code-point": "^3.0.0", 2441 | "strip-ansi": "^6.0.1" 2442 | }, 2443 | "engines": { 2444 | "node": ">=8" 2445 | } 2446 | }, 2447 | "node_modules/yargs/node_modules/strip-ansi": { 2448 | "version": "6.0.1", 2449 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", 2450 | "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", 2451 | "dev": true, 2452 | "dependencies": { 2453 | "ansi-regex": "^5.0.1" 2454 | }, 2455 | "engines": { 2456 | "node": ">=8" 2457 | } 2458 | } 2459 | }, 2460 | "dependencies": { 2461 | "@babel/runtime": { 2462 | "version": "7.22.5", 2463 | "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.22.5.tgz", 2464 | "integrity": "sha512-ecjvYlnAaZ/KVneE/OdKYBYfgXV3Ptu6zQWmgEF7vwKhQnvVS6bjMD2XYgj+SNvQ1GfK/pjgokfPkC/2CO8CuA==", 2465 | "dev": true, 2466 | "requires": { 2467 | "regenerator-runtime": "^0.13.11" 2468 | } 2469 | }, 2470 | "@esbuild/android-arm": { 2471 | "version": "0.18.20", 2472 | "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.20.tgz", 2473 | "integrity": "sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==", 2474 | "dev": true, 2475 | "optional": true 2476 | }, 2477 | "@esbuild/android-arm64": { 2478 | "version": "0.18.20", 2479 | "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.20.tgz", 2480 | "integrity": "sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==", 2481 | "dev": true, 2482 | "optional": true 2483 | }, 2484 | "@esbuild/android-x64": { 2485 | "version": "0.18.20", 2486 | "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.20.tgz", 2487 | "integrity": "sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==", 2488 | "dev": true, 2489 | "optional": true 2490 | }, 2491 | "@esbuild/darwin-arm64": { 2492 | "version": "0.18.20", 2493 | "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.20.tgz", 2494 | "integrity": "sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==", 2495 | "dev": true, 2496 | "optional": true 2497 | }, 2498 | "@esbuild/darwin-x64": { 2499 | "version": "0.18.20", 2500 | "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.20.tgz", 2501 | "integrity": "sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==", 2502 | "dev": true, 2503 | "optional": true 2504 | }, 2505 | "@esbuild/freebsd-arm64": { 2506 | "version": "0.18.20", 2507 | "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.20.tgz", 2508 | "integrity": "sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==", 2509 | "dev": true, 2510 | "optional": true 2511 | }, 2512 | "@esbuild/freebsd-x64": { 2513 | "version": "0.18.20", 2514 | "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.20.tgz", 2515 | "integrity": "sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==", 2516 | "dev": true, 2517 | "optional": true 2518 | }, 2519 | "@esbuild/linux-arm": { 2520 | "version": "0.18.20", 2521 | "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.20.tgz", 2522 | "integrity": "sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==", 2523 | "dev": true, 2524 | "optional": true 2525 | }, 2526 | "@esbuild/linux-arm64": { 2527 | "version": "0.18.20", 2528 | "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.20.tgz", 2529 | "integrity": "sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==", 2530 | "dev": true, 2531 | "optional": true 2532 | }, 2533 | "@esbuild/linux-ia32": { 2534 | "version": "0.18.20", 2535 | "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.20.tgz", 2536 | "integrity": "sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==", 2537 | "dev": true, 2538 | "optional": true 2539 | }, 2540 | "@esbuild/linux-loong64": { 2541 | "version": "0.18.20", 2542 | "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.20.tgz", 2543 | "integrity": "sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==", 2544 | "dev": true, 2545 | "optional": true 2546 | }, 2547 | "@esbuild/linux-mips64el": { 2548 | "version": "0.18.20", 2549 | "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.20.tgz", 2550 | "integrity": "sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==", 2551 | "dev": true, 2552 | "optional": true 2553 | }, 2554 | "@esbuild/linux-ppc64": { 2555 | "version": "0.18.20", 2556 | "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.20.tgz", 2557 | "integrity": "sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==", 2558 | "dev": true, 2559 | "optional": true 2560 | }, 2561 | "@esbuild/linux-riscv64": { 2562 | "version": "0.18.20", 2563 | "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.20.tgz", 2564 | "integrity": "sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==", 2565 | "dev": true, 2566 | "optional": true 2567 | }, 2568 | "@esbuild/linux-s390x": { 2569 | "version": "0.18.20", 2570 | "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.20.tgz", 2571 | "integrity": "sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==", 2572 | "dev": true, 2573 | "optional": true 2574 | }, 2575 | "@esbuild/linux-x64": { 2576 | "version": "0.18.20", 2577 | "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.20.tgz", 2578 | "integrity": "sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==", 2579 | "dev": true, 2580 | "optional": true 2581 | }, 2582 | "@esbuild/netbsd-x64": { 2583 | "version": "0.18.20", 2584 | "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.20.tgz", 2585 | "integrity": "sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==", 2586 | "dev": true, 2587 | "optional": true 2588 | }, 2589 | "@esbuild/openbsd-x64": { 2590 | "version": "0.18.20", 2591 | "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.20.tgz", 2592 | "integrity": "sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==", 2593 | "dev": true, 2594 | "optional": true 2595 | }, 2596 | "@esbuild/sunos-x64": { 2597 | "version": "0.18.20", 2598 | "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.20.tgz", 2599 | "integrity": "sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==", 2600 | "dev": true, 2601 | "optional": true 2602 | }, 2603 | "@esbuild/win32-arm64": { 2604 | "version": "0.18.20", 2605 | "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.20.tgz", 2606 | "integrity": "sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==", 2607 | "dev": true, 2608 | "optional": true 2609 | }, 2610 | "@esbuild/win32-ia32": { 2611 | "version": "0.18.20", 2612 | "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.20.tgz", 2613 | "integrity": "sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==", 2614 | "dev": true, 2615 | "optional": true 2616 | }, 2617 | "@esbuild/win32-x64": { 2618 | "version": "0.18.20", 2619 | "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.20.tgz", 2620 | "integrity": "sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==", 2621 | "dev": true, 2622 | "optional": true 2623 | }, 2624 | "@nodelib/fs.scandir": { 2625 | "version": "2.1.5", 2626 | "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", 2627 | "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", 2628 | "dev": true, 2629 | "requires": { 2630 | "@nodelib/fs.stat": "2.0.5", 2631 | "run-parallel": "^1.1.9" 2632 | } 2633 | }, 2634 | "@nodelib/fs.stat": { 2635 | "version": "2.0.5", 2636 | "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", 2637 | "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", 2638 | "dev": true 2639 | }, 2640 | "@nodelib/fs.walk": { 2641 | "version": "1.2.8", 2642 | "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", 2643 | "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", 2644 | "dev": true, 2645 | "requires": { 2646 | "@nodelib/fs.scandir": "2.1.5", 2647 | "fastq": "^1.6.0" 2648 | } 2649 | }, 2650 | "@pkgr/utils": { 2651 | "version": "2.3.1", 2652 | "resolved": "https://registry.npmjs.org/@pkgr/utils/-/utils-2.3.1.tgz", 2653 | "integrity": "sha512-wfzX8kc1PMyUILA+1Z/EqoE4UCXGy0iRGMhPwdfae1+f0OXlLqCk+By+aMzgJBzR9AzS4CDizioG6Ss1gvAFJw==", 2654 | "dev": true, 2655 | "requires": { 2656 | "cross-spawn": "^7.0.3", 2657 | "is-glob": "^4.0.3", 2658 | "open": "^8.4.0", 2659 | "picocolors": "^1.0.0", 2660 | "tiny-glob": "^0.2.9", 2661 | "tslib": "^2.4.0" 2662 | } 2663 | }, 2664 | "@types/marked": { 2665 | "version": "5.0.0", 2666 | "resolved": "https://registry.npmjs.org/@types/marked/-/marked-5.0.0.tgz", 2667 | "integrity": "sha512-YcZe50jhltsCq7rc9MNZC/4QB/OnA2Pd6hrOSTOFajtabN+38slqgDDCeE/0F83SjkKBQcsZUj7VLWR0H5cKRA==", 2668 | "dev": true 2669 | }, 2670 | "@types/node": { 2671 | "version": "18.15.5", 2672 | "resolved": "https://registry.npmjs.org/@types/node/-/node-18.15.5.tgz", 2673 | "integrity": "sha512-Ark2WDjjZO7GmvsyFFf81MXuGTA/d6oP38anyxWOL6EREyBKAxKoFHwBhaZxCfLRLpO8JgVXwqOwSwa7jRcjew==", 2674 | "dev": true, 2675 | "optional": true, 2676 | "peer": true 2677 | }, 2678 | "@zeit/schemas": { 2679 | "version": "2.29.0", 2680 | "resolved": "https://registry.npmjs.org/@zeit/schemas/-/schemas-2.29.0.tgz", 2681 | "integrity": "sha512-g5QiLIfbg3pLuYUJPlisNKY+epQJTcMDsOnVNkscrDP1oi7vmJnzOANYJI/1pZcVJ6umUkBv3aFtlg1UvUHGzA==", 2682 | "dev": true 2683 | }, 2684 | "accepts": { 2685 | "version": "1.3.8", 2686 | "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", 2687 | "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", 2688 | "dev": true, 2689 | "requires": { 2690 | "mime-types": "~2.1.34", 2691 | "negotiator": "0.6.3" 2692 | } 2693 | }, 2694 | "ajv": { 2695 | "version": "8.11.0", 2696 | "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", 2697 | "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", 2698 | "dev": true, 2699 | "requires": { 2700 | "fast-deep-equal": "^3.1.1", 2701 | "json-schema-traverse": "^1.0.0", 2702 | "require-from-string": "^2.0.2", 2703 | "uri-js": "^4.2.2" 2704 | } 2705 | }, 2706 | "ansi-align": { 2707 | "version": "3.0.1", 2708 | "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz", 2709 | "integrity": "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==", 2710 | "dev": true, 2711 | "requires": { 2712 | "string-width": "^4.1.0" 2713 | }, 2714 | "dependencies": { 2715 | "emoji-regex": { 2716 | "version": "8.0.0", 2717 | "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", 2718 | "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", 2719 | "dev": true 2720 | }, 2721 | "string-width": { 2722 | "version": "4.2.3", 2723 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", 2724 | "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", 2725 | "dev": true, 2726 | "requires": { 2727 | "emoji-regex": "^8.0.0", 2728 | "is-fullwidth-code-point": "^3.0.0", 2729 | "strip-ansi": "^6.0.1" 2730 | } 2731 | }, 2732 | "strip-ansi": { 2733 | "version": "6.0.1", 2734 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", 2735 | "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", 2736 | "dev": true, 2737 | "requires": { 2738 | "ansi-regex": "^5.0.1" 2739 | } 2740 | } 2741 | } 2742 | }, 2743 | "ansi-regex": { 2744 | "version": "5.0.1", 2745 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", 2746 | "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", 2747 | "dev": true 2748 | }, 2749 | "ansi-styles": { 2750 | "version": "4.3.0", 2751 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", 2752 | "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", 2753 | "dev": true, 2754 | "requires": { 2755 | "color-convert": "^2.0.1" 2756 | } 2757 | }, 2758 | "anymatch": { 2759 | "version": "3.1.3", 2760 | "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", 2761 | "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", 2762 | "dev": true, 2763 | "optional": true, 2764 | "peer": true, 2765 | "requires": { 2766 | "normalize-path": "^3.0.0", 2767 | "picomatch": "^2.0.4" 2768 | } 2769 | }, 2770 | "arch": { 2771 | "version": "2.2.0", 2772 | "resolved": "https://registry.npmjs.org/arch/-/arch-2.2.0.tgz", 2773 | "integrity": "sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==", 2774 | "dev": true 2775 | }, 2776 | "arg": { 2777 | "version": "5.0.2", 2778 | "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", 2779 | "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", 2780 | "dev": true 2781 | }, 2782 | "balanced-match": { 2783 | "version": "1.0.2", 2784 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", 2785 | "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", 2786 | "dev": true 2787 | }, 2788 | "binary-extensions": { 2789 | "version": "2.2.0", 2790 | "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", 2791 | "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", 2792 | "dev": true, 2793 | "optional": true, 2794 | "peer": true 2795 | }, 2796 | "boxen": { 2797 | "version": "7.0.0", 2798 | "resolved": "https://registry.npmjs.org/boxen/-/boxen-7.0.0.tgz", 2799 | "integrity": "sha512-j//dBVuyacJbvW+tvZ9HuH03fZ46QcaKvvhZickZqtB271DxJ7SNRSNxrV/dZX0085m7hISRZWbzWlJvx/rHSg==", 2800 | "dev": true, 2801 | "requires": { 2802 | "ansi-align": "^3.0.1", 2803 | "camelcase": "^7.0.0", 2804 | "chalk": "^5.0.1", 2805 | "cli-boxes": "^3.0.0", 2806 | "string-width": "^5.1.2", 2807 | "type-fest": "^2.13.0", 2808 | "widest-line": "^4.0.1", 2809 | "wrap-ansi": "^8.0.1" 2810 | }, 2811 | "dependencies": { 2812 | "chalk": { 2813 | "version": "5.2.0", 2814 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.2.0.tgz", 2815 | "integrity": "sha512-ree3Gqw/nazQAPuJJEy+avdl7QfZMcUvmHIKgEZkGL+xOBzRvup5Hxo6LHuMceSxOabuJLJm5Yp/92R9eMmMvA==", 2816 | "dev": true 2817 | } 2818 | } 2819 | }, 2820 | "brace-expansion": { 2821 | "version": "1.1.11", 2822 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", 2823 | "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", 2824 | "dev": true, 2825 | "requires": { 2826 | "balanced-match": "^1.0.0", 2827 | "concat-map": "0.0.1" 2828 | } 2829 | }, 2830 | "braces": { 2831 | "version": "3.0.2", 2832 | "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", 2833 | "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", 2834 | "dev": true, 2835 | "requires": { 2836 | "fill-range": "^7.0.1" 2837 | } 2838 | }, 2839 | "bytes": { 2840 | "version": "3.0.0", 2841 | "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", 2842 | "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==", 2843 | "dev": true 2844 | }, 2845 | "camelcase": { 2846 | "version": "7.0.1", 2847 | "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-7.0.1.tgz", 2848 | "integrity": "sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw==", 2849 | "dev": true 2850 | }, 2851 | "chalk": { 2852 | "version": "4.1.2", 2853 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", 2854 | "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", 2855 | "dev": true, 2856 | "requires": { 2857 | "ansi-styles": "^4.1.0", 2858 | "supports-color": "^7.1.0" 2859 | }, 2860 | "dependencies": { 2861 | "supports-color": { 2862 | "version": "7.2.0", 2863 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", 2864 | "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", 2865 | "dev": true, 2866 | "requires": { 2867 | "has-flag": "^4.0.0" 2868 | } 2869 | } 2870 | } 2871 | }, 2872 | "chalk-template": { 2873 | "version": "0.4.0", 2874 | "resolved": "https://registry.npmjs.org/chalk-template/-/chalk-template-0.4.0.tgz", 2875 | "integrity": "sha512-/ghrgmhfY8RaSdeo43hNXxpoHAtxdbskUHjPpfqUWGttFgycUhYPGx3YZBCnUCvOa7Doivn1IZec3DEGFoMgLg==", 2876 | "dev": true, 2877 | "requires": { 2878 | "chalk": "^4.1.2" 2879 | } 2880 | }, 2881 | "chokidar": { 2882 | "version": "3.5.3", 2883 | "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", 2884 | "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", 2885 | "dev": true, 2886 | "optional": true, 2887 | "peer": true, 2888 | "requires": { 2889 | "anymatch": "~3.1.2", 2890 | "braces": "~3.0.2", 2891 | "fsevents": "~2.3.2", 2892 | "glob-parent": "~5.1.2", 2893 | "is-binary-path": "~2.1.0", 2894 | "is-glob": "~4.0.1", 2895 | "normalize-path": "~3.0.0", 2896 | "readdirp": "~3.6.0" 2897 | } 2898 | }, 2899 | "cli-boxes": { 2900 | "version": "3.0.0", 2901 | "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-3.0.0.tgz", 2902 | "integrity": "sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==", 2903 | "dev": true 2904 | }, 2905 | "clipboardy": { 2906 | "version": "3.0.0", 2907 | "resolved": "https://registry.npmjs.org/clipboardy/-/clipboardy-3.0.0.tgz", 2908 | "integrity": "sha512-Su+uU5sr1jkUy1sGRpLKjKrvEOVXgSgiSInwa/qeID6aJ07yh+5NWc3h2QfjHjBnfX4LhtFcuAWKUsJ3r+fjbg==", 2909 | "dev": true, 2910 | "requires": { 2911 | "arch": "^2.2.0", 2912 | "execa": "^5.1.1", 2913 | "is-wsl": "^2.2.0" 2914 | }, 2915 | "dependencies": { 2916 | "execa": { 2917 | "version": "5.1.1", 2918 | "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", 2919 | "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", 2920 | "dev": true, 2921 | "requires": { 2922 | "cross-spawn": "^7.0.3", 2923 | "get-stream": "^6.0.0", 2924 | "human-signals": "^2.1.0", 2925 | "is-stream": "^2.0.0", 2926 | "merge-stream": "^2.0.0", 2927 | "npm-run-path": "^4.0.1", 2928 | "onetime": "^5.1.2", 2929 | "signal-exit": "^3.0.3", 2930 | "strip-final-newline": "^2.0.0" 2931 | } 2932 | }, 2933 | "human-signals": { 2934 | "version": "2.1.0", 2935 | "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", 2936 | "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", 2937 | "dev": true 2938 | }, 2939 | "is-stream": { 2940 | "version": "2.0.1", 2941 | "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", 2942 | "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", 2943 | "dev": true 2944 | }, 2945 | "mimic-fn": { 2946 | "version": "2.1.0", 2947 | "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", 2948 | "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", 2949 | "dev": true 2950 | }, 2951 | "npm-run-path": { 2952 | "version": "4.0.1", 2953 | "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", 2954 | "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", 2955 | "dev": true, 2956 | "requires": { 2957 | "path-key": "^3.0.0" 2958 | } 2959 | }, 2960 | "onetime": { 2961 | "version": "5.1.2", 2962 | "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", 2963 | "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", 2964 | "dev": true, 2965 | "requires": { 2966 | "mimic-fn": "^2.1.0" 2967 | } 2968 | }, 2969 | "strip-final-newline": { 2970 | "version": "2.0.0", 2971 | "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", 2972 | "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", 2973 | "dev": true 2974 | } 2975 | } 2976 | }, 2977 | "cliui": { 2978 | "version": "8.0.1", 2979 | "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", 2980 | "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", 2981 | "dev": true, 2982 | "requires": { 2983 | "string-width": "^4.2.0", 2984 | "strip-ansi": "^6.0.1", 2985 | "wrap-ansi": "^7.0.0" 2986 | }, 2987 | "dependencies": { 2988 | "emoji-regex": { 2989 | "version": "8.0.0", 2990 | "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", 2991 | "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", 2992 | "dev": true 2993 | }, 2994 | "string-width": { 2995 | "version": "4.2.3", 2996 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", 2997 | "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", 2998 | "dev": true, 2999 | "requires": { 3000 | "emoji-regex": "^8.0.0", 3001 | "is-fullwidth-code-point": "^3.0.0", 3002 | "strip-ansi": "^6.0.1" 3003 | } 3004 | }, 3005 | "strip-ansi": { 3006 | "version": "6.0.1", 3007 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", 3008 | "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", 3009 | "dev": true, 3010 | "requires": { 3011 | "ansi-regex": "^5.0.1" 3012 | } 3013 | }, 3014 | "wrap-ansi": { 3015 | "version": "7.0.0", 3016 | "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", 3017 | "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", 3018 | "dev": true, 3019 | "requires": { 3020 | "ansi-styles": "^4.0.0", 3021 | "string-width": "^4.1.0", 3022 | "strip-ansi": "^6.0.0" 3023 | } 3024 | } 3025 | } 3026 | }, 3027 | "color-convert": { 3028 | "version": "2.0.1", 3029 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", 3030 | "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", 3031 | "dev": true, 3032 | "requires": { 3033 | "color-name": "~1.1.4" 3034 | } 3035 | }, 3036 | "color-name": { 3037 | "version": "1.1.4", 3038 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", 3039 | "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", 3040 | "dev": true 3041 | }, 3042 | "compressible": { 3043 | "version": "2.0.18", 3044 | "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", 3045 | "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", 3046 | "dev": true, 3047 | "requires": { 3048 | "mime-db": ">= 1.43.0 < 2" 3049 | } 3050 | }, 3051 | "compression": { 3052 | "version": "1.7.4", 3053 | "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", 3054 | "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", 3055 | "dev": true, 3056 | "requires": { 3057 | "accepts": "~1.3.5", 3058 | "bytes": "3.0.0", 3059 | "compressible": "~2.0.16", 3060 | "debug": "2.6.9", 3061 | "on-headers": "~1.0.2", 3062 | "safe-buffer": "5.1.2", 3063 | "vary": "~1.1.2" 3064 | }, 3065 | "dependencies": { 3066 | "debug": { 3067 | "version": "2.6.9", 3068 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", 3069 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", 3070 | "dev": true, 3071 | "requires": { 3072 | "ms": "2.0.0" 3073 | } 3074 | }, 3075 | "ms": { 3076 | "version": "2.0.0", 3077 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", 3078 | "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", 3079 | "dev": true 3080 | } 3081 | } 3082 | }, 3083 | "concat-map": { 3084 | "version": "0.0.1", 3085 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", 3086 | "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", 3087 | "dev": true 3088 | }, 3089 | "concurrently": { 3090 | "version": "8.2.0", 3091 | "resolved": "https://registry.npmjs.org/concurrently/-/concurrently-8.2.0.tgz", 3092 | "integrity": "sha512-nnLMxO2LU492mTUj9qX/az/lESonSZu81UznYDoXtz1IQf996ixVqPAgHXwvHiHCAef/7S8HIK+fTFK7Ifk8YA==", 3093 | "dev": true, 3094 | "requires": { 3095 | "chalk": "^4.1.2", 3096 | "date-fns": "^2.30.0", 3097 | "lodash": "^4.17.21", 3098 | "rxjs": "^7.8.1", 3099 | "shell-quote": "^1.8.1", 3100 | "spawn-command": "0.0.2", 3101 | "supports-color": "^8.1.1", 3102 | "tree-kill": "^1.2.2", 3103 | "yargs": "^17.7.2" 3104 | } 3105 | }, 3106 | "content-disposition": { 3107 | "version": "0.5.2", 3108 | "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz", 3109 | "integrity": "sha512-kRGRZw3bLlFISDBgwTSA1TMBFN6J6GWDeubmDE3AF+3+yXL8hTWv8r5rkLbqYXY4RjPk/EzHnClI3zQf1cFmHA==", 3110 | "dev": true 3111 | }, 3112 | "cross-spawn": { 3113 | "version": "7.0.3", 3114 | "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", 3115 | "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", 3116 | "dev": true, 3117 | "requires": { 3118 | "path-key": "^3.1.0", 3119 | "shebang-command": "^2.0.0", 3120 | "which": "^2.0.1" 3121 | } 3122 | }, 3123 | "date-fns": { 3124 | "version": "2.30.0", 3125 | "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.30.0.tgz", 3126 | "integrity": "sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==", 3127 | "dev": true, 3128 | "requires": { 3129 | "@babel/runtime": "^7.21.0" 3130 | } 3131 | }, 3132 | "deep-extend": { 3133 | "version": "0.6.0", 3134 | "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", 3135 | "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", 3136 | "dev": true 3137 | }, 3138 | "define-lazy-prop": { 3139 | "version": "2.0.0", 3140 | "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", 3141 | "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", 3142 | "dev": true 3143 | }, 3144 | "detect-indent": { 3145 | "version": "7.0.1", 3146 | "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-7.0.1.tgz", 3147 | "integrity": "sha512-Mc7QhQ8s+cLrnUfU/Ji94vG/r8M26m8f++vyres4ZoojaRDpZ1eSIh/EpzLNwlWuvzSZ3UbDFspjFvTDXe6e/g==", 3148 | "dev": true 3149 | }, 3150 | "detect-newline": { 3151 | "version": "4.0.0", 3152 | "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-4.0.0.tgz", 3153 | "integrity": "sha512-1aXUEPdfGdzVPFpzGJJNgq9o81bGg1s09uxTWsqBlo9PI332uyJRQq13+LK/UN4JfxJbFdCXonUFQ9R/p7yCtw==", 3154 | "dev": true 3155 | }, 3156 | "dir-glob": { 3157 | "version": "3.0.1", 3158 | "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", 3159 | "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", 3160 | "dev": true, 3161 | "requires": { 3162 | "path-type": "^4.0.0" 3163 | } 3164 | }, 3165 | "eastasianwidth": { 3166 | "version": "0.2.0", 3167 | "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", 3168 | "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", 3169 | "dev": true 3170 | }, 3171 | "emoji-regex": { 3172 | "version": "9.2.2", 3173 | "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", 3174 | "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", 3175 | "dev": true 3176 | }, 3177 | "esbuild": { 3178 | "version": "0.18.20", 3179 | "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.20.tgz", 3180 | "integrity": "sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==", 3181 | "dev": true, 3182 | "requires": { 3183 | "@esbuild/android-arm": "0.18.20", 3184 | "@esbuild/android-arm64": "0.18.20", 3185 | "@esbuild/android-x64": "0.18.20", 3186 | "@esbuild/darwin-arm64": "0.18.20", 3187 | "@esbuild/darwin-x64": "0.18.20", 3188 | "@esbuild/freebsd-arm64": "0.18.20", 3189 | "@esbuild/freebsd-x64": "0.18.20", 3190 | "@esbuild/linux-arm": "0.18.20", 3191 | "@esbuild/linux-arm64": "0.18.20", 3192 | "@esbuild/linux-ia32": "0.18.20", 3193 | "@esbuild/linux-loong64": "0.18.20", 3194 | "@esbuild/linux-mips64el": "0.18.20", 3195 | "@esbuild/linux-ppc64": "0.18.20", 3196 | "@esbuild/linux-riscv64": "0.18.20", 3197 | "@esbuild/linux-s390x": "0.18.20", 3198 | "@esbuild/linux-x64": "0.18.20", 3199 | "@esbuild/netbsd-x64": "0.18.20", 3200 | "@esbuild/openbsd-x64": "0.18.20", 3201 | "@esbuild/sunos-x64": "0.18.20", 3202 | "@esbuild/win32-arm64": "0.18.20", 3203 | "@esbuild/win32-ia32": "0.18.20", 3204 | "@esbuild/win32-x64": "0.18.20" 3205 | } 3206 | }, 3207 | "escalade": { 3208 | "version": "3.1.1", 3209 | "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", 3210 | "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", 3211 | "dev": true 3212 | }, 3213 | "fast-deep-equal": { 3214 | "version": "3.1.3", 3215 | "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", 3216 | "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", 3217 | "dev": true 3218 | }, 3219 | "fast-glob": { 3220 | "version": "3.2.12", 3221 | "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz", 3222 | "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==", 3223 | "dev": true, 3224 | "requires": { 3225 | "@nodelib/fs.stat": "^2.0.2", 3226 | "@nodelib/fs.walk": "^1.2.3", 3227 | "glob-parent": "^5.1.2", 3228 | "merge2": "^1.3.0", 3229 | "micromatch": "^4.0.4" 3230 | } 3231 | }, 3232 | "fast-url-parser": { 3233 | "version": "1.1.3", 3234 | "resolved": "https://registry.npmjs.org/fast-url-parser/-/fast-url-parser-1.1.3.tgz", 3235 | "integrity": "sha512-5jOCVXADYNuRkKFzNJ0dCCewsZiYo0dz8QNYljkOpFC6r2U4OBmKtvm/Tsuh4w1YYdDqDb31a8TVhBJ2OJKdqQ==", 3236 | "dev": true, 3237 | "requires": { 3238 | "punycode": "^1.3.2" 3239 | } 3240 | }, 3241 | "fastq": { 3242 | "version": "1.15.0", 3243 | "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", 3244 | "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", 3245 | "dev": true, 3246 | "requires": { 3247 | "reusify": "^1.0.4" 3248 | } 3249 | }, 3250 | "fill-range": { 3251 | "version": "7.0.1", 3252 | "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", 3253 | "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", 3254 | "dev": true, 3255 | "requires": { 3256 | "to-regex-range": "^5.0.1" 3257 | } 3258 | }, 3259 | "fsevents": { 3260 | "version": "2.3.2", 3261 | "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", 3262 | "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", 3263 | "dev": true, 3264 | "optional": true 3265 | }, 3266 | "get-caller-file": { 3267 | "version": "2.0.5", 3268 | "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", 3269 | "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", 3270 | "dev": true 3271 | }, 3272 | "get-stream": { 3273 | "version": "6.0.1", 3274 | "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", 3275 | "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", 3276 | "dev": true 3277 | }, 3278 | "git-hooks-list": { 3279 | "version": "3.1.0", 3280 | "resolved": "https://registry.npmjs.org/git-hooks-list/-/git-hooks-list-3.1.0.tgz", 3281 | "integrity": "sha512-LF8VeHeR7v+wAbXqfgRlTSX/1BJR9Q1vEMR8JAz1cEg6GX07+zyj3sAdDvYjj/xnlIfVuGgj4qBei1K3hKH+PA==", 3282 | "dev": true 3283 | }, 3284 | "github-markdown-css": { 3285 | "version": "5.2.0", 3286 | "resolved": "https://registry.npmjs.org/github-markdown-css/-/github-markdown-css-5.2.0.tgz", 3287 | "integrity": "sha512-hq5RaCInSUZ48bImOZpkppW2/MT44StRgsbsZ8YA4vJFwLKB/Vo3k7R2t+pUGqO+ThG0QDMi96TewV/B3vyItg==" 3288 | }, 3289 | "glob-parent": { 3290 | "version": "5.1.2", 3291 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", 3292 | "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", 3293 | "dev": true, 3294 | "requires": { 3295 | "is-glob": "^4.0.1" 3296 | } 3297 | }, 3298 | "globalyzer": { 3299 | "version": "0.1.0", 3300 | "resolved": "https://registry.npmjs.org/globalyzer/-/globalyzer-0.1.0.tgz", 3301 | "integrity": "sha512-40oNTM9UfG6aBmuKxk/giHn5nQ8RVz/SS4Ir6zgzOv9/qC3kKZ9v4etGTcJbEl/NyVQH7FGU7d+X1egr57Md2Q==", 3302 | "dev": true 3303 | }, 3304 | "globby": { 3305 | "version": "13.1.3", 3306 | "resolved": "https://registry.npmjs.org/globby/-/globby-13.1.3.tgz", 3307 | "integrity": "sha512-8krCNHXvlCgHDpegPzleMq07yMYTO2sXKASmZmquEYWEmCx6J5UTRbp5RwMJkTJGtcQ44YpiUYUiN0b9mzy8Bw==", 3308 | "dev": true, 3309 | "requires": { 3310 | "dir-glob": "^3.0.1", 3311 | "fast-glob": "^3.2.11", 3312 | "ignore": "^5.2.0", 3313 | "merge2": "^1.4.1", 3314 | "slash": "^4.0.0" 3315 | } 3316 | }, 3317 | "globrex": { 3318 | "version": "0.1.2", 3319 | "resolved": "https://registry.npmjs.org/globrex/-/globrex-0.1.2.tgz", 3320 | "integrity": "sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==", 3321 | "dev": true 3322 | }, 3323 | "has-flag": { 3324 | "version": "4.0.0", 3325 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", 3326 | "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", 3327 | "dev": true 3328 | }, 3329 | "ignore": { 3330 | "version": "5.2.4", 3331 | "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", 3332 | "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", 3333 | "dev": true 3334 | }, 3335 | "immutable": { 3336 | "version": "4.3.0", 3337 | "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.0.tgz", 3338 | "integrity": "sha512-0AOCmOip+xgJwEVTQj1EfiDDOkPmuyllDuTuEX+DDXUgapLAsBIfkg3sxCYyCEA8mQqZrrxPUGjcOQ2JS3WLkg==", 3339 | "dev": true, 3340 | "optional": true, 3341 | "peer": true 3342 | }, 3343 | "ini": { 3344 | "version": "1.3.8", 3345 | "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", 3346 | "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", 3347 | "dev": true 3348 | }, 3349 | "is-binary-path": { 3350 | "version": "2.1.0", 3351 | "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", 3352 | "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", 3353 | "dev": true, 3354 | "optional": true, 3355 | "peer": true, 3356 | "requires": { 3357 | "binary-extensions": "^2.0.0" 3358 | } 3359 | }, 3360 | "is-docker": { 3361 | "version": "2.2.1", 3362 | "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", 3363 | "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", 3364 | "dev": true 3365 | }, 3366 | "is-extglob": { 3367 | "version": "2.1.1", 3368 | "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", 3369 | "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", 3370 | "dev": true 3371 | }, 3372 | "is-fullwidth-code-point": { 3373 | "version": "3.0.0", 3374 | "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", 3375 | "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", 3376 | "dev": true 3377 | }, 3378 | "is-glob": { 3379 | "version": "4.0.3", 3380 | "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", 3381 | "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", 3382 | "dev": true, 3383 | "requires": { 3384 | "is-extglob": "^2.1.1" 3385 | } 3386 | }, 3387 | "is-number": { 3388 | "version": "7.0.0", 3389 | "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", 3390 | "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", 3391 | "dev": true 3392 | }, 3393 | "is-plain-obj": { 3394 | "version": "4.1.0", 3395 | "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", 3396 | "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", 3397 | "dev": true 3398 | }, 3399 | "is-port-reachable": { 3400 | "version": "4.0.0", 3401 | "resolved": "https://registry.npmjs.org/is-port-reachable/-/is-port-reachable-4.0.0.tgz", 3402 | "integrity": "sha512-9UoipoxYmSk6Xy7QFgRv2HDyaysmgSG75TFQs6S+3pDM7ZhKTF/bskZV+0UlABHzKjNVhPjYCLfeZUEg1wXxig==", 3403 | "dev": true 3404 | }, 3405 | "is-wsl": { 3406 | "version": "2.2.0", 3407 | "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", 3408 | "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", 3409 | "dev": true, 3410 | "requires": { 3411 | "is-docker": "^2.0.0" 3412 | } 3413 | }, 3414 | "isexe": { 3415 | "version": "2.0.0", 3416 | "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", 3417 | "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", 3418 | "dev": true 3419 | }, 3420 | "json-schema-traverse": { 3421 | "version": "1.0.0", 3422 | "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", 3423 | "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", 3424 | "dev": true 3425 | }, 3426 | "lodash": { 3427 | "version": "4.17.21", 3428 | "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", 3429 | "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", 3430 | "dev": true 3431 | }, 3432 | "marked": { 3433 | "version": "4.3.0", 3434 | "resolved": "https://registry.npmjs.org/marked/-/marked-4.3.0.tgz", 3435 | "integrity": "sha512-PRsaiG84bK+AMvxziE/lCFss8juXjNaWzVbN5tXAm4XjeaS9NAHhop+PjQxz2A9h8Q4M/xGmzP8vqNwy6JeK0A==" 3436 | }, 3437 | "merge-stream": { 3438 | "version": "2.0.0", 3439 | "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", 3440 | "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", 3441 | "dev": true 3442 | }, 3443 | "merge2": { 3444 | "version": "1.4.1", 3445 | "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", 3446 | "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", 3447 | "dev": true 3448 | }, 3449 | "micromatch": { 3450 | "version": "4.0.5", 3451 | "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", 3452 | "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", 3453 | "dev": true, 3454 | "requires": { 3455 | "braces": "^3.0.2", 3456 | "picomatch": "^2.3.1" 3457 | } 3458 | }, 3459 | "mime-db": { 3460 | "version": "1.52.0", 3461 | "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", 3462 | "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", 3463 | "dev": true 3464 | }, 3465 | "mime-types": { 3466 | "version": "2.1.35", 3467 | "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", 3468 | "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", 3469 | "dev": true, 3470 | "requires": { 3471 | "mime-db": "1.52.0" 3472 | } 3473 | }, 3474 | "minimatch": { 3475 | "version": "3.1.2", 3476 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", 3477 | "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", 3478 | "dev": true, 3479 | "requires": { 3480 | "brace-expansion": "^1.1.7" 3481 | } 3482 | }, 3483 | "minimist": { 3484 | "version": "1.2.8", 3485 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", 3486 | "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", 3487 | "dev": true 3488 | }, 3489 | "nanoid": { 3490 | "version": "3.3.6", 3491 | "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", 3492 | "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==", 3493 | "dev": true 3494 | }, 3495 | "negotiator": { 3496 | "version": "0.6.3", 3497 | "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", 3498 | "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", 3499 | "dev": true 3500 | }, 3501 | "normalize-path": { 3502 | "version": "3.0.0", 3503 | "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", 3504 | "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", 3505 | "dev": true, 3506 | "optional": true, 3507 | "peer": true 3508 | }, 3509 | "on-headers": { 3510 | "version": "1.0.2", 3511 | "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", 3512 | "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", 3513 | "dev": true 3514 | }, 3515 | "open": { 3516 | "version": "8.4.2", 3517 | "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz", 3518 | "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==", 3519 | "dev": true, 3520 | "requires": { 3521 | "define-lazy-prop": "^2.0.0", 3522 | "is-docker": "^2.1.1", 3523 | "is-wsl": "^2.2.0" 3524 | } 3525 | }, 3526 | "path-is-inside": { 3527 | "version": "1.0.2", 3528 | "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", 3529 | "integrity": "sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w==", 3530 | "dev": true 3531 | }, 3532 | "path-key": { 3533 | "version": "3.1.1", 3534 | "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", 3535 | "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", 3536 | "dev": true 3537 | }, 3538 | "path-to-regexp": { 3539 | "version": "2.2.1", 3540 | "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-2.2.1.tgz", 3541 | "integrity": "sha512-gu9bD6Ta5bwGrrU8muHzVOBFFREpp2iRkVfhBJahwJ6p6Xw20SjT0MxLnwkjOibQmGSYhiUnf2FLe7k+jcFmGQ==", 3542 | "dev": true 3543 | }, 3544 | "path-type": { 3545 | "version": "4.0.0", 3546 | "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", 3547 | "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", 3548 | "dev": true 3549 | }, 3550 | "picocolors": { 3551 | "version": "1.0.0", 3552 | "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", 3553 | "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", 3554 | "dev": true 3555 | }, 3556 | "picomatch": { 3557 | "version": "2.3.1", 3558 | "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", 3559 | "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", 3560 | "dev": true 3561 | }, 3562 | "postcss": { 3563 | "version": "8.4.31", 3564 | "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz", 3565 | "integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==", 3566 | "dev": true, 3567 | "requires": { 3568 | "nanoid": "^3.3.6", 3569 | "picocolors": "^1.0.0", 3570 | "source-map-js": "^1.0.2" 3571 | } 3572 | }, 3573 | "prettier": { 3574 | "version": "2.8.8", 3575 | "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", 3576 | "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", 3577 | "dev": true 3578 | }, 3579 | "prettier-plugin-packagejson": { 3580 | "version": "2.4.3", 3581 | "resolved": "https://registry.npmjs.org/prettier-plugin-packagejson/-/prettier-plugin-packagejson-2.4.3.tgz", 3582 | "integrity": "sha512-kPeeviJiwy0BgOSk7No8NmzzXfW4R9FYWni6ziA5zc1kGVVrKnBzMZdu2TUhI+I7h8/5Htt3vARYOk7KKJTTNQ==", 3583 | "dev": true, 3584 | "requires": { 3585 | "sort-package-json": "2.4.1", 3586 | "synckit": "0.8.5" 3587 | } 3588 | }, 3589 | "punycode": { 3590 | "version": "1.4.1", 3591 | "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", 3592 | "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==", 3593 | "dev": true 3594 | }, 3595 | "queue-microtask": { 3596 | "version": "1.2.3", 3597 | "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", 3598 | "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", 3599 | "dev": true 3600 | }, 3601 | "range-parser": { 3602 | "version": "1.2.0", 3603 | "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz", 3604 | "integrity": "sha512-kA5WQoNVo4t9lNx2kQNFCxKeBl5IbbSNBl1M/tLkw9WCn+hxNBAW5Qh8gdhs63CJnhjJ2zQWFoqPJP2sK1AV5A==", 3605 | "dev": true 3606 | }, 3607 | "rc": { 3608 | "version": "1.2.8", 3609 | "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", 3610 | "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", 3611 | "dev": true, 3612 | "requires": { 3613 | "deep-extend": "^0.6.0", 3614 | "ini": "~1.3.0", 3615 | "minimist": "^1.2.0", 3616 | "strip-json-comments": "~2.0.1" 3617 | } 3618 | }, 3619 | "readdirp": { 3620 | "version": "3.6.0", 3621 | "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", 3622 | "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", 3623 | "dev": true, 3624 | "optional": true, 3625 | "peer": true, 3626 | "requires": { 3627 | "picomatch": "^2.2.1" 3628 | } 3629 | }, 3630 | "regenerator-runtime": { 3631 | "version": "0.13.11", 3632 | "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", 3633 | "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==", 3634 | "dev": true 3635 | }, 3636 | "registry-auth-token": { 3637 | "version": "3.3.2", 3638 | "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-3.3.2.tgz", 3639 | "integrity": "sha512-JL39c60XlzCVgNrO+qq68FoNb56w/m7JYvGR2jT5iR1xBrUA3Mfx5Twk5rqTThPmQKMWydGmq8oFtDlxfrmxnQ==", 3640 | "dev": true, 3641 | "requires": { 3642 | "rc": "^1.1.6", 3643 | "safe-buffer": "^5.0.1" 3644 | } 3645 | }, 3646 | "registry-url": { 3647 | "version": "3.1.0", 3648 | "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-3.1.0.tgz", 3649 | "integrity": "sha512-ZbgR5aZEdf4UKZVBPYIgaglBmSF2Hi94s2PcIHhRGFjKYu+chjJdYfHn4rt3hB6eCKLJ8giVIIfgMa1ehDfZKA==", 3650 | "dev": true, 3651 | "requires": { 3652 | "rc": "^1.0.1" 3653 | } 3654 | }, 3655 | "require-directory": { 3656 | "version": "2.1.1", 3657 | "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", 3658 | "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", 3659 | "dev": true 3660 | }, 3661 | "require-from-string": { 3662 | "version": "2.0.2", 3663 | "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", 3664 | "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", 3665 | "dev": true 3666 | }, 3667 | "reusify": { 3668 | "version": "1.0.4", 3669 | "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", 3670 | "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", 3671 | "dev": true 3672 | }, 3673 | "rollup": { 3674 | "version": "3.29.4", 3675 | "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.29.4.tgz", 3676 | "integrity": "sha512-oWzmBZwvYrU0iJHtDmhsm662rC15FRXmcjCk1xD771dFDx5jJ02ufAQQTn0etB2emNk4J9EZg/yWKpsn9BWGRw==", 3677 | "dev": true, 3678 | "requires": { 3679 | "fsevents": "~2.3.2" 3680 | } 3681 | }, 3682 | "run-parallel": { 3683 | "version": "1.2.0", 3684 | "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", 3685 | "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", 3686 | "dev": true, 3687 | "requires": { 3688 | "queue-microtask": "^1.2.2" 3689 | } 3690 | }, 3691 | "rxjs": { 3692 | "version": "7.8.1", 3693 | "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", 3694 | "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", 3695 | "dev": true, 3696 | "requires": { 3697 | "tslib": "^2.1.0" 3698 | } 3699 | }, 3700 | "safe-buffer": { 3701 | "version": "5.1.2", 3702 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", 3703 | "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", 3704 | "dev": true 3705 | }, 3706 | "sass": { 3707 | "version": "1.59.3", 3708 | "resolved": "https://registry.npmjs.org/sass/-/sass-1.59.3.tgz", 3709 | "integrity": "sha512-QCq98N3hX1jfTCoUAsF3eyGuXLsY7BCnCEg9qAact94Yc21npG2/mVOqoDvE0fCbWDqiM4WlcJQla0gWG2YlxQ==", 3710 | "dev": true, 3711 | "optional": true, 3712 | "peer": true, 3713 | "requires": { 3714 | "chokidar": ">=3.0.0 <4.0.0", 3715 | "immutable": "^4.0.0", 3716 | "source-map-js": ">=0.6.2 <2.0.0" 3717 | } 3718 | }, 3719 | "serve": { 3720 | "version": "14.2.0", 3721 | "resolved": "https://registry.npmjs.org/serve/-/serve-14.2.0.tgz", 3722 | "integrity": "sha512-+HOw/XK1bW8tw5iBilBz/mJLWRzM8XM6MPxL4J/dKzdxq1vfdEWSwhaR7/yS8EJp5wzvP92p1qirysJvnEtjXg==", 3723 | "dev": true, 3724 | "requires": { 3725 | "@zeit/schemas": "2.29.0", 3726 | "ajv": "8.11.0", 3727 | "arg": "5.0.2", 3728 | "boxen": "7.0.0", 3729 | "chalk": "5.0.1", 3730 | "chalk-template": "0.4.0", 3731 | "clipboardy": "3.0.0", 3732 | "compression": "1.7.4", 3733 | "is-port-reachable": "4.0.0", 3734 | "serve-handler": "6.1.5", 3735 | "update-check": "1.5.4" 3736 | }, 3737 | "dependencies": { 3738 | "chalk": { 3739 | "version": "5.0.1", 3740 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.0.1.tgz", 3741 | "integrity": "sha512-Fo07WOYGqMfCWHOzSXOt2CxDbC6skS/jO9ynEcmpANMoPrD+W1r1K6Vx7iNm+AQmETU1Xr2t+n8nzkV9t6xh3w==", 3742 | "dev": true 3743 | } 3744 | } 3745 | }, 3746 | "serve-handler": { 3747 | "version": "6.1.5", 3748 | "resolved": "https://registry.npmjs.org/serve-handler/-/serve-handler-6.1.5.tgz", 3749 | "integrity": "sha512-ijPFle6Hwe8zfmBxJdE+5fta53fdIY0lHISJvuikXB3VYFafRjMRpOffSPvCYsbKyBA7pvy9oYr/BT1O3EArlg==", 3750 | "dev": true, 3751 | "requires": { 3752 | "bytes": "3.0.0", 3753 | "content-disposition": "0.5.2", 3754 | "fast-url-parser": "1.1.3", 3755 | "mime-types": "2.1.18", 3756 | "minimatch": "3.1.2", 3757 | "path-is-inside": "1.0.2", 3758 | "path-to-regexp": "2.2.1", 3759 | "range-parser": "1.2.0" 3760 | }, 3761 | "dependencies": { 3762 | "mime-db": { 3763 | "version": "1.33.0", 3764 | "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz", 3765 | "integrity": "sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==", 3766 | "dev": true 3767 | }, 3768 | "mime-types": { 3769 | "version": "2.1.18", 3770 | "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz", 3771 | "integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==", 3772 | "dev": true, 3773 | "requires": { 3774 | "mime-db": "~1.33.0" 3775 | } 3776 | } 3777 | } 3778 | }, 3779 | "shebang-command": { 3780 | "version": "2.0.0", 3781 | "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", 3782 | "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", 3783 | "dev": true, 3784 | "requires": { 3785 | "shebang-regex": "^3.0.0" 3786 | } 3787 | }, 3788 | "shebang-regex": { 3789 | "version": "3.0.0", 3790 | "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", 3791 | "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", 3792 | "dev": true 3793 | }, 3794 | "shell-quote": { 3795 | "version": "1.8.1", 3796 | "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz", 3797 | "integrity": "sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==", 3798 | "dev": true 3799 | }, 3800 | "signal-exit": { 3801 | "version": "3.0.7", 3802 | "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", 3803 | "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", 3804 | "dev": true 3805 | }, 3806 | "slash": { 3807 | "version": "4.0.0", 3808 | "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", 3809 | "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", 3810 | "dev": true 3811 | }, 3812 | "sort-object-keys": { 3813 | "version": "1.1.3", 3814 | "resolved": "https://registry.npmjs.org/sort-object-keys/-/sort-object-keys-1.1.3.tgz", 3815 | "integrity": "sha512-855pvK+VkU7PaKYPc+Jjnmt4EzejQHyhhF33q31qG8x7maDzkeFhAAThdCYay11CISO+qAMwjOBP+fPZe0IPyg==", 3816 | "dev": true 3817 | }, 3818 | "sort-package-json": { 3819 | "version": "2.4.1", 3820 | "resolved": "https://registry.npmjs.org/sort-package-json/-/sort-package-json-2.4.1.tgz", 3821 | "integrity": "sha512-Nd3rgLBJcZ4iw7tpuOhwBupG6SvUDU0Fy1cZGAMorA2JmDUb+29Dg5phJK9gapa2Ak9d15w/RuMl/viwX+nKwQ==", 3822 | "dev": true, 3823 | "requires": { 3824 | "detect-indent": "^7.0.1", 3825 | "detect-newline": "^4.0.0", 3826 | "git-hooks-list": "^3.0.0", 3827 | "globby": "^13.1.2", 3828 | "is-plain-obj": "^4.1.0", 3829 | "sort-object-keys": "^1.1.3" 3830 | } 3831 | }, 3832 | "source-map-js": { 3833 | "version": "1.0.2", 3834 | "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", 3835 | "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", 3836 | "dev": true 3837 | }, 3838 | "spawn-command": { 3839 | "version": "0.0.2", 3840 | "resolved": "https://registry.npmjs.org/spawn-command/-/spawn-command-0.0.2.tgz", 3841 | "integrity": "sha512-zC8zGoGkmc8J9ndvml8Xksr1Amk9qBujgbF0JAIWO7kXr43w0h/0GJNM/Vustixu+YE8N/MTrQ7N31FvHUACxQ==", 3842 | "dev": true 3843 | }, 3844 | "string-width": { 3845 | "version": "5.1.2", 3846 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", 3847 | "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", 3848 | "dev": true, 3849 | "requires": { 3850 | "eastasianwidth": "^0.2.0", 3851 | "emoji-regex": "^9.2.2", 3852 | "strip-ansi": "^7.0.1" 3853 | } 3854 | }, 3855 | "strip-ansi": { 3856 | "version": "7.0.1", 3857 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz", 3858 | "integrity": "sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==", 3859 | "dev": true, 3860 | "requires": { 3861 | "ansi-regex": "^6.0.1" 3862 | }, 3863 | "dependencies": { 3864 | "ansi-regex": { 3865 | "version": "6.0.1", 3866 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", 3867 | "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", 3868 | "dev": true 3869 | } 3870 | } 3871 | }, 3872 | "strip-json-comments": { 3873 | "version": "2.0.1", 3874 | "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", 3875 | "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", 3876 | "dev": true 3877 | }, 3878 | "supports-color": { 3879 | "version": "8.1.1", 3880 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", 3881 | "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", 3882 | "dev": true, 3883 | "requires": { 3884 | "has-flag": "^4.0.0" 3885 | } 3886 | }, 3887 | "synckit": { 3888 | "version": "0.8.5", 3889 | "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.8.5.tgz", 3890 | "integrity": "sha512-L1dapNV6vu2s/4Sputv8xGsCdAVlb5nRDMFU/E27D44l5U6cw1g0dGd45uLc+OXjNMmF4ntiMdCimzcjFKQI8Q==", 3891 | "dev": true, 3892 | "requires": { 3893 | "@pkgr/utils": "^2.3.1", 3894 | "tslib": "^2.5.0" 3895 | } 3896 | }, 3897 | "tiny-glob": { 3898 | "version": "0.2.9", 3899 | "resolved": "https://registry.npmjs.org/tiny-glob/-/tiny-glob-0.2.9.tgz", 3900 | "integrity": "sha512-g/55ssRPUjShh+xkfx9UPDXqhckHEsHr4Vd9zX55oSdGZc/MD0m3sferOkwWtp98bv+kcVfEHtRJgBVJzelrzg==", 3901 | "dev": true, 3902 | "requires": { 3903 | "globalyzer": "0.1.0", 3904 | "globrex": "^0.1.2" 3905 | } 3906 | }, 3907 | "to-regex-range": { 3908 | "version": "5.0.1", 3909 | "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", 3910 | "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", 3911 | "dev": true, 3912 | "requires": { 3913 | "is-number": "^7.0.0" 3914 | } 3915 | }, 3916 | "tree-kill": { 3917 | "version": "1.2.2", 3918 | "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz", 3919 | "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==", 3920 | "dev": true 3921 | }, 3922 | "tslib": { 3923 | "version": "2.5.0", 3924 | "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", 3925 | "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", 3926 | "dev": true 3927 | }, 3928 | "type-fest": { 3929 | "version": "2.19.0", 3930 | "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz", 3931 | "integrity": "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==", 3932 | "dev": true 3933 | }, 3934 | "update-check": { 3935 | "version": "1.5.4", 3936 | "resolved": "https://registry.npmjs.org/update-check/-/update-check-1.5.4.tgz", 3937 | "integrity": "sha512-5YHsflzHP4t1G+8WGPlvKbJEbAJGCgw+Em+dGR1KmBUbr1J36SJBqlHLjR7oob7sco5hWHGQVcr9B2poIVDDTQ==", 3938 | "dev": true, 3939 | "requires": { 3940 | "registry-auth-token": "3.3.2", 3941 | "registry-url": "3.1.0" 3942 | } 3943 | }, 3944 | "uri-js": { 3945 | "version": "4.4.1", 3946 | "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", 3947 | "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", 3948 | "dev": true, 3949 | "requires": { 3950 | "punycode": "^2.1.0" 3951 | }, 3952 | "dependencies": { 3953 | "punycode": { 3954 | "version": "2.3.0", 3955 | "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", 3956 | "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", 3957 | "dev": true 3958 | } 3959 | } 3960 | }, 3961 | "vary": { 3962 | "version": "1.1.2", 3963 | "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", 3964 | "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", 3965 | "dev": true 3966 | }, 3967 | "vite": { 3968 | "version": "4.5.3", 3969 | "resolved": "https://registry.npmjs.org/vite/-/vite-4.5.3.tgz", 3970 | "integrity": "sha512-kQL23kMeX92v3ph7IauVkXkikdDRsYMGTVl5KY2E9OY4ONLvkHf04MDTbnfo6NKxZiDLWzVpP5oTa8hQD8U3dg==", 3971 | "dev": true, 3972 | "requires": { 3973 | "esbuild": "^0.18.10", 3974 | "fsevents": "~2.3.2", 3975 | "postcss": "^8.4.27", 3976 | "rollup": "^3.27.1" 3977 | } 3978 | }, 3979 | "vite-plugin-css-injected-by-js": { 3980 | "version": "3.1.0", 3981 | "resolved": "https://registry.npmjs.org/vite-plugin-css-injected-by-js/-/vite-plugin-css-injected-by-js-3.1.0.tgz", 3982 | "integrity": "sha512-qogCmpocZfcbSAYZQjS88ieIY0PzLUm7RkLFWFgAxkXdz3N6roZbSTNTxeIOj5IxFbZWACUPuVBBoo6qCuXDcw==", 3983 | "dev": true, 3984 | "requires": {} 3985 | }, 3986 | "which": { 3987 | "version": "2.0.2", 3988 | "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", 3989 | "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", 3990 | "dev": true, 3991 | "requires": { 3992 | "isexe": "^2.0.0" 3993 | } 3994 | }, 3995 | "widest-line": { 3996 | "version": "4.0.1", 3997 | "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-4.0.1.tgz", 3998 | "integrity": "sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig==", 3999 | "dev": true, 4000 | "requires": { 4001 | "string-width": "^5.0.1" 4002 | } 4003 | }, 4004 | "wrap-ansi": { 4005 | "version": "8.1.0", 4006 | "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", 4007 | "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", 4008 | "dev": true, 4009 | "requires": { 4010 | "ansi-styles": "^6.1.0", 4011 | "string-width": "^5.0.1", 4012 | "strip-ansi": "^7.0.1" 4013 | }, 4014 | "dependencies": { 4015 | "ansi-styles": { 4016 | "version": "6.2.1", 4017 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", 4018 | "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", 4019 | "dev": true 4020 | } 4021 | } 4022 | }, 4023 | "y18n": { 4024 | "version": "5.0.8", 4025 | "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", 4026 | "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", 4027 | "dev": true 4028 | }, 4029 | "yargs": { 4030 | "version": "17.7.2", 4031 | "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", 4032 | "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", 4033 | "dev": true, 4034 | "requires": { 4035 | "cliui": "^8.0.1", 4036 | "escalade": "^3.1.1", 4037 | "get-caller-file": "^2.0.5", 4038 | "require-directory": "^2.1.1", 4039 | "string-width": "^4.2.3", 4040 | "y18n": "^5.0.5", 4041 | "yargs-parser": "^21.1.1" 4042 | }, 4043 | "dependencies": { 4044 | "emoji-regex": { 4045 | "version": "8.0.0", 4046 | "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", 4047 | "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", 4048 | "dev": true 4049 | }, 4050 | "string-width": { 4051 | "version": "4.2.3", 4052 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", 4053 | "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", 4054 | "dev": true, 4055 | "requires": { 4056 | "emoji-regex": "^8.0.0", 4057 | "is-fullwidth-code-point": "^3.0.0", 4058 | "strip-ansi": "^6.0.1" 4059 | } 4060 | }, 4061 | "strip-ansi": { 4062 | "version": "6.0.1", 4063 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", 4064 | "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", 4065 | "dev": true, 4066 | "requires": { 4067 | "ansi-regex": "^5.0.1" 4068 | } 4069 | } 4070 | } 4071 | }, 4072 | "yargs-parser": { 4073 | "version": "21.1.1", 4074 | "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", 4075 | "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", 4076 | "dev": true 4077 | } 4078 | } 4079 | } 4080 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ezmdpage", 3 | "version": "2.0.3", 4 | "description": "📝 Write raw Markdown in .html files that gets auto-rendered everywhere", 5 | "keywords": [ 6 | "html", 7 | "markdown", 8 | "renderer", 9 | "plaintext", 10 | "md", 11 | "offline-capable", 12 | "markdeep" 13 | ], 14 | "homepage": "https://github.com/togajam/ezmdpage#readme", 15 | "bugs": "https://github.com/togajam/ezmdpage/issues", 16 | "repository": "github:togajam/ezmdpage", 17 | "license": "MIT", 18 | "contributors": [ 19 | "Jacob Hummer <jcbhmr@outlook.com> (https://jcbhmr.me/)" 20 | ], 21 | "type": "module", 22 | "main": "dist/index.min.js", 23 | "files": [ 24 | "dist" 25 | ], 26 | "scripts": { 27 | "build": "vite build", 28 | "lint": "prettier -w --ignore-path .gitignore .", 29 | "test": "conc \"vite build -w\" \"serve test\"" 30 | }, 31 | "prettier": { 32 | "proseWrap": "always", 33 | "overrides": [ 34 | { 35 | "files": "*.html", 36 | "options": { 37 | "parser": "markdown" 38 | } 39 | } 40 | ] 41 | }, 42 | "dependencies": { 43 | "github-markdown-css": "^5.2.0", 44 | "marked": "^4.3.0" 45 | }, 46 | "devDependencies": { 47 | "@types/marked": "^5.0.0", 48 | "concurrently": "^8.2.0", 49 | "prettier": "^2.8.8", 50 | "prettier-plugin-packagejson": "^2.4.3", 51 | "serve": "^14.2.0", 52 | "vite": "^4.3.9", 53 | "vite-plugin-css-injected-by-js": "^3.1.0" 54 | } 55 | } 56 | -------------------------------------------------------------------------------- /src/index.css: -------------------------------------------------------------------------------- 1 | @import url("github-markdown-css"); 2 | 3 | html { 4 | box-sizing: border-box; 5 | min-width: 200px; 6 | max-width: 980px; 7 | margin: 0 auto; 8 | padding: 45px; 9 | } 10 | 11 | @media (prefers-color-scheme: dark) { 12 | html { 13 | background-color: #0d1117; 14 | } 15 | } 16 | 17 | pre code.hljs { 18 | padding: 0 !important; 19 | } 20 | -------------------------------------------------------------------------------- /src/index.js: -------------------------------------------------------------------------------- 1 | import { marked } from "marked"; 2 | import "./index.css"; 3 | 4 | const script = document.currentScript; 5 | 6 | async function main() { 7 | document.documentElement.hidden = true; 8 | try { 9 | if (document.readyState === "loading") { 10 | await new Promise((r) => 11 | document.addEventListener("DOMContentLoaded", r, { once: true }) 12 | ); 13 | } 14 | 15 | const plaintext = document.querySelector("plaintext"); 16 | if (!plaintext) { 17 | throw new DOMException("No <plaintext> element found", "NotFoundError"); 18 | } 19 | 20 | const html = marked(plaintext.textContent); 21 | const fragment = document.createRange().createContextualFragment(html); 22 | 23 | plaintext.replaceWith(fragment); 24 | script.remove(); 25 | document.body.classList.add("markdown-body"); 26 | 27 | document.title = document.querySelector("h1")?.innerText ?? "Document"; 28 | const headHTML = ` 29 | <meta charset="UTF-8" /> 30 | <meta name="viewport" content="width=device-width, initial-scale=1" /> 31 | `; 32 | document.head.insertAdjacentHTML("afterbegin", headHTML); 33 | 34 | // This will FAIL if the user isn't online. That's OK. They won't get pretty 35 | // syntax highlighting, but they'll still get the content. That's acceptable 36 | // (for now). Hopefully this will change to be all-in-one in the future. 37 | const highlightHTML = ` 38 | <link rel="stylesheet" media="(prefers-color-scheme: light)" href="https://unpkg.com/@highlightjs/cdn-assets@11/styles/github.min.css" /> 39 | <link rel="stylesheet" media="(prefers-color-scheme: dark)" href="https://unpkg.com/@highlightjs/cdn-assets@11/styles/github-dark.min.css" /> 40 | <script src="https://unpkg.com/@highlightjs/cdn-assets@11/highlight.min.js" onload="hljs.highlightAll()"></script> 41 | `; 42 | // https://stackoverflow.com/a/57211379/19522682 43 | document.head.append( 44 | document.createRange().createContextualFragment(highlightHTML) 45 | ); 46 | } finally { 47 | document.documentElement.hidden = false; 48 | } 49 | } 50 | main(); 51 | -------------------------------------------------------------------------------- /test/alpinejs.html: -------------------------------------------------------------------------------- 1 | <script src="https://unpkg.com/alpinejs@3"></script> 2 | <script src="ezmdpage.min.js"></script><plaintext /> 3 | 4 | <div align="center"> 5 | 6 | <!-- prettier-ignore --> 7 | [Test page](.) 8 | | [ezmdpage & Alpine.js](alpinejs.html) 9 | | [ezmdpage & Vue.js](vuejs.html) 10 | | [GitHub](https://github.com/togajam/ezmdpage) 11 | 12 | Try right-click and <kbd>View page source</kbd>! 13 | 14 | </div> 15 | 16 | # ezmdpage & Alpine.js 17 | 18 | https://alpinejs.dev/ 19 | 20 | <!-- prettier-ignore --> 21 | ```html 22 | <script src="https://unpkg.com/alpinejs@3"></script> 23 | <script src="https://unpkg.com/ezmdpage@2"></script><plaintext /> 24 | ``` 25 | 26 | There should be a paragraph below that has "I ❤️ Alpine" in it. It's rendered by 27 | Alpine.js. Here's the code: 28 | 29 | ```html 30 | <p x-data="{ message: 'I ❤️ Alpine' }" x-text="message"></p> 31 | ``` 32 | 33 | <p x-data="{ message: 'I ❤️ Alpine' }" x-text="message"></p> 34 | 35 | 👆 That's Alpine.js! This is just _plain Markdown_. You can mix the two! 36 | 37 | Here's some more Alpine.js things: 38 | 39 | ## Incrementing counter 40 | 41 | https://alpinejs.dev/start-here#building-a-counter 42 | 43 | <div x-data="{ count: 0 }"> 44 | <button x-on:click="count++">Increment</button> 45 | <span x-text="count"></span> 46 | </div> 47 | 48 | ## Search input 49 | 50 | https://alpinejs.dev/start-here#building-a-search-input 51 | 52 | <div x-data="{ 53 | search: '', 54 | items: ['foo', 'bar', 'baz'], 55 | get filteredItems() { 56 | return this.items.filter(i => i.startsWith(this.search)) 57 | } 58 | }"> 59 | <input x-model="search" placeholder="Search..."> 60 | <ul> 61 | <template x-for="item in filteredItems" :key="item"> 62 | <li x-text="item"></li> 63 | </template> 64 | </ul> 65 | </div> 66 | -------------------------------------------------------------------------------- /test/index.html: -------------------------------------------------------------------------------- 1 | <script src="ezmdpage.min.js"></script><plaintext /> 2 | 3 | <div align="center"> 4 | 5 | <!-- prettier-ignore --> 6 | [Test page](.) 7 | | [ezmdpage & Alpine.js](alpinejs.html) 8 | | [ezmdpage & Vue.js](vuejs.html) 9 | | [GitHub](https://github.com/togajam/ezmdpage) 10 | 11 | Try right-click and <kbd>View page source</kbd>! 12 | 13 | </div> 14 | 15 | <!-- https://github.com/fullpipe/markdown-test-page/blob/master/test-page.md --> 16 | 17 | # <a name="top"></a>Markdown Test Page 18 | 19 | - [Headings](#Headings) 20 | - [Paragraphs](#Paragraphs) 21 | - [Blockquotes](#Blockquotes) 22 | - [Lists](#Lists) 23 | - [Horizontal rule](#Horizontal) 24 | - [Table](#Table) 25 | - [Code](#Code) 26 | - [Inline elements](#Inline) 27 | 28 | --- 29 | 30 | # <a name="Headings"></a>Headings 31 | 32 | # Heading one 33 | 34 | Sint sit cillum pariatur eiusmod nulla pariatur ipsum. Sit laborum anim qui 35 | mollit tempor pariatur nisi minim dolor. Aliquip et adipisicing sit sit fugiat 36 | commodo id sunt. Nostrud enim ad commodo incididunt cupidatat in ullamco ullamco 37 | Lorem cupidatat velit enim et Lorem. Ut laborum cillum laboris fugiat culpa sint 38 | irure do reprehenderit culpa occaecat. Exercitation esse mollit tempor magna 39 | aliqua in occaecat aliquip veniam reprehenderit nisi dolor in laboris dolore 40 | velit. 41 | 42 | ## Heading two 43 | 44 | Aute officia nulla deserunt do deserunt cillum velit magna. Officia veniam culpa 45 | anim minim dolore labore pariatur voluptate id ad est duis quis velit dolor 46 | pariatur enim. Incididunt enim excepteur do veniam consequat culpa do voluptate 47 | dolor fugiat ad adipisicing sit. Labore officia est adipisicing dolore proident 48 | eiusmod exercitation deserunt ullamco anim do occaecat velit. Elit dolor 49 | consectetur proident sunt aliquip est do tempor quis aliqua culpa aute. Duis in 50 | tempor exercitation pariatur et adipisicing mollit irure tempor ut enim esse 51 | commodo laboris proident. Do excepteur laborum anim esse aliquip eu sit id Lorem 52 | incididunt elit irure ea nulla dolor et. Nulla amet fugiat qui minim deserunt 53 | enim eu cupidatat aute officia do velit ea reprehenderit. 54 | 55 | ### Heading three 56 | 57 | Voluptate cupidatat cillum elit quis ipsum eu voluptate fugiat consectetur enim. 58 | Quis ut voluptate culpa ex anim aute consectetur dolore proident voluptate 59 | exercitation eiusmod. Esse in do anim magna minim culpa sint. Adipisicing ipsum 60 | consectetur proident ullamco magna sit amet aliqua aute fugiat laborum 61 | exercitation duis et. 62 | 63 | #### Heading four 64 | 65 | Commodo fugiat aliqua minim quis pariatur mollit id tempor. Non occaecat minim 66 | esse enim aliqua adipisicing nostrud duis consequat eu adipisicing qui. Minim 67 | aliquip sit excepteur ipsum consequat laborum pariatur excepteur. Veniam fugiat 68 | et amet ad elit anim laborum duis mollit occaecat et et ipsum et reprehenderit. 69 | Occaecat aliquip dolore adipisicing sint labore occaecat officia fugiat. Quis 70 | adipisicing exercitation exercitation eu amet est laboris sunt nostrud ipsum 71 | reprehenderit ullamco. Enim sint ut consectetur id anim aute voluptate 72 | exercitation mollit dolore magna magna est Lorem. Ut adipisicing adipisicing 73 | aliqua ullamco voluptate labore nisi tempor esse magna incididunt. 74 | 75 | ##### Heading five 76 | 77 | Veniam enim esse amet veniam deserunt laboris amet enim consequat. Minim nostrud 78 | deserunt cillum consectetur commodo eu enim nostrud ullamco occaecat excepteur. 79 | Aliquip et ut est commodo enim dolor amet sint excepteur. Amet ad laboris 80 | laborum deserunt sint sunt aliqua commodo ex duis deserunt enim est ex labore 81 | ut. Duis incididunt velit adipisicing non incididunt adipisicing adipisicing. Ad 82 | irure duis nisi tempor eu dolor fugiat magna et consequat tempor eu ex dolore. 83 | Mollit esse nisi qui culpa ut nisi ex proident culpa cupidatat cillum culpa 84 | occaecat anim. Ut officia sit ea nisi ea excepteur nostrud ipsum et nulla. 85 | 86 | ###### Heading six 87 | 88 | Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor 89 | incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis 90 | nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. 91 | Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu 92 | fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in 93 | culpa qui officia deserunt mollit anim id est laborum. 94 | 95 | [[Top]](#top) 96 | 97 | # <a name="Paragraphs"></a>Paragraphs 98 | 99 | Incididunt ex adipisicing ea ullamco consectetur in voluptate proident fugiat 100 | tempor deserunt reprehenderit ullamco id dolore laborum. Do laboris laboris 101 | minim incididunt qui consectetur exercitation adipisicing dolore et magna 102 | consequat magna anim sunt. Officia fugiat Lorem sunt pariatur incididunt Lorem 103 | reprehenderit proident irure. Dolore ipsum aliqua mollit ad officia fugiat sit 104 | eu aliquip cupidatat ipsum duis laborum laborum fugiat esse. Voluptate anim ex 105 | dolore deserunt ea ex eiusmod irure. Occaecat excepteur aliqua exercitation 106 | aliquip dolor esse eu eu. 107 | 108 | Officia dolore laborum aute incididunt commodo nisi velit est est elit et dolore 109 | elit exercitation. Enim aliquip magna id ipsum aliquip consectetur ad nulla 110 | quis. Incididunt pariatur dolor consectetur cillum enim velit cupidatat laborum 111 | quis ex. 112 | 113 | Officia irure in non voluptate adipisicing sit amet tempor duis dolore deserunt 114 | enim ut. Reprehenderit incididunt in ad anim et deserunt deserunt Lorem laborum 115 | quis. Enim aute anim labore proident laboris voluptate elit excepteur in. Ex 116 | labore nulla velit officia ullamco Lorem Lorem id do. Dolore ullamco ipsum magna 117 | dolor pariatur voluptate ipsum id occaecat ipsum. Dolore tempor quis duis 118 | commodo quis quis enim. 119 | 120 | [[Top]](#top) 121 | 122 | # <a name="Blockquotes"></a>Blockquotes 123 | 124 | Ad nisi laborum aute cupidatat magna deserunt eu id laboris id. Aliquip nulla 125 | cupidatat sint ex Lorem mollit laborum dolor amet est ut esse aute. Nostrud ex 126 | consequat id incididunt proident ipsum minim duis aliqua ut ex et ad quis. 127 | Laborum sint esse cillum anim nulla cillum consectetur aliqua sit. Nisi 128 | excepteur cillum labore amet excepteur commodo enim occaecat consequat ipsum 129 | proident exercitation duis id in. 130 | 131 | > Ipsum et cupidatat mollit exercitation enim duis sunt irure aliqua 132 | > reprehenderit mollit. Pariatur Lorem pariatur laboris do culpa do elit irure. 133 | > Eiusmod amet nulla voluptate velit culpa et aliqua ad reprehenderit sit ut. 134 | 135 | Labore ea magna Lorem consequat aliquip consectetur cillum duis dolore. Et 136 | veniam dolor qui incididunt minim amet laboris sit. Dolore ad esse commodo et 137 | dolore amet est velit ut nisi ea. Excepteur ea nulla commodo dolore anim dolore 138 | adipisicing eiusmod labore id enim esse quis mollit deserunt est. Minim ea culpa 139 | voluptate nostrud commodo proident in duis aliquip minim. 140 | 141 | > Qui est sit et reprehenderit aute est esse enim aliqua id aliquip ea anim. 142 | > Pariatur sint reprehenderit mollit velit voluptate enim consectetur sint enim. 143 | > Quis exercitation proident elit non id qui culpa dolore esse aliquip 144 | > consequat. 145 | 146 | Ipsum excepteur cupidatat sunt minim ad eiusmod tempor sit. 147 | 148 | > Deserunt excepteur adipisicing culpa pariatur cillum laboris ullamco nisi 149 | > fugiat cillum officia. In cupidatat nulla aliquip tempor ad Lorem Lorem quis 150 | > voluptate officia consectetur pariatur ex in est duis. Mollit id esse est elit 151 | > exercitation voluptate nostrud nisi laborum magna dolore dolore tempor in est 152 | > consectetur. 153 | 154 | Adipisicing voluptate ipsum culpa voluptate id aute laboris labore esse fugiat 155 | veniam ullamco occaecat do ut. Tempor et esse reprehenderit veniam proident 156 | ipsum irure sit ullamco et labore ea excepteur nulla labore ut. Ex aute minim 157 | quis tempor in eu id id irure ea nostrud dolor esse. 158 | 159 | [[Top]](#top) 160 | 161 | # <a name="Lists"></a>Lists 162 | 163 | ### Ordered List 164 | 165 | 1. Longan 166 | 2. Lychee 167 | 3. Excepteur ad cupidatat do elit laborum amet cillum reprehenderit consequat 168 | quis. Deserunt officia esse aliquip consectetur duis ut labore laborum 169 | commodo aliquip aliquip velit pariatur dolore. 170 | 4. Marionberry 171 | 5. Melon 172 | - Cantaloupe 173 | - Honeydew 174 | - Watermelon 175 | 6. Miracle fruit 176 | 7. Mulberry 177 | 178 | ### Unordered List 179 | 180 | - Olive 181 | - Orange 182 | - Blood orange 183 | - Clementine 184 | - Papaya 185 | - Ut aute ipsum occaecat nisi culpa Lorem id occaecat cupidatat id id magna 186 | laboris ad duis. Fugiat cillum dolore veniam nostrud proident sint consectetur 187 | eiusmod irure adipisicing. 188 | - Passionfruit 189 | 190 | [[Top]](#top) 191 | 192 | # <a name="Horizontal"></a>Horizontal rule 193 | 194 | In dolore velit aliquip labore mollit minim tempor veniam eu veniam ad in sint 195 | aliquip mollit mollit. Ex occaecat non deserunt elit laborum sunt tempor sint 196 | consequat culpa culpa qui sit. Irure ad commodo eu voluptate mollit cillum 197 | cupidatat veniam proident amet minim reprehenderit. 198 | 199 | --- 200 | 201 | In laboris eiusmod reprehenderit aliquip sit proident occaecat. Non sit labore 202 | anim elit veniam Lorem minim commodo eiusmod irure do minim nisi. Dolor amet 203 | cillum excepteur consequat sint non sint. 204 | 205 | [[Top]](#top) 206 | 207 | # <a name="Table"></a>Table 208 | 209 | Duis sunt ut pariatur reprehenderit mollit mollit magna dolore in pariatur nulla 210 | commodo sit dolor ad fugiat. Laboris amet ea occaecat duis eu enim exercitation 211 | deserunt ea laborum occaecat reprehenderit. Et incididunt dolor commodo 212 | consequat mollit nisi proident non pariatur in et incididunt id. Eu ut et Lorem 213 | ea ex magna minim ipsum ipsum do. 214 | 215 | | Table Heading 1 | Table Heading 2 | Center align | Right align | Table Heading 5 | 216 | | :-------------- | :-------------- | :----------: | ----------: | :-------------- | 217 | | Item 1 | Item 2 | Item 3 | Item 4 | Item 5 | 218 | | Item 1 | Item 2 | Item 3 | Item 4 | Item 5 | 219 | | Item 1 | Item 2 | Item 3 | Item 4 | Item 5 | 220 | | Item 1 | Item 2 | Item 3 | Item 4 | Item 5 | 221 | | Item 1 | Item 2 | Item 3 | Item 4 | Item 5 | 222 | 223 | Minim id consequat adipisicing cupidatat laborum culpa veniam non consectetur et 224 | duis pariatur reprehenderit eu ex consectetur. Sunt nisi qui eiusmod ut cillum 225 | laborum Lorem officia aliquip laboris ullamco nostrud laboris non irure laboris. 226 | Cillum dolore labore Lorem deserunt mollit voluptate esse incididunt ex dolor. 227 | 228 | [[Top]](#top) 229 | 230 | # <a name="Code"></a>Code 231 | 232 | ## Inline code 233 | 234 | Ad amet irure est magna id mollit Lorem in do duis enim. Excepteur velit nisi 235 | magna ea pariatur pariatur ullamco fugiat deserunt sint non sint. Duis duis est 236 | `code in text` velit velit aute culpa ex quis pariatur pariatur laborum aute 237 | pariatur duis tempor sunt ad. Irure magna voluptate dolore consectetur 238 | consectetur irure esse. Anim magna `<strong>in culpa qui officia</strong>` dolor 239 | eiusmod esse amet aute cupidatat aliqua do id voluptate cupidatat reprehenderit 240 | amet labore deserunt. 241 | 242 | ## Highlighted 243 | 244 | Et fugiat ad nisi amet magna labore do cillum fugiat occaecat cillum Lorem 245 | proident. In sint dolor ullamco ad do adipisicing amet id excepteur Lorem 246 | aliquip sit irure veniam laborum duis cillum. Aliqua occaecat minim cillum 247 | deserunt magna sunt laboris do do irure ea nostrud consequat ut voluptate ex. 248 | 249 | ```go 250 | package main 251 | 252 | import ( 253 | "fmt" 254 | "net/http" 255 | ) 256 | 257 | func handler(w http.ResponseWriter, r *http.Request) { 258 | fmt.Fprintf(w, "Hi there, I love %s!", r.URL.Path[1:]) 259 | } 260 | 261 | func main() { 262 | http.HandleFunc("/", handler) 263 | http.ListenAndServe(":8080", nil) 264 | } 265 | ``` 266 | 267 | Ex amet id ex aliquip id do laborum excepteur exercitation elit sint commodo 268 | occaecat nostrud est. Nostrud pariatur esse veniam laborum non sint magna sit 269 | laboris minim in id. Aliqua pariatur pariatur excepteur adipisicing irure culpa 270 | consequat commodo et ex id ad. 271 | 272 | [[Top]](#top) 273 | 274 | # <a name="Inline"></a>Inline elements 275 | 276 | Sint ea anim ipsum ad commodo cupidatat do **exercitation** incididunt et minim 277 | ad labore sunt. Minim deserunt labore laboris velit nulla incididunt ipsum 278 | nulla. Ullamco ad laborum ea qui et anim in laboris exercitation tempor sit 279 | officia laborum reprehenderit culpa velit quis. **Consequat commodo** 280 | reprehenderit duis [irure](#!) esse esse exercitation minim enim Lorem dolore 281 | duis irure. Nisi Lorem reprehenderit ea amet excepteur dolor excepteur magna 282 | labore proident voluptate ipsum. Reprehenderit ex esse deserunt aliqua ea 283 | officia mollit Lorem nulla magna enim. Et ad ipsum labore enim ipsum **cupidatat 284 | consequat**. Commodo non ea cupidatat magna deserunt dolore ipsum velit nulla 285 | elit veniam nulla eiusmod proident officia. 286 | 287 | ![Super wide](http://placekitten.com/1280/800) 288 | 289 | _Proident sit veniam in est proident officia adipisicing_ ea tempor cillum non 290 | cillum velit deserunt. Voluptate laborum incididunt sit consectetur Lorem irure 291 | incididunt voluptate nostrud. Commodo ut eiusmod tempor cupidatat esse enim 292 | minim ex anim consequat. Mollit sint culpa qui laboris quis consectetur ad sint 293 | esse. Amet anim anim minim ullamco et duis non irure. Sit tempor adipisicing ea 294 | laboris `culpa ex duis sint` anim aute reprehenderit id eu ea. Aute 295 | [excepteur proident](#!) Lorem minim adipisicing nostrud mollit ad ut voluptate 296 | do nulla esse occaecat aliqua sint anim. 297 | 298 | ![Not so big](http://placekitten.com/480/400) 299 | 300 | Incididunt in culpa cupidatat mollit cillum qui proident sit. In cillum aliquip 301 | incididunt voluptate magna amet cupidatat cillum pariatur sint aliqua est _enim 302 | **anim** voluptate_. Magna aliquip proident incididunt id duis pariatur eiusmod 303 | incididunt commodo culpa dolore sit. Culpa do nostrud elit ad exercitation anim 304 | pariatur non minim nisi **adipisicing sunt _officia_**. Do deserunt magna mollit 305 | Lorem commodo ipsum do cupidatat mollit enim ut elit veniam ea voluptate. 306 | 307 | [![Manny Pacquiao](https://img.youtube.com/vi/s6bCmZmy9aQ/0.jpg)](https://youtu.be/s6bCmZmy9aQ) 308 | 309 | Reprehenderit non eu quis in ad elit esse qui aute id [incididunt](#!) dolore 310 | cillum. Esse laboris consequat dolor anim exercitation tempor aliqua deserunt 311 | velit magna laboris. Culpa culpa minim duis amet mollit do quis amet commodo 312 | nulla irure. 313 | -------------------------------------------------------------------------------- /test/vuejs.html: -------------------------------------------------------------------------------- 1 | <script src="https://unpkg.com/vue@3"></script> 2 | <script src="ezmdpage.min.js"></script><plaintext /> 3 | 4 | <div align="center"> 5 | 6 | <!-- prettier-ignore --> 7 | [Test page](.) 8 | | [ezmdpage & Alpine.js](alpinejs.html) 9 | | [ezmdpage & Vue.js](vuejs.html) 10 | | [GitHub](https://github.com/togajam/ezmdpage) 11 | 12 | Try right-click and <kbd>View page source</kbd>! 13 | 14 | </div> 15 | 16 | # ezmdpage & Vue.js 17 | 18 | https://vuejs.org/ 19 | 20 | <!-- prettier-ignore --> 21 | ```html 22 | <script src="https://unpkg.com/vue@3"></script> 23 | <script src="https://unpkg.com/ezmdpage@2"></script><plaintext /> 24 | ``` 25 | 26 | There should be a "Hello vue!" `<div>` below. It's rendered by Vue.js. Here's 27 | the code: 28 | 29 | ```html 30 | <div id="app">{{ message }}</div> 31 | 32 | <script> 33 | const { createApp, ref } = Vue; 34 | createApp({ 35 | setup() { 36 | const message = ref("Hello vue!"); 37 | return { message }; 38 | }, 39 | }).mount("#app"); 40 | </script> 41 | ``` 42 | 43 | <div id="app">{{ message }}</div> 44 | 45 | <script> 46 | const { createApp, ref } = Vue; 47 | createApp({ 48 | setup() { 49 | const message = ref("Hello vue!"); 50 | return { message }; 51 | } 52 | }).mount("#app"); 53 | </script> 54 | 55 | 👆 That's from Vue.js! 56 | -------------------------------------------------------------------------------- /vite.config.js: -------------------------------------------------------------------------------- 1 | import { defineConfig } from "vite"; 2 | import cssInjectedByJS from "vite-plugin-css-injected-by-js"; 3 | import { copyFile } from "node:fs/promises"; 4 | 5 | // https://github.com/vitejs/vite/discussions/9217#discussioncomment-4188099 6 | function myPlugin() { 7 | return { 8 | name: "my-plugin", 9 | async closeBundle() { 10 | // This is easier than trying to mess with a testing server. 11 | await copyFile("dist/index.min.js", "test/ezmdpage.min.js"); 12 | console.debug("Copied to test/ezmdpage.min.js"); 13 | }, 14 | }; 15 | } 16 | 17 | // https://vitejs.dev/config/ 18 | export default defineConfig({ 19 | build: { 20 | lib: { 21 | entry: "src/index.js", 22 | formats: ["iife"], 23 | name: "ezmdpage", 24 | fileName: () => "index.min.js", 25 | }, 26 | }, 27 | plugins: [cssInjectedByJS(), myPlugin()], 28 | }); 29 | --------------------------------------------------------------------------------