UNPKG

spago

Version:

🍝 PureScript package manager and build tool

1,731 lines (1,716 loc) 4 MB
#!/usr/bin/env -S node --no-warnings=ExperimentalWarning /* Generated by Spago v1.0.4 */import __module from 'module';import __path from 'path';import __url from 'url';const require = __module.createRequire(import.meta.url);const __dirname = __path.dirname(__url.fileURLToPath(import.meta.url));const __filename=new URL(import.meta.url).pathname var __create = Object.create; var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __getProtoOf = Object.getPrototypeOf; var __hasOwnProp = Object.prototype.hasOwnProperty; var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, { get: (a, b2) => (typeof require !== "undefined" ? require : a)[b2] }) : x)(function(x) { if (typeof require !== "undefined") return require.apply(this, arguments); throw Error('Dynamic require of "' + x + '" is not supported'); }); var __commonJS = (cb, mod8) => function __require2() { return mod8 || (0, cb[__getOwnPropNames(cb)[0]])((mod8 = { exports: {} }).exports, mod8), mod8.exports; }; var __copyProps = (to3, from4, except12, desc) => { if (from4 && typeof from4 === "object" || typeof from4 === "function") { for (let key of __getOwnPropNames(from4)) if (!__hasOwnProp.call(to3, key) && key !== except12) __defProp(to3, key, { get: () => from4[key], enumerable: !(desc = __getOwnPropDesc(from4, key)) || desc.enumerable }); } return to3; }; var __toESM = (mod8, isNodeMode, target) => (target = mod8 != null ? __create(__getProtoOf(mod8)) : {}, __copyProps( // If the importer is in node compatibility mode or this is not an ESM // file that has been converted to a CommonJS file using a Babel- // compatible transform (i.e. "__esModule" has not been set), then set // "default" to the CommonJS "module.exports" for node compatibility. isNodeMode || !mod8 || !mod8.__esModule ? __defProp(target, "default", { value: mod8, enumerable: true }) : target, mod8 )); // node_modules/spdx-license-ids/index.json var require_spdx_license_ids = __commonJS({ "node_modules/spdx-license-ids/index.json"(exports, module) { module.exports = [ "0BSD", "3D-Slicer-1.0", "AAL", "ADSL", "AFL-1.1", "AFL-1.2", "AFL-2.0", "AFL-2.1", "AFL-3.0", "AGPL-1.0-only", "AGPL-1.0-or-later", "AGPL-3.0-only", "AGPL-3.0-or-later", "AMD-newlib", "AMDPLPA", "AML", "AML-glslang", "AMPAS", "ANTLR-PD", "ANTLR-PD-fallback", "APAFML", "APL-1.0", "APSL-1.0", "APSL-1.1", "APSL-1.2", "APSL-2.0", "ASWF-Digital-Assets-1.0", "ASWF-Digital-Assets-1.1", "Abstyles", "AdaCore-doc", "Adobe-2006", "Adobe-Display-PostScript", "Adobe-Glyph", "Adobe-Utopia", "Afmparse", "Aladdin", "Apache-1.0", "Apache-1.1", "Apache-2.0", "App-s2p", "Arphic-1999", "Artistic-1.0", "Artistic-1.0-Perl", "Artistic-1.0-cl8", "Artistic-2.0", "BSD-1-Clause", "BSD-2-Clause", "BSD-2-Clause-Darwin", "BSD-2-Clause-Patent", "BSD-2-Clause-Views", "BSD-2-Clause-first-lines", "BSD-3-Clause", "BSD-3-Clause-Attribution", "BSD-3-Clause-Clear", "BSD-3-Clause-HP", "BSD-3-Clause-LBNL", "BSD-3-Clause-Modification", "BSD-3-Clause-No-Military-License", "BSD-3-Clause-No-Nuclear-License", "BSD-3-Clause-No-Nuclear-License-2014", "BSD-3-Clause-No-Nuclear-Warranty", "BSD-3-Clause-Open-MPI", "BSD-3-Clause-Sun", "BSD-3-Clause-acpica", "BSD-3-Clause-flex", "BSD-4-Clause", "BSD-4-Clause-Shortened", "BSD-4-Clause-UC", "BSD-4.3RENO", "BSD-4.3TAHOE", "BSD-Advertising-Acknowledgement", "BSD-Attribution-HPND-disclaimer", "BSD-Inferno-Nettverk", "BSD-Protection", "BSD-Source-Code", "BSD-Source-beginning-file", "BSD-Systemics", "BSD-Systemics-W3Works", "BSL-1.0", "BUSL-1.1", "Baekmuk", "Bahyph", "Barr", "Beerware", "BitTorrent-1.0", "BitTorrent-1.1", "Bitstream-Charter", "Bitstream-Vera", "BlueOak-1.0.0", "Boehm-GC", "Boehm-GC-without-fee", "Borceux", "Brian-Gladman-2-Clause", "Brian-Gladman-3-Clause", "C-UDA-1.0", "CAL-1.0", "CAL-1.0-Combined-Work-Exception", "CATOSL-1.1", "CC-BY-1.0", "CC-BY-2.0", "CC-BY-2.5", "CC-BY-2.5-AU", "CC-BY-3.0", "CC-BY-3.0-AT", "CC-BY-3.0-AU", "CC-BY-3.0-DE", "CC-BY-3.0-IGO", "CC-BY-3.0-NL", "CC-BY-3.0-US", "CC-BY-4.0", "CC-BY-NC-1.0", "CC-BY-NC-2.0", "CC-BY-NC-2.5", "CC-BY-NC-3.0", "CC-BY-NC-3.0-DE", "CC-BY-NC-4.0", "CC-BY-NC-ND-1.0", "CC-BY-NC-ND-2.0", "CC-BY-NC-ND-2.5", "CC-BY-NC-ND-3.0", "CC-BY-NC-ND-3.0-DE", "CC-BY-NC-ND-3.0-IGO", "CC-BY-NC-ND-4.0", "CC-BY-NC-SA-1.0", "CC-BY-NC-SA-2.0", "CC-BY-NC-SA-2.0-DE", "CC-BY-NC-SA-2.0-FR", "CC-BY-NC-SA-2.0-UK", "CC-BY-NC-SA-2.5", "CC-BY-NC-SA-3.0", "CC-BY-NC-SA-3.0-DE", "CC-BY-NC-SA-3.0-IGO", "CC-BY-NC-SA-4.0", "CC-BY-ND-1.0", "CC-BY-ND-2.0", "CC-BY-ND-2.5", "CC-BY-ND-3.0", "CC-BY-ND-3.0-DE", "CC-BY-ND-4.0", "CC-BY-SA-1.0", "CC-BY-SA-2.0", "CC-BY-SA-2.0-UK", "CC-BY-SA-2.1-JP", "CC-BY-SA-2.5", "CC-BY-SA-3.0", "CC-BY-SA-3.0-AT", "CC-BY-SA-3.0-DE", "CC-BY-SA-3.0-IGO", "CC-BY-SA-4.0", "CC-PDDC", "CC-PDM-1.0", "CC-SA-1.0", "CC0-1.0", "CDDL-1.0", "CDDL-1.1", "CDL-1.0", "CDLA-Permissive-1.0", "CDLA-Permissive-2.0", "CDLA-Sharing-1.0", "CECILL-1.0", "CECILL-1.1", "CECILL-2.0", "CECILL-2.1", "CECILL-B", "CECILL-C", "CERN-OHL-1.1", "CERN-OHL-1.2", "CERN-OHL-P-2.0", "CERN-OHL-S-2.0", "CERN-OHL-W-2.0", "CFITSIO", "CMU-Mach", "CMU-Mach-nodoc", "CNRI-Jython", "CNRI-Python", "CNRI-Python-GPL-Compatible", "COIL-1.0", "CPAL-1.0", "CPL-1.0", "CPOL-1.02", "CUA-OPL-1.0", "Caldera", "Caldera-no-preamble", "Catharon", "ClArtistic", "Clips", "Community-Spec-1.0", "Condor-1.1", "Cornell-Lossless-JPEG", "Cronyx", "Crossword", "CrystalStacker", "Cube", "D-FSL-1.0", "DEC-3-Clause", "DL-DE-BY-2.0", "DL-DE-ZERO-2.0", "DOC", "DRL-1.0", "DRL-1.1", "DSDP", "DocBook-Schema", "DocBook-Stylesheet", "DocBook-XML", "Dotseqn", "ECL-1.0", "ECL-2.0", "EFL-1.0", "EFL-2.0", "EPICS", "EPL-1.0", "EPL-2.0", "EUDatagrid", "EUPL-1.0", "EUPL-1.1", "EUPL-1.2", "Elastic-2.0", "Entessa", "ErlPL-1.1", "Eurosym", "FBM", "FDK-AAC", "FSFAP", "FSFAP-no-warranty-disclaimer", "FSFUL", "FSFULLR", "FSFULLRWD", "FTL", "Fair", "Ferguson-Twofish", "Frameworx-1.0", "FreeBSD-DOC", "FreeImage", "Furuseth", "GCR-docs", "GD", "GFDL-1.1-invariants-only", "GFDL-1.1-invariants-or-later", "GFDL-1.1-no-invariants-only", "GFDL-1.1-no-invariants-or-later", "GFDL-1.1-only", "GFDL-1.1-or-later", "GFDL-1.2-invariants-only", "GFDL-1.2-invariants-or-later", "GFDL-1.2-no-invariants-only", "GFDL-1.2-no-invariants-or-later", "GFDL-1.2-only", "GFDL-1.2-or-later", "GFDL-1.3-invariants-only", "GFDL-1.3-invariants-or-later", "GFDL-1.3-no-invariants-only", "GFDL-1.3-no-invariants-or-later", "GFDL-1.3-only", "GFDL-1.3-or-later", "GL2PS", "GLWTPL", "GPL-1.0-only", "GPL-1.0-or-later", "GPL-2.0-only", "GPL-2.0-or-later", "GPL-3.0-only", "GPL-3.0-or-later", "Giftware", "Glide", "Glulxe", "Graphics-Gems", "Gutmann", "HIDAPI", "HP-1986", "HP-1989", "HPND", "HPND-DEC", "HPND-Fenneberg-Livingston", "HPND-INRIA-IMAG", "HPND-Intel", "HPND-Kevlin-Henney", "HPND-MIT-disclaimer", "HPND-Markus-Kuhn", "HPND-Netrek", "HPND-Pbmplus", "HPND-UC", "HPND-UC-export-US", "HPND-doc", "HPND-doc-sell", "HPND-export-US", "HPND-export-US-acknowledgement", "HPND-export-US-modify", "HPND-export2-US", "HPND-merchantability-variant", "HPND-sell-MIT-disclaimer-xserver", "HPND-sell-regexpr", "HPND-sell-variant", "HPND-sell-variant-MIT-disclaimer", "HPND-sell-variant-MIT-disclaimer-rev", "HTMLTIDY", "HaskellReport", "Hippocratic-2.1", "IBM-pibs", "ICU", "IEC-Code-Components-EULA", "IJG", "IJG-short", "IPA", "IPL-1.0", "ISC", "ISC-Veillard", "ImageMagick", "Imlib2", "Info-ZIP", "Inner-Net-2.0", "InnoSetup", "Intel", "Intel-ACPI", "Interbase-1.0", "JPL-image", "JPNIC", "JSON", "Jam", "JasPer-2.0", "Kastrup", "Kazlib", "Knuth-CTAN", "LAL-1.2", "LAL-1.3", "LGPL-2.0-only", "LGPL-2.0-or-later", "LGPL-2.1-only", "LGPL-2.1-or-later", "LGPL-3.0-only", "LGPL-3.0-or-later", "LGPLLR", "LOOP", "LPD-document", "LPL-1.0", "LPL-1.02", "LPPL-1.0", "LPPL-1.1", "LPPL-1.2", "LPPL-1.3a", "LPPL-1.3c", "LZMA-SDK-9.11-to-9.20", "LZMA-SDK-9.22", "Latex2e", "Latex2e-translated-notice", "Leptonica", "LiLiQ-P-1.1", "LiLiQ-R-1.1", "LiLiQ-Rplus-1.1", "Libpng", "Linux-OpenIB", "Linux-man-pages-1-para", "Linux-man-pages-copyleft", "Linux-man-pages-copyleft-2-para", "Linux-man-pages-copyleft-var", "Lucida-Bitmap-Fonts", "MIPS", "MIT", "MIT-0", "MIT-CMU", "MIT-Click", "MIT-Festival", "MIT-Khronos-old", "MIT-Modern-Variant", "MIT-Wu", "MIT-advertising", "MIT-enna", "MIT-feh", "MIT-open-group", "MIT-testregex", "MITNFA", "MMIXware", "MPEG-SSG", "MPL-1.0", "MPL-1.1", "MPL-2.0", "MPL-2.0-no-copyleft-exception", "MS-LPL", "MS-PL", "MS-RL", "MTLL", "Mackerras-3-Clause", "Mackerras-3-Clause-acknowledgment", "MakeIndex", "Martin-Birgmeier", "McPhee-slideshow", "Minpack", "MirOS", "Motosoto", "MulanPSL-1.0", "MulanPSL-2.0", "Multics", "Mup", "NAIST-2003", "NASA-1.3", "NBPL-1.0", "NCBI-PD", "NCGL-UK-2.0", "NCL", "NCSA", "NGPL", "NICTA-1.0", "NIST-PD", "NIST-PD-fallback", "NIST-Software", "NLOD-1.0", "NLOD-2.0", "NLPL", "NOSL", "NPL-1.0", "NPL-1.1", "NPOSL-3.0", "NRL", "NTP", "NTP-0", "Naumen", "NetCDF", "Newsletr", "Nokia", "Noweb", "O-UDA-1.0", "OAR", "OCCT-PL", "OCLC-2.0", "ODC-By-1.0", "ODbL-1.0", "OFFIS", "OFL-1.0", "OFL-1.0-RFN", "OFL-1.0-no-RFN", "OFL-1.1", "OFL-1.1-RFN", "OFL-1.1-no-RFN", "OGC-1.0", "OGDL-Taiwan-1.0", "OGL-Canada-2.0", "OGL-UK-1.0", "OGL-UK-2.0", "OGL-UK-3.0", "OGTSL", "OLDAP-1.1", "OLDAP-1.2", "OLDAP-1.3", "OLDAP-1.4", "OLDAP-2.0", "OLDAP-2.0.1", "OLDAP-2.1", "OLDAP-2.2", "OLDAP-2.2.1", "OLDAP-2.2.2", "OLDAP-2.3", "OLDAP-2.4", "OLDAP-2.5", "OLDAP-2.6", "OLDAP-2.7", "OLDAP-2.8", "OLFL-1.3", "OML", "OPL-1.0", "OPL-UK-3.0", "OPUBL-1.0", "OSET-PL-2.1", "OSL-1.0", "OSL-1.1", "OSL-2.0", "OSL-2.1", "OSL-3.0", "OpenPBS-2.3", "OpenSSL", "OpenSSL-standalone", "OpenVision", "PADL", "PDDL-1.0", "PHP-3.0", "PHP-3.01", "PPL", "PSF-2.0", "Parity-6.0.0", "Parity-7.0.0", "Pixar", "Plexus", "PolyForm-Noncommercial-1.0.0", "PolyForm-Small-Business-1.0.0", "PostgreSQL", "Python-2.0", "Python-2.0.1", "QPL-1.0", "QPL-1.0-INRIA-2004", "Qhull", "RHeCos-1.1", "RPL-1.1", "RPL-1.5", "RPSL-1.0", "RSA-MD", "RSCPL", "Rdisc", "Ruby", "Ruby-pty", "SAX-PD", "SAX-PD-2.0", "SCEA", "SGI-B-1.0", "SGI-B-1.1", "SGI-B-2.0", "SGI-OpenGL", "SGP4", "SHL-0.5", "SHL-0.51", "SISSL", "SISSL-1.2", "SL", "SMAIL-GPL", "SMLNJ", "SMPPL", "SNIA", "SPL-1.0", "SSH-OpenSSH", "SSH-short", "SSLeay-standalone", "SSPL-1.0", "SWL", "Saxpath", "SchemeReport", "Sendmail", "Sendmail-8.23", "Sendmail-Open-Source-1.1", "SimPL-2.0", "Sleepycat", "Soundex", "Spencer-86", "Spencer-94", "Spencer-99", "SugarCRM-1.1.3", "Sun-PPP", "Sun-PPP-2000", "SunPro", "Symlinks", "TAPR-OHL-1.0", "TCL", "TCP-wrappers", "TGPPL-1.0", "TMate", "TORQUE-1.1", "TOSL", "TPDL", "TPL-1.0", "TTWL", "TTYP0", "TU-Berlin-1.0", "TU-Berlin-2.0", "TermReadKey", "ThirdEye", "TrustedQSL", "UCAR", "UCL-1.0", "UMich-Merit", "UPL-1.0", "URT-RLE", "Ubuntu-font-1.0", "Unicode-3.0", "Unicode-DFS-2015", "Unicode-DFS-2016", "Unicode-TOU", "UnixCrypt", "Unlicense", "VOSTROM", "VSL-1.0", "Vim", "W3C", "W3C-19980720", "W3C-20150513", "WTFPL", "Watcom-1.0", "Widget-Workshop", "Wsuipa", "X11", "X11-distribute-modifications-variant", "X11-swapped", "XFree86-1.1", "XSkat", "Xdebug-1.03", "Xerox", "Xfig", "Xnet", "YPL-1.0", "YPL-1.1", "ZPL-1.1", "ZPL-2.0", "ZPL-2.1", "Zed", "Zeeff", "Zend-2.0", "Zimbra-1.3", "Zimbra-1.4", "Zlib", "any-OSI", "any-OSI-perl-modules", "bcrypt-Solar-Designer", "blessing", "bzip2-1.0.6", "check-cvs", "checkmk", "copyleft-next-0.3.0", "copyleft-next-0.3.1", "curl", "cve-tou", "diffmark", "dtoa", "dvipdfm", "eGenix", "etalab-2.0", "fwlw", "gSOAP-1.3b", "generic-xts", "gnuplot", "gtkbook", "hdparm", "iMatix", "libpng-2.0", "libselinux-1.0", "libtiff", "libutil-David-Nugent", "lsof", "magaz", "mailprio", "metamail", "mpi-permissive", "mpich2", "mplus", "pkgconf", "pnmstitch", "psfrag", "psutils", "python-ldap", "radvd", "snprintf", "softSurfer", "ssh-keyscan", "swrule", "threeparttable", "ulem", "w3m", "wwl", "xinetd", "xkeyboard-config-Zinoviev", "xlock", "xpp", "xzoom", "zlib-acknowledgement" ]; } }); // node_modules/spdx-license-ids/deprecated.json var require_deprecated = __commonJS({ "node_modules/spdx-license-ids/deprecated.json"(exports, module) { module.exports = [ "AGPL-1.0", "AGPL-3.0", "BSD-2-Clause-FreeBSD", "BSD-2-Clause-NetBSD", "GFDL-1.1", "GFDL-1.2", "GFDL-1.3", "GPL-1.0", "GPL-2.0", "GPL-2.0-with-GCC-exception", "GPL-2.0-with-autoconf-exception", "GPL-2.0-with-bison-exception", "GPL-2.0-with-classpath-exception", "GPL-2.0-with-font-exception", "GPL-3.0", "GPL-3.0-with-GCC-exception", "GPL-3.0-with-autoconf-exception", "LGPL-2.0", "LGPL-2.1", "LGPL-3.0", "Net-SNMP", "Nunit", "StandardML-NJ", "bzip2-1.0.5", "eCos-2.0", "wxWindows" ]; } }); // node_modules/spdx-exceptions/index.json var require_spdx_exceptions = __commonJS({ "node_modules/spdx-exceptions/index.json"(exports, module) { module.exports = [ "389-exception", "Asterisk-exception", "Autoconf-exception-2.0", "Autoconf-exception-3.0", "Autoconf-exception-generic", "Autoconf-exception-generic-3.0", "Autoconf-exception-macro", "Bison-exception-1.24", "Bison-exception-2.2", "Bootloader-exception", "Classpath-exception-2.0", "CLISP-exception-2.0", "cryptsetup-OpenSSL-exception", "DigiRule-FOSS-exception", "eCos-exception-2.0", "Fawkes-Runtime-exception", "FLTK-exception", "fmt-exception", "Font-exception-2.0", "freertos-exception-2.0", "GCC-exception-2.0", "GCC-exception-2.0-note", "GCC-exception-3.1", "Gmsh-exception", "GNAT-exception", "GNOME-examples-exception", "GNU-compiler-exception", "gnu-javamail-exception", "GPL-3.0-interface-exception", "GPL-3.0-linking-exception", "GPL-3.0-linking-source-exception", "GPL-CC-1.0", "GStreamer-exception-2005", "GStreamer-exception-2008", "i2p-gpl-java-exception", "KiCad-libraries-exception", "LGPL-3.0-linking-exception", "libpri-OpenH323-exception", "Libtool-exception", "Linux-syscall-note", "LLGPL", "LLVM-exception", "LZMA-exception", "mif-exception", "OCaml-LGPL-linking-exception", "OCCT-exception-1.0", "OpenJDK-assembly-exception-1.0", "openvpn-openssl-exception", "PS-or-PDF-font-exception-20170817", "QPL-1.0-INRIA-2004-exception", "Qt-GPL-exception-1.0", "Qt-LGPL-exception-1.1", "Qwt-exception-1.0", "SANE-exception", "SHL-2.0", "SHL-2.1", "stunnel-exception", "SWI-exception", "Swift-exception", "Texinfo-exception", "u-boot-exception-2.0", "UBDL-exception", "Universal-FOSS-exception-1.0", "vsftpd-openssl-exception", "WxWindows-exception-3.1", "x11vnc-openssl-exception" ]; } }); // node_modules/spdx-expression-parse/scan.js var require_scan = __commonJS({ "node_modules/spdx-expression-parse/scan.js"(exports, module) { "use strict"; var licenses = [].concat(require_spdx_license_ids()).concat(require_deprecated()); var exceptions = require_spdx_exceptions(); module.exports = function(source2) { var index5 = 0; function hasMore() { return index5 < source2.length; } function read7(value4) { if (value4 instanceof RegExp) { var chars2 = source2.slice(index5); var match5 = chars2.match(value4); if (match5) { index5 += match5[0].length; return match5[0]; } } else { if (source2.indexOf(value4, index5) === index5) { index5 += value4.length; return value4; } } } function skipWhitespace() { read7(/[ ]*/); } function operator() { var string8; var possibilities = [/^WITH/i, /^AND/i, /^OR/i, "(", ")", ":", "+"]; for (var i = 0; i < possibilities.length; i++) { string8 = read7(possibilities[i]); if (string8) { break; } } if (string8 === "+" && index5 > 1 && source2[index5 - 2] === " ") { throw new Error("Space before `+`"); } return string8 && { type: "OPERATOR", string: string8.toUpperCase() }; } function idstring() { return read7(/[A-Za-z0-9-.]+/); } function expectIdstring() { var string8 = idstring(); if (!string8) { throw new Error("Expected idstring at offset " + index5); } return string8; } function documentRef() { if (read7("DocumentRef-")) { var string8 = expectIdstring(); return { type: "DOCUMENTREF", string: string8 }; } } function licenseRef() { if (read7("LicenseRef-")) { var string8 = expectIdstring(); return { type: "LICENSEREF", string: string8 }; } } function identifier() { var begin = index5; var string8 = idstring(); if (licenses.indexOf(string8) !== -1) { return { type: "LICENSE", string: string8 }; } else if (exceptions.indexOf(string8) !== -1) { return { type: "EXCEPTION", string: string8 }; } index5 = begin; } function parseToken() { return operator() || documentRef() || licenseRef() || identifier(); } var tokens = []; while (hasMore()) { skipWhitespace(); if (!hasMore()) { break; } var token2 = parseToken(); if (!token2) { throw new Error("Unexpected `" + source2[index5] + "` at offset " + index5); } tokens.push(token2); } return tokens; }; } }); // node_modules/spdx-expression-parse/parse.js var require_parse = __commonJS({ "node_modules/spdx-expression-parse/parse.js"(exports, module) { "use strict"; module.exports = function(tokens) { var index5 = 0; function hasMore() { return index5 < tokens.length; } function token2() { return hasMore() ? tokens[index5] : null; } function next2() { if (!hasMore()) { throw new Error(); } index5++; } function parseOperator2(operator) { var t = token2(); if (t && t.type === "OPERATOR" && operator === t.string) { next2(); return t.string; } } function parseWith() { if (parseOperator2("WITH")) { var t = token2(); if (t && t.type === "EXCEPTION") { next2(); return t.string; } throw new Error("Expected exception after `WITH`"); } } function parseLicenseRef() { var begin = index5; var string8 = ""; var t = token2(); if (t.type === "DOCUMENTREF") { next2(); string8 += "DocumentRef-" + t.string + ":"; if (!parseOperator2(":")) { throw new Error("Expected `:` after `DocumentRef-...`"); } } t = token2(); if (t.type === "LICENSEREF") { next2(); string8 += "LicenseRef-" + t.string; return { license: string8 }; } index5 = begin; } function parseLicense() { var t = token2(); if (t && t.type === "LICENSE") { next2(); var node2 = { license: t.string }; if (parseOperator2("+")) { node2.plus = true; } var exception = parseWith(); if (exception) { node2.exception = exception; } return node2; } } function parseParenthesizedExpression() { var left3 = parseOperator2("("); if (!left3) { return; } var expr = parseExpression(); if (!parseOperator2(")")) { throw new Error("Expected `)`"); } return expr; } function parseAtom() { return parseParenthesizedExpression() || parseLicenseRef() || parseLicense(); } function makeBinaryOpParser(operator, nextParser) { return function parseBinaryOp() { var left3 = nextParser(); if (!left3) { return; } if (!parseOperator2(operator)) { return left3; } var right2 = parseBinaryOp(); if (!right2) { throw new Error("Expected expression"); } return { left: left3, conjunction: operator.toLowerCase(), right: right2 }; }; } var parseAnd = makeBinaryOpParser("AND", parseAtom); var parseExpression = makeBinaryOpParser("OR", parseAnd); var node = parseExpression(); if (!node || hasMore()) { throw new Error("Syntax error"); } return node; }; } }); // node_modules/spdx-expression-parse/index.js var require_spdx_expression_parse = __commonJS({ "node_modules/spdx-expression-parse/index.js"(exports, module) { "use strict"; var scan = require_scan(); var parse12 = require_parse(); module.exports = function(source2) { return parse12(scan(source2)); }; } }); // node_modules/yaml/dist/nodes/identity.js var require_identity = __commonJS({ "node_modules/yaml/dist/nodes/identity.js"(exports) { "use strict"; var ALIAS = /* @__PURE__ */ Symbol.for("yaml.alias"); var DOC = /* @__PURE__ */ Symbol.for("yaml.document"); var MAP = /* @__PURE__ */ Symbol.for("yaml.map"); var PAIR = /* @__PURE__ */ Symbol.for("yaml.pair"); var SCALAR = /* @__PURE__ */ Symbol.for("yaml.scalar"); var SEQ = /* @__PURE__ */ Symbol.for("yaml.seq"); var NODE_TYPE = /* @__PURE__ */ Symbol.for("yaml.node.type"); var isAlias = (node) => !!node && typeof node === "object" && node[NODE_TYPE] === ALIAS; var isDocument = (node) => !!node && typeof node === "object" && node[NODE_TYPE] === DOC; var isMap = (node) => !!node && typeof node === "object" && node[NODE_TYPE] === MAP; var isPair = (node) => !!node && typeof node === "object" && node[NODE_TYPE] === PAIR; var isScalar = (node) => !!node && typeof node === "object" && node[NODE_TYPE] === SCALAR; var isSeq = (node) => !!node && typeof node === "object" && node[NODE_TYPE] === SEQ; function isCollection(node) { if (node && typeof node === "object") switch (node[NODE_TYPE]) { case MAP: case SEQ: return true; } return false; } function isNode(node) { if (node && typeof node === "object") switch (node[NODE_TYPE]) { case ALIAS: case MAP: case SCALAR: case SEQ: return true; } return false; } var hasAnchor = (node) => (isScalar(node) || isCollection(node)) && !!node.anchor; exports.ALIAS = ALIAS; exports.DOC = DOC; exports.MAP = MAP; exports.NODE_TYPE = NODE_TYPE; exports.PAIR = PAIR; exports.SCALAR = SCALAR; exports.SEQ = SEQ; exports.hasAnchor = hasAnchor; exports.isAlias = isAlias; exports.isCollection = isCollection; exports.isDocument = isDocument; exports.isMap = isMap; exports.isNode = isNode; exports.isPair = isPair; exports.isScalar = isScalar; exports.isSeq = isSeq; } }); // node_modules/yaml/dist/visit.js var require_visit = __commonJS({ "node_modules/yaml/dist/visit.js"(exports) { "use strict"; var identity38 = require_identity(); var BREAK = /* @__PURE__ */ Symbol("break visit"); var SKIP = /* @__PURE__ */ Symbol("skip children"); var REMOVE = /* @__PURE__ */ Symbol("remove node"); function visit(node, visitor) { const visitor_ = initVisitor(visitor); if (identity38.isDocument(node)) { const cd = visit_(null, node.contents, visitor_, Object.freeze([node])); if (cd === REMOVE) node.contents = null; } else visit_(null, node, visitor_, Object.freeze([])); } visit.BREAK = BREAK; visit.SKIP = SKIP; visit.REMOVE = REMOVE; function visit_(key, node, visitor, path8) { const ctrl = callVisitor(key, node, visitor, path8); if (identity38.isNode(ctrl) || identity38.isPair(ctrl)) { replaceNode(key, path8, ctrl); return visit_(key, ctrl, visitor, path8); } if (typeof ctrl !== "symbol") { if (identity38.isCollection(node)) { path8 = Object.freeze(path8.concat(node)); for (let i = 0; i < node.items.length; ++i) { const ci2 = visit_(i, node.items[i], visitor, path8); if (typeof ci2 === "number") i = ci2 - 1; else if (ci2 === BREAK) return BREAK; else if (ci2 === REMOVE) { node.items.splice(i, 1); i -= 1; } } } else if (identity38.isPair(node)) { path8 = Object.freeze(path8.concat(node)); const ck = visit_("key", node.key, visitor, path8); if (ck === BREAK) return BREAK; else if (ck === REMOVE) node.key = null; const cv = visit_("value", node.value, visitor, path8); if (cv === BREAK) return BREAK; else if (cv === REMOVE) node.value = null; } } return ctrl; } async function visitAsync(node, visitor) { const visitor_ = initVisitor(visitor); if (identity38.isDocument(node)) { const cd = await visitAsync_(null, node.contents, visitor_, Object.freeze([node])); if (cd === REMOVE) node.contents = null; } else await visitAsync_(null, node, visitor_, Object.freeze([])); } visitAsync.BREAK = BREAK; visitAsync.SKIP = SKIP; visitAsync.REMOVE = REMOVE; async function visitAsync_(key, node, visitor, path8) { const ctrl = await callVisitor(key, node, visitor, path8); if (identity38.isNode(ctrl) || identity38.isPair(ctrl)) { replaceNode(key, path8, ctrl); return visitAsync_(key, ctrl, visitor, path8); } if (typeof ctrl !== "symbol") { if (identity38.isCollection(node)) { path8 = Object.freeze(path8.concat(node)); for (let i = 0; i < node.items.length; ++i) { const ci2 = await visitAsync_(i, node.items[i], visitor, path8); if (typeof ci2 === "number") i = ci2 - 1; else if (ci2 === BREAK) return BREAK; else if (ci2 === REMOVE) { node.items.splice(i, 1); i -= 1; } } } else if (identity38.isPair(node)) { path8 = Object.freeze(path8.concat(node)); const ck = await visitAsync_("key", node.key, visitor, path8); if (ck === BREAK) return BREAK; else if (ck === REMOVE) node.key = null; const cv = await visitAsync_("value", node.value, visitor, path8); if (cv === BREAK) return BREAK; else if (cv === REMOVE) node.value = null; } } return ctrl; } function initVisitor(visitor) { if (typeof visitor === "object" && (visitor.Collection || visitor.Node || visitor.Value)) { return Object.assign({ Alias: visitor.Node, Map: visitor.Node, Scalar: visitor.Node, Seq: visitor.Node }, visitor.Value && { Map: visitor.Value, Scalar: visitor.Value, Seq: visitor.Value }, visitor.Collection && { Map: visitor.Collection, Seq: visitor.Collection }, visitor); } return visitor; } function callVisitor(key, node, visitor, path8) { if (typeof visitor === "function") return visitor(key, node, path8); if (identity38.isMap(node)) return visitor.Map?.(key, node, path8); if (identity38.isSeq(node)) return visitor.Seq?.(key, node, path8); if (identity38.isPair(node)) return visitor.Pair?.(key, node, path8); if (identity38.isScalar(node)) return visitor.Scalar?.(key, node, path8); if (identity38.isAlias(node)) return visitor.Alias?.(key, node, path8); return void 0; } function replaceNode(key, path8, node) { const parent = path8[path8.length - 1]; if (identity38.isCollection(parent)) { parent.items[key] = node; } else if (identity38.isPair(parent)) { if (key === "key") parent.key = node; else parent.value = node; } else if (identity38.isDocument(parent)) { parent.contents = node; } else { const pt2 = identity38.isAlias(parent) ? "alias" : "scalar"; throw new Error(`Cannot replace node with ${pt2} parent`); } } exports.visit = visit; exports.visitAsync = visitAsync; } }); // node_modules/yaml/dist/doc/directives.js var require_directives = __commonJS({ "node_modules/yaml/dist/doc/directives.js"(exports) { "use strict"; var identity38 = require_identity(); var visit = require_visit(); var escapeChars = { "!": "%21", ",": "%2C", "[": "%5B", "]": "%5D", "{": "%7B", "}": "%7D" }; var escapeTagName = (tn) => tn.replace(/[!,[\]{}]/g, (ch) => escapeChars[ch]); var Directives = class _Directives { constructor(yaml, tags) { this.docStart = null; this.docEnd = false; this.yaml = Object.assign({}, _Directives.defaultYaml, yaml); this.tags = Object.assign({}, _Directives.defaultTags, tags); } clone() { const copy = new _Directives(this.yaml, this.tags); copy.docStart = this.docStart; return copy; } /** * During parsing, get a Directives instance for the current document and * update the stream state according to the current version's spec. */ atDocument() { const res = new _Directives(this.yaml, this.tags); switch (this.yaml.version) { case "1.1": this.atNextDocument = true; break; case "1.2": this.atNextDocument = false; this.yaml = { explicit: _Directives.defaultYaml.explicit, version: "1.2" }; this.tags = Object.assign({}, _Directives.defaultTags); break; } return res; } /** * @param onError - May be called even if the action was successful * @returns `true` on success */ add(line2, onError) { if (this.atNextDocument) { this.yaml = { explicit: _Directives.defaultYaml.explicit, version: "1.1" }; this.tags = Object.assign({}, _Directives.defaultTags); this.atNextDocument = false; } const parts = line2.trim().split(/[ \t]+/); const name4 = parts.shift(); switch (name4) { case "%TAG": { if (parts.length !== 2) { onError(0, "%TAG directive should contain exactly two parts"); if (parts.length < 2) return false; } const [handle, prefix4] = parts; this.tags[handle] = prefix4; return true; } case "%YAML": { this.yaml.explicit = true; if (parts.length !== 1) { onError(0, "%YAML directive should contain exactly one part"); return false; } const [version3] = parts; if (version3 === "1.1" || version3 === "1.2") { this.yaml.version = version3; return true; } else { const isValid2 = /^\d+\.\d+$/.test(version3); onError(6, `Unsupported YAML version ${version3}`, isValid2); return false; } } default: onError(0, `Unknown directive ${name4}`, true); return false; } } /** * Resolves a tag, matching handles to those defined in %TAG directives. * * @returns Resolved tag, which may also be the non-specific tag `'!'` or a * `'!local'` tag, or `null` if unresolvable. */ tagName(source2, onError) { if (source2 === "!") return "!"; if (source2[0] !== "!") { onError(`Not a valid tag: ${source2}`); return null; } if (source2[1] === "<") { const verbatim = source2.slice(2, -1); if (verbatim === "!" || verbatim === "!!") { onError(`Verbatim tags aren't resolved, so ${source2} is invalid.`); return null; } if (source2[source2.length - 1] !== ">") onError("Verbatim tags must end with a >"); return verbatim; } const [, handle, suffix2] = source2.match(/^(.*!)([^!]*)$/s); if (!suffix2) onError(`The ${source2} tag has no suffix`); const prefix4 = this.tags[handle]; if (prefix4) { try { return prefix4 + decodeURIComponent(suffix2); } catch (error5) { onError(String(error5)); return null; } } if (handle === "!") return source2; onError(`Could not resolve tag: ${source2}`); return null; } /** * Given a fully resolved tag, returns its printable string form, * taking into account current tag prefixes and defaults. */ tagString(tag) { for (const [handle, prefix4] of Object.entries(this.tags)) { if (tag.startsWith(prefix4)) return handle + escapeTagName(tag.substring(prefix4.length)); } return tag[0] === "!" ? tag : `!<${tag}>`; } toString(doc) { const lines7 = this.yaml.explicit ? [`%YAML ${this.yaml.version || "1.2"}`] : []; const tagEntries = Object.entries(this.tags); let tagNames; if (doc && tagEntries.length > 0 && identity38.isNode(doc.contents)) { const tags = {}; visit.visit(doc.contents, (_key, node) => { if (identity38.isNode(node) && node.tag) tags[node.tag] = true; }); tagNames = Object.keys(tags); } else tagNames = []; for (const [handle, prefix4] of tagEntries) { if (handle === "!!" && prefix4 === "tag:yaml.org,2002:") continue; if (!doc || tagNames.some((tn) => tn.startsWith(prefix4))) lines7.push(`%TAG ${handle} ${prefix4}`); } return lines7.join("\n"); } }; Directives.defaultYaml = { explicit: false, version: "1.2" }; Directives.defaultTags = { "!!": "tag:yaml.org,2002:" }; exports.Directives = Directives; } }); // node_modules/yaml/dist/doc/anchors.js var require_anchors = __commonJS({ "node_modules/yaml/dist/doc/anchors.js"(exports) { "use strict"; var identity38 = require_identity(); var visit = require_visit(); function anchorIsValid(anchor) { if (/[\x00-\x19\s,[\]{}]/.test(anchor)) { const sa = JSON.stringify(anchor); const msg = `Anchor must not contain whitespace or control characters: ${sa}`; throw new Error(msg); } return true; } function anchorNames(root2) { const anchors = /* @__PURE__ */ new Set(); visit.visit(root2, { Value(_key, node) { if (node.anchor) anchors.add(node.anchor); } }); return anchors; } function findNewAnchor(prefix4, exclude) { for (let i = 1; true; ++i) { const name4 = `${prefix4}${i}`; if (!exclude.has(name4)) return name4; } } function createNodeAnchors(doc, prefix4) { const aliasObjects = []; const sourceObjects = /* @__PURE__ */ new Map(); let prevAnchors = null; return { onAnchor: (source2) => { aliasObjects.push(source2); prevAnchors ?? (prevAnchors = anchorNames(doc)); const anchor = findNewAnchor(prefix4, prevAnchors); prevAnchors.add(anchor); return anchor; }, /** * With circular references, the source node is only resolved after all * of its child nodes are. This is why anchors are set only after all of * the nodes have been created. */ setAnchors: () => { for (const source2 of aliasObjects) { const ref2 = sourceObjects.get(source2); if (typeof ref2 === "object" && ref2.anchor && (identity38.isScalar(ref2.node) || identity38.isCollection(ref2.node))) { ref2.node.anchor = ref2.anchor; } else { const error5 = new Error("Failed to resolve repeated object (this should not happen)"); error5.source = source2; throw error5; } } }, sourceObjects }; } exports.anchorIsValid = anchorIsValid; exports.anchorNames = anchorNames; exports.createNodeAnchors = createNodeAnchors; exports.findNewAnchor = findNewAnchor; } }); // node_modules/yaml/dist/doc/applyReviver.js var require_applyReviver = __commonJS({ "node_modules/yaml/dist/doc/applyReviver.js"(exports) { "use strict"; function applyReviver(reviver, obj, key, val) { if (val && typeof val === "object") { if (Array.isArray(val)) { for (let i = 0, len = val.length; i < len; ++i) { const v0 = val[i]; const v1 = applyReviver(reviver, val, String(i), v0); if (v1 === void 0) delete val[i]; else if (v1 !== v0) val[i] = v1; } } else if (val instanceof Map) { for (const k2 of Array.from(val.keys())) { const v0 = val.get(k2); const v1 = applyReviver(reviver, val, k2, v0); if (v1 === void 0) val.delete(k2); else if (v1 !== v0) val.set(k2, v1); } } else if (val instanceof Set) { for (const v0 of Array.from(val)) { const v1 = applyReviver(reviver, val, v0, v0); if (v1 === void 0) val.delete(v0); else if (v1 !== v0) { val.delete(v0); val.add(v1); } } } else { for (const [k2, v0] of Object.entries(val)) { const v1 = applyReviver(reviver, val, k2, v0); if (v1 === void 0) delete val[k2]; else if (v1 !== v0) val[k2] = v1; } } } return reviver.call(obj, key, val); } exports.applyReviver = applyReviver; } }); // node_modules/yaml/dist/nodes/toJS.js var require_toJS = __commonJS({ "node_modules/yaml/dist/nodes/toJS.js"(exports) { "use strict"; var identity38 = require_identity(); function toJS(value4, arg, ctx) { if (Array.isArray(value4)) return value4.map((v2, i) => toJS(v2, String(i), ctx)); if (value4 && typeof value4.toJSON === "function") { if (!ctx || !identity38.hasAnchor(value4)) return value4.toJSON(arg, ctx); const data = { aliasCount: 0, count: 1, res: void 0 }; ctx.anchors.set(value4, data); ctx.onCreate = (res2) => { data.res = res2; delete ctx.onCreate; }; const res = value4.toJSON(arg, ctx); if (ctx.onCreate) ctx.onCreate(res); return res; } if (typeof value4 === "bigint" && !ctx?.keep) return Number(value4); return value4; } exports.toJS = toJS; } }); // node_modules/yaml/dist/nodes/Node.js var require_Node = __commonJS({ "node_modules/yaml/dist/nodes/Node.js"(exports) { "use strict"; var applyReviver = require_applyReviver(); var identity38 = require_identity(); var toJS = require_toJS(); var NodeBase = class { constructor(type) { Object.defineProperty(this, identity38.NODE_TYPE, { value: type }); } /** Create a copy of this node. */ clone() { const copy = Object.create(Object.getPrototypeOf(this), Object.getOwnPropertyDescriptors(this)); if (this.range) copy.range = this.range.slice(); return copy; } /** A plain JavaScript representation of this node. */ toJS(doc, { mapAsMap, maxAliasCount, onAnchor, reviver } = {}) { if (!identity38.isDocument(doc)) throw new TypeError("A document argument is required"); const ctx = { anchors: /* @__PURE__ */ new Map(), doc, keep: true, mapAsMap: mapAsMap === true, mapKeyWarned: false, maxAliasCount: typeof maxAliasCount === "number" ? maxAliasCount : 100 }; const res = toJS.toJS(this, "", ctx); if (typeof onAnchor === "function") for (const { count, res: res2 } of ctx.anchors.values()) onAnchor(res2, count); return typeof reviver === "function" ? applyReviver.applyReviver(reviver, { "": res }, "", res) : res; } }; exports.NodeBase = NodeBase; } }); // node_modules/yaml/dist/nodes/Alias.js var require_Alias = __commonJS({ "node_modules/yaml/dist/nodes/Alias.js"(exports) { "use strict"; var anchors = require_anchors(); var visit = require_visit(); var identity38 = require_identity(); var Node2 = require_Node(); var toJS = require_toJS(); var Alias = class extends Node2.NodeBase { constructor(source2) { super(identity38.ALIAS); this.source = source2; Object.defineProperty(this, "tag", { set() { throw new Error("Alias nodes cannot have tags"); } }); } /** * Resolve the value of this alias within `doc`, finding the last * instance of the `source` anchor before this node. */ resolve(doc, ctx) { let nodes; if (ctx?.aliasResolveCache) { nodes = ctx.aliasResolveCache; } else { nodes = []; visit.visit(doc, { Node: (_key, node) => { if (identity38.isAlias(node) || identity38.hasAnchor(node)) nodes.push(node); } }); if (ctx) ctx.aliasResolveCache = nodes; } let found = void 0; for (const node of nodes) { if (node === this) break; if (node.anchor === this.source) found = node; } return found; } toJSON(_arg, ctx) { if (!ctx) return { source: this.source }; const { anchors: anchors2, doc, maxAliasCount } = ctx; const source2 = this.resolve(doc, ctx); if (!source2) { const msg = `Unresolved alias (the anchor must be set before the alias): ${this.source}`; throw new ReferenceError(msg); } let data = anchors2.get(source2); if (!data) { toJS.toJS(source2, null, ctx); data = anchors2.get(source2); } if (data?.res === void 0) { const msg = "This should not happen: Alias anchor was not resolved?"; throw new ReferenceError(msg); } if (maxAliasCount >= 0) { data.count += 1; if (data.aliasCount === 0) data.aliasCount = getAliasCount(doc, source2, anchors2); if (data.count * data.aliasCount > maxAliasCount) { const msg = "Excessive alias count indicates a resource exhaustion attack"; throw new ReferenceError(msg); } } return data.res; } toString(ctx, _onComment, _onChompKeep) { const src = `*${this.source}`; if (ctx) { anchors.anchorIsValid(this.source); if (ctx.options.verifyAliasOrder && !ctx.anchors.has(this.source)) { const msg = `Unresolved alias (the anchor must be set before the alias): ${this.source}`; throw new Error(msg); } if (ctx.implicitKey) return `${src} `; } return src; } }; function getAliasCount(doc, node, anchors2) { if (identity38.isAlias(node)) { const source2 = node.resolve(doc); const anchor = anchors2 && source2 && anchors2.get(source2); return anchor ? anchor.count * anchor.aliasCount : 0; } else if (identity38.isCollection(node)) { let count = 0; for (const item of node.items) { const c = getAliasCount(doc, item, anchors2); if (c > count) count = c; } return count; } else if (identity38.isPair(node)) { const kc = getAliasCount(doc, node.key, anchors2); const vc = getAliasCount(doc, node.value, anchors2); return Math.max(kc, vc); } return 1; } exports.Alias = Alias; } }); // node_modules/yaml/dist/nodes/Scalar.js var require_Scalar = __commonJS({ "node_modules/yaml/dist/nodes/Scalar.js"(exports) { "use strict"; var identity38 = require_identity(); var Node2 = require_Node(); var toJS = require_toJS(); var isScalarValue = (value4) => !value4 || typeof value4 !== "function" && typeof value4 !== "object"; var Scalar = class extends Node2.NodeBase { constructor(value4) { super(identity38.SCALAR); this.value = va