diff --git a/package-lock.json b/package-lock.json
index d422a4144bec0d0211ae38b339fb8817cf5bf7de..e411bf67f0d1f5eb2f61ce6710fcfad80a3211bf 100644
Binary files a/package-lock.json and b/package-lock.json differ
diff --git a/package.json b/package.json
index 44873159b6d87421c98232dd842dd583214ad22b..85f108faf89a3379c0cd4d30e3c57dc9974c8b64 100644
--- a/package.json
+++ b/package.json
@@ -110,15 +110,15 @@
     "http-server": "^0.12.3",
     "jest": "^26.6.3",
     "mini-css-extract-plugin": "^1.3.2",
-    "node-sass": "^5.0.0",
+    "node-sass": "^6.0.0",
     "raw-loader": "^4.0.2",
-    "sass-loader": "^10.1.0",
+    "sass-loader": "^11.1.1",
     "simple-git": "^2.25.0",
     "style-loader": "^2.0.0",
     "ts-jest": "^26.4.4",
     "typescript": "^4.2.3",
-    "webpack": "^4.44.1",
-    "webpack-cli": "^3.3.12",
+    "webpack": "^5.37.1",
+    "webpack-cli": "^4.7.0",
     "webpack-version-file-plugin": "^0.4.0"
   },
   "dependencies": {
diff --git a/webpack.config.common.js b/webpack.config.common.js
index f0ea335139253e550bcaae05fea6fb62f3f06570..39dc4cad25ca794396a76766510a741ca90234be 100644
--- a/webpack.config.common.js
+++ b/webpack.config.common.js
@@ -48,16 +48,17 @@ const sharedConfig = {
             'node_modules',
             path.resolve(__dirname, 'lib/')
         ],
+        fallback: {
+            fs: false
+        }
     },
     watchOptions: {
         aggregateTimeout: 750
-    },
-    devtool: ''
+    }
 };
 
 function createEntry(src, outFolder, outFilename, isNode) {
     return {
-        node: isNode ? void 0 : { fs: 'empty' }, // TODO find better solution? Currently used in file-handle.ts
         target: isNode ? 'node' : void 0,
         entry: path.resolve(__dirname, `lib/${src}.js`),
         output: { filename: `${outFilename}.js`, path: path.resolve(__dirname, `build/${outFolder}`) },
@@ -67,7 +68,6 @@ function createEntry(src, outFolder, outFilename, isNode) {
 
 function createEntryPoint(name, dir, out, library) {
     return {
-        node: { fs: 'empty' }, // TODO find better solution? Currently used in file-handle.ts
         entry: path.resolve(__dirname, `lib/${dir}/${name}.js`),
         output: { filename: `${library || name}.js`, path: path.resolve(__dirname, `build/${out}`), library: library || out, libraryTarget: 'umd' },
         ...sharedConfig
@@ -101,4 +101,4 @@ module.exports = {
     createBrowserTest,
     createNodeEntryPoint,
     createNodeApp
-};
\ No newline at end of file
+};