Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/brightspace/frau-local-appresolver
A free-range-app utility for resolving locally hosted apps.
https://github.com/brightspace/frau-local-appresolver
Last synced: 5 days ago
JSON representation
A free-range-app utility for resolving locally hosted apps.
- Host: GitHub
- URL: https://github.com/brightspace/frau-local-appresolver
- Owner: Brightspace
- License: apache-2.0
- Created: 2015-08-18T03:25:04.000Z (about 9 years ago)
- Default Branch: main
- Last Pushed: 2024-04-09T17:08:40.000Z (7 months ago)
- Last Synced: 2024-10-28T22:40:05.477Z (17 days ago)
- Language: JavaScript
- Homepage:
- Size: 67.4 KB
- Stars: 0
- Watchers: 45
- Forks: 4
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Codeowners: CODEOWNERS
Awesome Lists containing this project
README
# frau-local-appresolver
[![NPM version][npm-image]][npm-url]
A free-range-app utility for resolving locally hosted apps.
## Installation
Install from NPM:
```shell
npm install frau-local-appresolver
```## Usage
### From CLI
The FRAU app resolver can be run either directly on the console CLI (assuming dependencies are installed), or specified as a script in `package.json`.
Launching the local app resolver can be as simple as:
```sh
frau-local-appresolver --appclass|-c urn:d2l:fra:class:some-app
```However additional options (described below) can be configured:
```sh
frau-local-appresolver --appclass|-c urn:d2l:fra:class:some-app
--configfile|-f appconfig.json
--hostname|-h acme.com
--port|-p 3000
--publicEndpoint|-e https://xyz.ngrok.io
--dist|-d dist
--baseRoute|-b /app
``````json
"scripts": {
"resolver": "frau-local-appresolver"
},
"config": {
"frauLocalAppResolver": {
"appClass": "urn:d2l:fra:class:some-app",
"configFile": "appconfig.json",
"hostname": "acme.com",
"port": "3000",
"publicEndpoint": "https://xyz.ngrok.io",
"dist": "dist",
"baseRoute": "/app"
}
}
```### From JavaScript
```javascript
var appResolver = require('frau-local-appresolver').resolver;// simply provide required appClass
appResolver = appResolver(appClass);// alternatively override default options
appResolver = appResolver(appClass, options);// host the app resolver
appResolver.host();// get where the app content is hosted
var target = appResolver.getUrl();
```**Parameters**:
- `appClass` (required) - The app class to resolve.
- `options` (optional) - An object containing:
- `dist` - The directory containing the app files to serve. By default, the `dist` directory is used.
- `port` - The port to listen on. By default, port `3000` is used, which is the port that the LMS expects it on.
- `hostname` - The hostname (or IP) to listen on. By default, the hostname of the operating system is used. You should not need to change this.
- `publicEndpoint` - If provided overrides the protocol (http) hostname and port for endpoint resolution
- `configFile` - The name of the app config file. By default, `appconfig.json` is used. You should not need to change this.
- `baseRoute` - Specifies the base route to be included in urls. By default, `/app` is used. Setting this to different values (e.g. `''`) will allow you to use tools such as `es-dev-server` where you want the endpoint hosted at `http://localhost:3000/index.html` instead of `http://localhost:3000/app/index.html`.## Versioning and Releasing
This repo is configured to use `semantic-release`. Commits prefixed with `fix:` and `feat:` will trigger patch and minor releases when merged to `main`.
To learn how to create major releases and release from maintenance branches, refer to the [semantic-release GitHub Action](https://github.com/BrightspaceUI/actions/tree/main/semantic-release) documentation.
## Contributing
Contributions are welcome, please submit a pull request!
### Code Style
This repository is configured with [EditorConfig](http://editorconfig.org) rules and
contributions should make use of them.[npm-url]: https://www.npmjs.org/package/frau-local-appresolver
[npm-image]: https://img.shields.io/npm/v/frau-local-appresolver.svg