forked from mirrors/Scribe.js
Precompiling for es5 compatiblity
This commit is contained in:
parent
dc0ab0d320
commit
22e1c83dd4
47 changed files with 2097 additions and 105793 deletions
18
Gruntfile.js
18
Gruntfile.js
|
@ -49,6 +49,20 @@ module.exports = function (grunt) {
|
||||||
}]
|
}]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
babel: {
|
||||||
|
options: {
|
||||||
|
sourceMap: false
|
||||||
|
},
|
||||||
|
dist: {
|
||||||
|
files: [{
|
||||||
|
expand: true,
|
||||||
|
cwd: 'src/',
|
||||||
|
src: ['**/*.js','*.js'],
|
||||||
|
dest: 'dist/',
|
||||||
|
ext: '.js'
|
||||||
|
}]
|
||||||
|
}
|
||||||
|
},
|
||||||
browserify: {
|
browserify: {
|
||||||
dist: {
|
dist: {
|
||||||
options: {
|
options: {
|
||||||
|
@ -129,7 +143,7 @@ module.exports = function (grunt) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
clean: ["public/", "./package.noDevDeps.json"]
|
clean: ["public/", "./package.noDevDeps.json", "dist/"]
|
||||||
});
|
});
|
||||||
|
|
||||||
var lastNodeEnv;
|
var lastNodeEnv;
|
||||||
|
@ -166,5 +180,5 @@ module.exports = function (grunt) {
|
||||||
grunt.registerTask('default', 'build');
|
grunt.registerTask('default', 'build');
|
||||||
grunt.registerTask('auto-build-scripts', ['browserify:dev']);
|
grunt.registerTask('auto-build-scripts', ['browserify:dev']);
|
||||||
grunt.registerTask('auto-build-styles', ['sass:dev', 'watch:sass']);
|
grunt.registerTask('auto-build-styles', ['sass:dev', 'watch:sass']);
|
||||||
grunt.registerTask('production', ['env-force-production', 'clean', 'build', 'uglify:dist', 'env-restore']);
|
grunt.registerTask('production', ['env-force-production', 'clean', 'build', 'uglify:dist', 'babel', 'env-restore']);
|
||||||
};
|
};
|
|
@ -1,7 +1,7 @@
|
||||||
import Influx from 'react-influx'
|
import Influx from 'react-influx'
|
||||||
import keyMirror from 'keymirror'
|
import keyMirror from 'keymirror'
|
||||||
import Dispatcher from '../dispatchers/Dispatcher'
|
import Dispatcher from '../dispatchers/Dispatcher'
|
||||||
import * as JSON2 from '../../../libs/JSON2'
|
import * as JSON2 from '../../../src/libs/JSON2'
|
||||||
|
|
||||||
const Events = keyMirror({
|
const Events = keyMirror({
|
||||||
DATABASE_READY: null,
|
DATABASE_READY: null,
|
||||||
|
|
60
deps.json
60
deps.json
|
@ -49,6 +49,16 @@
|
||||||
"link": "https://github.com/babel/babel/tree/master/packages/babel-register",
|
"link": "https://github.com/babel/babel/tree/master/packages/babel-register",
|
||||||
"comment": "6.4.3"
|
"comment": "6.4.3"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"department": "kessler",
|
||||||
|
"relatedTo": "stuff",
|
||||||
|
"name": "babel-runtime",
|
||||||
|
"licensePeriod": "perpetual",
|
||||||
|
"material": "material",
|
||||||
|
"licenseType": "MIT",
|
||||||
|
"link": "https://github.com/babel/babel/tree/master/packages/babel-runtime",
|
||||||
|
"comment": "6.3.19"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"department": "kessler",
|
"department": "kessler",
|
||||||
"relatedTo": "stuff",
|
"relatedTo": "stuff",
|
||||||
|
@ -98,6 +108,16 @@
|
||||||
"link": "git+https://github.com/chalk/chalk.git",
|
"link": "git+https://github.com/chalk/chalk.git",
|
||||||
"comment": "1.1.1"
|
"comment": "1.1.1"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"department": "kessler",
|
||||||
|
"relatedTo": "stuff",
|
||||||
|
"name": "cssify",
|
||||||
|
"licensePeriod": "perpetual",
|
||||||
|
"material": "material",
|
||||||
|
"licenseType": "BSD",
|
||||||
|
"link": "git+https://github.com/davidguttman/cssify.git",
|
||||||
|
"comment": "1.0.2"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"department": "kessler",
|
"department": "kessler",
|
||||||
"relatedTo": "stuff",
|
"relatedTo": "stuff",
|
||||||
|
@ -105,8 +125,8 @@
|
||||||
"licensePeriod": "perpetual",
|
"licensePeriod": "perpetual",
|
||||||
"material": "material",
|
"material": "material",
|
||||||
"licenseType": "MIT",
|
"licenseType": "MIT",
|
||||||
"link": "https://github.com/strongloop/express",
|
"link": "https://github.com/expressjs/express",
|
||||||
"comment": "4.13.3"
|
"comment": "4.13.4"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"department": "kessler",
|
"department": "kessler",
|
||||||
|
@ -148,6 +168,16 @@
|
||||||
"link": "git://github.com/jadejs/jade.git",
|
"link": "git://github.com/jadejs/jade.git",
|
||||||
"comment": "1.11.0"
|
"comment": "1.11.0"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"department": "kessler",
|
||||||
|
"relatedTo": "stuff",
|
||||||
|
"name": "json-fn",
|
||||||
|
"licensePeriod": "perpetual",
|
||||||
|
"material": "material",
|
||||||
|
"licenseType": "MIT",
|
||||||
|
"link": "git://github.com/vkiryukhin/jsonfn.git",
|
||||||
|
"comment": "0.60.0"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"department": "kessler",
|
"department": "kessler",
|
||||||
"relatedTo": "stuff",
|
"relatedTo": "stuff",
|
||||||
|
@ -166,7 +196,7 @@
|
||||||
"material": "material",
|
"material": "material",
|
||||||
"licenseType": "LGPLv3",
|
"licenseType": "LGPLv3",
|
||||||
"link": "git+https://github.com/mWater/minimongo.git",
|
"link": "git+https://github.com/mWater/minimongo.git",
|
||||||
"comment": "3.6.0"
|
"comment": "3.6.1"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"department": "kessler",
|
"department": "kessler",
|
||||||
|
@ -196,7 +226,17 @@
|
||||||
"material": "material",
|
"material": "material",
|
||||||
"licenseType": "Artistic-2.0",
|
"licenseType": "Artistic-2.0",
|
||||||
"link": "git+https://github.com/npm/npm.git",
|
"link": "git+https://github.com/npm/npm.git",
|
||||||
"comment": "3.5.4"
|
"comment": "3.6.0"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"department": "kessler",
|
||||||
|
"relatedTo": "stuff",
|
||||||
|
"name": "nw-builder",
|
||||||
|
"licensePeriod": "perpetual",
|
||||||
|
"material": "material",
|
||||||
|
"licenseType": "MIT",
|
||||||
|
"link": "git://github.com/mllrsohn/nw-builder.git",
|
||||||
|
"comment": "2.2.0"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"department": "kessler",
|
"department": "kessler",
|
||||||
|
@ -208,6 +248,16 @@
|
||||||
"link": "https://github.com/jshttp/on-finished",
|
"link": "https://github.com/jshttp/on-finished",
|
||||||
"comment": "2.3.0"
|
"comment": "2.3.0"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"department": "kessler",
|
||||||
|
"relatedTo": "stuff",
|
||||||
|
"name": "rc",
|
||||||
|
"licensePeriod": "perpetual",
|
||||||
|
"material": "material",
|
||||||
|
"licenseType": "(BSD-2-Clause OR MIT OR Apache-2.0)",
|
||||||
|
"link": "git+https://github.com/dominictarr/rc.git",
|
||||||
|
"comment": "1.1.6"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"department": "kessler",
|
"department": "kessler",
|
||||||
"relatedTo": "stuff",
|
"relatedTo": "stuff",
|
||||||
|
@ -326,7 +376,7 @@
|
||||||
"material": "material",
|
"material": "material",
|
||||||
"licenseType": "MIT",
|
"licenseType": "MIT",
|
||||||
"link": "git://github.com/visionmedia/superagent.git",
|
"link": "git://github.com/visionmedia/superagent.git",
|
||||||
"comment": "1.7.0"
|
"comment": "1.7.1"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"department": "kessler",
|
"department": "kessler",
|
||||||
|
|
66
dist/libs/JSON2.js
vendored
Normal file
66
dist/libs/JSON2.js
vendored
Normal file
|
@ -0,0 +1,66 @@
|
||||||
|
'use strict';
|
||||||
|
|
||||||
|
var _stringify = require('babel-runtime/core-js/json/stringify');
|
||||||
|
|
||||||
|
var _stringify2 = _interopRequireDefault(_stringify);
|
||||||
|
|
||||||
|
var _promise = require('babel-runtime/core-js/promise');
|
||||||
|
|
||||||
|
var _promise2 = _interopRequireDefault(_promise);
|
||||||
|
|
||||||
|
Object.defineProperty(exports, "__esModule", {
|
||||||
|
value: true
|
||||||
|
});
|
||||||
|
exports.parse = parse;
|
||||||
|
exports.stringify = stringify;
|
||||||
|
|
||||||
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
||||||
|
|
||||||
|
function parse(str, reviver) {
|
||||||
|
return JSON.parse(str, function (k, v) {
|
||||||
|
var rv = undefined;
|
||||||
|
if (typeof v === 'string') {
|
||||||
|
if (/^Promise \{(.*?)}$/g.test(v)) {
|
||||||
|
return new _promise2.default(function (r, e) {
|
||||||
|
return 0;
|
||||||
|
});
|
||||||
|
} else if (/^function ([a-zA-Z0-9_\$]*?)\((.*?)\)\s?\{(.*?)}$/g.test(rv = v.replace(/\n/g, ''))) {
|
||||||
|
try {
|
||||||
|
var x = undefined;
|
||||||
|
eval('x = ' + v);
|
||||||
|
if (x) {
|
||||||
|
return x;
|
||||||
|
}
|
||||||
|
} catch (e) {
|
||||||
|
// ignore
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
if ((rv = new RegExp(v)).toString() === v) {
|
||||||
|
return rv;
|
||||||
|
}
|
||||||
|
} catch (e) {
|
||||||
|
// ignore
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return v;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function stringify(obj, replacer, spaces) {
|
||||||
|
return (0, _stringify2.default)(obj, function (k, v) {
|
||||||
|
if (typeof v !== 'undefined' && v !== null) {
|
||||||
|
if (typeof v.then === 'function') {
|
||||||
|
return 'Promise { <pending> }';
|
||||||
|
} else if (typeof v === 'function') {
|
||||||
|
return v.toString().replace(/\[native code]/gm, '[native]');
|
||||||
|
} else if (v instanceof RegExp) {
|
||||||
|
return v.toString();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return v;
|
||||||
|
}, spaces);
|
||||||
|
}
|
70
dist/libs/MultiValueMap.js
vendored
Normal file
70
dist/libs/MultiValueMap.js
vendored
Normal file
|
@ -0,0 +1,70 @@
|
||||||
|
"use strict";
|
||||||
|
|
||||||
|
var _map = require("babel-runtime/core-js/map");
|
||||||
|
|
||||||
|
var _map2 = _interopRequireDefault(_map);
|
||||||
|
|
||||||
|
var _classCallCheck2 = require("babel-runtime/helpers/classCallCheck");
|
||||||
|
|
||||||
|
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
|
||||||
|
|
||||||
|
var _createClass2 = require("babel-runtime/helpers/createClass");
|
||||||
|
|
||||||
|
var _createClass3 = _interopRequireDefault(_createClass2);
|
||||||
|
|
||||||
|
Object.defineProperty(exports, "__esModule", {
|
||||||
|
value: true
|
||||||
|
});
|
||||||
|
|
||||||
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
||||||
|
|
||||||
|
var _class = function () {
|
||||||
|
function _class() {
|
||||||
|
(0, _classCallCheck3.default)(this, _class);
|
||||||
|
|
||||||
|
this._map = new _map2.default();
|
||||||
|
}
|
||||||
|
|
||||||
|
(0, _createClass3.default)(_class, [{
|
||||||
|
key: "get",
|
||||||
|
value: function get(key) {
|
||||||
|
if (!this._map.has(key)) {
|
||||||
|
this._map.set(key, []);
|
||||||
|
}
|
||||||
|
|
||||||
|
return this._map.get(key);
|
||||||
|
}
|
||||||
|
}, {
|
||||||
|
key: "has",
|
||||||
|
value: function has(key) {
|
||||||
|
return Array.isArray(this._map.get(key));
|
||||||
|
}
|
||||||
|
}, {
|
||||||
|
key: "set",
|
||||||
|
value: function set(key) {
|
||||||
|
var data = this.get(key);
|
||||||
|
|
||||||
|
for (var _len = arguments.length, values = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
|
||||||
|
values[_key - 1] = arguments[_key];
|
||||||
|
}
|
||||||
|
|
||||||
|
this._map.set(key, data.concat.apply(data, values));
|
||||||
|
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
}, {
|
||||||
|
key: "remove",
|
||||||
|
value: function remove(key) {
|
||||||
|
this._map.set(key, []);
|
||||||
|
}
|
||||||
|
}, {
|
||||||
|
key: "move",
|
||||||
|
value: function move(old, key) {
|
||||||
|
this._map.set(key, this._map.get(old));
|
||||||
|
this._map.remove(old);
|
||||||
|
}
|
||||||
|
}]);
|
||||||
|
return _class;
|
||||||
|
}();
|
||||||
|
|
||||||
|
exports.default = _class;
|
493
dist/libs/inspect.js
vendored
Normal file
493
dist/libs/inspect.js
vendored
Normal file
|
@ -0,0 +1,493 @@
|
||||||
|
'use strict';
|
||||||
|
|
||||||
|
var _getOwnPropertyDescriptor = require('babel-runtime/core-js/object/get-own-property-descriptor');
|
||||||
|
|
||||||
|
var _getOwnPropertyDescriptor2 = _interopRequireDefault(_getOwnPropertyDescriptor);
|
||||||
|
|
||||||
|
var _toConsumableArray2 = require('babel-runtime/helpers/toConsumableArray');
|
||||||
|
|
||||||
|
var _toConsumableArray3 = _interopRequireDefault(_toConsumableArray2);
|
||||||
|
|
||||||
|
var _stringify = require('babel-runtime/core-js/json/stringify');
|
||||||
|
|
||||||
|
var _stringify2 = _interopRequireDefault(_stringify);
|
||||||
|
|
||||||
|
var _getOwnPropertyNames = require('babel-runtime/core-js/object/get-own-property-names');
|
||||||
|
|
||||||
|
var _getOwnPropertyNames2 = _interopRequireDefault(_getOwnPropertyNames);
|
||||||
|
|
||||||
|
var _keys = require('babel-runtime/core-js/object/keys');
|
||||||
|
|
||||||
|
var _keys2 = _interopRequireDefault(_keys);
|
||||||
|
|
||||||
|
var _weakMap = require('babel-runtime/core-js/weak-map');
|
||||||
|
|
||||||
|
var _weakMap2 = _interopRequireDefault(_weakMap);
|
||||||
|
|
||||||
|
var _set = require('babel-runtime/core-js/set');
|
||||||
|
|
||||||
|
var _set2 = _interopRequireDefault(_set);
|
||||||
|
|
||||||
|
var _map = require('babel-runtime/core-js/map');
|
||||||
|
|
||||||
|
var _map2 = _interopRequireDefault(_map);
|
||||||
|
|
||||||
|
var _promise = require('babel-runtime/core-js/promise');
|
||||||
|
|
||||||
|
var _promise2 = _interopRequireDefault(_promise);
|
||||||
|
|
||||||
|
var _typeof2 = require('babel-runtime/helpers/typeof');
|
||||||
|
|
||||||
|
var _typeof3 = _interopRequireDefault(_typeof2);
|
||||||
|
|
||||||
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Module dependencies.
|
||||||
|
*/
|
||||||
|
|
||||||
|
var fe = require('format-error').format;
|
||||||
|
var strip = require('strip-ansi');
|
||||||
|
|
||||||
|
function formatError(ctx, value) {
|
||||||
|
return fe(value).split('\n').map(function (m) {
|
||||||
|
m = strip(m);
|
||||||
|
if (m.indexOf('Error: ') > -1) {
|
||||||
|
return ctx.stylize(m, 'error');
|
||||||
|
}
|
||||||
|
return ctx.stylize(m, 'stack');
|
||||||
|
}).join('\n');
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Module exports.
|
||||||
|
*/
|
||||||
|
|
||||||
|
module.exports = inspect;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Echos the value of a value. Trys to print the value out
|
||||||
|
* in the best way possible given the different types.
|
||||||
|
*
|
||||||
|
* @param {Object} obj The object to print out.
|
||||||
|
* @param {Object} opts Optional options object that alters the output.
|
||||||
|
* @license MIT (© Joyent)
|
||||||
|
*/
|
||||||
|
/* legacy: obj, showHidden, depth, colors*/
|
||||||
|
|
||||||
|
function inspect(obj, opts) {
|
||||||
|
// default options
|
||||||
|
var ctx = {
|
||||||
|
seen: [],
|
||||||
|
stylize: stylizeNoColor
|
||||||
|
};
|
||||||
|
// legacy...
|
||||||
|
if (arguments.length >= 3) ctx.depth = arguments[2];
|
||||||
|
if (arguments.length >= 4) ctx.colors = arguments[3];
|
||||||
|
if (isBoolean(opts)) {
|
||||||
|
// legacy...
|
||||||
|
ctx.showHidden = opts;
|
||||||
|
} else if (opts) {
|
||||||
|
// got an "options" object
|
||||||
|
_extend(ctx, opts);
|
||||||
|
}
|
||||||
|
// set default options
|
||||||
|
if (isUndefined(ctx.showHidden)) ctx.showHidden = false;
|
||||||
|
if (isUndefined(ctx.depth)) ctx.depth = 2;
|
||||||
|
if (isUndefined(ctx.colors)) ctx.colors = false;
|
||||||
|
if (isUndefined(ctx.customInspect)) ctx.customInspect = true;
|
||||||
|
if (ctx.colors) ctx.stylize = stylizeWithColor;
|
||||||
|
return formatValue(ctx, obj, ctx.depth);
|
||||||
|
}
|
||||||
|
|
||||||
|
// http://en.wikipedia.org/wiki/ANSI_escape_code#graphics
|
||||||
|
inspect.colors = {
|
||||||
|
'bold': [1, 22],
|
||||||
|
'italic': [3, 23],
|
||||||
|
'underline': [4, 24],
|
||||||
|
'inverse': [7, 27],
|
||||||
|
'white': [37, 39],
|
||||||
|
'grey': [90, 39],
|
||||||
|
'black': [30, 39],
|
||||||
|
'blue': [34, 39],
|
||||||
|
'cyan': [36, 39],
|
||||||
|
'green': [32, 39],
|
||||||
|
'magenta': [35, 39],
|
||||||
|
'red': [31, 39],
|
||||||
|
'yellow': [33, 39]
|
||||||
|
};
|
||||||
|
|
||||||
|
// Don't use 'blue' not visible on cmd.exe
|
||||||
|
inspect.styles = {
|
||||||
|
'special': 'cyan',
|
||||||
|
'number': 'yellow',
|
||||||
|
'boolean': 'yellow',
|
||||||
|
'undefined': 'grey',
|
||||||
|
'null': 'bold',
|
||||||
|
'string': 'green',
|
||||||
|
'date': 'magenta',
|
||||||
|
'error': ['bold', 'red'],
|
||||||
|
'stack': 'red',
|
||||||
|
// 'name': 'cyan',
|
||||||
|
'regexp': 'red',
|
||||||
|
'promise': 'green',
|
||||||
|
'map': 'cyan',
|
||||||
|
'set': 'cyan',
|
||||||
|
'weakmap': 'cyan',
|
||||||
|
'weakset': 'cyan'
|
||||||
|
};
|
||||||
|
|
||||||
|
function stylizeNoColor(str, styleType) {
|
||||||
|
return str;
|
||||||
|
}
|
||||||
|
|
||||||
|
function isBoolean(arg) {
|
||||||
|
return typeof arg === 'boolean';
|
||||||
|
}
|
||||||
|
|
||||||
|
function isUndefined(arg) {
|
||||||
|
return arg === void 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
function stylizeWithColor(str, styleType) {
|
||||||
|
var style = inspect.styles[styleType];
|
||||||
|
|
||||||
|
if (Array.isArray(style)) {
|
||||||
|
for (var i = 0; i < style.length; i++) {
|
||||||
|
str = '\u001b[' + inspect.colors[style[i]][0] + 'm' + str + '\u001b[' + inspect.colors[style[i]][1] + 'm';
|
||||||
|
}
|
||||||
|
|
||||||
|
return str;
|
||||||
|
} else if (style) {
|
||||||
|
return '\u001b[' + inspect.colors[style][0] + 'm' + str + '\u001b[' + inspect.colors[style][1] + 'm';
|
||||||
|
} else {
|
||||||
|
return str;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function isFunction(arg) {
|
||||||
|
return typeof arg === 'function';
|
||||||
|
}
|
||||||
|
|
||||||
|
function isString(arg) {
|
||||||
|
return typeof arg === 'string';
|
||||||
|
}
|
||||||
|
|
||||||
|
function isNumber(arg) {
|
||||||
|
return typeof arg === 'number';
|
||||||
|
}
|
||||||
|
|
||||||
|
function isNull(arg) {
|
||||||
|
return arg === null;
|
||||||
|
}
|
||||||
|
|
||||||
|
function hasOwn(obj, prop) {
|
||||||
|
return Object.prototype.hasOwnProperty.call(obj, prop);
|
||||||
|
}
|
||||||
|
|
||||||
|
function isRegExp(re) {
|
||||||
|
return isObject(re) && objectToString(re) === '[object RegExp]';
|
||||||
|
}
|
||||||
|
|
||||||
|
function isObject(arg) {
|
||||||
|
return (typeof arg === 'undefined' ? 'undefined' : (0, _typeof3.default)(arg)) === 'object' && arg !== null;
|
||||||
|
}
|
||||||
|
|
||||||
|
function isError(e) {
|
||||||
|
return isObject(e) && (objectToString(e) === '[object Error]' || e instanceof Error);
|
||||||
|
}
|
||||||
|
|
||||||
|
function isDate(d) {
|
||||||
|
return isObject(d) && objectToString(d) === '[object Date]';
|
||||||
|
}
|
||||||
|
|
||||||
|
function objectToString(o) {
|
||||||
|
return Object.prototype.toString.call(o);
|
||||||
|
}
|
||||||
|
|
||||||
|
function isPromise(p) {
|
||||||
|
return p instanceof _promise2.default;
|
||||||
|
}
|
||||||
|
|
||||||
|
function isMap(m) {
|
||||||
|
return m instanceof _map2.default;
|
||||||
|
}
|
||||||
|
|
||||||
|
function isSet(m) {
|
||||||
|
return m instanceof _set2.default;
|
||||||
|
}
|
||||||
|
|
||||||
|
function isWeakMap(m) {
|
||||||
|
return m instanceof _weakMap2.default;
|
||||||
|
}
|
||||||
|
|
||||||
|
function isWeakSet(m) {
|
||||||
|
return m instanceof isWeakSet;
|
||||||
|
}
|
||||||
|
|
||||||
|
function arrayToHash(array) {
|
||||||
|
var hash = {};
|
||||||
|
|
||||||
|
array.forEach(function (val, idx) {
|
||||||
|
hash[val] = true;
|
||||||
|
});
|
||||||
|
|
||||||
|
return hash;
|
||||||
|
}
|
||||||
|
|
||||||
|
function formatArray(ctx, value, recurseTimes, visibleKeys, keys) {
|
||||||
|
var output = [];
|
||||||
|
for (var i = 0, l = value.length; i < l; ++i) {
|
||||||
|
if (hasOwn(value, String(i))) {
|
||||||
|
output.push(formatProperty(ctx, value, recurseTimes, visibleKeys, String(i), true));
|
||||||
|
} else {
|
||||||
|
output.push('');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
keys.forEach(function (key) {
|
||||||
|
if (!key.match(/^\d+$/)) {
|
||||||
|
output.push(formatProperty(ctx, value, recurseTimes, visibleKeys, key, true));
|
||||||
|
}
|
||||||
|
});
|
||||||
|
return output;
|
||||||
|
}
|
||||||
|
|
||||||
|
function formatValue(ctx, value, recurseTimes) {
|
||||||
|
// Provide a hook for user-specified inspect functions.
|
||||||
|
// Check that value is an object with an inspect function on it
|
||||||
|
if (ctx.customInspect && value && isFunction(value.inspect) &&
|
||||||
|
// Filter out the util module, it's inspect function is special
|
||||||
|
value.inspect !== inspect &&
|
||||||
|
// Also filter out any prototype objects using the circular check.
|
||||||
|
!(value.constructor && value.constructor.prototype === value)) {
|
||||||
|
var ret = value.inspect(recurseTimes, ctx);
|
||||||
|
if (!isString(ret)) {
|
||||||
|
ret = formatValue(ctx, ret, recurseTimes);
|
||||||
|
}
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Primitive types cannot have properties
|
||||||
|
var primitive = formatPrimitive(ctx, value);
|
||||||
|
if (primitive) {
|
||||||
|
return primitive;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Look up the keys of the object.
|
||||||
|
var keys = (0, _keys2.default)(value);
|
||||||
|
var visibleKeys = arrayToHash(keys);
|
||||||
|
|
||||||
|
try {
|
||||||
|
if (ctx.showHidden && _getOwnPropertyNames2.default) {
|
||||||
|
keys = (0, _getOwnPropertyNames2.default)(value);
|
||||||
|
}
|
||||||
|
} catch (e) {}
|
||||||
|
// ignore
|
||||||
|
|
||||||
|
// IE doesn't make error fields non-enumerable
|
||||||
|
// http://msdn.microsoft.com/en-us/library/ie/dww52sbt(v=vs.94).aspx
|
||||||
|
if (isError(value) && (keys.indexOf('message') >= 0 || keys.indexOf('description') >= 0)) {
|
||||||
|
return formatError(ctx, value);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Some type of object without properties can be shortcutted.
|
||||||
|
if (keys.length === 0) {
|
||||||
|
if (isPromise(value)) {
|
||||||
|
return ctx.stylize('[Promise]', 'promise');
|
||||||
|
}
|
||||||
|
if (isWeakSet(value)) {
|
||||||
|
return ctx.stylize('[WeakSet] ', 'weakset') + inspect(JSON.parse((0, _stringify2.default)([].concat((0, _toConsumableArray3.default)(value)))), ctx);
|
||||||
|
}
|
||||||
|
if (isWeakMap(value)) {
|
||||||
|
return ctx.stylize('[WeakMap] ', 'weakmap') + inspect(JSON.parse((0, _stringify2.default)([].concat((0, _toConsumableArray3.default)(value)))), ctx);
|
||||||
|
}
|
||||||
|
if (isMap(value)) {
|
||||||
|
return ctx.stylize('[Map] ', 'map') + inspect(JSON.parse((0, _stringify2.default)([].concat((0, _toConsumableArray3.default)(value)))), ctx);
|
||||||
|
}
|
||||||
|
if (isSet(value)) {
|
||||||
|
return ctx.stylize('[Set] ', 'set') + inspect(JSON.parse((0, _stringify2.default)([].concat((0, _toConsumableArray3.default)(value)))), ctx);
|
||||||
|
}
|
||||||
|
if (isFunction(value)) {
|
||||||
|
var name = value.name ? ': ' + value.name : '';
|
||||||
|
return ctx.stylize('[Function' + name + ']', 'special');
|
||||||
|
}
|
||||||
|
if (isRegExp(value)) {
|
||||||
|
return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');
|
||||||
|
}
|
||||||
|
if (isDate(value)) {
|
||||||
|
return ctx.stylize(Date.prototype.toString.call(value), 'date');
|
||||||
|
}
|
||||||
|
if (isError(value)) {
|
||||||
|
return formatError(ctx, value);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
var base = '',
|
||||||
|
array = false,
|
||||||
|
braces = ['{', '}'];
|
||||||
|
|
||||||
|
// Make Array say that they are Array
|
||||||
|
if (Array.isArray(value)) {
|
||||||
|
array = true;
|
||||||
|
braces = ['[', ']'];
|
||||||
|
}
|
||||||
|
|
||||||
|
// Make functions say that they are functions
|
||||||
|
if (isFunction(value)) {
|
||||||
|
var n = value.name ? ': ' + value.name : '';
|
||||||
|
base = ' [Function' + n + ']';
|
||||||
|
}
|
||||||
|
|
||||||
|
// Make RegExps say that they are RegExps
|
||||||
|
if (isRegExp(value)) {
|
||||||
|
base = ' ' + RegExp.prototype.toString.call(value);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Make dates with properties first say the date
|
||||||
|
if (isDate(value)) {
|
||||||
|
base = ' ' + Date.prototype.toUTCString.call(value);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Make error with message first say the error
|
||||||
|
if (isError(value)) {
|
||||||
|
base = ' ' + formatError(ctx, value);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (keys.length === 0 && (!array || value.length == 0)) {
|
||||||
|
return braces[0] + base + braces[1];
|
||||||
|
}
|
||||||
|
|
||||||
|
if (recurseTimes < 0) {
|
||||||
|
if (isRegExp(value)) {
|
||||||
|
return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');
|
||||||
|
} else {
|
||||||
|
return ctx.stylize('[Object]', 'special');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
ctx.seen.push(value);
|
||||||
|
|
||||||
|
var output;
|
||||||
|
if (array) {
|
||||||
|
output = formatArray(ctx, value, recurseTimes, visibleKeys, keys);
|
||||||
|
} else {
|
||||||
|
output = keys.map(function (key) {
|
||||||
|
return formatProperty(ctx, value, recurseTimes, visibleKeys, key, array);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
ctx.seen.pop();
|
||||||
|
|
||||||
|
return reduceToSingleString(output, base, braces);
|
||||||
|
}
|
||||||
|
|
||||||
|
function formatProperty(ctx, value, recurseTimes, visibleKeys, key, array) {
|
||||||
|
var name, str, desc;
|
||||||
|
desc = { value: void 0 };
|
||||||
|
try {
|
||||||
|
// ie6 › navigator.toString
|
||||||
|
// throws Error: Object doesn't support this property or method
|
||||||
|
desc.value = value[key];
|
||||||
|
} catch (e) {
|
||||||
|
// ignore
|
||||||
|
}
|
||||||
|
try {
|
||||||
|
// ie10 › Object.getOwnPropertyDescriptor(window.location, 'hash')
|
||||||
|
// throws TypeError: Object doesn't support this action
|
||||||
|
if (_getOwnPropertyDescriptor2.default) {
|
||||||
|
desc = (0, _getOwnPropertyDescriptor2.default)(value, key) || desc;
|
||||||
|
}
|
||||||
|
} catch (e) {
|
||||||
|
// ignore
|
||||||
|
}
|
||||||
|
if (desc.get) {
|
||||||
|
if (desc.set) {
|
||||||
|
str = ctx.stylize('[Getter/Setter]', 'special');
|
||||||
|
} else {
|
||||||
|
str = ctx.stylize('[Getter]', 'special');
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if (desc.set) {
|
||||||
|
str = ctx.stylize('[Setter]', 'special');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (!hasOwn(visibleKeys, key)) {
|
||||||
|
name = '[' + key + ']';
|
||||||
|
}
|
||||||
|
if (!str) {
|
||||||
|
if (ctx.seen.indexOf(desc.value) < 0) {
|
||||||
|
if (isNull(recurseTimes)) {
|
||||||
|
str = formatValue(ctx, desc.value, null);
|
||||||
|
} else {
|
||||||
|
str = formatValue(ctx, desc.value, recurseTimes - 1);
|
||||||
|
}
|
||||||
|
if (str.indexOf('\n') > -1) {
|
||||||
|
if (array) {
|
||||||
|
str = str.split('\n').map(function (line) {
|
||||||
|
return ' ' + line;
|
||||||
|
}).join('\n').substr(2);
|
||||||
|
} else {
|
||||||
|
str = '\n' + str.split('\n').map(function (line) {
|
||||||
|
return ' ' + line;
|
||||||
|
}).join('\n');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
str = ctx.stylize('[Circular]', 'special');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (isUndefined(name)) {
|
||||||
|
if (array && key.match(/^\d+$/)) {
|
||||||
|
return str;
|
||||||
|
}
|
||||||
|
name = (0, _stringify2.default)('' + key);
|
||||||
|
if (name.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)) {
|
||||||
|
name = name.substr(1, name.length - 2);
|
||||||
|
name = ctx.stylize(name, 'name');
|
||||||
|
} else {
|
||||||
|
name = name.replace(/'/g, "\\'").replace(/\\"/g, '"').replace(/(^"|"$)/g, "'");
|
||||||
|
name = ctx.stylize(name, 'string');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return name + ': ' + str;
|
||||||
|
}
|
||||||
|
|
||||||
|
function formatPrimitive(ctx, value) {
|
||||||
|
if (isUndefined(value)) return ctx.stylize('undefined', 'undefined');
|
||||||
|
if (isString(value)) {
|
||||||
|
var simple = '\'' + (0, _stringify2.default)(value).replace(/^"|"$/g, '').replace(/'/g, "\\'").replace(/\\"/g, '"') + '\'';
|
||||||
|
return ctx.stylize(simple, 'string');
|
||||||
|
}
|
||||||
|
if (isNumber(value)) return ctx.stylize('' + value, 'number');
|
||||||
|
if (isBoolean(value)) return ctx.stylize('' + value, 'boolean');
|
||||||
|
// For some reason typeof null is "object", so special case here.
|
||||||
|
if (isNull(value)) return ctx.stylize('null', 'null');
|
||||||
|
}
|
||||||
|
|
||||||
|
function reduceToSingleString(output, base, braces) {
|
||||||
|
var numLinesEst = 0;
|
||||||
|
var length = output.reduce(function (prev, cur) {
|
||||||
|
numLinesEst++;
|
||||||
|
if (cur.indexOf('\n') >= 0) numLinesEst++;
|
||||||
|
return prev + cur.replace(/\u001b\[\d\d?m/g, '').length + 1;
|
||||||
|
}, 0);
|
||||||
|
|
||||||
|
if (length > 60) {
|
||||||
|
return braces[0] + (base === '' ? '' : base + '\n ') + ' ' + output.join(',\n ') + ' ' + braces[1];
|
||||||
|
}
|
||||||
|
|
||||||
|
return braces[0] + base + ' ' + output.join(', ') + ' ' + braces[1];
|
||||||
|
}
|
||||||
|
|
||||||
|
function _extend(origin, add) {
|
||||||
|
// Don't do anything if add isn't an object
|
||||||
|
if (!add || !isObject(add)) return origin;
|
||||||
|
|
||||||
|
var keys = (0, _keys2.default)(add);
|
||||||
|
var i = keys.length;
|
||||||
|
while (i--) {
|
||||||
|
origin[keys[i]] = add[keys[i]];
|
||||||
|
}
|
||||||
|
return origin;
|
||||||
|
}
|
190
dist/readers/BasicConsole.js
vendored
Normal file
190
dist/readers/BasicConsole.js
vendored
Normal file
|
@ -0,0 +1,190 @@
|
||||||
|
'use strict';
|
||||||
|
|
||||||
|
var _assign = require('babel-runtime/core-js/object/assign');
|
||||||
|
|
||||||
|
var _assign2 = _interopRequireDefault(_assign);
|
||||||
|
|
||||||
|
var _getIterator2 = require('babel-runtime/core-js/get-iterator');
|
||||||
|
|
||||||
|
var _getIterator3 = _interopRequireDefault(_getIterator2);
|
||||||
|
|
||||||
|
var _map = require('babel-runtime/core-js/map');
|
||||||
|
|
||||||
|
var _map2 = _interopRequireDefault(_map);
|
||||||
|
|
||||||
|
var _getPrototypeOf = require('babel-runtime/core-js/object/get-prototype-of');
|
||||||
|
|
||||||
|
var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
|
||||||
|
|
||||||
|
var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');
|
||||||
|
|
||||||
|
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
|
||||||
|
|
||||||
|
var _createClass2 = require('babel-runtime/helpers/createClass');
|
||||||
|
|
||||||
|
var _createClass3 = _interopRequireDefault(_createClass2);
|
||||||
|
|
||||||
|
var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn');
|
||||||
|
|
||||||
|
var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
|
||||||
|
|
||||||
|
var _inherits2 = require('babel-runtime/helpers/inherits');
|
||||||
|
|
||||||
|
var _inherits3 = _interopRequireDefault(_inherits2);
|
||||||
|
|
||||||
|
Object.defineProperty(exports, "__esModule", {
|
||||||
|
value: true
|
||||||
|
});
|
||||||
|
|
||||||
|
var _Console2 = require('./Console');
|
||||||
|
|
||||||
|
var _Console3 = _interopRequireDefault(_Console2);
|
||||||
|
|
||||||
|
var _callsite = require('callsite');
|
||||||
|
|
||||||
|
var _callsite2 = _interopRequireDefault(_callsite);
|
||||||
|
|
||||||
|
var _onFinished = require('on-finished');
|
||||||
|
|
||||||
|
var _onFinished2 = _interopRequireDefault(_onFinished);
|
||||||
|
|
||||||
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
||||||
|
|
||||||
|
function _time() {
|
||||||
|
if (typeof process !== 'undefined' && typeof process.hrtime === 'function') {
|
||||||
|
var duration = process.hrtime();
|
||||||
|
return duration[0] * 1000 + duration[1] / 1e6;
|
||||||
|
}
|
||||||
|
|
||||||
|
return Date.now();
|
||||||
|
}
|
||||||
|
|
||||||
|
var _class = function (_Console) {
|
||||||
|
(0, _inherits3.default)(_class, _Console);
|
||||||
|
|
||||||
|
function _class(app, id) {
|
||||||
|
(0, _classCallCheck3.default)(this, _class);
|
||||||
|
|
||||||
|
var _this = (0, _possibleConstructorReturn3.default)(this, (0, _getPrototypeOf2.default)(_class).call(this, app, id));
|
||||||
|
|
||||||
|
_this._times = new _map2.default();
|
||||||
|
|
||||||
|
// open loggers
|
||||||
|
|
||||||
|
_this.expose('trace');
|
||||||
|
_this.expose('log');
|
||||||
|
_this.expose('warn');
|
||||||
|
_this.expose('error');
|
||||||
|
_this.expose('info');
|
||||||
|
_this.expose('timing');
|
||||||
|
return _this;
|
||||||
|
}
|
||||||
|
|
||||||
|
(0, _createClass3.default)(_class, [{
|
||||||
|
key: 'date',
|
||||||
|
value: function date() {
|
||||||
|
this.transient('date', new Date());
|
||||||
|
}
|
||||||
|
}, {
|
||||||
|
key: 'time',
|
||||||
|
value: function time(label) {
|
||||||
|
this._times.set(label, _time());
|
||||||
|
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
}, {
|
||||||
|
key: 'middleware',
|
||||||
|
value: function middleware() {
|
||||||
|
var _this2 = this;
|
||||||
|
|
||||||
|
var expose = arguments.length <= 0 || arguments[0] === undefined ? 'express' : arguments[0];
|
||||||
|
var ignore = arguments.length <= 1 || arguments[1] === undefined ? [/(scribe)/g] : arguments[1];
|
||||||
|
|
||||||
|
this.expose(expose);
|
||||||
|
|
||||||
|
ignore = Array.isArray(ignore) ? ignore : [ignore];
|
||||||
|
|
||||||
|
return function (req, res, next) {
|
||||||
|
var start = _time();
|
||||||
|
(0, _onFinished2.default)(res, function () {
|
||||||
|
var originalUrl = req.originalUrl;
|
||||||
|
var _iteratorNormalCompletion = true;
|
||||||
|
var _didIteratorError = false;
|
||||||
|
var _iteratorError = undefined;
|
||||||
|
|
||||||
|
try {
|
||||||
|
for (var _iterator = (0, _getIterator3.default)(ignore), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
|
||||||
|
var k = _step.value;
|
||||||
|
|
||||||
|
if (new RegExp(k).test(originalUrl)) return;
|
||||||
|
}
|
||||||
|
} catch (err) {
|
||||||
|
_didIteratorError = true;
|
||||||
|
_iteratorError = err;
|
||||||
|
} finally {
|
||||||
|
try {
|
||||||
|
if (!_iteratorNormalCompletion && _iterator.return) {
|
||||||
|
_iterator.return();
|
||||||
|
}
|
||||||
|
} finally {
|
||||||
|
if (_didIteratorError) {
|
||||||
|
throw _iteratorError;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
_this2[expose]({ req: req, res: res, duration: _time() - start });
|
||||||
|
});
|
||||||
|
next();
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}, {
|
||||||
|
key: 'tag',
|
||||||
|
value: function tag() {
|
||||||
|
for (var _len = arguments.length, tags = Array(_len), _key = 0; _key < _len; _key++) {
|
||||||
|
tags[_key] = arguments[_key];
|
||||||
|
}
|
||||||
|
|
||||||
|
this.transient('tags', tags);
|
||||||
|
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
}, {
|
||||||
|
key: 'metric',
|
||||||
|
value: function metric() {
|
||||||
|
var map = {};
|
||||||
|
for (var i = 1; i < arguments.length; i += 2) {
|
||||||
|
map[arguments.length <= i - 1 + 0 ? undefined : arguments[i - 1 + 0]] = arguments.length <= i + 0 ? undefined : arguments[i + 0];
|
||||||
|
}
|
||||||
|
|
||||||
|
this.transient('metrics', (0, _assign2.default)(this.transient('metrics') || {}, map));
|
||||||
|
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
}, {
|
||||||
|
key: 'trace',
|
||||||
|
value: function trace(text) {
|
||||||
|
this.transient('callsite', this.callSite(4));
|
||||||
|
return this.out('trace', new Error(text));
|
||||||
|
}
|
||||||
|
}, {
|
||||||
|
key: 'timeEnd',
|
||||||
|
value: function timeEnd(label) {
|
||||||
|
var start = this._times.get(label);
|
||||||
|
if (!start) {
|
||||||
|
throw new Error('No such label: ' + label);
|
||||||
|
}
|
||||||
|
|
||||||
|
this._times.delete(label);
|
||||||
|
|
||||||
|
this.transient('callsite', this.callSite(5));
|
||||||
|
|
||||||
|
var duration = _time() - start;
|
||||||
|
|
||||||
|
return this.metric(label, duration).timing('');
|
||||||
|
}
|
||||||
|
}]);
|
||||||
|
return _class;
|
||||||
|
}(_Console3.default);
|
||||||
|
|
||||||
|
exports.default = _class;
|
223
dist/readers/Console.js
vendored
Normal file
223
dist/readers/Console.js
vendored
Normal file
|
@ -0,0 +1,223 @@
|
||||||
|
'use strict';
|
||||||
|
|
||||||
|
var _assign = require('babel-runtime/core-js/object/assign');
|
||||||
|
|
||||||
|
var _assign2 = _interopRequireDefault(_assign);
|
||||||
|
|
||||||
|
var _promise = require('babel-runtime/core-js/promise');
|
||||||
|
|
||||||
|
var _promise2 = _interopRequireDefault(_promise);
|
||||||
|
|
||||||
|
var _keys = require('babel-runtime/core-js/object/keys');
|
||||||
|
|
||||||
|
var _keys2 = _interopRequireDefault(_keys);
|
||||||
|
|
||||||
|
var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');
|
||||||
|
|
||||||
|
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
|
||||||
|
|
||||||
|
var _createClass2 = require('babel-runtime/helpers/createClass');
|
||||||
|
|
||||||
|
var _createClass3 = _interopRequireDefault(_createClass2);
|
||||||
|
|
||||||
|
Object.defineProperty(exports, "__esModule", {
|
||||||
|
value: true
|
||||||
|
});
|
||||||
|
|
||||||
|
var _callsite = require('callsite');
|
||||||
|
|
||||||
|
var _callsite2 = _interopRequireDefault(_callsite);
|
||||||
|
|
||||||
|
var _async = require('async');
|
||||||
|
|
||||||
|
var _async2 = _interopRequireDefault(_async);
|
||||||
|
|
||||||
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
||||||
|
|
||||||
|
var _class = function () {
|
||||||
|
function _class() {
|
||||||
|
var app = arguments.length <= 0 || arguments[0] === undefined ? 'Scribe' : arguments[0];
|
||||||
|
var id = arguments.length <= 1 || arguments[1] === undefined ? process.pid : arguments[1];
|
||||||
|
(0, _classCallCheck3.default)(this, _class);
|
||||||
|
|
||||||
|
this._transient = {};
|
||||||
|
this._persistent = {};
|
||||||
|
this._pipelines = {};
|
||||||
|
this._exposed = {};
|
||||||
|
|
||||||
|
this.persistent('app', app);
|
||||||
|
this.persistent('id', id);
|
||||||
|
}
|
||||||
|
|
||||||
|
(0, _createClass3.default)(_class, [{
|
||||||
|
key: 'transient',
|
||||||
|
value: function transient(key, value) {
|
||||||
|
if (arguments.length === 1) {
|
||||||
|
return this._transient[key];
|
||||||
|
}
|
||||||
|
|
||||||
|
this._transient[key] = value;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
}, {
|
||||||
|
key: 'persistent',
|
||||||
|
value: function persistent(key, value) {
|
||||||
|
if (arguments.length === 1) {
|
||||||
|
return this._persistent[key];
|
||||||
|
}
|
||||||
|
|
||||||
|
this._persistent[key] = value;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
}, {
|
||||||
|
key: 'exposed',
|
||||||
|
value: function exposed() {
|
||||||
|
return (0, _keys2.default)(this._exposed);
|
||||||
|
}
|
||||||
|
}, {
|
||||||
|
key: 'callSite',
|
||||||
|
value: function callSite() {
|
||||||
|
var idx = arguments.length <= 0 || arguments[0] === undefined ? 5 : arguments[0];
|
||||||
|
|
||||||
|
try {
|
||||||
|
var site = (0, _callsite2.default)()[idx];
|
||||||
|
|
||||||
|
return {
|
||||||
|
line: site.getLineNumber(),
|
||||||
|
file: site.getFileName(),
|
||||||
|
func: site.getFunctionName()
|
||||||
|
};
|
||||||
|
|
||||||
|
return site;
|
||||||
|
} catch (e) {
|
||||||
|
console.error(e);
|
||||||
|
return {};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}, {
|
||||||
|
key: 'preout',
|
||||||
|
value: function preout() {
|
||||||
|
// ignore
|
||||||
|
}
|
||||||
|
}, {
|
||||||
|
key: 'out',
|
||||||
|
value: function out(expose) {
|
||||||
|
var _this = this;
|
||||||
|
|
||||||
|
for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
|
||||||
|
args[_key - 1] = arguments[_key];
|
||||||
|
}
|
||||||
|
|
||||||
|
return new _promise2.default(function (resolve, reject) {
|
||||||
|
if (!_this._pipelines[expose]) {
|
||||||
|
return resolve();
|
||||||
|
}
|
||||||
|
|
||||||
|
_this.preout();
|
||||||
|
|
||||||
|
var pipelines = _this._pipelines[expose];
|
||||||
|
var transient = _this._transient;
|
||||||
|
var persistent = _this._persistent;
|
||||||
|
var errs = [];
|
||||||
|
var now = new Date();
|
||||||
|
|
||||||
|
if (!transient.date) {
|
||||||
|
transient.date = now;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!transient.callsite) {
|
||||||
|
transient.callsite = _this.callSite();
|
||||||
|
}
|
||||||
|
|
||||||
|
// reset before async
|
||||||
|
_this.reset();
|
||||||
|
|
||||||
|
_async2.default.forEachOfSeries(pipelines, function (pipeline, name, callback) {
|
||||||
|
var input = {
|
||||||
|
expose: expose, args: args, persistent: persistent, date: now,
|
||||||
|
transient: (0, _assign2.default)({}, transient)
|
||||||
|
};
|
||||||
|
|
||||||
|
_async2.default.eachSeries(pipeline, function (through, callback) {
|
||||||
|
if (!through) {
|
||||||
|
return callback();
|
||||||
|
}
|
||||||
|
|
||||||
|
through.through(input, function (err, output) {
|
||||||
|
if (err) errs.push(err);
|
||||||
|
input = output || input;
|
||||||
|
callback(err);
|
||||||
|
});
|
||||||
|
}, function () {
|
||||||
|
return callback();
|
||||||
|
});
|
||||||
|
}, function () {
|
||||||
|
if (errs.length) {
|
||||||
|
return reject(errs);
|
||||||
|
}
|
||||||
|
|
||||||
|
resolve();
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}, {
|
||||||
|
key: 'expose',
|
||||||
|
value: function expose(_expose) {
|
||||||
|
if (typeof this[_expose] !== 'function') {
|
||||||
|
this[_expose] = this.out.bind(this, _expose);
|
||||||
|
}
|
||||||
|
|
||||||
|
this._exposed[_expose] = true;
|
||||||
|
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
}, {
|
||||||
|
key: 'pipe',
|
||||||
|
value: function pipe(expose, name) {
|
||||||
|
this.expose(expose);
|
||||||
|
|
||||||
|
for (var _len2 = arguments.length, throughs = Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) {
|
||||||
|
throughs[_key2 - 2] = arguments[_key2];
|
||||||
|
}
|
||||||
|
|
||||||
|
if (throughs.length) {
|
||||||
|
var t = this._pipelines[expose] || {};
|
||||||
|
if (t[name]) {
|
||||||
|
throw new Error('Pipeline ' + name + ' for ' + expose + ' is already taken');
|
||||||
|
}
|
||||||
|
|
||||||
|
t[name] = throughs;
|
||||||
|
this._pipelines[expose] = t;
|
||||||
|
} else {
|
||||||
|
return this._pipelines[expose][name];
|
||||||
|
}
|
||||||
|
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
}, {
|
||||||
|
key: 'reset',
|
||||||
|
value: function reset() {
|
||||||
|
this._transient = {};
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
}, {
|
||||||
|
key: 'override',
|
||||||
|
value: function override() {
|
||||||
|
global._console = console;
|
||||||
|
|
||||||
|
delete global.console;
|
||||||
|
|
||||||
|
Object.defineProperty(global, 'console', {
|
||||||
|
enumerable: true,
|
||||||
|
configurable: true,
|
||||||
|
writable: false,
|
||||||
|
value: this
|
||||||
|
});
|
||||||
|
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
}]);
|
||||||
|
return _class;
|
||||||
|
}();
|
||||||
|
|
||||||
|
exports.default = _class;
|
175
dist/routers/viewer.js
vendored
Normal file
175
dist/routers/viewer.js
vendored
Normal file
|
@ -0,0 +1,175 @@
|
||||||
|
'use strict';
|
||||||
|
|
||||||
|
var _maxSafeInteger = require('babel-runtime/core-js/number/max-safe-integer');
|
||||||
|
|
||||||
|
var _maxSafeInteger2 = _interopRequireDefault(_maxSafeInteger);
|
||||||
|
|
||||||
|
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);
|
||||||
|
|
||||||
|
var _typeof2 = require('babel-runtime/helpers/typeof');
|
||||||
|
|
||||||
|
var _typeof3 = _interopRequireDefault(_typeof2);
|
||||||
|
|
||||||
|
Object.defineProperty(exports, "__esModule", {
|
||||||
|
value: true
|
||||||
|
});
|
||||||
|
exports.create = create;
|
||||||
|
|
||||||
|
var _express = require('express');
|
||||||
|
|
||||||
|
var _express2 = _interopRequireDefault(_express);
|
||||||
|
|
||||||
|
var _mongoose = require('mongoose');
|
||||||
|
|
||||||
|
var _mongoose2 = _interopRequireDefault(_mongoose);
|
||||||
|
|
||||||
|
var _entry = require('../schemas/entry');
|
||||||
|
|
||||||
|
var _entry2 = _interopRequireDefault(_entry);
|
||||||
|
|
||||||
|
var _jade = require('jade');
|
||||||
|
|
||||||
|
var _jade2 = _interopRequireDefault(_jade);
|
||||||
|
|
||||||
|
var _expressSession = require('express-session');
|
||||||
|
|
||||||
|
var _expressSession2 = _interopRequireDefault(_expressSession);
|
||||||
|
|
||||||
|
var _bodyParser = require('body-parser');
|
||||||
|
|
||||||
|
var _bodyParser2 = _interopRequireDefault(_bodyParser);
|
||||||
|
|
||||||
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
||||||
|
|
||||||
|
function getObject(d, def) {
|
||||||
|
if (typeof d === 'undefined' || d === null) {
|
||||||
|
return def || {};
|
||||||
|
} else if ((typeof d === 'undefined' ? 'undefined' : (0, _typeof3.default)(d)) === 'object') {
|
||||||
|
return d;
|
||||||
|
} else {
|
||||||
|
try {
|
||||||
|
return JSON.parse(d);
|
||||||
|
} catch (e) {
|
||||||
|
return def || {};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
var viewer = _jade2.default.compileFile(__dirname + '/../../views/viewer.jade');
|
||||||
|
var login = _jade2.default.compileFile(__dirname + '/../../views/login.jade');
|
||||||
|
|
||||||
|
function create() {
|
||||||
|
var mongoUri = arguments.length <= 0 || arguments[0] === undefined ? 'mongodb://localhost/scribe' : arguments[0];
|
||||||
|
var routerConfig = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];
|
||||||
|
var clientConfig = arguments.length <= 2 || arguments[2] === undefined ? {} : arguments[2];
|
||||||
|
var debug = arguments.length <= 3 || arguments[3] === undefined ? false : arguments[3];
|
||||||
|
|
||||||
|
routerConfig = (0, _assign2.default)({
|
||||||
|
sessionSecret: 'scribe-session',
|
||||||
|
useSession: true,
|
||||||
|
useBodyParser: true,
|
||||||
|
username: 'build',
|
||||||
|
password: 'build'
|
||||||
|
}, routerConfig);
|
||||||
|
|
||||||
|
_mongoose2.default.set('debug', debug);
|
||||||
|
|
||||||
|
var router = new _express.Router();
|
||||||
|
var conn = _mongoose2.default.createConnection(mongoUri);
|
||||||
|
var Entry = conn.model('Entry', _entry2.default);
|
||||||
|
|
||||||
|
router.use(_express2.default.static('public'));
|
||||||
|
|
||||||
|
function isAuthenticated(req, res, next) {
|
||||||
|
if (!routerConfig.authentication || req.session.authenticated) {
|
||||||
|
return next();
|
||||||
|
}
|
||||||
|
|
||||||
|
res.redirect(req.baseUrl);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (routerConfig.useSession) {
|
||||||
|
router.use((0, _expressSession2.default)({ secret: routerConfig.sessionSecret, saveUninitialized: true, resave: true }));
|
||||||
|
}
|
||||||
|
|
||||||
|
if (routerConfig.useBodyParser) {
|
||||||
|
router.use(_bodyParser2.default.json());
|
||||||
|
}
|
||||||
|
|
||||||
|
router.post('/', function (req, res) {
|
||||||
|
req.session.authenticated |= !routerConfig.authentication || req.body.username === routerConfig.username && req.body.password === routerConfig.password;
|
||||||
|
if (req.session.authenticated) {
|
||||||
|
return res.json({ data: 'viewer' });
|
||||||
|
}
|
||||||
|
|
||||||
|
res.json({ status: 1, message: 'Invalid username/password' });
|
||||||
|
});
|
||||||
|
|
||||||
|
router.get('/', function (req, res) {
|
||||||
|
if (!routerConfig.authentication || req.session.authenticated) {
|
||||||
|
return res.redirect('viewer');
|
||||||
|
}
|
||||||
|
|
||||||
|
res.send(login());
|
||||||
|
});
|
||||||
|
|
||||||
|
router.get('/viewer', isAuthenticated, function (req, res) {
|
||||||
|
return res.send(viewer({
|
||||||
|
config: (0, _stringify2.default)(clientConfig)
|
||||||
|
}));
|
||||||
|
});
|
||||||
|
|
||||||
|
router.get('/rest/:collection', isAuthenticated, function (req, res) {
|
||||||
|
var collection = req.params.collection;
|
||||||
|
var selector = getObject(req.query.selector);
|
||||||
|
var fields = typeof req.query.fields === 'string' ? req.query.fields : '';
|
||||||
|
var sort = getObject(req.query.sort, { _id: -1 });
|
||||||
|
var limit = !isNaN(req.query.limit) ? Math.max(0, parseInt(Number(req.query.limit))) : _maxSafeInteger2.default;
|
||||||
|
var col = Entry; // defaulting to Entry for now
|
||||||
|
|
||||||
|
if (!col) {
|
||||||
|
return res.json({ err: 1, docs: [] });
|
||||||
|
}
|
||||||
|
|
||||||
|
col.find(selector).select(fields).sort(sort).limit(limit).lean().exec(function () {
|
||||||
|
var err = arguments.length <= 0 || arguments[0] === undefined ? 0 : arguments[0];
|
||||||
|
var docs = arguments.length <= 1 || arguments[1] === undefined ? [] : arguments[1];
|
||||||
|
return res.json({ err: err, docs: docs });
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
router.delete('/rest/:collection', isAuthenticated, function (req, res) {
|
||||||
|
var collection = rreq.params.collection;
|
||||||
|
var ids = req.query.id;
|
||||||
|
|
||||||
|
try {
|
||||||
|
ids = JSON.parse(ids);
|
||||||
|
} catch (e) {
|
||||||
|
// ignore
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!Array.isArray(ids)) {
|
||||||
|
ids = [req.param('id')];
|
||||||
|
}
|
||||||
|
|
||||||
|
var col = Entry; // defaulting to Entry for now
|
||||||
|
|
||||||
|
if (col) {
|
||||||
|
return col.remove({ _id: { $in: ids } }, function (err) {
|
||||||
|
res.status(err ? 410 : 200);
|
||||||
|
res.send();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
res.status(410);
|
||||||
|
res.send();
|
||||||
|
});
|
||||||
|
|
||||||
|
return router;
|
||||||
|
}
|
20
dist/schemas/entry.js
vendored
Normal file
20
dist/schemas/entry.js
vendored
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
'use strict';
|
||||||
|
|
||||||
|
Object.defineProperty(exports, "__esModule", {
|
||||||
|
value: true
|
||||||
|
});
|
||||||
|
|
||||||
|
var _mongoose = require('mongoose');
|
||||||
|
|
||||||
|
var EntrySchema = new _mongoose.Schema({
|
||||||
|
transient: _mongoose.Schema.Types.Object,
|
||||||
|
persistent: _mongoose.Schema.Types.Object,
|
||||||
|
args: _mongoose.Schema.Types.Object,
|
||||||
|
date: { type: Date, default: Date.now },
|
||||||
|
expose: String,
|
||||||
|
serialized: String // experimental
|
||||||
|
});
|
||||||
|
|
||||||
|
EntrySchema.index({ 'persistent.app': 1, 'persistent.id': -1 });
|
||||||
|
|
||||||
|
exports.default = EntrySchema;
|
174
dist/scribe.js
vendored
Normal file
174
dist/scribe.js
vendored
Normal file
|
@ -0,0 +1,174 @@
|
||||||
|
'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
|
||||||
|
_fs2.default.writeFileSync('./native/package.json', (0, _stringify2.default)(_package2.default, null, 4), { encoding: 'utf8' });
|
||||||
|
|
||||||
|
var nw = new _nwBuilder2.default((0, _assign2.default)({
|
||||||
|
platforms: ['win', 'osx', 'linux'],
|
||||||
|
buildDir: './public/native',
|
||||||
|
version: '0.12.3',
|
||||||
|
zip: true
|
||||||
|
}, opts.nwjs, { files: './native/**/**' }));
|
||||||
|
|
||||||
|
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
|
||||||
|
};
|
||||||
|
|
||||||
|
;
|
39
dist/transforms/ErrorExtractor.js
vendored
Normal file
39
dist/transforms/ErrorExtractor.js
vendored
Normal file
|
@ -0,0 +1,39 @@
|
||||||
|
"use strict";
|
||||||
|
|
||||||
|
var _stringify = require("babel-runtime/core-js/json/stringify");
|
||||||
|
|
||||||
|
var _stringify2 = _interopRequireDefault(_stringify);
|
||||||
|
|
||||||
|
var _classCallCheck2 = require("babel-runtime/helpers/classCallCheck");
|
||||||
|
|
||||||
|
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
|
||||||
|
|
||||||
|
var _createClass2 = require("babel-runtime/helpers/createClass");
|
||||||
|
|
||||||
|
var _createClass3 = _interopRequireDefault(_createClass2);
|
||||||
|
|
||||||
|
Object.defineProperty(exports, "__esModule", {
|
||||||
|
value: true
|
||||||
|
});
|
||||||
|
|
||||||
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
||||||
|
|
||||||
|
var ErrorExtractor = function () {
|
||||||
|
function ErrorExtractor() {
|
||||||
|
(0, _classCallCheck3.default)(this, ErrorExtractor);
|
||||||
|
}
|
||||||
|
|
||||||
|
(0, _createClass3.default)(ErrorExtractor, [{
|
||||||
|
key: "through",
|
||||||
|
value: function through(data, callback) {
|
||||||
|
data.args = data.args.map(function (a) {
|
||||||
|
return a instanceof Error ? JSON.parse((0, _stringify2.default)(a, ["message", "arguments", "type", "name", "stack"])) : a;
|
||||||
|
});
|
||||||
|
|
||||||
|
callback(null, data);
|
||||||
|
}
|
||||||
|
}]);
|
||||||
|
return ErrorExtractor;
|
||||||
|
}();
|
||||||
|
|
||||||
|
exports.default = ErrorExtractor;
|
109
dist/transforms/ExpressExtractor.js
vendored
Normal file
109
dist/transforms/ExpressExtractor.js
vendored
Normal file
|
@ -0,0 +1,109 @@
|
||||||
|
'use strict';
|
||||||
|
|
||||||
|
var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');
|
||||||
|
|
||||||
|
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
|
||||||
|
|
||||||
|
var _createClass2 = require('babel-runtime/helpers/createClass');
|
||||||
|
|
||||||
|
var _createClass3 = _interopRequireDefault(_createClass2);
|
||||||
|
|
||||||
|
Object.defineProperty(exports, "__esModule", {
|
||||||
|
value: true
|
||||||
|
});
|
||||||
|
|
||||||
|
var _chalk = require('chalk');
|
||||||
|
|
||||||
|
var _chalk2 = _interopRequireDefault(_chalk);
|
||||||
|
|
||||||
|
var _basicAuth = require('basic-auth');
|
||||||
|
|
||||||
|
var _basicAuth2 = _interopRequireDefault(_basicAuth);
|
||||||
|
|
||||||
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
||||||
|
|
||||||
|
var ExpressExtractor = function () {
|
||||||
|
function ExpressExtractor() {
|
||||||
|
(0, _classCallCheck3.default)(this, ExpressExtractor);
|
||||||
|
}
|
||||||
|
|
||||||
|
(0, _createClass3.default)(ExpressExtractor, [{
|
||||||
|
key: 'ip',
|
||||||
|
value: function ip(req) {
|
||||||
|
return req.ip || req._remoteAddress || req.remoteAddress || req.connection && req.connection.remoteAddress || req.headers['x-forwarded-for'] || undefined;
|
||||||
|
}
|
||||||
|
}, {
|
||||||
|
key: 'header',
|
||||||
|
value: function header(res, field) {
|
||||||
|
if (!res._header) {
|
||||||
|
return undefined;
|
||||||
|
}
|
||||||
|
|
||||||
|
var header = res.getHeader(field);
|
||||||
|
|
||||||
|
return Array.isArray(header) ? header.join(', ') : header;
|
||||||
|
}
|
||||||
|
}, {
|
||||||
|
key: 'remoteUser',
|
||||||
|
value: function remoteUser(req) {
|
||||||
|
var credentials = (0, _basicAuth2.default)(req);
|
||||||
|
return credentials ? credentials.name : undefined;
|
||||||
|
}
|
||||||
|
}, {
|
||||||
|
key: 'httpVersion',
|
||||||
|
value: function httpVersion(req) {
|
||||||
|
return req.httpVersionMajor + '.' + req.httpVersionMinor;
|
||||||
|
}
|
||||||
|
}, {
|
||||||
|
key: 'referrer',
|
||||||
|
value: function referrer(req) {
|
||||||
|
return req.headers['referer'] || req.headers['referrer'] || req.headers['ref'];
|
||||||
|
}
|
||||||
|
}, {
|
||||||
|
key: 'status',
|
||||||
|
value: function status(res) {
|
||||||
|
return res._header ? String(res.statusCode) : undefined;
|
||||||
|
}
|
||||||
|
}, {
|
||||||
|
key: 'through',
|
||||||
|
value: function through(data, callback) {
|
||||||
|
var _data$args$ = data.args[0];
|
||||||
|
var req = _data$args$.req;
|
||||||
|
var res = _data$args$.res;
|
||||||
|
var duration = _data$args$.duration;
|
||||||
|
|
||||||
|
var status = this.status(res);
|
||||||
|
var url = req.url;
|
||||||
|
var referrer = this.referrer(req);
|
||||||
|
var remoteUser = this.remoteUser(req);
|
||||||
|
var httpVersion = this.httpVersion(req);
|
||||||
|
var ip = this.ip(req);
|
||||||
|
var contentLength = this.header(res, 'content-length') || 0;
|
||||||
|
var method = req.method;
|
||||||
|
var baseUrl = req.baseUrl;
|
||||||
|
var originalUrl = req.originalUrl;
|
||||||
|
var params = req.originalUrl;
|
||||||
|
var query = req.query;
|
||||||
|
var express = {
|
||||||
|
baseUrl: baseUrl, originalUrl: originalUrl, params: params, query: query,
|
||||||
|
url: url, method: method, status: status, referrer: referrer, remoteUser: remoteUser, httpVersion: httpVersion, ip: ip,
|
||||||
|
duration: duration, contentLength: contentLength, headers: {
|
||||||
|
req: req._headers,
|
||||||
|
res: res.headers
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
// add to default metrics object
|
||||||
|
var metrics = data.transient.metrics || {};
|
||||||
|
metrics.responseTime = duration;
|
||||||
|
data.transient.metrics = metrics;
|
||||||
|
|
||||||
|
data.args = [express];
|
||||||
|
|
||||||
|
callback(null, data);
|
||||||
|
}
|
||||||
|
}]);
|
||||||
|
return ExpressExtractor;
|
||||||
|
}();
|
||||||
|
|
||||||
|
exports.default = ExpressExtractor;
|
74
dist/transforms/ExpressInspector.js
vendored
Normal file
74
dist/transforms/ExpressInspector.js
vendored
Normal file
|
@ -0,0 +1,74 @@
|
||||||
|
'use strict';
|
||||||
|
|
||||||
|
var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');
|
||||||
|
|
||||||
|
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
|
||||||
|
|
||||||
|
var _createClass2 = require('babel-runtime/helpers/createClass');
|
||||||
|
|
||||||
|
var _createClass3 = _interopRequireDefault(_createClass2);
|
||||||
|
|
||||||
|
Object.defineProperty(exports, "__esModule", {
|
||||||
|
value: true
|
||||||
|
});
|
||||||
|
|
||||||
|
var _chalk = require('chalk');
|
||||||
|
|
||||||
|
var _chalk2 = _interopRequireDefault(_chalk);
|
||||||
|
|
||||||
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
||||||
|
|
||||||
|
var ExpressInspector = function () {
|
||||||
|
function ExpressInspector() {
|
||||||
|
var colors = arguments.length <= 0 || arguments[0] === undefined ? true : arguments[0];
|
||||||
|
var symbols = arguments.length <= 1 || arguments[1] === undefined ? false : arguments[1];
|
||||||
|
(0, _classCallCheck3.default)(this, ExpressInspector);
|
||||||
|
|
||||||
|
this.colors = colors;
|
||||||
|
this.symbols = symbols;
|
||||||
|
}
|
||||||
|
|
||||||
|
(0, _createClass3.default)(ExpressInspector, [{
|
||||||
|
key: 'status',
|
||||||
|
value: function status(express) {
|
||||||
|
var stat = express.status;
|
||||||
|
var symbol = '✓';
|
||||||
|
var color = '';
|
||||||
|
|
||||||
|
if (100 <= stat && stat < 200) {
|
||||||
|
symbol = '';
|
||||||
|
} else if (200 <= stat && stat < 300) {
|
||||||
|
symbol = '✓';
|
||||||
|
} else if (300 <= stat && stat < 400) {
|
||||||
|
symbol = '';
|
||||||
|
} else if (400 <= stat && stat < 500) {
|
||||||
|
symbol = '✘';
|
||||||
|
color = 'red';
|
||||||
|
} else {
|
||||||
|
symbol = '';
|
||||||
|
}
|
||||||
|
|
||||||
|
var ret = undefined;
|
||||||
|
if (this.symbols) {
|
||||||
|
ret = symbol + ' ' + stat;
|
||||||
|
} else {
|
||||||
|
ret = '' + stat;
|
||||||
|
}
|
||||||
|
|
||||||
|
return color ? _chalk2.default[color](ret) : ret;
|
||||||
|
}
|
||||||
|
}, {
|
||||||
|
key: 'through',
|
||||||
|
value: function through(data, callback) {
|
||||||
|
var express = data.args[0];
|
||||||
|
|
||||||
|
data.transient['callsite'] = '' + express.ip;
|
||||||
|
data.args = [_chalk2.default.bgGreen.black(' ' + express.method + ' ') + ' ' + _chalk2.default.gray(express.url) + ' ' + this.status(express) + ' - ' + express.contentLength + ' ' + _chalk2.default.gray('(' + express.duration.toFixed(3) + 'ms)')];
|
||||||
|
|
||||||
|
callback(null, data);
|
||||||
|
}
|
||||||
|
}]);
|
||||||
|
return ExpressInspector;
|
||||||
|
}();
|
||||||
|
|
||||||
|
exports.default = ExpressInspector;
|
171
dist/transforms/Inspector.js
vendored
Normal file
171
dist/transforms/Inspector.js
vendored
Normal file
|
@ -0,0 +1,171 @@
|
||||||
|
'use strict';
|
||||||
|
|
||||||
|
var _toConsumableArray2 = require('babel-runtime/helpers/toConsumableArray');
|
||||||
|
|
||||||
|
var _toConsumableArray3 = _interopRequireDefault(_toConsumableArray2);
|
||||||
|
|
||||||
|
var _getIterator2 = require('babel-runtime/core-js/get-iterator');
|
||||||
|
|
||||||
|
var _getIterator3 = _interopRequireDefault(_getIterator2);
|
||||||
|
|
||||||
|
var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');
|
||||||
|
|
||||||
|
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
|
||||||
|
|
||||||
|
var _createClass2 = require('babel-runtime/helpers/createClass');
|
||||||
|
|
||||||
|
var _createClass3 = _interopRequireDefault(_createClass2);
|
||||||
|
|
||||||
|
Object.defineProperty(exports, "__esModule", {
|
||||||
|
value: true
|
||||||
|
});
|
||||||
|
|
||||||
|
var _underscore = require('underscore');
|
||||||
|
|
||||||
|
var _underscore2 = _interopRequireDefault(_underscore);
|
||||||
|
|
||||||
|
var _chalk = require('chalk');
|
||||||
|
|
||||||
|
var _chalk2 = _interopRequireDefault(_chalk);
|
||||||
|
|
||||||
|
var _inspect = require('../libs/inspect');
|
||||||
|
|
||||||
|
var _inspect2 = _interopRequireDefault(_inspect);
|
||||||
|
|
||||||
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
||||||
|
|
||||||
|
var Inspector = function () {
|
||||||
|
function Inspector() {
|
||||||
|
var inspectOpts = arguments.length <= 0 || arguments[0] === undefined ? { colors: true, showHidden: false, depth: 5 } : arguments[0];
|
||||||
|
(0, _classCallCheck3.default)(this, Inspector);
|
||||||
|
|
||||||
|
this.inspectOpts = inspectOpts;
|
||||||
|
}
|
||||||
|
|
||||||
|
(0, _createClass3.default)(Inspector, [{
|
||||||
|
key: 'format',
|
||||||
|
value: function format(f) {
|
||||||
|
for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
|
||||||
|
args[_key - 1] = arguments[_key];
|
||||||
|
}
|
||||||
|
|
||||||
|
var ctx = this.inspectOpts;
|
||||||
|
|
||||||
|
if (typeof f !== 'string') {
|
||||||
|
var objects = [];
|
||||||
|
var _iteratorNormalCompletion = true;
|
||||||
|
var _didIteratorError = false;
|
||||||
|
var _iteratorError = undefined;
|
||||||
|
|
||||||
|
try {
|
||||||
|
for (var _iterator = (0, _getIterator3.default)([f].concat(args)), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
|
||||||
|
var arg = _step.value;
|
||||||
|
|
||||||
|
objects.push((0, _inspect2.default)(arg, ctx));
|
||||||
|
}
|
||||||
|
} catch (err) {
|
||||||
|
_didIteratorError = true;
|
||||||
|
_iteratorError = err;
|
||||||
|
} finally {
|
||||||
|
try {
|
||||||
|
if (!_iteratorNormalCompletion && _iterator.return) {
|
||||||
|
_iterator.return();
|
||||||
|
}
|
||||||
|
} finally {
|
||||||
|
if (_didIteratorError) {
|
||||||
|
throw _iteratorError;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return objects.join(' ');
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!args.length) {
|
||||||
|
return f;
|
||||||
|
}
|
||||||
|
|
||||||
|
var i = 0;
|
||||||
|
var len = args.length;
|
||||||
|
var str = String(f).replace(/%[sdj%]/g, function (x) {
|
||||||
|
if (x === '%%') return '%';
|
||||||
|
if (i >= len) return x;
|
||||||
|
switch (x) {
|
||||||
|
default:
|
||||||
|
case '%s':
|
||||||
|
case '%d':
|
||||||
|
case '%j':
|
||||||
|
return (0, _inspect2.default)(args[i++], ctx);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
for (var x = args[i]; i < len; x = args[++i]) {
|
||||||
|
str += ' ' + (0, _inspect2.default)(x, ctx);
|
||||||
|
}
|
||||||
|
|
||||||
|
return str;
|
||||||
|
}
|
||||||
|
}, {
|
||||||
|
key: 'inspectArguments',
|
||||||
|
value: function inspectArguments(data) {
|
||||||
|
return this.format.apply(this, (0, _toConsumableArray3.default)(data.args));
|
||||||
|
}
|
||||||
|
}, {
|
||||||
|
key: 'inspectTags',
|
||||||
|
value: function inspectTags(data) {
|
||||||
|
return (data.persistent['tags'] || []).map(function (tag) {
|
||||||
|
return _chalk2.default.cyan('' + tag.toUpperCase());
|
||||||
|
}).concat((data.transient['tags'] || []).map(function (tag) {
|
||||||
|
return _chalk2.default.magenta('' + tag.toUpperCase());
|
||||||
|
})).join(' ');
|
||||||
|
}
|
||||||
|
}, {
|
||||||
|
key: 'inspectPre',
|
||||||
|
value: function inspectPre(data) {
|
||||||
|
return [_chalk2.default.yellow.bgBlack(data.persistent['app'] + '-' + data.persistent['id']), _chalk2.default.black.bgYellow(' ' + data.expose.toUpperCase() + ' ')].join(' ');
|
||||||
|
}
|
||||||
|
}, {
|
||||||
|
key: 'inspectMetrics',
|
||||||
|
value: function inspectMetrics(data) {
|
||||||
|
return _underscore2.default.map(data.transient['metrics'], function (value, key) {
|
||||||
|
return _chalk2.default.cyan(key + '(' + (typeof value === 'number' ? value.toFixed(3) : value) + ')');
|
||||||
|
}).join(' ');
|
||||||
|
}
|
||||||
|
}, {
|
||||||
|
key: 'inspectCallSite',
|
||||||
|
value: function inspectCallSite(data) {
|
||||||
|
var site = data.transient['callsite'];
|
||||||
|
if (typeof site === 'string') return _chalk2.default.gray.dim(site);
|
||||||
|
|
||||||
|
var _ref = site || { file: '', line: -1 };
|
||||||
|
|
||||||
|
var file = _ref.file;
|
||||||
|
var line = _ref.line;
|
||||||
|
|
||||||
|
return _chalk2.default.gray.dim(file.replace(/^.*[\\\/]/, '') + ':' + line);
|
||||||
|
}
|
||||||
|
}, {
|
||||||
|
key: 'through',
|
||||||
|
value: function through(data, callback) {
|
||||||
|
if (data.expose === 'metric') {
|
||||||
|
data.args = '';
|
||||||
|
}
|
||||||
|
|
||||||
|
var pre = this.inspectPre(data);
|
||||||
|
var tags = this.inspectTags(data);
|
||||||
|
var metrics = this.inspectMetrics(data);
|
||||||
|
var site = this.inspectCallSite(data);
|
||||||
|
var pretty = this.inspectArguments(data);
|
||||||
|
var inspected = pretty.split('\n').map(function (line) {
|
||||||
|
return pre + ' ' + [tags, metrics, line, site].join(' ');
|
||||||
|
});
|
||||||
|
|
||||||
|
data.inspected = inspected;
|
||||||
|
|
||||||
|
callback(null, data);
|
||||||
|
}
|
||||||
|
}]);
|
||||||
|
return Inspector;
|
||||||
|
}();
|
||||||
|
|
||||||
|
exports.default = Inspector;
|
38
dist/writers/DefaultConsole.js
vendored
Normal file
38
dist/writers/DefaultConsole.js
vendored
Normal file
|
@ -0,0 +1,38 @@
|
||||||
|
'use strict';
|
||||||
|
|
||||||
|
var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');
|
||||||
|
|
||||||
|
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
|
||||||
|
|
||||||
|
var _createClass2 = require('babel-runtime/helpers/createClass');
|
||||||
|
|
||||||
|
var _createClass3 = _interopRequireDefault(_createClass2);
|
||||||
|
|
||||||
|
Object.defineProperty(exports, "__esModule", {
|
||||||
|
value: true
|
||||||
|
});
|
||||||
|
|
||||||
|
var _underscore = require('underscore');
|
||||||
|
|
||||||
|
var _underscore2 = _interopRequireDefault(_underscore);
|
||||||
|
|
||||||
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
||||||
|
|
||||||
|
var DefaultConsole = function () {
|
||||||
|
function DefaultConsole() {
|
||||||
|
(0, _classCallCheck3.default)(this, DefaultConsole);
|
||||||
|
}
|
||||||
|
|
||||||
|
(0, _createClass3.default)(DefaultConsole, [{
|
||||||
|
key: 'through',
|
||||||
|
value: function through(data, callback) {
|
||||||
|
_underscore2.default.map(data.inspected, function (a) {
|
||||||
|
return process.stdout.write(a + '\n');
|
||||||
|
});
|
||||||
|
callback();
|
||||||
|
}
|
||||||
|
}]);
|
||||||
|
return DefaultConsole;
|
||||||
|
}();
|
||||||
|
|
||||||
|
exports.default = DefaultConsole;
|
63
dist/writers/MongoDB.js
vendored
Normal file
63
dist/writers/MongoDB.js
vendored
Normal file
|
@ -0,0 +1,63 @@
|
||||||
|
'use strict';
|
||||||
|
|
||||||
|
var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');
|
||||||
|
|
||||||
|
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
|
||||||
|
|
||||||
|
var _createClass2 = require('babel-runtime/helpers/createClass');
|
||||||
|
|
||||||
|
var _createClass3 = _interopRequireDefault(_createClass2);
|
||||||
|
|
||||||
|
Object.defineProperty(exports, "__esModule", {
|
||||||
|
value: true
|
||||||
|
});
|
||||||
|
|
||||||
|
var _mongoose = require('mongoose');
|
||||||
|
|
||||||
|
var _mongoose2 = _interopRequireDefault(_mongoose);
|
||||||
|
|
||||||
|
var _entry = require('../schemas/entry');
|
||||||
|
|
||||||
|
var _entry2 = _interopRequireDefault(_entry);
|
||||||
|
|
||||||
|
var _JSON = require('../libs/JSON2');
|
||||||
|
|
||||||
|
var JSON2 = _interopRequireWildcard(_JSON);
|
||||||
|
|
||||||
|
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }
|
||||||
|
|
||||||
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
||||||
|
|
||||||
|
var MongoDB = function () {
|
||||||
|
function MongoDB() {
|
||||||
|
var address = arguments.length <= 0 || arguments[0] === undefined ? 'mongodb://localhost/scribe' : arguments[0];
|
||||||
|
var debug = arguments.length <= 1 || arguments[1] === undefined ? false : arguments[1];
|
||||||
|
(0, _classCallCheck3.default)(this, MongoDB);
|
||||||
|
|
||||||
|
_mongoose2.default.set('debug', debug);
|
||||||
|
|
||||||
|
var conn = _mongoose2.default.createConnection(address);
|
||||||
|
this._debug = debug;
|
||||||
|
this._entry = conn.model('Entry', _entry2.default);
|
||||||
|
}
|
||||||
|
|
||||||
|
(0, _createClass3.default)(MongoDB, [{
|
||||||
|
key: 'through',
|
||||||
|
value: function through(data, callback) {
|
||||||
|
var _this = this;
|
||||||
|
|
||||||
|
new this.Entry(JSON.parse(JSON2.stringify(data))).save(function (err, data) {
|
||||||
|
if (err && _this._debug) console.error(err);
|
||||||
|
callback(err, data);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}, {
|
||||||
|
key: 'Entry',
|
||||||
|
get: function get() {
|
||||||
|
return this._entry;
|
||||||
|
}
|
||||||
|
}]);
|
||||||
|
return MongoDB;
|
||||||
|
}();
|
||||||
|
|
||||||
|
exports.default = MongoDB;
|
46
dist/writers/SocketIO.js
vendored
Normal file
46
dist/writers/SocketIO.js
vendored
Normal file
|
@ -0,0 +1,46 @@
|
||||||
|
'use strict';
|
||||||
|
|
||||||
|
var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');
|
||||||
|
|
||||||
|
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
|
||||||
|
|
||||||
|
var _createClass2 = require('babel-runtime/helpers/createClass');
|
||||||
|
|
||||||
|
var _createClass3 = _interopRequireDefault(_createClass2);
|
||||||
|
|
||||||
|
Object.defineProperty(exports, "__esModule", {
|
||||||
|
value: true
|
||||||
|
});
|
||||||
|
|
||||||
|
var _socket = require('socket.io');
|
||||||
|
|
||||||
|
var _socket2 = _interopRequireDefault(_socket);
|
||||||
|
|
||||||
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
||||||
|
|
||||||
|
var sio = undefined;
|
||||||
|
|
||||||
|
var SocketIO = function () {
|
||||||
|
function SocketIO() {
|
||||||
|
var port = arguments.length <= 0 || arguments[0] === undefined ? 4000 : arguments[0];
|
||||||
|
var debug = arguments.length <= 1 || arguments[1] === undefined ? false : arguments[1];
|
||||||
|
(0, _classCallCheck3.default)(this, SocketIO);
|
||||||
|
|
||||||
|
process.env.DEBUG = debug;
|
||||||
|
|
||||||
|
if (!sio) {
|
||||||
|
sio = (0, _socket2.default)(port);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
(0, _createClass3.default)(SocketIO, [{
|
||||||
|
key: 'through',
|
||||||
|
value: function through(data, callback) {
|
||||||
|
sio.sockets.emit('data', data);
|
||||||
|
callback(null, data);
|
||||||
|
}
|
||||||
|
}]);
|
||||||
|
return SocketIO;
|
||||||
|
}();
|
||||||
|
|
||||||
|
exports.default = SocketIO;
|
|
@ -2,7 +2,7 @@ import cluster from 'cluster'
|
||||||
import http from 'http'
|
import http from 'http'
|
||||||
import express from 'express'
|
import express from 'express'
|
||||||
import Scribe from '../index.js'
|
import Scribe from '../index.js'
|
||||||
import * as JSON2 from '../libs/JSON2'
|
import * as JSON2 from '../src/libs/JSON2'
|
||||||
|
|
||||||
const port = 4005;
|
const port = 4005;
|
||||||
const socketPort = 50000;
|
const socketPort = 50000;
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
import express from 'express'
|
import express from 'express'
|
||||||
import Scribe from '../index.js'
|
import Scribe from '../index.js'
|
||||||
import * as JSON2 from '../libs/JSON2'
|
import * as JSON2 from '../src/libs/JSON2'
|
||||||
|
|
||||||
const port = 4005;
|
const port = 4005;
|
||||||
const socketPort = 50000;
|
const socketPort = 50000;
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/* jshint -W079 */
|
/* jshint -W079 */
|
||||||
(function() {
|
(function() {
|
||||||
var scribe = require('../scribe')(),
|
var scribe = require('../src/scribe')(),
|
||||||
console = process.console,
|
console = process.console,
|
||||||
express = require('express'),
|
express = require('express'),
|
||||||
path = require('path'),
|
path = require('path'),
|
||||||
|
|
4
index.js
4
index.js
|
@ -1,3 +1 @@
|
||||||
require('babel-register');
|
module.exports = require('./dist/scribe').default;
|
||||||
|
|
||||||
module.exports = require('./scribe');
|
|
14
package.json
14
package.json
|
@ -27,15 +27,10 @@
|
||||||
"url": "https://github.com/bluejamesbond/Scribe.js/blob/master/LICENSE-MIT"
|
"url": "https://github.com/bluejamesbond/Scribe.js/blob/master/LICENSE-MIT"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"main": "scribe.js",
|
"main": "index.js",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"async": "^1.5.2",
|
"async": "^1.5.2",
|
||||||
"babel-plugin-transform-object-rest-spread": "^6.3.13",
|
|
||||||
"babel-plugin-transform-runtime": "^6.4.3",
|
|
||||||
"babel-preset-es2015": "^6.3.13",
|
|
||||||
"babel-register": "^6.3.13",
|
|
||||||
"babel-runtime": "^6.3.19",
|
|
||||||
"basic-auth": "^1.0.3",
|
"basic-auth": "^1.0.3",
|
||||||
"body-parser": "^1.14.2",
|
"body-parser": "^1.14.2",
|
||||||
"brace": "^0.7.0",
|
"brace": "^0.7.0",
|
||||||
|
@ -78,6 +73,7 @@
|
||||||
"cssify": "^1.0.2",
|
"cssify": "^1.0.2",
|
||||||
"expect.js": "^0.3.1",
|
"expect.js": "^0.3.1",
|
||||||
"grunt": "^0.4.5",
|
"grunt": "^0.4.5",
|
||||||
|
"grunt-babel": "^6.0.0",
|
||||||
"grunt-browserify": "^4.0.1",
|
"grunt-browserify": "^4.0.1",
|
||||||
"grunt-contrib-clean": "^0.7.0",
|
"grunt-contrib-clean": "^0.7.0",
|
||||||
"grunt-contrib-copy": "^0.8.2",
|
"grunt-contrib-copy": "^0.8.2",
|
||||||
|
@ -89,6 +85,10 @@
|
||||||
"license-report": "^1.0.8",
|
"license-report": "^1.0.8",
|
||||||
"load-grunt-tasks": "^3.4.0",
|
"load-grunt-tasks": "^3.4.0",
|
||||||
"mocha": "^2.3.4",
|
"mocha": "^2.3.4",
|
||||||
"time-grunt": "^1.3.0"
|
"time-grunt": "^1.3.0",
|
||||||
|
"babel-plugin-transform-object-rest-spread": "^6.3.13",
|
||||||
|
"babel-plugin-transform-runtime": "^6.4.3",
|
||||||
|
"babel-preset-es2015": "^6.3.13",
|
||||||
|
"babel-runtime": "^6.3.19"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
21
public/scripts/TweenMax.min.js
vendored
21
public/scripts/TweenMax.min.js
vendored
File diff suppressed because one or more lines are too long
22530
public/scripts/login/Bootstrap.min.js
vendored
22530
public/scripts/login/Bootstrap.min.js
vendored
File diff suppressed because one or more lines are too long
3
public/scripts/socket.min.js
vendored
Normal file
3
public/scripts/socket.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
848
public/scripts/three.min.js
vendored
848
public/scripts/three.min.js
vendored
File diff suppressed because one or more lines are too long
80903
public/scripts/viewer/Bootstrap.min.js
vendored
80903
public/scripts/viewer/Bootstrap.min.js
vendored
File diff suppressed because one or more lines are too long
622
public/styles/login.min.css
vendored
622
public/styles/login.min.css
vendored
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
888
public/styles/viewer.min.css
vendored
888
public/styles/viewer.min.css
vendored
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -19,8 +19,8 @@ function getObject(d, def) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const viewer = jade.compileFile(`${__dirname}/../views/viewer.jade`);
|
const viewer = jade.compileFile(`${__dirname}/../../views/viewer.jade`);
|
||||||
const login = jade.compileFile(`${__dirname}/../views/login.jade`);
|
const login = jade.compileFile(`${__dirname}/../../views/login.jade`);
|
||||||
|
|
||||||
export function create(mongoUri = 'mongodb://localhost/scribe', routerConfig = {}, clientConfig = {}, debug = false) {
|
export function create(mongoUri = 'mongodb://localhost/scribe', routerConfig = {}, clientConfig = {}, debug = false) {
|
||||||
routerConfig = Object.assign({
|
routerConfig = Object.assign({
|
|
@ -12,7 +12,7 @@ import DefaultConsole from './writers/DefaultConsole'
|
||||||
import {create} from './routers/viewer'
|
import {create} from './routers/viewer'
|
||||||
import NwBuilder from 'nw-builder'
|
import NwBuilder from 'nw-builder'
|
||||||
import rc from 'rc'
|
import rc from 'rc'
|
||||||
import nativePackage from './native/package.json'
|
import nativePackage from './../native/package.json'
|
||||||
|
|
||||||
export const Writer = {MongoDB, DefaultConsole};
|
export const Writer = {MongoDB, DefaultConsole};
|
||||||
export const Reader = {BasicConsole, Console};
|
export const Reader = {BasicConsole, Console};
|
Loading…
Add table
Reference in a new issue