BlazorPWA.MSBuild 1.0.2

The easiest way to turn your Blazor application into a PWA with offline capabilities.
Add this package to your build process and it will generate the files you need to become PWA compatible.
This does not make your application ready for distribution through "App Stores" - it just provides basic PWA functionality.

Additional Details

Microsoft have now implemented PWA support in the Blazor templates, so this package is no longer required.

Install-Package BlazorPWA.MSBuild -Version 1.0.2
dotnet add package BlazorPWA.MSBuild --version 1.0.2
<PackageReference Include="BlazorPWA.MSBuild" Version="1.0.2">
  <PrivateAssets>all</PrivateAssets>
  <IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
</PackageReference>
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add BlazorPWA.MSBuild --version 1.0.2
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

Blazor PWA Builder - MSBuild

The easiest way to turn your Server Side And Client Side Blazor projects into Progressive Web Apps (PWA).

This project, when added to your build process, will generate the required files to enable basic PWA abilities for your project.

It generates a manifest.json, a Service Worker with pre-caching of all required files (Blazor WebAssembly only) and an installer for the Service Worker.

It currently includes a simple banner, by default, to notify the user that your application can be installed, and a simple alert to notify users when your application has been updated (CSB Only).

This is now an official release - I am looking for feedback/issues/requests.

Installation

Install the nuget BlazorPWA.MsBuild

Package Manager:

Install-Package BlazorPWA.MSBuild -Version 1.0.2

.NET Cli:

dotnet add package BlazorPWA.MSBuild --version 1.0.2

Package Reference

&lt;PackageReference Include=&quot;BlazorPWA.MSBuild&quot; Version=&quot;1.0.2&quot;/&gt;

Configuration

Required configuration: none *.

*Really! try it!

This PWA builder is constructed using MSBuild targets, which get installed in your .nuget cache.

You are free to inspect those targets and customise any part of the build by adding Properties to your csproj, or to a .props file in the source tree.

For example, by default, the PWA builder will only generate the PWA files once, which means, should you want to, you can add it to your project, build once - you will have the required files for a PWA and will be free to modify them to suit.

Should you want to re-generate the PWA files every build, you can add this Property to your csproj

&lt;ServiceWorkerForce&gt;true&lt;/ServiceWorkerForce&gt;

When you want to publish an update to your app, you may need to supply a new browser cache version - if you don't change anything in the Service Worker the end user will not use your new code!

Note: PWAs update when they detect a change in the Service Worker code - this cache version number is used in the Service Worker, so updating the cache version number will trigger an update of the PWA for the end user. It's also important as the cache is where your code is stored - if you don't update the cache version, it will not refresh with your new code

&lt;ServiceWorkerCacheVersion&gt;2&lt;/ServiceWorkerCacheVersion&gt;

The web manifest has properties for the application name, which are taken, by default, from your project and solution names, but you can override them

&lt;ManifestShortName&gt;My Project&lt;/ManifestShortName&gt;

&lt;ManifestLongName&gt;My Really Great Project&lt;/ManifestLongName&gt;

There are dozens of Properties in the targets files supplied by this package - you could customise them all, but you probably don't need to, so proceed with caution.

Please see the full README on GitHub for more details.

Blazor PWA Builder - MSBuild

The easiest way to turn your Server Side And Client Side Blazor projects into Progressive Web Apps (PWA).

This project, when added to your build process, will generate the required files to enable basic PWA abilities for your project.

It generates a manifest.json, a Service Worker with pre-caching of all required files (Blazor WebAssembly only) and an installer for the Service Worker.

It currently includes a simple banner, by default, to notify the user that your application can be installed, and a simple alert to notify users when your application has been updated (CSB Only).

This is now an official release - I am looking for feedback/issues/requests.

Installation

Install the nuget BlazorPWA.MsBuild

Package Manager:

Install-Package BlazorPWA.MSBuild -Version 1.0.2

.NET Cli:

dotnet add package BlazorPWA.MSBuild --version 1.0.2

Package Reference

&lt;PackageReference Include=&quot;BlazorPWA.MSBuild&quot; Version=&quot;1.0.2&quot;/&gt;

Configuration

Required configuration: none *.

*Really! try it!

This PWA builder is constructed using MSBuild targets, which get installed in your .nuget cache.

You are free to inspect those targets and customise any part of the build by adding Properties to your csproj, or to a .props file in the source tree.

For example, by default, the PWA builder will only generate the PWA files once, which means, should you want to, you can add it to your project, build once - you will have the required files for a PWA and will be free to modify them to suit.

Should you want to re-generate the PWA files every build, you can add this Property to your csproj

&lt;ServiceWorkerForce&gt;true&lt;/ServiceWorkerForce&gt;

When you want to publish an update to your app, you may need to supply a new browser cache version - if you don't change anything in the Service Worker the end user will not use your new code!

Note: PWAs update when they detect a change in the Service Worker code - this cache version number is used in the Service Worker, so updating the cache version number will trigger an update of the PWA for the end user. It's also important as the cache is where your code is stored - if you don't update the cache version, it will not refresh with your new code

&lt;ServiceWorkerCacheVersion&gt;2&lt;/ServiceWorkerCacheVersion&gt;

The web manifest has properties for the application name, which are taken, by default, from your project and solution names, but you can override them

&lt;ManifestShortName&gt;My Project&lt;/ManifestShortName&gt;

&lt;ManifestLongName&gt;My Really Great Project&lt;/ManifestLongName&gt;

There are dozens of Properties in the targets files supplied by this package - you could customise them all, but you probably don't need to, so proceed with caution.

Please see the full README on GitHub for more details.

Release Notes

This is a very basic PWA build target.
Just by including this in the build, it can generate the basic requirements for an installable PWA for Blazor.
The result is not an App Store package, it is simply the basic requirements for PWA.
I will add more network caching strategies, but for now it has just one for CSB - cache all local assets.

  • .NETStandard 1.6

    • No dependencies.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version History

Version Downloads Last updated
1.0.2 6,147 12/6/2019
1.0.1 330 11/11/2019
1.0.0 1,480 10/16/2019
0.0.1-beta20190815-02 338 8/15/2019
0.0.1-beta20190808-20 174 8/8/2019
0.0.1-beta20190808-10 136 8/8/2019