diff --git a/THIRD-PARTY-NOTICES.md b/THIRD-PARTY-NOTICES.md new file mode 100644 index 00000000..04c61fd6 --- /dev/null +++ b/THIRD-PARTY-NOTICES.md @@ -0,0 +1,1805 @@ +# Third-party notices + +VitePress is published under the MIT license (see LICENSE). The published vitepress package additionally bundles code and font files from the projects listed below, used under the following licenses: BSD-2-Clause, BlueOak-1.0.0, ISC, MIT, OFL-1.1. The bundled code has been mechanically transformed from its original source form (concatenated, tree-shaken, and minified), and the font files are subsets of their original releases. + +## @antfu/install-pkg + +License: MIT +By: Anthony Fu +Repository: https://github.com/antfu/install-pkg + +> MIT License +> +> Copyright (c) 2021 Anthony Fu +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all +> copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +> SOFTWARE. + +## @clack/core, @clack/prompts + +License: MIT +By: Nate Moore (https://twitter.com/n_moore) +Repository: https://github.com/bombshell-dev/clack + +> MIT License +> +> MIT License Copyright (c) 2025-Present [Bombshell contributors](https://bomb.sh/team) +> +> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +## @iconify/utils + +License: MIT +By: Vjacheslav Trushkin +Repository: https://github.com/iconify/iconify + +> MIT License +> +> Copyright (c) 2021-PRESENT Vjacheslav Trushkin +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all +> copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +> SOFTWARE. + +## @mdit-vue/plugin-component, @mdit-vue/plugin-frontmatter, @mdit-vue/plugin-headers, @mdit-vue/plugin-sfc, @mdit-vue/plugin-title, @mdit-vue/plugin-toc, @mdit-vue/shared, @mdit-vue/types + +License: MIT +By: meteorlxy +Repository: https://github.com/mdit-vue/mdit-vue + +> The MIT License (MIT) +> +> Copyright (c) 2022-present, mdit-vue Contributors +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in +> all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +> THE SOFTWARE. + +## @mdit/plugin-anchor + +License: MIT +By: Mr.Hope (https://mister-hope.com) +Repository: https://github.com/mdit-plugins/mdit-plugins + +> The MIT License (MIT) +> +> Copyright (C) 2022 - PRESENT by MrHope +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in +> all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +> THE SOFTWARE. + +## @mdit/plugin-attrs + +License: MIT +By: Mr.Hope (https://mister-hope.com) +Repository: https://github.com/mdit-plugins/mdit-plugins + +> The MIT License (MIT) +> +> Copyright (c) Arve Seljebu (arve0.github.io) +> Copyright (C) 2022 - PRESENT by MrHope +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in +> all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +> THE SOFTWARE. + +## @mdit/plugin-container + +License: MIT +By: Mr.Hope (https://mister-hope.com) +Repository: https://github.com/mdit-plugins/mdit-plugins + +> The MIT License (MIT) +> +> Copyright (C) 2022 - PRESENT by MrHope +> Copyright (c) 2015 Vitaly Puzrin, Alex Kocharin. +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in +> all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +> THE SOFTWARE. + +## @mdit/plugin-emoji + +License: MIT +Repository: https://github.com/mdit-plugins/mdit-plugins + +> The MIT License (MIT) +> +> Copyright (c) 2014 Vitaly Puzrin. +> Copyright (C) 2026 - PRESENT by MrHope +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in +> all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +> THE SOFTWARE. + +## @mdit/plugin-footnote + +License: MIT +By: Mr.Hope (https://mister-hope.com) +Repository: https://github.com/mdit-plugins/mdit-plugins + +> The MIT License (MIT) +> +> Copyright (c) 2014-2015 Vitaly Puzrin, Alex Kocharin. +> Copyright (C) 2022 - PRESENT by MrHope +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in +> all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +> THE SOFTWARE. + +## @mdit/plugin-tasklist + +License: MIT +By: Mr.Hope (https://mister-hope.com) +Repository: https://github.com/mdit-plugins/mdit-plugins + +> The MIT License (MIT) +> +> Copyright (c) 2016, Revin Guillen +> Modified code Copyright (c) 2016, linsir, MIT License +> Copyright (C) 2022 - PRESENT by MrHope +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in +> all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +> THE SOFTWARE. + +## @polka/compression, @polka/url, polka, sirv + +License: MIT +By: Luke Edwards (https://lukeed.com) +Repository: https://github.com/lukeed/polka, https://github.com/lukeed/sirv + +> MIT License +> +> Copyright (c) Luke Edwards (https://lukeed.com) +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all +> copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +> SOFTWARE. + +## @rolldown/pluginutils + +License: MIT +Repository: https://github.com/rolldown/plugins + +> MIT License +> +> Copyright (c) 2026-present, rolldown/plugins repository contributors +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all +> copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +> SOFTWARE. + +## Inter + +License: OFL-1.1 +By: The Inter Project Authors +Repository: https://github.com/rsms/inter + +> Copyright (c) 2016 The Inter Project Authors (https://github.com/rsms/inter) +> +> This Font Software is licensed under the SIL Open Font License, Version 1.1. +> This license is copied below, and is also available with a FAQ at: +> http://scripts.sil.org/OFL +> +> ----------------------------------------------------------- +> SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +> ----------------------------------------------------------- +> +> PREAMBLE +> The goals of the Open Font License (OFL) are to stimulate worldwide +> development of collaborative font projects, to support the font creation +> efforts of academic and linguistic communities, and to provide a free and +> open framework in which fonts may be shared and improved in partnership +> with others. +> +> The OFL allows the licensed fonts to be used, studied, modified and +> redistributed freely as long as they are not sold by themselves. The +> fonts, including any derivative works, can be bundled, embedded, +> redistributed and/or sold with any software provided that any reserved +> names are not used by derivative works. The fonts and derivatives, +> however, cannot be released under any other type of license. The +> requirement for fonts to remain under this license does not apply +> to any document created using the fonts or their derivatives. +> +> DEFINITIONS +> "Font Software" refers to the set of files released by the Copyright +> Holder(s) under this license and clearly marked as such. This may +> include source files, build scripts and documentation. +> +> "Reserved Font Name" refers to any names specified as such after the +> copyright statement(s). +> +> "Original Version" refers to the collection of Font Software components as +> distributed by the Copyright Holder(s). +> +> "Modified Version" refers to any derivative made by adding to, deleting, +> or substituting -- in part or in whole -- any of the components of the +> Original Version, by changing formats or by porting the Font Software to a +> new environment. +> +> "Author" refers to any designer, engineer, programmer, technical +> writer or other person who contributed to the Font Software. +> +> PERMISSION AND CONDITIONS +> Permission is hereby granted, free of charge, to any person obtaining +> a copy of the Font Software, to use, study, copy, merge, embed, modify, +> redistribute, and sell modified and unmodified copies of the Font +> Software, subject to the following conditions: +> +> 1) Neither the Font Software nor any of its individual components, +> in Original or Modified Versions, may be sold by itself. +> +> 2) Original or Modified Versions of the Font Software may be bundled, +> redistributed and/or sold with any software, provided that each copy +> contains the above copyright notice and this license. These can be +> included either as stand-alone text files, human-readable headers or +> in the appropriate machine-readable metadata fields within text or +> binary files as long as those fields can be easily viewed by the user. +> +> 3) No Modified Version of the Font Software may use the Reserved Font +> Name(s) unless explicit written permission is granted by the corresponding +> Copyright Holder. This restriction only applies to the primary font name as +> presented to the users. +> +> 4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +> Software shall not be used to promote, endorse or advertise any +> Modified Version, except to acknowledge the contribution(s) of the +> Copyright Holder(s) and the Author(s) or with their explicit written +> permission. +> +> 5) The Font Software, modified or unmodified, in part or in whole, +> must be distributed entirely under this license, and must not be +> distributed under any other license. The requirement for fonts to +> remain under this license does not apply to any document created +> using the Font Software. +> +> TERMINATION +> This license becomes null and void if any of the above conditions are +> not met. +> +> DISCLAIMER +> THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +> OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +> COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +> INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +> DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +> FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +> OTHER DEALINGS IN THE FONT SOFTWARE. + +## ansi-regex, chalk, cli-cursor, cli-spinners, find-up-simple, get-east-asian-width, is-interactive, is-unicode-supported, log-symbols, mimic-function, onetime, ora, p-map, package-directory, restore-cursor, stdin-discarder, string-width, strip-ansi, yoctocolors + +License: MIT +By: Sindre Sorhus (https://sindresorhus.com) +Repository: https://github.com/chalk/ansi-regex, https://github.com/chalk/chalk, https://github.com/chalk/strip-ansi, https://github.com/sindresorhus/cli-cursor, https://github.com/sindresorhus/cli-spinners, https://github.com/sindresorhus/find-up-simple, https://github.com/sindresorhus/get-east-asian-width, https://github.com/sindresorhus/is-interactive, https://github.com/sindresorhus/is-unicode-supported, https://github.com/sindresorhus/log-symbols, https://github.com/sindresorhus/mimic-function, https://github.com/sindresorhus/onetime, https://github.com/sindresorhus/ora, https://github.com/sindresorhus/p-map, https://github.com/sindresorhus/package-directory, https://github.com/sindresorhus/restore-cursor, https://github.com/sindresorhus/stdin-discarder, https://github.com/sindresorhus/string-width, https://github.com/sindresorhus/yoctocolors + +> MIT License +> +> Copyright (c) Sindre Sorhus (https://sindresorhus.com) +> +> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +## cross-spawn + +License: MIT +By: André Cruz +Repository: https://github.com/moxystudio/node-cross-spawn + +> The MIT License (MIT) +> +> Copyright (c) 2018 Made With MOXY Lda +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in +> all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +> THE SOFTWARE. + +## cssesc, punycode.js + +License: MIT +By: Mathias Bynens (https://mathiasbynens.be/) +Repository: https://github.com/mathiasbynens/cssesc, https://github.com/mathiasbynens/punycode.js + +> Copyright Mathias Bynens +> +> Permission is hereby granted, free of charge, to any person obtaining +> a copy of this software and associated documentation files (the +> "Software"), to deal in the Software without restriction, including +> without limitation the rights to use, copy, modify, merge, publish, +> distribute, sublicense, and/or sell copies of the Software, and to +> permit persons to whom the Software is furnished to do so, subject to +> the following conditions: +> +> The above copyright notice and this permission notice shall be +> included in all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +> NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +> LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +> OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +> WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +## entities + +License: BSD-2-Clause +By: Felix Boehm +Repository: https://github.com/fb55/entities + +> Copyright (c) Felix Böhm +> All rights reserved. +> +> Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: +> +> Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. +> +> Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. +> +> THIS IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS, +> EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +## esprima + +License: BSD-2-Clause +By: Ariya Hidayat +Repository: https://github.com/jquery/esprima + +> Copyright JS Foundation and other contributors, https://js.foundation/ +> +> Redistribution and use in source and binary forms, with or without +> modification, are permitted provided that the following conditions are met: +> +> * Redistributions of source code must retain the above copyright +> notice, this list of conditions and the following disclaimer. +> * Redistributions in binary form must reproduce the above copyright +> notice, this list of conditions and the following disclaimer in the +> documentation and/or other materials provided with the distribution. +> +> THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +> AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +> IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +> ARE DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY +> DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +> (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +> LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +> ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +> (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +> THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +## extend-shallow + +License: MIT +By: Jon Schlinkert (https://github.com/jonschlinkert) +Repository: https://github.com/jonschlinkert/extend-shallow + +> The MIT License (MIT) +> +> Copyright (c) 2014-2015, Jon Schlinkert. +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in +> all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +> THE SOFTWARE. + +## fast-string-truncated-width, fast-string-width + +License: MIT +Repository: https://github.com/fabiospampinato/fast-string-truncated-width, https://github.com/fabiospampinato/fast-string-width + +> The MIT License (MIT) +> +> Copyright (c) 2024-present Fabio Spampinato +> +> Permission is hereby granted, free of charge, to any person obtaining a +> copy of this software and associated documentation files (the "Software"), +> to deal in the Software without restriction, including without limitation +> the rights to use, copy, modify, merge, publish, distribute, sublicense, +> and/or sell copies of the Software, and to permit persons to whom the +> Software is furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in +> all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +> FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +> DEALINGS IN THE SOFTWARE. + +## fast-wrap-ansi + +License: MIT +By: James Garbutt (https://github.com/43081j) +Repository: https://github.com/43081j/fast-wrap-ansi + +> MIT License +> +> Copyright (c) 2025 James Garbutt +> +> Copyright (c) Sindre Sorhus (https://sindresorhus.com) +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all +> copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +> SOFTWARE. + +## fdir + +License: MIT +By: thecodrr +Repository: https://github.com/thecodrr/fdir + +> Copyright 2023 Abdullah Atta +> +> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +## gray-matter + +License: MIT +By: Jon Schlinkert (https://github.com/jonschlinkert), Andrew Meyer (https://github.com/Ajedi32), Brian Woodward (https://twitter.com/doowb), Caesar Schinas (https://caesarschinas.com), Ian Storm Taylor (http://ianstormtaylor.com), Jon Schlinkert (http://twitter.com/jonschlinkert), Osman Nuri Okumuş (http://onokumus.com), Pawel Kadluczka (http://blog.3d-logic.com), Rob Loach (http://robloach.net), (https://github.com/heymind), Zach Whaley (http://zachwhaleys.website) +Repository: https://github.com/jonschlinkert/gray-matter + +> The MIT License (MIT) +> +> Copyright (c) 2014-2018, Jon Schlinkert. +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in +> all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +> THE SOFTWARE. + +## image-size + +License: MIT +By: netroy (http://netroy.in/) +Repository: https://github.com/image-size/image-size + +> The MIT License (MIT) +> +> Copyright © 2013-Present Aditya Yadav, http://netroy.in +> +> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +## import-meta-resolve + +License: MIT +By: Titus Wormer (https://wooorm.com) +Repository: https://github.com/wooorm/import-meta-resolve + +> (The MIT License) +> +> Copyright (c) Titus Wormer +> +> Permission is hereby granted, free of charge, to any person obtaining +> a copy of this software and associated documentation files (the +> 'Software'), to deal in the Software without restriction, including +> without limitation the rights to use, copy, modify, merge, publish, +> distribute, sublicense, and/or sell copies of the Software, and to +> permit persons to whom the Software is furnished to do so, subject to +> the following conditions: +> +> The above copyright notice and this permission notice shall be +> included in all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +> IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +> CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +> TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +> SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +> +> --- +> +> This is a derivative work based on: +> . +> Which is licensed: +> +> """ +> Copyright Node.js contributors. All rights reserved. +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to +> deal in the Software without restriction, including without limitation the +> rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +> sell copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in +> all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +> FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +> IN THE SOFTWARE. +> """ +> +> This license applies to parts of Node.js originating from the +> https://github.com/joyent/node repository: +> +> """ +> Copyright Joyent, Inc. and other Node contributors. All rights reserved. +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to +> deal in the Software without restriction, including without limitation the +> rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +> sell copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in +> all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +> FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +> IN THE SOFTWARE. +> """ + +## is-extendable + +License: MIT +By: Jon Schlinkert (https://github.com/jonschlinkert) +Repository: https://github.com/jonschlinkert/is-extendable + +> The MIT License (MIT) +> +> Copyright (c) 2015, Jon Schlinkert. +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in +> all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +> THE SOFTWARE. + +## isexe, which + +License: ISC +By: Isaac Z. Schlueter (http://blog.izs.me), Isaac Z. Schlueter (http://blog.izs.me/) +Repository: https://github.com/isaacs/isexe, https://github.com/isaacs/node-which + +> The ISC License +> +> Copyright (c) Isaac Z. Schlueter and Contributors +> +> Permission to use, copy, modify, and/or distribute this software for any +> purpose with or without fee is hereby granted, provided that the above +> copyright notice and this permission notice appear in all copies. +> +> THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +> WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +> MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +> ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +> WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +> ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +> IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +## js-yaml + +License: MIT +By: Vladimir Zapparov , Aleksey V Zapparov (http://www.ixti.net/), Vitaly Puzrin (https://github.com/puzrin), Martin Grenfell (http://got-ravings.blogspot.com) +Repository: https://github.com/nodeca/js-yaml + +> (The MIT License) +> +> Copyright (C) 2011-2015 by Vitaly Puzrin +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in +> all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +> THE SOFTWARE. + +## kind-of + +License: MIT +By: Jon Schlinkert (https://github.com/jonschlinkert), David Fox-Powell (https://dtothefp.github.io/me), James (https://twitter.com/aretecode), Jon Schlinkert (http://twitter.com/jonschlinkert), Ken Sheedlo (kensheedlo.com), laggingreflex (https://github.com/laggingreflex), Miguel Mota (https://miguelmota.com), Peter deHaan (http://about.me/peterdehaan), tunnckoCore (https://i.am.charlike.online) +Repository: https://github.com/jonschlinkert/kind-of + +> The MIT License (MIT) +> +> Copyright (c) 2014-2017, Jon Schlinkert. +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in +> all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +> THE SOFTWARE. + +## linkify-it + +License: MIT +Repository: https://github.com/markdown-it/linkify-it + +> Copyright (c) 2015 Vitaly Puzrin. +> +> Permission is hereby granted, free of charge, to any person +> obtaining a copy of this software and associated documentation +> files (the "Software"), to deal in the Software without +> restriction, including without limitation the rights to use, +> copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the +> Software is furnished to do so, subject to the following +> conditions: +> +> The above copyright notice and this permission notice shall be +> included in all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +> OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +> NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +> HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +> WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +> FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +> OTHER DEALINGS IN THE SOFTWARE. + +## lodash._reinterpolate + +License: MIT +By: John-David Dalton (http://allyoucanleet.com/), Benjamin Tan (https://d10.github.io/), Blaine Bublitz (http://www.iceddev.com/), Kit Cambridge (http://kitcambridge.be/), Mathias Bynens (https://mathiasbynens.be/) +Repository: https://github.com/lodash/lodash + +> Copyright 2012-2015 The Dojo Foundation +> Based on Underscore.js 1.7.0, copyright 2009-2015 Jeremy Ashkenas, +> DocumentCloud and Investigative Reporters & Editors +> +> Permission is hereby granted, free of charge, to any person obtaining +> a copy of this software and associated documentation files (the +> "Software"), to deal in the Software without restriction, including +> without limitation the rights to use, copy, modify, merge, publish, +> distribute, sublicense, and/or sell copies of the Software, and to +> permit persons to whom the Software is furnished to do so, subject to +> the following conditions: +> +> The above copyright notice and this permission notice shall be +> included in all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +> NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +> LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +> OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +> WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +## lodash.template, lodash.templatesettings + +License: MIT +By: John-David Dalton , Mathias Bynens +Repository: https://github.com/lodash/lodash + +> Copyright OpenJS Foundation and other contributors +> +> Based on Underscore.js, copyright Jeremy Ashkenas, +> DocumentCloud and Investigative Reporters & Editors +> +> This software consists of voluntary contributions made by many +> individuals. For exact contribution history, see the revision history +> available at https://github.com/lodash/lodash +> +> The following license applies to all parts of this software except as +> documented below: +> +> ==== +> +> Permission is hereby granted, free of charge, to any person obtaining +> a copy of this software and associated documentation files (the +> "Software"), to deal in the Software without restriction, including +> without limitation the rights to use, copy, modify, merge, publish, +> distribute, sublicense, and/or sell copies of the Software, and to +> permit persons to whom the Software is furnished to do so, subject to +> the following conditions: +> +> The above copyright notice and this permission notice shall be +> included in all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +> NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +> LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +> OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +> WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +> +> ==== +> +> Copyright and related rights for sample code are waived via CC0. Sample +> code is defined as all source code displayed within the prose of the +> documentation. +> +> CC0: http://creativecommons.org/publicdomain/zero/1.0/ +> +> ==== +> +> Files located in the node_modules and vendor directories are externally +> maintained libraries used by this software which have their own +> licenses; we recommend you read them, as their terms may differ from the +> terms above. + +## lru-cache + +License: BlueOak-1.0.0 +By: Isaac Z. Schlueter +Repository: https://github.com/isaacs/node-lru-cache + +> # Blue Oak Model License +> +> Version 1.0.0 +> +> ## Purpose +> +> This license gives everyone as much permission to work with +> this software as possible, while protecting contributors +> from liability. +> +> ## Acceptance +> +> In order to receive this license, you must agree to its +> rules. The rules of this license are both obligations +> under that agreement and conditions to your license. +> You must not do anything with this software that triggers +> a rule that you cannot or will not follow. +> +> ## Copyright +> +> Each contributor licenses you to do everything with this +> software that would otherwise infringe that contributor's +> copyright in it. +> +> ## Notices +> +> You must ensure that everyone who gets a copy of +> any part of this software from you, with or without +> changes, also gets the text of this license or a link to +> . +> +> ## Excuse +> +> If anyone notifies you in writing that you have not +> complied with [Notices](#notices), you can keep your +> license by taking all practical steps to comply within 30 +> days after the notice. If you do not do so, your license +> ends immediately. +> +> ## Patent +> +> Each contributor licenses you to do everything with this +> software that would otherwise infringe any patent claims +> they can license or become able to license. +> +> ## Reliability +> +> No contributor can revoke this license. +> +> ## No Liability +> +> ***As far as the law allows, this software comes as is, +> without any warranty or condition, and no contributor +> will be liable to anyone for any damages related to this +> software or this license, under any kind of legal claim.*** + +## markdown-it + +License: MIT +Repository: https://github.com/markdown-it/markdown-it + +> Copyright (c) 2014 Vitaly Puzrin, Alex Kocharin. +> +> Permission is hereby granted, free of charge, to any person +> obtaining a copy of this software and associated documentation +> files (the "Software"), to deal in the Software without +> restriction, including without limitation the rights to use, +> copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the +> Software is furnished to do so, subject to the following +> conditions: +> +> The above copyright notice and this permission notice shall be +> included in all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +> OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +> NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +> HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +> WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +> FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +> OTHER DEALINGS IN THE SOFTWARE. + +## markdown-it-async + +License: MIT +By: Anthony Fu +Repository: https://github.com/antfu/markdown-it-async + +> MIT License +> +> Copyright (c) 2022 Anthony Fu +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all +> copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +> SOFTWARE. + +## markdown-it-cjk-friendly + +License: MIT +By: Tatsunori Uchino (https://github.com/tats-u) +Repository: https://github.com/tats-u/markdown-cjk-friendly + +> Copyright (c) 2024 Tatsunori Uchino +> +> markdown-it: +> +> Copyright (c) 2014 Vitaly Puzrin, Alex Kocharin. +> +> Permission is hereby granted, free of charge, to any person +> obtaining a copy of this software and associated documentation +> files (the "Software"), to deal in the Software without +> restriction, including without limitation the rights to use, +> copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the +> Software is furnished to do so, subject to the following +> conditions: +> +> The above copyright notice and this permission notice shall be +> included in all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +> OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +> NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +> HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +> WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +> FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +> OTHER DEALINGS IN THE SOFTWARE. + +## mdurl + +License: MIT +Repository: https://github.com/markdown-it/mdurl + +> Copyright (c) 2015 Vitaly Puzrin, Alex Kocharin. +> +> Permission is hereby granted, free of charge, to any person +> obtaining a copy of this software and associated documentation +> files (the "Software"), to deal in the Software without +> restriction, including without limitation the rights to use, +> copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the +> Software is furnished to do so, subject to the following +> conditions: +> +> The above copyright notice and this permission notice shall be +> included in all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +> OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +> NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +> HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +> WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +> FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +> OTHER DEALINGS IN THE SOFTWARE. +> +> -------------------------------------------------------------------------------- +> +> .parse() is based on Joyent's node.js `url` code: +> +> Copyright Joyent, Inc. and other Node contributors. All rights reserved. +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to +> deal in the Software without restriction, including without limitation the +> rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +> sell copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in +> all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +> FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +> IN THE SOFTWARE. + +## minimist + +License: MIT +By: James Halliday (http://substack.net) +Repository: https://github.com/minimistjs/minimist + +> This software is released under the MIT license: +> +> Permission is hereby granted, free of charge, to any person obtaining a copy of +> this software and associated documentation files (the "Software"), to deal in +> the Software without restriction, including without limitation the rights to +> use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +> the Software, and to permit persons to whom the Software is furnished to do so, +> subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all +> copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +> FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +> COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +> IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +> CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +## mrmime + +License: MIT +By: Luke Edwards (https://lukeed.com) +Repository: https://github.com/lukeed/mrmime + +> The MIT License (MIT) +> +> Copyright (c) Luke Edwards (https://lukeed.com) +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in +> all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +> THE SOFTWARE. + +## nanoid + +License: MIT +By: Andrey Sitnik +Repository: https://github.com/ai/nanoid + +> The MIT License (MIT) +> +> Copyright 2017 Andrey Sitnik +> +> Permission is hereby granted, free of charge, to any person obtaining a copy of +> this software and associated documentation files (the "Software"), to deal in +> the Software without restriction, including without limitation the rights to +> use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +> the Software, and to permit persons to whom the Software is furnished to do so, +> subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all +> copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +> FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +> COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +> IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +> CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +## obug + +License: MIT +By: Kevin Deng +Repository: https://github.com/sxzz/obug + +> The MIT License (MIT) +> +> Copyright © 2025-PRESENT Kevin Deng (https://github.com/sxzz) +> Copyright (c) 2014-2017 TJ Holowaychuk +> Copyright (c) 2018-2021 Josh Junon +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all +> copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +> SOFTWARE. + +## package-manager-detector + +License: MIT +By: Anthony Fu +Repository: https://github.com/antfu-collective/package-manager-detector + +> MIT License +> +> Copyright (c) 2020-PRESENT Anthony Fu +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all +> copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +> SOFTWARE. + +## path-key, shebang-regex + +License: MIT +By: Sindre Sorhus (sindresorhus.com) +Repository: https://github.com/sindresorhus/path-key, https://github.com/sindresorhus/shebang-regex + +> MIT License +> +> Copyright (c) Sindre Sorhus (sindresorhus.com) +> +> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +## path-to-regexp + +License: MIT +Repository: https://github.com/pillarjs/path-to-regexp + +> The MIT License (MIT) +> +> Copyright (c) 2014 Blake Embrey (hello@blakeembrey.com) +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in +> all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +> THE SOFTWARE. + +## picocolors + +License: ISC +By: Alexey Raspopov +Repository: https://github.com/alexeyraspopov/picocolors + +> ISC License +> +> Copyright (c) 2021-2024 Oleksii Raspopov, Kostiantyn Denysov, Anton Verinov +> +> Permission to use, copy, modify, and/or distribute this software for any +> purpose with or without fee is hereby granted, provided that the above +> copyright notice and this permission notice appear in all copies. +> +> THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +> WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +> MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +> ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +> WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +> ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +> OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +## picomatch + +License: MIT +By: Jon Schlinkert (https://github.com/jonschlinkert) +Repository: https://github.com/micromatch/picomatch + +> The MIT License (MIT) +> +> Copyright (c) 2017-present, Jon Schlinkert. +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in +> all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +> THE SOFTWARE. + +## postcss-selector-parser + +License: MIT +By: Maxime Thirouin (https://moox.io), Ben Briggs (http://beneb.info), Chris Eppstein +Repository: https://github.com/postcss/postcss-selector-parser + +> Copyright (c) Ben Briggs (http://beneb.info) +> +> Permission is hereby granted, free of charge, to any person +> obtaining a copy of this software and associated documentation +> files (the "Software"), to deal in the Software without +> restriction, including without limitation the rights to use, +> copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the +> Software is furnished to do so, subject to the following +> conditions: +> +> The above copyright notice and this permission notice shall be +> included in all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +> OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +> NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +> HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +> WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +> FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +> OTHER DEALINGS IN THE SOFTWARE. + +## regexparam, totalist, trouter + +License: MIT +By: Luke Edwards (https://lukeed.com) +Repository: https://github.com/lukeed/regexparam, https://github.com/lukeed/totalist, https://github.com/lukeed/trouter + +> The MIT License (MIT) +> +> Copyright (c) Luke Edwards (lukeed.com) +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in +> all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +> THE SOFTWARE. + +## sax + +License: BlueOak-1.0.0 +By: Isaac Z. Schlueter (http://blog.izs.me/) +Repository: https://github.com/isaacs/sax-js + +> # Blue Oak Model License +> +> Version 1.0.0 +> +> ## Purpose +> +> This license gives everyone as much permission to work with +> this software as possible, while protecting contributors +> from liability. +> +> ## Acceptance +> +> In order to receive this license, you must agree to its +> rules. The rules of this license are both obligations +> under that agreement and conditions to your license. +> You must not do anything with this software that triggers +> a rule that you cannot or will not follow. +> +> ## Copyright +> +> Each contributor licenses you to do everything with this +> software that would otherwise infringe that contributor's +> copyright in it. +> +> ## Notices +> +> You must ensure that everyone who gets a copy of +> any part of this software from you, with or without +> changes, also gets the text of this license or a link to +> . +> +> ## Excuse +> +> If anyone notifies you in writing that you have not +> complied with [Notices](#notices), you can keep your +> license by taking all practical steps to comply within 30 +> days after the notice. If you do not do so, your license +> ends immediately. +> +> ## Patent +> +> Each contributor licenses you to do everything with this +> software that would otherwise infringe any patent claims +> they can license or become able to license. +> +> ## Reliability +> +> No contributor can revoke this license. +> +> ## No Liability +> +> ***As far as the law allows, this software comes as is, +> without any warranty or condition, and no contributor +> will be liable to anyone for any damages related to this +> software or this license, under any kind of legal claim.*** + +## section-matter + +License: MIT +By: Jon Schlinkert (https://github.com/jonschlinkert) +Repository: https://github.com/jonschlinkert/section-matter + +> The MIT License (MIT) +> +> Copyright (c) 2017, Jon Schlinkert. +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all +> copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +> SOFTWARE. + +## shebang-command + +License: MIT +By: Kevin Mårtensson (github.com/kevva) +Repository: https://github.com/kevva/shebang-command + +> MIT License +> +> Copyright (c) Kevin Mårtensson (github.com/kevva) +> +> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +## signal-exit + +License: ISC +By: Ben Coe +Repository: https://github.com/tapjs/signal-exit + +> The ISC License +> +> Copyright (c) 2015-2023 Benjamin Coe, Isaac Z. Schlueter, and Contributors +> +> Permission to use, copy, modify, and/or distribute this software +> for any purpose with or without fee is hereby granted, provided +> that the above copyright notice and this permission notice +> appear in all copies. +> +> THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +> WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES +> OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE +> LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES +> OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +> WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +> ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +## sisteransi + +License: MIT +By: Terkel Gjervig (https://terkel.com) +Repository: https://github.com/terkelg/sisteransi + +> MIT License +> +> Copyright (c) 2018 Terkel Gjervig Nielsen +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all +> copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +> SOFTWARE. + +## sitemap + +License: MIT +By: Eugene Kalinin +Repository: https://github.com/ekalinin/sitemap.js + +> (The MIT License) +> +> Copyright (c) 2011 Eugene Kalinin +> +> Permission is hereby granted, free of charge, to any person obtaining +> a copy of this software and associated documentation files (the +> 'Software'), to deal in the Software without restriction, including +> without limitation the rights to use, copy, modify, merge, publish, +> distribute, sublicense, and/or sell copies of the Software, and to +> permit persons to whom the Software is furnished to do so, subject to +> the following conditions: +> +> The above copyright notice and this permission notice shall be +> included in all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +> IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +> CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +> TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +> SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +## strip-bom-string + +License: MIT +By: Jon Schlinkert (https://github.com/jonschlinkert) +Repository: https://github.com/jonschlinkert/strip-bom-string + +> The MIT License (MIT) +> +> Copyright (c) 2015, 2017, Jon Schlinkert +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in +> all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +> THE SOFTWARE. + +## tinyexec + +License: MIT +By: James Garbutt (https://github.com/43081j) +Repository: https://github.com/tinylibs/tinyexec + +> MIT License +> +> Copyright (c) 2024 Tinylibs +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all +> copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +> SOFTWARE. + +## tinyglobby + +License: MIT +By: Superchupu +Repository: https://github.com/SuperchupuDev/tinyglobby + +> MIT License +> +> Copyright (c) 2024 Madeline Gurriarán +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all +> copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +> SOFTWARE. + +## uc.micro + +License: MIT +Repository: https://github.com/markdown-it/uc.micro + +> Copyright Mathias Bynens +> +> Permission is hereby granted, free of charge, to any person obtaining +> a copy of this software and associated documentation files (the +> "Software"), to deal in the Software without restriction, including +> without limitation the rights to use, copy, modify, merge, publish, +> distribute, sublicense, and/or sell copies of the Software, and to +> permit persons to whom the Software is furnished to do so, subject to +> the following conditions: +> +> The above copyright notice and this permission notice shall be +> included in all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +> NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +> LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +> OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +> WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +## util-deprecate + +License: MIT +By: Nathan Rajlich (http://n8.io/) +Repository: https://github.com/TooTallNate/util-deprecate + +> (The MIT License) +> +> Copyright (c) 2014 Nathan Rajlich +> +> Permission is hereby granted, free of charge, to any person +> obtaining a copy of this software and associated documentation +> files (the "Software"), to deal in the Software without +> restriction, including without limitation the rights to use, +> copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the +> Software is furnished to do so, subject to the following +> conditions: +> +> The above copyright notice and this permission notice shall be +> included in all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +> OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +> NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +> HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +> WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +> FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +> OTHER DEALINGS IN THE SOFTWARE. diff --git a/package.json b/package.json index 999f5e4f..5796ee71 100644 --- a/package.json +++ b/package.json @@ -42,6 +42,7 @@ "vitepress": "bin/vitepress.js" }, "files": [ + "THIRD-PARTY-NOTICES.md", "bin", "dist", "types", @@ -81,7 +82,7 @@ "docs:lunaria:open": "pnpm -F=docs lunaria:open", "format": "prettier --experimental-cli --write .", "format:fail": "prettier --experimental-cli --check .", - "check": "pnpm format:fail && pnpm build && pnpm test", + "check": "pnpm format:fail && pnpm build && git ls-files --error-unmatch THIRD-PARTY-NOTICES.md && git diff --exit-code -- THIRD-PARTY-NOTICES.md && pnpm test", "changelog": "conventional-changelog -p angular -i CHANGELOG.md -s", "release": "node scripts/release.ts" }, diff --git a/scripts/release.ts b/scripts/release.ts index 0d950707..3d861c1b 100644 --- a/scripts/release.ts +++ b/scripts/release.ts @@ -100,7 +100,12 @@ async function main() { // Commit changes to the Git and create a tag. prompts.log.step('Committing changes...') - await run('git', ['add', 'CHANGELOG.md', 'package.json']) + await run('git', [ + 'add', + 'CHANGELOG.md', + 'package.json', + 'THIRD-PARTY-NOTICES.md' + ]) await run('git', ['commit', '-m', `release: v${targetVersion}`]) await run('git', ['tag', `v${targetVersion}`]) diff --git a/scripts/subsetFonts.py b/scripts/subsetFonts.py index 422b6b33..e017558d 100755 --- a/scripts/subsetFonts.py +++ b/scripts/subsetFonts.py @@ -181,6 +181,11 @@ def build_subsets(release: Path, subsets: dict[str, str]) -> None: options = subset.Options() options.flavor = "woff2" options.layout_features = [*options.layout_features, "pnum", "tnum"] + # keep the OFL license notice (13) and url (14) name records that + # upstream embeds: the subsets are Modified Versions, and OFL §2 + # requires the license to travel with every copy - including the + # ones Vite copies into users' publicly served site builds + options.name_IDs = [*options.name_IDs, 13, 14] font = subset.load_font(release / file, options) subsetter = subset.Subsetter(options) subsetter.populate(unicodes=parse_ranges(value)) diff --git a/src/client/theme-default/fonts/LICENSE.txt b/src/client/theme-default/fonts/LICENSE.txt new file mode 100644 index 00000000..9b2ca37b --- /dev/null +++ b/src/client/theme-default/fonts/LICENSE.txt @@ -0,0 +1,92 @@ +Copyright (c) 2016 The Inter Project Authors (https://github.com/rsms/inter) + +This Font Software is licensed under the SIL Open Font License, Version 1.1. +This license is copied below, and is also available with a FAQ at: +http://scripts.sil.org/OFL + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION AND CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/src/client/theme-default/fonts/inter-italic-cyrillic-ext.woff2 b/src/client/theme-default/fonts/inter-italic-cyrillic-ext.woff2 index 27a82ed3..296d735c 100644 Binary files a/src/client/theme-default/fonts/inter-italic-cyrillic-ext.woff2 and b/src/client/theme-default/fonts/inter-italic-cyrillic-ext.woff2 differ diff --git a/src/client/theme-default/fonts/inter-italic-cyrillic.woff2 b/src/client/theme-default/fonts/inter-italic-cyrillic.woff2 index 116e3acd..d93e5227 100644 Binary files a/src/client/theme-default/fonts/inter-italic-cyrillic.woff2 and b/src/client/theme-default/fonts/inter-italic-cyrillic.woff2 differ diff --git a/src/client/theme-default/fonts/inter-italic-greek-ext.woff2 b/src/client/theme-default/fonts/inter-italic-greek-ext.woff2 index 9117dabf..dcb14fc1 100644 Binary files a/src/client/theme-default/fonts/inter-italic-greek-ext.woff2 and b/src/client/theme-default/fonts/inter-italic-greek-ext.woff2 differ diff --git a/src/client/theme-default/fonts/inter-italic-greek.woff2 b/src/client/theme-default/fonts/inter-italic-greek.woff2 index f098cf74..14c1212f 100644 Binary files a/src/client/theme-default/fonts/inter-italic-greek.woff2 and b/src/client/theme-default/fonts/inter-italic-greek.woff2 differ diff --git a/src/client/theme-default/fonts/inter-italic-latin-ext.woff2 b/src/client/theme-default/fonts/inter-italic-latin-ext.woff2 index 42f338f1..a57883d7 100644 Binary files a/src/client/theme-default/fonts/inter-italic-latin-ext.woff2 and b/src/client/theme-default/fonts/inter-italic-latin-ext.woff2 differ diff --git a/src/client/theme-default/fonts/inter-italic-latin.woff2 b/src/client/theme-default/fonts/inter-italic-latin.woff2 index 94a1ae94..8273dc04 100644 Binary files a/src/client/theme-default/fonts/inter-italic-latin.woff2 and b/src/client/theme-default/fonts/inter-italic-latin.woff2 differ diff --git a/src/client/theme-default/fonts/inter-italic-symbols.woff2 b/src/client/theme-default/fonts/inter-italic-symbols.woff2 index d8425105..78f75ae4 100644 Binary files a/src/client/theme-default/fonts/inter-italic-symbols.woff2 and b/src/client/theme-default/fonts/inter-italic-symbols.woff2 differ diff --git a/src/client/theme-default/fonts/inter-italic-vietnamese.woff2 b/src/client/theme-default/fonts/inter-italic-vietnamese.woff2 index cfe91834..ead7a46d 100644 Binary files a/src/client/theme-default/fonts/inter-italic-vietnamese.woff2 and b/src/client/theme-default/fonts/inter-italic-vietnamese.woff2 differ diff --git a/src/client/theme-default/fonts/inter-roman-cyrillic-ext.woff2 b/src/client/theme-default/fonts/inter-roman-cyrillic-ext.woff2 index 465b2228..ff7282eb 100644 Binary files a/src/client/theme-default/fonts/inter-roman-cyrillic-ext.woff2 and b/src/client/theme-default/fonts/inter-roman-cyrillic-ext.woff2 differ diff --git a/src/client/theme-default/fonts/inter-roman-cyrillic.woff2 b/src/client/theme-default/fonts/inter-roman-cyrillic.woff2 index 6bbced8e..918fb15e 100644 Binary files a/src/client/theme-default/fonts/inter-roman-cyrillic.woff2 and b/src/client/theme-default/fonts/inter-roman-cyrillic.woff2 differ diff --git a/src/client/theme-default/fonts/inter-roman-greek-ext.woff2 b/src/client/theme-default/fonts/inter-roman-greek-ext.woff2 index 7a4633ff..9e5aa654 100644 Binary files a/src/client/theme-default/fonts/inter-roman-greek-ext.woff2 and b/src/client/theme-default/fonts/inter-roman-greek-ext.woff2 differ diff --git a/src/client/theme-default/fonts/inter-roman-greek.woff2 b/src/client/theme-default/fonts/inter-roman-greek.woff2 index e30e308a..152f6b73 100644 Binary files a/src/client/theme-default/fonts/inter-roman-greek.woff2 and b/src/client/theme-default/fonts/inter-roman-greek.woff2 differ diff --git a/src/client/theme-default/fonts/inter-roman-latin-ext.woff2 b/src/client/theme-default/fonts/inter-roman-latin-ext.woff2 index 6f19b69a..788a467d 100644 Binary files a/src/client/theme-default/fonts/inter-roman-latin-ext.woff2 and b/src/client/theme-default/fonts/inter-roman-latin-ext.woff2 differ diff --git a/src/client/theme-default/fonts/inter-roman-latin.woff2 b/src/client/theme-default/fonts/inter-roman-latin.woff2 index c428d326..d097292f 100644 Binary files a/src/client/theme-default/fonts/inter-roman-latin.woff2 and b/src/client/theme-default/fonts/inter-roman-latin.woff2 differ diff --git a/src/client/theme-default/fonts/inter-roman-symbols.woff2 b/src/client/theme-default/fonts/inter-roman-symbols.woff2 index ba86b3dc..02122e7c 100644 Binary files a/src/client/theme-default/fonts/inter-roman-symbols.woff2 and b/src/client/theme-default/fonts/inter-roman-symbols.woff2 differ diff --git a/src/client/theme-default/fonts/inter-roman-vietnamese.woff2 b/src/client/theme-default/fonts/inter-roman-vietnamese.woff2 index 2df3edeb..11f0e98d 100644 Binary files a/src/client/theme-default/fonts/inter-roman-vietnamese.woff2 and b/src/client/theme-default/fonts/inter-roman-vietnamese.woff2 differ diff --git a/tsdown.config.ts b/tsdown.config.ts index 4494b557..7608bb71 100644 --- a/tsdown.config.ts +++ b/tsdown.config.ts @@ -170,6 +170,446 @@ function skipUnchanged(): Rolldown.Plugin { } } +// The node bundle inlines its devDependencies by design, so the published +// artifact redistributes third-party code. Every module that ends up in an +// emitted chunk is traced back to its package here, and the aggregate +// notices — license texts with their copyright lines, plus any NOTICE files +// (Apache-2.0 §4(d)) — are written to THIRD-PARTY-NOTICES.md. npm does not +// auto-include that name, so it ships only via the files list in +// package.json; `pnpm check` fails when the committed copy goes stale. The +// file is regenerated by the build — do not edit it by hand. Entries with +// byte-identical texts are grouped: the copyright notices the licenses +// require live inside the quoted texts, so grouping loses nothing. +const NOTICES_FILE = 'THIRD-PARTY-NOTICES.md' + +// licenses whose redistribution obligations this file's mechanism fully +// discharges: carrying the verbatim license text and copyright notice along +// (plus NOTICE propagation for Apache-2.0, and the modifications statement +// in the header). Anything else fails the build so its obligations get +// reviewed deliberately instead of silently shipped — copyleft (GPL), +// source-offer duties (MPL/LGPL), unparseable ids, and also e.g. Zlib and +// Python-2.0, whose mark-your-changes clauses an aggregate notices file +// cannot satisfy on its own. +const PERMITTED_LICENSES = new Set([ + '0BSD', + 'Apache-2.0', + 'BSD-2-Clause', + 'BSD-3-Clause', + 'BlueOak-1.0.0', + 'CC0-1.0', + 'ISC', + 'MIT', + 'OFL-1.1', + 'Unlicense' +]) + +// canonical license bodies for packages that declare an id but ship no text +// file. MIT/ISC require the copyright and permission notice to accompany +// copies, so a bare identifier would not be compliant; the reconstruction +// pairs the fixed license wording with the package's own author line and is +// surfaced as a warning on every full build. +const LICENSE_TEMPLATES: Record string> = { + MIT: (holder) => `MIT License + +Copyright (c) ${holder} + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE.`, + ISC: (holder) => `ISC License + +Copyright (c) ${holder} + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR +OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE.` +} + +// copyright holders for packages that ship neither a license file nor an +// author field, verified against their repositories +const AUTHOR_FALLBACKS: Record = { + '@polka/compression': 'Luke Edwards (https://lukeed.com)' +} + +interface BundledPackage { + name: string + version?: string + license: string + authors?: string + repository?: string + licenseText: string + noticeText?: string + reconstructed?: boolean +} + +// third-party content vendored into src rather than resolved from +// node_modules: the Inter font files shipped under theme-default/fonts +const VENDORED_PACKAGES: BundledPackage[] = [ + { + name: 'Inter', + license: 'OFL-1.1', + authors: 'The Inter Project Authors', + repository: 'https://github.com/rsms/inter', + licenseText: readFileSync( + path.join(ROOT, 'src/client/theme-default/fonts/LICENSE.txt'), + 'utf8' + ) + .replaceAll('\r\n', '\n') + .trim() + } +] + +// localeCompare consults the host locale; the output must be byte-stable +// across machines, so sort by code units everywhere +const compareStrings = (a: string, b: string) => (a < b ? -1 : a > b ? 1 : 0) + +const blockquote = (text: string) => + text + .split('\n') + .map((l) => (l ? `> ${l}` : '>')) + .join('\n') + +function formatPerson(person: unknown): string | undefined { + if (typeof person === 'string') return person + const { name, email, url } = (person ?? {}) as Record + if (!name) return undefined + return name + (email ? ` <${email}>` : '') + (url ? ` (${url})` : '') +} + +// render repository fields as plain https URLs, whatever form the manifest +// uses (git+/git@/ssh, github: and owner/repo shorthands) +function normalizeRepoUrl(url: string): string { + const repo = url + .replace(/^git\+/, '') + .replace(/\.git$/, '') + .replace(/^git@([^:]+):/, 'https://$1/') + .replace(/^(?:git|ssh):\/\/(?:[^@/]+@)?/, 'https://') + .replace(/^github:/, 'https://github.com/') + .replace(/^gitlab:/, 'https://gitlab.com/') + .replace(/^bitbucket:/, 'https://bitbucket.org/') + return /^[\w.-]+\/[\w.-]+$/.test(repo) ? `https://github.com/${repo}` : repo +} + +type PackageResolution = { info: BundledPackage } | { error: string } | null + +const packageCache = new Map() + +// a module's package root is everything up to the first path segment (two +// for scoped packages) after the last node_modules/ in its id — this holds +// for pnpm's .pnpm layout too, where the real package dir always sits under +// a nested node_modules/ +function resolveBundledPackage(moduleId: string): PackageResolution { + if (moduleId.startsWith('\0')) return null + const id = moduleId.replaceAll('\\', '/').replace(/\?.*$/, '') + const base = id.lastIndexOf('/node_modules/') + if (base === -1) return null + const segments = id.slice(base + '/node_modules/'.length).split('/') + const name = + segments[0][0] === '@' ? segments.slice(0, 2).join('/') : segments[0] + if (name[0] === '.') return null + const root = id.slice(0, base) + '/node_modules/' + name + const cached = packageCache.get(root) + if (cached !== undefined) return cached + const resolution = readPackageNotices(root, name) + packageCache.set(root, resolution) + return resolution +} + +function readPackageNotices(root: string, dirName: string): PackageResolution { + let pkg: Record + try { + pkg = JSON.parse(readFileSync(path.join(root, 'package.json'), 'utf8')) + } catch { + return { error: `${dirName}: no readable package.json at ${root}` } + } + const name: string = pkg.name ?? dirName + const license: string | undefined = + typeof pkg.license === 'string' + ? pkg.license + : (pkg.license?.type ?? + (Array.isArray(pkg.licenses) + ? pkg.licenses + .map((l: any) => (typeof l === 'string' ? l : l?.type)) + .filter(Boolean) + .join(' OR ') + : undefined)) + if (!license) { + return { error: `${name}: declares no license in its package.json` } + } + // an SPDX OR expression satisfies the policy if any alternative does; AND + // and WITH combine obligations, so those always need review as a whole + const alternatives = /\s(?:AND|WITH)\s/.test(license) + ? [] + : license.replace(/[()]/g, '').split(/\s+OR\s+/) + if (!alternatives.some((l) => PERMITTED_LICENSES.has(l.trim()))) { + return { + error: + `${name} is licensed under "${license}", which is not in ` + + 'PERMITTED_LICENSES — review its obligations before extending the set' + } + } + + const people = [ + pkg.author, + ...(Array.isArray(pkg.contributors) ? pkg.contributors : []), + ...(Array.isArray(pkg.maintainers) ? pkg.maintainers : []) + ] + .map(formatPerson) + .filter((p): p is string => !!p) + const authors = [...new Set(people)].join(', ') || AUTHOR_FALLBACKS[name] + const repositoryField = + typeof pkg.repository === 'string' ? pkg.repository : pkg.repository?.url + const repository = repositoryField + ? normalizeRepoUrl(repositoryField) + : undefined + + const tryReadText = (file: string): string | undefined => { + try { + return readFileSync(path.join(root, file), 'utf8') + .replace(/^\uFEFF/, '') + .replaceAll('\r\n', '\n') + .trim() + } catch { + return undefined + } + } + + let entries: string[] + try { + entries = readdirSync(root) + } catch { + entries = [] + } + // NOTICE files carry their own propagation obligation and ride along even + // when a license file exists too + const noticeText = + entries + .filter((f) => /^notices?(?:$|[-._])/i.test(f)) + .sort(compareStrings) + .map(tryReadText) + .filter(Boolean) + .join('\n\n') || undefined + const rank = (f: string) => (/^licen[cs]e/i.test(f) ? 0 : 1) + const licenseFile = entries + .filter((f) => + /^(?:(?:un)?licen[cs]e|copying|(?:mit|bsd|apache|isc)[-_.]licen[cs]e)(?:$|[-._])/i.test( + f + ) + ) + .sort((a, b) => rank(a) - rank(b) || compareStrings(a, b))[0] + + let licenseText = licenseFile ? tryReadText(licenseFile) : undefined + let reconstructed = false + if (!licenseText) { + const template = LICENSE_TEMPLATES[license] + if (!template || !authors) { + return { + error: + `${name} (${license}) ships no license text and it cannot be ` + + 'reconstructed — vendor its license text in tsdown.config.ts' + } + } + licenseText = template(authors) + reconstructed = true + } + + return { + info: { + name, + version: pkg.version, + license, + authors, + repository, + licenseText, + noticeText, + reconstructed + } + } +} + +function renderNotices(packages: BundledPackage[]): string { + // group packages whose texts match byte-for-byte (same license wording + // and same copyright holder), so shared boilerplate appears once + interface NoticeGroup { + names: string[] + licenses: string[] + authors: string[] + repositories: string[] + licenseText: string + noticeText?: string + } + const groups = new Map() + for (const p of packages) { + // texts without a copyright notice line (BlueOak, CC0, …) cannot name + // their holders themselves, so different holders must not merge — the + // By: line is the only attribution such an entry has + const hasHolder = /copyright\s+(?:\(c\)|©|[0-9])/i.test(p.licenseText) + const key = + p.licenseText + + '\0' + + (p.noticeText ?? '') + + (hasHolder ? '' : '\0' + (p.authors ?? p.name)) + let group = groups.get(key) + if (!group) { + group = { + names: [], + licenses: [], + authors: [], + repositories: [], + licenseText: p.licenseText, + noticeText: p.noticeText + } + groups.set(key, group) + } + if (!group.names.includes(p.name)) group.names.push(p.name) + if (!group.licenses.includes(p.license)) group.licenses.push(p.license) + if (p.authors && !group.authors.includes(p.authors)) { + group.authors.push(p.authors) + } + if (p.repository && !group.repositories.includes(p.repository)) { + group.repositories.push(p.repository) + } + } + const sorted = [...groups.values()] + for (const g of sorted) { + g.names.sort(compareStrings) + g.licenses.sort(compareStrings) + g.authors.sort(compareStrings) + g.repositories.sort(compareStrings) + } + // same leading name can occur twice when two bundled versions of a package + // carry different texts; tie-break on the text to keep the order stable + sorted.sort( + (a, b) => + compareStrings(a.names[0], b.names[0]) || + compareStrings(a.licenseText, b.licenseText) || + compareStrings(a.noticeText ?? '', b.noticeText ?? '') + ) + + const ids = [...new Set(packages.map((p) => p.license))].sort(compareStrings) + let out = + '# Third-party notices\n\n' + + 'VitePress is published under the MIT license (see LICENSE). The ' + + 'published vitepress package additionally bundles code and font files ' + + 'from the projects listed below, used under the following licenses: ' + + `${ids.join(', ')}. The bundled code has been mechanically ` + + 'transformed from its original source form (concatenated, tree-shaken, ' + + 'and minified), and the font files are subsets of their original ' + + 'releases.\n' + for (const g of sorted) { + out += `\n## ${g.names.join(', ')}\n\n` + out += `License: ${g.licenses.join(', ')}\n` + if (g.authors.length) out += `By: ${g.authors.join(', ')}\n` + if (g.repositories.length) { + out += `Repository: ${g.repositories.join(', ')}\n` + } + out += '\n' + blockquote(g.licenseText) + '\n' + if (g.noticeText) out += '\nNotice:\n\n' + blockquote(g.noticeText) + '\n' + } + return out +} + +const collectedPackages = new Map>() +// assigned where the configs are assembled at the bottom of this file; the +// notices file is only written once every config has reported, so building +// a lone config can never shrink it to a subset +let expectedOutputs = 0 + +// …and a build where some output never reports (a lone config, or drift in +// how the configs are assembled) must fail loudly instead of silently +// leaving a stale file behind. Watch mode never collects, so it never trips +// this. +process.on('beforeExit', () => { + if (collectedPackages.size > 0 && collectedPackages.size < expectedOutputs) { + console.error( + `${NOTICES_FILE} was not regenerated: only ` + + `${collectedPackages.size} of ${expectedOutputs} build outputs reported` + ) + process.exitCode = 1 + } +}) + +function thirdPartyNotices(): Rolldown.Plugin { + return { + name: 'vitepress:third-party-notices', + // default-order generateBundle runs before skipUnchanged's post handler + // prunes byte-identical files, so the module lists are still complete + generateBundle(options, bundle) { + // build-only: dev rebuilds shouldn't churn a tracked file — full + // builds and the check script keep it fresh + if (this.meta.watchMode) return + const errors = new Set() + const found = new Map() + for (const file of Object.values(bundle)) { + if (file.type !== 'chunk') continue + for (const [id, mod] of Object.entries(file.modules)) { + // fully tree-shaken modules contribute nothing to the output + // (declaration chunks report real lengths too) + if (mod.renderedLength === 0) continue + const resolution = resolveBundledPackage(id) + if (!resolution) continue + if ('error' in resolution) { + errors.add(resolution.error) + continue + } + const { info } = resolution + found.set(`${info.name}@${info.version}`, info) + } + } + if (errors.size) { + this.error([...errors].sort(compareStrings).join('\n')) + } + collectedPackages.set(options.dir ?? '.', found) + if (collectedPackages.size < expectedOutputs) return + + const union = new Map() + for (const packages of collectedPackages.values()) { + for (const [key, info] of packages) union.set(key, info) + } + const reconstructed = [...union.values()] + .filter((p) => p.reconstructed) + .map((p) => p.name) + .sort(compareStrings) + if (reconstructed.length) { + console.warn( + `license text for ${reconstructed.join(', ')} is reconstructed ` + + 'from their manifests — they ship none' + ) + } + const content = renderNotices([...VENDORED_PACKAGES, ...union.values()]) + const dest = path.join(ROOT, NOTICES_FILE) + // same mtime-stability contract as skipUnchanged above + try { + if (readFileSync(dest, 'utf8') === content) return + } catch {} + writeFileSync(dest, content) + console.warn(`\n${NOTICES_FILE} updated — commit the regenerated file`) + } + } +} + function withStableOutputs(config: UserConfig): UserConfig { return { ...config, @@ -177,6 +617,7 @@ function withStableOutputs(config: UserConfig): UserConfig { plugins: [ ...(config.plugins as Rolldown.Plugin[]), fixDeclarationSpecifiers(), + thirdPartyNotices(), skipUnchanged() ] } @@ -238,4 +679,7 @@ const node: UserConfig = { plugins: [syncShared('node'), rootTypesSpecifiers()] } -export default defineConfig([client, node].map(withStableOutputs)) +const configs = [client, node].map(withStableOutputs) +expectedOutputs = configs.length + +export default defineConfig(configs)