1.3.1 • Published 6 months ago

frau-local-appresolver v1.3.1

Weekly downloads
117
License
Apache-2.0
Repository
github
Last release
6 months ago

frau-local-appresolver

NPM version

A free-range-app utility for resolving locally hosted apps.

Installation

Install from NPM:

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:

frau-local-appresolver --appclass|-c urn:d2l:fra:class:some-app

However additional options (described below) can be configured:

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
"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

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

Contributing

Contributions are welcome, please submit a pull request!

Code Style

This repository is configured with EditorConfig rules and contributions should make use of them.

1.3.1

6 months ago

1.3.0

1 year ago

1.2.0

4 years ago

1.1.0

4 years ago

1.0.0

7 years ago

0.3.0

10 years ago

0.2.0

10 years ago

0.1.2

10 years ago

0.1.1

10 years ago

0.1.0

10 years ago

0.0.3

10 years ago

0.0.2

10 years ago

0.0.1

10 years ago