pwa-manifest
Creating a Web Manifest for Progressive Web App with a variety of options
Install
$ npm install --save @pwa/manifest
Usage
const pwaManifest = require('@pwa/manifest');
(async () => {
const manifest = await pwaManifest({
name: 'My PWApp',
short_name: 'My Short PWA Name',
start_url: '/index.html?homescreen=1',
display: 'standalone',
background_color: '#EFEFEF',
theme_color: '#FFEEFF'
})
await pwaManifest.write('./', manifest);
})();
or we support decamelizing from camelized properties
(async () => {
const manifest = await pwaManifest({
name: 'My PWApp',
shortName: 'My Short PWA Name',
startUrl: '/index.html?homescreen=1',
display: 'standalone',
backgroundColor: '#EFEFEF',
themeColor: '#FFEEFF'
});
})();
API
pwaManifest([options])
options
Type: object
Web Manifest properties you want to set. The name of options are same as member property of Web Manifest. Icons sizes are followed in lighthouse audits
{
"name": "My Powerful Progressive Web App",
"short_name": "PWApp",
"icons": [{
"src": "icon-144x144.png",
"sizes": "144x144",
"type": "image/png"
}, {
"src": "icon-192x192.png",
"sizes": "192x192",
"type": "image/png"
}, {
"src": "icon-512x512.png",
"sizes": "512x512",
"type": "image/png"
}],
"start_url": "/index.html?homescreen=1",
"display": "standalone",
"background_color": "#FFFFFF",
"theme_color": "#3F51B5"
}
pwaManifest.write(dir, manifest)
Returns a promise.
pwaManifest.writeSsync(dir, manifest)
Write a manifest file as manifest.json
to dest path.
pwaManifest.read(dir)
Returns a promise.
pwaManifest.readSync(dir)
Read a manifest file in the name of manifest.json
to src path
License
MIT © Jimmy Moon