├── .gitignore ├── .npmignore ├── .npmrc ├── .prettierignore ├── .prettierrc ├── CHANGELOG.md ├── LICENCE ├── README.md ├── banner.svg ├── package.json ├── pnpm-lock.yaml ├── screenshot.png ├── src └── index.ts ├── tsconfig.json └── vite.config.ts /.gitignore: -------------------------------------------------------------------------------- 1 | 2 | .idea* 3 | /node_modules 4 | .turbo 5 | /dist -------------------------------------------------------------------------------- /.npmignore: -------------------------------------------------------------------------------- 1 | /node_modules 2 | .idea* 3 | /img* 4 | index.html 5 | mix-manifest.json 6 | .babelrc.json 7 | .eslintrc.json 8 | .gitignore 9 | /src* 10 | /test* 11 | .prettierrc 12 | babel.config.json 13 | gulpfile.js 14 | postcss-config.json 15 | tailwindcss.config.js 16 | tsconfig.json 17 | webpack.mix.js 18 | .turbo* 19 | esbuild.config.js 20 | 21 | *.jpeg 22 | *.jpg 23 | *.png 24 | *.svg 25 | README.md 26 | CHANGELOG.md 27 | -------------------------------------------------------------------------------- /.npmrc: -------------------------------------------------------------------------------- 1 | auto-install-peers=true 2 | -------------------------------------------------------------------------------- /.prettierignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | logs 3 | *.log 4 | npm-debug.log* 5 | pnpm-debug.log* 6 | pnpm-error.log* 7 | yarn-debug.log* 8 | yarn-error.log* 9 | coverage 10 | bower_components 11 | package.json 12 | package-lock.json 13 | node_modules/ 14 | .npm 15 | .pnpm 16 | .idea/ 17 | .DS_Store 18 | __tests__/* 19 | !__tests__/util/* 20 | examples/* 21 | !examples/**/*.config.js 22 | .run 23 | .editorconfig 24 | cache/ 25 | .github/ 26 | .eslintrc.json 27 | *.md 28 | .prettierrc -------------------------------------------------------------------------------- /.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "trailingComma": "es5", 3 | "tabWidth": 2, 4 | "semi": false, 5 | "singleQuote": false, 6 | "printWidth": 180, 7 | "useTabs": false, 8 | "singleLineLinkTags": false 9 | } 10 | -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # Changelog 2 | 3 | ## v1.0.1 4 | 5 | ### Changed 6 | 7 | - Change to typescript 8 | - Change css var prefix 9 | 10 | ## v1.0.0 11 | 12 | ### Added or Changed 13 | 14 | - Added this changelog :) -------------------------------------------------------------------------------- /LICENCE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2022 Claude Myburgh @ DesignByCode 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 NON INFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | 2 | Title banner 3 | 4 | 5 | ## Tailwind CSS Text Stroke Plugin 6 | 7 | [![npm version](https://badge.fury.io/js/@designbycode%2Ftailwindcss-text-stroke.svg)](https://badge.fury.io/js/@designbycode%2Ftailwindcss-text-stroke) 8 | ![npm](https://img.shields.io/npm/dt/%40designbycode/tailwindcss-text-stroke) 9 | ![NPM](https://img.shields.io/npm/l/%40designbycode%2Ftailwindcss-text-stroke) 10 | ![npm bundle size](https://img.shields.io/bundlephobia/min/%40designbycode%2Ftailwindcss-text-stroke) 11 | ![ts](https://badgen.net/badge/Built%20With/TypeScript/blue) 12 | [![GitHub stars](https://img.shields.io/github/stars/DesignByCode/tailwindcss-text-stroke?style=social)](https://github.com/DesignByCode/tailwindcss-text-stroke/stargazers) 13 | 14 | Add custom text stroke utilities to your Tailwind CSS project using this plugin. It allows you to apply an outline-like stroke around text using CSS properties supported by WebKit-based browsers. 15 | 16 | ## 📇 Table of Contents 17 | 18 | * [Installation](#installation) 19 | * [Using pnpm](#using-pnpm) 20 | * [Using npm](#using-npm) 21 | * [Using yarn](#using-yarn) 22 | * [Setup](#setup) 23 | * [Use](#use) 24 | * [Example](#example) 25 | * [With modifiers](#with-modifiers) 26 | * [Contributing](#contributing) 27 | * [License](#license) 28 | * [Author](#author) 29 | * [Acknowledgments](#acknowledgments) 30 | 31 | ## Installation 32 | 33 | To use this plugin, you need to install it via pnpm, npm or yarn. 34 | 35 | #### Using pnpm 36 | 37 | ```bash 38 | pnpm add @designbycode/tailwindcss-text-stroke 39 | ``` 40 | 41 | #### Using npm 42 | 43 | ```bash 44 | npm install @designbycode/tailwindcss-text-stroke 45 | ``` 46 | 47 | #### Using yarn 48 | 49 | ```bash 50 | yarn add @designbycode/tailwindcss-text-stroke 51 | ``` 52 | 53 | First, ensure you have Tailwind CSS installed in your project. If not, install it by following the official documentation. 54 | 55 | Next, require the plugin in your Tailwind CSS configuration file (usually named tailwind.config.js). 56 | 57 | ## Setup 58 | 59 | 1. First, ensure you have Tailwind CSS installed in your project. If not, install it by following the official documentation. 60 | 61 | 2. Next, require the plugin in your Tailwind CSS configuration file (usually named tailwind.config.js). 62 | 63 | ```javascript 64 | module.exports = { 65 | // ...other configurations 66 | plugins: [ 67 | // ...other plugins 68 | require("@designbycode/tailwindcss-text-stroke"), 69 | ], 70 | }; 71 | ``` 72 | 73 | Once you've required the plugin and added it to the plugins array, you can use the new text stroke utilities in your HTML templates. 74 | 75 | ## Use 76 | 77 | The Text Stroke plugin provides the following utility classes for styling text with stroke effects: 78 | 79 | * ```.text-stroke```: Base component that sets the default text stroke styles. You can override these styles using CSS variables. 80 | * ```.text-stroke-{value}```: Sets the stroke width to the specified {value}. The available options are defined in the textStrokeWidth theme configuration. 81 | * ```.text-stroke-{color}```: Applies a custom color to the text stroke. The {color} should match a color in your Tailwind CSS color palette. 82 | * ```.text-stroke-fill-{color}```: Applies a custom fill color to the text stroke. The {color} should match a color in your Tailwind CSS color palette. 83 | 84 | ### Example 85 | 86 | Here's an example of how you can use the utility classes to apply image masks: 87 | 88 | ```html 89 |

90 | Hello, TailwindCSS 91 |

92 | ``` 93 | 94 | ### With modifiers 95 | 96 | ```html 97 |

98 | Hello, TailwindCSS 99 |

100 | ``` 101 | 102 | ## Contributing 103 | 104 | Contributions to this plugin are welcome! If you encounter any issues, have feature requests, or want to improve the plugin, feel free to create a pull request or submit an issue on the GitHub repository. 105 | 106 | ## License 107 | 108 | This project is licensed under the [MIT](LICENCE) License - see the [LICENSE](LICENCE) file for details. 109 | 110 | ## Author 111 | 112 |
113 | Claude Myburgh 114 |
115 |

Claude Myburgh

117 | 118 | ## Acknowledgments 119 | 120 | - This plugin is inspired by the needs of web developers using Tailwind CSS. 121 | - Special thanks to the Tailwind CSS team for creating such an amazing framework. 122 | 123 | 124 | 125 | 126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 | -------------------------------------------------------------------------------- /banner.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 |
4 | 101 |
102 |

TailwindCSS Text Stroke Plugin 103 |

104 |
105 | 🎉 106 | MADE FOR 107 | 🎉 108 |
109 |

Tailwindcss

110 |
111 |
112 |
113 |
-------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@designbycode/tailwindcss-text-stroke", 3 | "version": "1.3.0", 4 | "description": "Tailwindcss utilities for text stroke", 5 | "license": "MIT", 6 | "repository": { 7 | "type": "git", 8 | "url": "git+https://github.com/DesignByCode/tailwindcss-text-stroke.git" 9 | }, 10 | "bugs": { 11 | "url": "https://github.com/DesignByCode/tailwindcss-text-stroke/issues" 12 | }, 13 | "homepage": "https://github.com/DesignByCode/tailwindcss-text-stroke#readme", 14 | "keywords": [ 15 | "front-end", 16 | "frontend", 17 | "css", 18 | "tailwindcss", 19 | "plugin", 20 | "tailwindcss-plugin", 21 | "tailwindcss text-stroke", 22 | "mask image", 23 | "designbycode" 24 | ], 25 | "type": "module", 26 | "main": "./dist/index.umd.cjs", 27 | "exports": { 28 | ".": { 29 | "import": "./dist/index.js", 30 | "require": "./dist/index.umd.cjs" 31 | } 32 | }, 33 | "types": "dist/", 34 | "module": "./dist/index.js", 35 | "files": [ 36 | "dist" 37 | ], 38 | "publishConfig": { 39 | "access": "public" 40 | }, 41 | "scripts": { 42 | "build": "tsc && vite build", 43 | "dev": "pnpm build --watch", 44 | "clean": "rd /s /q esm dist lib build .cache>nul 2>&1|echo.>nul", 45 | "prebuild": "pnpm clean", 46 | "postbuild": "tsc --emitDeclarationOnly", 47 | "prepublishOnly": "pnpm build" 48 | }, 49 | "authors": [ 50 | { 51 | "name": "Claude Myburgh", 52 | "email": "claude@designbycode.co.za", 53 | "url": "https://designbycode.co.za" 54 | } 55 | ], 56 | "licenses": [ 57 | { 58 | "type": "MIT", 59 | "url": "https://github.com/DesignByCode/tailwindcss-text-stroke/blob/main/LICENCE" 60 | } 61 | ], 62 | "peerDependencies": { 63 | "tailwindcss": ">=3.0.0 || >=3.0.0-alpha.1" 64 | }, 65 | "devDependencies": { 66 | "@types/node": "^20.4.8", 67 | "autoprefixer": "^10.4.14", 68 | "husky": "^8.0.3", 69 | "npm-run-all": "^4.1.5", 70 | "postcss": "^8.4.27", 71 | "prettier": "^2.8.8", 72 | "tailwindcss": "^3.3.3", 73 | "vitest": "^2.1.5", 74 | "terser": "^5.32.0", 75 | "typescript": "^5.6.2", 76 | "vite": "^5.4.3", 77 | "vite-plugin-dts": "^4.2.1" 78 | } 79 | } 80 | -------------------------------------------------------------------------------- /pnpm-lock.yaml: -------------------------------------------------------------------------------- 1 | lockfileVersion: 5.4 2 | 3 | specifiers: 4 | '@types/node': ^20.4.8 5 | autoprefixer: ^10.4.14 6 | husky: ^8.0.3 7 | npm-run-all: ^4.1.5 8 | postcss: ^8.4.27 9 | prettier: ^2.8.8 10 | tailwindcss: ^3.3.3 11 | terser: ^5.19.2 12 | typescript: ^5.0.2 13 | vite: ^4.4.5 14 | vite-plugin-dts: ^3.5.1 15 | 16 | devDependencies: 17 | '@types/node': 20.5.0 18 | autoprefixer: 10.4.15_postcss@8.4.28 19 | husky: 8.0.3 20 | npm-run-all: 4.1.5 21 | postcss: 8.4.28 22 | prettier: 2.8.8 23 | tailwindcss: 3.3.3 24 | terser: 5.19.2 25 | typescript: 5.1.6 26 | vite: 4.4.9_vgcdvxnsbowjjmq3ykwtmqzxla 27 | vite-plugin-dts: 3.5.2_kqekcwwe45upc3dir3t6ijilta 28 | 29 | packages: 30 | 31 | /@alloc/quick-lru/5.2.0: 32 | resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==} 33 | engines: {node: '>=10'} 34 | dev: true 35 | 36 | /@babel/helper-string-parser/7.22.5: 37 | resolution: {integrity: sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==} 38 | engines: {node: '>=6.9.0'} 39 | dev: true 40 | 41 | /@babel/helper-validator-identifier/7.22.5: 42 | resolution: {integrity: sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==} 43 | engines: {node: '>=6.9.0'} 44 | dev: true 45 | 46 | /@babel/parser/7.22.10: 47 | resolution: {integrity: sha512-lNbdGsQb9ekfsnjFGhEiF4hfFqGgfOP3H3d27re3n+CGhNuTSUEQdfWk556sTLNTloczcdM5TYF2LhzmDQKyvQ==} 48 | engines: {node: '>=6.0.0'} 49 | hasBin: true 50 | dependencies: 51 | '@babel/types': 7.22.10 52 | dev: true 53 | 54 | /@babel/types/7.22.10: 55 | resolution: {integrity: sha512-obaoigiLrlDZ7TUQln/8m4mSqIW2QFeOrCQc9r+xsaHGNoplVNYlRVpsfE8Vj35GEm2ZH4ZhrNYogs/3fj85kg==} 56 | engines: {node: '>=6.9.0'} 57 | dependencies: 58 | '@babel/helper-string-parser': 7.22.5 59 | '@babel/helper-validator-identifier': 7.22.5 60 | to-fast-properties: 2.0.0 61 | dev: true 62 | 63 | /@esbuild/android-arm/0.18.20: 64 | resolution: {integrity: sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==} 65 | engines: {node: '>=12'} 66 | cpu: [arm] 67 | os: [android] 68 | requiresBuild: true 69 | dev: true 70 | optional: true 71 | 72 | /@esbuild/android-arm64/0.18.20: 73 | resolution: {integrity: sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==} 74 | engines: {node: '>=12'} 75 | cpu: [arm64] 76 | os: [android] 77 | requiresBuild: true 78 | dev: true 79 | optional: true 80 | 81 | /@esbuild/android-x64/0.18.20: 82 | resolution: {integrity: sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==} 83 | engines: {node: '>=12'} 84 | cpu: [x64] 85 | os: [android] 86 | requiresBuild: true 87 | dev: true 88 | optional: true 89 | 90 | /@esbuild/darwin-arm64/0.18.20: 91 | resolution: {integrity: sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==} 92 | engines: {node: '>=12'} 93 | cpu: [arm64] 94 | os: [darwin] 95 | requiresBuild: true 96 | dev: true 97 | optional: true 98 | 99 | /@esbuild/darwin-x64/0.18.20: 100 | resolution: {integrity: sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==} 101 | engines: {node: '>=12'} 102 | cpu: [x64] 103 | os: [darwin] 104 | requiresBuild: true 105 | dev: true 106 | optional: true 107 | 108 | /@esbuild/freebsd-arm64/0.18.20: 109 | resolution: {integrity: sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==} 110 | engines: {node: '>=12'} 111 | cpu: [arm64] 112 | os: [freebsd] 113 | requiresBuild: true 114 | dev: true 115 | optional: true 116 | 117 | /@esbuild/freebsd-x64/0.18.20: 118 | resolution: {integrity: sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==} 119 | engines: {node: '>=12'} 120 | cpu: [x64] 121 | os: [freebsd] 122 | requiresBuild: true 123 | dev: true 124 | optional: true 125 | 126 | /@esbuild/linux-arm/0.18.20: 127 | resolution: {integrity: sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==} 128 | engines: {node: '>=12'} 129 | cpu: [arm] 130 | os: [linux] 131 | requiresBuild: true 132 | dev: true 133 | optional: true 134 | 135 | /@esbuild/linux-arm64/0.18.20: 136 | resolution: {integrity: sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==} 137 | engines: {node: '>=12'} 138 | cpu: [arm64] 139 | os: [linux] 140 | requiresBuild: true 141 | dev: true 142 | optional: true 143 | 144 | /@esbuild/linux-ia32/0.18.20: 145 | resolution: {integrity: sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==} 146 | engines: {node: '>=12'} 147 | cpu: [ia32] 148 | os: [linux] 149 | requiresBuild: true 150 | dev: true 151 | optional: true 152 | 153 | /@esbuild/linux-loong64/0.18.20: 154 | resolution: {integrity: sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==} 155 | engines: {node: '>=12'} 156 | cpu: [loong64] 157 | os: [linux] 158 | requiresBuild: true 159 | dev: true 160 | optional: true 161 | 162 | /@esbuild/linux-mips64el/0.18.20: 163 | resolution: {integrity: sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==} 164 | engines: {node: '>=12'} 165 | cpu: [mips64el] 166 | os: [linux] 167 | requiresBuild: true 168 | dev: true 169 | optional: true 170 | 171 | /@esbuild/linux-ppc64/0.18.20: 172 | resolution: {integrity: sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==} 173 | engines: {node: '>=12'} 174 | cpu: [ppc64] 175 | os: [linux] 176 | requiresBuild: true 177 | dev: true 178 | optional: true 179 | 180 | /@esbuild/linux-riscv64/0.18.20: 181 | resolution: {integrity: sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==} 182 | engines: {node: '>=12'} 183 | cpu: [riscv64] 184 | os: [linux] 185 | requiresBuild: true 186 | dev: true 187 | optional: true 188 | 189 | /@esbuild/linux-s390x/0.18.20: 190 | resolution: {integrity: sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==} 191 | engines: {node: '>=12'} 192 | cpu: [s390x] 193 | os: [linux] 194 | requiresBuild: true 195 | dev: true 196 | optional: true 197 | 198 | /@esbuild/linux-x64/0.18.20: 199 | resolution: {integrity: sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==} 200 | engines: {node: '>=12'} 201 | cpu: [x64] 202 | os: [linux] 203 | requiresBuild: true 204 | dev: true 205 | optional: true 206 | 207 | /@esbuild/netbsd-x64/0.18.20: 208 | resolution: {integrity: sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==} 209 | engines: {node: '>=12'} 210 | cpu: [x64] 211 | os: [netbsd] 212 | requiresBuild: true 213 | dev: true 214 | optional: true 215 | 216 | /@esbuild/openbsd-x64/0.18.20: 217 | resolution: {integrity: sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==} 218 | engines: {node: '>=12'} 219 | cpu: [x64] 220 | os: [openbsd] 221 | requiresBuild: true 222 | dev: true 223 | optional: true 224 | 225 | /@esbuild/sunos-x64/0.18.20: 226 | resolution: {integrity: sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==} 227 | engines: {node: '>=12'} 228 | cpu: [x64] 229 | os: [sunos] 230 | requiresBuild: true 231 | dev: true 232 | optional: true 233 | 234 | /@esbuild/win32-arm64/0.18.20: 235 | resolution: {integrity: sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==} 236 | engines: {node: '>=12'} 237 | cpu: [arm64] 238 | os: [win32] 239 | requiresBuild: true 240 | dev: true 241 | optional: true 242 | 243 | /@esbuild/win32-ia32/0.18.20: 244 | resolution: {integrity: sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==} 245 | engines: {node: '>=12'} 246 | cpu: [ia32] 247 | os: [win32] 248 | requiresBuild: true 249 | dev: true 250 | optional: true 251 | 252 | /@esbuild/win32-x64/0.18.20: 253 | resolution: {integrity: sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==} 254 | engines: {node: '>=12'} 255 | cpu: [x64] 256 | os: [win32] 257 | requiresBuild: true 258 | dev: true 259 | optional: true 260 | 261 | /@jridgewell/gen-mapping/0.3.3: 262 | resolution: {integrity: sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==} 263 | engines: {node: '>=6.0.0'} 264 | dependencies: 265 | '@jridgewell/set-array': 1.1.2 266 | '@jridgewell/sourcemap-codec': 1.4.15 267 | '@jridgewell/trace-mapping': 0.3.19 268 | dev: true 269 | 270 | /@jridgewell/resolve-uri/3.1.1: 271 | resolution: {integrity: sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==} 272 | engines: {node: '>=6.0.0'} 273 | dev: true 274 | 275 | /@jridgewell/set-array/1.1.2: 276 | resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==} 277 | engines: {node: '>=6.0.0'} 278 | dev: true 279 | 280 | /@jridgewell/source-map/0.3.5: 281 | resolution: {integrity: sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==} 282 | dependencies: 283 | '@jridgewell/gen-mapping': 0.3.3 284 | '@jridgewell/trace-mapping': 0.3.19 285 | dev: true 286 | 287 | /@jridgewell/sourcemap-codec/1.4.15: 288 | resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} 289 | dev: true 290 | 291 | /@jridgewell/trace-mapping/0.3.19: 292 | resolution: {integrity: sha512-kf37QtfW+Hwx/buWGMPcR60iF9ziHa6r/CZJIHbmcm4+0qrXiVdxegAH0F6yddEVQ7zdkjcGCgCzUu+BcbhQxw==} 293 | dependencies: 294 | '@jridgewell/resolve-uri': 3.1.1 295 | '@jridgewell/sourcemap-codec': 1.4.15 296 | dev: true 297 | 298 | /@microsoft/api-extractor-model/7.27.6_@types+node@20.5.0: 299 | resolution: {integrity: sha512-eiCnlayyum1f7fS2nA9pfIod5VCNR1G+Tq84V/ijDrKrOFVa598BLw145nCsGDMoFenV6ajNi2PR5WCwpAxW6Q==} 300 | dependencies: 301 | '@microsoft/tsdoc': 0.14.2 302 | '@microsoft/tsdoc-config': 0.16.2 303 | '@rushstack/node-core-library': 3.59.7_@types+node@20.5.0 304 | transitivePeerDependencies: 305 | - '@types/node' 306 | dev: true 307 | 308 | /@microsoft/api-extractor/7.36.4_@types+node@20.5.0: 309 | resolution: {integrity: sha512-21UECq8C/8CpHT23yiqTBQ10egKUacIpxkPyYR7hdswo/M5yTWdBvbq+77YC9uPKQJOUfOD1FImBQ1DzpsdeQQ==} 310 | hasBin: true 311 | dependencies: 312 | '@microsoft/api-extractor-model': 7.27.6_@types+node@20.5.0 313 | '@microsoft/tsdoc': 0.14.2 314 | '@microsoft/tsdoc-config': 0.16.2 315 | '@rushstack/node-core-library': 3.59.7_@types+node@20.5.0 316 | '@rushstack/rig-package': 0.4.1 317 | '@rushstack/ts-command-line': 4.15.2 318 | colors: 1.2.5 319 | lodash: 4.17.21 320 | resolve: 1.22.4 321 | semver: 7.5.4 322 | source-map: 0.6.1 323 | typescript: 5.0.4 324 | transitivePeerDependencies: 325 | - '@types/node' 326 | dev: true 327 | 328 | /@microsoft/tsdoc-config/0.16.2: 329 | resolution: {integrity: sha512-OGiIzzoBLgWWR0UdRJX98oYO+XKGf7tiK4Zk6tQ/E4IJqGCe7dvkTvgDZV5cFJUzLGDOjeAXrnZoA6QkVySuxw==} 330 | dependencies: 331 | '@microsoft/tsdoc': 0.14.2 332 | ajv: 6.12.6 333 | jju: 1.4.0 334 | resolve: 1.19.0 335 | dev: true 336 | 337 | /@microsoft/tsdoc/0.14.2: 338 | resolution: {integrity: sha512-9b8mPpKrfeGRuhFH5iO1iwCLeIIsV6+H1sRfxbkoGXIyQE2BTsPd9zqSqQJ+pv5sJ/hT5M1zvOFL02MnEezFug==} 339 | dev: true 340 | 341 | /@nodelib/fs.scandir/2.1.5: 342 | resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} 343 | engines: {node: '>= 8'} 344 | dependencies: 345 | '@nodelib/fs.stat': 2.0.5 346 | run-parallel: 1.2.0 347 | dev: true 348 | 349 | /@nodelib/fs.stat/2.0.5: 350 | resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} 351 | engines: {node: '>= 8'} 352 | dev: true 353 | 354 | /@nodelib/fs.walk/1.2.8: 355 | resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} 356 | engines: {node: '>= 8'} 357 | dependencies: 358 | '@nodelib/fs.scandir': 2.1.5 359 | fastq: 1.15.0 360 | dev: true 361 | 362 | /@rollup/pluginutils/5.0.3: 363 | resolution: {integrity: sha512-hfllNN4a80rwNQ9QCxhxuHCGHMAvabXqxNdaChUSSadMre7t4iEUI6fFAhBOn/eIYTgYVhBv7vCLsAJ4u3lf3g==} 364 | engines: {node: '>=14.0.0'} 365 | peerDependencies: 366 | rollup: ^1.20.0||^2.0.0||^3.0.0 367 | peerDependenciesMeta: 368 | rollup: 369 | optional: true 370 | dependencies: 371 | '@types/estree': 1.0.1 372 | estree-walker: 2.0.2 373 | picomatch: 2.3.1 374 | dev: true 375 | 376 | /@rushstack/node-core-library/3.59.7_@types+node@20.5.0: 377 | resolution: {integrity: sha512-ln1Drq0h+Hwa1JVA65x5mlSgUrBa1uHL+V89FqVWQgXd1vVIMhrtqtWGQrhTnFHxru5ppX+FY39VWELF/FjQCw==} 378 | peerDependencies: 379 | '@types/node': '*' 380 | peerDependenciesMeta: 381 | '@types/node': 382 | optional: true 383 | dependencies: 384 | '@types/node': 20.5.0 385 | colors: 1.2.5 386 | fs-extra: 7.0.1 387 | import-lazy: 4.0.0 388 | jju: 1.4.0 389 | resolve: 1.22.4 390 | semver: 7.5.4 391 | z-schema: 5.0.5 392 | dev: true 393 | 394 | /@rushstack/rig-package/0.4.1: 395 | resolution: {integrity: sha512-AGRwpqlXNSp9LhUSz4HKI9xCluqQDt/obsQFdv/NYIekF3pTTPzc+HbQsIsjVjYnJ3DcmxOREVMhvrMEjpiq6g==} 396 | dependencies: 397 | resolve: 1.22.4 398 | strip-json-comments: 3.1.1 399 | dev: true 400 | 401 | /@rushstack/ts-command-line/4.15.2: 402 | resolution: {integrity: sha512-5+C2uoJY8b+odcZD6coEe2XNC4ZjGB4vCMESbqW/8DHRWC/qIHfANdmN9F1wz/lAgxz72i7xRoVtPY2j7e4gpQ==} 403 | dependencies: 404 | '@types/argparse': 1.0.38 405 | argparse: 1.0.10 406 | colors: 1.2.5 407 | string-argv: 0.3.2 408 | dev: true 409 | 410 | /@types/argparse/1.0.38: 411 | resolution: {integrity: sha512-ebDJ9b0e702Yr7pWgB0jzm+CX4Srzz8RcXtLJDJB+BSccqMa36uyH/zUsSYao5+BD1ytv3k3rPYCq4mAE1hsXA==} 412 | dev: true 413 | 414 | /@types/estree/1.0.1: 415 | resolution: {integrity: sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA==} 416 | dev: true 417 | 418 | /@types/node/20.5.0: 419 | resolution: {integrity: sha512-Mgq7eCtoTjT89FqNoTzzXg2XvCi5VMhRV6+I2aYanc6kQCBImeNaAYRs/DyoVqk1YEUJK5gN9VO7HRIdz4Wo3Q==} 420 | dev: true 421 | 422 | /@volar/language-core/1.10.0: 423 | resolution: {integrity: sha512-ddyWwSYqcbEZNFHm+Z3NZd6M7Ihjcwl/9B5cZd8kECdimVXUFdFi60XHWD27nrWtUQIsUYIG7Ca1WBwV2u2LSQ==} 424 | dependencies: 425 | '@volar/source-map': 1.10.0 426 | dev: true 427 | 428 | /@volar/source-map/1.10.0: 429 | resolution: {integrity: sha512-/ibWdcOzDGiq/GM1JU2eX8fH1bvAhl66hfe8yEgLEzg9txgr6qb5sQ/DEz5PcDL75tF5H5sCRRwn8Eu8ezi9mw==} 430 | dependencies: 431 | muggle-string: 0.3.1 432 | dev: true 433 | 434 | /@volar/typescript/1.10.0: 435 | resolution: {integrity: sha512-OtqGtFbUKYC0pLNIk3mHQp5xWnvL1CJIUc9VE39VdZ/oqpoBh5jKfb9uJ45Y4/oP/WYTrif/Uxl1k8VTPz66Gg==} 436 | dependencies: 437 | '@volar/language-core': 1.10.0 438 | dev: true 439 | 440 | /@vue/compiler-core/3.3.4: 441 | resolution: {integrity: sha512-cquyDNvZ6jTbf/+x+AgM2Arrp6G4Dzbb0R64jiG804HRMfRiFXWI6kqUVqZ6ZR0bQhIoQjB4+2bhNtVwndW15g==} 442 | dependencies: 443 | '@babel/parser': 7.22.10 444 | '@vue/shared': 3.3.4 445 | estree-walker: 2.0.2 446 | source-map-js: 1.0.2 447 | dev: true 448 | 449 | /@vue/compiler-dom/3.3.4: 450 | resolution: {integrity: sha512-wyM+OjOVpuUukIq6p5+nwHYtj9cFroz9cwkfmP9O1nzH68BenTTv0u7/ndggT8cIQlnBeOo6sUT/gvHcIkLA5w==} 451 | dependencies: 452 | '@vue/compiler-core': 3.3.4 453 | '@vue/shared': 3.3.4 454 | dev: true 455 | 456 | /@vue/language-core/1.8.8_typescript@5.1.6: 457 | resolution: {integrity: sha512-i4KMTuPazf48yMdYoebTkgSOJdFraE4pQf0B+FTOFkbB+6hAfjrSou/UmYWRsWyZV6r4Rc6DDZdI39CJwL0rWw==} 458 | peerDependencies: 459 | typescript: '*' 460 | peerDependenciesMeta: 461 | typescript: 462 | optional: true 463 | dependencies: 464 | '@volar/language-core': 1.10.0 465 | '@volar/source-map': 1.10.0 466 | '@vue/compiler-dom': 3.3.4 467 | '@vue/reactivity': 3.3.4 468 | '@vue/shared': 3.3.4 469 | minimatch: 9.0.3 470 | muggle-string: 0.3.1 471 | typescript: 5.1.6 472 | vue-template-compiler: 2.7.14 473 | dev: true 474 | 475 | /@vue/reactivity/3.3.4: 476 | resolution: {integrity: sha512-kLTDLwd0B1jG08NBF3R5rqULtv/f8x3rOFByTDz4J53ttIQEDmALqKqXY0J+XQeN0aV2FBxY8nJDf88yvOPAqQ==} 477 | dependencies: 478 | '@vue/shared': 3.3.4 479 | dev: true 480 | 481 | /@vue/shared/3.3.4: 482 | resolution: {integrity: sha512-7OjdcV8vQ74eiz1TZLzZP4JwqM5fA94K6yntPS5Z25r9HDuGNzaGdgvwKYq6S+MxwF0TFRwe50fIR/MYnakdkQ==} 483 | dev: true 484 | 485 | /@vue/typescript/1.8.8_typescript@5.1.6: 486 | resolution: {integrity: sha512-jUnmMB6egu5wl342eaUH236v8tdcEPXXkPgj+eI/F6JwW/lb+yAU6U07ZbQ3MVabZRlupIlPESB7ajgAGixhow==} 487 | dependencies: 488 | '@volar/typescript': 1.10.0 489 | '@vue/language-core': 1.8.8_typescript@5.1.6 490 | transitivePeerDependencies: 491 | - typescript 492 | dev: true 493 | 494 | /acorn/8.10.0: 495 | resolution: {integrity: sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==} 496 | engines: {node: '>=0.4.0'} 497 | hasBin: true 498 | dev: true 499 | 500 | /ajv/6.12.6: 501 | resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} 502 | dependencies: 503 | fast-deep-equal: 3.1.3 504 | fast-json-stable-stringify: 2.1.0 505 | json-schema-traverse: 0.4.1 506 | uri-js: 4.4.1 507 | dev: true 508 | 509 | /ansi-styles/3.2.1: 510 | resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} 511 | engines: {node: '>=4'} 512 | dependencies: 513 | color-convert: 1.9.3 514 | dev: true 515 | 516 | /any-promise/1.3.0: 517 | resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} 518 | dev: true 519 | 520 | /anymatch/3.1.3: 521 | resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} 522 | engines: {node: '>= 8'} 523 | dependencies: 524 | normalize-path: 3.0.0 525 | picomatch: 2.3.1 526 | dev: true 527 | 528 | /arg/5.0.2: 529 | resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==} 530 | dev: true 531 | 532 | /argparse/1.0.10: 533 | resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} 534 | dependencies: 535 | sprintf-js: 1.0.3 536 | dev: true 537 | 538 | /array-buffer-byte-length/1.0.0: 539 | resolution: {integrity: sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==} 540 | dependencies: 541 | call-bind: 1.0.2 542 | is-array-buffer: 3.0.2 543 | dev: true 544 | 545 | /arraybuffer.prototype.slice/1.0.1: 546 | resolution: {integrity: sha512-09x0ZWFEjj4WD8PDbykUwo3t9arLn8NIzmmYEJFpYekOAQjpkGSyrQhNoRTcwwcFRu+ycWF78QZ63oWTqSjBcw==} 547 | engines: {node: '>= 0.4'} 548 | dependencies: 549 | array-buffer-byte-length: 1.0.0 550 | call-bind: 1.0.2 551 | define-properties: 1.2.0 552 | get-intrinsic: 1.2.1 553 | is-array-buffer: 3.0.2 554 | is-shared-array-buffer: 1.0.2 555 | dev: true 556 | 557 | /autoprefixer/10.4.15_postcss@8.4.28: 558 | resolution: {integrity: sha512-KCuPB8ZCIqFdA4HwKXsvz7j6gvSDNhDP7WnUjBleRkKjPdvCmHFuQ77ocavI8FT6NdvlBnE2UFr2H4Mycn8Vew==} 559 | engines: {node: ^10 || ^12 || >=14} 560 | hasBin: true 561 | peerDependencies: 562 | postcss: ^8.1.0 563 | dependencies: 564 | browserslist: 4.21.10 565 | caniuse-lite: 1.0.30001521 566 | fraction.js: 4.2.0 567 | normalize-range: 0.1.2 568 | picocolors: 1.0.0 569 | postcss: 8.4.28 570 | postcss-value-parser: 4.2.0 571 | dev: true 572 | 573 | /available-typed-arrays/1.0.5: 574 | resolution: {integrity: sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==} 575 | engines: {node: '>= 0.4'} 576 | dev: true 577 | 578 | /balanced-match/1.0.2: 579 | resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} 580 | dev: true 581 | 582 | /binary-extensions/2.2.0: 583 | resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} 584 | engines: {node: '>=8'} 585 | dev: true 586 | 587 | /brace-expansion/1.1.11: 588 | resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} 589 | dependencies: 590 | balanced-match: 1.0.2 591 | concat-map: 0.0.1 592 | dev: true 593 | 594 | /brace-expansion/2.0.1: 595 | resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} 596 | dependencies: 597 | balanced-match: 1.0.2 598 | dev: true 599 | 600 | /braces/3.0.2: 601 | resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} 602 | engines: {node: '>=8'} 603 | dependencies: 604 | fill-range: 7.0.1 605 | dev: true 606 | 607 | /browserslist/4.21.10: 608 | resolution: {integrity: sha512-bipEBdZfVH5/pwrvqc+Ub0kUPVfGUhlKxbvfD+z1BDnPEO/X98ruXGA1WP5ASpAFKan7Qr6j736IacbZQuAlKQ==} 609 | engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} 610 | hasBin: true 611 | dependencies: 612 | caniuse-lite: 1.0.30001521 613 | electron-to-chromium: 1.4.492 614 | node-releases: 2.0.13 615 | update-browserslist-db: 1.0.11_browserslist@4.21.10 616 | dev: true 617 | 618 | /buffer-from/1.1.2: 619 | resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} 620 | dev: true 621 | 622 | /call-bind/1.0.2: 623 | resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==} 624 | dependencies: 625 | function-bind: 1.1.1 626 | get-intrinsic: 1.2.1 627 | dev: true 628 | 629 | /camelcase-css/2.0.1: 630 | resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==} 631 | engines: {node: '>= 6'} 632 | dev: true 633 | 634 | /caniuse-lite/1.0.30001521: 635 | resolution: {integrity: sha512-fnx1grfpEOvDGH+V17eccmNjucGUnCbP6KL+l5KqBIerp26WK/+RQ7CIDE37KGJjaPyqWXXlFUyKiWmvdNNKmQ==} 636 | dev: true 637 | 638 | /chalk/2.4.2: 639 | resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} 640 | engines: {node: '>=4'} 641 | dependencies: 642 | ansi-styles: 3.2.1 643 | escape-string-regexp: 1.0.5 644 | supports-color: 5.5.0 645 | dev: true 646 | 647 | /chokidar/3.5.3: 648 | resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} 649 | engines: {node: '>= 8.10.0'} 650 | dependencies: 651 | anymatch: 3.1.3 652 | braces: 3.0.2 653 | glob-parent: 5.1.2 654 | is-binary-path: 2.1.0 655 | is-glob: 4.0.3 656 | normalize-path: 3.0.0 657 | readdirp: 3.6.0 658 | optionalDependencies: 659 | fsevents: 2.3.2 660 | dev: true 661 | 662 | /color-convert/1.9.3: 663 | resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} 664 | dependencies: 665 | color-name: 1.1.3 666 | dev: true 667 | 668 | /color-name/1.1.3: 669 | resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} 670 | dev: true 671 | 672 | /colors/1.2.5: 673 | resolution: {integrity: sha512-erNRLao/Y3Fv54qUa0LBB+//Uf3YwMUmdJinN20yMXm9zdKKqH9wt7R9IIVZ+K7ShzfpLV/Zg8+VyrBJYB4lpg==} 674 | engines: {node: '>=0.1.90'} 675 | dev: true 676 | 677 | /commander/2.20.3: 678 | resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} 679 | dev: true 680 | 681 | /commander/4.1.1: 682 | resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} 683 | engines: {node: '>= 6'} 684 | dev: true 685 | 686 | /commander/9.5.0: 687 | resolution: {integrity: sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==} 688 | engines: {node: ^12.20.0 || >=14} 689 | requiresBuild: true 690 | dev: true 691 | optional: true 692 | 693 | /concat-map/0.0.1: 694 | resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} 695 | dev: true 696 | 697 | /cross-spawn/6.0.5: 698 | resolution: {integrity: sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==} 699 | engines: {node: '>=4.8'} 700 | dependencies: 701 | nice-try: 1.0.5 702 | path-key: 2.0.1 703 | semver: 5.7.2 704 | shebang-command: 1.2.0 705 | which: 1.3.1 706 | dev: true 707 | 708 | /cssesc/3.0.0: 709 | resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} 710 | engines: {node: '>=4'} 711 | hasBin: true 712 | dev: true 713 | 714 | /de-indent/1.0.2: 715 | resolution: {integrity: sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==} 716 | dev: true 717 | 718 | /debug/4.3.4: 719 | resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} 720 | engines: {node: '>=6.0'} 721 | peerDependencies: 722 | supports-color: '*' 723 | peerDependenciesMeta: 724 | supports-color: 725 | optional: true 726 | dependencies: 727 | ms: 2.1.2 728 | dev: true 729 | 730 | /define-properties/1.2.0: 731 | resolution: {integrity: sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==} 732 | engines: {node: '>= 0.4'} 733 | dependencies: 734 | has-property-descriptors: 1.0.0 735 | object-keys: 1.1.1 736 | dev: true 737 | 738 | /didyoumean/1.2.2: 739 | resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==} 740 | dev: true 741 | 742 | /dlv/1.1.3: 743 | resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==} 744 | dev: true 745 | 746 | /electron-to-chromium/1.4.492: 747 | resolution: {integrity: sha512-36K9b/6skMVwAIEsC7GiQ8I8N3soCALVSHqWHzNDtGemAcI9Xu8hP02cywWM0A794rTHm0b0zHPeLJHtgFVamQ==} 748 | dev: true 749 | 750 | /error-ex/1.3.2: 751 | resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} 752 | dependencies: 753 | is-arrayish: 0.2.1 754 | dev: true 755 | 756 | /es-abstract/1.22.1: 757 | resolution: {integrity: sha512-ioRRcXMO6OFyRpyzV3kE1IIBd4WG5/kltnzdxSCqoP8CMGs/Li+M1uF5o7lOkZVFjDs+NLesthnF66Pg/0q0Lw==} 758 | engines: {node: '>= 0.4'} 759 | dependencies: 760 | array-buffer-byte-length: 1.0.0 761 | arraybuffer.prototype.slice: 1.0.1 762 | available-typed-arrays: 1.0.5 763 | call-bind: 1.0.2 764 | es-set-tostringtag: 2.0.1 765 | es-to-primitive: 1.2.1 766 | function.prototype.name: 1.1.5 767 | get-intrinsic: 1.2.1 768 | get-symbol-description: 1.0.0 769 | globalthis: 1.0.3 770 | gopd: 1.0.1 771 | has: 1.0.3 772 | has-property-descriptors: 1.0.0 773 | has-proto: 1.0.1 774 | has-symbols: 1.0.3 775 | internal-slot: 1.0.5 776 | is-array-buffer: 3.0.2 777 | is-callable: 1.2.7 778 | is-negative-zero: 2.0.2 779 | is-regex: 1.1.4 780 | is-shared-array-buffer: 1.0.2 781 | is-string: 1.0.7 782 | is-typed-array: 1.1.12 783 | is-weakref: 1.0.2 784 | object-inspect: 1.12.3 785 | object-keys: 1.1.1 786 | object.assign: 4.1.4 787 | regexp.prototype.flags: 1.5.0 788 | safe-array-concat: 1.0.0 789 | safe-regex-test: 1.0.0 790 | string.prototype.trim: 1.2.7 791 | string.prototype.trimend: 1.0.6 792 | string.prototype.trimstart: 1.0.6 793 | typed-array-buffer: 1.0.0 794 | typed-array-byte-length: 1.0.0 795 | typed-array-byte-offset: 1.0.0 796 | typed-array-length: 1.0.4 797 | unbox-primitive: 1.0.2 798 | which-typed-array: 1.1.11 799 | dev: true 800 | 801 | /es-set-tostringtag/2.0.1: 802 | resolution: {integrity: sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==} 803 | engines: {node: '>= 0.4'} 804 | dependencies: 805 | get-intrinsic: 1.2.1 806 | has: 1.0.3 807 | has-tostringtag: 1.0.0 808 | dev: true 809 | 810 | /es-to-primitive/1.2.1: 811 | resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} 812 | engines: {node: '>= 0.4'} 813 | dependencies: 814 | is-callable: 1.2.7 815 | is-date-object: 1.0.5 816 | is-symbol: 1.0.4 817 | dev: true 818 | 819 | /esbuild/0.18.20: 820 | resolution: {integrity: sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==} 821 | engines: {node: '>=12'} 822 | hasBin: true 823 | requiresBuild: true 824 | optionalDependencies: 825 | '@esbuild/android-arm': 0.18.20 826 | '@esbuild/android-arm64': 0.18.20 827 | '@esbuild/android-x64': 0.18.20 828 | '@esbuild/darwin-arm64': 0.18.20 829 | '@esbuild/darwin-x64': 0.18.20 830 | '@esbuild/freebsd-arm64': 0.18.20 831 | '@esbuild/freebsd-x64': 0.18.20 832 | '@esbuild/linux-arm': 0.18.20 833 | '@esbuild/linux-arm64': 0.18.20 834 | '@esbuild/linux-ia32': 0.18.20 835 | '@esbuild/linux-loong64': 0.18.20 836 | '@esbuild/linux-mips64el': 0.18.20 837 | '@esbuild/linux-ppc64': 0.18.20 838 | '@esbuild/linux-riscv64': 0.18.20 839 | '@esbuild/linux-s390x': 0.18.20 840 | '@esbuild/linux-x64': 0.18.20 841 | '@esbuild/netbsd-x64': 0.18.20 842 | '@esbuild/openbsd-x64': 0.18.20 843 | '@esbuild/sunos-x64': 0.18.20 844 | '@esbuild/win32-arm64': 0.18.20 845 | '@esbuild/win32-ia32': 0.18.20 846 | '@esbuild/win32-x64': 0.18.20 847 | dev: true 848 | 849 | /escalade/3.1.1: 850 | resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} 851 | engines: {node: '>=6'} 852 | dev: true 853 | 854 | /escape-string-regexp/1.0.5: 855 | resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} 856 | engines: {node: '>=0.8.0'} 857 | dev: true 858 | 859 | /estree-walker/2.0.2: 860 | resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} 861 | dev: true 862 | 863 | /fast-deep-equal/3.1.3: 864 | resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} 865 | dev: true 866 | 867 | /fast-glob/3.3.1: 868 | resolution: {integrity: sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==} 869 | engines: {node: '>=8.6.0'} 870 | dependencies: 871 | '@nodelib/fs.stat': 2.0.5 872 | '@nodelib/fs.walk': 1.2.8 873 | glob-parent: 5.1.2 874 | merge2: 1.4.1 875 | micromatch: 4.0.5 876 | dev: true 877 | 878 | /fast-json-stable-stringify/2.1.0: 879 | resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} 880 | dev: true 881 | 882 | /fastq/1.15.0: 883 | resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==} 884 | dependencies: 885 | reusify: 1.0.4 886 | dev: true 887 | 888 | /fill-range/7.0.1: 889 | resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} 890 | engines: {node: '>=8'} 891 | dependencies: 892 | to-regex-range: 5.0.1 893 | dev: true 894 | 895 | /for-each/0.3.3: 896 | resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} 897 | dependencies: 898 | is-callable: 1.2.7 899 | dev: true 900 | 901 | /fraction.js/4.2.0: 902 | resolution: {integrity: sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==} 903 | dev: true 904 | 905 | /fs-extra/7.0.1: 906 | resolution: {integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==} 907 | engines: {node: '>=6 <7 || >=8'} 908 | dependencies: 909 | graceful-fs: 4.2.11 910 | jsonfile: 4.0.0 911 | universalify: 0.1.2 912 | dev: true 913 | 914 | /fs.realpath/1.0.0: 915 | resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} 916 | dev: true 917 | 918 | /fsevents/2.3.2: 919 | resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} 920 | engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} 921 | os: [darwin] 922 | requiresBuild: true 923 | dev: true 924 | optional: true 925 | 926 | /function-bind/1.1.1: 927 | resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} 928 | dev: true 929 | 930 | /function.prototype.name/1.1.5: 931 | resolution: {integrity: sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==} 932 | engines: {node: '>= 0.4'} 933 | dependencies: 934 | call-bind: 1.0.2 935 | define-properties: 1.2.0 936 | es-abstract: 1.22.1 937 | functions-have-names: 1.2.3 938 | dev: true 939 | 940 | /functions-have-names/1.2.3: 941 | resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} 942 | dev: true 943 | 944 | /get-intrinsic/1.2.1: 945 | resolution: {integrity: sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==} 946 | dependencies: 947 | function-bind: 1.1.1 948 | has: 1.0.3 949 | has-proto: 1.0.1 950 | has-symbols: 1.0.3 951 | dev: true 952 | 953 | /get-symbol-description/1.0.0: 954 | resolution: {integrity: sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==} 955 | engines: {node: '>= 0.4'} 956 | dependencies: 957 | call-bind: 1.0.2 958 | get-intrinsic: 1.2.1 959 | dev: true 960 | 961 | /glob-parent/5.1.2: 962 | resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} 963 | engines: {node: '>= 6'} 964 | dependencies: 965 | is-glob: 4.0.3 966 | dev: true 967 | 968 | /glob-parent/6.0.2: 969 | resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} 970 | engines: {node: '>=10.13.0'} 971 | dependencies: 972 | is-glob: 4.0.3 973 | dev: true 974 | 975 | /glob/7.1.6: 976 | resolution: {integrity: sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==} 977 | dependencies: 978 | fs.realpath: 1.0.0 979 | inflight: 1.0.6 980 | inherits: 2.0.4 981 | minimatch: 3.1.2 982 | once: 1.4.0 983 | path-is-absolute: 1.0.1 984 | dev: true 985 | 986 | /globalthis/1.0.3: 987 | resolution: {integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==} 988 | engines: {node: '>= 0.4'} 989 | dependencies: 990 | define-properties: 1.2.0 991 | dev: true 992 | 993 | /gopd/1.0.1: 994 | resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} 995 | dependencies: 996 | get-intrinsic: 1.2.1 997 | dev: true 998 | 999 | /graceful-fs/4.2.11: 1000 | resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} 1001 | dev: true 1002 | 1003 | /has-bigints/1.0.2: 1004 | resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==} 1005 | dev: true 1006 | 1007 | /has-flag/3.0.0: 1008 | resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} 1009 | engines: {node: '>=4'} 1010 | dev: true 1011 | 1012 | /has-property-descriptors/1.0.0: 1013 | resolution: {integrity: sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==} 1014 | dependencies: 1015 | get-intrinsic: 1.2.1 1016 | dev: true 1017 | 1018 | /has-proto/1.0.1: 1019 | resolution: {integrity: sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==} 1020 | engines: {node: '>= 0.4'} 1021 | dev: true 1022 | 1023 | /has-symbols/1.0.3: 1024 | resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} 1025 | engines: {node: '>= 0.4'} 1026 | dev: true 1027 | 1028 | /has-tostringtag/1.0.0: 1029 | resolution: {integrity: sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==} 1030 | engines: {node: '>= 0.4'} 1031 | dependencies: 1032 | has-symbols: 1.0.3 1033 | dev: true 1034 | 1035 | /has/1.0.3: 1036 | resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} 1037 | engines: {node: '>= 0.4.0'} 1038 | dependencies: 1039 | function-bind: 1.1.1 1040 | dev: true 1041 | 1042 | /he/1.2.0: 1043 | resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} 1044 | hasBin: true 1045 | dev: true 1046 | 1047 | /hosted-git-info/2.8.9: 1048 | resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} 1049 | dev: true 1050 | 1051 | /husky/8.0.3: 1052 | resolution: {integrity: sha512-+dQSyqPh4x1hlO1swXBiNb2HzTDN1I2IGLQx1GrBuiqFJfoMrnZWwVmatvSiO+Iz8fBUnf+lekwNo4c2LlXItg==} 1053 | engines: {node: '>=14'} 1054 | hasBin: true 1055 | dev: true 1056 | 1057 | /import-lazy/4.0.0: 1058 | resolution: {integrity: sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==} 1059 | engines: {node: '>=8'} 1060 | dev: true 1061 | 1062 | /inflight/1.0.6: 1063 | resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} 1064 | dependencies: 1065 | once: 1.4.0 1066 | wrappy: 1.0.2 1067 | dev: true 1068 | 1069 | /inherits/2.0.4: 1070 | resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} 1071 | dev: true 1072 | 1073 | /internal-slot/1.0.5: 1074 | resolution: {integrity: sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==} 1075 | engines: {node: '>= 0.4'} 1076 | dependencies: 1077 | get-intrinsic: 1.2.1 1078 | has: 1.0.3 1079 | side-channel: 1.0.4 1080 | dev: true 1081 | 1082 | /is-array-buffer/3.0.2: 1083 | resolution: {integrity: sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==} 1084 | dependencies: 1085 | call-bind: 1.0.2 1086 | get-intrinsic: 1.2.1 1087 | is-typed-array: 1.1.12 1088 | dev: true 1089 | 1090 | /is-arrayish/0.2.1: 1091 | resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} 1092 | dev: true 1093 | 1094 | /is-bigint/1.0.4: 1095 | resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} 1096 | dependencies: 1097 | has-bigints: 1.0.2 1098 | dev: true 1099 | 1100 | /is-binary-path/2.1.0: 1101 | resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} 1102 | engines: {node: '>=8'} 1103 | dependencies: 1104 | binary-extensions: 2.2.0 1105 | dev: true 1106 | 1107 | /is-boolean-object/1.1.2: 1108 | resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} 1109 | engines: {node: '>= 0.4'} 1110 | dependencies: 1111 | call-bind: 1.0.2 1112 | has-tostringtag: 1.0.0 1113 | dev: true 1114 | 1115 | /is-callable/1.2.7: 1116 | resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} 1117 | engines: {node: '>= 0.4'} 1118 | dev: true 1119 | 1120 | /is-core-module/2.13.0: 1121 | resolution: {integrity: sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==} 1122 | dependencies: 1123 | has: 1.0.3 1124 | dev: true 1125 | 1126 | /is-date-object/1.0.5: 1127 | resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} 1128 | engines: {node: '>= 0.4'} 1129 | dependencies: 1130 | has-tostringtag: 1.0.0 1131 | dev: true 1132 | 1133 | /is-extglob/2.1.1: 1134 | resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} 1135 | engines: {node: '>=0.10.0'} 1136 | dev: true 1137 | 1138 | /is-glob/4.0.3: 1139 | resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} 1140 | engines: {node: '>=0.10.0'} 1141 | dependencies: 1142 | is-extglob: 2.1.1 1143 | dev: true 1144 | 1145 | /is-negative-zero/2.0.2: 1146 | resolution: {integrity: sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==} 1147 | engines: {node: '>= 0.4'} 1148 | dev: true 1149 | 1150 | /is-number-object/1.0.7: 1151 | resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==} 1152 | engines: {node: '>= 0.4'} 1153 | dependencies: 1154 | has-tostringtag: 1.0.0 1155 | dev: true 1156 | 1157 | /is-number/7.0.0: 1158 | resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} 1159 | engines: {node: '>=0.12.0'} 1160 | dev: true 1161 | 1162 | /is-regex/1.1.4: 1163 | resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} 1164 | engines: {node: '>= 0.4'} 1165 | dependencies: 1166 | call-bind: 1.0.2 1167 | has-tostringtag: 1.0.0 1168 | dev: true 1169 | 1170 | /is-shared-array-buffer/1.0.2: 1171 | resolution: {integrity: sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==} 1172 | dependencies: 1173 | call-bind: 1.0.2 1174 | dev: true 1175 | 1176 | /is-string/1.0.7: 1177 | resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} 1178 | engines: {node: '>= 0.4'} 1179 | dependencies: 1180 | has-tostringtag: 1.0.0 1181 | dev: true 1182 | 1183 | /is-symbol/1.0.4: 1184 | resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==} 1185 | engines: {node: '>= 0.4'} 1186 | dependencies: 1187 | has-symbols: 1.0.3 1188 | dev: true 1189 | 1190 | /is-typed-array/1.1.12: 1191 | resolution: {integrity: sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==} 1192 | engines: {node: '>= 0.4'} 1193 | dependencies: 1194 | which-typed-array: 1.1.11 1195 | dev: true 1196 | 1197 | /is-weakref/1.0.2: 1198 | resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} 1199 | dependencies: 1200 | call-bind: 1.0.2 1201 | dev: true 1202 | 1203 | /isarray/2.0.5: 1204 | resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} 1205 | dev: true 1206 | 1207 | /isexe/2.0.0: 1208 | resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} 1209 | dev: true 1210 | 1211 | /jiti/1.19.1: 1212 | resolution: {integrity: sha512-oVhqoRDaBXf7sjkll95LHVS6Myyyb1zaunVwk4Z0+WPSW4gjS0pl01zYKHScTuyEhQsFxV5L4DR5r+YqSyqyyg==} 1213 | hasBin: true 1214 | dev: true 1215 | 1216 | /jju/1.4.0: 1217 | resolution: {integrity: sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==} 1218 | dev: true 1219 | 1220 | /json-parse-better-errors/1.0.2: 1221 | resolution: {integrity: sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==} 1222 | dev: true 1223 | 1224 | /json-schema-traverse/0.4.1: 1225 | resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} 1226 | dev: true 1227 | 1228 | /jsonfile/4.0.0: 1229 | resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} 1230 | optionalDependencies: 1231 | graceful-fs: 4.2.11 1232 | dev: true 1233 | 1234 | /kolorist/1.8.0: 1235 | resolution: {integrity: sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==} 1236 | dev: true 1237 | 1238 | /lilconfig/2.1.0: 1239 | resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==} 1240 | engines: {node: '>=10'} 1241 | dev: true 1242 | 1243 | /lines-and-columns/1.2.4: 1244 | resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} 1245 | dev: true 1246 | 1247 | /load-json-file/4.0.0: 1248 | resolution: {integrity: sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==} 1249 | engines: {node: '>=4'} 1250 | dependencies: 1251 | graceful-fs: 4.2.11 1252 | parse-json: 4.0.0 1253 | pify: 3.0.0 1254 | strip-bom: 3.0.0 1255 | dev: true 1256 | 1257 | /lodash.get/4.4.2: 1258 | resolution: {integrity: sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==} 1259 | dev: true 1260 | 1261 | /lodash.isequal/4.5.0: 1262 | resolution: {integrity: sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==} 1263 | dev: true 1264 | 1265 | /lodash/4.17.21: 1266 | resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} 1267 | dev: true 1268 | 1269 | /lru-cache/6.0.0: 1270 | resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} 1271 | engines: {node: '>=10'} 1272 | dependencies: 1273 | yallist: 4.0.0 1274 | dev: true 1275 | 1276 | /memorystream/0.3.1: 1277 | resolution: {integrity: sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw==} 1278 | engines: {node: '>= 0.10.0'} 1279 | dev: true 1280 | 1281 | /merge2/1.4.1: 1282 | resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} 1283 | engines: {node: '>= 8'} 1284 | dev: true 1285 | 1286 | /micromatch/4.0.5: 1287 | resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} 1288 | engines: {node: '>=8.6'} 1289 | dependencies: 1290 | braces: 3.0.2 1291 | picomatch: 2.3.1 1292 | dev: true 1293 | 1294 | /minimatch/3.1.2: 1295 | resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} 1296 | dependencies: 1297 | brace-expansion: 1.1.11 1298 | dev: true 1299 | 1300 | /minimatch/9.0.3: 1301 | resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==} 1302 | engines: {node: '>=16 || 14 >=14.17'} 1303 | dependencies: 1304 | brace-expansion: 2.0.1 1305 | dev: true 1306 | 1307 | /ms/2.1.2: 1308 | resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} 1309 | dev: true 1310 | 1311 | /muggle-string/0.3.1: 1312 | resolution: {integrity: sha512-ckmWDJjphvd/FvZawgygcUeQCxzvohjFO5RxTjj4eq8kw359gFF3E1brjfI+viLMxss5JrHTDRHZvu2/tuy0Qg==} 1313 | dev: true 1314 | 1315 | /mz/2.7.0: 1316 | resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} 1317 | dependencies: 1318 | any-promise: 1.3.0 1319 | object-assign: 4.1.1 1320 | thenify-all: 1.6.0 1321 | dev: true 1322 | 1323 | /nanoid/3.3.6: 1324 | resolution: {integrity: sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==} 1325 | engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} 1326 | hasBin: true 1327 | dev: true 1328 | 1329 | /nice-try/1.0.5: 1330 | resolution: {integrity: sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==} 1331 | dev: true 1332 | 1333 | /node-releases/2.0.13: 1334 | resolution: {integrity: sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==} 1335 | dev: true 1336 | 1337 | /normalize-package-data/2.5.0: 1338 | resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} 1339 | dependencies: 1340 | hosted-git-info: 2.8.9 1341 | resolve: 1.22.4 1342 | semver: 5.7.2 1343 | validate-npm-package-license: 3.0.4 1344 | dev: true 1345 | 1346 | /normalize-path/3.0.0: 1347 | resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} 1348 | engines: {node: '>=0.10.0'} 1349 | dev: true 1350 | 1351 | /normalize-range/0.1.2: 1352 | resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==} 1353 | engines: {node: '>=0.10.0'} 1354 | dev: true 1355 | 1356 | /npm-run-all/4.1.5: 1357 | resolution: {integrity: sha512-Oo82gJDAVcaMdi3nuoKFavkIHBRVqQ1qvMb+9LHk/cF4P6B2m8aP04hGf7oL6wZ9BuGwX1onlLhpuoofSyoQDQ==} 1358 | engines: {node: '>= 4'} 1359 | hasBin: true 1360 | dependencies: 1361 | ansi-styles: 3.2.1 1362 | chalk: 2.4.2 1363 | cross-spawn: 6.0.5 1364 | memorystream: 0.3.1 1365 | minimatch: 3.1.2 1366 | pidtree: 0.3.1 1367 | read-pkg: 3.0.0 1368 | shell-quote: 1.8.1 1369 | string.prototype.padend: 3.1.4 1370 | dev: true 1371 | 1372 | /object-assign/4.1.1: 1373 | resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} 1374 | engines: {node: '>=0.10.0'} 1375 | dev: true 1376 | 1377 | /object-hash/3.0.0: 1378 | resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==} 1379 | engines: {node: '>= 6'} 1380 | dev: true 1381 | 1382 | /object-inspect/1.12.3: 1383 | resolution: {integrity: sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==} 1384 | dev: true 1385 | 1386 | /object-keys/1.1.1: 1387 | resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} 1388 | engines: {node: '>= 0.4'} 1389 | dev: true 1390 | 1391 | /object.assign/4.1.4: 1392 | resolution: {integrity: sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==} 1393 | engines: {node: '>= 0.4'} 1394 | dependencies: 1395 | call-bind: 1.0.2 1396 | define-properties: 1.2.0 1397 | has-symbols: 1.0.3 1398 | object-keys: 1.1.1 1399 | dev: true 1400 | 1401 | /once/1.4.0: 1402 | resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} 1403 | dependencies: 1404 | wrappy: 1.0.2 1405 | dev: true 1406 | 1407 | /parse-json/4.0.0: 1408 | resolution: {integrity: sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==} 1409 | engines: {node: '>=4'} 1410 | dependencies: 1411 | error-ex: 1.3.2 1412 | json-parse-better-errors: 1.0.2 1413 | dev: true 1414 | 1415 | /path-is-absolute/1.0.1: 1416 | resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} 1417 | engines: {node: '>=0.10.0'} 1418 | dev: true 1419 | 1420 | /path-key/2.0.1: 1421 | resolution: {integrity: sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==} 1422 | engines: {node: '>=4'} 1423 | dev: true 1424 | 1425 | /path-parse/1.0.7: 1426 | resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} 1427 | dev: true 1428 | 1429 | /path-type/3.0.0: 1430 | resolution: {integrity: sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==} 1431 | engines: {node: '>=4'} 1432 | dependencies: 1433 | pify: 3.0.0 1434 | dev: true 1435 | 1436 | /picocolors/1.0.0: 1437 | resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} 1438 | dev: true 1439 | 1440 | /picomatch/2.3.1: 1441 | resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} 1442 | engines: {node: '>=8.6'} 1443 | dev: true 1444 | 1445 | /pidtree/0.3.1: 1446 | resolution: {integrity: sha512-qQbW94hLHEqCg7nhby4yRC7G2+jYHY4Rguc2bjw7Uug4GIJuu1tvf2uHaZv5Q8zdt+WKJ6qK1FOI6amaWUo5FA==} 1447 | engines: {node: '>=0.10'} 1448 | hasBin: true 1449 | dev: true 1450 | 1451 | /pify/2.3.0: 1452 | resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} 1453 | engines: {node: '>=0.10.0'} 1454 | dev: true 1455 | 1456 | /pify/3.0.0: 1457 | resolution: {integrity: sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==} 1458 | engines: {node: '>=4'} 1459 | dev: true 1460 | 1461 | /pirates/4.0.6: 1462 | resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==} 1463 | engines: {node: '>= 6'} 1464 | dev: true 1465 | 1466 | /postcss-import/15.1.0_postcss@8.4.28: 1467 | resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==} 1468 | engines: {node: '>=14.0.0'} 1469 | peerDependencies: 1470 | postcss: ^8.0.0 1471 | dependencies: 1472 | postcss: 8.4.28 1473 | postcss-value-parser: 4.2.0 1474 | read-cache: 1.0.0 1475 | resolve: 1.22.4 1476 | dev: true 1477 | 1478 | /postcss-js/4.0.1_postcss@8.4.28: 1479 | resolution: {integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==} 1480 | engines: {node: ^12 || ^14 || >= 16} 1481 | peerDependencies: 1482 | postcss: ^8.4.21 1483 | dependencies: 1484 | camelcase-css: 2.0.1 1485 | postcss: 8.4.28 1486 | dev: true 1487 | 1488 | /postcss-load-config/4.0.1_postcss@8.4.28: 1489 | resolution: {integrity: sha512-vEJIc8RdiBRu3oRAI0ymerOn+7rPuMvRXslTvZUKZonDHFIczxztIyJ1urxM1x9JXEikvpWWTUUqal5j/8QgvA==} 1490 | engines: {node: '>= 14'} 1491 | peerDependencies: 1492 | postcss: '>=8.0.9' 1493 | ts-node: '>=9.0.0' 1494 | peerDependenciesMeta: 1495 | postcss: 1496 | optional: true 1497 | ts-node: 1498 | optional: true 1499 | dependencies: 1500 | lilconfig: 2.1.0 1501 | postcss: 8.4.28 1502 | yaml: 2.3.1 1503 | dev: true 1504 | 1505 | /postcss-nested/6.0.1_postcss@8.4.28: 1506 | resolution: {integrity: sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==} 1507 | engines: {node: '>=12.0'} 1508 | peerDependencies: 1509 | postcss: ^8.2.14 1510 | dependencies: 1511 | postcss: 8.4.28 1512 | postcss-selector-parser: 6.0.13 1513 | dev: true 1514 | 1515 | /postcss-selector-parser/6.0.13: 1516 | resolution: {integrity: sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==} 1517 | engines: {node: '>=4'} 1518 | dependencies: 1519 | cssesc: 3.0.0 1520 | util-deprecate: 1.0.2 1521 | dev: true 1522 | 1523 | /postcss-value-parser/4.2.0: 1524 | resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} 1525 | dev: true 1526 | 1527 | /postcss/8.4.28: 1528 | resolution: {integrity: sha512-Z7V5j0cq8oEKyejIKfpD8b4eBy9cwW2JWPk0+fB1HOAMsfHbnAXLLS+PfVWlzMSLQaWttKDt607I0XHmpE67Vw==} 1529 | engines: {node: ^10 || ^12 || >=14} 1530 | dependencies: 1531 | nanoid: 3.3.6 1532 | picocolors: 1.0.0 1533 | source-map-js: 1.0.2 1534 | dev: true 1535 | 1536 | /prettier/2.8.8: 1537 | resolution: {integrity: sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==} 1538 | engines: {node: '>=10.13.0'} 1539 | hasBin: true 1540 | dev: true 1541 | 1542 | /punycode/2.3.0: 1543 | resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==} 1544 | engines: {node: '>=6'} 1545 | dev: true 1546 | 1547 | /queue-microtask/1.2.3: 1548 | resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} 1549 | dev: true 1550 | 1551 | /read-cache/1.0.0: 1552 | resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==} 1553 | dependencies: 1554 | pify: 2.3.0 1555 | dev: true 1556 | 1557 | /read-pkg/3.0.0: 1558 | resolution: {integrity: sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA==} 1559 | engines: {node: '>=4'} 1560 | dependencies: 1561 | load-json-file: 4.0.0 1562 | normalize-package-data: 2.5.0 1563 | path-type: 3.0.0 1564 | dev: true 1565 | 1566 | /readdirp/3.6.0: 1567 | resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} 1568 | engines: {node: '>=8.10.0'} 1569 | dependencies: 1570 | picomatch: 2.3.1 1571 | dev: true 1572 | 1573 | /regexp.prototype.flags/1.5.0: 1574 | resolution: {integrity: sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA==} 1575 | engines: {node: '>= 0.4'} 1576 | dependencies: 1577 | call-bind: 1.0.2 1578 | define-properties: 1.2.0 1579 | functions-have-names: 1.2.3 1580 | dev: true 1581 | 1582 | /resolve/1.19.0: 1583 | resolution: {integrity: sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==} 1584 | dependencies: 1585 | is-core-module: 2.13.0 1586 | path-parse: 1.0.7 1587 | dev: true 1588 | 1589 | /resolve/1.22.4: 1590 | resolution: {integrity: sha512-PXNdCiPqDqeUou+w1C2eTQbNfxKSuMxqTCuvlmmMsk1NWHL5fRrhY6Pl0qEYYc6+QqGClco1Qj8XnjPego4wfg==} 1591 | hasBin: true 1592 | dependencies: 1593 | is-core-module: 2.13.0 1594 | path-parse: 1.0.7 1595 | supports-preserve-symlinks-flag: 1.0.0 1596 | dev: true 1597 | 1598 | /reusify/1.0.4: 1599 | resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} 1600 | engines: {iojs: '>=1.0.0', node: '>=0.10.0'} 1601 | dev: true 1602 | 1603 | /rollup/3.28.0: 1604 | resolution: {integrity: sha512-d7zhvo1OUY2SXSM6pfNjgD5+d0Nz87CUp4mt8l/GgVP3oBsPwzNvSzyu1me6BSG9JIgWNTVcafIXBIyM8yQ3yw==} 1605 | engines: {node: '>=14.18.0', npm: '>=8.0.0'} 1606 | hasBin: true 1607 | optionalDependencies: 1608 | fsevents: 2.3.2 1609 | dev: true 1610 | 1611 | /run-parallel/1.2.0: 1612 | resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} 1613 | dependencies: 1614 | queue-microtask: 1.2.3 1615 | dev: true 1616 | 1617 | /safe-array-concat/1.0.0: 1618 | resolution: {integrity: sha512-9dVEFruWIsnie89yym+xWTAYASdpw3CJV7Li/6zBewGf9z2i1j31rP6jnY0pHEO4QZh6N0K11bFjWmdR8UGdPQ==} 1619 | engines: {node: '>=0.4'} 1620 | dependencies: 1621 | call-bind: 1.0.2 1622 | get-intrinsic: 1.2.1 1623 | has-symbols: 1.0.3 1624 | isarray: 2.0.5 1625 | dev: true 1626 | 1627 | /safe-regex-test/1.0.0: 1628 | resolution: {integrity: sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==} 1629 | dependencies: 1630 | call-bind: 1.0.2 1631 | get-intrinsic: 1.2.1 1632 | is-regex: 1.1.4 1633 | dev: true 1634 | 1635 | /semver/5.7.2: 1636 | resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==} 1637 | hasBin: true 1638 | dev: true 1639 | 1640 | /semver/7.5.4: 1641 | resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==} 1642 | engines: {node: '>=10'} 1643 | hasBin: true 1644 | dependencies: 1645 | lru-cache: 6.0.0 1646 | dev: true 1647 | 1648 | /shebang-command/1.2.0: 1649 | resolution: {integrity: sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==} 1650 | engines: {node: '>=0.10.0'} 1651 | dependencies: 1652 | shebang-regex: 1.0.0 1653 | dev: true 1654 | 1655 | /shebang-regex/1.0.0: 1656 | resolution: {integrity: sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==} 1657 | engines: {node: '>=0.10.0'} 1658 | dev: true 1659 | 1660 | /shell-quote/1.8.1: 1661 | resolution: {integrity: sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==} 1662 | dev: true 1663 | 1664 | /side-channel/1.0.4: 1665 | resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==} 1666 | dependencies: 1667 | call-bind: 1.0.2 1668 | get-intrinsic: 1.2.1 1669 | object-inspect: 1.12.3 1670 | dev: true 1671 | 1672 | /source-map-js/1.0.2: 1673 | resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} 1674 | engines: {node: '>=0.10.0'} 1675 | dev: true 1676 | 1677 | /source-map-support/0.5.21: 1678 | resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} 1679 | dependencies: 1680 | buffer-from: 1.1.2 1681 | source-map: 0.6.1 1682 | dev: true 1683 | 1684 | /source-map/0.6.1: 1685 | resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} 1686 | engines: {node: '>=0.10.0'} 1687 | dev: true 1688 | 1689 | /spdx-correct/3.2.0: 1690 | resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==} 1691 | dependencies: 1692 | spdx-expression-parse: 3.0.1 1693 | spdx-license-ids: 3.0.13 1694 | dev: true 1695 | 1696 | /spdx-exceptions/2.3.0: 1697 | resolution: {integrity: sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==} 1698 | dev: true 1699 | 1700 | /spdx-expression-parse/3.0.1: 1701 | resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} 1702 | dependencies: 1703 | spdx-exceptions: 2.3.0 1704 | spdx-license-ids: 3.0.13 1705 | dev: true 1706 | 1707 | /spdx-license-ids/3.0.13: 1708 | resolution: {integrity: sha512-XkD+zwiqXHikFZm4AX/7JSCXA98U5Db4AFd5XUg/+9UNtnH75+Z9KxtpYiJZx36mUDVOwH83pl7yvCer6ewM3w==} 1709 | dev: true 1710 | 1711 | /sprintf-js/1.0.3: 1712 | resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} 1713 | dev: true 1714 | 1715 | /string-argv/0.3.2: 1716 | resolution: {integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==} 1717 | engines: {node: '>=0.6.19'} 1718 | dev: true 1719 | 1720 | /string.prototype.padend/3.1.4: 1721 | resolution: {integrity: sha512-67otBXoksdjsnXXRUq+KMVTdlVRZ2af422Y0aTyTjVaoQkGr3mxl2Bc5emi7dOQ3OGVVQQskmLEWwFXwommpNw==} 1722 | engines: {node: '>= 0.4'} 1723 | dependencies: 1724 | call-bind: 1.0.2 1725 | define-properties: 1.2.0 1726 | es-abstract: 1.22.1 1727 | dev: true 1728 | 1729 | /string.prototype.trim/1.2.7: 1730 | resolution: {integrity: sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg==} 1731 | engines: {node: '>= 0.4'} 1732 | dependencies: 1733 | call-bind: 1.0.2 1734 | define-properties: 1.2.0 1735 | es-abstract: 1.22.1 1736 | dev: true 1737 | 1738 | /string.prototype.trimend/1.0.6: 1739 | resolution: {integrity: sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==} 1740 | dependencies: 1741 | call-bind: 1.0.2 1742 | define-properties: 1.2.0 1743 | es-abstract: 1.22.1 1744 | dev: true 1745 | 1746 | /string.prototype.trimstart/1.0.6: 1747 | resolution: {integrity: sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==} 1748 | dependencies: 1749 | call-bind: 1.0.2 1750 | define-properties: 1.2.0 1751 | es-abstract: 1.22.1 1752 | dev: true 1753 | 1754 | /strip-bom/3.0.0: 1755 | resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} 1756 | engines: {node: '>=4'} 1757 | dev: true 1758 | 1759 | /strip-json-comments/3.1.1: 1760 | resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} 1761 | engines: {node: '>=8'} 1762 | dev: true 1763 | 1764 | /sucrase/3.34.0: 1765 | resolution: {integrity: sha512-70/LQEZ07TEcxiU2dz51FKaE6hCTWC6vr7FOk3Gr0U60C3shtAN+H+BFr9XlYe5xqf3RA8nrc+VIwzCfnxuXJw==} 1766 | engines: {node: '>=8'} 1767 | hasBin: true 1768 | dependencies: 1769 | '@jridgewell/gen-mapping': 0.3.3 1770 | commander: 4.1.1 1771 | glob: 7.1.6 1772 | lines-and-columns: 1.2.4 1773 | mz: 2.7.0 1774 | pirates: 4.0.6 1775 | ts-interface-checker: 0.1.13 1776 | dev: true 1777 | 1778 | /supports-color/5.5.0: 1779 | resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} 1780 | engines: {node: '>=4'} 1781 | dependencies: 1782 | has-flag: 3.0.0 1783 | dev: true 1784 | 1785 | /supports-preserve-symlinks-flag/1.0.0: 1786 | resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} 1787 | engines: {node: '>= 0.4'} 1788 | dev: true 1789 | 1790 | /tailwindcss/3.3.3: 1791 | resolution: {integrity: sha512-A0KgSkef7eE4Mf+nKJ83i75TMyq8HqY3qmFIJSWy8bNt0v1lG7jUcpGpoTFxAwYcWOphcTBLPPJg+bDfhDf52w==} 1792 | engines: {node: '>=14.0.0'} 1793 | hasBin: true 1794 | dependencies: 1795 | '@alloc/quick-lru': 5.2.0 1796 | arg: 5.0.2 1797 | chokidar: 3.5.3 1798 | didyoumean: 1.2.2 1799 | dlv: 1.1.3 1800 | fast-glob: 3.3.1 1801 | glob-parent: 6.0.2 1802 | is-glob: 4.0.3 1803 | jiti: 1.19.1 1804 | lilconfig: 2.1.0 1805 | micromatch: 4.0.5 1806 | normalize-path: 3.0.0 1807 | object-hash: 3.0.0 1808 | picocolors: 1.0.0 1809 | postcss: 8.4.28 1810 | postcss-import: 15.1.0_postcss@8.4.28 1811 | postcss-js: 4.0.1_postcss@8.4.28 1812 | postcss-load-config: 4.0.1_postcss@8.4.28 1813 | postcss-nested: 6.0.1_postcss@8.4.28 1814 | postcss-selector-parser: 6.0.13 1815 | resolve: 1.22.4 1816 | sucrase: 3.34.0 1817 | transitivePeerDependencies: 1818 | - ts-node 1819 | dev: true 1820 | 1821 | /terser/5.19.2: 1822 | resolution: {integrity: sha512-qC5+dmecKJA4cpYxRa5aVkKehYsQKc+AHeKl0Oe62aYjBL8ZA33tTljktDHJSaxxMnbI5ZYw+o/S2DxxLu8OfA==} 1823 | engines: {node: '>=10'} 1824 | hasBin: true 1825 | dependencies: 1826 | '@jridgewell/source-map': 0.3.5 1827 | acorn: 8.10.0 1828 | commander: 2.20.3 1829 | source-map-support: 0.5.21 1830 | dev: true 1831 | 1832 | /thenify-all/1.6.0: 1833 | resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} 1834 | engines: {node: '>=0.8'} 1835 | dependencies: 1836 | thenify: 3.3.1 1837 | dev: true 1838 | 1839 | /thenify/3.3.1: 1840 | resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} 1841 | dependencies: 1842 | any-promise: 1.3.0 1843 | dev: true 1844 | 1845 | /to-fast-properties/2.0.0: 1846 | resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} 1847 | engines: {node: '>=4'} 1848 | dev: true 1849 | 1850 | /to-regex-range/5.0.1: 1851 | resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} 1852 | engines: {node: '>=8.0'} 1853 | dependencies: 1854 | is-number: 7.0.0 1855 | dev: true 1856 | 1857 | /ts-interface-checker/0.1.13: 1858 | resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} 1859 | dev: true 1860 | 1861 | /typed-array-buffer/1.0.0: 1862 | resolution: {integrity: sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==} 1863 | engines: {node: '>= 0.4'} 1864 | dependencies: 1865 | call-bind: 1.0.2 1866 | get-intrinsic: 1.2.1 1867 | is-typed-array: 1.1.12 1868 | dev: true 1869 | 1870 | /typed-array-byte-length/1.0.0: 1871 | resolution: {integrity: sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==} 1872 | engines: {node: '>= 0.4'} 1873 | dependencies: 1874 | call-bind: 1.0.2 1875 | for-each: 0.3.3 1876 | has-proto: 1.0.1 1877 | is-typed-array: 1.1.12 1878 | dev: true 1879 | 1880 | /typed-array-byte-offset/1.0.0: 1881 | resolution: {integrity: sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==} 1882 | engines: {node: '>= 0.4'} 1883 | dependencies: 1884 | available-typed-arrays: 1.0.5 1885 | call-bind: 1.0.2 1886 | for-each: 0.3.3 1887 | has-proto: 1.0.1 1888 | is-typed-array: 1.1.12 1889 | dev: true 1890 | 1891 | /typed-array-length/1.0.4: 1892 | resolution: {integrity: sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==} 1893 | dependencies: 1894 | call-bind: 1.0.2 1895 | for-each: 0.3.3 1896 | is-typed-array: 1.1.12 1897 | dev: true 1898 | 1899 | /typescript/5.0.4: 1900 | resolution: {integrity: sha512-cW9T5W9xY37cc+jfEnaUvX91foxtHkza3Nw3wkoF4sSlKn0MONdkdEndig/qPBWXNkmplh3NzayQzCiHM4/hqw==} 1901 | engines: {node: '>=12.20'} 1902 | hasBin: true 1903 | dev: true 1904 | 1905 | /typescript/5.1.6: 1906 | resolution: {integrity: sha512-zaWCozRZ6DLEWAWFrVDz1H6FVXzUSfTy5FUMWsQlU8Ym5JP9eO4xkTIROFCQvhQf61z6O/G6ugw3SgAnvvm+HA==} 1907 | engines: {node: '>=14.17'} 1908 | hasBin: true 1909 | dev: true 1910 | 1911 | /unbox-primitive/1.0.2: 1912 | resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} 1913 | dependencies: 1914 | call-bind: 1.0.2 1915 | has-bigints: 1.0.2 1916 | has-symbols: 1.0.3 1917 | which-boxed-primitive: 1.0.2 1918 | dev: true 1919 | 1920 | /universalify/0.1.2: 1921 | resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} 1922 | engines: {node: '>= 4.0.0'} 1923 | dev: true 1924 | 1925 | /update-browserslist-db/1.0.11_browserslist@4.21.10: 1926 | resolution: {integrity: sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==} 1927 | hasBin: true 1928 | peerDependencies: 1929 | browserslist: '>= 4.21.0' 1930 | dependencies: 1931 | browserslist: 4.21.10 1932 | escalade: 3.1.1 1933 | picocolors: 1.0.0 1934 | dev: true 1935 | 1936 | /uri-js/4.4.1: 1937 | resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} 1938 | dependencies: 1939 | punycode: 2.3.0 1940 | dev: true 1941 | 1942 | /util-deprecate/1.0.2: 1943 | resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} 1944 | dev: true 1945 | 1946 | /validate-npm-package-license/3.0.4: 1947 | resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} 1948 | dependencies: 1949 | spdx-correct: 3.2.0 1950 | spdx-expression-parse: 3.0.1 1951 | dev: true 1952 | 1953 | /validator/13.11.0: 1954 | resolution: {integrity: sha512-Ii+sehpSfZy+At5nPdnyMhx78fEoPDkR2XW/zimHEL3MyGJQOCQ7WeP20jPYRz7ZCpcKLB21NxuXHF3bxjStBQ==} 1955 | engines: {node: '>= 0.10'} 1956 | dev: true 1957 | 1958 | /vite-plugin-dts/3.5.2_kqekcwwe45upc3dir3t6ijilta: 1959 | resolution: {integrity: sha512-iKc851+jdHEoN1ifbOEsoMs+/Zg26PE1EyO2Jc+4apOWRoaeK2zRJnaStgUuJaVaEcAjTqWzpNgCAMq7iO6DWA==} 1960 | engines: {node: ^14.18.0 || >=16.0.0} 1961 | peerDependencies: 1962 | typescript: '*' 1963 | vite: '*' 1964 | peerDependenciesMeta: 1965 | vite: 1966 | optional: true 1967 | dependencies: 1968 | '@microsoft/api-extractor': 7.36.4_@types+node@20.5.0 1969 | '@rollup/pluginutils': 5.0.3 1970 | '@vue/language-core': 1.8.8_typescript@5.1.6 1971 | debug: 4.3.4 1972 | kolorist: 1.8.0 1973 | typescript: 5.1.6 1974 | vite: 4.4.9_vgcdvxnsbowjjmq3ykwtmqzxla 1975 | vue-tsc: 1.8.8_typescript@5.1.6 1976 | transitivePeerDependencies: 1977 | - '@types/node' 1978 | - rollup 1979 | - supports-color 1980 | dev: true 1981 | 1982 | /vite/4.4.9_vgcdvxnsbowjjmq3ykwtmqzxla: 1983 | resolution: {integrity: sha512-2mbUn2LlUmNASWwSCNSJ/EG2HuSRTnVNaydp6vMCm5VIqJsjMfbIWtbH2kDuwUVW5mMUKKZvGPX/rqeqVvv1XA==} 1984 | engines: {node: ^14.18.0 || >=16.0.0} 1985 | hasBin: true 1986 | peerDependencies: 1987 | '@types/node': '>= 14' 1988 | less: '*' 1989 | lightningcss: ^1.21.0 1990 | sass: '*' 1991 | stylus: '*' 1992 | sugarss: '*' 1993 | terser: ^5.4.0 1994 | peerDependenciesMeta: 1995 | '@types/node': 1996 | optional: true 1997 | less: 1998 | optional: true 1999 | lightningcss: 2000 | optional: true 2001 | sass: 2002 | optional: true 2003 | stylus: 2004 | optional: true 2005 | sugarss: 2006 | optional: true 2007 | terser: 2008 | optional: true 2009 | dependencies: 2010 | '@types/node': 20.5.0 2011 | esbuild: 0.18.20 2012 | postcss: 8.4.28 2013 | rollup: 3.28.0 2014 | terser: 5.19.2 2015 | optionalDependencies: 2016 | fsevents: 2.3.2 2017 | dev: true 2018 | 2019 | /vue-template-compiler/2.7.14: 2020 | resolution: {integrity: sha512-zyA5Y3ArvVG0NacJDkkzJuPQDF8RFeRlzV2vLeSnhSpieO6LK2OVbdLPi5MPPs09Ii+gMO8nY4S3iKQxBxDmWQ==} 2021 | dependencies: 2022 | de-indent: 1.0.2 2023 | he: 1.2.0 2024 | dev: true 2025 | 2026 | /vue-tsc/1.8.8_typescript@5.1.6: 2027 | resolution: {integrity: sha512-bSydNFQsF7AMvwWsRXD7cBIXaNs/KSjvzWLymq/UtKE36697sboX4EccSHFVxvgdBlI1frYPc/VMKJNB7DFeDQ==} 2028 | hasBin: true 2029 | peerDependencies: 2030 | typescript: '*' 2031 | dependencies: 2032 | '@vue/language-core': 1.8.8_typescript@5.1.6 2033 | '@vue/typescript': 1.8.8_typescript@5.1.6 2034 | semver: 7.5.4 2035 | typescript: 5.1.6 2036 | dev: true 2037 | 2038 | /which-boxed-primitive/1.0.2: 2039 | resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} 2040 | dependencies: 2041 | is-bigint: 1.0.4 2042 | is-boolean-object: 1.1.2 2043 | is-number-object: 1.0.7 2044 | is-string: 1.0.7 2045 | is-symbol: 1.0.4 2046 | dev: true 2047 | 2048 | /which-typed-array/1.1.11: 2049 | resolution: {integrity: sha512-qe9UWWpkeG5yzZ0tNYxDmd7vo58HDBc39mZ0xWWpolAGADdFOzkfamWLDxkOWcvHQKVmdTyQdLD4NOfjLWTKew==} 2050 | engines: {node: '>= 0.4'} 2051 | dependencies: 2052 | available-typed-arrays: 1.0.5 2053 | call-bind: 1.0.2 2054 | for-each: 0.3.3 2055 | gopd: 1.0.1 2056 | has-tostringtag: 1.0.0 2057 | dev: true 2058 | 2059 | /which/1.3.1: 2060 | resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==} 2061 | hasBin: true 2062 | dependencies: 2063 | isexe: 2.0.0 2064 | dev: true 2065 | 2066 | /wrappy/1.0.2: 2067 | resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} 2068 | dev: true 2069 | 2070 | /yallist/4.0.0: 2071 | resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} 2072 | dev: true 2073 | 2074 | /yaml/2.3.1: 2075 | resolution: {integrity: sha512-2eHWfjaoXgTBC2jNM1LRef62VQa0umtvRiDSk6HSzW7RvS5YtkabJrwYLLEKWBc8a5U2PTSCs+dJjUTJdlHsWQ==} 2076 | engines: {node: '>= 14'} 2077 | dev: true 2078 | 2079 | /z-schema/5.0.5: 2080 | resolution: {integrity: sha512-D7eujBWkLa3p2sIpJA0d1pr7es+a7m0vFAnZLlCEKq/Ij2k0MLi9Br2UPxoxdYystm5K1yeBGzub0FlYUEWj2Q==} 2081 | engines: {node: '>=8.0.0'} 2082 | hasBin: true 2083 | dependencies: 2084 | lodash.get: 4.4.2 2085 | lodash.isequal: 4.5.0 2086 | validator: 13.11.0 2087 | optionalDependencies: 2088 | commander: 9.5.0 2089 | dev: true 2090 | -------------------------------------------------------------------------------- /screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/designbycode/tailwindcss-text-stroke/0a2e014bcbc0d3971d8bec0ac2b679277d5b3974/screenshot.png -------------------------------------------------------------------------------- /src/index.ts: -------------------------------------------------------------------------------- 1 | // @ts-expect-error 2 | import plugin from "tailwindcss/plugin" 3 | // @ts-expect-error 4 | import flattenColorPalette from "tailwindcss/lib/util/flattenColorPalette" 5 | 6 | interface TextStrokePluginOptions { 7 | theme: { 8 | textStrokeWidth: Record 9 | } 10 | } 11 | 12 | module.exports = plugin.withOptions( 13 | function () { 14 | return function ({ addComponents, matchUtilities, theme }: any) { 15 | addComponents({ 16 | ".text-stroke": { 17 | "-webkit-text-fill-color": "var(--tst-text-stroke-fill-color, currentColor)", 18 | "-webkit-text-stroke-width": `var(--tst-text-stroke-width, thin)`, 19 | "-webkit-text-stroke-color": "var(--tst-text-stroke-color, black)", 20 | }, 21 | }) 22 | 23 | matchUtilities( 24 | { 25 | "text-stroke": (value: string) => { 26 | return { 27 | "-webkit-text-fill-color": "var(--tst-text-stroke-fill-color, currentColor)", 28 | "-webkit-text-stroke-width": `var(--tst-text-stroke-width, ${value})`, 29 | "-webkit-text-stroke-color": "var(--tst-text-stroke-color, black)", 30 | } 31 | }, 32 | }, 33 | { 34 | values: theme("textStrokeWidth"), 35 | } 36 | ) 37 | 38 | matchUtilities( 39 | { 40 | "text-stroke": (value: string) => ({ 41 | "--tst-text-stroke-color": value, 42 | }), 43 | }, 44 | { 45 | values: flattenColorPalette(theme("colors")), 46 | type: "color", 47 | } 48 | ) 49 | matchUtilities( 50 | { 51 | "text-stroke-fill": (value: string) => ({ 52 | "--tst-text-stroke-fill-color": value, 53 | }), 54 | }, 55 | { 56 | values: flattenColorPalette(theme("colors")), 57 | type: "color", 58 | } 59 | ) 60 | } 61 | }, 62 | function () { 63 | return { 64 | theme: { 65 | textStrokeWidth: { 66 | thin: "thin", 67 | medium: "medium", 68 | thick: "thick", 69 | none: "unset", 70 | 0: "0", 71 | 1: "1px", 72 | 2: "2px", 73 | 3: "3px", 74 | }, 75 | }, 76 | } 77 | } 78 | ) 79 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "ES2020", 4 | "useDefineForClassFields": true, 5 | "module": "ESNext", 6 | "lib": [ 7 | "ES2020", 8 | "DOM", 9 | "DOM.Iterable" 10 | ], 11 | "skipLibCheck": true, 12 | /* Bundler mode */ 13 | "moduleResolution": "node", 14 | "allowImportingTsExtensions": true, 15 | "resolveJsonModule": true, 16 | "isolatedModules": true, 17 | "noEmit": true, 18 | /* Linting */ 19 | "strict": true, 20 | "noUnusedLocals": true, 21 | "noUnusedParameters": true, 22 | "noFallthroughCasesInSwitch": true, 23 | "declaration": true, 24 | "removeComments": true, 25 | "sourceMap": true 26 | }, 27 | "include": [ 28 | "src" 29 | ] 30 | } 31 | -------------------------------------------------------------------------------- /vite.config.ts: -------------------------------------------------------------------------------- 1 | import { resolve } from "path" 2 | import { defineConfig } from "vitest/config" 3 | import dts from "vite-plugin-dts" 4 | 5 | export default defineConfig({ 6 | test: { 7 | // @ts-expect-error 8 | coverage: { 9 | reporter: ["json-summary", "text"], 10 | }, 11 | }, 12 | build: { 13 | lib: { 14 | // Could also be a dictionary or array of multiple entry points 15 | entry: resolve(__dirname, "src/index.ts"), 16 | name: "Tailwindcss Text Stroke", 17 | // the proper extensions will be added 18 | fileName: "index", 19 | formats: ["es", "cjs", "umd"], 20 | }, 21 | minify: "terser", 22 | rollupOptions: { 23 | external: ["tailwindcss", "postcss"], 24 | output: { 25 | globals: { 26 | tailwindcss: "tailwindcss", 27 | postcss: "postcss" 28 | } 29 | } 30 | } 31 | }, 32 | plugins: [dts()], 33 | }) 34 | --------------------------------------------------------------------------------