Scribe.js/dist/scribe.js

175 lines
5.5 KiB
JavaScript
Raw Normal View History

2016-01-22 19:16:53 -06:00
'use strict';
var _stringify = require('babel-runtime/core-js/json/stringify');
var _stringify2 = _interopRequireDefault(_stringify);
var _assign = require('babel-runtime/core-js/object/assign');
var _assign2 = _interopRequireDefault(_assign);
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.Transform = exports.Reader = exports.Writer = undefined;
exports.default = function () {
var id = arguments.length <= 0 || arguments[0] === undefined ? process.pid : arguments[0];
var opts = arguments.length <= 1 || arguments[1] === undefined ? (0, _rc2.default)('scribe', defaultOpts) : arguments[1];
opts = (0, _assign2.default)({}, defaultOpts, opts);
var console = new _BasicConsole2.default(opts.name, id || opts.instanceId);
console.exposed().forEach(function (expose) {
if (opts.mongoUri) {
console.pipe(expose, 'mongo-socket', new _ErrorExtractor2.default(), new _MongoDB2.default(opts.mongoUri, opts.debug), opts.socketPort ? new _SocketIO2.default(opts.socketPort, opts.debug) : null);
}
console.pipe(expose, 'bash', new _Inspector2.default(), new _DefaultConsole2.default());
});
if (opts.mongoUri) {
console.pipe('express', 'mongo-socket', new _ErrorExtractor2.default(), new _ExpressExtractor2.default(), new _MongoDB2.default(opts.mongoUri, opts.debug), opts.socketPort ? new _SocketIO2.default(opts.socketPort, opts.debug) : null);
}
console.pipe('express', 'bash', new _ExpressExtractor2.default(), new _ExpressInspector2.default(), new _Inspector2.default(), new _DefaultConsole2.default());
opts.web.client.socketUris = opts.web.client.socketPorts.map(function (port) {
return opts.publicUri + ':' + port;
});
console.viewer = _viewer.create.bind(null, opts.mongoUri, opts.web.router, opts.web.client, opts.debug);
console.build = function () {
// update
_package2.default.main = opts.publicUri + ':' + _path2.default.join(String(opts.web.client.port), opts.basePath);
// save
2016-01-22 19:25:52 -06:00
_fs2.default.writeFileSync(__dirname + '/../native/package.json', (0, _stringify2.default)(_package2.default, null, 4), { encoding: 'utf8' });
2016-01-22 19:16:53 -06:00
var nw = new _nwBuilder2.default((0, _assign2.default)({
platforms: ['win', 'osx', 'linux'],
2016-01-22 19:25:52 -06:00
buildDir: __dirname + '/../public/native',
2016-01-22 19:16:53 -06:00
version: '0.12.3',
zip: true
2016-01-22 19:25:52 -06:00
}, opts.nwjs, { files: __dirname + '/../native/**/**' }));
2016-01-22 19:16:53 -06:00
if (opts.debug) {
nw.on('log', function (d) {
return console.log(d);
});
}
return nw.build();
};
process.on('uncaughtException', function (e) {
return console.error(e).then(function () {
return process.exit(1);
});
});
return console;
};
var _fs = require('fs');
var _fs2 = _interopRequireDefault(_fs);
var _path = require('path');
var _path2 = _interopRequireDefault(_path);
var _Console = require('./readers/Console');
var _Console2 = _interopRequireDefault(_Console);
var _BasicConsole = require('./readers/BasicConsole');
var _BasicConsole2 = _interopRequireDefault(_BasicConsole);
var _Inspector = require('./transforms/Inspector');
var _Inspector2 = _interopRequireDefault(_Inspector);
var _ExpressInspector = require('./transforms/ExpressInspector');
var _ExpressInspector2 = _interopRequireDefault(_ExpressInspector);
var _ExpressExtractor = require('./transforms/ExpressExtractor');
var _ExpressExtractor2 = _interopRequireDefault(_ExpressExtractor);
var _ErrorExtractor = require('./transforms/ErrorExtractor');
var _ErrorExtractor2 = _interopRequireDefault(_ErrorExtractor);
var _MongoDB = require('./writers/MongoDB');
var _MongoDB2 = _interopRequireDefault(_MongoDB);
var _SocketIO = require('./writers/SocketIO');
var _SocketIO2 = _interopRequireDefault(_SocketIO);
var _DefaultConsole = require('./writers/DefaultConsole');
var _DefaultConsole2 = _interopRequireDefault(_DefaultConsole);
var _viewer = require('./routers/viewer');
var _nwBuilder = require('nw-builder');
var _nwBuilder2 = _interopRequireDefault(_nwBuilder);
var _rc = require('rc');
var _rc2 = _interopRequireDefault(_rc);
var _package = require('./../native/package.json');
var _package2 = _interopRequireDefault(_package);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var Writer = exports.Writer = { MongoDB: _MongoDB2.default, DefaultConsole: _DefaultConsole2.default };
var Reader = exports.Reader = { BasicConsole: _BasicConsole2.default, Console: _Console2.default };
var Transform = exports.Transform = { Inspector: _Inspector2.default, ExpressInspector: _ExpressInspector2.default, ExpressExtractor: _ExpressExtractor2.default, ErrorExtractor: _ErrorExtractor2.default };
var defaultOpts = {
name: 'Scribe',
mongoUri: 'mongodb://localhost/scribe',
publicUri: 'http://localhost',
basePath: 'scribe/',
socketPort: 4000,
web: {
router: {
username: 'build',
password: 'build',
authentication: true,
sessionSecret: 'scribe-session',
useBodyParser: true,
useSession: true
},
client: {
port: 4005,
socketPorts: [4000],
exposed: {
all: { label: 'all', query: { expose: { $exists: true } } },
error: { label: 'error', query: { expose: 'error' } },
express: { label: 'express', query: { expose: 'express' } },
info: { label: 'info', query: { expose: 'info' } },
log: { label: 'log', query: { expose: 'log' } },
warn: { label: 'warn', query: { expose: 'warn' } },
trace: { label: 'trace', query: { expose: 'trace' } }
}
}
},
nwjs: {},
debug: false
};
;