diff --git a/package-lock.json b/package-lock.json
index 9374822a12e93965f53f62834d333c89cf6e84a3..e9187020b5e54a27407c9e87d2f62c0ad3f7a963 100644
Binary files a/package-lock.json and b/package-lock.json differ
diff --git a/package.json b/package.json
index c3f976355feb4e22115be32b550a2e280b942fec..60e024ac99b17ded932b0182b3de9d68ce7afc7f 100644
--- a/package.json
+++ b/package.json
@@ -113,16 +113,16 @@
     "http-server": "^13.0.2",
     "jest": "^27.2.4",
     "mini-css-extract-plugin": "^2.3.0",
-    "node-sass": "^6.0.1",
     "path-browserify": "^1.0.1",
     "raw-loader": "^4.0.2",
-    "sass-loader": "^12.1.0",
+    "sass": "^1.43.4",
+    "sass-loader": "^12.3.0",
     "simple-git": "^2.46.0",
     "stream-browserify": "^3.0.0",
     "style-loader": "^3.3.0",
     "ts-jest": "^27.0.5",
-    "typescript": "^4.4.3",
-    "webpack": "^5.56.0",
+    "typescript": "^4.5.2",
+    "webpack": "^5.64.1",
     "webpack-cli": "^4.8.0",
     "webpack-version-file-plugin": "^0.4.0"
   },
diff --git a/src/mol-gl/renderable/util.ts b/src/mol-gl/renderable/util.ts
index d548d16dbfc2374a16ac9ec539a8ad5aba8c0fba..87601da6a1dd366dada2eb728ad87ef75a3fb3aa 100644
--- a/src/mol-gl/renderable/util.ts
+++ b/src/mol-gl/renderable/util.ts
@@ -91,7 +91,7 @@ export function printImageData(imageData: ImageData, options: Partial<PrintImage
     }
 
     canvas.toBlob(imgBlob => {
-        const objectURL = URL.createObjectURL(imgBlob);
+        const objectURL = URL.createObjectURL(imgBlob!);
         const existingImg = document.getElementById(o.id) as HTMLImageElement;
         const img = existingImg || document.createElement('img');
         img.id = o.id;
diff --git a/src/mol-util/download.ts b/src/mol-util/download.ts
index 6b75cd5fb375bf0973c31c4b0d3196f5b81d2f03..6b4af7619364acedb64d204cf548cbe47cd84663 100644
--- a/src/mol-util/download.ts
+++ b/src/mol-util/download.ts
@@ -61,7 +61,7 @@ export function download(data: Blob | string, downloadName = 'download') {
                 open(data);
             }
         } else {
-            const url = URL.createObjectURL(data);
+            const url = URL.createObjectURL(typeof data === 'string' ? new Blob([data]) : data);
             location.href = url;
             setTimeout(() => URL.revokeObjectURL(url), 4E4); // 40s
         }