From 879e59fa196831a352fddfd77dde8d0d3239b721 Mon Sep 17 00:00:00 2001
From: Sergei Zharinov <zharinov@users.noreply.github.com>
Date: Wed, 1 Dec 2021 12:12:56 +0300
Subject: [PATCH] refactor(util/fs): Enable strict null checks (#12904)

---
 lib/util/fs/index.ts   | 6 ++++--
 lib/util/fs/proxies.ts | 2 +-
 tsconfig.strict.json   | 4 +++-
 3 files changed, 8 insertions(+), 4 deletions(-)

diff --git a/lib/util/fs/index.ts b/lib/util/fs/index.ts
index eae38c5237..114ed425b0 100644
--- a/lib/util/fs/index.ts
+++ b/lib/util/fs/index.ts
@@ -30,11 +30,13 @@ export async function readLocalFile(
 export async function readLocalFile(
   fileName: string,
   encoding?: string
-): Promise<string | Buffer> {
+): Promise<string | Buffer | null> {
   const { localDir } = GlobalConfig.get();
   const localFileName = join(localDir, fileName);
   try {
-    const fileContent = await fs.readFile(localFileName, encoding);
+    const fileContent = encoding
+      ? await fs.readFile(localFileName, encoding)
+      : await fs.readFile(localFileName);
     return fileContent;
   } catch (err) {
     logger.trace({ err }, 'Error reading local file');
diff --git a/lib/util/fs/proxies.ts b/lib/util/fs/proxies.ts
index 3abe0f4624..4008ec2895 100644
--- a/lib/util/fs/proxies.ts
+++ b/lib/util/fs/proxies.ts
@@ -23,7 +23,7 @@ export function readFile(
   fileName: string,
   encoding?: string
 ): Promise<string | Buffer> {
-  return fs.readFile(fileName, encoding);
+  return encoding ? fs.readFile(fileName, encoding) : fs.readFile(fileName);
 }
 
 // istanbul ignore next
diff --git a/tsconfig.strict.json b/tsconfig.strict.json
index 9815efcfbd..d2bb5af542 100644
--- a/tsconfig.strict.json
+++ b/tsconfig.strict.json
@@ -28,6 +28,7 @@
     "lib/util/date.ts",
     "lib/util/exec/common.ts",
     "lib/util/exec/types.ts",
+    "lib/util/fs",
     "lib/util/git/config.ts",
     "lib/util/git/types.ts",
     "lib/util/host-rules.ts",
@@ -66,6 +67,7 @@
     "lib/datasource/helm/common.ts",
     "lib/logger/err-serializer.spec.ts",
     "lib/manager/gradle/shallow/types.ts",
-    "lib/util/cache/*.spec.ts"
+    "lib/util/cache/*.spec.ts",
+    "lib/util/fs/index.spec.ts"
   ]
 }
-- 
GitLab