UNPKG

963 BJavaScriptView Raw
1#!/usr/bin/env node
2'use strict'
3
4const minimist = require('minimist')
5const bonjour = require('bonjour')()
6const casket = require('./lib')
7
8const help = `
9Usage:
10 casket [--name my-little-server] [--dir ~/path/to/dir]
11
12Options:
13 --name -n The name of the server, as shown in the GUI.
14 --dir -d The directory to serve, default is the current directory.
15 --readonly -r Do not allow deletion of files & uploads.
16 --port -p Default is 8000.
17
18`
19
20
21
22const argv = minimist(process.argv.slice(2))
23
24if (argv.help || argv.h) {
25 process.stdout.write(help)
26 process.exit(0)
27}
28
29const name = argv.name || argv.n || 'casket'
30const port = +(argv.port || argv.p || process.env.PORT || 8000)
31
32
33
34const app = casket({
35 name
36 , root: argv.dir || argv.d || process.cwd()
37 , readonly: argv.readonly || argv.r || false
38})
39app.listen(port)
40
41const service = bonjour.publish({name, type: 'http', port})
42process.on('beforeExit', () => bonjour.unpublishAll())