├── .editorconfig ├── .eslintrc.cjs ├── .github └── workflows │ └── cd.yaml ├── .gitignore ├── .husky └── pre-commit ├── LICENSE ├── README.md ├── build.gradle ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── package.json ├── pnpm-lock.yaml ├── postcss.config.js ├── prettier.config.js ├── settings.gradle ├── settings.yaml ├── src ├── main.ts ├── styles │ ├── main.css │ └── tailwind.css └── vite-env.d.ts ├── tailwind.config.js ├── templates ├── index.html ├── modules │ └── layout.html └── post.html ├── theme.yaml ├── tsconfig.json └── vite.config.ts /.editorconfig: -------------------------------------------------------------------------------- 1 | # EditorConfig is awesome: https://EditorConfig.org 2 | 3 | # top-most EditorConfig file 4 | root = true 5 | 6 | [*] 7 | indent_style = space 8 | indent_size = 2 9 | end_of_line = lf 10 | charset = utf-8 11 | trim_trailing_whitespace = false 12 | insert_final_newline = false -------------------------------------------------------------------------------- /.eslintrc.cjs: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | root: true, 3 | parser: "@typescript-eslint/parser", 4 | plugins: ["@typescript-eslint", "prettier"], 5 | extends: [ 6 | "eslint:recommended", 7 | "plugin:@typescript-eslint/eslint-recommended", 8 | "plugin:@typescript-eslint/recommended", 9 | "prettier", 10 | ], 11 | env: { 12 | node: true, 13 | }, 14 | }; 15 | -------------------------------------------------------------------------------- /.github/workflows/cd.yaml: -------------------------------------------------------------------------------- 1 | name: CD 2 | 3 | on: 4 | release: 5 | types: 6 | - published 7 | 8 | jobs: 9 | cd: 10 | # https://github.com/halo-sigs/reusable-workflows?tab=readme-ov-file#theme 11 | uses: halo-sigs/reusable-workflows/.github/workflows/theme-cd.yaml@v3 12 | secrets: 13 | halo-pat: ${{ secrets.HALO_PAT }} 14 | permissions: 15 | contents: write 16 | with: 17 | # if you have permission to release to appstore, please set this to false and set the app-id 18 | skip-appstore-release: true 19 | app-id: app-foo 20 | pnpm-version: 10 21 | node-version: 20 22 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | logs 3 | *.log 4 | npm-debug.log* 5 | yarn-debug.log* 6 | yarn-error.log* 7 | pnpm-debug.log* 8 | lerna-debug.log* 9 | 10 | node_modules 11 | dist 12 | dist-ssr 13 | *.local 14 | 15 | # Editor directories and files 16 | .vscode/* 17 | !.vscode/extensions.json 18 | .idea 19 | .DS_Store 20 | *.suo 21 | *.ntvs* 22 | *.njsproj 23 | *.sln 24 | *.sw? 25 | 26 | .gradle 27 | build -------------------------------------------------------------------------------- /.husky/pre-commit: -------------------------------------------------------------------------------- 1 | npx lint-staged -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | GNU GENERAL PUBLIC LICENSE 2 | Version 3, 29 June 2007 3 | 4 | Copyright (C) 2007 Free Software Foundation, Inc. 5 | Everyone is permitted to copy and distribute verbatim copies 6 | of this license document, but changing it is not allowed. 7 | 8 | Preamble 9 | 10 | The GNU General Public License is a free, copyleft license for 11 | software and other kinds of works. 12 | 13 | The licenses for most software and other practical works are designed 14 | to take away your freedom to share and change the works. By contrast, 15 | the GNU General Public License is intended to guarantee your freedom to 16 | share and change all versions of a program--to make sure it remains free 17 | software for all its users. We, the Free Software Foundation, use the 18 | GNU General Public License for most of our software; it applies also to 19 | any other work released this way by its authors. You can apply it to 20 | your programs, too. 21 | 22 | When we speak of free software, we are referring to freedom, not 23 | price. Our General Public Licenses are designed to make sure that you 24 | have the freedom to distribute copies of free software (and charge for 25 | them if you wish), that you receive source code or can get it if you 26 | want it, that you can change the software or use pieces of it in new 27 | free programs, and that you know you can do these things. 28 | 29 | To protect your rights, we need to prevent others from denying you 30 | these rights or asking you to surrender the rights. Therefore, you have 31 | certain responsibilities if you distribute copies of the software, or if 32 | you modify it: responsibilities to respect the freedom of others. 33 | 34 | For example, if you distribute copies of such a program, whether 35 | gratis or for a fee, you must pass on to the recipients the same 36 | freedoms that you received. You must make sure that they, too, receive 37 | or can get the source code. And you must show them these terms so they 38 | know their rights. 39 | 40 | Developers that use the GNU GPL protect your rights with two steps: 41 | (1) assert copyright on the software, and (2) offer you this License 42 | giving you legal permission to copy, distribute and/or modify it. 43 | 44 | For the developers' and authors' protection, the GPL clearly explains 45 | that there is no warranty for this free software. For both users' and 46 | authors' sake, the GPL requires that modified versions be marked as 47 | changed, so that their problems will not be attributed erroneously to 48 | authors of previous versions. 49 | 50 | Some devices are designed to deny users access to install or run 51 | modified versions of the software inside them, although the manufacturer 52 | can do so. This is fundamentally incompatible with the aim of 53 | protecting users' freedom to change the software. The systematic 54 | pattern of such abuse occurs in the area of products for individuals to 55 | use, which is precisely where it is most unacceptable. Therefore, we 56 | have designed this version of the GPL to prohibit the practice for those 57 | products. If such problems arise substantially in other domains, we 58 | stand ready to extend this provision to those domains in future versions 59 | of the GPL, as needed to protect the freedom of users. 60 | 61 | Finally, every program is threatened constantly by software patents. 62 | States should not allow patents to restrict development and use of 63 | software on general-purpose computers, but in those that do, we wish to 64 | avoid the special danger that patents applied to a free program could 65 | make it effectively proprietary. To prevent this, the GPL assures that 66 | patents cannot be used to render the program non-free. 67 | 68 | The precise terms and conditions for copying, distribution and 69 | modification follow. 70 | 71 | TERMS AND CONDITIONS 72 | 73 | 0. Definitions. 74 | 75 | "This License" refers to version 3 of the GNU General Public License. 76 | 77 | "Copyright" also means copyright-like laws that apply to other kinds of 78 | works, such as semiconductor masks. 79 | 80 | "The Program" refers to any copyrightable work licensed under this 81 | License. Each licensee is addressed as "you". "Licensees" and 82 | "recipients" may be individuals or organizations. 83 | 84 | To "modify" a work means to copy from or adapt all or part of the work 85 | in a fashion requiring copyright permission, other than the making of an 86 | exact copy. The resulting work is called a "modified version" of the 87 | earlier work or a work "based on" the earlier work. 88 | 89 | A "covered work" means either the unmodified Program or a work based 90 | on the Program. 91 | 92 | To "propagate" a work means to do anything with it that, without 93 | permission, would make you directly or secondarily liable for 94 | infringement under applicable copyright law, except executing it on a 95 | computer or modifying a private copy. Propagation includes copying, 96 | distribution (with or without modification), making available to the 97 | public, and in some countries other activities as well. 98 | 99 | To "convey" a work means any kind of propagation that enables other 100 | parties to make or receive copies. Mere interaction with a user through 101 | a computer network, with no transfer of a copy, is not conveying. 102 | 103 | An interactive user interface displays "Appropriate Legal Notices" 104 | to the extent that it includes a convenient and prominently visible 105 | feature that (1) displays an appropriate copyright notice, and (2) 106 | tells the user that there is no warranty for the work (except to the 107 | extent that warranties are provided), that licensees may convey the 108 | work under this License, and how to view a copy of this License. If 109 | the interface presents a list of user commands or options, such as a 110 | menu, a prominent item in the list meets this criterion. 111 | 112 | 1. Source Code. 113 | 114 | The "source code" for a work means the preferred form of the work 115 | for making modifications to it. "Object code" means any non-source 116 | form of a work. 117 | 118 | A "Standard Interface" means an interface that either is an official 119 | standard defined by a recognized standards body, or, in the case of 120 | interfaces specified for a particular programming language, one that 121 | is widely used among developers working in that language. 122 | 123 | The "System Libraries" of an executable work include anything, other 124 | than the work as a whole, that (a) is included in the normal form of 125 | packaging a Major Component, but which is not part of that Major 126 | Component, and (b) serves only to enable use of the work with that 127 | Major Component, or to implement a Standard Interface for which an 128 | implementation is available to the public in source code form. A 129 | "Major Component", in this context, means a major essential component 130 | (kernel, window system, and so on) of the specific operating system 131 | (if any) on which the executable work runs, or a compiler used to 132 | produce the work, or an object code interpreter used to run it. 133 | 134 | The "Corresponding Source" for a work in object code form means all 135 | the source code needed to generate, install, and (for an executable 136 | work) run the object code and to modify the work, including scripts to 137 | control those activities. However, it does not include the work's 138 | System Libraries, or general-purpose tools or generally available free 139 | programs which are used unmodified in performing those activities but 140 | which are not part of the work. For example, Corresponding Source 141 | includes interface definition files associated with source files for 142 | the work, and the source code for shared libraries and dynamically 143 | linked subprograms that the work is specifically designed to require, 144 | such as by intimate data communication or control flow between those 145 | subprograms and other parts of the work. 146 | 147 | The Corresponding Source need not include anything that users 148 | can regenerate automatically from other parts of the Corresponding 149 | Source. 150 | 151 | The Corresponding Source for a work in source code form is that 152 | same work. 153 | 154 | 2. Basic Permissions. 155 | 156 | All rights granted under this License are granted for the term of 157 | copyright on the Program, and are irrevocable provided the stated 158 | conditions are met. This License explicitly affirms your unlimited 159 | permission to run the unmodified Program. The output from running a 160 | covered work is covered by this License only if the output, given its 161 | content, constitutes a covered work. This License acknowledges your 162 | rights of fair use or other equivalent, as provided by copyright law. 163 | 164 | You may make, run and propagate covered works that you do not 165 | convey, without conditions so long as your license otherwise remains 166 | in force. You may convey covered works to others for the sole purpose 167 | of having them make modifications exclusively for you, or provide you 168 | with facilities for running those works, provided that you comply with 169 | the terms of this License in conveying all material for which you do 170 | not control copyright. Those thus making or running the covered works 171 | for you must do so exclusively on your behalf, under your direction 172 | and control, on terms that prohibit them from making any copies of 173 | your copyrighted material outside their relationship with you. 174 | 175 | Conveying under any other circumstances is permitted solely under 176 | the conditions stated below. Sublicensing is not allowed; section 10 177 | makes it unnecessary. 178 | 179 | 3. Protecting Users' Legal Rights From Anti-Circumvention Law. 180 | 181 | No covered work shall be deemed part of an effective technological 182 | measure under any applicable law fulfilling obligations under article 183 | 11 of the WIPO copyright treaty adopted on 20 December 1996, or 184 | similar laws prohibiting or restricting circumvention of such 185 | measures. 186 | 187 | When you convey a covered work, you waive any legal power to forbid 188 | circumvention of technological measures to the extent such circumvention 189 | is effected by exercising rights under this License with respect to 190 | the covered work, and you disclaim any intention to limit operation or 191 | modification of the work as a means of enforcing, against the work's 192 | users, your or third parties' legal rights to forbid circumvention of 193 | technological measures. 194 | 195 | 4. Conveying Verbatim Copies. 196 | 197 | You may convey verbatim copies of the Program's source code as you 198 | receive it, in any medium, provided that you conspicuously and 199 | appropriately publish on each copy an appropriate copyright notice; 200 | keep intact all notices stating that this License and any 201 | non-permissive terms added in accord with section 7 apply to the code; 202 | keep intact all notices of the absence of any warranty; and give all 203 | recipients a copy of this License along with the Program. 204 | 205 | You may charge any price or no price for each copy that you convey, 206 | and you may offer support or warranty protection for a fee. 207 | 208 | 5. Conveying Modified Source Versions. 209 | 210 | You may convey a work based on the Program, or the modifications to 211 | produce it from the Program, in the form of source code under the 212 | terms of section 4, provided that you also meet all of these conditions: 213 | 214 | a) The work must carry prominent notices stating that you modified 215 | it, and giving a relevant date. 216 | 217 | b) The work must carry prominent notices stating that it is 218 | released under this License and any conditions added under section 219 | 7. This requirement modifies the requirement in section 4 to 220 | "keep intact all notices". 221 | 222 | c) You must license the entire work, as a whole, under this 223 | License to anyone who comes into possession of a copy. This 224 | License will therefore apply, along with any applicable section 7 225 | additional terms, to the whole of the work, and all its parts, 226 | regardless of how they are packaged. This License gives no 227 | permission to license the work in any other way, but it does not 228 | invalidate such permission if you have separately received it. 229 | 230 | d) If the work has interactive user interfaces, each must display 231 | Appropriate Legal Notices; however, if the Program has interactive 232 | interfaces that do not display Appropriate Legal Notices, your 233 | work need not make them do so. 234 | 235 | A compilation of a covered work with other separate and independent 236 | works, which are not by their nature extensions of the covered work, 237 | and which are not combined with it such as to form a larger program, 238 | in or on a volume of a storage or distribution medium, is called an 239 | "aggregate" if the compilation and its resulting copyright are not 240 | used to limit the access or legal rights of the compilation's users 241 | beyond what the individual works permit. Inclusion of a covered work 242 | in an aggregate does not cause this License to apply to the other 243 | parts of the aggregate. 244 | 245 | 6. Conveying Non-Source Forms. 246 | 247 | You may convey a covered work in object code form under the terms 248 | of sections 4 and 5, provided that you also convey the 249 | machine-readable Corresponding Source under the terms of this License, 250 | in one of these ways: 251 | 252 | a) Convey the object code in, or embodied in, a physical product 253 | (including a physical distribution medium), accompanied by the 254 | Corresponding Source fixed on a durable physical medium 255 | customarily used for software interchange. 256 | 257 | b) Convey the object code in, or embodied in, a physical product 258 | (including a physical distribution medium), accompanied by a 259 | written offer, valid for at least three years and valid for as 260 | long as you offer spare parts or customer support for that product 261 | model, to give anyone who possesses the object code either (1) a 262 | copy of the Corresponding Source for all the software in the 263 | product that is covered by this License, on a durable physical 264 | medium customarily used for software interchange, for a price no 265 | more than your reasonable cost of physically performing this 266 | conveying of source, or (2) access to copy the 267 | Corresponding Source from a network server at no charge. 268 | 269 | c) Convey individual copies of the object code with a copy of the 270 | written offer to provide the Corresponding Source. This 271 | alternative is allowed only occasionally and noncommercially, and 272 | only if you received the object code with such an offer, in accord 273 | with subsection 6b. 274 | 275 | d) Convey the object code by offering access from a designated 276 | place (gratis or for a charge), and offer equivalent access to the 277 | Corresponding Source in the same way through the same place at no 278 | further charge. You need not require recipients to copy the 279 | Corresponding Source along with the object code. If the place to 280 | copy the object code is a network server, the Corresponding Source 281 | may be on a different server (operated by you or a third party) 282 | that supports equivalent copying facilities, provided you maintain 283 | clear directions next to the object code saying where to find the 284 | Corresponding Source. Regardless of what server hosts the 285 | Corresponding Source, you remain obligated to ensure that it is 286 | available for as long as needed to satisfy these requirements. 287 | 288 | e) Convey the object code using peer-to-peer transmission, provided 289 | you inform other peers where the object code and Corresponding 290 | Source of the work are being offered to the general public at no 291 | charge under subsection 6d. 292 | 293 | A separable portion of the object code, whose source code is excluded 294 | from the Corresponding Source as a System Library, need not be 295 | included in conveying the object code work. 296 | 297 | A "User Product" is either (1) a "consumer product", which means any 298 | tangible personal property which is normally used for personal, family, 299 | or household purposes, or (2) anything designed or sold for incorporation 300 | into a dwelling. In determining whether a product is a consumer product, 301 | doubtful cases shall be resolved in favor of coverage. For a particular 302 | product received by a particular user, "normally used" refers to a 303 | typical or common use of that class of product, regardless of the status 304 | of the particular user or of the way in which the particular user 305 | actually uses, or expects or is expected to use, the product. A product 306 | is a consumer product regardless of whether the product has substantial 307 | commercial, industrial or non-consumer uses, unless such uses represent 308 | the only significant mode of use of the product. 309 | 310 | "Installation Information" for a User Product means any methods, 311 | procedures, authorization keys, or other information required to install 312 | and execute modified versions of a covered work in that User Product from 313 | a modified version of its Corresponding Source. The information must 314 | suffice to ensure that the continued functioning of the modified object 315 | code is in no case prevented or interfered with solely because 316 | modification has been made. 317 | 318 | If you convey an object code work under this section in, or with, or 319 | specifically for use in, a User Product, and the conveying occurs as 320 | part of a transaction in which the right of possession and use of the 321 | User Product is transferred to the recipient in perpetuity or for a 322 | fixed term (regardless of how the transaction is characterized), the 323 | Corresponding Source conveyed under this section must be accompanied 324 | by the Installation Information. But this requirement does not apply 325 | if neither you nor any third party retains the ability to install 326 | modified object code on the User Product (for example, the work has 327 | been installed in ROM). 328 | 329 | The requirement to provide Installation Information does not include a 330 | requirement to continue to provide support service, warranty, or updates 331 | for a work that has been modified or installed by the recipient, or for 332 | the User Product in which it has been modified or installed. Access to a 333 | network may be denied when the modification itself materially and 334 | adversely affects the operation of the network or violates the rules and 335 | protocols for communication across the network. 336 | 337 | Corresponding Source conveyed, and Installation Information provided, 338 | in accord with this section must be in a format that is publicly 339 | documented (and with an implementation available to the public in 340 | source code form), and must require no special password or key for 341 | unpacking, reading or copying. 342 | 343 | 7. Additional Terms. 344 | 345 | "Additional permissions" are terms that supplement the terms of this 346 | License by making exceptions from one or more of its conditions. 347 | Additional permissions that are applicable to the entire Program shall 348 | be treated as though they were included in this License, to the extent 349 | that they are valid under applicable law. If additional permissions 350 | apply only to part of the Program, that part may be used separately 351 | under those permissions, but the entire Program remains governed by 352 | this License without regard to the additional permissions. 353 | 354 | When you convey a copy of a covered work, you may at your option 355 | remove any additional permissions from that copy, or from any part of 356 | it. (Additional permissions may be written to require their own 357 | removal in certain cases when you modify the work.) You may place 358 | additional permissions on material, added by you to a covered work, 359 | for which you have or can give appropriate copyright permission. 360 | 361 | Notwithstanding any other provision of this License, for material you 362 | add to a covered work, you may (if authorized by the copyright holders of 363 | that material) supplement the terms of this License with terms: 364 | 365 | a) Disclaiming warranty or limiting liability differently from the 366 | terms of sections 15 and 16 of this License; or 367 | 368 | b) Requiring preservation of specified reasonable legal notices or 369 | author attributions in that material or in the Appropriate Legal 370 | Notices displayed by works containing it; or 371 | 372 | c) Prohibiting misrepresentation of the origin of that material, or 373 | requiring that modified versions of such material be marked in 374 | reasonable ways as different from the original version; or 375 | 376 | d) Limiting the use for publicity purposes of names of licensors or 377 | authors of the material; or 378 | 379 | e) Declining to grant rights under trademark law for use of some 380 | trade names, trademarks, or service marks; or 381 | 382 | f) Requiring indemnification of licensors and authors of that 383 | material by anyone who conveys the material (or modified versions of 384 | it) with contractual assumptions of liability to the recipient, for 385 | any liability that these contractual assumptions directly impose on 386 | those licensors and authors. 387 | 388 | All other non-permissive additional terms are considered "further 389 | restrictions" within the meaning of section 10. If the Program as you 390 | received it, or any part of it, contains a notice stating that it is 391 | governed by this License along with a term that is a further 392 | restriction, you may remove that term. If a license document contains 393 | a further restriction but permits relicensing or conveying under this 394 | License, you may add to a covered work material governed by the terms 395 | of that license document, provided that the further restriction does 396 | not survive such relicensing or conveying. 397 | 398 | If you add terms to a covered work in accord with this section, you 399 | must place, in the relevant source files, a statement of the 400 | additional terms that apply to those files, or a notice indicating 401 | where to find the applicable terms. 402 | 403 | Additional terms, permissive or non-permissive, may be stated in the 404 | form of a separately written license, or stated as exceptions; 405 | the above requirements apply either way. 406 | 407 | 8. Termination. 408 | 409 | You may not propagate or modify a covered work except as expressly 410 | provided under this License. Any attempt otherwise to propagate or 411 | modify it is void, and will automatically terminate your rights under 412 | this License (including any patent licenses granted under the third 413 | paragraph of section 11). 414 | 415 | However, if you cease all violation of this License, then your 416 | license from a particular copyright holder is reinstated (a) 417 | provisionally, unless and until the copyright holder explicitly and 418 | finally terminates your license, and (b) permanently, if the copyright 419 | holder fails to notify you of the violation by some reasonable means 420 | prior to 60 days after the cessation. 421 | 422 | Moreover, your license from a particular copyright holder is 423 | reinstated permanently if the copyright holder notifies you of the 424 | violation by some reasonable means, this is the first time you have 425 | received notice of violation of this License (for any work) from that 426 | copyright holder, and you cure the violation prior to 30 days after 427 | your receipt of the notice. 428 | 429 | Termination of your rights under this section does not terminate the 430 | licenses of parties who have received copies or rights from you under 431 | this License. If your rights have been terminated and not permanently 432 | reinstated, you do not qualify to receive new licenses for the same 433 | material under section 10. 434 | 435 | 9. Acceptance Not Required for Having Copies. 436 | 437 | You are not required to accept this License in order to receive or 438 | run a copy of the Program. Ancillary propagation of a covered work 439 | occurring solely as a consequence of using peer-to-peer transmission 440 | to receive a copy likewise does not require acceptance. However, 441 | nothing other than this License grants you permission to propagate or 442 | modify any covered work. These actions infringe copyright if you do 443 | not accept this License. Therefore, by modifying or propagating a 444 | covered work, you indicate your acceptance of this License to do so. 445 | 446 | 10. Automatic Licensing of Downstream Recipients. 447 | 448 | Each time you convey a covered work, the recipient automatically 449 | receives a license from the original licensors, to run, modify and 450 | propagate that work, subject to this License. You are not responsible 451 | for enforcing compliance by third parties with this License. 452 | 453 | An "entity transaction" is a transaction transferring control of an 454 | organization, or substantially all assets of one, or subdividing an 455 | organization, or merging organizations. If propagation of a covered 456 | work results from an entity transaction, each party to that 457 | transaction who receives a copy of the work also receives whatever 458 | licenses to the work the party's predecessor in interest had or could 459 | give under the previous paragraph, plus a right to possession of the 460 | Corresponding Source of the work from the predecessor in interest, if 461 | the predecessor has it or can get it with reasonable efforts. 462 | 463 | You may not impose any further restrictions on the exercise of the 464 | rights granted or affirmed under this License. For example, you may 465 | not impose a license fee, royalty, or other charge for exercise of 466 | rights granted under this License, and you may not initiate litigation 467 | (including a cross-claim or counterclaim in a lawsuit) alleging that 468 | any patent claim is infringed by making, using, selling, offering for 469 | sale, or importing the Program or any portion of it. 470 | 471 | 11. Patents. 472 | 473 | A "contributor" is a copyright holder who authorizes use under this 474 | License of the Program or a work on which the Program is based. The 475 | work thus licensed is called the contributor's "contributor version". 476 | 477 | A contributor's "essential patent claims" are all patent claims 478 | owned or controlled by the contributor, whether already acquired or 479 | hereafter acquired, that would be infringed by some manner, permitted 480 | by this License, of making, using, or selling its contributor version, 481 | but do not include claims that would be infringed only as a 482 | consequence of further modification of the contributor version. For 483 | purposes of this definition, "control" includes the right to grant 484 | patent sublicenses in a manner consistent with the requirements of 485 | this License. 486 | 487 | Each contributor grants you a non-exclusive, worldwide, royalty-free 488 | patent license under the contributor's essential patent claims, to 489 | make, use, sell, offer for sale, import and otherwise run, modify and 490 | propagate the contents of its contributor version. 491 | 492 | In the following three paragraphs, a "patent license" is any express 493 | agreement or commitment, however denominated, not to enforce a patent 494 | (such as an express permission to practice a patent or covenant not to 495 | sue for patent infringement). To "grant" such a patent license to a 496 | party means to make such an agreement or commitment not to enforce a 497 | patent against the party. 498 | 499 | If you convey a covered work, knowingly relying on a patent license, 500 | and the Corresponding Source of the work is not available for anyone 501 | to copy, free of charge and under the terms of this License, through a 502 | publicly available network server or other readily accessible means, 503 | then you must either (1) cause the Corresponding Source to be so 504 | available, or (2) arrange to deprive yourself of the benefit of the 505 | patent license for this particular work, or (3) arrange, in a manner 506 | consistent with the requirements of this License, to extend the patent 507 | license to downstream recipients. "Knowingly relying" means you have 508 | actual knowledge that, but for the patent license, your conveying the 509 | covered work in a country, or your recipient's use of the covered work 510 | in a country, would infringe one or more identifiable patents in that 511 | country that you have reason to believe are valid. 512 | 513 | If, pursuant to or in connection with a single transaction or 514 | arrangement, you convey, or propagate by procuring conveyance of, a 515 | covered work, and grant a patent license to some of the parties 516 | receiving the covered work authorizing them to use, propagate, modify 517 | or convey a specific copy of the covered work, then the patent license 518 | you grant is automatically extended to all recipients of the covered 519 | work and works based on it. 520 | 521 | A patent license is "discriminatory" if it does not include within 522 | the scope of its coverage, prohibits the exercise of, or is 523 | conditioned on the non-exercise of one or more of the rights that are 524 | specifically granted under this License. You may not convey a covered 525 | work if you are a party to an arrangement with a third party that is 526 | in the business of distributing software, under which you make payment 527 | to the third party based on the extent of your activity of conveying 528 | the work, and under which the third party grants, to any of the 529 | parties who would receive the covered work from you, a discriminatory 530 | patent license (a) in connection with copies of the covered work 531 | conveyed by you (or copies made from those copies), or (b) primarily 532 | for and in connection with specific products or compilations that 533 | contain the covered work, unless you entered into that arrangement, 534 | or that patent license was granted, prior to 28 March 2007. 535 | 536 | Nothing in this License shall be construed as excluding or limiting 537 | any implied license or other defenses to infringement that may 538 | otherwise be available to you under applicable patent law. 539 | 540 | 12. No Surrender of Others' Freedom. 541 | 542 | If conditions are imposed on you (whether by court order, agreement or 543 | otherwise) that contradict the conditions of this License, they do not 544 | excuse you from the conditions of this License. If you cannot convey a 545 | covered work so as to satisfy simultaneously your obligations under this 546 | License and any other pertinent obligations, then as a consequence you may 547 | not convey it at all. For example, if you agree to terms that obligate you 548 | to collect a royalty for further conveying from those to whom you convey 549 | the Program, the only way you could satisfy both those terms and this 550 | License would be to refrain entirely from conveying the Program. 551 | 552 | 13. Use with the GNU Affero General Public License. 553 | 554 | Notwithstanding any other provision of this License, you have 555 | permission to link or combine any covered work with a work licensed 556 | under version 3 of the GNU Affero General Public License into a single 557 | combined work, and to convey the resulting work. The terms of this 558 | License will continue to apply to the part which is the covered work, 559 | but the special requirements of the GNU Affero General Public License, 560 | section 13, concerning interaction through a network will apply to the 561 | combination as such. 562 | 563 | 14. Revised Versions of this License. 564 | 565 | The Free Software Foundation may publish revised and/or new versions of 566 | the GNU General Public License from time to time. Such new versions will 567 | be similar in spirit to the present version, but may differ in detail to 568 | address new problems or concerns. 569 | 570 | Each version is given a distinguishing version number. If the 571 | Program specifies that a certain numbered version of the GNU General 572 | Public License "or any later version" applies to it, you have the 573 | option of following the terms and conditions either of that numbered 574 | version or of any later version published by the Free Software 575 | Foundation. If the Program does not specify a version number of the 576 | GNU General Public License, you may choose any version ever published 577 | by the Free Software Foundation. 578 | 579 | If the Program specifies that a proxy can decide which future 580 | versions of the GNU General Public License can be used, that proxy's 581 | public statement of acceptance of a version permanently authorizes you 582 | to choose that version for the Program. 583 | 584 | Later license versions may give you additional or different 585 | permissions. However, no additional obligations are imposed on any 586 | author or copyright holder as a result of your choosing to follow a 587 | later version. 588 | 589 | 15. Disclaimer of Warranty. 590 | 591 | THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY 592 | APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT 593 | HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY 594 | OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, 595 | THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 596 | PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM 597 | IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF 598 | ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 599 | 600 | 16. Limitation of Liability. 601 | 602 | IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING 603 | WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS 604 | THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY 605 | GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE 606 | USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF 607 | DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD 608 | PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), 609 | EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF 610 | SUCH DAMAGES. 611 | 612 | 17. Interpretation of Sections 15 and 16. 613 | 614 | If the disclaimer of warranty and limitation of liability provided 615 | above cannot be given local legal effect according to their terms, 616 | reviewing courts shall apply local law that most closely approximates 617 | an absolute waiver of all civil liability in connection with the 618 | Program, unless a warranty or assumption of liability accompanies a 619 | copy of the Program in return for a fee. 620 | 621 | END OF TERMS AND CONDITIONS 622 | 623 | How to Apply These Terms to Your New Programs 624 | 625 | If you develop a new program, and you want it to be of the greatest 626 | possible use to the public, the best way to achieve this is to make it 627 | free software which everyone can redistribute and change under these terms. 628 | 629 | To do so, attach the following notices to the program. It is safest 630 | to attach them to the start of each source file to most effectively 631 | state the exclusion of warranty; and each file should have at least 632 | the "copyright" line and a pointer to where the full notice is found. 633 | 634 | 635 | Copyright (C) 636 | 637 | This program is free software: you can redistribute it and/or modify 638 | it under the terms of the GNU General Public License as published by 639 | the Free Software Foundation, either version 3 of the License, or 640 | (at your option) any later version. 641 | 642 | This program is distributed in the hope that it will be useful, 643 | but WITHOUT ANY WARRANTY; without even the implied warranty of 644 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 645 | GNU General Public License for more details. 646 | 647 | You should have received a copy of the GNU General Public License 648 | along with this program. If not, see . 649 | 650 | Also add information on how to contact you by electronic and paper mail. 651 | 652 | If the program does terminal interaction, make it output a short 653 | notice like this when it starts in an interactive mode: 654 | 655 | Copyright (C) 656 | This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. 657 | This is free software, and you are welcome to redistribute it 658 | under certain conditions; type `show c' for details. 659 | 660 | The hypothetical commands `show w' and `show c' should show the appropriate 661 | parts of the General Public License. Of course, your program's commands 662 | might be different; for a GUI interface, you would use an "about box". 663 | 664 | You should also get your employer (if you work as a programmer) or school, 665 | if any, to sign a "copyright disclaimer" for the program, if necessary. 666 | For more information on this, and how to apply and follow the GNU GPL, see 667 | . 668 | 669 | The GNU General Public License does not permit incorporating your program 670 | into proprietary programs. If your program is a subroutine library, you 671 | may consider it more useful to permit linking proprietary applications with 672 | the library. If this is what you want to do, use the GNU Lesser General 673 | Public License instead of this License. But first, please read 674 | . -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Theme Modern Starter 2 | 3 | 一个集成了现代前端技术栈的 Halo 2.0 的主题开发模板。 4 | 5 | 主题开发文档可查阅: 6 | 7 | ## 特性 8 | 9 | - 使用 [Vite](https://vitejs.dev/) 进行静态资源构建。 10 | - 使用 [Tailwind CSS](https://tailwindcss.com/) 进行样式开发。 11 | - 使用 [@tailwindcss/typography](https://tailwindcss.com/docs/typography-plugin) 作为内容样式。 12 | - 使用 [Iconify](https://iconify.design/) + [@iconify/tailwind](https://iconify.design/docs/usage/css/tailwind/#installation) 作为图标方案。 13 | - 集成了 [Alpine.js](https://alpinejs.dev/)。 14 | - 集成了 ESLint + Prettier。 15 | 16 | ## 开发 17 | 18 | ```bash 19 | git clone git@github.com:halo-dev/theme-modern-starter.git ~/halo2-dev/themes/theme-modern-starter 20 | ``` 21 | 22 | ```bash 23 | cd ~/halo2-dev/themes/theme-modern-starter 24 | ``` 25 | 26 | ```bash 27 | pnpm install 28 | ``` 29 | 30 | ```bash 31 | pnpm dev 32 | ``` 33 | -------------------------------------------------------------------------------- /build.gradle: -------------------------------------------------------------------------------- 1 | plugins { 2 | id 'java' 3 | } 4 | 5 | group 'run.halo' 6 | version '1.0' 7 | 8 | repositories { 9 | mavenCentral() 10 | } 11 | 12 | dependencies { 13 | implementation('org.thymeleaf:thymeleaf:3.0.12.RELEASE') 14 | } -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/halo-dev/theme-modern-starter/598295299ee6465a400af9e166c40899cf43889f/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-7.4-bin.zip 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | -------------------------------------------------------------------------------- /gradlew: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # 4 | # Copyright © 2015-2021 the original authors. 5 | # 6 | # Licensed under the Apache License, Version 2.0 (the "License"); 7 | # you may not use this file except in compliance with the License. 8 | # You may obtain a copy of the License at 9 | # 10 | # https://www.apache.org/licenses/LICENSE-2.0 11 | # 12 | # Unless required by applicable law or agreed to in writing, software 13 | # distributed under the License is distributed on an "AS IS" BASIS, 14 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | # See the License for the specific language governing permissions and 16 | # limitations under the License. 17 | # 18 | 19 | ############################################################################## 20 | # 21 | # Gradle start up script for POSIX generated by Gradle. 22 | # 23 | # Important for running: 24 | # 25 | # (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is 26 | # noncompliant, but you have some other compliant shell such as ksh or 27 | # bash, then to run this script, type that shell name before the whole 28 | # command line, like: 29 | # 30 | # ksh Gradle 31 | # 32 | # Busybox and similar reduced shells will NOT work, because this script 33 | # requires all of these POSIX shell features: 34 | # * functions; 35 | # * expansions «$var», «${var}», «${var:-default}», «${var+SET}», 36 | # «${var#prefix}», «${var%suffix}», and «$( cmd )»; 37 | # * compound commands having a testable exit status, especially «case»; 38 | # * various built-in commands including «command», «set», and «ulimit». 39 | # 40 | # Important for patching: 41 | # 42 | # (2) This script targets any POSIX shell, so it avoids extensions provided 43 | # by Bash, Ksh, etc; in particular arrays are avoided. 44 | # 45 | # The "traditional" practice of packing multiple parameters into a 46 | # space-separated string is a well documented source of bugs and security 47 | # problems, so this is (mostly) avoided, by progressively accumulating 48 | # options in "$@", and eventually passing that to Java. 49 | # 50 | # Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS, 51 | # and GRADLE_OPTS) rely on word-splitting, this is performed explicitly; 52 | # see the in-line comments for details. 53 | # 54 | # There are tweaks for specific operating systems such as AIX, CygWin, 55 | # Darwin, MinGW, and NonStop. 56 | # 57 | # (3) This script is generated from the Groovy template 58 | # https://github.com/gradle/gradle/blob/master/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt 59 | # within the Gradle project. 60 | # 61 | # You can find Gradle at https://github.com/gradle/gradle/. 62 | # 63 | ############################################################################## 64 | 65 | # Attempt to set APP_HOME 66 | 67 | # Resolve links: $0 may be a link 68 | app_path=$0 69 | 70 | # Need this for daisy-chained symlinks. 71 | while 72 | APP_HOME=${app_path%"${app_path##*/}"} # leaves a trailing /; empty if no leading path 73 | [ -h "$app_path" ] 74 | do 75 | ls=$( ls -ld "$app_path" ) 76 | link=${ls#*' -> '} 77 | case $link in #( 78 | /*) app_path=$link ;; #( 79 | *) app_path=$APP_HOME$link ;; 80 | esac 81 | done 82 | 83 | APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit 84 | 85 | APP_NAME="Gradle" 86 | APP_BASE_NAME=${0##*/} 87 | 88 | # Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. 89 | DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' 90 | 91 | # Use the maximum available, or set MAX_FD != -1 to use that value. 92 | MAX_FD=maximum 93 | 94 | warn () { 95 | echo "$*" 96 | } >&2 97 | 98 | die () { 99 | echo 100 | echo "$*" 101 | echo 102 | exit 1 103 | } >&2 104 | 105 | # OS specific support (must be 'true' or 'false'). 106 | cygwin=false 107 | msys=false 108 | darwin=false 109 | nonstop=false 110 | case "$( uname )" in #( 111 | CYGWIN* ) cygwin=true ;; #( 112 | Darwin* ) darwin=true ;; #( 113 | MSYS* | MINGW* ) msys=true ;; #( 114 | NONSTOP* ) nonstop=true ;; 115 | esac 116 | 117 | CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar 118 | 119 | 120 | # Determine the Java command to use to start the JVM. 121 | if [ -n "$JAVA_HOME" ] ; then 122 | if [ -x "$JAVA_HOME/jre/sh/java" ] ; then 123 | # IBM's JDK on AIX uses strange locations for the executables 124 | JAVACMD=$JAVA_HOME/jre/sh/java 125 | else 126 | JAVACMD=$JAVA_HOME/bin/java 127 | fi 128 | if [ ! -x "$JAVACMD" ] ; then 129 | die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME 130 | 131 | Please set the JAVA_HOME variable in your environment to match the 132 | location of your Java installation." 133 | fi 134 | else 135 | JAVACMD=java 136 | which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 137 | 138 | Please set the JAVA_HOME variable in your environment to match the 139 | location of your Java installation." 140 | fi 141 | 142 | # Increase the maximum file descriptors if we can. 143 | if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then 144 | case $MAX_FD in #( 145 | max*) 146 | MAX_FD=$( ulimit -H -n ) || 147 | warn "Could not query maximum file descriptor limit" 148 | esac 149 | case $MAX_FD in #( 150 | '' | soft) :;; #( 151 | *) 152 | ulimit -n "$MAX_FD" || 153 | warn "Could not set maximum file descriptor limit to $MAX_FD" 154 | esac 155 | fi 156 | 157 | # Collect all arguments for the java command, stacking in reverse order: 158 | # * args from the command line 159 | # * the main class name 160 | # * -classpath 161 | # * -D...appname settings 162 | # * --module-path (only if needed) 163 | # * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables. 164 | 165 | # For Cygwin or MSYS, switch paths to Windows format before running java 166 | if "$cygwin" || "$msys" ; then 167 | APP_HOME=$( cygpath --path --mixed "$APP_HOME" ) 168 | CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" ) 169 | 170 | JAVACMD=$( cygpath --unix "$JAVACMD" ) 171 | 172 | # Now convert the arguments - kludge to limit ourselves to /bin/sh 173 | for arg do 174 | if 175 | case $arg in #( 176 | -*) false ;; # don't mess with options #( 177 | /?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath 178 | [ -e "$t" ] ;; #( 179 | *) false ;; 180 | esac 181 | then 182 | arg=$( cygpath --path --ignore --mixed "$arg" ) 183 | fi 184 | # Roll the args list around exactly as many times as the number of 185 | # args, so each arg winds up back in the position where it started, but 186 | # possibly modified. 187 | # 188 | # NB: a `for` loop captures its iteration list before it begins, so 189 | # changing the positional parameters here affects neither the number of 190 | # iterations, nor the values presented in `arg`. 191 | shift # remove old arg 192 | set -- "$@" "$arg" # push replacement arg 193 | done 194 | fi 195 | 196 | # Collect all arguments for the java command; 197 | # * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of 198 | # shell script including quotes and variable substitutions, so put them in 199 | # double quotes to make sure that they get re-expanded; and 200 | # * put everything else in single quotes, so that it's not re-expanded. 201 | 202 | set -- \ 203 | "-Dorg.gradle.appname=$APP_BASE_NAME" \ 204 | -classpath "$CLASSPATH" \ 205 | org.gradle.wrapper.GradleWrapperMain \ 206 | "$@" 207 | 208 | # Use "xargs" to parse quoted args. 209 | # 210 | # With -n1 it outputs one arg per line, with the quotes and backslashes removed. 211 | # 212 | # In Bash we could simply go: 213 | # 214 | # readarray ARGS < <( xargs -n1 <<<"$var" ) && 215 | # set -- "${ARGS[@]}" "$@" 216 | # 217 | # but POSIX shell has neither arrays nor command substitution, so instead we 218 | # post-process each arg (as a line of input to sed) to backslash-escape any 219 | # character that might be a shell metacharacter, then use eval to reverse 220 | # that process (while maintaining the separation between arguments), and wrap 221 | # the whole thing up as a single "set" statement. 222 | # 223 | # This will of course break if any of these variables contains a newline or 224 | # an unmatched quote. 225 | # 226 | 227 | eval "set -- $( 228 | printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" | 229 | xargs -n1 | 230 | sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' | 231 | tr '\n' ' ' 232 | )" '"$@"' 233 | 234 | exec "$JAVACMD" "$@" 235 | -------------------------------------------------------------------------------- /gradlew.bat: -------------------------------------------------------------------------------- 1 | @rem 2 | @rem Copyright 2015 the original author or authors. 3 | @rem 4 | @rem Licensed under the Apache License, Version 2.0 (the "License"); 5 | @rem you may not use this file except in compliance with the License. 6 | @rem You may obtain a copy of the License at 7 | @rem 8 | @rem https://www.apache.org/licenses/LICENSE-2.0 9 | @rem 10 | @rem Unless required by applicable law or agreed to in writing, software 11 | @rem distributed under the License is distributed on an "AS IS" BASIS, 12 | @rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | @rem See the License for the specific language governing permissions and 14 | @rem limitations under the License. 15 | @rem 16 | 17 | @if "%DEBUG%" == "" @echo off 18 | @rem ########################################################################## 19 | @rem 20 | @rem Gradle startup script for Windows 21 | @rem 22 | @rem ########################################################################## 23 | 24 | @rem Set local scope for the variables with windows NT shell 25 | if "%OS%"=="Windows_NT" setlocal 26 | 27 | set DIRNAME=%~dp0 28 | if "%DIRNAME%" == "" set DIRNAME=. 29 | set APP_BASE_NAME=%~n0 30 | set APP_HOME=%DIRNAME% 31 | 32 | @rem Resolve any "." and ".." in APP_HOME to make it shorter. 33 | for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi 34 | 35 | @rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. 36 | set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" 37 | 38 | @rem Find java.exe 39 | if defined JAVA_HOME goto findJavaFromJavaHome 40 | 41 | set JAVA_EXE=java.exe 42 | %JAVA_EXE% -version >NUL 2>&1 43 | if "%ERRORLEVEL%" == "0" goto execute 44 | 45 | echo. 46 | echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 47 | echo. 48 | echo Please set the JAVA_HOME variable in your environment to match the 49 | echo location of your Java installation. 50 | 51 | goto fail 52 | 53 | :findJavaFromJavaHome 54 | set JAVA_HOME=%JAVA_HOME:"=% 55 | set JAVA_EXE=%JAVA_HOME%/bin/java.exe 56 | 57 | if exist "%JAVA_EXE%" goto execute 58 | 59 | echo. 60 | echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 61 | echo. 62 | echo Please set the JAVA_HOME variable in your environment to match the 63 | echo location of your Java installation. 64 | 65 | goto fail 66 | 67 | :execute 68 | @rem Setup the command line 69 | 70 | set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar 71 | 72 | 73 | @rem Execute Gradle 74 | "%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* 75 | 76 | :end 77 | @rem End local scope for the variables with windows NT shell 78 | if "%ERRORLEVEL%"=="0" goto mainEnd 79 | 80 | :fail 81 | rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of 82 | rem the _cmd.exe /c_ return code! 83 | if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 84 | exit /b 1 85 | 86 | :mainEnd 87 | if "%OS%"=="Windows_NT" endlocal 88 | 89 | :omega 90 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "license": "GPL-3.0", 3 | "scripts": { 4 | "build": "tsc && vite build && theme-package", 5 | "build-only": "tsc && vite build", 6 | "dev": "vite build --watch", 7 | "lint": "eslint ./src --ext .js,.cjs,.mjs,.ts,.cts,.mts --ignore-path .gitignore", 8 | "prepare": "husky", 9 | "prettier": "prettier --write './**/*.{ts,json,yaml,yml,html}'" 10 | }, 11 | "lint-staged": { 12 | "*.{ts,json,yaml,yml,html}": [ 13 | "prettier --write" 14 | ] 15 | }, 16 | "dependencies": { 17 | "alpinejs": "^3.14.9" 18 | }, 19 | "devDependencies": { 20 | "@halo-dev/theme-package-cli": "^1.0.0", 21 | "@iconify-json/tabler": "^1.2.17", 22 | "@iconify/tailwind": "^0.1.4", 23 | "@tailwindcss/typography": "^0.5.16", 24 | "@types/alpinejs": "^3.13.11", 25 | "@types/node": "^18.19.86", 26 | "@typescript-eslint/eslint-plugin": "^5.62.0", 27 | "@typescript-eslint/parser": "^5.62.0", 28 | "autoprefixer": "^10.4.21", 29 | "eslint": "^8.57.1", 30 | "eslint-config-prettier": "^8.10.0", 31 | "eslint-plugin-prettier": "^4.2.1", 32 | "husky": "^9.1.7", 33 | "lint-staged": "^15.5.0", 34 | "postcss": "^8.5.3", 35 | "prettier": "^2.8.8", 36 | "prettier-plugin-tailwindcss": "^0.1.13", 37 | "tailwindcss": "^3.4.17", 38 | "typescript": "^4.9.5", 39 | "vite": "^5.4.16" 40 | }, 41 | "packageManager": "pnpm@10.6.5+sha512.cdf928fca20832cd59ec53826492b7dc25dc524d4370b6b4adbf65803d32efaa6c1c88147c0ae4e8d579a6c9eec715757b50d4fa35eea179d868eada4ed043af" 42 | } 43 | -------------------------------------------------------------------------------- /pnpm-lock.yaml: -------------------------------------------------------------------------------- 1 | lockfileVersion: "9.0" 2 | 3 | settings: 4 | autoInstallPeers: true 5 | excludeLinksFromLockfile: false 6 | 7 | importers: 8 | .: 9 | dependencies: 10 | alpinejs: 11 | specifier: ^3.14.9 12 | version: 3.14.9 13 | devDependencies: 14 | "@halo-dev/theme-package-cli": 15 | specifier: ^1.0.0 16 | version: 1.0.0 17 | "@iconify-json/tabler": 18 | specifier: ^1.2.17 19 | version: 1.2.17 20 | "@iconify/tailwind": 21 | specifier: ^0.1.4 22 | version: 0.1.4 23 | "@tailwindcss/typography": 24 | specifier: ^0.5.16 25 | version: 0.5.16(tailwindcss@3.4.17) 26 | "@types/alpinejs": 27 | specifier: ^3.13.11 28 | version: 3.13.11 29 | "@types/node": 30 | specifier: ^18.19.86 31 | version: 18.19.86 32 | "@typescript-eslint/eslint-plugin": 33 | specifier: ^5.62.0 34 | version: 5.62.0(@typescript-eslint/parser@5.62.0(eslint@8.57.1)(typescript@4.9.5))(eslint@8.57.1)(typescript@4.9.5) 35 | "@typescript-eslint/parser": 36 | specifier: ^5.62.0 37 | version: 5.62.0(eslint@8.57.1)(typescript@4.9.5) 38 | autoprefixer: 39 | specifier: ^10.4.21 40 | version: 10.4.21(postcss@8.5.3) 41 | eslint: 42 | specifier: ^8.57.1 43 | version: 8.57.1 44 | eslint-config-prettier: 45 | specifier: ^8.10.0 46 | version: 8.10.0(eslint@8.57.1) 47 | eslint-plugin-prettier: 48 | specifier: ^4.2.1 49 | version: 4.2.1(eslint-config-prettier@8.10.0(eslint@8.57.1))(eslint@8.57.1)(prettier@2.8.8) 50 | husky: 51 | specifier: ^9.1.7 52 | version: 9.1.7 53 | lint-staged: 54 | specifier: ^15.5.0 55 | version: 15.5.0 56 | postcss: 57 | specifier: ^8.5.3 58 | version: 8.5.3 59 | prettier: 60 | specifier: ^2.8.8 61 | version: 2.8.8 62 | prettier-plugin-tailwindcss: 63 | specifier: ^0.1.13 64 | version: 0.1.13(prettier@2.8.8) 65 | tailwindcss: 66 | specifier: ^3.4.17 67 | version: 3.4.17 68 | typescript: 69 | specifier: ^4.9.5 70 | version: 4.9.5 71 | vite: 72 | specifier: ^5.4.16 73 | version: 5.4.16(@types/node@18.19.86) 74 | 75 | packages: 76 | "@aashutoshrathi/word-wrap@1.2.6": 77 | resolution: 78 | { integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA== } 79 | engines: { node: ">=0.10.0" } 80 | 81 | "@alloc/quick-lru@5.2.0": 82 | resolution: 83 | { integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw== } 84 | engines: { node: ">=10" } 85 | 86 | "@esbuild/aix-ppc64@0.21.5": 87 | resolution: 88 | { integrity: sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ== } 89 | engines: { node: ">=12" } 90 | cpu: [ppc64] 91 | os: [aix] 92 | 93 | "@esbuild/android-arm64@0.21.5": 94 | resolution: 95 | { integrity: sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A== } 96 | engines: { node: ">=12" } 97 | cpu: [arm64] 98 | os: [android] 99 | 100 | "@esbuild/android-arm@0.21.5": 101 | resolution: 102 | { integrity: sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg== } 103 | engines: { node: ">=12" } 104 | cpu: [arm] 105 | os: [android] 106 | 107 | "@esbuild/android-x64@0.21.5": 108 | resolution: 109 | { integrity: sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA== } 110 | engines: { node: ">=12" } 111 | cpu: [x64] 112 | os: [android] 113 | 114 | "@esbuild/darwin-arm64@0.21.5": 115 | resolution: 116 | { integrity: sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ== } 117 | engines: { node: ">=12" } 118 | cpu: [arm64] 119 | os: [darwin] 120 | 121 | "@esbuild/darwin-x64@0.21.5": 122 | resolution: 123 | { integrity: sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw== } 124 | engines: { node: ">=12" } 125 | cpu: [x64] 126 | os: [darwin] 127 | 128 | "@esbuild/freebsd-arm64@0.21.5": 129 | resolution: 130 | { integrity: sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g== } 131 | engines: { node: ">=12" } 132 | cpu: [arm64] 133 | os: [freebsd] 134 | 135 | "@esbuild/freebsd-x64@0.21.5": 136 | resolution: 137 | { integrity: sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ== } 138 | engines: { node: ">=12" } 139 | cpu: [x64] 140 | os: [freebsd] 141 | 142 | "@esbuild/linux-arm64@0.21.5": 143 | resolution: 144 | { integrity: sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q== } 145 | engines: { node: ">=12" } 146 | cpu: [arm64] 147 | os: [linux] 148 | 149 | "@esbuild/linux-arm@0.21.5": 150 | resolution: 151 | { integrity: sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA== } 152 | engines: { node: ">=12" } 153 | cpu: [arm] 154 | os: [linux] 155 | 156 | "@esbuild/linux-ia32@0.21.5": 157 | resolution: 158 | { integrity: sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg== } 159 | engines: { node: ">=12" } 160 | cpu: [ia32] 161 | os: [linux] 162 | 163 | "@esbuild/linux-loong64@0.21.5": 164 | resolution: 165 | { integrity: sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg== } 166 | engines: { node: ">=12" } 167 | cpu: [loong64] 168 | os: [linux] 169 | 170 | "@esbuild/linux-mips64el@0.21.5": 171 | resolution: 172 | { integrity: sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg== } 173 | engines: { node: ">=12" } 174 | cpu: [mips64el] 175 | os: [linux] 176 | 177 | "@esbuild/linux-ppc64@0.21.5": 178 | resolution: 179 | { integrity: sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w== } 180 | engines: { node: ">=12" } 181 | cpu: [ppc64] 182 | os: [linux] 183 | 184 | "@esbuild/linux-riscv64@0.21.5": 185 | resolution: 186 | { integrity: sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA== } 187 | engines: { node: ">=12" } 188 | cpu: [riscv64] 189 | os: [linux] 190 | 191 | "@esbuild/linux-s390x@0.21.5": 192 | resolution: 193 | { integrity: sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A== } 194 | engines: { node: ">=12" } 195 | cpu: [s390x] 196 | os: [linux] 197 | 198 | "@esbuild/linux-x64@0.21.5": 199 | resolution: 200 | { integrity: sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ== } 201 | engines: { node: ">=12" } 202 | cpu: [x64] 203 | os: [linux] 204 | 205 | "@esbuild/netbsd-x64@0.21.5": 206 | resolution: 207 | { integrity: sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg== } 208 | engines: { node: ">=12" } 209 | cpu: [x64] 210 | os: [netbsd] 211 | 212 | "@esbuild/openbsd-x64@0.21.5": 213 | resolution: 214 | { integrity: sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow== } 215 | engines: { node: ">=12" } 216 | cpu: [x64] 217 | os: [openbsd] 218 | 219 | "@esbuild/sunos-x64@0.21.5": 220 | resolution: 221 | { integrity: sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg== } 222 | engines: { node: ">=12" } 223 | cpu: [x64] 224 | os: [sunos] 225 | 226 | "@esbuild/win32-arm64@0.21.5": 227 | resolution: 228 | { integrity: sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A== } 229 | engines: { node: ">=12" } 230 | cpu: [arm64] 231 | os: [win32] 232 | 233 | "@esbuild/win32-ia32@0.21.5": 234 | resolution: 235 | { integrity: sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA== } 236 | engines: { node: ">=12" } 237 | cpu: [ia32] 238 | os: [win32] 239 | 240 | "@esbuild/win32-x64@0.21.5": 241 | resolution: 242 | { integrity: sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw== } 243 | engines: { node: ">=12" } 244 | cpu: [x64] 245 | os: [win32] 246 | 247 | "@eslint-community/eslint-utils@4.4.0": 248 | resolution: 249 | { integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA== } 250 | engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } 251 | peerDependencies: 252 | eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 253 | 254 | "@eslint-community/regexpp@4.10.0": 255 | resolution: 256 | { integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA== } 257 | engines: { node: ^12.0.0 || ^14.0.0 || >=16.0.0 } 258 | 259 | "@eslint/eslintrc@2.1.4": 260 | resolution: 261 | { integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ== } 262 | engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } 263 | 264 | "@eslint/js@8.57.1": 265 | resolution: 266 | { integrity: sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q== } 267 | engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } 268 | 269 | "@halo-dev/theme-package-cli@1.0.0": 270 | resolution: 271 | { integrity: sha512-rblq0oE3r+ir9MmAomQN+GP/OW4jF2alFQrUoOGv/wibfCrhzhSPUkdeFcjpoRmIiwfl33DnSQGG8ruhrIWL2g== } 272 | hasBin: true 273 | 274 | "@humanwhocodes/config-array@0.13.0": 275 | resolution: 276 | { integrity: sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw== } 277 | engines: { node: ">=10.10.0" } 278 | deprecated: Use @eslint/config-array instead 279 | 280 | "@humanwhocodes/module-importer@1.0.1": 281 | resolution: 282 | { integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA== } 283 | engines: { node: ">=12.22" } 284 | 285 | "@humanwhocodes/object-schema@2.0.3": 286 | resolution: 287 | { integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA== } 288 | deprecated: Use @eslint/object-schema instead 289 | 290 | "@iconify-json/tabler@1.2.17": 291 | resolution: 292 | { integrity: sha512-Jfk20IC/n7UOQQSXM600BUhAwEfg8KU1dNUF+kg4eRhbET5w1Ktyax7CDx8Z8y0H6+J/8//AXpJOEgG8YoP8rw== } 293 | 294 | "@iconify/tailwind@0.1.4": 295 | resolution: 296 | { integrity: sha512-U7RzcU2fkwOfMDsGQ3mtpLIaApSnqb+vgcJJknPPbg8/NF5s7tI1o5otEMfcpnLGk4PbYB8bxmKTz7IJVUlU2Q== } 297 | 298 | "@iconify/types@2.0.0": 299 | resolution: 300 | { integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg== } 301 | 302 | "@isaacs/cliui@8.0.2": 303 | resolution: 304 | { integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA== } 305 | engines: { node: ">=12" } 306 | 307 | "@jridgewell/gen-mapping@0.3.3": 308 | resolution: 309 | { integrity: sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ== } 310 | engines: { node: ">=6.0.0" } 311 | 312 | "@jridgewell/resolve-uri@3.1.1": 313 | resolution: 314 | { integrity: sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA== } 315 | engines: { node: ">=6.0.0" } 316 | 317 | "@jridgewell/set-array@1.1.2": 318 | resolution: 319 | { integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw== } 320 | engines: { node: ">=6.0.0" } 321 | 322 | "@jridgewell/sourcemap-codec@1.4.15": 323 | resolution: 324 | { integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== } 325 | 326 | "@jridgewell/trace-mapping@0.3.20": 327 | resolution: 328 | { integrity: sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q== } 329 | 330 | "@nodelib/fs.scandir@2.1.5": 331 | resolution: 332 | { integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== } 333 | engines: { node: ">= 8" } 334 | 335 | "@nodelib/fs.stat@2.0.5": 336 | resolution: 337 | { integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== } 338 | engines: { node: ">= 8" } 339 | 340 | "@nodelib/fs.walk@1.2.8": 341 | resolution: 342 | { integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== } 343 | engines: { node: ">= 8" } 344 | 345 | "@pkgjs/parseargs@0.11.0": 346 | resolution: 347 | { integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg== } 348 | engines: { node: ">=14" } 349 | 350 | "@rollup/rollup-android-arm-eabi@4.39.0": 351 | resolution: 352 | { integrity: sha512-lGVys55Qb00Wvh8DMAocp5kIcaNzEFTmGhfFd88LfaogYTRKrdxgtlO5H6S49v2Nd8R2C6wLOal0qv6/kCkOwA== } 353 | cpu: [arm] 354 | os: [android] 355 | 356 | "@rollup/rollup-android-arm64@4.39.0": 357 | resolution: 358 | { integrity: sha512-It9+M1zE31KWfqh/0cJLrrsCPiF72PoJjIChLX+rEcujVRCb4NLQ5QzFkzIZW8Kn8FTbvGQBY5TkKBau3S8cCQ== } 359 | cpu: [arm64] 360 | os: [android] 361 | 362 | "@rollup/rollup-darwin-arm64@4.39.0": 363 | resolution: 364 | { integrity: sha512-lXQnhpFDOKDXiGxsU9/l8UEGGM65comrQuZ+lDcGUx+9YQ9dKpF3rSEGepyeR5AHZ0b5RgiligsBhWZfSSQh8Q== } 365 | cpu: [arm64] 366 | os: [darwin] 367 | 368 | "@rollup/rollup-darwin-x64@4.39.0": 369 | resolution: 370 | { integrity: sha512-mKXpNZLvtEbgu6WCkNij7CGycdw9cJi2k9v0noMb++Vab12GZjFgUXD69ilAbBh034Zwn95c2PNSz9xM7KYEAQ== } 371 | cpu: [x64] 372 | os: [darwin] 373 | 374 | "@rollup/rollup-freebsd-arm64@4.39.0": 375 | resolution: 376 | { integrity: sha512-jivRRlh2Lod/KvDZx2zUR+I4iBfHcu2V/BA2vasUtdtTN2Uk3jfcZczLa81ESHZHPHy4ih3T/W5rPFZ/hX7RtQ== } 377 | cpu: [arm64] 378 | os: [freebsd] 379 | 380 | "@rollup/rollup-freebsd-x64@4.39.0": 381 | resolution: 382 | { integrity: sha512-8RXIWvYIRK9nO+bhVz8DwLBepcptw633gv/QT4015CpJ0Ht8punmoHU/DuEd3iw9Hr8UwUV+t+VNNuZIWYeY7Q== } 383 | cpu: [x64] 384 | os: [freebsd] 385 | 386 | "@rollup/rollup-linux-arm-gnueabihf@4.39.0": 387 | resolution: 388 | { integrity: sha512-mz5POx5Zu58f2xAG5RaRRhp3IZDK7zXGk5sdEDj4o96HeaXhlUwmLFzNlc4hCQi5sGdR12VDgEUqVSHer0lI9g== } 389 | cpu: [arm] 390 | os: [linux] 391 | 392 | "@rollup/rollup-linux-arm-musleabihf@4.39.0": 393 | resolution: 394 | { integrity: sha512-+YDwhM6gUAyakl0CD+bMFpdmwIoRDzZYaTWV3SDRBGkMU/VpIBYXXEvkEcTagw/7VVkL2vA29zU4UVy1mP0/Yw== } 395 | cpu: [arm] 396 | os: [linux] 397 | 398 | "@rollup/rollup-linux-arm64-gnu@4.39.0": 399 | resolution: 400 | { integrity: sha512-EKf7iF7aK36eEChvlgxGnk7pdJfzfQbNvGV/+l98iiMwU23MwvmV0Ty3pJ0p5WQfm3JRHOytSIqD9LB7Bq7xdQ== } 401 | cpu: [arm64] 402 | os: [linux] 403 | 404 | "@rollup/rollup-linux-arm64-musl@4.39.0": 405 | resolution: 406 | { integrity: sha512-vYanR6MtqC7Z2SNr8gzVnzUul09Wi1kZqJaek3KcIlI/wq5Xtq4ZPIZ0Mr/st/sv/NnaPwy/D4yXg5x0B3aUUA== } 407 | cpu: [arm64] 408 | os: [linux] 409 | 410 | "@rollup/rollup-linux-loongarch64-gnu@4.39.0": 411 | resolution: 412 | { integrity: sha512-NMRUT40+h0FBa5fb+cpxtZoGAggRem16ocVKIv5gDB5uLDgBIwrIsXlGqYbLwW8YyO3WVTk1FkFDjMETYlDqiw== } 413 | cpu: [loong64] 414 | os: [linux] 415 | 416 | "@rollup/rollup-linux-powerpc64le-gnu@4.39.0": 417 | resolution: 418 | { integrity: sha512-0pCNnmxgduJ3YRt+D+kJ6Ai/r+TaePu9ZLENl+ZDV/CdVczXl95CbIiwwswu4L+K7uOIGf6tMo2vm8uadRaICQ== } 419 | cpu: [ppc64] 420 | os: [linux] 421 | 422 | "@rollup/rollup-linux-riscv64-gnu@4.39.0": 423 | resolution: 424 | { integrity: sha512-t7j5Zhr7S4bBtksT73bO6c3Qa2AV/HqiGlj9+KB3gNF5upcVkx+HLgxTm8DK4OkzsOYqbdqbLKwvGMhylJCPhQ== } 425 | cpu: [riscv64] 426 | os: [linux] 427 | 428 | "@rollup/rollup-linux-riscv64-musl@4.39.0": 429 | resolution: 430 | { integrity: sha512-m6cwI86IvQ7M93MQ2RF5SP8tUjD39Y7rjb1qjHgYh28uAPVU8+k/xYWvxRO3/tBN2pZkSMa5RjnPuUIbrwVxeA== } 431 | cpu: [riscv64] 432 | os: [linux] 433 | 434 | "@rollup/rollup-linux-s390x-gnu@4.39.0": 435 | resolution: 436 | { integrity: sha512-iRDJd2ebMunnk2rsSBYlsptCyuINvxUfGwOUldjv5M4tpa93K8tFMeYGpNk2+Nxl+OBJnBzy2/JCscGeO507kA== } 437 | cpu: [s390x] 438 | os: [linux] 439 | 440 | "@rollup/rollup-linux-x64-gnu@4.39.0": 441 | resolution: 442 | { integrity: sha512-t9jqYw27R6Lx0XKfEFe5vUeEJ5pF3SGIM6gTfONSMb7DuG6z6wfj2yjcoZxHg129veTqU7+wOhY6GX8wmf90dA== } 443 | cpu: [x64] 444 | os: [linux] 445 | 446 | "@rollup/rollup-linux-x64-musl@4.39.0": 447 | resolution: 448 | { integrity: sha512-ThFdkrFDP55AIsIZDKSBWEt/JcWlCzydbZHinZ0F/r1h83qbGeenCt/G/wG2O0reuENDD2tawfAj2s8VK7Bugg== } 449 | cpu: [x64] 450 | os: [linux] 451 | 452 | "@rollup/rollup-win32-arm64-msvc@4.39.0": 453 | resolution: 454 | { integrity: sha512-jDrLm6yUtbOg2TYB3sBF3acUnAwsIksEYjLeHL+TJv9jg+TmTwdyjnDex27jqEMakNKf3RwwPahDIt7QXCSqRQ== } 455 | cpu: [arm64] 456 | os: [win32] 457 | 458 | "@rollup/rollup-win32-ia32-msvc@4.39.0": 459 | resolution: 460 | { integrity: sha512-6w9uMuza+LbLCVoNKL5FSLE7yvYkq9laSd09bwS0tMjkwXrmib/4KmoJcrKhLWHvw19mwU+33ndC69T7weNNjQ== } 461 | cpu: [ia32] 462 | os: [win32] 463 | 464 | "@rollup/rollup-win32-x64-msvc@4.39.0": 465 | resolution: 466 | { integrity: sha512-yAkUOkIKZlK5dl7u6dg897doBgLXmUHhIINM2c+sND3DZwnrdQkkSiDh7N75Ll4mM4dxSkYfXqU9fW3lLkMFug== } 467 | cpu: [x64] 468 | os: [win32] 469 | 470 | "@tailwindcss/typography@0.5.16": 471 | resolution: 472 | { integrity: sha512-0wDLwCVF5V3x3b1SGXPCDcdsbDHMBe+lkFzBRaHeLvNi+nrrnZ1lA18u+OTWO8iSWU2GxUOCvlXtDuqftc1oiA== } 473 | peerDependencies: 474 | tailwindcss: ">=3.0.0 || insiders || >=4.0.0-alpha.20 || >=4.0.0-beta.1" 475 | 476 | "@types/alpinejs@3.13.11": 477 | resolution: 478 | { integrity: sha512-3KhGkDixCPiLdL3Z/ok1GxHwLxEWqQOKJccgaQL01wc0EVM2tCTaqlC3NIedmxAXkVzt/V6VTM8qPgnOHKJ1MA== } 479 | 480 | "@types/estree@1.0.7": 481 | resolution: 482 | { integrity: sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ== } 483 | 484 | "@types/json-schema@7.0.11": 485 | resolution: 486 | { integrity: sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ== } 487 | 488 | "@types/node@18.19.86": 489 | resolution: 490 | { integrity: sha512-fifKayi175wLyKyc5qUfyENhQ1dCNI1UNjp653d8kuYcPQN5JhX3dGuP/XmvPTg/xRBn1VTLpbmi+H/Mr7tLfQ== } 491 | 492 | "@types/semver@7.3.12": 493 | resolution: 494 | { integrity: sha512-WwA1MW0++RfXmCr12xeYOOC5baSC9mSb0ZqCquFzKhcoF4TvHu5MKOuXsncgZcpVFhB1pXd5hZmM0ryAoCp12A== } 495 | 496 | "@typescript-eslint/eslint-plugin@5.62.0": 497 | resolution: 498 | { integrity: sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag== } 499 | engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } 500 | peerDependencies: 501 | "@typescript-eslint/parser": ^5.0.0 502 | eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 503 | typescript: "*" 504 | peerDependenciesMeta: 505 | typescript: 506 | optional: true 507 | 508 | "@typescript-eslint/parser@5.62.0": 509 | resolution: 510 | { integrity: sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA== } 511 | engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } 512 | peerDependencies: 513 | eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 514 | typescript: "*" 515 | peerDependenciesMeta: 516 | typescript: 517 | optional: true 518 | 519 | "@typescript-eslint/scope-manager@5.62.0": 520 | resolution: 521 | { integrity: sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w== } 522 | engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } 523 | 524 | "@typescript-eslint/type-utils@5.62.0": 525 | resolution: 526 | { integrity: sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew== } 527 | engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } 528 | peerDependencies: 529 | eslint: "*" 530 | typescript: "*" 531 | peerDependenciesMeta: 532 | typescript: 533 | optional: true 534 | 535 | "@typescript-eslint/types@5.62.0": 536 | resolution: 537 | { integrity: sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ== } 538 | engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } 539 | 540 | "@typescript-eslint/typescript-estree@5.62.0": 541 | resolution: 542 | { integrity: sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA== } 543 | engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } 544 | peerDependencies: 545 | typescript: "*" 546 | peerDependenciesMeta: 547 | typescript: 548 | optional: true 549 | 550 | "@typescript-eslint/utils@5.62.0": 551 | resolution: 552 | { integrity: sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ== } 553 | engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } 554 | peerDependencies: 555 | eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 556 | 557 | "@typescript-eslint/visitor-keys@5.62.0": 558 | resolution: 559 | { integrity: sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw== } 560 | engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } 561 | 562 | "@ungap/structured-clone@1.2.0": 563 | resolution: 564 | { integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ== } 565 | 566 | "@vue/reactivity@3.1.5": 567 | resolution: 568 | { integrity: sha512-1tdfLmNjWG6t/CsPldh+foumYFo3cpyCHgBYQ34ylaMsJ+SNHQ1kApMIa8jN+i593zQuaw3AdWH0nJTARzCFhg== } 569 | 570 | "@vue/shared@3.1.5": 571 | resolution: 572 | { integrity: sha512-oJ4F3TnvpXaQwZJNF3ZK+kLPHKarDmJjJ6jyzVNDKH9md1dptjC7lWR//jrGuLdek/U6iltWxqAnYOu8gCiOvA== } 573 | 574 | abort-controller@3.0.0: 575 | resolution: 576 | { integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg== } 577 | engines: { node: ">=6.5" } 578 | 579 | acorn-jsx@5.3.2: 580 | resolution: 581 | { integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== } 582 | peerDependencies: 583 | acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 584 | 585 | acorn@8.11.2: 586 | resolution: 587 | { integrity: sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w== } 588 | engines: { node: ">=0.4.0" } 589 | hasBin: true 590 | 591 | ajv@6.12.6: 592 | resolution: 593 | { integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== } 594 | 595 | alpinejs@3.14.9: 596 | resolution: 597 | { integrity: sha512-gqSOhTEyryU9FhviNqiHBHzgjkvtukq9tevew29fTj+ofZtfsYriw4zPirHHOAy9bw8QoL3WGhyk7QqCh5AYlw== } 598 | 599 | ansi-escapes@7.0.0: 600 | resolution: 601 | { integrity: sha512-GdYO7a61mR0fOlAsvC9/rIHf7L96sBc6dEWzeOu+KAea5bZyQRPIpojrVoI4AXGJS/ycu/fBTdLrUkA4ODrvjw== } 602 | engines: { node: ">=18" } 603 | 604 | ansi-regex@5.0.1: 605 | resolution: 606 | { integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== } 607 | engines: { node: ">=8" } 608 | 609 | ansi-regex@6.0.1: 610 | resolution: 611 | { integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA== } 612 | engines: { node: ">=12" } 613 | 614 | ansi-styles@4.3.0: 615 | resolution: 616 | { integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== } 617 | engines: { node: ">=8" } 618 | 619 | ansi-styles@6.2.1: 620 | resolution: 621 | { integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug== } 622 | engines: { node: ">=12" } 623 | 624 | any-promise@1.3.0: 625 | resolution: 626 | { integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A== } 627 | 628 | anymatch@3.1.2: 629 | resolution: 630 | { integrity: sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg== } 631 | engines: { node: ">= 8" } 632 | 633 | archiver-utils@5.0.2: 634 | resolution: 635 | { integrity: sha512-wuLJMmIBQYCsGZgYLTy5FIB2pF6Lfb6cXMSF8Qywwk3t20zWnAi7zLcQFdKQmIB8wyZpY5ER38x08GbwtR2cLA== } 636 | engines: { node: ">= 14" } 637 | 638 | archiver@7.0.1: 639 | resolution: 640 | { integrity: sha512-ZcbTaIqJOfCc03QwD468Unz/5Ir8ATtvAHsK+FdXbDIbGfihqh9mrvdcYunQzqn4HrvWWaFyaxJhGZagaJJpPQ== } 641 | engines: { node: ">= 14" } 642 | 643 | arg@5.0.2: 644 | resolution: 645 | { integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg== } 646 | 647 | argparse@2.0.1: 648 | resolution: 649 | { integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== } 650 | 651 | array-union@2.1.0: 652 | resolution: 653 | { integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== } 654 | engines: { node: ">=8" } 655 | 656 | async@3.2.6: 657 | resolution: 658 | { integrity: sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA== } 659 | 660 | autoprefixer@10.4.21: 661 | resolution: 662 | { integrity: sha512-O+A6LWV5LDHSJD3LjHYoNi4VLsj/Whi7k6zG12xTYaU4cQ8oxQGckXNX8cRHK5yOZ/ppVHe0ZBXGzSV9jXdVbQ== } 663 | engines: { node: ^10 || ^12 || >=14 } 664 | hasBin: true 665 | peerDependencies: 666 | postcss: ^8.1.0 667 | 668 | b4a@1.6.7: 669 | resolution: 670 | { integrity: sha512-OnAYlL5b7LEkALw87fUVafQw5rVR9RjwGd4KUwNQ6DrrNmaVaUCgLipfVlzrPQ4tWOR9P0IXGNOx50jYCCdSJg== } 671 | 672 | balanced-match@1.0.2: 673 | resolution: 674 | { integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== } 675 | 676 | bare-events@2.5.4: 677 | resolution: 678 | { integrity: sha512-+gFfDkR8pj4/TrWCGUGWmJIkBwuxPS5F+a5yWjOHQt2hHvNZd5YLzadjmDUtFmMM4y429bnKLa8bYBMHcYdnQA== } 679 | 680 | base64-js@1.5.1: 681 | resolution: 682 | { integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== } 683 | 684 | binary-extensions@2.2.0: 685 | resolution: 686 | { integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== } 687 | engines: { node: ">=8" } 688 | 689 | brace-expansion@1.1.11: 690 | resolution: 691 | { integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== } 692 | 693 | brace-expansion@2.0.1: 694 | resolution: 695 | { integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA== } 696 | 697 | braces@3.0.2: 698 | resolution: 699 | { integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== } 700 | engines: { node: ">=8" } 701 | 702 | braces@3.0.3: 703 | resolution: 704 | { integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA== } 705 | engines: { node: ">=8" } 706 | 707 | browserslist@4.24.4: 708 | resolution: 709 | { integrity: sha512-KDi1Ny1gSePi1vm0q4oxSF8b4DR44GF4BbmS2YdhPLOEqd8pDviZOGH/GsmRwoWJ2+5Lr085X7naowMwKHDG1A== } 710 | engines: { node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7 } 711 | hasBin: true 712 | 713 | buffer-crc32@1.0.0: 714 | resolution: 715 | { integrity: sha512-Db1SbgBS/fg/392AblrMJk97KggmvYhr4pB5ZIMTWtaivCPMWLkmb7m21cJvpvgK+J3nsU2CmmixNBZx4vFj/w== } 716 | engines: { node: ">=8.0.0" } 717 | 718 | buffer@6.0.3: 719 | resolution: 720 | { integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA== } 721 | 722 | callsites@3.1.0: 723 | resolution: 724 | { integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== } 725 | engines: { node: ">=6" } 726 | 727 | camelcase-css@2.0.1: 728 | resolution: 729 | { integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA== } 730 | engines: { node: ">= 6" } 731 | 732 | caniuse-lite@1.0.30001709: 733 | resolution: 734 | { integrity: sha512-NgL3vUTnDrPCZ3zTahp4fsugQ4dc7EKTSzwQDPEel6DMoMnfH2jhry9n2Zm8onbSR+f/QtKHFOA+iAQu4kbtWA== } 735 | 736 | chalk@4.1.2: 737 | resolution: 738 | { integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== } 739 | engines: { node: ">=10" } 740 | 741 | chalk@5.4.1: 742 | resolution: 743 | { integrity: sha512-zgVZuo2WcZgfUEmsn6eO3kINexW8RAE4maiQ8QNs8CtpPCSyMiYsULR3HQYkm3w8FIA3SberyMJMSldGsW+U3w== } 744 | engines: { node: ^12.17.0 || ^14.13 || >=16.0.0 } 745 | 746 | chokidar@3.6.0: 747 | resolution: 748 | { integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw== } 749 | engines: { node: ">= 8.10.0" } 750 | 751 | cli-cursor@5.0.0: 752 | resolution: 753 | { integrity: sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw== } 754 | engines: { node: ">=18" } 755 | 756 | cli-truncate@4.0.0: 757 | resolution: 758 | { integrity: sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA== } 759 | engines: { node: ">=18" } 760 | 761 | color-convert@2.0.1: 762 | resolution: 763 | { integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== } 764 | engines: { node: ">=7.0.0" } 765 | 766 | color-name@1.1.4: 767 | resolution: 768 | { integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== } 769 | 770 | colorette@2.0.20: 771 | resolution: 772 | { integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w== } 773 | 774 | commander@13.1.0: 775 | resolution: 776 | { integrity: sha512-/rFeCpNJQbhSZjGVwO9RFV3xPqbnERS8MmIQzCtD/zl6gpJuV/bMLuN92oG3F7d8oDEHHRrujSXNUr8fpjntKw== } 777 | engines: { node: ">=18" } 778 | 779 | commander@4.1.1: 780 | resolution: 781 | { integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA== } 782 | engines: { node: ">= 6" } 783 | 784 | compress-commons@6.0.2: 785 | resolution: 786 | { integrity: sha512-6FqVXeETqWPoGcfzrXb37E50NP0LXT8kAMu5ooZayhWWdgEY4lBEEcbQNXtkuKQsGduxiIcI4gOTsxTmuq/bSg== } 787 | engines: { node: ">= 14" } 788 | 789 | concat-map@0.0.1: 790 | resolution: 791 | { integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== } 792 | 793 | core-util-is@1.0.3: 794 | resolution: 795 | { integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== } 796 | 797 | crc-32@1.2.2: 798 | resolution: 799 | { integrity: sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ== } 800 | engines: { node: ">=0.8" } 801 | hasBin: true 802 | 803 | crc32-stream@6.0.0: 804 | resolution: 805 | { integrity: sha512-piICUB6ei4IlTv1+653yq5+KoqfBYmj9bw6LqXoOneTMDXk5nM1qt12mFW1caG3LlJXEKW1Bp0WggEmIfQB34g== } 806 | engines: { node: ">= 14" } 807 | 808 | cross-spawn@7.0.3: 809 | resolution: 810 | { integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== } 811 | engines: { node: ">= 8" } 812 | 813 | cross-spawn@7.0.6: 814 | resolution: 815 | { integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA== } 816 | engines: { node: ">= 8" } 817 | 818 | cssesc@3.0.0: 819 | resolution: 820 | { integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== } 821 | engines: { node: ">=4" } 822 | hasBin: true 823 | 824 | debug@4.3.4: 825 | resolution: 826 | { integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== } 827 | engines: { node: ">=6.0" } 828 | peerDependencies: 829 | supports-color: "*" 830 | peerDependenciesMeta: 831 | supports-color: 832 | optional: true 833 | 834 | debug@4.4.0: 835 | resolution: 836 | { integrity: sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA== } 837 | engines: { node: ">=6.0" } 838 | peerDependencies: 839 | supports-color: "*" 840 | peerDependenciesMeta: 841 | supports-color: 842 | optional: true 843 | 844 | deep-is@0.1.4: 845 | resolution: 846 | { integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== } 847 | 848 | didyoumean@1.2.2: 849 | resolution: 850 | { integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw== } 851 | 852 | dir-glob@3.0.1: 853 | resolution: 854 | { integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== } 855 | engines: { node: ">=8" } 856 | 857 | dlv@1.1.3: 858 | resolution: 859 | { integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA== } 860 | 861 | doctrine@3.0.0: 862 | resolution: 863 | { integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== } 864 | engines: { node: ">=6.0.0" } 865 | 866 | eastasianwidth@0.2.0: 867 | resolution: 868 | { integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA== } 869 | 870 | electron-to-chromium@1.5.130: 871 | resolution: 872 | { integrity: sha512-Ou2u7L9j2XLZbhqzyX0jWDj6gA8D3jIfVzt4rikLf3cGBa0VdReuFimBKS9tQJA4+XpeCxj1NoWlfBXzbMa9IA== } 873 | 874 | emoji-regex@10.3.0: 875 | resolution: 876 | { integrity: sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw== } 877 | 878 | emoji-regex@8.0.0: 879 | resolution: 880 | { integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== } 881 | 882 | emoji-regex@9.2.2: 883 | resolution: 884 | { integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== } 885 | 886 | environment@1.1.0: 887 | resolution: 888 | { integrity: sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q== } 889 | engines: { node: ">=18" } 890 | 891 | esbuild@0.21.5: 892 | resolution: 893 | { integrity: sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw== } 894 | engines: { node: ">=12" } 895 | hasBin: true 896 | 897 | escalade@3.2.0: 898 | resolution: 899 | { integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA== } 900 | engines: { node: ">=6" } 901 | 902 | escape-string-regexp@4.0.0: 903 | resolution: 904 | { integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== } 905 | engines: { node: ">=10" } 906 | 907 | eslint-config-prettier@8.10.0: 908 | resolution: 909 | { integrity: sha512-SM8AMJdeQqRYT9O9zguiruQZaN7+z+E4eAP9oiLNGKMtomwaB1E9dcgUD6ZAn/eQAb52USbvezbiljfZUhbJcg== } 910 | hasBin: true 911 | peerDependencies: 912 | eslint: ">=7.0.0" 913 | 914 | eslint-plugin-prettier@4.2.1: 915 | resolution: 916 | { integrity: sha512-f/0rXLXUt0oFYs8ra4w49wYZBG5GKZpAYsJSm6rnYL5uVDjd+zowwMwVZHnAjf4edNrKpCDYfXDgmRE/Ak7QyQ== } 917 | engines: { node: ">=12.0.0" } 918 | peerDependencies: 919 | eslint: ">=7.28.0" 920 | eslint-config-prettier: "*" 921 | prettier: ">=2.0.0" 922 | peerDependenciesMeta: 923 | eslint-config-prettier: 924 | optional: true 925 | 926 | eslint-scope@5.1.1: 927 | resolution: 928 | { integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== } 929 | engines: { node: ">=8.0.0" } 930 | 931 | eslint-scope@7.2.2: 932 | resolution: 933 | { integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg== } 934 | engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } 935 | 936 | eslint-visitor-keys@3.4.3: 937 | resolution: 938 | { integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag== } 939 | engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } 940 | 941 | eslint@8.57.1: 942 | resolution: 943 | { integrity: sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA== } 944 | engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } 945 | deprecated: This version is no longer supported. Please see https://eslint.org/version-support for other options. 946 | hasBin: true 947 | 948 | espree@9.6.1: 949 | resolution: 950 | { integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ== } 951 | engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } 952 | 953 | esquery@1.5.0: 954 | resolution: 955 | { integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg== } 956 | engines: { node: ">=0.10" } 957 | 958 | esrecurse@4.3.0: 959 | resolution: 960 | { integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== } 961 | engines: { node: ">=4.0" } 962 | 963 | estraverse@4.3.0: 964 | resolution: 965 | { integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== } 966 | engines: { node: ">=4.0" } 967 | 968 | estraverse@5.3.0: 969 | resolution: 970 | { integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== } 971 | engines: { node: ">=4.0" } 972 | 973 | esutils@2.0.3: 974 | resolution: 975 | { integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== } 976 | engines: { node: ">=0.10.0" } 977 | 978 | event-target-shim@5.0.1: 979 | resolution: 980 | { integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ== } 981 | engines: { node: ">=6" } 982 | 983 | eventemitter3@5.0.1: 984 | resolution: 985 | { integrity: sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA== } 986 | 987 | events@3.3.0: 988 | resolution: 989 | { integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== } 990 | engines: { node: ">=0.8.x" } 991 | 992 | execa@8.0.1: 993 | resolution: 994 | { integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg== } 995 | engines: { node: ">=16.17" } 996 | 997 | fast-deep-equal@3.1.3: 998 | resolution: 999 | { integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== } 1000 | 1001 | fast-diff@1.2.0: 1002 | resolution: 1003 | { integrity: sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w== } 1004 | 1005 | fast-fifo@1.3.2: 1006 | resolution: 1007 | { integrity: sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ== } 1008 | 1009 | fast-glob@3.3.2: 1010 | resolution: 1011 | { integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow== } 1012 | engines: { node: ">=8.6.0" } 1013 | 1014 | fast-json-stable-stringify@2.1.0: 1015 | resolution: 1016 | { integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== } 1017 | 1018 | fast-levenshtein@2.0.6: 1019 | resolution: 1020 | { integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== } 1021 | 1022 | fastq@1.13.0: 1023 | resolution: 1024 | { integrity: sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw== } 1025 | 1026 | file-entry-cache@6.0.1: 1027 | resolution: 1028 | { integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg== } 1029 | engines: { node: ^10.12.0 || >=12.0.0 } 1030 | 1031 | fill-range@7.0.1: 1032 | resolution: 1033 | { integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== } 1034 | engines: { node: ">=8" } 1035 | 1036 | fill-range@7.1.1: 1037 | resolution: 1038 | { integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg== } 1039 | engines: { node: ">=8" } 1040 | 1041 | find-up@5.0.0: 1042 | resolution: 1043 | { integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== } 1044 | engines: { node: ">=10" } 1045 | 1046 | flat-cache@3.0.4: 1047 | resolution: 1048 | { integrity: sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg== } 1049 | engines: { node: ^10.12.0 || >=12.0.0 } 1050 | 1051 | flatted@3.2.7: 1052 | resolution: 1053 | { integrity: sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ== } 1054 | 1055 | foreground-child@3.3.1: 1056 | resolution: 1057 | { integrity: sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw== } 1058 | engines: { node: ">=14" } 1059 | 1060 | fraction.js@4.3.7: 1061 | resolution: 1062 | { integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew== } 1063 | 1064 | fs-extra@11.3.0: 1065 | resolution: 1066 | { integrity: sha512-Z4XaCL6dUDHfP/jT25jJKMmtxvuwbkrD1vNSMFlo9lNLY2c5FHYSQgHPRZUjAB26TpDEoW9HCOgplrdbaPV/ew== } 1067 | engines: { node: ">=14.14" } 1068 | 1069 | fs.realpath@1.0.0: 1070 | resolution: 1071 | { integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== } 1072 | 1073 | fsevents@2.3.3: 1074 | resolution: 1075 | { integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== } 1076 | engines: { node: ^8.16.0 || ^10.6.0 || >=11.0.0 } 1077 | os: [darwin] 1078 | 1079 | function-bind@1.1.2: 1080 | resolution: 1081 | { integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== } 1082 | 1083 | get-east-asian-width@1.2.0: 1084 | resolution: 1085 | { integrity: sha512-2nk+7SIVb14QrgXFHcm84tD4bKQz0RxPuMT8Ag5KPOq7J5fEmAg0UbXdTOSHqNuHSU28k55qnceesxXRZGzKWA== } 1086 | engines: { node: ">=18" } 1087 | 1088 | get-stream@8.0.1: 1089 | resolution: 1090 | { integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA== } 1091 | engines: { node: ">=16" } 1092 | 1093 | glob-parent@5.1.2: 1094 | resolution: 1095 | { integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== } 1096 | engines: { node: ">= 6" } 1097 | 1098 | glob-parent@6.0.2: 1099 | resolution: 1100 | { integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== } 1101 | engines: { node: ">=10.13.0" } 1102 | 1103 | glob@10.4.5: 1104 | resolution: 1105 | { integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg== } 1106 | hasBin: true 1107 | 1108 | glob@7.2.3: 1109 | resolution: 1110 | { integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== } 1111 | deprecated: Glob versions prior to v9 are no longer supported 1112 | 1113 | globals@13.23.0: 1114 | resolution: 1115 | { integrity: sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA== } 1116 | engines: { node: ">=8" } 1117 | 1118 | globby@11.1.0: 1119 | resolution: 1120 | { integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== } 1121 | engines: { node: ">=10" } 1122 | 1123 | graceful-fs@4.2.11: 1124 | resolution: 1125 | { integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== } 1126 | 1127 | graphemer@1.4.0: 1128 | resolution: 1129 | { integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag== } 1130 | 1131 | has-flag@4.0.0: 1132 | resolution: 1133 | { integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== } 1134 | engines: { node: ">=8" } 1135 | 1136 | hasown@2.0.0: 1137 | resolution: 1138 | { integrity: sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA== } 1139 | engines: { node: ">= 0.4" } 1140 | 1141 | human-signals@5.0.0: 1142 | resolution: 1143 | { integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ== } 1144 | engines: { node: ">=16.17.0" } 1145 | 1146 | husky@9.1.7: 1147 | resolution: 1148 | { integrity: sha512-5gs5ytaNjBrh5Ow3zrvdUUY+0VxIuWVL4i9irt6friV+BqdCfmV11CQTWMiBYWHbXhco+J1kHfTOUkePhCDvMA== } 1149 | engines: { node: ">=18" } 1150 | hasBin: true 1151 | 1152 | ieee754@1.2.1: 1153 | resolution: 1154 | { integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== } 1155 | 1156 | ignore@5.2.0: 1157 | resolution: 1158 | { integrity: sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ== } 1159 | engines: { node: ">= 4" } 1160 | 1161 | import-fresh@3.3.0: 1162 | resolution: 1163 | { integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== } 1164 | engines: { node: ">=6" } 1165 | 1166 | imurmurhash@0.1.4: 1167 | resolution: 1168 | { integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== } 1169 | engines: { node: ">=0.8.19" } 1170 | 1171 | inflight@1.0.6: 1172 | resolution: 1173 | { integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== } 1174 | deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. 1175 | 1176 | inherits@2.0.3: 1177 | resolution: 1178 | { integrity: sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw== } 1179 | 1180 | inherits@2.0.4: 1181 | resolution: 1182 | { integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== } 1183 | 1184 | is-binary-path@2.1.0: 1185 | resolution: 1186 | { integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== } 1187 | engines: { node: ">=8" } 1188 | 1189 | is-core-module@2.13.1: 1190 | resolution: 1191 | { integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw== } 1192 | 1193 | is-extglob@2.1.1: 1194 | resolution: 1195 | { integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== } 1196 | engines: { node: ">=0.10.0" } 1197 | 1198 | is-fullwidth-code-point@3.0.0: 1199 | resolution: 1200 | { integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== } 1201 | engines: { node: ">=8" } 1202 | 1203 | is-fullwidth-code-point@4.0.0: 1204 | resolution: 1205 | { integrity: sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ== } 1206 | engines: { node: ">=12" } 1207 | 1208 | is-fullwidth-code-point@5.0.0: 1209 | resolution: 1210 | { integrity: sha512-OVa3u9kkBbw7b8Xw5F9P+D/T9X+Z4+JruYVNapTjPYZYUznQ5YfWeFkOj606XYYW8yugTfC8Pj0hYqvi4ryAhA== } 1211 | engines: { node: ">=18" } 1212 | 1213 | is-glob@4.0.3: 1214 | resolution: 1215 | { integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== } 1216 | engines: { node: ">=0.10.0" } 1217 | 1218 | is-number@7.0.0: 1219 | resolution: 1220 | { integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== } 1221 | engines: { node: ">=0.12.0" } 1222 | 1223 | is-path-inside@3.0.3: 1224 | resolution: 1225 | { integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== } 1226 | engines: { node: ">=8" } 1227 | 1228 | is-stream@2.0.1: 1229 | resolution: 1230 | { integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== } 1231 | engines: { node: ">=8" } 1232 | 1233 | is-stream@3.0.0: 1234 | resolution: 1235 | { integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA== } 1236 | engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } 1237 | 1238 | isarray@1.0.0: 1239 | resolution: 1240 | { integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ== } 1241 | 1242 | isexe@2.0.0: 1243 | resolution: 1244 | { integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== } 1245 | 1246 | jackspeak@3.4.3: 1247 | resolution: 1248 | { integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw== } 1249 | 1250 | jiti@1.21.7: 1251 | resolution: 1252 | { integrity: sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A== } 1253 | hasBin: true 1254 | 1255 | js-yaml@4.1.0: 1256 | resolution: 1257 | { integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== } 1258 | hasBin: true 1259 | 1260 | json-schema-traverse@0.4.1: 1261 | resolution: 1262 | { integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== } 1263 | 1264 | json-stable-stringify-without-jsonify@1.0.1: 1265 | resolution: 1266 | { integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw== } 1267 | 1268 | jsonfile@6.1.0: 1269 | resolution: 1270 | { integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ== } 1271 | 1272 | lazystream@1.0.1: 1273 | resolution: 1274 | { integrity: sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw== } 1275 | engines: { node: ">= 0.6.3" } 1276 | 1277 | levn@0.4.1: 1278 | resolution: 1279 | { integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== } 1280 | engines: { node: ">= 0.8.0" } 1281 | 1282 | lilconfig@3.1.3: 1283 | resolution: 1284 | { integrity: sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw== } 1285 | engines: { node: ">=14" } 1286 | 1287 | lines-and-columns@1.2.4: 1288 | resolution: 1289 | { integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== } 1290 | 1291 | lint-staged@15.5.0: 1292 | resolution: 1293 | { integrity: sha512-WyCzSbfYGhK7cU+UuDDkzUiytbfbi0ZdPy2orwtM75P3WTtQBzmG40cCxIa8Ii2+XjfxzLH6Be46tUfWS85Xfg== } 1294 | engines: { node: ">=18.12.0" } 1295 | hasBin: true 1296 | 1297 | listr2@8.2.5: 1298 | resolution: 1299 | { integrity: sha512-iyAZCeyD+c1gPyE9qpFu8af0Y+MRtmKOncdGoA2S5EY8iFq99dmmvkNnHiWo+pj0s7yH7l3KPIgee77tKpXPWQ== } 1300 | engines: { node: ">=18.0.0" } 1301 | 1302 | locate-path@6.0.0: 1303 | resolution: 1304 | { integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== } 1305 | engines: { node: ">=10" } 1306 | 1307 | lodash.castarray@4.4.0: 1308 | resolution: 1309 | { integrity: sha512-aVx8ztPv7/2ULbArGJ2Y42bG1mEQ5mGjpdvrbJcJFU3TbYybe+QlLS4pst9zV52ymy2in1KpFPiZnAOATxD4+Q== } 1310 | 1311 | lodash.isplainobject@4.0.6: 1312 | resolution: 1313 | { integrity: sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA== } 1314 | 1315 | lodash.merge@4.6.2: 1316 | resolution: 1317 | { integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== } 1318 | 1319 | lodash@4.17.21: 1320 | resolution: 1321 | { integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== } 1322 | 1323 | log-update@6.1.0: 1324 | resolution: 1325 | { integrity: sha512-9ie8ItPR6tjY5uYJh8K/Zrv/RMZ5VOlOWvtZdEHYSTFKZfIBPQa9tOAEeAWhd+AnIneLJ22w5fjOYtoutpWq5w== } 1326 | engines: { node: ">=18" } 1327 | 1328 | lru-cache@10.4.3: 1329 | resolution: 1330 | { integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ== } 1331 | 1332 | lru-cache@6.0.0: 1333 | resolution: 1334 | { integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== } 1335 | engines: { node: ">=10" } 1336 | 1337 | merge-stream@2.0.0: 1338 | resolution: 1339 | { integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== } 1340 | 1341 | merge2@1.4.1: 1342 | resolution: 1343 | { integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== } 1344 | engines: { node: ">= 8" } 1345 | 1346 | micromatch@4.0.5: 1347 | resolution: 1348 | { integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== } 1349 | engines: { node: ">=8.6" } 1350 | 1351 | micromatch@4.0.8: 1352 | resolution: 1353 | { integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA== } 1354 | engines: { node: ">=8.6" } 1355 | 1356 | mimic-fn@4.0.0: 1357 | resolution: 1358 | { integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw== } 1359 | engines: { node: ">=12" } 1360 | 1361 | mimic-function@5.0.1: 1362 | resolution: 1363 | { integrity: sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA== } 1364 | engines: { node: ">=18" } 1365 | 1366 | minimatch@3.1.2: 1367 | resolution: 1368 | { integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== } 1369 | 1370 | minimatch@5.1.6: 1371 | resolution: 1372 | { integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g== } 1373 | engines: { node: ">=10" } 1374 | 1375 | minimatch@9.0.5: 1376 | resolution: 1377 | { integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow== } 1378 | engines: { node: ">=16 || 14 >=14.17" } 1379 | 1380 | minipass@7.1.2: 1381 | resolution: 1382 | { integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw== } 1383 | engines: { node: ">=16 || 14 >=14.17" } 1384 | 1385 | ms@2.1.2: 1386 | resolution: 1387 | { integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== } 1388 | 1389 | ms@2.1.3: 1390 | resolution: 1391 | { integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== } 1392 | 1393 | mz@2.7.0: 1394 | resolution: 1395 | { integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q== } 1396 | 1397 | nanoid@3.3.11: 1398 | resolution: 1399 | { integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w== } 1400 | engines: { node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1 } 1401 | hasBin: true 1402 | 1403 | natural-compare-lite@1.4.0: 1404 | resolution: 1405 | { integrity: sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g== } 1406 | 1407 | natural-compare@1.4.0: 1408 | resolution: 1409 | { integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== } 1410 | 1411 | node-releases@2.0.19: 1412 | resolution: 1413 | { integrity: sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw== } 1414 | 1415 | normalize-path@3.0.0: 1416 | resolution: 1417 | { integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== } 1418 | engines: { node: ">=0.10.0" } 1419 | 1420 | normalize-range@0.1.2: 1421 | resolution: 1422 | { integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA== } 1423 | engines: { node: ">=0.10.0" } 1424 | 1425 | npm-run-path@5.3.0: 1426 | resolution: 1427 | { integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ== } 1428 | engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } 1429 | 1430 | object-assign@4.1.1: 1431 | resolution: 1432 | { integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== } 1433 | engines: { node: ">=0.10.0" } 1434 | 1435 | object-hash@3.0.0: 1436 | resolution: 1437 | { integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw== } 1438 | engines: { node: ">= 6" } 1439 | 1440 | once@1.4.0: 1441 | resolution: 1442 | { integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== } 1443 | 1444 | onetime@6.0.0: 1445 | resolution: 1446 | { integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ== } 1447 | engines: { node: ">=12" } 1448 | 1449 | onetime@7.0.0: 1450 | resolution: 1451 | { integrity: sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ== } 1452 | engines: { node: ">=18" } 1453 | 1454 | optionator@0.9.3: 1455 | resolution: 1456 | { integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg== } 1457 | engines: { node: ">= 0.8.0" } 1458 | 1459 | p-limit@3.1.0: 1460 | resolution: 1461 | { integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== } 1462 | engines: { node: ">=10" } 1463 | 1464 | p-locate@5.0.0: 1465 | resolution: 1466 | { integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== } 1467 | engines: { node: ">=10" } 1468 | 1469 | package-json-from-dist@1.0.1: 1470 | resolution: 1471 | { integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw== } 1472 | 1473 | parent-module@1.0.1: 1474 | resolution: 1475 | { integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== } 1476 | engines: { node: ">=6" } 1477 | 1478 | path-exists@4.0.0: 1479 | resolution: 1480 | { integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== } 1481 | engines: { node: ">=8" } 1482 | 1483 | path-is-absolute@1.0.1: 1484 | resolution: 1485 | { integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== } 1486 | engines: { node: ">=0.10.0" } 1487 | 1488 | path-key@3.1.1: 1489 | resolution: 1490 | { integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== } 1491 | engines: { node: ">=8" } 1492 | 1493 | path-key@4.0.0: 1494 | resolution: 1495 | { integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ== } 1496 | engines: { node: ">=12" } 1497 | 1498 | path-parse@1.0.7: 1499 | resolution: 1500 | { integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== } 1501 | 1502 | path-scurry@1.11.1: 1503 | resolution: 1504 | { integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA== } 1505 | engines: { node: ">=16 || 14 >=14.18" } 1506 | 1507 | path-type@4.0.0: 1508 | resolution: 1509 | { integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== } 1510 | engines: { node: ">=8" } 1511 | 1512 | path@0.12.7: 1513 | resolution: 1514 | { integrity: sha512-aXXC6s+1w7otVF9UletFkFcDsJeO7lSZBPUQhtb5O0xJe8LtYhj/GxldoL09bBj9+ZmE2hNoHqQSFMN5fikh4Q== } 1515 | 1516 | picocolors@1.1.1: 1517 | resolution: 1518 | { integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA== } 1519 | 1520 | picomatch@2.3.1: 1521 | resolution: 1522 | { integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== } 1523 | engines: { node: ">=8.6" } 1524 | 1525 | pidtree@0.6.0: 1526 | resolution: 1527 | { integrity: sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g== } 1528 | engines: { node: ">=0.10" } 1529 | hasBin: true 1530 | 1531 | pify@2.3.0: 1532 | resolution: 1533 | { integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog== } 1534 | engines: { node: ">=0.10.0" } 1535 | 1536 | pirates@4.0.6: 1537 | resolution: 1538 | { integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg== } 1539 | engines: { node: ">= 6" } 1540 | 1541 | postcss-import@15.1.0: 1542 | resolution: 1543 | { integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew== } 1544 | engines: { node: ">=14.0.0" } 1545 | peerDependencies: 1546 | postcss: ^8.0.0 1547 | 1548 | postcss-js@4.0.1: 1549 | resolution: 1550 | { integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw== } 1551 | engines: { node: ^12 || ^14 || >= 16 } 1552 | peerDependencies: 1553 | postcss: ^8.4.21 1554 | 1555 | postcss-load-config@4.0.2: 1556 | resolution: 1557 | { integrity: sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ== } 1558 | engines: { node: ">= 14" } 1559 | peerDependencies: 1560 | postcss: ">=8.0.9" 1561 | ts-node: ">=9.0.0" 1562 | peerDependenciesMeta: 1563 | postcss: 1564 | optional: true 1565 | ts-node: 1566 | optional: true 1567 | 1568 | postcss-nested@6.2.0: 1569 | resolution: 1570 | { integrity: sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ== } 1571 | engines: { node: ">=12.0" } 1572 | peerDependencies: 1573 | postcss: ^8.2.14 1574 | 1575 | postcss-selector-parser@6.0.10: 1576 | resolution: 1577 | { integrity: sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w== } 1578 | engines: { node: ">=4" } 1579 | 1580 | postcss-selector-parser@6.1.2: 1581 | resolution: 1582 | { integrity: sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg== } 1583 | engines: { node: ">=4" } 1584 | 1585 | postcss-value-parser@4.2.0: 1586 | resolution: 1587 | { integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== } 1588 | 1589 | postcss@8.5.3: 1590 | resolution: 1591 | { integrity: sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A== } 1592 | engines: { node: ^10 || ^12 || >=14 } 1593 | 1594 | prelude-ls@1.2.1: 1595 | resolution: 1596 | { integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== } 1597 | engines: { node: ">= 0.8.0" } 1598 | 1599 | prettier-linter-helpers@1.0.0: 1600 | resolution: 1601 | { integrity: sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w== } 1602 | engines: { node: ">=6.0.0" } 1603 | 1604 | prettier-plugin-tailwindcss@0.1.13: 1605 | resolution: 1606 | { integrity: sha512-/EKQURUrxLu66CMUg4+1LwGdxnz8of7IDvrSLqEtDqhLH61SAlNNUSr90UTvZaemujgl3OH/VHg+fyGltrNixw== } 1607 | engines: { node: ">=12.17.0" } 1608 | peerDependencies: 1609 | prettier: ">=2.2.0" 1610 | 1611 | prettier@2.8.8: 1612 | resolution: 1613 | { integrity: sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q== } 1614 | engines: { node: ">=10.13.0" } 1615 | hasBin: true 1616 | 1617 | process-nextick-args@2.0.1: 1618 | resolution: 1619 | { integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== } 1620 | 1621 | process@0.11.10: 1622 | resolution: 1623 | { integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A== } 1624 | engines: { node: ">= 0.6.0" } 1625 | 1626 | punycode@2.1.1: 1627 | resolution: 1628 | { integrity: sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== } 1629 | engines: { node: ">=6" } 1630 | 1631 | queue-microtask@1.2.3: 1632 | resolution: 1633 | { integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== } 1634 | 1635 | read-cache@1.0.0: 1636 | resolution: 1637 | { integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA== } 1638 | 1639 | readable-stream@2.3.8: 1640 | resolution: 1641 | { integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA== } 1642 | 1643 | readable-stream@4.7.0: 1644 | resolution: 1645 | { integrity: sha512-oIGGmcpTLwPga8Bn6/Z75SVaH1z5dUut2ibSyAMVhmUggWpmDn2dapB0n7f8nwaSiRtepAsfJyfXIO5DCVAODg== } 1646 | engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } 1647 | 1648 | readdir-glob@1.1.3: 1649 | resolution: 1650 | { integrity: sha512-v05I2k7xN8zXvPD9N+z/uhXPaj0sUFCe2rcWZIpBsqxfP7xXFQ0tipAd/wjj1YxWyWtUS5IDJpOG82JKt2EAVA== } 1651 | 1652 | readdirp@3.6.0: 1653 | resolution: 1654 | { integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== } 1655 | engines: { node: ">=8.10.0" } 1656 | 1657 | resolve-from@4.0.0: 1658 | resolution: 1659 | { integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== } 1660 | engines: { node: ">=4" } 1661 | 1662 | resolve@1.22.8: 1663 | resolution: 1664 | { integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw== } 1665 | hasBin: true 1666 | 1667 | restore-cursor@5.1.0: 1668 | resolution: 1669 | { integrity: sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA== } 1670 | engines: { node: ">=18" } 1671 | 1672 | reusify@1.0.4: 1673 | resolution: 1674 | { integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== } 1675 | engines: { iojs: ">=1.0.0", node: ">=0.10.0" } 1676 | 1677 | rfdc@1.4.1: 1678 | resolution: 1679 | { integrity: sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA== } 1680 | 1681 | rimraf@3.0.2: 1682 | resolution: 1683 | { integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== } 1684 | deprecated: Rimraf versions prior to v4 are no longer supported 1685 | hasBin: true 1686 | 1687 | rollup@4.39.0: 1688 | resolution: 1689 | { integrity: sha512-thI8kNc02yNvnmJp8dr3fNWJ9tCONDhp6TV35X6HkKGGs9E6q7YWCHbe5vKiTa7TAiNcFEmXKj3X/pG2b3ci0g== } 1690 | engines: { node: ">=18.0.0", npm: ">=8.0.0" } 1691 | hasBin: true 1692 | 1693 | run-parallel@1.2.0: 1694 | resolution: 1695 | { integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== } 1696 | 1697 | safe-buffer@5.1.2: 1698 | resolution: 1699 | { integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== } 1700 | 1701 | safe-buffer@5.2.1: 1702 | resolution: 1703 | { integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== } 1704 | 1705 | semver@7.3.8: 1706 | resolution: 1707 | { integrity: sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A== } 1708 | engines: { node: ">=10" } 1709 | hasBin: true 1710 | 1711 | shebang-command@2.0.0: 1712 | resolution: 1713 | { integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== } 1714 | engines: { node: ">=8" } 1715 | 1716 | shebang-regex@3.0.0: 1717 | resolution: 1718 | { integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== } 1719 | engines: { node: ">=8" } 1720 | 1721 | signal-exit@4.1.0: 1722 | resolution: 1723 | { integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw== } 1724 | engines: { node: ">=14" } 1725 | 1726 | slash@3.0.0: 1727 | resolution: 1728 | { integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== } 1729 | engines: { node: ">=8" } 1730 | 1731 | slice-ansi@5.0.0: 1732 | resolution: 1733 | { integrity: sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ== } 1734 | engines: { node: ">=12" } 1735 | 1736 | slice-ansi@7.1.0: 1737 | resolution: 1738 | { integrity: sha512-bSiSngZ/jWeX93BqeIAbImyTbEihizcwNjFoRUIY/T1wWQsfsm2Vw1agPKylXvQTU7iASGdHhyqRlqQzfz+Htg== } 1739 | engines: { node: ">=18" } 1740 | 1741 | source-map-js@1.2.1: 1742 | resolution: 1743 | { integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA== } 1744 | engines: { node: ">=0.10.0" } 1745 | 1746 | streamx@2.22.0: 1747 | resolution: 1748 | { integrity: sha512-sLh1evHOzBy/iWRiR6d1zRcLao4gGZr3C1kzNz4fopCOKJb6xD9ub8Mpi9Mr1R6id5o43S+d93fI48UC5uM9aw== } 1749 | 1750 | string-argv@0.3.2: 1751 | resolution: 1752 | { integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q== } 1753 | engines: { node: ">=0.6.19" } 1754 | 1755 | string-width@4.2.3: 1756 | resolution: 1757 | { integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== } 1758 | engines: { node: ">=8" } 1759 | 1760 | string-width@5.1.2: 1761 | resolution: 1762 | { integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA== } 1763 | engines: { node: ">=12" } 1764 | 1765 | string-width@7.1.0: 1766 | resolution: 1767 | { integrity: sha512-SEIJCWiX7Kg4c129n48aDRwLbFb2LJmXXFrWBG4NGaRtMQ3myKPKbwrD1BKqQn74oCoNMBVrfDEr5M9YxCsrkw== } 1768 | engines: { node: ">=18" } 1769 | 1770 | string_decoder@1.1.1: 1771 | resolution: 1772 | { integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== } 1773 | 1774 | string_decoder@1.3.0: 1775 | resolution: 1776 | { integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== } 1777 | 1778 | strip-ansi@6.0.1: 1779 | resolution: 1780 | { integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== } 1781 | engines: { node: ">=8" } 1782 | 1783 | strip-ansi@7.1.0: 1784 | resolution: 1785 | { integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ== } 1786 | engines: { node: ">=12" } 1787 | 1788 | strip-final-newline@3.0.0: 1789 | resolution: 1790 | { integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw== } 1791 | engines: { node: ">=12" } 1792 | 1793 | strip-json-comments@3.1.1: 1794 | resolution: 1795 | { integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== } 1796 | engines: { node: ">=8" } 1797 | 1798 | sucrase@3.35.0: 1799 | resolution: 1800 | { integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA== } 1801 | engines: { node: ">=16 || 14 >=14.17" } 1802 | hasBin: true 1803 | 1804 | supports-color@7.2.0: 1805 | resolution: 1806 | { integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== } 1807 | engines: { node: ">=8" } 1808 | 1809 | supports-preserve-symlinks-flag@1.0.0: 1810 | resolution: 1811 | { integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== } 1812 | engines: { node: ">= 0.4" } 1813 | 1814 | tailwindcss@3.4.17: 1815 | resolution: 1816 | { integrity: sha512-w33E2aCvSDP0tW9RZuNXadXlkHXqFzSkQew/aIa2i/Sj8fThxwovwlXHSPXTbAHwEIhBFXAedUhP2tueAKP8Og== } 1817 | engines: { node: ">=14.0.0" } 1818 | hasBin: true 1819 | 1820 | tar-stream@3.1.7: 1821 | resolution: 1822 | { integrity: sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ== } 1823 | 1824 | text-decoder@1.2.3: 1825 | resolution: 1826 | { integrity: sha512-3/o9z3X0X0fTupwsYvR03pJ/DjWuqqrfwBgTQzdWDiQSm9KitAyz/9WqsT2JQW7KV2m+bC2ol/zqpW37NHxLaA== } 1827 | 1828 | text-table@0.2.0: 1829 | resolution: 1830 | { integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== } 1831 | 1832 | thenify-all@1.6.0: 1833 | resolution: 1834 | { integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA== } 1835 | engines: { node: ">=0.8" } 1836 | 1837 | thenify@3.3.1: 1838 | resolution: 1839 | { integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw== } 1840 | 1841 | to-regex-range@5.0.1: 1842 | resolution: 1843 | { integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== } 1844 | engines: { node: ">=8.0" } 1845 | 1846 | ts-interface-checker@0.1.13: 1847 | resolution: 1848 | { integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA== } 1849 | 1850 | tslib@1.14.1: 1851 | resolution: 1852 | { integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== } 1853 | 1854 | tsutils@3.21.0: 1855 | resolution: 1856 | { integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA== } 1857 | engines: { node: ">= 6" } 1858 | peerDependencies: 1859 | typescript: ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" 1860 | 1861 | type-check@0.4.0: 1862 | resolution: 1863 | { integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== } 1864 | engines: { node: ">= 0.8.0" } 1865 | 1866 | type-fest@0.20.2: 1867 | resolution: 1868 | { integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== } 1869 | engines: { node: ">=10" } 1870 | 1871 | typescript@4.9.5: 1872 | resolution: 1873 | { integrity: sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g== } 1874 | engines: { node: ">=4.2.0" } 1875 | hasBin: true 1876 | 1877 | undici-types@5.26.5: 1878 | resolution: 1879 | { integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA== } 1880 | 1881 | universalify@2.0.1: 1882 | resolution: 1883 | { integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw== } 1884 | engines: { node: ">= 10.0.0" } 1885 | 1886 | update-browserslist-db@1.1.3: 1887 | resolution: 1888 | { integrity: sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw== } 1889 | hasBin: true 1890 | peerDependencies: 1891 | browserslist: ">= 4.21.0" 1892 | 1893 | uri-js@4.4.1: 1894 | resolution: 1895 | { integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== } 1896 | 1897 | util-deprecate@1.0.2: 1898 | resolution: 1899 | { integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== } 1900 | 1901 | util@0.10.4: 1902 | resolution: 1903 | { integrity: sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A== } 1904 | 1905 | vite@5.4.16: 1906 | resolution: 1907 | { integrity: sha512-Y5gnfp4NemVfgOTDQAunSD4346fal44L9mszGGY/e+qxsRT5y1sMlS/8tiQ8AFAp+MFgYNSINdfEchJiPm41vQ== } 1908 | engines: { node: ^18.0.0 || >=20.0.0 } 1909 | hasBin: true 1910 | peerDependencies: 1911 | "@types/node": ^18.0.0 || >=20.0.0 1912 | less: "*" 1913 | lightningcss: ^1.21.0 1914 | sass: "*" 1915 | sass-embedded: "*" 1916 | stylus: "*" 1917 | sugarss: "*" 1918 | terser: ^5.4.0 1919 | peerDependenciesMeta: 1920 | "@types/node": 1921 | optional: true 1922 | less: 1923 | optional: true 1924 | lightningcss: 1925 | optional: true 1926 | sass: 1927 | optional: true 1928 | sass-embedded: 1929 | optional: true 1930 | stylus: 1931 | optional: true 1932 | sugarss: 1933 | optional: true 1934 | terser: 1935 | optional: true 1936 | 1937 | which@2.0.2: 1938 | resolution: 1939 | { integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== } 1940 | engines: { node: ">= 8" } 1941 | hasBin: true 1942 | 1943 | wrap-ansi@7.0.0: 1944 | resolution: 1945 | { integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== } 1946 | engines: { node: ">=10" } 1947 | 1948 | wrap-ansi@8.1.0: 1949 | resolution: 1950 | { integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ== } 1951 | engines: { node: ">=12" } 1952 | 1953 | wrap-ansi@9.0.0: 1954 | resolution: 1955 | { integrity: sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q== } 1956 | engines: { node: ">=18" } 1957 | 1958 | wrappy@1.0.2: 1959 | resolution: 1960 | { integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== } 1961 | 1962 | yallist@4.0.0: 1963 | resolution: 1964 | { integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== } 1965 | 1966 | yaml@2.3.4: 1967 | resolution: 1968 | { integrity: sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA== } 1969 | engines: { node: ">= 14" } 1970 | 1971 | yaml@2.7.1: 1972 | resolution: 1973 | { integrity: sha512-10ULxpnOCQXxJvBgxsn9ptjq6uviG/htZKk9veJGhlqn3w/DxQ631zFF+nlQXLwmImeS5amR2dl2U8sg6U9jsQ== } 1974 | engines: { node: ">= 14" } 1975 | hasBin: true 1976 | 1977 | yocto-queue@0.1.0: 1978 | resolution: 1979 | { integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== } 1980 | engines: { node: ">=10" } 1981 | 1982 | zip-stream@6.0.1: 1983 | resolution: 1984 | { integrity: sha512-zK7YHHz4ZXpW89AHXUPbQVGKI7uvkd3hzusTdotCg1UxyaVtg0zFJSTfW/Dq5f7OBBVnq6cZIaC8Ti4hb6dtCA== } 1985 | engines: { node: ">= 14" } 1986 | 1987 | snapshots: 1988 | "@aashutoshrathi/word-wrap@1.2.6": {} 1989 | 1990 | "@alloc/quick-lru@5.2.0": {} 1991 | 1992 | "@esbuild/aix-ppc64@0.21.5": 1993 | optional: true 1994 | 1995 | "@esbuild/android-arm64@0.21.5": 1996 | optional: true 1997 | 1998 | "@esbuild/android-arm@0.21.5": 1999 | optional: true 2000 | 2001 | "@esbuild/android-x64@0.21.5": 2002 | optional: true 2003 | 2004 | "@esbuild/darwin-arm64@0.21.5": 2005 | optional: true 2006 | 2007 | "@esbuild/darwin-x64@0.21.5": 2008 | optional: true 2009 | 2010 | "@esbuild/freebsd-arm64@0.21.5": 2011 | optional: true 2012 | 2013 | "@esbuild/freebsd-x64@0.21.5": 2014 | optional: true 2015 | 2016 | "@esbuild/linux-arm64@0.21.5": 2017 | optional: true 2018 | 2019 | "@esbuild/linux-arm@0.21.5": 2020 | optional: true 2021 | 2022 | "@esbuild/linux-ia32@0.21.5": 2023 | optional: true 2024 | 2025 | "@esbuild/linux-loong64@0.21.5": 2026 | optional: true 2027 | 2028 | "@esbuild/linux-mips64el@0.21.5": 2029 | optional: true 2030 | 2031 | "@esbuild/linux-ppc64@0.21.5": 2032 | optional: true 2033 | 2034 | "@esbuild/linux-riscv64@0.21.5": 2035 | optional: true 2036 | 2037 | "@esbuild/linux-s390x@0.21.5": 2038 | optional: true 2039 | 2040 | "@esbuild/linux-x64@0.21.5": 2041 | optional: true 2042 | 2043 | "@esbuild/netbsd-x64@0.21.5": 2044 | optional: true 2045 | 2046 | "@esbuild/openbsd-x64@0.21.5": 2047 | optional: true 2048 | 2049 | "@esbuild/sunos-x64@0.21.5": 2050 | optional: true 2051 | 2052 | "@esbuild/win32-arm64@0.21.5": 2053 | optional: true 2054 | 2055 | "@esbuild/win32-ia32@0.21.5": 2056 | optional: true 2057 | 2058 | "@esbuild/win32-x64@0.21.5": 2059 | optional: true 2060 | 2061 | "@eslint-community/eslint-utils@4.4.0(eslint@8.57.1)": 2062 | dependencies: 2063 | eslint: 8.57.1 2064 | eslint-visitor-keys: 3.4.3 2065 | 2066 | "@eslint-community/regexpp@4.10.0": {} 2067 | 2068 | "@eslint/eslintrc@2.1.4": 2069 | dependencies: 2070 | ajv: 6.12.6 2071 | debug: 4.3.4 2072 | espree: 9.6.1 2073 | globals: 13.23.0 2074 | ignore: 5.2.0 2075 | import-fresh: 3.3.0 2076 | js-yaml: 4.1.0 2077 | minimatch: 3.1.2 2078 | strip-json-comments: 3.1.1 2079 | transitivePeerDependencies: 2080 | - supports-color 2081 | 2082 | "@eslint/js@8.57.1": {} 2083 | 2084 | "@halo-dev/theme-package-cli@1.0.0": 2085 | dependencies: 2086 | archiver: 7.0.1 2087 | commander: 13.1.0 2088 | fs-extra: 11.3.0 2089 | js-yaml: 4.1.0 2090 | path: 0.12.7 2091 | 2092 | "@humanwhocodes/config-array@0.13.0": 2093 | dependencies: 2094 | "@humanwhocodes/object-schema": 2.0.3 2095 | debug: 4.3.4 2096 | minimatch: 3.1.2 2097 | transitivePeerDependencies: 2098 | - supports-color 2099 | 2100 | "@humanwhocodes/module-importer@1.0.1": {} 2101 | 2102 | "@humanwhocodes/object-schema@2.0.3": {} 2103 | 2104 | "@iconify-json/tabler@1.2.17": 2105 | dependencies: 2106 | "@iconify/types": 2.0.0 2107 | 2108 | "@iconify/tailwind@0.1.4": 2109 | dependencies: 2110 | "@iconify/types": 2.0.0 2111 | 2112 | "@iconify/types@2.0.0": {} 2113 | 2114 | "@isaacs/cliui@8.0.2": 2115 | dependencies: 2116 | string-width: 5.1.2 2117 | string-width-cjs: string-width@4.2.3 2118 | strip-ansi: 7.1.0 2119 | strip-ansi-cjs: strip-ansi@6.0.1 2120 | wrap-ansi: 8.1.0 2121 | wrap-ansi-cjs: wrap-ansi@7.0.0 2122 | 2123 | "@jridgewell/gen-mapping@0.3.3": 2124 | dependencies: 2125 | "@jridgewell/set-array": 1.1.2 2126 | "@jridgewell/sourcemap-codec": 1.4.15 2127 | "@jridgewell/trace-mapping": 0.3.20 2128 | 2129 | "@jridgewell/resolve-uri@3.1.1": {} 2130 | 2131 | "@jridgewell/set-array@1.1.2": {} 2132 | 2133 | "@jridgewell/sourcemap-codec@1.4.15": {} 2134 | 2135 | "@jridgewell/trace-mapping@0.3.20": 2136 | dependencies: 2137 | "@jridgewell/resolve-uri": 3.1.1 2138 | "@jridgewell/sourcemap-codec": 1.4.15 2139 | 2140 | "@nodelib/fs.scandir@2.1.5": 2141 | dependencies: 2142 | "@nodelib/fs.stat": 2.0.5 2143 | run-parallel: 1.2.0 2144 | 2145 | "@nodelib/fs.stat@2.0.5": {} 2146 | 2147 | "@nodelib/fs.walk@1.2.8": 2148 | dependencies: 2149 | "@nodelib/fs.scandir": 2.1.5 2150 | fastq: 1.13.0 2151 | 2152 | "@pkgjs/parseargs@0.11.0": 2153 | optional: true 2154 | 2155 | "@rollup/rollup-android-arm-eabi@4.39.0": 2156 | optional: true 2157 | 2158 | "@rollup/rollup-android-arm64@4.39.0": 2159 | optional: true 2160 | 2161 | "@rollup/rollup-darwin-arm64@4.39.0": 2162 | optional: true 2163 | 2164 | "@rollup/rollup-darwin-x64@4.39.0": 2165 | optional: true 2166 | 2167 | "@rollup/rollup-freebsd-arm64@4.39.0": 2168 | optional: true 2169 | 2170 | "@rollup/rollup-freebsd-x64@4.39.0": 2171 | optional: true 2172 | 2173 | "@rollup/rollup-linux-arm-gnueabihf@4.39.0": 2174 | optional: true 2175 | 2176 | "@rollup/rollup-linux-arm-musleabihf@4.39.0": 2177 | optional: true 2178 | 2179 | "@rollup/rollup-linux-arm64-gnu@4.39.0": 2180 | optional: true 2181 | 2182 | "@rollup/rollup-linux-arm64-musl@4.39.0": 2183 | optional: true 2184 | 2185 | "@rollup/rollup-linux-loongarch64-gnu@4.39.0": 2186 | optional: true 2187 | 2188 | "@rollup/rollup-linux-powerpc64le-gnu@4.39.0": 2189 | optional: true 2190 | 2191 | "@rollup/rollup-linux-riscv64-gnu@4.39.0": 2192 | optional: true 2193 | 2194 | "@rollup/rollup-linux-riscv64-musl@4.39.0": 2195 | optional: true 2196 | 2197 | "@rollup/rollup-linux-s390x-gnu@4.39.0": 2198 | optional: true 2199 | 2200 | "@rollup/rollup-linux-x64-gnu@4.39.0": 2201 | optional: true 2202 | 2203 | "@rollup/rollup-linux-x64-musl@4.39.0": 2204 | optional: true 2205 | 2206 | "@rollup/rollup-win32-arm64-msvc@4.39.0": 2207 | optional: true 2208 | 2209 | "@rollup/rollup-win32-ia32-msvc@4.39.0": 2210 | optional: true 2211 | 2212 | "@rollup/rollup-win32-x64-msvc@4.39.0": 2213 | optional: true 2214 | 2215 | "@tailwindcss/typography@0.5.16(tailwindcss@3.4.17)": 2216 | dependencies: 2217 | lodash.castarray: 4.4.0 2218 | lodash.isplainobject: 4.0.6 2219 | lodash.merge: 4.6.2 2220 | postcss-selector-parser: 6.0.10 2221 | tailwindcss: 3.4.17 2222 | 2223 | "@types/alpinejs@3.13.11": {} 2224 | 2225 | "@types/estree@1.0.7": {} 2226 | 2227 | "@types/json-schema@7.0.11": {} 2228 | 2229 | "@types/node@18.19.86": 2230 | dependencies: 2231 | undici-types: 5.26.5 2232 | 2233 | "@types/semver@7.3.12": {} 2234 | 2235 | "@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0(eslint@8.57.1)(typescript@4.9.5))(eslint@8.57.1)(typescript@4.9.5)": 2236 | dependencies: 2237 | "@eslint-community/regexpp": 4.10.0 2238 | "@typescript-eslint/parser": 5.62.0(eslint@8.57.1)(typescript@4.9.5) 2239 | "@typescript-eslint/scope-manager": 5.62.0 2240 | "@typescript-eslint/type-utils": 5.62.0(eslint@8.57.1)(typescript@4.9.5) 2241 | "@typescript-eslint/utils": 5.62.0(eslint@8.57.1)(typescript@4.9.5) 2242 | debug: 4.3.4 2243 | eslint: 8.57.1 2244 | graphemer: 1.4.0 2245 | ignore: 5.2.0 2246 | natural-compare-lite: 1.4.0 2247 | semver: 7.3.8 2248 | tsutils: 3.21.0(typescript@4.9.5) 2249 | optionalDependencies: 2250 | typescript: 4.9.5 2251 | transitivePeerDependencies: 2252 | - supports-color 2253 | 2254 | "@typescript-eslint/parser@5.62.0(eslint@8.57.1)(typescript@4.9.5)": 2255 | dependencies: 2256 | "@typescript-eslint/scope-manager": 5.62.0 2257 | "@typescript-eslint/types": 5.62.0 2258 | "@typescript-eslint/typescript-estree": 5.62.0(typescript@4.9.5) 2259 | debug: 4.3.4 2260 | eslint: 8.57.1 2261 | optionalDependencies: 2262 | typescript: 4.9.5 2263 | transitivePeerDependencies: 2264 | - supports-color 2265 | 2266 | "@typescript-eslint/scope-manager@5.62.0": 2267 | dependencies: 2268 | "@typescript-eslint/types": 5.62.0 2269 | "@typescript-eslint/visitor-keys": 5.62.0 2270 | 2271 | "@typescript-eslint/type-utils@5.62.0(eslint@8.57.1)(typescript@4.9.5)": 2272 | dependencies: 2273 | "@typescript-eslint/typescript-estree": 5.62.0(typescript@4.9.5) 2274 | "@typescript-eslint/utils": 5.62.0(eslint@8.57.1)(typescript@4.9.5) 2275 | debug: 4.3.4 2276 | eslint: 8.57.1 2277 | tsutils: 3.21.0(typescript@4.9.5) 2278 | optionalDependencies: 2279 | typescript: 4.9.5 2280 | transitivePeerDependencies: 2281 | - supports-color 2282 | 2283 | "@typescript-eslint/types@5.62.0": {} 2284 | 2285 | "@typescript-eslint/typescript-estree@5.62.0(typescript@4.9.5)": 2286 | dependencies: 2287 | "@typescript-eslint/types": 5.62.0 2288 | "@typescript-eslint/visitor-keys": 5.62.0 2289 | debug: 4.3.4 2290 | globby: 11.1.0 2291 | is-glob: 4.0.3 2292 | semver: 7.3.8 2293 | tsutils: 3.21.0(typescript@4.9.5) 2294 | optionalDependencies: 2295 | typescript: 4.9.5 2296 | transitivePeerDependencies: 2297 | - supports-color 2298 | 2299 | "@typescript-eslint/utils@5.62.0(eslint@8.57.1)(typescript@4.9.5)": 2300 | dependencies: 2301 | "@eslint-community/eslint-utils": 4.4.0(eslint@8.57.1) 2302 | "@types/json-schema": 7.0.11 2303 | "@types/semver": 7.3.12 2304 | "@typescript-eslint/scope-manager": 5.62.0 2305 | "@typescript-eslint/types": 5.62.0 2306 | "@typescript-eslint/typescript-estree": 5.62.0(typescript@4.9.5) 2307 | eslint: 8.57.1 2308 | eslint-scope: 5.1.1 2309 | semver: 7.3.8 2310 | transitivePeerDependencies: 2311 | - supports-color 2312 | - typescript 2313 | 2314 | "@typescript-eslint/visitor-keys@5.62.0": 2315 | dependencies: 2316 | "@typescript-eslint/types": 5.62.0 2317 | eslint-visitor-keys: 3.4.3 2318 | 2319 | "@ungap/structured-clone@1.2.0": {} 2320 | 2321 | "@vue/reactivity@3.1.5": 2322 | dependencies: 2323 | "@vue/shared": 3.1.5 2324 | 2325 | "@vue/shared@3.1.5": {} 2326 | 2327 | abort-controller@3.0.0: 2328 | dependencies: 2329 | event-target-shim: 5.0.1 2330 | 2331 | acorn-jsx@5.3.2(acorn@8.11.2): 2332 | dependencies: 2333 | acorn: 8.11.2 2334 | 2335 | acorn@8.11.2: {} 2336 | 2337 | ajv@6.12.6: 2338 | dependencies: 2339 | fast-deep-equal: 3.1.3 2340 | fast-json-stable-stringify: 2.1.0 2341 | json-schema-traverse: 0.4.1 2342 | uri-js: 4.4.1 2343 | 2344 | alpinejs@3.14.9: 2345 | dependencies: 2346 | "@vue/reactivity": 3.1.5 2347 | 2348 | ansi-escapes@7.0.0: 2349 | dependencies: 2350 | environment: 1.1.0 2351 | 2352 | ansi-regex@5.0.1: {} 2353 | 2354 | ansi-regex@6.0.1: {} 2355 | 2356 | ansi-styles@4.3.0: 2357 | dependencies: 2358 | color-convert: 2.0.1 2359 | 2360 | ansi-styles@6.2.1: {} 2361 | 2362 | any-promise@1.3.0: {} 2363 | 2364 | anymatch@3.1.2: 2365 | dependencies: 2366 | normalize-path: 3.0.0 2367 | picomatch: 2.3.1 2368 | 2369 | archiver-utils@5.0.2: 2370 | dependencies: 2371 | glob: 10.4.5 2372 | graceful-fs: 4.2.11 2373 | is-stream: 2.0.1 2374 | lazystream: 1.0.1 2375 | lodash: 4.17.21 2376 | normalize-path: 3.0.0 2377 | readable-stream: 4.7.0 2378 | 2379 | archiver@7.0.1: 2380 | dependencies: 2381 | archiver-utils: 5.0.2 2382 | async: 3.2.6 2383 | buffer-crc32: 1.0.0 2384 | readable-stream: 4.7.0 2385 | readdir-glob: 1.1.3 2386 | tar-stream: 3.1.7 2387 | zip-stream: 6.0.1 2388 | 2389 | arg@5.0.2: {} 2390 | 2391 | argparse@2.0.1: {} 2392 | 2393 | array-union@2.1.0: {} 2394 | 2395 | async@3.2.6: {} 2396 | 2397 | autoprefixer@10.4.21(postcss@8.5.3): 2398 | dependencies: 2399 | browserslist: 4.24.4 2400 | caniuse-lite: 1.0.30001709 2401 | fraction.js: 4.3.7 2402 | normalize-range: 0.1.2 2403 | picocolors: 1.1.1 2404 | postcss: 8.5.3 2405 | postcss-value-parser: 4.2.0 2406 | 2407 | b4a@1.6.7: {} 2408 | 2409 | balanced-match@1.0.2: {} 2410 | 2411 | bare-events@2.5.4: 2412 | optional: true 2413 | 2414 | base64-js@1.5.1: {} 2415 | 2416 | binary-extensions@2.2.0: {} 2417 | 2418 | brace-expansion@1.1.11: 2419 | dependencies: 2420 | balanced-match: 1.0.2 2421 | concat-map: 0.0.1 2422 | 2423 | brace-expansion@2.0.1: 2424 | dependencies: 2425 | balanced-match: 1.0.2 2426 | 2427 | braces@3.0.2: 2428 | dependencies: 2429 | fill-range: 7.0.1 2430 | 2431 | braces@3.0.3: 2432 | dependencies: 2433 | fill-range: 7.1.1 2434 | 2435 | browserslist@4.24.4: 2436 | dependencies: 2437 | caniuse-lite: 1.0.30001709 2438 | electron-to-chromium: 1.5.130 2439 | node-releases: 2.0.19 2440 | update-browserslist-db: 1.1.3(browserslist@4.24.4) 2441 | 2442 | buffer-crc32@1.0.0: {} 2443 | 2444 | buffer@6.0.3: 2445 | dependencies: 2446 | base64-js: 1.5.1 2447 | ieee754: 1.2.1 2448 | 2449 | callsites@3.1.0: {} 2450 | 2451 | camelcase-css@2.0.1: {} 2452 | 2453 | caniuse-lite@1.0.30001709: {} 2454 | 2455 | chalk@4.1.2: 2456 | dependencies: 2457 | ansi-styles: 4.3.0 2458 | supports-color: 7.2.0 2459 | 2460 | chalk@5.4.1: {} 2461 | 2462 | chokidar@3.6.0: 2463 | dependencies: 2464 | anymatch: 3.1.2 2465 | braces: 3.0.2 2466 | glob-parent: 5.1.2 2467 | is-binary-path: 2.1.0 2468 | is-glob: 4.0.3 2469 | normalize-path: 3.0.0 2470 | readdirp: 3.6.0 2471 | optionalDependencies: 2472 | fsevents: 2.3.3 2473 | 2474 | cli-cursor@5.0.0: 2475 | dependencies: 2476 | restore-cursor: 5.1.0 2477 | 2478 | cli-truncate@4.0.0: 2479 | dependencies: 2480 | slice-ansi: 5.0.0 2481 | string-width: 7.1.0 2482 | 2483 | color-convert@2.0.1: 2484 | dependencies: 2485 | color-name: 1.1.4 2486 | 2487 | color-name@1.1.4: {} 2488 | 2489 | colorette@2.0.20: {} 2490 | 2491 | commander@13.1.0: {} 2492 | 2493 | commander@4.1.1: {} 2494 | 2495 | compress-commons@6.0.2: 2496 | dependencies: 2497 | crc-32: 1.2.2 2498 | crc32-stream: 6.0.0 2499 | is-stream: 2.0.1 2500 | normalize-path: 3.0.0 2501 | readable-stream: 4.7.0 2502 | 2503 | concat-map@0.0.1: {} 2504 | 2505 | core-util-is@1.0.3: {} 2506 | 2507 | crc-32@1.2.2: {} 2508 | 2509 | crc32-stream@6.0.0: 2510 | dependencies: 2511 | crc-32: 1.2.2 2512 | readable-stream: 4.7.0 2513 | 2514 | cross-spawn@7.0.3: 2515 | dependencies: 2516 | path-key: 3.1.1 2517 | shebang-command: 2.0.0 2518 | which: 2.0.2 2519 | 2520 | cross-spawn@7.0.6: 2521 | dependencies: 2522 | path-key: 3.1.1 2523 | shebang-command: 2.0.0 2524 | which: 2.0.2 2525 | 2526 | cssesc@3.0.0: {} 2527 | 2528 | debug@4.3.4: 2529 | dependencies: 2530 | ms: 2.1.2 2531 | 2532 | debug@4.4.0: 2533 | dependencies: 2534 | ms: 2.1.3 2535 | 2536 | deep-is@0.1.4: {} 2537 | 2538 | didyoumean@1.2.2: {} 2539 | 2540 | dir-glob@3.0.1: 2541 | dependencies: 2542 | path-type: 4.0.0 2543 | 2544 | dlv@1.1.3: {} 2545 | 2546 | doctrine@3.0.0: 2547 | dependencies: 2548 | esutils: 2.0.3 2549 | 2550 | eastasianwidth@0.2.0: {} 2551 | 2552 | electron-to-chromium@1.5.130: {} 2553 | 2554 | emoji-regex@10.3.0: {} 2555 | 2556 | emoji-regex@8.0.0: {} 2557 | 2558 | emoji-regex@9.2.2: {} 2559 | 2560 | environment@1.1.0: {} 2561 | 2562 | esbuild@0.21.5: 2563 | optionalDependencies: 2564 | "@esbuild/aix-ppc64": 0.21.5 2565 | "@esbuild/android-arm": 0.21.5 2566 | "@esbuild/android-arm64": 0.21.5 2567 | "@esbuild/android-x64": 0.21.5 2568 | "@esbuild/darwin-arm64": 0.21.5 2569 | "@esbuild/darwin-x64": 0.21.5 2570 | "@esbuild/freebsd-arm64": 0.21.5 2571 | "@esbuild/freebsd-x64": 0.21.5 2572 | "@esbuild/linux-arm": 0.21.5 2573 | "@esbuild/linux-arm64": 0.21.5 2574 | "@esbuild/linux-ia32": 0.21.5 2575 | "@esbuild/linux-loong64": 0.21.5 2576 | "@esbuild/linux-mips64el": 0.21.5 2577 | "@esbuild/linux-ppc64": 0.21.5 2578 | "@esbuild/linux-riscv64": 0.21.5 2579 | "@esbuild/linux-s390x": 0.21.5 2580 | "@esbuild/linux-x64": 0.21.5 2581 | "@esbuild/netbsd-x64": 0.21.5 2582 | "@esbuild/openbsd-x64": 0.21.5 2583 | "@esbuild/sunos-x64": 0.21.5 2584 | "@esbuild/win32-arm64": 0.21.5 2585 | "@esbuild/win32-ia32": 0.21.5 2586 | "@esbuild/win32-x64": 0.21.5 2587 | 2588 | escalade@3.2.0: {} 2589 | 2590 | escape-string-regexp@4.0.0: {} 2591 | 2592 | eslint-config-prettier@8.10.0(eslint@8.57.1): 2593 | dependencies: 2594 | eslint: 8.57.1 2595 | 2596 | eslint-plugin-prettier@4.2.1(eslint-config-prettier@8.10.0(eslint@8.57.1))(eslint@8.57.1)(prettier@2.8.8): 2597 | dependencies: 2598 | eslint: 8.57.1 2599 | prettier: 2.8.8 2600 | prettier-linter-helpers: 1.0.0 2601 | optionalDependencies: 2602 | eslint-config-prettier: 8.10.0(eslint@8.57.1) 2603 | 2604 | eslint-scope@5.1.1: 2605 | dependencies: 2606 | esrecurse: 4.3.0 2607 | estraverse: 4.3.0 2608 | 2609 | eslint-scope@7.2.2: 2610 | dependencies: 2611 | esrecurse: 4.3.0 2612 | estraverse: 5.3.0 2613 | 2614 | eslint-visitor-keys@3.4.3: {} 2615 | 2616 | eslint@8.57.1: 2617 | dependencies: 2618 | "@eslint-community/eslint-utils": 4.4.0(eslint@8.57.1) 2619 | "@eslint-community/regexpp": 4.10.0 2620 | "@eslint/eslintrc": 2.1.4 2621 | "@eslint/js": 8.57.1 2622 | "@humanwhocodes/config-array": 0.13.0 2623 | "@humanwhocodes/module-importer": 1.0.1 2624 | "@nodelib/fs.walk": 1.2.8 2625 | "@ungap/structured-clone": 1.2.0 2626 | ajv: 6.12.6 2627 | chalk: 4.1.2 2628 | cross-spawn: 7.0.3 2629 | debug: 4.3.4 2630 | doctrine: 3.0.0 2631 | escape-string-regexp: 4.0.0 2632 | eslint-scope: 7.2.2 2633 | eslint-visitor-keys: 3.4.3 2634 | espree: 9.6.1 2635 | esquery: 1.5.0 2636 | esutils: 2.0.3 2637 | fast-deep-equal: 3.1.3 2638 | file-entry-cache: 6.0.1 2639 | find-up: 5.0.0 2640 | glob-parent: 6.0.2 2641 | globals: 13.23.0 2642 | graphemer: 1.4.0 2643 | ignore: 5.2.0 2644 | imurmurhash: 0.1.4 2645 | is-glob: 4.0.3 2646 | is-path-inside: 3.0.3 2647 | js-yaml: 4.1.0 2648 | json-stable-stringify-without-jsonify: 1.0.1 2649 | levn: 0.4.1 2650 | lodash.merge: 4.6.2 2651 | minimatch: 3.1.2 2652 | natural-compare: 1.4.0 2653 | optionator: 0.9.3 2654 | strip-ansi: 6.0.1 2655 | text-table: 0.2.0 2656 | transitivePeerDependencies: 2657 | - supports-color 2658 | 2659 | espree@9.6.1: 2660 | dependencies: 2661 | acorn: 8.11.2 2662 | acorn-jsx: 5.3.2(acorn@8.11.2) 2663 | eslint-visitor-keys: 3.4.3 2664 | 2665 | esquery@1.5.0: 2666 | dependencies: 2667 | estraverse: 5.3.0 2668 | 2669 | esrecurse@4.3.0: 2670 | dependencies: 2671 | estraverse: 5.3.0 2672 | 2673 | estraverse@4.3.0: {} 2674 | 2675 | estraverse@5.3.0: {} 2676 | 2677 | esutils@2.0.3: {} 2678 | 2679 | event-target-shim@5.0.1: {} 2680 | 2681 | eventemitter3@5.0.1: {} 2682 | 2683 | events@3.3.0: {} 2684 | 2685 | execa@8.0.1: 2686 | dependencies: 2687 | cross-spawn: 7.0.3 2688 | get-stream: 8.0.1 2689 | human-signals: 5.0.0 2690 | is-stream: 3.0.0 2691 | merge-stream: 2.0.0 2692 | npm-run-path: 5.3.0 2693 | onetime: 6.0.0 2694 | signal-exit: 4.1.0 2695 | strip-final-newline: 3.0.0 2696 | 2697 | fast-deep-equal@3.1.3: {} 2698 | 2699 | fast-diff@1.2.0: {} 2700 | 2701 | fast-fifo@1.3.2: {} 2702 | 2703 | fast-glob@3.3.2: 2704 | dependencies: 2705 | "@nodelib/fs.stat": 2.0.5 2706 | "@nodelib/fs.walk": 1.2.8 2707 | glob-parent: 5.1.2 2708 | merge2: 1.4.1 2709 | micromatch: 4.0.5 2710 | 2711 | fast-json-stable-stringify@2.1.0: {} 2712 | 2713 | fast-levenshtein@2.0.6: {} 2714 | 2715 | fastq@1.13.0: 2716 | dependencies: 2717 | reusify: 1.0.4 2718 | 2719 | file-entry-cache@6.0.1: 2720 | dependencies: 2721 | flat-cache: 3.0.4 2722 | 2723 | fill-range@7.0.1: 2724 | dependencies: 2725 | to-regex-range: 5.0.1 2726 | 2727 | fill-range@7.1.1: 2728 | dependencies: 2729 | to-regex-range: 5.0.1 2730 | 2731 | find-up@5.0.0: 2732 | dependencies: 2733 | locate-path: 6.0.0 2734 | path-exists: 4.0.0 2735 | 2736 | flat-cache@3.0.4: 2737 | dependencies: 2738 | flatted: 3.2.7 2739 | rimraf: 3.0.2 2740 | 2741 | flatted@3.2.7: {} 2742 | 2743 | foreground-child@3.3.1: 2744 | dependencies: 2745 | cross-spawn: 7.0.6 2746 | signal-exit: 4.1.0 2747 | 2748 | fraction.js@4.3.7: {} 2749 | 2750 | fs-extra@11.3.0: 2751 | dependencies: 2752 | graceful-fs: 4.2.11 2753 | jsonfile: 6.1.0 2754 | universalify: 2.0.1 2755 | 2756 | fs.realpath@1.0.0: {} 2757 | 2758 | fsevents@2.3.3: 2759 | optional: true 2760 | 2761 | function-bind@1.1.2: {} 2762 | 2763 | get-east-asian-width@1.2.0: {} 2764 | 2765 | get-stream@8.0.1: {} 2766 | 2767 | glob-parent@5.1.2: 2768 | dependencies: 2769 | is-glob: 4.0.3 2770 | 2771 | glob-parent@6.0.2: 2772 | dependencies: 2773 | is-glob: 4.0.3 2774 | 2775 | glob@10.4.5: 2776 | dependencies: 2777 | foreground-child: 3.3.1 2778 | jackspeak: 3.4.3 2779 | minimatch: 9.0.5 2780 | minipass: 7.1.2 2781 | package-json-from-dist: 1.0.1 2782 | path-scurry: 1.11.1 2783 | 2784 | glob@7.2.3: 2785 | dependencies: 2786 | fs.realpath: 1.0.0 2787 | inflight: 1.0.6 2788 | inherits: 2.0.4 2789 | minimatch: 3.1.2 2790 | once: 1.4.0 2791 | path-is-absolute: 1.0.1 2792 | 2793 | globals@13.23.0: 2794 | dependencies: 2795 | type-fest: 0.20.2 2796 | 2797 | globby@11.1.0: 2798 | dependencies: 2799 | array-union: 2.1.0 2800 | dir-glob: 3.0.1 2801 | fast-glob: 3.3.2 2802 | ignore: 5.2.0 2803 | merge2: 1.4.1 2804 | slash: 3.0.0 2805 | 2806 | graceful-fs@4.2.11: {} 2807 | 2808 | graphemer@1.4.0: {} 2809 | 2810 | has-flag@4.0.0: {} 2811 | 2812 | hasown@2.0.0: 2813 | dependencies: 2814 | function-bind: 1.1.2 2815 | 2816 | human-signals@5.0.0: {} 2817 | 2818 | husky@9.1.7: {} 2819 | 2820 | ieee754@1.2.1: {} 2821 | 2822 | ignore@5.2.0: {} 2823 | 2824 | import-fresh@3.3.0: 2825 | dependencies: 2826 | parent-module: 1.0.1 2827 | resolve-from: 4.0.0 2828 | 2829 | imurmurhash@0.1.4: {} 2830 | 2831 | inflight@1.0.6: 2832 | dependencies: 2833 | once: 1.4.0 2834 | wrappy: 1.0.2 2835 | 2836 | inherits@2.0.3: {} 2837 | 2838 | inherits@2.0.4: {} 2839 | 2840 | is-binary-path@2.1.0: 2841 | dependencies: 2842 | binary-extensions: 2.2.0 2843 | 2844 | is-core-module@2.13.1: 2845 | dependencies: 2846 | hasown: 2.0.0 2847 | 2848 | is-extglob@2.1.1: {} 2849 | 2850 | is-fullwidth-code-point@3.0.0: {} 2851 | 2852 | is-fullwidth-code-point@4.0.0: {} 2853 | 2854 | is-fullwidth-code-point@5.0.0: 2855 | dependencies: 2856 | get-east-asian-width: 1.2.0 2857 | 2858 | is-glob@4.0.3: 2859 | dependencies: 2860 | is-extglob: 2.1.1 2861 | 2862 | is-number@7.0.0: {} 2863 | 2864 | is-path-inside@3.0.3: {} 2865 | 2866 | is-stream@2.0.1: {} 2867 | 2868 | is-stream@3.0.0: {} 2869 | 2870 | isarray@1.0.0: {} 2871 | 2872 | isexe@2.0.0: {} 2873 | 2874 | jackspeak@3.4.3: 2875 | dependencies: 2876 | "@isaacs/cliui": 8.0.2 2877 | optionalDependencies: 2878 | "@pkgjs/parseargs": 0.11.0 2879 | 2880 | jiti@1.21.7: {} 2881 | 2882 | js-yaml@4.1.0: 2883 | dependencies: 2884 | argparse: 2.0.1 2885 | 2886 | json-schema-traverse@0.4.1: {} 2887 | 2888 | json-stable-stringify-without-jsonify@1.0.1: {} 2889 | 2890 | jsonfile@6.1.0: 2891 | dependencies: 2892 | universalify: 2.0.1 2893 | optionalDependencies: 2894 | graceful-fs: 4.2.11 2895 | 2896 | lazystream@1.0.1: 2897 | dependencies: 2898 | readable-stream: 2.3.8 2899 | 2900 | levn@0.4.1: 2901 | dependencies: 2902 | prelude-ls: 1.2.1 2903 | type-check: 0.4.0 2904 | 2905 | lilconfig@3.1.3: {} 2906 | 2907 | lines-and-columns@1.2.4: {} 2908 | 2909 | lint-staged@15.5.0: 2910 | dependencies: 2911 | chalk: 5.4.1 2912 | commander: 13.1.0 2913 | debug: 4.4.0 2914 | execa: 8.0.1 2915 | lilconfig: 3.1.3 2916 | listr2: 8.2.5 2917 | micromatch: 4.0.8 2918 | pidtree: 0.6.0 2919 | string-argv: 0.3.2 2920 | yaml: 2.7.1 2921 | transitivePeerDependencies: 2922 | - supports-color 2923 | 2924 | listr2@8.2.5: 2925 | dependencies: 2926 | cli-truncate: 4.0.0 2927 | colorette: 2.0.20 2928 | eventemitter3: 5.0.1 2929 | log-update: 6.1.0 2930 | rfdc: 1.4.1 2931 | wrap-ansi: 9.0.0 2932 | 2933 | locate-path@6.0.0: 2934 | dependencies: 2935 | p-locate: 5.0.0 2936 | 2937 | lodash.castarray@4.4.0: {} 2938 | 2939 | lodash.isplainobject@4.0.6: {} 2940 | 2941 | lodash.merge@4.6.2: {} 2942 | 2943 | lodash@4.17.21: {} 2944 | 2945 | log-update@6.1.0: 2946 | dependencies: 2947 | ansi-escapes: 7.0.0 2948 | cli-cursor: 5.0.0 2949 | slice-ansi: 7.1.0 2950 | strip-ansi: 7.1.0 2951 | wrap-ansi: 9.0.0 2952 | 2953 | lru-cache@10.4.3: {} 2954 | 2955 | lru-cache@6.0.0: 2956 | dependencies: 2957 | yallist: 4.0.0 2958 | 2959 | merge-stream@2.0.0: {} 2960 | 2961 | merge2@1.4.1: {} 2962 | 2963 | micromatch@4.0.5: 2964 | dependencies: 2965 | braces: 3.0.2 2966 | picomatch: 2.3.1 2967 | 2968 | micromatch@4.0.8: 2969 | dependencies: 2970 | braces: 3.0.3 2971 | picomatch: 2.3.1 2972 | 2973 | mimic-fn@4.0.0: {} 2974 | 2975 | mimic-function@5.0.1: {} 2976 | 2977 | minimatch@3.1.2: 2978 | dependencies: 2979 | brace-expansion: 1.1.11 2980 | 2981 | minimatch@5.1.6: 2982 | dependencies: 2983 | brace-expansion: 2.0.1 2984 | 2985 | minimatch@9.0.5: 2986 | dependencies: 2987 | brace-expansion: 2.0.1 2988 | 2989 | minipass@7.1.2: {} 2990 | 2991 | ms@2.1.2: {} 2992 | 2993 | ms@2.1.3: {} 2994 | 2995 | mz@2.7.0: 2996 | dependencies: 2997 | any-promise: 1.3.0 2998 | object-assign: 4.1.1 2999 | thenify-all: 1.6.0 3000 | 3001 | nanoid@3.3.11: {} 3002 | 3003 | natural-compare-lite@1.4.0: {} 3004 | 3005 | natural-compare@1.4.0: {} 3006 | 3007 | node-releases@2.0.19: {} 3008 | 3009 | normalize-path@3.0.0: {} 3010 | 3011 | normalize-range@0.1.2: {} 3012 | 3013 | npm-run-path@5.3.0: 3014 | dependencies: 3015 | path-key: 4.0.0 3016 | 3017 | object-assign@4.1.1: {} 3018 | 3019 | object-hash@3.0.0: {} 3020 | 3021 | once@1.4.0: 3022 | dependencies: 3023 | wrappy: 1.0.2 3024 | 3025 | onetime@6.0.0: 3026 | dependencies: 3027 | mimic-fn: 4.0.0 3028 | 3029 | onetime@7.0.0: 3030 | dependencies: 3031 | mimic-function: 5.0.1 3032 | 3033 | optionator@0.9.3: 3034 | dependencies: 3035 | "@aashutoshrathi/word-wrap": 1.2.6 3036 | deep-is: 0.1.4 3037 | fast-levenshtein: 2.0.6 3038 | levn: 0.4.1 3039 | prelude-ls: 1.2.1 3040 | type-check: 0.4.0 3041 | 3042 | p-limit@3.1.0: 3043 | dependencies: 3044 | yocto-queue: 0.1.0 3045 | 3046 | p-locate@5.0.0: 3047 | dependencies: 3048 | p-limit: 3.1.0 3049 | 3050 | package-json-from-dist@1.0.1: {} 3051 | 3052 | parent-module@1.0.1: 3053 | dependencies: 3054 | callsites: 3.1.0 3055 | 3056 | path-exists@4.0.0: {} 3057 | 3058 | path-is-absolute@1.0.1: {} 3059 | 3060 | path-key@3.1.1: {} 3061 | 3062 | path-key@4.0.0: {} 3063 | 3064 | path-parse@1.0.7: {} 3065 | 3066 | path-scurry@1.11.1: 3067 | dependencies: 3068 | lru-cache: 10.4.3 3069 | minipass: 7.1.2 3070 | 3071 | path-type@4.0.0: {} 3072 | 3073 | path@0.12.7: 3074 | dependencies: 3075 | process: 0.11.10 3076 | util: 0.10.4 3077 | 3078 | picocolors@1.1.1: {} 3079 | 3080 | picomatch@2.3.1: {} 3081 | 3082 | pidtree@0.6.0: {} 3083 | 3084 | pify@2.3.0: {} 3085 | 3086 | pirates@4.0.6: {} 3087 | 3088 | postcss-import@15.1.0(postcss@8.5.3): 3089 | dependencies: 3090 | postcss: 8.5.3 3091 | postcss-value-parser: 4.2.0 3092 | read-cache: 1.0.0 3093 | resolve: 1.22.8 3094 | 3095 | postcss-js@4.0.1(postcss@8.5.3): 3096 | dependencies: 3097 | camelcase-css: 2.0.1 3098 | postcss: 8.5.3 3099 | 3100 | postcss-load-config@4.0.2(postcss@8.5.3): 3101 | dependencies: 3102 | lilconfig: 3.1.3 3103 | yaml: 2.3.4 3104 | optionalDependencies: 3105 | postcss: 8.5.3 3106 | 3107 | postcss-nested@6.2.0(postcss@8.5.3): 3108 | dependencies: 3109 | postcss: 8.5.3 3110 | postcss-selector-parser: 6.1.2 3111 | 3112 | postcss-selector-parser@6.0.10: 3113 | dependencies: 3114 | cssesc: 3.0.0 3115 | util-deprecate: 1.0.2 3116 | 3117 | postcss-selector-parser@6.1.2: 3118 | dependencies: 3119 | cssesc: 3.0.0 3120 | util-deprecate: 1.0.2 3121 | 3122 | postcss-value-parser@4.2.0: {} 3123 | 3124 | postcss@8.5.3: 3125 | dependencies: 3126 | nanoid: 3.3.11 3127 | picocolors: 1.1.1 3128 | source-map-js: 1.2.1 3129 | 3130 | prelude-ls@1.2.1: {} 3131 | 3132 | prettier-linter-helpers@1.0.0: 3133 | dependencies: 3134 | fast-diff: 1.2.0 3135 | 3136 | prettier-plugin-tailwindcss@0.1.13(prettier@2.8.8): 3137 | dependencies: 3138 | prettier: 2.8.8 3139 | 3140 | prettier@2.8.8: {} 3141 | 3142 | process-nextick-args@2.0.1: {} 3143 | 3144 | process@0.11.10: {} 3145 | 3146 | punycode@2.1.1: {} 3147 | 3148 | queue-microtask@1.2.3: {} 3149 | 3150 | read-cache@1.0.0: 3151 | dependencies: 3152 | pify: 2.3.0 3153 | 3154 | readable-stream@2.3.8: 3155 | dependencies: 3156 | core-util-is: 1.0.3 3157 | inherits: 2.0.4 3158 | isarray: 1.0.0 3159 | process-nextick-args: 2.0.1 3160 | safe-buffer: 5.1.2 3161 | string_decoder: 1.1.1 3162 | util-deprecate: 1.0.2 3163 | 3164 | readable-stream@4.7.0: 3165 | dependencies: 3166 | abort-controller: 3.0.0 3167 | buffer: 6.0.3 3168 | events: 3.3.0 3169 | process: 0.11.10 3170 | string_decoder: 1.3.0 3171 | 3172 | readdir-glob@1.1.3: 3173 | dependencies: 3174 | minimatch: 5.1.6 3175 | 3176 | readdirp@3.6.0: 3177 | dependencies: 3178 | picomatch: 2.3.1 3179 | 3180 | resolve-from@4.0.0: {} 3181 | 3182 | resolve@1.22.8: 3183 | dependencies: 3184 | is-core-module: 2.13.1 3185 | path-parse: 1.0.7 3186 | supports-preserve-symlinks-flag: 1.0.0 3187 | 3188 | restore-cursor@5.1.0: 3189 | dependencies: 3190 | onetime: 7.0.0 3191 | signal-exit: 4.1.0 3192 | 3193 | reusify@1.0.4: {} 3194 | 3195 | rfdc@1.4.1: {} 3196 | 3197 | rimraf@3.0.2: 3198 | dependencies: 3199 | glob: 7.2.3 3200 | 3201 | rollup@4.39.0: 3202 | dependencies: 3203 | "@types/estree": 1.0.7 3204 | optionalDependencies: 3205 | "@rollup/rollup-android-arm-eabi": 4.39.0 3206 | "@rollup/rollup-android-arm64": 4.39.0 3207 | "@rollup/rollup-darwin-arm64": 4.39.0 3208 | "@rollup/rollup-darwin-x64": 4.39.0 3209 | "@rollup/rollup-freebsd-arm64": 4.39.0 3210 | "@rollup/rollup-freebsd-x64": 4.39.0 3211 | "@rollup/rollup-linux-arm-gnueabihf": 4.39.0 3212 | "@rollup/rollup-linux-arm-musleabihf": 4.39.0 3213 | "@rollup/rollup-linux-arm64-gnu": 4.39.0 3214 | "@rollup/rollup-linux-arm64-musl": 4.39.0 3215 | "@rollup/rollup-linux-loongarch64-gnu": 4.39.0 3216 | "@rollup/rollup-linux-powerpc64le-gnu": 4.39.0 3217 | "@rollup/rollup-linux-riscv64-gnu": 4.39.0 3218 | "@rollup/rollup-linux-riscv64-musl": 4.39.0 3219 | "@rollup/rollup-linux-s390x-gnu": 4.39.0 3220 | "@rollup/rollup-linux-x64-gnu": 4.39.0 3221 | "@rollup/rollup-linux-x64-musl": 4.39.0 3222 | "@rollup/rollup-win32-arm64-msvc": 4.39.0 3223 | "@rollup/rollup-win32-ia32-msvc": 4.39.0 3224 | "@rollup/rollup-win32-x64-msvc": 4.39.0 3225 | fsevents: 2.3.3 3226 | 3227 | run-parallel@1.2.0: 3228 | dependencies: 3229 | queue-microtask: 1.2.3 3230 | 3231 | safe-buffer@5.1.2: {} 3232 | 3233 | safe-buffer@5.2.1: {} 3234 | 3235 | semver@7.3.8: 3236 | dependencies: 3237 | lru-cache: 6.0.0 3238 | 3239 | shebang-command@2.0.0: 3240 | dependencies: 3241 | shebang-regex: 3.0.0 3242 | 3243 | shebang-regex@3.0.0: {} 3244 | 3245 | signal-exit@4.1.0: {} 3246 | 3247 | slash@3.0.0: {} 3248 | 3249 | slice-ansi@5.0.0: 3250 | dependencies: 3251 | ansi-styles: 6.2.1 3252 | is-fullwidth-code-point: 4.0.0 3253 | 3254 | slice-ansi@7.1.0: 3255 | dependencies: 3256 | ansi-styles: 6.2.1 3257 | is-fullwidth-code-point: 5.0.0 3258 | 3259 | source-map-js@1.2.1: {} 3260 | 3261 | streamx@2.22.0: 3262 | dependencies: 3263 | fast-fifo: 1.3.2 3264 | text-decoder: 1.2.3 3265 | optionalDependencies: 3266 | bare-events: 2.5.4 3267 | 3268 | string-argv@0.3.2: {} 3269 | 3270 | string-width@4.2.3: 3271 | dependencies: 3272 | emoji-regex: 8.0.0 3273 | is-fullwidth-code-point: 3.0.0 3274 | strip-ansi: 6.0.1 3275 | 3276 | string-width@5.1.2: 3277 | dependencies: 3278 | eastasianwidth: 0.2.0 3279 | emoji-regex: 9.2.2 3280 | strip-ansi: 7.1.0 3281 | 3282 | string-width@7.1.0: 3283 | dependencies: 3284 | emoji-regex: 10.3.0 3285 | get-east-asian-width: 1.2.0 3286 | strip-ansi: 7.1.0 3287 | 3288 | string_decoder@1.1.1: 3289 | dependencies: 3290 | safe-buffer: 5.1.2 3291 | 3292 | string_decoder@1.3.0: 3293 | dependencies: 3294 | safe-buffer: 5.2.1 3295 | 3296 | strip-ansi@6.0.1: 3297 | dependencies: 3298 | ansi-regex: 5.0.1 3299 | 3300 | strip-ansi@7.1.0: 3301 | dependencies: 3302 | ansi-regex: 6.0.1 3303 | 3304 | strip-final-newline@3.0.0: {} 3305 | 3306 | strip-json-comments@3.1.1: {} 3307 | 3308 | sucrase@3.35.0: 3309 | dependencies: 3310 | "@jridgewell/gen-mapping": 0.3.3 3311 | commander: 4.1.1 3312 | glob: 10.4.5 3313 | lines-and-columns: 1.2.4 3314 | mz: 2.7.0 3315 | pirates: 4.0.6 3316 | ts-interface-checker: 0.1.13 3317 | 3318 | supports-color@7.2.0: 3319 | dependencies: 3320 | has-flag: 4.0.0 3321 | 3322 | supports-preserve-symlinks-flag@1.0.0: {} 3323 | 3324 | tailwindcss@3.4.17: 3325 | dependencies: 3326 | "@alloc/quick-lru": 5.2.0 3327 | arg: 5.0.2 3328 | chokidar: 3.6.0 3329 | didyoumean: 1.2.2 3330 | dlv: 1.1.3 3331 | fast-glob: 3.3.2 3332 | glob-parent: 6.0.2 3333 | is-glob: 4.0.3 3334 | jiti: 1.21.7 3335 | lilconfig: 3.1.3 3336 | micromatch: 4.0.8 3337 | normalize-path: 3.0.0 3338 | object-hash: 3.0.0 3339 | picocolors: 1.1.1 3340 | postcss: 8.5.3 3341 | postcss-import: 15.1.0(postcss@8.5.3) 3342 | postcss-js: 4.0.1(postcss@8.5.3) 3343 | postcss-load-config: 4.0.2(postcss@8.5.3) 3344 | postcss-nested: 6.2.0(postcss@8.5.3) 3345 | postcss-selector-parser: 6.1.2 3346 | resolve: 1.22.8 3347 | sucrase: 3.35.0 3348 | transitivePeerDependencies: 3349 | - ts-node 3350 | 3351 | tar-stream@3.1.7: 3352 | dependencies: 3353 | b4a: 1.6.7 3354 | fast-fifo: 1.3.2 3355 | streamx: 2.22.0 3356 | 3357 | text-decoder@1.2.3: 3358 | dependencies: 3359 | b4a: 1.6.7 3360 | 3361 | text-table@0.2.0: {} 3362 | 3363 | thenify-all@1.6.0: 3364 | dependencies: 3365 | thenify: 3.3.1 3366 | 3367 | thenify@3.3.1: 3368 | dependencies: 3369 | any-promise: 1.3.0 3370 | 3371 | to-regex-range@5.0.1: 3372 | dependencies: 3373 | is-number: 7.0.0 3374 | 3375 | ts-interface-checker@0.1.13: {} 3376 | 3377 | tslib@1.14.1: {} 3378 | 3379 | tsutils@3.21.0(typescript@4.9.5): 3380 | dependencies: 3381 | tslib: 1.14.1 3382 | typescript: 4.9.5 3383 | 3384 | type-check@0.4.0: 3385 | dependencies: 3386 | prelude-ls: 1.2.1 3387 | 3388 | type-fest@0.20.2: {} 3389 | 3390 | typescript@4.9.5: {} 3391 | 3392 | undici-types@5.26.5: {} 3393 | 3394 | universalify@2.0.1: {} 3395 | 3396 | update-browserslist-db@1.1.3(browserslist@4.24.4): 3397 | dependencies: 3398 | browserslist: 4.24.4 3399 | escalade: 3.2.0 3400 | picocolors: 1.1.1 3401 | 3402 | uri-js@4.4.1: 3403 | dependencies: 3404 | punycode: 2.1.1 3405 | 3406 | util-deprecate@1.0.2: {} 3407 | 3408 | util@0.10.4: 3409 | dependencies: 3410 | inherits: 2.0.3 3411 | 3412 | vite@5.4.16(@types/node@18.19.86): 3413 | dependencies: 3414 | esbuild: 0.21.5 3415 | postcss: 8.5.3 3416 | rollup: 4.39.0 3417 | optionalDependencies: 3418 | "@types/node": 18.19.86 3419 | fsevents: 2.3.3 3420 | 3421 | which@2.0.2: 3422 | dependencies: 3423 | isexe: 2.0.0 3424 | 3425 | wrap-ansi@7.0.0: 3426 | dependencies: 3427 | ansi-styles: 4.3.0 3428 | string-width: 4.2.3 3429 | strip-ansi: 6.0.1 3430 | 3431 | wrap-ansi@8.1.0: 3432 | dependencies: 3433 | ansi-styles: 6.2.1 3434 | string-width: 5.1.2 3435 | strip-ansi: 7.1.0 3436 | 3437 | wrap-ansi@9.0.0: 3438 | dependencies: 3439 | ansi-styles: 6.2.1 3440 | string-width: 7.1.0 3441 | strip-ansi: 7.1.0 3442 | 3443 | wrappy@1.0.2: {} 3444 | 3445 | yallist@4.0.0: {} 3446 | 3447 | yaml@2.3.4: {} 3448 | 3449 | yaml@2.7.1: {} 3450 | 3451 | yocto-queue@0.1.0: {} 3452 | 3453 | zip-stream@6.0.1: 3454 | dependencies: 3455 | archiver-utils: 5.0.2 3456 | compress-commons: 6.0.2 3457 | readable-stream: 4.7.0 3458 | -------------------------------------------------------------------------------- /postcss.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | plugins: { 3 | tailwindcss: {}, 4 | autoprefixer: {}, 5 | }, 6 | } 7 | -------------------------------------------------------------------------------- /prettier.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | plugins: [require("prettier-plugin-tailwindcss")], 3 | printWidth: 120, 4 | tabWidth: 2, 5 | useTabs: false, 6 | endOfLine: "lf", 7 | }; 8 | -------------------------------------------------------------------------------- /settings.gradle: -------------------------------------------------------------------------------- 1 | rootProject.name = 'theme-modern-starter' 2 | -------------------------------------------------------------------------------- /settings.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1alpha1 2 | kind: Setting 3 | metadata: 4 | name: theme-modern-starter-setting 5 | spec: 6 | forms: 7 | - group: post 8 | label: 文章 9 | formSchema: 10 | - $formkit: select 11 | name: content_size 12 | label: 字体大小 13 | value: prose-base 14 | options: 15 | - value: prose-base 16 | label: prose-base 17 | - value: prose-sm 18 | label: prose-sm 19 | - value: prose-lg 20 | label: prose-lg 21 | - value: prose-xl 22 | label: prose-xl 23 | - value: prose-2xl 24 | label: prose-2xl 25 | - $formkit: select 26 | name: content_theme 27 | label: 颜色主题 28 | value: prose-gray 29 | options: 30 | - value: prose-gray 31 | label: prose-gray 32 | - value: prose-slate 33 | label: prose-slate 34 | - value: prose-zinc 35 | label: prose-zinc 36 | - value: prose-neutral 37 | label: prose-neutral 38 | - value: prose-stone 39 | label: prose-stone 40 | -------------------------------------------------------------------------------- /src/main.ts: -------------------------------------------------------------------------------- 1 | import "./styles/tailwind.css"; 2 | import "./styles/main.css"; 3 | import Alpine from "alpinejs"; 4 | 5 | window.Alpine = Alpine; 6 | 7 | Alpine.start(); 8 | 9 | export function count(x: number, y: number) { 10 | return x + y; 11 | } 12 | -------------------------------------------------------------------------------- /src/styles/main.css: -------------------------------------------------------------------------------- 1 | body { 2 | background: #f2f2f2; 3 | } 4 | 5 | ul { 6 | list-style: decimal; 7 | } 8 | -------------------------------------------------------------------------------- /src/styles/tailwind.css: -------------------------------------------------------------------------------- 1 | @tailwind base; 2 | @tailwind utilities; 3 | @tailwind components; 4 | -------------------------------------------------------------------------------- /src/vite-env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | 3 | import type { Alpine } from "alpinejs"; 4 | 5 | export {}; 6 | 7 | declare global { 8 | interface Window { 9 | Alpine: Alpine; 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /tailwind.config.js: -------------------------------------------------------------------------------- 1 | /** @type {import('tailwindcss').Config} */ 2 | const { addDynamicIconSelectors } = require('@iconify/tailwind'); 3 | module.exports = { 4 | content: ["./templates/**/*.html", "./src/main.ts"], 5 | theme: { 6 | extend: {}, 7 | }, 8 | plugins: [ 9 | require("@tailwindcss/typography"), 10 | addDynamicIconSelectors(), 11 | ], 12 | safelist: [ 13 | "prose-sm", 14 | "prose-base", 15 | "prose-lg", 16 | "prose-xl", 17 | "prose-2xl", 18 | "prose-gray", 19 | "prose-slate", 20 | "prose-zinc", 21 | "prose-neutral", 22 | "prose-stone", 23 | ], 24 | }; 25 | -------------------------------------------------------------------------------- /templates/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |
5 |
    6 |
  • 7 | 8 | 13 |
  • 14 |
15 | 32 |
33 |
34 | 35 | -------------------------------------------------------------------------------- /templates/modules/layout.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /templates/post.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |
8 |

9 | 10 |
11 |
12 | 13 | -------------------------------------------------------------------------------- /theme.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: theme.halo.run/v1alpha1 2 | kind: Theme 3 | metadata: 4 | name: theme-modern-starter 5 | spec: 6 | displayName: Modern Starter 7 | author: 8 | name: Halo 9 | website: https://github.com/halo-dev 10 | description: A development starter theme with Vite Ecosystem for Halo 11 | logo: https://www.halo.run/logo 12 | homepage: https://github.com/halo-dev/theme-modern-starter#readme 13 | repo: https://github.com/halo-dev/theme-modern-starter 14 | issues: https://github.com/halo-dev/theme-modern-starter/issues 15 | settingName: "theme-modern-starter-setting" 16 | configMapName: "theme-modern-starter-configMap" 17 | version: "1.0.0" 18 | requires: "2.0.0" 19 | license: 20 | - name: "GPL-3.0" 21 | url: "https://github.com/halo-dev/theme-modern-starter/blob/main/LICENSE" 22 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "ESNext", 4 | "useDefineForClassFields": true, 5 | "module": "ESNext", 6 | "lib": ["ESNext", "DOM"], 7 | "moduleResolution": "Node", 8 | "strict": true, 9 | "sourceMap": true, 10 | "resolveJsonModule": true, 11 | "isolatedModules": true, 12 | "esModuleInterop": true, 13 | "noEmit": true, 14 | "noUnusedLocals": true, 15 | "noUnusedParameters": true, 16 | "noImplicitReturns": true, 17 | "skipLibCheck": true 18 | }, 19 | "include": ["src"] 20 | } 21 | -------------------------------------------------------------------------------- /vite.config.ts: -------------------------------------------------------------------------------- 1 | import { defineConfig } from "vite"; 2 | import { fileURLToPath } from "url"; 3 | import path from "path"; 4 | 5 | export default defineConfig({ 6 | plugins: [], 7 | build: { 8 | outDir: fileURLToPath(new URL("./templates/assets/dist", import.meta.url)), 9 | emptyOutDir: true, 10 | lib: { 11 | entry: path.resolve(__dirname, "src/main.ts"), 12 | name: "main", 13 | fileName: "main", 14 | formats: ["iife"], 15 | }, 16 | }, 17 | }); 18 | --------------------------------------------------------------------------------