├── .gitignore
├── README.md
├── build.js
├── package-lock.json
├── package.json
├── src
├── components
│ ├── card.html
│ └── notify.html
├── index.html
└── tailwind.css
└── tailwind.config.js
/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | .DS_Store
3 | dist/*
4 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Single File Components for Alpine.js
2 |
3 | Svelte-inspired single-file components compiler for Alpine.js
4 |
5 | ## About
6 |
7 | I love the simplicity of Alpine.js, but on bigger projects it can become a challenge to keep your code organized and modular.
8 |
9 | Inspired by the way Svelte compiles your single file components into browser-friendly javascript, I created a simple compiler for Alpinejs. You write your code in single-file-component-style, and the build script compiles it to browser-friendly javascript, html and css. It also features **live-reload**, so every time you save changes to a single file component, the build script compiles your code and runs it. Although this is a basic POC, in its current form it does help you to better organize your code.
10 |
11 | ## Tailwind CSS integrated
12 |
13 | Because Alpine.js and Tailwind go so well together, I've also integrated Tailwind into the build process: every time you save a file in the `src` directory, Tailwind automatically scans your components to see which classes you've used. It then rebuilds the tailwind.css file in the `dist` folder.
14 |
15 | If you don't want to use Tailwind, just remove the following part from package.json:
16 |
17 | `&& npx tailwindcss -i ./src/tailwind.css -o ./dist/tailwind.css`
18 |
19 | ## How to install?
20 |
21 | 1. run `npx degit https://github.com/dashpilot/single-file-components-for-alpinejs`
22 | 2. run `npm install` and then `npm run dev` to run the example components
23 |
24 | ## How to create a single-file component?
25 |
26 | Create a new .html file in `src/components`, with the following structure:
27 |
28 |
29 |
30 |
33 |
34 |
35 |
46 |
47 |
54 |
55 | The order of the template-, script- and css- tags is up to your own preference. When you run `npm run dev` or `npm run build` the compiler goes through all the components and automatically splits and minifies/uglifies the JS, CSS and HTML into dist/assets. It also copies index.html to the dist folder.
56 |
57 | To load a component on the page, create a custom element in index.html that corresponds to the filename of your component. So if your component is called `card.html`, create a custom element ` ` in index.html. You can also load multiple instances of the component on the page, without duplicating the javascript or CSS.
58 |
59 | Take a look at `components/card.html` to see how well this concept actually fits Alpinejs: each component has its own data-'controller', while sharing data between components is easy via the global store (in index.html). And of course, all templating-directives are available to you (x-for, x-if, x-text, etc.)
60 |
61 | ## What it's not
62 |
63 | This script is simply meant to help you write Alpine.js code in a more modular way, but isn't a module bundler or js framework. Let me know if there are any features/improvements you'd like to see.
64 |
65 | ## Press the :star: button
66 |
67 | Don't forget to press the :star: button to let me know I should continue improving this project.
68 |
--------------------------------------------------------------------------------
/build.js:
--------------------------------------------------------------------------------
1 | const fs = require("fs");
2 | const path = require("path");
3 | const {
4 | minify
5 | } = require("terser");
6 | const {
7 | parse
8 | } = require("node-html-parser");
9 | const CleanCSS = require("clean-css");
10 |
11 | if (!fs.existsSync('./dist')) {
12 | fs.mkdirSync('./dist', 0744);
13 | fs.mkdirSync('./dist/assets', 0744);
14 | }
15 |
16 | var index = fs.readFileSync("./src/index.html", "utf8");
17 | fs.writeFileSync("./dist/index.html", index, "utf8");
18 |
19 | var data = [];
20 | data.script = "";
21 | data.style = "";
22 | data.template = "";
23 |
24 | const folder = "./src/components/";
25 | let files = fs.readdirSync(folder);
26 | let i = 0;
27 | files.forEach(function(file) {
28 | extractTags(folder + file, data);
29 | i++;
30 | });
31 |
32 | var output = new CleanCSS().minify(data.style);
33 | fs.writeFileSync("./dist/assets/app.min.css", output.styles, "utf8");
34 |
35 | minifyJs(data);
36 |
37 | // helpers
38 |
39 | function extractTags(filepath, data) {
40 | var file = fs.readFileSync(filepath, "utf8");
41 | var filename = path.basename(filepath, '.html');
42 |
43 | const root = parse(file);
44 | if (root.querySelector("template")) {
45 | data.template +=
46 | 'document.querySelectorAll("' + filename + '").forEach(function(e){' +
47 | 'e.innerHTML = `' +
48 | root.querySelector("template").innerHTML.replace(/\s\s+/g, ' ') +
49 | '`' +
50 | "})\n";
51 | }
52 | if (root.querySelector("script")) {
53 | data.script += root.querySelector("script").text + "\n";
54 | }
55 | if (root.querySelector("style")) {
56 | data.style += root.querySelector("style").text;
57 | }
58 |
59 | //console.log(data);
60 | }
61 |
62 | async function minifyJs(data) {
63 | let combined = data.template + ' ' + data.script;
64 | var result = await minify(combined, {
65 | sourceMap: true
66 | });
67 | fs.writeFileSync("./dist/assets/app.min.js", result.code, "utf8");
68 | }
--------------------------------------------------------------------------------
/package-lock.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "single-file-components-for-alpinejs",
3 | "version": "1.0.0",
4 | "lockfileVersion": 2,
5 | "requires": true,
6 | "packages": {
7 | "": {
8 | "name": "single-file-components-for-alpinejs",
9 | "version": "1.0.0",
10 | "license": "ISC",
11 | "dependencies": {
12 | "merge-files": "^0.1.2",
13 | "node-html-parser": "^1.3.1",
14 | "path": "^0.12.7",
15 | "terser": "^5.3.5"
16 | },
17 | "devDependencies": {
18 | "clean-css": "^4.2.3",
19 | "dev-refresh": "^1.2.1",
20 | "tailwindcss": "^3.0.15",
21 | "watch": "^0.13.0"
22 | }
23 | },
24 | "node_modules/@jridgewell/gen-mapping": {
25 | "version": "0.3.2",
26 | "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz",
27 | "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==",
28 | "dependencies": {
29 | "@jridgewell/set-array": "^1.0.1",
30 | "@jridgewell/sourcemap-codec": "^1.4.10",
31 | "@jridgewell/trace-mapping": "^0.3.9"
32 | },
33 | "engines": {
34 | "node": ">=6.0.0"
35 | }
36 | },
37 | "node_modules/@jridgewell/resolve-uri": {
38 | "version": "3.1.0",
39 | "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz",
40 | "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==",
41 | "engines": {
42 | "node": ">=6.0.0"
43 | }
44 | },
45 | "node_modules/@jridgewell/set-array": {
46 | "version": "1.1.2",
47 | "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz",
48 | "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==",
49 | "engines": {
50 | "node": ">=6.0.0"
51 | }
52 | },
53 | "node_modules/@jridgewell/source-map": {
54 | "version": "0.3.2",
55 | "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.2.tgz",
56 | "integrity": "sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==",
57 | "dependencies": {
58 | "@jridgewell/gen-mapping": "^0.3.0",
59 | "@jridgewell/trace-mapping": "^0.3.9"
60 | }
61 | },
62 | "node_modules/@jridgewell/sourcemap-codec": {
63 | "version": "1.4.14",
64 | "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz",
65 | "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw=="
66 | },
67 | "node_modules/@jridgewell/trace-mapping": {
68 | "version": "0.3.14",
69 | "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.14.tgz",
70 | "integrity": "sha512-bJWEfQ9lPTvm3SneWwRFVLzrh6nhjwqw7TUFFBEMzwvg7t7PCDenf2lDwqo4NQXzdpgBXyFgDWnQA+2vkruksQ==",
71 | "dependencies": {
72 | "@jridgewell/resolve-uri": "^3.0.3",
73 | "@jridgewell/sourcemap-codec": "^1.4.10"
74 | }
75 | },
76 | "node_modules/@nodelib/fs.scandir": {
77 | "version": "2.1.5",
78 | "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
79 | "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
80 | "dev": true,
81 | "dependencies": {
82 | "@nodelib/fs.stat": "2.0.5",
83 | "run-parallel": "^1.1.9"
84 | },
85 | "engines": {
86 | "node": ">= 8"
87 | }
88 | },
89 | "node_modules/@nodelib/fs.stat": {
90 | "version": "2.0.5",
91 | "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz",
92 | "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==",
93 | "dev": true,
94 | "engines": {
95 | "node": ">= 8"
96 | }
97 | },
98 | "node_modules/@nodelib/fs.walk": {
99 | "version": "1.2.8",
100 | "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz",
101 | "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
102 | "dev": true,
103 | "dependencies": {
104 | "@nodelib/fs.scandir": "2.1.5",
105 | "fastq": "^1.6.0"
106 | },
107 | "engines": {
108 | "node": ">= 8"
109 | }
110 | },
111 | "node_modules/acorn": {
112 | "version": "7.4.1",
113 | "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz",
114 | "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==",
115 | "dev": true,
116 | "bin": {
117 | "acorn": "bin/acorn"
118 | },
119 | "engines": {
120 | "node": ">=0.4.0"
121 | }
122 | },
123 | "node_modules/acorn-node": {
124 | "version": "1.8.2",
125 | "resolved": "https://registry.npmjs.org/acorn-node/-/acorn-node-1.8.2.tgz",
126 | "integrity": "sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==",
127 | "dev": true,
128 | "dependencies": {
129 | "acorn": "^7.0.0",
130 | "acorn-walk": "^7.0.0",
131 | "xtend": "^4.0.2"
132 | }
133 | },
134 | "node_modules/acorn-walk": {
135 | "version": "7.2.0",
136 | "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz",
137 | "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==",
138 | "dev": true,
139 | "engines": {
140 | "node": ">=0.4.0"
141 | }
142 | },
143 | "node_modules/anymatch": {
144 | "version": "3.1.2",
145 | "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz",
146 | "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==",
147 | "dev": true,
148 | "dependencies": {
149 | "normalize-path": "^3.0.0",
150 | "picomatch": "^2.0.4"
151 | },
152 | "engines": {
153 | "node": ">= 8"
154 | }
155 | },
156 | "node_modules/arg": {
157 | "version": "5.0.2",
158 | "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz",
159 | "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==",
160 | "dev": true
161 | },
162 | "node_modules/binary-extensions": {
163 | "version": "2.2.0",
164 | "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz",
165 | "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==",
166 | "dev": true,
167 | "engines": {
168 | "node": ">=8"
169 | }
170 | },
171 | "node_modules/braces": {
172 | "version": "3.0.3",
173 | "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz",
174 | "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
175 | "dev": true,
176 | "license": "MIT",
177 | "dependencies": {
178 | "fill-range": "^7.1.1"
179 | },
180 | "engines": {
181 | "node": ">=8"
182 | }
183 | },
184 | "node_modules/buffer-from": {
185 | "version": "1.1.2",
186 | "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz",
187 | "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ=="
188 | },
189 | "node_modules/camelcase-css": {
190 | "version": "2.0.1",
191 | "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz",
192 | "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==",
193 | "dev": true,
194 | "engines": {
195 | "node": ">= 6"
196 | }
197 | },
198 | "node_modules/chokidar": {
199 | "version": "3.5.3",
200 | "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz",
201 | "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==",
202 | "dev": true,
203 | "funding": [
204 | {
205 | "type": "individual",
206 | "url": "https://paulmillr.com/funding/"
207 | }
208 | ],
209 | "dependencies": {
210 | "anymatch": "~3.1.2",
211 | "braces": "~3.0.2",
212 | "glob-parent": "~5.1.2",
213 | "is-binary-path": "~2.1.0",
214 | "is-glob": "~4.0.1",
215 | "normalize-path": "~3.0.0",
216 | "readdirp": "~3.6.0"
217 | },
218 | "engines": {
219 | "node": ">= 8.10.0"
220 | },
221 | "optionalDependencies": {
222 | "fsevents": "~2.3.2"
223 | }
224 | },
225 | "node_modules/chokidar/node_modules/glob-parent": {
226 | "version": "5.1.2",
227 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
228 | "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
229 | "dev": true,
230 | "dependencies": {
231 | "is-glob": "^4.0.1"
232 | },
233 | "engines": {
234 | "node": ">= 6"
235 | }
236 | },
237 | "node_modules/clean-css": {
238 | "version": "4.2.3",
239 | "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.3.tgz",
240 | "integrity": "sha512-VcMWDN54ZN/DS+g58HYL5/n4Zrqe8vHJpGA8KdgUXFU4fuP/aHNw8eld9SyEIyabIMJX/0RaY/fplOo5hYLSFA==",
241 | "dev": true,
242 | "dependencies": {
243 | "source-map": "~0.6.0"
244 | },
245 | "engines": {
246 | "node": ">= 4.0"
247 | }
248 | },
249 | "node_modules/color-name": {
250 | "version": "1.1.4",
251 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
252 | "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
253 | "dev": true
254 | },
255 | "node_modules/colors": {
256 | "version": "1.4.0",
257 | "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz",
258 | "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==",
259 | "dev": true,
260 | "engines": {
261 | "node": ">=0.1.90"
262 | }
263 | },
264 | "node_modules/commander": {
265 | "version": "2.20.3",
266 | "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
267 | "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ=="
268 | },
269 | "node_modules/core-util-is": {
270 | "version": "1.0.2",
271 | "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
272 | "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac="
273 | },
274 | "node_modules/cssesc": {
275 | "version": "3.0.0",
276 | "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz",
277 | "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==",
278 | "dev": true,
279 | "bin": {
280 | "cssesc": "bin/cssesc"
281 | },
282 | "engines": {
283 | "node": ">=4"
284 | }
285 | },
286 | "node_modules/defined": {
287 | "version": "1.0.0",
288 | "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz",
289 | "integrity": "sha512-Y2caI5+ZwS5c3RiNDJ6u53VhQHv+hHKwhkI1iHvceKUHw9Df6EK2zRLfjejRgMuCuxK7PfSWIMwWecceVvThjQ==",
290 | "dev": true
291 | },
292 | "node_modules/detective": {
293 | "version": "5.2.1",
294 | "resolved": "https://registry.npmjs.org/detective/-/detective-5.2.1.tgz",
295 | "integrity": "sha512-v9XE1zRnz1wRtgurGu0Bs8uHKFSTdteYZNbIPFVhUZ39L/S79ppMpdmVOZAnoz1jfEFodc48n6MX483Xo3t1yw==",
296 | "dev": true,
297 | "dependencies": {
298 | "acorn-node": "^1.8.2",
299 | "defined": "^1.0.0",
300 | "minimist": "^1.2.6"
301 | },
302 | "bin": {
303 | "detective": "bin/detective.js"
304 | },
305 | "engines": {
306 | "node": ">=0.8.0"
307 | }
308 | },
309 | "node_modules/dev-refresh": {
310 | "version": "1.2.1",
311 | "resolved": "https://registry.npmjs.org/dev-refresh/-/dev-refresh-1.2.1.tgz",
312 | "integrity": "sha512-qKJYVTh1HkQPsgJDzoRlZ9NyTIbxy2tAYMndjYAU3dpZasm+aD5ZCdks8G0SfNzheZC1T4WMwYZpLgvneXzwcw==",
313 | "dev": true,
314 | "dependencies": {
315 | "colors": "^1.3.3",
316 | "minimist": "^1.2.0",
317 | "node-watch": "^0.6.2",
318 | "open": "^6.4.0",
319 | "webframe": "^0.9.0",
320 | "ws": "^7.1.0"
321 | },
322 | "bin": {
323 | "dev-refresh": "cli.js"
324 | }
325 | },
326 | "node_modules/didyoumean": {
327 | "version": "1.2.2",
328 | "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz",
329 | "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==",
330 | "dev": true
331 | },
332 | "node_modules/dlv": {
333 | "version": "1.1.3",
334 | "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz",
335 | "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==",
336 | "dev": true
337 | },
338 | "node_modules/fast-glob": {
339 | "version": "3.2.11",
340 | "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz",
341 | "integrity": "sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==",
342 | "dev": true,
343 | "dependencies": {
344 | "@nodelib/fs.stat": "^2.0.2",
345 | "@nodelib/fs.walk": "^1.2.3",
346 | "glob-parent": "^5.1.2",
347 | "merge2": "^1.3.0",
348 | "micromatch": "^4.0.4"
349 | },
350 | "engines": {
351 | "node": ">=8.6.0"
352 | }
353 | },
354 | "node_modules/fast-glob/node_modules/glob-parent": {
355 | "version": "5.1.2",
356 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
357 | "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
358 | "dev": true,
359 | "dependencies": {
360 | "is-glob": "^4.0.1"
361 | },
362 | "engines": {
363 | "node": ">= 6"
364 | }
365 | },
366 | "node_modules/fastq": {
367 | "version": "1.13.0",
368 | "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz",
369 | "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==",
370 | "dev": true,
371 | "dependencies": {
372 | "reusify": "^1.0.4"
373 | }
374 | },
375 | "node_modules/fill-range": {
376 | "version": "7.1.1",
377 | "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz",
378 | "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
379 | "dev": true,
380 | "license": "MIT",
381 | "dependencies": {
382 | "to-regex-range": "^5.0.1"
383 | },
384 | "engines": {
385 | "node": ">=8"
386 | }
387 | },
388 | "node_modules/fsevents": {
389 | "version": "2.3.2",
390 | "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
391 | "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
392 | "dev": true,
393 | "hasInstallScript": true,
394 | "optional": true,
395 | "os": [
396 | "darwin"
397 | ],
398 | "engines": {
399 | "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
400 | }
401 | },
402 | "node_modules/function-bind": {
403 | "version": "1.1.1",
404 | "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
405 | "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
406 | "dev": true
407 | },
408 | "node_modules/glob-parent": {
409 | "version": "6.0.2",
410 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz",
411 | "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==",
412 | "dev": true,
413 | "dependencies": {
414 | "is-glob": "^4.0.3"
415 | },
416 | "engines": {
417 | "node": ">=10.13.0"
418 | }
419 | },
420 | "node_modules/has": {
421 | "version": "1.0.3",
422 | "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
423 | "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
424 | "dev": true,
425 | "dependencies": {
426 | "function-bind": "^1.1.1"
427 | },
428 | "engines": {
429 | "node": ">= 0.4.0"
430 | }
431 | },
432 | "node_modules/he": {
433 | "version": "1.2.0",
434 | "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz",
435 | "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==",
436 | "bin": {
437 | "he": "bin/he"
438 | }
439 | },
440 | "node_modules/inherits": {
441 | "version": "2.0.4",
442 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
443 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
444 | },
445 | "node_modules/is-binary-path": {
446 | "version": "2.1.0",
447 | "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
448 | "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
449 | "dev": true,
450 | "dependencies": {
451 | "binary-extensions": "^2.0.0"
452 | },
453 | "engines": {
454 | "node": ">=8"
455 | }
456 | },
457 | "node_modules/is-core-module": {
458 | "version": "2.10.0",
459 | "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.10.0.tgz",
460 | "integrity": "sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg==",
461 | "dev": true,
462 | "dependencies": {
463 | "has": "^1.0.3"
464 | },
465 | "funding": {
466 | "url": "https://github.com/sponsors/ljharb"
467 | }
468 | },
469 | "node_modules/is-extglob": {
470 | "version": "2.1.1",
471 | "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
472 | "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
473 | "dev": true,
474 | "engines": {
475 | "node": ">=0.10.0"
476 | }
477 | },
478 | "node_modules/is-glob": {
479 | "version": "4.0.3",
480 | "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
481 | "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
482 | "dev": true,
483 | "dependencies": {
484 | "is-extglob": "^2.1.1"
485 | },
486 | "engines": {
487 | "node": ">=0.10.0"
488 | }
489 | },
490 | "node_modules/is-number": {
491 | "version": "7.0.0",
492 | "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
493 | "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
494 | "dev": true,
495 | "license": "MIT",
496 | "engines": {
497 | "node": ">=0.12.0"
498 | }
499 | },
500 | "node_modules/is-wsl": {
501 | "version": "1.1.0",
502 | "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz",
503 | "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=",
504 | "dev": true,
505 | "engines": {
506 | "node": ">=4"
507 | }
508 | },
509 | "node_modules/isarray": {
510 | "version": "1.0.0",
511 | "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
512 | "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
513 | },
514 | "node_modules/lilconfig": {
515 | "version": "2.0.6",
516 | "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.6.tgz",
517 | "integrity": "sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg==",
518 | "dev": true,
519 | "engines": {
520 | "node": ">=10"
521 | }
522 | },
523 | "node_modules/merge-files": {
524 | "version": "0.1.2",
525 | "resolved": "https://registry.npmjs.org/merge-files/-/merge-files-0.1.2.tgz",
526 | "integrity": "sha512-WTvtH6ZwVy1/scvp1M+Re6PVni87QTjpSLAwxh0L+PlYIxc4VGFFpLjvP7jdJ43gaJ5n+RUIriJ6wKqmqvVVmg==",
527 | "dependencies": {
528 | "multistream": "^2.1.0"
529 | }
530 | },
531 | "node_modules/merge2": {
532 | "version": "1.4.1",
533 | "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
534 | "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==",
535 | "dev": true,
536 | "engines": {
537 | "node": ">= 8"
538 | }
539 | },
540 | "node_modules/micromatch": {
541 | "version": "4.0.8",
542 | "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz",
543 | "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==",
544 | "dev": true,
545 | "license": "MIT",
546 | "dependencies": {
547 | "braces": "^3.0.3",
548 | "picomatch": "^2.3.1"
549 | },
550 | "engines": {
551 | "node": ">=8.6"
552 | }
553 | },
554 | "node_modules/minimist": {
555 | "version": "1.2.6",
556 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz",
557 | "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==",
558 | "dev": true
559 | },
560 | "node_modules/multistream": {
561 | "version": "2.1.1",
562 | "resolved": "https://registry.npmjs.org/multistream/-/multistream-2.1.1.tgz",
563 | "integrity": "sha512-xasv76hl6nr1dEy3lPvy7Ej7K/Lx3O/FCvwge8PeVJpciPPoNCbaANcNiBug3IpdvTveZUcAV0DJzdnUDMesNQ==",
564 | "dependencies": {
565 | "inherits": "^2.0.1",
566 | "readable-stream": "^2.0.5"
567 | }
568 | },
569 | "node_modules/nanoid": {
570 | "version": "3.3.8",
571 | "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.8.tgz",
572 | "integrity": "sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==",
573 | "dev": true,
574 | "funding": [
575 | {
576 | "type": "github",
577 | "url": "https://github.com/sponsors/ai"
578 | }
579 | ],
580 | "license": "MIT",
581 | "bin": {
582 | "nanoid": "bin/nanoid.cjs"
583 | },
584 | "engines": {
585 | "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
586 | }
587 | },
588 | "node_modules/node-html-parser": {
589 | "version": "1.3.1",
590 | "resolved": "https://registry.npmjs.org/node-html-parser/-/node-html-parser-1.3.1.tgz",
591 | "integrity": "sha512-AwYVI6GyEKj9NGoyMfSx4j5l7Axf7obQgLWGxtasLjED6RggTTQoq5ZRzjwSUfgSZ+Mv8Nzbi3pID0gFGqNUsA==",
592 | "dependencies": {
593 | "he": "1.2.0"
594 | }
595 | },
596 | "node_modules/node-watch": {
597 | "version": "0.6.4",
598 | "resolved": "https://registry.npmjs.org/node-watch/-/node-watch-0.6.4.tgz",
599 | "integrity": "sha512-cI6CHzivIFESe8djiK3Wh90CtWQBxLwMem8x8S+2GSvCvFgoMuOKVlfJtQ/2v3Afg3wOnHl/+tXotEs8z5vOrg==",
600 | "dev": true,
601 | "engines": {
602 | "node": ">=6"
603 | }
604 | },
605 | "node_modules/normalize-path": {
606 | "version": "3.0.0",
607 | "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
608 | "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
609 | "dev": true,
610 | "engines": {
611 | "node": ">=0.10.0"
612 | }
613 | },
614 | "node_modules/object-hash": {
615 | "version": "3.0.0",
616 | "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz",
617 | "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==",
618 | "dev": true,
619 | "engines": {
620 | "node": ">= 6"
621 | }
622 | },
623 | "node_modules/open": {
624 | "version": "6.4.0",
625 | "resolved": "https://registry.npmjs.org/open/-/open-6.4.0.tgz",
626 | "integrity": "sha512-IFenVPgF70fSm1keSd2iDBIDIBZkroLeuffXq+wKTzTJlBpesFWojV9lb8mzOfaAzM1sr7HQHuO0vtV0zYekGg==",
627 | "dev": true,
628 | "dependencies": {
629 | "is-wsl": "^1.1.0"
630 | },
631 | "engines": {
632 | "node": ">=8"
633 | }
634 | },
635 | "node_modules/path": {
636 | "version": "0.12.7",
637 | "resolved": "https://registry.npmjs.org/path/-/path-0.12.7.tgz",
638 | "integrity": "sha1-1NwqUGxM4hl+tIHr/NWzbAFAsQ8=",
639 | "dependencies": {
640 | "process": "^0.11.1",
641 | "util": "^0.10.3"
642 | }
643 | },
644 | "node_modules/path-parse": {
645 | "version": "1.0.7",
646 | "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
647 | "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
648 | "dev": true
649 | },
650 | "node_modules/picocolors": {
651 | "version": "1.1.1",
652 | "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz",
653 | "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==",
654 | "dev": true,
655 | "license": "ISC"
656 | },
657 | "node_modules/picomatch": {
658 | "version": "2.3.1",
659 | "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
660 | "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
661 | "dev": true,
662 | "engines": {
663 | "node": ">=8.6"
664 | },
665 | "funding": {
666 | "url": "https://github.com/sponsors/jonschlinkert"
667 | }
668 | },
669 | "node_modules/pify": {
670 | "version": "2.3.0",
671 | "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
672 | "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==",
673 | "dev": true,
674 | "engines": {
675 | "node": ">=0.10.0"
676 | }
677 | },
678 | "node_modules/postcss": {
679 | "version": "8.5.2",
680 | "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.2.tgz",
681 | "integrity": "sha512-MjOadfU3Ys9KYoX0AdkBlFEF1Vx37uCCeN4ZHnmwm9FfpbsGWMZeBLMmmpY+6Ocqod7mkdZ0DT31OlbsFrLlkA==",
682 | "dev": true,
683 | "funding": [
684 | {
685 | "type": "opencollective",
686 | "url": "https://opencollective.com/postcss/"
687 | },
688 | {
689 | "type": "tidelift",
690 | "url": "https://tidelift.com/funding/github/npm/postcss"
691 | },
692 | {
693 | "type": "github",
694 | "url": "https://github.com/sponsors/ai"
695 | }
696 | ],
697 | "license": "MIT",
698 | "dependencies": {
699 | "nanoid": "^3.3.8",
700 | "picocolors": "^1.1.1",
701 | "source-map-js": "^1.2.1"
702 | },
703 | "engines": {
704 | "node": "^10 || ^12 || >=14"
705 | }
706 | },
707 | "node_modules/postcss-import": {
708 | "version": "14.1.0",
709 | "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-14.1.0.tgz",
710 | "integrity": "sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw==",
711 | "dev": true,
712 | "dependencies": {
713 | "postcss-value-parser": "^4.0.0",
714 | "read-cache": "^1.0.0",
715 | "resolve": "^1.1.7"
716 | },
717 | "engines": {
718 | "node": ">=10.0.0"
719 | },
720 | "peerDependencies": {
721 | "postcss": "^8.0.0"
722 | }
723 | },
724 | "node_modules/postcss-js": {
725 | "version": "4.0.0",
726 | "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.0.tgz",
727 | "integrity": "sha512-77QESFBwgX4irogGVPgQ5s07vLvFqWr228qZY+w6lW599cRlK/HmnlivnnVUxkjHnCu4J16PDMHcH+e+2HbvTQ==",
728 | "dev": true,
729 | "dependencies": {
730 | "camelcase-css": "^2.0.1"
731 | },
732 | "engines": {
733 | "node": "^12 || ^14 || >= 16"
734 | },
735 | "funding": {
736 | "type": "opencollective",
737 | "url": "https://opencollective.com/postcss/"
738 | },
739 | "peerDependencies": {
740 | "postcss": "^8.3.3"
741 | }
742 | },
743 | "node_modules/postcss-load-config": {
744 | "version": "3.1.4",
745 | "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.4.tgz",
746 | "integrity": "sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==",
747 | "dev": true,
748 | "dependencies": {
749 | "lilconfig": "^2.0.5",
750 | "yaml": "^1.10.2"
751 | },
752 | "engines": {
753 | "node": ">= 10"
754 | },
755 | "funding": {
756 | "type": "opencollective",
757 | "url": "https://opencollective.com/postcss/"
758 | },
759 | "peerDependencies": {
760 | "postcss": ">=8.0.9",
761 | "ts-node": ">=9.0.0"
762 | },
763 | "peerDependenciesMeta": {
764 | "postcss": {
765 | "optional": true
766 | },
767 | "ts-node": {
768 | "optional": true
769 | }
770 | }
771 | },
772 | "node_modules/postcss-nested": {
773 | "version": "5.0.6",
774 | "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-5.0.6.tgz",
775 | "integrity": "sha512-rKqm2Fk0KbA8Vt3AdGN0FB9OBOMDVajMG6ZCf/GoHgdxUJ4sBFp0A/uMIRm+MJUdo33YXEtjqIz8u7DAp8B7DA==",
776 | "dev": true,
777 | "dependencies": {
778 | "postcss-selector-parser": "^6.0.6"
779 | },
780 | "engines": {
781 | "node": ">=12.0"
782 | },
783 | "funding": {
784 | "type": "opencollective",
785 | "url": "https://opencollective.com/postcss/"
786 | },
787 | "peerDependencies": {
788 | "postcss": "^8.2.14"
789 | }
790 | },
791 | "node_modules/postcss-selector-parser": {
792 | "version": "6.0.10",
793 | "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz",
794 | "integrity": "sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==",
795 | "dev": true,
796 | "dependencies": {
797 | "cssesc": "^3.0.0",
798 | "util-deprecate": "^1.0.2"
799 | },
800 | "engines": {
801 | "node": ">=4"
802 | }
803 | },
804 | "node_modules/postcss-value-parser": {
805 | "version": "4.2.0",
806 | "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz",
807 | "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==",
808 | "dev": true
809 | },
810 | "node_modules/process": {
811 | "version": "0.11.10",
812 | "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz",
813 | "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=",
814 | "engines": {
815 | "node": ">= 0.6.0"
816 | }
817 | },
818 | "node_modules/process-nextick-args": {
819 | "version": "2.0.1",
820 | "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
821 | "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag=="
822 | },
823 | "node_modules/queue-microtask": {
824 | "version": "1.2.3",
825 | "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
826 | "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==",
827 | "dev": true,
828 | "funding": [
829 | {
830 | "type": "github",
831 | "url": "https://github.com/sponsors/feross"
832 | },
833 | {
834 | "type": "patreon",
835 | "url": "https://www.patreon.com/feross"
836 | },
837 | {
838 | "type": "consulting",
839 | "url": "https://feross.org/support"
840 | }
841 | ]
842 | },
843 | "node_modules/quick-lru": {
844 | "version": "5.1.1",
845 | "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz",
846 | "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==",
847 | "dev": true,
848 | "engines": {
849 | "node": ">=10"
850 | },
851 | "funding": {
852 | "url": "https://github.com/sponsors/sindresorhus"
853 | }
854 | },
855 | "node_modules/read-cache": {
856 | "version": "1.0.0",
857 | "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz",
858 | "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==",
859 | "dev": true,
860 | "dependencies": {
861 | "pify": "^2.3.0"
862 | }
863 | },
864 | "node_modules/readable-stream": {
865 | "version": "2.3.7",
866 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
867 | "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
868 | "dependencies": {
869 | "core-util-is": "~1.0.0",
870 | "inherits": "~2.0.3",
871 | "isarray": "~1.0.0",
872 | "process-nextick-args": "~2.0.0",
873 | "safe-buffer": "~5.1.1",
874 | "string_decoder": "~1.1.1",
875 | "util-deprecate": "~1.0.1"
876 | }
877 | },
878 | "node_modules/readdirp": {
879 | "version": "3.6.0",
880 | "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
881 | "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
882 | "dev": true,
883 | "dependencies": {
884 | "picomatch": "^2.2.1"
885 | },
886 | "engines": {
887 | "node": ">=8.10.0"
888 | }
889 | },
890 | "node_modules/resolve": {
891 | "version": "1.22.1",
892 | "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz",
893 | "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==",
894 | "dev": true,
895 | "dependencies": {
896 | "is-core-module": "^2.9.0",
897 | "path-parse": "^1.0.7",
898 | "supports-preserve-symlinks-flag": "^1.0.0"
899 | },
900 | "bin": {
901 | "resolve": "bin/resolve"
902 | },
903 | "funding": {
904 | "url": "https://github.com/sponsors/ljharb"
905 | }
906 | },
907 | "node_modules/reusify": {
908 | "version": "1.0.4",
909 | "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz",
910 | "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==",
911 | "dev": true,
912 | "engines": {
913 | "iojs": ">=1.0.0",
914 | "node": ">=0.10.0"
915 | }
916 | },
917 | "node_modules/run-parallel": {
918 | "version": "1.2.0",
919 | "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
920 | "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==",
921 | "dev": true,
922 | "funding": [
923 | {
924 | "type": "github",
925 | "url": "https://github.com/sponsors/feross"
926 | },
927 | {
928 | "type": "patreon",
929 | "url": "https://www.patreon.com/feross"
930 | },
931 | {
932 | "type": "consulting",
933 | "url": "https://feross.org/support"
934 | }
935 | ],
936 | "dependencies": {
937 | "queue-microtask": "^1.2.2"
938 | }
939 | },
940 | "node_modules/safe-buffer": {
941 | "version": "5.1.2",
942 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
943 | "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
944 | },
945 | "node_modules/source-map": {
946 | "version": "0.6.1",
947 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
948 | "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
949 | "engines": {
950 | "node": ">=0.10.0"
951 | }
952 | },
953 | "node_modules/source-map-js": {
954 | "version": "1.2.1",
955 | "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz",
956 | "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==",
957 | "dev": true,
958 | "license": "BSD-3-Clause",
959 | "engines": {
960 | "node": ">=0.10.0"
961 | }
962 | },
963 | "node_modules/source-map-support": {
964 | "version": "0.5.21",
965 | "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz",
966 | "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==",
967 | "dependencies": {
968 | "buffer-from": "^1.0.0",
969 | "source-map": "^0.6.0"
970 | }
971 | },
972 | "node_modules/string_decoder": {
973 | "version": "1.1.1",
974 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
975 | "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
976 | "dependencies": {
977 | "safe-buffer": "~5.1.0"
978 | }
979 | },
980 | "node_modules/supports-preserve-symlinks-flag": {
981 | "version": "1.0.0",
982 | "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
983 | "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==",
984 | "dev": true,
985 | "engines": {
986 | "node": ">= 0.4"
987 | },
988 | "funding": {
989 | "url": "https://github.com/sponsors/ljharb"
990 | }
991 | },
992 | "node_modules/tailwindcss": {
993 | "version": "3.1.7",
994 | "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.1.7.tgz",
995 | "integrity": "sha512-r7mgumZ3k0InfVPpGWcX8X/Ut4xBfv+1O/+C73ar/m01LxGVzWvPxF/w6xIUPEztrCoz7axfx0SMdh8FH8ZvRQ==",
996 | "dev": true,
997 | "dependencies": {
998 | "arg": "^5.0.2",
999 | "chokidar": "^3.5.3",
1000 | "color-name": "^1.1.4",
1001 | "detective": "^5.2.1",
1002 | "didyoumean": "^1.2.2",
1003 | "dlv": "^1.1.3",
1004 | "fast-glob": "^3.2.11",
1005 | "glob-parent": "^6.0.2",
1006 | "is-glob": "^4.0.3",
1007 | "lilconfig": "^2.0.6",
1008 | "normalize-path": "^3.0.0",
1009 | "object-hash": "^3.0.0",
1010 | "picocolors": "^1.0.0",
1011 | "postcss": "^8.4.14",
1012 | "postcss-import": "^14.1.0",
1013 | "postcss-js": "^4.0.0",
1014 | "postcss-load-config": "^3.1.4",
1015 | "postcss-nested": "5.0.6",
1016 | "postcss-selector-parser": "^6.0.10",
1017 | "postcss-value-parser": "^4.2.0",
1018 | "quick-lru": "^5.1.1",
1019 | "resolve": "^1.22.1"
1020 | },
1021 | "bin": {
1022 | "tailwind": "lib/cli.js",
1023 | "tailwindcss": "lib/cli.js"
1024 | },
1025 | "engines": {
1026 | "node": ">=12.13.0"
1027 | },
1028 | "peerDependencies": {
1029 | "postcss": "^8.0.9"
1030 | }
1031 | },
1032 | "node_modules/terser": {
1033 | "version": "5.14.2",
1034 | "resolved": "https://registry.npmjs.org/terser/-/terser-5.14.2.tgz",
1035 | "integrity": "sha512-oL0rGeM/WFQCUd0y2QrWxYnq7tfSuKBiqTjRPWrRgB46WD/kiwHwF8T23z78H6Q6kGCuuHcPB+KULHRdxvVGQA==",
1036 | "dependencies": {
1037 | "@jridgewell/source-map": "^0.3.2",
1038 | "acorn": "^8.5.0",
1039 | "commander": "^2.20.0",
1040 | "source-map-support": "~0.5.20"
1041 | },
1042 | "bin": {
1043 | "terser": "bin/terser"
1044 | },
1045 | "engines": {
1046 | "node": ">=10"
1047 | }
1048 | },
1049 | "node_modules/terser/node_modules/acorn": {
1050 | "version": "8.8.0",
1051 | "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.0.tgz",
1052 | "integrity": "sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==",
1053 | "bin": {
1054 | "acorn": "bin/acorn"
1055 | },
1056 | "engines": {
1057 | "node": ">=0.4.0"
1058 | }
1059 | },
1060 | "node_modules/to-regex-range": {
1061 | "version": "5.0.1",
1062 | "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
1063 | "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
1064 | "dev": true,
1065 | "license": "MIT",
1066 | "dependencies": {
1067 | "is-number": "^7.0.0"
1068 | },
1069 | "engines": {
1070 | "node": ">=8.0"
1071 | }
1072 | },
1073 | "node_modules/util": {
1074 | "version": "0.10.4",
1075 | "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz",
1076 | "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==",
1077 | "dependencies": {
1078 | "inherits": "2.0.3"
1079 | }
1080 | },
1081 | "node_modules/util-deprecate": {
1082 | "version": "1.0.2",
1083 | "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
1084 | "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8="
1085 | },
1086 | "node_modules/util/node_modules/inherits": {
1087 | "version": "2.0.3",
1088 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
1089 | "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4="
1090 | },
1091 | "node_modules/watch": {
1092 | "version": "0.13.0",
1093 | "resolved": "https://registry.npmjs.org/watch/-/watch-0.13.0.tgz",
1094 | "integrity": "sha1-/MbSs/DoxzSC61Qjmhn9W8+adTw=",
1095 | "dev": true,
1096 | "engines": [
1097 | "node >=0.1.95"
1098 | ],
1099 | "dependencies": {
1100 | "minimist": "^1.1.0"
1101 | },
1102 | "bin": {
1103 | "watch": "cli.js"
1104 | }
1105 | },
1106 | "node_modules/webframe": {
1107 | "version": "0.9.0",
1108 | "resolved": "https://registry.npmjs.org/webframe/-/webframe-0.9.0.tgz",
1109 | "integrity": "sha512-rSzNoQt7LDwiGOBOhQk4v2DyhqC88Mr4v4XyzIY5rF1bVCsvSrtVCg8RCi0mzh64WXTjJzr7v1VV85IcOrsYXw==",
1110 | "dev": true,
1111 | "bin": {
1112 | "webframe": "cli.js"
1113 | }
1114 | },
1115 | "node_modules/ws": {
1116 | "version": "7.5.10",
1117 | "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.10.tgz",
1118 | "integrity": "sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==",
1119 | "dev": true,
1120 | "license": "MIT",
1121 | "engines": {
1122 | "node": ">=8.3.0"
1123 | },
1124 | "peerDependencies": {
1125 | "bufferutil": "^4.0.1",
1126 | "utf-8-validate": "^5.0.2"
1127 | },
1128 | "peerDependenciesMeta": {
1129 | "bufferutil": {
1130 | "optional": true
1131 | },
1132 | "utf-8-validate": {
1133 | "optional": true
1134 | }
1135 | }
1136 | },
1137 | "node_modules/xtend": {
1138 | "version": "4.0.2",
1139 | "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
1140 | "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==",
1141 | "dev": true,
1142 | "engines": {
1143 | "node": ">=0.4"
1144 | }
1145 | },
1146 | "node_modules/yaml": {
1147 | "version": "1.10.2",
1148 | "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz",
1149 | "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==",
1150 | "dev": true,
1151 | "engines": {
1152 | "node": ">= 6"
1153 | }
1154 | }
1155 | },
1156 | "dependencies": {
1157 | "@jridgewell/gen-mapping": {
1158 | "version": "0.3.2",
1159 | "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz",
1160 | "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==",
1161 | "requires": {
1162 | "@jridgewell/set-array": "^1.0.1",
1163 | "@jridgewell/sourcemap-codec": "^1.4.10",
1164 | "@jridgewell/trace-mapping": "^0.3.9"
1165 | }
1166 | },
1167 | "@jridgewell/resolve-uri": {
1168 | "version": "3.1.0",
1169 | "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz",
1170 | "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w=="
1171 | },
1172 | "@jridgewell/set-array": {
1173 | "version": "1.1.2",
1174 | "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz",
1175 | "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw=="
1176 | },
1177 | "@jridgewell/source-map": {
1178 | "version": "0.3.2",
1179 | "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.2.tgz",
1180 | "integrity": "sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==",
1181 | "requires": {
1182 | "@jridgewell/gen-mapping": "^0.3.0",
1183 | "@jridgewell/trace-mapping": "^0.3.9"
1184 | }
1185 | },
1186 | "@jridgewell/sourcemap-codec": {
1187 | "version": "1.4.14",
1188 | "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz",
1189 | "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw=="
1190 | },
1191 | "@jridgewell/trace-mapping": {
1192 | "version": "0.3.14",
1193 | "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.14.tgz",
1194 | "integrity": "sha512-bJWEfQ9lPTvm3SneWwRFVLzrh6nhjwqw7TUFFBEMzwvg7t7PCDenf2lDwqo4NQXzdpgBXyFgDWnQA+2vkruksQ==",
1195 | "requires": {
1196 | "@jridgewell/resolve-uri": "^3.0.3",
1197 | "@jridgewell/sourcemap-codec": "^1.4.10"
1198 | }
1199 | },
1200 | "@nodelib/fs.scandir": {
1201 | "version": "2.1.5",
1202 | "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
1203 | "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
1204 | "dev": true,
1205 | "requires": {
1206 | "@nodelib/fs.stat": "2.0.5",
1207 | "run-parallel": "^1.1.9"
1208 | }
1209 | },
1210 | "@nodelib/fs.stat": {
1211 | "version": "2.0.5",
1212 | "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz",
1213 | "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==",
1214 | "dev": true
1215 | },
1216 | "@nodelib/fs.walk": {
1217 | "version": "1.2.8",
1218 | "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz",
1219 | "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
1220 | "dev": true,
1221 | "requires": {
1222 | "@nodelib/fs.scandir": "2.1.5",
1223 | "fastq": "^1.6.0"
1224 | }
1225 | },
1226 | "acorn": {
1227 | "version": "7.4.1",
1228 | "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz",
1229 | "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==",
1230 | "dev": true
1231 | },
1232 | "acorn-node": {
1233 | "version": "1.8.2",
1234 | "resolved": "https://registry.npmjs.org/acorn-node/-/acorn-node-1.8.2.tgz",
1235 | "integrity": "sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==",
1236 | "dev": true,
1237 | "requires": {
1238 | "acorn": "^7.0.0",
1239 | "acorn-walk": "^7.0.0",
1240 | "xtend": "^4.0.2"
1241 | }
1242 | },
1243 | "acorn-walk": {
1244 | "version": "7.2.0",
1245 | "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz",
1246 | "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==",
1247 | "dev": true
1248 | },
1249 | "anymatch": {
1250 | "version": "3.1.2",
1251 | "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz",
1252 | "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==",
1253 | "dev": true,
1254 | "requires": {
1255 | "normalize-path": "^3.0.0",
1256 | "picomatch": "^2.0.4"
1257 | }
1258 | },
1259 | "arg": {
1260 | "version": "5.0.2",
1261 | "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz",
1262 | "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==",
1263 | "dev": true
1264 | },
1265 | "binary-extensions": {
1266 | "version": "2.2.0",
1267 | "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz",
1268 | "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==",
1269 | "dev": true
1270 | },
1271 | "braces": {
1272 | "version": "3.0.3",
1273 | "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz",
1274 | "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
1275 | "dev": true,
1276 | "requires": {
1277 | "fill-range": "^7.1.1"
1278 | }
1279 | },
1280 | "buffer-from": {
1281 | "version": "1.1.2",
1282 | "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz",
1283 | "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ=="
1284 | },
1285 | "camelcase-css": {
1286 | "version": "2.0.1",
1287 | "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz",
1288 | "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==",
1289 | "dev": true
1290 | },
1291 | "chokidar": {
1292 | "version": "3.5.3",
1293 | "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz",
1294 | "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==",
1295 | "dev": true,
1296 | "requires": {
1297 | "anymatch": "~3.1.2",
1298 | "braces": "~3.0.2",
1299 | "fsevents": "~2.3.2",
1300 | "glob-parent": "~5.1.2",
1301 | "is-binary-path": "~2.1.0",
1302 | "is-glob": "~4.0.1",
1303 | "normalize-path": "~3.0.0",
1304 | "readdirp": "~3.6.0"
1305 | },
1306 | "dependencies": {
1307 | "glob-parent": {
1308 | "version": "5.1.2",
1309 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
1310 | "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
1311 | "dev": true,
1312 | "requires": {
1313 | "is-glob": "^4.0.1"
1314 | }
1315 | }
1316 | }
1317 | },
1318 | "clean-css": {
1319 | "version": "4.2.3",
1320 | "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.3.tgz",
1321 | "integrity": "sha512-VcMWDN54ZN/DS+g58HYL5/n4Zrqe8vHJpGA8KdgUXFU4fuP/aHNw8eld9SyEIyabIMJX/0RaY/fplOo5hYLSFA==",
1322 | "dev": true,
1323 | "requires": {
1324 | "source-map": "~0.6.0"
1325 | }
1326 | },
1327 | "color-name": {
1328 | "version": "1.1.4",
1329 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
1330 | "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
1331 | "dev": true
1332 | },
1333 | "colors": {
1334 | "version": "1.4.0",
1335 | "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz",
1336 | "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==",
1337 | "dev": true
1338 | },
1339 | "commander": {
1340 | "version": "2.20.3",
1341 | "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
1342 | "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ=="
1343 | },
1344 | "core-util-is": {
1345 | "version": "1.0.2",
1346 | "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
1347 | "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac="
1348 | },
1349 | "cssesc": {
1350 | "version": "3.0.0",
1351 | "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz",
1352 | "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==",
1353 | "dev": true
1354 | },
1355 | "defined": {
1356 | "version": "1.0.0",
1357 | "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz",
1358 | "integrity": "sha512-Y2caI5+ZwS5c3RiNDJ6u53VhQHv+hHKwhkI1iHvceKUHw9Df6EK2zRLfjejRgMuCuxK7PfSWIMwWecceVvThjQ==",
1359 | "dev": true
1360 | },
1361 | "detective": {
1362 | "version": "5.2.1",
1363 | "resolved": "https://registry.npmjs.org/detective/-/detective-5.2.1.tgz",
1364 | "integrity": "sha512-v9XE1zRnz1wRtgurGu0Bs8uHKFSTdteYZNbIPFVhUZ39L/S79ppMpdmVOZAnoz1jfEFodc48n6MX483Xo3t1yw==",
1365 | "dev": true,
1366 | "requires": {
1367 | "acorn-node": "^1.8.2",
1368 | "defined": "^1.0.0",
1369 | "minimist": "^1.2.6"
1370 | }
1371 | },
1372 | "dev-refresh": {
1373 | "version": "1.2.1",
1374 | "resolved": "https://registry.npmjs.org/dev-refresh/-/dev-refresh-1.2.1.tgz",
1375 | "integrity": "sha512-qKJYVTh1HkQPsgJDzoRlZ9NyTIbxy2tAYMndjYAU3dpZasm+aD5ZCdks8G0SfNzheZC1T4WMwYZpLgvneXzwcw==",
1376 | "dev": true,
1377 | "requires": {
1378 | "colors": "^1.3.3",
1379 | "minimist": "^1.2.0",
1380 | "node-watch": "^0.6.2",
1381 | "open": "^6.4.0",
1382 | "webframe": "^0.9.0",
1383 | "ws": "^7.1.0"
1384 | }
1385 | },
1386 | "didyoumean": {
1387 | "version": "1.2.2",
1388 | "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz",
1389 | "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==",
1390 | "dev": true
1391 | },
1392 | "dlv": {
1393 | "version": "1.1.3",
1394 | "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz",
1395 | "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==",
1396 | "dev": true
1397 | },
1398 | "fast-glob": {
1399 | "version": "3.2.11",
1400 | "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz",
1401 | "integrity": "sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==",
1402 | "dev": true,
1403 | "requires": {
1404 | "@nodelib/fs.stat": "^2.0.2",
1405 | "@nodelib/fs.walk": "^1.2.3",
1406 | "glob-parent": "^5.1.2",
1407 | "merge2": "^1.3.0",
1408 | "micromatch": "^4.0.4"
1409 | },
1410 | "dependencies": {
1411 | "glob-parent": {
1412 | "version": "5.1.2",
1413 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
1414 | "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
1415 | "dev": true,
1416 | "requires": {
1417 | "is-glob": "^4.0.1"
1418 | }
1419 | }
1420 | }
1421 | },
1422 | "fastq": {
1423 | "version": "1.13.0",
1424 | "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz",
1425 | "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==",
1426 | "dev": true,
1427 | "requires": {
1428 | "reusify": "^1.0.4"
1429 | }
1430 | },
1431 | "fill-range": {
1432 | "version": "7.1.1",
1433 | "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz",
1434 | "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
1435 | "dev": true,
1436 | "requires": {
1437 | "to-regex-range": "^5.0.1"
1438 | }
1439 | },
1440 | "fsevents": {
1441 | "version": "2.3.2",
1442 | "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
1443 | "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
1444 | "dev": true,
1445 | "optional": true
1446 | },
1447 | "function-bind": {
1448 | "version": "1.1.1",
1449 | "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
1450 | "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
1451 | "dev": true
1452 | },
1453 | "glob-parent": {
1454 | "version": "6.0.2",
1455 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz",
1456 | "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==",
1457 | "dev": true,
1458 | "requires": {
1459 | "is-glob": "^4.0.3"
1460 | }
1461 | },
1462 | "has": {
1463 | "version": "1.0.3",
1464 | "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
1465 | "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
1466 | "dev": true,
1467 | "requires": {
1468 | "function-bind": "^1.1.1"
1469 | }
1470 | },
1471 | "he": {
1472 | "version": "1.2.0",
1473 | "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz",
1474 | "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw=="
1475 | },
1476 | "inherits": {
1477 | "version": "2.0.4",
1478 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
1479 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
1480 | },
1481 | "is-binary-path": {
1482 | "version": "2.1.0",
1483 | "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
1484 | "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
1485 | "dev": true,
1486 | "requires": {
1487 | "binary-extensions": "^2.0.0"
1488 | }
1489 | },
1490 | "is-core-module": {
1491 | "version": "2.10.0",
1492 | "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.10.0.tgz",
1493 | "integrity": "sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg==",
1494 | "dev": true,
1495 | "requires": {
1496 | "has": "^1.0.3"
1497 | }
1498 | },
1499 | "is-extglob": {
1500 | "version": "2.1.1",
1501 | "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
1502 | "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
1503 | "dev": true
1504 | },
1505 | "is-glob": {
1506 | "version": "4.0.3",
1507 | "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
1508 | "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
1509 | "dev": true,
1510 | "requires": {
1511 | "is-extglob": "^2.1.1"
1512 | }
1513 | },
1514 | "is-number": {
1515 | "version": "7.0.0",
1516 | "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
1517 | "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
1518 | "dev": true
1519 | },
1520 | "is-wsl": {
1521 | "version": "1.1.0",
1522 | "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz",
1523 | "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=",
1524 | "dev": true
1525 | },
1526 | "isarray": {
1527 | "version": "1.0.0",
1528 | "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
1529 | "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
1530 | },
1531 | "lilconfig": {
1532 | "version": "2.0.6",
1533 | "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.6.tgz",
1534 | "integrity": "sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg==",
1535 | "dev": true
1536 | },
1537 | "merge-files": {
1538 | "version": "0.1.2",
1539 | "resolved": "https://registry.npmjs.org/merge-files/-/merge-files-0.1.2.tgz",
1540 | "integrity": "sha512-WTvtH6ZwVy1/scvp1M+Re6PVni87QTjpSLAwxh0L+PlYIxc4VGFFpLjvP7jdJ43gaJ5n+RUIriJ6wKqmqvVVmg==",
1541 | "requires": {
1542 | "multistream": "^2.1.0"
1543 | }
1544 | },
1545 | "merge2": {
1546 | "version": "1.4.1",
1547 | "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
1548 | "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==",
1549 | "dev": true
1550 | },
1551 | "micromatch": {
1552 | "version": "4.0.8",
1553 | "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz",
1554 | "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==",
1555 | "dev": true,
1556 | "requires": {
1557 | "braces": "^3.0.3",
1558 | "picomatch": "^2.3.1"
1559 | }
1560 | },
1561 | "minimist": {
1562 | "version": "1.2.6",
1563 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz",
1564 | "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==",
1565 | "dev": true
1566 | },
1567 | "multistream": {
1568 | "version": "2.1.1",
1569 | "resolved": "https://registry.npmjs.org/multistream/-/multistream-2.1.1.tgz",
1570 | "integrity": "sha512-xasv76hl6nr1dEy3lPvy7Ej7K/Lx3O/FCvwge8PeVJpciPPoNCbaANcNiBug3IpdvTveZUcAV0DJzdnUDMesNQ==",
1571 | "requires": {
1572 | "inherits": "^2.0.1",
1573 | "readable-stream": "^2.0.5"
1574 | }
1575 | },
1576 | "nanoid": {
1577 | "version": "3.3.8",
1578 | "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.8.tgz",
1579 | "integrity": "sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==",
1580 | "dev": true
1581 | },
1582 | "node-html-parser": {
1583 | "version": "1.3.1",
1584 | "resolved": "https://registry.npmjs.org/node-html-parser/-/node-html-parser-1.3.1.tgz",
1585 | "integrity": "sha512-AwYVI6GyEKj9NGoyMfSx4j5l7Axf7obQgLWGxtasLjED6RggTTQoq5ZRzjwSUfgSZ+Mv8Nzbi3pID0gFGqNUsA==",
1586 | "requires": {
1587 | "he": "1.2.0"
1588 | }
1589 | },
1590 | "node-watch": {
1591 | "version": "0.6.4",
1592 | "resolved": "https://registry.npmjs.org/node-watch/-/node-watch-0.6.4.tgz",
1593 | "integrity": "sha512-cI6CHzivIFESe8djiK3Wh90CtWQBxLwMem8x8S+2GSvCvFgoMuOKVlfJtQ/2v3Afg3wOnHl/+tXotEs8z5vOrg==",
1594 | "dev": true
1595 | },
1596 | "normalize-path": {
1597 | "version": "3.0.0",
1598 | "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
1599 | "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
1600 | "dev": true
1601 | },
1602 | "object-hash": {
1603 | "version": "3.0.0",
1604 | "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz",
1605 | "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==",
1606 | "dev": true
1607 | },
1608 | "open": {
1609 | "version": "6.4.0",
1610 | "resolved": "https://registry.npmjs.org/open/-/open-6.4.0.tgz",
1611 | "integrity": "sha512-IFenVPgF70fSm1keSd2iDBIDIBZkroLeuffXq+wKTzTJlBpesFWojV9lb8mzOfaAzM1sr7HQHuO0vtV0zYekGg==",
1612 | "dev": true,
1613 | "requires": {
1614 | "is-wsl": "^1.1.0"
1615 | }
1616 | },
1617 | "path": {
1618 | "version": "0.12.7",
1619 | "resolved": "https://registry.npmjs.org/path/-/path-0.12.7.tgz",
1620 | "integrity": "sha1-1NwqUGxM4hl+tIHr/NWzbAFAsQ8=",
1621 | "requires": {
1622 | "process": "^0.11.1",
1623 | "util": "^0.10.3"
1624 | }
1625 | },
1626 | "path-parse": {
1627 | "version": "1.0.7",
1628 | "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
1629 | "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
1630 | "dev": true
1631 | },
1632 | "picocolors": {
1633 | "version": "1.1.1",
1634 | "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz",
1635 | "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==",
1636 | "dev": true
1637 | },
1638 | "picomatch": {
1639 | "version": "2.3.1",
1640 | "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
1641 | "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
1642 | "dev": true
1643 | },
1644 | "pify": {
1645 | "version": "2.3.0",
1646 | "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
1647 | "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==",
1648 | "dev": true
1649 | },
1650 | "postcss": {
1651 | "version": "8.5.2",
1652 | "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.2.tgz",
1653 | "integrity": "sha512-MjOadfU3Ys9KYoX0AdkBlFEF1Vx37uCCeN4ZHnmwm9FfpbsGWMZeBLMmmpY+6Ocqod7mkdZ0DT31OlbsFrLlkA==",
1654 | "dev": true,
1655 | "requires": {
1656 | "nanoid": "^3.3.8",
1657 | "picocolors": "^1.1.1",
1658 | "source-map-js": "^1.2.1"
1659 | }
1660 | },
1661 | "postcss-import": {
1662 | "version": "14.1.0",
1663 | "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-14.1.0.tgz",
1664 | "integrity": "sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw==",
1665 | "dev": true,
1666 | "requires": {
1667 | "postcss-value-parser": "^4.0.0",
1668 | "read-cache": "^1.0.0",
1669 | "resolve": "^1.1.7"
1670 | }
1671 | },
1672 | "postcss-js": {
1673 | "version": "4.0.0",
1674 | "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.0.tgz",
1675 | "integrity": "sha512-77QESFBwgX4irogGVPgQ5s07vLvFqWr228qZY+w6lW599cRlK/HmnlivnnVUxkjHnCu4J16PDMHcH+e+2HbvTQ==",
1676 | "dev": true,
1677 | "requires": {
1678 | "camelcase-css": "^2.0.1"
1679 | }
1680 | },
1681 | "postcss-load-config": {
1682 | "version": "3.1.4",
1683 | "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.4.tgz",
1684 | "integrity": "sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==",
1685 | "dev": true,
1686 | "requires": {
1687 | "lilconfig": "^2.0.5",
1688 | "yaml": "^1.10.2"
1689 | }
1690 | },
1691 | "postcss-nested": {
1692 | "version": "5.0.6",
1693 | "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-5.0.6.tgz",
1694 | "integrity": "sha512-rKqm2Fk0KbA8Vt3AdGN0FB9OBOMDVajMG6ZCf/GoHgdxUJ4sBFp0A/uMIRm+MJUdo33YXEtjqIz8u7DAp8B7DA==",
1695 | "dev": true,
1696 | "requires": {
1697 | "postcss-selector-parser": "^6.0.6"
1698 | }
1699 | },
1700 | "postcss-selector-parser": {
1701 | "version": "6.0.10",
1702 | "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz",
1703 | "integrity": "sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==",
1704 | "dev": true,
1705 | "requires": {
1706 | "cssesc": "^3.0.0",
1707 | "util-deprecate": "^1.0.2"
1708 | }
1709 | },
1710 | "postcss-value-parser": {
1711 | "version": "4.2.0",
1712 | "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz",
1713 | "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==",
1714 | "dev": true
1715 | },
1716 | "process": {
1717 | "version": "0.11.10",
1718 | "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz",
1719 | "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI="
1720 | },
1721 | "process-nextick-args": {
1722 | "version": "2.0.1",
1723 | "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
1724 | "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag=="
1725 | },
1726 | "queue-microtask": {
1727 | "version": "1.2.3",
1728 | "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
1729 | "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==",
1730 | "dev": true
1731 | },
1732 | "quick-lru": {
1733 | "version": "5.1.1",
1734 | "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz",
1735 | "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==",
1736 | "dev": true
1737 | },
1738 | "read-cache": {
1739 | "version": "1.0.0",
1740 | "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz",
1741 | "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==",
1742 | "dev": true,
1743 | "requires": {
1744 | "pify": "^2.3.0"
1745 | }
1746 | },
1747 | "readable-stream": {
1748 | "version": "2.3.7",
1749 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
1750 | "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
1751 | "requires": {
1752 | "core-util-is": "~1.0.0",
1753 | "inherits": "~2.0.3",
1754 | "isarray": "~1.0.0",
1755 | "process-nextick-args": "~2.0.0",
1756 | "safe-buffer": "~5.1.1",
1757 | "string_decoder": "~1.1.1",
1758 | "util-deprecate": "~1.0.1"
1759 | }
1760 | },
1761 | "readdirp": {
1762 | "version": "3.6.0",
1763 | "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
1764 | "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
1765 | "dev": true,
1766 | "requires": {
1767 | "picomatch": "^2.2.1"
1768 | }
1769 | },
1770 | "resolve": {
1771 | "version": "1.22.1",
1772 | "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz",
1773 | "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==",
1774 | "dev": true,
1775 | "requires": {
1776 | "is-core-module": "^2.9.0",
1777 | "path-parse": "^1.0.7",
1778 | "supports-preserve-symlinks-flag": "^1.0.0"
1779 | }
1780 | },
1781 | "reusify": {
1782 | "version": "1.0.4",
1783 | "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz",
1784 | "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==",
1785 | "dev": true
1786 | },
1787 | "run-parallel": {
1788 | "version": "1.2.0",
1789 | "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
1790 | "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==",
1791 | "dev": true,
1792 | "requires": {
1793 | "queue-microtask": "^1.2.2"
1794 | }
1795 | },
1796 | "safe-buffer": {
1797 | "version": "5.1.2",
1798 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
1799 | "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
1800 | },
1801 | "source-map": {
1802 | "version": "0.6.1",
1803 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
1804 | "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
1805 | },
1806 | "source-map-js": {
1807 | "version": "1.2.1",
1808 | "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz",
1809 | "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==",
1810 | "dev": true
1811 | },
1812 | "source-map-support": {
1813 | "version": "0.5.21",
1814 | "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz",
1815 | "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==",
1816 | "requires": {
1817 | "buffer-from": "^1.0.0",
1818 | "source-map": "^0.6.0"
1819 | }
1820 | },
1821 | "string_decoder": {
1822 | "version": "1.1.1",
1823 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
1824 | "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
1825 | "requires": {
1826 | "safe-buffer": "~5.1.0"
1827 | }
1828 | },
1829 | "supports-preserve-symlinks-flag": {
1830 | "version": "1.0.0",
1831 | "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
1832 | "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==",
1833 | "dev": true
1834 | },
1835 | "tailwindcss": {
1836 | "version": "3.1.7",
1837 | "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.1.7.tgz",
1838 | "integrity": "sha512-r7mgumZ3k0InfVPpGWcX8X/Ut4xBfv+1O/+C73ar/m01LxGVzWvPxF/w6xIUPEztrCoz7axfx0SMdh8FH8ZvRQ==",
1839 | "dev": true,
1840 | "requires": {
1841 | "arg": "^5.0.2",
1842 | "chokidar": "^3.5.3",
1843 | "color-name": "^1.1.4",
1844 | "detective": "^5.2.1",
1845 | "didyoumean": "^1.2.2",
1846 | "dlv": "^1.1.3",
1847 | "fast-glob": "^3.2.11",
1848 | "glob-parent": "^6.0.2",
1849 | "is-glob": "^4.0.3",
1850 | "lilconfig": "^2.0.6",
1851 | "normalize-path": "^3.0.0",
1852 | "object-hash": "^3.0.0",
1853 | "picocolors": "^1.0.0",
1854 | "postcss": "^8.4.14",
1855 | "postcss-import": "^14.1.0",
1856 | "postcss-js": "^4.0.0",
1857 | "postcss-load-config": "^3.1.4",
1858 | "postcss-nested": "5.0.6",
1859 | "postcss-selector-parser": "^6.0.10",
1860 | "postcss-value-parser": "^4.2.0",
1861 | "quick-lru": "^5.1.1",
1862 | "resolve": "^1.22.1"
1863 | }
1864 | },
1865 | "terser": {
1866 | "version": "5.14.2",
1867 | "resolved": "https://registry.npmjs.org/terser/-/terser-5.14.2.tgz",
1868 | "integrity": "sha512-oL0rGeM/WFQCUd0y2QrWxYnq7tfSuKBiqTjRPWrRgB46WD/kiwHwF8T23z78H6Q6kGCuuHcPB+KULHRdxvVGQA==",
1869 | "requires": {
1870 | "@jridgewell/source-map": "^0.3.2",
1871 | "acorn": "^8.5.0",
1872 | "commander": "^2.20.0",
1873 | "source-map-support": "~0.5.20"
1874 | },
1875 | "dependencies": {
1876 | "acorn": {
1877 | "version": "8.8.0",
1878 | "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.0.tgz",
1879 | "integrity": "sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w=="
1880 | }
1881 | }
1882 | },
1883 | "to-regex-range": {
1884 | "version": "5.0.1",
1885 | "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
1886 | "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
1887 | "dev": true,
1888 | "requires": {
1889 | "is-number": "^7.0.0"
1890 | }
1891 | },
1892 | "util": {
1893 | "version": "0.10.4",
1894 | "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz",
1895 | "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==",
1896 | "requires": {
1897 | "inherits": "2.0.3"
1898 | },
1899 | "dependencies": {
1900 | "inherits": {
1901 | "version": "2.0.3",
1902 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
1903 | "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4="
1904 | }
1905 | }
1906 | },
1907 | "util-deprecate": {
1908 | "version": "1.0.2",
1909 | "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
1910 | "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8="
1911 | },
1912 | "watch": {
1913 | "version": "0.13.0",
1914 | "resolved": "https://registry.npmjs.org/watch/-/watch-0.13.0.tgz",
1915 | "integrity": "sha1-/MbSs/DoxzSC61Qjmhn9W8+adTw=",
1916 | "dev": true,
1917 | "requires": {
1918 | "minimist": "^1.1.0"
1919 | }
1920 | },
1921 | "webframe": {
1922 | "version": "0.9.0",
1923 | "resolved": "https://registry.npmjs.org/webframe/-/webframe-0.9.0.tgz",
1924 | "integrity": "sha512-rSzNoQt7LDwiGOBOhQk4v2DyhqC88Mr4v4XyzIY5rF1bVCsvSrtVCg8RCi0mzh64WXTjJzr7v1VV85IcOrsYXw==",
1925 | "dev": true
1926 | },
1927 | "ws": {
1928 | "version": "7.5.10",
1929 | "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.10.tgz",
1930 | "integrity": "sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==",
1931 | "dev": true,
1932 | "requires": {}
1933 | },
1934 | "xtend": {
1935 | "version": "4.0.2",
1936 | "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
1937 | "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==",
1938 | "dev": true
1939 | },
1940 | "yaml": {
1941 | "version": "1.10.2",
1942 | "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz",
1943 | "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==",
1944 | "dev": true
1945 | }
1946 | }
1947 | }
1948 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "single-file-components-for-alpinejs",
3 | "version": "1.0.0",
4 | "description": "",
5 | "main": "build.js",
6 | "scripts": {
7 | "build": "node build.js && npx tailwindcss -i ./src/tailwind.css -o ./dist/tailwind.css",
8 | "css-build": "npx tailwindcss -i ./src/tailwind.css -o ./dist/tailwind.css",
9 | "dev": "dev-refresh src --serve dist --cmd 'npm run build' && npx tailwindcss -i ./src/tailwind.css -o ./dist/tailwind.css"
10 | },
11 | "repository": {
12 | "type": "git",
13 | "url": "git+https://github.com/dashpilot/dashpilot-website.git"
14 | },
15 | "author": "",
16 | "license": "ISC",
17 | "bugs": {
18 | "url": "https://github.com/dashpilot/dashpilot-website/issues"
19 | },
20 | "homepage": "https://github.com/dashpilot/dashpilot-website#readme",
21 | "dependencies": {
22 | "merge-files": "^0.1.2",
23 | "node-html-parser": "^1.3.1",
24 | "path": "^0.12.7",
25 | "terser": "^5.3.5"
26 | },
27 | "devDependencies": {
28 | "clean-css": "^4.2.3",
29 | "dev-refresh": "^1.2.1",
30 | "tailwindcss": "^3.0.15",
31 | "watch": "^0.13.0"
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/src/components/card.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
Special title treatment
7 |
8 |
9 |
14 |
Try Me
15 |
16 |
17 |
18 |
19 |
20 |
33 |
34 |
--------------------------------------------------------------------------------
/src/components/notify.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | Heads Up! This is a different component
4 |
5 |
6 |
7 |
16 |
17 |
--------------------------------------------------------------------------------
/src/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
36 |
37 |
38 |
39 |
--------------------------------------------------------------------------------
/src/tailwind.css:
--------------------------------------------------------------------------------
1 | @tailwind base;
2 | @tailwind components;
3 | @tailwind utilities;
4 |
--------------------------------------------------------------------------------
/tailwind.config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | content: ["./src/**/*.{html,js}"],
3 | theme: {
4 | extend: {},
5 | },
6 | plugins: [],
7 | }
--------------------------------------------------------------------------------