From 55842b56fe52400df8dbabb4d66d6c1bd64c883c Mon Sep 17 00:00:00 2001 From: Paul Beaudoin Date: Thu, 14 Mar 2024 16:30:42 -0400 Subject: [PATCH] Dependencies audit: removals and updates Remove many production dependencies that are unneeded. Update many others. --- .nvmrc | 2 +- app.js | 11 +- config/default.json | 1450 ----------------- data/prefixes.csv | 31 - lib/availability_resolver.js | 32 +- lib/delivery-locations-resolver.js | 35 +- lib/globals.js | 20 - lib/jsonld_serializers.js | 18 +- lib/util.js | 125 +- package-lock.json | 2309 +++++++--------------------- package.json | 13 +- routes/misc.js | 5 +- routes/resources.js | 4 +- server.js | 3 + test/test_helper.js | 2 - 15 files changed, 552 insertions(+), 3508 deletions(-) delete mode 100644 config/default.json delete mode 100644 data/prefixes.csv delete mode 100644 lib/globals.js create mode 100644 server.js diff --git a/.nvmrc b/.nvmrc index 3c032078..209e3ef4 100644 --- a/.nvmrc +++ b/.nvmrc @@ -1 +1 @@ -18 +20 diff --git a/app.js b/app.js index cb731f2d..96eed261 100644 --- a/app.js +++ b/app.js @@ -1,4 +1,3 @@ -const config = require('config') const express = require('express') const esClient = require('./lib/es-client') @@ -26,8 +25,6 @@ app.init = async () => { // Load logger after running above to ensure we respect LOG_LEVEL if set app.logger = require('./lib/logger') - app.thesaurus = config.thesaurus - require('./lib/resources')(app) // routes @@ -60,12 +57,10 @@ app.init = async () => { app.start = async () => { await app.init() - const port = process.env.PORT || config.port + const port = process.env.PORT || 3000 - return require('./lib/globals')(app).then((app) => { - return app.listen(port, function () { - app.logger.info('Server started on port ' + port) - }) + return app.listen(port, function () { + app.logger.info('Server started on port ' + port) }) } diff --git a/config/default.json b/config/default.json deleted file mode 100644 index ef9b0a22..00000000 --- a/config/default.json +++ /dev/null @@ -1,1450 +0,0 @@ -{ - "host": "discovery-api.nypltech.org", - "proto": "http", - "elasticsearch": { - "host": "111.111.111.111:9200" - }, - "port": 3000, - "itemAvailability":{ - "available": { - "id" : "status:a", - "label": "Available" - }, - "notAvailable": { - "id" : "status:na", - "label": "Not available" - } - }, - "major_version": 0.1, - "contextAll": "http://api.data.nypl.org/api/v1/context_all.jsonld", - "predicateCreators": [ - "dcterms:contributor", - "roles:abr", - "roles:acp", - "roles:act", - "roles:adi", - "roles:adp", - "roles:aft", - "roles:anl", - "roles:anm", - "roles:ann", - "roles:ant", - "roles:ape", - "roles:apl", - "roles:app", - "roles:aqt", - "roles:arc", - "roles:ard", - "roles:arr", - "roles:art", - "roles:asg", - "roles:asn", - "roles:ato", - "roles:att", - "roles:auc", - "roles:aud", - "roles:aui", - "roles:aus", - "roles:aut", - "roles:bdd", - "roles:bjd", - "roles:bkd", - "roles:bkp", - "roles:blw", - "roles:bnd", - "roles:bpd", - "roles:brd", - "roles:brl", - "roles:bsl", - "roles:cas", - "roles:ccp", - "roles:chr", - "roles:cli", - "roles:cll", - "roles:clr", - "roles:clt", - "roles:cmm", - "roles:cmp", - "roles:cmt", - "roles:cnd", - "roles:cng", - "roles:cns", - "roles:coe", - "roles:col", - "roles:com", - "roles:con", - "roles:cor", - "roles:cos", - "roles:cot", - "roles:cou", - "roles:cov", - "roles:cpc", - "roles:cpe", - "roles:cph", - "roles:cpl", - "roles:cpt", - "roles:cre", - "roles:crp", - "roles:crr", - "roles:crt", - "roles:csl", - "roles:csp", - "roles:cst", - "roles:ctb", - "roles:cte", - "roles:ctg", - "roles:ctr", - "roles:cts", - "roles:ctt", - "roles:cur", - "roles:cwt", - "roles:dbp", - "roles:dfd", - "roles:dfe", - "roles:dft", - "roles:dgg", - "roles:dgs", - "roles:dis", - "roles:dln", - "roles:dnc", - "roles:dnr", - "roles:dpc", - "roles:dpt", - "roles:drm", - "roles:drt", - "roles:dsr", - "roles:dst", - "roles:dtc", - "roles:dte", - "roles:dtm", - "roles:dto", - "roles:dub", - "roles:edc", - "roles:edm", - "roles:edt", - "roles:egr", - "roles:elg", - "roles:elt", - "roles:eng", - "roles:enj", - "roles:etr", - "roles:evp", - "roles:exp", - "roles:fac", - "roles:fds", - "roles:fld", - "roles:flm", - "roles:fmd", - "roles:fmk", - "roles:fmo", - "roles:fmp", - "roles:fnd", - "roles:fpy", - "roles:frg", - "roles:gis", - "roles:his", - "roles:hnr", - "roles:hst", - "roles:ill", - "roles:ilu", - "roles:ins", - "roles:inv", - "roles:isb", - "roles:itr", - "roles:ive", - "roles:ivr", - "roles:jud", - "roles:jug", - "roles:lbr", - "roles:lbt", - "roles:ldr", - "roles:led", - "roles:lee", - "roles:lel", - "roles:len", - "roles:let", - "roles:lgd", - "roles:lie", - "roles:lil", - "roles:lit", - "roles:lsa", - "roles:lse", - "roles:lso", - "roles:ltg", - "roles:lyr", - "roles:mcp", - "roles:mdc", - "roles:med", - "roles:mfp", - "roles:mfr", - "roles:mod", - "roles:mon", - "roles:mrb", - "roles:mrk", - "roles:msd", - "roles:mte", - "roles:mtk", - "roles:mus", - "roles:nrt", - "roles:opn", - "roles:org", - "roles:orm", - "roles:osp", - "roles:oth", - "roles:own", - "roles:pan", - "roles:pat", - "roles:pbd", - "roles:pbl", - "roles:pdr", - "roles:pfr", - "roles:pht", - "roles:plt", - "roles:pma", - "roles:pmn", - "roles:pop", - "roles:ppm", - "roles:ppt", - "roles:pra", - "roles:prc", - "roles:prd", - "roles:pre", - "roles:prf", - "roles:prg", - "roles:prm", - "roles:prn", - "roles:pro", - "roles:prp", - "roles:prs", - "roles:prt", - "roles:prv", - "roles:pta", - "roles:pte", - "roles:ptf", - "roles:pth", - "roles:ptt", - "roles:pup", - "roles:rbr", - "roles:rcd", - "roles:rce", - "roles:rcp", - "roles:rdd", - "roles:red", - "roles:ren", - "roles:res", - "roles:rev", - "roles:rpc", - "roles:rps", - "roles:rpt", - "roles:rpy", - "roles:rse", - "roles:rsg", - "roles:rsp", - "roles:rsr", - "roles:rst", - "roles:rth", - "roles:rtm", - "roles:sad", - "roles:sce", - "roles:scl", - "roles:scr", - "roles:sds", - "roles:sec", - "roles:sgd", - "roles:sgn", - "roles:sht", - "roles:sll", - "roles:sng", - "roles:spk", - "roles:spn", - "roles:spy", - "roles:srv", - "roles:std", - "roles:stg", - "roles:stl", - "roles:stm", - "roles:stn", - "roles:str", - "roles:tcd", - "roles:tch", - "roles:ths", - "roles:tld", - "roles:tlp", - "roles:trc", - "roles:trl", - "roles:tyd", - "roles:tyg", - "roles:uvp", - "roles:vac", - "roles:vdg", - "roles:wac", - "roles:wal", - "roles:wam", - "roles:wat", - "roles:wdc", - "roles:wde", - "roles:win", - "roles:wit", - "roles:wpr", - "roles:wst" - ], - "predicatesAgents": [ - "dbo:birthDate", - "dbo:deathDate", - "dcterms:description", - "foaf:depiction", - "foaf:isPrimaryTopicOf", - "rdf:type", - "skos:exactMatch", - "skos:prefLabel" - ], - "predicatesResources": [ - "dcterms:contributor", - "classify:holdings", - "skos:note", - "rdf:type", - "nypl:suppressed", - "nypl:owner", - "dcterms:type", - "dcterms:title", - "dcterms:subject", - "dcterms:language", - "dcterms:identifier", - "dcterms:created", - "db:dateEnd", - "db:dateStart", - "roles:abr", - "roles:acp", - "roles:act", - "roles:adi", - "roles:adp", - "roles:aft", - "roles:anl", - "roles:anm", - "roles:ann", - "roles:ant", - "roles:ape", - "roles:apl", - "roles:app", - "roles:aqt", - "roles:arc", - "roles:ard", - "roles:arr", - "roles:art", - "roles:asg", - "roles:asn", - "roles:ato", - "roles:att", - "roles:auc", - "roles:aud", - "roles:aui", - "roles:aus", - "roles:aut", - "roles:bdd", - "roles:bjd", - "roles:bkd", - "roles:bkp", - "roles:blw", - "roles:bnd", - "roles:bpd", - "roles:brd", - "roles:brl", - "roles:bsl", - "roles:cas", - "roles:ccp", - "roles:chr", - "roles:cli", - "roles:cll", - "roles:clr", - "roles:clt", - "roles:cmm", - "roles:cmp", - "roles:cmt", - "roles:cnd", - "roles:cng", - "roles:cns", - "roles:coe", - "roles:col", - "roles:com", - "roles:con", - "roles:cor", - "roles:cos", - "roles:cot", - "roles:cou", - "roles:cov", - "roles:cpc", - "roles:cpe", - "roles:cph", - "roles:cpl", - "roles:cpt", - "roles:cre", - "roles:crp", - "roles:crr", - "roles:crt", - "roles:csl", - "roles:csp", - "roles:cst", - "roles:ctb", - "roles:cte", - "roles:ctg", - "roles:ctr", - "roles:cts", - "roles:ctt", - "roles:cur", - "roles:cwt", - "roles:dbp", - "roles:dfd", - "roles:dfe", - "roles:dft", - "roles:dgg", - "roles:dgs", - "roles:dis", - "roles:dln", - "roles:dnc", - "roles:dnr", - "roles:dpc", - "roles:dpt", - "roles:drm", - "roles:drt", - "roles:dsr", - "roles:dst", - "roles:dtc", - "roles:dte", - "roles:dtm", - "roles:dto", - "roles:dub", - "roles:edc", - "roles:edm", - "roles:edt", - "roles:egr", - "roles:elg", - "roles:elt", - "roles:eng", - "roles:enj", - "roles:etr", - "roles:evp", - "roles:exp", - "roles:fac", - "roles:fds", - "roles:fld", - "roles:flm", - "roles:fmd", - "roles:fmk", - "roles:fmo", - "roles:fmp", - "roles:fnd", - "roles:fpy", - "roles:frg", - "roles:gis", - "roles:his", - "roles:hnr", - "roles:hst", - "roles:ill", - "roles:ilu", - "roles:ins", - "roles:inv", - "roles:isb", - "roles:itr", - "roles:ive", - "roles:ivr", - "roles:jud", - "roles:jug", - "roles:lbr", - "roles:lbt", - "roles:ldr", - "roles:led", - "roles:lee", - "roles:lel", - "roles:len", - "roles:let", - "roles:lgd", - "roles:lie", - "roles:lil", - "roles:lit", - "roles:lsa", - "roles:lse", - "roles:lso", - "roles:ltg", - "roles:lyr", - "roles:mcp", - "roles:mdc", - "roles:med", - "roles:mfp", - "roles:mfr", - "roles:mod", - "roles:mon", - "roles:mrb", - "roles:mrk", - "roles:msd", - "roles:mte", - "roles:mtk", - "roles:mus", - "roles:nrt", - "roles:opn", - "roles:org", - "roles:orm", - "roles:osp", - "roles:oth", - "roles:own", - "roles:pan", - "roles:pat", - "roles:pbd", - "roles:pbl", - "roles:pdr", - "roles:pfr", - "roles:pht", - "roles:plt", - "roles:pma", - "roles:pmn", - "roles:pop", - "roles:ppm", - "roles:ppt", - "roles:pra", - "roles:prc", - "roles:prd", - "roles:pre", - "roles:prf", - "roles:prg", - "roles:prm", - "roles:prn", - "roles:pro", - "roles:prp", - "roles:prs", - "roles:prt", - "roles:prv", - "roles:pta", - "roles:pte", - "roles:ptf", - "roles:pth", - "roles:ptt", - "roles:pup", - "roles:rbr", - "roles:rcd", - "roles:rce", - "roles:rcp", - "roles:rdd", - "roles:red", - "roles:ren", - "roles:res", - "roles:rev", - "roles:rpc", - "roles:rps", - "roles:rpt", - "roles:rpy", - "roles:rse", - "roles:rsg", - "roles:rsp", - "roles:rsr", - "roles:rst", - "roles:rth", - "roles:rtm", - "roles:sad", - "roles:sce", - "roles:scl", - "roles:scr", - "roles:sds", - "roles:sec", - "roles:sgd", - "roles:sgn", - "roles:sht", - "roles:sll", - "roles:sng", - "roles:spk", - "roles:spn", - "roles:spy", - "roles:srv", - "roles:std", - "roles:stg", - "roles:stl", - "roles:stm", - "roles:stn", - "roles:str", - "roles:tcd", - "roles:tch", - "roles:ths", - "roles:tld", - "roles:tlp", - "roles:trc", - "roles:trl", - "roles:tyd", - "roles:tyg", - "roles:uvp", - "roles:vac", - "roles:vdg", - "roles:wac", - "roles:wal", - "roles:wam", - "roles:wat", - "roles:wdc", - "roles:wde", - "roles:win", - "roles:wit", - "roles:wpr", - "roles:wst" - ], - "prefixes": { - "agents": "http://data.nypl.org/agents/", - "bf": "http://bibframe.org/vocab/", - "classify": "http://purl.org/library/", - "carrier": "http://id.loc.gov/authorities/carrierTypes/", - "data": "http://data.nypl.org/datasets/", - "db": "https://NEEDTOFIX.org/what-is-db/", - "dbo": "http://www.dbpedia.org/ontology/", - "dbr": "http://www.dbpedia.org/resource/", - "dcterms": "http://purl.org/dc/terms/", - "edm": "http://www.europeana.eu/schemas/edm", - "foaf": "http://xmlns.com/foaf/0.1/", - "language": "http://id.loc.gov/vocabulary/languages/", - "lc": "http://id.loc.gov/authorities/names/", - "media": "http://id.loc.gov/authorities/mediaTypes/", - "nypl": "http://data.nypl.org/nypl-core/", - "nyplapp": "http://data.nypl.org/nypl-application/", - "org": "http://www.w3.org/ns/org#", - "orgs": "http://data.nypl.org/organizations/", - "pcdm": "http://pcdm.org/models#", - "rdf": "http://www.w3.org/1999/02/22-rdf-syntax-ns#", - "res": "http://data.nypl.org/resources/", - "resourcetypes": "http://id.loc.gov/vocabulary/resourceTypes/", - "roles": "http://id.loc.gov/vocabulary/relators/", - "skos": "http://www.w3.org/2004/02/skos/core#", - "schema": "http://schema.org/", - "terms": "http://data.nypl.org/terms/", - "urn": "urn:x-nypl:", - "viaf": "http://viaf.org/viaf/", - "wikidata": "https://www.wikidata.org/wiki/", - "xsd": "http://www.w3.org/2001/XMLSchema#" - }, - "thesaurus": { - "orgsMap": { - "orgs:1000": "Stephen A. Schwarzman Building", - "orgs:1001": "Schomburg Center for Research in Black Culture", - "orgs:1002": "New York Public Library for the Performing Arts, Dorothy and Lewis B. Cullman Center", - "orgs:1100": "New York Public Library Archives", - "orgs:1101": "General Research Division", - "orgs:1102": "Carl H. Pforzheimer Collection of Shelley and His Circle", - "orgs:1103": "Dorot Jewish Division", - "orgs:1104": "Henry W. and Albert A. Berg Collection of English and American Literature", - "orgs:1105": "Irma and Paul Milstein Division of United States History, Local History and Genealogy", - "orgs:1106": "Lionel Pincus and Princess Firyal Map Division", - "orgs:1107": "Manuscripts and Archives Division", - "orgs:1108": "Rare Book Division", - "orgs:1109": "George Arents Collection", - "orgs:1110": "The Miriam and Ira D. Wallach Division of Art, Prints and Photographs: Art & Architecture Collection", - "orgs:1111": "The Miriam and Ira D. Wallach Division of Art, Prints and Photographs: Photography Collection", - "orgs:1112": "The Miriam and Ira D. Wallach Division of Art, Prints and Photographs: Print Collection", - "orgs:1113": "Spencer Collection", - "orgs:1114": "Schomburg Center for Research in Black Culture, Jean Blackwell Hutson Research and Reference Division", - "orgs:1115": "Schomburg Center for Research in Black Culture, Art and Artifacts Division", - "orgs:1116": "Schomburg Center for Research in Black Culture, Manuscripts, Archives and Rare Books Division", - "orgs:1117": "Schomburg Center for Research in Black Culture, Moving Image and Recorded Sound Division", - "orgs:1118": "Schomburg Center for Research in Black Culture, Photographs and Prints Division", - "orgs:1119": "Billy Rose Theatre Division", - "orgs:1120": "Theatre on Film and Tape Archive", - "orgs:1121": "Jerome Robbins Dance Division", - "orgs:1122": "Jerome Robbins Dance Division - Audio and Moving Image", - "orgs:1123": "Music Division", - "orgs:1124": "Rodgers and Hammerstein Archives of Recorded Sound", - "orgs:1125": "Science, Industry and Business Library: General Collection", - "orgs:1126": "Children's Center at 42nd St", - "orgs:1127": "Dorothy and Lewis B. Cullman Center for Scholars & Writers", - "orgs:1128": "Art and Picture Collection", - "orgs:1129": "Slavic and East European Collections", - "orgs:1130": "The Miriam and Ira D. Wallach Division of Art, Prints and Photographs", - "orgs:1500": "Mid-Manhattan Library" - }, - "relatorMap": { - "roles:-clb": "Collaborator", - "roles:-grt": "Graphic technician", - "roles:-voc": "Vocalist", - "roles:abr": "Abridger", - "roles:acp": "Art copyist", - "roles:act": "Actor", - "roles:adi": "Art director", - "roles:adp": "Adapter", - "roles:aft": "Author of afterword, colophon, etc.", - "roles:anl": "Analyst", - "roles:anm": "Animator", - "roles:ann": "Annotator", - "roles:ant": "Bibliographic antecedent", - "roles:ape": "Appellee", - "roles:apl": "Appellant", - "roles:app": "Applicant", - "roles:aqt": "Author in quotations or text abstracts", - "roles:arc": "Architect", - "roles:ard": "Artistic director", - "roles:arr": "Arranger", - "roles:art": "Artist", - "roles:asg": "Assignee", - "roles:asn": "Associated name", - "roles:ato": "Autographer", - "roles:att": "Attributed name", - "roles:auc": "Auctioneer", - "roles:aud": "Author of dialog", - "roles:aui": "Author of introduction, etc.", - "roles:aus": "Screenwriter", - "roles:aut": "Author", - "roles:bdd": "Binding designer", - "roles:bjd": "Bookjacket designer", - "roles:bkd": "Book designer", - "roles:bkp": "Book producer", - "roles:blw": "Blurb writer", - "roles:bnd": "Binder", - "roles:bpd": "Bookplate designer", - "roles:brd": "Broadcaster", - "roles:brl": "Braille embosser", - "roles:bsl": "Bookseller", - "roles:cas": "Caster", - "roles:ccp": "Conceptor", - "roles:chr": "Choreographer", - "roles:clb": "Collaborator", - "roles:cli": "Client", - "roles:cll": "Calligrapher", - "roles:clr": "Colorist", - "roles:clt": "Collotyper", - "roles:cmm": "Commentator", - "roles:cmp": "Composer", - "roles:cmt": "Compositor", - "roles:cnd": "Conductor", - "roles:cng": "Cinematographer", - "roles:cns": "Censor", - "roles:coe": "Contestant-appellee", - "roles:col": "Collector", - "roles:com": "Compiler", - "roles:con": "Conservator", - "roles:cor": "Collection registrar", - "roles:cos": "Contestant", - "roles:cot": "Contestant-appellant", - "roles:cou": "Court governed", - "roles:cov": "Cover designer", - "roles:cpc": "Copyright claimant", - "roles:cpe": "Complainant-appellee", - "roles:cph": "Copyright holder", - "roles:cpl": "Complainant", - "roles:cpt": "Complainant-appellant", - "roles:cre": "Creator", - "roles:crp": "Correspondent", - "roles:crr": "Corrector", - "roles:crt": "Court reporter", - "roles:csl": "Consultant", - "roles:csp": "Consultant to a project", - "roles:cst": "Costume designer", - "roles:ctb": "Contributor", - "roles:cte": "Contestee-appellee", - "roles:ctg": "Cartographer", - "roles:ctr": "Contractor", - "roles:cts": "Contestee", - "roles:ctt": "Contestee-appellant", - "roles:cur": "Curator", - "roles:cwt": "Commentator for written text", - "roles:dbp": "Distribution place", - "roles:dfd": "Defendant", - "roles:dfe": "Defendant-appellee", - "roles:dft": "Defendant-appellant", - "roles:dgg": "Degree granting institution", - "roles:dgs": "Degree supervisor", - "roles:dis": "Dissertant", - "roles:dln": "Delineator", - "roles:dnc": "Dancer", - "roles:dnr": "Donor", - "roles:dpc": "Depicted", - "roles:dpt": "Depositor", - "roles:drm": "Draftsman", - "roles:drt": "Director", - "roles:dsr": "Designer", - "roles:dst": "Distributor", - "roles:dtc": "Data contributor", - "roles:dte": "Dedicatee", - "roles:dtm": "Data manager", - "roles:dto": "Dedicator", - "roles:dub": "Dubious author", - "roles:edc": "Editor of compilation", - "roles:edm": "Editor of moving image work", - "roles:edt": "Editor", - "roles:egr": "Engraver", - "roles:elg": "Electrician", - "roles:elt": "Electrotyper", - "roles:eng": "Engineer", - "roles:enj": "Enacting jurisdiction", - "roles:etr": "Etcher", - "roles:evp": "Event place", - "roles:exp": "Expert", - "roles:fac": "Facsimilist", - "roles:fds": "Film distributor", - "roles:fld": "Field director", - "roles:flm": "Film editor", - "roles:fmd": "Film director", - "roles:fmk": "Filmmaker", - "roles:fmo": "Former owner", - "roles:fmp": "Film producer", - "roles:fnd": "Funder", - "roles:fpy": "First party", - "roles:frg": "Forger", - "roles:gis": "Geographic information specialist", - "roles:his": "Host institution", - "roles:hnr": "Honoree", - "roles:hst": "Host", - "roles:ill": "Illustrator", - "roles:ilu": "Illuminator", - "roles:ins": "Inscriber", - "roles:inv": "Inventor", - "roles:isb": "Issuing body", - "roles:itr": "Instrumentalist", - "roles:ive": "Interviewee", - "roles:ivr": "Interviewer", - "roles:jud": "Judge", - "roles:jug": "Jurisdiction governed", - "roles:lbr": "Laboratory", - "roles:lbt": "Librettist", - "roles:ldr": "Laboratory director", - "roles:led": "Lead", - "roles:lee": "Libelee-appellee", - "roles:lel": "Libelee", - "roles:len": "Lender", - "roles:let": "Libelee-appellant", - "roles:lgd": "Lighting designer", - "roles:lie": "Libelant-appellee", - "roles:lil": "Libelant", - "roles:lit": "Libelant-appellant", - "roles:lsa": "Landscape architect", - "roles:lse": "Licensee", - "roles:lso": "Licensor", - "roles:ltg": "Lithographer", - "roles:lyr": "Lyricist", - "roles:mcp": "Music copyist", - "roles:mdc": "Metadata contact", - "roles:med": "Medium", - "roles:mfp": "Manufacture place", - "roles:mfr": "Manufacturer", - "roles:mod": "Moderator", - "roles:mon": "Monitor", - "roles:mrb": "Marbler", - "roles:mrk": "Markup editor", - "roles:msd": "Musical director", - "roles:mte": "Metal-engraver", - "roles:mtk": "Minute taker", - "roles:mus": "Musician", - "roles:nrt": "Narrator", - "roles:opn": "Opponent", - "roles:org": "Originator", - "roles:orm": "Organizer", - "roles:osp": "Onscreen presenter", - "roles:oth": "Other", - "roles:own": "Owner", - "roles:pan": "Panelist", - "roles:pat": "Patron", - "roles:pbd": "Publishing director", - "roles:pbl": "Publisher", - "roles:pdr": "Project director", - "roles:pfr": "Proofreader", - "roles:pht": "Photographer", - "roles:plt": "Platemaker", - "roles:pma": "Permitting agency", - "roles:pmn": "Production manager", - "roles:pop": "Printer of plates", - "roles:ppm": "Papermaker", - "roles:ppt": "Puppeteer", - "roles:pra": "Praeses", - "roles:prc": "Process contact", - "roles:prd": "Production personnel", - "roles:pre": "Presenter", - "roles:prf": "Performer", - "roles:prg": "Programmer", - "roles:prm": "Printmaker", - "roles:prn": "Production company", - "roles:pro": "Producer", - "roles:prp": "Production place", - "roles:prs": "Production designer", - "roles:prt": "Printer", - "roles:prv": "Provider", - "roles:pta": "Patent applicant", - "roles:pte": "Plaintiff-appellee", - "roles:ptf": "Plaintiff", - "roles:pth": "Patent holder", - "roles:ptt": "Plaintiff-appellant", - "roles:pup": "Publication place", - "roles:rbr": "Rubricator", - "roles:rcd": "Recordist", - "roles:rce": "Recording engineer", - "roles:rcp": "Addressee", - "roles:rdd": "Radio director", - "roles:red": "Redaktor", - "roles:ren": "Renderer", - "roles:res": "Researcher", - "roles:rev": "Reviewer", - "roles:rpc": "Radio producer", - "roles:rps": "Repository", - "roles:rpt": "Reporter", - "roles:rpy": "Responsible party", - "roles:rse": "Respondent-appellee", - "roles:rsg": "Restager", - "roles:rsp": "Respondent", - "roles:rsr": "Restorationist", - "roles:rst": "Respondent-appellant", - "roles:rth": "Research team head", - "roles:rtm": "Research team member", - "roles:sad": "Scientific advisor", - "roles:sce": "Scenarist", - "roles:scl": "Sculptor", - "roles:scr": "Scribe", - "roles:sds": "Sound designer", - "roles:sec": "Secretary", - "roles:sgd": "Stage director", - "roles:sgn": "Signer", - "roles:sht": "Supporting host", - "roles:sll": "Seller", - "roles:sng": "Singer", - "roles:spk": "Speaker", - "roles:spn": "Sponsor", - "roles:spy": "Second party", - "roles:srv": "Surveyor", - "roles:std": "Set designer", - "roles:stg": "Setting", - "roles:stl": "Storyteller", - "roles:stm": "Stage manager", - "roles:stn": "Standards body", - "roles:str": "Stereotyper", - "roles:tcd": "Technical director", - "roles:tch": "Teacher", - "roles:ths": "Thesis advisor", - "roles:tld": "Television director", - "roles:tlp": "Television producer", - "roles:trc": "Transcriber", - "roles:trl": "Translator", - "roles:tyd": "Type designer", - "roles:tyg": "Typographer", - "roles:uvp": "University place", - "roles:vac": "Voice actor", - "roles:vdg": "Videographer", - "roles:wac": "Writer of added commentary", - "roles:wal": "Writer of added lyrics", - "roles:wam": "Writer of accompanying material", - "roles:wat": "Writer of added text", - "roles:wdc": "Woodcutter", - "roles:wde": "Wood engraver", - "roles:win": "Writer of introduction", - "roles:wit": "Witness", - "roles:wpr": "Writer of preface", - "roles:wst": "Writer of supplementary textual content" - }, - "typeOfResource": { - "resourcetypes:art": "Artifact", - "resourcetypes:aud": "Audio", - "resourcetypes:car": "Cartographic", - "resourcetypes:col": "Collection", - "resourcetypes:dat": "Dataset", - "resourcetypes:dig": "Digital", - "resourcetypes:img": "Still Image", - "resourcetypes:man": "Manuscript", - "resourcetypes:mix": "Mixed material", - "resourcetypes:mov": "Moving image", - "resourcetypes:mul": "Multimedia", - "resourcetypes:not": "Notated music", - "resourcetypes:tac": "Tactile", - "resourcetypes:txt": "Text", - "resourcetypes:unk": "Unspecified" - }, - "languageCodes": { - "language:aar": "Afar", - "language:abk": "Abkhaz", - "language:ace": "Achinese", - "language:ach": "Acoli", - "language:ada": "Adangme", - "language:ady": "Adygei", - "language:afa": "Afroasiatic (Other)", - "language:afh": "Afrihili (Artificial language)", - "language:afr": "Afrikaans", - "language:ain": "Ainu", - "language:aka": "Akan", - "language:akk": "Akkadian", - "language:alb": "Albanian", - "language:ale": "Aleut", - "language:alg": "Algonquian (Other)", - "language:alt": "Altai", - "language:amh": "Amharic", - "language:ang": "English, Old (ca. 450-1100)", - "language:anp": "Angika", - "language:apa": "Apache languages", - "language:ara": "Arabic", - "language:arc": "Aramaic", - "language:arg": "Aragonese", - "language:arm": "Armenian", - "language:arn": "Mapuche", - "language:arp": "Arapaho", - "language:art": "Artificial (Other)", - "language:arw": "Arawak", - "language:asm": "Assamese", - "language:ast": "Bable", - "language:ath": "Athapascan (Other)", - "language:aus": "Australian languages", - "language:ava": "Avaric", - "language:ave": "Avestan", - "language:awa": "Awadhi", - "language:aym": "Aymara", - "language:aze": "Azerbaijani", - "language:bad": "Banda languages", - "language:bai": "Bamileke languages", - "language:bak": "Bashkir", - "language:bal": "Baluchi", - "language:bam": "Bambara", - "language:ban": "Balinese", - "language:baq": "Basque", - "language:bas": "Basa", - "language:bat": "Baltic (Other)", - "language:bej": "Beja", - "language:bel": "Belarusian", - "language:bem": "Bemba", - "language:ben": "Bengali", - "language:ber": "Berber (Other)", - "language:bho": "Bhojpuri", - "language:bih": "Bihari (Other)", - "language:bik": "Bikol", - "language:bin": "Edo", - "language:bis": "Bislama", - "language:bla": "Siksika", - "language:bnt": "Bantu (Other)", - "language:bos": "Bosnian", - "language:bra": "Braj", - "language:bre": "Breton", - "language:btk": "Batak", - "language:bua": "Buriat", - "language:bug": "Bugis", - "language:bul": "Bulgarian", - "language:bur": "Burmese", - "language:byn": "Bilin", - "language:cad": "Caddo", - "language:cai": "Central American Indian (Other)", - "language:car": "Carib", - "language:cat": "Catalan", - "language:cau": "Caucasian (Other)", - "language:ceb": "Cebuano", - "language:cel": "Celtic (Other)", - "language:cha": "Chamorro", - "language:chb": "Chibcha", - "language:che": "Chechen", - "language:chg": "Chagatai", - "language:chi": "Chinese", - "language:chk": "Chuukese", - "language:chm": "Mari", - "language:chn": "Chinook jargon", - "language:cho": "Choctaw", - "language:chp": "Chipewyan", - "language:chr": "Cherokee", - "language:chu": "Church Slavic", - "language:chv": "Chuvash", - "language:chy": "Cheyenne", - "language:cmc": "Chamic languages", - "language:cop": "Coptic", - "language:cor": "Cornish", - "language:cos": "Corsican", - "language:cpe": "Creoles and Pidgins, English-based (Other)", - "language:cpf": "Creoles and Pidgins, French-based (Other)", - "language:cpp": "Creoles and Pidgins, Portuguese-based (Other)", - "language:cre": "Cree", - "language:crh": "Crimean Tatar", - "language:crp": "Creoles and Pidgins (Other)", - "language:csb": "Kashubian", - "language:cus": "Cushitic (Other)", - "language:cze": "Czech", - "language:dak": "Dakota", - "language:dan": "Danish", - "language:dar": "Dargwa", - "language:day": "Dayak", - "language:del": "Delaware", - "language:den": "Slavey", - "language:dgr": "Dogrib", - "language:din": "Dinka", - "language:div": "Divehi", - "language:doi": "Dogri", - "language:dra": "Dravidian (Other)", - "language:dsb": "Lower Sorbian", - "language:dua": "Duala", - "language:dum": "Dutch, Middle (ca. 1050-1350)", - "language:dut": "Dutch", - "language:dyu": "Dyula", - "language:dzo": "Dzongkha", - "language:efi": "Efik", - "language:egy": "Egyptian", - "language:eka": "Ekajuk", - "language:elx": "Elamite", - "language:eng": "English", - "language:enm": "English, Middle (1100-1500)", - "language:epo": "Esperanto", - "language:est": "Estonian", - "language:ewe": "Ewe", - "language:ewo": "Ewondo", - "language:fan": "Fang", - "language:fao": "Faroese", - "language:fat": "Fanti", - "language:fij": "Fijian", - "language:fil": "Filipino", - "language:fin": "Finnish", - "language:fiu": "Finno-Ugrian (Other)", - "language:fon": "Fon", - "language:fre": "French", - "language:frm": "French, Middle (ca. 1300-1600)", - "language:fro": "French, Old (ca. 842-1300)", - "language:frr": "North Frisian", - "language:frs": "East Frisian", - "language:fry": "Frisian", - "language:ful": "Fula", - "language:fur": "Friulian", - "language:gaa": "Gã", - "language:gay": "Gayo", - "language:gba": "Gbaya", - "language:gem": "Germanic (Other)", - "language:geo": "Georgian", - "language:ger": "German", - "language:gez": "Ethiopic", - "language:gil": "Gilbertese", - "language:gla": "Scottish Gaelic", - "language:gle": "Irish", - "language:glg": "Galician", - "language:glv": "Manx", - "language:gmh": "German, Middle High (ca. 1050-1500)", - "language:goh": "German, Old High (ca. 750-1050)", - "language:gon": "Gondi", - "language:gor": "Gorontalo", - "language:got": "Gothic", - "language:grb": "Grebo", - "language:grc": "Greek, Ancient (to 1453)", - "language:gre": "Greek, Modern (1453- )", - "language:grn": "Guarani", - "language:gsw": "Swiss German", - "language:guj": "Gujarati", - "language:gwi": "Gwich'in", - "language:hai": "Haida", - "language:hat": "Haitian French Creole", - "language:hau": "Hausa", - "language:haw": "Hawaiian", - "language:heb": "Hebrew", - "language:her": "Herero", - "language:hil": "Hiligaynon", - "language:him": "Western Pahari languages", - "language:hin": "Hindi", - "language:hit": "Hittite", - "language:hmn": "Hmong", - "language:hmo": "Hiri Motu", - "language:hrv": "Croatian", - "language:hsb": "Upper Sorbian", - "language:hun": "Hungarian", - "language:hup": "Hupa", - "language:iba": "Iban", - "language:ibo": "Igbo", - "language:ice": "Icelandic", - "language:ido": "Ido", - "language:iii": "Sichuan Yi", - "language:ijo": "Ijo", - "language:iku": "Inuktitut", - "language:ile": "Interlingue", - "language:ilo": "Iloko", - "language:ina": "Interlingua (International Auxiliary Language Association)", - "language:inc": "Indic (Other)", - "language:ind": "Indonesian", - "language:ine": "Indo-European (Other)", - "language:inh": "Ingush", - "language:ipk": "Inupiaq", - "language:ira": "Iranian (Other)", - "language:iro": "Iroquoian (Other)", - "language:ita": "Italian", - "language:jav": "Javanese", - "language:jbo": "Lojban (Artificial language)", - "language:jpn": "Japanese", - "language:jpr": "Judeo-Persian", - "language:jrb": "Judeo-Arabic", - "language:kaa": "Kara-Kalpak", - "language:kab": "Kabyle", - "language:kac": "Kachin", - "language:kal": "Kalâtdlisut", - "language:kam": "Kamba", - "language:kan": "Kannada", - "language:kar": "Karen languages", - "language:kas": "Kashmiri", - "language:kau": "Kanuri", - "language:kaw": "Kawi", - "language:kaz": "Kazakh", - "language:kbd": "Kabardian", - "language:kha": "Khasi", - "language:khi": "Khoisan (Other)", - "language:khm": "Khmer", - "language:kho": "Khotanese", - "language:kik": "Kikuyu", - "language:kin": "Kinyarwanda", - "language:kir": "Kyrgyz", - "language:kmb": "Kimbundu", - "language:kok": "Konkani", - "language:kom": "Komi", - "language:kon": "Kongo", - "language:kor": "Korean", - "language:kos": "Kosraean", - "language:kpe": "Kpelle", - "language:krc": "Karachay-Balkar", - "language:krl": "Karelian", - "language:kro": "Kru (Other)", - "language:kru": "Kurukh", - "language:kua": "Kuanyama", - "language:kum": "Kumyk", - "language:kur": "Kurdish", - "language:kut": "Kootenai", - "language:lad": "Ladino", - "language:lah": "Lahndā", - "language:lam": "Lamba (Zambia and Congo)", - "language:lao": "Lao", - "language:lat": "Latin", - "language:lav": "Latvian", - "language:lez": "Lezgian", - "language:lim": "Limburgish", - "language:lin": "Lingala", - "language:lit": "Lithuanian", - "language:lol": "Mongo-Nkundu", - "language:loz": "Lozi", - "language:ltz": "Luxembourgish", - "language:lua": "Luba-Lulua", - "language:lub": "Luba-Katanga", - "language:lug": "Ganda", - "language:lui": "Luiseño", - "language:lun": "Lunda", - "language:luo": "Luo (Kenya and Tanzania)", - "language:lus": "Lushai", - "language:mac": "Macedonian", - "language:mad": "Madurese", - "language:mag": "Magahi", - "language:mah": "Marshallese", - "language:mai": "Maithili", - "language:mak": "Makasar", - "language:mal": "Malayalam", - "language:man": "Mandingo", - "language:mao": "Maori", - "language:map": "Austronesian (Other)", - "language:mar": "Marathi", - "language:mas": "Maasai", - "language:may": "Malay", - "language:mdf": "Moksha", - "language:mdr": "Mandar", - "language:men": "Mende", - "language:mga": "Irish, Middle (ca. 1100-1550)", - "language:mic": "Micmac", - "language:min": "Minangkabau", - "language:mis": "Miscellaneous languages", - "language:mkh": "Mon-Khmer (Other)", - "language:mlg": "Malagasy", - "language:mlt": "Maltese", - "language:mnc": "Manchu", - "language:mni": "Manipuri", - "language:mno": "Manobo languages", - "language:moh": "Mohawk", - "language:mon": "Mongolian", - "language:mos": "Mooré", - "language:mul": "Multiple languages", - "language:mun": "Munda (Other)", - "language:mus": "Creek", - "language:mwl": "Mirandese", - "language:mwr": "Marwari", - "language:myn": "Mayan languages", - "language:myv": "Erzya", - "language:nah": "Nahuatl", - "language:nai": "North American Indian (Other)", - "language:nap": "Neapolitan Italian", - "language:nau": "Nauru", - "language:nav": "Navajo", - "language:nbl": "Ndebele (South Africa)", - "language:nde": "Ndebele (Zimbabwe)", - "language:ndo": "Ndonga", - "language:nds": "Low German", - "language:nep": "Nepali", - "language:new": "Newari", - "language:nia": "Nias", - "language:nic": "Niger-Kordofanian (Other)", - "language:niu": "Niuean", - "language:nno": "Norwegian (Nynorsk)", - "language:nob": "Norwegian (Bokmål)", - "language:nog": "Nogai", - "language:non": "Old Norse", - "language:nor": "Norwegian", - "language:nqo": "N'Ko", - "language:nso": "Northern Sotho", - "language:nub": "Nubian languages", - "language:nwc": "Newari, Old", - "language:nya": "Nyanja", - "language:nym": "Nyamwezi", - "language:nyn": "Nyankole", - "language:nyo": "Nyoro", - "language:nzi": "Nzima", - "language:oci": "Occitan (post-1500)", - "language:oji": "Ojibwa", - "language:ori": "Oriya", - "language:orm": "Oromo", - "language:osa": "Osage", - "language:oss": "Ossetic", - "language:ota": "Turkish, Ottoman", - "language:oto": "Otomian languages", - "language:paa": "Papuan (Other)", - "language:pag": "Pangasinan", - "language:pal": "Pahlavi", - "language:pam": "Pampanga", - "language:pan": "Panjabi", - "language:pap": "Papiamento", - "language:pau": "Palauan", - "language:peo": "Old Persian (ca. 600-400 B.C.)", - "language:per": "Persian", - "language:phi": "Philippine (Other)", - "language:phn": "Phoenician", - "language:pli": "Pali", - "language:pol": "Polish", - "language:pon": "Pohnpeian", - "language:por": "Portuguese", - "language:pra": "Prakrit languages", - "language:pro": "Provençal (to 1500)", - "language:pus": "Pushto", - "language:que": "Quechua", - "language:raj": "Rajasthani", - "language:rap": "Rapanui", - "language:rar": "Rarotongan", - "language:roa": "Romance (Other)", - "language:roh": "Raeto-Romance", - "language:rom": "Romani", - "language:rum": "Romanian", - "language:run": "Rundi", - "language:rup": "Aromanian", - "language:rus": "Russian", - "language:sad": "Sandawe", - "language:sag": "Sango (Ubangi Creole)", - "language:sah": "Yakut", - "language:sai": "South American Indian (Other)", - "language:sal": "Salishan languages", - "language:sam": "Samaritan Aramaic", - "language:san": "Sanskrit", - "language:sas": "Sasak", - "language:sat": "Santali", - "language:scn": "Sicilian Italian", - "language:sco": "Scots", - "language:sel": "Selkup", - "language:sem": "Semitic (Other)", - "language:sga": "Irish, Old (to 1100)", - "language:sgn": "Sign languages", - "language:shn": "Shan", - "language:sid": "Sidamo", - "language:sin": "Sinhalese", - "language:sio": "Siouan (Other)", - "language:sit": "Sino-Tibetan (Other)", - "language:sla": "Slavic (Other)", - "language:slo": "Slovak", - "language:slv": "Slovenian", - "language:sma": "Southern Sami", - "language:sme": "Northern Sami", - "language:smi": "Sami", - "language:smj": "Lule Sami", - "language:smn": "Inari Sami", - "language:smo": "Samoan", - "language:sms": "Skolt Sami", - "language:sna": "Shona", - "language:snd": "Sindhi", - "language:snk": "Soninke", - "language:sog": "Sogdian", - "language:som": "Somali", - "language:son": "Songhai", - "language:sot": "Sotho", - "language:spa": "Spanish", - "language:srd": "Sardinian", - "language:srn": "Sranan", - "language:srp": "Serbian", - "language:srr": "Serer", - "language:ssa": "Nilo-Saharan (Other)", - "language:ssw": "Swazi", - "language:suk": "Sukuma", - "language:sun": "Sundanese", - "language:sus": "Susu", - "language:sux": "Sumerian", - "language:swa": "Swahili", - "language:swe": "Swedish", - "language:syc": "Syriac", - "language:syr": "Syriac, Modern", - "language:tah": "Tahitian", - "language:tai": "Tai (Other)", - "language:tam": "Tamil", - "language:tat": "Tatar", - "language:tel": "Telugu", - "language:tem": "Temne", - "language:ter": "Terena", - "language:tet": "Tetum", - "language:tgk": "Tajik", - "language:tgl": "Tagalog", - "language:tha": "Thai", - "language:tib": "Tibetan", - "language:tig": "Tigré", - "language:tir": "Tigrinya", - "language:tiv": "Tiv", - "language:tkl": "Tokelauan", - "language:tlh": "Klingon (Artificial language)", - "language:tli": "Tlingit", - "language:tmh": "Tamashek", - "language:tog": "Tonga (Nyasa)", - "language:ton": "Tongan", - "language:tpi": "Tok Pisin", - "language:tsi": "Tsimshian", - "language:tsn": "Tswana", - "language:tso": "Tsonga", - "language:tuk": "Turkmen", - "language:tum": "Tumbuka", - "language:tup": "Tupi languages", - "language:tur": "Turkish", - "language:tut": "Altaic (Other)", - "language:tvl": "Tuvaluan", - "language:twi": "Twi", - "language:tyv": "Tuvinian", - "language:udm": "Udmurt", - "language:uga": "Ugaritic", - "language:uig": "Uighur", - "language:ukr": "Ukrainian", - "language:umb": "Umbundu", - "language:und": "Undetermined", - "language:urd": "Urdu", - "language:uzb": "Uzbek", - "language:vai": "Vai", - "language:ven": "Venda", - "language:vie": "Vietnamese", - "language:vol": "Volapük", - "language:vot": "Votic", - "language:wak": "Wakashan languages", - "language:wal": "Wolayta", - "language:war": "Waray", - "language:was": "Washoe", - "language:wel": "Welsh", - "language:wen": "Sorbian (Other)", - "language:wln": "Walloon", - "language:wol": "Wolof", - "language:xal": "Oirat", - "language:xho": "Xhosa", - "language:yao": "Yao (Africa)", - "language:yap": "Yapese", - "language:yid": "Yiddish", - "language:yor": "Yoruba", - "language:ypk": "Yupik languages", - "language:zap": "Zapotec", - "language:zbl": "Blissymbolics", - "language:zen": "Zenaga", - "language:zha": "Zhuang", - "language:znd": "Zande languages", - "language:zul": "Zulu", - "language:zun": "Zuni", - "language:zxx": "No linguistic content", - "language:zza": "Zaza" - }, - "typeOfResourceImg": { - "resourcetypes:art": "art.png", - "resourcetypes:aud": "aud.png", - "resourcetypes:car": "car.png", - "resourcetypes:col": "col.png", - "resourcetypes:dat": "dat.png", - "resourcetypes:dig": "dig.png", - "resourcetypes:img": "img.png", - "resourcetypes:man": "man.png", - "resourcetypes:mix": "mix.png", - "resourcetypes:mov": "mov.png", - "resourcetypes:mul": "mul.png", - "resourcetypes:not": "not.png", - "resourcetypes:tac": "tac.png", - "resourcetypes:txt": "txt.png", - "resourcetypes:unk": "unk.png" - } - } -} diff --git a/data/prefixes.csv b/data/prefixes.csv deleted file mode 100644 index 629bd675..00000000 --- a/data/prefixes.csv +++ /dev/null @@ -1,31 +0,0 @@ -agents, http://data.nypl.org/agents/ -bf, http://bibframe.org/vocab/ -classify, http://purl.org/library/ -carrier, http://id.loc.gov/authorities/carrierTypes/ -data, http://data.nypl.org/datasets/ -db, https://NEEDTOFIX.org/what-is-db/ -dbo, http://www.dbpedia.org/ontology/ -dbr, http://www.dbpedia.org/resource/ -dcterms, http://purl.org/dc/terms/ -edm, http://www.europeana.eu/schemas/edm -foaf, http://xmlns.com/foaf/0.1/ -language, http://id.loc.gov/vocabulary/languages/ -lc, http://id.loc.gov/authorities/names/ -media, http://id.loc.gov/authorities/mediaTypes/ -nypl, http://data.nypl.org/nypl-core/ -nyplapp, http://data.nypl.org/nypl-application/ -org, http://www.w3.org/ns/org# -orgs, http://data.nypl.org/organizations/ -pcdm, http://pcdm.org/models# -rdf, http://www.w3.org/1999/02/22-rdf-syntax-ns# -rdfs, https://www.w3.org/2000/01/rdf-schema -res, http://data.nypl.org/resources/ -resourcetypes, http://id.loc.gov/vocabulary/resourceTypes/ -roles, http://id.loc.gov/vocabulary/relators/ -kos, http://www.w3.org/2004/02/skos/core# -schema, http://schema.org/ -terms, http://data.nypl.org/terms/ -urn, urn:x-nypl: -viaf, http://viaf.org/viaf/ -wikidata, https://www.wikidata.org/wiki/ -xsd, http://www.w3.org/2001/XMLSchema# diff --git a/lib/availability_resolver.js b/lib/availability_resolver.js index b0e92282..14fab431 100644 --- a/lib/availability_resolver.js +++ b/lib/availability_resolver.js @@ -1,4 +1,3 @@ -const config = require('config') const scsbClient = require('./scsb-client') const logger = require('./logger') const ResourceSerializer = require('./jsonld_serializers').ResourceSerializer @@ -6,6 +5,17 @@ const NyplSourceMapper = require('discovery-store-models/lib/nypl-source-mapper' const { nonRecapItemStatusAggregation } = require('./es-client') const { deepValue, isInRecap } = require('./util') +const ITEM_STATUSES = { + available: { + id: 'status:a', + label: 'Available' + }, + notAvailable: { + id: 'status:na', + label: 'Not available' + } +} + class AvailabilityResolver { constructor (responseReceived) { this.elasticSearchResponse = responseReceived @@ -118,8 +128,8 @@ class AvailabilityResolver { const buckets = resp.aggregations.item_status._nested.buckets resp.aggregations.item_status._nested.buckets = buckets.map((bucket) => { const id = bucket.key.split('||').shift() - if (id === config.get('itemAvailability.notAvailable.id')) { - bucket.key = `${id}||${config.get('itemAvailability.notAvailable.label')}` + if (id === ITEM_STATUSES.notAvailable.id) { + bucket.key = `${id}||${ITEM_STATUSES.notAvailable.label}` } return bucket }) @@ -141,9 +151,9 @@ class AvailabilityResolver { // Build status agg response for just ReCAP statuses: return Object.keys(recapStatusesToCounts) .map((status) => { - let key = `${config.get('itemAvailability.notAvailable.id')}||${config.get('itemAvailability.notAvailable.label')}` + let key = `${ITEM_STATUSES.notAvailable.id}||${ITEM_STATUSES.notAvailable.label}` if (status === 'Available') { - key = `${config.get('itemAvailability.available.id')}||${config.get('itemAvailability.available.label')}` + key = `${ITEM_STATUSES.available.id}||${ITEM_STATUSES.available.label}` } return { key, doc_count: recapStatusesToCounts[status] } }) @@ -246,16 +256,16 @@ class AvailabilityResolver { const barcode = this._getItemBarcode(item) const recapAvailabilityStatus = barcodesAndAvailability[barcode] if (recapAvailabilityStatus === 'Available') { - item.status[0].id = config.get('itemAvailability.available.id') - item.status[0].label = config.get('itemAvailability.available.label') + item.status[0].id = ITEM_STATUSES.available.id + item.status[0].label = ITEM_STATUSES.available.label } else { - item.status[0].id = config.get('itemAvailability.notAvailable.id') - item.status[0].label = config.get('itemAvailability.notAvailable.label') + item.status[0].id = ITEM_STATUSES.notAvailable.id + item.status[0].label = ITEM_STATUSES.notAvailable.label } // If item has been mis-indexed with wrong status:na label, fix it: } else if (item.status && item.status[0] && - item.status[0].id === config.get('itemAvailability.notAvailable.id')) { - item.status[0].label = config.get('itemAvailability.notAvailable.label') + item.status[0].id === ITEM_STATUSES.notAvailable.id) { + item.status[0].label = ITEM_STATUSES.notAvailable.label } return item }) diff --git a/lib/delivery-locations-resolver.js b/lib/delivery-locations-resolver.js index 4cf10cce..4deb9539 100644 --- a/lib/delivery-locations-resolver.js +++ b/lib/delivery-locations-resolver.js @@ -1,5 +1,5 @@ const { itemHasRecapHoldingLocation, barcodeFromItem } = require('./util') -const SCSBRestClient = require('@nypl/scsb-rest-client') +const scsbClient = require('./scsb-client') const recapCustomerCodes = require('@nypl/nypl-core-objects')('by-recap-customer-code') const sierraLocations = require('@nypl/nypl-core-objects')('by-sierra-location') const logger = require('./logger') @@ -122,42 +122,11 @@ class DeliveryLocationsResolver { static __recapCustomerCodesByBarcodes (barcodes) { if (!barcodes || barcodes.length === 0) return Promise.resolve({}) - const scsbClient = new SCSBRestClient({ url: process.env.SCSB_URL, apiKey: process.env.SCSB_API_KEY }) - // Record time to process all: const __startAll = new Date() return Promise.all( - barcodes.map((barcode) => { - // Record start time to process this request - const __start = new Date() - return scsbClient.search({ fieldValue: barcode, fieldName: 'Barcode' }) - .then((response) => { - const ellapsed = ((new Date()) - __start) - logger.debug({ message: `HTC searchByParam API took ${ellapsed}ms`, metric: 'searchByParam-barcode', timeMs: ellapsed }) - - if (response && response.searchResultRows && response.searchResultRows.length) { - const results = response.searchResultRows - let customerCode = null - - if (results && (results.length > 0) && results[0].searchItemResultRows.length > 0) { - logger.debug(`${barcode} is a serial item`) - customerCode = results[0].searchItemResultRows[0].customerCode - } else { - logger.debug(`${barcode} is a not a serial item`) - customerCode = results[0].customerCode - } - return { [barcode]: customerCode } - } - }) - .catch((error) => { - // This is a common error: - // "Error hitting SCSB API 502: \r\n502 Bad Gateway\r\n\r\n

502 Bad Gateway

\r\n\r\n\r\n" - // return Promise.reject(error) - logger.error({ message: 'HTC API error. Send everything to NH', htcError: error.message }) - return null - }) - }) + barcodes.map(scsbClient.recapCustomerCodeByBarcode) ).then((scsbResponses) => { const ellapsed = ((new Date()) - __startAll) logger.debug({ message: `HTC searchByParam API across ${barcodes.length} barcodes took ${ellapsed}ms total`, metric: 'searchByParam-barcode-multiple', timeMs: ellapsed }) diff --git a/lib/globals.js b/lib/globals.js deleted file mode 100644 index 0ab071db..00000000 --- a/lib/globals.js +++ /dev/null @@ -1,20 +0,0 @@ -const util = require('./util') - -module.exports = function (app) { - // Load various two-col csvs mapping column 0 to value in column 1 - const promises = ['prefixes'].map((which) => { - return util.readCsv(`./data/${which}.csv`).then((rows) => { - return { - [which]: rows.reduce((h, r) => { - h[r[0]] = r[1] - return h - }, {}) - } - }) - }) - - return Promise.all(promises).then((globals) => { - app.globals = globals - return app - }) -} diff --git a/lib/jsonld_serializers.js b/lib/jsonld_serializers.js index f9983dd9..a64c421a 100644 --- a/lib/jsonld_serializers.js +++ b/lib/jsonld_serializers.js @@ -1,8 +1,5 @@ 'use strict' -const R = require('ramda') -const lexicon = require('nypl-registry-utils-lexicon') - const NyplSourceMapper = require('discovery-store-models/lib/nypl-source-mapper') const util = require('./util.js') @@ -211,24 +208,13 @@ class ResourceSerializer extends JsonLdItemSerializer { constructor (item, options) { super(item, options) // Serialize both the most general type (Resource) as well as any resource-specific type (Collection, Component, Capture, etc) - this.type = R.uniq(R.flatten([item.type].concat('nypl:Resource'))) + this.type = [...new Set([item.type].concat('nypl:Resource').flat())] } statements () { const stmts = JsonLdItemSerializer.prototype.statements.call(this) - if (this.body.parentUri) stmts.memberOf = R.flatten([util.eachValue(this.body.parentUri, (id) => ({ '@type': 'nypl:Resource', '@id': `res:${id}` }))]) - - // Parse all contributor_(aut|ill|...) statements: - Object.keys(this.body).forEach((field) => { - let match = null - if ((match = field.match(/^contributor_(\w{3})_packed$/))) { - const role = match[1] - stmts[`roles:${role}`] = JsonLdItemSerializer.parsePackedStatement(this.body[field]).map((contributor) => { - return Object.assign(contributor, { note: lexicon.labels.relators[role] }) - }) - } - }) + if (this.body.parentUri) stmts.memberOf = [util.eachValue(this.body.parentUri, (id) => ({ '@type': 'nypl:Resource', '@id': `res:${id}` }))].flat() // Override default serialization of bib.supplementaryContent statements (finding aids, TOCs, etc.): if (this.body.supplementaryContent) { diff --git a/lib/util.js b/lib/util.js index 1f5c20fc..2e043327 100644 --- a/lib/util.js +++ b/lib/util.js @@ -1,12 +1,6 @@ -const config = require('config') -const jsonld = require('jsonld') -const fs = require('fs') -const csv = require('fast-csv') const logger = require('./logger') const isItemNyplOwned = require('./ownership_determination').isItemNyplOwned -exports.contextAll = config.contextAll - exports.buildJsonLdContext = function (prefixes) { const context = JSON.parse(JSON.stringify(prefixes)) delete context.urn @@ -48,6 +42,7 @@ exports.context = (which) => { }) } +const __fileCache = {} const readJson = (path) => { const cacheKey = `readJson:${path}` if (__fileCache[cacheKey]) return Promise.resolve(__fileCache[cacheKey]) @@ -65,26 +60,6 @@ const readJson = (path) => { }) } -const __fileCache = {} -exports.readCsv = (path) => { - const cacheKey = `readCsv:${path}` - if (__fileCache[cacheKey]) return Promise.resolve(__fileCache[cacheKey]) - - return new Promise((resolve, reject) => { - const rows = [] - - fs.createReadStream(path) - .pipe(csv()) - .on('data', (data) => { - rows.push(data) - }) - .on('end', () => { - __fileCache[cacheKey] = rows - resolve(rows) - }) - }) -} - exports.eachValue = function (a, cb) { switch (typeof a) { case 'object': return a.map(cb) @@ -93,104 +68,6 @@ exports.eachValue = function (a, cb) { } } -exports.flatenTriples = function (object) { - const flat = { objectLiteral: {}, objectUri: {} } - for (const key in object) { - // is this a triple - if (config.predicatesAgents.indexOf(key) > -1 || config.predicatesResources.indexOf(key) > -1) { - object[key].forEach((value) => { - if (value.objectLiteral) { - if (!flat.objectLiteral[key]) flat.objectLiteral[key] = [] - flat.objectLiteral[key].push(value.objectLiteral) - } - if (value.objectUri) { - if (!flat.objectUri[key]) flat.objectUri[key] = [] - flat.objectUri[key].push(value.objectUri) - if (value.label) { - if (!flat.objectUri[key + ':label']) flat.objectUri[key + ':label'] = [] - flat.objectUri[key + ':label'].push({ uri: value.objectUri, label: value.label }) - } - } - }) - } - } - return flat -} - -exports.expandObjectUri = function (objectUri) { - if (!objectUri) return false - - const split = objectUri.split(':') - const prefix = split[0] - split.shift(0, 1) - const value = split.join(':') - - const uriBase = config.prefixes[prefix] - if (!uriBase) { - console.log('Unknown Prefix:', prefix) - return false - } - return uriBase + value -} - -// turns the objects into triples sans provo -exports.returnNtTriples = function (obj, type) { - let uri = null - const triples = [] - if (type === 'resource') { - uri = '' - } else if (type === 'agent') { - uri = '' - } else if (type === 'term') { - uri = '' - } else if (type === 'org') { - uri = '' - } else if (type === 'dataset') { - uri = '' - } else { - return false - } - - for (const p in obj.statements) { - if ((typeof obj.statements[p]) !== 'object') continue - - if (config.predicatesAgents.indexOf(p) > -1 || config.predicatesResources.indexOf(p) > -1) { - // it is a triple - const expandedPredicate = '<' + exports.expandObjectUri(p) + '>' - obj.statements[p].forEach((o) => { - let expandedObject = null - if (o.objectUri) { - expandedObject = '<' + exports.expandObjectUri(o.objectUri) + '>' - } else { - expandedObject = exports.expandObjectUri(o.objectLiteralType) - if (expandedObject === false && o.objectLiteralType) { - expandedObject = '@' + o.objectLiteralType - } else if (typeof expandedObject === 'string') { - expandedObject = '^^<' + expandedObject + '>' - } else { - expandedObject = '' - } - if (typeof o.objectLiteral === 'string') o.objectLiteral = o.objectLiteral.replace('"', '\\"').replace('\n', ' ') - expandedObject = '"' + o.objectLiteral + '"' + expandedObject - } - triples.push(uri + ' ' + expandedPredicate + ' ' + expandedObject + '.') - }) - } - } - return triples -} - -exports.returnNtJsonLd = function (obj, type, cb) { - const triples = exports.returnNtTriples(obj, type).join('\n') - jsonld.fromRDF(triples, { format: 'application/nquads' }, function (err, doc) { - if (err) console.log(JSON.stringify(err, null, 2)) - jsonld.compact(doc, exports.context, function (err, compacted) { - if (err) console.log(err) - cb(err, compacted) - }) - }) -} - // Applies validation against hash of params given spec // see `parseParams` exports.parseParams = function (params, spec) { diff --git a/package-lock.json b/package-lock.json index f5a2d24c..66a21c12 100644 --- a/package-lock.json +++ b/package-lock.json @@ -13,16 +13,9 @@ "@nypl/nypl-core-objects": "2.3.2", "@nypl/nypl-data-api-client": "^1.0.5", "@nypl/scsb-rest-client": "2.0.0", - "config": "1.12.0", "discovery-store-models": "git+https://github.com/NYPL-discovery/discovery-store-models.git#v1.3.2", - "dotenv": "^4.0.0", - "express": "^4.14.0", - "fast-csv": "^2.3.0", - "jsonld": "^2.0.2", - "nypl-registry-utils-lexicon": "nypl-registry/utils-lexicon", - "ramda": "^0.21.0", - "request": "2.88.2", - "string_score": "^0.1.22", + "dotenv": "^16.4.5", + "express": "^4.18.3", "winston": "3.12.0" }, "devDependencies": { @@ -32,7 +25,7 @@ "chai-as-promised": "^7.1.1", "md5": "^2.2.1", "minimist": "^1.2.5", - "mocha": "^6.2.3", + "mocha": "^10.3.0", "qs": "^6.5.1", "request-promise": "^4.1.1", "should": "^7.0.2", @@ -384,6 +377,14 @@ "node": ">=0.1.90" } }, + "node_modules/@nypl/nypl-data-api-client/node_modules/dotenv": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-4.0.0.tgz", + "integrity": "sha512-XcaMACOr3JMVcEv0Y/iUM2XaOsATRZ3U1In41/1jjK6vJZ2PZbQ1bzCG8uvaByfaBpl9gqc9QWJovpUGBXLLYQ==", + "engines": { + "node": ">=4.6.0" + } + }, "node_modules/@nypl/scsb-rest-client": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/@nypl/scsb-rest-client/-/scsb-rest-client-2.0.0.tgz", @@ -526,35 +527,22 @@ "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/ajv-keywords": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-1.5.1.tgz", - "integrity": "sha512-vuBv+fm2s6cqUyey2A7qYcvsik+GMDJsw8BARP2sDE76cqmaZVarsvHf7Vx6VJ0Xk8gLl+u3MoAPf6gKzJefeA==", - "peerDependencies": { - "ajv": ">=4.10.0" - } - }, "node_modules/ansi-colors": { - "version": "3.2.3", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", + "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", "dev": true, - "license": "MIT", "engines": { "node": ">=6" } }, - "node_modules/ansi-escapes": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-1.4.0.tgz", - "integrity": "sha512-wiXutNjDUlNEDWHcYH3jtZUhd3c4/VojassD8zHdHCY13xbZy2XbW+NKQwA0tWGBVzDA9qEzYwfoSsWmviidhw==", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/ansi-regex": { - "version": "2.1.1", - "license": "MIT", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, "node_modules/ansi-styles": { @@ -590,19 +578,17 @@ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, - "node_modules/argparse": { - "version": "1.0.10", - "license": "MIT", - "dependencies": { - "sprintf-js": "~1.0.2" - } - }, - "node_modules/arguments-extended": { - "version": "0.0.3", - "license": "MIT", + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dev": true, "dependencies": { - "extended": "~0.0.3", - "is-extended": "~0.0.8" + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" } }, "node_modules/array-buffer-byte-length": { @@ -621,15 +607,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/array-extended": { - "version": "0.0.11", - "license": "MIT", - "dependencies": { - "arguments-extended": "~0.0.3", - "extended": "~0.0.3", - "is-extended": "~0.0.3" - } - }, "node_modules/array-flatten": { "version": "1.1.1", "license": "MIT" @@ -746,24 +723,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/array.prototype.reduce": { - "version": "1.0.5", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "es-array-method-boxes-properly": "^1.0.0", - "is-string": "^1.0.7" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/array.prototype.toreversed": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/array.prototype.toreversed/-/array.prototype.toreversed-1.1.2.tgz", @@ -956,6 +915,7 @@ }, "node_modules/balanced-match": { "version": "1.0.2", + "dev": true, "license": "MIT" }, "node_modules/base64-js": { @@ -984,17 +944,30 @@ "tweetnacl": "^0.14.3" } }, + "node_modules/binary-extensions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", + "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/bluebird": { "version": "3.7.2", "dev": true, "license": "MIT" }, "node_modules/body-parser": { - "version": "1.20.1", - "license": "MIT", + "version": "1.20.2", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.2.tgz", + "integrity": "sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==", "dependencies": { "bytes": "3.1.2", - "content-type": "~1.0.4", + "content-type": "~1.0.5", "debug": "2.6.9", "depd": "2.0.0", "destroy": "1.2.0", @@ -1002,7 +975,7 @@ "iconv-lite": "0.4.24", "on-finished": "2.4.1", "qs": "6.11.0", - "raw-body": "2.5.1", + "raw-body": "2.5.2", "type-is": "~1.6.18", "unpipe": "1.0.0" }, @@ -1013,7 +986,8 @@ }, "node_modules/body-parser/node_modules/qs": { "version": "6.11.0", - "license": "BSD-3-Clause", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", + "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", "dependencies": { "side-channel": "^1.0.4" }, @@ -1026,12 +1000,25 @@ }, "node_modules/brace-expansion": { "version": "1.1.11", + "dev": true, "license": "MIT", "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/browser-stdout": { "version": "1.3.1", "dev": true, @@ -1099,7 +1086,8 @@ }, "node_modules/bytes": { "version": "3.1.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", "engines": { "node": ">= 0.8" } @@ -1122,25 +1110,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/caller-path": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-0.1.0.tgz", - "integrity": "sha512-UJiE1otjXPF5/x+T3zTnSFiTOEmJoGTD9HmBoxnCUwho61a2eSNn/VwtwuIBDAo2SEOv1AJ7ARI5gCmohFLu/g==", - "dependencies": { - "callsites": "^0.2.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/caller-path/node_modules/callsites": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-0.2.0.tgz", - "integrity": "sha512-Zv4Dns9IbXXmPkgRRUjAaJQgfN4xX5p6+RQFhWUqscdvvK2xK/ZL8b3IXIJsj+4sD+f24NwnWy2BY8AJ82JB0A==", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/callsites": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", @@ -1151,17 +1120,17 @@ } }, "node_modules/camelcase": { - "version": "5.3.1", + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", "dev": true, - "license": "MIT", "engines": { - "node": ">=6" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/canonicalize": { - "version": "1.0.8", - "license": "Apache-2.0" - }, "node_modules/caseless": { "version": "0.11.0", "license": "Apache-2.0" @@ -1226,76 +1195,54 @@ "node": "*" } }, - "node_modules/circular-json": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/circular-json/-/circular-json-0.3.3.tgz", - "integrity": "sha512-UZK3NBx2Mca+b5LsG7bY183pHWt5Y1xts4P3Pz7ENTwGVnJOUWbRb3ocjvX7hx9tq/yTAdclXm9sZ38gNuem4A==", - "deprecated": "CircularJSON is in maintenance only, flatted is its successor." - }, - "node_modules/cli-cursor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-1.0.2.tgz", - "integrity": "sha512-25tABq090YNKkF6JH7lcwO0zFJTRke4Jcq9iX2nr/Sz0Cjjv4gckmwlW6Ty/aoyFd6z3ysR2hMGC2GFugmBo6A==", - "dependencies": { - "restore-cursor": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/cli-width": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.1.tgz", - "integrity": "sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw==" - }, - "node_modules/cliui": { - "version": "5.0.0", + "node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", "dev": true, - "license": "ISC", + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], "dependencies": { - "string-width": "^3.1.0", - "strip-ansi": "^5.2.0", - "wrap-ansi": "^5.1.0" - } - }, - "node_modules/cliui/node_modules/ansi-regex": { - "version": "4.1.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/cliui/node_modules/is-fullwidth-code-point": { - "version": "2.0.0", - "dev": true, - "license": "MIT", + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, "engines": { - "node": ">=4" + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" } }, - "node_modules/cliui/node_modules/string-width": { - "version": "3.1.0", + "node_modules/chokidar/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "dev": true, - "license": "MIT", "dependencies": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" + "is-glob": "^4.0.1" }, "engines": { - "node": ">=6" + "node": ">= 6" } }, - "node_modules/cliui/node_modules/strip-ansi": { - "version": "5.2.0", + "node_modules/cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", "dev": true, - "license": "MIT", "dependencies": { - "ansi-regex": "^4.1.0" - }, - "engines": { - "node": ">=6" + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" } }, "node_modules/clone": { @@ -1305,22 +1252,6 @@ "node": ">=0.8" } }, - "node_modules/co": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", - "engines": { - "iojs": ">= 1.0.0", - "node": ">= 0.12.0" - } - }, - "node_modules/code-point-at": { - "version": "1.1.0", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/color": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/color/-/color-3.2.1.tgz", @@ -1382,6 +1313,7 @@ }, "node_modules/concat-map": { "version": "0.0.1", + "dev": true, "license": "MIT" }, "node_modules/concat-stream": { @@ -1397,12 +1329,6 @@ "typedarray": "^0.0.6" } }, - "node_modules/config": { - "version": "1.12.0", - "engines": { - "node": ">0.4.x" - } - }, "node_modules/content-disposition": { "version": "0.5.4", "license": "MIT", @@ -1433,7 +1359,8 @@ }, "node_modules/content-type": { "version": "1.0.5", - "license": "MIT", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", "engines": { "node": ">= 0.6" } @@ -1525,18 +1452,6 @@ "node": ">=0.4.0" } }, - "node_modules/d": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/d/-/d-1.0.2.tgz", - "integrity": "sha512-MOqHvMWF9/9MX6nza0KgvFH4HpMU0EF5uUDXqX/BtxtU8NfB0QzRtJ8Oe/6SuS4kbhyzVJwjd97EA4PKrzJ8bw==", - "dependencies": { - "es5-ext": "^0.10.64", - "type": "^2.7.2" - }, - "engines": { - "node": ">=0.12" - } - }, "node_modules/dashdash": { "version": "1.14.1", "license": "MIT", @@ -1547,15 +1462,6 @@ "node": ">=0.10" } }, - "node_modules/date-extended": { - "version": "0.0.6", - "license": "MIT", - "dependencies": { - "array-extended": "~0.0.3", - "extended": "~0.0.3", - "is-extended": "~0.0.3" - } - }, "node_modules/debug": { "version": "2.6.9", "license": "MIT", @@ -1563,30 +1469,22 @@ "ms": "2.0.0" } }, - "node_modules/debug-log": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/debug-log/-/debug-log-1.0.1.tgz", - "integrity": "sha512-gV/pe1YIaKNgLYnd1g9VNW80tcb7oV5qvNUxG7NM8rbDpnl6RGunzlAtlGSb0wEs3nesu2vHNiX9TSsZ+Y+RjA==", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/debug/node_modules/ms": { "version": "2.0.0", "license": "MIT" }, "node_modules/decamelize": { - "version": "1.2.0", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz", + "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==", "dev": true, - "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/declare.js": { - "version": "0.0.8", - "license": "MIT" - }, "node_modules/deep-eql": { "version": "4.1.3", "dev": true, @@ -1601,26 +1499,8 @@ "node_modules/deep-is": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==" - }, - "node_modules/defaults": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz", - "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==", - "dependencies": { - "clone": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/defaults/node_modules/clone": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", - "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", - "engines": { - "node": ">=0.8" - } + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true }, "node_modules/define-data-property": { "version": "1.1.4", @@ -1655,25 +1535,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/deglob": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/deglob/-/deglob-1.1.2.tgz", - "integrity": "sha512-CACtLHJwEHEgrs2aShBEV4B318fGmUlYMzZgxut1h/R6k2vyusxwVAJJU+1IiPFgNuOPOfH1rBHrtJ2hwEElLw==", - "dependencies": { - "find-root": "^1.0.0", - "glob": "^7.0.5", - "ignore": "^3.0.9", - "pkg-config": "^1.1.0", - "run-parallel": "^1.1.2", - "uniq": "^1.0.1", - "xtend": "^4.0.0" - } - }, - "node_modules/deglob/node_modules/ignore": { - "version": "3.3.10", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.10.tgz", - "integrity": "sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==" - }, "node_modules/delayed-stream": { "version": "1.0.0", "license": "MIT", @@ -1749,10 +1610,14 @@ } }, "node_modules/dotenv": { - "version": "4.0.0", - "license": "BSD-2-Clause", + "version": "16.4.5", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.5.tgz", + "integrity": "sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==", "engines": { - "node": ">=4.6.0" + "node": ">=12" + }, + "funding": { + "url": "https://dotenvx.com" } }, "node_modules/ecc-jsbn": { @@ -1768,9 +1633,10 @@ "license": "MIT" }, "node_modules/emoji-regex": { - "version": "7.0.3", - "dev": true, - "license": "MIT" + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true }, "node_modules/enabled": { "version": "2.0.0", @@ -1963,81 +1829,13 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/es5-ext": { - "version": "0.10.64", - "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.64.tgz", - "integrity": "sha512-p2snDhiLaXe6dahss1LddxqEm+SkuDvV8dnIQG0MWjyHpcMNfXKPE+/Cc0y+PhxJX3A4xGNeFCj5oc0BUh6deg==", - "hasInstallScript": true, - "dependencies": { - "es6-iterator": "^2.0.3", - "es6-symbol": "^3.1.3", - "esniff": "^2.0.1", - "next-tick": "^1.1.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/es6-iterator": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", - "integrity": "sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==", - "dependencies": { - "d": "1", - "es5-ext": "^0.10.35", - "es6-symbol": "^3.1.1" - } - }, - "node_modules/es6-map": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/es6-map/-/es6-map-0.1.5.tgz", - "integrity": "sha512-mz3UqCh0uPCIqsw1SSAkB/p0rOzF/M0V++vyN7JqlPtSW/VsYgQBvVvqMLmfBuyMzTpLnNqi6JmcSizs4jy19A==", - "dependencies": { - "d": "1", - "es5-ext": "~0.10.14", - "es6-iterator": "~2.0.1", - "es6-set": "~0.1.5", - "es6-symbol": "~3.1.1", - "event-emitter": "~0.3.5" - } - }, - "node_modules/es6-set": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/es6-set/-/es6-set-0.1.6.tgz", - "integrity": "sha512-TE3LgGLDIBX332jq3ypv6bcOpkLO0AslAQo7p2VqX/1N46YNsvIWgvjojjSEnWEGWMhr1qUbYeTSir5J6mFHOw==", - "dependencies": { - "d": "^1.0.1", - "es5-ext": "^0.10.62", - "es6-iterator": "~2.0.3", - "es6-symbol": "^3.1.3", - "event-emitter": "^0.3.5", - "type": "^2.7.2" - }, - "engines": { - "node": ">=0.12" - } - }, - "node_modules/es6-symbol": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.4.tgz", - "integrity": "sha512-U9bFFjX8tFiATgtkJ1zg25+KviIXpgRvRHS8sau3GfhVzThRQrOeksPeT0BWW2MNZs1OEWJ1DPXOQMn0KKRkvg==", - "dependencies": { - "d": "^1.0.2", - "ext": "^1.7.0" - }, + "node_modules/escalade": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", + "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==", + "dev": true, "engines": { - "node": ">=0.12" - } - }, - "node_modules/es6-weak-map": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.3.tgz", - "integrity": "sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==", - "dependencies": { - "d": "1", - "es5-ext": "^0.10.46", - "es6-iterator": "^2.0.3", - "es6-symbol": "^3.1.1" + "node": ">=6" } }, "node_modules/escape-html": { @@ -2045,32 +1843,15 @@ "license": "MIT" }, "node_modules/escape-string-regexp": { - "version": "1.0.5", - "license": "MIT", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/escope": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/escope/-/escope-3.6.0.tgz", - "integrity": "sha512-75IUQsusDdalQEW/G/2esa87J7raqdJF+Ca0/Xm5C3Q58Nr4yVYjZGp/P1+2xiEVgXRrA39dpRb8LcshajbqDQ==", - "dependencies": { - "es6-map": "^0.1.3", - "es6-weak-map": "^2.0.1", - "esrecurse": "^4.1.0", - "estraverse": "^4.1.1" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/escope/node_modules/estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "engines": { - "node": ">=4.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/eslint": { @@ -2471,11 +2252,6 @@ "semver": "bin/semver.js" } }, - "node_modules/eslint-plugin-standard": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/eslint-plugin-standard/-/eslint-plugin-standard-1.3.3.tgz", - "integrity": "sha512-LjMgISU4D6qdCmyGDzowQm5bINHpzkGiem1zhcm+Qa/FyZHsccZDU13cGYiEvF6iYl0ZazXAvPSPxbpD6/aEOg==" - }, "node_modules/eslint-scope": { "version": "7.2.2", "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", @@ -2531,15 +2307,6 @@ "url": "https://opencollective.com/eslint" } }, - "node_modules/eslint/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/eslint/node_modules/debug": { "version": "4.3.4", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", @@ -2557,18 +2324,6 @@ } } }, - "node_modules/eslint/node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/eslint/node_modules/find-up": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", @@ -2645,32 +2400,6 @@ "node": ">=8" } }, - "node_modules/eslint/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/esniff": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/esniff/-/esniff-2.0.1.tgz", - "integrity": "sha512-kTUIGKQ/mDPFoJ0oVfcmyJn4iBDRptjNVIzwIFR7tqWXdVI9xfA2RMwY/gbSpJG3lkdWNEjLap/NqVHZiJsdfg==", - "dependencies": { - "d": "^1.0.1", - "es5-ext": "^0.10.62", - "event-emitter": "^0.3.5", - "type": "^2.7.2" - }, - "engines": { - "node": ">=0.10" - } - }, "node_modules/espree": { "version": "9.6.1", "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", @@ -2688,17 +2417,6 @@ "url": "https://opencollective.com/eslint" } }, - "node_modules/esprima": { - "version": "4.0.1", - "license": "BSD-2-Clause", - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/esquery": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", @@ -2715,6 +2433,7 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, "dependencies": { "estraverse": "^5.2.0" }, @@ -2726,22 +2445,16 @@ "version": "5.3.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, "engines": { "node": ">=4.0" } }, - "node_modules/estraverse-fb": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/estraverse-fb/-/estraverse-fb-1.3.2.tgz", - "integrity": "sha512-wp3lfRrWy5EQD9TqesuYM1SKVP4ERT0cUatb4e8Vznf4K5IOpREhuyXZxGj3a9s9mvX5vGZKNHA4R9D4kp9Q9A==", - "peerDependencies": { - "estraverse": "*" - } - }, "node_modules/esutils": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, "engines": { "node": ">=0.10.0" } @@ -2753,15 +2466,6 @@ "node": ">= 0.6" } }, - "node_modules/event-emitter": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz", - "integrity": "sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA==", - "dependencies": { - "d": "1", - "es5-ext": "~0.10.14" - } - }, "node_modules/events": { "version": "1.1.1", "dev": true, @@ -2770,21 +2474,14 @@ "node": ">=0.4.x" } }, - "node_modules/exit-hook": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/exit-hook/-/exit-hook-1.1.1.tgz", - "integrity": "sha512-MsG3prOVw1WtLXAZbM3KiYtooKR1LvxHh3VHsVtIy0uiUu8usxgB/94DP2HxtD/661lLdB6yzQ09lGJSQr6nkg==", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/express": { - "version": "4.18.2", - "license": "MIT", + "version": "4.18.3", + "resolved": "https://registry.npmjs.org/express/-/express-4.18.3.tgz", + "integrity": "sha512-6VyCijWQ+9O7WuVMTRBTl+cjNNIzD5cY5mQ1WM8r/LEkI2u8EYpOotESNwzNlyCn3g+dmjKYI6BmNneSr/FSRw==", "dependencies": { "accepts": "~1.3.8", "array-flatten": "1.1.1", - "body-parser": "1.20.1", + "body-parser": "1.20.2", "content-disposition": "0.5.4", "content-type": "~1.0.4", "cookie": "0.5.0", @@ -2849,32 +2546,10 @@ ], "license": "MIT" }, - "node_modules/ext": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/ext/-/ext-1.7.0.tgz", - "integrity": "sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==", - "dependencies": { - "type": "^2.7.2" - } - }, "node_modules/extend": { "version": "3.0.2", "license": "MIT" }, - "node_modules/extended": { - "version": "0.0.6", - "license": "MIT", - "dependencies": { - "extender": "~0.0.5" - } - }, - "node_modules/extender": { - "version": "0.0.10", - "license": "MIT", - "dependencies": { - "declare.js": "~0.0.4" - } - }, "node_modules/extsprintf": { "version": "1.3.0", "engines": [ @@ -2888,20 +2563,6 @@ "node": "> 0.1.90" } }, - "node_modules/fast-csv": { - "version": "2.5.0", - "license": "MIT", - "dependencies": { - "extended": "0.0.6", - "is-extended": "0.0.10", - "object-extended": "0.0.7", - "safer-buffer": "^2.1.2", - "string-extended": "0.0.8" - }, - "engines": { - "node": ">=4.0.0" - } - }, "node_modules/fast-deep-equal": { "version": "3.1.3", "license": "MIT" @@ -2913,7 +2574,8 @@ "node_modules/fast-levenshtein": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==" + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true }, "node_modules/fastq": { "version": "1.17.1", @@ -2929,18 +2591,6 @@ "resolved": "https://registry.npmjs.org/fecha/-/fecha-4.2.3.tgz", "integrity": "sha512-OP2IUU6HeYKJi3i0z4A19kHMQoLVs4Hc+DPqqxI2h/DPZHTm/vjsfC6P0b4jCMy14XizLBqvndQ+UilD7707Jw==" }, - "node_modules/figures": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz", - "integrity": "sha512-UxKlfCRuCBxSXU4C6t9scbDyWZ4VlaFFdojKtzJuSkuOBQ5CNFum+zZXFwHjo+CxBC1t6zlYPgHIgFjL8ggoEQ==", - "dependencies": { - "escape-string-regexp": "^1.0.5", - "object-assign": "^4.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/file-entry-cache": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", @@ -2953,6 +2603,18 @@ "node": "^10.12.0 || >=12.0.0" } }, + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/finalhandler": { "version": "1.2.0", "license": "MIT", @@ -2969,11 +2631,6 @@ "node": ">= 0.8" } }, - "node_modules/find-root": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz", - "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==" - }, "node_modules/find-up": { "version": "3.0.0", "dev": true, @@ -2986,12 +2643,10 @@ } }, "node_modules/flat": { - "version": "4.1.1", + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", + "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "is-buffer": "~2.0.3" - }, "bin": { "flat": "cli.js" } @@ -3010,28 +2665,6 @@ "node": "^10.12.0 || >=12.0.0" } }, - "node_modules/flat/node_modules/is-buffer": { - "version": "2.0.5", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT", - "engines": { - "node": ">=4" - } - }, "node_modules/flatted": { "version": "3.3.1", "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz", @@ -3105,8 +2738,23 @@ }, "node_modules/fs.realpath": { "version": "1.0.0", + "dev": true, "license": "ISC" }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, "node_modules/function-bind": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", @@ -3142,26 +2790,11 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/generate-function": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.3.1.tgz", - "integrity": "sha512-eeB5GfMNeevm/GRYq20ShmsaGcmI81kIX2K9XQx5miC8KdHaC6Jm0qQ8ZNeGOi7wYB8OsdxKs+Y2oVuTFuVwKQ==", - "dependencies": { - "is-property": "^1.0.2" - } - }, - "node_modules/generate-object-property": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz", - "integrity": "sha512-TuOwZWgJ2VAMEGJvAyPWvpqxSANF0LDpmyHauMjFYzaACvn+QTT/AZomvPCzVBV7yDN3OmwHQ5OvHaeLKre3JQ==", - "dependencies": { - "is-property": "^1.0.0" - } - }, "node_modules/get-caller-file": { "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", "dev": true, - "license": "ISC", "engines": { "node": "6.* || 8.* || >= 10.*" } @@ -3238,6 +2871,7 @@ }, "node_modules/glob": { "version": "7.2.3", + "dev": true, "license": "ISC", "dependencies": { "fs.realpath": "^1.0.0", @@ -3308,7 +2942,8 @@ "node_modules/graceful-fs": { "version": "4.2.11", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true }, "node_modules/graphemer": { "version": "1.4.0", @@ -3316,14 +2951,6 @@ "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", "dev": true }, - "node_modules/growl": { - "version": "1.10.5", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4.x" - } - }, "node_modules/har-schema": { "version": "2.0.0", "license": "ISC", @@ -3342,17 +2969,6 @@ "node": ">=6" } }, - "node_modules/has-ansi": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", - "integrity": "sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==", - "dependencies": { - "ansi-regex": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/has-bigints": { "version": "1.0.2", "dev": true, @@ -3362,11 +2978,12 @@ } }, "node_modules/has-flag": { - "version": "3.0.0", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, - "license": "MIT", "engines": { - "node": ">=4" + "node": ">=8" } }, "node_modules/has-property-descriptors": { @@ -3482,7 +3099,8 @@ }, "node_modules/iconv-lite": { "version": "0.4.24", - "license": "MIT", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", "dependencies": { "safer-buffer": ">= 2.1.2 < 3" }, @@ -3531,6 +3149,7 @@ }, "node_modules/inflight": { "version": "1.0.6", + "dev": true, "license": "ISC", "dependencies": { "once": "^1.3.0", @@ -3541,57 +3160,6 @@ "version": "2.0.4", "license": "ISC" }, - "node_modules/inquirer": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-0.12.0.tgz", - "integrity": "sha512-bOetEz5+/WpgaW4D1NYOk1aD+JCqRjqu/FwRFgnIfiP7FC/zinsrfyO1vlS3nyH/R7S0IH3BIHBu4DBIDSqiGQ==", - "dependencies": { - "ansi-escapes": "^1.1.0", - "ansi-regex": "^2.0.0", - "chalk": "^1.0.0", - "cli-cursor": "^1.0.1", - "cli-width": "^2.0.0", - "figures": "^1.3.5", - "lodash": "^4.3.0", - "readline2": "^1.0.1", - "run-async": "^0.1.0", - "rx-lite": "^3.1.2", - "string-width": "^1.0.1", - "strip-ansi": "^3.0.0", - "through": "^2.3.6" - } - }, - "node_modules/inquirer/node_modules/ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/inquirer/node_modules/chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==", - "dependencies": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/inquirer/node_modules/supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==", - "engines": { - "node": ">=0.8.0" - } - }, "node_modules/internal-slot": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.7.tgz", @@ -3676,6 +3244,18 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/is-boolean-object": { "version": "1.1.2", "dev": true, @@ -3711,6 +3291,7 @@ "version": "2.13.1", "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", + "dev": true, "dependencies": { "hasown": "^2.0.0" }, @@ -3732,13 +3313,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-extended": { - "version": "0.0.10", - "license": "MIT", - "dependencies": { - "extended": "~0.0.3" - } - }, "node_modules/is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", @@ -3761,13 +3335,12 @@ } }, "node_modules/is-fullwidth-code-point": { - "version": "1.0.0", - "license": "MIT", - "dependencies": { - "number-is-nan": "^1.0.0" - }, + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, "node_modules/is-generator-function": { @@ -3808,23 +3381,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-my-ip-valid": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-my-ip-valid/-/is-my-ip-valid-1.0.1.tgz", - "integrity": "sha512-jxc8cBcOWbNK2i2aTkCZP6i7wkHF1bqKFrwEHuN5Jtg5BSaZHUZQ/JTOJwoV41YvHnOaRyWWh72T/KvfNz9DJg==" - }, - "node_modules/is-my-json-valid": { - "version": "2.20.6", - "resolved": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.20.6.tgz", - "integrity": "sha512-1JQwulVNjx8UqkPE/bqDaxtH4PXCe/2VRh/y3p99heOV87HG4Id5/VfDswd+YiAfHcRTfDlWgISycnHuhZq1aw==", - "dependencies": { - "generate-function": "^2.0.0", - "generate-object-property": "^1.1.0", - "is-my-ip-valid": "^1.0.0", - "jsonpointer": "^5.0.0", - "xtend": "^4.0.0" - } - }, "node_modules/is-negative-zero": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz", @@ -3837,6 +3393,15 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, "node_modules/is-number-object": { "version": "1.0.7", "dev": true, @@ -3860,10 +3425,14 @@ "node": ">=8" } }, - "node_modules/is-property": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz", - "integrity": "sha512-Ks/IoX00TtClbGQr4TWXemAnktAQvYB7HzcCxDGqEZU6oCmb2INHuOoKxbtR+HFkmYWBKv/dOZtGRiAjDhj92g==" + "node_modules/is-plain-obj": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", + "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", + "dev": true, + "engines": { + "node": ">=8" + } }, "node_modules/is-regex": { "version": "1.1.4", @@ -3881,11 +3450,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-resolvable": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz", - "integrity": "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==" - }, "node_modules/is-set": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.2.tgz", @@ -3968,6 +3532,18 @@ "version": "1.0.0", "license": "MIT" }, + "node_modules/is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/is-weakmap": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.1.tgz", @@ -4083,34 +3659,12 @@ "version": "0.4.1", "license": "MIT" }, - "node_modules/json-stable-stringify": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.1.1.tgz", - "integrity": "sha512-SU/971Kt5qVQfJpyDveVhQ/vya+5hvrjClFOcr8c0Fq5aODJjMwutrOfCU+eCnVD5gpx1Q3fEqkyom77zH1iIg==", - "dependencies": { - "call-bind": "^1.0.5", - "isarray": "^2.0.5", - "jsonify": "^0.0.1", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/json-stable-stringify-without-jsonify": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", "dev": true }, - "node_modules/json-stable-stringify/node_modules/isarray": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==" - }, "node_modules/json-stringify-safe": { "version": "5.0.1", "license": "ISC" @@ -4127,45 +3681,6 @@ "json5": "lib/cli.js" } }, - "node_modules/jsonify": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.1.tgz", - "integrity": "sha512-2/Ki0GcmuqSrgFyelQq9M05y7PS0mEwuIzrf3f1fPqkVDVRvZrPZtVSMHxdgo8Aq0sxAOb/cr2aqqA3LeWHVPg==", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/jsonld": { - "version": "2.0.2", - "license": "BSD-3-Clause", - "dependencies": { - "canonicalize": "^1.0.1", - "lru-cache": "^5.1.1", - "rdf-canonize": "^1.0.2", - "request": "^2.88.0", - "semver": "^6.3.0", - "xmldom": "0.1.19" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/jsonld/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/jsonpointer": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-5.0.1.tgz", - "integrity": "sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/jsprim": { "version": "1.4.2", "license": "MIT", @@ -4303,49 +3818,19 @@ "dev": true }, "node_modules/log-symbols": { - "version": "2.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "chalk": "^2.0.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/log-symbols/node_modules/ansi-styles": { - "version": "3.2.1", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/log-symbols/node_modules/chalk": { - "version": "2.4.2", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", "dev": true, - "license": "MIT", "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" }, "engines": { - "node": ">=4" - } - }, - "node_modules/log-symbols/node_modules/supports-color": { - "version": "5.5.0", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^3.0.0" + "node": ">=10" }, - "engines": { - "node": ">=4" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/logform": { @@ -4407,13 +3892,6 @@ "get-func-name": "^2.0.0" } }, - "node_modules/lru-cache": { - "version": "5.1.1", - "license": "ISC", - "dependencies": { - "yallist": "^3.0.2" - } - }, "node_modules/manakin": { "version": "0.5.2", "license": "MIT", @@ -4434,7 +3912,8 @@ }, "node_modules/media-typer": { "version": "0.3.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", "engines": { "node": ">= 0.6" } @@ -4479,6 +3958,7 @@ }, "node_modules/minimatch": { "version": "3.1.2", + "dev": true, "license": "ISC", "dependencies": { "brace-expansion": "^1.1.7" @@ -4502,153 +3982,202 @@ "node": ">= 8.0.0" } }, - "node_modules/mkdirp": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", - "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", - "dependencies": { - "minimist": "^1.2.6" - }, - "bin": { - "mkdirp": "bin/cmd.js" - } - }, "node_modules/mocha": { - "version": "6.2.3", + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.3.0.tgz", + "integrity": "sha512-uF2XJs+7xSLsrmIvn37i/wnc91nw7XjOQB8ccyx5aEgdnohr7n+rEiZP23WkCYHjilR6+EboEnbq/ZQDz4LSbg==", "dev": true, - "license": "MIT", "dependencies": { - "ansi-colors": "3.2.3", + "ansi-colors": "4.1.1", "browser-stdout": "1.3.1", - "debug": "3.2.6", - "diff": "3.5.0", - "escape-string-regexp": "1.0.5", - "find-up": "3.0.0", - "glob": "7.1.3", - "growl": "1.10.5", + "chokidar": "3.5.3", + "debug": "4.3.4", + "diff": "5.0.0", + "escape-string-regexp": "4.0.0", + "find-up": "5.0.0", + "glob": "8.1.0", "he": "1.2.0", - "js-yaml": "3.13.1", - "log-symbols": "2.2.0", - "minimatch": "3.0.4", - "mkdirp": "0.5.4", - "ms": "2.1.1", - "node-environment-flags": "1.0.5", - "object.assign": "4.1.0", - "strip-json-comments": "2.0.1", - "supports-color": "6.0.0", - "which": "1.3.1", - "wide-align": "1.1.3", - "yargs": "13.3.2", - "yargs-parser": "13.1.2", - "yargs-unparser": "1.6.0" + "js-yaml": "4.1.0", + "log-symbols": "4.1.0", + "minimatch": "5.0.1", + "ms": "2.1.3", + "serialize-javascript": "6.0.0", + "strip-json-comments": "3.1.1", + "supports-color": "8.1.1", + "workerpool": "6.2.1", + "yargs": "16.2.0", + "yargs-parser": "20.2.4", + "yargs-unparser": "2.0.0" }, "bin": { "_mocha": "bin/_mocha", - "mocha": "bin/mocha" + "mocha": "bin/mocha.js" }, "engines": { - "node": ">= 6.0.0" + "node": ">= 14.0.0" + } + }, + "node_modules/mocha/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" } }, "node_modules/mocha/node_modules/debug": { - "version": "3.2.6", - "deprecated": "Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)", + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", "dev": true, - "license": "MIT", "dependencies": { - "ms": "^2.1.1" + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/mocha/node_modules/debug/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/mocha/node_modules/diff": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz", + "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==", + "dev": true, + "engines": { + "node": ">=0.3.1" + } + }, + "node_modules/mocha/node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/mocha/node_modules/glob": { - "version": "7.1.3", + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", + "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", "dev": true, - "license": "ISC", "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "minimatch": "^5.0.1", + "once": "^1.3.0" }, "engines": { - "node": "*" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/mocha/node_modules/js-yaml": { - "version": "3.13.1", + "node_modules/mocha/node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", "dev": true, - "license": "MIT", "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" + "p-locate": "^5.0.0" }, - "bin": { - "js-yaml": "bin/js-yaml.js" + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/mocha/node_modules/minimatch": { - "version": "3.0.4", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.0.1.tgz", + "integrity": "sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==", "dev": true, - "license": "ISC", "dependencies": { - "brace-expansion": "^1.1.7" + "brace-expansion": "^2.0.1" }, "engines": { - "node": "*" + "node": ">=10" } }, - "node_modules/mocha/node_modules/mkdirp": { - "version": "0.5.4", - "deprecated": "Legacy versions of mkdirp are no longer supported. Please update to mkdirp 1.x. (Note that the API surface has changed to use Promises in 1.x.)", + "node_modules/mocha/node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", "dev": true, - "license": "MIT", "dependencies": { - "minimist": "^1.2.5" + "yocto-queue": "^0.1.0" }, - "bin": { - "mkdirp": "bin/cmd.js" + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/mocha/node_modules/ms": { - "version": "2.1.1", + "node_modules/mocha/node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", "dev": true, - "license": "MIT" + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "node_modules/mocha/node_modules/strip-json-comments": { - "version": "2.0.1", + "node_modules/mocha/node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", "dev": true, - "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, "node_modules/mocha/node_modules/supports-color": { - "version": "6.0.0", + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", "dev": true, - "license": "MIT", "dependencies": { - "has-flag": "^3.0.0" + "has-flag": "^4.0.0" }, "engines": { - "node": ">=6" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" } }, "node_modules/ms": { "version": "2.1.3", "license": "MIT" }, - "node_modules/multiline": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/multiline/-/multiline-1.0.2.tgz", - "integrity": "sha512-DGpmDIZKKQ+EVx0sh0757V6qlb+ouuByoC5CWH7J0bOd6KRM6ka6l9LGHWfe17OKxm+4AsLs1tgiK4vZIx66RQ==", - "dependencies": { - "strip-indent": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/mute-stream": { "version": "0.0.8", "license": "ISC" @@ -4666,11 +4195,6 @@ "node": ">= 0.6" } }, - "node_modules/next-tick": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.1.0.tgz", - "integrity": "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==" - }, "node_modules/nise": { "version": "5.1.9", "resolved": "https://registry.npmjs.org/nise/-/nise-5.1.9.tgz", @@ -4701,395 +4225,15 @@ "node": ">= 0.4.6" } }, - "node_modules/node-environment-flags": { - "version": "1.0.5", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "object.getownpropertydescriptors": "^2.0.3", - "semver": "^5.7.0" - } - }, - "node_modules/node-environment-flags/node_modules/semver": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", "dev": true, - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/node-forge": { - "version": "0.10.0", - "license": "(BSD-3-Clause OR GPL-2.0)", - "engines": { - "node": ">= 6.0.0" - } - }, - "node_modules/number-is-nan": { - "version": "1.0.1", - "license": "MIT", "engines": { "node": ">=0.10.0" } }, - "node_modules/nypl-registry-utils-lexicon": { - "version": "1.0.0", - "resolved": "git+ssh://git@github.com/nypl-registry/utils-lexicon.git#330e7258c7d2243b7689dec9850173541664db1e", - "license": "MIT", - "dependencies": { - "glob": "^7.0.0", - "standard": "^6.0.7" - } - }, - "node_modules/nypl-registry-utils-lexicon/node_modules/acorn": { - "version": "5.7.4", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.4.tgz", - "integrity": "sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg==", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/nypl-registry-utils-lexicon/node_modules/acorn-jsx": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-3.0.1.tgz", - "integrity": "sha512-AU7pnZkguthwBjKgCg6998ByQNIMjbuDQZ8bb78QAFZwPfmKia8AIzgY/gWgqCjnht8JLdXmB4YxA0KaV60ncQ==", - "dependencies": { - "acorn": "^3.0.4" - } - }, - "node_modules/nypl-registry-utils-lexicon/node_modules/acorn-jsx/node_modules/acorn": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz", - "integrity": "sha512-OLUyIIZ7mF5oaAUT1w0TFqQS81q3saT46x8t7ukpPjMNk+nbs4ZHhs7ToV8EWnLYLepjETXd4XaCE4uxkMeqUw==", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/nypl-registry-utils-lexicon/node_modules/ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/nypl-registry-utils-lexicon/node_modules/chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==", - "dependencies": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/nypl-registry-utils-lexicon/node_modules/doctrine": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz", - "integrity": "sha512-lsGyRuYr4/PIB0txi+Fy2xOMI2dGaTguCaotzFGkVZuKR5usKfcRWIFKNM3QNrU7hh/+w2bwTW+ZeXPK5l8uVg==", - "dependencies": { - "esutils": "^2.0.2", - "isarray": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/nypl-registry-utils-lexicon/node_modules/eslint": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-2.2.0.tgz", - "integrity": "sha512-Ay1ThESRUQUlI3JnWrVjAecu+v2sm9ldq95IPe4LyrC8fG3SSZs5f2l4xRfB3kW9UOACeBsx0Na8uJ1ckgeBrg==", - "dependencies": { - "chalk": "^1.0.0", - "concat-stream": "^1.4.6", - "debug": "^2.1.1", - "doctrine": "^1.1.0", - "es6-map": "^0.1.3", - "escope": "^3.4.0", - "espree": "^3.0.0", - "estraverse": "^4.1.1", - "estraverse-fb": "^1.3.1", - "esutils": "^2.0.2", - "file-entry-cache": "^1.1.1", - "glob": "^6.0.4", - "globals": "^8.18.0", - "ignore": "^2.2.19", - "inquirer": "^0.12.0", - "is-my-json-valid": "^2.10.0", - "is-resolvable": "^1.0.0", - "js-yaml": "^3.5.1", - "json-stable-stringify": "^1.0.0", - "lodash": "^4.0.0", - "mkdirp": "^0.5.0", - "optionator": "^0.8.1", - "path-is-absolute": "^1.0.0", - "path-is-inside": "^1.0.1", - "pluralize": "^1.2.1", - "progress": "^1.1.8", - "require-uncached": "^1.0.2", - "resolve": "^1.1.6", - "shelljs": "^0.5.3", - "strip-json-comments": "~1.0.1", - "table": "^3.7.8", - "text-table": "~0.2.0", - "user-home": "^2.0.0" - }, - "bin": { - "eslint": "bin/eslint.js" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/nypl-registry-utils-lexicon/node_modules/eslint-config-standard": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/eslint-config-standard/-/eslint-config-standard-5.1.0.tgz", - "integrity": "sha512-mDjsN6Hk4W3rJe2w9G6W2H3RIrUcKUeXtDWL6orlNcik8Q2w4oZvBOhHtDZGuB7uXTL5DKLOBnPVO9NVopLb2Q==", - "peerDependencies": { - "eslint": "^2.0.0-rc.0", - "eslint-plugin-promise": "^1.0.8", - "eslint-plugin-standard": "^1.3.1" - } - }, - "node_modules/nypl-registry-utils-lexicon/node_modules/eslint-config-standard-jsx": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/eslint-config-standard-jsx/-/eslint-config-standard-jsx-1.1.1.tgz", - "integrity": "sha512-AWUuX0M2BbnSQHNGTObfdfW7LtB+imuoqXdVrK74u+eMK3Astu8PFoHd8+kTUMqWR5WosrxxRtOY+IgBUs8ZYw==", - "peerDependencies": { - "eslint": "^2.0.0-rc.0", - "eslint-plugin-react": ">=2.7.1" - } - }, - "node_modules/nypl-registry-utils-lexicon/node_modules/eslint-plugin-promise": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-1.3.2.tgz", - "integrity": "sha512-0u7miAO2rYoIt3xhSoajdZSQdCvkyAu0JFXY5la1PW/xcgSyaBxQz91Rnm4zN084YSwYB6dc+HId2ByMS7jImw==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/nypl-registry-utils-lexicon/node_modules/eslint-plugin-react": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-4.3.0.tgz", - "integrity": "sha512-ajQ9S74FUln2GcwgpPUQqRLcT6UFDhvAMIiDX4F68tDnuihNXcAA7LI19MmRGGOuJnpMVDXugJg+wf9K+bf6kg==" - }, - "node_modules/nypl-registry-utils-lexicon/node_modules/eslint/node_modules/glob": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/glob/-/glob-6.0.4.tgz", - "integrity": "sha512-MKZeRNyYZAVVVG1oZeLaWie1uweH40m9AZwIwxyPbTSX4hHrVYSzLg0Ro5Z5R7XKkIX+Cc6oD1rqeDJnwsB8/A==", - "dependencies": { - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "2 || 3", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - } - }, - "node_modules/nypl-registry-utils-lexicon/node_modules/espree": { - "version": "3.5.4", - "resolved": "https://registry.npmjs.org/espree/-/espree-3.5.4.tgz", - "integrity": "sha512-yAcIQxtmMiB/jL32dzEp2enBeidsB7xWPLNiw3IIkpVds1P+h7qF9YwJq1yUNzp2OKXgAprs4F61ih66UsoD1A==", - "dependencies": { - "acorn": "^5.5.0", - "acorn-jsx": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/nypl-registry-utils-lexicon/node_modules/estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/nypl-registry-utils-lexicon/node_modules/file-entry-cache": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-1.3.1.tgz", - "integrity": "sha512-JyVk7P0Hvw6uEAwH4Y0j+rZMvaMWvLBYRmRGAF2S6jKTycf0mMDcC7d21Y2KyrKJk3XI8YghSsk5KmRdbvg0VQ==", - "dependencies": { - "flat-cache": "^1.2.1", - "object-assign": "^4.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/nypl-registry-utils-lexicon/node_modules/flat-cache": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-1.3.4.tgz", - "integrity": "sha512-VwyB3Lkgacfik2vhqR4uv2rvebqmDvFu4jlN/C1RzWoJEo8I7z4Q404oiqYCkq41mni8EzQnm95emU9seckwtg==", - "dependencies": { - "circular-json": "^0.3.1", - "graceful-fs": "^4.1.2", - "rimraf": "~2.6.2", - "write": "^0.2.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/nypl-registry-utils-lexicon/node_modules/get-stdin": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-5.0.1.tgz", - "integrity": "sha512-jZV7n6jGE3Gt7fgSTJoz91Ak5MuTLwMwkoYdjxuJ/AmjIsE1UC03y/IWkZCQGEvVNS9qoRNwy5BCqxImv0FVeA==", - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/nypl-registry-utils-lexicon/node_modules/globals": { - "version": "8.18.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-8.18.0.tgz", - "integrity": "sha512-IHCTKEGo42ICEkTZBADyl4HX06hVdFF4qdJdqOgaBe5X8RE1/MrvubetsEtGTcwjs46djFq0Gc3+5RgTsc3UoQ==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/nypl-registry-utils-lexicon/node_modules/ignore": { - "version": "2.2.19", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-2.2.19.tgz", - "integrity": "sha512-Mq1FKJDxSky/AR+Goatl1RmCzWbAHE4fNvgkmJu9Ln8T8A8JbKAd/BHHZQaqknHSFCBe0zQJg7akDpI57pKTlQ==", - "deprecated": "several bugs fixed in v3.2.1" - }, - "node_modules/nypl-registry-utils-lexicon/node_modules/js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/nypl-registry-utils-lexicon/node_modules/levn": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", - "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==", - "dependencies": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/nypl-registry-utils-lexicon/node_modules/optionator": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", - "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", - "dependencies": { - "deep-is": "~0.1.3", - "fast-levenshtein": "~2.0.6", - "levn": "~0.3.0", - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2", - "word-wrap": "~1.2.3" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/nypl-registry-utils-lexicon/node_modules/prelude-ls": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", - "integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==", - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/nypl-registry-utils-lexicon/node_modules/rimraf": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", - "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - } - }, - "node_modules/nypl-registry-utils-lexicon/node_modules/standard": { - "version": "6.0.8", - "resolved": "https://registry.npmjs.org/standard/-/standard-6.0.8.tgz", - "integrity": "sha512-qvzyrbsMBqapl7BAAQUmxhUvZW+sN5Ok4Mj+ZEsqABrjOY88a1rE5IFybXnXUdvD7KN/8fjqRubHW5NgT4bJhw==", - "dependencies": { - "eslint": "~2.2.0", - "eslint-config-standard": "5.1.0", - "eslint-config-standard-jsx": "1.1.1", - "eslint-plugin-promise": "^1.0.8", - "eslint-plugin-react": "^4.0.0", - "eslint-plugin-standard": "^1.3.1", - "standard-engine": "^3.3.0", - "xtend": "^4.0.1" - }, - "bin": { - "standard": "bin/cmd.js" - } - }, - "node_modules/nypl-registry-utils-lexicon/node_modules/standard-engine": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/standard-engine/-/standard-engine-3.3.1.tgz", - "integrity": "sha512-Y1k4p/k0e3BGk/xnyr3T2ybnYEm7b3Jdr2NtjW74RV6bzlxHTZPQAJdaQUKlmhKSdauWleUuTo4Xn9nTvS3A5g==", - "dependencies": { - "defaults": "^1.0.2", - "deglob": "^1.0.0", - "find-root": "^1.0.0", - "get-stdin": "^5.0.1", - "minimist": "^1.1.0", - "multiline": "^1.0.2", - "pkg-config": "^1.0.1", - "xtend": "^4.0.0" - } - }, - "node_modules/nypl-registry-utils-lexicon/node_modules/strip-json-comments": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-1.0.4.tgz", - "integrity": "sha512-AOPG8EBc5wAikaG1/7uFCNFJwnKOuQwFTpYBdTW6OvWHeZBQBrAA/amefHGrEiOnCPcLFZK6FUPtWVKpQVIRgg==", - "bin": { - "strip-json-comments": "cli.js" - }, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/nypl-registry-utils-lexicon/node_modules/supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/nypl-registry-utils-lexicon/node_modules/type-check": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", - "integrity": "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==", - "dependencies": { - "prelude-ls": "~1.1.2" - }, - "engines": { - "node": ">= 0.8.0" - } - }, "node_modules/oauth": { "version": "0.9.15", "license": "MIT" @@ -5105,19 +4249,11 @@ "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "dev": true, "engines": { "node": ">=0.10.0" } }, - "node_modules/object-extended": { - "version": "0.0.7", - "license": "MIT", - "dependencies": { - "array-extended": "~0.0.4", - "extended": "~0.0.3", - "is-extended": "~0.0.3" - } - }, "node_modules/object-inspect": { "version": "1.13.1", "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz", @@ -5128,21 +4264,8 @@ }, "node_modules/object-keys": { "version": "1.1.1", - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object.assign": { - "version": "4.1.0", "dev": true, "license": "MIT", - "dependencies": { - "define-properties": "^1.1.2", - "function-bind": "^1.1.1", - "has-symbols": "^1.0.0", - "object-keys": "^1.0.11" - }, "engines": { "node": ">= 0.4" } @@ -5178,24 +4301,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/object.getownpropertydescriptors": { - "version": "2.1.6", - "dev": true, - "license": "MIT", - "dependencies": { - "array.prototype.reduce": "^1.0.5", - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.21.2", - "safe-array-concat": "^1.0.0" - }, - "engines": { - "node": ">= 0.8" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/object.groupby": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.2.tgz", @@ -5264,14 +4369,6 @@ "fn.name": "1.x.x" } }, - "node_modules/onetime": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz", - "integrity": "sha512-GZ+g4jayMqzCRMgB2sol7GiCLjKfS1PINkjmx8spcKce1LiVqcbQreXwqs2YAFXC6R03VIG28ZS31t8M866v6A==", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/optionator": { "version": "0.9.3", "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", @@ -5289,14 +4386,6 @@ "node": ">= 0.8.0" } }, - "node_modules/os-homedir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", - "integrity": "sha512-B5JU3cabzk8c67mRRd3ECmROafjYMXbuzlwtqdM8IbS8ktlTix8aFGb2bAGKrSRIlnfKwovGUUr72JUPyOb6kQ==", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/p-limit": { "version": "2.3.0", "dev": true, @@ -5381,16 +4470,12 @@ }, "node_modules/path-is-absolute": { "version": "1.0.1", + "dev": true, "license": "MIT", "engines": { "node": ">=0.10.0" } }, - "node_modules/path-is-inside": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", - "integrity": "sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w==" - }, "node_modules/path-key": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", @@ -5403,7 +4488,8 @@ "node_modules/path-parse": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true }, "node_modules/path-to-regexp": { "version": "0.1.7", @@ -5488,6 +4574,18 @@ "split2": "^4.1.0" } }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, "node_modules/pify": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", @@ -5510,24 +4608,6 @@ "node": ">=6" } }, - "node_modules/pkg-config": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/pkg-config/-/pkg-config-1.1.1.tgz", - "integrity": "sha512-ft/WI9YK6FuTuw4Ql+QUaNXtm/ASQNqDUUsZEgFZKyFpW6amyP8Gx01xrRs8KdiNbbqXfYxkOXplpq1euWbOjw==", - "dependencies": { - "debug-log": "^1.0.0", - "find-root": "^1.0.0", - "xtend": "^4.0.1" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/pluralize": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-1.2.1.tgz", - "integrity": "sha512-TH+BeeL6Ct98C7as35JbZLf8lgsRzlNJb5gklRIGHKaPkGl1esOKBc5ALUMd+q08Sr6tiEKM+Icbsxg5vuhMKQ==" - }, "node_modules/possible-typed-array-names": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz", @@ -5581,14 +4661,6 @@ "version": "2.0.1", "license": "MIT" }, - "node_modules/progress": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/progress/-/progress-1.1.8.tgz", - "integrity": "sha512-UdA8mJ4weIkUBO224tIarHzuHs4HuYiJvsuGT7j/SPQiUJVjYvNDBIPa0hAorduOfjGohB/qHWRa/lrrWX/mXw==", - "engines": { - "node": ">=0.4.0" - } - }, "node_modules/promise": { "version": "7.3.1", "license": "MIT", @@ -5705,6 +4777,7 @@ "version": "1.2.3", "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, "funding": [ { "type": "github", @@ -5720,9 +4793,14 @@ } ] }, - "node_modules/ramda": { - "version": "0.21.0", - "license": "MIT" + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "dependencies": { + "safe-buffer": "^5.1.0" + } }, "node_modules/range-parser": { "version": "1.2.1", @@ -5732,8 +4810,9 @@ } }, "node_modules/raw-body": { - "version": "2.5.1", - "license": "MIT", + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", + "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", "dependencies": { "bytes": "3.1.2", "http-errors": "2.0.0", @@ -5744,25 +4823,6 @@ "node": ">= 0.8" } }, - "node_modules/rdf-canonize": { - "version": "1.2.0", - "license": "BSD-3-Clause", - "dependencies": { - "node-forge": "^0.10.0", - "semver": "^6.3.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/rdf-canonize/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "bin": { - "semver": "bin/semver.js" - } - }, "node_modules/react-is": { "version": "16.13.1", "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", @@ -5792,21 +4852,18 @@ "util-deprecate": "~1.0.1" } }, - "node_modules/readline2": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/readline2/-/readline2-1.0.1.tgz", - "integrity": "sha512-8/td4MmwUB6PkZUbV25uKz7dfrmjYWxsW8DVfibWdlHRk/l/DfHKn4pU+dfcoGLFgWOdyGCzINRQD7jn+Bv+/g==", + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, "dependencies": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "mute-stream": "0.0.5" + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" } }, - "node_modules/readline2/node_modules/mute-stream": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.5.tgz", - "integrity": "sha512-EbrziT4s8cWPmzr47eYVW3wimS4HsvlnV5ri1xw1aR6JQo/OrJX5rkl32K/QQHdxeabJETtfeaROGhd8W7uBgg==" - }, "node_modules/reflect.getprototypeof": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.5.tgz", @@ -5932,33 +4989,9 @@ }, "node_modules/require-directory": { "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/require-main-filename": { - "version": "2.0.0", - "dev": true, - "license": "ISC" - }, - "node_modules/require-uncached": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/require-uncached/-/require-uncached-1.0.3.tgz", - "integrity": "sha512-Xct+41K3twrbBHdxAgMoOS+cNcoqIjfM2/VxBF4LL2hVph7YsF8VSKyQ3BDFZwEVbok9yeDl2le/qo0S77WG2w==", - "dependencies": { - "caller-path": "^0.1.0", - "resolve-from": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/require-uncached/node_modules/resolve-from": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-1.0.1.tgz", - "integrity": "sha512-kT10v4dhrlLNcnO084hEjvXCI1wUG9qZLoz2RogxqDQQYy7IxjI/iMUkOtQTNEh6rzHxvdQWHsJyel1pKOVCxg==", "engines": { "node": ">=0.10.0" } @@ -5967,6 +5000,7 @@ "version": "1.22.8", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "dev": true, "dependencies": { "is-core-module": "^2.13.0", "path-parse": "^1.0.7", @@ -5988,18 +5022,6 @@ "node": ">=4" } }, - "node_modules/restore-cursor": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-1.0.1.tgz", - "integrity": "sha512-reSjH4HuiFlxlaBaFCiS6O76ZGG2ygKoSlCsipKdaZuKSPx/+bt9mULkn4l0asVzbEfQQmXRg6Wp6gv6m0wElw==", - "dependencies": { - "exit-hook": "^1.0.0", - "onetime": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/reusify": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", @@ -6032,18 +5054,11 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/run-async": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/run-async/-/run-async-0.1.0.tgz", - "integrity": "sha512-qOX+w+IxFgpUpJfkv2oGN0+ExPs68F4sZHfaRRx4dDexAQkG83atugKVEylyT5ARees3HBbfmuvnjbrd8j9Wjw==", - "dependencies": { - "once": "^1.3.0" - } - }, "node_modules/run-parallel": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, "funding": [ { "type": "github", @@ -6062,11 +5077,6 @@ "queue-microtask": "^1.2.2" } }, - "node_modules/rx-lite": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/rx-lite/-/rx-lite-3.1.2.tgz", - "integrity": "sha512-1I1+G2gteLB8Tkt8YI1sJvSIfa0lWuRtC8GjvtyPBcLSF5jBCCJJqKrpER5JU5r6Bhe+i9/pK3VMuUcXu0kdwQ==" - }, "node_modules/safe-array-concat": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.0.tgz", @@ -6162,6 +5172,15 @@ "node": ">= 0.8.0" } }, + "node_modules/serialize-javascript": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", + "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", + "dev": true, + "dependencies": { + "randombytes": "^2.1.0" + } + }, "node_modules/serve-static": { "version": "1.15.0", "license": "MIT", @@ -6175,11 +5194,6 @@ "node": ">= 0.8.0" } }, - "node_modules/set-blocking": { - "version": "2.0.0", - "dev": true, - "license": "ISC" - }, "node_modules/set-function-length": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.1.tgz", @@ -6236,17 +5250,6 @@ "node": ">=8" } }, - "node_modules/shelljs": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.5.3.tgz", - "integrity": "sha512-C2FisSSW8S6TIYHHiMHN0NqzdjWfTekdMpA2FJTbRWnQMLO1RRIXEB9eVZYOlofYmjZA7fY3ChoFu09MeI3wlQ==", - "bin": { - "shjs": "bin/shjs" - }, - "engines": { - "node": ">=0.8.0" - } - }, "node_modules/should": { "version": "7.1.1", "dev": true, @@ -6330,14 +5333,6 @@ "node": ">=0.3.1" } }, - "node_modules/slice-ansi": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-0.0.4.tgz", - "integrity": "sha512-up04hB2hR92PgjpyU3y/eg91yIBILyjVY26NvvciY3EVVPjybkMszMpXQ9QAkcS3I5rtJBDLoTxxg+qvW8c7rw==", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/spex": { "version": "2.0.2", "license": "MIT", @@ -6353,10 +5348,6 @@ "node": ">= 10.x" } }, - "node_modules/sprintf-js": { - "version": "1.0.3", - "license": "BSD-3-Clause" - }, "node_modules/sshpk": { "version": "1.17.0", "license": "MIT", @@ -6483,30 +5474,18 @@ "safe-buffer": "~5.1.0" } }, - "node_modules/string_score": { - "version": "0.1.22", - "license": "MIT" - }, - "node_modules/string-extended": { - "version": "0.0.8", - "license": "MIT", - "dependencies": { - "array-extended": "~0.0.5", - "date-extended": "~0.0.3", - "extended": "~0.0.3", - "is-extended": "~0.0.3" - } - }, "node_modules/string-width": { - "version": "1.0.2", - "license": "MIT", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, "dependencies": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, "node_modules/string.prototype.matchall": { @@ -6575,13 +5554,15 @@ } }, "node_modules/strip-ansi": { - "version": "3.0.1", - "license": "MIT", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, "dependencies": { - "ansi-regex": "^2.0.0" + "ansi-regex": "^5.0.1" }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, "node_modules/strip-bom": { @@ -6593,28 +5574,6 @@ "node": ">=4" } }, - "node_modules/strip-indent": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz", - "integrity": "sha512-I5iQq6aFMM62fBEAIB/hXzwJD6EEZ0xEGCX2t7oXqaKPIRgt4WruAQ285BISgdkP+HLGWyeGmNJcpIwFeRYRUA==", - "dependencies": { - "get-stdin": "^4.0.1" - }, - "bin": { - "strip-indent": "cli.js" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/strip-indent/node_modules/get-stdin": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", - "integrity": "sha512-F5aQMywwJ2n85s4hJPTT9RPxGmubonuB10MNYo17/xph174n2MIR33HRguhzVag10O/npM7SPk73LMZNP+FaWw==", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/strip-json-comments": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", @@ -6639,19 +5598,11 @@ "node": ">=8" } }, - "node_modules/supports-color/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/supports-preserve-symlinks-flag": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, "engines": { "node": ">= 0.4" }, @@ -6678,98 +5629,6 @@ "get-port": "^3.1.0" } }, - "node_modules/table": { - "version": "3.8.3", - "resolved": "https://registry.npmjs.org/table/-/table-3.8.3.tgz", - "integrity": "sha512-RZuzIOtzFbprLCE0AXhkI0Xi42ZJLZhCC+qkwuMLf/Vjz3maWpA8gz1qMdbmNoI9cOROT2Am/DxeRyXenrL11g==", - "dependencies": { - "ajv": "^4.7.0", - "ajv-keywords": "^1.0.0", - "chalk": "^1.1.1", - "lodash": "^4.0.0", - "slice-ansi": "0.0.4", - "string-width": "^2.0.0" - } - }, - "node_modules/table/node_modules/ajv": { - "version": "4.11.8", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-4.11.8.tgz", - "integrity": "sha512-I/bSHSNEcFFqXLf91nchoNB9D1Kie3QKcWdchYUaoIg1+1bdWDkdfdlvdIOJbi9U8xR0y+MWc5D+won9v95WlQ==", - "dependencies": { - "co": "^4.6.0", - "json-stable-stringify": "^1.0.1" - } - }, - "node_modules/table/node_modules/ansi-regex": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", - "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==", - "engines": { - "node": ">=4" - } - }, - "node_modules/table/node_modules/ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/table/node_modules/chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==", - "dependencies": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/table/node_modules/is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", - "engines": { - "node": ">=4" - } - }, - "node_modules/table/node_modules/string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "dependencies": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/table/node_modules/string-width/node_modules/strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==", - "dependencies": { - "ansi-regex": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/table/node_modules/supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==", - "engines": { - "node": ">=0.8.0" - } - }, "node_modules/text-hex": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/text-hex/-/text-hex-1.0.0.tgz", @@ -6778,7 +5637,8 @@ "node_modules/text-table": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==" + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "dev": true }, "node_modules/then-request": { "version": "2.2.0", @@ -6792,10 +5652,17 @@ "qs": "^6.1.0" } }, - "node_modules/through": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==" + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } }, "node_modules/toidentifier": { "version": "1.0.1", @@ -6849,11 +5716,6 @@ "version": "0.14.5", "license": "Unlicense" }, - "node_modules/type": { - "version": "2.7.2", - "resolved": "https://registry.npmjs.org/type/-/type-2.7.2.tgz", - "integrity": "sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw==" - }, "node_modules/type-check": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", @@ -6888,7 +5750,8 @@ }, "node_modules/type-is": { "version": "1.6.18", - "license": "MIT", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", "dependencies": { "media-typer": "0.3.0", "mime-types": "~2.1.24" @@ -6988,11 +5851,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/uniq": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz", - "integrity": "sha512-Gw+zz50YNKPDKXs+9d+aKAjVwpjNwqzvNpLigIruT4HA9lMZNdMqs9x07kKHB/L9WRzqp4+DlTU5s4wG2esdoA==" - }, "node_modules/unpipe": { "version": "1.0.0", "license": "MIT", @@ -7021,17 +5879,6 @@ "dev": true, "license": "MIT" }, - "node_modules/user-home": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/user-home/-/user-home-2.0.0.tgz", - "integrity": "sha512-KMWqdlOcjCYdtIJpicDSFBQ8nFwS2i9sslAd6f4+CBGcU4gist2REnr2fxj2YocvJFxSF3ZOHLYLVZnUxv4BZQ==", - "dependencies": { - "os-homedir": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/util": { "version": "0.12.5", "dev": true, @@ -7095,17 +5942,6 @@ "node": ">=0.10.48" } }, - "node_modules/which": { - "version": "1.3.1", - "dev": true, - "license": "ISC", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "which": "bin/which" - } - }, "node_modules/which-boxed-primitive": { "version": "1.0.2", "dev": true, @@ -7168,11 +6004,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/which-module": { - "version": "2.0.1", - "dev": true, - "license": "ISC" - }, "node_modules/which-typed-array": { "version": "1.1.14", "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.14.tgz", @@ -7192,14 +6023,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/wide-align": { - "version": "1.1.3", - "dev": true, - "license": "ISC", - "dependencies": { - "string-width": "^1.0.2 || 2" - } - }, "node_modules/winston": { "version": "3.12.0", "resolved": "https://registry.npmjs.org/winston/-/winston-3.12.0.tgz", @@ -7273,93 +6096,33 @@ "node": ">= 6" } }, - "node_modules/word-wrap": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", - "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", - "engines": { - "node": ">=0.10.0" - } + "node_modules/workerpool": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.2.1.tgz", + "integrity": "sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw==", + "dev": true }, "node_modules/wrap-ansi": { - "version": "5.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^3.2.0", - "string-width": "^3.0.0", - "strip-ansi": "^5.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/wrap-ansi/node_modules/ansi-regex": { - "version": "4.1.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/wrap-ansi/node_modules/ansi-styles": { - "version": "3.2.1", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/wrap-ansi/node_modules/is-fullwidth-code-point": { - "version": "2.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/wrap-ansi/node_modules/string-width": { - "version": "3.1.0", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", "dev": true, - "license": "MIT", "dependencies": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" }, "engines": { - "node": ">=6" - } - }, - "node_modules/wrap-ansi/node_modules/strip-ansi": { - "version": "5.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^4.1.0" + "node": ">=10" }, - "engines": { - "node": ">=6" + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, "node_modules/wrappy": { "version": "1.0.2", "license": "ISC" }, - "node_modules/write": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/write/-/write-0.2.1.tgz", - "integrity": "sha512-CJ17OoULEKXpA5pef3qLj5AxTJ6mSt7g84he2WIskKwqFO4T97d5V7Tadl0DYDk7qyUOQD5WlUlOMChaYrhxeA==", - "dependencies": { - "mkdirp": "^0.5.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/xdg-basedir": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-4.0.0.tgz", @@ -7389,13 +6152,6 @@ "node": ">=4.0" } }, - "node_modules/xmldom": { - "version": "0.1.19", - "deprecated": "Deprecated due to CVE-2021-21366 resolved in 0.5.0", - "engines": { - "node": ">=0.1" - } - }, "node_modules/xtend": { "version": "4.0.2", "license": "MIT", @@ -7404,91 +6160,54 @@ } }, "node_modules/y18n": { - "version": "4.0.3", + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", "dev": true, - "license": "ISC" - }, - "node_modules/yallist": { - "version": "3.1.1", - "license": "ISC" + "engines": { + "node": ">=10" + } }, "node_modules/yargs": { - "version": "13.3.2", + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", "dev": true, - "license": "MIT", "dependencies": { - "cliui": "^5.0.0", - "find-up": "^3.0.0", - "get-caller-file": "^2.0.1", + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^3.0.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^13.1.2" - } - }, - "node_modules/yargs-parser": { - "version": "13.1.2", - "dev": true, - "license": "ISC", - "dependencies": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } - }, - "node_modules/yargs-unparser": { - "version": "1.6.0", - "dev": true, - "license": "MIT", - "dependencies": { - "flat": "^4.1.0", - "lodash": "^4.17.15", - "yargs": "^13.3.0" + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" }, "engines": { - "node": ">=6" + "node": ">=10" } }, - "node_modules/yargs/node_modules/ansi-regex": { - "version": "4.1.1", + "node_modules/yargs-parser": { + "version": "20.2.4", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", + "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==", "dev": true, - "license": "MIT", "engines": { - "node": ">=6" + "node": ">=10" } }, - "node_modules/yargs/node_modules/is-fullwidth-code-point": { + "node_modules/yargs-unparser": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz", + "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==", "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/yargs/node_modules/string-width": { - "version": "3.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/yargs/node_modules/strip-ansi": { - "version": "5.2.0", - "dev": true, - "license": "MIT", "dependencies": { - "ansi-regex": "^4.1.0" + "camelcase": "^6.0.0", + "decamelize": "^4.0.0", + "flat": "^5.0.2", + "is-plain-obj": "^2.1.0" }, "engines": { - "node": ">=6" + "node": ">=10" } }, "node_modules/yocto-queue": { diff --git a/package.json b/package.json index 3cd29296..fa2fa089 100644 --- a/package.json +++ b/package.json @@ -5,17 +5,10 @@ "@nypl/nypl-core-objects": "2.3.2", "@nypl/nypl-data-api-client": "^1.0.5", "@nypl/scsb-rest-client": "2.0.0", - "config": "1.12.0", "discovery-store-models": "git+https://github.com/NYPL-discovery/discovery-store-models.git#v1.3.2", - "dotenv": "^4.0.0", + "dotenv": "^16.4.5", "@elastic/elasticsearch": "~7.12.0", - "express": "^4.14.0", - "fast-csv": "^2.3.0", - "jsonld": "^2.0.2", - "nypl-registry-utils-lexicon": "nypl-registry/utils-lexicon", - "ramda": "^0.21.0", - "request": "2.88.2", - "string_score": "^0.1.22", + "express": "^4.18.3", "winston": "3.12.0" }, "devDependencies": { @@ -25,7 +18,7 @@ "chai-as-promised": "^7.1.1", "md5": "^2.2.1", "minimist": "^1.2.5", - "mocha": "^6.2.3", + "mocha": "^10.3.0", "qs": "^6.5.1", "request-promise": "^4.1.1", "should": "^7.0.2", diff --git a/routes/misc.js b/routes/misc.js index f03e890a..b598aabf 100644 --- a/routes/misc.js +++ b/routes/misc.js @@ -1,8 +1,5 @@ const util = require('../lib/util') -const config = require('config') -const VER = config.get('major_version') - module.exports = function (app) { app.all('*', function (req, res, next) { res.header('Access-Control-Allow-Origin', '*') @@ -11,7 +8,7 @@ module.exports = function (app) { next() }) - app.get(`/api/v${VER}/discovery/context_:which.jsonld`, function (req, res) { + app.get('/api/v0.1/discovery/context_:which.jsonld', function (req, res) { res.type('application/ld+json') util.context(req.params.which).then((c) => res.status(200).send(JSON.stringify({ '@context': c }, null, 2))) }) diff --git a/routes/resources.js b/routes/resources.js index 1c8b4bb5..ab86dba6 100644 --- a/routes/resources.js +++ b/routes/resources.js @@ -1,8 +1,6 @@ const gatherParams = require('../lib/util').gatherParams -const config = require('config') - -const VER = config.get('major_version') +const VER = '0.1' module.exports = function (app) { app.all('*', function (req, res, next) { diff --git a/server.js b/server.js new file mode 100644 index 00000000..847a66ff --- /dev/null +++ b/server.js @@ -0,0 +1,3 @@ +const app = require('./app') + +app.start() diff --git a/test/test_helper.js b/test/test_helper.js index b07bbcc9..2765ee4f 100644 --- a/test/test_helper.js +++ b/test/test_helper.js @@ -28,7 +28,5 @@ before(async () => { global.TEST_BASE_URL = `http://localhost:${process.env.PORT}` }) -require('../lib/globals') - chai.use(chaiAsPromised) global.expect = chai.expect