refactor cli
This commit is contained in:
@ -1,2 +1,2 @@
|
|||||||
#!/usr/bin/env node
|
#!/usr/bin/env node
|
||||||
require('../').run()
|
require('../lib/cli-app').run()
|
||||||
|
17
lib/cli-app.js
Normal file
17
lib/cli-app.js
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
'use strict'
|
||||||
|
const LwsCliApp = require('lws/lib/cli-app')
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @alias module:local-web-server
|
||||||
|
*/
|
||||||
|
class WsCliApp extends LwsCliApp {
|
||||||
|
constructor (options) {
|
||||||
|
super (options)
|
||||||
|
/* override default serve command */
|
||||||
|
this.commands.add(null, require('./command/serve'))
|
||||||
|
/* add feature-list command */
|
||||||
|
this.commands.add('feature-list', require('./command/feature-list'))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
module.exports = WsCliApp
|
62
lib/command/serve.js
Normal file
62
lib/command/serve.js
Normal file
@ -0,0 +1,62 @@
|
|||||||
|
const ServeCommand = require('lws/lib/command/serve')
|
||||||
|
const path = require('path')
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @module local-web-server
|
||||||
|
*/
|
||||||
|
|
||||||
|
class WsServe extends ServeCommand {
|
||||||
|
execute (options, argv) {
|
||||||
|
options = {
|
||||||
|
stack: [
|
||||||
|
'lws-log',
|
||||||
|
'lws-cors',
|
||||||
|
'lws-json',
|
||||||
|
'lws-rewrite',
|
||||||
|
'lws-body-parser',
|
||||||
|
'lws-blacklist',
|
||||||
|
'lws-conditional-get',
|
||||||
|
'lws-mime',
|
||||||
|
'lws-compress',
|
||||||
|
'lws-mock-response',
|
||||||
|
'lws-spa',
|
||||||
|
'lws-static',
|
||||||
|
'lws-index'
|
||||||
|
],
|
||||||
|
moduleDir: path.resolve(__dirname, `../../node_modules`),
|
||||||
|
modulePrefix: 'lws-'
|
||||||
|
}
|
||||||
|
super.execute(options, argv)
|
||||||
|
}
|
||||||
|
|
||||||
|
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 <options>',
|
||||||
|
'$ ws [underline]{command} <options>'
|
||||||
|
]
|
||||||
|
}
|
||||||
|
)
|
||||||
|
sections.push({
|
||||||
|
content: 'Project home: [underline]{https://github.com/lwsjs/local-web-server}'
|
||||||
|
})
|
||||||
|
return sections
|
||||||
|
}
|
||||||
|
|
||||||
|
showVersion () {
|
||||||
|
const pkg = require(path.resolve(__dirname, '..', 'package.json'))
|
||||||
|
console.log(pkg.version)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
module.exports = WsServe
|
@ -1,77 +0,0 @@
|
|||||||
'use strict'
|
|
||||||
const Lws = require('lws')
|
|
||||||
const Serve = require('lws/lib/command/serve')
|
|
||||||
const path = require('path')
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @module local-web-server
|
|
||||||
*/
|
|
||||||
|
|
||||||
class WsServe extends Serve {
|
|
||||||
execute (options, argv) {
|
|
||||||
options = {
|
|
||||||
stack: [
|
|
||||||
'lws-log',
|
|
||||||
'lws-cors',
|
|
||||||
'lws-json',
|
|
||||||
'lws-rewrite',
|
|
||||||
'lws-body-parser',
|
|
||||||
'lws-blacklist',
|
|
||||||
'lws-conditional-get',
|
|
||||||
'lws-mime',
|
|
||||||
'lws-compress',
|
|
||||||
'lws-mock-response',
|
|
||||||
'lws-spa',
|
|
||||||
'lws-static',
|
|
||||||
'lws-index'
|
|
||||||
],
|
|
||||||
moduleDir: path.resolve(__dirname, `../node_modules`),
|
|
||||||
modulePrefix: 'lws-'
|
|
||||||
}
|
|
||||||
super.execute(options, argv)
|
|
||||||
}
|
|
||||||
|
|
||||||
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 <options>',
|
|
||||||
'$ ws [underline]{command} <options>'
|
|
||||||
]
|
|
||||||
}
|
|
||||||
)
|
|
||||||
sections.push({
|
|
||||||
content: 'Project home: [underline]{https://github.com/lwsjs/local-web-server}'
|
|
||||||
})
|
|
||||||
return sections
|
|
||||||
}
|
|
||||||
|
|
||||||
showVersion () {
|
|
||||||
const pkg = require(path.resolve(__dirname, '..', 'package.json'))
|
|
||||||
console.log(pkg.version)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @alias module:local-web-server
|
|
||||||
*/
|
|
||||||
class LocalWebServer extends Lws {
|
|
||||||
constructor (options) {
|
|
||||||
super (options)
|
|
||||||
/* override default serve command */
|
|
||||||
this.commands.add(null, WsServe)
|
|
||||||
/* add feature-list command */
|
|
||||||
this.commands.add('feature-list', require('./feature-list'))
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
module.exports = LocalWebServer
|
|
||||||
|
Reference in New Issue
Block a user