Skip to content

Commit 4d801ff

Browse files
committed
Merge branch 'improve/work-with-brotliloader'
2 parents 5835c17 + 705b7fe commit 4d801ff

File tree

11 files changed

+49
-9
lines changed

11 files changed

+49
-9
lines changed

BlazorWasmPreRendering.Build.Test/ProgramE2ETest.cs

Lines changed: 31 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -354,11 +354,40 @@ public async Task Publish_Test()
354354
serviceWorkerAssetsJs = Regex.Replace(serviceWorkerAssetsJs, ";\\s*$", "");
355355
var assetsManifestFile = JsonSerializer.Deserialize<AssetsManifestFile>(serviceWorkerAssetsJs);
356356
var assetManifestEntry = assetsManifestFile?.assets?.First(a => a.url == "index.html");
357-
assetManifestEntry.IsNotNull();
358-
assetManifestEntry!.hash.Is(hash);
357+
assetManifestEntry.IsNotNull().hash.Is(hash);
359358
}
360359
}
361360

361+
[Test]
362+
public async Task Publish_with_Compression_Test()
363+
{
364+
// Given
365+
using var sampleAppWorkDir = SampleSite.CreateSampleAppsWorkDir();
366+
var projectDir = Path.Combine(sampleAppWorkDir, "BlazorWasmApp0");
367+
368+
// When
369+
var dotnetCLI = await Start("dotnet", "publish -c:Release -o:bin/publish", projectDir).WaitForExitAsync();
370+
dotnetCLI.ExitCode.Is(0, message: dotnetCLI.Output);
371+
372+
// Then
373+
374+
// Validate prerendered contents.
375+
var wwwrootDir = Path.Combine(projectDir, "bin", "publish", "wwwroot");
376+
ValidatePrerenderedContentsOfApp0(wwwrootDir);
377+
378+
// Validate PWA assets manifest.
379+
var indexHtmlBytes = File.ReadAllBytes(Path.Combine(wwwrootDir, "index.html"));
380+
using var sha256 = SHA256.Create();
381+
var hash = "sha256-" + Convert.ToBase64String(sha256.ComputeHash(indexHtmlBytes));
382+
383+
var serviceWorkerAssetsJs = File.ReadAllText(Path.Combine(wwwrootDir, "my-assets.js"));
384+
serviceWorkerAssetsJs = Regex.Replace(serviceWorkerAssetsJs, @"^self\.assetsManifest\s*=\s*", "");
385+
serviceWorkerAssetsJs = Regex.Replace(serviceWorkerAssetsJs, ";\\s*$", "");
386+
var assetsManifestFile = JsonSerializer.Deserialize<AssetsManifestFile>(serviceWorkerAssetsJs);
387+
var assetManifestEntry = assetsManifestFile?.assets?.First(a => a.url == "index.html");
388+
assetManifestEntry.IsNotNull().hash.Is(hash);
389+
}
390+
362391
[Test, Platform("Win")]
363392
public async Task Publish_by_native_msbuild_Test()
364393
{

BlazorWasmPreRendering.Build/BlazorWasmPreRendering.Build.csproj

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@
1919
<PackageId>BlazorWasmPreRendering.Build</PackageId>
2020
<PackageLicenseExpression>MPL-2.0</PackageLicenseExpression>
2121
<PackageProjectUrl>https://github.com/jsakamoto/BlazorWasmPreRendering.Build</PackageProjectUrl>
22+
<RepositoryType>git</RepositoryType>
23+
<RepositoryUrl>$(PackageProjectUrl)</RepositoryUrl>
2224
<PackageTags>blazor,prerender</PackageTags>
2325
<PackageReleaseNotes>(Please write the package release notes in "../RELEASE-NOTES.txt")</PackageReleaseNotes>
2426
<PackageOutputPath>../_dist</PackageOutputPath>
@@ -94,7 +96,7 @@
9496
<PackageReleaseNotes>@(ReleaseNoteLines, '%0a')</PackageReleaseNotes>
9597
<PackageReleaseNotes>$(PackageReleaseNotes)v.0.0.0</PackageReleaseNotes>
9698
<PackageReleaseNotes>$([System.Text.RegularExpressions.Regex]::Match($(PackageReleaseNotes), "^(v\.[\d\.]+.+?)v\.[\d\.]+", System.Text.RegularExpressions.RegexOptions.Singleline).Groups[1].Value)</PackageReleaseNotes>
97-
<PackageReleaseNotes>$(PackageReleaseNotes)%0a%0aTo see all the change logs, please visit the following URL.%0a- https://github.com/jsakamoto/BlazorWasmPreRendering.Build/blob/master/RELEASE-NOTES.txt</PackageReleaseNotes>
99+
<PackageReleaseNotes>$(PackageReleaseNotes)%0aTo see all the change logs, please visit the following URL.%0a- https://github.com/jsakamoto/BlazorWasmPreRendering.Build/blob/master/RELEASE-NOTES.txt</PackageReleaseNotes>
98100
</PropertyGroup>
99101
<PropertyGroup>
100102
<NuspecProperties>version=$(Version);$(NuspecProperties)</NuspecProperties>
@@ -105,6 +107,8 @@
105107
<NuspecProperties>authors=$(Authors);$(NuspecProperties)</NuspecProperties>
106108
<NuspecProperties>owners=$(Owners);$(NuspecProperties)</NuspecProperties>
107109
<NuspecProperties>projectUrl=$(PackageProjectUrl);$(NuspecProperties)</NuspecProperties>
110+
<NuspecProperties>repositoryType=$(RepositoryType);$(NuspecProperties)</NuspecProperties>
111+
<NuspecProperties>repositoryUrl=$(RepositoryUrl);$(NuspecProperties)</NuspecProperties>
108112
<NuspecProperties>description=$(Description);$(NuspecProperties)</NuspecProperties>
109113
<NuspecProperties>copyright=$(Copyright);$(NuspecProperties)</NuspecProperties>
110114
<NuspecProperties>license=$(PackageLicenseExpression);$(NuspecProperties)</NuspecProperties>

BlazorWasmPreRendering.Build/BlazorWasmPreRendering.Build.nuspec

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
<tags>$tags$</tags>
1515
<releaseNotes>$releaseNotes$</releaseNotes>
1616
<readme>README.md</readme>
17+
<repository type="$repositoryType$" url="$repositoryUrl$" />
1718
</metadata>
1819
<files>
1920
<file src="..\.assets\nupkg-icon.png" target="Icon.png" />

BlazorWasmPreRendering.Build/build/BlazorWasmPreRendering.Build.props

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,6 @@
22
<Import Project="Microsoft.AspNetCore.StaticWebAssets.props" />
33
<PropertyGroup>
44
<BeforePublishSPAforGHPages>$(BeforePublishSPAforGHPages);BlazorWasmPrerendering</BeforePublishSPAforGHPages>
5+
<BeforeBlazorWasmBrotliLoader>$(BeforeBlazorWasmBrotliLoader);BlazorWasmPrerendering</BeforeBlazorWasmBrotliLoader>
56
</PropertyGroup>
67
</Project>

RELEASE-NOTES.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
v.4.0.1
2+
- Improve: Make it work correctly even when used with "BlazorWasmBrotliLoader.Build" NuGet package.
3+
14
v.4.0.0
25
- This is the first official - not a preview - release.
36
- Breaking Change: Drop the support for .NET 5.

SampleApps/BlazorWasmAVP/BlazorWasmAVP.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly" Version="7.0.18" />
1919
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly.DevServer" Version="7.0.18" PrivateAssets="all" />
2020
<PackageReference Include="BlazorWasmAntivirusProtection" Version="2.4.5" />
21-
<PackageReference Include="BlazorWasmPreRendering.Build" Version="4.0.0" />
21+
<PackageReference Include="BlazorWasmPreRendering.Build" Version="4.0.1-preview.1" />
2222
</ItemGroup>
2323

2424
</Project>

SampleApps/BlazorWasmApp0/BlazorWasmApp0.csproj

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,8 @@
99
</PropertyGroup>
1010

1111
<ItemGroup>
12-
<PackageReference Include="BlazorWasmPreRendering.Build" Version="4.0.0" />
12+
<PackageReference Include="BlazorWasmPreRendering.Build" Version="4.0.1-preview.1" />
13+
<PackageReference Include="BlazorWasmBrotliLoader.Build" Version="1.0.0-preview.1" />
1314
<PackageReference Include="PublishSPAforGitHubPages.Build" Version="2.1.1" />
1415
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly" Version="8.0.4" />
1516
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly.DevServer" Version="8.0.4" PrivateAssets="all" />

SampleApps/BlazorWasmApp1/BlazorWasmApp1.csproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,8 @@
1313
</PropertyGroup>
1414

1515
<ItemGroup>
16-
<PackageReference Include="BlazorWasmPreRendering.Build" Version="4.0.0" />
17-
<PackageReference Include="PublishSPAforGitHubPages.Build" Version="2.1.1" />
16+
<PackageReference Include="BlazorWasmPreRendering.Build" Version="4.0.1-preview.1" />
17+
<PackageReference Include="PublishSPAforGitHubPages.Build" Version="3.0.0-preview.1" />
1818
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly" Version="8.0.4" />
1919
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly.DevServer" Version="8.0.4" PrivateAssets="all" />
2020
<PackageReference Include="Toolbelt.Blazor.HeadElement" Version="7.3.1" />

SampleApps/BlazorWasmApp2/Client/BlazorWasmApp2.Client.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
<Project Sdk="Microsoft.NET.Sdk.BlazorWebAssembly">
1+
<Project Sdk="Microsoft.NET.Sdk.BlazorWebAssembly">
22

33
<PropertyGroup>
44
<TargetFramework>net6.0</TargetFramework>

SampleApps/SAMPLE-APPS-README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
|PWA | ✅ Yes | - | -
1111
|Has easter-egg | - | ✅ Yes | -
1212
|Deploy to GitHub Pages| - | ✅ Yes | -
13+
|Brotli Loader | ✅ Yes | - | -
1314
|Has AngleSharp dependency| ✅Yes | - | -
1415
|Localization | ✅ Yes | - | -
1516
|Lazy Load Assembly | ✅ Yes | ✅ Yes | -

VersionInfo.props

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<Project>
22
<PropertyGroup>
3-
<Version>4.0.0</Version>
3+
<Version>4.0.1-preview.1</Version>
44
<Authors>J.Sakamoto</Authors>
55
<Copyright>Copyright © 2021-2024 J.Sakamoto, Mozilla Public License 2.0</Copyright>
66
<Description>When you publish your Blazor Wasm app, this package pre-renders and saves the app as static HTML files in your public folder.</Description>

0 commit comments

Comments
 (0)