This monorepo consolidates the following packages used for acessing native operating system functionalities in hybrid web-apps:
Package | Version |
---|---|
abstractions | |
commons | |
cordova | |
electron | |
web |
The packages above provide the following modules:
Module | Fully Operational | Partly Operational |
---|---|---|
Bootstrapper: initializes native features and creates a folder structure on the filesystem. | ||
Authentication: utilizes fingerprint scanners to verify the identity of the user. | DetailsDesktop applications can not access a fingerprint scanner and show a confirmation dialog instead |
|
Device Info: provides information about the device like language settings or operating system. | DetailsSome attributes like manufacturer and model are not available |
|
File Access: provides the most common file system operations like delete file, read file, remove file, etc. | DetailsFor the web browser, the file system is emulated inside the indexeddb. |
|
Keychain Access: stores key-value pairs in the native keychain of the device. | DetailsThe web browser can not access the keychain. It is emulated using local storage instead. |
|
Local Notification: show notifications to the user while the app is open or in the backgound and handle user actions such as text input, button press or notification selection. | DetailsOn desktop, text input is not available |
|
Remote Notification: receive and process remote push notifications. | DetailsRemote push notifications can not be forwarded to and processed by the web app if the application is killed. However, notifications are correctly displayed to the user. |
|
Configuration: provides a configuration object defined during design time and the option to store and load additional configurations created during runtime. | ||
Database: create a lokijs database with an integrated persistence adapter. | ||
EventBus: handle events like incoming remote push notifications. | ||
Logger: log information to the console and store it on the filesystem. | ||
QR-Scanner: accesses the camera of the device to scan qr-codes. | ||
Launch Options: start the app trough an url. | DetailsNot implemented. |
Simply run npm i
in the root folder. The npm workspaces feature will link coherent packages for you.
run npm run test --workspaces
in the root folder
- cd in the package directory
- run
npm run test:local
After a PR is merged the Pipeline will push all packages that were not pushed to the registry before.
Currently contribution to this project is not possible. This will change soon.
You can find the licenses of the individual packages in the corresponding sub-folder's README.md file.