UNPKG

927 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
17`
18
19
20
21const argv = minimist(process.argv.slice(2))
22
23if (argv.help || argv.h) {
24 process.stdout.write(help)
25 process.exit(0)
26}
27
28const name = argv.name || argv.n || 'casket'
29const port = +(argv.port || argv.p || process.env.PORT || 8000)
30
31
32
33const app = casket({
34 name
35 , root: argv.dir || argv.d || process.cwd()
36 , readonly: argv.readonly || argv.r || false
37})
38app.listen(port)
39
40const service = bonjour.publish({name, type: 'http', port})
41process.on('beforeExit', () => bonjour.unpublishAll())