diff --git a/.eslintrc.js b/.eslintrc.js index 33397a5140c4362e826b80dd1c7c925649f1645b..104c5bed6ee77ab46240b70d75e0dc79b2d37351 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -1,6 +1,7 @@ module.exports = { env: { node: true, + jest: true, }, extends: [ 'plugin:promise/recommended', diff --git a/lib/config/decrypt.js b/lib/config/decrypt.js index c3c9f5667e22ce65bf145df0ce7d0a9290ab522b..8003289316dd99545e476a7c568c71a92593079a 100644 --- a/lib/config/decrypt.js +++ b/lib/config/decrypt.js @@ -1,5 +1,6 @@ const is = require('@sindresorhus/is'); const crypto = require('crypto'); +const { logger } = require('../logger'); const { maskToken } = require('../util/mask'); module.exports = { diff --git a/lib/config/file.js b/lib/config/file.js index 83c1a70a36476e14f61c1377498f7e595039bbb3..5dbda4be65d32cb56f0a3a0f8b913b7aab687631 100644 --- a/lib/config/file.js +++ b/lib/config/file.js @@ -1,4 +1,5 @@ const path = require('path'); +const { logger } = require('../logger'); const { migrateConfig } = require('./migration'); module.exports = { diff --git a/lib/config/index.js b/lib/config/index.js index 27a05b485cc3b0e47197fc8ea97cfa345940e78d..09f97e7edf0b044e468b6e3933926f9b3df6046c 100644 --- a/lib/config/index.js +++ b/lib/config/index.js @@ -1,3 +1,4 @@ +const { logger, levels } = require('../logger'); const definitions = require('./definitions'); const defaultsParser = require('./defaults'); @@ -55,7 +56,7 @@ async function parseConfigs(env, argv) { } // Set log level - logger.levels('stdout', config.logLevel); + levels('stdout', config.logLevel); // Add file logger // istanbul ignore if diff --git a/lib/config/migrate-validate.js b/lib/config/migrate-validate.js index 1e9e7599ff50aaccaee0270b8af96166b7b18be6..772d02841c022e1645fc6d53a552295202de12ab 100644 --- a/lib/config/migrate-validate.js +++ b/lib/config/migrate-validate.js @@ -1,4 +1,5 @@ const is = require('@sindresorhus/is'); +const { logger } = require('../logger'); const configMigration = require('./migration'); const configMassage = require('./massage'); const configValidation = require('./validation'); diff --git a/lib/config/migration.js b/lib/config/migration.js index 868dd8598632217f5f9b3635a38b3c2df07a5307..bc4d7175b663e4527a640fedac5a2dd5ab0dcaa4 100644 --- a/lib/config/migration.js +++ b/lib/config/migration.js @@ -1,5 +1,6 @@ const is = require('@sindresorhus/is'); const later = require('later'); +const { logger } = require('../logger'); const options = require('./definitions').getOptions(); const clone = input => JSON.parse(JSON.stringify(input)); diff --git a/lib/config/presets.js b/lib/config/presets.js index 6ddb28750bd1c2182a496e03a465dbf9a839e6a5..f8df3b648722f5cd9ba120ceab904c7db13a6f18 100644 --- a/lib/config/presets.js +++ b/lib/config/presets.js @@ -1,4 +1,5 @@ const is = require('@sindresorhus/is'); +const { logger } = require('../logger'); const configParser = require('./index'); const massage = require('./massage'); const migration = require('./migration'); diff --git a/lib/datasource/cargo/index.js b/lib/datasource/cargo/index.js index f23a15cc64e48ef573cf0a1578036929b384968e..ccda70e2e93640101db77ba3767740d9f266ae75 100644 --- a/lib/datasource/cargo/index.js +++ b/lib/datasource/cargo/index.js @@ -1,3 +1,4 @@ +const { logger } = require('../../logger'); const got = require('../../util/got'); module.exports = { diff --git a/lib/datasource/dart/index.js b/lib/datasource/dart/index.js index 40e5ce04de64590f96e266b4241ea6cf433c66bf..a8b64f54bb35157a6f67eea8b8d1f3c9f5d85151 100644 --- a/lib/datasource/dart/index.js +++ b/lib/datasource/dart/index.js @@ -1,4 +1,5 @@ const got = require('../../util/got'); +const { logger } = require('../../logger'); async function getPkgReleases({ lookupName }) { let result = null; diff --git a/lib/datasource/docker/index.js b/lib/datasource/docker/index.js index b3c181aac23c6386bee5d3cc298b90bd719d14ac..5685d7e09f85aefe0495936a1cb430012b957183 100644 --- a/lib/datasource/docker/index.js +++ b/lib/datasource/docker/index.js @@ -3,6 +3,7 @@ const URL = require('url'); const is = require('@sindresorhus/is'); const parseLinkHeader = require('parse-link-header'); const wwwAuthenticate = require('www-authenticate'); +const { logger } = require('../../logger'); const got = require('../../util/got'); const hostRules = require('../../util/host-rules'); diff --git a/lib/datasource/git-tags/index.js b/lib/datasource/git-tags/index.js index d6374e1b13d1207749043d024f3f3df55056d256..223e356c28b1580031206e9dfe8a0a5ed8b117af 100644 --- a/lib/datasource/git-tags/index.js +++ b/lib/datasource/git-tags/index.js @@ -3,6 +3,7 @@ const semver = require('../../versioning/semver'); const cacheNamespace = 'git-tags'; const cacheMinutes = 10; +const { logger } = require('../../logger'); // git will prompt for known hosts or passwords, unless we activate BatchMode process.env.GIT_SSH_COMMAND = 'ssh -o BatchMode=yes'; diff --git a/lib/datasource/github/index.js b/lib/datasource/github/index.js index aef7ae9b67fbecfb48d3635d5c86be1f2334f1b4..e88e9cfc80f892a0e27e9a86b4d79017a80bb40d 100644 --- a/lib/datasource/github/index.js +++ b/lib/datasource/github/index.js @@ -1,5 +1,6 @@ import ghGot from '../../platform/github/gh-got-wrapper'; +const { logger } = require('../../logger'); const got = require('../../util/got'); module.exports = { diff --git a/lib/datasource/gitlab/index.js b/lib/datasource/gitlab/index.js index d037c0eaa6d7c1b99e58770fff1b6923136803bc..048071a3935f5e1a5384413062312fc6f5dcb151 100644 --- a/lib/datasource/gitlab/index.js +++ b/lib/datasource/gitlab/index.js @@ -1,6 +1,7 @@ const is = require('@sindresorhus/is'); const glGot = require('../../platform/gitlab/gl-got-wrapper').api.get; +const { logger } = require('../../logger'); module.exports = { getPreset, diff --git a/lib/datasource/go/index.js b/lib/datasource/go/index.js index c1d541a0261c4b0ba2b90d09e30f0ee10525f20f..1b838a3a42aae93cc996a1c4daedce910187058d 100644 --- a/lib/datasource/go/index.js +++ b/lib/datasource/go/index.js @@ -1,3 +1,4 @@ +const { logger } = require('../../logger'); const got = require('../../util/got'); const github = require('../github'); diff --git a/lib/datasource/gradle-version/index.js b/lib/datasource/gradle-version/index.js index 9143cfd2b6b04730161fbeb4e8444b224a2d7705..ae6fc021c1c3e618224d45d5ada6807be7cef87b 100644 --- a/lib/datasource/gradle-version/index.js +++ b/lib/datasource/gradle-version/index.js @@ -1,4 +1,5 @@ const { coerce } = require('semver'); +const { logger } = require('../../logger'); const got = require('../../util/got'); module.exports = { diff --git a/lib/datasource/hex/index.js b/lib/datasource/hex/index.js index 96f3d6cd7cef337d6b249bc2b1d11844841e4fc1..7f5b7ece41751c9f5f8b206d2dbaf97b6848ae82 100644 --- a/lib/datasource/hex/index.js +++ b/lib/datasource/hex/index.js @@ -1,3 +1,4 @@ +const { logger } = require('../../logger'); const got = require('../../util/got'); module.exports = { diff --git a/lib/datasource/index.js b/lib/datasource/index.js index d6a0c3060d8a1eacc1a791ea4bd06e896bb417ef..6400ed8baee9ed7bcee7a98d289552553489bba5 100644 --- a/lib/datasource/index.js +++ b/lib/datasource/index.js @@ -1,3 +1,4 @@ +const { logger } = require('../logger'); const { addMetaData } = require('./metadata'); const versioning = require('../versioning'); diff --git a/lib/datasource/maven/index.js b/lib/datasource/maven/index.js index bba728d3219176d97cc6a49fc4c0eed63216c9d2..6f86f9e0cb8bf563080621dfee8560ed282e9de3 100644 --- a/lib/datasource/maven/index.js +++ b/lib/datasource/maven/index.js @@ -2,6 +2,7 @@ const url = require('url'); const fs = require('fs-extra'); const { XmlDocument } = require('xmldoc'); const is = require('@sindresorhus/is'); +const { logger } = require('../../logger'); const { compare } = require('../../versioning/maven/compare'); const { containsPlaceholder } = require('../../manager/maven/extract'); diff --git a/lib/datasource/maven/util.js b/lib/datasource/maven/util.js index 5e9ea3204d89daf5859f73d2631b0c55d5f72b4d..171d3576c2e6b87bbdd940a6fa142e956e962abc 100644 --- a/lib/datasource/maven/util.js +++ b/lib/datasource/maven/util.js @@ -1,4 +1,5 @@ const got = require('../../util/got'); +const { logger } = require('../../logger'); module.exports = { downloadHttpProtocol, diff --git a/lib/datasource/npm/get.js b/lib/datasource/npm/get.js index 1f2943d7f7444cb83d3df9ea402f4094c9f7fddd..a3c5f77733cc196c997100c075bd7043dd538911 100644 --- a/lib/datasource/npm/get.js +++ b/lib/datasource/npm/get.js @@ -4,6 +4,7 @@ const getRegistryUrl = require('registry-auth-token/registry-url'); const registryAuthToken = require('registry-auth-token'); const parse = require('github-url-from-git'); const { isBase64 } = require('validator'); +const { logger } = require('../../logger'); const got = require('../../util/got'); const hostRules = require('../../util/host-rules'); diff --git a/lib/datasource/npm/npmrc.js b/lib/datasource/npm/npmrc.js index 05f59c1a0f067ac72092586f798f1c9923151063..bd33b9000d6b13392e02884c4f77cd394eca88a6 100644 --- a/lib/datasource/npm/npmrc.js +++ b/lib/datasource/npm/npmrc.js @@ -1,6 +1,7 @@ const is = require('@sindresorhus/is'); const ini = require('ini'); const { isBase64 } = require('validator'); +const { logger } = require('../../logger'); let npmrc = null; let npmrcRaw; diff --git a/lib/datasource/npm/presets.js b/lib/datasource/npm/presets.js index 6f1d9121ab8ad632401d4443f10451fd40e6ca3f..bcab3aa0bbfcff9fda5b6daf3aa46f65e53d39ba 100644 --- a/lib/datasource/npm/presets.js +++ b/lib/datasource/npm/presets.js @@ -1,3 +1,5 @@ +import { logger } from '../../logger'; + const { getDependency } = require('./get'); module.exports = { diff --git a/lib/datasource/nuget/index.js b/lib/datasource/nuget/index.js index 09ed6a8557c6e817105443439744dc8ce34290fc..b4399c564ced0045c5ba9fe61e45927764e69431 100644 --- a/lib/datasource/nuget/index.js +++ b/lib/datasource/nuget/index.js @@ -1,4 +1,5 @@ const urlApi = require('url'); +const { logger } = require('../../logger'); const v2 = require('./v2'); const v3 = require('./v3'); diff --git a/lib/datasource/nuget/v2.js b/lib/datasource/nuget/v2.js index d959e1a4e37f43ee13c67e34165fbf8cd1ca2ee3..aed75a5f4497a637d58003891cf430f1100a3ff8 100644 --- a/lib/datasource/nuget/v2.js +++ b/lib/datasource/nuget/v2.js @@ -1,5 +1,6 @@ const parse = require('github-url-from-git'); const { XmlDocument } = require('xmldoc'); +const { logger } = require('../../logger'); const got = require('../../util/got'); module.exports = { diff --git a/lib/datasource/nuget/v3.js b/lib/datasource/nuget/v3.js index 6068ab200950d43b8f8aeefbafda89284f865beb..18965f52fa768662930fca4dfe260182bf7b022f 100644 --- a/lib/datasource/nuget/v3.js +++ b/lib/datasource/nuget/v3.js @@ -1,6 +1,7 @@ const parse = require('github-url-from-git'); const semver = require('semver'); const { XmlDocument } = require('xmldoc'); +const { logger } = require('../../logger'); const got = require('../../util/got'); module.exports = { diff --git a/lib/datasource/orb/index.js b/lib/datasource/orb/index.js index 33cd69481a2103abba5e651689a241e992e4655e..0c912d501f603f1801f40a9ab579134caa41214a 100644 --- a/lib/datasource/orb/index.js +++ b/lib/datasource/orb/index.js @@ -1,3 +1,4 @@ +const { logger } = require('../../logger'); const got = require('../../util/got'); module.exports = { diff --git a/lib/datasource/packagist/index.js b/lib/datasource/packagist/index.js index a0c1bd59197ed89e960cf692fe612e5fe2c7ae7c..42772c6c4e56942e85a4d8bc6fbd0f42d46efa97 100644 --- a/lib/datasource/packagist/index.js +++ b/lib/datasource/packagist/index.js @@ -3,6 +3,7 @@ const URL = require('url'); const delay = require('delay'); const parse = require('github-url-from-git'); const pAll = require('p-all'); +const { logger } = require('../../logger'); const got = require('../../util/got'); const hostRules = require('../../util/host-rules'); diff --git a/lib/datasource/pypi/index.js b/lib/datasource/pypi/index.js index 80932eb6659002d691e4fe6419929b424cd672f2..63cc85622311f94ecf0a9f25c29239cd82752722 100644 --- a/lib/datasource/pypi/index.js +++ b/lib/datasource/pypi/index.js @@ -1,6 +1,7 @@ const url = require('url'); const is = require('@sindresorhus/is'); const { parse } = require('node-html-parser'); +const { logger } = require('../../logger'); const { matches } = require('../../versioning/pep440'); const got = require('../../util/got'); diff --git a/lib/datasource/ruby-version/index.js b/lib/datasource/ruby-version/index.js index a32573611c5e81e9e75b437e2aac951b8b6cb542..03598f3440f62f1f98281af0793a6b574f7bdcc1 100644 --- a/lib/datasource/ruby-version/index.js +++ b/lib/datasource/ruby-version/index.js @@ -1,4 +1,5 @@ const { parse } = require('node-html-parser'); +const { logger } = require('../../logger'); const got = require('../../util/got'); const { isVersion } = require('../../versioning/ruby'); diff --git a/lib/datasource/rubygems/get-rubygems-org.js b/lib/datasource/rubygems/get-rubygems-org.js index 032818bdaab584a0a45a43a6820bf727ac378856..25eea2834d505ec0aaa5d132829be94e813656c7 100644 --- a/lib/datasource/rubygems/get-rubygems-org.js +++ b/lib/datasource/rubygems/get-rubygems-org.js @@ -1,4 +1,5 @@ const got = require('../../util/got'); +const { logger } = require('../../logger'); module.exports = { getRubygemsOrgDependency, diff --git a/lib/datasource/rubygems/get.js b/lib/datasource/rubygems/get.js index efce81718527dfebbe06b01516668f04b0f3cbf9..0e2c869bc9549fcdf0c19e0d9bfbef69d2294a95 100644 --- a/lib/datasource/rubygems/get.js +++ b/lib/datasource/rubygems/get.js @@ -1,3 +1,4 @@ +const { logger } = require('../../logger'); const got = require('../../util/got'); const { maskToken } = require('../../util/mask'); const retriable = require('./retriable'); diff --git a/lib/datasource/rubygems/retriable.js b/lib/datasource/rubygems/retriable.js index 217609f1965e245da0f9f3ed5d89849ab56fc23b..dea324b7735ec4d5011de8f463097a04e8be0bb8 100644 --- a/lib/datasource/rubygems/retriable.js +++ b/lib/datasource/rubygems/retriable.js @@ -1,3 +1,4 @@ +const { logger } = require('../../logger'); const { UNAUTHORIZED, FORBIDDEN, diff --git a/lib/datasource/sbt/index.js b/lib/datasource/sbt/index.js index 2bd99e71f51712896aa88c44e95808714da0b1d2..9f8d442dd6dab701beb1fcf6bba5e52f1fe6cd78 100644 --- a/lib/datasource/sbt/index.js +++ b/lib/datasource/sbt/index.js @@ -1,6 +1,7 @@ const { compare } = require('../../versioning/maven/compare'); const { downloadHttpProtocol } = require('../maven/util'); const { parseIndexDir, SBT_PLUGINS_REPO } = require('./util'); +const { logger } = require('../../logger'); async function getPkgReleases(config) { const { lookupName, depType } = config; diff --git a/lib/datasource/terraform/index.js b/lib/datasource/terraform/index.js index b9c7b83bc4d659b3ec80786073be8e0e90003899..0a378b4f02b5cf6f3bc8f6d9850b89213e14fada 100644 --- a/lib/datasource/terraform/index.js +++ b/lib/datasource/terraform/index.js @@ -1,5 +1,6 @@ const parse = require('github-url-from-git'); const is = require('@sindresorhus/is'); +const { logger } = require('../../logger'); const got = require('../../util/got'); diff --git a/lib/logger/__mocks__/index.ts b/lib/logger/__mocks__/index.ts new file mode 100644 index 0000000000000000000000000000000000000000..2e09087795b15241b5fa7c80270cf887bc5cd9b6 --- /dev/null +++ b/lib/logger/__mocks__/index.ts @@ -0,0 +1,19 @@ +const loggerLevels: string[] = [ + 'trace', + 'debug', + 'info', + 'warn', + 'error', + 'fatal', + 'child', +]; +const logger: any = {}; + +loggerLevels.forEach(k => { + logger[k] = jest.fn(); +}); + +export const setMeta = jest.fn(); +export const levels = jest.fn(); + +export { logger }; diff --git a/lib/logger/cmd-serializer.js b/lib/logger/cmd-serializer.js index f3fd49fb49be97823f23258b0072fc4f9e680dbf..02950a6a9652925f17910839c68ba1239ac5b0e3 100644 --- a/lib/logger/cmd-serializer.js +++ b/lib/logger/cmd-serializer.js @@ -1,4 +1,4 @@ -module.exports = cmdSerializer; +export default cmdSerializer; // istanbul ignore next function cmdSerializer(cmd) { diff --git a/lib/logger/index.js b/lib/logger/index.js deleted file mode 100644 index 2cc943442e69e9e6c4a279852172b41dbf988a3d..0000000000000000000000000000000000000000 --- a/lib/logger/index.js +++ /dev/null @@ -1,82 +0,0 @@ -const is = require('@sindresorhus/is'); -const bunyan = require('bunyan'); -const PrettyStdout = require('./pretty-stdout').RenovateStream; -const configSerializer = require('./config-serializer'); -const errSerializer = require('./err-serializer'); -const cmdSerializer = require('./cmd-serializer'); - -let bunyanLogger; -let meta = {}; - -function initLogger() { - const stdout = { - name: 'stdout', - level: process.env.LOG_LEVEL || 'info', - stream: process.stdout, - }; - - if (process.env.LOG_FORMAT !== 'json') { - const prettyStdOut = new PrettyStdout(); - prettyStdOut.pipe(process.stdout); - stdout.type = 'raw'; - stdout.stream = prettyStdOut; - } - - bunyanLogger = bunyan.createLogger({ - name: 'renovate', - serializers: { - body: configSerializer, - cmd: cmdSerializer, - config: configSerializer, - migratedConfig: configSerializer, - originalConfig: configSerializer, - presetConfig: configSerializer, - err: errSerializer, - }, - streams: [stdout], - }); - - global.logger = {}; - - const logFunctions = [ - 'trace', - 'debug', - 'info', - 'warn', - 'error', - 'fatal', - 'child', - ]; - logFunctions.forEach(x => { - global.logger[x] = (p1, p2) => { - global.renovateError = - global.renovateError || x === 'error' || x === 'fatal'; - if (p2) { - // meta and msg provided - return bunyanLogger[x]({ ...meta, ...p1 }, p2); - } - if (is.string(p1)) { - // only message provided - return bunyanLogger[x](meta, p1); - } - // only meta provided - return bunyanLogger[x]({ ...meta, ...p1 }); - }; - }); - global.logger.master = bunyanLogger; - global.logger.addStream = stream => { - bunyanLogger.addStream(stream); - }; - global.logger.levels = (stream, level) => { - bunyanLogger.levels(stream, level); - }; - - // setMeta overrides existing meta - global.logger.setMeta = function setMeta(obj) { - meta = { ...obj }; - }; -} - -module.exports = { - initLogger, -}; diff --git a/lib/logger/index.ts b/lib/logger/index.ts new file mode 100644 index 0000000000000000000000000000000000000000..7d44d27b988da94f67663f5405a805563778545f --- /dev/null +++ b/lib/logger/index.ts @@ -0,0 +1,93 @@ +import * as bunyan from 'bunyan'; + +import is from '@sindresorhus/is'; +import { RenovateStream } from './pretty-stdout'; +import configSerializer from './config-serializer'; +import errSerializer from './err-serializer'; +import cmdSerializer from './cmd-serializer'; + +let meta = {}; + +const stdout: bunyan.Stream = { + name: 'stdout', + level: (process.env.LOG_LEVEL as bunyan.LogLevel) || 'info', + stream: process.stdout, +}; + +if (process.env.LOG_FORMAT !== 'json') { + // TODO: typings + const prettyStdOut = new RenovateStream() as any; + prettyStdOut.pipe(process.stdout); + stdout.stream = prettyStdOut; + stdout.type = 'raw'; +} + +const bunyanLogger = bunyan.createLogger({ + name: 'renovate', + serializers: { + body: configSerializer, + cmd: cmdSerializer, + config: configSerializer, + migratedConfig: configSerializer, + originalConfig: configSerializer, + presetConfig: configSerializer, + err: errSerializer, + }, + streams: [stdout], +}); + +const logFactory = (level: bunyan.LogLevelString): any => { + return (p1: any, p2: any): void => { + global.renovateError = + global.renovateError || level === 'error' || level === 'fatal'; + if (p2) { + // meta and msg provided + bunyanLogger[level]({ ...meta, ...p1 }, p2); + } else if (is.string(p1)) { + // only message provided + bunyanLogger[level](meta, p1); + } else { + // only meta provided + bunyanLogger[level](meta, p1); + } + }; +}; + +const loggerLevels: bunyan.LogLevelString[] = [ + 'trace', + 'debug', + 'info', + 'warn', + 'error', + 'fatal', +]; + +interface Logger { + trace(msg: string): void; + trace(meta: Record<string, any>, msg?: string): void; + debug(msg: string): void; + debug(meta: Record<string, any>, msg?: string): void; + info(msg: string): void; + info(meta: Record<string, any>, msg?: string): void; + warn(msg: string): void; + warn(meta: Record<string, any>, msg?: string): void; + error(msg: string): void; + error(meta: Record<string, any>, msg?: string): void; + fatal(msg: string): void; + fatal(meta: Record<string, any>, msg?: string): void; +} + +export const logger: Logger = {} as any; + +loggerLevels.forEach(loggerLevel => { + logger[loggerLevel] = logFactory(loggerLevel); +}); + +// setMeta overrides existing meta +export function setMeta(obj: any) { + meta = { ...obj }; +} + +export function levels(name: string, level: bunyan.LogLevel): void { + bunyanLogger.levels(name, level); +} diff --git a/lib/logger/pretty-stdout.js b/lib/logger/pretty-stdout.ts similarity index 68% rename from lib/logger/pretty-stdout.js rename to lib/logger/pretty-stdout.ts index a3b5db56392ad790da4a7d0e5896dec706133098..676c1c345acf86dd7538bc9f9cb0a0ecf5ebc2d8 100644 --- a/lib/logger/pretty-stdout.js +++ b/lib/logger/pretty-stdout.ts @@ -1,10 +1,10 @@ // Code originally derived from https://github.com/hadfieldn/node-bunyan-prettystream but since heavily edited // Neither fork nor original repo appear to be maintained -const { Stream } = require('stream'); -const util = require('util'); -const chalk = require('chalk'); -const stringify = require('json-stringify-pretty-compact'); +import * as util from 'util'; +import { Stream } from 'stream'; +import chalk from 'chalk'; +import stringify from 'json-stringify-pretty-compact'; const bunyanFields = [ 'name', @@ -25,7 +25,7 @@ const metaFields = [ 'branch', ]; -const levels = { +const levels: Record<number, string> = { 10: chalk.gray('TRACE'), 20: chalk.blue('DEBUG'), 30: chalk.green(' INFO'), @@ -34,12 +34,12 @@ const levels = { 60: chalk.bgRed('FATAL'), }; -function indent(str, leading = false) { +export function indent(str: string, leading = false) { const prefix = leading ? ' ' : ''; return prefix + str.split(/\r?\n/).join('\n '); } -function getMeta(rec) { +export function getMeta(rec: BunyanRecord) { if (!rec) { return ''; } @@ -55,7 +55,7 @@ function getMeta(rec) { return chalk.gray(res); } -function getDetails(rec) { +export function getDetails(rec: BunyanRecord) { if (!rec) { return ''; } @@ -75,8 +75,7 @@ function getDetails(rec) { .join(',\n')}\n`; } -// istanbul ignore next -function formatRecord(rec) { +export function formatRecord(rec: BunyanRecord) { const level = levels[rec.level]; const msg = `${indent(rec.msg)}`; const meta = getMeta(rec); @@ -84,24 +83,26 @@ function formatRecord(rec) { return util.format('%s: %s%s\n%s', level, msg, meta, details); } -function RenovateStream() { - this.readable = true; - this.writable = true; - Stream.call(this); -} +export class RenovateStream extends Stream { + readable: boolean; -util.inherits(RenovateStream, Stream); + writable: boolean; -// istanbul ignore next -RenovateStream.prototype.write = function write(data) { - this.emit('data', formatRecord(data)); - return true; -}; + constructor() { + super(); + this.readable = true; + this.writable = true; + } -module.exports = { - indent, - getMeta, - getDetails, - formatRecord, - RenovateStream, -}; + // istanbul ignore next + write(data: BunyanRecord) { + this.emit('data', formatRecord(data)); + return true; + } +} + +export interface BunyanRecord extends Record<string, any> { + level: number; + msg: string; + module?: string; +} diff --git a/lib/manager/ansible/extract.js b/lib/manager/ansible/extract.js index ea3fb83f33475fbd0d858e010b0dd4b61a192cba..78e5951231a2fe57fe400974ea86c3d0956d9f9b 100644 --- a/lib/manager/ansible/extract.js +++ b/lib/manager/ansible/extract.js @@ -1,3 +1,4 @@ +const { logger } = require('../../logger'); const { getDep } = require('../dockerfile/extract'); module.exports = { diff --git a/lib/manager/ansible/update.js b/lib/manager/ansible/update.js index 3a46d71f529c1503da90443d39e88ef931745475..3f7640961a07e098bc2ead17be806d325aca102d 100644 --- a/lib/manager/ansible/update.js +++ b/lib/manager/ansible/update.js @@ -1,3 +1,4 @@ +const { logger } = require('../../logger'); const { getNewFrom } = require('../dockerfile/update'); module.exports = { diff --git a/lib/manager/bazel/extract.js b/lib/manager/bazel/extract.js index 37e8c8f95d4319e09deb5c465ddf2ef22802b236..28c709ef7bb955a70a27758494c47805086c1f90 100644 --- a/lib/manager/bazel/extract.js +++ b/lib/manager/bazel/extract.js @@ -1,6 +1,7 @@ /* eslint no-plusplus: 0 default-case: 0 */ const parse = require('github-url-from-git'); const URL = require('url'); +const { logger } = require('../../logger'); module.exports = { extractPackageFile, diff --git a/lib/manager/bazel/update.js b/lib/manager/bazel/update.js index cb30ad022a0a03f6ab5549618d37539096da8c72..65c7bc31f34211147d73f0a265030bf1a24384a4 100644 --- a/lib/manager/bazel/update.js +++ b/lib/manager/bazel/update.js @@ -1,5 +1,6 @@ const hasha = require('hasha'); const got = require('../../util/got'); +const { logger } = require('../../logger'); module.exports = { updateDependency, diff --git a/lib/manager/buildkite/extract.js b/lib/manager/buildkite/extract.js index 7fd482c0277d4485b057b4d3d76156988c251c92..c31963bdd157ef349c1922c1730f836f290ee63a 100644 --- a/lib/manager/buildkite/extract.js +++ b/lib/manager/buildkite/extract.js @@ -1,3 +1,4 @@ +const { logger } = require('../../logger'); const { isVersion } = require('../../versioning/semver'); module.exports = { diff --git a/lib/manager/buildkite/update.js b/lib/manager/buildkite/update.js index 8982473ca78250fccdd583506cd3a2bace517cf5..e5f80fc98d2213688b44d2a8714264e8afa491f4 100644 --- a/lib/manager/buildkite/update.js +++ b/lib/manager/buildkite/update.js @@ -1,3 +1,5 @@ +const { logger } = require('../../logger'); + module.exports = { updateDependency, }; diff --git a/lib/manager/bundler/artifacts.js b/lib/manager/bundler/artifacts.js index 1dda3ad85073ce588d23a043667a9eda07cbad5f..8a8574ffe009fecbd3c4261d7be1226829639555 100644 --- a/lib/manager/bundler/artifacts.js +++ b/lib/manager/bundler/artifacts.js @@ -2,6 +2,7 @@ const { exec } = require('child-process-promise'); const fs = require('fs-extra'); const upath = require('upath'); const { getChildProcessEnv } = require('../../util/env'); +const { logger } = require('../../logger'); const { getPkgReleases } = require('../../datasource/docker'); const { diff --git a/lib/manager/bundler/extract.js b/lib/manager/bundler/extract.js index 2605811c6d1f3e21f30782ef450ba9be2bc5eb4c..9346a3c13ea92ecb193b4502243f30b8dde42157 100644 --- a/lib/manager/bundler/extract.js +++ b/lib/manager/bundler/extract.js @@ -1,3 +1,4 @@ +const { logger } = require('../../logger'); const { isValid } = require('../../versioning/ruby'); module.exports = { diff --git a/lib/manager/bundler/update.js b/lib/manager/bundler/update.js index 83a5f292fbe0a1a1fa05c693285c388157c1ca48..2cc14d7864266ccc3627e51bd9000d9eba467291 100644 --- a/lib/manager/bundler/update.js +++ b/lib/manager/bundler/update.js @@ -1,3 +1,5 @@ +const { logger } = require('../../logger'); + module.exports = { updateDependency, }; diff --git a/lib/manager/cargo/artifacts.js b/lib/manager/cargo/artifacts.js index a05817fd961cbcd340df5f174e5bca9ab2a5ab47..66bc5ce4831b6172f6960a7fcf5feb87b8c88ead 100644 --- a/lib/manager/cargo/artifacts.js +++ b/lib/manager/cargo/artifacts.js @@ -3,6 +3,7 @@ const process = require('process'); const fs = require('fs-extra'); const { exec } = require('child-process-promise'); const { getChildProcessEnv } = require('../../util/env'); +const { logger } = require('../../logger'); module.exports = { updateArtifacts, diff --git a/lib/manager/cargo/extract.js b/lib/manager/cargo/extract.js index dbff79664bc01afd8852d40946a3b42b46d95bdd..e5af6d468a7b707b6ef00bf35c1e219c003fe25e 100644 --- a/lib/manager/cargo/extract.js +++ b/lib/manager/cargo/extract.js @@ -1,4 +1,5 @@ const toml = require('toml'); +const { logger } = require('../../logger'); const semver = require('../../versioning/cargo'); module.exports = { diff --git a/lib/manager/cargo/update.js b/lib/manager/cargo/update.js index 49dd09978856644f41dcd07938bcc399f0d18172..0aeaaf3bb7db7742ada92dce66fd6e4e1f1cba73 100644 --- a/lib/manager/cargo/update.js +++ b/lib/manager/cargo/update.js @@ -1,5 +1,6 @@ const _ = require('lodash'); const toml = require('toml'); +const { logger } = require('../../logger'); module.exports = { updateDependency, diff --git a/lib/manager/circleci/extract.js b/lib/manager/circleci/extract.js index c731c3d843a48960c45bd27ed588dac2813d181e..461a0fffcc9cb956a6470f449db344f37a25ddb6 100644 --- a/lib/manager/circleci/extract.js +++ b/lib/manager/circleci/extract.js @@ -1,3 +1,4 @@ +const { logger } = require('../../logger'); const { getDep } = require('../dockerfile/extract'); module.exports = { diff --git a/lib/manager/circleci/update.js b/lib/manager/circleci/update.js index 11a38d888c00cf6a1ec49f9cf06ca1ac28120a36..47c523f6297204538a566dde34bcd37c7c4a3fa3 100644 --- a/lib/manager/circleci/update.js +++ b/lib/manager/circleci/update.js @@ -1,3 +1,4 @@ +const { logger } = require('../../logger'); const { getNewFrom } = require('../dockerfile/update'); module.exports = { diff --git a/lib/manager/composer/artifacts.js b/lib/manager/composer/artifacts.js index 7d92fb4d629ea472bcdf90a233168e46be8014c0..9af10932809d2567889b205273e6289347779097 100644 --- a/lib/manager/composer/artifacts.js +++ b/lib/manager/composer/artifacts.js @@ -3,6 +3,7 @@ const URL = require('url'); const { exec } = require('child-process-promise'); const fs = require('fs-extra'); const upath = require('upath'); +const { logger } = require('../../logger'); const hostRules = require('../../util/host-rules'); const { getChildProcessEnv } = require('../../util/env'); diff --git a/lib/manager/composer/extract.js b/lib/manager/composer/extract.js index 50f39c545dea822cbe0b88fefbb22e032093213b..a650d18f037de3e541c9ac1ad2f5bfb75a6473a5 100644 --- a/lib/manager/composer/extract.js +++ b/lib/manager/composer/extract.js @@ -1,4 +1,5 @@ const is = require('@sindresorhus/is'); +const { logger } = require('../../logger'); const semverComposer = require('../../versioning/composer'); module.exports = { diff --git a/lib/manager/composer/range.js b/lib/manager/composer/range.js index a8e2d2e22ac50ca68fa1de72ccc6e6efe948ba43..0d935ecf98421139ee92d149701d6be2980bc594 100644 --- a/lib/manager/composer/range.js +++ b/lib/manager/composer/range.js @@ -1,3 +1,5 @@ +const { logger } = require('../../logger'); + module.exports = { getRangeStrategy, }; diff --git a/lib/manager/docker-compose/extract.js b/lib/manager/docker-compose/extract.js index f0422c5698b1fcdbc909b5e28647708334a49ee3..aceaef115c857a87ad9236986601b0b9ccc2b694 100644 --- a/lib/manager/docker-compose/extract.js +++ b/lib/manager/docker-compose/extract.js @@ -1,3 +1,4 @@ +const { logger } = require('../../logger'); const { getDep } = require('../dockerfile/extract'); module.exports = { diff --git a/lib/manager/docker-compose/update.js b/lib/manager/docker-compose/update.js index 8e8779633e484f60d224640fade716c58e96a316..0d1f76ac87a1ec3d9ef3ecae0d78d8e6401f3a5e 100644 --- a/lib/manager/docker-compose/update.js +++ b/lib/manager/docker-compose/update.js @@ -1,3 +1,4 @@ +const { logger } = require('../../logger'); const { getNewFrom } = require('../dockerfile/update'); module.exports = { diff --git a/lib/manager/dockerfile/extract.js b/lib/manager/dockerfile/extract.js index 4a7dba49f88b52c84d5af9c586354959bcfaf912..afd04dc1320de8783ef2d75f24f7664d664a57de 100644 --- a/lib/manager/dockerfile/extract.js +++ b/lib/manager/dockerfile/extract.js @@ -1,3 +1,5 @@ +const { logger } = require('../../logger'); + module.exports = { splitImageParts, getDep, diff --git a/lib/manager/dockerfile/update.js b/lib/manager/dockerfile/update.js index 23b8b19b13d1ad562a0bbb7b7c47d932491f6441..2b9a55036a46789cc4bec2694beffbfa59a95d18 100644 --- a/lib/manager/dockerfile/update.js +++ b/lib/manager/dockerfile/update.js @@ -1,3 +1,5 @@ +const { logger } = require('../../logger'); + module.exports = { getNewFrom, updateDependency, diff --git a/lib/manager/github-actions/extract.js b/lib/manager/github-actions/extract.js index f4f1f6bc4da447c14bcaa3c58d719da907f7ec1b..6e04847e0711a6584b3c827327a9e1ecd03fb410 100644 --- a/lib/manager/github-actions/extract.js +++ b/lib/manager/github-actions/extract.js @@ -1,3 +1,4 @@ +const { logger } = require('../../logger'); const { getDep } = require('../dockerfile/extract'); module.exports = { diff --git a/lib/manager/github-actions/update.js b/lib/manager/github-actions/update.js index 00dcb6b9ca85debb4fccc9885056fbbcee8b1c12..eab513410363ae87a53310abc0d6a7272a1abfd5 100644 --- a/lib/manager/github-actions/update.js +++ b/lib/manager/github-actions/update.js @@ -1,3 +1,4 @@ +const { logger } = require('../../logger'); const { getNewFrom } = require('../dockerfile/update'); module.exports = { diff --git a/lib/manager/gitlabci-include/update.js b/lib/manager/gitlabci-include/update.js index e8c4413eeca34bfceea60584babdbf8eb288fdfc..cce3b683ab0345d098fcbd58571ceac7f00016b5 100644 --- a/lib/manager/gitlabci-include/update.js +++ b/lib/manager/gitlabci-include/update.js @@ -1,4 +1,5 @@ const YAWN = require('yawn-yaml/cjs'); +const { logger } = require('../../logger'); module.exports = { updateDependency, diff --git a/lib/manager/gitlabci/extract.js b/lib/manager/gitlabci/extract.js index 97c06a1b78a8c9a1763e7c74336a1be8e665430b..66dbe232216293b5b95de6383ef198e55fc1e58c 100644 --- a/lib/manager/gitlabci/extract.js +++ b/lib/manager/gitlabci/extract.js @@ -1,3 +1,4 @@ +const { logger } = require('../../logger'); const { getDep } = require('../dockerfile/extract'); module.exports = { diff --git a/lib/manager/gitlabci/update.js b/lib/manager/gitlabci/update.js index 828dc08a671d10d41b8da1d6535319d1a325baec..734ac96838d70e4c8ec5cc2266582a9e1f31e4b4 100644 --- a/lib/manager/gitlabci/update.js +++ b/lib/manager/gitlabci/update.js @@ -1,3 +1,4 @@ +const { logger } = require('../../logger'); const { getNewFrom } = require('../dockerfile/update'); module.exports = { diff --git a/lib/manager/gomod/artifacts.js b/lib/manager/gomod/artifacts.js index 620dc7bc3a68e8208528523911e6f819e3ab6d65..cdae934c3eff99c6516aa1d52d1fdf6c051943b8 100644 --- a/lib/manager/gomod/artifacts.js +++ b/lib/manager/gomod/artifacts.js @@ -3,6 +3,7 @@ const fs = require('fs-extra'); const upath = require('upath'); const hostRules = require('../../util/host-rules'); const { getChildProcessEnv } = require('../../util/env'); +const { logger } = require('../../logger'); module.exports = { updateArtifacts, diff --git a/lib/manager/gomod/extract.js b/lib/manager/gomod/extract.js index f0b5a775b621faff71773c633524f13ed7ece913..c8cd5b1e35b0cba462a5760e99a9f35679d1c3e1 100644 --- a/lib/manager/gomod/extract.js +++ b/lib/manager/gomod/extract.js @@ -1,3 +1,4 @@ +const { logger } = require('../../logger'); const { isVersion } = require('../../versioning/semver'); module.exports = { diff --git a/lib/manager/gomod/update.js b/lib/manager/gomod/update.js index 24b73fe50b3b22c4d68c48d83217040c8ebd426b..e6b0ca52301436f08dcb2276907e36ed9ca6aa92 100644 --- a/lib/manager/gomod/update.js +++ b/lib/manager/gomod/update.js @@ -1,4 +1,5 @@ const { DateTime } = require('luxon'); +const { logger } = require('../../logger'); module.exports = { updateDependency, diff --git a/lib/manager/gradle-wrapper/extract.js b/lib/manager/gradle-wrapper/extract.js index 3136142a8a45b36168fb5f86491ff3b35fbcd130..fb068307a07856667a5b816b13038e04e616c7be 100644 --- a/lib/manager/gradle-wrapper/extract.js +++ b/lib/manager/gradle-wrapper/extract.js @@ -1,4 +1,5 @@ const { coerce } = require('semver'); +const { logger } = require('../../logger'); module.exports = { extractPackageFile, diff --git a/lib/manager/gradle-wrapper/update.js b/lib/manager/gradle-wrapper/update.js index 171e604cb3597cdca79e9a53d863714e8c7804bb..73427a22baf58d7ff5731b582ab0c1ea8e01bd6d 100644 --- a/lib/manager/gradle-wrapper/update.js +++ b/lib/manager/gradle-wrapper/update.js @@ -1,4 +1,5 @@ const got = require('../../util/got'); +const { logger } = require('../../logger'); module.exports = { updateDependency, diff --git a/lib/manager/gradle/gradle-updates-report.js b/lib/manager/gradle/gradle-updates-report.js index 447eab196b0f5e02276f064c9955f457b2447008..674db29ab89c4b1499e7578dbeac80d161846654 100644 --- a/lib/manager/gradle/gradle-updates-report.js +++ b/lib/manager/gradle/gradle-updates-report.js @@ -1,5 +1,6 @@ const path = require('path'); const fs = require('fs-extra'); +const { logger } = require('../../logger'); const GRADLE_DEPENDENCY_REPORT_FILENAME = 'gradle-renovate-report.json'; diff --git a/lib/manager/gradle/index.js b/lib/manager/gradle/index.js index f1edaa0532b7728c2ac61c74d66a49f4e530632b..bfc1f8c43e94a27bd3b74b5774dc9cec1ca0ac87 100644 --- a/lib/manager/gradle/index.js +++ b/lib/manager/gradle/index.js @@ -1,5 +1,6 @@ const { exec } = require('child-process-promise'); const fs = require('fs-extra'); +const { logger } = require('../../logger'); const gradle = require('./build-gradle'); const updatesReport = require('./gradle-updates-report'); diff --git a/lib/manager/homebrew/extract.js b/lib/manager/homebrew/extract.js index acd417bcd1126f51b62ab060882ee8ca682ea5bc..8f14dc12d00c4e7201d066884eda1ae69eb60b77 100644 --- a/lib/manager/homebrew/extract.js +++ b/lib/manager/homebrew/extract.js @@ -1,6 +1,8 @@ const semver = require('../../versioning/semver'); const { skip, isSpace, removeComments } = require('./util'); +const { logger } = require('../../logger'); + module.exports = { extractPackageFile, parseUrlPath, diff --git a/lib/manager/homebrew/update.js b/lib/manager/homebrew/update.js index 1ce7ed43bcfc27d937a8a3115f09d827ca9ad0f2..89b8679674e0cfac0b9bd62ec6d948924a892b9a 100644 --- a/lib/manager/homebrew/update.js +++ b/lib/manager/homebrew/update.js @@ -3,6 +3,7 @@ const { coerce } = require('semver'); const { parseUrlPath } = require('./extract'); const { skip, isSpace, removeComments } = require('./util'); const got = require('../../util/got'); +const { logger } = require('../../logger'); module.exports = { updateDependency, diff --git a/lib/manager/kubernetes/extract.js b/lib/manager/kubernetes/extract.js index 0bcf24aebabbe6db86d96265aa79db121536ac82..36391926d980a7b0b0e2f8cbc641dbc172413fda 100644 --- a/lib/manager/kubernetes/extract.js +++ b/lib/manager/kubernetes/extract.js @@ -1,3 +1,4 @@ +const { logger } = require('../../logger'); const { getDep } = require('../dockerfile/extract'); module.exports = { diff --git a/lib/manager/kubernetes/update.js b/lib/manager/kubernetes/update.js index dc763631a7704298c64f39eae549627c2cb3a704..e932d380c4cf11be3644a65099c742c844d9f126 100644 --- a/lib/manager/kubernetes/update.js +++ b/lib/manager/kubernetes/update.js @@ -1,3 +1,4 @@ +const { logger } = require('../../logger'); const { getNewFrom } = require('../dockerfile/update'); module.exports = { diff --git a/lib/manager/maven/extract.js b/lib/manager/maven/extract.js index ce99fff75bc2e11d94f6580959bbb7bfe0fe71b6..9d10255eab9c31dc4248861984989a40d2567035 100644 --- a/lib/manager/maven/extract.js +++ b/lib/manager/maven/extract.js @@ -1,6 +1,7 @@ const path = require('path'); const { XmlDocument } = require('xmldoc'); const { isValid } = require('../../versioning/maven'); +const { logger } = require('../../logger'); const DEFAULT_MAVEN_REPO = 'https://repo.maven.apache.org/maven2'; diff --git a/lib/manager/meteor/extract.js b/lib/manager/meteor/extract.js index 0769c8ed007572c908dd3ad547e7e1ae543f8110..e85030876b054ed9e7c2c4fad077d023aff7a369 100644 --- a/lib/manager/meteor/extract.js +++ b/lib/manager/meteor/extract.js @@ -1,3 +1,5 @@ +const { logger } = require('../../logger'); + module.exports = { extractPackageFile, }; diff --git a/lib/manager/meteor/update.js b/lib/manager/meteor/update.js index 16074f08f3e4d16aa7b0e188d373902d1cdc399d..c23d67eb3111d8ab6d48791940c44cab976cb16a 100644 --- a/lib/manager/meteor/update.js +++ b/lib/manager/meteor/update.js @@ -1,3 +1,5 @@ +const { logger } = require('../../logger'); + module.exports = { updateDependency, }; diff --git a/lib/manager/npm/extract/index.js b/lib/manager/npm/extract/index.js index f5c3abe71142de25d8c54ce0ac4ddeeeee9f8754..abbcb449a1245d8767e6cd7079ff50b4ce8d88fb 100644 --- a/lib/manager/npm/extract/index.js +++ b/lib/manager/npm/extract/index.js @@ -2,6 +2,7 @@ const fs = require('fs-extra'); const path = require('path'); const upath = require('upath'); const validateNpmPackageName = require('validate-npm-package-name'); +const { logger } = require('../../../logger'); const { getLockedVersions } = require('./locked-versions'); const { detectMonorepos } = require('./monorepo'); diff --git a/lib/manager/npm/extract/locked-versions.js b/lib/manager/npm/extract/locked-versions.js index 934f14fdc659a6a292b0fe50f0b3b88a079432a6..ad2a8a4c6f7c1a40e45b975c25fe931ca17cef9e 100644 --- a/lib/manager/npm/extract/locked-versions.js +++ b/lib/manager/npm/extract/locked-versions.js @@ -1,4 +1,5 @@ const { valid } = require('semver'); +const { logger } = require('../../../logger'); const { getNpmLock } = require('./npm'); const { getYarnLock } = require('./yarn'); diff --git a/lib/manager/npm/extract/monorepo.js b/lib/manager/npm/extract/monorepo.js index a978511973ce4b6ba30311c81020590fff9b042c..1f9cdbf112bd01686236e4631fb65001b05e5771 100644 --- a/lib/manager/npm/extract/monorepo.js +++ b/lib/manager/npm/extract/monorepo.js @@ -2,6 +2,7 @@ const is = require('@sindresorhus/is'); const minimatch = require('minimatch'); const path = require('path'); const upath = require('upath'); +const { logger } = require('../../../logger'); module.exports = { detectMonorepos, diff --git a/lib/manager/npm/extract/npm.js b/lib/manager/npm/extract/npm.js index 045a8f5c3b7dd42041df0be0c2f23ecae63e0355..447683d2a8a159ced08930515a15f12e328d7a7b 100644 --- a/lib/manager/npm/extract/npm.js +++ b/lib/manager/npm/extract/npm.js @@ -1,3 +1,5 @@ +const { logger } = require('../../../logger'); + module.exports = { getNpmLock, }; diff --git a/lib/manager/npm/extract/yarn.js b/lib/manager/npm/extract/yarn.js index e5ae91eb51fe900094a94eaee86e2aefdd968c62..b3dceef1f4f6718bcac1cf0d3a736aa37305dd0f 100644 --- a/lib/manager/npm/extract/yarn.js +++ b/lib/manager/npm/extract/yarn.js @@ -1,4 +1,5 @@ const yarnLockParser = require('@yarnpkg/lockfile'); +const { logger } = require('../../../logger'); module.exports = { getYarnLock, diff --git a/lib/manager/npm/post-update/index.js b/lib/manager/npm/post-update/index.js index 32ef316b82d56428af5556ac8f768b6c13e21890..97a62370af5f0a7c1b1d5c16efdb37cd724ada50 100644 --- a/lib/manager/npm/post-update/index.js +++ b/lib/manager/npm/post-update/index.js @@ -2,7 +2,7 @@ const fs = require('fs-extra'); const path = require('path'); const upath = require('upath'); const is = require('@sindresorhus/is'); - +const { logger } = require('../../../logger'); const npm = require('./npm'); const lerna = require('./lerna'); const yarn = require('./yarn'); diff --git a/lib/manager/npm/post-update/lerna.js b/lib/manager/npm/post-update/lerna.js index 319f670c8434a2e4b42b3231190c802283564128..6794a2a70329865a2a1faa4afc267cf5016b91b8 100644 --- a/lib/manager/npm/post-update/lerna.js +++ b/lib/manager/npm/post-update/lerna.js @@ -1,4 +1,5 @@ const { exec } = require('child-process-promise'); +const { logger } = require('../../../logger'); module.exports = { generateLockFiles, diff --git a/lib/manager/npm/post-update/npm.js b/lib/manager/npm/post-update/npm.js index 500dbf34afd86663e0e8f06e917c66593fdb7621..c92a99e2e28625e7cdd2205123afa4e65d9d6fe3 100644 --- a/lib/manager/npm/post-update/npm.js +++ b/lib/manager/npm/post-update/npm.js @@ -2,6 +2,7 @@ const fs = require('fs-extra'); const upath = require('upath'); const { getInstalledPath } = require('get-installed-path'); const { exec } = require('child-process-promise'); +const { logger } = require('../../../logger'); module.exports = { generateLockFile, diff --git a/lib/manager/npm/post-update/pnpm.js b/lib/manager/npm/post-update/pnpm.js index 883c36c427b08cbef656d188649773843704ba80..e5815ceba1d9cb9eac1bbdcacfbaacd021ad9cf1 100644 --- a/lib/manager/npm/post-update/pnpm.js +++ b/lib/manager/npm/post-update/pnpm.js @@ -2,6 +2,7 @@ const fs = require('fs-extra'); const upath = require('upath'); const { getInstalledPath } = require('get-installed-path'); const { exec } = require('child-process-promise'); +const { logger } = require('../../../logger'); module.exports = { generateLockFile, diff --git a/lib/manager/npm/post-update/yarn.js b/lib/manager/npm/post-update/yarn.js index 6979ea9601b07a59533438ddf963666c64ce76c6..2c58a1711c71cc45e933ffa8444bb09d83586079 100644 --- a/lib/manager/npm/post-update/yarn.js +++ b/lib/manager/npm/post-update/yarn.js @@ -2,6 +2,7 @@ const fs = require('fs-extra'); const upath = require('upath'); const { getInstalledPath } = require('get-installed-path'); const { exec } = require('child-process-promise'); +const { logger } = require('../../../logger'); module.exports = { generateLockFile, diff --git a/lib/manager/npm/range.js b/lib/manager/npm/range.js index b71e73f1c1abb028392e05de32dc608b6994c169..89083aa749434cd78f4a70e9309e6ee5aff28b7f 100644 --- a/lib/manager/npm/range.js +++ b/lib/manager/npm/range.js @@ -1,4 +1,5 @@ const { parseRange } = require('semver-utils'); +const { logger } = require('../../logger'); module.exports = { getRangeStrategy, diff --git a/lib/manager/npm/update.js b/lib/manager/npm/update.js index bf81a6914bb1d356e0c62d00721b668ce06e53c6..8db1ea4f4f8d381501c04de052cadc13f063d459 100644 --- a/lib/manager/npm/update.js +++ b/lib/manager/npm/update.js @@ -1,5 +1,6 @@ const _ = require('lodash'); const semver = require('semver'); +const { logger } = require('../../logger'); module.exports = { updateDependency, diff --git a/lib/manager/nuget/extract.js b/lib/manager/nuget/extract.js index 47304f072d955f86daf32c6fa252622462459af4..0f7010bc38cfad79b8231a26f23b6f5d83b5958c 100644 --- a/lib/manager/nuget/extract.js +++ b/lib/manager/nuget/extract.js @@ -1,3 +1,4 @@ +const { logger } = require('../../logger'); const versioning = require('../../versioning'); module.exports = { diff --git a/lib/manager/nuget/update.js b/lib/manager/nuget/update.js index 7def06d743d83f9f0d86c0cf5f0a192bf0238e07..e0dc2edbc0150ea793196d346da6514964c92ea7 100644 --- a/lib/manager/nuget/update.js +++ b/lib/manager/nuget/update.js @@ -1,3 +1,5 @@ +const { logger } = require('../../logger'); + module.exports = { updateDependency, }; diff --git a/lib/manager/nvm/update.js b/lib/manager/nvm/update.js index a9ecea5fe021d7ebe855f2d564ef4152c3dabd93..5de15329f5d2bb1e82b0ff3c70f05a6ca5b396c1 100644 --- a/lib/manager/nvm/update.js +++ b/lib/manager/nvm/update.js @@ -1,3 +1,5 @@ +const { logger } = require('../../logger'); + module.exports = { updateDependency, }; diff --git a/lib/manager/pip_requirements/extract.js b/lib/manager/pip_requirements/extract.js index 99c1274fafe9e405c9a1d7edd1217ee3b8d9f2cf..77e480013a0818fd09f784bd7510e405a19bc805 100644 --- a/lib/manager/pip_requirements/extract.js +++ b/lib/manager/pip_requirements/extract.js @@ -3,6 +3,7 @@ const packagePattern = '[a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9._-]*[a-zA-Z0-9]'; const extrasPattern = '(?:\\s*\\[[^\\]]+\\])?'; const rangePattern = require('@renovate/pep440/lib/specifier').RANGE_PATTERN; +const { logger } = require('../../logger'); const { isSkipComment } = require('../../util/ignore'); const specifierPartPattern = `\\s*${rangePattern.replace(/\?<\w+>/g, '?:')}`; diff --git a/lib/manager/pip_requirements/update.js b/lib/manager/pip_requirements/update.js index 7abccae162cb3943d8c815ff6c6ae2228c59d123..0c8783352f7da2df8f3ced1aa7c35ebebc97e134 100644 --- a/lib/manager/pip_requirements/update.js +++ b/lib/manager/pip_requirements/update.js @@ -1,3 +1,4 @@ +const { logger } = require('../../logger'); const { dependencyPattern } = require('./extract'); module.exports = { diff --git a/lib/manager/pip_setup/extract.js b/lib/manager/pip_setup/extract.js index 29c6d472f7e1f4694e0ee69dfdacf43007a38a8f..b085288e6ca88e8c74003e355813eebc0c5cd877 100644 --- a/lib/manager/pip_setup/extract.js +++ b/lib/manager/pip_setup/extract.js @@ -1,5 +1,6 @@ const { exec } = require('child-process-promise'); const { join } = require('upath'); +const { logger } = require('../../logger'); const { isSkipComment } = require('../../util/ignore'); const { dependencyPattern } = require('../pip_requirements/extract'); diff --git a/lib/manager/pipenv/artifacts.js b/lib/manager/pipenv/artifacts.js index b595cf5ee4e0cd86df649a4ea8a3708ed1f43fab..e4dd140f21a7f003969c158081e0f5d52df3fd94 100644 --- a/lib/manager/pipenv/artifacts.js +++ b/lib/manager/pipenv/artifacts.js @@ -2,6 +2,7 @@ const { exec } = require('child-process-promise'); const fs = require('fs-extra'); const upath = require('upath'); const { getChildProcessEnv } = require('../../util/env'); +const { logger } = require('../../logger'); module.exports = { updateArtifacts, diff --git a/lib/manager/pipenv/extract.js b/lib/manager/pipenv/extract.js index a4ce2a6121cc3c95c291995ea757f38a74e8dee0..4c81528f153758a60fa2b295073ab0d802698333 100644 --- a/lib/manager/pipenv/extract.js +++ b/lib/manager/pipenv/extract.js @@ -4,6 +4,7 @@ const is = require('@sindresorhus/is'); // based on https://www.python.org/dev/peps/pep-0508/#names const packageRegex = /^([A-Z0-9]|[A-Z0-9][A-Z0-9._-]*[A-Z0-9])$/i; const rangePattern = require('@renovate/pep440/lib/specifier').RANGE_PATTERN; +const { logger } = require('../../logger'); const specifierPartPattern = `\\s*${rangePattern.replace( /\?<\w+>/g, diff --git a/lib/manager/pipenv/update.js b/lib/manager/pipenv/update.js index 995d71e33357551bdb826761a1bad7a145f3de1f..8d5829ea017b7552b37e60d6ea7c5b79d893944f 100644 --- a/lib/manager/pipenv/update.js +++ b/lib/manager/pipenv/update.js @@ -1,5 +1,6 @@ const _ = require('lodash'); const toml = require('toml'); +const { logger } = require('../../logger'); module.exports = { updateDependency, diff --git a/lib/manager/poetry/artifacts.js b/lib/manager/poetry/artifacts.js index b2999a16335820f44ca58db566d1ac3f6973e925..47c9c5198d3d8f24e3e6c50b4c9cbf6ff33931c2 100644 --- a/lib/manager/poetry/artifacts.js +++ b/lib/manager/poetry/artifacts.js @@ -4,6 +4,8 @@ const fs = require('fs-extra'); const { exec } = require('child-process-promise'); const { getChildProcessEnv } = require('../../util/env'); +const { logger } = require('../../logger'); + module.exports = { updateArtifacts, }; diff --git a/lib/manager/poetry/extract.js b/lib/manager/poetry/extract.js index 85153ceb2e3fbf29502515287ca66c46ef3bcb74..3835e71875f285edc969bd449953d05e46814ddf 100644 --- a/lib/manager/poetry/extract.js +++ b/lib/manager/poetry/extract.js @@ -1,5 +1,6 @@ const toml = require('toml'); const semver = require('../../versioning/poetry'); +const { logger } = require('../../logger'); module.exports = { extractPackageFile, diff --git a/lib/manager/poetry/update.js b/lib/manager/poetry/update.js index 1536899a858431f82a5bffc2b563d0386411092b..0c8b0e6d0f98c850482d80256cc10d4760ab39f9 100644 --- a/lib/manager/poetry/update.js +++ b/lib/manager/poetry/update.js @@ -1,6 +1,8 @@ const _ = require('lodash'); const toml = require('toml'); +const { logger } = require('../../logger'); + module.exports = { updateDependency, }; diff --git a/lib/manager/pub/extract.js b/lib/manager/pub/extract.js index 8a5e1e335ce63d1a95dce477f946c73d18f48019..5dcac29ade29878a752b01b7e54361ae09f666a2 100644 --- a/lib/manager/pub/extract.js +++ b/lib/manager/pub/extract.js @@ -1,5 +1,6 @@ const yaml = require('js-yaml'); const npm = require('../../versioning/npm/index'); +const { logger } = require('../../logger'); module.exports = { extractPackageFile, diff --git a/lib/manager/ruby-version/extract.js b/lib/manager/ruby-version/extract.js index 72f9c5a7ba591268e01e16ea3595075b7d280c28..f999ecbc598e56014b7623f9ac53ca7aafbf0289 100644 --- a/lib/manager/ruby-version/extract.js +++ b/lib/manager/ruby-version/extract.js @@ -1,4 +1,5 @@ const ruby = require('../../versioning/ruby'); +const { logger } = require('../../logger'); module.exports = { extractPackageFile, diff --git a/lib/manager/ruby-version/update.js b/lib/manager/ruby-version/update.js index 0398939e25b9a4e9ed2b6e516f19fd36452b0efa..d751a8ba347040746a18eb784199dcd204cd44d0 100644 --- a/lib/manager/ruby-version/update.js +++ b/lib/manager/ruby-version/update.js @@ -1,3 +1,5 @@ +const { logger } = require('../../logger'); + module.exports = { updateDependency, }; diff --git a/lib/manager/terraform/extract.js b/lib/manager/terraform/extract.js index f63c185dcf485bdee6aef8107af7921ed37d5c17..b7969ed0a27f86bb157bec7a515a3924387fd5e4 100644 --- a/lib/manager/terraform/extract.js +++ b/lib/manager/terraform/extract.js @@ -1,3 +1,4 @@ +const { logger } = require('../../logger'); const { isValid, isVersion } = require('../../versioning/hashicorp'); module.exports = { diff --git a/lib/manager/terraform/update.js b/lib/manager/terraform/update.js index a6a830251f652c5c041ffa0f4f94004cd0b00ec4..c96cd04c4654c8e2c1ff16d18b44657521aa1f96 100644 --- a/lib/manager/terraform/update.js +++ b/lib/manager/terraform/update.js @@ -1,3 +1,5 @@ +const { logger } = require('../../logger'); + module.exports = { updateDependency, }; diff --git a/lib/manager/travis/package.js b/lib/manager/travis/package.js index 541266b562859b403c2407c5a616f33f4bc70033..78c00e7caedef8c71d73231e18c17e660deea7c4 100644 --- a/lib/manager/travis/package.js +++ b/lib/manager/travis/package.js @@ -2,6 +2,7 @@ const is = require('@sindresorhus/is'); const { isEqual } = require('lodash'); const { getPkgReleases } = require('../../datasource'); const { isVersion, maxSatisfyingVersion } = require('../../versioning/semver'); +const { logger } = require('../../logger'); const nodeJsSchedule = require('../../../data/node-js-schedule.json'); module.exports = { diff --git a/lib/manager/travis/update.js b/lib/manager/travis/update.js index ef86cd780484fd285b1598cdcba529af097d610d..f3c94aca9ccd70d7f57f3913417c250b0beb13e2 100644 --- a/lib/manager/travis/update.js +++ b/lib/manager/travis/update.js @@ -1,5 +1,6 @@ const detectIndent = require('detect-indent'); const is = require('@sindresorhus/is'); +const { logger } = require('../../logger'); module.exports = { updateDependency, diff --git a/lib/platform/azure/azure-helper.ts b/lib/platform/azure/azure-helper.ts index 7f65c90b591e96b701115da12d514d34ed3e7f62..4e019b845b5d0935f112864fbfbd650b6e754515 100644 --- a/lib/platform/azure/azure-helper.ts +++ b/lib/platform/azure/azure-helper.ts @@ -1,4 +1,5 @@ import * as azureApi from './azure-got-wrapper'; +import { logger } from '../../logger'; /** * diff --git a/lib/platform/azure/index.ts b/lib/platform/azure/index.ts index 135ba3254678cfbba5a0e46d04d92459ac5af4b8..2ec2d577b399edb59c77238a12c9f9d46253629b 100644 --- a/lib/platform/azure/index.ts +++ b/lib/platform/azure/index.ts @@ -3,6 +3,7 @@ import * as azureApi from './azure-got-wrapper'; import * as hostRules from '../../util/host-rules'; import { appSlug } from '../../config/app-strings'; import GitStorage from '../git/storage'; +import { logger } from '../../logger'; interface RepoConfig { storage: GitStorage; diff --git a/lib/platform/bitbucket-server/index.ts b/lib/platform/bitbucket-server/index.ts index 650e14b4808dd53c5e2908d4dccbb1e47109645e..85bf5a975ede0234b0c9b2544d362da7e435c176 100644 --- a/lib/platform/bitbucket-server/index.ts +++ b/lib/platform/bitbucket-server/index.ts @@ -5,6 +5,7 @@ import { api } from './bb-got-wrapper'; import * as utils from './utils'; import * as hostRules from '../../util/host-rules'; import GitStorage from '../git/storage'; +import { logger } from '../../logger'; interface BbsConfig { baseBranch: string; diff --git a/lib/platform/bitbucket/index.ts b/lib/platform/bitbucket/index.ts index f4bca52cac608101630fd1acbb41444a1bc3aa34..4f3a8f818929b6fb7c75442116fbe4fa6a68c7a0 100644 --- a/lib/platform/bitbucket/index.ts +++ b/lib/platform/bitbucket/index.ts @@ -2,6 +2,7 @@ import parseDiff from 'parse-diff'; import { api } from './bb-got-wrapper'; import * as utils from './utils'; import * as hostRules from '../../util/host-rules'; +import { logger } from '../../logger'; import GitStorage from '../git/storage'; import { readOnlyIssueBody } from '../utils/read-only-issue-body'; import { appSlug } from '../../config/app-strings'; diff --git a/lib/platform/git/storage.ts b/lib/platform/git/storage.ts index cd53c9d9abb35027af6fd880039843c06fde8a02..96bafa256d9bd63e77f4b729bb8780900ce1b389 100644 --- a/lib/platform/git/storage.ts +++ b/lib/platform/git/storage.ts @@ -3,6 +3,7 @@ import fs from 'fs-extra'; import { join } from 'path'; import Git from 'simple-git/promise'; import URL from 'url'; +import { logger } from '../../logger'; declare module 'fs-extra' { // eslint-disable-next-line import/prefer-default-export diff --git a/lib/platform/github/gh-got-wrapper.ts b/lib/platform/github/gh-got-wrapper.ts index 8b8662a925e098472c035881c7fe3677624ea87b..c13adbe49be7ffbec50ba34f7a7fd5bb35d0c798 100644 --- a/lib/platform/github/gh-got-wrapper.ts +++ b/lib/platform/github/gh-got-wrapper.ts @@ -5,6 +5,7 @@ import pAll from 'p-all'; import got from '../../util/got'; import { maskToken } from '../../util/mask'; import { GotApi } from '../common'; +import { logger } from '../../logger'; const hostType = 'github'; let baseUrl = 'https://api.github.com/'; diff --git a/lib/platform/github/index.ts b/lib/platform/github/index.ts index c90bdde9f9fdad4571866fc91688d383acd2b147..fe56b4e271011c6d1e82a4c47e1816376bbe61cf 100644 --- a/lib/platform/github/index.ts +++ b/lib/platform/github/index.ts @@ -3,6 +3,7 @@ import delay from 'delay'; import semver from 'semver'; import URL from 'url'; +import { logger } from '../../logger'; import { api } from './gh-got-wrapper'; import * as hostRules from '../../util/host-rules'; import GitStorage from '../git/storage'; diff --git a/lib/platform/gitlab/gl-got-wrapper.ts b/lib/platform/gitlab/gl-got-wrapper.ts index d256961f12dde5f2281a8d3d141c9863fdcbb1e2..7303026650266de3b36db69d3003ee850759a216 100644 --- a/lib/platform/gitlab/gl-got-wrapper.ts +++ b/lib/platform/gitlab/gl-got-wrapper.ts @@ -2,6 +2,7 @@ import parseLinkHeader from 'parse-link-header'; import { GotApi } from '../common'; import got from '../../util/got'; +import { logger } from '../../logger'; const hostType = 'gitlab'; let baseUrl = 'https://gitlab.com/api/v4/'; diff --git a/lib/platform/gitlab/index.ts b/lib/platform/gitlab/index.ts index 4dd429a43e8f75fe6adc85c4ab0f54ccb6803111..12dd166cc4fc9868aa41a6ba4790479b6d6a36e9 100644 --- a/lib/platform/gitlab/index.ts +++ b/lib/platform/gitlab/index.ts @@ -6,6 +6,7 @@ import * as hostRules from '../../util/host-rules'; import GitStorage from '../git/storage'; import { PlatformConfig } from '../common'; import { configFileNames } from '../../config/app-strings'; +import { logger } from '../../logger'; const defaultConfigFile = configFileNames[0]; let config: { diff --git a/lib/platform/index.ts b/lib/platform/index.ts index 2edaeaa9e13452eeab2a059348fed85da4734edd..485b6554be7b39391d69bf2032a1aabc339aa17a 100644 --- a/lib/platform/index.ts +++ b/lib/platform/index.ts @@ -1,6 +1,7 @@ import URL from 'url'; import addrs from 'email-addresses'; import * as hostRules from '../util/host-rules'; +import { logger } from '../logger'; // TODO: move to definitions: platform.allowedValues /* eslint-disable global-require */ diff --git a/lib/types.d.ts b/lib/types.d.ts index f36ce43cf5cc97d47da875fa2dbab7a4c73e012b..3ce19ad72db1945d62e5fedd04555ba047830f66 100644 --- a/lib/types.d.ts +++ b/lib/types.d.ts @@ -1,20 +1,4 @@ -declare namespace Renovate { - // TODO: refactor logger - interface Logger { - trace(...args: any[]): void; - debug(...args: any[]): void; - info(...args: any[]): void; - warn(...args: any[]): void; - error(...args: any[]): void; - fatal(...args: any[]): void; - child(...args: any[]): void; - - setMeta(obj: any): void; - } -} - -// eslint-disable-next-line no-var, vars-on-top -declare var logger: Renovate.Logger; +declare namespace Renovate {} declare interface Error { validationError?: string; @@ -25,8 +9,7 @@ declare namespace NodeJS { interface Global { appMode?: boolean; gitAuthor?: { name: string; email: string }; - logger: Renovate.Logger; - + renovateError?: boolean; renovateVersion: string; // TODO: declare interface for all platforms platform: typeof import('./platform/github'); diff --git a/lib/util/got/auth.js b/lib/util/got/auth.js index ad2b833a3e23c498769efa5ef298b6c55be37583..77311e45cc748abd7f7d24bc89872b6b5115e918 100644 --- a/lib/util/got/auth.js +++ b/lib/util/got/auth.js @@ -1,4 +1,5 @@ const got = require('got'); +const { logger } = require('../../logger'); // istanbul ignore next module.exports = got.create({ diff --git a/lib/util/got/host-rules.js b/lib/util/got/host-rules.js index e52382c97d2de632c6498f7f6fc2e8e7f3ee4e89..bed682ab0a69a5b629e5d024fea497f69c065c08 100644 --- a/lib/util/got/host-rules.js +++ b/lib/util/got/host-rules.js @@ -1,5 +1,6 @@ /* eslint-disable no-param-reassign */ const got = require('got'); +const { logger } = require('../../logger'); const hostRules = require('../host-rules'); // Apply host rules to requests diff --git a/lib/util/got/stats.js b/lib/util/got/stats.js index c64b73b7cd69e895c5e1da20b9c7754e8c6a0f46..cf723302d713690badb6312554d13d296fa87425 100644 --- a/lib/util/got/stats.js +++ b/lib/util/got/stats.js @@ -1,4 +1,5 @@ const got = require('got'); +const { logger } = require('../../logger'); let stats = {}; diff --git a/lib/util/host-rules.ts b/lib/util/host-rules.ts index e9352c2dc0b586d97965b89599928d9da8b99003..5299e163a36a8e72517663fde585377af9bb6f63 100644 --- a/lib/util/host-rules.ts +++ b/lib/util/host-rules.ts @@ -1,5 +1,6 @@ import URL from 'url'; import merge from 'deepmerge'; +import { logger } from '../logger'; export interface HostRule { hostType?: string; diff --git a/lib/util/ignore.js b/lib/util/ignore.js index dfb2b60a8abadff412cab932166d989569416258..5c7fb557bfe71de033d3e2e89c2aa563964ca091 100644 --- a/lib/util/ignore.js +++ b/lib/util/ignore.js @@ -1,3 +1,5 @@ +const { logger } = require('../logger'); + module.exports = { isSkipComment, }; diff --git a/lib/util/package-rules.js b/lib/util/package-rules.js index 56109ccf03d874eb2c112dfcfc9315c429e77524..ea8341cef9ecc70e421cb5ad310ad5178d1b5719 100644 --- a/lib/util/package-rules.js +++ b/lib/util/package-rules.js @@ -1,5 +1,6 @@ const minimatch = require('minimatch'); +const { logger } = require('../logger'); const versioning = require('../versioning'); const { mergeChildConfig } = require('../config'); diff --git a/lib/versioning/composer/index.js b/lib/versioning/composer/index.js index 29d35e616149ef0d9c84ac24a1cca027c0cfd043..2e3c00991777c7e00a4aa4578754c45a8fe26296 100644 --- a/lib/versioning/composer/index.js +++ b/lib/versioning/composer/index.js @@ -1,4 +1,5 @@ const { coerce } = require('semver'); +const { logger } = require('../../logger'); const npm = require('../npm'); function padZeroes(input) { diff --git a/lib/versioning/index.js b/lib/versioning/index.js index 2d5ca56a299dbb4cbd3900e2a97957a5778a0cab..55ff6ff4a87e992f0ad95b6a35d23a8689675fac 100644 --- a/lib/versioning/index.js +++ b/lib/versioning/index.js @@ -1,3 +1,4 @@ +const { logger } = require('../logger'); const supportedSchemes = require('../config/definitions') .getOptions() .find(option => option.name === 'versionScheme').allowedValues; diff --git a/lib/versioning/npm/range.js b/lib/versioning/npm/range.js index c2a03dc8022214f0a6f851b3972c7ccf94cdc984..adfd7591c3ca059169ee03ef1e8ba67cad8399b4 100644 --- a/lib/versioning/npm/range.js +++ b/lib/versioning/npm/range.js @@ -8,6 +8,7 @@ const { valid: isVersion, } = require('semver'); const { parseRange } = require('semver-utils'); +const { logger } = require('../../logger'); module.exports = { getNewValue, diff --git a/lib/versioning/pep440/range.js b/lib/versioning/pep440/range.js index 063b705b69c86bc39c314b378e5224adef282e64..6d78fe39209d7bd601e044dbec3944ce78827865 100644 --- a/lib/versioning/pep440/range.js +++ b/lib/versioning/pep440/range.js @@ -2,6 +2,7 @@ const { gte, lte, satisfies } = require('@renovate/pep440'); const { parse: parseVersion } = require('@renovate/pep440/lib/version'); const { parse: parseRange } = require('@renovate/pep440/lib/specifier'); +const { logger } = require('../../logger'); module.exports = { getNewValue, diff --git a/lib/versioning/ruby/index.js b/lib/versioning/ruby/index.js index d65d338d3c0aca2d61155c8fd81054bb7513601e..36036c9d4d8afa1969083b34511d762b94fd8645 100644 --- a/lib/versioning/ruby/index.js +++ b/lib/versioning/ruby/index.js @@ -6,6 +6,7 @@ const { maxSatisfying, minSatisfying, } = require('@snyk/ruby-semver'); +const { logger } = require('../../logger'); const { parse: parseVersion } = require('./version'); const { parse: parseRange, ltr } = require('./range'); const { isSingleOperator, isValidOperator } = require('./operator'); diff --git a/lib/versioning/ruby/range.js b/lib/versioning/ruby/range.js index 7aa8b6a6cfc94af4235290c147c425851e7876ca..bfcc1fcb2f4578c95768867eff7e9b8fba1230d1 100644 --- a/lib/versioning/ruby/range.js +++ b/lib/versioning/ruby/range.js @@ -1,5 +1,6 @@ const GemVersion = require('@snyk/ruby-semver/lib/ruby/gem-version'); const GemRequirement = require('@snyk/ruby-semver/lib/ruby/gem-requirement'); +const { logger } = require('../../logger'); const { EQUAL, NOT_EQUAL, GT, LT, GTE, LTE, PGTE } = require('./operator'); const parse = range => { diff --git a/lib/versioning/ruby/strategies/bump.js b/lib/versioning/ruby/strategies/bump.js index 28fe77f4c9c8a93c8d045a36d14507b2bc1c1c43..39b2549cd00703777967e0e835a084a72e185d31 100644 --- a/lib/versioning/ruby/strategies/bump.js +++ b/lib/versioning/ruby/strategies/bump.js @@ -1,4 +1,5 @@ const { gte, lte } = require('@snyk/ruby-semver'); +const { logger } = require('../../../logger'); const { EQUAL, NOT_EQUAL, GT, LT, GTE, LTE, PGTE } = require('../operator'); const { floor, increment, decrement } = require('../version'); const { parse: parseRange } = require('../range'); diff --git a/lib/workers/branch/automerge.js b/lib/workers/branch/automerge.js index 2e878306d4103816a085d696f12114cdfa04c488..ce0363e7422e98419e69bc7cf12f1efc0356262c 100644 --- a/lib/workers/branch/automerge.js +++ b/lib/workers/branch/automerge.js @@ -1,3 +1,5 @@ +const { logger } = require('../../logger'); + module.exports = { tryBranchAutomerge, }; diff --git a/lib/workers/branch/check-existing.js b/lib/workers/branch/check-existing.js index 144525d611fcc5cbfce7096514fc216592f88fcf..5195af21a8dd2209271117aa5f2d924d9a7552f5 100644 --- a/lib/workers/branch/check-existing.js +++ b/lib/workers/branch/check-existing.js @@ -1,3 +1,5 @@ +const { logger } = require('../../logger'); + module.exports = { prAlreadyExisted, }; diff --git a/lib/workers/branch/commit.js b/lib/workers/branch/commit.js index b8fe8fcb97dc51f1c253a9e2638d68a4d0a04b41..85aaffdf79e0e6771b56ec5505052b9e70189278 100644 --- a/lib/workers/branch/commit.js +++ b/lib/workers/branch/commit.js @@ -1,5 +1,6 @@ const is = require('@sindresorhus/is'); const minimatch = require('minimatch'); +const { logger } = require('../../logger'); module.exports = { commitFilesToBranch, diff --git a/lib/workers/branch/get-updated.js b/lib/workers/branch/get-updated.js index fe955912295b9c44935089ccf69214fb0c6a86bf..7265e2aa69b11ccb8e67e610b70525648054a469 100644 --- a/lib/workers/branch/get-updated.js +++ b/lib/workers/branch/get-updated.js @@ -1,4 +1,5 @@ const is = require('@sindresorhus/is'); +const { logger } = require('../../logger'); const { get } = require('../../manager'); module.exports = { diff --git a/lib/workers/branch/index.js b/lib/workers/branch/index.js index 1c308e430cb34bf7dcdba3289c8e3129eba6bbf4..af4e26b4edf6bd9dfb4df16a563f3109815fb0f1 100644 --- a/lib/workers/branch/index.js +++ b/lib/workers/branch/index.js @@ -1,5 +1,6 @@ const { DateTime } = require('luxon'); +const { logger, setMeta } = require('../../logger'); const schedule = require('./schedule'); const { getUpdatedPackageFiles } = require('./get-updated'); const { getAdditionalFiles } = require('../../manager/npm/post-update'); @@ -23,7 +24,7 @@ async function processBranch(branchConfig, prHourlyLimitReached, packageFiles) { .map(upgrade => upgrade.depName) .filter(v => v) // remove nulls (happens for lock file maintenance) .filter((value, i, list) => list.indexOf(value) === i); // remove duplicates - logger.setMeta({ + setMeta({ repository: config.repository, branch: config.branchName, dependencies, diff --git a/lib/workers/branch/parent.js b/lib/workers/branch/parent.js index 5f3c0e544fae57ea658897071d121f2233800123..19e6950477642f03d83dede82da43013d8fe44df 100644 --- a/lib/workers/branch/parent.js +++ b/lib/workers/branch/parent.js @@ -1,3 +1,4 @@ +const { logger } = require('../../logger'); const { appSlug } = require('../../config/app-strings'); module.exports = { diff --git a/lib/workers/branch/schedule.js b/lib/workers/branch/schedule.js index a210423a02df48e53aed8d0e649407d4c450a805..5a1d37d67f7132ec654a81a0c921e88a155041ba 100644 --- a/lib/workers/branch/schedule.js +++ b/lib/workers/branch/schedule.js @@ -1,6 +1,7 @@ const is = require('@sindresorhus/is'); const later = require('later'); const moment = require('moment-timezone'); +const { logger } = require('../../logger'); module.exports = { hasValidTimezone, diff --git a/lib/workers/branch/status-checks.js b/lib/workers/branch/status-checks.js index b1280969fe386b25092592df41ee73e704e8eb27..5afd2829045c9e2d19338831105b7f6affe7cafe 100644 --- a/lib/workers/branch/status-checks.js +++ b/lib/workers/branch/status-checks.js @@ -1,3 +1,4 @@ +const { logger } = require('../../logger'); const { appSlug, urls } = require('../../config/app-strings'); module.exports = { diff --git a/lib/workers/global/autodiscover.js b/lib/workers/global/autodiscover.js index a07796dac0c9f4baf0cd64a4b5dc0ebafcc73a63..1eeb4d25370db38bb9606118579bbefd4493930d 100644 --- a/lib/workers/global/autodiscover.js +++ b/lib/workers/global/autodiscover.js @@ -1,5 +1,6 @@ const is = require('@sindresorhus/is'); const minimatch = require('minimatch'); +const { logger } = require('../../logger'); module.exports = { autodiscoverRepositories, diff --git a/lib/workers/global/cache.js b/lib/workers/global/cache.js index 3843682d69c4455df2ee294d566be2465737c44b..62379c1400df6687132ed1930d51cdc553f09cee 100644 --- a/lib/workers/global/cache.js +++ b/lib/workers/global/cache.js @@ -1,6 +1,7 @@ const cacache = require('cacache/en'); const path = require('path'); const { DateTime } = require('luxon'); +const { logger } = require('../../logger'); module.exports = { init, diff --git a/lib/workers/global/index.js b/lib/workers/global/index.js index b691550d93691f7baba4240504a3f8fd754b398c..8c16d80249ad58e1df45f26a7b3f686797c4974a 100644 --- a/lib/workers/global/index.js +++ b/lib/workers/global/index.js @@ -2,7 +2,7 @@ const fs = require('fs-extra'); const os = require('os'); const is = require('@sindresorhus/is'); const path = require('path'); -const { initLogger } = require('../../logger'); +const { logger, setMeta } = require('../../logger'); const configParser = require('../../config'); const repositoryWorker = require('../repository'); const cache = require('./cache'); @@ -18,7 +18,6 @@ module.exports = { }; async function start() { - initLogger(); try { cache.init(os.tmpdir()); let config = await configParser.parseConfigs(process.env, process.argv); @@ -68,7 +67,7 @@ async function start() { } await repositoryWorker.renovateRepository(repoConfig); } - logger.setMeta({}); + setMeta({}); printStats(); logger.info(`${appName} finished`); } catch (err) /* istanbul ignore next */ { diff --git a/lib/workers/pr/changelog/index.js b/lib/workers/pr/changelog/index.js index 9c62ec936bb57a724aa0fe7a3b4fe124fed639d5..2d3d3976df492720a459cfd55df69658ad0b95b2 100644 --- a/lib/workers/pr/changelog/index.js +++ b/lib/workers/pr/changelog/index.js @@ -1,3 +1,4 @@ +const { logger } = require('../../../logger'); const versioning = require('../../../versioning'); const sourceGithub = require('./source-github'); diff --git a/lib/workers/pr/changelog/release-notes.js b/lib/workers/pr/changelog/release-notes.js index 3e5b935853b851197e324b29d357d08790464cb4..2a85c223baa724e71a80f936ca3233efec155f4f 100644 --- a/lib/workers/pr/changelog/release-notes.js +++ b/lib/workers/pr/changelog/release-notes.js @@ -3,6 +3,7 @@ import ghGot from '../../../platform/github/gh-got-wrapper'; const changelogFilenameRegex = require('changelog-filename-regex'); const { linkify } = require('linkify-markdown'); const MarkdownIt = require('markdown-it'); +const { logger } = require('../../../logger'); const markdown = new MarkdownIt('zero'); markdown.enable(['heading', 'lheading']); diff --git a/lib/workers/pr/changelog/source-github.js b/lib/workers/pr/changelog/source-github.js index 0162daacc44e97d72a9e2d97da2148da663aacc3..214e478490a2bd5e2f4e356cec1b5ae218bce831 100644 --- a/lib/workers/pr/changelog/source-github.js +++ b/lib/workers/pr/changelog/source-github.js @@ -1,6 +1,7 @@ import ghGot from '../../../platform/github/gh-got-wrapper'; const URL = require('url'); +const { logger } = require('../../../logger'); const hostRules = require('../../../util/host-rules'); const versioning = require('../../../versioning'); const { addReleaseNotes } = require('./release-notes'); diff --git a/lib/workers/pr/index.js b/lib/workers/pr/index.js index 199a99e1cd5f007ec741c644590ab6506b168529..bacb09a698e43dbdaf7bbb2fe78454e1cea92ea0 100644 --- a/lib/workers/pr/index.js +++ b/lib/workers/pr/index.js @@ -1,3 +1,4 @@ +const { logger } = require('../../logger'); const changelogHelper = require('./changelog'); const { getPrBody } = require('./pr-body'); diff --git a/lib/workers/pr/pr-body.js b/lib/workers/pr/pr-body.js index fdd3b7211c3c694c515af92329fe0d72a23657e3..c03bc443566865609b0b44676c6b0364d64e5d4d 100644 --- a/lib/workers/pr/pr-body.js +++ b/lib/workers/pr/pr-body.js @@ -1,5 +1,6 @@ const is = require('@sindresorhus/is'); const handlebars = require('handlebars'); +const { logger } = require('../../logger'); const releaseNotesHbs = require('./changelog/hbs-template'); const { getPrConfigDescription } = require('./pr-body-config'); diff --git a/lib/workers/repository/error-config.js b/lib/workers/repository/error-config.js index 62712a6a526ad34922e3650c99fca1529e8af644..11ac39443d6901045aec905eb02316a1904e3ba6 100644 --- a/lib/workers/repository/error-config.js +++ b/lib/workers/repository/error-config.js @@ -1,3 +1,4 @@ +const { logger } = require('../../logger'); const { appName, onboardingBranch, diff --git a/lib/workers/repository/error.js b/lib/workers/repository/error.js index a4fabfb95668b7f25762092427e7f0208a51fe00..614fb62e9ce6d49c68f1072be1a6ada722d4aac8 100644 --- a/lib/workers/repository/error.js +++ b/lib/workers/repository/error.js @@ -1,13 +1,11 @@ -const { raiseConfigWarningIssue } = require('./error-config'); +import { logger, setMeta } from '../../logger'; +import { raiseConfigWarningIssue } from './error-config'; -module.exports = { - handleError, -}; - -async function handleError(config, err) { - logger.setMeta({ +export default async function handleError(config, err) { + setMeta({ repository: config.repository, }); + if (err.message === 'uninitiated') { logger.info('Repository is uninitiated - skipping'); delete config.branchList; // eslint-disable-line no-param-reassign diff --git a/lib/workers/repository/extract/file-match.js b/lib/workers/repository/extract/file-match.js index 3aeaab804e3d246b53bfa2371baad4a0e966c614..3939b61f339f0e5daaa815f22835319a3457b431 100644 --- a/lib/workers/repository/extract/file-match.js +++ b/lib/workers/repository/extract/file-match.js @@ -1,4 +1,5 @@ const minimatch = require('minimatch'); +const { logger } = require('../../../logger'); module.exports = { getIncludedFiles, diff --git a/lib/workers/repository/extract/index.js b/lib/workers/repository/extract/index.js index 4b5e97aff3114efa8088cefbb1715c35cfc699ba..a794b89933b996b96725971c2157ddc9444a8b64 100644 --- a/lib/workers/repository/extract/index.js +++ b/lib/workers/repository/extract/index.js @@ -1,3 +1,4 @@ +const { logger } = require('../../../logger'); const { getManagerList } = require('../../../manager'); const { getManagerConfig } = require('../../../config'); const { getManagerPackageFiles } = require('./manager-files'); diff --git a/lib/workers/repository/extract/manager-files.js b/lib/workers/repository/extract/manager-files.js index 6452ec9e24aa448b1d364da5cbde99410b5bad51..433ac3aa5b4021baca660770e0e991ca0d466104 100644 --- a/lib/workers/repository/extract/manager-files.js +++ b/lib/workers/repository/extract/manager-files.js @@ -1,3 +1,5 @@ +const { logger } = require('../../../logger'); + module.exports = { getManagerPackageFiles, }; diff --git a/lib/workers/repository/finalise/prune.js b/lib/workers/repository/finalise/prune.js index 9afd19b1ef8e1c8c65b71ff67e5eeed516048777..bb858fb72e4836996cbd65309cad43672ceb4b48 100644 --- a/lib/workers/repository/finalise/prune.js +++ b/lib/workers/repository/finalise/prune.js @@ -1,3 +1,5 @@ +const { logger } = require('../../../logger'); + module.exports = { pruneStaleBranches, }; diff --git a/lib/workers/repository/finalise/validate.js b/lib/workers/repository/finalise/validate.js index 34e7d323fd3c5b04d7b0c7efe4fe528316515a83..dd26a2e31315e07faf9aa247d0fc3f80a2b79714 100644 --- a/lib/workers/repository/finalise/validate.js +++ b/lib/workers/repository/finalise/validate.js @@ -1,4 +1,5 @@ const JSON5 = require('json5'); +const { logger, setMeta } = require('../../../logger'); const { migrateAndValidate } = require('../../../config/migrate-validate'); const { configFileNames } = require('../../../config/app-strings'); const { appName, appSlug } = require('../../../config/app-strings'); @@ -23,7 +24,7 @@ async function validatePrs(config) { ) { return; } - logger.setMeta({ repository: config.repository }); + setMeta({ repository: config.repository }); logger.debug('branchPrefix: ' + config.branchPrefix); const renovatePrs = await getRenovatePrs(config.branchPrefix); logger.debug({ renovatePrs }, `Found ${renovatePrs.length} ${appName} PRs`); diff --git a/lib/workers/repository/index.js b/lib/workers/repository/index.js index a5914145bfb41e4c87ea8cca5681f9d5bb5078d6..c206adc3f1a7521dd5ab469ac29676d0da18e327 100644 --- a/lib/workers/repository/index.js +++ b/lib/workers/repository/index.js @@ -1,8 +1,10 @@ +import handleError from './error'; + const fs = require('fs-extra'); +const { logger, setMeta } = require('../../logger'); const { initRepo } = require('./init'); const { ensureOnboardingPr } = require('./onboarding/pr'); -const { handleError } = require('./error'); const { processResult } = require('./result'); const { processRepo } = require('./process'); const { finaliseRepo } = require('./finalise'); @@ -15,7 +17,7 @@ module.exports = { // istanbul ignore next async function renovateRepository(repoConfig) { let config = { ...repoConfig }; - logger.setMeta({ repository: config.repository }); + setMeta({ repository: config.repository }); logger.info('Renovating repository'); logger.trace({ config }); let repoResult; diff --git a/lib/workers/repository/init/base.js b/lib/workers/repository/init/base.js index 16a7c09a7293c35aad79ece8cee6b57d00f3e9bb..a2913a3f3999c7f84f5c18e93cc7f144badda32a 100644 --- a/lib/workers/repository/init/base.js +++ b/lib/workers/repository/init/base.js @@ -1,3 +1,5 @@ +const { logger } = require('../../../logger'); + async function checkBaseBranch(config) { logger.debug('checkBaseBranch()'); logger.debug(`config.repoIsOnboarded=${config.repoIsOnboarded}`); diff --git a/lib/workers/repository/init/config.js b/lib/workers/repository/init/config.js index a5a24887685830ddda5b046b9e935420626fd1d0..07ded19677e8dddf430308f74cba8c52af3a22ba 100644 --- a/lib/workers/repository/init/config.js +++ b/lib/workers/repository/init/config.js @@ -2,6 +2,7 @@ const jsonValidator = require('json-dup-key-validator'); const JSON5 = require('json5'); const path = require('path'); +const { logger } = require('../../../logger'); const { mergeChildConfig } = require('../../../config'); const { migrateAndValidate } = require('../../../config/migrate-validate'); const { decryptConfig } = require('../../../config/decrypt'); diff --git a/lib/workers/repository/init/flatten.js b/lib/workers/repository/init/flatten.js index 364a82824959f080aa4d3b3135a691c2e3152d1e..e52af19fef2f06810e818c1791f058c59c805c15 100644 --- a/lib/workers/repository/init/flatten.js +++ b/lib/workers/repository/init/flatten.js @@ -1,3 +1,4 @@ +const { logger } = require('../../../logger'); const { mergeChildConfig } = require('../../../config'); function flattenPackageRules(packageRules) { diff --git a/lib/workers/repository/init/index.js b/lib/workers/repository/init/index.js index 18a5a73b75aec34568c821e7859ac70fba60cc07..9870527218fd64736dfc8ce368f4a1ca87471e93 100644 --- a/lib/workers/repository/init/index.js +++ b/lib/workers/repository/init/index.js @@ -1,3 +1,4 @@ +const { logger } = require('../../../logger'); const { checkOnboardingBranch } = require('../onboarding/branch'); const { checkIfConfigured } = require('../configured'); const { initApis } = require('../init/apis'); diff --git a/lib/workers/repository/init/semantic.js b/lib/workers/repository/init/semantic.js index 942f52836cf429471987e5c752ba618321082601..da3d8c839d779b21cd6745df0616b578b5788435 100644 --- a/lib/workers/repository/init/semantic.js +++ b/lib/workers/repository/init/semantic.js @@ -1,4 +1,5 @@ const conventionalCommitsDetector = require('conventional-commits-detector'); +const { logger } = require('../../../logger'); async function detectSemanticCommits(config) { logger.debug('detectSemanticCommits()'); diff --git a/lib/workers/repository/init/vulnerability.js b/lib/workers/repository/init/vulnerability.js index f556c2d86d340fe81e20998361e223f7d1939019..0b81bffe1efdfed7e7f96fc51a0f37e4eeba8c83 100644 --- a/lib/workers/repository/init/vulnerability.js +++ b/lib/workers/repository/init/vulnerability.js @@ -1,3 +1,4 @@ +const { logger } = require('../../../logger'); const versioning = require('../../../versioning'); module.exports = { diff --git a/lib/workers/repository/master-issue.js b/lib/workers/repository/master-issue.js index 93806459f890770422c8f28208c0dff81937e4f0..d4af88d2611d1ec55fd9d8addf16b86a48a23658 100644 --- a/lib/workers/repository/master-issue.js +++ b/lib/workers/repository/master-issue.js @@ -1,3 +1,4 @@ +const { logger } = require('../../logger'); const { appName } = require('../../config/app-strings'); module.exports = { diff --git a/lib/workers/repository/onboarding/branch/check.js b/lib/workers/repository/onboarding/branch/check.js index ddfa215c4d88c25f5140e5cef8d440eeab5c7ec7..cd6e0058280f1f419df0315546479cc5fcbd8f86 100644 --- a/lib/workers/repository/onboarding/branch/check.js +++ b/lib/workers/repository/onboarding/branch/check.js @@ -1,3 +1,4 @@ +const { logger } = require('../../../../logger'); const { appName, appSlug, diff --git a/lib/workers/repository/onboarding/branch/config.js b/lib/workers/repository/onboarding/branch/config.js index eef34e4e372b16718880c929f43acaed9b7d5091..899d482fccfd86eb404d9240a6e7edf4d3842cd8 100644 --- a/lib/workers/repository/onboarding/branch/config.js +++ b/lib/workers/repository/onboarding/branch/config.js @@ -1,4 +1,5 @@ const is = require('@sindresorhus/is'); +const { logger } = require('../../../../logger'); const { appSlug } = require('../../../../config/app-strings'); diff --git a/lib/workers/repository/onboarding/branch/create.js b/lib/workers/repository/onboarding/branch/create.js index 61d17f36be1e794db4c078fd92c2634cf13f71e2..02d140526b7713e2bbd48dc2794396863c244481 100644 --- a/lib/workers/repository/onboarding/branch/create.js +++ b/lib/workers/repository/onboarding/branch/create.js @@ -1,3 +1,4 @@ +const { logger } = require('../../../../logger'); const { getOnboardingConfig } = require('./config'); const { configFileNames, diff --git a/lib/workers/repository/onboarding/branch/index.js b/lib/workers/repository/onboarding/branch/index.js index 88a9b1db211dbf0434acc39d439d2e0743b953ca..1b0707422b99e05032d47e2c0a161d40e77466c6 100644 --- a/lib/workers/repository/onboarding/branch/index.js +++ b/lib/workers/repository/onboarding/branch/index.js @@ -1,3 +1,4 @@ +const { logger } = require('../../../../logger'); const { extractAllDependencies } = require('../../extract'); const { createOnboardingBranch } = require('./create'); const { rebaseOnboardingBranch } = require('./rebase'); diff --git a/lib/workers/repository/onboarding/branch/rebase.js b/lib/workers/repository/onboarding/branch/rebase.js index 4e1ed81b52d0c433bd9a2ffc3e3aecd8fe6ed003..2eb960cf109258d9c153e4cfd05b9a3cd78b512c 100644 --- a/lib/workers/repository/onboarding/branch/rebase.js +++ b/lib/workers/repository/onboarding/branch/rebase.js @@ -1,3 +1,4 @@ +const { logger } = require('../../../../logger'); const { getOnboardingConfig } = require('./config'); const { configFileNames, diff --git a/lib/workers/repository/onboarding/pr/config-description.js b/lib/workers/repository/onboarding/pr/config-description.js index dec94f99264351f474ab4caae8836b4aac057041..2e8adecb875555a343d94555457ffb197ac2102d 100644 --- a/lib/workers/repository/onboarding/pr/config-description.js +++ b/lib/workers/repository/onboarding/pr/config-description.js @@ -1,3 +1,4 @@ +const { logger } = require('../../../../logger'); const { appName, configFileNames, diff --git a/lib/workers/repository/onboarding/pr/errors-warnings.js b/lib/workers/repository/onboarding/pr/errors-warnings.js index b1a783fb5ce3ccfe1bc72234473b8f744d6b3992..a351ac060a4f28f44482bfc1eca42c717df80199 100644 --- a/lib/workers/repository/onboarding/pr/errors-warnings.js +++ b/lib/workers/repository/onboarding/pr/errors-warnings.js @@ -1,3 +1,4 @@ +const { logger } = require('../../../../logger'); const { appName } = require('../../../../config/app-strings'); function getWarnings(config) { diff --git a/lib/workers/repository/onboarding/pr/index.js b/lib/workers/repository/onboarding/pr/index.js index d3f26dd8e14a228266d55bef10dd9699b47b7894..d8aad933094586ac225f398d47a6054622cacc68 100644 --- a/lib/workers/repository/onboarding/pr/index.js +++ b/lib/workers/repository/onboarding/pr/index.js @@ -1,4 +1,5 @@ const is = require('@sindresorhus/is'); +const { logger } = require('../../../../logger'); const { getConfigDesc } = require('./config-description'); const { getErrors, getWarnings, getDepWarnings } = require('./errors-warnings'); const { getBaseBranchDesc } = require('./base-branch'); diff --git a/lib/workers/repository/onboarding/pr/pr-list.js b/lib/workers/repository/onboarding/pr/pr-list.js index 08d503e8f3f2d286f5a023738fc845552d1608c3..86dc537c3c335de3fd9c62d656a37a7049d04086 100644 --- a/lib/workers/repository/onboarding/pr/pr-list.js +++ b/lib/workers/repository/onboarding/pr/pr-list.js @@ -1,3 +1,4 @@ +const { logger } = require('../../../../logger'); const { appName } = require('../../../../config/app-strings'); function getPrList(config, branches) { diff --git a/lib/workers/repository/process/deprecated.js b/lib/workers/repository/process/deprecated.js index 585c4f3c26a9c1fdf9c785991fe34812f525f625..ee7a829adaba4aec7bd74a1ff07ba1f544ad9c97 100644 --- a/lib/workers/repository/process/deprecated.js +++ b/lib/workers/repository/process/deprecated.js @@ -1,3 +1,5 @@ +const { logger } = require('../../../logger'); + module.exports = { raiseDeprecationWarnings, }; diff --git a/lib/workers/repository/process/extract-update.js b/lib/workers/repository/process/extract-update.js index edec07af96ee0f870f76fc21c779cf5494cd296f..0352e1b43c5419e4f23fc0731ef8444a842d4507 100644 --- a/lib/workers/repository/process/extract-update.js +++ b/lib/workers/repository/process/extract-update.js @@ -1,3 +1,4 @@ +const { logger } = require('../../../logger'); const { writeUpdates } = require('./write'); const { sortBranches } = require('./sort'); const { fetchUpdates } = require('./fetch'); diff --git a/lib/workers/repository/process/fetch.js b/lib/workers/repository/process/fetch.js index 86ef289705823a3610f79f48d0be1b0c890976d5..ca483171291b59f1d520aac08ee22caaa259acb9 100644 --- a/lib/workers/repository/process/fetch.js +++ b/lib/workers/repository/process/fetch.js @@ -1,5 +1,6 @@ const is = require('@sindresorhus/is'); const pAll = require('p-all'); +const { logger } = require('../../../logger'); const { getPackageUpdates } = require('../../../manager'); const { mergeChildConfig } = require('../../../config'); diff --git a/lib/workers/repository/process/index.js b/lib/workers/repository/process/index.js index 86d49b7c79b3e67120ee12e0c14bc371a5394201..dd7a9e28cf80560dfc2efb0c32d09c5494b68ee1 100644 --- a/lib/workers/repository/process/index.js +++ b/lib/workers/repository/process/index.js @@ -1,3 +1,4 @@ +const { logger } = require('../../../logger'); const { mergeChildConfig } = require('../../../config'); const { extractAndUpdate } = require('./extract-update'); const { appName } = require('../../../config/app-strings'); diff --git a/lib/workers/repository/process/limits.js b/lib/workers/repository/process/limits.js index 14b4c205edc23e9f22a56a97411aa995364517b8..e058fe8e6eda5a00e61a6379a44e5dbc244f4f58 100644 --- a/lib/workers/repository/process/limits.js +++ b/lib/workers/repository/process/limits.js @@ -1,4 +1,5 @@ const moment = require('moment'); +const { logger } = require('../../../logger'); const { onboardingBranch } = require('../../../config/app-strings'); diff --git a/lib/workers/repository/process/lookup/filter.js b/lib/workers/repository/process/lookup/filter.js index c78a68d9edb381b2251d373e508bdcdcb73e88a0..6cd3a42d9cb5995fddab767906342206e25b4d72 100644 --- a/lib/workers/repository/process/lookup/filter.js +++ b/lib/workers/repository/process/lookup/filter.js @@ -1,4 +1,5 @@ const semver = require('semver'); +const { logger } = require('../../../../logger'); const versioning = require('../../../../versioning'); module.exports = { diff --git a/lib/workers/repository/process/lookup/index.js b/lib/workers/repository/process/lookup/index.js index 2acbaf5c4144940bc715473dc8936b79c8ed1e6d..64ddd9d669d357c3b73552c0bdd59d0ddab98a50 100644 --- a/lib/workers/repository/process/lookup/index.js +++ b/lib/workers/repository/process/lookup/index.js @@ -1,3 +1,4 @@ +const { logger } = require('../../../../logger'); const versioning = require('../../../../versioning'); const { getRollbackUpdate } = require('./rollback'); const { getRangeStrategy } = require('../../../../manager'); diff --git a/lib/workers/repository/process/lookup/rollback.js b/lib/workers/repository/process/lookup/rollback.js index 8755350b2ccf5d16f2ccd157fa339ab33f2683e0..83d657e55210ed3bd75515dcf53278370b1d78c0 100644 --- a/lib/workers/repository/process/lookup/rollback.js +++ b/lib/workers/repository/process/lookup/rollback.js @@ -1,3 +1,4 @@ +const { logger } = require('../../../../logger'); const versioning = require('../../../../versioning'); module.exports = { diff --git a/lib/workers/repository/process/sort.js b/lib/workers/repository/process/sort.js index 6932c9dad05f314b6430b989e2c96f3248176366..807101f240aeea9b38b6703f2a759159e167ef29 100644 --- a/lib/workers/repository/process/sort.js +++ b/lib/workers/repository/process/sort.js @@ -1,3 +1,5 @@ +const { logger } = require('../../../logger'); + module.exports = { sortBranches }; function sortBranches(branches) { diff --git a/lib/workers/repository/process/write.js b/lib/workers/repository/process/write.js index 8382ad90c299df452bbeb04e10aef65f07afe715..f72d032f745e8c1f11b6d1ccbbc7e207969f9bfe 100644 --- a/lib/workers/repository/process/write.js +++ b/lib/workers/repository/process/write.js @@ -1,3 +1,4 @@ +const { logger } = require('../../../logger'); const branchWorker = require('../../branch'); const { getPrsRemaining } = require('./limits'); diff --git a/lib/workers/repository/updates/branchify.js b/lib/workers/repository/updates/branchify.js index 22355369aee9cd2038b72935a6ca567ab975588c..0f916163ec5ff6cd03e07cdf43833940caea810d 100644 --- a/lib/workers/repository/updates/branchify.js +++ b/lib/workers/repository/updates/branchify.js @@ -1,6 +1,7 @@ const handlebars = require('handlebars'); const slugify = require('slugify'); const cleanGitRef = require('clean-git-ref').clean; +const { logger, setMeta } = require('../../../logger'); const { generateBranchConfig } = require('./generate'); const { flattenUpdates } = require('./flatten'); @@ -81,7 +82,7 @@ function branchifyUpgrades(config, packageFiles) { } logger.debug(`Returning ${Object.keys(branchUpgrades).length} branch(es)`); for (const branchName of Object.keys(branchUpgrades)) { - logger.setMeta({ + setMeta({ repository: config.repository, branch: branchName, }); @@ -89,7 +90,7 @@ function branchifyUpgrades(config, packageFiles) { branch.branchName = branchName; branches.push(branch); } - logger.setMeta({ + setMeta({ repository: config.repository, }); logger.debug(`config.repoIsOnboarded=${config.repoIsOnboarded}`); diff --git a/lib/workers/repository/updates/generate.js b/lib/workers/repository/updates/generate.js index d92b4d1caf5dfb9e6ab7a5056663e86f3e5cbdea..2ad6f86dbe0094e7128d798333fa462a3f402e36 100644 --- a/lib/workers/repository/updates/generate.js +++ b/lib/workers/repository/updates/generate.js @@ -2,6 +2,7 @@ const handlebars = require('handlebars'); const { DateTime } = require('luxon'); const semver = require('semver'); const mdTable = require('markdown-table'); +const { logger } = require('../../../logger'); const { mergeChildConfig } = require('../../../config'); function ifTypesGroup(depNames, hasGroupName, branchUpgrades) { diff --git a/test/datasource/maven.spec.js b/test/datasource/maven.spec.js index d366f25fee0bedc82fea63e6bb0528e70ccf7f48..5f5792b60d626e3b0b5c80a627a3251239752d8d 100644 --- a/test/datasource/maven.spec.js +++ b/test/datasource/maven.spec.js @@ -2,9 +2,6 @@ const nock = require('nock'); const fs = require('fs'); const datasource = require('../../lib/datasource'); -const { initLogger } = require('../../lib/logger'); - -initLogger(); const MYSQL_VERSIONS = [ '6.0.5', diff --git a/test/datasource/sbt/index.spec.js b/test/datasource/sbt/index.spec.js index b8bc294b74bf8ded64cfbbc3a13dcad2eb68b29b..df354dd29d7fe3e984f70dafbc46b965a3a78cdd 100644 --- a/test/datasource/sbt/index.spec.js +++ b/test/datasource/sbt/index.spec.js @@ -3,9 +3,6 @@ const fs = require('fs'); const nock = require('nock'); const { getPkgReleases } = require('../../../lib/datasource/sbt'); -const { initLogger } = require('../../../lib/logger'); - -initLogger(); const { DEFAULT_MAVEN_REPO } = require('../../../lib/manager/maven/extract'); const { diff --git a/test/globals.js b/test/globals.js index 6fd4ea9d9053e3371b67ee7c3ac0e370eadca981..d9b8cd0ef9dd556e885220ea7f5f287f404071a7 100644 --- a/test/globals.js +++ b/test/globals.js @@ -4,7 +4,7 @@ const os = require('os'); const cache = require('../lib/workers/global/cache'); global.platform = jest.genMockFromModule('../lib/platform/github'); -global.logger = require('./logger/_fixtures'); +jest.mock('../lib/logger'); global.repoCache = {}; diff --git a/test/logger/__snapshots__/pretty-stdout.spec.js.snap b/test/logger/__snapshots__/pretty-stdout.spec.ts.snap similarity index 51% rename from test/logger/__snapshots__/pretty-stdout.spec.js.snap rename to test/logger/__snapshots__/pretty-stdout.spec.ts.snap index f00fbfb156fd4b264107398d7198382205de6b57..1a944e5b5f5aeb70cfbd6a1d754d811f740a2a0b 100644 --- a/test/logger/__snapshots__/pretty-stdout.spec.js.snap +++ b/test/logger/__snapshots__/pretty-stdout.spec.ts.snap @@ -1,5 +1,11 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP +exports[`logger/pretty-stdout formatRecord(rec) formats record 1`] = ` +"[90mTRACE[39m: test message + \\"config\\": {\\"a\\": \\"b\\", \\"d\\": [\\"e\\", \\"f\\"]} +" +`; + exports[`logger/pretty-stdout getDetails(rec) supports a config 1`] = ` " \\"config\\": {\\"a\\": \\"b\\", \\"d\\": [\\"e\\", \\"f\\"]} " diff --git a/test/logger/_fixtures/index.js b/test/logger/_fixtures/index.js deleted file mode 100644 index 9a77f8e0be2016b70037eb4a633221a1f105fde4..0000000000000000000000000000000000000000 --- a/test/logger/_fixtures/index.js +++ /dev/null @@ -1,11 +0,0 @@ -module.exports = { - fatal: jest.fn(), - error: jest.fn(), - warn: jest.fn(), - info: jest.fn(), - debug: jest.fn(), - trace: jest.fn(), - setMeta: jest.fn(), - levels: jest.fn(), - addStream: jest.fn(), -}; diff --git a/test/logger/index.spec.js b/test/logger/index.spec.js deleted file mode 100644 index 38e3d9584e25d5663442904dd31c8aadc94d8bef..0000000000000000000000000000000000000000 --- a/test/logger/index.spec.js +++ /dev/null @@ -1,32 +0,0 @@ -const { initLogger } = require('../../lib/logger'); - -describe('logger', () => { - it('inits', () => { - delete global.logger; - delete process.env.LOG_LEVEL; - initLogger(); - expect(global.logger).toBeDefined(); - }); - it('supports logging with metadata', () => { - global.logger.debug({ some: 'meta' }, 'some meta'); - }); - it('supports logging with only metadata', () => { - global.logger.debug({ some: 'meta' }); - }); - it('supports logging without metadata', () => { - global.logger.debug('some meta'); - }); - it('sets levels', () => { - global.logger.levels('stdout', 'DEBUG'); - }); - it('sets meta', () => { - global.logger.setMeta({ some: 'meta', and: 'more' }); - }); - it('adds stream', () => { - global.logger.addStream({ - name: 'logfile', - path: 'fatal.log', - level: 'fatal', - }); - }); -}); diff --git a/test/logger/index.spec.ts b/test/logger/index.spec.ts new file mode 100644 index 0000000000000000000000000000000000000000..2521befed3acaddf5af91e4e642afca496062d67 --- /dev/null +++ b/test/logger/index.spec.ts @@ -0,0 +1,26 @@ +import { logger, setMeta, levels } from '../../lib/logger'; + +jest.unmock('../../lib/logger'); + +describe('logger', () => { + it('inits', () => { + expect(logger).toBeDefined(); + }); + it('supports logging with metadata', () => { + logger.debug({ some: 'meta' }, 'some meta'); + }); + it('supports logging with only metadata', () => { + logger.debug({ some: 'meta' }); + }); + it('supports logging without metadata', () => { + logger.debug('some meta'); + }); + + it('sets meta', () => { + setMeta({ any: 'test' }); + }); + + it('sets level', () => { + levels('stdout', 'debug'); + }); +}); diff --git a/test/logger/pretty-stdout.spec.js b/test/logger/pretty-stdout.spec.ts similarity index 50% rename from test/logger/pretty-stdout.spec.js rename to test/logger/pretty-stdout.spec.ts index 41f350b5b33a8b5661f1b1829dbac1b763074742..f38dd600195b3fb6941cb90f6e07d539d63279e8 100644 --- a/test/logger/pretty-stdout.spec.js +++ b/test/logger/pretty-stdout.spec.ts @@ -1,26 +1,26 @@ -const chalk = require('chalk'); -const prettyStdout = require('../../lib/logger/pretty-stdout'); +import chalk from 'chalk'; +import * as prettyStdout from '../../lib/logger/pretty-stdout'; describe('logger/pretty-stdout', () => { describe('getMeta(rec)', () => { it('returns empty string if null rec', () => { - expect(prettyStdout.getMeta(null)).toEqual(''); + expect(prettyStdout.getMeta(null as any)).toEqual(''); }); it('returns empty string if empty rec', () => { - expect(prettyStdout.getMeta({})).toEqual(''); + expect(prettyStdout.getMeta({} as any)).toEqual(''); }); it('returns empty string if no meta fields', () => { const rec = { foo: 'bar', }; - expect(prettyStdout.getMeta(rec)).toEqual(''); + expect(prettyStdout.getMeta(rec as any)).toEqual(''); }); it('supports single meta', () => { const rec = { foo: 'bar', repository: 'a/b', }; - expect(prettyStdout.getMeta(rec)).toEqual( + expect(prettyStdout.getMeta(rec as any)).toEqual( chalk.gray(' (repository=a/b)') ); }); @@ -29,25 +29,26 @@ describe('logger/pretty-stdout', () => { foo: 'bar', branch: 'c', repository: 'a/b', + module: 'test', }; - expect(prettyStdout.getMeta(rec)).toEqual( - chalk.gray(' (repository=a/b, branch=c)') + expect(prettyStdout.getMeta(rec as any)).toEqual( + chalk.gray(' (repository=a/b, branch=c) [test]') ); }); }); describe('getDetails(rec)', () => { it('returns empty string if null rec', () => { - expect(prettyStdout.getDetails(null)).toEqual(''); + expect(prettyStdout.getDetails(null as any)).toEqual(''); }); it('returns empty string if empty rec', () => { - expect(prettyStdout.getDetails({})).toEqual(''); + expect(prettyStdout.getDetails({} as any)).toEqual(''); }); it('returns empty string if all are meta fields', () => { const rec = { branch: 'bar', v: 0, }; - expect(prettyStdout.getDetails(rec)).toEqual(''); + expect(prettyStdout.getDetails(rec as any)).toEqual(''); }); it('supports a config', () => { const rec = { @@ -57,7 +58,21 @@ describe('logger/pretty-stdout', () => { d: ['e', 'f'], }, }; - expect(prettyStdout.getDetails(rec)).toMatchSnapshot(); + expect(prettyStdout.getDetails(rec as any)).toMatchSnapshot(); + }); + }); + describe('formatRecord(rec)', () => { + it('formats record', () => { + const rec: prettyStdout.BunyanRecord = { + level: 10, + msg: 'test message', + v: 0, + config: { + a: 'b', + d: ['e', 'f'], + }, + }; + expect(prettyStdout.formatRecord(rec)).toMatchSnapshot(); }); }); }); diff --git a/test/manager/gradle/index.spec.js b/test/manager/gradle/index.spec.js index 51af463737f3b335c47ae9a7a6c7b0aeff0c07de..6575cb2e48b7e830f39edf5e4455f233e8d9da60 100644 --- a/test/manager/gradle/index.spec.js +++ b/test/manager/gradle/index.spec.js @@ -5,9 +5,6 @@ const { toUnix } = require('upath'); const fs = require('fs-extra'); const fsReal = require('fs'); const { exec } = require('child-process-promise'); -const { initLogger } = require('../../../lib/logger'); - -initLogger(); const manager = require('../../../lib/manager/gradle/index'); diff --git a/test/workers/repository/error.spec.js b/test/workers/repository/error.spec.js index 9615dc505d40d856d57b4adaf02836bcbd2d7ed9..504c41b26dcca036becd89aec05d93fa8cd29d13 100644 --- a/test/workers/repository/error.spec.js +++ b/test/workers/repository/error.spec.js @@ -1,4 +1,4 @@ -const { handleError } = require('../../../lib/workers/repository/error'); +import handleError from '../../../lib/workers/repository/error'; jest.mock('../../../lib/workers/repository/error-config'); diff --git a/tsconfig.json b/tsconfig.json index 75953254b3827bd9d26160fa66befb0f4c7fc438..814df428d8b5f35449ca183fd0e9cd4ac7151e06 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -15,5 +15,5 @@ "types": ["node", "jest"] }, "include": ["lib/**/*", "test/**/*"], - "exclude": ["node_modules", "./.cache", "./dist"] + "exclude": ["node_modules", "./.cache", "./dist", "**/__mocks__/*"] }