From 3472ddfad7c2e6f63cc3666266579cdec573ff88 Mon Sep 17 00:00:00 2001 From: Phil Kunz Date: Sun, 28 Jan 2018 04:31:06 +0100 Subject: [PATCH] feat(ts): initial --- .gitignore | 3 +- .gitlab-ci.yml | 73 +++++-- defaults.yml | 4 + dist/index.d.ts | 3 + dist/index.js | 12 ++ dist/smartlog.classes.smartlog.d.ts | 24 +++ dist/smartlog.classes.smartlog.js | 55 +++++ dist/smartlog.plugins.d.ts | 2 + dist/smartlog.plugins.js | 5 + npmextra.json | 7 + package-lock.json | 51 +++++ package.json | 37 ++-- test/test.ts | 19 ++ ts/index.ts | 28 +-- ts/smartlog.classes.smartlog.ts | 67 ++++++ ts/smartlog.plugins.ts | 2 + yarn.lock | 306 ++++++++++++++++++++++++++++ 17 files changed, 644 insertions(+), 54 deletions(-) create mode 100644 defaults.yml create mode 100644 dist/index.d.ts create mode 100644 dist/index.js create mode 100644 dist/smartlog.classes.smartlog.d.ts create mode 100644 dist/smartlog.classes.smartlog.js create mode 100644 dist/smartlog.plugins.d.ts create mode 100644 dist/smartlog.plugins.js create mode 100644 package-lock.json create mode 100644 test/test.ts create mode 100644 ts/smartlog.classes.smartlog.ts create mode 100644 ts/smartlog.plugins.ts create mode 100644 yarn.lock diff --git a/.gitignore b/.gitignore index 85c4869..67b291e 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ +.nogit/ node_modules/ +coverage/ public/ pages/ -coverage/ diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index ccd25c4..9360876 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,53 +1,96 @@ +# gitzone standard image: hosttoday/ht-docker-node:npmci + +cache: + paths: + - .yarn/ + key: "$CI_BUILD_STAGE" + stages: +- mirror +- security - test - release - trigger - pages + +mirror: + stage: mirror + script: + - npmci git mirror + tags: + - docker + +security: + stage: security + script: + - npmci command yarn global add snyk + - npmci command yarn install --ignore-scripts + - npmci command snyk test + tags: + - docker + testLEGACY: stage: test script: - - npmci test legacy + - npmci node install legacy + - npmci npm install + - npmci npm test + coverage: /\d+.?\d+?\%\s*coverage/ tags: - - docker + - docker allow_failure: true + testLTS: stage: test script: - - npmci test lts + - npmci node install lts + - npmci npm install + - npmci npm test + coverage: /\d+.?\d+?\%\s*coverage/ tags: - - docker + - docker testSTABLE: stage: test script: - - npmci test stable + - npmci node install stable + - npmci npm install + - npmci npm test + coverage: /\d+.?\d+?\%\s*coverage/ tags: - - docker + - docker + release: stage: release script: - - npmci publish + - npmci npm prepare + - npmci npm publish only: - - tags + - tags tags: - - docker + - docker + trigger: stage: trigger script: - - npmci trigger + - npmci trigger only: - - tags + - tags tags: - - docker + - docker + pages: - image: hosttoday/ht-docker-node:npmpage + image: hosttoday/ht-docker-node:npmci stage: pages script: - - npmci command npmpage --host gitlab + - npmci command yarn global add npmpage + - npmci command npmpage + tags: + - docker only: - tags artifacts: expire_in: 1 week paths: - - public \ No newline at end of file + - public diff --git a/defaults.yml b/defaults.yml new file mode 100644 index 0000000..5f158cc --- /dev/null +++ b/defaults.yml @@ -0,0 +1,4 @@ +module.name: smartmodule +module.description: a smart description +module.author: Lossless GmbH +module.license: MIT \ No newline at end of file diff --git a/dist/index.d.ts b/dist/index.d.ts new file mode 100644 index 0000000..b5b7db3 --- /dev/null +++ b/dist/index.d.ts @@ -0,0 +1,3 @@ +import { Smartlog } from "./smartlog.classes.smartlog"; +export { Smartlog }; +export declare const getDefaultLogger: () => Smartlog; diff --git a/dist/index.js b/dist/index.js new file mode 100644 index 0000000..3cfa9ad --- /dev/null +++ b/dist/index.js @@ -0,0 +1,12 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const smartlog_classes_smartlog_1 = require("./smartlog.classes.smartlog"); +exports.Smartlog = smartlog_classes_smartlog_1.Smartlog; +let defaultLogger; +exports.getDefaultLogger = () => { + if (!defaultLogger) { + defaultLogger = new smartlog_classes_smartlog_1.Smartlog(); + } + return defaultLogger; +}; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUNBLDJFQUF1RDtBQUU5QyxtQkFGQSxvQ0FBUSxDQUVBO0FBRWpCLElBQUksYUFBdUIsQ0FBQztBQUVmLFFBQUEsZ0JBQWdCLEdBQUcsR0FBRyxFQUFFO0lBQ25DLEVBQUUsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQztRQUNuQixhQUFhLEdBQUcsSUFBSSxvQ0FBUSxFQUFFLENBQUM7SUFDakMsQ0FBQztJQUNELE1BQU0sQ0FBQyxhQUFhLENBQUM7QUFDdkIsQ0FBQyxDQUFDIn0= \ No newline at end of file diff --git a/dist/smartlog.classes.smartlog.d.ts b/dist/smartlog.classes.smartlog.d.ts new file mode 100644 index 0000000..7890258 --- /dev/null +++ b/dist/smartlog.classes.smartlog.d.ts @@ -0,0 +1,24 @@ +export declare type TLogLevel = "error" | "warn" | "info" | "verbose" | "debug" | "silly"; +export declare class Smartlog { + private winstonInstance; + /** + * enables console logging + */ + enableConsole(): void; + /** + * set a minimum serverity level to log + * @param levelArg + */ + level(levelArg: TLogLevel): void; + /** + * log stuff + * @param logLevelArg + * @param logMessageArg + */ + log(logLevelArg: TLogLevel, logMessageArg: string): void; + silly(logMessageArg: string): void; + debug(logMessageArg: any): void; + info(logMessageArg: string): void; + warn(logMessageArg: any): void; + error(logMessageArg: any): void; +} diff --git a/dist/smartlog.classes.smartlog.js b/dist/smartlog.classes.smartlog.js new file mode 100644 index 0000000..e99b0f0 --- /dev/null +++ b/dist/smartlog.classes.smartlog.js @@ -0,0 +1,55 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const plugins = require("./smartlog.plugins"); +class Smartlog { + constructor() { + this.winstonInstance = new plugins.winston.createLogger({ + level: 'silly', + format: plugins.winston.format.json() + }); + } + // ============ + // Logger Setup + // ============ + /** + * enables console logging + */ + enableConsole() { + this.winstonInstance.add(new plugins.winston.transports.Console()); + } + /** + * set a minimum serverity level to log + * @param levelArg + */ + level(levelArg) { + this.winstonInstance.level(levelArg); + } + // ============= + // log functions + // ============= + /** + * log stuff + * @param logLevelArg + * @param logMessageArg + */ + log(logLevelArg, logMessageArg) { + this.winstonInstance.log(logLevelArg, logMessageArg); + } + silly(logMessageArg) { + this.log('silly', logMessageArg); + } + debug(logMessageArg) { + this.log('debug', logMessageArg); + } + info(logMessageArg) { + this.log('info', logMessageArg); + } + warn(logMessageArg) { + this.log('warn', logMessageArg); + } + error(logMessageArg) { + this.log('error', logMessageArg); + } +} +exports.Smartlog = Smartlog; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnRsb2cuY2xhc3Nlcy5zbWFydGxvZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL3NtYXJ0bG9nLmNsYXNzZXMuc21hcnRsb2cudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSw4Q0FBOEM7QUFVOUM7SUFBQTtRQUNVLG9CQUFlLEdBQUcsSUFBSSxPQUFPLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQztZQUN6RCxLQUFLLEVBQUUsT0FBTztZQUNkLE1BQU0sRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUU7U0FDdEMsQ0FBQyxDQUFBO0lBb0RKLENBQUM7SUFsREMsZUFBZTtJQUNmLGVBQWU7SUFDZixlQUFlO0lBRWY7O09BRUc7SUFDSCxhQUFhO1FBQ1gsSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsSUFBSSxPQUFPLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQ3JFLENBQUM7SUFFRDs7O09BR0c7SUFDSCxLQUFLLENBQUUsUUFBbUI7UUFDeEIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVELGdCQUFnQjtJQUNoQixnQkFBZ0I7SUFDaEIsZ0JBQWdCO0lBQ2hCOzs7O09BSUc7SUFDSCxHQUFHLENBQUMsV0FBc0IsRUFBRSxhQUFxQjtRQUMvQyxJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsYUFBYSxDQUFDLENBQUE7SUFDdEQsQ0FBQztJQUVELEtBQUssQ0FBQyxhQUFxQjtRQUN6QixJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxhQUFhLENBQUMsQ0FBQTtJQUNsQyxDQUFDO0lBRUQsS0FBSyxDQUFDLGFBQWE7UUFDakIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsYUFBYSxDQUFDLENBQUE7SUFDbEMsQ0FBQztJQUVELElBQUksQ0FBQyxhQUFxQjtRQUN4QixJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxhQUFhLENBQUMsQ0FBQTtJQUNqQyxDQUFDO0lBRUQsSUFBSSxDQUFDLGFBQWE7UUFDaEIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsYUFBYSxDQUFDLENBQUE7SUFDakMsQ0FBQztJQUVELEtBQUssQ0FBQyxhQUFhO1FBQ2pCLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLGFBQWEsQ0FBQyxDQUFBO0lBQ2xDLENBQUM7Q0FDRjtBQXhERCw0QkF3REMifQ== \ No newline at end of file diff --git a/dist/smartlog.plugins.d.ts b/dist/smartlog.plugins.d.ts new file mode 100644 index 0000000..a80f18f --- /dev/null +++ b/dist/smartlog.plugins.d.ts @@ -0,0 +1,2 @@ +import * as winston from "winston"; +export { winston }; diff --git a/dist/smartlog.plugins.js b/dist/smartlog.plugins.js new file mode 100644 index 0000000..c9e0733 --- /dev/null +++ b/dist/smartlog.plugins.js @@ -0,0 +1,5 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const winston = require("winston"); +exports.winston = winston; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnRsb2cucGx1Z2lucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL3NtYXJ0bG9nLnBsdWdpbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxtQ0FBbUM7QUFDMUIsMEJBQU8ifQ== \ No newline at end of file diff --git a/npmextra.json b/npmextra.json index e69de29..654a32a 100644 --- a/npmextra.json +++ b/npmextra.json @@ -0,0 +1,7 @@ +{ + "npmci": { + "npmGlobalTools": [ + "npmts" + ] + } +} diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..def8fed --- /dev/null +++ b/package-lock.json @@ -0,0 +1,51 @@ +{ + "name": "smartlog", + "version": "1.0.1", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "conventional-commit-types": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/conventional-commit-types/-/conventional-commit-types-2.2.0.tgz", + "integrity": "sha1-XblXOdbCEqy+e29lahG5QLqmiUY=", + "dev": true + }, + "cz-conventional-changelog": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cz-conventional-changelog/-/cz-conventional-changelog-2.1.0.tgz", + "integrity": "sha1-L0vHOQ4yROTfKT5ro1Hkx0Cnx2Q=", + "dev": true, + "requires": { + "conventional-commit-types": "2.2.0", + "lodash.map": "4.6.0", + "longest": "1.0.1", + "right-pad": "1.0.1", + "word-wrap": "1.2.3" + } + }, + "lodash.map": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.map/-/lodash.map-4.6.0.tgz", + "integrity": "sha1-dx7Hg540c9nEzeKLGTlMNWL09tM=", + "dev": true + }, + "longest": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", + "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=", + "dev": true + }, + "right-pad": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/right-pad/-/right-pad-1.0.1.tgz", + "integrity": "sha1-jKCMLLtbVedNr6lr9/0aJ9VoyNA=", + "dev": true + }, + "word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "dev": true + } + } +} diff --git a/package.json b/package.json index 0d4d7be..b9d5528 100644 --- a/package.json +++ b/package.json @@ -1,28 +1,25 @@ { "name": "smartlog", - "version": "1.0.0", - "description": "ultra stable logging API, that allows registering third party log tools", + "version": "1.0.1", + "description": "winston based logger for large scale projects", "main": "dist/index.js", - "scripts": { - "test": "(npmts)" - }, - "repository": { - "type": "git", - "url": "git+ssh://git@gitlab.com/pushrocks/smartlog.git" - }, - "keywords": [ - "log", - "stable", - "register", - "beautylog" - ], + "typings": "dist/index.d.ts", "author": "Lossless GmbH", - "license": "MIT", - "bugs": { - "url": "https://gitlab.com/pushrocks/smartlog/issues" + "license": "", + "scripts": { + "test": "(npmts)", + "format": "(gitzone format)" + }, + "devDependencies": { + "cz-conventional-changelog": "^2.1.0", + "tapbundle": "^1.0.13" }, - "homepage": "https://gitlab.com/pushrocks/smartlog#README", "dependencies": { - "typings-global": "^1.0.14" + "winston": "^3.0.0-rc1" + }, + "config": { + "commitizen": { + "path": "./node_modules/cz-conventional-changelog" + } } } diff --git a/test/test.ts b/test/test.ts new file mode 100644 index 0000000..1b6acbc --- /dev/null +++ b/test/test.ts @@ -0,0 +1,19 @@ +import { expect, tap } from "tapbundle"; +import * as smartlog from "../ts/index"; + +let defaultLogger: smartlog.Smartlog; + +tap.test("should produce instance of Smartlog", async () => { + defaultLogger = smartlog.getDefaultLogger(); + expect(defaultLogger).to.be.instanceOf(smartlog.Smartlog); +}); + +tap.test("should enable console logging", async () => { + defaultLogger.enableConsole(); +}); + +tap.test("should be able to log things", async () => { + defaultLogger.log("silly", "hi"); +}); + +tap.start(); diff --git a/ts/index.ts b/ts/index.ts index 987ca72..63add47 100644 --- a/ts/index.ts +++ b/ts/index.ts @@ -1,21 +1,13 @@ -import 'typings-global' +import * as plugins from "./smartlog.plugins"; +import { Smartlog } from "./smartlog.classes.smartlog"; -export registerLogger = () => { +export { Smartlog }; -} +let defaultLogger: Smartlog; -export error = (logString: string) => { - console.error(logString) -} - -export info = (logString: string) => { - console.info() -} - -export log = (logString: string) => { - console.log(logString) -} - -export warn = (logString: string) => { - console.warn(logString) -} +export const getDefaultLogger = () => { + if (!defaultLogger) { + defaultLogger = new Smartlog(); + } + return defaultLogger; +}; diff --git a/ts/smartlog.classes.smartlog.ts b/ts/smartlog.classes.smartlog.ts new file mode 100644 index 0000000..7996f39 --- /dev/null +++ b/ts/smartlog.classes.smartlog.ts @@ -0,0 +1,67 @@ +import * as plugins from "./smartlog.plugins"; + +export type TLogLevel = + | "error" + | "warn" + | "info" + | "verbose" + | "debug" + | "silly"; + +export class Smartlog { + private winstonInstance = new plugins.winston.createLogger({ + level: 'silly', + format: plugins.winston.format.json() + }) + + // ============ + // Logger Setup + // ============ + + /** + * enables console logging + */ + enableConsole() { + this.winstonInstance.add(new plugins.winston.transports.Console()); + } + + /** + * set a minimum serverity level to log + * @param levelArg + */ + level (levelArg: TLogLevel) { + this.winstonInstance.level(levelArg); + } + + // ============= + // log functions + // ============= + /** + * log stuff + * @param logLevelArg + * @param logMessageArg + */ + log(logLevelArg: TLogLevel, logMessageArg: string) { + this.winstonInstance.log(logLevelArg, logMessageArg) + } + + silly(logMessageArg: string) { + this.log('silly', logMessageArg) + } + + debug(logMessageArg) { + this.log('debug', logMessageArg) + } + + info(logMessageArg: string) { + this.log('info', logMessageArg) + } + + warn(logMessageArg) { + this.log('warn', logMessageArg) + } + + error(logMessageArg) { + this.log('error', logMessageArg) + } +} diff --git a/ts/smartlog.plugins.ts b/ts/smartlog.plugins.ts new file mode 100644 index 0000000..a80f18f --- /dev/null +++ b/ts/smartlog.plugins.ts @@ -0,0 +1,2 @@ +import * as winston from "winston"; +export { winston }; diff --git a/yarn.lock b/yarn.lock new file mode 100644 index 0000000..5bdb430 --- /dev/null +++ b/yarn.lock @@ -0,0 +1,306 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@types/code@^4.0.3": + version "4.0.3" + resolved "https://registry.yarnpkg.com/@types/code/-/code-4.0.3.tgz#9c4de39f86eb3eba070146d2dab7dbc3f8eac35f" + +"@types/node@^8.0.33": + version "8.5.9" + resolved "https://registry.yarnpkg.com/@types/node/-/node-8.5.9.tgz#7155cfb4ae405bca4dd8df1a214c339e939109bf" + +ansi-256-colors@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/ansi-256-colors/-/ansi-256-colors-1.1.0.tgz#910de50efcc7c09e3d82f2f87abd6b700c18818a" + +async@^1.0.0: + version "1.5.2" + resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" + +beautycolor@^1.0.7: + version "1.0.11" + resolved "https://registry.yarnpkg.com/beautycolor/-/beautycolor-1.0.11.tgz#71c5568d5a7ed5c144d3a54f753ad1b08862aea5" + dependencies: + ansi-256-colors "^1.1.0" + typings-global "^1.0.14" + +bindings@^1.2.1: + version "1.3.0" + resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.3.0.tgz#b346f6ecf6a95f5a815c5839fc7cdb22502f1ed7" + +code@^5.1.0: + version "5.1.2" + resolved "https://registry.yarnpkg.com/code/-/code-5.1.2.tgz#e3310c2078ca7dc0b49b9c39a8b0a7b06bd75efe" + dependencies: + hoek "5.x.x" + +color-convert@^0.5.0: + version "0.5.3" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-0.5.3.tgz#bdb6c69ce660fadffe0b0007cc447e1b9f7282bd" + +color-name@^1.0.0: + version "1.1.3" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" + +color-string@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/color-string/-/color-string-0.3.0.tgz#27d46fb67025c5c2fa25993bfbf579e47841b991" + dependencies: + color-name "^1.0.0" + +color@0.8.x: + version "0.8.0" + resolved "https://registry.yarnpkg.com/color/-/color-0.8.0.tgz#890c07c3fd4e649537638911cf691e5458b6fca5" + dependencies: + color-convert "^0.5.0" + color-string "^0.3.0" + +colornames@0.0.2: + version "0.0.2" + resolved "https://registry.yarnpkg.com/colornames/-/colornames-0.0.2.tgz#d811fd6c84f59029499a8ac4436202935b92be31" + +colors@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/colors/-/colors-1.1.2.tgz#168a4701756b6a7f51a12ce0c97bfa28c084ed63" + +colorspace@1.0.x: + version "1.0.1" + resolved "https://registry.yarnpkg.com/colorspace/-/colorspace-1.0.1.tgz#c99c796ed31128b9876a52e1ee5ee03a4a719749" + dependencies: + color "0.8.x" + text-hex "0.0.x" + +define-properties@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.2.tgz#83a73f2fea569898fb737193c8f873caf6d45c94" + dependencies: + foreach "^2.0.5" + object-keys "^1.0.8" + +diagnostics@^1.0.1: + version "1.1.0" + resolved "https://registry.yarnpkg.com/diagnostics/-/diagnostics-1.1.0.tgz#e1090900b49523e8527be20f081275205f2ae36a" + dependencies: + colorspace "1.0.x" + enabled "1.0.x" + kuler "0.0.x" + +early@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/early/-/early-2.1.1.tgz#841e23254ea5dc54d8afaeee82f5ab65c00ee23c" + dependencies: + beautycolor "^1.0.7" + smartq "^1.1.1" + typings-global "^1.0.16" + +enabled@1.0.x: + version "1.0.2" + resolved "https://registry.yarnpkg.com/enabled/-/enabled-1.0.2.tgz#965f6513d2c2d1c5f4652b64a2e3396467fc2f93" + dependencies: + env-variable "0.0.x" + +env-variable@0.0.x: + version "0.0.3" + resolved "https://registry.yarnpkg.com/env-variable/-/env-variable-0.0.3.tgz#b86c1641be5610267d506f18071ea76d707097cb" + +es-abstract@^1.5.1: + version "1.10.0" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.10.0.tgz#1ecb36c197842a00d8ee4c2dfd8646bb97d60864" + dependencies: + es-to-primitive "^1.1.1" + function-bind "^1.1.1" + has "^1.0.1" + is-callable "^1.1.3" + is-regex "^1.0.4" + +es-to-primitive@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.1.1.tgz#45355248a88979034b6792e19bb81f2b7975dd0d" + dependencies: + is-callable "^1.1.1" + is-date-object "^1.0.1" + is-symbol "^1.0.1" + +es6-error@^4.0.2: + version "4.1.1" + resolved "https://registry.yarnpkg.com/es6-error/-/es6-error-4.1.1.tgz#9e3af407459deed47e9a91f9b885a84eb05c561d" + +fecha@^2.3.2: + version "2.3.2" + resolved "https://registry.yarnpkg.com/fecha/-/fecha-2.3.2.tgz#360f035dd6edd954bc9581f95f2a4a7f2a3505c1" + +foreach@^2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/foreach/-/foreach-2.0.5.tgz#0bee005018aeb260d0a3af3ae658dd0136ec1b99" + +function-bind@^1.0.2, function-bind@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" + +has@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/has/-/has-1.0.1.tgz#8461733f538b0837c9361e39a9ab9e9704dc2f28" + dependencies: + function-bind "^1.0.2" + +hoek@5.x.x: + version "5.0.2" + resolved "https://registry.yarnpkg.com/hoek/-/hoek-5.0.2.tgz#d2f2c95d36fe7189cf8aa8c237abc1950eca1378" + +is-callable@^1.1.1, is-callable@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.3.tgz#86eb75392805ddc33af71c92a0eedf74ee7604b2" + +is-date-object@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.1.tgz#9aa20eb6aeebbff77fbd33e74ca01b33581d3a16" + +is-regex@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.4.tgz#5517489b547091b0930e095654ced25ee97e9491" + dependencies: + has "^1.0.1" + +is-symbol@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.1.tgz#3cc59f00025194b6ab2e38dbae6689256b660572" + +isstream@0.1.x: + version "0.1.2" + resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" + +kuler@0.0.x: + version "0.0.0" + resolved "https://registry.yarnpkg.com/kuler/-/kuler-0.0.0.tgz#b66bb46b934e550f59d818848e0abba4f7f5553c" + dependencies: + colornames "0.0.2" + +leakage@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/leakage/-/leakage-0.3.0.tgz#15d698abdc76bbc6439601f4f3020e77e2d50c39" + dependencies: + es6-error "^4.0.2" + left-pad "^1.1.3" + memwatch-next "^0.3.0" + minimist "^1.2.0" + pretty-bytes "^4.0.2" + +left-pad@^1.1.3: + version "1.2.0" + resolved "https://registry.yarnpkg.com/left-pad/-/left-pad-1.2.0.tgz#d30a73c6b8201d8f7d8e7956ba9616087a68e0ee" + +logform@^1.2.1: + version "1.2.2" + resolved "https://registry.yarnpkg.com/logform/-/logform-1.2.2.tgz#7be8847684de07185029ed09c65b11d06191ef93" + dependencies: + colors "^1.1.2" + fecha "^2.3.2" + +memwatch-next@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/memwatch-next/-/memwatch-next-0.3.0.tgz#2111050f9a906e0aa2d72a4ec0f0089c78726f8f" + dependencies: + bindings "^1.2.1" + nan "^2.3.2" + +minimist@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" + +nan@^2.3.2: + version "2.8.0" + resolved "https://registry.yarnpkg.com/nan/-/nan-2.8.0.tgz#ed715f3fe9de02b57a5e6252d90a96675e1f085a" + +object-keys@^1.0.8: + version "1.0.11" + resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.0.11.tgz#c54601778ad560f1142ce0e01bcca8b56d13426d" + +object.getownpropertydescriptors@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz#8758c846f5b407adab0f236e0986f14b051caa16" + dependencies: + define-properties "^1.1.2" + es-abstract "^1.5.1" + +one-time@0.0.4: + version "0.0.4" + resolved "https://registry.yarnpkg.com/one-time/-/one-time-0.0.4.tgz#f8cdf77884826fe4dff93e3a9cc37b1e4480742e" + +pretty-bytes@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-4.0.2.tgz#b2bf82e7350d65c6c33aa95aaa5a4f6327f61cd9" + +smartchai@^1.0.3: + version "1.0.8" + resolved "https://registry.yarnpkg.com/smartchai/-/smartchai-1.0.8.tgz#a074836f4ddd4b98c50f1e7ae9e8e8ad9f6f1902" + dependencies: + "@types/code" "^4.0.3" + code "^5.1.0" + typings-global "^1.0.20" + +smartdelay@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/smartdelay/-/smartdelay-1.0.4.tgz#791c1a4ee6770494064c10b1d2d2b8e6f3105b82" + dependencies: + smartq "^1.1.1" + typings-global "^1.0.16" + +smartq@^1.1.1: + version "1.1.6" + resolved "https://registry.yarnpkg.com/smartq/-/smartq-1.1.6.tgz#0c1ff4336d95e95b4f1fdd8ccd7e2c5a323b8412" + dependencies: + typings-global "^1.0.19" + util.promisify "^1.0.0" + +stack-trace@0.0.x: + version "0.0.10" + resolved "https://registry.yarnpkg.com/stack-trace/-/stack-trace-0.0.10.tgz#547c70b347e8d32b4e108ea1a2a159e5fdde19c0" + +tapbundle@^1.0.13: + version "1.1.8" + resolved "https://registry.yarnpkg.com/tapbundle/-/tapbundle-1.1.8.tgz#e08aee0e100a830d8a26a583a85d37ce53312e02" + dependencies: + "@types/node" "^8.0.33" + early "^2.1.1" + leakage "^0.3.0" + smartchai "^1.0.3" + smartdelay "^1.0.3" + smartq "^1.1.1" + typings-global "^1.0.19" + +text-hex@0.0.x: + version "0.0.0" + resolved "https://registry.yarnpkg.com/text-hex/-/text-hex-0.0.0.tgz#578fbc85a6a92636e42dd17b41d0218cce9eb2b3" + +triple-beam@^1.0.1: + version "1.1.0" + resolved "https://registry.yarnpkg.com/triple-beam/-/triple-beam-1.1.0.tgz#2ac387c8c4bd04bd26c61df891a6079f8592fe10" + +typings-global@^1.0.14, typings-global@^1.0.16, typings-global@^1.0.19, typings-global@^1.0.20: + version "1.0.28" + resolved "https://registry.yarnpkg.com/typings-global/-/typings-global-1.0.28.tgz#e28cc965476564cbc00e438739e0aa0735d323d4" + +util.promisify@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/util.promisify/-/util.promisify-1.0.0.tgz#440f7165a459c9a16dc145eb8e72f35687097030" + dependencies: + define-properties "^1.1.2" + object.getownpropertydescriptors "^2.0.3" + +winston-transport@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/winston-transport/-/winston-transport-3.0.1.tgz#8008b15eef5660c4fb3fa094d58ccbd08528c58d" + +winston@^3.0.0-rc1: + version "3.0.0-rc1" + resolved "https://registry.yarnpkg.com/winston/-/winston-3.0.0-rc1.tgz#982bc0ad4ef5c53000ca68036d78a3deaa28cac5" + dependencies: + async "^1.0.0" + diagnostics "^1.0.1" + isstream "0.1.x" + logform "^1.2.1" + one-time "0.0.4" + stack-trace "0.0.x" + triple-beam "^1.0.1" + winston-transport "^3.0.1"