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 02950a6a9652925f17910839c68ba1239ac5b0e3..55822f79d964357609c33e52185e37e1a7fad617 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 ef5de7c3d459fdcf5874e35827f12b7bfc6b79d5..6167662bbac27927acf38f0a7f23100b1b149659 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 011c2a4fc07866f4ac478cede7e19a6fb63b6996..66aeef13d61a0c3170ffceb2d21cab3027565a11 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 4630779d433b3dca90a9c75d3ca43bfd942317fe..9f39907e2457c58d4cd010eed8fbf060cb6dc5e6 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 8265ab1f871e58ce1926b5ca05d1c145c1ac3df5..a4943e2416754a9801d435ccfa5e0dd2aa782711 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 aeda3ad1fd875ade1da25094176953dfebbdb066..61db0c3133a71ec502205f2ea8fec31695719887 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"