diff --git a/dist/mermaid.js b/dist/mermaid.js index da4e6d1b4..ec6c637b0 100644 --- a/dist/mermaid.js +++ b/dist/mermaid.js @@ -30997,10 +30997,10 @@ module.exports={ "tape": "node node_modules/.bin/tape test/cli_test-*.js", "jasmine": "node node_modules/jasmine-es6/bin/jasmine.js", "test": "npm run dist && npm run jasmine && npm run tape", - "dist-slim-mermaid": "node node_modules/browserify/bin/cmd.js src/mermaid.js -t babelify -s mermaid -o dist/mermaid.slim.js -x d3 && cat dist/mermaid.slim.js | uglifyjs -mc > dist/mermaid.slim.min.js", - "dist-slim-mermaidAPI": "node node_modules/browserify/bin/cmd.js src/mermaidAPI.js -t babelify -s mermaidAPI -o dist/mermaidAPI.slim.js -x d3 && cat dist/mermaidAPI.slim.js | uglifyjs -mc > dist/mermaidAPI.slim.min.js", - "dist-mermaid": "node node_modules/browserify/bin/cmd.js src/mermaid.js -t babelify -s mermaid -o dist/mermaid.js && cat dist/mermaid.js | uglifyjs -mc > dist/mermaid.min.js", - "dist-mermaidAPI": "node node_modules/browserify/bin/cmd.js src/mermaidAPI.js -t babelify -s mermaidAPI -o dist/mermaidAPI.js && cat dist/mermaidAPI.js | uglifyjs -mc > dist/mermaidAPI.min.js", + "dist-slim-mermaid": "node node_modules/browserify/bin/cmd.js src/mermaid.js -t babelify -s mermaid -o dist/mermaid.slim.js -x d3 && cat dist/mermaid.slim.js | node node_modules/uglifyjs/bin/uglifyjs -mc > dist/mermaid.slim.min.js", + "dist-slim-mermaidAPI": "node node_modules/browserify/bin/cmd.js src/mermaidAPI.js -t babelify -s mermaidAPI -o dist/mermaidAPI.slim.js -x d3 && cat dist/mermaidAPI.slim.js | node node_modules/uglifyjs/bin/uglifyjs -mc > dist/mermaidAPI.slim.min.js", + "dist-mermaid": "node node_modules/browserify/bin/cmd.js src/mermaid.js -t babelify -s mermaid -o dist/mermaid.js && cat dist/mermaid.js | node node_modules/uglifyjs/bin/uglifyjs -mc > dist/mermaid.min.js", + "dist-mermaidAPI": "node node_modules/browserify/bin/cmd.js src/mermaidAPI.js -t babelify -s mermaidAPI -o dist/mermaidAPI.js && cat dist/mermaidAPI.js | node node_modules/uglifyjs/bin/uglifyjs -mc > dist/mermaidAPI.min.js", "dist": "npm run dist-slim-mermaid;npm run dist-slim-mermaidAPI; npm run dist-mermaid;npm run dist-mermaidAPI" }, "repository": { @@ -31022,6 +31022,7 @@ module.exports={ }, "devDependencies": { "async": "^0.9.0", + "babel-eslint": "^4.1.3", "babelify": "^6.3.0", "browserify": "~6.2.0", "clone": "^0.2.0", @@ -31029,6 +31030,7 @@ module.exports={ "dateformat": "^1.0.11", "dox": "^0.8.0", "eslint": "^1.6.0", + "eslint-watch": "^2.1.2", "event-stream": "^3.2.0", "foundation": "^4.2.1-1", "front-matter": "^0.2.0", @@ -31075,6 +31077,7 @@ module.exports={ "rewire": "^2.1.3", "rimraf": "^2.2.8", "tape": "^3.0.3", + "uglifyjs": "^2.4.10", "vinyl-source-stream": "^1.1.0", "watchify": "^3.2.2" } @@ -31558,7 +31561,14 @@ module.exports = d3; */ 'use strict'; -var log = require('../../logger').create(); +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; } } + +var _logger = require('../../logger'); + +var Logger = _interopRequireWildcard(_logger); + +var log = new Logger.Log(); + var message = ''; var info = false; @@ -31590,10 +31600,18 @@ exports.parseError = function (err, hash) { */ 'use strict'; +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; } } + +var _logger = require('../../logger'); + +var Logger = _interopRequireWildcard(_logger); + var db = require('./exampleDb'); var exampleParser = require('./parser/example.js'); var d3 = require('../../d3'); -var log = require('../../logger').create(); + +var log = new Logger.Log(); + /** * Draws a an info picture in the tag with id: id based on the graph definition in text. * @param text @@ -32268,7 +32286,14 @@ if (typeof require !== 'undefined' && typeof exports !== 'undefined') { /* global window */ 'use strict'; -var log = require('../../logger').create(); +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; } } + +var _logger = require('../../logger'); + +var Logger = _interopRequireWildcard(_logger); + +var log = new Logger.Log(); + var dagreD3; //log.debug('setting up dagre-d3'); if (require) { @@ -32292,12 +32317,19 @@ module.exports = dagreD3; */ 'use strict'; +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; } } + +var _logger = require('../../logger'); + +var Logger = _interopRequireWildcard(_logger); + var graph = require('./graphDb'); var flow = require('./parser/flow'); var dot = require('./parser/dot'); var d3 = require('../../d3'); var dagreD3 = require('./dagre-d3'); -var log = require('../../logger').create(); + +var log = new Logger.Log(); var conf = {}; module.exports.setConf = function (cnf) { @@ -32724,7 +32756,14 @@ exports.draw = function (text, id, isDot) { */ 'use strict'; -var log = require('../../logger').create(); +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; } } + +var _logger = require('../../logger'); + +var Logger = _interopRequireWildcard(_logger); + +var log = new Logger.Log(); + var d3 = require('../../d3'); var vertices = {}; var edges = []; @@ -35018,8 +35057,15 @@ if (typeof require !== 'undefined' && typeof exports !== 'undefined') { */ 'use strict'; +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; } } + +var _logger = require('../../logger'); + +var Logger = _interopRequireWildcard(_logger); + var moment = require('moment'); -var log = require('../../logger').create(); + +var log = new Logger.Log(); var dateFormat = ''; var title = ''; @@ -37083,11 +37129,18 @@ if (typeof require !== 'undefined' && typeof exports !== 'undefined') { */ 'use strict'; +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; } } + +var _logger = require('../../logger'); + +var Logger = _interopRequireWildcard(_logger); + var actors = {}; var actorKeys = []; var messages = []; var notes = []; -var log = require('../../logger').create(); + +var log = new Logger.Log(); exports.addActor = function (id, name, description) { actors[id] = { name: name, description: description }; @@ -37220,11 +37273,18 @@ exports.apply = function (param) { 'use strict'; +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; } } + +var _logger = require('../../logger'); + +var Logger = _interopRequireWildcard(_logger); + var sq = require('./parser/sequenceDiagram').parser; sq.yy = require('./sequenceDb'); var svgDraw = require('./svgDraw'); var d3 = require('../../d3'); -var log = require('../../logger').create(); + +var log = new Logger.Log(); var conf = { @@ -37812,7 +37872,6 @@ exports.getNoteRect = function () { }; },{}],103:[function(require,module,exports){ -(function (process){ /** * #logger * logger = require('logger').create() @@ -37824,91 +37883,14 @@ exports.getNoteRect = function () { * logger.debug(function() { return "booom" }) * => [2011-3-3T20:24:4.810 error (5021)] booom */ + 'use strict'; -var Logger; +var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })(); -Logger = (function () { - function Logger(options) { - var level, ref; +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } } - this.options = options || {}; - this.level = this.options.level || Logger.levels['default']; - ref = Logger.levels; - for (level in ref) { - Logger.define(this, level); - } - } - - Logger.prototype.add = function (level, message, callback) { - if (this.level > (Logger.levels[level] || 5)) { - return; - } - if (callback) { - message = callback(); - } else if (typeof message === 'function') { - message = message(); - } - return this.write({ - timestamp: new Date(), - severity: level, - message: message, - pid: process.pid - }); - }; - - function formatTime(timestamp) { - var hh = timestamp.getUTCHours(); - var mm = timestamp.getUTCMinutes(); - var ss = timestamp.getSeconds(); - var ms = timestamp.getMilliseconds(); - // If you were building a timestamp instead of a duration, you would uncomment the following line to get 12-hour (not 24) time - // if (hh > 12) {hh = hh % 12;} - // These lines ensure you have two-digits - if (hh < 10) { - hh = '0' + hh; - } - if (mm < 10) { - mm = '0' + mm; - } - if (ss < 10) { - ss = '0' + ss; - } - if (ms < 100) { - ms = '0' + ms; - } - if (ms < 10) { - ms = '00' + ms; - } - // This formats your string to HH:MM:SS - var t = hh + ':' + mm + ':' + ss + ' (' + ms + ')'; - return t; - } - - Logger.prototype.write = function (options) { - if (typeof console !== 'undefined') { - //eslint-disable-line no-console - if (typeof console.log !== 'undefined') { - //eslint-disable-line no-console - return console.log(this.build_message(options)); //eslint-disable-line no-console - } - } - }; - - Logger.prototype.build_message = function (options) { - return '[' + formatTime(options.timestamp) + '] ' + options.message; - }; - - return Logger; -})(); - -Logger.define = function (logger, level) { - return logger[level] = function (message, callback) { - return this.add(level, message, callback); - }; -}; - -Logger.levels = { +var LEVELS = { debug: 1, info: 2, warn: 3, @@ -37916,15 +37898,98 @@ Logger.levels = { fatal: 5, 'default': 5 }; + +var defaultLevel = LEVELS.error; + exports.setLogLevel = function (level) { - Logger.levels['default'] = level; -}; -exports.create = function (options) { - return new Logger(options); + defaultLevel = level; }; -}).call(this,require('_process')) -},{"_process":3}],104:[function(require,module,exports){ +function formatTime(timestamp) { + var hh = timestamp.getUTCHours(); + var mm = timestamp.getUTCMinutes(); + var ss = timestamp.getSeconds(); + var ms = timestamp.getMilliseconds(); + // If you were building a timestamp instead of a duration, you would uncomment the following line to get 12-hour (not 24) time + // if (hh > 12) {hh = hh % 12;} + // These lines ensure you have two-digits + if (hh < 10) { + hh = '0' + hh; + } + if (mm < 10) { + mm = '0' + mm; + } + if (ss < 10) { + ss = '0' + ss; + } + if (ms < 100) { + ms = '0' + ms; + } + if (ms < 10) { + ms = '00' + ms; + } + // This formats your string to HH:MM:SS + var t = hh + ':' + mm + ':' + ss + ' (' + ms + ')'; + return t; +} + +var Log = (function () { + function Log(level) { + _classCallCheck(this, Log); + + this.level = level; + } + + _createClass(Log, [{ + key: 'log', + value: function log(str, level) { + var logLevel = this.level; + if (typeof logLevel === 'undefined') { + logLevel = defaultLevel; + } + if (logLevel <= level) { + if (typeof console !== 'undefined') { + //eslint-disable-line no-console + if (typeof console.log !== 'undefined') { + //eslint-disable-line no-console + return console.log('[' + formatTime(new Date()) + '] ' + str); //eslint-disable-line no-console + } + } + } + } + }, { + key: 'trace', + value: function trace(str) { + this.log(str, LEVELS.trace); + } + }, { + key: 'debug', + value: function debug(str) { + this.log(str, LEVELS.debug); + } + }, { + key: 'info', + value: function info(str) { + this.log(str, LEVELS.info); + } + }, { + key: 'warn', + value: function warn(str) { + this.log(str, LEVELS.warn); + } + }, { + key: 'error', + value: function error(str) { + this.log(str, LEVELS.error); + } + }]); + + return Log; +})(); + +exports.Log = Log; + +},{}],104:[function(require,module,exports){ (function (global){ //(function (root, factory) { // if (typeof exports === 'object') { @@ -37944,12 +38009,18 @@ exports.create = function (options) { * Web page integration module for the mermaid framework. It uses the mermaidAPI for mermaid functionality and to render * the diagrams to svg code. */ - 'use strict'; +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; } } + +var _logger = require('./logger'); + +var Logger = _interopRequireWildcard(_logger); + +var log = new Logger.Log(); var mermaidAPI = require('./mermaidAPI'); var nextId = 0; -var log = require('./logger').create(); + var he = require('he'); module.exports.mermaidAPI = mermaidAPI; @@ -38211,6 +38282,14 @@ if (typeof document !== 'undefined') { */ 'use strict'; +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; } } + +var _logger = require('./logger'); + +var Logger = _interopRequireWildcard(_logger); + +var log = new Logger.Log(); + var graph = require('./diagrams/flowchart/graphDb'); var utils = require('./utils'); var flowRenderer = require('./diagrams/flowchart/flowRenderer'); @@ -38247,7 +38326,7 @@ var config = { * * error: 4 * * fatal: 5 */ - logLevel: 3, + logLevel: 5, /** * **cloneCssStyles** - This options controls whether or not the css rules should be copied into the generated svg */ @@ -38421,7 +38500,7 @@ var config = { } }; -var log = require('./logger').create({ level: config.logLevel }); +Logger.setLogLevel(config.logLevel); /** * ## parse @@ -38658,6 +38737,7 @@ exports.initialize = function (options) { if (typeof options === 'object') { setConf(options); } + Logger.setLogLevel(config.logLevel); }; exports.getConfig = function () { return config; @@ -38695,9 +38775,9 @@ function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; var _logger = require('./logger'); -var Log = _interopRequireWildcard(_logger); +var Logger = _interopRequireWildcard(_logger); -var log = Log.create(); +var log = new Logger.Log(); /** * @function detectType diff --git a/dist/mermaid.slim.js b/dist/mermaid.slim.js index d9aa460f3..7ecfb8547 100644 --- a/dist/mermaid.slim.js +++ b/dist/mermaid.slim.js @@ -21492,10 +21492,10 @@ module.exports={ "tape": "node node_modules/.bin/tape test/cli_test-*.js", "jasmine": "node node_modules/jasmine-es6/bin/jasmine.js", "test": "npm run dist && npm run jasmine && npm run tape", - "dist-slim-mermaid": "node node_modules/browserify/bin/cmd.js src/mermaid.js -t babelify -s mermaid -o dist/mermaid.slim.js -x d3 && cat dist/mermaid.slim.js | uglifyjs -mc > dist/mermaid.slim.min.js", - "dist-slim-mermaidAPI": "node node_modules/browserify/bin/cmd.js src/mermaidAPI.js -t babelify -s mermaidAPI -o dist/mermaidAPI.slim.js -x d3 && cat dist/mermaidAPI.slim.js | uglifyjs -mc > dist/mermaidAPI.slim.min.js", - "dist-mermaid": "node node_modules/browserify/bin/cmd.js src/mermaid.js -t babelify -s mermaid -o dist/mermaid.js && cat dist/mermaid.js | uglifyjs -mc > dist/mermaid.min.js", - "dist-mermaidAPI": "node node_modules/browserify/bin/cmd.js src/mermaidAPI.js -t babelify -s mermaidAPI -o dist/mermaidAPI.js && cat dist/mermaidAPI.js | uglifyjs -mc > dist/mermaidAPI.min.js", + "dist-slim-mermaid": "node node_modules/browserify/bin/cmd.js src/mermaid.js -t babelify -s mermaid -o dist/mermaid.slim.js -x d3 && cat dist/mermaid.slim.js | node node_modules/uglifyjs/bin/uglifyjs -mc > dist/mermaid.slim.min.js", + "dist-slim-mermaidAPI": "node node_modules/browserify/bin/cmd.js src/mermaidAPI.js -t babelify -s mermaidAPI -o dist/mermaidAPI.slim.js -x d3 && cat dist/mermaidAPI.slim.js | node node_modules/uglifyjs/bin/uglifyjs -mc > dist/mermaidAPI.slim.min.js", + "dist-mermaid": "node node_modules/browserify/bin/cmd.js src/mermaid.js -t babelify -s mermaid -o dist/mermaid.js && cat dist/mermaid.js | node node_modules/uglifyjs/bin/uglifyjs -mc > dist/mermaid.min.js", + "dist-mermaidAPI": "node node_modules/browserify/bin/cmd.js src/mermaidAPI.js -t babelify -s mermaidAPI -o dist/mermaidAPI.js && cat dist/mermaidAPI.js | node node_modules/uglifyjs/bin/uglifyjs -mc > dist/mermaidAPI.min.js", "dist": "npm run dist-slim-mermaid;npm run dist-slim-mermaidAPI; npm run dist-mermaid;npm run dist-mermaidAPI" }, "repository": { @@ -21517,6 +21517,7 @@ module.exports={ }, "devDependencies": { "async": "^0.9.0", + "babel-eslint": "^4.1.3", "babelify": "^6.3.0", "browserify": "~6.2.0", "clone": "^0.2.0", @@ -21524,6 +21525,7 @@ module.exports={ "dateformat": "^1.0.11", "dox": "^0.8.0", "eslint": "^1.6.0", + "eslint-watch": "^2.1.2", "event-stream": "^3.2.0", "foundation": "^4.2.1-1", "front-matter": "^0.2.0", @@ -21570,6 +21572,7 @@ module.exports={ "rewire": "^2.1.3", "rimraf": "^2.2.8", "tape": "^3.0.3", + "uglifyjs": "^2.4.10", "vinyl-source-stream": "^1.1.0", "watchify": "^3.2.2" } @@ -22053,7 +22056,14 @@ module.exports = d3; */ 'use strict'; -var log = require('../../logger').create(); +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; } } + +var _logger = require('../../logger'); + +var Logger = _interopRequireWildcard(_logger); + +var log = new Logger.Log(); + var message = ''; var info = false; @@ -22085,10 +22095,18 @@ exports.parseError = function (err, hash) { */ 'use strict'; +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; } } + +var _logger = require('../../logger'); + +var Logger = _interopRequireWildcard(_logger); + var db = require('./exampleDb'); var exampleParser = require('./parser/example.js'); var d3 = require('../../d3'); -var log = require('../../logger').create(); + +var log = new Logger.Log(); + /** * Draws a an info picture in the tag with id: id based on the graph definition in text. * @param text @@ -22763,7 +22781,14 @@ if (typeof require !== 'undefined' && typeof exports !== 'undefined') { /* global window */ 'use strict'; -var log = require('../../logger').create(); +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; } } + +var _logger = require('../../logger'); + +var Logger = _interopRequireWildcard(_logger); + +var log = new Logger.Log(); + var dagreD3; //log.debug('setting up dagre-d3'); if (require) { @@ -22787,12 +22812,19 @@ module.exports = dagreD3; */ 'use strict'; +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; } } + +var _logger = require('../../logger'); + +var Logger = _interopRequireWildcard(_logger); + var graph = require('./graphDb'); var flow = require('./parser/flow'); var dot = require('./parser/dot'); var d3 = require('../../d3'); var dagreD3 = require('./dagre-d3'); -var log = require('../../logger').create(); + +var log = new Logger.Log(); var conf = {}; module.exports.setConf = function (cnf) { @@ -23219,7 +23251,14 @@ exports.draw = function (text, id, isDot) { */ 'use strict'; -var log = require('../../logger').create(); +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; } } + +var _logger = require('../../logger'); + +var Logger = _interopRequireWildcard(_logger); + +var log = new Logger.Log(); + var d3 = require('../../d3'); var vertices = {}; var edges = []; @@ -25513,8 +25552,15 @@ if (typeof require !== 'undefined' && typeof exports !== 'undefined') { */ 'use strict'; +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; } } + +var _logger = require('../../logger'); + +var Logger = _interopRequireWildcard(_logger); + var moment = require('moment'); -var log = require('../../logger').create(); + +var log = new Logger.Log(); var dateFormat = ''; var title = ''; @@ -27578,11 +27624,18 @@ if (typeof require !== 'undefined' && typeof exports !== 'undefined') { */ 'use strict'; +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; } } + +var _logger = require('../../logger'); + +var Logger = _interopRequireWildcard(_logger); + var actors = {}; var actorKeys = []; var messages = []; var notes = []; -var log = require('../../logger').create(); + +var log = new Logger.Log(); exports.addActor = function (id, name, description) { actors[id] = { name: name, description: description }; @@ -27715,11 +27768,18 @@ exports.apply = function (param) { 'use strict'; +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; } } + +var _logger = require('../../logger'); + +var Logger = _interopRequireWildcard(_logger); + var sq = require('./parser/sequenceDiagram').parser; sq.yy = require('./sequenceDb'); var svgDraw = require('./svgDraw'); var d3 = require('../../d3'); -var log = require('../../logger').create(); + +var log = new Logger.Log(); var conf = { @@ -28307,7 +28367,6 @@ exports.getNoteRect = function () { }; },{}],102:[function(require,module,exports){ -(function (process){ /** * #logger * logger = require('logger').create() @@ -28319,91 +28378,14 @@ exports.getNoteRect = function () { * logger.debug(function() { return "booom" }) * => [2011-3-3T20:24:4.810 error (5021)] booom */ + 'use strict'; -var Logger; +var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })(); -Logger = (function () { - function Logger(options) { - var level, ref; +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } } - this.options = options || {}; - this.level = this.options.level || Logger.levels['default']; - ref = Logger.levels; - for (level in ref) { - Logger.define(this, level); - } - } - - Logger.prototype.add = function (level, message, callback) { - if (this.level > (Logger.levels[level] || 5)) { - return; - } - if (callback) { - message = callback(); - } else if (typeof message === 'function') { - message = message(); - } - return this.write({ - timestamp: new Date(), - severity: level, - message: message, - pid: process.pid - }); - }; - - function formatTime(timestamp) { - var hh = timestamp.getUTCHours(); - var mm = timestamp.getUTCMinutes(); - var ss = timestamp.getSeconds(); - var ms = timestamp.getMilliseconds(); - // If you were building a timestamp instead of a duration, you would uncomment the following line to get 12-hour (not 24) time - // if (hh > 12) {hh = hh % 12;} - // These lines ensure you have two-digits - if (hh < 10) { - hh = '0' + hh; - } - if (mm < 10) { - mm = '0' + mm; - } - if (ss < 10) { - ss = '0' + ss; - } - if (ms < 100) { - ms = '0' + ms; - } - if (ms < 10) { - ms = '00' + ms; - } - // This formats your string to HH:MM:SS - var t = hh + ':' + mm + ':' + ss + ' (' + ms + ')'; - return t; - } - - Logger.prototype.write = function (options) { - if (typeof console !== 'undefined') { - //eslint-disable-line no-console - if (typeof console.log !== 'undefined') { - //eslint-disable-line no-console - return console.log(this.build_message(options)); //eslint-disable-line no-console - } - } - }; - - Logger.prototype.build_message = function (options) { - return '[' + formatTime(options.timestamp) + '] ' + options.message; - }; - - return Logger; -})(); - -Logger.define = function (logger, level) { - return logger[level] = function (message, callback) { - return this.add(level, message, callback); - }; -}; - -Logger.levels = { +var LEVELS = { debug: 1, info: 2, warn: 3, @@ -28411,15 +28393,98 @@ Logger.levels = { fatal: 5, 'default': 5 }; + +var defaultLevel = LEVELS.error; + exports.setLogLevel = function (level) { - Logger.levels['default'] = level; -}; -exports.create = function (options) { - return new Logger(options); + defaultLevel = level; }; -}).call(this,require('_process')) -},{"_process":3}],103:[function(require,module,exports){ +function formatTime(timestamp) { + var hh = timestamp.getUTCHours(); + var mm = timestamp.getUTCMinutes(); + var ss = timestamp.getSeconds(); + var ms = timestamp.getMilliseconds(); + // If you were building a timestamp instead of a duration, you would uncomment the following line to get 12-hour (not 24) time + // if (hh > 12) {hh = hh % 12;} + // These lines ensure you have two-digits + if (hh < 10) { + hh = '0' + hh; + } + if (mm < 10) { + mm = '0' + mm; + } + if (ss < 10) { + ss = '0' + ss; + } + if (ms < 100) { + ms = '0' + ms; + } + if (ms < 10) { + ms = '00' + ms; + } + // This formats your string to HH:MM:SS + var t = hh + ':' + mm + ':' + ss + ' (' + ms + ')'; + return t; +} + +var Log = (function () { + function Log(level) { + _classCallCheck(this, Log); + + this.level = level; + } + + _createClass(Log, [{ + key: 'log', + value: function log(str, level) { + var logLevel = this.level; + if (typeof logLevel === 'undefined') { + logLevel = defaultLevel; + } + if (logLevel <= level) { + if (typeof console !== 'undefined') { + //eslint-disable-line no-console + if (typeof console.log !== 'undefined') { + //eslint-disable-line no-console + return console.log('[' + formatTime(new Date()) + '] ' + str); //eslint-disable-line no-console + } + } + } + } + }, { + key: 'trace', + value: function trace(str) { + this.log(str, LEVELS.trace); + } + }, { + key: 'debug', + value: function debug(str) { + this.log(str, LEVELS.debug); + } + }, { + key: 'info', + value: function info(str) { + this.log(str, LEVELS.info); + } + }, { + key: 'warn', + value: function warn(str) { + this.log(str, LEVELS.warn); + } + }, { + key: 'error', + value: function error(str) { + this.log(str, LEVELS.error); + } + }]); + + return Log; +})(); + +exports.Log = Log; + +},{}],103:[function(require,module,exports){ (function (global){ //(function (root, factory) { // if (typeof exports === 'object') { @@ -28439,12 +28504,18 @@ exports.create = function (options) { * Web page integration module for the mermaid framework. It uses the mermaidAPI for mermaid functionality and to render * the diagrams to svg code. */ - 'use strict'; +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; } } + +var _logger = require('./logger'); + +var Logger = _interopRequireWildcard(_logger); + +var log = new Logger.Log(); var mermaidAPI = require('./mermaidAPI'); var nextId = 0; -var log = require('./logger').create(); + var he = require('he'); module.exports.mermaidAPI = mermaidAPI; @@ -28706,6 +28777,14 @@ if (typeof document !== 'undefined') { */ 'use strict'; +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; } } + +var _logger = require('./logger'); + +var Logger = _interopRequireWildcard(_logger); + +var log = new Logger.Log(); + var graph = require('./diagrams/flowchart/graphDb'); var utils = require('./utils'); var flowRenderer = require('./diagrams/flowchart/flowRenderer'); @@ -28742,7 +28821,7 @@ var config = { * * error: 4 * * fatal: 5 */ - logLevel: 3, + logLevel: 5, /** * **cloneCssStyles** - This options controls whether or not the css rules should be copied into the generated svg */ @@ -28916,7 +28995,7 @@ var config = { } }; -var log = require('./logger').create({ level: config.logLevel }); +Logger.setLogLevel(config.logLevel); /** * ## parse @@ -29153,6 +29232,7 @@ exports.initialize = function (options) { if (typeof options === 'object') { setConf(options); } + Logger.setLogLevel(config.logLevel); }; exports.getConfig = function () { return config; @@ -29190,9 +29270,9 @@ function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; var _logger = require('./logger'); -var Log = _interopRequireWildcard(_logger); +var Logger = _interopRequireWildcard(_logger); -var log = Log.create(); +var log = new Logger.Log(); /** * @function detectType diff --git a/dist/mermaidAPI.js b/dist/mermaidAPI.js index f02851f02..146d39003 100644 --- a/dist/mermaidAPI.js +++ b/dist/mermaidAPI.js @@ -30664,10 +30664,10 @@ module.exports={ "tape": "node node_modules/.bin/tape test/cli_test-*.js", "jasmine": "node node_modules/jasmine-es6/bin/jasmine.js", "test": "npm run dist && npm run jasmine && npm run tape", - "dist-slim-mermaid": "node node_modules/browserify/bin/cmd.js src/mermaid.js -t babelify -s mermaid -o dist/mermaid.slim.js -x d3 && cat dist/mermaid.slim.js | uglifyjs -mc > dist/mermaid.slim.min.js", - "dist-slim-mermaidAPI": "node node_modules/browserify/bin/cmd.js src/mermaidAPI.js -t babelify -s mermaidAPI -o dist/mermaidAPI.slim.js -x d3 && cat dist/mermaidAPI.slim.js | uglifyjs -mc > dist/mermaidAPI.slim.min.js", - "dist-mermaid": "node node_modules/browserify/bin/cmd.js src/mermaid.js -t babelify -s mermaid -o dist/mermaid.js && cat dist/mermaid.js | uglifyjs -mc > dist/mermaid.min.js", - "dist-mermaidAPI": "node node_modules/browserify/bin/cmd.js src/mermaidAPI.js -t babelify -s mermaidAPI -o dist/mermaidAPI.js && cat dist/mermaidAPI.js | uglifyjs -mc > dist/mermaidAPI.min.js", + "dist-slim-mermaid": "node node_modules/browserify/bin/cmd.js src/mermaid.js -t babelify -s mermaid -o dist/mermaid.slim.js -x d3 && cat dist/mermaid.slim.js | node node_modules/uglifyjs/bin/uglifyjs -mc > dist/mermaid.slim.min.js", + "dist-slim-mermaidAPI": "node node_modules/browserify/bin/cmd.js src/mermaidAPI.js -t babelify -s mermaidAPI -o dist/mermaidAPI.slim.js -x d3 && cat dist/mermaidAPI.slim.js | node node_modules/uglifyjs/bin/uglifyjs -mc > dist/mermaidAPI.slim.min.js", + "dist-mermaid": "node node_modules/browserify/bin/cmd.js src/mermaid.js -t babelify -s mermaid -o dist/mermaid.js && cat dist/mermaid.js | node node_modules/uglifyjs/bin/uglifyjs -mc > dist/mermaid.min.js", + "dist-mermaidAPI": "node node_modules/browserify/bin/cmd.js src/mermaidAPI.js -t babelify -s mermaidAPI -o dist/mermaidAPI.js && cat dist/mermaidAPI.js | node node_modules/uglifyjs/bin/uglifyjs -mc > dist/mermaidAPI.min.js", "dist": "npm run dist-slim-mermaid;npm run dist-slim-mermaidAPI; npm run dist-mermaid;npm run dist-mermaidAPI" }, "repository": { @@ -30689,6 +30689,7 @@ module.exports={ }, "devDependencies": { "async": "^0.9.0", + "babel-eslint": "^4.1.3", "babelify": "^6.3.0", "browserify": "~6.2.0", "clone": "^0.2.0", @@ -30696,6 +30697,7 @@ module.exports={ "dateformat": "^1.0.11", "dox": "^0.8.0", "eslint": "^1.6.0", + "eslint-watch": "^2.1.2", "event-stream": "^3.2.0", "foundation": "^4.2.1-1", "front-matter": "^0.2.0", @@ -30742,6 +30744,7 @@ module.exports={ "rewire": "^2.1.3", "rimraf": "^2.2.8", "tape": "^3.0.3", + "uglifyjs": "^2.4.10", "vinyl-source-stream": "^1.1.0", "watchify": "^3.2.2" } @@ -31225,7 +31228,14 @@ module.exports = d3; */ 'use strict'; -var log = require('../../logger').create(); +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; } } + +var _logger = require('../../logger'); + +var Logger = _interopRequireWildcard(_logger); + +var log = new Logger.Log(); + var message = ''; var info = false; @@ -31257,10 +31267,18 @@ exports.parseError = function (err, hash) { */ 'use strict'; +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; } } + +var _logger = require('../../logger'); + +var Logger = _interopRequireWildcard(_logger); + var db = require('./exampleDb'); var exampleParser = require('./parser/example.js'); var d3 = require('../../d3'); -var log = require('../../logger').create(); + +var log = new Logger.Log(); + /** * Draws a an info picture in the tag with id: id based on the graph definition in text. * @param text @@ -31935,7 +31953,14 @@ if (typeof require !== 'undefined' && typeof exports !== 'undefined') { /* global window */ 'use strict'; -var log = require('../../logger').create(); +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; } } + +var _logger = require('../../logger'); + +var Logger = _interopRequireWildcard(_logger); + +var log = new Logger.Log(); + var dagreD3; //log.debug('setting up dagre-d3'); if (require) { @@ -31959,12 +31984,19 @@ module.exports = dagreD3; */ 'use strict'; +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; } } + +var _logger = require('../../logger'); + +var Logger = _interopRequireWildcard(_logger); + var graph = require('./graphDb'); var flow = require('./parser/flow'); var dot = require('./parser/dot'); var d3 = require('../../d3'); var dagreD3 = require('./dagre-d3'); -var log = require('../../logger').create(); + +var log = new Logger.Log(); var conf = {}; module.exports.setConf = function (cnf) { @@ -32391,7 +32423,14 @@ exports.draw = function (text, id, isDot) { */ 'use strict'; -var log = require('../../logger').create(); +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; } } + +var _logger = require('../../logger'); + +var Logger = _interopRequireWildcard(_logger); + +var log = new Logger.Log(); + var d3 = require('../../d3'); var vertices = {}; var edges = []; @@ -34685,8 +34724,15 @@ if (typeof require !== 'undefined' && typeof exports !== 'undefined') { */ 'use strict'; +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; } } + +var _logger = require('../../logger'); + +var Logger = _interopRequireWildcard(_logger); + var moment = require('moment'); -var log = require('../../logger').create(); + +var log = new Logger.Log(); var dateFormat = ''; var title = ''; @@ -36750,11 +36796,18 @@ if (typeof require !== 'undefined' && typeof exports !== 'undefined') { */ 'use strict'; +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; } } + +var _logger = require('../../logger'); + +var Logger = _interopRequireWildcard(_logger); + var actors = {}; var actorKeys = []; var messages = []; var notes = []; -var log = require('../../logger').create(); + +var log = new Logger.Log(); exports.addActor = function (id, name, description) { actors[id] = { name: name, description: description }; @@ -36887,11 +36940,18 @@ exports.apply = function (param) { 'use strict'; +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; } } + +var _logger = require('../../logger'); + +var Logger = _interopRequireWildcard(_logger); + var sq = require('./parser/sequenceDiagram').parser; sq.yy = require('./sequenceDb'); var svgDraw = require('./svgDraw'); var d3 = require('../../d3'); -var log = require('../../logger').create(); + +var log = new Logger.Log(); var conf = { @@ -37479,7 +37539,6 @@ exports.getNoteRect = function () { }; },{}],102:[function(require,module,exports){ -(function (process){ /** * #logger * logger = require('logger').create() @@ -37491,91 +37550,14 @@ exports.getNoteRect = function () { * logger.debug(function() { return "booom" }) * => [2011-3-3T20:24:4.810 error (5021)] booom */ + 'use strict'; -var Logger; +var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })(); -Logger = (function () { - function Logger(options) { - var level, ref; +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } } - this.options = options || {}; - this.level = this.options.level || Logger.levels['default']; - ref = Logger.levels; - for (level in ref) { - Logger.define(this, level); - } - } - - Logger.prototype.add = function (level, message, callback) { - if (this.level > (Logger.levels[level] || 5)) { - return; - } - if (callback) { - message = callback(); - } else if (typeof message === 'function') { - message = message(); - } - return this.write({ - timestamp: new Date(), - severity: level, - message: message, - pid: process.pid - }); - }; - - function formatTime(timestamp) { - var hh = timestamp.getUTCHours(); - var mm = timestamp.getUTCMinutes(); - var ss = timestamp.getSeconds(); - var ms = timestamp.getMilliseconds(); - // If you were building a timestamp instead of a duration, you would uncomment the following line to get 12-hour (not 24) time - // if (hh > 12) {hh = hh % 12;} - // These lines ensure you have two-digits - if (hh < 10) { - hh = '0' + hh; - } - if (mm < 10) { - mm = '0' + mm; - } - if (ss < 10) { - ss = '0' + ss; - } - if (ms < 100) { - ms = '0' + ms; - } - if (ms < 10) { - ms = '00' + ms; - } - // This formats your string to HH:MM:SS - var t = hh + ':' + mm + ':' + ss + ' (' + ms + ')'; - return t; - } - - Logger.prototype.write = function (options) { - if (typeof console !== 'undefined') { - //eslint-disable-line no-console - if (typeof console.log !== 'undefined') { - //eslint-disable-line no-console - return console.log(this.build_message(options)); //eslint-disable-line no-console - } - } - }; - - Logger.prototype.build_message = function (options) { - return '[' + formatTime(options.timestamp) + '] ' + options.message; - }; - - return Logger; -})(); - -Logger.define = function (logger, level) { - return logger[level] = function (message, callback) { - return this.add(level, message, callback); - }; -}; - -Logger.levels = { +var LEVELS = { debug: 1, info: 2, warn: 3, @@ -37583,15 +37565,98 @@ Logger.levels = { fatal: 5, 'default': 5 }; + +var defaultLevel = LEVELS.error; + exports.setLogLevel = function (level) { - Logger.levels['default'] = level; -}; -exports.create = function (options) { - return new Logger(options); + defaultLevel = level; }; -}).call(this,require('_process')) -},{"_process":3}],103:[function(require,module,exports){ +function formatTime(timestamp) { + var hh = timestamp.getUTCHours(); + var mm = timestamp.getUTCMinutes(); + var ss = timestamp.getSeconds(); + var ms = timestamp.getMilliseconds(); + // If you were building a timestamp instead of a duration, you would uncomment the following line to get 12-hour (not 24) time + // if (hh > 12) {hh = hh % 12;} + // These lines ensure you have two-digits + if (hh < 10) { + hh = '0' + hh; + } + if (mm < 10) { + mm = '0' + mm; + } + if (ss < 10) { + ss = '0' + ss; + } + if (ms < 100) { + ms = '0' + ms; + } + if (ms < 10) { + ms = '00' + ms; + } + // This formats your string to HH:MM:SS + var t = hh + ':' + mm + ':' + ss + ' (' + ms + ')'; + return t; +} + +var Log = (function () { + function Log(level) { + _classCallCheck(this, Log); + + this.level = level; + } + + _createClass(Log, [{ + key: 'log', + value: function log(str, level) { + var logLevel = this.level; + if (typeof logLevel === 'undefined') { + logLevel = defaultLevel; + } + if (logLevel <= level) { + if (typeof console !== 'undefined') { + //eslint-disable-line no-console + if (typeof console.log !== 'undefined') { + //eslint-disable-line no-console + return console.log('[' + formatTime(new Date()) + '] ' + str); //eslint-disable-line no-console + } + } + } + } + }, { + key: 'trace', + value: function trace(str) { + this.log(str, LEVELS.trace); + } + }, { + key: 'debug', + value: function debug(str) { + this.log(str, LEVELS.debug); + } + }, { + key: 'info', + value: function info(str) { + this.log(str, LEVELS.info); + } + }, { + key: 'warn', + value: function warn(str) { + this.log(str, LEVELS.warn); + } + }, { + key: 'error', + value: function error(str) { + this.log(str, LEVELS.error); + } + }]); + + return Log; +})(); + +exports.Log = Log; + +},{}],103:[function(require,module,exports){ (function (global){ /** * --- @@ -37608,6 +37673,14 @@ exports.create = function (options) { */ 'use strict'; +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; } } + +var _logger = require('./logger'); + +var Logger = _interopRequireWildcard(_logger); + +var log = new Logger.Log(); + var graph = require('./diagrams/flowchart/graphDb'); var utils = require('./utils'); var flowRenderer = require('./diagrams/flowchart/flowRenderer'); @@ -37644,7 +37717,7 @@ var config = { * * error: 4 * * fatal: 5 */ - logLevel: 3, + logLevel: 5, /** * **cloneCssStyles** - This options controls whether or not the css rules should be copied into the generated svg */ @@ -37818,7 +37891,7 @@ var config = { } }; -var log = require('./logger').create({ level: config.logLevel }); +Logger.setLogLevel(config.logLevel); /** * ## parse @@ -38055,6 +38128,7 @@ exports.initialize = function (options) { if (typeof options === 'object') { setConf(options); } + Logger.setLogLevel(config.logLevel); }; exports.getConfig = function () { return config; @@ -38092,9 +38166,9 @@ function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; var _logger = require('./logger'); -var Log = _interopRequireWildcard(_logger); +var Logger = _interopRequireWildcard(_logger); -var log = Log.create(); +var log = new Logger.Log(); /** * @function detectType diff --git a/dist/mermaidAPI.slim.js b/dist/mermaidAPI.slim.js index 1a3c9ae4a..144df352f 100644 --- a/dist/mermaidAPI.slim.js +++ b/dist/mermaidAPI.slim.js @@ -21159,10 +21159,10 @@ module.exports={ "tape": "node node_modules/.bin/tape test/cli_test-*.js", "jasmine": "node node_modules/jasmine-es6/bin/jasmine.js", "test": "npm run dist && npm run jasmine && npm run tape", - "dist-slim-mermaid": "node node_modules/browserify/bin/cmd.js src/mermaid.js -t babelify -s mermaid -o dist/mermaid.slim.js -x d3 && cat dist/mermaid.slim.js | uglifyjs -mc > dist/mermaid.slim.min.js", - "dist-slim-mermaidAPI": "node node_modules/browserify/bin/cmd.js src/mermaidAPI.js -t babelify -s mermaidAPI -o dist/mermaidAPI.slim.js -x d3 && cat dist/mermaidAPI.slim.js | uglifyjs -mc > dist/mermaidAPI.slim.min.js", - "dist-mermaid": "node node_modules/browserify/bin/cmd.js src/mermaid.js -t babelify -s mermaid -o dist/mermaid.js && cat dist/mermaid.js | uglifyjs -mc > dist/mermaid.min.js", - "dist-mermaidAPI": "node node_modules/browserify/bin/cmd.js src/mermaidAPI.js -t babelify -s mermaidAPI -o dist/mermaidAPI.js && cat dist/mermaidAPI.js | uglifyjs -mc > dist/mermaidAPI.min.js", + "dist-slim-mermaid": "node node_modules/browserify/bin/cmd.js src/mermaid.js -t babelify -s mermaid -o dist/mermaid.slim.js -x d3 && cat dist/mermaid.slim.js | node node_modules/uglifyjs/bin/uglifyjs -mc > dist/mermaid.slim.min.js", + "dist-slim-mermaidAPI": "node node_modules/browserify/bin/cmd.js src/mermaidAPI.js -t babelify -s mermaidAPI -o dist/mermaidAPI.slim.js -x d3 && cat dist/mermaidAPI.slim.js | node node_modules/uglifyjs/bin/uglifyjs -mc > dist/mermaidAPI.slim.min.js", + "dist-mermaid": "node node_modules/browserify/bin/cmd.js src/mermaid.js -t babelify -s mermaid -o dist/mermaid.js && cat dist/mermaid.js | node node_modules/uglifyjs/bin/uglifyjs -mc > dist/mermaid.min.js", + "dist-mermaidAPI": "node node_modules/browserify/bin/cmd.js src/mermaidAPI.js -t babelify -s mermaidAPI -o dist/mermaidAPI.js && cat dist/mermaidAPI.js | node node_modules/uglifyjs/bin/uglifyjs -mc > dist/mermaidAPI.min.js", "dist": "npm run dist-slim-mermaid;npm run dist-slim-mermaidAPI; npm run dist-mermaid;npm run dist-mermaidAPI" }, "repository": { @@ -21184,6 +21184,7 @@ module.exports={ }, "devDependencies": { "async": "^0.9.0", + "babel-eslint": "^4.1.3", "babelify": "^6.3.0", "browserify": "~6.2.0", "clone": "^0.2.0", @@ -21191,6 +21192,7 @@ module.exports={ "dateformat": "^1.0.11", "dox": "^0.8.0", "eslint": "^1.6.0", + "eslint-watch": "^2.1.2", "event-stream": "^3.2.0", "foundation": "^4.2.1-1", "front-matter": "^0.2.0", @@ -21237,6 +21239,7 @@ module.exports={ "rewire": "^2.1.3", "rimraf": "^2.2.8", "tape": "^3.0.3", + "uglifyjs": "^2.4.10", "vinyl-source-stream": "^1.1.0", "watchify": "^3.2.2" } @@ -21720,7 +21723,14 @@ module.exports = d3; */ 'use strict'; -var log = require('../../logger').create(); +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; } } + +var _logger = require('../../logger'); + +var Logger = _interopRequireWildcard(_logger); + +var log = new Logger.Log(); + var message = ''; var info = false; @@ -21752,10 +21762,18 @@ exports.parseError = function (err, hash) { */ 'use strict'; +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; } } + +var _logger = require('../../logger'); + +var Logger = _interopRequireWildcard(_logger); + var db = require('./exampleDb'); var exampleParser = require('./parser/example.js'); var d3 = require('../../d3'); -var log = require('../../logger').create(); + +var log = new Logger.Log(); + /** * Draws a an info picture in the tag with id: id based on the graph definition in text. * @param text @@ -22430,7 +22448,14 @@ if (typeof require !== 'undefined' && typeof exports !== 'undefined') { /* global window */ 'use strict'; -var log = require('../../logger').create(); +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; } } + +var _logger = require('../../logger'); + +var Logger = _interopRequireWildcard(_logger); + +var log = new Logger.Log(); + var dagreD3; //log.debug('setting up dagre-d3'); if (require) { @@ -22454,12 +22479,19 @@ module.exports = dagreD3; */ 'use strict'; +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; } } + +var _logger = require('../../logger'); + +var Logger = _interopRequireWildcard(_logger); + var graph = require('./graphDb'); var flow = require('./parser/flow'); var dot = require('./parser/dot'); var d3 = require('../../d3'); var dagreD3 = require('./dagre-d3'); -var log = require('../../logger').create(); + +var log = new Logger.Log(); var conf = {}; module.exports.setConf = function (cnf) { @@ -22886,7 +22918,14 @@ exports.draw = function (text, id, isDot) { */ 'use strict'; -var log = require('../../logger').create(); +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; } } + +var _logger = require('../../logger'); + +var Logger = _interopRequireWildcard(_logger); + +var log = new Logger.Log(); + var d3 = require('../../d3'); var vertices = {}; var edges = []; @@ -25180,8 +25219,15 @@ if (typeof require !== 'undefined' && typeof exports !== 'undefined') { */ 'use strict'; +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; } } + +var _logger = require('../../logger'); + +var Logger = _interopRequireWildcard(_logger); + var moment = require('moment'); -var log = require('../../logger').create(); + +var log = new Logger.Log(); var dateFormat = ''; var title = ''; @@ -27245,11 +27291,18 @@ if (typeof require !== 'undefined' && typeof exports !== 'undefined') { */ 'use strict'; +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; } } + +var _logger = require('../../logger'); + +var Logger = _interopRequireWildcard(_logger); + var actors = {}; var actorKeys = []; var messages = []; var notes = []; -var log = require('../../logger').create(); + +var log = new Logger.Log(); exports.addActor = function (id, name, description) { actors[id] = { name: name, description: description }; @@ -27382,11 +27435,18 @@ exports.apply = function (param) { 'use strict'; +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; } } + +var _logger = require('../../logger'); + +var Logger = _interopRequireWildcard(_logger); + var sq = require('./parser/sequenceDiagram').parser; sq.yy = require('./sequenceDb'); var svgDraw = require('./svgDraw'); var d3 = require('../../d3'); -var log = require('../../logger').create(); + +var log = new Logger.Log(); var conf = { @@ -27974,7 +28034,6 @@ exports.getNoteRect = function () { }; },{}],101:[function(require,module,exports){ -(function (process){ /** * #logger * logger = require('logger').create() @@ -27986,91 +28045,14 @@ exports.getNoteRect = function () { * logger.debug(function() { return "booom" }) * => [2011-3-3T20:24:4.810 error (5021)] booom */ + 'use strict'; -var Logger; +var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })(); -Logger = (function () { - function Logger(options) { - var level, ref; +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } } - this.options = options || {}; - this.level = this.options.level || Logger.levels['default']; - ref = Logger.levels; - for (level in ref) { - Logger.define(this, level); - } - } - - Logger.prototype.add = function (level, message, callback) { - if (this.level > (Logger.levels[level] || 5)) { - return; - } - if (callback) { - message = callback(); - } else if (typeof message === 'function') { - message = message(); - } - return this.write({ - timestamp: new Date(), - severity: level, - message: message, - pid: process.pid - }); - }; - - function formatTime(timestamp) { - var hh = timestamp.getUTCHours(); - var mm = timestamp.getUTCMinutes(); - var ss = timestamp.getSeconds(); - var ms = timestamp.getMilliseconds(); - // If you were building a timestamp instead of a duration, you would uncomment the following line to get 12-hour (not 24) time - // if (hh > 12) {hh = hh % 12;} - // These lines ensure you have two-digits - if (hh < 10) { - hh = '0' + hh; - } - if (mm < 10) { - mm = '0' + mm; - } - if (ss < 10) { - ss = '0' + ss; - } - if (ms < 100) { - ms = '0' + ms; - } - if (ms < 10) { - ms = '00' + ms; - } - // This formats your string to HH:MM:SS - var t = hh + ':' + mm + ':' + ss + ' (' + ms + ')'; - return t; - } - - Logger.prototype.write = function (options) { - if (typeof console !== 'undefined') { - //eslint-disable-line no-console - if (typeof console.log !== 'undefined') { - //eslint-disable-line no-console - return console.log(this.build_message(options)); //eslint-disable-line no-console - } - } - }; - - Logger.prototype.build_message = function (options) { - return '[' + formatTime(options.timestamp) + '] ' + options.message; - }; - - return Logger; -})(); - -Logger.define = function (logger, level) { - return logger[level] = function (message, callback) { - return this.add(level, message, callback); - }; -}; - -Logger.levels = { +var LEVELS = { debug: 1, info: 2, warn: 3, @@ -28078,15 +28060,98 @@ Logger.levels = { fatal: 5, 'default': 5 }; + +var defaultLevel = LEVELS.error; + exports.setLogLevel = function (level) { - Logger.levels['default'] = level; -}; -exports.create = function (options) { - return new Logger(options); + defaultLevel = level; }; -}).call(this,require('_process')) -},{"_process":3}],102:[function(require,module,exports){ +function formatTime(timestamp) { + var hh = timestamp.getUTCHours(); + var mm = timestamp.getUTCMinutes(); + var ss = timestamp.getSeconds(); + var ms = timestamp.getMilliseconds(); + // If you were building a timestamp instead of a duration, you would uncomment the following line to get 12-hour (not 24) time + // if (hh > 12) {hh = hh % 12;} + // These lines ensure you have two-digits + if (hh < 10) { + hh = '0' + hh; + } + if (mm < 10) { + mm = '0' + mm; + } + if (ss < 10) { + ss = '0' + ss; + } + if (ms < 100) { + ms = '0' + ms; + } + if (ms < 10) { + ms = '00' + ms; + } + // This formats your string to HH:MM:SS + var t = hh + ':' + mm + ':' + ss + ' (' + ms + ')'; + return t; +} + +var Log = (function () { + function Log(level) { + _classCallCheck(this, Log); + + this.level = level; + } + + _createClass(Log, [{ + key: 'log', + value: function log(str, level) { + var logLevel = this.level; + if (typeof logLevel === 'undefined') { + logLevel = defaultLevel; + } + if (logLevel <= level) { + if (typeof console !== 'undefined') { + //eslint-disable-line no-console + if (typeof console.log !== 'undefined') { + //eslint-disable-line no-console + return console.log('[' + formatTime(new Date()) + '] ' + str); //eslint-disable-line no-console + } + } + } + } + }, { + key: 'trace', + value: function trace(str) { + this.log(str, LEVELS.trace); + } + }, { + key: 'debug', + value: function debug(str) { + this.log(str, LEVELS.debug); + } + }, { + key: 'info', + value: function info(str) { + this.log(str, LEVELS.info); + } + }, { + key: 'warn', + value: function warn(str) { + this.log(str, LEVELS.warn); + } + }, { + key: 'error', + value: function error(str) { + this.log(str, LEVELS.error); + } + }]); + + return Log; +})(); + +exports.Log = Log; + +},{}],102:[function(require,module,exports){ (function (global){ /** * --- @@ -28103,6 +28168,14 @@ exports.create = function (options) { */ 'use strict'; +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; } } + +var _logger = require('./logger'); + +var Logger = _interopRequireWildcard(_logger); + +var log = new Logger.Log(); + var graph = require('./diagrams/flowchart/graphDb'); var utils = require('./utils'); var flowRenderer = require('./diagrams/flowchart/flowRenderer'); @@ -28139,7 +28212,7 @@ var config = { * * error: 4 * * fatal: 5 */ - logLevel: 3, + logLevel: 5, /** * **cloneCssStyles** - This options controls whether or not the css rules should be copied into the generated svg */ @@ -28313,7 +28386,7 @@ var config = { } }; -var log = require('./logger').create({ level: config.logLevel }); +Logger.setLogLevel(config.logLevel); /** * ## parse @@ -28550,6 +28623,7 @@ exports.initialize = function (options) { if (typeof options === 'object') { setConf(options); } + Logger.setLogLevel(config.logLevel); }; exports.getConfig = function () { return config; @@ -28587,9 +28661,9 @@ function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; var _logger = require('./logger'); -var Log = _interopRequireWildcard(_logger); +var Logger = _interopRequireWildcard(_logger); -var log = Log.create(); +var log = new Logger.Log(); /** * @function detectType diff --git a/lib/cli.js b/lib/cli.js index 80dee52ca..a189c1019 100644 --- a/lib/cli.js +++ b/lib/cli.js @@ -27,6 +27,7 @@ function cli(options) { , sequenceConfig: 'c' , ganttConfig: 'g' , css: 't' + , width: 'w' } , 'boolean': ['help', 'png', 'svg'] , 'string': ['outputDir'] @@ -50,6 +51,7 @@ function cli(options) { , " -g --ganttConfig Specify the path to the file with the configuration to be applied in the gantt diagram" , " -h --help Show this message" , " -v --verbose Show logging" + , " -w --width width of the generated png (number)" , " --version Print version and quit" ] @@ -97,11 +99,8 @@ cli.prototype.parse = function(argv, next) { options.sequenceConfig = checkConfig(options.sequenceConfig) } - if (options.ganttConfig) { - console.log('Got conf1'+options.ganttConfig); options.ganttConfig = checkConfig(options.ganttConfig) - console.log('Got conf'+options.ganttConfig); } if (options.css) { @@ -114,6 +113,11 @@ cli.prototype.parse = function(argv, next) { options.css = fs.readFileSync(path.join(__dirname, '..', 'dist', 'mermaid.css')) } + // set svg/png flags appropriately + if(!options.width){ + options.width = 1200; + } + this.checkPhantom = createCheckPhantom(options.phantomPath) this.checkPhantom(function(err, path) { diff --git a/lib/index.js b/lib/index.js index 284634a7a..b85a33c44 100644 --- a/lib/index.js +++ b/lib/index.js @@ -22,6 +22,7 @@ function processMermaid(files, _options, _next) { , options.sequenceConfig , options.ganttConfig , options.verbose + , options.width ] files.forEach(function(file) { diff --git a/lib/phantomscript.js b/lib/phantomscript.js index 94df5a282..ad2bfed2f 100644 --- a/lib/phantomscript.js +++ b/lib/phantomscript.js @@ -30,8 +30,14 @@ var system = require('system') var page = webpage.create() - , files = phantom.args.slice(7, phantom.args.length) - , options = { + , files = phantom.args.slice(8, phantom.args.length) + , width = phantom.args[7] + +if(typeof width === 'undefined'){ + width = 1200; +} + +var options = { outputDir: phantom.args[0] , png: phantom.args[1] === 'true' ? true : false , svg: phantom.args[2] === 'true' ? true : false @@ -39,6 +45,7 @@ var page = webpage.create() , sequenceConfig: phantom.args[4] , ganttConfig: phantom.args[5] , verbose: phantom.args[6] === 'true' ? true : false + , width: width } , log = logger(options.verbose) @@ -80,7 +87,8 @@ files.forEach(function(file) { svgContent = page.evaluate(executeInPage, { contents : contents, ganttConfig : options.ganttConfig, - sequenceConfig : options.sequenceConfig + sequenceConfig : options.sequenceConfig, + confWidth : options.width }) oDOM = oParser.parseFromString(svgContent, "text/xml") @@ -213,6 +221,7 @@ function executeInPage(data) { , boundingBox , width , height + , confWidth = data.confWidth toRemove = document.getElementsByClassName('mermaid') if (toRemove && toRemove.length) { @@ -257,7 +266,8 @@ function executeInPage(data) { document.body.appendChild(sc) } - + //console.log(document.head.innerHTML); + //console.log(document.body.innerHTML); mermaid.init(); svg = document.querySelector('svg') @@ -266,25 +276,27 @@ function executeInPage(data) { width = boundingBox.width * 1.5; // adding the scale factor for consistency with output in chrome browser height = boundingBox.height * 1.5; // adding the scale factor for consistency with output in chrome browser + var scalefactor = confWidth/(width-8); + // resizing the body to fit the svg document.body.setAttribute( 'style' - , 'width: ' + width + '; height: ' + height + ';' + , 'width: ' + (confWidth-8) + '; height: ' + (height*scalefactor) + ';' ) // resizing the svg via css for consistent display svg.setAttribute( 'style' - , 'width: ' + width + '; height: ' + height + ';' + , 'width: ' + (confWidth-8) + '; height: ' + (height*scalefactor) + ';' ) // set witdth and height attributes used to set the viewport when rending png image svg.setAttribute( 'width' - , width + , confWidth ) svg.setAttribute( 'height' - , height + , height*scalefactor ) svgValue = xmlSerializer.serializeToString(svg) diff --git a/package.json b/package.json index 7d7b9168f..887ab43e3 100644 --- a/package.json +++ b/package.json @@ -46,6 +46,7 @@ }, "devDependencies": { "async": "^0.9.0", + "babel-eslint": "^4.1.3", "babelify": "^6.3.0", "browserify": "~6.2.0", "clone": "^0.2.0", @@ -53,6 +54,7 @@ "dateformat": "^1.0.11", "dox": "^0.8.0", "eslint": "^1.6.0", + "eslint-watch": "^2.1.2", "event-stream": "^3.2.0", "foundation": "^4.2.1-1", "front-matter": "^0.2.0", diff --git a/src/diagrams/example/exampleDb.js b/src/diagrams/example/exampleDb.js index b85f7747f..4f7668ef6 100644 --- a/src/diagrams/example/exampleDb.js +++ b/src/diagrams/example/exampleDb.js @@ -1,7 +1,9 @@ /** * Created by knut on 15-01-14. */ -var log = require('../../logger').create(); +import * as Logger from '../../logger'; +var log = new Logger.Log(); + var message = ''; var info = false; diff --git a/src/diagrams/example/exampleRenderer.js b/src/diagrams/example/exampleRenderer.js index 13c72e0e7..eec87898b 100644 --- a/src/diagrams/example/exampleRenderer.js +++ b/src/diagrams/example/exampleRenderer.js @@ -4,7 +4,9 @@ var db = require('./exampleDb'); var exampleParser = require('./parser/example.js'); var d3 = require('../../d3'); -var log = require('../../logger').create(); +import * as Logger from '../../logger'; +var log = new Logger.Log(); + /** * Draws a an info picture in the tag with id: id based on the graph definition in text. * @param text diff --git a/src/diagrams/flowchart/dagre-d3.js b/src/diagrams/flowchart/dagre-d3.js index 84fc33069..3f6cf9e90 100644 --- a/src/diagrams/flowchart/dagre-d3.js +++ b/src/diagrams/flowchart/dagre-d3.js @@ -1,5 +1,7 @@ /* global window */ -var log = require('../../logger').create(); +import * as Logger from '../../logger'; +var log = new Logger.Log(); + var dagreD3; //log.debug('setting up dagre-d3'); if (require) { diff --git a/src/diagrams/flowchart/flowRenderer.js b/src/diagrams/flowchart/flowRenderer.js index 39ab5e157..a14d69a82 100644 --- a/src/diagrams/flowchart/flowRenderer.js +++ b/src/diagrams/flowchart/flowRenderer.js @@ -6,7 +6,9 @@ var flow = require('./parser/flow'); var dot = require('./parser/dot'); var d3 = require('../../d3'); var dagreD3 = require('./dagre-d3'); -var log = require('../../logger').create(); +import * as Logger from '../../logger'; +var log = new Logger.Log(); + var conf = { }; diff --git a/src/diagrams/flowchart/graphDb.js b/src/diagrams/flowchart/graphDb.js index 641f94bee..005ada77f 100644 --- a/src/diagrams/flowchart/graphDb.js +++ b/src/diagrams/flowchart/graphDb.js @@ -1,7 +1,9 @@ /** * Created by knut on 14-11-03. */ -var log = require('../../logger').create(); +import * as Logger from '../../logger'; +var log = new Logger.Log(); + var d3 = require('../../d3'); var vertices = {}; var edges = []; diff --git a/src/diagrams/gantt/ganttDb.js b/src/diagrams/gantt/ganttDb.js index 47858de56..8e7741bb9 100644 --- a/src/diagrams/gantt/ganttDb.js +++ b/src/diagrams/gantt/ganttDb.js @@ -2,7 +2,9 @@ * Created by knut on 15-01-14. */ var moment = require('moment'); -var log = require('../../logger').create(); +import * as Logger from '../../logger'; +var log = new Logger.Log(); + var dateFormat = ''; var title = ''; diff --git a/src/diagrams/sequenceDiagram/sequenceDb.js b/src/diagrams/sequenceDiagram/sequenceDb.js index 5415497a4..5b302cd12 100644 --- a/src/diagrams/sequenceDiagram/sequenceDb.js +++ b/src/diagrams/sequenceDiagram/sequenceDb.js @@ -5,7 +5,9 @@ var actors = {}; var actorKeys = []; var messages = []; var notes = []; -var log = require('../../logger').create(); +import * as Logger from '../../logger'; +var log = new Logger.Log(); + exports.addActor = function(id,name,description){ diff --git a/src/diagrams/sequenceDiagram/sequenceRenderer.js b/src/diagrams/sequenceDiagram/sequenceRenderer.js index 47847fbf9..f343a9037 100644 --- a/src/diagrams/sequenceDiagram/sequenceRenderer.js +++ b/src/diagrams/sequenceDiagram/sequenceRenderer.js @@ -6,7 +6,9 @@ var sq = require('./parser/sequenceDiagram').parser; sq.yy = require('./sequenceDb'); var svgDraw = require('./svgDraw'); var d3 = require('../../d3'); -var log = require('../../logger').create(); +import * as Logger from '../../logger'; +var log = new Logger.Log(); + var conf = { diff --git a/src/logger.js b/src/logger.js index 6717f5c61..e5ee69946 100644 --- a/src/logger.js +++ b/src/logger.js @@ -9,88 +9,89 @@ * logger.debug(function() { return "booom" }) * => [2011-3-3T20:24:4.810 error (5021)] booom */ -var Logger; -Logger = (function() { - function Logger(options) { - var level, ref; - - this.options = options || {}; - this.level = this.options.level || Logger.levels.default; - ref = Logger.levels; - for (level in ref) { - Logger.define(this, level); - } - } - - Logger.prototype.add = function(level, message, callback) { - if (this.level > (Logger.levels[level] || 5)) { - return; - } - if (callback) { - message = callback(); - } else if (typeof message === 'function') { - message = message(); - } - return this.write({ - timestamp: new Date, - severity: level, - message: message, - pid: process.pid - }); - }; - - function formatTime(timestamp){ - var hh = timestamp.getUTCHours(); - var mm = timestamp.getUTCMinutes(); - var ss = timestamp.getSeconds(); - var ms = timestamp.getMilliseconds(); - // If you were building a timestamp instead of a duration, you would uncomment the following line to get 12-hour (not 24) time - // if (hh > 12) {hh = hh % 12;} - // These lines ensure you have two-digits - if (hh < 10) {hh = '0'+hh;} - if (mm < 10) {mm = '0'+mm;} - if (ss < 10) {ss = '0'+ss;} - if (ms < 100){ms = '0'+ms;} - if (ms < 10) {ms = '00'+ms;} - // This formats your string to HH:MM:SS - var t = hh+':'+mm+':'+ss +' ('+ms+')'; - return t; - } - - Logger.prototype.write = function(options) { - if(typeof console !== 'undefined'){ //eslint-disable-line no-console - if(typeof console.log !== 'undefined'){ //eslint-disable-line no-console - return console.log(this.build_message(options)); //eslint-disable-line no-console - } - } - }; - - Logger.prototype.build_message = function(options) { - return '[' + formatTime(options.timestamp) + '] ' + options.message; - }; - - return Logger; - -})(); - -Logger.define = function(logger, level) { - return logger[level] = function(message, callback) { - return this.add(level, message, callback); - }; -}; - -Logger.levels = { +const LEVELS = { debug: 1, info: 2, warn: 3, error: 4, fatal: 5, - default:5 + default: 5 }; -exports.setLogLevel = function(level){ - Logger.levels.default = level; + +let defaultLevel = LEVELS.error; + +exports.setLogLevel = function (level) { + defaultLevel = level; +}; + +function formatTime(timestamp) { + var hh = timestamp.getUTCHours(); + var mm = timestamp.getUTCMinutes(); + var ss = timestamp.getSeconds(); + var ms = timestamp.getMilliseconds(); + // If you were building a timestamp instead of a duration, you would uncomment the following line to get 12-hour (not 24) time + // if (hh > 12) {hh = hh % 12;} + // These lines ensure you have two-digits + if (hh < 10) { + hh = '0' + hh; + } + if (mm < 10) { + mm = '0' + mm; + } + if (ss < 10) { + ss = '0' + ss; + } + if (ms < 100) { + ms = '0' + ms; + } + if (ms < 10) { + ms = '00' + ms; + } + // This formats your string to HH:MM:SS + var t = hh + ':' + mm + ':' + ss + ' (' + ms + ')'; + return t; } -exports.create = function(options) { - return new Logger(options); -}; \ No newline at end of file + + +class Log { + constructor(level) { + this.level = level; + } + + log(str, level) { + let logLevel = this.level; + if(typeof logLevel === 'undefined'){ + logLevel = defaultLevel; + } + if (logLevel <= level) { + if (typeof console !== 'undefined') { //eslint-disable-line no-console + if (typeof console.log !== 'undefined') { //eslint-disable-line no-console + return console.log('[' + formatTime(new Date()) + '] ' + str); //eslint-disable-line no-console + } + } + } + } + + trace(str) { + this.log(str, LEVELS.trace); + } + + debug(str) { + this.log(str, LEVELS.debug); + } + + info(str) { + this.log(str, LEVELS.info); + } + + warn(str) { + this.log(str, LEVELS.warn); + } + + error(str) { + this.log(str, LEVELS.error); + } +} + +exports.Log = Log; \ No newline at end of file diff --git a/src/mermaid.js b/src/mermaid.js index 630dfbd66..865c372cc 100644 --- a/src/mermaid.js +++ b/src/mermaid.js @@ -16,10 +16,11 @@ * Web page integration module for the mermaid framework. It uses the mermaidAPI for mermaid functionality and to render * the diagrams to svg code. */ - +import * as Logger from './logger'; +var log = new Logger.Log(); var mermaidAPI = require('./mermaidAPI'); var nextId = 0; -var log = require('./logger').create(); + var he = require('he'); module.exports.mermaidAPI = mermaidAPI; diff --git a/src/mermaidAPI.js b/src/mermaidAPI.js index 1bbd95dc9..8d0af2af8 100644 --- a/src/mermaidAPI.js +++ b/src/mermaidAPI.js @@ -11,6 +11,9 @@ * returns a svg element for the graph. It is is then up to the user of the API to make use of the svg, either insert it * somewhere in the page or something completely different. */ +import * as Logger from './logger'; +var log = new Logger.Log(); + var graph = require('./diagrams/flowchart/graphDb'); var utils = require('./utils'); var flowRenderer = require('./diagrams/flowchart/flowRenderer'); @@ -47,7 +50,7 @@ var config = { * * error: 4 * * fatal: 5 */ - logLevel: 3, + logLevel: 5, /** * **cloneCssStyles** - This options controls whether or not the css rules should be copied into the generated svg */ @@ -222,7 +225,8 @@ var config = { } }; -var log = require('./logger').create({level:config.logLevel}); +Logger.setLogLevel(config.logLevel); + /** * ## parse @@ -479,6 +483,7 @@ exports.initialize = function(options){ if(typeof options === 'object'){ setConf(options); } + Logger.setLogLevel(config.logLevel); }; exports.getConfig = function(){ diff --git a/src/utils.js b/src/utils.js index a877433cf..d3b0fcfb4 100644 --- a/src/utils.js +++ b/src/utils.js @@ -1,8 +1,8 @@ /** * Created by knut on 14-11-23. */ -import * as Log from './logger'; -var log = Log.create(); +import * as Logger from './logger'; +var log = new Logger.Log(); /** * @function detectType diff --git a/test/examples/calie.html b/test/examples/calie.html new file mode 100644 index 000000000..85a1b9486 --- /dev/null +++ b/test/examples/calie.html @@ -0,0 +1,121 @@ + + + + + + + +

+
+
\ No newline at end of file
diff --git a/test/examples/interactionAndTooltips.html b/test/examples/interactionAndTooltips.html
index 3687b9aaa..5e005ec03 100644
--- a/test/examples/interactionAndTooltips.html
+++ b/test/examples/interactionAndTooltips.html
@@ -19,6 +19,7 @@
         function callback2(id){
             alert('x'+id);
         }
+        mermaid.initialize({logLevel:1});