Scribe.js/dist/scribe.js

207 lines
6.3 KiB
JavaScript
Raw Normal View History

2016-01-22 19:16:53 -06:00
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.Transform = exports.Reader = exports.Writer = undefined;
2016-02-13 16:02:44 -06:00
var _stringify = require('babel-runtime/core-js/json/stringify');
var _stringify2 = _interopRequireDefault(_stringify);
2016-01-22 19:16:53 -06:00
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, _extend2.default)(true, {}, defaultOpts, opts);
2016-01-22 19:16:53 -06:00
var console = new _BasicConsole2.default(opts.name, id || opts.instanceId);
function appendTransforms(args) {
if (opts.mongo && opts.mongoUri && opts.socket && opts.socketPort) {
args.push(new _JSON2Converter2.default());
args.push(new _MongoDB2.default(opts.mongoUri, opts.debug));
args.push(new _SocketIO2.default(opts.socketPort, opts.debug));
} else if (opts.mongo && opts.mongoUri) {
args.push(new _JSON2Converter2.default());
args.push(new _MongoDB2.default(opts.mongoUri, opts.debug));
} else if (opts.socket && opts.socketPort) {
args.push(new _JSON2Converter2.default());
args.push(new _SocketIO2.default(opts.socketPort, opts.debug));
2016-01-22 19:16:53 -06:00
}
return args;
}
for (var _len = arguments.length, exposers = Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {
exposers[_key - 2] = arguments[_key];
}
console.exposed().concat(exposers).forEach(function (expose) {
console.expose(expose);
var args = appendTransforms([expose, 'mongo-socket', new _ErrorExtractor2.default()]);
console.pipe.apply(console, args);
2016-01-29 01:31:33 -06:00
console.pipe(expose, 'bash', new _Inspector2.default(opts.inspector), new _DefaultConsole2.default());
2016-01-22 19:16:53 -06:00
});
var args = appendTransforms(['express', 'mongo-socket', new _ErrorExtractor2.default(), new _ExpressExtractor2.default()]);
2016-01-22 19:16:53 -06:00
console.pipe.apply(console, args);
2016-01-22 19:16:53 -06:00
2016-01-29 01:31:33 -06:00
console.pipe('express', 'bash', new _ExpressExtractor2.default(), new _ExpressInspector2.default(), new _Inspector2.default(opts.inspector), new _DefaultConsole2.default());
2016-01-22 19:16:53 -06:00
console.viewer = _viewer.create.bind(null, opts.mongo && opts.mongoUri, opts.web.router, opts.web.client, opts.debug);
2016-01-22 19:16:53 -06:00
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, _extend2.default)(true, {
2016-01-22 19:16:53 -06:00
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 _JSON2Converter = require('./transforms/JSON2Converter');
var _JSON2Converter2 = _interopRequireDefault(_JSON2Converter);
2016-01-22 19:16:53 -06:00
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);
var _extend = require('extend');
var _extend2 = _interopRequireDefault(_extend);
2016-01-22 19:16:53 -06:00
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, JSON2Converter: _JSON2Converter2.default };
2016-01-22 19:16:53 -06:00
var defaultOpts = {
name: 'Scribe',
mongoUri: 'mongodb://localhost/scribe',
mongo: true,
2016-01-22 19:16:53 -06:00
basePath: 'scribe/',
socketPort: 4000,
socket: true,
2016-01-29 01:31:33 -06:00
inspector: {
colors: true,
showHidden: false,
depth: 5,
pre: true,
callsite: true,
tags: true,
args: true,
metrics: true
},
2016-01-22 19:16:53 -06:00
web: {
router: {
username: 'build',
password: 'build',
authentication: true,
sessionSecret: 'scribe-session',
useBodyParser: true,
useSession: true
},
client: {
socketPorts: [4000],
exposed: {
all: { label: 'all', query: { expose: { $exists: true } } }
2016-01-22 19:16:53 -06:00
}
}
},
//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'}}
2016-01-22 19:16:53 -06:00
nwjs: {},
debug: false
};
;