diff --git a/lib/versioning/hex/index.spec.ts b/lib/versioning/hex/index.spec.ts
index 05e6beadf4b14ffc63fbc8ec9355e0b0a6d9f8a6..4426bde971972f3d2e641f3c9ad9158c79a959e4 100644
--- a/lib/versioning/hex/index.spec.ts
+++ b/lib/versioning/hex/index.spec.ts
@@ -47,7 +47,7 @@ describe('versioning/hex/index', () => {
   `(
     'isLessThanRange($version, $range) === $expected',
     ({ version, range, expected }) => {
-      expect(hexScheme.isLessThanRange(version, range)).toBe(expected);
+      expect(hexScheme.isLessThanRange?.(version, range)).toBe(expected);
     }
   );
 
diff --git a/lib/versioning/hex/index.ts b/lib/versioning/hex/index.ts
index 161c276bf365ab2c697353d4756591e836ca0548..08b195affb1a72953671f298c77a3f60399d60ef 100644
--- a/lib/versioning/hex/index.ts
+++ b/lib/versioning/hex/index.ts
@@ -42,52 +42,63 @@ function npm2hex(input: string): string {
   return output;
 }
 
-const isLessThanRange = (version: string, range: string): boolean =>
-  npm.isLessThanRange(hex2npm(version), hex2npm(range));
+function isLessThanRange(version: string, range: string): boolean {
+  return !!npm.isLessThanRange?.(hex2npm(version), hex2npm(range));
+}
 
-const isValid = (input: string): string | boolean =>
-  npm.isValid(hex2npm(input));
+const isValid = (input: string): boolean => !!npm.isValid(hex2npm(input));
 
 const matches = (version: string, range: string): boolean =>
   npm.matches(hex2npm(version), hex2npm(range));
 
-const getSatisfyingVersion = (versions: string[], range: string): string =>
-  npm.getSatisfyingVersion(versions.map(hex2npm), hex2npm(range));
+function getSatisfyingVersion(
+  versions: string[],
+  range: string
+): string | null {
+  return npm.getSatisfyingVersion(versions.map(hex2npm), hex2npm(range));
+}
 
-const minSatisfyingVersion = (versions: string[], range: string): string =>
-  npm.minSatisfyingVersion(versions.map(hex2npm), hex2npm(range));
+function minSatisfyingVersion(
+  versions: string[],
+  range: string
+): string | null {
+  return npm.minSatisfyingVersion(versions.map(hex2npm), hex2npm(range));
+}
 
-const getNewValue = ({
+function getNewValue({
   currentValue,
   rangeStrategy,
   currentVersion,
   newVersion,
-}: NewValueConfig): string => {
+}: NewValueConfig): string | null {
   let newSemver = npm.getNewValue({
     currentValue: hex2npm(currentValue),
     rangeStrategy,
     currentVersion,
     newVersion,
   });
-  newSemver = npm2hex(newSemver);
-  if (regEx(/~>\s*(\d+\.\d+\.\d+)$/).test(currentValue)) {
-    newSemver = newSemver.replace(
-      regEx(/[\^~]\s*(\d+\.\d+\.\d+)/),
-      (_str, p1: string) => `~> ${p1}`
-    );
-  } else if (regEx(/~>\s*(\d+\.\d+)$/).test(currentValue)) {
-    newSemver = newSemver.replace(
-      regEx(/\^\s*(\d+\.\d+)(\.\d+)?/),
-      (_str, p1: string) => `~> ${p1}`
-    );
-  } else {
-    newSemver = newSemver.replace(regEx(/~\s*(\d+\.\d+\.\d)/), '~> $1');
-  }
-  if (npm.isVersion(newSemver)) {
-    newSemver = `== ${newSemver}`;
+  if (newSemver) {
+    newSemver = npm2hex(newSemver);
+
+    if (regEx(/~>\s*(\d+\.\d+\.\d+)$/).test(currentValue)) {
+      newSemver = newSemver.replace(
+        regEx(/[\^~]\s*(\d+\.\d+\.\d+)/),
+        (_str, p1: string) => `~> ${p1}`
+      );
+    } else if (regEx(/~>\s*(\d+\.\d+)$/).test(currentValue)) {
+      newSemver = newSemver.replace(
+        regEx(/\^\s*(\d+\.\d+)(\.\d+)?/),
+        (_str, p1: string) => `~> ${p1}`
+      );
+    } else {
+      newSemver = newSemver.replace(regEx(/~\s*(\d+\.\d+\.\d)/), '~> $1');
+    }
+    if (npm.isVersion(newSemver)) {
+      newSemver = `== ${newSemver}`;
+    }
   }
   return newSemver;
-};
+}
 
 export { isValid };
 
diff --git a/tsconfig.strict.json b/tsconfig.strict.json
index 852d5222374d3eac89d2d2409ddfaabb368f72a8..2a9c713c0b7369fd36ab140b0a527137d16237af 100644
--- a/tsconfig.strict.json
+++ b/tsconfig.strict.json
@@ -70,6 +70,7 @@
     "lib/util/url.ts",
     "lib/versioning/gradle/compare.ts",
     "lib/versioning/maven/**/*.ts",
+    "lib/versioning/hex/**/*.ts",
     "lib/versioning/node/**/*.ts",
     "lib/versioning/npm/**/*.ts",
     "lib/versioning/ruby/**/*.ts",