From 48bfebf7e6ddc2157a6d85cc0f66b0abc04dcf68 Mon Sep 17 00:00:00 2001 From: Nick Lyons Date: Fri, 31 May 2024 09:31:18 -0400 Subject: [PATCH 001/171] Refactored logic to use one template - [x] refactored authors and authors_short markup to be consistent - [x] updated partial references to new api --- themes/digital.gov/layouts/events/single.html | 2 +- themes/digital.gov/layouts/news/single.html | 5 +- .../layouts/partials/core/get_authors.html | 100 ++++++++++-------- .../partials/core/get_authors_short.html | 5 +- 4 files changed, 63 insertions(+), 49 deletions(-) diff --git a/themes/digital.gov/layouts/events/single.html b/themes/digital.gov/layouts/events/single.html index ff8b7ac9c2..d548e5d90b 100644 --- a/themes/digital.gov/layouts/events/single.html +++ b/themes/digital.gov/layouts/events/single.html @@ -148,7 +148,7 @@

{{- .Title | markdownify -}}

{{/* Authors */}} {{- if .Params.authors -}}

In this talk

- {{- partial "core/get_authors.html" . -}} + {{- partial "core/get_authors.html" (dict "data" . "layout" "long") -}} {{- end -}} {{- if eq .Params.event_platform "youtube_live" -}} diff --git a/themes/digital.gov/layouts/news/single.html b/themes/digital.gov/layouts/news/single.html index 0b4cc2e23a..aae556f1a1 100644 --- a/themes/digital.gov/layouts/news/single.html +++ b/themes/digital.gov/layouts/news/single.html @@ -22,7 +22,8 @@

{{- .Title | markdownify -}}

{{- .Params.deck | markdownify -}}
{{- end -}} - {{- partial "core/get_authors_short.html" . -}} + {{/* TODO: Not displayed on all pages */}} + {{- partial "core/get_authors_short.html" -}}
@@ -52,7 +53,7 @@

{{- .Title | markdownify -}}

{{/* Authors */}} - {{- partial "core/get_authors.html" . -}} + {{- partial "core/get_authors.html" (dict "data" . "layout" "long") -}}
diff --git a/themes/digital.gov/layouts/partials/core/get_authors.html b/themes/digital.gov/layouts/partials/core/get_authors.html index 90f5a4ab4d..a988aa2766 100644 --- a/themes/digital.gov/layouts/partials/core/get_authors.html +++ b/themes/digital.gov/layouts/partials/core/get_authors.html @@ -1,20 +1,19 @@ -{{/* ====================================== - AUTHORS - ====================================== +{{/* Displays the author circular image and name next to it + Used on events and news single */}} +{{ $data := .data }} +{{ $layout := .layout }} -{{- if .Params.authors -}} -
- {{/* Sets the taxonomy we're pulling here */}} - {{- $taxonomy := "authors" -}} - {{- $authors := .Param $taxonomy -}} +{{ $isShort := true }} +{{ if eq $layout "long" }} + {{ $isShort = false }} +{{ end }} - {{/* Count the number of authors */}} - {{- $length := $authors | len -}} +{{- if $data.Params.authors -}} +
+ {{- $authors_count := $data.Params.authors | len -}} - {{/* NOTE: Many of the pages in digital.gov have duplicate authors. */}} - {{/* So we are running "uniq" on the array to remove duplicates */}} - {{- range $i, $e := uniq (sort $authors) -}} + {{- range $i, $e := $data.Params.authors -}} {{- $uid := . -}} {{/* If the byline was entered as a display name (i.e. - John Smith ) @@ -23,41 +22,56 @@ {{- $uid := $e | urlize -}} {{/* Lets look up the author data, based on the UID. Should equal the filename */}} - {{- $author := $.Site.GetPage (printf "/%s/%s" $taxonomy $uid) -}} - {{- with $author -}} + {{- with $data.Site.GetPage (printf "/%s/%s" "authors" $uid) -}} -
-
-
- {{- partial "core/get_author_image.html" (dict "author" $author ) -}} + {{ if $isShort }} + {{ if lt (add $i 1) $authors_count }}{{ end }} + + {{ else }} +
+
+
+ {{- partial "core/get_author_image.html" (dict "author" . ) -}} +
-
-
-
- - Originally posted by - {{ $author.Params.display_name | default $uid }} on - {{ $.Date.Format "Jan 2, 2006" }} - - - {{- if $author.Params.agency -}} -

- {{- $author.Params.agency -}}{{- if $author.Params.location -}} -  | {{- $author.Params.location -}} - {{- end -}} -

- {{- end -}} +
+
+ + Originally posted by + {{ .Params.display_name | default $uid }} + on + {{ $.Date.Format "Jan 2, 2006" }} + + + {{- if .Params.agency -}} +

+ {{- .Params.agency -}}{{- if .Params.location -}} +  | {{- .Params.location -}} + {{- end -}} +

+ {{- end -}} +
-
+ {{ end }} {{- end -}} {{- end -}} diff --git a/themes/digital.gov/layouts/partials/core/get_authors_short.html b/themes/digital.gov/layouts/partials/core/get_authors_short.html index 679d7d3146..ba187ca9cf 100644 --- a/themes/digital.gov/layouts/partials/core/get_authors_short.html +++ b/themes/digital.gov/layouts/partials/core/get_authors_short.html @@ -1,6 +1,5 @@ -{{/* ====================================== - AUTHORS .... short - ====================================== +{{/* Displays the author name next to a circular image + Used in card-*.html and event/single.html partials */}} {{- if .Params.authors -}} From fadb5973c21abd98fbbf7a77b3dabfa98699b451 Mon Sep 17 00:00:00 2001 From: Nick Lyons Date: Fri, 31 May 2024 10:19:30 -0400 Subject: [PATCH 002/171] Refactored partials, combined styles, removed unused markup/styles --- .../layouts/_default/taxonomy.html | 2 +- .../layouts/events/card-event.html | 2 +- .../layouts/news/card-article.html | 2 +- themes/digital.gov/layouts/news/single.html | 3 -- .../layouts/partials/core/get_authors.html | 7 ++- .../partials/core/get_authors_short.html | 43 ---------------- .../layouts/services/service-contact.html | 2 +- themes/digital.gov/src/scss/new/_article.scss | 8 --- .../src/scss/new/_authors-list-short.scss | 51 ------------------- .../src/scss/new/_authors-list.scss | 49 ++++++++++++++++++ themes/digital.gov/src/scss/new/styles.scss | 1 - 11 files changed, 59 insertions(+), 111 deletions(-) delete mode 100644 themes/digital.gov/layouts/partials/core/get_authors_short.html delete mode 100644 themes/digital.gov/src/scss/new/_authors-list-short.scss diff --git a/themes/digital.gov/layouts/_default/taxonomy.html b/themes/digital.gov/layouts/_default/taxonomy.html index a57a26ad9e..adb9279099 100644 --- a/themes/digital.gov/layouts/_default/taxonomy.html +++ b/themes/digital.gov/layouts/_default/taxonomy.html @@ -68,7 +68,7 @@

title="{{- .Title | markdownify -}} " >{{- .Date.Format "Jan _2" -}}{{- partial "core/get_authors_short.html" . -}} + >{{- partial "core/get_authors.html" (dict "data" . "layout" "short") -}}

diff --git a/themes/digital.gov/layouts/events/card-event.html b/themes/digital.gov/layouts/events/card-event.html index 89168fa71a..4c62c3f529 100644 --- a/themes/digital.gov/layouts/events/card-event.html +++ b/themes/digital.gov/layouts/events/card-event.html @@ -52,7 +52,7 @@

{{- end -}} {{ if $isPastEvent }} - {{- partial "core/get_authors_short.html" . -}} + {{- partial "core/get_authors.html" (dict "data" . "layout" "short") -}} {{ end }}

diff --git a/themes/digital.gov/layouts/news/card-article.html b/themes/digital.gov/layouts/news/card-article.html index 3adc0752c2..2a7ae87e53 100644 --- a/themes/digital.gov/layouts/news/card-article.html +++ b/themes/digital.gov/layouts/news/card-article.html @@ -21,7 +21,7 @@

{{ .Params.deck | markdownify }}
{{- end -}} - {{- partial "core/get_authors_short.html" . -}} + {{- partial "core/get_authors.html" (dict "data" . "layout" "short") -}}

diff --git a/themes/digital.gov/layouts/news/single.html b/themes/digital.gov/layouts/news/single.html index aae556f1a1..7d2e8c37d2 100644 --- a/themes/digital.gov/layouts/news/single.html +++ b/themes/digital.gov/layouts/news/single.html @@ -22,9 +22,6 @@

{{- .Title | markdownify -}}

{{- .Params.deck | markdownify -}}
{{- end -}} - {{/* TODO: Not displayed on all pages */}} - {{- partial "core/get_authors_short.html" -}} -
diff --git a/themes/digital.gov/layouts/partials/core/get_authors.html b/themes/digital.gov/layouts/partials/core/get_authors.html index a988aa2766..cc9f155199 100644 --- a/themes/digital.gov/layouts/partials/core/get_authors.html +++ b/themes/digital.gov/layouts/partials/core/get_authors.html @@ -1,5 +1,10 @@ {{/* Displays the author circular image and name next to it - Used on events and news single + Long layout is used on events and news single.html + Short layout is used on card-*.html + + @param {page object} data - hugo page object that contains the associated authors for a post + @param {string} layout - layout variant to display, short will display image and full name while long will display agency and location. + @param {boolean} isShort - flag to toggle between short and long variant to display */}} {{ $data := .data }} {{ $layout := .layout }} diff --git a/themes/digital.gov/layouts/partials/core/get_authors_short.html b/themes/digital.gov/layouts/partials/core/get_authors_short.html deleted file mode 100644 index ba187ca9cf..0000000000 --- a/themes/digital.gov/layouts/partials/core/get_authors_short.html +++ /dev/null @@ -1,43 +0,0 @@ -{{/* Displays the author name next to a circular image - Used in card-*.html and event/single.html partials -*/}} - -{{- if .Params.authors -}} -
- {{/* Sets the taxonomy we're pulling here */}} - {{- $taxonomy := "authors" -}} - {{- $authors := .Param $taxonomy -}} - - {{/* Count the number of authors */}} - {{- $length := $authors | len -}} - - {{/* NOTE: Many of the pages in digital.gov have duplicate authors. */}} - {{/* So we are running "uniq" on the array to remove duplicates */}} - {{- range $i, $e := uniq $authors -}} - {{- $uid := . -}} - - {{/* If the byline was entered as a display name (i.e. - John Smith ) - then this will turn that into a UID for use in a URL. - */}} - {{- $uid := $e | urlize -}} - - {{/* Lets look up the author data, based on the UID. Should equal the filename */}} - {{- with $.Site.GetPage (printf "/%s/%s" $taxonomy $uid) -}} - - {{ if lt (add $i 1) $length }}{{ end }} - - {{- end -}} - {{- end -}} - -
-{{- end -}} diff --git a/themes/digital.gov/layouts/services/service-contact.html b/themes/digital.gov/layouts/services/service-contact.html index a83e5049dd..677bf53453 100644 --- a/themes/digital.gov/layouts/services/service-contact.html +++ b/themes/digital.gov/layouts/services/service-contact.html @@ -104,7 +104,7 @@

{{- end -}} - {{- partial "core/get_authors_short.html" . -}} + {{- partial "core/get_authors.html" (dict "data" . "layout" "short") -}}

diff --git a/themes/digital.gov/src/scss/new/_article.scss b/themes/digital.gov/src/scss/new/_article.scss index a6fd493ff3..cdce320088 100644 --- a/themes/digital.gov/src/scss/new/_article.scss +++ b/themes/digital.gov/src/scss/new/_article.scss @@ -58,14 +58,6 @@ article { @include u-margin-bottom(5); header { - .authors-list-short { - @include u-display("flex"); - - @include at-media("tablet-lg") { - @include u-display("none"); - } - } - .meta { @include at-media("tablet-lg") { @include u-display("none"); diff --git a/themes/digital.gov/src/scss/new/_authors-list-short.scss b/themes/digital.gov/src/scss/new/_authors-list-short.scss deleted file mode 100644 index 4b4512b18f..0000000000 --- a/themes/digital.gov/src/scss/new/_authors-list-short.scss +++ /dev/null @@ -1,51 +0,0 @@ -// Styles for the list of authors generally found on in cards in the news stream -@use "uswds-core" as *; - -.authors-list-short { - @include u-margin-top("105"); - @include u-margin-bottom(1); - @include u-maxw("full"); - @include u-display("flex"); - @include u-flex("wrap"); - - .author { - @include u-margin(0); - @include u-margin-y("05"); - @include u-margin-right("105"); - @include u-padding(0); - @include u-display("flex"); - @include u-flex("align-center"); - @include u-border(0); - @include u-text("primary-darker"); - @include u-text("medium"); - @include u-font("sans", "2xs"); - z-index: 2; - - @include at-media("tablet") { - @include u-font("sans", "2xs"); - } - - img { - @include u-margin-right("05"); - @include u-circle(3); - } - - span { - flex: 1; - white-space: nowrap; - } - } - - .author.contact { - @include u-margin-right(1); - @include u-padding-y("2px"); - @include u-padding-right(1); - @include u-text("primary-darker"); - @include u-bg("white"); - @include u-border-right("1px", "base", "solid"); - - i { - @include u-text("primary-darker"); - } - } -} diff --git a/themes/digital.gov/src/scss/new/_authors-list.scss b/themes/digital.gov/src/scss/new/_authors-list.scss index ae62e03969..85e00f8b91 100644 --- a/themes/digital.gov/src/scss/new/_authors-list.scss +++ b/themes/digital.gov/src/scss/new/_authors-list.scss @@ -52,3 +52,52 @@ } } } + +.authors-list-short { + @include u-margin-top("105"); + @include u-margin-bottom(1); + @include u-maxw("full"); + @include u-display("flex"); + @include u-flex("wrap"); + + .author { + @include u-margin(0); + @include u-margin-y("05"); + @include u-margin-right("105"); + @include u-padding(0); + @include u-display("flex"); + @include u-flex("align-center"); + @include u-border(0); + @include u-text("primary-darker"); + @include u-text("medium"); + @include u-font("sans", "2xs"); + z-index: 2; + + @include at-media("tablet") { + @include u-font("sans", "2xs"); + } + + img { + @include u-margin-right("05"); + @include u-circle(3); + } + + span { + flex: 1; + white-space: nowrap; + } + } + + .author.contact { + @include u-margin-right(1); + @include u-padding-y("2px"); + @include u-padding-right(1); + @include u-text("primary-darker"); + @include u-bg("white"); + @include u-border-right("1px", "base", "solid"); + + i { + @include u-text("primary-darker"); + } + } +} diff --git a/themes/digital.gov/src/scss/new/styles.scss b/themes/digital.gov/src/scss/new/styles.scss index 5c94f62d42..13dd3716ee 100644 --- a/themes/digital.gov/src/scss/new/styles.scss +++ b/themes/digital.gov/src/scss/new/styles.scss @@ -131,7 +131,6 @@ // Authors lists @forward "authors-list"; -@forward "authors-list-short"; // Authors profile @forward "author-profile"; From 42348a78fd16b261256d6443a57614b564852f0b Mon Sep 17 00:00:00 2001 From: Nick Lyons Date: Tue, 4 Jun 2024 14:59:31 -0400 Subject: [PATCH 003/171] Refactored variable names, cleaned up comments --- .../layouts/_default/taxonomy.html | 2 +- .../layouts/events/card-event.html | 2 +- themes/digital.gov/layouts/events/single.html | 2 +- .../layouts/news/card-article.html | 2 +- themes/digital.gov/layouts/news/single.html | 2 +- .../layouts/partials/core/get_authors.html | 49 ++++++++----------- .../layouts/services/service-contact.html | 2 +- 7 files changed, 27 insertions(+), 34 deletions(-) diff --git a/themes/digital.gov/layouts/_default/taxonomy.html b/themes/digital.gov/layouts/_default/taxonomy.html index adb9279099..c47e462b2d 100644 --- a/themes/digital.gov/layouts/_default/taxonomy.html +++ b/themes/digital.gov/layouts/_default/taxonomy.html @@ -68,7 +68,7 @@

title="{{- .Title | markdownify -}} " >{{- .Date.Format "Jan _2" -}}{{- partial "core/get_authors.html" (dict "data" . "layout" "short") -}} + >{{- partial "core/get_authors.html" (dict "context" . "layout" "short") -}}

diff --git a/themes/digital.gov/layouts/events/card-event.html b/themes/digital.gov/layouts/events/card-event.html index 4c62c3f529..11c4f3f5d1 100644 --- a/themes/digital.gov/layouts/events/card-event.html +++ b/themes/digital.gov/layouts/events/card-event.html @@ -52,7 +52,7 @@

{{- end -}} {{ if $isPastEvent }} - {{- partial "core/get_authors.html" (dict "data" . "layout" "short") -}} + {{- partial "core/get_authors.html" (dict "context" . "layout" "short") -}} {{ end }}

diff --git a/themes/digital.gov/layouts/events/single.html b/themes/digital.gov/layouts/events/single.html index d548e5d90b..11c56c2cc7 100644 --- a/themes/digital.gov/layouts/events/single.html +++ b/themes/digital.gov/layouts/events/single.html @@ -148,7 +148,7 @@

{{- .Title | markdownify -}}

{{/* Authors */}} {{- if .Params.authors -}}

In this talk

- {{- partial "core/get_authors.html" (dict "data" . "layout" "long") -}} + {{- partial "core/get_authors.html" (dict "context" . "layout" "long") -}} {{- end -}} {{- if eq .Params.event_platform "youtube_live" -}} diff --git a/themes/digital.gov/layouts/news/card-article.html b/themes/digital.gov/layouts/news/card-article.html index 2a7ae87e53..96b29c0dc9 100644 --- a/themes/digital.gov/layouts/news/card-article.html +++ b/themes/digital.gov/layouts/news/card-article.html @@ -21,7 +21,7 @@

{{ .Params.deck | markdownify }}
{{- end -}} - {{- partial "core/get_authors.html" (dict "data" . "layout" "short") -}} + {{- partial "core/get_authors.html" (dict "context" . "layout" "short") -}}
diff --git a/themes/digital.gov/layouts/news/single.html b/themes/digital.gov/layouts/news/single.html index 7d2e8c37d2..3b03ff6198 100644 --- a/themes/digital.gov/layouts/news/single.html +++ b/themes/digital.gov/layouts/news/single.html @@ -50,7 +50,7 @@

{{- .Title | markdownify -}}

{{/* Authors */}} - {{- partial "core/get_authors.html" (dict "data" . "layout" "long") -}} + {{- partial "core/get_authors.html" (dict "context" . "layout" "long") -}}
diff --git a/themes/digital.gov/layouts/partials/core/get_authors.html b/themes/digital.gov/layouts/partials/core/get_authors.html index cc9f155199..ea12f7d1cb 100644 --- a/themes/digital.gov/layouts/partials/core/get_authors.html +++ b/themes/digital.gov/layouts/partials/core/get_authors.html @@ -1,12 +1,12 @@ -{{/* Displays the author circular image and name next to it - Long layout is used on events and news single.html - Short layout is used on card-*.html +{{/* Displays the author circular image and name next to it. + Long layout is used on events and news single.html templates. + Short layout is used on card-*.html templates. - @param {page object} data - hugo page object that contains the associated authors for a post - @param {string} layout - layout variant to display, short will display image and full name while long will display agency and location. + @param {object} context - Parent scope context object + @param {string} layout - layout variant to display, "short" will display image and full name while "long" will additionally display agency. @param {boolean} isShort - flag to toggle between short and long variant to display */}} -{{ $data := .data }} +{{ $context := .context }} {{ $layout := .layout }} {{ $isShort := true }} @@ -14,20 +14,18 @@ {{ $isShort = false }} {{ end }} -{{- if $data.Params.authors -}} +{{ if $context.Params.authors }}
- {{- $authors_count := $data.Params.authors | len -}} + {{- $authors_count := $context.Params.authors | len -}} - {{- range $i, $e := $data.Params.authors -}} - {{- $uid := . -}} - - {{/* If the byline was entered as a display name (i.e. - John Smith ) - then this will turn that into a UID for use in a URL. - */}} + {{- range $i, $e := $context.Params.authors -}} + {{/* Convert into UID (i.e. john-smith) if author name is set as display name (i.e. John Smith) */}} {{- $uid := $e | urlize -}} - {{/* Lets look up the author data, based on the UID. Should equal the filename */}} - {{- with $data.Site.GetPage (printf "/%s/%s" "authors" $uid) -}} + {{/* Look up the author data using the UID (i.e. john-smith) */}} + {{- with $context.Site.GetPage (printf "/%s/%s" "authors" $uid) -}} + {{ $displayName := .Params.display_name }} + {{ $agency := .Params.agency }} {{ if $isShort }} {{- partial "core/get_author_image.html" (dict "author" . ) -}} Posts by - {{- .Params.display_name | default $uid | markdownify -}} {{- $displayName | default $uid | markdownify -}} {{ if lt (add $i 1) $authors_count }}{{ end }} {{ else }} @@ -53,26 +49,23 @@
Originally posted by - {{ .Params.display_name | default $uid }} + {{ $displayName | default $uid }} on {{ $.Date.Format "Jan 2, 2006" }} - {{- if .Params.agency -}} + {{- if $agency -}}

- {{- .Params.agency -}}{{- if .Params.location -}} -  | {{- .Params.location -}} - {{- end -}} + {{- $agency -}}

{{- end -}} -
diff --git a/themes/digital.gov/layouts/services/service-contact.html b/themes/digital.gov/layouts/services/service-contact.html index 677bf53453..43c57e9c6a 100644 --- a/themes/digital.gov/layouts/services/service-contact.html +++ b/themes/digital.gov/layouts/services/service-contact.html @@ -104,7 +104,7 @@

{{- end -}} - {{- partial "core/get_authors.html" (dict "data" . "layout" "short") -}} + {{- partial "core/get_authors.html" (dict "context" . "layout" "short") -}}

From ce834a2e9938eff08d22c397aa7e8916f4dd4115 Mon Sep 17 00:00:00 2001 From: Nick Lyons Date: Mon, 17 Jun 2024 14:13:19 -0400 Subject: [PATCH 004/171] Addressed first round of comments - [x] updates styles to use BEM - [x] refactored mixins to use functions - [x] improved doc comments --- content/authors/shonna-evans-thompson | 1 - .../partials/core/get_author_image.html | 8 +- .../layouts/partials/core/get_authors.html | 32 +++-- .../src/scss/new/_authors-list.scss | 131 +++++++----------- .../src/scss/new/_service-contact.scss | 2 +- 5 files changed, 75 insertions(+), 99 deletions(-) delete mode 100644 content/authors/shonna-evans-thompson diff --git a/content/authors/shonna-evans-thompson b/content/authors/shonna-evans-thompson deleted file mode 100644 index 8b13789179..0000000000 --- a/content/authors/shonna-evans-thompson +++ /dev/null @@ -1 +0,0 @@ - diff --git a/themes/digital.gov/layouts/partials/core/get_author_image.html b/themes/digital.gov/layouts/partials/core/get_author_image.html index ba39bbc475..b23b9ec7df 100644 --- a/themes/digital.gov/layouts/partials/core/get_author_image.html +++ b/themes/digital.gov/layouts/partials/core/get_author_image.html @@ -52,9 +52,13 @@ {{/* Templates for images ============== */}} {{ define "github" }} - + {{ end }} {{ define "digitalgov_icon" }} - + {{ end }} diff --git a/themes/digital.gov/layouts/partials/core/get_authors.html b/themes/digital.gov/layouts/partials/core/get_authors.html index ea12f7d1cb..4a68a02fdb 100644 --- a/themes/digital.gov/layouts/partials/core/get_authors.html +++ b/themes/digital.gov/layouts/partials/core/get_authors.html @@ -15,19 +15,21 @@ {{ end }} {{ if $context.Params.authors }} -
+
{{- $authors_count := $context.Params.authors | len -}} - {{- range $i, $e := $context.Params.authors -}} - {{/* Convert into UID (i.e. john-smith) if author name is set as display name (i.e. John Smith) */}} - {{- $uid := $e | urlize -}} + {{- range $index, $authorName := $context.Params.authors -}} + {{/* Converts capital case author name (i.e. John Smith) to lower case hyphenated (i.e. john-smith) string + to lookup the author page + */}} + {{- $uid := $authorName | urlize -}} - {{/* Look up the author data using the UID (i.e. john-smith) */}} + {{/* Look up the author page with the $uid (i.e. john-smith) */}} {{- with $context.Site.GetPage (printf "/%s/%s" "authors" $uid) -}} {{ $displayName := .Params.display_name }} {{ $agency := .Params.agency }} - {{ if $isShort }} + {{- if $isShort -}} {{- partial "core/get_author_image.html" (dict "author" . ) -}} Posts by - {{- $displayName | default $uid | markdownify -}} {{ if lt (add $i 1) $authors_count }}{{ end }} - - {{ else }} + {{- $displayName | default $uid | markdownify -}} + + {{- else -}}
-
+
{{- partial "core/get_author_image.html" (dict "author" . ) -}}
-
+
Originally posted by {{ $displayName | default $uid }} @@ -62,16 +65,15 @@ {{- $displayName | default $uid -}} {{- if $agency -}} -

+

{{- $agency -}}

{{- end -}}
- {{ end }} + {{- end -}} {{- end -}} - {{- end -}}
{{- end -}} diff --git a/themes/digital.gov/src/scss/new/_authors-list.scss b/themes/digital.gov/src/scss/new/_authors-list.scss index 85e00f8b91..d47492858c 100644 --- a/themes/digital.gov/src/scss/new/_authors-list.scss +++ b/themes/digital.gov/src/scss/new/_authors-list.scss @@ -2,102 +2,73 @@ // NOTE: The authors-list is included twice on the page. Once for desktop, the other for mobile. @use "uswds-core" as *; +// Display a vertically stacked list of authors .authors-list { - @include u-margin-top(0); - @include u-margin-bottom(7); + margin-bottom: units(7); + margin-top: 0; .author { - @include u-margin-bottom("105"); - @include u-padding-top("105"); - @include u-border-top("1px", "solid", "gray-10"); - @include u-flex("no-wrap"); + border-top: 1px color("gray-10") solid; + flex-wrap: nowrap; + margin-bottom: units("105"); + padding-top: units("105"); - img { - @include u-border("1px", "solid", "indigo-30"); - } - - .photo { - @include u-margin-right(1); - @include u-height(5); - @include u-width(5); - @include u-display("flex"); - @include u-flex("align-center"); - @include u-flex("justify-center"); - - img { - @include u-circle(5); - } + &:first-child { + border-top: 0; } + } - .details { - .authors-list__title { - @include u-font("sans", "xs"); - @include u-line-height("sans", 1); - @include u-margin-y("05"); - @include u-text("bold", "black", "no-underline"); - - &:hover { - @include u-border-bottom("2px", "accent-warm", "solid"); - } - } + .author__photo { + align-items: center; + display: flex; + height: units(5); + justify-content: center; + margin-right: units(1); + width: units(5); + } - p { - @include u-margin(0); - @include u-font("sans", "3xs"); - } - } + .author__photo-img { + border: 1px color("indigo-30") solid; + @include u-circle(5); + } - &:first-child { - @include u-border-top(0); - } + .author__details-agency { + font-size: font-size("sans", "3xs"); + margin: 0; } } -.authors-list-short { - @include u-margin-top("105"); - @include u-margin-bottom(1); - @include u-maxw("full"); - @include u-display("flex"); - @include u-flex("wrap"); +// Display as an inline list of authors +.authors-list--short { + display: flex; + flex-wrap: wrap; + margin-bottom: units(1); + margin-top: units("105"); + max-width: 100%; .author { - @include u-margin(0); - @include u-margin-y("05"); - @include u-margin-right("105"); - @include u-padding(0); - @include u-display("flex"); - @include u-flex("align-center"); - @include u-border(0); - @include u-text("primary-darker"); - @include u-text("medium"); - @include u-font("sans", "2xs"); + align-items: center; + border: none; + color: color("primary-darker"); + display: flex; + font-size: font-size("sans", "2xs"); + font-weight: font-weight("medium"); + margin-bottom: units("05"); + margin-left: 0; + margin-right: units("105"); + margin-top: units("05"); + + padding: 0; z-index: 2; - - @include at-media("tablet") { - @include u-font("sans", "2xs"); - } - - img { - @include u-margin-right("05"); - @include u-circle(3); - } - - span { - flex: 1; - white-space: nowrap; - } } - .author.contact { - @include u-margin-right(1); - @include u-padding-y("2px"); - @include u-padding-right(1); - @include u-text("primary-darker"); - @include u-bg("white"); - @include u-border-right("1px", "base", "solid"); + .author__name { + flex: 1; + white-space: nowrap; + } - i { - @include u-text("primary-darker"); - } + .author__photo-img { + margin-right: units("05"); + @include u-circle(3); } } diff --git a/themes/digital.gov/src/scss/new/_service-contact.scss b/themes/digital.gov/src/scss/new/_service-contact.scss index 3cb7f912fb..a5532ba5c6 100644 --- a/themes/digital.gov/src/scss/new/_service-contact.scss +++ b/themes/digital.gov/src/scss/new/_service-contact.scss @@ -85,7 +85,7 @@ } } - .authors-list-short { + .authors-list--short { @include u-margin(0); } } From beabf3ea3505a851f8277eaeeb53d8b5fce89f0f Mon Sep 17 00:00:00 2001 From: Nick Lyons Date: Thu, 27 Jun 2024 11:28:12 -0400 Subject: [PATCH 005/171] Additional template refactoring - [x] replaced grid with media-block component - [x] simplified component api - [x] inline and stacked layouts use same markup - [x] decoupled component styles for inline and stacked --- .../layouts/_default/taxonomy.html | 8 +- .../layouts/events/card-event.html | 7 +- themes/digital.gov/layouts/events/single.html | 7 +- .../layouts/news/card-article.html | 7 +- themes/digital.gov/layouts/news/single.html | 9 ++- ...et_author_image.html => author_image.html} | 8 +- .../layouts/partials/core/authors_list.html | 48 +++++++++++ .../layouts/partials/core/get_authors.html | 79 ------------------- .../layouts/services/service-contact.html | 10 ++- .../src/scss/new/_authors-list.scss | 19 ++--- 10 files changed, 101 insertions(+), 101 deletions(-) rename themes/digital.gov/layouts/partials/core/{get_author_image.html => author_image.html} (93%) create mode 100644 themes/digital.gov/layouts/partials/core/authors_list.html delete mode 100644 themes/digital.gov/layouts/partials/core/get_authors.html diff --git a/themes/digital.gov/layouts/_default/taxonomy.html b/themes/digital.gov/layouts/_default/taxonomy.html index c47e462b2d..57ef76661a 100644 --- a/themes/digital.gov/layouts/_default/taxonomy.html +++ b/themes/digital.gov/layouts/_default/taxonomy.html @@ -3,6 +3,12 @@ I am quite sure that this template is being overriden by the individual taxonomy templates (authors, topics, etc...) */}} + {{ $authors := where $.Site.Pages "Section" "authors" }} + {{ $authorData := slice }} + {{ range $authorName := .Params.authors }} + {{ $authorData = $authorData | append ( where $authors ".Params.slug" "eq" . ) }} + {{ end }} +
@@ -68,7 +74,7 @@

title="{{- .Title | markdownify -}} " >{{- .Date.Format "Jan _2" -}}{{- partial "core/get_authors.html" (dict "context" . "layout" "short") -}} + >{{- partial "core/authors_list.html" (dict "data" $authorData) -}}

diff --git a/themes/digital.gov/layouts/events/card-event.html b/themes/digital.gov/layouts/events/card-event.html index 11c4f3f5d1..8c34167ff6 100644 --- a/themes/digital.gov/layouts/events/card-event.html +++ b/themes/digital.gov/layouts/events/card-event.html @@ -1,6 +1,11 @@ {{ $now := now.Format "2006-01-02" }} {{ $eventDate := .Date.Format "2006-01-02" }} {{ $isPastEvent := cond (lt $eventDate $now) true false }} +{{ $authors := where $.Site.Pages "Section" "authors" }} +{{ $authorData := slice }} +{{ range $authorName := .Params.authors }} + {{ $authorData = $authorData | append ( where $authors ".Params.slug" "eq" . ) }} +{{ end }}
{{- end -}} {{ if $isPastEvent }} - {{- partial "core/get_authors.html" (dict "context" . "layout" "short") -}} + {{- partial "core/authors_list.html" (dict "data" $authorData) -}} {{ end }}
diff --git a/themes/digital.gov/layouts/events/single.html b/themes/digital.gov/layouts/events/single.html index 11c56c2cc7..5d15ca7108 100644 --- a/themes/digital.gov/layouts/events/single.html +++ b/themes/digital.gov/layouts/events/single.html @@ -9,6 +9,11 @@ {{- $event_desc := $.Params.summary | default $.Site.Params.description | markdownify -}} {{- $event_description := (print $event_desc $event_url) -}} {{- $event_location := .Params.venue.venue_name -}} + {{- $authors := where $.Site.Pages "Section" "authors" -}} + {{- $authorData := slice -}} + {{- range $authorName := .Params.authors -}} + {{- $authorData = $authorData | append ( where $authors ".Params.slug" "eq" . ) -}} + {{- end -}}
@@ -148,7 +153,7 @@

{{- .Title | markdownify -}}

{{/* Authors */}} {{- if .Params.authors -}}

In this talk

- {{- partial "core/get_authors.html" (dict "context" . "layout" "long") -}} + {{- partial "core/authors_list.html" (dict "data" $authorData "isStacked" true) -}} {{- end -}} {{- if eq .Params.event_platform "youtube_live" -}} diff --git a/themes/digital.gov/layouts/news/card-article.html b/themes/digital.gov/layouts/news/card-article.html index 96b29c0dc9..1106610485 100644 --- a/themes/digital.gov/layouts/news/card-article.html +++ b/themes/digital.gov/layouts/news/card-article.html @@ -1,5 +1,10 @@ {{/* Unique ID to link article to its title in screen readers */}} {{ $titleID := (printf "%s%s" "title-" .Title) | urlize }} +{{ $authors := where $.Site.Pages "Section" "authors" }} +{{ $authorData := slice }} +{{ range $authorName := .Params.authors }} + {{ $authorData = $authorData | append ( where $authors ".Params.slug" "eq" . ) }} +{{ end }}
{{ .Params.deck | markdownify }}
{{- end -}} - {{- partial "core/get_authors.html" (dict "context" . "layout" "short") -}} + {{- partial "core/authors_list.html" (dict "data" $authorData) -}}
diff --git a/themes/digital.gov/layouts/news/single.html b/themes/digital.gov/layouts/news/single.html index 3b03ff6198..5b528a5e8d 100644 --- a/themes/digital.gov/layouts/news/single.html +++ b/themes/digital.gov/layouts/news/single.html @@ -1,4 +1,11 @@ {{- define "content" -}} + {{ $authors := where $.Site.Pages "Section" "authors" }} + {{ $authorData := slice }} + {{ range $authorName := .Params.authors }} + {{ $authorData = $authorData | append ( where $authors ".Params.slug" "eq" . ) }} + {{ end }} + +
{{ partial "core/blog-date-warning.html" . }}
{{- .Title | markdownify -}}

{{/* Authors */}} - {{- partial "core/get_authors.html" (dict "context" . "layout" "long") -}} + {{- partial "core/authors_list.html" (dict "data" $authorData "isStacked" true) -}}
diff --git a/themes/digital.gov/layouts/partials/core/get_author_image.html b/themes/digital.gov/layouts/partials/core/author_image.html similarity index 93% rename from themes/digital.gov/layouts/partials/core/get_author_image.html rename to themes/digital.gov/layouts/partials/core/author_image.html index b23b9ec7df..b09f043798 100644 --- a/themes/digital.gov/layouts/partials/core/get_author_image.html +++ b/themes/digital.gov/layouts/partials/core/author_image.html @@ -53,12 +53,16 @@ {{ define "github" }} {{ end }} {{ define "digitalgov_icon" }} - + {{ end }} diff --git a/themes/digital.gov/layouts/partials/core/authors_list.html b/themes/digital.gov/layouts/partials/core/authors_list.html new file mode 100644 index 0000000000..fa3305f9ad --- /dev/null +++ b/themes/digital.gov/layouts/partials/core/authors_list.html @@ -0,0 +1,48 @@ +{{/* ========= + + Displays an authors github image as a circle profile and name next to it. + The default layout is an inline list used on card-*.html templates. + An optional override to display a stacked vertical list is used on events and news single.html templates. + + @param {object} data - required list of author pages + @param {boolean} isStacked - optional flag to display a stacked vertical list of authors + + @example + {{- partial "core/authors_list.html" (dict "data" $authorData "isStacked" true) +-}} +*/}} +{{ $data := .data }} +{{ $isStacked := default false .isStacked }} +{{ $authorClasses := slice (print (cond $isStacked "authors-list" "authors-list--inline")) }} + +{{ if $data }} +
+ {{ range $data }} + {{ $authorSlug := .Params.slug }} + {{ $authorDisplayName := .Params.display_name }} + {{ $authorAgency := .Params.agency }} + + +
+ {{ partial "core/author_image.html" (dict "author" . ) }} +
+ + {{ if $isStacked }} + {{ if $authorAgency }} +

+ {{ $authorAgency }} +

+ {{ end }} + {{ end }} +
+
+ {{ end }} +
+{{ end }} diff --git a/themes/digital.gov/layouts/partials/core/get_authors.html b/themes/digital.gov/layouts/partials/core/get_authors.html deleted file mode 100644 index 4a68a02fdb..0000000000 --- a/themes/digital.gov/layouts/partials/core/get_authors.html +++ /dev/null @@ -1,79 +0,0 @@ -{{/* Displays the author circular image and name next to it. - Long layout is used on events and news single.html templates. - Short layout is used on card-*.html templates. - - @param {object} context - Parent scope context object - @param {string} layout - layout variant to display, "short" will display image and full name while "long" will additionally display agency. - @param {boolean} isShort - flag to toggle between short and long variant to display -*/}} -{{ $context := .context }} -{{ $layout := .layout }} - -{{ $isShort := true }} -{{ if eq $layout "long" }} - {{ $isShort = false }} -{{ end }} - -{{ if $context.Params.authors }} -
- {{- $authors_count := $context.Params.authors | len -}} - - {{- range $index, $authorName := $context.Params.authors -}} - {{/* Converts capital case author name (i.e. John Smith) to lower case hyphenated (i.e. john-smith) string - to lookup the author page - */}} - {{- $uid := $authorName | urlize -}} - - {{/* Look up the author page with the $uid (i.e. john-smith) */}} - {{- with $context.Site.GetPage (printf "/%s/%s" "authors" $uid) -}} - {{ $displayName := .Params.display_name }} - {{ $agency := .Params.agency }} - - {{- if $isShort -}} - - {{- else -}} -
-
-
- {{- partial "core/get_author_image.html" (dict "author" . ) -}} -
-
-
-
- - Originally posted by - {{ $displayName | default $uid }} - on - {{ $.Date.Format "Jan 2, 2006" }} - - - {{- if $agency -}} -

- {{- $agency -}} -

- {{- end -}} -
-
-
- {{- end -}} - {{- end -}} - {{- end -}} -
-{{- end -}} diff --git a/themes/digital.gov/layouts/services/service-contact.html b/themes/digital.gov/layouts/services/service-contact.html index 43c57e9c6a..d4fc83d9b2 100644 --- a/themes/digital.gov/layouts/services/service-contact.html +++ b/themes/digital.gov/layouts/services/service-contact.html @@ -104,7 +104,15 @@

{{- end -}} - {{- partial "core/get_authors.html" (dict "context" . "layout" "short") -}} + {{ if .Params.authors }} + {{ $authors := where .Site.Pages "Section" "authors" }} + {{ $authorData := slice }} + {{ range $authorName := .Params.authors }} + {{ $authorData = $authorData | append ( where $authors ".Params.slug" "eq" . ) }} + {{ end }} + {{ partial "core/authors_list.html" (dict "data" $authorData) }} + {{ end }} +

diff --git a/themes/digital.gov/src/scss/new/_authors-list.scss b/themes/digital.gov/src/scss/new/_authors-list.scss index d47492858c..bf589a7ad8 100644 --- a/themes/digital.gov/src/scss/new/_authors-list.scss +++ b/themes/digital.gov/src/scss/new/_authors-list.scss @@ -18,15 +18,6 @@ } } - .author__photo { - align-items: center; - display: flex; - height: units(5); - justify-content: center; - margin-right: units(1); - width: units(5); - } - .author__photo-img { border: 1px color("indigo-30") solid; @include u-circle(5); @@ -39,7 +30,7 @@ } // Display as an inline list of authors -.authors-list--short { +.authors-list--inline { display: flex; flex-wrap: wrap; margin-bottom: units(1); @@ -49,25 +40,25 @@ .author { align-items: center; border: none; - color: color("primary-darker"); display: flex; - font-size: font-size("sans", "2xs"); - font-weight: font-weight("medium"); margin-bottom: units("05"); margin-left: 0; margin-right: units("105"); margin-top: units("05"); - padding: 0; z-index: 2; } .author__name { + color: color("primary-darker"); flex: 1; + font-size: font-size("sans", "2xs"); + font-weight: font-weight("medium"); white-space: nowrap; } .author__photo-img { + border: 1px color("indigo-30") solid; margin-right: units("05"); @include u-circle(3); } From 26ecf437efff1415bab26cd20470a5d2a653f9dc Mon Sep 17 00:00:00 2001 From: Nick Lyons Date: Thu, 27 Jun 2024 11:38:49 -0400 Subject: [PATCH 006/171] Fixed styling on services directory page --- themes/digital.gov/src/scss/new/_service-contact.scss | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/themes/digital.gov/src/scss/new/_service-contact.scss b/themes/digital.gov/src/scss/new/_service-contact.scss index a5532ba5c6..dc06d53e5d 100644 --- a/themes/digital.gov/src/scss/new/_service-contact.scss +++ b/themes/digital.gov/src/scss/new/_service-contact.scss @@ -85,7 +85,7 @@ } } - .authors-list--short { + .authors-list--inline { @include u-margin(0); } } From cca48ce8b644e91d0d32718c0e4ec4263e4845ab Mon Sep 17 00:00:00 2001 From: Tyson Cheung Date: Tue, 2 Jul 2024 12:51:29 -0400 Subject: [PATCH 007/171] Formatting changes for services/directory - Removed unnecessary header margin, added padding to directory table - Hide overflow to prevent text clipping --- themes/digital.gov/src/scss/new/_service-contact.scss | 2 +- themes/digital.gov/src/scss/new/_services-directory.scss | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/themes/digital.gov/src/scss/new/_service-contact.scss b/themes/digital.gov/src/scss/new/_service-contact.scss index 3cb7f912fb..7fe2de7014 100644 --- a/themes/digital.gov/src/scss/new/_service-contact.scss +++ b/themes/digital.gov/src/scss/new/_service-contact.scss @@ -7,7 +7,6 @@ @include u-line-height("sans", 3); @include u-bg("white"); @include u-border-bottom("1px", "gray-cool-10", "solid"); - @include u-bg("white"); @include at-media("tablet") { @include u-padding-y("105"); @@ -17,6 +16,7 @@ .copy { @include u-display("flex"); @include u-flex("align-start"); + @include u-overflow("hidden"); p { @include u-margin-top(0); diff --git a/themes/digital.gov/src/scss/new/_services-directory.scss b/themes/digital.gov/src/scss/new/_services-directory.scss index f314a314e3..c644cad0d7 100644 --- a/themes/digital.gov/src/scss/new/_services-directory.scss +++ b/themes/digital.gov/src/scss/new/_services-directory.scss @@ -2,10 +2,6 @@ .services-contacts { @include u-bg("blue-warm-5"); - - header { - @include u-margin-bottom(5); - } } .service-contact-heading { @@ -15,3 +11,7 @@ @include u-display("block"); } } + +.directory { + @include u-padding-bottom(10); +} From 83dcbbbc88342bff6abd971cf65c7dfc1386f3ee Mon Sep 17 00:00:00 2001 From: lcummings3424 Date: Tue, 2 Jul 2024 12:08:15 -0500 Subject: [PATCH 008/171] use full sized image --- themes/digital.gov/layouts/shortcodes/img.html | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/themes/digital.gov/layouts/shortcodes/img.html b/themes/digital.gov/layouts/shortcodes/img.html index b4139494cb..019d51694a 100644 --- a/themes/digital.gov/layouts/shortcodes/img.html +++ b/themes/digital.gov/layouts/shortcodes/img.html @@ -23,7 +23,7 @@ {{- $thisuid := replaceRE "\\.[jpegpn]{3,4}$" "" $thisuid -}} {{- $thisimg := index $.Site.Data.images $thisuid -}} {{- $imgBase := $thisimg.uid -}} -{{- $imgExt := $thisimg.format -}} +{{- $imgExt := $thisimg.format -}} {{- $imgBaseCDN := printf "%s/%s" $cdnurl $imgBase -}} {{- $imgWidth := $thisimg.width -}} {{- $imgHeight := $thisimg.height -}} @@ -41,14 +41,13 @@ {{ $imageClasses = $imageClasses | append "image-inline" }} {{ end }} -
{{- if or (eq $imgExt "jpg") (eq $imgExt "jpeg") (eq $imgExt "png") -}} {{- with .Get {{- else -}} Date: Tue, 2 Jul 2024 13:12:24 -0400 Subject: [PATCH 009/171] Part of last commit --- themes/digital.gov/layouts/services/directory.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/themes/digital.gov/layouts/services/directory.html b/themes/digital.gov/layouts/services/directory.html index f92a7ee8a7..0d6a18871f 100644 --- a/themes/digital.gov/layouts/services/directory.html +++ b/themes/digital.gov/layouts/services/directory.html @@ -25,7 +25,7 @@

{{- .Title | markdownify -}}

{{- $services := (where $services ".Params.weight" "ge" 1) -}} -
+
{{/* Gather all the service pages */}} From af8878df53e056ae4e4e777b9bf290c6f01f9594 Mon Sep 17 00:00:00 2001 From: lcummings3424 Date: Tue, 2 Jul 2024 12:28:32 -0500 Subject: [PATCH 010/171] formatting fix --- themes/digital.gov/layouts/shortcodes/img.html | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/themes/digital.gov/layouts/shortcodes/img.html b/themes/digital.gov/layouts/shortcodes/img.html index 019d51694a..202d01f300 100644 --- a/themes/digital.gov/layouts/shortcodes/img.html +++ b/themes/digital.gov/layouts/shortcodes/img.html @@ -23,7 +23,7 @@ {{- $thisuid := replaceRE "\\.[jpegpn]{3,4}$" "" $thisuid -}} {{- $thisimg := index $.Site.Data.images $thisuid -}} {{- $imgBase := $thisimg.uid -}} -{{- $imgExt := $thisimg.format -}} +{{- $imgExt := $thisimg.format -}} {{- $imgBaseCDN := printf "%s/%s" $cdnurl $imgBase -}} {{- $imgWidth := $thisimg.width -}} {{- $imgHeight := $thisimg.height -}} @@ -41,6 +41,7 @@ {{ $imageClasses = $imageClasses | append "image-inline" }} {{ end }} +
{{- if or (eq $imgExt "jpg") (eq $imgExt "jpeg") (eq $imgExt "png") -}} Date: Tue, 2 Jul 2024 14:26:26 -0400 Subject: [PATCH 011/171] Refactored component logic, styles - [x] applies both base class and variant class BEM style - [x] move author query back to author component --- .../layouts/_default/taxonomy.html | 8 +-- .../layouts/events/card-event.html | 7 +-- themes/digital.gov/layouts/events/single.html | 7 +-- .../layouts/news/card-article.html | 7 +-- themes/digital.gov/layouts/news/single.html | 9 +-- .../layouts/partials/core/authors_list.html | 61 ++++++++++--------- .../layouts/services/service-contact.html | 7 +-- .../src/scss/new/_authors-list.scss | 2 +- 8 files changed, 39 insertions(+), 69 deletions(-) diff --git a/themes/digital.gov/layouts/_default/taxonomy.html b/themes/digital.gov/layouts/_default/taxonomy.html index 57ef76661a..3864f29d26 100644 --- a/themes/digital.gov/layouts/_default/taxonomy.html +++ b/themes/digital.gov/layouts/_default/taxonomy.html @@ -3,12 +3,6 @@ I am quite sure that this template is being overriden by the individual taxonomy templates (authors, topics, etc...) */}} - {{ $authors := where $.Site.Pages "Section" "authors" }} - {{ $authorData := slice }} - {{ range $authorName := .Params.authors }} - {{ $authorData = $authorData | append ( where $authors ".Params.slug" "eq" . ) }} - {{ end }} -
@@ -74,7 +68,7 @@

title="{{- .Title | markdownify -}} " >{{- .Date.Format "Jan _2" -}}{{- partial "core/authors_list.html" (dict "data" $authorData) -}} + >{{- partial "core/authors_list.html" (dict "scope" . "isInline" true) -}}

diff --git a/themes/digital.gov/layouts/events/card-event.html b/themes/digital.gov/layouts/events/card-event.html index 8c34167ff6..d1f2d29b25 100644 --- a/themes/digital.gov/layouts/events/card-event.html +++ b/themes/digital.gov/layouts/events/card-event.html @@ -1,11 +1,6 @@ {{ $now := now.Format "2006-01-02" }} {{ $eventDate := .Date.Format "2006-01-02" }} {{ $isPastEvent := cond (lt $eventDate $now) true false }} -{{ $authors := where $.Site.Pages "Section" "authors" }} -{{ $authorData := slice }} -{{ range $authorName := .Params.authors }} - {{ $authorData = $authorData | append ( where $authors ".Params.slug" "eq" . ) }} -{{ end }}
{{- end -}} {{ if $isPastEvent }} - {{- partial "core/authors_list.html" (dict "data" $authorData) -}} + {{- partial "core/authors_list.html" (dict "scope" . "isInline" true) -}} {{ end }}
diff --git a/themes/digital.gov/layouts/events/single.html b/themes/digital.gov/layouts/events/single.html index 5d15ca7108..d3cd630be5 100644 --- a/themes/digital.gov/layouts/events/single.html +++ b/themes/digital.gov/layouts/events/single.html @@ -9,11 +9,6 @@ {{- $event_desc := $.Params.summary | default $.Site.Params.description | markdownify -}} {{- $event_description := (print $event_desc $event_url) -}} {{- $event_location := .Params.venue.venue_name -}} - {{- $authors := where $.Site.Pages "Section" "authors" -}} - {{- $authorData := slice -}} - {{- range $authorName := .Params.authors -}} - {{- $authorData = $authorData | append ( where $authors ".Params.slug" "eq" . ) -}} - {{- end -}}
@@ -153,7 +148,7 @@

{{- .Title | markdownify -}}

{{/* Authors */}} {{- if .Params.authors -}}

In this talk

- {{- partial "core/authors_list.html" (dict "data" $authorData "isStacked" true) -}} + {{- partial "core/authors_list.html" (dict "scope" .) -}} {{- end -}} {{- if eq .Params.event_platform "youtube_live" -}} diff --git a/themes/digital.gov/layouts/news/card-article.html b/themes/digital.gov/layouts/news/card-article.html index 1106610485..db739e0bc2 100644 --- a/themes/digital.gov/layouts/news/card-article.html +++ b/themes/digital.gov/layouts/news/card-article.html @@ -1,10 +1,5 @@ {{/* Unique ID to link article to its title in screen readers */}} {{ $titleID := (printf "%s%s" "title-" .Title) | urlize }} -{{ $authors := where $.Site.Pages "Section" "authors" }} -{{ $authorData := slice }} -{{ range $authorName := .Params.authors }} - {{ $authorData = $authorData | append ( where $authors ".Params.slug" "eq" . ) }} -{{ end }}
{{ .Params.deck | markdownify }}
{{- end -}} - {{- partial "core/authors_list.html" (dict "data" $authorData) -}} + {{- partial "core/authors_list.html" (dict "scope" . "isInline" true) -}}
diff --git a/themes/digital.gov/layouts/news/single.html b/themes/digital.gov/layouts/news/single.html index 5b528a5e8d..7eba3e1878 100644 --- a/themes/digital.gov/layouts/news/single.html +++ b/themes/digital.gov/layouts/news/single.html @@ -1,11 +1,4 @@ {{- define "content" -}} - {{ $authors := where $.Site.Pages "Section" "authors" }} - {{ $authorData := slice }} - {{ range $authorName := .Params.authors }} - {{ $authorData = $authorData | append ( where $authors ".Params.slug" "eq" . ) }} - {{ end }} - -
{{ partial "core/blog-date-warning.html" . }}
{{- .Title | markdownify -}}
{{/* Authors */}} - {{- partial "core/authors_list.html" (dict "data" $authorData "isStacked" true) -}} + {{- partial "core/authors_list.html" (dict "scope" .) }}
diff --git a/themes/digital.gov/layouts/partials/core/authors_list.html b/themes/digital.gov/layouts/partials/core/authors_list.html index fa3305f9ad..d5e5af0f51 100644 --- a/themes/digital.gov/layouts/partials/core/authors_list.html +++ b/themes/digital.gov/layouts/partials/core/authors_list.html @@ -1,48 +1,51 @@ {{/* ========= Displays an authors github image as a circle profile and name next to it. - The default layout is an inline list used on card-*.html templates. - An optional override to display a stacked vertical list is used on events and news single.html templates. + The default layout is a stacked vertical list used on events and news single.html templates. + Allows an optional override to display a inline list on card-*.html templates. - @param {object} data - required list of author pages - @param {boolean} isStacked - optional flag to display a stacked vertical list of authors + @param {object} scope - the current template page scope used to get the associated authors + @param {boolean} isInline - optional flag to display an inline list of authors @example - {{- partial "core/authors_list.html" (dict "data" $authorData "isStacked" true) + {{- partial "core/authors_list.html" (dict "scope" . "isInline" true) -}} */}} -{{ $data := .data }} -{{ $isStacked := default false .isStacked }} -{{ $authorClasses := slice (print (cond $isStacked "authors-list" "authors-list--inline")) }} +{{ $scope := .scope }} +{{ $isInline := default false .isInline }} +{{/* Returns the list of authors from the parent scope */}} +{{ $authors := $scope.Param "authors" }} -{{ if $data }} -
- {{ range $data }} - {{ $authorSlug := .Params.slug }} - {{ $authorDisplayName := .Params.display_name }} - {{ $authorAgency := .Params.agency }} +{{ if $authors }} +
+ {{ range $i, $e := uniq (sort $authors) }} + {{ $uid := $e | urlize }} + {{ $author := $scope.Site.GetPage (printf "/%s/%s" "authors" $uid) }} + {{ with $author }} + {{ $authorSlug := $author.Params.slug }} + {{ $authorDisplayName := $author.Params.display_name }} + {{ $authorAgency := $author.Params.agency }} -
- {{ partial "core/author_image.html" (dict "author" . ) }} -
- - {{ if $isStacked }} - {{ if $authorAgency }} +
+ {{ partial "core/author_image.html" (dict "author" . ) }} +
+ + {{ if and (not $isInline) $authorAgency }}

{{ $authorAgency }}

{{ end }} - {{ end }} +
-
+ {{ end }} {{ end }}
{{ end }} diff --git a/themes/digital.gov/layouts/services/service-contact.html b/themes/digital.gov/layouts/services/service-contact.html index d4fc83d9b2..95fbee912d 100644 --- a/themes/digital.gov/layouts/services/service-contact.html +++ b/themes/digital.gov/layouts/services/service-contact.html @@ -105,12 +105,7 @@

{{- end -}} {{ if .Params.authors }} - {{ $authors := where .Site.Pages "Section" "authors" }} - {{ $authorData := slice }} - {{ range $authorName := .Params.authors }} - {{ $authorData = $authorData | append ( where $authors ".Params.slug" "eq" . ) }} - {{ end }} - {{ partial "core/authors_list.html" (dict "data" $authorData) }} + {{ partial "core/authors_list.html" (dict "scope" . "isInline" true) }} {{ end }}

diff --git a/themes/digital.gov/src/scss/new/_authors-list.scss b/themes/digital.gov/src/scss/new/_authors-list.scss index bf589a7ad8..d50a42eedd 100644 --- a/themes/digital.gov/src/scss/new/_authors-list.scss +++ b/themes/digital.gov/src/scss/new/_authors-list.scss @@ -8,7 +8,7 @@ margin-top: 0; .author { - border-top: 1px color("gray-10") solid; + border-top: 1px color("base") solid; flex-wrap: nowrap; margin-bottom: units("105"); padding-top: units("105"); From 2f6ecc27e13490e70e258aa58884e1882b9b9295 Mon Sep 17 00:00:00 2001 From: Nick Lyons Date: Tue, 2 Jul 2024 15:35:07 -0400 Subject: [PATCH 012/171] Fixed merge conflict for card-news.html --- themes/digital.gov/layouts/news/card-news.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/themes/digital.gov/layouts/news/card-news.html b/themes/digital.gov/layouts/news/card-news.html index ffb640b123..f85c11b1ba 100644 --- a/themes/digital.gov/layouts/news/card-news.html +++ b/themes/digital.gov/layouts/news/card-news.html @@ -76,7 +76,7 @@

{{- end -}} {{ if $authors }} - {{- partial "core/get_authors_short.html" . -}} + {{ partial "core/authors_list.html" (dict "scope" . "isInline" true) }} {{ end }} {{ end }}

From a4cb3305949547ad184d52b4cbc68d1a3e930a57 Mon Sep 17 00:00:00 2001 From: Tyson Cheung Date: Tue, 9 Jul 2024 13:27:12 -0400 Subject: [PATCH 013/171] Refactor service-contact call in service-contact.html --- .../layouts/services/service-contact.html | 77 ++++++++----------- 1 file changed, 32 insertions(+), 45 deletions(-) diff --git a/themes/digital.gov/layouts/services/service-contact.html b/themes/digital.gov/layouts/services/service-contact.html index a83e5049dd..afe31734b0 100644 --- a/themes/digital.gov/layouts/services/service-contact.html +++ b/themes/digital.gov/layouts/services/service-contact.html @@ -1,50 +1,37 @@ -{{/* set the href as a variable */}} -{{- $href := "" -}} +{{/* set the href and src variables */}} +{{ $href := "" }} +{{ $src := "" }} -{{/* If an external link */}} -{{- if .Params.source_url -}} - {{/* If there is a defined source for this page */}} - {{- if .Params.source -}} - {{/* Get the source data */}} - {{- $source := .Site.GetPage (print "source_" .Params.source ) -}} - {{/* If there is a logo defined in the source */}} - {{- if $source.Params.logo -}} - {{/* get the path for the icon — e.g. 18f-icon.png */}} - {{- $src := (printf "logos/%s%s" $source.Params.logo "-icon.png") -}} - {{/* Pass these vars into the list item template (botton of page) */}} - {{- template "service-contact" dict "item" . "href" .Params.source_url "src" $src -}} - {{- end -}} +{{/* Determine href and src based on conditions */}} +{{ if .Params.source_url }} + {{/* If an external link */}} + {{ $href = .Params.source_url }} + {{ if .Params.source }} + {{/* If there is a defined source for this page */}} + {{ with $.Site.GetPage (print "source_" .Params.source) }} + {{/* Get the source data */}} + {{ if .Params.logo }} + {{/* If there is a logo defined in the source */}} + {{ $src = printf "logos/%s%s" .Params.logo "-icon.png" | relURL }} + {{ end }} + {{ end }} + {{ else }} + {{/* No specific source, attempt to get favicon from the URL */}} + {{ $src = printf "https://www.google.com/s2/favicons?domain=%s" $href }} + {{ end }} +{{ else }} + {{/* If an internal link */}} + {{ if .Params.logo }} + {{/* If there is a logo defined for internal link */}} + {{ $src = printf "logos/%s%s" .Params.logo "-icon.png" | relURL }} + {{ else }} + {{/* Use a default logo for internal link */}} + {{ $src = "logos/digitalgov-icon.png" | relURL }} + {{ end }} +{{ end }} - {{- else if .Params.logo -}} - {{/* get the path for the icon — e.g. 18f-icon.png */}} - {{- $src := (printf "logos/%s%s" .Params.logo "-icon.png") -}} - {{/* Pass these vars into the list item template (botton of page) */}} - {{- template "service-contact" dict "item" . "href" .Params.source_url "src" $src -}} - - {{/* No source? let's attempt to get the favicon for the URL */}} - {{- else -}} - {{/* get the Favicon via Google Favicon service */}} - {{- $src := (print "https://www.google.com/s2/favicons?domain=" .Params.source_url) -}} - {{/* Pass these vars into the list item template (botton of page) */}} - {{- template "service-contact" dict "item" . "href" .Params.source_url "src" $src -}} - {{- end -}} - - {{/* If an internal link... */}} - {{/* meaning there is no .source_url */}} -{{- else -}} - {{- if .Params.logo -}} - {{/* get the path for the icon — e.g. 18f-icon.png */}} - {{- $src := (print "logos/" .Params.logo "-icon.png") -}} - {{/* Pass these vars into the list item template (botton of page) */}} - {{- template "service-contact" dict "item" . "href" .Params.source_url "src" $src -}} - {{- else -}} - {{/* Use the digital.gov logo */}} - {{/* Pass these vars into the list item template (botton of page) */}} - {{- template "service-contact" dict "item" . "href" .Params.source_url "src" $src -}} - {{- $src := (print "logos/" "digitalgov-icon.png") -}} - {{- end -}} - -{{- end -}} +{{/* Calls the the service-contact template once! */}} +{{ template "service-contact" dict "item" . "href" $href "src" $src }} {{- define "service-contact" -}} {{- $href := .href -}} From 2b5befa8119aaa890ebc7b9a36d8ef6b0c133df5 Mon Sep 17 00:00:00 2001 From: Tyson Cheung Date: Tue, 9 Jul 2024 15:20:29 -0400 Subject: [PATCH 014/171] Creates new partial /core/service-contact-template.html - also removed outdated 'last-updated.html' partial --- .../core/service-contact-template.html | 77 ++++++++++++++++++ .../layouts/services/directory.html | 2 - .../layouts/services/service-contact.html | 78 ------------------- 3 files changed, 77 insertions(+), 80 deletions(-) create mode 100644 themes/digital.gov/layouts/partials/core/service-contact-template.html diff --git a/themes/digital.gov/layouts/partials/core/service-contact-template.html b/themes/digital.gov/layouts/partials/core/service-contact-template.html new file mode 100644 index 0000000000..4156e7ec95 --- /dev/null +++ b/themes/digital.gov/layouts/partials/core/service-contact-template.html @@ -0,0 +1,77 @@ +{{- define "service-contact" -}} + {{- $href := .href -}} + {{- $src := .src -}} + {{- with .item -}} +
+
+
+
+ {{- template "icon-resource" dict "item" . "src" $src "href" $href -}} + +
+
+
+
+ {{- if .Params.deck -}} +

{{- .Params.deck | markdownify -}}

+ {{- else -}} +

+ {{- .Params.summary | markdownify | truncate 140 -}} +

+ {{- end -}} +
+
+ +
+
+ {{ if .Params.contact }} + + + + Contact + + {{- end -}} + + {{- partial "core/get_authors_short.html" . -}} +
+
+
+
+ {{- end -}} +{{- end -}} + +{{- define "icon-resource" -}} + {{- $src := .src -}} + {{- $href := .href -}} + {{- with .item -}} +
+ {{- .Params.name }} icon +
+ {{- end -}} +{{- end -}} diff --git a/themes/digital.gov/layouts/services/directory.html b/themes/digital.gov/layouts/services/directory.html index 0d6a18871f..1e882b0e7f 100644 --- a/themes/digital.gov/layouts/services/directory.html +++ b/themes/digital.gov/layouts/services/directory.html @@ -11,8 +11,6 @@

{{- .Title | markdownify -}}

{{- if .Params.deck -}}
{{- .Params.deck | markdownify -}}
{{- end -}} - - {{/* {{ partial "last-updated.html" . }} */}}
diff --git a/themes/digital.gov/layouts/services/service-contact.html b/themes/digital.gov/layouts/services/service-contact.html index afe31734b0..3faf7ff026 100644 --- a/themes/digital.gov/layouts/services/service-contact.html +++ b/themes/digital.gov/layouts/services/service-contact.html @@ -32,81 +32,3 @@ {{/* Calls the the service-contact template once! */}} {{ template "service-contact" dict "item" . "href" $href "src" $src }} - -{{- define "service-contact" -}} - {{- $href := .href -}} - {{- $src := .src -}} - {{- with .item -}} -
-
-
-
- {{- template "icon-resource" dict "item" . "src" $src "href" $href -}} - -
-
-
-
- {{- if .Params.deck -}} -

{{- .Params.deck | markdownify -}}

- {{- else -}} -

- {{- .Params.summary | markdownify | truncate 140 -}} -

- {{- end -}} -
-
- -
-
- {{ if .Params.contact }} - - - - Contact - - {{- end -}} - - {{- partial "core/get_authors_short.html" . -}} -
-
-
-
- {{- end -}} -{{- end -}} - -{{- define "icon-resource" -}} - {{- $src := .src -}} - {{- $href := .href -}} - {{- with .item -}} -
- {{- .Params.name }} icon -
- {{- end -}} -{{- end -}} From 2f66ea0e89744a1af51b0bfee71cf99df0ab7cbb Mon Sep 17 00:00:00 2001 From: lcummings3424 Date: Tue, 9 Jul 2024 15:51:18 -0500 Subject: [PATCH 015/171] address image sizing issue --- .../digital.gov/layouts/shortcodes/img.html | 31 +++++++------------ 1 file changed, 11 insertions(+), 20 deletions(-) diff --git a/themes/digital.gov/layouts/shortcodes/img.html b/themes/digital.gov/layouts/shortcodes/img.html index 202d01f300..41e4e20334 100644 --- a/themes/digital.gov/layouts/shortcodes/img.html +++ b/themes/digital.gov/layouts/shortcodes/img.html @@ -16,7 +16,6 @@ {{< img src="image-2" align="center" inline="true" alt="UX Summit Image 2" >}} */}} - {{- $cdnurl := .Site.Params.cdnurl -}} {{- $thisuid := (.Get "src" | lower) -}} @@ -40,6 +39,9 @@ {{ if eq $inline "true" }} {{ $imageClasses = $imageClasses | append "image-inline" }} {{ end }} +{{ if eq $align "center" }} + {{ $imageClasses = $imageClasses | append "image-center" }} +{{ end }}
@@ -58,25 +60,13 @@ {{- end -}}" {{- end -}} {{- if eq $prefix $thisuid -}} - srcset=" - {{- if ge $imgWidth 200 -}} - {{- $imgBaseCDN -}}_bu.jpg 48w, - {{- if ge $imgWidth 400 -}} - {{- if ge $imgWidth 800 -}} - {{- if ge $imgWidth 1200 -}} - {{- $imgBaseCDN -}}_w1200.{{- $imgExt }} 1200w, - {{- end -}} - {{- $imgBaseCDN -}}_w800.{{- $imgExt }} 800w, - {{- end -}} - {{- $imgBaseCDN -}}_w400.{{- $imgExt }} 400w, - {{- end -}} - {{- $imgBaseCDN -}}_w200.{{- $imgExt }} 200w - {{- else -}} - {{- $imgBaseCDN -}}.{{- $imgExt }} {{ $imgWidth -}}w - {{- end -}} - " + srcset=" {{- $imgBaseCDN -}}_bu.jpg 48w, + {{- $imgBaseCDN -}}_w200.{{- $imgExt }} 200w, + {{- $imgBaseCDN -}}_w400.{{- $imgExt }} 400w, + {{- $imgBaseCDN -}}_w800.{{- $imgExt }} 800w, + {{- $imgBaseCDN -}}_w1200.{{- $imgExt }} 1200w " {{- end -}} - sizes="(max-width: 800px) 100vw, 1200px" + sizes="(max-width: 400px) 100vw, (max-width: 800px) 100vw, (max-width: 1200px) 100vw, 50vw" /> {{- else -}} - {{- $imgCaption | markdownify -}}{{- if $imgCredit -}} + {{- $imgCaption | markdownify -}} + {{- if $imgCredit -}} — {{ $imgCredit | markdownify -}} {{- end -}}

From 235b37e3111d2134902313ad4a0921cc2a847278 Mon Sep 17 00:00:00 2001 From: Tyson Cheung Date: Wed, 10 Jul 2024 11:37:36 -0400 Subject: [PATCH 016/171] Styling changes to services/directory - wrapped service contact URLS - wrapped author list span, viewability of names becomes unstable at around 690px - removed some unnecessary styling --- .../src/scss/new/_service-contact.scss | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/themes/digital.gov/src/scss/new/_service-contact.scss b/themes/digital.gov/src/scss/new/_service-contact.scss index 7fe2de7014..865b4ce8dd 100644 --- a/themes/digital.gov/src/scss/new/_service-contact.scss +++ b/themes/digital.gov/src/scss/new/_service-contact.scss @@ -16,7 +16,6 @@ .copy { @include u-display("flex"); @include u-flex("align-start"); - @include u-overflow("hidden"); p { @include u-margin-top(0); @@ -27,10 +26,6 @@ } } - div { - flex: 1; - } - .icon { flex: none; @@ -46,6 +41,7 @@ @include u-margin(0); @include u-font("sans", "sm"); @include u-line-height("sans", 3); + word-break: break-word; a { @include u-text("no-underline", !important); @@ -65,6 +61,7 @@ @include u-margin-left(0); @include u-font("sans", "3xs"); @include u-line-height("sans", 2); + word-break: break-all; a { @include u-text("base-dark"); @@ -88,6 +85,11 @@ .authors-list-short { @include u-margin(0); } + + .author span { + word-break: break-word; + white-space: wrap; + } } .copy-contacts { @@ -97,9 +99,6 @@ @include u-margin-left(0); } - @include u-display("flex"); - @include u-flex("align-start"); - .contact { @include u-margin-top(1); @include u-margin-right("105"); From ef4fe2d4325e057b46f189d747e81cf67f546021 Mon Sep 17 00:00:00 2001 From: lcummings3424 Date: Thu, 11 Jul 2024 10:35:55 -0500 Subject: [PATCH 017/171] change to 100vw --- themes/digital.gov/layouts/shortcodes/img.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/themes/digital.gov/layouts/shortcodes/img.html b/themes/digital.gov/layouts/shortcodes/img.html index 41e4e20334..c44eedb432 100644 --- a/themes/digital.gov/layouts/shortcodes/img.html +++ b/themes/digital.gov/layouts/shortcodes/img.html @@ -2,7 +2,7 @@ Displays an image with optional metadata See wiki for more details https://github.com/GSA/digitalgov.gov/wiki/Hugo-shortcodes - TODO: finish documenting the other properties of this component + align - set the alignment for the image to be left (default if left blank), center, or right aligned. inline - displays multiples images on the same line @@ -66,7 +66,7 @@ {{- $imgBaseCDN -}}_w800.{{- $imgExt }} 800w, {{- $imgBaseCDN -}}_w1200.{{- $imgExt }} 1200w " {{- end -}} - sizes="(max-width: 400px) 100vw, (max-width: 800px) 100vw, (max-width: 1200px) 100vw, 50vw" + sizes="(max-width: 400px) 100vw, (max-width: 800px) 100vw, (max-width: 1200px) 100vw, 100vw" /> {{- else -}} Date: Thu, 11 Jul 2024 10:58:34 -0500 Subject: [PATCH 018/171] formatting --- themes/digital.gov/layouts/shortcodes/img.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/themes/digital.gov/layouts/shortcodes/img.html b/themes/digital.gov/layouts/shortcodes/img.html index c44eedb432..f2fb839ad8 100644 --- a/themes/digital.gov/layouts/shortcodes/img.html +++ b/themes/digital.gov/layouts/shortcodes/img.html @@ -66,7 +66,7 @@ {{- $imgBaseCDN -}}_w800.{{- $imgExt }} 800w, {{- $imgBaseCDN -}}_w1200.{{- $imgExt }} 1200w " {{- end -}} - sizes="(max-width: 400px) 100vw, (max-width: 800px) 100vw, (max-width: 1200px) 100vw, 100vw" + sizes="(max-width: 400px) 100vw, (max-width: 800px) 100vw, (max-width: 1200px) 100vw, 100vw" /> {{- else -}} Date: Thu, 11 Jul 2024 10:58:55 -0500 Subject: [PATCH 019/171] Update requirements-for-strengthening-the-federal-government-commitment-to-digital-accessibility.md --- ...ederal-government-commitment-to-digital-accessibility.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/content/resources/requirements-for-strengthening-the-federal-government-commitment-to-digital-accessibility.md b/content/resources/requirements-for-strengthening-the-federal-government-commitment-to-digital-accessibility.md index 84853f6105..7cab730460 100644 --- a/content/resources/requirements-for-strengthening-the-federal-government-commitment-to-digital-accessibility.md +++ b/content/resources/requirements-for-strengthening-the-federal-government-commitment-to-digital-accessibility.md @@ -45,7 +45,7 @@ In part, this memo provides policy guidance to help federal agencies integrate d Disability impacts all of us. Up to [one in four adults in the United States](https://www.cdc.gov/ncbddd/disabilityandhealth/infographic-disability-impacts-all.html) (27%) have some type of disability, many of which are hidden or not recognizable. -Technology is a fundamental part of our daily routines — making it critical that technology remains accessible for everyone. Adopting digital accessibility best practices ensures we are serving the diverse needs of both the public and the federal workforce. +Technology is a fundamental part of our daily routines — making it critical that technology remains accessible for everyone. Adopting digital accessibility best practices ensures we are serving the diverse needs of both the public and the federal workforce. Aside from the legal requirements, accessibility is good for business. Creating products and information that everyone can use [drives innovation](https://digital.gov/topics/innovation/), improves [customer experience](https://digital.gov/topics/customer-experience/), and [builds public trust in government](https://digital.gov/topics/trust/). Accessibility also helps you reach more stakeholders and, ultimately, achieve your agency’s mission. @@ -53,7 +53,7 @@ Aside from the legal requirements, accessibility is good for business. Creating “Section 508” is often used colloquially as shorthand to refer to the various IT accessibility laws, regulations, and policies. -Together, these laws, regulations, and policies describe how to develop, procure, maintain, and use information and communication technology that are accessible to users with disabilities. This work applies to technology used by federal employees, as well as members of the public who use federal websites, digital services, and other technology. +Together, these laws, regulations, and policies describe how to develop, procure, maintain, and use information and communication technology that are accessible to users with disabilities. This work applies to technology used by federal employees, as well as members of the public who use federal websites, digital services, and other technology. {{< ring title="IT accessibility laws and policies">}} @@ -76,7 +76,7 @@ OMB’s policy guidance in M-24-08 outlines six areas for agencies to focus on t ### Agency reporting actions -OMB’s policy guidance in M-24-08 also requires agencies to complete a series of actions after the memo’s issuance on December 21, 2023. +OMB’s policy guidance in M-24-08 also requires agencies to complete a series of actions after the memo’s issuance on December 21, 2023. * Within `30 days` of issuance (by January 20, 2024), agencies must report the name and contact information of the agency-wide Section 508 program manager to OMB. After this action, agencies are required to report any changes to the designated agency-wide Section 508 program manager to OMB within 30 days. * Within `90 days` of issuance (by March 20, 2024), agencies must have digital [accessibility statements](https://www.section508.gov/manage/laws-and-policies/website-accessibility-statement/) on all agency websites. From 483fce24a3bde7046da23ff6d365452cfc174b33 Mon Sep 17 00:00:00 2001 From: Riley Seaburg Date: Thu, 11 Jul 2024 15:36:36 -0500 Subject: [PATCH 020/171] fix corruption issue --- config/gulp/file-upload.js | 36 +++++++++++++----------------------- 1 file changed, 13 insertions(+), 23 deletions(-) diff --git a/config/gulp/file-upload.js b/config/gulp/file-upload.js index 41ded5d44b..9f43a499c7 100644 --- a/config/gulp/file-upload.js +++ b/config/gulp/file-upload.js @@ -24,7 +24,9 @@ const headers = { function uploadImage() { return gulp - .src("content/uploads/_working-images/processed/*") + .src("content/uploads/_working-images/processed/*", { + encoding: false, + }) .pipe(publisher.publish(headers)) .pipe( awspublish.reporter({ @@ -44,7 +46,9 @@ function uploadFile() { }); return gulp - .src("content/uploads/_working-files/to-process/*") + .src("content/uploads/_working-files/to-process/*", { + removeBOM: true, + }) .pipe(staticRename) .pipe(publisher.publish(headers)) .pipe( @@ -114,33 +118,19 @@ function determineWhichToUpload() { if (imageFiles.length > 0) { uploadsToComplete += 1; - const imageUploadStream = uploadImage(); - imageUploadStream.on('finish', () => { - uploadsCompleted += 1; - checkCompletion(); - }); - imageUploadStream.on('error', (err) => { - console.error("Error uploading images:", err); - reject(err); - }); + uploadImage(); + uploadsCompleted += 1; + checkCompletion(); } if (fileFiles.length > 0) { uploadsToComplete += 1; - const fileUploadStream = uploadFile(); - fileUploadStream.on('finish', () => { - uploadsCompleted += 1; - checkCompletion(); - }); - fileUploadStream.on('error', (err) => { - console.error("Error uploading files:", err); - reject(err); - }); + uploadFile(); + uploadsCompleted += 1; + checkCompletion(); } - if (uploadsToComplete === 0) { - resolve(); // If no uploads are initiated, resolve immediately. - } + return resolve(); }); } From c2bb85a83c0ff7d9c7e88b48008a894806c9dd40 Mon Sep 17 00:00:00 2001 From: Riley Seaburg Date: Thu, 11 Jul 2024 16:23:08 -0500 Subject: [PATCH 021/171] fix folder delete issue --- config/gulp/file-upload.js | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/config/gulp/file-upload.js b/config/gulp/file-upload.js index 9f43a499c7..f50afa6d36 100644 --- a/config/gulp/file-upload.js +++ b/config/gulp/file-upload.js @@ -65,20 +65,18 @@ function uploadFile() { function cleanup() { return new Promise((resolve, reject) => { let imageDir = "content/uploads/_working-images/processed"; - let fileDir = "content/uploads/_working-files/to-process"; + let fileDir = "content/uploads/_working-files"; if (fs.existsSync(imageDir)) { - if (fs.readdirSync(imageDir).length > 0) { - console.log(`Images have number of files ${fs.readdirSync(imageDir).length}`); - // delete tht folder - del([imageDir]); - resolve(); - } else { - resolve(); - } - } else { - resolve(); + // remove the folder + del([imageDir]); + } + + if (fs.existsSync(fileDir)) { + // remove the folder + del([fileDir]); } + resolve(); }); } From 050517f056f118d210b424490943debfd49ed982 Mon Sep 17 00:00:00 2001 From: Nick Lyons Date: Fri, 12 Jul 2024 10:23:23 -0400 Subject: [PATCH 022/171] Combined and cleaned up markup --- ...ent-commitment-to-digital-accessibility.md | 6 +- .../core/service-contact-template.html | 77 ----------------- .../layouts/services/directory.html | 18 ++-- .../layouts/services/service-contact.html | 82 +++++++++++++++++-- .../src/scss/new/_service-contact.scss | 3 +- .../src/scss/new/_services-directory.scss | 2 +- 6 files changed, 90 insertions(+), 98 deletions(-) delete mode 100644 themes/digital.gov/layouts/partials/core/service-contact-template.html diff --git a/content/resources/requirements-for-strengthening-the-federal-government-commitment-to-digital-accessibility.md b/content/resources/requirements-for-strengthening-the-federal-government-commitment-to-digital-accessibility.md index 84853f6105..7cab730460 100644 --- a/content/resources/requirements-for-strengthening-the-federal-government-commitment-to-digital-accessibility.md +++ b/content/resources/requirements-for-strengthening-the-federal-government-commitment-to-digital-accessibility.md @@ -45,7 +45,7 @@ In part, this memo provides policy guidance to help federal agencies integrate d Disability impacts all of us. Up to [one in four adults in the United States](https://www.cdc.gov/ncbddd/disabilityandhealth/infographic-disability-impacts-all.html) (27%) have some type of disability, many of which are hidden or not recognizable. -Technology is a fundamental part of our daily routines — making it critical that technology remains accessible for everyone. Adopting digital accessibility best practices ensures we are serving the diverse needs of both the public and the federal workforce. +Technology is a fundamental part of our daily routines — making it critical that technology remains accessible for everyone. Adopting digital accessibility best practices ensures we are serving the diverse needs of both the public and the federal workforce. Aside from the legal requirements, accessibility is good for business. Creating products and information that everyone can use [drives innovation](https://digital.gov/topics/innovation/), improves [customer experience](https://digital.gov/topics/customer-experience/), and [builds public trust in government](https://digital.gov/topics/trust/). Accessibility also helps you reach more stakeholders and, ultimately, achieve your agency’s mission. @@ -53,7 +53,7 @@ Aside from the legal requirements, accessibility is good for business. Creating “Section 508” is often used colloquially as shorthand to refer to the various IT accessibility laws, regulations, and policies. -Together, these laws, regulations, and policies describe how to develop, procure, maintain, and use information and communication technology that are accessible to users with disabilities. This work applies to technology used by federal employees, as well as members of the public who use federal websites, digital services, and other technology. +Together, these laws, regulations, and policies describe how to develop, procure, maintain, and use information and communication technology that are accessible to users with disabilities. This work applies to technology used by federal employees, as well as members of the public who use federal websites, digital services, and other technology. {{< ring title="IT accessibility laws and policies">}} @@ -76,7 +76,7 @@ OMB’s policy guidance in M-24-08 outlines six areas for agencies to focus on t ### Agency reporting actions -OMB’s policy guidance in M-24-08 also requires agencies to complete a series of actions after the memo’s issuance on December 21, 2023. +OMB’s policy guidance in M-24-08 also requires agencies to complete a series of actions after the memo’s issuance on December 21, 2023. * Within `30 days` of issuance (by January 20, 2024), agencies must report the name and contact information of the agency-wide Section 508 program manager to OMB. After this action, agencies are required to report any changes to the designated agency-wide Section 508 program manager to OMB within 30 days. * Within `90 days` of issuance (by March 20, 2024), agencies must have digital [accessibility statements](https://www.section508.gov/manage/laws-and-policies/website-accessibility-statement/) on all agency websites. diff --git a/themes/digital.gov/layouts/partials/core/service-contact-template.html b/themes/digital.gov/layouts/partials/core/service-contact-template.html deleted file mode 100644 index 4156e7ec95..0000000000 --- a/themes/digital.gov/layouts/partials/core/service-contact-template.html +++ /dev/null @@ -1,77 +0,0 @@ -{{- define "service-contact" -}} - {{- $href := .href -}} - {{- $src := .src -}} - {{- with .item -}} -
-
-
-
- {{- template "icon-resource" dict "item" . "src" $src "href" $href -}} - -
-
-
-
- {{- if .Params.deck -}} -

{{- .Params.deck | markdownify -}}

- {{- else -}} -

- {{- .Params.summary | markdownify | truncate 140 -}} -

- {{- end -}} -
-
- -
-
- {{ if .Params.contact }} - - - - Contact - - {{- end -}} - - {{- partial "core/get_authors_short.html" . -}} -
-
-
-
- {{- end -}} -{{- end -}} - -{{- define "icon-resource" -}} - {{- $src := .src -}} - {{- $href := .href -}} - {{- with .item -}} -
- {{- .Params.name }} icon -
- {{- end -}} -{{- end -}} diff --git a/themes/digital.gov/layouts/services/directory.html b/themes/digital.gov/layouts/services/directory.html index 1e882b0e7f..9a00f7561b 100644 --- a/themes/digital.gov/layouts/services/directory.html +++ b/themes/digital.gov/layouts/services/directory.html @@ -1,6 +1,11 @@ {{ define "content" }} + {{/* Gets all service pages with a weight greater than or equal to 1 */}} + {{- $services := (where .Site.RegularPages "Section" "services") -}} + {{- $services := (where $services ".Params.weight" "ge" 1) -}} + +
-
+
@@ -16,14 +21,7 @@

{{- .Title | markdownify -}}

- {{/* Gets all service pages */}} - {{- $services := (where .Site.RegularPages "Section" "services") -}} - - {{/* Gather only the pages with a weight greater than or equal to 1 */}} - {{- $services := (where $services ".Params.weight" "ge" 1) -}} - - -
+
{{/* Gather all the service pages */}} @@ -43,9 +41,7 @@

{{- .Title | markdownify -}}

{{- range sort . "Title" -}} - {{- .Render "service-contact" -}} - {{- end -}} {{- end -}} diff --git a/themes/digital.gov/layouts/services/service-contact.html b/themes/digital.gov/layouts/services/service-contact.html index 3faf7ff026..895bde5b78 100644 --- a/themes/digital.gov/layouts/services/service-contact.html +++ b/themes/digital.gov/layouts/services/service-contact.html @@ -1,8 +1,10 @@ -{{/* set the href and src variables */}} -{{ $href := "" }} -{{ $src := "" }} +{{/* ========== + Display a 3 column list of GSA services. +*/}} {{/* Determine href and src based on conditions */}} +{{ $href := "" }} +{{ $src := "" }} {{ if .Params.source_url }} {{/* If an external link */}} {{ $href = .Params.source_url }} @@ -30,5 +32,75 @@ {{ end }} {{ end }} -{{/* Calls the the service-contact template once! */}} -{{ template "service-contact" dict "item" . "href" $href "src" $src }} + +
+
+
+
+ {{- template "icon-resource" dict "item" . "src" $src "href" $href -}} + +
+
+
+
+ {{- if .Params.deck -}} +

{{- .Params.deck | markdownify -}}

+ {{- else -}} +

+ {{- .Params.summary | markdownify | truncate 140 -}} +

+ {{- end -}} +
+
+ +
+
+ {{ if .Params.contact }} + + + + Contact + + {{- end -}} + + {{- partial "core/get_authors_short.html" . -}} +
+
+
+
+ +{{- define "icon-resource" -}} + {{- $src := .src -}} + {{- $href := .href -}} + {{- with .item -}} +
+ {{- .Params.name }} icon +
+ {{- end -}} +{{- end -}} diff --git a/themes/digital.gov/src/scss/new/_service-contact.scss b/themes/digital.gov/src/scss/new/_service-contact.scss index 865b4ce8dd..b019f86ac8 100644 --- a/themes/digital.gov/src/scss/new/_service-contact.scss +++ b/themes/digital.gov/src/scss/new/_service-contact.scss @@ -87,8 +87,8 @@ } .author span { - word-break: break-word; white-space: wrap; + word-break: break-word; } } @@ -102,6 +102,7 @@ .contact { @include u-margin-top(1); @include u-margin-right("105"); + word-break: unset; @include at-media("tablet") { @include u-margin-right(2); diff --git a/themes/digital.gov/src/scss/new/_services-directory.scss b/themes/digital.gov/src/scss/new/_services-directory.scss index c644cad0d7..1d7afaa429 100644 --- a/themes/digital.gov/src/scss/new/_services-directory.scss +++ b/themes/digital.gov/src/scss/new/_services-directory.scss @@ -12,6 +12,6 @@ } } -.directory { +.services-directory { @include u-padding-bottom(10); } From 25824c398559c66e4cad8f6d4d3402f7f47ca601 Mon Sep 17 00:00:00 2001 From: Riley Seaburg Date: Mon, 15 Jul 2024 10:29:09 -0500 Subject: [PATCH 023/171] Remove author bio and update feed --- themes/digital.gov/layouts/authors/list.html | 214 +++++-------------- 1 file changed, 52 insertions(+), 162 deletions(-) diff --git a/themes/digital.gov/layouts/authors/list.html b/themes/digital.gov/layouts/authors/list.html index 0a353edd8a..ab112308ce 100644 --- a/themes/digital.gov/layouts/authors/list.html +++ b/themes/digital.gov/layouts/authors/list.html @@ -35,173 +35,13 @@

{{- .Params.display_name | markdownify -}}

{{- if or .Params.location .Params.agency -}}

- {{- if .Params.agency -}}{{- .Params.agency }} |{{ end -}} - {{- if .Params.location -}} - {{- .Params.location }} - {{- end -}} - {{ if .Params.email }} -
{{- .Params.email -}} - {{- end -}} + {{- if .Params.agency -}}{{- .Params.agency }}{{ end -}}

{{- end -}} {{- with .Params.bio -}}

{{- . | markdownify -}}

{{- end -}} - - {{/* Website */}} - {{- if .Params.bio_url -}} -

- {{- .Params.bio_url -}} -

- {{- end -}} -
    - {{- if .Params.facebook -}} -
  • - -
  • - {{- end -}} - {{- if .Params.twitter -}} -
  • - - - -
  • - {{- end -}} - {{- if .Params.linkedin -}} -
  • - - - -
  • - {{- end -}} - {{- if .Params.youtube -}} -
  • - - - -
  • - {{- end -}} - {{- if .Params.github -}} -
  • - - - -
  • - {{- end -}} - {{- if .OutputFormats.Get "RSS" -}} -
  • - - - -
  • - {{- end -}} -
  • - - - -
  • -
@@ -230,6 +70,56 @@

{{- .Params.display_name | markdownify -}}

{{/* Gets the recent blog posts */}} {{- $posts := where .Paginator.Pages "Section" "news" -}} + {{/* Gets the guides they have written */}} + {{- $guides := where .Paginator.Pages "Section" "guides" -}} + + {{/* Gets the resources they have written */}} + {{- $resources := where .Paginator.Pages "Section" "resources" -}} + + {{/* Gets the news they have written */}} + {{- $news := where .Paginator.Pages "Section" "news" -}} + + + {{/* merges all the topics into one */}} + {{- $content := union (union (union $posts $guides) $resources) $news -}} + + + + {{/* Merges the past events and the content */}} + {{ $stream := union $content $past_events }} + + {{/* Sorting all the items by date and reverse chron */}} + {{ $stream := $stream.ByDate.Reverse }} + + {{/* If there are any blog posts at all... */}} + {{- if $stream -}} +

Latest Content by {{ .Params.display_name }}

+ + {{/* Loop through all the pages */}} + {{- range $stream -}} + + {{- if eq .Type "events" -}} + {{- .Render "card-event" -}} + {{- end -}} + + {{- if eq .Type "news" -}} + {{ .Render "card-news" }} + {{- end -}} + + {{- end -}} + {{- end -}} + + {{- partial "core/pagination.html" . -}} + + {{/* Gets the blog posts they have written */}} + {{- $posts := where $posts ".Params.author" "intersect" (slice .Params.slug) -}} + + {{/* Gets the guides they have written */}} + {{- $guides := where $guides ".Params.author" "intersect" (slice .Params.slug) -}} + + {{/* Merges the blog posts and the guides */}} + {{- $posts := union $posts $guides -}} + {{/* Merges the past events and the recent blog posts */}} {{ $stream := union $posts $past_events }} @@ -238,7 +128,7 @@

{{- .Params.display_name | markdownify -}}

{{/* If there are any blog posts at all... */}} {{- if $stream -}} -

News and Events

+

Latest Content by {{ .Params.display_name }}

{{/* Loop through all the pages */}} {{- range $stream -}} From 58649bbf64a7fb69b76951c1be80a9ed3fe26ea0 Mon Sep 17 00:00:00 2001 From: Riley Seaburg Date: Mon, 15 Jul 2024 11:14:06 -0500 Subject: [PATCH 024/171] FIX FORMATTING --- themes/digital.gov/layouts/authors/list.html | 5 ----- 1 file changed, 5 deletions(-) diff --git a/themes/digital.gov/layouts/authors/list.html b/themes/digital.gov/layouts/authors/list.html index ab112308ce..cad2ab7460 100644 --- a/themes/digital.gov/layouts/authors/list.html +++ b/themes/digital.gov/layouts/authors/list.html @@ -79,12 +79,9 @@

{{- .Params.display_name | markdownify -}}

{{/* Gets the news they have written */}} {{- $news := where .Paginator.Pages "Section" "news" -}} - {{/* merges all the topics into one */}} {{- $content := union (union (union $posts $guides) $resources) $news -}} - - {{/* Merges the past events and the content */}} {{ $stream := union $content $past_events }} @@ -97,7 +94,6 @@

Latest Content by {{ .Params.display_name }}

{{/* Loop through all the pages */}} {{- range $stream -}} - {{- if eq .Type "events" -}} {{- .Render "card-event" -}} {{- end -}} @@ -132,7 +128,6 @@

Latest Content by {{ .Params.display_name }}

{{/* Loop through all the pages */}} {{- range $stream -}} - {{- if eq .Type "events" -}} {{- .Render "card-event" -}} {{- end -}} From 3ad5765b112daa56145f9f62db10bf0de37d062e Mon Sep 17 00:00:00 2001 From: Riley Seaburg Date: Mon, 15 Jul 2024 14:06:27 -0500 Subject: [PATCH 025/171] Remove short bio --- themes/digital.gov/layouts/authors/list.html | 4 ---- 1 file changed, 4 deletions(-) diff --git a/themes/digital.gov/layouts/authors/list.html b/themes/digital.gov/layouts/authors/list.html index cad2ab7460..8243a5c665 100644 --- a/themes/digital.gov/layouts/authors/list.html +++ b/themes/digital.gov/layouts/authors/list.html @@ -38,10 +38,6 @@

{{- .Params.display_name | markdownify -}}

{{- if .Params.agency -}}{{- .Params.agency }}{{ end -}}

{{- end -}} - - {{- with .Params.bio -}} -

{{- . | markdownify -}}

- {{- end -}}
From 43e72029e76e14b7960713c946d52ab79cefce91 Mon Sep 17 00:00:00 2001 From: Nick Lyons Date: Mon, 15 Jul 2024 16:17:09 -0400 Subject: [PATCH 026/171] Minor style spacing tweak --- themes/digital.gov/layouts/authors/list.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/themes/digital.gov/layouts/authors/list.html b/themes/digital.gov/layouts/authors/list.html index 8243a5c665..e051bb892c 100644 --- a/themes/digital.gov/layouts/authors/list.html +++ b/themes/digital.gov/layouts/authors/list.html @@ -4,7 +4,7 @@
-
+
{{- if .Params.github -}} Date: Mon, 15 Jul 2024 16:46:38 -0400 Subject: [PATCH 027/171] /_service-directory and /_service-contact styles -Refactored .scss to current styles by replacing mixins with functions - Incorporated BEM for class names - Fixed spacing bug with contact and author list --- .../layouts/services/service-contact.html | 10 +-- .../src/scss/new/_service-contact.scss | 86 ++++++++++--------- .../src/scss/new/_services-directory.scss | 8 +- 3 files changed, 53 insertions(+), 51 deletions(-) diff --git a/themes/digital.gov/layouts/services/service-contact.html b/themes/digital.gov/layouts/services/service-contact.html index 895bde5b78..fe7429a7f0 100644 --- a/themes/digital.gov/layouts/services/service-contact.html +++ b/themes/digital.gov/layouts/services/service-contact.html @@ -36,7 +36,7 @@
-
+
{{- template "icon-resource" dict "item" . "src" $src "href" $href -}}

@@ -53,7 +53,7 @@

-
+
{{- if .Params.deck -}}

{{- .Params.deck | markdownify -}}

{{- else -}} @@ -65,10 +65,10 @@

-
+
{{ if .Params.contact }} @@ -97,7 +97,7 @@

{{- $src := .src -}} {{- $href := .href -}} {{- with .item -}} -
+
{{- .Params.name }} icon diff --git a/themes/digital.gov/src/scss/new/_service-contact.scss b/themes/digital.gov/src/scss/new/_service-contact.scss index b019f86ac8..4b7e6d1b39 100644 --- a/themes/digital.gov/src/scss/new/_service-contact.scss +++ b/themes/digital.gov/src/scss/new/_service-contact.scss @@ -1,89 +1,90 @@ @use "uswds-core" as *; .service-contact { - @include u-margin-bottom(0); - @include u-padding("105"); + margin-bottom: 0; + padding: units(1.5); // Equivalent to u-padding("105") @include u-font("sans", "2xs"); - @include u-line-height("sans", 3); - @include u-bg("white"); - @include u-border-bottom("1px", "gray-cool-10", "solid"); + line-height: line-height("sans", 3); + background-color: color("white"); + border-bottom: 1px solid color("gray-cool-10"); // Equivalent to u-border-bottom @include at-media("tablet") { - @include u-padding-y("105"); - @include u-padding-x("205"); + padding: units(1.5) units(2.5); // Equivalent to u-padding-y("105"), u-padding-x("205") } - .copy { - @include u-display("flex"); - @include u-flex("align-start"); + &__copy { + display: flex; + align-items: start; p { - @include u-margin-top(0); - @include u-margin-left(3); + margin-top: 0; + margin-left: units(3); @include at-media("tablet") { - @include u-margin-left(0); + margin-left: 0; } } - .icon { + &-icon { flex: none; img { - @include u-margin-right(1); - @include u-width(2); - @include u-position("relative"); - @include u-top("2px"); + margin-right: units(1); + width: units(2); + position: relative; + top: 2px; } } h3 { - @include u-margin(0); + margin: 0; @include u-font("sans", "sm"); - @include u-line-height("sans", 3); + line-height: line-height("sans", 3); word-break: break-word; a { - @include u-text("no-underline", !important); - @include u-text("medium"); - @include u-color("blue-warm-80"); + text-decoration: none !important; + font-weight: font-weight("medium"); + color: color("blue-warm-80"); &:hover { span { - @include u-border-bottom("1px", "blue-warm-80", "solid"); + border-bottom: 1px solid color("blue-warm-80"); } } } } .source-url { - @include u-margin-top("2px"); - @include u-margin-left(0); + margin-top: 2px; + margin-left: 0; @include u-font("sans", "3xs"); - @include u-line-height("sans", 2); + line-height: line-height("sans", 2); word-break: break-all; a { - @include u-text("base-dark"); - @include u-text("no-underline"); + color: color("base-dark"); + text-decoration: none; &:hover { - @include u-text("underline"); + text-decoration: underline; } } } .summary { - @include u-margin-y("105"); + margin: units(1.5) 0; // Equivalent to u-margin-y("105") @include u-font("sans", "xs"); @include at-media("tablet") { - @include u-margin-y(0); + margin-bottom: 0; + margin-top: 0; } } .authors-list-short { - @include u-margin(0); + margin: 0; + width: units("card-lg"); } .author span { @@ -93,27 +94,28 @@ } .copy-contacts { - @include u-margin-left(3); + margin-left: units(3); @include at-media("tablet") { - @include u-margin-left(0); + margin-left: 0; } - .contact { - @include u-margin-top(1); - @include u-margin-right("105"); + &__contact { + margin-top: units(1); + margin-right: units(1.5); word-break: unset; + width: units(15); @include at-media("tablet") { - @include u-margin-right(2); + margin-right: units(2); } - @include u-text("black"); - @include u-text("no-underline"); + color: color("black"); + text-decoration: none; &:hover { span { - @include u-border-bottom("1px", "black", "solid"); + border-bottom: 1px solid color("black"); } } } diff --git a/themes/digital.gov/src/scss/new/_services-directory.scss b/themes/digital.gov/src/scss/new/_services-directory.scss index 1d7afaa429..5e6ead7020 100644 --- a/themes/digital.gov/src/scss/new/_services-directory.scss +++ b/themes/digital.gov/src/scss/new/_services-directory.scss @@ -1,17 +1,17 @@ @use "uswds-core" as *; .services-contacts { - @include u-bg("blue-warm-5"); + background-color: color("blue-warm-5"); } .service-contact-heading { - @include u-display("none"); + display: block; @include at-media("tablet") { - @include u-display("block"); + display: block; } } .services-directory { - @include u-padding-bottom(10); + padding-bottom: units(10); } From f03ab2ad3b818b692296299a3bab9230702bab7e Mon Sep 17 00:00:00 2001 From: Tyson Cheung Date: Mon, 15 Jul 2024 16:50:36 -0400 Subject: [PATCH 028/171] scss linting --- .../src/scss/new/_service-contact.scss | 35 +++++++++---------- 1 file changed, 17 insertions(+), 18 deletions(-) diff --git a/themes/digital.gov/src/scss/new/_service-contact.scss b/themes/digital.gov/src/scss/new/_service-contact.scss index 4b7e6d1b39..80920a7f50 100644 --- a/themes/digital.gov/src/scss/new/_service-contact.scss +++ b/themes/digital.gov/src/scss/new/_service-contact.scss @@ -1,24 +1,24 @@ @use "uswds-core" as *; .service-contact { + background-color: color("white"); + border-bottom: 1px solid color("gray-cool-10"); // Equivalent to u-border-bottom + line-height: line-height("sans", 3); margin-bottom: 0; padding: units(1.5); // Equivalent to u-padding("105") @include u-font("sans", "2xs"); - line-height: line-height("sans", 3); - background-color: color("white"); - border-bottom: 1px solid color("gray-cool-10"); // Equivalent to u-border-bottom @include at-media("tablet") { padding: units(1.5) units(2.5); // Equivalent to u-padding-y("105"), u-padding-x("205") } &__copy { - display: flex; align-items: start; + display: flex; p { - margin-top: 0; margin-left: units(3); + margin-top: 0; @include at-media("tablet") { margin-left: 0; @@ -30,22 +30,22 @@ img { margin-right: units(1); - width: units(2); position: relative; top: 2px; + width: units(2); } } h3 { - margin: 0; - @include u-font("sans", "sm"); line-height: line-height("sans", 3); + margin: 0; word-break: break-word; + @include u-font("sans", "sm"); a { - text-decoration: none !important; - font-weight: font-weight("medium"); color: color("blue-warm-80"); + font-weight: font-weight("medium"); + text-decoration: none !important; &:hover { span { @@ -56,11 +56,11 @@ } .source-url { - margin-top: 2px; - margin-left: 0; - @include u-font("sans", "3xs"); line-height: line-height("sans", 2); + margin-left: 0; + margin-top: 2px; word-break: break-all; + @include u-font("sans", "3xs"); a { color: color("base-dark"); @@ -101,18 +101,17 @@ } &__contact { - margin-top: units(1); + color: color("black"); margin-right: units(1.5); - word-break: unset; + margin-top: units(1); + text-decoration: none; width: units(15); + word-break: unset; @include at-media("tablet") { margin-right: units(2); } - color: color("black"); - text-decoration: none; - &:hover { span { border-bottom: 1px solid color("black"); From c76f0b8d7f35ae4630b56eb7eeb276c89ec49c7a Mon Sep 17 00:00:00 2001 From: Nick Lyons Date: Mon, 15 Jul 2024 17:04:15 -0400 Subject: [PATCH 029/171] Removed un-necessary grid styles, refactored style mixins to functions --- themes/digital.gov/layouts/authors/list.html | 198 +++++++++--------- .../src/scss/new/_author-profile.scss | 38 +--- 2 files changed, 106 insertions(+), 130 deletions(-) diff --git a/themes/digital.gov/layouts/authors/list.html b/themes/digital.gov/layouts/authors/list.html index e051bb892c..29e11f59cc 100644 --- a/themes/digital.gov/layouts/authors/list.html +++ b/themes/digital.gov/layouts/authors/list.html @@ -1,143 +1,137 @@ {{- define "content" -}}
-
-
-
-
- {{- if .Params.github -}} - Profile image for {{- .Params.display_name -}} - {{- else -}} - Profile image for {{- .Params.display_name -}} +
+
+ {{- if .Params.github -}} + Profile image for {{- .Params.display_name -}} + {{- else -}} + Profile image for {{- .Params.display_name -}} + {{- end -}} + + +
+ {{/* Name */}} +

{{- .Params.display_name | markdownify -}}

+ + {{/* Bio */}} +
+ {{- if .Params.pronoun -}} +

{{ .Params.pronoun }}

{{- end -}} - -
- {{/* Name */}} -

{{- .Params.display_name | markdownify -}}

- - {{/* Bio */}} -
- {{- if .Params.pronoun -}} -

{{ .Params.pronoun }}

- {{- end -}} - - {{- if or .Params.location .Params.agency -}} -

- {{- if .Params.agency -}}{{- .Params.agency }}{{ end -}} -

- {{- end -}} -
-
-
+ {{- if or .Params.location .Params.agency -}} +

+ {{- if .Params.agency -}}{{- .Params.agency }}{{ end -}} +

+ {{- end -}} +
-
+

-
+
-
-
- {{/* Blog Posts by Topic — - List all of the blog posts and events tagged with this topic - */}} +
+ {{/* Blog Posts by Topic — + List all of the blog posts and events tagged with this topic + */}} - {{- $allpages := (where .Pages "Section" "news") -}} + {{- $allpages := (where .Pages "Section" "news") -}} - {{/* Gets the past events */}} - {{- $past_events := where (where .Paginator.Pages.ByDate.Reverse "Section" "events") ".Date.Unix" "<" now.Unix -}} + {{/* Gets the past events */}} + {{- $past_events := where (where .Paginator.Pages.ByDate.Reverse "Section" "events") ".Date.Unix" "<" now.Unix -}} - {{/* Gets the past events that have youtube_id set */}} - {{- $past_events := where $past_events ".Params.youtube_id" "!=" nil -}} + {{/* Gets the past events that have youtube_id set */}} + {{- $past_events := where $past_events ".Params.youtube_id" "!=" nil -}} - {{/* Gets the recent blog posts */}} - {{- $posts := where .Paginator.Pages "Section" "news" -}} + {{/* Gets the recent blog posts */}} + {{- $posts := where .Paginator.Pages "Section" "news" -}} - {{/* Gets the guides they have written */}} - {{- $guides := where .Paginator.Pages "Section" "guides" -}} + {{/* Gets the guides they have written */}} + {{- $guides := where .Paginator.Pages "Section" "guides" -}} - {{/* Gets the resources they have written */}} - {{- $resources := where .Paginator.Pages "Section" "resources" -}} + {{/* Gets the resources they have written */}} + {{- $resources := where .Paginator.Pages "Section" "resources" -}} - {{/* Gets the news they have written */}} - {{- $news := where .Paginator.Pages "Section" "news" -}} + {{/* Gets the news they have written */}} + {{- $news := where .Paginator.Pages "Section" "news" -}} - {{/* merges all the topics into one */}} - {{- $content := union (union (union $posts $guides) $resources) $news -}} + {{/* merges all the topics into one */}} + {{- $content := union (union (union $posts $guides) $resources) $news -}} - {{/* Merges the past events and the content */}} - {{ $stream := union $content $past_events }} + {{/* Merges the past events and the content */}} + {{ $stream := union $content $past_events }} - {{/* Sorting all the items by date and reverse chron */}} - {{ $stream := $stream.ByDate.Reverse }} + {{/* Sorting all the items by date and reverse chron */}} + {{ $stream := $stream.ByDate.Reverse }} - {{/* If there are any blog posts at all... */}} - {{- if $stream -}} -

Latest Content by {{ .Params.display_name }}

+ {{/* If there are any blog posts at all... */}} + {{- if $stream -}} +

Latest Content by {{ .Params.display_name }}

- {{/* Loop through all the pages */}} - {{- range $stream -}} - {{- if eq .Type "events" -}} - {{- .Render "card-event" -}} - {{- end -}} - - {{- if eq .Type "news" -}} - {{ .Render "card-news" }} - {{- end -}} + {{/* Loop through all the pages */}} + {{- range $stream -}} + {{- if eq .Type "events" -}} + {{- .Render "card-event" -}} + {{- end -}} + {{- if eq .Type "news" -}} + {{ .Render "card-news" }} {{- end -}} - {{- end -}} - {{- partial "core/pagination.html" . -}} + {{- end -}} + {{- end -}} - {{/* Gets the blog posts they have written */}} - {{- $posts := where $posts ".Params.author" "intersect" (slice .Params.slug) -}} + {{- partial "core/pagination.html" . -}} - {{/* Gets the guides they have written */}} - {{- $guides := where $guides ".Params.author" "intersect" (slice .Params.slug) -}} + {{/* Gets the blog posts they have written */}} + {{- $posts := where $posts ".Params.author" "intersect" (slice .Params.slug) -}} - {{/* Merges the blog posts and the guides */}} - {{- $posts := union $posts $guides -}} + {{/* Gets the guides they have written */}} + {{- $guides := where $guides ".Params.author" "intersect" (slice .Params.slug) -}} - {{/* Merges the past events and the recent blog posts */}} - {{ $stream := union $posts $past_events }} + {{/* Merges the blog posts and the guides */}} + {{- $posts := union $posts $guides -}} - {{/* Sorting all the items by date and reverse chron */}} - {{ $stream := $stream.ByDate.Reverse }} + {{/* Merges the past events and the recent blog posts */}} + {{ $stream := union $posts $past_events }} - {{/* If there are any blog posts at all... */}} - {{- if $stream -}} -

Latest Content by {{ .Params.display_name }}

+ {{/* Sorting all the items by date and reverse chron */}} + {{ $stream := $stream.ByDate.Reverse }} - {{/* Loop through all the pages */}} - {{- range $stream -}} - {{- if eq .Type "events" -}} - {{- .Render "card-event" -}} - {{- end -}} + {{/* If there are any blog posts at all... */}} + {{- if $stream -}} +

Latest Content by {{ .Params.display_name }}

- {{- if eq .Type "news" -}} - {{ .Render "card-news" }} - {{- end -}} + {{/* Loop through all the pages */}} + {{- range $stream -}} + {{- if eq .Type "events" -}} + {{- .Render "card-event" -}} + {{- end -}} + {{- if eq .Type "news" -}} + {{ .Render "card-news" }} {{- end -}} + {{- end -}} + {{- end -}} - {{- partial "core/pagination.html" . -}} -
-
+ {{- partial "core/pagination.html" . -}} +
{{- partial "partials/core/see-all-footer.html" -}}
diff --git a/themes/digital.gov/src/scss/new/_author-profile.scss b/themes/digital.gov/src/scss/new/_author-profile.scss index afa169e9c6..ca2ce0eee8 100644 --- a/themes/digital.gov/src/scss/new/_author-profile.scss +++ b/themes/digital.gov/src/scss/new/_author-profile.scss @@ -2,42 +2,24 @@ .author-profile { img.profile { - @include u-margin-right("105"); + border: 5px color("gray-warm-5") solid; + margin-right: units("105"); @include u-circle(10); - border: 5px #f0f0ec solid; } h1 { - @include u-margin(0); - @include u-font("sans", "2xl"); - @include u-text("heavy"); + font-size: font-size("sans", "2xl"); + font-weight: font-weight("heavy"); + margin: 0; } .bio { p { - @include u-margin-top(0); - @include u-margin-bottom("105"); - @include u-font("sans", "md"); - @include u-text("light"); + font-family: font-family("sans"); + font-size: font-size("sans", "md"); + font-weight: font-weight("light"); + margin-bottom: units("105"); + margin-top: 0; } - - ul { - @include u-padding(0); - - li { - @include u-margin-right(1); - @include u-font("sans", "xl"); - @include u-display("inline-block"); - - a { - @include u-text("primary-darker"); - } - } - } - } - - footer { - @include u-padding-y(4); - @include u-text("center"); } } From ac0f61feb59cbaaf6151a4dd65c579fa727ea2aa Mon Sep 17 00:00:00 2001 From: Naomi Baumgold <153678805+nbaumgold@users.noreply.github.com> Date: Tue, 16 Jul 2024 10:40:23 -0400 Subject: [PATCH 030/171] Update communicators.md Update CoP Number for June --- content/communities/communicators.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/communities/communicators.md b/content/communities/communicators.md index 8cc6226eb1..9b884dd706 100644 --- a/content/communities/communicators.md +++ b/content/communities/communicators.md @@ -28,7 +28,7 @@ community_list: subscribe_email: "fcn-request@listserv.gsa.gov" subscribe_email_subject: "Join the Communicators Community" terms: "Government employees and contractors with an official .gov or .mil email are eligible to join." - members: 2,453 + members: 2,491 join_cop_button: "Communicators community members" # Controls how this page appears across the site From d964a35c168ad434f8b73a4aee21ca7b11f8154d Mon Sep 17 00:00:00 2001 From: Naomi Baumgold <153678805+nbaumgold@users.noreply.github.com> Date: Tue, 16 Jul 2024 10:54:46 -0400 Subject: [PATCH 031/171] Update multilingual.md --- content/communities/multilingual.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/communities/multilingual.md b/content/communities/multilingual.md index 075b341adc..3650cd8032 100644 --- a/content/communities/multilingual.md +++ b/content/communities/multilingual.md @@ -42,7 +42,7 @@ community_list: subscribe_email: "fmwc-request@listserv.gsa.gov" subscribe_email_subject: "Join the Multilingual Community" terms: "Government employees and contractors with an official .gov or .mil email are eligible to join." - members: 738 + members: 739 join_cop_button: "Multilingual community members" kicker: "Join the Multilingual Community" From e0e57cfaa37838467ff03838c34a2767a5d2dd6a Mon Sep 17 00:00:00 2001 From: Nick Lyons Date: Tue, 16 Jul 2024 10:59:10 -0400 Subject: [PATCH 032/171] Updated font-size functions --- .../src/scss/new/_service-contact.scss | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/themes/digital.gov/src/scss/new/_service-contact.scss b/themes/digital.gov/src/scss/new/_service-contact.scss index 80920a7f50..4ec12705c1 100644 --- a/themes/digital.gov/src/scss/new/_service-contact.scss +++ b/themes/digital.gov/src/scss/new/_service-contact.scss @@ -2,14 +2,14 @@ .service-contact { background-color: color("white"); - border-bottom: 1px solid color("gray-cool-10"); // Equivalent to u-border-bottom + border-bottom: 1px solid color("gray-cool-10"); + font-size: font-size("sans", "2xs"); line-height: line-height("sans", 3); margin-bottom: 0; - padding: units(1.5); // Equivalent to u-padding("105") - @include u-font("sans", "2xs"); + padding: units(1.5); @include at-media("tablet") { - padding: units(1.5) units(2.5); // Equivalent to u-padding-y("105"), u-padding-x("205") + padding: units(1.5) units(2.5); } &__copy { @@ -37,10 +37,10 @@ } h3 { + font-size: font-size("sans", "sm"); line-height: line-height("sans", 3); margin: 0; word-break: break-word; - @include u-font("sans", "sm"); a { color: color("blue-warm-80"); @@ -56,11 +56,11 @@ } .source-url { + font-size: font-size("sans", "3xs"); line-height: line-height("sans", 2); margin-left: 0; margin-top: 2px; word-break: break-all; - @include u-font("sans", "3xs"); a { color: color("base-dark"); @@ -73,8 +73,8 @@ } .summary { - margin: units(1.5) 0; // Equivalent to u-margin-y("105") - @include u-font("sans", "xs"); + font-size: font-size("sans", "xs"); + margin: units(1.5) 0; @include at-media("tablet") { margin-bottom: 0; From 04f36fa245eadcaa3651a5fb43ab255821a359aa Mon Sep 17 00:00:00 2001 From: camillemorrow Date: Tue, 16 Jul 2024 11:00:24 -0400 Subject: [PATCH 033/171] Update _index.md change name from Handbook for the Site Scanning program to Understanding the Site Scanning program --- content/guides/site-scanning/_index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/guides/site-scanning/_index.md b/content/guides/site-scanning/_index.md index ff7b45f2d5..82377ea5e8 100644 --- a/content/guides/site-scanning/_index.md +++ b/content/guides/site-scanning/_index.md @@ -1,6 +1,6 @@ --- date: 2020-06-25 09:00:00 -0500 -title: "Handbook for the Site Scanning program" +title: "Understanding the Site Scanning program" deck: "A set of daily scans of the federal web presence." summary: "This program is available to automatically generate data about the health and best practices of federal websites." guide: site-scanning From 4966e90558be78edbf76cfb65ebc965f4d488d8b Mon Sep 17 00:00:00 2001 From: Naomi Baumgold <153678805+nbaumgold@users.noreply.github.com> Date: Tue, 16 Jul 2024 11:02:36 -0400 Subject: [PATCH 034/171] Update plain-language-community-of-practice.md --- content/communities/plain-language-community-of-practice.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/communities/plain-language-community-of-practice.md b/content/communities/plain-language-community-of-practice.md index 0ed45c9c79..c1c39ea7ca 100644 --- a/content/communities/plain-language-community-of-practice.md +++ b/content/communities/plain-language-community-of-practice.md @@ -45,7 +45,7 @@ community_list: subscribe_email: "pl-cop-main-request@listserv.gsa.gov" subscribe_email_subject: "Join the Plain Language Community" terms: "Government employees and contractors with an official .gov or .mil email are eligible to join." - members: 2,346 + members: 2,366 join_cop_button: "Plain Language community members" kicker: "Join the Plain Language Community" From a346189a71e071297b2427204d8135f60bae7e8e Mon Sep 17 00:00:00 2001 From: Naomi Baumgold <153678805+nbaumgold@users.noreply.github.com> Date: Tue, 16 Jul 2024 11:25:15 -0400 Subject: [PATCH 035/171] Update contact-center.md --- content/communities/contact-center.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/communities/contact-center.md b/content/communities/contact-center.md index ea0f728e40..9d1294cad3 100644 --- a/content/communities/contact-center.md +++ b/content/communities/contact-center.md @@ -23,7 +23,7 @@ community_list: subscribe_email: "g3c-request@listserv.gsa.gov" subscribe_email_subject: "Join the Contact center community" terms: "Government employees and contractors with an official .gov or .mil email are eligible to join." - members: 1,000 + members: 373 join_cop_button: "Contact center community members" # Controls how this page appears across the site From 6a350d163c271101c4919c368c6261ec589ef287 Mon Sep 17 00:00:00 2001 From: camillemorrow Date: Tue, 16 Jul 2024 11:46:25 -0400 Subject: [PATCH 036/171] Change Twitter to X.md in join us section, updated name of Twitter to X, and updated old twitter.com URL to https://X.com/digital_gov --- content/about/contact.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/about/contact.md b/content/about/contact.md index d82ca4b328..4ba59d12b2 100644 --- a/content/about/contact.md +++ b/content/about/contact.md @@ -16,7 +16,7 @@ For a wider list of contacts, see our [**Directory of services, tools, and teams ## On social media -- Follow [@digital_gov on Twitter](https://twitter.com/digital_gov/) +- Follow [@digital_gov on X (Formerly Twitter)](https://X.com/digital_gov) - Digital.gov on [GitHub](https://github.com/GSA/digitalgov.gov) - Join our [Facebook page](https://www.facebook.com/DigitalGov) - Subscribe to our [newsletter]({{< ref "/about/subscribe.md" >}}) From 4193df2a262c4b90bb40827aea4b2b1c14898f83 Mon Sep 17 00:00:00 2001 From: Nick Lyons Date: Tue, 16 Jul 2024 11:50:21 -0400 Subject: [PATCH 037/171] Redo PR for short post on engineering practices --- ...07-10-engineering-craft-practices-at-10.md | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 content/news/2024/07/2024-07-10-engineering-craft-practices-at-10.md diff --git a/content/news/2024/07/2024-07-10-engineering-craft-practices-at-10.md b/content/news/2024/07/2024-07-10-engineering-craft-practices-at-10.md new file mode 100644 index 0000000000..76b7660132 --- /dev/null +++ b/content/news/2024/07/2024-07-10-engineering-craft-practices-at-10.md @@ -0,0 +1,20 @@ +--- +# Originally published at the following URL +source_url: https://18f.gsa.gov/2024/07/09/18fs-engineering-craft-basics-at-10/ +source: 18f +date: 2024-07-09 +title: "18F's engineering craft practices at 10" +deck: 18F recently celebrated its 10th anniversary by renewing its commitment to refining and sharing best practices through regular publications, tech talks, and updates to The 18F Engineering Guide. They also instructed a permanent principal consulting engineer role to enhance digital service delivery and support skill development within the organization. +summary: 18F recently celebrated its 10th anniversary by renewing its commitment to refining and sharing best practices through regular publications, tech talks, and updates to The 18F Engineering Guide. They also instructed a permanent principal consulting engineer role to enhance digital service delivery and support skill development within the organization. +# See all topics at https://digital.gov/topics +topics: + - best-practices + - communication + - innovation + - information-architecture +slug: 18fs-engineering-craft-practices-at-10 +# Controls how this page appears across the site +# 0 -- hidden +# 1 -- visible +weight: 1 +--- From a93fa9deb3d3f9eb5219af32571d150e85024731 Mon Sep 17 00:00:00 2001 From: camillemorrow Date: Tue, 16 Jul 2024 11:54:00 -0400 Subject: [PATCH 038/171] change weight to 2.md changed weight in order to update homepage with DAP guide --- content/guides/site-scanning/_index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/guides/site-scanning/_index.md b/content/guides/site-scanning/_index.md index ff7b45f2d5..a440296e8e 100644 --- a/content/guides/site-scanning/_index.md +++ b/content/guides/site-scanning/_index.md @@ -15,7 +15,7 @@ aliases: image: guide-site-scanning primary_image: guide-site-scanning layout: single -weight: 8 +weight: 2 guide_weight: 3 --- From d3180a78db5b3fb50d4c8ea82b7b0efdee3a9f14 Mon Sep 17 00:00:00 2001 From: camillemorrow Date: Tue, 16 Jul 2024 11:55:39 -0400 Subject: [PATCH 039/171] change weight to 6.md in order to replace the DAP guide on the homepage, changed the weight --- content/guides/dap/_index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/guides/dap/_index.md b/content/guides/dap/_index.md index c540c96573..6f0a6d96c0 100755 --- a/content/guides/dap/_index.md +++ b/content/guides/dap/_index.md @@ -26,7 +26,7 @@ image: guide-dap primary_image: guide-dap -weight: 1 +weight: 6 guide_weight: 5 layout: single From 3c40b03470cd70b5816a214107f0c44e133d6264 Mon Sep 17 00:00:00 2001 From: Naomi Baumgold <153678805+nbaumgold@users.noreply.github.com> Date: Tue, 16 Jul 2024 12:47:59 -0400 Subject: [PATCH 040/171] Update social-media.md --- content/communities/social-media.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/communities/social-media.md b/content/communities/social-media.md index 4573a587a3..a0f9dc68b1 100644 --- a/content/communities/social-media.md +++ b/content/communities/social-media.md @@ -36,7 +36,7 @@ community_list: subscribe_email: "sm-cop-request@listserv.gsa.gov" subscribe_email_subject: "Join the Social Media Community" terms: "Government employees and contractors with an official .gov or .mil email are eligible to join." - members: 1,493 + members: 1,507 join_cop_button: "Social Media community members" kicker: "Join the Social Media Community" From 857f7a942c1b9e0a16d7ee3123058e2b9ec0edb5 Mon Sep 17 00:00:00 2001 From: Bonnie Cameron <96838068+bonnieAcameron@users.noreply.github.com> Date: Tue, 16 Jul 2024 15:28:18 -0400 Subject: [PATCH 041/171] update author agency --- content/authors/michael-marin/_index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/authors/michael-marin/_index.md b/content/authors/michael-marin/_index.md index a0bf90ebfe..7487e530bc 100644 --- a/content/authors/michael-marin/_index.md +++ b/content/authors/michael-marin/_index.md @@ -16,7 +16,7 @@ bio: Michael Marin is an Information Security Specialist with the United States # e.g. U.S. General Services Administration agency_full_name: U.S. Environmental Protection Agency # Agency Acronym [e.g., GSA] -agency: EPA +agency: NASA # [e.g. 'jeremyzilar'] — A GitHub account will allow you to edit pages on Digital.gov. # Also, the image used in your GitHub account can be used to populate your digital.gov profile photo. # Learn more about getting a Github account at [URL] From dabd02ee66b0e64d19153970b2a2ce599774b711 Mon Sep 17 00:00:00 2001 From: Bonnie Cameron <96838068+bonnieAcameron@users.noreply.github.com> Date: Wed, 17 Jul 2024 09:28:31 -0400 Subject: [PATCH 042/171] remove bio update full name --- content/authors/michael-marin/_index.md | 13 +------------ 1 file changed, 1 insertion(+), 12 deletions(-) diff --git a/content/authors/michael-marin/_index.md b/content/authors/michael-marin/_index.md index 7487e530bc..4384554afb 100644 --- a/content/authors/michael-marin/_index.md +++ b/content/authors/michael-marin/_index.md @@ -2,19 +2,8 @@ display_name: Michael Marin first_name: Michael last_name: Marin -# List your pronoun(s) if you want them displayed alongside your name. -# If blank, we'll use just your name. Learn more http://mypronouns.org -pronoun: "" -# Keep it under 50 words and only one paragraph -bio: Michael Marin is an Information Security Specialist with the United States - Environmental Protection Agency. His professional and research interests - include critical infrastructure security, cyber foreign policy, cyber - regulatory authority, and operational security. Before the EPA, Michael - developed cyber-kinetic training exercises for the U.S. military. Michael has - a bachelor’s and master’s degree in Information Science from the University of - Pittsburgh. # e.g. U.S. General Services Administration -agency_full_name: U.S. Environmental Protection Agency +agency_full_name: National Aeronautics and Space Administration # Agency Acronym [e.g., GSA] agency: NASA # [e.g. 'jeremyzilar'] — A GitHub account will allow you to edit pages on Digital.gov. From 941725f14949478207081077e2a9e5d14f8f70f2 Mon Sep 17 00:00:00 2001 From: Toni Bonitto Date: Wed, 17 Jul 2024 12:59:30 -0400 Subject: [PATCH 043/171] Update _index.md space --- content/authors/michael-marin/_index.md | 1 + 1 file changed, 1 insertion(+) diff --git a/content/authors/michael-marin/_index.md b/content/authors/michael-marin/_index.md index 4384554afb..2543c8604f 100644 --- a/content/authors/michael-marin/_index.md +++ b/content/authors/michael-marin/_index.md @@ -13,4 +13,5 @@ github: Michael-10101 slug: michael-marin # See [URL] for a full list of profile photo options profile_photo: github + --- From 9517636c051eaa4239fb3ddd980ca5e4a8c9b942 Mon Sep 17 00:00:00 2001 From: Nick Lyons Date: Wed, 17 Jul 2024 13:32:18 -0400 Subject: [PATCH 044/171] Refactored logic to be simpler - renamed partials to reflect best practices - authors-list component takes an array of names - tested visual regression with for all instances that use authors-list component --- .../layouts/_default/taxonomy.html | 2 +- themes/digital.gov/layouts/authors/terms.html | 57 ++++--------------- .../layouts/events/card-event.html | 2 +- themes/digital.gov/layouts/events/single.html | 2 +- .../digital.gov/layouts/news/card-news.html | 2 +- themes/digital.gov/layouts/news/single.html | 2 +- .../{author_image.html => author-image.html} | 0 .../{authors_list.html => authors-list.html} | 16 +++--- .../layouts/services/service-contact.html | 2 +- .../src/scss/new/_authors-list.scss | 18 ++++++ 10 files changed, 44 insertions(+), 59 deletions(-) rename themes/digital.gov/layouts/partials/core/{author_image.html => author-image.html} (100%) rename themes/digital.gov/layouts/partials/core/{authors_list.html => authors-list.html} (72%) diff --git a/themes/digital.gov/layouts/_default/taxonomy.html b/themes/digital.gov/layouts/_default/taxonomy.html index 3864f29d26..7e07f0ab56 100644 --- a/themes/digital.gov/layouts/_default/taxonomy.html +++ b/themes/digital.gov/layouts/_default/taxonomy.html @@ -68,7 +68,7 @@

title="{{- .Title | markdownify -}} " >{{- .Date.Format "Jan _2" -}}{{- partial "core/authors_list.html" (dict "scope" . "isInline" true) -}} + >{{- partial "core/authors-list.html" (dict "scope" . "authors" .Params.authors "isInline" true) -}}

diff --git a/themes/digital.gov/layouts/authors/terms.html b/themes/digital.gov/layouts/authors/terms.html index 6ad148e627..fae8b021dc 100644 --- a/themes/digital.gov/layouts/authors/terms.html +++ b/themes/digital.gov/layouts/authors/terms.html @@ -1,11 +1,18 @@ {{ define "content" }} -
+ {{/* Stores an array of string author names */}} + {{ $authors := (where .Site.Pages "Section" "authors") }} + {{ $authors_data := slice }} + {{ range $i, $e := $authors }} + {{ $authors_data = $authors_data | append $e.Params.slug }} + {{ end }} + + +
-
+
- {{- $authors := (where .Site.Pages "Section" "authors") -}}

{{ .Title }}

{{/* Deck */}} {{- if .Params.deck -}} @@ -19,49 +26,7 @@

{{ .Title }}

-
- {{- range $i, $author := $authors -}} - {{ if .Params.slug }} - {{ $link := printf "authors/%s/" .Params.slug }} -
-
-
- {{- if $author.Params.github -}} - - {{- else -}} - {{- $default_profile := print "img/digit-" (cond (eq (mod $i 2) 0) "light" "dark") ".png" -}} - - {{- end -}} -
-
-
-
- - - {{- if $author.Params.agency -}} -

- {{- $author.Params.agency -}}{{- if $author.Params.location -}} -  | {{- $author.Params.location -}} - {{- end -}} -

- {{- end -}} - -
-
-
- {{ end }} - {{ end }} -
+ {{ partial "core/authors-list.html" (dict "scope" . "authors" $authors_data) }}
diff --git a/themes/digital.gov/layouts/events/card-event.html b/themes/digital.gov/layouts/events/card-event.html index d1f2d29b25..6adc7de129 100644 --- a/themes/digital.gov/layouts/events/card-event.html +++ b/themes/digital.gov/layouts/events/card-event.html @@ -52,7 +52,7 @@

{{- end -}} {{ if $isPastEvent }} - {{- partial "core/authors_list.html" (dict "scope" . "isInline" true) -}} + {{- partial "core/authors-list.html" (dict "scope" . "authors" .Params.authors "isInline" true) -}} {{ end }}

diff --git a/themes/digital.gov/layouts/events/single.html b/themes/digital.gov/layouts/events/single.html index d3cd630be5..1618121378 100644 --- a/themes/digital.gov/layouts/events/single.html +++ b/themes/digital.gov/layouts/events/single.html @@ -148,7 +148,7 @@

{{- .Title | markdownify -}}

{{/* Authors */}} {{- if .Params.authors -}}

In this talk

- {{- partial "core/authors_list.html" (dict "scope" .) -}} + {{- partial "core/authors-list.html" (dict "scope" . "authors" .Params.authors) -}} {{- end -}} {{- if eq .Params.event_platform "youtube_live" -}} diff --git a/themes/digital.gov/layouts/news/card-news.html b/themes/digital.gov/layouts/news/card-news.html index f85c11b1ba..1499917c5c 100644 --- a/themes/digital.gov/layouts/news/card-news.html +++ b/themes/digital.gov/layouts/news/card-news.html @@ -76,7 +76,7 @@

{{- end -}} {{ if $authors }} - {{ partial "core/authors_list.html" (dict "scope" . "isInline" true) }} + {{ partial "core/authors-list.html" (dict "scope" . "authors" .Params.authors "isInline" true) }} {{ end }} {{ end }}

diff --git a/themes/digital.gov/layouts/news/single.html b/themes/digital.gov/layouts/news/single.html index 7eba3e1878..faa9279e59 100644 --- a/themes/digital.gov/layouts/news/single.html +++ b/themes/digital.gov/layouts/news/single.html @@ -50,7 +50,7 @@

{{- .Title | markdownify -}}

{{/* Authors */}} - {{- partial "core/authors_list.html" (dict "scope" .) }} + {{- partial "core/authors-list.html" (dict "scope" . "authors" .Params.authors) }}
diff --git a/themes/digital.gov/layouts/partials/core/author_image.html b/themes/digital.gov/layouts/partials/core/author-image.html similarity index 100% rename from themes/digital.gov/layouts/partials/core/author_image.html rename to themes/digital.gov/layouts/partials/core/author-image.html diff --git a/themes/digital.gov/layouts/partials/core/authors_list.html b/themes/digital.gov/layouts/partials/core/authors-list.html similarity index 72% rename from themes/digital.gov/layouts/partials/core/authors_list.html rename to themes/digital.gov/layouts/partials/core/authors-list.html index d5e5af0f51..1412cf4e03 100644 --- a/themes/digital.gov/layouts/partials/core/authors_list.html +++ b/themes/digital.gov/layouts/partials/core/authors-list.html @@ -4,21 +4,23 @@ The default layout is a stacked vertical list used on events and news single.html templates. Allows an optional override to display a inline list on card-*.html templates. - @param {object} scope - the current template page scope used to get the associated authors - @param {boolean} isInline - optional flag to display an inline list of authors + @param {object} scope (required) - the parent scope + @param {array} authors (required) - an array of strings of author names in the format of "firstname-lastname" + @param {boolean} isInline (optional)- flag to display an inline list of authors @example - {{- partial "core/authors_list.html" (dict "scope" . "isInline" true) + {{- partial "core/authors-list.html" (dict "scope" . "authors" $authors "isInline" true) -}} -*/}} + +======== */}} {{ $scope := .scope }} +{{ $authors := .authors }} {{ $isInline := default false .isInline }} -{{/* Returns the list of authors from the parent scope */}} -{{ $authors := $scope.Param "authors" }} {{ if $authors }}
{{ range $i, $e := uniq (sort $authors) }} + {{/* urlize with ensure there is a hyphen between the firstname and lastname to read firstname-lastname */}} {{ $uid := $e | urlize }} {{ $author := $scope.Site.GetPage (printf "/%s/%s" "authors" $uid) }} {{ with $author }} @@ -28,7 +30,7 @@
- {{ partial "core/author_image.html" (dict "author" . ) }} + {{ partial "core/author-image.html" (dict "author" . ) }} diff --git a/themes/digital.gov/src/scss/new/_authors-list.scss b/themes/digital.gov/src/scss/new/_authors-list.scss index d50a42eedd..c3322495e7 100644 --- a/themes/digital.gov/src/scss/new/_authors-list.scss +++ b/themes/digital.gov/src/scss/new/_authors-list.scss @@ -2,6 +2,24 @@ // NOTE: The authors-list is included twice on the page. Once for desktop, the other for mobile. @use "uswds-core" as *; +// authors landing override +.authors { + .authors-list .author { + border-top: 1px color("gray-10") solid; + } + + .author__name { + @include u-font("sans", "xs"); + @include u-line-height("sans", 1); + @include u-margin-y("05"); + @include u-text("bold", "black", "no-underline"); + + &:hover { + @include u-border-bottom("2px", "accent-warm", "solid"); + } + } +} + // Display a vertically stacked list of authors .authors-list { margin-bottom: units(7); From 3d7fbfa26912dbc3adf56729a76000c2330aaf21 Mon Sep 17 00:00:00 2001 From: Nick Lyons Date: Wed, 17 Jul 2024 14:14:21 -0400 Subject: [PATCH 045/171] Added conditional check for nil values --- themes/digital.gov/layouts/authors/terms.html | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/themes/digital.gov/layouts/authors/terms.html b/themes/digital.gov/layouts/authors/terms.html index fae8b021dc..5caab04c38 100644 --- a/themes/digital.gov/layouts/authors/terms.html +++ b/themes/digital.gov/layouts/authors/terms.html @@ -3,7 +3,9 @@ {{ $authors := (where .Site.Pages "Section" "authors") }} {{ $authors_data := slice }} {{ range $i, $e := $authors }} - {{ $authors_data = $authors_data | append $e.Params.slug }} + {{ if ne $e.Params.slug nil }} + {{ $authors_data = $authors_data | append $e.Params.slug }} + {{ end }} {{ end }} From 799219796db30e1d172ccd77cabf4e872fbeca15 Mon Sep 17 00:00:00 2001 From: Nick Lyons Date: Wed, 17 Jul 2024 16:20:03 -0400 Subject: [PATCH 046/171] Fixed merge conflict formatting error --- themes/digital.gov/layouts/services/service-contact.html | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/themes/digital.gov/layouts/services/service-contact.html b/themes/digital.gov/layouts/services/service-contact.html index 3409e586f3..cb52d580cc 100644 --- a/themes/digital.gov/layouts/services/service-contact.html +++ b/themes/digital.gov/layouts/services/service-contact.html @@ -86,13 +86,10 @@

> {{- end -}} - - {{ if .Params.authors }} - {{ partial "core/authors-list.html" (dict "scope" . "authors" .Params.authors "isInline" true) }} - {{ end }} -

-
+ {{ if .Params.authors }} + {{ partial "core/authors-list.html" (dict "scope" . "authors" .Params.authors "isInline" true) }} + {{ end }}
From 561a7c21a8cd171a0a9606e5a0cbe7e8f05713e6 Mon Sep 17 00:00:00 2001 From: Toni Bonitto Date: Wed, 17 Jul 2024 18:43:02 -0400 Subject: [PATCH 047/171] =?UTF-8?q?Create=20Author=20=E2=80=9Cambuj-neupan?= =?UTF-8?q?e/=5Findex=E2=80=9D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- content/authors/ambuj-neupane/_index.md | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 content/authors/ambuj-neupane/_index.md diff --git a/content/authors/ambuj-neupane/_index.md b/content/authors/ambuj-neupane/_index.md new file mode 100644 index 0000000000..01edbb41a5 --- /dev/null +++ b/content/authors/ambuj-neupane/_index.md @@ -0,0 +1,10 @@ +--- +display_name: Ambuj Neupane +first_name: Ambuj +last_name: Neupane +# e.g. U.S. General Services Administration +agency_full_name: U.S. General Services Administration +# Agency Acronym [e.g., GSA] +agency: GSA +slug: ambuj-neupane +--- From 86c0517d4a5e880d34d7abb523d378dbd1722400 Mon Sep 17 00:00:00 2001 From: Naomi Baumgold <153678805+nbaumgold@users.noreply.github.com> Date: Thu, 18 Jul 2024 08:44:18 -0400 Subject: [PATCH 048/171] Update user-experience.md --- content/communities/user-experience.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/communities/user-experience.md b/content/communities/user-experience.md index 8976d4ff72..826396fad2 100644 --- a/content/communities/user-experience.md +++ b/content/communities/user-experience.md @@ -35,7 +35,7 @@ community_list: subscribe_email: "ux-cop-request@listserv.gsa.gov" subscribe_email_subject: "Join the User Experience Community" terms: "Government employees and contractors with an official .gov or .mil email are eligible to join." - members: 2,237 + members: 2,277 join_cop_button: "User Experience community members" # see all authors at https://digital.gov/authors From fa94d4472cc080a78a708238e1bb28461af4a80b Mon Sep 17 00:00:00 2001 From: Naomi Baumgold <153678805+nbaumgold@users.noreply.github.com> Date: Thu, 18 Jul 2024 09:46:02 -0400 Subject: [PATCH 049/171] Update web-analytics-and-optimization.md --- content/communities/web-analytics-and-optimization.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/communities/web-analytics-and-optimization.md b/content/communities/web-analytics-and-optimization.md index ce82041f3f..af3e78e703 100644 --- a/content/communities/web-analytics-and-optimization.md +++ b/content/communities/web-analytics-and-optimization.md @@ -42,7 +42,7 @@ community_list: subscribe_email: "analyze-optimize-request@listserv.gsa.gov" subscribe_email_subject: "Join the Web Analytics Community" terms: "Government employees and contractors with an official .gov or .mil email are eligible to join." - members: 1,018 + members: 1,045 join_cop_button: "Web Analytic community members" kicker: "Join the Web Analytics Community" From 36e41a3ace72da3f0158f0efe232e89a58861507 Mon Sep 17 00:00:00 2001 From: Naomi Baumgold <153678805+nbaumgold@users.noreply.github.com> Date: Thu, 18 Jul 2024 09:52:10 -0400 Subject: [PATCH 050/171] Update web-managers-forum.md --- content/communities/web-managers-forum.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/communities/web-managers-forum.md b/content/communities/web-managers-forum.md index 5bcac9e6dc..491997effe 100644 --- a/content/communities/web-managers-forum.md +++ b/content/communities/web-managers-forum.md @@ -66,7 +66,7 @@ community_list: subscribe_email: "content-managers-l-request@listserv.gsa.gov" subscribe_email_subject: "Join the Web Managers Community" terms: "Government employees and contractors with an official .gov or .mil email are eligible to join." - members: 2,130 + members: 2,160 join_cop_button: "Web Manager community members" primary_image: "white-on-gsa-blue-digital-gov-card-community" From a84b226c61392ac944818bc209c36bcdc8665cd9 Mon Sep 17 00:00:00 2001 From: Nick Lyons Date: Thu, 18 Jul 2024 13:17:08 -0400 Subject: [PATCH 051/171] Added back authors component for mobile on news page --- themes/digital.gov/layouts/news/single.html | 2 ++ themes/digital.gov/src/scss/new/_article.scss | 8 ++++++++ 2 files changed, 10 insertions(+) diff --git a/themes/digital.gov/layouts/news/single.html b/themes/digital.gov/layouts/news/single.html index faa9279e59..786ecc1edd 100644 --- a/themes/digital.gov/layouts/news/single.html +++ b/themes/digital.gov/layouts/news/single.html @@ -17,6 +17,8 @@ {{/* Page Title */}}

{{- .Title | markdownify -}}

+ {{- partial "core/authors-list.html" (dict "scope" . "authors" .Params.authors "isInline" true) }} + {{/* Deck */}} {{- if .Params.deck -}}
{{- .Params.deck | markdownify -}}
diff --git a/themes/digital.gov/src/scss/new/_article.scss b/themes/digital.gov/src/scss/new/_article.scss index cdce320088..c40196a074 100644 --- a/themes/digital.gov/src/scss/new/_article.scss +++ b/themes/digital.gov/src/scss/new/_article.scss @@ -58,6 +58,14 @@ article { @include u-margin-bottom(5); header { + .authors-list--inline { + display: flex; + + @include at-media("tablet-lg") { + display: none; + } + } + .meta { @include at-media("tablet-lg") { @include u-display("none"); From eb2e169c0d2d8dc5921c35280b7cb38323a7dddb Mon Sep 17 00:00:00 2001 From: Nick Lyons Date: Thu, 18 Jul 2024 13:27:34 -0400 Subject: [PATCH 052/171] Removed card-article.html artifact from merge conflict --- themes/digital.gov/layouts/news/card-article.html | 0 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 themes/digital.gov/layouts/news/card-article.html diff --git a/themes/digital.gov/layouts/news/card-article.html b/themes/digital.gov/layouts/news/card-article.html deleted file mode 100644 index e69de29bb2..0000000000 From 73a8c5077e28a50cab772d18926a5636009558c8 Mon Sep 17 00:00:00 2001 From: Faye <151191835+fayexou@users.noreply.github.com> Date: Thu, 18 Jul 2024 15:39:18 -0400 Subject: [PATCH 053/171] =?UTF-8?q?Create=20Blog=20Post=20=E2=80=9C2024/07?= =?UTF-8?q?/2024-07-18-designing-for-people-with-disabilities=E2=80=9D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...-designing-for-people-with-disabilities.md | 39 +++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 content/news/2024/07/2024-07-18-designing-for-people-with-disabilities.md diff --git a/content/news/2024/07/2024-07-18-designing-for-people-with-disabilities.md b/content/news/2024/07/2024-07-18-designing-for-people-with-disabilities.md new file mode 100644 index 0000000000..c68e9dc2e1 --- /dev/null +++ b/content/news/2024/07/2024-07-18-designing-for-people-with-disabilities.md @@ -0,0 +1,39 @@ +--- +# Originally published at the following URL +source_url: https://blog.usa.gov/designing-for-people-with-disabilities +source: usagov +date: 2024-07-16 +title: Designing for people with disabilities +deck: The Public Experience Portfolio’s UX team conducted a study focused on + users who rely on assistive technology to access USA.gov, partnering with a + local organization to gather insights from a diverse group of participants, + including those who are blind or deaf. The study revealed various habits and + challenges faced by these users, such as a preference for mobile sites, + difficulties with website carousels, and the importance of clear headings and + action-oriented descriptions. These findings guide improvements in + accessibility, such as clever link labeling and better navigation aids for + assistive technology users. +summary: The Public Experience Portfolio’s UX team conducted a study focused on + users who rely on assistive technology to access USA.gov, partnering with a + local organization to gather insights from a diverse group of participants, + including those who are blind or deaf. The study revealed various habits and + challenges faced by these users, such as a preference for mobile sites, + difficulties with website carousels, and the importance of clear headings and + action-oriented descriptions. These findings guide improvements in + accessibility, such as clever link labeling and better navigation aids for + assistive technology users. +# See all topics at https://digital.gov/topics +topics: + - accessibility + - content-strategy + - human-centered-design + - information-collection + - best-practices + - user-centered-design + - usability +slug: designing-for-people-with-disabilities +# Controls how this page appears across the site +# 0 -- hidden +# 1 -- visible +weight: 1 +--- From 8436be3bfa8ae0ad2ad035b59c8666551572c68d Mon Sep 17 00:00:00 2001 From: James Mejia Date: Fri, 19 Jul 2024 09:02:44 -0500 Subject: [PATCH 054/171] Update PR template --- .github/pull_request_template.md | 39 ++++++++++++++++++++++++++------ 1 file changed, 32 insertions(+), 7 deletions(-) diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index 88d87c36fe..edf5d70764 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -1,8 +1,8 @@ ## Summary -Basic description of work done. Closes [#issue_no]. +Basic description of work done. -### Preview +## Preview [Link to Preview]() @@ -10,18 +10,43 @@ Basic description of work done. Closes [#issue_no]. ⚠️ Significant visual changes require submitting previous design to wayback machine. --> -### Solution +## Solution -### How To Test +Provide a summary of the solution this PR offers. + + + + +## How To Test 1. First Step 2. Second Step 3. Third Step ---- + + + + From e557f74b80cab5314c9f2f4a42d4327e045c6f9f Mon Sep 17 00:00:00 2001 From: Toni Bonitto Date: Fri, 19 Jul 2024 14:16:31 -0400 Subject: [PATCH 055/171] =?UTF-8?q?Create=20Resource=20=E2=80=9Chow-to-con?= =?UTF-8?q?duct-a-project-reflection=E2=80=9D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../how-to-conduct-a-project-reflection.md | 171 ++++++++++++++++++ 1 file changed, 171 insertions(+) create mode 100644 content/resources/how-to-conduct-a-project-reflection.md diff --git a/content/resources/how-to-conduct-a-project-reflection.md b/content/resources/how-to-conduct-a-project-reflection.md new file mode 100644 index 0000000000..832c6e154f --- /dev/null +++ b/content/resources/how-to-conduct-a-project-reflection.md @@ -0,0 +1,171 @@ +--- +date: 2024-07-19 +source: "" +title: How to conduct a project reflection +deck: A template for ending projects +summary: Use this template, shared at the 2024 Spring Community Summit, to + improve your own service delivery. +# See all topics at https://digital.gov/topics +topics: + - accessibility +# See all authors at https://digital.gov/authors +authors: + - jessica-marine +slug: how-to-conduct-a-project-reflection +primary_image: 10th-anniversary-gold-stamp-olivier-le-moal-istock-getty-images-1215894273 +# Controls how this page appears across the site +# 0 -- hidden +# 1 -- visible +# 2 -- highlighted +weight: 1 +--- +Reflecting on a completed project is important because it enables digital service delivery teams to identify strengths and weaknesses in current methods, allows for targeted improvement, and fosters a culture of excellence within teams. The process of reflecting and learning requires planning and whole-team participation. + +## The five Ws of a project reflection: What, when, why, who, and where + +### What is a project reflection? + +Teams can use a project reflection as a learning mechanism. Project reflections help to identify strengths, challenges, and areas for improvement, as well as to celebrate achievements and share feedback. + +### When do you conduct a project reflection? + +A project reflection generally occurs at the end of a project. Mid-project check-ins may also be appropriate given the length, complexity, or size of a project. + +### Why do you conduct project reflections? + +Reflections are a catalyst for growth. Reflecting on past projects allows us to make better informed decisions on future projects. + +### Who participates in a project reflection? + +The participants of a project reflection are project members who will contribute their experience and reflect on what occurred on a project, what outcomes were achieved, and how their contributions impacted the project outcomes. + +The facilitator of a project reflection is a relatively neutral party who guides the conversation and synthesizes the raw notes into a summary that those outside the project can easily understand. + +### Where do we conduct a project reflection? + +A project reflection can happen either in person or online. The goal is to create a safe space to achieve maximum participation and candidness. + +## How to conduct a project reflection + +### Prepare + +Facilitators should schedule one-and-a-half to two hours for a productive reflection session. A two-hour session is highly recommended for sessions with more than six participants, or for teams that encounter challenges throughout a project. Leading up to the session, facilitators will: + +1. Prepare the project reflection prompts. + + * Remind the team of project goals. + * Did we achieve our goals? How do we know? + * Did the outcomes change? When and why? + * What are a few of our biggest achievements? + * What are a few of our biggest challenges? + * What would we do differently knowing what we know now? + * What should we look for to assess our impact in the future? + +2. Share reflection prompts with all participants two to three days ahead of the scheduled session to allow participants to gather their thoughts ahead of time. Project reflection prompts should be a series of questions that allow team members to thoughtfully look back on their former project’s engagements and goals. + +3. Devote the first 10 to 15 minutes of the session to giving the team some space to verbally reflect on the project goals. This includes assessing if team goals were met or if they changed over the course of the engagement. + +## Project reflection template + +Helper text: Use this template to plan your team’s approach to reflecting on web and digital projects, and gather the information you will need to have a productive retrospective. You can modify the template below (originally developed by 18F) to meet your team’s needs. This template can be adapted to digital or in-person environments. Use your team’s preferred collaboration tools to create different areas for each of the sections within the template. + +The conversation this template generates should focus on process, not people. If there is a disagreement about a particular point, take a stance of curiosity, indicate that you wish to discuss that point further, and have a conversation as a team. + +{{< box >}} + +### Project reflection for [project name] + +**Date**: [start date - end date] +**Participants**: [team members] + +#### Background + +[Background, including link to project proposal] + +During this time, the team should be able to see and access the project information, such as: + +- Description of Activity 1 [link as appropriate] +- Description of Activity 2 [link as appropriate] +- Description of Deliverable [link as appropriate] + +#### Project goals + +- [copy from project proposal] + +#### Project prompts + +Let's spend 5 minutes (more or less) responding to each of the prompts. Feel free to mark other people’s responses up with additional feedback: + +- Use a plus sign "**+**" to signal you agree +- Use a dollar sign "**$**" to spend time discussing or unpacking as a group +- Use a question mark "**?**" if you don’t understand the feedback + +#### Did we achieve our goals? How do we know? + +1 to 2 sentences, maximum. + +#### Did the outcomes change? When and why? + +1 to 2 sentences, maximum. + +#### What are a few of our biggest achievements? + +- +- +- + +#### What are a few of the biggest challenges we faced? + +- +- +- + +#### What would we do differently if we could go back in time to the start of this project knowing what we know now? + +- +- + +#### Six months from now, what should we look for to assess our impact? + +If we were to check in on the project 6 months from now, what would tell us whether or not our work had a lasting impact? + +- Good sign: +- Good sign: +- Good sign: +- Bad sign: +- Bad sign: +- Bad sign: + +#### Learn more about the project + +- Project files: [link] +- Project GitHub repository: [link] +- Project team collaboration channel: [link] +- [other project documentation as appropriate] + +{{< /box >}} + +### Reflect + +Once each team member has had time to reflect on their project engagements and goals, facilitators should carry out the following actions for each assigned reflection prompt: + +- Give the participants five minutes to silently write their thoughts and post them in the collaborative space. If this is in a remote environment, recommend to participants that they go on mute and turn off their cameras during this writing time. +- Once participants are done writing, give another three to five minutes for participants to read their team member’s responses. Then, at the beginning of each response add a: + - Plus sign (**+**) to signal they agree with another member’s prompt + - Dollar sign (**$**) to spend time unpacking the thought as a group + - ​Question mark (**?**) to indicate they don’t understand the response + +- Limit the number of + and $ each participant has to “spend” if it seems they are being used too much. +- Spend 10 minutes discussing each topic. Start with the topic that has the most + and work backwards from there. Pay attention to who is speaking during each discussion and encourage the quieter voices to weigh in as well. +- Save the last 20 minutes of the session for the following: + + - Five to 10 minutes to ask, "is there anything that you think is critical to cover that we haven’t addressed yet?" + - Five to 10 minutes to celebrate what went well and reflect on lessons and resources the team could share more broadly, even if they weren’t the highest-voted topics. Otherwise, it can be easy to only focus on the negative during sessions, which can inadvertently leave teams feeling deflated. + - One to two minutes to share next steps. Facilitators should highlight how they plan to synthesize key takeaways from the discussion and how this information will be shared. + +### Synthesize and share + +Following the reflection process, facilitators should synthesize and summarize the key points from the discussion, aiming for three to five takeaways per prompt. After conducting a thorough analysis of the discussion: + +- Facilitators should share the key takeaways with the project team (and more broadly, if appropriate) to take these learnings into future projects. +- Team participants should take time to revisit the lessons learned from this exercise before embarking on a new project. From ff2179e50512f2243ff7e858a6032f430bb50ac3 Mon Sep 17 00:00:00 2001 From: Toni Bonitto Date: Fri, 19 Jul 2024 14:37:39 -0400 Subject: [PATCH 056/171] Update how-to-conduct-a-project-reflection.md clean up front matter, add alias for old page --- .../how-to-conduct-a-project-reflection.md | 25 +++++++++++++------ 1 file changed, 18 insertions(+), 7 deletions(-) diff --git a/content/resources/how-to-conduct-a-project-reflection.md b/content/resources/how-to-conduct-a-project-reflection.md index 832c6e154f..708bfa1868 100644 --- a/content/resources/how-to-conduct-a-project-reflection.md +++ b/content/resources/how-to-conduct-a-project-reflection.md @@ -1,24 +1,35 @@ --- +# View this page at https://digital.gov/resources/how-to-conduct-a-project-reflection +# Learn how to edit our pages at https://workflow.digital.gov + date: 2024-07-19 -source: "" -title: How to conduct a project reflection -deck: A template for ending projects -summary: Use this template, shared at the 2024 Spring Community Summit, to - improve your own service delivery. +title: "How to conduct a project reflection" +deck: "A template for ending projects" +summary: "Use this template, shared at the 2024 Spring Community Summit, to improve your own service delivery." + +# Redirects: Enter the paths of the old URLs that you want redirected to this page. +aliases: + - /resources/service-delivery-project-reflection/ + # See all topics at https://digital.gov/topics topics: - - accessibility + - digital-service-delivery + # See all authors at https://digital.gov/authors authors: - jessica-marine + slug: how-to-conduct-a-project-reflection -primary_image: 10th-anniversary-gold-stamp-olivier-le-moal-istock-getty-images-1215894273 +primary_image: + # Controls how this page appears across the site # 0 -- hidden # 1 -- visible # 2 -- highlighted weight: 1 + --- + Reflecting on a completed project is important because it enables digital service delivery teams to identify strengths and weaknesses in current methods, allows for targeted improvement, and fosters a culture of excellence within teams. The process of reflecting and learning requires planning and whole-team participation. ## The five Ws of a project reflection: What, when, why, who, and where From a5759e4ac9a5ed14025f646fe511499a978fc974 Mon Sep 17 00:00:00 2001 From: Toni Bonitto Date: Fri, 19 Jul 2024 14:43:49 -0400 Subject: [PATCH 057/171] Update how-to-conduct-a-project-reflection.md nested lists --- content/resources/how-to-conduct-a-project-reflection.md | 5 ----- 1 file changed, 5 deletions(-) diff --git a/content/resources/how-to-conduct-a-project-reflection.md b/content/resources/how-to-conduct-a-project-reflection.md index 708bfa1868..73abaac712 100644 --- a/content/resources/how-to-conduct-a-project-reflection.md +++ b/content/resources/how-to-conduct-a-project-reflection.md @@ -63,7 +63,6 @@ A project reflection can happen either in person or online. The goal is to creat Facilitators should schedule one-and-a-half to two hours for a productive reflection session. A two-hour session is highly recommended for sessions with more than six participants, or for teams that encounter challenges throughout a project. Leading up to the session, facilitators will: 1. Prepare the project reflection prompts. - * Remind the team of project goals. * Did we achieve our goals? How do we know? * Did the outcomes change? When and why? @@ -71,9 +70,7 @@ Facilitators should schedule one-and-a-half to two hours for a productive reflec * What are a few of our biggest challenges? * What would we do differently knowing what we know now? * What should we look for to assess our impact in the future? - 2. Share reflection prompts with all participants two to three days ahead of the scheduled session to allow participants to gather their thoughts ahead of time. Project reflection prompts should be a series of questions that allow team members to thoughtfully look back on their former project’s engagements and goals. - 3. Devote the first 10 to 15 minutes of the session to giving the team some space to verbally reflect on the project goals. This includes assessing if team goals were met or if they changed over the course of the engagement. ## Project reflection template @@ -165,11 +162,9 @@ Once each team member has had time to reflect on their project engagements and g - Plus sign (**+**) to signal they agree with another member’s prompt - Dollar sign (**$**) to spend time unpacking the thought as a group - ​Question mark (**?**) to indicate they don’t understand the response - - Limit the number of + and $ each participant has to “spend” if it seems they are being used too much. - Spend 10 minutes discussing each topic. Start with the topic that has the most + and work backwards from there. Pay attention to who is speaking during each discussion and encourage the quieter voices to weigh in as well. - Save the last 20 minutes of the session for the following: - - Five to 10 minutes to ask, "is there anything that you think is critical to cover that we haven’t addressed yet?" - Five to 10 minutes to celebrate what went well and reflect on lessons and resources the team could share more broadly, even if they weren’t the highest-voted topics. Otherwise, it can be easy to only focus on the negative during sessions, which can inadvertently leave teams feeling deflated. - One to two minutes to share next steps. Facilitators should highlight how they plan to synthesize key takeaways from the discussion and how this information will be shared. From d175588a8da49f74851e459697b9dfcf572b2835 Mon Sep 17 00:00:00 2001 From: Toni Bonitto Date: Fri, 19 Jul 2024 15:07:18 -0400 Subject: [PATCH 058/171] Update how-to-conduct-a-project-reflection.md --- .../how-to-conduct-a-project-reflection.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/content/resources/how-to-conduct-a-project-reflection.md b/content/resources/how-to-conduct-a-project-reflection.md index 73abaac712..c5e7ebbe35 100644 --- a/content/resources/how-to-conduct-a-project-reflection.md +++ b/content/resources/how-to-conduct-a-project-reflection.md @@ -63,13 +63,13 @@ A project reflection can happen either in person or online. The goal is to creat Facilitators should schedule one-and-a-half to two hours for a productive reflection session. A two-hour session is highly recommended for sessions with more than six participants, or for teams that encounter challenges throughout a project. Leading up to the session, facilitators will: 1. Prepare the project reflection prompts. - * Remind the team of project goals. - * Did we achieve our goals? How do we know? - * Did the outcomes change? When and why? - * What are a few of our biggest achievements? - * What are a few of our biggest challenges? - * What would we do differently knowing what we know now? - * What should we look for to assess our impact in the future? + - Remind the team of project goals. + - Did we achieve our goals? How do we know? + - Did the outcomes change? When and why? + - What are a few of our biggest achievements? + - What are a few of our biggest challenges? + - What would we do differently knowing what we know now? + - What should we look for to assess our impact in the future? 2. Share reflection prompts with all participants two to three days ahead of the scheduled session to allow participants to gather their thoughts ahead of time. Project reflection prompts should be a series of questions that allow team members to thoughtfully look back on their former project’s engagements and goals. 3. Devote the first 10 to 15 minutes of the session to giving the team some space to verbally reflect on the project goals. This includes assessing if team goals were met or if they changed over the course of the engagement. From d1a22b70e6a6ea1f22a04aa07ef33117e615f942 Mon Sep 17 00:00:00 2001 From: Toni Bonitto Date: Fri, 19 Jul 2024 15:29:58 -0400 Subject: [PATCH 059/171] Set expiry dates for alias redirects Set expiry dates for alias redirects --- content/resources/service-delivery-project-reflection.md | 3 +++ content/resources/service-delivery-transition-plan.md | 3 +++ 2 files changed, 6 insertions(+) diff --git a/content/resources/service-delivery-project-reflection.md b/content/resources/service-delivery-project-reflection.md index 93b1c63645..7ef9952130 100644 --- a/content/resources/service-delivery-project-reflection.md +++ b/content/resources/service-delivery-project-reflection.md @@ -4,12 +4,15 @@ date: 2024-03-13 12:00:00 -0500 title: "Service Delivery Project Reflection" summary: "Use this template, shared at the 2024 Spring Community Summit, to improve your own service delivery." +expirydate: "2024-07-18" + # Controls how this page appears across the site # 0 -- hidden # 1 -- visible # 2 -- highlighted weight: 0 + topics: - digital-service-delivery diff --git a/content/resources/service-delivery-transition-plan.md b/content/resources/service-delivery-transition-plan.md index 47856b12ec..184721b0ea 100644 --- a/content/resources/service-delivery-transition-plan.md +++ b/content/resources/service-delivery-transition-plan.md @@ -4,12 +4,15 @@ date: 2024-03-13 12:00:00 -0500 title: "Service Delivery Transition Plan" summary: "Use this template, shared at the 2024 Spring Community Summit, to improve your own service delivery." +expirydate: "2024-07-18" + # Controls how this page appears across the site # 0 -- hidden # 1 -- visible # 2 -- highlighted weight: 0 + topics: - digital-service-delivery From 40c7f0a1652a2e85b8faef7f5b3a5869019ed328 Mon Sep 17 00:00:00 2001 From: Toni Bonitto Date: Fri, 19 Jul 2024 16:37:30 -0400 Subject: [PATCH 060/171] =?UTF-8?q?Create=20Resource=20=E2=80=9Chow-to-tra?= =?UTF-8?q?nsition-a-team-off-of-a-project=E2=80=9D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...w-to-transition-a-team-off-of-a-project.md | 86 +++++++++++++++++++ 1 file changed, 86 insertions(+) create mode 100644 content/resources/how-to-transition-a-team-off-of-a-project.md diff --git a/content/resources/how-to-transition-a-team-off-of-a-project.md b/content/resources/how-to-transition-a-team-off-of-a-project.md new file mode 100644 index 0000000000..74131451e6 --- /dev/null +++ b/content/resources/how-to-transition-a-team-off-of-a-project.md @@ -0,0 +1,86 @@ +--- +date: 2024-07-19 +source: "" +title: How to transition a team off of a project +deck: A template for transitioning projects to another team +summary: Use this template, shared at the 2024 Spring Community Summit, to + improve your own service delivery. +# See all topics at https://digital.gov/topics +topics: + - user-centered-design +# See all authors at https://digital.gov/authors +authors: + - jessica-marine +slug: how-to-transition-a-team-off-of-a-project +primary_image: 10th-anniversary-gold-stamp-olivier-le-moal-istock-getty-images-1215894273 +# Controls how this page appears across the site +# 0 -- hidden +# 1 -- visible +# 2 -- highlighted +weight: 1 +--- +When bringing in a short-term project team, it’s important to formally transition them off the project, once their part of the project ends. This transition helps to prepare the long-term team for success. + +Use this resource to serve as a hand-off document when a short-term project team is transitioning off of a project. You can modify the template to meet your team’s needs. + +You can also use this resource to remind folks of project goals, provide links to all the deliverables over the course of the project, and outline the goals that both teams want in place before the short-term team transitions off. These goals can include things like having an empowered product owner in place, the ability to run a full agile sprint cycle without assistance, being able to get code from inception to production, and having redundancies in place, among other things. + +You can also use this as a visioning tool by thinking about what success and failure might look like a year from now. This helps set the mindset that this work is a continuing process and will be ongoing. + +{{< box >}} + +### Transition plan for [project name] + +**Dates**: [start date - end date +**Teams**: [long-term team] + [short-term project team] + +#### Background + +Over the last [#] months, the [name of the short-term project team] team has partnered with [name of the long-term team] for [purpose from project proposal and a link to project proposal]. +Together, we accomplished these deliverables [work done to date and outcome]: + +- Description of Activity 1 [link as appropriate] +- Description of Activity 2 [link as appropriate] +- Description of Deliverable [link as appropriate] + +#### Goals + +[copy from project proposal] + +#### Scenarios and acceptance criteria + +In the table below are some scenarios and acceptance criteria that both teams can use to define success and signal when it’s time for the [name of the short-term project team] team to roll off the project. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Priority and sequenceScenarioAcceptance criteriaStatus
+ +{{< /box >}} From 9933ffce75b1afaeb1e0e4e6cddaef36ff9b47f6 Mon Sep 17 00:00:00 2001 From: Toni Bonitto Date: Fri, 19 Jul 2024 17:42:05 -0400 Subject: [PATCH 061/171] Update how-to-transition-a-team-off-of-a-project.md front matter, formatting --- ...w-to-transition-a-team-off-of-a-project.md | 28 +++++++++++++------ 1 file changed, 20 insertions(+), 8 deletions(-) diff --git a/content/resources/how-to-transition-a-team-off-of-a-project.md b/content/resources/how-to-transition-a-team-off-of-a-project.md index 74131451e6..42d3e765ee 100644 --- a/content/resources/how-to-transition-a-team-off-of-a-project.md +++ b/content/resources/how-to-transition-a-team-off-of-a-project.md @@ -1,24 +1,36 @@ --- +# View this page at https://digital.gov/resources/how-to-transition-a-team-off-of-a-project +# Learn how to edit our pages at https://workflow.digital.gov + date: 2024-07-19 -source: "" -title: How to transition a team off of a project -deck: A template for transitioning projects to another team -summary: Use this template, shared at the 2024 Spring Community Summit, to - improve your own service delivery. +title: "How to transition a team off of a project" +deck: "A template for transitioning projects to another team" +summary: "Use this template, shared at the 2024 Spring Community Summit, to improve your own service delivery." + +# Redirects: Enter the paths of the old URLs that you want redirected to this page. +aliases: + - /resources/service-delivery-transition-plan/ + # See all topics at https://digital.gov/topics topics: - - user-centered-design + - digital-service-delivery + # See all authors at https://digital.gov/authors authors: - jessica-marine + slug: how-to-transition-a-team-off-of-a-project -primary_image: 10th-anniversary-gold-stamp-olivier-le-moal-istock-getty-images-1215894273 + +primary_image: + # Controls how this page appears across the site # 0 -- hidden # 1 -- visible # 2 -- highlighted weight: 1 + --- + When bringing in a short-term project team, it’s important to formally transition them off the project, once their part of the project ends. This transition helps to prepare the long-term team for success. Use this resource to serve as a hand-off document when a short-term project team is transitioning off of a project. You can modify the template to meet your team’s needs. @@ -31,7 +43,7 @@ You can also use this as a visioning tool by thinking about what success and fai ### Transition plan for [project name] -**Dates**: [start date - end date +**Dates**: [start date - end date]8 **Teams**: [long-term team] + [short-term project team] #### Background From a83b61e502d54003542e57c2652a75b2293e6a64 Mon Sep 17 00:00:00 2001 From: Toni Bonitto Date: Fri, 19 Jul 2024 17:44:34 -0400 Subject: [PATCH 062/171] Update how-to-transition-a-team-off-of-a-project.md line break (and alias in last one) --- content/resources/how-to-transition-a-team-off-of-a-project.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/resources/how-to-transition-a-team-off-of-a-project.md b/content/resources/how-to-transition-a-team-off-of-a-project.md index 42d3e765ee..96634a94b3 100644 --- a/content/resources/how-to-transition-a-team-off-of-a-project.md +++ b/content/resources/how-to-transition-a-team-off-of-a-project.md @@ -43,7 +43,7 @@ You can also use this as a visioning tool by thinking about what success and fai ### Transition plan for [project name] -**Dates**: [start date - end date]8 +**Dates**: [start date - end date]
**Teams**: [long-term team] + [short-term project team] #### Background From 1fe1b73e1b95281fc469605821613b8479b48709 Mon Sep 17 00:00:00 2001 From: Toni Bonitto Date: Fri, 19 Jul 2024 18:11:26 -0400 Subject: [PATCH 063/171] Update how-to-transition-a-team-off-of-a-project.md table class --- content/resources/how-to-transition-a-team-off-of-a-project.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/resources/how-to-transition-a-team-off-of-a-project.md b/content/resources/how-to-transition-a-team-off-of-a-project.md index 96634a94b3..1fb8ee8855 100644 --- a/content/resources/how-to-transition-a-team-off-of-a-project.md +++ b/content/resources/how-to-transition-a-team-off-of-a-project.md @@ -63,7 +63,7 @@ Together, we accomplished these deliverables [work done to date and outcome] In the table below are some scenarios and acceptance criteria that both teams can use to define success and signal when it’s time for the [name of the short-term project team] team to roll off the project. - +
From ceab1e8a859327088224c8c3f9ca7e39f3c8f6c2 Mon Sep 17 00:00:00 2001 From: Toni Bonitto Date: Fri, 19 Jul 2024 18:52:05 -0400 Subject: [PATCH 064/171] Update how-to-transition-a-team-off-of-a-project.md minor fix --- content/resources/how-to-transition-a-team-off-of-a-project.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/content/resources/how-to-transition-a-team-off-of-a-project.md b/content/resources/how-to-transition-a-team-off-of-a-project.md index 1fb8ee8855..aeb5bc7061 100644 --- a/content/resources/how-to-transition-a-team-off-of-a-project.md +++ b/content/resources/how-to-transition-a-team-off-of-a-project.md @@ -49,7 +49,8 @@ You can also use this as a visioning tool by thinking about what success and fai #### Background Over the last [#] months, the [name of the short-term project team] team has partnered with [name of the long-term team] for [purpose from project proposal and a link to project proposal]. -Together, we accomplished these deliverables [work done to date and outcome]: + +Together, we accomplished these deliverables [work done to date and outcome]: - Description of Activity 1 [link as appropriate] - Description of Activity 2 [link as appropriate] From e544b1b6d35e7fc4747e507580ba44cf5554e8ee Mon Sep 17 00:00:00 2001 From: klin2020 Date: Mon, 22 Jul 2024 13:02:40 -0700 Subject: [PATCH 065/171] Sitemap change for reindexing -Removed lastmod tag for search.gov reindexing --- themes/digital.gov/layouts/sitemap.xml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/themes/digital.gov/layouts/sitemap.xml b/themes/digital.gov/layouts/sitemap.xml index 5a4f8613d4..32863dc561 100644 --- a/themes/digital.gov/layouts/sitemap.xml +++ b/themes/digital.gov/layouts/sitemap.xml @@ -1,8 +1,7 @@ {{ range .Data.Pages }} - https://digital.gov{{ .Permalink | relURL }}{{ if not .Lastmod.IsZero }} - {{ safeHTML ( .Lastmod.Format "2006-01-02T15:04:05-07:00" ) }}{{ end }}{{ with .Sitemap.ChangeFreq }} + https://digital.gov{{ .Permalink | relURL }}{{ with .Sitemap.ChangeFreq }} {{ . }}{{ end }}{{ if ge .Sitemap.Priority 0.0 }} {{ .Sitemap.Priority }}{{ end }} From 993094d86278fcd60bc42a1ab7cc40053f643be6 Mon Sep 17 00:00:00 2001 From: Naomi Baumgold <153678805+nbaumgold@users.noreply.github.com> Date: Tue, 23 Jul 2024 11:18:03 -0400 Subject: [PATCH 066/171] Update 2024-06-20-uswds-monthly-call-june-2024.md Added event script --- ...2024-06-20-uswds-monthly-call-june-2024.md | 342 ++++++++++++++++++ 1 file changed, 342 insertions(+) diff --git a/content/events/2024/06/2024-06-20-uswds-monthly-call-june-2024.md b/content/events/2024/06/2024-06-20-uswds-monthly-call-june-2024.md index 39eee61f6f..a4081e59ab 100644 --- a/content/events/2024/06/2024-06-20-uswds-monthly-call-june-2024.md +++ b/content/events/2024/06/2024-06-20-uswds-monthly-call-june-2024.md @@ -24,6 +24,348 @@ primary_image: 2024-uswds-monthly-call-june-title-card {{< asset-static file="uswds-monthly-call-june-2024.pptx" label="View the slides (Powerpoint presentation, 3 MB, 33 slides)">}} +{{< accordion kicker="Slide by Slide" title="USWDS Monthly Call - Presentation Script for May 2024" icon="content_copy" >}}**Slide 1:** Thanks Jeannie, and welcome, everyone, to the U.S. Web Design System monthly call for June 2024 — this month we're celebrating Juneteenth (just yesterday!) with the USWDS logo in red, white, and blue. We're also celebrating Pride month in June, with the USWDS logo showing a selection of Pride flags, including the classic rainbow pride flag; the Philadelphia City Hall pride flag, with black and brown stripes in addition to the rainbow; transgender pride in blue, pink, and white; nonbinary pride in yellow, white, purple, and black; and the intersex pride flag with a purple circle on yellow. Today is also the summer solstice here in the northern hemisphere — the longest day of the year — with the USWDS logo in bright yellow like the sun. + + +**Slide 2:** My name is Dan Williams, he/him, and I'm the USWDS project lead — and here on-screen is my avatar: dark hair, blue sweater, collared shirt. And I've still not updated this avatar to feature the glasses I now wear in real life, in addition to a blue collared shirt, and gold socks. + + +As Jeannie mentioned, we are recording this call, and I'm happy to say we've started to be able to share the recordings of these monthly calls publicly. You can find pretty much everything from the last year's worth of monthly calls — back to January 2023 — on our website, at [designsystem.digital.gov/about/monthly-calls](https://designsystem.digital.gov/about/monthly-calls/). We typically post videos shortly after the monthly call, and we also link out to the slides and the script, hosted at digital.gov. We've also started collecting each month's Q&A as a GitHub discussion linked from the monthly calls page. We've posted a link to our monthly calls page in the chat. + + +We'll be posting other links and references into the chat as we go along, and I encourage you to ask questions in the chat at any time. If any member of our team can answer your question in the chat, we'll do so. Otherwise, there'll be some time for questions and answers at the end of the hour. Also, be sure to introduce yourself in the chat as well — it's nice to know who's here. It's good to have you here today. + +For those of you who find the chat distracting, you’re welcome to close or hide the chat window during the main presentation. You can reopen it later during the Q&A session at the end of this call. So thanks! And, with that, let's get started! + + +**Slide 3:** So what's our agenda for today? We’ve got a couple of new sites to feature and a few product updates. Then, we're going to give a first look at a couple of USWDS web components to begin to give a sense of how this new technology could work in practice. Then, we will hopefully leave plenty of time for Q&A. + + +**Slide 4:** So let's get into it with featured sites. + + +**Slide 5:** First, we've got a new site from the Department of Treasury's Export Compliance Assistance Program (or ECAP): [nnsa.nsis.anl.gov/ecap](nnsa.nsis.anl.gov/ecap). The ECAP provides export compliance training, assistance, and tools to raise awareness and promote export compliance across the Department of Energy and National Nuclear Security Administration complex. The ECAP homepage has a familiar USWDS look and feel, and its most prominent aspect is an alert, informing its audience of severe restrictions for all interactions with Russia and Belarus. + + +**Slide 6:** And this month we're also highlighting [acc.gov](https://acc.gov): a site for the American Climate Corps, an organization inspired by the Civilian Conservation Corps of the 1930s, that seeks to empower a new, diverse generation to tackle environmental injustice and climate change. The ACC home is an interesting example of customizing USWDS to achieve a distinctive look and feel tailored to a specific audience. The ACC homepage features a large mint-toned hero section with an illustration of wind turbines and the words "Your climate career starts here." + + +**Slide 7:** Congratulations and great work! Be sure to let our team know when a new site launches, either with an email or a note, on the USWDS public Slack channel! + + +**Slide 8:** Now for a few product updates… + + +**Slide 9:** First, out now: [USWDS 3.8.1](https://github.com/uswds/uswds/releases/tag/v3.8.1), a small but mighty new release that addresses a couple important bugs. + + +**Slide 10:** Here are a couple of the key improvements in USWDS 3.8.1. The biggest is a couple of accessibility bugs that we've addressed with the tooltip. Now, the tooltip stays open when users are hovering over it — even if they're not hovering over the tooltip trigger. And additionally, users can now always dismiss a tooltip with the **escape** key. + + +We also fixed an input mask initialization bug that caused it to fail if it wasn't a direct child of a form. + + +We also improved the display of nested button groups. Now, nested button groups should match the height of their parents. + + +And finally, we fixed an issue in our documentation where a data error introduced a typo in the Spanish translation of the Identifier in USWDS 3.7.0. + + +And those are the big updates in USWDS 3.8.1, which is out now! + + +**Slide 11:** There's also always something going on in our public discussions on GitHub. Today, I'd like to call out four discussions of note. + + +There's a new [discussion open now for a Chat component](https://github.com/uswds/uswds/discussions/5938). So if you've worked on a chat UI, or have some interest in making the case for chat-related components in USWDS, contribute to building out the proposal for Chat in its discussion. + + +We've also had some new activity in the [Glossary component chat](https://github.com/uswds/uswds/discussions/5771) as well, with folks providing some good examples of implementing Glossary functionality, along with some discussion about accessibility considerations of different approaches. So if you have experience or thoughts working on a Glossary solution, check out this discussion. + + +We also have a new accessibility discussion for June. [We are digging into how folks are using the Tag component](https://github.com/uswds/uswds/discussions/5956). We're interested in knowing the different types of uses for _interactive_ tags: that is, tags that are not only used to call out a category or special context for content, but those that have some kind of interactive element (whether it's linking off to similarly tagged content, filtering something like search results, or something else). If you use tags, let us know! + + +And finally, as I alluded to earlier, we have [the Q&A from our May monthly call](https://github.com/uswds/uswds/discussions/5952) posted in GitHub discussions — so if you couldn't make the last call, you can catch up on some of the items that came up as questions from the audience. + + +**Slide 12:** And now an update on some of our ongoing usability research. + + +Some of you may remember the research project we undertook last year focussed on the most important things people need to be able to do on our website: what we call our users’ **Top Tasks**. (If you're interested, we talked about this in our [April 2023 call](https://designsystem.digital.gov/about/monthly-calls/#april-2023-top-tasks), linked in the chat.) Well, once we identified those top tasks, we wanted to find out how easy or difficult it is for folks to actually do those things on our website. That’s what we just wrapped up: testing the performance of those Top Tasks. + + +**Slide 13:** We looked at 5 Top Tasks in this study: + + +* Browsing components + +* Finding specific component guidance + +* Finding specific pattern guidance + +* Finding examples of sites that use USWDS… + +* and Getting design kits. + + +**Slide 14:** We did 45-minute moderated usability testing sessions with 7 people who use the design system. Most of them described themselves as designers and researchers, with a couple of folks with a developer background, and 1 person who was a product manager. We expect to run another round of usability testing focusing on developers, but for this round, we focused on designers. + + +All participants described their proficiency level with USWDS between novice (with very little experience using it) to intermediate, which was great because we were trying to get the perspectives of folks who were newer to the design system — coming with fresh eyes. Participants came from 7 different agencies, and it was great to get such a variety represented. + + +Let’s talk about our high-level findings. + + +**Slide 15:** We observed that the **most challenging tasks** were browsing components and finding pattern guidance. The reasons people seemed to struggle with these tasks had a lot to do with confusion about the words we use to describe things. + + +For instance, we don't always share a common understanding of what a "pattern" is. Is it a repeating, decorative motif? Is it a functional unit like a component? Is it an interaction? + + +Additionally, we don't always have common words for specific components. In one of the task scenarios we wanted folks to find the Step Indicator component, but none of the participants used that term themselves. Instead, they were looking for “progress bar” or “progress indicator.” Or instead of “in-page navigation” they were looking for “anchor links” or “jump links.” + +There was some **mixed success** in finding _specific_ component guidance — usability guidance within a component's page — with one of the scenarios being easy for people to complete (finding accessibility guidance for the Button component) and the other being more difficult (finding accessibility guidance for Data Visualization). + +The **most successful tasks** were finding examples of other sites that use USWDS as well as finding the design kits. Still, we got some great insight into how to make those tasks even easier, since people still struggled with the design kit file feeling buried on its page. + + +It’s also hard for people to find the full showcase list of sites that use USWDS and there’s room to improve how to present that list, as well. + + +**Slide 16:** If we had to boil it down to one top takeaway from this study, it’s that **the way we name things doesn’t always match user expectations**. Participants often didn't intuitively understand the top-level navigation and weren’t sure what to expect in each category. + + +**Slide 17:** So, we have some actionable insights and clear next steps to help make some of these Top Tasks easier for folks. We'll be getting new issues on our project board, and working on prioritizing some solutions. Some of these solutions are closer to low-hanging fruit, like increasing the prominence of design kit files, or adding better component synonyms on the component filter page. + + +Some solutions will take more thought and research, like rethinking top-level organization and finding increasingly clearer ways to talk about patterns. We'll have these things in mind as we move toward a new major version of the design system next year. + + +**Slide 18:** And finally, this month we've published five more accessibility test pages: [Banner](https://designsystem.digital.gov/components/banner/accessibility-tests/), [Search](https://designsystem.digital.gov/components/search/accessibility-tests/), [Select](https://designsystem.digital.gov/components/select/accessibility-tests/), [Text Input](https://designsystem.digital.gov/components/text-input/accessibility-tests/), and [Tooltip](https://designsystem.digital.gov/components/tooltip/accessibility-tests/). We've posted links to these new pages in the chat, and we're working on three big component test pages for next month: Header, Footer, and Identifier. So stay tuned for those! + + +**Slide 19:** Phew! We've had a lot going on over the last month, and we haven't even gotten to the main event: A first look at USWDS web components. + + +**Slide 20:** As we're making our initial progress here, this work is very much in an alpha stage. What exactly is the alpha stage? Well, we're still trying to define exactly it for ourselves, but at its broadest, it's an _experimental_ stage — a stage where we explicitly value exploration over refinement. + + +It's a place where things can and will change without warning, where we give ourselves the room to try a bunch of stuff out. Traditionally, it's an internal phase, but there's plenty of value in making this work visible. Just don't rely on it yet! + + +**Slide 21:** From the start, however, there are a few general values we're trying to keep in mind as we work. The first is Simplicity: we're focused on delivering components that are as easy as possible to install and use in a project, components that don't require any initial compilation or knowledge of third-party technologies like Sass to get going. + + +**Slide 22:** We also have encapsulation in mind. We want designers and developers to have reliable performance wherever they use a component. Encapsulation in Web Components means that everything _you need_ to use the component is built into the element: including not just the interactivity, but also the styles. Web Components don't require an external stylesheet for basic functionality. In the Web Components world, we see the primary use for CSS in the _setting_ of CSS variables or CSS _custom properties, not_ in any necessary or additional CSS _rules_. CSS still has an important role to play, but not for default display and functionality. + + +And this also means that USWDS Web Components will be largely unaffected by any existing styles on your site — and that include styles associated with non–Web Component versions of USWDS. _Traditional_ USWDS and _Web Components_ USWDS will be able to exist together, in parallel, on a project. And we expect that that will happen frequently. + + +**Slide 23:** Relatedly, we're thinking about our components through the lens of configuration — how to use component attributes and CSS variables to control theming instead of custom CSS rules. We see the future of USWDS theming as closer to a settings file than a stylesheet. + + +**Slide 24:** And finally, we have a platform orientation. We're trying to deliver a design system that's built with native, web standards-based solutions that support the web as a platform. HTML, CSS, and JavaScript have changed since the early days of USWDS, and while we've not lost sight of those changes as USWDS has evolved over the years, this new version is our best opportunity to really embrace the way the web as a platform has also matured and evolved, and to position ourselves to _continue_ to evolve alongside it. + + +**Slide 25:** So let's take a look at what we're building. And to do that, I'd like to introduce a couple of my colleagues. First James Mejia. James is an engineer and a contractor on the USWDS Core team. James, can you introduce yourself and give a brief self description for anyone audio-only? + +James: _James Mejia Intro_ + +**Slide 26:** Dan: Thanks James! I'd also like to introduce Matt Henry. Matt's our new Engineering Lead, and we're very pleased to have him on the USWDS team. Matt, can you introduce yourself and give a brief self description for anyone audio-only? + + +Matt: Hello! I'm Matt Henry, I use he/him pronouns and I'm an engineer at 18F currently acting as engineering lead for USWDS. For accessibility purposes, I'm a bald white man with glasses and a close-cropped white beard. I've been working with the Design System for a couple of months now to help bring the next version into being, and I'm super excited to show you some of what we've been working on. + +**Slide 27:** Dan: Thank you Matt! So let's see this is in action. Matt and James will take the demo from here, starting with Matt. Matt, why don't you share your screen and take it away! + +Matt: First, by way of disclaimer, I should say that — as Dan mentioned — everything you see here today is in either an alpha or pre-alpha state, so some things about how this is all going to work will change by the time we ship code that you'll want to include in your projects. + +This is going to be sort of a re-introduction to USWDS so let's go back to basics with the USWDS tutorial project that you might recognize from some of these monthly calls. I'm going to start with a clean install of the tutorial so you can see everything I'll need to do to get something working. You may have gone through this tutorial before, so it may be familiar. + +Now just to prove there's nothing up my sleeve, here's a clean git status on the main branch of the tutorial. We originally developed this tutorial to walk through installing the design system and a couple components on a site that doesn't use USWDS. So not only does this fresh install not have USWDS on it already, but it's a great way for us to show how we might install a Web Components–based version of USWDS. + +The first task the tutorial wants you to take on is adding the banner. This is the component you've probably worked with many many times that tells users that they're on an official government site, so it's a good place to start! Now let's get going and install the banner component. +`# in uswds-tutorial project npm link @uswds-next/usa-banner` + +What we just did is a little npm magic, and this is the step where, if the component was published on npm, which it will be eventually, you'd just `npm install`. So you can just imagine I did `npm install @uswds/usa-banner`, since that's what you'll be doing. + +The tutorial site is built with eleventy. You don't need to know anything about eleventy to follow along with what I'm doing, but I'm pointing it out because the next thing I'll do is just a tiny bit of eleventy configuration to make use of the component we just installed. + +`eleventyConfig.addPassthroughCopy({ + "node_modules/@uswds-next/usa-banner/dist/usa-banner.js": + "assets/usa-banner.js", + });` + +All that does is copy the component code we just added to the project out of the node_modules and into the assets folder in the built site. If you use eleventy you might do something similar. + +Now I’m going to go ahead and spin up the 11ty dev server. But now that we've done that setup, we're ready to add the banner to the site, so let's do it. + +` +` + +That's literally it. And the only reason we even needed to touch the eleventy configuration is because we installed a local copy of the component, so we needed to get that code out of the `node_modules` and into the website itself. + +If we were using a cloud-hosted version of the component, we wouldn't even need to do that, and all we would need to do is add the script tag and we could use the `` tag straight away. + +Now let's see what we get out of the box: +* The banner toggle just works. + +* CSS is included. + +* All of the images are part of the build. + +Let's jump back over to the tutorial project to see what we _didn't_ have to do to get this working. We _didn't_: + +* Install `@uswds/compile` + +* Configure gulp + +* Mess with theme settings + +* Touch any image paths + +This is all done at build time when we bundled the package. + +What are some other things we can do with this banner? How about if we wanted our banner to be in spanish? _We sure can!_ + +` +` + +_Simple!_ Now just to prove that this is just a plain-old HTML element, let's go do some JavaScript on it. + +`const banner = document.querySelector('usa-banner')` + +See how we can grab the banner element with the same DOM API methods you use to do anything else with HTML. `toggle` is just a method on the `UsaBanner` class, and it's part of the public API for that class, so you can call it yourself programmatically if you need to, like so: + +`banner.toggle()` + + +Now that we’ve seen it in action, first, let's go over to the code for the web-component version of the Design System and look under the hood at the banner we’ve been working with. Just a few quick things I want to point out here: + +Right here at the top, we're importing a bunch of things from a package called **Lit**. Lit is a lightweight library that gives you some useful tools for creating and working with HTML custom elements (aka Web Components—I'll use custom elements and web components interchangeably). + +Right away, where we create this component, we're making a new class that extends from `LitElement`. If we were making a component without a library, we'd be extending `HtmlElement` directly, but as I said, Lit gives us some superpowers to make all of this easier and less verbose. If you're curious about Lit and want to learn more about why we're using it, there's some documentation about it in the USWDS Proposals Repo. + +Scrolling quickly through here, you can see a bunch of JS, CSS, and HTML. A whole bunch of this is just taken directly from the existing banner component. And here in the class body, you can see that `toggle` method we used before. All it does is flip the boolean value of the `isOpen` prop, and then toggles the `hidden` attribute. + +Then, way at the bottom, there's this call to `customElements.define`. This is a web standard method for taking the class that we implemented above and telling the browser what the HTML tagname we're going to use to actually bring all of this functionality into our web page. We're talking about the banner here, so we're stuffing all of this code into a tag called `usa-banner`. You can tell it's a web component because of the dash. Part of the standard is a requirement that all custom element tag names include a dash to set them apart from the ones that ship in the browser. + +So that concludes our whirlwind tour of the banner code itself. + +While we're here in the uswds-next repository, I can show you how I did the production build of our component we’ve been using. I should be clear up front here that this build and link stuff I'm doing is just for demonstration purposes and it's not anything that you'll need to know. + +`# in uswds-next repo root +npm run build --workspace=@uswds-next/usa-banner +npm link --workspace=@uswds-next/usa-banner` + +You'll notice that the component we're building here is just the banner by itself. We're planning to ship each component as its own package, so you can use them _a la carte_ as it were and only bring in the components you need for your project. It'll also let you add new versions of the components as we ship them, so you don't need to wait until we have the whole design system rebuilt in web components before you start working with them. + +Ok, let’s get back to demoing. We saw before with the language in the banner how we can customize components using attributes. Those attributes are basically part of the API that you'll use to interact with and customize components. What about theming and visual style? + +To answer that, I'm going to use another component: the humble but mighty `usa-link`. I've already built and linked that, so we can go ahead and add it to the project the same way we did with the banner: +`eleventyConfig.addPassthroughCopy({ + "node_modules/@uswds-next/usa-link/dist/usa-link.js": "assets/usa-link.js", + });` + +and then add it to the page: + +`` + +`It's dangerous to go alone. Take this!` + +We've got a link! Because the link component has USWDS styles baked into it, we can see that when the link is active, it has the big blue focus outline you'd expect to see. But what if we wanted to change that? Let's crack the component open and see what's inside there that we might want to style. Here's our link component. If we expand it, we can see there's a plain old link inside with the `.usa-link` class, and we know how to style things that have classes… don't we? + +So you might think you'd be able to just write some CSS like this: + +` ` + +Alas, this doesn't work. And the reason it doesn't work is this `#shadow-root` thing. That link in there is part of what's called the Shadow DOM. + +In a nutshell, Shadow DOM is just markup that the component writes. You can contrast shadow DOM with Light DOM, which is the markup you write. But what's important here is that styles from outside of the shadow DOM don't apply inside of it. A lot of the time, this is what we want! This provides a layer of encapsulation that protects your component from being styled by whatever styles happen to match it on whatever page your component ends up on. + +But it also means that styling components is just a little bit trickier than you're used to. Fortunately, there are a couple of ways for styles to make their way into the shadow DOM. One of those is with CSS custom properties, or CSS variables. Unlike most CSS properties, the values of CSS variables do cascade into the Shadow DOM. So anything we set in a CSS variable will be available for our component to use. + +So if we go over to the code for the link component, we can see the CSS it uses here. You'll notice that most of the styles use CSS variables. Those variables are part of the API surface for customizing components. And if we look at the focus styles, we can see a variable that looks a lot like the thing we want to change, so let's go change it and see what happens… + +`` + + +It worked! So what we've seen here is that there are a couple of ways to customize components. First there are attributes, which work similarly to the props you might be used to if you're coming from something like React or Vue, and there are CSS variables that let you apply themes or do other kinds of look & feel customization. You can think of attributes and CSS variables as being part of the public API for web components. + +They're basically the levers and switches that component authors build into their components to let you customize them in predefined ways. There are other ways to extend and customize components, but we'll dig into those in a future Monthly Call. + +For now, I want to hand demo responsibilities over to James Mejia who will show off our new Storybook setup, and some of the variants of the handful of components we're currently working on. + +James: Thanks Matt. We started using Storybook in USWDS 3 for internal development. The work we do in the USWDS repo eventually appears on the website, which has the full guidance. This isn’t a bad process, but it separates the user facing documentation from the code. + +As we move forward with USWDS 4 we want to explore ways to add more relevant documentation in Storybook. For a good part of our web component development this is where our documentation will live. + +As you can see with USA Banner we’re taking advantage of the **autodocs** plugin to create a single page with the component settings. As we scroll down we can see a preview of all of the available variants. + +We want every component to have controls so that users can test these components before using them. You can see the default Banner includes `label, tld` (Top Level Domain), and `lang` settings. We can modify these settings to update the component. + +Let’s modify the lang field to `es` and watch the component change to the Spanish variant. + + + +Next, let’s checkout the Custom Aria label story. + +It’s hard to see here, but the `label` setting allows us to update the Banner’s aria label. This is useful when we’re using the custom content variant, which uses slots. If we were using a different language outside of English or Spanish, we can update the aria label to match the new language. + +If we click on the Custom Content Banner variant we’ll see even more controls. + +Six new controls appear that allow us to modify content in real time. For example, `bannerText`. + +We have more work to do, but our goal will be to have more relevant documentation and controls in our component library. That way you have everything you need in one place. + +The other components follow a similar pattern. For example, USA Identifier on the screen. We’re trying to document all of the ways you can use it. + +As I mentioned earlier, we want to improve documentation and show developers what components offer. We also want to document how we develop components for ourselves and contributors. + +We hope that our documentation work in Storybook will be more relevant and publicly available in the future. Thanks everyone and now I’ll pass it back to Dan. + + +**Slide 28:** Dan: This is Dan. Thanks, Matt, and thanks, James. There's still significant work ahead of us, but I think even our first steps are pointing in a clear and exciting direction. If you're interested in this work and want to follow along with our progress, we have a new and very alpha GitHub repo where this new work lives. You can find it at [github.com/uswds/uswds-next](http://github.com/uswds/uswds-next). I expect it will see some big changes over the next few months — it's a bit like a new USWDS young adult is moving out of its parent house and into its first new place. We hope to grow up pretty quickly. + + +**Slide 29:** So what's next with this project? In the next couple of months, we're going to work to get these alpha components into the Beta phase and publish them on npm. We're also going to begin work on a handful of other components. I currently expect these to be Button, Accordion, Card, Text Input, and Modal. This next handful of components should be in a Beta phase by September. + + +**Slide 30:** And then, by the end of the fall, we should have at least a dozen components in stable Beta. We're going to be adding engineers to the team as well, so our progress should start to speed up as we develop our Web Components conventions and tooling. This initiative is what it's all about for us for the foreseeable future, so expect plenty of updates in these monthly calls, as well as in our newsletter, and on GitHub. + + +**Slide 31:** So onward. This is the first step of many. Here we go. + + +**Slide 32:** And it looks like we have some time for Q&A, so let's get to it. + + +**Slide 33:** Thanks for joining today’s USWDS monthly call. Next month is our summer break from monthly calls, so we won't meet again until August, when we're expecting a community choice monthly call. Let us know what you'd like to hear about on the [community choice monthly call discussion thread](https://github.com/uswds/uswds/discussions/5923). We're posting the link here in the chat! + + +Please look out for an event feedback survey from Digital.gov. You'll get this in your email, and there's also a link in the chat. Your feedback makes a difference to us, so we'd appreciate the extra time it takes you to provide it. + + +And if you have a question we weren't able to answer in the call, or thought of later, please head into our public Slack and ask it there. We'll be around after the call to answer questions. + + +Have a great day and a great summer. Make sure you check out our August Community Choice discussion, so we get a sense of what you'd like us to prepare, and we'll see you in August! + + +{{< /accordion >}} + + Join the U.S. Web Design System (USWDS) team to see their progress toward developing web components for the design system. They’ll demo early working prototypes of a few components, and talk about some of the design questions they’re trying to answer through the prototyping process. In this online session with the USWDS team, you will: From 043d71bda45d54b23868c1bab2570eea32327d9b Mon Sep 17 00:00:00 2001 From: Riley Seaburg Date: Tue, 23 Jul 2024 12:28:16 -0500 Subject: [PATCH 067/171] Tested with word docs and jpg > png --- .gitignore | 1 + config/gulp/file-process.js | 20 +- config/gulp/file-upload.js | 140 -- config/gulp/readme.md | 15 +- config/gulp/upload.js | 221 ++ config/typescript/upload.ts | 130 + gulpfile.js | 18 +- package-lock.json | 4711 +++++++++++++++++------------------ package.json | 2 +- tsconfig.json | 108 + 10 files changed, 2824 insertions(+), 2542 deletions(-) delete mode 100644 config/gulp/file-upload.js create mode 100644 config/gulp/upload.js create mode 100644 config/typescript/upload.ts create mode 100644 tsconfig.json diff --git a/.gitignore b/.gitignore index b49998555b..dc15178f22 100644 --- a/.gitignore +++ b/.gitignore @@ -25,3 +25,4 @@ content/images/_inbox/Refine_Listen.png content/images/_inbox/Triangulate.png static/img/proxy/fedramp-logo-stamp.jpeg .hugo_build.lock +.vscode/launch.json diff --git a/config/gulp/file-process.js b/config/gulp/file-process.js index b327a4a592..3be32dfc25 100644 --- a/config/gulp/file-process.js +++ b/config/gulp/file-process.js @@ -122,7 +122,7 @@ async function processImageVariants(image) { async function processImages() { return new Promise((resolve, reject) => { fs.readdir(`${processImagesDirectory}`, async (err, images) => { - if (images === undefined) { + if (images === undefined) { resolve(); return; } @@ -155,15 +155,15 @@ async function processImages() { * Removes the /to-process temporary working folder after variants are created */ function removeProcessedImage() { -return new Promise((resolve, reject) => { - const imageDir = "content/uploads/_working-images/processed"; - - if (fs.existsSync(imageDir) && fs.readdirSync(imageDir).length > 0) { - return del([ - "content/uploads/_working-images/to-process", - ]).then(() => resolve()).catch((err) => reject(err)); - } else { - resolve(); + return new Promise((resolve, reject) => { + const imageDir = "content/uploads/_working-images/processed"; + + if (fs.existsSync(imageDir) && fs.readdirSync(imageDir).length > 0) { + return del([ + "content/uploads/_working-images/to-process", + ]).then(() => resolve()).catch((err) => reject(err)); + } else { + resolve(); } }); } diff --git a/config/gulp/file-upload.js b/config/gulp/file-upload.js deleted file mode 100644 index f50afa6d36..0000000000 --- a/config/gulp/file-upload.js +++ /dev/null @@ -1,140 +0,0 @@ -require("dotenv").config(); - -const gulp = require("gulp"); -const awspublish = require("gulp-awspublish"); -const rename = require("gulp-rename"); -const del = require("del"); -const vinylPaths = require("vinyl-paths"); -const fs = require("fs"); -const { resolve } = require("path"); -// Create a new publisher using S3 options -const publisher = awspublish.create({ - region: "us-east-1", // Change to your AWS region - params: { - Bucket: "digitalgov", // Change to your bucket name - }, - accessKeyId: process.env.AWS_ACCESS_KEY_ID, - secretAccessKey: process.env.AWS_SECRET_ACCESS_KEY, -}); - -const headers = { - "Cache-Control": "max-age=315360000, no-transform, public", - 'x-amz-acl': 'public-read' -} - -function uploadImage() { - return gulp - .src("content/uploads/_working-images/processed/*", { - encoding: false, - }) - .pipe(publisher.publish(headers)) - .pipe( - awspublish.reporter({ - states: ["create", "update", "delete"], - }) - ) - .pipe(vinylPaths(del)) - .on("error", function (err) { - console.error("Image upload failed:", err); - }); -} - -function uploadFile() { - // renames file to /static/filename to upload to digitalgov/static directory - const staticRename = rename((path) => { - path.basename = `/static/${path.basename}`; - }); - - return gulp - .src("content/uploads/_working-files/to-process/*", { - removeBOM: true, - }) - .pipe(staticRename) - .pipe(publisher.publish(headers)) - .pipe( - awspublish.reporter({ - states: ["create", "update", "delete"], - }) - ) - .pipe(vinylPaths(del)) - .on("error", function (err) { - console.error("File upload failed:", err); - }); -} - -function cleanup() { - return new Promise((resolve, reject) => { - let imageDir = "content/uploads/_working-images/processed"; - let fileDir = "content/uploads/_working-files"; - - if (fs.existsSync(imageDir)) { - // remove the folder - del([imageDir]); - } - - if (fs.existsSync(fileDir)) { - // remove the folder - del([fileDir]); - } - resolve(); - }); -} - -/** - * Determines which files to upload and initiates the upload process. - * @param {Function} done - A callback function to signal that the task is complete. - * - * Key Points: - * 1. The function checks if there are images and files to upload. - * 2. If there are images, it initiates the upload process. - * 3. If there are files, it initiates the upload process. - * 4. The function keeps track of the number of uploads that need to be completed. - * 5. After all uploads are complete, the `done` callback is called to signal the task is complete. - */ -function determineWhichToUpload() { - return new Promise((resolve, reject) => { - const imageDir = "content/uploads/_working-images/processed/"; - const fileDir = "content/uploads/_working-files/to-process/"; - let imageDirExists = fs.existsSync(imageDir); - let fileDirExists = fs.existsSync(fileDir); - let imageFiles = imageDirExists ? fs.readdirSync(imageDir) : []; - let fileFiles = fileDirExists ? fs.readdirSync(fileDir) : []; - - if (!imageDirExists && !fileDirExists) { - console.log("No files or images to upload."); - return resolve(); - } - - let uploadsToComplete = 0; - let uploadsCompleted = 0; - - const checkCompletion = () => { - if (uploadsCompleted === uploadsToComplete) { - resolve(); - } - }; - - if (imageFiles.length > 0) { - uploadsToComplete += 1; - uploadImage(); - uploadsCompleted += 1; - checkCompletion(); - } - - if (fileFiles.length > 0) { - uploadsToComplete += 1; - uploadFile(); - uploadsCompleted += 1; - checkCompletion(); - } - - return resolve(); - }); -} - - - -/** - * Exports a Gulp task series that first determines which files to upload and then cleans up. - */ -exports.do = gulp.series(determineWhichToUpload, cleanup); \ No newline at end of file diff --git a/config/gulp/readme.md b/config/gulp/readme.md index 316ed96f79..09cac7e31f 100644 --- a/config/gulp/readme.md +++ b/config/gulp/readme.md @@ -10,7 +10,20 @@ The image and file upload processing feature consists of the following scripts: 2. `file-process.js`: Processes the uploaded images by creating responsive variants and compressing the original image. -3. `file-upload.js`: Uploads the processed images and files to Amazon S3 and cleans up temporary directories. +3. `upload.js`: Uploads the processed images and files to Amazon S3 and cleans up temporary directories. +> [!NOTE] +> This script is derived from typescript code located in ./config/typescript/upload.ts. + +If you want to make edits to this code you must recompile the javascript for upload.js, run the following command from the root directory. + +```shell +npm i -g typescript +``` + +Then run this: +``` +tsc config/typescript/upload.ts --outDir config/gulp +``` 4. `scripts.js`: Bundles and compiles JavaScript files using webpack. diff --git a/config/gulp/upload.js b/config/gulp/upload.js new file mode 100644 index 0000000000..4abac30c1e --- /dev/null +++ b/config/gulp/upload.js @@ -0,0 +1,221 @@ +"use strict"; +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +var __generator = (this && this.__generator) || function (thisArg, body) { + var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; + return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; + function verb(n) { return function (v) { return step([n, v]); }; } + function step(op) { + if (f) throw new TypeError("Generator is already executing."); + while (g && (g = 0, op[0] && (_ = 0)), _) try { + if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; + if (y = 0, t) op = [op[0] & 2, t.value]; + switch (op[0]) { + case 0: case 1: t = op; break; + case 4: _.label++; return { value: op[1], done: false }; + case 5: _.label++; y = op[1]; op = [0]; continue; + case 7: op = _.ops.pop(); _.trys.pop(); continue; + default: + if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } + if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } + if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } + if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } + if (t[2]) _.ops.pop(); + _.trys.pop(); continue; + } + op = body.call(thisArg, _); + } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } + if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; + } +}; +var AWS = require("@aws-sdk/client-s3"); +var dotenv_1 = require("dotenv"); +var fs = require("fs"); +var path = require("path"); +var promises_1 = require("fs/promises"); +(0, dotenv_1.config)(); +var client = new AWS.S3Client({ + region: "us-east-1", + credentials: { + accessKeyId: process.env.AWS_ACCESS_KEY_ID, + secretAccessKey: process.env.AWS_SECRET_ACCESS_KEY + } +}); +var bucketName = "digitalgov"; +var imageDir = "content/uploads/_working-images/processed/"; +var fileDir = "content/uploads/_working-files/to-process/"; +function uploadImage(filePath, fileName) { + return __awaiter(this, void 0, void 0, function () { + var fileContent, url, error_1; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + _a.trys.push([0, 4, , 5]); + return [4 /*yield*/, fs.promises.readFile(filePath)]; + case 1: + fileContent = _a.sent(); + return [4 /*yield*/, client.send(new AWS.PutObjectCommand({ + Bucket: bucketName, + Key: fileName, + Body: fileContent, + ContentType: "image/jpeg", // Adjust content type as needed + ACL: "public-read" + }))]; + case 2: + _a.sent(); + url = "https://".concat(bucketName, ".s3.amazonaws.com/").concat(fileName); + console.log("Image uploaded successfully. Public URL:", url); + return [4 /*yield*/, fs.promises.unlink(filePath)]; + case 3: + _a.sent(); + return [2 /*return*/, url]; + case 4: + error_1 = _a.sent(); + console.error("Error uploading image", error_1); + if (error_1 instanceof Error) { + console.error("Error message:", error_1.message); + } + if ('$metadata' in error_1) { + console.error("Error metadata:", error_1.$metadata); + } + return [3 /*break*/, 5]; + case 5: return [2 /*return*/]; + } + }); + }); +} +function uploadFile(filePath, fileName) { + return __awaiter(this, void 0, void 0, function () { + var fileContent, url, error_2; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + _a.trys.push([0, 4, , 5]); + return [4 /*yield*/, fs.promises.readFile(filePath)]; + case 1: + fileContent = _a.sent(); + return [4 /*yield*/, client.send(new AWS.PutObjectCommand({ + Bucket: bucketName, + Key: "static/".concat(fileName), + Body: fileContent, + ContentType: "application/octet-stream", + ACL: "public-read" + }))]; + case 2: + _a.sent(); + url = "https://".concat(bucketName, ".s3.amazonaws.com/static/").concat(fileName); + console.log("File uploaded successfully. Public URL:", url); + return [4 /*yield*/, fs.promises.unlink(filePath)]; + case 3: + _a.sent(); + return [2 /*return*/, url]; + case 4: + error_2 = _a.sent(); + console.error("Error uploading file", error_2); + if (error_2 instanceof Error) { + console.error("Error message:", error_2.message); + } + if ('$metadata' in error_2) { + console.error("Error metadata:", error_2.$metadata); + } + return [3 /*break*/, 5]; + case 5: return [2 /*return*/]; + } + }); + }); +} +function cleanup() { + return __awaiter(this, void 0, void 0, function () { + var imageWorkingDir, fileWorkingDir, deletions, error_3; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + imageWorkingDir = "content/uploads/_working-images"; + fileWorkingDir = "content/uploads/_working-files"; + deletions = []; + if (fs.existsSync(imageWorkingDir)) { + deletions.push((0, promises_1.rm)(imageWorkingDir, { recursive: true, force: true })); + } + if (fs.existsSync(fileWorkingDir)) { + deletions.push((0, promises_1.rm)(fileWorkingDir, { recursive: true, force: true })); + } + _a.label = 1; + case 1: + _a.trys.push([1, 3, , 4]); + return [4 /*yield*/, Promise.all(deletions)]; + case 2: + _a.sent(); + console.log('Cleanup completed'); + return [3 /*break*/, 4]; + case 3: + error_3 = _a.sent(); + console.error('Cleanup failed:', error_3); + throw error_3; + case 4: return [2 /*return*/]; + } + }); + }); +} +var upload = function () { return __awaiter(void 0, void 0, void 0, function () { + var imageDirExists, imageFiles, fileDirExists, fileFiles, _i, imageFiles_1, file, filePath, _a, fileFiles_1, file, filePath, error_4; + return __generator(this, function (_b) { + switch (_b.label) { + case 0: + imageDirExists = fs.existsSync(imageDir); + imageFiles = imageDirExists ? fs.readdirSync(imageDir) : []; + fileDirExists = fs.existsSync(fileDir); + fileFiles = fileDirExists ? fs.readdirSync(fileDir) : []; + _b.label = 1; + case 1: + _b.trys.push([1, 11, , 12]); + _i = 0, imageFiles_1 = imageFiles; + _b.label = 2; + case 2: + if (!(_i < imageFiles_1.length)) return [3 /*break*/, 5]; + file = imageFiles_1[_i]; + filePath = path.join(imageDir, file); + return [4 /*yield*/, uploadImage(filePath, file)]; + case 3: + _b.sent(); + _b.label = 4; + case 4: + _i++; + return [3 /*break*/, 2]; + case 5: + _a = 0, fileFiles_1 = fileFiles; + _b.label = 6; + case 6: + if (!(_a < fileFiles_1.length)) return [3 /*break*/, 9]; + file = fileFiles_1[_a]; + filePath = path.join(fileDir, file); + return [4 /*yield*/, uploadFile(filePath, file)]; + case 7: + _b.sent(); + _b.label = 8; + case 8: + _a++; + return [3 /*break*/, 6]; + case 9: + console.log("All uploads completed successfully."); + // Run cleanup after uploads + return [4 /*yield*/, cleanup()]; + case 10: + // Run cleanup after uploads + _b.sent(); + return [3 /*break*/, 12]; + case 11: + error_4 = _b.sent(); + console.error("Upload process failed:", error_4); + return [3 /*break*/, 12]; + case 12: return [2 /*return*/]; + } + }); +}); }; +module.exports = upload; diff --git a/config/typescript/upload.ts b/config/typescript/upload.ts new file mode 100644 index 0000000000..43fc1da4ae --- /dev/null +++ b/config/typescript/upload.ts @@ -0,0 +1,130 @@ +import * as AWS from "@aws-sdk/client-s3"; +import { config } from "dotenv"; +import * as fs from "fs"; +import path = require("path"); +import { rm } from "fs/promises"; + +config(); + +const client = new AWS.S3Client({ + region: "us-east-1", + credentials: { + accessKeyId: process.env.AWS_ACCESS_KEY_ID!, + secretAccessKey: process.env.AWS_SECRET_ACCESS_KEY! + } +}); + +const bucketName = "digitalgov"; + +const imageDir = "content/uploads/_working-images/processed/"; +const fileDir = "content/uploads/_working-files/to-process/"; + +async function uploadImage(filePath: string, fileName: string): Promise { + try { + const fileContent = await fs.promises.readFile(filePath); + + await client.send(new AWS.PutObjectCommand({ + Bucket: bucketName, + Key: fileName, + Body: fileContent, + ContentType: "image/jpeg", // Adjust content type as needed + ACL: "public-read" + })); + + const url = `https://${bucketName}.s3.amazonaws.com/${fileName}`; + console.log("Image uploaded successfully. Public URL:", url); + + await fs.promises.unlink(filePath); + return url; + } catch (error) { + console.error("Error uploading image", error); + if (error instanceof Error) { + console.error("Error message:", error.message); + } + if ('$metadata' in error) { + console.error("Error metadata:", (error as any).$metadata); + } + } +} + +async function uploadFile(filePath: string, fileName: string): Promise { + try { + const fileContent = await fs.promises.readFile(filePath); + + await client.send(new AWS.PutObjectCommand({ + Bucket: bucketName, + Key: `static/${fileName}`, + Body: fileContent, + ContentType: "application/octet-stream", + ACL: "public-read" + })); + + const url = `https://${bucketName}.s3.amazonaws.com/static/${fileName}`; + console.log("File uploaded successfully. Public URL:", url); + + await fs.promises.unlink(filePath); + return url; + } catch (error) { + console.error("Error uploading file", error); + if (error instanceof Error) { + console.error("Error message:", error.message); + } + if ('$metadata' in error) { + console.error("Error metadata:", (error as any).$metadata); + } + } +} + +async function cleanup(): Promise { + const imageWorkingDir = "content/uploads/_working-images"; + const fileWorkingDir = "content/uploads/_working-files"; + + const deletions = []; + + if (fs.existsSync(imageWorkingDir)) { + deletions.push(rm(imageWorkingDir, { recursive: true, force: true })); + } + + if (fs.existsSync(fileWorkingDir)) { + deletions.push(rm(fileWorkingDir, { recursive: true, force: true })); + } + + try { + await Promise.all(deletions); + console.log('Cleanup completed'); + } catch (error) { + console.error('Cleanup failed:', error); + throw error; + } +} + +const upload = async (): Promise => { + let imageDirExists = fs.existsSync(imageDir); + let imageFiles = imageDirExists ? fs.readdirSync(imageDir) : []; + + let fileDirExists = fs.existsSync(fileDir); + let fileFiles = fileDirExists ? fs.readdirSync(fileDir) : []; + + try { + // Upload image files + for (const file of imageFiles) { + const filePath = path.join(imageDir, file); + await uploadImage(filePath, file); + } + + // Upload static files + for (const file of fileFiles) { + const filePath = path.join(fileDir, file); + await uploadFile(filePath, file); + } + + console.log("All uploads completed successfully."); + + // Run cleanup after uploads + await cleanup(); + } catch (error) { + console.error("Upload process failed:", error); + } +}; + +export = upload; \ No newline at end of file diff --git a/gulpfile.js b/gulpfile.js index 3cbbd926d0..bbafc19e26 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -1,20 +1,32 @@ // Import Gulp 5 const { parallel, series, src, watch } = require("gulp"); - +const uploadModule = require("./config/typescript/upload"); // Import task functions // file tasks upload both images (png,jpg,jpeg) and static files (pdf, xls,...) to their respective s3 buckets const file = { prep: require("./config/gulp/file-prep"), process: require("./config/gulp/file-process"), upload: require("./config/gulp/file-upload"), + cleanup: require("./config/gulp/cleanup"), }; const scripts = require("./config/gulp/scripts"); const styles = require("./config/gulp/styles"); +/** + * Sets up a gulp style task to conform to the current convention + * for uploading files to s3. + * @param {*} cb Gulp callback function + * @returns a completed task + */ +function uploadTask(cb) { + return uploadModule().then(() => cb()).catch(err => cb(err)); +} + function watchUploads() { - return series(file.prep.do, file.process.do, file.upload.do); + return series(file.prep.do, file.process.do, uploadTask); } + function gulpWatch() { const THEME_DIR = "./themes/digital.gov/src"; watch(`${THEME_DIR}/scss/uswds/**/*.scss`, styles.buildSass); @@ -37,6 +49,6 @@ exports.copyUswdsAssets = parallel( exports.buildAssets = parallel(styles.buildSass, scripts.compile); exports.buildSass = styles.buildSass; exports.buildJS = scripts.compile; -exports.upload = series(file.prep.do, file.process.do, file.upload.do); +exports.upload = series(file.prep.do, file.process.do, uploadTask); exports.watch = gulpWatch; exports.default = series(styles.buildSass, gulpWatch); diff --git a/package-lock.json b/package-lock.json index 37b93b743f..a56ebe0681 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,6 +8,7 @@ "name": "digitalgov.gov", "version": "2.0.0", "dependencies": { + "@aws-sdk/client-s3": "^3.614.0", "@prantlf/jsonlint": "^14.0.3", "@uswds/uswds": "^3.7.1", "autoprefixer": "^10.4.16", @@ -37,7 +38,6 @@ "eslint-config-prettier": "^9.1.0", "eslint-plugin-import": "^2.29.1", "eslint-plugin-prettier": "^4.2.1", - "gulp-awspublish": "^8.0.0", "gulp-rename": "^2.0.0", "gulp-responsive": "3.0.1", "gulp-strip-css-comments": "^3.0.0", @@ -67,766 +67,566 @@ "stylelint": "^15.0.0" } }, - "node_modules/@aashutoshrathi/word-wrap": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", - "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/@aws-crypto/crc32": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@aws-crypto/crc32/-/crc32-3.0.0.tgz", - "integrity": "sha512-IzSgsrxUcsrejQbPVilIKy16kAT52EwB6zSaI+M3xxIhKh5+aldEyvI+z6erM7TCLB2BJsFrtHjp6/4/sr+3dA==", - "dev": true, + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/crc32/-/crc32-5.2.0.tgz", + "integrity": "sha512-nLbCWqQNgUiwwtFsen1AdzAtvuLRsQS8rYgMuxCrdKf9kOssamGLuPwyTY9wyYblNr9+1XM8v6zoDTPPSIeANg==", "dependencies": { - "@aws-crypto/util": "^3.0.0", + "@aws-crypto/util": "^5.2.0", "@aws-sdk/types": "^3.222.0", - "tslib": "^1.11.1" + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" } }, - "node_modules/@aws-crypto/crc32/node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true - }, "node_modules/@aws-crypto/crc32c": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@aws-crypto/crc32c/-/crc32c-3.0.0.tgz", - "integrity": "sha512-ENNPPManmnVJ4BTXlOjAgD7URidbAznURqD0KvfREyc4o20DPYdEldU1f5cQ7Jbj0CJJSPaMIk/9ZshdB3210w==", - "dev": true, + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/crc32c/-/crc32c-5.2.0.tgz", + "integrity": "sha512-+iWb8qaHLYKrNvGRbiYRHSdKRWhto5XlZUEBwDjYNf+ly5SVYG6zEoYIdxvf5R3zyeP16w4PLBn3rH1xc74Rag==", "dependencies": { - "@aws-crypto/util": "^3.0.0", + "@aws-crypto/util": "^5.2.0", "@aws-sdk/types": "^3.222.0", - "tslib": "^1.11.1" - } - }, - "node_modules/@aws-crypto/crc32c/node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true - }, - "node_modules/@aws-crypto/ie11-detection": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@aws-crypto/ie11-detection/-/ie11-detection-3.0.0.tgz", - "integrity": "sha512-341lBBkiY1DfDNKai/wXM3aujNBkXR7tq1URPQDL9wi3AUbI80NR74uF1TXHMm7po1AcnFk8iu2S2IeU/+/A+Q==", - "dev": true, - "dependencies": { - "tslib": "^1.11.1" + "tslib": "^2.6.2" } }, - "node_modules/@aws-crypto/ie11-detection/node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true - }, "node_modules/@aws-crypto/sha1-browser": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@aws-crypto/sha1-browser/-/sha1-browser-3.0.0.tgz", - "integrity": "sha512-NJth5c997GLHs6nOYTzFKTbYdMNA6/1XlKVgnZoaZcQ7z7UJlOgj2JdbHE8tiYLS3fzXNCguct77SPGat2raSw==", - "dev": true, + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/sha1-browser/-/sha1-browser-5.2.0.tgz", + "integrity": "sha512-OH6lveCFfcDjX4dbAvCFSYUjJZjDr/3XJ3xHtjn3Oj5b9RjojQo8npoLeA/bNwkOkrSQ0wgrHzXk4tDRxGKJeg==", "dependencies": { - "@aws-crypto/ie11-detection": "^3.0.0", - "@aws-crypto/supports-web-crypto": "^3.0.0", - "@aws-crypto/util": "^3.0.0", + "@aws-crypto/supports-web-crypto": "^5.2.0", + "@aws-crypto/util": "^5.2.0", "@aws-sdk/types": "^3.222.0", "@aws-sdk/util-locate-window": "^3.0.0", - "@aws-sdk/util-utf8-browser": "^3.0.0", - "tslib": "^1.11.1" + "@smithy/util-utf8": "^2.0.0", + "tslib": "^2.6.2" } }, - "node_modules/@aws-crypto/sha1-browser/node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true - }, - "node_modules/@aws-crypto/sha256-browser": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-browser/-/sha256-browser-3.0.0.tgz", - "integrity": "sha512-8VLmW2B+gjFbU5uMeqtQM6Nj0/F1bro80xQXCW6CQBWgosFWXTx77aeOF5CAIAmbOK64SdMBJdNr6J41yP5mvQ==", - "dev": true, + "node_modules/@aws-crypto/sha1-browser/node_modules/@smithy/is-array-buffer": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-2.2.0.tgz", + "integrity": "sha512-GGP3O9QFD24uGeAXYUjwSTXARoqpZykHadOmA8G5vfJPK0/DC67qa//0qvqrJzL1xc8WQWX7/yc7fwudjPHPhA==", "dependencies": { - "@aws-crypto/ie11-detection": "^3.0.0", - "@aws-crypto/sha256-js": "^3.0.0", - "@aws-crypto/supports-web-crypto": "^3.0.0", - "@aws-crypto/util": "^3.0.0", - "@aws-sdk/types": "^3.222.0", - "@aws-sdk/util-locate-window": "^3.0.0", - "@aws-sdk/util-utf8-browser": "^3.0.0", - "tslib": "^1.11.1" + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" } }, - "node_modules/@aws-crypto/sha256-browser/node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true - }, - "node_modules/@aws-crypto/sha256-js": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-js/-/sha256-js-3.0.0.tgz", - "integrity": "sha512-PnNN7os0+yd1XvXAy23CFOmTbMaDxgxXtTKHybrJ39Y8kGzBATgBFibWJKH6BhytLI/Zyszs87xCOBNyBig6vQ==", - "dev": true, + "node_modules/@aws-crypto/sha1-browser/node_modules/@smithy/util-buffer-from": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-2.2.0.tgz", + "integrity": "sha512-IJdWBbTcMQ6DA0gdNhh/BwrLkDR+ADW5Kr1aZmd4k3DIF6ezMV4R2NIAmT08wQJ3yUK82thHWmC/TnK/wpMMIA==", "dependencies": { - "@aws-crypto/util": "^3.0.0", - "@aws-sdk/types": "^3.222.0", - "tslib": "^1.11.1" + "@smithy/is-array-buffer": "^2.2.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" } }, - "node_modules/@aws-crypto/sha256-js/node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true - }, - "node_modules/@aws-crypto/supports-web-crypto": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@aws-crypto/supports-web-crypto/-/supports-web-crypto-3.0.0.tgz", - "integrity": "sha512-06hBdMwUAb2WFTuGG73LSC0wfPu93xWwo5vL2et9eymgmu3Id5vFAHBbajVWiGhPO37qcsdCap/FqXvJGJWPIg==", - "dev": true, + "node_modules/@aws-crypto/sha1-browser/node_modules/@smithy/util-utf8": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-2.3.0.tgz", + "integrity": "sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A==", "dependencies": { - "tslib": "^1.11.1" + "@smithy/util-buffer-from": "^2.2.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" } }, - "node_modules/@aws-crypto/supports-web-crypto/node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true - }, - "node_modules/@aws-crypto/util": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@aws-crypto/util/-/util-3.0.0.tgz", - "integrity": "sha512-2OJlpeJpCR48CC8r+uKVChzs9Iungj9wkZrl8Z041DWEWvyIHILYKCPNzJghKsivj+S3mLo6BVc7mBNzdxA46w==", - "dev": true, + "node_modules/@aws-crypto/sha256-browser": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-browser/-/sha256-browser-5.2.0.tgz", + "integrity": "sha512-AXfN/lGotSQwu6HNcEsIASo7kWXZ5HYWvfOmSNKDsEqC4OashTp8alTmaz+F7TC2L083SFv5RdB+qU3Vs1kZqw==", "dependencies": { + "@aws-crypto/sha256-js": "^5.2.0", + "@aws-crypto/supports-web-crypto": "^5.2.0", + "@aws-crypto/util": "^5.2.0", "@aws-sdk/types": "^3.222.0", - "@aws-sdk/util-utf8-browser": "^3.0.0", - "tslib": "^1.11.1" + "@aws-sdk/util-locate-window": "^3.0.0", + "@smithy/util-utf8": "^2.0.0", + "tslib": "^2.6.2" } }, - "node_modules/@aws-crypto/util/node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true + "node_modules/@aws-crypto/sha256-browser/node_modules/@smithy/is-array-buffer": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-2.2.0.tgz", + "integrity": "sha512-GGP3O9QFD24uGeAXYUjwSTXARoqpZykHadOmA8G5vfJPK0/DC67qa//0qvqrJzL1xc8WQWX7/yc7fwudjPHPhA==", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } }, - "node_modules/@aws-sdk/client-s3": { - "version": "3.574.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-s3/-/client-s3-3.574.0.tgz", - "integrity": "sha512-198QLFeJEs3xgCkLcGD8r0IVCR+BTjXGbVpDYC0DCU7vWjINR8igwwnuA5kbCHDALXvWmkX5MVuAlDuawsUn6w==", - "dev": true, - "dependencies": { - "@aws-crypto/sha1-browser": "3.0.0", - "@aws-crypto/sha256-browser": "3.0.0", - "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/client-sso-oidc": "3.574.0", - "@aws-sdk/client-sts": "3.574.0", - "@aws-sdk/core": "3.572.0", - "@aws-sdk/credential-provider-node": "3.572.0", - "@aws-sdk/middleware-bucket-endpoint": "3.568.0", - "@aws-sdk/middleware-expect-continue": "3.572.0", - "@aws-sdk/middleware-flexible-checksums": "3.572.0", - "@aws-sdk/middleware-host-header": "3.567.0", - "@aws-sdk/middleware-location-constraint": "3.567.0", - "@aws-sdk/middleware-logger": "3.568.0", - "@aws-sdk/middleware-recursion-detection": "3.567.0", - "@aws-sdk/middleware-sdk-s3": "3.572.0", - "@aws-sdk/middleware-signing": "3.572.0", - "@aws-sdk/middleware-ssec": "3.567.0", - "@aws-sdk/middleware-user-agent": "3.572.0", - "@aws-sdk/region-config-resolver": "3.572.0", - "@aws-sdk/signature-v4-multi-region": "3.572.0", - "@aws-sdk/types": "3.567.0", - "@aws-sdk/util-endpoints": "3.572.0", - "@aws-sdk/util-user-agent-browser": "3.567.0", - "@aws-sdk/util-user-agent-node": "3.568.0", - "@aws-sdk/xml-builder": "3.567.0", - "@smithy/config-resolver": "^2.2.0", - "@smithy/core": "^1.4.2", - "@smithy/eventstream-serde-browser": "^2.2.0", - "@smithy/eventstream-serde-config-resolver": "^2.2.0", - "@smithy/eventstream-serde-node": "^2.2.0", - "@smithy/fetch-http-handler": "^2.5.0", - "@smithy/hash-blob-browser": "^2.2.0", - "@smithy/hash-node": "^2.2.0", - "@smithy/hash-stream-node": "^2.2.0", - "@smithy/invalid-dependency": "^2.2.0", - "@smithy/md5-js": "^2.2.0", - "@smithy/middleware-content-length": "^2.2.0", - "@smithy/middleware-endpoint": "^2.5.1", - "@smithy/middleware-retry": "^2.3.1", - "@smithy/middleware-serde": "^2.3.0", - "@smithy/middleware-stack": "^2.2.0", - "@smithy/node-config-provider": "^2.3.0", - "@smithy/node-http-handler": "^2.5.0", - "@smithy/protocol-http": "^3.3.0", - "@smithy/smithy-client": "^2.5.1", - "@smithy/types": "^2.12.0", - "@smithy/url-parser": "^2.2.0", - "@smithy/util-base64": "^2.3.0", - "@smithy/util-body-length-browser": "^2.2.0", - "@smithy/util-body-length-node": "^2.3.0", - "@smithy/util-defaults-mode-browser": "^2.2.1", - "@smithy/util-defaults-mode-node": "^2.3.1", - "@smithy/util-endpoints": "^1.2.0", - "@smithy/util-retry": "^2.2.0", - "@smithy/util-stream": "^2.2.0", - "@smithy/util-utf8": "^2.3.0", - "@smithy/util-waiter": "^2.2.0", + "node_modules/@aws-crypto/sha256-browser/node_modules/@smithy/util-buffer-from": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-2.2.0.tgz", + "integrity": "sha512-IJdWBbTcMQ6DA0gdNhh/BwrLkDR+ADW5Kr1aZmd4k3DIF6ezMV4R2NIAmT08wQJ3yUK82thHWmC/TnK/wpMMIA==", + "dependencies": { + "@smithy/is-array-buffer": "^2.2.0", "tslib": "^2.6.2" }, "engines": { - "node": ">=16.0.0" + "node": ">=14.0.0" } }, - "node_modules/@aws-sdk/client-sso": { - "version": "3.572.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.572.0.tgz", - "integrity": "sha512-S+xhScao5MD79AkrcHmFpEDk+CgoiuB/31WFcTcnrTio5TOUONAaT0QyscOIwRp7BZ7Aez7TBM+loTteJ+TQvg==", - "dev": true, - "dependencies": { - "@aws-crypto/sha256-browser": "3.0.0", - "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/core": "3.572.0", - "@aws-sdk/middleware-host-header": "3.567.0", - "@aws-sdk/middleware-logger": "3.568.0", - "@aws-sdk/middleware-recursion-detection": "3.567.0", - "@aws-sdk/middleware-user-agent": "3.572.0", - "@aws-sdk/region-config-resolver": "3.572.0", - "@aws-sdk/types": "3.567.0", - "@aws-sdk/util-endpoints": "3.572.0", - "@aws-sdk/util-user-agent-browser": "3.567.0", - "@aws-sdk/util-user-agent-node": "3.568.0", - "@smithy/config-resolver": "^2.2.0", - "@smithy/core": "^1.4.2", - "@smithy/fetch-http-handler": "^2.5.0", - "@smithy/hash-node": "^2.2.0", - "@smithy/invalid-dependency": "^2.2.0", - "@smithy/middleware-content-length": "^2.2.0", - "@smithy/middleware-endpoint": "^2.5.1", - "@smithy/middleware-retry": "^2.3.1", - "@smithy/middleware-serde": "^2.3.0", - "@smithy/middleware-stack": "^2.2.0", - "@smithy/node-config-provider": "^2.3.0", - "@smithy/node-http-handler": "^2.5.0", - "@smithy/protocol-http": "^3.3.0", - "@smithy/smithy-client": "^2.5.1", - "@smithy/types": "^2.12.0", - "@smithy/url-parser": "^2.2.0", - "@smithy/util-base64": "^2.3.0", - "@smithy/util-body-length-browser": "^2.2.0", - "@smithy/util-body-length-node": "^2.3.0", - "@smithy/util-defaults-mode-browser": "^2.2.1", - "@smithy/util-defaults-mode-node": "^2.3.1", - "@smithy/util-endpoints": "^1.2.0", - "@smithy/util-middleware": "^2.2.0", - "@smithy/util-retry": "^2.2.0", - "@smithy/util-utf8": "^2.3.0", + "node_modules/@aws-crypto/sha256-browser/node_modules/@smithy/util-utf8": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-2.3.0.tgz", + "integrity": "sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A==", + "dependencies": { + "@smithy/util-buffer-from": "^2.2.0", "tslib": "^2.6.2" }, "engines": { - "node": ">=16.0.0" + "node": ">=14.0.0" } }, - "node_modules/@aws-sdk/client-sso-oidc": { - "version": "3.574.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.574.0.tgz", - "integrity": "sha512-WcR8AnFhx7bqhYwfSl3OrF0Pu0LfHGgSOnmmORHqRF7ykguE09M/WUlCCjTGmZjJZ1we3uF5Xg8Jg12eiD+bmw==", - "dev": true, - "dependencies": { - "@aws-crypto/sha256-browser": "3.0.0", - "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/client-sts": "3.574.0", - "@aws-sdk/core": "3.572.0", - "@aws-sdk/credential-provider-node": "3.572.0", - "@aws-sdk/middleware-host-header": "3.567.0", - "@aws-sdk/middleware-logger": "3.568.0", - "@aws-sdk/middleware-recursion-detection": "3.567.0", - "@aws-sdk/middleware-user-agent": "3.572.0", - "@aws-sdk/region-config-resolver": "3.572.0", - "@aws-sdk/types": "3.567.0", - "@aws-sdk/util-endpoints": "3.572.0", - "@aws-sdk/util-user-agent-browser": "3.567.0", - "@aws-sdk/util-user-agent-node": "3.568.0", - "@smithy/config-resolver": "^2.2.0", - "@smithy/core": "^1.4.2", - "@smithy/fetch-http-handler": "^2.5.0", - "@smithy/hash-node": "^2.2.0", - "@smithy/invalid-dependency": "^2.2.0", - "@smithy/middleware-content-length": "^2.2.0", - "@smithy/middleware-endpoint": "^2.5.1", - "@smithy/middleware-retry": "^2.3.1", - "@smithy/middleware-serde": "^2.3.0", - "@smithy/middleware-stack": "^2.2.0", - "@smithy/node-config-provider": "^2.3.0", - "@smithy/node-http-handler": "^2.5.0", - "@smithy/protocol-http": "^3.3.0", - "@smithy/smithy-client": "^2.5.1", - "@smithy/types": "^2.12.0", - "@smithy/url-parser": "^2.2.0", - "@smithy/util-base64": "^2.3.0", - "@smithy/util-body-length-browser": "^2.2.0", - "@smithy/util-body-length-node": "^2.3.0", - "@smithy/util-defaults-mode-browser": "^2.2.1", - "@smithy/util-defaults-mode-node": "^2.3.1", - "@smithy/util-endpoints": "^1.2.0", - "@smithy/util-middleware": "^2.2.0", - "@smithy/util-retry": "^2.2.0", - "@smithy/util-utf8": "^2.3.0", + "node_modules/@aws-crypto/sha256-js": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-js/-/sha256-js-5.2.0.tgz", + "integrity": "sha512-FFQQyu7edu4ufvIZ+OadFpHHOt+eSTBaYaki44c+akjg7qZg9oOQeLlk77F6tSYqjDAFClrHJk9tMf0HdVyOvA==", + "dependencies": { + "@aws-crypto/util": "^5.2.0", + "@aws-sdk/types": "^3.222.0", "tslib": "^2.6.2" }, "engines": { "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/client-sts": { - "version": "3.574.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.574.0.tgz", - "integrity": "sha512-WNDSG9nipap/L1gGDkCQvU2u413HmVxMJKr41lBCibioz42Z4i6XkCr1etYwIjuVfGF6QPrsEsYLqRwlAC/BQg==", - "dev": true, - "dependencies": { - "@aws-crypto/sha256-browser": "3.0.0", - "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/client-sso-oidc": "3.574.0", - "@aws-sdk/core": "3.572.0", - "@aws-sdk/credential-provider-node": "3.572.0", - "@aws-sdk/middleware-host-header": "3.567.0", - "@aws-sdk/middleware-logger": "3.568.0", - "@aws-sdk/middleware-recursion-detection": "3.567.0", - "@aws-sdk/middleware-user-agent": "3.572.0", - "@aws-sdk/region-config-resolver": "3.572.0", - "@aws-sdk/types": "3.567.0", - "@aws-sdk/util-endpoints": "3.572.0", - "@aws-sdk/util-user-agent-browser": "3.567.0", - "@aws-sdk/util-user-agent-node": "3.568.0", - "@smithy/config-resolver": "^2.2.0", - "@smithy/core": "^1.4.2", - "@smithy/fetch-http-handler": "^2.5.0", - "@smithy/hash-node": "^2.2.0", - "@smithy/invalid-dependency": "^2.2.0", - "@smithy/middleware-content-length": "^2.2.0", - "@smithy/middleware-endpoint": "^2.5.1", - "@smithy/middleware-retry": "^2.3.1", - "@smithy/middleware-serde": "^2.3.0", - "@smithy/middleware-stack": "^2.2.0", - "@smithy/node-config-provider": "^2.3.0", - "@smithy/node-http-handler": "^2.5.0", - "@smithy/protocol-http": "^3.3.0", - "@smithy/smithy-client": "^2.5.1", - "@smithy/types": "^2.12.0", - "@smithy/url-parser": "^2.2.0", - "@smithy/util-base64": "^2.3.0", - "@smithy/util-body-length-browser": "^2.2.0", - "@smithy/util-body-length-node": "^2.3.0", - "@smithy/util-defaults-mode-browser": "^2.2.1", - "@smithy/util-defaults-mode-node": "^2.3.1", - "@smithy/util-endpoints": "^1.2.0", - "@smithy/util-middleware": "^2.2.0", - "@smithy/util-retry": "^2.2.0", - "@smithy/util-utf8": "^2.3.0", + "node_modules/@aws-crypto/supports-web-crypto": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/supports-web-crypto/-/supports-web-crypto-5.2.0.tgz", + "integrity": "sha512-iAvUotm021kM33eCdNfwIN//F77/IADDSs58i+MDaOqFrVjZo9bAal0NK7HurRuWLLpF1iLX7gbWrjHjeo+YFg==", + "dependencies": { + "tslib": "^2.6.2" + } + }, + "node_modules/@aws-crypto/util": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/util/-/util-5.2.0.tgz", + "integrity": "sha512-4RkU9EsI6ZpBve5fseQlGNUWKMa1RLPQ1dnjnQoe07ldfIzcsGb5hC5W0Dm7u423KWzawlrpbjXBrXCEv9zazQ==", + "dependencies": { + "@aws-sdk/types": "^3.222.0", + "@smithy/util-utf8": "^2.0.0", + "tslib": "^2.6.2" + } + }, + "node_modules/@aws-crypto/util/node_modules/@smithy/is-array-buffer": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-2.2.0.tgz", + "integrity": "sha512-GGP3O9QFD24uGeAXYUjwSTXARoqpZykHadOmA8G5vfJPK0/DC67qa//0qvqrJzL1xc8WQWX7/yc7fwudjPHPhA==", + "dependencies": { "tslib": "^2.6.2" }, "engines": { - "node": ">=16.0.0" + "node": ">=14.0.0" } }, - "node_modules/@aws-sdk/core": { - "version": "3.572.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/core/-/core-3.572.0.tgz", - "integrity": "sha512-DBmf94qfN0dfaLl5EnNcq6TakWfOtVXYifHoTbX+VBwESj3rlY4W+W4mAnvBgAqDjlLFy7bBljmx+vnjnV73lg==", - "dev": true, + "node_modules/@aws-crypto/util/node_modules/@smithy/util-buffer-from": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-2.2.0.tgz", + "integrity": "sha512-IJdWBbTcMQ6DA0gdNhh/BwrLkDR+ADW5Kr1aZmd4k3DIF6ezMV4R2NIAmT08wQJ3yUK82thHWmC/TnK/wpMMIA==", "dependencies": { - "@smithy/core": "^1.4.2", - "@smithy/protocol-http": "^3.3.0", - "@smithy/signature-v4": "^2.3.0", - "@smithy/smithy-client": "^2.5.1", - "@smithy/types": "^2.12.0", - "fast-xml-parser": "4.2.5", + "@smithy/is-array-buffer": "^2.2.0", "tslib": "^2.6.2" }, "engines": { - "node": ">=16.0.0" + "node": ">=14.0.0" } }, - "node_modules/@aws-sdk/credential-provider-env": { - "version": "3.568.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.568.0.tgz", - "integrity": "sha512-MVTQoZwPnP1Ev5A7LG+KzeU6sCB8BcGkZeDT1z1V5Wt7GPq0MgFQTSSjhImnB9jqRSZkl1079Bt3PbO6lfIS8g==", - "dev": true, + "node_modules/@aws-crypto/util/node_modules/@smithy/util-utf8": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-2.3.0.tgz", + "integrity": "sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A==", "dependencies": { - "@aws-sdk/types": "3.567.0", - "@smithy/property-provider": "^2.2.0", - "@smithy/types": "^2.12.0", + "@smithy/util-buffer-from": "^2.2.0", "tslib": "^2.6.2" }, "engines": { - "node": ">=16.0.0" + "node": ">=14.0.0" } }, - "node_modules/@aws-sdk/credential-provider-http": { - "version": "3.568.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-http/-/credential-provider-http-3.568.0.tgz", - "integrity": "sha512-gL0NlyI2eW17hnCrh45hZV+qjtBquB+Bckiip9R6DIVRKqYcoILyiFhuOgf2bXeF23gVh6j18pvUvIoTaFWs5w==", - "dev": true, - "dependencies": { - "@aws-sdk/types": "3.567.0", - "@smithy/fetch-http-handler": "^2.5.0", - "@smithy/node-http-handler": "^2.5.0", - "@smithy/property-provider": "^2.2.0", - "@smithy/protocol-http": "^3.3.0", - "@smithy/smithy-client": "^2.5.1", - "@smithy/types": "^2.12.0", - "@smithy/util-stream": "^2.2.0", + "node_modules/@aws-sdk/client-s3": { + "version": "3.617.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-s3/-/client-s3-3.617.0.tgz", + "integrity": "sha512-0f954CU42BhPFVRQCCBc1jAvV9N4XW9I3D4h7tJ8tzxft7fS62MSJkgxRIXNKgWKLeGR7DUbz+XGZ1R5e7pyjA==", + "dependencies": { + "@aws-crypto/sha1-browser": "5.2.0", + "@aws-crypto/sha256-browser": "5.2.0", + "@aws-crypto/sha256-js": "5.2.0", + "@aws-sdk/client-sso-oidc": "3.616.0", + "@aws-sdk/client-sts": "3.616.0", + "@aws-sdk/core": "3.616.0", + "@aws-sdk/credential-provider-node": "3.616.0", + "@aws-sdk/middleware-bucket-endpoint": "3.616.0", + "@aws-sdk/middleware-expect-continue": "3.616.0", + "@aws-sdk/middleware-flexible-checksums": "3.616.0", + "@aws-sdk/middleware-host-header": "3.616.0", + "@aws-sdk/middleware-location-constraint": "3.609.0", + "@aws-sdk/middleware-logger": "3.609.0", + "@aws-sdk/middleware-recursion-detection": "3.616.0", + "@aws-sdk/middleware-sdk-s3": "3.617.0", + "@aws-sdk/middleware-signing": "3.616.0", + "@aws-sdk/middleware-ssec": "3.609.0", + "@aws-sdk/middleware-user-agent": "3.616.0", + "@aws-sdk/region-config-resolver": "3.614.0", + "@aws-sdk/signature-v4-multi-region": "3.617.0", + "@aws-sdk/types": "3.609.0", + "@aws-sdk/util-endpoints": "3.614.0", + "@aws-sdk/util-user-agent-browser": "3.609.0", + "@aws-sdk/util-user-agent-node": "3.614.0", + "@aws-sdk/xml-builder": "3.609.0", + "@smithy/config-resolver": "^3.0.5", + "@smithy/core": "^2.2.7", + "@smithy/eventstream-serde-browser": "^3.0.4", + "@smithy/eventstream-serde-config-resolver": "^3.0.3", + "@smithy/eventstream-serde-node": "^3.0.4", + "@smithy/fetch-http-handler": "^3.2.2", + "@smithy/hash-blob-browser": "^3.1.2", + "@smithy/hash-node": "^3.0.3", + "@smithy/hash-stream-node": "^3.1.2", + "@smithy/invalid-dependency": "^3.0.3", + "@smithy/md5-js": "^3.0.3", + "@smithy/middleware-content-length": "^3.0.4", + "@smithy/middleware-endpoint": "^3.0.5", + "@smithy/middleware-retry": "^3.0.10", + "@smithy/middleware-serde": "^3.0.3", + "@smithy/middleware-stack": "^3.0.3", + "@smithy/node-config-provider": "^3.1.4", + "@smithy/node-http-handler": "^3.1.3", + "@smithy/protocol-http": "^4.0.4", + "@smithy/smithy-client": "^3.1.8", + "@smithy/types": "^3.3.0", + "@smithy/url-parser": "^3.0.3", + "@smithy/util-base64": "^3.0.0", + "@smithy/util-body-length-browser": "^3.0.0", + "@smithy/util-body-length-node": "^3.0.0", + "@smithy/util-defaults-mode-browser": "^3.0.10", + "@smithy/util-defaults-mode-node": "^3.0.10", + "@smithy/util-endpoints": "^2.0.5", + "@smithy/util-retry": "^3.0.3", + "@smithy/util-stream": "^3.1.0", + "@smithy/util-utf8": "^3.0.0", + "@smithy/util-waiter": "^3.1.2", "tslib": "^2.6.2" }, "engines": { "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/credential-provider-node": { - "version": "3.572.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.572.0.tgz", - "integrity": "sha512-anlYZnpmVkfp9Gan+LcEkQvmRf/m0KcbR11th8sBEyI5lxMaHKXhnAtC/hEGT7e3L6rgNOrFYTPuSvllITD/Pg==", - "dev": true, - "dependencies": { - "@aws-sdk/credential-provider-env": "3.568.0", - "@aws-sdk/credential-provider-http": "3.568.0", - "@aws-sdk/credential-provider-ini": "3.572.0", - "@aws-sdk/credential-provider-process": "3.572.0", - "@aws-sdk/credential-provider-sso": "3.572.0", - "@aws-sdk/credential-provider-web-identity": "3.568.0", - "@aws-sdk/types": "3.567.0", - "@smithy/credential-provider-imds": "^2.3.0", - "@smithy/property-provider": "^2.2.0", - "@smithy/shared-ini-file-loader": "^2.4.0", - "@smithy/types": "^2.12.0", + "node_modules/@aws-sdk/client-sso": { + "version": "3.616.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.616.0.tgz", + "integrity": "sha512-hwW0u1f8U4dSloAe61/eupUiGd5Q13B72BuzGxvRk0cIpYX/2m0KBG8DDl7jW1b2QQ+CflTLpG2XUf2+vRJxGA==", + "dependencies": { + "@aws-crypto/sha256-browser": "5.2.0", + "@aws-crypto/sha256-js": "5.2.0", + "@aws-sdk/core": "3.616.0", + "@aws-sdk/middleware-host-header": "3.616.0", + "@aws-sdk/middleware-logger": "3.609.0", + "@aws-sdk/middleware-recursion-detection": "3.616.0", + "@aws-sdk/middleware-user-agent": "3.616.0", + "@aws-sdk/region-config-resolver": "3.614.0", + "@aws-sdk/types": "3.609.0", + "@aws-sdk/util-endpoints": "3.614.0", + "@aws-sdk/util-user-agent-browser": "3.609.0", + "@aws-sdk/util-user-agent-node": "3.614.0", + "@smithy/config-resolver": "^3.0.5", + "@smithy/core": "^2.2.7", + "@smithy/fetch-http-handler": "^3.2.2", + "@smithy/hash-node": "^3.0.3", + "@smithy/invalid-dependency": "^3.0.3", + "@smithy/middleware-content-length": "^3.0.4", + "@smithy/middleware-endpoint": "^3.0.5", + "@smithy/middleware-retry": "^3.0.10", + "@smithy/middleware-serde": "^3.0.3", + "@smithy/middleware-stack": "^3.0.3", + "@smithy/node-config-provider": "^3.1.4", + "@smithy/node-http-handler": "^3.1.3", + "@smithy/protocol-http": "^4.0.4", + "@smithy/smithy-client": "^3.1.8", + "@smithy/types": "^3.3.0", + "@smithy/url-parser": "^3.0.3", + "@smithy/util-base64": "^3.0.0", + "@smithy/util-body-length-browser": "^3.0.0", + "@smithy/util-body-length-node": "^3.0.0", + "@smithy/util-defaults-mode-browser": "^3.0.10", + "@smithy/util-defaults-mode-node": "^3.0.10", + "@smithy/util-endpoints": "^2.0.5", + "@smithy/util-middleware": "^3.0.3", + "@smithy/util-retry": "^3.0.3", + "@smithy/util-utf8": "^3.0.0", "tslib": "^2.6.2" }, "engines": { "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/credential-provider-node/node_modules/@aws-sdk/client-sso-oidc": { - "version": "3.572.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.572.0.tgz", - "integrity": "sha512-S6C/S6xYesDakEuzYvlY1DMMKLtKQxdbbygq3hfeG2R0jUt9KpRLsQXK8qrBuVCKa3WcnjN/30hp4g/iUWFU/w==", - "dev": true, - "peer": true, - "dependencies": { - "@aws-crypto/sha256-browser": "3.0.0", - "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/client-sts": "3.572.0", - "@aws-sdk/core": "3.572.0", - "@aws-sdk/credential-provider-node": "3.572.0", - "@aws-sdk/middleware-host-header": "3.567.0", - "@aws-sdk/middleware-logger": "3.568.0", - "@aws-sdk/middleware-recursion-detection": "3.567.0", - "@aws-sdk/middleware-user-agent": "3.572.0", - "@aws-sdk/region-config-resolver": "3.572.0", - "@aws-sdk/types": "3.567.0", - "@aws-sdk/util-endpoints": "3.572.0", - "@aws-sdk/util-user-agent-browser": "3.567.0", - "@aws-sdk/util-user-agent-node": "3.568.0", - "@smithy/config-resolver": "^2.2.0", - "@smithy/core": "^1.4.2", - "@smithy/fetch-http-handler": "^2.5.0", - "@smithy/hash-node": "^2.2.0", - "@smithy/invalid-dependency": "^2.2.0", - "@smithy/middleware-content-length": "^2.2.0", - "@smithy/middleware-endpoint": "^2.5.1", - "@smithy/middleware-retry": "^2.3.1", - "@smithy/middleware-serde": "^2.3.0", - "@smithy/middleware-stack": "^2.2.0", - "@smithy/node-config-provider": "^2.3.0", - "@smithy/node-http-handler": "^2.5.0", - "@smithy/protocol-http": "^3.3.0", - "@smithy/smithy-client": "^2.5.1", - "@smithy/types": "^2.12.0", - "@smithy/url-parser": "^2.2.0", - "@smithy/util-base64": "^2.3.0", - "@smithy/util-body-length-browser": "^2.2.0", - "@smithy/util-body-length-node": "^2.3.0", - "@smithy/util-defaults-mode-browser": "^2.2.1", - "@smithy/util-defaults-mode-node": "^2.3.1", - "@smithy/util-endpoints": "^1.2.0", - "@smithy/util-middleware": "^2.2.0", - "@smithy/util-retry": "^2.2.0", - "@smithy/util-utf8": "^2.3.0", + "node_modules/@aws-sdk/client-sso-oidc": { + "version": "3.616.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.616.0.tgz", + "integrity": "sha512-YY1hpYS/G1uRGjQf88dL8VLHkP/IjGxKeXdhy+JnzMdCkAWl3V9j0fEALw40NZe0x79gr6R2KUOUH/IKYQfUmg==", + "dependencies": { + "@aws-crypto/sha256-browser": "5.2.0", + "@aws-crypto/sha256-js": "5.2.0", + "@aws-sdk/core": "3.616.0", + "@aws-sdk/credential-provider-node": "3.616.0", + "@aws-sdk/middleware-host-header": "3.616.0", + "@aws-sdk/middleware-logger": "3.609.0", + "@aws-sdk/middleware-recursion-detection": "3.616.0", + "@aws-sdk/middleware-user-agent": "3.616.0", + "@aws-sdk/region-config-resolver": "3.614.0", + "@aws-sdk/types": "3.609.0", + "@aws-sdk/util-endpoints": "3.614.0", + "@aws-sdk/util-user-agent-browser": "3.609.0", + "@aws-sdk/util-user-agent-node": "3.614.0", + "@smithy/config-resolver": "^3.0.5", + "@smithy/core": "^2.2.7", + "@smithy/fetch-http-handler": "^3.2.2", + "@smithy/hash-node": "^3.0.3", + "@smithy/invalid-dependency": "^3.0.3", + "@smithy/middleware-content-length": "^3.0.4", + "@smithy/middleware-endpoint": "^3.0.5", + "@smithy/middleware-retry": "^3.0.10", + "@smithy/middleware-serde": "^3.0.3", + "@smithy/middleware-stack": "^3.0.3", + "@smithy/node-config-provider": "^3.1.4", + "@smithy/node-http-handler": "^3.1.3", + "@smithy/protocol-http": "^4.0.4", + "@smithy/smithy-client": "^3.1.8", + "@smithy/types": "^3.3.0", + "@smithy/url-parser": "^3.0.3", + "@smithy/util-base64": "^3.0.0", + "@smithy/util-body-length-browser": "^3.0.0", + "@smithy/util-body-length-node": "^3.0.0", + "@smithy/util-defaults-mode-browser": "^3.0.10", + "@smithy/util-defaults-mode-node": "^3.0.10", + "@smithy/util-endpoints": "^2.0.5", + "@smithy/util-middleware": "^3.0.3", + "@smithy/util-retry": "^3.0.3", + "@smithy/util-utf8": "^3.0.0", "tslib": "^2.6.2" }, "engines": { "node": ">=16.0.0" + }, + "peerDependencies": { + "@aws-sdk/client-sts": "^3.616.0" } }, - "node_modules/@aws-sdk/credential-provider-node/node_modules/@aws-sdk/client-sts": { - "version": "3.572.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.572.0.tgz", - "integrity": "sha512-jCQuH2qkbWoSY4wckLSfzf3OPh7zc7ZckEbIGGVUQar/JVff6EIbpQ+uNG29DDEOpdPPd8rrJsVuUlA/nvJdXA==", - "dev": true, - "peer": true, - "dependencies": { - "@aws-crypto/sha256-browser": "3.0.0", - "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/client-sso-oidc": "3.572.0", - "@aws-sdk/core": "3.572.0", - "@aws-sdk/credential-provider-node": "3.572.0", - "@aws-sdk/middleware-host-header": "3.567.0", - "@aws-sdk/middleware-logger": "3.568.0", - "@aws-sdk/middleware-recursion-detection": "3.567.0", - "@aws-sdk/middleware-user-agent": "3.572.0", - "@aws-sdk/region-config-resolver": "3.572.0", - "@aws-sdk/types": "3.567.0", - "@aws-sdk/util-endpoints": "3.572.0", - "@aws-sdk/util-user-agent-browser": "3.567.0", - "@aws-sdk/util-user-agent-node": "3.568.0", - "@smithy/config-resolver": "^2.2.0", - "@smithy/core": "^1.4.2", - "@smithy/fetch-http-handler": "^2.5.0", - "@smithy/hash-node": "^2.2.0", - "@smithy/invalid-dependency": "^2.2.0", - "@smithy/middleware-content-length": "^2.2.0", - "@smithy/middleware-endpoint": "^2.5.1", - "@smithy/middleware-retry": "^2.3.1", - "@smithy/middleware-serde": "^2.3.0", - "@smithy/middleware-stack": "^2.2.0", - "@smithy/node-config-provider": "^2.3.0", - "@smithy/node-http-handler": "^2.5.0", - "@smithy/protocol-http": "^3.3.0", - "@smithy/smithy-client": "^2.5.1", - "@smithy/types": "^2.12.0", - "@smithy/url-parser": "^2.2.0", - "@smithy/util-base64": "^2.3.0", - "@smithy/util-body-length-browser": "^2.2.0", - "@smithy/util-body-length-node": "^2.3.0", - "@smithy/util-defaults-mode-browser": "^2.2.1", - "@smithy/util-defaults-mode-node": "^2.3.1", - "@smithy/util-endpoints": "^1.2.0", - "@smithy/util-middleware": "^2.2.0", - "@smithy/util-retry": "^2.2.0", - "@smithy/util-utf8": "^2.3.0", + "node_modules/@aws-sdk/client-sts": { + "version": "3.616.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.616.0.tgz", + "integrity": "sha512-FP7i7hS5FpReqnysQP1ukQF1OUWy8lkomaOnbu15H415YUrfCp947SIx6+BItjmx+esKxPkEjh/fbCVzw2D6hQ==", + "dependencies": { + "@aws-crypto/sha256-browser": "5.2.0", + "@aws-crypto/sha256-js": "5.2.0", + "@aws-sdk/client-sso-oidc": "3.616.0", + "@aws-sdk/core": "3.616.0", + "@aws-sdk/credential-provider-node": "3.616.0", + "@aws-sdk/middleware-host-header": "3.616.0", + "@aws-sdk/middleware-logger": "3.609.0", + "@aws-sdk/middleware-recursion-detection": "3.616.0", + "@aws-sdk/middleware-user-agent": "3.616.0", + "@aws-sdk/region-config-resolver": "3.614.0", + "@aws-sdk/types": "3.609.0", + "@aws-sdk/util-endpoints": "3.614.0", + "@aws-sdk/util-user-agent-browser": "3.609.0", + "@aws-sdk/util-user-agent-node": "3.614.0", + "@smithy/config-resolver": "^3.0.5", + "@smithy/core": "^2.2.7", + "@smithy/fetch-http-handler": "^3.2.2", + "@smithy/hash-node": "^3.0.3", + "@smithy/invalid-dependency": "^3.0.3", + "@smithy/middleware-content-length": "^3.0.4", + "@smithy/middleware-endpoint": "^3.0.5", + "@smithy/middleware-retry": "^3.0.10", + "@smithy/middleware-serde": "^3.0.3", + "@smithy/middleware-stack": "^3.0.3", + "@smithy/node-config-provider": "^3.1.4", + "@smithy/node-http-handler": "^3.1.3", + "@smithy/protocol-http": "^4.0.4", + "@smithy/smithy-client": "^3.1.8", + "@smithy/types": "^3.3.0", + "@smithy/url-parser": "^3.0.3", + "@smithy/util-base64": "^3.0.0", + "@smithy/util-body-length-browser": "^3.0.0", + "@smithy/util-body-length-node": "^3.0.0", + "@smithy/util-defaults-mode-browser": "^3.0.10", + "@smithy/util-defaults-mode-node": "^3.0.10", + "@smithy/util-endpoints": "^2.0.5", + "@smithy/util-middleware": "^3.0.3", + "@smithy/util-retry": "^3.0.3", + "@smithy/util-utf8": "^3.0.0", "tslib": "^2.6.2" }, "engines": { "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/credential-provider-node/node_modules/@aws-sdk/credential-provider-ini": { - "version": "3.572.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.572.0.tgz", - "integrity": "sha512-05KzbAp77fEiQXqMeodXeMbT83FOqSyBrfSEMz6U8uBXeJCy8zPUjN3acqcbG55/HNJHUvg1cftqzy+fUz71gA==", - "dev": true, - "dependencies": { - "@aws-sdk/credential-provider-env": "3.568.0", - "@aws-sdk/credential-provider-process": "3.572.0", - "@aws-sdk/credential-provider-sso": "3.572.0", - "@aws-sdk/credential-provider-web-identity": "3.568.0", - "@aws-sdk/types": "3.567.0", - "@smithy/credential-provider-imds": "^2.3.0", - "@smithy/property-provider": "^2.2.0", - "@smithy/shared-ini-file-loader": "^2.4.0", - "@smithy/types": "^2.12.0", + "node_modules/@aws-sdk/core": { + "version": "3.616.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/core/-/core-3.616.0.tgz", + "integrity": "sha512-O/urkh2kECs/IqZIVZxyeyHZ7OR2ZWhLNK7btsVQBQvJKrEspLrk/Fp20Qfg5JDerQfBN83ZbyRXLJOOucdZpw==", + "dependencies": { + "@smithy/core": "^2.2.7", + "@smithy/protocol-http": "^4.0.4", + "@smithy/signature-v4": "^4.0.0", + "@smithy/smithy-client": "^3.1.8", + "@smithy/types": "^3.3.0", + "fast-xml-parser": "4.2.5", "tslib": "^2.6.2" }, "engines": { "node": ">=16.0.0" - }, - "peerDependencies": { - "@aws-sdk/client-sts": "3.572.0" } }, - "node_modules/@aws-sdk/credential-provider-process": { - "version": "3.572.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.572.0.tgz", - "integrity": "sha512-hXcOytf0BadSm/MMy7MV8mmY0+Jv3mkavsHNBx0R82hw5ollD0I3JyOAaCtdUpztF0I72F8K+q8SpJQZ+EwArw==", - "dev": true, + "node_modules/@aws-sdk/credential-provider-env": { + "version": "3.609.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.609.0.tgz", + "integrity": "sha512-v69ZCWcec2iuV9vLVJMa6fAb5xwkzN4jYIT8yjo2c4Ia/j976Q+TPf35Pnz5My48Xr94EFcaBazrWedF+kwfuQ==", "dependencies": { - "@aws-sdk/types": "3.567.0", - "@smithy/property-provider": "^2.2.0", - "@smithy/shared-ini-file-loader": "^2.4.0", - "@smithy/types": "^2.12.0", + "@aws-sdk/types": "3.609.0", + "@smithy/property-provider": "^3.1.3", + "@smithy/types": "^3.3.0", "tslib": "^2.6.2" }, "engines": { "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/credential-provider-sso": { - "version": "3.572.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.572.0.tgz", - "integrity": "sha512-iIlnpJiDXFp3XC4hJNSiNurnU24mr3iLB3HoNa9efr944bo6XBl9FQdk3NssIkqzSmgyoB2CEUx/daBHz4XSow==", - "dev": true, - "dependencies": { - "@aws-sdk/client-sso": "3.572.0", - "@aws-sdk/token-providers": "3.572.0", - "@aws-sdk/types": "3.567.0", - "@smithy/property-provider": "^2.2.0", - "@smithy/shared-ini-file-loader": "^2.4.0", - "@smithy/types": "^2.12.0", + "node_modules/@aws-sdk/credential-provider-http": { + "version": "3.616.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-http/-/credential-provider-http-3.616.0.tgz", + "integrity": "sha512-1rgCkr7XvEMBl7qWCo5BKu3yAxJs71dRaZ55Xnjte/0ZHH6Oc93ZrHzyYy6UH6t0nZrH+FAuw7Yko2YtDDwDeg==", + "dependencies": { + "@aws-sdk/types": "3.609.0", + "@smithy/fetch-http-handler": "^3.2.2", + "@smithy/node-http-handler": "^3.1.3", + "@smithy/property-provider": "^3.1.3", + "@smithy/protocol-http": "^4.0.4", + "@smithy/smithy-client": "^3.1.8", + "@smithy/types": "^3.3.0", + "@smithy/util-stream": "^3.1.0", "tslib": "^2.6.2" }, "engines": { "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/client-sso-oidc": { - "version": "3.572.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.572.0.tgz", - "integrity": "sha512-S6C/S6xYesDakEuzYvlY1DMMKLtKQxdbbygq3hfeG2R0jUt9KpRLsQXK8qrBuVCKa3WcnjN/30hp4g/iUWFU/w==", - "dev": true, - "peer": true, - "dependencies": { - "@aws-crypto/sha256-browser": "3.0.0", - "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/client-sts": "3.572.0", - "@aws-sdk/core": "3.572.0", - "@aws-sdk/credential-provider-node": "3.572.0", - "@aws-sdk/middleware-host-header": "3.567.0", - "@aws-sdk/middleware-logger": "3.568.0", - "@aws-sdk/middleware-recursion-detection": "3.567.0", - "@aws-sdk/middleware-user-agent": "3.572.0", - "@aws-sdk/region-config-resolver": "3.572.0", - "@aws-sdk/types": "3.567.0", - "@aws-sdk/util-endpoints": "3.572.0", - "@aws-sdk/util-user-agent-browser": "3.567.0", - "@aws-sdk/util-user-agent-node": "3.568.0", - "@smithy/config-resolver": "^2.2.0", - "@smithy/core": "^1.4.2", - "@smithy/fetch-http-handler": "^2.5.0", - "@smithy/hash-node": "^2.2.0", - "@smithy/invalid-dependency": "^2.2.0", - "@smithy/middleware-content-length": "^2.2.0", - "@smithy/middleware-endpoint": "^2.5.1", - "@smithy/middleware-retry": "^2.3.1", - "@smithy/middleware-serde": "^2.3.0", - "@smithy/middleware-stack": "^2.2.0", - "@smithy/node-config-provider": "^2.3.0", - "@smithy/node-http-handler": "^2.5.0", - "@smithy/protocol-http": "^3.3.0", - "@smithy/smithy-client": "^2.5.1", - "@smithy/types": "^2.12.0", - "@smithy/url-parser": "^2.2.0", - "@smithy/util-base64": "^2.3.0", - "@smithy/util-body-length-browser": "^2.2.0", - "@smithy/util-body-length-node": "^2.3.0", - "@smithy/util-defaults-mode-browser": "^2.2.1", - "@smithy/util-defaults-mode-node": "^2.3.1", - "@smithy/util-endpoints": "^1.2.0", - "@smithy/util-middleware": "^2.2.0", - "@smithy/util-retry": "^2.2.0", - "@smithy/util-utf8": "^2.3.0", + "node_modules/@aws-sdk/credential-provider-ini": { + "version": "3.616.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.616.0.tgz", + "integrity": "sha512-5gQdMr9cca3xV7FF2SxpxWGH2t6+t4o+XBGiwsHm8muEjf4nUmw7Ij863x25Tjt2viPYV0UStczSb5Sihp7bkA==", + "dependencies": { + "@aws-sdk/credential-provider-env": "3.609.0", + "@aws-sdk/credential-provider-http": "3.616.0", + "@aws-sdk/credential-provider-process": "3.614.0", + "@aws-sdk/credential-provider-sso": "3.616.0", + "@aws-sdk/credential-provider-web-identity": "3.609.0", + "@aws-sdk/types": "3.609.0", + "@smithy/credential-provider-imds": "^3.1.4", + "@smithy/property-provider": "^3.1.3", + "@smithy/shared-ini-file-loader": "^3.1.4", + "@smithy/types": "^3.3.0", "tslib": "^2.6.2" }, "engines": { "node": ">=16.0.0" + }, + "peerDependencies": { + "@aws-sdk/client-sts": "^3.616.0" } }, - "node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/client-sts": { - "version": "3.572.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.572.0.tgz", - "integrity": "sha512-jCQuH2qkbWoSY4wckLSfzf3OPh7zc7ZckEbIGGVUQar/JVff6EIbpQ+uNG29DDEOpdPPd8rrJsVuUlA/nvJdXA==", - "dev": true, - "peer": true, - "dependencies": { - "@aws-crypto/sha256-browser": "3.0.0", - "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/client-sso-oidc": "3.572.0", - "@aws-sdk/core": "3.572.0", - "@aws-sdk/credential-provider-node": "3.572.0", - "@aws-sdk/middleware-host-header": "3.567.0", - "@aws-sdk/middleware-logger": "3.568.0", - "@aws-sdk/middleware-recursion-detection": "3.567.0", - "@aws-sdk/middleware-user-agent": "3.572.0", - "@aws-sdk/region-config-resolver": "3.572.0", - "@aws-sdk/types": "3.567.0", - "@aws-sdk/util-endpoints": "3.572.0", - "@aws-sdk/util-user-agent-browser": "3.567.0", - "@aws-sdk/util-user-agent-node": "3.568.0", - "@smithy/config-resolver": "^2.2.0", - "@smithy/core": "^1.4.2", - "@smithy/fetch-http-handler": "^2.5.0", - "@smithy/hash-node": "^2.2.0", - "@smithy/invalid-dependency": "^2.2.0", - "@smithy/middleware-content-length": "^2.2.0", - "@smithy/middleware-endpoint": "^2.5.1", - "@smithy/middleware-retry": "^2.3.1", - "@smithy/middleware-serde": "^2.3.0", - "@smithy/middleware-stack": "^2.2.0", - "@smithy/node-config-provider": "^2.3.0", - "@smithy/node-http-handler": "^2.5.0", - "@smithy/protocol-http": "^3.3.0", - "@smithy/smithy-client": "^2.5.1", - "@smithy/types": "^2.12.0", - "@smithy/url-parser": "^2.2.0", - "@smithy/util-base64": "^2.3.0", - "@smithy/util-body-length-browser": "^2.2.0", - "@smithy/util-body-length-node": "^2.3.0", - "@smithy/util-defaults-mode-browser": "^2.2.1", - "@smithy/util-defaults-mode-node": "^2.3.1", - "@smithy/util-endpoints": "^1.2.0", - "@smithy/util-middleware": "^2.2.0", - "@smithy/util-retry": "^2.2.0", - "@smithy/util-utf8": "^2.3.0", + "node_modules/@aws-sdk/credential-provider-node": { + "version": "3.616.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.616.0.tgz", + "integrity": "sha512-Se+u6DAxjDPjKE3vX1X2uxjkWgGq69BTo0uTB0vDUiWwBVgh16s9BsBhSAlKEH1CCbbJHvOg4YdTrzjwzqyClg==", + "dependencies": { + "@aws-sdk/credential-provider-env": "3.609.0", + "@aws-sdk/credential-provider-http": "3.616.0", + "@aws-sdk/credential-provider-ini": "3.616.0", + "@aws-sdk/credential-provider-process": "3.614.0", + "@aws-sdk/credential-provider-sso": "3.616.0", + "@aws-sdk/credential-provider-web-identity": "3.609.0", + "@aws-sdk/types": "3.609.0", + "@smithy/credential-provider-imds": "^3.1.4", + "@smithy/property-provider": "^3.1.3", + "@smithy/shared-ini-file-loader": "^3.1.4", + "@smithy/types": "^3.3.0", "tslib": "^2.6.2" }, "engines": { "node": ">=16.0.0" } }, - "node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers": { - "version": "3.572.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.572.0.tgz", - "integrity": "sha512-IkSu8p32tQZhKqwmfLZLGfYwNhsS/HUQBLnDMHJlr9VifmDqlTurcr+DwMCaMimuFhcLeb45vqTymKf/ro/OBw==", - "dev": true, - "dependencies": { - "@aws-sdk/types": "3.567.0", - "@smithy/property-provider": "^2.2.0", - "@smithy/shared-ini-file-loader": "^2.4.0", - "@smithy/types": "^2.12.0", + "node_modules/@aws-sdk/credential-provider-process": { + "version": "3.614.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.614.0.tgz", + "integrity": "sha512-Q0SI0sTRwi8iNODLs5+bbv8vgz8Qy2QdxbCHnPk/6Cx6LMf7i3dqmWquFbspqFRd8QiqxStrblwxrUYZi09tkA==", + "dependencies": { + "@aws-sdk/types": "3.609.0", + "@smithy/property-provider": "^3.1.3", + "@smithy/shared-ini-file-loader": "^3.1.4", + "@smithy/types": "^3.3.0", "tslib": "^2.6.2" }, "engines": { "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/credential-provider-sso": { + "version": "3.616.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.616.0.tgz", + "integrity": "sha512-3rsWs9GBi8Z8Gps5ROwqguxtw+J6OIg1vawZMLRNMqqZoBvbOToe9wEnpid8ylU+27+oG8uibJNlNuRyXApUjw==", + "dependencies": { + "@aws-sdk/client-sso": "3.616.0", + "@aws-sdk/token-providers": "3.614.0", + "@aws-sdk/types": "3.609.0", + "@smithy/property-provider": "^3.1.3", + "@smithy/shared-ini-file-loader": "^3.1.4", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" }, - "peerDependencies": { - "@aws-sdk/client-sso-oidc": "3.572.0" + "engines": { + "node": ">=16.0.0" } }, "node_modules/@aws-sdk/credential-provider-web-identity": { - "version": "3.568.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.568.0.tgz", - "integrity": "sha512-ZJSmTmoIdg6WqAULjYzaJ3XcbgBzVy36lir6Y0UBMRGaxDgos1AARuX6EcYzXOl+ksLvxt/xMQ+3aYh1LWfKSw==", - "dev": true, + "version": "3.609.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.609.0.tgz", + "integrity": "sha512-U+PG8NhlYYF45zbr1km3ROtBMYqyyj/oK8NRp++UHHeuavgrP+4wJ4wQnlEaKvJBjevfo3+dlIBcaeQ7NYejWg==", "dependencies": { - "@aws-sdk/types": "3.567.0", - "@smithy/property-provider": "^2.2.0", - "@smithy/types": "^2.12.0", + "@aws-sdk/types": "3.609.0", + "@smithy/property-provider": "^3.1.3", + "@smithy/types": "^3.3.0", "tslib": "^2.6.2" }, "engines": { "node": ">=16.0.0" }, "peerDependencies": { - "@aws-sdk/client-sts": "^3.568.0" + "@aws-sdk/client-sts": "^3.609.0" } }, "node_modules/@aws-sdk/middleware-bucket-endpoint": { - "version": "3.568.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-bucket-endpoint/-/middleware-bucket-endpoint-3.568.0.tgz", - "integrity": "sha512-uc/nbSpXv64ct/wV3Ksz0/bXAsEtXuoZu5J9FTcFnM7c2MSofa0YQrtrJ8cG65uGbdeiFoJwPA048BTG/ilhCA==", - "dev": true, + "version": "3.616.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-bucket-endpoint/-/middleware-bucket-endpoint-3.616.0.tgz", + "integrity": "sha512-KZv78s8UE7+s3qZCfG3pE9U9XV5WTP478aNWis5gDXmsb5LF7QWzEeR8kve5dnjNlK6qVQ33v+mUZa6lR5PwMw==", "dependencies": { - "@aws-sdk/types": "3.567.0", + "@aws-sdk/types": "3.609.0", "@aws-sdk/util-arn-parser": "3.568.0", - "@smithy/node-config-provider": "^2.3.0", - "@smithy/protocol-http": "^3.3.0", - "@smithy/types": "^2.12.0", - "@smithy/util-config-provider": "^2.3.0", + "@smithy/node-config-provider": "^3.1.4", + "@smithy/protocol-http": "^4.0.4", + "@smithy/types": "^3.3.0", + "@smithy/util-config-provider": "^3.0.0", "tslib": "^2.6.2" }, "engines": { @@ -834,14 +634,13 @@ } }, "node_modules/@aws-sdk/middleware-expect-continue": { - "version": "3.572.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-expect-continue/-/middleware-expect-continue-3.572.0.tgz", - "integrity": "sha512-+NKWVK295rOEANU/ohqEfNjkcEdZao7z6HxkMXX4gu4mDpSsVU8WhYr5hp5k3PUhtaiPU8M1rdfQBrZQc4uttw==", - "dev": true, + "version": "3.616.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-expect-continue/-/middleware-expect-continue-3.616.0.tgz", + "integrity": "sha512-IM1pfJPm7pDUXa55js9bnGjS8o3ldzDwf95mL9ZAYdEsm10q6i0ZxZbbro2gTq25Ap5ykdeeS34lOSzIqPiW1A==", "dependencies": { - "@aws-sdk/types": "3.567.0", - "@smithy/protocol-http": "^3.3.0", - "@smithy/types": "^2.12.0", + "@aws-sdk/types": "3.609.0", + "@smithy/protocol-http": "^4.0.4", + "@smithy/types": "^3.3.0", "tslib": "^2.6.2" }, "engines": { @@ -849,18 +648,17 @@ } }, "node_modules/@aws-sdk/middleware-flexible-checksums": { - "version": "3.572.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-flexible-checksums/-/middleware-flexible-checksums-3.572.0.tgz", - "integrity": "sha512-ysblGDRn1yy8TlKUrwhnFbl3RuMfbVW1rbtePClEYpC/1u9MsqPmm/fmWJJGKat7NclnsgpQyfSQ64DCuaEedg==", - "dev": true, - "dependencies": { - "@aws-crypto/crc32": "3.0.0", - "@aws-crypto/crc32c": "3.0.0", - "@aws-sdk/types": "3.567.0", - "@smithy/is-array-buffer": "^2.2.0", - "@smithy/protocol-http": "^3.3.0", - "@smithy/types": "^2.12.0", - "@smithy/util-utf8": "^2.3.0", + "version": "3.616.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-flexible-checksums/-/middleware-flexible-checksums-3.616.0.tgz", + "integrity": "sha512-Mrco/dURoTXVqwcnYRcyrFaPTIg36ifg2PK0kUYfSVTGEOClZOQXlVG5zYCZoo3yEMgy/gLT907FjUQxwoifIw==", + "dependencies": { + "@aws-crypto/crc32": "5.2.0", + "@aws-crypto/crc32c": "5.2.0", + "@aws-sdk/types": "3.609.0", + "@smithy/is-array-buffer": "^3.0.0", + "@smithy/protocol-http": "^4.0.4", + "@smithy/types": "^3.3.0", + "@smithy/util-utf8": "^3.0.0", "tslib": "^2.6.2" }, "engines": { @@ -868,14 +666,13 @@ } }, "node_modules/@aws-sdk/middleware-host-header": { - "version": "3.567.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.567.0.tgz", - "integrity": "sha512-zQHHj2N3in9duKghH7AuRNrOMLnKhW6lnmb7dznou068DJtDr76w475sHp2TF0XELsOGENbbBsOlN/S5QBFBVQ==", - "dev": true, + "version": "3.616.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.616.0.tgz", + "integrity": "sha512-mhNfHuGhCDZwYCABebaOvTgOM44UCZZRq2cBpgPZLVKP0ydAv5aFHXv01goexxXHqgHoEGx0uXWxlw0s2EpFDg==", "dependencies": { - "@aws-sdk/types": "3.567.0", - "@smithy/protocol-http": "^3.3.0", - "@smithy/types": "^2.12.0", + "@aws-sdk/types": "3.609.0", + "@smithy/protocol-http": "^4.0.4", + "@smithy/types": "^3.3.0", "tslib": "^2.6.2" }, "engines": { @@ -883,13 +680,12 @@ } }, "node_modules/@aws-sdk/middleware-location-constraint": { - "version": "3.567.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-location-constraint/-/middleware-location-constraint-3.567.0.tgz", - "integrity": "sha512-XiGTH4VxrJ5fj6zeF6UL5U5EuJwLqj9bHW5pB+EKfw0pmbnyqfRdYNt46v4GsQql2iVOq1Z/Fiv754nIItBI/A==", - "dev": true, + "version": "3.609.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-location-constraint/-/middleware-location-constraint-3.609.0.tgz", + "integrity": "sha512-xzsdoTkszGVqGVPjUmgoP7TORiByLueMHieI1fhQL888WPdqctwAx3ES6d/bA9Q/i8jnc6hs+Fjhy8UvBTkE9A==", "dependencies": { - "@aws-sdk/types": "3.567.0", - "@smithy/types": "^2.12.0", + "@aws-sdk/types": "3.609.0", + "@smithy/types": "^3.3.0", "tslib": "^2.6.2" }, "engines": { @@ -897,13 +693,12 @@ } }, "node_modules/@aws-sdk/middleware-logger": { - "version": "3.568.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.568.0.tgz", - "integrity": "sha512-BinH72RG7K3DHHC1/tCulocFv+ZlQ9SrPF9zYT0T1OT95JXuHhB7fH8gEABrc6DAtOdJJh2fgxQjPy5tzPtsrA==", - "dev": true, + "version": "3.609.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.609.0.tgz", + "integrity": "sha512-S62U2dy4jMDhDFDK5gZ4VxFdWzCtLzwbYyFZx2uvPYTECkepLUfzLic2BHg2Qvtu4QjX+oGE3P/7fwaGIsGNuQ==", "dependencies": { - "@aws-sdk/types": "3.567.0", - "@smithy/types": "^2.12.0", + "@aws-sdk/types": "3.609.0", + "@smithy/types": "^3.3.0", "tslib": "^2.6.2" }, "engines": { @@ -911,14 +706,13 @@ } }, "node_modules/@aws-sdk/middleware-recursion-detection": { - "version": "3.567.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.567.0.tgz", - "integrity": "sha512-rFk3QhdT4IL6O/UWHmNdjJiURutBCy+ogGqaNHf/RELxgXH3KmYorLwCe0eFb5hq8f6vr3zl4/iH7YtsUOuo1w==", - "dev": true, + "version": "3.616.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.616.0.tgz", + "integrity": "sha512-LQKAcrZRrR9EGez4fdCIVjdn0Ot2HMN12ChnoMGEU6oIxnQ2aSC7iASFFCV39IYfeMh7iSCPj7Wopqw8rAouzg==", "dependencies": { - "@aws-sdk/types": "3.567.0", - "@smithy/protocol-http": "^3.3.0", - "@smithy/types": "^2.12.0", + "@aws-sdk/types": "3.609.0", + "@smithy/protocol-http": "^4.0.4", + "@smithy/types": "^3.3.0", "tslib": "^2.6.2" }, "engines": { @@ -926,19 +720,20 @@ } }, "node_modules/@aws-sdk/middleware-sdk-s3": { - "version": "3.572.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-3.572.0.tgz", - "integrity": "sha512-ygQL1G2hWoJXkUGL/Xr5q9ojXCH8hgt/oKsxJtc5U8ZXw3SRlL6pCVE7+aiD0l8mgIGbW0vrL08Oc/jYWlakdw==", - "dev": true, + "version": "3.617.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-3.617.0.tgz", + "integrity": "sha512-zVOS6sNGcLGhq7i+5POmVqmSPNmrQYDFsynpnWMSLsNaej+xvkdSOnytLrUvag3Du4kAxfO5NNIC0GuNj9lcCg==", "dependencies": { - "@aws-sdk/types": "3.567.0", + "@aws-sdk/types": "3.609.0", "@aws-sdk/util-arn-parser": "3.568.0", - "@smithy/node-config-provider": "^2.3.0", - "@smithy/protocol-http": "^3.3.0", - "@smithy/signature-v4": "^2.3.0", - "@smithy/smithy-client": "^2.5.1", - "@smithy/types": "^2.12.0", - "@smithy/util-config-provider": "^2.3.0", + "@smithy/node-config-provider": "^3.1.4", + "@smithy/protocol-http": "^4.0.4", + "@smithy/signature-v4": "^4.0.0", + "@smithy/smithy-client": "^3.1.8", + "@smithy/types": "^3.3.0", + "@smithy/util-config-provider": "^3.0.0", + "@smithy/util-stream": "^3.1.0", + "@smithy/util-utf8": "^3.0.0", "tslib": "^2.6.2" }, "engines": { @@ -946,17 +741,16 @@ } }, "node_modules/@aws-sdk/middleware-signing": { - "version": "3.572.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.572.0.tgz", - "integrity": "sha512-/pEVgHnf8LsTG0hu9yqqvmLMknlKO5c19NM3J9qTWGLPfySi8tWrFuREAFKAxqJFgDw1IdFWd+dXIkodpbGwew==", - "dev": true, - "dependencies": { - "@aws-sdk/types": "3.567.0", - "@smithy/property-provider": "^2.2.0", - "@smithy/protocol-http": "^3.3.0", - "@smithy/signature-v4": "^2.3.0", - "@smithy/types": "^2.12.0", - "@smithy/util-middleware": "^2.2.0", + "version": "3.616.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.616.0.tgz", + "integrity": "sha512-wwzZFlXyURwo40oz1NmufreQa5DqwnCF8hR8tIP5+oKCyhbkmlmv8xG4Wn51bzY2WEbQhvFebgZSFTEvelCoCg==", + "dependencies": { + "@aws-sdk/types": "3.609.0", + "@smithy/property-provider": "^3.1.3", + "@smithy/protocol-http": "^4.0.4", + "@smithy/signature-v4": "^4.0.0", + "@smithy/types": "^3.3.0", + "@smithy/util-middleware": "^3.0.3", "tslib": "^2.6.2" }, "engines": { @@ -964,13 +758,12 @@ } }, "node_modules/@aws-sdk/middleware-ssec": { - "version": "3.567.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-ssec/-/middleware-ssec-3.567.0.tgz", - "integrity": "sha512-lhpBwFi3Tcw+jlOdaCsg3lCAg4oOSJB00bW/aLTFeZWutwi9VexMmsddZllx99lN+LDeCjryNyVd2TCRCKwYhQ==", - "dev": true, + "version": "3.609.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-ssec/-/middleware-ssec-3.609.0.tgz", + "integrity": "sha512-GZSD1s7+JswWOTamVap79QiDaIV7byJFssBW68GYjyRS5EBjNfwA/8s+6uE6g39R3ojyTbYOmvcANoZEhSULXg==", "dependencies": { - "@aws-sdk/types": "3.567.0", - "@smithy/types": "^2.12.0", + "@aws-sdk/types": "3.609.0", + "@smithy/types": "^3.3.0", "tslib": "^2.6.2" }, "engines": { @@ -978,15 +771,14 @@ } }, "node_modules/@aws-sdk/middleware-user-agent": { - "version": "3.572.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.572.0.tgz", - "integrity": "sha512-R4bBbLp1ywtF1kJoOX1juDMztKPWeQHNj6XuTvtruFDn1RdfnBlbM3+9rguRfH5s4V+xfl8SSWchnyo2cI00xg==", - "dev": true, - "dependencies": { - "@aws-sdk/types": "3.567.0", - "@aws-sdk/util-endpoints": "3.572.0", - "@smithy/protocol-http": "^3.3.0", - "@smithy/types": "^2.12.0", + "version": "3.616.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.616.0.tgz", + "integrity": "sha512-iMcAb4E+Z3vuEcrDsG6T2OBNiqWAquwahP9qepHqfmnmJqHr1mSHtXDYTGBNid31+621sUQmneUQ+fagpGAe4w==", + "dependencies": { + "@aws-sdk/types": "3.609.0", + "@aws-sdk/util-endpoints": "3.614.0", + "@smithy/protocol-http": "^4.0.4", + "@smithy/types": "^3.3.0", "tslib": "^2.6.2" }, "engines": { @@ -994,16 +786,15 @@ } }, "node_modules/@aws-sdk/region-config-resolver": { - "version": "3.572.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/region-config-resolver/-/region-config-resolver-3.572.0.tgz", - "integrity": "sha512-xkZMIxek44F4YW5r9otD1O5Y/kDkgAb6JNJePkP1qPVojrkCmin3OFYAOZgGm+T4DZAQ5rWhpaqTAWmnRumYfw==", - "dev": true, - "dependencies": { - "@aws-sdk/types": "3.567.0", - "@smithy/node-config-provider": "^2.3.0", - "@smithy/types": "^2.12.0", - "@smithy/util-config-provider": "^2.3.0", - "@smithy/util-middleware": "^2.2.0", + "version": "3.614.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/region-config-resolver/-/region-config-resolver-3.614.0.tgz", + "integrity": "sha512-vDCeMXvic/LU0KFIUjpC3RiSTIkkvESsEfbVHiHH0YINfl8HnEqR5rj+L8+phsCeVg2+LmYwYxd5NRz4PHxt5g==", + "dependencies": { + "@aws-sdk/types": "3.609.0", + "@smithy/node-config-provider": "^3.1.4", + "@smithy/types": "^3.3.0", + "@smithy/util-config-provider": "^3.0.0", + "@smithy/util-middleware": "^3.0.3", "tslib": "^2.6.2" }, "engines": { @@ -1011,29 +802,45 @@ } }, "node_modules/@aws-sdk/signature-v4-multi-region": { - "version": "3.572.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4-multi-region/-/signature-v4-multi-region-3.572.0.tgz", - "integrity": "sha512-FD6FIi8py1ZAR53NjD2VXKDvvQUhhZu7CDUfC9gjAa7JDtv+rJvM9ZuoiQjaDnzzqYxTr4pKqqjLsd6+8BCSWA==", - "dev": true, + "version": "3.617.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4-multi-region/-/signature-v4-multi-region-3.617.0.tgz", + "integrity": "sha512-kGbLs9q0/ziuzA1huf0BBh05ChxDeZ8ZWc/kedb80ocq6izOLaGgeqqUR8oB0ianwjel4AQq/iv1fsOIt3wmAA==", + "dependencies": { + "@aws-sdk/middleware-sdk-s3": "3.617.0", + "@aws-sdk/types": "3.609.0", + "@smithy/protocol-http": "^4.0.4", + "@smithy/signature-v4": "^4.0.0", + "@smithy/types": "^3.3.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-sdk/token-providers": { + "version": "3.614.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.614.0.tgz", + "integrity": "sha512-okItqyY6L9IHdxqs+Z116y5/nda7rHxLvROxtAJdLavWTYDydxrZstImNgGWTeVdmc0xX2gJCI77UYUTQWnhRw==", "dependencies": { - "@aws-sdk/middleware-sdk-s3": "3.572.0", - "@aws-sdk/types": "3.567.0", - "@smithy/protocol-http": "^3.3.0", - "@smithy/signature-v4": "^2.3.0", - "@smithy/types": "^2.12.0", + "@aws-sdk/types": "3.609.0", + "@smithy/property-provider": "^3.1.3", + "@smithy/shared-ini-file-loader": "^3.1.4", + "@smithy/types": "^3.3.0", "tslib": "^2.6.2" }, "engines": { "node": ">=16.0.0" + }, + "peerDependencies": { + "@aws-sdk/client-sso-oidc": "^3.614.0" } }, "node_modules/@aws-sdk/types": { - "version": "3.567.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.567.0.tgz", - "integrity": "sha512-JBznu45cdgQb8+T/Zab7WpBmfEAh77gsk99xuF4biIb2Sw1mdseONdoGDjEJX57a25TzIv/WUJ2oABWumckz1A==", - "dev": true, + "version": "3.609.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.609.0.tgz", + "integrity": "sha512-+Tqnh9w0h2LcrUsdXyT1F8mNhXz+tVYBtP19LpeEGntmvHwa2XzvLUCWpoIAIVsHp5+HdB2X9Sn0KAtmbFXc2Q==", "dependencies": { - "@smithy/types": "^2.12.0", + "@smithy/types": "^3.3.0", "tslib": "^2.6.2" }, "engines": { @@ -1044,7 +851,6 @@ "version": "3.568.0", "resolved": "https://registry.npmjs.org/@aws-sdk/util-arn-parser/-/util-arn-parser-3.568.0.tgz", "integrity": "sha512-XUKJWWo+KOB7fbnPP0+g/o5Ulku/X53t7i/h+sPHr5xxYTJJ9CYnbToo95mzxe7xWvkLrsNtJ8L+MnNn9INs2w==", - "dev": true, "dependencies": { "tslib": "^2.6.2" }, @@ -1053,14 +859,13 @@ } }, "node_modules/@aws-sdk/util-endpoints": { - "version": "3.572.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.572.0.tgz", - "integrity": "sha512-AIEC7ItIWBqkJLtqcSd0HG8tvdh3zVwqnKPHNrcfFay0Xonqx3p/qTCDwGosh5CM5hDGzyOSRA5PkacEDBTz9w==", - "dev": true, + "version": "3.614.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.614.0.tgz", + "integrity": "sha512-wK2cdrXHH4oz4IomV/yrGkftU9A+ITB6nFL+rxxyO78is2ifHJpFdV4aqk4LSkXYPi6CXWNru/Dqc7yiKXgJPw==", "dependencies": { - "@aws-sdk/types": "3.567.0", - "@smithy/types": "^2.12.0", - "@smithy/util-endpoints": "^1.2.0", + "@aws-sdk/types": "3.609.0", + "@smithy/types": "^3.3.0", + "@smithy/util-endpoints": "^2.0.5", "tslib": "^2.6.2" }, "engines": { @@ -1071,7 +876,6 @@ "version": "3.568.0", "resolved": "https://registry.npmjs.org/@aws-sdk/util-locate-window/-/util-locate-window-3.568.0.tgz", "integrity": "sha512-3nh4TINkXYr+H41QaPelCceEB2FXP3fxp93YZXB/kqJvX0U9j0N0Uk45gvsjmEPzG8XxkPEeLIfT2I1M7A6Lig==", - "dev": true, "dependencies": { "tslib": "^2.6.2" }, @@ -1080,26 +884,24 @@ } }, "node_modules/@aws-sdk/util-user-agent-browser": { - "version": "3.567.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.567.0.tgz", - "integrity": "sha512-cqP0uXtZ7m7hRysf3fRyJwcY1jCgQTpJy7BHB5VpsE7DXlXHD5+Ur5L42CY7UrRPrB6lc6YGFqaAOs5ghMcLyA==", - "dev": true, + "version": "3.609.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.609.0.tgz", + "integrity": "sha512-fojPU+mNahzQ0YHYBsx0ZIhmMA96H+ZIZ665ObU9tl+SGdbLneVZVikGve+NmHTQwHzwkFsZYYnVKAkreJLAtA==", "dependencies": { - "@aws-sdk/types": "3.567.0", - "@smithy/types": "^2.12.0", + "@aws-sdk/types": "3.609.0", + "@smithy/types": "^3.3.0", "bowser": "^2.11.0", "tslib": "^2.6.2" } }, "node_modules/@aws-sdk/util-user-agent-node": { - "version": "3.568.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.568.0.tgz", - "integrity": "sha512-NVoZoLnKF+eXPBvXg+KqixgJkPSrerR6Gqmbjwqbv14Ini+0KNKB0/MXas1mDGvvEgtNkHI/Cb9zlJ3KXpti2A==", - "dev": true, + "version": "3.614.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.614.0.tgz", + "integrity": "sha512-15ElZT88peoHnq5TEoEtZwoXTXRxNrk60TZNdpl/TUBJ5oNJ9Dqb5Z4ryb8ofN6nm9aFf59GVAerFDz8iUoHBA==", "dependencies": { - "@aws-sdk/types": "3.567.0", - "@smithy/node-config-provider": "^2.3.0", - "@smithy/types": "^2.12.0", + "@aws-sdk/types": "3.609.0", + "@smithy/node-config-provider": "^3.1.4", + "@smithy/types": "^3.3.0", "tslib": "^2.6.2" }, "engines": { @@ -1114,22 +916,12 @@ } } }, - "node_modules/@aws-sdk/util-utf8-browser": { - "version": "3.259.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8-browser/-/util-utf8-browser-3.259.0.tgz", - "integrity": "sha512-UvFa/vR+e19XookZF8RzFZBrw2EUkQWxiBW0yYQAhvk3C+QVGl0H3ouca8LDBlBfQKXwmW3huo/59H8rwb1wJw==", - "dev": true, - "dependencies": { - "tslib": "^2.3.1" - } - }, "node_modules/@aws-sdk/xml-builder": { - "version": "3.567.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/xml-builder/-/xml-builder-3.567.0.tgz", - "integrity": "sha512-Db25jK9sZdGa7PEQTdm60YauUVbeYGsSEMQOHGP6ifbXfCknqgkPgWV16DqAKJUsbII0xgkJ9LpppkmYal3K/g==", - "dev": true, + "version": "3.609.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/xml-builder/-/xml-builder-3.609.0.tgz", + "integrity": "sha512-l9XxNcA4HX98rwCC2/KoiWcmEiRfZe4G+mYwDbCFT87JIMj6GBhLDkAzr/W8KAaA2IDr8Vc6J8fZPgVulxxfMA==", "dependencies": { - "@smithy/types": "^2.12.0", + "@smithy/types": "^3.3.0", "tslib": "^2.6.2" }, "engines": { @@ -1137,32 +929,34 @@ } }, "node_modules/@babel/code-frame": { - "version": "7.21.4", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.21.4.tgz", - "integrity": "sha512-LYvhNKfwWSPpocw8GI7gpK2nq3HSDuEPC/uSYaALSJu9xjsalaaYFOq0Pwt5KmVqwEbZlDu81aLXwBOmD/Fv9g==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.7.tgz", + "integrity": "sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==", "dependencies": { - "@babel/highlight": "^7.18.6" + "@babel/highlight": "^7.24.7", + "picocolors": "^1.0.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.19.1", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", - "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz", + "integrity": "sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/highlight": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", - "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.7.tgz", + "integrity": "sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==", "dependencies": { - "@babel/helper-validator-identifier": "^7.18.6", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" + "@babel/helper-validator-identifier": "^7.24.7", + "chalk": "^2.4.2", + "js-tokens": "^4.0.0", + "picocolors": "^1.0.0" }, "engines": { "node": ">=6.9.0" @@ -1233,9 +1027,9 @@ } }, "node_modules/@bufbuild/protobuf": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@bufbuild/protobuf/-/protobuf-1.2.0.tgz", - "integrity": "sha512-MBVuQMOBHxgGnZ9XCUIi8WOy5O/T4ma3TduCRhRvndv3UDbG9cHgd8h6nOYSGyBYPEvXf1z9nTwhp8mVIDbq2g==" + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/@bufbuild/protobuf/-/protobuf-1.10.0.tgz", + "integrity": "sha512-QDdVFLoN93Zjg36NoQPZfsVH9tZew7wKDKyV5qRdj8ntT4wQCOradQjRaTdwMhWUYsgKsvCINKKm87FdEk96Ag==" }, "node_modules/@colors/colors": { "version": "1.6.0", @@ -1246,9 +1040,9 @@ } }, "node_modules/@csstools/css-parser-algorithms": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-2.3.2.tgz", - "integrity": "sha512-sLYGdAdEY2x7TSw9FtmdaTrh2wFtRJO5VMbBrA8tEqEod7GEggFmxTSK9XqExib3yMuYNcvcTdCZIP6ukdjAIA==", + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-2.7.1.tgz", + "integrity": "sha512-2SJS42gxmACHgikc1WGesXLIT8d/q2l0UFM7TaEeIzdFCE/FPMtTiizcPGGJtlPo2xuQzY09OhrLTzRxqJqwGw==", "dev": true, "funding": [ { @@ -1264,13 +1058,13 @@ "node": "^14 || ^16 || >=18" }, "peerDependencies": { - "@csstools/css-tokenizer": "^2.2.1" + "@csstools/css-tokenizer": "^2.4.1" } }, "node_modules/@csstools/css-tokenizer": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-2.2.1.tgz", - "integrity": "sha512-Zmsf2f/CaEPWEVgw29odOj+WEVoiJy9s9NOv5GgNY9mZ1CZ7394By6wONrONrTsnNDv6F9hR02nvFihrGVGHBg==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-2.4.1.tgz", + "integrity": "sha512-eQ9DIktFJBhGjioABJRtUucoWR2mwllurfnM8LuNGAqX3ViZXaUchqk+1s7jjtkFiT9ySdACsFEA3etErkALUg==", "dev": true, "funding": [ { @@ -1287,9 +1081,9 @@ } }, "node_modules/@csstools/media-query-list-parser": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@csstools/media-query-list-parser/-/media-query-list-parser-2.1.5.tgz", - "integrity": "sha512-IxVBdYzR8pYe89JiyXQuYk4aVVoCPhMJkz6ElRwlVysjwURTsTk/bmY/z4FfeRE+CRBMlykPwXEVUg8lThv7AQ==", + "version": "2.1.13", + "resolved": "https://registry.npmjs.org/@csstools/media-query-list-parser/-/media-query-list-parser-2.1.13.tgz", + "integrity": "sha512-XaHr+16KRU9Gf8XLi3q8kDlI18d5vzKSKCY510Vrtc9iNR0NJzbY9hhTmwhzYZj/ZwGL4VmB3TA9hJW0Um2qFA==", "dev": true, "funding": [ { @@ -1305,14 +1099,14 @@ "node": "^14 || ^16 || >=18" }, "peerDependencies": { - "@csstools/css-parser-algorithms": "^2.3.2", - "@csstools/css-tokenizer": "^2.2.1" + "@csstools/css-parser-algorithms": "^2.7.1", + "@csstools/css-tokenizer": "^2.4.1" } }, "node_modules/@csstools/selector-specificity": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-3.0.0.tgz", - "integrity": "sha512-hBI9tfBtuPIi885ZsZ32IMEU/5nlZH/KOVYJCOh7gyMxaVLGmLedYqFN6Ui1LXkI8JlC8IsuC0rF0btcRZKd5g==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-3.1.1.tgz", + "integrity": "sha512-a7cxGcJ2wIlMFLlh8z2ONm+715QkPHiyJcxwQlKOz/03GPw1COpfhcmC9wm4xlZfp//jWHNNMwzjtqHXVWU9KA==", "dev": true, "funding": [ { @@ -1342,9 +1136,9 @@ } }, "node_modules/@emnapi/runtime": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.1.1.tgz", - "integrity": "sha512-3bfqkzuR1KLx57nZfjr2NLnFOobvyS0aTszaEGCGqmYMVDRaGvgIZbjGSV/MHSSmLgQ/b9JFHQ5xm5WRZYd+XQ==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.2.0.tgz", + "integrity": "sha512-bV21/9LQmcQeCPEg3BDFtvwL6cwiTMksYNWQQ4KOxCZikEGalWtenoZ0wCiukJINlGCIi2KXx01g4FoH/LxpzQ==", "optional": true, "dependencies": { "tslib": "^2.4.0" @@ -1365,9 +1159,9 @@ } }, "node_modules/@eslint-community/regexpp": { - "version": "4.10.0", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.0.tgz", - "integrity": "sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==", + "version": "4.11.0", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.11.0.tgz", + "integrity": "sha512-G/M/tIiMrTAxEWRfLfQJMmGNX28IxBg4PBz8XqQhqUHLFI6TL2htpIB1iQCj144V5ee/JaKyT9/WZ0MGZWfA7A==", "engines": { "node": "^12.0.0 || ^14.0.0 || >=16.0.0" } @@ -1415,9 +1209,9 @@ "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" }, "node_modules/@eslint/js": { - "version": "8.56.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.56.0.tgz", - "integrity": "sha512-gMsVel9D7f2HLkBma9VbtzZRehRogVRfbr++f06nL2vnCGCNlzOD+/MUov/F4p8myyAHspEhVobgjpX64q5m6A==", + "version": "8.57.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz", + "integrity": "sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==", "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } @@ -1502,12 +1296,13 @@ } }, "node_modules/@humanwhocodes/config-array": { - "version": "0.11.13", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.13.tgz", - "integrity": "sha512-JSBDMiDKSzQVngfRjOdFXgFfklaXI4K9nLF49Auh21lmBWRLIK3+xTErTWD4KU54pb6coM6ESE7Awz/FNU3zgQ==", + "version": "0.11.14", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz", + "integrity": "sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==", + "deprecated": "Use @eslint/config-array instead", "dependencies": { - "@humanwhocodes/object-schema": "^2.0.1", - "debug": "^4.1.1", + "@humanwhocodes/object-schema": "^2.0.2", + "debug": "^4.3.1", "minimatch": "^3.0.5" }, "engines": { @@ -1527,14 +1322,15 @@ } }, "node_modules/@humanwhocodes/object-schema": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.1.tgz", - "integrity": "sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw==" + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz", + "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", + "deprecated": "Use @eslint/object-schema instead" }, "node_modules/@img/sharp-darwin-arm64": { - "version": "0.33.3", - "resolved": "https://registry.npmjs.org/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.33.3.tgz", - "integrity": "sha512-FaNiGX1MrOuJ3hxuNzWgsT/mg5OHG/Izh59WW2mk1UwYHUwtfbhk5QNKYZgxf0pLOhx9ctGiGa2OykD71vOnSw==", + "version": "0.33.4", + "resolved": "https://registry.npmjs.org/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.33.4.tgz", + "integrity": "sha512-p0suNqXufJs9t3RqLBO6vvrgr5OhgbWp76s5gTRvdmxmuv9E1rcaqGUsl3l4mKVmXPkTkTErXediAui4x+8PSA==", "cpu": [ "arm64" ], @@ -1557,9 +1353,9 @@ } }, "node_modules/@img/sharp-darwin-x64": { - "version": "0.33.3", - "resolved": "https://registry.npmjs.org/@img/sharp-darwin-x64/-/sharp-darwin-x64-0.33.3.tgz", - "integrity": "sha512-2QeSl7QDK9ru//YBT4sQkoq7L0EAJZA3rtV+v9p8xTKl4U1bUqTIaCnoC7Ctx2kCjQgwFXDasOtPTCT8eCTXvw==", + "version": "0.33.4", + "resolved": "https://registry.npmjs.org/@img/sharp-darwin-x64/-/sharp-darwin-x64-0.33.4.tgz", + "integrity": "sha512-0l7yRObwtTi82Z6ebVI2PnHT8EB2NxBgpK2MiKJZJ7cz32R4lxd001ecMhzzsZig3Yv9oclvqqdV93jo9hy+Dw==", "cpu": [ "x64" ], @@ -1750,9 +1546,9 @@ } }, "node_modules/@img/sharp-linux-arm": { - "version": "0.33.3", - "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm/-/sharp-linux-arm-0.33.3.tgz", - "integrity": "sha512-Q7Ee3fFSC9P7vUSqVEF0zccJsZ8GiiCJYGWDdhEjdlOeS9/jdkyJ6sUSPj+bL8VuOYFSbofrW0t/86ceVhx32w==", + "version": "0.33.4", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm/-/sharp-linux-arm-0.33.4.tgz", + "integrity": "sha512-RUgBD1c0+gCYZGCCe6mMdTiOFS0Zc/XrN0fYd6hISIKcDUbAW5NtSQW9g/powkrXYm6Vzwd6y+fqmExDuCdHNQ==", "cpu": [ "arm" ], @@ -1775,9 +1571,9 @@ } }, "node_modules/@img/sharp-linux-arm64": { - "version": "0.33.3", - "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm64/-/sharp-linux-arm64-0.33.3.tgz", - "integrity": "sha512-Zf+sF1jHZJKA6Gor9hoYG2ljr4wo9cY4twaxgFDvlG0Xz9V7sinsPp8pFd1XtlhTzYo0IhDbl3rK7P6MzHpnYA==", + "version": "0.33.4", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm64/-/sharp-linux-arm64-0.33.4.tgz", + "integrity": "sha512-2800clwVg1ZQtxwSoTlHvtm9ObgAax7V6MTAB/hDT945Tfyy3hVkmiHpeLPCKYqYR1Gcmv1uDZ3a4OFwkdBL7Q==", "cpu": [ "arm64" ], @@ -1800,9 +1596,9 @@ } }, "node_modules/@img/sharp-linux-s390x": { - "version": "0.33.3", - "resolved": "https://registry.npmjs.org/@img/sharp-linux-s390x/-/sharp-linux-s390x-0.33.3.tgz", - "integrity": "sha512-vFk441DKRFepjhTEH20oBlFrHcLjPfI8B0pMIxGm3+yilKyYeHEVvrZhYFdqIseSclIqbQ3SnZMwEMWonY5XFA==", + "version": "0.33.4", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-s390x/-/sharp-linux-s390x-0.33.4.tgz", + "integrity": "sha512-h3RAL3siQoyzSoH36tUeS0PDmb5wINKGYzcLB5C6DIiAn2F3udeFAum+gj8IbA/82+8RGCTn7XW8WTFnqag4tQ==", "cpu": [ "s390x" ], @@ -1811,7 +1607,7 @@ "linux" ], "engines": { - "glibc": ">=2.28", + "glibc": ">=2.31", "node": "^18.17.0 || ^20.3.0 || >=21.0.0", "npm": ">=9.6.5", "pnpm": ">=7.1.0", @@ -1825,9 +1621,9 @@ } }, "node_modules/@img/sharp-linux-x64": { - "version": "0.33.3", - "resolved": "https://registry.npmjs.org/@img/sharp-linux-x64/-/sharp-linux-x64-0.33.3.tgz", - "integrity": "sha512-Q4I++herIJxJi+qmbySd072oDPRkCg/SClLEIDh5IL9h1zjhqjv82H0Seupd+q2m0yOfD+/fJnjSoDFtKiHu2g==", + "version": "0.33.4", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-x64/-/sharp-linux-x64-0.33.4.tgz", + "integrity": "sha512-GoR++s0XW9DGVi8SUGQ/U4AeIzLdNjHka6jidVwapQ/JebGVQIpi52OdyxCNVRE++n1FCLzjDovJNozif7w/Aw==", "cpu": [ "x64" ], @@ -1850,9 +1646,9 @@ } }, "node_modules/@img/sharp-linuxmusl-arm64": { - "version": "0.33.3", - "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-arm64/-/sharp-linuxmusl-arm64-0.33.3.tgz", - "integrity": "sha512-qnDccehRDXadhM9PM5hLvcPRYqyFCBN31kq+ErBSZtZlsAc1U4Z85xf/RXv1qolkdu+ibw64fUDaRdktxTNP9A==", + "version": "0.33.4", + "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-arm64/-/sharp-linuxmusl-arm64-0.33.4.tgz", + "integrity": "sha512-nhr1yC3BlVrKDTl6cO12gTpXMl4ITBUZieehFvMntlCXFzH2bvKG76tBL2Y/OqhupZt81pR7R+Q5YhJxW0rGgQ==", "cpu": [ "arm64" ], @@ -1875,9 +1671,9 @@ } }, "node_modules/@img/sharp-linuxmusl-x64": { - "version": "0.33.3", - "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-x64/-/sharp-linuxmusl-x64-0.33.3.tgz", - "integrity": "sha512-Jhchim8kHWIU/GZ+9poHMWRcefeaxFIs9EBqf9KtcC14Ojk6qua7ghKiPs0sbeLbLj/2IGBtDcxHyjCdYWkk2w==", + "version": "0.33.4", + "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-x64/-/sharp-linuxmusl-x64-0.33.4.tgz", + "integrity": "sha512-uCPTku0zwqDmZEOi4ILyGdmW76tH7dm8kKlOIV1XC5cLyJ71ENAAqarOHQh0RLfpIpbV5KOpXzdU6XkJtS0daw==", "cpu": [ "x64" ], @@ -1900,15 +1696,15 @@ } }, "node_modules/@img/sharp-wasm32": { - "version": "0.33.3", - "resolved": "https://registry.npmjs.org/@img/sharp-wasm32/-/sharp-wasm32-0.33.3.tgz", - "integrity": "sha512-68zivsdJ0koE96stdUfM+gmyaK/NcoSZK5dV5CAjES0FUXS9lchYt8LAB5rTbM7nlWtxaU/2GON0HVN6/ZYJAQ==", + "version": "0.33.4", + "resolved": "https://registry.npmjs.org/@img/sharp-wasm32/-/sharp-wasm32-0.33.4.tgz", + "integrity": "sha512-Bmmauh4sXUsUqkleQahpdNXKvo+wa1V9KhT2pDA4VJGKwnKMJXiSTGphn0gnJrlooda0QxCtXc6RX1XAU6hMnQ==", "cpu": [ "wasm32" ], "optional": true, "dependencies": { - "@emnapi/runtime": "^1.1.0" + "@emnapi/runtime": "^1.1.1" }, "engines": { "node": "^18.17.0 || ^20.3.0 || >=21.0.0", @@ -1921,9 +1717,9 @@ } }, "node_modules/@img/sharp-win32-ia32": { - "version": "0.33.3", - "resolved": "https://registry.npmjs.org/@img/sharp-win32-ia32/-/sharp-win32-ia32-0.33.3.tgz", - "integrity": "sha512-CyimAduT2whQD8ER4Ux7exKrtfoaUiVr7HG0zZvO0XTFn2idUWljjxv58GxNTkFb8/J9Ub9AqITGkJD6ZginxQ==", + "version": "0.33.4", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-ia32/-/sharp-win32-ia32-0.33.4.tgz", + "integrity": "sha512-99SJ91XzUhYHbx7uhK3+9Lf7+LjwMGQZMDlO/E/YVJ7Nc3lyDFZPGhjwiYdctoH2BOzW9+TnfqcaMKt0jHLdqw==", "cpu": [ "ia32" ], @@ -1942,9 +1738,9 @@ } }, "node_modules/@img/sharp-win32-x64": { - "version": "0.33.3", - "resolved": "https://registry.npmjs.org/@img/sharp-win32-x64/-/sharp-win32-x64-0.33.3.tgz", - "integrity": "sha512-viT4fUIDKnli3IfOephGnolMzhz5VaTvDRkYqtZxOMIoMQ4MrAziO7pT1nVnOt2FAm7qW5aa+CCc13aEY6Le0g==", + "version": "0.33.4", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-x64/-/sharp-win32-x64-0.33.4.tgz", + "integrity": "sha512-3QLocdTRVIrFNye5YocZl+KKpYKP+fksi1QhmOArgx7GyhIbQp/WrJRu176jm8IxromS7RIkzMiMINVdBtC8Aw==", "cpu": [ "x64" ], @@ -2001,9 +1797,9 @@ } }, "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.15", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", - "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", + "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==" }, "node_modules/@jridgewell/trace-mapping": { "version": "0.3.25", @@ -2267,569 +2063,515 @@ } }, "node_modules/@smithy/abort-controller": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@smithy/abort-controller/-/abort-controller-2.2.0.tgz", - "integrity": "sha512-wRlta7GuLWpTqtFfGo+nZyOO1vEvewdNR1R4rTxpC8XU6vG/NDyrFBhwLZsqg1NUoR1noVaXJPC/7ZK47QCySw==", - "dev": true, + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@smithy/abort-controller/-/abort-controller-3.1.1.tgz", + "integrity": "sha512-MBJBiidoe+0cTFhyxT8g+9g7CeVccLM0IOKKUMCNQ1CNMJ/eIfoo0RTfVrXOONEI1UCN1W+zkiHSbzUNE9dZtQ==", "dependencies": { - "@smithy/types": "^2.12.0", + "@smithy/types": "^3.3.0", "tslib": "^2.6.2" }, "engines": { - "node": ">=14.0.0" + "node": ">=16.0.0" } }, "node_modules/@smithy/chunked-blob-reader": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@smithy/chunked-blob-reader/-/chunked-blob-reader-2.2.0.tgz", - "integrity": "sha512-3GJNvRwXBGdkDZZOGiziVYzDpn4j6zfyULHMDKAGIUo72yHALpE9CbhfQp/XcLNVoc1byfMpn6uW5H2BqPjgaQ==", - "dev": true, + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/chunked-blob-reader/-/chunked-blob-reader-3.0.0.tgz", + "integrity": "sha512-sbnURCwjF0gSToGlsBiAmd1lRCmSn72nu9axfJu5lIx6RUEgHu6GwTMbqCdhQSi0Pumcm5vFxsi9XWXb2mTaoA==", "dependencies": { "tslib": "^2.6.2" } }, "node_modules/@smithy/chunked-blob-reader-native": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@smithy/chunked-blob-reader-native/-/chunked-blob-reader-native-2.2.0.tgz", - "integrity": "sha512-VNB5+1oCgX3Fzs072yuRsUoC2N4Zg/LJ11DTxX3+Qu+Paa6AmbIF0E9sc2wthz9Psrk/zcOlTCyuposlIhPjZQ==", - "dev": true, + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/chunked-blob-reader-native/-/chunked-blob-reader-native-3.0.0.tgz", + "integrity": "sha512-VDkpCYW+peSuM4zJip5WDfqvg2Mo/e8yxOv3VF1m11y7B8KKMKVFtmZWDe36Fvk8rGuWrPZHHXZ7rR7uM5yWyg==", "dependencies": { - "@smithy/util-base64": "^2.3.0", + "@smithy/util-base64": "^3.0.0", "tslib": "^2.6.2" } }, "node_modules/@smithy/config-resolver": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@smithy/config-resolver/-/config-resolver-2.2.0.tgz", - "integrity": "sha512-fsiMgd8toyUba6n1WRmr+qACzXltpdDkPTAaDqc8QqPBUzO+/JKwL6bUBseHVi8tu9l+3JOK+tSf7cay+4B3LA==", - "dev": true, + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@smithy/config-resolver/-/config-resolver-3.0.5.tgz", + "integrity": "sha512-SkW5LxfkSI1bUC74OtfBbdz+grQXYiPYolyu8VfpLIjEoN/sHVBlLeGXMQ1vX4ejkgfv6sxVbQJ32yF2cl1veA==", "dependencies": { - "@smithy/node-config-provider": "^2.3.0", - "@smithy/types": "^2.12.0", - "@smithy/util-config-provider": "^2.3.0", - "@smithy/util-middleware": "^2.2.0", + "@smithy/node-config-provider": "^3.1.4", + "@smithy/types": "^3.3.0", + "@smithy/util-config-provider": "^3.0.0", + "@smithy/util-middleware": "^3.0.3", "tslib": "^2.6.2" }, "engines": { - "node": ">=14.0.0" + "node": ">=16.0.0" } }, "node_modules/@smithy/core": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/@smithy/core/-/core-1.4.2.tgz", - "integrity": "sha512-2fek3I0KZHWJlRLvRTqxTEri+qV0GRHrJIoLFuBMZB4EMg4WgeBGfF0X6abnrNYpq55KJ6R4D6x4f0vLnhzinA==", - "dev": true, - "dependencies": { - "@smithy/middleware-endpoint": "^2.5.1", - "@smithy/middleware-retry": "^2.3.1", - "@smithy/middleware-serde": "^2.3.0", - "@smithy/protocol-http": "^3.3.0", - "@smithy/smithy-client": "^2.5.1", - "@smithy/types": "^2.12.0", - "@smithy/util-middleware": "^2.2.0", + "version": "2.2.8", + "resolved": "https://registry.npmjs.org/@smithy/core/-/core-2.2.8.tgz", + "integrity": "sha512-1Y0XX0Ucyg0LWTfTVLWpmvSRtFRniykUl3dQ0os1sTd03mKDudR6mVyX+2ak1phwPXx2aEWMAAdW52JNi0mc3A==", + "dependencies": { + "@smithy/middleware-endpoint": "^3.0.5", + "@smithy/middleware-retry": "^3.0.11", + "@smithy/middleware-serde": "^3.0.3", + "@smithy/protocol-http": "^4.0.4", + "@smithy/smithy-client": "^3.1.9", + "@smithy/types": "^3.3.0", + "@smithy/util-middleware": "^3.0.3", "tslib": "^2.6.2" }, "engines": { - "node": ">=14.0.0" + "node": ">=16.0.0" } }, "node_modules/@smithy/credential-provider-imds": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@smithy/credential-provider-imds/-/credential-provider-imds-2.3.0.tgz", - "integrity": "sha512-BWB9mIukO1wjEOo1Ojgl6LrG4avcaC7T/ZP6ptmAaW4xluhSIPZhY+/PI5YKzlk+jsm+4sQZB45Bt1OfMeQa3w==", - "dev": true, + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/@smithy/credential-provider-imds/-/credential-provider-imds-3.1.4.tgz", + "integrity": "sha512-NKyH01m97Xa5xf3pB2QOF3lnuE8RIK0hTVNU5zvZAwZU8uspYO4DHQVlK+Y5gwSrujTfHvbfd1D9UFJAc0iYKQ==", "dependencies": { - "@smithy/node-config-provider": "^2.3.0", - "@smithy/property-provider": "^2.2.0", - "@smithy/types": "^2.12.0", - "@smithy/url-parser": "^2.2.0", + "@smithy/node-config-provider": "^3.1.4", + "@smithy/property-provider": "^3.1.3", + "@smithy/types": "^3.3.0", + "@smithy/url-parser": "^3.0.3", "tslib": "^2.6.2" }, "engines": { - "node": ">=14.0.0" + "node": ">=16.0.0" } }, "node_modules/@smithy/eventstream-codec": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@smithy/eventstream-codec/-/eventstream-codec-2.2.0.tgz", - "integrity": "sha512-8janZoJw85nJmQZc4L8TuePp2pk1nxLgkxIR0TUjKJ5Dkj5oelB9WtiSSGXCQvNsJl0VSTvK/2ueMXxvpa9GVw==", - "dev": true, + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@smithy/eventstream-codec/-/eventstream-codec-3.1.2.tgz", + "integrity": "sha512-0mBcu49JWt4MXhrhRAlxASNy0IjDRFU+aWNDRal9OtUJvJNiwDuyKMUONSOjLjSCeGwZaE0wOErdqULer8r7yw==", "dependencies": { - "@aws-crypto/crc32": "3.0.0", - "@smithy/types": "^2.12.0", - "@smithy/util-hex-encoding": "^2.2.0", + "@aws-crypto/crc32": "5.2.0", + "@smithy/types": "^3.3.0", + "@smithy/util-hex-encoding": "^3.0.0", "tslib": "^2.6.2" } }, "node_modules/@smithy/eventstream-serde-browser": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-browser/-/eventstream-serde-browser-2.2.0.tgz", - "integrity": "sha512-UaPf8jKbcP71BGiO0CdeLmlg+RhWnlN8ipsMSdwvqBFigl5nil3rHOI/5GE3tfiuX8LvY5Z9N0meuU7Rab7jWw==", - "dev": true, + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-browser/-/eventstream-serde-browser-3.0.5.tgz", + "integrity": "sha512-dEyiUYL/ekDfk+2Ra4GxV+xNnFoCmk1nuIXg+fMChFTrM2uI/1r9AdiTYzPqgb72yIv/NtAj6C3dG//1wwgakQ==", "dependencies": { - "@smithy/eventstream-serde-universal": "^2.2.0", - "@smithy/types": "^2.12.0", + "@smithy/eventstream-serde-universal": "^3.0.4", + "@smithy/types": "^3.3.0", "tslib": "^2.6.2" }, "engines": { - "node": ">=14.0.0" + "node": ">=16.0.0" } }, "node_modules/@smithy/eventstream-serde-config-resolver": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-config-resolver/-/eventstream-serde-config-resolver-2.2.0.tgz", - "integrity": "sha512-RHhbTw/JW3+r8QQH7PrganjNCiuiEZmpi6fYUAetFfPLfZ6EkiA08uN3EFfcyKubXQxOwTeJRZSQmDDCdUshaA==", - "dev": true, + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-config-resolver/-/eventstream-serde-config-resolver-3.0.3.tgz", + "integrity": "sha512-NVTYjOuYpGfrN/VbRQgn31x73KDLfCXCsFdad8DiIc3IcdxL+dYA9zEQPyOP7Fy2QL8CPy2WE4WCUD+ZsLNfaQ==", "dependencies": { - "@smithy/types": "^2.12.0", + "@smithy/types": "^3.3.0", "tslib": "^2.6.2" }, "engines": { - "node": ">=14.0.0" + "node": ">=16.0.0" } }, "node_modules/@smithy/eventstream-serde-node": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-node/-/eventstream-serde-node-2.2.0.tgz", - "integrity": "sha512-zpQMtJVqCUMn+pCSFcl9K/RPNtQE0NuMh8sKpCdEHafhwRsjP50Oq/4kMmvxSRy6d8Jslqd8BLvDngrUtmN9iA==", - "dev": true, + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-node/-/eventstream-serde-node-3.0.4.tgz", + "integrity": "sha512-mjlG0OzGAYuUpdUpflfb9zyLrBGgmQmrobNT8b42ZTsGv/J03+t24uhhtVEKG/b2jFtPIHF74Bq+VUtbzEKOKg==", "dependencies": { - "@smithy/eventstream-serde-universal": "^2.2.0", - "@smithy/types": "^2.12.0", + "@smithy/eventstream-serde-universal": "^3.0.4", + "@smithy/types": "^3.3.0", "tslib": "^2.6.2" }, "engines": { - "node": ">=14.0.0" + "node": ">=16.0.0" } }, "node_modules/@smithy/eventstream-serde-universal": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-universal/-/eventstream-serde-universal-2.2.0.tgz", - "integrity": "sha512-pvoe/vvJY0mOpuF84BEtyZoYfbehiFj8KKWk1ds2AT0mTLYFVs+7sBJZmioOFdBXKd48lfrx1vumdPdmGlCLxA==", - "dev": true, + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-universal/-/eventstream-serde-universal-3.0.4.tgz", + "integrity": "sha512-Od9dv8zh3PgOD7Vj4T3HSuox16n0VG8jJIM2gvKASL6aCtcS8CfHZDWe1Ik3ZXW6xBouU+45Q5wgoliWDZiJ0A==", "dependencies": { - "@smithy/eventstream-codec": "^2.2.0", - "@smithy/types": "^2.12.0", + "@smithy/eventstream-codec": "^3.1.2", + "@smithy/types": "^3.3.0", "tslib": "^2.6.2" }, "engines": { - "node": ">=14.0.0" + "node": ">=16.0.0" } }, "node_modules/@smithy/fetch-http-handler": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/@smithy/fetch-http-handler/-/fetch-http-handler-2.5.0.tgz", - "integrity": "sha512-BOWEBeppWhLn/no/JxUL/ghTfANTjT7kg3Ww2rPqTUY9R4yHPXxJ9JhMe3Z03LN3aPwiwlpDIUcVw1xDyHqEhw==", - "dev": true, - "dependencies": { - "@smithy/protocol-http": "^3.3.0", - "@smithy/querystring-builder": "^2.2.0", - "@smithy/types": "^2.12.0", - "@smithy/util-base64": "^2.3.0", + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/@smithy/fetch-http-handler/-/fetch-http-handler-3.2.2.tgz", + "integrity": "sha512-3LaWlBZObyGrOOd7e5MlacnAKEwFBmAeiW/TOj2eR9475Vnq30uS2510+tnKbxrGjROfNdOhQqGo5j3sqLT6bA==", + "dependencies": { + "@smithy/protocol-http": "^4.0.4", + "@smithy/querystring-builder": "^3.0.3", + "@smithy/types": "^3.3.0", + "@smithy/util-base64": "^3.0.0", "tslib": "^2.6.2" } }, "node_modules/@smithy/hash-blob-browser": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@smithy/hash-blob-browser/-/hash-blob-browser-2.2.0.tgz", - "integrity": "sha512-SGPoVH8mdXBqrkVCJ1Hd1X7vh1zDXojNN1yZyZTZsCno99hVue9+IYzWDjq/EQDDXxmITB0gBmuyPh8oAZSTcg==", - "dev": true, + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@smithy/hash-blob-browser/-/hash-blob-browser-3.1.2.tgz", + "integrity": "sha512-hAbfqN2UbISltakCC2TP0kx4LqXBttEv2MqSPE98gVuDFMf05lU+TpC41QtqGP3Ff5A3GwZMPfKnEy0VmEUpmg==", "dependencies": { - "@smithy/chunked-blob-reader": "^2.2.0", - "@smithy/chunked-blob-reader-native": "^2.2.0", - "@smithy/types": "^2.12.0", + "@smithy/chunked-blob-reader": "^3.0.0", + "@smithy/chunked-blob-reader-native": "^3.0.0", + "@smithy/types": "^3.3.0", "tslib": "^2.6.2" } }, "node_modules/@smithy/hash-node": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@smithy/hash-node/-/hash-node-2.2.0.tgz", - "integrity": "sha512-zLWaC/5aWpMrHKpoDF6nqpNtBhlAYKF/7+9yMN7GpdR8CzohnWfGtMznPybnwSS8saaXBMxIGwJqR4HmRp6b3g==", - "dev": true, + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@smithy/hash-node/-/hash-node-3.0.3.tgz", + "integrity": "sha512-2ctBXpPMG+B3BtWSGNnKELJ7SH9e4TNefJS0cd2eSkOOROeBnnVBnAy9LtJ8tY4vUEoe55N4CNPxzbWvR39iBw==", "dependencies": { - "@smithy/types": "^2.12.0", - "@smithy/util-buffer-from": "^2.2.0", - "@smithy/util-utf8": "^2.3.0", + "@smithy/types": "^3.3.0", + "@smithy/util-buffer-from": "^3.0.0", + "@smithy/util-utf8": "^3.0.0", "tslib": "^2.6.2" }, "engines": { - "node": ">=14.0.0" + "node": ">=16.0.0" } }, "node_modules/@smithy/hash-stream-node": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@smithy/hash-stream-node/-/hash-stream-node-2.2.0.tgz", - "integrity": "sha512-aT+HCATOSRMGpPI7bi7NSsTNVZE/La9IaxLXWoVAYMxHT5hGO3ZOGEMZQg8A6nNL+pdFGtZQtND1eoY084HgHQ==", - "dev": true, + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@smithy/hash-stream-node/-/hash-stream-node-3.1.2.tgz", + "integrity": "sha512-PBgDMeEdDzi6JxKwbfBtwQG9eT9cVwsf0dZzLXoJF4sHKHs5HEo/3lJWpn6jibfJwT34I1EBXpBnZE8AxAft6g==", "dependencies": { - "@smithy/types": "^2.12.0", - "@smithy/util-utf8": "^2.3.0", + "@smithy/types": "^3.3.0", + "@smithy/util-utf8": "^3.0.0", "tslib": "^2.6.2" }, "engines": { - "node": ">=14.0.0" + "node": ">=16.0.0" } }, "node_modules/@smithy/invalid-dependency": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@smithy/invalid-dependency/-/invalid-dependency-2.2.0.tgz", - "integrity": "sha512-nEDASdbKFKPXN2O6lOlTgrEEOO9NHIeO+HVvZnkqc8h5U9g3BIhWsvzFo+UcUbliMHvKNPD/zVxDrkP1Sbgp8Q==", - "dev": true, + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@smithy/invalid-dependency/-/invalid-dependency-3.0.3.tgz", + "integrity": "sha512-ID1eL/zpDULmHJbflb864k72/SNOZCADRc9i7Exq3RUNJw6raWUSlFEQ+3PX3EYs++bTxZB2dE9mEHTQLv61tw==", "dependencies": { - "@smithy/types": "^2.12.0", + "@smithy/types": "^3.3.0", "tslib": "^2.6.2" } }, "node_modules/@smithy/is-array-buffer": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-2.2.0.tgz", - "integrity": "sha512-GGP3O9QFD24uGeAXYUjwSTXARoqpZykHadOmA8G5vfJPK0/DC67qa//0qvqrJzL1xc8WQWX7/yc7fwudjPHPhA==", - "dev": true, + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-3.0.0.tgz", + "integrity": "sha512-+Fsu6Q6C4RSJiy81Y8eApjEB5gVtM+oFKTffg+jSuwtvomJJrhUJBu2zS8wjXSgH/g1MKEWrzyChTBe6clb5FQ==", "dependencies": { "tslib": "^2.6.2" }, "engines": { - "node": ">=14.0.0" + "node": ">=16.0.0" } }, "node_modules/@smithy/md5-js": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@smithy/md5-js/-/md5-js-2.2.0.tgz", - "integrity": "sha512-M26XTtt9IIusVMOWEAhIvFIr9jYj4ISPPGJROqw6vXngO3IYJCnVVSMFn4Tx1rUTG5BiKJNg9u2nxmBiZC5IlQ==", - "dev": true, + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@smithy/md5-js/-/md5-js-3.0.3.tgz", + "integrity": "sha512-O/SAkGVwpWmelpj/8yDtsaVe6sINHLB1q8YE/+ZQbDxIw3SRLbTZuRaI10K12sVoENdnHqzPp5i3/H+BcZ3m3Q==", "dependencies": { - "@smithy/types": "^2.12.0", - "@smithy/util-utf8": "^2.3.0", + "@smithy/types": "^3.3.0", + "@smithy/util-utf8": "^3.0.0", "tslib": "^2.6.2" } }, "node_modules/@smithy/middleware-content-length": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@smithy/middleware-content-length/-/middleware-content-length-2.2.0.tgz", - "integrity": "sha512-5bl2LG1Ah/7E5cMSC+q+h3IpVHMeOkG0yLRyQT1p2aMJkSrZG7RlXHPuAgb7EyaFeidKEnnd/fNaLLaKlHGzDQ==", - "dev": true, + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@smithy/middleware-content-length/-/middleware-content-length-3.0.4.tgz", + "integrity": "sha512-wySGje/KfhsnF8YSh9hP16pZcl3C+X6zRsvSfItQGvCyte92LliilU3SD0nR7kTlxnAJwxY8vE/k4Eoezj847Q==", "dependencies": { - "@smithy/protocol-http": "^3.3.0", - "@smithy/types": "^2.12.0", + "@smithy/protocol-http": "^4.0.4", + "@smithy/types": "^3.3.0", "tslib": "^2.6.2" }, "engines": { - "node": ">=14.0.0" + "node": ">=16.0.0" } }, "node_modules/@smithy/middleware-endpoint": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@smithy/middleware-endpoint/-/middleware-endpoint-2.5.1.tgz", - "integrity": "sha512-1/8kFp6Fl4OsSIVTWHnNjLnTL8IqpIb/D3sTSczrKFnrE9VMNWxnrRKNvpUHOJ6zpGD5f62TPm7+17ilTJpiCQ==", - "dev": true, - "dependencies": { - "@smithy/middleware-serde": "^2.3.0", - "@smithy/node-config-provider": "^2.3.0", - "@smithy/shared-ini-file-loader": "^2.4.0", - "@smithy/types": "^2.12.0", - "@smithy/url-parser": "^2.2.0", - "@smithy/util-middleware": "^2.2.0", + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@smithy/middleware-endpoint/-/middleware-endpoint-3.0.5.tgz", + "integrity": "sha512-V4acqqrh5tDxUEGVTOgf2lYMZqPQsoGntCrjrJZEeBzEzDry2d2vcI1QCXhGltXPPY+BMc6eksZMguA9fIY8vA==", + "dependencies": { + "@smithy/middleware-serde": "^3.0.3", + "@smithy/node-config-provider": "^3.1.4", + "@smithy/shared-ini-file-loader": "^3.1.4", + "@smithy/types": "^3.3.0", + "@smithy/url-parser": "^3.0.3", + "@smithy/util-middleware": "^3.0.3", "tslib": "^2.6.2" }, "engines": { - "node": ">=14.0.0" + "node": ">=16.0.0" } }, "node_modules/@smithy/middleware-retry": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/@smithy/middleware-retry/-/middleware-retry-2.3.1.tgz", - "integrity": "sha512-P2bGufFpFdYcWvqpyqqmalRtwFUNUA8vHjJR5iGqbfR6mp65qKOLcUd6lTr4S9Gn/enynSrSf3p3FVgVAf6bXA==", - "dev": true, - "dependencies": { - "@smithy/node-config-provider": "^2.3.0", - "@smithy/protocol-http": "^3.3.0", - "@smithy/service-error-classification": "^2.1.5", - "@smithy/smithy-client": "^2.5.1", - "@smithy/types": "^2.12.0", - "@smithy/util-middleware": "^2.2.0", - "@smithy/util-retry": "^2.2.0", + "version": "3.0.11", + "resolved": "https://registry.npmjs.org/@smithy/middleware-retry/-/middleware-retry-3.0.11.tgz", + "integrity": "sha512-/TIRWmhwMpv99JCGuMhJPnH7ggk/Lah7s/uNDyr7faF02BxNsyD/fz9Tw7pgCf9tYOKgjimm2Qml1Aq1pbkt6g==", + "dependencies": { + "@smithy/node-config-provider": "^3.1.4", + "@smithy/protocol-http": "^4.0.4", + "@smithy/service-error-classification": "^3.0.3", + "@smithy/smithy-client": "^3.1.9", + "@smithy/types": "^3.3.0", + "@smithy/util-middleware": "^3.0.3", + "@smithy/util-retry": "^3.0.3", "tslib": "^2.6.2", "uuid": "^9.0.1" }, "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@smithy/middleware-retry/node_modules/uuid": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", - "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==", - "dev": true, - "funding": [ - "https://github.com/sponsors/broofa", - "https://github.com/sponsors/ctavan" - ], - "bin": { - "uuid": "dist/bin/uuid" + "node": ">=16.0.0" } }, "node_modules/@smithy/middleware-serde": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@smithy/middleware-serde/-/middleware-serde-2.3.0.tgz", - "integrity": "sha512-sIADe7ojwqTyvEQBe1nc/GXB9wdHhi9UwyX0lTyttmUWDJLP655ZYE1WngnNyXREme8I27KCaUhyhZWRXL0q7Q==", - "dev": true, + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@smithy/middleware-serde/-/middleware-serde-3.0.3.tgz", + "integrity": "sha512-puUbyJQBcg9eSErFXjKNiGILJGtiqmuuNKEYNYfUD57fUl4i9+mfmThtQhvFXU0hCVG0iEJhvQUipUf+/SsFdA==", "dependencies": { - "@smithy/types": "^2.12.0", + "@smithy/types": "^3.3.0", "tslib": "^2.6.2" }, "engines": { - "node": ">=14.0.0" + "node": ">=16.0.0" } }, "node_modules/@smithy/middleware-stack": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@smithy/middleware-stack/-/middleware-stack-2.2.0.tgz", - "integrity": "sha512-Qntc3jrtwwrsAC+X8wms8zhrTr0sFXnyEGhZd9sLtsJ/6gGQKFzNB+wWbOcpJd7BR8ThNCoKt76BuQahfMvpeA==", - "dev": true, + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@smithy/middleware-stack/-/middleware-stack-3.0.3.tgz", + "integrity": "sha512-r4klY9nFudB0r9UdSMaGSyjyQK5adUyPnQN/ZM6M75phTxOdnc/AhpvGD1fQUvgmqjQEBGCwpnPbDm8pH5PapA==", "dependencies": { - "@smithy/types": "^2.12.0", + "@smithy/types": "^3.3.0", "tslib": "^2.6.2" }, "engines": { - "node": ">=14.0.0" + "node": ">=16.0.0" } }, "node_modules/@smithy/node-config-provider": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@smithy/node-config-provider/-/node-config-provider-2.3.0.tgz", - "integrity": "sha512-0elK5/03a1JPWMDPaS726Iw6LpQg80gFut1tNpPfxFuChEEklo2yL823V94SpTZTxmKlXFtFgsP55uh3dErnIg==", - "dev": true, + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/@smithy/node-config-provider/-/node-config-provider-3.1.4.tgz", + "integrity": "sha512-YvnElQy8HR4vDcAjoy7Xkx9YT8xZP4cBXcbJSgm/kxmiQu08DwUwj8rkGnyoJTpfl/3xYHH+d8zE+eHqoDCSdQ==", "dependencies": { - "@smithy/property-provider": "^2.2.0", - "@smithy/shared-ini-file-loader": "^2.4.0", - "@smithy/types": "^2.12.0", + "@smithy/property-provider": "^3.1.3", + "@smithy/shared-ini-file-loader": "^3.1.4", + "@smithy/types": "^3.3.0", "tslib": "^2.6.2" }, "engines": { - "node": ">=14.0.0" + "node": ">=16.0.0" } }, "node_modules/@smithy/node-http-handler": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/@smithy/node-http-handler/-/node-http-handler-2.5.0.tgz", - "integrity": "sha512-mVGyPBzkkGQsPoxQUbxlEfRjrj6FPyA3u3u2VXGr9hT8wilsoQdZdvKpMBFMB8Crfhv5dNkKHIW0Yyuc7eABqA==", - "dev": true, + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/@smithy/node-http-handler/-/node-http-handler-3.1.3.tgz", + "integrity": "sha512-UiKZm8KHb/JeOPzHZtRUfyaRDO1KPKPpsd7iplhiwVGOeVdkiVJ5bVe7+NhWREMOKomrDIDdSZyglvMothLg0Q==", "dependencies": { - "@smithy/abort-controller": "^2.2.0", - "@smithy/protocol-http": "^3.3.0", - "@smithy/querystring-builder": "^2.2.0", - "@smithy/types": "^2.12.0", + "@smithy/abort-controller": "^3.1.1", + "@smithy/protocol-http": "^4.0.4", + "@smithy/querystring-builder": "^3.0.3", + "@smithy/types": "^3.3.0", "tslib": "^2.6.2" }, "engines": { - "node": ">=14.0.0" + "node": ">=16.0.0" } }, "node_modules/@smithy/property-provider": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@smithy/property-provider/-/property-provider-2.2.0.tgz", - "integrity": "sha512-+xiil2lFhtTRzXkx8F053AV46QnIw6e7MV8od5Mi68E1ICOjCeCHw2XfLnDEUHnT9WGUIkwcqavXjfwuJbGlpg==", - "dev": true, + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/@smithy/property-provider/-/property-provider-3.1.3.tgz", + "integrity": "sha512-zahyOVR9Q4PEoguJ/NrFP4O7SMAfYO1HLhB18M+q+Z4KFd4V2obiMnlVoUFzFLSPeVt1POyNWneHHrZaTMoc/g==", "dependencies": { - "@smithy/types": "^2.12.0", + "@smithy/types": "^3.3.0", "tslib": "^2.6.2" }, "engines": { - "node": ">=14.0.0" + "node": ">=16.0.0" } }, "node_modules/@smithy/protocol-http": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/@smithy/protocol-http/-/protocol-http-3.3.0.tgz", - "integrity": "sha512-Xy5XK1AFWW2nlY/biWZXu6/krgbaf2dg0q492D8M5qthsnU2H+UgFeZLbM76FnH7s6RO/xhQRkj+T6KBO3JzgQ==", - "dev": true, + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@smithy/protocol-http/-/protocol-http-4.0.4.tgz", + "integrity": "sha512-fAA2O4EFyNRyYdFLVIv5xMMeRb+3fRKc/Rt2flh5k831vLvUmNFXcydeg7V3UeEhGURJI4c1asmGJBjvmF6j8Q==", "dependencies": { - "@smithy/types": "^2.12.0", + "@smithy/types": "^3.3.0", "tslib": "^2.6.2" }, "engines": { - "node": ">=14.0.0" + "node": ">=16.0.0" } }, "node_modules/@smithy/querystring-builder": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@smithy/querystring-builder/-/querystring-builder-2.2.0.tgz", - "integrity": "sha512-L1kSeviUWL+emq3CUVSgdogoM/D9QMFaqxL/dd0X7PCNWmPXqt+ExtrBjqT0V7HLN03Vs9SuiLrG3zy3JGnE5A==", - "dev": true, + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@smithy/querystring-builder/-/querystring-builder-3.0.3.tgz", + "integrity": "sha512-vyWckeUeesFKzCDaRwWLUA1Xym9McaA6XpFfAK5qI9DKJ4M33ooQGqvM4J+LalH4u/Dq9nFiC8U6Qn1qi0+9zw==", "dependencies": { - "@smithy/types": "^2.12.0", - "@smithy/util-uri-escape": "^2.2.0", + "@smithy/types": "^3.3.0", + "@smithy/util-uri-escape": "^3.0.0", "tslib": "^2.6.2" }, "engines": { - "node": ">=14.0.0" + "node": ">=16.0.0" } }, "node_modules/@smithy/querystring-parser": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@smithy/querystring-parser/-/querystring-parser-2.2.0.tgz", - "integrity": "sha512-BvHCDrKfbG5Yhbpj4vsbuPV2GgcpHiAkLeIlcA1LtfpMz3jrqizP1+OguSNSj1MwBHEiN+jwNisXLGdajGDQJA==", - "dev": true, + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@smithy/querystring-parser/-/querystring-parser-3.0.3.tgz", + "integrity": "sha512-zahM1lQv2YjmznnfQsWbYojFe55l0SLG/988brlLv1i8z3dubloLF+75ATRsqPBboUXsW6I9CPGE5rQgLfY0vQ==", "dependencies": { - "@smithy/types": "^2.12.0", + "@smithy/types": "^3.3.0", "tslib": "^2.6.2" }, "engines": { - "node": ">=14.0.0" + "node": ">=16.0.0" } }, "node_modules/@smithy/service-error-classification": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@smithy/service-error-classification/-/service-error-classification-2.1.5.tgz", - "integrity": "sha512-uBDTIBBEdAQryvHdc5W8sS5YX7RQzF683XrHePVdFmAgKiMofU15FLSM0/HU03hKTnazdNRFa0YHS7+ArwoUSQ==", - "dev": true, + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@smithy/service-error-classification/-/service-error-classification-3.0.3.tgz", + "integrity": "sha512-Jn39sSl8cim/VlkLsUhRFq/dKDnRUFlfRkvhOJaUbLBXUsLRLNf9WaxDv/z9BjuQ3A6k/qE8af1lsqcwm7+DaQ==", "dependencies": { - "@smithy/types": "^2.12.0" + "@smithy/types": "^3.3.0" }, "engines": { - "node": ">=14.0.0" + "node": ">=16.0.0" } }, "node_modules/@smithy/shared-ini-file-loader": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-2.4.0.tgz", - "integrity": "sha512-WyujUJL8e1B6Z4PBfAqC/aGY1+C7T0w20Gih3yrvJSk97gpiVfB+y7c46T4Nunk+ZngLq0rOIdeVeIklk0R3OA==", - "dev": true, + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-3.1.4.tgz", + "integrity": "sha512-qMxS4hBGB8FY2GQqshcRUy1K6k8aBWP5vwm8qKkCT3A9K2dawUwOIJfqh9Yste/Bl0J2lzosVyrXDj68kLcHXQ==", "dependencies": { - "@smithy/types": "^2.12.0", + "@smithy/types": "^3.3.0", "tslib": "^2.6.2" }, "engines": { - "node": ">=14.0.0" + "node": ">=16.0.0" } }, "node_modules/@smithy/signature-v4": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@smithy/signature-v4/-/signature-v4-2.3.0.tgz", - "integrity": "sha512-ui/NlpILU+6HAQBfJX8BBsDXuKSNrjTSuOYArRblcrErwKFutjrCNb/OExfVRyj9+26F9J+ZmfWT+fKWuDrH3Q==", - "dev": true, - "dependencies": { - "@smithy/is-array-buffer": "^2.2.0", - "@smithy/types": "^2.12.0", - "@smithy/util-hex-encoding": "^2.2.0", - "@smithy/util-middleware": "^2.2.0", - "@smithy/util-uri-escape": "^2.2.0", - "@smithy/util-utf8": "^2.3.0", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@smithy/signature-v4/-/signature-v4-4.0.0.tgz", + "integrity": "sha512-ervYjQ+ZvmNG51Ui77IOTPri7nOyo8Kembzt9uwwlmtXJPmFXvslOahbA1blvAVs7G0KlYMiOBog1rAt7RVXxg==", + "dependencies": { + "@smithy/is-array-buffer": "^3.0.0", + "@smithy/types": "^3.3.0", + "@smithy/util-hex-encoding": "^3.0.0", + "@smithy/util-middleware": "^3.0.3", + "@smithy/util-uri-escape": "^3.0.0", + "@smithy/util-utf8": "^3.0.0", "tslib": "^2.6.2" }, "engines": { - "node": ">=14.0.0" + "node": ">=16.0.0" } }, "node_modules/@smithy/smithy-client": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@smithy/smithy-client/-/smithy-client-2.5.1.tgz", - "integrity": "sha512-jrbSQrYCho0yDaaf92qWgd+7nAeap5LtHTI51KXqmpIFCceKU3K9+vIVTUH72bOJngBMqa4kyu1VJhRcSrk/CQ==", - "dev": true, - "dependencies": { - "@smithy/middleware-endpoint": "^2.5.1", - "@smithy/middleware-stack": "^2.2.0", - "@smithy/protocol-http": "^3.3.0", - "@smithy/types": "^2.12.0", - "@smithy/util-stream": "^2.2.0", + "version": "3.1.9", + "resolved": "https://registry.npmjs.org/@smithy/smithy-client/-/smithy-client-3.1.9.tgz", + "integrity": "sha512-My2RaInZ4gSwJUPMaiLR/Nk82+c4LlvqpXA+n7lonGYgCZq23Tg+/xFhgmiejJ6XPElYJysTPyV90vKyp17+1g==", + "dependencies": { + "@smithy/middleware-endpoint": "^3.0.5", + "@smithy/middleware-stack": "^3.0.3", + "@smithy/protocol-http": "^4.0.4", + "@smithy/types": "^3.3.0", + "@smithy/util-stream": "^3.1.1", "tslib": "^2.6.2" }, "engines": { - "node": ">=14.0.0" + "node": ">=16.0.0" } }, "node_modules/@smithy/types": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/@smithy/types/-/types-2.12.0.tgz", - "integrity": "sha512-QwYgloJ0sVNBeBuBs65cIkTbfzV/Q6ZNPCJ99EICFEdJYG50nGIY/uYXp+TbsdJReIuPr0a0kXmCvren3MbRRw==", - "dev": true, + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", + "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", "dependencies": { "tslib": "^2.6.2" }, "engines": { - "node": ">=14.0.0" + "node": ">=16.0.0" } }, "node_modules/@smithy/url-parser": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@smithy/url-parser/-/url-parser-2.2.0.tgz", - "integrity": "sha512-hoA4zm61q1mNTpksiSWp2nEl1dt3j726HdRhiNgVJQMj7mLp7dprtF57mOB6JvEk/x9d2bsuL5hlqZbBuHQylQ==", - "dev": true, + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@smithy/url-parser/-/url-parser-3.0.3.tgz", + "integrity": "sha512-pw3VtZtX2rg+s6HMs6/+u9+hu6oY6U7IohGhVNnjbgKy86wcIsSZwgHrFR+t67Uyxvp4Xz3p3kGXXIpTNisq8A==", "dependencies": { - "@smithy/querystring-parser": "^2.2.0", - "@smithy/types": "^2.12.0", + "@smithy/querystring-parser": "^3.0.3", + "@smithy/types": "^3.3.0", "tslib": "^2.6.2" } }, "node_modules/@smithy/util-base64": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@smithy/util-base64/-/util-base64-2.3.0.tgz", - "integrity": "sha512-s3+eVwNeJuXUwuMbusncZNViuhv2LjVJ1nMwTqSA0XAC7gjKhqqxRdJPhR8+YrkoZ9IiIbFk/yK6ACe/xlF+hw==", - "dev": true, + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-base64/-/util-base64-3.0.0.tgz", + "integrity": "sha512-Kxvoh5Qtt0CDsfajiZOCpJxgtPHXOKwmM+Zy4waD43UoEMA+qPxxa98aE/7ZhdnBFZFXMOiBR5xbcaMhLtznQQ==", "dependencies": { - "@smithy/util-buffer-from": "^2.2.0", - "@smithy/util-utf8": "^2.3.0", + "@smithy/util-buffer-from": "^3.0.0", + "@smithy/util-utf8": "^3.0.0", "tslib": "^2.6.2" }, "engines": { - "node": ">=14.0.0" + "node": ">=16.0.0" } }, "node_modules/@smithy/util-body-length-browser": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@smithy/util-body-length-browser/-/util-body-length-browser-2.2.0.tgz", - "integrity": "sha512-dtpw9uQP7W+n3vOtx0CfBD5EWd7EPdIdsQnWTDoFf77e3VUf05uA7R7TGipIo8e4WL2kuPdnsr3hMQn9ziYj5w==", - "dev": true, + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-body-length-browser/-/util-body-length-browser-3.0.0.tgz", + "integrity": "sha512-cbjJs2A1mLYmqmyVl80uoLTJhAcfzMOyPgjwAYusWKMdLeNtzmMz9YxNl3/jRLoxSS3wkqkf0jwNdtXWtyEBaQ==", "dependencies": { "tslib": "^2.6.2" } }, "node_modules/@smithy/util-body-length-node": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@smithy/util-body-length-node/-/util-body-length-node-2.3.0.tgz", - "integrity": "sha512-ITWT1Wqjubf2CJthb0BuT9+bpzBfXeMokH/AAa5EJQgbv9aPMVfnM76iFIZVFf50hYXGbtiV71BHAthNWd6+dw==", - "dev": true, + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-body-length-node/-/util-body-length-node-3.0.0.tgz", + "integrity": "sha512-Tj7pZ4bUloNUP6PzwhN7K386tmSmEET9QtQg0TgdNOnxhZvCssHji+oZTUIuzxECRfG8rdm2PMw2WCFs6eIYkA==", "dependencies": { "tslib": "^2.6.2" }, "engines": { - "node": ">=14.0.0" + "node": ">=16.0.0" } }, "node_modules/@smithy/util-buffer-from": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-2.2.0.tgz", - "integrity": "sha512-IJdWBbTcMQ6DA0gdNhh/BwrLkDR+ADW5Kr1aZmd4k3DIF6ezMV4R2NIAmT08wQJ3yUK82thHWmC/TnK/wpMMIA==", - "dev": true, + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-3.0.0.tgz", + "integrity": "sha512-aEOHCgq5RWFbP+UDPvPot26EJHjOC+bRgse5A8V3FSShqd5E5UN4qc7zkwsvJPPAVsf73QwYcHN1/gt/rtLwQA==", "dependencies": { - "@smithy/is-array-buffer": "^2.2.0", + "@smithy/is-array-buffer": "^3.0.0", "tslib": "^2.6.2" }, "engines": { - "node": ">=14.0.0" + "node": ">=16.0.0" } }, "node_modules/@smithy/util-config-provider": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@smithy/util-config-provider/-/util-config-provider-2.3.0.tgz", - "integrity": "sha512-HZkzrRcuFN1k70RLqlNK4FnPXKOpkik1+4JaBoHNJn+RnJGYqaa3c5/+XtLOXhlKzlRgNvyaLieHTW2VwGN0VQ==", - "dev": true, + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-config-provider/-/util-config-provider-3.0.0.tgz", + "integrity": "sha512-pbjk4s0fwq3Di/ANL+rCvJMKM5bzAQdE5S/6RL5NXgMExFAi6UgQMPOm5yPaIWPpr+EOXKXRonJ3FoxKf4mCJQ==", "dependencies": { "tslib": "^2.6.2" }, "engines": { - "node": ">=14.0.0" + "node": ">=16.0.0" } }, "node_modules/@smithy/util-defaults-mode-browser": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-2.2.1.tgz", - "integrity": "sha512-RtKW+8j8skk17SYowucwRUjeh4mCtnm5odCL0Lm2NtHQBsYKrNW0od9Rhopu9wF1gHMfHeWF7i90NwBz/U22Kw==", - "dev": true, + "version": "3.0.11", + "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-3.0.11.tgz", + "integrity": "sha512-O3s9DGb3bmRvEKmT8RwvSWK4A9r6svfd+MnJB+UMi9ZcCkAnoRtliulOnGF0qCMkKF9mwk2tkopBBstalPY/vg==", "dependencies": { - "@smithy/property-provider": "^2.2.0", - "@smithy/smithy-client": "^2.5.1", - "@smithy/types": "^2.12.0", + "@smithy/property-provider": "^3.1.3", + "@smithy/smithy-client": "^3.1.9", + "@smithy/types": "^3.3.0", "bowser": "^2.11.0", "tslib": "^2.6.2" }, @@ -2838,17 +2580,16 @@ } }, "node_modules/@smithy/util-defaults-mode-node": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-2.3.1.tgz", - "integrity": "sha512-vkMXHQ0BcLFysBMWgSBLSk3+leMpFSyyFj8zQtv5ZyUBx8/owVh1/pPEkzmW/DR/Gy/5c8vjLDD9gZjXNKbrpA==", - "dev": true, - "dependencies": { - "@smithy/config-resolver": "^2.2.0", - "@smithy/credential-provider-imds": "^2.3.0", - "@smithy/node-config-provider": "^2.3.0", - "@smithy/property-provider": "^2.2.0", - "@smithy/smithy-client": "^2.5.1", - "@smithy/types": "^2.12.0", + "version": "3.0.11", + "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-3.0.11.tgz", + "integrity": "sha512-qd4a9qtyOa/WY14aHHOkMafhh9z8D2QTwlcBoXMTPnEwtcY+xpe1JyFm9vya7VsB8hHsfn3XodEtwqREiu4ygQ==", + "dependencies": { + "@smithy/config-resolver": "^3.0.5", + "@smithy/credential-provider-imds": "^3.1.4", + "@smithy/node-config-provider": "^3.1.4", + "@smithy/property-provider": "^3.1.3", + "@smithy/smithy-client": "^3.1.9", + "@smithy/types": "^3.3.0", "tslib": "^2.6.2" }, "engines": { @@ -2856,114 +2597,106 @@ } }, "node_modules/@smithy/util-endpoints": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@smithy/util-endpoints/-/util-endpoints-1.2.0.tgz", - "integrity": "sha512-BuDHv8zRjsE5zXd3PxFXFknzBG3owCpjq8G3FcsXW3CykYXuEqM3nTSsmLzw5q+T12ZYuDlVUZKBdpNbhVtlrQ==", - "dev": true, + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@smithy/util-endpoints/-/util-endpoints-2.0.5.tgz", + "integrity": "sha512-ReQP0BWihIE68OAblC/WQmDD40Gx+QY1Ez8mTdFMXpmjfxSyz2fVQu3A4zXRfQU9sZXtewk3GmhfOHswvX+eNg==", "dependencies": { - "@smithy/node-config-provider": "^2.3.0", - "@smithy/types": "^2.12.0", + "@smithy/node-config-provider": "^3.1.4", + "@smithy/types": "^3.3.0", "tslib": "^2.6.2" }, "engines": { - "node": ">= 14.0.0" + "node": ">=16.0.0" } }, "node_modules/@smithy/util-hex-encoding": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@smithy/util-hex-encoding/-/util-hex-encoding-2.2.0.tgz", - "integrity": "sha512-7iKXR+/4TpLK194pVjKiasIyqMtTYJsgKgM242Y9uzt5dhHnUDvMNb+3xIhRJ9QhvqGii/5cRUt4fJn3dtXNHQ==", - "dev": true, + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-hex-encoding/-/util-hex-encoding-3.0.0.tgz", + "integrity": "sha512-eFndh1WEK5YMUYvy3lPlVmYY/fZcQE1D8oSf41Id2vCeIkKJXPcYDCZD+4+xViI6b1XSd7tE+s5AmXzz5ilabQ==", "dependencies": { "tslib": "^2.6.2" }, "engines": { - "node": ">=14.0.0" + "node": ">=16.0.0" } }, "node_modules/@smithy/util-middleware": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@smithy/util-middleware/-/util-middleware-2.2.0.tgz", - "integrity": "sha512-L1qpleXf9QD6LwLCJ5jddGkgWyuSvWBkJwWAZ6kFkdifdso+sk3L3O1HdmPvCdnCK3IS4qWyPxev01QMnfHSBw==", - "dev": true, + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@smithy/util-middleware/-/util-middleware-3.0.3.tgz", + "integrity": "sha512-l+StyYYK/eO3DlVPbU+4Bi06Jjal+PFLSMmlWM1BEwyLxZ3aKkf1ROnoIakfaA7mC6uw3ny7JBkau4Yc+5zfWw==", "dependencies": { - "@smithy/types": "^2.12.0", + "@smithy/types": "^3.3.0", "tslib": "^2.6.2" }, "engines": { - "node": ">=14.0.0" + "node": ">=16.0.0" } }, "node_modules/@smithy/util-retry": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@smithy/util-retry/-/util-retry-2.2.0.tgz", - "integrity": "sha512-q9+pAFPTfftHXRytmZ7GzLFFrEGavqapFc06XxzZFcSIGERXMerXxCitjOG1prVDR9QdjqotF40SWvbqcCpf8g==", - "dev": true, + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@smithy/util-retry/-/util-retry-3.0.3.tgz", + "integrity": "sha512-AFw+hjpbtVApzpNDhbjNG5NA3kyoMs7vx0gsgmlJF4s+yz1Zlepde7J58zpIRIsdjc+emhpAITxA88qLkPF26w==", "dependencies": { - "@smithy/service-error-classification": "^2.1.5", - "@smithy/types": "^2.12.0", + "@smithy/service-error-classification": "^3.0.3", + "@smithy/types": "^3.3.0", "tslib": "^2.6.2" }, "engines": { - "node": ">= 14.0.0" + "node": ">=16.0.0" } }, "node_modules/@smithy/util-stream": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@smithy/util-stream/-/util-stream-2.2.0.tgz", - "integrity": "sha512-17faEXbYWIRst1aU9SvPZyMdWmqIrduZjVOqCPMIsWFNxs5yQQgFrJL6b2SdiCzyW9mJoDjFtgi53xx7EH+BXA==", - "dev": true, - "dependencies": { - "@smithy/fetch-http-handler": "^2.5.0", - "@smithy/node-http-handler": "^2.5.0", - "@smithy/types": "^2.12.0", - "@smithy/util-base64": "^2.3.0", - "@smithy/util-buffer-from": "^2.2.0", - "@smithy/util-hex-encoding": "^2.2.0", - "@smithy/util-utf8": "^2.3.0", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@smithy/util-stream/-/util-stream-3.1.1.tgz", + "integrity": "sha512-EhRnVvl3AhoHAT2rGQ5o+oSDRM/BUSMPLZZdRJZLcNVUsFAjOs4vHaPdNQivTSzRcFxf5DA4gtO46WWU2zimaw==", + "dependencies": { + "@smithy/fetch-http-handler": "^3.2.2", + "@smithy/node-http-handler": "^3.1.3", + "@smithy/types": "^3.3.0", + "@smithy/util-base64": "^3.0.0", + "@smithy/util-buffer-from": "^3.0.0", + "@smithy/util-hex-encoding": "^3.0.0", + "@smithy/util-utf8": "^3.0.0", "tslib": "^2.6.2" }, "engines": { - "node": ">=14.0.0" + "node": ">=16.0.0" } }, "node_modules/@smithy/util-uri-escape": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@smithy/util-uri-escape/-/util-uri-escape-2.2.0.tgz", - "integrity": "sha512-jtmJMyt1xMD/d8OtbVJ2gFZOSKc+ueYJZPW20ULW1GOp/q/YIM0wNh+u8ZFao9UaIGz4WoPW8hC64qlWLIfoDA==", - "dev": true, + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-uri-escape/-/util-uri-escape-3.0.0.tgz", + "integrity": "sha512-LqR7qYLgZTD7nWLBecUi4aqolw8Mhza9ArpNEQ881MJJIU2sE5iHCK6TdyqqzcDLy0OPe10IY4T8ctVdtynubg==", "dependencies": { "tslib": "^2.6.2" }, "engines": { - "node": ">=14.0.0" + "node": ">=16.0.0" } }, "node_modules/@smithy/util-utf8": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-2.3.0.tgz", - "integrity": "sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A==", - "dev": true, + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-3.0.0.tgz", + "integrity": "sha512-rUeT12bxFnplYDe815GXbq/oixEGHfRFFtcTF3YdDi/JaENIM6aSYYLJydG83UNzLXeRI5K8abYd/8Sp/QM0kA==", "dependencies": { - "@smithy/util-buffer-from": "^2.2.0", + "@smithy/util-buffer-from": "^3.0.0", "tslib": "^2.6.2" }, "engines": { - "node": ">=14.0.0" + "node": ">=16.0.0" } }, "node_modules/@smithy/util-waiter": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@smithy/util-waiter/-/util-waiter-2.2.0.tgz", - "integrity": "sha512-IHk53BVw6MPMi2Gsn+hCng8rFA3ZmR3Rk7GllxDUW9qFJl/hiSvskn7XldkECapQVkIg/1dHpMAxI9xSTaLLSA==", - "dev": true, + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@smithy/util-waiter/-/util-waiter-3.1.2.tgz", + "integrity": "sha512-4pP0EV3iTsexDx+8PPGAKCQpd/6hsQBaQhqWzU4hqKPHN5epPsxKbvUTIiYIHTxaKt6/kEaqPBpu/ufvfbrRzw==", "dependencies": { - "@smithy/abort-controller": "^2.2.0", - "@smithy/types": "^2.12.0", + "@smithy/abort-controller": "^3.1.1", + "@smithy/types": "^3.3.0", "tslib": "^2.6.2" }, "engines": { - "node": ">=14.0.0" + "node": ">=16.0.0" } }, "node_modules/@trysound/sax": { @@ -2975,9 +2708,9 @@ } }, "node_modules/@types/eslint": { - "version": "8.44.2", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.44.2.tgz", - "integrity": "sha512-sdPRb9K6iL5XZOmBubg8yiFp5yS/JdUDQsq5e6h95km91MCYMuvp7mh1fjPEYUhvHepKpZOjnEaMBR4PxjWDzg==", + "version": "9.6.0", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-9.6.0.tgz", + "integrity": "sha512-gi6WQJ7cHRgZxtkQEoyHMppPjq9Kxo5Tjn2prSKDSmZrCz8TZ3jSRCeTJm+WoM+oB0WG37bRqLzaaU3q7JypGg==", "peer": true, "dependencies": { "@types/estree": "*", @@ -2985,9 +2718,9 @@ } }, "node_modules/@types/eslint-scope": { - "version": "3.7.4", - "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.4.tgz", - "integrity": "sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==", + "version": "3.7.7", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz", + "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==", "peer": true, "dependencies": { "@types/eslint": "*", @@ -2995,9 +2728,9 @@ } }, "node_modules/@types/estree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.1.tgz", - "integrity": "sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA==", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", + "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", "peer": true }, "node_modules/@types/expect": { @@ -3006,9 +2739,9 @@ "integrity": "sha512-Q5Vn3yjTDyCMV50TB6VRIbQNxSE4OmZR86VSbGaNpfUolm0iePBB4KdEEHmxoY5sT2+2DIvXW0rvMDP2nHZ4Mg==" }, "node_modules/@types/json-schema": { - "version": "7.0.12", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.12.tgz", - "integrity": "sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==" + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==" }, "node_modules/@types/json5": { "version": "0.0.29", @@ -3017,20 +2750,23 @@ "dev": true }, "node_modules/@types/minimist": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.2.tgz", - "integrity": "sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==", + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag==", "dev": true }, "node_modules/@types/node": { - "version": "20.2.3", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.2.3.tgz", - "integrity": "sha512-pg9d0yC4rVNWQzX8U7xb4olIOFuuVL9za3bzMT2pu2SU0SNEi66i2qrvhE2qt0HvkhuCaWJu7pLNOt/Pj8BIrw==" + "version": "20.14.11", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.14.11.tgz", + "integrity": "sha512-kprQpL8MMeszbz6ojB5/tU8PLN4kesnN8Gjzw349rDlNgsSzg90lAVj3llK99Dh7JON+t9AuscPPFW6mPbTnSA==", + "dependencies": { + "undici-types": "~5.26.4" + } }, "node_modules/@types/normalize-package-data": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz", - "integrity": "sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==", + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz", + "integrity": "sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==", "dev": true }, "node_modules/@types/triple-beam": { @@ -3039,9 +2775,9 @@ "integrity": "sha512-6WaYesThRMCl19iryMYP7/x2OVgCtbIVflDGFpWnb9irXI3UjYE4AzmYuiUKY1AJstGijoY+MgUszMgRxIYTYw==" }, "node_modules/@types/vinyl": { - "version": "2.0.10", - "resolved": "https://registry.npmjs.org/@types/vinyl/-/vinyl-2.0.10.tgz", - "integrity": "sha512-DqN5BjCrmjAtZ1apqzcq2vk2PSW0m1nFfjIafBFkAyddmHxuw3ZAK3omLiSdpuu81+8h07i6U4DtaE38Xsf2xQ==", + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/@types/vinyl/-/vinyl-2.0.12.tgz", + "integrity": "sha512-Sr2fYMBUVGYq8kj3UthXFAu5UN6ZW+rYr4NACjZQJvHvj+c8lYv0CahmZ2P/r7iUkN44gGUBwqxZkrKXYPb7cw==", "dependencies": { "@types/expect": "^1.20.4", "@types/node": "*" @@ -3053,9 +2789,9 @@ "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==" }, "node_modules/@uswds/uswds": { - "version": "3.7.1", - "resolved": "https://registry.npmjs.org/@uswds/uswds/-/uswds-3.7.1.tgz", - "integrity": "sha512-32u2S50bf5dwIujebqL+f1Jgx2rmRrpxcaccSZzdo3Qv9HaDUdcmeavlrxHqN30edHc7p8kRPjvjevOmOJKB7w==", + "version": "3.8.1", + "resolved": "https://registry.npmjs.org/@uswds/uswds/-/uswds-3.8.1.tgz", + "integrity": "sha512-bKG/B9mJF1v0yoqth48wQDzST5Xyu3OxxpePIPDyhKWS84oDrCehnu3Z88JhSjdIAJMl8dtjtH8YvdO9kZUpAg==", "dependencies": { "classlist-polyfill": "1.2.0", "object-assign": "4.1.1", @@ -3067,9 +2803,9 @@ } }, "node_modules/@webassemblyjs/ast": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.6.tgz", - "integrity": "sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.12.1.tgz", + "integrity": "sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg==", "peer": true, "dependencies": { "@webassemblyjs/helper-numbers": "1.11.6", @@ -3089,9 +2825,9 @@ "peer": true }, "node_modules/@webassemblyjs/helper-buffer": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz", - "integrity": "sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.12.1.tgz", + "integrity": "sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw==", "peer": true }, "node_modules/@webassemblyjs/helper-numbers": { @@ -3112,15 +2848,15 @@ "peer": true }, "node_modules/@webassemblyjs/helper-wasm-section": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz", - "integrity": "sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.12.1.tgz", + "integrity": "sha512-Jif4vfB6FJlUlSbgEMHUyk1j234GTNG9dBJ4XJdOySoj518Xj0oGsNi59cUQF4RRMS9ouBUxDDdyBVfPTypa5g==", "peer": true, "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-buffer": "1.12.1", "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/wasm-gen": "1.11.6" + "@webassemblyjs/wasm-gen": "1.12.1" } }, "node_modules/@webassemblyjs/ieee754": { @@ -3148,28 +2884,28 @@ "peer": true }, "node_modules/@webassemblyjs/wasm-edit": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz", - "integrity": "sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.12.1.tgz", + "integrity": "sha512-1DuwbVvADvS5mGnXbE+c9NfA8QRcZ6iKquqjjmR10k6o+zzsRVesil54DKexiowcFCPdr/Q0qaMgB01+SQ1u6g==", "peer": true, "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-buffer": "1.12.1", "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/helper-wasm-section": "1.11.6", - "@webassemblyjs/wasm-gen": "1.11.6", - "@webassemblyjs/wasm-opt": "1.11.6", - "@webassemblyjs/wasm-parser": "1.11.6", - "@webassemblyjs/wast-printer": "1.11.6" + "@webassemblyjs/helper-wasm-section": "1.12.1", + "@webassemblyjs/wasm-gen": "1.12.1", + "@webassemblyjs/wasm-opt": "1.12.1", + "@webassemblyjs/wasm-parser": "1.12.1", + "@webassemblyjs/wast-printer": "1.12.1" } }, "node_modules/@webassemblyjs/wasm-gen": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz", - "integrity": "sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.12.1.tgz", + "integrity": "sha512-TDq4Ojh9fcohAw6OIMXqiIcTq5KUXTGRkVxbSo1hQnSy6lAM5GSdfwWeSxpAo0YzgsgF182E/U0mDNhuA0tW7w==", "peer": true, "dependencies": { - "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/ast": "1.12.1", "@webassemblyjs/helper-wasm-bytecode": "1.11.6", "@webassemblyjs/ieee754": "1.11.6", "@webassemblyjs/leb128": "1.11.6", @@ -3177,24 +2913,24 @@ } }, "node_modules/@webassemblyjs/wasm-opt": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz", - "integrity": "sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.12.1.tgz", + "integrity": "sha512-Jg99j/2gG2iaz3hijw857AVYekZe2SAskcqlWIZXjji5WStnOpVoat3gQfT/Q5tb2djnCjBtMocY/Su1GfxPBg==", "peer": true, "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-buffer": "1.11.6", - "@webassemblyjs/wasm-gen": "1.11.6", - "@webassemblyjs/wasm-parser": "1.11.6" + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-buffer": "1.12.1", + "@webassemblyjs/wasm-gen": "1.12.1", + "@webassemblyjs/wasm-parser": "1.12.1" } }, "node_modules/@webassemblyjs/wasm-parser": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz", - "integrity": "sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.12.1.tgz", + "integrity": "sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ==", "peer": true, "dependencies": { - "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/ast": "1.12.1", "@webassemblyjs/helper-api-error": "1.11.6", "@webassemblyjs/helper-wasm-bytecode": "1.11.6", "@webassemblyjs/ieee754": "1.11.6", @@ -3203,12 +2939,12 @@ } }, "node_modules/@webassemblyjs/wast-printer": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz", - "integrity": "sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.12.1.tgz", + "integrity": "sha512-+X4WAlOisVWQMikjbcvY2e0rwPsKQ9F688lksZhBcPycBBuii3O7m8FACbDMWDojpAqvjIncrG8J0XHKyQfVeA==", "peer": true, "dependencies": { - "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/ast": "1.12.1", "@xtuc/long": "4.2.2" } }, @@ -3233,9 +2969,9 @@ "peer": true }, "node_modules/acorn": { - "version": "8.11.2", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.2.tgz", - "integrity": "sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==", + "version": "8.12.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz", + "integrity": "sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==", "bin": { "acorn": "bin/acorn" }, @@ -3243,10 +2979,10 @@ "node": ">=0.4.0" } }, - "node_modules/acorn-import-assertions": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz", - "integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==", + "node_modules/acorn-import-attributes": { + "version": "1.9.5", + "resolved": "https://registry.npmjs.org/acorn-import-attributes/-/acorn-import-attributes-1.9.5.tgz", + "integrity": "sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==", "peer": true, "peerDependencies": { "acorn": "^8" @@ -3300,17 +3036,6 @@ } } }, - "node_modules/ansi-colors": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-1.1.0.tgz", - "integrity": "sha512-SFKX67auSNoVR38N3L+nvsPjOE0bybKTYbkf5tRvushrAPQ9V75huw0ZxBkKVeRU9kqH3d6HA4xTckbwZ4ixmA==", - "dependencies": { - "ansi-wrap": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/ansi-gray": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/ansi-gray/-/ansi-gray-0.1.1.tgz", @@ -3386,12 +3111,15 @@ } }, "node_modules/array-buffer-byte-length": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz", - "integrity": "sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz", + "integrity": "sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==", "dependencies": { - "call-bind": "^1.0.2", - "is-array-buffer": "^3.0.1" + "call-bind": "^1.0.5", + "is-array-buffer": "^3.0.4" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -3406,15 +3134,16 @@ } }, "node_modules/array-includes": { - "version": "3.1.7", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.7.tgz", - "integrity": "sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ==", + "version": "3.1.8", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.8.tgz", + "integrity": "sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "get-intrinsic": "^1.2.1", + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.4", "is-string": "^1.0.7" }, "engines": { @@ -3441,16 +3170,17 @@ } }, "node_modules/array.prototype.findlastindex": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.3.tgz", - "integrity": "sha512-LzLoiOMAxvy+Gd3BAq3B7VeIgPdo+Q8hthvKtXybMvRV0jrXfJM/t8mw7nNlpEcVlVUnCnM2KSX4XU5HmpodOA==", + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.5.tgz", + "integrity": "sha512-zfETvRFA8o7EiNn++N5f/kaCw221hrpGsDmcpndVupkPzEc1Wuf3VgC0qby1BbHs7f5DVYjgtEU2LLh5bqeGfQ==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "es-shim-unscopables": "^1.0.0", - "get-intrinsic": "^1.2.1" + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "es-shim-unscopables": "^1.0.2" }, "engines": { "node": ">= 0.4" @@ -3496,16 +3226,17 @@ } }, "node_modules/arraybuffer.prototype.slice": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.2.tgz", - "integrity": "sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.3.tgz", + "integrity": "sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==", "dependencies": { - "array-buffer-byte-length": "^1.0.0", - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "get-intrinsic": "^1.2.1", - "is-array-buffer": "^3.0.2", + "array-buffer-byte-length": "^1.0.1", + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", + "es-abstract": "^1.22.3", + "es-errors": "^1.2.1", + "get-intrinsic": "^1.2.3", + "is-array-buffer": "^3.0.4", "is-shared-array-buffer": "^1.0.2" }, "engines": { @@ -3618,9 +3349,12 @@ } }, "node_modules/available-typed-arrays": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", - "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", + "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", + "dependencies": { + "possible-typed-array-names": "^1.0.0" + }, "engines": { "node": ">= 0.4" }, @@ -3631,8 +3365,7 @@ "node_modules/b4a": { "version": "1.6.6", "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.6.6.tgz", - "integrity": "sha512-5Tk1HLk6b6ctmjIkAcU/Ujv/1WqiDl0F0JdRCR80VsOcUlHcu7pWeWRlOqQLHfDEsVx9YH/aif5AG4ehoCtTmg==", - "dev": true + "integrity": "sha512-5Tk1HLk6b6ctmjIkAcU/Ujv/1WqiDl0F0JdRCR80VsOcUlHcu7pWeWRlOqQLHfDEsVx9YH/aif5AG4ehoCtTmg==" }, "node_modules/bach": { "version": "2.0.1", @@ -3653,40 +3386,50 @@ "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" }, "node_modules/bare-events": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/bare-events/-/bare-events-2.2.2.tgz", - "integrity": "sha512-h7z00dWdG0PYOQEvChhOSWvOfkIKsdZGkWr083FgN/HyoQuebSew/cgirYqh9SCuy/hRvxc5Vy6Fw8xAmYHLkQ==", + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/bare-events/-/bare-events-2.4.2.tgz", + "integrity": "sha512-qMKFd2qG/36aA4GwvKq8MxnPgCQAmBWmSyLWsJcbn8v03wvIPQ/hG1Ms8bPzndZxMDoHpxez5VOS+gC9Yi24/Q==", "optional": true }, "node_modules/bare-fs": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/bare-fs/-/bare-fs-2.2.3.tgz", - "integrity": "sha512-amG72llr9pstfXOBOHve1WjiuKKAMnebcmMbPWDZ7BCevAoJLpugjuAPRsDINEyjT0a6tbaVx3DctkXIRbLuJw==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/bare-fs/-/bare-fs-2.3.1.tgz", + "integrity": "sha512-W/Hfxc/6VehXlsgFtbB5B4xFcsCl+pAh30cYhoFyXErf6oGrwjh8SwiPAdHgpmWonKuYpZgGywN0SXt7dgsADA==", "dev": true, "optional": true, "dependencies": { "bare-events": "^2.0.0", "bare-path": "^2.0.0", - "streamx": "^2.13.0" + "bare-stream": "^2.0.0" } }, "node_modules/bare-os": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/bare-os/-/bare-os-2.2.1.tgz", - "integrity": "sha512-OwPyHgBBMkhC29Hl3O4/YfxW9n7mdTr2+SsO29XBWKKJsbgj3mnorDB80r5TiCQgQstgE5ga1qNYrpes6NvX2w==", + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/bare-os/-/bare-os-2.4.0.tgz", + "integrity": "sha512-v8DTT08AS/G0F9xrhyLtepoo9EJBJ85FRSMbu1pQUlAf6A8T0tEEQGMVObWeqpjhSPXsE0VGlluFBJu2fdoTNg==", "dev": true, "optional": true }, "node_modules/bare-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/bare-path/-/bare-path-2.1.1.tgz", - "integrity": "sha512-OHM+iwRDRMDBsSW7kl3dO62JyHdBKO3B25FB9vNQBPcGHMo4+eA8Yj41Lfbk3pS/seDY+siNge0LdRTulAau/A==", + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/bare-path/-/bare-path-2.1.3.tgz", + "integrity": "sha512-lh/eITfU8hrj9Ru5quUp0Io1kJWIk1bTjzo7JH1P5dWmQ2EL4hFUlfI8FonAhSlgIfhn63p84CDY/x+PisgcXA==", "dev": true, "optional": true, "dependencies": { "bare-os": "^2.1.0" } }, + "node_modules/bare-stream": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/bare-stream/-/bare-stream-2.1.3.tgz", + "integrity": "sha512-tiDAH9H/kP+tvNO5sczyn9ZAA7utrSMobyDchsnyyXBuUe2FSQWbxhtuHB8jwpHYYevVo2UJpcmvvjrbHboUUQ==", + "dev": true, + "optional": true, + "dependencies": { + "streamx": "^2.18.0" + } + }, "node_modules/base64-js": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", @@ -3729,45 +3472,19 @@ } }, "node_modules/bl": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", - "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", - "dev": true, + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-5.1.0.tgz", + "integrity": "sha512-tv1ZJHLfTDnXE6tMHv73YgSJaWR2AFuPwMntBe7XL/GBFHnT0CLnsHMogfk5+GzCDC5ZWarSCYaIGATZt9dNsQ==", "dependencies": { - "buffer": "^5.5.0", + "buffer": "^6.0.3", "inherits": "^2.0.4", "readable-stream": "^3.4.0" } }, - "node_modules/bl/node_modules/buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, "node_modules/bl/node_modules/readable-stream": { "version": "3.6.2", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "dev": true, "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", @@ -3785,8 +3502,7 @@ "node_modules/bowser": { "version": "2.11.0", "resolved": "https://registry.npmjs.org/bowser/-/bowser-2.11.0.tgz", - "integrity": "sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA==", - "dev": true + "integrity": "sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA==" }, "node_modules/brace-expansion": { "version": "1.1.11", @@ -3809,9 +3525,9 @@ } }, "node_modules/browserslist": { - "version": "4.23.0", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.0.tgz", - "integrity": "sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==", + "version": "4.23.2", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.2.tgz", + "integrity": "sha512-qkqSyistMYdxAcw+CzbZwlBy8AGmS/eEWs+sEV5TnLRGDOL+C5M2EnH6tlZyg0YoAxGJAFKh61En9BR941GnHA==", "funding": [ { "type": "opencollective", @@ -3827,10 +3543,10 @@ } ], "dependencies": { - "caniuse-lite": "^1.0.30001587", - "electron-to-chromium": "^1.4.668", + "caniuse-lite": "^1.0.30001640", + "electron-to-chromium": "^1.4.820", "node-releases": "^2.0.14", - "update-browserslist-db": "^1.0.13" + "update-browserslist-db": "^1.1.0" }, "bin": { "browserslist": "cli.js" @@ -3873,13 +3589,18 @@ "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" }, "node_modules/call-bind": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.5.tgz", - "integrity": "sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", + "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.1", - "set-function-length": "^1.1.1" + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -3936,9 +3657,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001609", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001609.tgz", - "integrity": "sha512-JFPQs34lHKx1B5t1EpQpWH4c+29zIyn/haGsbpfq3suuV9v56enjFt23zqijxGTMwy1p/4H2tjnQMY+p1WoAyA==", + "version": "1.0.30001643", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001643.tgz", + "integrity": "sha512-ERgWGNleEilSrHM6iUz/zJNSQTP8Mr21wDWpdgvRwcTXGAq6jMtOUPP4dqFPTdKqZ2wKTdtB+uucZ3MRpAUSmg==", "funding": [ { "type": "opencollective", @@ -3999,9 +3720,9 @@ "dev": true }, "node_modules/chrome-trace-event": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", - "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz", + "integrity": "sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==", "peer": true, "engines": { "node": ">=6.0" @@ -4235,9 +3956,9 @@ } }, "node_modules/css-functions-list": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/css-functions-list/-/css-functions-list-3.2.1.tgz", - "integrity": "sha512-Nj5YcaGgBtuUmn1D7oHqPW0c9iui7xsTsj5lIX8ZgevdfhmjFfKB3r8moHJtNJnctnYXJyYX5I1pp90HM4TPgQ==", + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/css-functions-list/-/css-functions-list-3.2.2.tgz", + "integrity": "sha512-c+N0v6wbKVxTu5gOBBFkr9BEdBWaqqjQeiJ8QvSRIJOf+UxlJh930m8e6/WNeODIK0mYLFkoONrnj16i2EcvfQ==", "dev": true, "engines": { "node": ">=12 || >=16" @@ -4264,15 +3985,16 @@ "integrity": "sha512-HYPSb7y/Z7BNDCOrakL4raGO2zltZkbeXyAd6Tg9obzix6QhzxCotdBl6VT0Dv4vZfJGVz3WL/xaEI9Ly3ul0g==" }, "node_modules/css-tree": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", - "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.2.1.tgz", + "integrity": "sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==", "dependencies": { - "mdn-data": "2.0.14", - "source-map": "^0.6.1" + "mdn-data": "2.0.28", + "source-map-js": "^1.0.1" }, "engines": { - "node": ">=8.0.0" + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", + "npm": ">=7.0.0" } }, "node_modules/css-what": { @@ -4299,14 +4021,15 @@ } }, "node_modules/csso": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", - "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/csso/-/csso-5.0.5.tgz", + "integrity": "sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==", "dependencies": { - "css-tree": "^1.1.2" + "css-tree": "~2.2.0" }, "engines": { - "node": ">=8.0.0" + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", + "npm": ">=7.0.0" } }, "node_modules/cssom": { @@ -4315,18 +4038,69 @@ "integrity": "sha512-iKuQcq+NdHqlAcwUY0o/HL69XQrUaQdMjmStJ8JFmUaiiQErlhrmuigkg/CU4E2J0IyUKUrMAgl36TvN67MqTw==" }, "node_modules/d": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/d/-/d-1.0.2.tgz", + "integrity": "sha512-MOqHvMWF9/9MX6nza0KgvFH4HpMU0EF5uUDXqX/BtxtU8NfB0QzRtJ8Oe/6SuS4kbhyzVJwjd97EA4PKrzJ8bw==", + "dependencies": { + "es5-ext": "^0.10.64", + "type": "^2.7.2" + }, + "engines": { + "node": ">=0.12" + } + }, + "node_modules/data-view-buffer": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz", - "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==", + "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.1.tgz", + "integrity": "sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==", "dependencies": { - "es5-ext": "^0.10.50", - "type": "^1.0.1" + "call-bind": "^1.0.6", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/data-view-byte-length": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.1.tgz", + "integrity": "sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==", + "dependencies": { + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/data-view-byte-offset": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.0.tgz", + "integrity": "sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==", + "dependencies": { + "call-bind": "^1.0.6", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "version": "4.3.5", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.5.tgz", + "integrity": "sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==", "dependencies": { "ms": "2.1.2" }, @@ -4358,12 +4132,15 @@ } }, "node_modules/decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-5.0.1.tgz", + "integrity": "sha512-VfxadyCECXgQlkoEAjeghAr5gY3Hf+IKjKb+X8tGVDtveCjN+USwprd2q3QXBR9T1+x2DG0XZF5/w+7HAtSaXA==", "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/decamelize-keys": { @@ -4382,6 +4159,15 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/decamelize-keys/node_modules/decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/decamelize-keys/node_modules/map-obj": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", @@ -4429,23 +4215,27 @@ "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==" }, "node_modules/define-data-property": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.1.tgz", - "integrity": "sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", "dependencies": { - "get-intrinsic": "^1.2.1", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.0" + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" }, "engines": { "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/define-properties": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz", - "integrity": "sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", + "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", "dependencies": { + "define-data-property": "^1.0.1", "has-property-descriptors": "^1.0.0", "object-keys": "^1.1.1" }, @@ -4627,9 +4417,9 @@ } }, "node_modules/electron-to-chromium": { - "version": "1.4.735", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.735.tgz", - "integrity": "sha512-pkYpvwg8VyOTQAeBqZ7jsmpCjko1Qc6We1ZtZCjRyYbT5v4AIUKDy5cQTRotQlSSZmMr8jqpEt6JtOj5k7lR7A==" + "version": "1.4.832", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.832.tgz", + "integrity": "sha512-cTen3SB0H2SGU7x467NRe1eVcQgcuS6jckKfWJHia2eo0cHIGOqHoAxevIYZD4eRHcWjkvFzo93bi3vJ9W+1lA==" }, "node_modules/element-closest": { "version": "2.0.2", @@ -4658,9 +4448,9 @@ } }, "node_modules/enhanced-resolve": { - "version": "5.15.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz", - "integrity": "sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==", + "version": "5.17.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.0.tgz", + "integrity": "sha512-dwDPwZL0dmye8Txp2gzFmA6sxALaSvdRDjPH0viLcKrtlOL3tw62nWWweVD1SdILDTJrbrL6tdWVN58Wo6U3eA==", "peer": true, "dependencies": { "graceful-fs": "^4.2.4", @@ -4702,49 +4492,56 @@ } }, "node_modules/es-abstract": { - "version": "1.22.3", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.3.tgz", - "integrity": "sha512-eiiY8HQeYfYH2Con2berK+To6GrK2RxbPawDkGq4UiCQQfZHb6wX9qQqkbpPqaxQFcl8d9QzZqo0tGE0VcrdwA==", - "dependencies": { - "array-buffer-byte-length": "^1.0.0", - "arraybuffer.prototype.slice": "^1.0.2", - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.5", - "es-set-tostringtag": "^2.0.1", + "version": "1.23.3", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.3.tgz", + "integrity": "sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==", + "dependencies": { + "array-buffer-byte-length": "^1.0.1", + "arraybuffer.prototype.slice": "^1.0.3", + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.7", + "data-view-buffer": "^1.0.1", + "data-view-byte-length": "^1.0.1", + "data-view-byte-offset": "^1.0.0", + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "es-set-tostringtag": "^2.0.3", "es-to-primitive": "^1.2.1", "function.prototype.name": "^1.1.6", - "get-intrinsic": "^1.2.2", - "get-symbol-description": "^1.0.0", + "get-intrinsic": "^1.2.4", + "get-symbol-description": "^1.0.2", "globalthis": "^1.0.3", "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.0", - "has-proto": "^1.0.1", + "has-property-descriptors": "^1.0.2", + "has-proto": "^1.0.3", "has-symbols": "^1.0.3", - "hasown": "^2.0.0", - "internal-slot": "^1.0.5", - "is-array-buffer": "^3.0.2", + "hasown": "^2.0.2", + "internal-slot": "^1.0.7", + "is-array-buffer": "^3.0.4", "is-callable": "^1.2.7", - "is-negative-zero": "^2.0.2", + "is-data-view": "^1.0.1", + "is-negative-zero": "^2.0.3", "is-regex": "^1.1.4", - "is-shared-array-buffer": "^1.0.2", + "is-shared-array-buffer": "^1.0.3", "is-string": "^1.0.7", - "is-typed-array": "^1.1.12", + "is-typed-array": "^1.1.13", "is-weakref": "^1.0.2", "object-inspect": "^1.13.1", "object-keys": "^1.1.1", - "object.assign": "^4.1.4", - "regexp.prototype.flags": "^1.5.1", - "safe-array-concat": "^1.0.1", - "safe-regex-test": "^1.0.0", - "string.prototype.trim": "^1.2.8", - "string.prototype.trimend": "^1.0.7", - "string.prototype.trimstart": "^1.0.7", - "typed-array-buffer": "^1.0.0", - "typed-array-byte-length": "^1.0.0", - "typed-array-byte-offset": "^1.0.0", - "typed-array-length": "^1.0.4", + "object.assign": "^4.1.5", + "regexp.prototype.flags": "^1.5.2", + "safe-array-concat": "^1.1.2", + "safe-regex-test": "^1.0.3", + "string.prototype.trim": "^1.2.9", + "string.prototype.trimend": "^1.0.8", + "string.prototype.trimstart": "^1.0.8", + "typed-array-buffer": "^1.0.2", + "typed-array-byte-length": "^1.0.1", + "typed-array-byte-offset": "^1.0.2", + "typed-array-length": "^1.0.6", "unbox-primitive": "^1.0.2", - "which-typed-array": "^1.1.13" + "which-typed-array": "^1.1.15" }, "engines": { "node": ">= 0.4" @@ -4753,20 +4550,50 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/es-module-lexer": { + "node_modules/es-define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", + "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", + "dependencies": { + "get-intrinsic": "^1.2.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { "version": "1.3.0", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.3.0.tgz", - "integrity": "sha512-vZK7T0N2CBmBOixhmjdqx2gWVbFZ4DXZ/NyRMZVlJXPa7CyFS+/a4QQsDGDQy9ZfEzxFuNEsMLeQJnKP2p5/JA==", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-module-lexer": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.5.4.tgz", + "integrity": "sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw==", "peer": true }, + "node_modules/es-object-atoms": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.0.0.tgz", + "integrity": "sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/es-set-tostringtag": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz", - "integrity": "sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.3.tgz", + "integrity": "sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==", "dependencies": { - "get-intrinsic": "^1.1.3", - "has": "^1.0.3", - "has-tostringtag": "^1.0.0" + "get-intrinsic": "^1.2.4", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.1" }, "engines": { "node": ">= 0.4" @@ -4823,12 +4650,15 @@ } }, "node_modules/es6-symbol": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz", - "integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==", + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.4.tgz", + "integrity": "sha512-U9bFFjX8tFiATgtkJ1zg25+KviIXpgRvRHS8sau3GfhVzThRQrOeksPeT0BWW2MNZs1OEWJ1DPXOQMn0KKRkvg==", "dependencies": { - "d": "^1.0.1", - "ext": "^1.1.2" + "d": "^1.0.2", + "ext": "^1.7.0" + }, + "engines": { + "node": ">=0.12" } }, "node_modules/es6-weak-map": { @@ -4843,9 +4673,9 @@ } }, "node_modules/escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", + "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==", "engines": { "node": ">=6" } @@ -4862,15 +4692,15 @@ } }, "node_modules/eslint": { - "version": "8.56.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.56.0.tgz", - "integrity": "sha512-Go19xM6T9puCOWntie1/P997aXxFsOi37JIHRWI514Hc6ZnaHGKY9xFhrU65RT6CcBEzZoGG1e6Nq+DT04ZtZQ==", + "version": "8.57.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz", + "integrity": "sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==", "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.6.1", "@eslint/eslintrc": "^2.1.4", - "@eslint/js": "8.56.0", - "@humanwhocodes/config-array": "^0.11.13", + "@eslint/js": "8.57.0", + "@humanwhocodes/config-array": "^0.11.14", "@humanwhocodes/module-importer": "^1.0.1", "@nodelib/fs.walk": "^1.2.8", "@ungap/structured-clone": "^1.2.0", @@ -4967,9 +4797,9 @@ } }, "node_modules/eslint-module-utils": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.8.0.tgz", - "integrity": "sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==", + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.8.1.tgz", + "integrity": "sha512-rXDXR3h7cs7dy9RNpUlQf80nX31XWJEyGq1tRMo+6GsO5VmTe4UTwtmonAD4ZkAsrfMVDA2wlGJ3790Ys+D49Q==", "dev": true, "dependencies": { "debug": "^3.2.7" @@ -5125,11 +4955,6 @@ "node": ">=0.10" } }, - "node_modules/esniff/node_modules/type": { - "version": "2.7.2", - "resolved": "https://registry.npmjs.org/type/-/type-2.7.2.tgz", - "integrity": "sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw==" - }, "node_modules/espree": { "version": "9.6.1", "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", @@ -5147,9 +4972,9 @@ } }, "node_modules/esquery": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", - "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", + "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", "dependencies": { "estraverse": "^5.1.0" }, @@ -5193,6 +5018,15 @@ "es5-ext": "~0.10.14" } }, + "node_modules/events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "peer": true, + "engines": { + "node": ">=0.8.x" + } + }, "node_modules/expand-template": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz", @@ -5221,28 +5055,32 @@ "type": "^2.7.2" } }, - "node_modules/ext/node_modules/type": { - "version": "2.7.2", - "resolved": "https://registry.npmjs.org/type/-/type-2.7.2.tgz", - "integrity": "sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw==" - }, "node_modules/extend": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" }, + "node_modules/extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", + "dependencies": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/fancy-log": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/fancy-log/-/fancy-log-1.3.3.tgz", - "integrity": "sha512-k9oEhlyc0FrVh25qYuSELjr8oxsCoc4/LEZfg2iJJrfEk/tZL9bCoJE47gqAvI2m/AUjluCS4+3I0eTx8n3AEw==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/fancy-log/-/fancy-log-2.0.0.tgz", + "integrity": "sha512-9CzxZbACXMUXW13tS0tI8XsGGmxWzO2DmYrGuBJOJ8k8q2K7hwfJA5qHjuPPe8wtsco33YR9wc+Rlr5wYFvhSA==", "dependencies": { - "ansi-gray": "^0.1.1", - "color-support": "^1.1.3", - "parse-node-version": "^1.0.0", - "time-stamp": "^1.0.0" + "color-support": "^1.1.3" }, "engines": { - "node": ">= 0.10" + "node": ">=10.13.0" } }, "node_modules/fast-deep-equal": { @@ -5290,7 +5128,6 @@ "version": "4.2.5", "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.2.5.tgz", "integrity": "sha512-B9/wizE4WngqQftFPmdaMYlXoJlJOYxGQOanC77fq9k8+Z0v5dDSVh+3glErdIROP//s/jgb7ZuxKfB8nVyo0g==", - "dev": true, "funding": [ { "type": "paypal", @@ -5317,9 +5154,9 @@ } }, "node_modules/fastq": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", - "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", + "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", "dependencies": { "reusify": "^1.0.4" } @@ -5417,9 +5254,9 @@ } }, "node_modules/flatted": { - "version": "3.2.9", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.9.tgz", - "integrity": "sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==" + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz", + "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==" }, "node_modules/fn.name": { "version": "1.1.0", @@ -5543,15 +5380,19 @@ } }, "node_modules/get-intrinsic": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.2.tgz", - "integrity": "sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==", + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", + "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", "dependencies": { + "es-errors": "^1.3.0", "function-bind": "^1.1.2", "has-proto": "^1.0.1", "has-symbols": "^1.0.3", "hasown": "^2.0.0" }, + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -5569,12 +5410,13 @@ } }, "node_modules/get-symbol-description": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", - "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.2.tgz", + "integrity": "sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==", "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.1" + "call-bind": "^1.0.5", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4" }, "engines": { "node": ">= 0.4" @@ -5593,6 +5435,7 @@ "version": "8.0.3", "resolved": "https://registry.npmjs.org/glob/-/glob-8.0.3.tgz", "integrity": "sha512-ull455NHSHI/Y1FqGaaYFaLGkNMMJbavMrEGFXG/PGrg6y7sutWHUHrz6gy6WEBH6akM1M414dWKCNs+IhKdiQ==", + "deprecated": "Glob versions prior to v9 are no longer supported", "dev": true, "dependencies": { "fs.realpath": "^1.0.0", @@ -5730,11 +5573,12 @@ } }, "node_modules/globalthis": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", - "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.4.tgz", + "integrity": "sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==", "dependencies": { - "define-properties": "^1.1.3" + "define-properties": "^1.2.1", + "gopd": "^1.0.1" }, "engines": { "node": ">= 0.4" @@ -5769,14 +5613,14 @@ "dev": true }, "node_modules/glogg": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/glogg/-/glogg-1.0.2.tgz", - "integrity": "sha512-5mwUoSuBk44Y4EshyiqcH95ZntbDdTQqA3QYSrxmzj28Ai0vXBGMH1ApSANH14j2sIRtqCEyg6PfsuP7ElOEDA==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/glogg/-/glogg-2.2.0.tgz", + "integrity": "sha512-eWv1ds/zAlz+M1ioHsyKJomfY7jbDDPpwSkv14KQj89bycx1nvK5/2Cj/T9g7kzJcX5Bc7Yv22FjfBZS/jl94A==", "dependencies": { - "sparkles": "^1.0.0" + "sparkles": "^2.1.0" }, "engines": { - "node": ">= 0.10" + "node": ">= 10.13.0" } }, "node_modules/gopd": { @@ -5817,86 +5661,6 @@ "node": ">=10.13.0" } }, - "node_modules/gulp-awspublish": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/gulp-awspublish/-/gulp-awspublish-8.0.0.tgz", - "integrity": "sha512-zExpbWjqoT8xi7bg1/9t+hQ47L/muMau1BKIDra9nTfgV8p0SjVc5T7oVhzFz1PCdHzrd69i37/rmdqtk0eh8w==", - "dev": true, - "dependencies": { - "@aws-sdk/client-s3": "^3.245.0", - "ansi-colors": "^4.1.3", - "fancy-log": "^2.0.0", - "lodash.chunk": "^4.2.0", - "mime-types": "^2.1.35", - "pascal-case": "^3.1.1", - "plugin-error": "^2.0.1", - "vinyl": "^3.0.0" - }, - "engines": { - "node": ">=14" - } - }, - "node_modules/gulp-awspublish/node_modules/ansi-colors": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", - "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/gulp-awspublish/node_modules/fancy-log": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/fancy-log/-/fancy-log-2.0.0.tgz", - "integrity": "sha512-9CzxZbACXMUXW13tS0tI8XsGGmxWzO2DmYrGuBJOJ8k8q2K7hwfJA5qHjuPPe8wtsco33YR9wc+Rlr5wYFvhSA==", - "dev": true, - "dependencies": { - "color-support": "^1.1.3" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/gulp-awspublish/node_modules/plugin-error": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/plugin-error/-/plugin-error-2.0.1.tgz", - "integrity": "sha512-zMakqvIDyY40xHOvzXka0kUvf40nYIuwRE8dWhti2WtjQZ31xAgBZBhxsK7vK3QbRXS1Xms/LO7B5cuAsfB2Gg==", - "dev": true, - "dependencies": { - "ansi-colors": "^1.0.1" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/gulp-awspublish/node_modules/plugin-error/node_modules/ansi-colors": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-1.1.0.tgz", - "integrity": "sha512-SFKX67auSNoVR38N3L+nvsPjOE0bybKTYbkf5tRvushrAPQ9V75huw0ZxBkKVeRU9kqH3d6HA4xTckbwZ4ixmA==", - "dev": true, - "dependencies": { - "ansi-wrap": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/gulp-awspublish/node_modules/vinyl": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-3.0.0.tgz", - "integrity": "sha512-rC2VRfAVVCGEgjnxHUnpIVh3AGuk62rP3tqVrn+yab0YH7UULisC085+NYH+mnqf3Wx4SpSi1RQMwudL89N03g==", - "dev": true, - "dependencies": { - "clone": "^2.1.2", - "clone-stats": "^1.0.0", - "remove-trailing-separator": "^1.1.0", - "replace-ext": "^2.0.0", - "teex": "^1.0.1" - }, - "engines": { - "node": ">=10.13.0" - } - }, "node_modules/gulp-cli": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/gulp-cli/-/gulp-cli-3.0.0.tgz", @@ -5922,44 +5686,38 @@ "node": ">=10.13.0" } }, - "node_modules/gulp-cli/node_modules/glogg": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/glogg/-/glogg-2.2.0.tgz", - "integrity": "sha512-eWv1ds/zAlz+M1ioHsyKJomfY7jbDDPpwSkv14KQj89bycx1nvK5/2Cj/T9g7kzJcX5Bc7Yv22FjfBZS/jl94A==", - "dependencies": { - "sparkles": "^2.1.0" - }, - "engines": { - "node": ">= 10.13.0" - } - }, - "node_modules/gulp-cli/node_modules/gulplog": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/gulplog/-/gulplog-2.2.0.tgz", - "integrity": "sha512-V2FaKiOhpR3DRXZuYdRLn/qiY0yI5XmqbTKrYbdemJ+xOh2d2MOweI/XFgMzd/9+1twdvMwllnZbWZNJ+BOm4A==", + "node_modules/gulp-concat": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/gulp-concat/-/gulp-concat-2.6.1.tgz", + "integrity": "sha512-a2scActrQrDBpBbR3WUZGyGS1JEPLg5PZJdIa7/Bi3GuKAmPYDK6SFhy/NZq5R8KsKKFvtfR0fakbUCcKGCCjg==", "dependencies": { - "glogg": "^2.2.0" + "concat-with-sourcemaps": "^1.0.0", + "through2": "^2.0.0", + "vinyl": "^2.0.0" }, "engines": { - "node": ">= 10.13.0" + "node": ">= 0.10" } }, - "node_modules/gulp-cli/node_modules/sparkles": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/sparkles/-/sparkles-2.1.0.tgz", - "integrity": "sha512-r7iW1bDw8R/cFifrD3JnQJX0K1jqT0kprL48BiBpLZLJPmAm34zsVBsK5lc7HirZYZqMW65dOXZgbAGt/I6frg==", + "node_modules/gulp-concat/node_modules/replace-ext": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.1.tgz", + "integrity": "sha512-yD5BHCe7quCgBph4rMQ+0KkIRKwWCrHDOX1p1Gp6HwjPM5kVoCdKGNhN7ydqqsX6lJEnQDKZ/tFMiEdQ1dvPEw==", "engines": { - "node": ">= 10.13.0" + "node": ">= 0.10" } }, - "node_modules/gulp-concat": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/gulp-concat/-/gulp-concat-2.6.1.tgz", - "integrity": "sha512-a2scActrQrDBpBbR3WUZGyGS1JEPLg5PZJdIa7/Bi3GuKAmPYDK6SFhy/NZq5R8KsKKFvtfR0fakbUCcKGCCjg==", + "node_modules/gulp-concat/node_modules/vinyl": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-2.2.1.tgz", + "integrity": "sha512-LII3bXRFBZLlezoG5FfZVcXflZgWP/4dCwKtxd5ky9+LOtM4CS3bIRQsmR1KMnMW07jpE8fqR2lcxPZ+8sJIcw==", "dependencies": { - "concat-with-sourcemaps": "^1.0.0", - "through2": "^2.0.0", - "vinyl": "^2.0.0" + "clone": "^2.1.1", + "clone-buffer": "^1.0.0", + "clone-stats": "^1.0.0", + "cloneable-readable": "^1.0.0", + "remove-trailing-separator": "^1.0.1", + "replace-ext": "^1.0.0" }, "engines": { "node": ">= 0.10" @@ -5998,6 +5756,7 @@ "version": "9.1.0", "resolved": "https://registry.npmjs.org/gulp-postcss/-/gulp-postcss-9.1.0.tgz", "integrity": "sha512-a843mcKPApfeI987uqQbc8l50xXeWIXBsiVvYxtCI5XtVAMzTi/HnU2qzQpGwkB/PAOfsLV8OsqDv2iJZ9qvdw==", + "deprecated": "Republished as 10.0.0 to follow the semver spec", "dependencies": { "fancy-log": "^2.0.0", "plugin-error": "^2.0.1", @@ -6011,28 +5770,6 @@ "postcss": "^8.0.0" } }, - "node_modules/gulp-postcss/node_modules/fancy-log": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/fancy-log/-/fancy-log-2.0.0.tgz", - "integrity": "sha512-9CzxZbACXMUXW13tS0tI8XsGGmxWzO2DmYrGuBJOJ8k8q2K7hwfJA5qHjuPPe8wtsco33YR9wc+Rlr5wYFvhSA==", - "dependencies": { - "color-support": "^1.1.3" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/gulp-postcss/node_modules/plugin-error": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/plugin-error/-/plugin-error-2.0.1.tgz", - "integrity": "sha512-zMakqvIDyY40xHOvzXka0kUvf40nYIuwRE8dWhti2WtjQZ31xAgBZBhxsK7vK3QbRXS1Xms/LO7B5cuAsfB2Gg==", - "dependencies": { - "ansi-colors": "^1.0.1" - }, - "engines": { - "node": ">=10.13.0" - } - }, "node_modules/gulp-rename": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/gulp-rename/-/gulp-rename-2.0.0.tgz", @@ -6078,6 +5815,18 @@ "node": ">=8.5.0" } }, + "node_modules/gulp-responsive/node_modules/ansi-colors": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-1.1.0.tgz", + "integrity": "sha512-SFKX67auSNoVR38N3L+nvsPjOE0bybKTYbkf5tRvushrAPQ9V75huw0ZxBkKVeRU9kqH3d6HA4xTckbwZ4ixmA==", + "dev": true, + "dependencies": { + "ansi-wrap": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/gulp-responsive/node_modules/ansi-styles": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", @@ -6128,6 +5877,21 @@ "node": ">=0.8.0" } }, + "node_modules/gulp-responsive/node_modules/fancy-log": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/fancy-log/-/fancy-log-1.3.3.tgz", + "integrity": "sha512-k9oEhlyc0FrVh25qYuSELjr8oxsCoc4/LEZfg2iJJrfEk/tZL9bCoJE47gqAvI2m/AUjluCS4+3I0eTx8n3AEw==", + "dev": true, + "dependencies": { + "ansi-gray": "^0.1.1", + "color-support": "^1.1.3", + "parse-node-version": "^1.0.0", + "time-stamp": "^1.0.0" + }, + "engines": { + "node": ">= 0.10" + } + }, "node_modules/gulp-responsive/node_modules/has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", @@ -6137,14 +5901,35 @@ "node": ">=4" } }, - "node_modules/gulp-responsive/node_modules/semver": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", - "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "node_modules/gulp-responsive/node_modules/plugin-error": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/plugin-error/-/plugin-error-1.0.1.tgz", + "integrity": "sha512-L1zP0dk7vGweZME2i+EeakvUNqSrdiI3F91TwEoYiGrAfUXmVv6fJIq4g82PAXxNsWOp0J7ZqQy/3Szz0ajTxA==", "dev": true, "dependencies": { - "lru-cache": "^6.0.0" + "ansi-colors": "^1.0.1", + "arr-diff": "^4.0.0", + "arr-union": "^3.1.0", + "extend-shallow": "^3.0.2" }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/gulp-responsive/node_modules/replace-ext": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.1.tgz", + "integrity": "sha512-yD5BHCe7quCgBph4rMQ+0KkIRKwWCrHDOX1p1Gp6HwjPM5kVoCdKGNhN7ydqqsX6lJEnQDKZ/tFMiEdQ1dvPEw==", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/gulp-responsive/node_modules/semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "dev": true, "bin": { "semver": "bin/semver.js" }, @@ -6197,6 +5982,23 @@ "readable-stream": "2 || 3" } }, + "node_modules/gulp-responsive/node_modules/vinyl": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-2.2.1.tgz", + "integrity": "sha512-LII3bXRFBZLlezoG5FfZVcXflZgWP/4dCwKtxd5ky9+LOtM4CS3bIRQsmR1KMnMW07jpE8fqR2lcxPZ+8sJIcw==", + "dev": true, + "dependencies": { + "clone": "^2.1.1", + "clone-buffer": "^1.0.0", + "clone-stats": "^1.0.0", + "cloneable-readable": "^1.0.0", + "remove-trailing-separator": "^1.0.1", + "replace-ext": "^1.0.0" + }, + "engines": { + "node": ">= 0.10" + } + }, "node_modules/gulp-sass": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/gulp-sass/-/gulp-sass-5.1.0.tgz", @@ -6213,6 +6015,31 @@ "node": ">=12" } }, + "node_modules/gulp-sass/node_modules/ansi-colors": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-1.1.0.tgz", + "integrity": "sha512-SFKX67auSNoVR38N3L+nvsPjOE0bybKTYbkf5tRvushrAPQ9V75huw0ZxBkKVeRU9kqH3d6HA4xTckbwZ4ixmA==", + "dependencies": { + "ansi-wrap": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/gulp-sass/node_modules/plugin-error": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/plugin-error/-/plugin-error-1.0.1.tgz", + "integrity": "sha512-L1zP0dk7vGweZME2i+EeakvUNqSrdiI3F91TwEoYiGrAfUXmVv6fJIq4g82PAXxNsWOp0J7ZqQy/3Szz0ajTxA==", + "dependencies": { + "ansi-colors": "^1.0.1", + "arr-diff": "^4.0.0", + "arr-union": "^3.1.0", + "extend-shallow": "^3.0.2" + }, + "engines": { + "node": ">= 0.10" + } + }, "node_modules/gulp-sourcemaps": { "version": "2.6.5", "resolved": "https://registry.npmjs.org/gulp-sourcemaps/-/gulp-sourcemaps-2.6.5.tgz", @@ -6281,17 +6108,6 @@ "node": ">=12" } }, - "node_modules/gulp-svg-sprite/node_modules/plugin-error": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/plugin-error/-/plugin-error-2.0.1.tgz", - "integrity": "sha512-zMakqvIDyY40xHOvzXka0kUvf40nYIuwRE8dWhti2WtjQZ31xAgBZBhxsK7vK3QbRXS1Xms/LO7B5cuAsfB2Gg==", - "dependencies": { - "ansi-colors": "^1.0.1" - }, - "engines": { - "node": ">=10.13.0" - } - }, "node_modules/gulp-tap": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/gulp-tap/-/gulp-tap-2.0.0.tgz", @@ -6328,49 +6144,45 @@ "vinyl-sourcemaps-apply": "^0.2.0" } }, - "node_modules/gulp-uglify/node_modules/extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", + "node_modules/gulp-uglify/node_modules/glogg": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/glogg/-/glogg-1.0.2.tgz", + "integrity": "sha512-5mwUoSuBk44Y4EshyiqcH95ZntbDdTQqA3QYSrxmzj28Ai0vXBGMH1ApSANH14j2sIRtqCEyg6PfsuP7ElOEDA==", "dependencies": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" + "sparkles": "^1.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">= 0.10" } }, - "node_modules/gulp-uglify/node_modules/is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "node_modules/gulp-uglify/node_modules/gulplog": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/gulplog/-/gulplog-1.0.0.tgz", + "integrity": "sha512-hm6N8nrm3Y08jXie48jsC55eCZz9mnb4OirAStEk2deqeyhXU3C1otDVh+ccttMuc1sBi6RX6ZJ720hs9RCvgw==", "dependencies": { - "is-plain-object": "^2.0.4" + "glogg": "^1.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">= 0.10" } }, - "node_modules/gulp-uglify/node_modules/is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "dependencies": { - "isobject": "^3.0.1" - }, + "node_modules/gulp-uglify/node_modules/sparkles": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/sparkles/-/sparkles-1.0.1.tgz", + "integrity": "sha512-dSO0DDYUahUt/0/pD/Is3VIm5TGJjludZ0HVymmhYF6eNA53PVLhnUk0znSYbH8IYBuJdCE+1luR22jNLMaQdw==", "engines": { - "node": ">=0.10.0" + "node": ">= 0.10" } }, "node_modules/gulplog": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/gulplog/-/gulplog-1.0.0.tgz", - "integrity": "sha512-hm6N8nrm3Y08jXie48jsC55eCZz9mnb4OirAStEk2deqeyhXU3C1otDVh+ccttMuc1sBi6RX6ZJ720hs9RCvgw==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/gulplog/-/gulplog-2.2.0.tgz", + "integrity": "sha512-V2FaKiOhpR3DRXZuYdRLn/qiY0yI5XmqbTKrYbdemJ+xOh2d2MOweI/XFgMzd/9+1twdvMwllnZbWZNJ+BOm4A==", "dependencies": { - "glogg": "^1.0.0" + "glogg": "^2.2.0" }, "engines": { - "node": ">= 0.10" + "node": ">= 10.13.0" } }, "node_modules/hard-rejection": { @@ -6382,17 +6194,6 @@ "node": ">=6" } }, - "node_modules/has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dependencies": { - "function-bind": "^1.1.1" - }, - "engines": { - "node": ">= 0.4.0" - } - }, "node_modules/has-bigints": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", @@ -6420,21 +6221,29 @@ "node": ">= 0.10" } }, + "node_modules/has-gulplog/node_modules/sparkles": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/sparkles/-/sparkles-1.0.1.tgz", + "integrity": "sha512-dSO0DDYUahUt/0/pD/Is3VIm5TGJjludZ0HVymmhYF6eNA53PVLhnUk0znSYbH8IYBuJdCE+1luR22jNLMaQdw==", + "engines": { + "node": ">= 0.10" + } + }, "node_modules/has-property-descriptors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", - "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", "dependencies": { - "get-intrinsic": "^1.1.1" + "es-define-property": "^1.0.0" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/has-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", - "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz", + "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==", "engines": { "node": ">= 0.4" }, @@ -6454,11 +6263,11 @@ } }, "node_modules/has-tostringtag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", - "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", "dependencies": { - "has-symbols": "^1.0.2" + "has-symbols": "^1.0.3" }, "engines": { "node": ">= 0.4" @@ -6468,9 +6277,9 @@ } }, "node_modules/hasown": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz", - "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", "dependencies": { "function-bind": "^1.1.2" }, @@ -6552,9 +6361,9 @@ ] }, "node_modules/ignore": { - "version": "5.2.4", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", - "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz", + "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==", "engines": { "node": ">= 4" } @@ -6575,9 +6384,9 @@ } }, "node_modules/immutable": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.0.tgz", - "integrity": "sha512-0AOCmOip+xgJwEVTQj1EfiDDOkPmuyllDuTuEX+DDXUgapLAsBIfkg3sxCYyCEA8mQqZrrxPUGjcOQ2JS3WLkg==" + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.7.tgz", + "integrity": "sha512-1hqclzwYwjRDFLjcFxOM5AYkkG0rpFPpr1RLPMEuGczoS7YA8gLhy8SWXYRAA/XwfEHpfo3cw5JGioS32fnMRw==" }, "node_modules/import-fresh": { "version": "3.3.0", @@ -6623,6 +6432,7 @@ "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", "dependencies": { "once": "^1.3.0", "wrappy": "1" @@ -6639,12 +6449,12 @@ "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" }, "node_modules/internal-slot": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz", - "integrity": "sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.7.tgz", + "integrity": "sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==", "dependencies": { - "get-intrinsic": "^1.2.0", - "has": "^1.0.3", + "es-errors": "^1.3.0", + "hasown": "^2.0.0", "side-channel": "^1.0.4" }, "engines": { @@ -6681,13 +6491,15 @@ } }, "node_modules/is-array-buffer": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz", - "integrity": "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==", + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.4.tgz", + "integrity": "sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==", "dependencies": { "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.0", - "is-typed-array": "^1.1.10" + "get-intrinsic": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -6747,11 +6559,28 @@ } }, "node_modules/is-core-module": { - "version": "2.13.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", - "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", + "version": "2.15.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.15.0.tgz", + "integrity": "sha512-Dd+Lb2/zvk9SKy1TGCt1wFJFo/MWBPMX5x7KcvLajWTGuomczdQX61PvY5yK6SVACwpoexWo81IfFyoKY2QnTA==", "dependencies": { - "hasown": "^2.0.0" + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-data-view": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.1.tgz", + "integrity": "sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==", + "dependencies": { + "is-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -6771,6 +6600,28 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dependencies": { + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-extendable/node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", @@ -6807,9 +6658,9 @@ } }, "node_modules/is-negative-zero": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", - "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz", + "integrity": "sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==", "engines": { "node": ">= 0.4" }, @@ -6916,11 +6767,14 @@ } }, "node_modules/is-shared-array-buffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", - "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.3.tgz", + "integrity": "sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==", "dependencies": { - "call-bind": "^1.0.2" + "call-bind": "^1.0.7" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -6966,11 +6820,11 @@ } }, "node_modules/is-typed-array": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.12.tgz", - "integrity": "sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==", + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.13.tgz", + "integrity": "sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==", "dependencies": { - "which-typed-array": "^1.1.11" + "which-typed-array": "^1.1.14" }, "engines": { "node": ">= 0.4" @@ -7131,9 +6985,9 @@ } }, "node_modules/jsonc-parser": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", - "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==", + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.1.tgz", + "integrity": "sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==", "dev": true }, "node_modules/keyboardevent-key-polyfill": { @@ -7149,6 +7003,15 @@ "json-buffer": "3.0.1" } }, + "node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/known-css-properties": { "version": "0.29.0", "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.29.0.tgz", @@ -7206,11 +7069,14 @@ } }, "node_modules/lilconfig": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.0.0.tgz", - "integrity": "sha512-K2U4W2Ff5ibV7j7ydLr+zLAkIg5JJ4lPn1Ltsdt+Tz/IjQ8buJ55pZAxoP34lqIiwtF9iAvtLv3JGv7CAyAg+g==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.2.tgz", + "integrity": "sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow==", "engines": { "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antonk52" } }, "node_modules/lines-and-columns": { @@ -7293,12 +7159,6 @@ "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", "dev": true }, - "node_modules/lodash.chunk": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/lodash.chunk/-/lodash.chunk-4.2.0.tgz", - "integrity": "sha512-ZzydJKfUHJwHa+hF5X66zLFCBrWn5GeF28OHEr4WVWtNDXlQ/IjWKPBiikqKo2ne0+v6JgCgJ0GzJp8k8bHC7w==", - "dev": true - }, "node_modules/lodash.clone": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/lodash.clone/-/lodash.clone-4.5.0.tgz", @@ -7331,9 +7191,9 @@ "dev": true }, "node_modules/logform": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/logform/-/logform-2.6.0.tgz", - "integrity": "sha512-1ulHeNPp6k/LD8H91o7VYFBng5i1BDE7HoKxVbZiGFidS1Rj65qcywLxX+pVfAPoQJEjRdvKcusKwOupHCVOVQ==", + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/logform/-/logform-2.6.1.tgz", + "integrity": "sha512-CdaO738xRapbKIMVn2m4F6KTj4j7ooJ8POVnebSgKo3KBz5axNXRAL7ZdRjIV6NOr2Uf4vjtRkxrFETOioCqSA==", "dependencies": { "@colors/colors": "1.6.0", "@types/triple-beam": "^1.3.2", @@ -7346,19 +7206,11 @@ "node": ">= 12.0.0" } }, - "node_modules/lower-case": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", - "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", - "dev": true, - "dependencies": { - "tslib": "^2.0.3" - } - }, "node_modules/lru-cache": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, "dependencies": { "yallist": "^4.0.0" }, @@ -7467,6 +7319,15 @@ "balanced-match": "^1.0.0" } }, + "node_modules/markdownlint-cli/node_modules/ignore": { + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", + "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, "node_modules/markdownlint-cli/node_modules/minimatch": { "version": "5.1.6", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", @@ -7495,9 +7356,9 @@ } }, "node_modules/mdn-data": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", - "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==" + "version": "2.0.28", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.28.tgz", + "integrity": "sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==" }, "node_modules/mdurl": { "version": "1.0.1", @@ -7506,18 +7367,21 @@ "dev": true }, "node_modules/memoizee": { - "version": "0.4.15", - "resolved": "https://registry.npmjs.org/memoizee/-/memoizee-0.4.15.tgz", - "integrity": "sha512-UBWmJpLZd5STPm7PMUlOw/TSy972M+z8gcyQ5veOnSDRREz/0bmpyTfKt3/51DhEBqCZQn1udM/5flcSPYhkdQ==", + "version": "0.4.17", + "resolved": "https://registry.npmjs.org/memoizee/-/memoizee-0.4.17.tgz", + "integrity": "sha512-DGqD7Hjpi/1or4F/aYAspXKNm5Yili0QDAFAY4QYvpqpgiY6+1jOfqpmByzjxbWd/T9mChbCArXAbDAsTm5oXA==", "dependencies": { - "d": "^1.0.1", - "es5-ext": "^0.10.53", + "d": "^1.0.2", + "es5-ext": "^0.10.64", "es6-weak-map": "^2.0.3", "event-emitter": "^0.3.5", "is-promise": "^2.2.2", "lru-queue": "^0.1.0", "next-tick": "^1.1.0", "timers-ext": "^0.1.7" + }, + "engines": { + "node": ">=0.12" } }, "node_modules/memory-fs": { @@ -7566,18 +7430,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/meow/node_modules/decamelize": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-5.0.1.tgz", - "integrity": "sha512-VfxadyCECXgQlkoEAjeghAr5gY3Hf+IKjKb+X8tGVDtveCjN+USwprd2q3QXBR9T1+x2DG0XZF5/w+7HAtSaXA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/meow/node_modules/hosted-git-info": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", @@ -7606,13 +7458,10 @@ } }, "node_modules/meow/node_modules/semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, "bin": { "semver": "bin/semver.js" }, @@ -7655,11 +7504,11 @@ } }, "node_modules/micromatch": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.7.tgz", + "integrity": "sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==", "dependencies": { - "braces": "^3.0.2", + "braces": "^3.0.3", "picomatch": "^2.3.1" }, "engines": { @@ -7670,6 +7519,7 @@ "version": "1.52.0", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "peer": true, "engines": { "node": ">= 0.6" } @@ -7678,6 +7528,7 @@ "version": "2.1.35", "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "peer": true, "dependencies": { "mime-db": "1.52.0" }, @@ -7740,15 +7591,6 @@ "node": ">= 6" } }, - "node_modules/minimist-options/node_modules/kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/mkdirp-classic": { "version": "0.5.3", "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", @@ -7820,20 +7662,10 @@ "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==" }, - "node_modules/no-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", - "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", - "dev": true, - "dependencies": { - "lower-case": "^2.0.2", - "tslib": "^2.0.3" - } - }, "node_modules/node-abi": { - "version": "3.57.0", - "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.57.0.tgz", - "integrity": "sha512-Dp+A9JWxRaKuHP35H77I4kCKesDy5HUDEmScia2FyncMTOXASMyg251F5PhFoDA5uqBrDDffiLpbqnrZmNXW+g==", + "version": "3.65.0", + "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.65.0.tgz", + "integrity": "sha512-ThjYBfoDNr08AWx6hGaRbfPwxKV9kVzAzOzlLKbk2CuqXE2xnCh+cbAGnwM3t8Lq4v9rUB7VfondlkBckcJrVA==", "dev": true, "dependencies": { "semver": "^7.3.5" @@ -7843,13 +7675,10 @@ } }, "node_modules/node-abi/node_modules/semver": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", - "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, "bin": { "semver": "bin/semver.js" }, @@ -7864,9 +7693,9 @@ "dev": true }, "node_modules/node-releases": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", - "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==" + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.18.tgz", + "integrity": "sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==" }, "node_modules/normalize-package-data": { "version": "2.5.0", @@ -8083,9 +7912,12 @@ } }, "node_modules/object-inspect": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz", - "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==", + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.2.tgz", + "integrity": "sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==", + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -8099,12 +7931,12 @@ } }, "node_modules/object.assign": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", - "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz", + "integrity": "sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", "has-symbols": "^1.0.3", "object-keys": "^1.1.1" }, @@ -8130,28 +7962,29 @@ } }, "node_modules/object.entries": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.6.tgz", - "integrity": "sha512-leTPzo4Zvg3pmbQ3rDK69Rl8GQvIqMWubrkxONG9/ojtFE2rD9fjMKfSI5BxW3osRH1m6VdzmqK8oAY9aT4x5w==", + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.8.tgz", + "integrity": "sha512-cmopxi8VwRIAw/fkijJohSfpef5PdN0pMQJN6VC/ZKvn0LIknWD8KtgY6KlQdEc4tIjcQ3HxSMmnvtzIscdaYQ==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" }, "engines": { "node": ">= 0.4" } }, "node_modules/object.fromentries": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.7.tgz", - "integrity": "sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA==", + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.8.tgz", + "integrity": "sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-object-atoms": "^1.0.0" }, "engines": { "node": ">= 0.4" @@ -8161,15 +7994,17 @@ } }, "node_modules/object.groupby": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.1.tgz", - "integrity": "sha512-HqaQtqLnp/8Bn4GL16cj+CUYbnpe1bh0TtEaWvybszDG4tgxCJuRpV8VGuvNaI1fAnI4lUJzDG55MXcOH4JZcQ==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.3.tgz", + "integrity": "sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "get-intrinsic": "^1.2.1" + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2" + }, + "engines": { + "node": ">= 0.4" } }, "node_modules/object.pick": { @@ -8184,14 +8019,14 @@ } }, "node_modules/object.values": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.7.tgz", - "integrity": "sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.2.0.tgz", + "integrity": "sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" }, "engines": { "node": ">= 0.4" @@ -8217,16 +8052,16 @@ } }, "node_modules/optionator": { - "version": "0.9.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", - "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", + "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", "dependencies": { - "@aashutoshrathi/word-wrap": "^1.2.3", "deep-is": "^0.1.3", "fast-levenshtein": "^2.0.6", "levn": "^0.4.1", "prelude-ls": "^1.2.1", - "type-check": "^0.4.0" + "type-check": "^0.4.0", + "word-wrap": "^1.2.5" }, "engines": { "node": ">= 0.8.0" @@ -8331,16 +8166,6 @@ "node": ">=0.10.0" } }, - "node_modules/pascal-case": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", - "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", - "dev": true, - "dependencies": { - "no-case": "^3.0.4", - "tslib": "^2.0.3" - } - }, "node_modules/path-exists": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", @@ -8398,9 +8223,9 @@ } }, "node_modules/picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz", + "integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==" }, "node_modules/picomatch": { "version": "2.3.1", @@ -8433,48 +8258,22 @@ } }, "node_modules/plugin-error": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/plugin-error/-/plugin-error-1.0.1.tgz", - "integrity": "sha512-L1zP0dk7vGweZME2i+EeakvUNqSrdiI3F91TwEoYiGrAfUXmVv6fJIq4g82PAXxNsWOp0J7ZqQy/3Szz0ajTxA==", - "dependencies": { - "ansi-colors": "^1.0.1", - "arr-diff": "^4.0.0", - "arr-union": "^3.1.0", - "extend-shallow": "^3.0.2" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/plugin-error/node_modules/extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", - "dependencies": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/plugin-error/node_modules/is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/plugin-error/-/plugin-error-2.0.1.tgz", + "integrity": "sha512-zMakqvIDyY40xHOvzXka0kUvf40nYIuwRE8dWhti2WtjQZ31xAgBZBhxsK7vK3QbRXS1Xms/LO7B5cuAsfB2Gg==", "dependencies": { - "is-plain-object": "^2.0.4" + "ansi-colors": "^1.0.1" }, "engines": { - "node": ">=0.10.0" + "node": ">=10.13.0" } }, - "node_modules/plugin-error/node_modules/is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "node_modules/plugin-error/node_modules/ansi-colors": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-1.1.0.tgz", + "integrity": "sha512-SFKX67auSNoVR38N3L+nvsPjOE0bybKTYbkf5tRvushrAPQ9V75huw0ZxBkKVeRU9kqH3d6HA4xTckbwZ4ixmA==", "dependencies": { - "isobject": "^3.0.1" + "ansi-wrap": "^0.1.0" }, "engines": { "node": ">=0.10.0" @@ -8492,10 +8291,18 @@ "node": ">=6" } }, + "node_modules/possible-typed-array-names": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz", + "integrity": "sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==", + "engines": { + "node": ">= 0.4" + } + }, "node_modules/postcss": { - "version": "8.4.38", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz", - "integrity": "sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==", + "version": "8.4.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.39.tgz", + "integrity": "sha512-0vzE+lAiG7hZl1/9I8yzKLx3aR9Xbof3fBHKunvMfOCYAtMhrsnccJY2iTURb9EZd5+pLuiNV9/c/GZJOHsgIw==", "funding": [ { "type": "opencollective", @@ -8512,7 +8319,7 @@ ], "dependencies": { "nanoid": "^3.3.7", - "picocolors": "^1.0.0", + "picocolors": "^1.0.1", "source-map-js": "^1.2.0" }, "engines": { @@ -8534,40 +8341,10 @@ "postcss": "^8.0.0" } }, - "node_modules/postcss-csso/node_modules/css-tree": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.2.1.tgz", - "integrity": "sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==", - "dependencies": { - "mdn-data": "2.0.28", - "source-map-js": "^1.0.1" - }, - "engines": { - "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", - "npm": ">=7.0.0" - } - }, - "node_modules/postcss-csso/node_modules/csso": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/csso/-/csso-5.0.5.tgz", - "integrity": "sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==", - "dependencies": { - "css-tree": "~2.2.0" - }, - "engines": { - "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", - "npm": ">=7.0.0" - } - }, - "node_modules/postcss-csso/node_modules/mdn-data": { - "version": "2.0.28", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.28.tgz", - "integrity": "sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==" - }, "node_modules/postcss-load-config": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-5.0.2.tgz", - "integrity": "sha512-Q8QR3FYbqOKa0bnC1UQ2bFq9/ulHX5Bi34muzitMr8aDtUelO5xKeJEYC/5smE0jNE9zdB/NBnOwXKexELbRlw==", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-5.1.0.tgz", + "integrity": "sha512-G5AJ+IX0aD0dygOE0yFZQ/huFFMSNneyfp0e3/bT05a8OfPC5FUoZRPfGijUdGOJNMewJiwzcHJXFafFzeKFVA==", "funding": [ { "type": "opencollective", @@ -8579,15 +8356,16 @@ } ], "dependencies": { - "lilconfig": "^3.0.0", - "yaml": "^2.3.4" + "lilconfig": "^3.1.1", + "yaml": "^2.4.2" }, "engines": { "node": ">= 18" }, "peerDependencies": { "jiti": ">=1.21.0", - "postcss": ">=8.0.9" + "postcss": ">=8.0.9", + "tsx": "^4.8.1" }, "peerDependenciesMeta": { "jiti": { @@ -8595,6 +8373,9 @@ }, "postcss": { "optional": true + }, + "tsx": { + "optional": true } } }, @@ -8627,9 +8408,9 @@ } }, "node_modules/postcss-scss": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/postcss-scss/-/postcss-scss-4.0.6.tgz", - "integrity": "sha512-rLDPhJY4z/i4nVFZ27j9GqLxj1pwxE80eAzUNRMXtcpipFYIeowerzBgG3yJhMtObGEXidtIgbUpQ3eLDsf5OQ==", + "version": "4.0.9", + "resolved": "https://registry.npmjs.org/postcss-scss/-/postcss-scss-4.0.9.tgz", + "integrity": "sha512-AjKOeiwAitL/MXxQW2DliT28EKukvvbEWx3LBmJIRN8KfBGZbRTxNYW0kSqi1COiTZ57nZ9NW06S6ux//N1c9A==", "dev": true, "funding": [ { @@ -8639,19 +8420,23 @@ { "type": "tidelift", "url": "https://tidelift.com/funding/github/npm/postcss-scss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" } ], "engines": { "node": ">=12.0" }, "peerDependencies": { - "postcss": "^8.4.19" + "postcss": "^8.4.29" } }, "node_modules/postcss-selector-parser": { - "version": "6.0.13", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz", - "integrity": "sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==", + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.1.tgz", + "integrity": "sha512-b4dlw/9V8A71rLIDsSwVmak9z2DuBUB7CA1/wSdelNEzqsjoSPeADTWNO09lpH49Diy3/JIZ2bSPB1dI3LJCHg==", "dev": true, "dependencies": { "cssesc": "^3.0.0", @@ -8701,6 +8486,41 @@ "node": ">=10" } }, + "node_modules/prebuild-install/node_modules/bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "dev": true, + "dependencies": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, + "node_modules/prebuild-install/node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, "node_modules/prebuild-install/node_modules/readable-stream": { "version": "3.6.2", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", @@ -8819,9 +8639,9 @@ } }, "node_modules/punycode": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", - "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", "engines": { "node": ">=6" } @@ -8979,13 +8799,10 @@ } }, "node_modules/read-pkg-up/node_modules/semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, "bin": { "semver": "bin/semver.js" }, @@ -9097,13 +8914,14 @@ } }, "node_modules/regexp.prototype.flags": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.1.tgz", - "integrity": "sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==", + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.2.tgz", + "integrity": "sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "set-function-name": "^2.0.0" + "call-bind": "^1.0.6", + "define-properties": "^1.2.1", + "es-errors": "^1.3.0", + "set-function-name": "^2.0.1" }, "engines": { "node": ">= 0.4" @@ -9262,6 +9080,7 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "deprecated": "Rimraf versions prior to v4 are no longer supported", "dependencies": { "glob": "^7.1.3" }, @@ -9276,6 +9095,7 @@ "version": "7.2.3", "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -9292,14 +9112,14 @@ } }, "node_modules/run-con": { - "version": "1.2.11", - "resolved": "https://registry.npmjs.org/run-con/-/run-con-1.2.11.tgz", - "integrity": "sha512-NEMGsUT+cglWkzEr4IFK21P4Jca45HqiAbIIZIBdX5+UZTB24Mb/21iNGgz9xZa8tL6vbW7CXmq7MFN42+VjNQ==", + "version": "1.2.12", + "resolved": "https://registry.npmjs.org/run-con/-/run-con-1.2.12.tgz", + "integrity": "sha512-5257ILMYIF4RztL9uoZ7V9Q97zHtNHn5bN3NobeAnzB1P3ASLgg8qocM2u+R18ttp+VEM78N2LK8XcNVtnSRrg==", "dev": true, "dependencies": { "deep-extend": "^0.6.0", "ini": "~3.0.0", - "minimist": "^1.2.6", + "minimist": "^1.2.8", "strip-json-comments": "~3.1.1" }, "bin": { @@ -9346,12 +9166,12 @@ } }, "node_modules/safe-array-concat": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.0.1.tgz", - "integrity": "sha512-6XbUAseYE2KtOuGueyeobCySj9L4+66Tn6KQMOPQJrAJEowYKW/YR/MGJZl7FdydUdaFu4LYyDZjxf4/Nmo23Q==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.2.tgz", + "integrity": "sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==", "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.1", + "call-bind": "^1.0.7", + "get-intrinsic": "^1.2.4", "has-symbols": "^1.0.3", "isarray": "^2.0.5" }, @@ -9387,14 +9207,17 @@ ] }, "node_modules/safe-regex-test": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz", - "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.3.tgz", + "integrity": "sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==", "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.3", + "call-bind": "^1.0.6", + "es-errors": "^1.3.0", "is-regex": "^1.1.4" }, + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -9413,9 +9236,9 @@ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, "node_modules/sass": { - "version": "1.75.0", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.75.0.tgz", - "integrity": "sha512-ShMYi3WkrDWxExyxSZPst4/okE9ts46xZmJDSawJQrnte7M1V9fScVB+uNXOVKRBt0PggHOwoZcn8mYX4trnBw==", + "version": "1.77.8", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.77.8.tgz", + "integrity": "sha512-4UHg6prsrycW20fqLGPShtEvo/WyHRVRHwOP4DzkUrObWoWI05QBSfzU71TVB7PFaL104TwNaHpjlWXAZbQiNQ==", "dependencies": { "chokidar": ">=3.0.0 <4.0.0", "immutable": "^4.0.0", @@ -9429,9 +9252,9 @@ } }, "node_modules/sass-embedded": { - "version": "1.75.0", - "resolved": "https://registry.npmjs.org/sass-embedded/-/sass-embedded-1.75.0.tgz", - "integrity": "sha512-8ZhQYJSCcjMRClyPpA09ZQ9p0Q9NtYxfMbhifBgUoQZC47Co5QJa0ykhfV/SY6mIqK7aAhMF7NAD5h0MEe2vpg==", + "version": "1.77.8", + "resolved": "https://registry.npmjs.org/sass-embedded/-/sass-embedded-1.77.8.tgz", + "integrity": "sha512-WGXA6jcaoBo5Uhw0HX/s6z/sl3zyYQ7ZOnLOJzqwpctFcFmU4L07zn51e2VSkXXFpQZFAdMZNqOGz/7h/fvcRA==", "dependencies": { "@bufbuild/protobuf": "^1.0.0", "buffer-builder": "^0.2.0", @@ -9444,29 +9267,29 @@ "node": ">=16.0.0" }, "optionalDependencies": { - "sass-embedded-android-arm": "1.75.0", - "sass-embedded-android-arm64": "1.75.0", - "sass-embedded-android-ia32": "1.75.0", - "sass-embedded-android-x64": "1.75.0", - "sass-embedded-darwin-arm64": "1.75.0", - "sass-embedded-darwin-x64": "1.75.0", - "sass-embedded-linux-arm": "1.75.0", - "sass-embedded-linux-arm64": "1.75.0", - "sass-embedded-linux-ia32": "1.75.0", - "sass-embedded-linux-musl-arm": "1.75.0", - "sass-embedded-linux-musl-arm64": "1.75.0", - "sass-embedded-linux-musl-ia32": "1.75.0", - "sass-embedded-linux-musl-x64": "1.75.0", - "sass-embedded-linux-x64": "1.75.0", - "sass-embedded-win32-arm64": "1.75.0", - "sass-embedded-win32-ia32": "1.75.0", - "sass-embedded-win32-x64": "1.75.0" + "sass-embedded-android-arm": "1.77.8", + "sass-embedded-android-arm64": "1.77.8", + "sass-embedded-android-ia32": "1.77.8", + "sass-embedded-android-x64": "1.77.8", + "sass-embedded-darwin-arm64": "1.77.8", + "sass-embedded-darwin-x64": "1.77.8", + "sass-embedded-linux-arm": "1.77.8", + "sass-embedded-linux-arm64": "1.77.8", + "sass-embedded-linux-ia32": "1.77.8", + "sass-embedded-linux-musl-arm": "1.77.8", + "sass-embedded-linux-musl-arm64": "1.77.8", + "sass-embedded-linux-musl-ia32": "1.77.8", + "sass-embedded-linux-musl-x64": "1.77.8", + "sass-embedded-linux-x64": "1.77.8", + "sass-embedded-win32-arm64": "1.77.8", + "sass-embedded-win32-ia32": "1.77.8", + "sass-embedded-win32-x64": "1.77.8" } }, "node_modules/sass-embedded-android-arm": { - "version": "1.75.0", - "resolved": "https://registry.npmjs.org/sass-embedded-android-arm/-/sass-embedded-android-arm-1.75.0.tgz", - "integrity": "sha512-3GNCfVEw2D34aEntYHv1+VFb0fOsU2nJdz/kpHXDlE7m/zIsi9ySn9WhvYlXkNQKBXvHRf8mWrU2/mC0QXTxxQ==", + "version": "1.77.8", + "resolved": "https://registry.npmjs.org/sass-embedded-android-arm/-/sass-embedded-android-arm-1.77.8.tgz", + "integrity": "sha512-GpGL7xZ7V1XpFbnflib/NWbM0euRzineK0iwoo31/ntWKAXGj03iHhGzkSiOwWSFcXgsJJi3eRA5BTmBvK5Q+w==", "cpu": [ "arm" ], @@ -9482,9 +9305,9 @@ } }, "node_modules/sass-embedded-android-arm64": { - "version": "1.75.0", - "resolved": "https://registry.npmjs.org/sass-embedded-android-arm64/-/sass-embedded-android-arm64-1.75.0.tgz", - "integrity": "sha512-puVKsTovpqntG0b/jjxg6+jWD907UEnc/oJ1ia89KRkvLOPD8kE+EYzxxRYrgaG2tiGSMZNuOmYcAKfQNdLdig==", + "version": "1.77.8", + "resolved": "https://registry.npmjs.org/sass-embedded-android-arm64/-/sass-embedded-android-arm64-1.77.8.tgz", + "integrity": "sha512-EmWHLbEx0Zo/f/lTFzMeH2Du+/I4RmSRlEnERSUKQWVp3aBSO04QDvdxfFezgQ+2Yt/ub9WMqBpma9P/8MPsLg==", "cpu": [ "arm64" ], @@ -9500,9 +9323,9 @@ } }, "node_modules/sass-embedded-android-ia32": { - "version": "1.75.0", - "resolved": "https://registry.npmjs.org/sass-embedded-android-ia32/-/sass-embedded-android-ia32-1.75.0.tgz", - "integrity": "sha512-SObSy6USALhGQoX/Lu1Gctwsb6Ob4Hkg1ISHSV8SNHeWIko4ZiHbAb1r9UMJtRznyawvZ6fjKgOY5fLJAfk3xQ==", + "version": "1.77.8", + "resolved": "https://registry.npmjs.org/sass-embedded-android-ia32/-/sass-embedded-android-ia32-1.77.8.tgz", + "integrity": "sha512-+GjfJ3lDezPi4dUUyjQBxlNKXNa+XVWsExtGvVNkv1uKyaOxULJhubVo2G6QTJJU0esJdfeXf5Ca5/J0ph7+7w==", "cpu": [ "ia32" ], @@ -9518,9 +9341,9 @@ } }, "node_modules/sass-embedded-android-x64": { - "version": "1.75.0", - "resolved": "https://registry.npmjs.org/sass-embedded-android-x64/-/sass-embedded-android-x64-1.75.0.tgz", - "integrity": "sha512-CCroBmmwbVZbwOXzFg6GdbOwcczhtjJ/75cfpAoku0InDJzxCP+sVJz8LL16rLWDsVveDoXX7JKFw9Nb9zQyjQ==", + "version": "1.77.8", + "resolved": "https://registry.npmjs.org/sass-embedded-android-x64/-/sass-embedded-android-x64-1.77.8.tgz", + "integrity": "sha512-YZbFDzGe5NhaMCygShqkeCWtzjhkWxGVunc7ULR97wmxYPQLPeVyx7XFQZc84Aj0lKAJBJS4qRZeqphMqZEJsQ==", "cpu": [ "x64" ], @@ -9536,9 +9359,9 @@ } }, "node_modules/sass-embedded-darwin-arm64": { - "version": "1.75.0", - "resolved": "https://registry.npmjs.org/sass-embedded-darwin-arm64/-/sass-embedded-darwin-arm64-1.75.0.tgz", - "integrity": "sha512-lb7Wkq69+AfD/tnopRX9RSu3d99Gsu1iIAhs3GyMh2N2AnVooASqKJ6I3IAbKnGh+MkXOISsoeyTP4hSnPyuqw==", + "version": "1.77.8", + "resolved": "https://registry.npmjs.org/sass-embedded-darwin-arm64/-/sass-embedded-darwin-arm64-1.77.8.tgz", + "integrity": "sha512-aifgeVRNE+i43toIkDFFJc/aPLMo0PJ5s5hKb52U+oNdiJE36n65n2L8F/8z3zZRvCa6eYtFY2b7f1QXR3B0LA==", "cpu": [ "arm64" ], @@ -9554,9 +9377,9 @@ } }, "node_modules/sass-embedded-darwin-x64": { - "version": "1.75.0", - "resolved": "https://registry.npmjs.org/sass-embedded-darwin-x64/-/sass-embedded-darwin-x64-1.75.0.tgz", - "integrity": "sha512-Lw02PAS0bY7Q4v2fWxlFUU/T/1AV49H2+Oirxtij5nF8rTgjNHlr/7cOQp/f8bRdG5SnPhJspy//c6K8X7cF9w==", + "version": "1.77.8", + "resolved": "https://registry.npmjs.org/sass-embedded-darwin-x64/-/sass-embedded-darwin-x64-1.77.8.tgz", + "integrity": "sha512-/VWZQtcWIOek60Zj6Sxk6HebXA1Qyyt3sD8o5qwbTgZnKitB1iEBuNunyGoAgMNeUz2PRd6rVki6hvbas9hQ6w==", "cpu": [ "x64" ], @@ -9572,9 +9395,9 @@ } }, "node_modules/sass-embedded-linux-arm": { - "version": "1.75.0", - "resolved": "https://registry.npmjs.org/sass-embedded-linux-arm/-/sass-embedded-linux-arm-1.75.0.tgz", - "integrity": "sha512-s4yDbv/MEMVWr6E6uk7T/Fh4iX71NQDBDVQ/tbq4+VgF/SAo2YdnW1p97zwJjqwxNgIo76o21HaZO4rs66Ur8A==", + "version": "1.77.8", + "resolved": "https://registry.npmjs.org/sass-embedded-linux-arm/-/sass-embedded-linux-arm-1.77.8.tgz", + "integrity": "sha512-2edZMB6jf0whx3T0zlgH+p131kOEmWp+I4wnKj7ZMUeokiY4Up05d10hSvb0Q63lOrSjFAWu6P5/pcYUUx8arQ==", "cpu": [ "arm" ], @@ -9590,9 +9413,9 @@ } }, "node_modules/sass-embedded-linux-arm64": { - "version": "1.75.0", - "resolved": "https://registry.npmjs.org/sass-embedded-linux-arm64/-/sass-embedded-linux-arm64-1.75.0.tgz", - "integrity": "sha512-v1d1Zzje46dXzRFm594RfkwdFnbPz1vlxM5vtLoz2d/r+TijhpVzNyy4dY4Dz0MEIcAU+edzB2P9MIHdX9yP9A==", + "version": "1.77.8", + "resolved": "https://registry.npmjs.org/sass-embedded-linux-arm64/-/sass-embedded-linux-arm64-1.77.8.tgz", + "integrity": "sha512-6iIOIZtBFa2YfMsHqOb3qake3C9d/zlKxjooKKnTSo+6g6z+CLTzMXe1bOfayb7yxeenElmFoK1k54kWD/40+g==", "cpu": [ "arm64" ], @@ -9608,9 +9431,9 @@ } }, "node_modules/sass-embedded-linux-ia32": { - "version": "1.75.0", - "resolved": "https://registry.npmjs.org/sass-embedded-linux-ia32/-/sass-embedded-linux-ia32-1.75.0.tgz", - "integrity": "sha512-fxpWoX9Bc4rSA863aehnPPibiIRisSBktqKY5vkQnTg4L7SDxPwXMvHeL0LZQOG1t6+baSnjhOUZSjfwbl09MQ==", + "version": "1.77.8", + "resolved": "https://registry.npmjs.org/sass-embedded-linux-ia32/-/sass-embedded-linux-ia32-1.77.8.tgz", + "integrity": "sha512-63GsFFHWN5yRLTWiSef32TM/XmjhCBx1DFhoqxmj+Yc6L9Z1h0lDHjjwdG6Sp5XTz5EmsaFKjpDgnQTP9hJX3Q==", "cpu": [ "ia32" ], @@ -9626,9 +9449,9 @@ } }, "node_modules/sass-embedded-linux-musl-arm": { - "version": "1.75.0", - "resolved": "https://registry.npmjs.org/sass-embedded-linux-musl-arm/-/sass-embedded-linux-musl-arm-1.75.0.tgz", - "integrity": "sha512-mVczW2hkGxXAs8I7H+m4bfZZIHd9tFR+UA2mHI+XkLE+cjyPC2FuWokc+WXyaWpqbE/KDSwqgSqY08zND7gcbA==", + "version": "1.77.8", + "resolved": "https://registry.npmjs.org/sass-embedded-linux-musl-arm/-/sass-embedded-linux-musl-arm-1.77.8.tgz", + "integrity": "sha512-nFkhSl3uu9btubm+JBW7uRglNVJ8W8dGfzVqh3fyQJKS1oyBC3vT3VOtfbT9YivXk28wXscSHpqXZwY7bUuopA==", "cpu": [ "arm" ], @@ -9641,9 +9464,9 @@ } }, "node_modules/sass-embedded-linux-musl-arm64": { - "version": "1.75.0", - "resolved": "https://registry.npmjs.org/sass-embedded-linux-musl-arm64/-/sass-embedded-linux-musl-arm64-1.75.0.tgz", - "integrity": "sha512-5ZlghwIG82spTNvutXbyXRC2cOMx7TZdWoiEqZ5QXuhChB35AHk43Ex1CdItPOLX0JjRv5eSuSelCY4nBGDe8A==", + "version": "1.77.8", + "resolved": "https://registry.npmjs.org/sass-embedded-linux-musl-arm64/-/sass-embedded-linux-musl-arm64-1.77.8.tgz", + "integrity": "sha512-j8cgQxNWecYK+aH8ESFsyam/Q6G+9gg8eJegiRVpA9x8yk3ykfHC7UdQWwUcF22ZcuY4zegrjJx8k+thsgsOVA==", "cpu": [ "arm64" ], @@ -9656,9 +9479,9 @@ } }, "node_modules/sass-embedded-linux-musl-ia32": { - "version": "1.75.0", - "resolved": "https://registry.npmjs.org/sass-embedded-linux-musl-ia32/-/sass-embedded-linux-musl-ia32-1.75.0.tgz", - "integrity": "sha512-8RjKtvc1F9xP1hr+ht72CawkSr7/fZMSAhE/TORFncsPKpwN2WGqkoTBXdL22WGwi95ZAz5Zr2ZnGy8OXMDprQ==", + "version": "1.77.8", + "resolved": "https://registry.npmjs.org/sass-embedded-linux-musl-ia32/-/sass-embedded-linux-musl-ia32-1.77.8.tgz", + "integrity": "sha512-oWveMe+8TFlP8WBWPna/+Ec5TV0CE+PxEutyi0ltSruBds2zxRq9dPVOqrpPcDN9QUx50vNZC0Afgch0aQEd0g==", "cpu": [ "ia32" ], @@ -9671,9 +9494,9 @@ } }, "node_modules/sass-embedded-linux-musl-x64": { - "version": "1.75.0", - "resolved": "https://registry.npmjs.org/sass-embedded-linux-musl-x64/-/sass-embedded-linux-musl-x64-1.75.0.tgz", - "integrity": "sha512-bsuOEy6rjIwfc7qihDSrEnmaePUn8bR5NAAzeljlfQkRFRxivB1gysQfRPjLPbheJfChFDLiiFX2z2CQkcdKuQ==", + "version": "1.77.8", + "resolved": "https://registry.npmjs.org/sass-embedded-linux-musl-x64/-/sass-embedded-linux-musl-x64-1.77.8.tgz", + "integrity": "sha512-2NtRpMXHeFo9kaYxuZ+Ewwo39CE7BTS2JDfXkTjZTZqd8H+8KC53eBh516YQnn2oiqxSiKxm7a6pxbxGZGwXOQ==", "cpu": [ "x64" ], @@ -9686,9 +9509,9 @@ } }, "node_modules/sass-embedded-linux-x64": { - "version": "1.75.0", - "resolved": "https://registry.npmjs.org/sass-embedded-linux-x64/-/sass-embedded-linux-x64-1.75.0.tgz", - "integrity": "sha512-L7x3orLODCRds6PpDfrb6bbh6IdqHDzcwyt6VkcbTN+KtbMI4PfNGKHeo7f2K8wMbCiFK3BGJqMSPxNRuVp19A==", + "version": "1.77.8", + "resolved": "https://registry.npmjs.org/sass-embedded-linux-x64/-/sass-embedded-linux-x64-1.77.8.tgz", + "integrity": "sha512-ND5qZLWUCpOn7LJfOf0gLSZUWhNIysY+7NZK1Ctq+pM6tpJky3JM5I1jSMplNxv5H3o8p80n0gSm+fcjsEFfjQ==", "cpu": [ "x64" ], @@ -9704,9 +9527,9 @@ } }, "node_modules/sass-embedded-win32-arm64": { - "version": "1.75.0", - "resolved": "https://registry.npmjs.org/sass-embedded-win32-arm64/-/sass-embedded-win32-arm64-1.75.0.tgz", - "integrity": "sha512-wdVHtJBVykRWA2YEYsJ1bLf9sjcwa9BhHRzf03nSwS88Vc7GmflY6HyuY2Ynz+dWoth7MelgJL/XlonOs5y6/Q==", + "version": "1.77.8", + "resolved": "https://registry.npmjs.org/sass-embedded-win32-arm64/-/sass-embedded-win32-arm64-1.77.8.tgz", + "integrity": "sha512-7L8zT6xzEvTYj86MvUWnbkWYCNQP+74HvruLILmiPPE+TCgOjgdi750709BtppVJGGZSs40ZuN6mi/YQyGtwXg==", "cpu": [ "arm64" ], @@ -9722,9 +9545,9 @@ } }, "node_modules/sass-embedded-win32-ia32": { - "version": "1.75.0", - "resolved": "https://registry.npmjs.org/sass-embedded-win32-ia32/-/sass-embedded-win32-ia32-1.75.0.tgz", - "integrity": "sha512-q/uE8q8PLG7Y7mcP1Lsiwg+6FwShj8dLk76Fa2FB68odLn42/aZ2eDHbpy+bbMgAqZqlcDDsqbCDHF9O3d0KrA==", + "version": "1.77.8", + "resolved": "https://registry.npmjs.org/sass-embedded-win32-ia32/-/sass-embedded-win32-ia32-1.77.8.tgz", + "integrity": "sha512-7Buh+4bP0WyYn6XPbthkIa3M2vtcR8QIsFVg3JElVlr+8Ng19jqe0t0SwggDgbMX6AdQZC+Wj4F1BprZSok42A==", "cpu": [ "ia32" ], @@ -9740,9 +9563,9 @@ } }, "node_modules/sass-embedded-win32-x64": { - "version": "1.75.0", - "resolved": "https://registry.npmjs.org/sass-embedded-win32-x64/-/sass-embedded-win32-x64-1.75.0.tgz", - "integrity": "sha512-lIT3ziKm2L9XGwP3S1D0Kk9ySJ6lVBLm+GZ2goQi8cAWepHSnmRz+mcd/AEqxDGEvrgNmmmvu3ylwlJ/6Nrm9w==", + "version": "1.77.8", + "resolved": "https://registry.npmjs.org/sass-embedded-win32-x64/-/sass-embedded-win32-x64-1.77.8.tgz", + "integrity": "sha512-rZmLIx4/LLQm+4GW39sRJW0MIlDqmyV0fkRzTmhFP5i/wVC7cuj8TUubPHw18rv2rkHFfBZKZJTCkPjCS5Z+SA==", "cpu": [ "x64" ], @@ -9837,44 +9660,47 @@ } }, "node_modules/serialize-javascript": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.1.tgz", - "integrity": "sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", + "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", "dependencies": { "randombytes": "^2.1.0" } }, "node_modules/set-function-length": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.1.1.tgz", - "integrity": "sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", "dependencies": { - "define-data-property": "^1.1.1", - "get-intrinsic": "^1.2.1", + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.0" + "has-property-descriptors": "^1.0.2" }, "engines": { "node": ">= 0.4" } }, "node_modules/set-function-name": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.1.tgz", - "integrity": "sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz", + "integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==", "dependencies": { - "define-data-property": "^1.0.1", + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", "functions-have-names": "^1.2.3", - "has-property-descriptors": "^1.0.0" + "has-property-descriptors": "^1.0.2" }, "engines": { "node": ">= 0.4" } }, "node_modules/sharp": { - "version": "0.33.3", - "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.33.3.tgz", - "integrity": "sha512-vHUeXJU1UvlO/BNwTpT0x/r53WkLUVxrmb5JTgW92fdFCFk0ispLMAeu/jPO2vjkXM1fYUi3K7/qcLF47pwM1A==", + "version": "0.33.4", + "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.33.4.tgz", + "integrity": "sha512-7i/dt5kGl7qR4gwPRD2biwD2/SvBn3O04J77XKFgL2OnZtQw+AG9wnuS/csmu80nPRHLYE9E41fyEiG8nhH6/Q==", "hasInstallScript": true, "dependencies": { "color": "^4.2.3", @@ -9889,8 +9715,8 @@ "url": "https://opencollective.com/libvips" }, "optionalDependencies": { - "@img/sharp-darwin-arm64": "0.33.3", - "@img/sharp-darwin-x64": "0.33.3", + "@img/sharp-darwin-arm64": "0.33.4", + "@img/sharp-darwin-x64": "0.33.4", "@img/sharp-libvips-darwin-arm64": "1.0.2", "@img/sharp-libvips-darwin-x64": "1.0.2", "@img/sharp-libvips-linux-arm": "1.0.2", @@ -9899,24 +9725,21 @@ "@img/sharp-libvips-linux-x64": "1.0.2", "@img/sharp-libvips-linuxmusl-arm64": "1.0.2", "@img/sharp-libvips-linuxmusl-x64": "1.0.2", - "@img/sharp-linux-arm": "0.33.3", - "@img/sharp-linux-arm64": "0.33.3", - "@img/sharp-linux-s390x": "0.33.3", - "@img/sharp-linux-x64": "0.33.3", - "@img/sharp-linuxmusl-arm64": "0.33.3", - "@img/sharp-linuxmusl-x64": "0.33.3", - "@img/sharp-wasm32": "0.33.3", - "@img/sharp-win32-ia32": "0.33.3", - "@img/sharp-win32-x64": "0.33.3" + "@img/sharp-linux-arm": "0.33.4", + "@img/sharp-linux-arm64": "0.33.4", + "@img/sharp-linux-s390x": "0.33.4", + "@img/sharp-linux-x64": "0.33.4", + "@img/sharp-linuxmusl-arm64": "0.33.4", + "@img/sharp-linuxmusl-x64": "0.33.4", + "@img/sharp-wasm32": "0.33.4", + "@img/sharp-win32-ia32": "0.33.4", + "@img/sharp-win32-x64": "0.33.4" } }, "node_modules/sharp/node_modules/semver": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", - "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", - "dependencies": { - "lru-cache": "^6.0.0" - }, + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", "bin": { "semver": "bin/semver.js" }, @@ -9952,22 +9775,26 @@ } }, "node_modules/side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz", + "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", "dependencies": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4", + "object-inspect": "^1.13.1" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/signal-exit": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.0.2.tgz", - "integrity": "sha512-MY2/qGx4enyjprQnFaZsHib3Yadh3IXyV2C321GY0pjGfVBu4un0uDJkwgdxqO+Rdx8JMT8IfJIRwbYVz3Ob3Q==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", "dev": true, "engines": { "node": ">=14" @@ -10104,11 +9931,11 @@ "deprecated": "See https://github.com/lydell/source-map-url#deprecated" }, "node_modules/sparkles": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/sparkles/-/sparkles-1.0.1.tgz", - "integrity": "sha512-dSO0DDYUahUt/0/pD/Is3VIm5TGJjludZ0HVymmhYF6eNA53PVLhnUk0znSYbH8IYBuJdCE+1luR22jNLMaQdw==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/sparkles/-/sparkles-2.1.0.tgz", + "integrity": "sha512-r7iW1bDw8R/cFifrD3JnQJX0K1jqT0kprL48BiBpLZLJPmAm34zsVBsK5lc7HirZYZqMW65dOXZgbAGt/I6frg==", "engines": { - "node": ">= 0.10" + "node": ">= 10.13.0" } }, "node_modules/spdx-correct": { @@ -10121,9 +9948,9 @@ } }, "node_modules/spdx-exceptions": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", - "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==" + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz", + "integrity": "sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==" }, "node_modules/spdx-expression-parse": { "version": "3.0.1", @@ -10135,9 +9962,9 @@ } }, "node_modules/spdx-license-ids": { - "version": "3.0.13", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.13.tgz", - "integrity": "sha512-XkD+zwiqXHikFZm4AX/7JSCXA98U5Db4AFd5XUg/+9UNtnH75+Z9KxtpYiJZx36mUDVOwH83pl7yvCer6ewM3w==" + "version": "3.0.18", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.18.tgz", + "integrity": "sha512-xxRs31BqRYHwiMzudOrpSiHtZ8i/GeionCBDSilhYRj+9gIcI8wCZTlXZKu9vZIVqViP3dcp9qE5G6AlIaD+TQ==" }, "node_modules/stable": { "version": "0.1.8", @@ -10167,12 +9994,13 @@ "integrity": "sha512-b/qaq/GlBK5xaq1yrK9/zFcyRSTNxmcZwFLGSTG0mXgZl/4Z6GgiyYOXOvY7N3eEvFRAG1bkDRz5EPGSvPYQlw==" }, "node_modules/streamx": { - "version": "2.16.1", - "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.16.1.tgz", - "integrity": "sha512-m9QYj6WygWyWa3H1YY69amr4nVgy61xfjys7xO7kviL5rfIEc2naf+ewFiOA+aEJD7y0JO3h2GoiUv4TDwEGzQ==", + "version": "2.18.0", + "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.18.0.tgz", + "integrity": "sha512-LLUC1TWdjVdn1weXGcSxyTR3T4+acB6tVGXT95y0nGbca4t4o/ng1wKAGTljm9VicuCVLvRlqFYXYy5GwgM7sQ==", "dependencies": { - "fast-fifo": "^1.1.0", - "queue-tick": "^1.0.1" + "fast-fifo": "^1.3.2", + "queue-tick": "^1.0.1", + "text-decoder": "^1.1.0" }, "optionalDependencies": { "bare-events": "^2.2.0" @@ -10210,13 +10038,14 @@ } }, "node_modules/string.prototype.padend": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/string.prototype.padend/-/string.prototype.padend-3.1.4.tgz", - "integrity": "sha512-67otBXoksdjsnXXRUq+KMVTdlVRZ2af422Y0aTyTjVaoQkGr3mxl2Bc5emi7dOQ3OGVVQQskmLEWwFXwommpNw==", + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/string.prototype.padend/-/string.prototype.padend-3.1.6.tgz", + "integrity": "sha512-XZpspuSB7vJWhvJc9DLSlrXl1mcA2BdoY5jjnS135ydXqLoqhs96JjDtCkjJEQHvfqZIp9hBuBMgI589peyx9Q==", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-object-atoms": "^1.0.0" }, "engines": { "node": ">= 0.4" @@ -10226,13 +10055,14 @@ } }, "node_modules/string.prototype.trim": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.8.tgz", - "integrity": "sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==", + "version": "1.2.9", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.9.tgz", + "integrity": "sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.0", + "es-object-atoms": "^1.0.0" }, "engines": { "node": ">= 0.4" @@ -10242,26 +10072,29 @@ } }, "node_modules/string.prototype.trimend": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.7.tgz", - "integrity": "sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==", + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.8.tgz", + "integrity": "sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/string.prototype.trimstart": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.7.tgz", - "integrity": "sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==", + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz", + "integrity": "sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -10338,8 +10171,7 @@ "node_modules/strnum": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/strnum/-/strnum-1.0.5.tgz", - "integrity": "sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==", - "dev": true + "integrity": "sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==" }, "node_modules/style-search": { "version": "0.1.0", @@ -10485,14 +10317,14 @@ "dev": true }, "node_modules/stylelint/node_modules/cosmiconfig": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.2.0.tgz", - "integrity": "sha512-3rTMnFJA1tCOPwRxtgF4wd7Ab2qvDbL8jX+3smjIbS4HlZBagTlpERbdN7iAbWlrfxE3M8c27kTwTawQ7st+OQ==", + "version": "8.3.6", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.3.6.tgz", + "integrity": "sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==", "dev": true, "dependencies": { - "import-fresh": "^3.2.1", + "import-fresh": "^3.3.0", "js-yaml": "^4.1.0", - "parse-json": "^5.0.0", + "parse-json": "^5.2.0", "path-type": "^4.0.0" }, "engines": { @@ -10500,6 +10332,14 @@ }, "funding": { "url": "https://github.com/sponsors/d-fischer" + }, + "peerDependencies": { + "typescript": ">=4.9.5" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, "node_modules/stylelint/node_modules/css-tree": { @@ -10569,15 +10409,6 @@ "node": ">=6" } }, - "node_modules/stylelint/node_modules/kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/stylelint/node_modules/mdn-data": { "version": "2.0.30", "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz", @@ -10691,23 +10522,76 @@ "node": ">=12" } }, + "node_modules/svg-sprite/node_modules/css-tree": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", + "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", + "dependencies": { + "mdn-data": "2.0.14", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/svg-sprite/node_modules/csso": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", + "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", + "dependencies": { + "css-tree": "^1.1.2" + }, + "engines": { + "node": ">=8.0.0" + } + }, "node_modules/svg-sprite/node_modules/glob": { "version": "7.2.3", "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/svg-sprite/node_modules/mdn-data": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", + "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==" + }, + "node_modules/svg-sprite/node_modules/replace-ext": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.1.tgz", + "integrity": "sha512-yD5BHCe7quCgBph4rMQ+0KkIRKwWCrHDOX1p1Gp6HwjPM5kVoCdKGNhN7ydqqsX6lJEnQDKZ/tFMiEdQ1dvPEw==", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/svg-sprite/node_modules/vinyl": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-2.2.1.tgz", + "integrity": "sha512-LII3bXRFBZLlezoG5FfZVcXflZgWP/4dCwKtxd5ky9+LOtM4CS3bIRQsmR1KMnMW07jpE8fqR2lcxPZ+8sJIcw==", "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "clone": "^2.1.1", + "clone-buffer": "^1.0.0", + "clone-stats": "^1.0.0", + "cloneable-readable": "^1.0.0", + "remove-trailing-separator": "^1.0.1", + "replace-ext": "^1.0.0" }, "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "node": ">= 0.10" } }, "node_modules/svg-sprite/node_modules/yargs": { @@ -10761,10 +10645,38 @@ "node": ">= 10" } }, + "node_modules/svgo/node_modules/css-tree": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", + "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", + "dependencies": { + "mdn-data": "2.0.14", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/svgo/node_modules/csso": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", + "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", + "dependencies": { + "css-tree": "^1.1.2" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/svgo/node_modules/mdn-data": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", + "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==" + }, "node_modules/table": { - "version": "6.8.1", - "resolved": "https://registry.npmjs.org/table/-/table-6.8.1.tgz", - "integrity": "sha512-Y4X9zqrCftUhMeH2EptSSERdVKt/nEdijTOacGD/97EKjhQ/Qs8RTlEGABSJNNN8lac9kheH+af7yAkEWlgneA==", + "version": "6.8.2", + "resolved": "https://registry.npmjs.org/table/-/table-6.8.2.tgz", + "integrity": "sha512-w2sfv80nrAh2VCbqR5AK27wswXhqcck2AhfnNW76beQXskGZ1V12GwS//yYVa3d3fcvAip2OUnbDAjW2k3v9fA==", "dev": true, "dependencies": { "ajv": "^8.0.1", @@ -10787,9 +10699,9 @@ } }, "node_modules/tar-fs": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-3.0.5.tgz", - "integrity": "sha512-JOgGAmZyMgbqpLwct7ZV8VzkEB6pxXFBVErLtb+XCOqzc6w1xiWKI9GVd6bwk68EX7eJ4DWmfXVmq8K2ziZTGg==", + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-3.0.6.tgz", + "integrity": "sha512-iokBDQQkUyeXhgPYaZxmczGPhnhXZ0CmrqI+MOb/WFGS9DW5wnfrLgtjUJBvz50vQ3qfRwJ62QVoCFu8mPVu5w==", "dev": true, "dependencies": { "pump": "^3.0.0", @@ -10820,9 +10732,9 @@ } }, "node_modules/terser": { - "version": "5.31.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.31.0.tgz", - "integrity": "sha512-Q1JFAoUKE5IMfI4Z/lkE/E6+SwgzO+x4tq4v1AyBLRj8VSYvRO6A/rQrPg1yud4g0En9EKI1TvFRF2tQFcoUkg==", + "version": "5.31.3", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.31.3.tgz", + "integrity": "sha512-pAfYn3NIZLyZpa83ZKigvj6Rn9c/vd5KfYGX7cN1mnzqgDcxWvrU5ZtAfIKhEXz9nRecw4z3LXkjaq96/qZqAA==", "dependencies": { "@jridgewell/source-map": "^0.3.3", "acorn": "^8.8.2", @@ -10874,6 +10786,14 @@ "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" }, + "node_modules/text-decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/text-decoder/-/text-decoder-1.1.1.tgz", + "integrity": "sha512-8zll7REEv4GDD3x4/0pW+ppIxSNs7H1J10IKFZsuOMscumCdM2a+toDGLPA3T+1+fLBql4zbt5z83GEQGGV5VA==", + "dependencies": { + "b4a": "^1.6.4" + } + }, "node_modules/text-hex": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/text-hex/-/text-hex-1.0.0.tgz", @@ -10918,12 +10838,15 @@ } }, "node_modules/timers-ext": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/timers-ext/-/timers-ext-0.1.7.tgz", - "integrity": "sha512-b85NUNzTSdodShTIbky6ZF02e8STtVVfD+fu4aXXShEELpozH+bCpJLYMPZbsABN2wDH7fJpqIoXxJpzbf0NqQ==", + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/timers-ext/-/timers-ext-0.1.8.tgz", + "integrity": "sha512-wFH7+SEAcKfJpfLPkrgMPvvwnEtj8W4IurvEyrKsDleXnKLCDw71w8jltvfLa8Rm4qQxxT4jmDBYbJG/z7qoww==", "dependencies": { - "es5-ext": "~0.10.46", - "next-tick": "1" + "es5-ext": "^0.10.64", + "next-tick": "^1.1.0" + }, + "engines": { + "node": ">=0.12" } }, "node_modules/to-regex-range": { @@ -10981,9 +10904,9 @@ } }, "node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz", + "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==" }, "node_modules/tunnel-agent": { "version": "0.6.0", @@ -10998,9 +10921,9 @@ } }, "node_modules/type": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz", - "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==" + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/type/-/type-2.7.3.tgz", + "integrity": "sha512-8j+1QmAbPvLZow5Qpi6NCaN8FB60p/6x8/vfNqOk/hC+HuvFZhL4+WfekuhQLiqFZXOgQdrs3B+XxEmCc6b3FQ==" }, "node_modules/type-check": { "version": "0.4.0", @@ -11025,27 +10948,28 @@ } }, "node_modules/typed-array-buffer": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.0.tgz", - "integrity": "sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.2.tgz", + "integrity": "sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==", "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.1", - "is-typed-array": "^1.1.10" + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "is-typed-array": "^1.1.13" }, "engines": { "node": ">= 0.4" } }, "node_modules/typed-array-byte-length": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.0.tgz", - "integrity": "sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.1.tgz", + "integrity": "sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==", "dependencies": { - "call-bind": "^1.0.2", + "call-bind": "^1.0.7", "for-each": "^0.3.3", - "has-proto": "^1.0.1", - "is-typed-array": "^1.1.10" + "gopd": "^1.0.1", + "has-proto": "^1.0.3", + "is-typed-array": "^1.1.13" }, "engines": { "node": ">= 0.4" @@ -11055,15 +10979,16 @@ } }, "node_modules/typed-array-byte-offset": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.0.tgz", - "integrity": "sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.2.tgz", + "integrity": "sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==", "dependencies": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.7", "for-each": "^0.3.3", - "has-proto": "^1.0.1", - "is-typed-array": "^1.1.10" + "gopd": "^1.0.1", + "has-proto": "^1.0.3", + "is-typed-array": "^1.1.13" }, "engines": { "node": ">= 0.4" @@ -11073,13 +10998,19 @@ } }, "node_modules/typed-array-length": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz", - "integrity": "sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==", + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.6.tgz", + "integrity": "sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==", "dependencies": { - "call-bind": "^1.0.2", + "call-bind": "^1.0.7", "for-each": "^0.3.3", - "is-typed-array": "^1.1.9" + "gopd": "^1.0.1", + "has-proto": "^1.0.3", + "is-typed-array": "^1.1.13", + "possible-typed-array-names": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -11092,9 +11023,9 @@ "dev": true }, "node_modules/uglify-js": { - "version": "3.17.4", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.17.4.tgz", - "integrity": "sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g==", + "version": "3.19.0", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.19.0.tgz", + "integrity": "sha512-wNKHUY2hYYkf6oSFfhwwiHo4WCHzHmzcXsqXYTN9ja3iApYIFbb2U6ics9hBcYLHcYGQoAlwnZlTrf3oF+BL/Q==", "bin": { "uglifyjs": "bin/uglifyjs" }, @@ -11163,10 +11094,15 @@ "fastest-levenshtein": "^1.0.7" } }, + "node_modules/undici-types": { + "version": "5.26.5", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==" + }, "node_modules/update-browserslist-db": { - "version": "1.0.13", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", - "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.0.tgz", + "integrity": "sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==", "funding": [ { "type": "opencollective", @@ -11182,8 +11118,8 @@ } ], "dependencies": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" + "escalade": "^3.1.2", + "picocolors": "^1.0.1" }, "bin": { "update-browserslist-db": "cli.js" @@ -11211,6 +11147,18 @@ "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" }, + "node_modules/uuid": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", + "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==", + "funding": [ + "https://github.com/sponsors/broofa", + "https://github.com/sponsors/ctavan" + ], + "bin": { + "uuid": "dist/bin/uuid" + } + }, "node_modules/v8flags": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-4.0.1.tgz", @@ -11242,19 +11190,18 @@ "integrity": "sha512-cXEIW6cfr15lFv563k4GuVuW/fiwjknytD37jIOLSdSWuOI6WnO/oKwmP2FQTU2l01LP8/M5TSAJpzUaGe3uWg==" }, "node_modules/vinyl": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-2.2.1.tgz", - "integrity": "sha512-LII3bXRFBZLlezoG5FfZVcXflZgWP/4dCwKtxd5ky9+LOtM4CS3bIRQsmR1KMnMW07jpE8fqR2lcxPZ+8sJIcw==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-3.0.0.tgz", + "integrity": "sha512-rC2VRfAVVCGEgjnxHUnpIVh3AGuk62rP3tqVrn+yab0YH7UULisC085+NYH+mnqf3Wx4SpSi1RQMwudL89N03g==", "dependencies": { - "clone": "^2.1.1", - "clone-buffer": "^1.0.0", + "clone": "^2.1.2", "clone-stats": "^1.0.0", - "cloneable-readable": "^1.0.0", - "remove-trailing-separator": "^1.0.1", - "replace-ext": "^1.0.0" + "remove-trailing-separator": "^1.1.0", + "replace-ext": "^2.0.0", + "teex": "^1.0.1" }, "engines": { - "node": ">= 0.10" + "node": ">=10.13.0" } }, "node_modules/vinyl-contents": { @@ -11269,44 +11216,6 @@ "node": ">=10.13.0" } }, - "node_modules/vinyl-contents/node_modules/bl": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/bl/-/bl-5.1.0.tgz", - "integrity": "sha512-tv1ZJHLfTDnXE6tMHv73YgSJaWR2AFuPwMntBe7XL/GBFHnT0CLnsHMogfk5+GzCDC5ZWarSCYaIGATZt9dNsQ==", - "dependencies": { - "buffer": "^6.0.3", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" - } - }, - "node_modules/vinyl-contents/node_modules/readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/vinyl-contents/node_modules/vinyl": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-3.0.0.tgz", - "integrity": "sha512-rC2VRfAVVCGEgjnxHUnpIVh3AGuk62rP3tqVrn+yab0YH7UULisC085+NYH+mnqf3Wx4SpSi1RQMwudL89N03g==", - "dependencies": { - "clone": "^2.1.2", - "clone-stats": "^1.0.0", - "remove-trailing-separator": "^1.1.0", - "replace-ext": "^2.0.0", - "teex": "^1.0.1" - }, - "engines": { - "node": ">=10.13.0" - } - }, "node_modules/vinyl-fs": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/vinyl-fs/-/vinyl-fs-4.0.0.tgz", @@ -11331,21 +11240,6 @@ "node": ">=10.13.0" } }, - "node_modules/vinyl-fs/node_modules/vinyl": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-3.0.0.tgz", - "integrity": "sha512-rC2VRfAVVCGEgjnxHUnpIVh3AGuk62rP3tqVrn+yab0YH7UULisC085+NYH+mnqf3Wx4SpSi1RQMwudL89N03g==", - "dependencies": { - "clone": "^2.1.2", - "clone-stats": "^1.0.0", - "remove-trailing-separator": "^1.1.0", - "replace-ext": "^2.0.0", - "teex": "^1.0.1" - }, - "engines": { - "node": ">=10.13.0" - } - }, "node_modules/vinyl-paths": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/vinyl-paths/-/vinyl-paths-3.0.1.tgz", @@ -11389,21 +11283,6 @@ "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==" }, - "node_modules/vinyl-sourcemap/node_modules/vinyl": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-3.0.0.tgz", - "integrity": "sha512-rC2VRfAVVCGEgjnxHUnpIVh3AGuk62rP3tqVrn+yab0YH7UULisC085+NYH+mnqf3Wx4SpSi1RQMwudL89N03g==", - "dependencies": { - "clone": "^2.1.2", - "clone-stats": "^1.0.0", - "remove-trailing-separator": "^1.1.0", - "replace-ext": "^2.0.0", - "teex": "^1.0.1" - }, - "engines": { - "node": ">=10.13.0" - } - }, "node_modules/vinyl-sourcemaps-apply": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/vinyl-sourcemaps-apply/-/vinyl-sourcemaps-apply-0.2.1.tgz", @@ -11420,18 +11299,10 @@ "node": ">=0.10.0" } }, - "node_modules/vinyl/node_modules/replace-ext": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.1.tgz", - "integrity": "sha512-yD5BHCe7quCgBph4rMQ+0KkIRKwWCrHDOX1p1Gp6HwjPM5kVoCdKGNhN7ydqqsX6lJEnQDKZ/tFMiEdQ1dvPEw==", - "engines": { - "node": ">= 0.10" - } - }, "node_modules/watchpack": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", - "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.1.tgz", + "integrity": "sha512-8wrBCMtVhqcXP2Sup1ctSkga6uc2Bx0IIvKyT7yTFier5AXHooSI+QyQQAtTb7+E0IUCCKyTFmXqdqgum2XWGg==", "peer": true, "dependencies": { "glob-to-regexp": "^0.4.1", @@ -11442,34 +11313,34 @@ } }, "node_modules/webpack": { - "version": "5.88.2", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.88.2.tgz", - "integrity": "sha512-JmcgNZ1iKj+aiR0OvTYtWQqJwq37Pf683dY9bVORwVbUrDhLhdn/PlO2sHsFHPkj7sHNQF3JwaAkp49V+Sq1tQ==", + "version": "5.93.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.93.0.tgz", + "integrity": "sha512-Y0m5oEY1LRuwly578VqluorkXbvXKh7U3rLoQCEO04M97ScRr44afGVkI0FQFsXzysk5OgFAxjZAb9rsGQVihA==", "peer": true, "dependencies": { "@types/eslint-scope": "^3.7.3", - "@types/estree": "^1.0.0", - "@webassemblyjs/ast": "^1.11.5", - "@webassemblyjs/wasm-edit": "^1.11.5", - "@webassemblyjs/wasm-parser": "^1.11.5", + "@types/estree": "^1.0.5", + "@webassemblyjs/ast": "^1.12.1", + "@webassemblyjs/wasm-edit": "^1.12.1", + "@webassemblyjs/wasm-parser": "^1.12.1", "acorn": "^8.7.1", - "acorn-import-assertions": "^1.9.0", - "browserslist": "^4.14.5", + "acorn-import-attributes": "^1.9.5", + "browserslist": "^4.21.10", "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.15.0", + "enhanced-resolve": "^5.17.0", "es-module-lexer": "^1.2.1", "eslint-scope": "5.1.1", "events": "^3.2.0", "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.2.9", + "graceful-fs": "^4.2.11", "json-parse-even-better-errors": "^2.3.1", "loader-runner": "^4.2.0", "mime-types": "^2.1.27", "neo-async": "^2.6.2", "schema-utils": "^3.2.0", "tapable": "^2.1.1", - "terser-webpack-plugin": "^5.3.7", - "watchpack": "^2.4.0", + "terser-webpack-plugin": "^5.3.10", + "watchpack": "^2.4.1", "webpack-sources": "^3.2.3" }, "bin": { @@ -11518,6 +11389,53 @@ "webpack": "^5.21.2" } }, + "node_modules/webpack-stream/node_modules/ansi-colors": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-1.1.0.tgz", + "integrity": "sha512-SFKX67auSNoVR38N3L+nvsPjOE0bybKTYbkf5tRvushrAPQ9V75huw0ZxBkKVeRU9kqH3d6HA4xTckbwZ4ixmA==", + "dependencies": { + "ansi-wrap": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webpack-stream/node_modules/fancy-log": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/fancy-log/-/fancy-log-1.3.3.tgz", + "integrity": "sha512-k9oEhlyc0FrVh25qYuSELjr8oxsCoc4/LEZfg2iJJrfEk/tZL9bCoJE47gqAvI2m/AUjluCS4+3I0eTx8n3AEw==", + "dependencies": { + "ansi-gray": "^0.1.1", + "color-support": "^1.1.3", + "parse-node-version": "^1.0.0", + "time-stamp": "^1.0.0" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/webpack-stream/node_modules/plugin-error": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/plugin-error/-/plugin-error-1.0.1.tgz", + "integrity": "sha512-L1zP0dk7vGweZME2i+EeakvUNqSrdiI3F91TwEoYiGrAfUXmVv6fJIq4g82PAXxNsWOp0J7ZqQy/3Szz0ajTxA==", + "dependencies": { + "ansi-colors": "^1.0.1", + "arr-diff": "^4.0.0", + "arr-union": "^3.1.0", + "extend-shallow": "^3.0.2" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/webpack-stream/node_modules/replace-ext": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.1.tgz", + "integrity": "sha512-yD5BHCe7quCgBph4rMQ+0KkIRKwWCrHDOX1p1Gp6HwjPM5kVoCdKGNhN7ydqqsX6lJEnQDKZ/tFMiEdQ1dvPEw==", + "engines": { + "node": ">= 0.10" + } + }, "node_modules/webpack-stream/node_modules/supports-color": { "version": "8.1.1", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", @@ -11532,6 +11450,22 @@ "url": "https://github.com/chalk/supports-color?sponsor=1" } }, + "node_modules/webpack-stream/node_modules/vinyl": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-2.2.1.tgz", + "integrity": "sha512-LII3bXRFBZLlezoG5FfZVcXflZgWP/4dCwKtxd5ky9+LOtM4CS3bIRQsmR1KMnMW07jpE8fqR2lcxPZ+8sJIcw==", + "dependencies": { + "clone": "^2.1.1", + "clone-buffer": "^1.0.0", + "clone-stats": "^1.0.0", + "cloneable-readable": "^1.0.0", + "remove-trailing-separator": "^1.0.1", + "replace-ext": "^1.0.0" + }, + "engines": { + "node": ">= 0.10" + } + }, "node_modules/webpack/node_modules/eslint-scope": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", @@ -11554,15 +11488,6 @@ "node": ">=4.0" } }, - "node_modules/webpack/node_modules/events": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", - "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", - "peer": true, - "engines": { - "node": ">=0.8.x" - } - }, "node_modules/which": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", @@ -11593,15 +11518,15 @@ } }, "node_modules/which-typed-array": { - "version": "1.1.13", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.13.tgz", - "integrity": "sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow==", + "version": "1.1.15", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.15.tgz", + "integrity": "sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==", "dependencies": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.4", + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.7", "for-each": "^0.3.3", "gopd": "^1.0.1", - "has-tostringtag": "^1.0.0" + "has-tostringtag": "^1.0.2" }, "engines": { "node": ">= 0.4" @@ -11611,15 +11536,15 @@ } }, "node_modules/winston": { - "version": "3.13.0", - "resolved": "https://registry.npmjs.org/winston/-/winston-3.13.0.tgz", - "integrity": "sha512-rwidmA1w3SE4j0E5MuIufFhyJPBDG7Nu71RkZor1p2+qHvJSZ9GYDA81AyleQcZbh/+V6HjeBdfnTZJm9rSeQQ==", + "version": "3.13.1", + "resolved": "https://registry.npmjs.org/winston/-/winston-3.13.1.tgz", + "integrity": "sha512-SvZit7VFNvXRzbqGHsv5KSmgbEYR5EiQfDAL9gxYkRqa934Hnk++zze0wANKtMHcy/gI4W/3xmSDwlhf865WGw==", "dependencies": { "@colors/colors": "^1.6.0", "@dabh/diagnostics": "^2.0.2", "async": "^3.2.3", "is-stream": "^2.0.0", - "logform": "^2.4.0", + "logform": "^2.6.0", "one-time": "^1.0.0", "readable-stream": "^3.4.0", "safe-stable-stringify": "^2.3.1", @@ -11632,12 +11557,12 @@ } }, "node_modules/winston-transport": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/winston-transport/-/winston-transport-4.7.0.tgz", - "integrity": "sha512-ajBj65K5I7denzer2IYW6+2bNIVqLGDHqDw3Ow8Ohh+vdW+rv4MZ6eiDvHoKhfJFZ2auyN8byXieDDJ96ViONg==", + "version": "4.7.1", + "resolved": "https://registry.npmjs.org/winston-transport/-/winston-transport-4.7.1.tgz", + "integrity": "sha512-wQCXXVgfv/wUPOfb2x0ruxzwkcZfxcktz6JIMUaPLmcNhO4bZTwA/WtDWK74xV3F2dKu8YadrFv0qhwYjVEwhA==", "dependencies": { - "logform": "^2.3.2", - "readable-stream": "^3.6.0", + "logform": "^2.6.1", + "readable-stream": "^3.6.2", "triple-beam": "^1.3.0" }, "engines": { @@ -11670,6 +11595,14 @@ "node": ">= 6" } }, + "node_modules/word-wrap": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/wrap-ansi": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", @@ -11731,12 +11664,16 @@ "node_modules/yallist": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true }, "node_modules/yaml": { - "version": "2.3.4", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.4.tgz", - "integrity": "sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA==", + "version": "2.4.5", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.4.5.tgz", + "integrity": "sha512-aBx2bnqDzVOyNKfsysjA2ms5ZlnjSAW2eG3/L5G/CSujfjLJTJsEw1bGw8kCf04KodQWk1pxlGnZ56CRxiawmg==", + "bin": { + "yaml": "bin.mjs" + }, "engines": { "node": ">= 14" } diff --git a/package.json b/package.json index 7028326d8c..0ed7bcb920 100644 --- a/package.json +++ b/package.json @@ -35,6 +35,7 @@ }, "license": "", "dependencies": { + "@aws-sdk/client-s3": "^3.614.0", "@prantlf/jsonlint": "^14.0.3", "@uswds/uswds": "^3.7.1", "autoprefixer": "^10.4.16", @@ -64,7 +65,6 @@ "eslint-config-prettier": "^9.1.0", "eslint-plugin-import": "^2.29.1", "eslint-plugin-prettier": "^4.2.1", - "gulp-awspublish": "^8.0.0", "gulp-rename": "^2.0.0", "gulp-responsive": "3.0.1", "gulp-strip-css-comments": "^3.0.0", diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 0000000000..3b6dee0ab6 --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,108 @@ +{ + "compilerOptions": { + /* Visit https://aka.ms/tsconfig to read more about this file */ + + /* Projects */ + // "incremental": true, /* Save .tsbuildinfo files to allow for incremental compilation of projects. */ + // "composite": true, /* Enable constraints that allow a TypeScript project to be used with project references. */ + // "tsBuildInfoFile": "./.tsbuildinfo", /* Specify the path to .tsbuildinfo incremental compilation file. */ + // "disableSourceOfProjectReferenceRedirect": true, /* Disable preferring source files instead of declaration files when referencing composite projects. */ + // "disableSolutionSearching": true, /* Opt a project out of multi-project reference checking when editing. */ + // "disableReferencedProjectLoad": true, /* Reduce the number of projects loaded automatically by TypeScript. */ + + /* Language and Environment */ + "target": "ESNext", /* Set the JavaScript language version for emitted JavaScript and include compatible library declarations. */ + // "lib": [], /* Specify a set of bundled library declaration files that describe the target runtime environment. */ + // "jsx": "preserve", /* Specify what JSX code is generated. */ + // "experimentalDecorators": true, /* Enable experimental support for legacy experimental decorators. */ + // "emitDecoratorMetadata": true, /* Emit design-type metadata for decorated declarations in source files. */ + // "jsxFactory": "", /* Specify the JSX factory function used when targeting React JSX emit, e.g. 'React.createElement' or 'h'. */ + // "jsxFragmentFactory": "", /* Specify the JSX Fragment reference used for fragments when targeting React JSX emit e.g. 'React.Fragment' or 'Fragment'. */ + // "jsxImportSource": "", /* Specify module specifier used to import the JSX factory functions when using 'jsx: react-jsx*'. */ + // "reactNamespace": "", /* Specify the object invoked for 'createElement'. This only applies when targeting 'react' JSX emit. */ + // "noLib": true, /* Disable including any library files, including the default lib.d.ts. */ + // "useDefineForClassFields": true, /* Emit ECMAScript-standard-compliant class fields. */ + // "moduleDetection": "auto", /* Control what method is used to detect module-format JS files. */ + + /* Modules */ + "module": "commonjs", /* Specify what module code is generated. */ + // "rootDir": "./", /* Specify the root folder within your source files. */ + // "moduleResolution": "node10", /* Specify how TypeScript looks up a file from a given module specifier. */ + // "baseUrl": "./", /* Specify the base directory to resolve non-relative module names. */ + // "paths": {}, /* Specify a set of entries that re-map imports to additional lookup locations. */ + // "rootDirs": [], /* Allow multiple folders to be treated as one when resolving modules. */ + // "typeRoots": [], /* Specify multiple folders that act like './node_modules/@types'. */ + // "types": [], /* Specify type package names to be included without being referenced in a source file. */ + // "allowUmdGlobalAccess": true, /* Allow accessing UMD globals from modules. */ + // "moduleSuffixes": [], /* List of file name suffixes to search when resolving a module. */ + // "allowImportingTsExtensions": true, /* Allow imports to include TypeScript file extensions. Requires '--moduleResolution bundler' and either '--noEmit' or '--emitDeclarationOnly' to be set. */ + // "resolvePackageJsonExports": true, /* Use the package.json 'exports' field when resolving package imports. */ + // "resolvePackageJsonImports": true, /* Use the package.json 'imports' field when resolving imports. */ + // "customConditions": [], /* Conditions to set in addition to the resolver-specific defaults when resolving imports. */ + // "resolveJsonModule": true, /* Enable importing .json files. */ + // "allowArbitraryExtensions": true, /* Enable importing files with any extension, provided a declaration file is present. */ + // "noResolve": true, /* Disallow 'import's, 'require's or ''s from expanding the number of files TypeScript should add to a project. */ + + /* JavaScript Support */ + // "allowJs": true, /* Allow JavaScript files to be a part of your program. Use the 'checkJS' option to get errors from these files. */ + // "checkJs": true, /* Enable error reporting in type-checked JavaScript files. */ + // "maxNodeModuleJsDepth": 1, /* Specify the maximum folder depth used for checking JavaScript files from 'node_modules'. Only applicable with 'allowJs'. */ + + /* Emit */ + // "declaration": true, /* Generate .d.ts files from TypeScript and JavaScript files in your project. */ + // "declarationMap": true, /* Create sourcemaps for d.ts files. */ + // "emitDeclarationOnly": true, /* Only output d.ts files and not JavaScript files. */ + // "sourceMap": true, /* Create source map files for emitted JavaScript files. */ + // "inlineSourceMap": true, /* Include sourcemap files inside the emitted JavaScript. */ + // "outFile": "./", /* Specify a file that bundles all outputs into one JavaScript file. If 'declaration' is true, also designates a file that bundles all .d.ts output. */ + // "outDir": "./", /* Specify an output folder for all emitted files. */ + // "removeComments": true, /* Disable emitting comments. */ + // "noEmit": true, /* Disable emitting files from a compilation. */ + // "importHelpers": true, /* Allow importing helper functions from tslib once per project, instead of including them per-file. */ + // "downlevelIteration": true, /* Emit more compliant, but verbose and less performant JavaScript for iteration. */ + // "sourceRoot": "", /* Specify the root path for debuggers to find the reference source code. */ + // "mapRoot": "", /* Specify the location where debugger should locate map files instead of generated locations. */ + // "inlineSources": true, /* Include source code in the sourcemaps inside the emitted JavaScript. */ + // "emitBOM": true, /* Emit a UTF-8 Byte Order Mark (BOM) in the beginning of output files. */ + // "newLine": "crlf", /* Set the newline character for emitting files. */ + // "stripInternal": true, /* Disable emitting declarations that have '@internal' in their JSDoc comments. */ + // "noEmitHelpers": true, /* Disable generating custom helper functions like '__extends' in compiled output. */ + // "noEmitOnError": true, /* Disable emitting files if any type checking errors are reported. */ + // "preserveConstEnums": true, /* Disable erasing 'const enum' declarations in generated code. */ + // "declarationDir": "./", /* Specify the output directory for generated declaration files. */ + + /* Interop Constraints */ + // "isolatedModules": true, /* Ensure that each file can be safely transpiled without relying on other imports. */ + // "verbatimModuleSyntax": true, /* Do not transform or elide any imports or exports not marked as type-only, ensuring they are written in the output file's format based on the 'module' setting. */ + // "isolatedDeclarations": true, /* Require sufficient annotation on exports so other tools can trivially generate declaration files. */ + // "allowSyntheticDefaultImports": true, /* Allow 'import x from y' when a module doesn't have a default export. */ + "esModuleInterop": true, /* Emit additional JavaScript to ease support for importing CommonJS modules. This enables 'allowSyntheticDefaultImports' for type compatibility. */ + // "preserveSymlinks": true, /* Disable resolving symlinks to their realpath. This correlates to the same flag in node. */ + "forceConsistentCasingInFileNames": true, /* Ensure that casing is correct in imports. */ + + /* Type Checking */ + "strict": true, /* Enable all strict type-checking options. */ + // "noImplicitAny": true, /* Enable error reporting for expressions and declarations with an implied 'any' type. */ + // "strictNullChecks": true, /* When type checking, take into account 'null' and 'undefined'. */ + // "strictFunctionTypes": true, /* When assigning functions, check to ensure parameters and the return values are subtype-compatible. */ + // "strictBindCallApply": true, /* Check that the arguments for 'bind', 'call', and 'apply' methods match the original function. */ + // "strictPropertyInitialization": true, /* Check for class properties that are declared but not set in the constructor. */ + // "noImplicitThis": true, /* Enable error reporting when 'this' is given the type 'any'. */ + // "useUnknownInCatchVariables": true, /* Default catch clause variables as 'unknown' instead of 'any'. */ + // "alwaysStrict": true, /* Ensure 'use strict' is always emitted. */ + // "noUnusedLocals": true, /* Enable error reporting when local variables aren't read. */ + // "noUnusedParameters": true, /* Raise an error when a function parameter isn't read. */ + // "exactOptionalPropertyTypes": true, /* Interpret optional property types as written, rather than adding 'undefined'. */ + // "noImplicitReturns": true, /* Enable error reporting for codepaths that do not explicitly return in a function. */ + // "noFallthroughCasesInSwitch": true, /* Enable error reporting for fallthrough cases in switch statements. */ + // "noUncheckedIndexedAccess": true, /* Add 'undefined' to a type when accessed using an index. */ + // "noImplicitOverride": true, /* Ensure overriding members in derived classes are marked with an override modifier. */ + // "noPropertyAccessFromIndexSignature": true, /* Enforces using indexed accessors for keys declared using an indexed type. */ + // "allowUnusedLabels": true, /* Disable error reporting for unused labels. */ + // "allowUnreachableCode": true, /* Disable error reporting for unreachable code. */ + + /* Completeness */ + // "skipDefaultLibCheck": true, /* Skip type checking .d.ts files that are included with TypeScript. */ + "skipLibCheck": true /* Skip type checking all .d.ts files. */ + } +} From 807e8960c8a4a961df022162bb59d04261fc29bd Mon Sep 17 00:00:00 2001 From: Riley Seaburg Date: Tue, 23 Jul 2024 12:39:50 -0500 Subject: [PATCH 068/171] fix import issue --- gulpfile.js | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/gulpfile.js b/gulpfile.js index bbafc19e26..cc2d3ff765 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -1,13 +1,11 @@ // Import Gulp 5 -const { parallel, series, src, watch } = require("gulp"); -const uploadModule = require("./config/typescript/upload"); +const { parallel, series, src, watch } = require("gulp"); // Import task functions // file tasks upload both images (png,jpg,jpeg) and static files (pdf, xls,...) to their respective s3 buckets const file = { prep: require("./config/gulp/file-prep"), process: require("./config/gulp/file-process"), - upload: require("./config/gulp/file-upload"), - cleanup: require("./config/gulp/cleanup"), + upload: require("./config/gulp/upload") }; const scripts = require("./config/gulp/scripts"); const styles = require("./config/gulp/styles"); @@ -19,7 +17,7 @@ const styles = require("./config/gulp/styles"); * @returns a completed task */ function uploadTask(cb) { - return uploadModule().then(() => cb()).catch(err => cb(err)); + return file.upload().then(() => cb()).catch(err => cb(err)); } function watchUploads() { From 4938a26ad737d701dcd8ad75dbb65d3823fe0c45 Mon Sep 17 00:00:00 2001 From: Toni Bonitto Date: Tue, 23 Jul 2024 13:54:09 -0400 Subject: [PATCH 069/171] =?UTF-8?q?Create=20Author=20=E2=80=9Cmerrybelle-g?= =?UTF-8?q?uo/=5Findex=E2=80=9D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- content/authors/merrybelle-guo/_index.md | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 content/authors/merrybelle-guo/_index.md diff --git a/content/authors/merrybelle-guo/_index.md b/content/authors/merrybelle-guo/_index.md new file mode 100644 index 0000000000..326a656c98 --- /dev/null +++ b/content/authors/merrybelle-guo/_index.md @@ -0,0 +1,10 @@ +--- +display_name: Merrybelle Guo +first_name: Merrybelle +last_name: Guo +# e.g. U.S. General Services Administration +agency_full_name: U.S. Food and Drug Administration +# Agency Acronym [e.g., GSA] +agency: FDA +slug: merrybelle-guo +--- From 1adc9a99bdaeb7c66d34a6d6c080d154c760ecdc Mon Sep 17 00:00:00 2001 From: Toni Bonitto Date: Tue, 23 Jul 2024 14:11:27 -0400 Subject: [PATCH 070/171] =?UTF-8?q?Create=20Author=20=E2=80=9Cemily-mcdona?= =?UTF-8?q?ld/=5Findex=E2=80=9D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- content/authors/emily-mcdonald/_index.md | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 content/authors/emily-mcdonald/_index.md diff --git a/content/authors/emily-mcdonald/_index.md b/content/authors/emily-mcdonald/_index.md new file mode 100644 index 0000000000..eb68f7a5ce --- /dev/null +++ b/content/authors/emily-mcdonald/_index.md @@ -0,0 +1,10 @@ +--- +display_name: Emily McDonald +first_name: Emily +last_name: McDonald +# e.g. U.S. General Services Administration +agency_full_name: U.S. Food and Drug Administration +# Agency Acronym [e.g., GSA] +agency: FDA +slug: emily-mcdonald +--- From 5678180b3ce537927d7a1d68f3c5b9340adc0ed9 Mon Sep 17 00:00:00 2001 From: Riley Seaburg Date: Tue, 23 Jul 2024 13:53:17 -0500 Subject: [PATCH 071/171] Fix mime type issue --- config/gulp/readme.md | 2 +- config/gulp/upload.js | 327 +++++++++++++----------------------- config/typescript/upload.ts | 10 +- package-lock.json | 10 +- package.json | 2 + tsconfig.json | 120 ++----------- 6 files changed, 151 insertions(+), 320 deletions(-) diff --git a/config/gulp/readme.md b/config/gulp/readme.md index 09cac7e31f..5e554b8e88 100644 --- a/config/gulp/readme.md +++ b/config/gulp/readme.md @@ -22,7 +22,7 @@ npm i -g typescript Then run this: ``` -tsc config/typescript/upload.ts --outDir config/gulp +tsc ``` 4. `scripts.js`: Bundles and compiles JavaScript files using webpack. diff --git a/config/gulp/upload.js b/config/gulp/upload.js index 4abac30c1e..fe7be92a53 100644 --- a/config/gulp/upload.js +++ b/config/gulp/upload.js @@ -1,221 +1,136 @@ "use strict"; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - return new (P || (P = Promise))(function (resolve, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -var __generator = (this && this.__generator) || function (thisArg, body) { - var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; - return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; - function verb(n) { return function (v) { return step([n, v]); }; } - function step(op) { - if (f) throw new TypeError("Generator is already executing."); - while (g && (g = 0, op[0] && (_ = 0)), _) try { - if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; - if (y = 0, t) op = [op[0] & 2, t.value]; - switch (op[0]) { - case 0: case 1: t = op; break; - case 4: _.label++; return { value: op[1], done: false }; - case 5: _.label++; y = op[1]; op = [0]; continue; - case 7: op = _.ops.pop(); _.trys.pop(); continue; - default: - if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } - if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } - if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } - if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } - if (t[2]) _.ops.pop(); - _.trys.pop(); continue; - } - op = body.call(thisArg, _); - } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } - if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; }; -var AWS = require("@aws-sdk/client-s3"); -var dotenv_1 = require("dotenv"); -var fs = require("fs"); -var path = require("path"); -var promises_1 = require("fs/promises"); +const AWS = __importStar(require("@aws-sdk/client-s3")); +const dotenv_1 = require("dotenv"); +const fs = __importStar(require("fs")); +const path = require("path"); +const promises_1 = require("fs/promises"); +const mimeTypes = __importStar(require("mime-types")); (0, dotenv_1.config)(); -var client = new AWS.S3Client({ +const client = new AWS.S3Client({ region: "us-east-1", credentials: { accessKeyId: process.env.AWS_ACCESS_KEY_ID, secretAccessKey: process.env.AWS_SECRET_ACCESS_KEY } }); -var bucketName = "digitalgov"; -var imageDir = "content/uploads/_working-images/processed/"; -var fileDir = "content/uploads/_working-files/to-process/"; -function uploadImage(filePath, fileName) { - return __awaiter(this, void 0, void 0, function () { - var fileContent, url, error_1; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: - _a.trys.push([0, 4, , 5]); - return [4 /*yield*/, fs.promises.readFile(filePath)]; - case 1: - fileContent = _a.sent(); - return [4 /*yield*/, client.send(new AWS.PutObjectCommand({ - Bucket: bucketName, - Key: fileName, - Body: fileContent, - ContentType: "image/jpeg", // Adjust content type as needed - ACL: "public-read" - }))]; - case 2: - _a.sent(); - url = "https://".concat(bucketName, ".s3.amazonaws.com/").concat(fileName); - console.log("Image uploaded successfully. Public URL:", url); - return [4 /*yield*/, fs.promises.unlink(filePath)]; - case 3: - _a.sent(); - return [2 /*return*/, url]; - case 4: - error_1 = _a.sent(); - console.error("Error uploading image", error_1); - if (error_1 instanceof Error) { - console.error("Error message:", error_1.message); - } - if ('$metadata' in error_1) { - console.error("Error metadata:", error_1.$metadata); - } - return [3 /*break*/, 5]; - case 5: return [2 /*return*/]; - } - }); - }); +const bucketName = "digitalgov"; +const imageDir = "content/uploads/_working-images/processed/"; +const fileDir = "content/uploads/_working-files/to-process/"; +async function uploadImage(filePath, fileName) { + try { + const fileContent = await fs.promises.readFile(filePath); + let contentType = mimeTypes.lookup(filePath) || "application/octet-stream"; + await client.send(new AWS.PutObjectCommand({ + Bucket: bucketName, + Key: fileName, + Body: fileContent, + ContentType: contentType, + ACL: "public-read" + })); + const url = `https://${bucketName}.s3.amazonaws.com/${fileName}`; + console.log("Image uploaded successfully. Public URL:", url); + await fs.promises.unlink(filePath); + return url; + } + catch (error) { + console.error("Error uploading image", error); + if (error instanceof Error) { + console.error("Error message:", error.message); + } + if ('$metadata' in error) { + console.error("Error metadata:", error.$metadata); + } + } } -function uploadFile(filePath, fileName) { - return __awaiter(this, void 0, void 0, function () { - var fileContent, url, error_2; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: - _a.trys.push([0, 4, , 5]); - return [4 /*yield*/, fs.promises.readFile(filePath)]; - case 1: - fileContent = _a.sent(); - return [4 /*yield*/, client.send(new AWS.PutObjectCommand({ - Bucket: bucketName, - Key: "static/".concat(fileName), - Body: fileContent, - ContentType: "application/octet-stream", - ACL: "public-read" - }))]; - case 2: - _a.sent(); - url = "https://".concat(bucketName, ".s3.amazonaws.com/static/").concat(fileName); - console.log("File uploaded successfully. Public URL:", url); - return [4 /*yield*/, fs.promises.unlink(filePath)]; - case 3: - _a.sent(); - return [2 /*return*/, url]; - case 4: - error_2 = _a.sent(); - console.error("Error uploading file", error_2); - if (error_2 instanceof Error) { - console.error("Error message:", error_2.message); - } - if ('$metadata' in error_2) { - console.error("Error metadata:", error_2.$metadata); - } - return [3 /*break*/, 5]; - case 5: return [2 /*return*/]; - } - }); - }); +async function uploadFile(filePath, fileName) { + try { + const fileContent = await fs.promises.readFile(filePath); + await client.send(new AWS.PutObjectCommand({ + Bucket: bucketName, + Key: `static/${fileName}`, + Body: fileContent, + ContentType: "application/octet-stream", + ACL: "public-read" + })); + const url = `https://${bucketName}.s3.amazonaws.com/static/${fileName}`; + console.log("File uploaded successfully. Public URL:", url); + await fs.promises.unlink(filePath); + return url; + } + catch (error) { + console.error("Error uploading file", error); + if (error instanceof Error) { + console.error("Error message:", error.message); + } + if ('$metadata' in error) { + console.error("Error metadata:", error.$metadata); + } + } } -function cleanup() { - return __awaiter(this, void 0, void 0, function () { - var imageWorkingDir, fileWorkingDir, deletions, error_3; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: - imageWorkingDir = "content/uploads/_working-images"; - fileWorkingDir = "content/uploads/_working-files"; - deletions = []; - if (fs.existsSync(imageWorkingDir)) { - deletions.push((0, promises_1.rm)(imageWorkingDir, { recursive: true, force: true })); - } - if (fs.existsSync(fileWorkingDir)) { - deletions.push((0, promises_1.rm)(fileWorkingDir, { recursive: true, force: true })); - } - _a.label = 1; - case 1: - _a.trys.push([1, 3, , 4]); - return [4 /*yield*/, Promise.all(deletions)]; - case 2: - _a.sent(); - console.log('Cleanup completed'); - return [3 /*break*/, 4]; - case 3: - error_3 = _a.sent(); - console.error('Cleanup failed:', error_3); - throw error_3; - case 4: return [2 /*return*/]; - } - }); - }); +async function cleanup() { + const imageWorkingDir = "content/uploads/_working-images"; + const fileWorkingDir = "content/uploads/_working-files"; + const deletions = []; + if (fs.existsSync(imageWorkingDir)) { + deletions.push((0, promises_1.rm)(imageWorkingDir, { recursive: true, force: true })); + } + if (fs.existsSync(fileWorkingDir)) { + deletions.push((0, promises_1.rm)(fileWorkingDir, { recursive: true, force: true })); + } + try { + await Promise.all(deletions); + console.log('Cleanup completed'); + } + catch (error) { + console.error('Cleanup failed:', error); + throw error; + } } -var upload = function () { return __awaiter(void 0, void 0, void 0, function () { - var imageDirExists, imageFiles, fileDirExists, fileFiles, _i, imageFiles_1, file, filePath, _a, fileFiles_1, file, filePath, error_4; - return __generator(this, function (_b) { - switch (_b.label) { - case 0: - imageDirExists = fs.existsSync(imageDir); - imageFiles = imageDirExists ? fs.readdirSync(imageDir) : []; - fileDirExists = fs.existsSync(fileDir); - fileFiles = fileDirExists ? fs.readdirSync(fileDir) : []; - _b.label = 1; - case 1: - _b.trys.push([1, 11, , 12]); - _i = 0, imageFiles_1 = imageFiles; - _b.label = 2; - case 2: - if (!(_i < imageFiles_1.length)) return [3 /*break*/, 5]; - file = imageFiles_1[_i]; - filePath = path.join(imageDir, file); - return [4 /*yield*/, uploadImage(filePath, file)]; - case 3: - _b.sent(); - _b.label = 4; - case 4: - _i++; - return [3 /*break*/, 2]; - case 5: - _a = 0, fileFiles_1 = fileFiles; - _b.label = 6; - case 6: - if (!(_a < fileFiles_1.length)) return [3 /*break*/, 9]; - file = fileFiles_1[_a]; - filePath = path.join(fileDir, file); - return [4 /*yield*/, uploadFile(filePath, file)]; - case 7: - _b.sent(); - _b.label = 8; - case 8: - _a++; - return [3 /*break*/, 6]; - case 9: - console.log("All uploads completed successfully."); - // Run cleanup after uploads - return [4 /*yield*/, cleanup()]; - case 10: - // Run cleanup after uploads - _b.sent(); - return [3 /*break*/, 12]; - case 11: - error_4 = _b.sent(); - console.error("Upload process failed:", error_4); - return [3 /*break*/, 12]; - case 12: return [2 /*return*/]; +const upload = async () => { + let imageDirExists = fs.existsSync(imageDir); + let imageFiles = imageDirExists ? fs.readdirSync(imageDir) : []; + let fileDirExists = fs.existsSync(fileDir); + let fileFiles = fileDirExists ? fs.readdirSync(fileDir) : []; + try { + // Upload image files + for (const file of imageFiles) { + const filePath = path.join(imageDir, file); + await uploadImage(filePath, file); } - }); -}); }; + // Upload static files + for (const file of fileFiles) { + const filePath = path.join(fileDir, file); + await uploadFile(filePath, file); + } + console.log("All uploads completed successfully."); + // Run cleanup after uploads + await cleanup(); + } + catch (error) { + console.error("Upload process failed:", error); + } +}; module.exports = upload; diff --git a/config/typescript/upload.ts b/config/typescript/upload.ts index 43fc1da4ae..f3e1f7af0a 100644 --- a/config/typescript/upload.ts +++ b/config/typescript/upload.ts @@ -3,7 +3,7 @@ import { config } from "dotenv"; import * as fs from "fs"; import path = require("path"); import { rm } from "fs/promises"; - +import * as mimeTypes from "mime-types"; config(); const client = new AWS.S3Client({ @@ -22,12 +22,12 @@ const fileDir = "content/uploads/_working-files/to-process/"; async function uploadImage(filePath: string, fileName: string): Promise { try { const fileContent = await fs.promises.readFile(filePath); - + let contentType = mimeTypes.lookup(filePath) || "application/octet-stream"; await client.send(new AWS.PutObjectCommand({ Bucket: bucketName, Key: fileName, Body: fileContent, - ContentType: "image/jpeg", // Adjust content type as needed + ContentType: contentType, ACL: "public-read" })); @@ -36,7 +36,7 @@ async function uploadImage(filePath: string, fileName: string): Promise= 0.6" } @@ -7528,7 +7535,6 @@ "version": "2.1.35", "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "peer": true, "dependencies": { "mime-db": "1.52.0" }, diff --git a/package.json b/package.json index 0ed7bcb920..ccdf9b2666 100644 --- a/package.json +++ b/package.json @@ -50,6 +50,7 @@ "gulp-svg-sprite": "^2.0.3", "gulp-uglify": "^3.0.2", "list.js": "^2.3.1", + "mime-types": "^2.1.35", "npm-run-all": "^4.1.5", "postcss-csso": "^6.0.1", "sass": "^1.69.7", @@ -60,6 +61,7 @@ }, "devDependencies": { "@18f/identity-stylelint-config": "^2.0.0", + "@types/mime-types": "^2.1.4", "dotenv": "^16.3.1", "eslint-config-airbnb-base": "^15.0.0", "eslint-config-prettier": "^9.1.0", diff --git a/tsconfig.json b/tsconfig.json index 3b6dee0ab6..b8925fb1e5 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,108 +1,16 @@ { "compilerOptions": { - /* Visit https://aka.ms/tsconfig to read more about this file */ - - /* Projects */ - // "incremental": true, /* Save .tsbuildinfo files to allow for incremental compilation of projects. */ - // "composite": true, /* Enable constraints that allow a TypeScript project to be used with project references. */ - // "tsBuildInfoFile": "./.tsbuildinfo", /* Specify the path to .tsbuildinfo incremental compilation file. */ - // "disableSourceOfProjectReferenceRedirect": true, /* Disable preferring source files instead of declaration files when referencing composite projects. */ - // "disableSolutionSearching": true, /* Opt a project out of multi-project reference checking when editing. */ - // "disableReferencedProjectLoad": true, /* Reduce the number of projects loaded automatically by TypeScript. */ - - /* Language and Environment */ - "target": "ESNext", /* Set the JavaScript language version for emitted JavaScript and include compatible library declarations. */ - // "lib": [], /* Specify a set of bundled library declaration files that describe the target runtime environment. */ - // "jsx": "preserve", /* Specify what JSX code is generated. */ - // "experimentalDecorators": true, /* Enable experimental support for legacy experimental decorators. */ - // "emitDecoratorMetadata": true, /* Emit design-type metadata for decorated declarations in source files. */ - // "jsxFactory": "", /* Specify the JSX factory function used when targeting React JSX emit, e.g. 'React.createElement' or 'h'. */ - // "jsxFragmentFactory": "", /* Specify the JSX Fragment reference used for fragments when targeting React JSX emit e.g. 'React.Fragment' or 'Fragment'. */ - // "jsxImportSource": "", /* Specify module specifier used to import the JSX factory functions when using 'jsx: react-jsx*'. */ - // "reactNamespace": "", /* Specify the object invoked for 'createElement'. This only applies when targeting 'react' JSX emit. */ - // "noLib": true, /* Disable including any library files, including the default lib.d.ts. */ - // "useDefineForClassFields": true, /* Emit ECMAScript-standard-compliant class fields. */ - // "moduleDetection": "auto", /* Control what method is used to detect module-format JS files. */ - - /* Modules */ - "module": "commonjs", /* Specify what module code is generated. */ - // "rootDir": "./", /* Specify the root folder within your source files. */ - // "moduleResolution": "node10", /* Specify how TypeScript looks up a file from a given module specifier. */ - // "baseUrl": "./", /* Specify the base directory to resolve non-relative module names. */ - // "paths": {}, /* Specify a set of entries that re-map imports to additional lookup locations. */ - // "rootDirs": [], /* Allow multiple folders to be treated as one when resolving modules. */ - // "typeRoots": [], /* Specify multiple folders that act like './node_modules/@types'. */ - // "types": [], /* Specify type package names to be included without being referenced in a source file. */ - // "allowUmdGlobalAccess": true, /* Allow accessing UMD globals from modules. */ - // "moduleSuffixes": [], /* List of file name suffixes to search when resolving a module. */ - // "allowImportingTsExtensions": true, /* Allow imports to include TypeScript file extensions. Requires '--moduleResolution bundler' and either '--noEmit' or '--emitDeclarationOnly' to be set. */ - // "resolvePackageJsonExports": true, /* Use the package.json 'exports' field when resolving package imports. */ - // "resolvePackageJsonImports": true, /* Use the package.json 'imports' field when resolving imports. */ - // "customConditions": [], /* Conditions to set in addition to the resolver-specific defaults when resolving imports. */ - // "resolveJsonModule": true, /* Enable importing .json files. */ - // "allowArbitraryExtensions": true, /* Enable importing files with any extension, provided a declaration file is present. */ - // "noResolve": true, /* Disallow 'import's, 'require's or ''s from expanding the number of files TypeScript should add to a project. */ - - /* JavaScript Support */ - // "allowJs": true, /* Allow JavaScript files to be a part of your program. Use the 'checkJS' option to get errors from these files. */ - // "checkJs": true, /* Enable error reporting in type-checked JavaScript files. */ - // "maxNodeModuleJsDepth": 1, /* Specify the maximum folder depth used for checking JavaScript files from 'node_modules'. Only applicable with 'allowJs'. */ - - /* Emit */ - // "declaration": true, /* Generate .d.ts files from TypeScript and JavaScript files in your project. */ - // "declarationMap": true, /* Create sourcemaps for d.ts files. */ - // "emitDeclarationOnly": true, /* Only output d.ts files and not JavaScript files. */ - // "sourceMap": true, /* Create source map files for emitted JavaScript files. */ - // "inlineSourceMap": true, /* Include sourcemap files inside the emitted JavaScript. */ - // "outFile": "./", /* Specify a file that bundles all outputs into one JavaScript file. If 'declaration' is true, also designates a file that bundles all .d.ts output. */ - // "outDir": "./", /* Specify an output folder for all emitted files. */ - // "removeComments": true, /* Disable emitting comments. */ - // "noEmit": true, /* Disable emitting files from a compilation. */ - // "importHelpers": true, /* Allow importing helper functions from tslib once per project, instead of including them per-file. */ - // "downlevelIteration": true, /* Emit more compliant, but verbose and less performant JavaScript for iteration. */ - // "sourceRoot": "", /* Specify the root path for debuggers to find the reference source code. */ - // "mapRoot": "", /* Specify the location where debugger should locate map files instead of generated locations. */ - // "inlineSources": true, /* Include source code in the sourcemaps inside the emitted JavaScript. */ - // "emitBOM": true, /* Emit a UTF-8 Byte Order Mark (BOM) in the beginning of output files. */ - // "newLine": "crlf", /* Set the newline character for emitting files. */ - // "stripInternal": true, /* Disable emitting declarations that have '@internal' in their JSDoc comments. */ - // "noEmitHelpers": true, /* Disable generating custom helper functions like '__extends' in compiled output. */ - // "noEmitOnError": true, /* Disable emitting files if any type checking errors are reported. */ - // "preserveConstEnums": true, /* Disable erasing 'const enum' declarations in generated code. */ - // "declarationDir": "./", /* Specify the output directory for generated declaration files. */ - - /* Interop Constraints */ - // "isolatedModules": true, /* Ensure that each file can be safely transpiled without relying on other imports. */ - // "verbatimModuleSyntax": true, /* Do not transform or elide any imports or exports not marked as type-only, ensuring they are written in the output file's format based on the 'module' setting. */ - // "isolatedDeclarations": true, /* Require sufficient annotation on exports so other tools can trivially generate declaration files. */ - // "allowSyntheticDefaultImports": true, /* Allow 'import x from y' when a module doesn't have a default export. */ - "esModuleInterop": true, /* Emit additional JavaScript to ease support for importing CommonJS modules. This enables 'allowSyntheticDefaultImports' for type compatibility. */ - // "preserveSymlinks": true, /* Disable resolving symlinks to their realpath. This correlates to the same flag in node. */ - "forceConsistentCasingInFileNames": true, /* Ensure that casing is correct in imports. */ - - /* Type Checking */ - "strict": true, /* Enable all strict type-checking options. */ - // "noImplicitAny": true, /* Enable error reporting for expressions and declarations with an implied 'any' type. */ - // "strictNullChecks": true, /* When type checking, take into account 'null' and 'undefined'. */ - // "strictFunctionTypes": true, /* When assigning functions, check to ensure parameters and the return values are subtype-compatible. */ - // "strictBindCallApply": true, /* Check that the arguments for 'bind', 'call', and 'apply' methods match the original function. */ - // "strictPropertyInitialization": true, /* Check for class properties that are declared but not set in the constructor. */ - // "noImplicitThis": true, /* Enable error reporting when 'this' is given the type 'any'. */ - // "useUnknownInCatchVariables": true, /* Default catch clause variables as 'unknown' instead of 'any'. */ - // "alwaysStrict": true, /* Ensure 'use strict' is always emitted. */ - // "noUnusedLocals": true, /* Enable error reporting when local variables aren't read. */ - // "noUnusedParameters": true, /* Raise an error when a function parameter isn't read. */ - // "exactOptionalPropertyTypes": true, /* Interpret optional property types as written, rather than adding 'undefined'. */ - // "noImplicitReturns": true, /* Enable error reporting for codepaths that do not explicitly return in a function. */ - // "noFallthroughCasesInSwitch": true, /* Enable error reporting for fallthrough cases in switch statements. */ - // "noUncheckedIndexedAccess": true, /* Add 'undefined' to a type when accessed using an index. */ - // "noImplicitOverride": true, /* Ensure overriding members in derived classes are marked with an override modifier. */ - // "noPropertyAccessFromIndexSignature": true, /* Enforces using indexed accessors for keys declared using an indexed type. */ - // "allowUnusedLabels": true, /* Disable error reporting for unused labels. */ - // "allowUnreachableCode": true, /* Disable error reporting for unreachable code. */ - - /* Completeness */ - // "skipDefaultLibCheck": true, /* Skip type checking .d.ts files that are included with TypeScript. */ - "skipLibCheck": true /* Skip type checking all .d.ts files. */ - } -} + "target": "ES2020", + "module": "NodeNext", + "lib": ["ES2020", "DOM"], + "outDir": "./config/gulp", + "rootDir": "./config/typescript", + "strict": true, + "esModuleInterop": true, + "skipLibCheck": true, + "forceConsistentCasingInFileNames": true, + "moduleResolution": "NodeNext" + }, + "include": ["config/typescript/**/*"], + "exclude": ["node_modules"] +} \ No newline at end of file From 0711af19379f570a3244e1ccec32887a979296da Mon Sep 17 00:00:00 2001 From: Jeannie <104386122+jdotyoon@users.noreply.github.com> Date: Tue, 23 Jul 2024 14:57:46 -0400 Subject: [PATCH 072/171] Update 2024-06-20-uswds-monthly-call-june-2024.md Adding link to YouTube video --- .../events/2024/06/2024-06-20-uswds-monthly-call-june-2024.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/events/2024/06/2024-06-20-uswds-monthly-call-june-2024.md b/content/events/2024/06/2024-06-20-uswds-monthly-call-june-2024.md index 39eee61f6f..6b077877e1 100644 --- a/content/events/2024/06/2024-06-20-uswds-monthly-call-june-2024.md +++ b/content/events/2024/06/2024-06-20-uswds-monthly-call-june-2024.md @@ -19,7 +19,7 @@ slug: uswds-monthly-call-june-2024 event_platform: zoom primary_image: 2024-uswds-monthly-call-june-title-card - +youtube_id: yBCLyWO0yCo --- {{< asset-static file="uswds-monthly-call-june-2024.pptx" label="View the slides (Powerpoint presentation, 3 MB, 33 slides)">}} From b175be40df25a6bd95e71e7c945ed00f7ca0b4fc Mon Sep 17 00:00:00 2001 From: Naomi Baumgold <153678805+nbaumgold@users.noreply.github.com> Date: Tue, 23 Jul 2024 15:39:47 -0400 Subject: [PATCH 073/171] Update 2024-06-20-uswds-monthly-call-june-2024.md --- .../events/2024/06/2024-06-20-uswds-monthly-call-june-2024.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/events/2024/06/2024-06-20-uswds-monthly-call-june-2024.md b/content/events/2024/06/2024-06-20-uswds-monthly-call-june-2024.md index a4081e59ab..8a12ecb830 100644 --- a/content/events/2024/06/2024-06-20-uswds-monthly-call-june-2024.md +++ b/content/events/2024/06/2024-06-20-uswds-monthly-call-june-2024.md @@ -44,7 +44,7 @@ For those of you who find the chat distracting, you’re welcome to close or hid **Slide 4:** So let's get into it with featured sites. -**Slide 5:** First, we've got a new site from the Department of Treasury's Export Compliance Assistance Program (or ECAP): [nnsa.nsis.anl.gov/ecap](nnsa.nsis.anl.gov/ecap). The ECAP provides export compliance training, assistance, and tools to raise awareness and promote export compliance across the Department of Energy and National Nuclear Security Administration complex. The ECAP homepage has a familiar USWDS look and feel, and its most prominent aspect is an alert, informing its audience of severe restrictions for all interactions with Russia and Belarus. +**Slide 5:** First, we've got a new site from the Department of Treasury's Export Compliance Assistance Program (or ECAP): [nnsa.nsis.anl.gov/ecap](https://nnsa.nsis.anl.gov/ecap/). The ECAP provides export compliance training, assistance, and tools to raise awareness and promote export compliance across the Department of Energy and National Nuclear Security Administration complex. The ECAP homepage has a familiar USWDS look and feel, and its most prominent aspect is an alert, informing its audience of severe restrictions for all interactions with Russia and Belarus. **Slide 6:** And this month we're also highlighting [acc.gov](https://acc.gov): a site for the American Climate Corps, an organization inspired by the Civilian Conservation Corps of the 1930s, that seeks to empower a new, diverse generation to tackle environmental injustice and climate change. The ACC home is an interesting example of customizing USWDS to achieve a distinctive look and feel tailored to a specific audience. The ACC homepage features a large mint-toned hero section with an illustration of wind turbines and the words "Your climate career starts here." From 2bc248e7b40b28e6bb245f6d055283fb6b7385fa Mon Sep 17 00:00:00 2001 From: Faye <151191835+fayexou@users.noreply.github.com> Date: Tue, 23 Jul 2024 15:43:48 -0400 Subject: [PATCH 074/171] Update 2024-07-18-designing-for-people-with-disabilities.md updated summary --- ...-designing-for-people-with-disabilities.md | 20 ++----------------- 1 file changed, 2 insertions(+), 18 deletions(-) diff --git a/content/news/2024/07/2024-07-18-designing-for-people-with-disabilities.md b/content/news/2024/07/2024-07-18-designing-for-people-with-disabilities.md index c68e9dc2e1..bebfddcfda 100644 --- a/content/news/2024/07/2024-07-18-designing-for-people-with-disabilities.md +++ b/content/news/2024/07/2024-07-18-designing-for-people-with-disabilities.md @@ -4,24 +4,8 @@ source_url: https://blog.usa.gov/designing-for-people-with-disabilities source: usagov date: 2024-07-16 title: Designing for people with disabilities -deck: The Public Experience Portfolio’s UX team conducted a study focused on - users who rely on assistive technology to access USA.gov, partnering with a - local organization to gather insights from a diverse group of participants, - including those who are blind or deaf. The study revealed various habits and - challenges faced by these users, such as a preference for mobile sites, - difficulties with website carousels, and the importance of clear headings and - action-oriented descriptions. These findings guide improvements in - accessibility, such as clever link labeling and better navigation aids for - assistive technology users. -summary: The Public Experience Portfolio’s UX team conducted a study focused on - users who rely on assistive technology to access USA.gov, partnering with a - local organization to gather insights from a diverse group of participants, - including those who are blind or deaf. The study revealed various habits and - challenges faced by these users, such as a preference for mobile sites, - difficulties with website carousels, and the importance of clear headings and - action-oriented descriptions. These findings guide improvements in - accessibility, such as clever link labeling and better navigation aids for - assistive technology users. +deck: The User Experience (UX) team at USA.gov’s Public Experience Portfolio recently conducted a study to analyze the experiences of individuals who access USA.gov through assistive technology.., The team partnered with a local organization to gather insights from a diverse group of participants, many of whom are blind or deaf. The study revealed various habits and challenges faced by these users, such as a preference for mobile sites, difficulty with website carousels, and a reliance on clear headings and action-oriented descriptions. These findings can guide improvements in accessibility, such as clever link labeling and better navigation aids for assistive technology users. +summary: The User Experience (UX) team at USA.gov’s Public Experience Portfolio recently conducted a study to analyze the experiences of individuals who access USA.gov through assistive technology.., The team partnered with a local organization to gather insights from a diverse group of participants, many of whom are blind or deaf. The study revealed various habits and challenges faced by these users, such as a preference for mobile sites, difficulty with website carousels, and a reliance on clear headings and action-oriented descriptions. These findings can guide improvements in accessibility, such as clever link labeling and better navigation aids for assistive technology users. # See all topics at https://digital.gov/topics topics: - accessibility From d36b10ba6a3823aca4ee0e57327b4435d7b2aaa1 Mon Sep 17 00:00:00 2001 From: klin2020 Date: Tue, 23 Jul 2024 14:40:59 -0700 Subject: [PATCH 075/171] Updated lastmod tag with page publish date --- themes/digital.gov/layouts/sitemap.xml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/themes/digital.gov/layouts/sitemap.xml b/themes/digital.gov/layouts/sitemap.xml index 32863dc561..a028895276 100644 --- a/themes/digital.gov/layouts/sitemap.xml +++ b/themes/digital.gov/layouts/sitemap.xml @@ -1,8 +1,9 @@ {{ range .Data.Pages }} - https://digital.gov{{ .Permalink | relURL }}{{ with .Sitemap.ChangeFreq }} - {{ . }}{{ end }}{{ if ge .Sitemap.Priority 0.0 }} + https://digital.gov{{ .Permalink | relURL }}{{ if not .Lastmod.IsZero }} + {{ safeHTML ( .Date | time.Format "2006-01-02T15:04:05-07:00" ) }}{{ end }} + {{ with .Sitemap.ChangeFreq }}{{ . }}{{ end }}{{ if ge .Sitemap.Priority 0.0 }} {{ .Sitemap.Priority }}{{ end }} {{ end }} From db6371b8f2e36f3e3a0a4dc0717a2e7476febfee Mon Sep 17 00:00:00 2001 From: Toni Bonitto Date: Tue, 23 Jul 2024 19:39:58 -0400 Subject: [PATCH 076/171] Update _index.md fix weight, add comments to front matter --- content/guides/dap/_index.md | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/content/guides/dap/_index.md b/content/guides/dap/_index.md index 6f0a6d96c0..94e7638d7f 100755 --- a/content/guides/dap/_index.md +++ b/content/guides/dap/_index.md @@ -5,10 +5,13 @@ deck: "A free analytics tool for measuring digital services in the federal gover summary: "The Digital Analytics Program (DAP) offers advanced, easy web analytics for federal agencies." guide: dap +# See all topics at https://digital.gov/topics topics: - analytics - digital-service-delivery - user-experience + +# Redirects: Enter the paths of the old URLs that you want redirected to this page. aliases: - /guide/dap/ - /guides/dap/become-a-dap-certified-analyst/ @@ -22,14 +25,20 @@ aliases: - /guides/dap/gaining-access-to-dap-data/ - /guides/dap/guidelines-for-sharing-dap-data/ -image: guide-dap - +# For social media shares; if not provided, the default Digital.gov logo card appears. primary_image: guide-dap -weight: 6 guide_weight: 5 +image: guide-dap layout: single +# Controls how this page appears across the site +# 0 -- hidden +# 1 -- visible +# 2 -- highlighted +# 10, 9, 8, 7, or 6 -- for the five items that appear in the white box on homepage; 10 is first or at the top, and 6 is fifth or last. +weight: 9 + --- ## What is DAP? From 2c8c8bd4e8d022ec364fd1ec291dd651d60880c8 Mon Sep 17 00:00:00 2001 From: Toni Bonitto Date: Tue, 23 Jul 2024 19:45:47 -0400 Subject: [PATCH 077/171] Update _index.md change weight to remove from homepage, fix front matter --- content/guides/site-scanning/_index.md | 23 ++++++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) diff --git a/content/guides/site-scanning/_index.md b/content/guides/site-scanning/_index.md index 0eb5561260..8d10ef570a 100644 --- a/content/guides/site-scanning/_index.md +++ b/content/guides/site-scanning/_index.md @@ -3,7 +3,13 @@ date: 2020-06-25 09:00:00 -0500 title: "Understanding the Site Scanning program" deck: "A set of daily scans of the federal web presence." summary: "This program is available to automatically generate data about the health and best practices of federal websites." + guide: site-scanning +image: guide-site-scanning +layout: single +guide_weight: 3 + +# Redirects: Enter the paths of the old URLs that you want redirected to this page. aliases: - /guide/site-scanning/ - /site-scanning/ @@ -12,11 +18,22 @@ aliases: - /sitescan/ - /site-scans/ - /sitescans/ -image: guide-site-scanning + +# See all topics at https://digital.gov/topics +topics: + - analytics + - budgeting-and-performance + +# For social media shares; if not provided, the default Digital.gov logo card appears. primary_image: guide-site-scanning -layout: single + +# Controls how this page appears across the site +# 0 -- hidden +# 1 -- visible +# 2 -- highlighted +# 10, 9, 8, 7, or 6 -- for the five items that appear in the white box on homepage; 10 is first or at the top, and 6 is fifth or last. weight: 2 -guide_weight: 3 + --- **The Site Scanning program** automates a wide range of scans of public federal websites and generates data about website health, policy compliance, and best practices. From d5d943a226836c4adc9cc08bde1f73254f551a77 Mon Sep 17 00:00:00 2001 From: klin2020 Date: Wed, 24 Jul 2024 08:24:35 -0700 Subject: [PATCH 078/171] Reformat lastmod time to YYYY-MM-DD --- themes/digital.gov/layouts/sitemap.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/themes/digital.gov/layouts/sitemap.xml b/themes/digital.gov/layouts/sitemap.xml index a028895276..cf45584036 100644 --- a/themes/digital.gov/layouts/sitemap.xml +++ b/themes/digital.gov/layouts/sitemap.xml @@ -2,7 +2,7 @@ {{ range .Data.Pages }} https://digital.gov{{ .Permalink | relURL }}{{ if not .Lastmod.IsZero }} - {{ safeHTML ( .Date | time.Format "2006-01-02T15:04:05-07:00" ) }}{{ end }} + {{ safeHTML ( .Date | time.Format "2006-01-02" ) }}{{ end }} {{ with .Sitemap.ChangeFreq }}{{ . }}{{ end }}{{ if ge .Sitemap.Priority 0.0 }} {{ .Sitemap.Priority }}{{ end }} From a4d11db01dbbb2f08888fcc64f2288dd4da32ab2 Mon Sep 17 00:00:00 2001 From: klin2020 Date: Wed, 24 Jul 2024 08:25:28 -0700 Subject: [PATCH 079/171] Removed is lastmod zero check since we are not looking at lastmod value in frontmatter --- themes/digital.gov/layouts/sitemap.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/themes/digital.gov/layouts/sitemap.xml b/themes/digital.gov/layouts/sitemap.xml index cf45584036..b86f4ab59a 100644 --- a/themes/digital.gov/layouts/sitemap.xml +++ b/themes/digital.gov/layouts/sitemap.xml @@ -1,8 +1,8 @@ {{ range .Data.Pages }} - https://digital.gov{{ .Permalink | relURL }}{{ if not .Lastmod.IsZero }} - {{ safeHTML ( .Date | time.Format "2006-01-02" ) }}{{ end }} + https://digital.gov{{ .Permalink | relURL }} + {{ safeHTML ( .Date | time.Format "2006-01-02" ) }} {{ with .Sitemap.ChangeFreq }}{{ . }}{{ end }}{{ if ge .Sitemap.Priority 0.0 }} {{ .Sitemap.Priority }}{{ end }} From 4e03c367d273c7ecf9bac887bfa1366b8867ba4d Mon Sep 17 00:00:00 2001 From: Faye <151191835+fayexou@users.noreply.github.com> Date: Wed, 24 Jul 2024 13:05:03 -0400 Subject: [PATCH 080/171] =?UTF-8?q?Create=20Blog=20Post=20=E2=80=9C2024/07?= =?UTF-8?q?/2024-07-24-reassessing-priorities-adapting-to-additional-work-?= =?UTF-8?q?without-additional-resources=E2=80=9D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...ional-work-without-additional-resources.md | 36 +++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 content/news/2024/07/2024-07-24-reassessing-priorities-adapting-to-additional-work-without-additional-resources.md diff --git a/content/news/2024/07/2024-07-24-reassessing-priorities-adapting-to-additional-work-without-additional-resources.md b/content/news/2024/07/2024-07-24-reassessing-priorities-adapting-to-additional-work-without-additional-resources.md new file mode 100644 index 0000000000..dffbbe517c --- /dev/null +++ b/content/news/2024/07/2024-07-24-reassessing-priorities-adapting-to-additional-work-without-additional-resources.md @@ -0,0 +1,36 @@ +--- +# Originally published at the following URL +source_url: https://blog-nrrd.doi.gov/work-priorities/ +source: doi-revenuedata +date: 2024-07-23 +title: Reassessing priorities adapting to additional work without additional resources +deck: The Open Data, Design, and Development team (ODDD) had to take on the + additional workload of managing an existing website without extra resources, + prompting a reassessment of their yearly goals. They utilized a prioritization + matrix to evaluate and prioritize tasks based on effort and reward, leading to + a structured impact assessment and transition plan. This process not only + ensured realistic workload adjustments but also improved team morale and + highlighted the need for practical goal-setting, especially when + short-staffed. +summary: The Open Data, Design, and Development team (ODDD) had to take on the + additional workload of managing an existing website without extra resources, + prompting a reassessment of their yearly goals. They utilized a prioritization + matrix to evaluate and prioritize tasks based on effort and reward, leading to + a structured impact assessment and transition plan. This process not only + ensured realistic workload adjustments but also improved team morale and + highlighted the need for practical goal-setting, especially when + short-staffed. +# See all topics at https://digital.gov/topics +topics: + - best-practices + - communication + - product-and-project-management + - content-strategy + - data-visualization + - innovation +slug: reassessing-priorities-adapting-to-additional-work-without-additional-resources +# Controls how this page appears across the site +# 0 -- hidden +# 1 -- visible +weight: 1 +--- From 7b8a5767803d47a5335efb882c2ea23272c0abe5 Mon Sep 17 00:00:00 2001 From: Faye <151191835+fayexou@users.noreply.github.com> Date: Wed, 24 Jul 2024 13:18:33 -0400 Subject: [PATCH 081/171] Update 2024-07-24-reassessing-priorities-adapting-to-additional-work-without-additional-resources.md updated title with special characters --- ...-adapting-to-additional-work-without-additional-resources.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/news/2024/07/2024-07-24-reassessing-priorities-adapting-to-additional-work-without-additional-resources.md b/content/news/2024/07/2024-07-24-reassessing-priorities-adapting-to-additional-work-without-additional-resources.md index dffbbe517c..adaffc723e 100644 --- a/content/news/2024/07/2024-07-24-reassessing-priorities-adapting-to-additional-work-without-additional-resources.md +++ b/content/news/2024/07/2024-07-24-reassessing-priorities-adapting-to-additional-work-without-additional-resources.md @@ -3,7 +3,7 @@ source_url: https://blog-nrrd.doi.gov/work-priorities/ source: doi-revenuedata date: 2024-07-23 -title: Reassessing priorities adapting to additional work without additional resources +title: "Reassessing priorities: Adapting to additional work without additional resources" deck: The Open Data, Design, and Development team (ODDD) had to take on the additional workload of managing an existing website without extra resources, prompting a reassessment of their yearly goals. They utilized a prioritization From 1d1912677180db902cac83c22b432c66828c1867 Mon Sep 17 00:00:00 2001 From: Faye <151191835+fayexou@users.noreply.github.com> Date: Wed, 24 Jul 2024 13:22:17 -0400 Subject: [PATCH 082/171] Update 2024-07-24-reassessing-priorities-adapting-to-additional-work-without-additional-resources.md updated summary --- ...tional-work-without-additional-resources.md | 18 ++---------------- 1 file changed, 2 insertions(+), 16 deletions(-) diff --git a/content/news/2024/07/2024-07-24-reassessing-priorities-adapting-to-additional-work-without-additional-resources.md b/content/news/2024/07/2024-07-24-reassessing-priorities-adapting-to-additional-work-without-additional-resources.md index adaffc723e..970a9fcb76 100644 --- a/content/news/2024/07/2024-07-24-reassessing-priorities-adapting-to-additional-work-without-additional-resources.md +++ b/content/news/2024/07/2024-07-24-reassessing-priorities-adapting-to-additional-work-without-additional-resources.md @@ -4,22 +4,8 @@ source_url: https://blog-nrrd.doi.gov/work-priorities/ source: doi-revenuedata date: 2024-07-23 title: "Reassessing priorities: Adapting to additional work without additional resources" -deck: The Open Data, Design, and Development team (ODDD) had to take on the - additional workload of managing an existing website without extra resources, - prompting a reassessment of their yearly goals. They utilized a prioritization - matrix to evaluate and prioritize tasks based on effort and reward, leading to - a structured impact assessment and transition plan. This process not only - ensured realistic workload adjustments but also improved team morale and - highlighted the need for practical goal-setting, especially when - short-staffed. -summary: The Open Data, Design, and Development team (ODDD) had to take on the - additional workload of managing an existing website without extra resources, - prompting a reassessment of their yearly goals. They utilized a prioritization - matrix to evaluate and prioritize tasks based on effort and reward, leading to - a structured impact assessment and transition plan. This process not only - ensured realistic workload adjustments but also improved team morale and - highlighted the need for practical goal-setting, especially when - short-staffed. +deck: The Office of Natural Resources Revenue’s Open Data, Design, and Development (ODD) team is taking on management of a fourth website, despite being short-staffed., As a result, they have revisited and reprioritized their yearly goals. To do so, they utilized a prioritization matrix, developed a structured impact assessment, and laid out a transition plan. Their process ensured realistic workload adjustments, improved team morale, and highlighted the importance of practical goal-setting, especially when teams are short-staffed. +summary: The Office of Natural Resources Revenue’s Open Data, Design, and Development (ODD) team is taking on management of a fourth website, despite being short-staffed., As a result, they have revisited and reprioritized their yearly goals. To do so, they utilized a prioritization matrix, developed a structured impact assessment, and laid out a transition plan. Their process ensured realistic workload adjustments, improved team morale, and highlighted the importance of practical goal-setting, especially when teams are short-staffed. # See all topics at https://digital.gov/topics topics: - best-practices From 2432c4152fdf560fdba96b6f1504b397b105bef3 Mon Sep 17 00:00:00 2001 From: Faye <151191835+fayexou@users.noreply.github.com> Date: Wed, 24 Jul 2024 14:25:53 -0400 Subject: [PATCH 083/171] Update newsletter-signup.html updated newsletter subscriber number --- themes/digital.gov/layouts/partials/core/newsletter-signup.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/themes/digital.gov/layouts/partials/core/newsletter-signup.html b/themes/digital.gov/layouts/partials/core/newsletter-signup.html index 80aa98bc2a..0dc8355656 100644 --- a/themes/digital.gov/layouts/partials/core/newsletter-signup.html +++ b/themes/digital.gov/layouts/partials/core/newsletter-signup.html @@ -8,7 +8,7 @@
diff --git a/content/news/2017/02/2017-02-03-digitalgov-year-in-review-our-top-blogs-resources-and-writers-for-2016.md b/content/news/2017/02/2017-02-03-digitalgov-year-in-review-our-top-blogs-resources-and-writers-for-2016.md index 71161e2077..b0dfedf95d 100644 --- a/content/news/2017/02/2017-02-03-digitalgov-year-in-review-our-top-blogs-resources-and-writers-for-2016.md +++ b/content/news/2017/02/2017-02-03-digitalgov-year-in-review-our-top-blogs-resources-and-writers-for-2016.md @@ -141,12 +141,12 @@ If you are a federal employee with a .gov or .mil email address interested in su - - - -
+

Footnotes

  1. Genius artistry aside for just a femtosecond, both “Ziggy Stardust” and “The Kid” were Internet pioneers in the early and mid-1990s. They had the foresight to use the new medium to provide digital services and content to their customers; Prince in 1994, and David Bowie in 1998. Before their passing, each won web-related lifetime achievement awards that honor those who helped shape the Internet with their groundbreaking work, recognizing their influence and lasting impact on digital culture, communication, and technology.
-
+ - - - diff --git a/content/news/2020/08/2020-08-21-2-lessons-tech-leaders-can-learn.md b/content/news/2020/08/2020-08-21-2-lessons-tech-leaders-can-learn.md index 4a4f4e8a00..fcfc64513c 100644 --- a/content/news/2020/08/2020-08-21-2-lessons-tech-leaders-can-learn.md +++ b/content/news/2020/08/2020-08-21-2-lessons-tech-leaders-can-learn.md @@ -74,10 +74,10 @@ Are you passionate about the civic impact of communications and data? Interested _Adele Luta and Georgeta Dragoiu are Presidential Innovation Fellows detailed to the National Institutes of Health. Both joined PIF as private-sector industry leaders in their respective fields across STEM and communications._ --- -