From 4892e28a11fbaa90def906d2bc0ba87062a4e411 Mon Sep 17 00:00:00 2001 From: Peter Schewe Date: Mon, 4 Jul 2022 15:12:32 +0200 Subject: [PATCH 01/63] refactor(model,templating): Merge page, seo and t-default into t-page --- hugo-modules/core/utils/get-page.html | 2 +- hugo-modules/core/utils/get-params.html | 2 +- hugo-modules/core/utils/link.html | 2 +- .../core/utils/seo/private/get-config.html | 1 + .../core/utils/seo/private/get-data.html | 136 +++++------- .../core/utils/seo/private/get-tags.html | 2 +- ...00000000001-create-d-settings-migration.js | 2 +- .../0000000000003-create-page-migration.js | 89 -------- .../0000000000003-create-t-page-migration.js | 195 ++++++++++++++++++ ... 0000000000004-create-d-i18n-migration.js} | 0 .../0000000000004-create-seo-migration.js | 105 ---------- ...000000000005-create-x-deploy-migration.js} | 0 ...000000006-configure-x-deploy-migration.js} | 0 ...-create-multi-text-extension-migration.js} | 0 ...000000000010-create-t-default-migration.js | 81 -------- .../1000000000001-create-c-link-migration.js | 2 +- ...0000000004-create-c-editorial-migration.js | 2 +- .../1000000000006-create-c-menu-migration.js | 10 +- .../1100000000001-create-m-stage-migration.js | 2 +- .../1100000000005-create-m-text-migration.js | 2 +- templates/app/contentful-ssg.config.ts | 11 +- templates/app/layouts/_default/baseof.html | 1 + templates/app/layouts/_default/section.html | 2 +- templates/app/layouts/_default/single.html | 2 +- templates/app/layouts/index.html | 2 +- templates/app/layouts/section.html | 2 +- .../components/c-link/attributes.html | 4 +- .../templates/{t-default.html => t-page.html} | 2 +- 28 files changed, 281 insertions(+), 380 deletions(-) delete mode 100644 packages/contentful-migrations/core/0000000000003-create-page-migration.js create mode 100644 packages/contentful-migrations/core/0000000000003-create-t-page-migration.js rename packages/contentful-migrations/core/{0000000000005-create-d-i18n-migration.js => 0000000000004-create-d-i18n-migration.js} (100%) delete mode 100644 packages/contentful-migrations/core/0000000000004-create-seo-migration.js rename packages/contentful-migrations/core/{0000000000006-create-x-deploy-migration.js => 0000000000005-create-x-deploy-migration.js} (100%) rename packages/contentful-migrations/core/{0000000000007-configure-x-deploy-migration.js => 0000000000006-configure-x-deploy-migration.js} (100%) rename packages/contentful-migrations/core/{0000000000008-create-multi-text-extension-migration.js => 0000000000007-create-multi-text-extension-migration.js} (100%) delete mode 100644 packages/contentful-migrations/core/0000000000010-create-t-default-migration.js rename templates/theme-default/layouts/partials/templates/{t-default.html => t-page.html} (87%) diff --git a/hugo-modules/core/utils/get-page.html b/hugo-modules/core/utils/get-page.html index cdf1411..1125c40 100644 --- a/hugo-modules/core/utils/get-page.html +++ b/hugo-modules/core/utils/get-page.html @@ -12,7 +12,7 @@ {{ $content_type := .content_type }} {{ $page := dict }} {{ if and $content_type $entry_id }} - {{ if (eq $content_type "page") }} + {{ if hasPrefix $content_type "t-" }} {{ with index (where site.Pages "Params.sys.id" $entry_id) 0 }} {{ $page = . }} {{ end }} diff --git a/hugo-modules/core/utils/get-params.html b/hugo-modules/core/utils/get-params.html index 614a90e..deb38f0 100644 --- a/hugo-modules/core/utils/get-params.html +++ b/hugo-modules/core/utils/get-params.html @@ -14,7 +14,7 @@ {{ $content_type := .content_type }} {{ $params := dict }} -{{ if (eq $content_type "page") }} +{{ if hasPrefix $content_type "t-" }} {{ $page := partial "utils/get-page" . }} {{ with $page }} {{ $params = .Params }} diff --git a/hugo-modules/core/utils/link.html b/hugo-modules/core/utils/link.html index b15383f..0a2cf0f 100644 --- a/hugo-modules/core/utils/link.html +++ b/hugo-modules/core/utils/link.html @@ -43,7 +43,7 @@ {{ end }} {{/* Page content type */}} - {{ else if eq .content_type "page" }} + {{ else if hasPrefix .content_type "t-" }} {{ with partialCached "utils/get-page" . . }} {{ $return = (dict "href" (.Permalink | safeURL) diff --git a/hugo-modules/core/utils/seo/private/get-config.html b/hugo-modules/core/utils/seo/private/get-config.html index ae65a5b..605eef1 100644 --- a/hugo-modules/core/utils/seo/private/get-config.html +++ b/hugo-modules/core/utils/seo/private/get-config.html @@ -16,6 +16,7 @@ {{ end }} */}} {{ $config := dict }} +{{/* TODO: .Params.seo no longer exists */}} {{ with site.Params.seo }} {{ $config = . }} {{ end }} diff --git a/hugo-modules/core/utils/seo/private/get-data.html b/hugo-modules/core/utils/seo/private/get-data.html index 5c80d57..d2d68ad 100644 --- a/hugo-modules/core/utils/seo/private/get-data.html +++ b/hugo-modules/core/utils/seo/private/get-data.html @@ -14,7 +14,7 @@ TODO: - [ ] Improve type test on "events", `article` seems very opinated. - - [ ] Find a reasonable default image when `site.Params.default_image` is not set. + - [ ] Find a reasonable default image when `site.Params.share_image` is not set. - [ ] Twitter can sport "author" handle on top of the site's. Devise a test for author? - [ ] Maybe consider another approach to set the twitter_card (summary, etc...) - [ ] Not sure about image size. Following https://docs.imgix.com/best-practices/improving-seo-traffic, we have a @@ -27,44 +27,28 @@ {{/* Adding the seo map to scratch which will recieve SEO key/value pairs. */}} {{ $s := newScratch }} -{{ $s.Set "seo" dict }} - - - -{{ $seo_params := dict }} -{{ with .Params.seo }} - {{ $seo_params = . }} - {{ with partialCached "utils/get-params" . . }} - {{ $seo_params = . }} - {{ end }} -{{ end }} -{{ with .Params.content }} - {{ with partialCached "utils/get-params" . . }} - {{ $seo_params = merge . $seo_params }} - {{ end }} -{{ end }} +{{ $s.Set "seo" dict }} {{ $config := partialCached "utils/seo/private/get-config" "seo/private/get-config" }} {{/* Dates ----------------------------- */}} - -{{ if not .PublishDate.IsZero }} -{{ $s.SetInMap "seo" "published_time" (.PublishDate.Format "2006-01-02T15:04:05-07:00") }} -{{ else if not .Date.IsZero }} -{{ $s.SetInMap "seo" "published_time" (.Date.Format "2006-01-02T15:04:05-07:00") }} -{{ else }} +{{ if not .PublishDate.IsZero }} +{{ $s.SetInMap "seo" "published_time" (.PublishDate.Format "2006-01-02T15:04:05-07:00") }} +{{ else if not .Date.IsZero }} +{{ $s.SetInMap "seo" "published_time" (.Date.Format "2006-01-02T15:04:05-07:00") }} +{{ else }} {{ with .Params.sys.created_at }} - {{ $s.SetInMap "seo" "published_time" (dateFormat "2006-01-02T15:04:05-07:00" .) }} + {{ $s.SetInMap "seo" "published_time" (dateFormat "2006-01-02T15:04:05-07:00" .) }} {{ end }} -{{ end }} -{{ if not .Lastmod.IsZero }} -{{ $s.SetInMap "seo" "updated_time" (.Lastmod.Format "2006-01-02T15:04:05-07:00") }} +{{ end }} +{{ if not .Lastmod.IsZero }} +{{ $s.SetInMap "seo" "updated_time" (.Lastmod.Format "2006-01-02T15:04:05-07:00") }} {{ else }} {{ with .Params.sys.updated_at }} - {{ $s.SetInMap "seo" "updated_time" (dateFormat "2006-01-02T15:04:05-07:00" .) }} + {{ $s.SetInMap "seo" "updated_time" (dateFormat "2006-01-02T15:04:05-07:00" .) }} {{ end }} -{{ end }} +{{ end }} {{/* Description ---------------------------- @@ -75,8 +59,8 @@ 4. site description */}} {{ $description := "" }} {{/* 1. SEO Description */}} -{{ if $seo_params.description }} - {{ $description = $seo_params.description }} +{{ if .Params.seo_description }} + {{ $description = .Params.seo_description }} {{/* 2. Description As it could potentially contain HTML tags, we strip them with plainify */}} {{ else if .Description }} @@ -84,7 +68,7 @@ {{/* 3. Summary */}} {{ else if .Summary }} {{ $description = .Summary }} -{{ else }} +{{ else }} {{/* 4. site description */}} {{ $description = site.Params.Description }} {{ end }} @@ -96,63 +80,62 @@ {{ end }} {{ end }} - {{/* Title ---------------------------- We use the following logic 1. Every pages: `{.Title} | {site.Title}` 2. Homepage: , only {site.Title} */}} {{ $title := .Title }} -{{ with $seo_params.title }} +{{ with .Params.seo_title }} {{ $title = . }} {{ end }} {{ if not .IsHome }} {{/* 1. `{.Title} | {.Site.Title}` */}} - {{ $s.SetInMap "seo" "title" (printf "%s | %s" $title site.Title) }} + {{ $s.SetInMap "seo" "title" (printf "%s | %s" $title site.Title) }} {{ else }} {{/* 2. `{.Site.Title}` */}} {{ $s.SetInMap "seo" "title" site.Title }} {{ end }} - {{/* Site Name ---------------------------- */}} {{ with $config.site_name }} {{ $s.SetInMap "seo" "site_name" . }} {{ else }} - {{ $s.SetInMap "seo" "site_name" site.Title }} + {{ $s.SetInMap "seo" "site_name" site.Title }} {{ end }} {{/* Image ---------------------------- */}} {{ $img := false }} -{{ with $config.default_image }} - {{ $img = . }} -{{ end }} +{{/* TODO: default_image does not exist */}} +{{ with $config.default_image }} + {{ $img = . }} +{{ end }} -{{ with $seo_params.image }} - {{ $img = . }} +{{ with .Params.share_image }} + {{ $img = . }} {{ else }} {{/* If no SEO IMAGE is set, we look for the .Params.images slice and use the first one if it has an `image` key */}} - {{ with .Params.images }} - {{ with index . 0 }} + {{ with .Params.images }} + {{ with index . 0 }} {{ if reflect.IsMap . }} - {{ with .image }} - {{ $img = . }} - {{ end }} + {{ with .image }} + {{ $img = . }} + {{ end }} {{ else }} - {{ $img = . }} + {{ $img = . }} {{ end }} - {{ end }} - {{ end }} -{{ end }} + {{ end }} + {{ end }} +{{ end }} {{/* Finally if after all of the conditional above we are not able to find an image for the page, we resolve to looking for the following: */}} {{ if not $img }} - {{ $img_defaults := slice "/static/logo.jpg" "/static/logo.png" "/static/logo.svg" }} + {{ $img_defaults := slice "/static/logo.jpg" "/static/logo.png" "/static/logo.svg" }} {{ range $path := $img_defaults }} {{ if fileExists . }} {{ $img = strings.TrimLeft "/static" $path }} @@ -169,19 +152,19 @@ ---------------------------- */}} {{ with $img }} {{/* Most of the time we should have an image */}} - {{ $s.SetInMap "seo" "twitter_card" "summary_large_image" }} + {{ $s.SetInMap "seo" "twitter_card" "summary_large_image" }} {{ else }} {{/* For edge cases without: */}} - {{ $s.SetInMap "seo" "twitter_card" "summary" }} + {{ $s.SetInMap "seo" "twitter_card" "summary" }} {{ end }} - {{/* We check the site config sports a Social.twitter and use as handle */}} -{{ with .Site.Social.twitter }} - {{ $s.SetInMap "seo" "twitter_handle" (printf "@%s" .) }} -{{ end }} +{{ with .Site.Social.twitter }} + {{ $s.SetInMap "seo" "twitter_handle" (printf "@%s" .) }} +{{ end }} {{/* We check if the page is not set as private */}} +{{/* TODO: .Params.seo no longer exists */}} {{ with $.Params.seo.private }} {{ $s.SetInMap "seo" "private" true }} {{ end }} @@ -191,28 +174,24 @@ {{/* Type ---------------------------- */}} -{{ $s.SetInMap "seo" "type" "website" }} +{{ $s.SetInMap "seo" "type" "website" }} -{{ if in (slice "blog" "news") .Type }} - {{ $s.SetInMap "seo" "type" "article" }} +{{ if in (slice "blog" "news") .Type }} + {{ $s.SetInMap "seo" "type" "article" }} {{ else if in (slice "article") .Type }} - {{ $s.SetInMap "seo" "type" "event" }} -{{ end }} - + {{ $s.SetInMap "seo" "type" "event" }} +{{ end }} -{{/* robots +{{/* Robots ---------------------------- */}} -{{ with $seo_params }} - {{ $no_index := .no_index | default false }} - {{ $no_follow := .no_follow | default false }} - {{ $s.SetInMap "seo" "no_index" $no_index }} - {{ $s.SetInMap "seo" "no_follow" $no_follow }} -{{ end -}} - +{{ $no_index := .Params.no_index | default false }} +{{ $no_follow := .Params.no_follow | default false }} +{{ $s.SetInMap "seo" "no_index" $no_index }} +{{ $s.SetInMap "seo" "no_follow" $no_follow }} {{/* Locale and translations ---------------------------- */}} -{{ $s.SetInMap "seo" "locale" .Lang }} +{{ $s.SetInMap "seo" "locale" .Lang }} {{ $translations := slice }} {{ if .IsTranslated }} @@ -222,21 +201,15 @@ {{ $s.SetInMap "seo" "translations" $translations }} {{ end }} - {{/* Canonical ---------------------------- */}} -{{ with $seo_params.canonical }} - {{ $s.SetInMap "seo" "canonical" (. | absURL) }} -{{ else }} -{{ $s.SetInMap "seo" "canonical" .Permalink }} -{{ end }} +{{ $s.SetInMap "seo" "canonical" .Permalink }} {{ $seo := $s.Get "seo" }} {{ if templates.Exists "partials/utils/seo/data.html" }} {{ $seo = partial "utils/seo/data" (dict "seo" $seo "Page" $) }} {{ end }} - {{ with $seo }} {{ $s.SetInMap "jsonld" "@context" "https://schema.org" }} {{ $s.SetInMap "jsonld" "@type" .type }} @@ -254,7 +227,4 @@ {{ $seo = merge $seo (dict "jsonld" .) }} {{ end }} - - - {{ return $seo }} diff --git a/hugo-modules/core/utils/seo/private/get-tags.html b/hugo-modules/core/utils/seo/private/get-tags.html index 0dd1a7d..4ffe465 100644 --- a/hugo-modules/core/utils/seo/private/get-tags.html +++ b/hugo-modules/core/utils/seo/private/get-tags.html @@ -97,7 +97,7 @@ {{/* Dealing with private setting */}} {{ with $seo }} {{ $value := "noindex, nofollow" }} - {{ $production := eq (getenv "HUGO_ENV") "production" }} + {{ $production := eq (hugo.Environment) "production" }} {{ $index := cond (eq .no_index true) "noindex" "index" }} {{ $follow := cond (eq .no_follow true) "nofollow" "follow" }} diff --git a/packages/contentful-migrations/core/0000000000001-create-d-settings-migration.js b/packages/contentful-migrations/core/0000000000001-create-d-settings-migration.js index 7d68623..62bf687 100644 --- a/packages/contentful-migrations/core/0000000000001-create-d-settings-migration.js +++ b/packages/contentful-migrations/core/0000000000001-create-d-settings-migration.js @@ -47,7 +47,7 @@ module.exports = function (migration) { .required(true) .validations([ { - linkContentType: ['page'], + linkContentType: ['t-page'], }, ]) .disabled(false) diff --git a/packages/contentful-migrations/core/0000000000003-create-page-migration.js b/packages/contentful-migrations/core/0000000000003-create-page-migration.js deleted file mode 100644 index 1fcb9fd..0000000 --- a/packages/contentful-migrations/core/0000000000003-create-page-migration.js +++ /dev/null @@ -1,89 +0,0 @@ -module.exports = function (migration) { - const page = migration - .createContentType('page') - .name('Compose: Page') - .description('Represents a web page in Compose. DO NOT DELETE') - .displayField('name'); - page - .createField('name') - .name('Internal name') - .type('Symbol') - .localized(false) - .required(true) - .validations([]) - .disabled(false) - .omitted(false); - page - .createField('title') - .name('Page title') - .type('Symbol') - .localized(true) - .required(true) - .validations([]) - .disabled(false) - .omitted(false); - - page - .createField('slug') - .name('Slug') - .type('Symbol') - .localized(true) - .required(true) - .validations([]) - .disabled(false) - .omitted(false); - - page - .createField('parent_page') - .name('Parent page') - .type('Link') - .localized(false) - .required(false) - .validations([ - { - linkContentType: ['folder', 'page'], - }, - ]) - .disabled(false) - .omitted(false) - .linkType('Entry'); - - page - .createField('seo') - .name('SEO metadata') - .type('Link') - .localized(false) - .required(false) - .validations([ - { - linkContentType: ['seo'], - }, - ]) - .disabled(false) - .omitted(false) - .linkType('Entry'); - - page - .createField('content') - .name('Content') - .type('Link') - .localized(false) - .required(true) - .validations([ - { - linkContentType: ['t-default'], - }, - ]) - .disabled(false) - .omitted(false) - .linkType('Entry'); - - page.changeFieldControl('name', 'builtin', 'singleLine', {}); - page.changeFieldControl('title', 'builtin', 'singleLine', {}); - page.changeFieldControl('parent_page', 'builtin', 'entryLinkEditor', {}); - page.changeFieldControl('slug', 'builtin', 'slugEditor', { - trackingFieldId: 'title', - }); - page.changeFieldControl('seo', 'builtin', 'entryCardEditor', {}); - page.changeFieldControl('content', 'builtin', 'entryCardEditor', {}); -}; diff --git a/packages/contentful-migrations/core/0000000000003-create-t-page-migration.js b/packages/contentful-migrations/core/0000000000003-create-t-page-migration.js new file mode 100644 index 0000000..497e479 --- /dev/null +++ b/packages/contentful-migrations/core/0000000000003-create-t-page-migration.js @@ -0,0 +1,195 @@ +module.exports = async function (migration, context) { + const { makeRequest } = context; + // Fetch locale + const { items: locales } = await makeRequest({ + method: 'GET', + url: '/locales', + }); + const defaultLocale = locales.find((locale) => locale.default); + + const tPage = migration + .createContentType('t-page') + .name('Template: Page') + .description('Represents a regular web page') + .displayField('name'); + + tPage + .createField('name') + .name('Internal name') + .type('Symbol') + .localized(false) + .required(true) + .validations([]) + .disabled(false) + .omitted(false); + + tPage + .createField('title') + .name('Page title') + .type('Symbol') + .localized(true) + .required(true) + .validations([]) + .disabled(false) + .omitted(false); + + tPage + .createField('slug') + .name('Slug') + .type('Symbol') + .localized(true) + .required(true) + .validations([]) + .disabled(false) + .omitted(false); + + tPage + .createField('parent_page') + .name('Parent page') + .type('Link') + .localized(false) + .required(false) + .validations([ + { + linkContentType: ['folder', 't-page'], + }, + ]) + .disabled(false) + .omitted(false) + .linkType('Entry'); + + tPage + .createField('seo_title') + .name('SEO title') + .type('Symbol') + .localized(true) + .required(false) + .validations([]) + .disabled(false) + .omitted(false); + + tPage + .createField('seo_description') + .name('SEO description') + .type('Symbol') + .localized(true) + .required(false) + .validations([]) + .disabled(false) + .omitted(false); + + tPage + .createField('share_image') + .name('Share image') + .type('Link') + .localized(false) + .required(false) + .validations([ + { + linkMimetypeGroup: ['image'], + }, + ]) + .disabled(false) + .omitted(false) + .linkType('Asset'); + + tPage + .createField('no_index') + .name('Hide page from search engines? (noindex)') + .type('Boolean') + .localized(false) + .required(false) + .validations([]) + .disabled(false) + .omitted(false); + + tPage + .createField('no_follow') + .name('Exclude links from search rankings? (nofollow)') + .type('Boolean') + .localized(false) + .required(false) + .validations([]) + .disabled(false) + .omitted(false); + + tPage + .createField('theme') + .name('Theme') + .type('Symbol') + .localized(false) + .required(false) + .validations([ + { + in: ['light', 'dark'], + }, + ]) + .defaultValue({ + [defaultLocale.code]: 'light', + }) + .disabled(false) + .omitted(false); + + tPage + .createField('stage') + .name('Stage') + .type('Link') + .localized(false) + .required(true) + .validations([ + { + linkContentType: ['m-stage'], + }, + ]) + .disabled(false) + .omitted(false) + .linkType('Entry'); + + tPage + .createField('modules') + .name('Modules') + .type('Array') + .localized(true) + .required(false) + .validations([]) + .disabled(false) + .omitted(false) + .items({ + type: 'Link', + validations: [ + { + linkContentType: ['m-columns', 'm-editorial', 'm-list', 'm-section', 'm-text'], + }, + ], + linkType: 'Entry', + }); + + tPage.changeFieldControl('name', 'builtin', 'singleLine', {}); + tPage.changeFieldControl('title', 'builtin', 'singleLine', {}); + tPage.changeFieldControl('parent_page', 'builtin', 'entryLinkEditor', {}); + tPage.changeFieldControl('slug', 'builtin', 'slugEditor', { + trackingFieldId: 'title', + }); + tPage.changeFieldControl('seo_title', 'builtin', 'singleLine', { + helpText: 'This will override the page title in search engine results', + }); + tPage.changeFieldControl('seo_description', 'builtin', 'singleLine', { + helpText: 'This will be displayed in search engine results', + }); + tPage.changeFieldControl('share_image', 'builtin', 'assetLinkEditor', { + helpText: 'This will be displayed when sharing the page on social media', + }); + tPage.changeFieldControl('no_index', 'builtin', 'boolean', { + helpText: 'Search engines will not include this page in search results', + trueLabel: 'Yes', + falseLabel: 'No', + }); + tPage.changeFieldControl('no_follow', 'builtin', 'boolean', { + helpText: 'Search engines will not follow the links on your page', + trueLabel: 'Yes', + falseLabel: 'No', + }); + tPage.changeFieldControl('theme', 'builtin', 'radio', {}); + tPage.changeFieldControl('stage', 'builtin', 'entryLinkEditor', {}); + tPage.changeFieldControl('modules', 'builtin', 'entryLinksEditor', {}); +}; diff --git a/packages/contentful-migrations/core/0000000000005-create-d-i18n-migration.js b/packages/contentful-migrations/core/0000000000004-create-d-i18n-migration.js similarity index 100% rename from packages/contentful-migrations/core/0000000000005-create-d-i18n-migration.js rename to packages/contentful-migrations/core/0000000000004-create-d-i18n-migration.js diff --git a/packages/contentful-migrations/core/0000000000004-create-seo-migration.js b/packages/contentful-migrations/core/0000000000004-create-seo-migration.js deleted file mode 100644 index 30c4a05..0000000 --- a/packages/contentful-migrations/core/0000000000004-create-seo-migration.js +++ /dev/null @@ -1,105 +0,0 @@ -module.exports = function (migration) { - const seo = migration - .createContentType('seo') - .name('Compose: SEO') - .description('SEO Metadata for web pages in Compose. DO NOT DELETE') - .displayField('name'); - seo - .createField('name') - .name('Internal name') - .type('Symbol') - .localized(false) - .required(true) - .validations([]) - .disabled(false) - .omitted(false); - seo - .createField('title') - .name('SEO title') - .type('Symbol') - .localized(true) - .required(false) - .validations([]) - .disabled(false) - .omitted(false); - seo - .createField('description') - .name('Description') - .type('Symbol') - .localized(true) - .required(false) - .validations([]) - .disabled(false) - .omitted(false); - seo - .createField('image') - .name('Share image') - .type('Link') - .localized(false) - .required(false) - .validations([ - { - linkMimetypeGroup: ['image'], - }, - ]) - .disabled(false) - .omitted(false) - .linkType('Asset'); - seo - .createField('keywords') - .name('Keywords') - .type('Symbol') - .localized(false) - .required(false) - .validations([]) - .disabled(true) - .omitted(false); - seo - .createField('no_index') - .name('Hide page from search engines? (noindex)') - .type('Boolean') - .localized(false) - .required(false) - .validations([]) - .disabled(false) - .omitted(false); - seo - .createField('no_follow') - .name('Exclude links from search rankings? (nofollow)') - .type('Boolean') - .localized(false) - .required(false) - .validations([]) - .disabled(false) - .omitted(false); - - seo.changeFieldControl('name', 'builtin', 'singleLine', { - helpText: "⚠️ Don't edit this field! The Compose will fill it for you.", - }); - - seo.changeFieldControl('title', 'builtin', 'singleLine', { - helpText: 'This will override the page title in search engine results', - }); - - seo.changeFieldControl('description', 'builtin', 'singleLine', { - helpText: 'This will be displayed in search engine results', - }); - - seo.changeFieldControl('image', 'builtin', 'assetLinkEditor', { - helpText: 'This will be displayed when sharing the page on social media', - }); - - seo.changeFieldControl('keywords', 'builtin', 'singleLine', {}); - - seo.changeFieldControl('no_index', 'builtin', 'boolean', { - helpText: 'Search engines will not include this page in search results', - trueLabel: 'Yes', - falseLabel: 'No', - }); - - seo.changeFieldControl('no_follow', 'builtin', 'boolean', { - helpText: 'Search engines will not follow the links on your page', - trueLabel: 'Yes', - falseLabel: 'No', - }); -}; diff --git a/packages/contentful-migrations/core/0000000000006-create-x-deploy-migration.js b/packages/contentful-migrations/core/0000000000005-create-x-deploy-migration.js similarity index 100% rename from packages/contentful-migrations/core/0000000000006-create-x-deploy-migration.js rename to packages/contentful-migrations/core/0000000000005-create-x-deploy-migration.js diff --git a/packages/contentful-migrations/core/0000000000007-configure-x-deploy-migration.js b/packages/contentful-migrations/core/0000000000006-configure-x-deploy-migration.js similarity index 100% rename from packages/contentful-migrations/core/0000000000007-configure-x-deploy-migration.js rename to packages/contentful-migrations/core/0000000000006-configure-x-deploy-migration.js diff --git a/packages/contentful-migrations/core/0000000000008-create-multi-text-extension-migration.js b/packages/contentful-migrations/core/0000000000007-create-multi-text-extension-migration.js similarity index 100% rename from packages/contentful-migrations/core/0000000000008-create-multi-text-extension-migration.js rename to packages/contentful-migrations/core/0000000000007-create-multi-text-extension-migration.js diff --git a/packages/contentful-migrations/core/0000000000010-create-t-default-migration.js b/packages/contentful-migrations/core/0000000000010-create-t-default-migration.js deleted file mode 100644 index 15d204d..0000000 --- a/packages/contentful-migrations/core/0000000000010-create-t-default-migration.js +++ /dev/null @@ -1,81 +0,0 @@ -module.exports = async function (migration, context) { - const { makeRequest } = context; - // Fetch locale - const { items: locales } = await makeRequest({ - method: 'GET', - url: '/locales', - }); - const defaultLocale = locales.find((locale) => locale.default); - - const tDefault = migration - .createContentType('t-default') - .name('Template: Default') - .description('Default template with no module restrictions') - .displayField('name'); - - tDefault - .createField('name') - .name('Internal name') - .type('Symbol') - .localized(false) - .required(false) - .validations([]) - .disabled(false) - .omitted(false); - - tDefault - .createField('theme') - .name('Theme') - .type('Symbol') - .localized(false) - .required(false) - .validations([ - { - in: ['light', 'dark'], - }, - ]) - .defaultValue({ - [defaultLocale.code]: 'light', - }) - .disabled(false) - .omitted(false); - - tDefault - .createField('stage') - .name('Stage') - .type('Link') - .localized(false) - .required(true) - .validations([ - { - linkContentType: ['m-stage'], - }, - ]) - .disabled(false) - .omitted(false) - .linkType('Entry'); - - tDefault - .createField('modules') - .name('Content modules') - .type('Array') - .localized(true) - .required(false) - .validations([]) - .disabled(false) - .omitted(false) - .items({ - type: 'Link', - validations: [ - { - linkContentType: ['m-columns', 'm-editorial', 'm-list', 'm-section', 'm-text'], - }, - ], - linkType: 'Entry', - }); - - tDefault.changeFieldControl('name', 'builtin', 'singleLine', {}); - tDefault.changeFieldControl('theme', 'builtin', 'radio', {}); - tDefault.changeFieldControl('stage', 'builtin', 'entryLinkEditor', {}); - tDefault.changeFieldControl('modules', 'builtin', 'entryLinksEditor', {}); -}; diff --git a/packages/contentful-migrations/ui/1000000000001-create-c-link-migration.js b/packages/contentful-migrations/ui/1000000000001-create-c-link-migration.js index 8591311..70131db 100644 --- a/packages/contentful-migrations/ui/1000000000001-create-c-link-migration.js +++ b/packages/contentful-migrations/ui/1000000000001-create-c-link-migration.js @@ -48,7 +48,7 @@ module.exports = function (migration) { .required(false) .validations([ { - linkContentType: ['page'], + linkContentType: ['t-page'], }, ]) .disabled(false) diff --git a/packages/contentful-migrations/ui/1000000000004-create-c-editorial-migration.js b/packages/contentful-migrations/ui/1000000000004-create-c-editorial-migration.js index 0311687..b33203c 100644 --- a/packages/contentful-migrations/ui/1000000000004-create-c-editorial-migration.js +++ b/packages/contentful-migrations/ui/1000000000004-create-c-editorial-migration.js @@ -83,7 +83,7 @@ module.exports = async function (migration) { validations: [ { - linkContentType: ['c-link', 'page'], + linkContentType: ['c-link', 't-page'], }, ], diff --git a/packages/contentful-migrations/ui/1000000000006-create-c-menu-migration.js b/packages/contentful-migrations/ui/1000000000006-create-c-menu-migration.js index ab5c803..38e79e9 100644 --- a/packages/contentful-migrations/ui/1000000000006-create-c-menu-migration.js +++ b/packages/contentful-migrations/ui/1000000000006-create-c-menu-migration.js @@ -36,7 +36,7 @@ module.exports = function (migration) { type: 'Link', validations: [ { - linkContentType: ['c-link', 'page', 'folder'], + linkContentType: ['c-link', 't-page', 'folder'], }, ], linkType: 'Entry', @@ -46,8 +46,8 @@ module.exports = function (migration) { cMenu.changeFieldControl('title', 'builtin', 'singleLine', {}); cMenu.changeFieldControl('entries', 'builtin', 'entryLinksEditor', {}); - const page = migration.editContentType('page'); - page + const tPage = migration.editContentType('t-page'); + tPage .createField('submenu') .name('Submenu') .type('Link') @@ -62,8 +62,8 @@ module.exports = function (migration) { .omitted(false) .linkType('Entry'); - page.moveField('submenu').beforeField('content'); - page.changeFieldControl('submenu', 'builtin', 'entryLinkEditor', {}); + tPage.moveField('submenu').afterField('parent_page'); + tPage.changeFieldControl('submenu', 'builtin', 'entryLinkEditor', {}); const dSettings = migration.editContentType('d-settings'); dSettings diff --git a/packages/contentful-migrations/ui/1100000000001-create-m-stage-migration.js b/packages/contentful-migrations/ui/1100000000001-create-m-stage-migration.js index fee9742..4221790 100644 --- a/packages/contentful-migrations/ui/1100000000001-create-m-stage-migration.js +++ b/packages/contentful-migrations/ui/1100000000001-create-m-stage-migration.js @@ -103,7 +103,7 @@ module.exports = async function (migration, context) { validations: [ { - linkContentType: ['c-link', 'page'], + linkContentType: ['c-link', 't-page'], }, ], diff --git a/packages/contentful-migrations/ui/1100000000005-create-m-text-migration.js b/packages/contentful-migrations/ui/1100000000005-create-m-text-migration.js index 718cc6a..b938e41 100644 --- a/packages/contentful-migrations/ui/1100000000005-create-m-text-migration.js +++ b/packages/contentful-migrations/ui/1100000000005-create-m-text-migration.js @@ -117,7 +117,7 @@ module.exports = async function (migration, context) { nodes: { 'entry-hyperlink': [ { - linkContentType: ['page'], + linkContentType: ['t-page'], message: null, }, ], diff --git a/templates/app/contentful-ssg.config.ts b/templates/app/contentful-ssg.config.ts index f752b56..4ffbcb9 100644 --- a/templates/app/contentful-ssg.config.ts +++ b/templates/app/contentful-ssg.config.ts @@ -5,7 +5,16 @@ const config: Config = { richTextRenderer: false, preview: process.env.CONTENTFUL_USE_PREVIEW === 'true', plugins: [ - '@jungvonmatt/cssg-plugin-hugo', + [ + '@jungvonmatt/cssg-plugin-hugo', + // TODO: Change this in the presets of the plugin and remove it here + { + menuRootTypes: ['t-*', 'folder', 'x-folder'], + typeConfig: { + content: ['t-*'], + }, + }, + ], [ '@jungvonmatt/cssg-plugin-assets', { diff --git a/templates/app/layouts/_default/baseof.html b/templates/app/layouts/_default/baseof.html index 725fc24..ab3e990 100644 --- a/templates/app/layouts/_default/baseof.html +++ b/templates/app/layouts/_default/baseof.html @@ -4,6 +4,7 @@ "environment" (or (getenv "HUGO_ENVIRONMENT") hugo.Environment) ) -}} +{{/* TODO: How can we deal with this since .Params.content no longer exists? */}} {{- with .Params.content -}} {{/* Prerender the page so we have the Scratch object available in "structure/head" to apply preload hints */}} {{/* Stored in a variable so we don't render the content to screen */}} diff --git a/templates/app/layouts/_default/section.html b/templates/app/layouts/_default/section.html index 711a87d..8a5e9d7 100644 --- a/templates/app/layouts/_default/section.html +++ b/templates/app/layouts/_default/section.html @@ -1,6 +1,6 @@ {{ define "main" }} {{- $pages := .Pages -}} - {{ with .Params.content }} + {{ with .Params.sys }} {{ partialCached "utils/get-partial" (dict "context" . "globals" $ diff --git a/templates/app/layouts/_default/single.html b/templates/app/layouts/_default/single.html index 6890ba7..95c2fa3 100644 --- a/templates/app/layouts/_default/single.html +++ b/templates/app/layouts/_default/single.html @@ -1,5 +1,5 @@ {{ define "main" }} - {{ with .Params.content }} + {{ with .Params.sys }} {{ partialCached "utils/get-partial" (dict "context" . "globals" $ diff --git a/templates/app/layouts/index.html b/templates/app/layouts/index.html index 96ed8d8..f8ac3d3 100644 --- a/templates/app/layouts/index.html +++ b/templates/app/layouts/index.html @@ -1,5 +1,5 @@ {{ define "main" }} - {{ with .Params.content }} + {{ with .Params.sys }} {{ partial "utils/get-partial" (dict "context" . "globals" $ diff --git a/templates/app/layouts/section.html b/templates/app/layouts/section.html index 6731a36..9adf109 100644 --- a/templates/app/layouts/section.html +++ b/templates/app/layouts/section.html @@ -5,7 +5,7 @@ {{ define "main" }} {{- $pages := .Pages -}} - {{ with .Params.content }} + {{ with .Params.sys }} {{ partial "utils/get-partial" (dict "context" . "globals" $ diff --git a/templates/theme-default/layouts/partials/components/c-link/attributes.html b/templates/theme-default/layouts/partials/components/c-link/attributes.html index 04b8763..8f281d5 100644 --- a/templates/theme-default/layouts/partials/components/c-link/attributes.html +++ b/templates/theme-default/layouts/partials/components/c-link/attributes.html @@ -27,12 +27,12 @@ {{- end -}} {{- with $params.content_type -}} - {{- if eq . "page" }} + {{- if hasPrefix . "t-" }} {{- $link = partial "utils/link" $params -}} {{- end -}} {{- end -}} {{- with $params.sys -}} - {{- if eq .content_type "page" }} + {{- if hasPrefix .content_type "t-" }} {{- $link = partial "utils/link" . -}} {{- end -}} {{- end -}} diff --git a/templates/theme-default/layouts/partials/templates/t-default.html b/templates/theme-default/layouts/partials/templates/t-page.html similarity index 87% rename from templates/theme-default/layouts/partials/templates/t-default.html rename to templates/theme-default/layouts/partials/templates/t-page.html index 494a76d..9d02822 100644 --- a/templates/theme-default/layouts/partials/templates/t-default.html +++ b/templates/theme-default/layouts/partials/templates/t-page.html @@ -4,7 +4,7 @@ {{- $stage := $context.stage -}} {{- $modules := $context.modules -}} -
+
{{- with $stage -}} {{- partial "utils/get-partial" (dict "context" . From f53a38777670166ab57473969b37fe1522b92142 Mon Sep 17 00:00:00 2001 From: Peter Schewe Date: Mon, 4 Jul 2022 15:18:29 +0200 Subject: [PATCH 02/63] build: upgrade contentful-migrations package --- templates/app/package.json | 2 +- templates/theme-default/package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/templates/app/package.json b/templates/app/package.json index f64087c..366a39e 100644 --- a/templates/app/package.json +++ b/templates/app/package.json @@ -47,7 +47,7 @@ "devDependencies": { "@babel/core": "^7.16.12", "@jungvonmatt/contentful-fakes": "^1.7.1", - "@jungvonmatt/contentful-migrations": "^5.3.0", + "@jungvonmatt/contentful-migrations": "^5.3.1", "@jungvonmatt/contentful-ssg": "^1.7.1", "@jungvonmatt/cssg-plugin-assets": "^1.6.0", "@jungvonmatt/cssg-plugin-hugo": "^1.7.2", diff --git a/templates/theme-default/package.json b/templates/theme-default/package.json index e6d2a36..37862d8 100644 --- a/templates/theme-default/package.json +++ b/templates/theme-default/package.json @@ -33,7 +33,7 @@ "devDependencies": { "@babel/core": "^7.16.0", "@jungvonmatt/contentful-fakes": "^1.7.1", - "@jungvonmatt/contentful-migrations": "^5.3.0", + "@jungvonmatt/contentful-migrations": "^5.3.1", "@jungvonmatt/contentful-ssg": "^1.7.1", "@jungvonmatt/cssg-plugin-assets": "^1.6.0", "@jungvonmatt/cssg-plugin-hugo": "^1.7.2", From f0a39db12eaba36d9d12495d3b6b1c0cfbb309bb Mon Sep 17 00:00:00 2001 From: Peter Schewe Date: Mon, 4 Jul 2022 15:33:59 +0200 Subject: [PATCH 03/63] chore(migrations): remove unused function params --- .../core/0000000000002-configure-d-settings-migration.js | 2 +- .../core/0000000000003-create-t-page-migration.js | 2 +- .../core/0000000000007-create-multi-text-extension-migration.js | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/contentful-migrations/core/0000000000002-configure-d-settings-migration.js b/packages/contentful-migrations/core/0000000000002-configure-d-settings-migration.js index 5c8f520..821d6e7 100644 --- a/packages/contentful-migrations/core/0000000000002-configure-d-settings-migration.js +++ b/packages/contentful-migrations/core/0000000000002-configure-d-settings-migration.js @@ -3,7 +3,7 @@ /** * Migration to generate the d-settings object with id 'settings' so it is available in contentful-ssg */ -module.exports = async function (migration, context) { +module.exports = async function (context) { const { makeRequest } = context; // Fetch locale diff --git a/packages/contentful-migrations/core/0000000000003-create-t-page-migration.js b/packages/contentful-migrations/core/0000000000003-create-t-page-migration.js index 497e479..aae60e6 100644 --- a/packages/contentful-migrations/core/0000000000003-create-t-page-migration.js +++ b/packages/contentful-migrations/core/0000000000003-create-t-page-migration.js @@ -158,7 +158,7 @@ module.exports = async function (migration, context) { type: 'Link', validations: [ { - linkContentType: ['m-columns', 'm-editorial', 'm-list', 'm-section', 'm-text'], + linkContentType: ['m-columns', 'm-editorial', 'm-list', 'm-text'], }, ], linkType: 'Entry', diff --git a/packages/contentful-migrations/core/0000000000007-create-multi-text-extension-migration.js b/packages/contentful-migrations/core/0000000000007-create-multi-text-extension-migration.js index 61c1362..086816a 100644 --- a/packages/contentful-migrations/core/0000000000007-create-multi-text-extension-migration.js +++ b/packages/contentful-migrations/core/0000000000007-create-multi-text-extension-migration.js @@ -12,7 +12,7 @@ const readJsonAsync = async (filepath, options) => { /** * Contentful migration */ -module.exports = async function (migration, context) { +module.exports = async function (context) { const { makeRequest } = context; // Check if deploy-with-confirmation extension is installed const { items: extensions } = await makeRequest({ From 3b3cc68b13b906a43ef14ae3a3a7740ea03168d6 Mon Sep 17 00:00:00 2001 From: Peter Schewe Date: Mon, 4 Jul 2022 15:35:36 +0200 Subject: [PATCH 04/63] refactor(model): remove m-section --- ...100000000002-create-m-section-migration.js | 99 ------------------- 1 file changed, 99 deletions(-) delete mode 100644 packages/contentful-migrations/ui/1100000000002-create-m-section-migration.js diff --git a/packages/contentful-migrations/ui/1100000000002-create-m-section-migration.js b/packages/contentful-migrations/ui/1100000000002-create-m-section-migration.js deleted file mode 100644 index 31a118f..0000000 --- a/packages/contentful-migrations/ui/1100000000002-create-m-section-migration.js +++ /dev/null @@ -1,99 +0,0 @@ -module.exports = async function (migration, context) { - const { makeRequest } = context; - // Fetch locale - const { items: locales } = await makeRequest({ - method: 'GET', - url: '/locales', - }); - const defaultLocale = locales.find((locale) => locale.default); - - const mSection = migration - .createContentType('m-section') - .name('Module: Section') - .description('') - .displayField('name'); - - mSection - .createField('name') - .name('Internal name') - .type('Symbol') - .localized(false) - .required(false) - .validations([]) - .disabled(false) - .omitted(false); - - mSection - .createField('theme') - .name('Theme') - .type('Symbol') - .localized(false) - .required(false) - .validations([ - { - in: ['light', 'dark'], - }, - ]) - .defaultValue({ - [defaultLocale.code]: 'light', - }) - .disabled(false) - .omitted(false); - - mSection - .createField('spacing') - .name('Spacing') - .type('Symbol') - .localized(false) - .required(false) - .validations([ - { - in: ['none', 'sm', 'md', 'lg'], - }, - ]) - .defaultValue({ - [defaultLocale.code]: 'md', - }) - .disabled(false) - .omitted(false); - - mSection - .createField('layout') - .name('Layout') - .type('Symbol') - .localized(false) - .required(false) - .validations([ - { - in: ['default'], - }, - ]) - .defaultValue({ - [defaultLocale.code]: 'default', - }) - .disabled(false) - .omitted(false); - - mSection - .createField('body') - .name('Content') - .type('Array') - .localized(false) - .required(false) - .validations([]) - .disabled(false) - .omitted(false) - .items({ - type: 'Link', - validations: [], - linkType: 'Entry', - }); - - mSection.changeFieldControl('name', 'builtin', 'singleLine', {}); - - mSection.changeFieldControl('theme', 'builtin', 'dropdown', {}); - mSection.changeFieldControl('spacing', 'builtin', 'dropdown', {}); - - mSection.changeFieldControl('layout', 'builtin', 'dropdown', {}); - mSection.changeFieldControl('body', 'builtin', 'entryLinksEditor', {}); -}; From 55d722f5f3f49cc59563b83034b517df0b98960f Mon Sep 17 00:00:00 2001 From: Peter Schewe Date: Mon, 4 Jul 2022 16:15:59 +0200 Subject: [PATCH 05/63] chore: remove TODO comments --- hugo-modules/core/utils/seo/private/get-config.html | 1 - hugo-modules/core/utils/seo/private/get-data.html | 2 -- 2 files changed, 3 deletions(-) diff --git a/hugo-modules/core/utils/seo/private/get-config.html b/hugo-modules/core/utils/seo/private/get-config.html index 605eef1..ae65a5b 100644 --- a/hugo-modules/core/utils/seo/private/get-config.html +++ b/hugo-modules/core/utils/seo/private/get-config.html @@ -16,7 +16,6 @@ {{ end }} */}} {{ $config := dict }} -{{/* TODO: .Params.seo no longer exists */}} {{ with site.Params.seo }} {{ $config = . }} {{ end }} diff --git a/hugo-modules/core/utils/seo/private/get-data.html b/hugo-modules/core/utils/seo/private/get-data.html index d2d68ad..0153aba 100644 --- a/hugo-modules/core/utils/seo/private/get-data.html +++ b/hugo-modules/core/utils/seo/private/get-data.html @@ -109,7 +109,6 @@ ---------------------------- */}} {{ $img := false }} -{{/* TODO: default_image does not exist */}} {{ with $config.default_image }} {{ $img = . }} {{ end }} @@ -164,7 +163,6 @@ {{ end }} {{/* We check if the page is not set as private */}} -{{/* TODO: .Params.seo no longer exists */}} {{ with $.Params.seo.private }} {{ $s.SetInMap "seo" "private" true }} {{ end }} From 0d7cb4150fc134697fa07cd1b5ab98c7c483e52a Mon Sep 17 00:00:00 2001 From: Peter Schewe Date: Mon, 4 Jul 2022 16:19:40 +0200 Subject: [PATCH 06/63] chore: remove obsolete styles of m-section --- templates/theme-default/assets/scss/main.scss | 1 - templates/theme-default/assets/scss/modules/_m-section.scss | 0 templates/theme-default/layouts/partials/modules/m-columns.html | 2 +- .../theme-default/layouts/partials/modules/m-list/grid.html | 2 +- .../theme-default/layouts/partials/modules/m-list/slider.html | 2 +- 5 files changed, 3 insertions(+), 4 deletions(-) delete mode 100644 templates/theme-default/assets/scss/modules/_m-section.scss diff --git a/templates/theme-default/assets/scss/main.scss b/templates/theme-default/assets/scss/main.scss index 0683743..4f95bcb 100644 --- a/templates/theme-default/assets/scss/main.scss +++ b/templates/theme-default/assets/scss/main.scss @@ -35,7 +35,6 @@ @import "modules/m-stage"; @import "modules/m-columns"; @import "modules/m-list"; -@import "modules/m-section"; @import "modules/m-media"; // 8. Utilities diff --git a/templates/theme-default/assets/scss/modules/_m-section.scss b/templates/theme-default/assets/scss/modules/_m-section.scss deleted file mode 100644 index e69de29..0000000 diff --git a/templates/theme-default/layouts/partials/modules/m-columns.html b/templates/theme-default/layouts/partials/modules/m-columns.html index 5748718..ed20f46 100644 --- a/templates/theme-default/layouts/partials/modules/m-columns.html +++ b/templates/theme-default/layouts/partials/modules/m-columns.html @@ -13,7 +13,7 @@ {{- $column_left := $params.column_left | default slice -}} {{- $column_right := $params.column_right | default slice -}} -
+
{{- range (slice $column_left $column_right) -}} diff --git a/templates/theme-default/layouts/partials/modules/m-list/grid.html b/templates/theme-default/layouts/partials/modules/m-list/grid.html index d51c63b..30f8195 100644 --- a/templates/theme-default/layouts/partials/modules/m-list/grid.html +++ b/templates/theme-default/layouts/partials/modules/m-list/grid.html @@ -13,7 +13,7 @@ {{- $layout := $params.layout -}} {{- $columns := $params.columns | default 4 -}} -
+
{{- with $body -}} {{- $content := . -}} diff --git a/templates/theme-default/layouts/partials/modules/m-list/slider.html b/templates/theme-default/layouts/partials/modules/m-list/slider.html index de439a7..24211a5 100644 --- a/templates/theme-default/layouts/partials/modules/m-list/slider.html +++ b/templates/theme-default/layouts/partials/modules/m-list/slider.html @@ -13,7 +13,7 @@ {{- $layout := $params.layout -}} {{- $columns := $params.columns | default 4 -}} -
+
From 3282f93eb122b9eb60f1dbd3ad760c40b56a4bdc Mon Sep 17 00:00:00 2001 From: Peter Schewe Date: Mon, 4 Jul 2022 16:23:26 +0200 Subject: [PATCH 07/63] chore: remove TODO comment --- templates/app/contentful-ssg.config.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/templates/app/contentful-ssg.config.ts b/templates/app/contentful-ssg.config.ts index 4ffbcb9..4f72170 100644 --- a/templates/app/contentful-ssg.config.ts +++ b/templates/app/contentful-ssg.config.ts @@ -7,7 +7,6 @@ const config: Config = { plugins: [ [ '@jungvonmatt/cssg-plugin-hugo', - // TODO: Change this in the presets of the plugin and remove it here { menuRootTypes: ['t-*', 'folder', 'x-folder'], typeConfig: { From 2afc413b35c5a5a63e76be8437db844cad40a838 Mon Sep 17 00:00:00 2001 From: Peter Schewe Date: Mon, 4 Jul 2022 22:31:46 +0200 Subject: [PATCH 08/63] fix(sonarlint): rename unused param and make intention explicit --- .../core/0000000000002-configure-d-settings-migration.js | 2 +- .../core/0000000000007-create-multi-text-extension-migration.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/contentful-migrations/core/0000000000002-configure-d-settings-migration.js b/packages/contentful-migrations/core/0000000000002-configure-d-settings-migration.js index 821d6e7..b4529bd 100644 --- a/packages/contentful-migrations/core/0000000000002-configure-d-settings-migration.js +++ b/packages/contentful-migrations/core/0000000000002-configure-d-settings-migration.js @@ -3,7 +3,7 @@ /** * Migration to generate the d-settings object with id 'settings' so it is available in contentful-ssg */ -module.exports = async function (context) { +module.exports = async function (_migration, context) { const { makeRequest } = context; // Fetch locale diff --git a/packages/contentful-migrations/core/0000000000007-create-multi-text-extension-migration.js b/packages/contentful-migrations/core/0000000000007-create-multi-text-extension-migration.js index 086816a..e21e77a 100644 --- a/packages/contentful-migrations/core/0000000000007-create-multi-text-extension-migration.js +++ b/packages/contentful-migrations/core/0000000000007-create-multi-text-extension-migration.js @@ -12,7 +12,7 @@ const readJsonAsync = async (filepath, options) => { /** * Contentful migration */ -module.exports = async function (context) { +module.exports = async function (_migration, context) { const { makeRequest } = context; // Check if deploy-with-confirmation extension is installed const { items: extensions } = await makeRequest({ From 0a34289a7e5314353f8e391a1345cc5b22b12755 Mon Sep 17 00:00:00 2001 From: Peter Schewe Date: Mon, 4 Jul 2022 23:18:09 +0200 Subject: [PATCH 09/63] refactor(migrations): add/update descriptions of content types --- .../core/0000000000001-create-d-settings-migration.js | 3 +-- .../core/0000000000003-create-t-page-migration.js | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/packages/contentful-migrations/core/0000000000001-create-d-settings-migration.js b/packages/contentful-migrations/core/0000000000001-create-d-settings-migration.js index 62bf687..c520e1c 100644 --- a/packages/contentful-migrations/core/0000000000001-create-d-settings-migration.js +++ b/packages/contentful-migrations/core/0000000000001-create-d-settings-migration.js @@ -2,8 +2,7 @@ module.exports = function (migration) { const dSettings = migration .createContentType('d-settings') .name('Data: Settings') - .description('') - .displayField('name'); + .description('Global site parameters') dSettings .createField('name') .name('Internal name') diff --git a/packages/contentful-migrations/core/0000000000003-create-t-page-migration.js b/packages/contentful-migrations/core/0000000000003-create-t-page-migration.js index aae60e6..1123ced 100644 --- a/packages/contentful-migrations/core/0000000000003-create-t-page-migration.js +++ b/packages/contentful-migrations/core/0000000000003-create-t-page-migration.js @@ -10,7 +10,7 @@ module.exports = async function (migration, context) { const tPage = migration .createContentType('t-page') .name('Template: Page') - .description('Represents a regular web page') + .description('Template for a regular web page') .displayField('name'); tPage From 965c17899a32ac445f3ec28b84dbba0de92f042f Mon Sep 17 00:00:00 2001 From: Peter Schewe Date: Mon, 4 Jul 2022 23:20:55 +0200 Subject: [PATCH 10/63] refactor(migrations): change internal_name fields and make all required --- ...00000000001-create-d-settings-migration.js | 10 ++++++---- ...00000002-configure-d-settings-migration.js | 2 +- .../0000000000003-create-t-page-migration.js | 19 +++++++++++++++--- .../0000000000004-create-d-i18n-migration.js | 2 ++ ...0000000000005-create-x-deploy-migration.js | 10 +++++++--- ...0000000006-configure-x-deploy-migration.js | 8 ++++---- .../1000000000001-create-c-link-migration.js | 11 ++++++---- .../1000000000002-create-c-image-migration.js | 18 +++++++++++------ .../1000000000003-create-c-media-migration.js | 14 +++++++++---- ...0000000004-create-c-editorial-migration.js | 15 ++++++++++---- .../1000000000006-create-c-menu-migration.js | 18 +++++++++++++---- .../1000000000007-create-c-video-migration.js | 17 ++++++++++++---- .../1100000000001-create-m-stage-migration.js | 20 +++++++++++++++---- .../1100000000003-create-m-list-migration.js | 15 ++++++++++---- ...100000000004-create-m-columns-migration.js | 15 ++++++++++---- .../1100000000005-create-m-text-migration.js | 17 ++++++++++++---- ...0000000006-create-m-editorial-migration.js | 12 ++++++++--- .../1100000000007-create-m-media-migration.js | 13 +++++++++--- 18 files changed, 173 insertions(+), 63 deletions(-) diff --git a/packages/contentful-migrations/core/0000000000001-create-d-settings-migration.js b/packages/contentful-migrations/core/0000000000001-create-d-settings-migration.js index c520e1c..0ab96bc 100644 --- a/packages/contentful-migrations/core/0000000000001-create-d-settings-migration.js +++ b/packages/contentful-migrations/core/0000000000001-create-d-settings-migration.js @@ -3,12 +3,14 @@ module.exports = function (migration) { .createContentType('d-settings') .name('Data: Settings') .description('Global site parameters') + .displayField('internal_name'); + dSettings - .createField('name') + .createField('internal_name') .name('Internal name') .type('Symbol') .localized(false) - .required(false) + .required(true) .validations([]) .disabled(false) .omitted(false); @@ -53,8 +55,8 @@ module.exports = function (migration) { .omitted(false) .linkType('Entry'); - dSettings.changeFieldControl('name', 'builtin', 'singleLine', { - helpText: "This field is for internal use only. It won't appear on the page.", + dSettings.changeFieldControl('internal_name', 'builtin', 'singleLine', { + helpText: 'e.g. "Global settings"', }); dSettings.changeFieldControl('title', 'builtin', 'singleLine', { diff --git a/packages/contentful-migrations/core/0000000000002-configure-d-settings-migration.js b/packages/contentful-migrations/core/0000000000002-configure-d-settings-migration.js index b4529bd..1df290e 100644 --- a/packages/contentful-migrations/core/0000000000002-configure-d-settings-migration.js +++ b/packages/contentful-migrations/core/0000000000002-configure-d-settings-migration.js @@ -20,7 +20,7 @@ module.exports = async function (_migration, context) { headers: { 'X-Contentful-Content-Type': 'd-settings' }, data: { fields: { - name: { + internal_name: { [defaultLocale.code]: 'Global settings', }, }, diff --git a/packages/contentful-migrations/core/0000000000003-create-t-page-migration.js b/packages/contentful-migrations/core/0000000000003-create-t-page-migration.js index 1123ced..5a9f714 100644 --- a/packages/contentful-migrations/core/0000000000003-create-t-page-migration.js +++ b/packages/contentful-migrations/core/0000000000003-create-t-page-migration.js @@ -11,10 +11,10 @@ module.exports = async function (migration, context) { .createContentType('t-page') .name('Template: Page') .description('Template for a regular web page') - .displayField('name'); + .displayField('internal_name'); tPage - .createField('name') + .createField('internal_name') .name('Internal name') .type('Symbol') .localized(false) @@ -164,32 +164,45 @@ module.exports = async function (migration, context) { linkType: 'Entry', }); - tPage.changeFieldControl('name', 'builtin', 'singleLine', {}); + tPage.changeFieldControl('internal_name', 'builtin', 'singleLine', { + helpText: 'e.g. "Home page"', + }); + tPage.changeFieldControl('title', 'builtin', 'singleLine', {}); + tPage.changeFieldControl('parent_page', 'builtin', 'entryLinkEditor', {}); + tPage.changeFieldControl('slug', 'builtin', 'slugEditor', { trackingFieldId: 'title', }); + tPage.changeFieldControl('seo_title', 'builtin', 'singleLine', { helpText: 'This will override the page title in search engine results', }); + tPage.changeFieldControl('seo_description', 'builtin', 'singleLine', { helpText: 'This will be displayed in search engine results', }); + tPage.changeFieldControl('share_image', 'builtin', 'assetLinkEditor', { helpText: 'This will be displayed when sharing the page on social media', }); + tPage.changeFieldControl('no_index', 'builtin', 'boolean', { helpText: 'Search engines will not include this page in search results', trueLabel: 'Yes', falseLabel: 'No', }); + tPage.changeFieldControl('no_follow', 'builtin', 'boolean', { helpText: 'Search engines will not follow the links on your page', trueLabel: 'Yes', falseLabel: 'No', }); + tPage.changeFieldControl('theme', 'builtin', 'radio', {}); + tPage.changeFieldControl('stage', 'builtin', 'entryLinkEditor', {}); + tPage.changeFieldControl('modules', 'builtin', 'entryLinksEditor', {}); }; diff --git a/packages/contentful-migrations/core/0000000000004-create-d-i18n-migration.js b/packages/contentful-migrations/core/0000000000004-create-d-i18n-migration.js index d2d74a6..1a1b8e9 100644 --- a/packages/contentful-migrations/core/0000000000004-create-d-i18n-migration.js +++ b/packages/contentful-migrations/core/0000000000004-create-d-i18n-migration.js @@ -40,7 +40,9 @@ module.exports = function (migration) { .omitted(false); dI18n.changeFieldControl('key', 'builtin', 'singleLine', {}); + dI18n.changeFieldControl('other', 'builtin', 'singleLine', {}); + dI18n.changeFieldControl('one', 'builtin', 'singleLine', { helpText: 'Optionally pass a dedicated singular value', }); diff --git a/packages/contentful-migrations/core/0000000000005-create-x-deploy-migration.js b/packages/contentful-migrations/core/0000000000005-create-x-deploy-migration.js index a3384c6..c186bb0 100644 --- a/packages/contentful-migrations/core/0000000000005-create-x-deploy-migration.js +++ b/packages/contentful-migrations/core/0000000000005-create-x-deploy-migration.js @@ -8,9 +8,10 @@ module.exports = function (migration) { .createContentType('x-deploy') .name('Deploy') .description('Depoy trigger') - .displayField('name'); + .displayField('internal_name'); + deploy - .createField('name') + .createField('internal_name') .name('Internal name') .type('Symbol') .localized(false) @@ -18,5 +19,8 @@ module.exports = function (migration) { .validations([]) .disabled(false) .omitted(false); - deploy.changeFieldControl('name', 'builtin', 'singleLine', {}); + + deploy.changeFieldControl('internal_name', 'builtin', 'singleLine', { + helpText: 'e.g. "Deploy to preview"', + }); }; diff --git a/packages/contentful-migrations/core/0000000000006-configure-x-deploy-migration.js b/packages/contentful-migrations/core/0000000000006-configure-x-deploy-migration.js index 7ed6c8c..a326cf0 100644 --- a/packages/contentful-migrations/core/0000000000006-configure-x-deploy-migration.js +++ b/packages/contentful-migrations/core/0000000000006-configure-x-deploy-migration.js @@ -10,7 +10,7 @@ const readJsonAsync = async (filepath, options) => { }; /** - * Contentful migration + * Contentful migration to configure the the deploy content type */ module.exports = async function (migration, context) { const { makeRequest } = context; @@ -82,7 +82,7 @@ module.exports = async function (migration, context) { headers: { 'X-Contentful-Content-Type': 'x-deploy' }, data: { fields: { - name: { + internal_name: { [defaultLocale.code]: 'Deploy to preview', }, }, @@ -94,7 +94,7 @@ module.exports = async function (migration, context) { headers: { 'X-Contentful-Content-Type': 'x-deploy' }, data: { fields: { - name: { + internal_name: { [defaultLocale.code]: 'Deploy to staging', }, }, @@ -106,7 +106,7 @@ module.exports = async function (migration, context) { headers: { 'X-Contentful-Content-Type': 'x-deploy' }, data: { fields: { - name: { + internal_name: { [defaultLocale.code]: 'Deploy to production', }, }, diff --git a/packages/contentful-migrations/ui/1000000000001-create-c-link-migration.js b/packages/contentful-migrations/ui/1000000000001-create-c-link-migration.js index 70131db..0863d63 100644 --- a/packages/contentful-migrations/ui/1000000000001-create-c-link-migration.js +++ b/packages/contentful-migrations/ui/1000000000001-create-c-link-migration.js @@ -3,10 +3,10 @@ module.exports = function (migration) { .createContentType('c-link') .name('Component: Link') .description('Content type for internal & external Links') - .displayField('name'); + .displayField('internal_name'); cLink - .createField('name') + .createField('internal_name') .name('Internal name') .type('Symbol') .localized(false) @@ -131,11 +131,12 @@ module.exports = function (migration) { .disabled(false) .omitted(false); - cLink.changeFieldControl('name', 'builtin', 'singleLine', { - helpText: "This field is for internal use only. It won't appear on the page.", + cLink.changeFieldControl('internal_name', 'builtin', 'singleLine', { + helpText: 'e.g. "Home page > Stage > Link"', }); cLink.changeFieldControl('text', 'builtin', 'singleLine', {}); + cLink.changeFieldControl('query', 'builtin', 'singleLine', {}); cLink.changeFieldControl('icon', 'builtin', 'assetLinkEditor', { @@ -157,6 +158,8 @@ module.exports = function (migration) { cLink.changeFieldControl('link_to_url', 'builtin', 'urlEditor', {}); cLink.changeFieldControl('target_blank', 'builtin', 'boolean', {}); + cLink.changeFieldControl('open_as_download', 'builtin', 'boolean', {}); + cLink.changeFieldControl('appearance', 'builtin', 'dropdown', {}); }; diff --git a/packages/contentful-migrations/ui/1000000000002-create-c-image-migration.js b/packages/contentful-migrations/ui/1000000000002-create-c-image-migration.js index 48428f2..7046e6b 100644 --- a/packages/contentful-migrations/ui/1000000000002-create-c-image-migration.js +++ b/packages/contentful-migrations/ui/1000000000002-create-c-image-migration.js @@ -11,13 +11,14 @@ module.exports = async function (migration, context) { .createContentType('c-image') .name('Component: Image') .description('Image type with dedicated fields for mobile & desktop asset') - .displayField('name'); + .displayField('internal_name'); + cImage - .createField('name') + .createField('internal_name') .name('Internal name') .type('Symbol') .localized(false) - .required(false) + .required(true) .validations([]) .disabled(false) .omitted(false); @@ -85,14 +86,19 @@ module.exports = async function (migration, context) { }) .omitted(false); - cImage.changeFieldControl('name', 'builtin', 'singleLine', { - helpText: "This field is for internal use only. It won't appear on the page.", + cImage.changeFieldControl('internal_name', 'builtin', 'singleLine', { + helpText: 'e.g. "Home page > Stage > Image"', }); + cImage.changeFieldControl('alt', 'builtin', 'singleLine', {}); + cImage.changeFieldControl('caption', 'builtin', 'multipleLine', {}); + cImage.changeFieldControl('image_mobile', 'builtin', 'assetLinkEditor', {}); + cImage.changeFieldControl('image_desktop', 'builtin', 'assetLinkEditor', { - helpText: 'Leave emptzy to use the mobile image on all screen sizes', + helpText: 'Leave empty to use the mobile image on all screen sizes', }); + cImage.changeFieldControl('lazy', 'builtin', 'boolean', {}); }; diff --git a/packages/contentful-migrations/ui/1000000000003-create-c-media-migration.js b/packages/contentful-migrations/ui/1000000000003-create-c-media-migration.js index 137cb7f..6133d7e 100644 --- a/packages/contentful-migrations/ui/1000000000003-create-c-media-migration.js +++ b/packages/contentful-migrations/ui/1000000000003-create-c-media-migration.js @@ -11,9 +11,10 @@ module.exports = async function (migration, context) { .createContentType('c-media') .name('Component: Media') .description('Images / loop videos with predefined ratios') - .displayField('name'); + .displayField('internal_name'); + cMedia - .createField('name') + .createField('internal_name') .name('Internal name') .type('Symbol') .localized(false) @@ -21,6 +22,7 @@ module.exports = async function (migration, context) { .validations([]) .disabled(false) .omitted(false); + cMedia .createField('alt') .name('Alt text') @@ -30,6 +32,7 @@ module.exports = async function (migration, context) { .validations([]) .disabled(false) .omitted(false); + cMedia .createField('caption') .name('Caption') @@ -185,11 +188,14 @@ module.exports = async function (migration, context) { .disabled(false) .omitted(false); - cMedia.changeFieldControl('name', 'builtin', 'singleLine', { - helpText: "This field is for internal use only. It won't appear on the page.", + cMedia.changeFieldControl('internal_name', 'builtin', 'singleLine', { + helpText: 'e.g. "Home page > Stage > Media"', }); + cMedia.changeFieldControl('alt', 'builtin', 'singleLine', {}); + cMedia.changeFieldControl('caption', 'builtin', 'multipleLine', {}); + cMedia.changeFieldControl('media', 'builtin', 'assetLinkEditor', {}); cMedia.changeFieldControl('mobile_ratio', 'builtin', 'dropdown', { diff --git a/packages/contentful-migrations/ui/1000000000004-create-c-editorial-migration.js b/packages/contentful-migrations/ui/1000000000004-create-c-editorial-migration.js index b33203c..9c40cb0 100644 --- a/packages/contentful-migrations/ui/1000000000004-create-c-editorial-migration.js +++ b/packages/contentful-migrations/ui/1000000000004-create-c-editorial-migration.js @@ -3,9 +3,10 @@ module.exports = async function (migration) { .createContentType('c-editorial') .name('Component: Editorial') .description('Teaser-like components with text, image & links') - .displayField('name'); + .displayField('internal_name'); + cEditorial - .createField('name') + .createField('internal_name') .name('Internal name') .type('Symbol') .localized(false) @@ -13,6 +14,7 @@ module.exports = async function (migration) { .validations([]) .disabled(false) .omitted(false); + cEditorial .createField('title') .name('Title') @@ -22,6 +24,7 @@ module.exports = async function (migration) { .validations([]) .disabled(false) .omitted(false); + cEditorial .createField('subtitle') .name('Subtitle') @@ -90,13 +93,17 @@ module.exports = async function (migration) { linkType: 'Entry', }); - cEditorial.changeFieldControl('name', 'builtin', 'singleLine', { - helpText: "This field is for internal use only. It won't appear on the page.", + cEditorial.changeFieldControl('internal_name', 'builtin', 'singleLine', { + helpText: 'e.g. "Home page > Editorial > Editorial"', }); cEditorial.changeFieldControl('title', 'builtin', 'singleLine', {}); + cEditorial.changeFieldControl('subtitle', 'builtin', 'singleLine', {}); + cEditorial.changeFieldControl('text', 'builtin', 'richTextEditor', {}); + cEditorial.changeFieldControl('media', 'builtin', 'entryLinkEditor', {}); + cEditorial.changeFieldControl('links', 'builtin', 'entryLinksEditor', {}); }; diff --git a/packages/contentful-migrations/ui/1000000000006-create-c-menu-migration.js b/packages/contentful-migrations/ui/1000000000006-create-c-menu-migration.js index 38e79e9..7c93190 100644 --- a/packages/contentful-migrations/ui/1000000000006-create-c-menu-migration.js +++ b/packages/contentful-migrations/ui/1000000000006-create-c-menu-migration.js @@ -3,9 +3,10 @@ module.exports = function (migration) { .createContentType('c-menu') .name('Component: Menu') .description('Content type for specifying menus') - .displayField('name'); + .displayField('internal_name'); + cMenu - .createField('name') + .createField('internal_name') .name('Internal name') .type('Symbol') .localized(false) @@ -13,6 +14,7 @@ module.exports = function (migration) { .validations([]) .disabled(false) .omitted(false); + cMenu .createField('title') .name('Title') @@ -42,8 +44,10 @@ module.exports = function (migration) { linkType: 'Entry', }); - cMenu.changeFieldControl('name', 'builtin', 'singleLine', {}); + cMenu.changeFieldControl('internal_name', 'builtin', 'singleLine', {}); + cMenu.changeFieldControl('title', 'builtin', 'singleLine', {}); + cMenu.changeFieldControl('entries', 'builtin', 'entryLinksEditor', {}); const tPage = migration.editContentType('t-page'); @@ -63,6 +67,7 @@ module.exports = function (migration) { .linkType('Entry'); tPage.moveField('submenu').afterField('parent_page'); + tPage.changeFieldControl('submenu', 'builtin', 'entryLinkEditor', {}); const dSettings = migration.editContentType('d-settings'); @@ -138,8 +143,13 @@ module.exports = function (migration) { linkType: 'Entry', }); - dSettings.changeFieldControl('main_menu', 'builtin', 'entryLinkEditor', {}); + dSettings.changeFieldControl('main_menu', 'builtin', 'entryLinkEditor', { + helpText: 'e.g. "Global settings > Main menu"', + }); + dSettings.changeFieldControl('meta_menu', 'builtin', 'entryLinkEditor', {}); + dSettings.changeFieldControl('social_menu', 'builtin', 'entryLinkEditor', {}); + dSettings.changeFieldControl('footer_menus', 'builtin', 'entryLinksEditor', {}); }; diff --git a/packages/contentful-migrations/ui/1000000000007-create-c-video-migration.js b/packages/contentful-migrations/ui/1000000000007-create-c-video-migration.js index afaccf2..43dc489 100644 --- a/packages/contentful-migrations/ui/1000000000007-create-c-video-migration.js +++ b/packages/contentful-migrations/ui/1000000000007-create-c-video-migration.js @@ -11,10 +11,10 @@ module.exports = async function (migration, context) { .createContentType('c-video') .name('Component: Video') .description('Add a video from Contentful or an external source like youtube to your site') - .displayField('name'); + .displayField('internal_name'); cVideo - .createField('name') + .createField('internal_name') .name('Internal name') .type('Symbol') .localized(false) @@ -22,6 +22,7 @@ module.exports = async function (migration, context) { .validations([]) .disabled(false) .omitted(false); + cVideo .createField('src') .name('Src') @@ -135,21 +136,29 @@ module.exports = async function (migration, context) { .disabled(false) .omitted(false); - cVideo.changeFieldControl('name', 'builtin', 'singleLine', { - helpText: "This field is for internal use only. It won't appear on the page.", + cVideo.changeFieldControl('internal_name', 'builtin', 'singleLine', { + helpText: 'e.g. "Home page > Stage > Video"', }); + cVideo.changeFieldControl('src', 'builtin', 'singleLine', {}); + cVideo.changeFieldControl('asset', 'builtin', 'assetLinkEditor', {}); + cVideo.changeFieldControl('poster', 'builtin', 'assetLinkEditor', {}); cVideo.changeFieldControl('caption', 'builtin', 'multipleLine', {}); + cVideo.changeFieldControl('track', 'builtin', 'assetLinkEditor', { helpText: 'Simple text file containing the actual subtitle data in the WebVTT format.', showLinkEntityAction: true, showCreateEntityAction: true, }); + cVideo.changeFieldControl('autoplay', 'builtin', 'boolean', {}); + cVideo.changeFieldControl('muted', 'builtin', 'boolean', {}); + cVideo.changeFieldControl('loop', 'builtin', 'boolean', {}); + cVideo.changeFieldControl('controls', 'builtin', 'boolean', {}); }; diff --git a/packages/contentful-migrations/ui/1100000000001-create-m-stage-migration.js b/packages/contentful-migrations/ui/1100000000001-create-m-stage-migration.js index 4221790..764cf8c 100644 --- a/packages/contentful-migrations/ui/1100000000001-create-m-stage-migration.js +++ b/packages/contentful-migrations/ui/1100000000001-create-m-stage-migration.js @@ -11,16 +11,18 @@ module.exports = async function (migration, context) { .createContentType('m-stage') .name('Module: Stage') .description('Stage module is the very first element on every page.') - .displayField('name'); + .displayField('internal_name'); + mStage - .createField('name') + .createField('internal_name') .name('Internal name') .type('Symbol') .localized(false) - .required(false) + .required(true) .validations([]) .disabled(false) .omitted(false); + mStage .createField('title') .name('Title') @@ -30,6 +32,7 @@ module.exports = async function (migration, context) { .validations([]) .disabled(false) .omitted(false); + mStage .createField('subtitle') .name('Subtitle') @@ -146,12 +149,21 @@ module.exports = async function (migration, context) { linkType: 'Entry', }); - mStage.changeFieldControl('name', 'builtin', 'singleLine', {}); + mStage.changeFieldControl('internal_name', 'builtin', 'singleLine', { + helpText: 'e.g. "Home page > Stage"', + }); + mStage.changeFieldControl('title', 'builtin', 'singleLine', {}); + mStage.changeFieldControl('subtitle', 'builtin', 'singleLine', {}); + mStage.changeFieldControl('text', 'builtin', 'richTextEditor', {}); + mStage.changeFieldControl('media', 'builtin', 'entryLinkEditor', {}); + mStage.changeFieldControl('links', 'builtin', 'entryLinksEditor', {}); + mStage.changeFieldControl('layout', 'builtin', 'dropdown', {}); + mStage.changeFieldControl('content', 'builtin', 'entryLinksEditor', {}); }; diff --git a/packages/contentful-migrations/ui/1100000000003-create-m-list-migration.js b/packages/contentful-migrations/ui/1100000000003-create-m-list-migration.js index c105f7d..ce3c2b5 100644 --- a/packages/contentful-migrations/ui/1100000000003-create-m-list-migration.js +++ b/packages/contentful-migrations/ui/1100000000003-create-m-list-migration.js @@ -11,13 +11,14 @@ module.exports = async function (migration, context) { .createContentType('m-list') .name('Module: List') .description('Allows placing multiple components in a slider or grid') - .displayField('name'); + .displayField('internal_name'); + mList - .createField('name') + .createField('internal_name') .name('Internal name') .type('Symbol') .localized(false) - .required(false) + .required(true) .validations([]) .disabled(false) .omitted(false); @@ -94,9 +95,15 @@ module.exports = async function (migration, context) { linkType: 'Entry', }); - mList.changeFieldControl('name', 'builtin', 'singleLine', {}); + mList.changeFieldControl('internal_name', 'builtin', 'singleLine', { + helpText: 'e.g. "Home page > List"', + }); + mList.changeFieldControl('layout', 'builtin', 'dropdown', {}); + mList.changeFieldControl('theme', 'builtin', 'dropdown', {}); + mList.changeFieldControl('spacing', 'builtin', 'dropdown', {}); + mList.changeFieldControl('body', 'builtin', 'entryLinksEditor', {}); }; diff --git a/packages/contentful-migrations/ui/1100000000004-create-m-columns-migration.js b/packages/contentful-migrations/ui/1100000000004-create-m-columns-migration.js index 31aeb52..bb6aa91 100644 --- a/packages/contentful-migrations/ui/1100000000004-create-m-columns-migration.js +++ b/packages/contentful-migrations/ui/1100000000004-create-m-columns-migration.js @@ -11,14 +11,14 @@ module.exports = async function (migration, context) { .createContentType('m-columns') .name('Module: Columns') .description('Helper for two column layouts') - .displayField('name'); + .displayField('internal_name'); mColumns - .createField('name') + .createField('internal_name') .name('Internal name') .type('Symbol') .localized(false) - .required(false) + .required(true) .validations([]) .disabled(false) .omitted(false); @@ -117,10 +117,17 @@ module.exports = async function (migration, context) { linkType: 'Entry', }); - mColumns.changeFieldControl('name', 'builtin', 'singleLine', {}); + mColumns.changeFieldControl('internal_name', 'builtin', 'singleLine', { + helpText: 'e.g. "Home page > Columns"', + }); + mColumns.changeFieldControl('theme', 'builtin', 'dropdown', {}); + mColumns.changeFieldControl('spacing', 'builtin', 'dropdown', {}); + mColumns.changeFieldControl('layout', 'builtin', 'dropdown', {}); + mColumns.changeFieldControl('column_left', 'builtin', 'entryLinksEditor', {}); + mColumns.changeFieldControl('column_right', 'builtin', 'entryLinksEditor', {}); }; diff --git a/packages/contentful-migrations/ui/1100000000005-create-m-text-migration.js b/packages/contentful-migrations/ui/1100000000005-create-m-text-migration.js index b938e41..fe747c2 100644 --- a/packages/contentful-migrations/ui/1100000000005-create-m-text-migration.js +++ b/packages/contentful-migrations/ui/1100000000005-create-m-text-migration.js @@ -11,13 +11,14 @@ module.exports = async function (migration, context) { .createContentType('m-text') .name('Module: Text') .description('Content type for placing richtext') - .displayField('name'); + .displayField('internal_name'); + mText - .createField('name') + .createField('internal_name') .name('Internal name') .type('Symbol') .localized(false) - .required(false) + .required(true) .validations([]) .disabled(false) .omitted(false); @@ -59,6 +60,7 @@ module.exports = async function (migration, context) { mText.changeFieldControl('theme', 'builtin', 'dropdown', { helpText: 'light: Light background, dark text; dark: Dark background, light text.', }); + mText.changeFieldControl('spacing', 'builtin', 'dropdown', {}); mText @@ -127,12 +129,19 @@ module.exports = async function (migration, context) { .disabled(false) .omitted(false); - mText.changeFieldControl('name', 'builtin', 'singleLine', {}); + mText.changeFieldControl('internal_name', 'builtin', 'singleLine', { + helpText: 'e.g. "Home page > Text"', + }); + mText.changeFieldControl('theme', 'builtin', 'dropdown', {}); + mText.changeFieldControl('spacing', 'builtin', 'dropdown', {}); + mText.changeFieldControl('layout', 'builtin', 'dropdown', {}); mText.changeFieldControl('headline', 'builtin', 'singleLine', {}); + mText.changeFieldControl('subline', 'builtin', 'singleLine', {}); + mText.changeFieldControl('body', 'builtin', 'richTextEditor', {}); }; diff --git a/packages/contentful-migrations/ui/1100000000006-create-m-editorial-migration.js b/packages/contentful-migrations/ui/1100000000006-create-m-editorial-migration.js index 52c9062..afdd3b4 100644 --- a/packages/contentful-migrations/ui/1100000000006-create-m-editorial-migration.js +++ b/packages/contentful-migrations/ui/1100000000006-create-m-editorial-migration.js @@ -11,10 +11,10 @@ module.exports = async function (migration, context) { .createContentType('m-editorial') .name('Module: Editorial') .description('Module wrapper for the editorial component') - .displayField('name'); + .displayField('internal_name'); mEditorial - .createField('name') + .createField('internal_name') .name('Internal name') .type('Symbol') .localized(false) @@ -89,9 +89,15 @@ module.exports = async function (migration, context) { .omitted(false) .linkType('Entry'); - mEditorial.changeFieldControl('name', 'builtin', 'singleLine', {}); + mEditorial.changeFieldControl('internal_name', 'builtin', 'singleLine', { + helpText: 'e.g. "Home page > Editorial"', + }); + mEditorial.changeFieldControl('theme', 'builtin', 'dropdown', {}); + mEditorial.changeFieldControl('spacing', 'builtin', 'dropdown', {}); + mEditorial.changeFieldControl('layout', 'builtin', 'dropdown', {}); + mEditorial.changeFieldControl('body', 'builtin', 'entryLinkEditor', {}); }; diff --git a/packages/contentful-migrations/ui/1100000000007-create-m-media-migration.js b/packages/contentful-migrations/ui/1100000000007-create-m-media-migration.js index 90be378..c5595a6 100644 --- a/packages/contentful-migrations/ui/1100000000007-create-m-media-migration.js +++ b/packages/contentful-migrations/ui/1100000000007-create-m-media-migration.js @@ -11,9 +11,10 @@ module.exports = async function (migration, context) { .createContentType('m-media') .name('Module: Media') .description('Module wrapper for media component') - .displayField('name'); + .displayField('internal_name'); + mMedia - .createField('name') + .createField('internal_name') .name('Internal name') .type('Symbol') .localized(false) @@ -88,9 +89,15 @@ module.exports = async function (migration, context) { .omitted(false) .linkType('Entry'); - mMedia.changeFieldControl('name', 'builtin', 'singleLine', {}); + mMedia.changeFieldControl('internal_name', 'builtin', 'singleLine', { + helpText: 'e.g. "Home page > Media"', + }); + mMedia.changeFieldControl('theme', 'builtin', 'dropdown', {}); + mMedia.changeFieldControl('spacing', 'builtin', 'dropdown', {}); + mMedia.changeFieldControl('layout', 'builtin', 'dropdown', {}); + mMedia.changeFieldControl('body', 'builtin', 'entryLinkEditor', {}); }; From 2730ba7753192b0c96525b55fdf56beecae672f9 Mon Sep 17 00:00:00 2001 From: Peter Schewe Date: Mon, 4 Jul 2022 23:44:24 +0200 Subject: [PATCH 11/63] refactor(migrations): limit the allowed entries in m-columns --- ...100000000004-create-m-columns-migration.js | 40 ++++++++----------- 1 file changed, 16 insertions(+), 24 deletions(-) diff --git a/packages/contentful-migrations/ui/1100000000004-create-m-columns-migration.js b/packages/contentful-migrations/ui/1100000000004-create-m-columns-migration.js index bb6aa91..6e39198 100644 --- a/packages/contentful-migrations/ui/1100000000004-create-m-columns-migration.js +++ b/packages/contentful-migrations/ui/1100000000004-create-m-columns-migration.js @@ -82,40 +82,32 @@ module.exports = async function (migration, context) { mColumns .createField('column_left') .name('Column left') - .type('Array') + .type('Link') .localized(false) .required(false) - .validations([]) + .validations([ + { + linkContentType: ['c-editorial', 'c-image', 'c-media', 'c-video'], + }, + ]) .disabled(false) .omitted(false) - .items({ - type: 'Link', - validations: [ - { - linkContentType: ['c-link', 'c-editorial', 'c-image', 'c-media', 'c-video'], - }, - ], - linkType: 'Entry', - }); + .linkType('Entry'); mColumns .createField('column_right') .name('Column right') - .type('Array') + .type('Link') .localized(false) .required(false) - .validations([]) + .validations([ + { + linkContentType: ['c-editorial', 'c-image', 'c-media', 'c-video'], + }, + ]) .disabled(false) .omitted(false) - .items({ - type: 'Link', - validations: [ - { - linkContentType: ['c-link', 'c-editorial', 'c-image', 'c-media', 'c-video'], - }, - ], - linkType: 'Entry', - }); + .linkType('Entry'); mColumns.changeFieldControl('internal_name', 'builtin', 'singleLine', { helpText: 'e.g. "Home page > Columns"', @@ -127,7 +119,7 @@ module.exports = async function (migration, context) { mColumns.changeFieldControl('layout', 'builtin', 'dropdown', {}); - mColumns.changeFieldControl('column_left', 'builtin', 'entryLinksEditor', {}); + mColumns.changeFieldControl('column_left', 'builtin', 'entryLinkEditor', {}); - mColumns.changeFieldControl('column_right', 'builtin', 'entryLinksEditor', {}); + mColumns.changeFieldControl('column_right', 'builtin', 'entryLinkEditor', {}); }; From abf24dac2d61f0e7ffb40567ad3ea8d662fab7b7 Mon Sep 17 00:00:00 2001 From: Peter Schewe Date: Mon, 4 Jul 2022 23:54:43 +0200 Subject: [PATCH 12/63] refactor: remove 'folder' from menuRootTypes in cssg presets --- templates/app/contentful-ssg.config.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/templates/app/contentful-ssg.config.ts b/templates/app/contentful-ssg.config.ts index 4f72170..7c216ec 100644 --- a/templates/app/contentful-ssg.config.ts +++ b/templates/app/contentful-ssg.config.ts @@ -8,7 +8,7 @@ const config: Config = { [ '@jungvonmatt/cssg-plugin-hugo', { - menuRootTypes: ['t-*', 'folder', 'x-folder'], + menuRootTypes: ['t-*'], typeConfig: { content: ['t-*'], }, From 6ac2e7209438a3559162a9193939440be3fff9d2 Mon Sep 17 00:00:00 2001 From: Peter Schewe Date: Tue, 5 Jul 2022 00:05:49 +0200 Subject: [PATCH 13/63] refactor: change to .Params.sys after content model refactoring --- templates/app/layouts/_default/baseof.html | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/templates/app/layouts/_default/baseof.html b/templates/app/layouts/_default/baseof.html index ab3e990..ad9efe2 100644 --- a/templates/app/layouts/_default/baseof.html +++ b/templates/app/layouts/_default/baseof.html @@ -4,8 +4,7 @@ "environment" (or (getenv "HUGO_ENVIRONMENT") hugo.Environment) ) -}} -{{/* TODO: How can we deal with this since .Params.content no longer exists? */}} -{{- with .Params.content -}} +{{- with .Params.sys -}} {{/* Prerender the page so we have the Scratch object available in "structure/head" to apply preload hints */}} {{/* Stored in a variable so we don't render the content to screen */}} {{ $tmp := partialCached "utils/get-partial.html" (dict From d268ede070c60a0e12ca9c8bb9223a4287b22bfc Mon Sep 17 00:00:00 2001 From: Peter Schewe Date: Tue, 5 Jul 2022 01:08:18 +0200 Subject: [PATCH 14/63] refactor(migrations): use withHelpers function --- ...000000000002-configure-d-settings-migration.js | 13 ++++--------- .../core/0000000000003-create-t-page-migration.js | 15 ++++++--------- .../0000000000006-configure-x-deploy-migration.js | 12 ++++-------- .../ui/1000000000002-create-c-image-migration.js | 14 +++++--------- .../ui/1000000000003-create-c-media-migration.js | 14 +++++--------- .../ui/1000000000007-create-c-video-migration.js | 14 +++++--------- .../ui/1100000000001-create-m-stage-migration.js | 14 +++++--------- .../ui/1100000000003-create-m-list-migration.js | 14 +++++--------- .../1100000000004-create-m-columns-migration.js | 14 +++++--------- .../ui/1100000000005-create-m-text-migration.js | 14 +++++--------- .../1100000000006-create-m-editorial-migration.js | 14 +++++--------- .../ui/1100000000007-create-m-media-migration.js | 14 +++++--------- 12 files changed, 59 insertions(+), 107 deletions(-) diff --git a/packages/contentful-migrations/core/0000000000002-configure-d-settings-migration.js b/packages/contentful-migrations/core/0000000000002-configure-d-settings-migration.js index 1df290e..6ac0535 100644 --- a/packages/contentful-migrations/core/0000000000002-configure-d-settings-migration.js +++ b/packages/contentful-migrations/core/0000000000002-configure-d-settings-migration.js @@ -1,17 +1,12 @@ /* eslint-env node */ +const { withHelpers } = require('@jungvonmatt/contentful-migrations'); /** * Migration to generate the d-settings object with id 'settings' so it is available in contentful-ssg */ -module.exports = async function (_migration, context) { +module.exports = withHelpers(async (_migration, context, helpers) => { const { makeRequest } = context; - - // Fetch locale - const { items: locales } = await makeRequest({ - method: 'GET', - url: '/locales', - }); - const defaultLocale = locales.find((locale) => locale.default); + const defaultLocale = await helpers.locale.getDefaultLocale(); // Create config object await makeRequest({ @@ -26,4 +21,4 @@ module.exports = async function (_migration, context) { }, }, }); -}; +}); diff --git a/packages/contentful-migrations/core/0000000000003-create-t-page-migration.js b/packages/contentful-migrations/core/0000000000003-create-t-page-migration.js index 5a9f714..7e8cf54 100644 --- a/packages/contentful-migrations/core/0000000000003-create-t-page-migration.js +++ b/packages/contentful-migrations/core/0000000000003-create-t-page-migration.js @@ -1,11 +1,8 @@ -module.exports = async function (migration, context) { - const { makeRequest } = context; - // Fetch locale - const { items: locales } = await makeRequest({ - method: 'GET', - url: '/locales', - }); - const defaultLocale = locales.find((locale) => locale.default); +/* eslint-env node */ +const { withHelpers } = require('@jungvonmatt/contentful-migrations'); + +module.exports = withHelpers(async (migration, _context, helpers) => { + const defaultLocale = await helpers.locale.getDefaultLocale(); const tPage = migration .createContentType('t-page') @@ -205,4 +202,4 @@ module.exports = async function (migration, context) { tPage.changeFieldControl('stage', 'builtin', 'entryLinkEditor', {}); tPage.changeFieldControl('modules', 'builtin', 'entryLinksEditor', {}); -}; +}); diff --git a/packages/contentful-migrations/core/0000000000006-configure-x-deploy-migration.js b/packages/contentful-migrations/core/0000000000006-configure-x-deploy-migration.js index a326cf0..29d0cc0 100644 --- a/packages/contentful-migrations/core/0000000000006-configure-x-deploy-migration.js +++ b/packages/contentful-migrations/core/0000000000006-configure-x-deploy-migration.js @@ -1,4 +1,5 @@ /* eslint-env node */ +const { withHelpers } = require('@jungvonmatt/contentful-migrations'); const path = require('path'); const fs = require('fs'); const { promisify } = require('util'); @@ -12,9 +13,10 @@ const readJsonAsync = async (filepath, options) => { /** * Contentful migration to configure the the deploy content type */ -module.exports = async function (migration, context) { +module.exports = withHelpers(async (migration, context, helpers) => { const { makeRequest } = context; const deploy = migration.editContentType('x-deploy'); + const defaultLocale = await helpers.locale.getDefaultLocale(); // Remove default sidebar widgets const defaultWidgets = [ @@ -70,12 +72,6 @@ module.exports = async function (migration, context) { // Add deploy-with-confirmation sidebar widget deploy.addSidebarWidget('extension', 'deploy-with-confirmation'); - // Add Deploy objects - const { items: locales } = await makeRequest({ - method: 'GET', - url: '/locales', - }); - const defaultLocale = locales.find((locale) => locale.default); await makeRequest({ method: 'PUT', url: `/entries/deploy-to-preview`, @@ -112,4 +108,4 @@ module.exports = async function (migration, context) { }, }, }); -}; +}); diff --git a/packages/contentful-migrations/ui/1000000000002-create-c-image-migration.js b/packages/contentful-migrations/ui/1000000000002-create-c-image-migration.js index 7046e6b..3ae5042 100644 --- a/packages/contentful-migrations/ui/1000000000002-create-c-image-migration.js +++ b/packages/contentful-migrations/ui/1000000000002-create-c-image-migration.js @@ -1,11 +1,7 @@ -module.exports = async function (migration, context) { - const { makeRequest } = context; - // Fetch locale - const { items: locales } = await makeRequest({ - method: 'GET', - url: '/locales', - }); - const defaultLocale = locales.find((locale) => locale.default); +const { withHelpers } = require('@jungvonmatt/contentful-migrations'); + +module.exports = withHelpers(async (migration, _context, helpers) => { + const defaultLocale = await helpers.locale.getDefaultLocale(); const cImage = migration .createContentType('c-image') @@ -101,4 +97,4 @@ module.exports = async function (migration, context) { }); cImage.changeFieldControl('lazy', 'builtin', 'boolean', {}); -}; +}); diff --git a/packages/contentful-migrations/ui/1000000000003-create-c-media-migration.js b/packages/contentful-migrations/ui/1000000000003-create-c-media-migration.js index 6133d7e..f41e557 100644 --- a/packages/contentful-migrations/ui/1000000000003-create-c-media-migration.js +++ b/packages/contentful-migrations/ui/1000000000003-create-c-media-migration.js @@ -1,11 +1,7 @@ -module.exports = async function (migration, context) { - const { makeRequest } = context; - // Fetch locale - const { items: locales } = await makeRequest({ - method: 'GET', - url: '/locales', - }); - const defaultLocale = locales.find((locale) => locale.default); +const { withHelpers } = require('@jungvonmatt/contentful-migrations'); + +module.exports = withHelpers(async (migration, _context, helpers) => { + const defaultLocale = await helpers.locale.getDefaultLocale(); const cMedia = migration .createContentType('c-media') @@ -235,4 +231,4 @@ module.exports = async function (migration, context) { }); cMedia.changeFieldControl('lazy', 'builtin', 'boolean', {}); -}; +}); diff --git a/packages/contentful-migrations/ui/1000000000007-create-c-video-migration.js b/packages/contentful-migrations/ui/1000000000007-create-c-video-migration.js index 43dc489..cfdcdaf 100644 --- a/packages/contentful-migrations/ui/1000000000007-create-c-video-migration.js +++ b/packages/contentful-migrations/ui/1000000000007-create-c-video-migration.js @@ -1,11 +1,7 @@ -module.exports = async function (migration, context) { - const { makeRequest } = context; - // Fetch locale - const { items: locales } = await makeRequest({ - method: 'GET', - url: '/locales', - }); - const defaultLocale = locales.find((locale) => locale.default); +const { withHelpers } = require('@jungvonmatt/contentful-migrations'); + +module.exports = withHelpers(async (migration, _context, helpers) => { + const defaultLocale = await helpers.locale.getDefaultLocale(); const cVideo = migration .createContentType('c-video') @@ -161,4 +157,4 @@ module.exports = async function (migration, context) { cVideo.changeFieldControl('loop', 'builtin', 'boolean', {}); cVideo.changeFieldControl('controls', 'builtin', 'boolean', {}); -}; +}); diff --git a/packages/contentful-migrations/ui/1100000000001-create-m-stage-migration.js b/packages/contentful-migrations/ui/1100000000001-create-m-stage-migration.js index 764cf8c..1aa327c 100644 --- a/packages/contentful-migrations/ui/1100000000001-create-m-stage-migration.js +++ b/packages/contentful-migrations/ui/1100000000001-create-m-stage-migration.js @@ -1,11 +1,7 @@ -module.exports = async function (migration, context) { - const { makeRequest } = context; - // Fetch locale - const { items: locales } = await makeRequest({ - method: 'GET', - url: '/locales', - }); - const defaultLocale = locales.find((locale) => locale.default); +const { withHelpers } = require('@jungvonmatt/contentful-migrations'); + +module.exports = withHelpers(async (migration, _context, helpers) => { + const defaultLocale = await helpers.locale.getDefaultLocale(); const mStage = migration .createContentType('m-stage') @@ -166,4 +162,4 @@ module.exports = async function (migration, context) { mStage.changeFieldControl('layout', 'builtin', 'dropdown', {}); mStage.changeFieldControl('content', 'builtin', 'entryLinksEditor', {}); -}; +}); diff --git a/packages/contentful-migrations/ui/1100000000003-create-m-list-migration.js b/packages/contentful-migrations/ui/1100000000003-create-m-list-migration.js index ce3c2b5..c791442 100644 --- a/packages/contentful-migrations/ui/1100000000003-create-m-list-migration.js +++ b/packages/contentful-migrations/ui/1100000000003-create-m-list-migration.js @@ -1,11 +1,7 @@ -module.exports = async function (migration, context) { - const { makeRequest } = context; - // Fetch locale - const { items: locales } = await makeRequest({ - method: 'GET', - url: '/locales', - }); - const defaultLocale = locales.find((locale) => locale.default); +const { withHelpers } = require('@jungvonmatt/contentful-migrations'); + +module.exports = withHelpers(async (migration, _context, helpers) => { + const defaultLocale = await helpers.locale.getDefaultLocale(); const mList = migration .createContentType('m-list') @@ -106,4 +102,4 @@ module.exports = async function (migration, context) { mList.changeFieldControl('spacing', 'builtin', 'dropdown', {}); mList.changeFieldControl('body', 'builtin', 'entryLinksEditor', {}); -}; +}); diff --git a/packages/contentful-migrations/ui/1100000000004-create-m-columns-migration.js b/packages/contentful-migrations/ui/1100000000004-create-m-columns-migration.js index 6e39198..f5374a5 100644 --- a/packages/contentful-migrations/ui/1100000000004-create-m-columns-migration.js +++ b/packages/contentful-migrations/ui/1100000000004-create-m-columns-migration.js @@ -1,11 +1,7 @@ -module.exports = async function (migration, context) { - const { makeRequest } = context; - // Fetch locale - const { items: locales } = await makeRequest({ - method: 'GET', - url: '/locales', - }); - const defaultLocale = locales.find((locale) => locale.default); +const { withHelpers } = require('@jungvonmatt/contentful-migrations'); + +module.exports = withHelpers(async (migration, _context, helpers) => { + const defaultLocale = await helpers.locale.getDefaultLocale(); const mColumns = migration .createContentType('m-columns') @@ -122,4 +118,4 @@ module.exports = async function (migration, context) { mColumns.changeFieldControl('column_left', 'builtin', 'entryLinkEditor', {}); mColumns.changeFieldControl('column_right', 'builtin', 'entryLinkEditor', {}); -}; +}); diff --git a/packages/contentful-migrations/ui/1100000000005-create-m-text-migration.js b/packages/contentful-migrations/ui/1100000000005-create-m-text-migration.js index fe747c2..8a945d6 100644 --- a/packages/contentful-migrations/ui/1100000000005-create-m-text-migration.js +++ b/packages/contentful-migrations/ui/1100000000005-create-m-text-migration.js @@ -1,11 +1,7 @@ -module.exports = async function (migration, context) { - const { makeRequest } = context; - // Fetch locale - const { items: locales } = await makeRequest({ - method: 'GET', - url: '/locales', - }); - const defaultLocale = locales.find((locale) => locale.default); +const { withHelpers } = require('@jungvonmatt/contentful-migrations'); + +module.exports = withHelpers(async (migration, _context, helpers) => { + const defaultLocale = await helpers.locale.getDefaultLocale(); const mText = migration .createContentType('m-text') @@ -144,4 +140,4 @@ module.exports = async function (migration, context) { mText.changeFieldControl('subline', 'builtin', 'singleLine', {}); mText.changeFieldControl('body', 'builtin', 'richTextEditor', {}); -}; +}); diff --git a/packages/contentful-migrations/ui/1100000000006-create-m-editorial-migration.js b/packages/contentful-migrations/ui/1100000000006-create-m-editorial-migration.js index afdd3b4..0dc1624 100644 --- a/packages/contentful-migrations/ui/1100000000006-create-m-editorial-migration.js +++ b/packages/contentful-migrations/ui/1100000000006-create-m-editorial-migration.js @@ -1,11 +1,7 @@ -module.exports = async function (migration, context) { - const { makeRequest } = context; - // Fetch locale - const { items: locales } = await makeRequest({ - method: 'GET', - url: '/locales', - }); - const defaultLocale = locales.find((locale) => locale.default); +const { withHelpers } = require('@jungvonmatt/contentful-migrations'); + +module.exports = withHelpers(async (migration, _context, helpers) => { + const defaultLocale = await helpers.locale.getDefaultLocale(); const mEditorial = migration .createContentType('m-editorial') @@ -100,4 +96,4 @@ module.exports = async function (migration, context) { mEditorial.changeFieldControl('layout', 'builtin', 'dropdown', {}); mEditorial.changeFieldControl('body', 'builtin', 'entryLinkEditor', {}); -}; +}); diff --git a/packages/contentful-migrations/ui/1100000000007-create-m-media-migration.js b/packages/contentful-migrations/ui/1100000000007-create-m-media-migration.js index c5595a6..0149e2e 100644 --- a/packages/contentful-migrations/ui/1100000000007-create-m-media-migration.js +++ b/packages/contentful-migrations/ui/1100000000007-create-m-media-migration.js @@ -1,11 +1,7 @@ -module.exports = async function (migration, context) { - const { makeRequest } = context; - // Fetch locale - const { items: locales } = await makeRequest({ - method: 'GET', - url: '/locales', - }); - const defaultLocale = locales.find((locale) => locale.default); +const { withHelpers } = require('@jungvonmatt/contentful-migrations'); + +module.exports = withHelpers(async (migration, _context, helpers) => { + const defaultLocale = await helpers.locale.getDefaultLocale(); const mMedia = migration .createContentType('m-media') @@ -100,4 +96,4 @@ module.exports = async function (migration, context) { mMedia.changeFieldControl('layout', 'builtin', 'dropdown', {}); mMedia.changeFieldControl('body', 'builtin', 'entryLinkEditor', {}); -}; +}); From 237bdf1c446cbd77e131bcf9a624d78ba3cc190b Mon Sep 17 00:00:00 2001 From: Peter Schewe Date: Tue, 5 Jul 2022 09:40:10 +0200 Subject: [PATCH 15/63] docs: remove todos from Storybook introduction page Fixes #24 --- .../theme-default/content/docs/introduction/_index.md | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/templates/theme-default/content/docs/introduction/_index.md b/templates/theme-default/content/docs/introduction/_index.md index 861c792..22227fb 100644 --- a/templates/theme-default/content/docs/introduction/_index.md +++ b/templates/theme-default/content/docs/introduction/_index.md @@ -6,18 +6,11 @@ title: Introduction # Kon'nichiwa 👋 -The WEKit Design System is a reusable component library that helps contributors build UIs faster. +This is our component library documentation that helps authors create user interfaces faster. ## Design System 🎨 - `design-tokens` are platform-agnostic variables that represent the look and feel of your brand or product. Example: **colors** - `components` are the basic building blocks and the smallest functional unit. They are used in modules and cannot stand alone. Example: **c-button** - `modules` can be used as a full-width section within templates. They can contain components. Example: **m-stage** -- `templates` are the skeleton of a page and may contain modules. Example: **t-article** - -## Todos ✅ - -- Custom Docs: Import CHANGELOG.md -- Custom Docs: Allow inline stories -- Story: Implement [@storybook/addon-controls](https://www.npmjs.com/package/@storybook/addon-controls) with some simple examples -- Story: Make breakpoints in viewport toolbar customizable +- `templates` are the skeleton of a page and may contain modules. Example: **t-page** From 5726789ccfa4b13bdb4928219a6c9400c331bf79 Mon Sep 17 00:00:00 2001 From: Peter Schewe Date: Tue, 5 Jul 2022 09:41:21 +0200 Subject: [PATCH 16/63] refactor: remove t-default from Storybook --- .../theme-default/content/stories/t-default/_index.md | 3 --- .../theme-default/content/stories/t-default/default.md | 8 -------- templates/theme-default/data/t-default/default.yaml | 6 ------ 3 files changed, 17 deletions(-) delete mode 100644 templates/theme-default/content/stories/t-default/_index.md delete mode 100644 templates/theme-default/content/stories/t-default/default.md delete mode 100644 templates/theme-default/data/t-default/default.yaml diff --git a/templates/theme-default/content/stories/t-default/_index.md b/templates/theme-default/content/stories/t-default/_index.md deleted file mode 100644 index 42443d6..0000000 --- a/templates/theme-default/content/stories/t-default/_index.md +++ /dev/null @@ -1,3 +0,0 @@ ---- -type: storybook ---- diff --git a/templates/theme-default/content/stories/t-default/default.md b/templates/theme-default/content/stories/t-default/default.md deleted file mode 100644 index 750d94f..0000000 --- a/templates/theme-default/content/stories/t-default/default.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -type: storybook -includeInDocs: false -partials: - - id: default - content_type: t-default - ---- diff --git a/templates/theme-default/data/t-default/default.yaml b/templates/theme-default/data/t-default/default.yaml deleted file mode 100644 index 518de7b..0000000 --- a/templates/theme-default/data/t-default/default.yaml +++ /dev/null @@ -1,6 +0,0 @@ -stage: - id: default - content_type: m-stage -sections: - - id: default - content_type: m-text From 560ae41b0e91826c1b42728c57a9b6332623a8ca Mon Sep 17 00:00:00 2001 From: Peter Schewe Date: Tue, 5 Jul 2022 10:05:31 +0200 Subject: [PATCH 17/63] build: bump cssg packages to latest version --- templates/app/package.json | 6 +++--- templates/theme-default/package.json | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/templates/app/package.json b/templates/app/package.json index 366a39e..ba33882 100644 --- a/templates/app/package.json +++ b/templates/app/package.json @@ -48,9 +48,9 @@ "@babel/core": "^7.16.12", "@jungvonmatt/contentful-fakes": "^1.7.1", "@jungvonmatt/contentful-migrations": "^5.3.1", - "@jungvonmatt/contentful-ssg": "^1.7.1", - "@jungvonmatt/cssg-plugin-assets": "^1.6.0", - "@jungvonmatt/cssg-plugin-hugo": "^1.7.2", + "@jungvonmatt/contentful-ssg": "^1.9.0", + "@jungvonmatt/cssg-plugin-assets": "^1.9.0", + "@jungvonmatt/cssg-plugin-hugo": "^1.9.0", "@storybook/addon-a11y": "6.4.14", "@storybook/addon-actions": "6.4.14", "@storybook/addon-docs": "6.4.14", diff --git a/templates/theme-default/package.json b/templates/theme-default/package.json index 37862d8..3a27f33 100644 --- a/templates/theme-default/package.json +++ b/templates/theme-default/package.json @@ -34,9 +34,9 @@ "@babel/core": "^7.16.0", "@jungvonmatt/contentful-fakes": "^1.7.1", "@jungvonmatt/contentful-migrations": "^5.3.1", - "@jungvonmatt/contentful-ssg": "^1.7.1", - "@jungvonmatt/cssg-plugin-assets": "^1.6.0", - "@jungvonmatt/cssg-plugin-hugo": "^1.7.2", + "@jungvonmatt/contentful-ssg": "^1.9.0", + "@jungvonmatt/cssg-plugin-assets": "^1.9.0", + "@jungvonmatt/cssg-plugin-hugo": "^1.9.0", "@storybook/addon-a11y": "^6.4.4", "@storybook/addon-actions": "^6.4.4", "@storybook/addon-essentials": "^6.4.4", From 2801cdae7e9f654a4e3df24bdca576e9d8685b30 Mon Sep 17 00:00:00 2001 From: Peter Schewe Date: Tue, 5 Jul 2022 14:17:48 +0200 Subject: [PATCH 18/63] refactor: disable lazy load option for editors --- .../ui/1000000000002-create-c-image-migration.js | 4 ++-- .../ui/1000000000003-create-c-media-migration.js | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/contentful-migrations/ui/1000000000002-create-c-image-migration.js b/packages/contentful-migrations/ui/1000000000002-create-c-image-migration.js index 3ae5042..b11c842 100644 --- a/packages/contentful-migrations/ui/1000000000002-create-c-image-migration.js +++ b/packages/contentful-migrations/ui/1000000000002-create-c-image-migration.js @@ -76,11 +76,11 @@ module.exports = withHelpers(async (migration, _context, helpers) => { .localized(false) .required(false) .validations([]) - .disabled(false) .defaultValue({ [defaultLocale.code]: true, }) - .omitted(false); + .disabled(true) + .omitted(true); cImage.changeFieldControl('internal_name', 'builtin', 'singleLine', { helpText: 'e.g. "Home page > Stage > Image"', diff --git a/packages/contentful-migrations/ui/1000000000003-create-c-media-migration.js b/packages/contentful-migrations/ui/1000000000003-create-c-media-migration.js index f41e557..7c99e65 100644 --- a/packages/contentful-migrations/ui/1000000000003-create-c-media-migration.js +++ b/packages/contentful-migrations/ui/1000000000003-create-c-media-migration.js @@ -181,8 +181,8 @@ module.exports = withHelpers(async (migration, _context, helpers) => { .defaultValue({ [defaultLocale.code]: true, }) - .disabled(false) - .omitted(false); + .disabled(true) + .omitted(true); cMedia.changeFieldControl('internal_name', 'builtin', 'singleLine', { helpText: 'e.g. "Home page > Stage > Media"', From 907c37cea4f91b672fbd59af53c1e08df6b48f01 Mon Sep 17 00:00:00 2001 From: Peter Schewe Date: Wed, 6 Jul 2022 11:19:40 +0200 Subject: [PATCH 19/63] feat: add editor layout and separate page settings --- .../0000000000003-create-t-page-migration.js | 42 ++++++++++++++++++- .../1000000000006-create-c-menu-migration.js | 4 -- ...0000000007-move-submenu-field-migration.js | 8 ++++ ...1000000000008-create-c-video-migration.js} | 0 4 files changed, 49 insertions(+), 5 deletions(-) create mode 100644 packages/contentful-migrations/ui/1000000000007-move-submenu-field-migration.js rename packages/contentful-migrations/ui/{1000000000007-create-c-video-migration.js => 1000000000008-create-c-video-migration.js} (100%) diff --git a/packages/contentful-migrations/core/0000000000003-create-t-page-migration.js b/packages/contentful-migrations/core/0000000000003-create-t-page-migration.js index 7e8cf54..f6ce6b2 100644 --- a/packages/contentful-migrations/core/0000000000003-create-t-page-migration.js +++ b/packages/contentful-migrations/core/0000000000003-create-t-page-migration.js @@ -110,7 +110,7 @@ module.exports = withHelpers(async (migration, _context, helpers) => { .disabled(false) .omitted(false); - tPage + tPage .createField('theme') .name('Theme') .type('Symbol') @@ -202,4 +202,44 @@ module.exports = withHelpers(async (migration, _context, helpers) => { tPage.changeFieldControl('stage', 'builtin', 'entryLinkEditor', {}); tPage.changeFieldControl('modules', 'builtin', 'entryLinksEditor', {}); + + // Create editor layout (Compose only) + const editorLayout = tPage.createEditorLayout(); + + editorLayout.createFieldGroup('content', { + name: 'Content' + }); + + editorLayout.changeFieldGroupControl('content', 'builtin', 'topLevelTab', { + helpText: 'Main content' + }); + + editorLayout.createFieldGroup('settings').name('Settings'); + + editorLayout.changeFieldGroupControl('settings', 'builtin', 'topLevelTab', { + helpText: 'Page settings' + }); + + editorLayout.editFieldGroup('settings').createFieldGroup('seo').name('SEO'); + + editorLayout.changeFieldGroupControl('seo', 'builtin', 'fieldset', { + helpText: 'Search related fields', + collapsedByDefault: false + }); + + editorLayout.moveField('title').toTheTopOfFieldGroup('settings'); + + editorLayout.moveField('slug').afterField('title'); + + editorLayout.moveField('parent_page').afterField('slug'); + + editorLayout.moveField('seo_title').toTheTopOfFieldGroup('seo'); + + editorLayout.moveField('seo_description').afterField('seo_title'); + + editorLayout.moveField('share_image').afterField('seo_description'); + + editorLayout.moveField('no_index').afterField('share_image'); + + editorLayout.moveField('no_follow').afterField('no_index'); }); diff --git a/packages/contentful-migrations/ui/1000000000006-create-c-menu-migration.js b/packages/contentful-migrations/ui/1000000000006-create-c-menu-migration.js index 7c93190..fb30576 100644 --- a/packages/contentful-migrations/ui/1000000000006-create-c-menu-migration.js +++ b/packages/contentful-migrations/ui/1000000000006-create-c-menu-migration.js @@ -66,10 +66,6 @@ module.exports = function (migration) { .omitted(false) .linkType('Entry'); - tPage.moveField('submenu').afterField('parent_page'); - - tPage.changeFieldControl('submenu', 'builtin', 'entryLinkEditor', {}); - const dSettings = migration.editContentType('d-settings'); dSettings .createField('main_menu') diff --git a/packages/contentful-migrations/ui/1000000000007-move-submenu-field-migration.js b/packages/contentful-migrations/ui/1000000000007-move-submenu-field-migration.js new file mode 100644 index 0000000..b015071 --- /dev/null +++ b/packages/contentful-migrations/ui/1000000000007-move-submenu-field-migration.js @@ -0,0 +1,8 @@ +module.exports = function (migration) { + const tPage = migration.editContentType('t-page'); + tPage.moveField('submenu').afterField('parent_page'); + + // Move field in editor layout (Compose only) + const editorLayout = tPage.editEditorLayout(); + editorLayout.moveField('submenu').afterField('parent_page'); +}; diff --git a/packages/contentful-migrations/ui/1000000000007-create-c-video-migration.js b/packages/contentful-migrations/ui/1000000000008-create-c-video-migration.js similarity index 100% rename from packages/contentful-migrations/ui/1000000000007-create-c-video-migration.js rename to packages/contentful-migrations/ui/1000000000008-create-c-video-migration.js From 9dc22b34b5c5b163821e9289823045f92c9af699 Mon Sep 17 00:00:00 2001 From: Peter Schewe Date: Wed, 6 Jul 2022 11:20:18 +0200 Subject: [PATCH 20/63] refactor: disable theming option for editors --- .../core/0000000000003-create-t-page-migration.js | 4 ++-- .../ui/1100000000003-create-m-list-migration.js | 4 ++-- .../ui/1100000000004-create-m-columns-migration.js | 4 ++-- .../ui/1100000000005-create-m-text-migration.js | 4 ++-- .../ui/1100000000006-create-m-editorial-migration.js | 4 ++-- .../ui/1100000000007-create-m-media-migration.js | 4 ++-- 6 files changed, 12 insertions(+), 12 deletions(-) diff --git a/packages/contentful-migrations/core/0000000000003-create-t-page-migration.js b/packages/contentful-migrations/core/0000000000003-create-t-page-migration.js index f6ce6b2..a309f3c 100644 --- a/packages/contentful-migrations/core/0000000000003-create-t-page-migration.js +++ b/packages/contentful-migrations/core/0000000000003-create-t-page-migration.js @@ -124,8 +124,8 @@ module.exports = withHelpers(async (migration, _context, helpers) => { .defaultValue({ [defaultLocale.code]: 'light', }) - .disabled(false) - .omitted(false); + .disabled(true) + .omitted(true); tPage .createField('stage') diff --git a/packages/contentful-migrations/ui/1100000000003-create-m-list-migration.js b/packages/contentful-migrations/ui/1100000000003-create-m-list-migration.js index c791442..9874291 100644 --- a/packages/contentful-migrations/ui/1100000000003-create-m-list-migration.js +++ b/packages/contentful-migrations/ui/1100000000003-create-m-list-migration.js @@ -33,8 +33,8 @@ module.exports = withHelpers(async (migration, _context, helpers) => { .defaultValue({ [defaultLocale.code]: 'light', }) - .disabled(false) - .omitted(false); + .disabled(true) + .omitted(true); mList .createField('spacing') diff --git a/packages/contentful-migrations/ui/1100000000004-create-m-columns-migration.js b/packages/contentful-migrations/ui/1100000000004-create-m-columns-migration.js index f5374a5..14ed8f1 100644 --- a/packages/contentful-migrations/ui/1100000000004-create-m-columns-migration.js +++ b/packages/contentful-migrations/ui/1100000000004-create-m-columns-migration.js @@ -33,8 +33,8 @@ module.exports = withHelpers(async (migration, _context, helpers) => { .defaultValue({ [defaultLocale.code]: 'light', }) - .disabled(false) - .omitted(false); + .disabled(true) + .omitted(true); mColumns .createField('spacing') diff --git a/packages/contentful-migrations/ui/1100000000005-create-m-text-migration.js b/packages/contentful-migrations/ui/1100000000005-create-m-text-migration.js index 8a945d6..042cd0d 100644 --- a/packages/contentful-migrations/ui/1100000000005-create-m-text-migration.js +++ b/packages/contentful-migrations/ui/1100000000005-create-m-text-migration.js @@ -33,8 +33,8 @@ module.exports = withHelpers(async (migration, _context, helpers) => { .defaultValue({ [defaultLocale.code]: 'light', }) - .disabled(false) - .omitted(false); + .disabled(true) + .omitted(true); mText .createField('spacing') diff --git a/packages/contentful-migrations/ui/1100000000006-create-m-editorial-migration.js b/packages/contentful-migrations/ui/1100000000006-create-m-editorial-migration.js index 0dc1624..b6c5309 100644 --- a/packages/contentful-migrations/ui/1100000000006-create-m-editorial-migration.js +++ b/packages/contentful-migrations/ui/1100000000006-create-m-editorial-migration.js @@ -33,8 +33,8 @@ module.exports = withHelpers(async (migration, _context, helpers) => { .defaultValue({ [defaultLocale.code]: 'light', }) - .disabled(false) - .omitted(false); + .disabled(true) + .omitted(true); mEditorial .createField('spacing') diff --git a/packages/contentful-migrations/ui/1100000000007-create-m-media-migration.js b/packages/contentful-migrations/ui/1100000000007-create-m-media-migration.js index 0149e2e..513ec9e 100644 --- a/packages/contentful-migrations/ui/1100000000007-create-m-media-migration.js +++ b/packages/contentful-migrations/ui/1100000000007-create-m-media-migration.js @@ -33,8 +33,8 @@ module.exports = withHelpers(async (migration, _context, helpers) => { .defaultValue({ [defaultLocale.code]: 'light', }) - .disabled(false) - .omitted(false); + .disabled(true) + .omitted(true); mMedia .createField('spacing') From 415209a9b8ed73f306d041ae200113cc6122edf4 Mon Sep 17 00:00:00 2001 From: Peter Schewe Date: Wed, 6 Jul 2022 11:21:16 +0200 Subject: [PATCH 21/63] docs: change intro text in Storybook --- templates/theme-default/content/docs/introduction/_index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/templates/theme-default/content/docs/introduction/_index.md b/templates/theme-default/content/docs/introduction/_index.md index 22227fb..04caf3d 100644 --- a/templates/theme-default/content/docs/introduction/_index.md +++ b/templates/theme-default/content/docs/introduction/_index.md @@ -6,7 +6,7 @@ title: Introduction # Kon'nichiwa 👋 -This is our component library documentation that helps authors create user interfaces faster. +This is the documentation of our component library. ## Design System 🎨 From 990c94f5f646f1fa4f68ec615fb5d278f7e7c1f6 Mon Sep 17 00:00:00 2001 From: Peter Schewe Date: Wed, 6 Jul 2022 15:28:01 +0200 Subject: [PATCH 22/63] refactor: align naming of headlines with ui/ux --- ...1000000000004-create-c-editorial-migration.js | 12 ++++++------ .../ui/1100000000001-create-m-stage-migration.js | 12 ++++++------ .../ui/1100000000005-create-m-text-migration.js | 6 +++--- .../assets/scss/components/_c-editorial.scss | 4 ++-- .../assets/scss/modules/_m-stage.scss | 4 ++-- .../layouts/partials/components/c-editorial.html | 16 ++++++++-------- .../partials/components/c-module-header.html | 12 ++++++------ .../layouts/partials/modules/m-stage.html | 12 ++++++------ 8 files changed, 39 insertions(+), 39 deletions(-) diff --git a/packages/contentful-migrations/ui/1000000000004-create-c-editorial-migration.js b/packages/contentful-migrations/ui/1000000000004-create-c-editorial-migration.js index 9c40cb0..7ff3e8a 100644 --- a/packages/contentful-migrations/ui/1000000000004-create-c-editorial-migration.js +++ b/packages/contentful-migrations/ui/1000000000004-create-c-editorial-migration.js @@ -16,8 +16,8 @@ module.exports = async function (migration) { .omitted(false); cEditorial - .createField('title') - .name('Title') + .createField('headline') + .name('Headline') .type('Symbol') .localized(true) .required(false) @@ -26,8 +26,8 @@ module.exports = async function (migration) { .omitted(false); cEditorial - .createField('subtitle') - .name('Subtitle') + .createField('secondaryHeadline') + .name('Secondary headline') .type('Symbol') .localized(true) .required(false) @@ -97,9 +97,9 @@ module.exports = async function (migration) { helpText: 'e.g. "Home page > Editorial > Editorial"', }); - cEditorial.changeFieldControl('title', 'builtin', 'singleLine', {}); + cEditorial.changeFieldControl('healine', 'builtin', 'singleLine', {}); - cEditorial.changeFieldControl('subtitle', 'builtin', 'singleLine', {}); + cEditorial.changeFieldControl('secondaryHealine', 'builtin', 'singleLine', {}); cEditorial.changeFieldControl('text', 'builtin', 'richTextEditor', {}); diff --git a/packages/contentful-migrations/ui/1100000000001-create-m-stage-migration.js b/packages/contentful-migrations/ui/1100000000001-create-m-stage-migration.js index 1aa327c..c52f664 100644 --- a/packages/contentful-migrations/ui/1100000000001-create-m-stage-migration.js +++ b/packages/contentful-migrations/ui/1100000000001-create-m-stage-migration.js @@ -20,8 +20,8 @@ module.exports = withHelpers(async (migration, _context, helpers) => { .omitted(false); mStage - .createField('title') - .name('Title') + .createField('headline') + .name('Headline') .type('Symbol') .localized(true) .required(false) @@ -30,8 +30,8 @@ module.exports = withHelpers(async (migration, _context, helpers) => { .omitted(false); mStage - .createField('subtitle') - .name('Subtitle') + .createField('secondaryHeadline') + .name('Secondary headline') .type('Symbol') .localized(true) .required(false) @@ -149,9 +149,9 @@ module.exports = withHelpers(async (migration, _context, helpers) => { helpText: 'e.g. "Home page > Stage"', }); - mStage.changeFieldControl('title', 'builtin', 'singleLine', {}); + mStage.changeFieldControl('headline', 'builtin', 'singleLine', {}); - mStage.changeFieldControl('subtitle', 'builtin', 'singleLine', {}); + mStage.changeFieldControl('secondaryHeadline', 'builtin', 'singleLine', {}); mStage.changeFieldControl('text', 'builtin', 'richTextEditor', {}); diff --git a/packages/contentful-migrations/ui/1100000000005-create-m-text-migration.js b/packages/contentful-migrations/ui/1100000000005-create-m-text-migration.js index 042cd0d..014ad00 100644 --- a/packages/contentful-migrations/ui/1100000000005-create-m-text-migration.js +++ b/packages/contentful-migrations/ui/1100000000005-create-m-text-migration.js @@ -87,8 +87,8 @@ module.exports = withHelpers(async (migration, _context, helpers) => { .omitted(false); mText - .createField('subline') - .name('Subline') + .createField('secondaryHeadline') + .name('Secondary headline') .type('Symbol') .localized(true) .required(false) @@ -137,7 +137,7 @@ module.exports = withHelpers(async (migration, _context, helpers) => { mText.changeFieldControl('headline', 'builtin', 'singleLine', {}); - mText.changeFieldControl('subline', 'builtin', 'singleLine', {}); + mText.changeFieldControl('secondaryHeadline', 'builtin', 'singleLine', {}); mText.changeFieldControl('body', 'builtin', 'richTextEditor', {}); }); diff --git a/templates/theme-default/assets/scss/components/_c-editorial.scss b/templates/theme-default/assets/scss/components/_c-editorial.scss index 40a0aab..b545035 100644 --- a/templates/theme-default/assets/scss/components/_c-editorial.scss +++ b/templates/theme-default/assets/scss/components/_c-editorial.scss @@ -24,11 +24,11 @@ padding: var(--#{$spacing}-md) var(--#{$spacing}-md); } - &__title { + &__headline { margin-top: 0; } - &__subtitle { + &__secondary-headline { margin-top: 0; } diff --git a/templates/theme-default/assets/scss/modules/_m-stage.scss b/templates/theme-default/assets/scss/modules/_m-stage.scss index 410f226..87525af 100644 --- a/templates/theme-default/assets/scss/modules/_m-stage.scss +++ b/templates/theme-default/assets/scss/modules/_m-stage.scss @@ -36,8 +36,8 @@ margin-bottom: 2rem; } - &__title, - &__subtitle, + &__headline, + &__secondary-headline, &__text { max-width: 600px; } diff --git a/templates/theme-default/layouts/partials/components/c-editorial.html b/templates/theme-default/layouts/partials/components/c-editorial.html index 2e980ba..cccee97 100644 --- a/templates/theme-default/layouts/partials/components/c-editorial.html +++ b/templates/theme-default/layouts/partials/components/c-editorial.html @@ -8,13 +8,13 @@ "context" $params ) . -}} -{{- $title := $params.title -}} -{{- $subtitle := $params.subtitle -}} +{{- $headline := $params.headline -}} +{{- $secondary_headline := $params.secondary_headline -}} {{- $text := $params.text -}} {{- $media := $params.media -}} {{- $links := $params.links | default dict -}} -{{- $title_tag := $params.title_tag | default "h3" -}} -{{- $subtitle_tag := $params.subtitle_tag | default "h4" -}} +{{- $headline_tag := $params.headline_tag | default "h3" -}} +{{- $secondary_headline_tag := $params.secondary_headline_tag | default "h4" -}} {{- $layout := $params.layout | default "default" -}} {{- $partialPath := printf "components/c-editorial/%s.html" $layout -}} @@ -31,23 +31,23 @@ ) . -}} {{- end -}}
- {{- with $title -}} + {{- with $headline -}} {{- partial "components/c-headline" (dict "globals" $globals "context" (dict "tag" "h2" - "class_name" "c-editorial__title" + "class_name" "c-editorial__headline" "modifier" "" "text" . ) ) -}} {{- end -}} - {{- with $subtitle -}} + {{- with $secondary_headline -}} {{- partial "components/c-headline" (dict "globals" $globals "context" (dict "tag" "h3" - "class_name" "c-editorial__subtitle" + "class_name" "c-editorial__secondary-headline" "modifier" "" "text" . ) diff --git a/templates/theme-default/layouts/partials/components/c-module-header.html b/templates/theme-default/layouts/partials/components/c-module-header.html index 9f4bca7..a3fa953 100644 --- a/templates/theme-default/layouts/partials/components/c-module-header.html +++ b/templates/theme-default/layouts/partials/components/c-module-header.html @@ -8,29 +8,29 @@ "context" $params ) . -}} -{{- $title := $params.title -}} -{{- $subtitle := $params.subtitle -}} +{{- $headline := $params.headline -}} +{{- $secondary_headline := $params.secondary_headline -}} {{- $text := $params.text -}}
- {{- with $title -}} + {{- with $headline -}} {{- partial "components/c-headline" (dict "globals" $globals "context" (dict "tag" "h2" "text" . - "class_name" "c-module-header__title" + "class_name" "c-module-header__headline" ) ) -}} {{- end -}} - {{- with $subtitle -}} + {{- with $secondary_headline -}} {{- partial "components/c-headline" (dict "globals" $globals "context" (dict "tag" "h3" "text" . - "class_name" "c-module-header__subtitle" + "class_name" "c-module-header__secondary-headline" ) ) -}} {{- end -}} diff --git a/templates/theme-default/layouts/partials/modules/m-stage.html b/templates/theme-default/layouts/partials/modules/m-stage.html index 2e3fd9e..9f211ff 100644 --- a/templates/theme-default/layouts/partials/modules/m-stage.html +++ b/templates/theme-default/layouts/partials/modules/m-stage.html @@ -9,8 +9,8 @@ "context" $params ) . -}} -{{- $title := $params.title -}} -{{- $subtitle := $params.subtitle -}} +{{- $headline := $params.headline -}} +{{- $secondary_headline := $params.secondary_headline -}} {{- $text := $params.text -}} {{- $media := $params.media -}} {{- $layout := $params.layout | default "split" -}} @@ -37,16 +37,16 @@ ) -}} {{- end -}}
- {{- with $title -}} + {{- with $headline -}} {{- partial "components/c-headline" (dict "globals" $globals - "context" (dict "tag" "h1" "class_name" "m-stage__title" "text" . ) + "context" (dict "tag" "h1" "class_name" "m-stage__headline" "text" . ) ) -}} {{- end -}} - {{- with $subtitle -}} + {{- with $secondary_headline -}} {{- partial "components/c-headline" (dict "globals" $globals - "context" (dict "tag" "h2" "class_name" "m-stage__subtitle" "text" . ) + "context" (dict "tag" "h2" "class_name" "m-stage__secondary-headline" "text" . ) ) -}} {{- end -}} {{- with $text -}} From ecebefe01a43e3555010a071c4c3df7c31be24d2 Mon Sep 17 00:00:00 2001 From: Peter Schewe Date: Wed, 6 Jul 2022 16:03:54 +0200 Subject: [PATCH 23/63] chore: remove superfluous comments --- .../core/0000000000005-create-x-deploy-migration.js | 4 ---- .../0000000000007-create-multi-text-extension-migration.js | 3 --- 2 files changed, 7 deletions(-) diff --git a/packages/contentful-migrations/core/0000000000005-create-x-deploy-migration.js b/packages/contentful-migrations/core/0000000000005-create-x-deploy-migration.js index c186bb0..2964937 100644 --- a/packages/contentful-migrations/core/0000000000005-create-x-deploy-migration.js +++ b/packages/contentful-migrations/core/0000000000005-create-x-deploy-migration.js @@ -1,8 +1,4 @@ /* eslint-env node */ - -/** - * Contentful migration to create deploy content type - */ module.exports = function (migration) { const deploy = migration .createContentType('x-deploy') diff --git a/packages/contentful-migrations/core/0000000000007-create-multi-text-extension-migration.js b/packages/contentful-migrations/core/0000000000007-create-multi-text-extension-migration.js index e21e77a..d8d8317 100644 --- a/packages/contentful-migrations/core/0000000000007-create-multi-text-extension-migration.js +++ b/packages/contentful-migrations/core/0000000000007-create-multi-text-extension-migration.js @@ -9,9 +9,6 @@ const readJsonAsync = async (filepath, options) => { return JSON.parse(content); }; -/** - * Contentful migration - */ module.exports = async function (_migration, context) { const { makeRequest } = context; // Check if deploy-with-confirmation extension is installed From 466b930a60315a0ea47c4f6cabce8b48f5b5f0b4 Mon Sep 17 00:00:00 2001 From: Peter Schewe Date: Sun, 10 Jul 2022 02:54:13 +0200 Subject: [PATCH 24/63] chore: delete obsolete c-module-header partial --- .../partials/components/c-module-header.html | 46 ------------------- 1 file changed, 46 deletions(-) delete mode 100644 templates/theme-default/layouts/partials/components/c-module-header.html diff --git a/templates/theme-default/layouts/partials/components/c-module-header.html b/templates/theme-default/layouts/partials/components/c-module-header.html deleted file mode 100644 index a3fa953..0000000 --- a/templates/theme-default/layouts/partials/components/c-module-header.html +++ /dev/null @@ -1,46 +0,0 @@ -{{- $globals := .globals -}} -{{- $context := .context | default dict -}} -{{- $options := .options | default dict -}} -{{- $params := (merge $context $options) -}} - -{{- $class_name := partialCached "utils/get-class-names" (dict - "class" "c-module-header" - "context" $params -) . -}} - -{{- $headline := $params.headline -}} -{{- $secondary_headline := $params.secondary_headline -}} -{{- $text := $params.text -}} - - -
- {{- with $headline -}} - {{- partial "components/c-headline" (dict - "globals" $globals - "context" (dict - "tag" "h2" - "text" . - "class_name" "c-module-header__headline" - ) - ) -}} - {{- end -}} - {{- with $secondary_headline -}} - {{- partial "components/c-headline" (dict - "globals" $globals - "context" (dict - "tag" "h3" - "text" . - "class_name" "c-module-header__secondary-headline" - ) - ) -}} - {{- end -}} - {{- with $text -}} - {{- partial "components/c-text" (dict - "globals" $globals - "context" (dict - "text" . - "class_name" "c-module-header__text" - ) - ) -}} - {{- end -}} -
From 878a93e186822fa767c760b4f3cf0b6c43e0504a Mon Sep 17 00:00:00 2001 From: Peter Schewe Date: Sun, 10 Jul 2022 02:58:05 +0200 Subject: [PATCH 25/63] fix: use snake case var names --- .../ui/1000000000004-create-c-editorial-migration.js | 2 +- .../ui/1100000000001-create-m-stage-migration.js | 4 ++-- .../ui/1100000000005-create-m-text-migration.js | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/contentful-migrations/ui/1000000000004-create-c-editorial-migration.js b/packages/contentful-migrations/ui/1000000000004-create-c-editorial-migration.js index 7ff3e8a..ee16f4c 100644 --- a/packages/contentful-migrations/ui/1000000000004-create-c-editorial-migration.js +++ b/packages/contentful-migrations/ui/1000000000004-create-c-editorial-migration.js @@ -26,7 +26,7 @@ module.exports = async function (migration) { .omitted(false); cEditorial - .createField('secondaryHeadline') + .createField('secondary_headline') .name('Secondary headline') .type('Symbol') .localized(true) diff --git a/packages/contentful-migrations/ui/1100000000001-create-m-stage-migration.js b/packages/contentful-migrations/ui/1100000000001-create-m-stage-migration.js index c52f664..3810a32 100644 --- a/packages/contentful-migrations/ui/1100000000001-create-m-stage-migration.js +++ b/packages/contentful-migrations/ui/1100000000001-create-m-stage-migration.js @@ -30,7 +30,7 @@ module.exports = withHelpers(async (migration, _context, helpers) => { .omitted(false); mStage - .createField('secondaryHeadline') + .createField('secondary_headline') .name('Secondary headline') .type('Symbol') .localized(true) @@ -151,7 +151,7 @@ module.exports = withHelpers(async (migration, _context, helpers) => { mStage.changeFieldControl('headline', 'builtin', 'singleLine', {}); - mStage.changeFieldControl('secondaryHeadline', 'builtin', 'singleLine', {}); + mStage.changeFieldControl('secondary_headline', 'builtin', 'singleLine', {}); mStage.changeFieldControl('text', 'builtin', 'richTextEditor', {}); diff --git a/packages/contentful-migrations/ui/1100000000005-create-m-text-migration.js b/packages/contentful-migrations/ui/1100000000005-create-m-text-migration.js index 014ad00..9283b1c 100644 --- a/packages/contentful-migrations/ui/1100000000005-create-m-text-migration.js +++ b/packages/contentful-migrations/ui/1100000000005-create-m-text-migration.js @@ -87,7 +87,7 @@ module.exports = withHelpers(async (migration, _context, helpers) => { .omitted(false); mText - .createField('secondaryHeadline') + .createField('secondary_headline') .name('Secondary headline') .type('Symbol') .localized(true) @@ -137,7 +137,7 @@ module.exports = withHelpers(async (migration, _context, helpers) => { mText.changeFieldControl('headline', 'builtin', 'singleLine', {}); - mText.changeFieldControl('secondaryHeadline', 'builtin', 'singleLine', {}); + mText.changeFieldControl('secondary_headline', 'builtin', 'singleLine', {}); mText.changeFieldControl('body', 'builtin', 'richTextEditor', {}); }); From ea96c3c21818ad70fc5c416cc2b5c9b458b1a174 Mon Sep 17 00:00:00 2001 From: Peter Schewe Date: Sun, 10 Jul 2022 04:20:35 +0200 Subject: [PATCH 26/63] fix: use snake case var names --- .../ui/1000000000004-create-c-editorial-migration.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/contentful-migrations/ui/1000000000004-create-c-editorial-migration.js b/packages/contentful-migrations/ui/1000000000004-create-c-editorial-migration.js index ee16f4c..072808d 100644 --- a/packages/contentful-migrations/ui/1000000000004-create-c-editorial-migration.js +++ b/packages/contentful-migrations/ui/1000000000004-create-c-editorial-migration.js @@ -97,9 +97,9 @@ module.exports = async function (migration) { helpText: 'e.g. "Home page > Editorial > Editorial"', }); - cEditorial.changeFieldControl('healine', 'builtin', 'singleLine', {}); + cEditorial.changeFieldControl('headline', 'builtin', 'singleLine', {}); - cEditorial.changeFieldControl('secondaryHealine', 'builtin', 'singleLine', {}); + cEditorial.changeFieldControl('secondary_headline', 'builtin', 'singleLine', {}); cEditorial.changeFieldControl('text', 'builtin', 'richTextEditor', {}); From cc89fc72effc9c28e4f2a8634b64add15f8e961c Mon Sep 17 00:00:00 2001 From: Peter Schewe Date: Sun, 10 Jul 2022 04:23:57 +0200 Subject: [PATCH 27/63] refactor: change column to array but limit it to one entry --- ...100000000004-create-m-columns-migration.js | 36 ++++++++++++++----- 1 file changed, 28 insertions(+), 8 deletions(-) diff --git a/packages/contentful-migrations/ui/1100000000004-create-m-columns-migration.js b/packages/contentful-migrations/ui/1100000000004-create-m-columns-migration.js index 14ed8f1..1ca6247 100644 --- a/packages/contentful-migrations/ui/1100000000004-create-m-columns-migration.js +++ b/packages/contentful-migrations/ui/1100000000004-create-m-columns-migration.js @@ -78,32 +78,52 @@ module.exports = withHelpers(async (migration, _context, helpers) => { mColumns .createField('column_left') .name('Column left') - .type('Link') + .type('Array') .localized(false) .required(false) .validations([ { - linkContentType: ['c-editorial', 'c-image', 'c-media', 'c-video'], + size: { + max: 1, + }, }, ]) .disabled(false) .omitted(false) - .linkType('Entry'); + .items({ + type: 'Link', + validations: [ + { + linkContentType: ['c-editorial', 'c-image', 'c-media', 'c-video'], + }, + ], + linkType: 'Entry', + }); mColumns .createField('column_right') .name('Column right') - .type('Link') + .type('Array') .localized(false) .required(false) .validations([ { - linkContentType: ['c-editorial', 'c-image', 'c-media', 'c-video'], + size: { + max: 1, + }, }, ]) .disabled(false) .omitted(false) - .linkType('Entry'); + .items({ + type: 'Link', + validations: [ + { + linkContentType: ['c-editorial', 'c-image', 'c-media', 'c-video'], + }, + ], + linkType: 'Entry', + }); mColumns.changeFieldControl('internal_name', 'builtin', 'singleLine', { helpText: 'e.g. "Home page > Columns"', @@ -115,7 +135,7 @@ module.exports = withHelpers(async (migration, _context, helpers) => { mColumns.changeFieldControl('layout', 'builtin', 'dropdown', {}); - mColumns.changeFieldControl('column_left', 'builtin', 'entryLinkEditor', {}); + mColumns.changeFieldControl('column_left', 'builtin', 'entryLinksEditor', {}); - mColumns.changeFieldControl('column_right', 'builtin', 'entryLinkEditor', {}); + mColumns.changeFieldControl('column_right', 'builtin', 'entryLinksEditor', {}); }); From c84d6023f3c025ea26d76e828d5a291f6b8ddbfa Mon Sep 17 00:00:00 2001 From: Peter Schewe Date: Sun, 10 Jul 2022 04:30:38 +0200 Subject: [PATCH 28/63] refactor: remove defaultValue from disabled theme fields --- .../core/0000000000003-create-t-page-migration.js | 3 --- .../ui/1100000000003-create-m-list-migration.js | 3 --- .../ui/1100000000004-create-m-columns-migration.js | 3 --- .../ui/1100000000005-create-m-text-migration.js | 3 --- .../ui/1100000000006-create-m-editorial-migration.js | 3 --- .../ui/1100000000007-create-m-media-migration.js | 3 --- 6 files changed, 18 deletions(-) diff --git a/packages/contentful-migrations/core/0000000000003-create-t-page-migration.js b/packages/contentful-migrations/core/0000000000003-create-t-page-migration.js index a309f3c..b7cbb1d 100644 --- a/packages/contentful-migrations/core/0000000000003-create-t-page-migration.js +++ b/packages/contentful-migrations/core/0000000000003-create-t-page-migration.js @@ -121,9 +121,6 @@ module.exports = withHelpers(async (migration, _context, helpers) => { in: ['light', 'dark'], }, ]) - .defaultValue({ - [defaultLocale.code]: 'light', - }) .disabled(true) .omitted(true); diff --git a/packages/contentful-migrations/ui/1100000000003-create-m-list-migration.js b/packages/contentful-migrations/ui/1100000000003-create-m-list-migration.js index 9874291..dbe3200 100644 --- a/packages/contentful-migrations/ui/1100000000003-create-m-list-migration.js +++ b/packages/contentful-migrations/ui/1100000000003-create-m-list-migration.js @@ -30,9 +30,6 @@ module.exports = withHelpers(async (migration, _context, helpers) => { in: ['light', 'dark'], }, ]) - .defaultValue({ - [defaultLocale.code]: 'light', - }) .disabled(true) .omitted(true); diff --git a/packages/contentful-migrations/ui/1100000000004-create-m-columns-migration.js b/packages/contentful-migrations/ui/1100000000004-create-m-columns-migration.js index 1ca6247..8f4e3d9 100644 --- a/packages/contentful-migrations/ui/1100000000004-create-m-columns-migration.js +++ b/packages/contentful-migrations/ui/1100000000004-create-m-columns-migration.js @@ -30,9 +30,6 @@ module.exports = withHelpers(async (migration, _context, helpers) => { in: ['light', 'dark'], }, ]) - .defaultValue({ - [defaultLocale.code]: 'light', - }) .disabled(true) .omitted(true); diff --git a/packages/contentful-migrations/ui/1100000000005-create-m-text-migration.js b/packages/contentful-migrations/ui/1100000000005-create-m-text-migration.js index 9283b1c..d8ab5a1 100644 --- a/packages/contentful-migrations/ui/1100000000005-create-m-text-migration.js +++ b/packages/contentful-migrations/ui/1100000000005-create-m-text-migration.js @@ -30,9 +30,6 @@ module.exports = withHelpers(async (migration, _context, helpers) => { in: ['light', 'dark'], }, ]) - .defaultValue({ - [defaultLocale.code]: 'light', - }) .disabled(true) .omitted(true); diff --git a/packages/contentful-migrations/ui/1100000000006-create-m-editorial-migration.js b/packages/contentful-migrations/ui/1100000000006-create-m-editorial-migration.js index b6c5309..810a2c3 100644 --- a/packages/contentful-migrations/ui/1100000000006-create-m-editorial-migration.js +++ b/packages/contentful-migrations/ui/1100000000006-create-m-editorial-migration.js @@ -30,9 +30,6 @@ module.exports = withHelpers(async (migration, _context, helpers) => { in: ['light', 'dark'], }, ]) - .defaultValue({ - [defaultLocale.code]: 'light', - }) .disabled(true) .omitted(true); diff --git a/packages/contentful-migrations/ui/1100000000007-create-m-media-migration.js b/packages/contentful-migrations/ui/1100000000007-create-m-media-migration.js index 513ec9e..ba94219 100644 --- a/packages/contentful-migrations/ui/1100000000007-create-m-media-migration.js +++ b/packages/contentful-migrations/ui/1100000000007-create-m-media-migration.js @@ -30,9 +30,6 @@ module.exports = withHelpers(async (migration, _context, helpers) => { in: ['light', 'dark'], }, ]) - .defaultValue({ - [defaultLocale.code]: 'light', - }) .disabled(true) .omitted(true); From 51a41dd5697acc0003a02f6352cfcdb629d9097e Mon Sep 17 00:00:00 2001 From: Peter Schewe Date: Mon, 11 Jul 2022 15:50:14 +0200 Subject: [PATCH 29/63] refactor: add subline and rename secondary headline to overline --- ...0000000004-create-c-editorial-migration.js | 18 ++++++++++-- .../1100000000001-create-m-stage-migration.js | 18 ++++++++++-- .../1100000000005-create-m-text-migration.js | 6 ++-- .../assets/scss/components/_c-editorial.scss | 8 ++---- .../assets/scss/modules/_m-stage.scss | 3 +- .../partials/components/c-editorial.html | 25 +++++++++++++---- .../layouts/partials/modules/m-stage.html | 28 ++++++++++++++++--- 7 files changed, 81 insertions(+), 25 deletions(-) diff --git a/packages/contentful-migrations/ui/1000000000004-create-c-editorial-migration.js b/packages/contentful-migrations/ui/1000000000004-create-c-editorial-migration.js index 072808d..12f354b 100644 --- a/packages/contentful-migrations/ui/1000000000004-create-c-editorial-migration.js +++ b/packages/contentful-migrations/ui/1000000000004-create-c-editorial-migration.js @@ -26,8 +26,18 @@ module.exports = async function (migration) { .omitted(false); cEditorial - .createField('secondary_headline') - .name('Secondary headline') + .createField('overline') + .name('Overline') + .type('Symbol') + .localized(true) + .required(false) + .validations([]) + .disabled(false) + .omitted(false); + + cEditorial + .createField('subline') + .name('Subline') .type('Symbol') .localized(true) .required(false) @@ -99,7 +109,9 @@ module.exports = async function (migration) { cEditorial.changeFieldControl('headline', 'builtin', 'singleLine', {}); - cEditorial.changeFieldControl('secondary_headline', 'builtin', 'singleLine', {}); + cEditorial.changeFieldControl('overline', 'builtin', 'singleLine', {}); + + cEditorial.changeFieldControl('subline', 'builtin', 'singleLine', {}); cEditorial.changeFieldControl('text', 'builtin', 'richTextEditor', {}); diff --git a/packages/contentful-migrations/ui/1100000000001-create-m-stage-migration.js b/packages/contentful-migrations/ui/1100000000001-create-m-stage-migration.js index 3810a32..5883272 100644 --- a/packages/contentful-migrations/ui/1100000000001-create-m-stage-migration.js +++ b/packages/contentful-migrations/ui/1100000000001-create-m-stage-migration.js @@ -30,8 +30,18 @@ module.exports = withHelpers(async (migration, _context, helpers) => { .omitted(false); mStage - .createField('secondary_headline') - .name('Secondary headline') + .createField('overline') + .name('Overline') + .type('Symbol') + .localized(true) + .required(false) + .validations([]) + .disabled(false) + .omitted(false); + + mStage + .createField('subline') + .name('Subline') .type('Symbol') .localized(true) .required(false) @@ -151,7 +161,9 @@ module.exports = withHelpers(async (migration, _context, helpers) => { mStage.changeFieldControl('headline', 'builtin', 'singleLine', {}); - mStage.changeFieldControl('secondary_headline', 'builtin', 'singleLine', {}); + mStage.changeFieldControl('overline', 'builtin', 'singleLine', {}); + + mStage.changeFieldControl('subline', 'builtin', 'singleLine', {}); mStage.changeFieldControl('text', 'builtin', 'richTextEditor', {}); diff --git a/packages/contentful-migrations/ui/1100000000005-create-m-text-migration.js b/packages/contentful-migrations/ui/1100000000005-create-m-text-migration.js index d8ab5a1..357a257 100644 --- a/packages/contentful-migrations/ui/1100000000005-create-m-text-migration.js +++ b/packages/contentful-migrations/ui/1100000000005-create-m-text-migration.js @@ -84,8 +84,8 @@ module.exports = withHelpers(async (migration, _context, helpers) => { .omitted(false); mText - .createField('secondary_headline') - .name('Secondary headline') + .createField('overline') + .name('Overline') .type('Symbol') .localized(true) .required(false) @@ -134,7 +134,7 @@ module.exports = withHelpers(async (migration, _context, helpers) => { mText.changeFieldControl('headline', 'builtin', 'singleLine', {}); - mText.changeFieldControl('secondary_headline', 'builtin', 'singleLine', {}); + mText.changeFieldControl('overline', 'builtin', 'singleLine', {}); mText.changeFieldControl('body', 'builtin', 'richTextEditor', {}); }); diff --git a/templates/theme-default/assets/scss/components/_c-editorial.scss b/templates/theme-default/assets/scss/components/_c-editorial.scss index b545035..c205176 100644 --- a/templates/theme-default/assets/scss/components/_c-editorial.scss +++ b/templates/theme-default/assets/scss/components/_c-editorial.scss @@ -24,11 +24,9 @@ padding: var(--#{$spacing}-md) var(--#{$spacing}-md); } - &__headline { - margin-top: 0; - } - - &__secondary-headline { + &__headline, + &__overline, + &__subline { margin-top: 0; } diff --git a/templates/theme-default/assets/scss/modules/_m-stage.scss b/templates/theme-default/assets/scss/modules/_m-stage.scss index 87525af..edd9e45 100644 --- a/templates/theme-default/assets/scss/modules/_m-stage.scss +++ b/templates/theme-default/assets/scss/modules/_m-stage.scss @@ -37,7 +37,8 @@ } &__headline, - &__secondary-headline, + &__overline, + &__subline, &__text { max-width: 600px; } diff --git a/templates/theme-default/layouts/partials/components/c-editorial.html b/templates/theme-default/layouts/partials/components/c-editorial.html index cccee97..8916d1a 100644 --- a/templates/theme-default/layouts/partials/components/c-editorial.html +++ b/templates/theme-default/layouts/partials/components/c-editorial.html @@ -9,12 +9,14 @@ ) . -}} {{- $headline := $params.headline -}} -{{- $secondary_headline := $params.secondary_headline -}} +{{- $overline := $params.overline -}} +{{- $subline := $params.subline -}} {{- $text := $params.text -}} {{- $media := $params.media -}} {{- $links := $params.links | default dict -}} {{- $headline_tag := $params.headline_tag | default "h3" -}} -{{- $secondary_headline_tag := $params.secondary_headline_tag | default "h4" -}} +{{- $overline_tag := $params.overline_tag | default "div" -}} +{{- $subline_tag := $params.subline_tag | default "div" -}} {{- $layout := $params.layout | default "default" -}} {{- $partialPath := printf "components/c-editorial/%s.html" $layout -}} @@ -31,23 +33,34 @@ ) . -}} {{- end -}}
+ {{- with $overline -}} + {{- partial "components/c-headline" (dict + "globals" $globals + "context" (dict + "tag" $overline_tag + "class_name" "c-editorial__overline" + "modifier" "" + "text" . + ) + ) -}} + {{- end -}} {{- with $headline -}} {{- partial "components/c-headline" (dict "globals" $globals "context" (dict - "tag" "h2" + "tag" $headline_tag "class_name" "c-editorial__headline" "modifier" "" "text" . ) ) -}} {{- end -}} - {{- with $secondary_headline -}} + {{- with $subline -}} {{- partial "components/c-headline" (dict "globals" $globals "context" (dict - "tag" "h3" - "class_name" "c-editorial__secondary-headline" + "tag" $subline_tag + "class_name" "c-editorial__subline" "modifier" "" "text" . ) diff --git a/templates/theme-default/layouts/partials/modules/m-stage.html b/templates/theme-default/layouts/partials/modules/m-stage.html index 9f211ff..1c38d59 100644 --- a/templates/theme-default/layouts/partials/modules/m-stage.html +++ b/templates/theme-default/layouts/partials/modules/m-stage.html @@ -10,7 +10,8 @@ ) . -}} {{- $headline := $params.headline -}} -{{- $secondary_headline := $params.secondary_headline -}} +{{- $overline := $params.overline -}} +{{- $subline := $params.subline -}} {{- $text := $params.text -}} {{- $media := $params.media -}} {{- $layout := $params.layout | default "split" -}} @@ -37,16 +38,35 @@ ) -}} {{- end -}}
+ {{- with $overline -}} + {{- partial "components/c-headline" (dict + "globals" $globals + "context" (dict + "tag" "div" + "class_name" "m-stage__overline" + "text" . + ) + ) -}} + {{- end -}} {{- with $headline -}} {{- partial "components/c-headline" (dict "globals" $globals - "context" (dict "tag" "h1" "class_name" "m-stage__headline" "text" . ) + "context" (dict + "tag" "h1" + "class_name" + "m-stage__headline" + "text" . + ) ) -}} {{- end -}} - {{- with $secondary_headline -}} + {{- with $subline -}} {{- partial "components/c-headline" (dict "globals" $globals - "context" (dict "tag" "h2" "class_name" "m-stage__secondary-headline" "text" . ) + "context" (dict + "tag" "div" + "class_name" "m-stage__subline" + "text" . + ) ) -}} {{- end -}} {{- with $text -}} From b4b89c8e35075afa8f5bf3651474157d50a1d7f1 Mon Sep 17 00:00:00 2001 From: Peter Schewe Date: Mon, 11 Jul 2022 23:10:28 +0200 Subject: [PATCH 30/63] refactor: define page type and components --- .../core/0000000000003-create-t-page-migration.js | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/packages/contentful-migrations/core/0000000000003-create-t-page-migration.js b/packages/contentful-migrations/core/0000000000003-create-t-page-migration.js index b7cbb1d..2f8049f 100644 --- a/packages/contentful-migrations/core/0000000000003-create-t-page-migration.js +++ b/packages/contentful-migrations/core/0000000000003-create-t-page-migration.js @@ -1,9 +1,7 @@ /* eslint-env node */ const { withHelpers } = require('@jungvonmatt/contentful-migrations'); -module.exports = withHelpers(async (migration, _context, helpers) => { - const defaultLocale = await helpers.locale.getDefaultLocale(); - +module.exports = withHelpers(async (migration, _context) => { const tPage = migration .createContentType('t-page') .name('Template: Page') @@ -200,6 +198,11 @@ module.exports = withHelpers(async (migration, _context, helpers) => { tPage.changeFieldControl('modules', 'builtin', 'entryLinksEditor', {}); + // Define page type and components (Compose only) + tPage.setAnnotations(['Contentful:AggregateRoot']); + tPage.editField('stage').setAnnotations(['Contentful:AggregateComponent']); + tPage.editField('modules').setAnnotations(['Contentful:AggregateComponent']); + // Create editor layout (Compose only) const editorLayout = tPage.createEditorLayout(); From 340eb6af358945307d2ce17e96f5ac483692f1cb Mon Sep 17 00:00:00 2001 From: Peter Schewe Date: Mon, 11 Jul 2022 23:33:26 +0200 Subject: [PATCH 31/63] refactor: change order of overline and headline --- .../ui/1000000000004-create-c-editorial-migration.js | 12 ++++++------ .../ui/1100000000001-create-m-stage-migration.js | 12 ++++++------ .../layouts/partials/components/c-editorial.html | 4 ++-- .../layouts/partials/modules/m-stage.html | 2 +- 4 files changed, 15 insertions(+), 15 deletions(-) diff --git a/packages/contentful-migrations/ui/1000000000004-create-c-editorial-migration.js b/packages/contentful-migrations/ui/1000000000004-create-c-editorial-migration.js index 12f354b..3f356dc 100644 --- a/packages/contentful-migrations/ui/1000000000004-create-c-editorial-migration.js +++ b/packages/contentful-migrations/ui/1000000000004-create-c-editorial-migration.js @@ -16,8 +16,8 @@ module.exports = async function (migration) { .omitted(false); cEditorial - .createField('headline') - .name('Headline') + .createField('overline') + .name('Overline') .type('Symbol') .localized(true) .required(false) @@ -26,8 +26,8 @@ module.exports = async function (migration) { .omitted(false); cEditorial - .createField('overline') - .name('Overline') + .createField('headline') + .name('Headline') .type('Symbol') .localized(true) .required(false) @@ -107,10 +107,10 @@ module.exports = async function (migration) { helpText: 'e.g. "Home page > Editorial > Editorial"', }); - cEditorial.changeFieldControl('headline', 'builtin', 'singleLine', {}); - cEditorial.changeFieldControl('overline', 'builtin', 'singleLine', {}); + cEditorial.changeFieldControl('headline', 'builtin', 'singleLine', {}); + cEditorial.changeFieldControl('subline', 'builtin', 'singleLine', {}); cEditorial.changeFieldControl('text', 'builtin', 'richTextEditor', {}); diff --git a/packages/contentful-migrations/ui/1100000000001-create-m-stage-migration.js b/packages/contentful-migrations/ui/1100000000001-create-m-stage-migration.js index 5883272..6d0bb26 100644 --- a/packages/contentful-migrations/ui/1100000000001-create-m-stage-migration.js +++ b/packages/contentful-migrations/ui/1100000000001-create-m-stage-migration.js @@ -20,8 +20,8 @@ module.exports = withHelpers(async (migration, _context, helpers) => { .omitted(false); mStage - .createField('headline') - .name('Headline') + .createField('overline') + .name('Overline') .type('Symbol') .localized(true) .required(false) @@ -30,8 +30,8 @@ module.exports = withHelpers(async (migration, _context, helpers) => { .omitted(false); mStage - .createField('overline') - .name('Overline') + .createField('headline') + .name('Headline') .type('Symbol') .localized(true) .required(false) @@ -159,10 +159,10 @@ module.exports = withHelpers(async (migration, _context, helpers) => { helpText: 'e.g. "Home page > Stage"', }); - mStage.changeFieldControl('headline', 'builtin', 'singleLine', {}); - mStage.changeFieldControl('overline', 'builtin', 'singleLine', {}); + mStage.changeFieldControl('headline', 'builtin', 'singleLine', {}); + mStage.changeFieldControl('subline', 'builtin', 'singleLine', {}); mStage.changeFieldControl('text', 'builtin', 'richTextEditor', {}); diff --git a/templates/theme-default/layouts/partials/components/c-editorial.html b/templates/theme-default/layouts/partials/components/c-editorial.html index 8916d1a..9582659 100644 --- a/templates/theme-default/layouts/partials/components/c-editorial.html +++ b/templates/theme-default/layouts/partials/components/c-editorial.html @@ -8,14 +8,14 @@ "context" $params ) . -}} -{{- $headline := $params.headline -}} {{- $overline := $params.overline -}} +{{- $headline := $params.headline -}} {{- $subline := $params.subline -}} {{- $text := $params.text -}} {{- $media := $params.media -}} {{- $links := $params.links | default dict -}} -{{- $headline_tag := $params.headline_tag | default "h3" -}} {{- $overline_tag := $params.overline_tag | default "div" -}} +{{- $headline_tag := $params.headline_tag | default "h3" -}} {{- $subline_tag := $params.subline_tag | default "div" -}} {{- $layout := $params.layout | default "default" -}} diff --git a/templates/theme-default/layouts/partials/modules/m-stage.html b/templates/theme-default/layouts/partials/modules/m-stage.html index 1c38d59..685330a 100644 --- a/templates/theme-default/layouts/partials/modules/m-stage.html +++ b/templates/theme-default/layouts/partials/modules/m-stage.html @@ -9,8 +9,8 @@ "context" $params ) . -}} -{{- $headline := $params.headline -}} {{- $overline := $params.overline -}} +{{- $headline := $params.headline -}} {{- $subline := $params.subline -}} {{- $text := $params.text -}} {{- $media := $params.media -}} From 4c18ba2b16cb800b7535c42869313723693717d8 Mon Sep 17 00:00:00 2001 From: Peter Schewe Date: Mon, 11 Jul 2022 23:35:11 +0200 Subject: [PATCH 32/63] fix(m-text): remove headings because template does not support them --- .../1100000000005-create-m-text-migration.js | 24 ------------------- 1 file changed, 24 deletions(-) diff --git a/packages/contentful-migrations/ui/1100000000005-create-m-text-migration.js b/packages/contentful-migrations/ui/1100000000005-create-m-text-migration.js index 357a257..180eae5 100644 --- a/packages/contentful-migrations/ui/1100000000005-create-m-text-migration.js +++ b/packages/contentful-migrations/ui/1100000000005-create-m-text-migration.js @@ -73,26 +73,6 @@ module.exports = withHelpers(async (migration, _context, helpers) => { .disabled(false) .omitted(false); - mText - .createField('headline') - .name('Headline') - .type('Symbol') - .localized(true) - .required(false) - .validations([]) - .disabled(false) - .omitted(false); - - mText - .createField('overline') - .name('Overline') - .type('Symbol') - .localized(true) - .required(false) - .validations([]) - .disabled(false) - .omitted(false); - mText .createField('body') .name('Text') @@ -132,9 +112,5 @@ module.exports = withHelpers(async (migration, _context, helpers) => { mText.changeFieldControl('layout', 'builtin', 'dropdown', {}); - mText.changeFieldControl('headline', 'builtin', 'singleLine', {}); - - mText.changeFieldControl('overline', 'builtin', 'singleLine', {}); - mText.changeFieldControl('body', 'builtin', 'richTextEditor', {}); }); From 7a0081d2f05197419ebcf1a2883ab838278292a0 Mon Sep 17 00:00:00 2001 From: Peter Schewe Date: Mon, 11 Jul 2022 23:42:31 +0200 Subject: [PATCH 33/63] refactor: be backwards compatible with page content type --- hugo-modules/core/utils/get-category-name.html | 2 +- hugo-modules/core/utils/get-page.html | 2 +- hugo-modules/core/utils/get-params.html | 2 +- hugo-modules/core/utils/link.html | 2 +- templates/app/contentful-ssg.config.ts | 4 ++-- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/hugo-modules/core/utils/get-category-name.html b/hugo-modules/core/utils/get-category-name.html index 09a0c75..9a90059 100644 --- a/hugo-modules/core/utils/get-category-name.html +++ b/hugo-modules/core/utils/get-category-name.html @@ -9,7 +9,7 @@ {{- $result := "" -}} -{{- if hasPrefix $content_type "t-" -}} +{{- if (or (eq $content_type "page") (hasPrefix $content_type "t-")) -}} {{- $result = "templates" -}} {{- else if hasPrefix $content_type "m-" -}} {{- $result = "modules" -}} diff --git a/hugo-modules/core/utils/get-page.html b/hugo-modules/core/utils/get-page.html index 1125c40..3e79983 100644 --- a/hugo-modules/core/utils/get-page.html +++ b/hugo-modules/core/utils/get-page.html @@ -12,7 +12,7 @@ {{ $content_type := .content_type }} {{ $page := dict }} {{ if and $content_type $entry_id }} - {{ if hasPrefix $content_type "t-" }} + {{ if (or (eq $content_type "page") (hasPrefix $content_type "t-")) }} {{ with index (where site.Pages "Params.sys.id" $entry_id) 0 }} {{ $page = . }} {{ end }} diff --git a/hugo-modules/core/utils/get-params.html b/hugo-modules/core/utils/get-params.html index deb38f0..f71c632 100644 --- a/hugo-modules/core/utils/get-params.html +++ b/hugo-modules/core/utils/get-params.html @@ -14,7 +14,7 @@ {{ $content_type := .content_type }} {{ $params := dict }} -{{ if hasPrefix $content_type "t-" }} +{{ if (or (eq $content_type "page") (hasPrefix $content_type "t-")) }} {{ $page := partial "utils/get-page" . }} {{ with $page }} {{ $params = .Params }} diff --git a/hugo-modules/core/utils/link.html b/hugo-modules/core/utils/link.html index 0a2cf0f..65b6959 100644 --- a/hugo-modules/core/utils/link.html +++ b/hugo-modules/core/utils/link.html @@ -43,7 +43,7 @@ {{ end }} {{/* Page content type */}} - {{ else if hasPrefix .content_type "t-" }} + {{ else if (or (eq .content_type "page") (hasPrefix .content_type "t-")) }} {{ with partialCached "utils/get-page" . . }} {{ $return = (dict "href" (.Permalink | safeURL) diff --git a/templates/app/contentful-ssg.config.ts b/templates/app/contentful-ssg.config.ts index 7c216ec..251b5a3 100644 --- a/templates/app/contentful-ssg.config.ts +++ b/templates/app/contentful-ssg.config.ts @@ -8,9 +8,9 @@ const config: Config = { [ '@jungvonmatt/cssg-plugin-hugo', { - menuRootTypes: ['t-*'], + menuRootTypes: ['page', 't-*'], typeConfig: { - content: ['t-*'], + content: ['page', 't-*'], }, }, ], From 44270d8868cabe035196d477fd62d7fc905bac9a Mon Sep 17 00:00:00 2001 From: Peter Schewe Date: Tue, 12 Jul 2022 00:03:38 +0200 Subject: [PATCH 34/63] fix: use specific t-page instead of a glob --- templates/app/contentful-ssg.config.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/templates/app/contentful-ssg.config.ts b/templates/app/contentful-ssg.config.ts index 251b5a3..7f0fb9a 100644 --- a/templates/app/contentful-ssg.config.ts +++ b/templates/app/contentful-ssg.config.ts @@ -8,7 +8,7 @@ const config: Config = { [ '@jungvonmatt/cssg-plugin-hugo', { - menuRootTypes: ['page', 't-*'], + menuRootTypes: ['page', 't-page'], typeConfig: { content: ['page', 't-*'], }, From 1fd05235b7290da73c2914c6abb9eee6aae977c4 Mon Sep 17 00:00:00 2001 From: Peter Schewe Date: Thu, 14 Jul 2022 09:05:11 +0200 Subject: [PATCH 35/63] refactor: use HUGO_ENV instead of HUGO_ENVIRONMENT --- hugo-modules/core/layouts/storybook/single.stories.js | 2 +- hugo-modules/core/utils/seo/private/get-tags.html | 2 +- templates/app/layouts/_default/baseof.html | 2 +- templates/app/layouts/partials/structure/scripts.html | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/hugo-modules/core/layouts/storybook/single.stories.js b/hugo-modules/core/layouts/storybook/single.stories.js index 942cc29..0533261 100644 --- a/hugo-modules/core/layouts/storybook/single.stories.js +++ b/hugo-modules/core/layouts/storybook/single.stories.js @@ -109,7 +109,7 @@ {{- $combinations := partial "combinations" (dict "list" $templateParams) }} {{ $params := merge site.Params (dict - "environment" (or (getenv "HUGO_ENVIRONMENT") hugo.Environment) + "environment" (or (getenv "HUGO_ENV") hugo.Environment) ) }} {{- $js := resources.Get "js/main.js" | js.Build (dict "format" "esm" diff --git a/hugo-modules/core/utils/seo/private/get-tags.html b/hugo-modules/core/utils/seo/private/get-tags.html index 4ffe465..0dd1a7d 100644 --- a/hugo-modules/core/utils/seo/private/get-tags.html +++ b/hugo-modules/core/utils/seo/private/get-tags.html @@ -97,7 +97,7 @@ {{/* Dealing with private setting */}} {{ with $seo }} {{ $value := "noindex, nofollow" }} - {{ $production := eq (hugo.Environment) "production" }} + {{ $production := eq (getenv "HUGO_ENV") "production" }} {{ $index := cond (eq .no_index true) "noindex" "index" }} {{ $follow := cond (eq .no_follow true) "nofollow" "follow" }} diff --git a/templates/app/layouts/_default/baseof.html b/templates/app/layouts/_default/baseof.html index ad9efe2..61fe0f8 100644 --- a/templates/app/layouts/_default/baseof.html +++ b/templates/app/layouts/_default/baseof.html @@ -1,7 +1,7 @@ {{- $settings := partial "utils/get-settings" . -}} {{- $params := merge site.Params (dict - "environment" (or (getenv "HUGO_ENVIRONMENT") hugo.Environment) + "environment" (or (getenv "HUGO_ENV") hugo.Environment) ) -}} {{- with .Params.sys -}} diff --git a/templates/app/layouts/partials/structure/scripts.html b/templates/app/layouts/partials/structure/scripts.html index 96d0a31..70ab5d2 100644 --- a/templates/app/layouts/partials/structure/scripts.html +++ b/templates/app/layouts/partials/structure/scripts.html @@ -1,7 +1,7 @@ {{- $settings := partial "utils/get-settings" . -}} {{ $params := merge site.Params (dict - "environment" (or (getenv "HUGO_ENVIRONMENT") hugo.Environment) + "environment" (or (getenv "HUGO_ENV") hugo.Environment) ) }} {{ $js := resources.Get "js/main.js" | js.Build (dict From 91884af989c06f65476247d364849963703455cf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ben=20Z=C3=B6rb?= Date: Sun, 17 Jul 2022 00:49:56 +0200 Subject: [PATCH 36/63] fix(migrations): bump contentful-migrations package --- package-lock.json | 3176 ++++++++++++++++-------------------- templates/app/package.json | 2 +- 2 files changed, 1411 insertions(+), 1767 deletions(-) diff --git a/package-lock.json b/package-lock.json index 25dd165..8a688b9 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1786,20 +1786,22 @@ } }, "node_modules/@contentful/rich-text-plain-text-renderer": { - "version": "15.11.1", + "version": "15.12.1", + "resolved": "https://registry.npmjs.org/@contentful/rich-text-plain-text-renderer/-/rich-text-plain-text-renderer-15.12.1.tgz", + "integrity": "sha512-0pDLs4V1dhK98yoIFq8e16Ey54uyAPLKeqMtry3db4X0zEuA/+6CEetoyEdJrySAaCkfB7+Y6n4vKMFUSPHs3Q==", "dev": true, - "license": "MIT", "dependencies": { - "@contentful/rich-text-types": "^15.11.1" + "@contentful/rich-text-types": "^15.12.1" }, "engines": { "node": ">=6.0.0" } }, "node_modules/@contentful/rich-text-types": { - "version": "15.11.1", + "version": "15.12.1", + "resolved": "https://registry.npmjs.org/@contentful/rich-text-types/-/rich-text-types-15.12.1.tgz", + "integrity": "sha512-WQJic0fnAbTa8xzO3Z+aVqDmA5+JMNQlATQMVJ40GoOrnM8YoJZsKGf6xX/O6Y6Eq10T1LrpxIOslODFI9qFgg==", "dev": true, - "license": "MIT", "engines": { "node": ">=6.0.0" } @@ -1997,6 +1999,27 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/@ffmpeg/core": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/@ffmpeg/core/-/core-0.10.0.tgz", + "integrity": "sha512-qunWJl5PezpXEm31tb8Qu5z37B5KVA1VYZCpXchMhuAb3X9T7PuE3SlhOwphEoRhzaOa3lpofDfzihAUMFaVPQ==", + "dev": true + }, + "node_modules/@ffmpeg/ffmpeg": { + "version": "0.10.1", + "resolved": "https://registry.npmjs.org/@ffmpeg/ffmpeg/-/ffmpeg-0.10.1.tgz", + "integrity": "sha512-ChQkH7Rh57hmVo1LhfQFibWX/xqneolJKSwItwZdKPcLZuKigtYAYDIvB55pDfP17VtR1R77SxgkB2/UApB+Og==", + "dev": true, + "dependencies": { + "is-url": "^1.2.4", + "node-fetch": "^2.6.1", + "regenerator-runtime": "^0.13.7", + "resolve-url": "^0.2.1" + }, + "engines": { + "node": ">=12.16.1" + } + }, "node_modules/@fullhuman/postcss-purgecss": { "version": "4.1.3", "license": "MIT", @@ -2231,37 +2254,37 @@ } }, "node_modules/@jungvonmatt/contentful-migrations": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/@jungvonmatt/contentful-migrations/-/contentful-migrations-5.3.0.tgz", - "integrity": "sha512-/VL5vxOa2/3hrUsYmKTpdXA1NceywR444rhPdkqoakNI9r2JNCGszzA1Bcl6pCr6eM2N1MZsIcxx9QEOBC9/Cw==", + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/@jungvonmatt/contentful-migrations/-/contentful-migrations-5.3.2.tgz", + "integrity": "sha512-GAfX4ezM4vlV5sWYnKRKsoTOygwIcK5rk8hrc0JoJvCEPJjJxEzMied2XmOwDjkMI6nClHXY0KGfbibXwC+QeA==", "dev": true, "dependencies": { - "@contentful/rich-text-plain-text-renderer": "^15.6.2", - "array.prototype.flatmap": "^1.2.5", + "@contentful/rich-text-plain-text-renderer": "^15.12.1", + "array.prototype.flatmap": "^1.3.0", "ascii-tree": "^0.3.0", "chalk": "^4.1.2", - "cli-progress": "^3.9.1", + "cli-progress": "^3.11.2", "commander": "^8.3.0", "common-tags": "^1.8.2", - "contentful-cli": "^1.8.23", - "contentful-import": "^8.2.22", + "contentful-cli": "^1.14.21", + "contentful-import": "^8.3.2", "contentful-management": "^7.45.2", - "contentful-migration": "^4.3.0", + "contentful-migration": "^4.9.2", "cosmiconfig": "^7.0.1", "deep-diff": "^1.0.2", - "diff": "^5.0.0", + "diff": "^5.1.0", "dotenv": "^10.0.0", - "fs-extra": "^10.0.0", + "fs-extra": "^10.1.0", "globby": "^12.0.2", "inquirer": "^8.2.0", - "markdown-table": "^3.0.1", + "markdown-table": "^3.0.2", "merge-options": "^3.0.4", "mustache": "^4.2.0", - "node-fetch": "^3.1.0", + "node-fetch": "^3.2.8", "node-object-hash": "^2.3.10", "pkg-up": "^4.0.0", - "prettier": "^2.4.1", - "read-pkg-up": "^9.0.0" + "prettier": "^2.7.1", + "read-pkg-up": "^9.1.0" }, "bin": { "contentful-migrations": "cli.js", @@ -2291,9 +2314,10 @@ } }, "node_modules/@jungvonmatt/contentful-migrations/node_modules/diff": { - "version": "5.0.0", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-5.1.0.tgz", + "integrity": "sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==", "dev": true, - "license": "BSD-3-Clause", "engines": { "node": ">=0.3.1" } @@ -2355,9 +2379,10 @@ } }, "node_modules/@jungvonmatt/contentful-migrations/node_modules/node-fetch": { - "version": "3.2.0", + "version": "3.2.8", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-3.2.8.tgz", + "integrity": "sha512-KtpD1YhGszhntMpBDyp5lyagk8KIMopC1LEb7cQUAh7zcosaX5uK8HnbNb2i3NTQK3sIawCItS0uFC3QzcLHdg==", "dev": true, - "license": "MIT", "dependencies": { "data-uri-to-buffer": "^4.0.0", "fetch-blob": "^3.1.4", @@ -2463,9 +2488,9 @@ } }, "node_modules/@jungvonmatt/contentful-ssg": { - "version": "1.7.1", - "resolved": "https://registry.npmjs.org/@jungvonmatt/contentful-ssg/-/contentful-ssg-1.7.1.tgz", - "integrity": "sha512-EkymoSvKa2cq/ISZ5JNH/JuKCIyB4GaTRYLBvd4mh/DmmSJKfNp/HAD3JNhMiKofyFuZmtoKaf98WTWXbhi/hg==", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@jungvonmatt/contentful-ssg/-/contentful-ssg-1.9.0.tgz", + "integrity": "sha512-objixlcCnvIuCDGzaWjsgC4lwt8D3OGn8OLD340lpEHt43Y4oRmSXl/mF+CZK5jFrRECcsSmwo35i3ygs+//CA==", "dev": true, "dependencies": { "@contentful/rich-text-html-renderer": "^15.6.2", @@ -2473,6 +2498,7 @@ "@endemolshinegroup/cosmiconfig-typescript-loader": "^3.0.2", "@iarna/toml": "^2.2.5", "@swc-node/register": "^1.4.0", + "async-exit-hook": "^2.0.1", "chalk": "^4.1.2", "commander": "^8.3.0", "contentful": "^9.1.4", @@ -2482,8 +2508,11 @@ "dotenv": "^10.0.0", "dotenv-expand": "^5.1.0", "esbuild": "^0.13.13", + "express": "^4.18.1", + "find-cache-dir": "^3.3.2", "find-up": "^6.2.0", - "fs-extra": "^10.0.0", + "fs-extra": "^10.1.0", + "get-port": "^6.1.2", "globby": "^12.0.2", "gray-matter": "^4.0.3", "inquirer": "^8.2.0", @@ -2491,13 +2520,17 @@ "listr": "^0.14.3", "merge-options": "^3.0.4", "micromatch": "^4.0.4", + "ngrok": "^4.3.1", "prettier": "^2.4.1", "read-pkg-up": "^9.0.0", "rxjs": "^7.5.5", + "serialize-error": "^11.0.0", + "serializr": "^2.0.5", "slash": "^4.0.0", "snake-case": "^3.0.4", "tempy": "^2.0.0", - "type-fest": "^2.5.3" + "type-fest": "^2.5.3", + "uuid": "^8.3.2" }, "bin": { "contentful-ssg": "dist/cli.js", @@ -2574,6 +2607,18 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/@jungvonmatt/contentful-ssg/node_modules/get-port": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/get-port/-/get-port-6.1.2.tgz", + "integrity": "sha512-BrGGraKm2uPqurfGVj/z97/zv8dPleC6x9JBNRTrDNtCkkRF4rPwrQXFgL7+I+q8QSdU4ntLQX2D7KIxSy8nGw==", + "dev": true, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/@jungvonmatt/contentful-ssg/node_modules/globby": { "version": "12.2.0", "dev": true, @@ -2754,14 +2799,15 @@ "link": true }, "node_modules/@jungvonmatt/cssg-plugin-assets": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/@jungvonmatt/cssg-plugin-assets/-/cssg-plugin-assets-1.6.0.tgz", - "integrity": "sha512-Kt6Ey2m7DVe7Ogf/eJOWRN1x2C8qmZ8UXKhXWPE++gXx1EnVG/D/7LP/6Ou0hmINCW8JIe2YR0WVTwgSaD3B4A==", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@jungvonmatt/cssg-plugin-assets/-/cssg-plugin-assets-1.9.0.tgz", + "integrity": "sha512-1qKtjKpjjNONQpyrsjGuGGZTY92+w2iENKFpmBmRCe8kR1gl9wOK2VUWTwptHz9R3pNTVUfJF2ukyAnOXOSJ/g==", "dev": true, "dependencies": { + "@ffmpeg/core": "^0.10.0", + "@ffmpeg/ffmpeg": "^0.10.1", "cli-progress": "^3.9.1", "contentful": "^9.1.4", - "download": "^8.0.0", "got": "^11.8.3", "mkdirp": "^1.0.4", "svgo": "^2.8.0" @@ -2836,13 +2882,13 @@ } }, "node_modules/@jungvonmatt/cssg-plugin-hugo": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/@jungvonmatt/cssg-plugin-hugo/-/cssg-plugin-hugo-1.7.2.tgz", - "integrity": "sha512-HgHk/ISMtS3Swh7VE3R364mqLbpYvkf/IX1jsPdgbxZHLJvX6MDmw5Z3M7KyE/dRHOZ9MX6haPRtDcl2pCKLpQ==", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@jungvonmatt/cssg-plugin-hugo/-/cssg-plugin-hugo-1.9.0.tgz", + "integrity": "sha512-i2RsOypG42kArsuQM8mLrKmSCI+0/lk32WCj1+h5G03wxjBYwuYFIJ4Ap55Q6PF53O2hUWN9V3wThQheb4AQ0A==", "dev": true, "dependencies": { - "@jungvonmatt/contentful-ssg": "^1.7.1", - "fs-extra": "^10.0.0", + "@jungvonmatt/contentful-ssg": "^1.9.0", + "fs-extra": "^10.1.0", "micromatch": "^4.0.4" } }, @@ -10817,6 +10863,16 @@ "version": "20.2.1", "license": "MIT" }, + "node_modules/@types/yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw==", + "dev": true, + "optional": true, + "dependencies": { + "@types/node": "*" + } + }, "node_modules/@typescript-eslint/eslint-plugin": { "version": "5.12.0", "dev": true, @@ -11819,25 +11875,6 @@ "version": "2.0.0", "license": "ISC" }, - "node_modules/archive-type": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "file-type": "^4.2.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/archive-type/node_modules/file-type": { - "version": "4.4.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, "node_modules/are-we-there-yet": { "version": "1.1.7", "dev": true, @@ -11986,12 +12023,14 @@ } }, "node_modules/array.prototype.flatmap": { - "version": "1.2.5", - "license": "MIT", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.0.tgz", + "integrity": "sha512-PZC9/8TKAIxcWKdyeb77EzULHPrIX/tIZebLJUQOMR1OwYosT8yggdfWScfTBCDj5utONvOuPQQumYsU2ULbkg==", "dependencies": { - "call-bind": "^1.0.0", + "call-bind": "^1.0.2", "define-properties": "^1.1.3", - "es-abstract": "^1.19.0" + "es-abstract": "^1.19.2", + "es-shim-unscopables": "^1.0.0" }, "engines": { "node": ">= 0.4" @@ -12094,8 +12133,9 @@ }, "node_modules/ast-types": { "version": "0.14.2", + "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.14.2.tgz", + "integrity": "sha512-O0yuUDnZeQDL+ncNGlJ78BiO4jnYI3bvMsD5prT0/nsgijG/LpNBIr63gTjVTNsiGkgQhiyCShTgxt8oXOrklA==", "dev": true, - "license": "MIT", "dependencies": { "tslib": "^2.0.1" }, @@ -12121,6 +12161,15 @@ "license": "MIT", "optional": true }, + "node_modules/async-exit-hook": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/async-exit-hook/-/async-exit-hook-2.0.1.tgz", + "integrity": "sha512-NW2cX8m1Q7KPA7a5M2ULQeZ2wR5qI5PAbw5L0UOMxdioVk9PMZ0h1TmyZEkPYrCvYjDlFICusOu1dlEKAAeXBw==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, "node_modules/async-retry": { "version": "1.3.1", "dev": true, @@ -12492,8 +12541,9 @@ }, "node_modules/bfj": { "version": "7.0.2", + "resolved": "https://registry.npmjs.org/bfj/-/bfj-7.0.2.tgz", + "integrity": "sha512-+e/UqUzwmzJamNF50tBV6tZPTORow7gQ96iFow+8b562OdMpEK0BcJEq2OSPEDmAbSMBQ7PKZ87ubFkgxpYWgw==", "dev": true, - "license": "MIT", "dependencies": { "bluebird": "^3.5.5", "check-types": "^11.1.1", @@ -12636,45 +12686,49 @@ "license": "MIT" }, "node_modules/body-parser": { - "version": "1.19.2", - "license": "MIT", + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.0.tgz", + "integrity": "sha512-DfJ+q6EPcGKZD1QWUjSpqp+Q7bDQTsQIF4zfUAtZ6qk+H/3/QRhg9CEp39ss+/T2vw0+HaidC0ecJj/DRLIaKg==", "dependencies": { "bytes": "3.1.2", "content-type": "~1.0.4", "debug": "2.6.9", - "depd": "~1.1.2", - "http-errors": "1.8.1", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", "iconv-lite": "0.4.24", - "on-finished": "~2.3.0", - "qs": "6.9.7", - "raw-body": "2.4.3", - "type-is": "~1.6.18" + "on-finished": "2.4.1", + "qs": "6.10.3", + "raw-body": "2.5.1", + "type-is": "~1.6.18", + "unpipe": "1.0.0" }, "engines": { - "node": ">= 0.8" + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" } }, "node_modules/body-parser/node_modules/debug": { "version": "2.6.9", - "license": "MIT", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dependencies": { "ms": "2.0.0" } }, - "node_modules/body-parser/node_modules/ms": { + "node_modules/body-parser/node_modules/depd": { "version": "2.0.0", - "license": "MIT" - }, - "node_modules/body-parser/node_modules/qs": { - "version": "6.9.7", - "license": "BSD-3-Clause", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", "engines": { - "node": ">=0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">= 0.8" } }, + "node_modules/body-parser/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, "node_modules/boolbase": { "version": "1.0.0", "license": "ISC" @@ -12856,37 +12910,20 @@ "ieee754": "^1.1.13" } }, - "node_modules/buffer-alloc": { - "version": "1.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "buffer-alloc-unsafe": "^1.1.0", - "buffer-fill": "^1.0.0" - } - }, - "node_modules/buffer-alloc-unsafe": { - "version": "1.1.0", - "dev": true, - "license": "MIT" - }, "node_modules/buffer-crc32": { "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", "dev": true, - "license": "MIT", "engines": { "node": "*" } }, "node_modules/buffer-equal-constant-time": { "version": "1.0.1", - "dev": true, - "license": "BSD-3-Clause" - }, - "node_modules/buffer-fill": { - "version": "1.0.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", + "integrity": "sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==", + "dev": true }, "node_modules/buffer-from": { "version": "1.1.2", @@ -12923,7 +12960,8 @@ }, "node_modules/bytes": { "version": "3.1.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", "engines": { "node": ">= 0.8" } @@ -13332,8 +13370,9 @@ }, "node_modules/check-types": { "version": "11.1.2", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/check-types/-/check-types-11.1.2.tgz", + "integrity": "sha512-tzWzvgePgLORb9/3a0YenggReLKAIb2owL03H2Xdoe5pKcUyWRSEQ8xfCar8t2SIAuEDwtmx2da1YB52YuHQMQ==", + "dev": true }, "node_modules/chokidar": { "version": "3.5.3", @@ -13519,11 +13558,12 @@ } }, "node_modules/cli-progress": { - "version": "3.10.0", + "version": "3.11.2", + "resolved": "https://registry.npmjs.org/cli-progress/-/cli-progress-3.11.2.tgz", + "integrity": "sha512-lCPoS6ncgX4+rJu5bS3F/iCz17kZ9MPZ6dpuTtI0KXKABkhyXIdYB3Inby1OpaGti3YlI3EeEkM9AuWpelJrVA==", "dev": true, - "license": "MIT", "dependencies": { - "string-width": "^4.2.0" + "string-width": "^4.2.3" }, "engines": { "node": ">=4" @@ -14049,7 +14089,8 @@ }, "node_modules/content-type": { "version": "1.0.4", - "license": "MIT", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", + "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", "engines": { "node": ">= 0.6" } @@ -14070,15 +14111,16 @@ } }, "node_modules/contentful-batch-libs": { - "version": "9.2.1", + "version": "9.4.2", + "resolved": "https://registry.npmjs.org/contentful-batch-libs/-/contentful-batch-libs-9.4.2.tgz", + "integrity": "sha512-G58ykBrAycBnfGEawyU2xvVnbPt32EghJ6kZo/JrKdGXYAWm+FnpeJJV0lpABvApExzoWc3ChH6eHU8X+M/w4g==", "dev": true, - "license": "MIT", "dependencies": { "bfj": "^7.0.2", + "date-fns": "^2.28.0", "figures": "^3.2.0", "https-proxy-agent": "^3.0.0", - "lodash": "^4.17.21", - "moment": "^2.29.1", + "lodash.clonedeep": "^4.5.0", "uuid": "^8.3.2" }, "engines": { @@ -14087,8 +14129,9 @@ }, "node_modules/contentful-batch-libs/node_modules/agent-base": { "version": "4.3.0", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.3.0.tgz", + "integrity": "sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg==", "dev": true, - "license": "MIT", "dependencies": { "es6-promisify": "^5.0.0" }, @@ -14098,16 +14141,18 @@ }, "node_modules/contentful-batch-libs/node_modules/debug": { "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, - "license": "MIT", "dependencies": { "ms": "^2.1.1" } }, "node_modules/contentful-batch-libs/node_modules/https-proxy-agent": { "version": "3.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-3.0.1.tgz", + "integrity": "sha512-+ML2Rbh6DAuee7d07tYGEKOEi2voWPUGan+ExdPbPW6Z3svq+JCqr0v8WmKPOkz1vOVykPCBSuobe7G8GJUtVg==", "dev": true, - "license": "MIT", "dependencies": { "agent-base": "^4.3.0", "debug": "^3.1.0" @@ -14117,9 +14162,10 @@ } }, "node_modules/contentful-cli": { - "version": "1.11.3", + "version": "1.14.21", + "resolved": "https://registry.npmjs.org/contentful-cli/-/contentful-cli-1.14.21.tgz", + "integrity": "sha512-DuJ0L/LLEUgO1JVyZvpvXP5CV4WuVRMxeZ/mZ7fSxEUrSkXSvQcuMiVB1H88/7CDLZitcJuJMn9Kg9R7k8fuTQ==", "dev": true, - "license": "MIT", "dependencies": { "ast-types": "^0.14.2", "bfj": "^7.0.2", @@ -14129,9 +14175,9 @@ "chalk": "^2.4.1", "cli-table3": "^0.6.0", "command-exists": "^1.2.7", - "contentful-export": "^7.14.0", - "contentful-import": "^8.2.25", - "contentful-management": "^8.1.3", + "contentful-export": "^7.17.16", + "contentful-import": "^8.3.2", + "contentful-management": "^10.0.0", "contentful-migration": "^4.8.0", "emojic": "^1.1.11", "execa": "^5.0.0", @@ -14142,21 +14188,20 @@ "inquirer-select-directory": "^1.2.0", "listr": "^0.14.1", "lodash": "^4.17.15", - "marked": "^3.0.8", + "marked": "^4.0.12", "mkdirp": "^1.0.3", "mz": "^2.6.0", "open": "^8.0.5", "path": "^0.12.7", "prettier": "^2.0.2", - "recast": "^0.20.4", + "recast": "^0.21.1", "rxjs": "^7.3.0", "shell-escape": "^0.2.0", "tar": "^6.0.1", "to-ast": "^1.0.0", "tree-kill": "^1.2.2", "wrap-ansi": "^7.0.0", - "yargs": "~13.3.2", - "zlib": "^1.0.5" + "yargs": "~13.3.2" }, "bin": { "contentful": "bin/contentful.js" @@ -14184,6 +14229,16 @@ "node": ">=4" } }, + "node_modules/contentful-cli/node_modules/axios": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.27.2.tgz", + "integrity": "sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==", + "dev": true, + "dependencies": { + "follow-redirects": "^1.14.9", + "form-data": "^4.0.0" + } + }, "node_modules/contentful-cli/node_modules/chalk": { "version": "2.4.2", "dev": true, @@ -14234,18 +14289,19 @@ "license": "MIT" }, "node_modules/contentful-cli/node_modules/contentful-management": { - "version": "8.1.3", + "version": "10.8.0", + "resolved": "https://registry.npmjs.org/contentful-management/-/contentful-management-10.8.0.tgz", + "integrity": "sha512-K+q9tbw8SULf5fg+tfLxE4WhHO+1iXyxjdGfy+hv9m1pwJFLhvBmudHOAA1jX1RnqayDUuRqjs/4otVb9cs/KA==", "dev": true, - "license": "MIT", "dependencies": { "@types/json-patch": "0.0.30", - "axios": "^0.26.0", + "axios": "^0.27.1", "contentful-sdk-core": "^7.0.1", "fast-copy": "^2.1.1", "lodash.isplainobject": "^4.0.6" }, "engines": { - "node": ">=6" + "node": ">=14" } }, "node_modules/contentful-cli/node_modules/emoji-regex": { @@ -14253,6 +14309,20 @@ "dev": true, "license": "MIT" }, + "node_modules/contentful-cli/node_modules/form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "dev": true, + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, "node_modules/contentful-cli/node_modules/has-flag": { "version": "3.0.0", "dev": true, @@ -14416,27 +14486,26 @@ } }, "node_modules/contentful-export": { - "version": "7.14.30", + "version": "7.17.19", + "resolved": "https://registry.npmjs.org/contentful-export/-/contentful-export-7.17.19.tgz", + "integrity": "sha512-BcOraK3e1xkz2M1P8OEp+u5QUgNHEnt2MRN2MUKjcVIvrAzzEVF6pOdkuwAKW0Nq+Pe/eqV56qG+n1mGtYSvGw==", "dev": true, - "license": "MIT", "dependencies": { "bfj": "^7.0.2", "bluebird": "^3.3.3", "cli-table3": "^0.6.0", "contentful": "^9.0.0", - "contentful-batch-libs": "^9.2.1", - "contentful-management": "^8.1.0", + "contentful-batch-libs": "^9.4.1", + "contentful-management": "^10.0.0", + "date-fns": "^2.28.0", "figures": "^3.2.0", - "fs-extra": "^10.0.0", "jsonwebtoken": "^8.5.1", "listr": "^0.14.1", "listr-update-renderer": "^0.5.0", "listr-verbose-renderer": "^0.6.0", - "lodash": "^4.17.10", + "lodash.startcase": "^4.4.0", "mkdirp": "^1.0.3", - "moment": "^2.22.2", - "request": "^2.87.0", - "request-promise": "^4.2.6", + "node-fetch": "^2.6.7", "yargs": "^17.1.1" }, "bin": { @@ -14446,25 +14515,51 @@ "node": ">=12" } }, + "node_modules/contentful-export/node_modules/axios": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.27.2.tgz", + "integrity": "sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==", + "dev": true, + "dependencies": { + "follow-redirects": "^1.14.9", + "form-data": "^4.0.0" + } + }, "node_modules/contentful-export/node_modules/contentful-management": { - "version": "8.1.3", + "version": "10.8.0", + "resolved": "https://registry.npmjs.org/contentful-management/-/contentful-management-10.8.0.tgz", + "integrity": "sha512-K+q9tbw8SULf5fg+tfLxE4WhHO+1iXyxjdGfy+hv9m1pwJFLhvBmudHOAA1jX1RnqayDUuRqjs/4otVb9cs/KA==", "dev": true, - "license": "MIT", "dependencies": { "@types/json-patch": "0.0.30", - "axios": "^0.26.0", + "axios": "^0.27.1", "contentful-sdk-core": "^7.0.1", "fast-copy": "^2.1.1", "lodash.isplainobject": "^4.0.6" }, "engines": { - "node": ">=6" + "node": ">=14" + } + }, + "node_modules/contentful-export/node_modules/form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "dev": true, + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" } }, "node_modules/contentful-export/node_modules/yargs": { - "version": "17.3.1", + "version": "17.5.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.5.1.tgz", + "integrity": "sha512-t6YAJcxDkNX7NFYiVtKvWUz8l+PaKTLiL63mJYWR2GnHq2gjEWISzsLp9wg3aY36dY1j+gfIEL3pIF+XlJJfbA==", "dev": true, - "license": "MIT", "dependencies": { "cliui": "^7.0.2", "escalade": "^3.1.1", @@ -14479,28 +14574,30 @@ } }, "node_modules/contentful-export/node_modules/yargs-parser": { - "version": "21.0.0", + "version": "21.0.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.0.1.tgz", + "integrity": "sha512-9BK1jFpLzJROCI5TzwZL/TU4gqjK5xiHV/RfWLOahrjAko/e4DJkRDZQXfvqAsiZzzYhgAzbgz6lg48jcm4GLg==", "dev": true, - "license": "ISC", "engines": { "node": ">=12" } }, "node_modules/contentful-import": { - "version": "8.2.28", + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/contentful-import/-/contentful-import-8.3.2.tgz", + "integrity": "sha512-OQrzlSj9p2g3/kNrkQRrMxPvdxgL6iwD6E8qQzZLlVnGpZKhmZYfPBv9qZfFCHrqzj49JzwIWLkAp0b2nSGC1A==", "dev": true, - "license": "MIT", "dependencies": { "bluebird": "^3.5.1", "cli-table3": "^0.6.0", - "contentful-batch-libs": "^9.2.1", + "contentful-batch-libs": "^9.4.1", "contentful-management": "^7.45.5", + "date-fns": "^2.28.0", "joi": "^17.5.0", "listr": "^0.14.1", "listr-update-renderer": "^0.5.0", "listr-verbose-renderer": "^0.6.0", "lodash": "^4.17.10", - "moment": "^2.22.2", "p-queue": "^6.6.2", "yargs": "^17.3.0" }, @@ -14512,9 +14609,10 @@ } }, "node_modules/contentful-import/node_modules/yargs": { - "version": "17.3.1", + "version": "17.5.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.5.1.tgz", + "integrity": "sha512-t6YAJcxDkNX7NFYiVtKvWUz8l+PaKTLiL63mJYWR2GnHq2gjEWISzsLp9wg3aY36dY1j+gfIEL3pIF+XlJJfbA==", "dev": true, - "license": "MIT", "dependencies": { "cliui": "^7.0.2", "escalade": "^3.1.1", @@ -14529,9 +14627,10 @@ } }, "node_modules/contentful-import/node_modules/yargs-parser": { - "version": "21.0.0", + "version": "21.0.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.0.1.tgz", + "integrity": "sha512-9BK1jFpLzJROCI5TzwZL/TU4gqjK5xiHV/RfWLOahrjAko/e4DJkRDZQXfvqAsiZzzYhgAzbgz6lg48jcm4GLg==", "dev": true, - "license": "ISC", "engines": { "node": ">=12" } @@ -14576,9 +14675,10 @@ } }, "node_modules/contentful-migration": { - "version": "4.8.0", + "version": "4.9.2", + "resolved": "https://registry.npmjs.org/contentful-migration/-/contentful-migration-4.9.2.tgz", + "integrity": "sha512-QNZAtag1MRaAdB5nZ/Rb/+N5AjpqE+jc3cJ/8W7gGOvV0T+li4I0NIjZOv6JuggfZyAuhNUU/jZaswzbish+/Q==", "dev": true, - "license": "MIT", "dependencies": { "axios": "^0.21.0", "bluebird": "^3.7.2", @@ -14893,8 +14993,9 @@ "license": "MIT" }, "node_modules/cookie": { - "version": "0.4.2", - "license": "MIT", + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", + "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", "engines": { "node": ">= 0.6" } @@ -15616,16 +15717,18 @@ }, "node_modules/data-uri-to-buffer": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-4.0.0.tgz", + "integrity": "sha512-Vr3mLBA8qWmcuschSLAOogKgQ/Jwxulv3RNE4FXnYWRGujzrRWQI4m12fQqRkwX06C0KanhLr4hK+GydchZsaA==", "dev": true, - "license": "MIT", "engines": { "node": ">= 12" } }, "node_modules/date-fns": { "version": "2.28.0", + "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.28.0.tgz", + "integrity": "sha512-8d35hViGYx/QH0icHYCeLmsLmMUheMmTyV9Fcm6gvNwdw31yXXH+O85sOBJ+OLnLQMKZowvpKb6FgMIQjcpvQw==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.11" }, @@ -15722,24 +15825,6 @@ "node": ">=0.10" } }, - "node_modules/decompress": { - "version": "4.2.1", - "dev": true, - "license": "MIT", - "dependencies": { - "decompress-tar": "^4.0.0", - "decompress-tarbz2": "^4.0.0", - "decompress-targz": "^4.0.0", - "decompress-unzip": "^4.0.1", - "graceful-fs": "^4.1.10", - "make-dir": "^1.0.0", - "pify": "^2.3.0", - "strip-dirs": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/decompress-response": { "version": "5.0.0", "dev": true, @@ -15751,164 +15836,6 @@ "node": ">=10" } }, - "node_modules/decompress-tar": { - "version": "4.1.1", - "dev": true, - "license": "MIT", - "dependencies": { - "file-type": "^5.2.0", - "is-stream": "^1.1.0", - "tar-stream": "^1.5.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/decompress-tar/node_modules/file-type": { - "version": "5.2.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/decompress-tar/node_modules/is-stream": { - "version": "1.1.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/decompress-tarbz2": { - "version": "4.1.1", - "dev": true, - "license": "MIT", - "dependencies": { - "decompress-tar": "^4.1.0", - "file-type": "^6.1.0", - "is-stream": "^1.1.0", - "seek-bzip": "^1.0.5", - "unbzip2-stream": "^1.0.9" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/decompress-tarbz2/node_modules/file-type": { - "version": "6.2.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/decompress-tarbz2/node_modules/is-stream": { - "version": "1.1.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/decompress-targz": { - "version": "4.1.1", - "dev": true, - "license": "MIT", - "dependencies": { - "decompress-tar": "^4.1.1", - "file-type": "^5.2.0", - "is-stream": "^1.1.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/decompress-targz/node_modules/file-type": { - "version": "5.2.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/decompress-targz/node_modules/is-stream": { - "version": "1.1.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/decompress-unzip": { - "version": "4.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "file-type": "^3.8.0", - "get-stream": "^2.2.0", - "pify": "^2.3.0", - "yauzl": "^2.4.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/decompress-unzip/node_modules/file-type": { - "version": "3.9.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/decompress-unzip/node_modules/get-stream": { - "version": "2.3.1", - "dev": true, - "license": "MIT", - "dependencies": { - "object-assign": "^4.0.1", - "pinkie-promise": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/decompress-unzip/node_modules/pify": { - "version": "2.3.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/decompress/node_modules/make-dir": { - "version": "1.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "pify": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/decompress/node_modules/make-dir/node_modules/pify": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/decompress/node_modules/pify": { - "version": "2.3.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/dedent": { "version": "0.7.0", "dev": true, @@ -15967,13 +15894,18 @@ } }, "node_modules/define-properties": { - "version": "1.1.3", - "license": "MIT", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz", + "integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==", "dependencies": { - "object-keys": "^1.0.12" + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" }, "engines": { "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/define-property": { @@ -16228,6 +16160,7 @@ }, "node_modules/depd": { "version": "1.1.2", + "dev": true, "license": "MIT", "engines": { "node": ">= 0.6" @@ -16263,8 +16196,13 @@ } }, "node_modules/destroy": { - "version": "1.0.4", - "license": "MIT" + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } }, "node_modules/detab": { "version": "2.0.4", @@ -16477,255 +16415,6 @@ "version": "5.1.0", "license": "BSD-2-Clause" }, - "node_modules/download": { - "version": "8.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "archive-type": "^4.0.0", - "content-disposition": "^0.5.2", - "decompress": "^4.2.1", - "ext-name": "^5.0.0", - "file-type": "^11.1.0", - "filenamify": "^3.0.0", - "get-stream": "^4.1.0", - "got": "^8.3.1", - "make-dir": "^2.1.0", - "p-event": "^2.1.0", - "pify": "^4.0.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/download/node_modules/@sindresorhus/is": { - "version": "0.7.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/download/node_modules/cacheable-request": { - "version": "2.1.4", - "dev": true, - "license": "MIT", - "dependencies": { - "clone-response": "1.0.2", - "get-stream": "3.0.0", - "http-cache-semantics": "3.8.1", - "keyv": "3.0.0", - "lowercase-keys": "1.0.0", - "normalize-url": "2.0.1", - "responselike": "1.0.2" - } - }, - "node_modules/download/node_modules/cacheable-request/node_modules/get-stream": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/download/node_modules/cacheable-request/node_modules/lowercase-keys": { - "version": "1.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/download/node_modules/decompress-response": { - "version": "3.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "mimic-response": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/download/node_modules/get-stream": { - "version": "4.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "pump": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/download/node_modules/got": { - "version": "8.3.2", - "dev": true, - "license": "MIT", - "dependencies": { - "@sindresorhus/is": "^0.7.0", - "cacheable-request": "^2.1.1", - "decompress-response": "^3.3.0", - "duplexer3": "^0.1.4", - "get-stream": "^3.0.0", - "into-stream": "^3.1.0", - "is-retry-allowed": "^1.1.0", - "isurl": "^1.0.0-alpha5", - "lowercase-keys": "^1.0.0", - "mimic-response": "^1.0.0", - "p-cancelable": "^0.4.0", - "p-timeout": "^2.0.1", - "pify": "^3.0.0", - "safe-buffer": "^5.1.1", - "timed-out": "^4.0.1", - "url-parse-lax": "^3.0.0", - "url-to-options": "^1.0.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/download/node_modules/got/node_modules/get-stream": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/download/node_modules/got/node_modules/pify": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/download/node_modules/http-cache-semantics": { - "version": "3.8.1", - "dev": true, - "license": "BSD-2-Clause" - }, - "node_modules/download/node_modules/json-buffer": { - "version": "3.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/download/node_modules/keyv": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "json-buffer": "3.0.0" - } - }, - "node_modules/download/node_modules/lowercase-keys": { - "version": "1.0.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/download/node_modules/mimic-response": { - "version": "1.0.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/download/node_modules/normalize-url": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "prepend-http": "^2.0.0", - "query-string": "^5.0.1", - "sort-keys": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/download/node_modules/p-cancelable": { - "version": "0.4.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/download/node_modules/p-event": { - "version": "2.3.1", - "dev": true, - "license": "MIT", - "dependencies": { - "p-timeout": "^2.0.1" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/download/node_modules/p-timeout": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "p-finally": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/download/node_modules/pify": { - "version": "4.0.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/download/node_modules/query-string": { - "version": "5.1.1", - "dev": true, - "license": "MIT", - "dependencies": { - "decode-uri-component": "^0.2.0", - "object-assign": "^4.1.0", - "strict-uri-encode": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/download/node_modules/responselike": { - "version": "1.0.2", - "dev": true, - "license": "MIT", - "dependencies": { - "lowercase-keys": "^1.0.0" - } - }, - "node_modules/download/node_modules/sort-keys": { - "version": "2.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "is-plain-obj": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/download/node_modules/strict-uri-encode": { - "version": "1.1.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/downshift": { "version": "6.1.7", "license": "MIT", @@ -16813,15 +16502,17 @@ }, "node_modules/ecdsa-sig-formatter": { "version": "1.0.11", + "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz", + "integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==", "dev": true, - "license": "Apache-2.0", "dependencies": { "safe-buffer": "^5.0.1" } }, "node_modules/ee-first": { "version": "1.1.1", - "license": "MIT" + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" }, "node_modules/ejs": { "version": "3.1.6", @@ -16919,7 +16610,8 @@ }, "node_modules/encodeurl": { "version": "1.0.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", "engines": { "node": ">= 0.8" } @@ -17020,29 +16712,33 @@ } }, "node_modules/es-abstract": { - "version": "1.19.1", - "license": "MIT", + "version": "1.20.1", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.20.1.tgz", + "integrity": "sha512-WEm2oBhfoI2sImeM4OF2zE2V3BYdSF+KnSi9Sidz51fQHd7+JuF8Xgcj9/0o+OWeIeIS/MiuNnlruQrJf16GQA==", "dependencies": { "call-bind": "^1.0.2", "es-to-primitive": "^1.2.1", "function-bind": "^1.1.1", + "function.prototype.name": "^1.1.5", "get-intrinsic": "^1.1.1", "get-symbol-description": "^1.0.0", "has": "^1.0.3", - "has-symbols": "^1.0.2", + "has-property-descriptors": "^1.0.0", + "has-symbols": "^1.0.3", "internal-slot": "^1.0.3", "is-callable": "^1.2.4", - "is-negative-zero": "^2.0.1", + "is-negative-zero": "^2.0.2", "is-regex": "^1.1.4", - "is-shared-array-buffer": "^1.0.1", + "is-shared-array-buffer": "^1.0.2", "is-string": "^1.0.7", - "is-weakref": "^1.0.1", - "object-inspect": "^1.11.0", + "is-weakref": "^1.0.2", + "object-inspect": "^1.12.0", "object-keys": "^1.1.1", "object.assign": "^4.1.2", - "string.prototype.trimend": "^1.0.4", - "string.prototype.trimstart": "^1.0.4", - "unbox-primitive": "^1.0.1" + "regexp.prototype.flags": "^1.4.3", + "string.prototype.trimend": "^1.0.5", + "string.prototype.trimstart": "^1.0.5", + "unbox-primitive": "^1.0.2" }, "engines": { "node": ">= 0.4" @@ -17080,6 +16776,14 @@ "version": "0.9.3", "license": "MIT" }, + "node_modules/es-shim-unscopables": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz", + "integrity": "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==", + "dependencies": { + "has": "^1.0.3" + } + }, "node_modules/es-to-primitive": { "version": "1.2.1", "license": "MIT", @@ -17104,13 +16808,15 @@ }, "node_modules/es6-promise": { "version": "4.2.8", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz", + "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==", + "dev": true }, "node_modules/es6-promisify": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz", + "integrity": "sha512-C+d6UdsYDk0lMebHNR4S2NybQMMngAOnOwYBQjTOiv0MkoJMP0Myw2mgpDLBcpfCmRLxyFqYhS/CfOENq4SJhQ==", "dev": true, - "license": "MIT", "dependencies": { "es6-promise": "^4.0.3" } @@ -17932,36 +17638,38 @@ "license": "MIT" }, "node_modules/express": { - "version": "4.17.3", - "license": "MIT", + "version": "4.18.1", + "resolved": "https://registry.npmjs.org/express/-/express-4.18.1.tgz", + "integrity": "sha512-zZBcOX9TfehHQhtupq57OF8lFZ3UZi08Y97dwFCkD8p9d/d2Y3M+ykKcwaMDEL+4qyUolgBDX6AblpR3fL212Q==", "dependencies": { "accepts": "~1.3.8", "array-flatten": "1.1.1", - "body-parser": "1.19.2", + "body-parser": "1.20.0", "content-disposition": "0.5.4", "content-type": "~1.0.4", - "cookie": "0.4.2", + "cookie": "0.5.0", "cookie-signature": "1.0.6", "debug": "2.6.9", - "depd": "~1.1.2", + "depd": "2.0.0", "encodeurl": "~1.0.2", "escape-html": "~1.0.3", "etag": "~1.8.1", - "finalhandler": "~1.1.2", + "finalhandler": "1.2.0", "fresh": "0.5.2", + "http-errors": "2.0.0", "merge-descriptors": "1.0.1", "methods": "~1.1.2", - "on-finished": "~2.3.0", + "on-finished": "2.4.1", "parseurl": "~1.3.3", "path-to-regexp": "0.1.7", "proxy-addr": "~2.0.7", - "qs": "6.9.7", + "qs": "6.10.3", "range-parser": "~1.2.1", "safe-buffer": "5.2.1", - "send": "0.17.2", - "serve-static": "1.14.2", + "send": "0.18.0", + "serve-static": "1.15.0", "setprototypeof": "1.2.0", - "statuses": "~1.5.0", + "statuses": "2.0.1", "type-is": "~1.6.18", "utils-merge": "1.0.1", "vary": "~1.1.2" @@ -17977,42 +17685,17 @@ "ms": "2.0.0" } }, - "node_modules/express/node_modules/ms": { + "node_modules/express/node_modules/depd": { "version": "2.0.0", - "license": "MIT" - }, - "node_modules/express/node_modules/qs": { - "version": "6.9.7", - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/ext-list": { - "version": "2.2.2", - "dev": true, - "license": "MIT", - "dependencies": { - "mime-db": "^1.28.0" - }, + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", "engines": { - "node": ">=0.10.0" + "node": ">= 0.8" } }, - "node_modules/ext-name": { - "version": "5.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "ext-list": "^2.0.0", - "sort-keys-length": "^1.0.0" - }, - "engines": { - "node": ">=4" - } + "node_modules/express/node_modules/ms": { + "version": "2.0.0", + "license": "MIT" }, "node_modules/extend": { "version": "3.0.2", @@ -18068,6 +17751,41 @@ "node": ">=0.10.0" } }, + "node_modules/extract-zip": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz", + "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==", + "dev": true, + "dependencies": { + "debug": "^4.1.1", + "get-stream": "^5.1.0", + "yauzl": "^2.10.0" + }, + "bin": { + "extract-zip": "cli.js" + }, + "engines": { + "node": ">= 10.17.0" + }, + "optionalDependencies": { + "@types/yauzl": "^2.9.1" + } + }, + "node_modules/extract-zip/node_modules/get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "dev": true, + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/extsprintf": { "version": "1.3.0", "dev": true, @@ -18149,14 +17867,17 @@ }, "node_modules/fd-slicer": { "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", + "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", "dev": true, - "license": "MIT", "dependencies": { "pend": "~1.2.0" } }, "node_modules/fetch-blob": { - "version": "3.1.4", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/fetch-blob/-/fetch-blob-3.2.0.tgz", + "integrity": "sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==", "dev": true, "funding": [ { @@ -18168,7 +17889,6 @@ "url": "https://paypal.me/jimmywarting" } ], - "license": "MIT", "dependencies": { "node-domexception": "^1.0.0", "web-streams-polyfill": "^3.0.3" @@ -18297,14 +18017,6 @@ "rimraf": "bin.js" } }, - "node_modules/file-type": { - "version": "11.1.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, "node_modules/file-uri-to-path": { "version": "1.0.0", "license": "MIT", @@ -18318,27 +18030,6 @@ "minimatch": "^3.0.4" } }, - "node_modules/filename-reserved-regex": { - "version": "2.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/filenamify": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "filename-reserved-regex": "^2.0.0", - "strip-outer": "^1.0.0", - "trim-repeated": "^1.0.0" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/fill-range": { "version": "7.0.1", "license": "MIT", @@ -18358,15 +18049,16 @@ } }, "node_modules/finalhandler": { - "version": "1.1.2", - "license": "MIT", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", + "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", "dependencies": { "debug": "2.6.9", "encodeurl": "~1.0.2", "escape-html": "~1.0.3", - "on-finished": "~2.3.0", + "on-finished": "2.4.1", "parseurl": "~1.3.3", - "statuses": "~1.5.0", + "statuses": "2.0.1", "unpipe": "~1.0.0" }, "engines": { @@ -18375,14 +18067,16 @@ }, "node_modules/finalhandler/node_modules/debug": { "version": "2.6.9", - "license": "MIT", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dependencies": { "ms": "2.0.0" } }, "node_modules/finalhandler/node_modules/ms": { "version": "2.0.0", - "license": "MIT" + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" }, "node_modules/find-cache-dir": { "version": "3.3.2", @@ -18763,8 +18457,9 @@ }, "node_modules/formdata-polyfill": { "version": "4.0.10", + "resolved": "https://registry.npmjs.org/formdata-polyfill/-/formdata-polyfill-4.0.10.tgz", + "integrity": "sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==", "dev": true, - "license": "MIT", "dependencies": { "fetch-blob": "^3.1.2" }, @@ -18878,14 +18573,10 @@ "js-yaml": "bin/js-yaml.js" } }, - "node_modules/fs-constants": { - "version": "1.0.0", - "dev": true, - "license": "MIT" - }, "node_modules/fs-extra": { - "version": "10.0.0", - "license": "MIT", + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", "dependencies": { "graceful-fs": "^4.2.0", "jsonfile": "^6.0.1", @@ -19811,8 +19502,9 @@ } }, "node_modules/has-bigints": { - "version": "1.0.1", - "license": "MIT", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", + "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -19844,17 +19536,21 @@ "node": ">=0.10.0" } }, - "node_modules/has-symbol-support-x": { - "version": "1.4.2", - "dev": true, - "license": "MIT", - "engines": { - "node": "*" + "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==", + "dependencies": { + "get-intrinsic": "^1.1.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/has-symbols": { - "version": "1.0.2", - "license": "MIT", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", "engines": { "node": ">= 0.4" }, @@ -19862,17 +19558,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/has-to-string-tag-x": { - "version": "1.4.1", - "dev": true, - "license": "MIT", - "dependencies": { - "has-symbol-support-x": "^1.4.1" - }, - "engines": { - "node": "*" - } - }, "node_modules/has-tostringtag": { "version": "1.0.0", "license": "MIT", @@ -20341,8 +20026,9 @@ }, "node_modules/hoopy": { "version": "0.1.4", + "resolved": "https://registry.npmjs.org/hoopy/-/hoopy-0.1.4.tgz", + "integrity": "sha512-HRcs+2mr52W0K+x8RzcLzuPPmVIKMSv97RGHy0Ea9y/mpcaK+xTrjICA04KAHi4GRzxliNqNJEFYWHghy3rSfQ==", "dev": true, - "license": "MIT", "engines": { "node": ">= 6.0.0" } @@ -20358,6 +20044,13 @@ "node": ">=10" } }, + "node_modules/hpagent": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/hpagent/-/hpagent-0.1.2.tgz", + "integrity": "sha512-ePqFXHtSQWAFXYmj+JtOTHr84iNrII4/QRlAAPPE+zqnKy4xJo7Ie1Y4kC7AdB+LxLxSTTzBMASsEcy0q8YyvQ==", + "dev": true, + "optional": true + }, "node_modules/html-entities": { "version": "2.3.2", "license": "MIT" @@ -20586,17 +20279,26 @@ "license": "BSD-2-Clause" }, "node_modules/http-errors": { - "version": "1.8.1", - "license": "MIT", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", "dependencies": { - "depd": "~1.1.2", + "depd": "2.0.0", "inherits": "2.0.4", "setprototypeof": "1.2.0", - "statuses": ">= 1.5.0 < 2", + "statuses": "2.0.1", "toidentifier": "1.0.1" }, "engines": { - "node": ">= 0.6" + "node": ">= 0.8" + } + }, + "node_modules/http-errors/node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "engines": { + "node": ">= 0.8" } }, "node_modules/http-proxy-agent": { @@ -21250,18 +20952,6 @@ "node": ">= 0.10" } }, - "node_modules/into-stream": { - "version": "3.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "from2": "^2.1.1", - "p-is-promise": "^1.1.0" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/invariant": { "version": "2.2.2", "license": "BSD-3-Clause", @@ -21337,7 +21027,8 @@ }, "node_modules/is-bigint": { "version": "1.0.4", - "license": "MIT", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", "dependencies": { "has-bigints": "^1.0.1" }, @@ -21357,7 +21048,8 @@ }, "node_modules/is-boolean-object": { "version": "1.1.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", "dependencies": { "call-bind": "^1.0.2", "has-tostringtag": "^1.0.0" @@ -21583,11 +21275,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-natural-number": { - "version": "4.0.1", - "dev": true, - "license": "MIT" - }, "node_modules/is-negative-zero": { "version": "2.0.2", "license": "MIT", @@ -21618,8 +21305,9 @@ } }, "node_modules/is-number-object": { - "version": "1.0.6", - "license": "MIT", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", + "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", "dependencies": { "has-tostringtag": "^1.0.0" }, @@ -21735,14 +21423,6 @@ "node": ">=6" } }, - "node_modules/is-retry-allowed": { - "version": "1.2.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/is-set": { "version": "2.0.2", "license": "MIT", @@ -21751,8 +21431,12 @@ } }, "node_modules/is-shared-array-buffer": { - "version": "1.0.1", - "license": "MIT", + "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==", + "dependencies": { + "call-bind": "^1.0.2" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -21836,6 +21520,12 @@ "upper-case": "^1.1.0" } }, + "node_modules/is-url": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/is-url/-/is-url-1.2.4.tgz", + "integrity": "sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==", + "dev": true + }, "node_modules/is-weakref": { "version": "1.0.2", "license": "MIT", @@ -21938,18 +21628,6 @@ "semver": "bin/semver.js" } }, - "node_modules/isurl": { - "version": "1.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "has-to-string-tag-x": "^1.2.0", - "is-object": "^1.0.1" - }, - "engines": { - "node": ">= 4" - } - }, "node_modules/iterate-iterator": { "version": "1.0.2", "license": "MIT", @@ -22270,8 +21948,9 @@ }, "node_modules/jsonwebtoken": { "version": "8.5.1", + "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-8.5.1.tgz", + "integrity": "sha512-XjwVfRS6jTMsqYs0EsuJ4LGxXV14zQybNd4L2r0UvbVnSF9Af8x7p5MzbJ90Ioz/9TI41/hTCvznF/loiSzn8w==", "dev": true, - "license": "MIT", "dependencies": { "jws": "^3.2.2", "lodash.includes": "^4.3.0", @@ -22291,8 +21970,9 @@ }, "node_modules/jsonwebtoken/node_modules/semver": { "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", "dev": true, - "license": "ISC", "bin": { "semver": "bin/semver" } @@ -22320,8 +22000,9 @@ }, "node_modules/jwa": { "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jwa/-/jwa-1.4.1.tgz", + "integrity": "sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==", "dev": true, - "license": "MIT", "dependencies": { "buffer-equal-constant-time": "1.0.1", "ecdsa-sig-formatter": "1.0.11", @@ -22330,8 +22011,9 @@ }, "node_modules/jws": { "version": "3.2.2", + "resolved": "https://registry.npmjs.org/jws/-/jws-3.2.2.tgz", + "integrity": "sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==", "dev": true, - "license": "MIT", "dependencies": { "jwa": "^1.4.1", "safe-buffer": "^5.0.1" @@ -22792,8 +22474,9 @@ }, "node_modules/listr-verbose-renderer": { "version": "0.6.0", + "resolved": "https://registry.npmjs.org/listr-verbose-renderer/-/listr-verbose-renderer-0.6.0.tgz", + "integrity": "sha512-P3bA/giMu432bs3gHiKXKOIHlWanCIlRhbhCfgKNgCoyvTvZsdbfkgX1BvThYXhm36cS8pOX3Z5vxXBFZC+NQw==", "dev": true, - "license": "MIT", "dependencies": { "chalk": "^2.4.1", "cli-cursor": "^2.1.0", @@ -22806,8 +22489,9 @@ }, "node_modules/listr-verbose-renderer/node_modules/ansi-styles": { "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, - "license": "MIT", "dependencies": { "color-convert": "^1.9.0" }, @@ -22817,8 +22501,9 @@ }, "node_modules/listr-verbose-renderer/node_modules/chalk": { "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dev": true, - "license": "MIT", "dependencies": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", @@ -22830,8 +22515,9 @@ }, "node_modules/listr-verbose-renderer/node_modules/cli-cursor": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", + "integrity": "sha512-8lgKz8LmCRYZZQDpRyT2m5rKJ08TnU4tR9FFFW2rxpxR1FzWi4PQ/NfyODchAatHaUgnSPVcx/R5w6NuTBzFiw==", "dev": true, - "license": "MIT", "dependencies": { "restore-cursor": "^2.0.0" }, @@ -22841,21 +22527,24 @@ }, "node_modules/listr-verbose-renderer/node_modules/color-convert": { "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", "dev": true, - "license": "MIT", "dependencies": { "color-name": "1.1.3" } }, "node_modules/listr-verbose-renderer/node_modules/color-name": { "version": "1.1.3", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true }, "node_modules/listr-verbose-renderer/node_modules/figures": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", + "integrity": "sha512-Oa2M9atig69ZkfwiApY8F2Yy+tzMbazyvqv21R0NsSC8floSOC09BbT1ITWAdoMGQvJ/aZnR1KMwdx9tvHnTNA==", "dev": true, - "license": "MIT", "dependencies": { "escape-string-regexp": "^1.0.5" }, @@ -22865,24 +22554,27 @@ }, "node_modules/listr-verbose-renderer/node_modules/has-flag": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", "dev": true, - "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/listr-verbose-renderer/node_modules/mimic-fn": { "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", + "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/listr-verbose-renderer/node_modules/onetime": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", + "integrity": "sha512-oyyPpiMaKARvvcgip+JV+7zci5L8D1W9RZIz2l1o08AM3pfspitVWnPt3mzHcBPp12oYMTy0pqrFs/C+m3EwsQ==", "dev": true, - "license": "MIT", "dependencies": { "mimic-fn": "^1.0.0" }, @@ -22892,8 +22584,9 @@ }, "node_modules/listr-verbose-renderer/node_modules/restore-cursor": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", + "integrity": "sha512-6IzJLuGi4+R14vwagDHX+JrXmPVtPpn4mffDJ1UdR7/Edm87fl6yi8mMBIVvFtJaNTUvjughmW4hwLhRG7gC1Q==", "dev": true, - "license": "MIT", "dependencies": { "onetime": "^2.0.0", "signal-exit": "^3.0.2" @@ -22904,8 +22597,9 @@ }, "node_modules/listr-verbose-renderer/node_modules/supports-color": { "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, - "license": "MIT", "dependencies": { "has-flag": "^3.0.0" }, @@ -23260,6 +22954,12 @@ "dev": true, "license": "MIT" }, + "node_modules/lodash.clonedeep": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", + "integrity": "sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ==", + "dev": true + }, "node_modules/lodash.debounce": { "version": "4.0.8", "license": "MIT" @@ -23276,18 +22976,21 @@ }, "node_modules/lodash.includes": { "version": "4.3.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz", + "integrity": "sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w==", + "dev": true }, "node_modules/lodash.isboolean": { "version": "3.0.3", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz", + "integrity": "sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==", + "dev": true }, "node_modules/lodash.isinteger": { "version": "4.0.4", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz", + "integrity": "sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA==", + "dev": true }, "node_modules/lodash.ismatch": { "version": "4.4.0", @@ -23296,8 +22999,9 @@ }, "node_modules/lodash.isnumber": { "version": "3.0.3", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz", + "integrity": "sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw==", + "dev": true }, "node_modules/lodash.isplainobject": { "version": "4.0.6", @@ -23316,8 +23020,15 @@ }, "node_modules/lodash.once": { "version": "4.1.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", + "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==", + "dev": true + }, + "node_modules/lodash.startcase": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.startcase/-/lodash.startcase-4.4.0.tgz", + "integrity": "sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg==", + "dev": true }, "node_modules/lodash.template": { "version": "4.5.0", @@ -23729,11 +23440,12 @@ } }, "node_modules/marked": { - "version": "3.0.8", + "version": "4.0.18", + "resolved": "https://registry.npmjs.org/marked/-/marked-4.0.18.tgz", + "integrity": "sha512-wbLDJ7Zh0sqA0Vdg6aqlbT+yPxqLblpAZh1mK2+AO2twQkPywvvqQNfEPVwSSRjZ7dZcdeVBIAgiO7MMp3Dszw==", "dev": true, - "license": "MIT", "bin": { - "marked": "bin/marked" + "marked": "bin/marked.js" }, "engines": { "node": ">= 12" @@ -24477,7 +24189,8 @@ }, "node_modules/media-typer": { "version": "0.3.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", "engines": { "node": ">= 0.6" } @@ -25651,7 +25364,8 @@ }, "node_modules/mime": { "version": "1.6.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", "bin": { "mime": "cli.js" }, @@ -52189,6 +51903,109 @@ "node": ">= 10" } }, + "node_modules/ngrok": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/ngrok/-/ngrok-4.3.1.tgz", + "integrity": "sha512-s0joO2liKYiGTVARyzL8hfLIXAZT03GDK3oJqsZK6d61Es+HCx77j8E9ysUbtkMEyvBgYmIMr8taQNsvQt4/DQ==", + "dev": true, + "hasInstallScript": true, + "dependencies": { + "@types/node": "^8.10.50", + "extract-zip": "^2.0.1", + "got": "^11.5.1", + "lodash.clonedeep": "^4.5.0", + "uuid": "^7.0.0 || ^8.0.0", + "yaml": "^1.10.0" + }, + "bin": { + "ngrok": "bin/ngrok" + }, + "engines": { + "node": ">=10.19.0 <14 || >=14.2" + }, + "optionalDependencies": { + "hpagent": "^0.1.2" + } + }, + "node_modules/ngrok/node_modules/@sindresorhus/is": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.6.0.tgz", + "integrity": "sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/is?sponsor=1" + } + }, + "node_modules/ngrok/node_modules/@types/node": { + "version": "8.10.66", + "resolved": "https://registry.npmjs.org/@types/node/-/node-8.10.66.tgz", + "integrity": "sha512-tktOkFUA4kXx2hhhrB8bIFb5TbwzS4uOhKEmwiD+NoiL0qtP2OQ9mFldbgD4dV1djrlBYP6eBuQZiWjuHUpqFw==", + "dev": true + }, + "node_modules/ngrok/node_modules/cacheable-lookup": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz", + "integrity": "sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==", + "dev": true, + "engines": { + "node": ">=10.6.0" + } + }, + "node_modules/ngrok/node_modules/decompress-response": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", + "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", + "dev": true, + "dependencies": { + "mimic-response": "^3.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ngrok/node_modules/got": { + "version": "11.8.5", + "resolved": "https://registry.npmjs.org/got/-/got-11.8.5.tgz", + "integrity": "sha512-o0Je4NvQObAuZPHLFoRSkdG2lTgtcynqymzg2Vupdx6PorhaT5MCbIyXG6d4D94kk8ZG57QeosgdiqfJWhEhlQ==", + "dev": true, + "dependencies": { + "@sindresorhus/is": "^4.0.0", + "@szmarczak/http-timer": "^4.0.5", + "@types/cacheable-request": "^6.0.1", + "@types/responselike": "^1.0.0", + "cacheable-lookup": "^5.0.3", + "cacheable-request": "^7.0.2", + "decompress-response": "^6.0.0", + "http2-wrapper": "^1.0.0-beta.5.2", + "lowercase-keys": "^2.0.0", + "p-cancelable": "^2.0.0", + "responselike": "^2.0.0" + }, + "engines": { + "node": ">=10.19.0" + }, + "funding": { + "url": "https://github.com/sindresorhus/got?sponsor=1" + } + }, + "node_modules/ngrok/node_modules/mimic-response": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", + "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/nice-try": { "version": "1.0.5", "license": "MIT" @@ -52301,6 +52118,8 @@ }, "node_modules/node-domexception": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/node-domexception/-/node-domexception-1.0.0.tgz", + "integrity": "sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==", "dev": true, "funding": [ { @@ -52312,7 +52131,6 @@ "url": "https://paypal.me/jimmywarting" } ], - "license": "MIT", "engines": { "node": ">=10.5.0" } @@ -53060,8 +52878,9 @@ } }, "node_modules/on-finished": { - "version": "2.3.0", - "license": "MIT", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", "dependencies": { "ee-first": "1.1.1" }, @@ -53276,14 +53095,6 @@ "node": ">=4" } }, - "node_modules/p-is-promise": { - "version": "1.1.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, "node_modules/p-limit": { "version": "3.1.0", "license": "MIT", @@ -54057,8 +53868,9 @@ }, "node_modules/pend": { "version": "1.2.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==", + "dev": true }, "node_modules/performance-now": { "version": "2.1.0", @@ -54716,14 +54528,18 @@ } }, "node_modules/prettier": { - "version": "2.5.1", + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.7.1.tgz", + "integrity": "sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g==", "dev": true, - "license": "MIT", "bin": { "prettier": "bin-prettier.js" }, "engines": { "node": ">=10.13.0" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" } }, "node_modules/prettier-linter-helpers": { @@ -55361,11 +55177,12 @@ } }, "node_modules/raw-body": { - "version": "2.4.3", - "license": "MIT", + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", + "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", "dependencies": { "bytes": "3.1.2", - "http-errors": "1.8.1", + "http-errors": "2.0.0", "iconv-lite": "0.4.24", "unpipe": "1.0.0" }, @@ -55943,11 +55760,12 @@ } }, "node_modules/recast": { - "version": "0.20.5", + "version": "0.21.1", + "resolved": "https://registry.npmjs.org/recast/-/recast-0.21.1.tgz", + "integrity": "sha512-PF61BHLaOGF5oIKTpSrDM6Qfy2d7DIx5qblgqG+wjqHuFH97OgAqBYFIJwEuHTrM6pQGT17IJ8D0C/jVu/0tig==", "dev": true, - "license": "MIT", "dependencies": { - "ast-types": "0.14.2", + "ast-types": "0.15.2", "esprima": "~4.0.0", "source-map": "~0.6.1", "tslib": "^2.0.1" @@ -55956,6 +55774,18 @@ "node": ">= 4" } }, + "node_modules/recast/node_modules/ast-types": { + "version": "0.15.2", + "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.15.2.tgz", + "integrity": "sha512-c27loCv9QkZinsa5ProX751khO9DJl/AcB5c2KNtA6NRvHKS0PgLfcftz72KVq504vB0Gku5s2kUZzDBvQWvHg==", + "dev": true, + "dependencies": { + "tslib": "^2.0.1" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/recursive-copy": { "version": "2.0.11", "license": "ISC", @@ -56179,11 +56009,13 @@ } }, "node_modules/regexp.prototype.flags": { - "version": "1.4.1", - "license": "MIT", + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz", + "integrity": "sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==", "dependencies": { "call-bind": "^1.0.2", - "define-properties": "^1.1.3" + "define-properties": "^1.1.3", + "functions-have-names": "^1.2.2" }, "engines": { "node": ">= 0.4" @@ -57274,37 +57106,6 @@ "node": ">= 6" } }, - "node_modules/request-promise": { - "version": "4.2.6", - "dev": true, - "license": "ISC", - "dependencies": { - "bluebird": "^3.5.0", - "request-promise-core": "1.1.4", - "stealthy-require": "^1.1.1", - "tough-cookie": "^2.3.3" - }, - "engines": { - "node": ">=0.10.0" - }, - "peerDependencies": { - "request": "^2.34" - } - }, - "node_modules/request-promise-core": { - "version": "1.1.4", - "dev": true, - "license": "ISC", - "dependencies": { - "lodash": "^4.17.19" - }, - "engines": { - "node": ">=0.10.0" - }, - "peerDependencies": { - "request": "^2.34" - } - }, "node_modules/request/node_modules/qs": { "version": "6.5.3", "dev": true, @@ -58230,18 +58031,6 @@ "node": ">=4" } }, - "node_modules/seek-bzip": { - "version": "1.0.6", - "dev": true, - "license": "MIT", - "dependencies": { - "commander": "^2.8.1" - }, - "bin": { - "seek-bunzip": "bin/seek-bunzip", - "seek-table": "bin/seek-bzip-table" - } - }, "node_modules/semver": { "version": "7.3.5", "license": "ISC", @@ -58277,22 +58066,23 @@ } }, "node_modules/send": { - "version": "0.17.2", - "license": "MIT", + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", + "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", "dependencies": { "debug": "2.6.9", - "depd": "~1.1.2", - "destroy": "~1.0.4", + "depd": "2.0.0", + "destroy": "1.2.0", "encodeurl": "~1.0.2", "escape-html": "~1.0.3", "etag": "~1.8.1", "fresh": "0.5.2", - "http-errors": "1.8.1", + "http-errors": "2.0.0", "mime": "1.6.0", "ms": "2.1.3", - "on-finished": "~2.3.0", + "on-finished": "2.4.1", "range-parser": "~1.2.1", - "statuses": "~1.5.0" + "statuses": "2.0.1" }, "engines": { "node": ">= 0.8.0" @@ -58300,18 +58090,29 @@ }, "node_modules/send/node_modules/debug": { "version": "2.6.9", - "license": "MIT", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dependencies": { "ms": "2.0.0" } }, "node_modules/send/node_modules/debug/node_modules/ms": { "version": "2.0.0", - "license": "MIT" + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/send/node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "engines": { + "node": ">= 0.8" + } }, "node_modules/send/node_modules/ms": { "version": "2.1.3", - "license": "MIT" + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" }, "node_modules/sentence-case": { "version": "2.1.1", @@ -58335,6 +58136,21 @@ "lower-case": "^1.1.1" } }, + "node_modules/serialize-error": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-11.0.0.tgz", + "integrity": "sha512-YKrURWDqcT3VGX/s/pCwaWtpfJEEaEw5Y4gAnQDku92b/HjVj4r4UhA5QrMVMFotymK2wIWs5xthny5SMFu7Vw==", + "dev": true, + "dependencies": { + "type-fest": "^2.12.2" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/serialize-javascript": { "version": "6.0.0", "license": "BSD-3-Clause", @@ -58342,6 +58158,12 @@ "randombytes": "^2.1.0" } }, + "node_modules/serializr": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/serializr/-/serializr-2.0.5.tgz", + "integrity": "sha512-tT+S+APvbkXjs+l7E6xEgLhMrfq0DmhoCucB79j9FI781deDndjTEZknzEyzMKeETGyqL0kQprvEMCiCTMUGFQ==", + "dev": true + }, "node_modules/serve-favicon": { "version": "2.5.0", "license": "MIT", @@ -58365,13 +58187,14 @@ "license": "MIT" }, "node_modules/serve-static": { - "version": "1.14.2", - "license": "MIT", + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", "dependencies": { "encodeurl": "~1.0.2", "escape-html": "~1.0.3", "parseurl": "~1.3.3", - "send": "0.17.2" + "send": "0.18.0" }, "engines": { "node": ">= 0.8.0" @@ -58417,7 +58240,8 @@ }, "node_modules/setprototypeof": { "version": "1.2.0", - "license": "ISC" + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" }, "node_modules/sha.js": { "version": "2.4.11", @@ -58739,28 +58563,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/sort-keys-length": { - "version": "1.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "sort-keys": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/sort-keys-length/node_modules/sort-keys": { - "version": "1.1.2", - "dev": true, - "license": "MIT", - "dependencies": { - "is-plain-obj": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/sort-keys/node_modules/is-plain-obj": { "version": "2.1.0", "dev": true, @@ -59248,18 +59050,11 @@ } }, "node_modules/statuses": { - "version": "1.5.0", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/stealthy-require": { - "version": "1.1.1", - "dev": true, - "license": "ISC", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", "engines": { - "node": ">=0.10.0" + "node": ">= 0.8" } }, "node_modules/store2": { @@ -59429,22 +59224,26 @@ } }, "node_modules/string.prototype.trimend": { - "version": "1.0.4", - "license": "MIT", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.5.tgz", + "integrity": "sha512-I7RGvmjV4pJ7O3kdf+LXFpVfdNOxtCW/2C8f6jNiW4+PQchwxkCDzlk1/7p+Wl4bqFIZeF47qAHXLuHHWKAxog==", "dependencies": { "call-bind": "^1.0.2", - "define-properties": "^1.1.3" + "define-properties": "^1.1.4", + "es-abstract": "^1.19.5" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/string.prototype.trimstart": { - "version": "1.0.4", - "license": "MIT", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.5.tgz", + "integrity": "sha512-THx16TJCGlsN0o6dl2o6ncWUsdgnLRSA23rRE5pyGBw/mLr3Ej/R2LaqCtgP8VNMGZsvMWnf9ooZPyY2bHvUFg==", "dependencies": { "call-bind": "^1.0.2", - "define-properties": "^1.1.3" + "define-properties": "^1.1.4", + "es-abstract": "^1.19.5" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -59500,14 +59299,6 @@ "node": ">=0.10.0" } }, - "node_modules/strip-dirs": { - "version": "2.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "is-natural-number": "^4.0.1" - } - }, "node_modules/strip-eof": { "version": "1.0.0", "license": "MIT", @@ -59542,17 +59333,6 @@ "node": ">=0.10.0" } }, - "node_modules/strip-outer": { - "version": "1.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "escape-string-regexp": "^1.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/strong-log-transformer": { "version": "2.1.0", "dev": true, @@ -60091,59 +59871,6 @@ "node": ">=4.5" } }, - "node_modules/tar-stream": { - "version": "1.6.2", - "dev": true, - "license": "MIT", - "dependencies": { - "bl": "^1.0.0", - "buffer-alloc": "^1.2.0", - "end-of-stream": "^1.0.0", - "fs-constants": "^1.0.0", - "readable-stream": "^2.3.0", - "to-buffer": "^1.1.1", - "xtend": "^4.0.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/tar-stream/node_modules/bl": { - "version": "1.2.3", - "dev": true, - "license": "MIT", - "dependencies": { - "readable-stream": "^2.3.5", - "safe-buffer": "^5.1.1" - } - }, - "node_modules/tar-stream/node_modules/readable-stream": { - "version": "2.3.7", - "dev": true, - "license": "MIT", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/tar-stream/node_modules/safe-buffer": { - "version": "5.1.2", - "dev": true, - "license": "MIT" - }, - "node_modules/tar-stream/node_modules/string_decoder": { - "version": "1.1.1", - "dev": true, - "license": "MIT", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, "node_modules/tar/node_modules/chownr": { "version": "1.1.4", "dev": true, @@ -60447,14 +60174,6 @@ "readable-stream": "3" } }, - "node_modules/timed-out": { - "version": "4.0.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/timers-browserify": { "version": "2.0.12", "license": "MIT", @@ -60535,11 +60254,6 @@ "node": ">=0.10.0" } }, - "node_modules/to-buffer": { - "version": "1.1.1", - "dev": true, - "license": "MIT" - }, "node_modules/to-fast-properties": { "version": "2.0.0", "license": "MIT", @@ -60703,7 +60417,8 @@ }, "node_modules/toidentifier": { "version": "1.0.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", "engines": { "node": ">=0.6" } @@ -60750,17 +60465,6 @@ "node": ">=8" } }, - "node_modules/trim-repeated": { - "version": "1.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "escape-string-regexp": "^1.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/trim-trailing-lines": { "version": "1.1.4", "license": "MIT", @@ -60779,8 +60483,9 @@ }, "node_modules/tryer": { "version": "1.0.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/tryer/-/tryer-1.0.1.tgz", + "integrity": "sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA==", + "dev": true }, "node_modules/ts-dedent": { "version": "2.2.0", @@ -60881,9 +60586,10 @@ } }, "node_modules/type-fest": { - "version": "2.12.0", + "version": "2.16.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.16.0.tgz", + "integrity": "sha512-qpaThT2HQkFb83gMOrdKVsfCN7LKxP26Yq+smPzY1FqoHRjqmjqHXA7n5Gkxi8efirtbeEUxzfEdePthQWCuHw==", "dev": true, - "license": "(MIT OR CC0-1.0)", "engines": { "node": ">=12.20" }, @@ -60893,7 +60599,8 @@ }, "node_modules/type-is": { "version": "1.6.18", - "license": "MIT", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", "dependencies": { "media-typer": "0.3.0", "mime-types": "~2.1.24" @@ -60970,27 +60677,19 @@ "license": "MIT" }, "node_modules/unbox-primitive": { - "version": "1.0.1", - "license": "MIT", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", + "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", "dependencies": { - "function-bind": "^1.1.1", - "has-bigints": "^1.0.1", - "has-symbols": "^1.0.2", + "call-bind": "^1.0.2", + "has-bigints": "^1.0.2", + "has-symbols": "^1.0.3", "which-boxed-primitive": "^1.0.2" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/unbzip2-stream": { - "version": "1.4.3", - "dev": true, - "license": "MIT", - "dependencies": { - "buffer": "^5.2.1", - "through": "^2.3.8" - } - }, "node_modules/unfetch": { "version": "4.2.0", "license": "MIT" @@ -61511,7 +61210,8 @@ }, "node_modules/unpipe": { "version": "1.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", "engines": { "node": ">= 0.8" } @@ -61714,14 +61414,6 @@ "node": ">=4" } }, - "node_modules/url-to-options": { - "version": "1.0.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 4" - } - }, "node_modules/url/node_modules/punycode": { "version": "1.3.2", "license": "MIT" @@ -62508,9 +62200,10 @@ } }, "node_modules/web-streams-polyfill": { - "version": "3.2.0", + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.2.1.tgz", + "integrity": "sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q==", "dev": true, - "license": "MIT", "engines": { "node": ">= 8" } @@ -62702,7 +62395,8 @@ }, "node_modules/which-boxed-primitive": { "version": "1.0.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", "dependencies": { "is-bigint": "^1.0.1", "is-boolean-object": "^1.1.0", @@ -62990,8 +62684,9 @@ }, "node_modules/yauzl": { "version": "2.10.0", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==", "dev": true, - "license": "MIT", "dependencies": { "buffer-crc32": "~0.2.3", "fd-slicer": "~1.1.0" @@ -63015,13 +62710,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/zlib": { - "version": "1.0.5", - "dev": true, - "engines": { - "node": ">=0.2.0" - } - }, "node_modules/zwitch": { "version": "1.0.5", "license": "MIT", @@ -63036,7 +62724,7 @@ }, "packages/create-wekit-app": { "name": "@jungvonmatt/create-wekit-app", - "version": "0.7.2", + "version": "0.7.5", "license": "MIT", "bin": { "create-wekit-app": "dist/index.js" @@ -63169,10 +62857,10 @@ "devDependencies": { "@babel/core": "^7.16.12", "@jungvonmatt/contentful-fakes": "^1.7.1", - "@jungvonmatt/contentful-migrations": "^5.3.0", - "@jungvonmatt/contentful-ssg": "^1.7.1", - "@jungvonmatt/cssg-plugin-assets": "^1.6.0", - "@jungvonmatt/cssg-plugin-hugo": "^1.7.2", + "@jungvonmatt/contentful-migrations": "^5.3.2", + "@jungvonmatt/contentful-ssg": "^1.9.0", + "@jungvonmatt/cssg-plugin-assets": "^1.9.0", + "@jungvonmatt/cssg-plugin-hugo": "^1.9.0", "@storybook/addon-a11y": "6.4.14", "@storybook/addon-actions": "6.4.14", "@storybook/addon-docs": "6.4.14", @@ -67952,10 +67640,10 @@ "devDependencies": { "@babel/core": "^7.16.0", "@jungvonmatt/contentful-fakes": "^1.7.1", - "@jungvonmatt/contentful-migrations": "^5.3.0", - "@jungvonmatt/contentful-ssg": "^1.7.1", - "@jungvonmatt/cssg-plugin-assets": "^1.6.0", - "@jungvonmatt/cssg-plugin-hugo": "^1.7.2", + "@jungvonmatt/contentful-migrations": "^5.3.1", + "@jungvonmatt/contentful-ssg": "^1.9.0", + "@jungvonmatt/cssg-plugin-assets": "^1.9.0", + "@jungvonmatt/cssg-plugin-hugo": "^1.9.0", "@storybook/addon-a11y": "^6.4.4", "@storybook/addon-actions": "^6.4.4", "@storybook/addon-essentials": "^6.4.4", @@ -69061,14 +68749,18 @@ } }, "@contentful/rich-text-plain-text-renderer": { - "version": "15.11.1", + "version": "15.12.1", + "resolved": "https://registry.npmjs.org/@contentful/rich-text-plain-text-renderer/-/rich-text-plain-text-renderer-15.12.1.tgz", + "integrity": "sha512-0pDLs4V1dhK98yoIFq8e16Ey54uyAPLKeqMtry3db4X0zEuA/+6CEetoyEdJrySAaCkfB7+Y6n4vKMFUSPHs3Q==", "dev": true, "requires": { - "@contentful/rich-text-types": "^15.11.1" + "@contentful/rich-text-types": "^15.12.1" } }, "@contentful/rich-text-types": { - "version": "15.11.1", + "version": "15.12.1", + "resolved": "https://registry.npmjs.org/@contentful/rich-text-types/-/rich-text-types-15.12.1.tgz", + "integrity": "sha512-WQJic0fnAbTa8xzO3Z+aVqDmA5+JMNQlATQMVJ40GoOrnM8YoJZsKGf6xX/O6Y6Eq10T1LrpxIOslODFI9qFgg==", "dev": true }, "@discoveryjs/json-ext": { @@ -69201,6 +68893,24 @@ } } }, + "@ffmpeg/core": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/@ffmpeg/core/-/core-0.10.0.tgz", + "integrity": "sha512-qunWJl5PezpXEm31tb8Qu5z37B5KVA1VYZCpXchMhuAb3X9T7PuE3SlhOwphEoRhzaOa3lpofDfzihAUMFaVPQ==", + "dev": true + }, + "@ffmpeg/ffmpeg": { + "version": "0.10.1", + "resolved": "https://registry.npmjs.org/@ffmpeg/ffmpeg/-/ffmpeg-0.10.1.tgz", + "integrity": "sha512-ChQkH7Rh57hmVo1LhfQFibWX/xqneolJKSwItwZdKPcLZuKigtYAYDIvB55pDfP17VtR1R77SxgkB2/UApB+Og==", + "dev": true, + "requires": { + "is-url": "^1.2.4", + "node-fetch": "^2.6.1", + "regenerator-runtime": "^0.13.7", + "resolve-url": "^0.2.1" + } + }, "@fullhuman/postcss-purgecss": { "version": "4.1.3", "requires": { @@ -69362,37 +69072,37 @@ } }, "@jungvonmatt/contentful-migrations": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/@jungvonmatt/contentful-migrations/-/contentful-migrations-5.3.0.tgz", - "integrity": "sha512-/VL5vxOa2/3hrUsYmKTpdXA1NceywR444rhPdkqoakNI9r2JNCGszzA1Bcl6pCr6eM2N1MZsIcxx9QEOBC9/Cw==", + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/@jungvonmatt/contentful-migrations/-/contentful-migrations-5.3.2.tgz", + "integrity": "sha512-GAfX4ezM4vlV5sWYnKRKsoTOygwIcK5rk8hrc0JoJvCEPJjJxEzMied2XmOwDjkMI6nClHXY0KGfbibXwC+QeA==", "dev": true, "requires": { - "@contentful/rich-text-plain-text-renderer": "^15.6.2", - "array.prototype.flatmap": "^1.2.5", + "@contentful/rich-text-plain-text-renderer": "^15.12.1", + "array.prototype.flatmap": "^1.3.0", "ascii-tree": "^0.3.0", "chalk": "^4.1.2", - "cli-progress": "^3.9.1", + "cli-progress": "^3.11.2", "commander": "^8.3.0", "common-tags": "^1.8.2", - "contentful-cli": "^1.8.23", - "contentful-import": "^8.2.22", + "contentful-cli": "^1.14.21", + "contentful-import": "^8.3.2", "contentful-management": "^7.45.2", - "contentful-migration": "^4.3.0", + "contentful-migration": "^4.9.2", "cosmiconfig": "^7.0.1", "deep-diff": "^1.0.2", - "diff": "^5.0.0", + "diff": "^5.1.0", "dotenv": "^10.0.0", - "fs-extra": "^10.0.0", + "fs-extra": "^10.1.0", "globby": "^12.0.2", "inquirer": "^8.2.0", - "markdown-table": "^3.0.1", + "markdown-table": "^3.0.2", "merge-options": "^3.0.4", "mustache": "^4.2.0", - "node-fetch": "^3.1.0", + "node-fetch": "^3.2.8", "node-object-hash": "^2.3.10", "pkg-up": "^4.0.0", - "prettier": "^2.4.1", - "read-pkg-up": "^9.0.0" + "prettier": "^2.7.1", + "read-pkg-up": "^9.1.0" }, "dependencies": { "array-union": { @@ -69404,7 +69114,9 @@ "dev": true }, "diff": { - "version": "5.0.0", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-5.1.0.tgz", + "integrity": "sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==", "dev": true }, "dotenv": { @@ -69439,7 +69151,9 @@ } }, "node-fetch": { - "version": "3.2.0", + "version": "3.2.8", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-3.2.8.tgz", + "integrity": "sha512-KtpD1YhGszhntMpBDyp5lyagk8KIMopC1LEb7cQUAh7zcosaX5uK8HnbNb2i3NTQK3sIawCItS0uFC3QzcLHdg==", "dev": true, "requires": { "data-uri-to-buffer": "^4.0.0", @@ -69495,9 +69209,9 @@ } }, "@jungvonmatt/contentful-ssg": { - "version": "1.7.1", - "resolved": "https://registry.npmjs.org/@jungvonmatt/contentful-ssg/-/contentful-ssg-1.7.1.tgz", - "integrity": "sha512-EkymoSvKa2cq/ISZ5JNH/JuKCIyB4GaTRYLBvd4mh/DmmSJKfNp/HAD3JNhMiKofyFuZmtoKaf98WTWXbhi/hg==", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@jungvonmatt/contentful-ssg/-/contentful-ssg-1.9.0.tgz", + "integrity": "sha512-objixlcCnvIuCDGzaWjsgC4lwt8D3OGn8OLD340lpEHt43Y4oRmSXl/mF+CZK5jFrRECcsSmwo35i3ygs+//CA==", "dev": true, "requires": { "@contentful/rich-text-html-renderer": "^15.6.2", @@ -69505,6 +69219,7 @@ "@endemolshinegroup/cosmiconfig-typescript-loader": "^3.0.2", "@iarna/toml": "^2.2.5", "@swc-node/register": "^1.4.0", + "async-exit-hook": "^2.0.1", "chalk": "^4.1.2", "commander": "^8.3.0", "contentful": "^9.1.4", @@ -69514,8 +69229,11 @@ "dotenv": "^10.0.0", "dotenv-expand": "^5.1.0", "esbuild": "^0.13.13", + "express": "^4.18.1", + "find-cache-dir": "^3.3.2", "find-up": "^6.2.0", - "fs-extra": "^10.0.0", + "fs-extra": "^10.1.0", + "get-port": "^6.1.2", "globby": "^12.0.2", "gray-matter": "^4.0.3", "inquirer": "^8.2.0", @@ -69523,13 +69241,17 @@ "listr": "^0.14.3", "merge-options": "^3.0.4", "micromatch": "^4.0.4", + "ngrok": "^4.3.1", "prettier": "^2.4.1", "read-pkg-up": "^9.0.0", "rxjs": "^7.5.5", + "serialize-error": "^11.0.0", + "serializr": "^2.0.5", "slash": "^4.0.0", "snake-case": "^3.0.4", "tempy": "^2.0.0", - "type-fest": "^2.5.3" + "type-fest": "^2.5.3", + "uuid": "^8.3.2" }, "dependencies": { "array-union": { @@ -69565,6 +69287,12 @@ "path-exists": "^5.0.0" } }, + "get-port": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/get-port/-/get-port-6.1.2.tgz", + "integrity": "sha512-BrGGraKm2uPqurfGVj/z97/zv8dPleC6x9JBNRTrDNtCkkRF4rPwrQXFgL7+I+q8QSdU4ntLQX2D7KIxSy8nGw==", + "dev": true + }, "globby": { "version": "12.2.0", "dev": true, @@ -69751,14 +69479,15 @@ } }, "@jungvonmatt/cssg-plugin-assets": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/@jungvonmatt/cssg-plugin-assets/-/cssg-plugin-assets-1.6.0.tgz", - "integrity": "sha512-Kt6Ey2m7DVe7Ogf/eJOWRN1x2C8qmZ8UXKhXWPE++gXx1EnVG/D/7LP/6Ou0hmINCW8JIe2YR0WVTwgSaD3B4A==", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@jungvonmatt/cssg-plugin-assets/-/cssg-plugin-assets-1.9.0.tgz", + "integrity": "sha512-1qKtjKpjjNONQpyrsjGuGGZTY92+w2iENKFpmBmRCe8kR1gl9wOK2VUWTwptHz9R3pNTVUfJF2ukyAnOXOSJ/g==", "dev": true, "requires": { + "@ffmpeg/core": "^0.10.0", + "@ffmpeg/ffmpeg": "^0.10.1", "cli-progress": "^3.9.1", "contentful": "^9.1.4", - "download": "^8.0.0", "got": "^11.8.3", "mkdirp": "^1.0.4", "svgo": "^2.8.0" @@ -69803,13 +69532,13 @@ } }, "@jungvonmatt/cssg-plugin-hugo": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/@jungvonmatt/cssg-plugin-hugo/-/cssg-plugin-hugo-1.7.2.tgz", - "integrity": "sha512-HgHk/ISMtS3Swh7VE3R364mqLbpYvkf/IX1jsPdgbxZHLJvX6MDmw5Z3M7KyE/dRHOZ9MX6haPRtDcl2pCKLpQ==", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@jungvonmatt/cssg-plugin-hugo/-/cssg-plugin-hugo-1.9.0.tgz", + "integrity": "sha512-i2RsOypG42kArsuQM8mLrKmSCI+0/lk32WCj1+h5G03wxjBYwuYFIJ4Ap55Q6PF53O2hUWN9V3wThQheb4AQ0A==", "dev": true, "requires": { - "@jungvonmatt/contentful-ssg": "^1.7.1", - "fs-extra": "^10.0.0", + "@jungvonmatt/contentful-ssg": "^1.9.0", + "fs-extra": "^10.1.0", "micromatch": "^4.0.4" } }, @@ -69819,10 +69548,10 @@ "@babel/core": "^7.16.12", "@fullhuman/postcss-purgecss": "^4.1.3", "@jungvonmatt/contentful-fakes": "^1.7.1", - "@jungvonmatt/contentful-migrations": "^5.3.0", - "@jungvonmatt/contentful-ssg": "^1.7.1", - "@jungvonmatt/cssg-plugin-assets": "^1.6.0", - "@jungvonmatt/cssg-plugin-hugo": "^1.7.2", + "@jungvonmatt/contentful-migrations": "5.3.2", + "@jungvonmatt/contentful-ssg": "^1.9.0", + "@jungvonmatt/cssg-plugin-assets": "^1.9.0", + "@jungvonmatt/cssg-plugin-hugo": "^1.9.0", "@storybook/addon-a11y": "6.4.14", "@storybook/addon-actions": "6.4.14", "@storybook/addon-docs": "6.4.14", @@ -73004,10 +72733,10 @@ "@babel/core": "^7.16.0", "@fullhuman/postcss-purgecss": "^4.1.3", "@jungvonmatt/contentful-fakes": "^1.7.1", - "@jungvonmatt/contentful-migrations": "^5.3.0", - "@jungvonmatt/contentful-ssg": "^1.7.1", - "@jungvonmatt/cssg-plugin-assets": "^1.6.0", - "@jungvonmatt/cssg-plugin-hugo": "^1.7.2", + "@jungvonmatt/contentful-migrations": "^5.3.1", + "@jungvonmatt/contentful-ssg": "^1.9.0", + "@jungvonmatt/cssg-plugin-assets": "^1.9.0", + "@jungvonmatt/cssg-plugin-hugo": "^1.9.0", "@storybook/addon-a11y": "^6.4.4", "@storybook/addon-actions": "^6.4.4", "@storybook/addon-docs": "^6.4.14", @@ -78597,6 +78326,16 @@ "@types/yargs-parser": { "version": "20.2.1" }, + "@types/yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw==", + "dev": true, + "optional": true, + "requires": { + "@types/node": "*" + } + }, "@typescript-eslint/eslint-plugin": { "version": "5.12.0", "dev": true, @@ -79256,19 +78995,6 @@ "aproba": { "version": "2.0.0" }, - "archive-type": { - "version": "4.0.0", - "dev": true, - "requires": { - "file-type": "^4.2.0" - }, - "dependencies": { - "file-type": { - "version": "4.4.0", - "dev": true - } - } - }, "are-we-there-yet": { "version": "1.1.7", "dev": true, @@ -79365,11 +79091,14 @@ } }, "array.prototype.flatmap": { - "version": "1.2.5", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.0.tgz", + "integrity": "sha512-PZC9/8TKAIxcWKdyeb77EzULHPrIX/tIZebLJUQOMR1OwYosT8yggdfWScfTBCDj5utONvOuPQQumYsU2ULbkg==", "requires": { - "call-bind": "^1.0.0", + "call-bind": "^1.0.2", "define-properties": "^1.1.3", - "es-abstract": "^1.19.0" + "es-abstract": "^1.19.2", + "es-shim-unscopables": "^1.0.0" } }, "array.prototype.map": { @@ -79443,6 +79172,8 @@ }, "ast-types": { "version": "0.14.2", + "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.14.2.tgz", + "integrity": "sha512-O0yuUDnZeQDL+ncNGlJ78BiO4jnYI3bvMsD5prT0/nsgijG/LpNBIr63gTjVTNsiGkgQhiyCShTgxt8oXOrklA==", "dev": true, "requires": { "tslib": "^2.0.1" @@ -79460,6 +79191,12 @@ "version": "1.0.3", "optional": true }, + "async-exit-hook": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/async-exit-hook/-/async-exit-hook-2.0.1.tgz", + "integrity": "sha512-NW2cX8m1Q7KPA7a5M2ULQeZ2wR5qI5PAbw5L0UOMxdioVk9PMZ0h1TmyZEkPYrCvYjDlFICusOu1dlEKAAeXBw==", + "dev": true + }, "async-retry": { "version": "1.3.1", "dev": true, @@ -79697,6 +79434,8 @@ }, "bfj": { "version": "7.0.2", + "resolved": "https://registry.npmjs.org/bfj/-/bfj-7.0.2.tgz", + "integrity": "sha512-+e/UqUzwmzJamNF50tBV6tZPTORow7gQ96iFow+8b562OdMpEK0BcJEq2OSPEDmAbSMBQ7PKZ87ubFkgxpYWgw==", "dev": true, "requires": { "bluebird": "^3.5.5", @@ -79797,31 +79536,41 @@ "version": "5.2.0" }, "body-parser": { - "version": "1.19.2", + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.0.tgz", + "integrity": "sha512-DfJ+q6EPcGKZD1QWUjSpqp+Q7bDQTsQIF4zfUAtZ6qk+H/3/QRhg9CEp39ss+/T2vw0+HaidC0ecJj/DRLIaKg==", "requires": { "bytes": "3.1.2", "content-type": "~1.0.4", "debug": "2.6.9", - "depd": "~1.1.2", - "http-errors": "1.8.1", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", "iconv-lite": "0.4.24", - "on-finished": "~2.3.0", - "qs": "6.9.7", - "raw-body": "2.4.3", - "type-is": "~1.6.18" + "on-finished": "2.4.1", + "qs": "6.10.3", + "raw-body": "2.5.1", + "type-is": "~1.6.18", + "unpipe": "1.0.0" }, "dependencies": { "debug": { "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "requires": { "ms": "2.0.0" } }, - "ms": { - "version": "2.0.0" + "depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==" }, - "qs": { - "version": "6.9.7" + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" } } }, @@ -79951,28 +79700,16 @@ "ieee754": "^1.1.13" } }, - "buffer-alloc": { - "version": "1.2.0", - "dev": true, - "requires": { - "buffer-alloc-unsafe": "^1.1.0", - "buffer-fill": "^1.0.0" - } - }, - "buffer-alloc-unsafe": { - "version": "1.1.0", - "dev": true - }, "buffer-crc32": { "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", "dev": true }, "buffer-equal-constant-time": { "version": "1.0.1", - "dev": true - }, - "buffer-fill": { - "version": "1.0.0", + "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", + "integrity": "sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==", "dev": true }, "buffer-from": { @@ -79997,7 +79734,9 @@ "dev": true }, "bytes": { - "version": "3.1.2" + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==" }, "cacache": { "version": "15.3.0", @@ -80279,6 +80018,8 @@ }, "check-types": { "version": "11.1.2", + "resolved": "https://registry.npmjs.org/check-types/-/check-types-11.1.2.tgz", + "integrity": "sha512-tzWzvgePgLORb9/3a0YenggReLKAIb2owL03H2Xdoe5pKcUyWRSEQ8xfCar8t2SIAuEDwtmx2da1YB52YuHQMQ==", "dev": true }, "chokidar": { @@ -80393,10 +80134,12 @@ } }, "cli-progress": { - "version": "3.10.0", + "version": "3.11.2", + "resolved": "https://registry.npmjs.org/cli-progress/-/cli-progress-3.11.2.tgz", + "integrity": "sha512-lCPoS6ncgX4+rJu5bS3F/iCz17kZ9MPZ6dpuTtI0KXKABkhyXIdYB3Inby1OpaGti3YlI3EeEkM9AuWpelJrVA==", "dev": true, "requires": { - "string-width": "^4.2.0" + "string-width": "^4.2.3" } }, "cli-spinners": { @@ -80757,7 +80500,9 @@ } }, "content-type": { - "version": "1.0.4" + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", + "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==" }, "contentful": { "version": "9.1.10", @@ -80771,19 +80516,23 @@ } }, "contentful-batch-libs": { - "version": "9.2.1", + "version": "9.4.2", + "resolved": "https://registry.npmjs.org/contentful-batch-libs/-/contentful-batch-libs-9.4.2.tgz", + "integrity": "sha512-G58ykBrAycBnfGEawyU2xvVnbPt32EghJ6kZo/JrKdGXYAWm+FnpeJJV0lpABvApExzoWc3ChH6eHU8X+M/w4g==", "dev": true, "requires": { "bfj": "^7.0.2", + "date-fns": "^2.28.0", "figures": "^3.2.0", "https-proxy-agent": "^3.0.0", - "lodash": "^4.17.21", - "moment": "^2.29.1", + "lodash.clonedeep": "^4.5.0", "uuid": "^8.3.2" }, "dependencies": { "agent-base": { "version": "4.3.0", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.3.0.tgz", + "integrity": "sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg==", "dev": true, "requires": { "es6-promisify": "^5.0.0" @@ -80791,6 +80540,8 @@ }, "debug": { "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, "requires": { "ms": "^2.1.1" @@ -80798,6 +80549,8 @@ }, "https-proxy-agent": { "version": "3.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-3.0.1.tgz", + "integrity": "sha512-+ML2Rbh6DAuee7d07tYGEKOEi2voWPUGan+ExdPbPW6Z3svq+JCqr0v8WmKPOkz1vOVykPCBSuobe7G8GJUtVg==", "dev": true, "requires": { "agent-base": "^4.3.0", @@ -80807,7 +80560,9 @@ } }, "contentful-cli": { - "version": "1.11.3", + "version": "1.14.21", + "resolved": "https://registry.npmjs.org/contentful-cli/-/contentful-cli-1.14.21.tgz", + "integrity": "sha512-DuJ0L/LLEUgO1JVyZvpvXP5CV4WuVRMxeZ/mZ7fSxEUrSkXSvQcuMiVB1H88/7CDLZitcJuJMn9Kg9R7k8fuTQ==", "dev": true, "requires": { "ast-types": "^0.14.2", @@ -80818,9 +80573,9 @@ "chalk": "^2.4.1", "cli-table3": "^0.6.0", "command-exists": "^1.2.7", - "contentful-export": "^7.14.0", - "contentful-import": "^8.2.25", - "contentful-management": "^8.1.3", + "contentful-export": "^7.17.16", + "contentful-import": "^8.3.2", + "contentful-management": "^10.0.0", "contentful-migration": "^4.8.0", "emojic": "^1.1.11", "execa": "^5.0.0", @@ -80831,21 +80586,20 @@ "inquirer-select-directory": "^1.2.0", "listr": "^0.14.1", "lodash": "^4.17.15", - "marked": "^3.0.8", + "marked": "^4.0.12", "mkdirp": "^1.0.3", "mz": "^2.6.0", "open": "^8.0.5", "path": "^0.12.7", "prettier": "^2.0.2", - "recast": "^0.20.4", + "recast": "^0.21.1", "rxjs": "^7.3.0", "shell-escape": "^0.2.0", "tar": "^6.0.1", "to-ast": "^1.0.0", "tree-kill": "^1.2.2", "wrap-ansi": "^7.0.0", - "yargs": "~13.3.2", - "zlib": "^1.0.5" + "yargs": "~13.3.2" }, "dependencies": { "ansi-regex": { @@ -80859,6 +80613,16 @@ "color-convert": "^1.9.0" } }, + "axios": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.27.2.tgz", + "integrity": "sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==", + "dev": true, + "requires": { + "follow-redirects": "^1.14.9", + "form-data": "^4.0.0" + } + }, "chalk": { "version": "2.4.2", "dev": true, @@ -80900,11 +80664,13 @@ "dev": true }, "contentful-management": { - "version": "8.1.3", + "version": "10.8.0", + "resolved": "https://registry.npmjs.org/contentful-management/-/contentful-management-10.8.0.tgz", + "integrity": "sha512-K+q9tbw8SULf5fg+tfLxE4WhHO+1iXyxjdGfy+hv9m1pwJFLhvBmudHOAA1jX1RnqayDUuRqjs/4otVb9cs/KA==", "dev": true, "requires": { "@types/json-patch": "0.0.30", - "axios": "^0.26.0", + "axios": "^0.27.1", "contentful-sdk-core": "^7.0.1", "fast-copy": "^2.1.1", "lodash.isplainobject": "^4.0.6" @@ -80914,6 +80680,17 @@ "version": "7.0.3", "dev": true }, + "form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "dev": true, + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + } + }, "has-flag": { "version": "3.0.0", "dev": true @@ -81029,42 +80806,67 @@ } }, "contentful-export": { - "version": "7.14.30", + "version": "7.17.19", + "resolved": "https://registry.npmjs.org/contentful-export/-/contentful-export-7.17.19.tgz", + "integrity": "sha512-BcOraK3e1xkz2M1P8OEp+u5QUgNHEnt2MRN2MUKjcVIvrAzzEVF6pOdkuwAKW0Nq+Pe/eqV56qG+n1mGtYSvGw==", "dev": true, "requires": { "bfj": "^7.0.2", "bluebird": "^3.3.3", "cli-table3": "^0.6.0", "contentful": "^9.0.0", - "contentful-batch-libs": "^9.2.1", - "contentful-management": "^8.1.0", + "contentful-batch-libs": "^9.4.1", + "contentful-management": "^10.0.0", + "date-fns": "^2.28.0", "figures": "^3.2.0", - "fs-extra": "^10.0.0", "jsonwebtoken": "^8.5.1", "listr": "^0.14.1", "listr-update-renderer": "^0.5.0", "listr-verbose-renderer": "^0.6.0", - "lodash": "^4.17.10", + "lodash.startcase": "^4.4.0", "mkdirp": "^1.0.3", - "moment": "^2.22.2", - "request": "^2.87.0", - "request-promise": "^4.2.6", + "node-fetch": "^2.6.7", "yargs": "^17.1.1" }, "dependencies": { + "axios": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.27.2.tgz", + "integrity": "sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==", + "dev": true, + "requires": { + "follow-redirects": "^1.14.9", + "form-data": "^4.0.0" + } + }, "contentful-management": { - "version": "8.1.3", + "version": "10.8.0", + "resolved": "https://registry.npmjs.org/contentful-management/-/contentful-management-10.8.0.tgz", + "integrity": "sha512-K+q9tbw8SULf5fg+tfLxE4WhHO+1iXyxjdGfy+hv9m1pwJFLhvBmudHOAA1jX1RnqayDUuRqjs/4otVb9cs/KA==", "dev": true, "requires": { "@types/json-patch": "0.0.30", - "axios": "^0.26.0", + "axios": "^0.27.1", "contentful-sdk-core": "^7.0.1", "fast-copy": "^2.1.1", "lodash.isplainobject": "^4.0.6" } }, + "form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "dev": true, + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + } + }, "yargs": { - "version": "17.3.1", + "version": "17.5.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.5.1.tgz", + "integrity": "sha512-t6YAJcxDkNX7NFYiVtKvWUz8l+PaKTLiL63mJYWR2GnHq2gjEWISzsLp9wg3aY36dY1j+gfIEL3pIF+XlJJfbA==", "dev": true, "requires": { "cliui": "^7.0.2", @@ -81077,31 +80879,37 @@ } }, "yargs-parser": { - "version": "21.0.0", + "version": "21.0.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.0.1.tgz", + "integrity": "sha512-9BK1jFpLzJROCI5TzwZL/TU4gqjK5xiHV/RfWLOahrjAko/e4DJkRDZQXfvqAsiZzzYhgAzbgz6lg48jcm4GLg==", "dev": true } } }, "contentful-import": { - "version": "8.2.28", + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/contentful-import/-/contentful-import-8.3.2.tgz", + "integrity": "sha512-OQrzlSj9p2g3/kNrkQRrMxPvdxgL6iwD6E8qQzZLlVnGpZKhmZYfPBv9qZfFCHrqzj49JzwIWLkAp0b2nSGC1A==", "dev": true, "requires": { "bluebird": "^3.5.1", "cli-table3": "^0.6.0", - "contentful-batch-libs": "^9.2.1", + "contentful-batch-libs": "^9.4.1", "contentful-management": "^7.45.5", + "date-fns": "^2.28.0", "joi": "^17.5.0", "listr": "^0.14.1", "listr-update-renderer": "^0.5.0", "listr-verbose-renderer": "^0.6.0", "lodash": "^4.17.10", - "moment": "^2.22.2", "p-queue": "^6.6.2", "yargs": "^17.3.0" }, "dependencies": { "yargs": { - "version": "17.3.1", + "version": "17.5.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.5.1.tgz", + "integrity": "sha512-t6YAJcxDkNX7NFYiVtKvWUz8l+PaKTLiL63mJYWR2GnHq2gjEWISzsLp9wg3aY36dY1j+gfIEL3pIF+XlJJfbA==", "dev": true, "requires": { "cliui": "^7.0.2", @@ -81114,7 +80922,9 @@ } }, "yargs-parser": { - "version": "21.0.0", + "version": "21.0.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.0.1.tgz", + "integrity": "sha512-9BK1jFpLzJROCI5TzwZL/TU4gqjK5xiHV/RfWLOahrjAko/e4DJkRDZQXfvqAsiZzzYhgAzbgz6lg48jcm4GLg==", "dev": true } } @@ -81152,7 +80962,9 @@ } }, "contentful-migration": { - "version": "4.8.0", + "version": "4.9.2", + "resolved": "https://registry.npmjs.org/contentful-migration/-/contentful-migration-4.9.2.tgz", + "integrity": "sha512-QNZAtag1MRaAdB5nZ/Rb/+N5AjpqE+jc3cJ/8W7gGOvV0T+li4I0NIjZOv6JuggfZyAuhNUU/jZaswzbish+/Q==", "dev": true, "requires": { "axios": "^0.21.0", @@ -81379,7 +81191,9 @@ } }, "cookie": { - "version": "0.4.2" + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", + "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==" }, "cookie-signature": { "version": "1.0.6" @@ -81866,10 +81680,14 @@ }, "data-uri-to-buffer": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-4.0.0.tgz", + "integrity": "sha512-Vr3mLBA8qWmcuschSLAOogKgQ/Jwxulv3RNE4FXnYWRGujzrRWQI4m12fQqRkwX06C0KanhLr4hK+GydchZsaA==", "dev": true }, "date-fns": { "version": "2.28.0", + "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.28.0.tgz", + "integrity": "sha512-8d35hViGYx/QH0icHYCeLmsLmMUheMmTyV9Fcm6gvNwdw31yXXH+O85sOBJ+OLnLQMKZowvpKb6FgMIQjcpvQw==", "dev": true }, "dateformat": { @@ -81923,39 +81741,6 @@ "decode-uri-component": { "version": "0.2.0" }, - "decompress": { - "version": "4.2.1", - "dev": true, - "requires": { - "decompress-tar": "^4.0.0", - "decompress-tarbz2": "^4.0.0", - "decompress-targz": "^4.0.0", - "decompress-unzip": "^4.0.1", - "graceful-fs": "^4.1.10", - "make-dir": "^1.0.0", - "pify": "^2.3.0", - "strip-dirs": "^2.0.0" - }, - "dependencies": { - "make-dir": { - "version": "1.3.0", - "dev": true, - "requires": { - "pify": "^3.0.0" - }, - "dependencies": { - "pify": { - "version": "3.0.0", - "dev": true - } - } - }, - "pify": { - "version": "2.3.0", - "dev": true - } - } - }, "decompress-response": { "version": "5.0.0", "dev": true, @@ -81963,93 +81748,6 @@ "mimic-response": "^2.0.0" } }, - "decompress-tar": { - "version": "4.1.1", - "dev": true, - "requires": { - "file-type": "^5.2.0", - "is-stream": "^1.1.0", - "tar-stream": "^1.5.2" - }, - "dependencies": { - "file-type": { - "version": "5.2.0", - "dev": true - }, - "is-stream": { - "version": "1.1.0", - "dev": true - } - } - }, - "decompress-tarbz2": { - "version": "4.1.1", - "dev": true, - "requires": { - "decompress-tar": "^4.1.0", - "file-type": "^6.1.0", - "is-stream": "^1.1.0", - "seek-bzip": "^1.0.5", - "unbzip2-stream": "^1.0.9" - }, - "dependencies": { - "file-type": { - "version": "6.2.0", - "dev": true - }, - "is-stream": { - "version": "1.1.0", - "dev": true - } - } - }, - "decompress-targz": { - "version": "4.1.1", - "dev": true, - "requires": { - "decompress-tar": "^4.1.1", - "file-type": "^5.2.0", - "is-stream": "^1.1.0" - }, - "dependencies": { - "file-type": { - "version": "5.2.0", - "dev": true - }, - "is-stream": { - "version": "1.1.0", - "dev": true - } - } - }, - "decompress-unzip": { - "version": "4.0.1", - "dev": true, - "requires": { - "file-type": "^3.8.0", - "get-stream": "^2.2.0", - "pify": "^2.3.0", - "yauzl": "^2.4.2" - }, - "dependencies": { - "file-type": { - "version": "3.9.0", - "dev": true - }, - "get-stream": { - "version": "2.3.1", - "dev": true, - "requires": { - "object-assign": "^4.0.1", - "pinkie-promise": "^2.0.0" - } - }, - "pify": { - "version": "2.3.0", - "dev": true - } - } - }, "dedent": { "version": "0.7.0", "dev": true @@ -82087,9 +81785,12 @@ "dev": true }, "define-properties": { - "version": "1.1.3", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz", + "integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==", "requires": { - "object-keys": "^1.0.12" + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" } }, "define-property": { @@ -82230,7 +81931,8 @@ "version": "1.0.0" }, "depd": { - "version": "1.1.2" + "version": "1.1.2", + "dev": true }, "dependency-graph": { "version": "0.11.0" @@ -82253,7 +81955,9 @@ } }, "destroy": { - "version": "1.0.4" + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==" }, "detab": { "version": "2.0.4", @@ -82390,180 +82094,6 @@ "dotenv-expand": { "version": "5.1.0" }, - "download": { - "version": "8.0.0", - "dev": true, - "requires": { - "archive-type": "^4.0.0", - "content-disposition": "^0.5.2", - "decompress": "^4.2.1", - "ext-name": "^5.0.0", - "file-type": "^11.1.0", - "filenamify": "^3.0.0", - "get-stream": "^4.1.0", - "got": "^8.3.1", - "make-dir": "^2.1.0", - "p-event": "^2.1.0", - "pify": "^4.0.1" - }, - "dependencies": { - "@sindresorhus/is": { - "version": "0.7.0", - "dev": true - }, - "cacheable-request": { - "version": "2.1.4", - "dev": true, - "requires": { - "clone-response": "1.0.2", - "get-stream": "3.0.0", - "http-cache-semantics": "3.8.1", - "keyv": "3.0.0", - "lowercase-keys": "1.0.0", - "normalize-url": "2.0.1", - "responselike": "1.0.2" - }, - "dependencies": { - "get-stream": { - "version": "3.0.0", - "dev": true - }, - "lowercase-keys": { - "version": "1.0.0", - "dev": true - } - } - }, - "decompress-response": { - "version": "3.3.0", - "dev": true, - "requires": { - "mimic-response": "^1.0.0" - } - }, - "get-stream": { - "version": "4.1.0", - "dev": true, - "requires": { - "pump": "^3.0.0" - } - }, - "got": { - "version": "8.3.2", - "dev": true, - "requires": { - "@sindresorhus/is": "^0.7.0", - "cacheable-request": "^2.1.1", - "decompress-response": "^3.3.0", - "duplexer3": "^0.1.4", - "get-stream": "^3.0.0", - "into-stream": "^3.1.0", - "is-retry-allowed": "^1.1.0", - "isurl": "^1.0.0-alpha5", - "lowercase-keys": "^1.0.0", - "mimic-response": "^1.0.0", - "p-cancelable": "^0.4.0", - "p-timeout": "^2.0.1", - "pify": "^3.0.0", - "safe-buffer": "^5.1.1", - "timed-out": "^4.0.1", - "url-parse-lax": "^3.0.0", - "url-to-options": "^1.0.1" - }, - "dependencies": { - "get-stream": { - "version": "3.0.0", - "dev": true - }, - "pify": { - "version": "3.0.0", - "dev": true - } - } - }, - "http-cache-semantics": { - "version": "3.8.1", - "dev": true - }, - "json-buffer": { - "version": "3.0.0", - "dev": true - }, - "keyv": { - "version": "3.0.0", - "dev": true, - "requires": { - "json-buffer": "3.0.0" - } - }, - "lowercase-keys": { - "version": "1.0.1", - "dev": true - }, - "mimic-response": { - "version": "1.0.1", - "dev": true - }, - "normalize-url": { - "version": "2.0.1", - "dev": true, - "requires": { - "prepend-http": "^2.0.0", - "query-string": "^5.0.1", - "sort-keys": "^2.0.0" - } - }, - "p-cancelable": { - "version": "0.4.1", - "dev": true - }, - "p-event": { - "version": "2.3.1", - "dev": true, - "requires": { - "p-timeout": "^2.0.1" - } - }, - "p-timeout": { - "version": "2.0.1", - "dev": true, - "requires": { - "p-finally": "^1.0.0" - } - }, - "pify": { - "version": "4.0.1", - "dev": true - }, - "query-string": { - "version": "5.1.1", - "dev": true, - "requires": { - "decode-uri-component": "^0.2.0", - "object-assign": "^4.1.0", - "strict-uri-encode": "^1.0.0" - } - }, - "responselike": { - "version": "1.0.2", - "dev": true, - "requires": { - "lowercase-keys": "^1.0.0" - } - }, - "sort-keys": { - "version": "2.0.0", - "dev": true, - "requires": { - "is-plain-obj": "^1.0.0" - } - }, - "strict-uri-encode": { - "version": "1.1.0", - "dev": true - } - } - }, "downshift": { "version": "6.1.7", "requires": { @@ -82639,13 +82169,17 @@ }, "ecdsa-sig-formatter": { "version": "1.0.11", + "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz", + "integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==", "dev": true, "requires": { "safe-buffer": "^5.0.1" } }, "ee-first": { - "version": "1.1.1" + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" }, "ejs": { "version": "3.1.6", @@ -82716,7 +82250,9 @@ } }, "encodeurl": { - "version": "1.0.2" + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==" }, "encoding": { "version": "0.1.13", @@ -82781,28 +82317,33 @@ } }, "es-abstract": { - "version": "1.19.1", + "version": "1.20.1", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.20.1.tgz", + "integrity": "sha512-WEm2oBhfoI2sImeM4OF2zE2V3BYdSF+KnSi9Sidz51fQHd7+JuF8Xgcj9/0o+OWeIeIS/MiuNnlruQrJf16GQA==", "requires": { "call-bind": "^1.0.2", "es-to-primitive": "^1.2.1", "function-bind": "^1.1.1", + "function.prototype.name": "^1.1.5", "get-intrinsic": "^1.1.1", "get-symbol-description": "^1.0.0", "has": "^1.0.3", - "has-symbols": "^1.0.2", + "has-property-descriptors": "^1.0.0", + "has-symbols": "^1.0.3", "internal-slot": "^1.0.3", "is-callable": "^1.2.4", - "is-negative-zero": "^2.0.1", + "is-negative-zero": "^2.0.2", "is-regex": "^1.1.4", - "is-shared-array-buffer": "^1.0.1", + "is-shared-array-buffer": "^1.0.2", "is-string": "^1.0.7", - "is-weakref": "^1.0.1", - "object-inspect": "^1.11.0", + "is-weakref": "^1.0.2", + "object-inspect": "^1.12.0", "object-keys": "^1.1.1", "object.assign": "^4.1.2", - "string.prototype.trimend": "^1.0.4", - "string.prototype.trimstart": "^1.0.4", - "unbox-primitive": "^1.0.1" + "regexp.prototype.flags": "^1.4.3", + "string.prototype.trimend": "^1.0.5", + "string.prototype.trimstart": "^1.0.5", + "unbox-primitive": "^1.0.2" } }, "es-array-method-boxes-properly": { @@ -82829,6 +82370,14 @@ "es-module-lexer": { "version": "0.9.3" }, + "es-shim-unscopables": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz", + "integrity": "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==", + "requires": { + "has": "^1.0.3" + } + }, "es-to-primitive": { "version": "1.2.1", "requires": { @@ -82842,10 +82391,14 @@ }, "es6-promise": { "version": "4.2.8", + "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz", + "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==", "dev": true }, "es6-promisify": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz", + "integrity": "sha512-C+d6UdsYDk0lMebHNR4S2NybQMMngAOnOwYBQjTOiv0MkoJMP0Myw2mgpDLBcpfCmRLxyFqYhS/CfOENq4SJhQ==", "dev": true, "requires": { "es6-promise": "^4.0.3" @@ -83352,35 +82905,38 @@ } }, "express": { - "version": "4.17.3", + "version": "4.18.1", + "resolved": "https://registry.npmjs.org/express/-/express-4.18.1.tgz", + "integrity": "sha512-zZBcOX9TfehHQhtupq57OF8lFZ3UZi08Y97dwFCkD8p9d/d2Y3M+ykKcwaMDEL+4qyUolgBDX6AblpR3fL212Q==", "requires": { "accepts": "~1.3.8", "array-flatten": "1.1.1", - "body-parser": "1.19.2", + "body-parser": "1.20.0", "content-disposition": "0.5.4", "content-type": "~1.0.4", - "cookie": "0.4.2", + "cookie": "0.5.0", "cookie-signature": "1.0.6", "debug": "2.6.9", - "depd": "~1.1.2", + "depd": "2.0.0", "encodeurl": "~1.0.2", "escape-html": "~1.0.3", "etag": "~1.8.1", - "finalhandler": "~1.1.2", + "finalhandler": "1.2.0", "fresh": "0.5.2", + "http-errors": "2.0.0", "merge-descriptors": "1.0.1", "methods": "~1.1.2", - "on-finished": "~2.3.0", + "on-finished": "2.4.1", "parseurl": "~1.3.3", "path-to-regexp": "0.1.7", "proxy-addr": "~2.0.7", - "qs": "6.9.7", + "qs": "6.10.3", "range-parser": "~1.2.1", "safe-buffer": "5.2.1", - "send": "0.17.2", - "serve-static": "1.14.2", + "send": "0.18.0", + "serve-static": "1.15.0", "setprototypeof": "1.2.0", - "statuses": "~1.5.0", + "statuses": "2.0.1", "type-is": "~1.6.18", "utils-merge": "1.0.1", "vary": "~1.1.2" @@ -83392,29 +82948,16 @@ "ms": "2.0.0" } }, + "depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==" + }, "ms": { "version": "2.0.0" - }, - "qs": { - "version": "6.9.7" } } }, - "ext-list": { - "version": "2.2.2", - "dev": true, - "requires": { - "mime-db": "^1.28.0" - } - }, - "ext-name": { - "version": "5.0.0", - "dev": true, - "requires": { - "ext-list": "^2.0.0", - "sort-keys-length": "^1.0.0" - } - }, "extend": { "version": "3.0.2" }, @@ -83454,6 +82997,29 @@ } } }, + "extract-zip": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz", + "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==", + "dev": true, + "requires": { + "@types/yauzl": "^2.9.1", + "debug": "^4.1.1", + "get-stream": "^5.1.0", + "yauzl": "^2.10.0" + }, + "dependencies": { + "get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "dev": true, + "requires": { + "pump": "^3.0.0" + } + } + } + }, "extsprintf": { "version": "1.3.0", "dev": true @@ -83513,13 +83079,17 @@ }, "fd-slicer": { "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", + "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", "dev": true, "requires": { "pend": "~1.2.0" } }, "fetch-blob": { - "version": "3.1.4", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/fetch-blob/-/fetch-blob-3.2.0.tgz", + "integrity": "sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==", "dev": true, "requires": { "node-domexception": "^1.0.0", @@ -83604,10 +83174,6 @@ } } }, - "file-type": { - "version": "11.1.0", - "dev": true - }, "file-uri-to-path": { "version": "1.0.0", "optional": true @@ -83619,19 +83185,6 @@ "minimatch": "^3.0.4" } }, - "filename-reserved-regex": { - "version": "2.0.0", - "dev": true - }, - "filenamify": { - "version": "3.0.0", - "dev": true, - "requires": { - "filename-reserved-regex": "^2.0.0", - "strip-outer": "^1.0.0", - "trim-repeated": "^1.0.0" - } - }, "fill-range": { "version": "7.0.1", "requires": { @@ -83643,25 +83196,31 @@ "dev": true }, "finalhandler": { - "version": "1.1.2", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", + "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", "requires": { "debug": "2.6.9", "encodeurl": "~1.0.2", "escape-html": "~1.0.3", - "on-finished": "~2.3.0", + "on-finished": "2.4.1", "parseurl": "~1.3.3", - "statuses": "~1.5.0", + "statuses": "2.0.1", "unpipe": "~1.0.0" }, "dependencies": { "debug": { "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "requires": { "ms": "2.0.0" } }, "ms": { - "version": "2.0.0" + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" } } }, @@ -83912,6 +83471,8 @@ }, "formdata-polyfill": { "version": "4.0.10", + "resolved": "https://registry.npmjs.org/formdata-polyfill/-/formdata-polyfill-4.0.10.tgz", + "integrity": "sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==", "dev": true, "requires": { "fetch-blob": "^3.1.2" @@ -83996,12 +83557,10 @@ } } }, - "fs-constants": { - "version": "1.0.0", - "dev": true - }, "fs-extra": { - "version": "10.0.0", + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", "requires": { "graceful-fs": "^4.2.0", "jsonfile": "^6.0.1", @@ -84635,7 +84194,9 @@ } }, "has-bigints": { - "version": "1.0.1" + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", + "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==" }, "has-flag": { "version": "4.0.0" @@ -84654,20 +84215,19 @@ } } }, - "has-symbol-support-x": { - "version": "1.4.2", - "dev": true - }, - "has-symbols": { - "version": "1.0.2" - }, - "has-to-string-tag-x": { - "version": "1.4.1", - "dev": true, + "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==", "requires": { - "has-symbol-support-x": "^1.4.1" + "get-intrinsic": "^1.1.1" } }, + "has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" + }, "has-tostringtag": { "version": "1.0.0", "requires": { @@ -85002,6 +84562,8 @@ }, "hoopy": { "version": "0.1.4", + "resolved": "https://registry.npmjs.org/hoopy/-/hoopy-0.1.4.tgz", + "integrity": "sha512-HRcs+2mr52W0K+x8RzcLzuPPmVIKMSv97RGHy0Ea9y/mpcaK+xTrjICA04KAHi4GRzxliNqNJEFYWHghy3rSfQ==", "dev": true }, "hosted-git-info": { @@ -85011,6 +84573,13 @@ "lru-cache": "^6.0.0" } }, + "hpagent": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/hpagent/-/hpagent-0.1.2.tgz", + "integrity": "sha512-ePqFXHtSQWAFXYmj+JtOTHr84iNrII4/QRlAAPPE+zqnKy4xJo7Ie1Y4kC7AdB+LxLxSTTzBMASsEcy0q8YyvQ==", + "dev": true, + "optional": true + }, "html-entities": { "version": "2.3.2" }, @@ -85150,13 +84719,22 @@ "dev": true }, "http-errors": { - "version": "1.8.1", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", "requires": { - "depd": "~1.1.2", + "depd": "2.0.0", "inherits": "2.0.4", "setprototypeof": "1.2.0", - "statuses": ">= 1.5.0 < 2", + "statuses": "2.0.1", "toidentifier": "1.0.1" + }, + "dependencies": { + "depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==" + } } }, "http-proxy-agent": { @@ -85591,14 +85169,6 @@ "interpret": { "version": "2.2.0" }, - "into-stream": { - "version": "3.1.0", - "dev": true, - "requires": { - "from2": "^2.1.1", - "p-is-promise": "^1.1.0" - } - }, "invariant": { "version": "2.2.2", "requires": { @@ -85642,6 +85212,8 @@ }, "is-bigint": { "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", "requires": { "has-bigints": "^1.0.1" } @@ -85654,6 +85226,8 @@ }, "is-boolean-object": { "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", "requires": { "call-bind": "^1.0.2", "has-tostringtag": "^1.0.0" @@ -85772,10 +85346,6 @@ "is-map": { "version": "2.0.2" }, - "is-natural-number": { - "version": "4.0.1", - "dev": true - }, "is-negative-zero": { "version": "2.0.2" }, @@ -85789,7 +85359,9 @@ "version": "7.0.0" }, "is-number-object": { - "version": "1.0.6", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", + "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", "requires": { "has-tostringtag": "^1.0.0" } @@ -85853,15 +85425,16 @@ "version": "2.1.0", "dev": true }, - "is-retry-allowed": { - "version": "1.2.0", - "dev": true - }, "is-set": { "version": "2.0.2" }, "is-shared-array-buffer": { - "version": "1.0.1" + "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==", + "requires": { + "call-bind": "^1.0.2" + } }, "is-ssh": { "version": "1.3.3", @@ -85907,6 +85480,12 @@ "upper-case": "^1.1.0" } }, + "is-url": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/is-url/-/is-url-1.2.4.tgz", + "integrity": "sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==", + "dev": true + }, "is-weakref": { "version": "1.0.2", "requires": { @@ -85969,14 +85548,6 @@ } } }, - "isurl": { - "version": "1.0.0", - "dev": true, - "requires": { - "has-to-string-tag-x": "^1.2.0", - "is-object": "^1.0.1" - } - }, "iterate-iterator": { "version": "1.0.2" }, @@ -86190,6 +85761,8 @@ }, "jsonwebtoken": { "version": "8.5.1", + "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-8.5.1.tgz", + "integrity": "sha512-XjwVfRS6jTMsqYs0EsuJ4LGxXV14zQybNd4L2r0UvbVnSF9Af8x7p5MzbJ90Ioz/9TI41/hTCvznF/loiSzn8w==", "dev": true, "requires": { "jws": "^3.2.2", @@ -86206,6 +85779,8 @@ "dependencies": { "semver": { "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", "dev": true } } @@ -86225,6 +85800,8 @@ }, "jwa": { "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jwa/-/jwa-1.4.1.tgz", + "integrity": "sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==", "dev": true, "requires": { "buffer-equal-constant-time": "1.0.1", @@ -86234,6 +85811,8 @@ }, "jws": { "version": "3.2.2", + "resolved": "https://registry.npmjs.org/jws/-/jws-3.2.2.tgz", + "integrity": "sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==", "dev": true, "requires": { "jwa": "^1.4.1", @@ -86677,6 +86256,8 @@ }, "listr-verbose-renderer": { "version": "0.6.0", + "resolved": "https://registry.npmjs.org/listr-verbose-renderer/-/listr-verbose-renderer-0.6.0.tgz", + "integrity": "sha512-P3bA/giMu432bs3gHiKXKOIHlWanCIlRhbhCfgKNgCoyvTvZsdbfkgX1BvThYXhm36cS8pOX3Z5vxXBFZC+NQw==", "dev": true, "requires": { "chalk": "^2.4.1", @@ -86687,6 +86268,8 @@ "dependencies": { "ansi-styles": { "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { "color-convert": "^1.9.0" @@ -86694,6 +86277,8 @@ }, "chalk": { "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dev": true, "requires": { "ansi-styles": "^3.2.1", @@ -86703,6 +86288,8 @@ }, "cli-cursor": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", + "integrity": "sha512-8lgKz8LmCRYZZQDpRyT2m5rKJ08TnU4tR9FFFW2rxpxR1FzWi4PQ/NfyODchAatHaUgnSPVcx/R5w6NuTBzFiw==", "dev": true, "requires": { "restore-cursor": "^2.0.0" @@ -86710,6 +86297,8 @@ }, "color-convert": { "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", "dev": true, "requires": { "color-name": "1.1.3" @@ -86717,10 +86306,14 @@ }, "color-name": { "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", "dev": true }, "figures": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", + "integrity": "sha512-Oa2M9atig69ZkfwiApY8F2Yy+tzMbazyvqv21R0NsSC8floSOC09BbT1ITWAdoMGQvJ/aZnR1KMwdx9tvHnTNA==", "dev": true, "requires": { "escape-string-regexp": "^1.0.5" @@ -86728,14 +86321,20 @@ }, "has-flag": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", "dev": true }, "mimic-fn": { "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", + "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", "dev": true }, "onetime": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", + "integrity": "sha512-oyyPpiMaKARvvcgip+JV+7zci5L8D1W9RZIz2l1o08AM3pfspitVWnPt3mzHcBPp12oYMTy0pqrFs/C+m3EwsQ==", "dev": true, "requires": { "mimic-fn": "^1.0.0" @@ -86743,6 +86342,8 @@ }, "restore-cursor": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", + "integrity": "sha512-6IzJLuGi4+R14vwagDHX+JrXmPVtPpn4mffDJ1UdR7/Edm87fl6yi8mMBIVvFtJaNTUvjughmW4hwLhRG7gC1Q==", "dev": true, "requires": { "onetime": "^2.0.0", @@ -86751,6 +86352,8 @@ }, "supports-color": { "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "requires": { "has-flag": "^3.0.0" @@ -86879,6 +86482,12 @@ "version": "3.0.0", "dev": true }, + "lodash.clonedeep": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", + "integrity": "sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ==", + "dev": true + }, "lodash.debounce": { "version": "4.0.8" }, @@ -86892,14 +86501,20 @@ }, "lodash.includes": { "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz", + "integrity": "sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w==", "dev": true }, "lodash.isboolean": { "version": "3.0.3", + "resolved": "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz", + "integrity": "sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==", "dev": true }, "lodash.isinteger": { "version": "4.0.4", + "resolved": "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz", + "integrity": "sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA==", "dev": true }, "lodash.ismatch": { @@ -86908,6 +86523,8 @@ }, "lodash.isnumber": { "version": "3.0.3", + "resolved": "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz", + "integrity": "sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw==", "dev": true }, "lodash.isplainobject": { @@ -86924,6 +86541,14 @@ }, "lodash.once": { "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", + "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==", + "dev": true + }, + "lodash.startcase": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.startcase/-/lodash.startcase-4.4.0.tgz", + "integrity": "sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg==", "dev": true }, "lodash.template": { @@ -87194,7 +86819,9 @@ "requires": {} }, "marked": { - "version": "3.0.8", + "version": "4.0.18", + "resolved": "https://registry.npmjs.org/marked/-/marked-4.0.18.tgz", + "integrity": "sha512-wbLDJ7Zh0sqA0Vdg6aqlbT+yPxqLblpAZh1mK2+AO2twQkPywvvqQNfEPVwSSRjZ7dZcdeVBIAgiO7MMp3Dszw==", "dev": true }, "mathml-tag-names": { @@ -87722,7 +87349,9 @@ "version": "1.0.1" }, "media-typer": { - "version": "0.3.0" + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==" }, "mem": { "version": "8.1.1", @@ -88481,7 +88110,9 @@ } }, "mime": { - "version": "1.6.0" + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" }, "mime-db": { "version": "1.51.0" @@ -108648,6 +108279,75 @@ } } }, + "ngrok": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/ngrok/-/ngrok-4.3.1.tgz", + "integrity": "sha512-s0joO2liKYiGTVARyzL8hfLIXAZT03GDK3oJqsZK6d61Es+HCx77j8E9ysUbtkMEyvBgYmIMr8taQNsvQt4/DQ==", + "dev": true, + "requires": { + "@types/node": "^8.10.50", + "extract-zip": "^2.0.1", + "got": "^11.5.1", + "hpagent": "^0.1.2", + "lodash.clonedeep": "^4.5.0", + "uuid": "^7.0.0 || ^8.0.0", + "yaml": "^1.10.0" + }, + "dependencies": { + "@sindresorhus/is": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.6.0.tgz", + "integrity": "sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==", + "dev": true + }, + "@types/node": { + "version": "8.10.66", + "resolved": "https://registry.npmjs.org/@types/node/-/node-8.10.66.tgz", + "integrity": "sha512-tktOkFUA4kXx2hhhrB8bIFb5TbwzS4uOhKEmwiD+NoiL0qtP2OQ9mFldbgD4dV1djrlBYP6eBuQZiWjuHUpqFw==", + "dev": true + }, + "cacheable-lookup": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz", + "integrity": "sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==", + "dev": true + }, + "decompress-response": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", + "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", + "dev": true, + "requires": { + "mimic-response": "^3.1.0" + } + }, + "got": { + "version": "11.8.5", + "resolved": "https://registry.npmjs.org/got/-/got-11.8.5.tgz", + "integrity": "sha512-o0Je4NvQObAuZPHLFoRSkdG2lTgtcynqymzg2Vupdx6PorhaT5MCbIyXG6d4D94kk8ZG57QeosgdiqfJWhEhlQ==", + "dev": true, + "requires": { + "@sindresorhus/is": "^4.0.0", + "@szmarczak/http-timer": "^4.0.5", + "@types/cacheable-request": "^6.0.1", + "@types/responselike": "^1.0.0", + "cacheable-lookup": "^5.0.3", + "cacheable-request": "^7.0.2", + "decompress-response": "^6.0.0", + "http2-wrapper": "^1.0.0-beta.5.2", + "lowercase-keys": "^2.0.0", + "p-cancelable": "^2.0.0", + "responselike": "^2.0.0" + } + }, + "mimic-response": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", + "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", + "dev": true + } + } + }, "nice-try": { "version": "1.0.5" }, @@ -108732,6 +108432,8 @@ }, "node-domexception": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/node-domexception/-/node-domexception-1.0.0.tgz", + "integrity": "sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==", "dev": true }, "node-fetch": { @@ -109250,7 +108952,9 @@ } }, "on-finished": { - "version": "2.3.0", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", "requires": { "ee-first": "1.1.1" } @@ -109382,10 +109086,6 @@ "p-finally": { "version": "1.0.0" }, - "p-is-promise": { - "version": "1.1.0", - "dev": true - }, "p-limit": { "version": "3.1.0", "requires": { @@ -109948,6 +109648,8 @@ }, "pend": { "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==", "dev": true }, "performance-now": { @@ -110313,7 +110015,9 @@ "dev": true }, "prettier": { - "version": "2.5.1", + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.7.1.tgz", + "integrity": "sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g==", "dev": true }, "prettier-linter-helpers": { @@ -110732,10 +110436,12 @@ "version": "1.2.1" }, "raw-body": { - "version": "2.4.3", + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", + "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", "requires": { "bytes": "3.1.2", - "http-errors": "1.8.1", + "http-errors": "2.0.0", "iconv-lite": "0.4.24", "unpipe": "1.0.0" } @@ -111141,13 +110847,26 @@ } }, "recast": { - "version": "0.20.5", + "version": "0.21.1", + "resolved": "https://registry.npmjs.org/recast/-/recast-0.21.1.tgz", + "integrity": "sha512-PF61BHLaOGF5oIKTpSrDM6Qfy2d7DIx5qblgqG+wjqHuFH97OgAqBYFIJwEuHTrM6pQGT17IJ8D0C/jVu/0tig==", "dev": true, "requires": { - "ast-types": "0.14.2", + "ast-types": "0.15.2", "esprima": "~4.0.0", "source-map": "~0.6.1", "tslib": "^2.0.1" + }, + "dependencies": { + "ast-types": { + "version": "0.15.2", + "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.15.2.tgz", + "integrity": "sha512-c27loCv9QkZinsa5ProX751khO9DJl/AcB5c2KNtA6NRvHKS0PgLfcftz72KVq504vB0Gku5s2kUZzDBvQWvHg==", + "dev": true, + "requires": { + "tslib": "^2.0.1" + } + } } }, "recursive-copy": { @@ -111305,10 +111024,13 @@ } }, "regexp.prototype.flags": { - "version": "1.4.1", + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz", + "integrity": "sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==", "requires": { "call-bind": "^1.0.2", - "define-properties": "^1.1.3" + "define-properties": "^1.1.3", + "functions-have-names": "^1.2.2" } }, "regexparam": { @@ -112076,23 +111798,6 @@ } } }, - "request-promise": { - "version": "4.2.6", - "dev": true, - "requires": { - "bluebird": "^3.5.0", - "request-promise-core": "1.1.4", - "stealthy-require": "^1.1.1", - "tough-cookie": "^2.3.3" - } - }, - "request-promise-core": { - "version": "1.1.4", - "dev": true, - "requires": { - "lodash": "^4.17.19" - } - }, "require-directory": { "version": "2.1.1" }, @@ -112707,13 +112412,6 @@ "kind-of": "^6.0.0" } }, - "seek-bzip": { - "version": "1.0.6", - "dev": true, - "requires": { - "commander": "^2.8.1" - } - }, "semver": { "version": "7.3.5", "requires": { @@ -112738,36 +112436,49 @@ } }, "send": { - "version": "0.17.2", + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", + "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", "requires": { "debug": "2.6.9", - "depd": "~1.1.2", - "destroy": "~1.0.4", + "depd": "2.0.0", + "destroy": "1.2.0", "encodeurl": "~1.0.2", "escape-html": "~1.0.3", "etag": "~1.8.1", "fresh": "0.5.2", - "http-errors": "1.8.1", + "http-errors": "2.0.0", "mime": "1.6.0", "ms": "2.1.3", - "on-finished": "~2.3.0", + "on-finished": "2.4.1", "range-parser": "~1.2.1", - "statuses": "~1.5.0" + "statuses": "2.0.1" }, "dependencies": { "debug": { "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "requires": { "ms": "2.0.0" }, "dependencies": { "ms": { - "version": "2.0.0" + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" } } }, + "depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==" + }, "ms": { - "version": "2.1.3" + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" } } }, @@ -112792,12 +112503,27 @@ } } }, + "serialize-error": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-11.0.0.tgz", + "integrity": "sha512-YKrURWDqcT3VGX/s/pCwaWtpfJEEaEw5Y4gAnQDku92b/HjVj4r4UhA5QrMVMFotymK2wIWs5xthny5SMFu7Vw==", + "dev": true, + "requires": { + "type-fest": "^2.12.2" + } + }, "serialize-javascript": { "version": "6.0.0", "requires": { "randombytes": "^2.1.0" } }, + "serializr": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/serializr/-/serializr-2.0.5.tgz", + "integrity": "sha512-tT+S+APvbkXjs+l7E6xEgLhMrfq0DmhoCucB79j9FI781deDndjTEZknzEyzMKeETGyqL0kQprvEMCiCTMUGFQ==", + "dev": true + }, "serve-favicon": { "version": "2.5.0", "requires": { @@ -112817,12 +112543,14 @@ } }, "serve-static": { - "version": "1.14.2", + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", "requires": { "encodeurl": "~1.0.2", "escape-html": "~1.0.3", "parseurl": "~1.3.3", - "send": "0.17.2" + "send": "0.18.0" } }, "set-blocking": { @@ -112852,7 +112580,9 @@ "version": "1.0.5" }, "setprototypeof": { - "version": "1.2.0" + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" }, "sha.js": { "version": "2.4.11", @@ -113071,22 +112801,6 @@ } } }, - "sort-keys-length": { - "version": "1.0.1", - "dev": true, - "requires": { - "sort-keys": "^1.0.0" - }, - "dependencies": { - "sort-keys": { - "version": "1.1.2", - "dev": true, - "requires": { - "is-plain-obj": "^1.0.0" - } - } - } - }, "source-list-map": { "version": "2.0.1" }, @@ -113452,11 +113166,9 @@ } }, "statuses": { - "version": "1.5.0" - }, - "stealthy-require": { - "version": "1.1.1", - "dev": true + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==" }, "store2": { "version": "2.13.1" @@ -113591,17 +113303,23 @@ } }, "string.prototype.trimend": { - "version": "1.0.4", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.5.tgz", + "integrity": "sha512-I7RGvmjV4pJ7O3kdf+LXFpVfdNOxtCW/2C8f6jNiW4+PQchwxkCDzlk1/7p+Wl4bqFIZeF47qAHXLuHHWKAxog==", "requires": { "call-bind": "^1.0.2", - "define-properties": "^1.1.3" + "define-properties": "^1.1.4", + "es-abstract": "^1.19.5" } }, "string.prototype.trimstart": { - "version": "1.0.4", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.5.tgz", + "integrity": "sha512-THx16TJCGlsN0o6dl2o6ncWUsdgnLRSA23rRE5pyGBw/mLr3Ej/R2LaqCtgP8VNMGZsvMWnf9ooZPyY2bHvUFg==", "requires": { "call-bind": "^1.0.2", - "define-properties": "^1.1.3" + "define-properties": "^1.1.4", + "es-abstract": "^1.19.5" } }, "stringify-entities": { @@ -113636,13 +113354,6 @@ "version": "1.0.0", "dev": true }, - "strip-dirs": { - "version": "2.1.0", - "dev": true, - "requires": { - "is-natural-number": "^4.0.1" - } - }, "strip-eof": { "version": "1.0.0" }, @@ -113661,13 +113372,6 @@ "version": "2.0.1", "dev": true }, - "strip-outer": { - "version": "1.0.1", - "dev": true, - "requires": { - "escape-string-regexp": "^1.0.2" - } - }, "strong-log-transformer": { "version": "2.1.0", "dev": true, @@ -114070,53 +113774,6 @@ } } }, - "tar-stream": { - "version": "1.6.2", - "dev": true, - "requires": { - "bl": "^1.0.0", - "buffer-alloc": "^1.2.0", - "end-of-stream": "^1.0.0", - "fs-constants": "^1.0.0", - "readable-stream": "^2.3.0", - "to-buffer": "^1.1.1", - "xtend": "^4.0.0" - }, - "dependencies": { - "bl": { - "version": "1.2.3", - "dev": true, - "requires": { - "readable-stream": "^2.3.5", - "safe-buffer": "^5.1.1" - } - }, - "readable-stream": { - "version": "2.3.7", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "safe-buffer": { - "version": "5.1.2", - "dev": true - }, - "string_decoder": { - "version": "1.1.1", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, "telejson": { "version": "5.3.3", "requires": { @@ -114267,10 +113924,6 @@ "readable-stream": "3" } }, - "timed-out": { - "version": "4.0.1", - "dev": true - }, "timers-browserify": { "version": "2.0.12", "requires": { @@ -114329,10 +113982,6 @@ } } }, - "to-buffer": { - "version": "1.1.1", - "dev": true - }, "to-fast-properties": { "version": "2.0.0" }, @@ -114443,7 +114092,9 @@ "version": "1.0.6" }, "toidentifier": { - "version": "1.0.1" + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==" }, "tough-cookie": { "version": "2.5.0", @@ -114471,13 +114122,6 @@ "version": "3.0.1", "dev": true }, - "trim-repeated": { - "version": "1.0.0", - "dev": true, - "requires": { - "escape-string-regexp": "^1.0.2" - } - }, "trim-trailing-lines": { "version": "1.1.4" }, @@ -114486,6 +114130,8 @@ }, "tryer": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tryer/-/tryer-1.0.1.tgz", + "integrity": "sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA==", "dev": true }, "ts-dedent": { @@ -114544,11 +114190,15 @@ } }, "type-fest": { - "version": "2.12.0", + "version": "2.16.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.16.0.tgz", + "integrity": "sha512-qpaThT2HQkFb83gMOrdKVsfCN7LKxP26Yq+smPzY1FqoHRjqmjqHXA7n5Gkxi8efirtbeEUxzfEdePthQWCuHw==", "dev": true }, "type-is": { "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", "requires": { "media-typer": "0.3.0", "mime-types": "~2.1.24" @@ -114594,22 +114244,16 @@ "dev": true }, "unbox-primitive": { - "version": "1.0.1", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", + "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", "requires": { - "function-bind": "^1.1.1", - "has-bigints": "^1.0.1", - "has-symbols": "^1.0.2", + "call-bind": "^1.0.2", + "has-bigints": "^1.0.2", + "has-symbols": "^1.0.3", "which-boxed-primitive": "^1.0.2" } }, - "unbzip2-stream": { - "version": "1.4.3", - "dev": true, - "requires": { - "buffer": "^5.2.1", - "through": "^2.3.8" - } - }, "unfetch": { "version": "4.2.0" }, @@ -114957,7 +114601,9 @@ "version": "2.0.0" }, "unpipe": { - "version": "1.0.0" + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==" }, "unset-value": { "version": "1.0.0", @@ -115100,10 +114746,6 @@ "prepend-http": "^2.0.0" } }, - "url-to-options": { - "version": "1.0.1", - "dev": true - }, "use": { "version": "3.1.1" }, @@ -115657,7 +115299,9 @@ "version": "1.1.4" }, "web-streams-polyfill": { - "version": "3.2.0", + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.2.1.tgz", + "integrity": "sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q==", "dev": true }, "webidl-conversions": { @@ -115782,6 +115426,8 @@ }, "which-boxed-primitive": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", "requires": { "is-bigint": "^1.0.1", "is-boolean-object": "^1.1.0", @@ -115962,6 +115608,8 @@ }, "yauzl": { "version": "2.10.0", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==", "dev": true, "requires": { "buffer-crc32": "~0.2.3", @@ -115975,10 +115623,6 @@ "yocto-queue": { "version": "0.1.0" }, - "zlib": { - "version": "1.0.5", - "dev": true - }, "zwitch": { "version": "1.0.5" } diff --git a/templates/app/package.json b/templates/app/package.json index ba33882..69cd03e 100644 --- a/templates/app/package.json +++ b/templates/app/package.json @@ -47,7 +47,7 @@ "devDependencies": { "@babel/core": "^7.16.12", "@jungvonmatt/contentful-fakes": "^1.7.1", - "@jungvonmatt/contentful-migrations": "^5.3.1", + "@jungvonmatt/contentful-migrations": "^5.3.2", "@jungvonmatt/contentful-ssg": "^1.9.0", "@jungvonmatt/cssg-plugin-assets": "^1.9.0", "@jungvonmatt/cssg-plugin-hugo": "^1.9.0", From a2603fc7f49d02e155d52e907d841c5d86055eb2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ben=20Z=C3=B6rb?= Date: Sun, 17 Jul 2022 00:50:04 +0200 Subject: [PATCH 37/63] lint --- .../core/0000000000003-create-t-page-migration.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/contentful-migrations/core/0000000000003-create-t-page-migration.js b/packages/contentful-migrations/core/0000000000003-create-t-page-migration.js index 2f8049f..05611b3 100644 --- a/packages/contentful-migrations/core/0000000000003-create-t-page-migration.js +++ b/packages/contentful-migrations/core/0000000000003-create-t-page-migration.js @@ -207,24 +207,24 @@ module.exports = withHelpers(async (migration, _context) => { const editorLayout = tPage.createEditorLayout(); editorLayout.createFieldGroup('content', { - name: 'Content' + name: 'Content', }); editorLayout.changeFieldGroupControl('content', 'builtin', 'topLevelTab', { - helpText: 'Main content' + helpText: 'Main content', }); editorLayout.createFieldGroup('settings').name('Settings'); editorLayout.changeFieldGroupControl('settings', 'builtin', 'topLevelTab', { - helpText: 'Page settings' + helpText: 'Page settings', }); editorLayout.editFieldGroup('settings').createFieldGroup('seo').name('SEO'); editorLayout.changeFieldGroupControl('seo', 'builtin', 'fieldset', { helpText: 'Search related fields', - collapsedByDefault: false + collapsedByDefault: false, }); editorLayout.moveField('title').toTheTopOfFieldGroup('settings'); From 7e6d9af821e760e5c9b657a251da2167e9751fe0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ben=20Z=C3=B6rb?= Date: Sun, 17 Jul 2022 23:31:24 +0200 Subject: [PATCH 38/63] Adds watch scripts to package.json --- templates/app/package.json | 3 +++ 1 file changed, 3 insertions(+) diff --git a/templates/app/package.json b/templates/app/package.json index 69cd03e..dac9ea8 100644 --- a/templates/app/package.json +++ b/templates/app/package.json @@ -10,6 +10,9 @@ "clean": "del resources public \"data/*\" \"!data/storybook\"", "precontent": "npm run clean", "content": "cssg fetch", + "watch:hugo": "hugo server --watch --noHTTPCache", + "watch:content": "cssg watch", + "watch": "run-p watch:content watch:hugo", "prestart": "npm run content", "start": "hugo server --disableFastRender --log", "prebuild": "npm run content", From 9c4387a1542b72399b7991cbdb1f63936e3dbcb8 Mon Sep 17 00:00:00 2001 From: Peter Schewe Date: Mon, 18 Jul 2022 10:13:02 +0200 Subject: [PATCH 39/63] refactor: rename .modules to .content --- .../core/0000000000003-create-t-page-migration.js | 8 ++++---- .../theme-default/layouts/partials/templates/t-page.html | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/packages/contentful-migrations/core/0000000000003-create-t-page-migration.js b/packages/contentful-migrations/core/0000000000003-create-t-page-migration.js index 05611b3..e702475 100644 --- a/packages/contentful-migrations/core/0000000000003-create-t-page-migration.js +++ b/packages/contentful-migrations/core/0000000000003-create-t-page-migration.js @@ -138,8 +138,8 @@ module.exports = withHelpers(async (migration, _context) => { .linkType('Entry'); tPage - .createField('modules') - .name('Modules') + .createField('content') + .name('Content') .type('Array') .localized(true) .required(false) @@ -196,12 +196,12 @@ module.exports = withHelpers(async (migration, _context) => { tPage.changeFieldControl('stage', 'builtin', 'entryLinkEditor', {}); - tPage.changeFieldControl('modules', 'builtin', 'entryLinksEditor', {}); + tPage.changeFieldControl('content', 'builtin', 'entryLinksEditor', {}); // Define page type and components (Compose only) tPage.setAnnotations(['Contentful:AggregateRoot']); tPage.editField('stage').setAnnotations(['Contentful:AggregateComponent']); - tPage.editField('modules').setAnnotations(['Contentful:AggregateComponent']); + tPage.editField('content').setAnnotations(['Contentful:AggregateComponent']); // Create editor layout (Compose only) const editorLayout = tPage.createEditorLayout(); diff --git a/templates/theme-default/layouts/partials/templates/t-page.html b/templates/theme-default/layouts/partials/templates/t-page.html index 9d02822..09aa9b0 100644 --- a/templates/theme-default/layouts/partials/templates/t-page.html +++ b/templates/theme-default/layouts/partials/templates/t-page.html @@ -2,7 +2,7 @@ {{- $context := .context | default dict -}} {{- $theme := $context.theme -}} {{- $stage := $context.stage -}} -{{- $modules := $context.modules -}} +{{- $content := $context.content -}}
{{- with $stage -}} @@ -12,7 +12,7 @@ "options" (dict "theme" $theme) ) -}} {{- end -}} - {{- range $modules -}} + {{- range $content -}} {{- partial "utils/get-partial" (dict "context" . "globals" $globals From 138ebdcad5d1bb4978ba221e68d081dbc0564dca Mon Sep 17 00:00:00 2001 From: Peter Schewe Date: Mon, 18 Jul 2022 22:25:28 +0200 Subject: [PATCH 40/63] refactor: add d-seo content type --- .../core/utils/seo/private/get-data.html | 20 ++-- .../0000000000003-create-t-page-migration.js | 91 ++-------------- .../0000000000004-create-d-seo-migration.js | 100 ++++++++++++++++++ ... 0000000000005-create-d-i18n-migration.js} | 0 ...000000000006-create-x-deploy-migration.js} | 0 ...000000007-configure-x-deploy-migration.js} | 0 ...-create-multi-text-extension-migration.js} | 0 7 files changed, 121 insertions(+), 90 deletions(-) create mode 100644 packages/contentful-migrations/core/0000000000004-create-d-seo-migration.js rename packages/contentful-migrations/core/{0000000000004-create-d-i18n-migration.js => 0000000000005-create-d-i18n-migration.js} (100%) rename packages/contentful-migrations/core/{0000000000005-create-x-deploy-migration.js => 0000000000006-create-x-deploy-migration.js} (100%) rename packages/contentful-migrations/core/{0000000000006-configure-x-deploy-migration.js => 0000000000007-configure-x-deploy-migration.js} (100%) rename packages/contentful-migrations/core/{0000000000007-create-multi-text-extension-migration.js => 0000000000008-create-multi-text-extension-migration.js} (100%) diff --git a/hugo-modules/core/utils/seo/private/get-data.html b/hugo-modules/core/utils/seo/private/get-data.html index 0153aba..2b60189 100644 --- a/hugo-modules/core/utils/seo/private/get-data.html +++ b/hugo-modules/core/utils/seo/private/get-data.html @@ -29,7 +29,13 @@ {{ $s := newScratch }} {{ $s.Set "seo" dict }} -{{ $config := partialCached "utils/seo/private/get-config" "seo/private/get-config" }} +{{ $seo_params := dict }} +{{ with .Params.seo }} + {{ $seo_params = . }} + {{ with partialCached "utils/get-params" . . }} + {{ $seo_params = . }} + {{ end }} +{{ end }} {{/* Dates ----------------------------- */}} @@ -59,8 +65,8 @@ 4. site description */}} {{ $description := "" }} {{/* 1. SEO Description */}} -{{ if .Params.seo_description }} - {{ $description = .Params.seo_description }} +{{ if $seo_params.description }} + {{ $description = $seo_params.description }} {{/* 2. Description As it could potentially contain HTML tags, we strip them with plainify */}} {{ else if .Description }} @@ -86,7 +92,7 @@ 1. Every pages: `{.Title} | {site.Title}` 2. Homepage: , only {site.Title} */}} {{ $title := .Title }} -{{ with .Params.seo_title }} +{{ with $seo_params.title }} {{ $title = . }} {{ end }} {{ if not .IsHome }} @@ -182,10 +188,12 @@ {{/* Robots ---------------------------- */}} -{{ $no_index := .Params.no_index | default false }} -{{ $no_follow := .Params.no_follow | default false }} +{{ with $seo_params }} + {{ $no_index := .no_index | default false }} + {{ $no_follow := .no_follow | default false }} {{ $s.SetInMap "seo" "no_index" $no_index }} {{ $s.SetInMap "seo" "no_follow" $no_follow }} +{{ end -}} {{/* Locale and translations ---------------------------- */}} diff --git a/packages/contentful-migrations/core/0000000000003-create-t-page-migration.js b/packages/contentful-migrations/core/0000000000003-create-t-page-migration.js index e702475..1e8d873 100644 --- a/packages/contentful-migrations/core/0000000000003-create-t-page-migration.js +++ b/packages/contentful-migrations/core/0000000000003-create-t-page-migration.js @@ -54,59 +54,19 @@ module.exports = withHelpers(async (migration, _context) => { .linkType('Entry'); tPage - .createField('seo_title') - .name('SEO title') - .type('Symbol') - .localized(true) - .required(false) - .validations([]) - .disabled(false) - .omitted(false); - - tPage - .createField('seo_description') - .name('SEO description') - .type('Symbol') - .localized(true) - .required(false) - .validations([]) - .disabled(false) - .omitted(false); - - tPage - .createField('share_image') - .name('Share image') + .createField('seo') + .name('SEO metadata') .type('Link') .localized(false) .required(false) .validations([ { - linkMimetypeGroup: ['image'], + linkContentType: ['d-seo'], }, ]) .disabled(false) .omitted(false) - .linkType('Asset'); - - tPage - .createField('no_index') - .name('Hide page from search engines? (noindex)') - .type('Boolean') - .localized(false) - .required(false) - .validations([]) - .disabled(false) - .omitted(false); - - tPage - .createField('no_follow') - .name('Exclude links from search rankings? (nofollow)') - .type('Boolean') - .localized(false) - .required(false) - .validations([]) - .disabled(false) - .omitted(false); + .linkType('Entry'); tPage .createField('theme') @@ -162,35 +122,13 @@ module.exports = withHelpers(async (migration, _context) => { tPage.changeFieldControl('title', 'builtin', 'singleLine', {}); - tPage.changeFieldControl('parent_page', 'builtin', 'entryLinkEditor', {}); - tPage.changeFieldControl('slug', 'builtin', 'slugEditor', { trackingFieldId: 'title', }); - tPage.changeFieldControl('seo_title', 'builtin', 'singleLine', { - helpText: 'This will override the page title in search engine results', - }); - - tPage.changeFieldControl('seo_description', 'builtin', 'singleLine', { - helpText: 'This will be displayed in search engine results', - }); - - tPage.changeFieldControl('share_image', 'builtin', 'assetLinkEditor', { - helpText: 'This will be displayed when sharing the page on social media', - }); - - tPage.changeFieldControl('no_index', 'builtin', 'boolean', { - helpText: 'Search engines will not include this page in search results', - trueLabel: 'Yes', - falseLabel: 'No', - }); + tPage.changeFieldControl('parent_page', 'builtin', 'entryLinkEditor', {}); - tPage.changeFieldControl('no_follow', 'builtin', 'boolean', { - helpText: 'Search engines will not follow the links on your page', - trueLabel: 'Yes', - falseLabel: 'No', - }); + tPage.changeFieldControl('seo', 'builtin', 'entryCardEditor', {}); tPage.changeFieldControl('theme', 'builtin', 'radio', {}); @@ -220,26 +158,11 @@ module.exports = withHelpers(async (migration, _context) => { helpText: 'Page settings', }); - editorLayout.editFieldGroup('settings').createFieldGroup('seo').name('SEO'); - - editorLayout.changeFieldGroupControl('seo', 'builtin', 'fieldset', { - helpText: 'Search related fields', - collapsedByDefault: false, - }); - editorLayout.moveField('title').toTheTopOfFieldGroup('settings'); editorLayout.moveField('slug').afterField('title'); editorLayout.moveField('parent_page').afterField('slug'); - editorLayout.moveField('seo_title').toTheTopOfFieldGroup('seo'); - - editorLayout.moveField('seo_description').afterField('seo_title'); - - editorLayout.moveField('share_image').afterField('seo_description'); - - editorLayout.moveField('no_index').afterField('share_image'); - - editorLayout.moveField('no_follow').afterField('no_index'); + editorLayout.moveField('seo').afterField('parent_page'); }); diff --git a/packages/contentful-migrations/core/0000000000004-create-d-seo-migration.js b/packages/contentful-migrations/core/0000000000004-create-d-seo-migration.js new file mode 100644 index 0000000..0bedaf9 --- /dev/null +++ b/packages/contentful-migrations/core/0000000000004-create-d-seo-migration.js @@ -0,0 +1,100 @@ +module.exports = function (migration) { + const dSeo = migration + .createContentType('d-seo') + .name('Data: SEO') + .description('SEO metadata for web pages') + .displayField('internal_name'); + + dSeo + .createField('internal_name') + .name('Internal name') + .type('Symbol') + .localized(false) + .required(true) + .validations([]) + .disabled(false) + .omitted(false); + + dSeo + .createField('title') + .name('SEO title') + .type('Symbol') + .localized(true) + .required(false) + .validations([]) + .disabled(false) + .omitted(false); + + dSeo + .createField('description') + .name('Description') + .type('Symbol') + .localized(true) + .required(false) + .validations([]) + .disabled(false) + .omitted(false); + + dSeo + .createField('share_image') + .name('Share image') + .type('Link') + .localized(false) + .required(false) + .validations([ + { + linkMimetypeGroup: ['image'], + }, + ]) + .disabled(false) + .omitted(false) + .linkType('Asset'); + + dSeo + .createField('no_index') + .name('Hide page from search engines? (noindex)') + .type('Boolean') + .localized(false) + .required(false) + .validations([]) + .disabled(false) + .omitted(false); + + dSeo + .createField('no_follow') + .name('Exclude links from search rankings? (nofollow)') + .type('Boolean') + .localized(false) + .required(false) + .validations([]) + .disabled(false) + .omitted(false); + + dSeo.changeFieldControl('internal_name', 'builtin', 'singleLine', { + helpText: 'e.g. "Home page > SEO"', + }); + + dSeo.changeFieldControl('title', 'builtin', 'singleLine', { + helpText: 'This will override the page title in search engine results', + }); + + dSeo.changeFieldControl('description', 'builtin', 'singleLine', { + helpText: 'This will be displayed in search engine results', + }); + + dSeo.changeFieldControl('share_image', 'builtin', 'assetLinkEditor', { + helpText: 'This will be displayed when sharing the page on social media', + }); + + dSeo.changeFieldControl('no_index', 'builtin', 'boolean', { + helpText: 'Search engines will not include this page in search results', + trueLabel: 'Yes', + falseLabel: 'No', + }); + + dSeo.changeFieldControl('no_follow', 'builtin', 'boolean', { + helpText: 'Search engines will not follow the links on your page', + trueLabel: 'Yes', + falseLabel: 'No', + }); +}; diff --git a/packages/contentful-migrations/core/0000000000004-create-d-i18n-migration.js b/packages/contentful-migrations/core/0000000000005-create-d-i18n-migration.js similarity index 100% rename from packages/contentful-migrations/core/0000000000004-create-d-i18n-migration.js rename to packages/contentful-migrations/core/0000000000005-create-d-i18n-migration.js diff --git a/packages/contentful-migrations/core/0000000000005-create-x-deploy-migration.js b/packages/contentful-migrations/core/0000000000006-create-x-deploy-migration.js similarity index 100% rename from packages/contentful-migrations/core/0000000000005-create-x-deploy-migration.js rename to packages/contentful-migrations/core/0000000000006-create-x-deploy-migration.js diff --git a/packages/contentful-migrations/core/0000000000006-configure-x-deploy-migration.js b/packages/contentful-migrations/core/0000000000007-configure-x-deploy-migration.js similarity index 100% rename from packages/contentful-migrations/core/0000000000006-configure-x-deploy-migration.js rename to packages/contentful-migrations/core/0000000000007-configure-x-deploy-migration.js diff --git a/packages/contentful-migrations/core/0000000000007-create-multi-text-extension-migration.js b/packages/contentful-migrations/core/0000000000008-create-multi-text-extension-migration.js similarity index 100% rename from packages/contentful-migrations/core/0000000000007-create-multi-text-extension-migration.js rename to packages/contentful-migrations/core/0000000000008-create-multi-text-extension-migration.js From 620f67eba3318c4e301db99d0747c4d08c56f8c8 Mon Sep 17 00:00:00 2001 From: Peter Schewe Date: Mon, 18 Jul 2022 22:31:42 +0200 Subject: [PATCH 41/63] fix: add missing again --- hugo-modules/core/utils/seo/private/get-data.html | 2 ++ 1 file changed, 2 insertions(+) diff --git a/hugo-modules/core/utils/seo/private/get-data.html b/hugo-modules/core/utils/seo/private/get-data.html index 2b60189..1696a0d 100644 --- a/hugo-modules/core/utils/seo/private/get-data.html +++ b/hugo-modules/core/utils/seo/private/get-data.html @@ -37,6 +37,8 @@ {{ end }} {{ end }} +{{ $config := partialCached "utils/seo/private/get-config" "seo/private/get-config" }} + {{/* Dates ----------------------------- */}} {{ if not .PublishDate.IsZero }} From 4b045eaf7975084b1f71fcaf5da9f20a9b0dcc81 Mon Sep 17 00:00:00 2001 From: Peter Schewe Date: Mon, 18 Jul 2022 22:35:23 +0200 Subject: [PATCH 42/63] fix: use correct share image url --- hugo-modules/core/utils/seo/private/get-data.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/hugo-modules/core/utils/seo/private/get-data.html b/hugo-modules/core/utils/seo/private/get-data.html index 1696a0d..01c6176 100644 --- a/hugo-modules/core/utils/seo/private/get-data.html +++ b/hugo-modules/core/utils/seo/private/get-data.html @@ -121,8 +121,8 @@ {{ $img = . }} {{ end }} -{{ with .Params.share_image }} - {{ $img = . }} +{{ with $seo_params.share_image }} + {{ $img = .url }} {{ else }} {{/* If no SEO IMAGE is set, we look for the .Params.images slice and use the first one if it has an `image` key */}} From 01652ce623cabca6a28152f7379f515c33305280 Mon Sep 17 00:00:00 2001 From: Peter Schewe Date: Mon, 18 Jul 2022 22:39:31 +0200 Subject: [PATCH 43/63] chore: update comment block --- .../core/0000000000007-configure-x-deploy-migration.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/contentful-migrations/core/0000000000007-configure-x-deploy-migration.js b/packages/contentful-migrations/core/0000000000007-configure-x-deploy-migration.js index 29d0cc0..839daab 100644 --- a/packages/contentful-migrations/core/0000000000007-configure-x-deploy-migration.js +++ b/packages/contentful-migrations/core/0000000000007-configure-x-deploy-migration.js @@ -11,7 +11,7 @@ const readJsonAsync = async (filepath, options) => { }; /** - * Contentful migration to configure the the deploy content type + * Contentful migration to configure the deploy content type */ module.exports = withHelpers(async (migration, context, helpers) => { const { makeRequest } = context; From f5a1b069a66583c073ba8592de63f033100bc61c Mon Sep 17 00:00:00 2001 From: Peter Schewe Date: Tue, 19 Jul 2022 06:08:49 +0200 Subject: [PATCH 44/63] refactor: remove the ability to change the logo via Contentful --- ...00000000001-create-d-settings-migration.js | 15 ------------- .../layouts/partials/modules/m-header.html | 22 +++---------------- 2 files changed, 3 insertions(+), 34 deletions(-) diff --git a/packages/contentful-migrations/core/0000000000001-create-d-settings-migration.js b/packages/contentful-migrations/core/0000000000001-create-d-settings-migration.js index 0ab96bc..14789d5 100644 --- a/packages/contentful-migrations/core/0000000000001-create-d-settings-migration.js +++ b/packages/contentful-migrations/core/0000000000001-create-d-settings-migration.js @@ -25,21 +25,6 @@ module.exports = function (migration) { .disabled(false) .omitted(false); - dSettings - .createField('logo') - .name('Logo') - .type('Link') - .localized(false) - .required(false) - .validations([ - { - linkMimetypeGroup: ['image'], - }, - ]) - .disabled(false) - .omitted(false) - .linkType('Asset'); - dSettings .createField('home') .name('Home page') diff --git a/templates/theme-default/layouts/partials/modules/m-header.html b/templates/theme-default/layouts/partials/modules/m-header.html index 256b81a..2a5cd7e 100644 --- a/templates/theme-default/layouts/partials/modules/m-header.html +++ b/templates/theme-default/layouts/partials/modules/m-header.html @@ -1,29 +1,13 @@ {{- $globals := .globals -}} {{- $context := .context | default dict -}} {{- $options := .options | default dict -}} -{{- $settings := partial "utils/get-settings" . -}} -{{- $params := (merge $settings $context $options) -}} -{{- $logo := $params.logo -}} +{{- $params := (merge $context $options) -}}