pwa-asset-generator
Version:
Automates PWA asset generation and image declaration. Automatically generates icon and splash screen images, favicons and mstile images. Updates manifest.json and index.html files with the generated images according to Web App Manifest specs and Apple Hum
129 lines (128 loc) • 4.89 kB
JSON
{
"name": "pwa-asset-generator",
"version": "8.1.4",
"description": "Automates PWA asset generation and image declaration. Automatically generates icon and splash screen images, favicons and mstile images. Updates manifest.json and index.html files with the generated images according to Web App Manifest specs and Apple Human Interface guidelines.",
"type": "module",
"main": "dist/main.js",
"types": "dist/main.d.ts",
"bin": {
"pwa-asset-generator": "bin/cli.js"
},
"scripts": {
"prepare": "husky",
"test": "vitest run",
"test:concurrency": "npm run build && node scripts/concurrency-stress-test.mjs",
"test:update": "npm run test:update:visuals && npm run test:update:snapshots",
"test:update:snapshots": "vitest run -u",
"test:update:visuals": "npm run visuals:input-svg && npm run visuals:input-png && npm run visuals:input-html && npm run visuals:input-html-dark && npm run visuals:output-transparent && npm run visuals:output-png",
"visuals:output-png": "rimraf ./src/__snapshots__/visual/output-png && node ./bin/cli.js ./static/logo.svg ./src/__snapshots__/visual/output-png -s false -t png -b coral",
"visuals:output-transparent": "rimraf ./src/__snapshots__/visual/output-transparent && node ./bin/cli.js ./static/logo.svg ./src/__snapshots__/visual/output-transparent -s false -b -t png transparent -o false",
"visuals:input-svg": "rimraf ./src/__snapshots__/visual/input-svg && node ./bin/cli.js ./static/logo.svg ./src/__snapshots__/visual/input-svg -s false -b coral",
"visuals:input-png": "rimraf ./src/__snapshots__/visual/input-png && node ./bin/cli.js ./static/logo.png ./src/__snapshots__/visual/input-png -s false -b coral -w",
"visuals:input-html": "rimraf ./src/__snapshots__/visual/input-html && node ./bin/cli.js ./static/logo.html ./src/__snapshots__/visual/input-html -s false",
"visuals:input-html-dark": "rimraf ./src/__snapshots__/visual/input-html-dark && node ./bin/cli.js ./static/logo.html ./src/__snapshots__/visual/input-html-dark -s false -d true",
"chromium": "cross-env PAG_TEST_MODE=1 node bin/install.js",
"update": "node bin/update-fallback-data.js",
"build": "rimraf ./dist && tsc && cp -R src/config/*.json dist/config/",
"start": "tsc -w",
"lint": "eslint .",
"lint:fix": "eslint . --fix",
"prettier": "prettier . --check",
"prettier:fix": "prettier . --write",
"semantic-release": "semantic-release",
"tsc": "tsc --noEmit"
},
"repository": {
"type": "git",
"url": "https://github.com/elegantapp/pwa-asset-generator.git"
},
"engines": {
"node": ">=18"
},
"keywords": [
"pwa",
"puppeteer",
"chromium",
"icon",
"launch-image",
"ios",
"android",
"splashscreen",
"splash-screen",
"image-generation",
"image",
"manifest",
"mobile",
"favicon",
"mstile",
"pwa-assets"
],
"author": "Önder Ceylan <onderceylan@gmail.com>",
"license": "MIT",
"bugs": {
"url": "https://github.com/elegantapp/pwa-asset-generator/issues"
},
"homepage": "https://github.com/elegantapp/pwa-asset-generator#readme",
"collective": {
"url": "https://opencollective.com/pwa-asset-generator"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/pwa-asset-generator"
},
"dependencies": {
"cheerio": "^1.2.0",
"chrome-launcher": "^1.2.1",
"find-process": "^2.0.0",
"meow": "^14.0.0",
"mime-types": "^3.0.1",
"picocolors": "^1.1.1",
"pretty": "^2.0.0",
"puppeteer-core": "^24.39.0",
"slash": "^5.1.0"
},
"devDependencies": {
"@commitlint/cli": "^20.0.0",
"@commitlint/config-conventional": "^20.0.0",
"@eslint/js": "^9.36.0",
"@semantic-release/changelog": "^6.0.3",
"@semantic-release/commit-analyzer": "^13.0.1",
"@semantic-release/git": "^10.0.1",
"@semantic-release/github": "^11.0.6",
"@semantic-release/npm": "^13.1.0",
"@semantic-release/release-notes-generator": "^14.1.0",
"@types/mime-types": "^3.0.1",
"@types/node": "^24.5.2",
"@types/pngjs": "^6.0.5",
"@types/pretty": "^2.0.3",
"@typescript-eslint/eslint-plugin": "^8.57.0",
"@typescript-eslint/parser": "^8.57.0",
"cross-env": "^10.0.0",
"eslint": "^9.39.4",
"eslint-plugin-n": "^17.23.1",
"execa": "^9.6.0",
"globals": "^16.4.0",
"husky": "^9.1.7",
"jpeg-js": "^0.4.4",
"lint-staged": "^16.2.1",
"pixelmatch": "^7.1.0",
"prettier": "^3.6.2",
"rimraf": "^6.1.3",
"semantic-release": "^25.0.0",
"typescript": "^5.9.2",
"vitest": "^3.2.4"
},
"overrides": {
"basic-ftp": ">=5.2.0",
"js-beautify": ">=1.15.4",
"lodash": "4.17.23",
"lodash-es": "4.17.23",
"rollup": ">=4.59.0"
},
"lint-staged": {
"**/*.{js,ts}": [
"eslint --fix",
"prettier --write"
]
}
}