diff --git a/.gitignore b/.gitignore index 89dff23..3f93687 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ node_modules/ coverage/ -docs/ \ No newline at end of file +public/ +pages/ diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index e949b71..56a2530 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,13 +1,22 @@ -image: hosttoday/ht-docker-node:npmts +# gitzone standard +image: hosttoday/ht-docker-node:npmci + +cache: + paths: + - .yarn/ + key: "$CI_BUILD_STAGE" stages: - test - release +- trigger +- pages testLEGACY: stage: test script: - npmci test legacy + coverage: /\d+.?\d+?\%\s*coverage/ tags: - docker allow_failure: true @@ -16,6 +25,7 @@ testLTS: stage: test script: - npmci test lts + coverage: /\d+.?\d+?\%\s*coverage/ tags: - docker @@ -23,6 +33,7 @@ testSTABLE: stage: test script: - npmci test stable + coverage: /\d+.?\d+?\%\s*coverage/ tags: - docker @@ -33,4 +44,28 @@ release: only: - tags tags: - - docker \ No newline at end of file + - docker + +trigger: + stage: trigger + script: + - npmci trigger + only: + - tags + tags: + - docker + +pages: + image: hosttoday/ht-docker-node:npmci + stage: pages + script: + - npmci command yarn global add npmpage + - npmci command npmpage + tags: + - docker + only: + - tags + artifacts: + expire_in: 1 week + paths: + - 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..d8c2c88 --- /dev/null +++ b/dist/index.d.ts @@ -0,0 +1,2 @@ +export * from './smartdrive.classes.localdrivelist'; +export * from './smartdrive.interfaces'; diff --git a/dist/index.js b/dist/index.js new file mode 100644 index 0000000..a3592ed --- /dev/null +++ b/dist/index.js @@ -0,0 +1,7 @@ +"use strict"; +function __export(m) { + for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]; +} +Object.defineProperty(exports, "__esModule", { value: true }); +__export(require("./smartdrive.classes.localdrivelist")); +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUVBLHlEQUFtRCJ9 \ No newline at end of file diff --git a/dist/smartdrive.classes.localdrivelist.d.ts b/dist/smartdrive.classes.localdrivelist.d.ts new file mode 100644 index 0000000..c291ee9 --- /dev/null +++ b/dist/smartdrive.classes.localdrivelist.d.ts @@ -0,0 +1,6 @@ +import { IDrive } from './smartdrive.interfaces'; +export declare class LocalDriveList { + private _list; + getList(): Promise; + getUpdatedList(): Promise; +} diff --git a/dist/smartdrive.classes.localdrivelist.js b/dist/smartdrive.classes.localdrivelist.js new file mode 100644 index 0000000..08593fa --- /dev/null +++ b/dist/smartdrive.classes.localdrivelist.js @@ -0,0 +1,33 @@ +"use strict"; +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const plugins = require("./smartdrive.plugins"); +let promisifiedDrivelist = plugins.smartq.promisify(plugins.drivelist.list); +class LocalDriveList { + constructor() { + this._list = null; + } + getList() { + return __awaiter(this, void 0, void 0, function* () { + if (!this._list) { + this._list = yield promisifiedDrivelist(); + } + return this._list; + }); + } + getUpdatedList() { + return __awaiter(this, void 0, void 0, function* () { + this._list = null; + return yield this.getList(); + }); + } +} +exports.LocalDriveList = LocalDriveList; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnRkcml2ZS5jbGFzc2VzLmxvY2FsZHJpdmVsaXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvc21hcnRkcml2ZS5jbGFzc2VzLmxvY2FsZHJpdmVsaXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFBQSxnREFBK0M7QUFHL0MsSUFBSSxvQkFBb0IsR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBTSxPQUFPLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFBO0FBRWhGO0lBQUE7UUFDVSxVQUFLLEdBQWEsSUFBSSxDQUFBO0lBYWhDLENBQUM7SUFYTyxPQUFPOztZQUNYLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7Z0JBQ2hCLElBQUksQ0FBQyxLQUFLLEdBQUcsTUFBTSxvQkFBb0IsRUFBRSxDQUFBO1lBQzNDLENBQUM7WUFDRCxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQTtRQUNuQixDQUFDO0tBQUE7SUFFSyxjQUFjOztZQUNsQixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQTtZQUNqQixNQUFNLENBQUMsTUFBTSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUE7UUFDN0IsQ0FBQztLQUFBO0NBQ0Y7QUFkRCx3Q0FjQyJ9 \ No newline at end of file diff --git a/dist/smartdrive.interfaces.d.ts b/dist/smartdrive.interfaces.d.ts new file mode 100644 index 0000000..1664098 --- /dev/null +++ b/dist/smartdrive.interfaces.d.ts @@ -0,0 +1,12 @@ +export interface IDrive { + device: string; + description: string; + size: number; + mountpoints: IMountpoint[]; + raw: string; + protected: boolean; + system: boolean; +} +export interface IMountpoint { + path: string; +} diff --git a/dist/smartdrive.interfaces.js b/dist/smartdrive.interfaces.js new file mode 100644 index 0000000..4271302 --- /dev/null +++ b/dist/smartdrive.interfaces.js @@ -0,0 +1,3 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnRkcml2ZS5pbnRlcmZhY2VzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvc21hcnRkcml2ZS5pbnRlcmZhY2VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIifQ== \ No newline at end of file diff --git a/dist/smartdrive.plugins.d.ts b/dist/smartdrive.plugins.d.ts new file mode 100644 index 0000000..141a81d --- /dev/null +++ b/dist/smartdrive.plugins.d.ts @@ -0,0 +1,4 @@ +import 'typings-global'; +import * as drivelist from 'drivelist'; +import * as smartq from 'smartq'; +export { drivelist, smartq }; diff --git a/dist/smartdrive.plugins.js b/dist/smartdrive.plugins.js new file mode 100644 index 0000000..a4ef945 --- /dev/null +++ b/dist/smartdrive.plugins.js @@ -0,0 +1,8 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +require("typings-global"); +const drivelist = require("drivelist"); +exports.drivelist = drivelist; +const smartq = require("smartq"); +exports.smartq = smartq; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnRkcml2ZS5wbHVnaW5zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvc21hcnRkcml2ZS5wbHVnaW5zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsMEJBQXVCO0FBQ3ZCLHVDQUFzQztBQUlwQyw4QkFBUztBQUhYLGlDQUFnQztBQUk5Qix3QkFBTSJ9 \ No newline at end of file diff --git a/npmextra.json b/npmextra.json new file mode 100644 index 0000000..c4494f5 --- /dev/null +++ b/npmextra.json @@ -0,0 +1,7 @@ +{ + "npmci": { + "globalNpmTools": [ + "npmts" + ] + } +} \ No newline at end of file diff --git a/package.json b/package.json index ef93723..14d9101 100644 --- a/package.json +++ b/package.json @@ -1,33 +1,20 @@ { "name": "smartdrive", - "version": "1.0.3", + "version": "1.0.1", "description": "do more with local and cloud drives", "main": "dist/index.js", + "typings": "dist/index.d.ts", + "author": "Lossless GmbH", + "license": "MIT", "scripts": { "test": "(npmts)" }, - "repository": { - "type": "git", - "url": "git+ssh://git@gitlab.com/pushrocks/smartdrive.git" - }, - "keywords": [ - "GDrive", - "OneDrive", - "LocalDrive" - ], - "author": "Lossless GmbH", - "license": "MIT", - "bugs": { - "url": "https://gitlab.com/pushrocks/smartdrive/issues" - }, - "homepage": "https://gitlab.com/pushrocks/smartdrive#README", "devDependencies": { - "npmts-g": "^5.2.6" + "tapbundle": "^1.0.14" }, "dependencies": { - "beautylog": "^5.0.12", - "drivelist": "^3.2.0", - "googleapis": "^8.2.0", - "smartfile": "^3.0.10" + "drivelist": "^5.0.22", + "smartq": "^1.1.1", + "typings-global": "^1.0.16" } } diff --git a/test/test.ts b/test/test.ts new file mode 100644 index 0000000..132eb05 --- /dev/null +++ b/test/test.ts @@ -0,0 +1,21 @@ +import * as smartdrive from '../dist/index' + +import { expect, tap } from 'tapbundle' + +let myLocalDriveList: smartdrive.LocalDriveList +let driveList: smartdrive.IDrive[] + +tap.test('should create a new LocalDriveList', async () => { + myLocalDriveList = new smartdrive.LocalDriveList() + expect(myLocalDriveList).to.be.instanceof(smartdrive.LocalDriveList) +}) + +tap.test('should deliver a local drivelist', async () => { + driveList = await myLocalDriveList.getList() +}) + +tap.test('drivelist should contain drives', async () => { + console.log(driveList) +}) + +tap.start() diff --git a/ts/index.ts b/ts/index.ts new file mode 100644 index 0000000..53e4dc8 --- /dev/null +++ b/ts/index.ts @@ -0,0 +1,4 @@ +import * as plugins from './smartdrive.plugins' + +export * from './smartdrive.classes.localdrivelist' +export * from './smartdrive.interfaces' diff --git a/ts/smartdrive.classes.localdrivelist.ts b/ts/smartdrive.classes.localdrivelist.ts new file mode 100644 index 0000000..11a4bc1 --- /dev/null +++ b/ts/smartdrive.classes.localdrivelist.ts @@ -0,0 +1,20 @@ +import * as plugins from './smartdrive.plugins' +import { IDrive } from './smartdrive.interfaces' + +let promisifiedDrivelist = plugins.smartq.promisify(plugins.drivelist.list) + +export class LocalDriveList { + private _list: IDrive[] = null + + async getList (): Promise { + if (!this._list) { + this._list = await promisifiedDrivelist() + } + return this._list + } + + async getUpdatedList (): Promise { + this._list = null + return await this.getList() + } +} diff --git a/ts/smartdrive.interfaces.ts b/ts/smartdrive.interfaces.ts new file mode 100644 index 0000000..28c5a28 --- /dev/null +++ b/ts/smartdrive.interfaces.ts @@ -0,0 +1,15 @@ +import * as plugins from './smartdrive.plugins' + +export interface IDrive { + device: string + description: string + size: number, + mountpoints: IMountpoint[] + raw: string + protected: boolean + system: boolean +} + +export interface IMountpoint { + path: string +} diff --git a/ts/smartdrive.plugins.ts b/ts/smartdrive.plugins.ts new file mode 100644 index 0000000..6b93a19 --- /dev/null +++ b/ts/smartdrive.plugins.ts @@ -0,0 +1,8 @@ +import 'typings-global' +import * as drivelist from 'drivelist' +import * as smartq from 'smartq' + +export { + drivelist, + smartq +} diff --git a/tslint.json b/tslint.json new file mode 100644 index 0000000..45052ad --- /dev/null +++ b/tslint.json @@ -0,0 +1,3 @@ +{ + "extends": "tslint-config-standard" +} diff --git a/yarn.lock b/yarn.lock new file mode 100644 index 0000000..5d42899 --- /dev/null +++ b/yarn.lock @@ -0,0 +1,323 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# 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" + 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" + +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" + +argparse@^1.0.7: + version "1.0.9" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.9.tgz#73d83bc263f86e97f8cc4f6bae1b0e90a7d22c86" + dependencies: + sprintf-js "~1.0.2" + +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" + +beautycolor@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/beautycolor/-/beautycolor-1.0.7.tgz#a4715738ac4c8221371e9cbeb5a6cc6d11ecbf7c" + dependencies: + ansi-256-colors "^1.1.0" + 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" + +bluebird@^3.5.0: + version "3.5.0" + resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.0.tgz#791420d7f551eea2897453a8a77653f96606d67c" + +brace-expansion@^1.1.7: + version "1.1.7" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.7.tgz#3effc3c50e000531fb720eaff80f0ae8ef23cf59" + dependencies: + balanced-match "^0.4.1" + 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" + dependencies: + check-error "^1.0.2" + +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" + dependencies: + assertion-error "^1.0.1" + deep-eql "^0.1.3" + type-detect "^1.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" + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + +debug@^2.6.0: + version "2.6.8" + resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.8.tgz#e731531ca2ede27d188222427da17821d68ff4fc" + dependencies: + ms "2.0.0" + +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" + +drivelist@^5.0.22: + version "5.0.22" + resolved "https://registry.yarnpkg.com/drivelist/-/drivelist-5.0.22.tgz#64029a16d530b485d7c2b3f748149c9bc6e871f0" + dependencies: + bluebird "^3.5.0" + debug "^2.6.0" + js-yaml "^3.4.1" + lodash "^4.16.4" + tmp "0.0.31" + +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" + +es6-error@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/es6-error/-/es6-error-4.0.2.tgz#eec5c726eacef51b7f6b73c20db6e1b13b069c98" + +esprima@^3.1.1: + version "3.1.3" + resolved "https://registry.yarnpkg.com/esprima/-/esprima-3.1.3.tgz#fdca51cee6133895e3c88d535ce49dbff62a4633" + +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + +glob@^7.0.0: + version "7.1.2" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15" + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.4" + once "^1.3.0" + path-is-absolute "^1.0.0" + +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" + +inherits@2: + version "2.0.3" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" + +interpret@^1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.0.3.tgz#cbc35c62eeee73f19ab7b10a801511401afc0f90" + +js-yaml@^3.4.1: + version "3.8.4" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.8.4.tgz#520b4564f86573ba96662af85a8cafa7b4b5a6f6" + dependencies: + argparse "^1.0.7" + esprima "^3.1.1" + +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" + +lodash@^4.16.4: + version "4.17.4" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae" + +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" + +minimatch@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" + dependencies: + brace-expansion "^1.1.7" + +minimist@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" + +ms@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" + +nan@^2.3.2: + version "2.6.2" + resolved "https://registry.yarnpkg.com/nan/-/nan-2.6.2.tgz#e4ff34e6c95fdfb5aecc08de6596f43605a7db45" + +once@^1.3.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + dependencies: + wrappy "1" + +os-tmpdir@~1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" + +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" + +pretty-bytes@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-4.0.2.tgz#b2bf82e7350d65c6c33aa95aaa5a4f6327f61cd9" + +rechoir@^0.6.2: + version "0.6.2" + resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384" + dependencies: + resolve "^1.1.6" + +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" + +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.8" + resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.7.8.tgz#decbcf874b0d1e5fb72e14b164a9683048e9acb3" + dependencies: + glob "^7.0.0" + interpret "^1.0.0" + rechoir "^0.6.2" + +smartchai@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/smartchai/-/smartchai-1.0.3.tgz#de6d010bb8b5aef24cb70b31a5f5334e8c41b72f" + 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" + +smartdelay@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/smartdelay/-/smartdelay-1.0.3.tgz#5fd44dad77262d110702f0293efa80c072cfb579" + dependencies: + smartq "^1.1.1" + typings-global "^1.0.16" + +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" + +sprintf-js@~1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" + +tapbundle@^1.0.14: + version "1.0.14" + resolved "https://registry.yarnpkg.com/tapbundle/-/tapbundle-1.0.14.tgz#75827e335fcb02216f0267a26a26d702ddc02e3c" + dependencies: + early "^2.1.1" + leakage "^0.3.0" + smartchai "^1.0.3" + smartdelay "^1.0.3" + smartq "^1.1.1" + typings-global "^1.0.16" + +tmp@0.0.31: + version "0.0.31" + resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.31.tgz#8f38ab9438e17315e5dbd8b3657e8bfb277ae4a7" + dependencies: + os-tmpdir "~1.0.1" + +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: + 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: + version "1.0.2" + resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"