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-middleware-livereload

A dev-server middleware that adds live reload to the UI5 dev server, reloading the page when the sources in the app's webapp folder change.

UI5 middleware for live reloading webapp sources on change

Facts

Latestv3.4.0ReleasedLast 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
maintainerAdrian BobevPersonContributes to this
In the atlas: contributes to 10
@adrian-bobev
Attila BorosPersonContributes to this
In the atlas: contributes to 6
@attila-boros
Benjamin ReimPersonContributes to this
In the atlas: contributes to 9
@BenReim
Christian GeorgiPersonContributes to this
In the atlas: maintains 1, contributes to 53
@chgeo
Frank WeigelPersonContributes to this
In the atlas: contributes to 10
@codeworrior
David SooterPersonContributes to this
In the atlas: contributes to 9
@d-sooter
Yavor IvanovPersonContributes to this
In the atlas: contributes to 17
@d3xter666
Austin DevinePersonContributes to this
In the atlas: maintains 7, contributes to 25
@devinea
Dimitar FenerskiPersonContributes to this
In the atlas: contributes to 23
@dfenerski
Dominik FeiningerPersonContributes to this
In the atlas: contributes to 11
@dominikfeininger
58 contributors

What it declares

Every artifact

Type
Build tool
Origin
By a community org
Runtime
Node.js

As a build tool

Distributed through
npm

Connections1

Install

npm add ui5-middleware-livereload

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-middleware-livereload/README.mdOn GitHub

UI5 middleware for live reloading webapp sources on change

👋 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.

Middleware for ui5-server, doing a live reload when files inside $yourapp change, e.g. on save.

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-middleware-livereload --save-dev

Configuration options (in $yourapp/ui5.yaml)

  • debug: true|false verbose logging
  • extraExts: string, default: jsx,ts,tsx,xml,json,properties file extensions other than js, html and css to monitor for changes
  • port: integer, default: an free port choosen from 35729 onwards port the live reload server is started on
  • watchPath|path: string, default: all paths from app and non framework dependencies path inside $yourapp the reload server monitors for changes
  • exclusions: one or many regex. By default, this includes .git/, .svn/, and .hg/
  • usePolling: true|false, default: false Enables chokidar polling to support virtualised filesystems(eg. WSL2.0).
  • includeFwkDeps: true|false, default: false Includes the framework dependencies into the watchPath
  • includeAppDeps: true|false, default: false Includes the application dependencies into the watchPath
  • host: string, default: localhost
  • force: true|false, default: unset force-enable (true) or force-disable (false) the middleware, overriding the automatic UI5 Tooling V5+ auto-disable (see UI5 Tooling V5 below)

UI5 Tooling V5

UI5 Tooling V5 provides a built-in Live Reload. Per the official docs, combining a custom live-reload middleware with the built-in feature can make the page "refresh more often than necessary." To avoid that, this middleware automatically disables itself when running under UI5 Tooling V5 or higher (detected via the @ui5/server major version).

  • To keep using this middleware under V5, set configuration.force: true and disable the built-in Live Reload via the --no-live-reload CLI flag or the server.settings.liveReload configuration option (otherwise both run and the page double-reloads).
  • To disable this middleware on any tooling version, set configuration.force: false.

See the UI5 CLI v5 migration guide for details on the built-in Live Reload and other V5 changes.

Usage

  1. Define the dependency in $yourapp/package.json:
"devDependencies": {
    // ...
    "ui5-middleware-livereload": "*"
    // ...
}
  1. configure it in $yourapp/ui5.yaml:
server:
  customMiddleware:
  - name: ui5-middleware-livereload
    afterMiddleware: compression

Using the configuration properties:

server:
  customMiddleware:
  - name: ui5-middleware-livereload
    afterMiddleware: compression
    configuration:
      debug: true
      extraExts: "xml,json,properties"
      port: 35729
      watchPath: "webapp"

or with path instead of watchPath:

server:
  customMiddleware:
  - name: ui5-middleware-livereload
    afterMiddleware: compression
    configuration:
      debug: true
      extraExts: "xml,json,properties"
      port: 35729
      path: "webapp"

Reload from multiple paths:

server:
  customMiddleware:
  - name: ui5-middleware-livereload
    afterMiddleware: compression
    configuration:
      debug: true
      extraExts: "xml,json,properties"
      port: 35729
      path:
            - "webapp"
            - "../my.reuse.library/src/my/reuse/library"

Use polling to watch files:

server:
  customMiddleware:
  - name: ui5-middleware-livereload
    afterMiddleware: compression
    configuration:
      debug: true
      extraExts: "xml,json,properties"
      port: 35729
      usePolling: true

Exclude single subpath from paths/ watchPaths:

server:
  customMiddleware:
  - name: ui5-middleware-livereload
    afterMiddleware: compression
    configuration:
      debug: true
      extraExts: "xml,json,properties"
      port: 35729
      watchPath: "webapp"
      exclusions:
            - "wdi5/"

Exclude multiple subpaths from paths/ watchPaths:

server:
  customMiddleware:
  - name: ui5-middleware-livereload
    afterMiddleware: compression
    configuration:
      debug: true
      extraExts: "xml,json,properties"
      port: 35729
      watchPath: "webapp"
      exclusions:
          - "wdi5/"
          - "integration/"

How it works

The middleware launches a livereload-server on the specified port, listening to changes in the app and any of the non framework dependencies or alternativly the specified path or watchPath inside your application directory.

When changes are detected, a reload is triggered to all connected clients - so all browsers having $yourapp will reload the application. The reload is #-aware, meaning the current displayed route in your single-page UI5 app is kept steady.

HTTP/2 support

The middleware supports HTTP/2 automatically, when the UI5 server is started with the --h2 option. It uses the same SSL key and certificate, either set using the --key and --cert options, or using the default ~/.ui5/server/server.key and ~/.ui5/server/server.crt.

Misc/FAQ

yep, cross-browser, cross-platform.

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.0

Features 1

Notes
Minor Changes
  • #1422 288001e Thanks @petermuessig! - feat(ui5-middleware-livereload): auto-disable under UI5 Tooling V5+ with a force override

    UI5 Tooling V5 ships a built-in Live Reload; running this middleware alongside it makes the page reload more often than necessary. The middleware now detects UI5 Tooling V5 or higher (via the running @ui5/server major version) and auto-disables itself there to avoid double reloads.

    A new configuration.force option overrides the automatic behavior in both directions:

    • force: true keeps the middleware active under V5+ (disable the built-in Live Reload via --no-live-reload or server.settings.liveReload to avoid a double reload)
    • force: false disables the middleware on any tooling version

    When the tooling version cannot be detected, the middleware fails open (stays enabled) so existing setups keep working.

All notable changes to this project will be documented in this file. See Conventional Commits for commit guidelines.

  1. v3.3.1

    Notes

    Note: Version bump only for package ui5-middleware-livereload

  2. v3.3.0

    Features 1

    Notes
    Features
  3. v3.2.1

    Notes

    Note: Version bump only for package ui5-middleware-livereload

  4. v3.2.0

    Features 1

    Notes
    Features
  5. v3.1.4

    Notes

    Note: Version bump only for package ui5-middleware-livereload

  6. v3.1.3

    Notes

    Note: Version bump only for package ui5-middleware-livereload

  7. v3.1.2

    Fixes 1

    Notes
    Bug Fixes
  8. v3.1.1

    Notes

    Note: Version bump only for package ui5-middleware-livereload

  9. v3.1.0

    Features 1

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

    Notes

    Note: Version bump only for package ui5-middleware-livereload

  11. v3.0.2

    Notes

    Note: Version bump only for package ui5-middleware-livereload

  12. v3.0.1

    Fixes 1

    Notes
    Bug Fixes
    • ui5-middleware-livereload: include UI5 app dependencies (#859) (2a1650c)
  13. v3.0.0dated in the atlas

    Breaking 1, Features 2

    Notes
    Features
    BREAKING CHANGES
    • The support for UI5 Tooling V2 has been removed
  14. v0.8.4

    Fixes 1

    Notes
    Bug Fixes
    • ui5-middleware-livereload: by default ignore framework dependencies (#761) (bd0c1de)
  15. v0.8.3

    Fixes 1

    Notes
    Bug Fixes
  16. v0.8.2

    Fixes 1

    Notes
    Bug Fixes
  17. v0.8.1

    Fixes 1

    Notes
    Bug Fixes
    • enable middlewares for UI5 tooling 3.x (#687) (ab87cb6)
  18. v0.8.0

    Features 1

    Notes
    Features
    • ui5-middleware-livereload: auto-detect watch paths (#685) (b0fb53d)
  19. v0.7.2

    Notes

    Note: Version bump only for package ui5-middleware-livereload

  20. v0.7.1

    Notes

    Note: Version bump only for package ui5-middleware-livereload

  21. v0.7.0

    Breaking 26, Other 2

    Notes
    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

    • 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

  22. v0.6.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.5.13

    Notes

    Note: Version bump only for package ui5-middleware-livereload

  24. v0.5.12

    Notes

    Note: Version bump only for package ui5-middleware-livereload

  25. v0.5.11

    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.5.10

    Notes

    Note: Version bump only for package ui5-middleware-livereload

  27. v0.5.9

    Notes

    Note: Version bump only for package ui5-middleware-livereload

  28. v0.5.8

    Notes

    Note: Version bump only for package ui5-middleware-livereload

  29. v0.5.7

    Fixes 1

    Notes
    Bug Fixes
    • livereload: correction of indentation (39fe59a)
  30. v0.5.6

    Notes

    Note: Version bump only for package ui5-middleware-livereload

  31. v0.5.5

    Notes

    Note: Version bump only for package ui5-middleware-livereload

  32. v0.5.4

    Notes

    Note: Version bump only for package ui5-middleware-livereload

  33. v0.5.3

    Fixes 1

    Notes
    Bug Fixes
    • livereload: support HTTP/2 --h2 option (#511) (6d28f06)
  34. v0.5.2

    Fixes 1

    Notes
    Bug Fixes
    • non-specified exclusions crash the server (d76efb5)
  35. v0.5.1

    Fixes 1

    Notes
    Bug Fixes
    • livereload: adopted docu of exclusion patterns (047188d)
  36. v0.5.0

    Features 1

    Notes
    Features
    • livereload: add exclusions option (d65646c)
  37. v0.4.3

    Fixes 1

    Notes
    Bug Fixes
    • livereload: ensure proper concat for extra exts (#311) (cdf4b63)
  38. v0.4.2

    Notes

    Note: Version bump only for package ui5-middleware-livereload

  39. v0.4.1

    Notes

    Note: Version bump only for package ui5-middleware-livereload

  40. v0.4.0

    Features 1, Fixes 1

    Notes
    Bug Fixes
    Features
    • ui5-middleware-livereload - watch multiple paths (#259) (16005f6)
  41. v0.3.0

    Features 1, Fixes 1

    Notes
    Bug Fixes
    • docu: extra extensions config for livereload (1f6149a)
    Features
    • pwa: added pwa build for sample application (c36baf2)
  42. v0.2.0

    Features 1

    Notes
    Features
    • Automatically set a non-taken port for livereload server (#195) (9ca6037)
  43. v0.1.10

    Notes

    Note: Version bump only for package ui5-middleware-livereload

  44. v0.1.9

    Fixes 1

    Notes
    Bug Fixes
    • livereload now supports watchPath and path config (1e90ab5)
  45. v0.1.8

    Notes

    Note: Version bump only for package ui5-middleware-livereload

  46. v0.1.4

    Notes

    Note: Version bump only for package ui5-middleware-livereload

  47. v0.1.3

    Notes

    Note: Version bump only for package ui5-middleware-livereload

11,701downloads per week, npm
Weekly downloads for ui5-middleware-livereload26 complete calendar weeks from 2026-04-20 to 2026-10-18; the latest total is 11701.20 Apr – 26 Apr: 30,06927 Apr – 3 May: 21,2694 May – 10 May: 29,32011 May – 17 May: 24,40818 May – 24 May: 27,14625 May – 31 May: 24,0201 Jun – 7 Jun: 20,0598 Jun – 14 Jun: 25,24315 Jun – 21 Jun: 23,85522 Jun – 28 Jun: 23,06829 Jun – 5 Jul: 22,1776 Jul – 12 Jul: 24,00613 Jul – 19 Jul: 22,72820 Jul – 26 Jul: 23,80227 Jul – 2 Aug: 22,2943 Aug – 9 Aug: 26,03610 Aug – 16 Aug: 21,92717 Aug – 23 Aug: 29,38824 Aug – 30 Aug: 28,02831 Aug – 6 Sept: 19,6807 Sept – 13 Sept: 16,11914 Sept – 20 Sept: 22,07121 Sept – 27 Sept: 25,77628 Sept – 4 Oct: 26,7455 Oct – 11 Oct: 20,27212 Oct – 18 Oct: 11,701
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-oneloginUI5 middleware logging in with Playwright and reusing the session
  22. ui5-middleware-serveframeworkUI5 middleware serving a locally built UI5 framework
  23. ui5-middleware-servestaticUI5 middleware serving static resources from a path or npm package
  24. ui5-middleware-simpleproxyDev-server middleware proxying requests to a backend system
  25. ui5-middleware-ui5UI5 middleware including one UI5 application in another
  26. ui5-middleware-webjarsUI5 middleware serving static resources from JAR files (WebJars)
  27. ui5-middleware-websocketWebSocket support for Express-based dev servers such as UI5's
  28. ui5-task-cachebusterUI5 builder task cachebusting standalone UI5 applications
  29. ui5-task-copyrightUI5 builder task appending copyright headers to source files
  30. ui5-task-flatten-libraryUI5 builder task flattening library output for SAP NetWeaver
  31. ui5-task-i18ncheckUI5 builder task checking XML views for missing i18n texts
  32. ui5-task-minify-xmlUI5 builder task minifying XML views and fragments
  33. ui5-task-pwa-enablerUI5 builder task turning a UI5 app into a progressive web app
  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
bestofui5discovered herechecked
npm registry, ui5-middleware-livereloadversion, releases, installschecked
github.com/https://github.com/ui5-community/ui5-ecosystem-showcase.gittree, pushes, contributors, CIchecked
packages/ui5-middleware-livereload/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
runtimesnode
latestv3.4.0
first release
releases and cadence54, ~73d median
discovered viabestofui5
first seen in the atlas
ecosystem and domainui5, developer-experience
Flavors2
Freestyle
“The reload is `#`-aware, meaning the current displayed route in your single-page UI5 app is kept steady.” — ui5-community/ui5-ecosystem-showcase — README (packages/ui5-middleware-livereload)checked
Fiori elements
“The reload is `#`-aware, meaning the current displayed route in your single-page UI5 app is kept steady.” — ui5-community/ui5-ecosystem-showcase — README (packages/ui5-middleware-livereload)checked
Contributors58
History in the atlas1
  1. First seen.
For your agent
Ref
artifact:ui5-community-ui5-middleware-livereload
JSON
/artifacts/ui5-community-ui5-middleware-livereload.json
MCP
Connecting an agent