diff --git a/package-lock.json b/package-lock.json
index 1f12cdc61736b32d3ab5339b8114b9d9efc1bd22..cdc1b7dd347d6675c6def041485b2adb15c35076 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -16,9 +16,21 @@
         "fs-readdir-recursive": "^1.1.0",
         "glob": "^7.0.0",
         "lodash": "^4.17.13",
+        "mkdirp": "^0.5.1",
         "output-file-sync": "^2.0.0",
         "slash": "^2.0.0",
         "source-map": "^0.5.0"
+      },
+      "dependencies": {
+        "mkdirp": {
+          "version": "0.5.1",
+          "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
+          "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
+          "dev": true,
+          "requires": {
+            "minimist": "0.0.8"
+          }
+        }
       }
     },
     "@babel/code-frame": {
@@ -1829,7 +1841,19 @@
       "requires": {
         "find-cache-dir": "^2.0.0",
         "loader-utils": "^1.0.2",
+        "mkdirp": "^0.5.1",
         "pify": "^4.0.1"
+      },
+      "dependencies": {
+        "mkdirp": {
+          "version": "0.5.1",
+          "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
+          "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
+          "dev": true,
+          "requires": {
+            "minimist": "0.0.8"
+          }
+        }
       }
     },
     "babel-messages": {
@@ -1961,6 +1985,7 @@
         "core-js": "^2.5.0",
         "home-or-tmp": "^2.0.0",
         "lodash": "^4.17.4",
+        "mkdirp": "^0.5.1",
         "source-map-support": "^0.4.15"
       },
       "dependencies": {
@@ -1997,6 +2022,15 @@
           "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=",
           "dev": true
         },
+        "mkdirp": {
+          "version": "0.5.1",
+          "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
+          "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
+          "dev": true,
+          "requires": {
+            "minimist": "0.0.8"
+          }
+        },
         "slash": {
           "version": "1.0.0",
           "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz",
@@ -2528,12 +2562,24 @@
         "graceful-fs": "^4.1.11",
         "lru-cache": "^4.1.1",
         "mississippi": "^2.0.0",
+        "mkdirp": "^0.5.1",
         "move-concurrently": "^1.0.1",
         "promise-inflight": "^1.0.1",
         "rimraf": "^2.6.2",
         "ssri": "^5.2.4",
         "unique-filename": "^1.1.0",
         "y18n": "^4.0.0"
+      },
+      "dependencies": {
+        "mkdirp": {
+          "version": "0.5.1",
+          "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
+          "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
+          "dev": true,
+          "requires": {
+            "minimist": "0.0.8"
+          }
+        }
       }
     },
     "cache-base": {
@@ -2709,8 +2755,20 @@
         "@testim/chrome-version": "^1.0.7",
         "del": "^4.1.1",
         "extract-zip": "^1.6.7",
+        "mkdirp": "^0.5.1",
         "request": "^2.88.0",
         "tcp-port-used": "^1.0.1"
+      },
+      "dependencies": {
+        "mkdirp": {
+          "version": "0.5.1",
+          "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
+          "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
+          "dev": true,
+          "requires": {
+            "minimist": "0.0.8"
+          }
+        }
       }
     },
     "ci-info": {
@@ -3034,8 +3092,20 @@
         "aproba": "^1.1.1",
         "fs-write-stream-atomic": "^1.0.8",
         "iferr": "^0.1.5",
+        "mkdirp": "^0.5.1",
         "rimraf": "^2.5.4",
         "run-queue": "^1.0.0"
+      },
+      "dependencies": {
+        "mkdirp": {
+          "version": "0.5.1",
+          "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
+          "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
+          "dev": true,
+          "requires": {
+            "minimist": "0.0.8"
+          }
+        }
       }
     },
     "copy-descriptor": {
@@ -4176,6 +4246,7 @@
         "levn": "^0.3.0",
         "lodash": "^4.17.11",
         "minimatch": "^3.0.4",
+        "mkdirp": "^0.5.1",
         "natural-compare": "^1.4.0",
         "optionator": "^0.8.2",
         "path-is-inside": "^1.0.2",
@@ -4209,6 +4280,15 @@
           "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==",
           "dev": true
         },
+        "mkdirp": {
+          "version": "0.5.1",
+          "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
+          "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
+          "dev": true,
+          "requires": {
+            "minimist": "0.0.8"
+          }
+        },
         "ms": {
           "version": "2.1.2",
           "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
@@ -4864,7 +4944,19 @@
       "requires": {
         "concat-stream": "1.6.2",
         "debug": "2.6.9",
+        "mkdirp": "0.5.1",
         "yauzl": "2.4.1"
+      },
+      "dependencies": {
+        "mkdirp": {
+          "version": "0.5.1",
+          "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
+          "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
+          "dev": true,
+          "requires": {
+            "minimist": "0.0.8"
+          }
+        }
       }
     },
     "extsprintf": {
@@ -7392,6 +7484,7 @@
         "istanbul-lib-source-maps": "^1.2.6",
         "istanbul-reports": "^1.5.1",
         "js-yaml": "^3.7.0",
+        "mkdirp": "^0.5.1",
         "once": "^1.4.0"
       },
       "dependencies": {
@@ -7403,6 +7496,15 @@
           "requires": {
             "lodash": "^4.17.14"
           }
+        },
+        "mkdirp": {
+          "version": "0.5.1",
+          "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
+          "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
+          "dev": true,
+          "requires": {
+            "minimist": "0.0.8"
+          }
         }
       }
     },
@@ -7443,6 +7545,7 @@
       "dev": true,
       "requires": {
         "istanbul-lib-coverage": "^1.2.1",
+        "mkdirp": "^0.5.1",
         "path-parse": "^1.0.5",
         "supports-color": "^3.1.2"
       },
@@ -7453,6 +7556,15 @@
           "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=",
           "dev": true
         },
+        "mkdirp": {
+          "version": "0.5.1",
+          "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
+          "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
+          "dev": true,
+          "requires": {
+            "minimist": "0.0.8"
+          }
+        },
         "supports-color": {
           "version": "3.2.3",
           "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
@@ -7472,6 +7584,7 @@
       "requires": {
         "debug": "^3.1.0",
         "istanbul-lib-coverage": "^1.2.1",
+        "mkdirp": "^0.5.1",
         "rimraf": "^2.6.1",
         "source-map": "^0.5.3"
       },
@@ -7485,6 +7598,15 @@
             "ms": "^2.1.1"
           }
         },
+        "mkdirp": {
+          "version": "0.5.1",
+          "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
+          "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
+          "dev": true,
+          "requires": {
+            "minimist": "0.0.8"
+          }
+        },
         "ms": {
           "version": "2.1.2",
           "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
@@ -7885,6 +8007,7 @@
       "dev": true,
       "requires": {
         "jest-validate": "^24.0.0",
+        "mkdirp": "^0.5.1",
         "strip-ansi": "^4.0.0",
         "xml": "^1.0.1"
       },
@@ -7927,6 +8050,15 @@
           "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==",
           "dev": true
         },
+        "mkdirp": {
+          "version": "0.5.1",
+          "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
+          "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
+          "dev": true,
+          "requires": {
+            "minimist": "0.0.8"
+          }
+        },
         "pretty-format": {
           "version": "24.9.0",
           "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-24.9.0.tgz",
@@ -8317,8 +8449,20 @@
         "chalk": "^2.0.1",
         "jest-diff": "^21.2.1",
         "jest-matcher-utils": "^21.2.1",
+        "mkdirp": "^0.5.1",
         "natural-compare": "^1.4.0",
         "pretty-format": "^21.2.1"
+      },
+      "dependencies": {
+        "mkdirp": {
+          "version": "0.5.1",
+          "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
+          "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
+          "dev": true,
+          "requires": {
+            "minimist": "0.0.8"
+          }
+        }
       }
     },
     "jest-util": {
@@ -8332,7 +8476,8 @@
         "graceful-fs": "^4.1.11",
         "jest-message-util": "^21.2.1",
         "jest-mock": "^21.2.0",
-        "jest-validate": "^21.2.1"
+        "jest-validate": "^21.2.1",
+        "mkdirp": "^0.5.1"
       },
       "dependencies": {
         "callsites": {
@@ -8340,6 +8485,15 @@
           "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz",
           "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=",
           "dev": true
+        },
+        "mkdirp": {
+          "version": "0.5.1",
+          "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
+          "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
+          "dev": true,
+          "requires": {
+            "minimist": "0.0.8"
+          }
         }
       }
     },
@@ -9150,6 +9304,7 @@
         "glob": "7.1.2",
         "growl": "1.10.3",
         "he": "1.1.1",
+        "mkdirp": "0.5.1",
         "supports-color": "4.4.0"
       },
       "dependencies": {
@@ -9200,6 +9355,15 @@
           "integrity": "sha1-k0EP0hsAlzUVH4howvJx80J+I/0=",
           "dev": true
         },
+        "mkdirp": {
+          "version": "0.5.1",
+          "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
+          "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
+          "dev": true,
+          "requires": {
+            "minimist": "0.0.8"
+          }
+        },
         "supports-color": {
           "version": "4.4.0",
           "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.4.0.tgz",
@@ -9226,8 +9390,20 @@
         "aproba": "^1.1.1",
         "copy-concurrently": "^1.0.0",
         "fs-write-stream-atomic": "^1.0.8",
+        "mkdirp": "^0.5.1",
         "rimraf": "^2.5.4",
         "run-queue": "^1.0.3"
+      },
+      "dependencies": {
+        "mkdirp": {
+          "version": "0.5.1",
+          "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
+          "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
+          "dev": true,
+          "requires": {
+            "minimist": "0.0.8"
+          }
+        }
       }
     },
     "ms": {
@@ -9790,7 +9966,19 @@
       "dev": true,
       "requires": {
         "graceful-fs": "^4.1.11",
-        "is-plain-obj": "^1.1.0"
+        "is-plain-obj": "^1.1.0",
+        "mkdirp": "^0.5.1"
+      },
+      "dependencies": {
+        "mkdirp": {
+          "version": "0.5.1",
+          "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
+          "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
+          "dev": true,
+          "requires": {
+            "minimist": "0.0.8"
+          }
+        }
       }
     },
     "p-cancelable": {
@@ -10148,7 +10336,8 @@
       "dev": true,
       "requires": {
         "async": "^1.5.2",
-        "debug": "^2.2.0"
+        "debug": "^2.2.0",
+        "mkdirp": "0.5.x"
       },
       "dependencies": {
         "async": {
@@ -10156,6 +10345,15 @@
           "resolved": "http://registry.npmjs.org/async/-/async-1.5.2.tgz",
           "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=",
           "dev": true
+        },
+        "mkdirp": {
+          "version": "0.5.1",
+          "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
+          "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
+          "dev": true,
+          "requires": {
+            "minimist": "0.0.8"
+          }
         }
       }
     },
@@ -11510,9 +11708,9 @@
       }
     },
     "scratch-blocks": {
-      "version": "0.1.0-prerelease.1580309823",
-      "resolved": "https://registry.npmjs.org/scratch-blocks/-/scratch-blocks-0.1.0-prerelease.1580309823.tgz",
-      "integrity": "sha512-Qh2mnVy2Aa+vnsjg9Emeg/f+fTNmod88mMgVrj5GdQGfOHllRC7KhBn/ZUYAT4tShsGqscQmkvj48auaQOFUng==",
+      "version": "0.1.0-prerelease.1580911107",
+      "resolved": "https://registry.npmjs.org/scratch-blocks/-/scratch-blocks-0.1.0-prerelease.1580911107.tgz",
+      "integrity": "sha512-2+bpWEL/2N569nGVPT4nZ5l9lwfezhsImJmw7XQAsJxzvRt9Ou9ZnkFAJN1trTZq/8krYoqjkXOoSe6gmbXW+g==",
       "dev": true,
       "requires": {
         "exports-loader": "0.6.3",
@@ -11520,9 +11718,9 @@
       }
     },
     "scratch-l10n": {
-      "version": "3.7.20200128224436",
-      "resolved": "https://registry.npmjs.org/scratch-l10n/-/scratch-l10n-3.7.20200128224436.tgz",
-      "integrity": "sha512-ha/bTXYz8ke33leQRlraUB3n9qHneldoGdw66AN/Yho6b3uhq6qz89zditiTSv7LiGDIYpuXzBCEuiRDImK9DA==",
+      "version": "3.7.20200205213636",
+      "resolved": "https://registry.npmjs.org/scratch-l10n/-/scratch-l10n-3.7.20200205213636.tgz",
+      "integrity": "sha512-e06mKQ1b2rVEjQPX84e872+4/1p8lLD9ofXZXI/Tti7KPeGilIiJmrWCfjbVtXPk7dOTYaOb55Ke0c0rdR8K+w==",
       "dev": true,
       "requires": {
         "@babel/cli": "^7.1.2",
@@ -12949,6 +13147,7 @@
             "infer-owner": "^1.0.3",
             "lru-cache": "^5.1.1",
             "mississippi": "^3.0.0",
+            "mkdirp": "^0.5.1",
             "move-concurrently": "^1.0.1",
             "promise-inflight": "^1.0.1",
             "rimraf": "^2.6.3",
@@ -12984,6 +13183,15 @@
             "through2": "^2.0.0"
           }
         },
+        "mkdirp": {
+          "version": "0.5.1",
+          "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
+          "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
+          "dev": true,
+          "requires": {
+            "minimist": "0.0.8"
+          }
+        },
         "pump": {
           "version": "3.0.0",
           "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz",
@@ -14021,6 +14229,7 @@
         "loader-utils": "^1.2.3",
         "memory-fs": "^0.4.1",
         "micromatch": "^3.1.10",
+        "mkdirp": "^0.5.1",
         "neo-async": "^2.6.1",
         "node-libs-browser": "^2.2.1",
         "schema-utils": "^1.0.0",
@@ -14063,6 +14272,15 @@
             "readable-stream": "^2.0.1"
           }
         },
+        "mkdirp": {
+          "version": "0.5.1",
+          "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
+          "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
+          "dev": true,
+          "requires": {
+            "minimist": "0.0.8"
+          }
+        },
         "tapable": {
           "version": "1.1.3",
           "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz",
@@ -14308,6 +14526,7 @@
       "requires": {
         "memory-fs": "^0.4.1",
         "mime": "^2.4.4",
+        "mkdirp": "^0.5.1",
         "range-parser": "^1.2.1",
         "webpack-log": "^2.0.0"
       },
@@ -14327,6 +14546,15 @@
           "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.4.tgz",
           "integrity": "sha512-LRxmNwziLPT828z+4YkNzloCFC2YM4wrB99k+AV5ZbEyfGNWfG8SO1FUXLmLDBSo89NrJZ4DIWeLjy1CHGhMGA==",
           "dev": true
+        },
+        "mkdirp": {
+          "version": "0.5.1",
+          "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
+          "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
+          "dev": true,
+          "requires": {
+            "minimist": "0.0.8"
+          }
         }
       }
     },
@@ -14725,7 +14953,21 @@
       "version": "1.0.3",
       "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz",
       "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==",
-      "dev": true
+      "dev": true,
+      "requires": {
+        "mkdirp": "^0.5.1"
+      },
+      "dependencies": {
+        "mkdirp": {
+          "version": "0.5.1",
+          "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
+          "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
+          "dev": true,
+          "requires": {
+            "minimist": "0.0.8"
+          }
+        }
+      }
     },
     "write-file-atomic": {
       "version": "2.4.3",
diff --git a/package.json b/package.json
index c262fa4fcf9d77ad1be7b4c59fe2625240844c91..8258d2ad5f113c34d046438f312c024cb36544d7 100644
--- a/package.json
+++ b/package.json
@@ -108,8 +108,8 @@
     "redux-throttle": "0.1.1",
     "rimraf": "^2.6.1",
     "scratch-audio": "0.1.0-prerelease.20190925183642",
-    "scratch-l10n": "3.7.20200128224436",
-    "scratch-blocks": "0.1.0-prerelease.1580309823",
+    "scratch-l10n": "3.7.20200205213636",
+    "scratch-blocks": "0.1.0-prerelease.1580911107",
     "scratch-paint": "0.2.0-prerelease.20200204155336",
     "scratch-render": "0.1.0-prerelease.20200128205403",
     "scratch-storage": "1.3.2",