JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 47
  • Score
    100M100P100Q49505F
  • License

CLI to launch apps that use an express main server and an optional restif api server.

Package Exports

  • appup

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (appup) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

appup build status

CLI to launch apps that use an express main server and an optional restif api server.

Installation

npm install appup

CLI

appup [options] file

Options:
  --pages     port to start pages server on
  --api       port to start api server on
  --config    point to a config file to override routes, etc. for the pages and api server
  --watchdir  directory to watch for client side JavaScript changes in order to automatically refresh
  --dedupe    if set it will [dynamically dedupe](https://github.com/thlorenz/dynamic-dedupe)
                all modules as they are being required to work around the fact that symlinks break `npm dedupe`

API

appup(opts)

Creates browserify bundle and starts up pages server and/or api server according to the supplied options.

If no api port is given, the api server is not started up. If no pages port is given, the pages server is not started up. If neither port is given, an error is thrown.

Parameters:
Name Type Description
opts Object
Properties
Name Type Argument Description
pages number <optional>

port at which to start up pages server

api number <optional>

port at which to start up api server

config string

full path configuration provided to override browserify specific options and/or custom API/Pages servers init functions

entry string

entry file to add to browserify

watchdir string <optional>

turns on live reload for the given directory

dedupe boolean <optional>

turns on dynamic-dedupe

Source:

generated with docme

config

The config needs to provide either or all of the following properties on the module exports object:

  • bundleOpts: {Object} options passed to browserify().bundle(options)
  • initBrowserify: {Function} invoked with browserify that needs to return a browserify instance that can be initialized according to our needs
  • initPages {Function} invoked with (pagesApp, express, apiServerInfo) where apiServerInfo is { address: {Object} }
  • postInitPages {Function} invoked with (pagesApp, pagesServer, express) where pagesServer is the result of pagesApp.listen()
  • initApi {Function} invoked with (apiApp, restify)
  • postInitApi {Function} invoked with (apiApp, apiServer, restify) where apiServer is the result of apiApp.listen()
  • events {EventEmitter} used to emit info and error events, if not provided messages are logged to the console instead

Example config

// Bundle options
exports.bundleOpts = { debug: true, insertGlobals: false };

exports.initBrowserify = function (browserify) {
  return browserify().transform('hbsfy');
};

// Server options

// Pages
exports.initPages = function (pagesApp, express, apiServerInfo) {
  pagesApp.use(core.renderViewMiddleware(viewPath, { title: 'core' }));
};

exports.postInitPages = function (pagesApp, pagesServer, express) {
};

// API 
exports.initApi = function (apiApp, restify) {
};

exports.postInitApi = function (apiApp, apiServer, restify) {
};

License

MIT