Skip to content
This repository was archived by the owner on Nov 17, 2025. It is now read-only.

Releases: AllanChain/gridsome-plugin-pwa

v0.4.0-alpha.5

23 Feb 13:50
v0.4.0-alpha.5
63fb338

Choose a tag to compare

v0.4.0-alpha.5 Pre-release
Pre-release

Bug Fixes

Chores

v0.4.0-alpha.4

23 Feb 11:25
v0.4.0-alpha.4
07cea78

Choose a tag to compare

v0.4.0-alpha.4 Pre-release
Pre-release

Bug Fixes

Documentation

Tests

Chores

v0.4.0-alpha.3

22 Feb 01:14
v0.4.0-alpha.3
cc1eb23

Choose a tag to compare

v0.4.0-alpha.3 Pre-release
Pre-release

Accumulated v0.4.0 Releae Note

Using Workbox v6

Check out workbox release page

Using gridsome ImageProcessQueue for image processing

Previously, to serve manifeset and icon in development, icon resizing is implemented by manual sharp in a webpack plugin, which means resizing images on every hot reload. Though fast, it is completely redundant. Although we can configure dev server to resize on the fly, there is still a lot of work.

Using gridsome ImageProcessQueue solved this. And we get rid of sharp as peer dependency. However, there are some tradeoffs:

  • cannot set image output name (removed name field in icon config), as gridsome not provide the api
  • icons larger than original one is not auto generated.

Option to generate separate maskable icon (#28)

Previously, we control whether icon is "maskable any" or "any" by maskable boolean option:

  • When maskable is false, the icons are generated with purpose 'any'
  • When maskable is true, the icons are generated with purpose 'maskable any'
{
  androidChrome: {
    src,
    sizes: [512, 384, 192, 144, 96, 72, 48],
    maskable: false,
  },
  // ...
}

This prevents us from generating one set of "maskable" icon and another "any", which is a better practice.

Starting from v0.4.0-alpha.1, You can specify a list of icons for androidChrome:

{
  androidChrome: [
    {
      src: './src/favicon-maskable.png',
      sizes: [512, 384, 192],
      purpose: 'maskable'
    },
    {
      sizes: [144],
      purpose: 'any'
    },
    {
      urls: [
        '/gridsome/assets/static/favicon.7b22250.9bb7ffafafc09ac851d81afb65b8ef59.png'
      ],
      sizes: [180]
    }
  ]
}
Which will produce:
{
    "icons": [
        {
            "src": "/gridsome/assets/static/favicon-maskable.cbda223.e41c5a7fe43179a6d348f80335f16443.png",
            "type": "image/png",
            "sizes": "512x512",
            "purpose": "maskable"
        },
        {
            "src": "/gridsome/assets/static/favicon-maskable.9b6f2f7.e41c5a7fe43179a6d348f80335f16443.png",
            "type": "image/png",
            "sizes": "384x384",
            "purpose": "maskable"
        },
        {
            "src": "/gridsome/assets/static/favicon-maskable.b49d4b1.e41c5a7fe43179a6d348f80335f16443.png",
            "type": "image/png",
            "sizes": "192x192",
            "purpose": "maskable"
        },
        {
            "src": "/gridsome/assets/static/favicon.d8f1621.9bb7ffafafc09ac851d81afb65b8ef59.png",
            "type": "image/png",
            "sizes": "144x144",
            "purpose": "any"
        },
        {
            "src": "/gridsome/assets/static/favicon.7b22250.9bb7ffafafc09ac851d81afb65b8ef59.png",
            "type": "image/png",
            "sizes": "180x180",
            "purpose": "any"
        }
    ]
}

New appShellPath option

Provides a hack to support precaching a offline/index.html as the entry point. Check the docs for more info.


Features

Bug Fixes

Styles

Chores

v0.4.0-alpha.2

17 Feb 09:17
v0.4.0-alpha.2
db24f1e

Choose a tag to compare

v0.4.0-alpha.2 Pre-release
Pre-release

Accumulated Migration Guide on v0.4.0 Breaking Changes

Workbox v6

Check out workbox release page

Using gridsome ImageProcessQueue for image processing

Previously, to serve manifeset and icon in development, icon resizing is implemented by manual sharp in a webpack plugin, which means resizing images on every hot reload. Though fast, it is completely redundant. Although we can configure dev server to resize on the fly, there is still a lot of work.

Using gridsome ImageProcessQueue solved this. And we get rid of sharp as peer dependency. However, there are some tradeoffs:

  • cannot set image output name (removed name field in icon config), as gridsome not provide the api
  • icons larger than original one is not auto generated.

Option to generate separate maskable icon (#28)

Previously, we control whether icon is "maskable any" or "any" by maskable boolean option:

  • When maskable is false, the icons are generated with purpose 'any'
  • When maskable is true, the icons are generated with purpose 'maskable any'
{
  androidChrome: {
    src,
    sizes: [512, 384, 192, 144, 96, 72, 48],
    maskable: false,
  },
  // ...
}

This prevents us from generating one set of "maskable" icon and another "any", which is a better practice.

Starting from v0.4.0-alpha.1, You can specify a list of icons for androidChrome:

{
  androidChrome: [
    {
      src: './src/favicon-maskable.png',
      sizes: [512, 384, 192],
      purpose: 'maskable'
    },
    {
      sizes: [144],
      purpose: 'any'
    },
    {
      urls: [
        '/gridsome/assets/static/favicon.7b22250.9bb7ffafafc09ac851d81afb65b8ef59.png'
      ],
      sizes: [180]
    }
  ]
}
Which will produce:
{
    "icons": [
        {
            "src": "/gridsome/assets/static/favicon.7b22250.9bb7ffafafc09ac851d81afb65b8ef59.png",
            "type": "image/png",
            "sizes": "180x180",
            "purpose": "any"
        },
        {
            "src": "/gridsome/assets/static/favicon.d8f1621.9bb7ffafafc09ac851d81afb65b8ef59.png",
            "type": "image/png",
            "sizes": "144x144",
            "purpose": "any"
        },
        {
            "src": "/gridsome/assets/static/favicon-maskable.cbda223.e41c5a7fe43179a6d348f80335f16443.png",
            "type": "image/png",
            "sizes": "512x512",
            "purpose": "maskable"
        },
        {
            "src": "/gridsome/assets/static/favicon-maskable.9b6f2f7.e41c5a7fe43179a6d348f80335f16443.png",
            "type": "image/png",
            "sizes": "384x384",
            "purpose": "maskable"
        },
        {
            "src": "/gridsome/assets/static/favicon-maskable.b49d4b1.e41c5a7fe43179a6d348f80335f16443.png",
            "type": "image/png",
            "sizes": "192x192",
            "purpose": "maskable"
        }
    ]
}

Bug Fixes

Documentation

Chores

v0.4.0-alpha.1

17 Feb 08:30
v0.4.0-alpha.1
9a68e23

Choose a tag to compare

v0.4.0-alpha.1 Pre-release
Pre-release

Accumulated Migration Guide on Breaking Changes

Workbox v6

Check out workbox release page

Using gridsome ImageProcessQueue for image processing

Previously, to serve manifeset and icon in development, icon resizing is implemented by manual sharp in a webpack plugin, which means resizing images on every hot reload. Though fast, it is completely redundant. Although we can configure dev server to resize on the fly, there is still a lot of work.

Using gridsome ImageProcessQueue solved this. And we get rid of sharp as peer dependency. However, there are some tradeoffs:

  • cannot set image output name (removed name field in icon config), as gridsome not provide the api
  • icons larger than original one is not auto generated.

Option to generate separate maskable icon (#28)

Previously, we control whether icon is "maskable any" or "any" by maskable boolean option:

  • When maskable is false, the icons are generated with purpose 'any'
  • When maskable is true, the icons are generated with purpose 'maskable any'
{
  androidChrome: {
    src,
    sizes: [512, 384, 192, 144, 96, 72, 48],
    maskable: false,
  },
  // ...
}

This prevents us from generating one set of "maskable" icon and another "any", which is a better practice.

Starting from v0.4.0-alpha.1, You can specify a list of icons for androidChrome:

{
  androidChrome: [
    {
      src: './src/favicon-maskable.png',
      sizes: [512, 384, 192],
      purpose: 'maskable'
    },
    {
      sizes: [144],
      purpose: 'any'
    },
    {
      urls: [
        '/gridsome/assets/static/favicon.7b22250.9bb7ffafafc09ac851d81afb65b8ef59.png'
      ],
      sizes: [180]
    }
  ]
}

Features

Documentation

Tests

Chores

Commits

  • [2fa2298]: Merge branch 'feat/gridsome-image' into 0.4.0 (Allan Chain)

v0.4.0-alpha.0

01 Feb 04:39
43dc7e3

Choose a tag to compare

v0.4.0-alpha.0 Pre-release
Pre-release

BREAKING CHANGES

  • Using workbox v6

Features

Documentation

Tests

Builds

Continuous Integration

Chores

Commits

  • [df349f8]: Merge branch 'master' of github.com:AllanChain/gridsome-plugin-pwa into master (Allan Chain)
  • [59329fd]: Merge branch 'master' of github.com:AllanChain/gridsome-plugin-pwa (Allan Chain)

v0.3.0

10 Aug 01:12
7e085fa

Choose a tag to compare

0.3.0 (2020-08-10)

Major changes:

  • use workbox-build to support precaching gridsome-built files (html, json ...)
  • more powerful icon option
  • test coverage

See v0.3.0-alpha.0 and v0.3.0-alpha.1 for detail

v0.3.0-alpha.1

02 Aug 07:28
a7b4e40

Choose a tag to compare

v0.3.0-alpha.1 Pre-release
Pre-release

0.3.0-alpha.1 (2020-08-02)

Bug Fixes

  • icon: use appleMaskIcon in icon (d4e89bf)

Features

BREAKING CHANGES

  • icon: appleMaskIcon move to icon

v0.3.0-alpha.0

28 Jul 07:55
22a86b8

Choose a tag to compare

v0.3.0-alpha.0 Pre-release
Pre-release

0.3.0-alpha.0 (2020-07-28)

Bug Fixes

  • meta: skip checking msTileColor (c27146c)
  • remove svg favicon option (447dde7)
  • compile-sw: correct ID (662e3fb)
  • workbox: add path prefix (39d8336)
  • await promise (2eabef6)
  • example: additional entry path prefix (4abf879)

Features

  • workbox-build for non-asset manifest support (e2b2970)
  • workboxCompileSrc option (0a871e4)

Performance Improvements

  • do not generate unused icons (607dc2c)

BREAKING CHANGES

  • use generateSW and injectManifest (note lower case)
  • use workbox-build config
  • remove svgFavicon option

v0.2.5

26 Jul 03:19
24b022b

Choose a tag to compare

0.2.5 (2020-07-26)

Bug Fixes

  • example: service worker path (0aa4ada)
  • workbox: also do exclude on InjectManifest (c40d0fa)