1
0
mirror of https://github.com/verdaccio/verdaccio.git synced 2024-11-13 03:35:52 +01:00
verdaccio/bin/sinopia

43 lines
1.3 KiB
Plaintext
Raw Normal View History

2013-05-22 08:48:04 +02:00
#!/usr/bin/env node
2013-06-13 16:21:14 +02:00
var pkg_file = '../package.yaml';
2013-05-31 08:26:11 +02:00
var fs = require('fs');
var yaml = require('js-yaml');
2013-05-22 08:48:04 +02:00
var commander = require('commander');
2013-05-31 08:26:11 +02:00
var server = require('../lib/index');
2013-06-08 03:16:28 +02:00
var crypto = require('crypto');
2013-06-13 16:21:14 +02:00
var pkg = require(pkg_file);
2013-05-22 08:48:04 +02:00
commander
2013-05-31 08:26:11 +02:00
.option('-l, --listen <[host:]port>', 'host:port number to listen on (default: localhost:4873)', '4873')
2013-06-13 16:21:14 +02:00
.option('-c, --config <config.yaml>', 'use this configuration file (default: ./config.yaml)')
2013-05-31 08:26:11 +02:00
.version(pkg.version)
2013-05-22 08:48:04 +02:00
.parse(process.argv);
2013-06-13 16:21:14 +02:00
var config;
2013-06-08 03:16:28 +02:00
if (commander.config) {
2013-06-13 16:21:14 +02:00
config = yaml.safeLoad(fs.readFileSync(commander.config, 'utf8'));
2013-06-08 03:16:28 +02:00
} else {
2013-06-13 16:21:14 +02:00
try {
config = yaml.safeLoad(fs.readFileSync('./config.yaml', 'utf8'));
} catch(err) {
var created_config = require('../lib/config_gen')();
config = yaml.safeLoad(created_config.yaml);
console.log('starting with default config, use user: "%s", pass: "%s" to authenticate', created_config.user, created_config.pass);
fs.writeFileSync('./config.yaml', created_config.yaml);
2013-06-08 03:16:28 +02:00
}
}
if (!config.user_agent) config.user_agent = 'Sinopia/'+pkg.version;
2013-05-31 08:26:11 +02:00
var hostport = commander.listen.split(':');
if (hostport.length < 2) {
hostport = [undefined, hostport[0]];
2013-05-22 08:48:04 +02:00
}
if (hostport[0] == null) {
hostport[0] = 'localhost';
}
2013-06-08 03:16:28 +02:00
server(config).listen(hostport[1], hostport[0]);
console.log('Server is listening on http://%s:%s/', hostport[0], hostport[1]);
2013-05-22 08:48:04 +02:00