diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 1128296..a1d614e 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -3,23 +3,39 @@ image: hosttoday/ht-docker-node:npmci cache: paths: - - .yarn/ + - .npmci_cache/ key: "$CI_BUILD_STAGE" stages: -- mirror +- security - test - release -- trigger -- pages +- metadata +# ==================== +# security stage +# ==================== mirror: - stage: mirror + stage: security script: - npmci git mirror tags: - docker + - notpriv +snyk: + stage: security + script: + - npmci command npm install -g snyk + - npmci command npm install --ignore-scripts + - npmci command snyk test + tags: + - docker + - notpriv + +# ==================== +# test stage +# ==================== testLEGACY: stage: test script: @@ -29,6 +45,7 @@ testLEGACY: coverage: /\d+.?\d+?\%\s*coverage/ tags: - docker + - notpriv allow_failure: true testLTS: @@ -40,6 +57,7 @@ testLTS: coverage: /\d+.?\d+?\%\s*coverage/ tags: - docker + - notpriv testSTABLE: stage: test @@ -50,37 +68,75 @@ testSTABLE: coverage: /\d+.?\d+?\%\s*coverage/ tags: - docker + - notpriv release: stage: release script: - - npmci npm prepare + - npmci node install stable - npmci npm publish only: - tags tags: - docker + - notpriv + +# ==================== +# metadata stage +# ==================== +codequality: + stage: metadata + image: docker:stable + allow_failure: true + services: + - docker:stable-dind + script: + - export SP_VERSION=$(echo "$CI_SERVER_VERSION" | sed 's/^\([0-9]*\)\.\([0-9]*\).*/\1-\2-stable/') + - docker run + --env SOURCE_CODE="$PWD" + --volume "$PWD":/code + --volume /var/run/docker.sock:/var/run/docker.sock + "registry.gitlab.com/gitlab-org/security-products/codequality:$SP_VERSION" /code + artifacts: + paths: [codeclimate.json] + tags: + - docker + - priv trigger: - stage: trigger + stage: metadata script: - npmci trigger only: - tags tags: - docker + - notpriv pages: image: hosttoday/ht-docker-node:npmci - stage: pages + stage: metadata script: - - npmci command yarn global add npmpage - - npmci command npmpage + - npmci command npm install -g typedoc typescript + - npmci npm install + - npmci command typedoc --module "commonjs" --target "ES2016" --out public/ ts/ tags: - docker + - notpriv only: - tags artifacts: expire_in: 1 week paths: - public + allow_failure: true + +windowsCompatibility: + image: stefanscherer/node-windows:10-build-tools + stage: metadata + script: + - npm install & npm test + coverage: /\d+.?\d+?\%\s*coverage/ + tags: + - windows + allow_failure: true diff --git a/README.md b/README.md index 433f6fa..36ef5b2 100644 --- a/README.md +++ b/README.md @@ -1,13 +1,16 @@ # smartstring + handle strings in smart ways. TypeScript ready. ## Availabililty + [![npm](https://pushrocks.gitlab.io/assets/repo-button-npm.svg)](https://www.npmjs.com/package/smartstring) [![git](https://pushrocks.gitlab.io/assets/repo-button-git.svg)](https://GitLab.com/pushrocks/smartstring) [![git](https://pushrocks.gitlab.io/assets/repo-button-mirror.svg)](https://github.com/pushrocks/smartstring) [![docs](https://pushrocks.gitlab.io/assets/repo-button-docs.svg)](https://pushrocks.gitlab.io/smartstring/) ## Status for master + [![build status](https://GitLab.com/pushrocks/smartstring/badges/master/build.svg)](https://GitLab.com/pushrocks/smartstring/commits/master) [![coverage report](https://GitLab.com/pushrocks/smartstring/badges/master/coverage.svg)](https://GitLab.com/pushrocks/smartstring/commits/master) [![npm downloads per month](https://img.shields.io/npm/dm/smartstring.svg)](https://www.npmjs.com/package/smartstring) @@ -19,44 +22,45 @@ handle strings in smart ways. TypeScript ready. [![JavaScript Style Guide](https://img.shields.io/badge/code%20style-standard-brightgreen.svg)](http://standardjs.com/) ## Usage + Use TypeScript for best in class instellisense. ```javascript -import * as smartstring from "smartstring"; +import * as smartstring from 'smartstring'; // classes // smartstring.Domain class -let myDomain = new smartstring.Domain("https://sub.main.tld"); -myDomain.level1 // "tld" -myDomain.level2 // "main" +let myDomain = new smartstring.Domain('https://sub.main.tld'); +myDomain.level1; // "tld" +myDomain.level2; // "main" // level3 , level 4 and so on... -myDomain.zoneName // "main.tld" -myDOmain.protocol // "https" +myDomain.zoneName; // "main.tld" +myDOmain.protocol; // "https" // smartstring.GitRepo class -let myGitRepo = new smartstring.GitRepo("git@github.com:someorg/somerepo.git"); // takes https and git and npm repo URL versions -myGitRepo.host // "github.com" -myGitRepo.user // "someorg" -myGitRepo.repo // "somerepo" -myGitRepo.accessToken // accessToken if specified with https -myGitRepo.sshUrl // "git@github.com:someorg/somerepo.git" (computed also from https) -myGitRepo.httpsUrl // "https://github.com/someorg/somerepo.git" (computed also from ssh) +let myGitRepo = new smartstring.GitRepo('git@github.com:someorg/somerepo.git'); // takes https and git and npm repo URL versions +myGitRepo.host; // "github.com" +myGitRepo.user; // "someorg" +myGitRepo.repo; // "somerepo" +myGitRepo.accessToken; // accessToken if specified with https +myGitRepo.sshUrl; // "git@github.com:someorg/somerepo.git" (computed also from https) +myGitRepo.httpsUrl; // "https://github.com/someorg/somerepo.git" (computed also from ssh) //smartstring.Base64 -let myBase64 = new smartstring.Base64('somestring','string') // first arg is the string, second is string type (can be string, base64, base64uri) -myBase64.simpleString // 'somestring' -myBase64.base64String // base64 representation of 'somestring' -myBase64.base64UriString // base64uri representation of 'sometring' +let myBase64 = new smartstring.Base64('somestring', 'string'); // first arg is the string, second is string type (can be string, base64, base64uri) +myBase64.simpleString; // 'somestring' +myBase64.base64String; // base64 representation of 'somestring' +myBase64.base64UriString; // base64uri representation of 'sometring' // methods -smartstring.base64.encode('somestring') // encodes 'somestring' to base64 -smartstring.base64.encodeUri('sometring') // encodes 'somestring' to base64uri -smartstring.base64.decode() // decodes base64 and base64uri to simple string respresentation +smartstring.base64.encode('somestring'); // encodes 'somestring' to base64 +smartstring.base64.encodeUri('sometring'); // encodes 'somestring' to base64uri +smartstring.base64.decode(); // decodes base64 and base64uri to simple string respresentation -smartstring.indent.indent('somestring\anotherstring', 4) // indents a string by 4 -smartstring.indent.indent('somestring\anotherstring', '>>>> ') // indents a string with a prefix -smartstring.indent.normalize(' somestring\ anotherstring', '>>>> ') // looks for the least amount of indention and removes superflouous space +smartstring.indent.indent('somestringanotherstring', 4); // indents a string by 4 +smartstring.indent.indent('somestringanotherstring', '>>>> '); // indents a string with a prefix +smartstring.indent.normalize(' somestring anotherstring', '>>>> '); // looks for the least amount of indention and removes superflouous space ``` For further information read the linked docs at the top of this README. diff --git a/dist/index.d.ts b/dist/index.d.ts deleted file mode 100644 index 011ecce..0000000 --- a/dist/index.d.ts +++ /dev/null @@ -1,9 +0,0 @@ -import * as create from './smartstring.create'; -import * as docker from './smartstring.docker'; -import * as indent from './smartstring.indent'; -import * as normalize from './smartstring.normalize'; -import * as typescript from './smartstring.typescript'; -export { create, docker, typescript, normalize, indent }; -export { Base64, base64 } from './smartstring.base64'; -export { Domain } from './smartstring.domain'; -export { GitRepo } from './smartstring.git'; diff --git a/dist/index.js b/dist/index.js deleted file mode 100644 index 4cf85cf..0000000 --- a/dist/index.js +++ /dev/null @@ -1,20 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const create = require("./smartstring.create"); -exports.create = create; -const docker = require("./smartstring.docker"); -exports.docker = docker; -const indent = require("./smartstring.indent"); -exports.indent = indent; -const normalize = require("./smartstring.normalize"); -exports.normalize = normalize; -const typescript = require("./smartstring.typescript"); -exports.typescript = typescript; -var smartstring_base64_1 = require("./smartstring.base64"); -exports.Base64 = smartstring_base64_1.Base64; -exports.base64 = smartstring_base64_1.base64; -var smartstring_domain_1 = require("./smartstring.domain"); -exports.Domain = smartstring_domain_1.Domain; -var smartstring_git_1 = require("./smartstring.git"); -exports.GitRepo = smartstring_git_1.GitRepo; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLCtDQUE4QztBQU81Qyx3QkFBTTtBQU5SLCtDQUE4QztBQU81Qyx3QkFBTTtBQU5SLCtDQUE4QztBQVM1Qyx3QkFBTTtBQVJSLHFEQUFvRDtBQU9sRCw4QkFBUztBQU5YLHVEQUFzRDtBQUtwRCxnQ0FBVTtBQUtaLDJEQUFxRDtBQUE1QyxzQ0FBQSxNQUFNLENBQUE7QUFBRSxzQ0FBQSxNQUFNLENBQUE7QUFDdkIsMkRBQTZDO0FBQXBDLHNDQUFBLE1BQU0sQ0FBQTtBQUNmLHFEQUEyQztBQUFsQyxvQ0FBQSxPQUFPLENBQUEifQ== \ No newline at end of file diff --git a/dist/smartstring.base64.d.ts b/dist/smartstring.base64.d.ts deleted file mode 100644 index 3a8509a..0000000 --- a/dist/smartstring.base64.d.ts +++ /dev/null @@ -1,28 +0,0 @@ -/** - * the type for base 64 - */ -export declare type TBase64Input = 'string' | 'base64' | 'base64uri'; -/** - * handle base64 strings - */ -export declare class Base64 { - private refString; - constructor(inputStringArg: any, typeArg: TBase64Input); - /** - * the simple string (unencoded) - */ - readonly simpleString: string; - /** - * the base64 encoded version of the original string - */ - readonly base64String: any; - /** - * the base64uri encoded version of the original string - */ - readonly base64UriString: any; -} -export declare let base64: { - encode: (stringArg: string) => any; - encodeUri: (stringArg: string) => any; - decode: (stringArg: string) => any; -}; diff --git a/dist/smartstring.base64.js b/dist/smartstring.base64.js deleted file mode 100644 index 6485246..0000000 --- a/dist/smartstring.base64.js +++ /dev/null @@ -1,60 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const plugins = require("./smartstring.plugins"); -/** - * handle base64 strings - */ -class Base64 { - constructor(inputStringArg, typeArg) { - switch (typeArg) { - case 'string':// easiest case - this.refString = inputStringArg; - break; - case 'base64': - this.refString = exports.base64.decode(inputStringArg); - break; - case 'base64uri': - this.refString = exports.base64.decode(inputStringArg); - } - } - /** - * the simple string (unencoded) - */ - get simpleString() { - return this.refString; - } - /** - * the base64 encoded version of the original string - */ - get base64String() { - return exports.base64.encode(this.refString); - } - /** - * the base64uri encoded version of the original string - */ - get base64UriString() { - return exports.base64.encodeUri(this.refString); - } -} -exports.Base64 = Base64; -exports.base64 = { - /** - * encodes the string - */ - encode: (stringArg) => { - return plugins.jsBase64.encode(stringArg); - }, - /** - * encodes a stringArg to base64 uri style - */ - encodeUri: (stringArg) => { - return plugins.jsBase64.encodeURI(stringArg); - }, - /** - * decodes a base64 encoded string - */ - decode: (stringArg) => { - return plugins.jsBase64.decode(stringArg); - } -}; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnRzdHJpbmcuYmFzZTY0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvc21hcnRzdHJpbmcuYmFzZTY0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsaURBQWdEO0FBT2hEOztHQUVHO0FBQ0g7SUFFRSxZQUFZLGNBQWMsRUFBRSxPQUFxQjtRQUMvQyxNQUFNLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1lBQ2hCLEtBQUssUUFBUSxDQUFFLGVBQWU7Z0JBQzVCLElBQUksQ0FBQyxTQUFTLEdBQUcsY0FBYyxDQUFBO2dCQUMvQixLQUFLLENBQUE7WUFDUCxLQUFLLFFBQVE7Z0JBQ1gsSUFBSSxDQUFDLFNBQVMsR0FBRyxjQUFNLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFBO2dCQUM5QyxLQUFLLENBQUE7WUFDUCxLQUFLLFdBQVc7Z0JBQ2QsSUFBSSxDQUFDLFNBQVMsR0FBRyxjQUFNLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFBO1FBQ2xELENBQUM7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFJLFlBQVk7UUFDZCxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQTtJQUN2QixDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFJLFlBQVk7UUFDZCxNQUFNLENBQUMsY0FBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUE7SUFDdEMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBSSxlQUFlO1FBQ2pCLE1BQU0sQ0FBQyxjQUFNLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQTtJQUN6QyxDQUFDO0NBQ0Y7QUFuQ0Qsd0JBbUNDO0FBRVUsUUFBQSxNQUFNLEdBQUc7SUFDbEI7O09BRUc7SUFDSCxNQUFNLEVBQUUsQ0FBQyxTQUFpQixFQUFFLEVBQUU7UUFDNUIsTUFBTSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFBO0lBQzNDLENBQUM7SUFFRDs7T0FFRztJQUNILFNBQVMsRUFBRSxDQUFDLFNBQWlCLEVBQUUsRUFBRTtRQUMvQixNQUFNLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUE7SUFDOUMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxFQUFFLENBQUMsU0FBaUIsRUFBRSxFQUFFO1FBQzVCLE1BQU0sQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQTtJQUMzQyxDQUFDO0NBQ0YsQ0FBQSJ9 \ No newline at end of file diff --git a/dist/smartstring.create.d.ts b/dist/smartstring.create.d.ts deleted file mode 100644 index 0f6c5f8..0000000 --- a/dist/smartstring.create.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -export declare const createRandomString: (patternArg: string, lengthArg: number, optionsArg: any) => string; -export declare const createCryptoRandomString: (lengthArg: any) => string; diff --git a/dist/smartstring.create.js b/dist/smartstring.create.js deleted file mode 100644 index 539d320..0000000 --- a/dist/smartstring.create.js +++ /dev/null @@ -1,10 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const plugins = require("./smartstring.plugins"); -exports.createRandomString = (patternArg, lengthArg, optionsArg) => { - return plugins.randomatic(patternArg, lengthArg, optionsArg); -}; -exports.createCryptoRandomString = (lengthArg) => { - return plugins.cryptoRandomString(lengthArg); -}; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnRzdHJpbmcuY3JlYXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvc21hcnRzdHJpbmcuY3JlYXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsaURBQWdEO0FBRW5DLFFBQUEsa0JBQWtCLEdBQUcsQ0FDaEMsVUFBa0IsRUFDbEIsU0FBaUIsRUFDakIsVUFBZSxFQUNQLEVBQUU7SUFDVixNQUFNLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxVQUFVLEVBQUUsU0FBUyxFQUFFLFVBQVUsQ0FBQyxDQUFBO0FBQzlELENBQUMsQ0FBQTtBQUVZLFFBQUEsd0JBQXdCLEdBQUcsQ0FBQyxTQUFTLEVBQVUsRUFBRTtJQUM1RCxNQUFNLENBQUMsT0FBTyxDQUFDLGtCQUFrQixDQUFDLFNBQVMsQ0FBQyxDQUFBO0FBQzlDLENBQUMsQ0FBQSJ9 \ No newline at end of file diff --git a/dist/smartstring.docker.d.ts b/dist/smartstring.docker.d.ts deleted file mode 100644 index 97bebec..0000000 --- a/dist/smartstring.docker.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -/** - * converts an erray of env strings from docker remote api to an usable object. - * @param envArrayArg - * @returns {} - */ -export declare const makeEnvObject: (envArrayArg: string[]) => {}; diff --git a/dist/smartstring.docker.js b/dist/smartstring.docker.js deleted file mode 100644 index d2b3f2d..0000000 --- a/dist/smartstring.docker.js +++ /dev/null @@ -1,19 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -/** - * converts an erray of env strings from docker remote api to an usable object. - * @param envArrayArg - * @returns {} - */ -exports.makeEnvObject = function (envArrayArg) { - let returnObject = {}; - let regexString = /(.*)=(.*)/; - if (typeof envArrayArg !== 'undefined') { - for (let envKey in envArrayArg) { - let regexMatches = regexString.exec(envArrayArg[envKey]); - returnObject[regexMatches[1]] = regexMatches[2]; - } - } - return returnObject; -}; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnRzdHJpbmcuZG9ja2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvc21hcnRzdHJpbmcuZG9ja2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBRUE7Ozs7R0FJRztBQUNVLFFBQUEsYUFBYSxHQUFHLFVBQVUsV0FBcUI7SUFDMUQsSUFBSSxZQUFZLEdBQUcsRUFBRSxDQUFBO0lBQ3JCLElBQUksV0FBVyxHQUFHLFdBQVcsQ0FBQTtJQUM3QixFQUFFLENBQUMsQ0FBQyxPQUFPLFdBQVcsS0FBSyxXQUFXLENBQUMsQ0FBQyxDQUFDO1FBQ3ZDLEdBQUcsQ0FBQyxDQUFDLElBQUksTUFBTSxJQUFJLFdBQVcsQ0FBQyxDQUFDLENBQUM7WUFDL0IsSUFBSSxZQUFZLEdBQUcsV0FBVyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUUsTUFBTSxDQUFFLENBQUMsQ0FBQTtZQUMxRCxZQUFZLENBQUUsWUFBWSxDQUFFLENBQUMsQ0FBRSxDQUFFLEdBQUcsWUFBWSxDQUFFLENBQUMsQ0FBRSxDQUFBO1FBQ3ZELENBQUM7SUFDSCxDQUFDO0lBQ0QsTUFBTSxDQUFDLFlBQVksQ0FBQTtBQUNyQixDQUFDLENBQUEifQ== \ No newline at end of file diff --git a/dist/smartstring.domain.d.ts b/dist/smartstring.domain.d.ts deleted file mode 100644 index 42db770..0000000 --- a/dist/smartstring.domain.d.ts +++ /dev/null @@ -1,14 +0,0 @@ -export declare class Domain { - fullName: string; - level1: string; - level2: string; - level3: string; - level4: string; - level5: string; - protocol: string; - zoneName: string; - topLevel: string; - domainName: any; - subDomain: any; - constructor(domainStringArg: string); -} diff --git a/dist/smartstring.domain.js b/dist/smartstring.domain.js deleted file mode 100644 index f77981f..0000000 --- a/dist/smartstring.domain.js +++ /dev/null @@ -1,53 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -class Domain { - constructor(domainStringArg) { - let regexMatches = domainRegex(domainStringArg); - this.fullName = ''; - for (let i = 1; i <= 5; i++) { - if (regexMatches[i - 1]) { - let localMatch = regexMatches[i - 1]; - this['level' + i.toString()] = localMatch; - if (this.fullName === '') { - this.fullName = localMatch; - } - else { - this.fullName = localMatch + '.' + this.fullName; - } - } - else { - this['level' + i.toString()] = undefined; - } - ; - } - ; - this.protocol = protocolRegex(domainStringArg); - this.zoneName = this.level2 + '.' + this.level1; - // aliases - this.topLevel = this.level1; - this.domainName = this.level2; - this.subDomain = this.level3; - } -} -exports.Domain = Domain; -let domainRegex = function (stringArg) { - let regexString = /([a-zA-Z0-9\-\_]*)\.{0,1}([a-zA-Z0-9\-\_]*)\.{0,1}([a-zA-Z0-9\-\_]*)\.{0,1}([a-zA-Z0-9\-\_]*)\.{0,1}([a-zA-Z0-9\-\_]*)\.{0,1}$/; - let regexMatches = regexString.exec(stringArg); - regexMatches.reverse(); //make sure we build the domain from toplevel to subdomain (reversed order) - regexMatches.pop(); // pop the last element, which is, since we reversed the Array, the full String of matched elements - let regexMatchesFiltered = regexMatches.filter(function (stringArg) { - return (stringArg !== ''); - }); - return regexMatchesFiltered; -}; -let protocolRegex = function (stringArg) { - let regexString = /^([a-zA-Z0-9]*):\/\//; - let regexMatches = regexString.exec(stringArg); - if (regexMatches) { - return regexMatches[1]; - } - else { - return undefined; - } -}; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnRzdHJpbmcuZG9tYWluLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvc21hcnRzdHJpbmcuZG9tYWluLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBRUE7SUFhRSxZQUFhLGVBQXVCO1FBQ2xDLElBQUksWUFBWSxHQUFHLFdBQVcsQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUNoRCxJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQTtRQUNsQixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQzVCLEVBQUUsQ0FBQyxDQUFDLFlBQVksQ0FBRSxDQUFDLEdBQUcsQ0FBQyxDQUFFLENBQUMsQ0FBQyxDQUFDO2dCQUMxQixJQUFJLFVBQVUsR0FBRyxZQUFZLENBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBRSxDQUFBO2dCQUN0QyxJQUFJLENBQUUsT0FBTyxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBRSxHQUFHLFVBQVUsQ0FBQTtnQkFDM0MsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO29CQUN6QixJQUFJLENBQUMsUUFBUSxHQUFHLFVBQVUsQ0FBQTtnQkFDNUIsQ0FBQztnQkFBQyxJQUFJLENBQUMsQ0FBQztvQkFDTixJQUFJLENBQUMsUUFBUSxHQUFHLFVBQVUsR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQTtnQkFDbEQsQ0FBQztZQUNILENBQUM7WUFBQyxJQUFJLENBQUMsQ0FBQztnQkFDTixJQUFJLENBQUUsT0FBTyxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBRSxHQUFHLFNBQVMsQ0FBQTtZQUM1QyxDQUFDO1lBQUEsQ0FBQztRQUNKLENBQUM7UUFBQSxDQUFDO1FBQ0YsSUFBSSxDQUFDLFFBQVEsR0FBRyxhQUFhLENBQUMsZUFBZSxDQUFDLENBQUE7UUFDOUMsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsTUFBTSxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFBO1FBRS9DLFVBQVU7UUFDVixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUE7UUFDM0IsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFBO1FBQzdCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQTtJQUM5QixDQUFDO0NBQ0Y7QUFyQ0Qsd0JBcUNDO0FBR0QsSUFBSSxXQUFXLEdBQUcsVUFBVSxTQUFpQjtJQUMzQyxJQUFJLFdBQVcsR0FBRyxnSUFBZ0ksQ0FBQTtJQUNsSixJQUFJLFlBQVksR0FBRyxXQUFXLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFBO0lBQzlDLFlBQVksQ0FBQyxPQUFPLEVBQUUsQ0FBQSxDQUFDLDJFQUEyRTtJQUNsRyxZQUFZLENBQUMsR0FBRyxFQUFFLENBQUEsQ0FBQyxtR0FBbUc7SUFDdEgsSUFBSSxvQkFBb0IsR0FBRyxZQUFZLENBQUMsTUFBTSxDQUFDLFVBQVUsU0FBaUI7UUFDeEUsTUFBTSxDQUFDLENBQUMsU0FBUyxLQUFLLEVBQUUsQ0FBQyxDQUFBO0lBQzNCLENBQUMsQ0FBQyxDQUFDO0lBQ0gsTUFBTSxDQUFDLG9CQUFvQixDQUFBO0FBQzdCLENBQUMsQ0FBQztBQUVGLElBQUksYUFBYSxHQUFHLFVBQVUsU0FBaUI7SUFDN0MsSUFBSSxXQUFXLEdBQUcsc0JBQXNCLENBQUE7SUFDeEMsSUFBSSxZQUFZLEdBQUcsV0FBVyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQTtJQUM5QyxFQUFFLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO1FBQ2pCLE1BQU0sQ0FBQyxZQUFZLENBQUUsQ0FBQyxDQUFFLENBQUE7SUFDMUIsQ0FBQztJQUFDLElBQUksQ0FBQyxDQUFDO1FBQ04sTUFBTSxDQUFDLFNBQVMsQ0FBQTtJQUNsQixDQUFDO0FBQ0gsQ0FBQyxDQUFBIn0= \ No newline at end of file diff --git a/dist/smartstring.git.d.ts b/dist/smartstring.git.d.ts deleted file mode 100644 index 3c14c68..0000000 --- a/dist/smartstring.git.d.ts +++ /dev/null @@ -1,9 +0,0 @@ -export declare class GitRepo { - host: string; - user: string; - repo: string; - accessToken: string; - sshUrl: string; - httpsUrl: string; - constructor(stringArg: string, tokenArg?: string); -} diff --git a/dist/smartstring.git.js b/dist/smartstring.git.js deleted file mode 100644 index b1d3924..0000000 --- a/dist/smartstring.git.js +++ /dev/null @@ -1,46 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -/* ---------------------------------------------- * - * ------------------ classes ------------------- * - * ---------------------------------------------- */ -class GitRepo { - constructor(stringArg, tokenArg) { - let regexMatches = gitRegex(stringArg); - this.host = regexMatches[1]; - this.user = regexMatches[2]; - this.repo = regexMatches[3]; - this.accessToken = tokenArg; - this.sshUrl = gitLink(this.host, this.user, this.repo, this.accessToken, 'ssh'); - this.httpsUrl = gitLink(this.host, this.user, this.repo, this.accessToken, 'https'); - } -} -exports.GitRepo = GitRepo; -/* ---------------------------------------------- * - * ------------------ helpers ------------------- * - * ---------------------------------------------- */ -const gitRegex = function (stringArg) { - const regexString = /([a-zA-Z0-9\-\.]*)(?:\/|\:)([a-zA-Z0-9\-\.]*)(?:\/)([a-zA-Z0-9\-\.]*)(?:\.git)/; - let regexMatches = regexString.exec(stringArg); - return regexMatches; -}; -const gitLink = function (hostArg, userArg, repoArg, tokenArg = '', linkTypeArg) { - let returnString; - if (tokenArg !== '') { - tokenArg = tokenArg + '@'; - } - switch (linkTypeArg) { - case 'https': - returnString = 'https://' + - tokenArg + hostArg + '/' + userArg + '/' + repoArg + '.git'; - break; - case 'ssh': - returnString = 'git@' + - hostArg + ':' + userArg + '/' + repoArg + '.git'; - break; - default: - console.error('Link Type ' + linkTypeArg + ' not known'); - break; - } - return returnString; -}; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnRzdHJpbmcuZ2l0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvc21hcnRzdHJpbmcuZ2l0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBRUE7O29EQUVvRDtBQUNwRDtJQU9FLFlBQWEsU0FBaUIsRUFBRSxRQUFpQjtRQUMvQyxJQUFJLFlBQVksR0FBRyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUE7UUFDdEMsSUFBSSxDQUFDLElBQUksR0FBRyxZQUFZLENBQUUsQ0FBQyxDQUFFLENBQUE7UUFDN0IsSUFBSSxDQUFDLElBQUksR0FBRyxZQUFZLENBQUUsQ0FBQyxDQUFFLENBQUE7UUFDN0IsSUFBSSxDQUFDLElBQUksR0FBRyxZQUFZLENBQUUsQ0FBQyxDQUFFLENBQUE7UUFDN0IsSUFBSSxDQUFDLFdBQVcsR0FBRyxRQUFRLENBQUE7UUFDM0IsSUFBSSxDQUFDLE1BQU0sR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBRSxLQUFLLENBQUMsQ0FBQTtRQUMvRSxJQUFJLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsV0FBVyxFQUFFLE9BQU8sQ0FBQyxDQUFBO0lBQ3JGLENBQUM7Q0FDRjtBQWhCRCwwQkFnQkM7QUFFRDs7b0RBRW9EO0FBQ3BELE1BQU0sUUFBUSxHQUFHLFVBQVUsU0FBaUI7SUFDMUMsTUFBTSxXQUFXLEdBQUcsZ0ZBQWdGLENBQUE7SUFDcEcsSUFBSSxZQUFZLEdBQUcsV0FBVyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQTtJQUM5QyxNQUFNLENBQUMsWUFBWSxDQUFBO0FBQ3JCLENBQUMsQ0FBQTtBQUVELE1BQU0sT0FBTyxHQUFHLFVBQVUsT0FBZSxFQUFFLE9BQWUsRUFBRSxPQUFlLEVBQUUsV0FBbUIsRUFBRSxFQUFFLFdBQVc7SUFDN0csSUFBSSxZQUFZLENBQUE7SUFDaEIsRUFBRSxDQUFDLENBQUMsUUFBUSxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDcEIsUUFBUSxHQUFHLFFBQVEsR0FBRyxHQUFHLENBQUE7SUFDM0IsQ0FBQztJQUNELE1BQU0sQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7UUFDcEIsS0FBSyxPQUFPO1lBQ1YsWUFBWSxHQUFHLFVBQVU7Z0JBQ3ZCLFFBQVEsR0FBRyxPQUFPLEdBQUcsR0FBRyxHQUFHLE9BQU8sR0FBRyxHQUFHLEdBQUcsT0FBTyxHQUFHLE1BQU0sQ0FBQTtZQUM3RCxLQUFLLENBQUE7UUFDUCxLQUFLLEtBQUs7WUFDUixZQUFZLEdBQUcsTUFBTTtnQkFDbkIsT0FBTyxHQUFHLEdBQUcsR0FBRyxPQUFPLEdBQUcsR0FBRyxHQUFHLE9BQU8sR0FBRyxNQUFNLENBQUE7WUFDbEQsS0FBSyxDQUFBO1FBQ1A7WUFDRSxPQUFPLENBQUMsS0FBSyxDQUFDLFlBQVksR0FBRyxXQUFXLEdBQUcsWUFBWSxDQUFDLENBQUE7WUFDeEQsS0FBSyxDQUFBO0lBQ1QsQ0FBQztJQUNELE1BQU0sQ0FBQyxZQUFZLENBQUE7QUFDckIsQ0FBQyxDQUFBIn0= \ No newline at end of file diff --git a/dist/smartstring.indent.d.ts b/dist/smartstring.indent.d.ts deleted file mode 100644 index 0394125..0000000 --- a/dist/smartstring.indent.d.ts +++ /dev/null @@ -1,13 +0,0 @@ -/** - * indent an array - * @param stringArg - * @param spaceAmount - */ -export declare const indent: (stringArg: string, spaceAmount: number) => string; -/** - * indents a string with prefix - * @param stringArg - * @param prefixArg - */ -export declare const indentWithPrefix: (stringArg: string, prefixArg: string) => string; -export declare const normalize: (stringArg: string) => string; diff --git a/dist/smartstring.indent.js b/dist/smartstring.indent.js deleted file mode 100644 index 98267b9..0000000 --- a/dist/smartstring.indent.js +++ /dev/null @@ -1,85 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -/** - * splits a string into an array - * @param stringArg - */ -const splitStringAtLineBreak = (stringArg) => { - let resultArray = stringArg.split('\n'); - return cleanStringArray(resultArray); -}; -/** - * joins a string together again - * @param stringArrayArg - */ -const joinStringWithLineBreaks = (stringArrayArg) => { - let resultString = ''; - for (let line of stringArrayArg) { - resultString = resultString + line + '\n'; // add new line at end - } - return resultString; -}; -/** - * cleans first and last line in case they are empty - * @param stringArrayArg - */ -const cleanStringArray = (stringArrayArg) => { - let testRegex = /^[\s]*$/; - if (testRegex.test(stringArrayArg[0])) { - stringArrayArg.shift(); - } - if (testRegex.test(stringArrayArg[stringArrayArg.length - 1])) { - stringArrayArg.pop(); - } - return stringArrayArg; -}; -/** - * indent an array - * @param stringArg - * @param spaceAmount - */ -exports.indent = (stringArg, spaceAmount) => { - let localStringArray = splitStringAtLineBreak(stringArg); - for (let stringArg of localStringArray) { - stringArg = ' '.repeat(spaceAmount) + stringArg; - } - let resultString = joinStringWithLineBreaks(localStringArray); - return resultString; -}; -/** - * indents a string with prefix - * @param stringArg - * @param prefixArg - */ -exports.indentWithPrefix = (stringArg, prefixArg) => { - let resultString; - let stringArray = splitStringAtLineBreak(stringArg); - let resultArray = []; - for (let stringItem of stringArray) { - resultArray.push(prefixArg + stringItem); - } - resultString = joinStringWithLineBreaks(resultArray); - return resultString; -}; -exports.normalize = (stringArg) => { - let resultString; - let splitStringArray = splitStringAtLineBreak(stringArg); - let minCommonLeftOffset; - const deIndentRegex = /^(\s*)/; - const emptyLineRegex = /^(\s*)$/; - for (let stringItem of splitStringArray) { - let offsetString = deIndentRegex.exec(stringItem)[1]; - if ((typeof minCommonLeftOffset === 'undefined' || offsetString.length < minCommonLeftOffset) - && !emptyLineRegex.test(stringItem)) { - minCommonLeftOffset = offsetString.length; - } - } - ; - let resultSplitStringArray = []; - for (let stringItem of splitStringArray) { - resultSplitStringArray.push(stringItem.substr(minCommonLeftOffset)); - } - resultString = joinStringWithLineBreaks(resultSplitStringArray); - return resultString; -}; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnRzdHJpbmcuaW5kZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvc21hcnRzdHJpbmcuaW5kZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBRUE7OztHQUdHO0FBQ0gsTUFBTSxzQkFBc0IsR0FBRyxDQUFDLFNBQWlCLEVBQVksRUFBRTtJQUM3RCxJQUFJLFdBQVcsR0FBRyxTQUFTLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFBO0lBQ3ZDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLENBQUMsQ0FBQTtBQUN0QyxDQUFDLENBQUE7QUFFRDs7O0dBR0c7QUFDSCxNQUFNLHdCQUF3QixHQUFHLENBQUMsY0FBd0IsRUFBVSxFQUFFO0lBQ3BFLElBQUksWUFBWSxHQUFXLEVBQUUsQ0FBQTtJQUM3QixHQUFHLENBQUMsQ0FBQyxJQUFJLElBQUksSUFBSSxjQUFjLENBQUMsQ0FBQyxDQUFDO1FBQ2hDLFlBQVksR0FBRyxZQUFZLEdBQUcsSUFBSSxHQUFHLElBQUksQ0FBQSxDQUFDLHNCQUFzQjtJQUNsRSxDQUFDO0lBQ0QsTUFBTSxDQUFDLFlBQVksQ0FBQTtBQUNyQixDQUFDLENBQUE7QUFFRDs7O0dBR0c7QUFDSCxNQUFNLGdCQUFnQixHQUFHLENBQUMsY0FBd0IsRUFBWSxFQUFFO0lBQzlELElBQUksU0FBUyxHQUFHLFNBQVMsQ0FBQTtJQUN6QixFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBRSxDQUFDLENBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN4QyxjQUFjLENBQUMsS0FBSyxFQUFFLENBQUE7SUFDeEIsQ0FBQztJQUNELEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFFLGNBQWMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDaEUsY0FBYyxDQUFDLEdBQUcsRUFBRSxDQUFBO0lBQ3RCLENBQUM7SUFDRCxNQUFNLENBQUMsY0FBYyxDQUFBO0FBQ3ZCLENBQUMsQ0FBQTtBQUVEOzs7O0dBSUc7QUFDVSxRQUFBLE1BQU0sR0FBRyxDQUFDLFNBQWlCLEVBQUUsV0FBbUIsRUFBVSxFQUFFO0lBQ3ZFLElBQUksZ0JBQWdCLEdBQUcsc0JBQXNCLENBQUMsU0FBUyxDQUFDLENBQUE7SUFDeEQsR0FBRyxDQUFDLENBQUMsSUFBSSxTQUFTLElBQUksZ0JBQWdCLENBQUMsQ0FBQyxDQUFDO1FBQ3ZDLFNBQVMsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxHQUFHLFNBQVMsQ0FBQTtJQUNqRCxDQUFDO0lBQ0QsSUFBSSxZQUFZLEdBQUcsd0JBQXdCLENBQUMsZ0JBQWdCLENBQUMsQ0FBQTtJQUM3RCxNQUFNLENBQUMsWUFBWSxDQUFBO0FBQ3JCLENBQUMsQ0FBQTtBQUVEOzs7O0dBSUc7QUFDVSxRQUFBLGdCQUFnQixHQUFHLENBQUMsU0FBaUIsRUFBRSxTQUFpQixFQUFVLEVBQUU7SUFDL0UsSUFBSSxZQUFvQixDQUFBO0lBQ3hCLElBQUksV0FBVyxHQUFHLHNCQUFzQixDQUFDLFNBQVMsQ0FBQyxDQUFBO0lBQ25ELElBQUksV0FBVyxHQUFhLEVBQUUsQ0FBQTtJQUM5QixHQUFHLENBQUMsQ0FBQyxJQUFJLFVBQVUsSUFBSSxXQUFXLENBQUMsQ0FBQyxDQUFDO1FBQ25DLFdBQVcsQ0FBQyxJQUFJLENBQUMsU0FBUyxHQUFHLFVBQVUsQ0FBQyxDQUFBO0lBQzFDLENBQUM7SUFDRCxZQUFZLEdBQUcsd0JBQXdCLENBQUMsV0FBVyxDQUFDLENBQUE7SUFDcEQsTUFBTSxDQUFDLFlBQVksQ0FBQTtBQUNyQixDQUFDLENBQUE7QUFFWSxRQUFBLFNBQVMsR0FBRyxDQUFDLFNBQWlCLEVBQVUsRUFBRTtJQUNyRCxJQUFJLFlBQW9CLENBQUE7SUFDeEIsSUFBSSxnQkFBZ0IsR0FBYSxzQkFBc0IsQ0FBQyxTQUFTLENBQUMsQ0FBQTtJQUNsRSxJQUFJLG1CQUEyQixDQUFBO0lBRS9CLE1BQU0sYUFBYSxHQUFHLFFBQVEsQ0FBQTtJQUM5QixNQUFNLGNBQWMsR0FBRyxTQUFTLENBQUE7SUFFaEMsR0FBRyxDQUFDLENBQUMsSUFBSSxVQUFVLElBQUksZ0JBQWdCLENBQUMsQ0FBQyxDQUFDO1FBQ3hDLElBQUksWUFBWSxHQUFHLGFBQWEsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUUsQ0FBQyxDQUFFLENBQUE7UUFDdEQsRUFBRSxDQUFDLENBQ0QsQ0FBQyxPQUFPLG1CQUFtQixLQUFLLFdBQVcsSUFBSSxZQUFZLENBQUMsTUFBTSxHQUFHLG1CQUFtQixDQUFDO2VBQ3RGLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQ3BDLENBQUMsQ0FBQyxDQUFDO1lBQ0QsbUJBQW1CLEdBQUcsWUFBWSxDQUFDLE1BQU0sQ0FBQTtRQUMzQyxDQUFDO0lBQ0gsQ0FBQztJQUFBLENBQUM7SUFDRixJQUFJLHNCQUFzQixHQUFHLEVBQUUsQ0FBQTtJQUMvQixHQUFHLENBQUMsQ0FBQyxJQUFJLFVBQVUsSUFBSSxnQkFBZ0IsQ0FBQyxDQUFDLENBQUM7UUFDeEMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQUFBO0lBQ3JFLENBQUM7SUFDRCxZQUFZLEdBQUcsd0JBQXdCLENBQUMsc0JBQXNCLENBQUMsQ0FBQTtJQUMvRCxNQUFNLENBQUMsWUFBWSxDQUFBO0FBQ3JCLENBQUMsQ0FBQSJ9 \ No newline at end of file diff --git a/dist/smartstring.normalize.d.ts b/dist/smartstring.normalize.d.ts deleted file mode 100644 index 2fa2b9c..0000000 --- a/dist/smartstring.normalize.d.ts +++ /dev/null @@ -1,12 +0,0 @@ -/** - * replaces all occurences of something in a string - * @param stringArg - * @param searchRegExp - * @param replacementString - */ -export declare const replaceAll: (stringArg: string, searchRegExp: any, replacementString: string) => string; -/** - * normalizes a string - * @param stringArg - */ -export declare const standard: (stringArg: string) => string; diff --git a/dist/smartstring.normalize.js b/dist/smartstring.normalize.js deleted file mode 100644 index 2cd0f68..0000000 --- a/dist/smartstring.normalize.js +++ /dev/null @@ -1,23 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const plugins = require("./smartstring.plugins"); -/** - * replaces all occurences of something in a string - * @param stringArg - * @param searchRegExp - * @param replacementString - */ -exports.replaceAll = (stringArg, searchRegExp, replacementString) => { - return stringArg.replace(new RegExp(searchRegExp, 'g'), replacementString); -}; -/** - * normalizes a string - * @param stringArg - */ -exports.standard = (stringArg) => { - let fix1 = plugins.stripIndent(stringArg); // fix indention - let fix2 = plugins.normalizeNewline(fix1); // fix newlines - let fix3 = exports.replaceAll(fix2, /\t/, ' '); // fix tabs - return fix3; -}; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnRzdHJpbmcubm9ybWFsaXplLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvc21hcnRzdHJpbmcubm9ybWFsaXplLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsaURBQWdEO0FBRWhEOzs7OztHQUtHO0FBQ1UsUUFBQSxVQUFVLEdBQUcsQ0FBQyxTQUFpQixFQUFFLFlBQWlCLEVBQUUsaUJBQXlCLEVBQUUsRUFBRTtJQUM1RixNQUFNLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxJQUFJLE1BQU0sQ0FBQyxZQUFZLEVBQUUsR0FBRyxDQUFDLEVBQUUsaUJBQWlCLENBQUMsQ0FBQTtBQUM1RSxDQUFDLENBQUE7QUFFRDs7O0dBR0c7QUFDVSxRQUFBLFFBQVEsR0FBRyxDQUFDLFNBQWlCLEVBQVUsRUFBRTtJQUNwRCxJQUFJLElBQUksR0FBRyxPQUFPLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFBLENBQUMsZ0JBQWdCO0lBQzFELElBQUksSUFBSSxHQUFHLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQSxDQUFDLGVBQWU7SUFDekQsSUFBSSxJQUFJLEdBQUcsa0JBQVUsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFBLENBQUMsV0FBVztJQUNsRCxNQUFNLENBQUMsSUFBSSxDQUFBO0FBQ2IsQ0FBQyxDQUFBIn0= \ No newline at end of file diff --git a/dist/smartstring.plugins.d.ts b/dist/smartstring.plugins.d.ts deleted file mode 100644 index 6136ed2..0000000 --- a/dist/smartstring.plugins.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -import 'typings-global'; -export declare let jsBase64: any; -export declare let stripIndent: any; -export declare let normalizeNewline: any; -export declare let randomatic: any; -export declare let cryptoRandomString: any; diff --git a/dist/smartstring.plugins.js b/dist/smartstring.plugins.js deleted file mode 100644 index 017a5c0..0000000 --- a/dist/smartstring.plugins.js +++ /dev/null @@ -1,9 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -require("typings-global"); -exports.jsBase64 = require('js-base64').Base64; -exports.stripIndent = require('strip-indent'); -exports.normalizeNewline = require('normalize-newline'); -exports.randomatic = require('randomatic'); -exports.cryptoRandomString = require('crypto-random-string'); -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnRzdHJpbmcucGx1Z2lucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL3NtYXJ0c3RyaW5nLnBsdWdpbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSwwQkFBdUI7QUFDWixRQUFBLFFBQVEsR0FBRyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUMsTUFBTSxDQUFBO0FBRXRDLFFBQUEsV0FBVyxHQUFHLE9BQU8sQ0FBQyxjQUFjLENBQUMsQ0FBQTtBQUNyQyxRQUFBLGdCQUFnQixHQUFHLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFBO0FBQy9DLFFBQUEsVUFBVSxHQUFHLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQTtBQUNsQyxRQUFBLGtCQUFrQixHQUFHLE9BQU8sQ0FBQyxzQkFBc0IsQ0FBQyxDQUFBIn0= \ No newline at end of file diff --git a/dist/smartstring.typescript.d.ts b/dist/smartstring.typescript.d.ts deleted file mode 100644 index aa521ae..0000000 --- a/dist/smartstring.typescript.d.ts +++ /dev/null @@ -1 +0,0 @@ -export declare const regexReferencePath: RegExp; diff --git a/dist/smartstring.typescript.js b/dist/smartstring.typescript.js deleted file mode 100644 index 69e6136..0000000 --- a/dist/smartstring.typescript.js +++ /dev/null @@ -1,4 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.regexReferencePath = /\/\/\/\s*\s*[\\n]?/; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnRzdHJpbmcudHlwZXNjcmlwdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL3NtYXJ0c3RyaW5nLnR5cGVzY3JpcHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFFYSxRQUFBLGtCQUFrQixHQUFHLDhEQUE4RCxDQUFBIn0= \ No newline at end of file diff --git a/npmextra.json b/npmextra.json index 9c94086..8f9428d 100644 --- a/npmextra.json +++ b/npmextra.json @@ -1,8 +1,9 @@ { "npmci": { "npmGlobalTools": [ - "npmts" - ] + "@gitzone/npmts" + ], + "npmAccessLevel": "public" }, "npmdocker": { "baseImage": "hosttoday/ht-docker-node:npmci", diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..1c553b6 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,947 @@ +{ + "name": "smartstring", + "version": "2.0.28", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "@airbnb/node-memwatch": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@airbnb/node-memwatch/-/node-memwatch-1.0.2.tgz", + "integrity": "sha512-2R+MEEMSTUdKwQ6NFWkyA/UNoSjL1tMldZqJbZpgXSwNMBzlNlkUWEXKu9RqTTMkDqJRfGJ2VDs8gPlPK2APDQ==", + "dev": true, + "requires": { + "bindings": "^1.3.0", + "nan": "^2.9.2" + } + }, + "@gitzone/tsrun": { + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/@gitzone/tsrun/-/tsrun-1.1.9.tgz", + "integrity": "sha512-MbCLj4hSK5nY6cMqT0OxY0BrXffmiC1Rjbzan8CmEpB8OttaAJT+zsJErJWhI+pk4s75Te73PyhHYaJAXUoJhw==", + "dev": true, + "requires": { + "@pushrocks/smartfile": "^6.0.3", + "ts-node": "^7.0.0", + "typescript": "^2.9.1" + } + }, + "@pushrocks/smartdelay": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@pushrocks/smartdelay/-/smartdelay-2.0.1.tgz", + "integrity": "sha512-olWwh2/JWfhmYdgqrR5RdSsgv1GlXBnbP+XKUrdKVk3dcCzkoqDx9lRE9NfpoCg1cUM2VMxbTVgTW9PWyexEuw==", + "dev": true, + "requires": { + "@pushrocks/smartpromise": "^2.0.5" + } + }, + "@pushrocks/smartfile": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/@pushrocks/smartfile/-/smartfile-6.0.3.tgz", + "integrity": "sha512-oYnLQzY/R6kVNerbWY4WwnPvdxXldrzMPWcB9j0aAdSDSqGwBEO1/ZFTQuNzN5MmPopoYmJrc06ZmI6dm4OJmw==", + "dev": true, + "requires": { + "@pushrocks/smartpromise": "^2.0.5", + "@pushrocks/smartrequest": "^1.0.15", + "@types/fs-extra": "^5.0.3", + "@types/vinyl": "^2.0.2", + "fs-extra": "^6.0.1", + "glob": "^7.1.2", + "js-yaml": "^3.10.0", + "smartpath": "^3.2.8", + "vinyl-file": "^3.0.0" + } + }, + "@pushrocks/smartpromise": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@pushrocks/smartpromise/-/smartpromise-2.0.5.tgz", + "integrity": "sha512-9j/chLtIiNkR0MDw7Mpxg9slxAVvAQwUZuiaPYX5KpHdKxQaHLI1VZ8IN0vPhwlfgNO4i4vGXV0wB8BvSDj03g==", + "dev": true + }, + "@pushrocks/smartrequest": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/@pushrocks/smartrequest/-/smartrequest-1.1.12.tgz", + "integrity": "sha512-8vDpYUADkbJFdxDcHQJyJBpc66+cvsRAJdQ6SwMirz5cIeWNlLSR/PVrdGQ94z5tSusf4mwnODk2Ai9smN6XSA==", + "dev": true, + "requires": { + "@pushrocks/smartpromise": "^2.0.5", + "@types/form-data": "^2.2.1", + "form-data": "^2.3.2" + } + }, + "@pushrocks/tapbundle": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@pushrocks/tapbundle/-/tapbundle-3.0.1.tgz", + "integrity": "sha512-QWVz5EwB3sjjqHTMa22xuw78TBgVTyqKTF5H6HT9d/rvxL5Ag4ZrTuoadMPcU9hRBx9gtPsKbWq4lEwOHdCmLA==", + "dev": true, + "requires": { + "@pushrocks/smartdelay": "^2.0.1", + "@pushrocks/smartpromise": "^2.0.5", + "early": "^2.1.1", + "leakage": "^0.4.0", + "smartchai": "^2.0.1" + } + }, + "@types/chai": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.1.4.tgz", + "integrity": "sha512-h6+VEw2Vr3ORiFCyyJmcho2zALnUq9cvdB/IO8Xs9itrJVCenC7o26A6+m7D0ihTTr65eS259H5/Ghl/VjYs6g==", + "dev": true + }, + "@types/chai-as-promised": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@types/chai-as-promised/-/chai-as-promised-7.1.0.tgz", + "integrity": "sha512-MFiW54UOSt+f2bRw8J7LgQeIvE/9b4oGvwU7XW30S9QGAiHGnU/fmiOprsyMkdmH2rl8xSPc0/yrQw8juXU6bQ==", + "dev": true, + "requires": { + "@types/chai": "*" + } + }, + "@types/chai-string": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/@types/chai-string/-/chai-string-1.4.1.tgz", + "integrity": "sha512-aRNMs6TKgjgPlCHwDfq/YNy5VtRR2hJ4AUWByddrT0TRVVD8eX4MiHW6/iHvmQHRlVuuPZcwnTUE7b4yFt7bEA==", + "dev": true, + "requires": { + "@types/chai": "*" + } + }, + "@types/form-data": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@types/form-data/-/form-data-2.2.1.tgz", + "integrity": "sha512-JAMFhOaHIciYVh8fb5/83nmuO/AHwmto+Hq7a9y8FzLDcC1KCU344XDOMEmahnrTFlHjgh4L0WJFczNIX2GxnQ==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/fs-extra": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-5.0.4.tgz", + "integrity": "sha512-DsknoBvD8s+RFfSGjmERJ7ZOP1HI0UZRA3FSI+Zakhrc/Gy26YQsLI+m5V5DHxroHRJqCDLKJp7Hixn8zyaF7g==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/node": { + "version": "10.5.2", + "resolved": "https://registry.npmjs.org/@types/node/-/node-10.5.2.tgz", + "integrity": "sha512-m9zXmifkZsMHZBOyxZWilMwmTlpC8x5Ty360JKTiXvlXZfBWYpsg9ZZvP/Ye+iZUh+Q+MxDLjItVTWIsfwz+8Q==", + "dev": true + }, + "@types/vinyl": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@types/vinyl/-/vinyl-2.0.2.tgz", + "integrity": "sha512-2iYpNuOl98SrLPBZfEN9Mh2JCJ2EI9HU35SfgBEb51DcmaHkhp8cKMblYeBqMQiwXMgAD3W60DbQ4i/UdLiXhw==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "ansi-256-colors": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/ansi-256-colors/-/ansi-256-colors-1.1.0.tgz", + "integrity": "sha1-kQ3lDvzHwJ49gvL4er1rcAwYgYo=", + "dev": true + }, + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "arrify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", + "dev": true + }, + "assertion-error": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", + "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", + "dev": true + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", + "dev": true + }, + "balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", + "dev": true + }, + "beautycolor": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/beautycolor/-/beautycolor-1.0.11.tgz", + "integrity": "sha512-Uxl/39+2uqixPzsrV+0NOHf0sJlWmsKnRTV0oz8+bfwnHPA/E+SZuh3Upn3OXobv0W7LZg5BVoLj1nkMj7m5jA==", + "dev": true, + "requires": { + "ansi-256-colors": "^1.1.0", + "typings-global": "^1.0.14" + } + }, + "bindings": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.3.0.tgz", + "integrity": "sha512-DpLh5EzMR2kzvX1KIlVC0VkC3iZtHKTgdtZ0a3pglBZdaQFjt5S9g9xd1lE+YvXyfd6mtCeRnrUfOLYiTMlNSw==", + "dev": true + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "buffer-from": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.0.tgz", + "integrity": "sha512-c5mRlguI/Pe2dSZmpER62rSCu0ryKmWddzRYsuXc50U2/g8jMOulc31VZMa4mYx31U5xsmSOpDCgH88Vl9cDGQ==", + "dev": true + }, + "chai": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chai/-/chai-4.1.2.tgz", + "integrity": "sha1-D2RYS6ZC8PKs4oBiefTwbKI61zw=", + "dev": true, + "requires": { + "assertion-error": "^1.0.1", + "check-error": "^1.0.1", + "deep-eql": "^3.0.0", + "get-func-name": "^2.0.0", + "pathval": "^1.0.0", + "type-detect": "^4.0.0" + } + }, + "chai-as-promised": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/chai-as-promised/-/chai-as-promised-7.1.1.tgz", + "integrity": "sha512-azL6xMoi+uxu6z4rhWQ1jbdUhOMhis2PvscD/xjLqNMkv3BPPp2JyyuTHOrf9BOosGpNQ11v6BKv/g57RXbiaA==", + "dev": true, + "requires": { + "check-error": "^1.0.2" + } + }, + "chai-string": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/chai-string/-/chai-string-1.4.0.tgz", + "integrity": "sha1-NZFAwFHTak5LGl/GuRAVL0OKjUk=", + "dev": true + }, + "check-error": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz", + "integrity": "sha1-V00xLt2Iu13YkS6Sht1sCu1KrII=", + "dev": true + }, + "clone": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.1.tgz", + "integrity": "sha1-0hfR6WERjjrJpLi7oyhVU79kfNs=", + "dev": true + }, + "clone-buffer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/clone-buffer/-/clone-buffer-1.0.0.tgz", + "integrity": "sha1-4+JbIHrE5wGvch4staFnksrD3Fg=", + "dev": true + }, + "clone-stats": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-1.0.0.tgz", + "integrity": "sha1-s3gt/4u1R04Yuba/D9/ngvh3doA=", + "dev": true + }, + "cloneable-readable": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/cloneable-readable/-/cloneable-readable-1.1.2.tgz", + "integrity": "sha512-Bq6+4t+lbM8vhTs/Bef5c5AdEMtapp/iFb6+s4/Hh9MVTt8OLKH7ZOOZSCT+Ys7hsHvqv0GuMPJ1lnQJVHvxpg==", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "process-nextick-args": "^2.0.0", + "readable-stream": "^2.3.5" + } + }, + "combined-stream": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.6.tgz", + "integrity": "sha1-cj599ugBrFYTETp+RFqbactjKBg=", + "dev": true, + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true + }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "dev": true + }, + "crypto-random-string": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-1.0.0.tgz", + "integrity": "sha1-ojD2T1aDEOFJgAmUB5DsmVRbyn4=" + }, + "deep-eql": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-3.0.1.tgz", + "integrity": "sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw==", + "dev": true, + "requires": { + "type-detect": "^4.0.0" + } + }, + "define-properties": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.2.tgz", + "integrity": "sha1-g6c/L+pWmJj7c3GTyPhzyvbUXJQ=", + "dev": true, + "requires": { + "foreach": "^2.0.5", + "object-keys": "^1.0.8" + } + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", + "dev": true + }, + "diff": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", + "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==", + "dev": true + }, + "early": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/early/-/early-2.1.1.tgz", + "integrity": "sha1-hB4jJU6l3FTYr67ugvWrZcAO4jw=", + "dev": true, + "requires": { + "beautycolor": "^1.0.7", + "smartq": "^1.1.1", + "typings-global": "^1.0.16" + } + }, + "es-abstract": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.12.0.tgz", + "integrity": "sha512-C8Fx/0jFmV5IPoMOFPA9P9G5NtqW+4cOPit3MIuvR2t7Ag2K15EJTpxnHAYTzL+aYQJIESYeXZmDBfOBE1HcpA==", + "dev": true, + "requires": { + "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": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.1.1.tgz", + "integrity": "sha1-RTVSSKiJeQNLZ5Lhm7gfK3l13Q0=", + "dev": true, + "requires": { + "is-callable": "^1.1.1", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.1" + } + }, + "es6-error": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz", + "integrity": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==", + "dev": true + }, + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true + }, + "first-chunk-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/first-chunk-stream/-/first-chunk-stream-2.0.0.tgz", + "integrity": "sha1-G97NuOCDwGZLkZRVgVd6Q6nzHXA=", + "dev": true, + "requires": { + "readable-stream": "^2.0.2" + } + }, + "foreach": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz", + "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=", + "dev": true + }, + "form-data": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.2.tgz", + "integrity": "sha1-SXBJi+YEwgwAXU9cI67NIda0kJk=", + "dev": true, + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "1.0.6", + "mime-types": "^2.1.12" + } + }, + "fs-extra": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-6.0.1.tgz", + "integrity": "sha512-GnyIkKhhzXZUWFCaJzvyDLEEgDkPfb4/TPvJCJVuS8MWZgoSsErf++QpiAlDnKFcqhRlm+tIOcencCjyJE6ZCA==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "get-func-name": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz", + "integrity": "sha1-6td0q+5y4gQJQzoGY2YCPdaIekE=", + "dev": true + }, + "glob": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", + "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", + "dev": true, + "requires": { + "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" + } + }, + "graceful-fs": { + "version": "4.1.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", + "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", + "dev": true + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "requires": { + "function-bind": "^1.1.1" + } + }, + "home": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/home/-/home-1.0.1.tgz", + "integrity": "sha1-lqQjzrSbmDeP9e886uBZpVf53TU=", + "dev": true, + "requires": { + "os-homedir": "^1.0.1" + } + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "is-callable": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.4.tgz", + "integrity": "sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==", + "dev": true + }, + "is-date-object": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz", + "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=", + "dev": true + }, + "is-number": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz", + "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==" + }, + "is-regex": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz", + "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=", + "dev": true, + "requires": { + "has": "^1.0.1" + } + }, + "is-symbol": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.1.tgz", + "integrity": "sha1-PMWfAAJRlLarLjjbrmaJJWtmBXI=", + "dev": true + }, + "is-utf8": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", + "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", + "dev": true + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "js-base64": { + "version": "2.4.8", + "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.4.8.tgz", + "integrity": "sha512-hm2nYpDrwoO/OzBhdcqs/XGT6XjSuSSCVEpia+Kl2J6x4CYt5hISlVL/AYU1khoDXv0AQVgxtdJySb9gjAn56Q==" + }, + "js-yaml": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.12.0.tgz", + "integrity": "sha512-PIt2cnwmPfL4hKNwqeiuz4bKfnzHTBv6HyVgjahA6mPLwPDzjDWrplJBMjHUFxku/N3FlmrbyPclad+I+4mJ3A==", + "dev": true, + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6" + } + }, + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==" + }, + "leakage": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/leakage/-/leakage-0.4.0.tgz", + "integrity": "sha512-x7gYK5n5dPkHDZWJ2Kh8Ag1hZNzUh+HtXn8Bv1aDdN6o6ONPCJ8sOfFq+kxcULJFp3lXaCjXb3iXOLmQRbBLwA==", + "dev": true, + "requires": { + "@airbnb/node-memwatch": "^1.0.2", + "es6-error": "^4.0.2", + "left-pad": "^1.1.3", + "minimist": "^1.2.0", + "pretty-bytes": "^4.0.2" + } + }, + "left-pad": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/left-pad/-/left-pad-1.3.0.tgz", + "integrity": "sha512-XI5MPzVNApjAyhQzphX8BkmKsKUxD4LdyK24iZeQGinBN9yTQT3bFlCBy/aVx2HrNcqQGsdot8ghrjyrvMCoEA==", + "dev": true + }, + "make-error": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.4.tgz", + "integrity": "sha512-0Dab5btKVPhibSalc9QGXb559ED7G7iLjFXBaj9Wq8O3vorueR5K5jaE3hkG6ZQINyhA/JgG6Qk4qdFQjsYV6g==", + "dev": true + }, + "math-random": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/math-random/-/math-random-1.0.1.tgz", + "integrity": "sha1-izqsWIuKZuSXXjzepn97sylgH6w=" + }, + "mime-db": { + "version": "1.35.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.35.0.tgz", + "integrity": "sha512-JWT/IcCTsB0Io3AhWUMjRqucrHSPsSf2xKLaRldJVULioggvkJvggZ3VXNNSRkCddE6D+BUI4HEIZIA2OjwIvg==", + "dev": true + }, + "mime-types": { + "version": "2.1.19", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.19.tgz", + "integrity": "sha512-P1tKYHVSZ6uFo26mtnve4HQFE3koh1UWVkp8YUC+ESBHe945xWSoXuHHiGarDqcEZ+whpCDnlNw5LON0kLo+sw==", + "dev": true, + "requires": { + "mime-db": "~1.35.0" + } + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + }, + "mkdirp": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "dev": true, + "requires": { + "minimist": "0.0.8" + }, + "dependencies": { + "minimist": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", + "dev": true + } + } + }, + "nan": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.10.0.tgz", + "integrity": "sha512-bAdJv7fBLhWC+/Bls0Oza+mvTaNQtP+1RyhhhvD95pgUJz6XM5IzgmxOkItJ9tkoCiplvAnXI1tNmmUD/eScyA==", + "dev": true + }, + "normalize-newline": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-newline/-/normalize-newline-3.0.0.tgz", + "integrity": "sha1-HL6oBKukNgAfg5OKsh7AOdaa6dM=" + }, + "object-keys": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.0.12.tgz", + "integrity": "sha512-FTMyFUm2wBcGHnH2eXmz7tC6IwlqQZ6mVZ+6dm6vZ4IQIHjs6FdNsQBuKGPuUUUY6NfJw2PshC08Tn6LzLDOag==", + "dev": true + }, + "object.getownpropertydescriptors": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz", + "integrity": "sha1-h1jIRvW0B62rDyNuCYbxSwUcqhY=", + "dev": true, + "requires": { + "define-properties": "^1.1.2", + "es-abstract": "^1.5.1" + } + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "os-homedir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", + "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", + "dev": true + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true + }, + "pathval": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.0.tgz", + "integrity": "sha1-uULm1L3mUwBe9rcTYd74cn0GReA=", + "dev": true + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + }, + "pretty-bytes": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-4.0.2.tgz", + "integrity": "sha1-sr+C5zUNZcbDOqlaqlpPYyf2HNk=", + "dev": true + }, + "process-nextick-args": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", + "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==", + "dev": true + }, + "randomatic": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-3.0.0.tgz", + "integrity": "sha512-VdxFOIEY3mNO5PtSRkkle/hPJDHvQhK21oa73K4yAc9qmp6N429gAyF1gZMOTMeS0/AYzaV/2Trcef+NaIonSA==", + "requires": { + "is-number": "^4.0.0", + "kind-of": "^6.0.0", + "math-random": "^1.0.1" + } + }, + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", + "dev": true + }, + "replace-ext": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.0.tgz", + "integrity": "sha1-3mMSg3P8v3w8z6TeWkgMRaZ5WOs=", + "dev": true + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "smartchai": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/smartchai/-/smartchai-2.0.1.tgz", + "integrity": "sha512-9M+R56OhAHXScxgr2vzQqxGx0XMS0QXriNZuP7hjlbVbo2FUT+l60iEzbwPt9Ga+5u2cEEjSSoZEQVqlROaddA==", + "dev": true, + "requires": { + "@types/chai": "^4.1.2", + "@types/chai-as-promised": "^7.1.0", + "@types/chai-string": "^1.4.0", + "chai": "^4.1.2", + "chai-as-promised": "^7.1.1", + "chai-string": "^1.4.0" + } + }, + "smartpath": { + "version": "3.2.8", + "resolved": "https://registry.npmjs.org/smartpath/-/smartpath-3.2.8.tgz", + "integrity": "sha1-SDS9OouuIpW6rK26I8h6UBlS+UA=", + "dev": true, + "requires": { + "home": "^1.0.1", + "typings-global": "^1.0.14" + } + }, + "smartq": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/smartq/-/smartq-1.1.8.tgz", + "integrity": "sha512-FURlYW/C3bLeZjJcBVyw7bxCyQoCXiXbLCZcDUKznhXHaLu35c8m33/a2H8CA0rtb82lvzN8dRLnBZAcNMzNHQ==", + "dev": true, + "requires": { + "util.promisify": "^1.0.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "source-map-support": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.6.tgz", + "integrity": "sha512-N4KXEz7jcKqPf2b2vZF11lQIz9W5ZMuUcIOGj243lduidkf2fjkVKJS9vNxVWn3u/uxX38AcE8U9nnH9FPcq+g==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "strip-bom": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "dev": true, + "requires": { + "is-utf8": "^0.2.0" + } + }, + "strip-bom-buf": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-bom-buf/-/strip-bom-buf-1.0.0.tgz", + "integrity": "sha1-HLRar1dTD0yvhsf3UXnSyaUd1XI=", + "dev": true, + "requires": { + "is-utf8": "^0.2.1" + } + }, + "strip-bom-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-bom-stream/-/strip-bom-stream-2.0.0.tgz", + "integrity": "sha1-+H217yYT9paKpUWr/h7HKLaoKco=", + "dev": true, + "requires": { + "first-chunk-stream": "^2.0.0", + "strip-bom": "^2.0.0" + } + }, + "strip-indent": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-2.0.0.tgz", + "integrity": "sha1-XvjbKV0B5u1sv3qrlpmNeCJSe2g=" + }, + "ts-node": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-7.0.0.tgz", + "integrity": "sha512-klJsfswHP0FuOLsvBZ/zzCfUvakOSSxds78mVeK7I+qP76YWtxf16hEZsp3U+b0kIo82R5UatGFeblYMqabb2Q==", + "dev": true, + "requires": { + "arrify": "^1.0.0", + "buffer-from": "^1.1.0", + "diff": "^3.1.0", + "make-error": "^1.1.1", + "minimist": "^1.2.0", + "mkdirp": "^0.5.1", + "source-map-support": "^0.5.6", + "yn": "^2.0.0" + } + }, + "type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", + "dev": true + }, + "typescript": { + "version": "2.9.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-2.9.2.tgz", + "integrity": "sha512-Gr4p6nFNaoufRIY4NMdpQRNmgxVIGMs4Fcu/ujdYk3nAZqk7supzBE9idmvfZIlH/Cuj//dvi+019qEue9lV0w==", + "dev": true + }, + "typings-global": { + "version": "1.0.28", + "resolved": "https://registry.npmjs.org/typings-global/-/typings-global-1.0.28.tgz", + "integrity": "sha512-6VOwJWEY2971HOMHu/7sURzUXiD4/LiMJPsMAOqkHHAtS3MVpLFE5gzTiHilsH9KY5VE1mBQirWIgWFsDuo90A==", + "dev": true + }, + "universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true + }, + "util.promisify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.0.tgz", + "integrity": "sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA==", + "dev": true, + "requires": { + "define-properties": "^1.1.2", + "object.getownpropertydescriptors": "^2.0.3" + } + }, + "vinyl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-2.2.0.tgz", + "integrity": "sha512-MBH+yP0kC/GQ5GwBqrTPTzEfiiLjta7hTtvQtbxBgTeSXsmKQRQecjibMbxIXzVT3Y9KJK+drOz1/k+vsu8Nkg==", + "dev": true, + "requires": { + "clone": "^2.1.1", + "clone-buffer": "^1.0.0", + "clone-stats": "^1.0.0", + "cloneable-readable": "^1.0.0", + "remove-trailing-separator": "^1.0.1", + "replace-ext": "^1.0.0" + } + }, + "vinyl-file": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/vinyl-file/-/vinyl-file-3.0.0.tgz", + "integrity": "sha1-sQTZ5ECf+jJfqt1SBkLQo7SIs2U=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "pify": "^2.3.0", + "strip-bom-buf": "^1.0.0", + "strip-bom-stream": "^2.0.0", + "vinyl": "^2.0.1" + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + }, + "yn": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/yn/-/yn-2.0.0.tgz", + "integrity": "sha1-5a2ryKz0CPY4X8dklWhMiOavaJo=", + "dev": true + } + } +} diff --git a/package.json b/package.json index 3ffb74f..3f98e95 100644 --- a/package.json +++ b/package.json @@ -1,11 +1,13 @@ { - "name": "smartstring", + "name": "@pushrocks/smartstring", "version": "2.0.28", + "private": false, "description": "handle strings in smart ways. TypeScript ready.", "main": "dist/index.js", "typings": "dist/index.d.ts", "scripts": { - "test": "(npmts)" + "test": "tsrun test/test.base64.ts", + "build": "(npmts)" }, "repository": { "type": "git", @@ -22,15 +24,14 @@ }, "homepage": "https://gitlab.com/pushrocks/smartstring#readme", "devDependencies": { - "beautylog": "^6.1.10", - "tapbundle": "^1.1.1" + "@gitzone/tsrun": "^1.1.9", + "@pushrocks/tapbundle": "^3.0.1" }, "dependencies": { "crypto-random-string": "^1.0.0", - "js-base64": "^2.3.2", + "js-base64": "^2.4.8", "normalize-newline": "^3.0.0", - "randomatic": "^1.1.7", - "strip-indent": "^2.0.0", - "typings-global": "^1.0.20" + "randomatic": "^3.0.0", + "strip-indent": "^2.0.0" } -} +} \ No newline at end of file diff --git a/test/test.base64.ts b/test/test.base64.ts index f78a1e8..344d031 100644 --- a/test/test.base64.ts +++ b/test/test.base64.ts @@ -1,16 +1,16 @@ -import * as smartstring from '../ts/index' -import { tap, expect } from 'tapbundle' +import * as smartstring from '../ts/index'; +import { tap, expect } from '@pushrocks/tapbundle'; // Base64 -let testBase64: smartstring.Base64 +let testBase64: smartstring.Base64; tap.test('expect create a valid instance of Base64', async () => { - testBase64 = new smartstring.Base64('somestring', 'string') - expect(testBase64).be.instanceOf(smartstring.Base64) -}) + testBase64 = new smartstring.Base64('somestring', 'string'); + expect(testBase64).be.instanceOf(smartstring.Base64); +}); tap.test('expect read output a file as base64 and base64uri', async () => { - expect(testBase64.base64String).not.equal(testBase64.base64UriString) - let testBase64_2 = new smartstring.Base64(testBase64.base64UriString, 'base64uri') - expect(testBase64_2.simpleString).equal(testBase64.simpleString) -}) + expect(testBase64.base64String).not.equal(testBase64.base64UriString); + let testBase64_2 = new smartstring.Base64(testBase64.base64UriString, 'base64uri'); + expect(testBase64_2.simpleString).equal(testBase64.simpleString); +}); -tap.start() +tap.start(); diff --git a/test/test.docker.ts b/test/test.docker.ts index 1a8e132..6c75eba 100644 --- a/test/test.docker.ts +++ b/test/test.docker.ts @@ -1,12 +1,12 @@ -import * as smartstring from '../ts/index' -import { tap, expect } from 'tapbundle' +import * as smartstring from '../ts/index'; +import { tap, expect } from '@pushrocks/tapbundle'; // Docker tap.test('expect create a Env Object', async () => { - let envStringArray = [ 'VIRTUAL_HOST=sub.domain.tld', 'DEFAULT_HOST=some.domain.com' ] - let envObject: any = smartstring.docker.makeEnvObject(envStringArray) - expect(envObject.VIRTUAL_HOST).to.equal('sub.domain.tld') - expect(envObject.DEFAULT_HOST).to.equal('some.domain.com') -}) + let envStringArray = ['VIRTUAL_HOST=sub.domain.tld', 'DEFAULT_HOST=some.domain.com']; + let envObject: any = smartstring.docker.makeEnvObject(envStringArray); + expect(envObject.VIRTUAL_HOST).to.equal('sub.domain.tld'); + expect(envObject.DEFAULT_HOST).to.equal('some.domain.com'); +}); -tap.start() +tap.start(); diff --git a/test/test.domain.ts b/test/test.domain.ts index d8c75f4..dcca6ef 100644 --- a/test/test.domain.ts +++ b/test/test.domain.ts @@ -1,32 +1,32 @@ -import * as smartstring from '../ts/index' -import { tap, expect } from 'tapbundle' +import * as smartstring from '../ts/index'; +import { tap, expect } from '@pushrocks/tapbundle'; // Domain -let testDomain: smartstring.Domain -let testDomain2: smartstring.Domain +let testDomain: smartstring.Domain; +let testDomain2: smartstring.Domain; tap.test('expect create a new Domain object', async () => { - testDomain = new smartstring.Domain('https://level3D.level2D.level1D') - expect(testDomain).be.instanceof(smartstring.Domain) - console.log(testDomain) -}) + testDomain = new smartstring.Domain('https://level3D.level2D.level1D'); + expect(testDomain).be.instanceof(smartstring.Domain); + console.log(testDomain); +}); tap.test('expect have a .topLevel', async () => { - expect(testDomain.topLevel).equal('level1D') -}) + expect(testDomain.topLevel).equal('level1D'); +}); tap.test('expect have a .level2', async () => { - expect(testDomain.level2).equal('level2D') -}) + expect(testDomain.level2).equal('level2D'); +}); tap.test('expect have a .level3', async () => { - expect(testDomain.level3).equal('level3D') -}) + expect(testDomain.level3).equal('level3D'); +}); tap.test('expect have the correct dns zone name', async () => { - expect(testDomain.zoneName).equal('level2D.level1D') -}) + expect(testDomain.zoneName).equal('level2D.level1D'); +}); tap.test('expect have the correct protocol', async () => { - expect(testDomain.protocol).equal('https') -}) + expect(testDomain.protocol).equal('https'); +}); tap.test('testDomain2 expect be a basic domain', async () => { - testDomain2 = new smartstring.Domain('bleu.de') - console.log(testDomain2) -}) + testDomain2 = new smartstring.Domain('bleu.de'); + console.log(testDomain2); +}); -tap.start() +tap.start(); diff --git a/test/test.git.ts b/test/test.git.ts index 0ba3e09..a9c1d77 100644 --- a/test/test.git.ts +++ b/test/test.git.ts @@ -1,26 +1,26 @@ -import * as smartstring from '../ts/index' -import { tap, expect } from 'tapbundle' +import * as smartstring from '../ts/index'; +import { tap, expect } from '@pushrocks/tapbundle'; // git -let testGit: smartstring.GitRepo +let testGit: smartstring.GitRepo; tap.test('expect create a new Git class GitRepo', async () => { - testGit = new smartstring.GitRepo('git+https://github.com/pushrocks/smartstring.git') - expect(testGit).be.instanceof(smartstring.GitRepo) -}) + testGit = new smartstring.GitRepo('git+https://github.com/pushrocks/smartstring.git'); + expect(testGit).be.instanceof(smartstring.GitRepo); +}); tap.test('expect return a .host', async () => { - expect(testGit.host).equal('github.com') -}) + expect(testGit.host).equal('github.com'); +}); tap.test('expect return a .user', async () => { - expect(testGit.user).equal('pushrocks') -}) + expect(testGit.user).equal('pushrocks'); +}); tap.test('expect return a .repo', async () => { - expect(testGit.repo).equal('smartstring') -}) + expect(testGit.repo).equal('smartstring'); +}); tap.test('expect return a .httpsUrl', async () => { - expect(testGit.httpsUrl).equal('https://github.com/pushrocks/smartstring.git') -}) + expect(testGit.httpsUrl).equal('https://github.com/pushrocks/smartstring.git'); +}); tap.test('expect return a .sshUrl', async () => { - expect(testGit.sshUrl).equal('git@github.com:pushrocks/smartstring.git') -}) + expect(testGit.sshUrl).equal('git@github.com:pushrocks/smartstring.git'); +}); -tap.start() +tap.start(); diff --git a/test/test.indent.ts b/test/test.indent.ts index b59b151..11f8b74 100644 --- a/test/test.indent.ts +++ b/test/test.indent.ts @@ -1,5 +1,5 @@ -import * as smartstring from '../ts/index' -import { tap, expect } from 'tapbundle' +import * as smartstring from '../ts/index'; +import { tap, expect } from '@pushrocks/tapbundle'; // indent let testString = ` @@ -9,20 +9,20 @@ base base indented -` +`; // normalize tap.test('expect normalize a string', async () => { - testString = smartstring.indent.normalize(testString) - console.log(testString) - let zoneNameArg = 'test1' - let destinationIpArg = '111' -}) + testString = smartstring.indent.normalize(testString); + console.log(testString); + let zoneNameArg = 'test1'; + let destinationIpArg = '111'; +}); // indent with prefix tap.test('expect indent', async () => { - testString = smartstring.indent.indentWithPrefix(testString, '>> ') - console.log(testString) -}) + testString = smartstring.indent.indentWithPrefix(testString, '>> '); + console.log(testString); +}); -tap.start() +tap.start(); diff --git a/test/test.typescript.ts b/test/test.typescript.ts index e0fcafe..8a8c62c 100644 --- a/test/test.typescript.ts +++ b/test/test.typescript.ts @@ -1,22 +1,16 @@ -import * as smartstring from '../ts/index' -import { tap, expect } from 'tapbundle' +import * as smartstring from '../ts/index'; +import { tap, expect } from '@pushrocks/tapbundle'; // typscript tap.test('expect match reference paths', async () => { // tslint:disable-next-line:no-unused-expression - expect( - smartstring.typescript.regexReferencePath.test('/// ') - ).to.be.true - - // tslint:disable-next-line:no-unused-expression - expect( - smartstring.typescript.regexReferencePath.test("/// ") - ).to.be.true - - // tslint:disable-next-line:no-unused-expression - expect( - smartstring.typescript.regexReferencePath.test('/// ') - ).to.be.false -}) + expect(smartstring.typescript.regexReferencePath.test('/// ')).to.be.true; -tap.start() + // tslint:disable-next-line:no-unused-expression + expect(smartstring.typescript.regexReferencePath.test("/// ")).to.be.true; + + // tslint:disable-next-line:no-unused-expression + expect(smartstring.typescript.regexReferencePath.test('/// ')).to.be.false; +}); + +tap.start(); diff --git a/ts/index.ts b/ts/index.ts index 73d3804..095e614 100644 --- a/ts/index.ts +++ b/ts/index.ts @@ -1,17 +1,11 @@ -import * as create from './smartstring.create' -import * as docker from './smartstring.docker' -import * as indent from './smartstring.indent' -import * as normalize from './smartstring.normalize' -import * as typescript from './smartstring.typescript' +import * as create from './smartstring.create'; +import * as docker from './smartstring.docker'; +import * as indent from './smartstring.indent'; +import * as normalize from './smartstring.normalize'; +import * as typescript from './smartstring.typescript'; -export { - create, - docker, - typescript, - normalize, - indent -} +export { create, docker, typescript, normalize, indent }; -export { Base64, base64 } from './smartstring.base64' -export { Domain } from './smartstring.domain' -export { GitRepo } from './smartstring.git' +export { Base64, base64 } from './smartstring.base64'; +export { Domain } from './smartstring.domain'; +export { GitRepo } from './smartstring.git'; diff --git a/ts/smartstring.base64.ts b/ts/smartstring.base64.ts index 673fa1b..e88597c 100644 --- a/ts/smartstring.base64.ts +++ b/ts/smartstring.base64.ts @@ -1,47 +1,47 @@ -import * as plugins from './smartstring.plugins' +import * as plugins from './smartstring.plugins'; /** * the type for base 64 */ -export type TBase64Input = 'string' | 'base64' | 'base64uri' +export type TBase64Input = 'string' | 'base64' | 'base64uri'; /** * handle base64 strings */ export class Base64 { - private refString: string + private refString: string; constructor(inputStringArg, typeArg: TBase64Input) { switch (typeArg) { case 'string': // easiest case - this.refString = inputStringArg - break + this.refString = inputStringArg; + break; case 'base64': - this.refString = base64.decode(inputStringArg) - break + this.refString = base64.decode(inputStringArg); + break; case 'base64uri': - this.refString = base64.decode(inputStringArg) + this.refString = base64.decode(inputStringArg); } } /** * the simple string (unencoded) */ - get simpleString () { - return this.refString + get simpleString() { + return this.refString; } /** * the base64 encoded version of the original string */ - get base64String () { - return base64.encode(this.refString) + get base64String() { + return base64.encode(this.refString); } /** * the base64uri encoded version of the original string */ - get base64UriString () { - return base64.encodeUri(this.refString) + get base64UriString() { + return base64.encodeUri(this.refString); } } @@ -50,20 +50,20 @@ export let base64 = { * encodes the string */ encode: (stringArg: string) => { - return plugins.jsBase64.encode(stringArg) + return plugins.jsBase64.encode(stringArg); }, /** * encodes a stringArg to base64 uri style */ encodeUri: (stringArg: string) => { - return plugins.jsBase64.encodeURI(stringArg) + return plugins.jsBase64.encodeURI(stringArg); }, /** * decodes a base64 encoded string */ decode: (stringArg: string) => { - return plugins.jsBase64.decode(stringArg) + return plugins.jsBase64.decode(stringArg); } -} +}; diff --git a/ts/smartstring.create.ts b/ts/smartstring.create.ts index b6a0685..c245891 100644 --- a/ts/smartstring.create.ts +++ b/ts/smartstring.create.ts @@ -1,13 +1,13 @@ -import * as plugins from './smartstring.plugins' +import * as plugins from './smartstring.plugins'; export const createRandomString = ( patternArg: string, lengthArg: number, optionsArg: any ): string => { - return plugins.randomatic(patternArg, lengthArg, optionsArg) -} + return plugins.randomatic(patternArg, lengthArg, optionsArg); +}; export const createCryptoRandomString = (lengthArg): string => { - return plugins.cryptoRandomString(lengthArg) -} + return plugins.cryptoRandomString(lengthArg); +}; diff --git a/ts/smartstring.docker.ts b/ts/smartstring.docker.ts index de1f461..01b636c 100644 --- a/ts/smartstring.docker.ts +++ b/ts/smartstring.docker.ts @@ -1,18 +1,18 @@ -import * as plugins from './smartstring.plugins' +import * as plugins from './smartstring.plugins'; /** * converts an erray of env strings from docker remote api to an usable object. * @param envArrayArg * @returns {} */ -export const makeEnvObject = function (envArrayArg: string[]) { - let returnObject = {} - let regexString = /(.*)=(.*)/ +export const makeEnvObject = function(envArrayArg: string[]) { + let returnObject = {}; + let regexString = /(.*)=(.*)/; if (typeof envArrayArg !== 'undefined') { for (let envKey in envArrayArg) { - let regexMatches = regexString.exec(envArrayArg[ envKey ]) - returnObject[ regexMatches[ 1 ] ] = regexMatches[ 2 ] + let regexMatches = regexString.exec(envArrayArg[envKey]); + returnObject[regexMatches[1]] = regexMatches[2]; } } - return returnObject -} + return returnObject; +}; diff --git a/ts/smartstring.domain.ts b/ts/smartstring.domain.ts index fd2b78a..a0b01d4 100644 --- a/ts/smartstring.domain.ts +++ b/ts/smartstring.domain.ts @@ -1,62 +1,61 @@ import * as plugins from './smartstring.plugins'; export class Domain { - fullName: string - level1: string - level2: string - level3: string - level4: string - level5: string - protocol: string - zoneName: string + fullName: string; + level1: string; + level2: string; + level3: string; + level4: string; + level5: string; + protocol: string; + zoneName: string; // aliases - topLevel: string - domainName - subDomain - constructor (domainStringArg: string) { + topLevel: string; + domainName; + subDomain; + constructor(domainStringArg: string) { let regexMatches = domainRegex(domainStringArg); - this.fullName = '' + this.fullName = ''; for (let i = 1; i <= 5; i++) { - if (regexMatches[ i - 1 ]) { - let localMatch = regexMatches[ i - 1 ] - this[ 'level' + i.toString() ] = localMatch + if (regexMatches[i - 1]) { + let localMatch = regexMatches[i - 1]; + this['level' + i.toString()] = localMatch; if (this.fullName === '') { - this.fullName = localMatch + this.fullName = localMatch; } else { - this.fullName = localMatch + '.' + this.fullName + this.fullName = localMatch + '.' + this.fullName; } } else { - this[ 'level' + i.toString() ] = undefined - }; - }; - this.protocol = protocolRegex(domainStringArg) - this.zoneName = this.level2 + '.' + this.level1 + this['level' + i.toString()] = undefined; + } + } + this.protocol = protocolRegex(domainStringArg); + this.zoneName = this.level2 + '.' + this.level1; // aliases - this.topLevel = this.level1 - this.domainName = this.level2 - this.subDomain = this.level3 + this.topLevel = this.level1; + this.domainName = this.level2; + this.subDomain = this.level3; } } - -let domainRegex = function (stringArg: string) { - let regexString = /([a-zA-Z0-9\-\_]*)\.{0,1}([a-zA-Z0-9\-\_]*)\.{0,1}([a-zA-Z0-9\-\_]*)\.{0,1}([a-zA-Z0-9\-\_]*)\.{0,1}([a-zA-Z0-9\-\_]*)\.{0,1}$/ - let regexMatches = regexString.exec(stringArg) - regexMatches.reverse() //make sure we build the domain from toplevel to subdomain (reversed order) - regexMatches.pop() // pop the last element, which is, since we reversed the Array, the full String of matched elements - let regexMatchesFiltered = regexMatches.filter(function (stringArg: string) { - return (stringArg !== '') +let domainRegex = function(stringArg: string) { + let regexString = /([a-zA-Z0-9\-\_]*)\.{0,1}([a-zA-Z0-9\-\_]*)\.{0,1}([a-zA-Z0-9\-\_]*)\.{0,1}([a-zA-Z0-9\-\_]*)\.{0,1}([a-zA-Z0-9\-\_]*)\.{0,1}$/; + let regexMatches = regexString.exec(stringArg); + regexMatches.reverse(); //make sure we build the domain from toplevel to subdomain (reversed order) + regexMatches.pop(); // pop the last element, which is, since we reversed the Array, the full String of matched elements + let regexMatchesFiltered = regexMatches.filter(function(stringArg: string) { + return stringArg !== ''; }); - return regexMatchesFiltered + return regexMatchesFiltered; }; -let protocolRegex = function (stringArg: string) { - let regexString = /^([a-zA-Z0-9]*):\/\// - let regexMatches = regexString.exec(stringArg) +let protocolRegex = function(stringArg: string) { + let regexString = /^([a-zA-Z0-9]*):\/\//; + let regexMatches = regexString.exec(stringArg); if (regexMatches) { - return regexMatches[ 1 ] + return regexMatches[1]; } else { - return undefined + return undefined; } -} +}; diff --git a/ts/smartstring.git.ts b/ts/smartstring.git.ts index 944d19e..cb97a50 100644 --- a/ts/smartstring.git.ts +++ b/ts/smartstring.git.ts @@ -1,52 +1,56 @@ -import * as plugins from './smartstring.plugins' +import * as plugins from './smartstring.plugins'; /* ---------------------------------------------- * * ------------------ classes ------------------- * * ---------------------------------------------- */ export class GitRepo { - host: string - user: string - repo: string - accessToken: string - sshUrl: string - httpsUrl: string - constructor (stringArg: string, tokenArg?: string) { - let regexMatches = gitRegex(stringArg) - this.host = regexMatches[ 1 ] - this.user = regexMatches[ 2 ] - this.repo = regexMatches[ 3 ] - this.accessToken = tokenArg - this.sshUrl = gitLink(this.host, this.user, this.repo, this.accessToken, 'ssh') - this.httpsUrl = gitLink(this.host, this.user, this.repo, this.accessToken, 'https') + host: string; + user: string; + repo: string; + accessToken: string; + sshUrl: string; + httpsUrl: string; + constructor(stringArg: string, tokenArg?: string) { + let regexMatches = gitRegex(stringArg); + this.host = regexMatches[1]; + this.user = regexMatches[2]; + this.repo = regexMatches[3]; + this.accessToken = tokenArg; + this.sshUrl = gitLink(this.host, this.user, this.repo, this.accessToken, 'ssh'); + this.httpsUrl = gitLink(this.host, this.user, this.repo, this.accessToken, 'https'); } } /* ---------------------------------------------- * * ------------------ helpers ------------------- * * ---------------------------------------------- */ -const gitRegex = function (stringArg: string) { - const regexString = /([a-zA-Z0-9\-\.]*)(?:\/|\:)([a-zA-Z0-9\-\.]*)(?:\/)([a-zA-Z0-9\-\.]*)(?:\.git)/ - let regexMatches = regexString.exec(stringArg) - return regexMatches -} +const gitRegex = function(stringArg: string) { + const regexString = /([a-zA-Z0-9\-\.]*)(?:\/|\:)([a-zA-Z0-9\-\.]*)(?:\/)([a-zA-Z0-9\-\.]*)(?:\.git)/; + let regexMatches = regexString.exec(stringArg); + return regexMatches; +}; -const gitLink = function (hostArg: string, userArg: string, repoArg: string, tokenArg: string = '', linkTypeArg): string { - let returnString +const gitLink = function( + hostArg: string, + userArg: string, + repoArg: string, + tokenArg: string = '', + linkTypeArg +): string { + let returnString; if (tokenArg !== '') { - tokenArg = tokenArg + '@' + tokenArg = tokenArg + '@'; } switch (linkTypeArg) { case 'https': - returnString = 'https://' + - tokenArg + hostArg + '/' + userArg + '/' + repoArg + '.git' - break + returnString = 'https://' + tokenArg + hostArg + '/' + userArg + '/' + repoArg + '.git'; + break; case 'ssh': - returnString = 'git@' + - hostArg + ':' + userArg + '/' + repoArg + '.git' - break + returnString = 'git@' + hostArg + ':' + userArg + '/' + repoArg + '.git'; + break; default: - console.error('Link Type ' + linkTypeArg + ' not known') - break + console.error('Link Type ' + linkTypeArg + ' not known'); + break; } - return returnString -} + return returnString; +}; diff --git a/ts/smartstring.indent.ts b/ts/smartstring.indent.ts index 0a9f59e..eb26946 100644 --- a/ts/smartstring.indent.ts +++ b/ts/smartstring.indent.ts @@ -1,40 +1,40 @@ -import * as plugins from './smartstring.plugins' +import * as plugins from './smartstring.plugins'; /** * splits a string into an array * @param stringArg */ const splitStringAtLineBreak = (stringArg: string): string[] => { - let resultArray = stringArg.split('\n') - return cleanStringArray(resultArray) -} + let resultArray = stringArg.split('\n'); + return cleanStringArray(resultArray); +}; /** * joins a string together again * @param stringArrayArg */ const joinStringWithLineBreaks = (stringArrayArg: string[]): string => { - let resultString: string = '' + let resultString: string = ''; for (let line of stringArrayArg) { - resultString = resultString + line + '\n' // add new line at end + resultString = resultString + line + '\n'; // add new line at end } - return resultString -} + return resultString; +}; /** * cleans first and last line in case they are empty * @param stringArrayArg */ const cleanStringArray = (stringArrayArg: string[]): string[] => { - let testRegex = /^[\s]*$/ - if (testRegex.test(stringArrayArg[ 0 ])) { - stringArrayArg.shift() + let testRegex = /^[\s]*$/; + if (testRegex.test(stringArrayArg[0])) { + stringArrayArg.shift(); } - if (testRegex.test(stringArrayArg[ stringArrayArg.length - 1 ])) { - stringArrayArg.pop() + if (testRegex.test(stringArrayArg[stringArrayArg.length - 1])) { + stringArrayArg.pop(); } - return stringArrayArg -} + return stringArrayArg; +}; /** * indent an array @@ -42,13 +42,13 @@ const cleanStringArray = (stringArrayArg: string[]): string[] => { * @param spaceAmount */ export const indent = (stringArg: string, spaceAmount: number): string => { - let localStringArray = splitStringAtLineBreak(stringArg) + let localStringArray = splitStringAtLineBreak(stringArg); for (let stringArg of localStringArray) { - stringArg = ' '.repeat(spaceAmount) + stringArg + stringArg = ' '.repeat(spaceAmount) + stringArg; } - let resultString = joinStringWithLineBreaks(localStringArray) - return resultString -} + let resultString = joinStringWithLineBreaks(localStringArray); + return resultString; +}; /** * indents a string with prefix @@ -56,37 +56,37 @@ export const indent = (stringArg: string, spaceAmount: number): string => { * @param prefixArg */ export const indentWithPrefix = (stringArg: string, prefixArg: string): string => { - let resultString: string - let stringArray = splitStringAtLineBreak(stringArg) - let resultArray: string[] = [] + let resultString: string; + let stringArray = splitStringAtLineBreak(stringArg); + let resultArray: string[] = []; for (let stringItem of stringArray) { - resultArray.push(prefixArg + stringItem) + resultArray.push(prefixArg + stringItem); } - resultString = joinStringWithLineBreaks(resultArray) - return resultString -} + resultString = joinStringWithLineBreaks(resultArray); + return resultString; +}; export const normalize = (stringArg: string): string => { - let resultString: string - let splitStringArray: string[] = splitStringAtLineBreak(stringArg) - let minCommonLeftOffset: number + let resultString: string; + let splitStringArray: string[] = splitStringAtLineBreak(stringArg); + let minCommonLeftOffset: number; - const deIndentRegex = /^(\s*)/ - const emptyLineRegex = /^(\s*)$/ + const deIndentRegex = /^(\s*)/; + const emptyLineRegex = /^(\s*)$/; for (let stringItem of splitStringArray) { - let offsetString = deIndentRegex.exec(stringItem)[ 1 ] + let offsetString = deIndentRegex.exec(stringItem)[1]; if ( - (typeof minCommonLeftOffset === 'undefined' || offsetString.length < minCommonLeftOffset) - && !emptyLineRegex.test(stringItem) + (typeof minCommonLeftOffset === 'undefined' || offsetString.length < minCommonLeftOffset) && + !emptyLineRegex.test(stringItem) ) { - minCommonLeftOffset = offsetString.length + minCommonLeftOffset = offsetString.length; } - }; - let resultSplitStringArray = [] - for (let stringItem of splitStringArray) { - resultSplitStringArray.push(stringItem.substr(minCommonLeftOffset)) } - resultString = joinStringWithLineBreaks(resultSplitStringArray) - return resultString -} + let resultSplitStringArray = []; + for (let stringItem of splitStringArray) { + resultSplitStringArray.push(stringItem.substr(minCommonLeftOffset)); + } + resultString = joinStringWithLineBreaks(resultSplitStringArray); + return resultString; +}; diff --git a/ts/smartstring.normalize.ts b/ts/smartstring.normalize.ts index b411400..9a514e1 100644 --- a/ts/smartstring.normalize.ts +++ b/ts/smartstring.normalize.ts @@ -1,22 +1,22 @@ -import * as plugins from './smartstring.plugins' +import * as plugins from './smartstring.plugins'; /** * replaces all occurences of something in a string * @param stringArg - * @param searchRegExp - * @param replacementString + * @param searchRegExp + * @param replacementString */ export const replaceAll = (stringArg: string, searchRegExp: any, replacementString: string) => { - return stringArg.replace(new RegExp(searchRegExp, 'g'), replacementString) -} + return stringArg.replace(new RegExp(searchRegExp, 'g'), replacementString); +}; /** * normalizes a string * @param stringArg */ export const standard = (stringArg: string): string => { - let fix1 = plugins.stripIndent(stringArg) // fix indention - let fix2 = plugins.normalizeNewline(fix1) // fix newlines - let fix3 = replaceAll(fix2, /\t/, ' ') // fix tabs - return fix3 -} + let fix1 = plugins.stripIndent(stringArg); // fix indention + let fix2 = plugins.normalizeNewline(fix1); // fix newlines + let fix3 = replaceAll(fix2, /\t/, ' '); // fix tabs + return fix3; +}; diff --git a/ts/smartstring.plugins.ts b/ts/smartstring.plugins.ts index 5121583..2d52b95 100644 --- a/ts/smartstring.plugins.ts +++ b/ts/smartstring.plugins.ts @@ -1,7 +1,7 @@ -import 'typings-global' -export let jsBase64 = require('js-base64').Base64 +import 'typings-global'; +export let jsBase64 = require('js-base64').Base64; -export let stripIndent = require('strip-indent') -export let normalizeNewline = require('normalize-newline') -export let randomatic = require('randomatic') -export let cryptoRandomString = require('crypto-random-string') +export let stripIndent = require('strip-indent'); +export let normalizeNewline = require('normalize-newline'); +export let randomatic = require('randomatic'); +export let cryptoRandomString = require('crypto-random-string'); diff --git a/ts/smartstring.typescript.ts b/ts/smartstring.typescript.ts index c3fece1..d87a967 100644 --- a/ts/smartstring.typescript.ts +++ b/ts/smartstring.typescript.ts @@ -1,3 +1,3 @@ -import * as plugins from './smartstring.plugins' +import * as plugins from './smartstring.plugins'; -export const regexReferencePath = /\/\/\/\s*\s*[\\n]?/ +export const regexReferencePath = /\/\/\/\s*\s*[\\n]?/; diff --git a/yarn.lock b/yarn.lock deleted file mode 100644 index e3d7b50..0000000 --- a/yarn.lock +++ /dev/null @@ -1,548 +0,0 @@ -# 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.31" - resolved "https://registry.yarnpkg.com/@types/chai-string/-/chai-string-1.1.31.tgz#a22f75d713f69da8c5cf34f8bc808a62cd249405" - dependencies: - "@types/chai" "*" - -"@types/chai@*": - version "4.0.4" - resolved "https://registry.yarnpkg.com/@types/chai/-/chai-4.0.4.tgz#fe86315d9a66827feeb16f73bc954688ec950e18" - -"@types/chai@^3.4.35": - version "3.5.2" - resolved "https://registry.yarnpkg.com/@types/chai/-/chai-3.5.2.tgz#c11cd2817d3a401b7ba0f5a420f35c56139b1c1e" - -"@types/glob@*": - version "5.0.33" - resolved "https://registry.yarnpkg.com/@types/glob/-/glob-5.0.33.tgz#3dff7c6ce09d65abe919c7961dc3dee016f36ad7" - dependencies: - "@types/minimatch" "*" - "@types/node" "*" - -"@types/lodash@^4.14.55": - version "4.14.77" - resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.77.tgz#0bc699413e84d6ed5d927ca30ea0f0a890b42d75" - -"@types/minimatch@*": - version "3.0.1" - resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.1.tgz#b683eb60be358304ef146f5775db4c0e3696a550" - -"@types/node@*": - version "8.0.32" - resolved "https://registry.yarnpkg.com/@types/node/-/node-8.0.32.tgz#869a716538b6eec65ab3893f183d557be3cda206" - -"@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/shelljs@^0.7.4": - version "0.7.4" - resolved "https://registry.yarnpkg.com/@types/shelljs/-/shelljs-0.7.4.tgz#137b5f31306eaff4de120ffe5b9d74b297809cfc" - dependencies: - "@types/glob" "*" - "@types/node" "*" - -"@types/which@^1.0.28": - version "1.0.28" - resolved "https://registry.yarnpkg.com/@types/which/-/which-1.0.28.tgz#016e387629b8817bed653fe32eab5d11279c8df6" - -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: - version "2.1.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" - -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@^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.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@^6.1.10: - version "6.1.10" - resolved "https://registry.yarnpkg.com/beautylog/-/beautylog-6.1.10.tgz#9c27e566937684cb689f9372d98cfa5415d50b72" - dependencies: - "@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.3.0" - resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.3.0.tgz#b346f6ecf6a95f5a815c5839fc7cdb22502f1ed7" - -brace-expansion@^1.1.7: - version "1.1.8" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.8.tgz#c07b211c7c952ec1f8efd51a77ef0d1d3990a292" - dependencies: - 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" - dependencies: - check-error "^1.0.2" - -chai-string@^1.3.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/chai-string/-/chai-string-1.4.0.tgz#359140c051d36a4e4b1a5fc6b910152f438a8d49" - -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" - -chalk@^1.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-cursor@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5" - dependencies: - restore-cursor "^2.0.0" - -cli-spinners@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-1.0.1.tgz#2675321c100f195b02877ac499e9911fa34b9783" - -concat-map@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" - -crypto-random-string@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-1.0.0.tgz#a230f64f568310e1498009940790ec99545bca7e" - -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" - -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" - -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" - -es-abstract@^1.5.1: - version "1.9.0" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.9.0.tgz#690829a07cae36b222e7fd9b75c0d0573eb25227" - 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.0.2" - resolved "https://registry.yarnpkg.com/es6-error/-/es6-error-4.0.2.tgz#eec5c726eacef51b7f6b73c20db6e1b13b069c98" - -escape-string-regexp@^1.0.2: - version "1.0.5" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" - -figlet@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/figlet/-/figlet-1.2.0.tgz#6c46537378fab649146b5a6143dda019b430b410" - -foreach@^2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/foreach/-/foreach-2.0.5.tgz#0bee005018aeb260d0a3af3ae658dd0136ec1b99" - -fs.realpath@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" - -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" - -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" - -has-ansi@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" - dependencies: - ansi-regex "^2.0.0" - -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" - -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.4" - resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.0.4.tgz#820cdd588b868ffb191a809506d6c9c8f212b1b0" - -is-buffer@^1.1.5: - version "1.1.5" - resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.5.tgz#1f3b26ef613b214b88cbca23cc6c01d87961eecc" - -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-number@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" - dependencies: - kind-of "^3.0.2" - -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" - -isexe@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" - -js-base64@^2.3.2: - version "2.3.2" - resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-2.3.2.tgz#a79a923666372b580f8e27f51845c6f7e8fbfbaf" - -kind-of@^3.0.2: - version "3.2.2" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" - dependencies: - is-buffer "^1.1.5" - -kind-of@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" - dependencies: - is-buffer "^1.1.5" - -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.17.4: - version "4.17.4" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae" - -log-symbols@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-1.0.2.tgz#376ff7b58ea3086a0f09facc74617eca501e1a18" - dependencies: - chalk "^1.0.0" - -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" - -mimic-fn@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.1.0.tgz#e667783d92e89dbd342818b5230b9d62a672ad18" - -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" - -nan@^2.3.2: - version "2.7.0" - resolved "https://registry.yarnpkg.com/nan/-/nan-2.7.0.tgz#d95bf721ec877e08db276ed3fc6eb78f9083ad46" - -normalize-newline@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/normalize-newline/-/normalize-newline-3.0.0.tgz#1cbea804aba436001f83938ab21ec039d69ae9d3" - -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" - -once@^1.3.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" - dependencies: - wrappy "1" - -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" - -ora@^1.1.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/ora/-/ora-1.3.0.tgz#80078dd2b92a934af66a3ad72a5b910694ede51a" - dependencies: - chalk "^1.1.1" - cli-cursor "^2.1.0" - cli-spinners "^1.0.0" - log-symbols "^1.0.2" - -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" - -randomatic@^1.1.7: - version "1.1.7" - resolved "https://registry.yarnpkg.com/randomatic/-/randomatic-1.1.7.tgz#c7abe9cc8b87c0baa876b19fde83fd464797e38c" - dependencies: - is-number "^3.0.0" - kind-of "^4.0.0" - -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.4.0" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.4.0.tgz#a75be01c53da25d934a98ebd0e4c4a7312f92a86" - dependencies: - path-parse "^1.0.5" - -restore-cursor@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf" - dependencies: - onetime "^2.0.0" - signal-exit "^3.0.2" - -semver@^5.3.0: - version "5.4.1" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.4.1.tgz#e059c09d8571f0540823733433505d3a2f00b18e" - -shelljs@^0.7.8: - 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" - -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" - 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" - -smartenv@^2.0.0: - version "2.0.6" - resolved "https://registry.yarnpkg.com/smartenv/-/smartenv-2.0.6.tgz#b38c679b0c151b9af548f68c3a072c29d1417e8d" - dependencies: - lodash "^4.17.4" - smartq "^1.1.1" - typings-global "^1.0.14" - -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" - -smartshell@^1.0.6: - version "1.0.18" - resolved "https://registry.yarnpkg.com/smartshell/-/smartshell-1.0.18.tgz#b84ccc65cedf3a875bf676cec78ee07f4b4aa9e5" - dependencies: - "@types/shelljs" "^0.7.4" - "@types/which" "^1.0.28" - shelljs "^0.7.8" - smartq "^1.1.6" - typings-global "^1.0.20" - which "^1.3.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" - -strip-indent@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-2.0.0.tgz#5ef8db295d01e6ed6cbf7aab96998d7822527b68" - -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.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/tapbundle/-/tapbundle-1.1.1.tgz#ec4172c0e82a77b1f6133fef2606311ede28a62d" - 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.19" - -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" - -typings-global@^1.0.14, typings-global@^1.0.16, typings-global@^1.0.19, typings-global@^1.0.20: - version "1.0.20" - resolved "https://registry.yarnpkg.com/typings-global/-/typings-global-1.0.20.tgz#3da769c54db538247c5d877d1d9e97eb2ec981ff" - dependencies: - semver "^5.3.0" - smartshell "^1.0.6" - -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" - -which@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/which/-/which-1.3.0.tgz#ff04bdfc010ee547d780bec38e1ac1c2777d253a" - dependencies: - isexe "^2.0.0" - -wrappy@1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"