From d295b2e070c72ecda022ea7c07b540f7f8ce78df Mon Sep 17 00:00:00 2001 From: Phil Kunz Date: Thu, 12 Apr 2018 18:02:48 +0200 Subject: [PATCH] upgrade to latest standards --- .gitlab-ci.yml | 13 ++++- defaults.yml | 4 -- dist/index.d.ts | 11 +++- dist/index.js | 24 +++++++-- dist/smartdebug.plugins.d.ts | 2 +- dist/smartdebug.plugins.js | 3 +- package.json | 8 ++- readme.md | 29 +++++++++++ test/test.ts | 26 ++++++---- ts/index.ts | 31 ++++++++--- ts/smartdebug.plugins.ts | 2 +- tslint.json | 14 ++++- yarn.lock | 99 ++++++++++++++++++------------------ 13 files changed, 177 insertions(+), 89 deletions(-) delete mode 100644 defaults.yml create mode 100644 readme.md diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 1128296..14931f9 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -7,19 +7,28 @@ cache: key: "$CI_BUILD_STAGE" stages: -- mirror +- security - test - release - trigger - pages mirror: - stage: mirror + stage: security script: - npmci git mirror tags: - docker +snyk: + stage: security + script: + - npmci command yarn global add snyk + - npmci command yarn install --ignore-scripts + - npmci command snyk test + tags: + - docker + testLEGACY: stage: test script: diff --git a/defaults.yml b/defaults.yml deleted file mode 100644 index 5f158cc..0000000 --- a/defaults.yml +++ /dev/null @@ -1,4 +0,0 @@ -module.name: smartmodule -module.description: a smart description -module.author: Lossless GmbH -module.license: MIT \ No newline at end of file diff --git a/dist/index.d.ts b/dist/index.d.ts index d8782ee..ccdff1e 100644 --- a/dist/index.d.ts +++ b/dist/index.d.ts @@ -1,11 +1,20 @@ export declare class SmartDebug { - private debugEnabled; + private _debugEnabled; + readonly debugEnabled: boolean; /** * enables debugging output */ enableDebugging(): void; + /** + * disables debugging + */ + disableDebugging(): void; /** * logs a message based on the contraints of the SmartDebug instance */ log(logObject: any): void; + /** + * a function returning + */ + isDebugMode(): boolean; } diff --git a/dist/index.js b/dist/index.js index 2f60464..58960e4 100644 --- a/dist/index.js +++ b/dist/index.js @@ -2,22 +2,38 @@ Object.defineProperty(exports, "__esModule", { value: true }); class SmartDebug { constructor() { - this.debugEnabled = false; + this._debugEnabled = false; + } + get debugEnabled() { + return this._debugEnabled; } /** * enables debugging output */ enableDebugging() { - this.debugEnabled = true; + this._debugEnabled = true; + } + /** + * disables debugging + */ + disableDebugging() { + this._debugEnabled = false; } /** * logs a message based on the contraints of the SmartDebug instance */ log(logObject) { - if (this.debugEnabled) { + if (this._debugEnabled) { + // tslint:disable-next-line:no-console console.log(logObject); } } + /** + * a function returning + */ + isDebugMode() { + return this._debugEnabled; + } } exports.SmartDebug = SmartDebug; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUVBO0lBQUE7UUFDVSxpQkFBWSxHQUFZLEtBQUssQ0FBQTtJQWtCdkMsQ0FBQztJQWhCQzs7T0FFRztJQUNILGVBQWU7UUFDYixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQTtJQUMxQixDQUFDO0lBRUQ7O09BRUc7SUFDSCxHQUFHLENBQUUsU0FBYztRQUNqQixFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztZQUN0QixPQUFPLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFBO1FBQ3hCLENBQUM7SUFDSCxDQUFDO0NBRUY7QUFuQkQsZ0NBbUJDIn0= \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUVBO0lBQUE7UUFDVSxrQkFBYSxHQUFZLEtBQUssQ0FBQztJQW1DekMsQ0FBQztJQWxDQyxJQUFJLFlBQVk7UUFDZCxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDNUIsQ0FBQztJQUVEOztPQUVHO0lBQ0ksZUFBZTtRQUNwQixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQztJQUM1QixDQUFDO0lBRUQ7O09BRUc7SUFDSSxnQkFBZ0I7UUFDckIsSUFBSSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUM7SUFDN0IsQ0FBQztJQUVEOztPQUVHO0lBQ0ksR0FBRyxDQUFDLFNBQWM7UUFDdkIsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQ3RCLHNDQUFzQztZQUN0QyxPQUFPLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1NBQ3hCO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0ksV0FBVztRQUNoQixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDNUIsQ0FBQztDQUNGO0FBcENELGdDQW9DQyJ9 \ No newline at end of file diff --git a/dist/smartdebug.plugins.d.ts b/dist/smartdebug.plugins.d.ts index 317822d..469c435 100644 --- a/dist/smartdebug.plugins.d.ts +++ b/dist/smartdebug.plugins.d.ts @@ -1 +1 @@ -import 'typings-global'; +export { }; diff --git a/dist/smartdebug.plugins.js b/dist/smartdebug.plugins.js index ca7d563..c4f713f 100644 --- a/dist/smartdebug.plugins.js +++ b/dist/smartdebug.plugins.js @@ -1,4 +1,3 @@ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -require("typings-global"); -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnRkZWJ1Zy5wbHVnaW5zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvc21hcnRkZWJ1Zy5wbHVnaW5zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsMEJBQXVCIn0= \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnRkZWJ1Zy5wbHVnaW5zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvc21hcnRkZWJ1Zy5wbHVnaW5zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIifQ== \ No newline at end of file diff --git a/package.json b/package.json index 8d80fbd..e923d4d 100644 --- a/package.json +++ b/package.json @@ -1,5 +1,5 @@ { - "name": "smartdebug", + "name": "@pushrocks/smartdebug", "version": "2.0.7", "description": "debug the smart way", "main": "dist/index.js", @@ -10,9 +10,7 @@ "test": "(npmts)" }, "devDependencies": { - "tapbundle": "^1.0.13" + "tapbundle": "^2.0.0" }, - "dependencies": { - "typings-global": "^1.0.16" - } + "dependencies": {} } diff --git a/readme.md b/readme.md new file mode 100644 index 0000000..66c153c --- /dev/null +++ b/readme.md @@ -0,0 +1,29 @@ +# smartdebug +debug the smart way + +## Availabililty +[![npm](https://pushrocks.gitlab.io/assets/repo-button-npm.svg)](https://www.npmjs.com/package/@pushrocks/smartdebug) +[![git](https://pushrocks.gitlab.io/assets/repo-button-git.svg)](https://GitLab.com/pushrocks/smartdebug) +[![git](https://pushrocks.gitlab.io/assets/repo-button-mirror.svg)](https://github.com/pushrocks/smartdebug) +[![docs](https://pushrocks.gitlab.io/assets/repo-button-docs.svg)](https://pushrocks.gitlab.io/smartdebug/) + +## Status for master +[![build status](https://GitLab.com/pushrocks/smartdebug/badges/master/build.svg)](https://GitLab.com/pushrocks/smartdebug/commits/master) +[![coverage report](https://GitLab.com/pushrocks/smartdebug/badges/master/coverage.svg)](https://GitLab.com/pushrocks/smartdebug/commits/master) +[![npm downloads per month](https://img.shields.io/npm/dm/@pushrocks/smartdebug.svg)](https://www.npmjs.com/package/@pushrocks/smartdebug) +[![bitHound Dependencies](https://www.bithound.io/github/pushrocks/smartdebug/badges/dependencies.svg)](https://www.bithound.io/github/pushrocks/smartdebug/master/dependencies/npm) +[![bitHound Code](https://www.bithound.io/github/pushrocks/smartdebug/badges/code.svg)](https://www.bithound.io/github/pushrocks/smartdebug) +[![Known Vulnerabilities](https://snyk.io/test/npm/@pushrocks/smartdebug/badge.svg)](https://snyk.io/test/npm/@pushrocks/smartdebug) +[![TypeScript](https://img.shields.io/badge/TypeScript-2.x-blue.svg)](https://nodejs.org/dist/latest-v6.x/docs/api/) +[![node](https://img.shields.io/badge/node->=%206.x.x-blue.svg)](https://nodejs.org/dist/latest-v6.x/docs/api/) +[![JavaScript Style Guide](https://img.shields.io/badge/code%20style-standard-brightgreen.svg)](http://standardjs.com/) + +## Usage +Use TypeScript for best in class instellisense. + +For further information read the linked docs at the top of this README. + +> licensed | **©** [Lossless GmbH](https://lossless.gmbh) +| By using this npm module you agree to our [privacy policy](https://lossless.gmbH/privacy.html) + +[![repo-footer](https://pushrocks.gitlab.io/assets/repo-footer.svg)](https://push.rocks) diff --git a/test/test.ts b/test/test.ts index 98ad8df..7bf39b9 100644 --- a/test/test.ts +++ b/test/test.ts @@ -1,19 +1,23 @@ -import { expect, tap } from 'tapbundle' -import * as smartdebug from '../ts/index' +import { expect, tap } from 'tapbundle'; +import * as smartdebug from '../ts/index'; -let testSmartDebug: smartdebug.SmartDebug +let testSmartDebug: smartdebug.SmartDebug; tap.test('should create a valid instance of SmartDebug', async () => { - testSmartDebug = new smartdebug.SmartDebug() -}) + testSmartDebug = new smartdebug.SmartDebug(); +}); tap.test('should not log a message, if debugEnabled = false', async () => { - testSmartDebug.log('should not log to console') -}) + testSmartDebug.log('should not log to console'); + // tslint:disable-next-line:no-unused-expression + expect(testSmartDebug.debugEnabled).to.be.false; +}); tap.test('should log to console, if enabled', async () => { - testSmartDebug.enableDebugging() - testSmartDebug.log('should log to console') -}) + testSmartDebug.enableDebugging(); + testSmartDebug.log('should log to console'); + // tslint:disable-next-line:no-unused-expression + expect(testSmartDebug.debugEnabled).to.be.true; +}); -tap.start() +tap.start(); diff --git a/ts/index.ts b/ts/index.ts index 46703b7..00cac52 100644 --- a/ts/index.ts +++ b/ts/index.ts @@ -1,22 +1,39 @@ -import * as plugins from './smartdebug.plugins' +import * as plugins from './smartdebug.plugins'; export class SmartDebug { - private debugEnabled: boolean = false + private _debugEnabled: boolean = false; + get debugEnabled () { + return this._debugEnabled; + } /** * enables debugging output */ - enableDebugging () { - this.debugEnabled = true + public enableDebugging() { + this._debugEnabled = true; + } + + /** + * disables debugging + */ + public disableDebugging() { + this._debugEnabled = false; } /** * logs a message based on the contraints of the SmartDebug instance */ - log (logObject: any) { - if (this.debugEnabled) { - console.log(logObject) + public log(logObject: any) { + if (this._debugEnabled) { + // tslint:disable-next-line:no-console + console.log(logObject); } } + /** + * a function returning + */ + public isDebugMode() { + return this._debugEnabled; + } } diff --git a/ts/smartdebug.plugins.ts b/ts/smartdebug.plugins.ts index 97b63a3..8cec2e9 100644 --- a/ts/smartdebug.plugins.ts +++ b/ts/smartdebug.plugins.ts @@ -1 +1 @@ -import 'typings-global' +export {}; \ No newline at end of file diff --git a/tslint.json b/tslint.json index 45052ad..9f5c33e 100644 --- a/tslint.json +++ b/tslint.json @@ -1,3 +1,13 @@ { - "extends": "tslint-config-standard" -} + "extends": [ + "tslint:latest", + "tslint-config-prettier" + ], + "rules": { + "semicolon": [ + true, + "always" + ] + } + } + \ No newline at end of file diff --git a/yarn.lock b/yarn.lock index 0236346..e30e757 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,16 +2,15 @@ # yarn lockfile v1 -"@types/chai-as-promised@0.0.29": - version "0.0.29" - resolved "https://registry.yarnpkg.com/@types/chai-as-promised/-/chai-as-promised-0.0.29.tgz#43d52892aa998e185a3de3e2477edb8573be1d77" +"@types/chai-as-promised@^7.1.0": + version "7.1.0" + resolved "https://registry.yarnpkg.com/@types/chai-as-promised/-/chai-as-promised-7.1.0.tgz#010b04cde78eacfb6e72bfddb3e58fe23c2e78b9" 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" +"@types/chai-string@^1.4.0": + version "1.4.0" + resolved "https://registry.yarnpkg.com/@types/chai-string/-/chai-string-1.4.0.tgz#c8b78deb9ae53e86c05a446c256138faeaff53c1" dependencies: "@types/chai" "*" @@ -19,9 +18,9 @@ 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/chai@^4.1.2": + version "4.1.2" + resolved "https://registry.yarnpkg.com/@types/chai/-/chai-4.1.2.tgz#f1af664769cfb50af805431c407425ed619daa21" "@types/glob@*": version "5.0.32" @@ -38,10 +37,6 @@ version "8.0.28" resolved "https://registry.yarnpkg.com/@types/node/-/node-8.0.28.tgz#86206716f8d9251cf41692e384264cbd7058ad60" -"@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" @@ -83,25 +78,28 @@ brace-expansion@^1.1.7: 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" +chai-as-promised@^7.1.1: + version "7.1.1" + resolved "https://registry.yarnpkg.com/chai-as-promised/-/chai-as-promised-7.1.1.tgz#08645d825deb8696ee61725dbf590c012eb00ca0" dependencies: check-error "^1.0.2" -chai-string@^1.3.0: +chai-string@^1.4.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" +chai@^4.1.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/chai/-/chai-4.1.2.tgz#0f64584ba642f0f2ace2806279f4f06ca23ad73c" dependencies: assertion-error "^1.0.1" - deep-eql "^0.1.3" - type-detect "^1.0.0" + 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" -check-error@^1.0.2: +check-error@^1.0.1, check-error@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/check-error/-/check-error-1.0.2.tgz#574d312edd88bb5dd8912e9286dd6c0aed4aac82" @@ -109,11 +107,11 @@ concat-map@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" -deep-eql@^0.1.3: - version "0.1.3" - resolved "https://registry.yarnpkg.com/deep-eql/-/deep-eql-0.1.3.tgz#ef558acab8de25206cd713906d74e56930eb69f2" +deep-eql@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/deep-eql/-/deep-eql-3.0.1.tgz#dfc9404400ad1c8fe023e7da1df1c147c4b444df" dependencies: - type-detect "0.1.1" + type-detect "^4.0.0" define-properties@^1.1.2: version "1.1.2" @@ -164,6 +162,10 @@ 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" +get-func-name@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/get-func-name/-/get-func-name-2.0.0.tgz#ead774abee72e20409433a066366023dd6887a41" + glob@^7.0.0: version "7.1.2" resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15" @@ -278,6 +280,10 @@ path-parse@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.5.tgz#3c1adf871ea9cd6c9431b6ea2bd74a0ff055c4c1" +pathval@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/pathval/-/pathval-1.1.0.tgz#b942e6d4bde653005ef6b71361def8727d0645e0" + pretty-bytes@^4.0.2: version "4.0.2" resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-4.0.2.tgz#b2bf82e7350d65c6c33aa95aaa5a4f6327f61cd9" @@ -306,16 +312,16 @@ shelljs@^0.7.8: interpret "^1.0.0" rechoir "^0.6.2" -smartchai@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/smartchai/-/smartchai-1.0.3.tgz#de6d010bb8b5aef24cb70b31a5f5334e8c41b72f" +smartchai@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/smartchai/-/smartchai-2.0.1.tgz#d20f17221f0e3c6c3473600b78ddfba0ab0ea762" dependencies: - "@types/chai" "^3.4.35" - "@types/chai-as-promised" "0.0.29" - "@types/chai-string" "^1.1.30" - chai "^3.5.0" - chai-as-promised "^6.0.0" - chai-string "^1.3.0" + "@types/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" smartdelay@^1.0.3: version "1.0.3" @@ -342,24 +348,19 @@ smartshell@^1.0.6: typings-global "^1.0.20" which "^1.3.0" -tapbundle@^1.0.13: - version "1.1.1" - resolved "https://registry.yarnpkg.com/tapbundle/-/tapbundle-1.1.1.tgz#ec4172c0e82a77b1f6133fef2606311ede28a62d" +tapbundle@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/tapbundle/-/tapbundle-2.0.0.tgz#79fce68ff185c786fabaf6eb589a4afc7d2714b7" dependencies: early "^2.1.1" leakage "^0.3.0" - smartchai "^1.0.3" + smartchai "^2.0.0" 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" +type-detect@^4.0.0: + version "4.0.8" + resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c" typings-global@^1.0.14, typings-global@^1.0.16, typings-global@^1.0.19, typings-global@^1.0.20: version "1.0.20"