From 1ab59df5dba9c8f4c3905088f5e082f1fd75d5c6 Mon Sep 17 00:00:00 2001 From: Oleg Zhuk Date: Tue, 14 Nov 2023 22:01:22 +0200 Subject: [PATCH] PT-14471: Include Product Images feat: Add a Store Setting to Include Product Images. faet: Update VC references to stable v6 feat: Update package-lock.json. --- VirtoCommerce.SitemapsModule.sln | 6 +- .../ModuleConstants.cs | 155 +++------ .../CatalogSitemapItemRecordProvider.cs | 68 ++-- .../StaticContentSitemapItemRecordProvider.cs | 4 +- .../VirtoCommerce.SitemapsModule.Data.csproj | 8 +- .../VirtoCommerce.SitemapsModule.Web.csproj | 2 +- .../module.manifest | 14 +- .../package-lock.json | 312 +++++++++--------- 8 files changed, 250 insertions(+), 319 deletions(-) diff --git a/VirtoCommerce.SitemapsModule.sln b/VirtoCommerce.SitemapsModule.sln index 9b998a6..0b87c02 100644 --- a/VirtoCommerce.SitemapsModule.sln +++ b/VirtoCommerce.SitemapsModule.sln @@ -15,11 +15,11 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "VirtoCommerce.SitemapsModul EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "VirtoCommerce.SitemapsModule.Tests", "tests\VirtoCommerce.SitemapsModule.Tests\VirtoCommerce.SitemapsModule.Tests.csproj", "{605F0F47-F54B-4E73-A773-6F83BF04655E}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VirtoCommerce.SitemapsModule.Data.SqlServer", "src\VirtoCommerce.SitemapsModule.Data.SqlServer\VirtoCommerce.SitemapsModule.Data.SqlServer.csproj", "{A38E681B-6284-4513-9744-26DBB2995B17}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "VirtoCommerce.SitemapsModule.Data.SqlServer", "src\VirtoCommerce.SitemapsModule.Data.SqlServer\VirtoCommerce.SitemapsModule.Data.SqlServer.csproj", "{A38E681B-6284-4513-9744-26DBB2995B17}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VirtoCommerce.SitemapsModule.Data.MySql", "src\VirtoCommerce.SitemapsModule.Data.MySql\VirtoCommerce.SitemapsModule.Data.MySql.csproj", "{26B459FA-2646-44CE-B8C4-95F354962E73}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "VirtoCommerce.SitemapsModule.Data.MySql", "src\VirtoCommerce.SitemapsModule.Data.MySql\VirtoCommerce.SitemapsModule.Data.MySql.csproj", "{26B459FA-2646-44CE-B8C4-95F354962E73}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VirtoCommerce.SitemapsModule.Data.PostgreSql", "src\VirtoCommerce.SitemapsModule.Data.PostgreSql\VirtoCommerce.SitemapsModule.Data.PostgreSql.csproj", "{B86F9860-5EEE-47AE-9608-96DCEB332DCB}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "VirtoCommerce.SitemapsModule.Data.PostgreSql", "src\VirtoCommerce.SitemapsModule.Data.PostgreSql\VirtoCommerce.SitemapsModule.Data.PostgreSql.csproj", "{B86F9860-5EEE-47AE-9608-96DCEB332DCB}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution diff --git a/src/VirtoCommerce.SitemapsModule.Core/ModuleConstants.cs b/src/VirtoCommerce.SitemapsModule.Core/ModuleConstants.cs index cfb02c7..d4f2634 100644 --- a/src/VirtoCommerce.SitemapsModule.Core/ModuleConstants.cs +++ b/src/VirtoCommerce.SitemapsModule.Core/ModuleConstants.cs @@ -1,6 +1,5 @@ using System.Collections.Generic; using System.Diagnostics.CodeAnalysis; -using System.Linq; using VirtoCommerce.Platform.Core.Settings; namespace VirtoCommerce.SitemapsModule.Core @@ -31,7 +30,7 @@ public static class General public static readonly SettingDescriptor RecordsLimitPerFile = new SettingDescriptor { Name = "Sitemap.RecordsLimitPerFile", - GroupName = "Sitemap|General", + GroupName = "Sitemap", ValueType = SettingValueType.PositiveInteger, DefaultValue = 10000 }; @@ -39,7 +38,7 @@ public static class General public static readonly SettingDescriptor FilenameSeparator = new SettingDescriptor { Name = "Sitemap.FilenameSeparator", - GroupName = "Sitemap|General", + GroupName = "Sitemap", ValueType = SettingValueType.ShortText, DefaultValue = "--" }; @@ -47,7 +46,7 @@ public static class General public static readonly SettingDescriptor SearchBunchSize = new SettingDescriptor { Name = "Sitemap.SearchBunchSize", - GroupName = "Sitemap|General", + GroupName = "Sitemap", ValueType = SettingValueType.PositiveInteger, DefaultValue = 500 }; @@ -55,30 +54,10 @@ public static class General public static readonly SettingDescriptor AcceptedFilenameExtensions = new SettingDescriptor { Name = "Sitemap.AcceptedFilenameExtensions", - GroupName = "Sitemap|General", + GroupName = "Sitemap", ValueType = SettingValueType.ShortText, DefaultValue = ".md,.html" }; - - public static readonly SettingDescriptor IncludeImages = new SettingDescriptor - { - Name = "Sitemap.IncludeImages", - GroupName = "Sitemap|General", - ValueType = SettingValueType.Boolean, - DefaultValue = false - }; - - public static IEnumerable AllSettings - { - get - { - yield return RecordsLimitPerFile; - yield return FilenameSeparator; - yield return SearchBunchSize; - yield return AcceptedFilenameExtensions; - yield return IncludeImages; - } - } } public static class ProductLinks @@ -86,7 +65,7 @@ public static class ProductLinks public static readonly SettingDescriptor ProductPageUpdateFrequency = new SettingDescriptor { Name = "Sitemap.ProductPageUpdateFrequency", - GroupName = "Sitemap|Product Links", + GroupName = "Sitemap", ValueType = SettingValueType.ShortText, IsDictionary = true, AllowedValues = new object[] @@ -105,20 +84,19 @@ public static class ProductLinks public static readonly SettingDescriptor ProductPagePriority = new SettingDescriptor { Name = "Sitemap.ProductPagePriority", - GroupName = "Sitemap|Product Links", + GroupName = "Sitemap", ValueType = SettingValueType.Decimal, DefaultValue = 1.0m, IsRequired = true, }; - public static IEnumerable AllSettings + public static readonly SettingDescriptor IncludeImages = new SettingDescriptor { - get - { - yield return ProductPageUpdateFrequency; - yield return ProductPagePriority; - } - } + Name = "Sitemap.IncludeImages", + GroupName = "Sitemap", + ValueType = SettingValueType.Boolean, + DefaultValue = false + }; } public static class CategoryLinks @@ -126,7 +104,7 @@ public static class CategoryLinks public static readonly SettingDescriptor CategoryPageUpdateFrequency = new SettingDescriptor { Name = "Sitemap.CategoryPageUpdateFrequency", - GroupName = "Sitemap|Category Links", + GroupName = "Sitemap", ValueType = SettingValueType.ShortText, IsDictionary = true, AllowedValues = new object[] @@ -145,20 +123,11 @@ public static class CategoryLinks public static readonly SettingDescriptor CategoryPagePriority = new SettingDescriptor { Name = "Sitemap.CategoryPagePriority", - GroupName = "Sitemap|Category Links", + GroupName = "Sitemap", ValueType = SettingValueType.Decimal, DefaultValue = 0.7m, IsRequired = true, }; - - public static IEnumerable AllSettings - { - get - { - yield return CategoryPageUpdateFrequency; - yield return CategoryPagePriority; - } - } } public static class BlogLinks @@ -166,7 +135,7 @@ public static class BlogLinks public static readonly SettingDescriptor BlogPageUpdateFrequency = new SettingDescriptor { Name = "Sitemap.BlogPageUpdateFrequency", - GroupName = "Sitemap|Sitemaps", + GroupName = "Sitemap", ValueType = SettingValueType.ShortText, AllowedValues = new object[] { @@ -184,82 +153,46 @@ public static class BlogLinks public static readonly SettingDescriptor BlogPagePriority = new SettingDescriptor { Name = "Sitemap.BlogPagePriority", - GroupName = "Sitemap|Sitemaps", + GroupName = "Sitemap", ValueType = SettingValueType.Decimal, DefaultValue = 0.5m, IsRequired = true, }; + } - public static readonly SettingDescriptor CategoryPageUpdateFrequency = new SettingDescriptor - { - Name = "Sitemap.CategoryPageUpdateFrequency", - GroupName = "Sitemap|Sitemaps", - ValueType = SettingValueType.ShortText, - AllowedValues = new object[] - { - "always", - "hourly", - "daily", - "weekly", - "monthly", - "yearly", - "never" - }, - }; - - public static readonly SettingDescriptor CategoryPagePriority = new SettingDescriptor - { - Name = "Sitemap.CategoryPagePriority", - GroupName = "Sitemap|Sitemaps", - ValueType = SettingValueType.Decimal, - DefaultValue = 0.7m, - IsRequired = true, - }; - - public static readonly SettingDescriptor ProductPageUpdateFrequency = new SettingDescriptor - { - Name = "Sitemap.ProductPageUpdateFrequency", - GroupName = "Sitemap|Sitemaps", - ValueType = SettingValueType.ShortText, - AllowedValues = new object[] - { - "always", - "hourly", - "daily", - "weekly", - "monthly", - "yearly", - "never" - }, - }; + public static IEnumerable AllSettings + { + get + { + yield return General.RecordsLimitPerFile; + yield return General.FilenameSeparator; + yield return General.SearchBunchSize; + yield return General.AcceptedFilenameExtensions; + yield return CategoryLinks.CategoryPageUpdateFrequency; + yield return CategoryLinks.CategoryPagePriority; + yield return ProductLinks.ProductPageUpdateFrequency; + yield return ProductLinks.ProductPagePriority; + yield return ProductLinks.IncludeImages; + yield return BlogLinks.BlogPageUpdateFrequency; + yield return BlogLinks.BlogPagePriority; + } + } - public static readonly SettingDescriptor ProductPagePriority = new SettingDescriptor + public static IEnumerable StoreLevelSettings + { + get { - Name = "Sitemap.ProductPagePriority", - GroupName = "Sitemap|Sitemaps", - ValueType = SettingValueType.Decimal, - DefaultValue = 1.0m, - IsRequired = true, - }; + yield return CategoryLinks.CategoryPageUpdateFrequency; + yield return CategoryLinks.CategoryPagePriority; + yield return ProductLinks.ProductPageUpdateFrequency; + yield return ProductLinks.ProductPagePriority; + yield return ProductLinks.IncludeImages; + yield return BlogLinks.BlogPageUpdateFrequency; + yield return BlogLinks.BlogPagePriority; - public static IEnumerable AllSettings - { - get - { - yield return CategoryPageUpdateFrequency; - yield return CategoryPagePriority; - yield return ProductPageUpdateFrequency; - yield return ProductPagePriority; - yield return BlogPageUpdateFrequency; - yield return BlogPagePriority; - } } } - public static IEnumerable AllSettings => General.AllSettings.Concat(ProductLinks.AllSettings).Concat(CategoryLinks.AllSettings).Concat(BlogLinks.AllSettings); - - public static IEnumerable StoreLevelSettings => BlogLinks.AllSettings; - #pragma warning restore S3218 } } diff --git a/src/VirtoCommerce.SitemapsModule.Data/Services/SitemapItemRecordProviders/CatalogSitemapItemRecordProvider.cs b/src/VirtoCommerce.SitemapsModule.Data/Services/SitemapItemRecordProviders/CatalogSitemapItemRecordProvider.cs index 2c3535b..076d08c 100644 --- a/src/VirtoCommerce.SitemapsModule.Data/Services/SitemapItemRecordProviders/CatalogSitemapItemRecordProvider.cs +++ b/src/VirtoCommerce.SitemapsModule.Data/Services/SitemapItemRecordProviders/CatalogSitemapItemRecordProvider.cs @@ -22,24 +22,17 @@ public class CatalogSitemapItemRecordProvider : SitemapItemRecordProviderBase, I private readonly ISettingsManager _settingsManager; private readonly IItemService _itemService; private readonly IListEntrySearchService _listEntrySearchService; - private readonly IProductSearchService _productSearchService; - private readonly ICategorySearchService _categorySearchService; public CatalogSitemapItemRecordProvider( ISitemapUrlBuilder urlBuilder, ISettingsManager settingsManager, IItemService itemService, - IListEntrySearchService listEntrySearchService, - IProductSearchService productSearchService, - ICategorySearchService categorySearchService) + IListEntrySearchService listEntrySearchService) : base(urlBuilder) { _settingsManager = settingsManager; _itemService = itemService; _listEntrySearchService = listEntrySearchService; - - _productSearchService = productSearchService; - _categorySearchService = categorySearchService; } #region ISitemapItemRecordProvider members @@ -62,10 +55,10 @@ public virtual async Task LoadSitemapItemRecordsAsync(Store store, Sitemap sitem protected virtual async Task LoadCategoriesSitemapItemRecordsAsync(Store store, Sitemap sitemap, string baseUrl, Action progressCallback = null) { - var shouldIncludeImages = await _settingsManager.GetValueAsync(ModuleConstants.Settings.General.IncludeImages); + var shouldIncludeImages = store.Settings.GetValue(ModuleConstants.Settings.ProductLinks.IncludeImages); var progressInfo = new ExportImportProgressInfo(); - var categoryOptions = await GetCategoryOptions(store); + var categoryOptions = GetCategoryOptions(store); var batchSize = await _settingsManager.GetValueAsync(ModuleConstants.Settings.General.SearchBunchSize); var categorySitemapItems = sitemap.Items.Where(x => x.ObjectType.EqualsInvariant(SitemapItemTypes.Category)).ToList(); @@ -108,13 +101,16 @@ protected virtual async Task LoadCategoriesSitemapItemRecordsAsync(Store store, { var item = products.FirstOrDefault(x => x.Id == listEntry.Id); - // for each record per product add image urls to sitemap - foreach (var record in itemRecords) + if (item != null) { - record.Images.AddRange(item.Images.Select(x => new SitemapItemImageRecord + // for each record per product add image urls to sitemap + foreach (var record in itemRecords) { - Loc = x.Url - })); + record.Images.AddRange(item.Images.Select(x => new SitemapItemImageRecord + { + Loc = x.Url + })); + } } } @@ -139,22 +135,22 @@ protected virtual async Task LoadCategoriesSitemapItemRecordsAsync(Store store, /// protected virtual async Task LoadProductsSitemapItemRecordsAsync(Store store, Sitemap sitemap, string baseUrl, Action progressCallback = null) { - var shouldIncludeImages = await _settingsManager.GetValueAsync(ModuleConstants.Settings.General.IncludeImages); + var shouldIncludeImages = store.Settings.GetValue(ModuleConstants.Settings.ProductLinks.IncludeImages); if (shouldIncludeImages) { - await LoadProductsWithoutImages(store, sitemap, baseUrl, progressCallback); + await LoadProductsWithImages(store, sitemap, baseUrl, progressCallback); } else { - await LoadProductsWithImages(store, sitemap, baseUrl, progressCallback); + await LoadProductsWithoutImages(store, sitemap, baseUrl, progressCallback); } } private async Task> SearchProductsWithVariations(int batchSize, string[] productIds = null, ProductSearchCriteria searchCriteria = null, Action progressCallback = null) { var products = (await _itemService.GetAsync(productIds, (ItemResponseGroup.Seo | ItemResponseGroup.Outlines | ItemResponseGroup.WithImages).ToString())) - . Where(p => !p.IsActive.HasValue || p.IsActive.Value).ToList(); + .Where(p => !p.IsActive.HasValue || p.IsActive.Value).ToList(); return products; } @@ -174,7 +170,7 @@ private async Task LoadProductsWithImages(Store store, Sitemap sitemap, string b var productSitemapItems = sitemap.Items.Where(x => x.ObjectType.EqualsInvariant(SitemapItemTypes.Product)).ToList(); - var productOptions = await GetProductOptions(store); + var productOptions = GetProductOptions(store); var productIds = productSitemapItems.Select(x => x.ObjectId).ToArray(); @@ -210,7 +206,7 @@ private async Task LoadProductsWithoutImages(Store store, Sitemap sitemap, strin var productSitemapItems = sitemap.Items.Where(x => x.ObjectType.EqualsInvariant(SitemapItemTypes.Product)).ToList(); var skip = 0; - var productOptions = await GetProductOptions(store); + var productOptions = GetProductOptions(store); var progressInfo = new ExportImportProgressInfo(); @@ -218,7 +214,7 @@ private async Task LoadProductsWithoutImages(Store store, Sitemap sitemap, strin { var productIds = productSitemapItems.Select(x => x.ObjectId).Skip(skip).Take(batchSize).ToArray(); - var products = (await _itemService.GetAsync(productIds, (ItemResponseGroup.Seo | ItemResponseGroup.Outlines ).ToString())) + var products = (await _itemService.GetAsync(productIds, (ItemResponseGroup.Seo | ItemResponseGroup.Outlines).ToString())) .Where(p => !p.IsActive.HasValue || p.IsActive.Value); skip += batchSize; @@ -239,35 +235,27 @@ private async Task LoadProductsWithoutImages(Store store, Sitemap sitemap, strin while (skip < productSitemapItems.Count); } - private async Task GetProductOptions(Store store) + private SitemapItemOptions GetProductOptions(Store store) { - var storeOptionProductPriority = store.Settings.GetSettingValue(ModuleConstants.Settings.ProductLinks.ProductPagePriority.Name, decimal.MinusOne); - var storeOptionProductUpdateFrequency = store.Settings.GetSettingValue(ModuleConstants.Settings.ProductLinks.ProductPageUpdateFrequency.Name, ""); + var storeOptionProductPriority = store.Settings.GetValue(ModuleConstants.Settings.ProductLinks.ProductPagePriority); + var storeOptionProductUpdateFrequency = store.Settings.GetValue(ModuleConstants.Settings.ProductLinks.ProductPageUpdateFrequency); return new SitemapItemOptions { - Priority = storeOptionProductPriority > -1 - ? storeOptionProductPriority - : await _settingsManager.GetValueAsync(ModuleConstants.Settings.ProductLinks.ProductPagePriority), - UpdateFrequency = !string.IsNullOrEmpty(storeOptionProductUpdateFrequency) - ? storeOptionProductUpdateFrequency - : await _settingsManager.GetValueAsync(ModuleConstants.Settings.ProductLinks.ProductPageUpdateFrequency), + Priority = storeOptionProductPriority, + UpdateFrequency = storeOptionProductUpdateFrequency }; } - private async Task GetCategoryOptions(Store store) + private SitemapItemOptions GetCategoryOptions(Store store) { - var storeOptionCategoryPriority = store.Settings.GetSettingValue(ModuleConstants.Settings.CategoryLinks.CategoryPagePriority.Name, decimal.MinusOne); - var storeOptionCategoryUpdateFrequency = store.Settings.GetSettingValue(ModuleConstants.Settings.CategoryLinks.CategoryPageUpdateFrequency.Name, ""); + var storeOptionCategoryPriority = store.Settings.GetValue(ModuleConstants.Settings.CategoryLinks.CategoryPagePriority); + var storeOptionCategoryUpdateFrequency = store.Settings.GetValue(ModuleConstants.Settings.CategoryLinks.CategoryPageUpdateFrequency); return new SitemapItemOptions { - Priority = storeOptionCategoryPriority > -1 - ? storeOptionCategoryPriority - : await _settingsManager.GetValueAsync(ModuleConstants.Settings.CategoryLinks.CategoryPagePriority), - UpdateFrequency = !string.IsNullOrEmpty(storeOptionCategoryUpdateFrequency) - ? storeOptionCategoryUpdateFrequency - : await _settingsManager.GetValueAsync(ModuleConstants.Settings.CategoryLinks.CategoryPageUpdateFrequency), + Priority = storeOptionCategoryPriority, + UpdateFrequency = storeOptionCategoryUpdateFrequency }; } } diff --git a/src/VirtoCommerce.SitemapsModule.Data/Services/SitemapItemRecordProviders/StaticContentSitemapItemRecordProvider.cs b/src/VirtoCommerce.SitemapsModule.Data/Services/SitemapItemRecordProviders/StaticContentSitemapItemRecordProvider.cs index 03079c3..92707a0 100644 --- a/src/VirtoCommerce.SitemapsModule.Data/Services/SitemapItemRecordProviders/StaticContentSitemapItemRecordProvider.cs +++ b/src/VirtoCommerce.SitemapsModule.Data/Services/SitemapItemRecordProviders/StaticContentSitemapItemRecordProvider.cs @@ -116,8 +116,8 @@ public virtual async Task LoadSitemapItemRecordsAsync(Store store, Sitemap sitem private async Task GetBlogOptions(Store store) { - var storeOptionPriority = store.Settings.GetSettingValue(ModuleConstants.Settings.BlogLinks.BlogPagePriority.Name, decimal.MinusOne); - var storeOptionUpdateFrequency = store.Settings.GetSettingValue(ModuleConstants.Settings.BlogLinks.BlogPageUpdateFrequency.Name, ""); + var storeOptionPriority = store.Settings.GetValue(ModuleConstants.Settings.BlogLinks.BlogPagePriority); + var storeOptionUpdateFrequency = store.Settings.GetValue(ModuleConstants.Settings.BlogLinks.BlogPageUpdateFrequency); return new SitemapItemOptions { diff --git a/src/VirtoCommerce.SitemapsModule.Data/VirtoCommerce.SitemapsModule.Data.csproj b/src/VirtoCommerce.SitemapsModule.Data/VirtoCommerce.SitemapsModule.Data.csproj index 912d4f7..0a1d422 100644 --- a/src/VirtoCommerce.SitemapsModule.Data/VirtoCommerce.SitemapsModule.Data.csproj +++ b/src/VirtoCommerce.SitemapsModule.Data/VirtoCommerce.SitemapsModule.Data.csproj @@ -11,10 +11,10 @@ - - - - + + + + diff --git a/src/VirtoCommerce.SitemapsModule.Web/VirtoCommerce.SitemapsModule.Web.csproj b/src/VirtoCommerce.SitemapsModule.Web/VirtoCommerce.SitemapsModule.Web.csproj index d12240d..f925cb8 100644 --- a/src/VirtoCommerce.SitemapsModule.Web/VirtoCommerce.SitemapsModule.Web.csproj +++ b/src/VirtoCommerce.SitemapsModule.Web/VirtoCommerce.SitemapsModule.Web.csproj @@ -15,7 +15,7 @@ - + diff --git a/src/VirtoCommerce.SitemapsModule.Web/module.manifest b/src/VirtoCommerce.SitemapsModule.Web/module.manifest index 53102c7..98ae172 100644 --- a/src/VirtoCommerce.SitemapsModule.Web/module.manifest +++ b/src/VirtoCommerce.SitemapsModule.Web/module.manifest @@ -1,16 +1,16 @@ - + VirtoCommerce.Sitemaps 3.401.0 - 3.400.0 + 3.414.0 - - + + - - + + Sitemap Generator Simplifies the process of generating sitemaps for online stores @@ -32,4 +32,4 @@ commerce false - \ No newline at end of file + diff --git a/src/VirtoCommerce.SitemapsModule.Web/package-lock.json b/src/VirtoCommerce.SitemapsModule.Web/package-lock.json index 696f1df..8d720d1 100644 --- a/src/VirtoCommerce.SitemapsModule.Web/package-lock.json +++ b/src/VirtoCommerce.SitemapsModule.Web/package-lock.json @@ -1,18 +1,18 @@ { - "name": "asp.net", + "name": "vc-module", "version": "1.0.0", "lockfileVersion": 3, "requires": true, "packages": { "": { - "name": "asp.net", + "name": "vc-module", "version": "1.0.0", "devDependencies": { "clean-webpack-plugin": "^4.0.0", "css-loader": "^6.5.1", "mini-css-extract-plugin": "^2.5.1", "webpack": "^5.68.0", - "webpack-cli": "^4.9.2" + "webpack-cli": "^4.10.0" } }, "node_modules/@discoveryjs/json-ext": { @@ -25,9 +25,9 @@ } }, "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", - "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", + "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", "dev": true, "dependencies": { "@jridgewell/set-array": "^1.0.1", @@ -39,9 +39,9 @@ } }, "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", - "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", + "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==", "dev": true, "engines": { "node": ">=6.0.0" @@ -57,9 +57,9 @@ } }, "node_modules/@jridgewell/source-map": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.2.tgz", - "integrity": "sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==", + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.5.tgz", + "integrity": "sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==", "dev": true, "dependencies": { "@jridgewell/gen-mapping": "^0.3.0", @@ -67,19 +67,19 @@ } }, "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.14", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", - "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", "dev": true }, "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.17", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz", - "integrity": "sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==", + "version": "0.3.20", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz", + "integrity": "sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==", "dev": true, "dependencies": { - "@jridgewell/resolve-uri": "3.1.0", - "@jridgewell/sourcemap-codec": "1.4.14" + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" } }, "node_modules/@types/eslint": { @@ -103,9 +103,9 @@ } }, "node_modules/@types/estree": { - "version": "0.0.51", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.51.tgz", - "integrity": "sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", + "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", "dev": true }, "node_modules/@types/glob": { @@ -137,148 +137,148 @@ "dev": true }, "node_modules/@webassemblyjs/ast": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz", - "integrity": "sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==", + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.6.tgz", + "integrity": "sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==", "dev": true, "dependencies": { - "@webassemblyjs/helper-numbers": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1" + "@webassemblyjs/helper-numbers": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6" } }, "node_modules/@webassemblyjs/floating-point-hex-parser": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz", - "integrity": "sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==", + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", + "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==", "dev": true }, "node_modules/@webassemblyjs/helper-api-error": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz", - "integrity": "sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==", + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", + "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==", "dev": true }, "node_modules/@webassemblyjs/helper-buffer": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz", - "integrity": "sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==", + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz", + "integrity": "sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==", "dev": true }, "node_modules/@webassemblyjs/helper-numbers": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz", - "integrity": "sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==", + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", + "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", "dev": true, "dependencies": { - "@webassemblyjs/floating-point-hex-parser": "1.11.1", - "@webassemblyjs/helper-api-error": "1.11.1", + "@webassemblyjs/floating-point-hex-parser": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", "@xtuc/long": "4.2.2" } }, "node_modules/@webassemblyjs/helper-wasm-bytecode": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz", - "integrity": "sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==", + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", + "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==", "dev": true }, "node_modules/@webassemblyjs/helper-wasm-section": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz", - "integrity": "sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==", + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz", + "integrity": "sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==", "dev": true, "dependencies": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-buffer": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/wasm-gen": "1.11.1" + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6" } }, "node_modules/@webassemblyjs/ieee754": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz", - "integrity": "sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==", + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", + "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", "dev": true, "dependencies": { "@xtuc/ieee754": "^1.2.0" } }, "node_modules/@webassemblyjs/leb128": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.1.tgz", - "integrity": "sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==", + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", + "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", "dev": true, "dependencies": { "@xtuc/long": "4.2.2" } }, "node_modules/@webassemblyjs/utf8": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.1.tgz", - "integrity": "sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==", + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", + "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==", "dev": true }, "node_modules/@webassemblyjs/wasm-edit": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz", - "integrity": "sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==", + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz", + "integrity": "sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==", "dev": true, "dependencies": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-buffer": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/helper-wasm-section": "1.11.1", - "@webassemblyjs/wasm-gen": "1.11.1", - "@webassemblyjs/wasm-opt": "1.11.1", - "@webassemblyjs/wasm-parser": "1.11.1", - "@webassemblyjs/wast-printer": "1.11.1" + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/helper-wasm-section": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6", + "@webassemblyjs/wasm-opt": "1.11.6", + "@webassemblyjs/wasm-parser": "1.11.6", + "@webassemblyjs/wast-printer": "1.11.6" } }, "node_modules/@webassemblyjs/wasm-gen": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz", - "integrity": "sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==", + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz", + "integrity": "sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==", "dev": true, "dependencies": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/ieee754": "1.11.1", - "@webassemblyjs/leb128": "1.11.1", - "@webassemblyjs/utf8": "1.11.1" + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" } }, "node_modules/@webassemblyjs/wasm-opt": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz", - "integrity": "sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==", + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz", + "integrity": "sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==", "dev": true, "dependencies": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-buffer": "1.11.1", - "@webassemblyjs/wasm-gen": "1.11.1", - "@webassemblyjs/wasm-parser": "1.11.1" + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6", + "@webassemblyjs/wasm-parser": "1.11.6" } }, "node_modules/@webassemblyjs/wasm-parser": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz", - "integrity": "sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==", + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz", + "integrity": "sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==", "dev": true, "dependencies": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-api-error": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/ieee754": "1.11.1", - "@webassemblyjs/leb128": "1.11.1", - "@webassemblyjs/utf8": "1.11.1" + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" } }, "node_modules/@webassemblyjs/wast-printer": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz", - "integrity": "sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==", + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz", + "integrity": "sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==", "dev": true, "dependencies": { - "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/ast": "1.11.6", "@xtuc/long": "4.2.2" } }, @@ -331,9 +331,9 @@ "dev": true }, "node_modules/acorn": { - "version": "8.8.2", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz", - "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==", + "version": "8.11.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.2.tgz", + "integrity": "sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==", "dev": true, "bin": { "acorn": "bin/acorn" @@ -343,9 +343,9 @@ } }, "node_modules/acorn-import-assertions": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz", - "integrity": "sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz", + "integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==", "dev": true, "peerDependencies": { "acorn": "^8" @@ -619,9 +619,9 @@ "dev": true }, "node_modules/enhanced-resolve": { - "version": "5.12.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.12.0.tgz", - "integrity": "sha512-QHTXI/sZQmko1cbDoNAa3mJ5qhWUUNAq3vR0/YiD379fWQrcfuoX1+HW2S0MTt7XmoPLapdaDKUtelUSPic7hQ==", + "version": "5.15.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz", + "integrity": "sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==", "dev": true, "dependencies": { "graceful-fs": "^4.2.4", @@ -644,9 +644,9 @@ } }, "node_modules/es-module-lexer": { - "version": "0.9.3", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.9.3.tgz", - "integrity": "sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==", + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.4.1.tgz", + "integrity": "sha512-cXLGjP0c4T3flZJKQSuziYoq7MlT+rnvfZjfp7h+I7K9BNX54kP9nyWvdbwjQ4u1iWbOL4u96fgeZLToQlZC7w==", "dev": true }, "node_modules/escalade": { @@ -1089,10 +1089,16 @@ } }, "node_modules/nanoid": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz", - "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==", + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], "bin": { "nanoid": "bin/nanoid.cjs" }, @@ -1263,9 +1269,9 @@ } }, "node_modules/postcss": { - "version": "8.4.21", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.21.tgz", - "integrity": "sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==", + "version": "8.4.31", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz", + "integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==", "dev": true, "funding": [ { @@ -1275,10 +1281,14 @@ { "type": "tidelift", "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" } ], "dependencies": { - "nanoid": "^3.3.4", + "nanoid": "^3.3.6", "picocolors": "^1.0.0", "source-map-js": "^1.0.2" }, @@ -1493,9 +1503,9 @@ } }, "node_modules/semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", "dev": true, "dependencies": { "lru-cache": "^6.0.0" @@ -1614,13 +1624,13 @@ } }, "node_modules/terser": { - "version": "5.16.4", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.16.4.tgz", - "integrity": "sha512-5yEGuZ3DZradbogeYQ1NaGz7rXVBDWujWlx1PT8efXO6Txn+eWbfKqB2bTDVmFXmePFkoLU6XI8UektMIEA0ug==", + "version": "5.24.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.24.0.tgz", + "integrity": "sha512-ZpGR4Hy3+wBEzVEnHvstMvqpD/nABNelQn/z2r0fjVWGQsN3bpOLzQlqDxmb4CDZnXq5lpjnQ+mHQLAOpfM5iw==", "dev": true, "dependencies": { - "@jridgewell/source-map": "^0.3.2", - "acorn": "^8.5.0", + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.8.2", "commander": "^2.20.0", "source-map-support": "~0.5.20" }, @@ -1632,16 +1642,16 @@ } }, "node_modules/terser-webpack-plugin": { - "version": "5.3.6", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.6.tgz", - "integrity": "sha512-kfLFk+PoLUQIbLmB1+PZDMRSZS99Mp+/MHqDNmMA6tOItzRt+Npe3E+fsMs5mfcM0wCtrrdU387UnV+vnSffXQ==", + "version": "5.3.9", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.9.tgz", + "integrity": "sha512-ZuXsqE07EcggTWQjXUj+Aot/OMcD0bMKGgF63f7UxYcu5/AJF53aIpK1YoP5xR9l6s/Hy2b+t1AM0bLNPRuhwA==", "dev": true, "dependencies": { - "@jridgewell/trace-mapping": "^0.3.14", + "@jridgewell/trace-mapping": "^0.3.17", "jest-worker": "^27.4.5", "schema-utils": "^3.1.1", - "serialize-javascript": "^6.0.0", - "terser": "^5.14.1" + "serialize-javascript": "^6.0.1", + "terser": "^5.16.8" }, "engines": { "node": ">= 10.13.0" @@ -1697,9 +1707,9 @@ "dev": true }, "node_modules/terser-webpack-plugin/node_modules/schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", "dev": true, "dependencies": { "@types/json-schema": "^7.0.8", @@ -1775,22 +1785,22 @@ } }, "node_modules/webpack": { - "version": "5.75.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.75.0.tgz", - "integrity": "sha512-piaIaoVJlqMsPtX/+3KTTO6jfvrSYgauFVdt8cr9LTHKmcq/AMd4mhzsiP7ZF/PGRNPGA8336jldh9l2Kt2ogQ==", + "version": "5.89.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.89.0.tgz", + "integrity": "sha512-qyfIC10pOr70V+jkmud8tMfajraGCZMBWJtrmuBymQKCrLTRejBI8STDp1MCyZu/QTdZSeacCQYpYNQVOzX5kw==", "dev": true, "dependencies": { "@types/eslint-scope": "^3.7.3", - "@types/estree": "^0.0.51", - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/wasm-edit": "1.11.1", - "@webassemblyjs/wasm-parser": "1.11.1", + "@types/estree": "^1.0.0", + "@webassemblyjs/ast": "^1.11.5", + "@webassemblyjs/wasm-edit": "^1.11.5", + "@webassemblyjs/wasm-parser": "^1.11.5", "acorn": "^8.7.1", - "acorn-import-assertions": "^1.7.6", + "acorn-import-assertions": "^1.9.0", "browserslist": "^4.14.5", "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.10.0", - "es-module-lexer": "^0.9.0", + "enhanced-resolve": "^5.15.0", + "es-module-lexer": "^1.2.1", "eslint-scope": "5.1.1", "events": "^3.2.0", "glob-to-regexp": "^0.4.1", @@ -1799,9 +1809,9 @@ "loader-runner": "^4.2.0", "mime-types": "^2.1.27", "neo-async": "^2.6.2", - "schema-utils": "^3.1.0", + "schema-utils": "^3.2.0", "tapable": "^2.1.1", - "terser-webpack-plugin": "^5.1.3", + "terser-webpack-plugin": "^5.3.7", "watchpack": "^2.4.0", "webpack-sources": "^3.2.3" }, @@ -1931,9 +1941,9 @@ "dev": true }, "node_modules/webpack/node_modules/schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", "dev": true, "dependencies": { "@types/json-schema": "^7.0.8",