From ea4f18d7d666adbf845f1245a062c740c490195d Mon Sep 17 00:00:00 2001 From: Rijk van Zanten Date: Tue, 1 Jun 2021 12:40:10 -0400 Subject: [PATCH 01/83] New Crowdin updates (#5918) * New translations en-US.yaml (Czech) * New translations en-US.yaml (Czech) * New translations en-US.yaml (Estonian) * New translations en-US.yaml (Estonian) * New translations en-US.yaml (Estonian) * New translations en-US.yaml (Estonian) * New translations en-US.yaml (Estonian) * New translations en-US.yaml (Czech) * New translations en-US.yaml (Serbian (Latin)) --- app/src/lang/translations/cs-CZ.yaml | 53 +++++ app/src/lang/translations/et-EE.yaml | 312 ++++++++++++++++++++++++++- app/src/lang/translations/sr-CS.yaml | 1 + 3 files changed, 363 insertions(+), 3 deletions(-) create mode 100644 app/src/lang/translations/sr-CS.yaml diff --git a/app/src/lang/translations/cs-CZ.yaml b/app/src/lang/translations/cs-CZ.yaml index a840de753f..6dd660ec1a 100644 --- a/app/src/lang/translations/cs-CZ.yaml +++ b/app/src/lang/translations/cs-CZ.yaml @@ -20,33 +20,83 @@ create_role: Vytvořit roli create_user: Vytvořit uživatele create_webhook: Vytvořit webhook invite_users: Pozvat uživatele +email_examples: 'admin@example.com, user@example.com...' invite: Pozvat +email_already_invited: E-mail "{email}" již byl pozván emails: E-mail connection_excellent: Vynikající připojení connection_good: Dobré připojení connection_fair: Zhoršené připojení connection_poor: Špatné připojení +primary: Primární rename_folder: Přejmenovat složku delete_folder: Smazat složku +prefix: Prefix +suffix: Přípona reset_bookmark: Obnovit záložku +rename_bookmark: Přejmenovat záložku +update_bookmark: Aktualizovat záložku delete_bookmark: Smazat záložku +delete_bookmark_copy: >- + Jste si jisti, že chcete odstranit záložku "{bookmark}"? Tuto akci nelze vrátit zpět. +logoutReason: + SIGN_OUT: Odhlášen + SESSION_EXPIRED: Relace vypršela +public: Veřejné +public_description: Určuje, která API data jsou dostupná bez ověřování. +not_allowed: Nepovoleno directus_version: Verze Directusu +node_version: Node verze +node_uptime: Doba provozu Node +os_type: Typ OS +os_version: Verze OS +os_uptime: Dobra provozu operačního systému +os_totalmem: Pamět OS archive: Archivovat archive_confirm: Skutečně chcete tuto položku archivovat? +archive_confirm_count: >- + Nevybrány žádné položky | Jste si jisti, že chcete archivovat tuto položku? | Jste si jisti, že chcete archivovat tyto {count} položky? +reset_system_permissions_to: 'Resetovat systémová oprávnění na:' +reset_system_permissions_copy: Tato akce přepíše libovolná vlastní oprávnění, která jste možná použili na kolekce systému. Jste si jisti? +the_following_are_minimum_permissions: Následující oprávnění jsou vyžadována v případě, že je povolen "Přístup k aplikaci". Můžete rozšířit oprávnění nad tuto úroveň, ale ne níže. +recommended_defaults: Doporučené výchozí hodnoty +unarchive: Vyjmout z archivu unarchive_confirm: Skutečně chcete tuto položku obnovit z archivu? nested_files_folders_will_be_moved: Vnořené soubory a složky budou přesunuty o úroveň výše. +unknown_validation_errors: 'Došlo k chybám validace pro následující skrytá pole:' validationError: + eq: Hodnota musí být {valid} + neq: Hodnota nemůže být {invalid} + in: Hodnota musí být jedna z {valid} + nin: Hodnota nemůže být jedna z {invalid} + contains: Hodnota musí obsahovat {substring} ncontains: Hodnota nesmí obsahovat {substring} gt: Hodnota musí být větší než {valid} gte: Hodnota musí být větší nebo rovna {valid} lt: Hodnota musí být menší než {valid} + lte: Hodnota musí být menší nebo rovna {valid} empty: Hodnota musí být prázdná nempty: Hodnota nesmí být prázdná null: Hodnota musí být null nnull: Hodnota nesmí být null required: Hodnota je povinná + unique: Hodnota musí být unikátní + regex: Hodnota nemá správný formát +all_access: Veškerý přístup +no_access: Žádný přístup +use_custom: Použít vlastní +allow_null_value: Povolit NULL hodnotu +enter_value_to_replace_nulls: Zadejte novou hodnotu, která nahradí všechny NULL, které jsou aktuálně v tomto poli. field_standard: Standardní +field_m2o: M2O vazba +field_m2a: M2A vazba +field_o2m: O2M vazba +field_m2m: M2M vazba +item_permissions: Oprávnění položky +field_permissions: Oprávnění pole field_validation: Validace pole +permissions_for_role: 'Položky, které {role} role může {action}.' +fields_for_role: 'Pole, které {role} role může {action}.' delete_field: Smazat pole language: Jazyk global: Globální @@ -142,6 +192,7 @@ upload_files_indeterminate: 'Nahrávám soubory {done}/{total}' upload_files_success: 'Nahráno {count} souborů' drag_file_here: Přetáhněte sem soubor layout_options: Možnosti rozvržení +value_unique: Hodnota musí být unikátní all_files: Všechny soubory my_files: Mé soubory recent_files: Nedávné soubory @@ -288,6 +339,8 @@ sort_direction: Směr řazení translation: Překlad value: Hodnota interfaces: + presentation-links: + primary: Primární collection: collection: Kategorie system-collections: diff --git a/app/src/lang/translations/et-EE.yaml b/app/src/lang/translations/et-EE.yaml index 7a9a5adec4..f251dc6ead 100644 --- a/app/src/lang/translations/et-EE.yaml +++ b/app/src/lang/translations/et-EE.yaml @@ -1,6 +1,6 @@ --- -edit_field: Redigeeri -item_revision: Üksuse läbivaatlus +edit_field: Muuda välja +item_revision: Kirje parandamine duplicate_field: Korduv väli half_width: Pool laiust full_width: Täislaius @@ -43,7 +43,7 @@ logoutReason: SIGN_OUT: Välja logitud SESSION_EXPIRED: Sessioon aegunud public: Avalik -public_description: Kontrollib, mis API andmed on saadaval audentimata. +public_description: Kontrollib, millised API andmed on saadaval autentimata kasutajale. not_allowed: Ei ole lubatud directus_version: Directuse versioon node_version: Node versioon @@ -58,6 +58,8 @@ archive_confirm_count: >- Üksuseid pole valitud | Oled kindel, et soovid arhiveerida seda üksust? | Oled kindel, et soovid arhiveerida neid {count} üksuseid? reset_system_permissions_to: 'Lähtesta süsteemi load:' reset_system_permissions_copy: See tegevus kirjutab üle kõik eelnevad süsteemsetele kogudele kohandatud load. Kas oled kindel? +the_following_are_minimum_permissions: Need on vähimad load, mida on vaja "Rakenduse ligipääsu" võimaldamiseks. Sa võid ligipääsulube lisada, kuid mitte vähendada. +app_access_minimum: Rakenduse ligipääsu miinimum recommended_defaults: Soovituslikud vaikeväärtused unarchive: Eemalda arhiivist unarchive_confirm: Oled kindel, et soovid selle üksuse arhiivist eemaldada? @@ -86,6 +88,7 @@ no_access: Ei ole ligipääsu use_custom: Kasuta kohandatud nullable: Nullitav allow_null_value: Luba NULL väärtus +enter_value_to_replace_nulls: Palun sisesta uus väärtus, et asendada kõik senised NULL väärtused sellel väljal. field_standard: Standard field_presentation: Kujundus ja aliased field_file: Üksik fail @@ -319,6 +322,7 @@ save_as_copy: Salvesta koopiana add_existing: Lisa olemasolev creating_items: Kirjete loomine enable_create_button: Luba lisamise nupp +selecting_items: Kirjete valimine enable_select_button: Luba valimise nupp comments: Kommentaarid no_comments: Kommentaarid puuduvad @@ -628,14 +632,48 @@ unsaved_changes_copy: Oled sa kindel, et soovid sellelt lehelt lahkuda? discard_changes: Loobu muudatustest keep_editing: Jätka muutmist page_help_collections_overview: '**Andmekogude ülevaade** — Nimekiri andmekogudest, millele sul on ligipääs' +page_help_collections_collection: >- + **Vaata kirjeid* - näitab kõiki {collection} andmekogu kirjeid, millele sul on ligipääs. Kiiremaks ligipääsuks saad seadistada vaateid, filtreid, sorteerimist ning lisada järjehoidjaid. +page_help_collections_item: >- + **Kirje detailid** - Selle kirje vaatamise ja muutmise vorm. Külgribal on ühtlasi kirje muudatuste ajalugu ning lisatud kommentaarid. +page_help_activity_collection: >- + **Vaata aktiivsust* - Põhjalik nimekiri kõigist toimingutest, mis süsteemis on tehtud. +page_help_docs_global: >- + **Dokumentatsioon** - Selle projekti ülesehitust kirjeldav teave +page_help_files_collection: >- + **Failikogu* - Näitab kõiki faile ja pilte selles projektis. Muuta saab vaateid, filtreid jm ning lisada järjehoidjaid +page_help_files_item: >- + **Faili detailid* - Vorm, milles saab muuta faili metaandmeid, ligipääse jm +page_help_settings_project: "**Projekti seaded** - Sinu projekti üldised seaded" +page_help_settings_datamodel_collections: >- + **Andmekogud** - Näitab kõiki andmekogusid (sh süsteemseid) +page_help_settings_datamodel_fields: >- + **Andmekogu** - Ükskiku andmekogu ja tema väljade muutmise vorm +page_help_settings_roles_collection: '**Vaata rolle** - Näitab adminne, avalikku jm kasutajarolle.' +page_help_settings_roles_item: "**Rolli detailid** - Muuda rolli ligipääse ja muid seadistusti." +page_help_settings_presets_collection: >- + **Näita eelseadistusi** - Näitab kõiki projekti eelseadistusi, sh kasutajad, rollid, järjehoidjad ja vaikimisi vaated +page_help_settings_presets_item: >- + **Eelseadistuse detailid" - Vorm järjehoidjate ja andmekogude eelseadistuste muutmiseks. +page_help_settings_webhooks_collection: '**Vaata veebikonkse** - Näitab veebikonkse.' +page_help_settings_webhooks_item: '**Veebikonksu detailid** - Vorm veebikonksude lisamiseks ja muutmiseks.' +page_help_users_collection: '**Kasutajad** - Näitab kõiki kasutajaid.' +page_help_users_item: >- + **Kasutaja detailid** - Näitab konto infot. +activity_feed: Tegevusvoog add_new: Lisa uus create_new: Loo Uus all: Kõik +none: Puudub +no_layout_collection_selected_yet: Vaadet/andmekogu pole valitud batch_delete_confirm: >- Ühtegi kirjet pole valitud | Oled sa kindel, et soovid selle kirje kustutada? Seda toimingut ei saa tagasi võtta. | Oled sa kindel, et soovid need {count} ühikut kustutada? Seda toimingut ei saa tagasi võtta. cancel: Loobu collection: Kogud collections: Kogud +singleton: Üksik +singleton_label: Käsitle üksiku objektina +system_fields_locked: Süsteemsed välja on lukus ja neid ei saa muuta fields: directus_activity: item: Kirje peamine võti @@ -646,18 +684,27 @@ fields: comment: Kommentaar user_agent: Kasutaja agent ip: IP aadress + revisions: Versioonid directus_collections: collection: Kogud icon: Ikoon note: Märkus display_template: Vaate mall hidden: Peidetud + singleton: Üksik + translations: Andmekogu nimetuste tõlked + archive_app_filter: Arhiveeri rakenduse filter + archive_value: Arhiveeri väärtus + unarchive_value: Aktiveeri väärtus sort_field: Sorteerimisväli + accountability: Tegevuste ja muudatuste jälgimine directus_files: + $thumbnail: Pisipilt title: Pealkiri description: Kirjeldus tags: Sildid location: Asukoht + storage: Salvestusruum filename_disk: Failinimi (kettal) filename_download: Faili nimi (alla laadimisel) metadata: Metaandmed @@ -703,24 +750,59 @@ fields: public_note: Avalik märkus auth_password_policy: Salasõna reeglid auth_login_attempts: Sisselogimise katseid + storage_asset_presets: Salvestusruumi eelseadistused + storage_asset_transform: Salvestusruumi kirjete töötlus custom_css: Kohandatud CSS directus_fields: + collection: Andmekogu nimetus + icon: Andmekogu pilt note: Märkus hidden: Peidetud + singleton: Üksik translation: Väljade tõlked display_template: Mall directus_roles: name: Rolli nimi + icon: Rolli pilt description: Kirjeldus + app_access: Rakenduse ligipääs + admin_access: Admini ligipääs + ip_access: IP ligipääs + enforce_tfa: 2FA on nõutav + users: Kasutajad selles rollis + module_list: Moodulite näitamine + collection_list: Andmekogude näitamine field_options: directus_collections: track_activity_revisions: Salvesta muudatuste statistika + only_track_activity: Jälgi ainult aktiivsust + do_not_track_anything: Ära jälgi midagi +no_fields_in_collection: 'Andmekogus "{collection}" puuduvad kirjed' +do_nothing: Ära tee midagi +generate_and_save_uuid: Genereeri ja salvesta UUID +save_current_user_id: Salvesta praeguse kasutaja ID +save_current_user_role: Salvesta praeguse kasutaja roll +save_current_datetime: Salvesta hetke kuupäev/kellaaeg block: Blokeeri inline: Tekstisisene comment: Kommentaar +relational_triggers: Suhtelised lülitid +referential_action_field_label_m2o: Andmekogu {collection} kustutamisel... +referential_action_field_label_o2m: Andmekogu {collection} mittevalimisel... +referential_action_no_action: Enneta kustutamist +referential_action_cascade: Kustuta {collection} kirje (kaskaadina) +referential_action_set_null: Nulli {field} väli +referential_action_set_default: Seadista {field} väljale vaikeväärtus +choose_action: Vali tegevus continue: Continue +continue_as: >- + {name} on selle projekti jaoks juba autenditud. Kui tunned selle konto ära, siis vajuta Jätka. +editing_role: '{role} roll' +creating_webhook: Loo veebikonks default: Vaikimisi delete: Kustuta +delete_are_you_sure: >- + See tegevus on lõplik ja seda ei saa tühistada. Kas oled kindel, et jätkame? delete_field_are_you_sure: >- Kas soovid kindlasti välja "{field}" kustutada? Seda toimingut ei saa tagasi võtta. description: Kirjeldus @@ -728,6 +810,7 @@ done: Valmis duplicate: Loo koopia email: E-post embed: Põimitud +fallback_icon: Tagavaraikoon field: Väli | Väljad file: Fail file_library: Failikogu @@ -735,10 +818,16 @@ forgot_password: Unustasin parooli hidden: Peidetud icon: Ikoon info: Info +normal: Tavaline +success: Õnnestus +warning: Hoiatus +danger: Oht +junction_collection: Seoste andmekogu latency: Latsentsus login: Logi sisse my_activity: Minu tegevus not_authenticated: Pole autenditud +authenticated: Autenditud options: Valikud otp: Ühekordne parool password: Parool @@ -746,11 +835,13 @@ permissions: Õigused relationship: Seos reset: Lähtesta reset_password: Lähtesta parool +revisions: Versioonid revert: Taasta save: Salvesta schema: Skeem search: Otsi select_existing: Vali olemasolev +select_field_type: Vali välja tüüp select_interface: Vali kasutajaliides settings: Seaded sign_in: Logi sisse @@ -763,85 +854,296 @@ sort_desc: Sorteeri kahanevalt template: Mall translation: Tõlge value: Väärtus +view_project: Näita projekti +weeks: { } +report_error: Raporteeri viga interfaces: presentation-links: + presentation-links: Nuppude lingid + links: Lingid + description: Seadistatavad nupud dünaamiliste URLide avamiseks + style: Stiil primary: Peamine + link: Lingid + button: Nupud + error: Toimingut ei saa teha + select-multiple-checkbox: + checkboxes: Märkeruudud + description: Tee valikud märkeruutude abil + allow_other: Luba muud + show_more: 'Näita veel {count}' + items_shown: Nähtavad kirjed input-code: code: Kood + description: Kirjuta või jaga koodilõike + line_number: Rea number + placeholder: Sisesta kood siia... collection: collection: Kogud + description: Vali olemasolevate andmekogude seast + include_system_collections: Lisa süsteemsed andmekogud system-collections: collections: Kogud + description: Vali olemasolevate andmekogude seast + include_system_collections: Lisa süsteemsed andmekogud select-color: color: Värv + description: Sisesta või vali värv + placeholder: Vali värv... + preset_colors: Eelseadistuse värvid + preset_colors_add_label: Lisa uus värv... + name_placeholder: Sisesta värvi nimi... datetime: datetime: Kuupäev-kellaaeg + description: Sisesta kuupäevad ja kellaajad + include_seconds: Lisa sekundid + set_to_now: Seadista praegusele hetkele + use_24: Kasuta 24h formaati system-display-template: display-template: Vaate mall + description: Kombineeri staatilist teksti ja dünaamiliste väljadega + collection_field: Andmekogu väli collection_field_not_setup: Andmekogu väli on valesti seadistatud select_a_collection: Vali andmekogu presentation-divider: divider: Eraldaja + description: Nimeta ja eralda välju sektsioonideks + title_placeholder: Sisesta pealkiri... + inline_title: Pealkiri joone sees + inline_title_label: Näita pealkirja keset joont + margin_top: Ülemine vahe + margin_top_label: Suurenda ülemist vahet select-dropdown: + description: Vali väärtust rippmenüüst + choices_placeholder: Lisa uus valik + allow_other: Luba muud + allow_other_label: Luba teised väärtused + allow_none: Luba tühiväärtus + allow_none_label: Luba jätta valimata + choices_name_placeholder: Sisesta nimi... choices_value_placeholder: Sisesta väärtus... + select-multiple-dropdown: + select-multiple-dropdown: Rippmenüü (mitmikvalikuga) + description: Vali mitu väärtust rippmenüüst file: file: Fail + description: Vali olemasolev fail või lae üles uus files: files: Failid + description: Vali või lae üles mitu faili input-hash: hash: Hash (räsi) + description: Sisesta väärtus, mida maskeerida + masked: Maskeeritud + masked_label: Peida tõese väärtus korral select-icon: icon: Ikoon + description: Vali ikoon rippmenüüst + search_for_icon: Otsi ikooni... + file-image: + image: Pilt + description: Vali või lae üles pilt system-interface: interface: Kasutajaliides + description: Vali olemasolev liides + placeholder: Vali kasutajaliides... + system-interface-options: + interface-options: Kasutajaliidese valikud + description: Kasutajaliidese valikute tegemise hüpikaken + list-m2m: + many-to-many: Mitu mitmele + description: Vali mitu seoetud kirjet select-dropdown-m2o: + many-to-one: Mitu ühele + description: Vali üksik seotud kirje display_template: Vaate mall + input-rich-text-md: + markdown: Markdown + description: Sisesta ja vaata markdown'i + customSyntax: Kohandatud plokid + customSyntax_label: Lisa kohandatud süntaksi tüüpe + customSyntax_add: Lisa kohandatud süntaks + box: Plokk / Tekstisisene + imageToken: Pildi kood + imageToken_label: Milline (staatiline) kood lisada piltide allikatele + presentation-notice: + notice: Teade + description: Näita lühikest teadet + text: Sisesta teate sisu... + list-o2m: + one-to-many: Üks-mitmele + description: Vali mitu seotud kirjet + no_collection: Andmekogu ei leitud + select-radio: + radio-buttons: Raadionupud + description: Vali üks mitmest valikust + list: + repeater: Kordaja + description: Loo mitu kirjet sama struktuuriga + edit_fields: Muuda välju + add_label: '"Lisa uus" nimetus' + field_name_placeholder: Sisesta välja nimi... + field_note_placeholder: Sisesta välja märkus... slider: slider: Liugur + description: Vali number slaiderilt + always_show_value: Näita alati väärtust tags: tags: Sildid + description: Vali või sisesta märksõnad + whitespace: Tühikud + hyphen: Asenda sidekriipsuga + underscore: Asenda alakriipsuga + remove: Eemalda tühikud + capitalization: Esitähed + uppercase: Muuda suurtähtedeks + lowercase: Muuda väiketähtedeks + auto_formatter: Kasuta pealkirja stiili + alphabetize: Järjesta tähestikuliselt + alphabetize_label: Sorteeri tähestikuliselt ümber + add_tags: Lisa märksõnu... + input: + input: Sisend + description: Sisesta väärtus käsitsi + trim: Kärbi + trim_label: Lõika maha tühi algus ja lõpp + mask: Maskeeritud + mask_label: Peida algne väärtus + clear: Tühjendatud väärtus + clear_label: Salvesta tühja stringina + minimum_value: Minimaalne väärtus + maximum_value: Maksimaalne väärtus + step_interval: Sammu intervall + slug: Muuda URL-sõbralikuks + slug_label: Muuda väärtus URL-sõbralikuks (slug) + input-multiline: + textarea: Tekstiala + description: Sisesta mitmerealine tavatekst boolean: toggle: Lülita + description: Lülita sisse ja välja + label_placeholder: Sisesta silt... label_default: lubatud translations: display_template: Vaate mall + no_collection: Andmekogusid pole + list-o2m-tree-view: + description: Puuvaade mitmetasandilistele üks-mitmele kirjetele + recursive_only: Puuvaate kasutajaliides töötab ainult rekursiivsete seoste korral. user: user: Kasutaja + description: Vali olemasolev Directuse kasutaja + select_mode: Vali režiim modes: + auto: Automaatne dropdown: Rippmenüü + modal: Hüpikaken + input-rich-text-html: + wysiwyg: WYSIWYG + description: Tekstiredaktor HTML sisu loomiseks + toolbar: Tööriistariba + custom_formats: Kohandatud vormingud + options_override: Valikute ülekirjutamine + input-autocomplete-api: + input-autocomplete-api: Automaatselt täidetav väli (API) + description: Otsingutulemused välisest APIst + results_path: Tulemuste asukoht (path) + value_path: Väärtuse väli + trigger: Päästik + rate: Hinnang displays: boolean: boolean: Boolean + description: Näita sees/väljas seisu + label_on: '"Sees" nimetus' + label_on_placeholder: Sisesta nimetus... + label_off: '"Väljas" nimetus' + label_off_placeholder: Sisesta nimetus... icon_on: Ikoon sees icon_off: Ikoon väljas + color_on: '"Sees" värv' + color_off: '"Väljas" värv' collection: collection: Kogud + description: Näita andmekogu + icon_label: Näita andmekogu ikooni color: color: Värv + description: Näita värvilist punkti + default_color: Vaikevärv datetime: datetime: Kuupäev-kellaaeg + description: Näita suhtelisi aegu format: Vorming + format_note: >- + Ajaformaadi valikud __[Date Field Symbol Table](https://www.unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table)__ + long: Pikk + short: Lühike + relative: Suhteline + relative_label: 'Näita suhtelist aega, nt 5 minutit tagasi' file: file: Fail + description: Näita faile filesize: filesize: Failisuurus + description: Näita faili suurust + formatted-value: + formatted-value: Vormistatud väärtus + description: Näita teksti vormistatud väärtust + format_title: Vorminda pealkiri + format_title_label: Paranda esitähed suureks + bold_label: Paksus kirjas + formatted-json-value: + formatted-json-value: Vormista JSON väärtusena + description: Näita objekti vormistatud versiooni icon: icon: Ikoon + description: Kuva ikooni + filled: Täidetud + filled_label: Kasuta täidetud varianti image: + image: Pilt + description: Kasuta väikest pildi eelvaadet circle: Ring + circle_label: Näita ümmarguselt labels: + labels: Sildid + description: Näita kas üksikuna või siltide nimekirjana + default_foreground: Vaikimisi esiplaan + default_background: Vaikimisi taust + format_label: Vormista iga silt + show_as_dot: Näita punktina choices_value_placeholder: Sisesta väärtus... + choices_text_placeholder: Sisesta tekst... + mime-type: + mime-type: MIME Tüüp + description: Näita faili MIME-tüüpi + extension_only: Ainult laiend + extension_only_label: Näita ainult faili laiendit rating: rating: Hinnang + description: Näita tähekestena + simple: Lihtne + simple_label: Näita tähekesi lihtsas formaadis + raw: + raw: Algne väärtus + related-values: + related-values: Seotud väärtused + description: Näita seotud väärtusi user: user: Kasutaja + description: Näita Directuse kasutajat avatar: Avatar name: Nimi both: Mõlemad + circle_label: Näita kasutajat ringikesena layouts: cards: cards: Kaardid image_source: Pildi allikas + image_fit: Pildi mahutamine + crop: Kärpimine + contain: Sisaldab title: Pealkiri subtitle: Alampealkiri tabular: @@ -851,3 +1153,7 @@ layouts: comfortable: Mugav compact: Kompaktne cozy: Kodune + calendar: + calendar: Kalender + start_date_field: Alguse kuupäev + end_date_field: Lõpu kuupäev diff --git a/app/src/lang/translations/sr-CS.yaml b/app/src/lang/translations/sr-CS.yaml new file mode 100644 index 0000000000..ed97d539c0 --- /dev/null +++ b/app/src/lang/translations/sr-CS.yaml @@ -0,0 +1 @@ +--- From a72ef33f1f6354a829d8b640f4c6b9a14f7f2e88 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 1 Jun 2021 13:09:24 -0400 Subject: [PATCH 02/83] Bump jest from 26.6.3 to 27.0.3 (#5956) * Bump jest from 26.6.3 to 27.0.3 Bumps [jest](https://github.com/facebook/jest) from 26.6.3 to 27.0.3. - [Release notes](https://github.com/facebook/jest/releases) - [Changelog](https://github.com/facebook/jest/blob/master/CHANGELOG.md) - [Commits](https://github.com/facebook/jest/compare/v26.6.3...v27.0.3) Signed-off-by: dependabot[bot] * Update package-lock * Bump ts-jest as well Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: rijkvanzanten --- package-lock.json | 7210 +++++++++++++++++++++++------ package.json | 4 +- packages/cli/package.json | 4 +- packages/drive-azure/package.json | 4 +- packages/drive-gcs/package.json | 4 +- packages/drive-s3/package.json | 4 +- packages/drive/package.json | 4 +- packages/sdk/package.json | 4 +- 8 files changed, 5847 insertions(+), 1391 deletions(-) diff --git a/package-lock.json b/package-lock.json index 1665659a6a..e2b8da117e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -29,7 +29,7 @@ "eslint-plugin-prettier-vue": "^3.1.0", "eslint-plugin-vue": "^7.10.0", "globby": "^11.0.3", - "jest": "^26.6.3", + "jest": "^27.0.3", "knex": "^0.95.6", "lerna": "^4.0.0", "lint-staged": "^10.5.4", @@ -50,7 +50,7 @@ "stylelint-scss": "^3.19.0", "supertest": "^6.1.3", "tedious": "^11.0.8", - "ts-jest": "^26.5.6", + "ts-jest": "^27.0.2", "ts-node": "^10.0.0" } }, @@ -1718,7 +1718,6 @@ "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.12.13.tgz", "integrity": "sha512-cHP3u1JiUiG2LFDKbXnwVad81GvfyIOmCD6HIEId6ojrY0Drfy2q1jw7BwN7dE84+kTnBjLkXoL3IEy/3JPu2w==", - "peer": true, "dependencies": { "@babel/helper-plugin-utils": "^7.12.13" }, @@ -3490,22 +3489,6 @@ "node": ">= 4.0.0" } }, - "node_modules/@cnakazawa/watch": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@cnakazawa/watch/-/watch-1.0.4.tgz", - "integrity": "sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ==", - "dev": true, - "dependencies": { - "exec-sh": "^0.3.2", - "minimist": "^1.2.0" - }, - "bin": { - "watch": "cli.js" - }, - "engines": { - "node": ">=0.1.95" - } - }, "node_modules/@directus/app": { "resolved": "app", "link": true @@ -4394,59 +4377,300 @@ } }, "node_modules/@jest/console": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-26.6.2.tgz", - "integrity": "sha512-IY1R2i2aLsLr7Id3S6p2BA82GNWryt4oSvEXLAKc+L2zdi89dSkE8xC1C+0kpATG4JhBJREnQOH7/zmccM2B0g==", + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-27.0.2.tgz", + "integrity": "sha512-/zYigssuHLImGeMAACkjI4VLAiiJznHgAl3xnFT19iWyct2LhrH3KXOjHRmxBGTkiPLZKKAJAgaPpiU9EZ9K+w==", "dev": true, "dependencies": { - "@jest/types": "^26.6.2", + "@jest/types": "^27.0.2", "@types/node": "*", "chalk": "^4.0.0", - "jest-message-util": "^26.6.2", - "jest-util": "^26.6.2", + "jest-message-util": "^27.0.2", + "jest-util": "^27.0.2", "slash": "^3.0.0" }, "engines": { - "node": ">= 10.14.2" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/console/node_modules/@babel/code-frame": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz", + "integrity": "sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==", + "dev": true, + "dependencies": { + "@babel/highlight": "^7.12.13" + } + }, + "node_modules/@jest/console/node_modules/@jest/types": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.0.2.tgz", + "integrity": "sha512-XpjCtJ/99HB4PmyJ2vgmN7vT+JLP7RW1FBT9RgnMFS4Dt7cvIyBee8O3/j98aUZ34ZpenPZFqmaaObWSeL65dg==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/console/node_modules/@types/yargs": { + "version": "16.0.3", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.3.tgz", + "integrity": "sha512-YlFfTGS+zqCgXuXNV26rOIeETOkXnGQXP/pjjL9P0gO/EP9jTmc7pUBhx+jVEIxpq41RX33GQ7N3DzOSfZoglQ==", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@jest/console/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@jest/console/node_modules/ci-info": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.2.0.tgz", + "integrity": "sha512-dVqRX7fLUm8J6FgHJ418XuIgDLZDkYcDFTeL6TA2gt5WlIZUQrrH6EZrNClwT/H0FateUsZkGIOPRrLbP+PR9A==", + "dev": true + }, + "node_modules/@jest/console/node_modules/is-ci": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-3.0.0.tgz", + "integrity": "sha512-kDXyttuLeslKAHYL/K28F2YkM3x5jvFPEw3yXbRptXydjD9rpLEz+C5K5iutY9ZiUu6AP41JdvRQwF4Iqs4ZCQ==", + "dev": true, + "dependencies": { + "ci-info": "^3.1.1" + }, + "bin": { + "is-ci": "bin.js" + } + }, + "node_modules/@jest/console/node_modules/jest-message-util": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.0.2.tgz", + "integrity": "sha512-rTqWUX42ec2LdMkoUPOzrEd1Tcm+R1KfLOmFK+OVNo4MnLsEaxO5zPDb2BbdSmthdM/IfXxOZU60P/WbWF8BTw==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^27.0.2", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "micromatch": "^4.0.4", + "pretty-format": "^27.0.2", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/console/node_modules/jest-util": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.0.2.tgz", + "integrity": "sha512-1d9uH3a00OFGGWSibpNYr+jojZ6AckOMCXV2Z4K3YXDnzpkAaXQyIpY14FOJPiUmil7CD+A6Qs+lnnh6ctRbIA==", + "dev": true, + "dependencies": { + "@jest/types": "^27.0.2", + "@types/node": "*", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "is-ci": "^3.0.0", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/console/node_modules/pretty-format": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.0.2.tgz", + "integrity": "sha512-mXKbbBPnYTG7Yra9qFBtqj+IXcsvxsvOBco3QHxtxTl+hHKq6QdzMZ+q0CtL4ORHZgwGImRr2XZUX2EWzORxig==", + "dev": true, + "dependencies": { + "@jest/types": "^27.0.2", + "ansi-regex": "^5.0.0", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, "node_modules/@jest/core": { - "version": "26.6.3", - "resolved": "https://registry.npmjs.org/@jest/core/-/core-26.6.3.tgz", - "integrity": "sha512-xvV1kKbhfUqFVuZ8Cyo+JPpipAHHAV3kcDBftiduK8EICXmTFddryy3P7NfZt8Pv37rA9nEJBKCCkglCPt/Xjw==", + "version": "27.0.3", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-27.0.3.tgz", + "integrity": "sha512-rN8lr/OJ8iApcQUh4khnMaOCVX4oRnLwy2tPW3Vh70y62K8Da8fhkxMUq0xX9VPa4+yWUm0tGc/jUSJi+Jzuwg==", "dev": true, "dependencies": { - "@jest/console": "^26.6.2", - "@jest/reporters": "^26.6.2", - "@jest/test-result": "^26.6.2", - "@jest/transform": "^26.6.2", - "@jest/types": "^26.6.2", + "@jest/console": "^27.0.2", + "@jest/reporters": "^27.0.2", + "@jest/test-result": "^27.0.2", + "@jest/transform": "^27.0.2", + "@jest/types": "^27.0.2", "@types/node": "*", "ansi-escapes": "^4.2.1", "chalk": "^4.0.0", + "emittery": "^0.8.1", "exit": "^0.1.2", "graceful-fs": "^4.2.4", - "jest-changed-files": "^26.6.2", - "jest-config": "^26.6.3", - "jest-haste-map": "^26.6.2", - "jest-message-util": "^26.6.2", - "jest-regex-util": "^26.0.0", - "jest-resolve": "^26.6.2", - "jest-resolve-dependencies": "^26.6.3", - "jest-runner": "^26.6.3", - "jest-runtime": "^26.6.3", - "jest-snapshot": "^26.6.2", - "jest-util": "^26.6.2", - "jest-validate": "^26.6.2", - "jest-watcher": "^26.6.2", - "micromatch": "^4.0.2", + "jest-changed-files": "^27.0.2", + "jest-config": "^27.0.3", + "jest-haste-map": "^27.0.2", + "jest-message-util": "^27.0.2", + "jest-regex-util": "^27.0.1", + "jest-resolve": "^27.0.2", + "jest-resolve-dependencies": "^27.0.3", + "jest-runner": "^27.0.3", + "jest-runtime": "^27.0.3", + "jest-snapshot": "^27.0.2", + "jest-util": "^27.0.2", + "jest-validate": "^27.0.2", + "jest-watcher": "^27.0.2", + "micromatch": "^4.0.4", "p-each-series": "^2.1.0", "rimraf": "^3.0.0", "slash": "^3.0.0", "strip-ansi": "^6.0.0" }, "engines": { - "node": ">= 10.14.2" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/@jest/core/node_modules/@babel/code-frame": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz", + "integrity": "sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==", + "dev": true, + "dependencies": { + "@babel/highlight": "^7.12.13" + } + }, + "node_modules/@jest/core/node_modules/@jest/types": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.0.2.tgz", + "integrity": "sha512-XpjCtJ/99HB4PmyJ2vgmN7vT+JLP7RW1FBT9RgnMFS4Dt7cvIyBee8O3/j98aUZ34ZpenPZFqmaaObWSeL65dg==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/core/node_modules/@types/yargs": { + "version": "16.0.3", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.3.tgz", + "integrity": "sha512-YlFfTGS+zqCgXuXNV26rOIeETOkXnGQXP/pjjL9P0gO/EP9jTmc7pUBhx+jVEIxpq41RX33GQ7N3DzOSfZoglQ==", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@jest/core/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@jest/core/node_modules/ci-info": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.2.0.tgz", + "integrity": "sha512-dVqRX7fLUm8J6FgHJ418XuIgDLZDkYcDFTeL6TA2gt5WlIZUQrrH6EZrNClwT/H0FateUsZkGIOPRrLbP+PR9A==", + "dev": true + }, + "node_modules/@jest/core/node_modules/is-ci": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-3.0.0.tgz", + "integrity": "sha512-kDXyttuLeslKAHYL/K28F2YkM3x5jvFPEw3yXbRptXydjD9rpLEz+C5K5iutY9ZiUu6AP41JdvRQwF4Iqs4ZCQ==", + "dev": true, + "dependencies": { + "ci-info": "^3.1.1" + }, + "bin": { + "is-ci": "bin.js" + } + }, + "node_modules/@jest/core/node_modules/jest-message-util": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.0.2.tgz", + "integrity": "sha512-rTqWUX42ec2LdMkoUPOzrEd1Tcm+R1KfLOmFK+OVNo4MnLsEaxO5zPDb2BbdSmthdM/IfXxOZU60P/WbWF8BTw==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^27.0.2", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "micromatch": "^4.0.4", + "pretty-format": "^27.0.2", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/core/node_modules/jest-util": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.0.2.tgz", + "integrity": "sha512-1d9uH3a00OFGGWSibpNYr+jojZ6AckOMCXV2Z4K3YXDnzpkAaXQyIpY14FOJPiUmil7CD+A6Qs+lnnh6ctRbIA==", + "dev": true, + "dependencies": { + "@jest/types": "^27.0.2", + "@types/node": "*", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "is-ci": "^3.0.0", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/core/node_modules/pretty-format": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.0.2.tgz", + "integrity": "sha512-mXKbbBPnYTG7Yra9qFBtqj+IXcsvxsvOBco3QHxtxTl+hHKq6QdzMZ+q0CtL4ORHZgwGImRr2XZUX2EWzORxig==", + "dev": true, + "dependencies": { + "@jest/types": "^27.0.2", + "ansi-regex": "^5.0.0", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, "node_modules/@jest/environment": { @@ -4482,30 +4706,200 @@ } }, "node_modules/@jest/globals": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-26.6.2.tgz", - "integrity": "sha512-85Ltnm7HlB/KesBUuALwQ68YTU72w9H2xW9FjZ1eL1U3lhtefjjl5c2MiUbpXt/i6LaPRvoOFJ22yCBSfQ0JIA==", + "version": "27.0.3", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-27.0.3.tgz", + "integrity": "sha512-OzsIuf7uf+QalqAGbjClyezzEcLQkdZ+7PejUrZgDs+okdAK8GwRCGcYCirHvhMBBQh60Jr3NlIGbn/KBPQLEQ==", "dev": true, "dependencies": { - "@jest/environment": "^26.6.2", - "@jest/types": "^26.6.2", - "expect": "^26.6.2" + "@jest/environment": "^27.0.3", + "@jest/types": "^27.0.2", + "expect": "^27.0.2" }, "engines": { - "node": ">= 10.14.2" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/globals/node_modules/@babel/code-frame": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz", + "integrity": "sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==", + "dev": true, + "dependencies": { + "@babel/highlight": "^7.12.13" + } + }, + "node_modules/@jest/globals/node_modules/@jest/environment": { + "version": "27.0.3", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-27.0.3.tgz", + "integrity": "sha512-pN9m7fbKsop5vc3FOfH8NF7CKKdRbEZzcxfIo1n2TT6ucKWLFq0P6gCJH0GpnQp036++yY9utHOxpeT1WnkWTA==", + "dev": true, + "dependencies": { + "@jest/fake-timers": "^27.0.3", + "@jest/types": "^27.0.2", + "@types/node": "*", + "jest-mock": "^27.0.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/globals/node_modules/@jest/fake-timers": { + "version": "27.0.3", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-27.0.3.tgz", + "integrity": "sha512-fQ+UCKRIYKvTCEOyKPnaPnomLATIhMnHC/xPZ7yT1Uldp7yMgMxoYIFidDbpSTgB79+/U+FgfoD30c6wg3IUjA==", + "dev": true, + "dependencies": { + "@jest/types": "^27.0.2", + "@sinonjs/fake-timers": "^7.0.2", + "@types/node": "*", + "jest-message-util": "^27.0.2", + "jest-mock": "^27.0.3", + "jest-util": "^27.0.2" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/globals/node_modules/@jest/types": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.0.2.tgz", + "integrity": "sha512-XpjCtJ/99HB4PmyJ2vgmN7vT+JLP7RW1FBT9RgnMFS4Dt7cvIyBee8O3/j98aUZ34ZpenPZFqmaaObWSeL65dg==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/globals/node_modules/@sinonjs/fake-timers": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-7.1.2.tgz", + "integrity": "sha512-iQADsW4LBMISqZ6Ci1dupJL9pprqwcVFTcOsEmQOEhW+KLCVn/Y4Jrvg2k19fIHCp+iFprriYPTdRcQR8NbUPg==", + "dev": true, + "dependencies": { + "@sinonjs/commons": "^1.7.0" + } + }, + "node_modules/@jest/globals/node_modules/@types/yargs": { + "version": "16.0.3", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.3.tgz", + "integrity": "sha512-YlFfTGS+zqCgXuXNV26rOIeETOkXnGQXP/pjjL9P0gO/EP9jTmc7pUBhx+jVEIxpq41RX33GQ7N3DzOSfZoglQ==", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@jest/globals/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@jest/globals/node_modules/ci-info": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.2.0.tgz", + "integrity": "sha512-dVqRX7fLUm8J6FgHJ418XuIgDLZDkYcDFTeL6TA2gt5WlIZUQrrH6EZrNClwT/H0FateUsZkGIOPRrLbP+PR9A==", + "dev": true + }, + "node_modules/@jest/globals/node_modules/is-ci": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-3.0.0.tgz", + "integrity": "sha512-kDXyttuLeslKAHYL/K28F2YkM3x5jvFPEw3yXbRptXydjD9rpLEz+C5K5iutY9ZiUu6AP41JdvRQwF4Iqs4ZCQ==", + "dev": true, + "dependencies": { + "ci-info": "^3.1.1" + }, + "bin": { + "is-ci": "bin.js" + } + }, + "node_modules/@jest/globals/node_modules/jest-message-util": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.0.2.tgz", + "integrity": "sha512-rTqWUX42ec2LdMkoUPOzrEd1Tcm+R1KfLOmFK+OVNo4MnLsEaxO5zPDb2BbdSmthdM/IfXxOZU60P/WbWF8BTw==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^27.0.2", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "micromatch": "^4.0.4", + "pretty-format": "^27.0.2", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/globals/node_modules/jest-mock": { + "version": "27.0.3", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-27.0.3.tgz", + "integrity": "sha512-O5FZn5XDzEp+Xg28mUz4ovVcdwBBPfAhW9+zJLO0Efn2qNbYcDaJvSlRiQ6BCZUCVOJjALicuJQI9mRFjv1o9Q==", + "dev": true, + "dependencies": { + "@jest/types": "^27.0.2", + "@types/node": "*" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/globals/node_modules/jest-util": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.0.2.tgz", + "integrity": "sha512-1d9uH3a00OFGGWSibpNYr+jojZ6AckOMCXV2Z4K3YXDnzpkAaXQyIpY14FOJPiUmil7CD+A6Qs+lnnh6ctRbIA==", + "dev": true, + "dependencies": { + "@jest/types": "^27.0.2", + "@types/node": "*", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "is-ci": "^3.0.0", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/globals/node_modules/pretty-format": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.0.2.tgz", + "integrity": "sha512-mXKbbBPnYTG7Yra9qFBtqj+IXcsvxsvOBco3QHxtxTl+hHKq6QdzMZ+q0CtL4ORHZgwGImRr2XZUX2EWzORxig==", + "dev": true, + "dependencies": { + "@jest/types": "^27.0.2", + "ansi-regex": "^5.0.0", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, "node_modules/@jest/reporters": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-26.6.2.tgz", - "integrity": "sha512-h2bW53APG4HvkOnVMo8q3QXa6pcaNt1HkwVsOPMBV6LD/q9oSpxNSYZQYkAnjdMjrJ86UuYeLo+aEZClV6opnw==", + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-27.0.2.tgz", + "integrity": "sha512-SVQjew/kafNxSN1my4praGQP+VPVGHsU8zqiEDppLvq6j1lryIjdNb9P+bZSsKeifU4bIoaPnf9Ui0tK9WOpFA==", "dev": true, "dependencies": { "@bcoe/v8-coverage": "^0.2.3", - "@jest/console": "^26.6.2", - "@jest/test-result": "^26.6.2", - "@jest/transform": "^26.6.2", - "@jest/types": "^26.6.2", + "@jest/console": "^27.0.2", + "@jest/test-result": "^27.0.2", + "@jest/transform": "^27.0.2", + "@jest/types": "^27.0.2", "chalk": "^4.0.0", "collect-v8-coverage": "^1.0.0", "exit": "^0.1.2", @@ -4516,10 +4910,10 @@ "istanbul-lib-report": "^3.0.0", "istanbul-lib-source-maps": "^4.0.0", "istanbul-reports": "^3.0.2", - "jest-haste-map": "^26.6.2", - "jest-resolve": "^26.6.2", - "jest-util": "^26.6.2", - "jest-worker": "^26.6.2", + "jest-haste-map": "^27.0.2", + "jest-resolve": "^27.0.2", + "jest-util": "^27.0.2", + "jest-worker": "^27.0.2", "slash": "^3.0.0", "source-map": "^0.6.0", "string-length": "^4.0.1", @@ -4527,16 +4921,110 @@ "v8-to-istanbul": "^7.0.0" }, "engines": { - "node": ">= 10.14.2" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" }, - "optionalDependencies": { - "node-notifier": "^8.0.0" + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/@jest/reporters/node_modules/@jest/types": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.0.2.tgz", + "integrity": "sha512-XpjCtJ/99HB4PmyJ2vgmN7vT+JLP7RW1FBT9RgnMFS4Dt7cvIyBee8O3/j98aUZ34ZpenPZFqmaaObWSeL65dg==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/reporters/node_modules/@types/yargs": { + "version": "16.0.3", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.3.tgz", + "integrity": "sha512-YlFfTGS+zqCgXuXNV26rOIeETOkXnGQXP/pjjL9P0gO/EP9jTmc7pUBhx+jVEIxpq41RX33GQ7N3DzOSfZoglQ==", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@jest/reporters/node_modules/ci-info": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.2.0.tgz", + "integrity": "sha512-dVqRX7fLUm8J6FgHJ418XuIgDLZDkYcDFTeL6TA2gt5WlIZUQrrH6EZrNClwT/H0FateUsZkGIOPRrLbP+PR9A==", + "dev": true + }, + "node_modules/@jest/reporters/node_modules/is-ci": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-3.0.0.tgz", + "integrity": "sha512-kDXyttuLeslKAHYL/K28F2YkM3x5jvFPEw3yXbRptXydjD9rpLEz+C5K5iutY9ZiUu6AP41JdvRQwF4Iqs4ZCQ==", + "dev": true, + "dependencies": { + "ci-info": "^3.1.1" + }, + "bin": { + "is-ci": "bin.js" + } + }, + "node_modules/@jest/reporters/node_modules/jest-util": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.0.2.tgz", + "integrity": "sha512-1d9uH3a00OFGGWSibpNYr+jojZ6AckOMCXV2Z4K3YXDnzpkAaXQyIpY14FOJPiUmil7CD+A6Qs+lnnh6ctRbIA==", + "dev": true, + "dependencies": { + "@jest/types": "^27.0.2", + "@types/node": "*", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "is-ci": "^3.0.0", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/reporters/node_modules/jest-worker": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.0.2.tgz", + "integrity": "sha512-EoBdilOTTyOgmHXtw/cPc+ZrCA0KJMrkXzkrPGNwLmnvvlN1nj7MPrxpT7m+otSv2e1TLaVffzDnE/LB14zJMg==", + "dev": true, + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/@jest/reporters/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" } }, "node_modules/@jest/source-map": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-26.6.2.tgz", - "integrity": "sha512-YwYcCwAnNmOVsZ8mr3GfnzdXDAl4LaenZP5z+G0c8bzC9/dugL8zRmxZzdoTl4IaS3CryS1uWnROLPFmb6lVvA==", + "version": "27.0.1", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-27.0.1.tgz", + "integrity": "sha512-yMgkF0f+6WJtDMdDYNavmqvbHtiSpwRN2U/W+6uztgfqgkq/PXdKPqjBTUF1RD/feth4rH5N3NW0T5+wIuln1A==", "dev": true, "dependencies": { "callsites": "^3.0.0", @@ -4544,64 +5032,148 @@ "source-map": "^0.6.0" }, "engines": { - "node": ">= 10.14.2" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, "node_modules/@jest/test-result": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-26.6.2.tgz", - "integrity": "sha512-5O7H5c/7YlojphYNrK02LlDIV2GNPYisKwHm2QTKjNZeEzezCbwYs9swJySv2UfPMyZ0VdsmMv7jIlD/IKYQpQ==", + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-27.0.2.tgz", + "integrity": "sha512-gcdWwL3yP5VaIadzwQtbZyZMgpmes8ryBAJp70tuxghiA8qL4imJyZex+i+USQH2H4jeLVVszhwntgdQ97fccA==", "dev": true, "dependencies": { - "@jest/console": "^26.6.2", - "@jest/types": "^26.6.2", + "@jest/console": "^27.0.2", + "@jest/types": "^27.0.2", "@types/istanbul-lib-coverage": "^2.0.0", "collect-v8-coverage": "^1.0.0" }, "engines": { - "node": ">= 10.14.2" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/test-result/node_modules/@jest/types": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.0.2.tgz", + "integrity": "sha512-XpjCtJ/99HB4PmyJ2vgmN7vT+JLP7RW1FBT9RgnMFS4Dt7cvIyBee8O3/j98aUZ34ZpenPZFqmaaObWSeL65dg==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/test-result/node_modules/@types/yargs": { + "version": "16.0.3", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.3.tgz", + "integrity": "sha512-YlFfTGS+zqCgXuXNV26rOIeETOkXnGQXP/pjjL9P0gO/EP9jTmc7pUBhx+jVEIxpq41RX33GQ7N3DzOSfZoglQ==", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" } }, "node_modules/@jest/test-sequencer": { - "version": "26.6.3", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-26.6.3.tgz", - "integrity": "sha512-YHlVIjP5nfEyjlrSr8t/YdNfU/1XEt7c5b4OxcXCjyRhjzLYu/rO69/WHPuYcbCWkz8kAeZVZp2N2+IOLLEPGw==", + "version": "27.0.3", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-27.0.3.tgz", + "integrity": "sha512-DcLTzraZ8xLr5fcIl+CF14vKeBBpBrn55wFxI9Ju+dhEBdjRdJQ/Z/pLkMehkPZWIQ+rR23J8e+wFDkfjree0Q==", "dev": true, "dependencies": { - "@jest/test-result": "^26.6.2", + "@jest/test-result": "^27.0.2", "graceful-fs": "^4.2.4", - "jest-haste-map": "^26.6.2", - "jest-runner": "^26.6.3", - "jest-runtime": "^26.6.3" + "jest-haste-map": "^27.0.2", + "jest-runtime": "^27.0.3" }, "engines": { - "node": ">= 10.14.2" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, "node_modules/@jest/transform": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-26.6.2.tgz", - "integrity": "sha512-E9JjhUgNzvuQ+vVAL21vlyfy12gP0GhazGgJC4h6qUt1jSdUXGWJ1wfu/X7Sd8etSgxV4ovT1pb9v5D6QW4XgA==", + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-27.0.2.tgz", + "integrity": "sha512-H8sqKlgtDfVog/s9I4GG2XMbi4Ar7RBxjsKQDUhn2XHAi3NG+GoQwWMER+YfantzExbjNqQvqBHzo/G2pfTiPw==", "dev": true, "dependencies": { "@babel/core": "^7.1.0", - "@jest/types": "^26.6.2", + "@jest/types": "^27.0.2", "babel-plugin-istanbul": "^6.0.0", "chalk": "^4.0.0", "convert-source-map": "^1.4.0", "fast-json-stable-stringify": "^2.0.0", "graceful-fs": "^4.2.4", - "jest-haste-map": "^26.6.2", - "jest-regex-util": "^26.0.0", - "jest-util": "^26.6.2", - "micromatch": "^4.0.2", + "jest-haste-map": "^27.0.2", + "jest-regex-util": "^27.0.1", + "jest-util": "^27.0.2", + "micromatch": "^4.0.4", "pirates": "^4.0.1", "slash": "^3.0.0", "source-map": "^0.6.1", "write-file-atomic": "^3.0.0" }, "engines": { - "node": ">= 10.14.2" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/transform/node_modules/@jest/types": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.0.2.tgz", + "integrity": "sha512-XpjCtJ/99HB4PmyJ2vgmN7vT+JLP7RW1FBT9RgnMFS4Dt7cvIyBee8O3/j98aUZ34ZpenPZFqmaaObWSeL65dg==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/transform/node_modules/@types/yargs": { + "version": "16.0.3", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.3.tgz", + "integrity": "sha512-YlFfTGS+zqCgXuXNV26rOIeETOkXnGQXP/pjjL9P0gO/EP9jTmc7pUBhx+jVEIxpq41RX33GQ7N3DzOSfZoglQ==", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@jest/transform/node_modules/ci-info": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.2.0.tgz", + "integrity": "sha512-dVqRX7fLUm8J6FgHJ418XuIgDLZDkYcDFTeL6TA2gt5WlIZUQrrH6EZrNClwT/H0FateUsZkGIOPRrLbP+PR9A==", + "dev": true + }, + "node_modules/@jest/transform/node_modules/is-ci": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-3.0.0.tgz", + "integrity": "sha512-kDXyttuLeslKAHYL/K28F2YkM3x5jvFPEw3yXbRptXydjD9rpLEz+C5K5iutY9ZiUu6AP41JdvRQwF4Iqs4ZCQ==", + "dev": true, + "dependencies": { + "ci-info": "^3.1.1" + }, + "bin": { + "is-ci": "bin.js" + } + }, + "node_modules/@jest/transform/node_modules/jest-util": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.0.2.tgz", + "integrity": "sha512-1d9uH3a00OFGGWSibpNYr+jojZ6AckOMCXV2Z4K3YXDnzpkAaXQyIpY14FOJPiUmil7CD+A6Qs+lnnh6ctRbIA==", + "dev": true, + "dependencies": { + "@jest/types": "^27.0.2", + "@types/node": "*", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "is-ci": "^3.0.0", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, "node_modules/@jest/types": { @@ -13135,25 +13707,50 @@ } }, "node_modules/babel-jest": { - "version": "26.6.3", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-26.6.3.tgz", - "integrity": "sha512-pl4Q+GAVOHwvjrck6jKjvmGhnO3jHX/xuB9d27f+EJZ/6k+6nMuPjorrYp7s++bKKdANwzElBWnLWaObvTnaZA==", + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-27.0.2.tgz", + "integrity": "sha512-9OThPl3/IQbo4Yul2vMz4FYwILPQak8XelX4YGowygfHaOl5R5gfjm4iVx4d8aUugkW683t8aq0A74E7b5DU1Q==", "dev": true, "dependencies": { - "@jest/transform": "^26.6.2", - "@jest/types": "^26.6.2", - "@types/babel__core": "^7.1.7", + "@jest/transform": "^27.0.2", + "@jest/types": "^27.0.2", + "@types/babel__core": "^7.1.14", "babel-plugin-istanbul": "^6.0.0", - "babel-preset-jest": "^26.6.2", + "babel-preset-jest": "^27.0.1", "chalk": "^4.0.0", "graceful-fs": "^4.2.4", "slash": "^3.0.0" }, "engines": { - "node": ">= 10.14.2" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" }, "peerDependencies": { - "@babel/core": "^7.0.0" + "@babel/core": "^7.8.0" + } + }, + "node_modules/babel-jest/node_modules/@jest/types": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.0.2.tgz", + "integrity": "sha512-XpjCtJ/99HB4PmyJ2vgmN7vT+JLP7RW1FBT9RgnMFS4Dt7cvIyBee8O3/j98aUZ34ZpenPZFqmaaObWSeL65dg==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/babel-jest/node_modules/@types/yargs": { + "version": "16.0.3", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.3.tgz", + "integrity": "sha512-YlFfTGS+zqCgXuXNV26rOIeETOkXnGQXP/pjjL9P0gO/EP9jTmc7pUBhx+jVEIxpq41RX33GQ7N3DzOSfZoglQ==", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" } }, "node_modules/babel-loader": { @@ -13205,9 +13802,9 @@ } }, "node_modules/babel-plugin-jest-hoist": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-26.6.2.tgz", - "integrity": "sha512-PO9t0697lNTmcEHH69mdtYiOIkkOlj9fySqfO3K1eCcdISevLAE0xY59VLLUj0SoiPiTX/JU2CYFpILydUa5Lw==", + "version": "27.0.1", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.0.1.tgz", + "integrity": "sha512-sqBF0owAcCDBVEDtxqfYr2F36eSHdx7lAVGyYuOBRnKdD6gzcy0I0XrAYCZgOA3CRrLhmR+Uae9nogPzmAtOfQ==", "dev": true, "dependencies": { "@babel/template": "^7.3.3", @@ -13216,7 +13813,7 @@ "@types/babel__traverse": "^7.0.6" }, "engines": { - "node": ">= 10.14.2" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, "node_modules/babel-plugin-lodash": { @@ -13376,16 +13973,16 @@ } }, "node_modules/babel-preset-jest": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-26.6.2.tgz", - "integrity": "sha512-YvdtlVm9t3k777c5NPQIv6cxFFFapys25HiUmuSgHwIZhfifweR5c5Sf5nwE3MAbfu327CYSvps8Yx6ANLyleQ==", + "version": "27.0.1", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-27.0.1.tgz", + "integrity": "sha512-nIBIqCEpuiyhvjQs2mVNwTxQQa2xk70p9Dd/0obQGBf8FBzbnI8QhQKzLsWMN2i6q+5B0OcWDtrboBX5gmOLyA==", "dev": true, "dependencies": { - "babel-plugin-jest-hoist": "^26.6.2", + "babel-plugin-jest-hoist": "^27.0.1", "babel-preset-current-node-syntax": "^1.0.0" }, "engines": { - "node": ">= 10.14.2" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" }, "peerDependencies": { "@babel/core": "^7.0.0" @@ -13630,6 +14227,7 @@ "version": "0.0.9", "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz", "integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=", + "dev": true, "optional": true, "dependencies": { "inherits": "~2.0.0" @@ -14428,18 +15026,6 @@ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001208.tgz", "integrity": "sha512-OE5UE4+nBOro8Dyvv0lfx+SRtfVIOM9uhKqFmJeUbGriqhhStgp1A0OyBpgy3OUF8AhYCT+PVwPC1gMl2ZcQMA==" }, - "node_modules/capture-exit": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/capture-exit/-/capture-exit-2.0.0.tgz", - "integrity": "sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g==", - "dev": true, - "dependencies": { - "rsvp": "^4.8.4" - }, - "engines": { - "node": "6.* || 8.* || >= 10.*" - } - }, "node_modules/cardinal": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/cardinal/-/cardinal-2.1.1.tgz", @@ -14598,9 +15184,9 @@ } }, "node_modules/cjs-module-lexer": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-0.6.0.tgz", - "integrity": "sha512-uc2Vix1frTfnuzxxu1Hp4ktSvM3QaI4oXl4ZUqL1wjTu/BGki9TrCWoqLTg/drR1KwAEarXuRFCG2Svr1GxPFw==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.1.tgz", + "integrity": "sha512-jVamGdJPDeuQilKhvVn1h3knuMOZzr8QDnpk+M9aMlCaMkTDd6fBWPhiDqFvFZ07pL0liqabAiuy8SY4jGHeaw==", "dev": true }, "node_modules/class-utils": { @@ -18559,9 +19145,9 @@ } }, "node_modules/emittery": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.7.2.tgz", - "integrity": "sha512-A8OG5SR/ij3SsJdWDJdkkSYUjQdCUx6APQXem0SaEePBSRg4eymGYwBkKo1Y6DU+af/Jn2dBQqDBvjnr9Vi8nQ==", + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.8.1.tgz", + "integrity": "sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg==", "dev": true, "engines": { "node": ">=10" @@ -20068,12 +20654,6 @@ "safe-buffer": "^5.1.1" } }, - "node_modules/exec-sh": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/exec-sh/-/exec-sh-0.3.6.tgz", - "integrity": "sha512-nQn+hI3yp+oD0huYhKwvYI32+JFeq+XkNcD1GAo3Y/MjxsfVGmrrzrnzjWiNY6f+pUCP440fThsFh5gZrRAU/w==", - "dev": true - }, "node_modules/execa": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", @@ -20272,20 +20852,110 @@ } }, "node_modules/expect": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/expect/-/expect-26.6.2.tgz", - "integrity": "sha512-9/hlOBkQl2l/PLHJx6JjoDF6xPKcJEsUlWKb23rKE7KzeDqUZKXKNMW27KIue5JMdBV9HgmoJPcc8HtO85t9IA==", + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/expect/-/expect-27.0.2.tgz", + "integrity": "sha512-YJFNJe2+P2DqH+ZrXy+ydRQYO87oxRUonZImpDodR1G7qo3NYd3pL+NQ9Keqpez3cehczYwZDBC3A7xk3n7M/w==", "dev": true, "dependencies": { - "@jest/types": "^26.6.2", - "ansi-styles": "^4.0.0", - "jest-get-type": "^26.3.0", - "jest-matcher-utils": "^26.6.2", - "jest-message-util": "^26.6.2", - "jest-regex-util": "^26.0.0" + "@jest/types": "^27.0.2", + "ansi-styles": "^5.0.0", + "jest-get-type": "^27.0.1", + "jest-matcher-utils": "^27.0.2", + "jest-message-util": "^27.0.2", + "jest-regex-util": "^27.0.1" }, "engines": { - "node": ">= 10.14.2" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/expect/node_modules/@babel/code-frame": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz", + "integrity": "sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==", + "dev": true, + "dependencies": { + "@babel/highlight": "^7.12.13" + } + }, + "node_modules/expect/node_modules/@jest/types": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.0.2.tgz", + "integrity": "sha512-XpjCtJ/99HB4PmyJ2vgmN7vT+JLP7RW1FBT9RgnMFS4Dt7cvIyBee8O3/j98aUZ34ZpenPZFqmaaObWSeL65dg==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/expect/node_modules/@types/yargs": { + "version": "16.0.3", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.3.tgz", + "integrity": "sha512-YlFfTGS+zqCgXuXNV26rOIeETOkXnGQXP/pjjL9P0gO/EP9jTmc7pUBhx+jVEIxpq41RX33GQ7N3DzOSfZoglQ==", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/expect/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/expect/node_modules/jest-get-type": { + "version": "27.0.1", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.0.1.tgz", + "integrity": "sha512-9Tggo9zZbu0sHKebiAijyt1NM77Z0uO4tuWOxUCujAiSeXv30Vb5D4xVF4UR4YWNapcftj+PbByU54lKD7/xMg==", + "dev": true, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/expect/node_modules/jest-message-util": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.0.2.tgz", + "integrity": "sha512-rTqWUX42ec2LdMkoUPOzrEd1Tcm+R1KfLOmFK+OVNo4MnLsEaxO5zPDb2BbdSmthdM/IfXxOZU60P/WbWF8BTw==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^27.0.2", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "micromatch": "^4.0.4", + "pretty-format": "^27.0.2", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/expect/node_modules/pretty-format": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.0.2.tgz", + "integrity": "sha512-mXKbbBPnYTG7Yra9qFBtqj+IXcsvxsvOBco3QHxtxTl+hHKq6QdzMZ+q0CtL4ORHZgwGImRr2XZUX2EWzORxig==", + "dev": true, + "dependencies": { + "@jest/types": "^27.0.2", + "ansi-regex": "^5.0.0", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, "node_modules/express": { @@ -21680,6 +22350,7 @@ "version": "1.0.12", "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.12.tgz", "integrity": "sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg==", + "dev": true, "optional": true, "dependencies": { "graceful-fs": "^4.1.2", @@ -21695,6 +22366,7 @@ "version": "0.5.5", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "dev": true, "optional": true, "dependencies": { "minimist": "^1.2.5" @@ -21707,6 +22379,7 @@ "version": "2.7.1", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, "optional": true, "dependencies": { "glob": "^7.1.3" @@ -25556,7 +26229,8 @@ "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz", "integrity": "sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE=", "dev": true, - "optional": true + "optional": true, + "peer": true }, "node_modules/gtoken": { "version": "5.2.1", @@ -27895,90 +28569,475 @@ "dev": true }, "node_modules/jest": { - "version": "26.6.3", - "resolved": "https://registry.npmjs.org/jest/-/jest-26.6.3.tgz", - "integrity": "sha512-lGS5PXGAzR4RF7V5+XObhqz2KZIDUA1yD0DG6pBVmy10eh0ZIXQImRuzocsI/N2XZ1GrLFwTS27In2i2jlpq1Q==", + "version": "27.0.3", + "resolved": "https://registry.npmjs.org/jest/-/jest-27.0.3.tgz", + "integrity": "sha512-0G9+QqXFIZWgf5rs3yllpaA+13ZawVHfyuhuCV1EnoFbX++rVMRrYWCAnk+dfhwyv9/VTQvn+XG969u8aPRsBg==", "dev": true, "dependencies": { - "@jest/core": "^26.6.3", + "@jest/core": "^27.0.3", "import-local": "^3.0.2", - "jest-cli": "^26.6.3" + "jest-cli": "^27.0.3" }, "bin": { "jest": "bin/jest.js" }, "engines": { - "node": ">= 10.14.2" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } } }, "node_modules/jest-changed-files": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-26.6.2.tgz", - "integrity": "sha512-fDS7szLcY9sCtIip8Fjry9oGf3I2ht/QT21bAHm5Dmf0mD4X3ReNUf17y+bO6fR8WgbIZTlbyG1ak/53cbRzKQ==", + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-27.0.2.tgz", + "integrity": "sha512-eMeb1Pn7w7x3wue5/vF73LPCJ7DKQuC9wQUR5ebP9hDPpk5hzcT/3Hmz3Q5BOFpR3tgbmaWhJcMTVgC8Z1NuMw==", "dev": true, "dependencies": { - "@jest/types": "^26.6.2", - "execa": "^4.0.0", - "throat": "^5.0.0" + "@jest/types": "^27.0.2", + "execa": "^5.0.0", + "throat": "^6.0.1" }, "engines": { - "node": ">= 10.14.2" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-changed-files/node_modules/@jest/types": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.0.2.tgz", + "integrity": "sha512-XpjCtJ/99HB4PmyJ2vgmN7vT+JLP7RW1FBT9RgnMFS4Dt7cvIyBee8O3/j98aUZ34ZpenPZFqmaaObWSeL65dg==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-changed-files/node_modules/@types/yargs": { + "version": "16.0.3", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.3.tgz", + "integrity": "sha512-YlFfTGS+zqCgXuXNV26rOIeETOkXnGQXP/pjjL9P0gO/EP9jTmc7pUBhx+jVEIxpq41RX33GQ7N3DzOSfZoglQ==", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/jest-changed-files/node_modules/execa": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.0.1.tgz", + "integrity": "sha512-4hFTjFbFzQa3aCLobpbPJR/U+VoL1wdV5ozOWjeet0AWDeYr9UFGM1eUFWHX+VtOWFq4p0xXUXfW1YxUaP4fpw==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/jest-changed-files/node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/jest-changed-files/node_modules/human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "dev": true, + "engines": { + "node": ">=10.17.0" + } + }, + "node_modules/jest-circus": { + "version": "27.0.3", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-27.0.3.tgz", + "integrity": "sha512-tdMfzs7SgD5l7jRcI1iB3vtQi5fHwCgo4RlO8bzZnYc05PZ+tlAOMZeS8eGYkZ2tPaRY/aRLMFWQp/8zXBrolQ==", + "dev": true, + "dependencies": { + "@jest/environment": "^27.0.3", + "@jest/test-result": "^27.0.2", + "@jest/types": "^27.0.2", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "dedent": "^0.7.0", + "expect": "^27.0.2", + "is-generator-fn": "^2.0.0", + "jest-each": "^27.0.2", + "jest-matcher-utils": "^27.0.2", + "jest-message-util": "^27.0.2", + "jest-runtime": "^27.0.3", + "jest-snapshot": "^27.0.2", + "jest-util": "^27.0.2", + "pretty-format": "^27.0.2", + "slash": "^3.0.0", + "stack-utils": "^2.0.3", + "throat": "^6.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-circus/node_modules/@babel/code-frame": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz", + "integrity": "sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==", + "dev": true, + "dependencies": { + "@babel/highlight": "^7.12.13" + } + }, + "node_modules/jest-circus/node_modules/@jest/environment": { + "version": "27.0.3", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-27.0.3.tgz", + "integrity": "sha512-pN9m7fbKsop5vc3FOfH8NF7CKKdRbEZzcxfIo1n2TT6ucKWLFq0P6gCJH0GpnQp036++yY9utHOxpeT1WnkWTA==", + "dev": true, + "dependencies": { + "@jest/fake-timers": "^27.0.3", + "@jest/types": "^27.0.2", + "@types/node": "*", + "jest-mock": "^27.0.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-circus/node_modules/@jest/fake-timers": { + "version": "27.0.3", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-27.0.3.tgz", + "integrity": "sha512-fQ+UCKRIYKvTCEOyKPnaPnomLATIhMnHC/xPZ7yT1Uldp7yMgMxoYIFidDbpSTgB79+/U+FgfoD30c6wg3IUjA==", + "dev": true, + "dependencies": { + "@jest/types": "^27.0.2", + "@sinonjs/fake-timers": "^7.0.2", + "@types/node": "*", + "jest-message-util": "^27.0.2", + "jest-mock": "^27.0.3", + "jest-util": "^27.0.2" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-circus/node_modules/@jest/types": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.0.2.tgz", + "integrity": "sha512-XpjCtJ/99HB4PmyJ2vgmN7vT+JLP7RW1FBT9RgnMFS4Dt7cvIyBee8O3/j98aUZ34ZpenPZFqmaaObWSeL65dg==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-circus/node_modules/@sinonjs/fake-timers": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-7.1.2.tgz", + "integrity": "sha512-iQADsW4LBMISqZ6Ci1dupJL9pprqwcVFTcOsEmQOEhW+KLCVn/Y4Jrvg2k19fIHCp+iFprriYPTdRcQR8NbUPg==", + "dev": true, + "dependencies": { + "@sinonjs/commons": "^1.7.0" + } + }, + "node_modules/jest-circus/node_modules/@types/yargs": { + "version": "16.0.3", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.3.tgz", + "integrity": "sha512-YlFfTGS+zqCgXuXNV26rOIeETOkXnGQXP/pjjL9P0gO/EP9jTmc7pUBhx+jVEIxpq41RX33GQ7N3DzOSfZoglQ==", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/jest-circus/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-circus/node_modules/ci-info": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.2.0.tgz", + "integrity": "sha512-dVqRX7fLUm8J6FgHJ418XuIgDLZDkYcDFTeL6TA2gt5WlIZUQrrH6EZrNClwT/H0FateUsZkGIOPRrLbP+PR9A==", + "dev": true + }, + "node_modules/jest-circus/node_modules/is-ci": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-3.0.0.tgz", + "integrity": "sha512-kDXyttuLeslKAHYL/K28F2YkM3x5jvFPEw3yXbRptXydjD9rpLEz+C5K5iutY9ZiUu6AP41JdvRQwF4Iqs4ZCQ==", + "dev": true, + "dependencies": { + "ci-info": "^3.1.1" + }, + "bin": { + "is-ci": "bin.js" + } + }, + "node_modules/jest-circus/node_modules/jest-message-util": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.0.2.tgz", + "integrity": "sha512-rTqWUX42ec2LdMkoUPOzrEd1Tcm+R1KfLOmFK+OVNo4MnLsEaxO5zPDb2BbdSmthdM/IfXxOZU60P/WbWF8BTw==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^27.0.2", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "micromatch": "^4.0.4", + "pretty-format": "^27.0.2", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-circus/node_modules/jest-mock": { + "version": "27.0.3", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-27.0.3.tgz", + "integrity": "sha512-O5FZn5XDzEp+Xg28mUz4ovVcdwBBPfAhW9+zJLO0Efn2qNbYcDaJvSlRiQ6BCZUCVOJjALicuJQI9mRFjv1o9Q==", + "dev": true, + "dependencies": { + "@jest/types": "^27.0.2", + "@types/node": "*" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-circus/node_modules/jest-util": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.0.2.tgz", + "integrity": "sha512-1d9uH3a00OFGGWSibpNYr+jojZ6AckOMCXV2Z4K3YXDnzpkAaXQyIpY14FOJPiUmil7CD+A6Qs+lnnh6ctRbIA==", + "dev": true, + "dependencies": { + "@jest/types": "^27.0.2", + "@types/node": "*", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "is-ci": "^3.0.0", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-circus/node_modules/pretty-format": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.0.2.tgz", + "integrity": "sha512-mXKbbBPnYTG7Yra9qFBtqj+IXcsvxsvOBco3QHxtxTl+hHKq6QdzMZ+q0CtL4ORHZgwGImRr2XZUX2EWzORxig==", + "dev": true, + "dependencies": { + "@jest/types": "^27.0.2", + "ansi-regex": "^5.0.0", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, "node_modules/jest-cli": { - "version": "26.6.3", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-26.6.3.tgz", - "integrity": "sha512-GF9noBSa9t08pSyl3CY4frMrqp+aQXFGFkf5hEPbh/pIUFYWMK6ZLTfbmadxJVcJrdRoChlWQsA2VkJcDFK8hg==", + "version": "27.0.3", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-27.0.3.tgz", + "integrity": "sha512-7bt9Sgv4nWH5pUnyJfdLf8CHWfo4+7lSPxeBwQx4r0vBj9jweJam/piE2U91SXtQI+ckm+TIN97OVnqIYpVhSg==", "dev": true, "dependencies": { - "@jest/core": "^26.6.3", - "@jest/test-result": "^26.6.2", - "@jest/types": "^26.6.2", + "@jest/core": "^27.0.3", + "@jest/test-result": "^27.0.2", + "@jest/types": "^27.0.2", "chalk": "^4.0.0", "exit": "^0.1.2", "graceful-fs": "^4.2.4", "import-local": "^3.0.2", - "is-ci": "^2.0.0", - "jest-config": "^26.6.3", - "jest-util": "^26.6.2", - "jest-validate": "^26.6.2", + "jest-config": "^27.0.3", + "jest-util": "^27.0.2", + "jest-validate": "^27.0.2", "prompts": "^2.0.1", - "yargs": "^15.4.1" + "yargs": "^16.0.3" }, "bin": { "jest": "bin/jest.js" }, "engines": { - "node": ">= 10.14.2" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/jest-cli/node_modules/@jest/types": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.0.2.tgz", + "integrity": "sha512-XpjCtJ/99HB4PmyJ2vgmN7vT+JLP7RW1FBT9RgnMFS4Dt7cvIyBee8O3/j98aUZ34ZpenPZFqmaaObWSeL65dg==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-cli/node_modules/@types/yargs": { + "version": "16.0.3", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.3.tgz", + "integrity": "sha512-YlFfTGS+zqCgXuXNV26rOIeETOkXnGQXP/pjjL9P0gO/EP9jTmc7pUBhx+jVEIxpq41RX33GQ7N3DzOSfZoglQ==", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/jest-cli/node_modules/ci-info": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.2.0.tgz", + "integrity": "sha512-dVqRX7fLUm8J6FgHJ418XuIgDLZDkYcDFTeL6TA2gt5WlIZUQrrH6EZrNClwT/H0FateUsZkGIOPRrLbP+PR9A==", + "dev": true + }, + "node_modules/jest-cli/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, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "node_modules/jest-cli/node_modules/is-ci": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-3.0.0.tgz", + "integrity": "sha512-kDXyttuLeslKAHYL/K28F2YkM3x5jvFPEw3yXbRptXydjD9rpLEz+C5K5iutY9ZiUu6AP41JdvRQwF4Iqs4ZCQ==", + "dev": true, + "dependencies": { + "ci-info": "^3.1.1" + }, + "bin": { + "is-ci": "bin.js" + } + }, + "node_modules/jest-cli/node_modules/jest-util": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.0.2.tgz", + "integrity": "sha512-1d9uH3a00OFGGWSibpNYr+jojZ6AckOMCXV2Z4K3YXDnzpkAaXQyIpY14FOJPiUmil7CD+A6Qs+lnnh6ctRbIA==", + "dev": true, + "dependencies": { + "@jest/types": "^27.0.2", + "@types/node": "*", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "is-ci": "^3.0.0", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-cli/node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/jest-cli/node_modules/yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dev": true, + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" } }, "node_modules/jest-config": { - "version": "26.6.3", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-26.6.3.tgz", - "integrity": "sha512-t5qdIj/bCj2j7NFVHb2nFB4aUdfucDn3JRKgrZnplb8nieAirAzRSHP8uDEd+qV6ygzg9Pz4YG7UTJf94LPSyg==", + "version": "27.0.3", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-27.0.3.tgz", + "integrity": "sha512-zgtI2YQo+ekKsmYNyDlXFY/7w7WWBSJFoj/WRe173WB88CDUrEYWr0sLdbLOQe+sRu6l1Y2S0MCS6BOJm5jkoA==", "dev": true, "dependencies": { "@babel/core": "^7.1.0", - "@jest/test-sequencer": "^26.6.3", - "@jest/types": "^26.6.2", - "babel-jest": "^26.6.3", + "@jest/test-sequencer": "^27.0.3", + "@jest/types": "^27.0.2", + "babel-jest": "^27.0.2", "chalk": "^4.0.0", "deepmerge": "^4.2.2", "glob": "^7.1.1", "graceful-fs": "^4.2.4", - "jest-environment-jsdom": "^26.6.2", - "jest-environment-node": "^26.6.2", - "jest-get-type": "^26.3.0", - "jest-jasmine2": "^26.6.3", - "jest-regex-util": "^26.0.0", - "jest-resolve": "^26.6.2", - "jest-util": "^26.6.2", - "jest-validate": "^26.6.2", - "micromatch": "^4.0.2", - "pretty-format": "^26.6.2" + "is-ci": "^3.0.0", + "jest-circus": "^27.0.3", + "jest-environment-jsdom": "^27.0.3", + "jest-environment-node": "^27.0.3", + "jest-get-type": "^27.0.1", + "jest-jasmine2": "^27.0.3", + "jest-regex-util": "^27.0.1", + "jest-resolve": "^27.0.2", + "jest-runner": "^27.0.3", + "jest-util": "^27.0.2", + "jest-validate": "^27.0.2", + "micromatch": "^4.0.4", + "pretty-format": "^27.0.2" }, "engines": { - "node": ">= 10.14.2" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" }, "peerDependencies": { "ts-node": ">=9.0.0" @@ -27989,6 +29048,203 @@ } } }, + "node_modules/jest-config/node_modules/@babel/code-frame": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz", + "integrity": "sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==", + "dev": true, + "dependencies": { + "@babel/highlight": "^7.12.13" + } + }, + "node_modules/jest-config/node_modules/@jest/environment": { + "version": "27.0.3", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-27.0.3.tgz", + "integrity": "sha512-pN9m7fbKsop5vc3FOfH8NF7CKKdRbEZzcxfIo1n2TT6ucKWLFq0P6gCJH0GpnQp036++yY9utHOxpeT1WnkWTA==", + "dev": true, + "dependencies": { + "@jest/fake-timers": "^27.0.3", + "@jest/types": "^27.0.2", + "@types/node": "*", + "jest-mock": "^27.0.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-config/node_modules/@jest/fake-timers": { + "version": "27.0.3", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-27.0.3.tgz", + "integrity": "sha512-fQ+UCKRIYKvTCEOyKPnaPnomLATIhMnHC/xPZ7yT1Uldp7yMgMxoYIFidDbpSTgB79+/U+FgfoD30c6wg3IUjA==", + "dev": true, + "dependencies": { + "@jest/types": "^27.0.2", + "@sinonjs/fake-timers": "^7.0.2", + "@types/node": "*", + "jest-message-util": "^27.0.2", + "jest-mock": "^27.0.3", + "jest-util": "^27.0.2" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-config/node_modules/@jest/types": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.0.2.tgz", + "integrity": "sha512-XpjCtJ/99HB4PmyJ2vgmN7vT+JLP7RW1FBT9RgnMFS4Dt7cvIyBee8O3/j98aUZ34ZpenPZFqmaaObWSeL65dg==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-config/node_modules/@sinonjs/fake-timers": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-7.1.2.tgz", + "integrity": "sha512-iQADsW4LBMISqZ6Ci1dupJL9pprqwcVFTcOsEmQOEhW+KLCVn/Y4Jrvg2k19fIHCp+iFprriYPTdRcQR8NbUPg==", + "dev": true, + "dependencies": { + "@sinonjs/commons": "^1.7.0" + } + }, + "node_modules/jest-config/node_modules/@types/yargs": { + "version": "16.0.3", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.3.tgz", + "integrity": "sha512-YlFfTGS+zqCgXuXNV26rOIeETOkXnGQXP/pjjL9P0gO/EP9jTmc7pUBhx+jVEIxpq41RX33GQ7N3DzOSfZoglQ==", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/jest-config/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-config/node_modules/ci-info": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.2.0.tgz", + "integrity": "sha512-dVqRX7fLUm8J6FgHJ418XuIgDLZDkYcDFTeL6TA2gt5WlIZUQrrH6EZrNClwT/H0FateUsZkGIOPRrLbP+PR9A==", + "dev": true + }, + "node_modules/jest-config/node_modules/is-ci": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-3.0.0.tgz", + "integrity": "sha512-kDXyttuLeslKAHYL/K28F2YkM3x5jvFPEw3yXbRptXydjD9rpLEz+C5K5iutY9ZiUu6AP41JdvRQwF4Iqs4ZCQ==", + "dev": true, + "dependencies": { + "ci-info": "^3.1.1" + }, + "bin": { + "is-ci": "bin.js" + } + }, + "node_modules/jest-config/node_modules/jest-environment-jsdom": { + "version": "27.0.3", + "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-27.0.3.tgz", + "integrity": "sha512-5KLmgv1bhiimpSA8oGTnZYk6g4fsNyZiA/6gI2tAZUgrufd7heRUSVh4gRokzZVEj8zlwAQYT0Zs6tuJSW/ECA==", + "dev": true, + "dependencies": { + "@jest/environment": "^27.0.3", + "@jest/fake-timers": "^27.0.3", + "@jest/types": "^27.0.2", + "@types/node": "*", + "jest-mock": "^27.0.3", + "jest-util": "^27.0.2", + "jsdom": "^16.6.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-config/node_modules/jest-get-type": { + "version": "27.0.1", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.0.1.tgz", + "integrity": "sha512-9Tggo9zZbu0sHKebiAijyt1NM77Z0uO4tuWOxUCujAiSeXv30Vb5D4xVF4UR4YWNapcftj+PbByU54lKD7/xMg==", + "dev": true, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-config/node_modules/jest-message-util": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.0.2.tgz", + "integrity": "sha512-rTqWUX42ec2LdMkoUPOzrEd1Tcm+R1KfLOmFK+OVNo4MnLsEaxO5zPDb2BbdSmthdM/IfXxOZU60P/WbWF8BTw==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^27.0.2", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "micromatch": "^4.0.4", + "pretty-format": "^27.0.2", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-config/node_modules/jest-mock": { + "version": "27.0.3", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-27.0.3.tgz", + "integrity": "sha512-O5FZn5XDzEp+Xg28mUz4ovVcdwBBPfAhW9+zJLO0Efn2qNbYcDaJvSlRiQ6BCZUCVOJjALicuJQI9mRFjv1o9Q==", + "dev": true, + "dependencies": { + "@jest/types": "^27.0.2", + "@types/node": "*" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-config/node_modules/jest-util": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.0.2.tgz", + "integrity": "sha512-1d9uH3a00OFGGWSibpNYr+jojZ6AckOMCXV2Z4K3YXDnzpkAaXQyIpY14FOJPiUmil7CD+A6Qs+lnnh6ctRbIA==", + "dev": true, + "dependencies": { + "@jest/types": "^27.0.2", + "@types/node": "*", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "is-ci": "^3.0.0", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-config/node_modules/pretty-format": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.0.2.tgz", + "integrity": "sha512-mXKbbBPnYTG7Yra9qFBtqj+IXcsvxsvOBco3QHxtxTl+hHKq6QdzMZ+q0CtL4ORHZgwGImRr2XZUX2EWzORxig==", + "dev": true, + "dependencies": { + "@jest/types": "^27.0.2", + "ansi-regex": "^5.0.0", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, "node_modules/jest-diff": { "version": "26.6.2", "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-26.6.2.tgz", @@ -28005,31 +29261,127 @@ } }, "node_modules/jest-docblock": { - "version": "26.0.0", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-26.0.0.tgz", - "integrity": "sha512-RDZ4Iz3QbtRWycd8bUEPxQsTlYazfYn/h5R65Fc6gOfwozFhoImx+affzky/FFBuqISPTqjXomoIGJVKBWoo0w==", + "version": "27.0.1", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-27.0.1.tgz", + "integrity": "sha512-TA4+21s3oebURc7VgFV4r7ltdIJ5rtBH1E3Tbovcg7AV+oLfD5DcJ2V2vJ5zFA9sL5CFd/d2D6IpsAeSheEdrA==", "dev": true, "dependencies": { "detect-newline": "^3.0.0" }, "engines": { - "node": ">= 10.14.2" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, "node_modules/jest-each": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-26.6.2.tgz", - "integrity": "sha512-Mer/f0KaATbjl8MCJ+0GEpNdqmnVmDYqCTJYTvoo7rqmRiDllmp2AYN+06F93nXcY3ur9ShIjS+CO/uD+BbH4A==", + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-27.0.2.tgz", + "integrity": "sha512-OLMBZBZ6JkoXgUenDtseFRWA43wVl2BwmZYIWQws7eS7pqsIvePqj/jJmEnfq91ALk3LNphgwNK/PRFBYi7ITQ==", "dev": true, "dependencies": { - "@jest/types": "^26.6.2", + "@jest/types": "^27.0.2", "chalk": "^4.0.0", - "jest-get-type": "^26.3.0", - "jest-util": "^26.6.2", - "pretty-format": "^26.6.2" + "jest-get-type": "^27.0.1", + "jest-util": "^27.0.2", + "pretty-format": "^27.0.2" }, "engines": { - "node": ">= 10.14.2" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-each/node_modules/@jest/types": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.0.2.tgz", + "integrity": "sha512-XpjCtJ/99HB4PmyJ2vgmN7vT+JLP7RW1FBT9RgnMFS4Dt7cvIyBee8O3/j98aUZ34ZpenPZFqmaaObWSeL65dg==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-each/node_modules/@types/yargs": { + "version": "16.0.3", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.3.tgz", + "integrity": "sha512-YlFfTGS+zqCgXuXNV26rOIeETOkXnGQXP/pjjL9P0gO/EP9jTmc7pUBhx+jVEIxpq41RX33GQ7N3DzOSfZoglQ==", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/jest-each/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-each/node_modules/ci-info": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.2.0.tgz", + "integrity": "sha512-dVqRX7fLUm8J6FgHJ418XuIgDLZDkYcDFTeL6TA2gt5WlIZUQrrH6EZrNClwT/H0FateUsZkGIOPRrLbP+PR9A==", + "dev": true + }, + "node_modules/jest-each/node_modules/is-ci": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-3.0.0.tgz", + "integrity": "sha512-kDXyttuLeslKAHYL/K28F2YkM3x5jvFPEw3yXbRptXydjD9rpLEz+C5K5iutY9ZiUu6AP41JdvRQwF4Iqs4ZCQ==", + "dev": true, + "dependencies": { + "ci-info": "^3.1.1" + }, + "bin": { + "is-ci": "bin.js" + } + }, + "node_modules/jest-each/node_modules/jest-get-type": { + "version": "27.0.1", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.0.1.tgz", + "integrity": "sha512-9Tggo9zZbu0sHKebiAijyt1NM77Z0uO4tuWOxUCujAiSeXv30Vb5D4xVF4UR4YWNapcftj+PbByU54lKD7/xMg==", + "dev": true, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-each/node_modules/jest-util": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.0.2.tgz", + "integrity": "sha512-1d9uH3a00OFGGWSibpNYr+jojZ6AckOMCXV2Z4K3YXDnzpkAaXQyIpY14FOJPiUmil7CD+A6Qs+lnnh6ctRbIA==", + "dev": true, + "dependencies": { + "@jest/types": "^27.0.2", + "@types/node": "*", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "is-ci": "^3.0.0", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-each/node_modules/pretty-format": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.0.2.tgz", + "integrity": "sha512-mXKbbBPnYTG7Yra9qFBtqj+IXcsvxsvOBco3QHxtxTl+hHKq6QdzMZ+q0CtL4ORHZgwGImRr2XZUX2EWzORxig==", + "dev": true, + "dependencies": { + "@jest/types": "^27.0.2", + "ansi-regex": "^5.0.0", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, "node_modules/jest-environment-jsdom": { @@ -28060,20 +29412,190 @@ } }, "node_modules/jest-environment-node": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-26.6.2.tgz", - "integrity": "sha512-zhtMio3Exty18dy8ee8eJ9kjnRyZC1N4C1Nt/VShN1apyXc8rWGtJ9lI7vqiWcyyXS4BVSEn9lxAM2D+07/Tag==", + "version": "27.0.3", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-27.0.3.tgz", + "integrity": "sha512-co2/IVnIFL3cItpFULCvXFg9us4gvWXgs7mutAMPCbFhcqh56QAOdKhNzC2+RycsC/k4mbMj1VF+9F/NzA0ROg==", "dev": true, "dependencies": { - "@jest/environment": "^26.6.2", - "@jest/fake-timers": "^26.6.2", - "@jest/types": "^26.6.2", + "@jest/environment": "^27.0.3", + "@jest/fake-timers": "^27.0.3", + "@jest/types": "^27.0.2", "@types/node": "*", - "jest-mock": "^26.6.2", - "jest-util": "^26.6.2" + "jest-mock": "^27.0.3", + "jest-util": "^27.0.2" }, "engines": { - "node": ">= 10.14.2" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-environment-node/node_modules/@babel/code-frame": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz", + "integrity": "sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==", + "dev": true, + "dependencies": { + "@babel/highlight": "^7.12.13" + } + }, + "node_modules/jest-environment-node/node_modules/@jest/environment": { + "version": "27.0.3", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-27.0.3.tgz", + "integrity": "sha512-pN9m7fbKsop5vc3FOfH8NF7CKKdRbEZzcxfIo1n2TT6ucKWLFq0P6gCJH0GpnQp036++yY9utHOxpeT1WnkWTA==", + "dev": true, + "dependencies": { + "@jest/fake-timers": "^27.0.3", + "@jest/types": "^27.0.2", + "@types/node": "*", + "jest-mock": "^27.0.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-environment-node/node_modules/@jest/fake-timers": { + "version": "27.0.3", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-27.0.3.tgz", + "integrity": "sha512-fQ+UCKRIYKvTCEOyKPnaPnomLATIhMnHC/xPZ7yT1Uldp7yMgMxoYIFidDbpSTgB79+/U+FgfoD30c6wg3IUjA==", + "dev": true, + "dependencies": { + "@jest/types": "^27.0.2", + "@sinonjs/fake-timers": "^7.0.2", + "@types/node": "*", + "jest-message-util": "^27.0.2", + "jest-mock": "^27.0.3", + "jest-util": "^27.0.2" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-environment-node/node_modules/@jest/types": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.0.2.tgz", + "integrity": "sha512-XpjCtJ/99HB4PmyJ2vgmN7vT+JLP7RW1FBT9RgnMFS4Dt7cvIyBee8O3/j98aUZ34ZpenPZFqmaaObWSeL65dg==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-environment-node/node_modules/@sinonjs/fake-timers": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-7.1.2.tgz", + "integrity": "sha512-iQADsW4LBMISqZ6Ci1dupJL9pprqwcVFTcOsEmQOEhW+KLCVn/Y4Jrvg2k19fIHCp+iFprriYPTdRcQR8NbUPg==", + "dev": true, + "dependencies": { + "@sinonjs/commons": "^1.7.0" + } + }, + "node_modules/jest-environment-node/node_modules/@types/yargs": { + "version": "16.0.3", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.3.tgz", + "integrity": "sha512-YlFfTGS+zqCgXuXNV26rOIeETOkXnGQXP/pjjL9P0gO/EP9jTmc7pUBhx+jVEIxpq41RX33GQ7N3DzOSfZoglQ==", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/jest-environment-node/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-environment-node/node_modules/ci-info": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.2.0.tgz", + "integrity": "sha512-dVqRX7fLUm8J6FgHJ418XuIgDLZDkYcDFTeL6TA2gt5WlIZUQrrH6EZrNClwT/H0FateUsZkGIOPRrLbP+PR9A==", + "dev": true + }, + "node_modules/jest-environment-node/node_modules/is-ci": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-3.0.0.tgz", + "integrity": "sha512-kDXyttuLeslKAHYL/K28F2YkM3x5jvFPEw3yXbRptXydjD9rpLEz+C5K5iutY9ZiUu6AP41JdvRQwF4Iqs4ZCQ==", + "dev": true, + "dependencies": { + "ci-info": "^3.1.1" + }, + "bin": { + "is-ci": "bin.js" + } + }, + "node_modules/jest-environment-node/node_modules/jest-message-util": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.0.2.tgz", + "integrity": "sha512-rTqWUX42ec2LdMkoUPOzrEd1Tcm+R1KfLOmFK+OVNo4MnLsEaxO5zPDb2BbdSmthdM/IfXxOZU60P/WbWF8BTw==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^27.0.2", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "micromatch": "^4.0.4", + "pretty-format": "^27.0.2", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-environment-node/node_modules/jest-mock": { + "version": "27.0.3", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-27.0.3.tgz", + "integrity": "sha512-O5FZn5XDzEp+Xg28mUz4ovVcdwBBPfAhW9+zJLO0Efn2qNbYcDaJvSlRiQ6BCZUCVOJjALicuJQI9mRFjv1o9Q==", + "dev": true, + "dependencies": { + "@jest/types": "^27.0.2", + "@types/node": "*" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-environment-node/node_modules/jest-util": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.0.2.tgz", + "integrity": "sha512-1d9uH3a00OFGGWSibpNYr+jojZ6AckOMCXV2Z4K3YXDnzpkAaXQyIpY14FOJPiUmil7CD+A6Qs+lnnh6ctRbIA==", + "dev": true, + "dependencies": { + "@jest/types": "^27.0.2", + "@types/node": "*", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "is-ci": "^3.0.0", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-environment-node/node_modules/pretty-format": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.0.2.tgz", + "integrity": "sha512-mXKbbBPnYTG7Yra9qFBtqj+IXcsvxsvOBco3QHxtxTl+hHKq6QdzMZ+q0CtL4ORHZgwGImRr2XZUX2EWzORxig==", + "dev": true, + "dependencies": { + "@jest/types": "^27.0.2", + "ansi-regex": "^5.0.0", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, "node_modules/jest-get-type": { @@ -28086,87 +29608,491 @@ } }, "node_modules/jest-haste-map": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-26.6.2.tgz", - "integrity": "sha512-easWIJXIw71B2RdR8kgqpjQrbMRWQBgiBwXYEhtGUTaX+doCjBheluShdDMeR8IMfJiTqH4+zfhtg29apJf/8w==", + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.0.2.tgz", + "integrity": "sha512-37gYfrYjjhEfk37C4bCMWAC0oPBxDpG0qpl8lYg8BT//wf353YT/fzgA7+Dq0EtM7rPFS3JEcMsxdtDwNMi2cA==", "dev": true, "dependencies": { - "@jest/types": "^26.6.2", + "@jest/types": "^27.0.2", "@types/graceful-fs": "^4.1.2", "@types/node": "*", "anymatch": "^3.0.3", "fb-watchman": "^2.0.0", "graceful-fs": "^4.2.4", - "jest-regex-util": "^26.0.0", - "jest-serializer": "^26.6.2", - "jest-util": "^26.6.2", - "jest-worker": "^26.6.2", - "micromatch": "^4.0.2", - "sane": "^4.0.3", + "jest-regex-util": "^27.0.1", + "jest-serializer": "^27.0.1", + "jest-util": "^27.0.2", + "jest-worker": "^27.0.2", + "micromatch": "^4.0.4", "walker": "^1.0.7" }, "engines": { - "node": ">= 10.14.2" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" }, "optionalDependencies": { - "fsevents": "^2.1.2" + "fsevents": "^2.3.2" + } + }, + "node_modules/jest-haste-map/node_modules/@jest/types": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.0.2.tgz", + "integrity": "sha512-XpjCtJ/99HB4PmyJ2vgmN7vT+JLP7RW1FBT9RgnMFS4Dt7cvIyBee8O3/j98aUZ34ZpenPZFqmaaObWSeL65dg==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-haste-map/node_modules/@types/yargs": { + "version": "16.0.3", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.3.tgz", + "integrity": "sha512-YlFfTGS+zqCgXuXNV26rOIeETOkXnGQXP/pjjL9P0gO/EP9jTmc7pUBhx+jVEIxpq41RX33GQ7N3DzOSfZoglQ==", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/jest-haste-map/node_modules/ci-info": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.2.0.tgz", + "integrity": "sha512-dVqRX7fLUm8J6FgHJ418XuIgDLZDkYcDFTeL6TA2gt5WlIZUQrrH6EZrNClwT/H0FateUsZkGIOPRrLbP+PR9A==", + "dev": true + }, + "node_modules/jest-haste-map/node_modules/is-ci": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-3.0.0.tgz", + "integrity": "sha512-kDXyttuLeslKAHYL/K28F2YkM3x5jvFPEw3yXbRptXydjD9rpLEz+C5K5iutY9ZiUu6AP41JdvRQwF4Iqs4ZCQ==", + "dev": true, + "dependencies": { + "ci-info": "^3.1.1" + }, + "bin": { + "is-ci": "bin.js" + } + }, + "node_modules/jest-haste-map/node_modules/jest-util": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.0.2.tgz", + "integrity": "sha512-1d9uH3a00OFGGWSibpNYr+jojZ6AckOMCXV2Z4K3YXDnzpkAaXQyIpY14FOJPiUmil7CD+A6Qs+lnnh6ctRbIA==", + "dev": true, + "dependencies": { + "@jest/types": "^27.0.2", + "@types/node": "*", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "is-ci": "^3.0.0", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-haste-map/node_modules/jest-worker": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.0.2.tgz", + "integrity": "sha512-EoBdilOTTyOgmHXtw/cPc+ZrCA0KJMrkXzkrPGNwLmnvvlN1nj7MPrxpT7m+otSv2e1TLaVffzDnE/LB14zJMg==", + "dev": true, + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/jest-haste-map/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" } }, "node_modules/jest-jasmine2": { - "version": "26.6.3", - "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-26.6.3.tgz", - "integrity": "sha512-kPKUrQtc8aYwBV7CqBg5pu+tmYXlvFlSFYn18ev4gPFtrRzB15N2gW/Roew3187q2w2eHuu0MU9TJz6w0/nPEg==", + "version": "27.0.3", + "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-27.0.3.tgz", + "integrity": "sha512-odJ2ia8P5c+IsqOcWJPmku4AqbXIfTVLRjYTKHri3TEvbmTdLw0ghy13OAPIl/0v7cVH0TURK7+xFOHKDLvKIA==", "dev": true, "dependencies": { "@babel/traverse": "^7.1.0", - "@jest/environment": "^26.6.2", - "@jest/source-map": "^26.6.2", - "@jest/test-result": "^26.6.2", - "@jest/types": "^26.6.2", + "@jest/environment": "^27.0.3", + "@jest/source-map": "^27.0.1", + "@jest/test-result": "^27.0.2", + "@jest/types": "^27.0.2", "@types/node": "*", "chalk": "^4.0.0", "co": "^4.6.0", - "expect": "^26.6.2", + "expect": "^27.0.2", "is-generator-fn": "^2.0.0", - "jest-each": "^26.6.2", - "jest-matcher-utils": "^26.6.2", - "jest-message-util": "^26.6.2", - "jest-runtime": "^26.6.3", - "jest-snapshot": "^26.6.2", - "jest-util": "^26.6.2", - "pretty-format": "^26.6.2", - "throat": "^5.0.0" + "jest-each": "^27.0.2", + "jest-matcher-utils": "^27.0.2", + "jest-message-util": "^27.0.2", + "jest-runtime": "^27.0.3", + "jest-snapshot": "^27.0.2", + "jest-util": "^27.0.2", + "pretty-format": "^27.0.2", + "throat": "^6.0.1" }, "engines": { - "node": ">= 10.14.2" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-jasmine2/node_modules/@babel/code-frame": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz", + "integrity": "sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==", + "dev": true, + "dependencies": { + "@babel/highlight": "^7.12.13" + } + }, + "node_modules/jest-jasmine2/node_modules/@jest/environment": { + "version": "27.0.3", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-27.0.3.tgz", + "integrity": "sha512-pN9m7fbKsop5vc3FOfH8NF7CKKdRbEZzcxfIo1n2TT6ucKWLFq0P6gCJH0GpnQp036++yY9utHOxpeT1WnkWTA==", + "dev": true, + "dependencies": { + "@jest/fake-timers": "^27.0.3", + "@jest/types": "^27.0.2", + "@types/node": "*", + "jest-mock": "^27.0.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-jasmine2/node_modules/@jest/fake-timers": { + "version": "27.0.3", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-27.0.3.tgz", + "integrity": "sha512-fQ+UCKRIYKvTCEOyKPnaPnomLATIhMnHC/xPZ7yT1Uldp7yMgMxoYIFidDbpSTgB79+/U+FgfoD30c6wg3IUjA==", + "dev": true, + "dependencies": { + "@jest/types": "^27.0.2", + "@sinonjs/fake-timers": "^7.0.2", + "@types/node": "*", + "jest-message-util": "^27.0.2", + "jest-mock": "^27.0.3", + "jest-util": "^27.0.2" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-jasmine2/node_modules/@jest/types": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.0.2.tgz", + "integrity": "sha512-XpjCtJ/99HB4PmyJ2vgmN7vT+JLP7RW1FBT9RgnMFS4Dt7cvIyBee8O3/j98aUZ34ZpenPZFqmaaObWSeL65dg==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-jasmine2/node_modules/@sinonjs/fake-timers": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-7.1.2.tgz", + "integrity": "sha512-iQADsW4LBMISqZ6Ci1dupJL9pprqwcVFTcOsEmQOEhW+KLCVn/Y4Jrvg2k19fIHCp+iFprriYPTdRcQR8NbUPg==", + "dev": true, + "dependencies": { + "@sinonjs/commons": "^1.7.0" + } + }, + "node_modules/jest-jasmine2/node_modules/@types/yargs": { + "version": "16.0.3", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.3.tgz", + "integrity": "sha512-YlFfTGS+zqCgXuXNV26rOIeETOkXnGQXP/pjjL9P0gO/EP9jTmc7pUBhx+jVEIxpq41RX33GQ7N3DzOSfZoglQ==", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/jest-jasmine2/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-jasmine2/node_modules/ci-info": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.2.0.tgz", + "integrity": "sha512-dVqRX7fLUm8J6FgHJ418XuIgDLZDkYcDFTeL6TA2gt5WlIZUQrrH6EZrNClwT/H0FateUsZkGIOPRrLbP+PR9A==", + "dev": true + }, + "node_modules/jest-jasmine2/node_modules/is-ci": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-3.0.0.tgz", + "integrity": "sha512-kDXyttuLeslKAHYL/K28F2YkM3x5jvFPEw3yXbRptXydjD9rpLEz+C5K5iutY9ZiUu6AP41JdvRQwF4Iqs4ZCQ==", + "dev": true, + "dependencies": { + "ci-info": "^3.1.1" + }, + "bin": { + "is-ci": "bin.js" + } + }, + "node_modules/jest-jasmine2/node_modules/jest-message-util": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.0.2.tgz", + "integrity": "sha512-rTqWUX42ec2LdMkoUPOzrEd1Tcm+R1KfLOmFK+OVNo4MnLsEaxO5zPDb2BbdSmthdM/IfXxOZU60P/WbWF8BTw==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^27.0.2", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "micromatch": "^4.0.4", + "pretty-format": "^27.0.2", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-jasmine2/node_modules/jest-mock": { + "version": "27.0.3", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-27.0.3.tgz", + "integrity": "sha512-O5FZn5XDzEp+Xg28mUz4ovVcdwBBPfAhW9+zJLO0Efn2qNbYcDaJvSlRiQ6BCZUCVOJjALicuJQI9mRFjv1o9Q==", + "dev": true, + "dependencies": { + "@jest/types": "^27.0.2", + "@types/node": "*" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-jasmine2/node_modules/jest-util": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.0.2.tgz", + "integrity": "sha512-1d9uH3a00OFGGWSibpNYr+jojZ6AckOMCXV2Z4K3YXDnzpkAaXQyIpY14FOJPiUmil7CD+A6Qs+lnnh6ctRbIA==", + "dev": true, + "dependencies": { + "@jest/types": "^27.0.2", + "@types/node": "*", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "is-ci": "^3.0.0", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-jasmine2/node_modules/pretty-format": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.0.2.tgz", + "integrity": "sha512-mXKbbBPnYTG7Yra9qFBtqj+IXcsvxsvOBco3QHxtxTl+hHKq6QdzMZ+q0CtL4ORHZgwGImRr2XZUX2EWzORxig==", + "dev": true, + "dependencies": { + "@jest/types": "^27.0.2", + "ansi-regex": "^5.0.0", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, "node_modules/jest-leak-detector": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-26.6.2.tgz", - "integrity": "sha512-i4xlXpsVSMeKvg2cEKdfhh0H39qlJlP5Ex1yQxwF9ubahboQYMgTtz5oML35AVA3B4Eu+YsmwaiKVev9KCvLxg==", + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-27.0.2.tgz", + "integrity": "sha512-TZA3DmCOfe8YZFIMD1GxFqXUkQnIoOGQyy4hFCA2mlHtnAaf+FeOMxi0fZmfB41ZL+QbFG6BVaZF5IeFIVy53Q==", "dev": true, "dependencies": { - "jest-get-type": "^26.3.0", - "pretty-format": "^26.6.2" + "jest-get-type": "^27.0.1", + "pretty-format": "^27.0.2" }, "engines": { - "node": ">= 10.14.2" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-leak-detector/node_modules/@jest/types": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.0.2.tgz", + "integrity": "sha512-XpjCtJ/99HB4PmyJ2vgmN7vT+JLP7RW1FBT9RgnMFS4Dt7cvIyBee8O3/j98aUZ34ZpenPZFqmaaObWSeL65dg==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-leak-detector/node_modules/@types/yargs": { + "version": "16.0.3", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.3.tgz", + "integrity": "sha512-YlFfTGS+zqCgXuXNV26rOIeETOkXnGQXP/pjjL9P0gO/EP9jTmc7pUBhx+jVEIxpq41RX33GQ7N3DzOSfZoglQ==", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/jest-leak-detector/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-leak-detector/node_modules/jest-get-type": { + "version": "27.0.1", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.0.1.tgz", + "integrity": "sha512-9Tggo9zZbu0sHKebiAijyt1NM77Z0uO4tuWOxUCujAiSeXv30Vb5D4xVF4UR4YWNapcftj+PbByU54lKD7/xMg==", + "dev": true, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-leak-detector/node_modules/pretty-format": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.0.2.tgz", + "integrity": "sha512-mXKbbBPnYTG7Yra9qFBtqj+IXcsvxsvOBco3QHxtxTl+hHKq6QdzMZ+q0CtL4ORHZgwGImRr2XZUX2EWzORxig==", + "dev": true, + "dependencies": { + "@jest/types": "^27.0.2", + "ansi-regex": "^5.0.0", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, "node_modules/jest-matcher-utils": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-26.6.2.tgz", - "integrity": "sha512-llnc8vQgYcNqDrqRDXWwMr9i7rS5XFiCwvh6DTP7Jqa2mqpcCBBlpCbn+trkG0KNhPu/h8rzyBkriOtBstvWhw==", + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.0.2.tgz", + "integrity": "sha512-Qczi5xnTNjkhcIB0Yy75Txt+Ez51xdhOxsukN7awzq2auZQGPHcQrJ623PZj0ECDEMOk2soxWx05EXdXGd1CbA==", "dev": true, "dependencies": { "chalk": "^4.0.0", - "jest-diff": "^26.6.2", - "jest-get-type": "^26.3.0", - "pretty-format": "^26.6.2" + "jest-diff": "^27.0.2", + "jest-get-type": "^27.0.1", + "pretty-format": "^27.0.2" }, "engines": { - "node": ">= 10.14.2" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-matcher-utils/node_modules/@jest/types": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.0.2.tgz", + "integrity": "sha512-XpjCtJ/99HB4PmyJ2vgmN7vT+JLP7RW1FBT9RgnMFS4Dt7cvIyBee8O3/j98aUZ34ZpenPZFqmaaObWSeL65dg==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-matcher-utils/node_modules/@types/yargs": { + "version": "16.0.3", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.3.tgz", + "integrity": "sha512-YlFfTGS+zqCgXuXNV26rOIeETOkXnGQXP/pjjL9P0gO/EP9jTmc7pUBhx+jVEIxpq41RX33GQ7N3DzOSfZoglQ==", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/jest-matcher-utils/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-matcher-utils/node_modules/diff-sequences": { + "version": "27.0.1", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.0.1.tgz", + "integrity": "sha512-XPLijkfJUh/PIBnfkcSHgvD6tlYixmcMAn3osTk6jt+H0v/mgURto1XUiD9DKuGX5NDoVS6dSlA23gd9FUaCFg==", + "dev": true, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-matcher-utils/node_modules/jest-diff": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.0.2.tgz", + "integrity": "sha512-BFIdRb0LqfV1hBt8crQmw6gGQHVDhM87SpMIZ45FPYKReZYG5er1+5pIn2zKqvrJp6WNox0ylR8571Iwk2Dmgw==", + "dev": true, + "dependencies": { + "chalk": "^4.0.0", + "diff-sequences": "^27.0.1", + "jest-get-type": "^27.0.1", + "pretty-format": "^27.0.2" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-matcher-utils/node_modules/jest-get-type": { + "version": "27.0.1", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.0.1.tgz", + "integrity": "sha512-9Tggo9zZbu0sHKebiAijyt1NM77Z0uO4tuWOxUCujAiSeXv30Vb5D4xVF4UR4YWNapcftj+PbByU54lKD7/xMg==", + "dev": true, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-matcher-utils/node_modules/pretty-format": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.0.2.tgz", + "integrity": "sha512-mXKbbBPnYTG7Yra9qFBtqj+IXcsvxsvOBco3QHxtxTl+hHKq6QdzMZ+q0CtL4ORHZgwGImRr2XZUX2EWzORxig==", + "dev": true, + "dependencies": { + "@jest/types": "^27.0.2", + "ansi-regex": "^5.0.0", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, "node_modules/jest-message-util": { @@ -28220,157 +30146,803 @@ } }, "node_modules/jest-regex-util": { - "version": "26.0.0", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-26.0.0.tgz", - "integrity": "sha512-Gv3ZIs/nA48/Zvjrl34bf+oD76JHiGDUxNOVgUjh3j890sblXryjY4rss71fPtD/njchl6PSE2hIhvyWa1eT0A==", + "version": "27.0.1", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.0.1.tgz", + "integrity": "sha512-6nY6QVcpTgEKQy1L41P4pr3aOddneK17kn3HJw6SdwGiKfgCGTvH02hVXL0GU8GEKtPH83eD2DIDgxHXOxVohQ==", "dev": true, "engines": { - "node": ">= 10.14.2" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, "node_modules/jest-resolve": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-26.6.2.tgz", - "integrity": "sha512-sOxsZOq25mT1wRsfHcbtkInS+Ek7Q8jCHUB0ZUTP0tc/c41QHriU/NunqMfCUWsL4H3MHpvQD4QR9kSYhS7UvQ==", + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-27.0.2.tgz", + "integrity": "sha512-rmfLGyZhwAUR5z3EwPAW7LQTorWAuCYCcsQJoQxT2it+BOgX3zKxa67r1pfpK3ihy2k9TjYD3/lMp5rPm/CL1Q==", "dev": true, "dependencies": { - "@jest/types": "^26.6.2", + "@jest/types": "^27.0.2", "chalk": "^4.0.0", + "escalade": "^3.1.1", "graceful-fs": "^4.2.4", "jest-pnp-resolver": "^1.2.2", - "jest-util": "^26.6.2", - "read-pkg-up": "^7.0.1", - "resolve": "^1.18.1", + "jest-util": "^27.0.2", + "jest-validate": "^27.0.2", + "resolve": "^1.20.0", "slash": "^3.0.0" }, "engines": { - "node": ">= 10.14.2" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, "node_modules/jest-resolve-dependencies": { - "version": "26.6.3", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-26.6.3.tgz", - "integrity": "sha512-pVwUjJkxbhe4RY8QEWzN3vns2kqyuldKpxlxJlzEYfKSvY6/bMvxoFrYYzUO1Gx28yKWN37qyV7rIoIp2h8fTg==", + "version": "27.0.3", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-27.0.3.tgz", + "integrity": "sha512-HdjWOvFAgT5CYChF2eiBN2rRKicjaTCCtA3EtH47REIdGzEHGUhYrWYgLahXsiOovvWN6edhcHL5WCa3gbc04A==", "dev": true, "dependencies": { - "@jest/types": "^26.6.2", - "jest-regex-util": "^26.0.0", - "jest-snapshot": "^26.6.2" + "@jest/types": "^27.0.2", + "jest-regex-util": "^27.0.1", + "jest-snapshot": "^27.0.2" }, "engines": { - "node": ">= 10.14.2" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-resolve-dependencies/node_modules/@jest/types": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.0.2.tgz", + "integrity": "sha512-XpjCtJ/99HB4PmyJ2vgmN7vT+JLP7RW1FBT9RgnMFS4Dt7cvIyBee8O3/j98aUZ34ZpenPZFqmaaObWSeL65dg==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-resolve-dependencies/node_modules/@types/yargs": { + "version": "16.0.3", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.3.tgz", + "integrity": "sha512-YlFfTGS+zqCgXuXNV26rOIeETOkXnGQXP/pjjL9P0gO/EP9jTmc7pUBhx+jVEIxpq41RX33GQ7N3DzOSfZoglQ==", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/jest-resolve/node_modules/@jest/types": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.0.2.tgz", + "integrity": "sha512-XpjCtJ/99HB4PmyJ2vgmN7vT+JLP7RW1FBT9RgnMFS4Dt7cvIyBee8O3/j98aUZ34ZpenPZFqmaaObWSeL65dg==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-resolve/node_modules/@types/yargs": { + "version": "16.0.3", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.3.tgz", + "integrity": "sha512-YlFfTGS+zqCgXuXNV26rOIeETOkXnGQXP/pjjL9P0gO/EP9jTmc7pUBhx+jVEIxpq41RX33GQ7N3DzOSfZoglQ==", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/jest-resolve/node_modules/ci-info": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.2.0.tgz", + "integrity": "sha512-dVqRX7fLUm8J6FgHJ418XuIgDLZDkYcDFTeL6TA2gt5WlIZUQrrH6EZrNClwT/H0FateUsZkGIOPRrLbP+PR9A==", + "dev": true + }, + "node_modules/jest-resolve/node_modules/is-ci": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-3.0.0.tgz", + "integrity": "sha512-kDXyttuLeslKAHYL/K28F2YkM3x5jvFPEw3yXbRptXydjD9rpLEz+C5K5iutY9ZiUu6AP41JdvRQwF4Iqs4ZCQ==", + "dev": true, + "dependencies": { + "ci-info": "^3.1.1" + }, + "bin": { + "is-ci": "bin.js" + } + }, + "node_modules/jest-resolve/node_modules/jest-util": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.0.2.tgz", + "integrity": "sha512-1d9uH3a00OFGGWSibpNYr+jojZ6AckOMCXV2Z4K3YXDnzpkAaXQyIpY14FOJPiUmil7CD+A6Qs+lnnh6ctRbIA==", + "dev": true, + "dependencies": { + "@jest/types": "^27.0.2", + "@types/node": "*", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "is-ci": "^3.0.0", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, "node_modules/jest-runner": { - "version": "26.6.3", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-26.6.3.tgz", - "integrity": "sha512-atgKpRHnaA2OvByG/HpGA4g6CSPS/1LK0jK3gATJAoptC1ojltpmVlYC3TYgdmGp+GLuhzpH30Gvs36szSL2JQ==", + "version": "27.0.3", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-27.0.3.tgz", + "integrity": "sha512-zH23uIIh1ro1JCD7XX1bQ0bQwXEsBzLX2UJVE/AVLsk4YJRmTfyXIzzRzBWRdnMHHg1NWkJ4fGs7eFP15IqZpQ==", "dev": true, "dependencies": { - "@jest/console": "^26.6.2", - "@jest/environment": "^26.6.2", - "@jest/test-result": "^26.6.2", - "@jest/types": "^26.6.2", + "@jest/console": "^27.0.2", + "@jest/environment": "^27.0.3", + "@jest/test-result": "^27.0.2", + "@jest/transform": "^27.0.2", + "@jest/types": "^27.0.2", "@types/node": "*", "chalk": "^4.0.0", - "emittery": "^0.7.1", + "emittery": "^0.8.1", "exit": "^0.1.2", "graceful-fs": "^4.2.4", - "jest-config": "^26.6.3", - "jest-docblock": "^26.0.0", - "jest-haste-map": "^26.6.2", - "jest-leak-detector": "^26.6.2", - "jest-message-util": "^26.6.2", - "jest-resolve": "^26.6.2", - "jest-runtime": "^26.6.3", - "jest-util": "^26.6.2", - "jest-worker": "^26.6.2", + "jest-docblock": "^27.0.1", + "jest-haste-map": "^27.0.2", + "jest-leak-detector": "^27.0.2", + "jest-message-util": "^27.0.2", + "jest-resolve": "^27.0.2", + "jest-runtime": "^27.0.3", + "jest-util": "^27.0.2", + "jest-worker": "^27.0.2", "source-map-support": "^0.5.6", - "throat": "^5.0.0" + "throat": "^6.0.1" }, "engines": { - "node": ">= 10.14.2" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-runner/node_modules/@babel/code-frame": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz", + "integrity": "sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==", + "dev": true, + "dependencies": { + "@babel/highlight": "^7.12.13" + } + }, + "node_modules/jest-runner/node_modules/@jest/environment": { + "version": "27.0.3", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-27.0.3.tgz", + "integrity": "sha512-pN9m7fbKsop5vc3FOfH8NF7CKKdRbEZzcxfIo1n2TT6ucKWLFq0P6gCJH0GpnQp036++yY9utHOxpeT1WnkWTA==", + "dev": true, + "dependencies": { + "@jest/fake-timers": "^27.0.3", + "@jest/types": "^27.0.2", + "@types/node": "*", + "jest-mock": "^27.0.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-runner/node_modules/@jest/fake-timers": { + "version": "27.0.3", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-27.0.3.tgz", + "integrity": "sha512-fQ+UCKRIYKvTCEOyKPnaPnomLATIhMnHC/xPZ7yT1Uldp7yMgMxoYIFidDbpSTgB79+/U+FgfoD30c6wg3IUjA==", + "dev": true, + "dependencies": { + "@jest/types": "^27.0.2", + "@sinonjs/fake-timers": "^7.0.2", + "@types/node": "*", + "jest-message-util": "^27.0.2", + "jest-mock": "^27.0.3", + "jest-util": "^27.0.2" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-runner/node_modules/@jest/types": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.0.2.tgz", + "integrity": "sha512-XpjCtJ/99HB4PmyJ2vgmN7vT+JLP7RW1FBT9RgnMFS4Dt7cvIyBee8O3/j98aUZ34ZpenPZFqmaaObWSeL65dg==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-runner/node_modules/@sinonjs/fake-timers": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-7.1.2.tgz", + "integrity": "sha512-iQADsW4LBMISqZ6Ci1dupJL9pprqwcVFTcOsEmQOEhW+KLCVn/Y4Jrvg2k19fIHCp+iFprriYPTdRcQR8NbUPg==", + "dev": true, + "dependencies": { + "@sinonjs/commons": "^1.7.0" + } + }, + "node_modules/jest-runner/node_modules/@types/yargs": { + "version": "16.0.3", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.3.tgz", + "integrity": "sha512-YlFfTGS+zqCgXuXNV26rOIeETOkXnGQXP/pjjL9P0gO/EP9jTmc7pUBhx+jVEIxpq41RX33GQ7N3DzOSfZoglQ==", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/jest-runner/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-runner/node_modules/ci-info": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.2.0.tgz", + "integrity": "sha512-dVqRX7fLUm8J6FgHJ418XuIgDLZDkYcDFTeL6TA2gt5WlIZUQrrH6EZrNClwT/H0FateUsZkGIOPRrLbP+PR9A==", + "dev": true + }, + "node_modules/jest-runner/node_modules/is-ci": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-3.0.0.tgz", + "integrity": "sha512-kDXyttuLeslKAHYL/K28F2YkM3x5jvFPEw3yXbRptXydjD9rpLEz+C5K5iutY9ZiUu6AP41JdvRQwF4Iqs4ZCQ==", + "dev": true, + "dependencies": { + "ci-info": "^3.1.1" + }, + "bin": { + "is-ci": "bin.js" + } + }, + "node_modules/jest-runner/node_modules/jest-message-util": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.0.2.tgz", + "integrity": "sha512-rTqWUX42ec2LdMkoUPOzrEd1Tcm+R1KfLOmFK+OVNo4MnLsEaxO5zPDb2BbdSmthdM/IfXxOZU60P/WbWF8BTw==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^27.0.2", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "micromatch": "^4.0.4", + "pretty-format": "^27.0.2", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-runner/node_modules/jest-mock": { + "version": "27.0.3", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-27.0.3.tgz", + "integrity": "sha512-O5FZn5XDzEp+Xg28mUz4ovVcdwBBPfAhW9+zJLO0Efn2qNbYcDaJvSlRiQ6BCZUCVOJjALicuJQI9mRFjv1o9Q==", + "dev": true, + "dependencies": { + "@jest/types": "^27.0.2", + "@types/node": "*" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-runner/node_modules/jest-util": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.0.2.tgz", + "integrity": "sha512-1d9uH3a00OFGGWSibpNYr+jojZ6AckOMCXV2Z4K3YXDnzpkAaXQyIpY14FOJPiUmil7CD+A6Qs+lnnh6ctRbIA==", + "dev": true, + "dependencies": { + "@jest/types": "^27.0.2", + "@types/node": "*", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "is-ci": "^3.0.0", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-runner/node_modules/jest-worker": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.0.2.tgz", + "integrity": "sha512-EoBdilOTTyOgmHXtw/cPc+ZrCA0KJMrkXzkrPGNwLmnvvlN1nj7MPrxpT7m+otSv2e1TLaVffzDnE/LB14zJMg==", + "dev": true, + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/jest-runner/node_modules/pretty-format": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.0.2.tgz", + "integrity": "sha512-mXKbbBPnYTG7Yra9qFBtqj+IXcsvxsvOBco3QHxtxTl+hHKq6QdzMZ+q0CtL4ORHZgwGImRr2XZUX2EWzORxig==", + "dev": true, + "dependencies": { + "@jest/types": "^27.0.2", + "ansi-regex": "^5.0.0", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-runner/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" } }, "node_modules/jest-runtime": { - "version": "26.6.3", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-26.6.3.tgz", - "integrity": "sha512-lrzyR3N8sacTAMeonbqpnSka1dHNux2uk0qqDXVkMv2c/A3wYnvQ4EXuI013Y6+gSKSCxdaczvf4HF0mVXHRdw==", + "version": "27.0.3", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-27.0.3.tgz", + "integrity": "sha512-k1Hl2pWWHBkSXdCggX2lyLRuDnnnmMlnJd+DPLb8LmmAeHW87WgGC6TplD377VxY3KQu73sklkhGUIdwFgsRVQ==", "dev": true, "dependencies": { - "@jest/console": "^26.6.2", - "@jest/environment": "^26.6.2", - "@jest/fake-timers": "^26.6.2", - "@jest/globals": "^26.6.2", - "@jest/source-map": "^26.6.2", - "@jest/test-result": "^26.6.2", - "@jest/transform": "^26.6.2", - "@jest/types": "^26.6.2", - "@types/yargs": "^15.0.0", + "@jest/console": "^27.0.2", + "@jest/environment": "^27.0.3", + "@jest/fake-timers": "^27.0.3", + "@jest/globals": "^27.0.3", + "@jest/source-map": "^27.0.1", + "@jest/test-result": "^27.0.2", + "@jest/transform": "^27.0.2", + "@jest/types": "^27.0.2", + "@types/yargs": "^16.0.0", "chalk": "^4.0.0", - "cjs-module-lexer": "^0.6.0", + "cjs-module-lexer": "^1.0.0", "collect-v8-coverage": "^1.0.0", "exit": "^0.1.2", "glob": "^7.1.3", "graceful-fs": "^4.2.4", - "jest-config": "^26.6.3", - "jest-haste-map": "^26.6.2", - "jest-message-util": "^26.6.2", - "jest-mock": "^26.6.2", - "jest-regex-util": "^26.0.0", - "jest-resolve": "^26.6.2", - "jest-snapshot": "^26.6.2", - "jest-util": "^26.6.2", - "jest-validate": "^26.6.2", + "jest-haste-map": "^27.0.2", + "jest-message-util": "^27.0.2", + "jest-mock": "^27.0.3", + "jest-regex-util": "^27.0.1", + "jest-resolve": "^27.0.2", + "jest-snapshot": "^27.0.2", + "jest-util": "^27.0.2", + "jest-validate": "^27.0.2", "slash": "^3.0.0", "strip-bom": "^4.0.0", - "yargs": "^15.4.1" - }, - "bin": { - "jest-runtime": "bin/jest-runtime.js" + "yargs": "^16.0.3" }, "engines": { - "node": ">= 10.14.2" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-runtime/node_modules/@babel/code-frame": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz", + "integrity": "sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==", + "dev": true, + "dependencies": { + "@babel/highlight": "^7.12.13" + } + }, + "node_modules/jest-runtime/node_modules/@jest/environment": { + "version": "27.0.3", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-27.0.3.tgz", + "integrity": "sha512-pN9m7fbKsop5vc3FOfH8NF7CKKdRbEZzcxfIo1n2TT6ucKWLFq0P6gCJH0GpnQp036++yY9utHOxpeT1WnkWTA==", + "dev": true, + "dependencies": { + "@jest/fake-timers": "^27.0.3", + "@jest/types": "^27.0.2", + "@types/node": "*", + "jest-mock": "^27.0.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-runtime/node_modules/@jest/fake-timers": { + "version": "27.0.3", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-27.0.3.tgz", + "integrity": "sha512-fQ+UCKRIYKvTCEOyKPnaPnomLATIhMnHC/xPZ7yT1Uldp7yMgMxoYIFidDbpSTgB79+/U+FgfoD30c6wg3IUjA==", + "dev": true, + "dependencies": { + "@jest/types": "^27.0.2", + "@sinonjs/fake-timers": "^7.0.2", + "@types/node": "*", + "jest-message-util": "^27.0.2", + "jest-mock": "^27.0.3", + "jest-util": "^27.0.2" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-runtime/node_modules/@jest/types": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.0.2.tgz", + "integrity": "sha512-XpjCtJ/99HB4PmyJ2vgmN7vT+JLP7RW1FBT9RgnMFS4Dt7cvIyBee8O3/j98aUZ34ZpenPZFqmaaObWSeL65dg==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-runtime/node_modules/@sinonjs/fake-timers": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-7.1.2.tgz", + "integrity": "sha512-iQADsW4LBMISqZ6Ci1dupJL9pprqwcVFTcOsEmQOEhW+KLCVn/Y4Jrvg2k19fIHCp+iFprriYPTdRcQR8NbUPg==", + "dev": true, + "dependencies": { + "@sinonjs/commons": "^1.7.0" + } + }, + "node_modules/jest-runtime/node_modules/@types/yargs": { + "version": "16.0.3", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.3.tgz", + "integrity": "sha512-YlFfTGS+zqCgXuXNV26rOIeETOkXnGQXP/pjjL9P0gO/EP9jTmc7pUBhx+jVEIxpq41RX33GQ7N3DzOSfZoglQ==", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/jest-runtime/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-runtime/node_modules/ci-info": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.2.0.tgz", + "integrity": "sha512-dVqRX7fLUm8J6FgHJ418XuIgDLZDkYcDFTeL6TA2gt5WlIZUQrrH6EZrNClwT/H0FateUsZkGIOPRrLbP+PR9A==", + "dev": true + }, + "node_modules/jest-runtime/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, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "node_modules/jest-runtime/node_modules/is-ci": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-3.0.0.tgz", + "integrity": "sha512-kDXyttuLeslKAHYL/K28F2YkM3x5jvFPEw3yXbRptXydjD9rpLEz+C5K5iutY9ZiUu6AP41JdvRQwF4Iqs4ZCQ==", + "dev": true, + "dependencies": { + "ci-info": "^3.1.1" + }, + "bin": { + "is-ci": "bin.js" + } + }, + "node_modules/jest-runtime/node_modules/jest-message-util": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.0.2.tgz", + "integrity": "sha512-rTqWUX42ec2LdMkoUPOzrEd1Tcm+R1KfLOmFK+OVNo4MnLsEaxO5zPDb2BbdSmthdM/IfXxOZU60P/WbWF8BTw==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^27.0.2", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "micromatch": "^4.0.4", + "pretty-format": "^27.0.2", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-runtime/node_modules/jest-mock": { + "version": "27.0.3", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-27.0.3.tgz", + "integrity": "sha512-O5FZn5XDzEp+Xg28mUz4ovVcdwBBPfAhW9+zJLO0Efn2qNbYcDaJvSlRiQ6BCZUCVOJjALicuJQI9mRFjv1o9Q==", + "dev": true, + "dependencies": { + "@jest/types": "^27.0.2", + "@types/node": "*" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-runtime/node_modules/jest-util": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.0.2.tgz", + "integrity": "sha512-1d9uH3a00OFGGWSibpNYr+jojZ6AckOMCXV2Z4K3YXDnzpkAaXQyIpY14FOJPiUmil7CD+A6Qs+lnnh6ctRbIA==", + "dev": true, + "dependencies": { + "@jest/types": "^27.0.2", + "@types/node": "*", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "is-ci": "^3.0.0", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-runtime/node_modules/pretty-format": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.0.2.tgz", + "integrity": "sha512-mXKbbBPnYTG7Yra9qFBtqj+IXcsvxsvOBco3QHxtxTl+hHKq6QdzMZ+q0CtL4ORHZgwGImRr2XZUX2EWzORxig==", + "dev": true, + "dependencies": { + "@jest/types": "^27.0.2", + "ansi-regex": "^5.0.0", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-runtime/node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/jest-runtime/node_modules/yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dev": true, + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" } }, "node_modules/jest-serializer": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-26.6.2.tgz", - "integrity": "sha512-S5wqyz0DXnNJPd/xfIzZ5Xnp1HrJWBczg8mMfMpN78OJ5eDxXyf+Ygld9wX1DnUWbIbhM1YDY95NjR4CBXkb2g==", + "version": "27.0.1", + "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-27.0.1.tgz", + "integrity": "sha512-svy//5IH6bfQvAbkAEg1s7xhhgHTtXu0li0I2fdKHDsLP2P2MOiscPQIENQep8oU2g2B3jqLyxKKzotZOz4CwQ==", "dev": true, "dependencies": { "@types/node": "*", "graceful-fs": "^4.2.4" }, "engines": { - "node": ">= 10.14.2" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, "node_modules/jest-snapshot": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-26.6.2.tgz", - "integrity": "sha512-OLhxz05EzUtsAmOMzuupt1lHYXCNib0ECyuZ/PZOx9TrZcC8vL0x+DUG3TL+GLX3yHG45e6YGjIm0XwDc3q3og==", + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-27.0.2.tgz", + "integrity": "sha512-4RcgvZbPrrbEE/hT6XQ4hr+NVVLNrmsgUnYSnZRT6UAvW9Q2yzGMS+tfJh+xlQJAapnnkNJzsMn6vUa+yfiVHA==", "dev": true, "dependencies": { + "@babel/core": "^7.7.2", + "@babel/generator": "^7.7.2", + "@babel/parser": "^7.7.2", + "@babel/plugin-syntax-typescript": "^7.7.2", + "@babel/traverse": "^7.7.2", "@babel/types": "^7.0.0", - "@jest/types": "^26.6.2", + "@jest/transform": "^27.0.2", + "@jest/types": "^27.0.2", "@types/babel__traverse": "^7.0.4", - "@types/prettier": "^2.0.0", + "@types/prettier": "^2.1.5", + "babel-preset-current-node-syntax": "^1.0.0", "chalk": "^4.0.0", - "expect": "^26.6.2", + "expect": "^27.0.2", "graceful-fs": "^4.2.4", - "jest-diff": "^26.6.2", - "jest-get-type": "^26.3.0", - "jest-haste-map": "^26.6.2", - "jest-matcher-utils": "^26.6.2", - "jest-message-util": "^26.6.2", - "jest-resolve": "^26.6.2", + "jest-diff": "^27.0.2", + "jest-get-type": "^27.0.1", + "jest-haste-map": "^27.0.2", + "jest-matcher-utils": "^27.0.2", + "jest-message-util": "^27.0.2", + "jest-resolve": "^27.0.2", + "jest-util": "^27.0.2", "natural-compare": "^1.4.0", - "pretty-format": "^26.6.2", + "pretty-format": "^27.0.2", "semver": "^7.3.2" }, "engines": { - "node": ">= 10.14.2" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-snapshot/node_modules/@babel/code-frame": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz", + "integrity": "sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==", + "dev": true, + "dependencies": { + "@babel/highlight": "^7.12.13" + } + }, + "node_modules/jest-snapshot/node_modules/@jest/types": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.0.2.tgz", + "integrity": "sha512-XpjCtJ/99HB4PmyJ2vgmN7vT+JLP7RW1FBT9RgnMFS4Dt7cvIyBee8O3/j98aUZ34ZpenPZFqmaaObWSeL65dg==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-snapshot/node_modules/@types/yargs": { + "version": "16.0.3", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.3.tgz", + "integrity": "sha512-YlFfTGS+zqCgXuXNV26rOIeETOkXnGQXP/pjjL9P0gO/EP9jTmc7pUBhx+jVEIxpq41RX33GQ7N3DzOSfZoglQ==", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/jest-snapshot/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-snapshot/node_modules/ci-info": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.2.0.tgz", + "integrity": "sha512-dVqRX7fLUm8J6FgHJ418XuIgDLZDkYcDFTeL6TA2gt5WlIZUQrrH6EZrNClwT/H0FateUsZkGIOPRrLbP+PR9A==", + "dev": true + }, + "node_modules/jest-snapshot/node_modules/diff-sequences": { + "version": "27.0.1", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.0.1.tgz", + "integrity": "sha512-XPLijkfJUh/PIBnfkcSHgvD6tlYixmcMAn3osTk6jt+H0v/mgURto1XUiD9DKuGX5NDoVS6dSlA23gd9FUaCFg==", + "dev": true, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-snapshot/node_modules/is-ci": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-3.0.0.tgz", + "integrity": "sha512-kDXyttuLeslKAHYL/K28F2YkM3x5jvFPEw3yXbRptXydjD9rpLEz+C5K5iutY9ZiUu6AP41JdvRQwF4Iqs4ZCQ==", + "dev": true, + "dependencies": { + "ci-info": "^3.1.1" + }, + "bin": { + "is-ci": "bin.js" + } + }, + "node_modules/jest-snapshot/node_modules/jest-diff": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.0.2.tgz", + "integrity": "sha512-BFIdRb0LqfV1hBt8crQmw6gGQHVDhM87SpMIZ45FPYKReZYG5er1+5pIn2zKqvrJp6WNox0ylR8571Iwk2Dmgw==", + "dev": true, + "dependencies": { + "chalk": "^4.0.0", + "diff-sequences": "^27.0.1", + "jest-get-type": "^27.0.1", + "pretty-format": "^27.0.2" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-snapshot/node_modules/jest-get-type": { + "version": "27.0.1", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.0.1.tgz", + "integrity": "sha512-9Tggo9zZbu0sHKebiAijyt1NM77Z0uO4tuWOxUCujAiSeXv30Vb5D4xVF4UR4YWNapcftj+PbByU54lKD7/xMg==", + "dev": true, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-snapshot/node_modules/jest-message-util": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.0.2.tgz", + "integrity": "sha512-rTqWUX42ec2LdMkoUPOzrEd1Tcm+R1KfLOmFK+OVNo4MnLsEaxO5zPDb2BbdSmthdM/IfXxOZU60P/WbWF8BTw==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^27.0.2", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "micromatch": "^4.0.4", + "pretty-format": "^27.0.2", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-snapshot/node_modules/jest-util": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.0.2.tgz", + "integrity": "sha512-1d9uH3a00OFGGWSibpNYr+jojZ6AckOMCXV2Z4K3YXDnzpkAaXQyIpY14FOJPiUmil7CD+A6Qs+lnnh6ctRbIA==", + "dev": true, + "dependencies": { + "@jest/types": "^27.0.2", + "@types/node": "*", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "is-ci": "^3.0.0", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-snapshot/node_modules/pretty-format": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.0.2.tgz", + "integrity": "sha512-mXKbbBPnYTG7Yra9qFBtqj+IXcsvxsvOBco3QHxtxTl+hHKq6QdzMZ+q0CtL4ORHZgwGImRr2XZUX2EWzORxig==", + "dev": true, + "dependencies": { + "@jest/types": "^27.0.2", + "ansi-regex": "^5.0.0", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, "node_modules/jest-util": { @@ -28391,20 +30963,57 @@ } }, "node_modules/jest-validate": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-26.6.2.tgz", - "integrity": "sha512-NEYZ9Aeyj0i5rQqbq+tpIOom0YS1u2MVu6+euBsvpgIme+FOfRmoC4R5p0JiAUpaFvFy24xgrpMknarR/93XjQ==", + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-27.0.2.tgz", + "integrity": "sha512-UgBF6/oVu1ofd1XbaSotXKihi8nZhg0Prm8twQ9uCuAfo59vlxCXMPI/RKmrZEVgi3Nd9dS0I8A0wzWU48pOvg==", "dev": true, "dependencies": { - "@jest/types": "^26.6.2", - "camelcase": "^6.0.0", + "@jest/types": "^27.0.2", + "camelcase": "^6.2.0", "chalk": "^4.0.0", - "jest-get-type": "^26.3.0", + "jest-get-type": "^27.0.1", "leven": "^3.1.0", - "pretty-format": "^26.6.2" + "pretty-format": "^27.0.2" }, "engines": { - "node": ">= 10.14.2" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-validate/node_modules/@jest/types": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.0.2.tgz", + "integrity": "sha512-XpjCtJ/99HB4PmyJ2vgmN7vT+JLP7RW1FBT9RgnMFS4Dt7cvIyBee8O3/j98aUZ34ZpenPZFqmaaObWSeL65dg==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-validate/node_modules/@types/yargs": { + "version": "16.0.3", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.3.tgz", + "integrity": "sha512-YlFfTGS+zqCgXuXNV26rOIeETOkXnGQXP/pjjL9P0gO/EP9jTmc7pUBhx+jVEIxpq41RX33GQ7N3DzOSfZoglQ==", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/jest-validate/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, "node_modules/jest-validate/node_modules/camelcase": { @@ -28419,22 +31028,106 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/jest-watcher": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-26.6.2.tgz", - "integrity": "sha512-WKJob0P/Em2csiVthsI68p6aGKTIcsfjH9Gsx1f0A3Italz43e3ho0geSAVsmj09RWOELP1AZ/DXyJgOgDKxXQ==", + "node_modules/jest-validate/node_modules/jest-get-type": { + "version": "27.0.1", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.0.1.tgz", + "integrity": "sha512-9Tggo9zZbu0sHKebiAijyt1NM77Z0uO4tuWOxUCujAiSeXv30Vb5D4xVF4UR4YWNapcftj+PbByU54lKD7/xMg==", + "dev": true, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-validate/node_modules/pretty-format": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.0.2.tgz", + "integrity": "sha512-mXKbbBPnYTG7Yra9qFBtqj+IXcsvxsvOBco3QHxtxTl+hHKq6QdzMZ+q0CtL4ORHZgwGImRr2XZUX2EWzORxig==", "dev": true, "dependencies": { - "@jest/test-result": "^26.6.2", - "@jest/types": "^26.6.2", + "@jest/types": "^27.0.2", + "ansi-regex": "^5.0.0", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-watcher": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-27.0.2.tgz", + "integrity": "sha512-8nuf0PGuTxWj/Ytfw5fyvNn/R80iXY8QhIT0ofyImUvdnoaBdT6kob0GmhXR+wO+ALYVnh8bQxN4Tjfez0JgkA==", + "dev": true, + "dependencies": { + "@jest/test-result": "^27.0.2", + "@jest/types": "^27.0.2", "@types/node": "*", "ansi-escapes": "^4.2.1", "chalk": "^4.0.0", - "jest-util": "^26.6.2", + "jest-util": "^27.0.2", "string-length": "^4.0.1" }, "engines": { - "node": ">= 10.14.2" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-watcher/node_modules/@jest/types": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.0.2.tgz", + "integrity": "sha512-XpjCtJ/99HB4PmyJ2vgmN7vT+JLP7RW1FBT9RgnMFS4Dt7cvIyBee8O3/j98aUZ34ZpenPZFqmaaObWSeL65dg==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-watcher/node_modules/@types/yargs": { + "version": "16.0.3", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.3.tgz", + "integrity": "sha512-YlFfTGS+zqCgXuXNV26rOIeETOkXnGQXP/pjjL9P0gO/EP9jTmc7pUBhx+jVEIxpq41RX33GQ7N3DzOSfZoglQ==", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/jest-watcher/node_modules/ci-info": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.2.0.tgz", + "integrity": "sha512-dVqRX7fLUm8J6FgHJ418XuIgDLZDkYcDFTeL6TA2gt5WlIZUQrrH6EZrNClwT/H0FateUsZkGIOPRrLbP+PR9A==", + "dev": true + }, + "node_modules/jest-watcher/node_modules/is-ci": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-3.0.0.tgz", + "integrity": "sha512-kDXyttuLeslKAHYL/K28F2YkM3x5jvFPEw3yXbRptXydjD9rpLEz+C5K5iutY9ZiUu6AP41JdvRQwF4Iqs4ZCQ==", + "dev": true, + "dependencies": { + "ci-info": "^3.1.1" + }, + "bin": { + "is-ci": "bin.js" + } + }, + "node_modules/jest-watcher/node_modules/jest-util": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.0.2.tgz", + "integrity": "sha512-1d9uH3a00OFGGWSibpNYr+jojZ6AckOMCXV2Z4K3YXDnzpkAaXQyIpY14FOJPiUmil7CD+A6Qs+lnnh6ctRbIA==", + "dev": true, + "dependencies": { + "@jest/types": "^27.0.2", + "@types/node": "*", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "is-ci": "^3.0.0", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, "node_modules/jest-worker": { @@ -28578,13 +31271,13 @@ "devOptional": true }, "node_modules/jsdom": { - "version": "16.5.2", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.5.2.tgz", - "integrity": "sha512-JxNtPt9C1ut85boCbJmffaQ06NBnzkQY/MWO3YxPW8IWS38A26z+B1oBvA9LwKrytewdfymnhi4UNH3/RAgZrg==", + "version": "16.6.0", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.6.0.tgz", + "integrity": "sha512-Ty1vmF4NHJkolaEmdjtxTfSfkdb8Ywarwf63f+F8/mDD1uLSSWDxDuMiZxiPhwunLrn9LOSVItWj4bLYsLN3Dg==", "dev": true, "dependencies": { "abab": "^2.0.5", - "acorn": "^8.1.0", + "acorn": "^8.2.4", "acorn-globals": "^6.0.0", "cssom": "^0.4.4", "cssstyle": "^2.3.0", @@ -28592,12 +31285,13 @@ "decimal.js": "^10.2.1", "domexception": "^2.0.1", "escodegen": "^2.0.0", + "form-data": "^3.0.0", "html-encoding-sniffer": "^2.0.1", - "is-potential-custom-element-name": "^1.0.0", + "http-proxy-agent": "^4.0.1", + "https-proxy-agent": "^5.0.0", + "is-potential-custom-element-name": "^1.0.1", "nwsapi": "^2.2.0", "parse5": "6.0.1", - "request": "^2.88.2", - "request-promise-native": "^1.0.9", "saxes": "^5.0.1", "symbol-tree": "^3.2.4", "tough-cookie": "^4.0.0", @@ -28607,7 +31301,7 @@ "whatwg-encoding": "^1.0.5", "whatwg-mimetype": "^2.3.0", "whatwg-url": "^8.5.0", - "ws": "^7.4.4", + "ws": "^7.4.5", "xml-name-validator": "^3.0.0" }, "engines": { @@ -28623,9 +31317,9 @@ } }, "node_modules/jsdom/node_modules/acorn": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.1.0.tgz", - "integrity": "sha512-LWCF/Wn0nfHOmJ9rzQApGnxnvgfROzGilS8936rqN/lfcYkY9MYZzdMqN+2NJ4SlTc+m5HiSa+kNfDtI64dwUA==", + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.3.0.tgz", + "integrity": "sha512-tqPKHZ5CaBJw0Xmy0ZZvLs1qTV+BNFSyvn77ASXkpBNfIRk8ev26fKrD9iLGwGA9zedPao52GSHzq8lyZG0NUw==", "dev": true, "bin": { "acorn": "bin/acorn" @@ -28634,6 +31328,41 @@ "node": ">=0.4.0" } }, + "node_modules/jsdom/node_modules/form-data": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", + "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", + "dev": true, + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jsdom/node_modules/ws": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.6.tgz", + "integrity": "sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==", + "dev": true, + "engines": { + "node": ">=8.3.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, "node_modules/jsesc": { "version": "2.5.2", "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", @@ -32578,6 +35307,7 @@ "integrity": "sha512-oJP/9NAdd9+x2Q+rfphB2RJCHjod70RcRLjosiPMMu5gjIfwVnOUGq2nbTjTUbmy0DJ/tFIVT30+Qe3nzl4TJg==", "dev": true, "optional": true, + "peer": true, "dependencies": { "growly": "^1.3.0", "is-wsl": "^2.2.0", @@ -38710,52 +41440,6 @@ "node": ">=8.0.0" } }, - "node_modules/request-promise-core": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.4.tgz", - "integrity": "sha512-TTbAfBBRdWD7aNNOoVOBH4pN/KigV6LyapYNNlAPA8JwbovRti1E88m3sYAwsLi5ryhPKsE9APwnjFTgdUjTpw==", - "dev": true, - "dependencies": { - "lodash": "^4.17.19" - }, - "engines": { - "node": ">=0.10.0" - }, - "peerDependencies": { - "request": "^2.34" - } - }, - "node_modules/request-promise-native": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.9.tgz", - "integrity": "sha512-wcW+sIUiWnKgNY0dqCpOZkUbF/I+YPi+f09JZIDa39Ec+q82CpSYniDp+ISgTTbKmnpJWASeJBPZmoxH84wt3g==", - "deprecated": "request-promise-native has been deprecated because it extends the now deprecated request package, see https://github.com/request/request/issues/3142", - "dev": true, - "dependencies": { - "request-promise-core": "1.1.4", - "stealthy-require": "^1.1.1", - "tough-cookie": "^2.3.3" - }, - "engines": { - "node": ">=0.12.0" - }, - "peerDependencies": { - "request": "^2.34" - } - }, - "node_modules/request-promise-native/node_modules/tough-cookie": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", - "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", - "dev": true, - "dependencies": { - "psl": "^1.1.28", - "punycode": "^2.1.1" - }, - "engines": { - "node": ">=0.8" - } - }, "node_modules/request/node_modules/qs": { "version": "6.5.2", "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", @@ -39237,15 +41921,6 @@ "node": ">= 4.0.0" } }, - "node_modules/rsvp": { - "version": "4.8.5", - "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-4.8.5.tgz", - "integrity": "sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA==", - "dev": true, - "engines": { - "node": "6.* || >= 7.*" - } - }, "node_modules/run-async": { "version": "2.4.1", "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", @@ -39333,305 +42008,6 @@ "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, - "node_modules/sane": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/sane/-/sane-4.1.0.tgz", - "integrity": "sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA==", - "dev": true, - "dependencies": { - "@cnakazawa/watch": "^1.0.3", - "anymatch": "^2.0.0", - "capture-exit": "^2.0.0", - "exec-sh": "^0.3.2", - "execa": "^1.0.0", - "fb-watchman": "^2.0.0", - "micromatch": "^3.1.4", - "minimist": "^1.1.1", - "walker": "~1.0.5" - }, - "bin": { - "sane": "src/cli.js" - }, - "engines": { - "node": "6.* || 8.* || >= 10.*" - } - }, - "node_modules/sane/node_modules/anymatch": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", - "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", - "dev": true, - "dependencies": { - "micromatch": "^3.1.4", - "normalize-path": "^2.1.1" - } - }, - "node_modules/sane/node_modules/braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "dev": true, - "dependencies": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/sane/node_modules/braces/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/sane/node_modules/cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", - "dev": true, - "dependencies": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - }, - "engines": { - "node": ">=4.8" - } - }, - "node_modules/sane/node_modules/execa": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", - "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", - "dev": true, - "dependencies": { - "cross-spawn": "^6.0.0", - "get-stream": "^4.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/sane/node_modules/fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", - "dev": true, - "dependencies": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/sane/node_modules/fill-range/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/sane/node_modules/get-stream": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", - "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", - "dev": true, - "dependencies": { - "pump": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/sane/node_modules/is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", - "dev": true - }, - "node_modules/sane/node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/sane/node_modules/is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dev": true, - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/sane/node_modules/is-number/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/sane/node_modules/is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/sane/node_modules/micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "dev": true, - "dependencies": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/sane/node_modules/normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", - "dev": true, - "dependencies": { - "remove-trailing-separator": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/sane/node_modules/npm-run-path": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", - "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", - "dev": true, - "dependencies": { - "path-key": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/sane/node_modules/path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/sane/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true, - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/sane/node_modules/shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", - "dev": true, - "dependencies": { - "shebang-regex": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/sane/node_modules/shebang-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/sane/node_modules/to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", - "dev": true, - "dependencies": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/sane/node_modules/which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dev": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "which": "bin/which" - } - }, "node_modules/sass": { "version": "1.34.0", "resolved": "https://registry.npmjs.org/sass/-/sass-1.34.0.tgz", @@ -40178,7 +42554,8 @@ "resolved": "https://registry.npmjs.org/shellwords/-/shellwords-0.1.1.tgz", "integrity": "sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==", "dev": true, - "optional": true + "optional": true, + "peer": true }, "node_modules/shimmer": { "version": "1.2.1", @@ -41025,6 +43402,7 @@ "version": "0.5.5", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "dev": true, "optional": true, "dependencies": { "minimist": "^1.2.5" @@ -41037,6 +43415,7 @@ "version": "3.8.0", "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-3.8.0.tgz", "integrity": "sha512-3g8lYefrRRzvGeSowdJKAKyks8oUpLEd/DyPV4eMhVlhJ0aNaZqIrNUIPuEWWTAoPqyFkfGrM67MC69baqn6vA==", + "dev": true, "optional": true, "dependencies": { "fstream": "^1.0.0", @@ -41063,6 +43442,7 @@ "version": "3.0.6", "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", + "dev": true, "optional": true, "dependencies": { "abbrev": "1" @@ -41075,6 +43455,7 @@ "version": "2.7.1", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, "optional": true, "dependencies": { "glob": "^7.1.3" @@ -41087,6 +43468,7 @@ "version": "5.3.0", "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz", "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=", + "dev": true, "optional": true, "bin": { "semver": "bin/semver" @@ -41096,6 +43478,7 @@ "version": "2.2.2", "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.2.tgz", "integrity": "sha512-FCEhQ/4rE1zYv9rYXJw/msRqsnmlje5jHP6huWeBZ704jUTy02c5AZyWujpMR1ax6mVw9NyJMfuK2CMDWVIfgA==", + "dev": true, "optional": true, "dependencies": { "block-stream": "*", @@ -41107,6 +43490,7 @@ "version": "1.3.1", "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, "optional": true, "dependencies": { "isexe": "^2.0.0" @@ -41382,15 +43766,6 @@ "integrity": "sha512-kdRWLBIJwdsYJWYJFtAFFYxybguqeF91qpZaggjG5Nf8QKdizFG2hjqvaTXbxFIcYbSaD74KpAXv6BSm17DHEQ==", "dev": true }, - "node_modules/stealthy-require": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz", - "integrity": "sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/stoppable": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/stoppable/-/stoppable-1.1.0.tgz", @@ -44100,9 +46475,9 @@ } }, "node_modules/throat": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/throat/-/throat-5.0.0.tgz", - "integrity": "sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/throat/-/throat-6.0.1.tgz", + "integrity": "sha512-8hmiGIJMDlwjg7dlJ4yKGLK8EsYqKgPWbG3b4wjJddKNwc7N7Dpn08Df4szr/sZdMVeOstrdYSsqzX6BYbcB+w==", "dev": true }, "node_modules/through": { @@ -44476,15 +46851,15 @@ "integrity": "sha512-gS9GVHRU+RGn5KQM2rllAlR3dU6m7AcpJKdtH8gFvQiC4Otgk98XnmMU+nZenHt/+VhnBPWwgrJsyrdcw6i23w==" }, "node_modules/ts-jest": { - "version": "26.5.6", - "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-26.5.6.tgz", - "integrity": "sha512-rua+rCP8DxpA8b4DQD/6X2HQS8Zy/xzViVYfEs2OQu68tkCuKLV0Md8pmX55+W24uRIyAsf/BajRfxOs+R2MKA==", + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-27.0.2.tgz", + "integrity": "sha512-pozjHOOfm+sbv9kXCvTFVyDntWvuJztzkNFql/akD75hSMZ2jsbidVauOhBRImAopXohqcLtPK/NTTIS8Y49Ug==", "dev": true, "dependencies": { "bs-logger": "0.x", "buffer-from": "1.x", "fast-json-stable-stringify": "2.x", - "jest-util": "^26.1.0", + "jest-util": "^27.0.0", "json5": "2.x", "lodash": "4.x", "make-error": "1.x", @@ -44496,13 +46871,73 @@ "ts-jest": "cli.js" }, "engines": { - "node": ">= 10" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" }, "peerDependencies": { - "jest": ">=26 <27", + "jest": "^27.0.0", "typescript": ">=3.8 <5.0" } }, + "node_modules/ts-jest/node_modules/@jest/types": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.0.2.tgz", + "integrity": "sha512-XpjCtJ/99HB4PmyJ2vgmN7vT+JLP7RW1FBT9RgnMFS4Dt7cvIyBee8O3/j98aUZ34ZpenPZFqmaaObWSeL65dg==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/ts-jest/node_modules/@types/yargs": { + "version": "16.0.3", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.3.tgz", + "integrity": "sha512-YlFfTGS+zqCgXuXNV26rOIeETOkXnGQXP/pjjL9P0gO/EP9jTmc7pUBhx+jVEIxpq41RX33GQ7N3DzOSfZoglQ==", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/ts-jest/node_modules/ci-info": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.2.0.tgz", + "integrity": "sha512-dVqRX7fLUm8J6FgHJ418XuIgDLZDkYcDFTeL6TA2gt5WlIZUQrrH6EZrNClwT/H0FateUsZkGIOPRrLbP+PR9A==", + "dev": true + }, + "node_modules/ts-jest/node_modules/is-ci": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-3.0.0.tgz", + "integrity": "sha512-kDXyttuLeslKAHYL/K28F2YkM3x5jvFPEw3yXbRptXydjD9rpLEz+C5K5iutY9ZiUu6AP41JdvRQwF4Iqs4ZCQ==", + "dev": true, + "dependencies": { + "ci-info": "^3.1.1" + }, + "bin": { + "is-ci": "bin.js" + } + }, + "node_modules/ts-jest/node_modules/jest-util": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.0.2.tgz", + "integrity": "sha512-1d9uH3a00OFGGWSibpNYr+jojZ6AckOMCXV2Z4K3YXDnzpkAaXQyIpY14FOJPiUmil7CD+A6Qs+lnnh6ctRbIA==", + "dev": true, + "dependencies": { + "@jest/types": "^27.0.2", + "@types/node": "*", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "is-ci": "^3.0.0", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, "node_modules/ts-loader": { "version": "6.2.2", "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-6.2.2.tgz", @@ -46021,9 +48456,9 @@ "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==" }, "node_modules/v8-to-istanbul": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-7.1.1.tgz", - "integrity": "sha512-p0BB09E5FRjx0ELN6RgusIPsSPhtgexSRcKETybEs6IGOTXJSZqfwxp7r//55nnu0f1AxltY5VvdVqy2vZf9AA==", + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-7.1.2.tgz", + "integrity": "sha512-TxNb7YEUwkLXCQYeudi6lgQ/SZrzNO4kMdlqVxaZPUIUjCv6iSSypUQX70kNBSERpQ8fk48+d61FXk+tgqcWow==", "dev": true, "dependencies": { "@types/istanbul-lib-coverage": "^2.0.1", @@ -49858,12 +52293,12 @@ "@types/jest": "^26.0.23", "@types/js-yaml": "^4.0.0", "@types/marked-terminal": "^3.1.1", - "jest": "^26.6.3", + "jest": "^27.0.3", "nock": "^13.0.10", "npm-run-all": "^4.1.5", "prettier": "^2.2.1", "rimraf": "^3.0.2", - "ts-jest": "^26.5.6", + "ts-jest": "^27.0.2", "ts-node": "^10.0.0", "typescript": "^4.2.2" } @@ -50121,9 +52556,9 @@ "@types/jest": "^26.0.22", "@types/node": "^15.6.0", "dotenv": "^9.0.2", - "jest": "^26.6.3", + "jest": "^27.0.3", "npm-run-all": "^4.1.5", - "ts-jest": "^26.5.6", + "ts-jest": "^27.0.2", "typescript": "^4.2.3" } }, @@ -50143,9 +52578,9 @@ "@types/normalize-path": "^3.0.0", "dotenv": "^9.0.2", "fs-extra": "^9.1.0", - "jest": "^26.6.3", + "jest": "^27.0.3", "npm-run-all": "^4.1.5", - "ts-jest": "^26.5.6", + "ts-jest": "^27.0.2", "typescript": "^4.2.3" } }, @@ -50174,9 +52609,9 @@ "@types/node": "^15.6.0", "@types/normalize-path": "^3.0.0", "dotenv": "^9.0.2", - "jest": "^26.6.3", + "jest": "^27.0.3", "npm-run-all": "^4.1.5", - "ts-jest": "^26.5.6", + "ts-jest": "^27.0.2", "typescript": "^4.2.3" } }, @@ -50206,9 +52641,9 @@ "@types/normalize-path": "^3.0.0", "dotenv": "^9.0.2", "fs-extra": "^9.1.0", - "jest": "^26.6.3", + "jest": "^27.0.3", "npm-run-all": "^4.1.5", - "ts-jest": "^26.5.6", + "ts-jest": "^27.0.2", "typescript": "^4.2.3" } }, @@ -52931,7 +55366,7 @@ "@types/jest": "^26.0.22", "argon2": "^0.27.1", "dotenv": "^9.0.2", - "jest": "^26.6.3", + "jest": "^27.0.3", "jest-environment-jsdom": "^26.6.2", "jest-environment-jsdom-global": "^2.0.4", "mockdate": "^3.0.5", @@ -52943,7 +55378,7 @@ "rollup-plugin-sourcemaps": "^0.6.3", "rollup-plugin-terser": "^7.0.2", "rollup-plugin-typescript2": "^0.30.0", - "ts-jest": "^26.5.6", + "ts-jest": "^27.0.2", "ts-node": "^10.0.0", "typescript": "^4.2.2" } @@ -54014,7 +56449,6 @@ "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.12.13.tgz", "integrity": "sha512-cHP3u1JiUiG2LFDKbXnwVad81GvfyIOmCD6HIEId6ojrY0Drfy2q1jw7BwN7dE84+kTnBjLkXoL3IEy/3JPu2w==", - "peer": true, "requires": { "@babel/helper-plugin-utils": "^7.12.13" } @@ -55490,16 +57924,6 @@ } } }, - "@cnakazawa/watch": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@cnakazawa/watch/-/watch-1.0.4.tgz", - "integrity": "sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ==", - "dev": true, - "requires": { - "exec-sh": "^0.3.2", - "minimist": "^1.2.0" - } - }, "@directus/app": { "version": "file:app", "requires": { @@ -55640,7 +58064,7 @@ "gluegun": "^4.6.1", "indent-string": "^5.0.0", "jaro-winkler": "^0.2.8", - "jest": "^26.6.3", + "jest": "^27.0.3", "joi": "^17.4.0", "js-yaml": "^4.1.0", "json5": "^2.2.0", @@ -55657,7 +58081,7 @@ "shimmer": "^1.2.1", "strip-ansi": "^7.0.0", "strip-indent": "^4.0.0", - "ts-jest": "^26.5.6", + "ts-jest": "^27.0.2", "ts-node": "^10.0.0", "typescript": "^4.2.2", "yargs": "^17.0.1", @@ -55816,10 +58240,10 @@ "@types/node": "^15.6.0", "dotenv": "^9.0.2", "fs-extra": "^9.1.0", - "jest": "^26.6.3", + "jest": "^27.0.3", "node-exceptions": "^4.0.1", "npm-run-all": "^4.1.5", - "ts-jest": "^26.5.6", + "ts-jest": "^27.0.2", "typescript": "^4.2.3" }, "dependencies": { @@ -55842,10 +58266,10 @@ "@types/normalize-path": "^3.0.0", "dotenv": "^9.0.2", "fs-extra": "^9.1.0", - "jest": "^26.6.3", + "jest": "^27.0.3", "normalize-path": "^3.0.0", "npm-run-all": "^4.1.5", - "ts-jest": "^26.5.6", + "ts-jest": "^27.0.2", "typescript": "^4.2.3" }, "dependencies": { @@ -55868,10 +58292,10 @@ "@types/node": "^15.6.0", "@types/normalize-path": "^3.0.0", "dotenv": "^9.0.2", - "jest": "^26.6.3", + "jest": "^27.0.3", "normalize-path": "^3.0.0", "npm-run-all": "^4.1.5", - "ts-jest": "^26.5.6", + "ts-jest": "^27.0.2", "typescript": "^4.2.3" }, "dependencies": { @@ -55895,10 +58319,10 @@ "aws-sdk": "^2.911.0", "dotenv": "^9.0.2", "fs-extra": "^9.1.0", - "jest": "^26.6.3", + "jest": "^27.0.3", "normalize-path": "^3.0.0", "npm-run-all": "^4.1.5", - "ts-jest": "^26.5.6", + "ts-jest": "^27.0.2", "typescript": "^4.2.3" }, "dependencies": { @@ -57992,7 +60416,7 @@ "argon2": "^0.27.1", "axios": "^0.21.1", "dotenv": "^9.0.2", - "jest": "^26.6.3", + "jest": "^27.0.3", "jest-environment-jsdom": "^26.6.2", "jest-environment-jsdom-global": "^2.0.4", "mockdate": "^3.0.5", @@ -58004,7 +60428,7 @@ "rollup-plugin-sourcemaps": "^0.6.3", "rollup-plugin-terser": "^7.0.2", "rollup-plugin-typescript2": "^0.30.0", - "ts-jest": "^26.5.6", + "ts-jest": "^27.0.2", "ts-node": "^10.0.0", "typescript": "^4.2.2" }, @@ -58765,53 +61189,248 @@ "dev": true }, "@jest/console": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-26.6.2.tgz", - "integrity": "sha512-IY1R2i2aLsLr7Id3S6p2BA82GNWryt4oSvEXLAKc+L2zdi89dSkE8xC1C+0kpATG4JhBJREnQOH7/zmccM2B0g==", + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-27.0.2.tgz", + "integrity": "sha512-/zYigssuHLImGeMAACkjI4VLAiiJznHgAl3xnFT19iWyct2LhrH3KXOjHRmxBGTkiPLZKKAJAgaPpiU9EZ9K+w==", "dev": true, "requires": { - "@jest/types": "^26.6.2", + "@jest/types": "^27.0.2", "@types/node": "*", "chalk": "^4.0.0", - "jest-message-util": "^26.6.2", - "jest-util": "^26.6.2", + "jest-message-util": "^27.0.2", + "jest-util": "^27.0.2", "slash": "^3.0.0" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz", + "integrity": "sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==", + "dev": true, + "requires": { + "@babel/highlight": "^7.12.13" + } + }, + "@jest/types": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.0.2.tgz", + "integrity": "sha512-XpjCtJ/99HB4PmyJ2vgmN7vT+JLP7RW1FBT9RgnMFS4Dt7cvIyBee8O3/j98aUZ34ZpenPZFqmaaObWSeL65dg==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.3", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.3.tgz", + "integrity": "sha512-YlFfTGS+zqCgXuXNV26rOIeETOkXnGQXP/pjjL9P0gO/EP9jTmc7pUBhx+jVEIxpq41RX33GQ7N3DzOSfZoglQ==", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } + }, + "ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true + }, + "ci-info": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.2.0.tgz", + "integrity": "sha512-dVqRX7fLUm8J6FgHJ418XuIgDLZDkYcDFTeL6TA2gt5WlIZUQrrH6EZrNClwT/H0FateUsZkGIOPRrLbP+PR9A==", + "dev": true + }, + "is-ci": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-3.0.0.tgz", + "integrity": "sha512-kDXyttuLeslKAHYL/K28F2YkM3x5jvFPEw3yXbRptXydjD9rpLEz+C5K5iutY9ZiUu6AP41JdvRQwF4Iqs4ZCQ==", + "dev": true, + "requires": { + "ci-info": "^3.1.1" + } + }, + "jest-message-util": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.0.2.tgz", + "integrity": "sha512-rTqWUX42ec2LdMkoUPOzrEd1Tcm+R1KfLOmFK+OVNo4MnLsEaxO5zPDb2BbdSmthdM/IfXxOZU60P/WbWF8BTw==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^27.0.2", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "micromatch": "^4.0.4", + "pretty-format": "^27.0.2", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + } + }, + "jest-util": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.0.2.tgz", + "integrity": "sha512-1d9uH3a00OFGGWSibpNYr+jojZ6AckOMCXV2Z4K3YXDnzpkAaXQyIpY14FOJPiUmil7CD+A6Qs+lnnh6ctRbIA==", + "dev": true, + "requires": { + "@jest/types": "^27.0.2", + "@types/node": "*", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "is-ci": "^3.0.0", + "picomatch": "^2.2.3" + } + }, + "pretty-format": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.0.2.tgz", + "integrity": "sha512-mXKbbBPnYTG7Yra9qFBtqj+IXcsvxsvOBco3QHxtxTl+hHKq6QdzMZ+q0CtL4ORHZgwGImRr2XZUX2EWzORxig==", + "dev": true, + "requires": { + "@jest/types": "^27.0.2", + "ansi-regex": "^5.0.0", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" + } + } } }, "@jest/core": { - "version": "26.6.3", - "resolved": "https://registry.npmjs.org/@jest/core/-/core-26.6.3.tgz", - "integrity": "sha512-xvV1kKbhfUqFVuZ8Cyo+JPpipAHHAV3kcDBftiduK8EICXmTFddryy3P7NfZt8Pv37rA9nEJBKCCkglCPt/Xjw==", + "version": "27.0.3", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-27.0.3.tgz", + "integrity": "sha512-rN8lr/OJ8iApcQUh4khnMaOCVX4oRnLwy2tPW3Vh70y62K8Da8fhkxMUq0xX9VPa4+yWUm0tGc/jUSJi+Jzuwg==", "dev": true, "requires": { - "@jest/console": "^26.6.2", - "@jest/reporters": "^26.6.2", - "@jest/test-result": "^26.6.2", - "@jest/transform": "^26.6.2", - "@jest/types": "^26.6.2", + "@jest/console": "^27.0.2", + "@jest/reporters": "^27.0.2", + "@jest/test-result": "^27.0.2", + "@jest/transform": "^27.0.2", + "@jest/types": "^27.0.2", "@types/node": "*", "ansi-escapes": "^4.2.1", "chalk": "^4.0.0", + "emittery": "^0.8.1", "exit": "^0.1.2", "graceful-fs": "^4.2.4", - "jest-changed-files": "^26.6.2", - "jest-config": "^26.6.3", - "jest-haste-map": "^26.6.2", - "jest-message-util": "^26.6.2", - "jest-regex-util": "^26.0.0", - "jest-resolve": "^26.6.2", - "jest-resolve-dependencies": "^26.6.3", - "jest-runner": "^26.6.3", - "jest-runtime": "^26.6.3", - "jest-snapshot": "^26.6.2", - "jest-util": "^26.6.2", - "jest-validate": "^26.6.2", - "jest-watcher": "^26.6.2", - "micromatch": "^4.0.2", + "jest-changed-files": "^27.0.2", + "jest-config": "^27.0.3", + "jest-haste-map": "^27.0.2", + "jest-message-util": "^27.0.2", + "jest-regex-util": "^27.0.1", + "jest-resolve": "^27.0.2", + "jest-resolve-dependencies": "^27.0.3", + "jest-runner": "^27.0.3", + "jest-runtime": "^27.0.3", + "jest-snapshot": "^27.0.2", + "jest-util": "^27.0.2", + "jest-validate": "^27.0.2", + "jest-watcher": "^27.0.2", + "micromatch": "^4.0.4", "p-each-series": "^2.1.0", "rimraf": "^3.0.0", "slash": "^3.0.0", "strip-ansi": "^6.0.0" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz", + "integrity": "sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==", + "dev": true, + "requires": { + "@babel/highlight": "^7.12.13" + } + }, + "@jest/types": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.0.2.tgz", + "integrity": "sha512-XpjCtJ/99HB4PmyJ2vgmN7vT+JLP7RW1FBT9RgnMFS4Dt7cvIyBee8O3/j98aUZ34ZpenPZFqmaaObWSeL65dg==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.3", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.3.tgz", + "integrity": "sha512-YlFfTGS+zqCgXuXNV26rOIeETOkXnGQXP/pjjL9P0gO/EP9jTmc7pUBhx+jVEIxpq41RX33GQ7N3DzOSfZoglQ==", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } + }, + "ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true + }, + "ci-info": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.2.0.tgz", + "integrity": "sha512-dVqRX7fLUm8J6FgHJ418XuIgDLZDkYcDFTeL6TA2gt5WlIZUQrrH6EZrNClwT/H0FateUsZkGIOPRrLbP+PR9A==", + "dev": true + }, + "is-ci": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-3.0.0.tgz", + "integrity": "sha512-kDXyttuLeslKAHYL/K28F2YkM3x5jvFPEw3yXbRptXydjD9rpLEz+C5K5iutY9ZiUu6AP41JdvRQwF4Iqs4ZCQ==", + "dev": true, + "requires": { + "ci-info": "^3.1.1" + } + }, + "jest-message-util": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.0.2.tgz", + "integrity": "sha512-rTqWUX42ec2LdMkoUPOzrEd1Tcm+R1KfLOmFK+OVNo4MnLsEaxO5zPDb2BbdSmthdM/IfXxOZU60P/WbWF8BTw==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^27.0.2", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "micromatch": "^4.0.4", + "pretty-format": "^27.0.2", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + } + }, + "jest-util": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.0.2.tgz", + "integrity": "sha512-1d9uH3a00OFGGWSibpNYr+jojZ6AckOMCXV2Z4K3YXDnzpkAaXQyIpY14FOJPiUmil7CD+A6Qs+lnnh6ctRbIA==", + "dev": true, + "requires": { + "@jest/types": "^27.0.2", + "@types/node": "*", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "is-ci": "^3.0.0", + "picomatch": "^2.2.3" + } + }, + "pretty-format": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.0.2.tgz", + "integrity": "sha512-mXKbbBPnYTG7Yra9qFBtqj+IXcsvxsvOBco3QHxtxTl+hHKq6QdzMZ+q0CtL4ORHZgwGImRr2XZUX2EWzORxig==", + "dev": true, + "requires": { + "@jest/types": "^27.0.2", + "ansi-regex": "^5.0.0", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" + } + } } }, "@jest/environment": { @@ -58841,27 +61460,169 @@ } }, "@jest/globals": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-26.6.2.tgz", - "integrity": "sha512-85Ltnm7HlB/KesBUuALwQ68YTU72w9H2xW9FjZ1eL1U3lhtefjjl5c2MiUbpXt/i6LaPRvoOFJ22yCBSfQ0JIA==", + "version": "27.0.3", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-27.0.3.tgz", + "integrity": "sha512-OzsIuf7uf+QalqAGbjClyezzEcLQkdZ+7PejUrZgDs+okdAK8GwRCGcYCirHvhMBBQh60Jr3NlIGbn/KBPQLEQ==", "dev": true, "requires": { - "@jest/environment": "^26.6.2", - "@jest/types": "^26.6.2", - "expect": "^26.6.2" + "@jest/environment": "^27.0.3", + "@jest/types": "^27.0.2", + "expect": "^27.0.2" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz", + "integrity": "sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==", + "dev": true, + "requires": { + "@babel/highlight": "^7.12.13" + } + }, + "@jest/environment": { + "version": "27.0.3", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-27.0.3.tgz", + "integrity": "sha512-pN9m7fbKsop5vc3FOfH8NF7CKKdRbEZzcxfIo1n2TT6ucKWLFq0P6gCJH0GpnQp036++yY9utHOxpeT1WnkWTA==", + "dev": true, + "requires": { + "@jest/fake-timers": "^27.0.3", + "@jest/types": "^27.0.2", + "@types/node": "*", + "jest-mock": "^27.0.3" + } + }, + "@jest/fake-timers": { + "version": "27.0.3", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-27.0.3.tgz", + "integrity": "sha512-fQ+UCKRIYKvTCEOyKPnaPnomLATIhMnHC/xPZ7yT1Uldp7yMgMxoYIFidDbpSTgB79+/U+FgfoD30c6wg3IUjA==", + "dev": true, + "requires": { + "@jest/types": "^27.0.2", + "@sinonjs/fake-timers": "^7.0.2", + "@types/node": "*", + "jest-message-util": "^27.0.2", + "jest-mock": "^27.0.3", + "jest-util": "^27.0.2" + } + }, + "@jest/types": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.0.2.tgz", + "integrity": "sha512-XpjCtJ/99HB4PmyJ2vgmN7vT+JLP7RW1FBT9RgnMFS4Dt7cvIyBee8O3/j98aUZ34ZpenPZFqmaaObWSeL65dg==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@sinonjs/fake-timers": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-7.1.2.tgz", + "integrity": "sha512-iQADsW4LBMISqZ6Ci1dupJL9pprqwcVFTcOsEmQOEhW+KLCVn/Y4Jrvg2k19fIHCp+iFprriYPTdRcQR8NbUPg==", + "dev": true, + "requires": { + "@sinonjs/commons": "^1.7.0" + } + }, + "@types/yargs": { + "version": "16.0.3", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.3.tgz", + "integrity": "sha512-YlFfTGS+zqCgXuXNV26rOIeETOkXnGQXP/pjjL9P0gO/EP9jTmc7pUBhx+jVEIxpq41RX33GQ7N3DzOSfZoglQ==", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } + }, + "ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true + }, + "ci-info": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.2.0.tgz", + "integrity": "sha512-dVqRX7fLUm8J6FgHJ418XuIgDLZDkYcDFTeL6TA2gt5WlIZUQrrH6EZrNClwT/H0FateUsZkGIOPRrLbP+PR9A==", + "dev": true + }, + "is-ci": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-3.0.0.tgz", + "integrity": "sha512-kDXyttuLeslKAHYL/K28F2YkM3x5jvFPEw3yXbRptXydjD9rpLEz+C5K5iutY9ZiUu6AP41JdvRQwF4Iqs4ZCQ==", + "dev": true, + "requires": { + "ci-info": "^3.1.1" + } + }, + "jest-message-util": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.0.2.tgz", + "integrity": "sha512-rTqWUX42ec2LdMkoUPOzrEd1Tcm+R1KfLOmFK+OVNo4MnLsEaxO5zPDb2BbdSmthdM/IfXxOZU60P/WbWF8BTw==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^27.0.2", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "micromatch": "^4.0.4", + "pretty-format": "^27.0.2", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + } + }, + "jest-mock": { + "version": "27.0.3", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-27.0.3.tgz", + "integrity": "sha512-O5FZn5XDzEp+Xg28mUz4ovVcdwBBPfAhW9+zJLO0Efn2qNbYcDaJvSlRiQ6BCZUCVOJjALicuJQI9mRFjv1o9Q==", + "dev": true, + "requires": { + "@jest/types": "^27.0.2", + "@types/node": "*" + } + }, + "jest-util": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.0.2.tgz", + "integrity": "sha512-1d9uH3a00OFGGWSibpNYr+jojZ6AckOMCXV2Z4K3YXDnzpkAaXQyIpY14FOJPiUmil7CD+A6Qs+lnnh6ctRbIA==", + "dev": true, + "requires": { + "@jest/types": "^27.0.2", + "@types/node": "*", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "is-ci": "^3.0.0", + "picomatch": "^2.2.3" + } + }, + "pretty-format": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.0.2.tgz", + "integrity": "sha512-mXKbbBPnYTG7Yra9qFBtqj+IXcsvxsvOBco3QHxtxTl+hHKq6QdzMZ+q0CtL4ORHZgwGImRr2XZUX2EWzORxig==", + "dev": true, + "requires": { + "@jest/types": "^27.0.2", + "ansi-regex": "^5.0.0", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" + } + } } }, "@jest/reporters": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-26.6.2.tgz", - "integrity": "sha512-h2bW53APG4HvkOnVMo8q3QXa6pcaNt1HkwVsOPMBV6LD/q9oSpxNSYZQYkAnjdMjrJ86UuYeLo+aEZClV6opnw==", + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-27.0.2.tgz", + "integrity": "sha512-SVQjew/kafNxSN1my4praGQP+VPVGHsU8zqiEDppLvq6j1lryIjdNb9P+bZSsKeifU4bIoaPnf9Ui0tK9WOpFA==", "dev": true, "requires": { "@bcoe/v8-coverage": "^0.2.3", - "@jest/console": "^26.6.2", - "@jest/test-result": "^26.6.2", - "@jest/transform": "^26.6.2", - "@jest/types": "^26.6.2", + "@jest/console": "^27.0.2", + "@jest/test-result": "^27.0.2", + "@jest/transform": "^27.0.2", + "@jest/types": "^27.0.2", "chalk": "^4.0.0", "collect-v8-coverage": "^1.0.0", "exit": "^0.1.2", @@ -58872,22 +61633,94 @@ "istanbul-lib-report": "^3.0.0", "istanbul-lib-source-maps": "^4.0.0", "istanbul-reports": "^3.0.2", - "jest-haste-map": "^26.6.2", - "jest-resolve": "^26.6.2", - "jest-util": "^26.6.2", - "jest-worker": "^26.6.2", - "node-notifier": "^8.0.0", + "jest-haste-map": "^27.0.2", + "jest-resolve": "^27.0.2", + "jest-util": "^27.0.2", + "jest-worker": "^27.0.2", "slash": "^3.0.0", "source-map": "^0.6.0", "string-length": "^4.0.1", "terminal-link": "^2.0.0", "v8-to-istanbul": "^7.0.0" + }, + "dependencies": { + "@jest/types": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.0.2.tgz", + "integrity": "sha512-XpjCtJ/99HB4PmyJ2vgmN7vT+JLP7RW1FBT9RgnMFS4Dt7cvIyBee8O3/j98aUZ34ZpenPZFqmaaObWSeL65dg==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.3", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.3.tgz", + "integrity": "sha512-YlFfTGS+zqCgXuXNV26rOIeETOkXnGQXP/pjjL9P0gO/EP9jTmc7pUBhx+jVEIxpq41RX33GQ7N3DzOSfZoglQ==", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } + }, + "ci-info": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.2.0.tgz", + "integrity": "sha512-dVqRX7fLUm8J6FgHJ418XuIgDLZDkYcDFTeL6TA2gt5WlIZUQrrH6EZrNClwT/H0FateUsZkGIOPRrLbP+PR9A==", + "dev": true + }, + "is-ci": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-3.0.0.tgz", + "integrity": "sha512-kDXyttuLeslKAHYL/K28F2YkM3x5jvFPEw3yXbRptXydjD9rpLEz+C5K5iutY9ZiUu6AP41JdvRQwF4Iqs4ZCQ==", + "dev": true, + "requires": { + "ci-info": "^3.1.1" + } + }, + "jest-util": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.0.2.tgz", + "integrity": "sha512-1d9uH3a00OFGGWSibpNYr+jojZ6AckOMCXV2Z4K3YXDnzpkAaXQyIpY14FOJPiUmil7CD+A6Qs+lnnh6ctRbIA==", + "dev": true, + "requires": { + "@jest/types": "^27.0.2", + "@types/node": "*", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "is-ci": "^3.0.0", + "picomatch": "^2.2.3" + } + }, + "jest-worker": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.0.2.tgz", + "integrity": "sha512-EoBdilOTTyOgmHXtw/cPc+ZrCA0KJMrkXzkrPGNwLmnvvlN1nj7MPrxpT7m+otSv2e1TLaVffzDnE/LB14zJMg==", + "dev": true, + "requires": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + } + }, + "supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } } }, "@jest/source-map": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-26.6.2.tgz", - "integrity": "sha512-YwYcCwAnNmOVsZ8mr3GfnzdXDAl4LaenZP5z+G0c8bzC9/dugL8zRmxZzdoTl4IaS3CryS1uWnROLPFmb6lVvA==", + "version": "27.0.1", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-27.0.1.tgz", + "integrity": "sha512-yMgkF0f+6WJtDMdDYNavmqvbHtiSpwRN2U/W+6uztgfqgkq/PXdKPqjBTUF1RD/feth4rH5N3NW0T5+wIuln1A==", "dev": true, "requires": { "callsites": "^3.0.0", @@ -58896,51 +61729,127 @@ } }, "@jest/test-result": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-26.6.2.tgz", - "integrity": "sha512-5O7H5c/7YlojphYNrK02LlDIV2GNPYisKwHm2QTKjNZeEzezCbwYs9swJySv2UfPMyZ0VdsmMv7jIlD/IKYQpQ==", + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-27.0.2.tgz", + "integrity": "sha512-gcdWwL3yP5VaIadzwQtbZyZMgpmes8ryBAJp70tuxghiA8qL4imJyZex+i+USQH2H4jeLVVszhwntgdQ97fccA==", "dev": true, "requires": { - "@jest/console": "^26.6.2", - "@jest/types": "^26.6.2", + "@jest/console": "^27.0.2", + "@jest/types": "^27.0.2", "@types/istanbul-lib-coverage": "^2.0.0", "collect-v8-coverage": "^1.0.0" + }, + "dependencies": { + "@jest/types": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.0.2.tgz", + "integrity": "sha512-XpjCtJ/99HB4PmyJ2vgmN7vT+JLP7RW1FBT9RgnMFS4Dt7cvIyBee8O3/j98aUZ34ZpenPZFqmaaObWSeL65dg==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.3", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.3.tgz", + "integrity": "sha512-YlFfTGS+zqCgXuXNV26rOIeETOkXnGQXP/pjjL9P0gO/EP9jTmc7pUBhx+jVEIxpq41RX33GQ7N3DzOSfZoglQ==", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } + } } }, "@jest/test-sequencer": { - "version": "26.6.3", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-26.6.3.tgz", - "integrity": "sha512-YHlVIjP5nfEyjlrSr8t/YdNfU/1XEt7c5b4OxcXCjyRhjzLYu/rO69/WHPuYcbCWkz8kAeZVZp2N2+IOLLEPGw==", + "version": "27.0.3", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-27.0.3.tgz", + "integrity": "sha512-DcLTzraZ8xLr5fcIl+CF14vKeBBpBrn55wFxI9Ju+dhEBdjRdJQ/Z/pLkMehkPZWIQ+rR23J8e+wFDkfjree0Q==", "dev": true, "requires": { - "@jest/test-result": "^26.6.2", + "@jest/test-result": "^27.0.2", "graceful-fs": "^4.2.4", - "jest-haste-map": "^26.6.2", - "jest-runner": "^26.6.3", - "jest-runtime": "^26.6.3" + "jest-haste-map": "^27.0.2", + "jest-runtime": "^27.0.3" } }, "@jest/transform": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-26.6.2.tgz", - "integrity": "sha512-E9JjhUgNzvuQ+vVAL21vlyfy12gP0GhazGgJC4h6qUt1jSdUXGWJ1wfu/X7Sd8etSgxV4ovT1pb9v5D6QW4XgA==", + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-27.0.2.tgz", + "integrity": "sha512-H8sqKlgtDfVog/s9I4GG2XMbi4Ar7RBxjsKQDUhn2XHAi3NG+GoQwWMER+YfantzExbjNqQvqBHzo/G2pfTiPw==", "dev": true, "requires": { "@babel/core": "^7.1.0", - "@jest/types": "^26.6.2", + "@jest/types": "^27.0.2", "babel-plugin-istanbul": "^6.0.0", "chalk": "^4.0.0", "convert-source-map": "^1.4.0", "fast-json-stable-stringify": "^2.0.0", "graceful-fs": "^4.2.4", - "jest-haste-map": "^26.6.2", - "jest-regex-util": "^26.0.0", - "jest-util": "^26.6.2", - "micromatch": "^4.0.2", + "jest-haste-map": "^27.0.2", + "jest-regex-util": "^27.0.1", + "jest-util": "^27.0.2", + "micromatch": "^4.0.4", "pirates": "^4.0.1", "slash": "^3.0.0", "source-map": "^0.6.1", "write-file-atomic": "^3.0.0" + }, + "dependencies": { + "@jest/types": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.0.2.tgz", + "integrity": "sha512-XpjCtJ/99HB4PmyJ2vgmN7vT+JLP7RW1FBT9RgnMFS4Dt7cvIyBee8O3/j98aUZ34ZpenPZFqmaaObWSeL65dg==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.3", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.3.tgz", + "integrity": "sha512-YlFfTGS+zqCgXuXNV26rOIeETOkXnGQXP/pjjL9P0gO/EP9jTmc7pUBhx+jVEIxpq41RX33GQ7N3DzOSfZoglQ==", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } + }, + "ci-info": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.2.0.tgz", + "integrity": "sha512-dVqRX7fLUm8J6FgHJ418XuIgDLZDkYcDFTeL6TA2gt5WlIZUQrrH6EZrNClwT/H0FateUsZkGIOPRrLbP+PR9A==", + "dev": true + }, + "is-ci": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-3.0.0.tgz", + "integrity": "sha512-kDXyttuLeslKAHYL/K28F2YkM3x5jvFPEw3yXbRptXydjD9rpLEz+C5K5iutY9ZiUu6AP41JdvRQwF4Iqs4ZCQ==", + "dev": true, + "requires": { + "ci-info": "^3.1.1" + } + }, + "jest-util": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.0.2.tgz", + "integrity": "sha512-1d9uH3a00OFGGWSibpNYr+jojZ6AckOMCXV2Z4K3YXDnzpkAaXQyIpY14FOJPiUmil7CD+A6Qs+lnnh6ctRbIA==", + "dev": true, + "requires": { + "@jest/types": "^27.0.2", + "@types/node": "*", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "is-ci": "^3.0.0", + "picomatch": "^2.2.3" + } + } } }, "@jest/types": { @@ -60219,6 +63128,7 @@ "resolved": "https://registry.npmjs.org/@oclif/command/-/command-1.8.0.tgz", "integrity": "sha512-5vwpq6kbvwkQwKqAoOU3L72GZ3Ta8RRrewKj9OJRolx28KLJJ8Dg9Rf7obRwt5jQA9bkYd8gqzMTrI7H3xLfaw==", "requires": { + "@oclif/config": "^1.15.1", "@oclif/errors": "^1.3.3", "@oclif/parser": "^3.8.3", "@oclif/plugin-help": "^3", @@ -62371,6 +65281,7 @@ "integrity": "sha512-pM7CR3yXB6L8Gfn6EmX7FLNE3+V/15I3o33GkSNsWvgsMp6HVGXKkXgojrcfUUauyL1LZOdvTmu4enU2RePGHw==", "dev": true, "requires": { + "@babel/core": "^7.11.0", "@babel/helper-compilation-targets": "^7.9.6", "@babel/helper-module-imports": "^7.8.3", "@babel/plugin-proposal-class-properties": "^7.8.3", @@ -62383,6 +65294,7 @@ "@vue/babel-plugin-jsx": "^1.0.3", "@vue/babel-preset-jsx": "^1.2.4", "babel-plugin-dynamic-import-node": "^2.3.3", + "core-js": "^3.6.5", "core-js-compat": "^3.6.5", "semver": "^6.1.0" }, @@ -66042,19 +68954,43 @@ } }, "babel-jest": { - "version": "26.6.3", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-26.6.3.tgz", - "integrity": "sha512-pl4Q+GAVOHwvjrck6jKjvmGhnO3jHX/xuB9d27f+EJZ/6k+6nMuPjorrYp7s++bKKdANwzElBWnLWaObvTnaZA==", + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-27.0.2.tgz", + "integrity": "sha512-9OThPl3/IQbo4Yul2vMz4FYwILPQak8XelX4YGowygfHaOl5R5gfjm4iVx4d8aUugkW683t8aq0A74E7b5DU1Q==", "dev": true, "requires": { - "@jest/transform": "^26.6.2", - "@jest/types": "^26.6.2", - "@types/babel__core": "^7.1.7", + "@jest/transform": "^27.0.2", + "@jest/types": "^27.0.2", + "@types/babel__core": "^7.1.14", "babel-plugin-istanbul": "^6.0.0", - "babel-preset-jest": "^26.6.2", + "babel-preset-jest": "^27.0.1", "chalk": "^4.0.0", "graceful-fs": "^4.2.4", "slash": "^3.0.0" + }, + "dependencies": { + "@jest/types": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.0.2.tgz", + "integrity": "sha512-XpjCtJ/99HB4PmyJ2vgmN7vT+JLP7RW1FBT9RgnMFS4Dt7cvIyBee8O3/j98aUZ34ZpenPZFqmaaObWSeL65dg==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.3", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.3.tgz", + "integrity": "sha512-YlFfTGS+zqCgXuXNV26rOIeETOkXnGQXP/pjjL9P0gO/EP9jTmc7pUBhx+jVEIxpq41RX33GQ7N3DzOSfZoglQ==", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } + } } }, "babel-loader": { @@ -66096,9 +69032,9 @@ } }, "babel-plugin-jest-hoist": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-26.6.2.tgz", - "integrity": "sha512-PO9t0697lNTmcEHH69mdtYiOIkkOlj9fySqfO3K1eCcdISevLAE0xY59VLLUj0SoiPiTX/JU2CYFpILydUa5Lw==", + "version": "27.0.1", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.0.1.tgz", + "integrity": "sha512-sqBF0owAcCDBVEDtxqfYr2F36eSHdx7lAVGyYuOBRnKdD6gzcy0I0XrAYCZgOA3CRrLhmR+Uae9nogPzmAtOfQ==", "dev": true, "requires": { "@babel/template": "^7.3.3", @@ -66237,12 +69173,12 @@ } }, "babel-preset-jest": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-26.6.2.tgz", - "integrity": "sha512-YvdtlVm9t3k777c5NPQIv6cxFFFapys25HiUmuSgHwIZhfifweR5c5Sf5nwE3MAbfu327CYSvps8Yx6ANLyleQ==", + "version": "27.0.1", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-27.0.1.tgz", + "integrity": "sha512-nIBIqCEpuiyhvjQs2mVNwTxQQa2xk70p9Dd/0obQGBf8FBzbnI8QhQKzLsWMN2i6q+5B0OcWDtrboBX5gmOLyA==", "dev": true, "requires": { - "babel-plugin-jest-hoist": "^26.6.2", + "babel-plugin-jest-hoist": "^27.0.1", "babel-preset-current-node-syntax": "^1.0.0" } }, @@ -66434,6 +69370,7 @@ "version": "0.0.9", "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz", "integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=", + "dev": true, "optional": true, "requires": { "inherits": "~2.0.0" @@ -67099,15 +70036,6 @@ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001208.tgz", "integrity": "sha512-OE5UE4+nBOro8Dyvv0lfx+SRtfVIOM9uhKqFmJeUbGriqhhStgp1A0OyBpgy3OUF8AhYCT+PVwPC1gMl2ZcQMA==" }, - "capture-exit": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/capture-exit/-/capture-exit-2.0.0.tgz", - "integrity": "sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g==", - "dev": true, - "requires": { - "rsvp": "^4.8.4" - } - }, "cardinal": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/cardinal/-/cardinal-2.1.1.tgz", @@ -67220,9 +70148,9 @@ } }, "cjs-module-lexer": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-0.6.0.tgz", - "integrity": "sha512-uc2Vix1frTfnuzxxu1Hp4ktSvM3QaI4oXl4ZUqL1wjTu/BGki9TrCWoqLTg/drR1KwAEarXuRFCG2Svr1GxPFw==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.1.tgz", + "integrity": "sha512-jVamGdJPDeuQilKhvVn1h3knuMOZzr8QDnpk+M9aMlCaMkTDd6fBWPhiDqFvFZ07pL0liqabAiuy8SY4jGHeaw==", "dev": true }, "class-utils": { @@ -70624,9 +73552,9 @@ } }, "emittery": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.7.2.tgz", - "integrity": "sha512-A8OG5SR/ij3SsJdWDJdkkSYUjQdCUx6APQXem0SaEePBSRg4eymGYwBkKo1Y6DU+af/Jn2dBQqDBvjnr9Vi8nQ==", + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.8.1.tgz", + "integrity": "sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg==", "dev": true }, "emoji-regex": { @@ -71798,12 +74726,6 @@ "safe-buffer": "^5.1.1" } }, - "exec-sh": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/exec-sh/-/exec-sh-0.3.6.tgz", - "integrity": "sha512-nQn+hI3yp+oD0huYhKwvYI32+JFeq+XkNcD1GAo3Y/MjxsfVGmrrzrnzjWiNY6f+pUCP440fThsFh5gZrRAU/w==", - "dev": true - }, "execa": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", @@ -71960,17 +74882,91 @@ } }, "expect": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/expect/-/expect-26.6.2.tgz", - "integrity": "sha512-9/hlOBkQl2l/PLHJx6JjoDF6xPKcJEsUlWKb23rKE7KzeDqUZKXKNMW27KIue5JMdBV9HgmoJPcc8HtO85t9IA==", + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/expect/-/expect-27.0.2.tgz", + "integrity": "sha512-YJFNJe2+P2DqH+ZrXy+ydRQYO87oxRUonZImpDodR1G7qo3NYd3pL+NQ9Keqpez3cehczYwZDBC3A7xk3n7M/w==", "dev": true, "requires": { - "@jest/types": "^26.6.2", - "ansi-styles": "^4.0.0", - "jest-get-type": "^26.3.0", - "jest-matcher-utils": "^26.6.2", - "jest-message-util": "^26.6.2", - "jest-regex-util": "^26.0.0" + "@jest/types": "^27.0.2", + "ansi-styles": "^5.0.0", + "jest-get-type": "^27.0.1", + "jest-matcher-utils": "^27.0.2", + "jest-message-util": "^27.0.2", + "jest-regex-util": "^27.0.1" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz", + "integrity": "sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==", + "dev": true, + "requires": { + "@babel/highlight": "^7.12.13" + } + }, + "@jest/types": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.0.2.tgz", + "integrity": "sha512-XpjCtJ/99HB4PmyJ2vgmN7vT+JLP7RW1FBT9RgnMFS4Dt7cvIyBee8O3/j98aUZ34ZpenPZFqmaaObWSeL65dg==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.3", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.3.tgz", + "integrity": "sha512-YlFfTGS+zqCgXuXNV26rOIeETOkXnGQXP/pjjL9P0gO/EP9jTmc7pUBhx+jVEIxpq41RX33GQ7N3DzOSfZoglQ==", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } + }, + "ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true + }, + "jest-get-type": { + "version": "27.0.1", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.0.1.tgz", + "integrity": "sha512-9Tggo9zZbu0sHKebiAijyt1NM77Z0uO4tuWOxUCujAiSeXv30Vb5D4xVF4UR4YWNapcftj+PbByU54lKD7/xMg==", + "dev": true + }, + "jest-message-util": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.0.2.tgz", + "integrity": "sha512-rTqWUX42ec2LdMkoUPOzrEd1Tcm+R1KfLOmFK+OVNo4MnLsEaxO5zPDb2BbdSmthdM/IfXxOZU60P/WbWF8BTw==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^27.0.2", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "micromatch": "^4.0.4", + "pretty-format": "^27.0.2", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + } + }, + "pretty-format": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.0.2.tgz", + "integrity": "sha512-mXKbbBPnYTG7Yra9qFBtqj+IXcsvxsvOBco3QHxtxTl+hHKq6QdzMZ+q0CtL4ORHZgwGImRr2XZUX2EWzORxig==", + "dev": true, + "requires": { + "@jest/types": "^27.0.2", + "ansi-regex": "^5.0.0", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" + } + } } }, "express": { @@ -73118,6 +76114,7 @@ "version": "1.0.12", "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.12.tgz", "integrity": "sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg==", + "dev": true, "optional": true, "requires": { "graceful-fs": "^4.1.2", @@ -73130,6 +76127,7 @@ "version": "0.5.5", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "dev": true, "optional": true, "requires": { "minimist": "^1.2.5" @@ -73139,6 +76137,7 @@ "version": "2.7.1", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, "optional": true, "requires": { "glob": "^7.1.3" @@ -76179,7 +79178,8 @@ "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz", "integrity": "sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE=", "dev": true, - "optional": true + "optional": true, + "peer": true }, "gtoken": { "version": "5.2.1", @@ -77947,72 +80947,544 @@ "dev": true }, "jest": { - "version": "26.6.3", - "resolved": "https://registry.npmjs.org/jest/-/jest-26.6.3.tgz", - "integrity": "sha512-lGS5PXGAzR4RF7V5+XObhqz2KZIDUA1yD0DG6pBVmy10eh0ZIXQImRuzocsI/N2XZ1GrLFwTS27In2i2jlpq1Q==", + "version": "27.0.3", + "resolved": "https://registry.npmjs.org/jest/-/jest-27.0.3.tgz", + "integrity": "sha512-0G9+QqXFIZWgf5rs3yllpaA+13ZawVHfyuhuCV1EnoFbX++rVMRrYWCAnk+dfhwyv9/VTQvn+XG969u8aPRsBg==", "dev": true, "requires": { - "@jest/core": "^26.6.3", + "@jest/core": "^27.0.3", "import-local": "^3.0.2", - "jest-cli": "^26.6.3" + "jest-cli": "^27.0.3" } }, "jest-changed-files": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-26.6.2.tgz", - "integrity": "sha512-fDS7szLcY9sCtIip8Fjry9oGf3I2ht/QT21bAHm5Dmf0mD4X3ReNUf17y+bO6fR8WgbIZTlbyG1ak/53cbRzKQ==", + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-27.0.2.tgz", + "integrity": "sha512-eMeb1Pn7w7x3wue5/vF73LPCJ7DKQuC9wQUR5ebP9hDPpk5hzcT/3Hmz3Q5BOFpR3tgbmaWhJcMTVgC8Z1NuMw==", "dev": true, "requires": { - "@jest/types": "^26.6.2", - "execa": "^4.0.0", - "throat": "^5.0.0" + "@jest/types": "^27.0.2", + "execa": "^5.0.0", + "throat": "^6.0.1" + }, + "dependencies": { + "@jest/types": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.0.2.tgz", + "integrity": "sha512-XpjCtJ/99HB4PmyJ2vgmN7vT+JLP7RW1FBT9RgnMFS4Dt7cvIyBee8O3/j98aUZ34ZpenPZFqmaaObWSeL65dg==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.3", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.3.tgz", + "integrity": "sha512-YlFfTGS+zqCgXuXNV26rOIeETOkXnGQXP/pjjL9P0gO/EP9jTmc7pUBhx+jVEIxpq41RX33GQ7N3DzOSfZoglQ==", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } + }, + "execa": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.0.1.tgz", + "integrity": "sha512-4hFTjFbFzQa3aCLobpbPJR/U+VoL1wdV5ozOWjeet0AWDeYr9UFGM1eUFWHX+VtOWFq4p0xXUXfW1YxUaP4fpw==", + "dev": true, + "requires": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + } + }, + "get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "dev": true + }, + "human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "dev": true + } + } + }, + "jest-circus": { + "version": "27.0.3", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-27.0.3.tgz", + "integrity": "sha512-tdMfzs7SgD5l7jRcI1iB3vtQi5fHwCgo4RlO8bzZnYc05PZ+tlAOMZeS8eGYkZ2tPaRY/aRLMFWQp/8zXBrolQ==", + "dev": true, + "requires": { + "@jest/environment": "^27.0.3", + "@jest/test-result": "^27.0.2", + "@jest/types": "^27.0.2", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "dedent": "^0.7.0", + "expect": "^27.0.2", + "is-generator-fn": "^2.0.0", + "jest-each": "^27.0.2", + "jest-matcher-utils": "^27.0.2", + "jest-message-util": "^27.0.2", + "jest-runtime": "^27.0.3", + "jest-snapshot": "^27.0.2", + "jest-util": "^27.0.2", + "pretty-format": "^27.0.2", + "slash": "^3.0.0", + "stack-utils": "^2.0.3", + "throat": "^6.0.1" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz", + "integrity": "sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==", + "dev": true, + "requires": { + "@babel/highlight": "^7.12.13" + } + }, + "@jest/environment": { + "version": "27.0.3", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-27.0.3.tgz", + "integrity": "sha512-pN9m7fbKsop5vc3FOfH8NF7CKKdRbEZzcxfIo1n2TT6ucKWLFq0P6gCJH0GpnQp036++yY9utHOxpeT1WnkWTA==", + "dev": true, + "requires": { + "@jest/fake-timers": "^27.0.3", + "@jest/types": "^27.0.2", + "@types/node": "*", + "jest-mock": "^27.0.3" + } + }, + "@jest/fake-timers": { + "version": "27.0.3", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-27.0.3.tgz", + "integrity": "sha512-fQ+UCKRIYKvTCEOyKPnaPnomLATIhMnHC/xPZ7yT1Uldp7yMgMxoYIFidDbpSTgB79+/U+FgfoD30c6wg3IUjA==", + "dev": true, + "requires": { + "@jest/types": "^27.0.2", + "@sinonjs/fake-timers": "^7.0.2", + "@types/node": "*", + "jest-message-util": "^27.0.2", + "jest-mock": "^27.0.3", + "jest-util": "^27.0.2" + } + }, + "@jest/types": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.0.2.tgz", + "integrity": "sha512-XpjCtJ/99HB4PmyJ2vgmN7vT+JLP7RW1FBT9RgnMFS4Dt7cvIyBee8O3/j98aUZ34ZpenPZFqmaaObWSeL65dg==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@sinonjs/fake-timers": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-7.1.2.tgz", + "integrity": "sha512-iQADsW4LBMISqZ6Ci1dupJL9pprqwcVFTcOsEmQOEhW+KLCVn/Y4Jrvg2k19fIHCp+iFprriYPTdRcQR8NbUPg==", + "dev": true, + "requires": { + "@sinonjs/commons": "^1.7.0" + } + }, + "@types/yargs": { + "version": "16.0.3", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.3.tgz", + "integrity": "sha512-YlFfTGS+zqCgXuXNV26rOIeETOkXnGQXP/pjjL9P0gO/EP9jTmc7pUBhx+jVEIxpq41RX33GQ7N3DzOSfZoglQ==", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } + }, + "ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true + }, + "ci-info": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.2.0.tgz", + "integrity": "sha512-dVqRX7fLUm8J6FgHJ418XuIgDLZDkYcDFTeL6TA2gt5WlIZUQrrH6EZrNClwT/H0FateUsZkGIOPRrLbP+PR9A==", + "dev": true + }, + "is-ci": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-3.0.0.tgz", + "integrity": "sha512-kDXyttuLeslKAHYL/K28F2YkM3x5jvFPEw3yXbRptXydjD9rpLEz+C5K5iutY9ZiUu6AP41JdvRQwF4Iqs4ZCQ==", + "dev": true, + "requires": { + "ci-info": "^3.1.1" + } + }, + "jest-message-util": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.0.2.tgz", + "integrity": "sha512-rTqWUX42ec2LdMkoUPOzrEd1Tcm+R1KfLOmFK+OVNo4MnLsEaxO5zPDb2BbdSmthdM/IfXxOZU60P/WbWF8BTw==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^27.0.2", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "micromatch": "^4.0.4", + "pretty-format": "^27.0.2", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + } + }, + "jest-mock": { + "version": "27.0.3", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-27.0.3.tgz", + "integrity": "sha512-O5FZn5XDzEp+Xg28mUz4ovVcdwBBPfAhW9+zJLO0Efn2qNbYcDaJvSlRiQ6BCZUCVOJjALicuJQI9mRFjv1o9Q==", + "dev": true, + "requires": { + "@jest/types": "^27.0.2", + "@types/node": "*" + } + }, + "jest-util": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.0.2.tgz", + "integrity": "sha512-1d9uH3a00OFGGWSibpNYr+jojZ6AckOMCXV2Z4K3YXDnzpkAaXQyIpY14FOJPiUmil7CD+A6Qs+lnnh6ctRbIA==", + "dev": true, + "requires": { + "@jest/types": "^27.0.2", + "@types/node": "*", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "is-ci": "^3.0.0", + "picomatch": "^2.2.3" + } + }, + "pretty-format": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.0.2.tgz", + "integrity": "sha512-mXKbbBPnYTG7Yra9qFBtqj+IXcsvxsvOBco3QHxtxTl+hHKq6QdzMZ+q0CtL4ORHZgwGImRr2XZUX2EWzORxig==", + "dev": true, + "requires": { + "@jest/types": "^27.0.2", + "ansi-regex": "^5.0.0", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" + } + } } }, "jest-cli": { - "version": "26.6.3", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-26.6.3.tgz", - "integrity": "sha512-GF9noBSa9t08pSyl3CY4frMrqp+aQXFGFkf5hEPbh/pIUFYWMK6ZLTfbmadxJVcJrdRoChlWQsA2VkJcDFK8hg==", + "version": "27.0.3", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-27.0.3.tgz", + "integrity": "sha512-7bt9Sgv4nWH5pUnyJfdLf8CHWfo4+7lSPxeBwQx4r0vBj9jweJam/piE2U91SXtQI+ckm+TIN97OVnqIYpVhSg==", "dev": true, "requires": { - "@jest/core": "^26.6.3", - "@jest/test-result": "^26.6.2", - "@jest/types": "^26.6.2", + "@jest/core": "^27.0.3", + "@jest/test-result": "^27.0.2", + "@jest/types": "^27.0.2", "chalk": "^4.0.0", "exit": "^0.1.2", "graceful-fs": "^4.2.4", "import-local": "^3.0.2", - "is-ci": "^2.0.0", - "jest-config": "^26.6.3", - "jest-util": "^26.6.2", - "jest-validate": "^26.6.2", + "jest-config": "^27.0.3", + "jest-util": "^27.0.2", + "jest-validate": "^27.0.2", "prompts": "^2.0.1", - "yargs": "^15.4.1" + "yargs": "^16.0.3" + }, + "dependencies": { + "@jest/types": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.0.2.tgz", + "integrity": "sha512-XpjCtJ/99HB4PmyJ2vgmN7vT+JLP7RW1FBT9RgnMFS4Dt7cvIyBee8O3/j98aUZ34ZpenPZFqmaaObWSeL65dg==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.3", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.3.tgz", + "integrity": "sha512-YlFfTGS+zqCgXuXNV26rOIeETOkXnGQXP/pjjL9P0gO/EP9jTmc7pUBhx+jVEIxpq41RX33GQ7N3DzOSfZoglQ==", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } + }, + "ci-info": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.2.0.tgz", + "integrity": "sha512-dVqRX7fLUm8J6FgHJ418XuIgDLZDkYcDFTeL6TA2gt5WlIZUQrrH6EZrNClwT/H0FateUsZkGIOPRrLbP+PR9A==", + "dev": true + }, + "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, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "is-ci": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-3.0.0.tgz", + "integrity": "sha512-kDXyttuLeslKAHYL/K28F2YkM3x5jvFPEw3yXbRptXydjD9rpLEz+C5K5iutY9ZiUu6AP41JdvRQwF4Iqs4ZCQ==", + "dev": true, + "requires": { + "ci-info": "^3.1.1" + } + }, + "jest-util": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.0.2.tgz", + "integrity": "sha512-1d9uH3a00OFGGWSibpNYr+jojZ6AckOMCXV2Z4K3YXDnzpkAaXQyIpY14FOJPiUmil7CD+A6Qs+lnnh6ctRbIA==", + "dev": true, + "requires": { + "@jest/types": "^27.0.2", + "@types/node": "*", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "is-ci": "^3.0.0", + "picomatch": "^2.2.3" + } + }, + "y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true + }, + "yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dev": true, + "requires": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + } + } } }, "jest-config": { - "version": "26.6.3", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-26.6.3.tgz", - "integrity": "sha512-t5qdIj/bCj2j7NFVHb2nFB4aUdfucDn3JRKgrZnplb8nieAirAzRSHP8uDEd+qV6ygzg9Pz4YG7UTJf94LPSyg==", + "version": "27.0.3", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-27.0.3.tgz", + "integrity": "sha512-zgtI2YQo+ekKsmYNyDlXFY/7w7WWBSJFoj/WRe173WB88CDUrEYWr0sLdbLOQe+sRu6l1Y2S0MCS6BOJm5jkoA==", "dev": true, "requires": { "@babel/core": "^7.1.0", - "@jest/test-sequencer": "^26.6.3", - "@jest/types": "^26.6.2", - "babel-jest": "^26.6.3", + "@jest/test-sequencer": "^27.0.3", + "@jest/types": "^27.0.2", + "babel-jest": "^27.0.2", "chalk": "^4.0.0", "deepmerge": "^4.2.2", "glob": "^7.1.1", "graceful-fs": "^4.2.4", - "jest-environment-jsdom": "^26.6.2", - "jest-environment-node": "^26.6.2", - "jest-get-type": "^26.3.0", - "jest-jasmine2": "^26.6.3", - "jest-regex-util": "^26.0.0", - "jest-resolve": "^26.6.2", - "jest-util": "^26.6.2", - "jest-validate": "^26.6.2", - "micromatch": "^4.0.2", - "pretty-format": "^26.6.2" + "is-ci": "^3.0.0", + "jest-circus": "^27.0.3", + "jest-environment-jsdom": "^27.0.3", + "jest-environment-node": "^27.0.3", + "jest-get-type": "^27.0.1", + "jest-jasmine2": "^27.0.3", + "jest-regex-util": "^27.0.1", + "jest-resolve": "^27.0.2", + "jest-runner": "^27.0.3", + "jest-util": "^27.0.2", + "jest-validate": "^27.0.2", + "micromatch": "^4.0.4", + "pretty-format": "^27.0.2" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz", + "integrity": "sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==", + "dev": true, + "requires": { + "@babel/highlight": "^7.12.13" + } + }, + "@jest/environment": { + "version": "27.0.3", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-27.0.3.tgz", + "integrity": "sha512-pN9m7fbKsop5vc3FOfH8NF7CKKdRbEZzcxfIo1n2TT6ucKWLFq0P6gCJH0GpnQp036++yY9utHOxpeT1WnkWTA==", + "dev": true, + "requires": { + "@jest/fake-timers": "^27.0.3", + "@jest/types": "^27.0.2", + "@types/node": "*", + "jest-mock": "^27.0.3" + } + }, + "@jest/fake-timers": { + "version": "27.0.3", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-27.0.3.tgz", + "integrity": "sha512-fQ+UCKRIYKvTCEOyKPnaPnomLATIhMnHC/xPZ7yT1Uldp7yMgMxoYIFidDbpSTgB79+/U+FgfoD30c6wg3IUjA==", + "dev": true, + "requires": { + "@jest/types": "^27.0.2", + "@sinonjs/fake-timers": "^7.0.2", + "@types/node": "*", + "jest-message-util": "^27.0.2", + "jest-mock": "^27.0.3", + "jest-util": "^27.0.2" + } + }, + "@jest/types": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.0.2.tgz", + "integrity": "sha512-XpjCtJ/99HB4PmyJ2vgmN7vT+JLP7RW1FBT9RgnMFS4Dt7cvIyBee8O3/j98aUZ34ZpenPZFqmaaObWSeL65dg==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@sinonjs/fake-timers": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-7.1.2.tgz", + "integrity": "sha512-iQADsW4LBMISqZ6Ci1dupJL9pprqwcVFTcOsEmQOEhW+KLCVn/Y4Jrvg2k19fIHCp+iFprriYPTdRcQR8NbUPg==", + "dev": true, + "requires": { + "@sinonjs/commons": "^1.7.0" + } + }, + "@types/yargs": { + "version": "16.0.3", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.3.tgz", + "integrity": "sha512-YlFfTGS+zqCgXuXNV26rOIeETOkXnGQXP/pjjL9P0gO/EP9jTmc7pUBhx+jVEIxpq41RX33GQ7N3DzOSfZoglQ==", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } + }, + "ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true + }, + "ci-info": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.2.0.tgz", + "integrity": "sha512-dVqRX7fLUm8J6FgHJ418XuIgDLZDkYcDFTeL6TA2gt5WlIZUQrrH6EZrNClwT/H0FateUsZkGIOPRrLbP+PR9A==", + "dev": true + }, + "is-ci": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-3.0.0.tgz", + "integrity": "sha512-kDXyttuLeslKAHYL/K28F2YkM3x5jvFPEw3yXbRptXydjD9rpLEz+C5K5iutY9ZiUu6AP41JdvRQwF4Iqs4ZCQ==", + "dev": true, + "requires": { + "ci-info": "^3.1.1" + } + }, + "jest-environment-jsdom": { + "version": "27.0.3", + "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-27.0.3.tgz", + "integrity": "sha512-5KLmgv1bhiimpSA8oGTnZYk6g4fsNyZiA/6gI2tAZUgrufd7heRUSVh4gRokzZVEj8zlwAQYT0Zs6tuJSW/ECA==", + "dev": true, + "requires": { + "@jest/environment": "^27.0.3", + "@jest/fake-timers": "^27.0.3", + "@jest/types": "^27.0.2", + "@types/node": "*", + "jest-mock": "^27.0.3", + "jest-util": "^27.0.2", + "jsdom": "^16.6.0" + } + }, + "jest-get-type": { + "version": "27.0.1", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.0.1.tgz", + "integrity": "sha512-9Tggo9zZbu0sHKebiAijyt1NM77Z0uO4tuWOxUCujAiSeXv30Vb5D4xVF4UR4YWNapcftj+PbByU54lKD7/xMg==", + "dev": true + }, + "jest-message-util": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.0.2.tgz", + "integrity": "sha512-rTqWUX42ec2LdMkoUPOzrEd1Tcm+R1KfLOmFK+OVNo4MnLsEaxO5zPDb2BbdSmthdM/IfXxOZU60P/WbWF8BTw==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^27.0.2", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "micromatch": "^4.0.4", + "pretty-format": "^27.0.2", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + } + }, + "jest-mock": { + "version": "27.0.3", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-27.0.3.tgz", + "integrity": "sha512-O5FZn5XDzEp+Xg28mUz4ovVcdwBBPfAhW9+zJLO0Efn2qNbYcDaJvSlRiQ6BCZUCVOJjALicuJQI9mRFjv1o9Q==", + "dev": true, + "requires": { + "@jest/types": "^27.0.2", + "@types/node": "*" + } + }, + "jest-util": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.0.2.tgz", + "integrity": "sha512-1d9uH3a00OFGGWSibpNYr+jojZ6AckOMCXV2Z4K3YXDnzpkAaXQyIpY14FOJPiUmil7CD+A6Qs+lnnh6ctRbIA==", + "dev": true, + "requires": { + "@jest/types": "^27.0.2", + "@types/node": "*", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "is-ci": "^3.0.0", + "picomatch": "^2.2.3" + } + }, + "pretty-format": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.0.2.tgz", + "integrity": "sha512-mXKbbBPnYTG7Yra9qFBtqj+IXcsvxsvOBco3QHxtxTl+hHKq6QdzMZ+q0CtL4ORHZgwGImRr2XZUX2EWzORxig==", + "dev": true, + "requires": { + "@jest/types": "^27.0.2", + "ansi-regex": "^5.0.0", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" + } + } } }, "jest-diff": { @@ -78028,25 +81500,102 @@ } }, "jest-docblock": { - "version": "26.0.0", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-26.0.0.tgz", - "integrity": "sha512-RDZ4Iz3QbtRWycd8bUEPxQsTlYazfYn/h5R65Fc6gOfwozFhoImx+affzky/FFBuqISPTqjXomoIGJVKBWoo0w==", + "version": "27.0.1", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-27.0.1.tgz", + "integrity": "sha512-TA4+21s3oebURc7VgFV4r7ltdIJ5rtBH1E3Tbovcg7AV+oLfD5DcJ2V2vJ5zFA9sL5CFd/d2D6IpsAeSheEdrA==", "dev": true, "requires": { "detect-newline": "^3.0.0" } }, "jest-each": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-26.6.2.tgz", - "integrity": "sha512-Mer/f0KaATbjl8MCJ+0GEpNdqmnVmDYqCTJYTvoo7rqmRiDllmp2AYN+06F93nXcY3ur9ShIjS+CO/uD+BbH4A==", + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-27.0.2.tgz", + "integrity": "sha512-OLMBZBZ6JkoXgUenDtseFRWA43wVl2BwmZYIWQws7eS7pqsIvePqj/jJmEnfq91ALk3LNphgwNK/PRFBYi7ITQ==", "dev": true, "requires": { - "@jest/types": "^26.6.2", + "@jest/types": "^27.0.2", "chalk": "^4.0.0", - "jest-get-type": "^26.3.0", - "jest-util": "^26.6.2", - "pretty-format": "^26.6.2" + "jest-get-type": "^27.0.1", + "jest-util": "^27.0.2", + "pretty-format": "^27.0.2" + }, + "dependencies": { + "@jest/types": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.0.2.tgz", + "integrity": "sha512-XpjCtJ/99HB4PmyJ2vgmN7vT+JLP7RW1FBT9RgnMFS4Dt7cvIyBee8O3/j98aUZ34ZpenPZFqmaaObWSeL65dg==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.3", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.3.tgz", + "integrity": "sha512-YlFfTGS+zqCgXuXNV26rOIeETOkXnGQXP/pjjL9P0gO/EP9jTmc7pUBhx+jVEIxpq41RX33GQ7N3DzOSfZoglQ==", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } + }, + "ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true + }, + "ci-info": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.2.0.tgz", + "integrity": "sha512-dVqRX7fLUm8J6FgHJ418XuIgDLZDkYcDFTeL6TA2gt5WlIZUQrrH6EZrNClwT/H0FateUsZkGIOPRrLbP+PR9A==", + "dev": true + }, + "is-ci": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-3.0.0.tgz", + "integrity": "sha512-kDXyttuLeslKAHYL/K28F2YkM3x5jvFPEw3yXbRptXydjD9rpLEz+C5K5iutY9ZiUu6AP41JdvRQwF4Iqs4ZCQ==", + "dev": true, + "requires": { + "ci-info": "^3.1.1" + } + }, + "jest-get-type": { + "version": "27.0.1", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.0.1.tgz", + "integrity": "sha512-9Tggo9zZbu0sHKebiAijyt1NM77Z0uO4tuWOxUCujAiSeXv30Vb5D4xVF4UR4YWNapcftj+PbByU54lKD7/xMg==", + "dev": true + }, + "jest-util": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.0.2.tgz", + "integrity": "sha512-1d9uH3a00OFGGWSibpNYr+jojZ6AckOMCXV2Z4K3YXDnzpkAaXQyIpY14FOJPiUmil7CD+A6Qs+lnnh6ctRbIA==", + "dev": true, + "requires": { + "@jest/types": "^27.0.2", + "@types/node": "*", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "is-ci": "^3.0.0", + "picomatch": "^2.2.3" + } + }, + "pretty-format": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.0.2.tgz", + "integrity": "sha512-mXKbbBPnYTG7Yra9qFBtqj+IXcsvxsvOBco3QHxtxTl+hHKq6QdzMZ+q0CtL4ORHZgwGImRr2XZUX2EWzORxig==", + "dev": true, + "requires": { + "@jest/types": "^27.0.2", + "ansi-regex": "^5.0.0", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" + } + } } }, "jest-environment-jsdom": { @@ -78072,17 +81621,159 @@ "requires": {} }, "jest-environment-node": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-26.6.2.tgz", - "integrity": "sha512-zhtMio3Exty18dy8ee8eJ9kjnRyZC1N4C1Nt/VShN1apyXc8rWGtJ9lI7vqiWcyyXS4BVSEn9lxAM2D+07/Tag==", + "version": "27.0.3", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-27.0.3.tgz", + "integrity": "sha512-co2/IVnIFL3cItpFULCvXFg9us4gvWXgs7mutAMPCbFhcqh56QAOdKhNzC2+RycsC/k4mbMj1VF+9F/NzA0ROg==", "dev": true, "requires": { - "@jest/environment": "^26.6.2", - "@jest/fake-timers": "^26.6.2", - "@jest/types": "^26.6.2", + "@jest/environment": "^27.0.3", + "@jest/fake-timers": "^27.0.3", + "@jest/types": "^27.0.2", "@types/node": "*", - "jest-mock": "^26.6.2", - "jest-util": "^26.6.2" + "jest-mock": "^27.0.3", + "jest-util": "^27.0.2" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz", + "integrity": "sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==", + "dev": true, + "requires": { + "@babel/highlight": "^7.12.13" + } + }, + "@jest/environment": { + "version": "27.0.3", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-27.0.3.tgz", + "integrity": "sha512-pN9m7fbKsop5vc3FOfH8NF7CKKdRbEZzcxfIo1n2TT6ucKWLFq0P6gCJH0GpnQp036++yY9utHOxpeT1WnkWTA==", + "dev": true, + "requires": { + "@jest/fake-timers": "^27.0.3", + "@jest/types": "^27.0.2", + "@types/node": "*", + "jest-mock": "^27.0.3" + } + }, + "@jest/fake-timers": { + "version": "27.0.3", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-27.0.3.tgz", + "integrity": "sha512-fQ+UCKRIYKvTCEOyKPnaPnomLATIhMnHC/xPZ7yT1Uldp7yMgMxoYIFidDbpSTgB79+/U+FgfoD30c6wg3IUjA==", + "dev": true, + "requires": { + "@jest/types": "^27.0.2", + "@sinonjs/fake-timers": "^7.0.2", + "@types/node": "*", + "jest-message-util": "^27.0.2", + "jest-mock": "^27.0.3", + "jest-util": "^27.0.2" + } + }, + "@jest/types": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.0.2.tgz", + "integrity": "sha512-XpjCtJ/99HB4PmyJ2vgmN7vT+JLP7RW1FBT9RgnMFS4Dt7cvIyBee8O3/j98aUZ34ZpenPZFqmaaObWSeL65dg==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@sinonjs/fake-timers": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-7.1.2.tgz", + "integrity": "sha512-iQADsW4LBMISqZ6Ci1dupJL9pprqwcVFTcOsEmQOEhW+KLCVn/Y4Jrvg2k19fIHCp+iFprriYPTdRcQR8NbUPg==", + "dev": true, + "requires": { + "@sinonjs/commons": "^1.7.0" + } + }, + "@types/yargs": { + "version": "16.0.3", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.3.tgz", + "integrity": "sha512-YlFfTGS+zqCgXuXNV26rOIeETOkXnGQXP/pjjL9P0gO/EP9jTmc7pUBhx+jVEIxpq41RX33GQ7N3DzOSfZoglQ==", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } + }, + "ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true + }, + "ci-info": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.2.0.tgz", + "integrity": "sha512-dVqRX7fLUm8J6FgHJ418XuIgDLZDkYcDFTeL6TA2gt5WlIZUQrrH6EZrNClwT/H0FateUsZkGIOPRrLbP+PR9A==", + "dev": true + }, + "is-ci": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-3.0.0.tgz", + "integrity": "sha512-kDXyttuLeslKAHYL/K28F2YkM3x5jvFPEw3yXbRptXydjD9rpLEz+C5K5iutY9ZiUu6AP41JdvRQwF4Iqs4ZCQ==", + "dev": true, + "requires": { + "ci-info": "^3.1.1" + } + }, + "jest-message-util": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.0.2.tgz", + "integrity": "sha512-rTqWUX42ec2LdMkoUPOzrEd1Tcm+R1KfLOmFK+OVNo4MnLsEaxO5zPDb2BbdSmthdM/IfXxOZU60P/WbWF8BTw==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^27.0.2", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "micromatch": "^4.0.4", + "pretty-format": "^27.0.2", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + } + }, + "jest-mock": { + "version": "27.0.3", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-27.0.3.tgz", + "integrity": "sha512-O5FZn5XDzEp+Xg28mUz4ovVcdwBBPfAhW9+zJLO0Efn2qNbYcDaJvSlRiQ6BCZUCVOJjALicuJQI9mRFjv1o9Q==", + "dev": true, + "requires": { + "@jest/types": "^27.0.2", + "@types/node": "*" + } + }, + "jest-util": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.0.2.tgz", + "integrity": "sha512-1d9uH3a00OFGGWSibpNYr+jojZ6AckOMCXV2Z4K3YXDnzpkAaXQyIpY14FOJPiUmil7CD+A6Qs+lnnh6ctRbIA==", + "dev": true, + "requires": { + "@jest/types": "^27.0.2", + "@types/node": "*", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "is-ci": "^3.0.0", + "picomatch": "^2.2.3" + } + }, + "pretty-format": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.0.2.tgz", + "integrity": "sha512-mXKbbBPnYTG7Yra9qFBtqj+IXcsvxsvOBco3QHxtxTl+hHKq6QdzMZ+q0CtL4ORHZgwGImRr2XZUX2EWzORxig==", + "dev": true, + "requires": { + "@jest/types": "^27.0.2", + "ansi-regex": "^5.0.0", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" + } + } } }, "jest-get-type": { @@ -78092,73 +81783,401 @@ "dev": true }, "jest-haste-map": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-26.6.2.tgz", - "integrity": "sha512-easWIJXIw71B2RdR8kgqpjQrbMRWQBgiBwXYEhtGUTaX+doCjBheluShdDMeR8IMfJiTqH4+zfhtg29apJf/8w==", + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.0.2.tgz", + "integrity": "sha512-37gYfrYjjhEfk37C4bCMWAC0oPBxDpG0qpl8lYg8BT//wf353YT/fzgA7+Dq0EtM7rPFS3JEcMsxdtDwNMi2cA==", "dev": true, "requires": { - "@jest/types": "^26.6.2", + "@jest/types": "^27.0.2", "@types/graceful-fs": "^4.1.2", "@types/node": "*", "anymatch": "^3.0.3", "fb-watchman": "^2.0.0", - "fsevents": "^2.1.2", + "fsevents": "^2.3.2", "graceful-fs": "^4.2.4", - "jest-regex-util": "^26.0.0", - "jest-serializer": "^26.6.2", - "jest-util": "^26.6.2", - "jest-worker": "^26.6.2", - "micromatch": "^4.0.2", - "sane": "^4.0.3", + "jest-regex-util": "^27.0.1", + "jest-serializer": "^27.0.1", + "jest-util": "^27.0.2", + "jest-worker": "^27.0.2", + "micromatch": "^4.0.4", "walker": "^1.0.7" + }, + "dependencies": { + "@jest/types": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.0.2.tgz", + "integrity": "sha512-XpjCtJ/99HB4PmyJ2vgmN7vT+JLP7RW1FBT9RgnMFS4Dt7cvIyBee8O3/j98aUZ34ZpenPZFqmaaObWSeL65dg==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.3", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.3.tgz", + "integrity": "sha512-YlFfTGS+zqCgXuXNV26rOIeETOkXnGQXP/pjjL9P0gO/EP9jTmc7pUBhx+jVEIxpq41RX33GQ7N3DzOSfZoglQ==", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } + }, + "ci-info": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.2.0.tgz", + "integrity": "sha512-dVqRX7fLUm8J6FgHJ418XuIgDLZDkYcDFTeL6TA2gt5WlIZUQrrH6EZrNClwT/H0FateUsZkGIOPRrLbP+PR9A==", + "dev": true + }, + "is-ci": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-3.0.0.tgz", + "integrity": "sha512-kDXyttuLeslKAHYL/K28F2YkM3x5jvFPEw3yXbRptXydjD9rpLEz+C5K5iutY9ZiUu6AP41JdvRQwF4Iqs4ZCQ==", + "dev": true, + "requires": { + "ci-info": "^3.1.1" + } + }, + "jest-util": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.0.2.tgz", + "integrity": "sha512-1d9uH3a00OFGGWSibpNYr+jojZ6AckOMCXV2Z4K3YXDnzpkAaXQyIpY14FOJPiUmil7CD+A6Qs+lnnh6ctRbIA==", + "dev": true, + "requires": { + "@jest/types": "^27.0.2", + "@types/node": "*", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "is-ci": "^3.0.0", + "picomatch": "^2.2.3" + } + }, + "jest-worker": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.0.2.tgz", + "integrity": "sha512-EoBdilOTTyOgmHXtw/cPc+ZrCA0KJMrkXzkrPGNwLmnvvlN1nj7MPrxpT7m+otSv2e1TLaVffzDnE/LB14zJMg==", + "dev": true, + "requires": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + } + }, + "supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } } }, "jest-jasmine2": { - "version": "26.6.3", - "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-26.6.3.tgz", - "integrity": "sha512-kPKUrQtc8aYwBV7CqBg5pu+tmYXlvFlSFYn18ev4gPFtrRzB15N2gW/Roew3187q2w2eHuu0MU9TJz6w0/nPEg==", + "version": "27.0.3", + "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-27.0.3.tgz", + "integrity": "sha512-odJ2ia8P5c+IsqOcWJPmku4AqbXIfTVLRjYTKHri3TEvbmTdLw0ghy13OAPIl/0v7cVH0TURK7+xFOHKDLvKIA==", "dev": true, "requires": { "@babel/traverse": "^7.1.0", - "@jest/environment": "^26.6.2", - "@jest/source-map": "^26.6.2", - "@jest/test-result": "^26.6.2", - "@jest/types": "^26.6.2", + "@jest/environment": "^27.0.3", + "@jest/source-map": "^27.0.1", + "@jest/test-result": "^27.0.2", + "@jest/types": "^27.0.2", "@types/node": "*", "chalk": "^4.0.0", "co": "^4.6.0", - "expect": "^26.6.2", + "expect": "^27.0.2", "is-generator-fn": "^2.0.0", - "jest-each": "^26.6.2", - "jest-matcher-utils": "^26.6.2", - "jest-message-util": "^26.6.2", - "jest-runtime": "^26.6.3", - "jest-snapshot": "^26.6.2", - "jest-util": "^26.6.2", - "pretty-format": "^26.6.2", - "throat": "^5.0.0" + "jest-each": "^27.0.2", + "jest-matcher-utils": "^27.0.2", + "jest-message-util": "^27.0.2", + "jest-runtime": "^27.0.3", + "jest-snapshot": "^27.0.2", + "jest-util": "^27.0.2", + "pretty-format": "^27.0.2", + "throat": "^6.0.1" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz", + "integrity": "sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==", + "dev": true, + "requires": { + "@babel/highlight": "^7.12.13" + } + }, + "@jest/environment": { + "version": "27.0.3", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-27.0.3.tgz", + "integrity": "sha512-pN9m7fbKsop5vc3FOfH8NF7CKKdRbEZzcxfIo1n2TT6ucKWLFq0P6gCJH0GpnQp036++yY9utHOxpeT1WnkWTA==", + "dev": true, + "requires": { + "@jest/fake-timers": "^27.0.3", + "@jest/types": "^27.0.2", + "@types/node": "*", + "jest-mock": "^27.0.3" + } + }, + "@jest/fake-timers": { + "version": "27.0.3", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-27.0.3.tgz", + "integrity": "sha512-fQ+UCKRIYKvTCEOyKPnaPnomLATIhMnHC/xPZ7yT1Uldp7yMgMxoYIFidDbpSTgB79+/U+FgfoD30c6wg3IUjA==", + "dev": true, + "requires": { + "@jest/types": "^27.0.2", + "@sinonjs/fake-timers": "^7.0.2", + "@types/node": "*", + "jest-message-util": "^27.0.2", + "jest-mock": "^27.0.3", + "jest-util": "^27.0.2" + } + }, + "@jest/types": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.0.2.tgz", + "integrity": "sha512-XpjCtJ/99HB4PmyJ2vgmN7vT+JLP7RW1FBT9RgnMFS4Dt7cvIyBee8O3/j98aUZ34ZpenPZFqmaaObWSeL65dg==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@sinonjs/fake-timers": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-7.1.2.tgz", + "integrity": "sha512-iQADsW4LBMISqZ6Ci1dupJL9pprqwcVFTcOsEmQOEhW+KLCVn/Y4Jrvg2k19fIHCp+iFprriYPTdRcQR8NbUPg==", + "dev": true, + "requires": { + "@sinonjs/commons": "^1.7.0" + } + }, + "@types/yargs": { + "version": "16.0.3", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.3.tgz", + "integrity": "sha512-YlFfTGS+zqCgXuXNV26rOIeETOkXnGQXP/pjjL9P0gO/EP9jTmc7pUBhx+jVEIxpq41RX33GQ7N3DzOSfZoglQ==", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } + }, + "ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true + }, + "ci-info": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.2.0.tgz", + "integrity": "sha512-dVqRX7fLUm8J6FgHJ418XuIgDLZDkYcDFTeL6TA2gt5WlIZUQrrH6EZrNClwT/H0FateUsZkGIOPRrLbP+PR9A==", + "dev": true + }, + "is-ci": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-3.0.0.tgz", + "integrity": "sha512-kDXyttuLeslKAHYL/K28F2YkM3x5jvFPEw3yXbRptXydjD9rpLEz+C5K5iutY9ZiUu6AP41JdvRQwF4Iqs4ZCQ==", + "dev": true, + "requires": { + "ci-info": "^3.1.1" + } + }, + "jest-message-util": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.0.2.tgz", + "integrity": "sha512-rTqWUX42ec2LdMkoUPOzrEd1Tcm+R1KfLOmFK+OVNo4MnLsEaxO5zPDb2BbdSmthdM/IfXxOZU60P/WbWF8BTw==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^27.0.2", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "micromatch": "^4.0.4", + "pretty-format": "^27.0.2", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + } + }, + "jest-mock": { + "version": "27.0.3", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-27.0.3.tgz", + "integrity": "sha512-O5FZn5XDzEp+Xg28mUz4ovVcdwBBPfAhW9+zJLO0Efn2qNbYcDaJvSlRiQ6BCZUCVOJjALicuJQI9mRFjv1o9Q==", + "dev": true, + "requires": { + "@jest/types": "^27.0.2", + "@types/node": "*" + } + }, + "jest-util": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.0.2.tgz", + "integrity": "sha512-1d9uH3a00OFGGWSibpNYr+jojZ6AckOMCXV2Z4K3YXDnzpkAaXQyIpY14FOJPiUmil7CD+A6Qs+lnnh6ctRbIA==", + "dev": true, + "requires": { + "@jest/types": "^27.0.2", + "@types/node": "*", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "is-ci": "^3.0.0", + "picomatch": "^2.2.3" + } + }, + "pretty-format": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.0.2.tgz", + "integrity": "sha512-mXKbbBPnYTG7Yra9qFBtqj+IXcsvxsvOBco3QHxtxTl+hHKq6QdzMZ+q0CtL4ORHZgwGImRr2XZUX2EWzORxig==", + "dev": true, + "requires": { + "@jest/types": "^27.0.2", + "ansi-regex": "^5.0.0", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" + } + } } }, "jest-leak-detector": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-26.6.2.tgz", - "integrity": "sha512-i4xlXpsVSMeKvg2cEKdfhh0H39qlJlP5Ex1yQxwF9ubahboQYMgTtz5oML35AVA3B4Eu+YsmwaiKVev9KCvLxg==", + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-27.0.2.tgz", + "integrity": "sha512-TZA3DmCOfe8YZFIMD1GxFqXUkQnIoOGQyy4hFCA2mlHtnAaf+FeOMxi0fZmfB41ZL+QbFG6BVaZF5IeFIVy53Q==", "dev": true, "requires": { - "jest-get-type": "^26.3.0", - "pretty-format": "^26.6.2" + "jest-get-type": "^27.0.1", + "pretty-format": "^27.0.2" + }, + "dependencies": { + "@jest/types": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.0.2.tgz", + "integrity": "sha512-XpjCtJ/99HB4PmyJ2vgmN7vT+JLP7RW1FBT9RgnMFS4Dt7cvIyBee8O3/j98aUZ34ZpenPZFqmaaObWSeL65dg==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.3", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.3.tgz", + "integrity": "sha512-YlFfTGS+zqCgXuXNV26rOIeETOkXnGQXP/pjjL9P0gO/EP9jTmc7pUBhx+jVEIxpq41RX33GQ7N3DzOSfZoglQ==", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } + }, + "ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true + }, + "jest-get-type": { + "version": "27.0.1", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.0.1.tgz", + "integrity": "sha512-9Tggo9zZbu0sHKebiAijyt1NM77Z0uO4tuWOxUCujAiSeXv30Vb5D4xVF4UR4YWNapcftj+PbByU54lKD7/xMg==", + "dev": true + }, + "pretty-format": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.0.2.tgz", + "integrity": "sha512-mXKbbBPnYTG7Yra9qFBtqj+IXcsvxsvOBco3QHxtxTl+hHKq6QdzMZ+q0CtL4ORHZgwGImRr2XZUX2EWzORxig==", + "dev": true, + "requires": { + "@jest/types": "^27.0.2", + "ansi-regex": "^5.0.0", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" + } + } } }, "jest-matcher-utils": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-26.6.2.tgz", - "integrity": "sha512-llnc8vQgYcNqDrqRDXWwMr9i7rS5XFiCwvh6DTP7Jqa2mqpcCBBlpCbn+trkG0KNhPu/h8rzyBkriOtBstvWhw==", + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.0.2.tgz", + "integrity": "sha512-Qczi5xnTNjkhcIB0Yy75Txt+Ez51xdhOxsukN7awzq2auZQGPHcQrJ623PZj0ECDEMOk2soxWx05EXdXGd1CbA==", "dev": true, "requires": { "chalk": "^4.0.0", - "jest-diff": "^26.6.2", - "jest-get-type": "^26.3.0", - "pretty-format": "^26.6.2" + "jest-diff": "^27.0.2", + "jest-get-type": "^27.0.1", + "pretty-format": "^27.0.2" + }, + "dependencies": { + "@jest/types": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.0.2.tgz", + "integrity": "sha512-XpjCtJ/99HB4PmyJ2vgmN7vT+JLP7RW1FBT9RgnMFS4Dt7cvIyBee8O3/j98aUZ34ZpenPZFqmaaObWSeL65dg==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.3", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.3.tgz", + "integrity": "sha512-YlFfTGS+zqCgXuXNV26rOIeETOkXnGQXP/pjjL9P0gO/EP9jTmc7pUBhx+jVEIxpq41RX33GQ7N3DzOSfZoglQ==", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } + }, + "ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true + }, + "diff-sequences": { + "version": "27.0.1", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.0.1.tgz", + "integrity": "sha512-XPLijkfJUh/PIBnfkcSHgvD6tlYixmcMAn3osTk6jt+H0v/mgURto1XUiD9DKuGX5NDoVS6dSlA23gd9FUaCFg==", + "dev": true + }, + "jest-diff": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.0.2.tgz", + "integrity": "sha512-BFIdRb0LqfV1hBt8crQmw6gGQHVDhM87SpMIZ45FPYKReZYG5er1+5pIn2zKqvrJp6WNox0ylR8571Iwk2Dmgw==", + "dev": true, + "requires": { + "chalk": "^4.0.0", + "diff-sequences": "^27.0.1", + "jest-get-type": "^27.0.1", + "pretty-format": "^27.0.2" + } + }, + "jest-get-type": { + "version": "27.0.1", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.0.1.tgz", + "integrity": "sha512-9Tggo9zZbu0sHKebiAijyt1NM77Z0uO4tuWOxUCujAiSeXv30Vb5D4xVF4UR4YWNapcftj+PbByU54lKD7/xMg==", + "dev": true + }, + "pretty-format": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.0.2.tgz", + "integrity": "sha512-mXKbbBPnYTG7Yra9qFBtqj+IXcsvxsvOBco3QHxtxTl+hHKq6QdzMZ+q0CtL4ORHZgwGImRr2XZUX2EWzORxig==", + "dev": true, + "requires": { + "@jest/types": "^27.0.2", + "ansi-regex": "^5.0.0", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" + } + } } }, "jest-message-util": { @@ -78196,105 +82215,518 @@ "requires": {} }, "jest-regex-util": { - "version": "26.0.0", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-26.0.0.tgz", - "integrity": "sha512-Gv3ZIs/nA48/Zvjrl34bf+oD76JHiGDUxNOVgUjh3j890sblXryjY4rss71fPtD/njchl6PSE2hIhvyWa1eT0A==", + "version": "27.0.1", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.0.1.tgz", + "integrity": "sha512-6nY6QVcpTgEKQy1L41P4pr3aOddneK17kn3HJw6SdwGiKfgCGTvH02hVXL0GU8GEKtPH83eD2DIDgxHXOxVohQ==", "dev": true }, "jest-resolve": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-26.6.2.tgz", - "integrity": "sha512-sOxsZOq25mT1wRsfHcbtkInS+Ek7Q8jCHUB0ZUTP0tc/c41QHriU/NunqMfCUWsL4H3MHpvQD4QR9kSYhS7UvQ==", + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-27.0.2.tgz", + "integrity": "sha512-rmfLGyZhwAUR5z3EwPAW7LQTorWAuCYCcsQJoQxT2it+BOgX3zKxa67r1pfpK3ihy2k9TjYD3/lMp5rPm/CL1Q==", "dev": true, "requires": { - "@jest/types": "^26.6.2", + "@jest/types": "^27.0.2", "chalk": "^4.0.0", + "escalade": "^3.1.1", "graceful-fs": "^4.2.4", "jest-pnp-resolver": "^1.2.2", - "jest-util": "^26.6.2", - "read-pkg-up": "^7.0.1", - "resolve": "^1.18.1", + "jest-util": "^27.0.2", + "jest-validate": "^27.0.2", + "resolve": "^1.20.0", "slash": "^3.0.0" + }, + "dependencies": { + "@jest/types": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.0.2.tgz", + "integrity": "sha512-XpjCtJ/99HB4PmyJ2vgmN7vT+JLP7RW1FBT9RgnMFS4Dt7cvIyBee8O3/j98aUZ34ZpenPZFqmaaObWSeL65dg==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.3", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.3.tgz", + "integrity": "sha512-YlFfTGS+zqCgXuXNV26rOIeETOkXnGQXP/pjjL9P0gO/EP9jTmc7pUBhx+jVEIxpq41RX33GQ7N3DzOSfZoglQ==", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } + }, + "ci-info": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.2.0.tgz", + "integrity": "sha512-dVqRX7fLUm8J6FgHJ418XuIgDLZDkYcDFTeL6TA2gt5WlIZUQrrH6EZrNClwT/H0FateUsZkGIOPRrLbP+PR9A==", + "dev": true + }, + "is-ci": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-3.0.0.tgz", + "integrity": "sha512-kDXyttuLeslKAHYL/K28F2YkM3x5jvFPEw3yXbRptXydjD9rpLEz+C5K5iutY9ZiUu6AP41JdvRQwF4Iqs4ZCQ==", + "dev": true, + "requires": { + "ci-info": "^3.1.1" + } + }, + "jest-util": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.0.2.tgz", + "integrity": "sha512-1d9uH3a00OFGGWSibpNYr+jojZ6AckOMCXV2Z4K3YXDnzpkAaXQyIpY14FOJPiUmil7CD+A6Qs+lnnh6ctRbIA==", + "dev": true, + "requires": { + "@jest/types": "^27.0.2", + "@types/node": "*", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "is-ci": "^3.0.0", + "picomatch": "^2.2.3" + } + } } }, "jest-resolve-dependencies": { - "version": "26.6.3", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-26.6.3.tgz", - "integrity": "sha512-pVwUjJkxbhe4RY8QEWzN3vns2kqyuldKpxlxJlzEYfKSvY6/bMvxoFrYYzUO1Gx28yKWN37qyV7rIoIp2h8fTg==", + "version": "27.0.3", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-27.0.3.tgz", + "integrity": "sha512-HdjWOvFAgT5CYChF2eiBN2rRKicjaTCCtA3EtH47REIdGzEHGUhYrWYgLahXsiOovvWN6edhcHL5WCa3gbc04A==", "dev": true, "requires": { - "@jest/types": "^26.6.2", - "jest-regex-util": "^26.0.0", - "jest-snapshot": "^26.6.2" + "@jest/types": "^27.0.2", + "jest-regex-util": "^27.0.1", + "jest-snapshot": "^27.0.2" + }, + "dependencies": { + "@jest/types": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.0.2.tgz", + "integrity": "sha512-XpjCtJ/99HB4PmyJ2vgmN7vT+JLP7RW1FBT9RgnMFS4Dt7cvIyBee8O3/j98aUZ34ZpenPZFqmaaObWSeL65dg==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.3", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.3.tgz", + "integrity": "sha512-YlFfTGS+zqCgXuXNV26rOIeETOkXnGQXP/pjjL9P0gO/EP9jTmc7pUBhx+jVEIxpq41RX33GQ7N3DzOSfZoglQ==", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } + } } }, "jest-runner": { - "version": "26.6.3", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-26.6.3.tgz", - "integrity": "sha512-atgKpRHnaA2OvByG/HpGA4g6CSPS/1LK0jK3gATJAoptC1ojltpmVlYC3TYgdmGp+GLuhzpH30Gvs36szSL2JQ==", + "version": "27.0.3", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-27.0.3.tgz", + "integrity": "sha512-zH23uIIh1ro1JCD7XX1bQ0bQwXEsBzLX2UJVE/AVLsk4YJRmTfyXIzzRzBWRdnMHHg1NWkJ4fGs7eFP15IqZpQ==", "dev": true, "requires": { - "@jest/console": "^26.6.2", - "@jest/environment": "^26.6.2", - "@jest/test-result": "^26.6.2", - "@jest/types": "^26.6.2", + "@jest/console": "^27.0.2", + "@jest/environment": "^27.0.3", + "@jest/test-result": "^27.0.2", + "@jest/transform": "^27.0.2", + "@jest/types": "^27.0.2", "@types/node": "*", "chalk": "^4.0.0", - "emittery": "^0.7.1", + "emittery": "^0.8.1", "exit": "^0.1.2", "graceful-fs": "^4.2.4", - "jest-config": "^26.6.3", - "jest-docblock": "^26.0.0", - "jest-haste-map": "^26.6.2", - "jest-leak-detector": "^26.6.2", - "jest-message-util": "^26.6.2", - "jest-resolve": "^26.6.2", - "jest-runtime": "^26.6.3", - "jest-util": "^26.6.2", - "jest-worker": "^26.6.2", + "jest-docblock": "^27.0.1", + "jest-haste-map": "^27.0.2", + "jest-leak-detector": "^27.0.2", + "jest-message-util": "^27.0.2", + "jest-resolve": "^27.0.2", + "jest-runtime": "^27.0.3", + "jest-util": "^27.0.2", + "jest-worker": "^27.0.2", "source-map-support": "^0.5.6", - "throat": "^5.0.0" + "throat": "^6.0.1" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz", + "integrity": "sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==", + "dev": true, + "requires": { + "@babel/highlight": "^7.12.13" + } + }, + "@jest/environment": { + "version": "27.0.3", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-27.0.3.tgz", + "integrity": "sha512-pN9m7fbKsop5vc3FOfH8NF7CKKdRbEZzcxfIo1n2TT6ucKWLFq0P6gCJH0GpnQp036++yY9utHOxpeT1WnkWTA==", + "dev": true, + "requires": { + "@jest/fake-timers": "^27.0.3", + "@jest/types": "^27.0.2", + "@types/node": "*", + "jest-mock": "^27.0.3" + } + }, + "@jest/fake-timers": { + "version": "27.0.3", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-27.0.3.tgz", + "integrity": "sha512-fQ+UCKRIYKvTCEOyKPnaPnomLATIhMnHC/xPZ7yT1Uldp7yMgMxoYIFidDbpSTgB79+/U+FgfoD30c6wg3IUjA==", + "dev": true, + "requires": { + "@jest/types": "^27.0.2", + "@sinonjs/fake-timers": "^7.0.2", + "@types/node": "*", + "jest-message-util": "^27.0.2", + "jest-mock": "^27.0.3", + "jest-util": "^27.0.2" + } + }, + "@jest/types": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.0.2.tgz", + "integrity": "sha512-XpjCtJ/99HB4PmyJ2vgmN7vT+JLP7RW1FBT9RgnMFS4Dt7cvIyBee8O3/j98aUZ34ZpenPZFqmaaObWSeL65dg==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@sinonjs/fake-timers": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-7.1.2.tgz", + "integrity": "sha512-iQADsW4LBMISqZ6Ci1dupJL9pprqwcVFTcOsEmQOEhW+KLCVn/Y4Jrvg2k19fIHCp+iFprriYPTdRcQR8NbUPg==", + "dev": true, + "requires": { + "@sinonjs/commons": "^1.7.0" + } + }, + "@types/yargs": { + "version": "16.0.3", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.3.tgz", + "integrity": "sha512-YlFfTGS+zqCgXuXNV26rOIeETOkXnGQXP/pjjL9P0gO/EP9jTmc7pUBhx+jVEIxpq41RX33GQ7N3DzOSfZoglQ==", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } + }, + "ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true + }, + "ci-info": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.2.0.tgz", + "integrity": "sha512-dVqRX7fLUm8J6FgHJ418XuIgDLZDkYcDFTeL6TA2gt5WlIZUQrrH6EZrNClwT/H0FateUsZkGIOPRrLbP+PR9A==", + "dev": true + }, + "is-ci": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-3.0.0.tgz", + "integrity": "sha512-kDXyttuLeslKAHYL/K28F2YkM3x5jvFPEw3yXbRptXydjD9rpLEz+C5K5iutY9ZiUu6AP41JdvRQwF4Iqs4ZCQ==", + "dev": true, + "requires": { + "ci-info": "^3.1.1" + } + }, + "jest-message-util": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.0.2.tgz", + "integrity": "sha512-rTqWUX42ec2LdMkoUPOzrEd1Tcm+R1KfLOmFK+OVNo4MnLsEaxO5zPDb2BbdSmthdM/IfXxOZU60P/WbWF8BTw==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^27.0.2", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "micromatch": "^4.0.4", + "pretty-format": "^27.0.2", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + } + }, + "jest-mock": { + "version": "27.0.3", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-27.0.3.tgz", + "integrity": "sha512-O5FZn5XDzEp+Xg28mUz4ovVcdwBBPfAhW9+zJLO0Efn2qNbYcDaJvSlRiQ6BCZUCVOJjALicuJQI9mRFjv1o9Q==", + "dev": true, + "requires": { + "@jest/types": "^27.0.2", + "@types/node": "*" + } + }, + "jest-util": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.0.2.tgz", + "integrity": "sha512-1d9uH3a00OFGGWSibpNYr+jojZ6AckOMCXV2Z4K3YXDnzpkAaXQyIpY14FOJPiUmil7CD+A6Qs+lnnh6ctRbIA==", + "dev": true, + "requires": { + "@jest/types": "^27.0.2", + "@types/node": "*", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "is-ci": "^3.0.0", + "picomatch": "^2.2.3" + } + }, + "jest-worker": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.0.2.tgz", + "integrity": "sha512-EoBdilOTTyOgmHXtw/cPc+ZrCA0KJMrkXzkrPGNwLmnvvlN1nj7MPrxpT7m+otSv2e1TLaVffzDnE/LB14zJMg==", + "dev": true, + "requires": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + } + }, + "pretty-format": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.0.2.tgz", + "integrity": "sha512-mXKbbBPnYTG7Yra9qFBtqj+IXcsvxsvOBco3QHxtxTl+hHKq6QdzMZ+q0CtL4ORHZgwGImRr2XZUX2EWzORxig==", + "dev": true, + "requires": { + "@jest/types": "^27.0.2", + "ansi-regex": "^5.0.0", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" + } + }, + "supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } } }, "jest-runtime": { - "version": "26.6.3", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-26.6.3.tgz", - "integrity": "sha512-lrzyR3N8sacTAMeonbqpnSka1dHNux2uk0qqDXVkMv2c/A3wYnvQ4EXuI013Y6+gSKSCxdaczvf4HF0mVXHRdw==", + "version": "27.0.3", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-27.0.3.tgz", + "integrity": "sha512-k1Hl2pWWHBkSXdCggX2lyLRuDnnnmMlnJd+DPLb8LmmAeHW87WgGC6TplD377VxY3KQu73sklkhGUIdwFgsRVQ==", "dev": true, "requires": { - "@jest/console": "^26.6.2", - "@jest/environment": "^26.6.2", - "@jest/fake-timers": "^26.6.2", - "@jest/globals": "^26.6.2", - "@jest/source-map": "^26.6.2", - "@jest/test-result": "^26.6.2", - "@jest/transform": "^26.6.2", - "@jest/types": "^26.6.2", - "@types/yargs": "^15.0.0", + "@jest/console": "^27.0.2", + "@jest/environment": "^27.0.3", + "@jest/fake-timers": "^27.0.3", + "@jest/globals": "^27.0.3", + "@jest/source-map": "^27.0.1", + "@jest/test-result": "^27.0.2", + "@jest/transform": "^27.0.2", + "@jest/types": "^27.0.2", + "@types/yargs": "^16.0.0", "chalk": "^4.0.0", - "cjs-module-lexer": "^0.6.0", + "cjs-module-lexer": "^1.0.0", "collect-v8-coverage": "^1.0.0", "exit": "^0.1.2", "glob": "^7.1.3", "graceful-fs": "^4.2.4", - "jest-config": "^26.6.3", - "jest-haste-map": "^26.6.2", - "jest-message-util": "^26.6.2", - "jest-mock": "^26.6.2", - "jest-regex-util": "^26.0.0", - "jest-resolve": "^26.6.2", - "jest-snapshot": "^26.6.2", - "jest-util": "^26.6.2", - "jest-validate": "^26.6.2", + "jest-haste-map": "^27.0.2", + "jest-message-util": "^27.0.2", + "jest-mock": "^27.0.3", + "jest-regex-util": "^27.0.1", + "jest-resolve": "^27.0.2", + "jest-snapshot": "^27.0.2", + "jest-util": "^27.0.2", + "jest-validate": "^27.0.2", "slash": "^3.0.0", "strip-bom": "^4.0.0", - "yargs": "^15.4.1" + "yargs": "^16.0.3" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz", + "integrity": "sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==", + "dev": true, + "requires": { + "@babel/highlight": "^7.12.13" + } + }, + "@jest/environment": { + "version": "27.0.3", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-27.0.3.tgz", + "integrity": "sha512-pN9m7fbKsop5vc3FOfH8NF7CKKdRbEZzcxfIo1n2TT6ucKWLFq0P6gCJH0GpnQp036++yY9utHOxpeT1WnkWTA==", + "dev": true, + "requires": { + "@jest/fake-timers": "^27.0.3", + "@jest/types": "^27.0.2", + "@types/node": "*", + "jest-mock": "^27.0.3" + } + }, + "@jest/fake-timers": { + "version": "27.0.3", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-27.0.3.tgz", + "integrity": "sha512-fQ+UCKRIYKvTCEOyKPnaPnomLATIhMnHC/xPZ7yT1Uldp7yMgMxoYIFidDbpSTgB79+/U+FgfoD30c6wg3IUjA==", + "dev": true, + "requires": { + "@jest/types": "^27.0.2", + "@sinonjs/fake-timers": "^7.0.2", + "@types/node": "*", + "jest-message-util": "^27.0.2", + "jest-mock": "^27.0.3", + "jest-util": "^27.0.2" + } + }, + "@jest/types": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.0.2.tgz", + "integrity": "sha512-XpjCtJ/99HB4PmyJ2vgmN7vT+JLP7RW1FBT9RgnMFS4Dt7cvIyBee8O3/j98aUZ34ZpenPZFqmaaObWSeL65dg==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@sinonjs/fake-timers": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-7.1.2.tgz", + "integrity": "sha512-iQADsW4LBMISqZ6Ci1dupJL9pprqwcVFTcOsEmQOEhW+KLCVn/Y4Jrvg2k19fIHCp+iFprriYPTdRcQR8NbUPg==", + "dev": true, + "requires": { + "@sinonjs/commons": "^1.7.0" + } + }, + "@types/yargs": { + "version": "16.0.3", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.3.tgz", + "integrity": "sha512-YlFfTGS+zqCgXuXNV26rOIeETOkXnGQXP/pjjL9P0gO/EP9jTmc7pUBhx+jVEIxpq41RX33GQ7N3DzOSfZoglQ==", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } + }, + "ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true + }, + "ci-info": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.2.0.tgz", + "integrity": "sha512-dVqRX7fLUm8J6FgHJ418XuIgDLZDkYcDFTeL6TA2gt5WlIZUQrrH6EZrNClwT/H0FateUsZkGIOPRrLbP+PR9A==", + "dev": true + }, + "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, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "is-ci": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-3.0.0.tgz", + "integrity": "sha512-kDXyttuLeslKAHYL/K28F2YkM3x5jvFPEw3yXbRptXydjD9rpLEz+C5K5iutY9ZiUu6AP41JdvRQwF4Iqs4ZCQ==", + "dev": true, + "requires": { + "ci-info": "^3.1.1" + } + }, + "jest-message-util": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.0.2.tgz", + "integrity": "sha512-rTqWUX42ec2LdMkoUPOzrEd1Tcm+R1KfLOmFK+OVNo4MnLsEaxO5zPDb2BbdSmthdM/IfXxOZU60P/WbWF8BTw==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^27.0.2", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "micromatch": "^4.0.4", + "pretty-format": "^27.0.2", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + } + }, + "jest-mock": { + "version": "27.0.3", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-27.0.3.tgz", + "integrity": "sha512-O5FZn5XDzEp+Xg28mUz4ovVcdwBBPfAhW9+zJLO0Efn2qNbYcDaJvSlRiQ6BCZUCVOJjALicuJQI9mRFjv1o9Q==", + "dev": true, + "requires": { + "@jest/types": "^27.0.2", + "@types/node": "*" + } + }, + "jest-util": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.0.2.tgz", + "integrity": "sha512-1d9uH3a00OFGGWSibpNYr+jojZ6AckOMCXV2Z4K3YXDnzpkAaXQyIpY14FOJPiUmil7CD+A6Qs+lnnh6ctRbIA==", + "dev": true, + "requires": { + "@jest/types": "^27.0.2", + "@types/node": "*", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "is-ci": "^3.0.0", + "picomatch": "^2.2.3" + } + }, + "pretty-format": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.0.2.tgz", + "integrity": "sha512-mXKbbBPnYTG7Yra9qFBtqj+IXcsvxsvOBco3QHxtxTl+hHKq6QdzMZ+q0CtL4ORHZgwGImRr2XZUX2EWzORxig==", + "dev": true, + "requires": { + "@jest/types": "^27.0.2", + "ansi-regex": "^5.0.0", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" + } + }, + "y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true + }, + "yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dev": true, + "requires": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + } + } } }, "jest-serializer": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-26.6.2.tgz", - "integrity": "sha512-S5wqyz0DXnNJPd/xfIzZ5Xnp1HrJWBczg8mMfMpN78OJ5eDxXyf+Ygld9wX1DnUWbIbhM1YDY95NjR4CBXkb2g==", + "version": "27.0.1", + "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-27.0.1.tgz", + "integrity": "sha512-svy//5IH6bfQvAbkAEg1s7xhhgHTtXu0li0I2fdKHDsLP2P2MOiscPQIENQep8oU2g2B3jqLyxKKzotZOz4CwQ==", "dev": true, "requires": { "@types/node": "*", @@ -78302,27 +82734,156 @@ } }, "jest-snapshot": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-26.6.2.tgz", - "integrity": "sha512-OLhxz05EzUtsAmOMzuupt1lHYXCNib0ECyuZ/PZOx9TrZcC8vL0x+DUG3TL+GLX3yHG45e6YGjIm0XwDc3q3og==", + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-27.0.2.tgz", + "integrity": "sha512-4RcgvZbPrrbEE/hT6XQ4hr+NVVLNrmsgUnYSnZRT6UAvW9Q2yzGMS+tfJh+xlQJAapnnkNJzsMn6vUa+yfiVHA==", "dev": true, "requires": { + "@babel/core": "^7.7.2", + "@babel/generator": "^7.7.2", + "@babel/parser": "^7.7.2", + "@babel/plugin-syntax-typescript": "^7.7.2", + "@babel/traverse": "^7.7.2", "@babel/types": "^7.0.0", - "@jest/types": "^26.6.2", + "@jest/transform": "^27.0.2", + "@jest/types": "^27.0.2", "@types/babel__traverse": "^7.0.4", - "@types/prettier": "^2.0.0", + "@types/prettier": "^2.1.5", + "babel-preset-current-node-syntax": "^1.0.0", "chalk": "^4.0.0", - "expect": "^26.6.2", + "expect": "^27.0.2", "graceful-fs": "^4.2.4", - "jest-diff": "^26.6.2", - "jest-get-type": "^26.3.0", - "jest-haste-map": "^26.6.2", - "jest-matcher-utils": "^26.6.2", - "jest-message-util": "^26.6.2", - "jest-resolve": "^26.6.2", + "jest-diff": "^27.0.2", + "jest-get-type": "^27.0.1", + "jest-haste-map": "^27.0.2", + "jest-matcher-utils": "^27.0.2", + "jest-message-util": "^27.0.2", + "jest-resolve": "^27.0.2", + "jest-util": "^27.0.2", "natural-compare": "^1.4.0", - "pretty-format": "^26.6.2", + "pretty-format": "^27.0.2", "semver": "^7.3.2" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz", + "integrity": "sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==", + "dev": true, + "requires": { + "@babel/highlight": "^7.12.13" + } + }, + "@jest/types": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.0.2.tgz", + "integrity": "sha512-XpjCtJ/99HB4PmyJ2vgmN7vT+JLP7RW1FBT9RgnMFS4Dt7cvIyBee8O3/j98aUZ34ZpenPZFqmaaObWSeL65dg==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.3", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.3.tgz", + "integrity": "sha512-YlFfTGS+zqCgXuXNV26rOIeETOkXnGQXP/pjjL9P0gO/EP9jTmc7pUBhx+jVEIxpq41RX33GQ7N3DzOSfZoglQ==", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } + }, + "ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true + }, + "ci-info": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.2.0.tgz", + "integrity": "sha512-dVqRX7fLUm8J6FgHJ418XuIgDLZDkYcDFTeL6TA2gt5WlIZUQrrH6EZrNClwT/H0FateUsZkGIOPRrLbP+PR9A==", + "dev": true + }, + "diff-sequences": { + "version": "27.0.1", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.0.1.tgz", + "integrity": "sha512-XPLijkfJUh/PIBnfkcSHgvD6tlYixmcMAn3osTk6jt+H0v/mgURto1XUiD9DKuGX5NDoVS6dSlA23gd9FUaCFg==", + "dev": true + }, + "is-ci": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-3.0.0.tgz", + "integrity": "sha512-kDXyttuLeslKAHYL/K28F2YkM3x5jvFPEw3yXbRptXydjD9rpLEz+C5K5iutY9ZiUu6AP41JdvRQwF4Iqs4ZCQ==", + "dev": true, + "requires": { + "ci-info": "^3.1.1" + } + }, + "jest-diff": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.0.2.tgz", + "integrity": "sha512-BFIdRb0LqfV1hBt8crQmw6gGQHVDhM87SpMIZ45FPYKReZYG5er1+5pIn2zKqvrJp6WNox0ylR8571Iwk2Dmgw==", + "dev": true, + "requires": { + "chalk": "^4.0.0", + "diff-sequences": "^27.0.1", + "jest-get-type": "^27.0.1", + "pretty-format": "^27.0.2" + } + }, + "jest-get-type": { + "version": "27.0.1", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.0.1.tgz", + "integrity": "sha512-9Tggo9zZbu0sHKebiAijyt1NM77Z0uO4tuWOxUCujAiSeXv30Vb5D4xVF4UR4YWNapcftj+PbByU54lKD7/xMg==", + "dev": true + }, + "jest-message-util": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.0.2.tgz", + "integrity": "sha512-rTqWUX42ec2LdMkoUPOzrEd1Tcm+R1KfLOmFK+OVNo4MnLsEaxO5zPDb2BbdSmthdM/IfXxOZU60P/WbWF8BTw==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^27.0.2", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "micromatch": "^4.0.4", + "pretty-format": "^27.0.2", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + } + }, + "jest-util": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.0.2.tgz", + "integrity": "sha512-1d9uH3a00OFGGWSibpNYr+jojZ6AckOMCXV2Z4K3YXDnzpkAaXQyIpY14FOJPiUmil7CD+A6Qs+lnnh6ctRbIA==", + "dev": true, + "requires": { + "@jest/types": "^27.0.2", + "@types/node": "*", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "is-ci": "^3.0.0", + "picomatch": "^2.2.3" + } + }, + "pretty-format": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.0.2.tgz", + "integrity": "sha512-mXKbbBPnYTG7Yra9qFBtqj+IXcsvxsvOBco3QHxtxTl+hHKq6QdzMZ+q0CtL4ORHZgwGImRr2XZUX2EWzORxig==", + "dev": true, + "requires": { + "@jest/types": "^27.0.2", + "ansi-regex": "^5.0.0", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" + } + } } }, "jest-util": { @@ -78340,40 +82901,139 @@ } }, "jest-validate": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-26.6.2.tgz", - "integrity": "sha512-NEYZ9Aeyj0i5rQqbq+tpIOom0YS1u2MVu6+euBsvpgIme+FOfRmoC4R5p0JiAUpaFvFy24xgrpMknarR/93XjQ==", + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-27.0.2.tgz", + "integrity": "sha512-UgBF6/oVu1ofd1XbaSotXKihi8nZhg0Prm8twQ9uCuAfo59vlxCXMPI/RKmrZEVgi3Nd9dS0I8A0wzWU48pOvg==", "dev": true, "requires": { - "@jest/types": "^26.6.2", - "camelcase": "^6.0.0", + "@jest/types": "^27.0.2", + "camelcase": "^6.2.0", "chalk": "^4.0.0", - "jest-get-type": "^26.3.0", + "jest-get-type": "^27.0.1", "leven": "^3.1.0", - "pretty-format": "^26.6.2" + "pretty-format": "^27.0.2" }, "dependencies": { + "@jest/types": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.0.2.tgz", + "integrity": "sha512-XpjCtJ/99HB4PmyJ2vgmN7vT+JLP7RW1FBT9RgnMFS4Dt7cvIyBee8O3/j98aUZ34ZpenPZFqmaaObWSeL65dg==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.3", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.3.tgz", + "integrity": "sha512-YlFfTGS+zqCgXuXNV26rOIeETOkXnGQXP/pjjL9P0gO/EP9jTmc7pUBhx+jVEIxpq41RX33GQ7N3DzOSfZoglQ==", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } + }, + "ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true + }, "camelcase": { "version": "6.2.0", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz", "integrity": "sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==", "dev": true + }, + "jest-get-type": { + "version": "27.0.1", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.0.1.tgz", + "integrity": "sha512-9Tggo9zZbu0sHKebiAijyt1NM77Z0uO4tuWOxUCujAiSeXv30Vb5D4xVF4UR4YWNapcftj+PbByU54lKD7/xMg==", + "dev": true + }, + "pretty-format": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.0.2.tgz", + "integrity": "sha512-mXKbbBPnYTG7Yra9qFBtqj+IXcsvxsvOBco3QHxtxTl+hHKq6QdzMZ+q0CtL4ORHZgwGImRr2XZUX2EWzORxig==", + "dev": true, + "requires": { + "@jest/types": "^27.0.2", + "ansi-regex": "^5.0.0", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" + } } } }, "jest-watcher": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-26.6.2.tgz", - "integrity": "sha512-WKJob0P/Em2csiVthsI68p6aGKTIcsfjH9Gsx1f0A3Italz43e3ho0geSAVsmj09RWOELP1AZ/DXyJgOgDKxXQ==", + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-27.0.2.tgz", + "integrity": "sha512-8nuf0PGuTxWj/Ytfw5fyvNn/R80iXY8QhIT0ofyImUvdnoaBdT6kob0GmhXR+wO+ALYVnh8bQxN4Tjfez0JgkA==", "dev": true, "requires": { - "@jest/test-result": "^26.6.2", - "@jest/types": "^26.6.2", + "@jest/test-result": "^27.0.2", + "@jest/types": "^27.0.2", "@types/node": "*", "ansi-escapes": "^4.2.1", "chalk": "^4.0.0", - "jest-util": "^26.6.2", + "jest-util": "^27.0.2", "string-length": "^4.0.1" + }, + "dependencies": { + "@jest/types": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.0.2.tgz", + "integrity": "sha512-XpjCtJ/99HB4PmyJ2vgmN7vT+JLP7RW1FBT9RgnMFS4Dt7cvIyBee8O3/j98aUZ34ZpenPZFqmaaObWSeL65dg==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.3", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.3.tgz", + "integrity": "sha512-YlFfTGS+zqCgXuXNV26rOIeETOkXnGQXP/pjjL9P0gO/EP9jTmc7pUBhx+jVEIxpq41RX33GQ7N3DzOSfZoglQ==", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } + }, + "ci-info": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.2.0.tgz", + "integrity": "sha512-dVqRX7fLUm8J6FgHJ418XuIgDLZDkYcDFTeL6TA2gt5WlIZUQrrH6EZrNClwT/H0FateUsZkGIOPRrLbP+PR9A==", + "dev": true + }, + "is-ci": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-3.0.0.tgz", + "integrity": "sha512-kDXyttuLeslKAHYL/K28F2YkM3x5jvFPEw3yXbRptXydjD9rpLEz+C5K5iutY9ZiUu6AP41JdvRQwF4Iqs4ZCQ==", + "dev": true, + "requires": { + "ci-info": "^3.1.1" + } + }, + "jest-util": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.0.2.tgz", + "integrity": "sha512-1d9uH3a00OFGGWSibpNYr+jojZ6AckOMCXV2Z4K3YXDnzpkAaXQyIpY14FOJPiUmil7CD+A6Qs+lnnh6ctRbIA==", + "dev": true, + "requires": { + "@jest/types": "^27.0.2", + "@types/node": "*", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "is-ci": "^3.0.0", + "picomatch": "^2.2.3" + } + } } }, "jest-worker": { @@ -78492,13 +83152,13 @@ "devOptional": true }, "jsdom": { - "version": "16.5.2", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.5.2.tgz", - "integrity": "sha512-JxNtPt9C1ut85boCbJmffaQ06NBnzkQY/MWO3YxPW8IWS38A26z+B1oBvA9LwKrytewdfymnhi4UNH3/RAgZrg==", + "version": "16.6.0", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.6.0.tgz", + "integrity": "sha512-Ty1vmF4NHJkolaEmdjtxTfSfkdb8Ywarwf63f+F8/mDD1uLSSWDxDuMiZxiPhwunLrn9LOSVItWj4bLYsLN3Dg==", "dev": true, "requires": { "abab": "^2.0.5", - "acorn": "^8.1.0", + "acorn": "^8.2.4", "acorn-globals": "^6.0.0", "cssom": "^0.4.4", "cssstyle": "^2.3.0", @@ -78506,12 +83166,13 @@ "decimal.js": "^10.2.1", "domexception": "^2.0.1", "escodegen": "^2.0.0", + "form-data": "^3.0.0", "html-encoding-sniffer": "^2.0.1", - "is-potential-custom-element-name": "^1.0.0", + "http-proxy-agent": "^4.0.1", + "https-proxy-agent": "^5.0.0", + "is-potential-custom-element-name": "^1.0.1", "nwsapi": "^2.2.0", "parse5": "6.0.1", - "request": "^2.88.2", - "request-promise-native": "^1.0.9", "saxes": "^5.0.1", "symbol-tree": "^3.2.4", "tough-cookie": "^4.0.0", @@ -78521,15 +83182,33 @@ "whatwg-encoding": "^1.0.5", "whatwg-mimetype": "^2.3.0", "whatwg-url": "^8.5.0", - "ws": "^7.4.4", + "ws": "^7.4.5", "xml-name-validator": "^3.0.0" }, "dependencies": { "acorn": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.1.0.tgz", - "integrity": "sha512-LWCF/Wn0nfHOmJ9rzQApGnxnvgfROzGilS8936rqN/lfcYkY9MYZzdMqN+2NJ4SlTc+m5HiSa+kNfDtI64dwUA==", + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.3.0.tgz", + "integrity": "sha512-tqPKHZ5CaBJw0Xmy0ZZvLs1qTV+BNFSyvn77ASXkpBNfIRk8ev26fKrD9iLGwGA9zedPao52GSHzq8lyZG0NUw==", "dev": true + }, + "form-data": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", + "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", + "dev": true, + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + } + }, + "ws": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.6.tgz", + "integrity": "sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==", + "dev": true, + "requires": {} } } }, @@ -81738,6 +86417,7 @@ "integrity": "sha512-oJP/9NAdd9+x2Q+rfphB2RJCHjod70RcRLjosiPMMu5gjIfwVnOUGq2nbTjTUbmy0DJ/tFIVT30+Qe3nzl4TJg==", "dev": true, "optional": true, + "peer": true, "requires": { "growly": "^1.3.0", "is-wsl": "^2.2.0", @@ -86688,38 +91368,6 @@ "uuid": "^8.3.2" } }, - "request-promise-core": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.4.tgz", - "integrity": "sha512-TTbAfBBRdWD7aNNOoVOBH4pN/KigV6LyapYNNlAPA8JwbovRti1E88m3sYAwsLi5ryhPKsE9APwnjFTgdUjTpw==", - "dev": true, - "requires": { - "lodash": "^4.17.19" - } - }, - "request-promise-native": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.9.tgz", - "integrity": "sha512-wcW+sIUiWnKgNY0dqCpOZkUbF/I+YPi+f09JZIDa39Ec+q82CpSYniDp+ISgTTbKmnpJWASeJBPZmoxH84wt3g==", - "dev": true, - "requires": { - "request-promise-core": "1.1.4", - "stealthy-require": "^1.1.1", - "tough-cookie": "^2.3.3" - }, - "dependencies": { - "tough-cookie": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", - "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", - "dev": true, - "requires": { - "psl": "^1.1.28", - "punycode": "^2.1.1" - } - } - } - }, "require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", @@ -87072,12 +91720,6 @@ } } }, - "rsvp": { - "version": "4.8.5", - "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-4.8.5.tgz", - "integrity": "sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA==", - "dev": true - }, "run-async": { "version": "2.4.1", "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", @@ -87147,247 +91789,6 @@ "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, - "sane": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/sane/-/sane-4.1.0.tgz", - "integrity": "sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA==", - "dev": true, - "requires": { - "@cnakazawa/watch": "^1.0.3", - "anymatch": "^2.0.0", - "capture-exit": "^2.0.0", - "exec-sh": "^0.3.2", - "execa": "^1.0.0", - "fb-watchman": "^2.0.0", - "micromatch": "^3.1.4", - "minimist": "^1.1.1", - "walker": "~1.0.5" - }, - "dependencies": { - "anymatch": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", - "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", - "dev": true, - "requires": { - "micromatch": "^3.1.4", - "normalize-path": "^2.1.1" - } - }, - "braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "dev": true, - "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", - "dev": true, - "requires": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - } - }, - "execa": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", - "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", - "dev": true, - "requires": { - "cross-spawn": "^6.0.0", - "get-stream": "^4.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" - } - }, - "fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", - "dev": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "get-stream": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", - "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", - "dev": true, - "requires": { - "pump": "^3.0.0" - } - }, - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", - "dev": true - }, - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", - "dev": true - }, - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", - "dev": true - }, - "micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "dev": true, - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - } - }, - "normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", - "dev": true, - "requires": { - "remove-trailing-separator": "^1.0.1" - } - }, - "npm-run-path": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", - "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", - "dev": true, - "requires": { - "path-key": "^2.0.0" - } - }, - "path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", - "dev": true - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - }, - "shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", - "dev": true, - "requires": { - "shebang-regex": "^1.0.0" - } - }, - "shebang-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", - "dev": true - }, - "to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", - "dev": true, - "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - } - }, - "which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - } - } - }, "sass": { "version": "1.34.0", "resolved": "https://registry.npmjs.org/sass/-/sass-1.34.0.tgz", @@ -87826,7 +92227,8 @@ "resolved": "https://registry.npmjs.org/shellwords/-/shellwords-0.1.1.tgz", "integrity": "sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==", "dev": true, - "optional": true + "optional": true, + "peer": true }, "shimmer": { "version": "1.2.1", @@ -88526,6 +92928,7 @@ "version": "0.5.5", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "dev": true, "optional": true, "requires": { "minimist": "^1.2.5" @@ -88535,6 +92938,7 @@ "version": "3.8.0", "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-3.8.0.tgz", "integrity": "sha512-3g8lYefrRRzvGeSowdJKAKyks8oUpLEd/DyPV4eMhVlhJ0aNaZqIrNUIPuEWWTAoPqyFkfGrM67MC69baqn6vA==", + "dev": true, "optional": true, "requires": { "fstream": "^1.0.0", @@ -88555,6 +92959,7 @@ "version": "3.0.6", "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", + "dev": true, "optional": true, "requires": { "abbrev": "1" @@ -88564,6 +92969,7 @@ "version": "2.7.1", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, "optional": true, "requires": { "glob": "^7.1.3" @@ -88573,12 +92979,14 @@ "version": "5.3.0", "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz", "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=", + "dev": true, "optional": true }, "tar": { "version": "2.2.2", "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.2.tgz", "integrity": "sha512-FCEhQ/4rE1zYv9rYXJw/msRqsnmlje5jHP6huWeBZ704jUTy02c5AZyWujpMR1ax6mVw9NyJMfuK2CMDWVIfgA==", + "dev": true, "optional": true, "requires": { "block-stream": "*", @@ -88590,6 +92998,7 @@ "version": "1.3.1", "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, "optional": true, "requires": { "isexe": "^2.0.0" @@ -88809,12 +93218,6 @@ } } }, - "stealthy-require": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz", - "integrity": "sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=", - "dev": true - }, "stoppable": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/stoppable/-/stoppable-1.1.0.tgz", @@ -91015,9 +95418,9 @@ } }, "throat": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/throat/-/throat-5.0.0.tgz", - "integrity": "sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/throat/-/throat-6.0.1.tgz", + "integrity": "sha512-8hmiGIJMDlwjg7dlJ4yKGLK8EsYqKgPWbG3b4wjJddKNwc7N7Dpn08Df4szr/sZdMVeOstrdYSsqzX6BYbcB+w==", "dev": true }, "through": { @@ -91320,21 +95723,74 @@ } }, "ts-jest": { - "version": "26.5.6", - "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-26.5.6.tgz", - "integrity": "sha512-rua+rCP8DxpA8b4DQD/6X2HQS8Zy/xzViVYfEs2OQu68tkCuKLV0Md8pmX55+W24uRIyAsf/BajRfxOs+R2MKA==", + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-27.0.2.tgz", + "integrity": "sha512-pozjHOOfm+sbv9kXCvTFVyDntWvuJztzkNFql/akD75hSMZ2jsbidVauOhBRImAopXohqcLtPK/NTTIS8Y49Ug==", "dev": true, "requires": { "bs-logger": "0.x", "buffer-from": "1.x", "fast-json-stable-stringify": "2.x", - "jest-util": "^26.1.0", + "jest-util": "^27.0.0", "json5": "2.x", "lodash": "4.x", "make-error": "1.x", "mkdirp": "1.x", "semver": "7.x", "yargs-parser": "20.x" + }, + "dependencies": { + "@jest/types": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.0.2.tgz", + "integrity": "sha512-XpjCtJ/99HB4PmyJ2vgmN7vT+JLP7RW1FBT9RgnMFS4Dt7cvIyBee8O3/j98aUZ34ZpenPZFqmaaObWSeL65dg==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.3", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.3.tgz", + "integrity": "sha512-YlFfTGS+zqCgXuXNV26rOIeETOkXnGQXP/pjjL9P0gO/EP9jTmc7pUBhx+jVEIxpq41RX33GQ7N3DzOSfZoglQ==", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } + }, + "ci-info": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.2.0.tgz", + "integrity": "sha512-dVqRX7fLUm8J6FgHJ418XuIgDLZDkYcDFTeL6TA2gt5WlIZUQrrH6EZrNClwT/H0FateUsZkGIOPRrLbP+PR9A==", + "dev": true + }, + "is-ci": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-3.0.0.tgz", + "integrity": "sha512-kDXyttuLeslKAHYL/K28F2YkM3x5jvFPEw3yXbRptXydjD9rpLEz+C5K5iutY9ZiUu6AP41JdvRQwF4Iqs4ZCQ==", + "dev": true, + "requires": { + "ci-info": "^3.1.1" + } + }, + "jest-util": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.0.2.tgz", + "integrity": "sha512-1d9uH3a00OFGGWSibpNYr+jojZ6AckOMCXV2Z4K3YXDnzpkAaXQyIpY14FOJPiUmil7CD+A6Qs+lnnh6ctRbIA==", + "dev": true, + "requires": { + "@jest/types": "^27.0.2", + "@types/node": "*", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "is-ci": "^3.0.0", + "picomatch": "^2.2.3" + } + } } }, "ts-loader": { @@ -92496,9 +96952,9 @@ "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==" }, "v8-to-istanbul": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-7.1.1.tgz", - "integrity": "sha512-p0BB09E5FRjx0ELN6RgusIPsSPhtgexSRcKETybEs6IGOTXJSZqfwxp7r//55nnu0f1AxltY5VvdVqy2vZf9AA==", + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-7.1.2.tgz", + "integrity": "sha512-TxNb7YEUwkLXCQYeudi6lgQ/SZrzNO4kMdlqVxaZPUIUjCv6iSSypUQX70kNBSERpQ8fk48+d61FXk+tgqcWow==", "dev": true, "requires": { "@types/istanbul-lib-coverage": "^2.0.1", diff --git a/package.json b/package.json index efa871e096..9d36e7320f 100644 --- a/package.json +++ b/package.json @@ -38,7 +38,7 @@ "eslint-plugin-prettier-vue": "^3.1.0", "eslint-plugin-vue": "^7.10.0", "globby": "^11.0.3", - "jest": "^26.6.3", + "jest": "^27.0.3", "knex": "^0.95.6", "lerna": "^4.0.0", "lint-staged": "^10.5.4", @@ -59,7 +59,7 @@ "stylelint-scss": "^3.19.0", "supertest": "^6.1.3", "tedious": "^11.0.8", - "ts-jest": "^26.5.6", + "ts-jest": "^27.0.2", "ts-node": "^10.0.0" }, "simple-git-hooks": { diff --git a/packages/cli/package.json b/packages/cli/package.json index 60bcf54a7c..50fde6e969 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -81,12 +81,12 @@ "@types/jest": "^26.0.23", "@types/js-yaml": "^4.0.0", "@types/marked-terminal": "^3.1.1", - "jest": "^26.6.3", + "jest": "^27.0.3", "nock": "^13.0.10", "npm-run-all": "^4.1.5", "prettier": "^2.2.1", "rimraf": "^3.0.2", - "ts-jest": "^26.5.6", + "ts-jest": "^27.0.2", "ts-node": "^10.0.0", "typescript": "^4.2.2" }, diff --git a/packages/drive-azure/package.json b/packages/drive-azure/package.json index 826b63696c..bca81590e1 100644 --- a/packages/drive-azure/package.json +++ b/packages/drive-azure/package.json @@ -45,9 +45,9 @@ "@types/normalize-path": "^3.0.0", "dotenv": "^9.0.2", "fs-extra": "^9.1.0", - "jest": "^26.6.3", + "jest": "^27.0.3", "npm-run-all": "^4.1.5", - "ts-jest": "^26.5.6", + "ts-jest": "^27.0.2", "typescript": "^4.2.3" }, "publishConfig": { diff --git a/packages/drive-gcs/package.json b/packages/drive-gcs/package.json index f5d56cb222..1de5493ee5 100644 --- a/packages/drive-gcs/package.json +++ b/packages/drive-gcs/package.json @@ -44,9 +44,9 @@ "@types/node": "^15.6.0", "@types/normalize-path": "^3.0.0", "dotenv": "^9.0.2", - "jest": "^26.6.3", + "jest": "^27.0.3", "npm-run-all": "^4.1.5", - "ts-jest": "^26.5.6", + "ts-jest": "^27.0.2", "typescript": "^4.2.3" }, "publishConfig": { diff --git a/packages/drive-s3/package.json b/packages/drive-s3/package.json index 8bd4e699a9..e4bae637b6 100644 --- a/packages/drive-s3/package.json +++ b/packages/drive-s3/package.json @@ -46,9 +46,9 @@ "@types/normalize-path": "^3.0.0", "dotenv": "^9.0.2", "fs-extra": "^9.1.0", - "jest": "^26.6.3", + "jest": "^27.0.3", "npm-run-all": "^4.1.5", - "ts-jest": "^26.5.6", + "ts-jest": "^27.0.2", "typescript": "^4.2.3" }, "publishConfig": { diff --git a/packages/drive/package.json b/packages/drive/package.json index 725d789650..8a69565456 100644 --- a/packages/drive/package.json +++ b/packages/drive/package.json @@ -54,9 +54,9 @@ "@types/jest": "^26.0.22", "@types/node": "^15.6.0", "dotenv": "^9.0.2", - "jest": "^26.6.3", + "jest": "^27.0.3", "npm-run-all": "^4.1.5", - "ts-jest": "^26.5.6", + "ts-jest": "^27.0.2", "typescript": "^4.2.3" } } diff --git a/packages/sdk/package.json b/packages/sdk/package.json index daf8a35c6d..8e33b51f53 100644 --- a/packages/sdk/package.json +++ b/packages/sdk/package.json @@ -53,7 +53,7 @@ "@types/jest": "^26.0.22", "argon2": "^0.27.1", "dotenv": "^9.0.2", - "jest": "^26.6.3", + "jest": "^27.0.3", "jest-environment-jsdom": "^26.6.2", "jest-environment-jsdom-global": "^2.0.4", "mockdate": "^3.0.5", @@ -65,7 +65,7 @@ "rollup-plugin-sourcemaps": "^0.6.3", "rollup-plugin-terser": "^7.0.2", "rollup-plugin-typescript2": "^0.30.0", - "ts-jest": "^26.5.6", + "ts-jest": "^27.0.2", "ts-node": "^10.0.0", "typescript": "^4.2.2" }, From b1f1e0942847298751f67aecf3e3ebe996c15320 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 1 Jun 2021 15:02:44 -0400 Subject: [PATCH 03/83] Bump typescript from 4.2.4 to 4.3.2 (#5967) * Bump typescript from 4.2.4 to 4.3.2 Bumps [typescript](https://github.com/Microsoft/TypeScript) from 4.2.4 to 4.3.2. - [Release notes](https://github.com/Microsoft/TypeScript/releases) - [Commits](https://github.com/Microsoft/TypeScript/compare/v4.2.4...v4.3.2) Signed-off-by: dependabot[bot] * Fix typing quirk Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: rijkvanzanten --- api/package.json | 2 +- package-lock.json | 48 +++++++++++++++--------------- packages/cli/package.json | 2 +- packages/cli/src/core/output/ui.ts | 4 +-- packages/drive-azure/package.json | 2 +- packages/drive-gcs/package.json | 2 +- packages/drive-s3/package.json | 2 +- packages/drive/package.json | 2 +- packages/format-title/package.json | 2 +- packages/schema/package.json | 2 +- packages/sdk/package.json | 2 +- 11 files changed, 35 insertions(+), 35 deletions(-) diff --git a/api/package.json b/api/package.json index efb72f51ce..b87b002e10 100644 --- a/api/package.json +++ b/api/package.json @@ -179,6 +179,6 @@ "copyfiles": "^2.4.0", "cross-env": "^7.0.2", "ts-node-dev": "^1.0.0", - "typescript": "^4.0.5" + "typescript": "^4.3.2" } } diff --git a/package-lock.json b/package-lock.json index e2b8da117e..6bf102ab62 100644 --- a/package-lock.json +++ b/package-lock.json @@ -159,7 +159,7 @@ "copyfiles": "^2.4.0", "cross-env": "^7.0.2", "ts-node-dev": "^1.0.0", - "typescript": "^4.0.5" + "typescript": "^4.3.2" }, "optionalDependencies": { "@keyv/redis": "^2.1.2", @@ -47772,9 +47772,9 @@ } }, "node_modules/typescript": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.2.4.tgz", - "integrity": "sha512-V+evlYHZnQkaz8TRBuxTA92yZBPotr5H+WhQ7bD3hZUndx5tGOa1fuCgeSjxAzM1RiN5IzvadIXTVefuuwZCRg==", + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.3.2.tgz", + "integrity": "sha512-zZ4hShnmnoVnAHpVHWpTcxdv7dWP60S2FsydQLV8V5PbS3FifjWFFRiHSWpDJahly88PRyV5teTSLoq4eG7mKw==", "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -52300,7 +52300,7 @@ "rimraf": "^3.0.2", "ts-jest": "^27.0.2", "ts-node": "^10.0.0", - "typescript": "^4.2.2" + "typescript": "^4.3.2" } }, "packages/cli/node_modules/@types/yargs": { @@ -52559,7 +52559,7 @@ "jest": "^27.0.3", "npm-run-all": "^4.1.5", "ts-jest": "^27.0.2", - "typescript": "^4.2.3" + "typescript": "^4.3.2" } }, "packages/drive-azure": { @@ -52581,7 +52581,7 @@ "jest": "^27.0.3", "npm-run-all": "^4.1.5", "ts-jest": "^27.0.2", - "typescript": "^4.2.3" + "typescript": "^4.3.2" } }, "packages/drive-azure/node_modules/dotenv": { @@ -52612,7 +52612,7 @@ "jest": "^27.0.3", "npm-run-all": "^4.1.5", "ts-jest": "^27.0.2", - "typescript": "^4.2.3" + "typescript": "^4.3.2" } }, "packages/drive-gcs/node_modules/dotenv": { @@ -52644,7 +52644,7 @@ "jest": "^27.0.3", "npm-run-all": "^4.1.5", "ts-jest": "^27.0.2", - "typescript": "^4.2.3" + "typescript": "^4.3.2" } }, "packages/drive-s3/node_modules/dotenv": { @@ -52678,7 +52678,7 @@ "rollup-plugin-sourcemaps": "^0.6.3", "rollup-plugin-terser": "^7.0.2", "rollup-plugin-typescript2": "^0.30.0", - "typescript": "^4.0.5" + "typescript": "^4.3.2" }, "engines": { "node": ">=6.0.0" @@ -55349,7 +55349,7 @@ }, "devDependencies": { "npm-watch": "^0.9.0", - "typescript": "^4.0.5" + "typescript": "^4.3.2" } }, "packages/sdk": { @@ -55380,7 +55380,7 @@ "rollup-plugin-typescript2": "^0.30.0", "ts-jest": "^27.0.2", "ts-node": "^10.0.0", - "typescript": "^4.2.2" + "typescript": "^4.3.2" } }, "packages/sdk/node_modules/dotenv": { @@ -58083,7 +58083,7 @@ "strip-indent": "^4.0.0", "ts-jest": "^27.0.2", "ts-node": "^10.0.0", - "typescript": "^4.2.2", + "typescript": "^4.3.2", "yargs": "^17.0.1", "yargs-parser": "^20.2.7" }, @@ -58244,7 +58244,7 @@ "node-exceptions": "^4.0.1", "npm-run-all": "^4.1.5", "ts-jest": "^27.0.2", - "typescript": "^4.2.3" + "typescript": "^4.3.2" }, "dependencies": { "dotenv": { @@ -58270,7 +58270,7 @@ "normalize-path": "^3.0.0", "npm-run-all": "^4.1.5", "ts-jest": "^27.0.2", - "typescript": "^4.2.3" + "typescript": "^4.3.2" }, "dependencies": { "dotenv": { @@ -58296,7 +58296,7 @@ "normalize-path": "^3.0.0", "npm-run-all": "^4.1.5", "ts-jest": "^27.0.2", - "typescript": "^4.2.3" + "typescript": "^4.3.2" }, "dependencies": { "dotenv": { @@ -58323,7 +58323,7 @@ "normalize-path": "^3.0.0", "npm-run-all": "^4.1.5", "ts-jest": "^27.0.2", - "typescript": "^4.2.3" + "typescript": "^4.3.2" }, "dependencies": { "dotenv": { @@ -58345,7 +58345,7 @@ "rollup-plugin-sourcemaps": "^0.6.3", "rollup-plugin-terser": "^7.0.2", "rollup-plugin-typescript2": "^0.30.0", - "typescript": "^4.0.5" + "typescript": "^4.3.2" } }, "@directus/gatsby-source-directus": { @@ -60403,7 +60403,7 @@ "knex-schema-inspector": "^1.3.0", "lodash": "^4.17.21", "npm-watch": "^0.9.0", - "typescript": "^4.0.5" + "typescript": "^4.3.2" } }, "@directus/sdk": { @@ -60430,7 +60430,7 @@ "rollup-plugin-typescript2": "^0.30.0", "ts-jest": "^27.0.2", "ts-node": "^10.0.0", - "typescript": "^4.2.2" + "typescript": "^4.3.2" }, "dependencies": { "dotenv": { @@ -73124,7 +73124,7 @@ "stream-json": "^1.7.1", "tedious": "^11.0.8", "ts-node-dev": "^1.0.0", - "typescript": "^4.0.5", + "typescript": "^4.3.2", "uuid": "^8.3.2", "uuid-validate": "0.0.3" }, @@ -96408,9 +96408,9 @@ } }, "typescript": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.2.4.tgz", - "integrity": "sha512-V+evlYHZnQkaz8TRBuxTA92yZBPotr5H+WhQ7bD3hZUndx5tGOa1fuCgeSjxAzM1RiN5IzvadIXTVefuuwZCRg==" + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.3.2.tgz", + "integrity": "sha512-zZ4hShnmnoVnAHpVHWpTcxdv7dWP60S2FsydQLV8V5PbS3FifjWFFRiHSWpDJahly88PRyV5teTSLoq4eG7mKw==" }, "uc.micro": { "version": "1.0.6", diff --git a/packages/cli/package.json b/packages/cli/package.json index 50fde6e969..7328f12ef9 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -88,7 +88,7 @@ "rimraf": "^3.0.2", "ts-jest": "^27.0.2", "ts-node": "^10.0.0", - "typescript": "^4.2.2" + "typescript": "^4.3.2" }, "gitHead": "24621f3934dc77eb23441331040ed13c676ceffd" } diff --git a/packages/cli/src/core/output/ui.ts b/packages/cli/src/core/output/ui.ts index 43c0c7c0d3..d9a5405246 100644 --- a/packages/cli/src/core/output/ui.ts +++ b/packages/cli/src/core/output/ui.ts @@ -85,8 +85,8 @@ export class UIBuilder implements IUIComposer { reflowText: true, showSectionPrefix: false, tab: this.indentSize, - codespan: (text) => chalk.reset.bgGray.white(`${text}`), - blockquote: (text) => + codespan: (text: string) => chalk.reset.bgGray.white(`${text}`), + blockquote: (text: string) => palette.quote( stripAnsi(text) .split('\n') diff --git a/packages/drive-azure/package.json b/packages/drive-azure/package.json index bca81590e1..dda72c820d 100644 --- a/packages/drive-azure/package.json +++ b/packages/drive-azure/package.json @@ -48,7 +48,7 @@ "jest": "^27.0.3", "npm-run-all": "^4.1.5", "ts-jest": "^27.0.2", - "typescript": "^4.2.3" + "typescript": "^4.3.2" }, "publishConfig": { "access": "public" diff --git a/packages/drive-gcs/package.json b/packages/drive-gcs/package.json index 1de5493ee5..39972354de 100644 --- a/packages/drive-gcs/package.json +++ b/packages/drive-gcs/package.json @@ -47,7 +47,7 @@ "jest": "^27.0.3", "npm-run-all": "^4.1.5", "ts-jest": "^27.0.2", - "typescript": "^4.2.3" + "typescript": "^4.3.2" }, "publishConfig": { "access": "public" diff --git a/packages/drive-s3/package.json b/packages/drive-s3/package.json index e4bae637b6..f29a083ff5 100644 --- a/packages/drive-s3/package.json +++ b/packages/drive-s3/package.json @@ -49,7 +49,7 @@ "jest": "^27.0.3", "npm-run-all": "^4.1.5", "ts-jest": "^27.0.2", - "typescript": "^4.2.3" + "typescript": "^4.3.2" }, "publishConfig": { "access": "public" diff --git a/packages/drive/package.json b/packages/drive/package.json index 8a69565456..728251f7d3 100644 --- a/packages/drive/package.json +++ b/packages/drive/package.json @@ -57,6 +57,6 @@ "jest": "^27.0.3", "npm-run-all": "^4.1.5", "ts-jest": "^27.0.2", - "typescript": "^4.2.3" + "typescript": "^4.3.2" } } diff --git a/packages/format-title/package.json b/packages/format-title/package.json index 702876fecc..e3b5ecb67b 100644 --- a/packages/format-title/package.json +++ b/packages/format-title/package.json @@ -41,7 +41,7 @@ "rollup-plugin-sourcemaps": "^0.6.3", "rollup-plugin-terser": "^7.0.2", "rollup-plugin-typescript2": "^0.30.0", - "typescript": "^4.0.5" + "typescript": "^4.3.2" }, "gitHead": "24621f3934dc77eb23441331040ed13c676ceffd" } diff --git a/packages/schema/package.json b/packages/schema/package.json index b79d2ab843..446fb8b7b7 100644 --- a/packages/schema/package.json +++ b/packages/schema/package.json @@ -40,7 +40,7 @@ "homepage": "https://github.com/directus/directus#readme", "devDependencies": { "npm-watch": "^0.9.0", - "typescript": "^4.0.5" + "typescript": "^4.3.2" }, "dependencies": { "knex-schema-inspector": "^1.3.0", diff --git a/packages/sdk/package.json b/packages/sdk/package.json index 8e33b51f53..f82e914e62 100644 --- a/packages/sdk/package.json +++ b/packages/sdk/package.json @@ -67,7 +67,7 @@ "rollup-plugin-typescript2": "^0.30.0", "ts-jest": "^27.0.2", "ts-node": "^10.0.0", - "typescript": "^4.2.2" + "typescript": "^4.3.2" }, "gitHead": "24621f3934dc77eb23441331040ed13c676ceffd" } From 65240fff3b087472a40c86d14b5ba6861f0e3602 Mon Sep 17 00:00:00 2001 From: rijkvanzanten Date: Tue, 1 Jun 2021 16:44:10 -0400 Subject: [PATCH 04/83] Make DB migrations for FK constraints safer --- .../20210518A-add-foreign-key-constraints.ts | 100 ++++++++++++------ .../20210519A-add-system-fk-triggers.ts | 49 +++++++-- 2 files changed, 105 insertions(+), 44 deletions(-) diff --git a/api/src/database/migrations/20210518A-add-foreign-key-constraints.ts b/api/src/database/migrations/20210518A-add-foreign-key-constraints.ts index 00a76dce40..0e02b3d084 100644 --- a/api/src/database/migrations/20210518A-add-foreign-key-constraints.ts +++ b/api/src/database/migrations/20210518A-add-foreign-key-constraints.ts @@ -1,6 +1,7 @@ import { Knex } from 'knex'; import SchemaInspector from 'knex-schema-inspector'; import { schemaInspector } from '..'; +import logger from '../../logger'; import { RelationMeta } from '../../types'; export async function up(knex: Knex): Promise { @@ -18,45 +19,59 @@ export async function up(knex: Knex): Promise { return exists === false; }); - await knex.transaction(async (trx) => { - for (const constraint of constraintsToAdd) { - if (!constraint.one_collection) continue; + for (const constraint of constraintsToAdd) { + if (!constraint.one_collection) continue; - const currentPrimaryKeyField = await schemaInspector.primary(constraint.many_collection); - const relatedPrimaryKeyField = await schemaInspector.primary(constraint.one_collection); - if (!currentPrimaryKeyField || !relatedPrimaryKeyField) continue; + const currentPrimaryKeyField = await schemaInspector.primary(constraint.many_collection); + const relatedPrimaryKeyField = await schemaInspector.primary(constraint.one_collection); + if (!currentPrimaryKeyField || !relatedPrimaryKeyField) continue; - const rowsWithIllegalFKValues = await trx - .select(`${constraint.many_collection}.${currentPrimaryKeyField}`) - .from(constraint.many_collection) - .leftJoin( - constraint.one_collection, - `${constraint.many_collection}.${constraint.many_field}`, - `${constraint.one_collection}.${relatedPrimaryKeyField}` - ) - .whereNull(`${constraint.one_collection}.${relatedPrimaryKeyField}`); + const rowsWithIllegalFKValues = await knex + .select(`main.${currentPrimaryKeyField}`) + .from({ main: constraint.many_collection }) + .leftJoin( + { related: constraint.one_collection }, + `main.${constraint.many_field}`, + `related.${relatedPrimaryKeyField}` + ) + .whereNull(`related.${relatedPrimaryKeyField}`); - if (rowsWithIllegalFKValues.length > 0) { - const ids: (string | number)[] = rowsWithIllegalFKValues.map( - (row) => row[currentPrimaryKeyField] - ); + if (rowsWithIllegalFKValues.length > 0) { + const ids: (string | number)[] = rowsWithIllegalFKValues.map( + (row) => row[currentPrimaryKeyField] + ); - await trx(constraint.many_collection) + try { + await knex(constraint.many_collection) .update({ [constraint.many_field]: null }) .whereIn(currentPrimaryKeyField, ids); + } catch (err) { + logger.error( + `${constraint.many_collection}.${constraint.many_field} contains illegal foreign keys which couldn't be set to NULL. Please fix these references and rerun this migration to complete the upgrade.` + ); + + if (ids.length < 25) { + logger.error(`Items with illegal foreign keys: ${ids.join(', ')}`); + } else { + logger.error(`Items with illegal foreign keys: ${ids.slice(0, 25).join(', ')} and ${ids.length} others`); + } + + throw 'Migration aborted'; } + } - // Can't reliably have circular cascade - const action = constraint.many_collection === constraint.one_collection ? 'NO ACTION' : 'SET NULL'; + // Can't reliably have circular cascade + const action = constraint.many_collection === constraint.one_collection ? 'NO ACTION' : 'SET NULL'; - // MySQL doesn't accept FKs from `int` to `int unsigned`. `knex` defaults `.increments()` - // to `unsigned`, but defaults `.integer()` to `int`. This means that created m2o fields - // have the wrong type. This step will force the m2o `int` field into `unsigned`, but only - // if both types are integers, and only if we go from `int` to `int unsigned`. - const columnInfo = await schemaInspector.columnInfo(constraint.many_collection, constraint.many_field); - const relatedColumnInfo = await schemaInspector.columnInfo(constraint.one_collection!, relatedPrimaryKeyField); + // MySQL doesn't accept FKs from `int` to `int unsigned`. `knex` defaults `.increments()` + // to `unsigned`, but defaults `.integer()` to `int`. This means that created m2o fields + // have the wrong type. This step will force the m2o `int` field into `unsigned`, but only + // if both types are integers, and only if we go from `int` to `int unsigned`. + const columnInfo = await schemaInspector.columnInfo(constraint.many_collection, constraint.many_field); + const relatedColumnInfo = await schemaInspector.columnInfo(constraint.one_collection!, relatedPrimaryKeyField); - await trx.schema.alterTable(constraint.many_collection, (table) => { + try { + await knex.schema.alterTable(constraint.many_collection, (table) => { if ( columnInfo.data_type !== relatedColumnInfo.data_type && columnInfo.data_type === 'int' && @@ -71,15 +86,32 @@ export async function up(knex: Knex): Promise { .inTable(constraint.one_collection!) .onDelete(action); }); + } catch (err) { + logger.warn( + `Couldn't add foreign key constraint for ${constraint.many_collection}.${constraint.many_field}->${constraint.one_collection}` + ); + logger.warn(err); } - }); + } } export async function down(knex: Knex): Promise { - const relations = await knex.select('many_collection', 'many_field').from('directus_relations'); + const relations = await knex + .select('many_collection', 'many_field', 'one_collection') + .from('directus_relations'); + for (const relation of relations) { - await knex.schema.alterTable(relation.many_collection, (table) => { - table.dropForeign([relation.many_field]); - }); + if (!relation.one_collection) continue; + + try { + await knex.schema.alterTable(relation.many_collection, (table) => { + table.dropForeign([relation.many_field]); + }); + } catch (err) { + logger.warn( + `Couldn't drop foreign key constraint for ${relation.many_collection}.${relation.many_field}->${relation.one_collection}` + ); + logger.warn(err); + } } } diff --git a/api/src/database/migrations/20210519A-add-system-fk-triggers.ts b/api/src/database/migrations/20210519A-add-system-fk-triggers.ts index 523654f905..ee8f740559 100644 --- a/api/src/database/migrations/20210519A-add-system-fk-triggers.ts +++ b/api/src/database/migrations/20210519A-add-system-fk-triggers.ts @@ -1,4 +1,5 @@ import { Knex } from 'knex'; +import logger from '../../logger'; /** * Things to keep in mind: @@ -80,22 +81,50 @@ const updates = [ export async function up(knex: Knex): Promise { for (const update of updates) { - await knex.schema.alterTable(update.table, (table) => { - for (const constraint of update.constraints) { - table.dropForeign([constraint.column]); - table.foreign(constraint.column).references(constraint.references).onDelete(constraint.on_delete); + for (const constraint of update.constraints) { + try { + await knex.schema.alterTable(update.table, (table) => { + table.dropForeign([constraint.column]); + }); + } catch (err) { + logger.warn(`Couldn't drop foreign key ${update.table}.${constraint.column}->${constraint.references}`); + logger.warn(err); } - }); + + try { + await knex.schema.alterTable(update.table, (table) => { + for (const constraint of update.constraints) { + table.foreign(constraint.column).references(constraint.references).onDelete(constraint.on_delete); + } + }); + } catch (err) { + logger.warn(`Couldn't add foreign key to ${update.table}.${constraint.column}->${constraint.references}`); + logger.warn(err); + } + } } } export async function down(knex: Knex): Promise { for (const update of updates) { - await knex.schema.alterTable(update.table, (table) => { - for (const constraint of update.constraints) { - table.dropForeign([constraint.column]); - table.foreign(constraint.column).references(constraint.references); + for (const constraint of update.constraints) { + try { + await knex.schema.alterTable(update.table, (table) => { + table.dropForeign([constraint.column]); + }); + } catch (err) { + logger.warn(`Couldn't drop foreign key ${update.table}.${constraint.column}->${constraint.references}`); + logger.warn(err); } - }); + + try { + await knex.schema.alterTable(update.table, (table) => { + table.foreign(constraint.column).references(constraint.references); + }); + } catch (err) { + logger.warn(`Couldn't add foreign key to ${update.table}.${constraint.column}->${constraint.references}`); + logger.warn(err); + } + } } } From 071410c86f076291d9586b17ab419d07c638372c Mon Sep 17 00:00:00 2001 From: Rijk van Zanten Date: Tue, 1 Jun 2021 16:47:17 -0400 Subject: [PATCH 05/83] Update readme.md --- readme.md | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/readme.md b/readme.md index d1d92c6307..03e7d8abdc 100644 --- a/readme.md +++ b/readme.md @@ -24,10 +24,7 @@ Directus is a real-time API and App dashboard for managing SQL database content. This is _pre-release_ software. While we're providing migrations between versions, changes may occur at any time, and certain features might be missing or broken. You can follow along with -[the issue tracker](https://github.com/directus/directus/issues) for an in-depth list of upcoming enhancements, with the -following notable features still under development: - -- [ ] Import/Export Endpoints +[the issue tracker](https://github.com/directus/directus/issues) for an in-depth list of upcoming enhancements.
From 01bc1f654549b26e10855d949b3467f704e2ee90 Mon Sep 17 00:00:00 2001 From: rijkvanzanten Date: Tue, 1 Jun 2021 17:45:40 -0400 Subject: [PATCH 06/83] Upgrade knex-schema-inspector --- api/package.json | 2 +- package-lock.json | 16 ++++++++-------- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/api/package.json b/api/package.json index b87b002e10..bc857317e9 100644 --- a/api/package.json +++ b/api/package.json @@ -111,7 +111,7 @@ "jsonwebtoken": "^8.5.1", "keyv": "^4.0.3", "knex": "^0.95.6", - "knex-schema-inspector": "^1.5.4", + "knex-schema-inspector": "^1.5.5", "liquidjs": "^9.25.0", "lodash": "^4.17.21", "macos-release": "^2.4.1", diff --git a/package-lock.json b/package-lock.json index 6bf102ab62..f5ac37542f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -104,7 +104,7 @@ "jsonwebtoken": "^8.5.1", "keyv": "^4.0.3", "knex": "^0.95.6", - "knex-schema-inspector": "^1.5.4", + "knex-schema-inspector": "^1.5.5", "liquidjs": "^9.25.0", "lodash": "^4.17.21", "macos-release": "^2.4.1", @@ -31809,9 +31809,9 @@ } }, "node_modules/knex-schema-inspector": { - "version": "1.5.4", - "resolved": "https://registry.npmjs.org/knex-schema-inspector/-/knex-schema-inspector-1.5.4.tgz", - "integrity": "sha512-eoLP4G8WVjJ7heeYnEZQ2ErcRwJAZE600O9lfX/P26KnPLWM4/4vuuYYD+qoHCWME/DqjVRYFaSIgC24mZM5Wg==", + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/knex-schema-inspector/-/knex-schema-inspector-1.5.5.tgz", + "integrity": "sha512-U/pzQ9FSx8h2NZ4lPUK5zsHhWp+/fAv/dhXR4xJen1U5UsHBayd415xRh3Ez1u6xECvqFadvXHLup9ZBgCVGIg==", "dependencies": { "lodash.flatten": "^4.4.0" } @@ -73097,7 +73097,7 @@ "keyv": "^4.0.3", "keyv-memcache": "^1.2.5", "knex": "^0.95.6", - "knex-schema-inspector": "^1.5.4", + "knex-schema-inspector": "1.5.5", "liquidjs": "^9.25.0", "lodash": "^4.17.21", "macos-release": "^2.4.1", @@ -83567,9 +83567,9 @@ } }, "knex-schema-inspector": { - "version": "1.5.4", - "resolved": "https://registry.npmjs.org/knex-schema-inspector/-/knex-schema-inspector-1.5.4.tgz", - "integrity": "sha512-eoLP4G8WVjJ7heeYnEZQ2ErcRwJAZE600O9lfX/P26KnPLWM4/4vuuYYD+qoHCWME/DqjVRYFaSIgC24mZM5Wg==", + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/knex-schema-inspector/-/knex-schema-inspector-1.5.5.tgz", + "integrity": "sha512-U/pzQ9FSx8h2NZ4lPUK5zsHhWp+/fAv/dhXR4xJen1U5UsHBayd415xRh3Ez1u6xECvqFadvXHLup9ZBgCVGIg==", "requires": { "lodash.flatten": "^4.4.0" } From c4b4e3586fc9146c938086fa3682c2c5d9c1a065 Mon Sep 17 00:00:00 2001 From: rijkvanzanten Date: Tue, 1 Jun 2021 18:49:52 -0400 Subject: [PATCH 07/83] Cleanup FK indexes in MySQL uses --- .../20210519A-add-system-fk-triggers.ts | 40 +++++++++++++++++-- 1 file changed, 37 insertions(+), 3 deletions(-) diff --git a/api/src/database/migrations/20210519A-add-system-fk-triggers.ts b/api/src/database/migrations/20210519A-add-system-fk-triggers.ts index ee8f740559..33837d7849 100644 --- a/api/src/database/migrations/20210519A-add-system-fk-triggers.ts +++ b/api/src/database/migrations/20210519A-add-system-fk-triggers.ts @@ -91,11 +91,27 @@ export async function up(knex: Knex): Promise { logger.warn(err); } + /** + * MySQL won't delete the index when you drop the foreign key constraint. Gotta make + * sure to clean those up as well + */ + if (knex.client.constructor.name === 'Client_MySQL') { + try { + await knex.schema.alterTable(update.table, (table) => { + // Knex uses a default convention for index names: `table_column_type` + table.dropIndex([constraint.column], `${update.table}_${constraint.column}_foreign`); + }); + } catch (err) { + logger.warn( + `Couldn't clean up index for foreign key ${update.table}.${constraint.column}->${constraint.references}` + ); + logger.warn(err); + } + } + try { await knex.schema.alterTable(update.table, (table) => { - for (const constraint of update.constraints) { - table.foreign(constraint.column).references(constraint.references).onDelete(constraint.on_delete); - } + table.foreign(constraint.column).references(constraint.references).onDelete(constraint.on_delete); }); } catch (err) { logger.warn(`Couldn't add foreign key to ${update.table}.${constraint.column}->${constraint.references}`); @@ -117,6 +133,24 @@ export async function down(knex: Knex): Promise { logger.warn(err); } + /** + * MySQL won't delete the index when you drop the foreign key constraint. Gotta make + * sure to clean those up as well + */ + if (knex.client.constructor.name === 'Client_MySQL') { + try { + await knex.schema.alterTable(update.table, (table) => { + // Knex uses a default convention for index names: `table_column_type` + table.dropIndex([constraint.column], `${update.table}_${constraint.column}_foreign`); + }); + } catch (err) { + logger.warn( + `Couldn't clean up index for foreign key ${update.table}.${constraint.column}->${constraint.references}` + ); + logger.warn(err); + } + } + try { await knex.schema.alterTable(update.table, (table) => { table.foreign(constraint.column).references(constraint.references); From 58cf72b07025e131abdba7babc4a34ef7a1a8069 Mon Sep 17 00:00:00 2001 From: rijkvanzanten Date: Tue, 1 Jun 2021 19:51:11 -0400 Subject: [PATCH 08/83] Add changelog --- changelog.md | 101 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 101 insertions(+) create mode 100644 changelog.md diff --git a/changelog.md b/changelog.md new file mode 100644 index 0000000000..5af35f478d --- /dev/null +++ b/changelog.md @@ -0,0 +1,101 @@ +# Changelog + +_Gaps between patch versions are faulty or test releases_ + +## 9.0.0-rc.70 (June 1st, 2021) + +### :sparkles: New Features + +- API + + - added support for mirroring foreign key constraints with the database (@rijkvanzanten) (#5615) + [933537240046e257d38b41692bffa2ad07c81831] + - added support for new environment variables that allow you to control maximum asset generation parameters + (@rijkvanzanten) (#5795) [8d3102fbad815bf0c4c6afde4ca7900d0c863149] + - added support for deep filtering on many-to-any items (@rijkvanzanten) (#5855) + [ce59ce0d2f765fbe556eaa91016c38e22ebd7854] + +- App + +### :rocket: Improvements + +- API + - treat `uniqueidentifier` in MS SQL as a UUID (@Oreilles) (#5804) [bb14309b9c16aa29eac9422f105d310ce5a6cf03] + - throw a 503 service unavailable when the storage adapter crashes during a file upload (@rijkvanzanten) + [e2c9e15a981bd7034b1c5dad839a9816148aa594] + - set the default TTL for cache to a more reasonable 10 minutes (from 30) (@rijkvanzanten) + [02089a6227575a340bbf5b926cf9717a89941138] +- App + - set the default value for boolean filters to `true`, preventing confusion around the state of the toggle in advanced + filters (@rijkvanzanten) [4277de088988a65f9ea4ea18a4121488a24a8e87] + - prevent unusable collections from being selected in the relational setup (@rijkvanzanten) + [a5cba0dc7e3a1566095deb58d10297f3b7bbe9bd] + - don't allow using `_contains` on a UUID (@rijkvanzanten) [4beccb6a8a9e33d0ae0e47333bfacd60741a91bc] + - only close menu boxes when clicking on menu content, ignore menu box itself (@rijkvanzanten) + [a40d75a184e2257256a0b1e33fcdcc696e9ad73b] + - allow setting on-create and on-update triggers for many-to-one UUID fields (@rijkvanzanten) + [3d3a508880f0fd51df8a8f05b990c0687fca53f5] + - allow rendering a translations preview next to the language in the translations interface (@rijkvanzanten) + [5c66c53478400261d80113edc3c32186d3fdb6f0] + - allow the user to update it's own profile in the app recommended permissions (@cupcakearmy) + [e7381b24906f5d584be47f0c360f852704af631d] +- drive-gcs + - improve uploading performance (@rijkvanzanten) [5704cd46d28217ac464cea4d2a88356c80fb75f4] + +### :bug: Bug Fixes + +- API + - fixed an issue that could cause updates on o2m items to fail (@MiniDigger) (#5763) + [1cc990031751ddfb0834c3dfca796eb3e653918d] + - fixed an issue that could cause `_or` filters to shortcircuit (@rijkvanzanten) (#5806) + [bc8399c362534cb8215c4bb272fd66c870f9a9bc] + - fixed an issue that would prevent nested one to many item updates to store the correct parent revision + (@rijkvanzanten) [95307cee979940558fafd8f822bc9fe8083bd526] +- App + - fixed custom fields on system collections not aligning to the configured sort order (#5810) (@rijkvanzanten) + [33e0236cfe9c579982db9b3ae928d2bf478eb6e8] + - fixed a small issue that would prevent the advanced filter field selection from allowing multiple nested fields from + being opened (@rijkvanzanten) [158316f86318e83de5d5e6e203306a5603458c6d] + - fixed an issue that would require non-null fields to be submitted in every GraphQL mutation (@rijkvanzanten) + [246c55266b78ae063408dbc1b04d1797bd85e476] + - fixed fallback interface for `boolean` type fields (@rijkvanzanten) [550621479e3b9173f963a0bd723595213f56dedb] + - fixed an issue that would make custom field translations disappear when reordering the fields in settings + (@rijkvanzanten) [b782eba859d0a91d08dfd39ab41e6952db0c94b7] + - fixed an issue that would cause the relational setup to auto generate an invalid name when making a recursive + many-to-many field (@rijkvanzanten) [bd6cab8989ea8a8af3b0848c51ee9b3fae289ab3] + - fix collection search when using custom nav override structure (@Oreilles) + [8590eec662364ce8c865b529394f271b8b46a1c7] + - fixed an issue where dragging an event in the calendar layout could save with the wrong timezone when using a + datetime field (@rijkvanzanten) [dee8160f184af4f041580d76ce88da5dc3eb0d12] + - don't let v-error messages overflow the bounding box of the dialog (@rijkvanzanten) + [374e6e5a7dd3d752a25c352df7ce5f661a5b15c1] + - fixed an issue that would prevent the user from continuing in field setup when using an existing junction table for + a many-to-many relationship (@rijkvanzanten) [2660c3995426dd3d8d36a8022893cddcd27ed53f] + - fixed the highlight color of a selected folder in the move-folder dialog (@rijkvanzanten) + [de0b9627365b392d4af0589a52b122cf0b5ec927] +- drive-azure + - fixed an issue that would cause file reads from S3/Azure to be double-prefixed with the storage root option + (@aidenfoxx) (#5788) [017646a8344f2457761a1c06b45fdd2294b522fe] +- drive-s3 + - fixed an issue that would cause file reads from S3/Azure to be double-prefixed with the storage root option + (@aidenfoxx) (#5788) [017646a8344f2457761a1c06b45fdd2294b522fe] + - fixed an issue that would cause issues when leaving ACL empty (@rijkvanzanten) + [eb68195cd5cd72ab16b5480f80162e9c94b7d004] + - fixed an issue that would prevent Range header requests from sending the correct chunk of data (@rijkvanzanten) + [925c3fa3fa4b8ad34801ecb17c954e3b0c4a19a1] +- gatsby-source-directus + - fixed static token support (@TheAzack9) [48cdf6e0835b6e077cb0641be30d49483c611439] +- schema + - ignore views when reading tables in MS SQL (@wc-matteo) (#5816) [32f4fcf0c717f1d96e1e418e9f91e00fbb50ac8a] + +### :memo: Documentation + +- added additional information on sort setup (@benhaynes) [9687970a32af252ee723a6a1f398a3dd8bef50b9] +- fixed a couple typos in email-templates (@larssobota) (#5750) [e94626d8444aed57b8b4c5258d8e0cbdb5541b0e] +- made sure that the latest version of the Docker image is used when copy pasting the docker-compose example + (@rijkvanzanten) [477c36d86771190f8c314b0fa641a86f3ee1a3fb] +- improved the issue template for new issues on GitHub (@benhaynes) [c0182d7b14e31e8fe9d3103082fcedcbbda5dd99] +- added a note on sending relational data to the Data Access page (@moekify) [5f4a24d45637fdb2b5b2cb024002c5b6434e35b0] +- fixed the links to the API reference in the environment variable overview (@cosminepureanu) + [7f5e59b1174f5d1ce12103f823001d53f8364295] +- remove Patreon in favor of GitHub Sponsors (@benhaynes) [56ad3c04dd0b350905aa23f2483045219a1a6502] From a73d6d290159f30a90b88602371e2842254d5e33 Mon Sep 17 00:00:00 2001 From: rijkvanzanten Date: Tue, 1 Jun 2021 20:07:52 -0400 Subject: [PATCH 09/83] Improve formatting of changelog --- changelog.md | 180 ++++++++++++++++++++++++++++----------------------- 1 file changed, 99 insertions(+), 81 deletions(-) diff --git a/changelog.md b/changelog.md index 5af35f478d..bd287b50ff 100644 --- a/changelog.md +++ b/changelog.md @@ -1,101 +1,119 @@ # Changelog -_Gaps between patch versions are faulty or test releases_ - ## 9.0.0-rc.70 (June 1st, 2021) ### :sparkles: New Features -- API - - - added support for mirroring foreign key constraints with the database (@rijkvanzanten) (#5615) - [933537240046e257d38b41692bffa2ad07c81831] - - added support for new environment variables that allow you to control maximum asset generation parameters - (@rijkvanzanten) (#5795) [8d3102fbad815bf0c4c6afde4ca7900d0c863149] - - added support for deep filtering on many-to-any items (@rijkvanzanten) (#5855) - [ce59ce0d2f765fbe556eaa91016c38e22ebd7854] - -- App +- **API** + - [#5615](https://github.com/directus/directus/pull/5615) added support for mirroring foreign key constraints with the + database ([@rijkvanzanten](https://github.com/rijkvanzanten)) + - [#5795](https://github.com/directus/directus/pull/5795) added support for new environment variables that allow you + to control maximum asset generation parameters ([@rijkvanzanten](https://github.com/rijkvanzanten)) + - [#5855](https://github.com/directus/directus/pull/5855) added support for deep filtering on many-to-any items + ([@rijkvanzanten](https://github.com/rijkvanzanten)) ### :rocket: Improvements -- API - - treat `uniqueidentifier` in MS SQL as a UUID (@Oreilles) (#5804) [bb14309b9c16aa29eac9422f105d310ce5a6cf03] - - throw a 503 service unavailable when the storage adapter crashes during a file upload (@rijkvanzanten) - [e2c9e15a981bd7034b1c5dad839a9816148aa594] - - set the default TTL for cache to a more reasonable 10 minutes (from 30) (@rijkvanzanten) - [02089a6227575a340bbf5b926cf9717a89941138] -- App +- **API** + - [#5804](https://github.com/directus/directus/pull/5804) treat `uniqueidentifier` in MS SQL as a UUID + ([@Oreilles](https://github.com/Oreilles)) + - [`e2c9e15`](https://github.com/directus/directus/commit/e2c9e15a981bd7034b1c5dad839a9816148aa594) throw a 503 + service unavailable when the storage adapter crashes during a file upload + ([@rijkvanzanten](https://github.com/rijkvanzanten)) + - [`02089a6`](https://github.com/directus/directus/commit/02089a6227575a340bbf5b926cf9717a89941138) set the default + TTL for cache to a more reasonable 10 minutes (from 30) ([@rijkvanzanten](https://github.com/rijkvanzanten)) +- **App** - set the default value for boolean filters to `true`, preventing confusion around the state of the toggle in advanced - filters (@rijkvanzanten) [4277de088988a65f9ea4ea18a4121488a24a8e87] - - prevent unusable collections from being selected in the relational setup (@rijkvanzanten) - [a5cba0dc7e3a1566095deb58d10297f3b7bbe9bd] - - don't allow using `_contains` on a UUID (@rijkvanzanten) [4beccb6a8a9e33d0ae0e47333bfacd60741a91bc] - - only close menu boxes when clicking on menu content, ignore menu box itself (@rijkvanzanten) - [a40d75a184e2257256a0b1e33fcdcc696e9ad73b] - - allow setting on-create and on-update triggers for many-to-one UUID fields (@rijkvanzanten) - [3d3a508880f0fd51df8a8f05b990c0687fca53f5] - - allow rendering a translations preview next to the language in the translations interface (@rijkvanzanten) - [5c66c53478400261d80113edc3c32186d3fdb6f0] - - allow the user to update it's own profile in the app recommended permissions (@cupcakearmy) - [e7381b24906f5d584be47f0c360f852704af631d] -- drive-gcs - - improve uploading performance (@rijkvanzanten) [5704cd46d28217ac464cea4d2a88356c80fb75f4] + [`4277de0`](https://github.com/directus/directus/commit/4277de088988a65f9ea4ea18a4121488a24a8e87) filters + ([@rijkvanzanten](https://github.com/rijkvanzanten)) + - [`a5cba0d`](https://github.com/directus/directus/commit/a5cba0dc7e3a1566095deb58d10297f3b7bbe9bd) prevent unusable + collections from being selected in the relational setup ([@rijkvanzanten](https://github.com/rijkvanzanten)) + - [`4beccb6`](https://github.com/directus/directus/commit/4beccb6a8a9e33d0ae0e47333bfacd60741a91bc) don't allow using + `_contains` on a UUID ([@rijkvanzanten](https://github.com/rijkvanzanten)) + - [`a40d75a`](https://github.com/directus/directus/commit/a40d75a184e2257256a0b1e33fcdcc696e9ad73b) only close menu + boxes when clicking on menu content, ignore menu box itself ([@rijkvanzanten](https://github.com/rijkvanzanten)) + - [`3d3a508`](https://github.com/directus/directus/commit/3d3a508880f0fd51df8a8f05b990c0687fca53f5) allow setting + on-create and on-update triggers for many-to-one UUID fields ([@rijkvanzanten](https://github.com/rijkvanzanten)) + - [`5c66c53`](https://github.com/directus/directus/commit/5c66c53478400261d80113edc3c32186d3fdb6f0) allow rendering a + translations preview next to the language in the translations interface + ([@rijkvanzanten](https://github.com/rijkvanzanten)) + - [#5943](https://github.com/directus/directus/pull/5943) allow the user to update it's own profile in the app + recommended permissions ([@cupcakearmy](https://github.com/cupcakearmy)) +- **drive-gcs** + - [`5704cd4`](https://github.com/directus/directus/commit/5704cd46d28217ac464cea4d2a88356c80fb75f4) improve uploading + performance ([@rijkvanzanten](https://github.com/rijkvanzanten)) ### :bug: Bug Fixes -- API - - fixed an issue that could cause updates on o2m items to fail (@MiniDigger) (#5763) - [1cc990031751ddfb0834c3dfca796eb3e653918d] - - fixed an issue that could cause `_or` filters to shortcircuit (@rijkvanzanten) (#5806) - [bc8399c362534cb8215c4bb272fd66c870f9a9bc] - - fixed an issue that would prevent nested one to many item updates to store the correct parent revision - (@rijkvanzanten) [95307cee979940558fafd8f822bc9fe8083bd526] -- App - - fixed custom fields on system collections not aligning to the configured sort order (#5810) (@rijkvanzanten) - [33e0236cfe9c579982db9b3ae928d2bf478eb6e8] +- **API** + - [#5763](https://github.com/directus/directus/pull/5763) fixed an issue that could cause updates on o2m items to fail + ([@MiniDigger](https://github.com/MiniDigger)) + - [#5806](https://github.com/directus/directus/pull/5806) fixed an issue that could cause `_or` filters to + shortcircuit ([@rijkvanzanten](https://github.com/rijkvanzanten)) + - [`95307ce`](https://github.com/directus/directus/commit/95307cee979940558fafd8f822bc9fe8083bd526) fixed an issue + that would prevent nested one to many item updates to store the correct parent revision + ([@rijkvanzanten](https://github.com/rijkvanzanten)) +- **App** + - [#5810](https://github.com/directus/directus/pull/) fixed custom fields on system collections not aligning to the + configured sort order ([@rijkvanzanten5810](https://github.com/rijkvanzanten5810)) - fixed a small issue that would prevent the advanced filter field selection from allowing multiple nested fields from - being opened (@rijkvanzanten) [158316f86318e83de5d5e6e203306a5603458c6d] - - fixed an issue that would require non-null fields to be submitted in every GraphQL mutation (@rijkvanzanten) - [246c55266b78ae063408dbc1b04d1797bd85e476] - - fixed fallback interface for `boolean` type fields (@rijkvanzanten) [550621479e3b9173f963a0bd723595213f56dedb] - - fixed an issue that would make custom field translations disappear when reordering the fields in settings - (@rijkvanzanten) [b782eba859d0a91d08dfd39ab41e6952db0c94b7] + [`158316f`](https://github.com/directus/directus/commit/158316f86318e83de5d5e6e203306a5603458c6d) being opened + ([@rijkvanzanten](https://github.com/rijkvanzanten)) + - [`246c552`](https://github.com/directus/directus/commit/246c55266b78ae063408dbc1b04d1797bd85e476) fixed an issue + that would require non-null fields to be submitted in every GraphQL mutation + ([@rijkvanzanten](https://github.com/rijkvanzanten)) + - [`5506214`](https://github.com/directus/directus/commit/550621479e3b9173f963a0bd723595213f56dedb) fixed fallback + interface for `boolean` type fields ([@rijkvanzanten](https://github.com/rijkvanzanten)) + - [`b782eba`](https://github.com/directus/directus/commit/b782eba859d0a91d08dfd39ab41e6952db0c94b7) fixed an issue + that would make custom field translations disappear when reordering the fields in settings + ([@rijkvanzanten](https://github.com/rijkvanzanten)) - fixed an issue that would cause the relational setup to auto generate an invalid name when making a recursive - many-to-many field (@rijkvanzanten) [bd6cab8989ea8a8af3b0848c51ee9b3fae289ab3] - - fix collection search when using custom nav override structure (@Oreilles) - [8590eec662364ce8c865b529394f271b8b46a1c7] + [`bd6cab8`](https://github.com/directus/directus/commit/bd6cab8989ea8a8af3b0848c51ee9b3fae289ab3) many-to-many field + ([@rijkvanzanten](https://github.com/rijkvanzanten)) + - [`8590eec`](https://github.com/directus/directus/commit/8590eec662364ce8c865b529394f271b8b46a1c7) fix collection + search when using custom nav override structure ([@Oreilles](https://github.com/Oreilles)) - fixed an issue where dragging an event in the calendar layout could save with the wrong timezone when using a - datetime field (@rijkvanzanten) [dee8160f184af4f041580d76ce88da5dc3eb0d12] - - don't let v-error messages overflow the bounding box of the dialog (@rijkvanzanten) - [374e6e5a7dd3d752a25c352df7ce5f661a5b15c1] + [`dee8160`](https://github.com/directus/directus/commit/dee8160f184af4f041580d76ce88da5dc3eb0d12) datetime field + ([@rijkvanzanten](https://github.com/rijkvanzanten)) + - [`374e6e5`](https://github.com/directus/directus/commit/374e6e5a7dd3d752a25c352df7ce5f661a5b15c1) don't let v-error + messages overflow the bounding box of the dialog ([@rijkvanzanten](https://github.com/rijkvanzanten)) - fixed an issue that would prevent the user from continuing in field setup when using an existing junction table for - a many-to-many relationship (@rijkvanzanten) [2660c3995426dd3d8d36a8022893cddcd27ed53f] - - fixed the highlight color of a selected folder in the move-folder dialog (@rijkvanzanten) - [de0b9627365b392d4af0589a52b122cf0b5ec927] -- drive-azure - - fixed an issue that would cause file reads from S3/Azure to be double-prefixed with the storage root option - (@aidenfoxx) (#5788) [017646a8344f2457761a1c06b45fdd2294b522fe] -- drive-s3 - - fixed an issue that would cause file reads from S3/Azure to be double-prefixed with the storage root option - (@aidenfoxx) (#5788) [017646a8344f2457761a1c06b45fdd2294b522fe] - - fixed an issue that would cause issues when leaving ACL empty (@rijkvanzanten) - [eb68195cd5cd72ab16b5480f80162e9c94b7d004] - - fixed an issue that would prevent Range header requests from sending the correct chunk of data (@rijkvanzanten) - [925c3fa3fa4b8ad34801ecb17c954e3b0c4a19a1] -- gatsby-source-directus - - fixed static token support (@TheAzack9) [48cdf6e0835b6e077cb0641be30d49483c611439] -- schema - - ignore views when reading tables in MS SQL (@wc-matteo) (#5816) [32f4fcf0c717f1d96e1e418e9f91e00fbb50ac8a] + [`2660c39`](https://github.com/directus/directus/commit/2660c3995426dd3d8d36a8022893cddcd27ed53f) a many-to-many + relationship ([@rijkvanzanten](https://github.com/rijkvanzanten)) + - [`de0b962`](https://github.com/directus/directus/commit/de0b9627365b392d4af0589a52b122cf0b5ec927) fixed the + highlight color of a selected folder in the move-folder dialog ([@rijkvanzanten](https://github.com/rijkvanzanten)) +- **drive-azure** + - [#5788](https://github.com/directus/directus/pull/) fixed an issue that would cause file reads from S3/Azure to be + double-prefixed with the storage root option ([@aidenfoxx](https://github.com/aidenfoxx)) +- **drive-s3** + - [#5788](https://github.com/directus/directus/pull/) fixed an issue that would cause file reads from S3/Azure to be + double-prefixed with the storage root option ([@aidenfoxx](https://github.com/aidenfoxx)) + - [`eb68195`](https://github.com/directus/directus/commit/eb68195cd5cd72ab16b5480f80162e9c94b7d004) fixed an issue + that would cause issues when leaving ACL empty ([@rijkvanzanten](https://github.com/rijkvanzanten)) + - [`925c3fa`](https://github.com/directus/directus/commit/925c3fa3fa4b8ad34801ecb17c954e3b0c4a19a1) fixed an issue + that would prevent Range header requests from sending the correct chunk of data + ([@rijkvanzanten](https://github.com/rijkvanzanten)) +- **gatsby-source-directus** + - [`48cdf6e`](https://github.com/directus/directus/commit/48cdf6e0835b6e077cb0641be30d49483c611439) fixed static token + support ([@TheAzack9](https://github.com/TheAzack9)) +- **schema** + - [#5816](https://github.com/directus/directus/pull/5816) ignore views when reading tables in MS SQL + ([@wc-matteo](https://github.com/wc-matteo)) ### :memo: Documentation -- added additional information on sort setup (@benhaynes) [9687970a32af252ee723a6a1f398a3dd8bef50b9] -- fixed a couple typos in email-templates (@larssobota) (#5750) [e94626d8444aed57b8b4c5258d8e0cbdb5541b0e] -- made sure that the latest version of the Docker image is used when copy pasting the docker-compose example - (@rijkvanzanten) [477c36d86771190f8c314b0fa641a86f3ee1a3fb] -- improved the issue template for new issues on GitHub (@benhaynes) [c0182d7b14e31e8fe9d3103082fcedcbbda5dd99] -- added a note on sending relational data to the Data Access page (@moekify) [5f4a24d45637fdb2b5b2cb024002c5b6434e35b0] -- fixed the links to the API reference in the environment variable overview (@cosminepureanu) - [7f5e59b1174f5d1ce12103f823001d53f8364295] -- remove Patreon in favor of GitHub Sponsors (@benhaynes) [56ad3c04dd0b350905aa23f2483045219a1a6502] +- added additional information on sort setup\ + ([@benhaynes](https://github.com/benhaynes)) +- [#5750](https://github.com/directus/directus/pull/5750) fixed a couple typos in email-templates + ([@larssobota](https://github.com/larssobota)) +- [`477c36d`](https://github.com/directus/directus/commit/477c36d86771190f8c314b0fa641a86f3ee1a3fb) made sure that the + latest version of the Docker image is used when copy pasting the docker-compose example + ([@rijkvanzanten](https://github.com/rijkvanzanten)) +- [`c0182d7`](https://github.com/directus/directus/commit/c0182d7b14e31e8fe9d3103082fcedcbbda5dd99) improved the issue + template for new issues on GitHub ([@benhaynes](https://github.com/benhaynes)) +- [`5f4a24d`](https://github.com/directus/directus/commit/5f4a24d45637fdb2b5b2cb024002c5b6434e35b0) added a note on + sending relational data to the Data Access page ([@moekify](https://github.com/moekify)) +- [`7f5e59b`](https://github.com/directus/directus/commit/7f5e59b1174f5d1ce12103f823001d53f8364295) fixed the links to + the API reference in the environment variable overview ([@cosminepureanu](https://github.com/cosminepureanu)) +- [`56ad3c0`](https://github.com/directus/directus/commit/56ad3c04dd0b350905aa23f2483045219a1a6502) remove Patreon in + favor of GitHub Sponsors ([@benhaynes](https://github.com/benhaynes)) From 9f2c0fa0cebe9fb30ed5dd16068949d433b87140 Mon Sep 17 00:00:00 2001 From: Rijk van Zanten Date: Tue, 1 Jun 2021 20:10:34 -0400 Subject: [PATCH 10/83] Update changelog.md --- changelog.md | 20 +++++--------------- 1 file changed, 5 insertions(+), 15 deletions(-) diff --git a/changelog.md b/changelog.md index bd287b50ff..b80714c3a3 100644 --- a/changelog.md +++ b/changelog.md @@ -23,9 +23,7 @@ - [`02089a6`](https://github.com/directus/directus/commit/02089a6227575a340bbf5b926cf9717a89941138) set the default TTL for cache to a more reasonable 10 minutes (from 30) ([@rijkvanzanten](https://github.com/rijkvanzanten)) - **App** - - set the default value for boolean filters to `true`, preventing confusion around the state of the toggle in advanced - [`4277de0`](https://github.com/directus/directus/commit/4277de088988a65f9ea4ea18a4121488a24a8e87) filters - ([@rijkvanzanten](https://github.com/rijkvanzanten)) + - [`4277de0`](https://github.com/directus/directus/commit/4277de088988a65f9ea4ea18a4121488a24a8e87) set the default value for boolean filters to `true`, preventing confusion around the state of the toggle in advanced filters ([@rijkvanzanten](https://github.com/rijkvanzanten)) - [`a5cba0d`](https://github.com/directus/directus/commit/a5cba0dc7e3a1566095deb58d10297f3b7bbe9bd) prevent unusable collections from being selected in the relational setup ([@rijkvanzanten](https://github.com/rijkvanzanten)) - [`4beccb6`](https://github.com/directus/directus/commit/4beccb6a8a9e33d0ae0e47333bfacd60741a91bc) don't allow using @@ -56,9 +54,7 @@ - **App** - [#5810](https://github.com/directus/directus/pull/) fixed custom fields on system collections not aligning to the configured sort order ([@rijkvanzanten5810](https://github.com/rijkvanzanten5810)) - - fixed a small issue that would prevent the advanced filter field selection from allowing multiple nested fields from - [`158316f`](https://github.com/directus/directus/commit/158316f86318e83de5d5e6e203306a5603458c6d) being opened - ([@rijkvanzanten](https://github.com/rijkvanzanten)) + - [`158316f`](https://github.com/directus/directus/commit/158316f86318e83de5d5e6e203306a5603458c6d) fixed a small issue that would prevent the advanced filter field selection from allowing multiple nested fields from being opened ([@rijkvanzanten](https://github.com/rijkvanzanten)) - [`246c552`](https://github.com/directus/directus/commit/246c55266b78ae063408dbc1b04d1797bd85e476) fixed an issue that would require non-null fields to be submitted in every GraphQL mutation ([@rijkvanzanten](https://github.com/rijkvanzanten)) @@ -67,19 +63,13 @@ - [`b782eba`](https://github.com/directus/directus/commit/b782eba859d0a91d08dfd39ab41e6952db0c94b7) fixed an issue that would make custom field translations disappear when reordering the fields in settings ([@rijkvanzanten](https://github.com/rijkvanzanten)) - - fixed an issue that would cause the relational setup to auto generate an invalid name when making a recursive - [`bd6cab8`](https://github.com/directus/directus/commit/bd6cab8989ea8a8af3b0848c51ee9b3fae289ab3) many-to-many field - ([@rijkvanzanten](https://github.com/rijkvanzanten)) + - [`bd6cab8`](https://github.com/directus/directus/commit/bd6cab8989ea8a8af3b0848c51ee9b3fae289ab3) fixed an issue that would cause the relational setup to auto generate an invalid name when making a recursive many-to-many field ([@rijkvanzanten](https://github.com/rijkvanzanten)) - [`8590eec`](https://github.com/directus/directus/commit/8590eec662364ce8c865b529394f271b8b46a1c7) fix collection search when using custom nav override structure ([@Oreilles](https://github.com/Oreilles)) - - fixed an issue where dragging an event in the calendar layout could save with the wrong timezone when using a - [`dee8160`](https://github.com/directus/directus/commit/dee8160f184af4f041580d76ce88da5dc3eb0d12) datetime field - ([@rijkvanzanten](https://github.com/rijkvanzanten)) + - [`dee8160`](https://github.com/directus/directus/commit/dee8160f184af4f041580d76ce88da5dc3eb0d12) fixed an issue where dragging an event in the calendar layout could save with the wrong timezone when using a datetime field ([@rijkvanzanten](https://github.com/rijkvanzanten)) - [`374e6e5`](https://github.com/directus/directus/commit/374e6e5a7dd3d752a25c352df7ce5f661a5b15c1) don't let v-error messages overflow the bounding box of the dialog ([@rijkvanzanten](https://github.com/rijkvanzanten)) - - fixed an issue that would prevent the user from continuing in field setup when using an existing junction table for - [`2660c39`](https://github.com/directus/directus/commit/2660c3995426dd3d8d36a8022893cddcd27ed53f) a many-to-many - relationship ([@rijkvanzanten](https://github.com/rijkvanzanten)) + - [`2660c39`](https://github.com/directus/directus/commit/2660c3995426dd3d8d36a8022893cddcd27ed53f) fixed an issue that would prevent the user from continuing in field setup when using an existing junction table for a many-to-many relationship ([@rijkvanzanten](https://github.com/rijkvanzanten)) - [`de0b962`](https://github.com/directus/directus/commit/de0b9627365b392d4af0589a52b122cf0b5ec927) fixed the highlight color of a selected folder in the move-folder dialog ([@rijkvanzanten](https://github.com/rijkvanzanten)) - **drive-azure** From 6a9d0d407451e29dd939cf40c49790cecb0c3f7c Mon Sep 17 00:00:00 2001 From: rijkvanzanten Date: Tue, 1 Jun 2021 20:11:01 -0400 Subject: [PATCH 11/83] Update package-lock --- package-lock.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package-lock.json b/package-lock.json index f5ac37542f..250e581441 100644 --- a/package-lock.json +++ b/package-lock.json @@ -73097,7 +73097,7 @@ "keyv": "^4.0.3", "keyv-memcache": "^1.2.5", "knex": "^0.95.6", - "knex-schema-inspector": "1.5.5", + "knex-schema-inspector": "^1.5.5", "liquidjs": "^9.25.0", "lodash": "^4.17.21", "macos-release": "^2.4.1", From 77b082c942677e84952f99454bca83604139be9e Mon Sep 17 00:00:00 2001 From: rijkvanzanten Date: Tue, 1 Jun 2021 20:12:28 -0400 Subject: [PATCH 12/83] Remove changesets experiment --- .changeset/cold-bikes-leave.md | 5 - .changeset/config.json | 10 - .changeset/eight-cups-thank.md | 5 - .changeset/fair-dingos-accept.md | 6 - .changeset/five-suits-boil.md | 5 - .changeset/fluffy-zebras-cross.md | 6 - .changeset/forty-birds-wonder.md | 5 - .changeset/friendly-plants-explode.md | 5 - .changeset/gentle-ladybugs-switch.md | 5 - .changeset/hot-seahorses-walk.md | 5 - .changeset/lemon-horses-hide.md | 5 - .changeset/lovely-cherries-end.md | 5 - .changeset/mean-jars-smile.md | 5 - .changeset/neat-seahorses-reflect.md | 6 - .changeset/pre.json | 21 - .changeset/purple-pears-allow.md | 5 - .changeset/rude-cheetahs-suffer.md | 5 - .changeset/slow-jokes-agree.md | 5 - .changeset/small-cats-beg.md | 8 - .changeset/stale-keys-draw.md | 6 - .changeset/strange-crabs-admire.md | 5 - .changeset/stupid-hairs-smell.md | 5 - .changeset/stupid-hornets-work.md | 5 - .changeset/sweet-rocks-confess.md | 5 - .changeset/tame-shrimps-leave.md | 5 - .changeset/thick-flowers-burn.md | 5 - .changeset/three-pumas-look.md | 5 - .changeset/tricky-bugs-listen.md | 5 - package-lock.json | 2789 ------------------------- package.json | 2 - 30 files changed, 2959 deletions(-) delete mode 100644 .changeset/cold-bikes-leave.md delete mode 100644 .changeset/config.json delete mode 100644 .changeset/eight-cups-thank.md delete mode 100644 .changeset/fair-dingos-accept.md delete mode 100644 .changeset/five-suits-boil.md delete mode 100644 .changeset/fluffy-zebras-cross.md delete mode 100644 .changeset/forty-birds-wonder.md delete mode 100644 .changeset/friendly-plants-explode.md delete mode 100644 .changeset/gentle-ladybugs-switch.md delete mode 100644 .changeset/hot-seahorses-walk.md delete mode 100644 .changeset/lemon-horses-hide.md delete mode 100644 .changeset/lovely-cherries-end.md delete mode 100644 .changeset/mean-jars-smile.md delete mode 100644 .changeset/neat-seahorses-reflect.md delete mode 100644 .changeset/pre.json delete mode 100644 .changeset/purple-pears-allow.md delete mode 100644 .changeset/rude-cheetahs-suffer.md delete mode 100644 .changeset/slow-jokes-agree.md delete mode 100644 .changeset/small-cats-beg.md delete mode 100644 .changeset/stale-keys-draw.md delete mode 100644 .changeset/strange-crabs-admire.md delete mode 100644 .changeset/stupid-hairs-smell.md delete mode 100644 .changeset/stupid-hornets-work.md delete mode 100644 .changeset/sweet-rocks-confess.md delete mode 100644 .changeset/tame-shrimps-leave.md delete mode 100644 .changeset/thick-flowers-burn.md delete mode 100644 .changeset/three-pumas-look.md delete mode 100644 .changeset/tricky-bugs-listen.md diff --git a/.changeset/cold-bikes-leave.md b/.changeset/cold-bikes-leave.md deleted file mode 100644 index 01b3e49f2d..0000000000 --- a/.changeset/cold-bikes-leave.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@directus/drive-gcs': patch ---- - -Make writableStream non-resumable diff --git a/.changeset/config.json b/.changeset/config.json deleted file mode 100644 index 03b4ba1dbc..0000000000 --- a/.changeset/config.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "$schema": "https://unpkg.com/@changesets/config@1.6.0/schema.json", - "changelog": ["@changesets/changelog-github", { "repo": "directus/directus" }], - "commit": false, - "linked": [["*"]], - "access": "public", - "baseBranch": "main", - "updateInternalDependencies": "patch", - "ignore": [] -} diff --git a/.changeset/eight-cups-thank.md b/.changeset/eight-cups-thank.md deleted file mode 100644 index eb01fc5d08..0000000000 --- a/.changeset/eight-cups-thank.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@directus/schema': patch ---- - -Ignore views in schema overview for MS SQL Server diff --git a/.changeset/fair-dingos-accept.md b/.changeset/fair-dingos-accept.md deleted file mode 100644 index 2ff26090eb..0000000000 --- a/.changeset/fair-dingos-accept.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -'@directus/app': patch ---- - -Fixed issue where using an existing junction collection wouldn't allow you to continue in the many to many field setup -flow diff --git a/.changeset/five-suits-boil.md b/.changeset/five-suits-boil.md deleted file mode 100644 index 9230846bb7..0000000000 --- a/.changeset/five-suits-boil.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@directus/app': patch ---- - -Fixed issue where v-error would overflow beyond its bounds on long error messages diff --git a/.changeset/fluffy-zebras-cross.md b/.changeset/fluffy-zebras-cross.md deleted file mode 100644 index d908d5edd2..0000000000 --- a/.changeset/fluffy-zebras-cross.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -'@directus/app': patch ---- - -Render inline previews of translated values in translations display, based on two templates (one for language, the other -for translation preview) diff --git a/.changeset/forty-birds-wonder.md b/.changeset/forty-birds-wonder.md deleted file mode 100644 index 990b771b0b..0000000000 --- a/.changeset/forty-birds-wonder.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'directus': patch ---- - -Fixed issue that would prevent collections that had a relationship pointing to them from being deleted. diff --git a/.changeset/friendly-plants-explode.md b/.changeset/friendly-plants-explode.md deleted file mode 100644 index 60a1b3912b..0000000000 --- a/.changeset/friendly-plants-explode.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@directus/app': patch ---- - -Prevent non-usable system collections from being selected in the relational field setup flow diff --git a/.changeset/gentle-ladybugs-switch.md b/.changeset/gentle-ladybugs-switch.md deleted file mode 100644 index 56a81ec344..0000000000 --- a/.changeset/gentle-ladybugs-switch.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@directus/gatsby-source-directus': patch ---- - -Fixed issue where using a static token could throw a 401 unauthorized diff --git a/.changeset/hot-seahorses-walk.md b/.changeset/hot-seahorses-walk.md deleted file mode 100644 index dfffaab0a9..0000000000 --- a/.changeset/hot-seahorses-walk.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@directus/app': patch ---- - -Fixed issue where boolean type fields without an interface configured would default to the wrong interface. diff --git a/.changeset/lemon-horses-hide.md b/.changeset/lemon-horses-hide.md deleted file mode 100644 index 71713fc4ae..0000000000 --- a/.changeset/lemon-horses-hide.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@directus/app': patch ---- - -Fixed issue where custom field translations would be lost in session when reordering the fields in settings diff --git a/.changeset/lovely-cherries-end.md b/.changeset/lovely-cherries-end.md deleted file mode 100644 index efd24fd4b7..0000000000 --- a/.changeset/lovely-cherries-end.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@directus/app': patch ---- - -Fixed issue that would prevent multiple, or nested relational fields to be opened within the advanced filter setup diff --git a/.changeset/mean-jars-smile.md b/.changeset/mean-jars-smile.md deleted file mode 100644 index 7fb0b8d996..0000000000 --- a/.changeset/mean-jars-smile.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'directus': patch ---- - -Throw ServiceUnavailableException when file uploads crash on the storage provider, instead of a 500 diff --git a/.changeset/neat-seahorses-reflect.md b/.changeset/neat-seahorses-reflect.md deleted file mode 100644 index c629088f4b..0000000000 --- a/.changeset/neat-seahorses-reflect.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -'@directus/app': patch ---- - -Fixed issue on the calendar layout that would attempt to save drag-and-drop time changes with a timezone to datetime -type fields diff --git a/.changeset/pre.json b/.changeset/pre.json deleted file mode 100644 index 2855a63d68..0000000000 --- a/.changeset/pre.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "mode": "pre", - "tag": "rc", - "initialVersions": { - "directus": "9.0.0-rc.69", - "@directus/app": "9.0.0-rc.69", - "@directus/docs": "9.0.0-rc.69", - "@directus/cli": "9.0.0-rc.69", - "create-directus-project": "9.0.0-rc.69", - "@directus/drive": "9.0.0-rc.69", - "@directus/drive-azure": "9.0.0-rc.69", - "@directus/drive-gcs": "9.0.0-rc.69", - "@directus/drive-s3": "9.0.0-rc.69", - "@directus/format-title": "9.0.0-rc.69", - "@directus/gatsby-source-directus": "9.0.0-rc.69", - "@directus/schema": "9.0.0-rc.69", - "@directus/sdk": "9.0.0-rc.69", - "@directus/specs": "9.0.0-rc.69" - }, - "changesets": [] -} diff --git a/.changeset/purple-pears-allow.md b/.changeset/purple-pears-allow.md deleted file mode 100644 index 0c4a0b17b3..0000000000 --- a/.changeset/purple-pears-allow.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@directus/drive-s3': patch ---- - -Fixed video streaming capabilities of s3 storage provider diff --git a/.changeset/rude-cheetahs-suffer.md b/.changeset/rude-cheetahs-suffer.md deleted file mode 100644 index 0cab9149c3..0000000000 --- a/.changeset/rude-cheetahs-suffer.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'directus': patch ---- - -Don't use NonNull for update input types diff --git a/.changeset/slow-jokes-agree.md b/.changeset/slow-jokes-agree.md deleted file mode 100644 index 6ec80a6344..0000000000 --- a/.changeset/slow-jokes-agree.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'directus': patch ---- - -Support filtering the root items based on nested many to any items through the item scope diff --git a/.changeset/small-cats-beg.md b/.changeset/small-cats-beg.md deleted file mode 100644 index dfa46dc277..0000000000 --- a/.changeset/small-cats-beg.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -'@directus/app': patch ---- - -Set the default value for a newly added boolean filter under advanced filters to true. Prevents confusion around -selected state of the toggle. - -https://github.com/directus/directus/issues/5638 diff --git a/.changeset/stale-keys-draw.md b/.changeset/stale-keys-draw.md deleted file mode 100644 index cc7bb86e64..0000000000 --- a/.changeset/stale-keys-draw.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -'@directus/app': patch ---- - -Fixed an issue that prevented the collections search from functioning when using a custom collection navigation -structure diff --git a/.changeset/strange-crabs-admire.md b/.changeset/strange-crabs-admire.md deleted file mode 100644 index 273352c4e6..0000000000 --- a/.changeset/strange-crabs-admire.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@directus/drive-s3': patch ---- - -Fixed an issue where an empty ACL setting would cause issues in certain S3 compatible services diff --git a/.changeset/stupid-hairs-smell.md b/.changeset/stupid-hairs-smell.md deleted file mode 100644 index 4a9d924b5c..0000000000 --- a/.changeset/stupid-hairs-smell.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@directus/app': patch ---- - -Improve v-select UX by ignoring clicks outside of clickable targets diff --git a/.changeset/stupid-hornets-work.md b/.changeset/stupid-hornets-work.md deleted file mode 100644 index bdc4a0065a..0000000000 --- a/.changeset/stupid-hornets-work.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@directus/app': patch ---- - -Show On Create / On Update for many to one fields relating to users/roles diff --git a/.changeset/sweet-rocks-confess.md b/.changeset/sweet-rocks-confess.md deleted file mode 100644 index 157a0b122d..0000000000 --- a/.changeset/sweet-rocks-confess.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@directus/app': patch ---- - -Fixed issue that would put manually sorted custom fields in the wrong place on system detail pages (like users/files) diff --git a/.changeset/tame-shrimps-leave.md b/.changeset/tame-shrimps-leave.md deleted file mode 100644 index 41425fa63b..0000000000 --- a/.changeset/tame-shrimps-leave.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@directus/app': patch ---- - -Fix issue where creating multiple relational default fields on new collection create would fail diff --git a/.changeset/thick-flowers-burn.md b/.changeset/thick-flowers-burn.md deleted file mode 100644 index e39396a609..0000000000 --- a/.changeset/thick-flowers-burn.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'directus': patch ---- - -Fix an issue where the validation system could short-circuit when using \_or statements. diff --git a/.changeset/three-pumas-look.md b/.changeset/three-pumas-look.md deleted file mode 100644 index e20143d2c5..0000000000 --- a/.changeset/three-pumas-look.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@directus/app': patch ---- - -Prevent duplicate m2o field name on auto-fill recursive m2m diff --git a/.changeset/tricky-bugs-listen.md b/.changeset/tricky-bugs-listen.md deleted file mode 100644 index 6ef6fffbd6..0000000000 --- a/.changeset/tricky-bugs-listen.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@directus/app': patch ---- - -Don't allow contains on a UUID type diff --git a/package-lock.json b/package-lock.json index 250e581441..f83ef23763 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12,8 +12,6 @@ "./packages/*" ], "devDependencies": { - "@changesets/changelog-github": "^0.4.0", - "@changesets/cli": "^2.16.0", "@types/dockerode": "^3.2.3", "@types/jest": "^26.0.22", "@types/listr": "^0.14.3", @@ -2422,1073 +2420,6 @@ "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", "dev": true }, - "node_modules/@changesets/apply-release-plan": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/@changesets/apply-release-plan/-/apply-release-plan-5.0.0.tgz", - "integrity": "sha512-SE+5nPNSKUyUociPnAvnjYSVF+diciEhX9ZHSqKWMlydswCDjiaq9gz67qwWCmwgEgEOz0TS7VrQBoOlzbitvA==", - "dev": true, - "dependencies": { - "@babel/runtime": "^7.10.4", - "@changesets/config": "^1.6.0", - "@changesets/get-version-range-type": "^0.3.2", - "@changesets/git": "^1.1.1", - "@changesets/types": "^4.0.0", - "@manypkg/get-packages": "^1.0.1", - "detect-indent": "^6.0.0", - "fs-extra": "^7.0.1", - "lodash.startcase": "^4.4.0", - "outdent": "^0.5.0", - "prettier": "^1.19.1", - "resolve-from": "^5.0.0", - "semver": "^5.4.1" - } - }, - "node_modules/@changesets/apply-release-plan/node_modules/fs-extra": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", - "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - }, - "engines": { - "node": ">=6 <7 || >=8" - } - }, - "node_modules/@changesets/apply-release-plan/node_modules/jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", - "dev": true, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/@changesets/apply-release-plan/node_modules/prettier": { - "version": "1.19.1", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.19.1.tgz", - "integrity": "sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew==", - "dev": true, - "bin": { - "prettier": "bin-prettier.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@changesets/apply-release-plan/node_modules/resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@changesets/apply-release-plan/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true, - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/@changesets/apply-release-plan/node_modules/universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "dev": true, - "engines": { - "node": ">= 4.0.0" - } - }, - "node_modules/@changesets/assemble-release-plan": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/@changesets/assemble-release-plan/-/assemble-release-plan-5.0.0.tgz", - "integrity": "sha512-LElDXTCBUkPSmdXlCisoUWw2paX48snatBmw/hKnGiSvnyZqdTIylLojAGQWG0/vOO9v3s/DvJ4hdagIquxJjg==", - "dev": true, - "dependencies": { - "@babel/runtime": "^7.10.4", - "@changesets/errors": "^0.1.4", - "@changesets/get-dependents-graph": "^1.2.1", - "@changesets/types": "^4.0.0", - "@manypkg/get-packages": "^1.0.1", - "semver": "^5.4.1" - } - }, - "node_modules/@changesets/assemble-release-plan/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true, - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/@changesets/changelog-github": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/@changesets/changelog-github/-/changelog-github-0.4.0.tgz", - "integrity": "sha512-4GphTAdHJfECuuQg4l0eFGYyUh26mfyXpAi2FImrQvaN+boqTM+9EAAJe2b8Y3OKRfoET+ihgo+LARhW2xJoiw==", - "dev": true, - "dependencies": { - "@changesets/get-github-info": "^0.5.0", - "@changesets/types": "^4.0.0", - "dotenv": "^8.1.0" - } - }, - "node_modules/@changesets/cli": { - "version": "2.16.0", - "resolved": "https://registry.npmjs.org/@changesets/cli/-/cli-2.16.0.tgz", - "integrity": "sha512-VFkXSyyk/WRjjUoBI7g7cDy09qBjPbBQOloPMEshTzMo/NY9muWHl2yB/FSSkV/6PxGimPtJ7aEJPYfk8HCfXw==", - "dev": true, - "dependencies": { - "@babel/runtime": "^7.10.4", - "@changesets/apply-release-plan": "^5.0.0", - "@changesets/assemble-release-plan": "^5.0.0", - "@changesets/config": "^1.6.0", - "@changesets/errors": "^0.1.4", - "@changesets/get-dependents-graph": "^1.2.1", - "@changesets/get-release-plan": "^3.0.0", - "@changesets/git": "^1.1.1", - "@changesets/logger": "^0.0.5", - "@changesets/pre": "^1.0.6", - "@changesets/read": "^0.4.7", - "@changesets/types": "^4.0.0", - "@changesets/write": "^0.1.4", - "@manypkg/get-packages": "^1.0.1", - "@types/semver": "^6.0.0", - "boxen": "^1.3.0", - "chalk": "^2.1.0", - "enquirer": "^2.3.0", - "external-editor": "^3.1.0", - "fs-extra": "^7.0.1", - "human-id": "^1.0.2", - "is-ci": "^2.0.0", - "meow": "^6.0.0", - "outdent": "^0.5.0", - "p-limit": "^2.2.0", - "preferred-pm": "^3.0.0", - "semver": "^5.4.1", - "spawndamnit": "^2.0.0", - "term-size": "^2.1.0", - "tty-table": "^2.8.10" - }, - "bin": { - "changeset": "bin.js" - } - }, - "node_modules/@changesets/cli/node_modules/ansi-align": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-2.0.0.tgz", - "integrity": "sha1-w2rsy6VjuJzrVW82kPCx2eNUf38=", - "dev": true, - "dependencies": { - "string-width": "^2.0.0" - } - }, - "node_modules/@changesets/cli/node_modules/ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/@changesets/cli/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@changesets/cli/node_modules/boxen": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/boxen/-/boxen-1.3.0.tgz", - "integrity": "sha512-TNPjfTr432qx7yOjQyaXm3dSR0MH9vXp7eT1BFSl/C51g+EFnOR9hTg1IreahGBmDNCehscshe45f+C1TBZbLw==", - "dev": true, - "dependencies": { - "ansi-align": "^2.0.0", - "camelcase": "^4.0.0", - "chalk": "^2.0.1", - "cli-boxes": "^1.0.0", - "string-width": "^2.0.0", - "term-size": "^1.2.0", - "widest-line": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@changesets/cli/node_modules/boxen/node_modules/term-size": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/term-size/-/term-size-1.2.0.tgz", - "integrity": "sha1-RYuDiH8oj8Vtb/+/rSYuJmOO+mk=", - "dev": true, - "dependencies": { - "execa": "^0.7.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@changesets/cli/node_modules/camelcase": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", - "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/@changesets/cli/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@changesets/cli/node_modules/cli-boxes": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-1.0.0.tgz", - "integrity": "sha1-T6kXw+WclKAEzWH47lCdplFocUM=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@changesets/cli/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/@changesets/cli/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true - }, - "node_modules/@changesets/cli/node_modules/cross-spawn": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", - "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", - "dev": true, - "dependencies": { - "lru-cache": "^4.0.1", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - } - }, - "node_modules/@changesets/cli/node_modules/execa": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", - "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", - "dev": true, - "dependencies": { - "cross-spawn": "^5.0.1", - "get-stream": "^3.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@changesets/cli/node_modules/fs-extra": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", - "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - }, - "engines": { - "node": ">=6 <7 || >=8" - } - }, - "node_modules/@changesets/cli/node_modules/get-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", - "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/@changesets/cli/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/@changesets/cli/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": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/@changesets/cli/node_modules/is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@changesets/cli/node_modules/jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", - "dev": true, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/@changesets/cli/node_modules/meow": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/meow/-/meow-6.1.1.tgz", - "integrity": "sha512-3YffViIt2QWgTy6Pale5QpopX/IvU3LPL03jOTqp6pGj3VjesdO/U8CuHMKpnQr4shCNCM5fd5XFFvIIl6JBHg==", - "dev": true, - "dependencies": { - "@types/minimist": "^1.2.0", - "camelcase-keys": "^6.2.2", - "decamelize-keys": "^1.1.0", - "hard-rejection": "^2.1.0", - "minimist-options": "^4.0.2", - "normalize-package-data": "^2.5.0", - "read-pkg-up": "^7.0.1", - "redent": "^3.0.0", - "trim-newlines": "^3.0.0", - "type-fest": "^0.13.1", - "yargs-parser": "^18.1.3" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@changesets/cli/node_modules/normalize-package-data": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", - "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", - "dev": true, - "dependencies": { - "hosted-git-info": "^2.1.4", - "resolve": "^1.10.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" - } - }, - "node_modules/@changesets/cli/node_modules/npm-run-path": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", - "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", - "dev": true, - "dependencies": { - "path-key": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@changesets/cli/node_modules/path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/@changesets/cli/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true, - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/@changesets/cli/node_modules/shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", - "dev": true, - "dependencies": { - "shebang-regex": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@changesets/cli/node_modules/shebang-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@changesets/cli/node_modules/string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "dev": true, - "dependencies": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@changesets/cli/node_modules/strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "dependencies": { - "ansi-regex": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@changesets/cli/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@changesets/cli/node_modules/type-fest": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.13.1.tgz", - "integrity": "sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@changesets/cli/node_modules/universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "dev": true, - "engines": { - "node": ">= 4.0.0" - } - }, - "node_modules/@changesets/cli/node_modules/which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dev": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "which": "bin/which" - } - }, - "node_modules/@changesets/cli/node_modules/widest-line": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-2.0.1.tgz", - "integrity": "sha512-Ba5m9/Fa4Xt9eb2ELXt77JxVDV8w7qQrH0zS/TWSJdLyAwQjWoOzpzj5lwVftDz6n/EOu3tNACS84v509qwnJA==", - "dev": true, - "dependencies": { - "string-width": "^2.1.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@changesets/cli/node_modules/yargs-parser": { - "version": "18.1.3", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", - "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", - "dev": true, - "dependencies": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/@changesets/cli/node_modules/yargs-parser/node_modules/camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/@changesets/config": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/@changesets/config/-/config-1.6.0.tgz", - "integrity": "sha512-vMY/OpMFSDC2crDKb5Nq2kMX9hozcXL4dY5Rr+a1JQ044Rz+jqjJPpdTP2yQ+j7qmeGcUTvwjJoEMeekYwfqhg==", - "dev": true, - "dependencies": { - "@changesets/errors": "^0.1.4", - "@changesets/get-dependents-graph": "^1.2.1", - "@changesets/logger": "^0.0.5", - "@changesets/types": "^4.0.0", - "@manypkg/get-packages": "^1.0.1", - "fs-extra": "^7.0.1", - "micromatch": "^4.0.2" - } - }, - "node_modules/@changesets/config/node_modules/fs-extra": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", - "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - }, - "engines": { - "node": ">=6 <7 || >=8" - } - }, - "node_modules/@changesets/config/node_modules/jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", - "dev": true, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/@changesets/config/node_modules/universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "dev": true, - "engines": { - "node": ">= 4.0.0" - } - }, - "node_modules/@changesets/errors": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/@changesets/errors/-/errors-0.1.4.tgz", - "integrity": "sha512-HAcqPF7snsUJ/QzkWoKfRfXushHTu+K5KZLJWPb34s4eCZShIf8BFO3fwq6KU8+G7L5KdtN2BzQAXOSXEyiY9Q==", - "dev": true, - "dependencies": { - "extendable-error": "^0.1.5" - } - }, - "node_modules/@changesets/get-dependents-graph": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@changesets/get-dependents-graph/-/get-dependents-graph-1.2.1.tgz", - "integrity": "sha512-vJOibo9SkqhVbgfq5AHIlQ7tzkYQIXh3tPAnlNLy2bPZsU+SByd74GaxHYWt1zOBlncU25WKrIM6J7XBB+GVUg==", - "dev": true, - "dependencies": { - "@changesets/types": "^4.0.0", - "@manypkg/get-packages": "^1.0.1", - "chalk": "^2.1.0", - "fs-extra": "^7.0.1", - "semver": "^5.4.1" - } - }, - "node_modules/@changesets/get-dependents-graph/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@changesets/get-dependents-graph/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@changesets/get-dependents-graph/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/@changesets/get-dependents-graph/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true - }, - "node_modules/@changesets/get-dependents-graph/node_modules/fs-extra": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", - "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - }, - "engines": { - "node": ">=6 <7 || >=8" - } - }, - "node_modules/@changesets/get-dependents-graph/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/@changesets/get-dependents-graph/node_modules/jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", - "dev": true, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/@changesets/get-dependents-graph/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true, - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/@changesets/get-dependents-graph/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@changesets/get-dependents-graph/node_modules/universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "dev": true, - "engines": { - "node": ">= 4.0.0" - } - }, - "node_modules/@changesets/get-github-info": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/@changesets/get-github-info/-/get-github-info-0.5.0.tgz", - "integrity": "sha512-vm5VgHwrxkMkUjFyn3UVNKLbDp9YMHd3vMf1IyJoa/7B+6VpqmtAaXyDS0zBLfN5bhzVCHrRnj4GcZXXcqrFTw==", - "dev": true, - "dependencies": { - "dataloader": "^1.4.0", - "node-fetch": "^2.5.0" - } - }, - "node_modules/@changesets/get-github-info/node_modules/dataloader": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/dataloader/-/dataloader-1.4.0.tgz", - "integrity": "sha512-68s5jYdlvasItOJnCuI2Q9s4q98g0pCyL3HrcKJu8KNugUl8ahgmZYg38ysLTgQjjXX3H8CJLkAvWrclWfcalw==", - "dev": true - }, - "node_modules/@changesets/get-release-plan": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@changesets/get-release-plan/-/get-release-plan-3.0.0.tgz", - "integrity": "sha512-7VLiqpcWZyjwIXYgkubBC/9cdwqUJEhLMRT9/Y9+ctHqrpsXmJg15QQPTOh3HT9yGN5fJPL1WwuZkc1HXUhK0g==", - "dev": true, - "dependencies": { - "@babel/runtime": "^7.10.4", - "@changesets/assemble-release-plan": "^5.0.0", - "@changesets/config": "^1.6.0", - "@changesets/pre": "^1.0.6", - "@changesets/read": "^0.4.7", - "@changesets/types": "^4.0.0", - "@manypkg/get-packages": "^1.0.1" - } - }, - "node_modules/@changesets/get-version-range-type": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@changesets/get-version-range-type/-/get-version-range-type-0.3.2.tgz", - "integrity": "sha512-SVqwYs5pULYjYT4op21F2pVbcrca4qA/bAA3FmFXKMN7Y+HcO8sbZUTx3TAy2VXulP2FACd1aC7f2nTuqSPbqg==", - "dev": true - }, - "node_modules/@changesets/git": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@changesets/git/-/git-1.1.1.tgz", - "integrity": "sha512-Z12TcKwgU33YE3r76cyU+X81RchOXljDZ5s3G2u0Zd+ODyrwlDb91IO55+6R0Ha6ouPz8ioont0gA70c1RFngg==", - "dev": true, - "dependencies": { - "@babel/runtime": "^7.10.4", - "@changesets/errors": "^0.1.4", - "@changesets/types": "^4.0.0", - "@manypkg/get-packages": "^1.0.1", - "is-subdir": "^1.1.1", - "spawndamnit": "^2.0.0" - } - }, - "node_modules/@changesets/logger": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/@changesets/logger/-/logger-0.0.5.tgz", - "integrity": "sha512-gJyZHomu8nASHpaANzc6bkQMO9gU/ib20lqew1rVx753FOxffnCrJlGIeQVxNWCqM+o6OOleCo/ivL8UAO5iFw==", - "dev": true, - "dependencies": { - "chalk": "^2.1.0" - } - }, - "node_modules/@changesets/logger/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@changesets/logger/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@changesets/logger/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/@changesets/logger/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true - }, - "node_modules/@changesets/logger/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/@changesets/logger/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@changesets/parse": { - "version": "0.3.8", - "resolved": "https://registry.npmjs.org/@changesets/parse/-/parse-0.3.8.tgz", - "integrity": "sha512-0S7Dc7XbMOKamBtd48vVuWL2aFZyaglw6lJsXNddn9forFf8oMKMmdyJ/HQPyeEChDDOhDF1/ya7m/zpt4Dk4w==", - "dev": true, - "dependencies": { - "@changesets/types": "^4.0.0", - "js-yaml": "^3.13.1" - } - }, - "node_modules/@changesets/pre": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/@changesets/pre/-/pre-1.0.6.tgz", - "integrity": "sha512-ZwFFQLjhTmA4hj8+Cf9pm6nD9Tp+AiBz1wJLaGum4Ae1fPXMwDnJfHknFUTytqZBlC0gHkiGSj6QkUuetWvckg==", - "dev": true, - "dependencies": { - "@babel/runtime": "^7.10.4", - "@changesets/errors": "^0.1.4", - "@changesets/types": "^4.0.0", - "@manypkg/get-packages": "^1.0.1", - "fs-extra": "^7.0.1" - } - }, - "node_modules/@changesets/pre/node_modules/fs-extra": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", - "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - }, - "engines": { - "node": ">=6 <7 || >=8" - } - }, - "node_modules/@changesets/pre/node_modules/jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", - "dev": true, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/@changesets/pre/node_modules/universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "dev": true, - "engines": { - "node": ">= 4.0.0" - } - }, - "node_modules/@changesets/read": { - "version": "0.4.7", - "resolved": "https://registry.npmjs.org/@changesets/read/-/read-0.4.7.tgz", - "integrity": "sha512-E70QrYQpSCMF0nC0dlPU7i6A9zht+8zkQczrKMbOUwDVrfidcvgojxfuJSQbzptYSb9OKYh8GOLd+bsq9+uO9Q==", - "dev": true, - "dependencies": { - "@babel/runtime": "^7.10.4", - "@changesets/git": "^1.1.1", - "@changesets/logger": "^0.0.5", - "@changesets/parse": "^0.3.8", - "@changesets/types": "^4.0.0", - "chalk": "^2.1.0", - "fs-extra": "^7.0.1", - "p-filter": "^2.1.0" - } - }, - "node_modules/@changesets/read/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@changesets/read/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@changesets/read/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/@changesets/read/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true - }, - "node_modules/@changesets/read/node_modules/fs-extra": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", - "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - }, - "engines": { - "node": ">=6 <7 || >=8" - } - }, - "node_modules/@changesets/read/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/@changesets/read/node_modules/jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", - "dev": true, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/@changesets/read/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@changesets/read/node_modules/universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "dev": true, - "engines": { - "node": ">= 4.0.0" - } - }, - "node_modules/@changesets/types": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@changesets/types/-/types-4.0.0.tgz", - "integrity": "sha512-whLmPx2wgJRoOtxVZop+DJ71z1gTSkij7osiHgN+pe//FiE6bb4ffvBBb0rACs2cUPfAkWxgSPzqkECgKS1jvQ==", - "dev": true - }, - "node_modules/@changesets/write": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/@changesets/write/-/write-0.1.4.tgz", - "integrity": "sha512-uco+vS3mo2JqflLciIU707har+6AEFOeP8pgu3vVC1M2WcKukQgR1KylHFqZJxKQWahf8mQnuUSbgR4yJQuhmA==", - "dev": true, - "dependencies": { - "@babel/runtime": "^7.10.4", - "@changesets/types": "^4.0.0", - "fs-extra": "^7.0.1", - "human-id": "^1.0.2", - "prettier": "^1.19.1" - } - }, - "node_modules/@changesets/write/node_modules/fs-extra": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", - "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - }, - "engines": { - "node": ">=6 <7 || >=8" - } - }, - "node_modules/@changesets/write/node_modules/jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", - "dev": true, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/@changesets/write/node_modules/prettier": { - "version": "1.19.1", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.19.1.tgz", - "integrity": "sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew==", - "dev": true, - "bin": { - "prettier": "bin-prettier.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@changesets/write/node_modules/universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "dev": true, - "engines": { - "node": ">= 4.0.0" - } - }, "node_modules/@directus/app": { "resolved": "app", "link": true @@ -6406,101 +5337,6 @@ "node": ">=8" } }, - "node_modules/@manypkg/find-root": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@manypkg/find-root/-/find-root-1.1.0.tgz", - "integrity": "sha512-mki5uBvhHzO8kYYix/WRy2WX8S3B5wdVSc9D6KcU5lQNglP2yt58/VfLuAK49glRXChosY8ap2oJ1qgma3GUVA==", - "dev": true, - "dependencies": { - "@babel/runtime": "^7.5.5", - "@types/node": "^12.7.1", - "find-up": "^4.1.0", - "fs-extra": "^8.1.0" - } - }, - "node_modules/@manypkg/find-root/node_modules/@types/node": { - "version": "12.20.13", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.13.tgz", - "integrity": "sha512-1x8W5OpxPq+T85OUsHRP6BqXeosKmeXRtjoF39STcdf/UWLqUsoehstZKOi0CunhVqHG17AyZgpj20eRVooK6A==", - "dev": true - }, - "node_modules/@manypkg/find-root/node_modules/fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - }, - "engines": { - "node": ">=6 <7 || >=8" - } - }, - "node_modules/@manypkg/find-root/node_modules/jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", - "dev": true, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/@manypkg/find-root/node_modules/universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "dev": true, - "engines": { - "node": ">= 4.0.0" - } - }, - "node_modules/@manypkg/get-packages": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@manypkg/get-packages/-/get-packages-1.1.1.tgz", - "integrity": "sha512-J6VClfQSVgR6958eIDTGjfdCrELy1eT+SHeoSMomnvRQVktZMnEA5edIr5ovRFNw5y+Bk/jyoevPzGYod96mhw==", - "dev": true, - "dependencies": { - "@babel/runtime": "^7.5.5", - "@manypkg/find-root": "^1.1.0", - "fs-extra": "^8.1.0", - "globby": "^11.0.0", - "read-yaml-file": "^1.1.0" - } - }, - "node_modules/@manypkg/get-packages/node_modules/fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - }, - "engines": { - "node": ">=6 <7 || >=8" - } - }, - "node_modules/@manypkg/get-packages/node_modules/jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", - "dev": true, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/@manypkg/get-packages/node_modules/universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "dev": true, - "engines": { - "node": ">= 4.0.0" - } - }, "node_modules/@mapbox/node-pre-gyp": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/@mapbox/node-pre-gyp/-/node-pre-gyp-1.0.3.tgz", @@ -8664,12 +7500,6 @@ "integrity": "sha512-EaCxbanVeyxDRTQBkdLb3Bvl/HK7PBK6UJjsSixB0iHKoWxE5uu2Q/DgtpOhPIojN0Zl1whvOd7PoHs2P0s5eA==", "peer": true }, - "node_modules/@types/semver": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-6.2.2.tgz", - "integrity": "sha512-RxAwYt4rGwK5GyoRwuP0jT6ZHAVTdz2EqgsHmX0PYNjGsko+OeT4WFXXTs/lM3teJUJodM+SNtAL5/pXIJ61IQ==", - "dev": true - }, "node_modules/@types/serve-static": { "version": "1.13.9", "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.9.tgz", @@ -14124,18 +12954,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/better-path-resolve": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/better-path-resolve/-/better-path-resolve-1.0.0.tgz", - "integrity": "sha512-pbnl5XzGBdrFU/wT4jqmJVPn2B6UHPBOhzMQkY/SPUPB6QtUXtmBHBIwCbXJol93mOpGMnQyP/+BB19q04xj7g==", - "dev": true, - "dependencies": { - "is-windows": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/better-queue": { "version": "3.8.10", "resolved": "https://registry.npmjs.org/better-queue/-/better-queue-3.8.10.tgz", @@ -14371,15 +13189,6 @@ "node": ">=8" } }, - "node_modules/breakword": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/breakword/-/breakword-1.0.5.tgz", - "integrity": "sha512-ex5W9DoOQ/LUEU3PMdLs9ua/CYZl1678NUkKOdUSi8Aw5F1idieaiRURCBFJCwVcrD1J8Iy3vfWSloaMwO2qFg==", - "dev": true, - "dependencies": { - "wcwidth": "^1.0.1" - } - }, "node_modules/brorand": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", @@ -21125,12 +19934,6 @@ "node": ">=0.10.0" } }, - "node_modules/extendable-error": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/extendable-error/-/extendable-error-0.1.7.tgz", - "integrity": "sha512-UOiS2in6/Q0FK0R0q6UY9vYpQ21mr/Qn1KOnte7vsACuNJf514WvCCUHSRCPcgjPT2bAhNIJdlE6bVap1GKmeg==", - "dev": true - }, "node_modules/external-editor": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", @@ -21521,16 +20324,6 @@ "node": ">=8" } }, - "node_modules/find-yarn-workspace-root2": { - "version": "1.2.16", - "resolved": "https://registry.npmjs.org/find-yarn-workspace-root2/-/find-yarn-workspace-root2-1.2.16.tgz", - "integrity": "sha512-hr6hb1w8ePMpPVUK39S4RlwJzi+xPLuVuG8XlwXU3KD5Yn3qgBWVfy3AzNlDhWvE1EORCE65/Qm26rFQt3VLVA==", - "dev": true, - "dependencies": { - "micromatch": "^4.0.2", - "pkg-dir": "^4.2.0" - } - }, "node_modules/findup-sync": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-3.0.0.tgz", @@ -25964,12 +24757,6 @@ "safe-buffer": "^5.0.1" } }, - "node_modules/grapheme-splitter": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz", - "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==", - "dev": true - }, "node_modules/graphlib": { "version": "2.1.8", "resolved": "https://registry.npmjs.org/graphlib/-/graphlib-2.1.8.tgz", @@ -27074,12 +25861,6 @@ "node": ">= 6" } }, - "node_modules/human-id": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/human-id/-/human-id-1.0.2.tgz", - "integrity": "sha512-UNopramDEhHJD+VR+ehk8rOslwSfByxPIZyJRfV739NDhN5LF1fa1MqnzKm2lGTQRjNrjK19Q5fhkgIfjlVUKw==", - "dev": true - }, "node_modules/human-signals": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", @@ -28264,18 +27045,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-subdir": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/is-subdir/-/is-subdir-1.2.0.tgz", - "integrity": "sha512-2AT6j+gXe/1ueqbW6fLZJiIw3F8iXGJtt0yDrZaBhAZEG1raiTxKWU+IPqMCzQAXOUCKdA4UDMgacKH25XG2Cw==", - "dev": true, - "dependencies": { - "better-path-resolve": "1.0.0" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/is-supported-regexp-flag": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-supported-regexp-flag/-/is-supported-regexp-flag-1.0.1.tgz", @@ -32643,39 +31412,6 @@ "integrity": "sha1-BJGTngvuVkPuSUp+PaPSuscMbKQ=", "dev": true }, - "node_modules/load-yaml-file": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/load-yaml-file/-/load-yaml-file-0.2.0.tgz", - "integrity": "sha512-OfCBkGEw4nN6JLtgRidPX6QxjBQGQf72q3si2uvqyFEMbycSFFHwAZeXx6cJgFM9wmLrf9zBwCP3Ivqa+LLZPw==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.1.5", - "js-yaml": "^3.13.0", - "pify": "^4.0.1", - "strip-bom": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/load-yaml-file/node_modules/pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/load-yaml-file/node_modules/strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", - "dev": true, - "engines": { - "node": ">=4" - } - }, "node_modules/loader-fs-cache": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/loader-fs-cache/-/loader-fs-cache-1.0.3.tgz", @@ -36748,12 +35484,6 @@ "@otplib/preset-v11": "^12.0.1" } }, - "node_modules/outdent": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/outdent/-/outdent-0.5.0.tgz", - "integrity": "sha512-/jHxFIzoMXdqPzTaCpFzAAWhpkSjZPF4Vsn6jAfNpmbH/ymsmd7Qc6VE9BGn0L6YMj6uwpQLxCECpus4ukKS9Q==", - "dev": true - }, "node_modules/p-cancelable": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-0.4.1.tgz", @@ -36784,27 +35514,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/p-filter": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/p-filter/-/p-filter-2.1.0.tgz", - "integrity": "sha512-ZBxxZ5sL2HghephhpGAQdoskxplTwr7ICaehZwLIlfL6acuVgZPm8yBNuRAFBGEqtD/hmUeq9eqLg2ys9Xr/yw==", - "dev": true, - "dependencies": { - "p-map": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/p-filter/node_modules/p-map": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz", - "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==", - "dev": true, - "engines": { - "node": ">=6" - } - }, "node_modules/p-finally": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", @@ -39198,82 +37907,6 @@ "node": ">=6" } }, - "node_modules/preferred-pm": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/preferred-pm/-/preferred-pm-3.0.3.tgz", - "integrity": "sha512-+wZgbxNES/KlJs9q40F/1sfOd/j7f1O9JaHcW5Dsn3aUUOZg3L2bjpVUcKV2jvtElYfoTuQiNeMfQJ4kwUAhCQ==", - "dev": true, - "dependencies": { - "find-up": "^5.0.0", - "find-yarn-workspace-root2": "1.2.16", - "path-exists": "^4.0.0", - "which-pm": "2.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/preferred-pm/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/preferred-pm/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, - "dependencies": { - "p-locate": "^5.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/preferred-pm/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, - "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/preferred-pm/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, - "dependencies": { - "p-limit": "^3.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/prelude-ls": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", @@ -40820,39 +39453,6 @@ "node": ">=4" } }, - "node_modules/read-yaml-file": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/read-yaml-file/-/read-yaml-file-1.1.0.tgz", - "integrity": "sha512-VIMnQi/Z4HT2Fxuwg5KrY174U1VdUIASQVWXXyqtNRtxSr9IYkn1rsI6Tb6HsrHCmB7gVpNwX6JxPTHcH6IoTA==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.1.5", - "js-yaml": "^3.6.1", - "pify": "^4.0.1", - "strip-bom": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/read-yaml-file/node_modules/pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/read-yaml-file/node_modules/strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", - "dev": true, - "engines": { - "node": ">=4" - } - }, "node_modules/readable-stream": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", @@ -42754,23 +41354,6 @@ "npm": ">= 3.0.0" } }, - "node_modules/smartwrap": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/smartwrap/-/smartwrap-1.2.5.tgz", - "integrity": "sha512-bzWRwHwu0RnWjwU7dFy7tF68pDAx/zMSu3g7xr9Nx5J0iSImYInglwEVExyHLxXljy6PWMjkSAbwF7t2mPnRmg==", - "deprecated": "Backported compatibility to node > 6", - "dev": true, - "dependencies": { - "breakword": "^1.0.5", - "grapheme-splitter": "^1.0.4", - "strip-ansi": "^6.0.0", - "wcwidth": "^1.0.1", - "yargs": "^15.1.0" - }, - "bin": { - "smartwrap": "src/terminal-adapter.js" - } - }, "node_modules/smoothscroll-polyfill": { "version": "0.4.4", "resolved": "https://registry.npmjs.org/smoothscroll-polyfill/-/smoothscroll-polyfill-0.4.4.tgz", @@ -43207,60 +41790,6 @@ "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", "dev": true }, - "node_modules/spawndamnit": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/spawndamnit/-/spawndamnit-2.0.0.tgz", - "integrity": "sha512-j4JKEcncSjFlqIwU5L/rp2N5SIPsdxaRsIv678+TZxZ0SRDJTm8JrxJMjE/XuiEZNEir3S8l0Fa3Ke339WI4qA==", - "dev": true, - "dependencies": { - "cross-spawn": "^5.1.0", - "signal-exit": "^3.0.2" - } - }, - "node_modules/spawndamnit/node_modules/cross-spawn": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", - "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", - "dev": true, - "dependencies": { - "lru-cache": "^4.0.1", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - } - }, - "node_modules/spawndamnit/node_modules/shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", - "dev": true, - "dependencies": { - "shebang-regex": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/spawndamnit/node_modules/shebang-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/spawndamnit/node_modules/which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dev": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "which": "bin/which" - } - }, "node_modules/spdx-correct": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", @@ -47645,39 +46174,6 @@ "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=" }, - "node_modules/tty-table": { - "version": "2.8.13", - "resolved": "https://registry.npmjs.org/tty-table/-/tty-table-2.8.13.tgz", - "integrity": "sha512-eVV/+kB6fIIdx+iUImhXrO22gl7f6VmmYh0Zbu6C196fe1elcHXd7U6LcLXu0YoVPc2kNesWiukYcdK8ZmJ6aQ==", - "dev": true, - "dependencies": { - "chalk": "^3.0.0", - "csv": "^5.3.1", - "smartwrap": "^1.2.3", - "strip-ansi": "^6.0.0", - "wcwidth": "^1.0.1", - "yargs": "^15.1.0" - }, - "bin": { - "tty-table": "adapters/terminal-adapter.js" - }, - "engines": { - "node": ">=8.16.0" - } - }, - "node_modules/tty-table/node_modules/chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/tunnel": { "version": "0.0.6", "resolved": "https://registry.npmjs.org/tunnel/-/tunnel-0.0.6.tgz", @@ -51395,19 +49891,6 @@ "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=" }, - "node_modules/which-pm": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-pm/-/which-pm-2.0.0.tgz", - "integrity": "sha512-Lhs9Pmyph0p5n5Z3mVnN0yWcbQYUAD7rbQUiMsQxOJ3T57k7RFe35SUwWMf7dsbDZks1uOmw4AecB/JMDj3v/w==", - "dev": true, - "dependencies": { - "load-yaml-file": "^0.2.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8.15" - } - }, "node_modules/wide-align": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", @@ -57022,908 +55505,6 @@ "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", "dev": true }, - "@changesets/apply-release-plan": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/@changesets/apply-release-plan/-/apply-release-plan-5.0.0.tgz", - "integrity": "sha512-SE+5nPNSKUyUociPnAvnjYSVF+diciEhX9ZHSqKWMlydswCDjiaq9gz67qwWCmwgEgEOz0TS7VrQBoOlzbitvA==", - "dev": true, - "requires": { - "@babel/runtime": "^7.10.4", - "@changesets/config": "^1.6.0", - "@changesets/get-version-range-type": "^0.3.2", - "@changesets/git": "^1.1.1", - "@changesets/types": "^4.0.0", - "@manypkg/get-packages": "^1.0.1", - "detect-indent": "^6.0.0", - "fs-extra": "^7.0.1", - "lodash.startcase": "^4.4.0", - "outdent": "^0.5.0", - "prettier": "^1.19.1", - "resolve-from": "^5.0.0", - "semver": "^5.4.1" - }, - "dependencies": { - "fs-extra": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", - "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - }, - "jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.6" - } - }, - "prettier": { - "version": "1.19.1", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.19.1.tgz", - "integrity": "sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew==", - "dev": true - }, - "resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "dev": true - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - }, - "universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "dev": true - } - } - }, - "@changesets/assemble-release-plan": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/@changesets/assemble-release-plan/-/assemble-release-plan-5.0.0.tgz", - "integrity": "sha512-LElDXTCBUkPSmdXlCisoUWw2paX48snatBmw/hKnGiSvnyZqdTIylLojAGQWG0/vOO9v3s/DvJ4hdagIquxJjg==", - "dev": true, - "requires": { - "@babel/runtime": "^7.10.4", - "@changesets/errors": "^0.1.4", - "@changesets/get-dependents-graph": "^1.2.1", - "@changesets/types": "^4.0.0", - "@manypkg/get-packages": "^1.0.1", - "semver": "^5.4.1" - }, - "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - } - } - }, - "@changesets/changelog-github": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/@changesets/changelog-github/-/changelog-github-0.4.0.tgz", - "integrity": "sha512-4GphTAdHJfECuuQg4l0eFGYyUh26mfyXpAi2FImrQvaN+boqTM+9EAAJe2b8Y3OKRfoET+ihgo+LARhW2xJoiw==", - "dev": true, - "requires": { - "@changesets/get-github-info": "^0.5.0", - "@changesets/types": "^4.0.0", - "dotenv": "^8.1.0" - } - }, - "@changesets/cli": { - "version": "2.16.0", - "resolved": "https://registry.npmjs.org/@changesets/cli/-/cli-2.16.0.tgz", - "integrity": "sha512-VFkXSyyk/WRjjUoBI7g7cDy09qBjPbBQOloPMEshTzMo/NY9muWHl2yB/FSSkV/6PxGimPtJ7aEJPYfk8HCfXw==", - "dev": true, - "requires": { - "@babel/runtime": "^7.10.4", - "@changesets/apply-release-plan": "^5.0.0", - "@changesets/assemble-release-plan": "^5.0.0", - "@changesets/config": "^1.6.0", - "@changesets/errors": "^0.1.4", - "@changesets/get-dependents-graph": "^1.2.1", - "@changesets/get-release-plan": "^3.0.0", - "@changesets/git": "^1.1.1", - "@changesets/logger": "^0.0.5", - "@changesets/pre": "^1.0.6", - "@changesets/read": "^0.4.7", - "@changesets/types": "^4.0.0", - "@changesets/write": "^0.1.4", - "@manypkg/get-packages": "^1.0.1", - "@types/semver": "^6.0.0", - "boxen": "^1.3.0", - "chalk": "^2.1.0", - "enquirer": "^2.3.0", - "external-editor": "^3.1.0", - "fs-extra": "^7.0.1", - "human-id": "^1.0.2", - "is-ci": "^2.0.0", - "meow": "^6.0.0", - "outdent": "^0.5.0", - "p-limit": "^2.2.0", - "preferred-pm": "^3.0.0", - "semver": "^5.4.1", - "spawndamnit": "^2.0.0", - "term-size": "^2.1.0", - "tty-table": "^2.8.10" - }, - "dependencies": { - "ansi-align": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-2.0.0.tgz", - "integrity": "sha1-w2rsy6VjuJzrVW82kPCx2eNUf38=", - "dev": true, - "requires": { - "string-width": "^2.0.0" - } - }, - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "boxen": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/boxen/-/boxen-1.3.0.tgz", - "integrity": "sha512-TNPjfTr432qx7yOjQyaXm3dSR0MH9vXp7eT1BFSl/C51g+EFnOR9hTg1IreahGBmDNCehscshe45f+C1TBZbLw==", - "dev": true, - "requires": { - "ansi-align": "^2.0.0", - "camelcase": "^4.0.0", - "chalk": "^2.0.1", - "cli-boxes": "^1.0.0", - "string-width": "^2.0.0", - "term-size": "^1.2.0", - "widest-line": "^2.0.0" - }, - "dependencies": { - "term-size": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/term-size/-/term-size-1.2.0.tgz", - "integrity": "sha1-RYuDiH8oj8Vtb/+/rSYuJmOO+mk=", - "dev": true, - "requires": { - "execa": "^0.7.0" - } - } - } - }, - "camelcase": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", - "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", - "dev": true - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "cli-boxes": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-1.0.0.tgz", - "integrity": "sha1-T6kXw+WclKAEzWH47lCdplFocUM=", - "dev": true - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true - }, - "cross-spawn": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", - "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", - "dev": true, - "requires": { - "lru-cache": "^4.0.1", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - } - }, - "execa": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", - "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", - "dev": true, - "requires": { - "cross-spawn": "^5.0.1", - "get-stream": "^3.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" - } - }, - "fs-extra": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", - "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - }, - "get-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", - "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", - "dev": true - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true - }, - "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": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - }, - "is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", - "dev": true - }, - "jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.6" - } - }, - "meow": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/meow/-/meow-6.1.1.tgz", - "integrity": "sha512-3YffViIt2QWgTy6Pale5QpopX/IvU3LPL03jOTqp6pGj3VjesdO/U8CuHMKpnQr4shCNCM5fd5XFFvIIl6JBHg==", - "dev": true, - "requires": { - "@types/minimist": "^1.2.0", - "camelcase-keys": "^6.2.2", - "decamelize-keys": "^1.1.0", - "hard-rejection": "^2.1.0", - "minimist-options": "^4.0.2", - "normalize-package-data": "^2.5.0", - "read-pkg-up": "^7.0.1", - "redent": "^3.0.0", - "trim-newlines": "^3.0.0", - "type-fest": "^0.13.1", - "yargs-parser": "^18.1.3" - } - }, - "normalize-package-data": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", - "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", - "dev": true, - "requires": { - "hosted-git-info": "^2.1.4", - "resolve": "^1.10.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" - } - }, - "npm-run-path": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", - "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", - "dev": true, - "requires": { - "path-key": "^2.0.0" - } - }, - "path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", - "dev": true - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - }, - "shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", - "dev": true, - "requires": { - "shebang-regex": "^1.0.0" - } - }, - "shebang-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", - "dev": true - }, - "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "dev": true, - "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - } - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "requires": { - "ansi-regex": "^3.0.0" - } - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - }, - "type-fest": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.13.1.tgz", - "integrity": "sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==", - "dev": true - }, - "universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "dev": true - }, - "which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - }, - "widest-line": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-2.0.1.tgz", - "integrity": "sha512-Ba5m9/Fa4Xt9eb2ELXt77JxVDV8w7qQrH0zS/TWSJdLyAwQjWoOzpzj5lwVftDz6n/EOu3tNACS84v509qwnJA==", - "dev": true, - "requires": { - "string-width": "^2.1.1" - } - }, - "yargs-parser": { - "version": "18.1.3", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", - "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", - "dev": true, - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - }, - "dependencies": { - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true - } - } - } - } - }, - "@changesets/config": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/@changesets/config/-/config-1.6.0.tgz", - "integrity": "sha512-vMY/OpMFSDC2crDKb5Nq2kMX9hozcXL4dY5Rr+a1JQ044Rz+jqjJPpdTP2yQ+j7qmeGcUTvwjJoEMeekYwfqhg==", - "dev": true, - "requires": { - "@changesets/errors": "^0.1.4", - "@changesets/get-dependents-graph": "^1.2.1", - "@changesets/logger": "^0.0.5", - "@changesets/types": "^4.0.0", - "@manypkg/get-packages": "^1.0.1", - "fs-extra": "^7.0.1", - "micromatch": "^4.0.2" - }, - "dependencies": { - "fs-extra": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", - "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - }, - "jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.6" - } - }, - "universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "dev": true - } - } - }, - "@changesets/errors": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/@changesets/errors/-/errors-0.1.4.tgz", - "integrity": "sha512-HAcqPF7snsUJ/QzkWoKfRfXushHTu+K5KZLJWPb34s4eCZShIf8BFO3fwq6KU8+G7L5KdtN2BzQAXOSXEyiY9Q==", - "dev": true, - "requires": { - "extendable-error": "^0.1.5" - } - }, - "@changesets/get-dependents-graph": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@changesets/get-dependents-graph/-/get-dependents-graph-1.2.1.tgz", - "integrity": "sha512-vJOibo9SkqhVbgfq5AHIlQ7tzkYQIXh3tPAnlNLy2bPZsU+SByd74GaxHYWt1zOBlncU25WKrIM6J7XBB+GVUg==", - "dev": true, - "requires": { - "@changesets/types": "^4.0.0", - "@manypkg/get-packages": "^1.0.1", - "chalk": "^2.1.0", - "fs-extra": "^7.0.1", - "semver": "^5.4.1" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true - }, - "fs-extra": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", - "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true - }, - "jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.6" - } - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - }, - "universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "dev": true - } - } - }, - "@changesets/get-github-info": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/@changesets/get-github-info/-/get-github-info-0.5.0.tgz", - "integrity": "sha512-vm5VgHwrxkMkUjFyn3UVNKLbDp9YMHd3vMf1IyJoa/7B+6VpqmtAaXyDS0zBLfN5bhzVCHrRnj4GcZXXcqrFTw==", - "dev": true, - "requires": { - "dataloader": "^1.4.0", - "node-fetch": "^2.5.0" - }, - "dependencies": { - "dataloader": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/dataloader/-/dataloader-1.4.0.tgz", - "integrity": "sha512-68s5jYdlvasItOJnCuI2Q9s4q98g0pCyL3HrcKJu8KNugUl8ahgmZYg38ysLTgQjjXX3H8CJLkAvWrclWfcalw==", - "dev": true - } - } - }, - "@changesets/get-release-plan": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@changesets/get-release-plan/-/get-release-plan-3.0.0.tgz", - "integrity": "sha512-7VLiqpcWZyjwIXYgkubBC/9cdwqUJEhLMRT9/Y9+ctHqrpsXmJg15QQPTOh3HT9yGN5fJPL1WwuZkc1HXUhK0g==", - "dev": true, - "requires": { - "@babel/runtime": "^7.10.4", - "@changesets/assemble-release-plan": "^5.0.0", - "@changesets/config": "^1.6.0", - "@changesets/pre": "^1.0.6", - "@changesets/read": "^0.4.7", - "@changesets/types": "^4.0.0", - "@manypkg/get-packages": "^1.0.1" - } - }, - "@changesets/get-version-range-type": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@changesets/get-version-range-type/-/get-version-range-type-0.3.2.tgz", - "integrity": "sha512-SVqwYs5pULYjYT4op21F2pVbcrca4qA/bAA3FmFXKMN7Y+HcO8sbZUTx3TAy2VXulP2FACd1aC7f2nTuqSPbqg==", - "dev": true - }, - "@changesets/git": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@changesets/git/-/git-1.1.1.tgz", - "integrity": "sha512-Z12TcKwgU33YE3r76cyU+X81RchOXljDZ5s3G2u0Zd+ODyrwlDb91IO55+6R0Ha6ouPz8ioont0gA70c1RFngg==", - "dev": true, - "requires": { - "@babel/runtime": "^7.10.4", - "@changesets/errors": "^0.1.4", - "@changesets/types": "^4.0.0", - "@manypkg/get-packages": "^1.0.1", - "is-subdir": "^1.1.1", - "spawndamnit": "^2.0.0" - } - }, - "@changesets/logger": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/@changesets/logger/-/logger-0.0.5.tgz", - "integrity": "sha512-gJyZHomu8nASHpaANzc6bkQMO9gU/ib20lqew1rVx753FOxffnCrJlGIeQVxNWCqM+o6OOleCo/ivL8UAO5iFw==", - "dev": true, - "requires": { - "chalk": "^2.1.0" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "@changesets/parse": { - "version": "0.3.8", - "resolved": "https://registry.npmjs.org/@changesets/parse/-/parse-0.3.8.tgz", - "integrity": "sha512-0S7Dc7XbMOKamBtd48vVuWL2aFZyaglw6lJsXNddn9forFf8oMKMmdyJ/HQPyeEChDDOhDF1/ya7m/zpt4Dk4w==", - "dev": true, - "requires": { - "@changesets/types": "^4.0.0", - "js-yaml": "^3.13.1" - } - }, - "@changesets/pre": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/@changesets/pre/-/pre-1.0.6.tgz", - "integrity": "sha512-ZwFFQLjhTmA4hj8+Cf9pm6nD9Tp+AiBz1wJLaGum4Ae1fPXMwDnJfHknFUTytqZBlC0gHkiGSj6QkUuetWvckg==", - "dev": true, - "requires": { - "@babel/runtime": "^7.10.4", - "@changesets/errors": "^0.1.4", - "@changesets/types": "^4.0.0", - "@manypkg/get-packages": "^1.0.1", - "fs-extra": "^7.0.1" - }, - "dependencies": { - "fs-extra": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", - "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - }, - "jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.6" - } - }, - "universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "dev": true - } - } - }, - "@changesets/read": { - "version": "0.4.7", - "resolved": "https://registry.npmjs.org/@changesets/read/-/read-0.4.7.tgz", - "integrity": "sha512-E70QrYQpSCMF0nC0dlPU7i6A9zht+8zkQczrKMbOUwDVrfidcvgojxfuJSQbzptYSb9OKYh8GOLd+bsq9+uO9Q==", - "dev": true, - "requires": { - "@babel/runtime": "^7.10.4", - "@changesets/git": "^1.1.1", - "@changesets/logger": "^0.0.5", - "@changesets/parse": "^0.3.8", - "@changesets/types": "^4.0.0", - "chalk": "^2.1.0", - "fs-extra": "^7.0.1", - "p-filter": "^2.1.0" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true - }, - "fs-extra": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", - "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true - }, - "jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.6" - } - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - }, - "universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "dev": true - } - } - }, - "@changesets/types": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@changesets/types/-/types-4.0.0.tgz", - "integrity": "sha512-whLmPx2wgJRoOtxVZop+DJ71z1gTSkij7osiHgN+pe//FiE6bb4ffvBBb0rACs2cUPfAkWxgSPzqkECgKS1jvQ==", - "dev": true - }, - "@changesets/write": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/@changesets/write/-/write-0.1.4.tgz", - "integrity": "sha512-uco+vS3mo2JqflLciIU707har+6AEFOeP8pgu3vVC1M2WcKukQgR1KylHFqZJxKQWahf8mQnuUSbgR4yJQuhmA==", - "dev": true, - "requires": { - "@babel/runtime": "^7.10.4", - "@changesets/types": "^4.0.0", - "fs-extra": "^7.0.1", - "human-id": "^1.0.2", - "prettier": "^1.19.1" - }, - "dependencies": { - "fs-extra": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", - "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - }, - "jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.6" - } - }, - "prettier": { - "version": "1.19.1", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.19.1.tgz", - "integrity": "sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew==", - "dev": true - }, - "universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "dev": true - } - } - }, "@directus/app": { "version": "file:app", "requires": { @@ -62849,93 +60430,6 @@ "@lukeed/csprng": "^1.0.0" } }, - "@manypkg/find-root": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@manypkg/find-root/-/find-root-1.1.0.tgz", - "integrity": "sha512-mki5uBvhHzO8kYYix/WRy2WX8S3B5wdVSc9D6KcU5lQNglP2yt58/VfLuAK49glRXChosY8ap2oJ1qgma3GUVA==", - "dev": true, - "requires": { - "@babel/runtime": "^7.5.5", - "@types/node": "^12.7.1", - "find-up": "^4.1.0", - "fs-extra": "^8.1.0" - }, - "dependencies": { - "@types/node": { - "version": "12.20.13", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.13.tgz", - "integrity": "sha512-1x8W5OpxPq+T85OUsHRP6BqXeosKmeXRtjoF39STcdf/UWLqUsoehstZKOi0CunhVqHG17AyZgpj20eRVooK6A==", - "dev": true - }, - "fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", - "dev": true, - "requires": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - }, - "jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.6" - } - }, - "universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "dev": true - } - } - }, - "@manypkg/get-packages": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@manypkg/get-packages/-/get-packages-1.1.1.tgz", - "integrity": "sha512-J6VClfQSVgR6958eIDTGjfdCrELy1eT+SHeoSMomnvRQVktZMnEA5edIr5ovRFNw5y+Bk/jyoevPzGYod96mhw==", - "dev": true, - "requires": { - "@babel/runtime": "^7.5.5", - "@manypkg/find-root": "^1.1.0", - "fs-extra": "^8.1.0", - "globby": "^11.0.0", - "read-yaml-file": "^1.1.0" - }, - "dependencies": { - "fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", - "dev": true, - "requires": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - }, - "jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.6" - } - }, - "universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "dev": true - } - } - }, "@mapbox/node-pre-gyp": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/@mapbox/node-pre-gyp/-/node-pre-gyp-1.0.3.tgz", @@ -64824,12 +62318,6 @@ "integrity": "sha512-EaCxbanVeyxDRTQBkdLb3Bvl/HK7PBK6UJjsSixB0iHKoWxE5uu2Q/DgtpOhPIojN0Zl1whvOd7PoHs2P0s5eA==", "peer": true }, - "@types/semver": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-6.2.2.tgz", - "integrity": "sha512-RxAwYt4rGwK5GyoRwuP0jT6ZHAVTdz2EqgsHmX0PYNjGsko+OeT4WFXXTs/lM3teJUJodM+SNtAL5/pXIJ61IQ==", - "dev": true - }, "@types/serve-static": { "version": "1.13.9", "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.9.tgz", @@ -69283,15 +66771,6 @@ } } }, - "better-path-resolve": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/better-path-resolve/-/better-path-resolve-1.0.0.tgz", - "integrity": "sha512-pbnl5XzGBdrFU/wT4jqmJVPn2B6UHPBOhzMQkY/SPUPB6QtUXtmBHBIwCbXJol93mOpGMnQyP/+BB19q04xj7g==", - "dev": true, - "requires": { - "is-windows": "^1.0.0" - } - }, "better-queue": { "version": "3.8.10", "resolved": "https://registry.npmjs.org/better-queue/-/better-queue-3.8.10.tgz", @@ -69496,15 +66975,6 @@ "fill-range": "^7.0.1" } }, - "breakword": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/breakword/-/breakword-1.0.5.tgz", - "integrity": "sha512-ex5W9DoOQ/LUEU3PMdLs9ua/CYZl1678NUkKOdUSi8Aw5F1idieaiRURCBFJCwVcrD1J8Iy3vfWSloaMwO2qFg==", - "dev": true, - "requires": { - "wcwidth": "^1.0.1" - } - }, "brorand": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", @@ -75110,12 +72580,6 @@ "is-extendable": "^1.0.1" } }, - "extendable-error": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/extendable-error/-/extendable-error-0.1.7.tgz", - "integrity": "sha512-UOiS2in6/Q0FK0R0q6UY9vYpQ21mr/Qn1KOnte7vsACuNJf514WvCCUHSRCPcgjPT2bAhNIJdlE6bVap1GKmeg==", - "dev": true - }, "external-editor": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", @@ -75423,16 +72887,6 @@ "path-exists": "^4.0.0" } }, - "find-yarn-workspace-root2": { - "version": "1.2.16", - "resolved": "https://registry.npmjs.org/find-yarn-workspace-root2/-/find-yarn-workspace-root2-1.2.16.tgz", - "integrity": "sha512-hr6hb1w8ePMpPVUK39S4RlwJzi+xPLuVuG8XlwXU3KD5Yn3qgBWVfy3AzNlDhWvE1EORCE65/Qm26rFQt3VLVA==", - "dev": true, - "requires": { - "micromatch": "^4.0.2", - "pkg-dir": "^4.2.0" - } - }, "findup-sync": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-3.0.0.tgz", @@ -78958,12 +76412,6 @@ } } }, - "grapheme-splitter": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz", - "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==", - "dev": true - }, "graphlib": { "version": "2.1.8", "resolved": "https://registry.npmjs.org/graphlib/-/graphlib-2.1.8.tgz", @@ -79865,12 +77313,6 @@ "debug": "4" } }, - "human-id": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/human-id/-/human-id-1.0.2.tgz", - "integrity": "sha512-UNopramDEhHJD+VR+ehk8rOslwSfByxPIZyJRfV739NDhN5LF1fa1MqnzKm2lGTQRjNrjK19Q5fhkgIfjlVUKw==", - "dev": true - }, "human-signals": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", @@ -80711,15 +78153,6 @@ "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.5.tgz", "integrity": "sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ==" }, - "is-subdir": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/is-subdir/-/is-subdir-1.2.0.tgz", - "integrity": "sha512-2AT6j+gXe/1ueqbW6fLZJiIw3F8iXGJtt0yDrZaBhAZEG1raiTxKWU+IPqMCzQAXOUCKdA4UDMgacKH25XG2Cw==", - "dev": true, - "requires": { - "better-path-resolve": "1.0.0" - } - }, "is-supported-regexp-flag": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-supported-regexp-flag/-/is-supported-regexp-flag-1.0.1.tgz", @@ -84207,32 +81640,6 @@ "integrity": "sha1-BJGTngvuVkPuSUp+PaPSuscMbKQ=", "dev": true }, - "load-yaml-file": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/load-yaml-file/-/load-yaml-file-0.2.0.tgz", - "integrity": "sha512-OfCBkGEw4nN6JLtgRidPX6QxjBQGQf72q3si2uvqyFEMbycSFFHwAZeXx6cJgFM9wmLrf9zBwCP3Ivqa+LLZPw==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.5", - "js-yaml": "^3.13.0", - "pify": "^4.0.1", - "strip-bom": "^3.0.0" - }, - "dependencies": { - "pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", - "dev": true - }, - "strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", - "dev": true - } - } - }, "loader-fs-cache": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/loader-fs-cache/-/loader-fs-cache-1.0.3.tgz", @@ -87564,12 +84971,6 @@ "@otplib/preset-v11": "^12.0.1" } }, - "outdent": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/outdent/-/outdent-0.5.0.tgz", - "integrity": "sha512-/jHxFIzoMXdqPzTaCpFzAAWhpkSjZPF4Vsn6jAfNpmbH/ymsmd7Qc6VE9BGn0L6YMj6uwpQLxCECpus4ukKS9Q==", - "dev": true - }, "p-cancelable": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-0.4.1.tgz", @@ -87588,23 +84989,6 @@ "integrity": "sha512-ycIL2+1V32th+8scbpTvyHNaHe02z0sjgh91XXjAk+ZeXoPN4Z46DVUnzdso0aX4KckKw0FNNFHdjZ2UsZvxiA==", "dev": true }, - "p-filter": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/p-filter/-/p-filter-2.1.0.tgz", - "integrity": "sha512-ZBxxZ5sL2HghephhpGAQdoskxplTwr7ICaehZwLIlfL6acuVgZPm8yBNuRAFBGEqtD/hmUeq9eqLg2ys9Xr/yw==", - "dev": true, - "requires": { - "p-map": "^2.0.0" - }, - "dependencies": { - "p-map": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz", - "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==", - "dev": true - } - } - }, "p-finally": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", @@ -89572,57 +86956,6 @@ "tunnel-agent": "^0.6.0" } }, - "preferred-pm": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/preferred-pm/-/preferred-pm-3.0.3.tgz", - "integrity": "sha512-+wZgbxNES/KlJs9q40F/1sfOd/j7f1O9JaHcW5Dsn3aUUOZg3L2bjpVUcKV2jvtElYfoTuQiNeMfQJ4kwUAhCQ==", - "dev": true, - "requires": { - "find-up": "^5.0.0", - "find-yarn-workspace-root2": "1.2.16", - "path-exists": "^4.0.0", - "which-pm": "2.0.0" - }, - "dependencies": { - "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, - "requires": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - } - }, - "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, - "requires": { - "p-locate": "^5.0.0" - } - }, - "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, - "requires": { - "yocto-queue": "^0.1.0" - } - }, - "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, - "requires": { - "p-limit": "^3.0.2" - } - } - } - }, "prelude-ls": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", @@ -90858,32 +88191,6 @@ } } }, - "read-yaml-file": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/read-yaml-file/-/read-yaml-file-1.1.0.tgz", - "integrity": "sha512-VIMnQi/Z4HT2Fxuwg5KrY174U1VdUIASQVWXXyqtNRtxSr9IYkn1rsI6Tb6HsrHCmB7gVpNwX6JxPTHcH6IoTA==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.5", - "js-yaml": "^3.6.1", - "pify": "^4.0.1", - "strip-bom": "^3.0.0" - }, - "dependencies": { - "pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", - "dev": true - }, - "strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", - "dev": true - } - } - }, "readable-stream": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", @@ -92378,19 +89685,6 @@ "integrity": "sha512-iVICrxOzCynf/SNaBQCw34eM9jROU/s5rzIhpOvzhzuYHfJR/DhZfDkXiZSgKXfgv26HT3Yni3AV/DGw0cGnnw==", "dev": true }, - "smartwrap": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/smartwrap/-/smartwrap-1.2.5.tgz", - "integrity": "sha512-bzWRwHwu0RnWjwU7dFy7tF68pDAx/zMSu3g7xr9Nx5J0iSImYInglwEVExyHLxXljy6PWMjkSAbwF7t2mPnRmg==", - "dev": true, - "requires": { - "breakword": "^1.0.5", - "grapheme-splitter": "^1.0.4", - "strip-ansi": "^6.0.0", - "wcwidth": "^1.0.1", - "yargs": "^15.1.0" - } - }, "smoothscroll-polyfill": { "version": "0.4.4", "resolved": "https://registry.npmjs.org/smoothscroll-polyfill/-/smoothscroll-polyfill-0.4.4.tgz", @@ -92766,53 +90060,6 @@ "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", "dev": true }, - "spawndamnit": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/spawndamnit/-/spawndamnit-2.0.0.tgz", - "integrity": "sha512-j4JKEcncSjFlqIwU5L/rp2N5SIPsdxaRsIv678+TZxZ0SRDJTm8JrxJMjE/XuiEZNEir3S8l0Fa3Ke339WI4qA==", - "dev": true, - "requires": { - "cross-spawn": "^5.1.0", - "signal-exit": "^3.0.2" - }, - "dependencies": { - "cross-spawn": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", - "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", - "dev": true, - "requires": { - "lru-cache": "^4.0.1", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - } - }, - "shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", - "dev": true, - "requires": { - "shebang-regex": "^1.0.0" - } - }, - "shebang-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", - "dev": true - }, - "which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - } - } - }, "spdx-correct": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", @@ -96309,32 +93556,6 @@ "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=" }, - "tty-table": { - "version": "2.8.13", - "resolved": "https://registry.npmjs.org/tty-table/-/tty-table-2.8.13.tgz", - "integrity": "sha512-eVV/+kB6fIIdx+iUImhXrO22gl7f6VmmYh0Zbu6C196fe1elcHXd7U6LcLXu0YoVPc2kNesWiukYcdK8ZmJ6aQ==", - "dev": true, - "requires": { - "chalk": "^3.0.0", - "csv": "^5.3.1", - "smartwrap": "^1.2.3", - "strip-ansi": "^6.0.0", - "wcwidth": "^1.0.1", - "yargs": "^15.1.0" - }, - "dependencies": { - "chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - } - } - }, "tunnel": { "version": "0.0.6", "resolved": "https://registry.npmjs.org/tunnel/-/tunnel-0.0.6.tgz", @@ -99342,16 +96563,6 @@ "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=" }, - "which-pm": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-pm/-/which-pm-2.0.0.tgz", - "integrity": "sha512-Lhs9Pmyph0p5n5Z3mVnN0yWcbQYUAD7rbQUiMsQxOJ3T57k7RFe35SUwWMf7dsbDZks1uOmw4AecB/JMDj3v/w==", - "dev": true, - "requires": { - "load-yaml-file": "^0.2.0", - "path-exists": "^4.0.0" - } - }, "wide-align": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", diff --git a/package.json b/package.json index 9d36e7320f..fc6c164f9d 100644 --- a/package.json +++ b/package.json @@ -21,8 +21,6 @@ "cli": "cross-env DIRECTUS_DEV=true NODE_ENV=development DOTENV_CONFIG_PATH=api/.env ts-node -r dotenv/config --script-mode --transpile-only api/src/cli/index.ts" }, "devDependencies": { - "@changesets/changelog-github": "^0.4.0", - "@changesets/cli": "^2.16.0", "@types/dockerode": "^3.2.3", "@types/jest": "^26.0.22", "@types/listr": "^0.14.3", From a6a354a0ae336ae77a430dfaab7224a68dbfd14e Mon Sep 17 00:00:00 2001 From: rijkvanzanten Date: Tue, 1 Jun 2021 20:17:10 -0400 Subject: [PATCH 13/83] v9.0.0-rc.70 --- api/package.json | 18 +++++++++--------- app/package.json | 6 +++--- docs/package.json | 2 +- lerna.json | 2 +- packages/cli/package.json | 6 +++--- packages/create-directus-project/package.json | 2 +- packages/drive-azure/package.json | 4 ++-- packages/drive-gcs/package.json | 4 ++-- packages/drive-s3/package.json | 4 ++-- packages/drive/package.json | 2 +- packages/format-title/package.json | 2 +- packages/gatsby-source-directus/package.json | 2 +- packages/schema/package.json | 2 +- packages/sdk/package.json | 2 +- packages/specs/package.json | 2 +- 15 files changed, 30 insertions(+), 30 deletions(-) diff --git a/api/package.json b/api/package.json index bc857317e9..f632486832 100644 --- a/api/package.json +++ b/api/package.json @@ -1,6 +1,6 @@ { "name": "directus", - "version": "9.0.0-rc.69", + "version": "9.0.0-rc.70", "license": "GPL-3.0-only", "homepage": "https://github.com/directus/directus#readme", "description": "Directus is a real-time API and App dashboard for managing SQL database content.", @@ -66,14 +66,14 @@ "example.env" ], "dependencies": { - "@directus/app": "9.0.0-rc.69", - "@directus/drive": "9.0.0-rc.69", - "@directus/drive-azure": "9.0.0-rc.69", - "@directus/drive-gcs": "9.0.0-rc.69", - "@directus/drive-s3": "9.0.0-rc.69", - "@directus/format-title": "9.0.0-rc.69", - "@directus/schema": "9.0.0-rc.69", - "@directus/specs": "9.0.0-rc.69", + "@directus/app": "9.0.0-rc.70", + "@directus/drive": "9.0.0-rc.70", + "@directus/drive-azure": "9.0.0-rc.70", + "@directus/drive-gcs": "9.0.0-rc.70", + "@directus/drive-s3": "9.0.0-rc.70", + "@directus/format-title": "9.0.0-rc.70", + "@directus/schema": "9.0.0-rc.70", + "@directus/specs": "9.0.0-rc.70", "@godaddy/terminus": "^4.7.2", "argon2": "^0.27.0", "async": "^3.2.0", diff --git a/app/package.json b/app/package.json index 37e3d72fcc..53cc829ff1 100644 --- a/app/package.json +++ b/app/package.json @@ -1,6 +1,6 @@ { "name": "@directus/app", - "version": "9.0.0-rc.69", + "version": "9.0.0-rc.70", "private": false, "description": "Directus is an Open-Source Headless CMS & API for Managing Custom Databases", "author": "Rijk van Zanten ", @@ -27,8 +27,8 @@ }, "gitHead": "24621f3934dc77eb23441331040ed13c676ceffd", "devDependencies": { - "@directus/docs": "9.0.0-rc.69", - "@directus/format-title": "9.0.0-rc.69", + "@directus/docs": "9.0.0-rc.70", + "@directus/format-title": "9.0.0-rc.70", "@fullcalendar/core": "^5.7.0", "@fullcalendar/daygrid": "^5.7.0", "@fullcalendar/interaction": "^5.7.0", diff --git a/docs/package.json b/docs/package.json index 70cb20bf71..f4f0a1b7eb 100644 --- a/docs/package.json +++ b/docs/package.json @@ -1,7 +1,7 @@ { "name": "@directus/docs", "private": false, - "version": "9.0.0-rc.69", + "version": "9.0.0-rc.70", "description": "", "main": "index.json", "scripts": { diff --git a/lerna.json b/lerna.json index 6be13eccf2..21ff83901e 100644 --- a/lerna.json +++ b/lerna.json @@ -5,7 +5,7 @@ "docs", "api" ], - "version": "9.0.0-rc.69", + "version": "9.0.0-rc.70", "command": { "bootstrap": { "npmClientArgs": [ diff --git a/packages/cli/package.json b/packages/cli/package.json index 7328f12ef9..8e4a73582a 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "@directus/cli", - "version": "9.0.0-rc.69", + "version": "9.0.0-rc.70", "description": "The official Directus CLI", "repository": { "type": "git", @@ -41,8 +41,8 @@ "author": "João Biondo ", "license": "MIT", "dependencies": { - "@directus/format-title": "9.0.0-rc.69", - "@directus/sdk": "9.0.0-rc.69", + "@directus/format-title": "9.0.0-rc.70", + "@directus/sdk": "9.0.0-rc.70", "@types/yargs": "^16.0.1", "app-module-path": "^2.2.0", "chalk": "^4.1.0", diff --git a/packages/create-directus-project/package.json b/packages/create-directus-project/package.json index 8dcdce63e7..be703509df 100644 --- a/packages/create-directus-project/package.json +++ b/packages/create-directus-project/package.json @@ -1,6 +1,6 @@ { "name": "create-directus-project", - "version": "9.0.0-rc.69", + "version": "9.0.0-rc.70", "description": "A small installer util that will create a directory, add boilerplate folders, and install Directus through npm.", "main": "lib/index.js", "bin": "./lib/index.js", diff --git a/packages/drive-azure/package.json b/packages/drive-azure/package.json index dda72c820d..ec83a7949b 100644 --- a/packages/drive-azure/package.json +++ b/packages/drive-azure/package.json @@ -1,6 +1,6 @@ { "name": "@directus/drive-azure", - "version": "9.0.0-rc.69", + "version": "9.0.0-rc.70", "description": "Azure Blob driver for @directus/drive", "license": "MIT", "main": "dist/index.js", @@ -35,7 +35,7 @@ ], "dependencies": { "@azure/storage-blob": "^12.2.1", - "@directus/drive": "9.0.0-rc.69", + "@directus/drive": "9.0.0-rc.70", "normalize-path": "^3.0.0" }, "devDependencies": { diff --git a/packages/drive-gcs/package.json b/packages/drive-gcs/package.json index 39972354de..b826bc32f1 100644 --- a/packages/drive-gcs/package.json +++ b/packages/drive-gcs/package.json @@ -1,6 +1,6 @@ { "name": "@directus/drive-gcs", - "version": "9.0.0-rc.69", + "version": "9.0.0-rc.70", "description": "Google Cloud Storage driver for @directus/drive", "license": "MIT", "main": "dist/index.js", @@ -33,7 +33,7 @@ "dev": "npm run build -- -w --preserveWatchOutput --incremental" }, "dependencies": { - "@directus/drive": "9.0.0-rc.69", + "@directus/drive": "9.0.0-rc.70", "@google-cloud/storage": "^5.8.4", "normalize-path": "^3.0.0" }, diff --git a/packages/drive-s3/package.json b/packages/drive-s3/package.json index f29a083ff5..7a64ca0155 100644 --- a/packages/drive-s3/package.json +++ b/packages/drive-s3/package.json @@ -1,6 +1,6 @@ { "name": "@directus/drive-s3", - "version": "9.0.0-rc.69", + "version": "9.0.0-rc.70", "description": "AWS S3 driver for @directus/drive", "license": "MIT", "main": "dist/index.js", @@ -34,7 +34,7 @@ "dev": "npm run build -- -w --preserveWatchOutput --incremental" }, "dependencies": { - "@directus/drive": "9.0.0-rc.69", + "@directus/drive": "9.0.0-rc.70", "aws-sdk": "^2.911.0", "normalize-path": "^3.0.0" }, diff --git a/packages/drive/package.json b/packages/drive/package.json index 728251f7d3..448319d3c7 100644 --- a/packages/drive/package.json +++ b/packages/drive/package.json @@ -1,6 +1,6 @@ { "name": "@directus/drive", - "version": "9.0.0-rc.69", + "version": "9.0.0-rc.70", "description": "Flexible and Fluent way to manage storage in Node.js.", "license": "MIT", "main": "dist/index.js", diff --git a/packages/format-title/package.json b/packages/format-title/package.json index e3b5ecb67b..570528137b 100644 --- a/packages/format-title/package.json +++ b/packages/format-title/package.json @@ -1,6 +1,6 @@ { "name": "@directus/format-title", - "version": "9.0.0-rc.69", + "version": "9.0.0-rc.70", "description": "Custom string formatter that converts any string into [Title Case](http://www.grammar-monster.com/lessons/capital_letters_title_case.htm)", "keywords": [ "title-case", diff --git a/packages/gatsby-source-directus/package.json b/packages/gatsby-source-directus/package.json index 758b024583..f9a2d18164 100644 --- a/packages/gatsby-source-directus/package.json +++ b/packages/gatsby-source-directus/package.json @@ -1,6 +1,6 @@ { "name": "@directus/gatsby-source-directus", - "version": "9.0.0-rc.69", + "version": "9.0.0-rc.70", "description": "Source plugin for pulling data into Gatsby from a Directus API.", "author": "João Biondo ", "license": "MIT", diff --git a/packages/schema/package.json b/packages/schema/package.json index 446fb8b7b7..d8c5ac410d 100644 --- a/packages/schema/package.json +++ b/packages/schema/package.json @@ -1,6 +1,6 @@ { "name": "@directus/schema", - "version": "9.0.0-rc.69", + "version": "9.0.0-rc.70", "description": "Utility for extracting information about existing DB schema", "main": "dist/index.js", "types": "dist/index.d.ts", diff --git a/packages/sdk/package.json b/packages/sdk/package.json index f82e914e62..de72965d9a 100644 --- a/packages/sdk/package.json +++ b/packages/sdk/package.json @@ -1,6 +1,6 @@ { "name": "@directus/sdk", - "version": "9.0.0-rc.69", + "version": "9.0.0-rc.70", "description": "The official Directus SDK for use in JavaScript!", "repository": { "type": "git", diff --git a/packages/specs/package.json b/packages/specs/package.json index 09a13aa4de..b0f06cb258 100644 --- a/packages/specs/package.json +++ b/packages/specs/package.json @@ -1,6 +1,6 @@ { "name": "@directus/specs", - "version": "9.0.0-rc.69", + "version": "9.0.0-rc.70", "description": "OpenAPI Specification of the Directus API", "main": "index.js", "scripts": { From 7993b2e8697018144746776035a09081e80d7a1e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 2 Jun 2021 09:04:14 -0400 Subject: [PATCH 14/83] Bump fs-extra from 9.1.0 to 10.0.0 (#5982) Bumps [fs-extra](https://github.com/jprichardson/node-fs-extra) from 9.1.0 to 10.0.0. - [Release notes](https://github.com/jprichardson/node-fs-extra/releases) - [Changelog](https://github.com/jprichardson/node-fs-extra/blob/master/CHANGELOG.md) - [Commits](https://github.com/jprichardson/node-fs-extra/compare/9.1.0...10.0.0) --- updated-dependencies: - dependency-name: fs-extra dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- api/package.json | 2 +- docs/package.json | 2 +- package-lock.json | 344 +++++++++++------- packages/cli/package.json | 2 +- packages/create-directus-project/package.json | 2 +- packages/drive-azure/package.json | 2 +- packages/drive-s3/package.json | 2 +- packages/drive/package.json | 2 +- 8 files changed, 227 insertions(+), 131 deletions(-) diff --git a/api/package.json b/api/package.json index f632486832..3b65db1407 100644 --- a/api/package.json +++ b/api/package.json @@ -98,7 +98,7 @@ "express": "^4.17.1", "express-pino-logger": "^6.0.0", "express-session": "^1.17.2", - "fs-extra": "^9.1.0", + "fs-extra": "^10.0.0", "grant": "^5.4.14", "graphql": "^15.5.0", "graphql-compose": "^8.1.0", diff --git a/docs/package.json b/docs/package.json index f4f0a1b7eb..82cc9206d6 100644 --- a/docs/package.json +++ b/docs/package.json @@ -31,7 +31,7 @@ "gitHead": "24621f3934dc77eb23441331040ed13c676ceffd", "devDependencies": { "directory-tree": "^2.2.9", - "fs-extra": "^9.1.0", + "fs-extra": "^10.0.0", "lodash.get": "^4.4.2", "micromark": "^2.10.1", "npm-watch": "^0.9.0", diff --git a/package-lock.json b/package-lock.json index f83ef23763..929c012741 100644 --- a/package-lock.json +++ b/package-lock.json @@ -54,17 +54,17 @@ }, "api": { "name": "directus", - "version": "9.0.0-rc.69", + "version": "9.0.0-rc.70", "license": "GPL-3.0-only", "dependencies": { - "@directus/app": "9.0.0-rc.69", - "@directus/drive": "9.0.0-rc.69", - "@directus/drive-azure": "9.0.0-rc.69", - "@directus/drive-gcs": "9.0.0-rc.69", - "@directus/drive-s3": "9.0.0-rc.69", - "@directus/format-title": "9.0.0-rc.69", - "@directus/schema": "9.0.0-rc.69", - "@directus/specs": "9.0.0-rc.69", + "@directus/app": "9.0.0-rc.70", + "@directus/drive": "9.0.0-rc.70", + "@directus/drive-azure": "9.0.0-rc.70", + "@directus/drive-gcs": "9.0.0-rc.70", + "@directus/drive-s3": "9.0.0-rc.70", + "@directus/format-title": "9.0.0-rc.70", + "@directus/schema": "9.0.0-rc.70", + "@directus/specs": "9.0.0-rc.70", "@godaddy/terminus": "^4.7.2", "argon2": "^0.27.0", "async": "^3.2.0", @@ -89,7 +89,7 @@ "express": "^4.17.1", "express-pino-logger": "^6.0.0", "express-session": "^1.17.2", - "fs-extra": "^9.1.0", + "fs-extra": "^10.0.0", "grant": "^5.4.14", "graphql": "^15.5.0", "graphql-compose": "^8.1.0", @@ -238,6 +238,19 @@ "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, + "api/node_modules/fs-extra": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.0.tgz", + "integrity": "sha512-C5owb14u9eJwizKGdchcDUQeFtlSHHthBk8pbX9Vc1PFZrLombudjDnNns88aYslCyF6IY5SUw3Roz6xShcEIQ==", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, "api/node_modules/get-stream": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", @@ -312,10 +325,10 @@ }, "app": { "name": "@directus/app", - "version": "9.0.0-rc.69", + "version": "9.0.0-rc.70", "devDependencies": { - "@directus/docs": "9.0.0-rc.69", - "@directus/format-title": "9.0.0-rc.69", + "@directus/docs": "9.0.0-rc.70", + "@directus/format-title": "9.0.0-rc.70", "@fullcalendar/core": "^5.7.0", "@fullcalendar/daygrid": "^5.7.0", "@fullcalendar/interaction": "^5.7.0", @@ -449,11 +462,11 @@ }, "docs": { "name": "@directus/docs", - "version": "9.0.0-rc.69", + "version": "9.0.0-rc.70", "license": "ISC", "devDependencies": { "directory-tree": "^2.2.9", - "fs-extra": "^9.1.0", + "fs-extra": "^10.0.0", "lodash.get": "^4.4.2", "micromark": "^2.10.1", "npm-watch": "^0.9.0", @@ -462,6 +475,20 @@ "vuepress-plugin-clean-urls": "^1.1.2" } }, + "docs/node_modules/fs-extra": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.0.tgz", + "integrity": "sha512-C5owb14u9eJwizKGdchcDUQeFtlSHHthBk8pbX9Vc1PFZrLombudjDnNns88aYslCyF6IY5SUw3Roz6xShcEIQ==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, "node_modules/@apidevtools/json-schema-ref-parser": { "version": "9.0.7", "resolved": "https://registry.npmjs.org/@apidevtools/json-schema-ref-parser/-/json-schema-ref-parser-9.0.7.tgz", @@ -12268,6 +12295,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", + "dev": true, "engines": { "node": ">= 4.0.0" } @@ -13045,7 +13073,6 @@ "version": "0.0.9", "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz", "integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=", - "dev": true, "optional": true, "dependencies": { "inherits": "~2.0.0" @@ -21039,6 +21066,7 @@ "version": "9.1.0", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dev": true, "dependencies": { "at-least-node": "^1.0.0", "graceful-fs": "^4.2.0", @@ -21143,7 +21171,6 @@ "version": "1.0.12", "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.12.tgz", "integrity": "sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg==", - "dev": true, "optional": true, "dependencies": { "graceful-fs": "^4.1.2", @@ -21159,7 +21186,6 @@ "version": "0.5.5", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", - "dev": true, "optional": true, "dependencies": { "minimist": "^1.2.5" @@ -21172,7 +21198,6 @@ "version": "2.7.1", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dev": true, "optional": true, "dependencies": { "glob": "^7.1.3" @@ -41931,7 +41956,6 @@ "version": "0.5.5", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", - "dev": true, "optional": true, "dependencies": { "minimist": "^1.2.5" @@ -41944,7 +41968,6 @@ "version": "3.8.0", "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-3.8.0.tgz", "integrity": "sha512-3g8lYefrRRzvGeSowdJKAKyks8oUpLEd/DyPV4eMhVlhJ0aNaZqIrNUIPuEWWTAoPqyFkfGrM67MC69baqn6vA==", - "dev": true, "optional": true, "dependencies": { "fstream": "^1.0.0", @@ -41971,7 +41994,6 @@ "version": "3.0.6", "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", - "dev": true, "optional": true, "dependencies": { "abbrev": "1" @@ -41984,7 +42006,6 @@ "version": "2.7.1", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dev": true, "optional": true, "dependencies": { "glob": "^7.1.3" @@ -41997,7 +42018,6 @@ "version": "5.3.0", "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz", "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=", - "dev": true, "optional": true, "bin": { "semver": "bin/semver" @@ -42007,7 +42027,6 @@ "version": "2.2.2", "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.2.tgz", "integrity": "sha512-FCEhQ/4rE1zYv9rYXJw/msRqsnmlje5jHP6huWeBZ704jUTy02c5AZyWujpMR1ax6mVw9NyJMfuK2CMDWVIfgA==", - "dev": true, "optional": true, "dependencies": { "block-stream": "*", @@ -42019,7 +42038,6 @@ "version": "1.3.1", "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dev": true, "optional": true, "dependencies": { "isexe": "^2.0.0" @@ -50729,11 +50747,11 @@ }, "packages/cli": { "name": "@directus/cli", - "version": "9.0.0-rc.69", + "version": "9.0.0-rc.70", "license": "MIT", "dependencies": { - "@directus/format-title": "9.0.0-rc.69", - "@directus/sdk": "9.0.0-rc.69", + "@directus/format-title": "9.0.0-rc.70", + "@directus/sdk": "9.0.0-rc.70", "@types/yargs": "^16.0.1", "app-module-path": "^2.2.0", "chalk": "^4.1.0", @@ -50747,7 +50765,7 @@ "dotenv": "^9.0.2", "eventemitter2": "^6.4.4", "figlet": "^1.5.0", - "fs-extra": "^8.1.0", + "fs-extra": "^10.0.0", "gluegun": "^4.6.1", "indent-string": "^5.0.0", "jaro-winkler": "^0.2.8", @@ -50844,16 +50862,16 @@ } }, "packages/cli/node_modules/fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.0.tgz", + "integrity": "sha512-C5owb14u9eJwizKGdchcDUQeFtlSHHthBk8pbX9Vc1PFZrLombudjDnNns88aYslCyF6IY5SUw3Roz6xShcEIQ==", "dependencies": { "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" }, "engines": { - "node": ">=6 <7 || >=8" + "node": ">=12" } }, "packages/cli/node_modules/indent-string": { @@ -50878,14 +50896,6 @@ "js-yaml": "bin/js-yaml.js" } }, - "packages/cli/node_modules/jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, "packages/cli/node_modules/open": { "version": "8.2.0", "resolved": "https://registry.npmjs.org/open/-/open-8.2.0.tgz", @@ -50930,14 +50940,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "packages/cli/node_modules/universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "engines": { - "node": ">= 4.0.0" - } - }, "packages/cli/node_modules/y18n": { "version": "5.0.8", "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", @@ -50972,13 +50974,13 @@ } }, "packages/create-directus-project": { - "version": "9.0.0-rc.69", + "version": "9.0.0-rc.70", "license": "GPL-3.0-only", "dependencies": { "chalk": "^4.1.1", "commander": "^7.2.0", "execa": "^5.0.1", - "fs-extra": "^9.1.0", + "fs-extra": "^10.0.0", "ora": "^5.4.0" }, "bin": { @@ -51007,6 +51009,19 @@ "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, + "packages/create-directus-project/node_modules/fs-extra": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.0.tgz", + "integrity": "sha512-C5owb14u9eJwizKGdchcDUQeFtlSHHthBk8pbX9Vc1PFZrLombudjDnNns88aYslCyF6IY5SUw3Roz6xShcEIQ==", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, "packages/create-directus-project/node_modules/get-stream": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", @@ -51028,10 +51043,10 @@ }, "packages/drive": { "name": "@directus/drive", - "version": "9.0.0-rc.69", + "version": "9.0.0-rc.70", "license": "MIT", "dependencies": { - "fs-extra": "^9.1.0", + "fs-extra": "^10.0.0", "node-exceptions": "^4.0.1" }, "devDependencies": { @@ -51047,11 +51062,11 @@ }, "packages/drive-azure": { "name": "@directus/drive-azure", - "version": "9.0.0-rc.69", + "version": "9.0.0-rc.70", "license": "MIT", "dependencies": { "@azure/storage-blob": "^12.2.1", - "@directus/drive": "9.0.0-rc.69", + "@directus/drive": "9.0.0-rc.70", "normalize-path": "^3.0.0" }, "devDependencies": { @@ -51060,7 +51075,7 @@ "@types/node": "^15.6.0", "@types/normalize-path": "^3.0.0", "dotenv": "^9.0.2", - "fs-extra": "^9.1.0", + "fs-extra": "^10.0.0", "jest": "^27.0.3", "npm-run-all": "^4.1.5", "ts-jest": "^27.0.2", @@ -51076,12 +51091,26 @@ "node": ">=10" } }, + "packages/drive-azure/node_modules/fs-extra": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.0.tgz", + "integrity": "sha512-C5owb14u9eJwizKGdchcDUQeFtlSHHthBk8pbX9Vc1PFZrLombudjDnNns88aYslCyF6IY5SUw3Roz6xShcEIQ==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, "packages/drive-gcs": { "name": "@directus/drive-gcs", - "version": "9.0.0-rc.69", + "version": "9.0.0-rc.70", "license": "MIT", "dependencies": { - "@directus/drive": "9.0.0-rc.69", + "@directus/drive": "9.0.0-rc.70", "@google-cloud/storage": "^5.8.4", "normalize-path": "^3.0.0" }, @@ -51109,10 +51138,10 @@ }, "packages/drive-s3": { "name": "@directus/drive-s3", - "version": "9.0.0-rc.69", + "version": "9.0.0-rc.70", "license": "MIT", "dependencies": { - "@directus/drive": "9.0.0-rc.69", + "@directus/drive": "9.0.0-rc.70", "aws-sdk": "^2.911.0", "normalize-path": "^3.0.0" }, @@ -51123,7 +51152,7 @@ "@types/node": "^15.6.0", "@types/normalize-path": "^3.0.0", "dotenv": "^9.0.2", - "fs-extra": "^9.1.0", + "fs-extra": "^10.0.0", "jest": "^27.0.3", "npm-run-all": "^4.1.5", "ts-jest": "^27.0.2", @@ -51139,6 +51168,20 @@ "node": ">=10" } }, + "packages/drive-s3/node_modules/fs-extra": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.0.tgz", + "integrity": "sha512-C5owb14u9eJwizKGdchcDUQeFtlSHHthBk8pbX9Vc1PFZrLombudjDnNns88aYslCyF6IY5SUw3Roz6xShcEIQ==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, "packages/drive/node_modules/dotenv": { "version": "9.0.2", "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-9.0.2.tgz", @@ -51148,9 +51191,22 @@ "node": ">=10" } }, + "packages/drive/node_modules/fs-extra": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.0.tgz", + "integrity": "sha512-C5owb14u9eJwizKGdchcDUQeFtlSHHthBk8pbX9Vc1PFZrLombudjDnNns88aYslCyF6IY5SUw3Roz6xShcEIQ==", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, "packages/format-title": { "name": "@directus/format-title", - "version": "9.0.0-rc.69", + "version": "9.0.0-rc.70", "license": "MIT", "devDependencies": { "@rollup/plugin-commonjs": "^19.0.0", @@ -51169,7 +51225,7 @@ }, "packages/gatsby-source-directus": { "name": "@directus/gatsby-source-directus", - "version": "9.0.0-rc.69", + "version": "9.0.0-rc.70", "license": "MIT", "dependencies": { "@directus/sdk-js": "^9.0.0-rc.53", @@ -53824,7 +53880,7 @@ }, "packages/schema": { "name": "@directus/schema", - "version": "9.0.0-rc.69", + "version": "9.0.0-rc.70", "license": "GPL-3.0", "dependencies": { "knex-schema-inspector": "^1.3.0", @@ -53837,7 +53893,7 @@ }, "packages/sdk": { "name": "@directus/sdk", - "version": "9.0.0-rc.69", + "version": "9.0.0-rc.70", "license": "MIT", "dependencies": { "axios": "^0.21.1" @@ -53877,7 +53933,7 @@ }, "packages/specs": { "name": "@directus/specs", - "version": "9.0.0-rc.69", + "version": "9.0.0-rc.70", "license": "GPL-3.0", "dependencies": { "openapi3-ts": "^2.0.1" @@ -55508,8 +55564,8 @@ "@directus/app": { "version": "file:app", "requires": { - "@directus/docs": "9.0.0-rc.69", - "@directus/format-title": "9.0.0-rc.69", + "@directus/docs": "9.0.0-rc.70", + "@directus/format-title": "9.0.0-rc.70", "@fullcalendar/core": "^5.7.0", "@fullcalendar/daygrid": "^5.7.0", "@fullcalendar/interaction": "^5.7.0", @@ -55621,8 +55677,8 @@ "@directus/cli": { "version": "file:packages/cli", "requires": { - "@directus/format-title": "9.0.0-rc.69", - "@directus/sdk": "9.0.0-rc.69", + "@directus/format-title": "9.0.0-rc.70", + "@directus/sdk": "9.0.0-rc.70", "@types/figlet": "^1.5.0", "@types/fs-extra": "^9.0.11", "@types/jest": "^26.0.23", @@ -55641,7 +55697,7 @@ "dotenv": "^9.0.2", "eventemitter2": "^6.4.4", "figlet": "^1.5.0", - "fs-extra": "^8.1.0", + "fs-extra": "^10.0.0", "gluegun": "^4.6.1", "indent-string": "^5.0.0", "jaro-winkler": "^0.2.8", @@ -55713,13 +55769,13 @@ "integrity": "sha512-I9OvvrHp4pIARv4+x9iuewrWycX6CcZtoAu1XrzPxc5UygMJXJZYmBsynku8IkrJwgypE5DGNjDPmPRhDCptUg==" }, "fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.0.tgz", + "integrity": "sha512-C5owb14u9eJwizKGdchcDUQeFtlSHHthBk8pbX9Vc1PFZrLombudjDnNns88aYslCyF6IY5SUw3Roz6xShcEIQ==", "requires": { "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" } }, "indent-string": { @@ -55735,14 +55791,6 @@ "argparse": "^2.0.1" } }, - "jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", - "requires": { - "graceful-fs": "^4.1.6" - } - }, "open": { "version": "8.2.0", "resolved": "https://registry.npmjs.org/open/-/open-8.2.0.tgz", @@ -55769,11 +55817,6 @@ "min-indent": "^1.0.1" } }, - "universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" - }, "y18n": { "version": "5.0.8", "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", @@ -55804,13 +55847,26 @@ "version": "file:docs", "requires": { "directory-tree": "^2.2.9", - "fs-extra": "^9.1.0", + "fs-extra": "^10.0.0", "lodash.get": "^4.4.2", "micromark": "^2.10.1", "npm-watch": "^0.9.0", "slugify": "^1.4.6", "vuepress": "^1.7.1", "vuepress-plugin-clean-urls": "^1.1.2" + }, + "dependencies": { + "fs-extra": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.0.tgz", + "integrity": "sha512-C5owb14u9eJwizKGdchcDUQeFtlSHHthBk8pbX9Vc1PFZrLombudjDnNns88aYslCyF6IY5SUw3Roz6xShcEIQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + } } }, "@directus/drive": { @@ -55820,7 +55876,7 @@ "@types/jest": "^26.0.22", "@types/node": "^15.6.0", "dotenv": "^9.0.2", - "fs-extra": "^9.1.0", + "fs-extra": "^10.0.0", "jest": "^27.0.3", "node-exceptions": "^4.0.1", "npm-run-all": "^4.1.5", @@ -55833,6 +55889,16 @@ "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-9.0.2.tgz", "integrity": "sha512-I9OvvrHp4pIARv4+x9iuewrWycX6CcZtoAu1XrzPxc5UygMJXJZYmBsynku8IkrJwgypE5DGNjDPmPRhDCptUg==", "dev": true + }, + "fs-extra": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.0.tgz", + "integrity": "sha512-C5owb14u9eJwizKGdchcDUQeFtlSHHthBk8pbX9Vc1PFZrLombudjDnNns88aYslCyF6IY5SUw3Roz6xShcEIQ==", + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } } } }, @@ -55840,13 +55906,13 @@ "version": "file:packages/drive-azure", "requires": { "@azure/storage-blob": "^12.2.1", - "@directus/drive": "9.0.0-rc.69", + "@directus/drive": "9.0.0-rc.70", "@types/fs-extra": "^9.0.11", "@types/jest": "^26.0.22", "@types/node": "^15.6.0", "@types/normalize-path": "^3.0.0", "dotenv": "^9.0.2", - "fs-extra": "^9.1.0", + "fs-extra": "^10.0.0", "jest": "^27.0.3", "normalize-path": "^3.0.0", "npm-run-all": "^4.1.5", @@ -55859,13 +55925,24 @@ "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-9.0.2.tgz", "integrity": "sha512-I9OvvrHp4pIARv4+x9iuewrWycX6CcZtoAu1XrzPxc5UygMJXJZYmBsynku8IkrJwgypE5DGNjDPmPRhDCptUg==", "dev": true + }, + "fs-extra": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.0.tgz", + "integrity": "sha512-C5owb14u9eJwizKGdchcDUQeFtlSHHthBk8pbX9Vc1PFZrLombudjDnNns88aYslCyF6IY5SUw3Roz6xShcEIQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } } } }, "@directus/drive-gcs": { "version": "file:packages/drive-gcs", "requires": { - "@directus/drive": "9.0.0-rc.69", + "@directus/drive": "9.0.0-rc.70", "@google-cloud/storage": "^5.8.4", "@lukeed/uuid": "^2.0.0", "@types/fs-extra": "^9.0.11", @@ -55891,7 +55968,7 @@ "@directus/drive-s3": { "version": "file:packages/drive-s3", "requires": { - "@directus/drive": "9.0.0-rc.69", + "@directus/drive": "9.0.0-rc.70", "@lukeed/uuid": "^2.0.0", "@types/fs-extra": "^9.0.11", "@types/jest": "^26.0.22", @@ -55899,7 +55976,7 @@ "@types/normalize-path": "^3.0.0", "aws-sdk": "^2.911.0", "dotenv": "^9.0.2", - "fs-extra": "^9.1.0", + "fs-extra": "^10.0.0", "jest": "^27.0.3", "normalize-path": "^3.0.0", "npm-run-all": "^4.1.5", @@ -55912,6 +55989,17 @@ "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-9.0.2.tgz", "integrity": "sha512-I9OvvrHp4pIARv4+x9iuewrWycX6CcZtoAu1XrzPxc5UygMJXJZYmBsynku8IkrJwgypE5DGNjDPmPRhDCptUg==", "dev": true + }, + "fs-extra": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.0.tgz", + "integrity": "sha512-C5owb14u9eJwizKGdchcDUQeFtlSHHthBk8pbX9Vc1PFZrLombudjDnNns88aYslCyF6IY5SUw3Roz6xShcEIQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } } } }, @@ -60622,7 +60710,6 @@ "resolved": "https://registry.npmjs.org/@oclif/command/-/command-1.8.0.tgz", "integrity": "sha512-5vwpq6kbvwkQwKqAoOU3L72GZ3Ta8RRrewKj9OJRolx28KLJJ8Dg9Rf7obRwt5jQA9bkYd8gqzMTrI7H3xLfaw==", "requires": { - "@oclif/config": "^1.15.1", "@oclif/errors": "^1.3.3", "@oclif/parser": "^3.8.3", "@oclif/plugin-help": "^3", @@ -62769,7 +62856,6 @@ "integrity": "sha512-pM7CR3yXB6L8Gfn6EmX7FLNE3+V/15I3o33GkSNsWvgsMp6HVGXKkXgojrcfUUauyL1LZOdvTmu4enU2RePGHw==", "dev": true, "requires": { - "@babel/core": "^7.11.0", "@babel/helper-compilation-targets": "^7.9.6", "@babel/helper-module-imports": "^7.8.3", "@babel/plugin-proposal-class-properties": "^7.8.3", @@ -62782,7 +62868,6 @@ "@vue/babel-plugin-jsx": "^1.0.3", "@vue/babel-preset-jsx": "^1.2.4", "babel-plugin-dynamic-import-node": "^2.3.3", - "core-js": "^3.6.5", "core-js-compat": "^3.6.5", "semver": "^6.1.0" }, @@ -66231,7 +66316,8 @@ "at-least-node": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", - "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==" + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", + "dev": true }, "atob": { "version": "2.1.2", @@ -66849,7 +66935,6 @@ "version": "0.0.9", "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz", "integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=", - "dev": true, "optional": true, "requires": { "inherits": "~2.0.0" @@ -69318,7 +69403,7 @@ "chalk": "^4.1.1", "commander": "^7.2.0", "execa": "^5.0.1", - "fs-extra": "^9.1.0", + "fs-extra": "^10.0.0", "ora": "^5.4.0" }, "dependencies": { @@ -69338,6 +69423,16 @@ "strip-final-newline": "^2.0.0" } }, + "fs-extra": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.0.tgz", + "integrity": "sha512-C5owb14u9eJwizKGdchcDUQeFtlSHHthBk8pbX9Vc1PFZrLombudjDnNns88aYslCyF6IY5SUw3Roz6xShcEIQ==", + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, "get-stream": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", @@ -70488,14 +70583,14 @@ "directus": { "version": "file:api", "requires": { - "@directus/app": "9.0.0-rc.69", - "@directus/drive": "9.0.0-rc.69", - "@directus/drive-azure": "9.0.0-rc.69", - "@directus/drive-gcs": "9.0.0-rc.69", - "@directus/drive-s3": "9.0.0-rc.69", - "@directus/format-title": "9.0.0-rc.69", - "@directus/schema": "9.0.0-rc.69", - "@directus/specs": "9.0.0-rc.69", + "@directus/app": "9.0.0-rc.70", + "@directus/drive": "9.0.0-rc.70", + "@directus/drive-azure": "9.0.0-rc.70", + "@directus/drive-gcs": "9.0.0-rc.70", + "@directus/drive-s3": "9.0.0-rc.70", + "@directus/format-title": "9.0.0-rc.70", + "@directus/schema": "9.0.0-rc.70", + "@directus/specs": "9.0.0-rc.70", "@godaddy/terminus": "^4.7.2", "@keyv/redis": "^2.1.2", "@types/async": "^3.2.6", @@ -70552,7 +70647,7 @@ "express": "^4.17.1", "express-pino-logger": "^6.0.0", "express-session": "^1.17.2", - "fs-extra": "^9.1.0", + "fs-extra": "^10.0.0", "grant": "^5.4.14", "graphql": "^15.5.0", "graphql-compose": "^8.1.0", @@ -70640,6 +70735,16 @@ "strip-final-newline": "^2.0.0" } }, + "fs-extra": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.0.tgz", + "integrity": "sha512-C5owb14u9eJwizKGdchcDUQeFtlSHHthBk8pbX9Vc1PFZrLombudjDnNns88aYslCyF6IY5SUw3Roz6xShcEIQ==", + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, "get-stream": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", @@ -73479,6 +73584,7 @@ "version": "9.1.0", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dev": true, "requires": { "at-least-node": "^1.0.0", "graceful-fs": "^4.2.0", @@ -73568,7 +73674,6 @@ "version": "1.0.12", "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.12.tgz", "integrity": "sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg==", - "dev": true, "optional": true, "requires": { "graceful-fs": "^4.1.2", @@ -73581,7 +73686,6 @@ "version": "0.5.5", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", - "dev": true, "optional": true, "requires": { "minimist": "^1.2.5" @@ -73591,7 +73695,6 @@ "version": "2.7.1", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dev": true, "optional": true, "requires": { "glob": "^7.1.3" @@ -90175,7 +90278,6 @@ "version": "0.5.5", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", - "dev": true, "optional": true, "requires": { "minimist": "^1.2.5" @@ -90185,7 +90287,6 @@ "version": "3.8.0", "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-3.8.0.tgz", "integrity": "sha512-3g8lYefrRRzvGeSowdJKAKyks8oUpLEd/DyPV4eMhVlhJ0aNaZqIrNUIPuEWWTAoPqyFkfGrM67MC69baqn6vA==", - "dev": true, "optional": true, "requires": { "fstream": "^1.0.0", @@ -90206,7 +90307,6 @@ "version": "3.0.6", "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", - "dev": true, "optional": true, "requires": { "abbrev": "1" @@ -90216,7 +90316,6 @@ "version": "2.7.1", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dev": true, "optional": true, "requires": { "glob": "^7.1.3" @@ -90226,14 +90325,12 @@ "version": "5.3.0", "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz", "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=", - "dev": true, "optional": true }, "tar": { "version": "2.2.2", "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.2.tgz", "integrity": "sha512-FCEhQ/4rE1zYv9rYXJw/msRqsnmlje5jHP6huWeBZ704jUTy02c5AZyWujpMR1ax6mVw9NyJMfuK2CMDWVIfgA==", - "dev": true, "optional": true, "requires": { "block-stream": "*", @@ -90245,7 +90342,6 @@ "version": "1.3.1", "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dev": true, "optional": true, "requires": { "isexe": "^2.0.0" diff --git a/packages/cli/package.json b/packages/cli/package.json index 8e4a73582a..fe1c3b7f34 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -56,7 +56,7 @@ "dotenv": "^9.0.2", "eventemitter2": "^6.4.4", "figlet": "^1.5.0", - "fs-extra": "^8.1.0", + "fs-extra": "^10.0.0", "gluegun": "^4.6.1", "indent-string": "^5.0.0", "jaro-winkler": "^0.2.8", diff --git a/packages/create-directus-project/package.json b/packages/create-directus-project/package.json index be703509df..219c8c5916 100644 --- a/packages/create-directus-project/package.json +++ b/packages/create-directus-project/package.json @@ -14,7 +14,7 @@ "chalk": "^4.1.1", "commander": "^7.2.0", "execa": "^5.0.1", - "fs-extra": "^9.1.0", + "fs-extra": "^10.0.0", "ora": "^5.4.0" }, "gitHead": "24621f3934dc77eb23441331040ed13c676ceffd" diff --git a/packages/drive-azure/package.json b/packages/drive-azure/package.json index ec83a7949b..36686fd4d8 100644 --- a/packages/drive-azure/package.json +++ b/packages/drive-azure/package.json @@ -44,7 +44,7 @@ "@types/node": "^15.6.0", "@types/normalize-path": "^3.0.0", "dotenv": "^9.0.2", - "fs-extra": "^9.1.0", + "fs-extra": "^10.0.0", "jest": "^27.0.3", "npm-run-all": "^4.1.5", "ts-jest": "^27.0.2", diff --git a/packages/drive-s3/package.json b/packages/drive-s3/package.json index 7a64ca0155..d562b66b7d 100644 --- a/packages/drive-s3/package.json +++ b/packages/drive-s3/package.json @@ -45,7 +45,7 @@ "@types/node": "^15.6.0", "@types/normalize-path": "^3.0.0", "dotenv": "^9.0.2", - "fs-extra": "^9.1.0", + "fs-extra": "^10.0.0", "jest": "^27.0.3", "npm-run-all": "^4.1.5", "ts-jest": "^27.0.2", diff --git a/packages/drive/package.json b/packages/drive/package.json index 448319d3c7..bcd9ce13a1 100644 --- a/packages/drive/package.json +++ b/packages/drive/package.json @@ -35,7 +35,7 @@ "dev": "npm run build -- -w --preserveWatchOutput --incremental" }, "dependencies": { - "fs-extra": "^9.1.0", + "fs-extra": "^10.0.0", "node-exceptions": "^4.0.1" }, "publishConfig": { From 2d5a5d36396f7957bac495a030face42be38af32 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 2 Jun 2021 09:05:17 -0400 Subject: [PATCH 15/83] Bump @typescript-eslint/parser from 4.23.0 to 4.26.0 (#5983) Bumps [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) from 4.23.0 to 4.26.0. - [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases) - [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/parser/CHANGELOG.md) - [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v4.26.0/packages/parser) --- updated-dependencies: - dependency-name: "@typescript-eslint/parser" dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package-lock.json | 114 +++++++++++++++++++++++----------------------- package.json | 2 +- 2 files changed, 58 insertions(+), 58 deletions(-) diff --git a/package-lock.json b/package-lock.json index 929c012741..3cb3429b16 100644 --- a/package-lock.json +++ b/package-lock.json @@ -18,7 +18,7 @@ "@types/node": "^15.6.0", "@types/supertest": "^2.0.11", "@typescript-eslint/eslint-plugin": "^4.25.0", - "@typescript-eslint/parser": "^4.23.0", + "@typescript-eslint/parser": "^4.26.0", "axios": "^0.21.1", "dockerode": "^3.3.0", "eslint": "^7.26.0", @@ -7855,14 +7855,14 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "4.23.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.23.0.tgz", - "integrity": "sha512-wsvjksHBMOqySy/Pi2Q6UuIuHYbgAMwLczRl4YanEPKW5KVxI9ZzDYh3B5DtcZPQTGRWFJrfcbJ6L01Leybwug==", + "version": "4.26.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.26.0.tgz", + "integrity": "sha512-b4jekVJG9FfmjUfmM4VoOItQhPlnt6MPOBUL0AQbiTmm+SSpSdhHYlwayOm4IW9KLI/4/cRKtQCmDl1oE2OlPg==", "dependencies": { - "@typescript-eslint/scope-manager": "4.23.0", - "@typescript-eslint/types": "4.23.0", - "@typescript-eslint/typescript-estree": "4.23.0", - "debug": "^4.1.1" + "@typescript-eslint/scope-manager": "4.26.0", + "@typescript-eslint/types": "4.26.0", + "@typescript-eslint/typescript-estree": "4.26.0", + "debug": "^4.3.1" }, "engines": { "node": "^10.12.0 || >=12.0.0" @@ -7881,12 +7881,12 @@ } }, "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/scope-manager": { - "version": "4.23.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.23.0.tgz", - "integrity": "sha512-ZZ21PCFxPhI3n0wuqEJK9omkw51wi2bmeKJvlRZPH5YFkcawKOuRMQMnI8mH6Vo0/DoHSeZJnHiIx84LmVQY+w==", + "version": "4.26.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.26.0.tgz", + "integrity": "sha512-G6xB6mMo4xVxwMt5lEsNTz3x4qGDt0NSGmTBNBPJxNsrTXJSm21c6raeYroS2OwQsOyIXqKZv266L/Gln1BWqg==", "dependencies": { - "@typescript-eslint/types": "4.23.0", - "@typescript-eslint/visitor-keys": "4.23.0" + "@typescript-eslint/types": "4.26.0", + "@typescript-eslint/visitor-keys": "4.26.0" }, "engines": { "node": "^8.10.0 || ^10.13.0 || >=11.10.1" @@ -7897,9 +7897,9 @@ } }, "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/types": { - "version": "4.23.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.23.0.tgz", - "integrity": "sha512-oqkNWyG2SLS7uTWLZf6Sr7Dm02gA5yxiz1RP87tvsmDsguVATdpVguHr4HoGOcFOpCvx9vtCSCyQUGfzq28YCw==", + "version": "4.26.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.26.0.tgz", + "integrity": "sha512-rADNgXl1kS/EKnDr3G+m7fB9yeJNnR9kF7xMiXL6mSIWpr3Wg5MhxyfEXy/IlYthsqwBqHOr22boFbf/u6O88A==", "engines": { "node": "^8.10.0 || ^10.13.0 || >=11.10.1" }, @@ -7909,17 +7909,17 @@ } }, "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/typescript-estree": { - "version": "4.23.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.23.0.tgz", - "integrity": "sha512-5Sty6zPEVZF5fbvrZczfmLCOcby3sfrSPu30qKoY1U3mca5/jvU5cwsPb/CO6Q3ByRjixTMIVsDkqwIxCf/dMw==", + "version": "4.26.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.26.0.tgz", + "integrity": "sha512-GHUgahPcm9GfBuy3TzdsizCcPjKOAauG9xkz9TR8kOdssz2Iz9jRCSQm6+aVFa23d5NcSpo1GdHGSQKe0tlcbg==", "dependencies": { - "@typescript-eslint/types": "4.23.0", - "@typescript-eslint/visitor-keys": "4.23.0", - "debug": "^4.1.1", - "globby": "^11.0.1", + "@typescript-eslint/types": "4.26.0", + "@typescript-eslint/visitor-keys": "4.26.0", + "debug": "^4.3.1", + "globby": "^11.0.3", "is-glob": "^4.0.1", - "semver": "^7.3.2", - "tsutils": "^3.17.1" + "semver": "^7.3.5", + "tsutils": "^3.21.0" }, "engines": { "node": "^10.12.0 || >=12.0.0" @@ -7935,11 +7935,11 @@ } }, "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/visitor-keys": { - "version": "4.23.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.23.0.tgz", - "integrity": "sha512-5PNe5cmX9pSifit0H+nPoQBXdbNzi5tOEec+3riK+ku4e3er37pKxMKDH5Ct5Y4fhWxcD4spnlYjxi9vXbSpwg==", + "version": "4.26.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.26.0.tgz", + "integrity": "sha512-cw4j8lH38V1ycGBbF+aFiLUls9Z0Bw8QschP3mkth50BbWzgFS33ISIgBzUMuQ2IdahoEv/rXstr8Zhlz4B1Zg==", "dependencies": { - "@typescript-eslint/types": "4.23.0", + "@typescript-eslint/types": "4.26.0", "eslint-visitor-keys": "^2.0.0" }, "engines": { @@ -62705,50 +62705,50 @@ } }, "@typescript-eslint/parser": { - "version": "4.23.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.23.0.tgz", - "integrity": "sha512-wsvjksHBMOqySy/Pi2Q6UuIuHYbgAMwLczRl4YanEPKW5KVxI9ZzDYh3B5DtcZPQTGRWFJrfcbJ6L01Leybwug==", + "version": "4.26.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.26.0.tgz", + "integrity": "sha512-b4jekVJG9FfmjUfmM4VoOItQhPlnt6MPOBUL0AQbiTmm+SSpSdhHYlwayOm4IW9KLI/4/cRKtQCmDl1oE2OlPg==", "requires": { - "@typescript-eslint/scope-manager": "4.23.0", - "@typescript-eslint/types": "4.23.0", - "@typescript-eslint/typescript-estree": "4.23.0", - "debug": "^4.1.1" + "@typescript-eslint/scope-manager": "4.26.0", + "@typescript-eslint/types": "4.26.0", + "@typescript-eslint/typescript-estree": "4.26.0", + "debug": "^4.3.1" }, "dependencies": { "@typescript-eslint/scope-manager": { - "version": "4.23.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.23.0.tgz", - "integrity": "sha512-ZZ21PCFxPhI3n0wuqEJK9omkw51wi2bmeKJvlRZPH5YFkcawKOuRMQMnI8mH6Vo0/DoHSeZJnHiIx84LmVQY+w==", + "version": "4.26.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.26.0.tgz", + "integrity": "sha512-G6xB6mMo4xVxwMt5lEsNTz3x4qGDt0NSGmTBNBPJxNsrTXJSm21c6raeYroS2OwQsOyIXqKZv266L/Gln1BWqg==", "requires": { - "@typescript-eslint/types": "4.23.0", - "@typescript-eslint/visitor-keys": "4.23.0" + "@typescript-eslint/types": "4.26.0", + "@typescript-eslint/visitor-keys": "4.26.0" } }, "@typescript-eslint/types": { - "version": "4.23.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.23.0.tgz", - "integrity": "sha512-oqkNWyG2SLS7uTWLZf6Sr7Dm02gA5yxiz1RP87tvsmDsguVATdpVguHr4HoGOcFOpCvx9vtCSCyQUGfzq28YCw==" + "version": "4.26.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.26.0.tgz", + "integrity": "sha512-rADNgXl1kS/EKnDr3G+m7fB9yeJNnR9kF7xMiXL6mSIWpr3Wg5MhxyfEXy/IlYthsqwBqHOr22boFbf/u6O88A==" }, "@typescript-eslint/typescript-estree": { - "version": "4.23.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.23.0.tgz", - "integrity": "sha512-5Sty6zPEVZF5fbvrZczfmLCOcby3sfrSPu30qKoY1U3mca5/jvU5cwsPb/CO6Q3ByRjixTMIVsDkqwIxCf/dMw==", + "version": "4.26.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.26.0.tgz", + "integrity": "sha512-GHUgahPcm9GfBuy3TzdsizCcPjKOAauG9xkz9TR8kOdssz2Iz9jRCSQm6+aVFa23d5NcSpo1GdHGSQKe0tlcbg==", "requires": { - "@typescript-eslint/types": "4.23.0", - "@typescript-eslint/visitor-keys": "4.23.0", - "debug": "^4.1.1", - "globby": "^11.0.1", + "@typescript-eslint/types": "4.26.0", + "@typescript-eslint/visitor-keys": "4.26.0", + "debug": "^4.3.1", + "globby": "^11.0.3", "is-glob": "^4.0.1", - "semver": "^7.3.2", - "tsutils": "^3.17.1" + "semver": "^7.3.5", + "tsutils": "^3.21.0" } }, "@typescript-eslint/visitor-keys": { - "version": "4.23.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.23.0.tgz", - "integrity": "sha512-5PNe5cmX9pSifit0H+nPoQBXdbNzi5tOEec+3riK+ku4e3er37pKxMKDH5Ct5Y4fhWxcD4spnlYjxi9vXbSpwg==", + "version": "4.26.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.26.0.tgz", + "integrity": "sha512-cw4j8lH38V1ycGBbF+aFiLUls9Z0Bw8QschP3mkth50BbWzgFS33ISIgBzUMuQ2IdahoEv/rXstr8Zhlz4B1Zg==", "requires": { - "@typescript-eslint/types": "4.23.0", + "@typescript-eslint/types": "4.26.0", "eslint-visitor-keys": "^2.0.0" } } diff --git a/package.json b/package.json index fc6c164f9d..b40ca974c8 100644 --- a/package.json +++ b/package.json @@ -27,7 +27,7 @@ "@types/node": "^15.6.0", "@types/supertest": "^2.0.11", "@typescript-eslint/eslint-plugin": "^4.25.0", - "@typescript-eslint/parser": "^4.23.0", + "@typescript-eslint/parser": "^4.26.0", "axios": "^0.21.1", "dockerode": "^3.3.0", "eslint": "^7.26.0", From 142f375a807f032d40f879a601b998ed84c14285 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 2 Jun 2021 09:05:57 -0400 Subject: [PATCH 16/83] Bump jest-environment-jsdom from 26.6.2 to 27.0.3 (#5984) Bumps [jest-environment-jsdom](https://github.com/facebook/jest/tree/HEAD/packages/jest-environment-jsdom) from 26.6.2 to 27.0.3. - [Release notes](https://github.com/facebook/jest/releases) - [Changelog](https://github.com/facebook/jest/blob/master/CHANGELOG.md) - [Commits](https://github.com/facebook/jest/commits/v27.0.3/packages/jest-environment-jsdom) --- updated-dependencies: - dependency-name: jest-environment-jsdom dependency-type: direct:development update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package-lock.json | 361 +++++++++++++++++++++++++++++++++++++- packages/sdk/package.json | 2 +- 2 files changed, 360 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 3cb3429b16..c20d4a2e73 100644 --- a/package-lock.json +++ b/package-lock.json @@ -3636,6 +3636,7 @@ "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-26.6.2.tgz", "integrity": "sha512-nFy+fHl28zUrRsCeMB61VDThV1pVTtlEokBRgqPrcT1JNq4yRNIyTHfyht6PqtUvY9IsuLGTrbG8kPXjSZIZwA==", "dev": true, + "peer": true, "dependencies": { "@jest/fake-timers": "^26.6.2", "@jest/types": "^26.6.2", @@ -3651,6 +3652,7 @@ "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-26.6.2.tgz", "integrity": "sha512-14Uleatt7jdzefLPYM3KLcnUl1ZNikaKq34enpb5XG9i81JpppDb5muZvonvKyrl7ftEHkKS5L5/eB/kxJ+bvA==", "dev": true, + "peer": true, "dependencies": { "@jest/types": "^26.6.2", "@sinonjs/fake-timers": "^6.0.1", @@ -6477,6 +6479,7 @@ "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-6.0.1.tgz", "integrity": "sha512-MZPUxrmFubI36XS1DI3qmI0YdN1gks62JtFZvxR67ljjSNCeK6U08Zx4msEWOXuofgqUt6zPHSi1H9fbjR/NRA==", "dev": true, + "peer": true, "dependencies": { "@sinonjs/commons": "^1.7.0" } @@ -28183,6 +28186,7 @@ "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-26.6.2.tgz", "integrity": "sha512-jgPqCruTlt3Kwqg5/WVFyHIOJHsiAvhcp2qiR2QQstuG9yWox5+iHpU3ZrcBxW14T4fe5Z68jAfLRh7joCSP2Q==", "dev": true, + "peer": true, "dependencies": { "@jest/environment": "^26.6.2", "@jest/fake-timers": "^26.6.2", @@ -28894,6 +28898,7 @@ "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-26.6.2.tgz", "integrity": "sha512-rGiLePzQ3AzwUshu2+Rn+UMFk0pHN58sOG+IaJbk5Jxuqo3NYO1U2/MIR4S1sKgsoYSXSzdtSa0TgrmtUwEbmA==", "dev": true, + "peer": true, "dependencies": { "@babel/code-frame": "^7.0.0", "@jest/types": "^26.6.2", @@ -28914,6 +28919,7 @@ "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-26.6.2.tgz", "integrity": "sha512-YyFjePHHp1LzpzYcmgqkJ0nm0gg/lJx2aZFzFy1S6eUqNjXsOqTK10zNRff2dNfssgokjkG65OlWNcIlgd3zew==", "dev": true, + "peer": true, "dependencies": { "@jest/types": "^26.6.2", "@types/node": "*" @@ -29744,6 +29750,7 @@ "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-26.6.2.tgz", "integrity": "sha512-MDW0fKfsn0OI7MS7Euz6h8HNDXVQ0gaM9uW6RjfDmd1DAFcaxX9OqIakHIqhbnmF08Cf2DLDG+ulq8YQQ0Lp0Q==", "dev": true, + "peer": true, "dependencies": { "@jest/types": "^26.6.2", "@types/node": "*", @@ -53906,7 +53913,7 @@ "argon2": "^0.27.1", "dotenv": "^9.0.2", "jest": "^27.0.3", - "jest-environment-jsdom": "^26.6.2", + "jest-environment-jsdom": "^27.0.3", "jest-environment-jsdom-global": "^2.0.4", "mockdate": "^3.0.5", "nock": "^13.0.10", @@ -53922,6 +53929,99 @@ "typescript": "^4.3.2" } }, + "packages/sdk/node_modules/@babel/code-frame": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz", + "integrity": "sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==", + "dev": true, + "dependencies": { + "@babel/highlight": "^7.12.13" + } + }, + "packages/sdk/node_modules/@jest/environment": { + "version": "27.0.3", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-27.0.3.tgz", + "integrity": "sha512-pN9m7fbKsop5vc3FOfH8NF7CKKdRbEZzcxfIo1n2TT6ucKWLFq0P6gCJH0GpnQp036++yY9utHOxpeT1WnkWTA==", + "dev": true, + "dependencies": { + "@jest/fake-timers": "^27.0.3", + "@jest/types": "^27.0.2", + "@types/node": "*", + "jest-mock": "^27.0.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "packages/sdk/node_modules/@jest/fake-timers": { + "version": "27.0.3", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-27.0.3.tgz", + "integrity": "sha512-fQ+UCKRIYKvTCEOyKPnaPnomLATIhMnHC/xPZ7yT1Uldp7yMgMxoYIFidDbpSTgB79+/U+FgfoD30c6wg3IUjA==", + "dev": true, + "dependencies": { + "@jest/types": "^27.0.2", + "@sinonjs/fake-timers": "^7.0.2", + "@types/node": "*", + "jest-message-util": "^27.0.2", + "jest-mock": "^27.0.3", + "jest-util": "^27.0.2" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "packages/sdk/node_modules/@jest/types": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.0.2.tgz", + "integrity": "sha512-XpjCtJ/99HB4PmyJ2vgmN7vT+JLP7RW1FBT9RgnMFS4Dt7cvIyBee8O3/j98aUZ34ZpenPZFqmaaObWSeL65dg==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "packages/sdk/node_modules/@sinonjs/fake-timers": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-7.1.2.tgz", + "integrity": "sha512-iQADsW4LBMISqZ6Ci1dupJL9pprqwcVFTcOsEmQOEhW+KLCVn/Y4Jrvg2k19fIHCp+iFprriYPTdRcQR8NbUPg==", + "dev": true, + "dependencies": { + "@sinonjs/commons": "^1.7.0" + } + }, + "packages/sdk/node_modules/@types/yargs": { + "version": "16.0.3", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.3.tgz", + "integrity": "sha512-YlFfTGS+zqCgXuXNV26rOIeETOkXnGQXP/pjjL9P0gO/EP9jTmc7pUBhx+jVEIxpq41RX33GQ7N3DzOSfZoglQ==", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "packages/sdk/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "packages/sdk/node_modules/ci-info": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.2.0.tgz", + "integrity": "sha512-dVqRX7fLUm8J6FgHJ418XuIgDLZDkYcDFTeL6TA2gt5WlIZUQrrH6EZrNClwT/H0FateUsZkGIOPRrLbP+PR9A==", + "dev": true + }, "packages/sdk/node_modules/dotenv": { "version": "9.0.2", "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-9.0.2.tgz", @@ -53931,6 +54031,101 @@ "node": ">=10" } }, + "packages/sdk/node_modules/is-ci": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-3.0.0.tgz", + "integrity": "sha512-kDXyttuLeslKAHYL/K28F2YkM3x5jvFPEw3yXbRptXydjD9rpLEz+C5K5iutY9ZiUu6AP41JdvRQwF4Iqs4ZCQ==", + "dev": true, + "dependencies": { + "ci-info": "^3.1.1" + }, + "bin": { + "is-ci": "bin.js" + } + }, + "packages/sdk/node_modules/jest-environment-jsdom": { + "version": "27.0.3", + "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-27.0.3.tgz", + "integrity": "sha512-5KLmgv1bhiimpSA8oGTnZYk6g4fsNyZiA/6gI2tAZUgrufd7heRUSVh4gRokzZVEj8zlwAQYT0Zs6tuJSW/ECA==", + "dev": true, + "dependencies": { + "@jest/environment": "^27.0.3", + "@jest/fake-timers": "^27.0.3", + "@jest/types": "^27.0.2", + "@types/node": "*", + "jest-mock": "^27.0.3", + "jest-util": "^27.0.2", + "jsdom": "^16.6.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "packages/sdk/node_modules/jest-message-util": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.0.2.tgz", + "integrity": "sha512-rTqWUX42ec2LdMkoUPOzrEd1Tcm+R1KfLOmFK+OVNo4MnLsEaxO5zPDb2BbdSmthdM/IfXxOZU60P/WbWF8BTw==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^27.0.2", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "micromatch": "^4.0.4", + "pretty-format": "^27.0.2", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "packages/sdk/node_modules/jest-mock": { + "version": "27.0.3", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-27.0.3.tgz", + "integrity": "sha512-O5FZn5XDzEp+Xg28mUz4ovVcdwBBPfAhW9+zJLO0Efn2qNbYcDaJvSlRiQ6BCZUCVOJjALicuJQI9mRFjv1o9Q==", + "dev": true, + "dependencies": { + "@jest/types": "^27.0.2", + "@types/node": "*" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "packages/sdk/node_modules/jest-util": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.0.2.tgz", + "integrity": "sha512-1d9uH3a00OFGGWSibpNYr+jojZ6AckOMCXV2Z4K3YXDnzpkAaXQyIpY14FOJPiUmil7CD+A6Qs+lnnh6ctRbIA==", + "dev": true, + "dependencies": { + "@jest/types": "^27.0.2", + "@types/node": "*", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "is-ci": "^3.0.0", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "packages/sdk/node_modules/pretty-format": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.0.2.tgz", + "integrity": "sha512-mXKbbBPnYTG7Yra9qFBtqj+IXcsvxsvOBco3QHxtxTl+hHKq6QdzMZ+q0CtL4ORHZgwGImRr2XZUX2EWzORxig==", + "dev": true, + "dependencies": { + "@jest/types": "^27.0.2", + "ansi-regex": "^5.0.0", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, "packages/specs": { "name": "@directus/specs", "version": "9.0.0-rc.70", @@ -58086,7 +58281,7 @@ "axios": "^0.21.1", "dotenv": "^9.0.2", "jest": "^27.0.3", - "jest-environment-jsdom": "^26.6.2", + "jest-environment-jsdom": "^27.0.3", "jest-environment-jsdom-global": "^2.0.4", "mockdate": "^3.0.5", "nock": "^13.0.10", @@ -58102,11 +58297,166 @@ "typescript": "^4.3.2" }, "dependencies": { + "@babel/code-frame": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz", + "integrity": "sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==", + "dev": true, + "requires": { + "@babel/highlight": "^7.12.13" + } + }, + "@jest/environment": { + "version": "27.0.3", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-27.0.3.tgz", + "integrity": "sha512-pN9m7fbKsop5vc3FOfH8NF7CKKdRbEZzcxfIo1n2TT6ucKWLFq0P6gCJH0GpnQp036++yY9utHOxpeT1WnkWTA==", + "dev": true, + "requires": { + "@jest/fake-timers": "^27.0.3", + "@jest/types": "^27.0.2", + "@types/node": "*", + "jest-mock": "^27.0.3" + } + }, + "@jest/fake-timers": { + "version": "27.0.3", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-27.0.3.tgz", + "integrity": "sha512-fQ+UCKRIYKvTCEOyKPnaPnomLATIhMnHC/xPZ7yT1Uldp7yMgMxoYIFidDbpSTgB79+/U+FgfoD30c6wg3IUjA==", + "dev": true, + "requires": { + "@jest/types": "^27.0.2", + "@sinonjs/fake-timers": "^7.0.2", + "@types/node": "*", + "jest-message-util": "^27.0.2", + "jest-mock": "^27.0.3", + "jest-util": "^27.0.2" + } + }, + "@jest/types": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.0.2.tgz", + "integrity": "sha512-XpjCtJ/99HB4PmyJ2vgmN7vT+JLP7RW1FBT9RgnMFS4Dt7cvIyBee8O3/j98aUZ34ZpenPZFqmaaObWSeL65dg==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@sinonjs/fake-timers": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-7.1.2.tgz", + "integrity": "sha512-iQADsW4LBMISqZ6Ci1dupJL9pprqwcVFTcOsEmQOEhW+KLCVn/Y4Jrvg2k19fIHCp+iFprriYPTdRcQR8NbUPg==", + "dev": true, + "requires": { + "@sinonjs/commons": "^1.7.0" + } + }, + "@types/yargs": { + "version": "16.0.3", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.3.tgz", + "integrity": "sha512-YlFfTGS+zqCgXuXNV26rOIeETOkXnGQXP/pjjL9P0gO/EP9jTmc7pUBhx+jVEIxpq41RX33GQ7N3DzOSfZoglQ==", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } + }, + "ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true + }, + "ci-info": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.2.0.tgz", + "integrity": "sha512-dVqRX7fLUm8J6FgHJ418XuIgDLZDkYcDFTeL6TA2gt5WlIZUQrrH6EZrNClwT/H0FateUsZkGIOPRrLbP+PR9A==", + "dev": true + }, "dotenv": { "version": "9.0.2", "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-9.0.2.tgz", "integrity": "sha512-I9OvvrHp4pIARv4+x9iuewrWycX6CcZtoAu1XrzPxc5UygMJXJZYmBsynku8IkrJwgypE5DGNjDPmPRhDCptUg==", "dev": true + }, + "is-ci": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-3.0.0.tgz", + "integrity": "sha512-kDXyttuLeslKAHYL/K28F2YkM3x5jvFPEw3yXbRptXydjD9rpLEz+C5K5iutY9ZiUu6AP41JdvRQwF4Iqs4ZCQ==", + "dev": true, + "requires": { + "ci-info": "^3.1.1" + } + }, + "jest-environment-jsdom": { + "version": "27.0.3", + "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-27.0.3.tgz", + "integrity": "sha512-5KLmgv1bhiimpSA8oGTnZYk6g4fsNyZiA/6gI2tAZUgrufd7heRUSVh4gRokzZVEj8zlwAQYT0Zs6tuJSW/ECA==", + "dev": true, + "requires": { + "@jest/environment": "^27.0.3", + "@jest/fake-timers": "^27.0.3", + "@jest/types": "^27.0.2", + "@types/node": "*", + "jest-mock": "^27.0.3", + "jest-util": "^27.0.2", + "jsdom": "^16.6.0" + } + }, + "jest-message-util": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.0.2.tgz", + "integrity": "sha512-rTqWUX42ec2LdMkoUPOzrEd1Tcm+R1KfLOmFK+OVNo4MnLsEaxO5zPDb2BbdSmthdM/IfXxOZU60P/WbWF8BTw==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^27.0.2", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "micromatch": "^4.0.4", + "pretty-format": "^27.0.2", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + } + }, + "jest-mock": { + "version": "27.0.3", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-27.0.3.tgz", + "integrity": "sha512-O5FZn5XDzEp+Xg28mUz4ovVcdwBBPfAhW9+zJLO0Efn2qNbYcDaJvSlRiQ6BCZUCVOJjALicuJQI9mRFjv1o9Q==", + "dev": true, + "requires": { + "@jest/types": "^27.0.2", + "@types/node": "*" + } + }, + "jest-util": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.0.2.tgz", + "integrity": "sha512-1d9uH3a00OFGGWSibpNYr+jojZ6AckOMCXV2Z4K3YXDnzpkAaXQyIpY14FOJPiUmil7CD+A6Qs+lnnh6ctRbIA==", + "dev": true, + "requires": { + "@jest/types": "^27.0.2", + "@types/node": "*", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "is-ci": "^3.0.0", + "picomatch": "^2.2.3" + } + }, + "pretty-format": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.0.2.tgz", + "integrity": "sha512-mXKbbBPnYTG7Yra9qFBtqj+IXcsvxsvOBco3QHxtxTl+hHKq6QdzMZ+q0CtL4ORHZgwGImRr2XZUX2EWzORxig==", + "dev": true, + "requires": { + "@jest/types": "^27.0.2", + "ansi-regex": "^5.0.0", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" + } } } }, @@ -59107,6 +59457,7 @@ "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-26.6.2.tgz", "integrity": "sha512-nFy+fHl28zUrRsCeMB61VDThV1pVTtlEokBRgqPrcT1JNq4yRNIyTHfyht6PqtUvY9IsuLGTrbG8kPXjSZIZwA==", "dev": true, + "peer": true, "requires": { "@jest/fake-timers": "^26.6.2", "@jest/types": "^26.6.2", @@ -59119,6 +59470,7 @@ "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-26.6.2.tgz", "integrity": "sha512-14Uleatt7jdzefLPYM3KLcnUl1ZNikaKq34enpb5XG9i81JpppDb5muZvonvKyrl7ftEHkKS5L5/eB/kxJ+bvA==", "dev": true, + "peer": true, "requires": { "@jest/types": "^26.6.2", "@sinonjs/fake-timers": "^6.0.1", @@ -61417,6 +61769,7 @@ "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-6.0.1.tgz", "integrity": "sha512-MZPUxrmFubI36XS1DI3qmI0YdN1gks62JtFZvxR67ljjSNCeK6U08Zx4msEWOXuofgqUt6zPHSi1H9fbjR/NRA==", "dev": true, + "peer": true, "requires": { "@sinonjs/commons": "^1.7.0" } @@ -79139,6 +79492,7 @@ "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-26.6.2.tgz", "integrity": "sha512-jgPqCruTlt3Kwqg5/WVFyHIOJHsiAvhcp2qiR2QQstuG9yWox5+iHpU3ZrcBxW14T4fe5Z68jAfLRh7joCSP2Q==", "dev": true, + "peer": true, "requires": { "@jest/environment": "^26.6.2", "@jest/fake-timers": "^26.6.2", @@ -79721,6 +80075,7 @@ "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-26.6.2.tgz", "integrity": "sha512-rGiLePzQ3AzwUshu2+Rn+UMFk0pHN58sOG+IaJbk5Jxuqo3NYO1U2/MIR4S1sKgsoYSXSzdtSa0TgrmtUwEbmA==", "dev": true, + "peer": true, "requires": { "@babel/code-frame": "^7.0.0", "@jest/types": "^26.6.2", @@ -79738,6 +80093,7 @@ "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-26.6.2.tgz", "integrity": "sha512-YyFjePHHp1LzpzYcmgqkJ0nm0gg/lJx2aZFzFy1S6eUqNjXsOqTK10zNRff2dNfssgokjkG65OlWNcIlgd3zew==", "dev": true, + "peer": true, "requires": { "@jest/types": "^26.6.2", "@types/node": "*" @@ -80427,6 +80783,7 @@ "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-26.6.2.tgz", "integrity": "sha512-MDW0fKfsn0OI7MS7Euz6h8HNDXVQ0gaM9uW6RjfDmd1DAFcaxX9OqIakHIqhbnmF08Cf2DLDG+ulq8YQQ0Lp0Q==", "dev": true, + "peer": true, "requires": { "@jest/types": "^26.6.2", "@types/node": "*", diff --git a/packages/sdk/package.json b/packages/sdk/package.json index de72965d9a..ca998da198 100644 --- a/packages/sdk/package.json +++ b/packages/sdk/package.json @@ -54,7 +54,7 @@ "argon2": "^0.27.1", "dotenv": "^9.0.2", "jest": "^27.0.3", - "jest-environment-jsdom": "^26.6.2", + "jest-environment-jsdom": "^27.0.3", "jest-environment-jsdom-global": "^2.0.4", "mockdate": "^3.0.5", "nock": "^13.0.10", From ba10e4e3d8e18760dc2535dda2c609548611cdd0 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 2 Jun 2021 09:06:58 -0400 Subject: [PATCH 17/83] Bump dompurify from 2.2.8 to 2.2.9 (#5985) Bumps [dompurify](https://github.com/cure53/DOMPurify) from 2.2.8 to 2.2.9. - [Release notes](https://github.com/cure53/DOMPurify/releases) - [Commits](https://github.com/cure53/DOMPurify/compare/2.2.8...2.2.9) --- updated-dependencies: - dependency-name: dompurify dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- app/package.json | 2 +- package-lock.json | 16 ++++++++-------- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/app/package.json b/app/package.json index 53cc829ff1..fc285c9169 100644 --- a/app/package.json +++ b/app/package.json @@ -63,7 +63,7 @@ "copyfiles": "^2.4.1", "cropperjs": "^1.5.11", "date-fns": "^2.21.1", - "dompurify": "^2.2.8", + "dompurify": "^2.2.9", "escape-string-regexp": "^5.0.0", "front-matter": "^4.0.2", "html-entities": "^2.3.2", diff --git a/package-lock.json b/package-lock.json index c20d4a2e73..1133daa2a4 100644 --- a/package-lock.json +++ b/package-lock.json @@ -363,7 +363,7 @@ "copyfiles": "^2.4.1", "cropperjs": "^1.5.11", "date-fns": "^2.21.1", - "dompurify": "^2.2.8", + "dompurify": "^2.2.9", "escape-string-regexp": "^5.0.0", "front-matter": "^4.0.2", "html-entities": "^2.3.2", @@ -17791,9 +17791,9 @@ } }, "node_modules/dompurify": { - "version": "2.2.8", - "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-2.2.8.tgz", - "integrity": "sha512-9H0UL59EkDLgY3dUFjLV6IEUaHm5qp3mxSqWw7Yyx4Zhk2Jn2cmLe+CNPP3xy13zl8Bqg+0NehQzkdMoVhGRww==", + "version": "2.2.9", + "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-2.2.9.tgz", + "integrity": "sha512-+9MqacuigMIZ+1+EwoEltogyWGFTJZWU3258Rupxs+2CGs4H914G9er6pZbsme/bvb5L67o2rade9n21e4RW/w==", "dev": true }, "node_modules/domutils": { @@ -55795,7 +55795,7 @@ "copyfiles": "^2.4.1", "cropperjs": "^1.5.11", "date-fns": "^2.21.1", - "dompurify": "^2.2.8", + "dompurify": "^2.2.9", "escape-string-regexp": "^5.0.0", "front-matter": "^4.0.2", "html-entities": "^2.3.2", @@ -71314,9 +71314,9 @@ } }, "dompurify": { - "version": "2.2.8", - "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-2.2.8.tgz", - "integrity": "sha512-9H0UL59EkDLgY3dUFjLV6IEUaHm5qp3mxSqWw7Yyx4Zhk2Jn2cmLe+CNPP3xy13zl8Bqg+0NehQzkdMoVhGRww==", + "version": "2.2.9", + "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-2.2.9.tgz", + "integrity": "sha512-+9MqacuigMIZ+1+EwoEltogyWGFTJZWU3258Rupxs+2CGs4H914G9er6pZbsme/bvb5L67o2rade9n21e4RW/w==", "dev": true }, "domutils": { From 2b85976909c6572792ca567e6d4fec4ab8ee3f20 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 2 Jun 2021 09:07:21 -0400 Subject: [PATCH 18/83] Bump marked from 2.0.5 to 2.0.7 (#5986) Bumps [marked](https://github.com/markedjs/marked) from 2.0.5 to 2.0.7. - [Release notes](https://github.com/markedjs/marked/releases) - [Changelog](https://github.com/markedjs/marked/blob/master/release.config.js) - [Commits](https://github.com/markedjs/marked/compare/v2.0.5...v2.0.7) --- updated-dependencies: - dependency-name: marked dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- app/package.json | 2 +- package-lock.json | 20 ++++++++++---------- packages/cli/package.json | 2 +- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/app/package.json b/app/package.json index fc285c9169..8dda18e494 100644 --- a/app/package.json +++ b/app/package.json @@ -69,7 +69,7 @@ "html-entities": "^2.3.2", "joi": "^17.4.0", "jsonlint-mod": "^1.7.6", - "marked": "^2.0.5", + "marked": "^2.0.7", "micromustache": "^8.0.3", "mitt": "^2.1.0", "nanoid": "^3.1.23", diff --git a/package-lock.json b/package-lock.json index 1133daa2a4..0f5e14fff7 100644 --- a/package-lock.json +++ b/package-lock.json @@ -369,7 +369,7 @@ "html-entities": "^2.3.2", "joi": "^17.4.0", "jsonlint-mod": "^1.7.6", - "marked": "^2.0.5", + "marked": "^2.0.7", "micromustache": "^8.0.3", "mitt": "^2.1.0", "nanoid": "^3.1.23", @@ -32360,9 +32360,9 @@ "dev": true }, "node_modules/marked": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/marked/-/marked-2.0.5.tgz", - "integrity": "sha512-yfCEUXmKhBPLOzEC7c+tc4XZdIeTdGoRCZakFMkCxodr7wDXqoapIME4wjcpBPJLNyUnKJ3e8rb8wlAgnLnaDw==", + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/marked/-/marked-2.0.7.tgz", + "integrity": "sha512-BJXxkuIfJchcXOJWTT2DOL+yFWifFv2yGYOUzvXg8Qz610QKw+sHCvTMYwA+qWGhlA2uivBezChZ/pBy1tWdkQ==", "bin": { "marked": "bin/marked" }, @@ -50780,7 +50780,7 @@ "js-yaml": "^4.1.0", "json5": "^2.2.0", "liquidjs": "^9.25.0", - "marked": "^2.0.5", + "marked": "^2.0.7", "marked-terminal": "^4.1.1", "merge-options": "^3.0.4", "open": "^8.2.0", @@ -55801,7 +55801,7 @@ "html-entities": "^2.3.2", "joi": "^17.4.0", "jsonlint-mod": "^1.7.6", - "marked": "^2.0.5", + "marked": "^2.0.7", "micromustache": "^8.0.3", "mitt": "^2.1.0", "nanoid": "^3.1.23", @@ -55901,7 +55901,7 @@ "js-yaml": "^4.1.0", "json5": "^2.2.0", "liquidjs": "^9.25.0", - "marked": "^2.0.5", + "marked": "^2.0.7", "marked-terminal": "^4.1.1", "merge-options": "^3.0.4", "nock": "^13.0.10", @@ -82880,9 +82880,9 @@ "dev": true }, "marked": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/marked/-/marked-2.0.5.tgz", - "integrity": "sha512-yfCEUXmKhBPLOzEC7c+tc4XZdIeTdGoRCZakFMkCxodr7wDXqoapIME4wjcpBPJLNyUnKJ3e8rb8wlAgnLnaDw==" + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/marked/-/marked-2.0.7.tgz", + "integrity": "sha512-BJXxkuIfJchcXOJWTT2DOL+yFWifFv2yGYOUzvXg8Qz610QKw+sHCvTMYwA+qWGhlA2uivBezChZ/pBy1tWdkQ==" }, "marked-terminal": { "version": "4.1.1", diff --git a/packages/cli/package.json b/packages/cli/package.json index fe1c3b7f34..59efc4116d 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -64,7 +64,7 @@ "js-yaml": "^4.1.0", "json5": "^2.2.0", "liquidjs": "^9.25.0", - "marked": "^2.0.5", + "marked": "^2.0.7", "marked-terminal": "^4.1.1", "merge-options": "^3.0.4", "open": "^8.2.0", From 7f51ec9f16412bb3cb9644d08cf8f7417de9626b Mon Sep 17 00:00:00 2001 From: Rijk van Zanten Date: Wed, 2 Jun 2021 09:20:49 -0400 Subject: [PATCH 19/83] Remove stray console.log in dependency (#5998) Fixes #5987 --- api/package.json | 2 +- package-lock.json | 16 ++++++++-------- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/api/package.json b/api/package.json index 3b65db1407..8b5ffc2b0c 100644 --- a/api/package.json +++ b/api/package.json @@ -111,7 +111,7 @@ "jsonwebtoken": "^8.5.1", "keyv": "^4.0.3", "knex": "^0.95.6", - "knex-schema-inspector": "^1.5.5", + "knex-schema-inspector": "^1.5.6", "liquidjs": "^9.25.0", "lodash": "^4.17.21", "macos-release": "^2.4.1", diff --git a/package-lock.json b/package-lock.json index 0f5e14fff7..68ccc02bb0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -102,7 +102,7 @@ "jsonwebtoken": "^8.5.1", "keyv": "^4.0.3", "knex": "^0.95.6", - "knex-schema-inspector": "^1.5.5", + "knex-schema-inspector": "^1.5.6", "liquidjs": "^9.25.0", "lodash": "^4.17.21", "macos-release": "^2.4.1", @@ -30610,9 +30610,9 @@ } }, "node_modules/knex-schema-inspector": { - "version": "1.5.5", - "resolved": "https://registry.npmjs.org/knex-schema-inspector/-/knex-schema-inspector-1.5.5.tgz", - "integrity": "sha512-U/pzQ9FSx8h2NZ4lPUK5zsHhWp+/fAv/dhXR4xJen1U5UsHBayd415xRh3Ez1u6xECvqFadvXHLup9ZBgCVGIg==", + "version": "1.5.6", + "resolved": "https://registry.npmjs.org/knex-schema-inspector/-/knex-schema-inspector-1.5.6.tgz", + "integrity": "sha512-tWxnbkEIw5QDgqaqPddHka2CFCZNEZho+87DQQ3q3bCuoMTzUNABy1oUV6uCQHdaKSiPl5lmzjnv4gE25jjSqA==", "dependencies": { "lodash.flatten": "^4.4.0" } @@ -71015,7 +71015,7 @@ "keyv": "^4.0.3", "keyv-memcache": "^1.2.5", "knex": "^0.95.6", - "knex-schema-inspector": "^1.5.5", + "knex-schema-inspector": "1.5.6", "liquidjs": "^9.25.0", "lodash": "^4.17.21", "macos-release": "^2.4.1", @@ -81460,9 +81460,9 @@ } }, "knex-schema-inspector": { - "version": "1.5.5", - "resolved": "https://registry.npmjs.org/knex-schema-inspector/-/knex-schema-inspector-1.5.5.tgz", - "integrity": "sha512-U/pzQ9FSx8h2NZ4lPUK5zsHhWp+/fAv/dhXR4xJen1U5UsHBayd415xRh3Ez1u6xECvqFadvXHLup9ZBgCVGIg==", + "version": "1.5.6", + "resolved": "https://registry.npmjs.org/knex-schema-inspector/-/knex-schema-inspector-1.5.6.tgz", + "integrity": "sha512-tWxnbkEIw5QDgqaqPddHka2CFCZNEZho+87DQQ3q3bCuoMTzUNABy1oUV6uCQHdaKSiPl5lmzjnv4gE25jjSqA==", "requires": { "lodash.flatten": "^4.4.0" } From a1ff311a6624a27e6b6448afbb0e8c17836aa826 Mon Sep 17 00:00:00 2001 From: Pascal Jufer Date: Wed, 2 Jun 2021 16:15:07 +0200 Subject: [PATCH 20/83] Clean-up docker image (#5877) * Update Docker image to execute as a non-root user (#5801) * Move scripts to /usr/local/bin and change mode directly in Git * Sync versions with api/package.json, remove yargs as it is already installed globally * No need for multi-stage image - move installation of Directus to actual image * Move WORKDIR instruction after USER instruction so we don't need to RUN chmod * Don't cache apk packages * Add some comments and move EXPOSE and SHELL to bottom Co-authored-by: Tien Tran <76130324+t7tran@users.noreply.github.com> --- .../rootfs/directus/images/main/Dockerfile | 61 ++++++------------- .../rootfs/directus/images/main/package.json | 11 ++-- .../rootfs/usr/{ => local}/bin/entrypoint | 0 .../main/rootfs/usr/{ => local}/bin/print | 0 4 files changed, 23 insertions(+), 49 deletions(-) rename .github/actions/build-images/rootfs/directus/images/main/rootfs/usr/{ => local}/bin/entrypoint (100%) mode change 100644 => 100755 rename .github/actions/build-images/rootfs/directus/images/main/rootfs/usr/{ => local}/bin/print (100%) mode change 100644 => 100755 diff --git a/.github/actions/build-images/rootfs/directus/images/main/Dockerfile b/.github/actions/build-images/rootfs/directus/images/main/Dockerfile index 4b2ef6dd45..e79063999b 100644 --- a/.github/actions/build-images/rootfs/directus/images/main/Dockerfile +++ b/.github/actions/build-images/rootfs/directus/images/main/Dockerfile @@ -1,29 +1,3 @@ -# -# Builder -# - -FROM node:14-alpine AS builder - -ARG VERSION - -RUN \ - apk update && \ - apk upgrade && \ - apk add bash - -SHELL ["/bin/bash", "-c"] - -WORKDIR /directus - -COPY package.json . - -RUN for i in {1..60}; do npm install "directus@${VERSION}" && break || sleep 30; done - -RUN cat package.json - -# -# Image -# FROM node:14-alpine ARG VERSION @@ -57,28 +31,28 @@ ENV \ EMAIL_SENDMAIL_NEW_LINE="unix" \ EMAIL_SENDMAIL_PATH="/usr/sbin/sendmail" +# Install system dependencies +# - 'bash' for entrypoint script +# - 'ssmtp' to be able to send mails RUN \ - apk update && \ - apk upgrade && \ - apk add bash ssmtp util-linux + apk upgrade --no-cache && \ + apk add --no-cache bash ssmtp util-linux -SHELL ["/bin/bash", "-c"] - -WORKDIR /directus - -# Global requirements +# Install global node dependencies RUN npm install -g yargs pino pino-colada -# Install Directus -COPY --from=builder /directus/package.json . -RUN npm install - -# Copy files +# Copy rootfs files COPY ./rootfs / -# Keep the updated package.json -COPY --from=builder /directus/package.json . -RUN chmod +x /usr/bin/entrypoint && chmod +x /usr/bin/print +# Switch to user 'node' +USER node +WORKDIR /directus + +COPY package.json . +# Install Directus (retry if it fails for some reason) and runtime dependencies +RUN \ + for i in $(seq 10); do npm install "directus@${VERSION}" && break || sleep 30; done && \ + npm install # Create directories RUN \ @@ -89,10 +63,11 @@ RUN \ mkdir -p database && \ mkdir -p uploads -EXPOSE 8055 VOLUME \ /directus/database \ /directus/extensions \ /directus/uploads +EXPOSE 8055 +SHELL ["/bin/bash", "-c"] ENTRYPOINT ["entrypoint"] diff --git a/.github/actions/build-images/rootfs/directus/images/main/package.json b/.github/actions/build-images/rootfs/directus/images/main/package.json index 8ecd9001bd..c5244a1e30 100644 --- a/.github/actions/build-images/rootfs/directus/images/main/package.json +++ b/.github/actions/build-images/rootfs/directus/images/main/package.json @@ -4,14 +4,13 @@ "description": "Directus Project", "dependencies": { "@keyv/redis": "^2.1.2", - "ioredis": "^4.19.2", - "keyv-memcache": "^1.0.1", + "ioredis": "^4.27.2", + "keyv-memcache": "^1.2.5", "memcached": "^2.2.2", - "tedious": "^11.0.5", + "tedious": "^11.0.8", "mysql": "^2.18.1", "oracledb": "^5.0.0", - "pg": "^8.4.2", - "sqlite3": "^5.0.2", - "yargs": "^16.0.3" + "pg": "^8.6.0", + "sqlite3": "^5.0.2" } } diff --git a/.github/actions/build-images/rootfs/directus/images/main/rootfs/usr/bin/entrypoint b/.github/actions/build-images/rootfs/directus/images/main/rootfs/usr/local/bin/entrypoint old mode 100644 new mode 100755 similarity index 100% rename from .github/actions/build-images/rootfs/directus/images/main/rootfs/usr/bin/entrypoint rename to .github/actions/build-images/rootfs/directus/images/main/rootfs/usr/local/bin/entrypoint diff --git a/.github/actions/build-images/rootfs/directus/images/main/rootfs/usr/bin/print b/.github/actions/build-images/rootfs/directus/images/main/rootfs/usr/local/bin/print old mode 100644 new mode 100755 similarity index 100% rename from .github/actions/build-images/rootfs/directus/images/main/rootfs/usr/bin/print rename to .github/actions/build-images/rootfs/directus/images/main/rootfs/usr/local/bin/print From 02fc696c53cdebb26e4b0138fa723df366af27a3 Mon Sep 17 00:00:00 2001 From: Rijk van Zanten Date: Wed, 2 Jun 2021 11:17:50 -0400 Subject: [PATCH 21/83] Fix env var validation in database loading step (#6002) Fixes #5980 --- api/src/database/index.ts | 18 +++++++++++++++++- api/src/utils/validate-env.ts | 14 -------------- 2 files changed, 17 insertions(+), 15 deletions(-) diff --git a/api/src/database/index.ts b/api/src/database/index.ts index 4a73ba7855..84cf51c17c 100644 --- a/api/src/database/index.ts +++ b/api/src/database/index.ts @@ -19,7 +19,23 @@ const connectionConfig: Record = getConfigFromEnv('DB_', [ const poolConfig = getConfigFromEnv('DB_POOL'); -validateEnv(['DB_CLIENT']); +const requiredKeys = ['DB_CLIENT']; + +if (env.DB_CLIENT && env.DB_CLIENT === 'sqlite3') { + requiredKeys.push('DB_FILENAME'); +} else if (env.DB_CLIENT && env.DB_CLIENT === 'oracledb') { + requiredKeys.push('DB_USER', 'DB_PASSWORD', 'DB_CONNECT_STRING'); +} else { + if (env.DB_CLIENT === 'pg') { + if (!env.DB_CONNECTION_STRING) { + requiredKeys.push('DB_HOST', 'DB_PORT', 'DB_DATABASE', 'DB_USER'); + } + } else { + requiredKeys.push('DB_HOST', 'DB_PORT', 'DB_DATABASE', 'DB_USER', 'DB_PASSWORD'); + } +} + +validateEnv(requiredKeys); const knexConfig: Knex.Config = { client: env.DB_CLIENT, diff --git a/api/src/utils/validate-env.ts b/api/src/utils/validate-env.ts index 39d7b050f7..f07eab8219 100644 --- a/api/src/utils/validate-env.ts +++ b/api/src/utils/validate-env.ts @@ -2,20 +2,6 @@ import env from '../env'; import logger from '../logger'; export function validateEnv(requiredKeys: string[]): void { - if (env.DB_CLIENT && env.DB_CLIENT === 'sqlite3') { - requiredKeys.push('DB_FILENAME'); - } else if (env.DB_CLIENT && env.DB_CLIENT === 'oracledb') { - requiredKeys.push('DB_USER', 'DB_PASSWORD', 'DB_CONNECT_STRING'); - } else { - if (env.DB_CLIENT === 'pg') { - if (!env.DB_CONNECTION_STRING) { - requiredKeys.push('DB_HOST', 'DB_PORT', 'DB_DATABASE', 'DB_USER'); - } - } else { - requiredKeys.push('DB_HOST', 'DB_PORT', 'DB_DATABASE', 'DB_USER', 'DB_PASSWORD'); - } - } - for (const requiredKey of requiredKeys) { if (requiredKey in env === false) { logger.error(`"${requiredKey}" Environment Variable is missing.`); From 77e00b7db49cb35d724dd5d496fd4f65499d58af Mon Sep 17 00:00:00 2001 From: Rijk van Zanten Date: Wed, 2 Jun 2021 11:41:42 -0400 Subject: [PATCH 22/83] Don't initialize database on file require (#6003) --- api/src/cli/commands/bootstrap/index.ts | 9 +- api/src/cli/commands/count/index.ts | 4 +- api/src/cli/commands/database/install.ts | 4 +- api/src/cli/commands/database/migrate.ts | 3 +- api/src/cli/commands/roles/create.ts | 5 +- api/src/cli/commands/users/create.ts | 5 +- api/src/cli/commands/users/passwd.ts | 5 +- api/src/controllers/assets.ts | 5 +- api/src/database/index.ts | 136 ++++++++++-------- .../20210518A-add-foreign-key-constraints.ts | 9 +- api/src/database/run-ast.ts | 4 +- api/src/env.ts | 16 +++ api/src/exceptions/database/dialects/mssql.ts | 4 +- api/src/exceptions/database/translate.ts | 4 +- api/src/extensions.ts | 6 +- api/src/middleware/authenticate.ts | 4 +- api/src/middleware/check-ip.ts | 4 +- api/src/middleware/session.ts | 4 +- api/src/server.ts | 3 +- api/src/services/assets.ts | 6 +- api/src/services/authentication.ts | 14 +- api/src/services/authorization.ts | 4 +- api/src/services/collections.ts | 8 +- api/src/services/fields.ts | 8 +- api/src/services/graphql.ts | 4 +- api/src/services/import.ts | 4 +- api/src/services/items.ts | 10 +- api/src/services/mail/index.ts | 4 +- api/src/services/meta.ts | 4 +- api/src/services/payload.ts | 4 +- api/src/services/relations.ts | 8 +- api/src/services/server.ts | 5 +- api/src/services/specifications.ts | 8 +- api/src/services/users.ts | 4 +- api/src/services/utils.ts | 4 +- api/src/storage.ts | 1 - api/src/utils/get-schema.ts | 3 +- api/src/webhooks.ts | 4 +- package-lock.json | 27 +++- 39 files changed, 222 insertions(+), 146 deletions(-) diff --git a/api/src/cli/commands/bootstrap/index.ts b/api/src/cli/commands/bootstrap/index.ts index 7983ddcc53..ae9d415030 100644 --- a/api/src/cli/commands/bootstrap/index.ts +++ b/api/src/cli/commands/bootstrap/index.ts @@ -4,6 +4,8 @@ import installDatabase from '../../../database/seeds/run'; import env from '../../../env'; import logger from '../../../logger'; import { getSchema } from '../../../utils/get-schema'; +import { RolesService, UsersService, SettingsService } from '../../../services'; +import getDatabase, { isInstalled, hasDatabaseConnection } from '../../../database'; export default async function bootstrap(): Promise { logger.info('Initializing bootstrap...'); @@ -13,10 +15,7 @@ export default async function bootstrap(): Promise { process.exit(1); } - const { isInstalled, default: database } = require('../../../database'); - const { RolesService } = require('../../../services/roles'); - const { UsersService } = require('../../../services/users'); - const { SettingsService } = require('../../../services/settings'); + const database = getDatabase(); if ((await isInstalled()) === false) { logger.info('Installing Directus system tables...'); @@ -66,8 +65,6 @@ export default async function bootstrap(): Promise { } async function isDatabaseAvailable() { - const { hasDatabaseConnection } = require('../../../database'); - const tries = 5; const secondsBetweenTries = 5; diff --git a/api/src/cli/commands/count/index.ts b/api/src/cli/commands/count/index.ts index c19d4cd603..3a90a1763a 100644 --- a/api/src/cli/commands/count/index.ts +++ b/api/src/cli/commands/count/index.ts @@ -1,5 +1,7 @@ +import getDatabase from '../../../database'; + export default async function count(collection: string): Promise { - const database = require('../../../database/index').default; + const database = getDatabase(); if (!collection) { console.error('Collection is required'); diff --git a/api/src/cli/commands/database/install.ts b/api/src/cli/commands/database/install.ts index 5f883b5eb9..e71b75f2b9 100644 --- a/api/src/cli/commands/database/install.ts +++ b/api/src/cli/commands/database/install.ts @@ -1,9 +1,9 @@ -import { Knex } from 'knex'; import runMigrations from '../../../database/migrations/run'; import installSeeds from '../../../database/seeds/run'; +import getDatabase from '../../../database'; export default async function start(): Promise { - const database = require('../../../database/index').default as Knex; + const database = getDatabase(); try { await installSeeds(database); diff --git a/api/src/cli/commands/database/migrate.ts b/api/src/cli/commands/database/migrate.ts index 97b87e812c..36784f47c8 100644 --- a/api/src/cli/commands/database/migrate.ts +++ b/api/src/cli/commands/database/migrate.ts @@ -1,7 +1,8 @@ import run from '../../../database/migrations/run'; +import getDatabase from '../../../database'; export default async function migrate(direction: 'latest' | 'up' | 'down'): Promise { - const database = require('../../../database').default; + const database = getDatabase(); try { console.log('✨ Running migrations...'); diff --git a/api/src/cli/commands/roles/create.ts b/api/src/cli/commands/roles/create.ts index 910b2d860f..c90c6db557 100644 --- a/api/src/cli/commands/roles/create.ts +++ b/api/src/cli/commands/roles/create.ts @@ -1,8 +1,9 @@ import { getSchema } from '../../../utils/get-schema'; +import { RolesService } from '../../../services'; +import getDatabase from '../../../database'; export default async function rolesCreate({ role: name, admin }: { role: string; admin: boolean }): Promise { - const { default: database } = require('../../../database/index'); - const { RolesService } = require('../../../services/roles'); + const database = getDatabase(); if (!name) { console.error('Name is required'); diff --git a/api/src/cli/commands/users/create.ts b/api/src/cli/commands/users/create.ts index e7c8392ee9..2de4bf9248 100644 --- a/api/src/cli/commands/users/create.ts +++ b/api/src/cli/commands/users/create.ts @@ -1,4 +1,6 @@ import { getSchema } from '../../../utils/get-schema'; +import { UsersService } from '../../../services'; +import getDatabase from '../../../database'; export default async function usersCreate({ email, @@ -9,8 +11,7 @@ export default async function usersCreate({ password?: string; role?: string; }): Promise { - const { default: database } = require('../../../database/index'); - const { UsersService } = require('../../../services/users'); + const database = getDatabase(); if (!email || !password || !role) { console.error('Email, password, role are required'); diff --git a/api/src/cli/commands/users/passwd.ts b/api/src/cli/commands/users/passwd.ts index fdf1d707ca..5042b28c6c 100644 --- a/api/src/cli/commands/users/passwd.ts +++ b/api/src/cli/commands/users/passwd.ts @@ -1,9 +1,10 @@ import argon2 from 'argon2'; import { getSchema } from '../../../utils/get-schema'; +import { UsersService } from '../../../services'; +import getDatabase from '../../../database'; export default async function usersPasswd({ email, password }: { email?: string; password?: string }): Promise { - const { default: database } = require('../../../database/index'); - const { UsersService } = require('../../../services/users'); + const database = getDatabase(); if (!email || !password) { console.error('Email and password are required'); diff --git a/api/src/controllers/assets.ts b/api/src/controllers/assets.ts index b392ac148d..b64775af98 100644 --- a/api/src/controllers/assets.ts +++ b/api/src/controllers/assets.ts @@ -4,7 +4,7 @@ import { pick } from 'lodash'; import ms from 'ms'; import validate from 'uuid-validate'; import { ASSET_TRANSFORM_QUERY_KEYS, SYSTEM_ASSET_ALLOW_LIST } from '../constants'; -import database from '../database'; +import getDatabase from '../database'; import env from '../env'; import { ForbiddenException, InvalidQueryException, RangeNotSatisfiableException } from '../exceptions'; import useCollection from '../middleware/use-collection'; @@ -32,11 +32,11 @@ router.get( * This is a little annoying. Postgres will error out if you're trying to search in `where` * with a wrong type. In case of directus_files where id is a uuid, we'll have to verify the * validity of the uuid ahead of time. - * @todo move this to a validation middleware function */ const isValidUUID = validate(id, 4); if (isValidUUID === false) throw new ForbiddenException(); + const database = getDatabase(); const file = await database.select('id', 'storage', 'filename_disk').from('directus_files').where({ id }).first(); if (!file) throw new ForbiddenException(); @@ -51,6 +51,7 @@ router.get( const payloadService = new PayloadService('directus_settings', { schema: req.schema }); const defaults = { storage_asset_presets: [], storage_asset_transform: 'all' }; + const database = getDatabase(); const savedAssetSettings = await database .select('storage_asset_presets', 'storage_asset_transform') .from('directus_settings') diff --git a/api/src/database/index.ts b/api/src/database/index.ts index 84cf51c17c..b3653860db 100644 --- a/api/src/database/index.ts +++ b/api/src/database/index.ts @@ -1,76 +1,98 @@ import SchemaInspector from '@directus/schema'; -import dotenv from 'dotenv'; import { knex, Knex } from 'knex'; -import path from 'path'; import { performance } from 'perf_hooks'; import env from '../env'; import logger from '../logger'; import { getConfigFromEnv } from '../utils/get-config-from-env'; import { validateEnv } from '../utils/validate-env'; -dotenv.config({ path: path.resolve(__dirname, '../../', '.env') }); +let database: Knex | null = null; +let inspector: ReturnType | null = null; -const connectionConfig: Record = getConfigFromEnv('DB_', [ - 'DB_CLIENT', - 'DB_SEARCH_PATH', - 'DB_CONNECTION_STRING', - 'DB_POOL', -]); - -const poolConfig = getConfigFromEnv('DB_POOL'); - -const requiredKeys = ['DB_CLIENT']; - -if (env.DB_CLIENT && env.DB_CLIENT === 'sqlite3') { - requiredKeys.push('DB_FILENAME'); -} else if (env.DB_CLIENT && env.DB_CLIENT === 'oracledb') { - requiredKeys.push('DB_USER', 'DB_PASSWORD', 'DB_CONNECT_STRING'); -} else { - if (env.DB_CLIENT === 'pg') { - if (!env.DB_CONNECTION_STRING) { - requiredKeys.push('DB_HOST', 'DB_PORT', 'DB_DATABASE', 'DB_USER'); - } - } else { - requiredKeys.push('DB_HOST', 'DB_PORT', 'DB_DATABASE', 'DB_USER', 'DB_PASSWORD'); +export default function getDatabase() { + if (database) { + return database; } -} -validateEnv(requiredKeys); + const connectionConfig: Record = getConfigFromEnv('DB_', [ + 'DB_CLIENT', + 'DB_SEARCH_PATH', + 'DB_CONNECTION_STRING', + 'DB_POOL', + ]); -const knexConfig: Knex.Config = { - client: env.DB_CLIENT, - searchPath: env.DB_SEARCH_PATH, - connection: env.DB_CONNECTION_STRING || connectionConfig, - log: { - warn: (msg) => logger.warn(msg), - error: (msg) => logger.error(msg), - deprecate: (msg) => logger.info(msg), - debug: (msg) => logger.debug(msg), - }, - pool: poolConfig, -}; + const poolConfig = getConfigFromEnv('DB_POOL'); -if (env.DB_CLIENT === 'sqlite3') { - knexConfig.useNullAsDefault = true; - poolConfig.afterCreate = (conn: any, cb: any) => { - conn.run('PRAGMA foreign_keys = ON', cb); + const requiredEnvVars = ['DB_CLIENT']; + + if (env.DB_CLIENT && env.DB_CLIENT === 'sqlite3') { + requiredEnvVars.push('DB_FILENAME'); + } else if (env.DB_CLIENT && env.DB_CLIENT === 'oracledb') { + requiredEnvVars.push('DB_USER', 'DB_PASSWORD', 'DB_CONNECT_STRING'); + } else { + if (env.DB_CLIENT === 'pg') { + if (!env.DB_CONNECTION_STRING) { + requiredEnvVars.push('DB_HOST', 'DB_PORT', 'DB_DATABASE', 'DB_USER'); + } + } else { + requiredEnvVars.push('DB_HOST', 'DB_PORT', 'DB_DATABASE', 'DB_USER', 'DB_PASSWORD'); + } + } + + validateEnv(requiredEnvVars); + + const knexConfig: Knex.Config = { + client: env.DB_CLIENT, + searchPath: env.DB_SEARCH_PATH, + connection: env.DB_CONNECTION_STRING || connectionConfig, + log: { + warn: (msg) => logger.warn(msg), + error: (msg) => logger.error(msg), + deprecate: (msg) => logger.info(msg), + debug: (msg) => logger.debug(msg), + }, + pool: poolConfig, }; + + if (env.DB_CLIENT === 'sqlite3') { + knexConfig.useNullAsDefault = true; + poolConfig.afterCreate = (conn: any, cb: any) => { + conn.run('PRAGMA foreign_keys = ON', cb); + }; + } + + database = knex(knexConfig); + + const times: Record = {}; + + database + .on('query', (queryInfo) => { + times[queryInfo.__knexUid] = performance.now(); + }) + .on('query-response', (response, queryInfo) => { + const delta = performance.now() - times[queryInfo.__knexUid]; + logger.trace(`[${delta.toFixed(3)}ms] ${queryInfo.sql} [${queryInfo.bindings.join(', ')}]`); + delete times[queryInfo.__knexUid]; + }); + + return database; } -const database = knex(knexConfig); +export function getSchemaInspector() { + if (inspector) { + return inspector; + } -const times: Record = {}; + const database = getDatabase(); -database - .on('query', (queryInfo) => { - times[queryInfo.__knexUid] = performance.now(); - }) - .on('query-response', (response, queryInfo) => { - const delta = performance.now() - times[queryInfo.__knexUid]; - logger.trace(`[${delta.toFixed(3)}ms] ${queryInfo.sql} [${queryInfo.bindings.join(', ')}]`); - }); + inspector = SchemaInspector(database); + + return inspector; +} export async function hasDatabaseConnection(): Promise { + const database = getDatabase(); + try { if (env.DB_CLIENT === 'oracledb') { await database.raw('select 1 from DUAL'); @@ -93,13 +115,11 @@ export async function validateDBConnection(): Promise { } } -export const schemaInspector = SchemaInspector(database); - export async function isInstalled(): Promise { + const inspector = getSchemaInspector(); + // The existence of a directus_collections table alone isn't a "proper" check to see if everything // is installed correctly of course, but it's safe enough to assume that this collection only // exists when using the installer CLI. - return await schemaInspector.hasTable('directus_collections'); + return await inspector.hasTable('directus_collections'); } - -export default database; diff --git a/api/src/database/migrations/20210518A-add-foreign-key-constraints.ts b/api/src/database/migrations/20210518A-add-foreign-key-constraints.ts index 0e02b3d084..36435f38aa 100644 --- a/api/src/database/migrations/20210518A-add-foreign-key-constraints.ts +++ b/api/src/database/migrations/20210518A-add-foreign-key-constraints.ts @@ -1,6 +1,5 @@ import { Knex } from 'knex'; import SchemaInspector from 'knex-schema-inspector'; -import { schemaInspector } from '..'; import logger from '../../logger'; import { RelationMeta } from '../../types'; @@ -22,8 +21,8 @@ export async function up(knex: Knex): Promise { for (const constraint of constraintsToAdd) { if (!constraint.one_collection) continue; - const currentPrimaryKeyField = await schemaInspector.primary(constraint.many_collection); - const relatedPrimaryKeyField = await schemaInspector.primary(constraint.one_collection); + const currentPrimaryKeyField = await inspector.primary(constraint.many_collection); + const relatedPrimaryKeyField = await inspector.primary(constraint.one_collection); if (!currentPrimaryKeyField || !relatedPrimaryKeyField) continue; const rowsWithIllegalFKValues = await knex @@ -67,8 +66,8 @@ export async function up(knex: Knex): Promise { // to `unsigned`, but defaults `.integer()` to `int`. This means that created m2o fields // have the wrong type. This step will force the m2o `int` field into `unsigned`, but only // if both types are integers, and only if we go from `int` to `int unsigned`. - const columnInfo = await schemaInspector.columnInfo(constraint.many_collection, constraint.many_field); - const relatedColumnInfo = await schemaInspector.columnInfo(constraint.one_collection!, relatedPrimaryKeyField); + const columnInfo = await inspector.columnInfo(constraint.many_collection, constraint.many_field); + const relatedColumnInfo = await inspector.columnInfo(constraint.one_collection!, relatedPrimaryKeyField); try { await knex.schema.alterTable(constraint.many_collection, (table) => { diff --git a/api/src/database/run-ast.ts b/api/src/database/run-ast.ts index bf4d67881d..94fc744360 100644 --- a/api/src/database/run-ast.ts +++ b/api/src/database/run-ast.ts @@ -5,7 +5,7 @@ import { Item, Query, SchemaOverview } from '../types'; import { AST, FieldNode, NestedCollectionNode } from '../types/ast'; import applyQuery from '../utils/apply-query'; import { toArray } from '../utils/to-array'; -import database from './index'; +import getDatabase from './index'; type RunASTOptions = { /** @@ -39,7 +39,7 @@ export default async function runAST( ): Promise { const ast = cloneDeep(originalAST); - const knex = options?.knex || database; + const knex = options?.knex || getDatabase(); if (ast.type === 'm2a') { const results: { [collection: string]: null | Item | Item[] } = {}; diff --git a/api/src/env.ts b/api/src/env.ts index 72765b2dd9..843bdd9c65 100644 --- a/api/src/env.ts +++ b/api/src/env.ts @@ -92,6 +92,22 @@ env = processValues(env); export default env; +/** + * When changes have been made during runtime, like in the CLI, we can refresh the env object with + * the newly created variables + */ +export function refreshEnv() { + env = { + ...defaults, + ...getEnv(), + ...process.env, + }; + + process.env = env; + + env = processValues(env); +} + function getEnv() { const configPath = path.resolve(process.env.CONFIG_PATH || defaults.CONFIG_PATH); diff --git a/api/src/exceptions/database/dialects/mssql.ts b/api/src/exceptions/database/dialects/mssql.ts index 726eff8637..dca25c3f05 100644 --- a/api/src/exceptions/database/dialects/mssql.ts +++ b/api/src/exceptions/database/dialects/mssql.ts @@ -1,4 +1,4 @@ -import database from '../../../database'; +import getDatabase from '../../../database'; import { ContainsNullValuesException } from '../contains-null-values'; import { InvalidForeignKeyException } from '../invalid-foreign-key'; import { NotNullViolationException } from '../not-null-violation'; @@ -56,6 +56,8 @@ async function uniqueViolation(error: MSSQLError) { const keyName = quoteMatches[1]; + const database = getDatabase(); + const constraintUsage = await database .select('*') .from('INFORMATION_SCHEMA.CONSTRAINT_COLUMN_USAGE') diff --git a/api/src/exceptions/database/translate.ts b/api/src/exceptions/database/translate.ts index d74ff19e68..99f38367bd 100644 --- a/api/src/exceptions/database/translate.ts +++ b/api/src/exceptions/database/translate.ts @@ -1,4 +1,4 @@ -import database from '../../database'; +import getDatabase from '../../database'; import { extractError as mssql } from './dialects/mssql'; import { extractError as mysql } from './dialects/mysql'; import { extractError as oracle } from './dialects/oracle'; @@ -16,6 +16,8 @@ import { SQLError } from './dialects/types'; * - Value Too Long */ export async function translateDatabaseError(error: SQLError): Promise { + const database = getDatabase(); + switch (database.client.constructor.name) { case 'Client_MySQL': return mysql(error); diff --git a/api/src/extensions.ts b/api/src/extensions.ts index c577282228..279d9f733b 100644 --- a/api/src/extensions.ts +++ b/api/src/extensions.ts @@ -1,7 +1,7 @@ import express, { Router } from 'express'; import { ensureDir } from 'fs-extra'; import path from 'path'; -import database from './database'; +import getDatabase from './database'; import emitter from './emitter'; import env from './env'; import * as exceptions from './exceptions'; @@ -93,7 +93,7 @@ function registerHooks(hooks: string[]) { } } - const events = register({ services, exceptions, env, database, getSchema }); + const events = register({ services, exceptions, env, database: getDatabase(), getSchema }); for (const [event, handler] of Object.entries(events)) { emitter.on(event, handler); } @@ -126,6 +126,6 @@ function registerEndpoints(endpoints: string[], router: Router) { const scopedRouter = express.Router(); router.use(`/${endpoint}/`, scopedRouter); - register(scopedRouter, { services, exceptions, env, database, getSchema }); + register(scopedRouter, { services, exceptions, env, database: getDatabase(), getSchema }); } } diff --git a/api/src/middleware/authenticate.ts b/api/src/middleware/authenticate.ts index f408ff3029..257e1ff008 100644 --- a/api/src/middleware/authenticate.ts +++ b/api/src/middleware/authenticate.ts @@ -1,6 +1,6 @@ import { RequestHandler } from 'express'; import jwt, { JsonWebTokenError, TokenExpiredError } from 'jsonwebtoken'; -import database from '../database'; +import getDatabase from '../database'; import env from '../env'; import { InvalidCredentialsException } from '../exceptions'; import asyncHandler from '../utils/async-handler'; @@ -21,6 +21,8 @@ const authenticate: RequestHandler = asyncHandler(async (req, res, next) => { if (!req.token) return next(); + const database = getDatabase(); + if (isJWT(req.token)) { let payload: { id: string }; diff --git a/api/src/middleware/check-ip.ts b/api/src/middleware/check-ip.ts index 2cc029e693..bec0e367f5 100644 --- a/api/src/middleware/check-ip.ts +++ b/api/src/middleware/check-ip.ts @@ -1,9 +1,11 @@ import { RequestHandler } from 'express'; -import database from '../database'; +import getDatabase from '../database'; import { InvalidIPException } from '../exceptions'; import asyncHandler from '../utils/async-handler'; export const checkIP: RequestHandler = asyncHandler(async (req, res, next) => { + const database = getDatabase(); + const role = await database .select('ip_access') .from('directus_roles') diff --git a/api/src/middleware/session.ts b/api/src/middleware/session.ts index 5b9dc5508d..1229c2591a 100644 --- a/api/src/middleware/session.ts +++ b/api/src/middleware/session.ts @@ -1,7 +1,7 @@ import expressSession, { Store } from 'express-session'; import env from '../env'; import { getConfigFromEnv } from '../utils/get-config-from-env'; -import database from '../database'; +import getDatabase from '../database'; let store: Store | undefined = undefined; if (env.SESSION_STORE === 'redis') { @@ -20,7 +20,7 @@ if (env.SESSION_STORE === 'memcache') { if (env.SESSION_STORE === 'database') { const KnexSessionStore = require('connect-session-knex')(expressSession); store = new KnexSessionStore({ - knex: database, + knex: getDatabase(), tablename: 'oauth_sessions', // optional. Defaults to 'sessions' }); } diff --git a/api/src/server.ts b/api/src/server.ts index e63d623563..cb483021e0 100644 --- a/api/src/server.ts +++ b/api/src/server.ts @@ -6,7 +6,7 @@ import { once } from 'lodash'; import qs from 'qs'; import url from 'url'; import createApp from './app'; -import database from './database'; +import getDatabase from './database'; import { emitAsyncSafe } from './emitter'; import logger from './logger'; @@ -94,6 +94,7 @@ export default async function createServer(): Promise { } async function onSignal() { + const database = getDatabase(); await database.destroy(); logger.info('Database connections destroyed'); } diff --git a/api/src/services/assets.ts b/api/src/services/assets.ts index 12ff88b714..baae16fb31 100644 --- a/api/src/services/assets.ts +++ b/api/src/services/assets.ts @@ -2,7 +2,7 @@ import { Range, StatResponse } from '@directus/drive'; import { Knex } from 'knex'; import path from 'path'; import sharp, { ResizeOptions } from 'sharp'; -import database from '../database'; +import getDatabase from '../database'; import { RangeNotSatisfiableException, IllegalAssetTransformation } from '../exceptions'; import storage from '../storage'; import { AbstractServiceOptions, Accountability, Transformation } from '../types'; @@ -23,7 +23,7 @@ export class AssetsService { authorizationService: AuthorizationService; constructor(options: AbstractServiceOptions) { - this.knex = options.knex || database; + this.knex = options.knex || getDatabase(); this.accountability = options.accountability || null; this.authorizationService = new AuthorizationService(options); } @@ -44,7 +44,7 @@ export class AssetsService { await this.authorizationService.checkAccess('read', 'directus_files', id); } - const file = (await database.select('*').from('directus_files').where({ id }).first()) as File; + const file = (await this.knex.select('*').from('directus_files').where({ id }).first()) as File; if (range) { if (range.start >= file.filesize || (range.end && range.end >= file.filesize)) { diff --git a/api/src/services/authentication.ts b/api/src/services/authentication.ts index 453c2716b8..413cc301b7 100644 --- a/api/src/services/authentication.ts +++ b/api/src/services/authentication.ts @@ -4,7 +4,7 @@ import { Knex } from 'knex'; import ms from 'ms'; import { nanoid } from 'nanoid'; import { authenticator } from 'otplib'; -import database from '../database'; +import getDatabase from '../database'; import emitter, { emitAsyncSafe } from '../emitter'; import env from '../env'; import { @@ -37,7 +37,7 @@ export class AuthenticationService { schema: SchemaOverview; constructor(options: AbstractServiceOptions) { - this.knex = options.knex || database; + this.knex = options.knex || getDatabase(); this.accountability = options.accountability || null; this.activityService = new ActivityService({ knex: this.knex, schema: options.schema }); this.schema = options.schema; @@ -59,7 +59,7 @@ export class AuthenticationService { const { email, password, ip, userAgent, otp } = options; - let user = await database + let user = await this.knex .select('id', 'password', 'role', 'tfa_secret', 'status') .from('directus_users') .whereRaw('LOWER(??) = ?', ['email', email.toLowerCase()]) @@ -114,7 +114,7 @@ export class AuthenticationService { try { await loginAttemptsLimiter.consume(user.id); } catch (err) { - await database('directus_users').update({ status: 'suspended' }).where({ id: user.id }); + await this.knex('directus_users').update({ status: 'suspended' }).where({ id: user.id }); user.status = 'suspended'; // This means that new attempts after the user has been re-activated will be accepted @@ -164,7 +164,7 @@ export class AuthenticationService { const refreshToken = nanoid(64); const refreshTokenExpiration = new Date(Date.now() + ms(env.REFRESH_TOKEN_TTL as string)); - await database('directus_sessions').insert({ + await this.knex('directus_sessions').insert({ token: refreshToken, user: user.id, expires: refreshTokenExpiration, @@ -172,7 +172,7 @@ export class AuthenticationService { user_agent: userAgent, }); - await database('directus_sessions').delete().where('expires', '<', new Date()); + await this.knex('directus_sessions').delete().where('expires', '<', new Date()); if (this.accountability) { await this.activityService.createOne({ @@ -204,7 +204,7 @@ export class AuthenticationService { throw new InvalidCredentialsException(); } - const record = await database + const record = await this.knex .select( 'directus_sessions.*', 'directus_users.email', diff --git a/api/src/services/authorization.ts b/api/src/services/authorization.ts index e1fb861d08..5ddca663a8 100644 --- a/api/src/services/authorization.ts +++ b/api/src/services/authorization.ts @@ -1,6 +1,6 @@ import { Knex } from 'knex'; import { cloneDeep, flatten, merge, uniq, uniqWith } from 'lodash'; -import database from '../database'; +import getDatabase from '../database'; import { FailedValidationException, ForbiddenException } from '../exceptions'; import { AbstractServiceOptions, @@ -28,7 +28,7 @@ export class AuthorizationService { schema: SchemaOverview; constructor(options: AbstractServiceOptions) { - this.knex = options.knex || database; + this.knex = options.knex || getDatabase(); this.accountability = options.accountability || null; this.schema = options.schema; this.payloadService = new PayloadService('directus_permissions', { diff --git a/api/src/services/collections.ts b/api/src/services/collections.ts index 8c962db865..0c136e6306 100644 --- a/api/src/services/collections.ts +++ b/api/src/services/collections.ts @@ -2,7 +2,7 @@ import SchemaInspector from '@directus/schema'; import { Knex } from 'knex'; import cache from '../cache'; import { ALIAS_TYPES } from '../constants'; -import database, { schemaInspector } from '../database'; +import getDatabase, { getSchemaInspector } from '../database'; import { systemCollectionRows } from '../database/system-data/collections'; import env from '../env'; import { ForbiddenException, InvalidPayloadException } from '../exceptions'; @@ -27,13 +27,13 @@ export type RawCollection = { export class CollectionsService { knex: Knex; accountability: Accountability | null; - schemaInspector: typeof schemaInspector; + schemaInspector: ReturnType; schema: SchemaOverview; constructor(options: AbstractServiceOptions) { - this.knex = options.knex || database; + this.knex = options.knex || getDatabase(); this.accountability = options.accountability || null; - this.schemaInspector = options.knex ? SchemaInspector(options.knex) : schemaInspector; + this.schemaInspector = options.knex ? SchemaInspector(options.knex) : getSchemaInspector(); this.schema = options.schema; } diff --git a/api/src/services/fields.ts b/api/src/services/fields.ts index 4c26146ff0..c2d866cfb3 100644 --- a/api/src/services/fields.ts +++ b/api/src/services/fields.ts @@ -3,7 +3,7 @@ import { Knex } from 'knex'; import { Column } from 'knex-schema-inspector/dist/types/column'; import cache from '../cache'; import { ALIAS_TYPES } from '../constants'; -import database, { schemaInspector } from '../database'; +import getDatabase, { getSchemaInspector } from '../database'; import { systemFieldRows } from '../database/system-data/fields/'; import emitter, { emitAsyncSafe } from '../emitter'; import env from '../env'; @@ -26,12 +26,12 @@ export class FieldsService { accountability: Accountability | null; itemsService: ItemsService; payloadService: PayloadService; - schemaInspector: typeof schemaInspector; + schemaInspector: ReturnType; schema: SchemaOverview; constructor(options: AbstractServiceOptions) { - this.knex = options.knex || database; - this.schemaInspector = options.knex ? SchemaInspector(options.knex) : schemaInspector; + this.knex = options.knex || getDatabase(); + this.schemaInspector = options.knex ? SchemaInspector(options.knex) : getSchemaInspector(); this.accountability = options.accountability || null; this.itemsService = new ItemsService('directus_fields', options); this.payloadService = new PayloadService('directus_fields', options); diff --git a/api/src/services/graphql.ts b/api/src/services/graphql.ts index 28480b3f6a..63e22d3fd7 100644 --- a/api/src/services/graphql.ts +++ b/api/src/services/graphql.ts @@ -44,7 +44,7 @@ import { import { Knex } from 'knex'; import { flatten, get, mapKeys, merge, set, uniq } from 'lodash'; import ms from 'ms'; -import database from '../database'; +import getDatabase from '../database'; import env from '../env'; import { BaseException, GraphQLValidationException, InvalidPayloadException } from '../exceptions'; import { listExtensions } from '../extensions'; @@ -115,7 +115,7 @@ export class GraphQLService { constructor(options: AbstractServiceOptions & { scope: 'items' | 'system' }) { this.accountability = options?.accountability || null; - this.knex = options?.knex || database; + this.knex = options?.knex || getDatabase(); this.schema = options.schema; this.scope = options.scope; } diff --git a/api/src/services/import.ts b/api/src/services/import.ts index 9c4503b0f2..f72203090a 100644 --- a/api/src/services/import.ts +++ b/api/src/services/import.ts @@ -1,5 +1,5 @@ import { Knex } from 'knex'; -import database from '../database'; +import getDatabase from '../database'; import { AbstractServiceOptions, Accountability, SchemaOverview } from '../types'; import { ForbiddenException, InvalidPayloadException } from '../exceptions'; import StreamArray from 'stream-json/streamers/StreamArray'; @@ -15,7 +15,7 @@ export class ImportService { schema: SchemaOverview; constructor(options: AbstractServiceOptions) { - this.knex = options.knex || database; + this.knex = options.knex || getDatabase(); this.accountability = options.accountability || null; this.schema = options.schema; } diff --git a/api/src/services/items.ts b/api/src/services/items.ts index 2b6f4dbe33..588945c1f0 100644 --- a/api/src/services/items.ts +++ b/api/src/services/items.ts @@ -1,7 +1,7 @@ import { Knex } from 'knex'; import { clone, cloneDeep, merge, pick, without } from 'lodash'; import cache from '../cache'; -import database from '../database'; +import getDatabase from '../database'; import runAST from '../database/run-ast'; import emitter, { emitAsyncSafe } from '../emitter'; import env from '../env'; @@ -55,7 +55,7 @@ export class ItemsService implements AbstractSer constructor(collection: string, options: AbstractServiceOptions) { this.collection = collection; - this.knex = options.knex || database; + this.knex = options.knex || getDatabase(); this.accountability = options.accountability || null; this.eventScope = this.collection.startsWith('directus_') ? this.collection.substring(9) : 'items'; this.schema = options.schema; @@ -204,7 +204,7 @@ export class ItemsService implements AbstractSer schema: this.schema, // This hook is called async. If we would pass the transaction here, the hook can be // called after the transaction is done #5460 - database: database, + database: getDatabase(), }); } @@ -516,7 +516,7 @@ export class ItemsService implements AbstractSer schema: this.schema, // This hook is called async. If we would pass the transaction here, the hook can be // called after the transaction is done #5460 - database: database, + database: getDatabase(), }); } @@ -665,7 +665,7 @@ export class ItemsService implements AbstractSer schema: this.schema, // This hook is called async. If we would pass the transaction here, the hook can be // called after the transaction is done #5460 - database: database, + database: getDatabase(), }); } diff --git a/api/src/services/mail/index.ts b/api/src/services/mail/index.ts index 3d0879d960..8cd29da5d4 100644 --- a/api/src/services/mail/index.ts +++ b/api/src/services/mail/index.ts @@ -2,7 +2,7 @@ import fse from 'fs-extra'; import { Knex } from 'knex'; import { Liquid } from 'liquidjs'; import path from 'path'; -import database from '../../database'; +import getDatabase from '../../database'; import env from '../../env'; import { InvalidPayloadException } from '../../exceptions'; import logger from '../../logger'; @@ -30,7 +30,7 @@ export class MailService { constructor(opts: AbstractServiceOptions) { this.schema = opts.schema; this.accountability = opts.accountability || null; - this.knex = opts?.knex || database; + this.knex = opts?.knex || getDatabase(); } async send(options: EmailOptions): Promise { diff --git a/api/src/services/meta.ts b/api/src/services/meta.ts index e56a01c68a..8697f3f3e8 100644 --- a/api/src/services/meta.ts +++ b/api/src/services/meta.ts @@ -1,5 +1,5 @@ import { Knex } from 'knex'; -import database from '../database'; +import getDatabase from '../database'; import { ForbiddenException } from '../exceptions'; import { AbstractServiceOptions, Accountability, SchemaOverview } from '../types'; import { Query } from '../types/query'; @@ -12,7 +12,7 @@ export class MetaService { schema: SchemaOverview; constructor(options: AbstractServiceOptions) { - this.knex = options.knex || database; + this.knex = options.knex || getDatabase(); this.accountability = options.accountability || null; this.schema = options.schema; } diff --git a/api/src/services/payload.ts b/api/src/services/payload.ts index 51d8cf0ccb..39ebd93d9d 100644 --- a/api/src/services/payload.ts +++ b/api/src/services/payload.ts @@ -4,7 +4,7 @@ import Joi from 'joi'; import { Knex } from 'knex'; import { clone, cloneDeep, isObject, isPlainObject } from 'lodash'; import { v4 as uuidv4 } from 'uuid'; -import database from '../database'; +import getDatabase from '../database'; import { ForbiddenException, InvalidPayloadException } from '../exceptions'; import { AbstractServiceOptions, Accountability, Item, PrimaryKey, Query, SchemaOverview } from '../types'; import { toArray } from '../utils/to-array'; @@ -43,7 +43,7 @@ export class PayloadService { constructor(collection: string, options: AbstractServiceOptions) { this.accountability = options.accountability || null; - this.knex = options.knex || database; + this.knex = options.knex || getDatabase(); this.collection = collection; this.schema = options.schema; diff --git a/api/src/services/relations.ts b/api/src/services/relations.ts index 899ed72e6c..89190a23cd 100644 --- a/api/src/services/relations.ts +++ b/api/src/services/relations.ts @@ -7,20 +7,20 @@ import { ItemsService, QueryOptions } from './items'; import { PermissionsService } from './permissions'; import SchemaInspector from '@directus/schema'; import { ForeignKey } from 'knex-schema-inspector/dist/types/foreign-key'; -import database, { schemaInspector } from '../database'; +import getDatabase, { getSchemaInspector } from '../database'; export class RelationsService { knex: Knex; permissionsService: PermissionsService; - schemaInspector: typeof schemaInspector; + schemaInspector: ReturnType; accountability: Accountability | null; schema: SchemaOverview; relationsItemService: ItemsService; constructor(options: AbstractServiceOptions) { - this.knex = options.knex || database; + this.knex = options.knex || getDatabase(); this.permissionsService = new PermissionsService(options); - this.schemaInspector = options.knex ? SchemaInspector(options.knex) : schemaInspector; + this.schemaInspector = options.knex ? SchemaInspector(options.knex) : getSchemaInspector(); this.schema = options.schema; this.accountability = options.accountability || null; this.relationsItemService = new ItemsService('directus_relations', { diff --git a/api/src/services/server.ts b/api/src/services/server.ts index 76f73be309..20129a3742 100644 --- a/api/src/services/server.ts +++ b/api/src/services/server.ts @@ -7,7 +7,7 @@ import { performance } from 'perf_hooks'; // @ts-ignore import { version } from '../../package.json'; import cache from '../cache'; -import database, { hasDatabaseConnection } from '../database'; +import getDatabase, { hasDatabaseConnection } from '../database'; import env from '../env'; import logger from '../logger'; import { rateLimiter } from '../middleware/rate-limiter'; @@ -24,7 +24,7 @@ export class ServerService { schema: SchemaOverview; constructor(options: AbstractServiceOptions) { - this.knex = options.knex || database; + this.knex = options.knex || getDatabase(); this.accountability = options.accountability || null; this.schema = options.schema; this.settingsService = new SettingsService({ knex: this.knex, schema: this.schema }); @@ -129,6 +129,7 @@ export class ServerService { } async function testDatabase(): Promise> { + const database = getDatabase(); const client = env.DB_CLIENT; const checks: Record = {}; diff --git a/api/src/services/specifications.ts b/api/src/services/specifications.ts index 6459a6f918..c4d21e60ed 100644 --- a/api/src/services/specifications.ts +++ b/api/src/services/specifications.ts @@ -5,7 +5,7 @@ import { cloneDeep, mergeWith } from 'lodash'; import { OpenAPIObject, OperationObject, PathItemObject, SchemaObject, TagObject } from 'openapi3-ts'; // @ts-ignore import { version } from '../../package.json'; -import database from '../database'; +import getDatabase from '../database'; import env from '../env'; import { AbstractServiceOptions, @@ -37,7 +37,7 @@ export class SpecificationService { constructor(options: AbstractServiceOptions) { this.accountability = options.accountability || null; - this.knex = options.knex || database; + this.knex = options.knex || getDatabase(); this.schema = options.schema; this.fieldsService = new FieldsService(options); @@ -80,7 +80,7 @@ class OASSpecsService implements SpecificationSubService { } ) { this.accountability = options.accountability || null; - this.knex = options.knex || database; + this.knex = options.knex || getDatabase(); this.schema = options.schema; this.fieldsService = fieldsService; @@ -541,7 +541,7 @@ class GraphQLSpecsService implements SpecificationSubService { constructor(options: AbstractServiceOptions) { this.accountability = options.accountability || null; - this.knex = options.knex || database; + this.knex = options.knex || getDatabase(); this.schema = options.schema; this.items = new GraphQLService({ ...options, scope: 'items' }); diff --git a/api/src/services/users.ts b/api/src/services/users.ts index 190020808b..667d14a942 100644 --- a/api/src/services/users.ts +++ b/api/src/services/users.ts @@ -3,7 +3,7 @@ import jwt from 'jsonwebtoken'; import { Knex } from 'knex'; import { clone } from 'lodash'; import cache from '../cache'; -import database from '../database'; +import getDatabase from '../database'; import env from '../env'; import { FailedValidationException, @@ -29,7 +29,7 @@ export class UsersService extends ItemsService { constructor(options: AbstractServiceOptions) { super('directus_users', options); - this.knex = options.knex || database; + this.knex = options.knex || getDatabase(); this.accountability = options.accountability || null; this.service = new ItemsService('directus_users', options); this.schema = options.schema; diff --git a/api/src/services/utils.ts b/api/src/services/utils.ts index 006da092fd..d7a8cf6806 100644 --- a/api/src/services/utils.ts +++ b/api/src/services/utils.ts @@ -1,5 +1,5 @@ import { Knex } from 'knex'; -import database from '../database'; +import getDatabase from '../database'; import { systemCollectionRows } from '../database/system-data/collections'; import { ForbiddenException, InvalidPayloadException } from '../exceptions'; import { AbstractServiceOptions, Accountability, PrimaryKey, SchemaOverview } from '../types'; @@ -10,7 +10,7 @@ export class UtilsService { schema: SchemaOverview; constructor(options: AbstractServiceOptions) { - this.knex = options.knex || database; + this.knex = options.knex || getDatabase(); this.accountability = options.accountability || null; this.schema = options.schema; } diff --git a/api/src/storage.ts b/api/src/storage.ts index a027a78dd3..6864e690c3 100644 --- a/api/src/storage.ts +++ b/api/src/storage.ts @@ -1,7 +1,6 @@ import { LocalFileSystemStorage, Storage, StorageManager, StorageManagerConfig } from '@directus/drive'; import { AzureBlobWebServicesStorage } from '@directus/drive-azure'; import { GoogleCloudStorage } from '@directus/drive-gcs'; -/** @todo dynamically load these storage adapters */ import { AmazonWebServicesS3Storage } from '@directus/drive-s3'; import env from './env'; import { getConfigFromEnv } from './utils/get-config-from-env'; diff --git a/api/src/utils/get-schema.ts b/api/src/utils/get-schema.ts index 604125a300..2e9a104717 100644 --- a/api/src/utils/get-schema.ts +++ b/api/src/utils/get-schema.ts @@ -11,13 +11,14 @@ import { toArray } from '../utils/to-array'; import getDefaultValue from './get-default-value'; import getLocalType from './get-local-type'; import { mergePermissions } from './merge-permissions'; +import getDatabase from '../database'; export async function getSchema(options?: { accountability?: Accountability; database?: Knex; }): Promise { // Allows for use in the CLI - const database = options?.database || (require('../database').default as Knex); + const database = options?.database || getDatabase(); const schemaInspector = SchemaInspector(database); const result: SchemaOverview = { diff --git a/api/src/webhooks.ts b/api/src/webhooks.ts index a3dbab1064..219f89b2fb 100644 --- a/api/src/webhooks.ts +++ b/api/src/webhooks.ts @@ -1,6 +1,6 @@ import axios from 'axios'; import { ListenerFn } from 'eventemitter2'; -import database from './database'; +import getDatabase from './database'; import emitter from './emitter'; import logger from './logger'; import { Webhook } from './types'; @@ -10,6 +10,8 @@ let registered: { event: string; handler: ListenerFn }[] = []; export async function register(): Promise { unregister(); + const database = getDatabase(); + const webhooks = await database.select('*').from('directus_webhooks').where({ status: 'active' }); for (const webhook of webhooks) { diff --git a/package-lock.json b/package-lock.json index 68ccc02bb0..835503ad02 100644 --- a/package-lock.json +++ b/package-lock.json @@ -13076,6 +13076,7 @@ "version": "0.0.9", "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz", "integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=", + "dev": true, "optional": true, "dependencies": { "inherits": "~2.0.0" @@ -21174,6 +21175,7 @@ "version": "1.0.12", "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.12.tgz", "integrity": "sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg==", + "dev": true, "optional": true, "dependencies": { "graceful-fs": "^4.1.2", @@ -21189,6 +21191,7 @@ "version": "0.5.5", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "dev": true, "optional": true, "dependencies": { "minimist": "^1.2.5" @@ -21201,6 +21204,7 @@ "version": "2.7.1", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, "optional": true, "dependencies": { "glob": "^7.1.3" @@ -41963,6 +41967,7 @@ "version": "0.5.5", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "dev": true, "optional": true, "dependencies": { "minimist": "^1.2.5" @@ -41975,6 +41980,7 @@ "version": "3.8.0", "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-3.8.0.tgz", "integrity": "sha512-3g8lYefrRRzvGeSowdJKAKyks8oUpLEd/DyPV4eMhVlhJ0aNaZqIrNUIPuEWWTAoPqyFkfGrM67MC69baqn6vA==", + "dev": true, "optional": true, "dependencies": { "fstream": "^1.0.0", @@ -42001,6 +42007,7 @@ "version": "3.0.6", "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", + "dev": true, "optional": true, "dependencies": { "abbrev": "1" @@ -42013,6 +42020,7 @@ "version": "2.7.1", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, "optional": true, "dependencies": { "glob": "^7.1.3" @@ -42025,6 +42033,7 @@ "version": "5.3.0", "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz", "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=", + "dev": true, "optional": true, "bin": { "semver": "bin/semver" @@ -42034,6 +42043,7 @@ "version": "2.2.2", "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.2.tgz", "integrity": "sha512-FCEhQ/4rE1zYv9rYXJw/msRqsnmlje5jHP6huWeBZ704jUTy02c5AZyWujpMR1ax6mVw9NyJMfuK2CMDWVIfgA==", + "dev": true, "optional": true, "dependencies": { "block-stream": "*", @@ -42045,6 +42055,7 @@ "version": "1.3.1", "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, "optional": true, "dependencies": { "isexe": "^2.0.0" @@ -61062,6 +61073,7 @@ "resolved": "https://registry.npmjs.org/@oclif/command/-/command-1.8.0.tgz", "integrity": "sha512-5vwpq6kbvwkQwKqAoOU3L72GZ3Ta8RRrewKj9OJRolx28KLJJ8Dg9Rf7obRwt5jQA9bkYd8gqzMTrI7H3xLfaw==", "requires": { + "@oclif/config": "^1.15.1", "@oclif/errors": "^1.3.3", "@oclif/parser": "^3.8.3", "@oclif/plugin-help": "^3", @@ -63209,6 +63221,7 @@ "integrity": "sha512-pM7CR3yXB6L8Gfn6EmX7FLNE3+V/15I3o33GkSNsWvgsMp6HVGXKkXgojrcfUUauyL1LZOdvTmu4enU2RePGHw==", "dev": true, "requires": { + "@babel/core": "^7.11.0", "@babel/helper-compilation-targets": "^7.9.6", "@babel/helper-module-imports": "^7.8.3", "@babel/plugin-proposal-class-properties": "^7.8.3", @@ -63221,6 +63234,7 @@ "@vue/babel-plugin-jsx": "^1.0.3", "@vue/babel-preset-jsx": "^1.2.4", "babel-plugin-dynamic-import-node": "^2.3.3", + "core-js": "^3.6.5", "core-js-compat": "^3.6.5", "semver": "^6.1.0" }, @@ -67288,6 +67302,7 @@ "version": "0.0.9", "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz", "integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=", + "dev": true, "optional": true, "requires": { "inherits": "~2.0.0" @@ -71015,7 +71030,7 @@ "keyv": "^4.0.3", "keyv-memcache": "^1.2.5", "knex": "^0.95.6", - "knex-schema-inspector": "1.5.6", + "knex-schema-inspector": "^1.5.6", "liquidjs": "^9.25.0", "lodash": "^4.17.21", "macos-release": "^2.4.1", @@ -74027,6 +74042,7 @@ "version": "1.0.12", "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.12.tgz", "integrity": "sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg==", + "dev": true, "optional": true, "requires": { "graceful-fs": "^4.1.2", @@ -74039,6 +74055,7 @@ "version": "0.5.5", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "dev": true, "optional": true, "requires": { "minimist": "^1.2.5" @@ -74048,6 +74065,7 @@ "version": "2.7.1", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, "optional": true, "requires": { "glob": "^7.1.3" @@ -90635,6 +90653,7 @@ "version": "0.5.5", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "dev": true, "optional": true, "requires": { "minimist": "^1.2.5" @@ -90644,6 +90663,7 @@ "version": "3.8.0", "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-3.8.0.tgz", "integrity": "sha512-3g8lYefrRRzvGeSowdJKAKyks8oUpLEd/DyPV4eMhVlhJ0aNaZqIrNUIPuEWWTAoPqyFkfGrM67MC69baqn6vA==", + "dev": true, "optional": true, "requires": { "fstream": "^1.0.0", @@ -90664,6 +90684,7 @@ "version": "3.0.6", "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", + "dev": true, "optional": true, "requires": { "abbrev": "1" @@ -90673,6 +90694,7 @@ "version": "2.7.1", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, "optional": true, "requires": { "glob": "^7.1.3" @@ -90682,12 +90704,14 @@ "version": "5.3.0", "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz", "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=", + "dev": true, "optional": true }, "tar": { "version": "2.2.2", "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.2.tgz", "integrity": "sha512-FCEhQ/4rE1zYv9rYXJw/msRqsnmlje5jHP6huWeBZ704jUTy02c5AZyWujpMR1ax6mVw9NyJMfuK2CMDWVIfgA==", + "dev": true, "optional": true, "requires": { "block-stream": "*", @@ -90699,6 +90723,7 @@ "version": "1.3.1", "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, "optional": true, "requires": { "isexe": "^2.0.0" From e1e47453efdf1a9c40e3bc124dfb6c33d9bc317e Mon Sep 17 00:00:00 2001 From: nichols-green <82182892+nichols-green@users.noreply.github.com> Date: Wed, 2 Jun 2021 08:47:12 -0700 Subject: [PATCH 23/83] Changed PORT type from number to string (#6001) --- api/src/env.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/api/src/env.ts b/api/src/env.ts index 843bdd9c65..1ec0be7225 100644 --- a/api/src/env.ts +++ b/api/src/env.ts @@ -71,7 +71,7 @@ const defaults: Record = { // Allows us to force certain environment variable into a type, instead of relying // on the auto-parsed type in processValues. ref #3705 const typeMap: Record = { - PORT: 'number', + PORT: 'string', DB_NAME: 'string', DB_USER: 'string', From f3d15610050fe562313b4d81d4292922af5a86a9 Mon Sep 17 00:00:00 2001 From: nichols-green <82182892+nichols-green@users.noreply.github.com> Date: Wed, 2 Jun 2021 10:12:02 -0700 Subject: [PATCH 24/83] Added document for running directus on iis (#6006) * Added document for running directus on iis * Update iis.md Co-authored-by: Rijk van Zanten --- docs/getting-started/installation.md | 1 + docs/guides/installation/iis.md | 48 ++++++++++++++++++++++++++++ 2 files changed, 49 insertions(+) create mode 100644 docs/guides/installation/iis.md diff --git a/docs/getting-started/installation.md b/docs/getting-started/installation.md index 0860235572..aa66c0370a 100644 --- a/docs/getting-started/installation.md +++ b/docs/getting-started/installation.md @@ -23,6 +23,7 @@ These options are only recommended for developers familiar with these services a While Directus is always completely free, you will likely need to pay for these services. - [Generic Ubuntu](/guides/installation/ubuntu) +- [Internet Information Services (IIS)](/guides/installation/iis) - [Amazon AWS](/guides/installation/aws) - [DigitalOcean App Platform](/guides/installation/digitalocean-app-platform) diff --git a/docs/guides/installation/iis.md b/docs/guides/installation/iis.md new file mode 100644 index 0000000000..b89f48562c --- /dev/null +++ b/docs/guides/installation/iis.md @@ -0,0 +1,48 @@ +# IIS (Internet Information Services) +Deploying directus to IIS will require [iisnode](https://github.com/Azure/iisnode), an entrypoint file, and some specific web.config configurations. + +# iisnode +iisnode can be downloaded from the [azure/iisnode releases](https://github.com/Azure/iisnode/releases) page. + +## Entrypoint +iisnode acts as a reverse proxy, and simply forwards requests to files based on any rewrite rules and the files available. Since iisnode simply pipes requests to files, running the directus CLI directly won't work. To get around this, use an entrypoint script like the `index.js` below. + +``` js +var { default: start } = require("directus/dist/start"); + +start(); +``` + +## web.config +With an entrypoint created, add a web.config to the root of the project. The following web.config is a simple example of running directus with iisnode + +``` xml + + + + + + + + + + + + + + + + + + + +``` + +A few important points regarding this file: +1. The iisnode handler `path` parameter is set to the entrypoint filepath +2. The iisnode handler `verb` parameter is set to handle all verbs (*) +3. The iisnode `node_env` parameter is bound to the environment variable `node_env` +4. The iisnode `enableXFF` parameter is set to `true`. Since iisnode acts as a reverse proxy, this is required to pass client ip and other details on to the directus server, which directus modules expect and depend on. +5. the rewrite rule is in place to send all requests made to this site to the entrypoint, ensuring that directus handles the routing and not IIS + +While there are dozens even hundreds of options within IIS, this should help in getting started with Directus on IIS. From 45730c6860acfbe0165717db29791abcfdb2ce7e Mon Sep 17 00:00:00 2001 From: Rijk van Zanten Date: Wed, 2 Jun 2021 13:21:13 -0400 Subject: [PATCH 25/83] Resolve linter warnings (#6008) --- api/src/database/index.ts | 4 ++-- api/src/env.ts | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/api/src/database/index.ts b/api/src/database/index.ts index b3653860db..af982c32bf 100644 --- a/api/src/database/index.ts +++ b/api/src/database/index.ts @@ -9,7 +9,7 @@ import { validateEnv } from '../utils/validate-env'; let database: Knex | null = null; let inspector: ReturnType | null = null; -export default function getDatabase() { +export default function getDatabase(): Knex { if (database) { return database; } @@ -78,7 +78,7 @@ export default function getDatabase() { return database; } -export function getSchemaInspector() { +export function getSchemaInspector(): ReturnType { if (inspector) { return inspector; } diff --git a/api/src/env.ts b/api/src/env.ts index 1ec0be7225..25b9873a37 100644 --- a/api/src/env.ts +++ b/api/src/env.ts @@ -96,7 +96,7 @@ export default env; * When changes have been made during runtime, like in the CLI, we can refresh the env object with * the newly created variables */ -export function refreshEnv() { +export function refreshEnv(): void { env = { ...defaults, ...getEnv(), From 44e443bf99cbf1370aea35b39357ec2287d46d1f Mon Sep 17 00:00:00 2001 From: rijkvanzanten Date: Wed, 2 Jun 2021 13:28:26 -0400 Subject: [PATCH 26/83] v9.0.0-rc.71 --- api/package.json | 18 +++++++++--------- app/package.json | 6 +++--- docs/package.json | 2 +- lerna.json | 2 +- packages/cli/package.json | 6 +++--- packages/create-directus-project/package.json | 2 +- packages/drive-azure/package.json | 4 ++-- packages/drive-gcs/package.json | 4 ++-- packages/drive-s3/package.json | 4 ++-- packages/drive/package.json | 2 +- packages/format-title/package.json | 2 +- packages/gatsby-source-directus/package.json | 2 +- packages/schema/package.json | 2 +- packages/sdk/package.json | 2 +- packages/specs/package.json | 2 +- 15 files changed, 30 insertions(+), 30 deletions(-) diff --git a/api/package.json b/api/package.json index 8b5ffc2b0c..ea413e27af 100644 --- a/api/package.json +++ b/api/package.json @@ -1,6 +1,6 @@ { "name": "directus", - "version": "9.0.0-rc.70", + "version": "9.0.0-rc.71", "license": "GPL-3.0-only", "homepage": "https://github.com/directus/directus#readme", "description": "Directus is a real-time API and App dashboard for managing SQL database content.", @@ -66,14 +66,14 @@ "example.env" ], "dependencies": { - "@directus/app": "9.0.0-rc.70", - "@directus/drive": "9.0.0-rc.70", - "@directus/drive-azure": "9.0.0-rc.70", - "@directus/drive-gcs": "9.0.0-rc.70", - "@directus/drive-s3": "9.0.0-rc.70", - "@directus/format-title": "9.0.0-rc.70", - "@directus/schema": "9.0.0-rc.70", - "@directus/specs": "9.0.0-rc.70", + "@directus/app": "9.0.0-rc.71", + "@directus/drive": "9.0.0-rc.71", + "@directus/drive-azure": "9.0.0-rc.71", + "@directus/drive-gcs": "9.0.0-rc.71", + "@directus/drive-s3": "9.0.0-rc.71", + "@directus/format-title": "9.0.0-rc.71", + "@directus/schema": "9.0.0-rc.71", + "@directus/specs": "9.0.0-rc.71", "@godaddy/terminus": "^4.7.2", "argon2": "^0.27.0", "async": "^3.2.0", diff --git a/app/package.json b/app/package.json index 8dda18e494..eeebe419be 100644 --- a/app/package.json +++ b/app/package.json @@ -1,6 +1,6 @@ { "name": "@directus/app", - "version": "9.0.0-rc.70", + "version": "9.0.0-rc.71", "private": false, "description": "Directus is an Open-Source Headless CMS & API for Managing Custom Databases", "author": "Rijk van Zanten ", @@ -27,8 +27,8 @@ }, "gitHead": "24621f3934dc77eb23441331040ed13c676ceffd", "devDependencies": { - "@directus/docs": "9.0.0-rc.70", - "@directus/format-title": "9.0.0-rc.70", + "@directus/docs": "9.0.0-rc.71", + "@directus/format-title": "9.0.0-rc.71", "@fullcalendar/core": "^5.7.0", "@fullcalendar/daygrid": "^5.7.0", "@fullcalendar/interaction": "^5.7.0", diff --git a/docs/package.json b/docs/package.json index 82cc9206d6..65512c2527 100644 --- a/docs/package.json +++ b/docs/package.json @@ -1,7 +1,7 @@ { "name": "@directus/docs", "private": false, - "version": "9.0.0-rc.70", + "version": "9.0.0-rc.71", "description": "", "main": "index.json", "scripts": { diff --git a/lerna.json b/lerna.json index 21ff83901e..8881a8922f 100644 --- a/lerna.json +++ b/lerna.json @@ -5,7 +5,7 @@ "docs", "api" ], - "version": "9.0.0-rc.70", + "version": "9.0.0-rc.71", "command": { "bootstrap": { "npmClientArgs": [ diff --git a/packages/cli/package.json b/packages/cli/package.json index 59efc4116d..6759c65b7a 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "@directus/cli", - "version": "9.0.0-rc.70", + "version": "9.0.0-rc.71", "description": "The official Directus CLI", "repository": { "type": "git", @@ -41,8 +41,8 @@ "author": "João Biondo ", "license": "MIT", "dependencies": { - "@directus/format-title": "9.0.0-rc.70", - "@directus/sdk": "9.0.0-rc.70", + "@directus/format-title": "9.0.0-rc.71", + "@directus/sdk": "9.0.0-rc.71", "@types/yargs": "^16.0.1", "app-module-path": "^2.2.0", "chalk": "^4.1.0", diff --git a/packages/create-directus-project/package.json b/packages/create-directus-project/package.json index 219c8c5916..57487ef692 100644 --- a/packages/create-directus-project/package.json +++ b/packages/create-directus-project/package.json @@ -1,6 +1,6 @@ { "name": "create-directus-project", - "version": "9.0.0-rc.70", + "version": "9.0.0-rc.71", "description": "A small installer util that will create a directory, add boilerplate folders, and install Directus through npm.", "main": "lib/index.js", "bin": "./lib/index.js", diff --git a/packages/drive-azure/package.json b/packages/drive-azure/package.json index 36686fd4d8..03449636ba 100644 --- a/packages/drive-azure/package.json +++ b/packages/drive-azure/package.json @@ -1,6 +1,6 @@ { "name": "@directus/drive-azure", - "version": "9.0.0-rc.70", + "version": "9.0.0-rc.71", "description": "Azure Blob driver for @directus/drive", "license": "MIT", "main": "dist/index.js", @@ -35,7 +35,7 @@ ], "dependencies": { "@azure/storage-blob": "^12.2.1", - "@directus/drive": "9.0.0-rc.70", + "@directus/drive": "9.0.0-rc.71", "normalize-path": "^3.0.0" }, "devDependencies": { diff --git a/packages/drive-gcs/package.json b/packages/drive-gcs/package.json index b826bc32f1..35e0e1dc46 100644 --- a/packages/drive-gcs/package.json +++ b/packages/drive-gcs/package.json @@ -1,6 +1,6 @@ { "name": "@directus/drive-gcs", - "version": "9.0.0-rc.70", + "version": "9.0.0-rc.71", "description": "Google Cloud Storage driver for @directus/drive", "license": "MIT", "main": "dist/index.js", @@ -33,7 +33,7 @@ "dev": "npm run build -- -w --preserveWatchOutput --incremental" }, "dependencies": { - "@directus/drive": "9.0.0-rc.70", + "@directus/drive": "9.0.0-rc.71", "@google-cloud/storage": "^5.8.4", "normalize-path": "^3.0.0" }, diff --git a/packages/drive-s3/package.json b/packages/drive-s3/package.json index d562b66b7d..25743b7781 100644 --- a/packages/drive-s3/package.json +++ b/packages/drive-s3/package.json @@ -1,6 +1,6 @@ { "name": "@directus/drive-s3", - "version": "9.0.0-rc.70", + "version": "9.0.0-rc.71", "description": "AWS S3 driver for @directus/drive", "license": "MIT", "main": "dist/index.js", @@ -34,7 +34,7 @@ "dev": "npm run build -- -w --preserveWatchOutput --incremental" }, "dependencies": { - "@directus/drive": "9.0.0-rc.70", + "@directus/drive": "9.0.0-rc.71", "aws-sdk": "^2.911.0", "normalize-path": "^3.0.0" }, diff --git a/packages/drive/package.json b/packages/drive/package.json index bcd9ce13a1..51c35ce515 100644 --- a/packages/drive/package.json +++ b/packages/drive/package.json @@ -1,6 +1,6 @@ { "name": "@directus/drive", - "version": "9.0.0-rc.70", + "version": "9.0.0-rc.71", "description": "Flexible and Fluent way to manage storage in Node.js.", "license": "MIT", "main": "dist/index.js", diff --git a/packages/format-title/package.json b/packages/format-title/package.json index 570528137b..53b9d08148 100644 --- a/packages/format-title/package.json +++ b/packages/format-title/package.json @@ -1,6 +1,6 @@ { "name": "@directus/format-title", - "version": "9.0.0-rc.70", + "version": "9.0.0-rc.71", "description": "Custom string formatter that converts any string into [Title Case](http://www.grammar-monster.com/lessons/capital_letters_title_case.htm)", "keywords": [ "title-case", diff --git a/packages/gatsby-source-directus/package.json b/packages/gatsby-source-directus/package.json index f9a2d18164..73586b0cbe 100644 --- a/packages/gatsby-source-directus/package.json +++ b/packages/gatsby-source-directus/package.json @@ -1,6 +1,6 @@ { "name": "@directus/gatsby-source-directus", - "version": "9.0.0-rc.70", + "version": "9.0.0-rc.71", "description": "Source plugin for pulling data into Gatsby from a Directus API.", "author": "João Biondo ", "license": "MIT", diff --git a/packages/schema/package.json b/packages/schema/package.json index d8c5ac410d..2453d7a780 100644 --- a/packages/schema/package.json +++ b/packages/schema/package.json @@ -1,6 +1,6 @@ { "name": "@directus/schema", - "version": "9.0.0-rc.70", + "version": "9.0.0-rc.71", "description": "Utility for extracting information about existing DB schema", "main": "dist/index.js", "types": "dist/index.d.ts", diff --git a/packages/sdk/package.json b/packages/sdk/package.json index ca998da198..7f9c52f994 100644 --- a/packages/sdk/package.json +++ b/packages/sdk/package.json @@ -1,6 +1,6 @@ { "name": "@directus/sdk", - "version": "9.0.0-rc.70", + "version": "9.0.0-rc.71", "description": "The official Directus SDK for use in JavaScript!", "repository": { "type": "git", diff --git a/packages/specs/package.json b/packages/specs/package.json index b0f06cb258..75285bc437 100644 --- a/packages/specs/package.json +++ b/packages/specs/package.json @@ -1,6 +1,6 @@ { "name": "@directus/specs", - "version": "9.0.0-rc.70", + "version": "9.0.0-rc.71", "description": "OpenAPI Specification of the Directus API", "main": "index.js", "scripts": { From 97587a6e737cb091916cf8be801aa3b583b11510 Mon Sep 17 00:00:00 2001 From: rijkvanzanten Date: Wed, 2 Jun 2021 13:32:17 -0400 Subject: [PATCH 27/83] Update changelog --- changelog.md | 63 +++++++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 57 insertions(+), 6 deletions(-) diff --git a/changelog.md b/changelog.md index b80714c3a3..2f70909f29 100644 --- a/changelog.md +++ b/changelog.md @@ -1,6 +1,47 @@ # Changelog -## 9.0.0-rc.70 (June 1st, 2021) +_Changes marked with a :warning: contain potential breaking changes depending on your use of the package._ + +## v9.0.0-rc.71 (June 2, 2021) + +### :rocket: Improvements + +- **API** + - [#6003](https://github.com/directus/directus/pull/6003) Don't initialize database on file require + ([@rijkvanzanten](https://github.com/rijkvanzanten)) + - [#6001](https://github.com/directus/directus/pull/6001) Changed PORT type from number to string + ([@nichols-green](https://github.com/nichols-green)) +- **Docker** + - :warning: [#5877](https://github.com/directus/directus/pull/5877) Clean-up docker image + ([@paescuj](https://github.com/paescuj)) + +### :bug: Bug Fixes + +- **API** + - [#6002](https://github.com/directus/directus/pull/6002) Fix env var validation in database loading step + ([@rijkvanzanten](https://github.com/rijkvanzanten)) + - [#5998](https://github.com/directus/directus/pull/5998) Remove stray console.log in dependency + ([@rijkvanzanten](https://github.com/rijkvanzanten)) + +### :memo: Documentation + +- [#6006](https://github.com/directus/directus/pull/6006) Added document for running directus on iis + ([@nichols-green](https://github.com/nichols-green)) + +### :package: Dependency Updates + +- [#5986](https://github.com/directus/directus/pull/5986) Bump marked from 2.0.5 to 2.0.7 + ([@dependabot[bot]](https://github.com/apps/dependabot)) +- [#5985](https://github.com/directus/directus/pull/5985) Bump dompurify from 2.2.8 to 2.2.9 + ([@dependabot[bot]](https://github.com/apps/dependabot)) +- [#5984](https://github.com/directus/directus/pull/5984) Bump jest-environment-jsdom from 26.6.2 to 27.0.3 + ([@dependabot[bot]](https://github.com/apps/dependabot)) +- [#5983](https://github.com/directus/directus/pull/5983) Bump @typescript-eslint/parser from 4.23.0 to 4.26.0 + ([@dependabot[bot]](https://github.com/apps/dependabot)) +- [#5982](https://github.com/directus/directus/pull/5982) Bump fs-extra from 9.1.0 to 10.0.0 + ([@dependabot[bot]](https://github.com/apps/dependabot)) + +## 9.0.0-rc.70 (June 1, 2021) ### :sparkles: New Features @@ -23,7 +64,9 @@ - [`02089a6`](https://github.com/directus/directus/commit/02089a6227575a340bbf5b926cf9717a89941138) set the default TTL for cache to a more reasonable 10 minutes (from 30) ([@rijkvanzanten](https://github.com/rijkvanzanten)) - **App** - - [`4277de0`](https://github.com/directus/directus/commit/4277de088988a65f9ea4ea18a4121488a24a8e87) set the default value for boolean filters to `true`, preventing confusion around the state of the toggle in advanced filters ([@rijkvanzanten](https://github.com/rijkvanzanten)) + - [`4277de0`](https://github.com/directus/directus/commit/4277de088988a65f9ea4ea18a4121488a24a8e87) set the default + value for boolean filters to `true`, preventing confusion around the state of the toggle in advanced filters + ([@rijkvanzanten](https://github.com/rijkvanzanten)) - [`a5cba0d`](https://github.com/directus/directus/commit/a5cba0dc7e3a1566095deb58d10297f3b7bbe9bd) prevent unusable collections from being selected in the relational setup ([@rijkvanzanten](https://github.com/rijkvanzanten)) - [`4beccb6`](https://github.com/directus/directus/commit/4beccb6a8a9e33d0ae0e47333bfacd60741a91bc) don't allow using @@ -54,7 +97,9 @@ - **App** - [#5810](https://github.com/directus/directus/pull/) fixed custom fields on system collections not aligning to the configured sort order ([@rijkvanzanten5810](https://github.com/rijkvanzanten5810)) - - [`158316f`](https://github.com/directus/directus/commit/158316f86318e83de5d5e6e203306a5603458c6d) fixed a small issue that would prevent the advanced filter field selection from allowing multiple nested fields from being opened ([@rijkvanzanten](https://github.com/rijkvanzanten)) + - [`158316f`](https://github.com/directus/directus/commit/158316f86318e83de5d5e6e203306a5603458c6d) fixed a small + issue that would prevent the advanced filter field selection from allowing multiple nested fields from being opened + ([@rijkvanzanten](https://github.com/rijkvanzanten)) - [`246c552`](https://github.com/directus/directus/commit/246c55266b78ae063408dbc1b04d1797bd85e476) fixed an issue that would require non-null fields to be submitted in every GraphQL mutation ([@rijkvanzanten](https://github.com/rijkvanzanten)) @@ -63,13 +108,19 @@ - [`b782eba`](https://github.com/directus/directus/commit/b782eba859d0a91d08dfd39ab41e6952db0c94b7) fixed an issue that would make custom field translations disappear when reordering the fields in settings ([@rijkvanzanten](https://github.com/rijkvanzanten)) - - [`bd6cab8`](https://github.com/directus/directus/commit/bd6cab8989ea8a8af3b0848c51ee9b3fae289ab3) fixed an issue that would cause the relational setup to auto generate an invalid name when making a recursive many-to-many field ([@rijkvanzanten](https://github.com/rijkvanzanten)) + - [`bd6cab8`](https://github.com/directus/directus/commit/bd6cab8989ea8a8af3b0848c51ee9b3fae289ab3) fixed an issue + that would cause the relational setup to auto generate an invalid name when making a recursive many-to-many field + ([@rijkvanzanten](https://github.com/rijkvanzanten)) - [`8590eec`](https://github.com/directus/directus/commit/8590eec662364ce8c865b529394f271b8b46a1c7) fix collection search when using custom nav override structure ([@Oreilles](https://github.com/Oreilles)) - - [`dee8160`](https://github.com/directus/directus/commit/dee8160f184af4f041580d76ce88da5dc3eb0d12) fixed an issue where dragging an event in the calendar layout could save with the wrong timezone when using a datetime field ([@rijkvanzanten](https://github.com/rijkvanzanten)) + - [`dee8160`](https://github.com/directus/directus/commit/dee8160f184af4f041580d76ce88da5dc3eb0d12) fixed an issue + where dragging an event in the calendar layout could save with the wrong timezone when using a datetime field + ([@rijkvanzanten](https://github.com/rijkvanzanten)) - [`374e6e5`](https://github.com/directus/directus/commit/374e6e5a7dd3d752a25c352df7ce5f661a5b15c1) don't let v-error messages overflow the bounding box of the dialog ([@rijkvanzanten](https://github.com/rijkvanzanten)) - - [`2660c39`](https://github.com/directus/directus/commit/2660c3995426dd3d8d36a8022893cddcd27ed53f) fixed an issue that would prevent the user from continuing in field setup when using an existing junction table for a many-to-many relationship ([@rijkvanzanten](https://github.com/rijkvanzanten)) + - [`2660c39`](https://github.com/directus/directus/commit/2660c3995426dd3d8d36a8022893cddcd27ed53f) fixed an issue + that would prevent the user from continuing in field setup when using an existing junction table for a many-to-many + relationship ([@rijkvanzanten](https://github.com/rijkvanzanten)) - [`de0b962`](https://github.com/directus/directus/commit/de0b9627365b392d4af0589a52b122cf0b5ec927) fixed the highlight color of a selected folder in the move-folder dialog ([@rijkvanzanten](https://github.com/rijkvanzanten)) - **drive-azure** From 9cf25675988afc2bd4a0c65fab79afd3516537f0 Mon Sep 17 00:00:00 2001 From: Rijk van Zanten Date: Wed, 2 Jun 2021 13:38:34 -0400 Subject: [PATCH 28/83] New Crowdin updates (#5981) * New translations en-US.yaml (Estonian) * New translations en-US.yaml (Serbian (Latin)) * New translations en-US.yaml (Serbian (Latin)) * New translations en-US.yaml (Serbian (Latin)) * New translations en-US.yaml (Serbian (Latin)) --- app/src/lang/translations/et-EE.yaml | 2 +- app/src/lang/translations/sr-CS.yaml | 105 +++++++++++++++++++++++++++ 2 files changed, 106 insertions(+), 1 deletion(-) diff --git a/app/src/lang/translations/et-EE.yaml b/app/src/lang/translations/et-EE.yaml index f251dc6ead..35ccc772cc 100644 --- a/app/src/lang/translations/et-EE.yaml +++ b/app/src/lang/translations/et-EE.yaml @@ -1152,7 +1152,7 @@ layouts: spacing: Vahed comfortable: Mugav compact: Kompaktne - cozy: Kodune + cozy: Tavaline calendar: calendar: Kalender start_date_field: Alguse kuupäev diff --git a/app/src/lang/translations/sr-CS.yaml b/app/src/lang/translations/sr-CS.yaml index ed97d539c0..fe0a2149d0 100644 --- a/app/src/lang/translations/sr-CS.yaml +++ b/app/src/lang/translations/sr-CS.yaml @@ -1 +1,106 @@ --- +edit_field: Izmijeni +item_revision: Revizija stavke +duplicate_field: Dupliraj +half_width: Pola širine +full_width: Puna širina +fill_width: Popunjeno +enter_password_to_enable_tfa: Unesite vašu lozinku kako biste uključili dvostruku potvrdu autentičnosti +add_field: Dodaj polje +role_name: Naziv uloge +db_only_click_to_configure: 'Samo za bazu podataka: Kliknite za Podešavanje ' +show_archived_items: Prikaži arhivirane stavke +edited: Vrijednost izmijenjena +required: Obavezno +required_for_app_access: Obavezno za pristup aplikaciji +requires_value: Zahtijeva vrijednost +create_role: Napravi ulogu +create_user: Napravi korisnika +invite_users: Pozovi korisnike +invite: Pozovi +email_already_invited: Na ovu "{email}" adresu je već poslat poziv +emails: Email adrese +connection_excellent: Odlična konekcija +connection_good: Dobra konekcija +connection_fair: Solidna konekcija +connection_poor: Loša konekcija +primary: Primarni +rename_folder: Preimenuj Fasciklu +delete_folder: Obriši Fasciklu +prefix: Prefiks +suffix: Sufiks +reset_bookmark: Poništi postavljanje oznake +rename_bookmark: Preimenuj oznaku +update_bookmark: Ažuriraj oznaku +delete_bookmark: Obriši oznaku +delete_bookmark_copy: >- + Da li ste sigurni da želite da obrišete "{bookmark}" oznaku? Ova operacija je trajna. +logoutReason: + SIGN_OUT: Odjavljen + SESSION_EXPIRED: Sesija je istekla +public: Javno +public_description: Kontroliše koji podaci sa API su dostupni bez potrebe za provjerom autentičnosti korisnika. +not_allowed: Nije dozvoljeno +directus_version: Directus verzija +field_permissions: Dozvole kolona +delete_field: Obriši Kolonu +fields_and_layout: Kolone i Izgled +field_create_success: 'Kreirana Kolona: "{field}"' +field_update_success: 'Ažurirana Kolona: "{field}"' +duplicate_where_to: U koju tabelu želite da smjestite ovu dupliranu kolonu? +language: Jezik +admins_have_all_permissions: Administratori imaju sve dozvole +camera: Kamera +exposure: Ekspozicija +shutter: Okidač +iso: ISO +create_field: Napravi Kolonu +creating_new_field: 'Nova Kolona ({collection})' +hidden_field: Sakrivena Kolona +key: Ključ +create_translations: Kreiraj Prevode +auto_refresh: Automatsko osvjеžavanjе +click_here: Klikni ovdje +fields_group: Grupe Kolona +no_collections_found: Tabele nisu pronađene. +search_collection: Pretraži Tabelu... +new_field: 'Nova Kolona' +new_collection: 'Nova Tabela' +reset_to_default: Vrati na podrazumijevano +undo_changes: Poništi izmjene +notifications: Obavještenja +show_all_activity: Prikaži svu aktivnost +page_not_found: Stranica nijе pronađеna +page_not_found_body: Stranica koju tražite nije moguće pronaći. +title: Naslov +revision_delta_created: Kreiran +revision_delta_deleted: Obrisano +submit: Pošalji +move_to_folder: Prebaci u fasciklu +move: Premjesti +system: Sistem +today: Danas +yesterday: Juče +delete_comment: Obriši komentar +created: Kreiran +report_bug: Prijavi Propust +settings_project: Podešavanje Projekta +fields: + directus_files: + title: Naslov + directus_users: + title: Naslov + language: Jezik + directus_settings: + project_name: Ime Projekta + project_color: Boja Projekta + project_logo: Logotip Projekta + public_note: Opis Projekta + directus_roles: + name: Naziv uloge +interfaces: + presentation-links: + primary: Primarni +layouts: + cards: + title: Naslov From 5e796020319e7a830f6aab54676003a2b1dd6111 Mon Sep 17 00:00:00 2001 From: Rijk van Zanten Date: Wed, 2 Jun 2021 18:18:48 -0400 Subject: [PATCH 29/83] New Crowdin updates (#6011) * New translations en-US.yaml (Spanish) * New translations en-US.yaml (Spanish) * New translations en-US.yaml (Spanish) --- app/src/lang/translations/es-ES.yaml | 79 ++++++++++++++++++++++++++++ 1 file changed, 79 insertions(+) diff --git a/app/src/lang/translations/es-ES.yaml b/app/src/lang/translations/es-ES.yaml index 9d710d00e2..778fb7389d 100644 --- a/app/src/lang/translations/es-ES.yaml +++ b/app/src/lang/translations/es-ES.yaml @@ -22,6 +22,7 @@ create_webhook: Crear Webhook invite_users: Invitar Usuarios email_examples: 'admin@example.com, user@example.com...' invite: Invitar +email_already_invited: El correo electrónico "{email}" ya ha sido invitado emails: Correos Electrónicos connection_excellent: Excelente Conexión connection_good: Buena Conexión @@ -81,9 +82,13 @@ validationError: nnull: El valor no puede ser nulo required: El valor es requerido unique: El Valor tiene que ser único + regex: El valor no tiene el formato correcto all_access: Todos los accesos no_access: Sin Acceso use_custom: Personalizar +nullable: Acepta valores nulos +allow_null_value: Permitir valor NULL +enter_value_to_replace_nulls: Por favor, introduzca un nuevo valor para reemplazar cualquier valor NULO actualmente dentro de este campo. field_standard: Estándar field_presentation: Presentación y Alias field_file: Un Archivo @@ -138,6 +143,7 @@ decimal: Decimal float: Número Flotante integer: Número Entero json: JSON +xml: XML string: Cadena de Texto text: Texto time: Hora @@ -160,6 +166,7 @@ click_to_manage_translated_fields: >- fields_group: Grupo de Campos no_collections_found: No se encontraron colecciones. new_data_alert: 'Los siguientes se crearán dentro de su Modelo de Datos:' +search_collection: Buscar colección... new_field: 'Nuevo Campo' new_collection: 'Colección Nueva' add_m2o_to_collection: 'Agregar Muchos-A-Uno a "{collection}"' @@ -226,6 +233,7 @@ item_delete_success: Elemento Eliminado | Elementos Eliminados this_collection: Esta Colección related_collection: Colección Relacionada related_collections: Colecciones Relacionadas +translations_collection: Traducción de Colección languages_collection: Colección de Idiomas export_data: Exportar Datos format: Formato @@ -312,6 +320,10 @@ save_and_create_new: Guardar y Crear Nuevo save_and_stay: Guardar y Permanecer save_as_copy: Guardar como Copia add_existing: Agregar Existente +creating_items: Creando elementos +enable_create_button: Habilitar el botón Crear +selecting_items: Seleccionando elementos +enable_select_button: Habilitar el botón Seleccionar comments: Comentarios no_comments: Aún Sin Comentarios click_to_expand: Haga Clic para Expandir @@ -326,6 +338,7 @@ interface_not_found: 'Interfaz "{interface}" no encontrada.' reset_interface: Restablecer Interfaz display_not_found: 'Presentación "{display}" no encontrada.' reset_display: Restablecer Presentación +list-m2a: Constructor (M2A) item_count: 'Sin Elementos | Un Elemento | {count} Elementos' no_items_copy: Aún no hay Elementos en esta colección. file_count: 'Sin Archivos | Un Archivo | {count} Archivos' @@ -392,6 +405,8 @@ errors: ITEM_NOT_FOUND: Elemento no encontrado ROUTE_NOT_FOUND: No encontrado RECORD_NOT_UNIQUE: Se ha detectado un valor duplicado + USER_SUSPENDED: Usuario Suspendido + CONTAINS_NULL_VALUES: El campo contiene valores nulos UNKNOWN: Error Inesperado INTERNAL_SERVER_ERROR: Error Inesperado value_hashed: Valor Hasheado de Manera Segura @@ -469,6 +484,8 @@ operators: has: Contiene alguna de estas llaves loading: Cargando... drop_to_upload: Arrastrar para Subir +item: Elemento +items: Elementos upload_file: Subir Archivo upload_file_indeterminate: Subiendo Archivo... upload_file_success: Archivo Subido @@ -486,6 +503,8 @@ value_unique: El Valor tiene que ser único all_activity: Toda la Actividad create_item: Crear Elemento display_template: Plantilla de Presentación +language_display_template: Plantilla de visualización de idioma +translations_display_template: Plantilla de visualización de traducciones n_items_selected: 'No hay Elementos Seleccionados | 1 Elemento Seleccionado | {n} Elementos Seleccionados' per_page: Por Página all_files: Todos los Archivos @@ -516,8 +535,21 @@ toggle: Alternar icon_on: Icono Activado icon_off: Icono Desactivado label: Etiqueta +image_url: Url de la imagen +alt_text: Texto Alternativo +media: Medios width: Ancho height: Alto +source: Fuente +url_placeholder: Introduzca una url... +display_text: Mostrar texto +display_text_placeholder: Introduzca un texto de visualización... +tooltip: Sugerencia +tooltip_placeholder: Introduzca una sugerencia... +unlimited: Ilimitado +open_link_in: Abrir enlace en +new_tab: Nueva pestaña +current_tab: Pestaña actual wysiwyg_options: aligncenter: Alinear al Centro alignjustify: Alinear Justificado @@ -537,7 +569,10 @@ wysiwyg_options: bullist: Lista con viñetas numlist: Lista Numerada hr: Regla Horizontal + link: Añadir/Editar enlace unlink: Remover Enlace + media: Añadir/Editar medios + image: Añadir/Editar Imagen copy: Copiar cut: Cortar paste: Pegar @@ -559,6 +594,7 @@ wysiwyg_options: selectall: Seleccionar Todo table: Tabla visualaid: Ver elementos invisibles + source_code: Editar código fuente fullscreen: Pantalla Completa directionality: Direccionalidad dropdown: Lista Desplegable @@ -571,6 +607,8 @@ adding_user: Agregando Usuario unknown_user: Usuario Desconocido creating_in: 'Creando Elemento en {collection}' editing_in: 'Editando Elemento en {collection}' +creating_unit: 'Creando {unit}' +editing_unit: 'Editando {unit}' editing_in_batch: 'Editando {count} Elementos por lote' no_options_available: Sin opciones disponibles settings_data_model: Modelo de Datos @@ -578,10 +616,13 @@ settings_permissions: Roles y Permisos settings_project: Configuración del Proyecto settings_webhooks: Webhooks settings_presets: Predefinidos y Marcadores +one_or_more_options_are_missing: Falta una o más opciones scope: Alcance +select: Seleccionar... layout: Diseño tree_view: Vista en árbol changes_are_permanent: Los cambios son permanentes +preset_name_placeholder: Valor predeterminado cuando está vacío... preset_search_placeholder: Consulta de búsqueda... editing_preset: Editar Predefinido layout_preview: Vista Previa de Diseño @@ -651,11 +692,14 @@ fields: display_template: Plantilla de Presentación hidden: Oculto singleton: Singleton + translations: Traducciones para Nombre de Colección archive_app_filter: Archivar filtros de App archive_value: Archivar valor unarchive_value: Desarchivar valor sort_field: Campo Ordenamiento + accountability: Actividad y seguimiento de revisión directus_files: + $thumbnail: Miniatura title: Título description: Descripción tags: Etiquetas @@ -728,6 +772,11 @@ fields: users: Usuarios en el Rol module_list: Navegación en Módulo collection_list: Navegación en Colección +field_options: + directus_collections: + track_activity_revisions: Rastrear actividad y revisiones + only_track_activity: Sólo seguimiento de actividad + do_not_track_anything: No realizar seguimiento no_fields_in_collection: 'Aún no hay campos en "{collection}"' do_nothing: No hacer nada generate_and_save_uuid: Generar y Guardar UUID @@ -737,6 +786,13 @@ save_current_datetime: Guardar Fecha y Hora Actual block: Bloque inline: Alineado comment: Comentar +relational_triggers: Disparadores Relacionales +referential_action_field_label_m2o: Al eliminar {collection}... +referential_action_field_label_o2m: Al deseleccionar {collection}... +referential_action_no_action: Evitar la eliminación +referential_action_set_null: Anular el campo {field} +referential_action_set_default: Establecer {field} a su valor predeterminado +choose_action: Elegir acción continue: Continuar continue_as: >- Actualmente {name} ha iniciado sesión. Si reconoce esta cuenta, presione continuar. @@ -801,9 +857,25 @@ view_project: Ver Proyecto report_error: Reportar Error interfaces: presentation-links: + presentation-links: Botón de enlace + links: Enlaces + description: Botones de enlace configurables para abrir URLs dinámicas + style: Estilo primary: Principal + link: Enlaces + button: Botones + error: No se puede realizar la acción + select-multiple-checkbox: + checkboxes: Casillas de selección + description: Elegir entre múltiples opciones a través de casillas de selección + allow_other: Permitir otro + show_more: 'Mostrar {count} más' + items_shown: Elementos Mostrados input-code: code: Código + description: Escribir o compartir fragmentos de código + line_number: Número de línea + placeholder: Ingrese el código aquí... collection: collection: Colección description: Seleccionar entre colecciones existentes @@ -814,6 +886,11 @@ interfaces: include_system_collections: Incluir Colecciones del Sistema select-color: color: Color + description: Introduzca o seleccione un valor de color + placeholder: Seleccione un color... + preset_colors: Colores preestablecidos + preset_colors_add_label: Añadir nuevo color... + name_placeholder: Introduce el nombre del color... datetime: datetime: Fecha/hora description: Ingrese fechas y horas @@ -822,11 +899,13 @@ interfaces: use_24: Usar Formato 24 horas system-display-template: display-template: Plantilla de Presentación + description: Combinar texto estático y valores de campos dinámicos collection_field_not_setup: La opción del campo de colección está mal configurada select_a_collection: Seleccionar una Colección presentation-divider: divider: Separador select-dropdown: + allow_other: Permitir otro choices_value_placeholder: Ingrese un valor... file: file: Archivo From 8d5be5c607d06fc9e2a529cc133ca13e9bd700e9 Mon Sep 17 00:00:00 2001 From: Ben Haynes Date: Thu, 3 Jun 2021 10:08:58 -0400 Subject: [PATCH 30/83] Updated docs intro --- docs/getting-started/introduction.md | 33 ++++++++++++++++++++++++---- 1 file changed, 29 insertions(+), 4 deletions(-) diff --git a/docs/getting-started/introduction.md b/docs/getting-started/introduction.md index 7a91a26a08..ef3a1be843 100644 --- a/docs/getting-started/introduction.md +++ b/docs/getting-started/introduction.md @@ -28,16 +28,41 @@ lines_. The broadest goal of our platform is to present data in a simple, orderl ::: -## What makes it unique? +## Database Mirroring -**Directus dynamically generates custom API endpoints based on your SQL database's schema in real-time — something we -call "Database Mirroring".** Whether you install fresh or on top of an existing database, you always maintain end-to-end -control over your actual database, including: tables, columns, datatypes, default values, indexes, relationships, etc. +**What makes Directus so unique is that it dynamically generates custom API endpoints based on your SQL database's schema in real-time — something we +call "[Database Mirroring](/concepts/databases/#database-mirroring)".** Whether you install fresh or on top of an existing database, you always maintain end-to-end control over your actual database, including: tables, columns, datatypes, default values, indexes, relationships, etc. + +Below is an overview to how Directus mirrors the database, and our non-technical naming convention. + +* **[Project](/concepts/projects/)** — A Database (also includes asset storage and the config file) +* **[Collection](/concepts/collections/)** — A Database Table +* **[Fields](/concepts/fields/)** — A Database Column +* **[Item](/concepts/items/)** — A Database Record/Row +* **[Relationships](/concepts/relationships/)** — A Database Relationship, including additional non-standard types +* **[Type](/concepts/types/)** — A Database Data Type, including additional non-standard types +* **[Users](/concepts/users/)** — A Directus User (App or API), not to be confused with a Database User Perhaps one of the biggest advantages of _Database Mirroring_ is that you have direct access to your pure and unaltered data. That means you have the option to bypass the Directus middleware (API, SDK, App) and connect to your data with proper SQL queries. This effectively removes all bottlenecks, latency overhead, and proprietary access limitations. +## Modular & Extensible + +What makes Directus so flexible is that it has been designed from the ground up with complete extensibility, helping avoid a feature ceiling. In addition to offering our software's codebase as open-source, we've included the following extension types in the platform's App and API. + +* **[Modules](/concepts/modules/)** — (App) The highest and broadest level of organization within the App +* **[Layouts](/concepts/layouts/)** — (App) How you browse, view or interact with a set of Items in a Collection +* **[Interfaces](/concepts/interfaces/)** — (App) How you view or interact with a field and its value +* **[Displays](/concepts/displays/)** — (App) A small inline preview of a field's value +* **[Panes](#)** — (App) A way to view dashboard data within the Insights Module +* **[Styles](/guides/styles/)** — (App) Whitelabeling through App Themes and CSS Overrides +* **[Endpoints](/guides/api-endpoints/)** — (API) Custom registered API endpoints +* **[Hooks](/guides/api-hooks/)** — (API) Event and interval hooks for triggering custom logic +* **[Email Templates](/guides/email-templates/)** — (API) Custom structure and formatting for emails + +## Core Principles + Directus is a simple solution for complex problems, with a data-first approach guided by the following core principles: - **Pure** — There is no predefined model or proprietary rules for your schema, and all system settings are stored From f5caa91da1cf6158e3d269c4fb1680fd6805c330 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 3 Jun 2021 10:58:09 -0400 Subject: [PATCH 31/83] Bump @google-cloud/storage from 5.8.4 to 5.8.5 (#6019) Bumps [@google-cloud/storage](https://github.com/googleapis/nodejs-storage) from 5.8.4 to 5.8.5. - [Release notes](https://github.com/googleapis/nodejs-storage/releases) - [Changelog](https://github.com/googleapis/nodejs-storage/blob/master/CHANGELOG.md) - [Commits](https://github.com/googleapis/nodejs-storage/compare/v5.8.4...v5.8.5) --- updated-dependencies: - dependency-name: "@google-cloud/storage" dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package-lock.json | 145 +++++++++++++------------------- packages/drive-gcs/package.json | 2 +- 2 files changed, 61 insertions(+), 86 deletions(-) diff --git a/package-lock.json b/package-lock.json index 835503ad02..06c3576034 100644 --- a/package-lock.json +++ b/package-lock.json @@ -54,17 +54,17 @@ }, "api": { "name": "directus", - "version": "9.0.0-rc.70", + "version": "9.0.0-rc.71", "license": "GPL-3.0-only", "dependencies": { - "@directus/app": "9.0.0-rc.70", - "@directus/drive": "9.0.0-rc.70", - "@directus/drive-azure": "9.0.0-rc.70", - "@directus/drive-gcs": "9.0.0-rc.70", - "@directus/drive-s3": "9.0.0-rc.70", - "@directus/format-title": "9.0.0-rc.70", - "@directus/schema": "9.0.0-rc.70", - "@directus/specs": "9.0.0-rc.70", + "@directus/app": "9.0.0-rc.71", + "@directus/drive": "9.0.0-rc.71", + "@directus/drive-azure": "9.0.0-rc.71", + "@directus/drive-gcs": "9.0.0-rc.71", + "@directus/drive-s3": "9.0.0-rc.71", + "@directus/format-title": "9.0.0-rc.71", + "@directus/schema": "9.0.0-rc.71", + "@directus/specs": "9.0.0-rc.71", "@godaddy/terminus": "^4.7.2", "argon2": "^0.27.0", "async": "^3.2.0", @@ -325,10 +325,10 @@ }, "app": { "name": "@directus/app", - "version": "9.0.0-rc.70", + "version": "9.0.0-rc.71", "devDependencies": { - "@directus/docs": "9.0.0-rc.70", - "@directus/format-title": "9.0.0-rc.70", + "@directus/docs": "9.0.0-rc.71", + "@directus/format-title": "9.0.0-rc.71", "@fullcalendar/core": "^5.7.0", "@fullcalendar/daygrid": "^5.7.0", "@fullcalendar/interaction": "^5.7.0", @@ -462,7 +462,7 @@ }, "docs": { "name": "@directus/docs", - "version": "9.0.0-rc.70", + "version": "9.0.0-rc.71", "license": "ISC", "devDependencies": { "directory-tree": "^2.2.9", @@ -2798,9 +2798,9 @@ } }, "node_modules/@google-cloud/storage": { - "version": "5.8.4", - "resolved": "https://registry.npmjs.org/@google-cloud/storage/-/storage-5.8.4.tgz", - "integrity": "sha512-jtEQZ0k6EkoQEkMpisjdEFOGqQiE9rRmJo6lhfLnGVfkV5dGg1BS70wEJ8jGm3AwxOwU86bYIMHkwtAGktbAfQ==", + "version": "5.8.5", + "resolved": "https://registry.npmjs.org/@google-cloud/storage/-/storage-5.8.5.tgz", + "integrity": "sha512-i0gB9CRwQeOBYP7xuvn14M40LhHCwMjceBjxE4CTvsqL519sVY5yVKxLiAedHWGwUZHJNRa7Q2CmNfkdRwVNPg==", "dependencies": { "@google-cloud/common": "^3.6.0", "@google-cloud/paginator": "^3.0.0", @@ -2812,7 +2812,7 @@ "duplexify": "^4.0.0", "extend": "^3.0.2", "gaxios": "^4.0.0", - "gcs-resumable-upload": "^3.1.3", + "gcs-resumable-upload": "^3.1.4", "get-stream": "^6.0.0", "hash-stream-validation": "^0.2.2", "mime": "^2.2.0", @@ -13076,7 +13076,6 @@ "version": "0.0.9", "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz", "integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=", - "dev": true, "optional": true, "dependencies": { "inherits": "~2.0.0" @@ -21175,7 +21174,6 @@ "version": "1.0.12", "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.12.tgz", "integrity": "sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg==", - "dev": true, "optional": true, "dependencies": { "graceful-fs": "^4.1.2", @@ -21191,7 +21189,6 @@ "version": "0.5.5", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", - "dev": true, "optional": true, "dependencies": { "minimist": "^1.2.5" @@ -21204,7 +21201,6 @@ "version": "2.7.1", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dev": true, "optional": true, "dependencies": { "glob": "^7.1.3" @@ -23678,9 +23674,9 @@ } }, "node_modules/gcs-resumable-upload": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/gcs-resumable-upload/-/gcs-resumable-upload-3.1.3.tgz", - "integrity": "sha512-LjVrv6YVH0XqBr/iBW0JgRA1ndxhK6zfEFFJR4im51QVTj/4sInOXimY2evDZuSZ75D3bHxTaQAdXRukMc1y+w==", + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/gcs-resumable-upload/-/gcs-resumable-upload-3.1.4.tgz", + "integrity": "sha512-5dyDfHrrVcIskiw/cPssVD4HRiwoHjhk1Nd6h5W3pQ/qffDvhfy4oNCr1f3ZXFPwTnxkCbibsB+73oOM+NvmJQ==", "dependencies": { "abort-controller": "^3.0.0", "configstore": "^5.0.0", @@ -41967,7 +41963,6 @@ "version": "0.5.5", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", - "dev": true, "optional": true, "dependencies": { "minimist": "^1.2.5" @@ -41980,7 +41975,6 @@ "version": "3.8.0", "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-3.8.0.tgz", "integrity": "sha512-3g8lYefrRRzvGeSowdJKAKyks8oUpLEd/DyPV4eMhVlhJ0aNaZqIrNUIPuEWWTAoPqyFkfGrM67MC69baqn6vA==", - "dev": true, "optional": true, "dependencies": { "fstream": "^1.0.0", @@ -42007,7 +42001,6 @@ "version": "3.0.6", "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", - "dev": true, "optional": true, "dependencies": { "abbrev": "1" @@ -42020,7 +42013,6 @@ "version": "2.7.1", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dev": true, "optional": true, "dependencies": { "glob": "^7.1.3" @@ -42033,7 +42025,6 @@ "version": "5.3.0", "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz", "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=", - "dev": true, "optional": true, "bin": { "semver": "bin/semver" @@ -42043,7 +42034,6 @@ "version": "2.2.2", "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.2.tgz", "integrity": "sha512-FCEhQ/4rE1zYv9rYXJw/msRqsnmlje5jHP6huWeBZ704jUTy02c5AZyWujpMR1ax6mVw9NyJMfuK2CMDWVIfgA==", - "dev": true, "optional": true, "dependencies": { "block-stream": "*", @@ -42055,7 +42045,6 @@ "version": "1.3.1", "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dev": true, "optional": true, "dependencies": { "isexe": "^2.0.0" @@ -50765,11 +50754,11 @@ }, "packages/cli": { "name": "@directus/cli", - "version": "9.0.0-rc.70", + "version": "9.0.0-rc.71", "license": "MIT", "dependencies": { - "@directus/format-title": "9.0.0-rc.70", - "@directus/sdk": "9.0.0-rc.70", + "@directus/format-title": "9.0.0-rc.71", + "@directus/sdk": "9.0.0-rc.71", "@types/yargs": "^16.0.1", "app-module-path": "^2.2.0", "chalk": "^4.1.0", @@ -50992,7 +50981,7 @@ } }, "packages/create-directus-project": { - "version": "9.0.0-rc.70", + "version": "9.0.0-rc.71", "license": "GPL-3.0-only", "dependencies": { "chalk": "^4.1.1", @@ -51061,7 +51050,7 @@ }, "packages/drive": { "name": "@directus/drive", - "version": "9.0.0-rc.70", + "version": "9.0.0-rc.71", "license": "MIT", "dependencies": { "fs-extra": "^10.0.0", @@ -51080,11 +51069,11 @@ }, "packages/drive-azure": { "name": "@directus/drive-azure", - "version": "9.0.0-rc.70", + "version": "9.0.0-rc.71", "license": "MIT", "dependencies": { "@azure/storage-blob": "^12.2.1", - "@directus/drive": "9.0.0-rc.70", + "@directus/drive": "9.0.0-rc.71", "normalize-path": "^3.0.0" }, "devDependencies": { @@ -51125,11 +51114,11 @@ }, "packages/drive-gcs": { "name": "@directus/drive-gcs", - "version": "9.0.0-rc.70", + "version": "9.0.0-rc.71", "license": "MIT", "dependencies": { - "@directus/drive": "9.0.0-rc.70", - "@google-cloud/storage": "^5.8.4", + "@directus/drive": "9.0.0-rc.71", + "@google-cloud/storage": "^5.8.5", "normalize-path": "^3.0.0" }, "devDependencies": { @@ -51156,10 +51145,10 @@ }, "packages/drive-s3": { "name": "@directus/drive-s3", - "version": "9.0.0-rc.70", + "version": "9.0.0-rc.71", "license": "MIT", "dependencies": { - "@directus/drive": "9.0.0-rc.70", + "@directus/drive": "9.0.0-rc.71", "aws-sdk": "^2.911.0", "normalize-path": "^3.0.0" }, @@ -51224,7 +51213,7 @@ }, "packages/format-title": { "name": "@directus/format-title", - "version": "9.0.0-rc.70", + "version": "9.0.0-rc.71", "license": "MIT", "devDependencies": { "@rollup/plugin-commonjs": "^19.0.0", @@ -51243,7 +51232,7 @@ }, "packages/gatsby-source-directus": { "name": "@directus/gatsby-source-directus", - "version": "9.0.0-rc.70", + "version": "9.0.0-rc.71", "license": "MIT", "dependencies": { "@directus/sdk-js": "^9.0.0-rc.53", @@ -53898,7 +53887,7 @@ }, "packages/schema": { "name": "@directus/schema", - "version": "9.0.0-rc.70", + "version": "9.0.0-rc.71", "license": "GPL-3.0", "dependencies": { "knex-schema-inspector": "^1.3.0", @@ -53911,7 +53900,7 @@ }, "packages/sdk": { "name": "@directus/sdk", - "version": "9.0.0-rc.70", + "version": "9.0.0-rc.71", "license": "MIT", "dependencies": { "axios": "^0.21.1" @@ -54139,7 +54128,7 @@ }, "packages/specs": { "name": "@directus/specs", - "version": "9.0.0-rc.70", + "version": "9.0.0-rc.71", "license": "GPL-3.0", "dependencies": { "openapi3-ts": "^2.0.1" @@ -55770,8 +55759,8 @@ "@directus/app": { "version": "file:app", "requires": { - "@directus/docs": "9.0.0-rc.70", - "@directus/format-title": "9.0.0-rc.70", + "@directus/docs": "9.0.0-rc.71", + "@directus/format-title": "9.0.0-rc.71", "@fullcalendar/core": "^5.7.0", "@fullcalendar/daygrid": "^5.7.0", "@fullcalendar/interaction": "^5.7.0", @@ -55883,8 +55872,8 @@ "@directus/cli": { "version": "file:packages/cli", "requires": { - "@directus/format-title": "9.0.0-rc.70", - "@directus/sdk": "9.0.0-rc.70", + "@directus/format-title": "9.0.0-rc.71", + "@directus/sdk": "9.0.0-rc.71", "@types/figlet": "^1.5.0", "@types/fs-extra": "^9.0.11", "@types/jest": "^26.0.23", @@ -56112,7 +56101,7 @@ "version": "file:packages/drive-azure", "requires": { "@azure/storage-blob": "^12.2.1", - "@directus/drive": "9.0.0-rc.70", + "@directus/drive": "9.0.0-rc.71", "@types/fs-extra": "^9.0.11", "@types/jest": "^26.0.22", "@types/node": "^15.6.0", @@ -56148,8 +56137,8 @@ "@directus/drive-gcs": { "version": "file:packages/drive-gcs", "requires": { - "@directus/drive": "9.0.0-rc.70", - "@google-cloud/storage": "^5.8.4", + "@directus/drive": "9.0.0-rc.71", + "@google-cloud/storage": "^5.8.5", "@lukeed/uuid": "^2.0.0", "@types/fs-extra": "^9.0.11", "@types/jest": "^26.0.22", @@ -56174,7 +56163,7 @@ "@directus/drive-s3": { "version": "file:packages/drive-s3", "requires": { - "@directus/drive": "9.0.0-rc.70", + "@directus/drive": "9.0.0-rc.71", "@lukeed/uuid": "^2.0.0", "@types/fs-extra": "^9.0.11", "@types/jest": "^26.0.22", @@ -58752,9 +58741,9 @@ "integrity": "sha512-d4VSA86eL/AFTe5xtyZX+ePUjE8dIFu2T8zmdeNBSa5/kNgXPCx/o/wbFNHAGLJdGnk1vddRuMESD9HbOC8irw==" }, "@google-cloud/storage": { - "version": "5.8.4", - "resolved": "https://registry.npmjs.org/@google-cloud/storage/-/storage-5.8.4.tgz", - "integrity": "sha512-jtEQZ0k6EkoQEkMpisjdEFOGqQiE9rRmJo6lhfLnGVfkV5dGg1BS70wEJ8jGm3AwxOwU86bYIMHkwtAGktbAfQ==", + "version": "5.8.5", + "resolved": "https://registry.npmjs.org/@google-cloud/storage/-/storage-5.8.5.tgz", + "integrity": "sha512-i0gB9CRwQeOBYP7xuvn14M40LhHCwMjceBjxE4CTvsqL519sVY5yVKxLiAedHWGwUZHJNRa7Q2CmNfkdRwVNPg==", "requires": { "@google-cloud/common": "^3.6.0", "@google-cloud/paginator": "^3.0.0", @@ -58766,7 +58755,7 @@ "duplexify": "^4.0.0", "extend": "^3.0.2", "gaxios": "^4.0.0", - "gcs-resumable-upload": "^3.1.3", + "gcs-resumable-upload": "^3.1.4", "get-stream": "^6.0.0", "hash-stream-validation": "^0.2.2", "mime": "^2.2.0", @@ -61073,7 +61062,6 @@ "resolved": "https://registry.npmjs.org/@oclif/command/-/command-1.8.0.tgz", "integrity": "sha512-5vwpq6kbvwkQwKqAoOU3L72GZ3Ta8RRrewKj9OJRolx28KLJJ8Dg9Rf7obRwt5jQA9bkYd8gqzMTrI7H3xLfaw==", "requires": { - "@oclif/config": "^1.15.1", "@oclif/errors": "^1.3.3", "@oclif/parser": "^3.8.3", "@oclif/plugin-help": "^3", @@ -63221,7 +63209,6 @@ "integrity": "sha512-pM7CR3yXB6L8Gfn6EmX7FLNE3+V/15I3o33GkSNsWvgsMp6HVGXKkXgojrcfUUauyL1LZOdvTmu4enU2RePGHw==", "dev": true, "requires": { - "@babel/core": "^7.11.0", "@babel/helper-compilation-targets": "^7.9.6", "@babel/helper-module-imports": "^7.8.3", "@babel/plugin-proposal-class-properties": "^7.8.3", @@ -63234,7 +63221,6 @@ "@vue/babel-plugin-jsx": "^1.0.3", "@vue/babel-preset-jsx": "^1.2.4", "babel-plugin-dynamic-import-node": "^2.3.3", - "core-js": "^3.6.5", "core-js-compat": "^3.6.5", "semver": "^6.1.0" }, @@ -67302,7 +67288,6 @@ "version": "0.0.9", "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz", "integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=", - "dev": true, "optional": true, "requires": { "inherits": "~2.0.0" @@ -70951,14 +70936,14 @@ "directus": { "version": "file:api", "requires": { - "@directus/app": "9.0.0-rc.70", - "@directus/drive": "9.0.0-rc.70", - "@directus/drive-azure": "9.0.0-rc.70", - "@directus/drive-gcs": "9.0.0-rc.70", - "@directus/drive-s3": "9.0.0-rc.70", - "@directus/format-title": "9.0.0-rc.70", - "@directus/schema": "9.0.0-rc.70", - "@directus/specs": "9.0.0-rc.70", + "@directus/app": "9.0.0-rc.71", + "@directus/drive": "9.0.0-rc.71", + "@directus/drive-azure": "9.0.0-rc.71", + "@directus/drive-gcs": "9.0.0-rc.71", + "@directus/drive-s3": "9.0.0-rc.71", + "@directus/format-title": "9.0.0-rc.71", + "@directus/schema": "9.0.0-rc.71", + "@directus/specs": "9.0.0-rc.71", "@godaddy/terminus": "^4.7.2", "@keyv/redis": "^2.1.2", "@types/async": "^3.2.6", @@ -74042,7 +74027,6 @@ "version": "1.0.12", "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.12.tgz", "integrity": "sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg==", - "dev": true, "optional": true, "requires": { "graceful-fs": "^4.1.2", @@ -74055,7 +74039,6 @@ "version": "0.5.5", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", - "dev": true, "optional": true, "requires": { "minimist": "^1.2.5" @@ -74065,7 +74048,6 @@ "version": "2.7.1", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dev": true, "optional": true, "requires": { "glob": "^7.1.3" @@ -76004,9 +75986,9 @@ } }, "gcs-resumable-upload": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/gcs-resumable-upload/-/gcs-resumable-upload-3.1.3.tgz", - "integrity": "sha512-LjVrv6YVH0XqBr/iBW0JgRA1ndxhK6zfEFFJR4im51QVTj/4sInOXimY2evDZuSZ75D3bHxTaQAdXRukMc1y+w==", + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/gcs-resumable-upload/-/gcs-resumable-upload-3.1.4.tgz", + "integrity": "sha512-5dyDfHrrVcIskiw/cPssVD4HRiwoHjhk1Nd6h5W3pQ/qffDvhfy4oNCr1f3ZXFPwTnxkCbibsB+73oOM+NvmJQ==", "requires": { "abort-controller": "^3.0.0", "configstore": "^5.0.0", @@ -90653,7 +90635,6 @@ "version": "0.5.5", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", - "dev": true, "optional": true, "requires": { "minimist": "^1.2.5" @@ -90663,7 +90644,6 @@ "version": "3.8.0", "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-3.8.0.tgz", "integrity": "sha512-3g8lYefrRRzvGeSowdJKAKyks8oUpLEd/DyPV4eMhVlhJ0aNaZqIrNUIPuEWWTAoPqyFkfGrM67MC69baqn6vA==", - "dev": true, "optional": true, "requires": { "fstream": "^1.0.0", @@ -90684,7 +90664,6 @@ "version": "3.0.6", "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", - "dev": true, "optional": true, "requires": { "abbrev": "1" @@ -90694,7 +90673,6 @@ "version": "2.7.1", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dev": true, "optional": true, "requires": { "glob": "^7.1.3" @@ -90704,14 +90682,12 @@ "version": "5.3.0", "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz", "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=", - "dev": true, "optional": true }, "tar": { "version": "2.2.2", "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.2.tgz", "integrity": "sha512-FCEhQ/4rE1zYv9rYXJw/msRqsnmlje5jHP6huWeBZ704jUTy02c5AZyWujpMR1ax6mVw9NyJMfuK2CMDWVIfgA==", - "dev": true, "optional": true, "requires": { "block-stream": "*", @@ -90723,7 +90699,6 @@ "version": "1.3.1", "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dev": true, "optional": true, "requires": { "isexe": "^2.0.0" diff --git a/packages/drive-gcs/package.json b/packages/drive-gcs/package.json index 35e0e1dc46..7d65e3125c 100644 --- a/packages/drive-gcs/package.json +++ b/packages/drive-gcs/package.json @@ -34,7 +34,7 @@ }, "dependencies": { "@directus/drive": "9.0.0-rc.71", - "@google-cloud/storage": "^5.8.4", + "@google-cloud/storage": "^5.8.5", "normalize-path": "^3.0.0" }, "devDependencies": { From f03b4e64de72c46e8714562b622cc2a8db2bd51a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 3 Jun 2021 11:07:03 -0400 Subject: [PATCH 32/83] Bump @types/node from 15.6.0 to 15.9.0 (#6018) * Bump @types/node from 15.6.0 to 15.9.0 Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 15.6.0 to 15.9.0. - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node) --- updated-dependencies: - dependency-name: "@types/node" dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] * Fix type issues Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: rijkvanzanten --- api/package.json | 5 ++- api/src/app.ts | 13 +++---- docs/getting-started/introduction.md | 42 ++++++++++++---------- package-lock.json | 52 +++++++++++++--------------- package.json | 2 +- packages/drive-azure/package.json | 2 +- packages/drive-gcs/package.json | 2 +- packages/drive-s3/package.json | 2 +- packages/drive/package.json | 2 +- 9 files changed, 62 insertions(+), 60 deletions(-) diff --git a/api/package.json b/api/package.json index ea413e27af..63be234d07 100644 --- a/api/package.json +++ b/api/package.json @@ -80,7 +80,6 @@ "async-mutex": "^0.3.1", "atob": "^2.1.2", "axios": "^0.21.0", - "body-parser": "^1.19.0", "busboy": "^0.3.1", "camelcase": "^6.2.0", "chalk": "^4.1.1", @@ -157,7 +156,7 @@ "@types/cookie-parser": "^1.4.2", "@types/cors": "^2.8.10", "@types/destroy": "^1.0.0", - "@types/express": "^4.17.11", + "@types/express": "^4.17.12", "@types/express-pino-logger": "^4.0.2", "@types/express-session": "^1.17.3", "@types/fs-extra": "^9.0.11", @@ -169,7 +168,7 @@ "@types/lodash": "^4.14.170", "@types/mime-types": "^2.1.0", "@types/ms": "^0.7.31", - "@types/node": "^15.6.0", + "@types/node": "^15.9.0", "@types/nodemailer": "^6.4.1", "@types/qs": "^6.9.6", "@types/sharp": "^0.28.1", diff --git a/api/src/app.ts b/api/src/app.ts index 7a4d0c4bbc..aa07e71e6e 100644 --- a/api/src/app.ts +++ b/api/src/app.ts @@ -1,6 +1,5 @@ -import bodyParser from 'body-parser'; import cookieParser from 'cookie-parser'; -import express from 'express'; +import express, { RequestHandler } from 'express'; import expressLogger from 'express-pino-logger'; import fse from 'fs-extra'; import path from 'path'; @@ -72,12 +71,14 @@ export default async function createApp(): Promise { await emitAsyncSafe('middlewares.init.before', { app }); - app.use(expressLogger({ logger })); + app.use(expressLogger({ logger }) as RequestHandler); app.use((req, res, next) => { - bodyParser.json({ - limit: env.MAX_PAYLOAD_SIZE, - })(req, res, (err) => { + ( + express.json({ + limit: env.MAX_PAYLOAD_SIZE, + }) as RequestHandler + )(req, res, (err: any) => { if (err) { return next(new InvalidPayloadException(err.message)); } diff --git a/docs/getting-started/introduction.md b/docs/getting-started/introduction.md index ef3a1be843..34397f3ffe 100644 --- a/docs/getting-started/introduction.md +++ b/docs/getting-started/introduction.md @@ -30,18 +30,20 @@ lines_. The broadest goal of our platform is to present data in a simple, orderl ## Database Mirroring -**What makes Directus so unique is that it dynamically generates custom API endpoints based on your SQL database's schema in real-time — something we -call "[Database Mirroring](/concepts/databases/#database-mirroring)".** Whether you install fresh or on top of an existing database, you always maintain end-to-end control over your actual database, including: tables, columns, datatypes, default values, indexes, relationships, etc. +**What makes Directus so unique is that it dynamically generates custom API endpoints based on your SQL database's +schema in real-time — something we call "[Database Mirroring](/concepts/databases/#database-mirroring)".** Whether you +install fresh or on top of an existing database, you always maintain end-to-end control over your actual database, +including: tables, columns, datatypes, default values, indexes, relationships, etc. Below is an overview to how Directus mirrors the database, and our non-technical naming convention. -* **[Project](/concepts/projects/)** — A Database (also includes asset storage and the config file) -* **[Collection](/concepts/collections/)** — A Database Table -* **[Fields](/concepts/fields/)** — A Database Column -* **[Item](/concepts/items/)** — A Database Record/Row -* **[Relationships](/concepts/relationships/)** — A Database Relationship, including additional non-standard types -* **[Type](/concepts/types/)** — A Database Data Type, including additional non-standard types -* **[Users](/concepts/users/)** — A Directus User (App or API), not to be confused with a Database User +- **[Project](/concepts/projects/)** — A Database (also includes asset storage and the config file) +- **[Collection](/concepts/collections/)** — A Database Table +- **[Fields](/concepts/fields/)** — A Database Column +- **[Item](/concepts/items/)** — A Database Record/Row +- **[Relationships](/concepts/relationships/)** — A Database Relationship, including additional non-standard types +- **[Type](/concepts/types/)** — A Database Data Type, including additional non-standard types +- **[Users](/concepts/users/)** — A Directus User (App or API), not to be confused with a Database User Perhaps one of the biggest advantages of _Database Mirroring_ is that you have direct access to your pure and unaltered data. That means you have the option to bypass the Directus middleware (API, SDK, App) and connect to your data with @@ -49,17 +51,19 @@ proper SQL queries. This effectively removes all bottlenecks, latency overhead, ## Modular & Extensible -What makes Directus so flexible is that it has been designed from the ground up with complete extensibility, helping avoid a feature ceiling. In addition to offering our software's codebase as open-source, we've included the following extension types in the platform's App and API. +What makes Directus so flexible is that it has been designed from the ground up with complete extensibility, helping +avoid a feature ceiling. In addition to offering our software's codebase as open-source, we've included the following +extension types in the platform's App and API. -* **[Modules](/concepts/modules/)** — (App) The highest and broadest level of organization within the App -* **[Layouts](/concepts/layouts/)** — (App) How you browse, view or interact with a set of Items in a Collection -* **[Interfaces](/concepts/interfaces/)** — (App) How you view or interact with a field and its value -* **[Displays](/concepts/displays/)** — (App) A small inline preview of a field's value -* **[Panes](#)** — (App) A way to view dashboard data within the Insights Module -* **[Styles](/guides/styles/)** — (App) Whitelabeling through App Themes and CSS Overrides -* **[Endpoints](/guides/api-endpoints/)** — (API) Custom registered API endpoints -* **[Hooks](/guides/api-hooks/)** — (API) Event and interval hooks for triggering custom logic -* **[Email Templates](/guides/email-templates/)** — (API) Custom structure and formatting for emails +- **[Modules](/concepts/modules/)** — (App) The highest and broadest level of organization within the App +- **[Layouts](/concepts/layouts/)** — (App) How you browse, view or interact with a set of Items in a Collection +- **[Interfaces](/concepts/interfaces/)** — (App) How you view or interact with a field and its value +- **[Displays](/concepts/displays/)** — (App) A small inline preview of a field's value +- **[Panes](#)** — (App) A way to view dashboard data within the Insights Module +- **[Styles](/guides/styles/)** — (App) Whitelabeling through App Themes and CSS Overrides +- **[Endpoints](/guides/api-endpoints/)** — (API) Custom registered API endpoints +- **[Hooks](/guides/api-hooks/)** — (API) Event and interval hooks for triggering custom logic +- **[Email Templates](/guides/email-templates/)** — (API) Custom structure and formatting for emails ## Core Principles diff --git a/package-lock.json b/package-lock.json index 06c3576034..a1fa9a305d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -15,7 +15,7 @@ "@types/dockerode": "^3.2.3", "@types/jest": "^26.0.22", "@types/listr": "^0.14.3", - "@types/node": "^15.6.0", + "@types/node": "^15.9.0", "@types/supertest": "^2.0.11", "@typescript-eslint/eslint-plugin": "^4.25.0", "@typescript-eslint/parser": "^4.26.0", @@ -71,7 +71,6 @@ "async-mutex": "^0.3.1", "atob": "^2.1.2", "axios": "^0.21.0", - "body-parser": "^1.19.0", "busboy": "^0.3.1", "camelcase": "^6.2.0", "chalk": "^4.1.1", @@ -135,7 +134,7 @@ "@types/cookie-parser": "^1.4.2", "@types/cors": "^2.8.10", "@types/destroy": "^1.0.0", - "@types/express": "^4.17.11", + "@types/express": "^4.17.12", "@types/express-pino-logger": "^4.0.2", "@types/express-session": "^1.17.3", "@types/fs-extra": "^9.0.11", @@ -147,7 +146,7 @@ "@types/lodash": "^4.14.170", "@types/mime-types": "^2.1.0", "@types/ms": "^0.7.31", - "@types/node": "^15.6.0", + "@types/node": "^15.9.0", "@types/nodemailer": "^6.4.1", "@types/qs": "^6.9.6", "@types/sharp": "^0.28.1", @@ -6999,9 +6998,9 @@ "peer": true }, "node_modules/@types/express": { - "version": "4.17.11", - "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.11.tgz", - "integrity": "sha512-no+R6rW60JEc59977wIxreQVsIEOAYwgCqldrA/vkpCnbD7MqTefO97lmoBe4WE0F156bC4uLSP1XHDOySnChg==", + "version": "4.17.12", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.12.tgz", + "integrity": "sha512-pTYas6FrP15B1Oa0bkN5tQMNqOcVXa9j4FTFtO8DWI9kppKib+6NJtfTOOLcwxuuYvcX2+dVG6et1SxW/Kc17Q==", "dev": true, "dependencies": { "@types/body-parser": "*", @@ -7342,9 +7341,9 @@ "dev": true }, "node_modules/@types/node": { - "version": "15.6.0", - "resolved": "https://registry.npmjs.org/@types/node/-/node-15.6.0.tgz", - "integrity": "sha512-gCYSfQpy+LYhOFTKAeE8BkyGqaxmlFxe+n4DKM6DR0wzw/HISUE/hAmkC/KT8Sw5PCJblqg062b3z9gucv3k0A==" + "version": "15.9.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-15.9.0.tgz", + "integrity": "sha512-AR1Vq1Ei1GaA5FjKL5PBqblTZsL5M+monvGSZwe6sSIdGiuu7Xr/pNwWJY+0ZQuN8AapD/XMB5IzBAyYRFbocA==" }, "node_modules/@types/node-fetch": { "version": "2.5.10", @@ -51059,7 +51058,7 @@ "devDependencies": { "@types/fs-extra": "^9.0.11", "@types/jest": "^26.0.22", - "@types/node": "^15.6.0", + "@types/node": "^15.9.0", "dotenv": "^9.0.2", "jest": "^27.0.3", "npm-run-all": "^4.1.5", @@ -51079,7 +51078,7 @@ "devDependencies": { "@types/fs-extra": "^9.0.11", "@types/jest": "^26.0.22", - "@types/node": "^15.6.0", + "@types/node": "^15.9.0", "@types/normalize-path": "^3.0.0", "dotenv": "^9.0.2", "fs-extra": "^10.0.0", @@ -51125,7 +51124,7 @@ "@lukeed/uuid": "^2.0.0", "@types/fs-extra": "^9.0.11", "@types/jest": "^26.0.22", - "@types/node": "^15.6.0", + "@types/node": "^15.9.0", "@types/normalize-path": "^3.0.0", "dotenv": "^9.0.2", "jest": "^27.0.3", @@ -51156,7 +51155,7 @@ "@lukeed/uuid": "^2.0.0", "@types/fs-extra": "^9.0.11", "@types/jest": "^26.0.22", - "@types/node": "^15.6.0", + "@types/node": "^15.9.0", "@types/normalize-path": "^3.0.0", "dotenv": "^9.0.2", "fs-extra": "^10.0.0", @@ -56069,7 +56068,7 @@ "requires": { "@types/fs-extra": "^9.0.11", "@types/jest": "^26.0.22", - "@types/node": "^15.6.0", + "@types/node": "^15.9.0", "dotenv": "^9.0.2", "fs-extra": "^10.0.0", "jest": "^27.0.3", @@ -56104,7 +56103,7 @@ "@directus/drive": "9.0.0-rc.71", "@types/fs-extra": "^9.0.11", "@types/jest": "^26.0.22", - "@types/node": "^15.6.0", + "@types/node": "^15.9.0", "@types/normalize-path": "^3.0.0", "dotenv": "^9.0.2", "fs-extra": "^10.0.0", @@ -56142,7 +56141,7 @@ "@lukeed/uuid": "^2.0.0", "@types/fs-extra": "^9.0.11", "@types/jest": "^26.0.22", - "@types/node": "^15.6.0", + "@types/node": "^15.9.0", "@types/normalize-path": "^3.0.0", "dotenv": "^9.0.2", "jest": "^27.0.3", @@ -56167,7 +56166,7 @@ "@lukeed/uuid": "^2.0.0", "@types/fs-extra": "^9.0.11", "@types/jest": "^26.0.22", - "@types/node": "^15.6.0", + "@types/node": "^15.9.0", "@types/normalize-path": "^3.0.0", "aws-sdk": "^2.911.0", "dotenv": "^9.0.2", @@ -62238,9 +62237,9 @@ "peer": true }, "@types/express": { - "version": "4.17.11", - "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.11.tgz", - "integrity": "sha512-no+R6rW60JEc59977wIxreQVsIEOAYwgCqldrA/vkpCnbD7MqTefO97lmoBe4WE0F156bC4uLSP1XHDOySnChg==", + "version": "4.17.12", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.12.tgz", + "integrity": "sha512-pTYas6FrP15B1Oa0bkN5tQMNqOcVXa9j4FTFtO8DWI9kppKib+6NJtfTOOLcwxuuYvcX2+dVG6et1SxW/Kc17Q==", "dev": true, "requires": { "@types/body-parser": "*", @@ -62571,9 +62570,9 @@ "dev": true }, "@types/node": { - "version": "15.6.0", - "resolved": "https://registry.npmjs.org/@types/node/-/node-15.6.0.tgz", - "integrity": "sha512-gCYSfQpy+LYhOFTKAeE8BkyGqaxmlFxe+n4DKM6DR0wzw/HISUE/hAmkC/KT8Sw5PCJblqg062b3z9gucv3k0A==" + "version": "15.9.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-15.9.0.tgz", + "integrity": "sha512-AR1Vq1Ei1GaA5FjKL5PBqblTZsL5M+monvGSZwe6sSIdGiuu7Xr/pNwWJY+0ZQuN8AapD/XMB5IzBAyYRFbocA==" }, "@types/node-fetch": { "version": "2.5.10", @@ -70953,7 +70952,7 @@ "@types/cookie-parser": "^1.4.2", "@types/cors": "^2.8.10", "@types/destroy": "^1.0.0", - "@types/express": "^4.17.11", + "@types/express": "*", "@types/express-pino-logger": "^4.0.2", "@types/express-session": "^1.17.3", "@types/fs-extra": "^9.0.11", @@ -70965,7 +70964,7 @@ "@types/lodash": "^4.14.170", "@types/mime-types": "^2.1.0", "@types/ms": "^0.7.31", - "@types/node": "^15.6.0", + "@types/node": "^15.9.0", "@types/nodemailer": "^6.4.1", "@types/qs": "^6.9.6", "@types/sharp": "^0.28.1", @@ -70977,7 +70976,6 @@ "async-mutex": "^0.3.1", "atob": "^2.1.2", "axios": "^0.21.0", - "body-parser": "^1.19.0", "busboy": "^0.3.1", "camelcase": "^6.2.0", "chalk": "^4.1.1", diff --git a/package.json b/package.json index b40ca974c8..fedf32d0b3 100644 --- a/package.json +++ b/package.json @@ -24,7 +24,7 @@ "@types/dockerode": "^3.2.3", "@types/jest": "^26.0.22", "@types/listr": "^0.14.3", - "@types/node": "^15.6.0", + "@types/node": "^15.9.0", "@types/supertest": "^2.0.11", "@typescript-eslint/eslint-plugin": "^4.25.0", "@typescript-eslint/parser": "^4.26.0", diff --git a/packages/drive-azure/package.json b/packages/drive-azure/package.json index 03449636ba..513aaf0b51 100644 --- a/packages/drive-azure/package.json +++ b/packages/drive-azure/package.json @@ -41,7 +41,7 @@ "devDependencies": { "@types/fs-extra": "^9.0.11", "@types/jest": "^26.0.22", - "@types/node": "^15.6.0", + "@types/node": "^15.9.0", "@types/normalize-path": "^3.0.0", "dotenv": "^9.0.2", "fs-extra": "^10.0.0", diff --git a/packages/drive-gcs/package.json b/packages/drive-gcs/package.json index 7d65e3125c..451b57c874 100644 --- a/packages/drive-gcs/package.json +++ b/packages/drive-gcs/package.json @@ -41,7 +41,7 @@ "@lukeed/uuid": "^2.0.0", "@types/fs-extra": "^9.0.11", "@types/jest": "^26.0.22", - "@types/node": "^15.6.0", + "@types/node": "^15.9.0", "@types/normalize-path": "^3.0.0", "dotenv": "^9.0.2", "jest": "^27.0.3", diff --git a/packages/drive-s3/package.json b/packages/drive-s3/package.json index 25743b7781..80770ca956 100644 --- a/packages/drive-s3/package.json +++ b/packages/drive-s3/package.json @@ -42,7 +42,7 @@ "@lukeed/uuid": "^2.0.0", "@types/fs-extra": "^9.0.11", "@types/jest": "^26.0.22", - "@types/node": "^15.6.0", + "@types/node": "^15.9.0", "@types/normalize-path": "^3.0.0", "dotenv": "^9.0.2", "fs-extra": "^10.0.0", diff --git a/packages/drive/package.json b/packages/drive/package.json index 51c35ce515..7dfde9092d 100644 --- a/packages/drive/package.json +++ b/packages/drive/package.json @@ -52,7 +52,7 @@ "devDependencies": { "@types/fs-extra": "^9.0.11", "@types/jest": "^26.0.22", - "@types/node": "^15.6.0", + "@types/node": "^15.9.0", "dotenv": "^9.0.2", "jest": "^27.0.3", "npm-run-all": "^4.1.5", From 23bbaf61b8703b16d4824898c12a7dd0b91a5fe2 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 3 Jun 2021 11:07:25 -0400 Subject: [PATCH 33/83] Bump eslint from 7.26.0 to 7.27.0 (#6020) Bumps [eslint](https://github.com/eslint/eslint) from 7.26.0 to 7.27.0. - [Release notes](https://github.com/eslint/eslint/releases) - [Changelog](https://github.com/eslint/eslint/blob/master/CHANGELOG.md) - [Commits](https://github.com/eslint/eslint/compare/v7.26.0...v7.27.0) --- updated-dependencies: - dependency-name: eslint dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package-lock.json | 76 ++++++++++++++++++++++++++++++++++++++++------- package.json | 2 +- 2 files changed, 66 insertions(+), 12 deletions(-) diff --git a/package-lock.json b/package-lock.json index a1fa9a305d..c26b93d383 100644 --- a/package-lock.json +++ b/package-lock.json @@ -21,7 +21,7 @@ "@typescript-eslint/parser": "^4.26.0", "axios": "^0.21.1", "dockerode": "^3.3.0", - "eslint": "^7.26.0", + "eslint": "^7.27.0", "eslint-config-prettier": "^8.3.0", "eslint-plugin-prettier": "^3.4.0", "eslint-plugin-prettier-vue": "^3.1.0", @@ -13075,6 +13075,7 @@ "version": "0.0.9", "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz", "integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=", + "dev": true, "optional": true, "dependencies": { "inherits": "~2.0.0" @@ -18428,9 +18429,9 @@ } }, "node_modules/eslint": { - "version": "7.26.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.26.0.tgz", - "integrity": "sha512-4R1ieRf52/izcZE7AlLy56uIHHDLT74Yzz2Iv2l6kDaYvEu9x+wMB5dZArVL8SYGXSYV2YAg70FcW5Y5nGGNIg==", + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.27.0.tgz", + "integrity": "sha512-JZuR6La2ZF0UD384lcbnd0Cgg6QJjiCwhMD6eU4h/VGPcVGwawNNzKU41tgokGXnfjOOyI6QIffthhJTPzzuRA==", "dependencies": { "@babel/code-frame": "7.12.11", "@eslint/eslintrc": "^0.4.1", @@ -18440,12 +18441,14 @@ "debug": "^4.0.1", "doctrine": "^3.0.0", "enquirer": "^2.3.5", + "escape-string-regexp": "^4.0.0", "eslint-scope": "^5.1.1", "eslint-utils": "^2.1.0", "eslint-visitor-keys": "^2.0.0", "espree": "^7.3.1", "esquery": "^1.4.0", "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", "file-entry-cache": "^6.0.1", "functional-red-black-tree": "^1.0.1", "glob-parent": "^5.0.0", @@ -18457,7 +18460,7 @@ "js-yaml": "^3.13.1", "json-stable-stringify-without-jsonify": "^1.0.1", "levn": "^0.4.1", - "lodash": "^4.17.21", + "lodash.merge": "^4.6.2", "minimatch": "^3.0.4", "natural-compare": "^1.4.0", "optionator": "^0.9.1", @@ -18466,7 +18469,7 @@ "semver": "^7.2.1", "strip-ansi": "^6.0.0", "strip-json-comments": "^3.1.0", - "table": "^6.0.4", + "table": "^6.0.9", "text-table": "^0.2.0", "v8-compile-cache": "^2.0.3" }, @@ -19302,6 +19305,17 @@ "url": "https://opencollective.com/webpack" } }, + "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==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/esm": { "version": "3.2.25", "resolved": "https://registry.npmjs.org/esm/-/esm-3.2.25.tgz", @@ -21173,6 +21187,7 @@ "version": "1.0.12", "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.12.tgz", "integrity": "sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg==", + "dev": true, "optional": true, "dependencies": { "graceful-fs": "^4.1.2", @@ -21188,6 +21203,7 @@ "version": "0.5.5", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "dev": true, "optional": true, "dependencies": { "minimist": "^1.2.5" @@ -21200,6 +21216,7 @@ "version": "2.7.1", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, "optional": true, "dependencies": { "glob": "^7.1.3" @@ -31721,6 +31738,11 @@ "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=" }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==" + }, "node_modules/lodash.once": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", @@ -41962,6 +41984,7 @@ "version": "0.5.5", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "dev": true, "optional": true, "dependencies": { "minimist": "^1.2.5" @@ -41974,6 +41997,7 @@ "version": "3.8.0", "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-3.8.0.tgz", "integrity": "sha512-3g8lYefrRRzvGeSowdJKAKyks8oUpLEd/DyPV4eMhVlhJ0aNaZqIrNUIPuEWWTAoPqyFkfGrM67MC69baqn6vA==", + "dev": true, "optional": true, "dependencies": { "fstream": "^1.0.0", @@ -42000,6 +42024,7 @@ "version": "3.0.6", "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", + "dev": true, "optional": true, "dependencies": { "abbrev": "1" @@ -42012,6 +42037,7 @@ "version": "2.7.1", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, "optional": true, "dependencies": { "glob": "^7.1.3" @@ -42024,6 +42050,7 @@ "version": "5.3.0", "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz", "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=", + "dev": true, "optional": true, "bin": { "semver": "bin/semver" @@ -42033,6 +42060,7 @@ "version": "2.2.2", "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.2.tgz", "integrity": "sha512-FCEhQ/4rE1zYv9rYXJw/msRqsnmlje5jHP6huWeBZ704jUTy02c5AZyWujpMR1ax6mVw9NyJMfuK2CMDWVIfgA==", + "dev": true, "optional": true, "dependencies": { "block-stream": "*", @@ -42044,6 +42072,7 @@ "version": "1.3.1", "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, "optional": true, "dependencies": { "isexe": "^2.0.0" @@ -67287,6 +67316,7 @@ "version": "0.0.9", "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz", "integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=", + "dev": true, "optional": true, "requires": { "inherits": "~2.0.0" @@ -71841,9 +71871,9 @@ } }, "eslint": { - "version": "7.26.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.26.0.tgz", - "integrity": "sha512-4R1ieRf52/izcZE7AlLy56uIHHDLT74Yzz2Iv2l6kDaYvEu9x+wMB5dZArVL8SYGXSYV2YAg70FcW5Y5nGGNIg==", + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.27.0.tgz", + "integrity": "sha512-JZuR6La2ZF0UD384lcbnd0Cgg6QJjiCwhMD6eU4h/VGPcVGwawNNzKU41tgokGXnfjOOyI6QIffthhJTPzzuRA==", "requires": { "@babel/code-frame": "7.12.11", "@eslint/eslintrc": "^0.4.1", @@ -71853,12 +71883,14 @@ "debug": "^4.0.1", "doctrine": "^3.0.0", "enquirer": "^2.3.5", + "escape-string-regexp": "^4.0.0", "eslint-scope": "^5.1.1", "eslint-utils": "^2.1.0", "eslint-visitor-keys": "^2.0.0", "espree": "^7.3.1", "esquery": "^1.4.0", "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", "file-entry-cache": "^6.0.1", "functional-red-black-tree": "^1.0.1", "glob-parent": "^5.0.0", @@ -71870,7 +71902,7 @@ "js-yaml": "^3.13.1", "json-stable-stringify-without-jsonify": "^1.0.1", "levn": "^0.4.1", - "lodash": "^4.17.21", + "lodash.merge": "^4.6.2", "minimatch": "^3.0.4", "natural-compare": "^1.4.0", "optionator": "^0.9.1", @@ -71879,9 +71911,16 @@ "semver": "^7.2.1", "strip-ansi": "^6.0.0", "strip-json-comments": "^3.1.0", - "table": "^6.0.4", + "table": "^6.0.9", "text-table": "^0.2.0", "v8-compile-cache": "^2.0.3" + }, + "dependencies": { + "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==" + } } }, "eslint-config-prettier": { @@ -74025,6 +74064,7 @@ "version": "1.0.12", "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.12.tgz", "integrity": "sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg==", + "dev": true, "optional": true, "requires": { "graceful-fs": "^4.1.2", @@ -74037,6 +74077,7 @@ "version": "0.5.5", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "dev": true, "optional": true, "requires": { "minimist": "^1.2.5" @@ -74046,6 +74087,7 @@ "version": "2.7.1", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, "optional": true, "requires": { "glob": "^7.1.3" @@ -82353,6 +82395,11 @@ "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=" }, + "lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==" + }, "lodash.once": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", @@ -90633,6 +90680,7 @@ "version": "0.5.5", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "dev": true, "optional": true, "requires": { "minimist": "^1.2.5" @@ -90642,6 +90690,7 @@ "version": "3.8.0", "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-3.8.0.tgz", "integrity": "sha512-3g8lYefrRRzvGeSowdJKAKyks8oUpLEd/DyPV4eMhVlhJ0aNaZqIrNUIPuEWWTAoPqyFkfGrM67MC69baqn6vA==", + "dev": true, "optional": true, "requires": { "fstream": "^1.0.0", @@ -90662,6 +90711,7 @@ "version": "3.0.6", "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", + "dev": true, "optional": true, "requires": { "abbrev": "1" @@ -90671,6 +90721,7 @@ "version": "2.7.1", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, "optional": true, "requires": { "glob": "^7.1.3" @@ -90680,12 +90731,14 @@ "version": "5.3.0", "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz", "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=", + "dev": true, "optional": true }, "tar": { "version": "2.2.2", "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.2.tgz", "integrity": "sha512-FCEhQ/4rE1zYv9rYXJw/msRqsnmlje5jHP6huWeBZ704jUTy02c5AZyWujpMR1ax6mVw9NyJMfuK2CMDWVIfgA==", + "dev": true, "optional": true, "requires": { "block-stream": "*", @@ -90697,6 +90750,7 @@ "version": "1.3.1", "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, "optional": true, "requires": { "isexe": "^2.0.0" diff --git a/package.json b/package.json index fedf32d0b3..4b43f5ce49 100644 --- a/package.json +++ b/package.json @@ -30,7 +30,7 @@ "@typescript-eslint/parser": "^4.26.0", "axios": "^0.21.1", "dockerode": "^3.3.0", - "eslint": "^7.26.0", + "eslint": "^7.27.0", "eslint-config-prettier": "^8.3.0", "eslint-plugin-prettier": "^3.4.0", "eslint-plugin-prettier-vue": "^3.1.0", From 755efeeec7ad9c29d948ab81f18ff25c40290e86 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 3 Jun 2021 11:07:52 -0400 Subject: [PATCH 34/83] Bump argon2 from 0.27.2 to 0.28.1 (#6021) Bumps [argon2](https://github.com/ranisalt/node-argon2) from 0.27.2 to 0.28.1. - [Release notes](https://github.com/ranisalt/node-argon2/releases) - [Commits](https://github.com/ranisalt/node-argon2/compare/v0.27.2...v0.28.1) --- updated-dependencies: - dependency-name: argon2 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- api/package.json | 2 +- package-lock.json | 22 +++++++++++----------- packages/sdk/package.json | 2 +- 3 files changed, 13 insertions(+), 13 deletions(-) diff --git a/api/package.json b/api/package.json index 63be234d07..791b1a521d 100644 --- a/api/package.json +++ b/api/package.json @@ -75,7 +75,7 @@ "@directus/schema": "9.0.0-rc.71", "@directus/specs": "9.0.0-rc.71", "@godaddy/terminus": "^4.7.2", - "argon2": "^0.27.0", + "argon2": "^0.28.1", "async": "^3.2.0", "async-mutex": "^0.3.1", "atob": "^2.1.2", diff --git a/package-lock.json b/package-lock.json index c26b93d383..2c514252b5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -66,7 +66,7 @@ "@directus/schema": "9.0.0-rc.71", "@directus/specs": "9.0.0-rc.71", "@godaddy/terminus": "^4.7.2", - "argon2": "^0.27.0", + "argon2": "^0.28.1", "async": "^3.2.0", "async-mutex": "^0.3.1", "atob": "^2.1.2", @@ -11938,9 +11938,9 @@ "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==" }, "node_modules/argon2": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/argon2/-/argon2-0.27.2.tgz", - "integrity": "sha512-evnzS/Q9rj6ahaaCJjLDoJo9ZuXHhVL2BrBz3wFHb5/i9zAJovBuIY+5t2En7tJjhFXs4O3rUZDeGZxBiDOLwQ==", + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/argon2/-/argon2-0.28.1.tgz", + "integrity": "sha512-lhAY9v4gLNDT9ffzGLSVf2Fb5ikgYfZybn7kPHjdxCzu4VOzv/6890n6hv1Tie7UvoBTSYzRxyOzjAlx/GyFag==", "hasInstallScript": true, "dependencies": { "@mapbox/node-pre-gyp": "^1.0.1", @@ -11949,7 +11949,7 @@ "opencollective-postinstall": "^2.0.3" }, "engines": { - "node": ">=10.0.0" + "node": ">=12.0.0" } }, "node_modules/argparse": { @@ -53938,7 +53938,7 @@ "@rollup/plugin-json": "^4.1.0", "@rollup/plugin-node-resolve": "^13.0.0", "@types/jest": "^26.0.22", - "argon2": "^0.27.1", + "argon2": "^0.28.1", "dotenv": "^9.0.2", "jest": "^27.0.3", "jest-environment-jsdom": "^27.0.3", @@ -58305,7 +58305,7 @@ "@rollup/plugin-json": "^4.1.0", "@rollup/plugin-node-resolve": "^13.0.0", "@types/jest": "^26.0.22", - "argon2": "^0.27.1", + "argon2": "^0.28.1", "axios": "^0.21.1", "dotenv": "^9.0.2", "jest": "^27.0.3", @@ -66402,9 +66402,9 @@ "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==" }, "argon2": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/argon2/-/argon2-0.27.2.tgz", - "integrity": "sha512-evnzS/Q9rj6ahaaCJjLDoJo9ZuXHhVL2BrBz3wFHb5/i9zAJovBuIY+5t2En7tJjhFXs4O3rUZDeGZxBiDOLwQ==", + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/argon2/-/argon2-0.28.1.tgz", + "integrity": "sha512-lhAY9v4gLNDT9ffzGLSVf2Fb5ikgYfZybn7kPHjdxCzu4VOzv/6890n6hv1Tie7UvoBTSYzRxyOzjAlx/GyFag==", "requires": { "@mapbox/node-pre-gyp": "^1.0.1", "@phc/format": "^1.0.0", @@ -71001,7 +71001,7 @@ "@types/stream-json": "^1.7.0", "@types/uuid": "^8.3.0", "@types/uuid-validate": "^0.0.1", - "argon2": "^0.27.0", + "argon2": "^0.28.1", "async": "^3.2.0", "async-mutex": "^0.3.1", "atob": "^2.1.2", diff --git a/packages/sdk/package.json b/packages/sdk/package.json index 7f9c52f994..7b70b9eda0 100644 --- a/packages/sdk/package.json +++ b/packages/sdk/package.json @@ -51,7 +51,7 @@ "@rollup/plugin-json": "^4.1.0", "@rollup/plugin-node-resolve": "^13.0.0", "@types/jest": "^26.0.22", - "argon2": "^0.27.1", + "argon2": "^0.28.1", "dotenv": "^9.0.2", "jest": "^27.0.3", "jest-environment-jsdom": "^27.0.3", From 6a5879778c89420c1d14a50b22eadf9cf4f7b305 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 3 Jun 2021 11:08:18 -0400 Subject: [PATCH 35/83] Bump sass from 1.34.0 to 1.34.1 (#6022) Bumps [sass](https://github.com/sass/dart-sass) from 1.34.0 to 1.34.1. - [Release notes](https://github.com/sass/dart-sass/releases) - [Changelog](https://github.com/sass/dart-sass/blob/master/CHANGELOG.md) - [Commits](https://github.com/sass/dart-sass/compare/1.34.0...1.34.1) --- updated-dependencies: - dependency-name: sass dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- app/package.json | 2 +- package-lock.json | 16 ++++++++-------- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/app/package.json b/app/package.json index eeebe419be..c46b943672 100644 --- a/app/package.json +++ b/app/package.json @@ -81,7 +81,7 @@ "raw-loader": "^4.0.2", "resize-observer": "^1.0.2", "rimraf": "^3.0.2", - "sass": "^1.34.0", + "sass": "^1.34.1", "sass-loader": "^9.0.2", "stylelint": "^13.13.1", "tiny-async-pool": "^1.2.0", diff --git a/package-lock.json b/package-lock.json index 2c514252b5..4661277e62 100644 --- a/package-lock.json +++ b/package-lock.json @@ -380,7 +380,7 @@ "raw-loader": "^4.0.2", "resize-observer": "^1.0.2", "rimraf": "^3.0.2", - "sass": "^1.34.0", + "sass": "^1.34.1", "sass-loader": "^9.0.2", "stylelint": "^13.13.1", "tiny-async-pool": "^1.2.0", @@ -40662,9 +40662,9 @@ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, "node_modules/sass": { - "version": "1.34.0", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.34.0.tgz", - "integrity": "sha512-rHEN0BscqjUYuomUEaqq3BMgsXqQfkcMVR7UhscsAVub0/spUrZGBMxQXFS2kfiDsPLZw5yuU9iJEFNC2x38Qw==", + "version": "1.34.1", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.34.1.tgz", + "integrity": "sha512-scLA7EIZM+MmYlej6sdVr0HRbZX5caX5ofDT9asWnUJj21oqgsC+1LuNfm0eg+vM0fCTZHhwImTiCU0sx9h9CQ==", "dev": true, "dependencies": { "chokidar": ">=3.0.0 <4.0.0" @@ -55841,7 +55841,7 @@ "raw-loader": "^4.0.2", "resize-observer": "^1.0.2", "rimraf": "^3.0.2", - "sass": "^1.34.0", + "sass": "^1.34.1", "sass-loader": "^9.0.2", "stylelint": "^13.13.1", "tiny-async-pool": "^1.2.0", @@ -89602,9 +89602,9 @@ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, "sass": { - "version": "1.34.0", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.34.0.tgz", - "integrity": "sha512-rHEN0BscqjUYuomUEaqq3BMgsXqQfkcMVR7UhscsAVub0/spUrZGBMxQXFS2kfiDsPLZw5yuU9iJEFNC2x38Qw==", + "version": "1.34.1", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.34.1.tgz", + "integrity": "sha512-scLA7EIZM+MmYlej6sdVr0HRbZX5caX5ofDT9asWnUJj21oqgsC+1LuNfm0eg+vM0fCTZHhwImTiCU0sx9h9CQ==", "dev": true, "requires": { "chokidar": ">=3.0.0 <4.0.0" From 521dfd3f8b3292b037cf229dc69194e2d625e0f5 Mon Sep 17 00:00:00 2001 From: Rijk van Zanten Date: Thu, 3 Jun 2021 11:08:40 -0400 Subject: [PATCH 36/83] New translations en-US.yaml (Finnish) (#6017) --- app/src/lang/translations/fi-FI.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/app/src/lang/translations/fi-FI.yaml b/app/src/lang/translations/fi-FI.yaml index f0c3e3d017..dc03b4cc52 100644 --- a/app/src/lang/translations/fi-FI.yaml +++ b/app/src/lang/translations/fi-FI.yaml @@ -784,6 +784,9 @@ save_current_datetime: Tallenna nykyinen päivämäärä/aika block: Estä inline: Rivitetty comment: Kommentti +relational_triggers: Relatiiviset käynnistimet +referential_action_no_action: Estä poisto +choose_action: Valitse toiminto continue: Jatka continue_as: >- {name} on tällä hetkellä autentikoitu. Jos tunnistat tämän tilin, paina jatka. From f6741eae6b190220e9e2722841fc4ce4eb16f8cd Mon Sep 17 00:00:00 2001 From: Rijk van Zanten Date: Thu, 3 Jun 2021 12:03:24 -0400 Subject: [PATCH 37/83] Fix wrong reference to not-yet-existing /backup endpoint (#6033) --- docs/guides/projects.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/guides/projects.md b/docs/guides/projects.md index 7580a5022c..8876c58955 100644 --- a/docs/guides/projects.md +++ b/docs/guides/projects.md @@ -77,7 +77,7 @@ See [Styles > Custom CSS](/guides/styles/#custom-css) 1. Make a copy of the **files within each storage adapter**, and store them in a safe place 2. Make a copy of the **Env file** (`/api/.env`), and store it in a safe place -3. Run the **Backup API Endpoint** (`/backup`) to create a SQL dump of your database +3. Create a database dump ## Migrating a Project From 32b714208b0c4680f26986f5d743df309297da9b Mon Sep 17 00:00:00 2001 From: Rijk van Zanten Date: Thu, 3 Jun 2021 12:10:04 -0400 Subject: [PATCH 38/83] Upgrade dependencies (#6032) * Apply minors/patches * Apply (safe) major upgrades --- api/package.json | 44 +- app/package.json | 22 +- app/src/interfaces/input-code/input-code.vue | 6 +- docs/package.json | 6 +- package-lock.json | 1358 +++++++++++------ packages/cli/package.json | 20 +- packages/create-directus-project/package.json | 2 +- packages/drive-azure/package.json | 10 +- packages/drive-gcs/package.json | 8 +- packages/drive-s3/package.json | 10 +- packages/drive/package.json | 8 +- packages/format-title/package.json | 2 +- packages/schema/package.json | 2 +- packages/sdk/package.json | 10 +- 14 files changed, 964 insertions(+), 544 deletions(-) diff --git a/api/package.json b/api/package.json index 791b1a521d..5548324af4 100644 --- a/api/package.json +++ b/api/package.json @@ -74,12 +74,12 @@ "@directus/format-title": "9.0.0-rc.71", "@directus/schema": "9.0.0-rc.71", "@directus/specs": "9.0.0-rc.71", - "@godaddy/terminus": "^4.7.2", + "@godaddy/terminus": "^4.8.0", "argon2": "^0.28.1", "async": "^3.2.0", "async-mutex": "^0.3.1", "atob": "^2.1.2", - "axios": "^0.21.0", + "axios": "^0.21.1", "busboy": "^0.3.1", "camelcase": "^6.2.0", "chalk": "^4.1.1", @@ -87,12 +87,12 @@ "cookie-parser": "^1.4.5", "cors": "^2.8.5", "csv-parser": "^3.0.0", - "date-fns": "^2.21.1", + "date-fns": "^2.22.1", "deep-map": "^2.0.0", "destroy": "^1.0.4", - "dotenv": "^9.0.2", - "eventemitter2": "^6.4.3", - "execa": "^5.0.1", + "dotenv": "^10.0.0", + "eventemitter2": "^6.4.4", + "execa": "^5.1.0", "exif-reader": "^1.0.3", "express": "^4.17.1", "express-pino-logger": "^6.0.0", @@ -100,13 +100,13 @@ "fs-extra": "^10.0.0", "grant": "^5.4.14", "graphql": "^15.5.0", - "graphql-compose": "^8.1.0", + "graphql-compose": "^9.0.1", "icc": "^2.0.0", "inquirer": "^8.1.0", - "joi": "^17.3.0", + "joi": "^17.4.0", "js-yaml": "^4.1.0", "js2xmlparser": "^4.0.1", - "json2csv": "^5.0.3", + "json2csv": "^5.0.6", "jsonwebtoken": "^8.5.1", "keyv": "^4.0.3", "knex": "^0.95.6", @@ -114,17 +114,17 @@ "liquidjs": "^9.25.0", "lodash": "^4.17.21", "macos-release": "^2.4.1", - "mime-types": "^2.1.27", + "mime-types": "^2.1.31", "ms": "^2.1.3", "nanoid": "^3.1.23", "node-machine-id": "^1.1.12", "nodemailer": "^6.6.1", - "openapi3-ts": "^2.0.0", + "openapi3-ts": "^2.0.1", "ora": "^5.4.0", "otplib": "^12.0.1", "pino": "^6.11.3", "pino-colada": "^2.1.0", - "qs": "^6.9.4", + "qs": "^6.10.1", "rate-limiter-flexible": "^2.2.2", "resolve-cwd": "^3.0.0", "sharp": "^0.28.3", @@ -135,17 +135,17 @@ "optionalDependencies": { "@keyv/redis": "^2.1.2", "connect-memcached": "^1.0.0", - "connect-redis": "^5.2.0", + "connect-redis": "^6.0.0", "connect-session-knex": "^2.1.0", - "ioredis": "^4.27.2", + "ioredis": "^4.27.3", "keyv-memcache": "^1.2.5", "memcached": "^2.2.2", "mysql": "^2.18.1", "nodemailer-mailgun-transport": "^2.1.3", - "oracledb": "^5.0.0", + "oracledb": "^5.1.0", "pg": "^8.6.0", "sqlite3": "^5.0.2", - "tedious": "^11.0.8" + "tedious": "^11.0.9" }, "gitHead": "24621f3934dc77eb23441331040ed13c676ceffd", "devDependencies": { @@ -168,16 +168,16 @@ "@types/lodash": "^4.14.170", "@types/mime-types": "^2.1.0", "@types/ms": "^0.7.31", - "@types/node": "^15.9.0", - "@types/nodemailer": "^6.4.1", + "@types/node": "^15.12.0", + "@types/nodemailer": "^6.4.2", "@types/qs": "^6.9.6", - "@types/sharp": "^0.28.1", + "@types/sharp": "^0.28.3", "@types/stream-json": "^1.7.0", "@types/uuid": "^8.3.0", "@types/uuid-validate": "^0.0.1", - "copyfiles": "^2.4.0", - "cross-env": "^7.0.2", - "ts-node-dev": "^1.0.0", + "copyfiles": "^2.4.1", + "cross-env": "^7.0.3", + "ts-node-dev": "^1.1.6", "typescript": "^4.3.2" } } diff --git a/app/package.json b/app/package.json index c46b943672..7d44954966 100644 --- a/app/package.json +++ b/app/package.json @@ -34,12 +34,12 @@ "@fullcalendar/interaction": "^5.7.0", "@fullcalendar/list": "^5.7.0", "@fullcalendar/timegrid": "^5.7.0", - "@popperjs/core": "^2.9.1", + "@popperjs/core": "^2.9.2", "@sindresorhus/slugify": "^2.1.0", "@tinymce/tinymce-vue": "^3.2.8", "@types/base-64": "^1.0.0", "@types/bytes": "^3.1.0", - "@types/codemirror": "^0.0.109", + "@types/codemirror": "^5.60.0", "@types/color": "^3.0.1", "@types/diff": "^5.0.0", "@types/dompurify": "^2.2.2", @@ -51,9 +51,9 @@ "@types/qrcode": "^1.4.0", "@types/tiny-async-pool": "^1.0.0", "@vue/cli-plugin-babel": "^4.5.13", - "@vue/cli-plugin-router": "^4.5.8", + "@vue/cli-plugin-router": "^4.5.13", "@vue/cli-plugin-typescript": "^4.5.13", - "@vue/cli-plugin-vuex": "^4.5.8", + "@vue/cli-plugin-vuex": "^4.5.13", "@vue/cli-service": "^4.5.13", "@vue/composition-api": "^0.6.7", "@vue/test-utils": "^1.2.0", @@ -62,7 +62,7 @@ "codemirror": "^5.61.1", "copyfiles": "^2.4.1", "cropperjs": "^1.5.11", - "date-fns": "^2.21.1", + "date-fns": "^2.22.1", "dompurify": "^2.2.9", "escape-string-regexp": "^5.0.0", "front-matter": "^4.0.2", @@ -82,18 +82,18 @@ "resize-observer": "^1.0.2", "rimraf": "^3.0.2", "sass": "^1.34.1", - "sass-loader": "^9.0.2", + "sass-loader": "^9.0.3", "stylelint": "^13.13.1", "tiny-async-pool": "^1.2.0", "tinymce": "^5.8.1", - "vue": "^2.6.12", + "vue": "^2.6.13", "vue-cli-plugin-yaml": "^1.0.2", "vue-i18n": "^8.24.4", - "vue-loader": "^15.9.3", - "vue-router": "^3.4.8", - "vue-template-compiler": "^2.6.10", + "vue-loader": "^15.9.7", + "vue-router": "^3.5.1", + "vue-template-compiler": "^2.6.13", "vuedraggable": "^2.24.3", - "vuepress": "^1.5.2", + "vuepress": "^1.8.2", "webpack-assets-manifest": "^3.1.1" } } diff --git a/app/src/interfaces/input-code/input-code.vue b/app/src/interfaces/input-code/input-code.vue index 2cf43d3b24..020baa09ea 100644 --- a/app/src/interfaces/input-code/input-code.vue +++ b/app/src/interfaces/input-code/input-code.vue @@ -9,7 +9,7 @@