diff --git a/.npmrc b/.npmrc
new file mode 100644
index 0000000000000000000000000000000000000000..b6f27f135954640c8cc5bfd7b8c9922ca6eb2aad
--- /dev/null
+++ b/.npmrc
@@ -0,0 +1 @@
+engine-strict=true
diff --git a/package-lock.json b/package-lock.json
index d9e639ec2601070c07f12e441c8f8e51eb4c669a..9f859862b7a06da447653c0d72eb656b1173f3c2 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -33,9 +33,6 @@
         "tslib": "^2.0.0",
         "typescript": "^4.0.0",
         "vite": "^2.1.0"
-      },
-      "engines": {
-        "node": ">= 12.17.0"
       }
     },
     "node_modules/@auditors/core": {
diff --git a/package.json b/package.json
index 287a58a803059d091abe37b4b38fa44123c684c1..9a563e822cee03f3ea2981afed8eb168589cc119 100644
--- a/package.json
+++ b/package.json
@@ -36,8 +36,5 @@
     "typescript": "^4.0.0",
     "vite": "^2.1.0"
   },
-  "type": "module",
-  "engines": {
-    "node": ">= 12.17.0"
-  }
+  "type": "module"
 }
diff --git a/tsconfig.json b/tsconfig.json
index 9b7cfa3fa3aebd8518648509304c134a5f2be429..3501f7be2bc2aeee3fb23b691ef4b3345cacc8c0 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -1,7 +1,9 @@
 {
   "compilerOptions": {
     "moduleResolution": "node",
-    "target": "es2018",
+    "module": "es2020",
+    "lib": ["es2020"],
+    "target": "es2019",
     /**
       svelte-preprocess cannot figure out whether you have a value or a type, so tell TypeScript
       to enforce using \`import type\` instead of \`import\` for Types.