From 5e9cb038edd33aca6dccc459b00c2395a9128485 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Przemys=C5=82aw=20K=C5=82ys?= Date: Fri, 17 Jul 2026 11:00:07 +0200 Subject: [PATCH 01/16] Adopt HtmlForgeX 0.50 Markdown contracts --- PSPublishModule/PSPublishModule.csproj | 11 +++++--- .../Services/HtmlExporter.Layout.cs | 4 +-- .../HtmlExporter.ReleasesAndDependencies.cs | 9 +------ .../Services/HtmlExporter.cs | 26 +++++++------------ 4 files changed, 21 insertions(+), 29 deletions(-) diff --git a/PSPublishModule/PSPublishModule.csproj b/PSPublishModule/PSPublishModule.csproj index f0efb0291..c563097a1 100644 --- a/PSPublishModule/PSPublishModule.csproj +++ b/PSPublishModule/PSPublishModule.csproj @@ -11,6 +11,9 @@ enable true CS1591 + false + ..\..\HtmlForgeX\HtmlForgeX\HtmlForgeX.csproj + ..\..\HtmlForgeX\HtmlForgeX.Markdown\HtmlForgeX.Markdown.csproj @@ -27,9 +30,9 @@ - - - + + + @@ -54,6 +57,8 @@ + + diff --git a/PSPublishModule/Services/ModuleDocumentation/Services/HtmlExporter.Layout.cs b/PSPublishModule/Services/ModuleDocumentation/Services/HtmlExporter.Layout.cs index a86bb84e1..397bc71b5 100644 --- a/PSPublishModule/Services/ModuleDocumentation/Services/HtmlExporter.Layout.cs +++ b/PSPublishModule/Services/ModuleDocumentation/Services/HtmlExporter.Layout.cs @@ -15,7 +15,7 @@ private static void ConfigureDocumentDefaults(Document document) private static void ConfigureMarkdownTheme(Document document) { - document.Head.AddCssInline(""" + document.Head.AddCssInline(TrustedCss.FromTrustedSource(""" /* hfx-module-docs-markdown */ .hfx-md { color: var(--tblr-body-color, #1f2937); @@ -175,7 +175,7 @@ private static void ConfigureMarkdownTheme(Document document) background: rgba(var(--tblr-info-rgb, 66, 153, 225), .12); border-left-color: rgba(var(--tblr-info-rgb, 66, 153, 225), .7); } - """); + """)); } private static void ConfigureNestedTabs(TablerTabs tabs, string navWidth = "18rem", string navMaxHeight = "70vh") diff --git a/PSPublishModule/Services/ModuleDocumentation/Services/HtmlExporter.ReleasesAndDependencies.cs b/PSPublishModule/Services/ModuleDocumentation/Services/HtmlExporter.ReleasesAndDependencies.cs index 5c4eb9116..84cdf18d6 100644 --- a/PSPublishModule/Services/ModuleDocumentation/Services/HtmlExporter.ReleasesAndDependencies.cs +++ b/PSPublishModule/Services/ModuleDocumentation/Services/HtmlExporter.ReleasesAndDependencies.cs @@ -16,7 +16,7 @@ private static void RenderStructuredReleases(TablerTabsPanel panel, IEnumerable< if (releaseList.Count == 0) { - panel.Markdown("No releases available.", new MarkdownOptions { HeadingsBaseLevel = 2, Sanitize = true }); + panel.Markdown("No releases available.", new MarkdownOptions { HeadingsBaseLevel = 2 }); return; } @@ -125,18 +125,12 @@ private static void RenderStructuredReleases(TablerTabsPanel panel, IEnumerable< { HeadingsBaseLevel = 2, AutolinkBareUrls = true, - Sanitize = true, - AllowRawHtmlInline = true, - AllowRawHtmlBlocks = true }); body.Markdown(release.Body.Trim(), new MarkdownOptions { HeadingsBaseLevel = 3, AutolinkBareUrls = true, OpenLinksInNewTab = false, - Sanitize = true, - AllowRawHtmlInline = true, - AllowRawHtmlBlocks = true, AllowRelativeLinks = true, TableMode = MarkdownTableMode.DataTables, DataTables = new MarkdownDataTablesOptions @@ -154,7 +148,6 @@ private static void RenderStructuredReleases(TablerTabsPanel panel, IEnumerable< body.Markdown("### Assets", new MarkdownOptions { HeadingsBaseLevel = 2, - Sanitize = true }); var assetRows = release.Assets.Select(asset => new diff --git a/PSPublishModule/Services/ModuleDocumentation/Services/HtmlExporter.cs b/PSPublishModule/Services/ModuleDocumentation/Services/HtmlExporter.cs index b6cd7d363..9c5593045 100644 --- a/PSPublishModule/Services/ModuleDocumentation/Services/HtmlExporter.cs +++ b/PSPublishModule/Services/ModuleDocumentation/Services/HtmlExporter.cs @@ -218,11 +218,8 @@ string NormalizeForCompare(string s) HeadingsBaseLevel = 2, TableMode = MarkdownTableMode.DataTables, OpenLinksInNewTab = true, - Sanitize = true, AutolinkBareUrls = true, AllowRelativeLinks = true, - AllowRawHtmlInline = true, - AllowRawHtmlBlocks = true, BaseUri = it.BaseUri, DataTables = new MarkdownDataTablesOptions { Responsive = true, @@ -258,7 +255,7 @@ string NormalizeForCompare(string s) inner.AddTab(name ?? string.Empty, p => { var md = s.Content ?? string.Empty; // already fenced with powershell - var options = new MarkdownOptions { HeadingsBaseLevel = 2, AutolinkBareUrls = true, Sanitize = true, AllowRawHtmlInline = true, AllowRawHtmlBlocks = true }; + var options = new MarkdownOptions { HeadingsBaseLevel = 2, AutolinkBareUrls = true }; p.Markdown(PrepareMarkdown(module, md), options); }); } @@ -291,7 +288,7 @@ string NormalizeForCompare(string s) inner.AddTab(name ?? string.Empty, pp => { var md = d.Content ?? string.Empty; - var options = new MarkdownOptions { HeadingsBaseLevel = 2, AutolinkBareUrls = true, Sanitize = true, AllowRawHtmlInline = true, AllowRawHtmlBlocks = true, AllowRelativeLinks = true, BaseUri = d.BaseUri, TableMode = MarkdownTableMode.DataTables, DataTables = new MarkdownDataTablesOptions { Responsive = true, Export = true, ExportFormats = new[] { DataTablesExportFormat.Excel, DataTablesExportFormat.CSV, DataTablesExportFormat.Copy }, StateSave = true } }; + var options = new MarkdownOptions { HeadingsBaseLevel = 2, AutolinkBareUrls = true, AllowRelativeLinks = true, BaseUri = d.BaseUri, TableMode = MarkdownTableMode.DataTables, DataTables = new MarkdownDataTablesOptions { Responsive = true, Export = true, ExportFormats = new[] { DataTablesExportFormat.Excel, DataTablesExportFormat.CSV, DataTablesExportFormat.Copy }, StateSave = true } }; pp.Markdown(PrepareMarkdown(module, md), options); }); } @@ -307,7 +304,7 @@ string NormalizeForCompare(string s) inner.AddTab(name ?? string.Empty, pp => { var md = d.Content ?? string.Empty; - var options = new MarkdownOptions { HeadingsBaseLevel = 2, AutolinkBareUrls = true, Sanitize = true, AllowRawHtmlInline = true, AllowRawHtmlBlocks = true, AllowRelativeLinks = true, BaseUri = d.BaseUri, TableMode = MarkdownTableMode.DataTables, DataTables = new MarkdownDataTablesOptions { Responsive = true, Export = true, ExportFormats = new[] { DataTablesExportFormat.Excel, DataTablesExportFormat.CSV, DataTablesExportFormat.Copy }, StateSave = true } }; + var options = new MarkdownOptions { HeadingsBaseLevel = 2, AutolinkBareUrls = true, AllowRelativeLinks = true, BaseUri = d.BaseUri, TableMode = MarkdownTableMode.DataTables, DataTables = new MarkdownDataTablesOptions { Responsive = true, Export = true, ExportFormats = new[] { DataTablesExportFormat.Excel, DataTablesExportFormat.CSV, DataTablesExportFormat.Copy }, StateSave = true } }; pp.Markdown(PrepareMarkdown(module, md), options); }); } @@ -326,7 +323,7 @@ string NormalizeForCompare(string s) inner.AddTab(name ?? string.Empty, pp => { var md = d.Content ?? string.Empty; - var options = new MarkdownOptions { HeadingsBaseLevel = 2, AutolinkBareUrls = true, Sanitize = true, AllowRawHtmlInline = true, AllowRawHtmlBlocks = true, AllowRelativeLinks = true, BaseUri = d.BaseUri, TableMode = MarkdownTableMode.DataTables, DataTables = new MarkdownDataTablesOptions { Responsive = true, Export = true, ExportFormats = new[] { DataTablesExportFormat.Excel, DataTablesExportFormat.CSV, DataTablesExportFormat.Copy }, StateSave = true } }; + var options = new MarkdownOptions { HeadingsBaseLevel = 2, AutolinkBareUrls = true, AllowRelativeLinks = true, BaseUri = d.BaseUri, TableMode = MarkdownTableMode.DataTables, DataTables = new MarkdownDataTablesOptions { Responsive = true, Export = true, ExportFormats = new[] { DataTablesExportFormat.Excel, DataTablesExportFormat.CSV, DataTablesExportFormat.Copy }, StateSave = true } }; pp.Markdown(PrepareMarkdown(module, md), options); }); } @@ -360,9 +357,6 @@ void RenderSourceTabs(TablerTabs innerTabs, IEnumerable itemsToRen { HeadingsBaseLevel = 2, AutolinkBareUrls = true, - Sanitize = true, - AllowRawHtmlInline = true, - AllowRawHtmlBlocks = true }); }); } @@ -419,7 +413,7 @@ void RenderSourceTabs(TablerTabs innerTabs, IEnumerable itemsToRen { md = $"```text\n{File.ReadAllText(a.Path)}\n```"; } - p.Markdown(PrepareMarkdown(module, md), new MarkdownOptions { HeadingsBaseLevel = 2, AutolinkBareUrls = true, Sanitize = true, AllowRawHtmlInline = true, AllowRawHtmlBlocks = true }); + p.Markdown(PrepareMarkdown(module, md), new MarkdownOptions { HeadingsBaseLevel = 2, AutolinkBareUrls = true }); }); } }); @@ -450,7 +444,7 @@ void RenderSourceTabs(TablerTabs innerTabs, IEnumerable itemsToRen md = NormalizeSourceLikeMarkdown(md); } - p.Markdown(PrepareMarkdown(module, md), new MarkdownOptions { HeadingsBaseLevel = 2, AutolinkBareUrls = true, Sanitize = true, AllowRawHtmlInline = true, AllowRawHtmlBlocks = true }); + p.Markdown(PrepareMarkdown(module, md), new MarkdownOptions { HeadingsBaseLevel = 2, AutolinkBareUrls = true }); }); } }); @@ -476,7 +470,7 @@ void RenderSourceTabs(TablerTabs innerTabs, IEnumerable itemsToRen { md = File.ReadAllText(c.Path); } - p.Markdown(PrepareMarkdown(module, md), new MarkdownOptions { HeadingsBaseLevel = 2, AutolinkBareUrls = true, Sanitize = true, AllowRawHtmlInline = true, AllowRawHtmlBlocks = true }); + p.Markdown(PrepareMarkdown(module, md), new MarkdownOptions { HeadingsBaseLevel = 2, AutolinkBareUrls = true }); }); } }); @@ -497,7 +491,7 @@ void RenderSourceTabs(TablerTabs innerTabs, IEnumerable itemsToRen } else { - panel.Markdown(PrepareMarkdown(module, rel.Content), new MarkdownOptions { HeadingsBaseLevel = 2, AutolinkBareUrls = true, Sanitize = true, AllowRawHtmlInline = true, AllowRawHtmlBlocks = true }); + panel.Markdown(PrepareMarkdown(module, rel.Content), new MarkdownOptions { HeadingsBaseLevel = 2, AutolinkBareUrls = true }); } }); } @@ -631,11 +625,11 @@ void RenderSourceTabs(TablerTabs innerTabs, IEnumerable itemsToRen if (module.HelpAsCode && !entry.Structured) { var fenced = $"```powershell\n{content}\n```"; - p.Markdown(PrepareMarkdown(module, fenced), new MarkdownOptions { HeadingsBaseLevel = 2, AutolinkBareUrls = true, Sanitize = true, AllowRawHtmlInline = true, AllowRawHtmlBlocks = true }); + p.Markdown(PrepareMarkdown(module, fenced), new MarkdownOptions { HeadingsBaseLevel = 2, AutolinkBareUrls = true }); } else { - p.Markdown(PrepareMarkdown(module, content), new MarkdownOptions { HeadingsBaseLevel = 2, AutolinkBareUrls = true, Sanitize = true, AllowRawHtmlInline = true, AllowRawHtmlBlocks = true }); + p.Markdown(PrepareMarkdown(module, content), new MarkdownOptions { HeadingsBaseLevel = 2, AutolinkBareUrls = true }); } }); } From e1a82128247058e45ef8b90edc96b114e656f8a7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Przemys=C5=82aw=20K=C5=82ys?= Date: Fri, 17 Jul 2026 12:57:20 +0200 Subject: [PATCH 02/16] Document safe Markdown HTML handling --- ...eDocumentationHtmlExporterMarkdownTests.cs | 46 +++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/PowerForge.Tests/ModuleDocumentationHtmlExporterMarkdownTests.cs b/PowerForge.Tests/ModuleDocumentationHtmlExporterMarkdownTests.cs index c9e55b2c4..2ef779226 100644 --- a/PowerForge.Tests/ModuleDocumentationHtmlExporterMarkdownTests.cs +++ b/PowerForge.Tests/ModuleDocumentationHtmlExporterMarkdownTests.cs @@ -98,6 +98,52 @@ public void Export_UsesOfficeImoMarkdownProvider_ForAlternateFences() } } + [Fact] + public void Export_Does_Not_Trust_Raw_Html_From_Documentation_Sources() + { + var exporter = new HtmlExporter(); + var module = new ModuleInfoModel + { + Name = "SafeDocs", + Version = "1.0.0", + SkipCommands = true, + SkipDependencies = true + }; + var items = new[] + { + new DocumentItem + { + Title = "README", + Kind = "FILE", + Source = "Repository", + Content = """ +
+ More + +
+ """ + } + }; + var outputPath = Path.Combine(Path.GetTempPath(), $"{Guid.NewGuid():N}.html"); + + try + { + exporter.Export(module, items, outputPath, open: false); + + var html = File.ReadAllText(outputPath); + Assert.DoesNotContain("
", html, StringComparison.OrdinalIgnoreCase); + Assert.DoesNotContain("", html, StringComparison.OrdinalIgnoreCase); + Assert.DoesNotContain("", html, StringComparison.Ordinal); + } + finally + { + if (File.Exists(outputPath)) + { + File.Delete(outputPath); + } + } + } + [Fact] public void Export_Uses_Lazy_DataTables_For_Markdown_Tables() { From 80dbab330d560e30b77e0eabf9b2a433cf8a69b8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Przemys=C5=82aw=20K=C5=82ys?= Date: Fri, 17 Jul 2026 14:31:36 +0200 Subject: [PATCH 03/16] Prove generated documentation escapes untrusted markdown --- .../ModuleDocumentationHtmlExporterMarkdownTests.cs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/PowerForge.Tests/ModuleDocumentationHtmlExporterMarkdownTests.cs b/PowerForge.Tests/ModuleDocumentationHtmlExporterMarkdownTests.cs index 2ef779226..4ac98cc33 100644 --- a/PowerForge.Tests/ModuleDocumentationHtmlExporterMarkdownTests.cs +++ b/PowerForge.Tests/ModuleDocumentationHtmlExporterMarkdownTests.cs @@ -106,6 +106,7 @@ public void Export_Does_Not_Trust_Raw_Html_From_Documentation_Sources() { Name = "SafeDocs", Version = "1.0.0", + Online = true, SkipCommands = true, SkipDependencies = true }; @@ -115,7 +116,7 @@ public void Export_Does_Not_Trust_Raw_Html_From_Documentation_Sources() { Title = "README", Kind = "FILE", - Source = "Repository", + Source = "Remote", Content = """
More @@ -131,6 +132,7 @@ public void Export_Does_Not_Trust_Raw_Html_From_Documentation_Sources() exporter.Export(module, items, outputPath, open: false); var html = File.ReadAllText(outputPath); + Assert.Contains("More", html, StringComparison.Ordinal); Assert.DoesNotContain("
", html, StringComparison.OrdinalIgnoreCase); Assert.DoesNotContain("", html, StringComparison.OrdinalIgnoreCase); Assert.DoesNotContain("", html, StringComparison.Ordinal); From 9976c93dc3849220ea890672790d183e25e7fc11 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Przemys=C5=82aw=20K=C5=82ys?= Date: Fri, 17 Jul 2026 15:46:00 +0200 Subject: [PATCH 04/16] Refresh HtmlForgeX package locks --- PSPublishModule/packages.lock.json | 70 ++++++++++++++--------------- PowerForge.Tests/packages.lock.json | 22 ++++----- 2 files changed, 46 insertions(+), 46 deletions(-) diff --git a/PSPublishModule/packages.lock.json b/PSPublishModule/packages.lock.json index 0a46d7465..1e0d0c001 100644 --- a/PSPublishModule/packages.lock.json +++ b/PSPublishModule/packages.lock.json @@ -4,23 +4,23 @@ ".NETFramework,Version=v4.7.2": { "HtmlForgeX": { "type": "Direct", - "requested": "[0.44.0, )", - "resolved": "0.44.0", - "contentHash": "DyIafz6fxyfdWO+fUzvur50PawS0NEmPODOd3ODZ4bswXnsPnK3xRHGtxVPWfpD1+TE2Dy0xD14w2m6ISSb1Ww==", + "requested": "[0.50.0, )", + "resolved": "0.50.0", + "contentHash": "uY1duOtHtigrP+4twuK6GtY/g2iF0C6SWcbfXG4wld2GJKGGnXl1mrXOBKbDuMsiK836szrkpZn5bD9JQdhFeQ==", "dependencies": { "System.ComponentModel.Annotations": "5.0.0", - "System.Text.Json": "9.0.9" + "System.Text.Json": "9.0.17" } }, "HtmlForgeX.Markdown": { "type": "Direct", - "requested": "[0.20.12, )", - "resolved": "0.20.12", - "contentHash": "qYO9KHp/FybdhX7jxiLqODKA60ASdhCZOhBdugvRKqRgJAIQ32BcS3tD8y2euLD5voUpwROOJOJq3xBqWBpU1w==", + "requested": "[0.21.0, )", + "resolved": "0.21.0", + "contentHash": "1jxsJCEl/Y+oe/2p6r7/2+y5U2hx2shvRfrEqponphebrLs0vC2kOI/bM35hPyIz+1R3ajxrY8+y/H/j0f589g==", "dependencies": { - "HtmlForgeX": "0.44.0", - "OfficeIMO.Markdown": "0.6.29", - "System.Text.Json": "9.0.9" + "HtmlForgeX": "0.50.0", + "OfficeIMO.Markdown": "0.6.42", + "System.Text.Json": "9.0.17" } }, "Microsoft.NETFramework.ReferenceAssemblies": { @@ -34,9 +34,9 @@ }, "OfficeIMO.Markdown": { "type": "Direct", - "requested": "[0.6.29, )", - "resolved": "0.6.29", - "contentHash": "Q4JKyT4C9qYJ0cG3le9qeJQQ9DwDh0SCpsktIRtJpYiBTjlHargMU0cTK82QQFzni+0x2OHIIsvf1JWCVHKXEw==" + "requested": "[0.6.42, )", + "resolved": "0.6.42", + "contentHash": "eApNM/lo9Sk5gET2fmNojBurTW6eRA11pJE3UGPzcBfOzOgpVHEO2PZmWPogajBjKt+YOszljcz47f5uDKaglw==" }, "PowerShellStandard.Library": { "type": "Direct", @@ -280,25 +280,25 @@ "net10.0": { "HtmlForgeX": { "type": "Direct", - "requested": "[0.44.0, )", - "resolved": "0.44.0", - "contentHash": "DyIafz6fxyfdWO+fUzvur50PawS0NEmPODOd3ODZ4bswXnsPnK3xRHGtxVPWfpD1+TE2Dy0xD14w2m6ISSb1Ww==" + "requested": "[0.50.0, )", + "resolved": "0.50.0", + "contentHash": "uY1duOtHtigrP+4twuK6GtY/g2iF0C6SWcbfXG4wld2GJKGGnXl1mrXOBKbDuMsiK836szrkpZn5bD9JQdhFeQ==" }, "HtmlForgeX.Markdown": { "type": "Direct", - "requested": "[0.20.12, )", - "resolved": "0.20.12", - "contentHash": "qYO9KHp/FybdhX7jxiLqODKA60ASdhCZOhBdugvRKqRgJAIQ32BcS3tD8y2euLD5voUpwROOJOJq3xBqWBpU1w==", + "requested": "[0.21.0, )", + "resolved": "0.21.0", + "contentHash": "1jxsJCEl/Y+oe/2p6r7/2+y5U2hx2shvRfrEqponphebrLs0vC2kOI/bM35hPyIz+1R3ajxrY8+y/H/j0f589g==", "dependencies": { - "HtmlForgeX": "0.44.0", - "OfficeIMO.Markdown": "0.6.29" + "HtmlForgeX": "0.50.0", + "OfficeIMO.Markdown": "0.6.42" } }, "OfficeIMO.Markdown": { "type": "Direct", - "requested": "[0.6.29, )", - "resolved": "0.6.29", - "contentHash": "Q4JKyT4C9qYJ0cG3le9qeJQQ9DwDh0SCpsktIRtJpYiBTjlHargMU0cTK82QQFzni+0x2OHIIsvf1JWCVHKXEw==" + "requested": "[0.6.42, )", + "resolved": "0.6.42", + "contentHash": "eApNM/lo9Sk5gET2fmNojBurTW6eRA11pJE3UGPzcBfOzOgpVHEO2PZmWPogajBjKt+YOszljcz47f5uDKaglw==" }, "PowerShellStandard.Library": { "type": "Direct", @@ -965,25 +965,25 @@ "net8.0": { "HtmlForgeX": { "type": "Direct", - "requested": "[0.44.0, )", - "resolved": "0.44.0", - "contentHash": "DyIafz6fxyfdWO+fUzvur50PawS0NEmPODOd3ODZ4bswXnsPnK3xRHGtxVPWfpD1+TE2Dy0xD14w2m6ISSb1Ww==" + "requested": "[0.50.0, )", + "resolved": "0.50.0", + "contentHash": "uY1duOtHtigrP+4twuK6GtY/g2iF0C6SWcbfXG4wld2GJKGGnXl1mrXOBKbDuMsiK836szrkpZn5bD9JQdhFeQ==" }, "HtmlForgeX.Markdown": { "type": "Direct", - "requested": "[0.20.12, )", - "resolved": "0.20.12", - "contentHash": "qYO9KHp/FybdhX7jxiLqODKA60ASdhCZOhBdugvRKqRgJAIQ32BcS3tD8y2euLD5voUpwROOJOJq3xBqWBpU1w==", + "requested": "[0.21.0, )", + "resolved": "0.21.0", + "contentHash": "1jxsJCEl/Y+oe/2p6r7/2+y5U2hx2shvRfrEqponphebrLs0vC2kOI/bM35hPyIz+1R3ajxrY8+y/H/j0f589g==", "dependencies": { - "HtmlForgeX": "0.44.0", - "OfficeIMO.Markdown": "0.6.29" + "HtmlForgeX": "0.50.0", + "OfficeIMO.Markdown": "0.6.42" } }, "OfficeIMO.Markdown": { "type": "Direct", - "requested": "[0.6.29, )", - "resolved": "0.6.29", - "contentHash": "Q4JKyT4C9qYJ0cG3le9qeJQQ9DwDh0SCpsktIRtJpYiBTjlHargMU0cTK82QQFzni+0x2OHIIsvf1JWCVHKXEw==" + "requested": "[0.6.42, )", + "resolved": "0.6.42", + "contentHash": "eApNM/lo9Sk5gET2fmNojBurTW6eRA11pJE3UGPzcBfOzOgpVHEO2PZmWPogajBjKt+YOszljcz47f5uDKaglw==" }, "PowerShellStandard.Library": { "type": "Direct", diff --git a/PowerForge.Tests/packages.lock.json b/PowerForge.Tests/packages.lock.json index ed1db2bf8..a22598fb2 100644 --- a/PowerForge.Tests/packages.lock.json +++ b/PowerForge.Tests/packages.lock.json @@ -83,16 +83,16 @@ }, "HtmlForgeX": { "type": "Transitive", - "resolved": "0.44.0", - "contentHash": "DyIafz6fxyfdWO+fUzvur50PawS0NEmPODOd3ODZ4bswXnsPnK3xRHGtxVPWfpD1+TE2Dy0xD14w2m6ISSb1Ww==" + "resolved": "0.50.0", + "contentHash": "uY1duOtHtigrP+4twuK6GtY/g2iF0C6SWcbfXG4wld2GJKGGnXl1mrXOBKbDuMsiK836szrkpZn5bD9JQdhFeQ==" }, "HtmlForgeX.Markdown": { "type": "Transitive", - "resolved": "0.20.12", - "contentHash": "qYO9KHp/FybdhX7jxiLqODKA60ASdhCZOhBdugvRKqRgJAIQ32BcS3tD8y2euLD5voUpwROOJOJq3xBqWBpU1w==", + "resolved": "0.21.0", + "contentHash": "1jxsJCEl/Y+oe/2p6r7/2+y5U2hx2shvRfrEqponphebrLs0vC2kOI/bM35hPyIz+1R3ajxrY8+y/H/j0f589g==", "dependencies": { - "HtmlForgeX": "0.44.0", - "OfficeIMO.Markdown": "0.6.29" + "HtmlForgeX": "0.50.0", + "OfficeIMO.Markdown": "0.6.42" } }, "HtmlTinkerX": { @@ -435,8 +435,8 @@ }, "OfficeIMO.Markdown": { "type": "Transitive", - "resolved": "0.6.29", - "contentHash": "Q4JKyT4C9qYJ0cG3le9qeJQQ9DwDh0SCpsktIRtJpYiBTjlHargMU0cTK82QQFzni+0x2OHIIsvf1JWCVHKXEw==" + "resolved": "0.6.42", + "contentHash": "eApNM/lo9Sk5gET2fmNojBurTW6eRA11pJE3UGPzcBfOzOgpVHEO2PZmWPogajBjKt+YOszljcz47f5uDKaglw==" }, "OfficeIMO.Markdown.Html": { "type": "Transitive", @@ -895,9 +895,9 @@ "pspublishmodule": { "type": "Project", "dependencies": { - "HtmlForgeX": "[0.44.0, )", - "HtmlForgeX.Markdown": "[0.20.12, )", - "OfficeIMO.Markdown": "[0.6.29, )", + "HtmlForgeX": "[0.50.0, )", + "HtmlForgeX.Markdown": "[0.21.0, )", + "OfficeIMO.Markdown": "[0.6.42, )", "PowerForge": "[1.0.0, )", "PowerForge.PowerShell": "[1.0.0, )", "Spectre.Console": "[0.55.2, )", From 25c0d4f491d3967e240ab4e97af86a7745d2476e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Przemys=C5=82aw=20K=C5=82ys?= Date: Fri, 17 Jul 2026 16:36:37 +0200 Subject: [PATCH 05/16] Pin final HtmlForgeX package hashes --- PSPublishModule/packages.lock.json | 12 ++++++------ PowerForge.Tests/packages.lock.json | 4 ++-- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/PSPublishModule/packages.lock.json b/PSPublishModule/packages.lock.json index 1e0d0c001..57de9555d 100644 --- a/PSPublishModule/packages.lock.json +++ b/PSPublishModule/packages.lock.json @@ -6,7 +6,7 @@ "type": "Direct", "requested": "[0.50.0, )", "resolved": "0.50.0", - "contentHash": "uY1duOtHtigrP+4twuK6GtY/g2iF0C6SWcbfXG4wld2GJKGGnXl1mrXOBKbDuMsiK836szrkpZn5bD9JQdhFeQ==", + "contentHash": "h9etMP2cgm5MUMaZEwWGtK2CLknjoNY9WpakobNrMZrdeTJnxhCIUEOHEICjP4SsIJ6nZO2PbSQ0NRI40eYjFw==", "dependencies": { "System.ComponentModel.Annotations": "5.0.0", "System.Text.Json": "9.0.17" @@ -16,7 +16,7 @@ "type": "Direct", "requested": "[0.21.0, )", "resolved": "0.21.0", - "contentHash": "1jxsJCEl/Y+oe/2p6r7/2+y5U2hx2shvRfrEqponphebrLs0vC2kOI/bM35hPyIz+1R3ajxrY8+y/H/j0f589g==", + "contentHash": "UAcuFRRXOaNGAKl7v7FRiIrAXu6ls5TBxLwWuAOXR5rlLvjyt3V+52SMFYYRqVlUnwdhMzNQ90+SYHgeOPFJVg==", "dependencies": { "HtmlForgeX": "0.50.0", "OfficeIMO.Markdown": "0.6.42", @@ -282,13 +282,13 @@ "type": "Direct", "requested": "[0.50.0, )", "resolved": "0.50.0", - "contentHash": "uY1duOtHtigrP+4twuK6GtY/g2iF0C6SWcbfXG4wld2GJKGGnXl1mrXOBKbDuMsiK836szrkpZn5bD9JQdhFeQ==" + "contentHash": "h9etMP2cgm5MUMaZEwWGtK2CLknjoNY9WpakobNrMZrdeTJnxhCIUEOHEICjP4SsIJ6nZO2PbSQ0NRI40eYjFw==" }, "HtmlForgeX.Markdown": { "type": "Direct", "requested": "[0.21.0, )", "resolved": "0.21.0", - "contentHash": "1jxsJCEl/Y+oe/2p6r7/2+y5U2hx2shvRfrEqponphebrLs0vC2kOI/bM35hPyIz+1R3ajxrY8+y/H/j0f589g==", + "contentHash": "UAcuFRRXOaNGAKl7v7FRiIrAXu6ls5TBxLwWuAOXR5rlLvjyt3V+52SMFYYRqVlUnwdhMzNQ90+SYHgeOPFJVg==", "dependencies": { "HtmlForgeX": "0.50.0", "OfficeIMO.Markdown": "0.6.42" @@ -967,13 +967,13 @@ "type": "Direct", "requested": "[0.50.0, )", "resolved": "0.50.0", - "contentHash": "uY1duOtHtigrP+4twuK6GtY/g2iF0C6SWcbfXG4wld2GJKGGnXl1mrXOBKbDuMsiK836szrkpZn5bD9JQdhFeQ==" + "contentHash": "h9etMP2cgm5MUMaZEwWGtK2CLknjoNY9WpakobNrMZrdeTJnxhCIUEOHEICjP4SsIJ6nZO2PbSQ0NRI40eYjFw==" }, "HtmlForgeX.Markdown": { "type": "Direct", "requested": "[0.21.0, )", "resolved": "0.21.0", - "contentHash": "1jxsJCEl/Y+oe/2p6r7/2+y5U2hx2shvRfrEqponphebrLs0vC2kOI/bM35hPyIz+1R3ajxrY8+y/H/j0f589g==", + "contentHash": "UAcuFRRXOaNGAKl7v7FRiIrAXu6ls5TBxLwWuAOXR5rlLvjyt3V+52SMFYYRqVlUnwdhMzNQ90+SYHgeOPFJVg==", "dependencies": { "HtmlForgeX": "0.50.0", "OfficeIMO.Markdown": "0.6.42" diff --git a/PowerForge.Tests/packages.lock.json b/PowerForge.Tests/packages.lock.json index a22598fb2..d313cb67c 100644 --- a/PowerForge.Tests/packages.lock.json +++ b/PowerForge.Tests/packages.lock.json @@ -84,12 +84,12 @@ "HtmlForgeX": { "type": "Transitive", "resolved": "0.50.0", - "contentHash": "uY1duOtHtigrP+4twuK6GtY/g2iF0C6SWcbfXG4wld2GJKGGnXl1mrXOBKbDuMsiK836szrkpZn5bD9JQdhFeQ==" + "contentHash": "h9etMP2cgm5MUMaZEwWGtK2CLknjoNY9WpakobNrMZrdeTJnxhCIUEOHEICjP4SsIJ6nZO2PbSQ0NRI40eYjFw==" }, "HtmlForgeX.Markdown": { "type": "Transitive", "resolved": "0.21.0", - "contentHash": "1jxsJCEl/Y+oe/2p6r7/2+y5U2hx2shvRfrEqponphebrLs0vC2kOI/bM35hPyIz+1R3ajxrY8+y/H/j0f589g==", + "contentHash": "UAcuFRRXOaNGAKl7v7FRiIrAXu6ls5TBxLwWuAOXR5rlLvjyt3V+52SMFYYRqVlUnwdhMzNQ90+SYHgeOPFJVg==", "dependencies": { "HtmlForgeX": "0.50.0", "OfficeIMO.Markdown": "0.6.42" From b0cdd9978364368daa39e3c8179a2ee83df9e654 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Przemys=C5=82aw=20K=C5=82ys?= Date: Fri, 17 Jul 2026 19:41:48 +0200 Subject: [PATCH 06/16] Bind HtmlForgeX locks to release artifacts --- PSPublishModule/packages.lock.json | 12 ++++++------ PowerForge.Tests/packages.lock.json | 4 ++-- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/PSPublishModule/packages.lock.json b/PSPublishModule/packages.lock.json index 57de9555d..514f7ba88 100644 --- a/PSPublishModule/packages.lock.json +++ b/PSPublishModule/packages.lock.json @@ -6,7 +6,7 @@ "type": "Direct", "requested": "[0.50.0, )", "resolved": "0.50.0", - "contentHash": "h9etMP2cgm5MUMaZEwWGtK2CLknjoNY9WpakobNrMZrdeTJnxhCIUEOHEICjP4SsIJ6nZO2PbSQ0NRI40eYjFw==", + "contentHash": "rxt5NPG3JGME5xDwemYMgCl+jnH1uCwLiiNAh/O6YvmgIaSZbqyl0q4skqROUdHvCuEOaDJ33GUGybPG+A2e+Q==", "dependencies": { "System.ComponentModel.Annotations": "5.0.0", "System.Text.Json": "9.0.17" @@ -16,7 +16,7 @@ "type": "Direct", "requested": "[0.21.0, )", "resolved": "0.21.0", - "contentHash": "UAcuFRRXOaNGAKl7v7FRiIrAXu6ls5TBxLwWuAOXR5rlLvjyt3V+52SMFYYRqVlUnwdhMzNQ90+SYHgeOPFJVg==", + "contentHash": "dm7OAsdgmRBqNuUgwveSe5Dcp2lcWCez+oQ+rm2njKehAExHv+v19ARwv+yvcw81K8uId2a6dqFstSwVEkzNIg==", "dependencies": { "HtmlForgeX": "0.50.0", "OfficeIMO.Markdown": "0.6.42", @@ -282,13 +282,13 @@ "type": "Direct", "requested": "[0.50.0, )", "resolved": "0.50.0", - "contentHash": "h9etMP2cgm5MUMaZEwWGtK2CLknjoNY9WpakobNrMZrdeTJnxhCIUEOHEICjP4SsIJ6nZO2PbSQ0NRI40eYjFw==" + "contentHash": "rxt5NPG3JGME5xDwemYMgCl+jnH1uCwLiiNAh/O6YvmgIaSZbqyl0q4skqROUdHvCuEOaDJ33GUGybPG+A2e+Q==" }, "HtmlForgeX.Markdown": { "type": "Direct", "requested": "[0.21.0, )", "resolved": "0.21.0", - "contentHash": "UAcuFRRXOaNGAKl7v7FRiIrAXu6ls5TBxLwWuAOXR5rlLvjyt3V+52SMFYYRqVlUnwdhMzNQ90+SYHgeOPFJVg==", + "contentHash": "dm7OAsdgmRBqNuUgwveSe5Dcp2lcWCez+oQ+rm2njKehAExHv+v19ARwv+yvcw81K8uId2a6dqFstSwVEkzNIg==", "dependencies": { "HtmlForgeX": "0.50.0", "OfficeIMO.Markdown": "0.6.42" @@ -967,13 +967,13 @@ "type": "Direct", "requested": "[0.50.0, )", "resolved": "0.50.0", - "contentHash": "h9etMP2cgm5MUMaZEwWGtK2CLknjoNY9WpakobNrMZrdeTJnxhCIUEOHEICjP4SsIJ6nZO2PbSQ0NRI40eYjFw==" + "contentHash": "rxt5NPG3JGME5xDwemYMgCl+jnH1uCwLiiNAh/O6YvmgIaSZbqyl0q4skqROUdHvCuEOaDJ33GUGybPG+A2e+Q==" }, "HtmlForgeX.Markdown": { "type": "Direct", "requested": "[0.21.0, )", "resolved": "0.21.0", - "contentHash": "UAcuFRRXOaNGAKl7v7FRiIrAXu6ls5TBxLwWuAOXR5rlLvjyt3V+52SMFYYRqVlUnwdhMzNQ90+SYHgeOPFJVg==", + "contentHash": "dm7OAsdgmRBqNuUgwveSe5Dcp2lcWCez+oQ+rm2njKehAExHv+v19ARwv+yvcw81K8uId2a6dqFstSwVEkzNIg==", "dependencies": { "HtmlForgeX": "0.50.0", "OfficeIMO.Markdown": "0.6.42" diff --git a/PowerForge.Tests/packages.lock.json b/PowerForge.Tests/packages.lock.json index d313cb67c..dd1af51b8 100644 --- a/PowerForge.Tests/packages.lock.json +++ b/PowerForge.Tests/packages.lock.json @@ -84,12 +84,12 @@ "HtmlForgeX": { "type": "Transitive", "resolved": "0.50.0", - "contentHash": "h9etMP2cgm5MUMaZEwWGtK2CLknjoNY9WpakobNrMZrdeTJnxhCIUEOHEICjP4SsIJ6nZO2PbSQ0NRI40eYjFw==" + "contentHash": "rxt5NPG3JGME5xDwemYMgCl+jnH1uCwLiiNAh/O6YvmgIaSZbqyl0q4skqROUdHvCuEOaDJ33GUGybPG+A2e+Q==" }, "HtmlForgeX.Markdown": { "type": "Transitive", "resolved": "0.21.0", - "contentHash": "UAcuFRRXOaNGAKl7v7FRiIrAXu6ls5TBxLwWuAOXR5rlLvjyt3V+52SMFYYRqVlUnwdhMzNQ90+SYHgeOPFJVg==", + "contentHash": "dm7OAsdgmRBqNuUgwveSe5Dcp2lcWCez+oQ+rm2njKehAExHv+v19ARwv+yvcw81K8uId2a6dqFstSwVEkzNIg==", "dependencies": { "HtmlForgeX": "0.50.0", "OfficeIMO.Markdown": "0.6.42" From 511cd075cfc46723394acbec62edbc9e810c43aa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Przemys=C5=82aw=20K=C5=82ys?= Date: Fri, 17 Jul 2026 19:53:41 +0200 Subject: [PATCH 07/16] Remove local HtmlForgeX dependency switch --- PSPublishModule/PSPublishModule.csproj | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/PSPublishModule/PSPublishModule.csproj b/PSPublishModule/PSPublishModule.csproj index c563097a1..0a5165a85 100644 --- a/PSPublishModule/PSPublishModule.csproj +++ b/PSPublishModule/PSPublishModule.csproj @@ -11,9 +11,6 @@ enable true CS1591 - false - ..\..\HtmlForgeX\HtmlForgeX\HtmlForgeX.csproj - ..\..\HtmlForgeX\HtmlForgeX.Markdown\HtmlForgeX.Markdown.csproj @@ -30,8 +27,8 @@ - - + + @@ -57,8 +54,6 @@ - - From 42ccb930e5948f8c1558abcb0a06d013cc211284 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Przemys=C5=82aw=20K=C5=82ys?= Date: Fri, 17 Jul 2026 23:14:25 +0200 Subject: [PATCH 08/16] Refresh HtmlForgeX package hashes --- PSPublishModule/packages.lock.json | 12 ++++++------ PowerForge.Tests/packages.lock.json | 4 ++-- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/PSPublishModule/packages.lock.json b/PSPublishModule/packages.lock.json index 514f7ba88..52904b85b 100644 --- a/PSPublishModule/packages.lock.json +++ b/PSPublishModule/packages.lock.json @@ -6,7 +6,7 @@ "type": "Direct", "requested": "[0.50.0, )", "resolved": "0.50.0", - "contentHash": "rxt5NPG3JGME5xDwemYMgCl+jnH1uCwLiiNAh/O6YvmgIaSZbqyl0q4skqROUdHvCuEOaDJ33GUGybPG+A2e+Q==", + "contentHash": "fKWUNcD/KUnUQyCUieHNdB1VhLdjS4dbwVMVAUlNZF+Q0WOJ4B1jYWxs0KBPizfX916FoSiI7EnJr+eKYIbN+w==", "dependencies": { "System.ComponentModel.Annotations": "5.0.0", "System.Text.Json": "9.0.17" @@ -16,7 +16,7 @@ "type": "Direct", "requested": "[0.21.0, )", "resolved": "0.21.0", - "contentHash": "dm7OAsdgmRBqNuUgwveSe5Dcp2lcWCez+oQ+rm2njKehAExHv+v19ARwv+yvcw81K8uId2a6dqFstSwVEkzNIg==", + "contentHash": "dxaw0glWESIFWa/zf0un/QjBPOWswFyPyuVuCF9aPPFs2MmEOXpqj3Du5P3qUJFBC4CV8HcN69GGFYy/DrZhQg==", "dependencies": { "HtmlForgeX": "0.50.0", "OfficeIMO.Markdown": "0.6.42", @@ -282,13 +282,13 @@ "type": "Direct", "requested": "[0.50.0, )", "resolved": "0.50.0", - "contentHash": "rxt5NPG3JGME5xDwemYMgCl+jnH1uCwLiiNAh/O6YvmgIaSZbqyl0q4skqROUdHvCuEOaDJ33GUGybPG+A2e+Q==" + "contentHash": "fKWUNcD/KUnUQyCUieHNdB1VhLdjS4dbwVMVAUlNZF+Q0WOJ4B1jYWxs0KBPizfX916FoSiI7EnJr+eKYIbN+w==" }, "HtmlForgeX.Markdown": { "type": "Direct", "requested": "[0.21.0, )", "resolved": "0.21.0", - "contentHash": "dm7OAsdgmRBqNuUgwveSe5Dcp2lcWCez+oQ+rm2njKehAExHv+v19ARwv+yvcw81K8uId2a6dqFstSwVEkzNIg==", + "contentHash": "dxaw0glWESIFWa/zf0un/QjBPOWswFyPyuVuCF9aPPFs2MmEOXpqj3Du5P3qUJFBC4CV8HcN69GGFYy/DrZhQg==", "dependencies": { "HtmlForgeX": "0.50.0", "OfficeIMO.Markdown": "0.6.42" @@ -967,13 +967,13 @@ "type": "Direct", "requested": "[0.50.0, )", "resolved": "0.50.0", - "contentHash": "rxt5NPG3JGME5xDwemYMgCl+jnH1uCwLiiNAh/O6YvmgIaSZbqyl0q4skqROUdHvCuEOaDJ33GUGybPG+A2e+Q==" + "contentHash": "fKWUNcD/KUnUQyCUieHNdB1VhLdjS4dbwVMVAUlNZF+Q0WOJ4B1jYWxs0KBPizfX916FoSiI7EnJr+eKYIbN+w==" }, "HtmlForgeX.Markdown": { "type": "Direct", "requested": "[0.21.0, )", "resolved": "0.21.0", - "contentHash": "dm7OAsdgmRBqNuUgwveSe5Dcp2lcWCez+oQ+rm2njKehAExHv+v19ARwv+yvcw81K8uId2a6dqFstSwVEkzNIg==", + "contentHash": "dxaw0glWESIFWa/zf0un/QjBPOWswFyPyuVuCF9aPPFs2MmEOXpqj3Du5P3qUJFBC4CV8HcN69GGFYy/DrZhQg==", "dependencies": { "HtmlForgeX": "0.50.0", "OfficeIMO.Markdown": "0.6.42" diff --git a/PowerForge.Tests/packages.lock.json b/PowerForge.Tests/packages.lock.json index dd1af51b8..61c5b3222 100644 --- a/PowerForge.Tests/packages.lock.json +++ b/PowerForge.Tests/packages.lock.json @@ -84,12 +84,12 @@ "HtmlForgeX": { "type": "Transitive", "resolved": "0.50.0", - "contentHash": "rxt5NPG3JGME5xDwemYMgCl+jnH1uCwLiiNAh/O6YvmgIaSZbqyl0q4skqROUdHvCuEOaDJ33GUGybPG+A2e+Q==" + "contentHash": "fKWUNcD/KUnUQyCUieHNdB1VhLdjS4dbwVMVAUlNZF+Q0WOJ4B1jYWxs0KBPizfX916FoSiI7EnJr+eKYIbN+w==" }, "HtmlForgeX.Markdown": { "type": "Transitive", "resolved": "0.21.0", - "contentHash": "dm7OAsdgmRBqNuUgwveSe5Dcp2lcWCez+oQ+rm2njKehAExHv+v19ARwv+yvcw81K8uId2a6dqFstSwVEkzNIg==", + "contentHash": "dxaw0glWESIFWa/zf0un/QjBPOWswFyPyuVuCF9aPPFs2MmEOXpqj3Du5P3qUJFBC4CV8HcN69GGFYy/DrZhQg==", "dependencies": { "HtmlForgeX": "0.50.0", "OfficeIMO.Markdown": "0.6.42" From fc8db51f4680f48eef3c6c7bbc93a42df98af548 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Przemys=C5=82aw=20K=C5=82ys?= Date: Fri, 17 Jul 2026 23:58:33 +0200 Subject: [PATCH 09/16] Refresh final HtmlForgeX validation hashes --- PSPublishModule/packages.lock.json | 12 ++++++------ PowerForge.Tests/packages.lock.json | 4 ++-- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/PSPublishModule/packages.lock.json b/PSPublishModule/packages.lock.json index 52904b85b..745c046e0 100644 --- a/PSPublishModule/packages.lock.json +++ b/PSPublishModule/packages.lock.json @@ -6,7 +6,7 @@ "type": "Direct", "requested": "[0.50.0, )", "resolved": "0.50.0", - "contentHash": "fKWUNcD/KUnUQyCUieHNdB1VhLdjS4dbwVMVAUlNZF+Q0WOJ4B1jYWxs0KBPizfX916FoSiI7EnJr+eKYIbN+w==", + "contentHash": "34SLq2Ml1+QnR676PQuntezJSFpg9q+iAVh7UbrmKw3rhmD9QYiF6vWH3J7kX2X2ryoWYxIQbOKw7uACRyanVw==", "dependencies": { "System.ComponentModel.Annotations": "5.0.0", "System.Text.Json": "9.0.17" @@ -16,7 +16,7 @@ "type": "Direct", "requested": "[0.21.0, )", "resolved": "0.21.0", - "contentHash": "dxaw0glWESIFWa/zf0un/QjBPOWswFyPyuVuCF9aPPFs2MmEOXpqj3Du5P3qUJFBC4CV8HcN69GGFYy/DrZhQg==", + "contentHash": "ajn1VstU6ne8YldDkohS907/Eg++P3W6fuBwN2Nev6XdZb5bMpwdcAOzm2KFNFRcB7sQRPZ8VqkA6OJe3JrOhA==", "dependencies": { "HtmlForgeX": "0.50.0", "OfficeIMO.Markdown": "0.6.42", @@ -282,13 +282,13 @@ "type": "Direct", "requested": "[0.50.0, )", "resolved": "0.50.0", - "contentHash": "fKWUNcD/KUnUQyCUieHNdB1VhLdjS4dbwVMVAUlNZF+Q0WOJ4B1jYWxs0KBPizfX916FoSiI7EnJr+eKYIbN+w==" + "contentHash": "34SLq2Ml1+QnR676PQuntezJSFpg9q+iAVh7UbrmKw3rhmD9QYiF6vWH3J7kX2X2ryoWYxIQbOKw7uACRyanVw==" }, "HtmlForgeX.Markdown": { "type": "Direct", "requested": "[0.21.0, )", "resolved": "0.21.0", - "contentHash": "dxaw0glWESIFWa/zf0un/QjBPOWswFyPyuVuCF9aPPFs2MmEOXpqj3Du5P3qUJFBC4CV8HcN69GGFYy/DrZhQg==", + "contentHash": "ajn1VstU6ne8YldDkohS907/Eg++P3W6fuBwN2Nev6XdZb5bMpwdcAOzm2KFNFRcB7sQRPZ8VqkA6OJe3JrOhA==", "dependencies": { "HtmlForgeX": "0.50.0", "OfficeIMO.Markdown": "0.6.42" @@ -967,13 +967,13 @@ "type": "Direct", "requested": "[0.50.0, )", "resolved": "0.50.0", - "contentHash": "fKWUNcD/KUnUQyCUieHNdB1VhLdjS4dbwVMVAUlNZF+Q0WOJ4B1jYWxs0KBPizfX916FoSiI7EnJr+eKYIbN+w==" + "contentHash": "34SLq2Ml1+QnR676PQuntezJSFpg9q+iAVh7UbrmKw3rhmD9QYiF6vWH3J7kX2X2ryoWYxIQbOKw7uACRyanVw==" }, "HtmlForgeX.Markdown": { "type": "Direct", "requested": "[0.21.0, )", "resolved": "0.21.0", - "contentHash": "dxaw0glWESIFWa/zf0un/QjBPOWswFyPyuVuCF9aPPFs2MmEOXpqj3Du5P3qUJFBC4CV8HcN69GGFYy/DrZhQg==", + "contentHash": "ajn1VstU6ne8YldDkohS907/Eg++P3W6fuBwN2Nev6XdZb5bMpwdcAOzm2KFNFRcB7sQRPZ8VqkA6OJe3JrOhA==", "dependencies": { "HtmlForgeX": "0.50.0", "OfficeIMO.Markdown": "0.6.42" diff --git a/PowerForge.Tests/packages.lock.json b/PowerForge.Tests/packages.lock.json index 61c5b3222..4c217926a 100644 --- a/PowerForge.Tests/packages.lock.json +++ b/PowerForge.Tests/packages.lock.json @@ -84,12 +84,12 @@ "HtmlForgeX": { "type": "Transitive", "resolved": "0.50.0", - "contentHash": "fKWUNcD/KUnUQyCUieHNdB1VhLdjS4dbwVMVAUlNZF+Q0WOJ4B1jYWxs0KBPizfX916FoSiI7EnJr+eKYIbN+w==" + "contentHash": "34SLq2Ml1+QnR676PQuntezJSFpg9q+iAVh7UbrmKw3rhmD9QYiF6vWH3J7kX2X2ryoWYxIQbOKw7uACRyanVw==" }, "HtmlForgeX.Markdown": { "type": "Transitive", "resolved": "0.21.0", - "contentHash": "dxaw0glWESIFWa/zf0un/QjBPOWswFyPyuVuCF9aPPFs2MmEOXpqj3Du5P3qUJFBC4CV8HcN69GGFYy/DrZhQg==", + "contentHash": "ajn1VstU6ne8YldDkohS907/Eg++P3W6fuBwN2Nev6XdZb5bMpwdcAOzm2KFNFRcB7sQRPZ8VqkA6OJe3JrOhA==", "dependencies": { "HtmlForgeX": "0.50.0", "OfficeIMO.Markdown": "0.6.42" From 4571ad55ed6f725cdc59de06047f159fb416c48f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Przemys=C5=82aw=20K=C5=82ys?= Date: Sat, 18 Jul 2026 00:35:24 +0200 Subject: [PATCH 10/16] Refresh HtmlForgeX package hashes --- PSPublishModule/packages.lock.json | 12 ++++++------ PowerForge.Tests/packages.lock.json | 4 ++-- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/PSPublishModule/packages.lock.json b/PSPublishModule/packages.lock.json index 745c046e0..ab795720b 100644 --- a/PSPublishModule/packages.lock.json +++ b/PSPublishModule/packages.lock.json @@ -6,7 +6,7 @@ "type": "Direct", "requested": "[0.50.0, )", "resolved": "0.50.0", - "contentHash": "34SLq2Ml1+QnR676PQuntezJSFpg9q+iAVh7UbrmKw3rhmD9QYiF6vWH3J7kX2X2ryoWYxIQbOKw7uACRyanVw==", + "contentHash": "6p6+zM38/MJQO6oOsu56yI7rVEZyV3nsP2Qy83/Dw9nK1GaPoIz5bvZDGUNlRQli756pBVUNcD4DnTgFLSQfgg==", "dependencies": { "System.ComponentModel.Annotations": "5.0.0", "System.Text.Json": "9.0.17" @@ -16,7 +16,7 @@ "type": "Direct", "requested": "[0.21.0, )", "resolved": "0.21.0", - "contentHash": "ajn1VstU6ne8YldDkohS907/Eg++P3W6fuBwN2Nev6XdZb5bMpwdcAOzm2KFNFRcB7sQRPZ8VqkA6OJe3JrOhA==", + "contentHash": "RMvNewfyta8Hv80XIjY28FTJdLiyKKbdUKhfjDUq1mDd2D4HPTP28LYv1U3Nie2kgqW3skH1dC2kw47HpWstDw==", "dependencies": { "HtmlForgeX": "0.50.0", "OfficeIMO.Markdown": "0.6.42", @@ -282,13 +282,13 @@ "type": "Direct", "requested": "[0.50.0, )", "resolved": "0.50.0", - "contentHash": "34SLq2Ml1+QnR676PQuntezJSFpg9q+iAVh7UbrmKw3rhmD9QYiF6vWH3J7kX2X2ryoWYxIQbOKw7uACRyanVw==" + "contentHash": "6p6+zM38/MJQO6oOsu56yI7rVEZyV3nsP2Qy83/Dw9nK1GaPoIz5bvZDGUNlRQli756pBVUNcD4DnTgFLSQfgg==" }, "HtmlForgeX.Markdown": { "type": "Direct", "requested": "[0.21.0, )", "resolved": "0.21.0", - "contentHash": "ajn1VstU6ne8YldDkohS907/Eg++P3W6fuBwN2Nev6XdZb5bMpwdcAOzm2KFNFRcB7sQRPZ8VqkA6OJe3JrOhA==", + "contentHash": "RMvNewfyta8Hv80XIjY28FTJdLiyKKbdUKhfjDUq1mDd2D4HPTP28LYv1U3Nie2kgqW3skH1dC2kw47HpWstDw==", "dependencies": { "HtmlForgeX": "0.50.0", "OfficeIMO.Markdown": "0.6.42" @@ -967,13 +967,13 @@ "type": "Direct", "requested": "[0.50.0, )", "resolved": "0.50.0", - "contentHash": "34SLq2Ml1+QnR676PQuntezJSFpg9q+iAVh7UbrmKw3rhmD9QYiF6vWH3J7kX2X2ryoWYxIQbOKw7uACRyanVw==" + "contentHash": "6p6+zM38/MJQO6oOsu56yI7rVEZyV3nsP2Qy83/Dw9nK1GaPoIz5bvZDGUNlRQli756pBVUNcD4DnTgFLSQfgg==" }, "HtmlForgeX.Markdown": { "type": "Direct", "requested": "[0.21.0, )", "resolved": "0.21.0", - "contentHash": "ajn1VstU6ne8YldDkohS907/Eg++P3W6fuBwN2Nev6XdZb5bMpwdcAOzm2KFNFRcB7sQRPZ8VqkA6OJe3JrOhA==", + "contentHash": "RMvNewfyta8Hv80XIjY28FTJdLiyKKbdUKhfjDUq1mDd2D4HPTP28LYv1U3Nie2kgqW3skH1dC2kw47HpWstDw==", "dependencies": { "HtmlForgeX": "0.50.0", "OfficeIMO.Markdown": "0.6.42" diff --git a/PowerForge.Tests/packages.lock.json b/PowerForge.Tests/packages.lock.json index 4c217926a..9cf17e651 100644 --- a/PowerForge.Tests/packages.lock.json +++ b/PowerForge.Tests/packages.lock.json @@ -84,12 +84,12 @@ "HtmlForgeX": { "type": "Transitive", "resolved": "0.50.0", - "contentHash": "34SLq2Ml1+QnR676PQuntezJSFpg9q+iAVh7UbrmKw3rhmD9QYiF6vWH3J7kX2X2ryoWYxIQbOKw7uACRyanVw==" + "contentHash": "6p6+zM38/MJQO6oOsu56yI7rVEZyV3nsP2Qy83/Dw9nK1GaPoIz5bvZDGUNlRQli756pBVUNcD4DnTgFLSQfgg==" }, "HtmlForgeX.Markdown": { "type": "Transitive", "resolved": "0.21.0", - "contentHash": "ajn1VstU6ne8YldDkohS907/Eg++P3W6fuBwN2Nev6XdZb5bMpwdcAOzm2KFNFRcB7sQRPZ8VqkA6OJe3JrOhA==", + "contentHash": "RMvNewfyta8Hv80XIjY28FTJdLiyKKbdUKhfjDUq1mDd2D4HPTP28LYv1U3Nie2kgqW3skH1dC2kw47HpWstDw==", "dependencies": { "HtmlForgeX": "0.50.0", "OfficeIMO.Markdown": "0.6.42" From 8b572f0c3a39a26596e3536fd889b757681f8631 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Przemys=C5=82aw=20K=C5=82ys?= Date: Sat, 18 Jul 2026 01:20:37 +0200 Subject: [PATCH 11/16] Refresh HtmlForgeX package locks --- PSPublishModule/packages.lock.json | 12 ++++++------ PowerForge.Tests/packages.lock.json | 4 ++-- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/PSPublishModule/packages.lock.json b/PSPublishModule/packages.lock.json index ab795720b..3287efc6d 100644 --- a/PSPublishModule/packages.lock.json +++ b/PSPublishModule/packages.lock.json @@ -6,7 +6,7 @@ "type": "Direct", "requested": "[0.50.0, )", "resolved": "0.50.0", - "contentHash": "6p6+zM38/MJQO6oOsu56yI7rVEZyV3nsP2Qy83/Dw9nK1GaPoIz5bvZDGUNlRQli756pBVUNcD4DnTgFLSQfgg==", + "contentHash": "wPYLPPW43hEe7e3Uh5UB5q3Qi1BFNTBh+7daQyQCyDFzA8gVJvdevKIY5Wuk7B6VZlt3c5YuRwgidVPmB8181Q==", "dependencies": { "System.ComponentModel.Annotations": "5.0.0", "System.Text.Json": "9.0.17" @@ -16,7 +16,7 @@ "type": "Direct", "requested": "[0.21.0, )", "resolved": "0.21.0", - "contentHash": "RMvNewfyta8Hv80XIjY28FTJdLiyKKbdUKhfjDUq1mDd2D4HPTP28LYv1U3Nie2kgqW3skH1dC2kw47HpWstDw==", + "contentHash": "mnUrGBzmPf+xnrC948adRt89cqO3UJnY4G99q817uPZSKPg/c/hI5JcGznyDDbWiDO2Q32WAvPgUyDZyzSYsvQ==", "dependencies": { "HtmlForgeX": "0.50.0", "OfficeIMO.Markdown": "0.6.42", @@ -282,13 +282,13 @@ "type": "Direct", "requested": "[0.50.0, )", "resolved": "0.50.0", - "contentHash": "6p6+zM38/MJQO6oOsu56yI7rVEZyV3nsP2Qy83/Dw9nK1GaPoIz5bvZDGUNlRQli756pBVUNcD4DnTgFLSQfgg==" + "contentHash": "wPYLPPW43hEe7e3Uh5UB5q3Qi1BFNTBh+7daQyQCyDFzA8gVJvdevKIY5Wuk7B6VZlt3c5YuRwgidVPmB8181Q==" }, "HtmlForgeX.Markdown": { "type": "Direct", "requested": "[0.21.0, )", "resolved": "0.21.0", - "contentHash": "RMvNewfyta8Hv80XIjY28FTJdLiyKKbdUKhfjDUq1mDd2D4HPTP28LYv1U3Nie2kgqW3skH1dC2kw47HpWstDw==", + "contentHash": "mnUrGBzmPf+xnrC948adRt89cqO3UJnY4G99q817uPZSKPg/c/hI5JcGznyDDbWiDO2Q32WAvPgUyDZyzSYsvQ==", "dependencies": { "HtmlForgeX": "0.50.0", "OfficeIMO.Markdown": "0.6.42" @@ -967,13 +967,13 @@ "type": "Direct", "requested": "[0.50.0, )", "resolved": "0.50.0", - "contentHash": "6p6+zM38/MJQO6oOsu56yI7rVEZyV3nsP2Qy83/Dw9nK1GaPoIz5bvZDGUNlRQli756pBVUNcD4DnTgFLSQfgg==" + "contentHash": "wPYLPPW43hEe7e3Uh5UB5q3Qi1BFNTBh+7daQyQCyDFzA8gVJvdevKIY5Wuk7B6VZlt3c5YuRwgidVPmB8181Q==" }, "HtmlForgeX.Markdown": { "type": "Direct", "requested": "[0.21.0, )", "resolved": "0.21.0", - "contentHash": "RMvNewfyta8Hv80XIjY28FTJdLiyKKbdUKhfjDUq1mDd2D4HPTP28LYv1U3Nie2kgqW3skH1dC2kw47HpWstDw==", + "contentHash": "mnUrGBzmPf+xnrC948adRt89cqO3UJnY4G99q817uPZSKPg/c/hI5JcGznyDDbWiDO2Q32WAvPgUyDZyzSYsvQ==", "dependencies": { "HtmlForgeX": "0.50.0", "OfficeIMO.Markdown": "0.6.42" diff --git a/PowerForge.Tests/packages.lock.json b/PowerForge.Tests/packages.lock.json index 9cf17e651..5cbf29f5b 100644 --- a/PowerForge.Tests/packages.lock.json +++ b/PowerForge.Tests/packages.lock.json @@ -84,12 +84,12 @@ "HtmlForgeX": { "type": "Transitive", "resolved": "0.50.0", - "contentHash": "6p6+zM38/MJQO6oOsu56yI7rVEZyV3nsP2Qy83/Dw9nK1GaPoIz5bvZDGUNlRQli756pBVUNcD4DnTgFLSQfgg==" + "contentHash": "wPYLPPW43hEe7e3Uh5UB5q3Qi1BFNTBh+7daQyQCyDFzA8gVJvdevKIY5Wuk7B6VZlt3c5YuRwgidVPmB8181Q==" }, "HtmlForgeX.Markdown": { "type": "Transitive", "resolved": "0.21.0", - "contentHash": "RMvNewfyta8Hv80XIjY28FTJdLiyKKbdUKhfjDUq1mDd2D4HPTP28LYv1U3Nie2kgqW3skH1dC2kw47HpWstDw==", + "contentHash": "mnUrGBzmPf+xnrC948adRt89cqO3UJnY4G99q817uPZSKPg/c/hI5JcGznyDDbWiDO2Q32WAvPgUyDZyzSYsvQ==", "dependencies": { "HtmlForgeX": "0.50.0", "OfficeIMO.Markdown": "0.6.42" From 2c98a8f7be6bbea501e315cc0a1723df685c08d4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Przemys=C5=82aw=20K=C5=82ys?= Date: Sat, 18 Jul 2026 01:53:57 +0200 Subject: [PATCH 12/16] Refresh HtmlForgeX package locks --- PSPublishModule/packages.lock.json | 12 ++++++------ PowerForge.Tests/packages.lock.json | 4 ++-- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/PSPublishModule/packages.lock.json b/PSPublishModule/packages.lock.json index 3287efc6d..85fc28cff 100644 --- a/PSPublishModule/packages.lock.json +++ b/PSPublishModule/packages.lock.json @@ -6,7 +6,7 @@ "type": "Direct", "requested": "[0.50.0, )", "resolved": "0.50.0", - "contentHash": "wPYLPPW43hEe7e3Uh5UB5q3Qi1BFNTBh+7daQyQCyDFzA8gVJvdevKIY5Wuk7B6VZlt3c5YuRwgidVPmB8181Q==", + "contentHash": "EbnUkrLW6HErPl5GnLb6Tgk80qNFMN6rgfpO7qTdmOBf59eaG+gzF1JXAo4bvwLRJwJI/I0AUTE9QssYP91sug==", "dependencies": { "System.ComponentModel.Annotations": "5.0.0", "System.Text.Json": "9.0.17" @@ -16,7 +16,7 @@ "type": "Direct", "requested": "[0.21.0, )", "resolved": "0.21.0", - "contentHash": "mnUrGBzmPf+xnrC948adRt89cqO3UJnY4G99q817uPZSKPg/c/hI5JcGznyDDbWiDO2Q32WAvPgUyDZyzSYsvQ==", + "contentHash": "Hdg2+PUKQ7NwoTSQN0cMqbB8qFUNcM4tzuNcBz/1gFMVtMrqcKNRzGIfRWWaFHlo0TCwiEdqZ8j0WO2rNAr9Tw==", "dependencies": { "HtmlForgeX": "0.50.0", "OfficeIMO.Markdown": "0.6.42", @@ -282,13 +282,13 @@ "type": "Direct", "requested": "[0.50.0, )", "resolved": "0.50.0", - "contentHash": "wPYLPPW43hEe7e3Uh5UB5q3Qi1BFNTBh+7daQyQCyDFzA8gVJvdevKIY5Wuk7B6VZlt3c5YuRwgidVPmB8181Q==" + "contentHash": "EbnUkrLW6HErPl5GnLb6Tgk80qNFMN6rgfpO7qTdmOBf59eaG+gzF1JXAo4bvwLRJwJI/I0AUTE9QssYP91sug==" }, "HtmlForgeX.Markdown": { "type": "Direct", "requested": "[0.21.0, )", "resolved": "0.21.0", - "contentHash": "mnUrGBzmPf+xnrC948adRt89cqO3UJnY4G99q817uPZSKPg/c/hI5JcGznyDDbWiDO2Q32WAvPgUyDZyzSYsvQ==", + "contentHash": "Hdg2+PUKQ7NwoTSQN0cMqbB8qFUNcM4tzuNcBz/1gFMVtMrqcKNRzGIfRWWaFHlo0TCwiEdqZ8j0WO2rNAr9Tw==", "dependencies": { "HtmlForgeX": "0.50.0", "OfficeIMO.Markdown": "0.6.42" @@ -967,13 +967,13 @@ "type": "Direct", "requested": "[0.50.0, )", "resolved": "0.50.0", - "contentHash": "wPYLPPW43hEe7e3Uh5UB5q3Qi1BFNTBh+7daQyQCyDFzA8gVJvdevKIY5Wuk7B6VZlt3c5YuRwgidVPmB8181Q==" + "contentHash": "EbnUkrLW6HErPl5GnLb6Tgk80qNFMN6rgfpO7qTdmOBf59eaG+gzF1JXAo4bvwLRJwJI/I0AUTE9QssYP91sug==" }, "HtmlForgeX.Markdown": { "type": "Direct", "requested": "[0.21.0, )", "resolved": "0.21.0", - "contentHash": "mnUrGBzmPf+xnrC948adRt89cqO3UJnY4G99q817uPZSKPg/c/hI5JcGznyDDbWiDO2Q32WAvPgUyDZyzSYsvQ==", + "contentHash": "Hdg2+PUKQ7NwoTSQN0cMqbB8qFUNcM4tzuNcBz/1gFMVtMrqcKNRzGIfRWWaFHlo0TCwiEdqZ8j0WO2rNAr9Tw==", "dependencies": { "HtmlForgeX": "0.50.0", "OfficeIMO.Markdown": "0.6.42" diff --git a/PowerForge.Tests/packages.lock.json b/PowerForge.Tests/packages.lock.json index 5cbf29f5b..a8cc471fd 100644 --- a/PowerForge.Tests/packages.lock.json +++ b/PowerForge.Tests/packages.lock.json @@ -84,12 +84,12 @@ "HtmlForgeX": { "type": "Transitive", "resolved": "0.50.0", - "contentHash": "wPYLPPW43hEe7e3Uh5UB5q3Qi1BFNTBh+7daQyQCyDFzA8gVJvdevKIY5Wuk7B6VZlt3c5YuRwgidVPmB8181Q==" + "contentHash": "EbnUkrLW6HErPl5GnLb6Tgk80qNFMN6rgfpO7qTdmOBf59eaG+gzF1JXAo4bvwLRJwJI/I0AUTE9QssYP91sug==" }, "HtmlForgeX.Markdown": { "type": "Transitive", "resolved": "0.21.0", - "contentHash": "mnUrGBzmPf+xnrC948adRt89cqO3UJnY4G99q817uPZSKPg/c/hI5JcGznyDDbWiDO2Q32WAvPgUyDZyzSYsvQ==", + "contentHash": "Hdg2+PUKQ7NwoTSQN0cMqbB8qFUNcM4tzuNcBz/1gFMVtMrqcKNRzGIfRWWaFHlo0TCwiEdqZ8j0WO2rNAr9Tw==", "dependencies": { "HtmlForgeX": "0.50.0", "OfficeIMO.Markdown": "0.6.42" From 3c76b2d1407c6a0ff6c9ff23e777e1b4414624f6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Przemys=C5=82aw=20K=C5=82ys?= Date: Sat, 18 Jul 2026 03:05:11 +0200 Subject: [PATCH 13/16] Pin final HtmlForgeX package artifacts --- PSPublishModule/packages.lock.json | 12 ++++++------ PowerForge.Tests/packages.lock.json | 4 ++-- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/PSPublishModule/packages.lock.json b/PSPublishModule/packages.lock.json index 85fc28cff..dd9bed676 100644 --- a/PSPublishModule/packages.lock.json +++ b/PSPublishModule/packages.lock.json @@ -6,7 +6,7 @@ "type": "Direct", "requested": "[0.50.0, )", "resolved": "0.50.0", - "contentHash": "EbnUkrLW6HErPl5GnLb6Tgk80qNFMN6rgfpO7qTdmOBf59eaG+gzF1JXAo4bvwLRJwJI/I0AUTE9QssYP91sug==", + "contentHash": "620a/mmW0wwX5L9kPGxS8aFM+lOxIJNriDA8xt8bLiFiYn2M3AjSxuqhurxd32afvmjklTG+3dNNeOo6IcEvEw==", "dependencies": { "System.ComponentModel.Annotations": "5.0.0", "System.Text.Json": "9.0.17" @@ -16,7 +16,7 @@ "type": "Direct", "requested": "[0.21.0, )", "resolved": "0.21.0", - "contentHash": "Hdg2+PUKQ7NwoTSQN0cMqbB8qFUNcM4tzuNcBz/1gFMVtMrqcKNRzGIfRWWaFHlo0TCwiEdqZ8j0WO2rNAr9Tw==", + "contentHash": "6zT2EM6lf7/R7jQh+iONeVIBX+ImJK1edeLENMXoh/WPFpHECK8wYsMuaj7msvjopY4+2H8Ahqrv2ODMjuamMA==", "dependencies": { "HtmlForgeX": "0.50.0", "OfficeIMO.Markdown": "0.6.42", @@ -282,13 +282,13 @@ "type": "Direct", "requested": "[0.50.0, )", "resolved": "0.50.0", - "contentHash": "EbnUkrLW6HErPl5GnLb6Tgk80qNFMN6rgfpO7qTdmOBf59eaG+gzF1JXAo4bvwLRJwJI/I0AUTE9QssYP91sug==" + "contentHash": "620a/mmW0wwX5L9kPGxS8aFM+lOxIJNriDA8xt8bLiFiYn2M3AjSxuqhurxd32afvmjklTG+3dNNeOo6IcEvEw==" }, "HtmlForgeX.Markdown": { "type": "Direct", "requested": "[0.21.0, )", "resolved": "0.21.0", - "contentHash": "Hdg2+PUKQ7NwoTSQN0cMqbB8qFUNcM4tzuNcBz/1gFMVtMrqcKNRzGIfRWWaFHlo0TCwiEdqZ8j0WO2rNAr9Tw==", + "contentHash": "6zT2EM6lf7/R7jQh+iONeVIBX+ImJK1edeLENMXoh/WPFpHECK8wYsMuaj7msvjopY4+2H8Ahqrv2ODMjuamMA==", "dependencies": { "HtmlForgeX": "0.50.0", "OfficeIMO.Markdown": "0.6.42" @@ -967,13 +967,13 @@ "type": "Direct", "requested": "[0.50.0, )", "resolved": "0.50.0", - "contentHash": "EbnUkrLW6HErPl5GnLb6Tgk80qNFMN6rgfpO7qTdmOBf59eaG+gzF1JXAo4bvwLRJwJI/I0AUTE9QssYP91sug==" + "contentHash": "620a/mmW0wwX5L9kPGxS8aFM+lOxIJNriDA8xt8bLiFiYn2M3AjSxuqhurxd32afvmjklTG+3dNNeOo6IcEvEw==" }, "HtmlForgeX.Markdown": { "type": "Direct", "requested": "[0.21.0, )", "resolved": "0.21.0", - "contentHash": "Hdg2+PUKQ7NwoTSQN0cMqbB8qFUNcM4tzuNcBz/1gFMVtMrqcKNRzGIfRWWaFHlo0TCwiEdqZ8j0WO2rNAr9Tw==", + "contentHash": "6zT2EM6lf7/R7jQh+iONeVIBX+ImJK1edeLENMXoh/WPFpHECK8wYsMuaj7msvjopY4+2H8Ahqrv2ODMjuamMA==", "dependencies": { "HtmlForgeX": "0.50.0", "OfficeIMO.Markdown": "0.6.42" diff --git a/PowerForge.Tests/packages.lock.json b/PowerForge.Tests/packages.lock.json index a8cc471fd..e9fef9618 100644 --- a/PowerForge.Tests/packages.lock.json +++ b/PowerForge.Tests/packages.lock.json @@ -84,12 +84,12 @@ "HtmlForgeX": { "type": "Transitive", "resolved": "0.50.0", - "contentHash": "EbnUkrLW6HErPl5GnLb6Tgk80qNFMN6rgfpO7qTdmOBf59eaG+gzF1JXAo4bvwLRJwJI/I0AUTE9QssYP91sug==" + "contentHash": "620a/mmW0wwX5L9kPGxS8aFM+lOxIJNriDA8xt8bLiFiYn2M3AjSxuqhurxd32afvmjklTG+3dNNeOo6IcEvEw==" }, "HtmlForgeX.Markdown": { "type": "Transitive", "resolved": "0.21.0", - "contentHash": "Hdg2+PUKQ7NwoTSQN0cMqbB8qFUNcM4tzuNcBz/1gFMVtMrqcKNRzGIfRWWaFHlo0TCwiEdqZ8j0WO2rNAr9Tw==", + "contentHash": "6zT2EM6lf7/R7jQh+iONeVIBX+ImJK1edeLENMXoh/WPFpHECK8wYsMuaj7msvjopY4+2H8Ahqrv2ODMjuamMA==", "dependencies": { "HtmlForgeX": "0.50.0", "OfficeIMO.Markdown": "0.6.42" From eefc9139af5247701083087d24ef32d6f7500ddb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Przemys=C5=82aw=20K=C5=82ys?= Date: Sat, 18 Jul 2026 03:49:10 +0200 Subject: [PATCH 14/16] Lock final HtmlForgeX package artifact --- PSPublishModule/packages.lock.json | 6 +++--- PowerForge.Tests/packages.lock.json | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/PSPublishModule/packages.lock.json b/PSPublishModule/packages.lock.json index dd9bed676..8a1e53591 100644 --- a/PSPublishModule/packages.lock.json +++ b/PSPublishModule/packages.lock.json @@ -6,7 +6,7 @@ "type": "Direct", "requested": "[0.50.0, )", "resolved": "0.50.0", - "contentHash": "620a/mmW0wwX5L9kPGxS8aFM+lOxIJNriDA8xt8bLiFiYn2M3AjSxuqhurxd32afvmjklTG+3dNNeOo6IcEvEw==", + "contentHash": "0oxVDkmyjBe0M8OwehvA6EZ/OIjaFmZbfDSrpG7EhsoyDJh2S6sAB2wv6TK48YhP7KQnthPELvQYooZj4z2gyA==", "dependencies": { "System.ComponentModel.Annotations": "5.0.0", "System.Text.Json": "9.0.17" @@ -282,7 +282,7 @@ "type": "Direct", "requested": "[0.50.0, )", "resolved": "0.50.0", - "contentHash": "620a/mmW0wwX5L9kPGxS8aFM+lOxIJNriDA8xt8bLiFiYn2M3AjSxuqhurxd32afvmjklTG+3dNNeOo6IcEvEw==" + "contentHash": "0oxVDkmyjBe0M8OwehvA6EZ/OIjaFmZbfDSrpG7EhsoyDJh2S6sAB2wv6TK48YhP7KQnthPELvQYooZj4z2gyA==" }, "HtmlForgeX.Markdown": { "type": "Direct", @@ -967,7 +967,7 @@ "type": "Direct", "requested": "[0.50.0, )", "resolved": "0.50.0", - "contentHash": "620a/mmW0wwX5L9kPGxS8aFM+lOxIJNriDA8xt8bLiFiYn2M3AjSxuqhurxd32afvmjklTG+3dNNeOo6IcEvEw==" + "contentHash": "0oxVDkmyjBe0M8OwehvA6EZ/OIjaFmZbfDSrpG7EhsoyDJh2S6sAB2wv6TK48YhP7KQnthPELvQYooZj4z2gyA==" }, "HtmlForgeX.Markdown": { "type": "Direct", diff --git a/PowerForge.Tests/packages.lock.json b/PowerForge.Tests/packages.lock.json index e9fef9618..c4e8664ff 100644 --- a/PowerForge.Tests/packages.lock.json +++ b/PowerForge.Tests/packages.lock.json @@ -84,7 +84,7 @@ "HtmlForgeX": { "type": "Transitive", "resolved": "0.50.0", - "contentHash": "620a/mmW0wwX5L9kPGxS8aFM+lOxIJNriDA8xt8bLiFiYn2M3AjSxuqhurxd32afvmjklTG+3dNNeOo6IcEvEw==" + "contentHash": "0oxVDkmyjBe0M8OwehvA6EZ/OIjaFmZbfDSrpG7EhsoyDJh2S6sAB2wv6TK48YhP7KQnthPELvQYooZj4z2gyA==" }, "HtmlForgeX.Markdown": { "type": "Transitive", From 8f3f042c0047fe2d32f5bccd86dbe4aac3fc9a73 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Przemys=C5=82aw=20K=C5=82ys?= Date: Sat, 18 Jul 2026 03:57:54 +0200 Subject: [PATCH 15/16] Refresh exact HtmlForgeX validation hash --- PSPublishModule/packages.lock.json | 6 +++--- PowerForge.Tests/packages.lock.json | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/PSPublishModule/packages.lock.json b/PSPublishModule/packages.lock.json index 8a1e53591..1ebd94d32 100644 --- a/PSPublishModule/packages.lock.json +++ b/PSPublishModule/packages.lock.json @@ -6,7 +6,7 @@ "type": "Direct", "requested": "[0.50.0, )", "resolved": "0.50.0", - "contentHash": "0oxVDkmyjBe0M8OwehvA6EZ/OIjaFmZbfDSrpG7EhsoyDJh2S6sAB2wv6TK48YhP7KQnthPELvQYooZj4z2gyA==", + "contentHash": "5ZsrNDDjEihdAtoMg0lPgW3kDLpbhCTKOr16lb4kxiSW9k4COJdDAVBFzHk3xrWFCl8/LKosLm1GeH3hx7GGAw==", "dependencies": { "System.ComponentModel.Annotations": "5.0.0", "System.Text.Json": "9.0.17" @@ -282,7 +282,7 @@ "type": "Direct", "requested": "[0.50.0, )", "resolved": "0.50.0", - "contentHash": "0oxVDkmyjBe0M8OwehvA6EZ/OIjaFmZbfDSrpG7EhsoyDJh2S6sAB2wv6TK48YhP7KQnthPELvQYooZj4z2gyA==" + "contentHash": "5ZsrNDDjEihdAtoMg0lPgW3kDLpbhCTKOr16lb4kxiSW9k4COJdDAVBFzHk3xrWFCl8/LKosLm1GeH3hx7GGAw==" }, "HtmlForgeX.Markdown": { "type": "Direct", @@ -967,7 +967,7 @@ "type": "Direct", "requested": "[0.50.0, )", "resolved": "0.50.0", - "contentHash": "0oxVDkmyjBe0M8OwehvA6EZ/OIjaFmZbfDSrpG7EhsoyDJh2S6sAB2wv6TK48YhP7KQnthPELvQYooZj4z2gyA==" + "contentHash": "5ZsrNDDjEihdAtoMg0lPgW3kDLpbhCTKOr16lb4kxiSW9k4COJdDAVBFzHk3xrWFCl8/LKosLm1GeH3hx7GGAw==" }, "HtmlForgeX.Markdown": { "type": "Direct", diff --git a/PowerForge.Tests/packages.lock.json b/PowerForge.Tests/packages.lock.json index c4e8664ff..7396e729b 100644 --- a/PowerForge.Tests/packages.lock.json +++ b/PowerForge.Tests/packages.lock.json @@ -84,7 +84,7 @@ "HtmlForgeX": { "type": "Transitive", "resolved": "0.50.0", - "contentHash": "0oxVDkmyjBe0M8OwehvA6EZ/OIjaFmZbfDSrpG7EhsoyDJh2S6sAB2wv6TK48YhP7KQnthPELvQYooZj4z2gyA==" + "contentHash": "5ZsrNDDjEihdAtoMg0lPgW3kDLpbhCTKOr16lb4kxiSW9k4COJdDAVBFzHk3xrWFCl8/LKosLm1GeH3hx7GGAw==" }, "HtmlForgeX.Markdown": { "type": "Transitive", From 0c844ba80b5290d69227e9ee5d73c6e1fe8784a5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Przemys=C5=82aw=20K=C5=82ys?= Date: Sat, 18 Jul 2026 04:10:29 +0200 Subject: [PATCH 16/16] Adopt patched HtmlTinkerX analysis runtime --- PowerForge.Tests/packages.lock.json | 24 +++++++------- PowerForge.Web.Cli/packages.lock.json | 26 +++++++-------- PowerForge.Web/PowerForge.Web.csproj | 2 +- PowerForge.Web/packages.lock.json | 48 +++++++++++++-------------- 4 files changed, 50 insertions(+), 50 deletions(-) diff --git a/PowerForge.Tests/packages.lock.json b/PowerForge.Tests/packages.lock.json index 7396e729b..10871d2e5 100644 --- a/PowerForge.Tests/packages.lock.json +++ b/PowerForge.Tests/packages.lock.json @@ -42,13 +42,13 @@ }, "AngleSharp": { "type": "Transitive", - "resolved": "1.4.1-beta.523", - "contentHash": "1HPqvhCAHu2X9umsuoy2RU7Ls6j+JIg5Enu1SgTinXqo/EVdXP5Ey/PA0vuwqVgo1x3xowXrDCgOWt2DM4vZSA==" + "resolved": "1.5.2", + "contentHash": "LVZ7rrr6GHbhERhTgVDarVygl1e6KwE96pronA90LBOMacDhxR4lB+xYLjn/vlnUu+xbOB2RM9fuCPEx5bdyWA==" }, "AngleSharp.Css": { "type": "Transitive", - "resolved": "1.0.0-beta.213", - "contentHash": "R6Fn8GnapJi0uqJODCDUM0aYftaomcWhrk1Ty+U8E4zsTd+So4ZyDHS6J9Nni9b8WMCCp+pnMAehmVwbsgYMeQ==", + "resolved": "1.0.0-beta.216", + "contentHash": "RVt/B1pp7HREgerDw8BVZSDC+Uqh+yeL/OGtu57mLLhBBPIQ1oSYrPKOYgdt0EZEK34l7BNCjx4BaQRNRN/ZIw==", "dependencies": { "AngleSharp": "[1.0.0, 2.0.0)" } @@ -64,8 +64,8 @@ }, "AngleSharp.Js": { "type": "Transitive", - "resolved": "1.0.0-beta.47", - "contentHash": "zSBLEBwoSBwU0JKtHX6DF5X4CDML/Sn92LrAlpy+XbI8wOCkZ8DVqh5mLlHXq8s6cVaOX2PzhPV5m7wv/6MT3A==", + "resolved": "1.0.0-beta.49", + "contentHash": "K8LNWxFokKzoF6XKVa4fXrWRKJd1VwnhDvMshbpsdv0uMlOErUsK4yBOGiGBWvI/0pwVepJelJ8+O2MfAu0ptw==", "dependencies": { "AngleSharp": "[1.0.0, 2.0.0)", "Jint": "[4.0.0, 5.0.0)" @@ -97,13 +97,13 @@ }, "HtmlTinkerX": { "type": "Transitive", - "resolved": "2.0.19", - "contentHash": "aN1x0cqwonG/JNSYxCBtqTTCq1nyaEYiX6WdQvvkGpfYlLKuFjKD+4HfXSfBl1KZqC6SdIUZz3oXAib5AyB8vQ==", + "resolved": "2.1.0-beta.2", + "contentHash": "LWEFsH5FatgdnEDDSllHaI3y8Gr+hvB2I/0hNFoc5FjR37JNIPZd3lDldzS9/HG0kCocGpXmXT2LM469viPPGw==", "dependencies": { - "AngleSharp": "1.4.1-beta.523", - "AngleSharp.Css": "1.0.0-beta.213", + "AngleSharp": "1.5.2", + "AngleSharp.Css": "1.0.0-beta.216", "AngleSharp.Diffing": "1.1.1", - "AngleSharp.Js": "1.0.0-beta.47", + "AngleSharp.Js": "1.0.0-beta.49", "ChartForgeX": "0.1.6", "HtmlAgilityPack": "1.12.4", "Jint": "4.8.0", @@ -875,7 +875,7 @@ "powerforge.web": { "type": "Project", "dependencies": { - "HtmlTinkerX": "[2.0.19, )", + "HtmlTinkerX": "[2.1.0-beta.2, )", "Magick.NET-Q8-AnyCPU": "[14.14.0, )", "OfficeIMO.Markdown": "[0.6.13, )", "PowerForge": "[1.0.0, )", diff --git a/PowerForge.Web.Cli/packages.lock.json b/PowerForge.Web.Cli/packages.lock.json index 2479847b0..ccfed1b01 100644 --- a/PowerForge.Web.Cli/packages.lock.json +++ b/PowerForge.Web.Cli/packages.lock.json @@ -9,13 +9,13 @@ }, "AngleSharp": { "type": "Transitive", - "resolved": "1.4.1-beta.523", - "contentHash": "1HPqvhCAHu2X9umsuoy2RU7Ls6j+JIg5Enu1SgTinXqo/EVdXP5Ey/PA0vuwqVgo1x3xowXrDCgOWt2DM4vZSA==" + "resolved": "1.5.2", + "contentHash": "LVZ7rrr6GHbhERhTgVDarVygl1e6KwE96pronA90LBOMacDhxR4lB+xYLjn/vlnUu+xbOB2RM9fuCPEx5bdyWA==" }, "AngleSharp.Css": { "type": "Transitive", - "resolved": "1.0.0-beta.213", - "contentHash": "R6Fn8GnapJi0uqJODCDUM0aYftaomcWhrk1Ty+U8E4zsTd+So4ZyDHS6J9Nni9b8WMCCp+pnMAehmVwbsgYMeQ==", + "resolved": "1.0.0-beta.216", + "contentHash": "RVt/B1pp7HREgerDw8BVZSDC+Uqh+yeL/OGtu57mLLhBBPIQ1oSYrPKOYgdt0EZEK34l7BNCjx4BaQRNRN/ZIw==", "dependencies": { "AngleSharp": "[1.0.0, 2.0.0)" } @@ -31,8 +31,8 @@ }, "AngleSharp.Js": { "type": "Transitive", - "resolved": "1.0.0-beta.47", - "contentHash": "zSBLEBwoSBwU0JKtHX6DF5X4CDML/Sn92LrAlpy+XbI8wOCkZ8DVqh5mLlHXq8s6cVaOX2PzhPV5m7wv/6MT3A==", + "resolved": "1.0.0-beta.49", + "contentHash": "K8LNWxFokKzoF6XKVa4fXrWRKJd1VwnhDvMshbpsdv0uMlOErUsK4yBOGiGBWvI/0pwVepJelJ8+O2MfAu0ptw==", "dependencies": { "AngleSharp": "[1.0.0, 2.0.0)", "Jint": "[4.0.0, 5.0.0)" @@ -50,13 +50,13 @@ }, "HtmlTinkerX": { "type": "Transitive", - "resolved": "2.0.19", - "contentHash": "aN1x0cqwonG/JNSYxCBtqTTCq1nyaEYiX6WdQvvkGpfYlLKuFjKD+4HfXSfBl1KZqC6SdIUZz3oXAib5AyB8vQ==", + "resolved": "2.1.0-beta.2", + "contentHash": "LWEFsH5FatgdnEDDSllHaI3y8Gr+hvB2I/0hNFoc5FjR37JNIPZd3lDldzS9/HG0kCocGpXmXT2LM469viPPGw==", "dependencies": { - "AngleSharp": "1.4.1-beta.523", - "AngleSharp.Css": "1.0.0-beta.213", + "AngleSharp": "1.5.2", + "AngleSharp.Css": "1.0.0-beta.216", "AngleSharp.Diffing": "1.1.1", - "AngleSharp.Js": "1.0.0-beta.47", + "AngleSharp.Js": "1.0.0-beta.49", "ChartForgeX": "0.1.6", "HtmlAgilityPack": "1.12.4", "Jint": "4.8.0", @@ -192,7 +192,7 @@ "powerforge.web": { "type": "Project", "dependencies": { - "HtmlTinkerX": "[2.0.19, )", + "HtmlTinkerX": "[2.1.0-beta.2, )", "Magick.NET-Q8-AnyCPU": "[14.14.0, )", "OfficeIMO.Markdown": "[0.6.13, )", "PowerForge": "[1.0.1, )", @@ -202,4 +202,4 @@ } } } -} \ No newline at end of file +} diff --git a/PowerForge.Web/PowerForge.Web.csproj b/PowerForge.Web/PowerForge.Web.csproj index 2557c33ee..7a94c2e32 100644 --- a/PowerForge.Web/PowerForge.Web.csproj +++ b/PowerForge.Web/PowerForge.Web.csproj @@ -26,7 +26,7 @@ - + diff --git a/PowerForge.Web/packages.lock.json b/PowerForge.Web/packages.lock.json index 5051b5035..c2692cda8 100644 --- a/PowerForge.Web/packages.lock.json +++ b/PowerForge.Web/packages.lock.json @@ -4,14 +4,14 @@ "net10.0": { "HtmlTinkerX": { "type": "Direct", - "requested": "[2.0.19, )", - "resolved": "2.0.19", - "contentHash": "aN1x0cqwonG/JNSYxCBtqTTCq1nyaEYiX6WdQvvkGpfYlLKuFjKD+4HfXSfBl1KZqC6SdIUZz3oXAib5AyB8vQ==", + "requested": "[2.1.0-beta.2, )", + "resolved": "2.1.0-beta.2", + "contentHash": "LWEFsH5FatgdnEDDSllHaI3y8Gr+hvB2I/0hNFoc5FjR37JNIPZd3lDldzS9/HG0kCocGpXmXT2LM469viPPGw==", "dependencies": { - "AngleSharp": "1.4.1-beta.523", - "AngleSharp.Css": "1.0.0-beta.213", + "AngleSharp": "1.5.2", + "AngleSharp.Css": "1.0.0-beta.216", "AngleSharp.Diffing": "1.1.1", - "AngleSharp.Js": "1.0.0-beta.47", + "AngleSharp.Js": "1.0.0-beta.49", "ChartForgeX": "0.1.6", "HtmlAgilityPack": "1.12.4", "Jint": "4.8.0", @@ -55,13 +55,13 @@ }, "AngleSharp": { "type": "Transitive", - "resolved": "1.4.1-beta.523", - "contentHash": "1HPqvhCAHu2X9umsuoy2RU7Ls6j+JIg5Enu1SgTinXqo/EVdXP5Ey/PA0vuwqVgo1x3xowXrDCgOWt2DM4vZSA==" + "resolved": "1.5.2", + "contentHash": "LVZ7rrr6GHbhERhTgVDarVygl1e6KwE96pronA90LBOMacDhxR4lB+xYLjn/vlnUu+xbOB2RM9fuCPEx5bdyWA==" }, "AngleSharp.Css": { "type": "Transitive", - "resolved": "1.0.0-beta.213", - "contentHash": "R6Fn8GnapJi0uqJODCDUM0aYftaomcWhrk1Ty+U8E4zsTd+So4ZyDHS6J9Nni9b8WMCCp+pnMAehmVwbsgYMeQ==", + "resolved": "1.0.0-beta.216", + "contentHash": "RVt/B1pp7HREgerDw8BVZSDC+Uqh+yeL/OGtu57mLLhBBPIQ1oSYrPKOYgdt0EZEK34l7BNCjx4BaQRNRN/ZIw==", "dependencies": { "AngleSharp": "[1.0.0, 2.0.0)" } @@ -77,8 +77,8 @@ }, "AngleSharp.Js": { "type": "Transitive", - "resolved": "1.0.0-beta.47", - "contentHash": "zSBLEBwoSBwU0JKtHX6DF5X4CDML/Sn92LrAlpy+XbI8wOCkZ8DVqh5mLlHXq8s6cVaOX2PzhPV5m7wv/6MT3A==", + "resolved": "1.0.0-beta.49", + "contentHash": "K8LNWxFokKzoF6XKVa4fXrWRKJd1VwnhDvMshbpsdv0uMlOErUsK4yBOGiGBWvI/0pwVepJelJ8+O2MfAu0ptw==", "dependencies": { "AngleSharp": "[1.0.0, 2.0.0)", "Jint": "[4.0.0, 5.0.0)" @@ -198,14 +198,14 @@ "net8.0": { "HtmlTinkerX": { "type": "Direct", - "requested": "[2.0.19, )", - "resolved": "2.0.19", - "contentHash": "aN1x0cqwonG/JNSYxCBtqTTCq1nyaEYiX6WdQvvkGpfYlLKuFjKD+4HfXSfBl1KZqC6SdIUZz3oXAib5AyB8vQ==", + "requested": "[2.1.0-beta.2, )", + "resolved": "2.1.0-beta.2", + "contentHash": "LWEFsH5FatgdnEDDSllHaI3y8Gr+hvB2I/0hNFoc5FjR37JNIPZd3lDldzS9/HG0kCocGpXmXT2LM469viPPGw==", "dependencies": { - "AngleSharp": "1.4.1-beta.523", - "AngleSharp.Css": "1.0.0-beta.213", + "AngleSharp": "1.5.2", + "AngleSharp.Css": "1.0.0-beta.216", "AngleSharp.Diffing": "1.1.1", - "AngleSharp.Js": "1.0.0-beta.47", + "AngleSharp.Js": "1.0.0-beta.49", "ChartForgeX": "0.1.6", "HtmlAgilityPack": "1.12.4", "Jint": "4.8.0", @@ -249,13 +249,13 @@ }, "AngleSharp": { "type": "Transitive", - "resolved": "1.4.1-beta.523", - "contentHash": "1HPqvhCAHu2X9umsuoy2RU7Ls6j+JIg5Enu1SgTinXqo/EVdXP5Ey/PA0vuwqVgo1x3xowXrDCgOWt2DM4vZSA==" + "resolved": "1.5.2", + "contentHash": "LVZ7rrr6GHbhERhTgVDarVygl1e6KwE96pronA90LBOMacDhxR4lB+xYLjn/vlnUu+xbOB2RM9fuCPEx5bdyWA==" }, "AngleSharp.Css": { "type": "Transitive", - "resolved": "1.0.0-beta.213", - "contentHash": "R6Fn8GnapJi0uqJODCDUM0aYftaomcWhrk1Ty+U8E4zsTd+So4ZyDHS6J9Nni9b8WMCCp+pnMAehmVwbsgYMeQ==", + "resolved": "1.0.0-beta.216", + "contentHash": "RVt/B1pp7HREgerDw8BVZSDC+Uqh+yeL/OGtu57mLLhBBPIQ1oSYrPKOYgdt0EZEK34l7BNCjx4BaQRNRN/ZIw==", "dependencies": { "AngleSharp": "[1.0.0, 2.0.0)" } @@ -271,8 +271,8 @@ }, "AngleSharp.Js": { "type": "Transitive", - "resolved": "1.0.0-beta.47", - "contentHash": "zSBLEBwoSBwU0JKtHX6DF5X4CDML/Sn92LrAlpy+XbI8wOCkZ8DVqh5mLlHXq8s6cVaOX2PzhPV5m7wv/6MT3A==", + "resolved": "1.0.0-beta.49", + "contentHash": "K8LNWxFokKzoF6XKVa4fXrWRKJd1VwnhDvMshbpsdv0uMlOErUsK4yBOGiGBWvI/0pwVepJelJ8+O2MfAu0ptw==", "dependencies": { "AngleSharp": "[1.0.0, 2.0.0)", "Jint": "[4.0.0, 5.0.0)"