mirror of
https://github.com/NodeBB/NodeBB.git
synced 2025-11-01 11:35:55 +01:00
finished up executable rewrite, and prettified reset script output
This commit is contained in:
34
app.js
34
app.js
@@ -29,6 +29,7 @@ var fs = require('fs'),
|
|||||||
async = require('async'),
|
async = require('async'),
|
||||||
semver = require('semver'),
|
semver = require('semver'),
|
||||||
winston = require('winston'),
|
winston = require('winston'),
|
||||||
|
colors = require('colors'),
|
||||||
path = require('path'),
|
path = require('path'),
|
||||||
pkg = require('./package.json'),
|
pkg = require('./package.json'),
|
||||||
utils = require('./public/src/utils.js');
|
utils = require('./public/src/utils.js');
|
||||||
@@ -274,17 +275,19 @@ function reset() {
|
|||||||
process.exit();
|
process.exit();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (nconf.get('theme')) {
|
if (nconf.get('t')) {
|
||||||
resetThemes();
|
resetThemes();
|
||||||
} else if (nconf.get('plugin')) {
|
} else if (nconf.get('p')) {
|
||||||
resetPlugin(nconf.get('plugin'));
|
if (nconf.get('p') === true) {
|
||||||
} else if (nconf.get('plugins')) {
|
resetPlugins();
|
||||||
resetPlugins();
|
} else {
|
||||||
} else if (nconf.get('widgets')) {
|
resetPlugin(nconf.get('p'));
|
||||||
|
}
|
||||||
|
} else if (nconf.get('w')) {
|
||||||
resetWidgets();
|
resetWidgets();
|
||||||
} else if (nconf.get('settings')) {
|
} else if (nconf.get('s')) {
|
||||||
resetSettings();
|
resetSettings();
|
||||||
} else if (nconf.get('all')) {
|
} else if (nconf.get('a')) {
|
||||||
require('async').series([resetWidgets, resetThemes, resetPlugins, resetSettings], function(err) {
|
require('async').series([resetWidgets, resetThemes, resetPlugins, resetSettings], function(err) {
|
||||||
if (!err) {
|
if (!err) {
|
||||||
winston.info('[reset] Reset complete.');
|
winston.info('[reset] Reset complete.');
|
||||||
@@ -294,10 +297,17 @@ function reset() {
|
|||||||
process.exit();
|
process.exit();
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
winston.warn('[reset] Nothing reset.');
|
process.stdout.write('\nNodeBB Reset\n'.bold);
|
||||||
winston.info('Use ./nodebb reset {theme|plugins|widgets|settings|all}');
|
process.stdout.write('No arguments passed in, so nothing was reset.\n\n'.yellow);
|
||||||
winston.info(' or');
|
process.stdout.write('Use ./nodebb reset ' + '{-t|-p|-w|-s|-a}\n'.red);
|
||||||
winston.info('Use ./nodebb reset plugin="nodebb-plugin-pluginName"');
|
process.stdout.write(' -t\tthemes\n');
|
||||||
|
process.stdout.write(' -p\tplugins\n');
|
||||||
|
process.stdout.write(' -w\twidgets\n');
|
||||||
|
process.stdout.write(' -s\tsettings\n');
|
||||||
|
process.stdout.write(' -a\tall of the above\n');
|
||||||
|
|
||||||
|
process.stdout.write('\nPlugin reset flag (-p) can take a single argument\n');
|
||||||
|
process.stdout.write(' e.g. ./nodebb reset -p nodebb-plugin-mentions\n');
|
||||||
process.exit();
|
process.exit();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|||||||
88
nodebb
88
nodebb
@@ -3,7 +3,10 @@
|
|||||||
var colors = require('colors'),
|
var colors = require('colors'),
|
||||||
cproc = require('child_process'),
|
cproc = require('child_process'),
|
||||||
argv = require('minimist')(process.argv.slice(2)),
|
argv = require('minimist')(process.argv.slice(2)),
|
||||||
fs = require('fs');
|
fs = require('fs'),
|
||||||
|
async = require('async'),
|
||||||
|
touch = require('touch'),
|
||||||
|
npm = require('npm');
|
||||||
|
|
||||||
var getRunningPid = function(callback) {
|
var getRunningPid = function(callback) {
|
||||||
fs.readFile(__dirname + '/pidfile', {
|
fs.readFile(__dirname + '/pidfile', {
|
||||||
@@ -88,6 +91,65 @@ switch(process.argv[2]) {
|
|||||||
});
|
});
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case 'log':
|
||||||
|
process.stdout.write('\nType '.red + 'Ctrl-C '.bold + 'to exit\n\n'.red);
|
||||||
|
cproc.spawn('tail', ['-F', './logs/output.log'], {
|
||||||
|
cwd: __dirname,
|
||||||
|
stdio: 'inherit'
|
||||||
|
});
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 'setup':
|
||||||
|
cproc.fork('app.js', ['--setup'], {
|
||||||
|
cwd: __dirname,
|
||||||
|
silent: false
|
||||||
|
});
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 'reset':
|
||||||
|
var args = process.argv.slice(0);
|
||||||
|
args.unshift('--reset');
|
||||||
|
|
||||||
|
cproc.fork('app.js', args, {
|
||||||
|
cwd: __dirname,
|
||||||
|
silent: false
|
||||||
|
});
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 'upgrade':
|
||||||
|
async.series([
|
||||||
|
function(next) {
|
||||||
|
process.stdout.write('1. '.bold + 'Bringing base dependencies up to date\n'.yellow);
|
||||||
|
npm.load({
|
||||||
|
loglevel: 'silent'
|
||||||
|
}, function() {
|
||||||
|
npm.commands.install(next);
|
||||||
|
});
|
||||||
|
},
|
||||||
|
function(next) {
|
||||||
|
process.stdout.write('2. '.bold + 'Updating NodeBB data store schema\n'.yellow);
|
||||||
|
var upgradeProc = cproc.fork('app.js', ['--upgrade'], {
|
||||||
|
cwd: __dirname,
|
||||||
|
silent: false
|
||||||
|
});
|
||||||
|
|
||||||
|
upgradeProc.on('close', next)
|
||||||
|
},
|
||||||
|
function(next) {
|
||||||
|
process.stdout.write('3. '.bold + 'Storing upgrade date in "package.json"\n'.yellow);
|
||||||
|
touch(__dirname + '/package.json', {}, next);
|
||||||
|
}
|
||||||
|
], function(err) {
|
||||||
|
if (err) {
|
||||||
|
process.stdout.write('\nError'.red + ': ' + err.message + '\n');
|
||||||
|
} else {
|
||||||
|
var message = 'NodeBB Upgrade Complete!',
|
||||||
|
spaces = new Array(Math.floor(process.stdout.columns / 2) - (message.length / 2) + 1).join(' ');
|
||||||
|
process.stdout.write('\n' + spaces + message.green.bold + '\n\n');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
process.stdout.write('\nWelcome to NodeBB\n\n'.bold);
|
process.stdout.write('\nWelcome to NodeBB\n\n'.bold);
|
||||||
process.stdout.write('Usage: ./nodebb {start|stop|reload|restart|log|setup|reset|upgrade|dev}\n\n');
|
process.stdout.write('Usage: ./nodebb {start|stop|reload|restart|log|setup|reset|upgrade|dev}\n\n');
|
||||||
@@ -104,27 +166,3 @@ switch(process.argv[2]) {
|
|||||||
process.stdout.write('\n');
|
process.stdout.write('\n');
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
log)
|
|
||||||
clear;
|
|
||||||
tail -F ./logs/output.log;
|
|
||||||
;;
|
|
||||||
|
|
||||||
upgrade)
|
|
||||||
npm install
|
|
||||||
# ls -d node_modules/nodebb* | xargs -n1 basename | xargs npm install
|
|
||||||
# ls -d node_modules/nodebb* | xargs -n1 basename | xargs npm update
|
|
||||||
npm i nodebb-theme-vanilla nodebb-theme-lavender nodebb-widget-essentials
|
|
||||||
"$node" app --upgrade
|
|
||||||
touch package.json
|
|
||||||
;;
|
|
||||||
|
|
||||||
setup)
|
|
||||||
"$node" app --setup "$@"
|
|
||||||
;;
|
|
||||||
|
|
||||||
reset)
|
|
||||||
"$node" app --reset --$2
|
|
||||||
;;
|
|
||||||
*/
|
|
||||||
@@ -67,6 +67,7 @@
|
|||||||
"socketio-wildcard": "~0.1.1",
|
"socketio-wildcard": "~0.1.1",
|
||||||
"string": "^3.0.0",
|
"string": "^3.0.0",
|
||||||
"templates.js": "^0.2.3",
|
"templates.js": "^0.2.3",
|
||||||
|
"touch": "0.0.3",
|
||||||
"uglify-js": "git+https://github.com/julianlam/UglifyJS2.git",
|
"uglify-js": "git+https://github.com/julianlam/UglifyJS2.git",
|
||||||
"underscore": "~1.8.3",
|
"underscore": "~1.8.3",
|
||||||
"validator": "^3.30.0",
|
"validator": "^3.30.0",
|
||||||
|
|||||||
Reference in New Issue
Block a user