From 4c287bc6557454ceea8e121f3c45c20bbea7160b Mon Sep 17 00:00:00 2001 From: Jamie Magee <JamieMagee@users.noreply.github.com> Date: Fri, 29 Nov 2019 13:52:46 +0100 Subject: [PATCH] refactor(logger): convert more loggers to typescript (#4887) Co-Authored-By: Michael Kriese <michael.kriese@visualon.de> --- lib/logger/{cmd-serializer.js => cmd-serializer.ts} | 4 +--- .../{config-serializer.js => config-serializer.ts} | 13 +++++++------ lib/logger/{err-serializer.js => err-serializer.ts} | 3 ++- package.json | 1 + ....spec.js.snap => config-serializer.spec.ts.snap} | 0 ...zer.spec.js.snap => err-serializer.spec.ts.snap} | 0 ...serializer.spec.js => config-serializer.spec.ts} | 2 +- ...rr-serializer.spec.js => err-serializer.spec.ts} | 0 yarn.lock | 5 +++++ 9 files changed, 17 insertions(+), 11 deletions(-) rename lib/logger/{cmd-serializer.js => cmd-serializer.ts} (60%) rename lib/logger/{config-serializer.js => config-serializer.ts} (81%) rename lib/logger/{err-serializer.js => err-serializer.ts} (93%) rename test/logger/__snapshots__/{config-serializer.spec.js.snap => config-serializer.spec.ts.snap} (100%) rename test/logger/__snapshots__/{err-serializer.spec.js.snap => err-serializer.spec.ts.snap} (100%) rename test/logger/{config-serializer.spec.js => config-serializer.spec.ts} (88%) rename test/logger/{err-serializer.spec.js => err-serializer.spec.ts} (100%) diff --git a/lib/logger/cmd-serializer.js b/lib/logger/cmd-serializer.ts similarity index 60% rename from lib/logger/cmd-serializer.js rename to lib/logger/cmd-serializer.ts index 02950a6a96..55822f79d9 100644 --- a/lib/logger/cmd-serializer.js +++ b/lib/logger/cmd-serializer.ts @@ -1,6 +1,4 @@ -export default cmdSerializer; - // istanbul ignore next -function cmdSerializer(cmd) { +export default function(cmd: string): string { return cmd.replace(/https:\/\/[^@]*@/g, 'https://**redacted**@'); } diff --git a/lib/logger/config-serializer.js b/lib/logger/config-serializer.ts similarity index 81% rename from lib/logger/config-serializer.js rename to lib/logger/config-serializer.ts index ef5de7c3d4..6167662bba 100644 --- a/lib/logger/config-serializer.js +++ b/lib/logger/config-serializer.ts @@ -1,8 +1,9 @@ -const traverse = require('traverse'); +import traverse from 'traverse'; +import { RenovateConfig } from '../config/common'; -module.exports = configSerializer; - -function configSerializer(config) { +export default function configSerializer( + config: RenovateConfig +): RenovateConfig { const redactedFields = [ 'authorization', 'token', @@ -23,10 +24,10 @@ function configSerializer(config) { 'yarnLockParsed', ]; const arrayFields = ['packageFiles', 'upgrades']; + return traverse(config).map( - /** @this {{key:string, update: (val:any) => void}} */ // eslint-disable-next-line array-callback-return - function scrub(val) { + function scrub(val: string) { if (val && redactedFields.includes(this.key)) { this.update('***********'); } diff --git a/lib/logger/err-serializer.js b/lib/logger/err-serializer.ts similarity index 93% rename from lib/logger/err-serializer.js rename to lib/logger/err-serializer.ts index 011c2a4fc0..66aeef13d6 100644 --- a/lib/logger/err-serializer.js +++ b/lib/logger/err-serializer.ts @@ -1,6 +1,7 @@ import is from '@sindresorhus/is'; -export default function errSerializer(err) { +// TODO: remove any type +export default function errSerializer(err: any): any { const response = { ...err, }; diff --git a/package.json b/package.json index 4630779d43..9f39907e24 100644 --- a/package.json +++ b/package.json @@ -192,6 +192,7 @@ "@types/semver": "6.2.0", "@types/shelljs": "0.8.6", "@types/tmp": "0.1.0", + "@types/traverse": "^0.6.32", "@types/validator": "10.11.3", "@types/xmldoc": "1.1.4", "@typescript-eslint/eslint-plugin": "2.9.0", diff --git a/test/logger/__snapshots__/config-serializer.spec.js.snap b/test/logger/__snapshots__/config-serializer.spec.ts.snap similarity index 100% rename from test/logger/__snapshots__/config-serializer.spec.js.snap rename to test/logger/__snapshots__/config-serializer.spec.ts.snap diff --git a/test/logger/__snapshots__/err-serializer.spec.js.snap b/test/logger/__snapshots__/err-serializer.spec.ts.snap similarity index 100% rename from test/logger/__snapshots__/err-serializer.spec.js.snap rename to test/logger/__snapshots__/err-serializer.spec.ts.snap diff --git a/test/logger/config-serializer.spec.js b/test/logger/config-serializer.spec.ts similarity index 88% rename from test/logger/config-serializer.spec.js rename to test/logger/config-serializer.spec.ts index 8265ab1f87..a4943e2416 100644 --- a/test/logger/config-serializer.spec.js +++ b/test/logger/config-serializer.spec.ts @@ -1,4 +1,4 @@ -const configSerializer = require('../../lib/logger/config-serializer'); +import configSerializer from '../../lib/logger/config-serializer'; describe('logger/config-serializer', () => { it('redacts sensitive fields', () => { diff --git a/test/logger/err-serializer.spec.js b/test/logger/err-serializer.spec.ts similarity index 100% rename from test/logger/err-serializer.spec.js rename to test/logger/err-serializer.spec.ts diff --git a/yarn.lock b/yarn.lock index aeda3ad1fd..61db0c3133 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1354,6 +1354,11 @@ resolved "https://registry.yarnpkg.com/@types/tough-cookie/-/tough-cookie-2.3.5.tgz#9da44ed75571999b65c37b60c9b2b88db54c585d" integrity sha512-SCcK7mvGi3+ZNz833RRjFIxrn4gI1PPR3NtuIS+6vMkvmsGjosqTJwRt5bAEFLRz+wtJMWv8+uOnZf2hi2QXTg== +"@types/traverse@^0.6.32": + version "0.6.32" + resolved "https://registry.yarnpkg.com/@types/traverse/-/traverse-0.6.32.tgz#f9fdfa40cd4898deaa975a14511aec731de8235e" + integrity sha512-RBz2uRZVCXuMg93WD//aTS5B120QlT4lR/gL+935QtGsKHLS6sCtZBaKfWjIfk7ZXv/r8mtGbwjVIee6/3XTow== + "@types/validator@10.11.3": version "10.11.3" resolved "https://registry.yarnpkg.com/@types/validator/-/validator-10.11.3.tgz#945799bef24a953c5bc02011ca8ad79331a3ef25" -- GitLab