From 50d610e5df21f5536e3b77c8c38bd4e114687c62 Mon Sep 17 00:00:00 2001 From: Phil Kunz Date: Wed, 14 Feb 2018 00:12:21 +0100 Subject: [PATCH] update smartenv to support os information on nodejs --- dist/smartenv.classes.smartenv.d.ts | 17 +- dist/smartenv.classes.smartenv.js | 92 +++- dist/smartenv.envhelpers.d.ts | 9 - dist/smartenv.envhelpers.js | 40 -- dist/smartenv.plugins.d.ts | 1 - dist/smartenv.plugins.js | 3 +- package.json | 11 +- test/test.ts | 20 +- ts/smartenv.classes.smartenv.ts | 90 +++- ts/smartenv.envhelpers.ts | 39 -- ts/smartenv.plugins.ts | 1 - yarn.lock | 635 +++++++++++----------------- 12 files changed, 418 insertions(+), 540 deletions(-) delete mode 100644 dist/smartenv.envhelpers.d.ts delete mode 100644 dist/smartenv.envhelpers.js delete mode 100644 ts/smartenv.envhelpers.ts diff --git a/dist/smartenv.classes.smartenv.d.ts b/dist/smartenv.classes.smartenv.d.ts index 2c34de6..08eb4e7 100644 --- a/dist/smartenv.classes.smartenv.d.ts +++ b/dist/smartenv.classes.smartenv.d.ts @@ -3,17 +3,18 @@ export interface IEnvObject { value: string; } export declare class Smartenv { - runtimeEnv: string; - isBrowser: boolean; - userAgent: string; - isNode: boolean; - nodeVersion: string; - isCI: boolean; - constructor(); + readonly runtimeEnv: string; + readonly isBrowser: boolean; + readonly userAgent: string; + readonly isNode: boolean; + readonly nodeVersion: string; + readonly isCI: boolean; + isMacAsync(): Promise; + isWindowsAsync(): Promise; + isLinuxAsync(): Promise; /** * get environment variables that fit the description */ - getEnvVars(regexArg: RegExp): Promise; /** * prints the environment to console */ diff --git a/dist/smartenv.classes.smartenv.js b/dist/smartenv.classes.smartenv.js index 25e6538..9ea98d6 100644 --- a/dist/smartenv.classes.smartenv.js +++ b/dist/smartenv.classes.smartenv.js @@ -8,26 +8,86 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge }); }; Object.defineProperty(exports, "__esModule", { value: true }); -const helpers = require("./smartenv.envhelpers"); class Smartenv { - constructor() { - this.runtimeEnv = helpers.getEnvString(); - this.isBrowser = helpers.isBrowser(); - this.userAgent = helpers.getUserAgentString(); - this.isNode = helpers.isNode(); - this.nodeVersion = helpers.getNodeVersion(); - this.isCI = helpers.isCI(); + get runtimeEnv() { + if (typeof window !== 'undefined') { + return 'browser'; + } + else if (typeof process !== 'undefined') { + return 'node'; + } + } + get isBrowser() { + return !this.isNode; + } + get userAgent() { + if (this.isBrowser) { + return navigator.userAgent; + } + else { + return 'undefined'; + } + } + get isNode() { + return this.runtimeEnv === 'node'; + } + get nodeVersion() { + return process.version; + } + get isCI() { + if (this.isNode) { + if (process.env.CI) { + return true; + } + else { + return false; + } + ; + } + else { + return false; + } + } + isMacAsync() { + return __awaiter(this, void 0, void 0, function* () { + if (this.isNode) { + let os = yield Promise.resolve().then(() => require('os')); + return os.platform() === 'darwin'; + } + else { + return false; + } + }); + } + isWindowsAsync() { + return __awaiter(this, void 0, void 0, function* () { + if (this.isNode) { + let os = yield Promise.resolve().then(() => require('os')); + return os.platform() === 'win32'; + } + else { + return false; + } + }); + } + isLinuxAsync() { + return __awaiter(this, void 0, void 0, function* () { + if (this.isNode) { + let os = yield Promise.resolve().then(() => require('os')); + return os.platform() === 'linux'; + } + else { + return false; + } + }); } - ; /** * get environment variables that fit the description */ - getEnvVars(regexArg) { - return __awaiter(this, void 0, void 0, function* () { - let EnvironmentArray = []; - // TODO: plugins.smartparam.forEachMinimatch() - }); - } + // get envVars (regexArg: RegExp) { + // let EnvironmentArray = [] + // // TODO: plugins.smartparam.forEachMinimatch() + // } /** * prints the environment to console */ @@ -46,4 +106,4 @@ class Smartenv { } } exports.Smartenv = Smartenv; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnRlbnYuY2xhc3Nlcy5zbWFydGVudi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL3NtYXJ0ZW52LmNsYXNzZXMuc21hcnRlbnYudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUNBLGlEQUFpRDtBQVFqRDtJQU9FO1FBQ0UsSUFBSSxDQUFDLFVBQVUsR0FBRyxPQUFPLENBQUMsWUFBWSxFQUFFLENBQUE7UUFDeEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxPQUFPLENBQUMsU0FBUyxFQUFFLENBQUE7UUFDcEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxPQUFPLENBQUMsa0JBQWtCLEVBQUUsQ0FBQTtRQUM3QyxJQUFJLENBQUMsTUFBTSxHQUFHLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQTtRQUM5QixJQUFJLENBQUMsV0FBVyxHQUFHLE9BQU8sQ0FBQyxjQUFjLEVBQUUsQ0FBQTtRQUMzQyxJQUFJLENBQUMsSUFBSSxHQUFHLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQTtJQUM1QixDQUFDO0lBQUEsQ0FBQztJQUVGOztPQUVHO0lBQ0csVUFBVSxDQUFFLFFBQWdCOztZQUNoQyxJQUFJLGdCQUFnQixHQUFHLEVBQUUsQ0FBQTtZQUN6Qiw4Q0FBOEM7UUFDaEQsQ0FBQztLQUFBO0lBRUQ7O09BRUc7SUFDRyxRQUFROztZQUNaLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO2dCQUNoQixPQUFPLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLENBQUE7Z0JBQzlCLElBQUksZUFBZSxHQUFHLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLE9BQU8sQ0FBQTtnQkFDeEQsT0FBTyxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUMsV0FBVyxHQUFHLDJCQUEyQixHQUFHLGVBQWUsQ0FBQyxDQUFBO1lBQ3BHLENBQUM7WUFBQyxJQUFJLENBQUMsQ0FBQztnQkFDTixPQUFPLENBQUMsR0FBRyxDQUFDLG9CQUFvQixDQUFDLENBQUE7Z0JBQ2pDLE9BQU8sQ0FBQyxHQUFHLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQTtZQUM3QyxDQUFDO1FBQ0gsQ0FBQztLQUFBO0NBQ0Y7QUFyQ0QsNEJBcUNDIn0= \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnRlbnYuY2xhc3Nlcy5zbWFydGVudi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL3NtYXJ0ZW52LmNsYXNzZXMuc21hcnRlbnYudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQVFBO0lBRUUsSUFBSSxVQUFVO1FBQ1osRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEtBQUssV0FBVyxDQUFDLENBQUMsQ0FBQztZQUNsQyxNQUFNLENBQUMsU0FBUyxDQUFBO1FBQ2xCLENBQUM7UUFBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxPQUFPLEtBQUssV0FBVyxDQUFDLENBQUMsQ0FBQztZQUMxQyxNQUFNLENBQUMsTUFBTSxDQUFBO1FBQ2YsQ0FBQztJQUNILENBQUM7SUFFRCxJQUFJLFNBQVM7UUFDWCxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFBO0lBQ3JCLENBQUM7SUFFRCxJQUFJLFNBQVM7UUFDWCxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztZQUNuQixNQUFNLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQTtRQUM1QixDQUFDO1FBQUMsSUFBSSxDQUFDLENBQUM7WUFDTixNQUFNLENBQUMsV0FBVyxDQUFBO1FBQ3BCLENBQUM7SUFDSCxDQUFDO0lBRUQsSUFBSSxNQUFNO1FBQ1IsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLEtBQUssTUFBTSxDQUFBO0lBQ25DLENBQUM7SUFFRCxJQUFJLFdBQVc7UUFDYixNQUFNLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQTtJQUN4QixDQUFDO0lBRUQsSUFBSSxJQUFJO1FBQ04sRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7WUFDaEIsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO2dCQUNuQixNQUFNLENBQUMsSUFBSSxDQUFBO1lBQ2IsQ0FBQztZQUFDLElBQUksQ0FBQyxDQUFDO2dCQUNOLE1BQU0sQ0FBQyxLQUFLLENBQUE7WUFDZCxDQUFDO1lBQUEsQ0FBQztRQUNKLENBQUM7UUFBQyxJQUFJLENBQUMsQ0FBQztZQUNOLE1BQU0sQ0FBQyxLQUFLLENBQUE7UUFDZCxDQUFDO0lBQ0gsQ0FBQztJQUVLLFVBQVU7O1lBQ2QsRUFBRSxDQUFBLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7Z0JBQ2YsSUFBSSxFQUFFLEdBQUcsMkNBQWEsSUFBSSxFQUFDLENBQUE7Z0JBQzNCLE1BQU0sQ0FBQyxFQUFFLENBQUMsUUFBUSxFQUFFLEtBQUssUUFBUSxDQUFBO1lBQ25DLENBQUM7WUFBQyxJQUFJLENBQUMsQ0FBQztnQkFDTixNQUFNLENBQUMsS0FBSyxDQUFBO1lBQ2QsQ0FBQztRQUNILENBQUM7S0FBQTtJQUVLLGNBQWM7O1lBQ2xCLEVBQUUsQ0FBQSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO2dCQUNmLElBQUksRUFBRSxHQUFHLDJDQUFhLElBQUksRUFBQyxDQUFBO2dCQUMzQixNQUFNLENBQUMsRUFBRSxDQUFDLFFBQVEsRUFBRSxLQUFLLE9BQU8sQ0FBQTtZQUNsQyxDQUFDO1lBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ04sTUFBTSxDQUFDLEtBQUssQ0FBQTtZQUNkLENBQUM7UUFDSCxDQUFDO0tBQUE7SUFFSyxZQUFZOztZQUNoQixFQUFFLENBQUEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztnQkFDZixJQUFJLEVBQUUsR0FBRywyQ0FBYSxJQUFJLEVBQUMsQ0FBQTtnQkFDM0IsTUFBTSxDQUFDLEVBQUUsQ0FBQyxRQUFRLEVBQUUsS0FBSyxPQUFPLENBQUE7WUFDbEMsQ0FBQztZQUFDLElBQUksQ0FBQyxDQUFDO2dCQUNOLE1BQU0sQ0FBQyxLQUFLLENBQUE7WUFDZCxDQUFDO1FBQ0gsQ0FBQztLQUFBO0lBRUQ7O09BRUc7SUFDSCxtQ0FBbUM7SUFDbkMsOEJBQThCO0lBQzlCLG1EQUFtRDtJQUNuRCxJQUFJO0lBRUo7O09BRUc7SUFDRyxRQUFROztZQUNaLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO2dCQUNoQixPQUFPLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLENBQUE7Z0JBQzlCLElBQUksZUFBZSxHQUFHLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLE9BQU8sQ0FBQTtnQkFDeEQsT0FBTyxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUMsV0FBVyxHQUFHLDJCQUEyQixHQUFHLGVBQWUsQ0FBQyxDQUFBO1lBQ3BHLENBQUM7WUFBQyxJQUFJLENBQUMsQ0FBQztnQkFDTixPQUFPLENBQUMsR0FBRyxDQUFDLG9CQUFvQixDQUFDLENBQUE7Z0JBQ2pDLE9BQU8sQ0FBQyxHQUFHLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQTtZQUM3QyxDQUFDO1FBQ0gsQ0FBQztLQUFBO0NBQ0Y7QUExRkQsNEJBMEZDIn0= \ No newline at end of file diff --git a/dist/smartenv.envhelpers.d.ts b/dist/smartenv.envhelpers.d.ts deleted file mode 100644 index 8353fde..0000000 --- a/dist/smartenv.envhelpers.d.ts +++ /dev/null @@ -1,9 +0,0 @@ -export declare let getEnvString: () => string; -/** - * gets the user agent string in a browser - */ -export declare let getUserAgentString: () => string; -export declare let isNode: () => boolean; -export declare let getNodeVersion: () => string; -export declare let isBrowser: () => boolean; -export declare let isCI: () => boolean; diff --git a/dist/smartenv.envhelpers.js b/dist/smartenv.envhelpers.js deleted file mode 100644 index 4e3f2ae..0000000 --- a/dist/smartenv.envhelpers.js +++ /dev/null @@ -1,40 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.getEnvString = function () { - if (typeof window !== 'undefined') { - return 'browser'; - } - else if (typeof process !== 'undefined') { - return 'node'; - } -}; -/** - * gets the user agent string in a browser - */ -exports.getUserAgentString = function () { - if (exports.isBrowser()) { - return navigator.userAgent; - } - else { - return 'undefined'; - } -}; -exports.isNode = function () { - return exports.getEnvString() === 'node'; -}; -exports.getNodeVersion = function () { - return process.version; -}; -exports.isBrowser = function () { - return !exports.isNode(); -}; -exports.isCI = function () { - if (process.env.CI) { - return true; - } - else { - return false; - } - ; -}; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnRlbnYuZW52aGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL3NtYXJ0ZW52LmVudmhlbHBlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFDVyxRQUFBLFlBQVksR0FBRztJQUN4QixFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sS0FBSyxXQUFXLENBQUMsQ0FBQyxDQUFDO1FBQ2xDLE1BQU0sQ0FBQyxTQUFTLENBQUE7SUFDbEIsQ0FBQztJQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE9BQU8sS0FBSyxXQUFXLENBQUMsQ0FBQyxDQUFDO1FBQzFDLE1BQU0sQ0FBQyxNQUFNLENBQUE7SUFDZixDQUFDO0FBQ0gsQ0FBQyxDQUFBO0FBRUQ7O0dBRUc7QUFDUSxRQUFBLGtCQUFrQixHQUFHO0lBQzlCLEVBQUUsQ0FBQyxDQUFDLGlCQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDaEIsTUFBTSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUE7SUFDNUIsQ0FBQztJQUFDLElBQUksQ0FBQyxDQUFDO1FBQ04sTUFBTSxDQUFDLFdBQVcsQ0FBQTtJQUNwQixDQUFDO0FBQ0gsQ0FBQyxDQUFBO0FBRVUsUUFBQSxNQUFNLEdBQUc7SUFDbEIsTUFBTSxDQUFDLG9CQUFZLEVBQUUsS0FBSyxNQUFNLENBQUE7QUFDbEMsQ0FBQyxDQUFBO0FBRVUsUUFBQSxjQUFjLEdBQUc7SUFDMUIsTUFBTSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUE7QUFDeEIsQ0FBQyxDQUFBO0FBRVUsUUFBQSxTQUFTLEdBQUc7SUFDckIsTUFBTSxDQUFDLENBQUMsY0FBTSxFQUFFLENBQUE7QUFDbEIsQ0FBQyxDQUFBO0FBRVUsUUFBQSxJQUFJLEdBQUc7SUFDaEIsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ25CLE1BQU0sQ0FBQyxJQUFJLENBQUE7SUFDYixDQUFDO0lBQUMsSUFBSSxDQUFDLENBQUM7UUFDTixNQUFNLENBQUMsS0FBSyxDQUFBO0lBQ2QsQ0FBQztJQUFBLENBQUM7QUFDSixDQUFDLENBQUEifQ== \ No newline at end of file diff --git a/dist/smartenv.plugins.d.ts b/dist/smartenv.plugins.d.ts index cd8fd3c..0010c2b 100644 --- a/dist/smartenv.plugins.d.ts +++ b/dist/smartenv.plugins.d.ts @@ -1,4 +1,3 @@ -import 'typings-global'; import * as smartparam from 'smartparam'; import * as smartq from 'smartq'; import * as lodash from 'lodash'; diff --git a/dist/smartenv.plugins.js b/dist/smartenv.plugins.js index 6664092..e93314b 100644 --- a/dist/smartenv.plugins.js +++ b/dist/smartenv.plugins.js @@ -1,10 +1,9 @@ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -require("typings-global"); const smartparam = require("smartparam"); exports.smartparam = smartparam; const smartq = require("smartq"); exports.smartq = smartq; const lodash = require("lodash"); exports.lodash = lodash; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnRlbnYucGx1Z2lucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL3NtYXJ0ZW52LnBsdWdpbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSwwQkFBdUI7QUFDdkIseUNBQXdDO0FBTXBDLGdDQUFVO0FBTGQsaUNBQWdDO0FBTTVCLHdCQUFNO0FBTFYsaUNBQWdDO0FBRzVCLHdCQUFNIn0= \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnRlbnYucGx1Z2lucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL3NtYXJ0ZW52LnBsdWdpbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSx5Q0FBd0M7QUFNcEMsZ0NBQVU7QUFMZCxpQ0FBZ0M7QUFNNUIsd0JBQU07QUFMVixpQ0FBZ0M7QUFHNUIsd0JBQU0ifQ== \ No newline at end of file diff --git a/package.json b/package.json index 2f270ef..14d57f4 100644 --- a/package.json +++ b/package.json @@ -22,12 +22,13 @@ }, "homepage": "https://gitlab.com/pushrocks/smartenv", "dependencies": { - "lodash": "^4.17.4", - "smartparam": "^0.1.1", - "smartq": "^1.1.1", - "typings-global": "^1.0.16" + "@types/node": "^9.4.4", + "lodash": "^4.17.5", + "smartparam": "^1.0.2", + "smartq": "^1.1.6" }, "devDependencies": { - "tapbundle": "^1.0.5" + "@types/npm": "^2.0.29", + "tapbundle": "^1.1.8" } } diff --git a/test/test.ts b/test/test.ts index 7d12a5d..3db62a0 100644 --- a/test/test.ts +++ b/test/test.ts @@ -1,5 +1,5 @@ import { tap, expect } from 'tapbundle' -import * as smartenv from '../dist/index' +import * as smartenv from '../ts/index' let testEnv: smartenv.Smartenv @@ -11,4 +11,22 @@ tap.test('should print a overview to console', async () => { testEnv.printEnv() }) +tap.test('should get os', async () => { + let resultLinux = await testEnv.isLinuxAsync() + let resultMac = await testEnv.isMacAsync + let resultWindows = await testEnv.isWindowsAsync() + const osModule = await import('os') + if (resultMac) { + expect(osModule.platform()).to.equal('darwin'); + console.log('platform is Mac!') + } else if (resultLinux) { + expect(osModule.platform()).to.equal('linux'); + console.log('platform is Linux!') + } else { + expect(osModule.platform()).to.equal('win32'); + console.log('platform is Windows!') + } + +}) + tap.start() diff --git a/ts/smartenv.classes.smartenv.ts b/ts/smartenv.classes.smartenv.ts index c0617e7..3dd9a3c 100644 --- a/ts/smartenv.classes.smartenv.ts +++ b/ts/smartenv.classes.smartenv.ts @@ -1,5 +1,4 @@ import * as plugins from './smartenv.plugins' -import helpers = require('./smartenv.envhelpers') // interfaces export interface IEnvObject { @@ -8,28 +7,81 @@ export interface IEnvObject { } export class Smartenv { - runtimeEnv: string - isBrowser: boolean - userAgent: string - isNode: boolean - nodeVersion: string - isCI: boolean - constructor() { - this.runtimeEnv = helpers.getEnvString() - this.isBrowser = helpers.isBrowser() - this.userAgent = helpers.getUserAgentString() - this.isNode = helpers.isNode() - this.nodeVersion = helpers.getNodeVersion() - this.isCI = helpers.isCI() - }; + + get runtimeEnv () { + if (typeof window !== 'undefined') { + return 'browser' + } else if (typeof process !== 'undefined') { + return 'node' + } + } + + get isBrowser (): boolean { + return !this.isNode + } + + get userAgent (): string { + if (this.isBrowser) { // make sure we are in Browser + return navigator.userAgent + } else { + return 'undefined' + } + } + + get isNode ():boolean { + return this.runtimeEnv === 'node' + } + + get nodeVersion ():string { + return process.version + } + + get isCI (): boolean { + if (this.isNode) { + if (process.env.CI) { + return true + } else { + return false + }; + } else { + return false + } + } + + async isMacAsync (): Promise { + if(this.isNode) { + let os = await import('os') + return os.platform() === 'darwin' + } else { + return false + } + } + + async isWindowsAsync (): Promise { + if(this.isNode) { + let os = await import('os') + return os.platform() === 'win32' + } else { + return false + } + } + + async isLinuxAsync (): Promise { + if(this.isNode) { + let os = await import('os') + return os.platform() === 'linux' + } else { + return false + } + } /** * get environment variables that fit the description */ - async getEnvVars (regexArg: RegExp) { - let EnvironmentArray = [] - // TODO: plugins.smartparam.forEachMinimatch() - } + // get envVars (regexArg: RegExp) { + // let EnvironmentArray = [] + // // TODO: plugins.smartparam.forEachMinimatch() + // } /** * prints the environment to console diff --git a/ts/smartenv.envhelpers.ts b/ts/smartenv.envhelpers.ts deleted file mode 100644 index d908629..0000000 --- a/ts/smartenv.envhelpers.ts +++ /dev/null @@ -1,39 +0,0 @@ -import * as plugins from './smartenv.plugins' -export let getEnvString = function (): string { - if (typeof window !== 'undefined') { - return 'browser' - } else if (typeof process !== 'undefined') { - return 'node' - } -} - -/** - * gets the user agent string in a browser - */ -export let getUserAgentString = function (): string { - if (isBrowser()) { // make sure we are in Browser - return navigator.userAgent - } else { - return 'undefined' - } -} - -export let isNode = function (): boolean { - return getEnvString() === 'node' -} - -export let getNodeVersion = function (): string { - return process.version -} - -export let isBrowser = function (): boolean { - return !isNode() -} - -export let isCI = function () { - if (process.env.CI) { - return true - } else { - return false - }; -} diff --git a/ts/smartenv.plugins.ts b/ts/smartenv.plugins.ts index 775ca53..b99c225 100644 --- a/ts/smartenv.plugins.ts +++ b/ts/smartenv.plugins.ts @@ -1,4 +1,3 @@ -import 'typings-global' import * as smartparam from 'smartparam' import * as smartq from 'smartq' import * as lodash from 'lodash' diff --git a/yarn.lock b/yarn.lock index e97edba..c9c7d6f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,177 +2,117 @@ # yarn lockfile v1 -"@types/chai-as-promised@0.0.29": - version "0.0.29" - resolved "https://registry.yarnpkg.com/@types/chai-as-promised/-/chai-as-promised-0.0.29.tgz#43d52892aa998e185a3de3e2477edb8573be1d77" +"@types/code@^4.0.3": + version "4.0.3" + resolved "https://registry.yarnpkg.com/@types/code/-/code-4.0.3.tgz#9c4de39f86eb3eba070146d2dab7dbc3f8eac35f" + +"@types/lodash@^4.14.55": + version "4.14.102" + resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.102.tgz#586a3e22385fc79b07cef9c5a1c8a5387986fbc8" + +"@types/node@*", "@types/node@^9.4.4": + version "9.4.4" + resolved "https://registry.yarnpkg.com/@types/node/-/node-9.4.4.tgz#4cad4305d1ec84eab2dc2bda97dfb6a5f652cccb" + +"@types/node@^8.0.33": + version "8.9.2" + resolved "https://registry.yarnpkg.com/@types/node/-/node-8.9.2.tgz#94bb08914ea1aebbb18ecff4c27dc0930e512934" + +"@types/npm@^2.0.29": + version "2.0.29" + resolved "https://registry.yarnpkg.com/@types/npm/-/npm-2.0.29.tgz#013a2789d6b11039ebf8ee7a4b5dafed4350461c" dependencies: - "@types/chai" "*" - "@types/promises-a-plus" "*" - -"@types/chai-string@^1.1.30": - version "1.1.30" - resolved "https://registry.yarnpkg.com/@types/chai-string/-/chai-string-1.1.30.tgz#4d8744b31a5a2295fc01c981ed1e2d4c8a070f0a" - dependencies: - "@types/chai" "*" - -"@types/chai@*", "@types/chai@^3.4.35": - version "3.5.2" - resolved "https://registry.yarnpkg.com/@types/chai/-/chai-3.5.2.tgz#c11cd2817d3a401b7ba0f5a420f35c56139b1c1e" - -"@types/promises-a-plus@*": - version "0.0.27" - resolved "https://registry.yarnpkg.com/@types/promises-a-plus/-/promises-a-plus-0.0.27.tgz#c64651134614c84b8f5d7114ce8901d36a609780" + "@types/node" "*" 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" -ansi-regex@^2.0.0, ansi-regex@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" +ansi-styles@^3.1.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.0.tgz#c159b8d5be0f9e5a6f346dab94f16ce022161b88" + dependencies: + color-convert "^1.9.0" -ansi-styles@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" - -assertion-error@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/assertion-error/-/assertion-error-1.0.2.tgz#13ca515d86206da0bac66e834dd397d87581094c" - -balanced-match@^0.4.1: - version "0.4.2" - resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-0.4.2.tgz#cb3f3e3c732dc0f01ee70b403f302e61d7709838" +balanced-match@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" beautycolor@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/beautycolor/-/beautycolor-1.0.7.tgz#a4715738ac4c8221371e9cbeb5a6cc6d11ecbf7c" + 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" -beautylog@5.0.12: - version "5.0.12" - resolved "https://registry.yarnpkg.com/beautylog/-/beautylog-5.0.12.tgz#234d3caaf9d836d57e5a841fcbb531e347c6d366" +beautylog@6.1.10: + version "6.1.10" + resolved "https://registry.yarnpkg.com/beautylog/-/beautylog-6.1.10.tgz#9c27e566937684cb689f9372d98cfa5415d50b72" dependencies: - cli-color "^1.1.0" - cli-table2 "^0.2.0" - colors "1.1.2" - figlet "^1.1.2" - lodash "^4.13.1" - ora "^0.2.3" - q "^1.4.1" - smartenv "^1.2.5" - typings-global "^1.0.3" - -beautylog@^4.1.2: - version "4.2.2" - resolved "https://registry.yarnpkg.com/beautylog/-/beautylog-4.2.2.tgz#6cebdff8665099693d488151deee02890b92ce69" - dependencies: - cli-color "^1.1.0" - cli-table2 "^0.2.0" - colors "1.1.2" - figlet "^1.1.2" - lodash "^4.11.1" - ora "^0.2.1" - q "^1.4.1" - smartenv "^1.2.2" + "@types/lodash" "^4.14.55" + beautycolor "^1.0.7" + figlet "^1.2.0" + lodash "^4.17.4" + ora "^1.1.0" + smartenv "^2.0.0" + smartq "^1.1.1" + typings-global "^1.0.14" bindings@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.2.1.tgz#14ad6113812d2d37d72e67b4cacb4bb726505f11" + version "1.3.0" + resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.3.0.tgz#b346f6ecf6a95f5a815c5839fc7cdb22502f1ed7" brace-expansion@^1.1.7: - version "1.1.7" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.7.tgz#3effc3c50e000531fb720eaff80f0ae8ef23cf59" + version "1.1.10" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.10.tgz#5205cdf64c9798c180dc74b7bfc670c3974e6300" dependencies: - balanced-match "^0.4.1" + balanced-match "^1.0.0" concat-map "0.0.1" -chai-as-promised@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/chai-as-promised/-/chai-as-promised-6.0.0.tgz#1a02a433a6f24dafac63b9c96fa1684db1aa8da6" +chalk@^2.0.1, chalk@^2.1.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.3.0.tgz#b5ea48efc9c1793dccc9b4767c93914d3f2d52ba" dependencies: - check-error "^1.0.2" + ansi-styles "^3.1.0" + escape-string-regexp "^1.0.5" + supports-color "^4.0.0" -chai-string@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/chai-string/-/chai-string-1.3.0.tgz#df6139f294391b1035be5606f60a843b3a5041e7" - -chai@^3.5.0: - version "3.5.0" - resolved "https://registry.yarnpkg.com/chai/-/chai-3.5.0.tgz#4d02637b067fe958bdbfdd3a40ec56fef7373247" +cli-cursor@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5" dependencies: - assertion-error "^1.0.1" - deep-eql "^0.1.3" - type-detect "^1.0.0" + restore-cursor "^2.0.0" -chalk@^1.1.1: - version "1.1.3" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" - dependencies: - ansi-styles "^2.2.1" - escape-string-regexp "^1.0.2" - has-ansi "^2.0.0" - strip-ansi "^3.0.0" - supports-color "^2.0.0" - -check-error@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/check-error/-/check-error-1.0.2.tgz#574d312edd88bb5dd8912e9286dd6c0aed4aac82" - -cli-color@^1.1.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/cli-color/-/cli-color-1.2.0.tgz#3a5ae74fd76b6267af666e69e2afbbd01def34d1" - dependencies: - ansi-regex "^2.1.1" - d "1" - es5-ext "^0.10.12" - es6-iterator "2" - memoizee "^0.4.3" - timers-ext "0.1" - -cli-cursor@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-1.0.2.tgz#64da3f7d56a54412e59794bd62dc35295e8f2987" - dependencies: - restore-cursor "^1.0.1" - -cli-spinners@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-0.1.2.tgz#bb764d88e185fb9e1e6a2a1f19772318f605e31c" - -cli-table2@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/cli-table2/-/cli-table2-0.2.0.tgz#2d1ef7f218a0e786e214540562d4bd177fe32d97" - dependencies: - lodash "^3.10.1" - string-width "^1.0.1" - optionalDependencies: - colors "^1.1.2" - -code-point-at@^1.0.0: +cli-spinners@^1.0.1: version "1.1.0" - resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" + resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-1.1.0.tgz#f1847b168844d917a671eb9d147e3df497c90d06" -colors@1.1.2, colors@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/colors/-/colors-1.1.2.tgz#168a4701756b6a7f51a12ce0c97bfa28c084ed63" +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@^1.9.0: + version "1.9.1" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.1.tgz#c1261107aeb2f294ebffec9ed9ecad529a6097ed" + dependencies: + color-name "^1.1.1" + +color-name@^1.1.1: + version "1.1.3" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" concat-map@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" -d@1: - version "1.0.0" - resolved "https://registry.yarnpkg.com/d/-/d-1.0.0.tgz#754bb5bfe55451da69a58b94d45f4c5b0462d58f" +define-properties@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.2.tgz#83a73f2fea569898fb737193c8f873caf6d45c94" dependencies: - es5-ext "^0.10.9" - -deep-eql@^0.1.3: - version "0.1.3" - resolved "https://registry.yarnpkg.com/deep-eql/-/deep-eql-0.1.3.tgz#ef558acab8de25206cd713906d74e56930eb69f2" - dependencies: - type-detect "0.1.1" + foreach "^2.0.5" + object-keys "^1.0.8" early@^2.1.1: version "2.1.1" @@ -182,141 +122,103 @@ early@^2.1.1: smartq "^1.1.1" typings-global "^1.0.16" -es5-ext@^0.10.12, es5-ext@^0.10.13, es5-ext@^0.10.14, es5-ext@^0.10.9, es5-ext@~0.10.14, es5-ext@~0.10.2: - version "0.10.18" - resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.18.tgz#dc239d3dce4c22b9c939aa180878837a3c0b5c92" +es-abstract@^1.5.1: + version "1.10.0" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.10.0.tgz#1ecb36c197842a00d8ee4c2dfd8646bb97d60864" dependencies: - es6-iterator "2" - es6-symbol "~3.1" + 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" -es6-iterator@2, es6-iterator@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-2.0.1.tgz#8e319c9f0453bf575d374940a655920e59ca5512" +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: - d "1" - es5-ext "^0.10.14" - es6-symbol "^3.1" + is-callable "^1.1.1" + is-date-object "^1.0.1" + is-symbol "^1.0.1" -es6-symbol@^3.1, es6-symbol@^3.1.1, es6-symbol@~3.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.1.tgz#bf00ef4fdab6ba1b46ecb7b629b4c7ed5715cc77" - dependencies: - d "1" - es5-ext "~0.10.14" +es6-error@^4.0.2: + version "4.1.1" + resolved "https://registry.yarnpkg.com/es6-error/-/es6-error-4.1.1.tgz#9e3af407459deed47e9a91f9b885a84eb05c561d" -es6-weak-map@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/es6-weak-map/-/es6-weak-map-2.0.2.tgz#5e3ab32251ffd1538a1f8e5ffa1357772f92d96f" - dependencies: - d "1" - es5-ext "^0.10.14" - es6-iterator "^2.0.1" - es6-symbol "^3.1.1" - -escape-string-regexp@^1.0.2: +escape-string-regexp@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" -event-emitter@^0.3.4: - version "0.3.5" - resolved "https://registry.yarnpkg.com/event-emitter/-/event-emitter-0.3.5.tgz#df8c69eef1647923c7157b9ce83840610b02cc39" - dependencies: - d "1" - es5-ext "~0.10.14" - -exit-hook@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/exit-hook/-/exit-hook-1.1.1.tgz#f05ca233b48c05d54fff07765df8507e95c02ff8" - -figlet@^1.1.2: +figlet@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/figlet/-/figlet-1.2.0.tgz#6c46537378fab649146b5a6143dda019b430b410" -fs.realpath@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" +foreach@^2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/foreach/-/foreach-2.0.5.tgz#0bee005018aeb260d0a3af3ae658dd0136ec1b99" -glob@^7.0.0: - version "7.1.1" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.1.tgz#805211df04faaf1c63a3600306cdf5ade50b2ec8" - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.0.2" - once "^1.3.0" - path-is-absolute "^1.0.0" +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-ansi@^2.0.0: +has-flag@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-2.0.0.tgz#e8207af1cc7b30d446cc70b734b5e8be18f88d51" + +has@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/has/-/has-1.0.1.tgz#8461733f538b0837c9361e39a9ab9e9704dc2f28" dependencies: - ansi-regex "^2.0.0" + function-bind "^1.0.2" -inflight@^1.0.4: - version "1.0.6" - resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" - dependencies: - once "^1.3.0" - wrappy "1" +hoek@5.x.x: + version "5.0.3" + resolved "https://registry.yarnpkg.com/hoek/-/hoek-5.0.3.tgz#b71d40d943d0a95da01956b547f83c4a5b4a34ac" -inherits@2: - version "2.0.3" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" +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" -interpret@^1.0.0: - version "1.0.3" - resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.0.3.tgz#cbc35c62eeee73f19ab7b10a801511401afc0f90" +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-fullwidth-code-point@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" - dependencies: - number-is-nan "^1.0.0" - -is-promise@^2.1, is-promise@^2.1.0: +is-promise@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.1.0.tgz#79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa" -leakage@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/leakage/-/leakage-0.2.0.tgz#9e7a8cc1d241d8c8427e348769e192e172fd8733" +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" + +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.1.3" - resolved "https://registry.yarnpkg.com/left-pad/-/left-pad-1.1.3.tgz#612f61c033f3a9e08e939f1caebeea41b6f3199a" + version "1.2.0" + resolved "https://registry.yarnpkg.com/left-pad/-/left-pad-1.2.0.tgz#d30a73c6b8201d8f7d8e7956ba9616087a68e0ee" -lodash@^3.10.1: - version "3.10.1" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-3.10.1.tgz#5bf45e8e49ba4189e17d482789dfd15bd140b7b6" +lodash@^4.17.4, lodash@^4.17.5: + version "4.17.5" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.5.tgz#99a92d65c0272debe8c96b6057bc8fbfa3bed511" -lodash@^4.11.1, lodash@^4.13.1, lodash@^4.17.4: - version "4.17.4" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae" - -lru-queue@0.1: - version "0.1.0" - resolved "https://registry.yarnpkg.com/lru-queue/-/lru-queue-0.1.0.tgz#2738bd9f0d3cf4f84490c5736c48699ac632cda3" +log-symbols@^2.1.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-2.2.0.tgz#5740e1c5d6f0dfda4ad9323b5332107ef6b4c40a" dependencies: - es5-ext "~0.10.2" - -memoizee@^0.4.3: - version "0.4.5" - resolved "https://registry.yarnpkg.com/memoizee/-/memoizee-0.4.5.tgz#1bc3ea1e4be056dd475d521979d7be3d5e5b21c8" - dependencies: - d "1" - es5-ext "^0.10.13" - es6-weak-map "^2.0.1" - event-emitter "^0.3.4" - is-promise "^2.1" - lru-queue "0.1" - next-tick "1" - timers-ext "0.1" + chalk "^2.0.1" memwatch-next@^0.3.0: version "0.3.0" @@ -325,7 +227,11 @@ memwatch-next@^0.3.0: bindings "^1.2.1" nan "^2.3.2" -minimatch@^3.0.2: +mimic-fn@^1.0.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022" + +minimatch@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" dependencies: @@ -336,184 +242,115 @@ minimist@^1.2.0: resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" nan@^2.3.2: - version "2.6.2" - resolved "https://registry.yarnpkg.com/nan/-/nan-2.6.2.tgz#e4ff34e6c95fdfb5aecc08de6596f43605a7db45" + version "2.8.0" + resolved "https://registry.yarnpkg.com/nan/-/nan-2.8.0.tgz#ed715f3fe9de02b57a5e6252d90a96675e1f085a" -next-tick@1: - version "1.0.0" - resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.0.0.tgz#ca86d1fe8828169b0120208e3dc8424b9db8342c" +object-keys@^1.0.8: + version "1.0.11" + resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.0.11.tgz#c54601778ad560f1142ce0e01bcca8b56d13426d" -number-is-nan@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" +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" -object-assign@^4.0.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" +onetime@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/onetime/-/onetime-2.0.1.tgz#067428230fd67443b2794b22bba528b6867962d4" + dependencies: + mimic-fn "^1.0.0" -once@^1.3.0: +ora@^1.1.0: version "1.4.0" - resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + resolved "https://registry.yarnpkg.com/ora/-/ora-1.4.0.tgz#884458215b3a5d4097592285f93321bb7a79e2e5" dependencies: - wrappy "1" - -onetime@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/onetime/-/onetime-1.1.0.tgz#a1f7838f8314c516f05ecefcbc4ccfe04b4ed789" - -ora@^0.2.1, ora@^0.2.3: - version "0.2.3" - resolved "https://registry.yarnpkg.com/ora/-/ora-0.2.3.tgz#37527d220adcd53c39b73571d754156d5db657a4" - dependencies: - chalk "^1.1.1" - cli-cursor "^1.0.2" - cli-spinners "^0.1.2" - object-assign "^4.0.1" - -path-is-absolute@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" - -path-parse@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.5.tgz#3c1adf871ea9cd6c9431b6ea2bd74a0ff055c4c1" + chalk "^2.1.0" + cli-cursor "^2.1.0" + cli-spinners "^1.0.1" + log-symbols "^2.1.0" pretty-bytes@^4.0.2: version "4.0.2" resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-4.0.2.tgz#b2bf82e7350d65c6c33aa95aaa5a4f6327f61cd9" -q@^1.4.1: - version "1.5.0" - resolved "https://registry.yarnpkg.com/q/-/q-1.5.0.tgz#dd01bac9d06d30e6f219aecb8253ee9ebdc308f1" - -rechoir@^0.6.2: - version "0.6.2" - resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384" +restore-cursor@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf" dependencies: - resolve "^1.1.6" + onetime "^2.0.0" + signal-exit "^3.0.2" -resolve@^1.1.6: - version "1.3.3" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.3.3.tgz#655907c3469a8680dc2de3a275a8fdd69691f0e5" - dependencies: - path-parse "^1.0.5" - -restore-cursor@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-1.0.1.tgz#34661f46886327fed2991479152252df92daa541" - dependencies: - exit-hook "^1.0.0" - onetime "^1.0.0" - -semver@^5.3.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f" - -shelljs@^0.7.7: - version "0.7.7" - resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.7.7.tgz#b2f5c77ef97148f4b4f6e22682e10bba8667cff1" - dependencies: - glob "^7.0.0" - interpret "^1.0.0" - rechoir "^0.6.2" +signal-exit@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" smartchai@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/smartchai/-/smartchai-1.0.3.tgz#de6d010bb8b5aef24cb70b31a5f5334e8c41b72f" + version "1.0.8" + resolved "https://registry.yarnpkg.com/smartchai/-/smartchai-1.0.8.tgz#a074836f4ddd4b98c50f1e7ae9e8e8ad9f6f1902" dependencies: - "@types/chai" "^3.4.35" - "@types/chai-as-promised" "0.0.29" - "@types/chai-string" "^1.1.30" - chai "^3.5.0" - chai-as-promised "^6.0.0" - chai-string "^1.3.0" + "@types/code" "^4.0.3" + code "^5.1.0" + typings-global "^1.0.20" -smartdelay@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/smartdelay/-/smartdelay-1.0.1.tgz#687f8bcc09d7c62c9c5a8a1771c1aba3aff54156" +smartdelay@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/smartdelay/-/smartdelay-1.0.4.tgz#791c1a4ee6770494064c10b1d2d2b8e6f3105b82" dependencies: - typings-global "^1.0.14" - -smartenv@^1.2.2, smartenv@^1.2.5: - version "1.2.5" - resolved "https://registry.yarnpkg.com/smartenv/-/smartenv-1.2.5.tgz#5e50343ec4653953ef24929fc548cd74ea53205c" - dependencies: - beautylog "^4.1.2" - lodash "^4.11.1" - q "^1.4.1" - -smartparam@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/smartparam/-/smartparam-0.1.1.tgz#51c526bf38b0965007b21edd3e96c7e179c93591" - dependencies: - beautylog "5.0.12" - is-promise "^2.1.0" - minimatch "^3.0.2" - q "^1.4.1" - typings-global "^1.0.3" - -smartq@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/smartq/-/smartq-1.1.1.tgz#efb358705260d41ae18aef7ffd815f7b6fe17dd3" - dependencies: - typed-promisify "^0.3.0" - typings-global "^1.0.14" - -string-width@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" - dependencies: - code-point-at "^1.0.0" - is-fullwidth-code-point "^1.0.0" - strip-ansi "^3.0.0" - -strip-ansi@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" - dependencies: - ansi-regex "^2.0.0" - -supports-color@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" - -tapbundle@^1.0.5: - version "1.0.12" - resolved "https://registry.yarnpkg.com/tapbundle/-/tapbundle-1.0.12.tgz#71d29273aad280f5c4e15b2700430b2456a5d364" - dependencies: - early "^2.1.1" - leakage "^0.2.0" - smartchai "^1.0.3" - smartdelay "^1.0.1" smartq "^1.1.1" typings-global "^1.0.16" -timers-ext@0.1: - version "0.1.2" - resolved "https://registry.yarnpkg.com/timers-ext/-/timers-ext-0.1.2.tgz#61cc47a76c1abd3195f14527f978d58ae94c5204" +smartenv@^2.0.0: + version "2.0.6" + resolved "https://registry.yarnpkg.com/smartenv/-/smartenv-2.0.6.tgz#b38c679b0c151b9af548f68c3a072c29d1417e8d" dependencies: - es5-ext "~0.10.14" - next-tick "1" + lodash "^4.17.4" + smartq "^1.1.1" + typings-global "^1.0.14" -type-detect@0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-0.1.1.tgz#0ba5ec2a885640e470ea4e8505971900dac58822" - -type-detect@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-1.0.0.tgz#762217cc06db258ec48908a1298e8b95121e8ea2" - -typed-promisify@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/typed-promisify/-/typed-promisify-0.3.0.tgz#1ba0af5e444c87d8047406f18ce49092a1191853" - -typings-global@^1.0.14, typings-global@^1.0.16, typings-global@^1.0.3: - version "1.0.16" - resolved "https://registry.yarnpkg.com/typings-global/-/typings-global-1.0.16.tgz#489b71781af24268750c2899316400a5e482961f" - dependencies: - semver "^5.3.0" - shelljs "^0.7.7" - -wrappy@1: +smartparam@^1.0.2: version "1.0.2" - resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + resolved "https://registry.yarnpkg.com/smartparam/-/smartparam-1.0.2.tgz#6b6a50353b81dbe3353c0d353fbccd02e8963f2c" + dependencies: + beautylog "6.1.10" + is-promise "^2.1.0" + minimatch "^3.0.4" + smartq "^1.1.6" + typings-global "^1.0.20" + +smartq@^1.1.1, smartq@^1.1.6: + 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" + +supports-color@^4.0.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-4.5.0.tgz#be7a0de484dec5c5cddf8b3d59125044912f635b" + dependencies: + has-flag "^2.0.0" + +tapbundle@^1.1.8: + 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" + +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"