ui5-middleware-iasync
v3.0.0-alpha.9
Published
UI5 CLI middleware to sync browser interactions
Readme
UI5 middleware for syncing interactions across browsers
:wave: 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, syncing interactions between different browsers, hopefully somewhat easing manual testing :)
Prerequisites
- Requires at least
@ui5/[email protected](to supportspecVersion: "3.0")
:warning: UI5 CLI Compatibility All releases of this UI5 CLI extension using the major version
3require UI5 CLI V3. Any previous releases below major version3(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-iasync --save-devConfiguration options (in $yourapp/ui5.yaml)
https: <boolean>default: false
whether to use the middleware via SSL/wsshttpModule: <string>, default: undefined
capability to e.g. usehttp2port: <integer>, default: 3000
port to run middleware atdebug: <boolean>, default: false
display extensive logginglogConnections: <boolean>, default: true
show connected browsers
Usage
- Define the dependency in
$yourapp/package.json:
"devDependencies": {
// ...
"ui5-middleware-iasync": "*"
// ...
}- configure it in
$yourapp/ui5.yaml:
server:
customMiddleware:
- name: ui5-middleware-iasync
beforeMiddleware: serveResources
configuration:
https: false
debug: false
logConnections: true
port: 4711How it works
iasync uses browsersync.io under the hood. It transmits user interactions of the UI via a websocket pool. Respectively, all browsers connected to http://ui5-app:port open a websocket connection, listening for and receiving interactions events.
Additionally, iasync injects custom HTML into index.html, manipulating browser event handlers of UI5 controls - see lib/ui5mangler.html. E.g. the sap.m.Button's click event is overwritten with its' tap event.
Misc/FAQ
Watch Out!
Due to manipulation of the UI5 controls (see above), interactions of the UI might lead to unexpected results!
License
This work is dual-licensed under Apache 2.0 and the Derived Beer-ware License. The official license will be Apache 2.0 but finally you can choose between one of them if you use this work.
When you like this stuff, buy @vobu a beer or buy @pmuessig a coke when you see them.
