diff --git a/build/example/app.js b/build/example/app.js index 2e95307..394bab6 100644 --- a/build/example/app.js +++ b/build/example/app.js @@ -47,6 +47,7 @@ function setupApp() { // only show actual error message and stack trace if showing details is enabled if (options.showDetails) { return { + // tslint:disable-next-line:no-null-keyword payload: null, success: false, error: error.message, @@ -55,6 +56,7 @@ function setupApp() { } else { return { + // tslint:disable-next-line:no-null-keyword payload: null, success: false, error: "Internal error occurred" diff --git a/build/example/app.js.map b/build/example/app.js.map index c862465..00f38fe 100644 --- a/build/example/app.js.map +++ b/build/example/app.js.map @@ -1 +1 @@ -{"version":3,"file":"app.js","sourceRoot":"","sources":["../../src/example/app.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,0CAA0C;AAC1C,mCAAmC;AACnC,6BAA6B;AAC7B,0BAAuC;AAEvC;;QACE,2BAA2B;QAC3B,MAAM,GAAG,GAAG,OAAO,EAAE,CAAC;QAEtB,uBAAuB;QACvB,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;QAE3B,iBAAiB;QACjB,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE;YACzC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC1B,CAAC,CAAC,CAAC;QAEH,kBAAkB;QAClB,GAAG,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE;YACrD,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;QAEH,oBAAoB;QACpB,GAAG,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE;YACnD,IAAI,CAAC,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC;QAEH,oBAAoB;QACpB,GAAG,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE;YACrD,IAAI,CAAC;gBACH,OAAO,EAAE,cAAc;aACxB,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,yDAAyD;QACzD,GAAG,CAAC,GAAG,CACL,UAAoB,CAAC;YACnB,mHAAmH;YACnH,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC;YAE1C,mEAAmE;YACnE,WAAW,EAAE,IAAI;YAEjB,mEAAmE;YACnE,cAAc,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;gBACjC,+EAA+E;gBAC/E,EAAE,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC;oBACxB,MAAM,CAAC;wBACL,OAAO,EAAE,IAAI;wBACb,OAAO,EAAE,KAAK;wBACd,KAAK,EAAE,KAAK,CAAC,OAAO;wBACpB,KAAK,EAAE,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE;qBAC/F,CAAC;gBACJ,CAAC;gBAAC,IAAI,CAAC,CAAC;oBACN,MAAM,CAAC;wBACL,OAAO,EAAE,IAAI;wBACb,OAAO,EAAE,KAAK;wBACd,KAAK,EAAE,yBAAyB;qBACjC,CAAC;gBACJ,CAAC;YACH,CAAC;SACF,CAAC,CACH,CAAC;QAEF,MAAM,CAAC,GAAG,CAAC;IACb,CAAC;CAAA;AA5DD,2BA4DC"} \ No newline at end of file +{"version":3,"file":"app.js","sourceRoot":"","sources":["../../src/example/app.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,0CAA0C;AAC1C,mCAAmC;AACnC,6BAA6B;AAC7B,0BAAuC;AAEvC;;QACE,2BAA2B;QAC3B,MAAM,GAAG,GAAG,OAAO,EAAE,CAAC;QAEtB,uBAAuB;QACvB,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;QAE3B,iBAAiB;QACjB,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE;YACzC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC1B,CAAC,CAAC,CAAC;QAEH,kBAAkB;QAClB,GAAG,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE;YACrD,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;QAEH,oBAAoB;QACpB,GAAG,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE;YACnD,IAAI,CAAC,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC;QAEH,oBAAoB;QACpB,GAAG,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE;YACrD,IAAI,CAAC;gBACH,OAAO,EAAE,cAAc;aACxB,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,yDAAyD;QACzD,GAAG,CAAC,GAAG,CACL,UAAoB,CAAC;YACnB,mHAAmH;YACnH,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC;YAE1C,mEAAmE;YACnE,WAAW,EAAE,IAAI;YAEjB,mEAAmE;YACnE,cAAc,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;gBACjC,+EAA+E;gBAC/E,EAAE,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC;oBACxB,MAAM,CAAC;wBACL,2CAA2C;wBAC3C,OAAO,EAAE,IAAI;wBACb,OAAO,EAAE,KAAK;wBACd,KAAK,EAAE,KAAK,CAAC,OAAO;wBACpB,KAAK,EAAE,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE;qBAC/F,CAAC;gBACJ,CAAC;gBAAC,IAAI,CAAC,CAAC;oBACN,MAAM,CAAC;wBACL,2CAA2C;wBAC3C,OAAO,EAAE,IAAI;wBACb,OAAO,EAAE,KAAK;wBACd,KAAK,EAAE,yBAAyB;qBACjC,CAAC;gBACJ,CAAC;YACH,CAAC;SACF,CAAC,CACH,CAAC;QAEF,MAAM,CAAC,GAAG,CAAC;IACb,CAAC;CAAA;AA9DD,2BA8DC"} \ No newline at end of file diff --git a/build/example/index.test.d.ts b/build/example/index.test.d.ts index ee3b6e9..5c8dff3 100644 --- a/build/example/index.test.d.ts +++ b/build/example/index.test.d.ts @@ -2,6 +2,6 @@ export interface IErrorDetails { [x: string]: any; } export declare class DetailedError extends Error { - details: IErrorDetails | null; - constructor(message: string, details?: IErrorDetails | null); + details: IErrorDetails | undefined; + constructor(message: string, details?: IErrorDetails | undefined); } diff --git a/build/example/index.test.js b/build/example/index.test.js index 36a7eea..b60ba67 100644 --- a/build/example/index.test.js +++ b/build/example/index.test.js @@ -15,7 +15,8 @@ const index_1 = require("../index"); const app_1 = require("./app"); let app; class DetailedError extends Error { - constructor(message, details = null) { + // tslint:disable-next-line:no-null-keyword + constructor(message, details) { super(message); this.details = details; this.name = "DetailedError"; diff --git a/build/example/index.test.js.map b/build/example/index.test.js.map index 0d8c72f..c3087f4 100644 --- a/build/example/index.test.js.map +++ b/build/example/index.test.js.map @@ -1 +1 @@ -{"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../src/example/index.test.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../src/example/index.test.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/package.json b/package.json index 5ac2145..0b7ceab 100644 --- a/package.json +++ b/package.json @@ -46,7 +46,8 @@ "http-status-codes": "^1.3.0", "stackman": "^2.0.1", "supertest": "^3.0.0", - "ts-jest": "^21.1.4" + "ts-jest": "^21.1.4", + "tslint-config-strict": "^1.3.0" }, "devDependencies": { "@types/express": "^4.0.39", diff --git a/src/example/__snapshots__/index.test.ts.snap b/src/example/__snapshots__/index.test.ts.snap index 2545e78..9aafb65 100644 --- a/src/example/__snapshots__/index.test.ts.snap +++ b/src/example/__snapshots__/index.test.ts.snap @@ -497,7 +497,7 @@ Prism.languages.typescript=Prism.languages.extend(\\"javascript\\",{keyword:/\\\
  1. - express-error-renderer/src/example/index.test.ts:64 + express-error-renderer/src/example/index.test.ts:65 (server.get)
  2. @@ -509,10 +509,10 @@ Prism.languages.typescript=Prism.languages.extend(\\"javascript\\",{keyword:/\\\
    #1 - express-error-renderer/src/example/index.test.ts:57 + express-error-renderer/src/example/index.test.ts:58
    -
    +    
               expect(response.status).toEqual(HttpStatus.INTERNAL_SERVER_ERROR);
         expect(response.text).toMatchSnapshot();
       });
    @@ -1021,7 +1021,7 @@ Prism.languages.typescript=Prism.languages.extend(\\"javascript\\",{keyword:/\\\
         
    1. - express-error-renderer/src/example/index.test.ts:160 + express-error-renderer/src/example/index.test.ts:161 (server.get)
    2. @@ -1039,10 +1039,10 @@ Prism.languages.typescript=Prism.languages.extend(\\"javascript\\",{keyword:/\\\
      #1 - express-error-renderer/src/example/index.test.ts:125 + express-error-renderer/src/example/index.test.ts:126
      -
      +    
                 app = supertest(server);
           const response = await app
             .get(\\"/error\\")
      @@ -1627,13 +1627,13 @@ Prism.languages.typescript=Prism.languages.extend(\\"javascript\\",{keyword:/\\\
           
      1. - express-error-renderer/src/example/index.test.ts:197 + express-error-renderer/src/example/index.test.ts:198
      2. - express-error-renderer/src/example/index.test.ts:198 + express-error-renderer/src/example/index.test.ts:199 (server.get)
      3. @@ -1645,10 +1645,10 @@ Prism.languages.typescript=Prism.languages.extend(\\"javascript\\",{keyword:/\\\
        #1 - express-error-renderer/src/example/index.test.ts:152 + express-error-renderer/src/example/index.test.ts:153
        -
        +    
                     .get(\\"/error\\")
               .set(\\"X-Requested-With\\", \\"XMLHttpRequest\\")
               .send();
        @@ -1697,10 +1697,10 @@ Prism.languages.typescript=Prism.languages.extend(\\"javascript\\",{keyword:/\\\
             
        #2 - express-error-renderer/src/example/index.test.ts:153 + express-error-renderer/src/example/index.test.ts:154
        -
        +    
                     .set(\\"X-Requested-With\\", \\"XMLHttpRequest\\")
               .send();
         
        @@ -2301,9 +2301,9 @@ Prism.languages.typescript=Prism.languages.extend(\\"javascript\\",{keyword:/\\\
                 // only show actual error message and stack trace if showing details is enabled
                 if (options.showDetails) {
                   return {
        +            // tslint:disable-next-line:no-null-keyword
                     payload: null,
        -            success: false,
        -            error: error.message,
        + success: false,
        diff --git a/src/example/app.ts b/src/example/app.ts index e907722..ceba753 100644 --- a/src/example/app.ts +++ b/src/example/app.ts @@ -46,6 +46,7 @@ export default async function setupApp(): Promise { // only show actual error message and stack trace if showing details is enabled if (options.showDetails) { return { + // tslint:disable-next-line:no-null-keyword payload: null, success: false, error: error.message, @@ -53,6 +54,7 @@ export default async function setupApp(): Promise { }; } else { return { + // tslint:disable-next-line:no-null-keyword payload: null, success: false, error: "Internal error occurred" diff --git a/src/example/index.test.ts b/src/example/index.test.ts index 4f4b1c0..2f71b0a 100644 --- a/src/example/index.test.ts +++ b/src/example/index.test.ts @@ -12,7 +12,8 @@ export interface IErrorDetails { } export class DetailedError extends Error { - constructor(message: string, public details: IErrorDetails | null = null) { + // tslint:disable-next-line:no-null-keyword + public constructor(message: string, public details?: IErrorDetails) { super(message); this.name = "DetailedError"; diff --git a/tslint.json b/tslint.json index d24941c..e32d6f2 100644 --- a/tslint.json +++ b/tslint.json @@ -1,54 +1,4 @@ { - "extends": ["tslint:recommended", "tslint-config-prettier"], - "defaultSeverity": "error", - "jsRules": {}, - "rules": { - "object-literal-sort-keys": [false], - "variable-name": [true, "allow-leading-underscore"], - "member-ordering": [true, { "order": "fields-first" }], - "typedef": false, - "no-default-export": false, - "only-arrow-functions": [true, "allow-declarations"], - "comment-format": [true, "check-space", "check-lowercase", { "ignore-words": ["TODO"] }], - "ban-comma-operator": true, - "no-any": true, - "no-console": false, - "no-import-side-effect": [true, { "ignore-module": "(\\.css|\\.svg)$" }], - "no-inferrable-types": true, - "no-magic-numbers": [true, -1, 0, 1, 2, 1000, 60], - "no-non-null-assertion": true, - "no-this-assignment": true, - "promise-function-async": true, - "await-promise": [true, "AxiosPromise"], - "ban-comma-operator": true, - "no-duplicate-switch-case": true, - "no-floating-promises": true, - "no-for-in-array": true, - "no-implicit-dependencies": true, - "no-inferred-empty-object-type": true, - "no-invalid-template-strings": true, - "no-misused-new": true, - "no-object-literal-type-assertion": true, - "no-return-await": true, - "no-shadowed-variable": true, - "no-string-literal": true, - "no-string-throw": true, - "no-sparse-arrays": true, - "no-submodule-imports": true, - "no-unbound-method": true, - "no-unnecessary-class": [true, "allow-empty-class"], - "no-unsafe-finally": true, - "no-unused-expression": true, - "no-unused-variable": true, - "no-use-before-declare": true, - "no-var-keyword": true, - "no-void-expression": [true, "ignore-arrow-function-shorthand"], - "prefer-conditional-expression": true, - "restrict-plus-operands": true, - "strict-boolean-expressions": [true, "allow-undefined-union"], - "strict-type-predicates": true, - "switch-default": true, - "triple-equals": true - }, - "rulesDirectory": [] + "extends": ["tslint-config-strict", "tslint-config-prettier"], + "rules": {} } diff --git a/yarn.lock b/yarn.lock index 385a8d9..4bc1e1a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2963,6 +2963,10 @@ tslint-config-prettier@^1.5.0: version "1.6.0" resolved "https://registry.yarnpkg.com/tslint-config-prettier/-/tslint-config-prettier-1.6.0.tgz#fec1ee8fb07e8f033c63fed6b135af997f31962a" +tslint-config-strict@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/tslint-config-strict/-/tslint-config-strict-1.3.0.tgz#a8ca6a16ada52e6fcbec875ed2fa502cd1ee1e06" + tslint-eslint-rules@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/tslint-eslint-rules/-/tslint-eslint-rules-4.1.1.tgz#7c30e7882f26bc276bff91d2384975c69daf88ba"