From 67468d865b2d3e95f7d44fbdd0c0f842213fabde Mon Sep 17 00:00:00 2001 From: Lloyd Brookes Date: Mon, 5 Jun 2017 23:41:17 +0100 Subject: [PATCH] override server stack --- lib/feature-list.js | 3 +++ lib/local-web-server.js | 65 ++++++++++++++++++++++++++++++++----------------- package.json | 2 +- 3 files changed, 47 insertions(+), 23 deletions(-) diff --git a/lib/feature-list.js b/lib/feature-list.js index 3326c8a..27a4e31 100644 --- a/lib/feature-list.js +++ b/lib/feature-list.js @@ -1,4 +1,7 @@ class FeatureList { + description () { + return 'Print installed features' + } execute (options) { const list = [ 'lws-log', diff --git a/lib/local-web-server.js b/lib/local-web-server.js index 721a41c..edab733 100644 --- a/lib/local-web-server.js +++ b/lib/local-web-server.js @@ -1,15 +1,13 @@ 'use strict' const Lws = require('lws') +const Serve = require('lws/lib/command/serve/serve') /** * @module local-web-server */ -/** - * @alias module:local-web-server - */ -class LocalWebServer extends Lws { - constructor (options) { +class WsServe extends Serve { + execute (options, argv) { const path = require('path') let stack = [ 'lws-log', @@ -27,11 +25,47 @@ class LocalWebServer extends Lws { 'lws-index' ] const moduleDir = path.resolve(__dirname, `../node_modules`) - options = Object.assign({ stack, 'module-dir': moduleDir, 'module-prefix': 'lws-' }, options) - super(options) + options = { + stack, + 'module-dir': moduleDir, + 'module-prefix': 'lws-' + } + super.execute(options, argv) + } - /* add command */ - this.commands.set('feature-list', require('./feature-list')) + usage () { + const sections = super.usage() + sections.shift() + sections.shift() + sections.pop() + sections.unshift( + { + header: 'local-web-server', + content: 'A convenient local web server to support productive, full-stack Javascript development.' + }, + { + header: 'Synopsis', + content: [ + '$ ws ', + '$ ws [underline]{command} ' + ] + } + ) + sections.push({ + content: 'Project home: [underline]{https://github.com/lwsjs/local-web-server}' + }) + return sections + } +} + +/** + * @alias module:local-web-server + */ +class LocalWebServer extends Lws { + constructor (options) { + super (options) + this.commands.add(null, WsServe) + this.commands.add('feature-list', require('./feature-list')) } getVersion () { @@ -39,19 +73,6 @@ class LocalWebServer extends Lws { const pkg = require(path.resolve(__dirname, '..', 'package.json')) return pkg.version } - - getUsageHeader () { - return { - header: 'local-web-server', - content: 'A convenient local web server to support productive, full-stack Javascript development.' - } - } - - getUsageFooter () { - return { - content: 'Project home: [underline]{https://github.com/lwsjs/local-web-server}' - } - } } module.exports = LocalWebServer diff --git a/package.json b/package.json index bea0f6e..78fcf7c 100644 --- a/package.json +++ b/package.json @@ -48,7 +48,7 @@ "lws-mime": "^0.1.0", "lws-mock-response": "^0.1.0", "lws-rewrite": "^0.1.0", - "lws-spa": "^0.1.0", + "lws-spa": "^0.1.2", "lws-static": "^0.1.1", "lws": "^1.0.0-pre.4" },