├── .editorconfig
├── .gitignore
├── README.md
├── index.d.ts
├── package-lock.json
├── package.json
├── src
├── build.ts
├── builds
│ ├── cdn.ts
│ └── module.ts
├── index.ts
├── stubs
│ ├── @tailwindcss
│ │ └── oxide.ts
│ ├── crypto.ts
│ ├── fs.ts
│ ├── path.ts
│ ├── picocolors.ts
│ ├── tailwindcss
│ │ └── utils
│ │ │ └── log.ts
│ └── url.ts
└── util
│ ├── class-to-css.ts
│ ├── create-tailwind-css-plugin.ts
│ ├── css-to-json.ts
│ ├── default-tailwind-css.ts
│ ├── format-css.ts
│ ├── index.ts
│ └── process-tailwind-css.ts
├── tsconfig.json
├── types.d.ts
└── yarn.lock
/.editorconfig:
--------------------------------------------------------------------------------
1 | # Editor configuration, see http://editorconfig.org
2 | root = true
3 |
4 | [*]
5 | charset = utf-8
6 | end_of_line = lf
7 | indent_size = 2
8 | indent_style = space
9 | insert_final_newline = true
10 | max_line_length = 100
11 | trim_trailing_whitespace = true
12 |
13 | [COMMIT_EDITMSG]
14 | max_line_length = 72
15 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | dist/
2 | node_modules/
3 | yarn-error.log
4 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # 🔄 Tailwind to CSS (tw-to-css)
2 |
3 | Transform Tailwind classes to pure CSS using our plug-and-play package, compatible with both CSR and SSR. The package also includes the option to convert the output to JSON for use with React or other tools.
4 |
5 | Here's a list of advantages of using the package:
6 |
7 | - ✅ Simplifies integration of Tailwind CSS into projects
8 | - ✅ Compatible with both Client-side and Server-side Rendering
9 | - ✅ Plug-and-play, no configuration necessary
10 | - ✅ Option to convert output to JSON for use with React or other tools
11 | - ✅ Improves performance by eliminating runtime processing
12 | - ✅ Reduces project size and build time
13 | - ✅ Maintains the readability and maintainability of the Tailwind CSS codebase
14 |
15 | ## Installation
16 |
17 | #### NPM module
18 |
19 | ```sh npm
20 | npm install tw-to-css -E
21 | ```
22 |
23 | ```sh yarn
24 | yarn add tw-to-css -E
25 | ```
26 |
27 | #### CDN
28 |
29 | ```html
30 |
31 | ```
32 |
33 | ## Usage
34 |
35 | ```typescript
36 | import { twi, twj } from "tw-to-css";
37 |
38 | // Convert classes to inline CSS
39 | const styleInline = twi(`bg-white mx-auto`);
40 | // Output: margin-left:auto;margin-right:auto;background-color:rgb(255, 255, 255);
41 |
42 | // Convert classes to JSON
43 | const styleJSON = twj(`bg-white mx-auto`);
44 | // Output: {marginLeft: 'auto', marginRight: 'auto', backgroundColor: 'rgb(255, 255, 255)'}
45 | ```
46 |
47 | ### The `twi` and `twj` functions accept multiple types of inputs.
48 |
49 | - Template Literal
50 |
51 | ```typescript
52 | twi`bg-blue-700 ${false && "rounded"}`;
53 | ```
54 |
55 | - Objects
56 |
57 | ```typescript
58 | twi({ "bg-blue-700": true, rounded: false, underline: isTrue() });
59 | ```
60 |
61 | - Arrays
62 |
63 | ```typescript
64 | twi([["bg-blue-700"], ["text-white", "rounded"], [["underline"]]]);
65 | ```
66 |
67 | - String
68 |
69 | ```typescript
70 | twi("bg-blue-700 text-white");
71 | ```
72 |
73 | ### `twi` and `twj` functions take an additional options object that allows you to configure the output.
74 |
75 | #### Options:
76 |
77 | | Option | Type | Default | Result |
78 | | ------ | ------- | ------- | ------------------------------------------------------------- |
79 | | minify | boolean | true | Compresses the CSS code |
80 | | merge | boolean | true | Combines all generated CSS classes into a single style block. |
81 |
82 | #### Example:
83 |
84 | ```typescript
85 | twi("bg-white mx-auto", { minify: false, merge: false });
86 | /*
87 | Output:
88 | .mx-auto {
89 | margin-left: auto;
90 | margin-right: auto
91 | }
92 | .bg-white {
93 | background-color: rgb(255, 255, 255)
94 | }
95 | */
96 | ```
97 |
98 | ### You can also configure your own Tailwind config using the tailwindToCSS function:
99 |
100 | ```typescript
101 | import { tailwindToCSS } from "tw-to-css";
102 |
103 | const { twi, twj } = tailwindToCSS({
104 | config: {
105 | theme: {
106 | extend: {
107 | colors: {
108 | "custom-color": "#ff0000",
109 | },
110 | },
111 | },
112 | },
113 | });
114 | ```
115 |
116 | ### Example of usage with React:
117 |
118 | ```tsx
119 | import * as React from "react";
120 | import { twj } from "tw-to-css";
121 |
122 | export default function EmailTemplate() {
123 | return (
124 |
125 |
126 | Tailwind to CSS!
127 | Transform Tailwind classes to pure CSS
128 |
129 |
130 | );
131 | }
132 |
133 | /*
134 | Output:
135 |
136 |
147 |
155 | Tailwind to CSS!
156 |
157 |
158 | Transform Tailwind classes to pure CSS
159 |
160 |
161 |
162 | */
163 | ```
164 |
--------------------------------------------------------------------------------
/index.d.ts:
--------------------------------------------------------------------------------
1 | import { CSSProperties } from "react";
2 | import { Config } from "tailwindcss";
3 |
4 | export interface TailwindConfig {
5 | important?: Config["important"];
6 | prefix?: Config["prefix"];
7 | separator?: Config["separator"];
8 | safelist?: Config["safelist"];
9 | presets?: Config["presets"];
10 | future?: Config["future"];
11 | experimental?: Config["experimental"];
12 | darkMode?: Config["darkMode"];
13 | theme?: Config["theme"];
14 | corePlugins?: Config["corePlugins"];
15 | plugins?: Config["plugins"];
16 | }
17 |
18 | type Content = string | Record | TemplateStringsArray | Content[];
19 |
20 | type Options = { merge?: boolean; minify?: boolean; ignoreMediaQueries?: boolean };
21 |
22 | export function getCSS(content: string, config?: TailwindConfig): string;
23 |
24 | export function tailwindToCSS(params: { config?: TailwindConfig; options?: Options }): {
25 | twi: typeof twi;
26 | twj: typeof twj;
27 | };
28 |
29 | export function classListFormatter(content: Content, options?: Options): string;
30 | export function classListFormatter(...content: Content[]): string;
31 |
32 | export function twi(content: Content, options?: Options): string;
33 | export function twi(...content: Content[]): string;
34 |
35 | export function twj(content: Content, options?: Options): CSSProperties;
36 | export function twj(...content: Content[]): CSSProperties;
37 |
38 | export function tailwindInlineCSS(config?: TailwindConfig, options?: Options): typeof twi;
39 |
40 | export function tailwindInlineJson(
41 | config?: TailwindConfig,
42 | options?: Omit
43 | ): typeof twj;
44 |
--------------------------------------------------------------------------------
/package-lock.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "tw-to-css",
3 | "version": "0.0.11",
4 | "lockfileVersion": 3,
5 | "requires": true,
6 | "packages": {
7 | "": {
8 | "name": "tw-to-css",
9 | "version": "0.0.11",
10 | "license": "MIT",
11 | "dependencies": {
12 | "postcss": "8.4.31",
13 | "postcss-css-variables": "0.18.0",
14 | "tailwindcss": "3.2.7"
15 | },
16 | "devDependencies": {
17 | "@types/node": "18.11.18",
18 | "@types/postcss-css-variables": "0.18.0",
19 | "@types/react": "18.0.28",
20 | "@types/tailwindcss": "3.1.0",
21 | "esbuild": "0.15.18",
22 | "tsx": "3.12.2",
23 | "typescript": "4.9.4"
24 | },
25 | "engines": {
26 | "node": ">=16.0.0"
27 | }
28 | },
29 | "node_modules/@esbuild-kit/cjs-loader": {
30 | "version": "2.4.1",
31 | "resolved": "https://registry.npmjs.org/@esbuild-kit/cjs-loader/-/cjs-loader-2.4.1.tgz",
32 | "integrity": "sha512-lhc/XLith28QdW0HpHZvZKkorWgmCNT7sVelMHDj3HFdTfdqkwEKvT+aXVQtNAmCC39VJhunDkWhONWB7335mg==",
33 | "dev": true,
34 | "dependencies": {
35 | "@esbuild-kit/core-utils": "^3.0.0",
36 | "get-tsconfig": "^4.2.0"
37 | }
38 | },
39 | "node_modules/@esbuild-kit/core-utils": {
40 | "version": "3.0.0",
41 | "resolved": "https://registry.npmjs.org/@esbuild-kit/core-utils/-/core-utils-3.0.0.tgz",
42 | "integrity": "sha512-TXmwH9EFS3DC2sI2YJWJBgHGhlteK0Xyu1VabwetMULfm3oYhbrsWV5yaSr2NTWZIgDGVLHbRf0inxbjXqAcmQ==",
43 | "dev": true,
44 | "dependencies": {
45 | "esbuild": "~0.15.10",
46 | "source-map-support": "^0.5.21"
47 | }
48 | },
49 | "node_modules/@esbuild-kit/esm-loader": {
50 | "version": "2.5.4",
51 | "resolved": "https://registry.npmjs.org/@esbuild-kit/esm-loader/-/esm-loader-2.5.4.tgz",
52 | "integrity": "sha512-afmtLf6uqxD5IgwCzomtqCYIgz/sjHzCWZFvfS5+FzeYxOURPUo4QcHtqJxbxWOMOogKriZanN/1bJQE/ZL93A==",
53 | "dev": true,
54 | "dependencies": {
55 | "@esbuild-kit/core-utils": "^3.0.0",
56 | "get-tsconfig": "^4.2.0"
57 | }
58 | },
59 | "node_modules/@esbuild/android-arm": {
60 | "version": "0.15.18",
61 | "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.15.18.tgz",
62 | "integrity": "sha512-5GT+kcs2WVGjVs7+boataCkO5Fg0y4kCjzkB5bAip7H4jfnOS3dA6KPiww9W1OEKTKeAcUVhdZGvgI65OXmUnw==",
63 | "cpu": [
64 | "arm"
65 | ],
66 | "dev": true,
67 | "optional": true,
68 | "os": [
69 | "android"
70 | ],
71 | "engines": {
72 | "node": ">=12"
73 | }
74 | },
75 | "node_modules/@esbuild/linux-loong64": {
76 | "version": "0.15.18",
77 | "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.15.18.tgz",
78 | "integrity": "sha512-L4jVKS82XVhw2nvzLg/19ClLWg0y27ulRwuP7lcyL6AbUWB5aPglXY3M21mauDQMDfRLs8cQmeT03r/+X3cZYQ==",
79 | "cpu": [
80 | "loong64"
81 | ],
82 | "dev": true,
83 | "optional": true,
84 | "os": [
85 | "linux"
86 | ],
87 | "engines": {
88 | "node": ">=12"
89 | }
90 | },
91 | "node_modules/@nodelib/fs.scandir": {
92 | "version": "2.1.5",
93 | "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
94 | "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
95 | "dependencies": {
96 | "@nodelib/fs.stat": "2.0.5",
97 | "run-parallel": "^1.1.9"
98 | },
99 | "engines": {
100 | "node": ">= 8"
101 | }
102 | },
103 | "node_modules/@nodelib/fs.stat": {
104 | "version": "2.0.5",
105 | "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz",
106 | "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==",
107 | "engines": {
108 | "node": ">= 8"
109 | }
110 | },
111 | "node_modules/@nodelib/fs.walk": {
112 | "version": "1.2.8",
113 | "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz",
114 | "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
115 | "dependencies": {
116 | "@nodelib/fs.scandir": "2.1.5",
117 | "fastq": "^1.6.0"
118 | },
119 | "engines": {
120 | "node": ">= 8"
121 | }
122 | },
123 | "node_modules/@types/node": {
124 | "version": "18.11.18",
125 | "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.18.tgz",
126 | "integrity": "sha512-DHQpWGjyQKSHj3ebjFI/wRKcqQcdR+MoFBygntYOZytCqNfkd2ZC4ARDJ2DQqhjH5p85Nnd3jhUJIXrszFX/JA==",
127 | "dev": true
128 | },
129 | "node_modules/@types/postcss-css-variables": {
130 | "version": "0.18.0",
131 | "resolved": "https://registry.npmjs.org/@types/postcss-css-variables/-/postcss-css-variables-0.18.0.tgz",
132 | "integrity": "sha512-NJBO24iE1I6FSVE/iMWaQIPbEHbdO0FJwASy/lUJktHxLa42T3dEOQ4xEwhocDcZrQTOUguM/650KYD+p9JQ4Q==",
133 | "dev": true,
134 | "dependencies": {
135 | "postcss": "^8.2.6"
136 | }
137 | },
138 | "node_modules/@types/prop-types": {
139 | "version": "15.7.5",
140 | "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz",
141 | "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==",
142 | "dev": true
143 | },
144 | "node_modules/@types/react": {
145 | "version": "18.0.28",
146 | "resolved": "https://registry.npmjs.org/@types/react/-/react-18.0.28.tgz",
147 | "integrity": "sha512-RD0ivG1kEztNBdoAK7lekI9M+azSnitIn85h4iOiaLjaTrMjzslhaqCGaI4IyCJ1RljWiLCEu4jyrLLgqxBTew==",
148 | "dev": true,
149 | "dependencies": {
150 | "@types/prop-types": "*",
151 | "@types/scheduler": "*",
152 | "csstype": "^3.0.2"
153 | }
154 | },
155 | "node_modules/@types/scheduler": {
156 | "version": "0.16.2",
157 | "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.2.tgz",
158 | "integrity": "sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==",
159 | "dev": true
160 | },
161 | "node_modules/@types/tailwindcss": {
162 | "version": "3.1.0",
163 | "resolved": "https://registry.npmjs.org/@types/tailwindcss/-/tailwindcss-3.1.0.tgz",
164 | "integrity": "sha512-JxPzrm609hzvF4nmOI3StLjbBEP3WWQxDDJESqR1nh94h7gyyy3XSl0hn5RBMJ9mPudlLjtaXs5YEBtLw7CnPA==",
165 | "deprecated": "This is a stub types definition. tailwindcss provides its own type definitions, so you do not need this installed.",
166 | "dev": true,
167 | "dependencies": {
168 | "tailwindcss": "*"
169 | }
170 | },
171 | "node_modules/acorn": {
172 | "version": "7.4.1",
173 | "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz",
174 | "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==",
175 | "bin": {
176 | "acorn": "bin/acorn"
177 | },
178 | "engines": {
179 | "node": ">=0.4.0"
180 | }
181 | },
182 | "node_modules/acorn-node": {
183 | "version": "1.8.2",
184 | "resolved": "https://registry.npmjs.org/acorn-node/-/acorn-node-1.8.2.tgz",
185 | "integrity": "sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==",
186 | "dependencies": {
187 | "acorn": "^7.0.0",
188 | "acorn-walk": "^7.0.0",
189 | "xtend": "^4.0.2"
190 | }
191 | },
192 | "node_modules/acorn-walk": {
193 | "version": "7.2.0",
194 | "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz",
195 | "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==",
196 | "engines": {
197 | "node": ">=0.4.0"
198 | }
199 | },
200 | "node_modules/anymatch": {
201 | "version": "3.1.3",
202 | "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz",
203 | "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==",
204 | "dependencies": {
205 | "normalize-path": "^3.0.0",
206 | "picomatch": "^2.0.4"
207 | },
208 | "engines": {
209 | "node": ">= 8"
210 | }
211 | },
212 | "node_modules/arg": {
213 | "version": "5.0.2",
214 | "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz",
215 | "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg=="
216 | },
217 | "node_modules/balanced-match": {
218 | "version": "1.0.2",
219 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
220 | "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="
221 | },
222 | "node_modules/binary-extensions": {
223 | "version": "2.2.0",
224 | "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz",
225 | "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==",
226 | "engines": {
227 | "node": ">=8"
228 | }
229 | },
230 | "node_modules/braces": {
231 | "version": "3.0.2",
232 | "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
233 | "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
234 | "dependencies": {
235 | "fill-range": "^7.0.1"
236 | },
237 | "engines": {
238 | "node": ">=8"
239 | }
240 | },
241 | "node_modules/buffer-from": {
242 | "version": "1.1.2",
243 | "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz",
244 | "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==",
245 | "dev": true
246 | },
247 | "node_modules/camelcase-css": {
248 | "version": "2.0.1",
249 | "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz",
250 | "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==",
251 | "engines": {
252 | "node": ">= 6"
253 | }
254 | },
255 | "node_modules/chokidar": {
256 | "version": "3.5.3",
257 | "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz",
258 | "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==",
259 | "funding": [
260 | {
261 | "type": "individual",
262 | "url": "https://paulmillr.com/funding/"
263 | }
264 | ],
265 | "dependencies": {
266 | "anymatch": "~3.1.2",
267 | "braces": "~3.0.2",
268 | "glob-parent": "~5.1.2",
269 | "is-binary-path": "~2.1.0",
270 | "is-glob": "~4.0.1",
271 | "normalize-path": "~3.0.0",
272 | "readdirp": "~3.6.0"
273 | },
274 | "engines": {
275 | "node": ">= 8.10.0"
276 | },
277 | "optionalDependencies": {
278 | "fsevents": "~2.3.2"
279 | }
280 | },
281 | "node_modules/chokidar/node_modules/glob-parent": {
282 | "version": "5.1.2",
283 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
284 | "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
285 | "dependencies": {
286 | "is-glob": "^4.0.1"
287 | },
288 | "engines": {
289 | "node": ">= 6"
290 | }
291 | },
292 | "node_modules/color-name": {
293 | "version": "1.1.4",
294 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
295 | "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
296 | },
297 | "node_modules/cssesc": {
298 | "version": "3.0.0",
299 | "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz",
300 | "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==",
301 | "bin": {
302 | "cssesc": "bin/cssesc"
303 | },
304 | "engines": {
305 | "node": ">=4"
306 | }
307 | },
308 | "node_modules/csstype": {
309 | "version": "3.1.1",
310 | "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.1.tgz",
311 | "integrity": "sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==",
312 | "dev": true
313 | },
314 | "node_modules/defined": {
315 | "version": "1.0.1",
316 | "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.1.tgz",
317 | "integrity": "sha512-hsBd2qSVCRE+5PmNdHt1uzyrFu5d3RwmFDKzyNZMFq/EwDNJF7Ee5+D5oEKF0hU6LhtoUF1macFvOe4AskQC1Q==",
318 | "funding": {
319 | "url": "https://github.com/sponsors/ljharb"
320 | }
321 | },
322 | "node_modules/detective": {
323 | "version": "5.2.1",
324 | "resolved": "https://registry.npmjs.org/detective/-/detective-5.2.1.tgz",
325 | "integrity": "sha512-v9XE1zRnz1wRtgurGu0Bs8uHKFSTdteYZNbIPFVhUZ39L/S79ppMpdmVOZAnoz1jfEFodc48n6MX483Xo3t1yw==",
326 | "dependencies": {
327 | "acorn-node": "^1.8.2",
328 | "defined": "^1.0.0",
329 | "minimist": "^1.2.6"
330 | },
331 | "bin": {
332 | "detective": "bin/detective.js"
333 | },
334 | "engines": {
335 | "node": ">=0.8.0"
336 | }
337 | },
338 | "node_modules/didyoumean": {
339 | "version": "1.2.2",
340 | "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz",
341 | "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw=="
342 | },
343 | "node_modules/dlv": {
344 | "version": "1.1.3",
345 | "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz",
346 | "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA=="
347 | },
348 | "node_modules/esbuild": {
349 | "version": "0.15.18",
350 | "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.15.18.tgz",
351 | "integrity": "sha512-x/R72SmW3sSFRm5zrrIjAhCeQSAWoni3CmHEqfQrZIQTM3lVCdehdwuIqaOtfC2slvpdlLa62GYoN8SxT23m6Q==",
352 | "dev": true,
353 | "hasInstallScript": true,
354 | "bin": {
355 | "esbuild": "bin/esbuild"
356 | },
357 | "engines": {
358 | "node": ">=12"
359 | },
360 | "optionalDependencies": {
361 | "@esbuild/android-arm": "0.15.18",
362 | "@esbuild/linux-loong64": "0.15.18",
363 | "esbuild-android-64": "0.15.18",
364 | "esbuild-android-arm64": "0.15.18",
365 | "esbuild-darwin-64": "0.15.18",
366 | "esbuild-darwin-arm64": "0.15.18",
367 | "esbuild-freebsd-64": "0.15.18",
368 | "esbuild-freebsd-arm64": "0.15.18",
369 | "esbuild-linux-32": "0.15.18",
370 | "esbuild-linux-64": "0.15.18",
371 | "esbuild-linux-arm": "0.15.18",
372 | "esbuild-linux-arm64": "0.15.18",
373 | "esbuild-linux-mips64le": "0.15.18",
374 | "esbuild-linux-ppc64le": "0.15.18",
375 | "esbuild-linux-riscv64": "0.15.18",
376 | "esbuild-linux-s390x": "0.15.18",
377 | "esbuild-netbsd-64": "0.15.18",
378 | "esbuild-openbsd-64": "0.15.18",
379 | "esbuild-sunos-64": "0.15.18",
380 | "esbuild-windows-32": "0.15.18",
381 | "esbuild-windows-64": "0.15.18",
382 | "esbuild-windows-arm64": "0.15.18"
383 | }
384 | },
385 | "node_modules/esbuild-android-64": {
386 | "version": "0.15.18",
387 | "resolved": "https://registry.npmjs.org/esbuild-android-64/-/esbuild-android-64-0.15.18.tgz",
388 | "integrity": "sha512-wnpt3OXRhcjfIDSZu9bnzT4/TNTDsOUvip0foZOUBG7QbSt//w3QV4FInVJxNhKc/ErhUxc5z4QjHtMi7/TbgA==",
389 | "cpu": [
390 | "x64"
391 | ],
392 | "dev": true,
393 | "optional": true,
394 | "os": [
395 | "android"
396 | ],
397 | "engines": {
398 | "node": ">=12"
399 | }
400 | },
401 | "node_modules/esbuild-android-arm64": {
402 | "version": "0.15.18",
403 | "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.15.18.tgz",
404 | "integrity": "sha512-G4xu89B8FCzav9XU8EjsXacCKSG2FT7wW9J6hOc18soEHJdtWu03L3TQDGf0geNxfLTtxENKBzMSq9LlbjS8OQ==",
405 | "cpu": [
406 | "arm64"
407 | ],
408 | "dev": true,
409 | "optional": true,
410 | "os": [
411 | "android"
412 | ],
413 | "engines": {
414 | "node": ">=12"
415 | }
416 | },
417 | "node_modules/esbuild-darwin-64": {
418 | "version": "0.15.18",
419 | "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.15.18.tgz",
420 | "integrity": "sha512-2WAvs95uPnVJPuYKP0Eqx+Dl/jaYseZEUUT1sjg97TJa4oBtbAKnPnl3b5M9l51/nbx7+QAEtuummJZW0sBEmg==",
421 | "cpu": [
422 | "x64"
423 | ],
424 | "dev": true,
425 | "optional": true,
426 | "os": [
427 | "darwin"
428 | ],
429 | "engines": {
430 | "node": ">=12"
431 | }
432 | },
433 | "node_modules/esbuild-darwin-arm64": {
434 | "version": "0.15.18",
435 | "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.15.18.tgz",
436 | "integrity": "sha512-tKPSxcTJ5OmNb1btVikATJ8NftlyNlc8BVNtyT/UAr62JFOhwHlnoPrhYWz09akBLHI9nElFVfWSTSRsrZiDUA==",
437 | "cpu": [
438 | "arm64"
439 | ],
440 | "dev": true,
441 | "optional": true,
442 | "os": [
443 | "darwin"
444 | ],
445 | "engines": {
446 | "node": ">=12"
447 | }
448 | },
449 | "node_modules/esbuild-freebsd-64": {
450 | "version": "0.15.18",
451 | "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.15.18.tgz",
452 | "integrity": "sha512-TT3uBUxkteAjR1QbsmvSsjpKjOX6UkCstr8nMr+q7zi3NuZ1oIpa8U41Y8I8dJH2fJgdC3Dj3CXO5biLQpfdZA==",
453 | "cpu": [
454 | "x64"
455 | ],
456 | "dev": true,
457 | "optional": true,
458 | "os": [
459 | "freebsd"
460 | ],
461 | "engines": {
462 | "node": ">=12"
463 | }
464 | },
465 | "node_modules/esbuild-freebsd-arm64": {
466 | "version": "0.15.18",
467 | "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.15.18.tgz",
468 | "integrity": "sha512-R/oVr+X3Tkh+S0+tL41wRMbdWtpWB8hEAMsOXDumSSa6qJR89U0S/PpLXrGF7Wk/JykfpWNokERUpCeHDl47wA==",
469 | "cpu": [
470 | "arm64"
471 | ],
472 | "dev": true,
473 | "optional": true,
474 | "os": [
475 | "freebsd"
476 | ],
477 | "engines": {
478 | "node": ">=12"
479 | }
480 | },
481 | "node_modules/esbuild-linux-32": {
482 | "version": "0.15.18",
483 | "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.15.18.tgz",
484 | "integrity": "sha512-lphF3HiCSYtaa9p1DtXndiQEeQDKPl9eN/XNoBf2amEghugNuqXNZA/ZovthNE2aa4EN43WroO0B85xVSjYkbg==",
485 | "cpu": [
486 | "ia32"
487 | ],
488 | "dev": true,
489 | "optional": true,
490 | "os": [
491 | "linux"
492 | ],
493 | "engines": {
494 | "node": ">=12"
495 | }
496 | },
497 | "node_modules/esbuild-linux-64": {
498 | "version": "0.15.18",
499 | "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.15.18.tgz",
500 | "integrity": "sha512-hNSeP97IviD7oxLKFuii5sDPJ+QHeiFTFLoLm7NZQligur8poNOWGIgpQ7Qf8Balb69hptMZzyOBIPtY09GZYw==",
501 | "cpu": [
502 | "x64"
503 | ],
504 | "dev": true,
505 | "optional": true,
506 | "os": [
507 | "linux"
508 | ],
509 | "engines": {
510 | "node": ">=12"
511 | }
512 | },
513 | "node_modules/esbuild-linux-arm": {
514 | "version": "0.15.18",
515 | "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.15.18.tgz",
516 | "integrity": "sha512-UH779gstRblS4aoS2qpMl3wjg7U0j+ygu3GjIeTonCcN79ZvpPee12Qun3vcdxX+37O5LFxz39XeW2I9bybMVA==",
517 | "cpu": [
518 | "arm"
519 | ],
520 | "dev": true,
521 | "optional": true,
522 | "os": [
523 | "linux"
524 | ],
525 | "engines": {
526 | "node": ">=12"
527 | }
528 | },
529 | "node_modules/esbuild-linux-arm64": {
530 | "version": "0.15.18",
531 | "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.15.18.tgz",
532 | "integrity": "sha512-54qr8kg/6ilcxd+0V3h9rjT4qmjc0CccMVWrjOEM/pEcUzt8X62HfBSeZfT2ECpM7104mk4yfQXkosY8Quptug==",
533 | "cpu": [
534 | "arm64"
535 | ],
536 | "dev": true,
537 | "optional": true,
538 | "os": [
539 | "linux"
540 | ],
541 | "engines": {
542 | "node": ">=12"
543 | }
544 | },
545 | "node_modules/esbuild-linux-mips64le": {
546 | "version": "0.15.18",
547 | "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.15.18.tgz",
548 | "integrity": "sha512-Mk6Ppwzzz3YbMl/ZZL2P0q1tnYqh/trYZ1VfNP47C31yT0K8t9s7Z077QrDA/guU60tGNp2GOwCQnp+DYv7bxQ==",
549 | "cpu": [
550 | "mips64el"
551 | ],
552 | "dev": true,
553 | "optional": true,
554 | "os": [
555 | "linux"
556 | ],
557 | "engines": {
558 | "node": ">=12"
559 | }
560 | },
561 | "node_modules/esbuild-linux-ppc64le": {
562 | "version": "0.15.18",
563 | "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.15.18.tgz",
564 | "integrity": "sha512-b0XkN4pL9WUulPTa/VKHx2wLCgvIAbgwABGnKMY19WhKZPT+8BxhZdqz6EgkqCLld7X5qiCY2F/bfpUUlnFZ9w==",
565 | "cpu": [
566 | "ppc64"
567 | ],
568 | "dev": true,
569 | "optional": true,
570 | "os": [
571 | "linux"
572 | ],
573 | "engines": {
574 | "node": ">=12"
575 | }
576 | },
577 | "node_modules/esbuild-linux-riscv64": {
578 | "version": "0.15.18",
579 | "resolved": "https://registry.npmjs.org/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.15.18.tgz",
580 | "integrity": "sha512-ba2COaoF5wL6VLZWn04k+ACZjZ6NYniMSQStodFKH/Pu6RxzQqzsmjR1t9QC89VYJxBeyVPTaHuBMCejl3O/xg==",
581 | "cpu": [
582 | "riscv64"
583 | ],
584 | "dev": true,
585 | "optional": true,
586 | "os": [
587 | "linux"
588 | ],
589 | "engines": {
590 | "node": ">=12"
591 | }
592 | },
593 | "node_modules/esbuild-linux-s390x": {
594 | "version": "0.15.18",
595 | "resolved": "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.15.18.tgz",
596 | "integrity": "sha512-VbpGuXEl5FCs1wDVp93O8UIzl3ZrglgnSQ+Hu79g7hZu6te6/YHgVJxCM2SqfIila0J3k0csfnf8VD2W7u2kzQ==",
597 | "cpu": [
598 | "s390x"
599 | ],
600 | "dev": true,
601 | "optional": true,
602 | "os": [
603 | "linux"
604 | ],
605 | "engines": {
606 | "node": ">=12"
607 | }
608 | },
609 | "node_modules/esbuild-netbsd-64": {
610 | "version": "0.15.18",
611 | "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.15.18.tgz",
612 | "integrity": "sha512-98ukeCdvdX7wr1vUYQzKo4kQ0N2p27H7I11maINv73fVEXt2kyh4K4m9f35U1K43Xc2QGXlzAw0K9yoU7JUjOg==",
613 | "cpu": [
614 | "x64"
615 | ],
616 | "dev": true,
617 | "optional": true,
618 | "os": [
619 | "netbsd"
620 | ],
621 | "engines": {
622 | "node": ">=12"
623 | }
624 | },
625 | "node_modules/esbuild-openbsd-64": {
626 | "version": "0.15.18",
627 | "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.15.18.tgz",
628 | "integrity": "sha512-yK5NCcH31Uae076AyQAXeJzt/vxIo9+omZRKj1pauhk3ITuADzuOx5N2fdHrAKPxN+zH3w96uFKlY7yIn490xQ==",
629 | "cpu": [
630 | "x64"
631 | ],
632 | "dev": true,
633 | "optional": true,
634 | "os": [
635 | "openbsd"
636 | ],
637 | "engines": {
638 | "node": ">=12"
639 | }
640 | },
641 | "node_modules/esbuild-sunos-64": {
642 | "version": "0.15.18",
643 | "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.15.18.tgz",
644 | "integrity": "sha512-On22LLFlBeLNj/YF3FT+cXcyKPEI263nflYlAhz5crxtp3yRG1Ugfr7ITyxmCmjm4vbN/dGrb/B7w7U8yJR9yw==",
645 | "cpu": [
646 | "x64"
647 | ],
648 | "dev": true,
649 | "optional": true,
650 | "os": [
651 | "sunos"
652 | ],
653 | "engines": {
654 | "node": ">=12"
655 | }
656 | },
657 | "node_modules/esbuild-windows-32": {
658 | "version": "0.15.18",
659 | "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.15.18.tgz",
660 | "integrity": "sha512-o+eyLu2MjVny/nt+E0uPnBxYuJHBvho8vWsC2lV61A7wwTWC3jkN2w36jtA+yv1UgYkHRihPuQsL23hsCYGcOQ==",
661 | "cpu": [
662 | "ia32"
663 | ],
664 | "dev": true,
665 | "optional": true,
666 | "os": [
667 | "win32"
668 | ],
669 | "engines": {
670 | "node": ">=12"
671 | }
672 | },
673 | "node_modules/esbuild-windows-64": {
674 | "version": "0.15.18",
675 | "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.15.18.tgz",
676 | "integrity": "sha512-qinug1iTTaIIrCorAUjR0fcBk24fjzEedFYhhispP8Oc7SFvs+XeW3YpAKiKp8dRpizl4YYAhxMjlftAMJiaUw==",
677 | "cpu": [
678 | "x64"
679 | ],
680 | "dev": true,
681 | "optional": true,
682 | "os": [
683 | "win32"
684 | ],
685 | "engines": {
686 | "node": ">=12"
687 | }
688 | },
689 | "node_modules/esbuild-windows-arm64": {
690 | "version": "0.15.18",
691 | "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.18.tgz",
692 | "integrity": "sha512-q9bsYzegpZcLziq0zgUi5KqGVtfhjxGbnksaBFYmWLxeV/S1fK4OLdq2DFYnXcLMjlZw2L0jLsk1eGoB522WXQ==",
693 | "cpu": [
694 | "arm64"
695 | ],
696 | "dev": true,
697 | "optional": true,
698 | "os": [
699 | "win32"
700 | ],
701 | "engines": {
702 | "node": ">=12"
703 | }
704 | },
705 | "node_modules/escape-string-regexp": {
706 | "version": "1.0.5",
707 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
708 | "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
709 | "engines": {
710 | "node": ">=0.8.0"
711 | }
712 | },
713 | "node_modules/extend": {
714 | "version": "3.0.2",
715 | "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
716 | "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g=="
717 | },
718 | "node_modules/fast-glob": {
719 | "version": "3.2.12",
720 | "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz",
721 | "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==",
722 | "dependencies": {
723 | "@nodelib/fs.stat": "^2.0.2",
724 | "@nodelib/fs.walk": "^1.2.3",
725 | "glob-parent": "^5.1.2",
726 | "merge2": "^1.3.0",
727 | "micromatch": "^4.0.4"
728 | },
729 | "engines": {
730 | "node": ">=8.6.0"
731 | }
732 | },
733 | "node_modules/fast-glob/node_modules/glob-parent": {
734 | "version": "5.1.2",
735 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
736 | "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
737 | "dependencies": {
738 | "is-glob": "^4.0.1"
739 | },
740 | "engines": {
741 | "node": ">= 6"
742 | }
743 | },
744 | "node_modules/fastq": {
745 | "version": "1.15.0",
746 | "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz",
747 | "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==",
748 | "dependencies": {
749 | "reusify": "^1.0.4"
750 | }
751 | },
752 | "node_modules/fill-range": {
753 | "version": "7.0.1",
754 | "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
755 | "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
756 | "dependencies": {
757 | "to-regex-range": "^5.0.1"
758 | },
759 | "engines": {
760 | "node": ">=8"
761 | }
762 | },
763 | "node_modules/fsevents": {
764 | "version": "2.3.2",
765 | "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
766 | "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
767 | "hasInstallScript": true,
768 | "optional": true,
769 | "os": [
770 | "darwin"
771 | ],
772 | "engines": {
773 | "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
774 | }
775 | },
776 | "node_modules/function-bind": {
777 | "version": "1.1.1",
778 | "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
779 | "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A=="
780 | },
781 | "node_modules/get-tsconfig": {
782 | "version": "4.3.0",
783 | "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.3.0.tgz",
784 | "integrity": "sha512-YCcF28IqSay3fqpIu5y3Krg/utCBHBeoflkZyHj/QcqI2nrLPC3ZegS9CmIo+hJb8K7aiGsuUl7PwWVjNG2HQQ==",
785 | "dev": true,
786 | "funding": {
787 | "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1"
788 | }
789 | },
790 | "node_modules/glob-parent": {
791 | "version": "6.0.2",
792 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz",
793 | "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==",
794 | "dependencies": {
795 | "is-glob": "^4.0.3"
796 | },
797 | "engines": {
798 | "node": ">=10.13.0"
799 | }
800 | },
801 | "node_modules/has": {
802 | "version": "1.0.3",
803 | "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
804 | "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
805 | "dependencies": {
806 | "function-bind": "^1.1.1"
807 | },
808 | "engines": {
809 | "node": ">= 0.4.0"
810 | }
811 | },
812 | "node_modules/is-binary-path": {
813 | "version": "2.1.0",
814 | "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
815 | "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
816 | "dependencies": {
817 | "binary-extensions": "^2.0.0"
818 | },
819 | "engines": {
820 | "node": ">=8"
821 | }
822 | },
823 | "node_modules/is-core-module": {
824 | "version": "2.11.0",
825 | "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz",
826 | "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==",
827 | "dependencies": {
828 | "has": "^1.0.3"
829 | },
830 | "funding": {
831 | "url": "https://github.com/sponsors/ljharb"
832 | }
833 | },
834 | "node_modules/is-extglob": {
835 | "version": "2.1.1",
836 | "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
837 | "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
838 | "engines": {
839 | "node": ">=0.10.0"
840 | }
841 | },
842 | "node_modules/is-glob": {
843 | "version": "4.0.3",
844 | "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
845 | "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
846 | "dependencies": {
847 | "is-extglob": "^2.1.1"
848 | },
849 | "engines": {
850 | "node": ">=0.10.0"
851 | }
852 | },
853 | "node_modules/is-number": {
854 | "version": "7.0.0",
855 | "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
856 | "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
857 | "engines": {
858 | "node": ">=0.12.0"
859 | }
860 | },
861 | "node_modules/lilconfig": {
862 | "version": "2.0.6",
863 | "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.6.tgz",
864 | "integrity": "sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg==",
865 | "engines": {
866 | "node": ">=10"
867 | }
868 | },
869 | "node_modules/merge2": {
870 | "version": "1.4.1",
871 | "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
872 | "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==",
873 | "engines": {
874 | "node": ">= 8"
875 | }
876 | },
877 | "node_modules/micromatch": {
878 | "version": "4.0.5",
879 | "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz",
880 | "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==",
881 | "dependencies": {
882 | "braces": "^3.0.2",
883 | "picomatch": "^2.3.1"
884 | },
885 | "engines": {
886 | "node": ">=8.6"
887 | }
888 | },
889 | "node_modules/minimist": {
890 | "version": "1.2.7",
891 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.7.tgz",
892 | "integrity": "sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==",
893 | "funding": {
894 | "url": "https://github.com/sponsors/ljharb"
895 | }
896 | },
897 | "node_modules/nanoid": {
898 | "version": "3.3.6",
899 | "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz",
900 | "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==",
901 | "funding": [
902 | {
903 | "type": "github",
904 | "url": "https://github.com/sponsors/ai"
905 | }
906 | ],
907 | "bin": {
908 | "nanoid": "bin/nanoid.cjs"
909 | },
910 | "engines": {
911 | "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
912 | }
913 | },
914 | "node_modules/normalize-path": {
915 | "version": "3.0.0",
916 | "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
917 | "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
918 | "engines": {
919 | "node": ">=0.10.0"
920 | }
921 | },
922 | "node_modules/object-hash": {
923 | "version": "3.0.0",
924 | "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz",
925 | "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==",
926 | "engines": {
927 | "node": ">= 6"
928 | }
929 | },
930 | "node_modules/path-parse": {
931 | "version": "1.0.7",
932 | "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
933 | "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw=="
934 | },
935 | "node_modules/picocolors": {
936 | "version": "1.0.0",
937 | "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
938 | "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ=="
939 | },
940 | "node_modules/picomatch": {
941 | "version": "2.3.1",
942 | "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
943 | "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
944 | "engines": {
945 | "node": ">=8.6"
946 | },
947 | "funding": {
948 | "url": "https://github.com/sponsors/jonschlinkert"
949 | }
950 | },
951 | "node_modules/pify": {
952 | "version": "2.3.0",
953 | "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
954 | "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==",
955 | "engines": {
956 | "node": ">=0.10.0"
957 | }
958 | },
959 | "node_modules/postcss": {
960 | "version": "8.4.31",
961 | "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz",
962 | "integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==",
963 | "funding": [
964 | {
965 | "type": "opencollective",
966 | "url": "https://opencollective.com/postcss/"
967 | },
968 | {
969 | "type": "tidelift",
970 | "url": "https://tidelift.com/funding/github/npm/postcss"
971 | },
972 | {
973 | "type": "github",
974 | "url": "https://github.com/sponsors/ai"
975 | }
976 | ],
977 | "dependencies": {
978 | "nanoid": "^3.3.6",
979 | "picocolors": "^1.0.0",
980 | "source-map-js": "^1.0.2"
981 | },
982 | "engines": {
983 | "node": "^10 || ^12 || >=14"
984 | }
985 | },
986 | "node_modules/postcss-css-variables": {
987 | "version": "0.18.0",
988 | "resolved": "https://registry.npmjs.org/postcss-css-variables/-/postcss-css-variables-0.18.0.tgz",
989 | "integrity": "sha512-lYS802gHbzn1GI+lXvy9MYIYDuGnl1WB4FTKoqMQqJ3Mab09A7a/1wZvGTkCEZJTM8mSbIyb1mJYn8f0aPye0Q==",
990 | "dependencies": {
991 | "balanced-match": "^1.0.0",
992 | "escape-string-regexp": "^1.0.3",
993 | "extend": "^3.0.1"
994 | },
995 | "peerDependencies": {
996 | "postcss": "^8.2.6"
997 | }
998 | },
999 | "node_modules/postcss-import": {
1000 | "version": "14.1.0",
1001 | "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-14.1.0.tgz",
1002 | "integrity": "sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw==",
1003 | "dependencies": {
1004 | "postcss-value-parser": "^4.0.0",
1005 | "read-cache": "^1.0.0",
1006 | "resolve": "^1.1.7"
1007 | },
1008 | "engines": {
1009 | "node": ">=10.0.0"
1010 | },
1011 | "peerDependencies": {
1012 | "postcss": "^8.0.0"
1013 | }
1014 | },
1015 | "node_modules/postcss-js": {
1016 | "version": "4.0.0",
1017 | "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.0.tgz",
1018 | "integrity": "sha512-77QESFBwgX4irogGVPgQ5s07vLvFqWr228qZY+w6lW599cRlK/HmnlivnnVUxkjHnCu4J16PDMHcH+e+2HbvTQ==",
1019 | "dependencies": {
1020 | "camelcase-css": "^2.0.1"
1021 | },
1022 | "engines": {
1023 | "node": "^12 || ^14 || >= 16"
1024 | },
1025 | "funding": {
1026 | "type": "opencollective",
1027 | "url": "https://opencollective.com/postcss/"
1028 | },
1029 | "peerDependencies": {
1030 | "postcss": "^8.3.3"
1031 | }
1032 | },
1033 | "node_modules/postcss-load-config": {
1034 | "version": "3.1.4",
1035 | "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.4.tgz",
1036 | "integrity": "sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==",
1037 | "dependencies": {
1038 | "lilconfig": "^2.0.5",
1039 | "yaml": "^1.10.2"
1040 | },
1041 | "engines": {
1042 | "node": ">= 10"
1043 | },
1044 | "funding": {
1045 | "type": "opencollective",
1046 | "url": "https://opencollective.com/postcss/"
1047 | },
1048 | "peerDependencies": {
1049 | "postcss": ">=8.0.9",
1050 | "ts-node": ">=9.0.0"
1051 | },
1052 | "peerDependenciesMeta": {
1053 | "postcss": {
1054 | "optional": true
1055 | },
1056 | "ts-node": {
1057 | "optional": true
1058 | }
1059 | }
1060 | },
1061 | "node_modules/postcss-nested": {
1062 | "version": "6.0.0",
1063 | "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.0.tgz",
1064 | "integrity": "sha512-0DkamqrPcmkBDsLn+vQDIrtkSbNkv5AD/M322ySo9kqFkCIYklym2xEmWkwo+Y3/qZo34tzEPNUw4y7yMCdv5w==",
1065 | "dependencies": {
1066 | "postcss-selector-parser": "^6.0.10"
1067 | },
1068 | "engines": {
1069 | "node": ">=12.0"
1070 | },
1071 | "funding": {
1072 | "type": "opencollective",
1073 | "url": "https://opencollective.com/postcss/"
1074 | },
1075 | "peerDependencies": {
1076 | "postcss": "^8.2.14"
1077 | }
1078 | },
1079 | "node_modules/postcss-selector-parser": {
1080 | "version": "6.0.11",
1081 | "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.11.tgz",
1082 | "integrity": "sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g==",
1083 | "dependencies": {
1084 | "cssesc": "^3.0.0",
1085 | "util-deprecate": "^1.0.2"
1086 | },
1087 | "engines": {
1088 | "node": ">=4"
1089 | }
1090 | },
1091 | "node_modules/postcss-value-parser": {
1092 | "version": "4.2.0",
1093 | "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz",
1094 | "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ=="
1095 | },
1096 | "node_modules/queue-microtask": {
1097 | "version": "1.2.3",
1098 | "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
1099 | "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==",
1100 | "funding": [
1101 | {
1102 | "type": "github",
1103 | "url": "https://github.com/sponsors/feross"
1104 | },
1105 | {
1106 | "type": "patreon",
1107 | "url": "https://www.patreon.com/feross"
1108 | },
1109 | {
1110 | "type": "consulting",
1111 | "url": "https://feross.org/support"
1112 | }
1113 | ]
1114 | },
1115 | "node_modules/quick-lru": {
1116 | "version": "5.1.1",
1117 | "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz",
1118 | "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==",
1119 | "engines": {
1120 | "node": ">=10"
1121 | },
1122 | "funding": {
1123 | "url": "https://github.com/sponsors/sindresorhus"
1124 | }
1125 | },
1126 | "node_modules/read-cache": {
1127 | "version": "1.0.0",
1128 | "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz",
1129 | "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==",
1130 | "dependencies": {
1131 | "pify": "^2.3.0"
1132 | }
1133 | },
1134 | "node_modules/readdirp": {
1135 | "version": "3.6.0",
1136 | "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
1137 | "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
1138 | "dependencies": {
1139 | "picomatch": "^2.2.1"
1140 | },
1141 | "engines": {
1142 | "node": ">=8.10.0"
1143 | }
1144 | },
1145 | "node_modules/resolve": {
1146 | "version": "1.22.1",
1147 | "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz",
1148 | "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==",
1149 | "dependencies": {
1150 | "is-core-module": "^2.9.0",
1151 | "path-parse": "^1.0.7",
1152 | "supports-preserve-symlinks-flag": "^1.0.0"
1153 | },
1154 | "bin": {
1155 | "resolve": "bin/resolve"
1156 | },
1157 | "funding": {
1158 | "url": "https://github.com/sponsors/ljharb"
1159 | }
1160 | },
1161 | "node_modules/reusify": {
1162 | "version": "1.0.4",
1163 | "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz",
1164 | "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==",
1165 | "engines": {
1166 | "iojs": ">=1.0.0",
1167 | "node": ">=0.10.0"
1168 | }
1169 | },
1170 | "node_modules/run-parallel": {
1171 | "version": "1.2.0",
1172 | "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
1173 | "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==",
1174 | "funding": [
1175 | {
1176 | "type": "github",
1177 | "url": "https://github.com/sponsors/feross"
1178 | },
1179 | {
1180 | "type": "patreon",
1181 | "url": "https://www.patreon.com/feross"
1182 | },
1183 | {
1184 | "type": "consulting",
1185 | "url": "https://feross.org/support"
1186 | }
1187 | ],
1188 | "dependencies": {
1189 | "queue-microtask": "^1.2.2"
1190 | }
1191 | },
1192 | "node_modules/source-map": {
1193 | "version": "0.6.1",
1194 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
1195 | "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
1196 | "dev": true,
1197 | "engines": {
1198 | "node": ">=0.10.0"
1199 | }
1200 | },
1201 | "node_modules/source-map-js": {
1202 | "version": "1.0.2",
1203 | "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz",
1204 | "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==",
1205 | "engines": {
1206 | "node": ">=0.10.0"
1207 | }
1208 | },
1209 | "node_modules/source-map-support": {
1210 | "version": "0.5.21",
1211 | "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz",
1212 | "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==",
1213 | "dev": true,
1214 | "dependencies": {
1215 | "buffer-from": "^1.0.0",
1216 | "source-map": "^0.6.0"
1217 | }
1218 | },
1219 | "node_modules/supports-preserve-symlinks-flag": {
1220 | "version": "1.0.0",
1221 | "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
1222 | "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==",
1223 | "engines": {
1224 | "node": ">= 0.4"
1225 | },
1226 | "funding": {
1227 | "url": "https://github.com/sponsors/ljharb"
1228 | }
1229 | },
1230 | "node_modules/tailwindcss": {
1231 | "version": "3.2.7",
1232 | "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.2.7.tgz",
1233 | "integrity": "sha512-B6DLqJzc21x7wntlH/GsZwEXTBttVSl1FtCzC8WP4oBc/NKef7kaax5jeihkkCEWc831/5NDJ9gRNDK6NEioQQ==",
1234 | "dependencies": {
1235 | "arg": "^5.0.2",
1236 | "chokidar": "^3.5.3",
1237 | "color-name": "^1.1.4",
1238 | "detective": "^5.2.1",
1239 | "didyoumean": "^1.2.2",
1240 | "dlv": "^1.1.3",
1241 | "fast-glob": "^3.2.12",
1242 | "glob-parent": "^6.0.2",
1243 | "is-glob": "^4.0.3",
1244 | "lilconfig": "^2.0.6",
1245 | "micromatch": "^4.0.5",
1246 | "normalize-path": "^3.0.0",
1247 | "object-hash": "^3.0.0",
1248 | "picocolors": "^1.0.0",
1249 | "postcss": "^8.0.9",
1250 | "postcss-import": "^14.1.0",
1251 | "postcss-js": "^4.0.0",
1252 | "postcss-load-config": "^3.1.4",
1253 | "postcss-nested": "6.0.0",
1254 | "postcss-selector-parser": "^6.0.11",
1255 | "postcss-value-parser": "^4.2.0",
1256 | "quick-lru": "^5.1.1",
1257 | "resolve": "^1.22.1"
1258 | },
1259 | "bin": {
1260 | "tailwind": "lib/cli.js",
1261 | "tailwindcss": "lib/cli.js"
1262 | },
1263 | "engines": {
1264 | "node": ">=12.13.0"
1265 | },
1266 | "peerDependencies": {
1267 | "postcss": "^8.0.9"
1268 | }
1269 | },
1270 | "node_modules/to-regex-range": {
1271 | "version": "5.0.1",
1272 | "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
1273 | "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
1274 | "dependencies": {
1275 | "is-number": "^7.0.0"
1276 | },
1277 | "engines": {
1278 | "node": ">=8.0"
1279 | }
1280 | },
1281 | "node_modules/tsx": {
1282 | "version": "3.12.2",
1283 | "resolved": "https://registry.npmjs.org/tsx/-/tsx-3.12.2.tgz",
1284 | "integrity": "sha512-ykAEkoBg30RXxeOMVeZwar+JH632dZn9EUJVyJwhfag62k6UO/dIyJEV58YuLF6e5BTdV/qmbQrpkWqjq9cUnQ==",
1285 | "dev": true,
1286 | "dependencies": {
1287 | "@esbuild-kit/cjs-loader": "^2.4.1",
1288 | "@esbuild-kit/core-utils": "^3.0.0",
1289 | "@esbuild-kit/esm-loader": "^2.5.4"
1290 | },
1291 | "bin": {
1292 | "tsx": "dist/cli.js"
1293 | },
1294 | "optionalDependencies": {
1295 | "fsevents": "~2.3.2"
1296 | }
1297 | },
1298 | "node_modules/typescript": {
1299 | "version": "4.9.4",
1300 | "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.4.tgz",
1301 | "integrity": "sha512-Uz+dTXYzxXXbsFpM86Wh3dKCxrQqUcVMxwU54orwlJjOpO3ao8L7j5lH+dWfTwgCwIuM9GQ2kvVotzYJMXTBZg==",
1302 | "dev": true,
1303 | "bin": {
1304 | "tsc": "bin/tsc",
1305 | "tsserver": "bin/tsserver"
1306 | },
1307 | "engines": {
1308 | "node": ">=4.2.0"
1309 | }
1310 | },
1311 | "node_modules/util-deprecate": {
1312 | "version": "1.0.2",
1313 | "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
1314 | "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw=="
1315 | },
1316 | "node_modules/xtend": {
1317 | "version": "4.0.2",
1318 | "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
1319 | "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==",
1320 | "engines": {
1321 | "node": ">=0.4"
1322 | }
1323 | },
1324 | "node_modules/yaml": {
1325 | "version": "1.10.2",
1326 | "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz",
1327 | "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==",
1328 | "engines": {
1329 | "node": ">= 6"
1330 | }
1331 | }
1332 | }
1333 | }
1334 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "tw-to-css",
3 | "version": "0.0.12",
4 | "description": "Tailwindcss Inline CSS",
5 | "main": "dist/index.cjs",
6 | "module": "dist/index.mjs",
7 | "unpkg": "dist/cdn.min.js",
8 | "types": "./index.d.ts",
9 | "exports": {
10 | ".": {
11 | "types": "./index.d.ts",
12 | "import": "./dist/index.mjs",
13 | "require": "./dist/index.cjs",
14 | "browser": "./dist/cdn.min.js"
15 | }
16 | },
17 | "files": [
18 | "index.d.ts",
19 | "dist/*"
20 | ],
21 | "scripts": {
22 | "build": "tsx src/build.ts"
23 | },
24 | "repository": {
25 | "type": "git",
26 | "url": "git+https://github.com/vinicoder/tw-to-css.git"
27 | },
28 | "keywords": [
29 | "tailwind",
30 | "tailwindcss"
31 | ],
32 | "author": "Vinicius de Moraes (vinicoder@gmail.com)",
33 | "license": "MIT",
34 | "bugs": {
35 | "url": "https://github.com/vinicoder/tw-to-css/issues"
36 | },
37 | "dependencies": {
38 | "postcss": "8.4.31",
39 | "postcss-css-variables": "0.18.0",
40 | "tailwindcss": "3.3.2"
41 | },
42 | "devDependencies": {
43 | "@types/node": "18.11.18",
44 | "@types/postcss-css-variables": "0.18.0",
45 | "@types/react": "18.0.28",
46 | "@types/tailwindcss": "3.1.0",
47 | "esbuild": "0.15.18",
48 | "tsx": "3.12.2",
49 | "typescript": "4.9.4"
50 | },
51 | "homepage": "https://github.com/vinicoder/tw-to-css#readme",
52 | "engines": {
53 | "node": ">=16.0.0"
54 | },
55 | "publishConfig": {
56 | "access": "public"
57 | },
58 | "type": "module"
59 | }
60 |
--------------------------------------------------------------------------------
/src/build.ts:
--------------------------------------------------------------------------------
1 | import { readdir, readFile } from "fs/promises";
2 | import { parse } from "path";
3 | import { fileURLToPath } from "url";
4 | import { build, BuildOptions } from "esbuild";
5 |
6 | const buildConfig: BuildOptions = {
7 | define: {
8 | "process.env.DEBUG": "undefined",
9 | "process.env.JEST_WORKER_ID": "1",
10 | __OXIDE__: "undefined",
11 | __dirname: '"/"',
12 | },
13 | supported: {
14 | "nullish-coalescing": false,
15 | "optional-chain": false,
16 | },
17 | external: ["svgo"],
18 | plugins: [
19 | {
20 | name: "alias",
21 | async setup({ onLoad, onResolve, resolve }) {
22 | const stubFiles = await readdir("src/stubs", { withFileTypes: true });
23 | const stubNames = stubFiles
24 | .filter((file) => file.isFile())
25 | .map((file) => parse(file.name).name);
26 |
27 | onResolve({ filter: new RegExp(`^(${stubNames.join("|")})$`) }, ({ path }) => ({
28 | path: fileURLToPath(new URL(`stubs/${path}.ts`, import.meta.url)),
29 | sideEffects: false,
30 | }));
31 |
32 | onResolve({ filter: /^@tailwindcss\/oxide/ }, ({ path }) => ({
33 | path: fileURLToPath(new URL(`stubs/${path}.ts`, import.meta.url)),
34 | sideEffects: false,
35 | }));
36 |
37 | onResolve({ filter: /^tailwindcss$/ }, ({ path, ...options }) =>
38 | resolve("tailwindcss/src", options)
39 | );
40 |
41 | onResolve({ filter: /^tailwindcss\/lib/ }, ({ path, ...options }) =>
42 | resolve(path.replace("lib", "src"), options)
43 | );
44 |
45 | onResolve({ filter: /^\.+\/(util\/)?log$/, namespace: "file" }, ({ path, ...options }) => {
46 | if (options.importer.includes("tailwindcss")) {
47 | return {
48 | path: fileURLToPath(new URL("stubs/tailwindcss/utils/log.ts", import.meta.url)),
49 | sideEffects: false,
50 | };
51 | }
52 | return resolve(path, {
53 | ...options,
54 | namespace: "noRecurse",
55 | });
56 | });
57 |
58 | onResolve({ filter: /^postcss-selector-parser\/.*\/\w+$/ }, ({ path, ...options }) =>
59 | resolve(`${path}.js`, options)
60 | );
61 |
62 | onLoad({ filter: /tailwindcss\/src\/css\/preflight\.css$/ }, async ({ path }) => {
63 | const result = await build({
64 | entryPoints: [path],
65 | minify: true,
66 | logLevel: "silent",
67 | write: false,
68 | });
69 | return { contents: result.outputFiles[0].text, loader: "text" };
70 | });
71 |
72 | onLoad({ filter: /\/tailwindcss\/stubs\/defaultConfig\.stub\.js$/ }, async ({ path }) => {
73 | const cjs = await readFile(path, "utf8");
74 | const esm = cjs.replace("module.exports =", "export default");
75 | return { contents: esm };
76 | });
77 | },
78 | },
79 | ],
80 | };
81 |
82 | // COMMONJS
83 | build({
84 | entryPoints: { "index.cjs": "src/builds/module.ts" },
85 | bundle: true,
86 | minify: true,
87 | logLevel: "info",
88 | outfile: "dist/index.cjs",
89 | format: "cjs",
90 | ...buildConfig,
91 | });
92 |
93 | // MODULE
94 | build({
95 | entryPoints: { "index.mjs": "src/builds/module.ts" },
96 | bundle: true,
97 | minify: true,
98 | logLevel: "info",
99 | outfile: "dist/index.mjs",
100 | format: "esm",
101 | ...buildConfig,
102 | });
103 |
104 | // CDN
105 | build({
106 | entryPoints: { "cdn.min": "src/builds/cdn.ts" },
107 | bundle: true,
108 | minify: true,
109 | logLevel: "info",
110 | outdir: "dist",
111 | format: "iife",
112 | ...buildConfig,
113 | });
114 |
--------------------------------------------------------------------------------
/src/builds/cdn.ts:
--------------------------------------------------------------------------------
1 | import { twi, tailwindToCSS, twj } from "..";
2 |
3 | const w = window as any;
4 |
5 | w.twi = twi;
6 | w.twj = twj;
7 | w.tailwindToCSS = tailwindToCSS;
8 | w.twToCSS = tailwindToCSS;
9 |
--------------------------------------------------------------------------------
/src/builds/module.ts:
--------------------------------------------------------------------------------
1 | export { twi, twj, tailwindToCSS, twToCSS } from "..";
2 |
--------------------------------------------------------------------------------
/src/index.ts:
--------------------------------------------------------------------------------
1 | import types from "..";
2 | import { processTailwindCSS, formatCSS } from "./util";
3 | import { cssToJson } from "./util/css-to-json";
4 |
5 | const getCSS: typeof types.getCSS = (content, config) => {
6 | const preflight = ((config?.corePlugins as any)?.preflight as boolean) ?? false;
7 | const corePlugins = (config?.corePlugins as {}) || {};
8 |
9 | return processTailwindCSS({
10 | config: {
11 | ...config,
12 | corePlugins: {
13 | ...corePlugins,
14 | preflight,
15 | },
16 | },
17 | content,
18 | });
19 | };
20 |
21 | const tailwindToCSS: typeof types.tailwindToCSS = ({ config, options }) => ({
22 | twi: tailwindInlineCSS(config, options),
23 | twj: tailwindInlineJson(config, options),
24 | });
25 |
26 | const classListFormatter: typeof types.classListFormatter = (...params) => {
27 | let classList = "";
28 |
29 | if (typeof params[0] === "string") {
30 | classList = params[0];
31 | } else if (Array.isArray(params[0])) {
32 | classList = (params as any[])
33 | .flat(Infinity)
34 | .map((styles) => classListFormatter(styles))
35 | .join(" ");
36 | } else if (typeof params[0] === "object") {
37 | classList = Object.entries(params[0])
38 | .filter((entry) => !!entry[1])
39 | .map((entry) => entry[0])
40 | .join(" ");
41 | }
42 |
43 | classList = classList.replace(/\s+/g, " ");
44 |
45 | return classList;
46 | };
47 |
48 | const tailwindInlineCSS: typeof types.tailwindInlineCSS =
49 | (config, mainOptions) =>
50 | (...params: any) => {
51 | const content = classListFormatter(params);
52 |
53 | const { 1: options } = params || {};
54 |
55 | const defaultOptions = { merge: true, minify: true, ignoreMediaQueries: true };
56 | const twiOptions = { ...defaultOptions, ...mainOptions, ...options };
57 |
58 | let css = formatCSS(getCSS(content, config));
59 |
60 | if (twiOptions?.ignoreMediaQueries) {
61 | css.removeMediaQueries();
62 | } else {
63 | css.removeUndefined();
64 | css.combineMediaQueries();
65 | }
66 |
67 | css.fixRGB();
68 |
69 | if (twiOptions?.merge) css.merge();
70 | if (twiOptions?.minify) css.minify();
71 |
72 | return css.get();
73 | };
74 |
75 | const tailwindInlineJson: typeof types.tailwindInlineJson =
76 | (config, mainOptions) =>
77 | (...params: any) => {
78 | return cssToJson(tailwindInlineCSS(config, mainOptions)(params));
79 | };
80 |
81 | const twi: typeof types.twi = tailwindInlineCSS();
82 | const twj: typeof types.twj = tailwindInlineJson();
83 |
84 | const twToCSS = tailwindToCSS;
85 |
86 | export { twi, twj, tailwindToCSS, twToCSS };
87 |
--------------------------------------------------------------------------------
/src/stubs/@tailwindcss/oxide.ts:
--------------------------------------------------------------------------------
1 | export default null;
2 |
--------------------------------------------------------------------------------
/src/stubs/crypto.ts:
--------------------------------------------------------------------------------
1 | export default null;
2 |
--------------------------------------------------------------------------------
/src/stubs/fs.ts:
--------------------------------------------------------------------------------
1 | import preflight from "tailwindcss/src/css/preflight.css";
2 |
3 | export default {
4 | // Reading the preflight CSS is the only use of fs at the moment of writing.
5 | readFileSync: () => preflight,
6 | };
7 |
--------------------------------------------------------------------------------
/src/stubs/path.ts:
--------------------------------------------------------------------------------
1 | export const join = (): string => "";
2 |
--------------------------------------------------------------------------------
/src/stubs/picocolors.ts:
--------------------------------------------------------------------------------
1 | export default {
2 | yellow: (input: string) => input,
3 | };
4 |
--------------------------------------------------------------------------------
/src/stubs/tailwindcss/utils/log.ts:
--------------------------------------------------------------------------------
1 | // eslint-disable-next-line @typescript-eslint/no-empty-function
2 | export function log(): void {}
3 |
4 | export function dim(input: string): string {
5 | return input;
6 | }
7 |
8 | export default {
9 | info: log,
10 | warn: log,
11 | risk: log,
12 | };
13 |
--------------------------------------------------------------------------------
/src/stubs/url.ts:
--------------------------------------------------------------------------------
1 | export default null;
2 |
--------------------------------------------------------------------------------
/src/util/class-to-css.ts:
--------------------------------------------------------------------------------
1 | import { twi } from "..";
2 |
3 | export function classToCSS(HTML: string, inline: boolean = false) {
4 | const classRegex = /class="(.*?)"/g;
5 |
6 | let CSS = twi(HTML);
7 | let styleTag = "";
8 | if (!inline) {
9 | let head = HTML.match(//gs);
10 | if (!head) {
11 | inline = true;
12 | } else {
13 | let headElement = head[0];
14 |
15 | styleTag = ``;
16 | const styleTagExists = headElement.match(//gs);
17 | if (styleTagExists) {
18 | styleTag = styleTagExists[0].replace("", `${CSS}`);
19 | headElement = headElement.replace(styleTagExists[0], styleTag);
20 | } else {
21 | headElement = headElement.replace("", `${styleTag}`);
22 | }
23 | HTML = HTML.replace(//gs, headElement);
24 | }
25 | }
26 | if (inline) {
27 | const elementRegex = /<.*?>/g;
28 | const elements = HTML.match(elementRegex);
29 | elements?.forEach((element) => {
30 | const elClasses = element.match(classRegex);
31 | if (elClasses) {
32 | let elCSS = twi(elClasses[0]);
33 | const styleAttrRegex = /style=".*?"/g;
34 | const styleAttrMatches = element.match(styleAttrRegex);
35 | if (styleAttrMatches) {
36 | elCSS = styleAttrMatches[0].replace('style="', `style="${elCSS}`);
37 | HTML = HTML.replace(element, element.replace(styleAttrMatches[0], elCSS));
38 | } else {
39 | const styleAttr = ` style="${elCSS}"`;
40 | HTML = HTML.replace(element, element.replace(">", `${styleAttr}>`));
41 | }
42 | }
43 | });
44 | }
45 |
46 | return HTML;
47 | }
48 |
--------------------------------------------------------------------------------
/src/util/create-tailwind-css-plugin.ts:
--------------------------------------------------------------------------------
1 | import processTailwindFeatures from "tailwindcss/src/processTailwindFeatures.js";
2 | import resolveConfig from "tailwindcss/src/public/resolve-config.js";
3 | import { AcceptedPlugin } from "postcss";
4 | import { TailwindConfig } from "tailwindcss/tailwindconfig.faketype";
5 |
6 | export const createTailwindcssPlugin = (props: {
7 | config?: TailwindConfig;
8 | content: string;
9 | }): AcceptedPlugin => {
10 | const tailwindConfig = resolveConfig(props.config ?? {});
11 | const tailwindcssPlugin = processTailwindFeatures(
12 | (processOptions) => () =>
13 | processOptions.createContext(tailwindConfig, [{ content: props.content }])
14 | );
15 | return tailwindcssPlugin;
16 | };
17 |
--------------------------------------------------------------------------------
/src/util/css-to-json.ts:
--------------------------------------------------------------------------------
1 | import { CSSProperties } from "react";
2 | import postcss from "postcss";
3 | import postcssJs from "postcss-js";
4 |
5 | export function cssToJson(css: string): CSSProperties {
6 | const root = postcss.parse(css);
7 | return postcssJs.objectify(root);
8 | }
9 |
--------------------------------------------------------------------------------
/src/util/default-tailwind-css.ts:
--------------------------------------------------------------------------------
1 | export const defaultTailwindCSS = String.raw`
2 | @tailwind base;
3 | @tailwind components;
4 | @tailwind utilities;
5 | `;
6 |
--------------------------------------------------------------------------------
/src/util/format-css.ts:
--------------------------------------------------------------------------------
1 | export const formatCSS = (css: string) => ({
2 | extractCSS(content: string, nested: boolean = false) {
3 | const propValueRegex = /(?:[\s\r\n]*)?(?[\w-]+)\s*:\s*(?[^;\r\n]+)/gm;
4 | let match: RegExpExecArray | null;
5 | const props: { [key: string]: string | undefined } = {};
6 |
7 | while ((match = propValueRegex.exec(content)) !== null) {
8 | const { prop, value } = match.groups!;
9 | props[prop] = value;
10 | }
11 |
12 | return Object.entries(props).reduce(
13 | (acc, [prop, value]) => acc + `${nested ? "\t" : ""}${prop}: ${value}; \n\r`,
14 | ""
15 | );
16 | },
17 | merge() {
18 | const blockContentRegex = /(?<=\.)[^{]+\s*\{(?[^{}]*(?:(?<=;)\s*\n\r?[^{}]*)*)\s*\}/gm;
19 | let matchBlock: RegExpExecArray | null;
20 | let blockContent = "";
21 |
22 | while ((matchBlock = blockContentRegex.exec(css)) !== null) {
23 | const { content } = matchBlock.groups!;
24 | blockContent += content;
25 | }
26 |
27 | let mergedCSS = this.extractCSS(blockContent);
28 |
29 | const mediaRegex = /(?@media\s*\([^\)]*\))\s*\{(?[^\}]*)\}/gm;
30 | let matchMedia: RegExpExecArray | null;
31 | while ((matchMedia = mediaRegex.exec(css)) !== null) {
32 | const { media, content } = matchMedia.groups!;
33 | mergedCSS += `\n\r${media} {\n\r${this.extractCSS(content, true)}}\n\r`;
34 | }
35 |
36 | css = mergedCSS;
37 |
38 | return this;
39 | },
40 | removeUndefined() {
41 | const undefinedPropRegex =
42 | /^[^{}]*(?:[.#][a-zA-Z0-9_-]+)[^{]*{[^}]*\b(?:[a-z-]+):\s*undefined\s*;?[^}]*}/gm;
43 | css = css.replace(undefinedPropRegex, "");
44 |
45 | return this;
46 | },
47 | combineMediaQueries() {
48 | const regex = new RegExp(
49 | "@media\\s*(?\\([^)]+\\))\\s*{(?(?:[^{}]+|{(?:[^{}]+|{[^{}]*})*})+)}",
50 | "gs"
51 | );
52 |
53 | const medias = new Map();
54 |
55 | const cleanCSS = (cssText: string) =>
56 | cssText.replace(regex, (_, conditions, content) => {
57 | const mediaContent = medias.get(conditions) ?? "";
58 | medias.set(conditions, mediaContent + cleanCSS(content.trim()));
59 | cleanCSS(content);
60 | return "";
61 | });
62 |
63 | const parts = [];
64 | parts.push(cleanCSS(css));
65 | parts.push(...Array.from(medias, ([condition, content]) => `@media${condition}{${content}}`));
66 |
67 | css = parts.join("");
68 |
69 | return this;
70 | },
71 | minify() {
72 | css = css
73 |
74 | // Remove comments
75 | .replace(/\/\*[\s\S]*?\*\//gm, "")
76 |
77 | // Remove extra spaces after semicolons and colons
78 | .replace(/;\s+/gm, ";")
79 | .replace(/:\s+/gm, ":")
80 |
81 | // Remove extra spaces before and after brackets
82 | .replace(/\)\s*{/gm, "){") // Remove spaces before opening curly brace after closing parenthesis
83 | .replace(/\s+\(/gm, "(") // Remove spaces before opening parenthesis
84 | .replace(/{\s+/gm, "{") // Remove spaces after opening curly brace
85 | .replace(/}\s+/gm, "}") // Remove spaces before closing curly brace
86 | .replace(/\s*{/gm, "{") // Remove spaces after opening curly brace
87 | .replace(/;?\s*}/gm, "}"); // Remove extra spaces and semicolons before closing curly braces
88 |
89 | return this;
90 | },
91 | fixRGB() {
92 | const regex =
93 | /rgb\(\s*(?\d+)\s*(?\d+)\s*(?\d+)(?:\s*\/\s*(?[\d%.]+))?\s*\)/gm;
94 | let match: RegExpExecArray | null;
95 |
96 | while ((match = regex.exec(css)) !== null) {
97 | const [matchString] = match;
98 | let { red, green, blue, alpha = 1 } = match.groups!;
99 | css = css.replace(
100 | matchString,
101 | `rgb(${red},${green},${blue}${alpha === "1" ? "" : `,${alpha}`})`
102 | );
103 | }
104 |
105 | return this;
106 | },
107 | removeMediaQueries() {
108 | css = css.replace(/@media[^\{]+\{[^@]+\}/g, "");
109 |
110 | return this;
111 | },
112 | get() {
113 | return css;
114 | },
115 | });
116 |
--------------------------------------------------------------------------------
/src/util/index.ts:
--------------------------------------------------------------------------------
1 | export * from "./format-css";
2 | export * from "./create-tailwind-css-plugin";
3 | export * from "./process-tailwind-css";
4 | export * from "./default-tailwind-css";
5 | export * from "./class-to-css";
6 |
--------------------------------------------------------------------------------
/src/util/process-tailwind-css.ts:
--------------------------------------------------------------------------------
1 | import postcss from "postcss";
2 | import postcssVariables from "postcss-css-variables";
3 | import { TailwindConfig } from "tailwindcss/tailwindconfig.faketype";
4 | import { createTailwindcssPlugin, defaultTailwindCSS } from ".";
5 |
6 | export const processTailwindCSS = (props: { config?: TailwindConfig; content: string }) => {
7 | const tailwindcssPlugin = createTailwindcssPlugin({
8 | config: props.config,
9 | content: props.content,
10 | });
11 | const processor = postcss([tailwindcssPlugin, postcssVariables()]);
12 | const result = processor.process(defaultTailwindCSS, { from: undefined });
13 | return result.css;
14 | };
15 |
--------------------------------------------------------------------------------
/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "allowSyntheticDefaultImports": true,
4 | "lib": ["dom", "esnext", "dom.iterable"],
5 | "module": "esnext",
6 | "moduleResolution": "node",
7 | "noEmit": true,
8 | "strict": true,
9 | "stripInternal": true,
10 | "target": "esnext"
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/types.d.ts:
--------------------------------------------------------------------------------
1 | declare module "tailwindcss/tailwindconfig.faketype" {
2 | import { Config } from "tailwindcss";
3 |
4 | export interface TailwindConfig {
5 | important?: Config["important"];
6 | prefix?: Config["prefix"];
7 | separator?: Config["separator"];
8 | safelist?: Config["safelist"];
9 | presets?: Config["presets"];
10 | future?: Config["future"];
11 | experimental?: Config["experimental"];
12 | darkMode?: Config["darkMode"];
13 | theme?: Config["theme"];
14 | corePlugins?: Config["corePlugins"];
15 | plugins?: Config["plugins"];
16 | }
17 | }
18 |
19 | declare module "tailwindcss/src/lib/expandApplyAtRules.js" {
20 | export default function expandApplyAtRules(): void;
21 | }
22 |
23 | declare module "tailwindcss/src/lib/generateRules.js" {
24 | export function generateRules(): void;
25 | }
26 |
27 | declare module "tailwindcss/src/lib/setupContextUtils.js" {
28 | import { Container } from "postcss";
29 | import { TailwindConfig } from "tailwindcss/tailwindconfig.faketype";
30 |
31 | interface ChangedContent {
32 | content: string;
33 | extension?: string;
34 | }
35 |
36 | interface Api {
37 | container: Container;
38 | separator: string;
39 | format: (def: string) => void;
40 | wrap: (rule: Container) => void;
41 | }
42 |
43 | type VariantPreview = string;
44 |
45 | type VariantFn = [number, (api: Api) => VariantPreview | undefined];
46 |
47 | type VariantName = string;
48 |
49 | export interface JitContext {
50 | changedContent: ChangedContent[];
51 | getClassList: () => string[];
52 | tailwindConfig: TailwindConfig;
53 | variantMap: Map;
54 | }
55 |
56 | export function createContext(
57 | config: TailwindConfig,
58 | changedContent?: ChangedContent[]
59 | ): JitContext;
60 | }
61 |
62 | declare module "tailwindcss/src/processTailwindFeatures.js" {
63 | import { AtRule, Plugin, Result, Root } from "postcss";
64 | import { ChangedContent, JitContext } from "tailwindcss/src/lib/setupContextUtils.js";
65 | import { TailwindConfig } from "tailwindcss/tailwindconfig.faketype";
66 |
67 | type SetupContext = (root: Root, result: Result) => JitContext;
68 |
69 | interface ProcessTailwindFeaturesCallbackOptions {
70 | applyDirectives: Set;
71 | createContext: (config: TailwindConfig, changedContent: ChangedContent[]) => JitContext;
72 | registerDependency: () => unknown;
73 | tailwindDirectives: Set;
74 | }
75 |
76 | export default function processTailwindFeatures(
77 | callback: (options: ProcessTailwindFeaturesCallbackOptions) => SetupContext
78 | ): Plugin;
79 | }
80 |
81 | declare module "tailwindcss/src/public/resolve-config.js" {
82 | import { TailwindConfig } from "tailwindcss/tailwindconfig.faketype";
83 |
84 | export default function resolveConfig(tailwindConfig: TailwindConfig): TailwindConfig;
85 | }
86 |
--------------------------------------------------------------------------------
/yarn.lock:
--------------------------------------------------------------------------------
1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
2 | # yarn lockfile v1
3 |
4 |
5 | "@alloc/quick-lru@^5.2.0":
6 | version "5.2.0"
7 | resolved "https://registry.yarnpkg.com/@alloc/quick-lru/-/quick-lru-5.2.0.tgz#7bf68b20c0a350f936915fcae06f58e32007ce30"
8 | integrity sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==
9 |
10 | "@esbuild-kit/cjs-loader@^2.4.1":
11 | version "2.4.4"
12 | resolved "https://registry.yarnpkg.com/@esbuild-kit/cjs-loader/-/cjs-loader-2.4.4.tgz#8638177732e2de258a3243597bfdba082993c442"
13 | integrity sha512-NfsJX4PdzhwSkfJukczyUiZGc7zNNWZcEAyqeISpDnn0PTfzMJR1aR8xAIPskBejIxBJbIgCCMzbaYa9SXepIg==
14 | dependencies:
15 | "@esbuild-kit/core-utils" "^3.2.3"
16 | get-tsconfig "^4.7.0"
17 |
18 | "@esbuild-kit/core-utils@^3.0.0", "@esbuild-kit/core-utils@^3.2.3", "@esbuild-kit/core-utils@^3.3.2":
19 | version "3.3.2"
20 | resolved "https://registry.yarnpkg.com/@esbuild-kit/core-utils/-/core-utils-3.3.2.tgz#186b6598a5066f0413471d7c4d45828e399ba96c"
21 | integrity sha512-sPRAnw9CdSsRmEtnsl2WXWdyquogVpB3yZ3dgwJfe8zrOzTsV7cJvmwrKVa+0ma5BoiGJ+BoqkMvawbayKUsqQ==
22 | dependencies:
23 | esbuild "~0.18.20"
24 | source-map-support "^0.5.21"
25 |
26 | "@esbuild-kit/esm-loader@^2.5.4":
27 | version "2.6.5"
28 | resolved "https://registry.yarnpkg.com/@esbuild-kit/esm-loader/-/esm-loader-2.6.5.tgz#6eedee46095d7d13b1efc381e2211ed1c60e64ea"
29 | integrity sha512-FxEMIkJKnodyA1OaCUoEvbYRkoZlLZ4d/eXFu9Fh8CbBBgP5EmZxrfTRyN0qpXZ4vOvqnE5YdRdcrmUUXuU+dA==
30 | dependencies:
31 | "@esbuild-kit/core-utils" "^3.3.2"
32 | get-tsconfig "^4.7.0"
33 |
34 | "@esbuild/android-arm64@0.18.20":
35 | version "0.18.20"
36 | resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.18.20.tgz#984b4f9c8d0377443cc2dfcef266d02244593622"
37 | integrity sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==
38 |
39 | "@esbuild/android-arm@0.15.18":
40 | version "0.15.18"
41 | resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.15.18.tgz#266d40b8fdcf87962df8af05b76219bc786b4f80"
42 | integrity sha512-5GT+kcs2WVGjVs7+boataCkO5Fg0y4kCjzkB5bAip7H4jfnOS3dA6KPiww9W1OEKTKeAcUVhdZGvgI65OXmUnw==
43 |
44 | "@esbuild/android-arm@0.18.20":
45 | version "0.18.20"
46 | resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.18.20.tgz#fedb265bc3a589c84cc11f810804f234947c3682"
47 | integrity sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==
48 |
49 | "@esbuild/android-x64@0.18.20":
50 | version "0.18.20"
51 | resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.18.20.tgz#35cf419c4cfc8babe8893d296cd990e9e9f756f2"
52 | integrity sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==
53 |
54 | "@esbuild/darwin-arm64@0.18.20":
55 | version "0.18.20"
56 | resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.18.20.tgz#08172cbeccf95fbc383399a7f39cfbddaeb0d7c1"
57 | integrity sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==
58 |
59 | "@esbuild/darwin-x64@0.18.20":
60 | version "0.18.20"
61 | resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.18.20.tgz#d70d5790d8bf475556b67d0f8b7c5bdff053d85d"
62 | integrity sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==
63 |
64 | "@esbuild/freebsd-arm64@0.18.20":
65 | version "0.18.20"
66 | resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.20.tgz#98755cd12707f93f210e2494d6a4b51b96977f54"
67 | integrity sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==
68 |
69 | "@esbuild/freebsd-x64@0.18.20":
70 | version "0.18.20"
71 | resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.18.20.tgz#c1eb2bff03915f87c29cece4c1a7fa1f423b066e"
72 | integrity sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==
73 |
74 | "@esbuild/linux-arm64@0.18.20":
75 | version "0.18.20"
76 | resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.18.20.tgz#bad4238bd8f4fc25b5a021280c770ab5fc3a02a0"
77 | integrity sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==
78 |
79 | "@esbuild/linux-arm@0.18.20":
80 | version "0.18.20"
81 | resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.18.20.tgz#3e617c61f33508a27150ee417543c8ab5acc73b0"
82 | integrity sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==
83 |
84 | "@esbuild/linux-ia32@0.18.20":
85 | version "0.18.20"
86 | resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.18.20.tgz#699391cccba9aee6019b7f9892eb99219f1570a7"
87 | integrity sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==
88 |
89 | "@esbuild/linux-loong64@0.15.18":
90 | version "0.15.18"
91 | resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.15.18.tgz#128b76ecb9be48b60cf5cfc1c63a4f00691a3239"
92 | integrity sha512-L4jVKS82XVhw2nvzLg/19ClLWg0y27ulRwuP7lcyL6AbUWB5aPglXY3M21mauDQMDfRLs8cQmeT03r/+X3cZYQ==
93 |
94 | "@esbuild/linux-loong64@0.18.20":
95 | version "0.18.20"
96 | resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.18.20.tgz#e6fccb7aac178dd2ffb9860465ac89d7f23b977d"
97 | integrity sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==
98 |
99 | "@esbuild/linux-mips64el@0.18.20":
100 | version "0.18.20"
101 | resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.18.20.tgz#eeff3a937de9c2310de30622a957ad1bd9183231"
102 | integrity sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==
103 |
104 | "@esbuild/linux-ppc64@0.18.20":
105 | version "0.18.20"
106 | resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.18.20.tgz#2f7156bde20b01527993e6881435ad79ba9599fb"
107 | integrity sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==
108 |
109 | "@esbuild/linux-riscv64@0.18.20":
110 | version "0.18.20"
111 | resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.18.20.tgz#6628389f210123d8b4743045af8caa7d4ddfc7a6"
112 | integrity sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==
113 |
114 | "@esbuild/linux-s390x@0.18.20":
115 | version "0.18.20"
116 | resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.18.20.tgz#255e81fb289b101026131858ab99fba63dcf0071"
117 | integrity sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==
118 |
119 | "@esbuild/linux-x64@0.18.20":
120 | version "0.18.20"
121 | resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.18.20.tgz#c7690b3417af318a9b6f96df3031a8865176d338"
122 | integrity sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==
123 |
124 | "@esbuild/netbsd-x64@0.18.20":
125 | version "0.18.20"
126 | resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.18.20.tgz#30e8cd8a3dded63975e2df2438ca109601ebe0d1"
127 | integrity sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==
128 |
129 | "@esbuild/openbsd-x64@0.18.20":
130 | version "0.18.20"
131 | resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.18.20.tgz#7812af31b205055874c8082ea9cf9ab0da6217ae"
132 | integrity sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==
133 |
134 | "@esbuild/sunos-x64@0.18.20":
135 | version "0.18.20"
136 | resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.18.20.tgz#d5c275c3b4e73c9b0ecd38d1ca62c020f887ab9d"
137 | integrity sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==
138 |
139 | "@esbuild/win32-arm64@0.18.20":
140 | version "0.18.20"
141 | resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.18.20.tgz#73bc7f5a9f8a77805f357fab97f290d0e4820ac9"
142 | integrity sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==
143 |
144 | "@esbuild/win32-ia32@0.18.20":
145 | version "0.18.20"
146 | resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.18.20.tgz#ec93cbf0ef1085cc12e71e0d661d20569ff42102"
147 | integrity sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==
148 |
149 | "@esbuild/win32-x64@0.18.20":
150 | version "0.18.20"
151 | resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.18.20.tgz#786c5f41f043b07afb1af37683d7c33668858f6d"
152 | integrity sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==
153 |
154 | "@jridgewell/gen-mapping@^0.3.2":
155 | version "0.3.3"
156 | resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz#7e02e6eb5df901aaedb08514203b096614024098"
157 | integrity sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==
158 | dependencies:
159 | "@jridgewell/set-array" "^1.0.1"
160 | "@jridgewell/sourcemap-codec" "^1.4.10"
161 | "@jridgewell/trace-mapping" "^0.3.9"
162 |
163 | "@jridgewell/resolve-uri@^3.1.0":
164 | version "3.1.1"
165 | resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz#c08679063f279615a3326583ba3a90d1d82cc721"
166 | integrity sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==
167 |
168 | "@jridgewell/set-array@^1.0.1":
169 | version "1.1.2"
170 | resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.2.tgz#7c6cf998d6d20b914c0a55a91ae928ff25965e72"
171 | integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==
172 |
173 | "@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.14":
174 | version "1.4.15"
175 | resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32"
176 | integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==
177 |
178 | "@jridgewell/trace-mapping@^0.3.9":
179 | version "0.3.20"
180 | resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz#72e45707cf240fa6b081d0366f8265b0cd10197f"
181 | integrity sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==
182 | dependencies:
183 | "@jridgewell/resolve-uri" "^3.1.0"
184 | "@jridgewell/sourcemap-codec" "^1.4.14"
185 |
186 | "@nodelib/fs.scandir@2.1.5":
187 | version "2.1.5"
188 | resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5"
189 | integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==
190 | dependencies:
191 | "@nodelib/fs.stat" "2.0.5"
192 | run-parallel "^1.1.9"
193 |
194 | "@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2":
195 | version "2.0.5"
196 | resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b"
197 | integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==
198 |
199 | "@nodelib/fs.walk@^1.2.3":
200 | version "1.2.8"
201 | resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a"
202 | integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==
203 | dependencies:
204 | "@nodelib/fs.scandir" "2.1.5"
205 | fastq "^1.6.0"
206 |
207 | "@types/node@18.11.18":
208 | version "18.11.18"
209 | resolved "https://registry.yarnpkg.com/@types/node/-/node-18.11.18.tgz#8dfb97f0da23c2293e554c5a50d61ef134d7697f"
210 | integrity sha512-DHQpWGjyQKSHj3ebjFI/wRKcqQcdR+MoFBygntYOZytCqNfkd2ZC4ARDJ2DQqhjH5p85Nnd3jhUJIXrszFX/JA==
211 |
212 | "@types/postcss-css-variables@0.18.0":
213 | version "0.18.0"
214 | resolved "https://registry.yarnpkg.com/@types/postcss-css-variables/-/postcss-css-variables-0.18.0.tgz#d1ef55c99ecacbec65883fe0f620f520cc551669"
215 | integrity sha512-NJBO24iE1I6FSVE/iMWaQIPbEHbdO0FJwASy/lUJktHxLa42T3dEOQ4xEwhocDcZrQTOUguM/650KYD+p9JQ4Q==
216 | dependencies:
217 | postcss "^8.2.6"
218 |
219 | "@types/prop-types@*":
220 | version "15.7.9"
221 | resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.9.tgz#b6f785caa7ea1fe4414d9df42ee0ab67f23d8a6d"
222 | integrity sha512-n1yyPsugYNSmHgxDFjicaI2+gCNjsBck8UX9kuofAKlc0h1bL+20oSF72KeNaW2DUlesbEVCFgyV2dPGTiY42g==
223 |
224 | "@types/react@18.0.28":
225 | version "18.0.28"
226 | resolved "https://registry.yarnpkg.com/@types/react/-/react-18.0.28.tgz#accaeb8b86f4908057ad629a26635fe641480065"
227 | integrity sha512-RD0ivG1kEztNBdoAK7lekI9M+azSnitIn85h4iOiaLjaTrMjzslhaqCGaI4IyCJ1RljWiLCEu4jyrLLgqxBTew==
228 | dependencies:
229 | "@types/prop-types" "*"
230 | "@types/scheduler" "*"
231 | csstype "^3.0.2"
232 |
233 | "@types/scheduler@*":
234 | version "0.16.5"
235 | resolved "https://registry.yarnpkg.com/@types/scheduler/-/scheduler-0.16.5.tgz#4751153abbf8d6199babb345a52e1eb4167d64af"
236 | integrity sha512-s/FPdYRmZR8SjLWGMCuax7r3qCWQw9QKHzXVukAuuIJkXkDRwp+Pu5LMIVFi0Fxbav35WURicYr8u1QsoybnQw==
237 |
238 | "@types/tailwindcss@3.1.0":
239 | version "3.1.0"
240 | resolved "https://registry.yarnpkg.com/@types/tailwindcss/-/tailwindcss-3.1.0.tgz#1185e4b3437c6e0f19d6cc8cd42738a94fd7b64f"
241 | integrity sha512-JxPzrm609hzvF4nmOI3StLjbBEP3WWQxDDJESqR1nh94h7gyyy3XSl0hn5RBMJ9mPudlLjtaXs5YEBtLw7CnPA==
242 | dependencies:
243 | tailwindcss "*"
244 |
245 | any-promise@^1.0.0:
246 | version "1.3.0"
247 | resolved "https://registry.yarnpkg.com/any-promise/-/any-promise-1.3.0.tgz#abc6afeedcea52e809cdc0376aed3ce39635d17f"
248 | integrity sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==
249 |
250 | anymatch@~3.1.2:
251 | version "3.1.3"
252 | resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e"
253 | integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==
254 | dependencies:
255 | normalize-path "^3.0.0"
256 | picomatch "^2.0.4"
257 |
258 | arg@^5.0.2:
259 | version "5.0.2"
260 | resolved "https://registry.yarnpkg.com/arg/-/arg-5.0.2.tgz#c81433cc427c92c4dcf4865142dbca6f15acd59c"
261 | integrity sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==
262 |
263 | balanced-match@^1.0.0:
264 | version "1.0.2"
265 | resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee"
266 | integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==
267 |
268 | binary-extensions@^2.0.0:
269 | version "2.2.0"
270 | resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d"
271 | integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==
272 |
273 | brace-expansion@^1.1.7:
274 | version "1.1.11"
275 | resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd"
276 | integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==
277 | dependencies:
278 | balanced-match "^1.0.0"
279 | concat-map "0.0.1"
280 |
281 | braces@^3.0.2, braces@~3.0.2:
282 | version "3.0.2"
283 | resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107"
284 | integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==
285 | dependencies:
286 | fill-range "^7.0.1"
287 |
288 | buffer-from@^1.0.0:
289 | version "1.1.2"
290 | resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5"
291 | integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==
292 |
293 | camelcase-css@^2.0.1:
294 | version "2.0.1"
295 | resolved "https://registry.yarnpkg.com/camelcase-css/-/camelcase-css-2.0.1.tgz#ee978f6947914cc30c6b44741b6ed1df7f043fd5"
296 | integrity sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==
297 |
298 | chokidar@^3.5.3:
299 | version "3.5.3"
300 | resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd"
301 | integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==
302 | dependencies:
303 | anymatch "~3.1.2"
304 | braces "~3.0.2"
305 | glob-parent "~5.1.2"
306 | is-binary-path "~2.1.0"
307 | is-glob "~4.0.1"
308 | normalize-path "~3.0.0"
309 | readdirp "~3.6.0"
310 | optionalDependencies:
311 | fsevents "~2.3.2"
312 |
313 | commander@^4.0.0:
314 | version "4.1.1"
315 | resolved "https://registry.yarnpkg.com/commander/-/commander-4.1.1.tgz#9fd602bd936294e9e9ef46a3f4d6964044b18068"
316 | integrity sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==
317 |
318 | concat-map@0.0.1:
319 | version "0.0.1"
320 | resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
321 | integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==
322 |
323 | cssesc@^3.0.0:
324 | version "3.0.0"
325 | resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee"
326 | integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==
327 |
328 | csstype@^3.0.2:
329 | version "3.1.2"
330 | resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.2.tgz#1d4bf9d572f11c14031f0436e1c10bc1f571f50b"
331 | integrity sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==
332 |
333 | didyoumean@^1.2.2:
334 | version "1.2.2"
335 | resolved "https://registry.yarnpkg.com/didyoumean/-/didyoumean-1.2.2.tgz#989346ffe9e839b4555ecf5666edea0d3e8ad037"
336 | integrity sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==
337 |
338 | dlv@^1.1.3:
339 | version "1.1.3"
340 | resolved "https://registry.yarnpkg.com/dlv/-/dlv-1.1.3.tgz#5c198a8a11453596e751494d49874bc7732f2e79"
341 | integrity sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==
342 |
343 | esbuild-android-64@0.15.18:
344 | version "0.15.18"
345 | resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.15.18.tgz#20a7ae1416c8eaade917fb2453c1259302c637a5"
346 | integrity sha512-wnpt3OXRhcjfIDSZu9bnzT4/TNTDsOUvip0foZOUBG7QbSt//w3QV4FInVJxNhKc/ErhUxc5z4QjHtMi7/TbgA==
347 |
348 | esbuild-android-arm64@0.15.18:
349 | version "0.15.18"
350 | resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.15.18.tgz#9cc0ec60581d6ad267568f29cf4895ffdd9f2f04"
351 | integrity sha512-G4xu89B8FCzav9XU8EjsXacCKSG2FT7wW9J6hOc18soEHJdtWu03L3TQDGf0geNxfLTtxENKBzMSq9LlbjS8OQ==
352 |
353 | esbuild-darwin-64@0.15.18:
354 | version "0.15.18"
355 | resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.15.18.tgz#428e1730ea819d500808f220fbc5207aea6d4410"
356 | integrity sha512-2WAvs95uPnVJPuYKP0Eqx+Dl/jaYseZEUUT1sjg97TJa4oBtbAKnPnl3b5M9l51/nbx7+QAEtuummJZW0sBEmg==
357 |
358 | esbuild-darwin-arm64@0.15.18:
359 | version "0.15.18"
360 | resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.15.18.tgz#b6dfc7799115a2917f35970bfbc93ae50256b337"
361 | integrity sha512-tKPSxcTJ5OmNb1btVikATJ8NftlyNlc8BVNtyT/UAr62JFOhwHlnoPrhYWz09akBLHI9nElFVfWSTSRsrZiDUA==
362 |
363 | esbuild-freebsd-64@0.15.18:
364 | version "0.15.18"
365 | resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.15.18.tgz#4e190d9c2d1e67164619ae30a438be87d5eedaf2"
366 | integrity sha512-TT3uBUxkteAjR1QbsmvSsjpKjOX6UkCstr8nMr+q7zi3NuZ1oIpa8U41Y8I8dJH2fJgdC3Dj3CXO5biLQpfdZA==
367 |
368 | esbuild-freebsd-arm64@0.15.18:
369 | version "0.15.18"
370 | resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.15.18.tgz#18a4c0344ee23bd5a6d06d18c76e2fd6d3f91635"
371 | integrity sha512-R/oVr+X3Tkh+S0+tL41wRMbdWtpWB8hEAMsOXDumSSa6qJR89U0S/PpLXrGF7Wk/JykfpWNokERUpCeHDl47wA==
372 |
373 | esbuild-linux-32@0.15.18:
374 | version "0.15.18"
375 | resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.15.18.tgz#9a329731ee079b12262b793fb84eea762e82e0ce"
376 | integrity sha512-lphF3HiCSYtaa9p1DtXndiQEeQDKPl9eN/XNoBf2amEghugNuqXNZA/ZovthNE2aa4EN43WroO0B85xVSjYkbg==
377 |
378 | esbuild-linux-64@0.15.18:
379 | version "0.15.18"
380 | resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.15.18.tgz#532738075397b994467b514e524aeb520c191b6c"
381 | integrity sha512-hNSeP97IviD7oxLKFuii5sDPJ+QHeiFTFLoLm7NZQligur8poNOWGIgpQ7Qf8Balb69hptMZzyOBIPtY09GZYw==
382 |
383 | esbuild-linux-arm64@0.15.18:
384 | version "0.15.18"
385 | resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.15.18.tgz#5372e7993ac2da8f06b2ba313710d722b7a86e5d"
386 | integrity sha512-54qr8kg/6ilcxd+0V3h9rjT4qmjc0CccMVWrjOEM/pEcUzt8X62HfBSeZfT2ECpM7104mk4yfQXkosY8Quptug==
387 |
388 | esbuild-linux-arm@0.15.18:
389 | version "0.15.18"
390 | resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.15.18.tgz#e734aaf259a2e3d109d4886c9e81ec0f2fd9a9cc"
391 | integrity sha512-UH779gstRblS4aoS2qpMl3wjg7U0j+ygu3GjIeTonCcN79ZvpPee12Qun3vcdxX+37O5LFxz39XeW2I9bybMVA==
392 |
393 | esbuild-linux-mips64le@0.15.18:
394 | version "0.15.18"
395 | resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.15.18.tgz#c0487c14a9371a84eb08fab0e1d7b045a77105eb"
396 | integrity sha512-Mk6Ppwzzz3YbMl/ZZL2P0q1tnYqh/trYZ1VfNP47C31yT0K8t9s7Z077QrDA/guU60tGNp2GOwCQnp+DYv7bxQ==
397 |
398 | esbuild-linux-ppc64le@0.15.18:
399 | version "0.15.18"
400 | resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.15.18.tgz#af048ad94eed0ce32f6d5a873f7abe9115012507"
401 | integrity sha512-b0XkN4pL9WUulPTa/VKHx2wLCgvIAbgwABGnKMY19WhKZPT+8BxhZdqz6EgkqCLld7X5qiCY2F/bfpUUlnFZ9w==
402 |
403 | esbuild-linux-riscv64@0.15.18:
404 | version "0.15.18"
405 | resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.15.18.tgz#423ed4e5927bd77f842bd566972178f424d455e6"
406 | integrity sha512-ba2COaoF5wL6VLZWn04k+ACZjZ6NYniMSQStodFKH/Pu6RxzQqzsmjR1t9QC89VYJxBeyVPTaHuBMCejl3O/xg==
407 |
408 | esbuild-linux-s390x@0.15.18:
409 | version "0.15.18"
410 | resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.15.18.tgz#21d21eaa962a183bfb76312e5a01cc5ae48ce8eb"
411 | integrity sha512-VbpGuXEl5FCs1wDVp93O8UIzl3ZrglgnSQ+Hu79g7hZu6te6/YHgVJxCM2SqfIila0J3k0csfnf8VD2W7u2kzQ==
412 |
413 | esbuild-netbsd-64@0.15.18:
414 | version "0.15.18"
415 | resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.15.18.tgz#ae75682f60d08560b1fe9482bfe0173e5110b998"
416 | integrity sha512-98ukeCdvdX7wr1vUYQzKo4kQ0N2p27H7I11maINv73fVEXt2kyh4K4m9f35U1K43Xc2QGXlzAw0K9yoU7JUjOg==
417 |
418 | esbuild-openbsd-64@0.15.18:
419 | version "0.15.18"
420 | resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.15.18.tgz#79591a90aa3b03e4863f93beec0d2bab2853d0a8"
421 | integrity sha512-yK5NCcH31Uae076AyQAXeJzt/vxIo9+omZRKj1pauhk3ITuADzuOx5N2fdHrAKPxN+zH3w96uFKlY7yIn490xQ==
422 |
423 | esbuild-sunos-64@0.15.18:
424 | version "0.15.18"
425 | resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.15.18.tgz#fd528aa5da5374b7e1e93d36ef9b07c3dfed2971"
426 | integrity sha512-On22LLFlBeLNj/YF3FT+cXcyKPEI263nflYlAhz5crxtp3yRG1Ugfr7ITyxmCmjm4vbN/dGrb/B7w7U8yJR9yw==
427 |
428 | esbuild-windows-32@0.15.18:
429 | version "0.15.18"
430 | resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.15.18.tgz#0e92b66ecdf5435a76813c4bc5ccda0696f4efc3"
431 | integrity sha512-o+eyLu2MjVny/nt+E0uPnBxYuJHBvho8vWsC2lV61A7wwTWC3jkN2w36jtA+yv1UgYkHRihPuQsL23hsCYGcOQ==
432 |
433 | esbuild-windows-64@0.15.18:
434 | version "0.15.18"
435 | resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.15.18.tgz#0fc761d785414284fc408e7914226d33f82420d0"
436 | integrity sha512-qinug1iTTaIIrCorAUjR0fcBk24fjzEedFYhhispP8Oc7SFvs+XeW3YpAKiKp8dRpizl4YYAhxMjlftAMJiaUw==
437 |
438 | esbuild-windows-arm64@0.15.18:
439 | version "0.15.18"
440 | resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.18.tgz#5b5bdc56d341d0922ee94965c89ee120a6a86eb7"
441 | integrity sha512-q9bsYzegpZcLziq0zgUi5KqGVtfhjxGbnksaBFYmWLxeV/S1fK4OLdq2DFYnXcLMjlZw2L0jLsk1eGoB522WXQ==
442 |
443 | esbuild@0.15.18:
444 | version "0.15.18"
445 | resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.15.18.tgz#ea894adaf3fbc036d32320a00d4d6e4978a2f36d"
446 | integrity sha512-x/R72SmW3sSFRm5zrrIjAhCeQSAWoni3CmHEqfQrZIQTM3lVCdehdwuIqaOtfC2slvpdlLa62GYoN8SxT23m6Q==
447 | optionalDependencies:
448 | "@esbuild/android-arm" "0.15.18"
449 | "@esbuild/linux-loong64" "0.15.18"
450 | esbuild-android-64 "0.15.18"
451 | esbuild-android-arm64 "0.15.18"
452 | esbuild-darwin-64 "0.15.18"
453 | esbuild-darwin-arm64 "0.15.18"
454 | esbuild-freebsd-64 "0.15.18"
455 | esbuild-freebsd-arm64 "0.15.18"
456 | esbuild-linux-32 "0.15.18"
457 | esbuild-linux-64 "0.15.18"
458 | esbuild-linux-arm "0.15.18"
459 | esbuild-linux-arm64 "0.15.18"
460 | esbuild-linux-mips64le "0.15.18"
461 | esbuild-linux-ppc64le "0.15.18"
462 | esbuild-linux-riscv64 "0.15.18"
463 | esbuild-linux-s390x "0.15.18"
464 | esbuild-netbsd-64 "0.15.18"
465 | esbuild-openbsd-64 "0.15.18"
466 | esbuild-sunos-64 "0.15.18"
467 | esbuild-windows-32 "0.15.18"
468 | esbuild-windows-64 "0.15.18"
469 | esbuild-windows-arm64 "0.15.18"
470 |
471 | esbuild@~0.18.20:
472 | version "0.18.20"
473 | resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.18.20.tgz#4709f5a34801b43b799ab7d6d82f7284a9b7a7a6"
474 | integrity sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==
475 | optionalDependencies:
476 | "@esbuild/android-arm" "0.18.20"
477 | "@esbuild/android-arm64" "0.18.20"
478 | "@esbuild/android-x64" "0.18.20"
479 | "@esbuild/darwin-arm64" "0.18.20"
480 | "@esbuild/darwin-x64" "0.18.20"
481 | "@esbuild/freebsd-arm64" "0.18.20"
482 | "@esbuild/freebsd-x64" "0.18.20"
483 | "@esbuild/linux-arm" "0.18.20"
484 | "@esbuild/linux-arm64" "0.18.20"
485 | "@esbuild/linux-ia32" "0.18.20"
486 | "@esbuild/linux-loong64" "0.18.20"
487 | "@esbuild/linux-mips64el" "0.18.20"
488 | "@esbuild/linux-ppc64" "0.18.20"
489 | "@esbuild/linux-riscv64" "0.18.20"
490 | "@esbuild/linux-s390x" "0.18.20"
491 | "@esbuild/linux-x64" "0.18.20"
492 | "@esbuild/netbsd-x64" "0.18.20"
493 | "@esbuild/openbsd-x64" "0.18.20"
494 | "@esbuild/sunos-x64" "0.18.20"
495 | "@esbuild/win32-arm64" "0.18.20"
496 | "@esbuild/win32-ia32" "0.18.20"
497 | "@esbuild/win32-x64" "0.18.20"
498 |
499 | escape-string-regexp@^1.0.3:
500 | version "1.0.5"
501 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
502 | integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==
503 |
504 | extend@^3.0.1:
505 | version "3.0.2"
506 | resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa"
507 | integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==
508 |
509 | fast-glob@^3.2.12, fast-glob@^3.3.0:
510 | version "3.3.1"
511 | resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.1.tgz#784b4e897340f3dbbef17413b3f11acf03c874c4"
512 | integrity sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==
513 | dependencies:
514 | "@nodelib/fs.stat" "^2.0.2"
515 | "@nodelib/fs.walk" "^1.2.3"
516 | glob-parent "^5.1.2"
517 | merge2 "^1.3.0"
518 | micromatch "^4.0.4"
519 |
520 | fastq@^1.6.0:
521 | version "1.15.0"
522 | resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.15.0.tgz#d04d07c6a2a68fe4599fea8d2e103a937fae6b3a"
523 | integrity sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==
524 | dependencies:
525 | reusify "^1.0.4"
526 |
527 | fill-range@^7.0.1:
528 | version "7.0.1"
529 | resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40"
530 | integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==
531 | dependencies:
532 | to-regex-range "^5.0.1"
533 |
534 | fs.realpath@^1.0.0:
535 | version "1.0.0"
536 | resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
537 | integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==
538 |
539 | fsevents@~2.3.2:
540 | version "2.3.3"
541 | resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6"
542 | integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==
543 |
544 | function-bind@^1.1.2:
545 | version "1.1.2"
546 | resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c"
547 | integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==
548 |
549 | get-tsconfig@^4.7.0:
550 | version "4.7.2"
551 | resolved "https://registry.yarnpkg.com/get-tsconfig/-/get-tsconfig-4.7.2.tgz#0dcd6fb330391d46332f4c6c1bf89a6514c2ddce"
552 | integrity sha512-wuMsz4leaj5hbGgg4IvDU0bqJagpftG5l5cXIAvo8uZrqn0NJqwtfupTN00VnkQJPcIRrxYrm1Ue24btpCha2A==
553 | dependencies:
554 | resolve-pkg-maps "^1.0.0"
555 |
556 | glob-parent@^5.1.2, glob-parent@~5.1.2:
557 | version "5.1.2"
558 | resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4"
559 | integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==
560 | dependencies:
561 | is-glob "^4.0.1"
562 |
563 | glob-parent@^6.0.2:
564 | version "6.0.2"
565 | resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3"
566 | integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==
567 | dependencies:
568 | is-glob "^4.0.3"
569 |
570 | glob@7.1.6:
571 | version "7.1.6"
572 | resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6"
573 | integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==
574 | dependencies:
575 | fs.realpath "^1.0.0"
576 | inflight "^1.0.4"
577 | inherits "2"
578 | minimatch "^3.0.4"
579 | once "^1.3.0"
580 | path-is-absolute "^1.0.0"
581 |
582 | hasown@^2.0.0:
583 | version "2.0.0"
584 | resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.0.tgz#f4c513d454a57b7c7e1650778de226b11700546c"
585 | integrity sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==
586 | dependencies:
587 | function-bind "^1.1.2"
588 |
589 | inflight@^1.0.4:
590 | version "1.0.6"
591 | resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9"
592 | integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==
593 | dependencies:
594 | once "^1.3.0"
595 | wrappy "1"
596 |
597 | inherits@2:
598 | version "2.0.4"
599 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c"
600 | integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
601 |
602 | is-binary-path@~2.1.0:
603 | version "2.1.0"
604 | resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09"
605 | integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==
606 | dependencies:
607 | binary-extensions "^2.0.0"
608 |
609 | is-core-module@^2.13.0:
610 | version "2.13.1"
611 | resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.13.1.tgz#ad0d7532c6fea9da1ebdc82742d74525c6273384"
612 | integrity sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==
613 | dependencies:
614 | hasown "^2.0.0"
615 |
616 | is-extglob@^2.1.1:
617 | version "2.1.1"
618 | resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2"
619 | integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==
620 |
621 | is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1:
622 | version "4.0.3"
623 | resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084"
624 | integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==
625 | dependencies:
626 | is-extglob "^2.1.1"
627 |
628 | is-number@^7.0.0:
629 | version "7.0.0"
630 | resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b"
631 | integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==
632 |
633 | jiti@^1.18.2, jiti@^1.19.1:
634 | version "1.20.0"
635 | resolved "https://registry.yarnpkg.com/jiti/-/jiti-1.20.0.tgz#2d823b5852ee8963585c8dd8b7992ffc1ae83b42"
636 | integrity sha512-3TV69ZbrvV6U5DfQimop50jE9Dl6J8O1ja1dvBbMba/sZ3YBEQqJ2VZRoQPVnhlzjNtU1vaXRZVrVjU4qtm8yA==
637 |
638 | lilconfig@^2.0.5, lilconfig@^2.1.0:
639 | version "2.1.0"
640 | resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-2.1.0.tgz#78e23ac89ebb7e1bfbf25b18043de756548e7f52"
641 | integrity sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==
642 |
643 | lines-and-columns@^1.1.6:
644 | version "1.2.4"
645 | resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632"
646 | integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==
647 |
648 | merge2@^1.3.0:
649 | version "1.4.1"
650 | resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae"
651 | integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==
652 |
653 | micromatch@^4.0.4, micromatch@^4.0.5:
654 | version "4.0.5"
655 | resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6"
656 | integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==
657 | dependencies:
658 | braces "^3.0.2"
659 | picomatch "^2.3.1"
660 |
661 | minimatch@^3.0.4:
662 | version "3.1.2"
663 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b"
664 | integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==
665 | dependencies:
666 | brace-expansion "^1.1.7"
667 |
668 | mz@^2.7.0:
669 | version "2.7.0"
670 | resolved "https://registry.yarnpkg.com/mz/-/mz-2.7.0.tgz#95008057a56cafadc2bc63dde7f9ff6955948e32"
671 | integrity sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==
672 | dependencies:
673 | any-promise "^1.0.0"
674 | object-assign "^4.0.1"
675 | thenify-all "^1.0.0"
676 |
677 | nanoid@^3.3.6:
678 | version "3.3.6"
679 | resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.6.tgz#443380c856d6e9f9824267d960b4236ad583ea4c"
680 | integrity sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==
681 |
682 | normalize-path@^3.0.0, normalize-path@~3.0.0:
683 | version "3.0.0"
684 | resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65"
685 | integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==
686 |
687 | object-assign@^4.0.1:
688 | version "4.1.1"
689 | resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"
690 | integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==
691 |
692 | object-hash@^3.0.0:
693 | version "3.0.0"
694 | resolved "https://registry.yarnpkg.com/object-hash/-/object-hash-3.0.0.tgz#73f97f753e7baffc0e2cc9d6e079079744ac82e9"
695 | integrity sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==
696 |
697 | once@^1.3.0:
698 | version "1.4.0"
699 | resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
700 | integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==
701 | dependencies:
702 | wrappy "1"
703 |
704 | path-is-absolute@^1.0.0:
705 | version "1.0.1"
706 | resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
707 | integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==
708 |
709 | path-parse@^1.0.7:
710 | version "1.0.7"
711 | resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735"
712 | integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==
713 |
714 | picocolors@^1.0.0:
715 | version "1.0.0"
716 | resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c"
717 | integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==
718 |
719 | picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.3.1:
720 | version "2.3.1"
721 | resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42"
722 | integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==
723 |
724 | pify@^2.3.0:
725 | version "2.3.0"
726 | resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c"
727 | integrity sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==
728 |
729 | pirates@^4.0.1:
730 | version "4.0.6"
731 | resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.6.tgz#3018ae32ecfcff6c29ba2267cbf21166ac1f36b9"
732 | integrity sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==
733 |
734 | postcss-css-variables@0.18.0:
735 | version "0.18.0"
736 | resolved "https://registry.yarnpkg.com/postcss-css-variables/-/postcss-css-variables-0.18.0.tgz#d97b6da19e86245eb817006e11117382f997bb93"
737 | integrity sha512-lYS802gHbzn1GI+lXvy9MYIYDuGnl1WB4FTKoqMQqJ3Mab09A7a/1wZvGTkCEZJTM8mSbIyb1mJYn8f0aPye0Q==
738 | dependencies:
739 | balanced-match "^1.0.0"
740 | escape-string-regexp "^1.0.3"
741 | extend "^3.0.1"
742 |
743 | postcss-import@^15.1.0:
744 | version "15.1.0"
745 | resolved "https://registry.yarnpkg.com/postcss-import/-/postcss-import-15.1.0.tgz#41c64ed8cc0e23735a9698b3249ffdbf704adc70"
746 | integrity sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==
747 | dependencies:
748 | postcss-value-parser "^4.0.0"
749 | read-cache "^1.0.0"
750 | resolve "^1.1.7"
751 |
752 | postcss-js@^4.0.1:
753 | version "4.0.1"
754 | resolved "https://registry.yarnpkg.com/postcss-js/-/postcss-js-4.0.1.tgz#61598186f3703bab052f1c4f7d805f3991bee9d2"
755 | integrity sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==
756 | dependencies:
757 | camelcase-css "^2.0.1"
758 |
759 | postcss-load-config@^4.0.1:
760 | version "4.0.1"
761 | resolved "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-4.0.1.tgz#152383f481c2758274404e4962743191d73875bd"
762 | integrity sha512-vEJIc8RdiBRu3oRAI0ymerOn+7rPuMvRXslTvZUKZonDHFIczxztIyJ1urxM1x9JXEikvpWWTUUqal5j/8QgvA==
763 | dependencies:
764 | lilconfig "^2.0.5"
765 | yaml "^2.1.1"
766 |
767 | postcss-nested@^6.0.1:
768 | version "6.0.1"
769 | resolved "https://registry.yarnpkg.com/postcss-nested/-/postcss-nested-6.0.1.tgz#f83dc9846ca16d2f4fa864f16e9d9f7d0961662c"
770 | integrity sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==
771 | dependencies:
772 | postcss-selector-parser "^6.0.11"
773 |
774 | postcss-selector-parser@^6.0.11:
775 | version "6.0.13"
776 | resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz#d05d8d76b1e8e173257ef9d60b706a8e5e99bf1b"
777 | integrity sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==
778 | dependencies:
779 | cssesc "^3.0.0"
780 | util-deprecate "^1.0.2"
781 |
782 | postcss-value-parser@^4.0.0, postcss-value-parser@^4.2.0:
783 | version "4.2.0"
784 | resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514"
785 | integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==
786 |
787 | postcss@8.4.31, postcss@^8.2.6, postcss@^8.4.23:
788 | version "8.4.31"
789 | resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.31.tgz#92b451050a9f914da6755af352bdc0192508656d"
790 | integrity sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==
791 | dependencies:
792 | nanoid "^3.3.6"
793 | picocolors "^1.0.0"
794 | source-map-js "^1.0.2"
795 |
796 | queue-microtask@^1.2.2:
797 | version "1.2.3"
798 | resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243"
799 | integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==
800 |
801 | read-cache@^1.0.0:
802 | version "1.0.0"
803 | resolved "https://registry.yarnpkg.com/read-cache/-/read-cache-1.0.0.tgz#e664ef31161166c9751cdbe8dbcf86b5fb58f774"
804 | integrity sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==
805 | dependencies:
806 | pify "^2.3.0"
807 |
808 | readdirp@~3.6.0:
809 | version "3.6.0"
810 | resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7"
811 | integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==
812 | dependencies:
813 | picomatch "^2.2.1"
814 |
815 | resolve-pkg-maps@^1.0.0:
816 | version "1.0.0"
817 | resolved "https://registry.yarnpkg.com/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz#616b3dc2c57056b5588c31cdf4b3d64db133720f"
818 | integrity sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==
819 |
820 | resolve@^1.1.7, resolve@^1.22.2:
821 | version "1.22.8"
822 | resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.8.tgz#b6c87a9f2aa06dfab52e3d70ac8cde321fa5a48d"
823 | integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==
824 | dependencies:
825 | is-core-module "^2.13.0"
826 | path-parse "^1.0.7"
827 | supports-preserve-symlinks-flag "^1.0.0"
828 |
829 | reusify@^1.0.4:
830 | version "1.0.4"
831 | resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76"
832 | integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==
833 |
834 | run-parallel@^1.1.9:
835 | version "1.2.0"
836 | resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee"
837 | integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==
838 | dependencies:
839 | queue-microtask "^1.2.2"
840 |
841 | source-map-js@^1.0.2:
842 | version "1.0.2"
843 | resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c"
844 | integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==
845 |
846 | source-map-support@^0.5.21:
847 | version "0.5.21"
848 | resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f"
849 | integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==
850 | dependencies:
851 | buffer-from "^1.0.0"
852 | source-map "^0.6.0"
853 |
854 | source-map@^0.6.0:
855 | version "0.6.1"
856 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263"
857 | integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==
858 |
859 | sucrase@^3.32.0:
860 | version "3.34.0"
861 | resolved "https://registry.yarnpkg.com/sucrase/-/sucrase-3.34.0.tgz#1e0e2d8fcf07f8b9c3569067d92fbd8690fb576f"
862 | integrity sha512-70/LQEZ07TEcxiU2dz51FKaE6hCTWC6vr7FOk3Gr0U60C3shtAN+H+BFr9XlYe5xqf3RA8nrc+VIwzCfnxuXJw==
863 | dependencies:
864 | "@jridgewell/gen-mapping" "^0.3.2"
865 | commander "^4.0.0"
866 | glob "7.1.6"
867 | lines-and-columns "^1.1.6"
868 | mz "^2.7.0"
869 | pirates "^4.0.1"
870 | ts-interface-checker "^0.1.9"
871 |
872 | supports-preserve-symlinks-flag@^1.0.0:
873 | version "1.0.0"
874 | resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09"
875 | integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==
876 |
877 | tailwindcss@*:
878 | version "3.3.5"
879 | resolved "https://registry.yarnpkg.com/tailwindcss/-/tailwindcss-3.3.5.tgz#22a59e2fbe0ecb6660809d9cc5f3976b077be3b8"
880 | integrity sha512-5SEZU4J7pxZgSkv7FP1zY8i2TIAOooNZ1e/OGtxIEv6GltpoiXUqWvLy89+a10qYTB1N5Ifkuw9lqQkN9sscvA==
881 | dependencies:
882 | "@alloc/quick-lru" "^5.2.0"
883 | arg "^5.0.2"
884 | chokidar "^3.5.3"
885 | didyoumean "^1.2.2"
886 | dlv "^1.1.3"
887 | fast-glob "^3.3.0"
888 | glob-parent "^6.0.2"
889 | is-glob "^4.0.3"
890 | jiti "^1.19.1"
891 | lilconfig "^2.1.0"
892 | micromatch "^4.0.5"
893 | normalize-path "^3.0.0"
894 | object-hash "^3.0.0"
895 | picocolors "^1.0.0"
896 | postcss "^8.4.23"
897 | postcss-import "^15.1.0"
898 | postcss-js "^4.0.1"
899 | postcss-load-config "^4.0.1"
900 | postcss-nested "^6.0.1"
901 | postcss-selector-parser "^6.0.11"
902 | resolve "^1.22.2"
903 | sucrase "^3.32.0"
904 |
905 | tailwindcss@3.3.2:
906 | version "3.3.2"
907 | resolved "https://registry.yarnpkg.com/tailwindcss/-/tailwindcss-3.3.2.tgz#2f9e35d715fdf0bbf674d90147a0684d7054a2d3"
908 | integrity sha512-9jPkMiIBXvPc2KywkraqsUfbfj+dHDb+JPWtSJa9MLFdrPyazI7q6WX2sUrm7R9eVR7qqv3Pas7EvQFzxKnI6w==
909 | dependencies:
910 | "@alloc/quick-lru" "^5.2.0"
911 | arg "^5.0.2"
912 | chokidar "^3.5.3"
913 | didyoumean "^1.2.2"
914 | dlv "^1.1.3"
915 | fast-glob "^3.2.12"
916 | glob-parent "^6.0.2"
917 | is-glob "^4.0.3"
918 | jiti "^1.18.2"
919 | lilconfig "^2.1.0"
920 | micromatch "^4.0.5"
921 | normalize-path "^3.0.0"
922 | object-hash "^3.0.0"
923 | picocolors "^1.0.0"
924 | postcss "^8.4.23"
925 | postcss-import "^15.1.0"
926 | postcss-js "^4.0.1"
927 | postcss-load-config "^4.0.1"
928 | postcss-nested "^6.0.1"
929 | postcss-selector-parser "^6.0.11"
930 | postcss-value-parser "^4.2.0"
931 | resolve "^1.22.2"
932 | sucrase "^3.32.0"
933 |
934 | thenify-all@^1.0.0:
935 | version "1.6.0"
936 | resolved "https://registry.yarnpkg.com/thenify-all/-/thenify-all-1.6.0.tgz#1a1918d402d8fc3f98fbf234db0bcc8cc10e9726"
937 | integrity sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==
938 | dependencies:
939 | thenify ">= 3.1.0 < 4"
940 |
941 | "thenify@>= 3.1.0 < 4":
942 | version "3.3.1"
943 | resolved "https://registry.yarnpkg.com/thenify/-/thenify-3.3.1.tgz#8932e686a4066038a016dd9e2ca46add9838a95f"
944 | integrity sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==
945 | dependencies:
946 | any-promise "^1.0.0"
947 |
948 | to-regex-range@^5.0.1:
949 | version "5.0.1"
950 | resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4"
951 | integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==
952 | dependencies:
953 | is-number "^7.0.0"
954 |
955 | ts-interface-checker@^0.1.9:
956 | version "0.1.13"
957 | resolved "https://registry.yarnpkg.com/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz#784fd3d679722bc103b1b4b8030bcddb5db2a699"
958 | integrity sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==
959 |
960 | tsx@3.12.2:
961 | version "3.12.2"
962 | resolved "https://registry.yarnpkg.com/tsx/-/tsx-3.12.2.tgz#1c8a4fa08a97739e6eedf0ad464bd8218e1a64f0"
963 | integrity sha512-ykAEkoBg30RXxeOMVeZwar+JH632dZn9EUJVyJwhfag62k6UO/dIyJEV58YuLF6e5BTdV/qmbQrpkWqjq9cUnQ==
964 | dependencies:
965 | "@esbuild-kit/cjs-loader" "^2.4.1"
966 | "@esbuild-kit/core-utils" "^3.0.0"
967 | "@esbuild-kit/esm-loader" "^2.5.4"
968 | optionalDependencies:
969 | fsevents "~2.3.2"
970 |
971 | typescript@4.9.4:
972 | version "4.9.4"
973 | resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.9.4.tgz#a2a3d2756c079abda241d75f149df9d561091e78"
974 | integrity sha512-Uz+dTXYzxXXbsFpM86Wh3dKCxrQqUcVMxwU54orwlJjOpO3ao8L7j5lH+dWfTwgCwIuM9GQ2kvVotzYJMXTBZg==
975 |
976 | util-deprecate@^1.0.2:
977 | version "1.0.2"
978 | resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
979 | integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==
980 |
981 | wrappy@1:
982 | version "1.0.2"
983 | resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
984 | integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==
985 |
986 | yaml@^2.1.1:
987 | version "2.3.3"
988 | resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.3.3.tgz#01f6d18ef036446340007db8e016810e5d64aad9"
989 | integrity sha512-zw0VAJxgeZ6+++/su5AFoqBbZbrEakwu+X0M5HmcwUiBL7AzcuPKjj5we4xfQLp78LkEMpD0cOnUhmgOVy3KdQ==
990 |
--------------------------------------------------------------------------------