Build toolBuild tooltypeRuns at build time. Nothing of it ships in the deployed application.See every one →What this type is →by a community orgby a community orgoriginPublished by a community organisation, so it outlives any one maintainer.See every one →

ui5-task-pwa-enabler

A UI5 builder task that turns a UI5 application into a progressive web app by generating a web manifest and a service worker under one of five caching strategies.

A UI5 application built as a plain web app has no offline behaviour or install prompt on its own. This task, run after generateVersionInfo, adds both: it writes a manifest.webmanifest from the configuration given in ui5.yaml and a service worker built from the pwabuilder-serviceworkers examples, under one of five strategies — Offline-Page, Offline-Copy, Offline-Copy-With-Backup-Page, Cache-First or Advanced-Caching — each controlling what gets cached and when. It also injects the lines needed to link the manifest and service worker into index.html.

Facts

Latestv3.4.1ReleasedLast pushLicenceApache-2.0

Where it sits

Lives in
Provides
Build and dev-server toolingUI5Build and dev-server toolingcapabilityServing an app locally and building it for deployment — proxying a backend, transpiling, bundling, and shaping the result for whatever will host it.

Who is behind it

UI5 CommunityUI5 CommunityOrganisationMaintains this
In the atlas: maintains 69
@ui5-community
maintainerFlorian VogtPersonContributes to this
In the atlas: contributes to 50, wrote 2
@flovogt
Luca WunderlichPersonContributes to this
In the atlas: contributes to 7
@lucawun
Marian ZeisPersonContributes to this
In the atlas: maintains 35, contributes to 86, wrote 25
@marianfoo
Maximilian MoehlPersonContributes to this
In the atlas: contributes to 8
@maxmoehl
Peter MuessigPersonContributes to this
In the atlas: maintains 14, contributes to 80, wrote 1
@petermuessig
Preetam Kajal RoutPersonContributes to this
In the atlas: maintains 1, contributes to 9
@preetamkajalrout
Jakob Marius KjaerPersonContributes to this
In the atlas: maintains 2, contributes to 24, wrote 1
@uxkjaer
Volker BuzekPersonContributes to this
In the atlas: maintains 7, contributes to 53, wrote 2
@vobu
8 contributors

What it declares

Every artifact

Type
Build tool
Origin
By a community org

As a build tool

Distributed through
npm

Connections1

Install

npm add ui5-task-pwa-enabler

Derived from the package name. No recipe recorded; the README has the configuration.

README

quoted from ui5-community/ui5-ecosystem-showcase under Apache-2.0, read
ui5-community/ui5-ecosystem-showcase/packages/ui5-task-pwa-enabler/README.mdOn GitHub

UI5 task for turning a UI5 App into a PWA

👋 This is an open‑source, community‑driven project, developed and actively monitored by members of the UI5 community. You are welcome to use it, report issues, contribute enhancements, and support others in the community.

Progressive Web Apps are web applications that have been designed to be capable, reliable, and installable. These three pillars transform them into an experience that feels like a platform-specific application. Interested? Find out more here: What are Progressive Web Apps (PWAs)?.

Prerequisites

⚠️ UI5 CLI Compatibility All releases of this UI5 CLI extension using the major version 3 require UI5 CLI V3. Any previous releases below major version 3 (if available) also support older versions of the UI5 CLI. But the usage of the latest UI5 CLI is strongly recommended!

Install

npm install ui5-task-pwa-enabler --save-dev

Configuration options (in $yourapp/ui5.yaml)

If you are familiar with jsonschema check out the config.json.

serviceWorker

strategy

Defines how the service worker should behave. Possible values are

  • Offline-Page The App will display a offline page when it cannot connect to the internet. Requires offlinePage parameter.
  • Offline-Copy While browsing the App, the Service Worker captures all files and stores them in the cache.
  • Offline-Copy-With-Backup-Page A combination of the above two. Requires offlinePage parameter.
  • Cache-First This option pre-caches all given files and serves them from the cache first. Requires preCacheFiles parameter.
  • Advanced-Caching With this option you have very granular control about which files should be cached, and which shouldn't. Requires all of the parameters below.

offlinePage: Sets the page that will be shown if the user is offline, should be a .html file somewhere in your project. Only required for Offline-Page, Offline-Copy-With-Backup-Page, Advanced-Caching.

preCache: List of glob pattern that match the files that will be pre cached when the application starts. Only required for Cache-First and Advanced-Caching strategies.

preCachePrefix: Prefix for all the files determined using preCache. Useful in scenario where application is deployed at a centralized runtime infrastructure e.g. Mangaged Approuter provided by SAP Build Work Zone. Only applicable for Advanced-Caching & Cache-First strategies.

networkFirst: List of regular expressions, everything that matches any of the expressions will be fetched from the network first and only served from cache when there is no network available. Only required for Advanced-Caching.

avoidCaching: List of regular expressions, everything that matches any of the expressions won't be cached. Only required for Advanced-Caching

manifest

Whatever you supply here will be copied to the manifest.webmanifest file, you can read more about it at web.dev. If a required parameter is missing a default value will be provided.

Another special parameter crossOrigin is supported as part of manifest configuration. However, it is not copied to manifest.webmanifest, instead added to <link> while changing the index.html.

crossOrigin: The request for the manifest is made without credentials, even if it's on the same domain. If the manifest requires credentials, add this parameter and provide value use-credentials.

Usage

1. Define the dependency in your package.json
"devDependencies": {
    "ui5-task-pwa-enabler": "*"
}
2. Configure it in your ui5.yaml

This is a example configuration for an advanced service worker and some custom manifest parameters.

specVersion: "3.0"
metadata:
  name: openui5-sample-app
type: application
resources:
  configuration:
    propertiesFileSourceEncoding: "UTF-8"
builder:
  customTasks:
    - name: ui5-task-pwa-enabler
      afterTask: generateVersionInfo
      configuration:
        serviceWorker:
          strategy: Advanced-Caching
          offlinePage: offline.html
          preCache:
            - "controller/*"
            - "*.html"
            - "view/*"
            - "images/*"
          networkFirst:
            - /\/api\/.*/
          avoidCaching:
            - /\/realtime-api\/.*/
        manifest:
          short_name: To-Do App
          name: To-Do App
          description: Sample to-do-app for testing pwaEnabler
          icons:
            - src: images/SAP_R_192.png
              type: image/png
              sizes: 192x192
            - src: images/SAP_R_512.png
              type: image/png
              sizes: 512x512
          start_url: /index.html
          scope: /
          background_color: "#EFF4F9"
          theme_color: "#3F5161"
          display: standalone

How it works

Under the hood we are using the examples from the pwabuilder but we replaced the configuration part with templating and generate those values from the provided configuration. Additionally we have to inject a few lines into the index.html to make sure everything is linked and tadaa, you have your own fancy PWA.

License

This work is licensed under Apache 2.0.

Built with care (and a lot of caffeine). If this helped you build, test, or ship, the next coffee — or drink — is on you when you bump into a contributor.

Apache-2.0, read

History

Latest

v3.4.1

Notes

Note: Version bump only for package ui5-task-pwa-enabler

  1. v3.4.0

    Features 1

    Notes
    Features
  2. v3.3.3

    Notes

    Note: Version bump only for package ui5-task-pwa-enabler

  3. v3.3.2

    Notes

    Note: Version bump only for package ui5-task-pwa-enabler

  4. v3.3.1

    Notes

    Note: Version bump only for package ui5-task-pwa-enabler

  5. v3.3.0

    Features 1

    Notes
    Features
  6. v3.2.0

    Features 1

    Notes
    Features
    • enhanced v4 compat + update dependencies (#1070) (2d7ed16)
  7. v3.1.0

    Features 1

    Notes
    Features
    • ui5-task-pwa-enabler: add support for path prefix for file caching (#1018) (43aa428), closes #1017
  8. v3.0.8

    Notes

    Note: Version bump only for package ui5-task-pwa-enabler

  9. v3.0.7

    Fixes 1

    Notes
    Bug Fixes
    • ui5-task-pwa-enabler: improved error handling (#983) (25f0832)
  10. v3.0.6

    Notes

    Note: Version bump only for package ui5-task-pwa-enabler

  11. v3.0.5

    Notes

    Note: Version bump only for package ui5-task-pwa-enabler

  12. v3.0.4

    Notes

    Note: Version bump only for package ui5-task-pwa-enabler

  13. v3.0.3

    Notes

    Note: Version bump only for package ui5-task-pwa-enabler

  14. v3.0.2

    Notes

    Note: Version bump only for package ui5-task-pwa-enabler

  15. v3.0.1

    Notes

    Note: Version bump only for package ui5-task-pwa-enabler

  16. v3.0.0dated in the atlas

    Breaking 1, Features 2, Fixes 1

    Notes
    Bug Fixes
    Features
    BREAKING CHANGES
    • The support for UI5 Tooling V2 has been removed
  17. v0.3.5

    Fixes 1

    Notes
    Bug Fixes
  18. v0.3.4

    Fixes 1

    Notes
    Bug Fixes
    • implement determineRequiredDependencies for all tasks (#692) (d27b55e)
  19. v0.3.3

    Fixes 1

    Notes
    Bug Fixes
    • ui5-task-pwa-enabler: remove dep to JSDom + bugfixes (#668) (bdda7fb)
  20. v0.3.2

    Notes

    Note: Version bump only for package ui5-task-pwa-enabler

  21. v0.3.1

    Notes

    Note: Version bump only for package ui5-task-pwa-enabler

  22. v0.3.0

    Breaking 26, Features 1

    Notes
    Features
    BREAKING CHANGES
    • new package manager

    • refactor: updated tests to pass with pnpm

    • refactor: iasync still failing

    • feat(ui5-tooling-modules): support pnpm / node_modules symlinks

    • fix(ui5-app): make Karma work with pnpm

    • chore(ui5-app): remove uiveri5 from sample

    • chore(ui5-app): add updated wdio.conf

    • fix: make prettier and eslint work with pnpm

    • fix: fix cf_dest tests

    restructured tests and added node_modules as symlink

    • fix(ui5-app): adding eslint for wdio and mocha

    • chore(ui5-middleware-cfdestination): cleanup

    • feat(ui5-tooling-modules): add bundling support for AMD

    • chore(ui5-tooling-modules): cleanup

    • chore: fix code style

    • fix(ui5-task-flatten-library): support files without extensions

    • refactor: updated tests to pass with pnpm

    • feat(ui5-tooling-modules): support pnpm / node_modules symlinks

    • fix: make prettier and eslint work with pnpm

    • fix: update actions, lerna, vscode for pnpm

    • chore: only run test on tooling extensions

    • chore: use sequential tests for ava

    • chore: add @ui5/cli dev dependency for ava tests

    • chore: enable support for local act GH action tests

    • chore: add docu for local GitHub action execution

    • chore: docu cleanup

    • chore: re-add ncu scripts

    Co-authored-by: Peter Muessig peter.muessig@sap.com

  23. v0.2.12

    Notes

    Note: Version bump only for package ui5-task-pwa-enabler

  24. v0.2.11

    Notes

    Note: Version bump only for package ui5-task-pwa-enabler

  25. v0.2.10

    Other 1

    Notes
    Reverts
    • Revert "chore: add metadata to package.json for all packages for ui5-community website (#600)" (#601) (b6037d4), closes #600 #601
  26. v0.2.9

    Notes

    Note: Version bump only for package ui5-task-pwa-enabler

  27. v0.2.8

    Notes

    Note: Version bump only for package ui5-task-pwa-enabler

  28. v0.2.7

    Notes

    Note: Version bump only for package ui5-task-pwa-enabler

  29. v0.2.6

    Notes

    Note: Version bump only for package ui5-task-pwa-enabler

  30. v0.2.5

    Fixes 1

    Notes
    Bug Fixes
    • deps: update dependencies version (2444781)
  31. v0.2.4

    Notes

    Note: Version bump only for package ui5-task-pwa-enabler

  32. v0.2.3

    Notes

    Note: Version bump only for package ui5-task-pwa-enabler

  33. v0.2.2

    Notes

    Note: Version bump only for package ui5-task-pwa-enabler

  34. v0.2.1

    Notes

    Note: Version bump only for package ui5-task-pwa-enabler

  35. v0.2.0

    Features 2

    Notes
    Features
    • pwa: added pwa build for sample application (c36baf2)
    • pwa: added ui5-task-pwa-enabler as a new package (d2722cd)
9downloads per week, npm
Weekly downloads for ui5-task-pwa-enabler26 complete calendar weeks from 2026-04-20 to 2026-10-18; the latest total is 9.20 Apr – 26 Apr: 1627 Apr – 3 May: 804 May – 10 May: 7511 May – 17 May: 12618 May – 24 May: 18225 May – 31 May: 1111 Jun – 7 Jun: 708 Jun – 14 Jun: 8015 Jun – 21 Jun: 4322 Jun – 28 Jun: 7929 Jun – 5 Jul: 416 Jul – 12 Jul: 5113 Jul – 19 Jul: 1820 Jul – 26 Jul: 9127 Jul – 2 Aug: 173 Aug – 9 Aug: 8210 Aug – 16 Aug: 5517 Aug – 23 Aug: 2824 Aug – 30 Aug: 1831 Aug – 6 Sept: 187 Sept – 13 Sept: 5714 Sept – 20 Sept: 2621 Sept – 27 Sept: 7828 Sept – 4 Oct: 685 Oct – 11 Oct: 5512 Oct – 18 Oct: 9
Build and dev-server tooling
  1. UI5 ToolsVS Code extension to serve, proxy, build and deploy UI5 projects
  2. ui5-middleware-route-proxyUI5 server middleware proxying route prefixes to a backend
  3. ui5-task-cachebuster-indexingUI5 builder task preparing build output for the cachebuster
  4. ui5-task-transpile-genUI5 builder task transpiling ES6 to ES5 with Babel
  5. ui5-middleware-odata-recorderUI5 middleware recording OData traffic as mock server datasets
  6. ui5-plugin-loaderUI5 Tooling v4 extension that registers other extensions
  7. ui5-deployerUI5 Tooling module deploying Fiori/UI5 apps to SAP systems
  8. ui5-task-dts-generatorUI5 builder task generating d.ts type declarations
  9. ui5-task-minifierUI5 builder task minifying HTML, CSS and JSON files
  10. ui5-middleware-oidcUI5 dev server middleware adding an OpenID Connect login
  11. generator-ui5-library-af-deployYeoman generator for Application Frontend config in UI5 libraries
  12. ui5-middleware-destinationUI5 Tooling middleware proxying destinations and neo-app.json routes
  13. ui5-task-check-eocpUI5 build task warning when the app's UI5 version reaches EOCP
  14. @ui5/cliUI5 Tooling command line for project setup, dev server and build
  15. ui5-task-btp-manifestUI5 Tooling task writing the service name into the importer manifest
  16. ui5-middleware-approuterUI5 CLI middleware proxying the dev server through @sap/approuter
  17. ui5-middleware-capUI5 CLI middleware running a CDS server inside the UI5 dev server
  18. ui5-middleware-hmrExperimental UI5 middleware for hot module replacement
  19. ui5-middleware-iasyncUI5 middleware syncing interactions across browsers over websocket
  20. ui5-middleware-indexUI5 middleware serving a chosen welcome page at the root path
  21. ui5-middleware-livereloadLive reload middleware for the UI5 dev server
  22. ui5-middleware-oneloginUI5 middleware logging in with Playwright and reusing the session
  23. ui5-middleware-serveframeworkUI5 middleware serving a locally built UI5 framework
  24. ui5-middleware-servestaticUI5 middleware serving static resources from a path or npm package
  25. ui5-middleware-simpleproxyDev-server middleware proxying requests to a backend system
  26. ui5-middleware-ui5UI5 middleware including one UI5 application in another
  27. ui5-middleware-webjarsUI5 middleware serving static resources from JAR files (WebJars)
  28. ui5-middleware-websocketWebSocket support for Express-based dev servers such as UI5's
  29. ui5-task-cachebusterUI5 builder task cachebusting standalone UI5 applications
  30. ui5-task-copyrightUI5 builder task appending copyright headers to source files
  31. ui5-task-flatten-libraryUI5 builder task flattening library output for SAP NetWeaver
  32. ui5-task-i18ncheckUI5 builder task checking XML views for missing i18n texts
  33. ui5-task-minify-xmlUI5 builder task minifying XML views and fragments
  34. ui5-task-zipperBuild task packaging the UI5 build result as a zip archive
  35. ui5-tooling-lessUI5 CLI extension compiling Less files into CSS
  36. ui5-tooling-modulesUI5 tooling extensions loading npm packages as UI5 modules
  37. ui5-tooling-stringreplaceUI5 CLI extension for string replacement during the build
  38. ui5-tooling-transpileUI5 CLI extension transpiling code during the UI5 build
  39. @ui5/loggerInternal logger of the UI5 CLI
  40. @ui5/middleware-code-coverageUI5 CLI middleware for Istanbul code coverage
  41. @ui5/tooling-webcDeprecated UI5 Tooling extensions for UI5 Web Components wrappers

Details

Sources4
npm registrydiscovered herechecked
npm registry, ui5-task-pwa-enablerversion, releases, installschecked
packages/ui5-task-pwa-enabler/README.mdquoted, and what the entry declareschecked

Sources are graph entities: the same page may back several entries, and an unreachable source flags every row that rests on it.

Compatibility and provenance
latestv3.4.1
first release
releases and cadence36, ~70d median
discovered vianpm registry
first seen in the atlas
ecosystem and domainui5, developer-experience
Contributors8
History in the atlas1
  1. First seen.
For your agent
Ref
artifact:ui5-community-ui5-task-pwa-enabler
JSON
/artifacts/ui5-community-ui5-task-pwa-enabler.json
MCP
Connecting an agent